Releases: althonos/pyhmmer
Releases Β· althonos/pyhmmer
v0.10.5
Added
Alignment
properties to get the original lengths of the sequence and HMM being stored.Hit.length
property storing the length of the hit sequence (or HMM).TopHits.query_length
storing the length of the hit HMM (or query).Alignment.posterior_probabilities
property showing an encoded representation of posteriors (#59, by @arajkovic).Trace.score
method to compute a trace score from a given profile and sequence.Alignment.__sizeof__
implementation leveraingp7_alidisplay_SizeOf
.
Fixed
Cutoffs
proxy objects not recording their owner to prevent deallocation.- Avoid GIL re-acquisition in
GeneticCode.translate
. - Query metadata not being recorded in
Hits
obtained fromdaemon.Client
. - Empty
MatrixU8
creation attempting zero-allocation. VectorU8.zeros
allocating 4x more memory than required.- Memory leak caused by string duplication in
__getbuffer__
methods ofMatrix
andVector
types.
v0.10.4
Added
residue_markups
argument toTextSequence
andDigitalSequence
constructors.__reduce__
implementation toTextSequence
,DigitalSequence
,TextSequenceBlock
andDigitalSequenceBlock
.
Changed
- Handling of
easel
I/O methods to avoid implicit GIL acquisition for error checking.
Fixed
- Syntax errors in type annotation files.
v0.10.3
Added
- Out-of-band pickle serialization of
Bitfield
objects. - Getters for
float
attributes and forward/backward parameters ofOptimizedProfile
. InvalidHMM
error raised byHMM.validate
.
Changed
- Mark
HMM.zero
method asnoexcept
. - Increase size of buffer for the query queue in the
hmmer
dispatcher.
Fixed
- Unneeded semaphore in
pyhmmer.hmmer
message passing implementation. - Broken assertion in
Bitfield._from_raw_bytes
. - Relax tolerance of HMM validation in
TraceAligner.align_traces
.
v0.10.2
v0.10.1
Added
HMM.set_consensus
method to set the consensus for a method or compute it from the emission probabilities.
Fixed
- Platform detection for MacOS and Armv7 platforms in
setup.py
. pyhmmer.plan7.HMM
constructor setting a consensus string forcefully.
v0.10.0
Added
- Support for compiling wheels for Aarch64 and NEON-enabled Arm platforms.
Changed
- Updated HMMER to
v3.4
. - Updated Easel to
v0.49
. - Use
cibuildwheel
to build wheel distributions.
Fixed
- Patch missing
PyInterpreterState_GetID
preventing the package from working on PyPy 3.9.
v0.9.0
v0.8.2
Added
- Bracket-style
repr
implementation toHMM
,Profile
andOptimizedProfile
showing model alphabet, length and name. MissingCutoffs
andInvalidParameter
exceptions inheritingValueError
.
Changed
- Replace
pthread
locks withPyThread
API for synchronizing models inOptimizedProfileBlock
.
Fixed
- Sequence length extraction in
LongTargetsPipeline.search_hmm
(#42). LongTargetsPipeline.search_msa
not building a HMM withBuilder.build_msa
.
v0.8.1
Added
HMM.validate
method to ensure a HMM holds HMMER structural constraints.plan7.Transitions
enum with transition names for indexingHMM.transition_probabilities
.
v0.8.0
PyHMMER has been accepted for publication in Bioinformatics. Paper accessible here: doi:10.1093/bioinformatics/btad214.
Added
pyhmmer.hmmer.jackhmmer
function to run several JackHMMER iterative searches in parallel using multithreading (#35, by @zdk123).HMM.to_profile
shortcut method to allocate and configure a newProfile
object.
Fixed
- Type annotations of
Pipeline.iterate_seq
andPipeline.iterate_hmm
. - Potential memory leak on exceptions raised by
HMMPressedFile.read
. Offsets.profile
not recording offsets properly, causingpyhmmer.hmmer.hmmpress
to produce invalid pressed files (#37).
Changed
HMM.__init__
andHMM.sample
now take theAlphabet
as the first argument, for consistency with the rest of the API.HMM
now require aname
argument.
Removed
- Deprecated
ignore_gaps
argument inSequenceFile.__init__
. - Deprecated
Sequence.taxonomy_id
property.