view goprofiles.xml @ 9:948fecb6a40b draft

planemo upload commit 973d782455fd6a7df7ba9bce0a7878de53bc1e68-dirty
author proteore
date Mon, 04 Mar 2019 05:48:48 -0500
parents 386145573c19
children 2138e0035e57
line wrap: on
line source

<tool id="goProfiles" name="Statistical analysis of functional profiles" version="2019.02.27">
    <description>(Human, Mouse) [goProfiles]</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.5.0">bioconductor-org.rn.eg.db</requirement-->
        <requirement type="package" version="1.40.0">bioconductor-annotationdbi</requirement>
        <requirement type="package" version="2.38.0">bioconductor-biobase</requirement>
        <requirement type="package" version="1.38.0">goprofiles</requirement>
        
    </requirements>
    <stdio>
        <exit_code range="1:" />
    </stdio>
    <command><![CDATA[
        Rscript $__tool_directory__/goprofiles.R
        #if $input.ids == "text"
            --input_type="text"
            --input="$input.text"
        #else
            --input_type="file"
            --input="$input.file"
            --ncol="$input.ncol"
            --header="$input.header"
        #end if
        
        --id_type="$input.id_type"
        --onto_opt="$onto_opt"
        --plot_opt="$plot_opt"
        --level="$level"
        --per="$per"
        --title="$title"
        --duplicate="$duplicate"
        --text_output="$text_output"
        --species="$species" > $log

    ]]></command>
    <inputs>
        <conditional name="input" >
            <param name="ids" type="select" label="Enter your IDs (Entrez Gene ID or UniProt Accession number)" 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="text" type="text" label="Copy/paste your IDs" 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>
                <param name="id_type" type="select" label="Select type of IDs list" >
                    <option value="Entrez">Entrez Gene ID</option>
                    <option value="UniProt">UniProt Accession number</option>
                </param>
            </when>
            <when value="file" >
                <param name="file" type="data" format="txt,tabular" label="Select your file" help="" />
                <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>
                <param name="header" type="boolean" checked="true" truevalue="true" falsevalue="false" label="Does file contain header?" />
                <param name="id_type" type="select" label="Select type of IDs list" >
                    <option value="Entrez">Entrez Gene ID</option>
                    <option value="UniProt">Uniprot Accession number</option>
                </param>
            </when>            
        </conditional>
        <param name="duplicate" type="boolean" label="Remove duplicated IDs" truevalue="TRUE" falsevalue="FALSE" />
        <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 type="select" name="onto_opt" label="Select GO terms category" multiple="True" display="checkboxes" optional="false" >
            <option value="CC">Cellular Component (CC)</option>
            <option value="MF">Molecular Function (MF)</option>
            <option value="BP">Biological Process (BP)</option>
        </param>
        <param type="select" name="level" label="Ontology level (the higher this number, the deeper the GO level)" >
            <option value="1">1</option>
            <option value="2" selected="True">2</option>
            <option value="3">3</option>
            <option value="4">4</option>
            <option value="5">5</option>
            <option value="6">6</option>
        </param>
        <param type="boolean" name="per" label="Plot absolute frequencies?" truevalue="TRUE" falsevalue="FALSE" />
        <param type="text" name="title" label="Enter title of your figure">
            <sanitizer invalid_char=''>
                <valid initial="string.printable">
                    <remove value="&apos;"/>
                    <remove value="/"/>
                </valid>
                <mapping>
                    <add source="&#x20;" target=""/> 
                </mapping>
            </sanitizer>
        </param>
        <param type="select" name="plot_opt" label="Plot file format">
            <option value="PNG" selected="True">png</option>
            <option value="JPEG">jpeg</option>
            <option value="PDF">pdf</option>
        </param>

    </inputs>
    <outputs>
        <data name="log" format="tsv" label="goProfiles log" />
        <collection type="list" label="goProfiles text files" name="text_output">
            <discover_datasets pattern="(?P&lt;designation&gt;.+\.tsv)" ext="tsv"/>
        </collection>
	    <collection type="list" label="goProfiles diagram output" name="output" >
	        <discover_datasets pattern="(?P&lt;designation&gt;.+\.png)" ext="png" />
	        <discover_datasets pattern="(?P&lt;designation&gt;.+\.jpeg)" ext="jpg" />
	        <discover_datasets pattern="(?P&lt;designation&gt;.+\.pdf)" ext="pdf" />
	    </collection>
    </outputs>
    <tests>
        <test>
            <conditional name="input">
                <param name="ids" value="file" />
                <param name="file" value="ID_Converted_FKW_Lacombe_et_al_2017_OK.txt" />
                <param name="ncol" value="c1" />
                <param name="header" value="true" /> 
                <param name="id_type" value="UniProt" />              
            </conditional>
            <param name="duplicate" value="false"/>
            <param name="onto_opt" value="CC,MF,BP" />
            <param name="level" value="2" />
            <param name="per" value="true" />
            <param name="title" value="Test" />
            <param name="plot_opt" value="PDF" />
            <output_collection name="output" type="list" >
                <element name="profile.BP.pdf" file="profile.BP.pdf" ftype="pdf" compare="sim_size"/>
                <element name="profile.CC.pdf" file="profile.CC.pdf" ftype="pdf" compare="sim_size"/>
                <element name="profile.MF.pdf" file="profile.MF.pdf" ftype="pdf" compare="sim_size"/>
            </output_collection>
            <output name="log" file="GO_Profile_text_output.tsv"/>
        </test>
    </tests>
    <help><![CDATA[

**Description**

This tool is based on the goProfiles R package; it performs statistical analysis of functional profiles based on Gene Ontology (GO). Functional profile at a given GO level is obtained by counting the
number of identifiers having a hit in each category of this level.   

-----

**Input** 

Two modes are allowed: either by copy/pasting your IDs (separated by a space) or by supplying a tabular file (.csv, .tsv, .txt, .tab) including your IDs (identifiers).
Only entrez gene ID (e.g : 4151) 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": enter the sepcies you are working on; Homo sapiens and Mus musculus supported (Rattus norvegicus coming soon)

"Select GO terms category": you can choose one or more GO categories which are Biological Process (BP), Cellular Component (CC) and Molecular Function (MF) 

"Ontology level (the higher this number, the deeper the GO level)": correspond to the level of GO hierarchy (from 1 to 6). In general the higher the level, the more semantically specific the term is.

-----

**Ouput**

Diagram output: graphical output in the form of bar-plot or dot-plot (png (default format), jpeg or pdf format), one figure for each GO category. 

text output: 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)

-----

.. class:: infomark

**Authors** 

Salicrú M, Ocaña J, Sánchez-Pla A. Comparison of lists of genes based on functional profiles. BMC Bioinformatics. 2011. 12:401. doi:10.1186/1471-2105-12-401. PubMed PMID: 21999355

-----

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