use std::{fs::File, io::BufReader, time::Instant};
use imzml::{mzml::MzMLReader, obo::IMZML_ONTOLOGY, validation::full_validate, ImzMLReader};
fn main() {
let filename = "/home/alan/Documents/GitProjects/imzml-rs/metaspace-test/dataset_02.imzML";
let start = Instant::now();
let mut errors = Vec::new();
let parser = match MzMLReader::from_path_with_ontology(filename, IMZML_ONTOLOGY.clone()) {
Ok(parser) => parser,
Err(fatal_error) => {
println!("Fatal error: {:?}", fatal_error);
return;
}
};
let duration = start.elapsed();
for error in parser.errors() {
errors.push(format!("{}", error));
}
println!("Time elapsed when parsing is: {:?}", duration);
let start = Instant::now();
let errors = full_validate(&IMZML_ONTOLOGY, parser.mzml().unwrap());
let duration = start.elapsed();
println!("Time elapsed when validating is: {:?}", duration);
for (index, error) in errors.iter().enumerate() {
println!("{}", error);
if index > 10 {
break;
}
}
}