All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Add the
phred_quality_scoremethod to the PythonRecordclass (#98) - Add Phred decoding functionality (#102)
ParseErrorKind::EmptyFilevariant to handle cases where there are less than two bytes in a file [#51]
- Added
parse_fastx_filewhich replacesparse_sequence_readerand offers an iterator like usage and is faster than 0.3. Also addsparse_fastx_readerandparse_fastx_stdin. SequenceRecordnow offers more information about the file such as line ending, which allows writing a file identical to the input one.
- Improved error reporting (i.e., a parse failure now gives the record it failed on).
- Significant code cleanup and additional linting (
cargo clippy). - Significant additional test coverage, including via fuzzing.
- Significant improvements to library documentation.
- The
.kmersmethod has been simplified and a new.canonical_kmersmethod has been introduced with much of the original's functionality. - Added
parse_sequence_reader, which replacesfastx_streamandfastx_bytes. fastx_cliupdated and renamed toparse_sequence_path.SeqRecordis nowSequenceRecordand many of its methods are now in theSequencetrait (e.g., working on byte slices).- Automatic decompression now takes
Readinstead ofRead + Seekso we can handle e.g. gzip files piped in throughstdin. - See this link for additional details on updating code to
v0.3.0.
- Single-file zip handling (zip requires
Seek) 😞
- Needletail no longer runs out of memory when parsing large, compressed files.