view locarna_exparnap.xml @ 2:e66514da3a99 draft

planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/locarna commit 10ccc47885ce71e602d66e157bd475f1facbd042
author bgruening
date Mon, 05 Dec 2022 13:58:16 +0000
parents e91e4f48875e
children a80f279b4ad0
line wrap: on
line source

<tool id="locarna_exparnap" name="LocARNA Exact Matcher" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
    <description>
        Pairwise Simultaneous Matching and Folding of RNAs (ExpaRNA-P)
    </description>

    <macros>
        <import>macros.xml</import>
    </macros>

    <expand macro="requirements" />

    <expand macro="stdio" />

    <expand macro="version" />

    <command><![CDATA[
    exparna_p

    '$inputA'
    '$inputB'

    ## -------------------- scoring parameters
    #
    $Scoring.no_stacking
    --alpha_1 $Scoring.alpha_1
    --alpha_2 $Scoring.alpha_2
    --alpha_3 $Scoring.alpha_3
    --struct-mismatch-score $Scoring.struct_mismatch_score

    @HEURISTIC_ARGS@
    --max-uil-length-ratio $Heuristics.max_uil_length_ratio
    --max-bpil-length-ratio $Heuristics.max_bpil_length_ratio
    --prob_unpaired_in_loop_threshold $Heuristics.prob_unpaired_in_loop_threshold
    --prob_basepair_in_loop_threshold $Heuristics.prob_basepair_in_loop_threshold

    @CONSTRAINT_ARGS@
    @FOLDING_ARGS@
    ## -------------------- other parameters
    #
    #if str($Other.subopt.subopt_selector) == "on"
        --diff-to-opt-score $Other.subopt.diff_to_opt_score
        --number-of-EPMs $Other.subopt.number_of_EPMs
    #end if

    --min-score $Other.min_score

    $Other.inexact_struct_match
    $Other.add_filter
    $Other.no_chaining
    --out-min-prob $Other.out_min_prob

    ## -------------------- output

    #if 'postscript' in str($outputs).split(",")
        --output-ps
        --PS_fileA '$ps_fileA'
        --PS_fileB '$ps_fileB'
    #end if

    #if 'anchors-fasta' in str($outputs).split(",")
        --output-locarna '$anchors_fasta'
    #end if

    #if 'anchors-pp' in str($outputs).split(",")
        --output-anchor-pp anchors_pp
    #end if

    #if 'clustal' in str($outputs).split(",")
        --output-clustal '$clustal'
    #end if

    #if 'epm_list' in str($outputs).split(",")
        --output-epm-list '$epm_list'
    #end if

    #if 'chained_epm_list' in str($outputs).split(",")
        --output-chained-epm-list '$chained_epm_list'
    #end if

    @STDOUT_ARGS@

    ## -------------------- post processing

    #if 'anchors-pp' in str($outputs).split(",")
        && mv anchors_pp_A.pp '$anchors_ppA'
        && mv anchors_pp_B.pp '$anchors_ppB'
    #end if

    ]]></command>

    <inputs>
        <param name="inputA" type="data" format="fasta,clustal,txt" label="Sequence A"
               help="First sequence in fasta, clustal, dp_ps, or PP2.0 format"
               />
        <param name="inputB" type="data" format="fasta,clustal,txt" label="Sequence B"
               help="Second sequence in fasta, clustal, dp_ps, or PP2.0 format"
               />

        <param name="outputs" type="select" display="checkboxes" multiple="true"
               label="Output options">
            <option value="postscript" selected="false">Best EPM chain
            as colored postscript</option>
            <option value="anchors-fasta" selected="false">Fasta with anchor
            constraints from chaining</option>
            <option value="anchors-pp" selected="false">LocARNA PP
            files merging input PPs and anchor constraints from
            chaining</option>
            <option value="clustal" selected="false">Chain as
            alignment in Clustal format</option>
            <option value="epm_list" selected="false">List of the found EPMs</option>
            <option value="chained_epm_list" selected="false">List of
            EPMs in the best chain</option>
        </param>

        <param name="stdout_verbosity" type="select" label="Standard output verbosity">
            <option value="--quiet">Don't report standard
            output</option>
            <option value="" selected="true">Non verbose</option>
            <option value="--verbose">Verbose</option>
        </param>

        <section name="Scoring" title="Scoring parameters">
            <param argument="--alpha_1"
                   type="integer" value="1" min="0" max="50"
                   label="Sequence score factor"
                   />
            <param argument="--alpha_2"
                   type="integer" value="5" min="0" max="50"
                   label="Structure score factor"
                   />
            <param argument="--no-stacking" type="boolean"
                   truevalue="" falsevalue="--no-stacking"
                   label="Add stacking terms"
                   />
            <param argument="--alpha_3"
                   type="integer" value="5" min="0" max="50"
                   label="Stacking score factor"
                   />
            <param argument="--struct-mismatch-score"
                   type="integer" value="-10" min="-100" max="0"
                   label="Score for nucleotide mismatch in base pair match"
                   />
        </section>

        <section name="Folding" title="RNA folding parameters">
            <expand macro="common_folding_parameters" />
        </section>

        <section name="Heuristics" title="Heuristic parameters">
            <expand macro="common_heuristic_parameters" />
            <expand macro="max_diff_parameters" />
            <expand macro="in_loop_ratio_parameters" />
            <expand macro="exparnap_in_loop_parameters" />
        </section>

        <section name="Constraints" title="Constraint parameters">
            <expand macro="common_constraint_parameters" />
        </section>


        <section name="Other" title="Other parameters">
            <conditional name="subopt">
                <param name="subopt_selector" type="select"
                       label="Suboptimal traceback of EPMs (exact pattern matches)"
                       help="(--subopt)">
                    <option value="off">Enumerate only optimal
                    EPMs</option>
                    <option value="on">Perform suboptimal traceback of EPMs</option>
                </param>
                <when value="off" />
                <when value="on">
                    <param argument="--diff-to-opt-score"
                           type="integer" value="-1" min="-20" max="0"
                           label="Maximum score difference to optimum" />
                    <param argument="--number-of-EPMs"
                           type="integer" value="100" min="1" max="10000"
                           label="Maximal number of EPMs" />
                </when>
            </conditional>

            <param argument="--min-score"
                   type="integer" value="30" min="0" max="1000"
                   label="Minimum score of EPM" />

            <param argument="--inexact-struct-match" type="boolean"
                   truevalue="--inexact-struct-match" falsevalue=""
                   label="Allow inexact structure matches"/>

            <param argument="--add-filter" type="boolean"
                   truevalue="--add-filter" falsevalue="" checked="false"
                   label="Apply an additional filter to enumerate only
                          EPMs that are maximally extended (only inexact)"/>

            <param argument="--no-chaining" type="boolean"
                   truevalue="" falsevalue="--no-chaining" checked="true"
                   label="Find best overall chain by chaining"/>

            <param argument="--out-min-prob"
                   type="float" value="0.0005" min="0" max="1"
                   label="Minimal probability in output (min-prob overrides if smaller)"/>

        </section>
    </inputs>

    <outputs>
        <expand macro="standard_outupt" />
        <data format="ps" name="ps_fileA"
              label="${tool.name} on ${on_string}: chain in RNA 1 (postscript)">
            <filter>'postscript' in outputs</filter>
        </data>
        <data format="ps" name="ps_fileB"
              label="${tool.name} on ${on_string}: chain in RNA 2 (postscript)">
            <filter>'postscript' in outputs</filter>
        </data>
        <data format="txt" name="anchors_fasta"
              label="${tool.name} on ${on_string}: anchor constraints from chain (fasta)">
            <filter>'anchors-fasta' in outputs</filter>
        </data>
        <data format="txt" name="anchors_ppA"
              label="${tool.name} on ${on_string}: anchors for RNA 1 (pp)">
            <filter>'anchors-pp' in outputs</filter>
        </data>
        <data format="txt" name="anchors_ppB"
              label="${tool.name} on ${on_string}: anchors for RNA 2 (pp)">
            <filter>'anchors-pp' in outputs</filter>
        </data>
        <data format="clustal" name="clustal"
              label="${tool.name} on ${on_string}: chain as alignment (clustal)">
            <filter>'clustal' in outputs</filter>
        </data>
        <data format="tabular" name="epm_list"
              label="${tool.name} on ${on_string}: list of epms">
            <filter>'epm_list' in outputs</filter>
        </data>
        <data format="tabular" name="chained_epm_list"
              label="${tool.name} on ${on_string}: list of epms in chain">
            <filter>'chained_epm_list' in outputs</filter>
        </data>
    </outputs>

    <tests>
        <test expect_num_outputs="2">
            <param name="inputA" value="tRNA_2-1.fa" />
            <param name="inputB" value="tRNA_2-2.fa" />
            <param name="outputs" value="epm_list" />
            <output name="epm_list" file="tRNA_2.epms" />
            <output name="stdout">
                <assert_contents>
                    <has_text text="LCSEPM preprocessing..."/>
                    <has_text text="#EPMs:"/>
                </assert_contents>
            </output>
        </test>
    </tests>

    <help><![CDATA[ **LocARNA -- Pairwise matching and folding of RNAs (ExpARNA-P)**

Pairwise matching and folding tool of the LocARNA suite (ExpARNA-P).

**Input.**

Input consists of two sequences or alignments, which are specified in
fasta, clustal, stockholm, or LocARNA pp format.

Optionally, one can specify structure and anchor constraints in these
input files.b

**Output.**

The program enumerates exactly matching local substructures (exact
pattern matches = EPMs) and optionally chains them. It returns lists
of chained and unchained matches, visualizations of the results and
anchor constraints for alignment.


For more information, see
.. __: http://www.bioinf.uni-freiburg.de/Software/LocARNA/
    ]]></help>

    <expand macro="citations" />

</tool>