Recent Releases of Pyrodigal
Pyrodigal - v3.6.3-post1
Fixed
- Extra key in
pyproject.tomlcausing build issues with version0.11.0ofscikit-build-core.
Scientific Software - Peer-reviewed
- Cython
Published by althonos about 1 year ago
Pyrodigal - v3.5.0
Added
- Support for reading from
stdinin CLI (#35). - Flag for changing parallel computation to use
Poolinstead ofThreadPool(#57). - Better documentation of command line interface (#56).
- Allow changing the formatter class in
pyrodigal.cli.argument_parser.
Changed
- Migrate documentation to
pydata-sphinx-theme.
Fixed
- Cython warnings with unused
except *statements inMetagenomicBins. - Signatures of
__init__methods missing from all Cython types after thev3.0update. - Small typos in documentation.
Scientific Software - Peer-reviewed
- Cython
Published by github-actions[bot] almost 2 years ago
Pyrodigal - v3.4.1
Changed
- Refactor SIMD code to reduce number of required registers, and improve SSE2 performance.
- Refactor Prodigal initialization functions into sparse initializer code to reduce library size.
Scientific Software - Peer-reviewed
- Cython
Published by github-actions[bot] about 2 years ago
Pyrodigal - v3.4.0
Added
strictargument toGene.translateto control translation of ambiguous codons with unambiguous translation (#54).strict_translationargument toGenes.write_genbankandGenes.write_translation.- Support for translation tables 26 to 33 in
Gene.translate. - Support for translation tables 26, 29, 30, 32 and 33 in
GeneFinder.train. Genes.scoreproperty to count the total score of all extracted genes.full_idparameter toGenes.write_gff,Genes.write_translationandGenes.write_genesto control theIDfield written for each gene (#53).
Changed
Gene.translatenow raises a warning when called with a translation table incompatible with the training info.
Fixed
- Bug in code for masking trailing nucleotides (#55).
Scientific Software - Peer-reviewed
- Cython
Published by github-actions[bot] about 2 years ago
Pyrodigal - v3.3.0
Added
Changed
Scorerinternal API to separate connection scoring and overlap disentangling.
Fixed
- Bug with computation of minimum node in connection scoring loop (hyattpd/Prodigal#108).
- Out-of-bounds sequence access in
_shine_dalgarno_exactand_shine_dalgarno_mmmethods ofSequence. - Memory leak in
Nodes.__setstate__caused by incorrect reallocation.
Scientific Software - Peer-reviewed
- Cython
Published by github-actions[bot] over 2 years ago
Pyrodigal - v3.2.0
Added
- AVX-512 implementation of the SIMD pre-filter.
- Additional support for reading
lz4andxzandzstd-compressed input in the CLI. - Option to change gene finder type in
pyrodigal.cli.main.
Scientific Software - Peer-reviewed
- Cython
Published by github-actions[bot] over 2 years ago
Pyrodigal - v3.0.0
Added
MetagenomicBinscollection to store a dense array ofMetagenomicBinobjects.metagenomic_binskeyword argument toGeneFinderallowing to control which models are used when running gene finding in meta mode (#24).metagenomic_binattribute toGenesreferencing the metagenomic model with which the genes were predicted, if in meta mode.- Additional
TrainingInfoproperties (missing_motif_weight,coding_statistics). - Setters for all remaining
TrainingInfoproperties. - Proper
TrainingInfoconstructor with configuration option for all attributes. TrainingInfo.to_dictmethod to extract all parameters from aTrainingInfo.Genes.write_genbankmethod to write a GenBank record with all predicted genes from a sequence.include_stopflag toGene.translateandGenes.write_translationsto allow excluding the stop codon from the translated sequence.include_translation_tableflag toGenes.write_gffto include the translation table to the GFF attributes of each gene.gbkoutput format to the Pyrodigal CLI.Sequence.unknownproperty exposing the number of unknown nucleotides in the sequence.Sequence.start_probabilityandSequence.stop_probabilityto estimate the probability of encountering a start and a stop codon based on the GC%.
Fixed
Genes.write_gffnot properly reporting the number of bytes written.- Merge several
nogilsections inSequenceconstructor. - Several Cython functions missing a
noexceptqualifier.
Changed
- BREAKING: Rename
OrfFindertoGeneFinderfor consistency. - BREAKING: Use
memoryviewto expose allTrainingInfoattributes instead manually building lists or tuples. - Reorganize memory management of the built-in metagenomic models.
- Make the internal Cython model public (
pyrodigal.lib) to allow importing the underlying classes in other Cython projects. - Use
typing.Literalfor allowed translation table values inpyrodigal.libannotations - Cache intermediate log-odds in
Nodes._raw_coding_scoreto reduce calls topowandlogfunctions. - Inline connection scoring functions to reduce function call overhead.
- Reorganize
struct _nodefields to reduce size in memory. - Make
GeneFinder.find_genesandGeneFinder.trainreserve memory for theNodesbased on the GC% of the input sequence. - Avoid storing temporary results in the generic implementation of
ConnectionScorer.compute_skippable. - Use Cython
freelistfor allocatingNode,Gene,MetagenomicBinandMask. - Increase minimum allocation for
GenesandNodesto reduce early reallocations.
Removed
- BREAKING:
metagenomic_binattribute ofTrainingInfo.
Scientific Software - Peer-reviewed
- Cython
Published by github-actions[bot] over 2 years ago
Pyrodigal - v3.0.0-alpha4
Added
Sequence.unknownproperty exposing the number of unknown nucleotides in the sequence.Sequence.start_probabilityandSequence.stop_probabilityto estimate the probability of encountering a start and a stop codon based on the GC%.
Changed
- Cache intermediate log-odds in
Nodes._raw_coding_scoreto reduce calls topowandlogfunctions. - Inline connection scoring functions to reduce function call overhead.
- Reorganize
struct _nodefields to reduce size in memory. - Make
GeneFinder.find_genesandGeneFinder.trainreserve memory for theNodesbased on the GC% of the input sequence. - Avoid storing temporary results in the generic implementation of
ConnectionScorer.compute_skippable.
Scientific Software - Peer-reviewed
- Cython
Published by github-actions[bot] over 2 years ago
Pyrodigal - v3.0.0-alpha3
Fixed
- Merge several
nogilsections inSequenceconstructor. - Several Cython functions missing a
noexceptqualifier.
Changed
- Use Cython
freelistfor allocatingNode,Gene,MetagenomicBinandMask. - Increase minimum allocation for
GenesandNodesto reduce early reallocations.
Scientific Software - Peer-reviewed
- Cython
Published by github-actions[bot] over 2 years ago
Pyrodigal - v3.0.0-alpha2
Added
Genes.write_genbankmethod to write a GenBank record with all predicted genes from a sequence.include_stopflag toGene.translateandGenes.write_translationsto allow excluding the stop codon from the translated sequence.include_translation_tableflag toGenes.write_gffto include the translation table to the GFF attributes of each gene.gbkoutput format to the Pyrodigal CLI.
Fixed
Genes.write_gffnot properly reporting the number of bytes written.
Changed
- Use
typing.Literalfor allowed translation table values inpyrodigal.libannotations
Scientific Software - Peer-reviewed
- Cython
Published by github-actions[bot] over 2 years ago
Pyrodigal - v3.0.0-alpha1
Added
MetagenomicBinscollection to store a dense array ofMetagenomicBinobjects.metagenomic_binskeyword argument toGeneFinderallowing to control which models are used when running gene finding in meta mode (#24).metagenomic_binattribute toGenesreferencing the metagenomic model with which the genes were predicted, if in meta mode.- Additional
TrainingInfoproperties (missing_motif_weight,coding_statistics). - Setters for all remaining
TrainingInfoproperties. - Proper
TrainingInfoconstructor with configuration option for all attributes. TrainingInfo.to_dictmethod to extract all parameters from aTrainingInfo.
Changed
- BREAKING: Rename
OrfFindertoGeneFinderfor consistency. - Reorganize memory management of the built-in metagenomic models.
- Make the internal Cython model public (
pyrodigal.lib) to allow importing the underlying classes in other Cython projects. - BREAKING: Use
memoryviewto expose allTrainingInfoattributes instead manually building lists or tuples.
Removed
- BREAKING:
metagenomic_binattribute ofTrainingInfo.
Scientific Software - Peer-reviewed
- Cython
Published by github-actions[bot] over 2 years ago
Pyrodigal - v2.2.0
Changed
- Release GIL while masking sequence regions in
Sequence.__init__. - Use
archspecinstead ofcpu_featuresfor runtime feature detection.
Added
- CLI flag to run ORF detection in parallel when input contains several contigs.
Removed
- Support for Python 3.5.
Scientific Software - Peer-reviewed
- Cython
Published by github-actions[bot] almost 3 years ago
Pyrodigal - v2.1.0
Changed
- Update Prodigal to
v2.6.3+c1e2d36to fix a bug with Shine-Dalgarno detection on reverse contig edge (hyattpd/Prodigal#100).
Added
Fixed
- ArchLinux User Repository package generation in CI.
Scientific Software - Peer-reviewed
- Cython
Published by github-actions[bot] over 3 years ago
Pyrodigal - v2.0.3
Fixed
OrfFinder(mask=True)ignoring the minimum mask size when masking regions (#26).
Changed
- Use
cibuildhweelfor building wheel distributions.
Added
- Wheels for MacOS Aarch64 platforms.
Scientific Software - Peer-reviewed
- Cython
Published by github-actions[bot] over 3 years ago
Pyrodigal - v2.0.0
Added
- MMX implementation of the SIMD prefilter.
- Proper GFF headers and metadata section to GFF output.
Sequence.gc_frame_plotmethod to compute the max GC frame profile from Python.metagenomic_binproperty toTrainingInfoto support recovering the object corresponding to a pre-trained model.metaattribute toGenesto store whether genes were predicted in single or in meta mode.pyrodigal.PRODIGAL_VERSIONconstant storing the wrapped Prodigal version.pyrodigal.MIN_SINGLE_GENOMEandpyrodigal.IDEAL_SINGLE_GENOMEconstants storing the minimum and recommended sequence sizes for training.
Changed
- Make all write methods of
Genesobjects require asequence_idargument instead of using the internal sequence number. - Rewrite SIMD prefilter using a generic template with C macros.
- Make
Maskrecord coordinates in start-inclusive end-exclusive mode to follow Python conventions. - Make connection scoring tests only score some randomly selected node pairs for faster runs.
- Rewrite tests to use
importlib.resourcesfor managing test data.
Removed
from_bytesandfrom_stringconstructors ofSequenceobjects.
Fixed
- Duplicate extraction of start codons located on contig edges inside
Nodes._extract(#21). - Pickling and unpickling of
TrainingInfoobjects corresponding to pre-trained models. - Implementation of
calc_most_gc_framebeing inconsistent with the Prodigal implementation. - Implementation of the maximum search in
score_connection_forward_startnot following the (weird?) behaviour from Prodigal (#21). - Gene identifier being used instead of the sequence identifier in the GFF output (#18).
- Out of bound access to sequence data in
Sequence._shine_dalgarno_mmandSequence._shine_dalgarno_exact.
Scientific Software - Peer-reviewed
- Cython
Published by github-actions[bot] over 3 years ago
Pyrodigal - v2.0.0-rc.4
Changed
- Make
Maskrecord coordinates in start-inclusive end-exclusive mode to follow Python conventions.
Removed
from_bytesandfrom_stringconstructors ofSequenceobjects.
Scientific Software - Peer-reviewed
- Cython
Published by github-actions[bot] over 3 years ago
Pyrodigal - v2.0.0-rc.3
Added
Sequence.gc_frame_plotmethod to compute the max GC frame profile from Python.
Changed
- Rewrite tests to use
importlib.resourcesfor managing test data. - Make connection scoring tests only score some randomly selected node pairs for faster runs.
Fixed
- Duplicate extraction of start codons located on contig edges inside
Nodes._extract.
Scientific Software - Peer-reviewed
- Cython
Published by github-actions[bot] over 3 years ago
Pyrodigal - v2.0.0-rc.2
Added
metagenomic_binproperty toTrainingInfoto support recovering the object corresponding to a pre-trained model.metaattribute toGenesto store whether genes were predicted in single or in meta mode.
Fixed
- Pickling and unpickling of
TrainingInfoobjects corresponding to pre-trained models. - Implementation of
calc_most_gc_framebeing inconsistent with the Prodigal implementation. - Implementation of the maximum search in
score_connection_forward_startnot following the (weird?) behaviour from Prodigal.
Scientific Software - Peer-reviewed
- Cython
Published by github-actions[bot] over 3 years ago
Pyrodigal - v2.0.0-rc.1
Added
- MMX implementation of the SIMD prefilter.
- Propert GFF headers and metadata section to GFF output.
Fixed
- Out of bound access to sequence data in
Sequence._shine_dalgarno_mmandSequence._shine_dalgarno_exact. - Gene identifier being used instead of the sequence identifier in the GFF output (#18).
Changed
- Rewrite SIMD prefilter using a generic template with C macros.
- Make all write methods of
Genesobjects require asequence_idargument instead of using the internal sequence number.
Scientific Software - Peer-reviewed
- Cython
Published by github-actions[bot] over 3 years ago
Pyrodigal - v1.1.2
Changed
- Use the
vbicqArm intrinsic in the NEON implementation to combinevandqandvmvnq.
Fixed
- Prevent direct instantiation of
NodeandGeneobjects from Python code. - Configuration of platform-specific NEON flags in
setup.pynot being applied to the linker.
Scientific Software - Peer-reviewed
- Cython
Published by github-actions[bot] over 3 years ago
Pyrodigal - v1.1.0
Changed
OrfFinder.traincan now be given more than one sequence argument to train on contigs from an unclosed genome.- Updated
cpu_featurestov0.7.0and added hardware detection of NEON features on Linux Aarch64 platforms.
Scientific Software - Peer-reviewed
- Cython
Published by github-actions[bot] almost 4 years ago
Pyrodigal - v1.0.0
Stable version, to be published in the Journal of Open-Source Software.
Added
pickleprotocol implementation forNodes,TrainingInfo,OrfFinder,Sequence,MasksandGenesobjects.- Buffer protocol implementation for
Sequence, allowing access to raw digits. __eq__and__repr__magic methods toMaskobjects.
Changed
- Optimized code used for region masking to avoid searching for the same mask repeatedly.
TRANSLATION_TABLESandMETAGENOMIC_BINSare now exposed as constants in the toppyrodigalmodule.- Refactored connection scoring into different functions based on the type (start/stop) and strand (direct/reverse) of the node being scored.
- Changed the growth factor for dynamic arrays to be the same as the one used in CPython
listbuffers.
Scientific Software - Peer-reviewed
- Cython
Published by github-actions[bot] about 4 years ago
Pyrodigal - v0.7.3
Added
Gene.scoreproperty to get the gene score as reported in the score data string.
Fixed
OrfFinder.find_genesnot producing consistent results across runs in meta mode (#13).OrfFinder.find_genesreturningNodeswith incomplete score information.
Scientific Software - Peer-reviewed
- Cython
Published by github-actions[bot] about 4 years ago
Pyrodigal - v0.7.2
Changed
- Improve performance of
mer_ndxandscore_connectionusing dedicated implementations with better branch prediction. - Mark arguments as
constin C code where possible.
Fixed
- Signatures of Cython classes not displaying properly because of the
embedsignaturedirective. _sequence.hfunctions not being inlined as expected.
Scientific Software - Peer-reviewed
- Cython
Published by github-actions[bot] about 4 years ago
Pyrodigal - v0.7.1
Changed
- Rewrite internal
Sequencecode using inlined functions to increase performance when the strand is known.
Fixed
Nodes.copypotentially failing on empty collections after trying to allocate 0 bytes.TestGenes.test_write_scoresfailing on some machines because of float rounding issues.Gene.translateignoring theunknown_residueargument value and always using"X".- Memory leak in
Pyrodigal.traincause by memory not being freed after building the GC frame plot.
Scientific Software - Peer-reviewed
- Cython
Published by github-actions[bot] about 4 years ago
Pyrodigal - v0.7.0
Added
- Support for setting a custom minimum gene length in
pyrodigal.OrfFinder. Genes.write_scoresmethod to write the node scores to a file.Gene.__repr__andNode.__repr__methods to display some useful attributes.Sequence.__str__method to get back a nucleotide string from aSequenceobject.
Changed
- Use a more compact data structure to store
Genedata.
Fixed
Nodes._calc_orf_gcreading nucleotides after the sequence end when computing GC content for edge nodes.
Removed
pyrodigal.Pyrodigalclass (usepyrodigal.OrfFinderinstead).pyrodigal.Predictionsclass (functionality merged intopyrodigal.Genes).
Scientific Software - Peer-reviewed
- Cython
Published by github-actions[bot] about 4 years ago
Pyrodigal - 0.6.3
Added
pyrodigalcommand line script exposing a CLI mimicking the originalprodigalbinary.write_gff,write_genesandwrite_translationsmethods topyrodigal.Predictionsto write the predictions results to a file in different formats.- Implementation for masking regions of unknown nucleotides in input sequences.
Changed
- Renamed
pyrodigal.Pyrodigalclass topyrodigal.OrfFinder.
Fixed
setup.pybuild different SIMD implementations with the same set of feature flags, causing compilers to re-optimize the SIMD implementations.
Scientific Software - Peer-reviewed
- Cython
Published by althonos over 4 years ago
Pyrodigal - 0.6.2
Added
- Sphinx documentation with small install guide and API reference.
Fixed
setup.pynot detecting SSE2 and AVX2 build support because of a linker error.
Changed
- Build OSX extension without AVX2 support since runtime detection of AVX2 to avoid the
Illegal Instruction: 4bug on older CPUs.
Scientific Software - Peer-reviewed
- Cython
Published by althonos over 4 years ago
Pyrodigal - 0.5.4
Added
Prediction.confidencemethod to compute the confidence for a prediction like reported in Prodigal's GFF output.Prediction.sequencemethod get the nucleotide sequence of a predicted gene (#4).
Changed
- Replaced internal storage of input sequences to use a byte array instead of a bitmap.
Fixed
- Extract
Prediction.gc_contnumber directly from the start node instead of the text representation to get full accuracy. - Prodigal bug causing nodes on the reverse strand to always receive a penalty instead of penalizing only small ORFs (hyattpd/Prodigal#88).
Scientific Software - Peer-reviewed
- Cython
Published by althonos over 4 years ago
Pyrodigal - 0.5.2
Changed
- Make
Pyrodigal.trainreturn a reference to the newly createdTrainingInfofor inspection if needed. - Reimplement
add_nodesandadd_genesto use a growable array instead of counting and pre-allocating the C arrays.
Fixed
- Inconsistent handling of unknown nucleotides in input sequences and gene translations.
Scientific Software - Peer-reviewed
- Cython
Published by althonos over 4 years ago
Pyrodigal - 0.5.1
Added
- Additional
Geneproperties to access the score
Changed
- Use more efficient
PyUnicodemacros when reading or creating a string containing a nucleotide or a protein sequence. - Release the GIL when creating a bitmap for an
strgiven as input toPyrodigal.find_genes. - Release the GIL when creating the protein sequence returned by
Gene.translate.
Fixed
Pyrodigal.find_genesandGene.translatenot behaving like Prodigal when handling sequences with unknown nucleotides.
Scientific Software - Peer-reviewed
- Cython
Published by althonos over 4 years ago
Pyrodigal - 0.5.0
Added
pyrodigal.TrainingInfoclass exposing variables obtained during training as an attribute toPyrodigal,GeneandGenesinstance.- Support for passing objects implementing the buffer protocol to
Pyrodigal.find_genesandPyrodigal.traininstead of requiringstrsequences.
Fixed
- Potential data race on training info in case a
Gene.translatewith a non-default translation table was being translated at the same time as aPyrodigal.find_genescall. - Spurious handling of Unicode strings causing potential issues on platform using a different base encoding.
Scientific Software - Peer-reviewed
- Cython
Published by althonos almost 5 years ago
Pyrodigal - 0.4.1
Removed
- Python 3.5 from the project metadata (the code was only compatible with Python 3.6+ already because of f-strings).
Fixed
- Broken linking of static
libprodigalagainst the_pyrodigalextension on some OSX environments (bioconda/bioconda-recipes#25568).
Scientific Software - Peer-reviewed
- Cython
Published by althonos over 5 years ago
Pyrodigal - 0.3.1
Added
- Link to Zenodo record in
README.md. Typing :: Typedclassifier to the PyPI metadata.- Explicit support for Python 3.9.
Changed
- Streamlined compilation process when building from source distribution.
Scientific Software - Peer-reviewed
- Cython
Published by althonos over 5 years ago