view PDAUG_AA_Property_Based_Peptide_Generation/PDAUG_AA_Property_Based_Peptide_Generation.xml @ 9:fadecf370cd1 draft default tip

"planemo upload for repository https://github.com/jaidevjoshi83/pdaug commit d396d7ff89705cc0dd626ed32c45a9f4029b1b05"
author jay
date Wed, 12 Jan 2022 20:40:16 +0000
parents ea405d064794
children
line wrap: on
line source

<tool id="pdaug_aa_property_based_peptide_generation" name="PDAUG AA Property Based Peptide Generation" version="0.1.0">
  <description>Generates peptide sequence library based on amino acid properties</description>

  <requirements>
    <requirement type="package" version="0.24.2">pandas</requirement>
    <requirement type="package" version="4.1.2">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_Generation.py'  '$SelLibGene.LibGene'

                        #if $SelLibGene.LibGene == 'Random'
                            --seq_num '$SelLibGene.seq_num'
                            --lenmin_s '$SelLibGene.lenmin_s'
                            --lenmax_s '$SelLibGene.lenmax_s'
                            --S_proba  '$SelLibGene.S_proba'
                        #end if 

                        #if $SelLibGene.LibGene == 'Helices'
                            --seq_num '$SelLibGene.seq_num'
                            --lenmin_s '$SelLibGene.lenmin_s'
                            --lenmax_s '$SelLibGene.lenmax_s'                 
                        #end if 

                        #if $SelLibGene.LibGene == 'Kinked'
                            --seq_num '$SelLibGene.seq_num'
                            --lenmax_s '$SelLibGene.lenmax_s'
                            --lenmin_s '$SelLibGene.lenmin_s'
                        #end if 

                        #if $SelLibGene.LibGene == 'Oblique'
                            --seq_num '$SelLibGene.seq_num'
                            --lenmax_s '$SelLibGene.lenmax_s'
                            --lenmin_s '$SelLibGene.lenmin_s'
                        #end if 

                        #if $SelLibGene.LibGene == 'Centrosymmetric'
                            --seq_num '$SelLibGene.seq_num'
                            --lenmax_s '$SelLibGene.lenmax_s'
                            --lenmin_s '$SelLibGene.lenmin_s'
                        #end if 

                        #if $SelLibGene.LibGene == 'HelicesACP'
                            --seq_num '$SelLibGene.seq_num'
                            --lenmax_s '$SelLibGene.lenmax_s'
                            --lenmin_s '$SelLibGene.lenmin_s'
                        #end if    

                        #if $SelLibGene.LibGene == 'Hepahelices'
                            --seq_num '$SelLibGene.seq_num'
                            --lenmax_s '$SelLibGene.lenmax_s'
                            --lenmin_s '$SelLibGene.lenmin_s'
                        #end if 

                        #if $SelLibGene.LibGene == 'AMPngrams'
                            --seq_num '$SelLibGene.seq_num'
                            --n_min '$SelLibGene.n_max'
                            --n_max '$SelLibGene.n_min'
                        #end if

                        #if $SelLibGene.LibGene == 'AmphipathicArc' 
                            --seq_num '$SelLibGene.seq_num'
                            --lenmax_s '$SelLibGene.lenmax_s'
                            --lenmin_s '$SelLibGene.lenmin_s'
                            --arcsize '$SelLibGene.arcsize'
                            --hyd_gra '$SelLibGene.hydgra'
                        #end if    


                        #if $SelLibGene.LibGene == 'MixedLibrary' 
                            --seq_num '$SelLibGene.seq_num'
                            --centrosymmetric '$SelLibGene.centrosymmetric'
                            --centroasymmetric '$SelLibGene.centroasymmetric'
                            --helix '$SelLibGene.helix'
                            --kinked '$SelLibGene.kinked'
                            --oblique '$SelLibGene.oblique'
                            --rand '$SelLibGene.rand'
                            --randAMP '$SelLibGene.randAMP'
                            --randAMPnoCM '$SelLibGene.randAMPnoCM'
                        #end if 


                        --OutFasta '$output1'

    ]]></command>


  <inputs>

    <conditional name='SelLibGene' >

        <param name="LibGene" type="select" label="Methods to generate peptide sequence" argument="">
            <option value="AmphipathicArc">AmphipathicArc Peptides</option>
            <option value="AMPngrams">AMPngrams Peptides</option>
            <option value="Centrosymmetric">Centrosymmetric Peptides</option>
            <option value="Helices">Helices Peptides</option>
            <option value="HelicesACP">HelicesACP Peptides</option>
            <option value="Hepahelices">Hepahelices Peptides</option>
            <option value="Kinked">Kinked Peptides</option>
            <option value="Oblique">Oblique Peptides</option>
            <option value="Random">Random Peptides</option>
            <option value="MixedLibrary">MixedLibrary Peptides</option>
        </param>

        <when value="Random">
            <param name="seq_num"  type="integer" value="5" label="Number of peptides" argument= "--seq_num" help="Number of peptides."/>
            <param name="lenmin_s" type="integer" value="7" label="Minimum length" argument="--lenmin_s" help="Minimum length of generated peptides."/>
            <param name="lenmax_s" type="integer" value="21" label="Maximum length" argument="--lenmax_s" help="Maximum length of generated peptides."/>
            <param name="S_proba"  type="float" value="1.0" label="Probability" argument="--S_proba" help="AA probability to be used to generate sequences." />  
        </when>

        <when value="Helices">
            <param name="seq_num"  type="integer" value="5" label="Number of peptides" argument= "--seq_num" help="Number of peptides."/>
            <param name="lenmin_s" type="integer" value="7" label="Minimum length" argument="--lenmin_s" help="Minimum length of generated peptides."/>
            <param name="lenmax_s" type="integer" value="21" label="Maximum length" argument="--lenmax_s" help="Maximum length of generated peptides."/>
        </when>

        <when value="Kinked">
            <param name="seq_num"  type="integer" value="5" label="Number of peptides" argument= "--seq_num" help="Number of peptides."/>
            <param name="lenmin_s" type="integer" value="7" label="Minimum length" argument="--lenmin_s" help="Minimum length of generated peptides."/>
            <param name="lenmax_s" type="integer" value="21" label="Maximum length" argument="--lenmax_s" help="Maximum length of generated peptides."/>
        </when>

        <when value="Oblique">
            <param name="seq_num"  type="integer" value="5" label="Number of peptides" argument= "--seq_num" help="Number of peptides."/>
            <param name="lenmin_s" type="integer" value="7" label="Minimum length" argument="--lenmin_s" help="Minimum length of generated peptides."/>
            <param name="lenmax_s" type="integer" value="21" label="Maximum length" argument="--lenmax_s" help="Maximum length of generated peptides."/>
        </when>

        <when value="Centrosymmetric">
            <param name="seq_num"  type="integer" value="5" label="Number of peptides" argument= "--seq_num" help="Number of peptides."/>
            <param name="lenmin_s" type="integer" value="7" label="Minimum length" argument="--lenmin_s" help="Minimum length of generated peptides."/>
            <param name="lenmax_s" type="integer" value="21" label="Maximum length" argument="--lenmax_s" help="Maximum length of generated peptides."/>
            <param name="symmetry_s" type="select" label="Symmetry" argument="--symmetry_s" help="Type of centrosymmetric sequences. symmetric: builds sequences out of only one block, asymmetric: builds sequences out of different blocks.">
              <option value="asymmetric">asymmetric</option>
              <option value="symmetric" >symmetric</option>
            </param>
        </when>

        <when value="HelicesACP">
            <param name="seq_num"  type="integer" value="5" label="Number of peptides" argument= "--seq_num" help="Number of peptides."/>
            <param name="lenmin_s" type="integer" value="7" label="Minimum length" argument="--lenmin_s" help="Minimum length of generated peptides."/>
            <param name="lenmax_s" type="integer" value="21" label="Maximum length" argument="--lenmax_s" help="Maximum length of generated peptides."/>
        </when>

        <when value="Hepahelices">
            <param name="seq_num"  type="integer" value="5" label="Number of peptides" argument= "--seq_num" help="Number of peptides."/>
            <param name="lenmin_s" type="integer" value="7" label="Minimum length" argument="--lenmin_s" help="Minimum length of generated peptides."/>
            <param name="lenmax_s" type="integer" value="21" label="Maximum length" argument="--lenmax_s" help="Maximum length of generated peptides."/>
        </when>

        <when value="AMPngrams">
            <param name="seq_num"  type="integer" value="5" label="Number of peptides" argument= "--seq_num" help="Number of peptides."/>
            <param name="n_min" type="integer" value="3" label="Minimum length" argument="--n_min_s" help="Minimum length of generated peptides." />
            <param name="n_max" type="integer" value="1" label="Maximum length" argument="--n_max_s" help="Maximum length of generated peptides."/>
        </when>

        <when value="AmphipathicArc">
            <param name="seq_num"  type="integer" value="5" label="Number of peptides" argument= "--seq_num" help="Number of peptides."/>
            <param name="lenmin_s" type="integer" value="7" label="Minimum length" argument="--lenmin_s" help="Minimum length of generated peptides."/>
            <param name="lenmax_s" type="integer" value="21" label="Maximum length" argument="--lenmax_s" help="Maximum length of generated peptides."/>
            <param name="arcsize" type="integer" value="180" label="Arc size" argument="--arcsize" help="Arc size to choose among 100, 140, 180, 220, 260, or choose mixed to generate a mixture."/>
            <param name="hydgra" type="boolean"  value="false" argument="--hyd_gra" label="Hydrophobic gradient" help="Method to mutate the generated sequences to have a hydrophobic gradient by substituting the last third of the sequence amino acids to hydrophobic."/>
        </when>

        <when value="MixedLibrary">

            <param name="seq_num"  type="integer" value="1000" label="Number of peptides" argument= "--seq_num" help="Number of peptides."/>
            <param name="centrosymmetric" type="integer" value="5" label="Ratio of symmetric centrosymmetric sequences in the library" argument="--lenmin_s" help="Ratio of symmetric centrosymmetric sequences in the library"/>
            <param name="centroasymmetric" type="integer" value="5" label="Ratio of asymmetric centrosymmetric sequences" help="Ratio of asymmetric centrosymmetric sequences in the library"/>
            <param name="helix" type="integer" value="3" label="Ratio of asymmetric centrosymmetric sequences"  help="Ratio of asymmetric centrosymmetric sequences in the library"/>
            <param name="kinked" type="integer"  value="3" label="Ratio of kinked" help="Ratio of kinked amphipathic helical sequences in the library"/>
            <param name="oblique" type="integer"  value="2" label="Ratio of oblique" help="Ratio of oblique oriented amphipathic helical sequences in the library"/>
            <param name="rand" type="integer"  value="10" label="Ratio of random sequneces" help="Ratio of random sequneces in the library"/>
            <param name="randAMP" type="integer"  value="10"  label="Ratio of random sequences with APD2 amino acid distribution" help="Ratio of random sequences with APD2 amino acid distribution in the library"/>
            <param name="randAMPnoCM" type="integer" value="5"  label="Ratio of random sequences with APD2 amino acid distribution without Cys and Met in the library" help="Ratio of random sequences with APD2 amino acid distribution in the library"/>

        </when>

    </conditional>
  </inputs>

  <outputs>
        <data name='output1' format='fasta' label="${tool.name} on $on_string - ${SelLibGene.LibGene} (fasta)" />
  </outputs>

  <tests>
    <test>

        <param name="LibGene" value="Random"/>
        <param name="seq_num"  value="5"  />
        <param name="lenmin_s" value="7" />
        <param name="lenmax_s" value="21"  />
        <param name="S_proba"  value="1.0" />
        <output name='output1' file="Out1.fasta" lines_diff='20' /> 

    </test>

    <test>
   
        <param name="LibGene" value="Helices"/>
        <param name="seq_num" value="5" />
        <param name="lenmin_s" value="7" />
        <param name="lenmax_s" value="21" />
        <output name='output1' file="Out2.fasta" lines_diff='20' /> 

    </test>

    <test>

        <param name="LibGene" value="Kinked"/>
        <param name="seq_num"  value="5" />
        <param name="lenmin_s"  value="7" />
        <param name="lenmax_s"  value="21" />
        <output name='output1' file="Out3.fasta" lines_diff='20' /> 

    </test>

    <test>
        <param name="LibGene" value="Oblique"/>
        <param name="seq_num"  value="5" />
        <param name="lenmin_s" value="7"  />
        <param name="lenmax_s" value="21" />
        <output name='output1' file="Out4.fasta"  lines_diff='20' /> 

    </test>

    <test>  

        <param name="LibGene" value="Centrosymmetric"/>
        <param name="seq_num"  value="5"  />
        <param name="lenmin_s" value="7" />
        <param name="lenmax_s" value="21" />
        <param name="symmetry_s" value="asymmetric" />
        <output name='output1' file="Out5.fasta" lines_diff='20' /> 

    </test>

    <test>
        <param name="LibGene" value="HelicesACP"/>
        <param name="seq_num"   value="5" />
        <param name="lenmin_s"  value="7" />
        <param name="lenmax_s" value="21" />
        <output name='output1' file="Out6.fasta" lines_diff='20' /> 

    </test>

    <test>
        <param name="LibGene" value="Hepahelices"/>
        <param name="seq_num"   value="5" />
        <param name="lenmin_s"  value="7" />
        <param name="lenmax_s" value="21" />
        <output name='output1' file="Out7.fasta"  lines_diff='20' /> 

    </test>

    <test>
        <param name="LibGene" value="AMPngrams"/>
        <param name="seq_num"   value="5" />
        <param name="lenmin_s"  value="7" />
        <param name="lenmax_s"  value="21" />
        <output name='output1' file="Out8.fasta" lines_diff='20' /> 

    </test>

    <test>
        <param name="LibGene" value="AmphipathicArc"/>
        <param name="seq_num"   value="5" />
        <param name="lenmin_s"  value="7" />
        <param name="lenmax_s"  value="21" />
        <param name="arcsize"  value="180" />
        <param name="hydgra"  value="false" />
        <output name='output1' file="Out9.fasta" lines_diff='20' /> 

    </test>

  </tests>
    
    <help><![CDATA[
.. class:: infomark

**What it does**

This module incorporates different classes to generate peptide sequences with different characteristics from scratch. The following classes are available  Random, Helices, Kinked, Oblique, Centrosymmetric, AmphipathicArc, HelicesACP, MixedLibrary, Hepahelices, and AMPngrams. 

  * **Random**  Generates random sequences with a specified amino acid distribution.
  * **Helices** Generate presumed amphipathic helical sequences with a hydrophobic moment.
  * **Kinked**  Generates presumed amphipathic helices with a kink (Pro residue).
  * **Oblique** Generates presumed oblique oriented sequences in presence of lipid membranes.
  * **Centrosymmetric** Generates centrosymmetric sequences with a symmetry axis.
  * **AmphipathicArc**  Generates presumed amphipathic helices with controlled hydrophobic arc size.
  * **HelicesACP**  Generates sequences with the amino acid probability of helical ACPs.
  * **MixedLibrary**  Generates a mixed library of sequences of most other classes.
  * **Hepahelices** Generates presumed amphipathic helices with a heparin-binding-domain.
  * **AMPngrams** Generates sequences from most frequent ngrams in the APD3.

-----

**Inputs**
    **1**  Random Peptides   
       * **--seq_num**  Number of sequences to be generated.  
       * **--lenmin_s** Peptide minimum legnth. 
       * **--lenmax_s** Peptide maximum legnth. 
       * **--S_proba**  AA probability to be used to generate sequences. Available from str: AMP, AMPnoCM, rand, randnoCM. You can also provide your own list of porbabilities as a list (in AA order, length 20, sum to 1)
       
    **2** Helice Peptides
       * **--seq_num**  Number of sequence to be generated.  
       * **--lenmin_s** Peptide minimum length. 
       * **--lenmax_s** Peptide maximum length. 

    **3** Kinked Peptides
       * **--seq_num**  Number of sequences to be generated.  
       * **--lenmin_s** Peptide minimum length. 
       * **--lenmax_s** Peptide maximum length. 

    **4** Obliqu Peptides
       * **--seq_num**  Number of sequence to be generated.  
       * **--lenmin_s** Peptide minimum length. 
       * **--lenmax_s** Peptide maximum length. 

    **5** Centrosymmetric Peptides
       * **--seq_num**  Number of sequences to be generated.  
       * **--lenmin_s** Peptide minimum length. 
       * **--lenmax_s** Peptide maximum length. 
       * **--symmetry_s**   symmetry type of centrosymmetric sequences. symmetric: builds sequences out of only one block, asymmetric: builds sequences out of different blocks

    **6** HelicesACP Peptides
       * **--seq_num**  Number of sequences to be generated.  
       * **--lenmin_s** Peptide minimum length. 
       * **--lenmax_s** Peptide maximum length. 

    **7** Hepahelices Peptides
       * **--seq_num**  Number of sequences to be generated.  
       * **--lenmin_s** Peptide minimum length. 
       * **--lenmax_s** Peptide maximum length. 

    **7** AMPngrams Peptides
       * **--seq_num**  Number of sequence to be generated.  
       * **--lenmin_s** Peptide minimum length. 
       * **--lenmax_s** Peptide maximum length. 

    **9** AmphipathicArc Peptides
       * **--seq_num**  Number of sequence to be generated.  
       * **--lenmin_s** Peptide minimum length. 
       * **--lenmax_s** Peptide maximum lenngth. 
       * **--arcsize** Choose among 100, 140, 180, 220, 260, or choose mixed to generate a mixture

    **10** MixedLibrary Peptides
      * **Todo**

-----


**Outputs**
    * Returns fasta files with peptide sequences.]]></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>