view topGO.xml @ 0:aade04e750fa draft default tip

planemo upload
author lnguyen
date Fri, 15 Sep 2017 10:38:28 -0400
parents
children
line wrap: on
line source

<tool id="topGO" name="topGO enrichment analysis" version="0.1.0">
    <requirements>
    </requirements>
    <stdio>
        <exit_code range="1:" />
    </stdio>
    <command><![CDATA[
    
  #if $inputtype.filetype == "file_all": 
  Rscript --vanilla $__tool_directory__/enrichment_v3.R --inputtype tabfile --input '$inputtype.genelist' --ontology '$ontocat' --option '$option' --threshold '$threshold' --correction '$correction' --textoutput '$condtext.textoutput' --barplotoutput '$condbar.barplotoutput' --dotplotoutput '$conddot.dotplotoutput' --column '$inputtype.column' --geneuniverse '$geneuniverse' --header '$inputtype.header'
  #end if
    
    
      #if $inputtype.filetype == "copy_paste": 
  Rscript --vanilla $__tool_directory__/enrichment_v3.R --inputtype copypaste --input '$inputtype.genelist' --ontology '$ontocat' --option '$option' --threshold '$threshold' --correction '$correction' --textoutput '$condtext.textoutput' --barplotoutput '$condbar.barplotoutput' --dotplotoutput '$conddot.dotplotoutput' --column c1 --geneuniverse '$geneuniverse' --header None

  #end if



    ]]></command>

    <inputs>
  <conditional name="inputtype">
    <param name="filetype" type="select" label="Select your type of input file" help="The identifiers must be Ensembl gene IDs (e.g : ENSG00000139618). If it is not the case, please use the ID Mapping tool.">
      <option value="file_all">Input file containing your identifiers</option>
      <option value="copy_paste">Copy/paste your list of IDs</option> 
    </param>
    <when value="copy_paste">
      <param name="genelist" type="text" label="Enter a list of identifiers"/>
    </when>
    <when value="file_all">
      <param name="genelist" type="data" format="txt,tabular" label="Choose an input file" help="This file must imperatively have 1 column filled with IDs consistent with the database that will be used. Please use the MappingIDs component if this is not the case."/>
      <param name="column" type="text" label="Please specify the column where you would like to apply the comparison (e.g : Enter c1)" value="c1"/> 
    
      <param name="header" type="select" label="Does your file have a header?" multiple="false" optional="false"> 
 		      <option value="TRUE" selected="true">Yes</option>
          <option value="FALSE" selected="false">No</option>
      </param>
    </when>
  </conditional>
      <param name="geneuniverse" type="select" label="Select a specie">
        <option value="org.At.tair.db" >Arabidopsis</option>
        <option value="org.Ce.eg.db" >C.elegans</option>
        <option value="org.Dm.eg.db" >Fly</option>
        <option value="org.Hs.eg.db" selected="true">Human</option>
        <option value="org.Mm.eg.db" >Mouse</option>
        <option value="org.Sc.sqd.db" >Yeast</option>
      </param>

      <param name="ontocat" type="select" label="Ontology category">
              <option value="BP" >Biological Process</option>
              <option value="CC" >Cellular Component</option>
              <option value="MF" >Molecular Function</option>
        </param>

        <param name="option" type="select" label="Choose the topGO option for your analysis">
                <option value="classic" >Classic fisher test</option>
                <option value="elim" selected="true">Elim</option>
                <option value="weight01" >Weight01</option>
                <option value="parentchild" >ParentChild</option>
          </param>
        <param name="threshold" type="text" label="Enter the p-value threshold level under the form 1e-level wanted (e.g : 1e-3)" value="1e-3"/>
	<param name="correction" label="Choose a correction for multiple testing" type="select">
             <option value="none" >None</option>
             <option value="holm">Holm correction</option>
             <option value="hochberg" >Hochberg correction</option>
             <option value="hommel" >Hommel correction</option>
             <option value="bonferroni" >Bonferroni correction</option>
             <option value="BH" selected="true">Benjamini and Hochberg</option>
             <option value="BY" >Benjamini and Yekutieli</option>
             <option value="fdr" >FDR</option>
           </param>
            <conditional name="condtext">
            <param name="textoutput" type="select" label="Generate a text file for results">
              <option value="TRUE">Yes</option>
              <option value="FALSE">No</option>
            </param>
          </conditional>
          <conditional name="condbar">
            <param name="barplotoutput" type="select" label="Generate a barplot of over-represented GO terms">
              <option value="TRUE">Yes</option>
              <option value="FALSE">No</option>
            </param>
          </conditional>
          <conditional name="conddot">
              <param name="dotplotoutput" type="select" label="Generate a dotplot of over-represented GO terms">
              <option value="TRUE">Yes</option>
              <option value="FALSE">No</option>
            </param>
          </conditional>
    </inputs>
    <outputs>

      <data name="outputtext" format="tabular" label="Text output for topGO analysis" from_work_dir="result.csv">
        <filter>condtext['textoutput']=="TRUE"</filter>
      </data>

      <data name="outputbarplot" format="png" label="Barplot output for topGO analysis" from_work_dir="barplot.png">
        <filter>condbar['barplotoutput']=="TRUE"</filter>
      </data>
      
      <data name="outputdotplot" format="png" label="Dotplot output for topGO analysis" from_work_dir="dotplot.png">
        <filter>conddot['dotplotoutput']=="TRUE"</filter>
      </data>
      
   </outputs>
    <help><![CDATA[
      
      
**Galaxy component based on R package topGO.** 

**Input required**

This component works with Ensembl gene ids (e.g : ENSG0000013618). You can
copy/paste these identifiers or supply a tabular file (.csv, .tsv, .txt, .tab)
where there are contained. 

**Principle**

This component provides the GO terms representativity of a gene list in one ontology category (Biological Process "BP", Cellular Component "CC", Molecular Function "MF"). This representativity is evaluated in comparison to the background list of all human genes associated associated with GO terms of the chosen category (BP,CC,MF). This background is given by the R package "org.Hs.eg.db", which is a genome wide association package for **human**.

**Output**

Three kind of outputs are available : a textual output, a barplot output and
a dotplot output. 

*Textual output* :
The text output lists all the GO-terms that were found significant under the specified threshold.    


The different fields are as follow :

- Annotated : number of genes in org.Hs.eg.db which are annotated with the GO-term.

- Significant : number of genes belonging to your input which are annotated with the GO-term. 

- Expected : show an estimate of the number of genes a node of size Annotated would have if the significant genes were to be randomly selected from the gene universe.  

- pvalues : pvalue obtained after the test 

- ( qvalues  : additional column with adjusted pvalues ) 

 
**Tests**

topGO provides a classic fisher test for evaluating if some GO terms are over-represented in your gene list, but other options are also provided (elim, weight01,parentchild). For the merits of each option and their algorithmic descriptions, please refer to topGO manual : 
https://bioconductor.org/packages/release/bioc/vignettes/topGO/inst/doc/topGO.pdf

**Multiple testing corrections**
    
Furthermore, the following corrections for multiple testing can also be applied : 
- holm
- hochberg
- hommel
- bonferroni
- BH
- BY
- fdr



]]></help>

<tests>
  <test>
    <conditional name="inputtype">
      <param name="filetype " value="tabfile"/>
      <param name="genelist" value="prot_reactome_EGFR_mapped_ensg.txt"/>
      <param name="column" value="c1"/>
      <param name="header" value="FALSE"/>
    </conditional>
    <param name="ontocat" value="BP"/>
    <param name="option" value="elim"/>
    <param name="threshold" value="1e-3"/>
    <param name="correction" value="BH"/> 
    <conditional name="condtext">
      <param name="textoutput" value="TRUE"/>
    </conditional>
    <conditional name="condbar">
    <param name="barplotoutput" value="TRUE"/>
  </conditional>
    <conditional name="conddot">
      <param name="dotoutput" value="TRUE"/>
    </conditional>
    <param name="geneuniverse" value="org.Hs.eg.db"/>
    <output name="outputtext" file="Text_output_for_topGO_analysis.txt"/>
    <output name="outputbarplot" file="Barplot_output_for_topGO_analysis.png"/>
    <output name="outputdotplot" file="Dotplot_output_for_topGO_analysis.png"/>
  </test>
</tests>
</tool>