These changes are credited to wm75 (https://github.com/jonas-fuchs/varVAMP/pull/39).
**CHANGELOG**
**(1) Changes around BLAST functionality:**
- Off-target amplicons are now reported as intended in the logs
- Off-target amplicons are now always considered last for the final scheme (no penalty is used, but the fact that they had BLAST matches gets recorded)
- The BLAST_PENALTY config option is no longer needed and has been removed
- Added a new off_target_amplicons column to the qPCR design, the qPCR primer and the (single/tiled) primer tsv outputs to indicate which final amplicons had BLAST hits
**(2) General reporting changes:**
- Amplicon numbering now proceeds from 5' to 3' even across pools for the tiled mode and from lowest penalty to highest for the other modes (previously additional BLAST penalties weren't considered during penalty-sorting).
- In the primer bed file output in tiled mode, primers are now ordered according to the amplicon number without taking the pool into account
- In the primer bed file output in qPCR mode, oligos from the same set are now ordered LEFT, PROBE, RIGHT, i.e. by position on the reference
- The per-base mismatch plot now uses final primer names as panel titles
- The amplicon bed file, in all modes, is now formatted as proper six-column bed
**(3) Algorithmic fixes and enhancements:**
- The internal representation of amplicon schemes has been unified/simplified across the different modes and steps of the analysis
- Search for final non-overlapping amplicons in single mode and for non-overlapping amplicons passing deltaG in qpcr mode has been optimized and is now significantly faster
- Some off-by-one errors in internal primer and amplicon interval calculations have been fixed - generally more primers are now found and considered
**Full Changelog**: https://github.com/jonas-fuchs/varVAMP/compare/v.1.1.3...v.1.2.0
v.1.1.3
Proper v.1.1.3 release with correct varVAMP version.
v.1.1.3-alpha
**Minor bug fix**
Fixed bug in the BLAST - qPCR module interface.
v.1.1.2
Some minor fixes:
- `END_OVERLAP` is now getting logged and error is reported if set to negative values.
- fixed a bug that caused a crash in the qpcr mode if `-a` = 0 and `-pa` not set. Now it sets `-pa` to 0.
v.1.1.1
HOTFIX
**Fixes:**
- fixed error with the qPCR mode in combination with a blast db that occured due to the renaming of the primers
- harmonized primer naming in the code at multiple places for consistency - now all primers are named based on their direction or function as: `LEFT ` `RIGHT `or `PROBE`
v.1.1
**NEW:**
- introduced a config class that enables the user to provide a custom varVAMP config file. Instead of changing the config.py file, the user can can prepend `VARVAMP_CONFIG=<path/to/custom_config> ` to any regular varvamp command line without any changes to the code basis.
**FIXES:**
- consistent primer naming over all modes
- blast is now called by a sub-process as biopython's blast module will be removed in the future.
- updated the documentation
- fixed the `--threads` option in combination with `-db`
Large thanks to wm75 for these improvements!
v.1.0.1
**NEW**
changed SANGER mode to SINGLE mode. Better naming to what this modus actually does. Design primers for single amplicons.
v.1.0
**NEW**
- added fasta output for primers
- new workflow.png in the "How varVAMP works" section
- renamed `n_threads ` argument to `threads`
**FIXES**
- renamed scores to penalties at several pos in the code to avoid confusion.
- code reformatting and clearer documentation
- more intuitive way of how polyX and polyXY are counted (prior three repeat was equal to the Primer setting `MAX_POLYX ` = 3, but meant that stretches of e.g. 4 As were tolerated). Now the counting was adjusted so that `MAX_POLYX ` = 4 is equal to the prior `MAX_POLYX ` = 3.
- renamed primer names in a more intuitive manner. The old primer names are now given as alternate names in the tsv.
v.0.9.5
**FIXES:**
Fixed entropy calculation for the final plot as the normalization was not correct in prior versions. Entropy is now correctly normalized (prior there was some miscalculation with the log base).
v.0.9.4
Update to v.0.9.4
No new features but major changes to how many primers are found and quite a lot of bug fixes that appeared during stress-testing.
**NEW:**
- overhauled best primer search (now only excludes primers that overlap with the middle third of a high scoring primer) increasing the amount of primers that are found roughly 2.5 times. Mostly useful for very short amplicons (<400 bp) where the optimal primers were too widely spaced. Now primers adjacent or minimally overlapping are found.
- massively increased kmer digestion runtime (set instead of list)
- amplicon penalty is increased for amplicons longer than the optimum (e^(fold length) instead of fold length) biasing the scheme towards the shorter more optimal amplicons
- updated docs
- tsv files start positions are now 1 based instead of 0 based to avoid confusion
- overhauled dimer search in scheme. Previously could not exit while loop in some cases. Now it tries to solve primer dimers once and reports any dimer pairs that after the initial solve appear (not perfect but should catch most primer dimers)
**TWEAKS to get slightly more primers:**
- increased MAX_BASE_PENALTY to 10
- decreased primer min temp by 1°C
**BUGFIXES:**
- fixed bug that caused the alignment to be trimmed massively if there was a deletion of the length 1
- fixed warnings caused by non-closed figures
- fixed unintended random sorting of primers with the same score
- fixed a bug in dimer reporting
- BLAST installation check is now performed for all modi
v.0.9.3
NEW:
To ensure no unspecific products of probe and primers (might lead to unspecific hydrolysis) varVAMP now checks:
- all primer permutations against all probe permutations for primer dimers
- overlaps between the ends of probe and primers for all permutations
- overlap constraint can be specified within the config.py
- modified the dimer function so structure can be analyzed
FIXES:
- adjusted warning setting for seq length from 1% deviation to 2%
- removed .idea folder
v.0.9.2
NEW:
- simple check if sequences of the input alignment are in a similar range (produces warning)
- BLAST modus for qPCR
- multiprocessing for some higher compute functions:
- alignment cleaning
- off-target prediction
- deltaG calculation
FIXES:
- tweaked BLAST settings
v.0.9.1
NEW:
- goodbye message
FIXES:
- fixed wrong time measurement when blast is run
- fixed filtering of hits from blast search
- fixed off-target hits only if correct primer binding directions
IMPROVEMENTS:
- slightly increased the speed for off-targets searches
v.0.9
NEW:
- TILED/SANGER modi have now the -db (BLAST database) and -th (threads) option:
--> BLAST feature allows the user to check their primers against an BLAST db and evaluates potential off-targets
--> off-targets are defined as primer pairs that produce blast hits laying on the same genome/sequence and are sufficiently close.
--> amplicons with off-targets get a significantly higher penalty to ensure that they are only used in rare cases
- updated docs accordingly
v.0.8.3
FIXED:
- fixed error catching for qPCR mode. Now it displays settings that are not recommended.
v.0.8.2
**HOTFIX**
Fixed:
- Bug that at certain settings the alignment cleaning could produce an empty list, leading to a crash
- Bug with the automatic parameter selection where the last frequency was not appended, leading to a high underestimation of the parameters if the alignment had no positions that fell under the frequency threshold cutoff that starts at 0.1
- changed a small typo in the log file
- updated version
v.0.8
NEW:
- integrated automatic parameter selection for -t, -a and -pa
FIXES:
- Fixed small plotting issue.
- Fixed a bug if -a was set to 0
- changed "conserved regions" to "primer regions" as this could be misleading.
- updated documentation accordingly
v.0.7
**FIXES**
- changed conserved region search (now allows overlapping regions)
- this increases the primer output quite significantly
v.0.6
**NEW**
- deltaG cutoff now as arg option
- amplicons with small deletions are still considered for free energy calculation
- updated docs
**FIXED**
- requirements updated (seqfold)
v.0.5
**NEW:**
- mode specific arg parsing
- qPCR mode
- included seqfold as dependency to calculate delta G
**FIXES:**
- fixed some small plotting bug
- update documentation
v.0.4
New:
- introduced SANGER mode
Fixes:
- reworked arg parsing
v.0.3
Reworked the primer search and included primer dimer search for each pool of the tiling amplicons
alpha
This contains the first public release and a functioning version of the primer design for Amplicon Sequencing.