Skip to content

Commit

Permalink
Merge pull request #6486 from wm75/varvamp121
Browse files Browse the repository at this point in the history
Update varVAMP to 1.2.1
  • Loading branch information
bgruening authored Oct 24, 2024
2 parents eb56388 + ea9a1ff commit 938f808
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 10 deletions.
4 changes: 2 additions & 2 deletions tools/varvamp/macros.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<macros>
<token name="@TOOL_VERSION@">1.2.0</token>
<token name="@VERSION_SUFFIX@">1</token>
<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?">
Expand Down
2 changes: 1 addition & 1 deletion tools/varvamp/test-data/ambiguous_consensus.fasta
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
>ambiguous_consensus
>AMPLICON_consensus
tatcccgtrtycaractgayatccttattaayytgatgcaaccycgrcagcttgtkttccgrccygaagtyytstggaaycayccgatccagcgrgtyatacataatgagctggagcartactgccgwgcycgygctggycgytgyctkgargtkggsgcycayccaagatcyatyaatgayaacccyaatgtyytgcaccggtgcttyctycgcccggtyggdagagaygtmcagcgytggtaytcygccccsacycgyggyccagcggcyaaytgccgccgytcygcgctacgyggyytgccccctgtcgaycgyacmtaytgcttcgacgggttytcccgctgcgcytttgccgctgagacyggratygctttataytcactrcatgacctytggccytcggaygtygcggaggcya
25 changes: 18 additions & 7 deletions tools/varvamp/varvamp.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,17 @@
</xrefs>
<requirements>
<requirement type="package" version="@TOOL_VERSION@">varvamp</requirement>
<requirement type="package" version="2.0.1">primer3-py</requirement>
<requirement type="package" version="2.0.3">primer3-py</requirement>
<requirement type="package" version="0.7.17">seqfold</requirement>
<requirement type="package" version="3.12">python</requirement>
<requirement type="package" version="9.5">coreutils</requirement>
</requirements>
<version_command>varvamp --version</version_command>
<command detect_errors="exit_code"><![CDATA[
VARVAMP_CONFIG=custom_config varvamp
$mode.m_select
--name '$mode.name'
#if $mode.main_params.specify_how in ("set_threshold", "set_both"):
--threshold $mode.main_params.threshold
#end if
Expand Down Expand Up @@ -47,13 +50,18 @@ $mode.m_select
'$alignment'
results/
#if $mode.scheme_outputs and 'primer_binding_sites' in $mode.scheme_outputs:
## the leading header line written by this version of the tool
## is less than helpful in that in can cause parsing issues with downstream tools like ivar trim
&& tail -n +2 results/primers.bed > results/primers_headerless.bed
#end if
#if $mode.m_select == 'qpcr' and $mode.scheme_outputs and 'primer_seqs' in $mode.scheme_outputs:
## make the primer sequences fasta discoverable under the same name that is used in "single" mode
&& mv results/oligos.fasta results/primers.fasta
#end if
#if $mode.m_select == 'tiled' and $mode.scheme_outputs and 'primer_dimers' in $mode.scheme_outputs:
## ensure the unsolvable_primer_dimers.tsv file, which varVAMP creates only conditionally, exists in all cases, in which we try to discover it as an output
&& cp -n dimers_fallback.tsv results/unsolvable_primer_dimers.tsv
&& cp --update=none dimers_fallback.tsv results/unsolvable_primer_dimers.tsv
#end if
]]></command>
<configfiles>
Expand Down Expand Up @@ -118,6 +126,7 @@ $line]]></configfile>
<option value="qpcr">qPCR primers (qpcr)</option>
</param>
<when value="single">
<param argument="--name" type="text" value="AMPLICON" label="Name your amplicon" help="This name will be used in various outputs of the tool." />
<expand macro="main_parameters" />
<expand macro="amplicon_length_restrictions" />
<expand macro="blast_options" />
Expand All @@ -142,6 +151,7 @@ $line]]></configfile>
</expand>
</when>
<when value="tiled">
<param argument="--name" type="text" value="TILED_SCHEME" label="Name your primer scheme" help="This name will be used in various outputs of the tool." />
<expand macro="main_parameters" />
<expand macro="amplicon_length_restrictions" />
<param argument="--overlap" type="integer" min="1" value="100" label="Minimal required overlap between tiled amplicons" help="default: 100" />
Expand All @@ -158,6 +168,7 @@ $line]]></configfile>
</expand>
</when>
<when value="qpcr">
<param argument="--name" type="text" value="QPCR_SCHEME" label="Name your qPCR scheme" help="This name will be used in various outputs of the tool." />
<expand macro="main_parameters">
<param argument="--pn-ambig" type="integer" min="0" value="1" label="Maximum number of ambiguous nucleotides per qPCR probe to be tolerated" help="To enforce specificity of detection, varVAMP will refuse to work if you set this value higher than for the amplicon primers above, and you may actually want to set it slightly lower than that value." />
</expand>
Expand Down Expand Up @@ -210,10 +221,10 @@ $line]]></configfile>
</data>
<collection name="primer_seqs_collection" type="list" label="${tool.name} on ${on_string}: per-pool primer sequences">
<filter>mode['m_select'] == 'tiled' and mode['scheme_outputs'] and 'primer_seqs' in mode['scheme_outputs']</filter>
<data name="pool1_sequences" format="fasta" from_work_dir="results/primers_pool_0.fasta" label="${tool.name} on ${on_string}: Sequences of designed pool 1 primers" />
<data name="pool2_sequences" format="fasta" from_work_dir="results/primers_pool_1.fasta" label="${tool.name} on ${on_string}: Sequences of designed pool 2 primers" />
<data name="pool1_sequences" format="fasta" from_work_dir="results/primers_pool_1.fasta" label="${tool.name} on ${on_string}: Sequences of designed pool 1 primers" />
<data name="pool2_sequences" format="fasta" from_work_dir="results/primers_pool_2.fasta" label="${tool.name} on ${on_string}: Sequences of designed pool 2 primers" />
</collection>
<data name="primers_bed" format="bed" from_work_dir="results/primers.bed" label="${tool.name} on ${on_string}: Primer binding sites">
<data name="primers_bed" format="bed" from_work_dir="results/primers_headerless.bed" label="${tool.name} on ${on_string}: Primer binding sites">
<filter>mode['scheme_outputs'] and 'primer_binding_sites' in mode['scheme_outputs']</filter>
</data>
<data name="amplicons_bed" format="bed" from_work_dir="results/amplicons.bed" label="${tool.name} on ${on_string}: Amplicon locations">
Expand Down Expand Up @@ -344,13 +355,13 @@ $line]]></configfile>
<element name="pool1_sequences" ftype="fasta">
<assert_contents>
<has_n_lines n="4"/>
<has_line line=">AMPLICON_0_LEFT"/>
<has_line line=">TILED_SCHEME_0_LEFT"/>
</assert_contents>
</element>
<element name="pool2_sequences" ftype="fasta">
<assert_contents>
<has_n_lines n="4"/>
<has_line line=">AMPLICON_1_LEFT"/>
<has_line line=">TILED_SCHEME_1_LEFT"/>
</assert_contents>
</element>
</output_collection>
Expand Down

0 comments on commit 938f808

Please sign in to comment.