diff macros.xml @ 0:462e62be07e1 draft

planemo upload for repository https://github.com/jonas-fuchs/varVAMP commit 7f509fd29e994d1561ff9de14f26cf49f018dd2d
author iuc
date Sat, 27 Jan 2024 12:34:39 +0000
parents
children 80e18c0836e5
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/macros.xml	Sat Jan 27 12:34:39 2024 +0000
@@ -0,0 +1,138 @@
+<?xml version="1.0"?>
+<macros>
+    <token name="@TOOL_VERSION@">1.1.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" />
+                            <param name="BLAST_PENALTY" type="integer" min="0" value="50" label="BLAST_PENALTY" help="Extra penalty imposed on amplicons with off-target primer products; the default of 50 should be high enough to consider such amplicons only when no other amplicons without off-target products can be found." />
+                        </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" max="10" 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>
+