view rnasubopt.xml @ 1:1cd27edcfc4a draft

planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/vienna_rna commit 14f0b39f64982773ef0367379b915f742eabcc1b
author rnateam
date Wed, 21 Dec 2016 17:34:14 -0500
parents 58fe85fe08be
children 685d5971df5b
line wrap: on
line source

<tool id="viennarna_rnasubopt" name="@EXECUTABLE@" version="@VERSION@.0">
    <description>Calculates suboptimal secondary structures of RNAs</description>
    <macros>
        <token name="@EXECUTABLE@">RNAsubopt</token>
        <import>macros.xml</import>
    </macros>
    <expand macro="requirements" />
    <expand macro="stdio" />
    <expand macro="version_command" />
    <command>
<![CDATA[
    RNAsubopt < '$input' > '$output'
    -T$temperature
    --dangles=$dangling
    #if $methodOption.methodSelector == "range"
        --deltaEnergy=$methodOption.deltaenergy
    #else
        --stochBT=$methodOption.stochastic
    #end if
    #if $outputOption.outputSelector == "yes"
        --deltaEnergyPost=$deltaenergypost
    #end if
    $sorted
    $dos
    $zuker
    #if $varExists('$advancedOptions.nolp')
        $advancedOptions.noconversion
        $advancedOptions.nolp
        $advancedOptions.nogu
        $advancedOptions.noclosinggu
        $advancedOptions.notetra
        $advancedOptions.logml
    #end if
    #if $constraints.maxBPspan <> -1
        --maxBPspan=$constraints.maxBPspan
    #end if
    #if str($constraints.constraintLocation.constraintSelector) == "fromFile"
        --constraint='$constraints.constraintLocation.constraintsFile'
        $constraints.constraintLocation.canonicalBPonly
        $constraints.constraintLocation.enforceConstraint
    #end if
    #if str($constraints.shapeOption.shapeSelector) == "isUsed"
        --shape='$constraints.shapeOption.shapeFile'
        #if str($constraints.shapeOption.shapeMethod.methodSelector) == "W"
            #set $s="W"
            --shapeMethod=$s
        #else if str($constraints.shapeOption.shapeMethod.methodSelector) == "Z"
            #set $s="Zb"+str($constraints.shapeOption.shapeMethod.b)
            --shapeMethod=$s
            #if str($constraints.shapeOption.shapeMethod.shapeConversion.conversionSelector) == "C"
                #set $c="C"+str($constraints.shapeOption.shapeMethod.shapeConversion.c)
                --shapeConversion=$c
            #else if str($constraints.shapeOption.shapeMethod.shapeConversion.conversionSelector) == "L"
                #set $c="Ls"+str($constraints.shapeOption.shapeMethod.shapeConversion.s)+"i"+ str($constraints.shapeOption.shapeMethod.shapeConversion.i)
                --shapeConversion=$c
            #else if str($constraints.shapeOption.shapeMethod.shapeConversion.conversionSelector) == "O"
                #set $c="Os"+str($constraints.shapeOption.shapeMethod.shapeConversion.s)+"i"+ str($constraints.shapeOption.shapeMethod.shapeConversion.i)
                --shapeConversion=$c
            #else
                #set $c=str($constraints.shapeOption.shapeMethod.shapeConversion.conversionSelector)
                --shapeConversion=$c
            #end if
        #else if str($constraints.shapeOption.shapeMethod.methodSelector) == "D"
            #set $s="Dm"+str($constraints.shapeOption.shapeMethod.m)+"b"+str($constraints.shapeOption.shapeMethod.b)
            --shapeMethod=$s
        #end if
    #end if
]]>
    </command>

    <inputs>
        <param format="fasta" name="input" type="data" label="Fasta file"/>
        <param name="temperature" type="float" value="37.0" label="temperature [°C]" help="-T"/>
        <param name="dangling" type="select" label="how to treat dangling end energies" help="-d">
            <option value="2" selected="true">unpaired bases participate in all dangling ends (2)</option>
            <option value="0">ignore dangling ends (0)</option>
            <option value="1">unpaired bases participate in one dangling end only (1)</option>
            <option value="3">allow coaxial stacking (3)</option>
        </param>
        
        <param name="sorted" type="boolean" truevalue="--sorted" falsevalue="" checked="false" label="Sort the secondary structures by energy" help="--sorted"/>
        <param name="dos" type="boolean" truevalue="--dos" falsevalue="" checked="false" label="Calculate the density of states instead of the structure" help="--dos"/>
        <param name="zuker" type="boolean" truevalue="--zuker" falsevalue="" checked="false" label="Calculate the Zuker suboptimals instead of the structures within a range." help="--zuker"/>

        <conditional name="methodOption">
            <param name="methodSelector" type="select" label="select algorithm">
                <option value="range" selected="true">energy range</option>
                <option value="stochastic">choose stochastically</option>
            </param>
            <when value="stochastic">
                <param name="stochastic"  type="integer" value="1" label="Calculate this number of suboptimal structures chosen stochastically" help="--stochBT"/>
            </when>
            <when value="range">
                <param name="deltaenergy" type="float" optional="true" label="Range of energy for the suboptimal structures." help="--deltaEnergy"/>
            </when>
        </conditional>

        <conditional name="outputOption">
            <param name="outputSelector" type="select" label="select output restriction">
                <option value="no" selected="true">no restriction</option>
                <option value="yes">restricted output</option>
            </param>
            <when value="no"/>
            <when value="yes">
                <param name="deltaenergypost" type="float" value="0.0" label="Print only those structures that have a smaller difference in energy than the mfe." help="--deltaEnergyPost"/>
            </when>
        </conditional>

        <conditional name="advancedOptions">
            <param name="advancedSelector" type="select" label="advanced options">
                <option value="basic">basic Options</option>
                <option value="advanced">advanced Options</option>
            </param>
            <when value="advanced">
                <param name="circ" type="boolean" truevalue="--circ" falsevalue="" checked="false" label="Assume circular RNA structure" help="--circ"/>
                <param name="nolp" type="boolean" truevalue="" falsevalue="--noLP" checked="true" label="Allow lonely base-pairs" help="(--noLP)"/>
                <param name="nogu" type="boolean" truevalue="" falsevalue="--noGU" checked="true" label="Allow GU pairing" help="--noGU"/>
                <param name="noclosinggu" type="boolean" truevalue="" falsevalue="--noClosingGU" checked="true" label="Allow GU pairing at the ends" help="Allow pairing of G and U at the ends of helices. --noClosingGU"/>
                <param name="notetra" type="boolean" truevalue="" falsevalue="--noTetra" checked="true" label="Allow stabilization for loops, hairpins etc." help=" Include special tabulated stabilizing energies for tri-, tetra- and hexaloop hairpins. Mostly for testing. (--noTetra)"/>
                <param name="noconversion" type="boolean" truevalue="" falsevalue="--noconv" checked="true" label="Convert Thymine to Uracil (T -> U)" help="Avoids confusion with DNA sequences (--noconv)"/>                
                <param name="logml" type="boolean" truevalue="--logML" falsevalue="" checked="false" label="Recalculate energies of structures using a logarithmic energy function for multi-loops" help="--logML"/>
            </when>
            <when value="basic">
            </when>
        </conditional>
        
        <section name="constraints" title="Structure constraints">
            <param name="maxBPspan" type="integer" value="-1" label="Set the maximum base pair span" help="" argument="--maxBPspan"/>
            <conditional name="constraintLocation">
                <param name="constraintSelector" type="select" label="Constraints">
                    <!-- <option value="fromInput">The constraints are included in the input file</option> -->
                    <option value="fromFile">The constraints are in a seperate file</option>
                    <option value="none" selected="true">Don't use constraints</option>
                </param>
            <!--	<when value="fromInput"></when> -->
                <when value="none"></when>
                <when value="fromFile">
                    <param name="constraintsFile" type="data" format="*" label="Constraints file" argument="--constraint"/>
                    <param argument="--canonicalBPonly" type="boolean" truevalue="--canonicalBPonly" falsevalue="" checked="false" label="Remove non-canonical base pairs from the structure constraint" />
                    <param argument="--enforceConstraint" type="boolean" truevalue="--enforceConstraint" falsevalue="" checked="false" label="Enforce base pair given by round brackets () in structure constraint" />
                </when>
            </conditional>
            
          <conditional name="shapeOption">
                <param name="shapeSelector" type="select" label="Shape reactivity data">
                    <option value="isUsed">Use shape reactivity data</option>
                    <option value="notUsed" selected="true">Don't use shape reactivity data</option>
                </param>
                <when value ="isUsed">
                    <param type="data" name="shapeFile" format="shape,*" label="Shape file" argument="--shape"/>
                    <conditional name="shapeMethod">
                        <param name="methodSelector" type="select" label="Shape reactivity data" argument="--shapeMethod">
                            <option value="D" selected="true">D: Convert by using a linear equation according to Deigan et al 2009</option>
                            <option value="Z">Z: Convert SHAPE reactivities to pseudo energies according to Zarringhalam et al 2012.</option>
                            <option value="W">W: Apply a given vector of perturbation energies to unpaired nucleotides according to Washietl et al 2012</option>
                        </param>
                        <when value="D">
                            <param name="m" type="float" value="1.8" label="Slope m"/>
                            <param name="b" type="float" value="-0.6" label="Intercept"/>
                        </when>
                        <when value="Z">
                            <param name="b" type="float" value="-0.6" label="Intercept"/>
                            <conditional name="shapeConversion">
                                <param name="conversionSelector" type="select" label="shape reactivity data" argument="--shapeConversion">
                                    <option value="M">M: Use linear mapping according to Zarringhalam et al</option>
                                    <option value="C">C: Use a cutoff−approach to divide into paired and unpaired nucleotides</option>
                                    <option value="S">S: Skip the normalizing step since the input data already represents probabilities for being unpaired rather than raw reactivity values</option>
                                    <option value="L">L: Use a linear model to convert the reactivity into a probability for being unpaired</option>
                                    <option value="O" selected="true">O: Use a linear model to convert the log of the reactivity into a probability for being unpaired</option>
                                </param>
                                <when value="M">
                                </when>
                                <when value="C">
                                    <param name="c" type="float" value="0.25" label="Cutoff"/>
                                </when>
                                <when value="S">
                                </when>
                                <when value="L">
                                    <param name="s" type="float" value="0.68" label="Slope"/>
                                    <param name="i" type="float" value="0.2" label="Intercept"/>
                                </when>
                                <when value="O">
                                    <param name="s" type="float" value="1.6" label="Slope s"/>
                                    <param name="i" type="float" value="-2.29" label="Intercept"/>
                                </when>
                            </conditional>
                        </when>
                        <when value="W">
                        </when>
                    </conditional>
                </when>
                <when value="notUsed">
                </when>
            </conditional>
    </section>
    </inputs>
    <outputs>
        <data format="txt" name="output"/>
    </outputs>
    <tests>
        <test>
            <param name="input" value="rnasubopt_input1.fa"/>
            <output name="output" file="rnasubopt_result1.txt"/>
        </test>
    </tests>
    <help>
<![CDATA[

**RNAsubopt**

In the default -e mode RNAsubopt calculates all suboptimal secondary structures within a user defined energy range above the minimum free energy (mfe). It prints the suboptimal structures in dot-bracket notation followed by the energy in kcal/mol to stdout. Be careful, the number of structures returned grows exponentially with both sequence length and energy range.

Alternatively, when used with the -p option, RNAsubopt produces Boltzmann weighted samples of secondary structures.


-----

**Input format**

RNAsubopt requires one input file

- fasta file


------

**Outputs**

- secondary structure in dot-bracket format


]]>
    </help>
    <expand macro="citations" />
</tool>