view locarna_multiple.xml @ 4:6e20ad2c8752 draft default tip

planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/locarna commit 94c141a71ef115279f1090f782b6f5cdeea9c277
author bgruening
date Mon, 19 Aug 2024 18:52:41 +0000
parents 7554c0df9139
children
line wrap: on
line source

<tool id="locarna_multiple" name="LocARNA Multiple Aligner" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
    <description>
        Multiple Alignment and Folding of RNAs (mlocarna)
    </description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <expand macro="requirements"/>
    <expand macro="stdio"/>
    <expand macro="version" />
    <command><![CDATA[
    mlocarna
    '$input_data'
    #if 'stockholm' in str($outputs).split(","):
    --stockholm
    #end if

    --tgtdir mlocarna_results
    ## maybe reenable later? see  https://github.com/s-will/LocARNA/issues/77
    ## --width 60
    
    ## -------------------- alignment mode and specific option--------- #
    #if str($alignment_mode.alignment_mode_selector) == "global_locarna"
        $alignment_mode.free_endgaps
    #elif str($alignment_mode.alignment_mode_selector) == "local_locarna"
        --sequ-local on
    #elif str($alignment_mode.alignment_mode_selector) == "probabilistic"
        --probabilistic
        $alignment_mode.consistency_transformation
        
        #if str($alignment_mode.iterate) == "true"
            --iterate
            --iterations $alignment_mode.iterations
        #end if
    #elif str($alignment_mode.alignment_mode_selector) == "sparse"
        --sparse
    #end if
    
    @SCORING_ARGS@

    @FOLDING_ARGS@
    #if $Folding.plfold_span>=0
        --plfold-span $Folding.plfold_span
        --plfold-winsize $Folding.plfold_winsize
    #end if
    $Folding.alifold_consensus_dp

    @HEURISTIC_ARGS@

    #if str($alignment_mode.alignment_mode_selector) == "sparse"
        --pw-aligner-options " @HEURISTIC_SPARSE_ARGS@ "
    #end if

    
    @CONSTRAINT_ARGS@
    #if str($Constraints.bed_anchors.bed_anchors_selector) == "yes"
        --anchor-constraints $Constraints.bed_anchors.bed_anchors_file
    #end if

    @STDOUT_ARGS@

    #if 'strict' in str($outputs).split(",")
        && grep -v '^#' mlocarna_results/results/result.aln > mlocarna_results/results/result.strict-aln
    #end if
    ]]></command>

    <inputs>
        <conditional name="input_data_type">
            <param name="input_data_type_selector" type="select" label="Input type">
                <option value="fasta">Fasta input (strict)</option>
                <option value="text">Fasta-like input with LocARNA constraints</option>
              </param>
            <when value="fasta">
                <param name="input_data" type="data" format="fasta" label="Sequence input" help="Sequence input in pure fasta format"/>
            </when>
            <when value="text">
                <param name="input_data" type="data" format="text" label="Sequence input" help="Sequence input in fasta format with locarna-specific extensions"/>
            </when>
        </conditional>
        <conditional name="alignment_mode">
            <param name="alignment_mode_selector" type="select" label="Alignment mode" help="Note that local alignment mode usually requires to turn off the 'max-diff' heuristic (maximal difference for alignment traces).">
                <option value="global_locarna">Global alignment (LocARNA)</option>
                <option value="local_locarna">Local alignment (LocARNA)</option>
                <option value="probabilistic">Probabilistic alignment (LocARNA-P)</option>
                <option value="sparse">Global fast alignment (SPARSE)</option>
            </param>
            <when value="global_locarna">
                <param name="free_endgaps" type="select" label="Free endgaps" help="Specify whether gaps at the ends (all, 5', or 3' ends)of the sequences should be penalized or allowed for free.">
                    <option value="">No free endgaps</option>
                    <option value="--free-endgaps">Free endgaps</option>
                    <option value="--free-endgaps-5">Free endgaps, only 5'</option>
                    <option value="--free-endgaps-3">Free endgaps, only 3'</option>
                </param>
            </when>
            <when value="local_locarna">
            </when>
            <when value="probabilistic">
                <param name="consistency_transformation" type="boolean" truevalue="--consistency-transformation" falsevalue="" checked="true" label="Consistency transformation" help="--consistency-transformation"/>
                <param name="iterate" type="boolean" truevalue="true" falsevalue="false" checked="false" label="Iterative refinement" help="--iterate"/>
                <param name="iterations" type="integer" value="1" label="Number of refinement iterations" help="--iterations num"/>
            </when>
            <when value="sparse">
                <section name="HeuristicsSparse" title="Heuristic parameters for SPARSE">
                    <expand macro="common_heuristic_parameters_sparse" />
                </section>
            </when>
        </conditional>
        <param name="outputs" type="select" display="checkboxes" multiple="true" 
               label="Output options">
            <option value="strict" selected="true">Alignment in ClustalW format</option>
            <option value="clustal" selected="false">Alignment in constraint-annotated ClustalW format</option>
            <option value="stockholm" selected="false">Alignment in Stockholm format</option>
            <option value="pp" selected="false">Alignment in LocARNA's PP 2.0 format</option>
            <option value="mlocarna_results" selected="false">LocARNA results archive (tar.gz)</option>
        </param>
        <param name="stdout_verbosity" type="select" label="Standard output verbosity">
            <option value="--quiet">Don't report standard output</option>
            <option value="">Non verbose</option>
            <option value="--verbose">Verbose</option>
            <option value="--moreverbose">More verbose</option>
        </param>
        <section name="Scoring" title="Scoring parameters">
            <expand macro="common_scoring_parameters" />
        </section>
        <section name="Folding" title="RNA folding parameters">
            <expand macro="plfolding_parameters" />
            <expand macro="common_folding_parameters" />
            <expand macro="alifold_consensus_parameter" />
        </section>
        <section name="Heuristics" title="Heuristic parameters">
            <expand macro="common_heuristic_parameters" />
            <expand macro="max_diff_parameters_aln" />
        </section>
        <section name="Constraints" title="Constraint parameters">
            <expand macro="bed_anchors" />
            <expand macro="common_constraint_parameters" />
        </section>
    </inputs>
    
    <outputs>
        <expand macro="mlocarna_outputs" />
    </outputs>
    
    <tests>
        <test expect_num_outputs="3">
            <param name="input_data" value="archaea.fa" />
            <param name="stdout_verbosity" value="" />
            <param name="max_diff_mode_selector" value="max-diff" />
            <param name="max_diff" value="20" />
            <param name="outputs" value="clustal,strict"/>
            <output name="stdout" file="archaea-default.stdout" lines_diff="2" />
            <output name="clustal">
                <assert_contents>
                    <has_text text="CLUSTAL W --- LocARNA @TOOL_VERSION@"/>
                </assert_contents>
            </output>
            <output name="clustal_strict">
                <assert_contents>
                    <has_text text="CLUSTAL W --- LocARNA @TOOL_VERSION@"/>
                </assert_contents>
            </output>
        </test>
        <test expect_num_outputs="2">
            <param name="input_data" value="haca.snoRNA.fa" />
            <param name="stdout_verbosity" value="" />
            <output name="stdout" file="haca.snoRNA-default.stdout" lines_diff="2" />
            <output name="clustal_strict">
                <assert_contents>
                    <has_text text="CLUSTAL W --- LocARNA @TOOL_VERSION@"/>
                </assert_contents>
            </output>
        </test>
        <test expect_num_outputs="2">
            <param name="input_data" value="archaea.fa" />
            <param name="stdout_verbosity" value="" />
            <param name="outputs" value="clustal" />
            <param name="alignment_mode_selector" value="probabilistic" />
            <output name="stdout">
                <assert_contents>
                    <has_text text="mLocARNA --- multiple Local (and global) Alignment of RNA --- LocARNA @TOOL_VERSION@"/>
                </assert_contents>
            </output>
            <output name="clustal" file="archaea-probabilistic.aln" lines_diff="2"/>
        </test>
        <test expect_num_outputs="2">
            <param name="input_data" value="archaea.fa" />
            <param name="stdout_verbosity" value="" />
            <param name="outputs" value="clustal" />
            <param name="max_diff_mode_selector" value="max-diff-aln" />
            <param name="max_diff_aln" value="archaea-ref.aln" />
            <param name="max_diff" value="2" />
            <output name="stdout">
                <assert_contents>
                    <has_text text="mLocARNA --- multiple Local (and global) Alignment of RNA --- LocARNA @TOOL_VERSION@"/>
                </assert_contents>
            </output>
            <output name="clustal" file="archaea-ref_result.aln" lines_diff="2"/>
        </test>
    </tests>

    <help><![CDATA[ **MLocARNA -- Multiple alignment of RNAs**

MLocARNA is the (general, progressive) multiple RNA alignment tool of
the LocARNA suite. It supports several alignment modes and can be
adapted to specific needs by a broad range of parameters. Thus, there
are parameters for

* *scoring* of the alignment, e.g. influencing the cost of
  insertions/deletions and the weight of sequence vs. structure
  similarity.

* *RNA folding*, which control the secondary RNA structure prediciton.

* *heuristics*, which trade alignment accuracy vs. computation
  speed. The huge complexity of simultaneous alignment and folding
  generally requires some heuristics for reasonable computation times.
  Some alignment instances and alignment modes will require relaxation
  of the default heuristics; in particular, local, constrained, and free end gap
  alignment, will often require turning off the "maximal difference for
  alignment traces" heuristic.
  
* *constraints*, which can be applied to include prior knowledge to
  improve the quality of results and/or speed of computation.

Technically, mlocarna constructs multiple alignments progressively
based on pairwise alignments by locarna, locarna-p, or sparse, which
perform variants of simultaneous RNA folding and alignment.

**Input.**
Sequences can be given in plain fasta format like::

  >fruA
  CCUCGAGGGGAACCCGAAAGGGACCCGAGAGG
  >fdhA
  CGCCACCCUGCGAACCCAAUAUAAAAUAAUACAAGGGAGCAGGUGGCG
  >vhuU
  AGCUCACAACCGAACCCAUUUGGGAGGUUGUGAGCU

Morover, mlocarna supports structure constraints for folding and anchor
constraints for alignment. Both types of constraints can be specified
in extension of the standard fasta format via 'constraint
lines'. Fasta-ish input with constraints looks like this::

  >A
  GACCCUGGGAACAUUAACUACUCUCGUUGGUGAUAAGGAACA
  ..((.(....xxxxxx...................))).xxx #S
  ..........000000.......................111 #1
  ..........123456.......................123 #2
  >B
  ACGGAGGGAAAGCAAGCCUUCUGCGACA
  .(((....xxxxxx.......))).xxx #S
  ........000000...........111 #1
  ........123456...........123 #2

The same anchor constraints (like by the lines tagged #1, #2) can
alternatively be specified in bed format by the entries::

  A	10	16	first_box
  B	8	14	first_box
  A	39	42	ACA-box
  B	25	28	ACA-box

where anchor regions (boxes) have arbitrary but matching names
and contig/sequence names correspond to the sequence names
of the fasta(-like) input.


**Output.**

The final alignment is reported in standard and/or variants of the
clustal and stockholm format. Moreover, an archive with final and
intermediary results of the mlocarna run can be returned.

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

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