use seq_io::fastq::Reader as FastqReader;
use crate::fileformat::shard::CellID;
use crate::fileformat::shard::ReadPair;
pub trait Chemistry {
fn prepare(
&mut self,
fastq_file_r1: &mut FastqReader<Box<dyn std::io::Read>>,
fastq_file_r2: &mut FastqReader<Box<dyn std::io::Read>>
) -> anyhow::Result<()>;
fn detect_barcode_and_trim(
&mut self,
r1_seq: &[u8],
r1_qual: &[u8],
r2_seq: &[u8],
r2_qual: &[u8]
) -> (bool, CellID, ReadPair);
}