diff GO_terms_enrich_comparison.xml @ 0:04f363ee805a draft

planemo upload commit c9d70181a2b587e53dcc4b5885b74b625def6b8c-dirty
author proteore
date Tue, 10 Dec 2019 04:15:39 -0500
parents
children 528652235016
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GO_terms_enrich_comparison.xml	Tue Dec 10 04:15:39 2019 -0500
@@ -0,0 +1,210 @@
+<tool id="go_terms_enrich_comparison" name="GO terms enrich comparison " version="2019.11.19.1">
+    <description>(Human, Mouse, Rat)[clusterProfiler]</description>
+    <requirements>
+        <requirement type="package">R</requirement>
+        <requirement type="package" version="3.8.2">bioconductor-org.hs.eg.db</requirement>
+        <requirement type="package" version="3.8.2">bioconductor-org.mm.eg.db</requirement>
+        <requirement type="package" version="3.8.2">bioconductor-org.rn.eg.db</requirement>
+        <requirement type="package" version="3.10.2">bioconductor-dose</requirement>
+        <requirement type="package" version="3.12.0">bioconductor-clusterprofiler</requirement>
+    </requirements>
+    <command detect_errors="exit_code"><![CDATA[
+
+
+       Rscript $__tool_directory__/GO_terms_enrich_comparison.R
+
+        --nb=$len($lists)
+
+        #for $index, $list in enumerate($lists)
+        		    
+            #if $list.input.ids == "file"
+		        --input.$index="$list.input.file" --name.$index="$list.list_name" --inputtype.$index="file" --header.$index="$list.input.header" --column.$index="$list.input.ncol" 
+            #else
+                --input.$index="$list.input.txt" --name.$index="$list.list_name" --inputtype.$index="text"  
+ 		    #end if
+            
+        #end for
+
+        --org="$species"
+        --ont="$ontology"
+       
+
+            > $log
+
+
+    ]]></command>
+    <inputs>
+
+        <repeat name="lists" title="List to compare" min="2" max="5" >
+
+            <conditional name="input" >
+                <param name="ids" type="select" label="Enter your Gene ID list" help="Copy/paste or from a file (e.g. table)" >
+                    <option value="text">Copy/paste your IDs</option>
+                    <option value="file" selected="true">Input file containing your IDs</option>
+                </param>
+                <when value="text" >
+                    <param name="txt" type="text" label="Copy/paste your identifiers" help='IDs must be separated by spaces into the form field, for example: 2810 7534' >
+                        <sanitizer>
+                            <valid initial="string.printable">
+                                <remove value="&apos;"/>
+                            </valid>
+                            <mapping initial="none">
+                                <add source="&apos;" target="__sq__"/>
+                            </mapping>
+                        </sanitizer>
+                    </param>
+                </when>
+                <when value="file" >
+                    <param name="file" type="data" format="txt,tabular" label="Choose a file that contains your list of IDs" help="" />
+                    <param name="header" type="boolean" checked="true" truevalue="true" falsevalue="false" label="Does file contain header?" />
+                    <param name="ncol" type="text" value="c1" label="Column number of IDs" help='For example, fill in "c1" if it is the first column, "c2" if it is the second column and so on'>
+                        <validator type="regex" message="Please enter a column number, for example: 'c1' for the first column">[c]{0,1}[0-9]+</validator>
+                    </param>
+                </when>
+            </conditional>
+                
+            <param name="list_name" type="text" label="name of your list" value="list" optional="false">
+                <sanitizer>
+                    <valid initial="string.printable">
+                        <remove value="&apos;"/>
+                    </valid>
+                    <mapping initial="none">
+                        <add source="&apos;" target="__sq__"/>
+                    </mapping>
+                </sanitizer>
+                <validator type="regex" message="Please enter a list name">[a-zA-Z0-9._-]+</validator>
+            </param>
+        
+        </repeat>
+        
+        <param name="species" type="select" label="Species" >
+            <option value="org.Hs.eg.db">Human (Homo sapiens) </option>
+            <option value="org.Mm.eg.db">Mouse (Mus musculus) </option>
+            <option value="org.Rn.eg.db">Rat (Rattus norvegicus)</option>
+        </param>
+		<param name="ontology" type="select" display="checkboxes" multiple="true" label="Select GO terms category" optional="false" >
+            <option value="CC">Cellular Component</option>
+            <option value="BP">Biological Process</option>
+            <option value="MF">Molecular Function</option>
+        </param>
+    </inputs>
+    
+    <outputs>
+        <data name="log" format="txt" label="GO enrich comparison" />
+        <collection type="list" label="GO enrichComparison results Table" name="text_output">
+            <discover_datasets pattern="(?P&lt;designation&gt;.+\.tsv)" ext="tsv"/>
+        </collection>
+        <collection type="list" label="GO enrichComparison results Diagram" name="graph_output" >
+	        <discover_datasets pattern="(?P&lt;designation&gt;.+.png)" ext="png" />
+	    </collection>
+    </outputs>
+
+    <tests>
+        <test>
+            <repeat name="lists">
+	            <conditional name="input">
+	                <param name="ids" value="file" />
+	                <param name="file" value="Gene_ID_BreastUp.txt" />
+	                <param name="header" value="true" />
+	                <param name="ncol" value="c7" />
+	                <param name="name" value="UP" />
+	            </conditional>
+	        </repeat>
+            <repeat name="lists">
+	            <conditional name="input">
+	                <param name="ids" value="file" />
+	                <param name="file" value="Gene_ID_BreastDn.txt" />
+	                <param name="header" value="true" />
+	                <param name="ncol" value="c7" />
+	                <param name="name" value="DN" />
+	            </conditional>
+	        </repeat>
+
+            <param name="species" value="org.Hs.eg.db"/>
+            <param name="ontology" value="BP"/>
+            <output name="log" file="log.txt" />
+            <output_collection name="text_output">
+                <element name="GO_enrich_comparison_BP.tsv" file="GO_enrich_comparison_BP.tsv" ftype="tsv"/>
+            </output_collection>
+            <output_collection name="graph_output">
+                <element name="GO_enrich_comparison_BP.png" file="GO_enrich_comparison_BP.png" ftype="png"/>
+            </output_collection>
+        </test>
+    </tests>
+    <help><![CDATA[
+
+**Description**
+
+This tool is based on R package clusterProfiler and allows to perform GO terms classification and enrichment analyses on gene/protein sets (e.g. given a set of genes that are up-regulated under certain conditions, an enrichment analysis will find which GO terms are over-represented (or under-represented) using annotations for that gene/protein set).
+
+Given a list of IDs, this tool: 
+
+(i)  performs gene classification based on GO distribution at a specific level,
+  
+(ii) calculates GO categories enrichment (over- or under-representation) for the IDs of the input list, compared to a background. User has the possibility to use background corresponding to the whole organism or to a user-defined list. In this latter case, we recommand to use the "Build tissue-specific expression dataset" ProteoRE tool to create this list according to your need. 
+
+-----
+
+**Input**
+
+Two modes are allowed: either by supplying a tabular file (.csv, .tsv, .txt, .tab) including your IDs (identifiers) or by copy/pasting your IDs (separated by a space).
+
+"Select type/source of IDs": only entrez gene ID (e.g : 4151, 7412) or Uniprot accession number (e.g. P31946) are allowed. If your list is not in this form, please use the ID_Converter tool of ProteoRE. 
+
+-----
+
+**Parameters**
+
+"Species": the three supported species are Homo sapiens, Mus musculus and Rattus norvegicus 
+
+"Perform GO categories representation analysis?": classify genes based on their projection at a specific level of the GO corpus (see parameter below), and provides functions (set to "Yes")
+
+"Ontology level (the higher this number, the deeper the GO level)": correspond to the level of GO hierarchy (from 1 to 3) (set to level "2" by default). In general the higher the level, the more semantically specific the term is.
+
+"Perform GO categories enrichment analysis?": calculate enrichment test for GO terms based on hypergeometric distribution (set to "Yes")
+
+"P-value cut off": P-value threshold value for the declaration of significance (default is < 0.01)
+
+"Q-value cut off": to prevent high false discovery rate (FDR) in multiple testing, Q-values (adjusted P-values) are estimated for FDR control. (default is < 0.05)
+
+"Define your own background IDs?": by default the whole genome/proteome is used as a reference background to compute the enrichment. As this reference set should normally only include genes/proteins that were monitored during your analysis, this option allows to provide your own background; this could be for instance, the total number of genes/proteins expressed in the tissue/sample under study. 
+
+If you want to use your own background, click on the "Yes" button. Your gene/protein set must be a list of Entrez gene ID or Uniprot accession number (otherwise, use the ID-Converter tool of ProteoRE). Select the file containing your list of ID (as background), then specify the column number which contains IDs and the type of IDs (gene Entrez or Uniprot Accession number) as requested. 
+
+Of note: for Human species, you can build your own background by using the "Build tissue-specific expression dataset" tool of ProteoRE.
+
+----- 
+
+**Output**
+
+Diagram output: graphical output in the form of bar-plot or dot-plot (png, jpeg or pdf format), one figure for each GO category. 
+Text tables: with the following information GO category description (e.g.BP.Description), GO term identifier (e.g. BP.GOID) and GO term frequency (e.g. BP.Frequency)d graphics representing the repartition and/or enrichment of GO categories. One table and one graphic will be produced for each GO catagory. 
+
+-----
+
+**Authors**
+G Yu, LG Wang, Y Han, QY He. clusterProfiler: an R package for comparing biological themes among gene clusters. 
+OMICS: A Journal of Integrative Biology 2012, 16(5):284-287. doi:[10.1089/omi.2011.0118](http://dx.doi.org/10.1089/omi.2011.0118)
+
+User manual / Documentation of the clusterProfiler R package (functions and parameters):
+https://bioconductor.org/packages/3.7/bioc/vignettes/clusterProfiler/inst/doc/clusterProfiler.html
+
+-----
+
+.. class:: infomark
+
+**Galaxy integration**
+
+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, FR
+
+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>