rust-ise 0.2.2

Fast Rust-native ISEScan-equivalent insertion-sequence (IS) scanner for bacterial (meta)genomes: rustygal ORFs + MMseqs2 profile search + native affine-SW terminal inverted repeats.
Documentation
// Library-usage demo: call rust_ise::run() in-process and print the IS calls.
//   cargo run --release --example lib_run -- <genome.fna> <db_dir> [work_dir]
use rust_ise::{run, IseConfig};
use std::path::{Path, PathBuf};

fn main() {
    let mut a = std::env::args().skip(1);
    let seqfile = a.next().expect("usage: lib_run <genome.fna> <db_dir> [work_dir]");
    let db = a.next().expect("need db_dir");
    let work = a.next().unwrap_or_else(|| "/tmp/rustise_lib_work".into());

    let cfg = IseConfig {
        threads: 8,
        gpu: false,
        strict: false,
        db_dir: PathBuf::from(db),
    };
    let calls = run(Path::new(&seqfile), Path::new(&work), &cfg).expect("run");
    for c in &calls {
        println!(
            "{}\t{}\t{}..{}\t{}\t{}\t{}",
            c.seqid, c.family, c.is_begin, c.is_end, c.strand, c.tier, c.fp_flag
        );
    }
    eprintln!("{} IS calls", calls.len());
}