6 releases (stable)
1.2.0 | Nov 6, 2019 |
---|---|
1.1.0 | Nov 4, 2019 |
1.0.1 | Nov 4, 2019 |
0.2.1 | Aug 12, 2019 |
0.2.0 | Aug 12, 2019 |
#13 in #hamming
125 downloads per month
Used in rumi
17KB
396 lines
basebits
A library for memory efficient short DNA sequence encoding.
Synopsis
When to use this library? If you are comparing strings against each other more than 4 times, it becomes more efficient to pay the cost of encoding them.
Operations
Constant time hamming distance calculations.
Example
use basebits::{BaseBits, hamming_dist};
fn main() {
let string1 = b"ACTGACTG";
let string2 = b"ACTTACTG";
let string1 = BaseBits::new(string1).unwrap();
let string2 = BaseBits::new(string2).unwrap();
assert_eq!(hamming_dist(&string1, &string2), 1);
}
Reference
See 'Constant Time Hamming Distance' section: https://www.biorxiv.org/content/10.1101/648683v1.full
Future directions
FFT stuff?