Pyhmmer

Latest version: v0.10.12

Safety actively analyzes 638346 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 4 of 9

0.7.3

Fixed
- Wrong argument type in `IterativeSearch.iterate_hmm` method ([34](https://github.com/althonos/pyhmmer/pull/34), by [zdk123](https://github.com/zdk123)).

0.7.2

Added
- `easel.GeneticCode` class wrapping an `ESL_GENCODE` struct for configuring translation.
- `DigitalSequence.translate` method to translate a nucleotide sequence to a protein sequence. Metadata is copied from the source sequence to its translation ([31](https://github.com/althonos/pyhmmer/pull/31), by [valentynbez](https://github.com/valentynbez)).

Deprecated
- `Sequence.taxonomy_id` property, as it is not used by Easel and implementation is not consistent (see [EddyRivasLab/easel68](https://github.com/EddyRivasLab/easel/issues/68)).

0.7.1

Added
- Missing `__reduce__` method to `TopHits`.

Fixed
- Build detection of available platform functions in `setup.py`.

0.7.0

Added
- `Bitfield.zeros` and `Bitfield.ones` classmethods for constructing an empty bitfield of known size.
- `Bitfield.copy` method to copy a bitfield object.
- `SequenceBlock` and `OptimizedProfileBlock` classes to store Python objects next to a contiguous array of pointers for iterating with the GIL released.
- `SequenceFile.read_block` method to read a whole sequence block from a file.
- `HMM.sample` class method to generate a HMM at random given a `Randomness` source.
- `hmmscan` function to scan a profile database with sequence queries.
- `deepcopy` implementations to `HMM`, `Profile` and `OptimizedProfile` classes of `plan7`.
- `rewind` method to `HMMFile`, `HMMPressedFile` and `SequenceFile` to reset a file back to its initial position.
- `name` attribute to `HMMFile`, `HMMPressedFile`, `MSAFile` and `SequenceFile` to expose the path of a file (when it was created from path).
- `local` property to `Profile` and `OptimizedProfile`, indicating whether a profile is in local or global mode.
- `multihit` property to `Profile` and `OptimizedProfile`, indicating whether a profile is in unihit or multihit mode, with a setter taking care of the reconfiguration.
- `Domain.included` and `Domain.reported` settable properties to report the inclusion and reporting status of a single domain.
- `TopHits.included` and `TopHits.reported` sized iterator to iterate only on included and reported hits.
- `Domains.included` and `Domains.reported` sized iterator to iterate only on included and reported domains.

Changed
- `Bitfield`, `Vector` and `Matrix` can now be created from an iterable.
- `Pipeline` search methods now expect a `DigitalSequenceBlock` or a `SequenceFile` for the target sequence database.
- `Pipeline` scan methods now expect an `OptimizedProfileBlock` or a `HMMPressedFile` for the target profile database.
- `TraceAligner` now expect a `DigitalSequenceBlock` for the sequences to align to the HMM.
- `Profile.configure` now uses a default value of 400 for the `L` argument.
- `hmmsearch`, `nhmmer` and `phmmer` support being given a single query instead of requiring an iterable.
- `HMMPressedFile` can now be created, closed and used as a context manager directly without having to manage the source `HMMFile`.
- Renamed `Profile.optimized` method to `Profile.to_optimized`.
- Replaced `Randomness.is_fast` method with the `Randomness.fast` property.
- Rewrite handling of `Hit` flags using settable properties (`Hit.included`, `Hit.reported`, `Hit.new`, `Hit.dropped`, `Hit.duplicate`) instead of methods.

Fixed
- Memory leak in the `LongTargetsPipeline` search loop.
- PyPy behaviour change of `readinto` methods now expecting `unsigned char*` instead of `char*` memoryview.
- `NULL`-pointer dereference in `Pipeline.search_hmm` when given a query without name.
- `LongTargetsPipeline` not recording the query name and accession.
- Memory leak caused by using a non-default prior scheme when constructing a `Builder`.

Removed
- `PipelineSearchTargets`, replaced in functionality with `easel.DigitalSequenceBlock`.
- `is_local` and `is_multihit` methods of `Profile` and `OptimizedProfile`, replaced with equivalent properties.
- `Hit.manually_drop` and `Hit.manually_include` methods, replaced with the different `Hit` properties.

0.6.3

Fixed
- Error not being raised on alphabet detection failure in `SequenceFile` or `MSAFile`.
- Add check in `DigitalSequence` constructor to make sure encoded characters are in valid range ([25](https://github.com/althonos/pyhmmer/issues/25)).

Added
- `SequenceFile.guess_alphabet` and `MSAFile.guess_alphabet` to guess the alphabet from an open file.
- `Alphabet.encode` and `Alphabet.decode` to convert raw sequences between digital and text format.

0.6.2

Changed
- `hmmsearch`, `phmmer` and `nhmmer` functions will reduce the requested number of threads to the number of queries, if it can be detected using `operator.length_hint`.

Added
- Documentation for loading all HMMs from an `HMMFile` object at once ([23](https://github.com/althonos/pyhmmer/issues/23)).
- List of projects depending on PyHMMER to the `Examples` page of the documentation.

Page 4 of 9

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.