//! Streaming sequence file reader for obikmer.
//!
//! Yields rope chunks from FASTA or FASTQ files, each ending
//! on a complete sequence record boundary.

#![deny(missing_docs)]

pub mod chunk;
mod fasta;
mod fastq;
mod mimetype;
pub mod normalize;
mod nucstream;
mod path_iterator;
pub mod peakreader;
pub mod record;
pub mod xopen;

pub use chunk::{
    SeqChunkIter, fasta_chunks, fastq_chunks, read_fasta_chunks, read_fastq_chunks,
    read_sequence_chunks, read_sequence_chunks_sized,
};
pub use mimetype::MimeTypeGuesser;
pub use normalize::{normalize_fasta_chunk, normalize_fastq_chunk, normalize_sequence_chunk};
pub use nucstream::{NucPage, NucPageCursor, open_nuc_stream};
pub use path_iterator::{PathIter, path_iter};
pub use peakreader::PeekReader;
pub use xopen::xopen;

/// Default read block size: 1 MiB.
pub const DEFAULT_BLOCK_SIZE: usize = 1024 * 1024;
