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.pyandthermoanalysis.pyxmigrated
primer3/wrappers.pytotests/wrappers.pyto indicate it should not be used.Expanded test coverage and now using pytest for testing
Added pre-commit hooks
Using primer3
read_boulder_recordto 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-pycode thread-safeDocumentation migrated to MyST Markdown
Version 0.6.1 (May 9, 2020)
Fixed issue related to absolute paths populated in
SOURCES.txtof sdistClean up in
setup.pyand 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.calcTmreturned 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.cC macro errors.Added the
todict()methods inthermoanalysis.pyxfor 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_clibto 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_intervalswas not properly set via the bindingsFixed typo that caused incorrect output for
PRIMER_PAIR_EXPLAIN
Version 0.5.1 (May 25, 2016)
Update
thal.cto incorporate traceback fix from Primer3 dev team (thanks Triinu)
Version 0.5.0 (February 25, 2016)
Update
libprimer3to 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
misprimingCheckfunction toprimer3/thermoanalysis.pyxCorrected 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, andcalcEndStabilitynow raiseRuntimeErrors 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
libprimer3Refactored
libprimer3to pure C (khashlib 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
calcTmfunction 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_libinsetup.cfg)Documentation updates
Version 0.1 (March 3, 2014)
Initial release