view topGO.xml @ 9:70c0c8757f5f draft

planemo upload commit 9d3e0b226140b566fc529fd0ffe7aa9e8388c6e5-dirty
author proteore
date Fri, 21 Sep 2018 05:32:38 -0400
parents ddaa0c318d65
children e3430084c996
line wrap: on
line source

<tool id="topGO" name="topGO" version="2018.09.21">
    <description>
    Enrichment analysis for Gene Ontology
    </description>
    <requirements>
        <requirement type="package" version="3.4.1">R</requirement>
        <requirement type="package" version="3.0.0">r-ggplot2</requirement>
        <requirement type="package" version="3.5.0">bioconductor-org.hs.eg.db</requirement>
        <requirement type="package" version="3.5.0">bioconductor-org.mm.eg.db</requirement>
        <requirement type="package" version="3.5.0">bioconductor-org.ce.eg.db</requirement>
        <requirement type="package" version="3.5.0">bioconductor-org.dm.eg.db</requirement>
        <requirement type="package" version="3.5.0">bioconductor-org.sc.sgd.db</requirement>
        <!--requirement type="package" version="3.5.0">bioconductor-org.at.tair.db</requirement-->
        <requirement type="package" version="1.56.0">bioconductor-graph</requirement>
        <requirement type="package" version="1.40.0">bioconductor-annotationdbi</requirement>
        <requirement type="package" version="3.5.0">bioconductor-go.db</requirement>
        <requirement type="package" version="2.30.0">bioconductor-topgo</requirement>
    </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" selected="true">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">
        <sanitizer>
            <valid initial="string.printable">
                <remove value="&apos;"/>
            </valid>
            <mapping initial="none">
                <add source="&apos;" target="__sq__"/>
            </mapping>
        </sanitizer>
      </param>
    </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 your Ensembl IDs are (e.g : Enter 'c1' for column n°1..)" 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" >Worm (C. elegans)</option>
        <option value="org.Dm.eg.db" >Fly (D. melanogaster)</option>
        <option value="org.Hs.eg.db" selected="true">Human (H. sapiens)</option>
        <option value="org.Mm.eg.db" >Mouse (M. musculus)</option>
        <option value="org.Sc.sgd.db" >Yeast (S. cerevisiae)</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>
            <when value="TRUE"/>
            <when value="FALSE"/>
          </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>
            <when value="TRUE"/>
            <when value="FALSE"/>
          </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>
            <when value="TRUE"/>
            <when value="FALSE"/>
          </conditional>
    </inputs>
    <outputs>

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

      <data name="outputbarplot" format="png" label="Barplot output for topGO analysis $ontocat category" from_work_dir="barplot.png">
        <filter>condbar['barplotoutput']=="TRUE"</filter>
      </data>
      
      <data name="outputdotplot" format="png" label="Dotplot output for topGO analysis $ontocat category" from_work_dir="dotplot.png">
        <filter>conddot['dotplotoutput']=="TRUE"</filter>
      </data>
      
   </outputs>
   <tests>
     <test>
       <conditional name="inputtype">
         <param name="filetype " value="tabfile"/>
         <param name="genelist" value="ID_Converter_FKW_Lacombe_et_al_2017_OK.txt"/>
         <param name="column" value="c8"/>
         <param name="header" value="TRUE"/>
       </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_BP_category.tabular"/>
       <output name="outputbarplot" file="Barplot_output_for_topGO_analysis_BP_category.png"/>
       <output name="outputdotplot" file="Dotplot_output_for_topGO_analysis_BP_category.png"/>
     </test>
   </tests>
   <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

-----

.. class:: infomark

**Authors**

Alexa A and Rahnenfuhrer J (2016). topGO: Enrichment Analysis for Gene Ontology. R package version 2.30.0.

**Galaxy integration**

Lisa Peru, T.P. Lien Nguyen, Florence Combes, Yves Vandenbrouck CEA, INSERM, CNRS, Grenoble-Alpes University, BIG Institute, FR

Sandra Dérozier, Olivier Rué, Christophe Caron, Valentin Loux INRA, Paris-Saclay University, MAIAGE Unit, Migale Bioinformatics platform

This work has been partially funded through the French National Agency for Research (ANR) IFB project.

Contact support@proteore.org for any questions or concerns about the Galaxy implementation of this tool.

]]></help>
   <citations>
   </citations>

</tool>