Skip to content

v0.1.0-beta.1

Pre-release
Pre-release
Compare
Choose a tag to compare
@St4NNi St4NNi released this 22 Nov 20:17
· 6 commits to main since this release
61c20af

First pre-release v0.1.0-beta.1

After a far too long hiatus, it is time to announce the first official pre-release of jam-rs. This version includes all the basic features for sketching and comparing multiple signatures.

Hashing algorithms

The sketching part includes several configurable algorithms:

  • (legacy) Murmurhash3, which produces the same results as other genomic minhashing tools
  • xxhash3, a newer algorithm with similar characteristics to murmur3
  • Ahash-fallback, an optimised adaptation of the fallback algorithm for small inputs from the Ahash crate. This algorithm is only usable for kmer < 32, but preliminary statistical analysis shows that it produces hashes that are more evenly distributed, with a 3-10x overall speedup compared to xxhash or murmur.

You can choose between two output formats after sketching: sourmash-compatible JSON or a more compact binary representation with additional meta-information. The sourmash-compatible output can be used directly with the regular sourmash pipeline, but note that comparing sketches with non-murmur hashing algorithms will only work if both sides use the same algorithm.

Scaling factors

This tool includes both of the scaling methods from mash and sourmash, plus a combination of both, where a fixed fraction of the hash space is stored, with a fixed lower and/or upper limit per contig. This ensures that all contigs are covered, with the disadvantage of introducing a bias towards smaller (or larger) sequences. This makes it necessary to perform more statistics too make sure that hits do not occur by chance which will follow soon.

What's Changed

New Contributors

  • @St4NNi made their first contribution in #1

Full Changelog: https://github.com/St4NNi/jam-rs/commits/v0.1.0-beta.1

Disclaimer

This is still a pre-release, check it out but take the results with a grain of salt. Additional tests and verifications are in progress and will be released before the final first release.