pub struct QueryMerFile { /* private fields */ }Expand description
Random-access query interface for Jellyfish binary/sorted database files.
Uses memory-mapped I/O and matrix-guided binary search for efficient
k-mer lookups, matching the behavior of Jellyfish’s C++ binary_query class.
§Examples
use jellyfish_reader::{QueryMerFile, MerDna};
let qf = QueryMerFile::open("output.jf").unwrap();
let mer: MerDna = "ACGTACGTACGTACGTACGTACGTA".parse().unwrap();
match qf.get(&mer) {
Some(count) => println!("{} appears {} times", mer, count),
None => println!("{} not found", mer),
}Implementations§
Source§impl QueryMerFile
impl QueryMerFile
Sourcepub fn open<P: AsRef<Path>>(path: P) -> Result<Self>
pub fn open<P: AsRef<Path>>(path: P) -> Result<Self>
Open a Jellyfish database file for random-access queries.
Sourcepub fn get(&self, mer: &MerDna) -> Option<u64>
pub fn get(&self, mer: &MerDna) -> Option<u64>
Look up the count for a k-mer. Returns None if not found.
Sourcepub fn query(&self, kmer_str: &str) -> Result<Option<u64>>
pub fn query(&self, kmer_str: &str) -> Result<Option<u64>>
Query a k-mer given as a string. Convenience method.
Sourcepub fn header(&self) -> &FileHeader
pub fn header(&self) -> &FileHeader
Get the file header.
Sourcepub fn num_records(&self) -> usize
pub fn num_records(&self) -> usize
Number of records in the file.
Auto Trait Implementations§
impl Freeze for QueryMerFile
impl RefUnwindSafe for QueryMerFile
impl Send for QueryMerFile
impl Sync for QueryMerFile
impl Unpin for QueryMerFile
impl UnsafeUnpin for QueryMerFile
impl UnwindSafe for QueryMerFile
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more