Skip to content

Releases: althonos/pyrodigal

v1.0.0

20 Apr 10:53

Choose a tag to compare

Stable version, to be published in the Journal of Open-Source Software.

Added

  • pickle protocol implementation for Nodes, TrainingInfo, OrfFinder, Sequence, Masks and Genes objects.
  • Buffer protocol implementation for Sequence, allowing access to raw digits.
  • __eq__ and __repr__ magic methods to Mask objects.

Changed

  • Optimized code used for region masking to avoid searching for the same mask repeatedly.
  • TRANSLATION_TABLES and METAGENOMIC_BINS are now exposed as constants in the top pyrodigal module.
  • 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 list buffers.

v0.7.3

06 Apr 10:01

Choose a tag to compare

Added

  • Gene.score property to get the gene score as reported in the score data string.

Fixed

  • OrfFinder.find_genes not producing consistent results across runs in meta mode (#13).
  • OrfFinder.find_genes returning Nodes with incomplete score information.

v0.7.2

15 Mar 17:06

Choose a tag to compare

Changed

  • Improve performance of mer_ndx and score_connection using dedicated implementations with better branch prediction.
  • Mark arguments as const in C code where possible.

Fixed

  • Signatures of Cython classes not displaying properly because of the embedsignature directive.
  • _sequence.h functions not being inlined as expected.

v0.7.1

14 Mar 18:00

Choose a tag to compare

Changed

  • Rewrite internal Sequence code using inlined functions to increase performance when the strand is known.

Fixed

  • Nodes.copy potentially failing on empty collections after trying to allocate 0 bytes.
  • TestGenes.test_write_scores failing on some machines because of float rounding issues.
  • Gene.translate ignoring the unknown_residue argument value and always using "X".
  • Memory leak in Pyrodigal.train cause by memory not being freed after building the GC frame plot.

v0.7.0

12 Mar 23:45

Choose a tag to compare

Added

  • Support for setting a custom minimum gene length in pyrodigal.OrfFinder.
  • Genes.write_scores method to write the node scores to a file.
  • Gene.__repr__ and Node.__repr__ methods to display some useful attributes.
  • Sequence.__str__ method to get back a nucleotide string from a Sequence object.

Changed

  • Use a more compact data structure to store Gene data.

Fixed

  • Nodes._calc_orf_gc reading nucleotides after the sequence end when computing GC content for edge nodes.

Removed

  • pyrodigal.Pyrodigal class (use pyrodigal.OrfFinder instead).
  • pyrodigal.Predictions class (functionality merged into pyrodigal.Genes).

0.6.4

23 Dec 16:42

Choose a tag to compare

Added

  • load and dump methods to TrainingInfo for storing and loading a raw training info structure.
  • Support for creating an OrfFinder pre-configured with a training info.
  • -t and -n flags to the CLI.

0.6.3

23 Dec 00:38

Choose a tag to compare

Added

  • pyrodigal command line script exposing a CLI mimicking the original prodigal binary.
  • write_gff, write_genes and write_translations methods to pyrodigal.Predictions to write the predictions results to a file in different formats.
  • Implementation for masking regions of unknown nucleotides in input sequences.

Changed

  • Renamed pyrodigal.Pyrodigal class to pyrodigal.OrfFinder.

Fixed

  • setup.py build different SIMD implementations with the same set of feature flags, causing compilers to re-optimize the SIMD implementations.

0.6.2

25 Sep 15:47

Choose a tag to compare

Added

  • Sphinx documentation with small install guide and API reference.

Fixed

  • setup.py not 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: 4 bug on older CPUs.

0.6.1

24 Sep 00:51

Choose a tag to compare

Fixed

  • Source distribution lacking C files necessary for building cpu_features.

0.6.0

23 Sep 18:13

Choose a tag to compare

Added

  • SIMD code to build an index of which connections can be skipped when scoring node connections in the dynamic programming routine (#6).