view macros.xml @ 5:d6d746d0d1d0 draft default tip

planemo upload for repository https://github.com/jonas-fuchs/varVAMP commit 938f80815419af5d560f949d884989cf1d69550d
author iuc
date Thu, 24 Oct 2024 18:10:50 +0000
parents 36c91ff33d70
children
line wrap: on
line source

<?xml version="1.0"?>
<macros>
    <token name="@TOOL_VERSION@">1.2.1</token>
    <token name="@VERSION_SUFFIX@">0</token>
    <xml name="main_parameters">
        <conditional name="main_params">
            <param name="specify_how" type="select" label="How to set the main parameters, threshold for consensus nucleotides and max ambiguous nts per primer?">
                <option value="set_n_ambig">Specify max ambiguous nts, estimate suitable threshold</option>
                <option value="set_threshold">Specify threshold, estimate max ambiguous nts</option>
                <option value="set_both">Specify values for both</option>
            </param>
            <when value="set_n_ambig">
                <param argument="--n-ambig" type="integer" min="0" value="2" label="Maximum number of ambiguous nucleotides per primer to be tolerated (default: 2)" />
                <yield />
            </when>
            <when value="set_threshold">
                <param argument="--threshold" type="float" min="0.0" max="1.0" value="0.8" label="Threshold for consensus nucleotides" />
            </when>
            <when value="set_both">
                <param argument="--threshold" type="float" min="0.0" max="1.0" value="0.8" label="Threshold for consensus nucleotides" />
                <param argument="--n-ambig" type="integer" min="0" value="2" label="Maximum number of ambiguous nucleotides per primer to be tolerated" />
                <yield />
            </when>
        </conditional>
    </xml>
    <xml name="amplicon_length_restrictions">
        <param argument="--opt-length" type="integer" min="1" value="1000" label="Optimal length of the amplicons" />
        <param argument="--max-length" type="integer" min="1" value="1500" label="Maximal length of the amplicons" />
    </xml>
    <xml name="blast_options">
        <conditional name="filter_blast_hits">
            <param name="choice" type="select" label="Avoid amplicons with off-target primer products?" help="This functionality requires a custom BLAST database of off-target sequences to check amplicon primer candidates against." >
                    <option value="no">No, don't consider off-target products</option>
                    <option value="yes">Yes</option>
            </param>
            <when value="no" />
            <when value="yes">
                <param argument="--database" type="data" format="blastdbn" label="BLAST database" />
                <conditional name="blast_advanced_cond">
                    <param name="blast_advanced" type="select" label="Customize BLAST Settings?" help="Choosing Yes here, lets you overwrite advanced BLAST-related settings defined in varVAMP's default configuration file." >
                        <option value="no">No, use varVAMP default settings</option>
                        <option value="yes">Yes</option>
                    </param>
                    <when value="no" />
                    <when value="yes">
                        <section name="blast_params" title="BLAST parameters">
                            <param name="evalue" type="integer" min="0" value="5000" label="BLAST expect (E) value"/>
                            <param name="reward" type="integer" min="0" value="1" label="BLAST reward (for a nucleotide match)"/>
                            <param name="penalty" type="integer" max="0" value="-1" label="BLAST penalty (for a mismatch)"/>
                            <param name="gapopen" type="integer" min="0" value="2" label="BLAST gapopen" help="Cost to open a gap"/>
                            <param name="gapextend" type="integer" min="0" value="1" label="BLAST gapextend" help="Cost to extend a gap"/>
                        </section>
                        <section name="blast_hits_usage" title="varVAMP settings for handling BLAST hits">
                            <param name="BLAST_MAX_DIFF" type="float" min="0" max="1" value="0.5" label="BLAST_MAX_DIFF" help="Minimal fraction of identity to primer to consider a BLAST hit an off-target primer binding site" />
                            <param name="BLAST_SIZE_MULTI" type="float" min="1" value="2" label="BLAST_SIZE_MULTI" help="Disregard off-target amplicons with a length greater than the configured maximal length of target amplicons multiplied by this value" />
                        </section>
                    </when>
                </conditional>
            </when>
        </conditional>
    </xml>
    <xml name="customize_advanced">
        <conditional name="advanced_config">
            <param name="customize" type="select" label="Customize Advanced Settings?" help="Choosing Yes here, lets you overwrite advanced settings defined in varVAMP's default configuration file.">
                <option value="no">No, use defaults for advanced settings</option>
                <option value="yes">Yes</option>
            </param>
            <when value="no" />
            <when value="yes">
                <section name="basic_primer_params" title="Constraints on amplicon primers" expanded="false">
                    <param name="PRIMER_TMP_min" type="integer" min="0" value="56" label="Minimal melting temperature"/>
                    <param name="PRIMER_TMP_max" type="integer" min="0" value="63" label="Maximal melting temperature"/>
                    <param name="PRIMER_TMP_opt" type="integer" min="0" value="60" label="Optimal melting temperature"/>
                    <param name="PRIMER_GC_RANGE_min" type="integer" min="0" max="100" value="35" label="Minimal GC-content" />
                    <param name="PRIMER_GC_RANGE_max" type="integer" min="0" max="100" value="65" label="Maximal GC-content" />
                    <param name="PRIMER_GC_RANGE_opt" type="integer" min="0" max="100" value="50" label="Optimal GC-content" />
                    <param name="PRIMER_SIZES_min" type="integer" min="1" value="18" label="Minimal primer size" />
                    <param name="PRIMER_SIZES_max" type="integer" min="1" value="24" label="Maximal primer size" />
                    <param name="PRIMER_SIZES_opt" type="integer" min="1" value="21" label="Optimal primer size" />
                    <param name="PRIMER_MAX_POLYX" type="integer" min="1" value="4" label="Maximal length of polyX runs in primer" />
                    <param name="PRIMER_MAX_DINUC_REPEATS" type="integer" min="0" value="4" label="Maximal length of dinucleotide repeats in primer" />
                    <param name="PRIMER_GC_END_min" type="integer" min="0" max="5" value="1" label="Minimal number of GCs among the 3'-terminal 5 bases of the primer" />
                    <param name="PRIMER_GC_END_max" type="integer" min="0" max="5" value="3" label="Maximal number of GCs among the 3'-terminal 5 bases of the probe" />
                    <param name="PRIMER_MIN_3_WITHOUT_AMB" type="integer" min="0" value="3" label="Minimal length of 3'-end without ambiguous bases." />
                    <param name="PRIMER_HAIRPIN" type="integer" min="0" value="47" label="Maximal melting temperature for secondary structures (hairpins) in primer" />
                    <param name="PRIMER_MAX_DIMER_TMP" type="integer" min="0" value="47" label="Maximal melting temperature for primer dimers (homo- or heterodimers)" />
                </section>
                <yield />
                <section name="pcr_params" title="PCR Parameters" expanded="false">
                    <param name="PCR_MV_CONC" type="float" min="0" value="100" label="Monovalent cations mM conc." />
                    <param name="PCR_DV_CONC" type="float" min="0" value="2" label="Divalent cations mM conc." />
                    <param name="PCR_DNTP_CONC" type="float" min="0" value="0.8" label="dNTP mM conc." />
                    <param name="PCR_DNA_CONC" type="float" min="0" value="15" label="Primer nM conc." />
                </section>
                <section name="penalty_multipliers" title="Primer penalties, multipliers and penalty cutoffs" expanded="false">
                    <param name="PRIMER_TM_PENALTY" type="float" min="0" value="2" label="Temperature penalty multiplier" help="Each °C deviation of primer melting temperature from the configured optimal melting temperature inflicts a penalty of this size." />
                    <param name="PRIMER_GC_PENALTY" type="float" min="0" value="0.2" label="GC-content penalty multiplier" help="Each % deviation of primer GC-content from the configured optimal GC-content inflicts a penalty of this size." />
                    <param name="PRIMER_SIZE_PENALTY" type="float" min="0" value="0.5" label="Primer size penalty multiplier" help="Each base deviation of primer length from the configured optimal length inflicts a penalty of this size."/>
                    <param name="PRIMER_MAX_BASE_PENALTY" type="integer" min="0" value="10" label="Maximal primer base penalty" help="Primer base penalty is the sum of the primer's temperature, GC-content and size penalties as defined above. If that base penalty exceeds the maximum defined here, the candidate primer gets discarded and is not considered further." />
                    <param name="PRIMER_3_PENALTY" type="text" value="32, 16, 8, 4, 2" optional="false" label="3' mismatch penalties" help="This comma-separated list of integers, defines the extra penalties associated with mismatches at the last, second-last, third-last, etc. base from the 3'-end of the primer. These extra penalties are added after applying the maximal base penalty threshold above.">
                        <validator type="regex" message="Please specify a comma-separated list of integers"> *(\d+, *)*\d+ *$</validator>
                    </param>
                    <param name="PRIMER_PERMUTATION_PENALTY" type="float" min="0" value="0.1" label="Permutations penalty" help="For primers with ambiguous bases, permutations are the number of possible non-ambiguous primer sequences that the ambiguous sequence represents. Each individual permutation inflicts the penalty defined here." />
                </section>
            </when>
        </conditional>
    </xml>
    <xml name="primer_scheme_outputs">
        <param name="scheme_outputs" type="select" display="checkboxes" multiple="true" optional="true" label="Primer scheme outputs">
            <option value="primer_seqs" selected="true">Sequences of all designed oligos</option>
            <option value="primer_binding_sites" selected="true">Primer binding sites in BED format; includes primer penalties (lower is better) as the score column</option>
            <option value="amplicon_sites" selected="true">Amplicon locations in BED format; includes amplicon penalties (lower is better) in the score column</option>
            <option value="primer_details" selected="true">Primer details in tabular format</option>
            <yield />
        </param>
    </xml>
    <xml name="consensus_outputs">
        <param name="aln_cons_outputs" type="select" display="checkboxes" multiple="true" optional="true" label="Consensus sequence and alignment-related outputs">
            <option value="ambiguous_consensus" selected="true">The consensus sequence containing ambiguous nucleotides; this sequence is what positional information in primer scheme outputs is referring to!</option>
            <option value="majority_consensus">Consensus sequence without ambiguous nucleotide codes, but with the most prevalent nucleotide at each position instead.</option>
            <option value="alignment_cleaned">The preprocessed alignment used to build consensus sequences</option>
        </param>
    </xml>
    <xml name="graphical_outputs">
        <param name="plot_outputs" type="select" display="checkboxes" multiple="true" optional="true" label="Graphical outputs">
            <option value="amplicon_plot" selected="true">Amplicon design overview</option>
            <option value="per_base_mismatches" selected="true">Per-primer barplot of mismatches to input sequences</option>
        </param>
    </xml>
    <xml name="miscellaneous_outputs">
        <param name="misc_outputs" type="select" display="checkboxes" multiple="true" optional="true" label="Other/intermediate outputs" help="These outputs enable more complete tracing of steps performed by varVAMP and serve mostly debug purposes.">
            <option value="primer_regions">List of all candidate regions of the consensus sequence that were evaluated for primers in BED format</option>
            <yield />
        </param>
    </xml>
</macros>