Skip to main content

Crate genomic_system_finder_hmm

Crate genomic_system_finder_hmm 

Source
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.