Skip to main content

prodigal_rs/
lib.rs

1pub mod types;
2pub mod reader;
3pub mod bitmap;
4pub mod training;
5pub mod training_data;
6pub mod sequence;
7pub mod node;
8pub mod dprog;
9pub mod gene;
10pub mod metagenomic;
11pub mod pipeline;
12pub mod api;
13
14// Re-export the high-level API at crate root
15pub use api::{
16    predict, predict_meta, predict_meta_with, predict_with, train, train_with,
17    MetaPredictor, PredictedGene, ProdigalConfig, ProdigalError, StartCodon, Strand, TrainingData,
18};
19
20/// Run Prodigal with the given command-line arguments (low-level CLI wrapper).
21///
22/// # Safety
23///
24/// The underlying code calls `exit()` on errors and on `-h`/`-v` flags.
25pub fn run_prodigal(args: &[&str]) -> i32 {
26    let owned: Vec<String> = args.iter().map(|s| s.to_string()).collect();
27    unsafe { pipeline::run_pipeline(&owned) }
28}