mzident 0.1.0

Handle all kinds of identified peptidoform files.
Documentation
#![allow(clippy::missing_panics_doc)]
use std::io::BufReader;

use crate::{ProteoscapeData, ProteoscapeVersion, test_format};

#[test]
fn proteoscape_db_v2025b() {
    match test_format::<ProteoscapeData>(
        BufReader::new(DATABASE_V2025B.as_bytes()),
        &mzcore::ontology::STATIC_ONTOLOGIES,
        true,
        false,
        Some(ProteoscapeVersion::V2025b),
    ) {
        Ok(n) => assert_eq!(n, 22),
        Err(e) => {
            println!("{e}");
            panic!("Failed identified peptides test");
        }
    }
}

const DATABASE_V2025B: &str = r"MS2 Id	Peptide Sequence	XCorr Score	Precursor MZ	PPM Error	Rt	Corrected Ook0	Protein Group Name	Charge	Delta CN Score	Confidence Score	Calculated MH	Matched Ions	Predicted Ook0	TIMScore	Is Unique
15792	VDK.AAAAAAALQAK.SDE	3.1078	478.7798	-0.1	1628.426	0.873	sp|P36578|RL4_HUMAN	2	0.7032	100	956.5524	13	0.8272	0.0011	true
121169	EAR.AAAAATVVPPMVGGPPFVGPVGFGPGDR.SHL	1.8697	864.4537	-0.9	4008.8481	0.9425	sp|Q9BTD8|RBM42_HUMAN	3	1	100	2591.344	31	1.0109	0.0119	true
121232	EAR.AAAAATVVPPMVGGPPFVGPVGFGPGDR.SHL	1.5348	864.4521	0.8	4010.0198	0.9398	sp|Q9BTD8|RBM42_HUMAN	3	1	100	2591.344	21	1.0109	0.0087	true
25059	RKK.AAAAAWEEPSSGNGTAR.AGP	3.8022	823.3837	-2.2	1920.2656	1.0245	sp|Q9P258|RCC2_HUMAN	2	0.8512	100	1645.7565	18	1.0193	0.7516	true
25138	RKK.AAAAAWEEPSSGNGTAR.AGP	4.4585	823.3828	-1	1922.6124	1.0223	sp|Q9P258|RCC2_HUMAN	2	0.8501	100	1645.7565	21	1.0193	0.857	true
42217	GGR.AAAAPGASPSPGGDAAWSEAGPGPR.PLA	2.7239	1103.0178	1.7	2365.6448	1.2263	sp|P52701|MSH6_HUMAN	2	0.9049	100	2205.032	19	1.1802	0.0193	true
42243	GGR.AAAAPGASPSPGGDAAWSEAGPGPR.PLA	1.9742	1103.0189	0.7	2366.8169	1.1975	sp|P52701|MSH6_HUMAN	2	1	100	2205.032	12	1.1802	0.3703	true
59151	ARR.AAAASAAEAGIATTGTEDSDDALLK.MTI	5.3434	1160.5608	0.3	2731.3401	1.2929	sp|P55036|PSMD4_HUMAN	2	0.8754	100	2320.115	27	1.3031	0.6237	true
59253	ARR.AAAASAAEAGIATTGTEDSDDALLK.MTI	6.0643	1160.5599	1.1	2733.6838	1.292	sp|P55036|PSMD4_HUMAN	2	0.872	100	2320.115	27	1.3031	0.5929	true
60502	ARR.AAAASAAEAGIATTGTEDSDDALLK.MTI	4.4546	1160.5599	1.1	2758.2952	1.2911	sp|P55036|PSMD4_HUMAN	2	0.8607	100	2320.115	22	1.3031	0.5645	true
45498	IAR.AAADTLQGPMQAAYR.EAF	3.7973	782.3817	1.5	2441.8257	1.0267	sp|Q6P2E9|EDC4_HUMAN	2	0.7688	100	1563.7584	18	1.022	0.7781	true
37215	MKK.AAAEDVNVTFEDQQK.INK	6.0561	832.893	-1.5	2246.0984	1.0432	sp|Q9NQP4|PFD4_HUMAN	2	0.8267	100	1664.7762	19	1.052	0.6016	true
37953	MKK.AAAEDVNVTFEDQQK.INK	2.6239	832.8956	-4.6	2263.6777	1.0626	sp|Q9NQP4|PFD4_HUMAN	2	0.8337	100	1664.7762	11	1.052	0.5343	true
38570	MKK.AAAEDVNVTFEDQQK.INK	0.7014	832.8986	-8.1	2277.7429	1.0636	sp|Q9NQP4|PFD4_HUMAN	2	1	99.6826	1664.7762	11	1.052	0.495	true
41388	KRK.AAAEELQEAAGAGDGATENGVQPPK.AAA	3.5983	1191.0608	3.1	2346.8936	1.2403	sp|Q9H9Y2|RPF1_HUMAN	2	1	100	2381.1216	21	1.249	0.663	true
41488	KRK.AAAEELQEAAGAGDGATENGVQPPK.AAA	3.2142	1191.0664	-1.6	2349.2373	1.2382	sp|Q9H9Y2|RPF1_HUMAN	2	0.9451	100	2381.1216	20	1.249	0.5864	true
134822	DEK.AAAEIYEEFLAAFEGSDGNK.VKT	5.8089	1066.4958	-1.1	4379.2158	1.1853	sp|O15042|SR140_HUMAN	2	0.8735	100	2131.9819	18	1.2216	0.0562	true
134921	DEK.AAAEIYEEFLAAFEGSDGNK.VKT	6.4211	1066.496	-1.3	4382.7314	1.1812	sp|O15042|SR140_HUMAN	2	0.8502	100	2131.9819	19	1.2216	0.0331	true
134887	DEK.AAAEIYEEFLAAFEGSDGNK.VKT	2.3767	711.3308	1.9	4381.5596	0.9331	sp|O15042|SR140_HUMAN	3	1	100	2131.9819	30	0.9497	0.5366	true
17575	-MK.C(57.021464)HYEALGVR.RDA	1.2532	552.7726	-11.3	1688.2001	0.8953	sp|Q5F1R6|DJC21_HUMAN	2	0.8925	99.9463	1104.5255	8	0.877	0.2015	true
129943	VDK.C(57.021464)LADGADEHLQLISLC(57.021464)ATVMQQLSQNC.---	1.3056	1025.8051	-0.2	4235.0503	1.0765	sp|P35249|RFC4_HUMAN	3	1	0	3075.4001	19	1.1364	0.0535	true
18238	FFK.DGLEMEK.C--	0.752	411.1872	4.5	1710.4712	0.7371	sp|P13693|TCTP_HUMAN	2	0.7661	99.2689	821.3709	7	0.7357	0.9064	true";