view cluster_profiler.xml @ 4:710414ebb6db draft

planemo upload commit 0a42c3d46be24406936ca0036bb436e6e2524fd2-dirty
author proteore
date Tue, 20 Mar 2018 08:59:51 -0400
parents ad1244024bd8
children 8a91f58782df
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"
        #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">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"/>
            </when>
            <when value="false"/>
        </conditional>
        <!--conditional name="fun" >
		    <param name="go_function" type="select" display="checkboxes" multiple="true" label="Please select analyses to perform">
			    <option value="ggo">GO categories representation</option>
			    <option value="ego">GO categories enrichment (compared to a background/reference)</option>
		    </param>			
        	<when value="ggo" >
			<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="ego" >
			    <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"/>
		    </when>
	    </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). 
	You can copy/paste these identifiers or supply a tabular file (.csv, .tsv, .txt, .tab) where there are contained.

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

	
	**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>