All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
2.0.3 (2024-09-11)
2.0.2 (2024-09-11)
2.0.1 (2024-07-22)
- update bit-set requirement from 0.5 to 0.8 (#596) (29a85fb)
- update statrs requirement from >= 0.11, < 0.17 to >= 0.11, < 0.18 (#595) (9c352c0)
- update strum requirement from >= 0.16, < 0.26 to >= 0.16, < 0.27 (#588) (d53c9d1)
2.0.0 (2024-07-03)
- Refactor misleadingly named method io::gff::Record::frame to phase and improve typing (#593)
- Refactor misleadingly named method io::gff::Record::frame to phase and improve typing (#593) (216d925)
- update itertools requirement from >=0.8, <0.12 to >=0.8, <0.13 (#562) (a79e5c9)
- update itertools requirement from >=0.8, <0.13 to >=0.8, <0.14 (#590) (973ac0c)
- update multimap requirement from >=0.6, <0.10 to >=0.6, <0.11 (#587) (fe8f10c)
- update ordered-float requirement from 3.1 to 4.2 (#565) (3b87ecd)
- update strum_macros requirement from >= 0.16, < 0.26 to >= 0.16, < 0.27 (#586) (9912528)
1.6.0 (2024-02-07)
1.5.0 (2023-12-09)
1.4.0 (2023-09-12)
- include
doctests
in the test coverage of code that tarpaulin calculates (#533) (29cf0f5) - make dependabot commit message follow conventional commits (#542) (bb88281)
1.3.1 (2023-06-23)
- improve alignment::distance::levenshtein and alignment::distance::bounded_levenshtein on strrings where distance is small (#522) (da7daea)
1.3.0 (2023-06-14)
- banded partial order alignments (#488) (2947a36)
- Consensus sequence from partial order alignment graph (#525) (640caa0)
- update to bio-types 1.0 (#524) (0ede04c)
1.2.0 (2023-06-06)
1.1.0 (2022-12-13)
1.0.0 (2022-09-29)
- update to latest ordered-float (#503)
0.42.0 (2022-08-30)
- Update
strum
andordered-float
dependencies and change From into TryFrom for NotNan. (#491)
- Update
strum
andordered-float
dependencies and change From into TryFrom for NotNan. (#491) (57ccf8f)
0.41.0 (2022-03-30)
- adaptive integration of density functions using a binary search approach that tries to achieve good resolution around the maximum (#486) (207b76f)
0.40.0 (2022-02-25)
- release 0.40.0 (cf8ebc3)
0.39.2 (2022-02-09)
- Make QGramIndex use less memory; fix bug; improve tests&docs (#471) (48bac1c)
- overflow in
qgrams
for k=32 (#478) (8048eb8)
0.39.1 (2022-01-12)
0.39.0 (2021-10-20)
0.38.0 (2021-10-04)
- adds iupac amino acid alpha (#444) (f4b7a7c)
- Allow to compute bayesian model via the exploration of the marginal distribution. (#453) (d09033c)
0.37.1 (2021-08-23)
- One Simple Trick to significantly improve the speed and memory usage of Occ (#448) (9aa79cb)
- sampled suffix array (#447) (00f9846)
0.37.0 (2021-07-09)
- add method to retrieve all event posteriors from Bayesian model. (e5feda8)
0.36.0 (2021-07-06)
- Improved buffer control in Fasta and Fastq API (@natir).
- Fixed an indexing bug in ArrayBackedIntervalTree (@wabain).
- Fixed a corner case where the FASTX parser could have looped infinitely (@morsecodist).
- Fixed compiler warnings (@fxwiegand).
- Improved documentation for FASTA index (@mbhall88).
- Bayesian model framework now relies on Hash instead of Ord for accessing events (@johanneskoester).
- Added wavelet matrix datastructure (@Identi, @tedil).
- Fixed a floating point error in gcn_content (@tedil).
- Improved error messages in io module (@fxwiegand).
- Better memory usage of HomopolypairHMM (@tedil).
- Improved documentation (@TianShi2001, @m0ssc0de, @dcroote).
- Support for reading compact BED files (@manzt).
- API improvements for
Alphabet
and GFF reader (@tshauck). - Switched to thiserror for error handling (@delehef).
- Removed unsafe code (@huonw).
- Fixed overflow in ShiftAnd algorithm (@dcroote).
- Various additional test cases (@dcroote).
- Extended API for SMEM computation on FMDIndex (@Identi).
- Added a parser for Newick phylogenetic trees (@delehef).
This release mostly comprises of the documentation improvements made by the recent Docathon. Lots of new doctests and a bunch of time and memory complexity annotations. Big thanks to @tedil, @dcroote, @TomKellyGenetics, @natir, @thomasmulvaney, @mbhall88, @jafors, @HenningTimm, @luizirber, @dlaehnemann, @johanneskoester. Further additions in this release are:
- homopolymer-error-aware pairHMM implementation (thanks to @tedil).
- SIMD-accelerated edit distance routines (thanks to @Daniel-Liu-c0deb0t).
- BitEnc derives more traits (thanks to @FelixMoelder).
- wider pinning of some dependencies' version numbers (thanks to @pmarks).
- Bugfix for pHMM implementation (thanks to @tedil).
- Sorted array-backed interval trees (thanks to @tedil).
- Improved occ counting speed for FM index (thanks to @thomasmulvaney)
- Various small bug fixes and code cleanups and linter fixes.
- Bayesian models now allow to access internals.
- Various small bug fixes.
- Migrate error handling to the snafu crate (this is an API breaking change).
- Fix edge cases in pairwise alignment.
- Fix error in backward search if symbol isn't found.
- Fix select in RankSelect in cases where many superblocks have the same rank.
- Myers bit-parallel pattern matching now supports arbitrarily long patterns via bit vectors (thanks to @markschl).
- Minor documentation updates (thanks to @anders-was-here).
- Implement sequence-read-trait for FASTQ records.
- Cleanup dependencies.
- Fix a bug in
select_1
andselect_0
that would lead to too large answers.
- Added a trait system for computing Bayesian statistical models.
- Added an implementation of MSA via partial order alignment.
- Performance improvements to FASTQ reader.
- Added
FQRead
andFARead
traits toFastaReader
andFastqReader
to be more flexible with input types. This allows to use readers on gzipped and on plain text input interchangeably. - Added an implementation of Bayes Factors and evidence scoring using the method of Kass and Raftery.
- API overhaul to become more flexible when accepting text iterators. Now, anything that iterates over something can be borrowed as u8 is allowed.
- FMIndex and FMDIndex now also allow plain owned versions of BWT, Less and Occ. This should greatly simplify their usage.
- PairHMM and LogProb implementation has seen extensive performance improvements. Among that, (a) the usage of a fast approximation of exp() as presented by Kopczynsi 2017, and (b) banding of the pairHMM matrix with a given maximum edit distance.
- All IO records now support serde.
- Generalized Myers pattern matching algorithm to arbitrary unsigned integer types (u64, u128) (thanks to @markschl).
- Implemented optional traceback and alignment output for Myers pattern matching algorithm (thanks to @markschl).
- Use Strand type from bio-types crate in BED module (thanks to @ingolia).
- Added an IntervalTree based data structure for looking up overlaps between annotation types (thanks to @ingolia).
- Various bug fixes.
- Added HMM implementation (thanks to @holtgrewe).
- Moved Alignment types to
bio_types
crate (thanks to @pmarks). - Ignore comment lines in GTF/GFF files (thanks to Yasunobu Okamura).
- API usability improvements.
- Added PSSM implementation (thanks to @hervold).
- Refactored RankSelect API to consistently use u64.
- Use bv crate in suffix array implementation.
- rank-0 and select-0 in RankSelect.
- use bv crate for RankSelect.
- More flexible FASTA API.
- Fixed bug in KMP.
- Bug fix in Ukkonen algorithm
- Convenience improvements to API
- Pairwise alignment has been rewritten to support banded alignment and clips.
- Various minor API additions and improvements.
- Several small bug fixes.
- Add pair hidden markov model implementation to calculate the probability of two sequences being related.
- Various minor bug fixes and usability improvements.
- Improved numerical stability of CDF construction.
- Speed improvements to occurrence array lookups in FM-index.
- Improved GFF/GTF variant format handling.
- Improved robustness of credible interval calculating in CDF.
- Bug fixes for log probability implementation.
- Replace nalgebra dependency with ndarray crate.
- GTF/GFF reader can now handle duplicate keys.
- Updated dependencies.
- RNA alphabet.
- Improved FASTQ reader.
- Fixes in alignment algorithm.
- fasta::IndexedReader now also provides an iterator.
- IntervalTree provides a mutable iterator.
- Various fixes to Fasta IO.
- Fixed calculation of expected FDR.
- Improved distance API.
- Moved Strand into utils.
- More robust gff/gtf parsing.
- Improved IntervalTree API.
- Updated dependencies.
- Speed improvements in alignment module.
- Improved test coverage.
- Speed improvements in fmindex module.
- An interval tree implementation.
- Initial utilities for bayesian statistics.
- Various small improvements to log-space probability API.
- Implementation of discrete probability distributions via cumulative distribution functions.
- Log-space probabilities have been refactored into newtypes.
- Performance improvements for FMIndex implementation.
- Improved documentation.
- Writers in the io module no longer take ownership of the given record.
- Various cosmetic changes.
- Reverse complement API has been refactored into plain functions.
- Reverse complement now supports the whole IUPAC alphabet.
- Various algorithms take now IntoTextIterator instead of only slices.
- Fasta reader and writer treat sequence names as strings.
- Refactoring of suffix array + fmindex API to provide more flexibility.
- Type aliases for various text representations.
- Pattern matching algorithms take both iterators and slices where possible.
- logprobs::cumsum has been refactored to return an iterator.
- support for subtraction of logprobs.
- Support for serde serialization when used in combination with rust nightly (@dikaiosune).