Syncmers Library in Rust
Syncmers as defined by Dutta et al. 2022, https://www.biorxiv.org/content/10.1101/2022.01.10.475696v2.full Esp Fig 1b / Algorithm 1. Planning to implement other methods soon.
Definition
Using the parameterized syncmer scheme, a syncmer is a kmer whose smallest smer is at a given target position (t).
Extract Syncmers from &[u8]
let sequence = b"CCAGTGTTTACGG";
let syncmers = find_syncmers;
assert!;
println!;
Extract Syncmers from &[u8], downsampling to 20%
let sequence = b"CCAGTGTTTACGG";
let syncmers = find_syncmers;
assert!;
println!;
Extract Syncmers from &[u8], keeping 80%
let sequence = b"CCAGTGTTTACGG";
let syncmers = find_syncmers;
assert!;
println!;
Find positions of Syncmers
let sequence = b"CCAGTGTTTACGG";
let syncmer_positions = find_syncmers_pos;
println!;
assert!;
Changelog
0.1.4: Added downsampling support