mzident 0.1.0

Handle all kinds of identified peptidoform files.
Documentation
#![allow(clippy::missing_panics_doc)]
use crate::{NovoBData, NovoBVersion, test_format};
use std::io::BufReader;

#[test]
fn novob() {
    match test_format::<NovoBData>(
        BufReader::new(NOVOB_V0_0_1.as_bytes()),
        &mzcore::ontology::STATIC_ONTOLOGIES,
        false,
        false,
        Some(NovoBVersion::V0_0_1),
    ) {
        Ok(n) => assert_eq!(n, 20),
        Err(e) => {
            println!("{e}");
            panic!("Failed identified peptides test");
        }
    }
}

#[test]
fn novob_1() {
    match test_format::<NovoBData>(
        BufReader::new(NOVOB_V0_0_1_2.as_bytes()),
        &mzcore::ontology::STATIC_ONTOLOGIES,
        false,
        false,
        Some(NovoBVersion::V0_0_1),
    ) {
        Ok(n) => assert_eq!(n, 19),
        Err(e) => {
            println!("{e}");
            panic!("Failed identified peptides test");
        }
    }
}

const NOVOB_V0_0_1: &str = "1	2	2412.424	['VATTAYDYYSYSVITDAIYNF']	-8.679	0.000000	['FGVGAENYGDDEEGDIEEIIINIIEK']	-449.920	0.000000
2	2	2412.424	['STSGDTISEINSEIIEEQVGVNK']	-17.753	0.000000	['mAITmASTQIEDITDEEIIEIIIEK']	-449.991	0.000000
3	4	1735.869	['HKDGSTEIKDnKTNR']	11.023	0.000013	['CDVNHKIPSNTKVDK']	0.000	0.077978
4	4	2869.220	['RPPPPPPSPPPPPEEGPTAPPRPQTYH']	-2.230	0.000000	['TREPQEPMEHQGGSGPESGQENSTYR']	-0.014	0.000000
5	4	2869.220	['KTPPPEEEGKEECEGGDAmNENPAEK']	0.014	0.000000	['DIGESVEHCEHSKPSCQPSNGNTYR']	0.003	0.000000
6	4	2894.252	['RPPGGAEEEEEEYRPEPEGEHSSGMK']	0.008	0.000000	['NAGTYKEEEEEEVQSSGDKYNSTYR']	0.002	0.000000
7	4	2894.252	['KTPSPSIKPSSSSSSSSSSSSHSHIPIIF']	-30.199	0.000000	['IVEIHGETAMQGAHGGGGGGSGPNDTSTYR']	-0.045	0.000000
8	4	2951.276	['GSGGGGGGGRGSGGGGSGSGTTKTSDPGEGSGSGSSR']	0.024	0.000000	['GTIGAVFGEHAASGEHGGGSSSGSGGYSSMSGK']	0.007	0.000000
9	4	1645.895	['HKPSSTKPVFPPSQK']	0.000	0.003877	['NVQGDKKNAIVHVDK']	0.005	0.000040
10	4	2748.191	['GSGGGGGGGGGGGGSGGGGAGIGSGGPGHRPGTSCR']	0.012	0.000000	['GGENSSEHKPEEQVTGmGQENSTYR']	0.021	0.000000
11	4	2748.191	['EGEGEGRPSEETKEMPTPSSSSMATR']	-0.007	0.000000	['CRPASEIGANAGGHAGSGSGYSETSGSSR']	0.003	0.000000
12	4	2910.248	['SSNGGGSGGGGGGGGGGASSSSSSSSSSSSSIRPPK']	-0.002	0.000000	['KIEEEGDQSGEHSHGGPGSSSGEQQGYR']	0.008	0.000000
13	3	1735.866	['HKDGSENVPSNTKVDK']	0.016	0.023430	['IANTSDHKPSNTKVDK']	-0.019	0.034890
14	3	1735.866	['mVPKTDASEHRPKDK']	-0.001	0.008308	['mVVKTNPEHESPKDK']	0.008	0.000015
15	3	2894.246	['GQCGEYGSGGGGGGGGGAGGGGGGGGGGGGGGGGIGAGGGm']	0.152	0.000000	['VHQKEGESSEAGHYPGSYGSGNESTYR']	-0.002	0.000000
16	3	2894.246	['FSAGSCGDIKEESSPCPESEEEIIQK']	-0.014	0.000000	['KSKGANDEADSSEHSGDYYQEEPTIR']	-0.013	0.000000
17	3	2951.272	['SCYTTSSSSSSSSSSSSSSSHEEIQIKR']	0.002	0.000000	['FGIAANDTDSSSSSSGSPSPISSSSSGNSHR']	-0.002	0.000000
18	3	2951.272	['SSSSSSNGSSSSSSSSSSSSSSSNVEEPIRD']	0.074	0.000000	['KDEAYNKEDDGSQTSGEDNEEINNIR']	0.005	0.000000
206	4	2388.897	['']	2388.897	0.000000	['']	2388.897	0.000000
189	3	1269.642	['HEyGIRRNyqmyIIDqqGVYIVMGTSqPtSLIPH']	-2104.704	0.000000	['']	1269.642	0.000000";

