alpine/
lib.rs

1pub mod lib {
2    // use std::{fs::File, io::BufReader};
3
4    // use noodles::{bgzf, fasta};
5
6    pub mod distmat;
7    pub mod filtering;
8    pub mod prevalence;
9    pub mod reporting;
10
11    // pub enum SupportedCodec {
12    //     Gzip,
13    //     Zstd,
14    //     Bzip2,
15    //     BGzip,
16    // }
17
18    // trait DecodeInput {
19    //     fn get_fasta_reader(
20    //         &self,
21    //         fasta_path: &str,
22    //     ) -> anyhow::Result<fasta::Reader<fasta::Reader<std::fs::File>>>;
23    // }
24
25    // impl DecodeInput for SupportedCodec {
26    //     fn get_fasta_reader(
27    //         &self,
28    //         fasta_path: &str,
29    //     ) -> anyhow::Result<fasta::Reader<fasta::Reader<std::fs::File>>> {
30    //         match &self {
31    //             SupportedCodec::Gzip => (),
32    //             SupportedCodec::Zstd => (),
33    //             SupportedCodec::Bzip2 => (),
34    //             SupportedCodec::BGzip => {
35    //                 let mut fasta_reader = File::open(fasta_path)
36    //                     .map(bgzf::Reader::new)
37    //                     .map(fasta::Reader::new);
38    //                 fasta_reader
39    //             }
40    //             _ => {
41    //                 let mut fasta_reader = File::open(fasta_path)
42    //                     .map(BufReader::new)
43    //                     .map(fasta::Reader::new);
44    //                 fasta_reader
45    //             }
46    //         }
47    //     }
48    // }
49}