Skip to main content

mzdata_meta/
software.rs

1use std::collections::HashSet;
2
3use crate::params::{ControlledVocabulary, ParamList, Param};
4use crate::impl_param_described;
5
6/// A piece of software that was associated with the acquisition, transformation or otherwise
7/// processing of mass spectrometry data.
8///
9/// See <https://peptideatlas.org/tmp/mzML1.1.0.html#software>
10#[derive(Debug, Clone, Default, PartialEq, Eq)]
11#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
12pub struct Software {
13    /// A unique identifier for the software within processing metadata
14    pub id: String,
15    /// A string denoting a particular software version, but does no guarantee is given for its format
16    pub version: String,
17    /// Any associated vocabulary terms, including actual software name and type
18    pub params: ParamList,
19}
20
21bitflags::bitflags! {
22    #[doc="A bit mask encoding the different kinds of software."]
23    #[derive(Debug, Clone, Copy, PartialEq)]
24    pub struct SoftwareType: u8 {
25        const None = 0;
26        const Analysis = 0b00000001;
27        const DataProcessing = 0b00000010;
28        const Acquisition = 0b00000100;
29    }
30}
31
32#[allow(unused)]
33impl SoftwareType {
34    /// Is this software for analysis?
35    pub const fn is_analysis(&self) -> bool {
36        self.contains(Self::Analysis)
37    }
38
39    /// Is this software for data processing?
40    pub const fn is_data_processing(&self) -> bool {
41        self.contains(Self::DataProcessing)
42    }
43
44    /// Is this software for data acquisition?
45    pub const fn is_acquisition(&self) -> bool {
46        self.contains(Self::Acquisition)
47    }
48}
49
50impl From<u8> for SoftwareType {
51    fn from(value: u8) -> Self {
52        Self::from_bits_retain(value)
53    }
54}
55
56impl Software {
57    pub fn new(id: String, version: String, params: ParamList) -> Self {
58        Self {
59            id,
60            version,
61            params,
62        }
63    }
64
65    /// Find the term defining the software
66    pub fn find_software_term(&self) -> Option<SoftwareTerm> {
67        self.params
68            .iter()
69            .flat_map(|p| {
70                if let Some(i) = p.accession {
71                    SoftwareTerm::from_accession(i)
72                } else {
73                    None
74                }
75            })
76            .next()
77    }
78
79    /// Is this software for analysis?
80    pub fn is_analysis(&self) -> bool {
81        self.find_software_term().map(|s| s.flags().is_analysis()).unwrap_or(false)
82    }
83
84    /// Is this software for data processing?
85    pub fn is_data_processing(&self) -> bool {
86        self.find_software_term().map(|s| s.flags().is_data_processing()).unwrap_or(false)
87    }
88
89    /// Is this software for data acquisition?
90    pub fn is_acquisition(&self) -> bool {
91        self.find_software_term().map(|s| s.flags().is_acquisition()).unwrap_or(false)
92    }
93
94    /// Find a unique identifier from an iterator over software IDs
95    pub fn find_unique_id<'a>(
96        id_stem: &str,
97        softwares: impl IntoIterator<Item = &'a Self>,
98    ) -> String {
99        let software_ids: HashSet<_> = softwares.into_iter().map(|sw| &sw.id).collect();
100        (0..)
101            .map(|i| format!("{id_stem}_{i}"))
102            .find(|s| !software_ids.contains(s))
103            .unwrap()
104    }
105}
106
107/// Create an instance of "custom unreleased software tool" with name `name`
108pub fn custom_software_name(name: &str) -> Param {
109    ControlledVocabulary::MS.param_val(1000799, "custom unreleased software tool", name)
110}
111
112impl_param_described!(Software);
113
114crate::cvmap! {
115    #[flag_type=SoftwareType]
116    #[allow(unused, clippy::upper_case_acronyms)]
117    #[derive(Debug, Clone, Copy, PartialEq, Eq)]
118    #[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
119    /*[[[cog
120    import cog
121    import subprocess
122    buf = subprocess.check_output(['python', 'cv/extract_software.py']).decode('utf8')
123    for line in buf.splitlines():
124        cog.outl(line)
125    ]]]*/
126    pub enum SoftwareTerm {
127        #[term(cv=MS, accession=1000531, name="software", flags={0}, parents={[]})]
128        #[doc="software - Software related to the recording or transformation of spectra."]
129        Software,
130        #[term(cv=MS, accession=1000532, name="Xcalibur", flags={7}, parents={["MS:1000693", "MS:1003961", "MS:1001455", "MS:1001456", "MS:1001457"]})]
131        #[doc="Xcalibur - Thermo Finnigan software for data acquisition and analysis."]
132        Xcalibur,
133        #[term(cv=MS, accession=1000533, name="Bioworks", flags={3}, parents={["MS:1000693", "MS:1001456", "MS:1001457"]})]
134        #[doc="Bioworks - Thermo Finnigan software for data analysis of peptides and proteins."]
135        Bioworks,
136        #[term(cv=MS, accession=1000534, name="MassLynx", flags={7}, parents={["MS:1000694", "MS:1001455", "MS:1001456", "MS:1001457"]})]
137        #[doc="MassLynx - Micromass software for data acquisition and analysis."]
138        MassLynx,
139        #[term(cv=MS, accession=1000535, name="FlexAnalysis", flags={3}, parents={["MS:1000692", "MS:1001456", "MS:1001457"]})]
140        #[doc="FlexAnalysis - Bruker software for data analysis."]
141        FlexAnalysis,
142        #[term(cv=MS, accession=1000536, name="Data Explorer", flags={7}, parents={["MS:1000691", "MS:1001455", "MS:1001456", "MS:1001457"]})]
143        #[doc="Data Explorer - Applied Biosystems software for data acquisition and analysis."]
144        DataExplorer,
145        #[term(cv=MS, accession=1000537, name="4700 Explorer", flags={7}, parents={["MS:1000691", "MS:1001455", "MS:1001456", "MS:1001457"]})]
146        #[doc="4700 Explorer - Applied Biosystems software for data acquisition and analysis."]
147        _4700Explorer,
148        #[term(cv=MS, accession=1000538, name="massWolf", flags={2}, parents={["MS:1001457"]})]
149        #[doc="massWolf - A software for converting Waters raw directory format to mzXML or mzML. MassWolf was originally developed at the Institute for Systems Biology."]
150        MassWolf,
151        #[term(cv=MS, accession=1000539, name="Voyager Biospectrometry Workstation System", flags={7}, parents={["MS:1000691", "MS:1001455", "MS:1001456", "MS:1001457"]})]
152        #[doc="Voyager Biospectrometry Workstation System - Applied Biosystems MALDI-TOF data acquisition and analysis system."]
153        VoyagerBiospectrometryWorkstationSystem,
154        #[term(cv=MS, accession=1000540, name="FlexControl", flags={4}, parents={["MS:1000692", "MS:1001455"]})]
155        #[doc="FlexControl - Bruker software for data acquisition."]
156        FlexControl,
157        #[term(cv=MS, accession=1000541, name="ReAdW", flags={2}, parents={["MS:1001457"]})]
158        #[doc="ReAdW - A software program for converting Thermo Finnigan RAW file format to mzXML or mzML. ReAdW was originally developed at the Institute for Systems Biology. Its whimsical interleaved spelling and capitalization is pronounced 'readraw'."]
159        ReAdW,
160        #[term(cv=MS, accession=1000542, name="MzStar", flags={2}, parents={["MS:1001457"]})]
161        #[doc="MzStar - A software program for converting Applied Biosystems wiff file format to mzXML format. MzStar was originally developed at the Institute for Systems Biology. It is now obsoleted by the MzWiff program."]
162        MzStar,
163        #[term(cv=MS, accession=1000551, name="Analyst", flags={7}, parents={["MS:1000690", "MS:1001455", "MS:1001456", "MS:1001457"]})]
164        #[doc="Analyst - SCIEX or Applied Biosystems|MDS SCIEX software for data acquisition."]
165        Analyst,
166        #[term(cv=MS, accession=1000553, name="Trapper", flags={2}, parents={["MS:1001457"]})]
167        #[doc="Trapper - A software program for converting Agilent MassHunter format to mzXML or mzML. Trapper was originally developed at the Institute for Systems Biology."]
168        Trapper,
169        #[term(cv=MS, accession=1000591, name="MzWiff", flags={2}, parents={["MS:1001457"]})]
170        #[doc="MzWiff - A software program for converting Applied Biosystems wiff file format to the mzXML or mzML format. MzWiff is currently maintained at the Institute for Systems Biology. It replaces the slower mzStar program."]
171        MzWiff,
172        #[term(cv=MS, accession=1000600, name="Proteios", flags={3}, parents={["MS:1001456", "MS:1001457"]})]
173        #[doc="Proteios - Database application and analysis platform for proteomics."]
174        Proteios,
175        #[term(cv=MS, accession=1000601, name="ProteinLynx Global Server", flags={3}, parents={["MS:1000694", "MS:1001456", "MS:1001457"]})]
176        #[doc="ProteinLynx Global Server - Waters software for data analysis."]
177        ProteinLynxGlobalServer,
178        #[term(cv=MS, accession=1000615, name="ProteoWizard software", flags={3}, parents={["MS:1001456", "MS:1001457"]})]
179        #[doc="ProteoWizard software - ProteoWizard software for data processing and analysis. Primarily developed by the labs of P. Malick and D. Tabb."]
180        ProteoWizardSoftware,
181        #[term(cv=MS, accession=1000650, name="Proteome Discoverer", flags={3}, parents={["MS:1000693", "MS:1003961", "MS:1001456", "MS:1001457"]})]
182        #[doc="Proteome Discoverer - Thermo Scientific software for data analysis of peptides and proteins."]
183        ProteomeDiscoverer,
184        #[term(cv=MS, accession=1000659, name="4000 Series Explorer Software", flags={7}, parents={["MS:1000690", "MS:1001455", "MS:1001456", "MS:1001457"]})]
185        #[doc="4000 Series Explorer Software - SCIEX or Applied Biosystems software for data acquisition and analysis."]
186        _4000SeriesExplorerSoftware,
187        #[term(cv=MS, accession=1000661, name="GPS Explorer", flags={7}, parents={["MS:1000690", "MS:1001455", "MS:1001456", "MS:1001457"]})]
188        #[doc="GPS Explorer - SCIEX or Applied Biosystems software for data acquisition and analysis."]
189        GPSExplorer,
190        #[term(cv=MS, accession=1000662, name="LightSight Software", flags={3}, parents={["MS:1000690", "MS:1001456", "MS:1001457"]})]
191        #[doc="LightSight Software - SCIEX or Applied Biosystems|MDS SCIEX software metabolite identification."]
192        LightSightSoftware,
193        #[term(cv=MS, accession=1000663, name="ProteinPilot Software", flags={3}, parents={["MS:1000690", "MS:1001456", "MS:1001457"]})]
194        #[doc="ProteinPilot Software - SCIEX or Applied Biosystems|MDS SCIEX software for protein ID and quant."]
195        ProteinPilotSoftware,
196        #[term(cv=MS, accession=1000664, name="TissueView Software", flags={3}, parents={["MS:1000690", "MS:1001456", "MS:1001457"]})]
197        #[doc="TissueView Software - Applied Biosystems|MDS SCIEX software for tissue imaging."]
198        TissueViewSoftware,
199        #[term(cv=MS, accession=1000665, name="MarkerView Software", flags={3}, parents={["MS:1000690", "MS:1001456", "MS:1001457"]})]
200        #[doc="MarkerView Software - Applied Biosystems|MDS SCIEX software for metabolomics and biomarker profiling."]
201        MarkerViewSoftware,
202        #[term(cv=MS, accession=1000666, name="MRMPilot Software", flags={3}, parents={["MS:1000690", "MS:1001456", "MS:1001457"]})]
203        #[doc="MRMPilot Software - Applied Biosystems|MDS SCIEX software for MRM assay development."]
204        MRMPilotSoftware,
205        #[term(cv=MS, accession=1000667, name="BioAnalyst", flags={3}, parents={["MS:1000690", "MS:1001456", "MS:1001457"]})]
206        #[doc="BioAnalyst - Applied Biosystems|MDS SCIEX software for bio-related data exploration."]
207        BioAnalyst,
208        #[term(cv=MS, accession=1000668, name="Pro ID", flags={3}, parents={["MS:1000690", "MS:1001456", "MS:1001457"]})]
209        #[doc="Pro ID - Applied Biosystems|MDS SCIEX software for protein identification."]
210        ProID,
211        #[term(cv=MS, accession=1000669, name="Pro ICAT", flags={3}, parents={["MS:1000690", "MS:1001456", "MS:1001457"]})]
212        #[doc="Pro ICAT - Applied Biosystems|MDS SCIEX software for protein ID and quant by ICAT."]
213        ProICAT,
214        #[term(cv=MS, accession=1000670, name="Pro Quant", flags={3}, parents={["MS:1000690", "MS:1001456", "MS:1001457"]})]
215        #[doc="Pro Quant - Applied Biosystems|MDS SCIEX software for protein ID and quant by iTRAQ."]
216        ProQuant,
217        #[term(cv=MS, accession=1000671, name="Pro BLAST", flags={3}, parents={["MS:1000690", "MS:1001456", "MS:1001457"]})]
218        #[doc="Pro BLAST - Applied Biosystems|MDS SCIEX software for MS-BLAST identification."]
219        ProBLAST,
220        #[term(cv=MS, accession=1000672, name="Cliquid", flags={0}, parents={["MS:1000690"]})]
221        #[doc="Cliquid - SCIEX Cliquid software for data analysis and quantitation."]
222        Cliquid,
223        #[term(cv=MS, accession=1000673, name="MIDAS Workflow Designer", flags={0}, parents={["MS:1000690"]})]
224        #[doc="MIDAS Workflow Designer - Applied Biosystems|MDS SCIEX software for MRM assay development."]
225        MIDASWorkflowDesigner,
226        #[term(cv=MS, accession=1000674, name="MultiQuant", flags={3}, parents={["MS:1000690", "MS:1001456", "MS:1001457"]})]
227        #[doc="MultiQuant - Applied Biosystems|MDS SCIEX software for MRM-based quantitation."]
228        MultiQuant,
229        #[term(cv=MS, accession=1000678, name="MassHunter Data Acquisition", flags={4}, parents={["MS:1000689", "MS:1001455"]})]
230        #[doc="MassHunter Data Acquisition - Software for data acquisition of 6000 series instruments."]
231        MassHunterDataAcquisition,
232        #[term(cv=MS, accession=1000679, name="MassHunter Easy Access", flags={4}, parents={["MS:1000689", "MS:1001455"]})]
233        #[doc="MassHunter Easy Access - Software for open access data acquisition."]
234        MassHunterEasyAccess,
235        #[term(cv=MS, accession=1000680, name="MassHunter Qualitative Analysis", flags={3}, parents={["MS:1000689", "MS:1001456", "MS:1001457"]})]
236        #[doc="MassHunter Qualitative Analysis - Software for data analysis of data from 6000 series instruments."]
237        MassHunterQualitativeAnalysis,
238        #[term(cv=MS, accession=1000681, name="MassHunter Quantitative Analysis", flags={3}, parents={["MS:1000689", "MS:1001456", "MS:1001457"]})]
239        #[doc="MassHunter Quantitative Analysis - Software for quantitation of Triple Quadrupole and Quadrupole Time-of-Flight data."]
240        MassHunterQuantitativeAnalysis,
241        #[term(cv=MS, accession=1000682, name="MassHunter Metabolite ID", flags={3}, parents={["MS:1000689", "MS:1001456", "MS:1001457"]})]
242        #[doc="MassHunter Metabolite ID - Software for identification of metabolites."]
243        MassHunterMetaboliteID,
244        #[term(cv=MS, accession=1000683, name="MassHunter BioConfirm", flags={3}, parents={["MS:1000689", "MS:1001456", "MS:1001457"]})]
245        #[doc="MassHunter BioConfirm - Software for protein characterization."]
246        MassHunterBioConfirm,
247        #[term(cv=MS, accession=1000684, name="Genespring MS", flags={3}, parents={["MS:1000689", "MS:1001456", "MS:1001457"]})]
248        #[doc="Genespring MS - Software for quantitation and statistical analysis of TOF and Q-TOF LC/MS data."]
249        GenespringMS,
250        #[term(cv=MS, accession=1000685, name="MassHunter Mass Profiler", flags={3}, parents={["MS:1000689", "MS:1001456", "MS:1001457"]})]
251        #[doc="MassHunter Mass Profiler - Software for quantitation and statistical analysis of TOF and Q-TOF LC/MS data."]
252        MassHunterMassProfiler,
253        #[term(cv=MS, accession=1000686, name="METLIN", flags={3}, parents={["MS:1000689", "MS:1001456", "MS:1001457"]})]
254        #[doc="METLIN - Personal Metabolite Database for MassHunter Workstation. Software for identification of human metabolites."]
255        METLIN,
256        #[term(cv=MS, accession=1000687, name="Spectrum Mill for MassHunter Workstation", flags={3}, parents={["MS:1000689", "MS:1001456", "MS:1001457"]})]
257        #[doc="Spectrum Mill for MassHunter Workstation - Software for protein identification and characterization of complex protein digest mixtures."]
258        SpectrumMillForMassHunterWorkstation,
259        #[term(cv=MS, accession=1000688, name="6300 Series Ion Trap Data Analysis Software", flags={7}, parents={["MS:1000689", "MS:1001455", "MS:1001456", "MS:1001457"]})]
260        #[doc="6300 Series Ion Trap Data Analysis Software - Software for data analysis of 6300 series ion trap mass spectrometers."]
261        _6300SeriesIonTrapDataAnalysisSoftware,
262        #[term(cv=MS, accession=1000689, name="Agilent software", flags={0}, parents={["MS:1000531"]})]
263        #[doc="Agilent software - Agilent software for data acquisition and analysis."]
264        AgilentSoftware,
265        #[term(cv=MS, accession=1000690, name="SCIEX software", flags={0}, parents={["MS:1000531"]})]
266        #[doc="SCIEX software - SCIEX or Applied Biosystems software for data acquisition and analysis."]
267        SCIEXSoftware,
268        #[term(cv=MS, accession=1000691, name="Applied Biosystems software", flags={0}, parents={["MS:1000531"]})]
269        #[doc="Applied Biosystems software - Applied Biosystems|MDS SCIEX software for data acquisition and analysis."]
270        AppliedBiosystemsSoftware,
271        #[term(cv=MS, accession=1000692, name="Bruker software", flags={0}, parents={["MS:1000531"]})]
272        #[doc="Bruker software - Bruker software for data acquisition and analysis."]
273        BrukerSoftware,
274        #[term(cv=MS, accession=1000693, name="Thermo Finnigan software", flags={0}, parents={["MS:1000531"]})]
275        #[doc="Thermo Finnigan software - Thermo Finnigan software for data acquisition and analysis."]
276        ThermoFinniganSoftware,
277        #[term(cv=MS, accession=1000694, name="Waters software", flags={0}, parents={["MS:1000531"]})]
278        #[doc="Waters software - Waters software for data acquisition and analysis."]
279        WatersSoftware,
280        #[term(cv=MS, accession=1000706, name="apexControl", flags={4}, parents={["MS:1000692", "MS:1001455"]})]
281        #[doc="apexControl - Bruker software for data acquisition."]
282        ApexControl,
283        #[term(cv=MS, accession=1000707, name="BioTools", flags={3}, parents={["MS:1000692", "MS:1001456", "MS:1001457"]})]
284        #[doc="BioTools - Bruker software for data analysis."]
285        BioTools,
286        #[term(cv=MS, accession=1000708, name="CLINPROT", flags={3}, parents={["MS:1000692", "MS:1001456", "MS:1001457"]})]
287        #[doc="CLINPROT - Bruker CLINPROT software."]
288        CLINPROT,
289        #[term(cv=MS, accession=1000709, name="CLINPROT micro", flags={3}, parents={["MS:1000692", "MS:1001456", "MS:1001457"]})]
290        #[doc="CLINPROT micro - Bruker CLINPROT micro software."]
291        CLINPROTMicro,
292        #[term(cv=MS, accession=1000710, name="CLINPROT robot", flags={0}, parents={["MS:1000692"]})]
293        #[doc="CLINPROT robot - Bruker CLINPROT robot software."]
294        CLINPROTRobot,
295        #[term(cv=MS, accession=1000711, name="ClinProTools", flags={0}, parents={["MS:1000692"]})]
296        #[doc="ClinProTools - Bruker ClinProTools software."]
297        ClinProTools,
298        #[term(cv=MS, accession=1000712, name="Compass", flags={3}, parents={["MS:1000692", "MS:1001456", "MS:1001457"]})]
299        #[doc="Compass - Bruker Compass software."]
300        Compass,
301        #[term(cv=MS, accession=1000713, name="Compass for HCT/esquire", flags={3}, parents={["MS:1000692", "MS:1001456", "MS:1001457"]})]
302        #[doc="Compass for HCT/esquire - Bruker Compass for HCT/esquire software."]
303        CompassForHCTEsquire,
304        #[term(cv=MS, accession=1000714, name="Compass for micrOTOF", flags={3}, parents={["MS:1000692", "MS:1001456", "MS:1001457"]})]
305        #[doc="Compass for micrOTOF - Bruker Compass for micrOTOF software."]
306        CompassForMicrOTOF,
307        #[term(cv=MS, accession=1000715, name="Compass OpenAccess", flags={3}, parents={["MS:1000692", "MS:1001456", "MS:1001457"]})]
308        #[doc="Compass OpenAccess - Bruker compass OpenAccess software."]
309        CompassOpenAccess,
310        #[term(cv=MS, accession=1000716, name="Compass Security Pack", flags={0}, parents={["MS:1000692"]})]
311        #[doc="Compass Security Pack - Bruker compass Security Pack software."]
312        CompassSecurityPack,
313        #[term(cv=MS, accession=1000717, name="CompassXport", flags={2}, parents={["MS:1000692", "MS:1001457"]})]
314        #[doc="CompassXport - Bruker stand-alone software for data conversion."]
315        CompassXport,
316        #[term(cv=MS, accession=1000718, name="CompassXtract", flags={2}, parents={["MS:1000692", "MS:1001457"]})]
317        #[doc="CompassXtract - Bruker software library for data access."]
318        CompassXtract,
319        #[term(cv=MS, accession=1000719, name="DataAnalysis", flags={3}, parents={["MS:1000692", "MS:1001456", "MS:1001457"]})]
320        #[doc="DataAnalysis - Bruker software for data analysis."]
321        DataAnalysis,
322        #[term(cv=MS, accession=1000720, name="dpControl", flags={4}, parents={["MS:1000692", "MS:1001455"]})]
323        #[doc="dpControl - Bruker software for data acquisition."]
324        DpControl,
325        #[term(cv=MS, accession=1000721, name="esquireControl", flags={4}, parents={["MS:1000692", "MS:1001455"]})]
326        #[doc="esquireControl - Bruker software for data acquisition."]
327        EsquireControl,
328        #[term(cv=MS, accession=1000722, name="flexImaging", flags={3}, parents={["MS:1000692", "MS:1001456", "MS:1001457"]})]
329        #[doc="flexImaging - Bruker software for data analysis."]
330        FlexImaging,
331        #[term(cv=MS, accession=1000723, name="GENOLINK", flags={0}, parents={["MS:1000692"]})]
332        #[doc="GENOLINK - Bruker GENOLINK software."]
333        GENOLINK,
334        #[term(cv=MS, accession=1000724, name="GenoTools", flags={0}, parents={["MS:1000692"]})]
335        #[doc="GenoTools - Bruker GenoTools software."]
336        GenoTools,
337        #[term(cv=MS, accession=1000725, name="HCTcontrol", flags={4}, parents={["MS:1000692", "MS:1001455"]})]
338        #[doc="HCTcontrol - Bruker software for data acquisition."]
339        HCTcontrol,
340        #[term(cv=MS, accession=1000726, name="micrOTOFcontrol", flags={4}, parents={["MS:1000692", "MS:1001455"]})]
341        #[doc="micrOTOFcontrol - Bruker software for data acquisition."]
342        MicrOTOFcontrol,
343        #[term(cv=MS, accession=1000727, name="PolyTools", flags={0}, parents={["MS:1000692"]})]
344        #[doc="PolyTools - Bruker PolyTools software."]
345        PolyTools,
346        #[term(cv=MS, accession=1000728, name="ProfileAnalysis", flags={3}, parents={["MS:1000692", "MS:1001456", "MS:1001457"]})]
347        #[doc="ProfileAnalysis - Bruker software for data analysis."]
348        ProfileAnalysis,
349        #[term(cv=MS, accession=1000729, name="PROTEINEER", flags={0}, parents={["MS:1000692"]})]
350        #[doc="PROTEINEER - Bruker PROTEINEER software."]
351        PROTEINEER,
352        #[term(cv=MS, accession=1000730, name="PROTEINEER dp", flags={0}, parents={["MS:1000692"]})]
353        #[doc="PROTEINEER dp - Bruker PROTEINEER dp software."]
354        PROTEINEERDp,
355        #[term(cv=MS, accession=1000731, name="PROTEINEER fc", flags={0}, parents={["MS:1000692"]})]
356        #[doc="PROTEINEER fc - Bruker PROTEINEER fc software."]
357        PROTEINEERFc,
358        #[term(cv=MS, accession=1000732, name="PROTEINEER spII", flags={0}, parents={["MS:1000692"]})]
359        #[doc="PROTEINEER spII - Bruker PROTEINEER spII software."]
360        PROTEINEERSpII,
361        #[term(cv=MS, accession=1000733, name="PROTEINEER-LC", flags={0}, parents={["MS:1000692"]})]
362        #[doc="PROTEINEER-LC - Bruker PROTEINEER-LC software."]
363        PROTEINEERLC,
364        #[term(cv=MS, accession=1000734, name="ProteinScape", flags={1}, parents={["MS:1000692", "MS:1001456"]})]
365        #[doc="ProteinScape - Bruker ProteinScape software."]
366        ProteinScape,
367        #[term(cv=MS, accession=1000735, name="PureDisk", flags={0}, parents={["MS:1000692"]})]
368        #[doc="PureDisk - BrukerPureDisk software."]
369        PureDisk,
370        #[term(cv=MS, accession=1000736, name="QuantAnalysis", flags={3}, parents={["MS:1000692", "MS:1001456", "MS:1001457"]})]
371        #[doc="QuantAnalysis - Bruker software for data analysis."]
372        QuantAnalysis,
373        #[term(cv=MS, accession=1000737, name="spControl", flags={4}, parents={["MS:1000692", "MS:1001455"]})]
374        #[doc="spControl - Bruker software for data acquisition."]
375        SpControl,
376        #[term(cv=MS, accession=1000738, name="TargetAnalysis", flags={0}, parents={["MS:1000692"]})]
377        #[doc="TargetAnalysis - Bruker TargetAnalysis software."]
378        TargetAnalysis,
379        #[term(cv=MS, accession=1000739, name="WARP-LC", flags={0}, parents={["MS:1000692", "MS:1001139"]})]
380        #[doc="WARP-LC - Bruker WARP-LC software."]
381        WARPLC,
382        #[term(cv=MS, accession=1000752, name="TOPP software", flags={3}, parents={["MS:1001456", "MS:1001457"]})]
383        #[doc="TOPP software - TOPP (The OpenMS proteomics pipeline) software."]
384        TOPPSoftware,
385        #[term(cv=MS, accession=1000753, name="BaselineFilter", flags={0}, parents={["MS:1000752"]})]
386        #[doc="BaselineFilter - Removes the baseline from profile spectra using a top-hat filter."]
387        BaselineFilter,
388        #[term(cv=MS, accession=1000754, name="DBExporter", flags={0}, parents={["MS:1000752"]})]
389        #[doc="DBExporter - Exports data from an OpenMS database to a file."]
390        DBExporter,
391        #[term(cv=MS, accession=1000755, name="DBImporter", flags={0}, parents={["MS:1000752"]})]
392        #[doc="DBImporter - Imports data to an OpenMS database."]
393        DBImporter,
394        #[term(cv=MS, accession=1000756, name="FileConverter", flags={0}, parents={["MS:1000752"]})]
395        #[doc="FileConverter - Converts between different MS file formats."]
396        FileConverter,
397        #[term(cv=MS, accession=1000757, name="FileFilter", flags={0}, parents={["MS:1000752"]})]
398        #[doc="FileFilter - Extracts or manipulates portions of data from peak, feature or consensus feature files."]
399        FileFilter,
400        #[term(cv=MS, accession=1000758, name="FileMerger", flags={0}, parents={["MS:1000752"]})]
401        #[doc="FileMerger - Merges several MS files into one file."]
402        FileMerger,
403        #[term(cv=MS, accession=1000759, name="InternalCalibration", flags={0}, parents={["MS:1000752"]})]
404        #[doc="InternalCalibration - Applies an internal calibration."]
405        InternalCalibration,
406        #[term(cv=MS, accession=1000760, name="MapAligner", flags={0}, parents={["MS:1000752"]})]
407        #[doc="MapAligner - OBSOLETE Corrects retention time distortions between maps."]
408        MapAligner,
409        #[term(cv=MS, accession=1000761, name="MapNormalizer", flags={0}, parents={["MS:1000752"]})]
410        #[doc="MapNormalizer - Normalizes peak intensities in an MS run."]
411        MapNormalizer,
412        #[term(cv=MS, accession=1000762, name="NoiseFilter", flags={0}, parents={["MS:1000752"]})]
413        #[doc="NoiseFilter - OBSOLETE Removes noise from profile spectra by using different smoothing techniques."]
414        NoiseFilter,
415        #[term(cv=MS, accession=1000763, name="PeakPicker", flags={0}, parents={["MS:1000752"]})]
416        #[doc="PeakPicker - OBSOLETE Finds mass spectrometric peaks in profile mass spectra."]
417        PeakPicker,
418        #[term(cv=MS, accession=1000764, name="Resampler", flags={0}, parents={["MS:1000752"]})]
419        #[doc="Resampler - Transforms an LC/MS map into a resampled map or a png image."]
420        Resampler,
421        #[term(cv=MS, accession=1000765, name="SpectraFilter", flags={0}, parents={["MS:1000752"]})]
422        #[doc="SpectraFilter - OBSOLETE Applies a filter to peak spectra."]
423        SpectraFilter,
424        #[term(cv=MS, accession=1000766, name="TOFCalibration", flags={0}, parents={["MS:1000752"]})]
425        #[doc="TOFCalibration - Applies time of flight calibration."]
426        TOFCalibration,
427        #[term(cv=MS, accession=1000799, name="custom unreleased software tool", flags={0}, parents={["MS:1000531"]})]
428        #[doc="custom unreleased software tool - A software tool that has not yet been released. The value should describe the software. Please do not use this term for publicly available software - contact the PSI-MS working group in order to have another CV term added."]
429        CustomUnreleasedSoftwareTool,
430        #[term(cv=MS, accession=1000817, name="HyStar", flags={0}, parents={["MS:1000692"]})]
431        #[doc="HyStar - Bruker software for hyphenated experiments."]
432        HyStar,
433        #[term(cv=MS, accession=1000871, name="SRM software", flags={0}, parents={["MS:1000531"]})]
434        #[doc="SRM software - Software used to predict, select, or optimize transitions or analyze the results of selected reaction monitoring runs."]
435        SRMSoftware,
436        #[term(cv=MS, accession=1000872, name="MaRiMba", flags={0}, parents={["MS:1000871"]})]
437        #[doc="MaRiMba - Software used to predict transitions for selected reaction monitoring experiments based on observed spectrum libraries developed and distributed by the Institute for Systems Biology."]
438        MaRiMba,
439        #[term(cv=MS, accession=1000873, name="peptide attribute calculation software", flags={0}, parents={["MS:1000531"]})]
440        #[doc="peptide attribute calculation software - Software used to predict or calculate numerical attributes of peptides."]
441        PeptideAttributeCalculationSoftware,
442        #[term(cv=MS, accession=1000874, name="SSRCalc", flags={0}, parents={["MS:1000873"]})]
443        #[doc="SSRCalc - Sequence Specific Retention Calculator estimates the retention time of peptides based on their sequence."]
444        SSRCalc,
445        #[term(cv=MS, accession=1000922, name="Skyline", flags={0}, parents={["MS:1000871", "MS:1001139"]})]
446        #[doc="Skyline - Software used to predict, select, and optimize transitions as well as analyze the results of selected reaction monitoring runs developed and distributed by the MacCoss lab at the University of Washington."]
447        Skyline,
448        #[term(cv=MS, accession=1000923, name="TIQAM", flags={0}, parents={["MS:1000871"]})]
449        #[doc="TIQAM - Software used to predict, select, and optimize transitions for selected reaction monitoring experiments developed and distributed by the Institute for Systems Biology."]
450        TIQAM,
451        #[term(cv=MS, accession=1000925, name="ATAQS", flags={0}, parents={["MS:1000871"]})]
452        #[doc="ATAQS - Software suite used to predict, select, and optimize transitions as well as analyze the results of selected reaction monitoring runs developed and distributed by the Institute for Systems Biology."]
453        ATAQS,
454        #[term(cv=MS, accession=1001139, name="quantitation software name", flags={0}, parents={["MS:1000531", "MS:1001129"]})]
455        #[doc="quantitation software name - Quantitation software name."]
456        QuantitationSoftwareName,
457        #[term(cv=MS, accession=1001207, name="Mascot", flags={1}, parents={["MS:1001456"]})]
458        #[doc="Mascot - The name of the Mascot search engine."]
459        Mascot,
460        #[term(cv=MS, accession=1001208, name="SEQUEST", flags={1}, parents={["MS:1001456"]})]
461        #[doc="SEQUEST - The name of the SEQUEST search engine."]
462        SEQUEST,
463        #[term(cv=MS, accession=1001209, name="Phenyx", flags={1}, parents={["MS:1001456"]})]
464        #[doc="Phenyx - The name of the Phenyx search engine."]
465        Phenyx,
466        #[term(cv=MS, accession=1001327, name="Spectronaut", flags={1}, parents={["MS:1001456", "MS:1003207"]})]
467        #[doc="Spectronaut - Commercial cross-vendor software for library (peptide centric), and library-free (spectrum centric) analysis and quantification of DIA data."]
468        Spectronaut,
469        #[term(cv=MS, accession=1001455, name="acquisition software", flags={0}, parents={["MS:1000531"]})]
470        #[doc="acquisition software - Acquisition software."]
471        AcquisitionSoftware,
472        #[term(cv=MS, accession=1001456, name="analysis software", flags={0}, parents={["MS:1000531"]})]
473        #[doc="analysis software - Analysis software."]
474        AnalysisSoftware,
475        #[term(cv=MS, accession=1001457, name="data processing software", flags={0}, parents={["MS:1000531"]})]
476        #[doc="data processing software - Data processing software."]
477        DataProcessingSoftware,
478        #[term(cv=MS, accession=1001461, name="greylag", flags={1}, parents={["MS:1001456"]})]
479        #[doc="greylag - Greylag identification software."]
480        Greylag,
481        #[term(cv=MS, accession=1001475, name="OMSSA", flags={1}, parents={["MS:1001456"]})]
482        #[doc="OMSSA - Open Mass Spectrometry Search Algorithm was used to analyze the spectra."]
483        OMSSA,
484        #[term(cv=MS, accession=1001476, name="X!Tandem", flags={1}, parents={["MS:1001456"]})]
485        #[doc="X!Tandem - X!Tandem was used to analyze the spectra."]
486        XTandem,
487        #[term(cv=MS, accession=1001477, name="SpectraST", flags={1}, parents={["MS:1001456", "MS:1003207", "MS:1003406"]})]
488        #[doc="SpectraST - Open-source software for mass spectral library creation and searching, developed at the Institute for Systems Biology and the Hong Kong University of Science and Technology. Part of the Trans-Proteomic Pipeline."]
489        SpectraST,
490        #[term(cv=MS, accession=1001478, name="Mascot Parser", flags={1}, parents={["MS:1001456"]})]
491        #[doc="Mascot Parser - Mascot Parser was used to analyze the spectra."]
492        MascotParser,
493        #[term(cv=MS, accession=1001483, name="SCIEX TOF/TOF Series Explorer Software", flags={7}, parents={["MS:1000690", "MS:1001455", "MS:1001456", "MS:1001457"]})]
494        #[doc="SCIEX TOF/TOF Series Explorer Software - SCIEX or Applied Biosystems software for TOF/TOF data acquisition and analysis."]
495        SCIEXTOFTOFSeriesExplorerSoftware,
496        #[term(cv=MS, accession=1001487, name="ProteinExtractor", flags={1}, parents={["MS:1000692", "MS:1001456"]})]
497        #[doc="ProteinExtractor - An algorithm for protein determination/assembly integrated into Bruker's ProteinScape."]
498        ProteinExtractor,
499        #[term(cv=MS, accession=1001488, name="Mascot Distiller", flags={1}, parents={["MS:1001139", "MS:1001456"]})]
500        #[doc="Mascot Distiller - Mascot Distiller."]
501        MascotDistiller,
502        #[term(cv=MS, accession=1001489, name="Mascot Integra", flags={1}, parents={["MS:1001456"]})]
503        #[doc="Mascot Integra - Mascot Integra."]
504        MascotIntegra,
505        #[term(cv=MS, accession=1001490, name="Percolator", flags={1}, parents={["MS:1001456"]})]
506        #[doc="Percolator - Percolator."]
507        Percolator,
508        #[term(cv=MS, accession=1001557, name="Shimadzu Corporation software", flags={0}, parents={["MS:1000531"]})]
509        #[doc="Shimadzu Corporation software - Shimadzu Corporation software."]
510        ShimadzuCorporationSoftware,
511        #[term(cv=MS, accession=1001558, name="MALDI Solutions", flags={7}, parents={["MS:1001455", "MS:1001456", "MS:1001457", "MS:1001557"]})]
512        #[doc="MALDI Solutions - Shimadzu Biotech software for data acquisition, processing, and analysis."]
513        MALDISolutions,
514        #[term(cv=MS, accession=1001561, name="Scaffold", flags={1}, parents={["MS:1001456"]})]
515        #[doc="Scaffold - Scaffold analysis software."]
516        Scaffold,
517        #[term(cv=MS, accession=1001582, name="XCMS", flags={3}, parents={["MS:1001456", "MS:1001457"]})]
518        #[doc="XCMS - Bioconductor package XCMS for preprocessing high-throughput, untargeted analyte profiling data."]
519        XCMS,
520        #[term(cv=MS, accession=1001583, name="MaxQuant", flags={1}, parents={["MS:1001139", "MS:1001456"]})]
521        #[doc="MaxQuant - MaxQuant is a quantitative proteomics software package designed for analyzing large mass spectrometric data sets. It is specifically aimed at high resolution MS data."]
522        MaxQuant,
523        #[term(cv=MS, accession=1001585, name="MyriMatch", flags={1}, parents={["MS:1001456"]})]
524        #[doc="MyriMatch - Tabb Lab software for directly comparing peptides in a database to tandem mass spectra."]
525        MyriMatch,
526        #[term(cv=MS, accession=1001586, name="DirecTag", flags={1}, parents={["MS:1001456"]})]
527        #[doc="DirecTag - Tabb Lab software for generating sequence tags from tandem mass spectra."]
528        DirecTag,
529        #[term(cv=MS, accession=1001587, name="TagRecon", flags={1}, parents={["MS:1001456"]})]
530        #[doc="TagRecon - Tabb Lab software for reconciling sequence tags to a protein database."]
531        TagRecon,
532        #[term(cv=MS, accession=1001588, name="Pepitome", flags={1}, parents={["MS:1001456"]})]
533        #[doc="Pepitome - Tabb Lab software for spectral library searches on tandem mass spectra."]
534        Pepitome,
535        #[term(cv=MS, accession=1001795, name="Empower", flags={3}, parents={["MS:1000694", "MS:1001456", "MS:1001457"]})]
536        #[doc="Empower - Waters Empower software for liquid chromatography and mass spectrometry acquisition."]
537        Empower,
538        #[term(cv=MS, accession=1001796, name="UNIFY", flags={3}, parents={["MS:1000694", "MS:1001456", "MS:1001457"]})]
539        #[doc="UNIFY - Waters UNIFY software for liquid chromatography and mass spectrometry acquisition."]
540        UNIFY,
541        #[term(cv=MS, accession=1001798, name="LECO software", flags={0}, parents={["MS:1000531"]})]
542        #[doc="LECO software - LECO software for data acquisition and analysis."]
543        LECOSoftware,
544        #[term(cv=MS, accession=1001799, name="ChromaTOF software", flags={7}, parents={["MS:1001455", "MS:1001456", "MS:1001457", "MS:1001798"]})]
545        #[doc="ChromaTOF software - Software for acquisition, processing and analysis of data for LECO instruments."]
546        ChromaTOFSoftware,
547        #[term(cv=MS, accession=1001830, name="Progenesis LC-MS", flags={0}, parents={["MS:1001139"]})]
548        #[doc="Progenesis LC-MS - Software from Nonlinear Dynamics for LC-MS label-free workflow."]
549        ProgenesisLCMS,
550        #[term(cv=MS, accession=1001831, name="SILACAnalyzer", flags={0}, parents={["MS:1001139", "MS:1000752"]})]
551        #[doc="SILACAnalyzer - Software for SILAC workflow."]
552        SILACAnalyzer,
553        #[term(cv=MS, accession=1001877, name="ChromaTOF HRT software", flags={7}, parents={["MS:1001455", "MS:1001456", "MS:1001457", "MS:1001798"]})]
554        #[doc="ChromaTOF HRT software - Software for acquisition, processing and analysis of data for LECO instruments."]
555        ChromaTOFHRTSoftware,
556        #[term(cv=MS, accession=1001878, name="MALDI Solutions Microbial Identification", flags={0}, parents={["MS:1001558"]})]
557        #[doc="MALDI Solutions Microbial Identification - Shimadzu Biotech software for data acquisition, processing, and analysis."]
558        MALDISolutionsMicrobialIdentification,
559        #[term(cv=MS, accession=1001886, name="SQID", flags={3}, parents={["MS:1001456", "MS:1001457"]})]
560        #[doc="SQID - Software for data analysis of peptides and proteins."]
561        SQID,
562        #[term(cv=MS, accession=1001912, name="PinPoint", flags={3}, parents={["MS:1000693", "MS:1003961", "MS:1001456", "MS:1001457"]})]
563        #[doc="PinPoint - Thermo Scientific PinPoint SRM analysis software."]
564        PinPoint,
565        #[term(cv=MS, accession=1001914, name="pymzML", flags={2}, parents={["MS:1001457"]})]
566        #[doc="pymzML - Python module to interface mzML Data."]
567        PymzML,
568        #[term(cv=MS, accession=1001946, name="PEAKS Studio", flags={3}, parents={["MS:1001139", "MS:1001456", "MS:1001457"]})]
569        #[doc="PEAKS Studio - PEAKS Studio software for data analysis."]
570        PEAKSStudio,
571        #[term(cv=MS, accession=1001947, name="PEAKS Online", flags={3}, parents={["MS:1001139", "MS:1001456", "MS:1001457"]})]
572        #[doc="PEAKS Online - PEAKS Online software for high throughput data analysis."]
573        PEAKSOnline,
574        #[term(cv=MS, accession=1001948, name="PEAKS Node", flags={3}, parents={["MS:1001139", "MS:1001456", "MS:1001457"]})]
575        #[doc="PEAKS Node - PEAKS Node software for high throughput data analysis."]
576        PEAKSNode,
577        #[term(cv=MS, accession=1001949, name="BSI software", flags={0}, parents={["MS:1000531"]})]
578        #[doc="BSI software - Bioinformatics Solutions Inc. Software for data processing and analysis."]
579        BSISoftware,
580        #[term(cv=MS, accession=1001973, name="DeBunker", flags={1}, parents={["MS:1001456"]})]
581        #[doc="DeBunker - DeBunker software."]
582        DeBunker,
583        #[term(cv=MS, accession=1001977, name="MSQuant", flags={1}, parents={["MS:1001456"]})]
584        #[doc="MSQuant - MSQuant software."]
585        MSQuant,
586        #[term(cv=MS, accession=1001984, name="Ascore software", flags={1}, parents={["MS:1001456"]})]
587        #[doc="Ascore software - Ascore software."]
588        AscoreSoftware,
589        #[term(cv=MS, accession=1002043, name="ProteinProspector", flags={1}, parents={["MS:1001456"]})]
590        #[doc="ProteinProspector - ProteinProspector software for data acquisition and analysis."]
591        ProteinProspector,
592        #[term(cv=MS, accession=1002047, name="MS-GF", flags={1}, parents={["MS:1001456"]})]
593        #[doc="MS-GF - MS-GF software used to re-score the peptide-spectrum matches."]
594        MSGF,
595        #[term(cv=MS, accession=1002048, name="MS-GF+", flags={1}, parents={["MS:1001456"]})]
596        #[doc="MS-GF+ - MS-GF+ software used to analyze the spectra."]
597        MSGFplus,
598        #[term(cv=MS, accession=1002059, name="Microsoft Excel", flags={0}, parents={["MS:1001139"]})]
599        #[doc="Microsoft Excel - Microsoft Excel (can be used for spectral counting)."]
600        MicrosoftExcel,
601        #[term(cv=MS, accession=1002063, name="FindPairs", flags={0}, parents={["MS:1001139"]})]
602        #[doc="FindPairs - Software e.g. for SILAC and 14N/15N workflow, part of the PeakQuant suite."]
603        FindPairs,
604        #[term(cv=MS, accession=1002076, name="PAnalyzer", flags={1}, parents={["MS:1001456"]})]
605        #[doc="PAnalyzer - PAnalyzer software for getting protein evidence categories."]
606        PAnalyzer,
607        #[term(cv=MS, accession=1002123, name="x-Tracker", flags={0}, parents={["MS:1001139"]})]
608        #[doc="x-Tracker - X-Tracker generic tool for quantitative proteomics."]
609        XTracker,
610        #[term(cv=MS, accession=1002124, name="ProteoSuite", flags={0}, parents={["MS:1001139"]})]
611        #[doc="ProteoSuite - ProteoSuite software for the analysis of quantitative proteomics data."]
612        ProteoSuite,
613        #[term(cv=MS, accession=1002129, name="ITRAQAnalyzer", flags={0}, parents={["MS:1001139", "MS:1000752"]})]
614        #[doc="ITRAQAnalyzer - Software for iTRAQ workflow. Extracts and normalizes iTRAQ information from an MS experiment."]
615        ITRAQAnalyzer,
616        #[term(cv=MS, accession=1002131, name="TOPP noise filter", flags={0}, parents={["MS:1000752"]})]
617        #[doc="TOPP noise filter - Noise filter component of the TOPP software."]
618        TOPPNoiseFilter,
619        #[term(cv=MS, accession=1002132, name="TOPP NoiseFilterGaussian", flags={0}, parents={["MS:1002131"]})]
620        #[doc="TOPP NoiseFilterGaussian - Removes noise from profile spectra by using a gaussian smoothing."]
621        TOPPNoiseFilterGaussian,
622        #[term(cv=MS, accession=1002133, name="TOPP NoiseFilterSGolay", flags={0}, parents={["MS:1002131"]})]
623        #[doc="TOPP NoiseFilterSGolay - Removes noise from profile spectra by using a Savitzky-Golay smoothing."]
624        TOPPNoiseFilterSGolay,
625        #[term(cv=MS, accession=1002134, name="TOPP peak picker", flags={0}, parents={["MS:1000752"]})]
626        #[doc="TOPP peak picker - Peak picker component of the TOPP software."]
627        TOPPPeakPicker,
628        #[term(cv=MS, accession=1002135, name="TOPP PeakPickerHiRes", flags={0}, parents={["MS:1002134"]})]
629        #[doc="TOPP PeakPickerHiRes - Finds mass spectrometric peaks in high-resoluted profile mass spectra."]
630        TOPPPeakPickerHiRes,
631        #[term(cv=MS, accession=1002136, name="TOPP PeakPickerWavelet", flags={0}, parents={["MS:1002134"]})]
632        #[doc="TOPP PeakPickerWavelet - Finds mass spectrometric peaks with a wavelet algorithm in low-resoluted profile mass spectra."]
633        TOPPPeakPickerWavelet,
634        #[term(cv=MS, accession=1002137, name="TOPP spectra filter", flags={0}, parents={["MS:1000752"]})]
635        #[doc="TOPP spectra filter - Spectra filter component of the TOPP software."]
636        TOPPSpectraFilter,
637        #[term(cv=MS, accession=1002138, name="TOPP SpectraFilterBernNorm", flags={0}, parents={["MS:1002137"]})]
638        #[doc="TOPP SpectraFilterBernNorm - Applies a Bern et al normalization to peak spectra."]
639        TOPPSpectraFilterBernNorm,
640        #[term(cv=MS, accession=1002139, name="TOPP SpectraFilterMarkerMower", flags={0}, parents={["MS:1002137"]})]
641        #[doc="TOPP SpectraFilterMarkerMower - Applies a filter to peak spectra for marked peaks."]
642        TOPPSpectraFilterMarkerMower,
643        #[term(cv=MS, accession=1002140, name="TOPP SpectraFilterNLargest", flags={0}, parents={["MS:1002137"]})]
644        #[doc="TOPP SpectraFilterNLargest - Retains the n largest peaks of a peak spectra."]
645        TOPPSpectraFilterNLargest,
646        #[term(cv=MS, accession=1002141, name="TOPP SpectraFilterNormalizer", flags={0}, parents={["MS:1002137"]})]
647        #[doc="TOPP SpectraFilterNormalizer - Applies a TIC/maximal intensity normalization to peak spectra."]
648        TOPPSpectraFilterNormalizer,
649        #[term(cv=MS, accession=1002142, name="TOPP SpectraFilterParentPeakMower", flags={0}, parents={["MS:1002137"]})]
650        #[doc="TOPP SpectraFilterParentPeakMower - Filters putative unfragmented precursor ions from tandem spectra."]
651        TOPPSpectraFilterParentPeakMower,
652        #[term(cv=MS, accession=1002143, name="TOPP SpectraFilterScaler", flags={0}, parents={["MS:1002137"]})]
653        #[doc="TOPP SpectraFilterScaler - Applies a filter to peak spectra after intensity scaling according to rank."]
654        TOPPSpectraFilterScaler,
655        #[term(cv=MS, accession=1002144, name="TOPP SpectraFilterSqrtMower", flags={0}, parents={["MS:1002137"]})]
656        #[doc="TOPP SpectraFilterSqrtMower - Applies a filter to peak spectra after intensity scaling to the square root."]
657        TOPPSpectraFilterSqrtMower,
658        #[term(cv=MS, accession=1002145, name="TOPP SpectraFilterThresholdMower", flags={0}, parents={["MS:1002137"]})]
659        #[doc="TOPP SpectraFilterThresholdMower - Applies a filter of peaks below a given threshold to peak spectra."]
660        TOPPSpectraFilterThresholdMower,
661        #[term(cv=MS, accession=1002146, name="TOPP SpectraFilterWindowMower", flags={0}, parents={["MS:1002137"]})]
662        #[doc="TOPP SpectraFilterWindowMower - Applies a filter of the largest peaks in a sliding window over a peak spectrum."]
663        TOPPSpectraFilterWindowMower,
664        #[term(cv=MS, accession=1002147, name="TOPP map aligner", flags={0}, parents={["MS:1000752"]})]
665        #[doc="TOPP map aligner - Map aligner component of the TOPP software."]
666        TOPPMapAligner,
667        #[term(cv=MS, accession=1002148, name="TOPP MapAlignerIdentification", flags={0}, parents={["MS:1002147"]})]
668        #[doc="TOPP MapAlignerIdentification - Corrects retention time distortions between maps based on common peptide identifications."]
669        TOPPMapAlignerIdentification,
670        #[term(cv=MS, accession=1002149, name="TOPP MapAlignerPoseClustering", flags={0}, parents={["MS:1002147"]})]
671        #[doc="TOPP MapAlignerPoseClustering - Corrects retention time distortions between maps using a pose clustering approach."]
672        TOPPMapAlignerPoseClustering,
673        #[term(cv=MS, accession=1002150, name="TOPP MapAlignerSpectrum", flags={0}, parents={["MS:1002147"]})]
674        #[doc="TOPP MapAlignerSpectrum - Corrects retention time distortions between maps by spectrum alignment."]
675        TOPPMapAlignerSpectrum,
676        #[term(cv=MS, accession=1002154, name="TOPP DTAExtractor", flags={0}, parents={["MS:1000752"]})]
677        #[doc="TOPP DTAExtractor - Extracts spectra of an MS run file to several files in DTA format."]
678        TOPPDTAExtractor,
679        #[term(cv=MS, accession=1002155, name="TOPP IDMerger", flags={0}, parents={["MS:1000752"]})]
680        #[doc="TOPP IDMerger - Merges several protein/peptide identification files into one file."]
681        TOPPIDMerger,
682        #[term(cv=MS, accession=1002156, name="TOPP IDFileConverter", flags={0}, parents={["MS:1000752"]})]
683        #[doc="TOPP IDFileConverter - Converts identification engine file formats."]
684        TOPPIDFileConverter,
685        #[term(cv=MS, accession=1002157, name="TOPP SpectraMerger", flags={0}, parents={["MS:1000752"]})]
686        #[doc="TOPP SpectraMerger - Merges spectra from an LC/MS map, either by precursor or by RT blocks."]
687        TOPPSpectraMerger,
688        #[term(cv=MS, accession=1002158, name="TOPP MzTabExporter", flags={0}, parents={["MS:1000752"]})]
689        #[doc="TOPP MzTabExporter - Exports various XML formats to an mzTab file."]
690        TOPPMzTabExporter,
691        #[term(cv=MS, accession=1002159, name="TOPP MassTraceExtractor", flags={0}, parents={["MS:1000752"]})]
692        #[doc="TOPP MassTraceExtractor - Annotates mass traces in centroided LC/MS maps."]
693        TOPPMassTraceExtractor,
694        #[term(cv=MS, accession=1002160, name="TOPP PrecursorMassCorrector", flags={0}, parents={["MS:1000752"]})]
695        #[doc="TOPP PrecursorMassCorrector - Correct the precursor entries of tandem MS scans."]
696        TOPPPrecursorMassCorrector,
697        #[term(cv=MS, accession=1002161, name="TOPP HighResPrecursorMassCorrector", flags={0}, parents={["MS:1000752"]})]
698        #[doc="TOPP HighResPrecursorMassCorrector - Performs precursor mz correction on centroided high resolution data."]
699        TOPPHighResPrecursorMassCorrector,
700        #[term(cv=MS, accession=1002162, name="TOPP AdditiveSeries", flags={0}, parents={["MS:1000752"]})]
701        #[doc="TOPP AdditiveSeries - Computes an additive series to quantify a peptide in a set of samples."]
702        TOPPAdditiveSeries,
703        #[term(cv=MS, accession=1002163, name="TOPP Decharger", flags={0}, parents={["MS:1000752"]})]
704        #[doc="TOPP Decharger - Decharges and merges different feature charge variants of the same chemical entity."]
705        TOPPDecharger,
706        #[term(cv=MS, accession=1002164, name="TOPP EICExtractor", flags={0}, parents={["MS:1000752"]})]
707        #[doc="TOPP EICExtractor - Quantifies signals at given positions in (raw or picked) LC/MS maps."]
708        TOPPEICExtractor,
709        #[term(cv=MS, accession=1002165, name="TOPP feature finder", flags={0}, parents={["MS:1000752"]})]
710        #[doc="TOPP feature finder - Feature finder component of the TOPP software."]
711        TOPPFeatureFinder,
712        #[term(cv=MS, accession=1002166, name="TOPP FeatureFinderCentroided", flags={0}, parents={["MS:1002165"]})]
713        #[doc="TOPP FeatureFinderCentroided - Detects two-dimensional features in centroided LC-MS data."]
714        TOPPFeatureFinderCentroided,
715        #[term(cv=MS, accession=1002167, name="TOPP FeatureFinderRaw", flags={0}, parents={["MS:1002165"]})]
716        #[doc="TOPP FeatureFinderRaw - Detects two-dimensional features in uncentroided LC-MS data."]
717        TOPPFeatureFinderRaw,
718        #[term(cv=MS, accession=1002168, name="TOPP FeatureFinderIsotopeWavelet", flags={0}, parents={["MS:1002165"]})]
719        #[doc="TOPP FeatureFinderIsotopeWavelet - Detects two-dimensional features in uncentroided LC-MS data with a wavelet algorithm."]
720        TOPPFeatureFinderIsotopeWavelet,
721        #[term(cv=MS, accession=1002169, name="TOPP FeatureFinderMetabo", flags={0}, parents={["MS:1002165"]})]
722        #[doc="TOPP FeatureFinderMetabo - Detects two-dimensional features in centroided LC-MS data of metabolites."]
723        TOPPFeatureFinderMetabo,
724        #[term(cv=MS, accession=1002170, name="TOPP FeatureFinderMRM", flags={0}, parents={["MS:1002165"]})]
725        #[doc="TOPP FeatureFinderMRM - Quantifies features LC-MS/MS MRM data."]
726        TOPPFeatureFinderMRM,
727        #[term(cv=MS, accession=1002171, name="TOPP ProteinQuantifier", flags={0}, parents={["MS:1000752"]})]
728        #[doc="TOPP ProteinQuantifier - Computes protein abundances from annotated feature/consensus maps."]
729        TOPPProteinQuantifier,
730        #[term(cv=MS, accession=1002172, name="TOPP ConsensusMapNormalizer", flags={0}, parents={["MS:1000752"]})]
731        #[doc="TOPP ConsensusMapNormalizer - Normalizes maps of one consensus XML file (after linking)."]
732        TOPPConsensusMapNormalizer,
733        #[term(cv=MS, accession=1002173, name="TOPP MapRTTransformer", flags={0}, parents={["MS:1000752"]})]
734        #[doc="TOPP MapRTTransformer - Applies retention time transformations to maps."]
735        TOPPMapRTTransformer,
736        #[term(cv=MS, accession=1002174, name="TOPP feature linker", flags={0}, parents={["MS:1000752"]})]
737        #[doc="TOPP feature linker - Feature linker component of the TOPP software."]
738        TOPPFeatureLinker,
739        #[term(cv=MS, accession=1002175, name="TOPP FeatureLinkerLabeled", flags={0}, parents={["MS:1002174"]})]
740        #[doc="TOPP FeatureLinkerLabeled - Groups corresponding isotope-labeled features in a feature map."]
741        TOPPFeatureLinkerLabeled,
742        #[term(cv=MS, accession=1002176, name="TOPP FeatureLinkerUnlabeled", flags={0}, parents={["MS:1002174"]})]
743        #[doc="TOPP FeatureLinkerUnlabeled - Groups corresponding features from multiple maps."]
744        TOPPFeatureLinkerUnlabeled,
745        #[term(cv=MS, accession=1002177, name="TOPP FeatureLinkerUnlabeledQT", flags={0}, parents={["MS:1002174"]})]
746        #[doc="TOPP FeatureLinkerUnlabeledQT - Groups corresponding features from multiple maps using a quality threshold clustering approach."]
747        TOPPFeatureLinkerUnlabeledQT,
748        #[term(cv=MS, accession=1002178, name="TOPP CompNovo", flags={0}, parents={["MS:1000752"]})]
749        #[doc="TOPP CompNovo - Performs a peptide/protein identification with the CompNovo engine."]
750        TOPPCompNovo,
751        #[term(cv=MS, accession=1002179, name="TOPP CompNovoCID", flags={0}, parents={["MS:1000752"]})]
752        #[doc="TOPP CompNovoCID - Performs a peptide/protein identification with the CompNovo engine in collision-induced dissociation (CID) mode."]
753        TOPPCompNovoCID,
754        #[term(cv=MS, accession=1002180, name="TOPP software adaptor", flags={0}, parents={["MS:1000752"]})]
755        #[doc="TOPP software adaptor - Software adaptor to an external program in the TOPP software."]
756        TOPPSoftwareAdaptor,
757        #[term(cv=MS, accession=1002181, name="TOPP InspectAdapter", flags={0}, parents={["MS:1002180"]})]
758        #[doc="TOPP InspectAdapter - Identifies MS2 spectra using the external program Inspect."]
759        TOPPInspectAdapter,
760        #[term(cv=MS, accession=1002182, name="TOPP MascotAdapter", flags={0}, parents={["MS:1002180"]})]
761        #[doc="TOPP MascotAdapter - Identifies MS2 spectra using the external program Mascot."]
762        TOPPMascotAdapter,
763        #[term(cv=MS, accession=1002183, name="TOPP MascotAdapterOnline", flags={0}, parents={["MS:1002180"]})]
764        #[doc="TOPP MascotAdapterOnline - Identifies MS2 spectra using the online version of the external program Mascot."]
765        TOPPMascotAdapterOnline,
766        #[term(cv=MS, accession=1002184, name="TOPP OMSSAAdapter", flags={0}, parents={["MS:1002180"]})]
767        #[doc="TOPP OMSSAAdapter - Identifies MS2 spectra using the external program OMSSA."]
768        TOPPOMSSAAdapter,
769        #[term(cv=MS, accession=1002185, name="TOPP PepNovoAdapter", flags={0}, parents={["MS:1002180"]})]
770        #[doc="TOPP PepNovoAdapter - Identifies MS2 spectra using the external program PepNovo."]
771        TOPPPepNovoAdapter,
772        #[term(cv=MS, accession=1002186, name="TOPP XTandemAdapter", flags={0}, parents={["MS:1002180"]})]
773        #[doc="TOPP XTandemAdapter - Identifies MS2 spectra using the external program XTandem."]
774        TOPPXTandemAdapter,
775        #[term(cv=MS, accession=1002187, name="TOPP SpecLibSearcher", flags={0}, parents={["MS:1000752"]})]
776        #[doc="TOPP SpecLibSearcher - Identifies peptide MS2 spectra by spectral matching with a searchable spectral library."]
777        TOPPSpecLibSearcher,
778        #[term(cv=MS, accession=1002188, name="TOPP ConsensusID", flags={0}, parents={["MS:1000752"]})]
779        #[doc="TOPP ConsensusID - Computes a consensus identification from peptide identifications of several identification engines."]
780        TOPPConsensusID,
781        #[term(cv=MS, accession=1002189, name="TOPP IDConflictResolver", flags={0}, parents={["MS:1000752"]})]
782        #[doc="TOPP IDConflictResolver - Resolves ambiguous annotations of features with peptide identifications."]
783        TOPPIDConflictResolver,
784        #[term(cv=MS, accession=1002190, name="TOPP IDFilter", flags={0}, parents={["MS:1000752"]})]
785        #[doc="TOPP IDFilter - Filters results from protein or peptide identification engines based on different criteria."]
786        TOPPIDFilter,
787        #[term(cv=MS, accession=1002191, name="TOPP IDMapper", flags={0}, parents={["MS:1000752"]})]
788        #[doc="TOPP IDMapper - Assigns protein/peptide identifications to feature or consensus features."]
789        TOPPIDMapper,
790        #[term(cv=MS, accession=1002192, name="TOPP IDPosteriorErrorProbability", flags={0}, parents={["MS:1000752"]})]
791        #[doc="TOPP IDPosteriorErrorProbability - Estimates posterior error probabilities using a mixture model."]
792        TOPPIDPosteriorErrorProbability,
793        #[term(cv=MS, accession=1002193, name="TOPP IDRTCalibration", flags={0}, parents={["MS:1000752"]})]
794        #[doc="TOPP IDRTCalibration - Calibrate Retention times of peptide hits to standards."]
795        TOPPIDRTCalibration,
796        #[term(cv=MS, accession=1002194, name="TOPP PeptideIndexer", flags={0}, parents={["MS:1000752"]})]
797        #[doc="TOPP PeptideIndexer - Refreshes the protein references for all peptide hits."]
798        TOPPPeptideIndexer,
799        #[term(cv=MS, accession=1002195, name="TOPP PrecursorIonSelector", flags={0}, parents={["MS:1000752"]})]
800        #[doc="TOPP PrecursorIonSelector - A tool for precursor ion selection based on identification results."]
801        TOPPPrecursorIonSelector,
802        #[term(cv=MS, accession=1002196, name="TOPP MRMMapper", flags={0}, parents={["MS:1000752"]})]
803        #[doc="TOPP MRMMapper - MRMMapper maps measured chromatograms (mzML) and the transitions used (TraML)."]
804        TOPPMRMMapper,
805        #[term(cv=MS, accession=1002197, name="TOPP OpenSwath component", flags={0}, parents={["MS:1000752"]})]
806        #[doc="TOPP OpenSwath component - OpenSwath component of the TOPP software."]
807        TOPPOpenSwathComponent,
808        #[term(cv=MS, accession=1002198, name="TOPP OpenSwathAnalyzer", flags={0}, parents={["MS:1002197"]})]
809        #[doc="TOPP OpenSwathAnalyzer - Picks peaks and finds features in an SRM experiment."]
810        TOPPOpenSwathAnalyzer,
811        #[term(cv=MS, accession=1002199, name="TOPP OpenSwathChromatogramExtractor", flags={0}, parents={["MS:1002197"]})]
812        #[doc="TOPP OpenSwathChromatogramExtractor - Extract chromatograms (XIC) from a MS2 map file."]
813        TOPPOpenSwathChromatogramExtractor,
814        #[term(cv=MS, accession=1002200, name="TOPP OpenSwathDecoyGenerator", flags={0}, parents={["MS:1002197"]})]
815        #[doc="TOPP OpenSwathDecoyGenerator - Generates decoys according to different models for a specific TraML."]
816        TOPPOpenSwathDecoyGenerator,
817        #[term(cv=MS, accession=1002201, name="TOPP OpenSwathFeatureXMLToTSV", flags={0}, parents={["MS:1002197"]})]
818        #[doc="TOPP OpenSwathFeatureXMLToTSV - Converts a featureXML to a mProphet tsv (tab separated values)."]
819        TOPPOpenSwathFeatureXMLToTSV,
820        #[term(cv=MS, accession=1002202, name="TOPP OpenSwathRTNormalizer", flags={0}, parents={["MS:1002197"]})]
821        #[doc="TOPP OpenSwathRTNormalizer - Generates a transformation file for retention time space into normalized space."]
822        TOPPOpenSwathRTNormalizer,
823        #[term(cv=MS, accession=1002203, name="TOPP ProteinInference", flags={0}, parents={["MS:1000752"]})]
824        #[doc="TOPP ProteinInference - Infer proteins from a list of (high-confidence) peptides."]
825        TOPPProteinInference,
826        #[term(cv=MS, accession=1002204, name="TOPP FalseDiscoveryRate", flags={0}, parents={["MS:1000752"]})]
827        #[doc="TOPP FalseDiscoveryRate - Estimates the false discovery rate on peptide and protein level using decoy searches."]
828        TOPPFalseDiscoveryRate,
829        #[term(cv=MS, accession=1002205, name="ProteoWizard msconvert", flags={0}, parents={["MS:1000615"]})]
830        #[doc="ProteoWizard msconvert - Converts, filters, and processes mass spectrometry data in variety of formats."]
831        ProteoWizardMsconvert,
832        #[term(cv=MS, accession=1002206, name="ProteoWizard idconvert", flags={0}, parents={["MS:1000615"]})]
833        #[doc="ProteoWizard idconvert - Converts, filters, and processes identifications from shotgun proteomics experiments."]
834        ProteoWizardIdconvert,
835        #[term(cv=MS, accession=1002207, name="ProteoWizard chainsaw", flags={0}, parents={["MS:1000615"]})]
836        #[doc="ProteoWizard chainsaw - Filters and processes protein sequence databases."]
837        ProteoWizardChainsaw,
838        #[term(cv=MS, accession=1002208, name="ProteoWizard msaccess", flags={0}, parents={["MS:1000615"]})]
839        #[doc="ProteoWizard msaccess - Filters, processes, and displays mass spectrometry data in a variety of ways."]
840        ProteoWizardMsaccess,
841        #[term(cv=MS, accession=1002209, name="ProteoWizard SeeMS", flags={0}, parents={["MS:1000615"]})]
842        #[doc="ProteoWizard SeeMS - An interactive GUI application to view and filter mass spectrometry data in a variety of formats."]
843        ProteoWizardSeeMS,
844        #[term(cv=MS, accession=1002210, name="IsobariQ", flags={1}, parents={["MS:1001139", "MS:1001456"]})]
845        #[doc="IsobariQ - A quantitative software package designed for analysis of IPTL, TMT and iTRAQ data."]
846        IsobariQ,
847        #[term(cv=MS, accession=1002220, name="MRMaid", flags={0}, parents={["MS:1000871"]})]
848        #[doc="MRMaid - A web-based SRM assay design tool whose transitions are generated by mining the millions of identified peptide spectra held in the EBI's PRIDE database."]
849        MRMaid,
850        #[term(cv=MS, accession=1002237, name="mzidLib", flags={1}, parents={["MS:1001456"]})]
851        #[doc="mzidLib - A library of Java routines for manipulating mzIdentML files."]
852        MzidLib,
853        #[term(cv=MS, accession=1002238, name="mzidLib:Omssa2Mzid", flags={0}, parents={["MS:1002237"]})]
854        #[doc="mzidLib:Omssa2Mzid - A converter for OMSSA OMX to mzIdentML."]
855        MzidLibOmssa2Mzid,
856        #[term(cv=MS, accession=1002239, name="mzidLib:Tandem2Mzid", flags={0}, parents={["MS:1002237"]})]
857        #[doc="mzidLib:Tandem2Mzid - A converter for Tandem XML to mzIdentML."]
858        MzidLibTandem2Mzid,
859        #[term(cv=MS, accession=1002240, name="mzidLib:Csv2Mzid", flags={0}, parents={["MS:1002237"]})]
860        #[doc="mzidLib:Csv2Mzid - A converter for CSV files (following OMSSA CSV style) to mzIdentML."]
861        MzidLibCsv2Mzid,
862        #[term(cv=MS, accession=1002241, name="mzidLib:ProteoGrouper", flags={0}, parents={["MS:1002237"]})]
863        #[doc="mzidLib:ProteoGrouper - A generic and parameterizable protein inference algorithm for mzIdentML files."]
864        MzidLibProteoGrouper,
865        #[term(cv=MS, accession=1002242, name="mzidLib:Thresholder", flags={0}, parents={["MS:1002237"]})]
866        #[doc="mzidLib:Thresholder - A routine for keeping only identifications passing a given threshold or setting passThreshold to true or false for SpectrumIdentificationItem or ProteinDetectionHypothesis in mzIdentML files."]
867        MzidLibThresholder,
868        #[term(cv=MS, accession=1002243, name="mzidLib:Perform emPAI on mzid", flags={0}, parents={["MS:1002237"]})]
869        #[doc="mzidLib:Perform emPAI on mzid - A routine for adding emPAI quantitative values to an mzIdentML file."]
870        MzidLibPerformEmPAIOnMzid,
871        #[term(cv=MS, accession=1002244, name="mzidLib:FalseDiscoveryRate", flags={0}, parents={["MS:1002237"]})]
872        #[doc="mzidLib:FalseDiscoveryRate - A routine for calculating local FDR, q-value and FDRScore for mzIdentML files, based on a decoy search."]
873        MzidLibFalseDiscoveryRate,
874        #[term(cv=MS, accession=1002245, name="mzidLib:Mzidentml2Csv", flags={0}, parents={["MS:1002237"]})]
875        #[doc="mzidLib:Mzidentml2Csv - A tool for converting mzIdentML files to CSV format."]
876        MzidLibMzidentml2Csv,
877        #[term(cv=MS, accession=1002246, name="mzidLib:CombineSearchEngines", flags={0}, parents={["MS:1002237"]})]
878        #[doc="mzidLib:CombineSearchEngines - A tool for combining results analysed in parallel in two or three search engines into a single mzIdentML file."]
879        MzidLibCombineSearchEngines,
880        #[term(cv=MS, accession=1002247, name="mzidLib:InsertMetaDataFromFasta", flags={0}, parents={["MS:1002237"]})]
881        #[doc="mzidLib:InsertMetaDataFromFasta - A tool for adding additional meta data from a FASTA file to DBSequence entries (sequence and description) in mzIdentML files."]
882        MzidLibInsertMetaDataFromFasta,
883        #[term(cv=MS, accession=1002251, name="Comet", flags={1}, parents={["MS:1001456"]})]
884        #[doc="Comet - Comet open-source sequence search engine developed at the University of Washington."]
885        Comet,
886        #[term(cv=MS, accession=1002261, name="Byonic", flags={1}, parents={["MS:1001456"]})]
887        #[doc="Byonic - Byonic search engine from Protein Metrics."]
888        Byonic,
889        #[term(cv=MS, accession=1002285, name="Trans-Proteomic Pipeline", flags={1}, parents={["MS:1001456"]})]
890        #[doc="Trans-Proteomic Pipeline - A suite of open source tools for the processing of MS2 proteomics data developed by the Seattle Proteome Center at the Institute for Systems Biology."]
891        TransProteomicPipeline,
892        #[term(cv=MS, accession=1002286, name="Trans-Proteomic Pipeline software", flags={1}, parents={["MS:1001456"]})]
893        #[doc="Trans-Proteomic Pipeline software - A software program that is a component of the Trans-Proteomic Pipeline."]
894        TransProteomicPipelineSoftware,
895        #[term(cv=MS, accession=1002287, name="PeptideProphet", flags={0}, parents={["MS:1002286"]})]
896        #[doc="PeptideProphet - A program in the TPP that calculates PSM probabilities for MS2 proteomics data searched with any of the supported sequence or spectral library search engines via the pepXML format."]
897        PeptideProphet,
898        #[term(cv=MS, accession=1002288, name="iProphet", flags={0}, parents={["MS:1002286"]})]
899        #[doc="iProphet - A program in the TPP that calculates distinct peptide probabilities based on several lines of corroborating evidence including search results from multiple search engines via the pepXML format."]
900        IProphet,
901        #[term(cv=MS, accession=1002289, name="ProteinProphet", flags={0}, parents={["MS:1002286"]})]
902        #[doc="ProteinProphet - A program in the TPP that calculates protein-level probabilities based on input PSM or peptide-level probabilities from PeptideProphet or iProphet. The output is written in the protXML format."]
903        ProteinProphet,
904        #[term(cv=MS, accession=1002290, name="XPRESS", flags={0}, parents={["MS:1002286"]})]
905        #[doc="XPRESS - A program in the TPP that calculates PSM-level abundances based on 2-channel isotope-labelled data such as ICAT, SILAC, etc."]
906        XPRESS,
907        #[term(cv=MS, accession=1002291, name="Libra", flags={0}, parents={["MS:1002286"]})]
908        #[doc="Libra - A program in the TPP that calculates PSM, peptide, and protein-level abundances based on N-channel isobaric label peptide data such as iTRAQ, TMT, etc."]
909        Libra,
910        #[term(cv=MS, accession=1002292, name="PTMProphet", flags={0}, parents={["MS:1002286"]})]
911        #[doc="PTMProphet - A program in the TPP that calculates PTM localization probabilities by re-analyzing the peaks that are available to distinguish between possible modification sites."]
912        PTMProphet,
913        #[term(cv=MS, accession=1002333, name="conversion software", flags={2}, parents={["MS:1001457"]})]
914        #[doc="conversion software - Computer software primarily designed to convert data represented in one format to another format, sometimes with minor data alterations in the process."]
915        ConversionSoftware,
916        #[term(cv=MS, accession=1002334, name="ProCon", flags={0}, parents={["MS:1002333"]})]
917        #[doc="ProCon - Java software designed to convert one of several proteomics identification results formats into mzIdentML or PRIDE XML."]
918        ProCon,
919        #[term(cv=MS, accession=1002335, name="PRIDE Converter2", flags={0}, parents={["MS:1002333"]})]
920        #[doc="PRIDE Converter2 - Java software designed to convert one of several proteomics identification results formats into PRIDE XML."]
921        PRIDEConverter2,
922        #[term(cv=MS, accession=1002336, name="Amanda", flags={1}, parents={["MS:1001456"]})]
923        #[doc="Amanda - Amanda scoring system for PSM identification."]
924        Amanda,
925        #[term(cv=MS, accession=1002337, name="Andromeda", flags={1}, parents={["MS:1001456"]})]
926        #[doc="Andromeda - Andromeda is a peptide search engine."]
927        Andromeda,
928        #[term(cv=MS, accession=1002342, name="mzmine", flags={3}, parents={["MS:1001456", "MS:1001457"]})]
929        #[doc="mzmine - A framework for differential analysis of mass spectrometry data."]
930        Mzmine,
931        #[term(cv=MS, accession=1002344, name="Maltcms", flags={3}, parents={["MS:1001456", "MS:1001457"]})]
932        #[doc="Maltcms - Modular Application Toolkit for Chromatography Mass-Spectrometry is an application framework mainly for developers."]
933        Maltcms,
934        #[term(cv=MS, accession=1002381, name="MALDI Solutions LC-MALDI", flags={7}, parents={["MS:1001455", "MS:1001456", "MS:1001457", "MS:1001557"]})]
935        #[doc="MALDI Solutions LC-MALDI - Software for automated LC-MALDI analysis and reporting."]
936        MALDISolutionsLCMALDI,
937        #[term(cv=MS, accession=1002383, name="SCiLS software", flags={0}, parents={["MS:1000531"]})]
938        #[doc="SCiLS software - SCiLS software for data acquisition and analysis."]
939        SCiLSSoftware,
940        #[term(cv=MS, accession=1002384, name="SCiLS Lab", flags={3}, parents={["MS:1002383", "MS:1001456", "MS:1001457"]})]
941        #[doc="SCiLS Lab - SCiLS Lab software."]
942        SCiLSLab,
943        #[term(cv=MS, accession=1002386, name="preprocessing software", flags={2}, parents={["MS:1001457"]})]
944        #[doc="preprocessing software - Preprocessing software."]
945        PreprocessingSoftware,
946        #[term(cv=MS, accession=1002387, name="PIA", flags={1}, parents={["MS:1002414", "MS:1001456"]})]
947        #[doc="PIA - PIA - Protein Inference Algorithms, a toolbox for protein inference and identification analysis."]
948        PIA,
949        #[term(cv=MS, accession=1002410, name="Anubis", flags={0}, parents={["MS:1000871", "MS:1001139"]})]
950        #[doc="Anubis - Anubis software for selected reaction monitoring data."]
951        Anubis,
952        #[term(cv=MS, accession=1002414, name="postprocessing software", flags={2}, parents={["MS:1001457"]})]
953        #[doc="postprocessing software - Postprocessing software."]
954        PostprocessingSoftware,
955        #[term(cv=MS, accession=1002452, name="Maui", flags={3}, parents={["MS:1001456", "MS:1001457"]})]
956        #[doc="Maui - The Maltcms Graphical User Interface."]
957        Maui,
958        #[term(cv=MS, accession=1002458, name="PeptideShaker", flags={1}, parents={["MS:1001456"]})]
959        #[doc="PeptideShaker - PeptideShaker is a software for the interpretation of proteomics identification results."]
960        PeptideShaker,
961        #[term(cv=MS, accession=1002524, name="PepFinder", flags={2}, parents={["MS:1003961", "MS:1001457"]})]
962        #[doc="PepFinder - Thermo Scientific PepFinder BioPharma analysis software."]
963        PepFinder,
964        #[term(cv=MS, accession=1002543, name="xiFDR", flags={1}, parents={["MS:1001456"]})]
965        #[doc="xiFDR - Target/Decoy based FDR estimation for crosslinking peptide-identifications."]
966        XiFDR,
967        #[term(cv=MS, accession=1002544, name="xi", flags={1}, parents={["MS:1001456"]})]
968        #[doc="xi - Search engine for crosslinked peptides."]
969        Xi,
970        #[term(cv=MS, accession=1002546, name="Skyline mzQuantML converter", flags={1}, parents={["MS:1001139", "MS:1001456"]})]
971        #[doc="Skyline mzQuantML converter - A software package to convert Skyline report to mzQuantML."]
972        SkylineMzQuantMLConverter,
973        #[term(cv=MS, accession=1002574, name="ASAPRatio", flags={0}, parents={["MS:1002286"]})]
974        #[doc="ASAPRatio - A program in the TPP that calculates PSM, peptide, and protein-level abundances based on 2-channel isotope-labelled data such as ICAT, SILAC, etc."]
975        ASAPRatio,
976        #[term(cv=MS, accession=1002575, name="Tide", flags={1}, parents={["MS:1001456"]})]
977        #[doc="Tide - Tide open-source sequence search program developed at the University of Washington."]
978        Tide,
979        #[term(cv=MS, accession=1002596, name="ProLuCID", flags={1}, parents={["MS:1001456"]})]
980        #[doc="ProLuCID - The SEQUEST-like sequence search engine ProLuCID, developed in the Yates Lab at the Scripps Research Institute."]
981        ProLuCID,
982        #[term(cv=MS, accession=1002598, name="DTASelect", flags={1}, parents={["MS:1001456"]})]
983        #[doc="DTASelect - Analysis software designed to reassemble the SEQUEST peptide identifications and to highlight the most significant matches."]
984        DTASelect,
985        #[term(cv=MS, accession=1002645, name="MSDK", flags={3}, parents={["MS:1001456", "MS:1001457"]})]
986        #[doc="MSDK - Mass Spectrometry Development Kit (MSDK) is a Java library of algorithms for processing of mass spectrometry data."]
987        MSDK,
988        #[term(cv=MS, accession=1002661, name="Morpheus", flags={1}, parents={["MS:1001456"]})]
989        #[doc="Morpheus - Morpheus search engine."]
990        Morpheus,
991        #[term(cv=MS, accession=1002673, name="OpenXQuest", flags={0}, parents={["MS:1000752"]})]
992        #[doc="OpenXQuest - Cross-Linking MS search engine."]
993        OpenXQuest,
994        #[term(cv=MS, accession=1002714, name="FLASHDeconv", flags={3}, parents={["MS:1001456", "MS:1001457"]})]
995        #[doc="FLASHDeconv - Ultrafast, High-Quality Feature Deconvolution for Top-Down Proteomics."]
996        FLASHDeconv,
997        #[term(cv=MS, accession=1002717, name="Waters DATA Convert", flags={3}, parents={["MS:1000694", "MS:1001456", "MS:1001457"]})]
998        #[doc="Waters DATA Convert - Software for processing and exporting Waters MassLynx and waters_connect data."]
999        WatersDATAConvert,
1000        #[term(cv=MS, accession=1002720, name="MSPathFinder", flags={1}, parents={["MS:1001456"]})]
1001        #[doc="MSPathFinder - PNNL top-down/bottom-up analysis software for identifying peptides and proteoforms in fragmentation mass spectra."]
1002        MSPathFinder,
1003        #[term(cv=MS, accession=1002750, name="NIST MSPepSearch", flags={1}, parents={["MS:1001456"]})]
1004        #[doc="NIST MSPepSearch - Search tool of the NIST (National Institute of Standards and Technology) for spectral library searches."]
1005        NISTMSPepSearch,
1006        #[term(cv=MS, accession=1002826, name="MetaMorpheus", flags={1}, parents={["MS:1001456"]})]
1007        #[doc="MetaMorpheus - MetaMorpheus search engine."]
1008        MetaMorpheus,
1009        #[term(cv=MS, accession=1002869, name="mzR", flags={3}, parents={["MS:1001456", "MS:1001457"]})]
1010        #[doc="mzR - Bioconductor package mzR for reading and writing mass spectrometry data files."]
1011        MzR,
1012        #[term(cv=MS, accession=1002870, name="MSnbase", flags={3}, parents={["MS:1001456", "MS:1001457"]})]
1013        #[doc="MSnbase - Bioconductor package MSnbase provides infrastructure for manipulation, processing and visualization of mass spectrometry and proteomics data, ranging from raw to quantitative and annotated data."]
1014        MSnbase,
1015        #[term(cv=MS, accession=1002871, name="CAMERA", flags={3}, parents={["MS:1001456", "MS:1001457"]})]
1016        #[doc="CAMERA - Bioconductor package CAMERA for annotation of peak lists generated by xcms, rule based annotation of isotopes and adducts, isotope validation, EIC correlation based tagging of unknown adducts and fragments."]
1017        CAMERA,
1018        #[term(cv=MS, accession=1002878, name="small molecule analysis software", flags={1}, parents={["MS:1001456"]})]
1019        #[doc="small molecule analysis software - Software for the analysis of small molecules."]
1020        SmallMoleculeAnalysisSoftware,
1021        #[term(cv=MS, accession=1002879, name="Progenesis QI", flags={0}, parents={["MS:1002878"]})]
1022        #[doc="Progenesis QI - Metabolomics analysis software for LC-MS data from Nonlinear Dynamics."]
1023        ProgenesisQI,
1024        #[term(cv=MS, accession=1002880, name="Compound Discoverer", flags={0}, parents={["MS:1003961", "MS:1002878"]})]
1025        #[doc="Compound Discoverer - Metabolomics analysis software from Thermo Fisher Scientific."]
1026        CompoundDiscoverer,
1027        #[term(cv=MS, accession=1002881, name="MyCompoundID", flags={0}, parents={["MS:1002878"]})]
1028        #[doc="MyCompoundID - Metabolite identification tool MyCompoundID."]
1029        MyCompoundID,
1030        #[term(cv=MS, accession=1002901, name="TopPIC", flags={1}, parents={["MS:1001456"]})]
1031        #[doc="TopPIC - TopPIC: a software tool for top-down mass spectrometry-based proteoform identification and characterization."]
1032        TopPIC,
1033        #[term(cv=MS, accession=1002902, name="TopFD", flags={1}, parents={["MS:1001456"]})]
1034        #[doc="TopFD - Top-down mass spectral feature detection."]
1035        TopFD,
1036        #[term(cv=MS, accession=1002903, name="TopMG", flags={1}, parents={["MS:1001456"]})]
1037        #[doc="TopMG - A mass graph-based approach for the identification of modified proteoforms using top-down tandem mass spectra."]
1038        TopMG,
1039        #[term(cv=MS, accession=1002964, name="lipidomics analysis software", flags={0}, parents={["MS:1002878"]})]
1040        #[doc="lipidomics analysis software - Lipidomics analysis software."]
1041        LipidomicsAnalysisSoftware,
1042        #[term(cv=MS, accession=1002965, name="Lipid Data Analyzer", flags={2}, parents={["MS:1002964", "MS:1001457"]})]
1043        #[doc="Lipid Data Analyzer - Lipid Data Analyzer software for lipid quantification."]
1044        LipidDataAnalyzer,
1045        #[term(cv=MS, accession=1002967, name="LipidHunter", flags={2}, parents={["MS:1002964", "MS:1001457"]})]
1046        #[doc="LipidHunter - Software for identification of phospholipids by high-throughput processing of LC-MS and shotgun lipidomics datasets."]
1047        LipidHunter,
1048        #[term(cv=MS, accession=1002968, name="LipidXplorer", flags={2}, parents={["MS:1002964", "MS:1001457"]})]
1049        #[doc="LipidXplorer - Software for consensual cross-platform lipidomics."]
1050        LipidXplorer,
1051        #[term(cv=MS, accession=1002969, name="LipidMatch", flags={2}, parents={["MS:1002964", "MS:1001457"]})]
1052        #[doc="LipidMatch - An automated workflow for rule-based lipid identification using untargeted high-resolution tandem mass spectrometry data."]
1053        LipidMatch,
1054        #[term(cv=MS, accession=1002970, name="Greazy", flags={2}, parents={["MS:1002964", "MS:1001457"]})]
1055        #[doc="Greazy - Open-source software for automated phospholipid tandem mass spectrometry identification."]
1056        Greazy,
1057        #[term(cv=MS, accession=1002971, name="LipidBlast", flags={2}, parents={["MS:1002964", "MS:1001457"]})]
1058        #[doc="LipidBlast - LC-MS-based lipidomics and automated identification of lipids using the LipidBlast in-silico MS/MS library."]
1059        LipidBlast,
1060        #[term(cv=MS, accession=1002972, name="Lipid-Pro", flags={2}, parents={["MS:1002964", "MS:1001457"]})]
1061        #[doc="Lipid-Pro - A computational lipid identification solution for untargeted lipidomics on data-independent acquisition tandem mass spectrometry platforms."]
1062        LipidPro,
1063        #[term(cv=MS, accession=1002973, name="LipidFinder", flags={2}, parents={["MS:1002964", "MS:1001457"]})]
1064        #[doc="LipidFinder - A computational workflow for the discovery of lipids for the identification of eicosanoid-phosphoinositides in platelets."]
1065        LipidFinder,
1066        #[term(cv=MS, accession=1002974, name="LipiDex", flags={2}, parents={["MS:1002964", "MS:1001457"]})]
1067        #[doc="LipiDex - An integrated software package for high-confidence lipid identification."]
1068        LipiDex,
1069        #[term(cv=MS, accession=1002975, name="LIQUID", flags={2}, parents={["MS:1002964", "MS:1001457"]})]
1070        #[doc="LIQUID - An-open source software for identifying lipids in LC-MS/MS-based lipidomics data."]
1071        LIQUID,
1072        #[term(cv=MS, accession=1002976, name="ALEX", flags={2}, parents={["MS:1002964", "MS:1001457"]})]
1073        #[doc="ALEX - Analysis of lipid experiments, a calculator for m/z values of intact lipid molecules (MS1)."]
1074        ALEX,
1075        #[term(cv=MS, accession=1002977, name="ALEX123", flags={2}, parents={["MS:1002964", "MS:1001457"]})]
1076        #[doc="ALEX123 - Analysis of lipid experiments 123, a calculator with m/z values of intact lipid molecules (MS1) and their fragment ions at the MS2 and MS3 level."]
1077        ALEX123,
1078        #[term(cv=MS, accession=1002978, name="LIMSA", flags={2}, parents={["MS:1002964", "MS:1001457"]})]
1079        #[doc="LIMSA - Software tool for the quantitative analysis of mass spectrometric lipidome data."]
1080        LIMSA,
1081        #[term(cv=MS, accession=1002979, name="LOBSTAHS", flags={2}, parents={["MS:1002964", "MS:1001457"]})]
1082        #[doc="LOBSTAHS - Adduct-Based lipidomics software for the discovery and identification of oxidative stress biomarkers."]
1083        LOBSTAHS,
1084        #[term(cv=MS, accession=1002980, name="LipidQA", flags={2}, parents={["MS:1002964", "MS:1001457"]})]
1085        #[doc="LipidQA - Lipid qualitative/quantitative analysis software for identification and quantitation of complex lipid molecular species."]
1086        LipidQA,
1087        #[term(cv=MS, accession=1002981, name="Proline", flags={1}, parents={["MS:1001456"]})]
1088        #[doc="Proline - The Proline software suite for mass spectrometry based proteomics."]
1089        Proline,
1090        #[term(cv=MS, accession=1002982, name="PepNovo", flags={1}, parents={["MS:1001456"]})]
1091        #[doc="PepNovo - PepNovo tool for de novo peptide sequencing."]
1092        PepNovo,
1093        #[term(cv=MS, accession=1002983, name="pNovo", flags={1}, parents={["MS:1001456"]})]
1094        #[doc="pNovo - pNovo tool for de novo peptide sequencing and identification using HCD spectra."]
1095        PNovo,
1096        #[term(cv=MS, accession=1002984, name="Novor", flags={1}, parents={["MS:1001456"]})]
1097        #[doc="Novor - Novor real-time peptide de novo sequencing software tool."]
1098        Novor,
1099        #[term(cv=MS, accession=1002987, name="IdentiPy", flags={1}, parents={["MS:1001456"]})]
1100        #[doc="IdentiPy - IdentiPy."]
1101        IdentiPy,
1102        #[term(cv=MS, accession=1002990, name="ms_deisotope", flags={2}, parents={["MS:1001457"]})]
1103        #[doc="ms_deisotope - ms_deisotope, a library for deisotoping and charge state deconvolution of mass spectra."]
1104        MsDeisotope,
1105        #[term(cv=MS, accession=1002991, name="python-psims", flags={0}, parents={["MS:1002333"]})]
1106        #[doc="python-psims - python-psims, a library for generating mzML and mzIdentML."]
1107        PythonPsims,
1108        #[term(cv=MS, accession=1003010, name="LPPtiger", flags={2}, parents={["MS:1002964", "MS:1001457"]})]
1109        #[doc="LPPtiger - Software for lipidome-specific prediction and identification of oxidized phospholipids from LC-MS datasets."]
1110        LPPtiger,
1111        #[term(cv=MS, accession=1003011, name="pFind", flags={1}, parents={["MS:1001456"]})]
1112        #[doc="pFind - Sequence-tag-based search engine pFind."]
1113        PFind,
1114        #[term(cv=MS, accession=1003013, name="i3tms", flags={1}, parents={["MS:1001456"]})]
1115        #[doc="i3tms - i3-tms search engine and data-analysis software."]
1116        I3tms,
1117        #[term(cv=MS, accession=1003014, name="MSFragger", flags={1}, parents={["MS:1001456"]})]
1118        #[doc="MSFragger - A database search-based peptide identification tool."]
1119        MSFragger,
1120        #[term(cv=MS, accession=1003018, name="Philosopher", flags={1}, parents={["MS:1001456"]})]
1121        #[doc="Philosopher - General proteomics processing toolkit for shotgun proteomics."]
1122        Philosopher,
1123        #[term(cv=MS, accession=1003023, name="OpenPepXL", flags={0}, parents={["MS:1000752"]})]
1124        #[doc="OpenPepXL - Cross-Linking MS search engine."]
1125        OpenPepXL,
1126        #[term(cv=MS, accession=1003082, name="MS-DIAL", flags={2}, parents={["MS:1002878", "MS:1001457"]})]
1127        #[doc="MS-DIAL - Data processing software for untargeted metabolomics and lipidomics that supports multiple instruments and MS vendors."]
1128        MSDIAL,
1129        #[term(cv=MS, accession=1003108, name="PatternLab", flags={1}, parents={["MS:1001139", "MS:1001456"]})]
1130        #[doc="PatternLab - PatternLab for Proteomics is an integrated computational environment for analyzing shotgun proteomic data."]
1131        PatternLab,
1132        #[term(cv=MS, accession=1003109, name="SIM-XL", flags={1}, parents={["MS:1001456"]})]
1133        #[doc="SIM-XL - Identifying crosslinked peptides in complex protein mixtures"]
1134        SIMXL,
1135        #[term(cv=MS, accession=1003111, name="QUIN-XL", flags={0}, parents={["MS:1001139"]})]
1136        #[doc="QUIN-XL - Quantification of crosslinked peptides in complex protein mixtures"]
1137        QUINXL,
1138        #[term(cv=MS, accession=1003118, name="EPIFANY", flags={1}, parents={["MS:1001456", "MS:1000752"]})]
1139        #[doc="EPIFANY - A Method for Efficient High-Confidence Protein Inference. The tool is part of the OpenMS framework"]
1140        EPIFANY,
1141        #[term(cv=MS, accession=1003141, name="ProSight", flags={1}, parents={["MS:1003961", "MS:1001456"]})]
1142        #[doc="ProSight - ProSight: Database search engine for top-down proteomics."]
1143        ProSight,
1144        #[term(cv=MS, accession=1003142, name="TDPortal", flags={1}, parents={["MS:1001456"]})]
1145        #[doc="TDPortal - TDPortal: Database search engine for top-down proteomics."]
1146        TDPortal,
1147        #[term(cv=MS, accession=1003145, name="ThermoRawFileParser", flags={2}, parents={["MS:1001457"]})]
1148        #[doc="ThermoRawFileParser - Cross-platform software to convert Thermo RAW files to a number of open formats."]
1149        ThermoRawFileParser,
1150        #[term(cv=MS, accession=1003146, name="pyteomics", flags={1}, parents={["MS:1001456"]})]
1151        #[doc="pyteomics - Python module that helps handling various proteomics data analysis tasks."]
1152        Pyteomics,
1153        #[term(cv=MS, accession=1003162, name="PTX-QC", flags={1}, parents={["MS:1001456"]})]
1154        #[doc="PTX-QC - Proteomics (PTX) - QualityControl (QC) software for QC report generation and visualization."]
1155        PTXQC,
1156        #[term(cv=MS, accession=1003164, name="QuaMeter IDFree", flags={1}, parents={["MS:1001456"]})]
1157        #[doc="QuaMeter IDFree - QuaMeter IDFree software for QC metric calculation."]
1158        QuaMeterIDFree,
1159        #[term(cv=MS, accession=1003165, name="iMonDB", flags={1}, parents={["MS:1001456"]})]
1160        #[doc="iMonDB - iMonDB software to extract, store, and manage mass spectrometry instrument parameters from raw data files."]
1161        IMonDB,
1162        #[term(cv=MS, accession=1003202, name="BiblioSpec", flags={1}, parents={["MS:1001456", "MS:1003207"]})]
1163        #[doc="BiblioSpec - A suite of software tools for creating and searching MS/MS peptide spectrum libraries, developed at the University of Washington"]
1164        BiblioSpec,
1165        #[term(cv=MS, accession=1003207, name="library creation software", flags={0}, parents={["MS:1000531", "MS:1003171"]})]
1166        #[doc="library creation software - Library creation software"]
1167        LibraryCreationSoftware,
1168        #[term(cv=MS, accession=1003232, name="PeakForest", flags={1}, parents={["MS:1001456", "MS:1003207", "MS:1002878"]})]
1169        #[doc="PeakForest - comprehensive infrastructure to organize, curate and share a multi- instrument spectral library for metabolomics data annotation developed and distributed by the French National infrastructure in metabolomics and fluxomics (MetaboHUB)."]
1170        PeakForest,
1171        #[term(cv=MS, accession=1003253, name="DIA-NN", flags={1}, parents={["MS:1001139", "MS:1001456", "MS:1003207"]})]
1172        #[doc="DIA-NN - A universal software for data-independent acquisition (DIA) proteomics data processing"]
1173        DIANN,
1174        #[term(cv=MS, accession=1003281, name="Casanovo", flags={1}, parents={["MS:1001456"]})]
1175        #[doc="Casanovo - Casanovo is a deep learning-based de novo spectrum identification tool. Official website https://github.com/Noble-Lab/casanovo/."]
1176        Casanovo,
1177        #[term(cv=MS, accession=1003309, name="Goslin", flags={2}, parents={["MS:1001457", "MS:1002414", "MS:1002964"]})]
1178        #[doc="Goslin - The Goslin implementations parse common lipid name dialects and normalize them to the recent lipid shorthand nomenclature based on grammars on succinct lipid nomenclature."]
1179        Goslin,
1180        #[term(cv=MS, accession=1003357, name="ANN-SoLo", flags={1}, parents={["MS:1001456"]})]
1181        #[doc="ANN-SoLo - ANN-SoLo (Approximate Nearest Neighbor Spectral Library) is a spectral library search engine for fast and accurate open modification searching. ANN-SoLo uses approximate nearest neighbor indexing to speed up open modification searching by selecting only a limited number of the most relevant library spectra to compare to an unknown query spectrum. This is combined with a cascade search strategy to maximize the number of identified unmodified and modified spectra while strictly controlling the false discovery rate and the shifted dot product score to sensitively match modified spectra to their unmodified counterpart."]
1182        ANNSoLo,
1183        #[term(cv=MS, accession=1003376, name="ChemClipse", flags={3}, parents={["MS:1001456", "MS:1001457"]})]
1184        #[doc="ChemClipse - ChemClipse is part of the Eclipse Science project. Primarily developed by Lablicate GmbH."]
1185        ChemClipse,
1186        #[term(cv=MS, accession=1003377, name="OpenChrom", flags={3}, parents={["MS:1001456", "MS:1001457"]})]
1187        #[doc="OpenChrom - OpenChrom is an Open Source software for data processing and analysis. Based upon Eclipse ChemClipse."]
1188        OpenChrom,
1189        #[term(cv=MS, accession=1003382, name="waters_connect", flags={7}, parents={["MS:1000694", "MS:1001455", "MS:1001456", "MS:1001457"]})]
1190        #[doc="waters_connect - Waters Corporation waters_connect software for liquid chromatography and mass spectrometry acquisition and processing."]
1191        WatersConnect,
1192        #[term(cv=MS, accession=1003386, name="Spectra", flags={3}, parents={["MS:1001456", "MS:1001457"]})]
1193        #[doc="Spectra - Bioconductor package Spectra for mass spectrometry data representation and processing."]
1194        Spectra,
1195        #[term(cv=MS, accession=1003387, name="MetaboAnnotation", flags={3}, parents={["MS:1001456", "MS:1001457"]})]
1196        #[doc="MetaboAnnotation - Bioconductor package MetaboAnnotation for annotation of untargeted metabolomics data."]
1197        MetaboAnnotation,
1198        #[term(cv=MS, accession=1003388, name="CompoundDb", flags={3}, parents={["MS:1001456", "MS:1001457", "MS:1003207"]})]
1199        #[doc="CompoundDb - Bioconductor package CompoundDb for creation, usage and maintenance of public or library-specific annotation databases and spectra libraries."]
1200        CompoundDb,
1201        #[term(cv=MS, accession=1003399, name="quality control software", flags={2}, parents={["MS:1001457"]})]
1202        #[doc="quality control software - Software that creates or manipulates QC-related data."]
1203        QualityControlSoftware,
1204        #[term(cv=MS, accession=1003400, name="rmzqc", flags={0}, parents={["MS:1003399"]})]
1205        #[doc="rmzqc - An R package for reading, validating, and writing mzQC files."]
1206        Rmzqc,
1207        #[term(cv=MS, accession=1003401, name="jmzqc", flags={0}, parents={["MS:1003399"]})]
1208        #[doc="jmzqc - A Java package for reading, validating, and writing mzQC files."]
1209        Jmzqc,
1210        #[term(cv=MS, accession=1003402, name="pymzqc", flags={0}, parents={["MS:1003399"]})]
1211        #[doc="pymzqc - A Python package for reading, validating, and writing mzQC files."]
1212        Pymzqc,
1213        #[term(cv=MS, accession=1003405, name="mzRecal", flags={2}, parents={["MS:1001457"]})]
1214        #[doc="mzRecal - MS1 recalibration using identified peptides as internal calibrants."]
1215        MzRecal,
1216        #[term(cv=MS, accession=1003406, name="spectrum clustering software", flags={0}, parents={["MS:1000531"]})]
1217        #[doc="spectrum clustering software - Software designed to group multiple mass spectra by high similarity, generally with the goal of grouping replicate spectra derived from the same analyte."]
1218        SpectrumClusteringSoftware,
1219        #[term(cv=MS, accession=1003407, name="Scout", flags={1}, parents={["MS:1001456"]})]
1220        #[doc="Scout - Identifying crosslinked peptides in complex protein mixtures"]
1221        Scout,
1222        #[term(cv=MS, accession=1003413, name="Kojak", flags={1}, parents={["MS:1001456"]})]
1223        #[doc="Kojak - Kojak open-source crosslinked peptide sequence search engine developed at the Institute for Systems Biology."]
1224        Kojak,
1225        #[term(cv=MS, accession=1003425, name="quantms", flags={1}, parents={["MS:1001456", "MS:1001139"]})]
1226        #[doc="quantms - Cloud-based pipeline for quantitative proteomics that enables the reanalysis of public proteomics data."]
1227        Quantms,
1228        #[term(cv=MS, accession=1003426, name="xQuest/xProphet", flags={1}, parents={["MS:1001139", "MS:1001456"]})]
1229        #[doc="xQuest/xProphet - A software to identify cross-linked peptides from LC-MS/MS spectra."]
1230        XQuestXProphet,
1231        #[term(cv=MS, accession=1003427, name="PeakView", flags={1}, parents={["MS:1001139", "MS:1001456"]})]
1232        #[doc="PeakView - A software for spectral analysis and data interrogation in qualitative review of LC-MS and MS/MS data."]
1233        PeakView,
1234        #[term(cv=MS, accession=1003428, name="Perseus", flags={1}, parents={["MS:1001139", "MS:1001456"]})]
1235        #[doc="Perseus - A software for interpreting protein quantification, interaction and post-translational modification data."]
1236        Perseus,
1237        #[term(cv=MS, accession=1003429, name="FragPipe", flags={1}, parents={["MS:1001139", "MS:1001456"]})]
1238        #[doc="FragPipe - A computational platform for analyzing mass spectrometry-based proteomics data."]
1239        FragPipe,
1240        #[term(cv=MS, accession=1003430, name="OpenMS", flags={1}, parents={["MS:1001139", "MS:1001456"]})]
1241        #[doc="OpenMS - A software for LC-MS data management and analysis."]
1242        OpenMS,
1243        #[term(cv=MS, accession=1003431, name="pLink", flags={1}, parents={["MS:1001139", "MS:1001456"]})]
1244        #[doc="pLink - A tool for the analysis of chemically cross-linked proteins using mass spectrometry."]
1245        PLink,
1246        #[term(cv=MS, accession=1003432, name="pLink2", flags={1}, parents={["MS:1003431", "MS:1001139", "MS:1001456"]})]
1247        #[doc="pLink2 - Upgraded version of pLink tool, provides a graphical user interface and faster with newly designed index structure."]
1248        PLink2,
1249        #[term(cv=MS, accession=1003446, name="SCIEX OS", flags={7}, parents={["MS:1000690", "MS:1001455", "MS:1001456", "MS:1001457"]})]
1250        #[doc="SCIEX OS - SCIEX OS software."]
1251        SCIEXOS,
1252        #[term(cv=MS, accession=1003447, name="SCIEX MS Data Converter", flags={2}, parents={["MS:1000690", "MS:1001457"]})]
1253        #[doc="SCIEX MS Data Converter - A software for converting SCIEX wiff or wiff2 format to mzML."]
1254        SCIEXMSDataConverter,
1255        #[term(cv=MS, accession=1003607, name="timsControl", flags={4}, parents={["MS:1000692", "MS:1001455"]})]
1256        #[doc="timsControl - Bruker software for data acquisition."]
1257        TimsControl,
1258        #[term(cv=MS, accession=1003608, name="MetaboScape", flags={3}, parents={["MS:1000692", "MS:1001456", "MS:1001457"]})]
1259        #[doc="MetaboScape - Bruker software for untargeted metabolomics and lipidomics data analysis."]
1260        MetaboScape,
1261        #[term(cv=MS, accession=1003609, name="TASQ", flags={3}, parents={["MS:1000692", "MS:1001456", "MS:1001457"]})]
1262        #[doc="TASQ - Bruker software for target screening and quantitation."]
1263        TASQ,
1264        #[term(cv=MS, accession=1003612, name="InstaNovo", flags={1}, parents={["MS:1001456"]})]
1265        #[doc="InstaNovo - InstaNovo is a deep learning based tool using a Transformer architecture for de novo peptide sequencing."]
1266        InstaNovo,
1267        #[term(cv=MS, accession=1003613, name="InstaNovo+", flags={1}, parents={["MS:1001456"]})]
1268        #[doc="InstaNovo+ - InstaNovo+ is a deep learning based tool using a Diffusion architecture for de novo peptide sequencing."]
1269        InstaNovoplus,
1270        #[term(cv=MS, accession=1003801, name="AccurateMassSearch", flags={0}, parents={["MS:1000752"]})]
1271        #[doc="AccurateMassSearch - OpenMS TOPP tool to assemble metabolite features from singleton mass traces."]
1272        AccurateMassSearch,
1273        #[term(cv=MS, accession=1003803, name="Ionoptika software", flags={0}, parents={["MS:1000531"]})]
1274        #[doc="Ionoptika software - Ionoptika software for data acquisition and analysis."]
1275        IonoptikaSoftware,
1276        #[term(cv=MS, accession=1003806, name="NeoSIMS", flags={4}, parents={["MS:1001455", "MS:1003803"]})]
1277        #[doc="NeoSIMS - Ionoptika software for data acquisition."]
1278        NeoSIMS,
1279        #[term(cv=MS, accession=1003807, name="Ionoptika Image Analyser", flags={3}, parents={["MS:1001456", "MS:1001457", "MS:1003803"]})]
1280        #[doc="Ionoptika Image Analyser - Ionoptika software for image data analysis."]
1281        IonoptikaImageAnalyser,
1282        #[term(cv=MS, accession=1003808, name="J105 Ionoptika Mass Imager", flags={3}, parents={["MS:1001456", "MS:1001457", "MS:1003803"]})]
1283        #[doc="J105 Ionoptika Mass Imager - Ionoptika J105 software for mass spectrometry imaging data analysis."]
1284        J105IonoptikaMassImager,
1285        #[term(cv=MS, accession=1003809, name="IoDataConverter", flags={2}, parents={["MS:1001457", "MS:1003803"]})]
1286        #[doc="IoDataConverter - Ionoptika software for converting Ionoptika data formats to imzML or HDF5."]
1287        IoDataConverter,
1288        #[term(cv=MS, accession=1003916, name="SpectroSwiss software", flags={0}, parents={["MS:1000531"]})]
1289        #[doc="SpectroSwiss software - SpectroSwiss software for mass spectrometry data processing and analysis."]
1290        SpectroSwissSoftware,
1291        #[term(cv=MS, accession=1003917, name="Peak-by-Peak", flags={3}, parents={["MS:1003916", "MS:1001456", "MS:1001457"]})]
1292        #[doc="Peak-by-Peak - SpectroSwiss software for Fourier transform mass spectrometry (FTMS) data processing and analysis, providing advanced workflows including the processing of unreduced, transient data."]
1293        PeakByPeak,
1294        #[term(cv=MS, accession=1003961, name="Thermo Scientific software", flags={0}, parents={["MS:1000531"]})]
1295        #[doc="Thermo Scientific software - Thermo Scientific software for data acquisition and analysis."]
1296        ThermoScientificSoftware,
1297        #[term(cv=MS, accession=1003962, name="TraceFinder", flags={7}, parents={["MS:1003961", "MS:1001455", "MS:1001456", "MS:1001457"]})]
1298        #[doc="TraceFinder - Thermo Scientific software for targeted quantitative and screening analysis of LC-MS, GC-MS, and IC-MS data, supporting automated data acquisition, processing, and reporting for diverse workflows."]
1299        TraceFinder,
1300        #[term(cv=MS, accession=1003963, name="FreeStyle", flags={3}, parents={["MS:1003961", "MS:1001456", "MS:1001457"]})]
1301        #[doc="FreeStyle - Thermo Scientific software for interactive qualitative visualization and review of mass spectrometry data, including chromatographic peak detection, spectral library searching, and high-resolution deconvolution."]
1302        FreeStyle,
1303        #[term(cv=MS, accession=1003964, name="Chromeleon CDS", flags={7}, parents={["MS:1003961", "MS:1001455", "MS:1001456", "MS:1001457"]})]
1304        #[doc="Chromeleon CDS - Thermo Scientific enterprise chromatography data system with integrated mass spectrometry instrument control and data processing, supporting GC-MS, LC-MS, and IC-MS platforms with GxP/21 CFR Part 11 compliance."]
1305        ChromeleonCDS,
1306        #[term(cv=MS, accession=1003965, name="Mass Frontier", flags={3}, parents={["MS:1003961", "MS:1001456", "MS:1001457"]})]
1307        #[doc="Mass Frontier - Thermo Scientific software for mass spectral interpretation and structural elucidation of small molecules, featuring the HighChem fragmentation library, fragmentation prediction, and spectral tree searching."]
1308        MassFrontier,
1309        #[term(cv=MS, accession=1003966, name="LipidSearch", flags={3}, parents={["MS:1003961", "MS:1001456", "MS:1001457"]})]
1310        #[doc="LipidSearch - Thermo Scientific software for automated identification of lipid molecular species from LC-MS and LC-MS/MS data using a comprehensive database of predicted lipid ion fragments."]
1311        LipidSearch,
1312        #[term(cv=MS, accession=1003967, name="mzVault", flags={3}, parents={["MS:1003961", "MS:1001456", "MS:1001457"]})]
1313        #[doc="mzVault - Thermo Scientific software for offline storage, searching, and management of high-resolution accurate-mass spectral libraries, including curated mzCloud content and user-generated in-house libraries."]
1314        MzVault,
1315        #[term(cv=MS, accession=1003968, name="SIEVE", flags={3}, parents={["MS:1003961", "MS:1001456", "MS:1001457"]})]
1316        #[doc="SIEVE - Thermo Scientific software for label-free differential expression analysis of LC-MS and GC-MS data, providing chromatographic alignment, feature detection, and statistical comparison for proteomics and metabolomics."]
1317        SIEVE,
1318        #[term(cv=MS, accession=1003969, name="BioPharma Finder", flags={3}, parents={["MS:1003961", "MS:1001456", "MS:1001457"]})]
1319        #[doc="BioPharma Finder - Thermo Scientific software for complex biotherapeutic characterization by LC-MS, supporting intact protein analysis, peptide mapping, oligonucleotide analysis, multi-attribute method workflows, and top-down or middle-down approaches."]
1320        BioPharmaFinder,
1321        #[term(cv=MS, accession=1003977, name="Monocle", flags={2}, parents={["MS:1001457"]})]
1322        #[doc="Monocle - A software program for converting Thermo Scientific RAW file format to mzXML, mzML, or CSV with improved monoisotopic mass estimation. Monocle was originally developed at the Gygi Lab at Harvard Medical School."]
1323        Monocle,
1324        #[term(cv=MS, accession=1003996, name="DeepNovo", flags={1}, parents={["MS:1001456", "MS:1001949"]})]
1325        #[doc="DeepNovo - DeepNovo is a deep-learning based de novo peptide sequencer for DDA."]
1326        DeepNovo,
1327        #[term(cv=MS, accession=1003997, name="DeepNovo-DIA", flags={1}, parents={["MS:1001456", "MS:1001949"]})]
1328        #[doc="DeepNovo-DIA - DeepNovo is a deep-learning based de novo peptide sequencer for DDA and DIA."]
1329        DeepNovoDIA,
1330        #[term(cv=MS, accession=1003998, name="PointNovo", flags={1}, parents={["MS:1001456"]})]
1331        #[doc="PointNovo - PointNovo is neural network based de novo peptide sequencing model."]
1332        PointNovo,
1333        #[term(cv=MS, accession=1003999, name="PGPointNovo", flags={1}, parents={["MS:1001456"]})]
1334        #[doc="PGPointNovo - PGPointNovo is a modification of PointNovo that allows parallel processing and a better optimization strategy."]
1335        PGPointNovo,
1336        #[term(cv=MS, accession=1004000, name="BiATNovo", flags={1}, parents={["MS:1001456"]})]
1337        #[doc="BiATNovo - BiATNovo an attention based bidirectional de novo peptide sequencing software."]
1338        BiATNovo,
1339        #[term(cv=MS, accession=1004001, name="NovoB", flags={1}, parents={["MS:1001456"]})]
1340        #[doc="NovoB - NovoB a transformer based bidirectional de novo peptide sequencing software."]
1341        NovoB,
1342        #[term(cv=MS, accession=1004002, name="PepNet", flags={1}, parents={["MS:1001456"]})]
1343        #[doc="PepNet - PepNet a convolutional neural network de novo peptide sequencing software."]
1344        PepNet,
1345        #[term(cv=MS, accession=1004003, name="π-HelixNovo", flags={1}, parents={["MS:1001456"]})]
1346        #[doc="π-HelixNovo - π-HelixNovo a transformer based de novo peptide sequencing software."]
1347        PiHelixNovo,
1348        #[term(cv=MS, accession=1004004, name="π-PrimeNovo", flags={1}, parents={["MS:1001456"]})]
1349        #[doc="π-PrimeNovo - π-PrimeNovo a non-autoregressive de novo peptide sequencing software."]
1350        PiPrimeNovo,
1351        #[term(cv=MS, accession=1004005, name="PowerNovo", flags={1}, parents={["MS:1001456"]})]
1352        #[doc="PowerNovo - PowerNovo a BERT and transformer ensemble de novo peptide sequencing software."]
1353        PowerNovo,
1354        #[term(cv=MS, accession=1004006, name="pUniFind", flags={1}, parents={["MS:1001456"]})]
1355        #[doc="pUniFind - pUniFind a open modification de novo peptide sequencing and rescoring software."]
1356        PUniFind,
1357        #[term(cv=MS, accession=1004007, name="Sage", flags={1}, parents={["MS:1001456", "MS:1001139"]})]
1358        #[doc="Sage - A database search based peptide identification software with retention time prediction, quantification, rescoring, and false discovery rate control."]
1359        Sage,
1360        #[term(cv=MS, accession=1004009, name="ProteoScape", flags={1}, parents={["MS:1001456", "MS:1000692"]})]
1361        #[doc="ProteoScape - Bruker ProteoScape is a GPU-powered platform delivering parallel computing capabilities and real-time database search results for bottom-up proteomics."]
1362        ProteoScape,
1363        #[term(cv=MS, accession=1004010, name="Stitch", flags={1}, parents={["MS:1001456"]})]
1364        #[doc="Stitch - Template-based assembly of PSMs for de novo protein sequencing."]
1365        Stitch,
1366        #[term(cv=MS, accession=4000151, name="MsQuality", flags={1}, parents={["MS:1001456"]})]
1367        #[doc="MsQuality - MsQuality – an interoperable open-source package for the calculation of standardized quality metrics of mass spectrometry data."]
1368        MsQuality,
1369        #[term(cv=MS, accession=4000189, name="DIAMetric", flags={1}, parents={["MS:1001456"]})]
1370        #[doc="DIAMetric - DIAMetric is a Data-Independent Acquisition Quality Metric Generator."]
1371        DIAMetric,
1372    }
1373    //[[[end]]] (sum: IqKqt5F23c)
1374}
1375
1376#[cfg(test)]
1377mod test {
1378    use crate::params::ParamDescribed;
1379
1380    use super::*;
1381
1382    #[test]
1383    fn cvmap_test() {
1384        assert_eq!(
1385            SoftwareTerm::SCIEXTOFTOFSeriesExplorerSoftware.accession(),
1386            1001483
1387        );
1388        assert_eq!(
1389            SoftwareTerm::SCIEXTOFTOFSeriesExplorerSoftware.name(),
1390            "SCIEX TOF/TOF Series Explorer Software"
1391        );
1392        assert_eq!(
1393            SoftwareTerm::SCIEXTOFTOFSeriesExplorerSoftware.flags(),
1394            SoftwareType::Analysis | SoftwareType::Acquisition | SoftwareType::DataProcessing
1395        );
1396        assert!(
1397            SoftwareTerm::SCIEXTOFTOFSeriesExplorerSoftware.flags().is_analysis(),
1398        );
1399    }
1400
1401    #[test]
1402    fn sw_test() {
1403        let mut sw = Software::new("foo".into(), "v0.1.0".into(), vec![custom_software_name("foo")]);
1404        assert_eq!(sw.id, "foo");
1405        assert_eq!(sw.version, "v0.1.0");
1406        assert!(sw.find_software_term().is_some());
1407        sw.add_param(SoftwareTerm::ANNSoLo.into());
1408        assert!(!sw.is_analysis());
1409        sw.params_mut().reverse();
1410        assert!(sw.is_analysis());
1411        assert!(sw.find_software_term().is_some());
1412
1413
1414        let id = Software::find_unique_id("foo", [sw].iter());
1415        assert_eq!(id, "foo_0");
1416    }
1417}