Releases: althonos/pyhmmer
Releases · althonos/pyhmmer
v0.12.1
Added
Sequence.Lproperty to get the length of a sequence consistently withHMM.M.Matrix.flattenmethod to get aVectorover the whole C-contiguous buffer of aMatrix.allocMproperty toProfileandOptimizedProfileto get the allocated capacity.HMM.emit_sequence,HMM.emit_alignmentandProfile.emit_sequenceto generate sequences from a model (#102).- Missing type hints for
gap_index,gap_symbolandtypeproperties ofAlphabet.
Removed
Profile.transition_scoresdue to memory leak.
Fixed
SequenceFile.__init__crashing on opening SSI indices for gzip-compressed files.
v0.12.0
Added
- Support for Windows AMD64 builds with MinGW (#92, see documentation).
SequenceBlock.writemethod to write all sequences from a block to a file.SequenceBlock.total_lengthto compute the sum of lengths of sequences in a block.- Subclasses
DNA,RNAandAAofpyhmmer.easel.Alphabetto allow marking the alphabet type with type annotations. VectorIandMatrixIclasses topyhmmer.easelto store Cinttypes (usually 32 bits).OptimizedProfile.ssv_filtermethod for NEON target in addition to SSE.msv_filtermethod toProfileandOptimizedProfileclasses.Background.null1to compute the null1 lod score for an arbitrarySequence.HMMFile._fileexposing the internal file-like object given toHMMFileconstructor, if any (#89).SSIReader.primary_keysexposing a read-only sequence of primary keys inside a SSI file.SequenceFile.indexedandMSAFile.indexedto access data indexed with a SSI index (#85).
Changed
- Setup compilation in Stable ABI mode for Python 3.12 and later.
- Setup distribution to generate a CMake package file to facilitate usage with downstream
scikit-build-coredependent packages. - breaking: Make most textual attributes and properties
strrather thanbytes(#88).- Turn the following properties of
Sequenceintostrinstead ofbytes:accession,description,name,source. - Turn the following properties of
MSAintostrinstead ofbytes:accession,description,name,source,author,names,reference,model_mask,secondary_structure,surface_accessibility,posterior_probabilities. - Turn the following properties of
HMM,ProfileandOptimizedProfileintostrinstead ofbytes:name,accession,description. - Turn the following properties of
Alignmentintostrinstead ofbytes:hmm_name,hmm_accession,hmm_sequence,target_name,target_sequence. - Make
SequenceBlock.indexedandMSA.indexedmapping usestrfor keys instead ofbytes. - Make
SSIReaderandSSIWriterusestrfor keys and aliases instead ofbytes.
- Turn the following properties of
- Make
DigitalSequence,DigitalSequenceBlock,DigitalMSA,SequenceFile,MSAFile,HMM,Profile,OptimizedProfileBlock,Background,Builder,Pipeline,HMMFile,HMMPressedFilegeneric over the alphabet type. - Reorganize setup so that Easel and HMMER libraries, C headers and Cython headers are installed to the Python site path.
- Reorganize tests to skip tests in the absence of data files and remove larger test files from PyPI distributions.
- Enforce detection of invalid buffer sizes in
_from_raw_bytesclass constructors of various objects. - Use
PyUnicode_DecodeASCIIto decode ASCII strings of known length instead ofPyUnicode_FromStringwhere applicable. - Allow passing a buffer-protocol object interpreted as an ASCII string to the
TextSequenceconstructor.
Fixed
- Remove
hmmlogo.cfrom compiled HMMER sources to avoid an issue with the presence of amainfunction when linking. - Avoid using
multiprocessing.Valueinpyhmmer.hmmerwhile in single-threaded mode for improved compatibility. - Memory leak in
Matrixcaused by outdated allocation logic for zero dimensions. - Make
HMMFileconstructor pretend to stream when given a file-like object to prevent HMMER from callingfseekandftell. - Incorrect declaration of Cython type declarations in various
MSAproperty setters. - Ensure correct background alphabet in
Pipelineconstructor when given aBackgroundas argument. TopHits.mergepotentially recomputing inclusion/reporting flags for hits obtained with bitscore cuttoffs.SSIReadermissing methods in type stubs (#85).
Removed
- Outdated compatibility code for PyPy 3.6.
- Support for positional arguments other than
alphabetinTextMSA,DigitalMSA,TextSequenceandDigitalSequenceconstructors.
v0.12.0-alpha.7
Added
- Support for Windows AMD64 builds with MinGW (#92, see documentation).
SequenceBlock.writemethod to write all sequences from a block to a file.SequenceBlock.total_lengthto compute the sum of lengths of sequences in a block.- Subclasses
DNA,RNAandAAofpyhmmer.easel.Alphabetto allow marking the alphabet type with type annotations. VectorIandMatrixIclasses topyhmmer.easelto store Cinttypes (usually 32 bits).OptimizedProfile.ssv_filtermethod for NEON target in addition to SSE.msv_filtermethod toProfileandOptimizedProfileclasses.Background.null1to compute the null1 lod score for an arbitrarySequence.HMMFile._fileexposing the internal file-like object given toHMMFileconstructor, if any (#89).
Changed
- Setup compilation in Stable ABI mode for Python 3.12 and later.
- Setup distribution to generate a CMake package file to facilitate usage with downstream
scikit-build-coredependent packages. - breaking: Make most textual attributes and properties
strrather thanbytes(#88).- Turn the following properties of
Sequenceintostrinstead ofbytes:accession,description,name,source. - Turn the following properties of
MSAintostrinstead ofbytes:accession,description,name,source,author,names,reference,model_mask,secondary_structure,surface_accessibility,posterior_probabilities. - Turn the following properties of
HMM,ProfileandOptimizedProfileintostrinstead ofbytes:name,accession,description. - Turn the following properties of
Alignmentintostrinstead ofbytes:hmm_name,hmm_accession,hmm_sequence,target_name,target_sequence. - Make
SequenceBlock.indexedandMSA.indexedmapping usestrfor keys instead ofbytes. - Make
SSIReaderandSSIWriterusestrfor keys and aliases instead ofbytes.
- Turn the following properties of
- Make
DigitalSequence,DigitalSequenceBlock,DigitalMSA,SequenceFile,MSAFile,HMM,Profile,OptimizedProfileBlock,Background,Builder,Pipeline,HMMFile,HMMPressedFilegeneric over the alphabet type. - Reorganize setup so that Easel and HMMER libraries, C headers and Cython headers are installed to the Python site path.
- Reorganize tests to skip tests in the absence of data files and remove larger test files from PyPI distributions.
- Enforce detection of invalid buffer sizes in
_from_raw_bytesclass constructors of various objects. - Use
PyUnicode_DecodeASCIIto decode ASCII strings of known length instead ofPyUnicode_FromStringwhere applicable. - Allow passing a buffer-protocol object interpreted as an ASCII string to the
TextSequenceconstructor.
Fixed
- Remove
hmmlogo.cfrom compiled HMMER sources to avoid an issue with the presence of amainfunction when linking. - Avoid using
multiprocessing.Valueinpyhmmer.hmmerwhile in single-threaded mode for improved compatibility. - Memory leak in
Matrixcaused by outdated allocation logic for zero dimensions. - Make
HMMFileconstructor pretend to stream when given a file-like object to prevent HMMER from callingfseekandftell. - Incorrect declaration of Cython type declarations in various
MSAproperty setters. - Ensure correct background alphabet in
Pipelineconstructor when given aBackgroundas argument. TopHits.mergepotentially recomputing inclusion/reporting flags for hits obtained with bitscore cuttoffs.SSIReadermissing methods in type stubs (#85).
Removed
- Outdated compatibility code for PyPy 3.6.
- Support for positional arguments other than
alphabetinTextMSA,DigitalMSA,TextSequenceandDigitalSequenceconstructors.
v0.12.0-alpha.6
Added
- Support for Windows AMD64 builds with MinGW (#92, see documentation).
SequenceBlock.writemethod to write all sequences from a block to a file.SequenceBlock.total_lengthto compute the sum of lengths of sequences in a block.- Subclasses
DNA,RNAandAAofpyhmmer.easel.Alphabetto allow marking the alphabet type with type annotations. VectorIandMatrixIclasses topyhmmer.easelto store Cinttypes (usually 32 bits).OptimizedProfile.ssv_filtermethod for NEON target in addition to SSE.msv_filtermethod toProfileandOptimizedProfileclasses.Background.null1to compute the null1 lod score for an arbitrarySequence.HMMFile._fileexposing the internal file-like object given toHMMFileconstructor, if any (#89).
Changed
- Setup compilation in Stable ABI mode for Python 3.12 and later.
- Setup distribution to generate a CMake package file to facilitate usage with downstream
scikit-build-coredependent packages. - breaking: Make most textual attributes and properties
strrather thanbytes(#88).- Turn the following properties of
Sequenceintostrinstead ofbytes:accession,description,name,source. - Turn the following properties of
MSAintostrinstead ofbytes:accession,description,name,source,author,names,reference,model_mask,secondary_structure,surface_accessibility,posterior_probabilities. - Turn the following properties of
HMM,ProfileandOptimizedProfileintostrinstead ofbytes:name,accession,description. - Turn the following properties of
Alignmentintostrinstead ofbytes:hmm_name,hmm_accession,hmm_sequence,target_name,target_sequence. - Make
SequenceBlock.indexedandMSA.indexedmapping usestrfor keys instead ofbytes. - Make
SSIReaderandSSIWriterusestrfor keys and aliases instead ofbytes.
- Turn the following properties of
- Make
DigitalSequence,DigitalSequenceBlock,DigitalMSA,SequenceFile,MSAFile,HMM,Profile,OptimizedProfileBlock,Background,Builder,Pipeline,HMMFile,HMMPressedFilegeneric over the alphabet type. - Reorganize setup so that Easel and HMMER libraries, C headers and Cython headers are installed to the Python site path.
- Reorganize tests to skip tests in the absence of data files and remove larger test files from PyPI distributions.
- Enforce detection of invalid buffer sizes in
_from_raw_bytesclass constructors of various objects. - Use
PyUnicode_DecodeASCIIto decode ASCII strings of known length instead ofPyUnicode_FromStringwhere applicable. - Allow passing a buffer-protocol object interpreted as an ASCII string to the
TextSequenceconstructor.
Fixed
- Remove
hmmlogo.cfrom compiled HMMER sources to avoid an issue with the presence of amainfunction when linking. - Avoid using
multiprocessing.Valueinpyhmmer.hmmerwhile in single-threaded mode for improved compatibility. - Memory leak in
Matrixcaused by outdated allocation logic for zero dimensions. - Make
HMMFileconstructor pretend to stream when given a file-like object to prevent HMMER from callingfseekandftell. - Incorrect declaration of Cython type declarations in various
MSAproperty setters. - Ensure correct background alphabet in
Pipelineconstructor when given aBackgroundas argument. TopHits.mergepotentially recomputing inclusion/reporting flags for hits obtained with bitscore cuttoffs.SSIReadermissing methods in type stubs (#85).
Removed
- Outdated compatibility code for PyPy 3.6.
- Support for positional arguments other than
alphabetinTextMSA,DigitalMSA,TextSequenceandDigitalSequenceconstructors.
v0.12.0-alpha.5
Added
SequenceBlock.writemethod to write all sequences from a block to a file.SequenceBlock.total_lengthto compute the sum of lengths of sequences in a block.- Subclasses
DNA,RNAandAAofpyhmmer.easel.Alphabetto allow marking the alphabet type with type annotations. VectorIandMatrixIclasses topyhmmer.easelto store Cinttypes (usually 32 bits).OptimizedProfile.ssv_filtermethod for NEON target in addition to SSE.msv_filtermethod toProfileandOptimizedProfileclasses.Background.null1to compute the null1 lod score for an arbitrarySequence.
Changed
- Setup compilation in Stable ABI mode for Python 3.12 and later.
- Setup distribution to generate a CMake package file to facilitate usage with downstream
scikit-build-coredependent packages. - breaking: Make most textual attributes and properties
strrather thanbytes(#88).- Turn the following properties of
Sequenceintostrinstead ofbytes:accession,description,name,source. - Turn the following properties of
MSAintostrinstead ofbytes:accession,description,name,source,author,names,reference,model_mask,secondary_structure,surface_accessibility,posterior_probabilities. - Turn the following properties of
HMM,ProfileandOptimizedProfileintostrinstead ofbytes:name,accession,description. - Turn the following properties of
Alignmentintostrinstead ofbytes:hmm_name,hmm_accession,hmm_sequence,target_name,target_sequence. - Make
SequenceBlock.indexedandMSA.indexedmapping usestrfor keys instead ofbytes. - Make
SSIReaderandSSIWriterusestrfor keys and aliases instead ofbytes.
- Turn the following properties of
- Make
DigitalSequence,DigitalSequenceBlock,DigitalMSA,SequenceFile,MSAFile,HMM,Profile,OptimizedProfileBlock,Background,Builder,Pipeline,HMMFile,HMMPressedFilegeneric over the alphabet type. - Reorganize setup so that Easel and HMMER libraries, C headers and Cython headers are installed to the Python site path.
- Reorganize tests to skip tests in the absence of data files and remove larger test files from PyPI distributions.
- Enforce detection of invalid buffer sizes in
_from_raw_bytesclass constructors of various objects. - Use
PyUnicode_DecodeASCIIto decode ASCII strings of known length instead ofPyUnicode_FromStringwhere applicable. - Allow passing a buffer-protocol object interpreted as an ASCII string to the
TextSequenceconstructor.
Fixed
- Remove
hmmlogo.cfrom compiled HMMER sources to avoid an issue with the presence of amainfunction when linking. - Avoid using
multiprocessing.Valueinpyhmmer.hmmerwhile in single-threaded mode for improved compatibility. - Memory leak in
Matrixcaused by outdated allocation logic for zero dimensions. - Make
HMMFileconstructor pretend to stream when given a file-like object to prevent HMMER from callingfseekandftell. - Incorrect declaration of Cython type declarations in various
MSAproperty setters. - Ensure correct background alphabet in
Pipelineconstructor when given aBackgroundas argument. TopHits.mergepotentially recomputing inclusion/reporting flags for hits obtained with bitscore cuttoffs.SSIReadermissing methods in type stubs (#85).
Removed
- Outdated compatibility code for PyPy 3.6.
- Support for positional arguments other than
alphabetinTextMSA,DigitalMSA,TextSequenceandDigitalSequenceconstructors.
v0.12.0-alpha.4
Added
SequenceBlock.writemethod to write all sequences from a block to a file.SequenceBlock.total_lengthto compute the sum of lengths of sequences in a block.- Subclasses
DNA,RNAandAAofpyhmmer.easel.Alphabetto allow marking the alphabet type with type annotations. VectorIandMatrixIclasses topyhmmer.easelto store Cinttypes (usually 32 bits).OptimizedProfile.ssv_filtermethod for NEON target in addition to SSE.
Changed
- Setup compilation in Stable ABI mode for Python 3.12 and later.
- breaking: Make most textual attributes and properties
strrather thanbytes(#88).- Turn the following properties of
Sequenceintostrinstead ofbytes:accession,description,name,source. - Turn the following properties of
MSAintostrinstead ofbytes:accession,description,name,source,author,names,reference,model_mask,secondary_structure,surface_accessibility,posterior_probabilities. - Turn the following properties of
HMM,ProfileandOptimizedProfileintostrinstead ofbytes:name,accession,description. - Turn the following properties of
Alignmentintostrinstead ofbytes:hmm_name,hmm_accession,hmm_sequence,target_name,target_sequence. - Make
SequenceBlock.indexedandMSA.indexedmapping usestrfor keys instead ofbytes. - Make
SSIReaderandSSIWriterusestrfor keys and aliases instead ofbytes.
- Turn the following properties of
- Make
DigitalSequence,DigitalSequenceBlock,DigitalMSA,SequenceFile,MSAFile,HMM,Profile,OptimizedProfileBlock,Background,Builder,Pipeline,HMMFile,HMMPressedFilegeneric over the alphabet type. - Reorganize setup so that Easel and HMMER libraries, C headers and Cython headers are installed to the Python site path.
- Reorganize tests to skip tests in the absence of data files and remove larger test files from PyPI distributions.
- Enforce detection of invalid buffer sizes in
_from_raw_bytesclass constructors of various objects. - Use
PyUnicode_DecodeASCIIto decode ASCII strings of known length instead ofPyUnicode_FromStringwhere applicable. - Allow passing a buffer-protocol object interpreted as an ASCII string to the
TextSequenceconstructor.
Fixed
- Remove
hmmlogo.cfrom compiled HMMER sources to avoid an issue with the presence of amainfunction when linking. - Avoid using
multiprocessing.Valueinpyhmmer.hmmerwhile in single-threaded mode for improved compatibility. - Memory leak in
Matrixcaused by outdated allocation logic for zero dimensions. - Make
HMMFileconstructor pretend to stream when given a file-like object to prevent HMMER from callingfseekandftell. - Incorrect declaration of Cython type declarations in various
MSAproperty setters. - Ensure correct background alphabet in
Pipelineconstructor when given aBackgroundas argument.
Removed
- Outdated compatibility code for PyPy 3.6.
- Support for positional arguments other than
alphabetinTextMSA,DigitalMSA,TextSequenceandDigitalSequenceconstructors.
v0.12.0-alpha.3
Added
SequenceBlock.writemethod to write all sequences from a block to a file.- Subclasses
DNA,RNAandAAofpyhmmer.easel.Alphabetto allow marking the alphabet type with type annotations.
Changed
- Setup compilation in Stable ABI mode for Python 3.12 and later.
- breaking: Make most textual attributes and properties
strrather thanbytes(#88).- Turn the following properties of
Sequenceintostrinstead ofbytes:accession,description,name,source. - Turn the following properties of
MSAintostrinstead ofbytes:accession,description,name,source,author,names,reference,model_mask,secondary_structure,surface_accessibility,posterior_probabilities. - Turn the following properties of
HMM,ProfileandOptimizedProfileintostrinstead ofbytes:name,accession,description. - Turn the following properties of
Alignmentintostrinstead ofbytes:hmm_name,hmm_accession,hmm_sequence,target_name,target_sequence. - Make
SequenceBlock.indexedandMSA.indexedmapping usestrfor keys instead ofbytes. - Make
SSIReaderandSSIWriterusestrfor keys and aliases instead ofbytes.
- Turn the following properties of
- Make
DigitalSequence,DigitalSequenceBlock,DigitalMSA,SequenceFile,MSAFile,HMM,Profile,OptimizedProfileBlock,Background,Builder,Pipeline,HMMFile,HMMPressedFilegeneric over the alphabet type. - Reorganize setup so that Easel and HMMER libraries, C headers and Cython headers are installed to the Python site path.
- Reorganize tests to skip tests in the absence of data files and remove larger test files from PyPI distributions.
- Enforce detection of invalid buffer sizes in
_from_raw_bytesclass constructors of various objects. - Use
PyUnicode_DecodeASCIIto decode ASCII strings of known length instead ofPyUnicode_FromStringwhere applicable.
Fixed
- Remove
hmmlogo.cfrom compiled HMMER sources to avoid an issue with the presence of amainfunction when linking. - Avoid using
multiprocessing.Valueinpyhmmer.hmmerwhile in single-threaded mode for improved compatibility. - Memory leak in
Matrixcaused by outdated allocation logic for zero dimensions. - Make
HMMFileconstructor pretend to stream when given a file-like object to prevent HMMER from callingfseekandftell. - Incorrect declaration of Cython type declarations in various
MSAproperty setters.
Removed
- Outdated compatibility code for PyPy 3.6.
- Support for positional arguments other than
alphabetinTextMSA,DigitalMSA,TextSequenceandDigitalSequenceconstructors.
v0.12.0-alpha.2
Added
SequenceBlock.writemethod to write all sequences from a block to a file.- Subclasses
DNA,RNAandAAofpyhmmer.easel.Alphabetto allow marking the alphabet type with type annotations.
Changed
- breaking: Make most textual attributes and properties
strrather thanbytes(#88).- Turn the following properties of
Sequenceintostrinstead ofbytes:accession,description,name,source. - Turn the following properties of
MSAintostrinstead ofbytes:accession,description,name,source,author,names,reference,model_mask,secondary_structure,surface_accessibility,posterior_probabilities. - Turn the following properties of
HMM,ProfileandOptimizedProfileintostrinstead ofbytes:name,accession,description. - Turn the following properties of
Alignmentintostrinstead ofbytes:hmm_name,hmm_accession,hmm_sequence,target_name,target_sequence. - Make
SequenceBlock.indexedandMSA.indexedmapping usestrfor keys instead ofbytes. - Make
SSIReaderandSSIWriterusestrfor keys and aliases instead ofbytes.
- Turn the following properties of
- Make
DigitalSequence,DigitalSequenceBlock,DigitalMSA,SequenceFile,MSAFile,HMM,Profile,OptimizedProfileBlock,Background,Builder,Pipeline,HMMFile,HMMPressedFilegeneric over the alphabet type. - Reorganize setup so that Easel and HMMER libraries, C headers and Cython headers are installed to the Python site path.
- Reorganize tests to skip tests in the absence of data files and remove larger test files from PyPI distributions.
- Enforce detection of invalid buffer sizes in
_from_raw_bytesclass constructors of various objects. - Use
PyUnicode_DecodeASCIIto decode ASCII strings of known length instead ofPyUnicode_FromStringwhere applicable.
Fixed
- Remove
hmmlogo.cfrom compiled HMMER sources to avoid an issue with the presence of amainfunction when linking. - Avoid using
multiprocessing.Valueinpyhmmer.hmmerwhile in single-threaded mode for improved compatibility. - Memory leak in
Matrixcaused by outdated allocation logic for zero dimensions. - Make
HMMFileconstructor pretend to stream when given a file-like object to prevent HMMER from callingfseekandftell. - Incorrect declaration of Cython type declarations in various
MSAproperty setters.
Removed
- Outdated compatibility code for PyPy 3.6.
- Support for positional arguments other than
alphabetinTextMSA,DigitalMSA,TextSequenceandDigitalSequenceconstructors.
v0.11.4
Added
- Support for multithreading in
hmmalign.
Fixed
- Formatting issues in
TestMSA.compute_weightsdocumentation (#96). Trace.__eq__exiting the interpreter on inequality (EddyRivasLab/hmmer#344).
Changed
- Make
Tracesmore similar toSequenceBlockand implement list-like interface (append,extend,clear, ...).
v0.11.3
Added
VectorDandMatrixDclasses for double-precision data.__abs__implementations for floating-pointVectorandMatrixtypes.MSA.sequence_weightsto access the sequence weights of an alignment.MSA.compute_weightsto compute the sequence weights of an alignment likeesl-weight(#94)MSA.mark_fragmentsmethod to identify fragmented sequences in an alignment.DigitalMSA.reverse_complementmethod to reverse-complement a nucleotide alignment.
Fixed
- Erroneous categories in documentation (#95, by @mtrsl).
TextMSAandDigitalMSAconstructors now default-initialize the sequence weights of the Easel alignment.
Changed
- Relax
psutildependency to allow versions as early as5.0. - Replace some cases of
ValueErrorexceptions inpyhmmer.easelwith more specificInvalidParametererrors.