hyper_gen/
fastx_reader.rs1use std::fs::File;
2use std::io::{BufRead, BufReader};
3use std::path::PathBuf;
4
5pub fn read_merge_seq(file_name: &PathBuf) -> Vec<u8> {
7 let mut fna_seqs = Vec::<u8>::new();
8
9 let file = File::open(file_name).unwrap();
10 let mut reader = BufReader::new(file);
11
12 let mut buf = String::new();
13 while reader.read_line(&mut buf).unwrap() > 0 {
14 if !buf.starts_with('>') {
15 if buf.ends_with('\n') {
16 buf.pop(); }
18 if buf.ends_with('\r') {
19 buf.pop();
20 }
21 fna_seqs.extend_from_slice(buf.as_bytes());
22 } else {
23 fna_seqs.push(b'N');
24 }
25 buf.clear();
26 }
27
28 fna_seqs
29}