OpenMS  3.0.0
MzTab.h
Go to the documentation of this file.
1 // --------------------------------------------------------------------------
2 // OpenMS -- Open-Source Mass Spectrometry
3 // --------------------------------------------------------------------------
4 // Copyright The OpenMS Team -- Eberhard Karls University Tuebingen,
5 // ETH Zurich, and Freie Universitaet Berlin 2002-2022.
6 //
7 // This software is released under a three-clause BSD license:
8 // * Redistributions of source code must retain the above copyright
9 // notice, this list of conditions and the following disclaimer.
10 // * Redistributions in binary form must reproduce the above copyright
11 // notice, this list of conditions and the following disclaimer in the
12 // documentation and/or other materials provided with the distribution.
13 // * Neither the name of any author or any participating institution
14 // may be used to endorse or promote products derived from this software
15 // without specific prior written permission.
16 // For a full list of authors, refer to the file AUTHORS.
17 // --------------------------------------------------------------------------
18 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 // ARE DISCLAIMED. IN NO EVENT SHALL ANY OF THE AUTHORS OR THE CONTRIBUTING
22 // INSTITUTIONS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
25 // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
26 // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
27 // OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
28 // ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 //
30 // --------------------------------------------------------------------------
31 // $Maintainer: Timo Sachsenberg $
32 // $Authors: Timo Sachsenberg $
33 // --------------------------------------------------------------------------
34 
35 #pragma once
36 
44 
45 #include <optional>
46 
47 #pragma clang diagnostic push
48 #pragma clang diagnostic ignored "-Wnon-virtual-dtor"
49 
50 namespace OpenMS
51 {
60  class OPENMS_DLLAPI MzTabModification
61  {
62 public:
64 
65  bool isNull() const;
66 
67  void setNull(bool b);
68 
70  void setPositionsAndParameters(const std::vector<std::pair<Size, MzTabParameter> >& ppp);
71 
72  std::vector<std::pair<Size, MzTabParameter> > getPositionsAndParameters() const;
73 
74  void setModificationIdentifier(const MzTabString& mod_id);
75 
76  MzTabString getModOrSubstIdentifier() const;
77 
78  String toCellString() const;
79 
80  void fromCellString(const String& s);
81 
82  ~MzTabModification() = default;
83 protected:
84  std::vector<std::pair<Size, MzTabParameter> > pos_param_pairs_;
86  };
87 
88  class OPENMS_DLLAPI MzTabModificationList
89  {
90 public:
91  bool isNull() const;
92 
93  void setNull(bool b);
94 
95  String toCellString() const;
96 
97  void fromCellString(const String& s);
98 
99  std::vector<MzTabModification> get() const;
100 
101  void set(const std::vector<MzTabModification>& entries);
102 
103  ~MzTabModificationList() = default;
104 protected:
105  std::vector<MzTabModification> entries_;
106  };
107 
108 // MTD
109  struct OPENMS_DLLAPI MzTabModificationMetaData
110  {
114  };
115 
116  struct OPENMS_DLLAPI MzTabAssayMetaData
117  {
119  std::map<Size, MzTabModificationMetaData> quantification_mod;
121  std::vector<int> ms_run_ref; // adapted to address https://github.com/HUPO-PSI/mzTab/issues/26
122  };
123 
124  struct OPENMS_DLLAPI MzTabMSRunMetaData
125  {
130  };
131 
132  struct OPENMS_DLLAPI MzTabStudyVariableMetaData
133  {
134  std::vector<int> assay_refs;
135  std::vector<int> sample_refs;
137  };
138 
140  class OPENMS_DLLAPI MzTabMetaData
141  {
142 public:
143  MzTabMetaData();
144 
151 
152  std::map<Size, MzTabParameter> protein_search_engine_score;
153  std::map<Size, MzTabParameter> peptide_search_engine_score;
154  std::map<Size, MzTabParameter> psm_search_engine_score;
155  std::map<Size, MzTabParameter> smallmolecule_search_engine_score;
156  std::map<Size, MzTabParameter> nucleic_acid_search_engine_score;
157  std::map<Size, MzTabParameter> oligonucleotide_search_engine_score;
158  std::map<Size, MzTabParameter> osm_search_engine_score;
159 
160  std::map<Size, MzTabParameterList> sample_processing;
161 
162  std::map<Size, MzTabInstrumentMetaData> instrument;
163 
164  std::map<Size, MzTabSoftwareMetaData> software;
165 
167 
168  std::map<Size, MzTabString> publication;
169 
170  std::map<Size, MzTabContactMetaData> contact;
171 
172  std::map<Size, MzTabString> uri;
173 
174  std::map<Size, MzTabModificationMetaData> fixed_mod;
175 
176  std::map<Size, MzTabModificationMetaData> variable_mod;
177 
179 
183 
184  std::map<Size, MzTabMSRunMetaData> ms_run;
185 
186  std::map<Size, MzTabParameter> custom;
187 
188  std::map<Size, MzTabSampleMetaData> sample;
189 
190  std::map<Size, MzTabAssayMetaData> assay;
191 
192  std::map<Size, MzTabStudyVariableMetaData> study_variable;
193 
194  std::map<Size, MzTabCVMetaData> cv;
195 
196  std::vector<String> colunit_protein;
197  std::vector<String> colunit_peptide;
198  std::vector<String> colunit_psm;
199  std::vector<String> colunit_small_molecule;
200  };
201 
203  struct OPENMS_DLLAPI MzTabProteinSectionRow
204  {
213  std::map<Size, MzTabDouble> best_search_engine_score;
214  std::map<Size, std::map<Size, MzTabDouble> > search_engine_score_ms_run;
216  std::map<Size, MzTabInteger> num_psms_ms_run;
217  std::map<Size, MzTabInteger> num_peptides_distinct_ms_run;
218  std::map<Size, MzTabInteger> num_peptides_unique_ms_run;
224  std::map<Size, MzTabDouble> protein_abundance_assay;
225  std::map<Size, MzTabDouble> protein_abundance_study_variable;
226  std::map<Size, MzTabDouble> protein_abundance_stdev_study_variable;
227  std::map<Size, MzTabDouble> protein_abundance_std_error_study_variable;
228  std::vector<MzTabOptionalColumnEntry> opt_;
229 
231  struct RowCompare
232  {
234  const MzTabProteinSectionRow& row2) const
235  {
236  return row1.accession.get() < row2.accession.get();
237  }
238  };
239  };
240 
242  struct OPENMS_DLLAPI MzTabPeptideSectionRow
243  {
250  std::map<Size, MzTabDouble> best_search_engine_score;
251  std::map<Size, std::map<Size, MzTabDouble> > search_engine_score_ms_run;
260  std::map<Size, MzTabDouble> peptide_abundance_assay;
261  std::map<Size, MzTabDouble> peptide_abundance_study_variable;
262  std::map<Size, MzTabDouble> peptide_abundance_stdev_study_variable;
263  std::map<Size, MzTabDouble> peptide_abundance_std_error_study_variable;
264  std::vector<MzTabOptionalColumnEntry> opt_;
265 
266 
268  struct RowCompare
269  {
271  const MzTabPeptideSectionRow& row2) const
272  {
273  return (std::make_pair(row1.sequence.get(), row1.accession.get()) <
274  std::make_pair(row2.sequence.get(), row2.accession.get()));
275  }
276  };
277  };
278 
280  struct OPENMS_DLLAPI MzTabPSMSectionRow
281  {
289  std::map<Size, MzTabDouble> search_engine_score;
302  std::vector<MzTabOptionalColumnEntry> opt_;
303 
310  void addPepEvidenceToRows(const std::vector<PeptideEvidence>& peptide_evidences);
312  struct RowCompare
313  {
314  bool operator()(const MzTabPSMSectionRow& row1,
315  const MzTabPSMSectionRow& row2) const
316  {
317  // @TODO: sort by "PSM_ID"? what's the point of that field?
318  return (std::make_tuple(row1.sequence.get(),
319  row1.spectra_ref.getMSFile(),
320  row1.spectra_ref.getSpecRef(),
321  row1.accession.get()) <
322  std::make_tuple(row2.sequence.get(),
323  row2.spectra_ref.getMSFile(),
324  row2.spectra_ref.getSpecRef(),
325  row2.accession.get()));
326  }
327  };
328  };
329 
331  struct OPENMS_DLLAPI MzTabSmallMoleculeSectionRow
332  {
350  std::map<Size, MzTabDouble> best_search_engine_score;
351  std::map<Size, std::map<Size, MzTabDouble> > search_engine_score_ms_run;
353  std::map<Size, MzTabDouble> smallmolecule_abundance_assay;
354  std::map<Size, MzTabDouble> smallmolecule_abundance_study_variable;
355  std::map<Size, MzTabDouble> smallmolecule_abundance_stdev_study_variable;
357  std::vector<MzTabOptionalColumnEntry> opt_;
358  };
359 
361  struct OPENMS_DLLAPI MzTabNucleicAcidSectionRow
362  {
370  std::map<Size, MzTabDouble> best_search_engine_score;
371  std::map<Size, std::map<Size, MzTabDouble> > search_engine_score_ms_run;
373  std::map<Size, MzTabInteger> num_osms_ms_run;
374  std::map<Size, MzTabInteger> num_oligos_distinct_ms_run;
375  std::map<Size, MzTabInteger> num_oligos_unique_ms_run;
379  // do GO terms make sense for nucleic acid sequences?
382  std::vector<MzTabOptionalColumnEntry> opt_;
383 
385  struct RowCompare
386  {
388  const MzTabNucleicAcidSectionRow& row2) const
389  {
390  return row1.accession.get() < row2.accession.get();
391  }
392  };
393  };
394 
396  struct OPENMS_DLLAPI MzTabOligonucleotideSectionRow
397  {
402  std::map<Size, MzTabDouble> best_search_engine_score;
403  std::map<Size, std::map<Size, MzTabDouble>> search_engine_score_ms_run;
413  std::vector<MzTabOptionalColumnEntry> opt_;
414 
416  struct RowCompare
417  {
419  const MzTabOligonucleotideSectionRow& row2) const
420  {
421  return (std::make_tuple(row1.sequence.get(), row1.accession.get(),
422  row1.start.get(), row1.end.get()) <
423  std::make_tuple(row2.sequence.get(), row2.accession.get(),
424  row2.start.get(), row2.end.get()));
425  }
426  };
427 
428  };
429 
431  struct OPENMS_DLLAPI MzTabOSMSectionRow
432  {
435  std::map<Size, MzTabDouble> search_engine_score;
444  std::vector<MzTabOptionalColumnEntry> opt_;
445 
447  struct RowCompare
448  {
449  bool operator()(const MzTabOSMSectionRow& row1,
450  const MzTabOSMSectionRow& row2) const
451  {
452  return (std::make_tuple(row1.sequence.get(),
453  row1.spectra_ref.getMSFile(),
454  row1.spectra_ref.getSpecRef()) <
455  std::make_tuple(row2.sequence.get(),
456  row2.spectra_ref.getMSFile(),
457  row2.spectra_ref.getSpecRef()));
458  }
459  };
460  };
461 
462  typedef std::vector<MzTabProteinSectionRow> MzTabProteinSectionRows;
463  typedef std::vector<MzTabPeptideSectionRow> MzTabPeptideSectionRows;
464  typedef std::vector<MzTabPSMSectionRow> MzTabPSMSectionRows;
465  typedef std::vector<MzTabSmallMoleculeSectionRow> MzTabSmallMoleculeSectionRows;
466  typedef std::vector<MzTabNucleicAcidSectionRow> MzTabNucleicAcidSectionRows;
467  typedef std::vector<MzTabOligonucleotideSectionRow> MzTabOligonucleotideSectionRows;
468  typedef std::vector<MzTabOSMSectionRow> MzTabOSMSectionRows;
469 
470 
477  class OPENMS_DLLAPI MzTab : public MzTabBase
478  {
479  public:
481  MzTab() = default;
482  ~MzTab() = default;
483 
484  const MzTabMetaData& getMetaData() const;
485 
486  void setMetaData(const MzTabMetaData& md);
487 
488  MzTabProteinSectionRows& getProteinSectionRows();
489 
490  const MzTabProteinSectionRows& getProteinSectionRows() const;
491 
492  void setProteinSectionRows(const MzTabProteinSectionRows& psd);
493 
494  MzTabPeptideSectionRows& getPeptideSectionRows();
495 
496  const MzTabPeptideSectionRows& getPeptideSectionRows() const;
497 
498  void setPeptideSectionRows(const MzTabPeptideSectionRows& psd);
499 
500  MzTabPSMSectionRows& getPSMSectionRows();
501 
502  const MzTabPSMSectionRows& getPSMSectionRows() const;
503 
504  void setPSMSectionRows(const MzTabPSMSectionRows& psd);
505 
506  const MzTabSmallMoleculeSectionRows& getSmallMoleculeSectionRows() const;
507 
508  void setSmallMoleculeSectionRows(const MzTabSmallMoleculeSectionRows& smsd);
509 
510  const MzTabNucleicAcidSectionRows& getNucleicAcidSectionRows() const;
511 
512  void setNucleicAcidSectionRows(const MzTabNucleicAcidSectionRows& nasd);
513 
514  const MzTabOligonucleotideSectionRows& getOligonucleotideSectionRows() const;
515 
516  void setOligonucleotideSectionRows(const MzTabOligonucleotideSectionRows& onsd);
517 
518  const MzTabOSMSectionRows& getOSMSectionRows() const;
519 
520  void setOSMSectionRows(const MzTabOSMSectionRows& osd);
521 
522  void setCommentRows(const std::map<Size, String>& com);
523 
524  void setEmptyRows(const std::vector<Size>& empty);
525 
526  const std::vector<Size>& getEmptyRows() const;
527 
528  const std::map<Size, String>& getCommentRows() const;
529 
531  std::vector<String> getProteinOptionalColumnNames() const;
532 
534  std::vector<String> getPeptideOptionalColumnNames() const;
535 
537  std::vector<String> getPSMOptionalColumnNames() const;
538 
540  std::vector<String> getSmallMoleculeOptionalColumnNames() const;
541 
543  std::vector<String> getNucleicAcidOptionalColumnNames() const;
544 
546  std::vector<String> getOligonucleotideOptionalColumnNames() const;
547 
548  static void addMetaInfoToOptionalColumns(const std::set<String>& keys, std::vector<MzTabOptionalColumnEntry>& opt, const String& id, const MetaInfoInterface& meta);
549 
551  std::vector<String> getOSMOptionalColumnNames() const;
552 
553  static std::map<Size, MzTabModificationMetaData> generateMzTabStringFromModifications(const std::vector<String>& mods);
554 
555  static std::map<Size, MzTabModificationMetaData> generateMzTabStringFromVariableModifications(const std::vector<String>& mods);
556 
557  static std::map<Size, MzTabModificationMetaData> generateMzTabStringFromFixedModifications(const std::vector<String>& mods);
558 
559  static MzTab exportFeatureMapToMzTab(const FeatureMap& feature_map, const String& filename);
560 
575  static MzTab exportIdentificationsToMzTab(
576  const std::vector<ProteinIdentification>& prot_ids,
577  const std::vector<PeptideIdentification>& peptide_ids,
578  const String& filename,
579  bool first_run_inference_only,
580  bool export_empty_pep_ids = false,
581  bool export_all_psms = false,
582  const String& title = "ID export from OpenMS");
583 
584 
589  static MzTabModificationList extractModificationList(const PeptideHit& pep_hit, const std::vector<String>& fixed_mods, const std::vector<String>& localization_mods);
590 
603  static MzTab exportConsensusMapToMzTab(
604  const ConsensusMap& consensus_map,
605  const String& filename,
606  const bool first_run_inference_only,
607  const bool export_unidentified_features,
608  const bool export_unassigned_ids,
609  const bool export_subfeatures,
610  const bool export_empty_pep_ids = false,
611  const bool export_all_psms = false,
612  const String& title = "ConsensusMap export from OpenMS");
613 
615  {
616  public:
618  const std::vector<const ProteinIdentification*>& prot_ids,
619  const std::vector<const PeptideIdentification*>& peptide_ids,
620  const String& filename,
621  bool first_run_inference_only,
622  bool export_empty_pep_ids = false,
623  bool export_all_psms = false,
624  const String& title = "ID export from OpenMS");
625 
626  const MzTabMetaData& getMetaData() const;
627 
628  const std::vector<String>& getProteinOptionalColumnNames() const;
629  const std::vector<String>& getPeptideOptionalColumnNames() const;
630  const std::vector<String>& getPSMOptionalColumnNames() const;
631 
632  bool nextPRTRow(MzTabProteinSectionRow& row);
633  bool nextPEPRow(MzTabPeptideSectionRow& row);
634  bool nextPSMRow(MzTabPSMSectionRow& row);
635  private:
637  std::set<String> peptide_id_user_value_keys_;
639 
640  // beautiful mapping structs
641  std::map<Size, std::set<Size>> ind2prot_;
642  std::map<Size, std::set<Size>> pg2prot_;
643  std::map<String, size_t> idrunid_2_idrunindex_;
644  std::map<Size, std::vector<std::pair<String, String>>> run_to_search_engines_;
645  std::map<Size, std::vector<std::vector<std::pair<String, String>>>> run_to_search_engines_settings_;
646  std::map<std::pair<size_t,size_t>,size_t> map_id_run_fileidx_2_msfileidx_;
647  std::map<std::pair< String, unsigned >, unsigned> path_label_to_assay_;
648 
649  std::vector<const ProteinIdentification*> prot_ids_;
650  std::vector<const PeptideIdentification*> peptide_ids_;
651 
656  /* currently unused
657  bool export_unidentified_features_;
658  bool export_subfeatures_; */
661  size_t quant_study_variables_ = 0;
662  // size_t n_study_variables_ = 0; //currently unused
663  size_t PRT_STATE_ = 0;
664  size_t prt_run_id_ = 0; // current (protein) identification run
665  size_t prt_hit_id_ = 0; // current protein in (protein) identification run
666  size_t prt_group_id_ = 0;
667  size_t prt_indistgroup_id_ = 0;
668  size_t pep_id_ = 0;
669  size_t psm_id_ = 0;
670  size_t current_psm_idx_ = 0;
672 
673  std::vector<String> prt_optional_column_names_;
674  std::vector<String> pep_optional_column_names_;
675  std::vector<String> psm_optional_column_names_;
676 
678  };
679 
681  {
682  public:
684  const ConsensusMap& consensus_map,
685  const String& filename,
686  const bool first_run_inference_only,
687  const bool export_unidentified_features,
688  const bool export_unassigned_ids,
689  const bool export_subfeatures,
690  const bool export_empty_pep_ids = false,
691  const bool export_all_psms = false,
692  const String& title = "ConsensusMap export from OpenMS");
693 
694  const MzTabMetaData& getMetaData() const;
695 
696  const std::vector<String>& getProteinOptionalColumnNames() const;
697  const std::vector<String>& getPeptideOptionalColumnNames() const;
698  const std::vector<String>& getPSMOptionalColumnNames() const;
699 
700  bool nextPRTRow(MzTabProteinSectionRow& row);
701  bool nextPEPRow(MzTabPeptideSectionRow& row);
702  bool nextPSMRow(MzTabPSMSectionRow& row);
703 
704  private:
709 
710  // beautiful mapping structs
711  std::map<Size, std::set<Size>> ind2prot_;
712  std::map<Size, std::set<Size>> pg2prot_;
713  std::map<String, size_t> idrunid_2_idrunindex_;
714  std::map<Size, std::vector<std::pair<String, String>>> run_to_search_engines_;
715  std::map<Size, std::vector<std::vector<std::pair<String, String>>>> run_to_search_engines_settings_;
716  std::map<std::pair<size_t,size_t>,size_t> map_id_run_fileidx_2_msfileidx_;
717  std::map<std::pair< String, unsigned >, unsigned> path_label_to_assay_;
718 
719  std::vector<const ProteinIdentification*> prot_ids_;
720  std::vector<const PeptideIdentification*> peptide_ids_;
721 
730  size_t quant_study_variables_ = 0;
731  size_t n_study_variables_ = 0;
732  size_t PRT_STATE_ = 0;
733  size_t prt_run_id_ = 0; // current (protein) identification run
734  size_t prt_hit_id_ = 0; // current protein in (protein) identification run
735  size_t prt_group_id_ = 0;
736  size_t prt_indistgroup_id_ = 0;
737  size_t pep_id_ = 0;
738  size_t pep_counter_ = 0;
739  size_t psm_id_ = 0;
740  size_t current_psm_idx_ = 0;
742 
743  std::vector<String> prt_optional_column_names_;
744  std::vector<String> pep_optional_column_names_;
745  std::vector<String> psm_optional_column_names_;
746 
748  };
749 
750 
751  protected:
752  // extract basic mappings
753 
754  static std::map<String, Size> mapIDRunIdentifier2IDRunIndex_(const std::vector<const ProteinIdentification*>& prot_ids);
755 
756  static std::optional<MzTabPSMSectionRow> PSMSectionRowFromPeptideID_(
757  PeptideIdentification const& pid,
758  std::vector<ProteinIdentification const*> const& prot_id,
759  std::map<String, size_t>& idrun_2_run_index,
760  std::map<std::pair<size_t, size_t>, size_t>& map_run_fileidx_2_msfileidx,
761  std::map<Size, std::vector<std::pair<String, String>>>& run_to_search_engines,
762  Size const current_psm_idx,
763  Size const psm_id,
764  MzTabString const& db,
765  MzTabString const& db_version,
766  bool const export_empty_pep_ids,
767  bool const export_all_psms);
768 
769  static MzTabPeptideSectionRow peptideSectionRowFromConsensusFeature_(
770  const ConsensusFeature& c,
771  const ConsensusMap& consensus_map,
772  const StringList& ms_runs,
773  const Size n_study_variables,
774  const std::set<String>& consensus_feature_user_value_keys,
775  const std::set<String>& peptide_hit_user_value_keys,
776  const std::map<String, size_t>& idrun_2_run_index,
777  const std::map<std::pair<size_t,size_t>,size_t>& map_run_fileidx_2_msfileidx,
778  const std::map< std::pair< String, unsigned >, unsigned>& path_label_to_assay,
779  const std::vector<String>& fixed_mods,
780  bool export_subfeatures);
781 
782  static MzTabPeptideSectionRow peptideSectionRowFromFeature_(
783  const Feature& c,
784  const std::set<String>& feature_user_value_keys,
785  const std::set<String>& peptide_hit_user_value_keys,
786  const std::vector<String>& fixed_mods);
787 
788  static MzTabProteinSectionRow proteinSectionRowFromProteinHit_(
789  const ProteinHit& hit,
790  const MzTabString& db,
791  const MzTabString& db_version,
792  const std::set<String>& protein_hit_user_value_keys);
793 
794  static MzTabProteinSectionRow nextProteinSectionRowFromProteinGroup_(
796  const MzTabString& db,
797  const MzTabString& db_version);
798 
799  static MzTabProteinSectionRow nextProteinSectionRowFromIndistinguishableGroup_(
800  const std::vector<ProteinHit>& protein_hits,
802  const size_t g,
803  const std::map<Size, std::set<Size>>& ind2prot,
804  const MzTabString& db,
805  const MzTabString& db_version);
806 
807  static void addMSRunMetaData_(
808  const std::map<size_t, String>& msrunindex_2_msfilename,
809  MzTabMetaData& meta_data);
810 
811  static void mapBetweenMSFileNameAndMSRunIndex_(
812  const std::vector<const ProteinIdentification*>& prot_ids,
813  bool skip_first,
814  std::map<String, size_t>& msfilename_2_msrunindex,
815  std::map<size_t, String>& msrunindex_2_msfilename);
816 
817  static size_t getQuantStudyVariables_(const ProteinIdentification& pid);
818 
819  static MzTabParameter getProteinScoreType_(const ProteinIdentification& prot_id);
820 
821  // TODO: move to core classes?
822  static void getConsensusMapMetaValues_(const ConsensusMap& consensus_map, std::set<String>& consensus_feature_user_value_keys, std::set<String>& peptide_hit_user_value_keys);
823 
824  static void getFeatureMapMetaValues_(const FeatureMap& feature_map, std::set<String>& feature_user_value_keys, std::set<String>& peptide_hit_user_value_keys);
825 
826  static void getIdentificationMetaValues_(
827  const std::vector<const ProteinIdentification*>& prot_ids,
828  std::vector<const PeptideIdentification*>& peptide_ids_,
829  std::set<String>& protein_hit_user_value_keys,
830  std::set<String>& peptide_id_user_value_keys,
831  std::set<String>& peptide_hit_user_value_keys);
832 
833  // determine spectrum reference identifier type (e.g., Thermo nativeID) from spectrum references
834  static MzTabParameter getMSRunSpectrumIdentifierType_(const std::vector<const PeptideIdentification*>& peptide_ids_);
835 
836  static void mapBetweenRunAndSearchEngines_(
837  const std::vector<const ProteinIdentification*>& prot_ids,
838  const std::vector<const PeptideIdentification*>& pep_ids,
839  bool skip_first_run,
840  std::map<std::tuple<String, String, String>, std::set<Size>>& search_engine_to_runs,
841  std::map<Size, std::vector<std::pair<String, String>>>& run_to_search_engines,
842  std::map<Size, std::vector<std::vector<std::pair<String, String>>>>& run_to_search_engines_settings,
843  std::map<String, std::vector<std::pair<String, String>>>& search_engine_to_settings);
844 
845  static std::map<Size, std::set<Size>> mapGroupsToProteins_(
846  const std::vector<ProteinIdentification::ProteinGroup>& groups,
847  const std::vector<ProteinHit>& proteins);
848 
849  static void addSearchMetaData_(
850  const std::vector<const ProteinIdentification*>& prot_ids,
851  const std::map<std::tuple<String, String, String>, std::set<Size>>& search_engine_to_runs,
852  const std::map<String, std::vector<std::pair<String,String>>>& search_engine_to_settings,
853  MzTabMetaData& meta_data,
854  bool first_run_inference_only);
855 
856  static void mapIDRunFileIndex2MSFileIndex_(
857  const std::vector<const ProteinIdentification*>& prot_ids,
858  const std::map<String, size_t>& msfilename_2_msrunindex,
859  bool skip_first_run,
860  std::map<std::pair<size_t, size_t>, size_t>& map_run_fileidx_2_msfileidx);
861 
862  static void getSearchModifications_(
863  const std::vector<const ProteinIdentification*>& prot_ids,
864  StringList& var_mods,
865  StringList& fixed_mods);
866 
867  // create MzTab compatible modification identifier from ResidueModification
868  // If the Modification has a unimod identifier it will be prefixed as UNIMOD
869  // otherwise as CHEMMOD (see MzTab specification for details)
870  static MzTabString getModificationIdentifier_(const ResidueModification& r);
871 
872  static void checkSequenceUniqueness_(const std::vector<PeptideIdentification>& curr_pep_ids);
873 
882  std::vector<Size> empty_rows_;
883  std::map<Size, String> comment_rows_;
884  };
885 
886 } // namespace OpenMS
887 
888 #pragma clang diagnostic pop
OpenMS::MzTab::IDMzTabStream::meta_data_
MzTabMetaData meta_data_
Definition: MzTab.h:677
OpenMS::MzTabProteinSectionRow::search_engine_score_ms_run
std::map< Size, std::map< Size, MzTabDouble > > search_engine_score_ms_run
search_engine_score[index1]_ms_run[index2]
Definition: MzTab.h:214
OpenMS::MzTab::CMMzTabStream::prt_optional_column_names_
std::vector< String > prt_optional_column_names_
Definition: MzTab.h:743
OpenMS::MzTabMetaData::smallmolecule_search_engine_score
std::map< Size, MzTabParameter > smallmolecule_search_engine_score
Definition: MzTab.h:155
OpenMS::MzTabProteinSectionRow
PRT - Protein section (Table based)
Definition: MzTab.h:203
OpenMS::MzTabPeptideSectionRow::peptide_abundance_stdev_study_variable
std::map< Size, MzTabDouble > peptide_abundance_stdev_study_variable
Definition: MzTab.h:262
OpenMS::MzTabProteinSectionRow::protein_abundance_study_variable
std::map< Size, MzTabDouble > protein_abundance_study_variable
Definition: MzTab.h:225
OpenMS::MzTabAssayMetaData::sample_ref
MzTabString sample_ref
Definition: MzTab.h:120
OpenMS::MzTabPSMSectionRow::sequence
MzTabString sequence
The peptide’s sequence.
Definition: MzTab.h:282
OpenMS::MzTabOligonucleotideSectionRows
std::vector< MzTabOligonucleotideSectionRow > MzTabOligonucleotideSectionRows
Definition: MzTab.h:467
OpenMS::MzTabProteinSectionRow::num_peptides_unique_ms_run
std::map< Size, MzTabInteger > num_peptides_unique_ms_run
Definition: MzTab.h:218
OpenMS::MzTabPeptideSectionRow::uri
MzTabString uri
Location of the PSMs source entry.
Definition: MzTab.h:258
OpenMS::MzTabInteger::get
Int get() const
OpenMS::MzTab::IDMzTabStream::prot_ids_
std::vector< const ProteinIdentification * > prot_ids_
Definition: MzTab.h:649
OpenMS::MzTabProteinSectionRow::RowCompare
Comparison operator for sorting rows.
Definition: MzTab.h:231
OpenMS::MzTabPSMSectionRow::RowCompare
Comparison operator for sorting rows.
Definition: MzTab.h:312
OpenMS::MzTabMetaData::cv
std::map< Size, MzTabCVMetaData > cv
Definition: MzTab.h:194
OpenMS::MzTabPeptideSectionRow::unique
MzTabBoolean unique
0=false, 1=true, null else: Peptide is unique for the protein.
Definition: MzTab.h:246
OpenMS::MzTabOSMSectionRow::RowCompare
Comparison operator for sorting rows.
Definition: MzTab.h:447
OpenMS::ResidueModification
Representation of a modification on an amino acid residue.
Definition: ResidueModification.h:78
OpenMS::MzTabOligonucleotideSectionRow::RowCompare::operator()
bool operator()(const MzTabOligonucleotideSectionRow &row1, const MzTabOligonucleotideSectionRow &row2) const
Definition: MzTab.h:418
OpenMS::MzTabProteinSectionRow::accession
MzTabString accession
The protein’s accession.
Definition: MzTab.h:206
OpenMS::MzTabModification
Data model of MzTab files.
Definition: MzTab.h:60
OpenMS::MzTabSmallMoleculeSectionRow::smallmolecule_abundance_study_variable
std::map< Size, MzTabDouble > smallmolecule_abundance_study_variable
Definition: MzTab.h:354
OpenMS::MzTabMetaData::sample
std::map< Size, MzTabSampleMetaData > sample
Definition: MzTab.h:188
OpenMS::MzTabPeptideSectionRow::spectra_ref
MzTabSpectraRef spectra_ref
Spectra identifying the peptide.
Definition: MzTab.h:259
OpenMS::MzTabPSMSectionRows
std::vector< MzTabPSMSectionRow > MzTabPSMSectionRows
Definition: MzTab.h:464
OpenMS::MzTabModificationMetaData
Definition: MzTab.h:109
OpenMS::MzTabStudyVariableMetaData
Definition: MzTab.h:132
OpenMS::MzTab::CMMzTabStream::db_version_
MzTabString db_version_
Definition: MzTab.h:741
OpenMS::MzTabModification::mod_identifier_
MzTabString mod_identifier_
Definition: MzTab.h:85
OpenMS::MzTabSmallMoleculeSectionRow::exp_mass_to_charge
MzTabDouble exp_mass_to_charge
Precursor ion’s m/z.
Definition: MzTab.h:338
OpenMS::MzTabMetaData::mz_tab_type
MzTabString mz_tab_type
Definition: MzTab.h:147
OpenMS::MzTabPeptideSectionRow::peptide_abundance_study_variable
std::map< Size, MzTabDouble > peptide_abundance_study_variable
Definition: MzTab.h:261
OpenMS::MzTabPSMSectionRow::retention_time
MzTabDoubleList retention_time
Time points in seconds. Semantics may vary.
Definition: MzTab.h:292
OpenMS::MzTabProteinSectionRows
std::vector< MzTabProteinSectionRow > MzTabProteinSectionRows
Definition: MzTab.h:462
OpenMS::MzTabPeptideSectionRow::best_search_engine_score
std::map< Size, MzTabDouble > best_search_engine_score
Search engine(s) score(s) for the peptide.
Definition: MzTab.h:250
OpenMS::MzTabNucleicAcidSectionRows
std::vector< MzTabNucleicAcidSectionRow > MzTabNucleicAcidSectionRows
Definition: MzTab.h:466
OpenMS::MzTab::IDMzTabStream::pg2prot_
std::map< Size, std::set< Size > > pg2prot_
Definition: MzTab.h:642
OpenMS::MzTabModificationMetaData::site
MzTabString site
Definition: MzTab.h:112
OpenMS::String
A more convenient string class.
Definition: String.h:58
OpenMS::MzTab::CMMzTabStream::fixed_mods_
StringList fixed_mods_
Definition: MzTab.h:725
OpenMS::MzTabPeptideSectionRow
PEP - Peptide section (Table based)
Definition: MzTab.h:242
OpenMS::MzTabNucleicAcidSectionRow::RowCompare
Comparison operator for sorting rows.
Definition: MzTab.h:385
OpenMS::MzTabNucleicAcidSectionRow::num_oligos_unique_ms_run
std::map< Size, MzTabInteger > num_oligos_unique_ms_run
Definition: MzTab.h:375
OpenMS::MzTab::IDMzTabStream::peptide_id_user_value_keys_
std::set< String > peptide_id_user_value_keys_
Definition: MzTab.h:637
OpenMS::MzTabProteinSectionRow::coverage
MzTabDouble coverage
(0-1) Amount of protein sequence identified.
Definition: MzTab.h:223
OpenMS::MzTabMetaData::colunit_protein
std::vector< String > colunit_protein
Definition: MzTab.h:196
OpenMS::MzTab::IDMzTabStream::fixed_mods_
StringList fixed_mods_
Definition: MzTab.h:655
OpenMS::MzTabPeptideSectionRow::opt_
std::vector< MzTabOptionalColumnEntry > opt_
Optional columns must start with “opt_”.
Definition: MzTab.h:264
OpenMS::MzTabPeptideSectionRow::mass_to_charge
MzTabDouble mass_to_charge
Precursor ion’s m/z.
Definition: MzTab.h:257
OpenMS::MzTab::CMMzTabStream::consensus_feature_peptide_hit_user_value_keys_
std::set< String > consensus_feature_peptide_hit_user_value_keys_
Definition: MzTab.h:708
OpenMS::MzTabProteinSectionRow::uri
MzTabString uri
Location of the protein’s source entry.
Definition: MzTab.h:221
PeptideEvidence.h
ConsensusMap.h
OpenMS::MzTabMetaData::variable_mod
std::map< Size, MzTabModificationMetaData > variable_mod
Definition: MzTab.h:176
OpenMS::MzTabPeptideSectionRow::peptide_abundance_std_error_study_variable
std::map< Size, MzTabDouble > peptide_abundance_std_error_study_variable
Definition: MzTab.h:263
OpenMS::Size
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition: Types.h:127
OpenMS::ProteinHit
Representation of a protein hit.
Definition: ProteinHit.h:58
OpenMS::Constants::c
const double c
Definition: Constants.h:209
OpenMS::MzTabProteinSectionRow::best_search_engine_score
std::map< Size, MzTabDouble > best_search_engine_score
best_search_engine_score[1-n]
Definition: MzTab.h:213
OpenMS::MzTabMetaData::nucleic_acid_search_engine_score
std::map< Size, MzTabParameter > nucleic_acid_search_engine_score
Definition: MzTab.h:156
OpenMS::MzTabProteinSectionRow::description
MzTabString description
Human readable description (i.e. the name)
Definition: MzTab.h:207
OpenMS::MzTab
Data model of MzTab files. Please see the official MzTab specification at https://code....
Definition: MzTab.h:477
OpenMS::MzTab::CMMzTabStream::consensus_feature_user_value_keys_
std::set< String > consensus_feature_user_value_keys_
Definition: MzTab.h:707
OpenMS::MzTabPSMSectionRow::opt_
std::vector< MzTabOptionalColumnEntry > opt_
Optional columns must start with “opt_”.
Definition: MzTab.h:302
OpenMS::MzTabMetaData::uri
std::map< Size, MzTabString > uri
Definition: MzTab.h:172
OpenMS::MzTabMetaData::colunit_small_molecule
std::vector< String > colunit_small_molecule
Definition: MzTab.h:199
OpenMS::MzTabPeptideSectionRow::database_version
MzTabString database_version
Version (and optionally # of entries).
Definition: MzTab.h:248
OpenMS::MzTabMetaData::title
MzTabString title
Definition: MzTab.h:149
OpenMS::MzTabPSMSectionRow::database
MzTabString database
Name of the sequence database.
Definition: MzTab.h:286
OpenMS::MzTabMetaData::osm_search_engine_score
std::map< Size, MzTabParameter > osm_search_engine_score
Definition: MzTab.h:158
OpenMS::MzTab::IDMzTabStream::psm_optional_column_names_
std::vector< String > psm_optional_column_names_
Definition: MzTab.h:675
OpenMS::MzTabPeptideSectionRow::accession
MzTabString accession
The protein’s accession.
Definition: MzTab.h:245
OpenMS::MzTab::psm_data_
MzTabPSMSectionRows psm_data_
Definition: MzTab.h:877
OpenMS::MzTab::protein_data_
MzTabProteinSectionRows protein_data_
Definition: MzTab.h:875
OpenMS::MzTabMetaData::study_variable
std::map< Size, MzTabStudyVariableMetaData > study_variable
Definition: MzTab.h:192
OpenMS::MzTabPSMSectionRow::end
MzTabString end
(List of) Start positions in parent protein(s)
Definition: MzTab.h:301
OpenMS::MzTabStudyVariableMetaData::description
MzTabString description
Definition: MzTab.h:136
OpenMS::MzTabPeptideSectionRow::search_engine_score_ms_run
std::map< Size, std::map< Size, MzTabDouble > > search_engine_score_ms_run
Definition: MzTab.h:251
OpenMS::ProteinIdentification
Representation of a protein identification run.
Definition: ProteinIdentification.h:70
OpenMS::MzTabProteinSectionRow::database_version
MzTabString database_version
String Version of the protein database.
Definition: MzTab.h:211
OpenMS::MzTabOligonucleotideSectionRow::end
MzTabInteger end
Definition: MzTab.h:412
OpenMS::MzTabMSRunMetaData::id_format
MzTabParameter id_format
Definition: MzTab.h:128
OpenMS::MzTabPeptideSectionRow::sequence
MzTabString sequence
The peptide’s sequence.
Definition: MzTab.h:244
OpenMS::MzTab::IDMzTabStream::peptide_ids_
std::vector< const PeptideIdentification * > peptide_ids_
Definition: MzTab.h:650
OpenMS::MzTab::CMMzTabStream::export_subfeatures_
bool export_subfeatures_
Definition: MzTab.h:727
OpenMS::MzTabMetaData::assay
std::map< Size, MzTabAssayMetaData > assay
Definition: MzTab.h:190
OpenMS::MzTabMSRunMetaData
Definition: MzTab.h:124
OpenMS::MzTabPSMSectionRow::modifications
MzTabModificationList modifications
Modifications identified in the peptide.
Definition: MzTab.h:291
OpenMS::MzTab::IDMzTabStream::ms_runs_
StringList ms_runs_
Definition: MzTab.h:652
OpenMS::MzTab::comment_rows_
std::map< Size, String > comment_rows_
comments
Definition: MzTab.h:883
OpenMS::MzTab::IDMzTabStream::protein_hit_user_value_keys_
std::set< String > protein_hit_user_value_keys_
Definition: MzTab.h:636
OpenMS::MzTabPSMSectionRow::post
MzTabString post
(List of) Amino acid in parent protein(s) after the start of the current PSM
Definition: MzTab.h:299
OpenMS::MzTab::IDMzTabStream::first_run_inference_
bool first_run_inference_
Definition: MzTab.h:653
OpenMS::MzTabMetaData::false_discovery_rate
MzTabParameterList false_discovery_rate
Definition: MzTab.h:166
OpenMS::MzTabStringList
Definition: MzTabBase.h:291
OpenMS::MzTabPeptideSectionRow::reliability
MzTabInteger reliability
(1-3) 0=null Identification reliability for the peptide.
Definition: MzTab.h:252
OpenMS::MzTabMetaData::software
std::map< Size, MzTabSoftwareMetaData > software
Definition: MzTab.h:164
OpenMS::MzTabProteinSectionRow::taxid
MzTabInteger taxid
NEWT taxonomy for the species.
Definition: MzTab.h:208
OpenMS::MzTabAssayMetaData::quantification_mod
std::map< Size, MzTabModificationMetaData > quantification_mod
Definition: MzTab.h:119
OpenMS::MzTab::CMMzTabStream::map_id_run_fileidx_2_msfileidx_
std::map< std::pair< size_t, size_t >, size_t > map_id_run_fileidx_2_msfileidx_
Definition: MzTab.h:716
OpenMS::MzTabAssayMetaData::quantification_reagent
MzTabParameter quantification_reagent
Definition: MzTab.h:118
OpenMS::MzTab::IDMzTabStream::path_label_to_assay_
std::map< std::pair< String, unsigned >, unsigned > path_label_to_assay_
Definition: MzTab.h:647
OpenMS::MzTabMetaData
all meta data of a mzTab file. Please refer to specification for documentation.
Definition: MzTab.h:140
OpenMS::MzTabProteinSectionRow::opt_
std::vector< MzTabOptionalColumnEntry > opt_
Optional Columns must start with “opt_”
Definition: MzTab.h:228
OpenMS::MzTabOligonucleotideSectionRow::post
MzTabString post
Definition: MzTab.h:410
OpenMS::MzTab::CMMzTabStream::ms_runs_
StringList ms_runs_
Definition: MzTab.h:722
OpenMS
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:47
OpenMS::MzTab::CMMzTabStream::run_to_search_engines_settings_
std::map< Size, std::vector< std::vector< std::pair< String, String > > > > run_to_search_engines_settings_
Definition: MzTab.h:715
OpenMS::MzTab::IDMzTabStream::filename_
String filename_
Definition: MzTab.h:654
OpenMS::MzTabMetaData::custom
std::map< Size, MzTabParameter > custom
Definition: MzTab.h:186
OpenMS::MzTabStudyVariableMetaData::assay_refs
std::vector< int > assay_refs
Definition: MzTab.h:134
OpenMS::MzTabPeptideSectionRow::peptide_abundance_assay
std::map< Size, MzTabDouble > peptide_abundance_assay
Definition: MzTab.h:260
OpenMS::MzTabNucleicAcidSectionRow::ambiguity_members
MzTabStringList ambiguity_members
Alternative nucleic acid identifications.
Definition: MzTab.h:376
OpenMS::MzTabSmallMoleculeSectionRow::inchi_key
MzTabString inchi_key
InChi Key of the identified compound.
Definition: MzTab.h:336
OpenMS::MzTabMetaData::protein_quantification_unit
MzTabParameter protein_quantification_unit
Definition: MzTab.h:180
OpenMS::MzTabPeptideSectionRows
std::vector< MzTabPeptideSectionRow > MzTabPeptideSectionRows
Definition: MzTab.h:463
OpenMS::MzTab::CMMzTabStream::protein_hit_user_value_keys_
std::set< String > protein_hit_user_value_keys_
Definition: MzTab.h:706
OpenMS::MzTabDouble
Definition: MzTabBase.h:66
OpenMS::MzTab::CMMzTabStream::export_unidentified_features_
bool export_unidentified_features_
Definition: MzTab.h:726
OpenMS::MzTabModificationList::entries_
std::vector< MzTabModification > entries_
Definition: MzTab.h:105
OpenMS::MzTabProteinSectionRow::num_psms_ms_run
std::map< Size, MzTabInteger > num_psms_ms_run
Definition: MzTab.h:216
OpenMS::MzTab::CMMzTabStream::peptide_ids_
std::vector< const PeptideIdentification * > peptide_ids_
Definition: MzTab.h:720
OpenMS::MzTabProteinSectionRow::num_peptides_distinct_ms_run
std::map< Size, MzTabInteger > num_peptides_distinct_ms_run
Definition: MzTab.h:217
OpenMS::MzTab::CMMzTabStream::run_to_search_engines_
std::map< Size, std::vector< std::pair< String, String > > > run_to_search_engines_
Definition: MzTab.h:714
OpenMS::MzTab::IDMzTabStream::map_id_run_fileidx_2_msfileidx_
std::map< std::pair< size_t, size_t >, size_t > map_id_run_fileidx_2_msfileidx_
Definition: MzTab.h:646
OpenMS::MzTabNucleicAcidSectionRow::num_osms_ms_run
std::map< Size, MzTabInteger > num_osms_ms_run
Definition: MzTab.h:373
OpenMS::MzTab::meta_data_
MzTabMetaData meta_data_
Definition: MzTab.h:874
OpenMS::MzTabSmallMoleculeSectionRow::smallmolecule_abundance_stdev_study_variable
std::map< Size, MzTabDouble > smallmolecule_abundance_stdev_study_variable
Definition: MzTab.h:355
OpenMS::MzTabAssayMetaData
Definition: MzTab.h:116
OpenMS::MetaInfoInterface
Interface for classes that can store arbitrary meta information (Type-Name-Value tuples).
Definition: MetaInfoInterface.h:60
OpenMS::MzTabPSMSectionRow::uri
MzTabString uri
Location of the PSM’s source entry.
Definition: MzTab.h:296
OpenMS::MzTabDoubleList
Definition: MzTabBase.h:104
OpenMS::MzTabParameterList
Definition: MzTabBase.h:268
OpenMS::MzTabMetaData::mz_tab_version
MzTabString mz_tab_version
Definition: MzTab.h:145
OpenMS::MzTabProteinSectionRow::reliability
MzTabInteger reliability
Definition: MzTab.h:215
OpenMS::MzTabSpectraRef::getSpecRef
String getSpecRef() const
OpenMS::MzTabMetaData::mz_tab_mode
MzTabString mz_tab_mode
Definition: MzTab.h:146
OpenMS::MzTab::CMMzTabStream::meta_data_
MzTabMetaData meta_data_
Definition: MzTab.h:747
FeatureMap.h
OpenMS::MzTabBoolean
Definition: MzTabBase.h:181
OpenMS::MzTabNucleicAcidSectionRow
NUC - Nucleic acid section (table-based)
Definition: MzTab.h:361
OpenMS::MzTab::nucleic_acid_data_
MzTabNucleicAcidSectionRows nucleic_acid_data_
Definition: MzTab.h:879
OpenMS::MzTabPeptideSectionRow::search_engine
MzTabParameterList search_engine
Search engine(s) that identified the peptide.
Definition: MzTab.h:249
OpenMS::MzTabSmallMoleculeSectionRow::identifier
MzTabStringList identifier
The small molecule’s identifier.
Definition: MzTab.h:333
OpenMS::MzTabProteinSectionRow::RowCompare::operator()
bool operator()(const MzTabProteinSectionRow &row1, const MzTabProteinSectionRow &row2) const
Definition: MzTab.h:233
OpenMS::ConsensusFeature
A consensus feature spanning multiple LC-MS/MS experiments.
Definition: ConsensusFeature.h:69
OpenMS::MzTabPSMSectionRow::pre
MzTabString pre
(List of) Amino acid in parent protein(s) before the start of the current PSM
Definition: MzTab.h:298
OpenMS::MzTabSmallMoleculeSectionRow::modifications
MzTabString modifications
Modifications identified on the small molecule.
Definition: MzTab.h:352
OpenMS::MzTab::CMMzTabStream
Definition: MzTab.h:680
OpenMS::MzTabPeptideSectionRow::charge
MzTabInteger charge
Precursor ion’s charge.
Definition: MzTab.h:256
OpenMS::MzTabPeptideSectionRow::database
MzTabString database
Name of the sequence database.
Definition: MzTab.h:247
OpenMS::MzTabParameter
Definition: MzTabBase.h:231
OpenMS::MzTabProteinSectionRow::species
MzTabString species
Human readable name of the species.
Definition: MzTab.h:209
OpenMS::MzTabModificationMetaData::modification
MzTabParameter modification
Definition: MzTab.h:111
OpenMS::MzTabMetaData::psm_search_engine_score
std::map< Size, MzTabParameter > psm_search_engine_score
Definition: MzTab.h:154
OpenMS::MzTabProteinSectionRow::protein_abundance_assay
std::map< Size, MzTabDouble > protein_abundance_assay
Definition: MzTab.h:224
OpenMS::MzTabMetaData::colunit_peptide
std::vector< String > colunit_peptide
Definition: MzTab.h:197
OpenMS::MzTabOSMSectionRow::RowCompare::operator()
bool operator()(const MzTabOSMSectionRow &row1, const MzTabOSMSectionRow &row2) const
Definition: MzTab.h:449
OpenMS::MzTabOligonucleotideSectionRow::pre
MzTabString pre
Definition: MzTab.h:409
OpenMS::MzTabOSMSectionRow::search_engine_score
std::map< Size, MzTabDouble > search_engine_score
Search engine(s) score(s) for the match.
Definition: MzTab.h:435
OpenMS::MzTabPSMSectionRow::accession
MzTabString accession
List of potential parent protein accessions as in the fasta DB.
Definition: MzTab.h:284
OpenMS::MzTabProteinSectionRow::modifications
MzTabModificationList modifications
Modifications identified in the protein.
Definition: MzTab.h:220
OpenMS::MzTabSpectraRef::getMSFile
Size getMSFile() const
OpenMS::MzTab::CMMzTabStream::consensus_map_
const ConsensusMap & consensus_map_
Definition: MzTab.h:705
OpenMS::MzTab::IDMzTabStream::prt_optional_column_names_
std::vector< String > prt_optional_column_names_
Definition: MzTab.h:673
OpenMS::MzTab::osm_data_
MzTabOSMSectionRows osm_data_
/ oligonucleotide-spectrum matches
Definition: MzTab.h:881
OpenMS::MzTabOligonucleotideSectionRow::RowCompare
Comparison operator for sorting rows.
Definition: MzTab.h:416
OpenMS::MzTabPSMSectionRow::charge
MzTabInteger charge
The charge of the experimental precursor ion.
Definition: MzTab.h:293
OpenMS::MzTabNucleicAcidSectionRow::go_terms
MzTabStringList go_terms
List of GO terms for the nucleic acid.
Definition: MzTab.h:380
OpenMS::ConsensusMap
A container for consensus elements.
Definition: ConsensusMap.h:82
OpenMS::MzTab::IDMzTabStream::idrunid_2_idrunindex_
std::map< String, size_t > idrunid_2_idrunindex_
Definition: MzTab.h:643
OpenMS::StringList
std::vector< String > StringList
Vector of String.
Definition: ListUtils.h:70
OpenMS::MzTab::IDMzTabStream
Definition: MzTab.h:614
OpenMS::MzTabProteinSectionRow::ambiguity_members
MzTabStringList ambiguity_members
Alternative protein identifications.
Definition: MzTab.h:219
OpenMS::MzTab::CMMzTabStream::pg2prot_
std::map< Size, std::set< Size > > pg2prot_
Definition: MzTab.h:712
OpenMS::MzTabSmallMoleculeSectionRow::chemical_formula
MzTabString chemical_formula
Chemical formula of the identified compound.
Definition: MzTab.h:334
OpenMS::MzTabMetaData::publication
std::map< Size, MzTabString > publication
Definition: MzTab.h:168
OpenMS::MzTabSmallMoleculeSectionRow::species
MzTabString species
Human readable name of the species.
Definition: MzTab.h:343
SVOutStream.h
OpenMS::MzTab::CMMzTabStream::idrunid_2_idrunindex_
std::map< String, size_t > idrunid_2_idrunindex_
Definition: MzTab.h:713
OpenMS::MzTab::CMMzTabStream::pep_optional_column_names_
std::vector< String > pep_optional_column_names_
Definition: MzTab.h:744
OpenMS::MzTab::peptide_data_
MzTabPeptideSectionRows peptide_data_
Definition: MzTab.h:876
OpenMS::MzTabStudyVariableMetaData::sample_refs
std::vector< int > sample_refs
Definition: MzTab.h:135
OpenMS::MzTabMetaData::oligonucleotide_search_engine_score
std::map< Size, MzTabParameter > oligonucleotide_search_engine_score
Definition: MzTab.h:157
OpenMS::MzTab::IDMzTabStream::pep_optional_column_names_
std::vector< String > pep_optional_column_names_
Definition: MzTab.h:674
OpenMS::MzTabOSMSectionRows
std::vector< MzTabOSMSectionRow > MzTabOSMSectionRows
Definition: MzTab.h:468
OpenMS::MzTabMetaData::quantification_method
MzTabParameter quantification_method
Definition: MzTab.h:178
OpenMS::MzTabProteinSectionRow::search_engine
MzTabParameterList search_engine
Search engine(s) identifying the protein.
Definition: MzTab.h:212
OpenMS::MzTabModificationMetaData::position
MzTabString position
Definition: MzTab.h:113
OpenMS::MzTabPSMSectionRow::unique
MzTabBoolean unique
0=false, 1=true, null else: Peptide is unique for the protein.
Definition: MzTab.h:285
OpenMS::FeatureMap
A container for features.
Definition: FeatureMap.h:98
OpenMS::MzTabProteinSectionRow::protein_abundance_std_error_study_variable
std::map< Size, MzTabDouble > protein_abundance_std_error_study_variable
Definition: MzTab.h:227
OpenMS::PeptideIdentification
Represents the peptide hits for a spectrum.
Definition: PeptideIdentification.h:63
OpenMS::MzTab::IDMzTabStream::run_to_search_engines_settings_
std::map< Size, std::vector< std::vector< std::pair< String, String > > > > run_to_search_engines_settings_
Definition: MzTab.h:645
AASequence.h
OpenMS::Feature
An LC-MS feature.
Definition: Feature.h:70
OpenMS::MzTabModificationList
Definition: MzTab.h:88
OpenMS::MzTabPSMSectionRow::calc_mass_to_charge
MzTabDouble calc_mass_to_charge
The calculated m/z ratio of the experimental precursor ion.
Definition: MzTab.h:295
OpenMS::MzTabMetaData::protein_search_engine_score
std::map< Size, MzTabParameter > protein_search_engine_score
Definition: MzTab.h:152
OpenMS::MzTabSmallMoleculeSectionRow::smallmolecule_abundance_std_error_study_variable
std::map< Size, MzTabDouble > smallmolecule_abundance_std_error_study_variable
Definition: MzTab.h:356
OpenMS::MzTab::empty_rows_
std::vector< Size > empty_rows_
index of empty rows
Definition: MzTab.h:882
MzTabBase.h
OpenMS::MzTabPeptideSectionRow::RowCompare::operator()
bool operator()(const MzTabPeptideSectionRow &row1, const MzTabPeptideSectionRow &row2) const
Definition: MzTab.h:270
OpenMS::MzTabSmallMoleculeSectionRow::smallmolecule_abundance_assay
std::map< Size, MzTabDouble > smallmolecule_abundance_assay
Definition: MzTab.h:353
OpenMS::MzTabPSMSectionRow::search_engine_score
std::map< Size, MzTabDouble > search_engine_score
Search engine(s) score(s) for the peptide.
Definition: MzTab.h:289
OpenMS::MzTabOligonucleotideSectionRow
OLI - Oligonucleotide section (table-based)
Definition: MzTab.h:396
OpenMS::MzTabPSMSectionRow::PSM_ID
MzTabInteger PSM_ID
A unique ID of a PSM line.
Definition: MzTab.h:283
OpenMS::MzTabNucleicAcidSectionRow::num_oligos_distinct_ms_run
std::map< Size, MzTabInteger > num_oligos_distinct_ms_run
Definition: MzTab.h:374
OpenMS::MzTabAssayMetaData::ms_run_ref
std::vector< int > ms_run_ref
Definition: MzTab.h:121
OpenMS::MzTabPSMSectionRow::search_engine
MzTabParameterList search_engine
Search engine(s) that identified the peptide.
Definition: MzTab.h:288
OpenMS::MzTabMetaData::instrument
std::map< Size, MzTabInstrumentMetaData > instrument
Definition: MzTab.h:162
OpenMS::MzTab::IDMzTabStream::run_to_search_engines_
std::map< Size, std::vector< std::pair< String, String > > > run_to_search_engines_
Definition: MzTab.h:644
OpenMS::MzTabMetaData::peptide_search_engine_score
std::map< Size, MzTabParameter > peptide_search_engine_score
Definition: MzTab.h:153
OpenMS::MzTabPSMSectionRow::reliability
MzTabInteger reliability
(1-3) 0=null Identification reliability for the peptide.
Definition: MzTab.h:290
OpenMS::MzTabProteinSectionRow::go_terms
MzTabStringList go_terms
List of GO terms for the protein.
Definition: MzTab.h:222
OpenMS::MzTabOSMSectionRow
OSM - OSM (oligonucleotide-spectrum match) section (table-based)
Definition: MzTab.h:431
OpenMS::MzTabSmallMoleculeSectionRow::taxid
MzTabInteger taxid
NEWT taxonomy for the species.
Definition: MzTab.h:342
OpenMS::MzTabSmallMoleculeSectionRow
SML Small molecule section (table based)
Definition: MzTab.h:331
OpenMS::MzTab::CMMzTabStream::path_label_to_assay_
std::map< std::pair< String, unsigned >, unsigned > path_label_to_assay_
Definition: MzTab.h:717
OpenMS::MzTabPSMSectionRow::start
MzTabString start
(List of) Start positions in parent protein(s)
Definition: MzTab.h:300
OpenMS::MzTab::CMMzTabStream::ind2prot_
std::map< Size, std::set< Size > > ind2prot_
Definition: MzTab.h:711
OpenMS::MzTabProteinSectionRow::database
MzTabString database
Name of the protein database.
Definition: MzTab.h:210
OpenMS::MzTabInteger
Definition: MzTabBase.h:126
OpenMS::MzTabMetaData::sample_processing
std::map< Size, MzTabParameterList > sample_processing
Definition: MzTab.h:160
OpenMS::MzTabMetaData::contact
std::map< Size, MzTabContactMetaData > contact
Definition: MzTab.h:170
OpenMS::MzTab::CMMzTabStream::prot_ids_
std::vector< const ProteinIdentification * > prot_ids_
Definition: MzTab.h:719
OpenMS::MzTab::oligonucleotide_data_
MzTabOligonucleotideSectionRows oligonucleotide_data_
Definition: MzTab.h:880
OpenMS::MzTabMSRunMetaData::location
MzTabString location
Definition: MzTab.h:127
OpenMS::MzTabPeptideSectionRow::RowCompare
Comparison operator for sorting rows.
Definition: MzTab.h:268
OpenMS::MzTabMetaData::peptide_quantification_unit
MzTabParameter peptide_quantification_unit
Definition: MzTab.h:181
OpenMS::MzTab::IDMzTabStream::export_all_psms_
bool export_all_psms_
Definition: MzTab.h:660
OpenMS::MzTab::IDMzTabStream::db_version_
MzTabString db_version_
Definition: MzTab.h:671
OpenMS::MzTab::CMMzTabStream::psm_optional_column_names_
std::vector< String > psm_optional_column_names_
Definition: MzTab.h:745
OpenMS::MzTabSpectraRef
Definition: MzTabBase.h:317
OpenMS::MzTabMetaData::ms_run
std::map< Size, MzTabMSRunMetaData > ms_run
Definition: MzTab.h:184
OpenMS::MzTab::IDMzTabStream::export_empty_pep_ids_
bool export_empty_pep_ids_
Definition: MzTab.h:659
OpenMS::MzTabPeptideSectionRow::retention_time_window
MzTabDoubleList retention_time_window
Definition: MzTab.h:255
OpenMS::MzTabNucleicAcidSectionRow::coverage
MzTabDouble coverage
(0-1) Fraction of nucleic acid sequence identified.
Definition: MzTab.h:381
OpenMS::MzTabProteinSectionRow::protein_abundance_stdev_study_variable
std::map< Size, MzTabDouble > protein_abundance_stdev_study_variable
Definition: MzTab.h:226
OpenMS::MzTabMSRunMetaData::format
MzTabParameter format
Definition: MzTab.h:126
OpenMS::MzTabPSMSectionRow::RowCompare::operator()
bool operator()(const MzTabPSMSectionRow &row1, const MzTabPSMSectionRow &row2) const
Definition: MzTab.h:314
OpenMS::MzTabModification::pos_param_pairs_
std::vector< std::pair< Size, MzTabParameter > > pos_param_pairs_
Definition: MzTab.h:84
OpenMS::MzTab::small_molecule_data_
MzTabSmallMoleculeSectionRows small_molecule_data_
Definition: MzTab.h:878
OpenMS::MzTab::IDMzTabStream::ind2prot_
std::map< Size, std::set< Size > > ind2prot_
Definition: MzTab.h:641
OpenMS::MzTabOligonucleotideSectionRow::start
MzTabInteger start
Definition: MzTab.h:411
OpenMS::MzTab::CMMzTabStream::filename_
String filename_
Definition: MzTab.h:724
OpenMS::MzTabPSMSectionRow::database_version
MzTabString database_version
Version (and optionally # of entries).
Definition: MzTab.h:287
OpenMS::MzTab::CMMzTabStream::export_empty_pep_ids_
bool export_empty_pep_ids_
Definition: MzTab.h:728
OpenMS::MzTabSmallMoleculeSectionRow::smiles
MzTabString smiles
Molecular structure in SMILES format.
Definition: MzTab.h:335
OpenMS::MzTabSmallMoleculeSectionRow::calc_mass_to_charge
MzTabDouble calc_mass_to_charge
Precursor ion’s m/z.
Definition: MzTab.h:339
StandardTypes.h
OpenMS::MzTabPeptideSectionRow::modifications
MzTabModificationList modifications
Modifications identified in the peptide.
Definition: MzTab.h:253
OpenMS::MzTabPSMSectionRow::spectra_ref
MzTabSpectraRef spectra_ref
Spectrum for this PSM.
Definition: MzTab.h:297
OpenMS::MzTabMetaData::mz_tab_id
MzTabString mz_tab_id
Definition: MzTab.h:148
OpenMS::MzTab::CMMzTabStream::first_run_inference_
bool first_run_inference_
Definition: MzTab.h:723
OpenMS::MzTabMetaData::colunit_psm
std::vector< String > colunit_psm
Definition: MzTab.h:198
OpenMS::MzTabPSMSectionRow
PSM - PSM section (Table based)
Definition: MzTab.h:280
OpenMS::MzTab::CMMzTabStream::export_all_psms_
bool export_all_psms_
Definition: MzTab.h:729
OpenMS::MzTabPeptideSectionRow::retention_time
MzTabDoubleList retention_time
Time points in seconds. Semantics may vary.
Definition: MzTab.h:254
OpenMS::MzTabPSMSectionRow::exp_mass_to_charge
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:294
OpenMS::MzTabMSRunMetaData::fragmentation_method
MzTabParameterList fragmentation_method
Definition: MzTab.h:129
OpenMS::MzTabBase
Definition: MzTabBase.h:386
OpenMS::MzTabString
Definition: MzTabBase.h:205
OpenMS::MzTab::IDMzTabStream::peptide_hit_user_value_keys_
std::set< String > peptide_hit_user_value_keys_
Definition: MzTab.h:638
OpenMS::MzTabString::get
String get() const
OpenMS::ProteinIdentification::ProteinGroup
Bundles multiple (e.g. indistinguishable) proteins in a group.
Definition: ProteinIdentification.h:117
OpenMS::MzTabMetaData::fixed_mod
std::map< Size, MzTabModificationMetaData > fixed_mod
Definition: MzTab.h:174
OpenMS::MzTabMetaData::description
MzTabString description
Definition: MzTab.h:150
OpenMS::MzTabSmallMoleculeSectionRows
std::vector< MzTabSmallMoleculeSectionRow > MzTabSmallMoleculeSectionRows
Definition: MzTab.h:465
OpenMS::PeptideHit
Representation of a peptide hit.
Definition: PeptideHit.h:55
OpenMS::MzTabNucleicAcidSectionRow::RowCompare::operator()
bool operator()(const MzTabNucleicAcidSectionRow &row1, const MzTabNucleicAcidSectionRow &row2) const
Definition: MzTab.h:387
OpenMS::MzTabMetaData::small_molecule_quantification_unit
MzTabParameter small_molecule_quantification_unit
Definition: MzTab.h:182