use core::iter::Iterator;
use fastx::FastX;
use std::env::args;
use std::io;
use std::path::Path;
fn main() -> io::Result<()>
{
for filename in args().skip(1)
{
println!("{}", filename);
let mut fastx_reader = FastX::reader_from_path(Path::new(&filename))?;
let mut fastx_record = FastX::from_reader(&mut fastx_reader)?;
/*
// just for fun read the first line and seek back
use std::io::BufRead;
let mut line = String::new();
let offset = fastx_reader.read_line(&mut line)?;
println!("{}", line);
fastx_reader.seek_relative(- (offset as i64))?;
*/
// back to serious processing
while let Ok(_some @ 1..=usize::MAX) = fastx_record.read(&mut fastx_reader)
{
println!("{}\t{}", fastx_record.id(), fastx_record.seq_len())
}
}
Ok(())
}