Added
- MMX implementation of the SIMD prefilter.
- Proper GFF headers and metadata section to GFF output.
- `Sequence.gc_frame_plot` method to compute the max GC frame profile from Python.
- `metagenomic_bin` property to `TrainingInfo` to support recovering the object corresponding to a pre-trained model.
- `meta` attribute to `Genes` to store whether genes were predicted in single or in meta mode.
- `pyrodigal.PRODIGAL_VERSION` constant storing the wrapped Prodigal version.
- `pyrodigal.MIN_SINGLE_GENOME` and `pyrodigal.IDEAL_SINGLE_GENOME` constants storing the minimum and recommended sequence sizes for training.
Changed
- Make all write methods of `Genes` objects require a ``sequence_id`` argument instead of using the internal sequence number.
- Rewrite SIMD prefilter using a generic template with C macros.
- Make `Mask` record 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.resources` for managing test data.
Removed
- `from_bytes` and `from_string` constructors of `Sequence` objects.
Fixed
- Duplicate extraction of start codons located on contig edges inside `Nodes._extract` ([21](https://github.com/althonos/pyrodigal/issues/21)).
- Pickling and unpickling of `TrainingInfo` objects corresponding to pre-trained models.
- Implementation of `calc_most_gc_frame` being inconsistent with the Prodigal implementation.
- Implementation of the maximum search in `score_connection_forward_start` not following the (weird?) behaviour from Prodigal ([21](https://github.com/althonos/pyrodigal/issues/21)).
- Gene identifier being used instead of the sequence identifier in the GFF output ([18](https://github.com/althonos/pyrodigal/issues/18)).
- Out of bound access to sequence data in `Sequence._shine_dalgarno_mm` and `Sequence._shine_dalgarno_exact`.