view uniprot.xml @ 4:144e9558d3fd draft

planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/uniprot_rest_interface commit 64c4336509437b9772df82a8b89046c9044b1ff5
author bgruening
date Tue, 14 Aug 2018 16:37:28 -0400
parents fe94765e8814
children 054483e27a35
line wrap: on
line source

<tool id="uniprot" name="UniProt" version="0.1">
    <description>ID mapping and retrieval</description>
    <macros>
         <import>macros.xml</import>
    </macros>
    <requirements>
        <requirement type="package" version="2.7">requests</requirement>
    </requirements>
    <version_command>echo "UniProt ID mapping for Galaxy in version 0.1"</version_command>
    <command detect_errors="aggressive"><![CDATA[

        cut -f ${id_column} $infile > id_file.tabular &&

        $__tool_directory__/uniprot.py

        #if $tool.tool_choice == "retrieve":
            retrieve -f $tool.format $infile ./output
        #elif $tool.tool_choice == "map":
            map

            #if $tool.from.category_FROM == "uniprot"
                '${tool.from.db_uniprot_FROM}'
            #elif $tool.from.category_FROM == "oseqdb"
                ${tool.from.db_oseqdb}
            #elif $tool.from.category_FROM == "3Dstrdb"
                ${tool.from.db_3Dstrdb}
            #elif $tool.from.category_FROM == "ppidb"
                ${tool.from.db_ppidb}
            #elif $tool.from.category_FROM == "chemistry"
                ${tool.from.db_chemistry}
            #elif $tool.from.category_FROM == "protfgdb"
                ${tool.from.db_protfgdb}
            #elif $tool.from.category_FROM == "polymorphismANDmutation"
                ${tool.from.db_polymorphismANDmutation}
            #elif $tool.from.category_FROM == "2DgelDB"
                ${tool.from.db_2DgelDB}
            #elif $tool.from.category_FROM == "ProtocolsMaterialsDB"
                ${tool.from.db_ProtocolsMaterialsDB}
            #elif $tool.from.category_FROM == "GenomeAnnotationDB"
                ${tool.from.db_GenomeAnnotationDB}
            #elif $tool.from.category_FROM == "OrganismSpecificGeneDB"
                ${tool.from.db_OrganismSpecificGeneDB}
            #elif $tool.from.category_FROM == "phylogenomic"
                ${tool.from.db_phylogenomic}
            #elif $tool.from.category_FROM == "EnzymePathwayDB"
                ${tool.from.db_EnzymePathwayDB}
            #elif $tool.from.category_FROM == "GeneExpression"
                ${tool.from.db_GeneExpression}
            #elif $tool.from.category_FROM == "other"
                ${tool.from.db_other}
            #end if

            #if $tool.to.category_TO == "uniprot"
                ${tool.to.db_uniprot_TO}
            #elif $tool.to.category_TO == "oseqdb"
                ${tool.to.db_oseqdb}
            #elif $tool.to.category_TO == "3Dstrdb"
                ${tool.to.db_3Dstrdb}
            #elif $tool.to.category_TO == "ppidb"
                ${tool.to.db_ppidb}
            #elif $tool.to.category_TO == "chemistry"
                ${tool.to.db_chemistry}
            #elif $tool.to.category_TO == "protfgdb"
                ${tool.to.db_protfgdb}
            #elif $tool.to.category_TO == "polymorphismANDmutation"
                ${tool.to.db_polymorphismANDmutation}
            #elif $tool.to.category_TO == "2DgelDB"
                ${tool.to.db_2DgelDB}
            #elif $tool.to.category_TO == "ProtocolsMaterialsDB"
                ${tool.to.db_ProtocolsMaterialsDB}
            #elif $tool.to.category_TO == "GenomeAnnotationDB"
                ${tool.to.db_GenomeAnnotationDB}
            #elif $tool.to.category_TO == "OrganismSpecificGeneDB"
                ${tool.to.db_OrganismSpecificGeneDB}
            #elif $tool.to.category_TO == "phylogenomic"
                ${tool.to.db_phylogenomic}
            #elif $tool.to.category_TO == "EnzymePathwayDB"
                ${tool.to.db_EnzymePathwayDB}
            #elif $tool.to.category_TO == "GeneExpression"
                ${tool.to.db_GeneExpression}
            #elif $tool.to.category_TO == "other"
                ${tool.to.db_other}
            #end if

            id_file.tabular
            ./output
        #end if

    ]]></command>
    <inputs>
        <param name="infile" type="data" format="tabular" label="Input file with IDs"
            help="One ID in each line."/>
        <param name="id_column" label="ID column" type="data_column" data_ref="infile" help=""/>

        <conditional name="tool">
            <param name="tool_choice" type="select" label="Do you want to map IDs or retrieve data from UniProt" help="">
                <option value="retrieve">Retrieve: request entries by uniprot accession using batch retrieval</option>
                <option value="map" selected="True">Map: map a list of ids from one format onto another using uniprots mapping API</option>
            </param>
            <when value="map">
                <conditional name="from">
                    <expand macro="macro-category_FROM"/>
                    <when value="uniprot">
                        <expand macro="macro-db_uniprot_FROM"/>
                    </when>
                    <when value="oseqdb">
                        <expand macro="macro-db_oseqdb"/>
                    </when>
                    <when value="3Dstrdb">
                        <expand macro="macro-db_3Dstrdb"/>
                    </when>
                    <when value="ppidb">
                        <expand macro="macro-db_ppidb"/>
                    </when>
                    <when value="chemistry">
                        <expand macro="macro-db_chemistry"/>
                    </when>
                    <when value="protfgdb">
                        <expand macro="macro-db_protfgdb"/>
                    </when>
                    <when value="polymorphismANDmutation">
                        <expand macro="macro-db_polymorphismANDmutation"/>
                    </when>
                    <when value="2DgelDB">
                        <expand macro="macro-db_2DgelDB"/>
                    </when>
                    <when value="ProtocolsMaterialsDB">
                        <expand macro="macro-db_ProtocolsMaterialsDB"/>
                    </when>
                    <when value="GenomeAnnotationDB">
                        <expand macro="macro-db_GenomeAnnotationDB"/>
                    </when>
                    <when value="OrganismSpecificGeneDB">
                        <expand macro="macro-db_OrganismSpecificGeneDB"/>
                    </when>
                    <when value="phylogenomic">
                        <expand macro="macro-db_phylogenomic"/>
                    </when>
                    <when value="EnzymePathwayDB">
                        <expand macro="macro-db_EnzymePathwayDB"/>
                    </when>
                    <when value="GeneExpression">
                        <expand macro="macro-db_GeneExpression"/>
                    </when>
                    <when value="other">
                        <expand macro="macro-db_other"/>
                    </when>
                </conditional>
                <conditional name="to">
                    <expand macro="macro-category_TO"/>
                    <when value="uniprot">
                        <expand macro="macro-db_uniprot_TO"/>
                    </when>
                    <when value="oseqdb">
                        <expand macro="macro-db_oseqdb"/>
                    </when>
                    <when value="3Dstrdb">
                        <expand macro="macro-db_3Dstrdb"/>
                    </when>
                    <when value="ppidb">
                        <expand macro="macro-db_ppidb"/>
                    </when>
                    <when value="chemistry">
                        <expand macro="macro-db_chemistry"/>
                    </when>
                    <when value="protfgdb">
                        <expand macro="macro-db_protfgdb"/>
                    </when>
                    <when value="polymorphismANDmutation">
                        <expand macro="macro-db_polymorphismANDmutation"/>
                    </when>
                    <when value="2DgelDB">
                        <expand macro="macro-db_2DgelDB"/>
                    </when>
                    <when value="ProtocolsMaterialsDB">
                        <expand macro="macro-db_ProtocolsMaterialsDB"/>
                    </when>
                    <when value="GenomeAnnotationDB">
                        <expand macro="macro-db_GenomeAnnotationDB"/>
                    </when>
                    <when value="OrganismSpecificGeneDB">
                        <expand macro="macro-db_OrganismSpecificGeneDB"/>
                    </when>
                    <when value="phylogenomic">
                        <expand macro="macro-db_phylogenomic"/>
                    </when>
                    <when value="EnzymePathwayDB">
                        <expand macro="macro-db_EnzymePathwayDB"/>
                    </when>
                    <when value="GeneExpression">
                        <expand macro="macro-db_GeneExpression"/>
                    </when>
                    <when value="other">
                        <expand macro="macro-db_other"/>
                    </when>
                </conditional>
            </when>
            <when value="retrieve">
                <param name="format" type="select" label="Choose format of output file" help="">
                    <option value="fasta">fasta</option>
                    <option value="gff">gff</option>
                    <option value="txt">Text</option>
                </param>
            </when>
        </conditional>
    </inputs>
    <outputs>
            <data name="outfile_retrieve_fasta" format="fasta" from_work_dir="./output"
                label="${tool.name} on ${on_string} (retrieve output)">
                <filter>tool['tool_choice'] == 'retrieve'</filter>
                <filter>tool['format'] == 'fasta'</filter>
            </data>
            <data name="outfile_retrieve_gff" format="gff" from_work_dir="./output"
                label="${tool.name} on ${on_string} (retrieve output)">
                <filter>tool['tool_choice'] == 'retrieve'</filter>
                <filter>tool['format'] == 'gff'</filter>
            </data>
            <data name="outfile_retrieve_txt" format="txt" from_work_dir="./output"
                label="${tool.name} on ${on_string} (retrieve output)">
               	<filter>tool['tool_choice'] == 'retrieve'</filter>
                <filter>tool['format'] == 'txt'</filter>
            </data>
            <data name="outfile_map" format="tabular" from_work_dir="./output"
                label="${tool.name} on ${on_string} (map output)">
                <filter>tool['tool_choice'] == 'map'</filter>
            </data>
    </outputs>
    <tests>
        <test>
            <param name="infile" value="id_uniprot.tab" ftype="tabular"/>
            <param name="id_column" value="c1"/>
            <param name="format" value="fasta"/>
            <param name="tool_choice" value="retrieve"/>
            <output name="outfile_retrieve_fasta" file="test1_retrieve.fasta" ftype="fasta" compare="sim_size" />
        </test>
        <test>
            <param name="infile" value="id_uniprot.tab" ftype="tabular"/>
            <param name="id_column" value="c1"/>
            <param name="format" value="gff"/>
            <param name="tool_choice" value="retrieve"/>
            <output name="outfile_retrieve_gff" file="test2_retrieve.gff" ftype="gff" compare="sim_size" />
        </test>
        <test>
            <param name="infile" value="id_uniprot.tab" ftype="tabular"/>
            <param name="id_column" value="c1"/>
            <param name="tool_choice" value="map"/>
            <param name="category_FROM" value="uniprot"/>
            <param name="db_uniprot_FROM" value="ID"/>
            <param name="category_TO" value="uniprot"/>
            <param name="db_uniprot_TO" value="GENENAME"/>
            <output name="outfile_map" file="test1_map.tab" ftype="tabular"/>
        </test>
        <test>
            <param name="infile" value="id_map_refseq.txt" ftype="tabular"/>
            <param name="id_column" value="c1"/>
            <param name="tool_choice" value="map"/>
            <param name="category_FROM" value="oseqdb"/>
            <param name="db_oseqdb" value="REFSEQ_NT_ID"/>
            <param name="category_TO" value="uniprot"/>
            <param name="db_uniprot_TO" value="ID"/>
            <output name="outfile_map" file="test2_map.tab" ftype="tabular"/>
        </test>
    </tests>
    <help><![CDATA[

.. class:: infomark

**What it does** 

This tool provides access to the UniProt API. You can retrieve sequence informations given a list of sequence identifiers or map
identifiers between different databases.
Hence, this tool offers you two modes: *map* and *retrieve*.

-----

**INPUT**

The input is a list of IDs.

*Example*::

    Q0P8A9
    A0A077ZHN8
    A0A077ZFY8
    M5B8V9
    M5BAG7
    S0DS17
    ....

-----

**MAP OUTPUT EXAMPLES**

FROM refseq TO embl::

    From    To
    NM_130786    A1BG_HUMAN
    NM_130786    V9HWD8_HUMAN
    NM_001087    A0A024R410_HUMAN
    NM_001087    AAMP_HUMAN
    
FROM uniprot TO genename::

    From        To
    Q0P8A9      fdhC
    A0A077ZHN8  TTRE_0000819801
    A0A077ZFY8  TTRE_0000758701
    M5B8V9      CMN_01519
    M5BAG7      cydC
    S0DS17      FFUJ_00006
    A0A077Z587  TTRE_0000309301
    Q13685      AAMP
    O14639      ABLIM1

-----

**RETRIEVE OUTPUT EXAMPLES**

retrieve gff::

    #gff-version 3
    #sequence-region S0DS17 1 369
    #sequence-region M5BAG7 1 563
    #sequence-region A0A077Z587 1 772
    #sequence-region A0A077ZFY8 1 973
    #sequence-region O14639 1 778
    O14639	UniProtKB	Chain	1	778	.	.	.	ID=PRO_0000075697;Note=Actin-binding LIM protein 1	
    O14639	UniProtKB	Domain	97	156	.	.	.	Note=LIM zinc-binding 1;evidence=ECO:0000255|PROSITE-ProRule:PRU00125	
    O14639	UniProtKB	Domain	156	216	.	.	.	Note=LIM zinc-binding 2;evidence=ECO:0000255|PROSITE-ProRule:PRU00125	
    O14639	Un...

retrieve fasta::

    >tr|S0DS17|S0DS17_GIBF5 Related to cytochrom P450 OS=Gibberella fujikuroi (strain CBS 195.34 / IMI 58289 / NRRL A-6831) GN=FFUJ_00006 PE=3 SV=1
    MSYQSILLRQVNSLCDNLEEVARDENGGLIDMAMQSDYFTFDVMSEVIFGMAYNALKDTS
    YRFVTGALGSSNIRIGTLVQSPLPAMCRIDKY...
    >tr|M5BAG7|M5BAG7_9MICO ABC transporter, fused permease/ABC transporter involved in the biosynthesis of cytochrom bd, fused permease/ATP-binding protein OS=Clavibacter michiganensis subsp. nebraskensis NCPPB 2581 GN=cydC PE=3 SV=1
    MNRDGVLRLAQPPTRRTLPGLLAGLASAVGAVALLATSAWLITRASEQPPILFLGMAIVG
    VRAFALGRAAFRYLERITSHDAAFRALATLRV...
    >tr|A0A077Z587|A0A077Z587_TRITR Kelch 3 and Kelch 4 and Cytochrom B561 domain con taining protein OS=Trichuris trichiura GN=TTRE_0000309301 PE=4 SV=1
    MGSQQAADETQKVVERIILNINVRKDKRSFGLGIKIKKGNVFVSSIRPGSIAEDHFKLYD
    VIKDVNGSRIDSRELCRDLIRTHKVLTV...

-----

This tool is based on the work `Jan Rudolph`_ and the UniProt API.

.. _Jan Rudolph: https://github.com/jdrudolph/uniprot

    ]]></help>
    <citations>
        <citation type="doi">10.1093/nar/gku989</citation>
    </citations>
</tool>