//! Validates and prints the records in a SAM file.
//!
//! The result matches the output of `samtools view <src>`.
use std::{
env,
fs::File,
io::{self, BufReader, BufWriter},
};
use noodles_sam as sam;
fn main() -> io::Result<()> {
let src = env::args().nth(1).expect("missing src");
let mut reader = File::open(src)
.map(BufReader::new)
.map(sam::io::Reader::new)?;
let header = reader.read_header()?;
let stdout = io::stdout().lock();
let mut writer = sam::io::Writer::new(BufWriter::new(stdout));
for result in reader.records() {
let record = result?;
writer.write_record(&header, &record)?;
}
Ok(())
}