feat: Implement query subcommand for sequence-to-genome mapping
This change introduces the `query` CLI command and its supporting infrastructure for sequence-to-genome mapping and k-mer matching. It adds a `QueryLayer` abstraction backed by MPHF and persistent matrices, exposes the index partition for direct querying, and implements `Hash`/`Eq` for `RoutableSuperKmer`. The command ingests sequence batches, deduplicates superkmers, routes them to index partitions for parallel exact or 1-mismatch matching, and outputs results as FASTA records annotated with JSON metadata. Includes `serde_json` dependency addition, module exports, and documentation updates.
This commit is contained in:
@@ -71,6 +71,20 @@ impl RoutableSuperKmer {
|
||||
}
|
||||
}
|
||||
|
||||
impl PartialEq for RoutableSuperKmer {
|
||||
fn eq(&self, other: &Self) -> bool {
|
||||
self.superkmer == other.superkmer
|
||||
}
|
||||
}
|
||||
|
||||
impl Eq for RoutableSuperKmer {}
|
||||
|
||||
impl std::hash::Hash for RoutableSuperKmer {
|
||||
fn hash<H: std::hash::Hasher>(&self, state: &mut H) {
|
||||
self.superkmer.hash(state);
|
||||
}
|
||||
}
|
||||
|
||||
impl Sequence for RoutableSuperKmer {
|
||||
type Canonical = RoutableSuperKmer;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user