<tool id="prot_features_mouse" name="Add protein features (Mouse)" version="2019.06.27">
<description>[UniProt]
</description>
<requirements>
  <requirement type="package" version="3.4.1">R</requirement>
</requirements>
<stdio>
  <exit_code range="1:" />
</stdio>
<command><![CDATA[

  Rscript $__tool_directory__/add_protein_features_mouse.R 
  --inputtype="$inputtype.filetype"
  --input='$inputtype.genelist'

  #if $inputtype.filetype == "file" 
    --column='$inputtype.column' 
    --header=$inputtype.header
    --output='$output' 
  #else
    --output='$output2'
  #end if

  --pc_features='$pc_features'   
  --uniprot_file=$__tool_directory__/tool-data/uniprot_features_mouse.tsv 
    
]]></command>

<inputs>
  <conditional name="inputtype">
    <param name="filetype" type="select" label="Enter your IDs (UniProt-AC)" help="Copy/paste or from a file" > 
      <option value="file" selected="true">Input file containing your IDs </option>
      <option value="copy_paste">Copy/paste your list of IDs</option> 
    </param>
    <when value="copy_paste">
      <param name="genelist" type="text" label="Enter a list of IDs separated by tab, space or carriage return into the form field" help="">
        <sanitizer invalid_char="">
            <valid initial="string.printable">
                <remove value="&apos;"/>
            </valid>
            <mapping initial="none">
                <add source="&apos;" target="__sq__"/>
                <add source="&#x20;" target=""/>
                <add source="&#xA;" target=""/>
                <add source="&#xD;" target=""/>
                <add source="&#x9;" target=""/>
            </mapping>
        </sanitizer>
      </param>
    </when>
    <when value="file">
      <param name="genelist" type="data" format="txt,tabular" label="Select your file" help=""/>
      <param name="column" type="text" label="Column IDs (e.g : Enter c1 for column n°1)" value="c1">
        <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 input file have header?" />

    </when>
  </conditional>
    <param name="pc_features" type="select" label="Features/Annotation" multiple="true" help="" display="checkboxes" optional="false">
      <option value="Entry name" selected="false">Entry name (e.g. PLK3_MOUSE)</option>
      <option value="Protein names" selected="false">Protein names (e.g. Serine/threonine-protein kinase PLK3 (EC 2.7.11.21))</option>
      <option value="Length" selected="false">Sequence length</option>
      <option value="Mass" selected="false">Molecular Mass (Da)</option>
      <option value="Features" selected="false">Features (e.g. Chain (1); Transmembrane (4))</option>
      <option value="Intramembrane" selected="false">Intramembrane (e.g. INTRAMEM 104 116 Helical; Name=Pore helix 1. {ECO:0000250|UniProtKB:O00180})</option>
      <option value="Transmembrane" selected="false">Transmembrane (e.g. TRANSMEM 1 21 Helical. {ECO:0000255})</option>
      <option value="Topological domain" selected="false">Topological domain (e.g. TOPO_DOM 33 64 Extracellular. {ECO:0000250|UniProtKB:P11169})</option>
      <option value="Pathway" selected="false">Pathway (e.g. Steroid metabolism; cholesterol metabolism)</option>
      <option value="Function [CC]" selected="false">Function (e.g. FUNCTION: Serine/threonine-protein kinase involved in cell cycle regulation)</option>
      <option value="Post-translational modification" selected="false">Post-translational modification (e.g. PTM: Phosphorylation on Ser-300 or Ser-302 and on Ser-420)</option>
      <option value="Subcellular location [CC]" selected="false">Subcellular location (e.g. SUBCELLULAR LOCATION: Secreted)</option>
      <option value="Subunit structure [CC]" selected="false">Subunit structure (e.g. SUBUNIT: Homodimer. Heterodimerizes with YWHAE (By similarity))</option>
      <option value="Domain [CC]" selected="false">Domain (e.g. DOMAIN: The Walker motif (consensus sequence G-X-X-G-X-G-K-[ST]-T) is expected to bind ATP)</option>
      <option value="Tissue specificity" selected="false">Tissue specificity (e.g. TISSUE SPECIFICITY: Highest expression in fat cells {ECO:0000269|PubMed:7629182})</option>
      <option value="Involvement in disease" selected="false">Involvement in disease (e.g. DISEASE: Note=Defects in Btk are the cause of murine X-linked immunodeficiency (XID))</option>     
    </param>
</inputs>

<outputs>
  <data name="output" format="tsv" label="Add_Mouse_ProteinFeatures_UP_on_${inputtype.genelist.name}">
    <filter>inputtype['filetype'] == 'file'</filter>
  </data>
  <data name="output2" format="tsv" label="Add_Mouse_ProteinFeatures_UP">
    <filter>inputtype['filetype'] == 'copy_paste'</filter>
  </data>
</outputs>

<tests>
  <test>
    <conditional name="inputtype">
      <param name="filetype " value="file"/>
      <param name="genelist" value="Wilson-foie-souris-up.txt"/>
      <param name="column" value="c1"/>
      <param name="header" value="true"/>
    </conditional>

    <param name="pc_features" value='Entry name,Protein names,Length,Mass,Features,Intramembrane,Transmembrane,Topological domain,Pathway,Function [CC],Post-translational modification,Subcellular location [CC],Subunit structure [CC],Domain [CC],Tissue specificity,Involvement in disease'/> 
      
    <output name="output2" file="results_wilson-foie-souris-up.tsv"/>
  </test>
</tests>

<help><![CDATA[

**Description**

This tool retrieves annotation (protein features) from the UniProt database (Mouse reference proteome) to enrich your protein IDs list.

-----

**Input**

A list of UniProt Accession Number (e.g. P05090) entered in a copy/paste mode or a file containing one or multiple columns with **at least one column of Uniprot accession number**. If your input file contains other type of IDs, please use the ID_Converter tool.  

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

-----

**Parameters**

"Select features": Select each feature according to your interest by clicking the corresponding checkbox. 

for more information about these features click `here <https://www.uniprot.org/help/uniprotkb_column_names>`_.


-----

**Output**

Output is a tabular file containing both original columns and new columns including the annotation requested.  
Please, note that a "NA" is returned when there is no information available from UniProt.

-----

**Data source (release date)**

Annotations have been retrieved from UniProt.org (release 02/2019).

-----

.. class:: infomark

**Authors**

David Christiany, Lisa Perus, 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>
