Added - `pyhmmer.plan7.HMM.checksum` property to get the 32-bit checksum of an HMM.
0.2.0
Added - `pyhmmer.plan7.Builder` class to handle building a HMM from a sequence. - `Pipeline.search_seq` to query a sequence against a sequence database. - `psutil` dependency to detect the most efficient thread count for `hmmsearch` based on the number of *physical* CPUs. - `pyhmmer.hmmer.phmmer` function to run a search of query sequences against a sequence database.
Changed - `Pipeline.search` was renamed to `Pipeline.search_hmm` for disambiguation. - `libeasel.random` sequences do not require the GIL anymore. - Public API now have proper signature annotations.
Fixed - Inaccurate exception messages in `Pipeline.search_hmm`. - Unneeded RNG reallocation, replaced with re-initialisation where possible. - `SequenceFile.__next__` not working after being set in digital mode. - `sequences` argument of `hmmsearch` now only requires a `typing.Collection[DigitalSequence]` instead of a `typing.Collection[Sequence]` (not more `__getitem__` needed).
Removed - `hits` argument to `Pipeline.search_hmm` to reduce risk of issues with `TopHits` reuse. - Broken alignment coordinates on `Domain` classes.
0.1.4
Added - `DigitalSequence.textize` to convert a digital sequence to a text sequence. - `DigitalSequence.__init__` method allowing to create a digital sequence from any object implementing the buffer protocol. - `Alignment.hmm_accession` property to retrieve the accession of the HMM in an alignment.
0.1.3
Fixed - Compilation issues in OSX-specific Cython code.
0.1.2
Fixed - Required Cython files not being included in source distribution.
0.1.1
Fixed - `HMMFile` calling `file.peek` without arguments, causing it to crash when passed some types, e.g. `gzip.GzipFile`. - `HMMFile` failing to work with PyPy file objects because of a bug with their implementation of `readinto`. - C/Python file object implementation using `strcpy` instead of `memcpy`, causing issues when null bytes were read.