view rdavidwebservice.xml @ 0:5aa52484bef2 draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/rdavidwebservice commit b664316c8917dff50de40207c2b3104ed850b90b
author iuc
date Thu, 23 May 2019 13:44:50 -0400
parents
children
line wrap: on
line source

<tool id="rdavidwebservice" name="RDAVIDWebService" version="@TOOL_VERSION@">
    <description>
        Run functional annotation using DAVID 
    </description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <requirements>
        <requirement type="package" version="@TOOL_VERSION@">bioconductor-rdavidwebservice</requirement>
    </requirements>
    <command detect_errors="exit_code"><![CDATA[
cat '$script' &&
Rscript '$script'
    ]]></command>
    <configfiles>
        <configfile name="script"><![CDATA[
## Setup R error handling to go to stderr
options(show.error.messages=F, error=function(){cat(geterrmessage(), file=stderr()); q("no",1,F)})
## Unify locale settings
loc <- Sys.setlocale("LC_MESSAGES", "C.UTF-8")
## Import libraries
library(RDAVIDWebService)

gene_list <- scan('$input1', what="character")
gene_identifier_type <- '$identifier1'

#if str('$__user_email__') != "":
email <- '$__user_email__'
#else:
email <- 'galaxy_user@galaxy.org'
#end if

david <- DAVIDWebService(email=email, url="https://david.ncifcrf.gov/webservice/services/DAVIDWebService.DAVIDWebServiceHttpSoap12Endpoint/")

geneList <- addList(david, gene_list, idType=gene_identifier_type,
                    listName="genelist", listType="Gene")

#if str($background.background_selector) == "with_background":
background_list <- scan('$background.input2', what="character")
background_identifier_type <- '$background.identifier2'
background <- addList(david, background_list, idType=background_identifier_type,
        listName="backgroundlist",listType="Background")
#end if

#if str($AnnotationCategories.setAnnotationCategories) == "Yes":   
annocategories <- c('$AnnotationCategories.Disease', '$AnnotationCategories.Functional_Categories', '$AnnotationCategories.Gene_Ontology', '$AnnotationCategories.General_Annotations', '$AnnotationCategories.Literature', '$AnnotationCategories.Main_Accessions', '$AnnotationCategories.Pathways', '$AnnotationCategories.Protein_Domains', '$AnnotationCategories.Tissue_Expression')
annocategories <- annocategories[annocategories != 'None']
annocategories <- unlist(strsplit(annocategories, split = ","))              
setAnnotationCategories(david, annocategories)
#end if

#if str($FunctionalAnnotationCluster.set_FACluster_params) == "Yes":   
getClusterReportFile(david, '$output1', 
    kappa = as.integer('$FunctionalAnnotationCluster.kappa'), 
    overlap = as.integer('$FunctionalAnnotationCluster.overlap'), 
    initialSeed = as.integer('$FunctionalAnnotationCluster.initialSeed'), 
    finalSeed = as.integer('$FunctionalAnnotationCluster.finalSeed'), 
    linkage = as.double('$FunctionalAnnotationCluster.linkage'))
#end if

#if str($FunctionalAnnotationChart.set_FAChart_params) == "Yes" : 
getFunctionalAnnotationChartFile(david, '$output2', 
    count = as.integer('$FunctionalAnnotationChart.count'), 
    threshold = as.double('$FunctionalAnnotationChart.threshold'))
#end if 

#if str($FunctionalAnnotationTable.set_FATable_params) == "Yes": 
getFunctionalAnnotationTableFile(david, '$output3')
#end if  

#if str($GeneListReport.set_GLReport_params) == "Yes": 
getGeneListReportFile(david, '$output4')
#end if 
        ]]></configfile>
    </configfiles>
    <inputs>
        <param name="input1" type="data" format="txt" label="Select gene list"/>
        <param name="identifier1" type="select" label="Select gene list identifier type">
            <expand macro="identifier_options" />
        </param>
        <param name="email" type="text" label="I acknowledge that this services will send my galaxy_user email address to an external service: DAVIDWebService. Please confirm with 'yes'." help="E-Mail has to be registered at https://david.ncifcrf.gov/webservice/register.htm in order to get access to DAVID (webservice)">
            <validator type="regex" message="You need to agree the terms to continue by typing 'yes'">^'*[Yy]es'*$</validator>
        </param>
        <conditional name="background">
            <param name="background_selector" type="select" label="Background" help="Default: entire species as background">
                <option value="without_background">Use default Background</option>
                <option value="with_background">Use specify Background</option>
            </param>
            <when value="with_background">
                <param name="input2" type="data" format="txt" label="Select gene list for background"/>
                <param name="identifier2" type="select" label="Select background list identifier type">
                    <expand macro="identifier_options" />
                </param>
            </when>
            <when value="without_background">
            </when>
        </conditional>
        <conditional name="AnnotationCategories">
            <param name="setAnnotationCategories" type="select" label="Annotation Categories" help="Default: OMIM_DISEASE, COG_ONTOLOGY, UP_KEYWORDS, UP_SEQ_FEATURE, GOTERM_BP_DIRECT, GOTERM_MF_DIRECT, GOTERM_CC_DIRECT, BBID, BIOCARTA, KEGG_PATHWAY, INTERPRO, PIR_SUPERFAMILY, SMART">
                <option value="without_AnnotationCategories">Use default Annotation Categories</option>
                <option value="with_AnnotationCategories">Use specify Annotation Categories</option>
            </param>
            <when value="with_AnnotationCategories">
                <param name="Disease" type="select" display="checkboxes" multiple="true" label="Disease">
                    <option value="GAD_DISEASE">GAD_DISEASE</option>
                    <option value="GAD_DISEASE_CLASS">GAD_DISEASE_CLASS</option>
                    <option value="OMIM_DISEASE">OMIM_DISEASE</option>
                </param>
                <param name="Functional_Categories" type="select" display="checkboxes" multiple="true" label="Functional_Categories">
                    <option value="COG_ONTOLOGY">COG_ONTOLOGY</option>
                    <option value="PIR_SEQ_FEATURE">PIR_SEQ_FEATURE</option>
                    <option value="SP_COMMENT_TYPE">SP_COMMENT_TYPE</option>
                    <option value="UP_KEYWORDS">UP_KEYWORDS</option>
                    <option value="UP_SEQ_FEATURE">UP_SEQ_FEATURE</option>
                </param>
                <param name="Gene_Ontology" type="select" display="checkboxes" multiple="true" label="Gene_Ontology">
                    <option value="GOTERM_BP_1">GOTERM_BP_1</option>
                    <option value="GOTERM_BP_2">GOTERM_BP_2</option>
                    <option value="GOTERM_BP_3">GOTERM_BP_3</option>
                    <option value="GOTERM_BP_4">GOTERM_BP_4</option>
                    <option value="GOTERM_BP_5">GOTERM_BP_5</option>
                    <option value="GOTERM_BP_ALL">GOTERM_BP_ALL</option>
                    <option value="GOTERM_BP_DIRECT">GOTERM_BP_DIRECT</option>
                    <option value="GOTERM_BP_FAT" selected="True">GOTERM_BP_FAT</option>
                    <option value="GOTERM_CC_1">GOTERM_CC_1</option>
                    <option value="GOTERM_CC_2">GOTERM_CC_2</option>
                    <option value="GOTERM_CC_3">GOTERM_CC_3</option>
                    <option value="GOTERM_CC_4">GOTERM_CC_4</option>
                    <option value="GOTERM_CC_5">GOTERM_CC_5</option>
                    <option value="GOTERM_CC_ALL">GOTERM_CC_ALL</option>
                    <option value="GOTERM_BP_DIRECT">GOTERM_BP_DIRECT</option>
                    <option value="GOTERM_CC_1">GOTERM_CC_1</option>
                    <option value="GOTERM_CC_2">GOTERM_CC_2</option>
                    <option value="GOTERM_CC_3">GOTERM_CC_3</option>
                    <option value="GOTERM_CC_4">GOTERM_CC_4</option>
                    <option value="GOTERM_CC_5">GOTERM_CC_5</option>
                    <option value="GOTERM_CC_ALL">GOTERM_CC_ALL</option>
                    <option value="GOTERM_CC_FAT" selected="True">GOTERM_CC_FAT</option>
                    <option value="GOTERM_MF_1">GOTERM_MF_1</option>
                    <option value="GOTERM_MF_2">GOTERM_MF_2</option>
                    <option value="GOTERM_MF_3">GOTERM_MF_3</option>
                    <option value="GOTERM_MF_4">GOTERM_MF_4</option>
                    <option value="GOTERM_MF_5">GOTERM_MF_5</option>
                    <option value="GOTERM_MF_ALL">GOTERM_MF_ALL</option>
                    <option value="GOTERM_MF_FAT" selected="True">GOTERM_MF_FAT</option>
                </param>
                <param name="General_Annotations" type="select" display="checkboxes" multiple="true" label="General_Annotations">
                    <option value="CHROMOSOME">CHROMOSOME</option>
                    <option value="CYTOBAND">CYTOBAND</option>
                    <option value="ENTREZ_GENE_SUMMARY">ENTREZ_GENE_SUMMARY</option>
                    <option value="OFFICIAL_GENE_SYMBOL">OFFICIAL_GENE_SYMBOL</option>
                    <option value="PIR_SUMMARY">PIR_SUMMARY</option>
                    <option value="SP_COMMENT">SP_COMMENT</option>
                </param>
                <param name="Literature" type="select" display="checkboxes" multiple="true" label="Literature">
                    <option value="GENERIF_SUMMARY">GENERIF_SUMMARY</option>
                    <option value="HIV_INTERACTION_PUBMED_ID">HIV_INTERACTION_PUBMED_ID</option>
                    <option value="PUBMED_ID">PUBMED_ID</option>
                </param>
                <param name="Main_Accessions" type="select" display="checkboxes" multiple="true" label="Main_Accessions">
                    <option value="ENSEMBL_GENE_ID">ENSEMBL_GENE_ID</option>
                    <option value="ENTREZ_GENE_ID">ENTREZ_GENE_ID</option>
                </param>
                <param name="Pathways" type="select" display="checkboxes" multiple="true" label="Pathways">
                    <option value="BBID">BBID</option>
                    <option value="BIOCARTA">BIOCARTA</option>
                    <option value="EC_NUMBER">EC_NUMBER</option>
                    <option value="KEGG_PATHWAY" selected="True">KEGG_PATHWAY</option>
                    <option value="REACTOME_PATHWAY">REACTOME_PATHWAY</option>
                </param>
                <param name="Protein_Domains" type="select" display="checkboxes" multiple="true" label="Protein_Domains">
                    <option value="GENE3D">GENE3D</option>
                    <option value="INTERPRO">INTERPRO</option>
                    <option value="PFAM">PFAM</option>
                    <option value="PIR_SUPERFAMILY">PIR_SUPERFAMILY</option>
                    <option value="PRINTS">PRINTS</option>
                    <option value="PRODOM">PRODOM</option>
                    <option value="PROSITE">PROSITE</option>
                    <option value="SMART">SMART</option>
                    <option value="SUPFAM">SUPFAM</option>
                    <option value="TIGRFAMS">TIGRFAMS</option>
                </param>
                <param name="Protein_Interactions" type="select" display="checkboxes" multiple="true" label="Protein_Interactions">
                    <option value="BIOGRID_INTERACTION">BIOGRID_INTERACTION</option>
                    <option value="DIP">DIP</option>
                    <option value="HIV_INTERACTION">HIV_INTERACTION</option>
                    <option value="HIV_INTERACTION_CATEGORY">HIV_INTERACTION_CATEGORY</option>
                    <option value="INTACT">INTACT</option>
                    <option value="MINT">MINT</option>
                    <option value="UCSC_TFBS">UCSC_TFBS</option>
                </param>
                <param name="Tissue_Expression" type="select" display="checkboxes" multiple="true" label="Tissue_Expression">
                    <option value="CGAP_EST_QUARTILE">CGAP_EST_QUARTILE</option>
                    <option value="CGAP_SAGE_QUARTILE">CGAP_SAGE_QUARTILE</option>
                    <option value="GNF_U133A_QUARTILE">GNF_U133A_QUARTILE</option>
                    <option value="UNIGENE_EST_QUARTILE">UNIGENE_EST_QUARTILE</option>
                    <option value="UP_TISSUE">UP_TISSUE</option>
                </param>
            </when>
            <when value="without_AnnotationCategories">
            </when>
        </conditional>
        <conditional name="FunctionalAnnotationCluster">
            <param name="set_FACluster_params" type="select" label="Functional Annotation Clustering">
                <option value="Yes">Yes</option>
                <option value="No">No</option>
            </param>
            <when value="Yes">
                <param name="overlap" type="integer" min="3" max="10" value="3" label="Similarity Term Overlap"/>
                <param name="kappa" type="select" label="Similarity Threshold">
                    <option value="20">0.20</option>
                    <option value="25">0.25</option>
                    <option value="30">0.30</option>
                    <option value="35">0.35</option>
                    <option value="40">0.40</option>
                    <option value="45">0.45</option>
                    <option value="50" selected="True">0.50</option>
                    <option value="55">0.55</option>
                    <option value="60">0.60</option>
                    <option value="65">0.65</option>
                    <option value="70">0.70</option>
                    <option value="75">0.75</option>
                    <option value="80">0.80</option>
                    <option value="85">0.85</option>
                    <option value="90">0.90</option>
                    <option value="95">0.95</option>
                    <option value="100">1.00</option>
                </param>
                <param name="initialSeed" type="integer" min="2" max="10" value="3" label="Initial Group Membership"/>
                <param name="finalSeed" type="integer" min="2" max="10"  value="3" label="Initial Group Membership"/>
                <param name="linkage" type="select"  label="Multiple Linkage Threshold">
                    <option value="0.0">0.00</option>
                    <option value="0.05">0.05</option>
                    <option value="0.10">0.10</option>
                    <option value="0.15">0.15</option>
                    <option value="0.20">0.20</option>
                    <option value="0.25">0.25</option>
                    <option value="0.30">0.30</option>
                    <option value="0.35">0.35</option>
                    <option value="0.40">0.40</option>
                    <option value="0.45">0.45</option>
                    <option value="0.50" selected="True">0.50</option>
                    <option value="0.55">0.55</option>
                    <option value="0.60">0.60</option>
                    <option value="0.65">0.65</option>
                    <option value="0.70">0.70</option>
                    <option value="0.75">0.75</option>
                    <option value="0.80">0.80</option>
                    <option value="0.85">0.85</option>
                    <option value="0.90">0.90</option>
                    <option value="0.95">0.95</option>
                    <option value="1.0">1.00</option>
                </param>
            </when>
            <when value="No">
            </when>
        </conditional>
        <conditional name="FunctionalAnnotationChart">
            <param name="set_FAChart_params" type="select" label="Functional Annotation Chart">
                <option value="Yes">Yes</option>
                <option value="No" selected="True">No</option>
            </param>
            <when value="Yes">
                <param name="count" type="integer" label="Count" value="2" />
                <param name="threshold" type="float" label="EASE" value="0.1" />
            </when>
            <when value="No">
            </when>
        </conditional>
        <conditional name="FunctionalAnnotationTable">
            <param name="set_FATable_params" type="select" label="Functional Annotation Table">
                <option value="Yes">Yes</option>
                <option value="No" selected="True">No</option>
            </param>
            <when value="Yes">
            </when>
            <when value="No">
            </when>
        </conditional>
        <conditional name="GeneListReport">
            <param name="set_GLReport_params" type="select" label="Gene List Report">
                <option value="Yes">Yes</option>
                <option value="No" selected="True">No</option>
            </param>
            <when value="Yes">
            </when>
            <when value="No">
            </when>
        </conditional>
    </inputs>
    <outputs>
        <data name="output1" format="tabular" label="${tool.name} on ${on_string}: Functional Annotation Cluster">
            <filter>FunctionalAnnotationCluster['set_FACluster_params'] == 'Yes'</filter>
        </data>
        <data name="output2" format="tabular" label="${tool.name} on ${on_string}: Functional Annotation Chart">
            <filter>FunctionalAnnotationChart['set_FAChart_params'] == 'Yes'</filter>
        </data>
        <data name="output3" format="tabular" label="${tool.name} on ${on_string}: Functional Annotation Table">
            <filter>FunctionalAnnotationTable['set_FATable_params'] == 'Yes'</filter>
        </data>
        <data name="output4" format="tabular" label="${tool.name} on ${on_string}: Gene List Report">
            <filter>GeneListReport['set_GLReport_params'] == 'Yes'</filter>
        </data>
    </outputs>
    <tests>
        <test>
            <param name="input1" value="demolist1" ftype="tabular"/>
            <param name="identifier1" value="AFFYMETRIX_3PRIME_IVT_ID"/>
            <param name="email" value="yes"/>
            <conditional name="AnnotationCategories">
                <param name="setAnnotationCategories" value="with_AnnotationCategories"/>
                <param name="Disease" value="GAD_DISEASE,GAD_DISEASE_CLASS,OMIM_DISEASE"/>
                <param name="Gene_Ontology" value="GOTERM_MF_FAT,GOTERM_CC_FAT,GOTERM_BP_FAT"/>
                <param name="Pathways" value="KEGG_PATHWAY"/>
            </conditional>
            <conditional name="FunctionalAnnotationCluster">
                <param name="set_FACluster_params" value="Yes"/>
            </conditional>  
            <conditional name="FunctionalAnnotationChart">
                <param name="set_FAChart_params" value="Yes"/>
            </conditional>
            <conditional name="FunctionalAnnotationTable">
                <param name="set_FATable_params" value="Yes"/>
            </conditional>
            <conditional name="GeneListReport">
                <param name="set_GLReport_params" value="Yes"/>
            </conditional>
            <output name="output1">
                <assert_contents>
                    <has_text_matching expression="Annotation Cluster 1&#009;Enrichment Score: \d*\.*\d*"/>
                </assert_contents>
            </output>
            <output name="output2">
                <assert_contents>
                    <has_line_matching expression="Category&#009;Term&#009;Count&#009;%&#009;PValue&#009;Genes&#009;List Total&#009;Pop Hits&#009;Pop Total&#009;Fold Enrichment&#009;Bonferroni&#009;Benjamini&#009;FDR"/>
                </assert_contents>
            </output>
            <output name="output3">
                <assert_contents>
                    <has_line_matching expression="ID&#009;Gene Name&#009;Species&#009;BBID&#009;BIOCARTA&#009;COG_ONTOLOGY&#009;GOTERM_BP_DIRECT&#009;GOTERM_CC_DIRECT&#009;GOTERM_MF_DIRECT&#009;INTERPRO&#009;KEGG_PATHWAY&#009;OMIM_DISEASE&#009;PIR_SUPERFAMILY&#009;SMART&#009;UP_KEYWORDS&#009;UP_SEQ_FEATURE"/>
                </assert_contents>
            </output>
            <output name="output4">
                <assert_contents>
                    <has_line_matching expression="ID&#009;Name&#009;Species"/>
                </assert_contents>
            </output>
        </test>
    </tests>
    <help><![CDATA[
**What it does**

Retrieve data from the Database for Annotation, Visualization and Integrated Discovery (DAVID) using Web Services into R objects. This tool offers the main functionalities of DAVID website including: 

i) user-friendly connectivity to upload gene/background list/s, change gene/background position 

ii) Reports of the submitted Gene List, Gene/Term Clusters, Functional Annotation Chart, Functional Annotation Table


**Links and registration**

http://david.abcc.ncifcrf.gov/ and
https://bioconductor.org/packages/release/bioc/html/RDAVIDWebService.html

The used e-mail address has to be registered at https://david.ncifcrf.gov/webservice/register.htm in order to get access to DAVID (WebService)

    ]]></help>
     <citations>
        <citation type="doi">10.1093/bioinformatics/btt487</citation>
        <citation type="doi">10.1038/nprot.2008.211</citation>
    </citations>
</tool>