Expand description
§genomic-system-finder-hmm
A pure Rust implementation of HMMER3-compatible profile HMM search.
This crate provides a WASM-compatible alternative to HMMER’s hmmsearch,
implementing the Plan7 Viterbi algorithm for scoring protein sequences
against profile HMMs in HMMER3/b format.
§Features
- Parse HMMER3/b format HMM profile files
- Viterbi algorithm for Plan7 HMMs with local entry/exit
- Multi-domain detection
- E-value computation using Gumbel extreme value distribution
- No external dependencies (pure Rust, WASM-compatible)
§Usage
use genomic_system_finder_hmm::{parser, pipeline, SearchOptions, TargetSequence};
let hmms = parser::parse_hmm_file(Path::new("profile.hmm")).unwrap();
let targets = vec![TargetSequence {
id: "seq1".to_string(),
sequence: b"MKFLILACLAV...".to_vec(),
}];
let results = pipeline::hmmsearch(&hmms[0], &targets, &SearchOptions::default());Re-exports§
pub use hmm::Plan7Hmm;pub use pipeline::DomainHit;pub use pipeline::SearchOptions;pub use pipeline::SearchResult;pub use pipeline::TargetSequence;
Modules§
- alphabet
- Amino acid alphabet encoding compatible with HMMER3.
- hmm
- Plan7 profile HMM data structures.
- msv
- MSV (Multiple Segment Viterbi) pre-filter for rapid sequence screening.
- parser
- Parser for HMMER3/b format HMM profile files.
- pipeline
- Search pipeline: orchestrates HMM search against protein sequences.
- stats
- Statistical calculations for E-value and P-value computation.
- viterbi
- Viterbi algorithm for Plan7 profile HMMs.
Enums§
- HmmError
- Errors from HMM operations.