OpenMS
Loading...
Searching...
No Matches
MzTab.h
Go to the documentation of this file.
1// Copyright (c) 2002-present, OpenMS Inc. -- EKU Tuebingen, ETH Zurich, and FU Berlin
2// SPDX-License-Identifier: BSD-3-Clause
3//
4// --------------------------------------------------------------------------
5// $Maintainer: Timo Sachsenberg $
6// $Authors: Timo Sachsenberg $
7// --------------------------------------------------------------------------
8
9#pragma once
10
19
20#include <optional>
21
22#ifdef __clang__
23#pragma clang diagnostic push
24#pragma clang diagnostic ignored "-Wnon-virtual-dtor"
25#endif
26
27namespace OpenMS
28{
37 class OPENMS_DLLAPI MzTabModification
38 {
39public:
41
42 bool isNull() const;
43
44 void setNull(bool b);
45
47 void setPositionsAndParameters(const std::vector<std::pair<Size, MzTabParameter> >& ppp);
48
49 std::vector<std::pair<Size, MzTabParameter> > getPositionsAndParameters() const;
50
52
54
55 std::string toCellString() const;
56
57 void fromCellString(const std::string& s);
58
59 ~MzTabModification() = default;
60protected:
61 std::vector<std::pair<Size, MzTabParameter> > pos_param_pairs_;
63 };
64
65 class OPENMS_DLLAPI MzTabModificationList
66 {
67public:
68 bool isNull() const;
69
70 void setNull(bool b);
71
72 std::string toCellString() const;
73
74 void fromCellString(const std::string& s);
75
76 std::vector<MzTabModification> get() const;
77
78 void set(const std::vector<MzTabModification>& entries);
79
81protected:
82 std::vector<MzTabModification> entries_;
83 };
84
85// MTD
92
93 struct OPENMS_DLLAPI MzTabAssayMetaData
94 {
96 std::map<Size, MzTabModificationMetaData> quantification_mod;
98 std::vector<int> ms_run_ref; // adapted to address https://github.com/HUPO-PSI/mzTab/issues/26
99 };
100
108
109 struct OPENMS_DLLAPI MzTabStudyVariableMetaData
110 {
111 std::vector<int> assay_refs;
112 std::vector<int> sample_refs;
114 };
115
117 class OPENMS_DLLAPI MzTabMetaData
118 {
119public:
121
128
129 std::map<Size, MzTabParameter> protein_search_engine_score;
130 std::map<Size, MzTabParameter> peptide_search_engine_score;
131 std::map<Size, MzTabParameter> psm_search_engine_score;
132 std::map<Size, MzTabParameter> smallmolecule_search_engine_score;
133 std::map<Size, MzTabParameter> nucleic_acid_search_engine_score;
134 std::map<Size, MzTabParameter> oligonucleotide_search_engine_score;
135 std::map<Size, MzTabParameter> osm_search_engine_score;
136
137 std::map<Size, MzTabParameterList> sample_processing;
138
139 std::map<Size, MzTabInstrumentMetaData> instrument;
140
141 std::map<Size, MzTabSoftwareMetaData> software;
142
144
145 std::map<Size, MzTabString> publication;
146
147 std::map<Size, MzTabContactMetaData> contact;
148
149 std::map<Size, MzTabString> uri;
150
151 std::map<Size, MzTabModificationMetaData> fixed_mod;
152
153 std::map<Size, MzTabModificationMetaData> variable_mod;
154
156
160
161 std::map<Size, MzTabMSRunMetaData> ms_run;
162
163 std::map<Size, MzTabParameter> custom;
164
165 std::map<Size, MzTabSampleMetaData> sample;
166
167 std::map<Size, MzTabAssayMetaData> assay;
168
169 std::map<Size, MzTabStudyVariableMetaData> study_variable;
170
171 std::map<Size, MzTabCVMetaData> cv;
172
173 std::vector<std::string> colunit_protein;
174 std::vector<std::string> colunit_peptide;
175 std::vector<std::string> colunit_psm;
176 std::vector<std::string> colunit_small_molecule;
177 };
178
217
255
257 struct OPENMS_DLLAPI MzTabPSMSectionRow
258 {
266 std::map<Size, MzTabDouble> search_engine_score;
279 std::vector<MzTabOptionalColumnEntry> opt_;
280
287 void addPepEvidenceToRows(const std::vector<PeptideEvidence>& peptide_evidences);
290 {
292 const MzTabPSMSectionRow& row2) const
293 {
294 // @TODO: sort by "PSM_ID"? what's the point of that field?
295 return (std::make_tuple(row1.sequence.get(),
296 row1.spectra_ref.getMSFile(),
297 row1.spectra_ref.getSpecRef(),
298 row1.accession.get()) <
299 std::make_tuple(row2.sequence.get(),
300 row2.spectra_ref.getMSFile(),
301 row2.spectra_ref.getSpecRef(),
302 row2.accession.get()));
303 }
304 };
305 };
306
336
338 struct OPENMS_DLLAPI MzTabNucleicAcidSectionRow
339 {
347 std::map<Size, MzTabDouble> best_search_engine_score;
348 std::map<Size, std::map<Size, MzTabDouble> > search_engine_score_ms_run;
350 std::map<Size, MzTabInteger> num_osms_ms_run;
351 std::map<Size, MzTabInteger> num_oligos_distinct_ms_run;
352 std::map<Size, MzTabInteger> num_oligos_unique_ms_run;
356 // do GO terms make sense for nucleic acid sequences?
359 std::vector<MzTabOptionalColumnEntry> opt_;
360
363 {
365 const MzTabNucleicAcidSectionRow& row2) const
366 {
367 return row1.accession.get() < row2.accession.get();
368 }
369 };
370 };
371
374 {
379 std::map<Size, MzTabDouble> best_search_engine_score;
380 std::map<Size, std::map<Size, MzTabDouble>> search_engine_score_ms_run;
390 std::vector<MzTabOptionalColumnEntry> opt_;
391
394 {
396 const MzTabOligonucleotideSectionRow& row2) const
397 {
398 return (std::make_tuple(row1.sequence.get(), row1.accession.get(),
399 row1.start.get(), row1.end.get()) <
400 std::make_tuple(row2.sequence.get(), row2.accession.get(),
401 row2.start.get(), row2.end.get()));
402 }
403 };
404
405 };
406
408 struct OPENMS_DLLAPI MzTabOSMSectionRow
409 {
412 std::map<Size, MzTabDouble> search_engine_score;
421 std::vector<MzTabOptionalColumnEntry> opt_;
422
425 {
427 const MzTabOSMSectionRow& row2) const
428 {
429 return (std::make_tuple(row1.sequence.get(),
430 row1.spectra_ref.getMSFile(),
431 row1.spectra_ref.getSpecRef()) <
432 std::make_tuple(row2.sequence.get(),
433 row2.spectra_ref.getMSFile(),
434 row2.spectra_ref.getSpecRef()));
435 }
436 };
437 };
438
439 typedef std::vector<MzTabProteinSectionRow> MzTabProteinSectionRows;
440 typedef std::vector<MzTabPeptideSectionRow> MzTabPeptideSectionRows;
441 typedef std::vector<MzTabPSMSectionRow> MzTabPSMSectionRows;
442 typedef std::vector<MzTabSmallMoleculeSectionRow> MzTabSmallMoleculeSectionRows;
443 typedef std::vector<MzTabNucleicAcidSectionRow> MzTabNucleicAcidSectionRows;
444 typedef std::vector<MzTabOligonucleotideSectionRow> MzTabOligonucleotideSectionRows;
445 typedef std::vector<MzTabOSMSectionRow> MzTabOSMSectionRows;
446
447 namespace Internal
448 {
449 struct MzTabStreamHelper;
450 }
451
458 class OPENMS_DLLAPI MzTab : public MzTabBase
459 {
460 friend struct Internal::MzTabStreamHelper;
461
462 public:
464 MzTab() = default;
465 ~MzTab() = default;
466
468
469 void setMetaData(const MzTabMetaData& md);
470
472
474
476
478
480
482
484
486
489 size_t getNumberOfPSMs() const;
490
492
494
496
498
500
502
504
506
508
509 void setCommentRows(const std::map<Size, std::string>& com);
510
511 void setEmptyRows(const std::vector<Size>& empty);
512
513 const std::vector<Size>& getEmptyRows() const;
514
515 const std::map<Size, std::string>& getCommentRows() const;
516
518 std::vector<std::string> getProteinOptionalColumnNames() const;
519
521 std::vector<std::string> getPeptideOptionalColumnNames() const;
522
524 std::vector<std::string> getPSMOptionalColumnNames() const;
525
527 std::vector<std::string> getSmallMoleculeOptionalColumnNames() const;
528
530 std::vector<std::string> getNucleicAcidOptionalColumnNames() const;
531
533 std::vector<std::string> getOligonucleotideOptionalColumnNames() const;
534
535 static void addMetaInfoToOptionalColumns(const std::set<std::string>& keys, std::vector<MzTabOptionalColumnEntry>& opt, const std::string& id, const MetaInfoInterface& meta);
536
538 std::vector<std::string> getOSMOptionalColumnNames() const;
539
540 static std::map<Size, MzTabModificationMetaData> generateMzTabStringFromModifications(const std::vector<std::string>& mods);
541
542 static std::map<Size, MzTabModificationMetaData> generateMzTabStringFromVariableModifications(const std::vector<std::string>& mods);
543
544 static std::map<Size, MzTabModificationMetaData> generateMzTabStringFromFixedModifications(const std::vector<std::string>& mods);
545
546 static MzTab exportFeatureMapToMzTab(const FeatureMap& feature_map, const std::string& filename);
547
563 const std::vector<ProteinIdentification>& prot_ids,
564 const PeptideIdentificationList& peptide_ids,
565 const std::string& filename,
566 bool first_run_inference_only,
567 bool export_empty_pep_ids = false,
568 bool export_all_psms = false,
569 const std::string& title = "ID export from OpenMS");
570
571
576 static MzTabModificationList extractModificationList(const PeptideHit& pep_hit, const std::vector<std::string>& fixed_mods, const std::vector<std::string>& localization_mods);
577
594 const ConsensusMap& consensus_map,
595 const std::string& filename,
596 const bool first_run_inference_only,
597 const bool export_unidentified_features,
598 const bool export_unassigned_ids,
599 const bool export_subfeatures,
600 const bool export_empty_pep_ids = false,
601 const bool export_all_psms = false,
602 const std::string& title = "ConsensusMap export from OpenMS");
603
605 {
606 public:
608 const std::vector<const ProteinIdentification*>& prot_ids,
609 const std::vector<const PeptideIdentification*>& peptide_ids,
610 const std::string& filename,
611 bool first_run_inference_only,
612 bool export_empty_pep_ids = false,
613 bool export_all_psms = false,
614 const std::string& title = "ID export from OpenMS");
615
617
618 const std::vector<std::string>& getProteinOptionalColumnNames() const;
619 const std::vector<std::string>& getPeptideOptionalColumnNames() const;
620 const std::vector<std::string>& getPSMOptionalColumnNames() const;
621
625 private:
626 friend struct Internal::MzTabStreamHelper;
627
628 std::set<std::string> protein_hit_user_value_keys_;
629 std::set<std::string> peptide_id_user_value_keys_;
630 std::set<std::string> peptide_hit_user_value_keys_;
631
632 // beautiful mapping structs
633 std::map<Size, std::set<Size>> ind2prot_;
634 std::map<Size, std::set<Size>> pg2prot_;
635 std::map<std::string, size_t> idrunid_2_idrunindex_;
636 std::map<Size, std::vector<std::pair<std::string, std::string>>> run_to_search_engines_;
637 std::map<Size, std::vector<std::vector<std::pair<std::string, std::string>>>> run_to_search_engines_settings_;
638 std::map<std::pair<size_t,size_t>,size_t> map_id_run_fileidx_2_msfileidx_;
639 std::map<std::pair< std::string, unsigned >, unsigned> path_label_to_assay_;
640
641 std::vector<const ProteinIdentification*> prot_ids_;
642 std::vector<const PeptideIdentification*> peptide_ids_;
643
646 std::string filename_;
648 /* currently unused
649 bool export_unidentified_features_;
650 bool export_subfeatures_; */
653 size_t quant_study_variables_ = 0;
654 // size_t n_study_variables_ = 0; //currently unused
655 size_t PRT_STATE_ = 0;
656 size_t prt_run_id_ = 0; // current (protein) identification run
657 size_t prt_hit_id_ = 0; // current protein in (protein) identification run
658 size_t prt_group_id_ = 0;
659 size_t prt_indistgroup_id_ = 0;
660 size_t pep_id_ = 0;
661 size_t psm_id_ = 0;
662 size_t current_psm_idx_ = 0;
663 MzTabString db_, db_version_;
664
665 std::vector<std::string> prt_optional_column_names_;
666 std::vector<std::string> pep_optional_column_names_;
667 std::vector<std::string> psm_optional_column_names_;
668
670 };
671
673 {
674 public:
676 const ConsensusMap& consensus_map,
677 const std::string& filename,
678 const bool first_run_inference_only,
679 const bool export_unidentified_features,
680 const bool export_unassigned_ids,
681 const bool export_subfeatures,
682 const bool export_empty_pep_ids = false,
683 const bool export_all_psms = false,
684 const std::string& title = "ConsensusMap export from OpenMS");
685
687
688 const std::vector<std::string>& getProteinOptionalColumnNames() const;
689 const std::vector<std::string>& getPeptideOptionalColumnNames() const;
690 const std::vector<std::string>& getPSMOptionalColumnNames() const;
691
695
696 private:
697 friend struct Internal::MzTabStreamHelper;
698
700 std::set<std::string> protein_hit_user_value_keys_;
704
705 // beautiful mapping structs
706 std::map<Size, std::set<Size>> ind2prot_;
707 std::map<Size, std::set<Size>> pg2prot_;
708 std::map<std::string, size_t> idrunid_2_idrunindex_;
709 std::map<Size, std::vector<std::pair<std::string, std::string>>> run_to_search_engines_;
710 std::map<Size, std::vector<std::vector<std::pair<std::string, std::string>>>> run_to_search_engines_settings_;
711 std::map<std::pair<size_t,size_t>,size_t> map_id_run_fileidx_2_msfileidx_;
712 std::map<std::pair< std::string, unsigned >, unsigned> path_label_to_assay_;
713 std::vector<std::pair<UInt, UInt>> assay_keys_;
714 std::vector<Size> assay_to_study_variable_;
715 std::vector<std::vector<Size>> study_variable_to_assays_;
716
717 std::vector<const ProteinIdentification*> prot_ids_;
718 std::vector<const PeptideIdentification*> peptide_ids_;
719
722 std::string filename_;
728 size_t quant_study_variables_ = 0;
729 size_t n_assays_ = 0;
730 size_t n_study_variables_ = 0;
731 size_t PRT_STATE_ = 0;
732 size_t prt_run_id_ = 0; // current (protein) identification run
733 size_t prt_hit_id_ = 0; // current protein in (protein) identification run
734 size_t prt_group_id_ = 0;
735 size_t prt_indistgroup_id_ = 0;
736 size_t pep_id_ = 0;
737 size_t pep_counter_ = 0;
738 size_t psm_id_ = 0;
739 size_t current_psm_idx_ = 0;
740 MzTabString db_, db_version_;
741
742 std::vector<std::string> prt_optional_column_names_;
743 std::vector<std::string> pep_optional_column_names_;
744 std::vector<std::string> psm_optional_column_names_;
745
747 };
748
749
750 protected:
751 // extract basic mappings
752
753 static std::map<std::string, Size> mapIDRunIdentifier2IDRunIndex_(const std::vector<const ProteinIdentification*>& prot_ids);
754
755 static std::optional<MzTabPSMSectionRow> PSMSectionRowFromPeptideID_(
756 PeptideIdentification const& pid,
757 std::vector<ProteinIdentification const*> const& prot_id,
758 std::map<std::string, size_t>& idrun_2_run_index,
759 std::map<std::pair<size_t, size_t>, size_t>& map_run_fileidx_2_msfileidx,
760 std::map<Size, std::vector<std::pair<std::string, std::string>>>& run_to_search_engines,
761 Size const current_psm_idx,
762 Size const psm_id,
763 MzTabString const& db,
764 MzTabString const& db_version,
765 bool const export_empty_pep_ids,
766 bool const export_all_psms);
767
769 const ConsensusFeature& c,
770 const ConsensusMap& consensus_map,
771 const StringList& ms_runs,
772 const Size n_assays,
773 const Size n_study_variables,
774 const std::set<std::string>& consensus_feature_user_value_keys,
775 const std::set<std::string>& peptide_identifications_user_value_keys,
776 const std::set<std::string>& peptide_hit_user_value_keys,
777 const std::map<std::string, size_t>& idrun_2_run_index,
778 const std::map<std::pair<size_t,size_t>,size_t>& map_run_fileidx_2_msfileidx,
779 const std::map< std::pair< std::string, unsigned >, unsigned>& path_label_to_assay,
780 const std::vector<Size>& assay_to_study_variable,
781 const std::vector<std::vector<Size>>& study_variable_to_assays,
782 const std::vector<std::string>& fixed_mods,
783 bool export_subfeatures);
784
786 const Feature& c,
787 const std::set<std::string>& feature_user_value_keys,
788 const std::set<std::string>& peptide_identifications_user_value_keys,
789 const std::set<std::string>& peptide_hit_user_value_keys,
790 const std::vector<std::string>& fixed_mods);
791
793 const ProteinHit& hit,
794 const MzTabString& db,
795 const MzTabString& db_version,
796 const std::set<std::string>& protein_hit_user_value_keys);
797
800 const MzTabString& db,
801 const MzTabString& db_version);
802
804 const std::vector<ProteinHit>& protein_hits,
806 const size_t g,
807 const std::map<Size, std::set<Size>>& ind2prot,
808 const MzTabString& db,
809 const MzTabString& db_version);
810
811 static void addMSRunMetaData_(
812 const std::map<size_t, std::string>& msrunindex_2_msfilename,
813 MzTabMetaData& meta_data);
814
816 const std::vector<const ProteinIdentification*>& prot_ids,
817 bool skip_first,
818 std::map<std::string, size_t>& msfilename_2_msrunindex,
819 std::map<size_t, std::string>& msrunindex_2_msfilename);
820
822
824
825 // TODO: move to core classes?
826 static void getConsensusMapMetaValues_(const ConsensusMap& consensus_map,
827 std::set<std::string>& consensus_feature_user_value_keys,
828 std::set<std::string>& peptide_identification_user_value_keys,
829 std::set<std::string>& peptide_hit_user_value_keys);
830
831 static void getFeatureMapMetaValues_(const FeatureMap& feature_map,
832 std::set<std::string>& feature_user_value_keys,
833 std::set<std::string>& peptide_identification_user_value_keys,
834 std::set<std::string>& peptide_hit_user_value_keys);
835
837 const std::vector<const ProteinIdentification*>& prot_ids,
838 std::vector<const PeptideIdentification*>& peptide_ids_,
839 std::set<std::string>& protein_hit_user_value_keys,
840 std::set<std::string>& peptide_id_user_value_keys,
841 std::set<std::string>& peptide_hit_user_value_keys);
842
843 // determine spectrum reference identifier type (e.g., Thermo nativeID) from spectrum references
844 static MzTabParameter getMSRunSpectrumIdentifierType_(const std::vector<const PeptideIdentification*>& peptide_ids_);
845
847 const std::vector<const ProteinIdentification*>& prot_ids,
848 const std::vector<const PeptideIdentification*>& pep_ids,
849 bool skip_first_run,
850 std::map<std::tuple<std::string, std::string, std::string>, std::set<Size>>& search_engine_to_runs,
851 std::map<Size, std::vector<std::pair<std::string, std::string>>>& run_to_search_engines,
852 std::map<Size, std::vector<std::vector<std::pair<std::string, std::string>>>>& run_to_search_engines_settings,
853 std::map<std::string, std::vector<std::pair<std::string, std::string>>>& search_engine_to_settings);
854
855 static std::map<Size, std::set<Size>> mapGroupsToProteins_(
856 const std::vector<ProteinIdentification::ProteinGroup>& groups,
857 const std::vector<ProteinHit>& proteins);
858
860 const std::vector<const ProteinIdentification*>& prot_ids,
861 const std::map<std::tuple<std::string, std::string, std::string>, std::set<Size>>& search_engine_to_runs,
862 const std::map<std::string, std::vector<std::pair<std::string, std::string>>>& search_engine_to_settings,
863 MzTabMetaData& meta_data,
864 bool first_run_inference_only);
865
867 const std::vector<const ProteinIdentification*>& prot_ids,
868 const std::map<std::string, size_t>& msfilename_2_msrunindex,
869 bool skip_first_run,
870 std::map<std::pair<size_t, size_t>, size_t>& map_run_fileidx_2_msfileidx);
871
873 const std::vector<const ProteinIdentification*>& prot_ids,
874 StringList& var_mods,
875 StringList& fixed_mods);
876
877 // create MzTab compatible modification identifier from ResidueModification
878 // If the Modification has a unimod identifier it will be prefixed as UNIMOD
879 // otherwise as CHEMMOD (see MzTab specification for details)
881
882 static void checkSequenceUniqueness_(const PeptideIdentificationList& curr_pep_ids);
883
892 std::vector<Size> empty_rows_;
893 std::map<Size, std::string> comment_rows_;
894 };
895
896} // namespace OpenMS
897#ifdef __clang__
898 #pragma clang diagnostic pop
899#endif
A consensus feature spanning multiple LC-MS/MS experiments.
Definition ConsensusFeature.h:45
A container for consensus elements.
Definition ConsensusMap.h:67
A container for features.
Definition FeatureMap.h:78
An LC-MS feature.
Definition Feature.h:46
Interface for classes that can store arbitrary meta information (Type-Name-Value tuples).
Definition MetaInfoInterface.h:35
Definition MzTabBase.h:360
Definition MzTabBase.h:155
Definition MzTabBase.h:78
Definition MzTabBase.h:40
Definition MzTabBase.h:100
all meta data of a mzTab file. Please refer to specification for documentation.
Definition MzTab.h:118
std::map< Size, MzTabCVMetaData > cv
Definition MzTab.h:171
std::vector< std::string > colunit_peptide
Definition MzTab.h:174
MzTabString mz_tab_version
Definition MzTab.h:122
std::map< Size, MzTabParameter > peptide_search_engine_score
Definition MzTab.h:130
std::map< Size, MzTabParameter > protein_search_engine_score
Definition MzTab.h:129
MzTabString mz_tab_mode
Definition MzTab.h:123
MzTabParameter peptide_quantification_unit
Definition MzTab.h:158
MzTabParameter quantification_method
Definition MzTab.h:155
std::map< Size, MzTabString > publication
Definition MzTab.h:145
MzTabString mz_tab_id
Definition MzTab.h:125
std::map< Size, MzTabParameter > smallmolecule_search_engine_score
Definition MzTab.h:132
MzTabParameterList false_discovery_rate
Definition MzTab.h:143
MzTabString description
Definition MzTab.h:127
std::map< Size, MzTabContactMetaData > contact
Definition MzTab.h:147
std::map< Size, MzTabModificationMetaData > variable_mod
Definition MzTab.h:153
std::map< Size, MzTabParameter > psm_search_engine_score
Definition MzTab.h:131
std::map< Size, MzTabParameter > oligonucleotide_search_engine_score
Definition MzTab.h:134
MzTabParameter small_molecule_quantification_unit
Definition MzTab.h:159
std::vector< std::string > colunit_protein
Definition MzTab.h:173
std::map< Size, MzTabParameterList > sample_processing
Definition MzTab.h:137
std::vector< std::string > colunit_small_molecule
Definition MzTab.h:176
std::map< Size, MzTabInstrumentMetaData > instrument
Definition MzTab.h:139
std::map< Size, MzTabModificationMetaData > fixed_mod
Definition MzTab.h:151
std::map< Size, MzTabStudyVariableMetaData > study_variable
Definition MzTab.h:169
std::map< Size, MzTabParameter > custom
Definition MzTab.h:163
std::map< Size, MzTabSampleMetaData > sample
Definition MzTab.h:165
MzTabString title
Definition MzTab.h:126
MzTabString mz_tab_type
Definition MzTab.h:124
std::map< Size, MzTabMSRunMetaData > ms_run
Definition MzTab.h:161
std::map< Size, MzTabParameter > osm_search_engine_score
Definition MzTab.h:135
std::map< Size, MzTabAssayMetaData > assay
Definition MzTab.h:167
MzTabParameter protein_quantification_unit
Definition MzTab.h:157
std::map< Size, MzTabString > uri
Definition MzTab.h:149
std::map< Size, MzTabParameter > nucleic_acid_search_engine_score
Definition MzTab.h:133
std::vector< std::string > colunit_psm
Definition MzTab.h:175
std::map< Size, MzTabSoftwareMetaData > software
Definition MzTab.h:141
Definition MzTab.h:66
void set(const std::vector< MzTabModification > &entries)
std::vector< MzTabModification > entries_
Definition MzTab.h:82
std::vector< MzTabModification > get() const
void fromCellString(const std::string &s)
std::string toCellString() const
Data model of MzTab files.
Definition MzTab.h:38
std::vector< std::pair< Size, MzTabParameter > > getPositionsAndParameters() const
MzTabString getModOrSubstIdentifier() const
MzTabString mod_identifier_
Definition MzTab.h:62
void setPositionsAndParameters(const std::vector< std::pair< Size, MzTabParameter > > &ppp)
set (potentially ambiguous) position(s) with associated parameter (might be null if not set)
std::vector< std::pair< Size, MzTabParameter > > pos_param_pairs_
Definition MzTab.h:61
void setModificationIdentifier(const MzTabString &mod_id)
void fromCellString(const std::string &s)
std::string toCellString() const
Definition MzTabBase.h:242
Definition MzTabBase.h:205
Definition MzTabBase.h:291
std::string getSpecRef() const
Definition MzTabBase.h:265
Definition MzTabBase.h:179
std::string get() const
Definition MzTab.h:673
std::set< std::string > consensus_feature_user_value_keys_
Definition MzTab.h:701
const ConsensusMap & consensus_map_
Definition MzTab.h:699
std::string filename_
Definition MzTab.h:722
CMMzTabStream(const ConsensusMap &consensus_map, const std::string &filename, const bool first_run_inference_only, const bool export_unidentified_features, const bool export_unassigned_ids, const bool export_subfeatures, const bool export_empty_pep_ids=false, const bool export_all_psms=false, const std::string &title="ConsensusMap export from OpenMS")
std::map< std::pair< size_t, size_t >, size_t > map_id_run_fileidx_2_msfileidx_
Definition MzTab.h:711
std::vector< const ProteinIdentification * > prot_ids_
Definition MzTab.h:717
std::map< Size, std::set< Size > > pg2prot_
Definition MzTab.h:707
bool export_empty_pep_ids_
Definition MzTab.h:726
bool nextPRTRow(MzTabProteinSectionRow &row)
const std::vector< std::string > & getPSMOptionalColumnNames() const
std::vector< std::pair< UInt, UInt > > assay_keys_
Definition MzTab.h:713
bool export_unidentified_features_
Definition MzTab.h:724
const std::vector< std::string > & getPeptideOptionalColumnNames() const
bool nextPEPRow(MzTabPeptideSectionRow &row)
std::vector< Size > assay_to_study_variable_
Definition MzTab.h:714
StringList fixed_mods_
Definition MzTab.h:723
bool export_all_psms_
Definition MzTab.h:727
std::vector< const PeptideIdentification * > peptide_ids_
Definition MzTab.h:718
std::vector< std::string > psm_optional_column_names_
Definition MzTab.h:744
std::map< Size, std::set< Size > > ind2prot_
Definition MzTab.h:706
std::set< std::string > consensus_feature_peptide_identification_user_value_keys_
Definition MzTab.h:702
StringList ms_runs_
Definition MzTab.h:720
bool nextPSMRow(MzTabPSMSectionRow &row)
std::vector< std::vector< Size > > study_variable_to_assays_
Definition MzTab.h:715
bool first_run_inference_
Definition MzTab.h:721
std::map< Size, std::vector< std::vector< std::pair< std::string, std::string > > > > run_to_search_engines_settings_
Definition MzTab.h:710
std::map< Size, std::vector< std::pair< std::string, std::string > > > run_to_search_engines_
Definition MzTab.h:709
std::vector< std::string > pep_optional_column_names_
Definition MzTab.h:743
std::map< std::string, size_t > idrunid_2_idrunindex_
Definition MzTab.h:708
const std::vector< std::string > & getProteinOptionalColumnNames() const
std::vector< std::string > prt_optional_column_names_
Definition MzTab.h:742
bool export_subfeatures_
Definition MzTab.h:725
std::map< std::pair< std::string, unsigned >, unsigned > path_label_to_assay_
Definition MzTab.h:712
MzTabString db_
Definition MzTab.h:740
MzTabMetaData meta_data_
Definition MzTab.h:746
const MzTabMetaData & getMetaData() const
std::set< std::string > protein_hit_user_value_keys_
Definition MzTab.h:700
std::set< std::string > consensus_feature_peptide_hit_user_value_keys_
Definition MzTab.h:703
Definition MzTab.h:605
std::string filename_
Definition MzTab.h:646
std::map< std::pair< size_t, size_t >, size_t > map_id_run_fileidx_2_msfileidx_
Definition MzTab.h:638
std::vector< const ProteinIdentification * > prot_ids_
Definition MzTab.h:641
IDMzTabStream(const std::vector< const ProteinIdentification * > &prot_ids, const std::vector< const PeptideIdentification * > &peptide_ids, const std::string &filename, bool first_run_inference_only, bool export_empty_pep_ids=false, bool export_all_psms=false, const std::string &title="ID export from OpenMS")
std::map< Size, std::set< Size > > pg2prot_
Definition MzTab.h:634
bool export_empty_pep_ids_
Definition MzTab.h:651
bool nextPRTRow(MzTabProteinSectionRow &row)
const std::vector< std::string > & getPSMOptionalColumnNames() const
const std::vector< std::string > & getPeptideOptionalColumnNames() const
bool nextPEPRow(MzTabPeptideSectionRow &row)
std::set< std::string > peptide_id_user_value_keys_
Definition MzTab.h:629
StringList fixed_mods_
Definition MzTab.h:647
bool export_all_psms_
Definition MzTab.h:652
std::vector< const PeptideIdentification * > peptide_ids_
Definition MzTab.h:642
std::vector< std::string > psm_optional_column_names_
Definition MzTab.h:667
std::map< Size, std::set< Size > > ind2prot_
Definition MzTab.h:633
StringList ms_runs_
Definition MzTab.h:644
bool nextPSMRow(MzTabPSMSectionRow &row)
bool first_run_inference_
Definition MzTab.h:645
std::map< Size, std::vector< std::vector< std::pair< std::string, std::string > > > > run_to_search_engines_settings_
Definition MzTab.h:637
std::map< Size, std::vector< std::pair< std::string, std::string > > > run_to_search_engines_
Definition MzTab.h:636
std::vector< std::string > pep_optional_column_names_
Definition MzTab.h:666
std::map< std::string, size_t > idrunid_2_idrunindex_
Definition MzTab.h:635
const std::vector< std::string > & getProteinOptionalColumnNames() const
std::vector< std::string > prt_optional_column_names_
Definition MzTab.h:665
std::map< std::pair< std::string, unsigned >, unsigned > path_label_to_assay_
Definition MzTab.h:639
MzTabString db_
Definition MzTab.h:663
MzTabMetaData meta_data_
Definition MzTab.h:669
const MzTabMetaData & getMetaData() const
std::set< std::string > protein_hit_user_value_keys_
Definition MzTab.h:628
std::set< std::string > peptide_hit_user_value_keys_
Definition MzTab.h:630
Data model of MzTab files. Please see the official MzTab specification at https://code....
Definition MzTab.h:459
static void getSearchModifications_(const std::vector< const ProteinIdentification * > &prot_ids, StringList &var_mods, StringList &fixed_mods)
static MzTabModificationList extractModificationList(const PeptideHit &pep_hit, const std::vector< std::string > &fixed_mods, const std::vector< std::string > &localization_mods)
size_t getNumberOfPSMs() const
std::vector< std::string > getPeptideOptionalColumnNames() const
Extract opt_ (custom, optional column names)
static std::map< Size, MzTabModificationMetaData > generateMzTabStringFromModifications(const std::vector< std::string > &mods)
const std::map< Size, std::string > & getCommentRows() const
static MzTabString getModificationIdentifier_(const ResidueModification &r)
static MzTabPeptideSectionRow peptideSectionRowFromFeature_(const Feature &c, const std::set< std::string > &feature_user_value_keys, const std::set< std::string > &peptide_identifications_user_value_keys, const std::set< std::string > &peptide_hit_user_value_keys, const std::vector< std::string > &fixed_mods)
void setOligonucleotideSectionRows(const MzTabOligonucleotideSectionRows &onsd)
MzTabOSMSectionRows osm_data_
/ oligonucleotide-spectrum matches
Definition MzTab.h:891
std::vector< Size > empty_rows_
index of empty rows
Definition MzTab.h:892
static MzTabProteinSectionRow nextProteinSectionRowFromIndistinguishableGroup_(const std::vector< ProteinHit > &protein_hits, const ProteinIdentification::ProteinGroup &group, const size_t g, const std::map< Size, std::set< Size > > &ind2prot, const MzTabString &db, const MzTabString &db_version)
static void mapIDRunFileIndex2MSFileIndex_(const std::vector< const ProteinIdentification * > &prot_ids, const std::map< std::string, size_t > &msfilename_2_msrunindex, bool skip_first_run, std::map< std::pair< size_t, size_t >, size_t > &map_run_fileidx_2_msfileidx)
static void mapBetweenRunAndSearchEngines_(const std::vector< const ProteinIdentification * > &prot_ids, const std::vector< const PeptideIdentification * > &pep_ids, bool skip_first_run, std::map< std::tuple< std::string, std::string, std::string >, std::set< Size > > &search_engine_to_runs, std::map< Size, std::vector< std::pair< std::string, std::string > > > &run_to_search_engines, std::map< Size, std::vector< std::vector< std::pair< std::string, std::string > > > > &run_to_search_engines_settings, std::map< std::string, std::vector< std::pair< std::string, std::string > > > &search_engine_to_settings)
MzTabSmallMoleculeSectionRows small_molecule_data_
Definition MzTab.h:888
std::vector< std::string > getNucleicAcidOptionalColumnNames() const
Extract opt_ (custom, optional column names)
const MzTabProteinSectionRows & getProteinSectionRows() const
static void addSearchMetaData_(const std::vector< const ProteinIdentification * > &prot_ids, const std::map< std::tuple< std::string, std::string, std::string >, std::set< Size > > &search_engine_to_runs, const std::map< std::string, std::vector< std::pair< std::string, std::string > > > &search_engine_to_settings, MzTabMetaData &meta_data, bool first_run_inference_only)
std::vector< std::string > getSmallMoleculeOptionalColumnNames() const
Extract opt_ (custom, optional column names)
static void getFeatureMapMetaValues_(const FeatureMap &feature_map, std::set< std::string > &feature_user_value_keys, std::set< std::string > &peptide_identification_user_value_keys, std::set< std::string > &peptide_hit_user_value_keys)
MzTabOligonucleotideSectionRows oligonucleotide_data_
Definition MzTab.h:890
static MzTabParameter getProteinScoreType_(const ProteinIdentification &prot_id)
static std::optional< MzTabPSMSectionRow > PSMSectionRowFromPeptideID_(PeptideIdentification const &pid, std::vector< ProteinIdentification const * > const &prot_id, std::map< std::string, size_t > &idrun_2_run_index, std::map< std::pair< size_t, size_t >, size_t > &map_run_fileidx_2_msfileidx, std::map< Size, std::vector< std::pair< std::string, std::string > > > &run_to_search_engines, Size const current_psm_idx, Size const psm_id, MzTabString const &db, MzTabString const &db_version, bool const export_empty_pep_ids, bool const export_all_psms)
static MzTabProteinSectionRow proteinSectionRowFromProteinHit_(const ProteinHit &hit, const MzTabString &db, const MzTabString &db_version, const std::set< std::string > &protein_hit_user_value_keys)
static std::map< std::string, Size > mapIDRunIdentifier2IDRunIndex_(const std::vector< const ProteinIdentification * > &prot_ids)
static void addMetaInfoToOptionalColumns(const std::set< std::string > &keys, std::vector< MzTabOptionalColumnEntry > &opt, const std::string &id, const MetaInfoInterface &meta)
const MzTabNucleicAcidSectionRows & getNucleicAcidSectionRows() const
static MzTab exportFeatureMapToMzTab(const FeatureMap &feature_map, const std::string &filename)
static MzTab exportIdentificationsToMzTab(const std::vector< ProteinIdentification > &prot_ids, const PeptideIdentificationList &peptide_ids, const std::string &filename, bool first_run_inference_only, bool export_empty_pep_ids=false, bool export_all_psms=false, const std::string &title="ID export from OpenMS")
Export peptide and protein identifications to mzTab.
void setNucleicAcidSectionRows(const MzTabNucleicAcidSectionRows &nasd)
void setPeptideSectionRows(const MzTabPeptideSectionRows &psd)
static void addMSRunMetaData_(const std::map< size_t, std::string > &msrunindex_2_msfilename, MzTabMetaData &meta_data)
MzTabPSMSectionRows & getPSMSectionRows()
static size_t getQuantStudyVariables_(const ProteinIdentification &pid)
static std::map< Size, MzTabModificationMetaData > generateMzTabStringFromVariableModifications(const std::vector< std::string > &mods)
std::map< Size, std::string > comment_rows_
comments
Definition MzTab.h:893
static MzTabProteinSectionRow nextProteinSectionRowFromProteinGroup_(const ProteinIdentification::ProteinGroup &group, const MzTabString &db, const MzTabString &db_version)
static std::map< Size, std::set< Size > > mapGroupsToProteins_(const std::vector< ProteinIdentification::ProteinGroup > &groups, const std::vector< ProteinHit > &proteins)
void setCommentRows(const std::map< Size, std::string > &com)
void setSmallMoleculeSectionRows(const MzTabSmallMoleculeSectionRows &smsd)
void setProteinSectionRows(const MzTabProteinSectionRows &psd)
void setMetaData(const MzTabMetaData &md)
MzTabPSMSectionRows psm_data_
Definition MzTab.h:887
MzTabProteinSectionRows & getProteinSectionRows()
static MzTabParameter getMSRunSpectrumIdentifierType_(const std::vector< const PeptideIdentification * > &peptide_ids_)
MzTabPeptideSectionRows & getPeptideSectionRows()
~MzTab()=default
const MzTabSmallMoleculeSectionRows & getSmallMoleculeSectionRows() const
MzTabNucleicAcidSectionRows nucleic_acid_data_
Definition MzTab.h:889
const MzTabOligonucleotideSectionRows & getOligonucleotideSectionRows() const
static void getIdentificationMetaValues_(const std::vector< const ProteinIdentification * > &prot_ids, std::vector< const PeptideIdentification * > &peptide_ids_, std::set< std::string > &protein_hit_user_value_keys, std::set< std::string > &peptide_id_user_value_keys, std::set< std::string > &peptide_hit_user_value_keys)
std::vector< std::string > getPSMOptionalColumnNames() const
Extract opt_ (custom, optional column names)
MzTabProteinSectionRows protein_data_
Definition MzTab.h:885
static MzTabPeptideSectionRow peptideSectionRowFromConsensusFeature_(const ConsensusFeature &c, const ConsensusMap &consensus_map, const StringList &ms_runs, const Size n_assays, const Size n_study_variables, const std::set< std::string > &consensus_feature_user_value_keys, const std::set< std::string > &peptide_identifications_user_value_keys, const std::set< std::string > &peptide_hit_user_value_keys, const std::map< std::string, size_t > &idrun_2_run_index, const std::map< std::pair< size_t, size_t >, size_t > &map_run_fileidx_2_msfileidx, const std::map< std::pair< std::string, unsigned >, unsigned > &path_label_to_assay, const std::vector< Size > &assay_to_study_variable, const std::vector< std::vector< Size > > &study_variable_to_assays, const std::vector< std::string > &fixed_mods, bool export_subfeatures)
std::vector< std::string > getOligonucleotideOptionalColumnNames() const
Extract opt_ (custom, optional column names)
static void mapBetweenMSFileNameAndMSRunIndex_(const std::vector< const ProteinIdentification * > &prot_ids, bool skip_first, std::map< std::string, size_t > &msfilename_2_msrunindex, std::map< size_t, std::string > &msrunindex_2_msfilename)
static void getConsensusMapMetaValues_(const ConsensusMap &consensus_map, std::set< std::string > &consensus_feature_user_value_keys, std::set< std::string > &peptide_identification_user_value_keys, std::set< std::string > &peptide_hit_user_value_keys)
static void checkSequenceUniqueness_(const PeptideIdentificationList &curr_pep_ids)
void setEmptyRows(const std::vector< Size > &empty)
static std::map< Size, MzTabModificationMetaData > generateMzTabStringFromFixedModifications(const std::vector< std::string > &mods)
const MzTabPSMSectionRows & getPSMSectionRows() const
std::vector< std::string > getOSMOptionalColumnNames() const
Extract opt_ (custom, optional column names)
MzTabPeptideSectionRows peptide_data_
Definition MzTab.h:886
MzTab()=default
Default constructor.
MzTabMetaData meta_data_
Definition MzTab.h:884
const MzTabPeptideSectionRows & getPeptideSectionRows() const
const MzTabOSMSectionRows & getOSMSectionRows() const
std::vector< std::string > getProteinOptionalColumnNames() const
Extract opt_ (custom, optional column names)
static MzTab exportConsensusMapToMzTab(const ConsensusMap &consensus_map, const std::string &filename, const bool first_run_inference_only, const bool export_unidentified_features, const bool export_unassigned_ids, const bool export_subfeatures, const bool export_empty_pep_ids=false, const bool export_all_psms=false, const std::string &title="ConsensusMap export from OpenMS")
export linked peptide features aka consensus map
const MzTabMetaData & getMetaData() const
void setPSMSectionRows(const MzTabPSMSectionRows &psd)
void setOSMSectionRows(const MzTabOSMSectionRows &osd)
const std::vector< Size > & getEmptyRows() const
Represents a single spectrum match (candidate) for a specific tandem mass spectrum (MS/MS).
Definition PeptideHit.h:52
Container for peptide identifications from multiple spectra.
Definition PeptideIdentificationList.h:66
Represents the set of candidates (SpectrumMatches) identified for a single precursor spectrum.
Definition PeptideIdentification.h:66
Representation of a protein hit.
Definition ProteinHit.h:34
Bundles multiple (e.g. indistinguishable) proteins in a group.
Definition ProteinIdentification.h:73
Representation of a protein identification run.
Definition ProteinIdentification.h:55
Representation of a modification on an amino acid residue.
Definition ResidueModification.h:55
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition Types.h:97
std::vector< std::string > StringList
Vector of String.
Definition TypeAliases.h:39
Main OpenMS namespace.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19
MzTabInteger taxid
NEWT taxonomy for the species.
Definition MzTab.h:319
MzTabInteger end
Definition MzTab.h:389
MzTabSpectraRef spectra_ref
Spectra identifying the peptide.
Definition MzTab.h:236
MzTabDouble calc_mass_to_charge
Precursor ion’s m/z.
Definition MzTab.h:316
std::vector< MzTabPSMSectionRow > MzTabPSMSectionRows
Definition MzTab.h:441
std::map< Size, MzTabDouble > smallmolecule_abundance_assay
Definition MzTab.h:330
MzTabString position
Definition MzTab.h:90
MzTabString modifications
Modifications identified on the small molecule.
Definition MzTab.h:329
MzTabString sequence
The peptide’s sequence.
Definition MzTab.h:221
std::map< Size, MzTabInteger > num_oligos_distinct_ms_run
Definition MzTab.h:351
MzTabDoubleList retention_time
Time points in seconds. Semantics may vary.
Definition MzTab.h:231
MzTabDoubleList retention_time_window
Definition MzTab.h:232
MzTabParameterList fragmentation_method
Definition MzTab.h:106
std::vector< int > sample_refs
Definition MzTab.h:112
MzTabParameter format
Definition MzTab.h:103
std::map< Size, MzTabDouble > smallmolecule_abundance_std_error_study_variable
Definition MzTab.h:333
std::vector< MzTabProteinSectionRow > MzTabProteinSectionRows
Definition MzTab.h:439
std::map< Size, MzTabDouble > best_search_engine_score
Search engine(s) score(s) for the peptide.
Definition MzTab.h:227
MzTabString smiles
Molecular structure in SMILES format.
Definition MzTab.h:312
MzTabBoolean unique
0=false, 1=true, null else: Peptide is unique for the protein.
Definition MzTab.h:223
MzTabString uri
Location of the PSMs source entry.
Definition MzTab.h:235
std::vector< int > assay_refs
Definition MzTab.h:111
MzTabModificationList modifications
Modifications identified in the peptide.
Definition MzTab.h:230
MzTabParameter id_format
Definition MzTab.h:105
MzTabInteger charge
Precursor ion’s charge.
Definition MzTab.h:233
std::map< Size, MzTabDouble > smallmolecule_abundance_stdev_study_variable
Definition MzTab.h:332
MzTabString database_version
Version (and optionally # of entries).
Definition MzTab.h:225
std::map< Size, MzTabModificationMetaData > quantification_mod
Definition MzTab.h:96
MzTabString description
Definition MzTab.h:113
MzTabStringList identifier
The small molecule’s identifier.
Definition MzTab.h:310
std::vector< MzTabPeptideSectionRow > MzTabPeptideSectionRows
Definition MzTab.h:440
std::map< Size, std::map< Size, MzTabDouble > > search_engine_score_ms_run
Definition MzTab.h:228
MzTabString accession
The protein’s accession.
Definition MzTab.h:222
MzTabStringList ambiguity_members
Alternative nucleic acid identifications.
Definition MzTab.h:353
MzTabDouble mass_to_charge
Precursor ion’s m/z.
Definition MzTab.h:234
MzTabDouble coverage
(0-1) Fraction of nucleic acid sequence identified.
Definition MzTab.h:358
MzTabParameter modification
Definition MzTab.h:88
std::map< Size, MzTabInteger > num_oligos_unique_ms_run
Definition MzTab.h:352
MzTabInteger start
Definition MzTab.h:388
std::map< Size, MzTabDouble > peptide_abundance_std_error_study_variable
Definition MzTab.h:240
MzTabString site
Definition MzTab.h:89
MzTabString inchi_key
InChi Key of the identified compound.
Definition MzTab.h:313
MzTabParameter quantification_reagent
Definition MzTab.h:95
MzTabString location
Definition MzTab.h:104
std::vector< MzTabOSMSectionRow > MzTabOSMSectionRows
Definition MzTab.h:445
MzTabInteger reliability
(1-3) 0=null Identification reliability for the peptide.
Definition MzTab.h:229
std::vector< int > ms_run_ref
Definition MzTab.h:98
std::map< Size, MzTabInteger > num_osms_ms_run
Definition MzTab.h:350
std::map< Size, MzTabDouble > search_engine_score
Search engine(s) score(s) for the match.
Definition MzTab.h:412
MzTabStringList go_terms
List of GO terms for the nucleic acid.
Definition MzTab.h:357
MzTabString pre
Definition MzTab.h:386
MzTabDouble exp_mass_to_charge
Precursor ion’s m/z.
Definition MzTab.h:315
std::map< Size, MzTabDouble > peptide_abundance_study_variable
Definition MzTab.h:238
std::map< Size, MzTabDouble > smallmolecule_abundance_study_variable
Definition MzTab.h:331
std::vector< MzTabOptionalColumnEntry > opt_
Optional columns must start with “opt_”.
Definition MzTab.h:241
std::vector< MzTabOligonucleotideSectionRow > MzTabOligonucleotideSectionRows
Definition MzTab.h:444
MzTabParameterList search_engine
Search engine(s) that identified the peptide.
Definition MzTab.h:226
MzTabString post
Definition MzTab.h:387
std::map< Size, MzTabDouble > peptide_abundance_stdev_study_variable
Definition MzTab.h:239
std::map< Size, MzTabDouble > peptide_abundance_assay
Definition MzTab.h:237
MzTabString chemical_formula
Chemical formula of the identified compound.
Definition MzTab.h:311
MzTabString sample_ref
Definition MzTab.h:97
std::vector< MzTabSmallMoleculeSectionRow > MzTabSmallMoleculeSectionRows
Definition MzTab.h:442
MzTabString species
Human readable name of the species.
Definition MzTab.h:320
std::vector< MzTabNucleicAcidSectionRow > MzTabNucleicAcidSectionRows
Definition MzTab.h:443
MzTabString database
Name of the sequence database.
Definition MzTab.h:224
Definition MzTab.h:94
Definition MzTab.h:102
NUC - Nucleic acid section (table-based)
Definition MzTab.h:339
OSM - OSM (oligonucleotide-spectrum match) section (table-based)
Definition MzTab.h:409
OLI - Oligonucleotide section (table-based)
Definition MzTab.h:374
PEP - Peptide section (Table based)
Definition MzTab.h:220
SML Small molecule section (table based)
Definition MzTab.h:309
Comparison operator for sorting rows.
Definition MzTab.h:363
bool operator()(const MzTabNucleicAcidSectionRow &row1, const MzTabNucleicAcidSectionRow &row2) const
Definition MzTab.h:364
Comparison operator for sorting rows.
Definition MzTab.h:425
bool operator()(const MzTabOSMSectionRow &row1, const MzTabOSMSectionRow &row2) const
Definition MzTab.h:426
Comparison operator for sorting rows.
Definition MzTab.h:394
bool operator()(const MzTabOligonucleotideSectionRow &row1, const MzTabOligonucleotideSectionRow &row2) const
Definition MzTab.h:395
Comparison operator for sorting rows.
Definition MzTab.h:290
bool operator()(const MzTabPSMSectionRow &row1, const MzTabPSMSectionRow &row2) const
Definition MzTab.h:291
PSM - PSM section (Table based)
Definition MzTab.h:258
MzTabSpectraRef spectra_ref
Spectrum for this PSM.
Definition MzTab.h:274
MzTabDouble calc_mass_to_charge
The calculated m/z ratio of the experimental precursor ion.
Definition MzTab.h:272
MzTabString start
(List of) Start positions in parent protein(s)
Definition MzTab.h:277
MzTabString sequence
The peptide’s sequence.
Definition MzTab.h:259
MzTabDoubleList retention_time
Time points in seconds. Semantics may vary.
Definition MzTab.h:269
MzTabBoolean unique
0=false, 1=true, null else: Peptide is unique for the protein.
Definition MzTab.h:262
MzTabString uri
Location of the PSM’s source entry.
Definition MzTab.h:273
void addPepEvidenceToRows(const std::vector< PeptideEvidence > &peptide_evidences)
Gets peptide_evidences with data from internal structures adds their info to an MzTabPSMSectionRow (p...
MzTabModificationList modifications
Modifications identified in the peptide.
Definition MzTab.h:268
MzTabInteger charge
The charge of the experimental precursor ion.
Definition MzTab.h:270
MzTabString database_version
Version (and optionally # of entries).
Definition MzTab.h:264
MzTabString accession
List of potential parent protein accessions as in the fasta DB.
Definition MzTab.h:261
MzTabString end
(List of) Start positions in parent protein(s)
Definition MzTab.h:278
MzTabInteger reliability
(1-3) 0=null Identification reliability for the peptide.
Definition MzTab.h:267
std::map< Size, MzTabDouble > search_engine_score
Search engine(s) score(s) for the peptide.
Definition MzTab.h:266
MzTabString pre
(List of) Amino acid in parent protein(s) before the start of the current PSM
Definition MzTab.h:275
MzTabDouble exp_mass_to_charge
The observed m/z ratio of the experimental precursor ion (either directly from the raw data or correc...
Definition MzTab.h:271
std::vector< MzTabOptionalColumnEntry > opt_
Optional columns must start with “opt_”.
Definition MzTab.h:279
MzTabParameterList search_engine
Search engine(s) that identified the peptide.
Definition MzTab.h:265
MzTabString post
(List of) Amino acid in parent protein(s) after the start of the current PSM
Definition MzTab.h:276
MzTabInteger PSM_ID
A unique ID of a PSM line.
Definition MzTab.h:260
MzTabString database
Name of the sequence database.
Definition MzTab.h:263
Comparison operator for sorting rows.
Definition MzTab.h:246
bool operator()(const MzTabPeptideSectionRow &row1, const MzTabPeptideSectionRow &row2) const
Definition MzTab.h:247
Comparison operator for sorting rows.
Definition MzTab.h:209
bool operator()(const MzTabProteinSectionRow &row1, const MzTabProteinSectionRow &row2) const
Definition MzTab.h:210
PRT - Protein section (Table based)
Definition MzTab.h:181
MzTabInteger taxid
NEWT taxonomy for the species.
Definition MzTab.h:185
std::map< Size, MzTabDouble > protein_abundance_assay
Definition MzTab.h:201
std::map< Size, MzTabDouble > best_search_engine_score
best_search_engine_score[1-n]
Definition MzTab.h:190
MzTabString uri
Location of the protein’s source entry.
Definition MzTab.h:198
std::map< Size, MzTabDouble > protein_abundance_std_error_study_variable
Definition MzTab.h:204
MzTabModificationList modifications
Modifications identified in the protein.
Definition MzTab.h:197
MzTabString database_version
std::string Version of the protein database.
Definition MzTab.h:188
MzTabString description
Human readable description (i.e. the name)
Definition MzTab.h:184
std::map< Size, MzTabInteger > num_peptides_distinct_ms_run
Definition MzTab.h:194
std::map< Size, MzTabDouble > protein_abundance_study_variable
Definition MzTab.h:202
std::map< Size, std::map< Size, MzTabDouble > > search_engine_score_ms_run
search_engine_score[index1]_ms_run[index2]
Definition MzTab.h:191
MzTabString accession
The protein’s accession.
Definition MzTab.h:183
MzTabStringList ambiguity_members
Alternative protein identifications.
Definition MzTab.h:196
MzTabDouble coverage
(0-1) Amount of protein sequence identified.
Definition MzTab.h:200
MzTabInteger reliability
Definition MzTab.h:192
std::map< Size, MzTabInteger > num_psms_ms_run
Definition MzTab.h:193
MzTabStringList go_terms
List of GO terms for the protein.
Definition MzTab.h:199
std::map< Size, MzTabInteger > num_peptides_unique_ms_run
Definition MzTab.h:195
std::map< Size, MzTabDouble > protein_abundance_stdev_study_variable
Definition MzTab.h:203
std::vector< MzTabOptionalColumnEntry > opt_
Optional Columns must start with “opt_”
Definition MzTab.h:205
MzTabParameterList search_engine
Search engine(s) identifying the protein.
Definition MzTab.h:189
MzTabString species
Human readable name of the species.
Definition MzTab.h:186
MzTabString database
Name of the protein database.
Definition MzTab.h:187