view cluster_profiler.xml @ 6:5e16cec55146 draft

planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
author proteore
date Thu, 29 Mar 2018 11:43:28 -0400
parents 8a91f58782df
children 4609346d8108
line wrap: on
line source

<tool id="cluter_profiler" name="clusterProfiler" version="0.1.0">
    <description>
    GO terms classification and enrichment analysis
    </description>
    <requirements>
        <requirement type="package" version="3.4.1">R</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.2.0">bioconductor-dose</requirement>
        <requirement type="package" version="3.4.4">bioconductor-clusterprofiler</requirement>
    </requirements>
    <command detect_errors="exit_code"><![CDATA[
        Rscript "$__tool_directory__/GO-enrich.R"
        #if $input.ids == "text"
            --input_type="text"
            --input="$input.txt"
        #else
            --input_type="file"
            --input="$input.file"
            --ncol="$input.ncol"
            --header="$input.header"
        #end if
        
        --id_type="$idti.idtypein"

        --species="$species"

        #if $ggo.go_represent == "true"
            --go_represent="true"
            --level="$ggo.level"
        #else
            --go_represent="false"
        #end if

        #if $ego.go_enrich == "true"
            --go_enrich="true"
            --pval_cutoff="$ego.pval"
            --qval_cutoff="$ego.qval"
            #if $ego.universe.universe_option == "true"
            #if $ego.universe.universe_input.universe_ids == "text"
                --universe_type="text"
                --universe="$ego.universe.universe_input.txt"
            #else
                --universe_type="file"
                --universe="$ego.universe.universe_input.file"
                --uncol="$ego.universe.universe_input.ncol"
                --uheader="$ego.universe.universe_input.header"
            #end if
            --universe_id_type="$ego.universe.universe_idti.universe_idtypein"
        #end if
        #else
            --go_enrich="false"
        #end if
        
        --onto_opt="$ontology"

        --text_output="$text_output"
    ]]></command>
    <inputs>
        <conditional name="input" >
            <param name="ids" type="select" label="Provide your identifiers" help="Copy/paste or ID list from a file (e.g. table)" >
                <option value="text">Copy/paste your identifiers</option>
                <option value="file" selected="true">Input file containing your identifiers</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: P31946 P62258' >
                    <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 your input file contain header?" />
                <param name="ncol" type="text" value="c1" label="The column number of IDs to map" help='For example, fill in "c1" if it is the first column, "c2" if it is the second column and so on' />                
            </when>
        </conditional>
        <conditional name="idti" >
            <param name="idtypein" type="select" label="Select type/source of identifier of your list" help="Please see example of IDs in help section" >
                <option value="Uniprot">UniProt accession number</option>
                <option value="Entrez">Entrez Gene ID</option>
            </param>
            <when value="Uniprot"/>
            <when value="Entrez"/>
        </conditional>
            
        <param name="species" type="select" label="Select a species" >
            <option value="human">Human</option>
            <option value="mouse">Mouse</option>
            <option value="rat">Rat</option>
        </param>
        <conditional name="ggo">
            <param name="go_represent" type="boolean" checked="true" truevalue="true" falsevalue="false" label="Do you want to perform GO categories representation analysis?"/>
            <when value="true">
                <param name="level" type="select" label="Level of the ontology at which the profile has to be built (the higher this number, the deeper the GO level)">
				    <option value="1">1</option>
				    <option value="2">2</option>
				    <option value="3" selected="True">3</option>
			    </param>
            </when>
            <when value="false"/>
        </conditional>
        <conditional name="ego">
            <param name="go_enrich" type="boolean" checked="true" truevalue="true" falsevalue="false" label="Do you want to perform GO categories enrichment analysis?"/>
            <when value="true">
                <param name="pval" type="float" value="0.01" label="P-value cut off"/>
			    <param name="qval" type="float" value="0.05" label="Q-value cut off"/>
                <conditional name="universe" >
                    <param name="universe_option" type="boolean" checked="false" truevalue="true" falsevalue="false" label="Would you like to define your own background IDs?"/>
                    <when value="true">
                        <conditional name="universe_input">
                            <param name="universe_ids" type="select" label="Provide your background IDs list" help="Copy/paste or ID list from a file (e.g. table)" >
                                <option value="text">Copy/paste your background identifiers</option>
                                <option value="file" selected="true">Input file containing your background identifiers</option>
                            </param>
                            <when value="text" >
                                <param name="txt" type="text" label="Copy/paste your background identifiers" help='IDs must be separated by spaces into the form field, for example: P31946 P62258' >
                                    <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 background IDs list" help="" />
                                <param name="header" type="boolean" checked="true" truevalue="true" falsevalue="false" label="Does your input file contain header?" />
                                <param name="ncol" type="text" value="c1" label="The column number of IDs to map" help='For example, fill in "c1" if it is the first column, "c2" if it is the second column and so on' />                
                            </when>
                        </conditional>
                        <conditional name="universe_idti" >
                            <param name="universe_idtypein" type="select" label="Select type/source of background identifier of your list" help="Please see example of IDs in help section" >
                                <option value="Uniprot">UniProt accession number</option>
                                <option value="Entrez">Entrez Gene ID</option>
                            </param>
                            <when value="Uniprot"/>
                            <when value="Entrez"/>
                        </conditional>
                    </when>
                    <when value="false"/>
                </conditional>
            </when>
            <when value="false"/>
        </conditional>
				
		<param name="ontology" type="select" display="checkboxes" multiple="true" label="Please select GO terms category">
            <option value="CC">Cellular Component</option>
            <option value="BP">Biological Process</option>
            <option value="MF">Molecular Function</option>
        </param>
	    
	    
	    
    </inputs>
    <outputs>
        <data name="text_output" format="tabular" label="clusterProfiler text output" />
        <collection type="list" label="clusterProfiler diagram outputs" name="output" >
	    <discover_datasets pattern="(?P&lt;designation&gt;.+\.png)" ext="png" />
	</collection>
    </outputs>
    <tests>
        <test>
            <conditional name="input">
                <param name="ids" value="file"/>
                <param name="file" value="Lacombe_et_al_2017_OK.txt"/>
                <param name="header" value="true"/>
                <param name="ncol" value="c1"/>
            </conditional>
            <conditional name="idti">
                <param name="idtypein" value="Uniprot"/>
            </conditional>
            <param name="species" value="human"/>
            <conditional name="ggo">
                <param name="go_represent" value="true"/>
                <param name="level" value="3"/>
            </conditional>
            <conditional name="ego">
                <param name="go_enrich" value="false"/>
            </conditional>
            <param name="ontology" value="CC"/>
            <output name="text_output" file="clusterProfiler_text_output.tabular"/>
            <output_collection name="output">
                <element name="clusterProfiler_diagram_outputs__GGO.CC.png" file="clusterProfiler_diagram_outputs__GGO.CC.png" ftype="png"/>
            </output_collection>
        </test>
    </tests>
    <help><![CDATA[
       
**Galaxy component based on R package clusterProfiler (see ref below)**
 	
This component allows to perform GO enrichment-analyses.

Given a list of IDs, the tool either 
  (i)  performs gene classification based on GO distribution at a specific level, or
  (ii) calculates GO categories enrichment (over- or under-representation) for the IDs of the input list, compared to a background (whole organism or user-defined list). 

**Input required**

This component works with Gene ids (e.g : 4151, 7412) or Uniprot accession number (e.g. P31946). 

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).

 
**Output**

Text (tables) and graphics representing the repartition and/or enrichment of GO categories. 

**User manual / Documentation** of the clusterProfiler R package (functions and parameters):
https://bioconductor.org/packages/3.7/bioc/vignettes/clusterProfiler/inst/doc/clusterProfiler.html
(Very well explained)

**Reference**
 
clusterProfiler R package reference : 
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)

-----

.. class:: infomark

**Galaxy integration**

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>