view sfold.xml @ 0:6cce721f568c draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/sfold commit 41456127d154f251438945210c2513601bd21ceb
author iuc
date Wed, 27 Nov 2024 13:22:29 +0000
parents
children
line wrap: on
line source

<tool id="sfold" name="Sfold" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
    <description>Prediction of  RNA secondary structures through structure ensemble sampling</description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <requirements>
        <expand macro="requirements"/>
    </requirements>
    <command detect_errors="exit_code"><![CDATA[
        #if not $non_commercial_use
            >&2 echo "this tool is only available for non commercial use";
            exit 1;
        #end if
        mkdir -p 'output' &&
        sfold '$fasta'
            -a $a
            #if $f: 
                -f '$f'
            #end if
            #if str($l) != '':
                -l $l
            #end if
            #if $m: 
                -m '$m'
            #end if
            -w $w
            -i $i
    ]]></command>
    <inputs>
        <param name="non_commercial_use" label="I certify that I am not using this tool for commercial purposes." type="boolean" truevalue="NON_COMMERCIAL_USE" falsevalue="COMMERCIAL_USE" checked="False">
            <validator type="expression" message="This tool is only available for non-commercial use.">value == True</validator>
        </param>
        <param argument="fasta" type="data" format="fasta" label="FASTA input"/>
        <param argument="-a" type="boolean" truevalue="1" falsevalue="0" checked="true" label="Run clustering on the sampled ensemble?"/>
        <param argument="-f" type="data" format="ct" optional="true" label="Constrain data" help="Constraint syntax follows what is used in mfold 3.1"/>
        <param argument="-l" type="integer" min="0" optional="true" label="Maximum distance between paired bases"/>
        <param argument="-m" type="data" format="ct" optional="true" label="MFE structure" help="If provided, Sfold clustering module will determine the cluster to which this structure belongs."/>
        <param argument="-w" type="integer" value="20" label="Length of antisense oligos"/>
        <param argument="-i" type="select" label="Module">
            <option value="0">None</option>
            <option value="1">Sirna</option>
            <option value="2">Soligo</option>
            <option value="3">Both</option>
        </param>
        <param name="output_selector" type="select" multiple="true" optional="true" display="checkboxes" label="Output options">
            <option value="ct" selected="true">Output ct files</option>
            <option value="bp" selected="true">Output bp files</option>
            <option value="clusters">Output cluster files</option>
        </param>
    </inputs>
    <outputs>
        <collection name="sfold_out" type="list" label="${tool.name} on ${on_string}: sfold log files">
            <discover_datasets pattern="(?P&lt;name&gt;.+)\.out$" format="txt" directory="output/"/>
        </collection>
        <collection name="sfold_bp" type="list" label="${tool.name} on ${on_string}: sfold bp files">
            <discover_datasets pattern="(?P&lt;name&gt;.+)\.bp$" format="txt" directory="output/"/>
            <filter>'bp' in output_selector</filter>
        </collection>
        <collection name="sfold_ct" type="list" label="${tool.name} on ${on_string}: sfold ct files">
            <discover_datasets pattern="(?P&lt;name&gt;.+)\.ct$" format="ct" directory="output/"/>
            <filter>'ct' in output_selector</filter>
        </collection>
        <collection name="sfold_cluster_out" type="list" label="${tool.name} on ${on_string}: sfold cluster log files">
            <discover_datasets pattern="(?P&lt;name&gt;.+)\.out$" format="txt" directory="output/clusters"/>
            <discover_datasets pattern="(?P&lt;name&gt;.+)\.list$" format="txt" directory="output/clusters"/>
            <filter>'clusters' in output_selector</filter>
        </collection>
        <collection name="sfold_cluster_bp" type="list" label="${tool.name} on ${on_string}: sfold cluster bp files">
            <discover_datasets pattern="(?P&lt;name&gt;.+)\.bp$" format="txt" directory="output/clusters"/>
            <filter>'clusters' in output_selector and 'bp' in output_selector</filter>
        </collection>
        <collection name="sfold_cluster_ct" type="list" label="${tool.name} on ${on_string}: sfold cluster ct files">
            <discover_datasets pattern="(?P&lt;name&gt;.+)\.ct$" format="ct" directory="output/clusters"/>
            <filter>'clusters' in output_selector and 'ct' in output_selector</filter>
        </collection>
    </outputs>
    <tests>
        <test expect_num_outputs="6">
            <param name="non_commercial_use" value="true"/>
            <param name="fasta" value="seq.fasta"/>
            <param name="a" value="true"/>
            <param name="f" value="cons.ct"/>
            <param name="l" value="30"/>
            <param name="m" value="mfe.ct"/>
            <param name="w" value="20"/>
            <param name="i" value="1"/>
            <param name="output_selector" value="ct,bp,clusters"/>
            <output_collection name="sfold_out" type="list">
                <element name="10structure">
                    <assert_contents>
                        <has_n_lines n="770"/>
                        <has_text text="Structure        1     -28.90       0.74863E-01"/>
                    </assert_contents>
                </element>
                <element name="10structure_2">
                    <assert_contents>
                        <has_n_lines n="10"/>
                    </assert_contents>
                </element>
                <element name="bp.dist.from.ecentroid">
                    <assert_contents>
                        <has_n_lines n="1001"/>
                        <has_text text="1 5"/>
                    </assert_contents>
                </element>
                <element name="bp">
                    <assert_contents>
                        <has_text text="Structure            1"/>
                    </assert_contents>
                </element>
                <element name="bprob">
                    <assert_contents>
                        <has_n_lines n="4"/>
                        <has_text text=".16225072123690604808E+01L"/>
                    </assert_contents>
                </element>
                <element name="cdf">
                    <assert_contents>
                        <has_n_lines n="101"/>
                    </assert_contents>
                </element>
                <element name="fe">
                    <assert_contents>
                        <has_n_lines n="1000"/>
                        <has_text text="1     -28.70"/>
                    </assert_contents>
                </element>
                <element name="fe_init">
                    <assert_contents>
                        <has_n_lines n="1002"/>
                        <has_text text="Ensemble free energy (based on initial energies):-RT ln(U)=  -28.297589224477537   "/>
                    </assert_contents>
                </element>
                <element name="loopr">
                    <assert_contents>
                        <has_n_lines n="76"/>
                    </assert_contents>
                </element>
                <element name="pdf">
                    <assert_contents>
                        <has_n_lines n="21"/>
                    </assert_contents>
                </element>
                <element name="sample">
                    <assert_contents>
                        <has_n_lines n="1"/>
                        <has_text text="Structure data in BP format removed to"/>
                    </assert_contents>
                </element>
                <element name="sample_1000">
                    <assert_contents>
                        <has_text text="(i j k): helix formed by base pairs i-j, (i+1)-(j-1),...,(i+k-1)-(j-k+1)"/>
                    </assert_contents>
                </element>
                <element name="sclass">
                    <assert_contents>
                        <has_text text="Sequence length            = 76"/>
                    </assert_contents>
                </element>
                <element name="sfold">
                    <assert_contents>
                        <has_n_lines n="42"/>
                        <has_text text="1 G"/>
                    </assert_contents>
                </element>
                <element name="smfe">
                    <assert_contents>
                        <has_n_lines n="2"/>
                        <has_text text="Minimum free energy in the sample (SMFE)=  -28.90 kcal/mol"/>
                    </assert_contents>
                </element>
                <element name="sstrand">
                    <assert_contents>
                        <has_n_lines n="76"/>
                    </assert_contents>
                </element>
            </output_collection>
            <output_collection name="sfold_bp" type="list">
                <element name="ecentroid">
                    <assert_contents>
                        <has_text text="1 72"/>
                    </assert_contents>
                </element>
            </output_collection>
            <output_collection name="sfold_ct" type="list">
                <element name="ecentroid">
                    <assert_contents>
                        <has_n_lines n="78"/>
                    </assert_contents>
                </element>
            </output_collection>
            <output_collection name="sfold_cluster_out" type="list">
                <element name="c01.2dhist">
                    <assert_contents>
                        <has_text text="1"/>
                    </assert_contents>
                </element>
                <element name="c01.bp.dist.from.ccentroid">
                    <assert_contents>
                        <has_text text="1"/>
                    </assert_contents>
                </element>
                <element name="c01.bp">
                    <assert_contents>
                        <has_text text="Structure 1"/>
                    </assert_contents>
                </element>
                <element name="c01.fe">
                    <assert_contents>
                        <has_text text=" 1"/>
                    </assert_contents>
                </element>
                <element name="c02.2dhist">
                    <assert_contents>
                        <has_text text="72"/>
                    </assert_contents>
                </element>
                <element name="c02.bp.dist.from.ccentroid">
                    <assert_contents>
                        <has_text text="1"/>
                    </assert_contents>
                </element>
                <element name="c02.bp">
                    <assert_contents>
                        <has_text text="Structure 1"/>
                    </assert_contents>
                </element>
                <element name="c02.fe">
                    <assert_contents>
                        <has_text text="10"/>
                    </assert_contents>
                </element>
                <element name="ch.index">
                    <assert_contents>
                        <has_n_lines n="19"/>
                    </assert_contents>
                </element>
            </output_collection>
            <output_collection name="sfold_cluster_bp" type="list">
                <element name="c01.ccentroid">
                    <assert_contents>
                        <has_text text="1 72"/>
                    </assert_contents>
                </element>
                <element name="c02.ccentroid">
                    <assert_contents>
                        <has_text text="Structure 1"/>
                    </assert_contents>
                </element>
            </output_collection>
            <output_collection name="sfold_cluster_ct" type="list">
                    <element name="c01.ccentroid">
                        <assert_contents>
                            <has_n_lines n="78"/>
                            <has_text text="Length:  76"/>
                        </assert_contents>
                    </element>
                    <element name="c02.ccentroid">
                        <assert_contents>
                            <has_n_lines n="78"/>
                            <has_text text="Length:  76"/>
                        </assert_contents>
                    </element>
            </output_collection>
        </test>
        <test expect_num_outputs="4">
            <param name="non_commercial_use" value="true"/>
            <param name="fasta" value="seq.fasta"/>
            <param name="a" value="true"/>
            <param name="f" value="cons.ct"/>
            <param name="l" value="30"/>
            <param name="m" value="mfe.ct"/>
            <param name="w" value="20"/>
            <param name="i" value="1"/>
            <param name="output_selector" value="bp,clusters"/>
            <output_collection name="sfold_cluster_bp" type="list">
                <element name="c01.ccentroid">
                    <assert_contents>
                        <has_text text="1 72"/>
                    </assert_contents>
                </element>
                <element name="c02.ccentroid">
                    <assert_contents>
                        <has_text text="Structure 1"/>
                        </assert_contents>
                </element>
            </output_collection>
            <output_collection name="sfold_bp" type="list">
                <element name="ecentroid">
                    <assert_contents>
                        <has_text text="1 72"/>
                    </assert_contents>
                </element>
            </output_collection>    
        </test>
    </tests>
    <help><![CDATA[
Sfold is a software package for statistical folding and rational design of nucleic acids.

It provides tools for predicting RNA secondary structures, designing antisense oligonucleotides, and analyzing RNA folding patterns. Sfold is widely used in academic research for studying
RNA structure and function.

Input Format

-----------

The program requires one input file of RNA sequence in FASTA format.

Sfold options

------------

The program can run based on the clustering on the sampled ensemble or not.
It can also predict the secondary structure based on the constraint and MFE structure files.
The sfold has two different modules:

* SiRNA : Target accessibility prediction and RNA duplex thermodynamics for rational siRNA design
* Solig: Target accessibility prediction and rational design of antisense oligonucleotides and nucleic acid probes

The program can be run based on the above-mentioned modules, both of them or none of them.

Output Files

------------

The Sfold program generates 4 different types of output files. sfold.out and sclass.out in your output log files, save the general messages from standard output/error from which you can know if your Sfold run was successful. Most of the other
files contain a header section that defines the formats and meanings of the data in the output.

------------

Important: The program usage is restricted to non-commercial and academic research.
    ]]>
    </help>
    <expand macro="citations" />
</tool>