v1.3.0
Bifrost memory usage and running time has improved by up to 30% (depending on the input dataset)
- The minimizer index and kmer hash-table use now robin-hood hashing instead of linear probing. They default to 95% maximum bucket occupancy instead of 80% in previous versions. Furthermore, hash table resizing uses now a 20% memory increase instead of doubling the size.
- Blocked Bloom Filter uses a default 24 bits per key to enable a much faster joining step.
- Extracting the exact unitigs from the Blocked Bloom Filter is done in 3 steps instead of 2: approximate unitigs are extracted to disk, read from disk and indexed in memory before annotating k-mers with their respective counts. Reader-writer locks can be avoided this way. However, Bifrost now uses a bit of disk space.
- Code refactoring
New options for querying
-p, --nb-found-km
: Output the number of found k-mers for each query (disable parameter -e)-P, --ratio-found-km
: Output the ratio of found k-mers for each query (disable parameter -e)- Fix rounding issue in #67
This version breaks Bifrost Index File (.bfi) compatibility with previous Bifrost versions, i.e. v1.3.0 cannot read .bfi files generated by v1.2.1 and older versions.