view PDAUG_AA_Property_Based_Peptide_Descriptor/PDAUG_AA_Property_Based_Peptide_Descriptor.xml @ 1:ce7100c6884f draft

"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit 3c91f421d26c8f42cf2671e47db735d2cf69dde8"
author jay
date Tue, 29 Dec 2020 04:27:12 +0000
parents fbd01647d7e6
children 8158a2f59371
line wrap: on
line source

<tool id="pdaug_aa_property_based_peptide_descriptor" name="PDAUG AA Property Based Peptide Descriptor" version="0.1.0">
  <description>Calculates amino acid property based peptide descriptors</description>

  <requirements>
    <requirement type="package" version="0.24.2">pandas</requirement>
    <requirement type="package" version="4.2.1">modlamp</requirement> 
  </requirements>
  <stdio>
    <exit_code range="1" level="fatal" />
  </stdio>
    <command detect_errors="exit_code"><![CDATA[


        python '$__tool_directory__/PDAUG_AA_Property_Based_Peptide_Descriptor.py'  '$SelDescriptor.Descriptor'

        				--InFile '$InFile'

                        #if $SelDescriptor.Descriptor == 'AutoCorrCal'
                            --WindowSize '$SelDescriptor.WindowSize'
                            --ScaleName '$SelDescriptor.ScaleName'
                        #end if 

                        #if $SelDescriptor.Descriptor == 'CrossCorrCal'
                            --WindowSize '$SelDescriptor.WindowSize'
                            --ScaleName '$SelDescriptor.ScaleName'
                        #end if 

                        #if $SelDescriptor.Descriptor == 'CalculateMovement'
                            --WindowSize '$SelDescriptor.WindowSize'
                            --Angle '$SelDescriptor.Angle'
                            --Modality '$SelDescriptor.Modality'
                            --ScaleName '$SelDescriptor.ScaleName'
                        #end if 

                        #if $SelDescriptor.Descriptor == 'GlobalCal'
                            --WindowSize '$SelDescriptor.WindowSize'
                            --Modality '$SelDescriptor.Modality'
                            --ScaleName '$SelDescriptor.ScaleName'
                        #end if 

                        #if $SelDescriptor.Descriptor == 'ProfileCal'
                            --ProfType '$SelDescriptor.ProfType'
                            --WindowSize '$SelDescriptor.WindowSize'
                            --ScaleName '$SelDescriptor.ScaleName'
                        #end if 

                        #if $SelDescriptor.Descriptor == 'ArcCal'
                            --Modality '$SelDescriptor.Modality'
                        #end if    

                        --OutFile '$output1'

    ]]></command>


  <inputs>


  	<param name="InFile" type="data" label="Input fasta file" format="fasta" argument= "--InFile" help="Input fasta file with peptide sequence"/>

    <conditional name='SelDescriptor' >

        <param name="Descriptor" type="select" label="Descriptor type" argument="">
          <option value="AutoCorrCal">AutoCorrCal</option>
          <option value="CrossCorrCal">CrossCorCal</option>
          <option value="CalculateMovement">CalculateMovement</option>
          <option value="GlobalCal">GlobalCal</option>
          <option value="ProfileCal">ProfileCal</option>
          <option value="ArcCal">ArcCal</option>
        </param>

        <when value="AutoCorrCal">          
            <param name="WindowSize" type="integer" label="Correlation window" value="7" argument="--WindowSize" help="Correlation window for descriptor calculation in a sliding window approach" />
            <param name="ScaleName"  type="text" label="AA Scale Name" value="Eisenberg" argument="--ScaleName" help="Name of the amino acid scale to be loaded."/>
        </when>

        <when value="CrossCorrCal">
            <param name="WindowSize" type="integer" label="Correlation window" value="7" argument="--WindowSize" help="correlation window for descriptor calculation in a sliding window approach" />
            <param name="ScaleName"  type="text" value="Eisenberg" label="AA Scale Name" argument="--ScaleName" help="Name of the amino acid scale to be loaded."/>
        </when>

        <when value="CalculateMovement">
            <param name="WindowSize" type="integer" label="AA window" value="1000" argument="--WindowSize" help="Amino acid (AA) window in which to calculate the moment."/>
            <param name="Angle" type="integer" label="Angle" value="100" argument="--Angle" help=" Angle in which to calculate the moment. 100 for alpha helices, 180 for beta sheets."/>
            <param name="Modality" type="select" argument="--Modality" label="Modality" help="Calculate respectively maximum or mean hydrophobic moment. If all, moments for all windows are returned.">
               <option value="all"> All</option>
               <option value="max" selected="true">Max</option>
               <option value="mean">Mean</option>
            </param>
            <param name="ScaleName"  type="text" value="Eisenberg" label = "AA scale name" argument="--ScaleName" help="Name of the amino acid scale to be loaded."/>
        </when>

        <when value="GlobalCal">
            <param name="WindowSize" type="integer" value="1000" argument="--lenmin_s" label="AA window " help="Amino acid(AA) window in which to calculate the moment. If the sequence is shorter than the window, the length of the sequence is taken"/>
            <param name="Modality" type="select" argument="--Modality" label="Modality" help="Calculate respectively maximum or mean hydrophobic moment.">
               <option value="max" selected="true">Max</option>
               <option value="mean">Mean</option>
              </param>
            <param name="ScaleName"  type="text" value="Eisenberg" label = "AA scale name" argument="--ScaleName" help="Name of the amino acid scale to be loaded."/>

        </when>

        <when value="ProfileCal">
            <param name="ProfType" type="select" argument="--ProfType" label="Profile type" help="Profile type of profile, available: ‘H’ for hydrophobicity or ‘uH’ for hydrophobic moment" >
               <option value="H" selected="true">H</option>
               <option value="uH">uH</option>
              </param>

            <param name="WindowSize" type="integer" value="7" argument="--lenmin_s" label="Window Size" help="Size of sliding window used"/>
            <param name="ScaleName"  value="Eisenberg"  type="text" label = "AA scale name" argument="--ScaleName" help="Name of the amino acid scale to be loaded."/>
        </when>

        <when value="ArcCal">
          <param name="Modality" type="select" argument="--Modality" label="Modality" help="modality of the arc to calculate, to choose between max and mean.">
             <option value="max" selected="true">Max</option>
             <option value="mean">Mean</option>
          </param>
        </when>
    </conditional>
  </inputs>


  <outputs>
        <data name='output1' format='tabular' label="${tool.name} on $on_string - ${SelDescriptor.Descriptor} (tabular)" />
  </outputs>
  <tests>
    <test>
      <param name="InFile" value="test.fasta"/>
      <param name="Descriptor" value="AutoCorrCal"/>
      <param name="WindowSize" value="7"/>
      <param name="ScaleName" value="Eisenberg"/>
      <output name="output1" file="out1.tsv"/>
    </test>
    <test>
      <param name="InFile" value="test.fasta"/>
      <param name="Descriptor" value="CrossCorrCal"/>
      <param name="WindowSize" value="7"/>
      <param name="ScaleName" value="Eisenberg"/>
      <output name="output1" file="out2.tsv"/>
    </test>
    <test>
      <param name="InFile" value="test.fasta"/>
      <param name="Descriptor" value="CalculateMovement"/>
      <param name="WindowSize" value="1000"/>
      <param name="ScaleName" value="Eisenberg"/>
      <param name="Angle" value="100"/>
      <param name="Modality" value="max"/>
      <output name="output1" file="out3.tsv"/>
    </test>
    <test>
      <param name="InFile" value="test.fasta"/>
      <param name="Descriptor" value="GlobalCal"/>
      <param name="WindowSize" value="1000"/>
      <param name="ScaleName" value="Eisenberg"/>
      <param name="Modality" value="max"/>
      <output name="output1" file="out4.tsv"/>
    </test>

    <test>
      <param name="InFile" value="test.fasta"/>
      <param name="Descriptor" value="ProfileCal"/>
      <param name="WindowSize" value="7"/>
      <param name="ScaleName" value="Eisenberg"/>
      <param name="ProfType" value="H"/>
      <output name="output1" file="out5.tsv"/>
    </test>

    <test>
      <param name="InFile" value="test.fasta"/>
      <param name="Descriptor" value="ArcCal"/>
      <param name="Modality" value="max"/>
      <output name="output1" file="out6.tsv"/>
    </test>
  </tests>
    <help><![CDATA[
.. class:: infomark

**What it does**

    This tool calculates 6 different types of peptide descriptors.

      * **AutoCorCal** This option calculates descriptor via auto-correlating the amino acid values for a given descriptor scale. 
      * **CrosCorCal** This option calculates descriptor via cross-correlating the amino acid values for a given descriptor scale. 
      * **CalculateMovement** This option calculates descriptor based on the maximum or mean movement of the amino acid values for a given descriptor scale and window.
      * **GlobalCal** This option calculates descriptors via calculating a global / window averaging descriptor value of a given AA scale.
      * **ProfileCal** This tool calculates description via calculating hydrophobicity or hydrophobic moment profiles for given sequences and fitting for slope and intercept.
      * **ArcCal** This option calculates descriptors via calculating property arcs as seen in the helical wheel plot. This method work for binary amino acid scales only.

-----

**Inputs**
    **1**  AutoCorrCal    
       * **--Infile** Input fasta file with peptides. 
       * **--WindowSize**  Correlation window for descriptor calculation in a sliding window approach.  
       * **--ScaleName** Method to load amino acid values from a given scale.

    **2** CrossCorrCal
       * **--Infile** Input fasta file with peptides. 
       * **--WindowSize**  Correlation window for descriptor calculation in a sliding window approach  
       * **--ScaleName** Method to load amino acid values from a given scale.

    **3** CalculateMovement
       * **--Infile** Input fasta file with peptides. 
       * **--WindowSize**  Amino acid window in which to calculate the moment. If the sequence is shorter than the window, the length of the sequence is taken. So if the default window of 1000 is chosen, for all sequences shorter than 1000, the global hydrophobic moment will be calculated. Otherwise, the maximal hydrophiobic moment for the chosen window size found in the sequence will be returned.  
       * **--ScaleName** Method to load amino acid values from a given scale.
       * **--Angle** Angle in which to calculate the moment. 100 for alpha-helices, 180 for beta sheets.
       * **--Modality** Calculate respectively maximum or mean hydrophobic moment. If all, moments for all windows are returned.

    **4** GlobalCal
       * **--Infile** Input fasta file with peptides. 
       * **--Modality** Calculate respectively maximum or mean hydrophobic moment.
       * **--WindowSize** amino acid window in which to calculate the moment. If the sequence is shorter than the window, the length of the sequence is taken.  
       * **--ScaleName** Method to load amino acid values from a given scale.

    **5** ProfileCal
       * **--Infile** Input fasta file with peptides. 
       * **--Infile** Input fasta file with peptides.  
       * **--ProfType** prof_type of the profile, available: ‘H’ for hydrophobicity or ‘uH’ for a hydrophobic moment
       * **--WindowSize** {int} size of sliding window used (odd-numbered).

    **6** ArcCal
       * **--Modality**  Modality of the arc to calculate, to choose between “max” and “mean”.

-----

**Outputs**
    * Return tabular file with the descriptors.]]></help>


<citations>
  <citation type="bibtex">
    @misc{PDAUGGITHUB, 
      author = {Joshi, Jayadev  and Blankenberg, Daniel}, 
      year = {2020}, 
      title ={PDAUG - a Galaxy based toolset for peptide library analysis, visualization, and machine learning modeling}, 
      publisher = {GitHub}, 
      journal = {GitHub repository}, 
      url =
      {https://github.com/jaidevjoshi83/pdaug.git}, 
    }
</citation>

  <citation type="bibtex">
    @article{müller_gabernet_hiss_schneider_2017, 
      title={modlAMP: Python for antimicrobial peptides}, 
      volume={33}, 
      DOI={10.1093/bioinformatics/btx285}, 
      number={17}, 
      journal={Bioinformatics}, 
      author={Müller, Alex T and Gabernet, Gisela and Hiss, Jan A and Schneider, Gisbert}, 
      year={2017}, 
      pages={2753–2755}
    }
  </citation>

</citations>

</tool>