Changelog
Version 1.0.0 (February 10, 2023)
Migrated primer3 source to 2.6.1 version
Intergrated all Python C-API related code into thermoanalysis.pyx/pxd
Deprecated camelCase related functions and added snake_case functions / methods in
bindings.py
andthermoanalysis.pyx
migrated
primer3/wrappers.py
totests/wrappers.py
to indicate it should not be used.Expanded test coverage and now using pytest for testing
Added pre-commit hooks
Using primer3
read_boulder_record
to setup primer3 data structures instead of reproducing code in primer3-py C or CythonIntergrated GitHub Actions for CI
Updated documentation
Begin process of making
primer3-py
code thread-safeDocumentation migrated to MyST Markdown
Version 0.6.1 (May 9, 2020)
Fixed issue related to absolute paths populated in
SOURCES.txt
of sdistClean up in
setup.py
and better Windows build support
Version 0.6.0 (May 10, 2019)
Added functionality for bindings to expose the ASCII representation of computed dimer and hairpin structures
Version 0.5.7 (August 10, 2018)
Changes to upper case sequences in seqtm() in oligotm.c because calls to
ThermoAnalysis.calcTm
returned 0.0 for strings with lower case lettersdisabled existing tests on Windows due to incompatibility with process and memory calls. TODO: create more tests for
ThermoAnalysis
Version 0.5.6 (July 12, 2018)
Fixes to
primerdesign_helpers.c
C macro errors.Added the
todict(
)methods in
thermoanalysis.pyx
for serialization help for tests there
Version 0.5.5 (October 30, 2017)
Remove unicode character from
README.rst
Version 0.5.4 (June 20, 2017)
Migration of Cython extension build process to
build_clib
to remove Cython as a runtime requirement forsetup.py
(thanks to @tdsmith)
Version 0.5.3 (May 6, 2017)
Fixed improper assignment of
"PRIMER_PAIR_MAX_COMPL_END_TH"
during design arg parsing
Version 0.5.2 (May 1, 2017)
Fixed issue where
pa->num_intervals
was not properly set via the bindingsFixed typo that caused incorrect output for
PRIMER_PAIR_EXPLAIN
Version 0.5.1 (May 25, 2016)
Update
thal.c
to incorporate traceback fix from Primer3 dev team (thanks Triinu)
Version 0.5.0 (February 25, 2016)
Update
libprimer3
to version 2.3.7Better test coverage for low level bindings
Version 0.4.3 (December 1, 2015)
Fixed compilation errors, unicode-related build problems
Fixed memory allocation / deallocation issues with mispriming libraries
Version 0.4.2 (September 18, 2015)
Added
misprimingCheck
function toprimer3/thermoanalysis.pyx
Corrected unclear syntax in C API code
Version 0.4.1 (November 28, 2014)
Better documentation regarding max. seq. lengths for thermo. calcs
calcHairpin
,calcHomodimer
,calcHeterodimer
, andcalcEndStability
now raiseRuntimeError
s as appropriate
Version 0.4.0 (November 25, 2014)
Several major bug fixes in the design bindings pipeline
Better testing framework for the design bindings
New documentation system
Better under-the-hood thermodynamic analysis abstraction
Version 0.3.1 (August 13, 2014)
Improved support for sequences stored in Bytes objects
Renamed getThermoParams to loadThermoParams for clarity
Version 0.3.0 (August 12, 2014)
Fixed memory leak in global param struct allocation for design bindings
Integrated C API patch code into
libprimer3
Refactored
libprimer3
to pure C (khash
lib is now used in lieu of hashmap)Corrected many minor compiler warnings in
libprimer3
(POTENTIAL BREAKING CHANGE) Refactored thermodynamic alignment bindings to always return a thermoresult namedtuple (in the previous embodiment, if no structure was found, the return value was
None
)
Version 0.2.5 (August 7, 2014)
Fixed incorrect tm/salt correction method lookups in
calcTm
function in both bindings and wrappers
Version 0.2.4 (June 17, 2014)
Addressed bug in mispriming/mishybridization library parsing in which memory for the global parameters struct was not being properly allocated
Version 0.2.3 (June 5, 2014)
Corrected several potential sources of memory leaks in the C API design bindings.
Version 0.2.2 (June 3, 2014)
Corrected issue with parsing
"SEQUENCE_PRIMER_PAIR_OK_REGION_LIST"
as a python sequence object."SEQUENCE_PRIMER_PAIR_OK_REGION_LIST"
should now be provided as a list of lists or tuple of tuples (or a combination of the two). -1 should be used in the case where an index is ommitted. For example:Primer3 boulder IO input: 100,50,300,50 ; 900,60,, Primer3 python input: [[100,50,300,50], [900,60,-1,-1]]
Version 0.2.1 (April 24, 2014)
C API path fix
Version 0.2 (April 23, 2014)
Corrected installation issue (replace inplace with
build_lib
insetup.cfg
)Documentation updates
Version 0.1 (March 3, 2014)
Initial release