view unipept.xml @ 1:0c1ee95282fa draft

Uploaded
author galaxyp
date Tue, 14 Apr 2015 16:44:22 -0400
parents 6430407e5869
children 503ab8a39006
line wrap: on
line source

<tool id="unipept" name="Unipept" version="1.1.0">
    <description>retrieve taxonomy for peptides</description>
    <macros>
        <xml name="equate_il">
            <param name="equate_il" type="boolean" truevalue="-e" falsevalue="" checked="true" label="Equate isoleucine and leucine">
                <help>isoleucine (I) and leucine (L) are equated when matching tryptic peptides to UniProt records</help>
            </param >
        </xml>
        <xml name="extra">
            <param name="extra" type="boolean" truevalue="-x" falsevalue="" checked="false" label="retrieve extra information">
                <yield/>
            </param >
        </xml>
        <xml name="names">
            <param name="names" type="boolean" truevalue="-n" falsevalue="" checked="true" label="names" >
                <help>return the names in complete taxonomic lineage</help>
            </param >
            <param name="allfields" type="boolean" truevalue="-A" falsevalue="" checked="false" label="allfields" >
                <help>include fields for most specific taxonomic classification: taxon_rank,taxon_id,taxon_name before lineage</help>
            </param >
        </xml>
    </macros>
    <requirements>
    </requirements>
    <stdio>
        <exit_code range="1:" />
    </stdio>
    <command interpreter="python"><![CDATA[
      unipept.py 
      --api=$unipept.api
      $unipept.equate_il $unipept.extra 
      #if $unipept.api != 'pept2prot':
        $unipept.names $unipept.allfields
      #end if
      $strict
      #if str($peptide_src.fmt) == 'proteomic':
        #if $peptide_src.input.datatype.file_ext == 'fasta':
          --fasta="$peptide_src.input"
        #elif $peptide_src.input.datatype.file_ext == 'mzid':
          --mzid="$peptide_src.input"
        #elif $peptide_src.input.datatype.file_ext == 'pepxml':
          --pepxml="$peptide_src.input"
        #end if
      #elif str($peptide_src.fmt) == 'tabular':
        --tabular="$peptide_src.input_tsv"
        #set $col = int(str($peptide_src.column)) - 1
        --column=$col
      #elif str($peptide_src.fmt) == 'fasta':
        --fasta="$peptide_src.input_fasta"
      #elif str($peptide_src.fmt) == 'mzid':
        --mzid="$peptide_src.input_mzid"
      #elif str($peptide_src.fmt) == 'pepxml':
        --pepxml="$peptide_src.input_pepxml"
      #end if
      #if 'json' in str($outputs).split(','):
        --json $output_json
      #end if
      #if 'tsv' in str($outputs).split(','):
        --tsv $output_tsv
      #end if
      #if 'csv' in str($outputs).split(','):
        --csv $output_csv
      #end if
      #if 'unmatched' in str($outputs).split(','):
        --unmatched $output_unmatched
      #end if
    ]]></command>
    <inputs>
      <conditional name="unipept">
          <param name="api" type="select" label="Unipept application" >
              <option value="pept2lca" selected="true">pept2lca: lowest common ancestor</option>
              <option value="pept2taxa">pept2taxa: organisms associated with the UniProt entries containing a given tryptic peptide</option>
              <option value="pept2prot">pept2prot: UniProt entries containing a given tryptic peptide</option>
          </param>
          <when value="pept2lca">
              <expand macro="equate_il" />
              <expand macro="extra">
                  <help>Return the complete lineage of the taxonomic lowest common ancestor, and include ID fields.</help>
              </expand>
              <expand macro="names" />
          </when>
          <when value="pept2taxa">
              <expand macro="equate_il" />
              <expand macro="extra">
                  <checked>true</checked>
                  <help>Return the complete lineage of each organism, and include ID fields.</help>
              </expand>
              <expand macro="names" />
          </when>
          <when value="pept2prot">
              <expand macro="equate_il" />
              <expand macro="extra">
                  <help>Return additional information fields: taxon_name, ec_references, go_references, refseq_ids, refseq_protein_ids, insdc_ids, insdc_protein_ids
                        WARNING: Huge perfomance penalty!  Only use for small number of peptides when the extra infomation is required.
                  </help>
              </expand>
          </when>
      </conditional>
      <conditional name="peptide_src">
        <param name="fmt" type="select" label="Peptides input format" >
          <option value="proteomic">proteomics formats:  mzid, pepxml, fasta</option>
          <option value="tabular">tabular</option>
          <option value="fasta">fasta</option>
          <option value="mzid">mzid</option>
          <option value="pepxml">pepxml</option>
        </param>
        <when value="proteomic">
          <param name="input" type="data" format="mzid,pepxml,fasta" label="Peptide Input" />
        </when>
        <when value="tabular">
          <param name="input_tsv" type="data" format="tabular" label="Tabular Input Containing Peptide column" />
          <param name="column" label="Select column with peptides" type="data_column" numerical="false" data_ref="input_tsv" />
        </when>
        <when value="fasta">
          <param name="input_fasta" type="data" format="fasta" label="Peptide Fasta Input" />
        </when>
        <when value="mzid">
          <param name="input_mzid" type="data" format="mzid" label="mzIndetML Input" />
        </when>
        <when value="pepxml">
          <param name="input_pepxml" type="data" format="pepxml" label="mzIndetML Input" />
        </when>
      </conditional>
      <param name="outputs" type="select" multiple="true" display="checkboxes" label="Choose outputs">
        <option value="tsv" selected="true">tabular</option>
        <option value="csv">Comma Separated Values (.csv)</option>
        <option value="json">JSON</option>
        <option value="unmatched">Unmatched peptides</option>
      </param>
      <param name="strict" type="boolean" truevalue="--strict" falsevalue="" checked="false" label="Exit with error on invalid peptides, otherwise ignore them"/>
    </inputs>
    <outputs>
      <data name="output_json" format="json" label="${tool.name} ${unipept.api} on ${on_string} json"> 
        <filter>'json' in outputs</filter>
      </data> 
      <data name="output_tsv" format="tabular" label="${tool.name} ${unipept.api} on ${on_string} tsv"> 
        <filter>'tsv' in outputs</filter>
      </data> 
      <data name="output_csv" format="csv" label="${tool.name} ${unipept.api} on ${on_string} csv"> 
        <filter>'csv' in outputs</filter>
      </data> 
      <data name="output_unmatched" format="tabular" label="${tool.name} ${unipept.api} on ${on_string} unmatched"> 
        <filter>'unmatched' in outputs</filter>
      </data> 
    </outputs>
    <tests>
      <test>
        <param name="api" value="pept2lca"/>
        <param name="fmt" value="tabular"/>
        <param name="input_tsv" value="tryptic.tsv"/>
        <param name="column" value="2"/>
        <param name="extra" value="True"/>
        <param name="names" value="True"/>
        <param name="outputs" value="tsv,unmatched"/>
        <output name="output_tsv">
            <assert_contents>
              <has_text text="Homininae" />
            </assert_contents>
        </output>
        <output name="output_unmatched">
            <assert_contents>
              <has_text text="QTAMAV" />
            </assert_contents>
        </output>
      </test>
      <test>
        <param name="api" value="pept2lca"/>
        <param name="fmt" value="fasta"/>
        <param name="input_fasta" value="peptide.fa"/>
        <param name="equate_il" value="True"/>
        <param name="extra" value="True"/>
        <param name="names" value="True"/>
        <param name="outputs" value="json,tsv"/>
        <output name="output_json">
            <assert_contents>
              <has_text text="VMDVNDHKPEFYNCSLPACTFTPEEAQVNFTGYVDEHASPHIPIDDLTMVVYDPDKGSNGTFLLSLGGPDAEAFSVSPERAAGSASVQVLVRVSALVDYERQTAMAV" />
            </assert_contents>
        </output>
        <output name="output_tsv">
            <assert_contents>
              <has_text text="9606" />
              <has_text text="9598" />
            </assert_contents>
        </output>
      </test>
      <test>
        <param name="api" value="pept2taxa"/>
        <param name="fmt" value="fasta"/>
        <param name="input_fasta" value="peptide.fa"/>
        <param name="equate_il" value="True"/>
        <param name="extra" value="False"/>
        <param name="names" value="False"/>
        <param name="outputs" value="tsv"/>
        <output name="output_tsv">
            <assert_contents>
              <has_text text="sapiens" />
              <has_text text="troglodytes" />
              <has_text text="Gorilla" />
              <has_text text="Macaca" />
            </assert_contents>
        </output>
      </test>
    </tests>
    <help><![CDATA[
    **Unipept** 

    Retrieve Uniprot and taxanomic information for trypic peptides.
    
    Unipept API documentation - http://unipept.ugent.be/apidocs 

    **Input**

    Input peptides can be retrieved from tabular, fasta, mzid, or pepxml datasets.  
 
    Processing deatils::

        The input peptides are split into typtic peptide fragments in order to match the Unipept records.   
        Only fragments that are complete tryptic peptides between 5 and 50 animo acid in length will be matched by Unipept.
        The match to the most specific tryptic fragment is reported.


    **Unipept APIs**

    **pept2prot**  - http://unipept.ugent.be/apidocs/pept2prot

    Returns the list of UniProt entries containing a given tryptic peptide. This is the same information as provided on the Protein matches tab when performing a search with the Tryptic Peptide Analysis in the web interface. 

    By default, each object contains the following information fields extracted from the UniProt record::

        peptide: the peptide that matched this record
        uniprot_id: the UniProt accession number of the matching record
        taxon_id: the NCBI taxon id of the organism associated with the matching record

    When the extra parameter is set to true, objects contain the following additional fields extracted from the UniProt record::

        taxon_name: the name of the organism associated with the matching UniProt record
        ec_references: a space separated list of associated EC numbers
        go_references: a space separated list of associated GO terms
        refseq_ids: a space separated list of associated RefSeq accession numbers
        refseq_protein_ids: a space separated list of associated RefSeq protein accession numbers
        insdc_ids: a space separated list of associated insdc accession numbers
        insdc_protein_ids: a space separated list of associated insdc protein accession numbers


    **pept2taxa**  - http://unipept.ugent.be/apidocs/pept2taxa

    Returns the set of organisms associated with the UniProt entries containing a given tryptic peptide. This is the same information as provided on the Lineage table tab when performing a search with the Tryptic Peptide Analysis in the web interface.

    By default, each object contains the following information fields extracted from the UniProt record and NCBI taxonomy::

        peptide: the peptide that matched this record
        taxon_id: the NCBI taxon id of the organism associated with the matching record
        taxon_name: the name of the organism associated with the matching record
        taxon_rank: the taxonomic rank of the organism associated with the matching record

    When the extra parameter is set to true, objects contain additional information about the lineages of the organism extracted from the NCBI taxonomy. The taxon id of each rank in the lineage is specified using the following information fields::

        superkingdom_id
        kingdom_id
        subkingdom_id
        superphylum_id
        phylum_id
        subphylum_id
        superclass_id
        class_id
        subclass_id
        infraclass_id
        superorder_id
        order_id
        suborder_id
        infraorder_id
        parvorder_id
        superfamily_id
        family_id
        subfamily_id
        tribe_id
        subtribe_id
        genus_id
        subgenus_id
        species_group_id
        species_subgroup_id
        species_id
        subspecies_id
        varietas_id
        forma_id


    **pept2lca**  - http://unipept.ugent.be/apidocs/pept2lca

    Returns the taxonomic lowest common ancestor for a given tryptic peptide. This is the same information as provided when performing a search with the Tryptic Peptide Analysis in the web interface.

    By default, each object contains the following information fields extracted from the UniProt record and NCBI taxonomy::

        peptide: the peptide that matched this record
        taxon_id: the NCBI taxon id of the organism associated with the matching record
        taxon_name: the name of the organism associated with the matching record
        taxon_rank: the taxonomic rank of the organism associated with the matching record

    When the extra parameter is set to true, objects contain additional information about the lineage of the taxonomic lowest common ancestor extracted from the NCBI taxonomy. The taxon id of each rank in the lineage is specified using the following information fields::

        superkingdom_id
        kingdom_id
        subkingdom_id
        superphylum_id
        phylum_id
        subphylum_id
        superclass_id
        class_id
        subclass_id
        infraclass_id
        superorder_id
        order_id
        suborder_id
        infraorder_id
        parvorder_id
        superfamily_id
        family_id
        subfamily_id
        tribe_id
        subtribe_id
        genus_id
        subgenus_id
        species_group_id
        species_subgroup_id
        species_id
        subspecies_id
        varietas_id
        forma_id


    **Attributions**

    The Unipept metaproteomics analysis pipeline
    Bart Mesuere1,*, Griet Debyser2, Maarten Aerts3, Bart Devreese2, Peter Vandamme3 andPeter Dawyndt1
    Article first published online: 11 FEB 2015
    DOI: 10.1002/pmic.201400361
    http://onlinelibrary.wiley.com/doi/10.1002/pmic.201400361/abstract;jsessionid=BFF1994E4C14DA73D7C907EB208AD710.f04t04

    ]]></help>
  <citations>
    <citation type="doi">doi:10.1002/pmic.201400361</citation>
  </citations>

</tool>