view macros.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

<macros>
    <token name="@TOOL_VERSION@">2.0.1</token>
    <token name="@VERSION_SUFFIX@">0</token>
    <token name="@PROFILE@">23.0</token>

    <xml name="requirements">
        <requirements>
            <requirement type="package" version="@TOOL_VERSION@">locarna</requirement>
            <requirement type="package" version="4.2.2">r-base</requirement>  
        </requirements>
    </xml>

    <xml name="stdio">
        <stdio>
            <exit_code range="1:" />
        </stdio>
    </xml>

    <xml name="version">
        <version_command>
            <![CDATA[
                     mlocarna --version
            ]]>
        </version_command>
    </xml>

    <xml name="bed_anchors">
        <conditional name="bed_anchors">
            <param name="bed_anchors_selector" type="select" label="Anchor constraints"
                   help="Anchor constraints in bed format specify positions of
                         named anchor regions per sequence. The sequence names
                         ('contig' names have to correspond to the fasta input
                         sequence names. Anchor names must be unique per sequence
                         and regions of the same name for different sequences
                         must have the same length. This constrains the alignment
                         to align all regions of the same name.">
                <option value="no">Don't load anchor constraints from
                bed file</option>
                <option value="yes">Load anchor constraints from bed
                file</option>
            </param>
            <when value="no" />
            <when value="yes">
                <param name="bed_anchors_file" type="data" format="tabular" 
                       label="Anchor constraint specification in bed format"
                       />
            </when>
        </conditional>
    </xml>
    
    <xml name="common_scoring_parameters">
        <param argument="--struct-weight"
               label="Structure weight" type="integer" 
               value="200" min="0" max="800" />
        <param argument="--indel-opening"
               label="Indel opening score" type="integer"
               value="-500" max="0" min="-1500" />
        <param argument="--indel" label="Indel score" type="integer" 
               value="-350" min="-1000" max="0" />
        <param argument="--tau" type="integer" value="50"
               min="0" max="200"
               label="Sequence contribution at structure match in percent"/> 

        <conditional name="sequence_score">
            <param name="sequence_score_selector" type="select" label="Type of sequence score contribution">
                <option value="ribofit">Use ribofit</option>
                <option value="ribosum">Use RIBOSUM85_60</option>
                <option value="match">Simple match/mismatch costs</option>
            </param>
            <when value="ribofit" />
            <when value="ribosum" />
            <when value="match">
                <param name="match" type="integer" value="50" 
                       min="0" max="400"
                       label="Match score" />
                <param name="mismatch" type="integer" value="0" 
                       min="-400" max="0"
                       label="Mismatch score" />
            </when>
        </conditional>
    </xml>

    <xml name="plfolding_parameters">
        <param argument="--plfold-span" 
               type="integer" value="150" min="-1" max="400" 
               label="Maximum basepair span by RNAplfold (local folding); -1 for global folding" />
        
        <param argument="--plfold-winsize"
               type="integer" value="300"  min="-1" max="800" 
               label="Window size for local folding" />
    </xml>
    
    <xml name="common_folding_parameters">
        <param argument="rnafold-temperature"
               type="float" value="37.0" min="10" max="50"
               label="Temperature for RNAfold (RNAfold's -T option)" />
    </xml>

    <token name="@SCORING_ARGS@">
        ## -------------------- scoring parameters
        --indel $Scoring.indel
        --indel-opening $Scoring.indel_opening
        --struct-weight $Scoring.struct_weight
        --tau $Scoring.tau
        
        #if str($Scoring.sequence_score.sequence_score_selector) == "match"
            --match $Scoring.sequence_score.match
            --mismatch $Scoring.sequence_score.mismatch
        #elif str($Scoring.sequence_score.sequence_score_selector) == "ribosum"
            --use-ribosum true
        #elif str($Scoring.sequence_score.sequence_score_selector) == "ribofit"
            --ribofit true
        #end if
    </token>

    <token name="@FOLDING_ARGS@">
        ## -------------------- folding parameters
        #if float($Folding.rnafold_temperature) != 37.0
            --rnafold-temperature $Folding.rnafold_temperature
        #end if
    </token>

    <token name="@HEURISTIC_ARGS@">
        ## -------------------- heuristic parameters
        -p $Heuristics.min_prob

        #if str($Heuristics.max_diff_mode.max_diff_mode_selector) == "off"
            --max-diff -1
        #elif str($Heuristics.max_diff_mode.max_diff_mode_selector) == "max-diff"
            --max-diff $Heuristics.max_diff_mode.max_diff
        #elif str($Heuristics.max_diff_mode.max_diff_mode_selector) == "max-diff-at-am"
            --max-diff -1
            --max-diff-at-am $Heuristics.max_diff_mode.max_diff_at_am
        #elif str($Heuristics.max_diff_mode.max_diff_mode_selector) == "max-diff-aln"
            --max-diff $Heuristics.max_diff_mode.max_diff
            --max-diff-aln '$Heuristics.max_diff_mode.max_diff_aln'
            $Heuristics.max_diff_mode.max_diff_relax
        #end if
        
        --max-diff-am $Heuristics.max_diff_am
    
        #if float($Heuristics.max_bps_length_ratio) > 0.0
            --max-bps-length-ratio $Heuristics.max_bps_length_ratio
        #end if
    </token>

    <token name="@HEURISTIC_SPARSE_ARGS@">
           --prob-unpaired-in-loop $alignment_mode.HeuristicsSparse.prob_unpaired_in_loop_threshold
           --prob-basepair-in-loop $alignment_mode.HeuristicsSparse.prob_basepair_in_loop_threshold

    </token>

    <token name="@CONSTRAINT_ARGS_WOLP@">
        #if $Constraints.maxBPspan != -1
            --maxBPspan $Constraints.maxBPspan
        #end if

        $Constraints.ignore_constraints
    </token>
    <token name="@CONSTRAINT_ARGS@">
        ## -------------------- constraint parameters
        $Constraints.lonely_pairs
        @CONSTRAINT_ARGS_WOLP@
    </token>

    <token name="@STDOUT_ARGS@">
        $stdout_verbosity
        
        #if str($stdout_verbosity) != "--quiet":
            > '$stdout'
        #end if
    </token>

    <xml name="max_diff_parameters_selector">
        <param name="max_diff_mode_selector" type="select"
               label="Restrict alignable positions by maximum difference" 
               help="(max-diff*)">
            <option value="off">Off</option>
            <option value="max-diff" selected="true">Maximal difference of aligned positions</option>
            <option value="max-diff-at-am">Maximal difference of aligned positions at arc matches</option> 
            <yield />
        </param>
    </xml>
    
    <xml name="max_diff_parameters_standard_cases">
        <when value="off" />
        <when value="max-diff">
            <param argument="--max-diff" type="integer"
                    value="60" min="-1" max="300"
                    label="Maximal difference of aligned positions" />
        </when>
        <when value="max-diff-at-am">
            <param argument="--max-diff-at-am" type="integer" 
                    value="60" min="-1" max="300"
                    label="Maximal difference of aligned positions,
                           only at arc match positions" />
        </when>
    </xml>

    <xml name="max_diff_parameters">
        <conditional name="max_diff_mode">
            <expand macro="max_diff_parameters_selector" />
            <expand macro="max_diff_parameters_standard_cases" />
        </conditional>
    </xml>

    <xml name="max_diff_parameters_aln">
        <conditional name="max_diff_mode">
            <expand macro="max_diff_parameters_selector">
                <option value="max-diff-aln">Maximal difference to a reference alignment</option>
            </expand>
            <expand macro="max_diff_parameters_standard_cases" />
            <when value="max-diff-aln">
                <param argument="--max-diff-aln" type="data" format="clustal"
                       label="Reference alignment"
                       />
                <param argument="--max-diff" type="integer"
                        value="60" min="-1" max="300"
                        label="Maximal difference of aligned positions" />
                <param argument="--max-diff-relax" type="boolean"
                       truevalue="--max-diff-relax" falsevalue=""
                       checked="False"
                       label="Relax deviation constraints in multiple
                              aligmnent."
                       />
            </when>
        </conditional>
    </xml>

    <xml name="common_heuristic_parameters">
        <param argument="--min-prob" type="float" value="0.0005" 
                min="0.0" max="0.2"
                label="Minimal / cutoff probability" /> 
    
        <param argument="--max-diff-am" 
                type="integer" value="30" 
                min="-1" max="300"
                label="Maximal difference for sizes of matched arcs (-1=off)" />
        
        <param  argument="--max-bps-length-ratio"
                type="float" value="0.0" min="0.0" max="10.0" 
                label="Maximal ratio 'number of considered base pairs' by
                       'sequence length' (default: 0.0 = no effect)" />
    </xml>
    
    <xml name="common_heuristic_parameters_sparse">
        <param argument="--prob-unpaired-in-loop-threshold" type="float" value="0.00005" 
                min="0.0" max="0.2"
                label="Probability threshold for unpaired bases in loops" /> 

        <param argument="--prob-basepair-in-loop-threshold" type="float" value="0.0001" 
                min="0.0" max="0.2"
                label="Probability threshold for base pairs in loops" />       
    </xml>
    
    <xml name="in_loop_ratio_parameters">
        <param argument="--max-uil-length-ratio"
                type="float" value="0.0" min="0.0" max="10.0" 
                label="Maximal ratio 'number considered unpaired bases in loops' by
                       'sequence length' (default: 0.0; no effect)" />
        
        <param argument="--max-bpil-length-ratio"
                type="float" value="0.0" min="0.0" max="10.0" 
                label="Maximal ratio 'number of considered base pairs in loops'
                       by 'sequence length' (default: 0.0; no effect)" />
    </xml>

    <xml name="exparnap_in_loop_parameters">
        <param argument="--prob_unpaired_in_loop_threshold"
                type="float" value="0.01" min="0.0" max="1.0" 
                label="Probability threshold for unpaired bases in loops" />
        <param argument="--prob_basepair_in_loop_threshold"
                type="float" value="0.01" min="0.0" max="1.0" 
                label="Probability threshold for base pairs in loops" />
    </xml>

    <xml name="alifold_consensus_parameter">
        <param argument="--alifold-consensus-dp" 
                type="boolean" checked="False" 
                truevalue="--alifold-consensus-dp" falsevalue=""
                label="Compute consensus dot plot by alifold" />
    </xml>
    
    <xml name="common_constraint_parameters_woLP">
        <yield/>
        <param argument="--maxBPspan" 
               type="integer" value="-1" min="-1" max="400" 
               label="Maximum basepair span by RNAfold; -1 for arbitrary span" />
        <param argument="--ignore-constraints"
               type="boolean" checked="false" truevalue="--ignore-constraints" falsevalue=""
               help="Ignore all anchor and structure constraints given
                     in the fasta(-ish) input." />
    </xml>

    <xml name="common_constraint_parameters">
        <expand macro="common_constraint_parameters_woLP">
            <param argument="--noLP" name="lonely_pairs" type="boolean" truevalue="" falsevalue="--noLP" 
                   checked="true" label="Allow lonely base-pairs"/>
        </expand>
    </xml>

    <xml name="standard_outupt">
        <data format="txt" name="stdout" label="${tool.name} on ${on_string}: stdout">
            <filter>stdout_verbosity != '--quiet'</filter>
        </data>
    </xml>

    <xml name="mlocarna_outputs">
        <expand macro="standard_outupt" />
        <data format="clustal" name="clustal" from_work_dir="mlocarna_results/results/result.aln"
              label="${tool.name} on ${on_string}: alignment (annotated clustal)">
            <filter>'clustal' in outputs</filter>
        </data>
        <data format="clustal" name="clustal_strict" 
              from_work_dir="mlocarna_results/results/result.strict-aln"
              label="${tool.name} on ${on_string}: alignment (clustal)">
            <filter>'strict' in outputs</filter>
        </data>
        <data format="stockholm" name="stockholm" from_work_dir="mlocarna_results/results/result.stk"
              label="${tool.name} on ${on_string}: alignment (stockholm)">
            <filter>'stockholm' in outputs</filter>
        </data>
        <data format="txt" name="pp"
              from_work_dir="mlocarna_results/results/result.pp"
              label="${tool.name} on ${on_string}: alignment (PP 2.0)">
            <filter>'pp' in outputs</filter>
        </data>
        <data format="tar.gz" name="mlocarna_results_tgz"
              label="${tool.name} on ${on_string}: results archive">
            <filter>'mlocarna_results' in outputs</filter>
        </data>
    </xml>

    <xml name="citations">
        <citations>
            <citation type="doi">10.1371/journal.pcbi.0030065</citation>
            <citation type="doi">10.1261/rna.029041.111</citation>
            <citation type="doi">10.1093/bioinformatics/btv185</citation>
            <citation type="doi">10.1186/s12859-014-0404-0</citation>
        </citations>
    </xml>
</macros>