pub fn reader_from_path(path: &Path) -> Result<Box<dyn BufRead>>
Examples found in repository?
examples/fasta_cat.rs (line 12)
7fn main() -> io::Result<()>
8{
9 for filename in args().skip(1)
10 {
11 println!("{}", filename);
12 let mut fastx_reader = FastX::reader_from_path(Path::new(&filename))?;
13 let mut fastx_record = FastX::FastARecord::default();
14
15 while let Ok(_some @ 1..=usize::MAX) = fastx_record.read(&mut fastx_reader)
16 {
17 println!(
18 ">{} {}\n{}",
19 fastx_record.id(),
20 fastx_record.desc(),
21 String::from_utf8_lossy(&fastx_record.seq())
22 );
23 }
24 }
25 Ok(())
26}
More examples
examples/fastx_cat.rs (line 12)
7fn main() -> io::Result<()>
8{
9 for filename in args().skip(1)
10 {
11 println!("{}", filename);
12 let mut fastx_reader = FastX::reader_from_path(Path::new(&filename))?;
13 let mut fastx_record = FastX::from_reader(&mut fastx_reader)?;
14
15 while let Ok(_some @ 1..=usize::MAX) = fastx_record.read(&mut fastx_reader)
16 {
17 println!(
18 ">{} {}\n{}",
19 fastx_record.id(),
20 fastx_record.desc(),
21 String::from_utf8_lossy(&fastx_record.seq())
22 );
23 }
24 }
25 Ok(())
26}
examples/fastq_cat.rs (line 13)
8fn main() -> io::Result<()>
9{
10 for filename in args().skip(1)
11 {
12 println!("{}", filename);
13 let mut fastx_reader = FastX::reader_from_path(Path::new(&filename))?;
14 let mut fastq_record = FastX::FastQRecord::default();
15
16 while let Ok(_some @ 1..=usize::MAX) = fastq_record.read(&mut fastx_reader)
17 {
18 println!(
19 "@{} {}\n{}\n+{}\n{}",
20 fastq_record.id(),
21 fastq_record.desc(),
22 String::from_utf8_lossy(&fastq_record.seq()),
23 fastq_record.comment(),
24 String::from_utf8_lossy(&fastq_record.qual())
25 );
26 }
27 }
28 Ok(())
29}
examples/fasta_count.rs (line 12)
7fn main() -> io::Result<()>
8{
9 for filename in args().skip(1)
10 {
11 println!("{}", filename);
12 let mut fastx_reader = FastX::reader_from_path(Path::new(&filename))?;
13 let mut fastx_record = FastX::FastARecord::default();
14
15 /*
16 // just for fun read the first line and seek back
17 use std::io::BufRead;
18 let mut line = String::new();
19 let offset = fastx_reader.read_line(&mut line)?;
20 println!("{}", line);
21 fastx_reader.seek_relative(- (offset as i64))?;
22 */
23
24 // back to serious processing
25 while let Ok(_some @ 1..=usize::MAX) = fastx_record.read(&mut fastx_reader)
26 {
27 println!("{}\t{}", fastx_record.id(), fastx_record.seq_len())
28 }
29 }
30 Ok(())
31}
examples/fastx_count.rs (line 12)
7fn main() -> io::Result<()>
8{
9 for filename in args().skip(1)
10 {
11 println!("{}", filename);
12 let mut fastx_reader = FastX::reader_from_path(Path::new(&filename))?;
13 let mut fastx_record = FastX::from_reader(&mut fastx_reader)?;
14
15 /*
16 // just for fun read the first line and seek back
17 use std::io::BufRead;
18 let mut line = String::new();
19 let offset = fastx_reader.read_line(&mut line)?;
20 println!("{}", line);
21 fastx_reader.seek_relative(- (offset as i64))?;
22 */
23
24 // back to serious processing
25 while let Ok(_some @ 1..=usize::MAX) = fastx_record.read(&mut fastx_reader)
26 {
27 println!("{}\t{}", fastx_record.id(), fastx_record.seq_len())
28 }
29 }
30 Ok(())
31}