sigalign_utils/sequence_reader/
mod.rs

1//! Sequence reader module
2//! This module provides a generic interface for reading sequence files.
3use std::str::Utf8Error;
4
5pub mod fasta;
6pub mod fastq;
7
8pub mod decompress;
9
10pub trait SeqRecord {
11    fn extend_seq_buf(&mut self, buf: &mut Vec<u8>);
12}
13pub trait SeqRefRecord {
14    fn seq(&self) -> &[u8];
15}
16pub trait IdRecord {
17    fn extend_id_buf(&mut self, buf: &mut Vec<u8>);
18    fn extend_id_string(&mut self, buf: &mut String) -> Result<(), Utf8Error>;
19}
20pub trait IdRefRecord {
21    fn id(&self) -> &[u8];
22    fn id_str(&self) -> Result<&str, Utf8Error>;
23}