view goprofiles.xml @ 11:3ddc1f78773d draft

planemo upload commit 4ba1ebe7b3f5e3fabf78b5fed7ed0b92e2cbf9e5-dirty
author proteore
date Fri, 28 Jun 2019 05:11:15 -0400
parents 2138e0035e57
children d4dd1c242a87
line wrap: on
line source

<tool id="goProfiles" name="Statistical analysis of functional profiles" version="2019.06.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" checked="true" 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 relies 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. 

.. class:: warningmark
	
In copy/paste mode, the number of IDs considered in input is limited to 5000.

-----

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

Packages used: 
    - bioconductor-org.hs.eg.db v3.5.0
    - bioconductor-org.mm.eg.db v3.5.0
    - bioconductor-annotationdbi v1.40.0
    - bioconductor-biobase v2.98.0
    - goprofiles v1.38.0

-----

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

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

Help: contact@proteore.org for any questions or concerns about this tool.
    ]]></help>
    <citations>
    </citations>
</tool>