const NOVOB_V0_0_1_2: &str = "mcount	charge	pepmass	senten	delta_mass	prob	senten_reverse	delta_mass_reverse	prob_reverse
34177	3	2510.135	['QAIEDAAVFSEDEIGMSGDEIFR']	0.009	0.000000	['DITETEISIDEFSNNPADYVEK']	0.000	0.000000
34178	2	1708.867	['IIVDHSIVEEAEFAR']	-0.011	0.005734	['QSSEIYEFIEEIIK']	0.010	0.000000
34179	3	1334.648	['KPIQPDADQGER']	-0.011	0.000025	['QSDPIENVAQPR']	-0.010	0.000011
34180	2	1309.744	['IIIIIQADNMGK']	0.001	0.000001	['IKPIIITCDEK']	-0.984	0.000009
34181	3	1136.663	['KPFPIPSIEK']	0.002	0.037508	['EEVPKPSIEK']	0.054	0.021027
34182	3	1912.458	['IIDHIIDEIEDIDIMR']	-21.524	0.000000	['mDAEDHIDEIIEIIEK']	2.558	0.000000
34183	2	742.599	['EQIDVR']	2.217	0.000001	['IGPDSFK']	-1.780	0.000001
34184	2	878.276	['KPVPPPHIPSESVNGEIPSIGPFGIMPmR']	-2199.306	0.000000	['RSPPIPVK']	3.736	0.000000
34185	2	1136.663	['FIIVVHQTAK']	-0.007	0.003520	['VFPSNIPIIR']	-0.007	0.000363
34186	3	1565.657	['YHECVNSQESFGK']	0.000	0.000066	['INDFDDFSDPSGAGK']	-0.005	0.000000
34187	3	1983.839	['ISIISIITGTHTVTAGGSSAICFTTSVGPSPAQMMEGAFTEI']	-2238.223	0.000000	['ISIEGHEEFADSEANHAF']	-0.021	0.000000
34188	3	1481.718	['YHIVAGSDGTPIDR']	-0.006	0.000001	['ENAPAEEIIDASNK']	0.017	0.000011
34189	2	1793.913	['IISVIEGNAGHIGETmR']	0.004	0.000000	['VQDAFIVFVYNAEAAR']	0.004	0.000000
34190	3	1169.739	['SVIIPPPIPKK']	-0.014	0.000929	['KGTPIHIVPVK']	0.010	0.004937
34191	2	953.434	['EAPMGDPQK']	0.005	0.000206	['WPPMPCGK']	0.009	0.042429
34192	3	1343.574	['YHGDPENMPFR']	0.003	0.006334	['DTSNPEYHPFR']	-0.015	0.000345
34193	3	1980.882	['IIQQIIVEAIINHVGDVIMSCPTVGKPPFVVPFMEPDIPVFPFFVMPGPFDAQ']	-3893.128	0.000000	['KISAIINPIIIWEEIIK']	6.689	0.000000
34194	3	2288.015	['KIAAIVEECGECPAGEPGTTCEDGGPVMEAPSmPIQ']	-1496.626	0.000000	['QTQCSCQASCNCISGSSCAPSCCS']	-449.926	0.000000
34195	2	1254.662	['EIIIDADIIMK']	-0.027	0.000112	['EQNAIVIIDMK']	-0.002	0.000184";