OpenMS
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 
18 
19 #include <optional>
20 
21 #pragma clang diagnostic push
22 #pragma clang diagnostic ignored "-Wnon-virtual-dtor"
23 
24 namespace OpenMS
25 {
34  class OPENMS_DLLAPI MzTabModification
35  {
36 public:
38 
39  bool isNull() const;
40 
41  void setNull(bool b);
42 
44  void setPositionsAndParameters(const std::vector<std::pair<Size, MzTabParameter> >& ppp);
45 
46  std::vector<std::pair<Size, MzTabParameter> > getPositionsAndParameters() const;
47 
49 
51 
53 
54  void fromCellString(const String& s);
55 
56  ~MzTabModification() = default;
57 protected:
58  std::vector<std::pair<Size, MzTabParameter> > pos_param_pairs_;
60  };
61 
62  class OPENMS_DLLAPI MzTabModificationList
63  {
64 public:
65  bool isNull() const;
66 
67  void setNull(bool b);
68 
70 
71  void fromCellString(const String& s);
72 
73  std::vector<MzTabModification> get() const;
74 
75  void set(const std::vector<MzTabModification>& entries);
76 
78 protected:
79  std::vector<MzTabModification> entries_;
80  };
81 
82 // MTD
83  struct OPENMS_DLLAPI MzTabModificationMetaData
84  {
88  };
89 
90  struct OPENMS_DLLAPI MzTabAssayMetaData
91  {
93  std::map<Size, MzTabModificationMetaData> quantification_mod;
95  std::vector<int> ms_run_ref; // adapted to address https://github.com/HUPO-PSI/mzTab/issues/26
96  };
97 
98  struct OPENMS_DLLAPI MzTabMSRunMetaData
99  {
104  };
105 
106  struct OPENMS_DLLAPI MzTabStudyVariableMetaData
107  {
108  std::vector<int> assay_refs;
109  std::vector<int> sample_refs;
111  };
112 
114  class OPENMS_DLLAPI MzTabMetaData
115  {
116 public:
118 
125 
126  std::map<Size, MzTabParameter> protein_search_engine_score;
127  std::map<Size, MzTabParameter> peptide_search_engine_score;
128  std::map<Size, MzTabParameter> psm_search_engine_score;
129  std::map<Size, MzTabParameter> smallmolecule_search_engine_score;
130  std::map<Size, MzTabParameter> nucleic_acid_search_engine_score;
131  std::map<Size, MzTabParameter> oligonucleotide_search_engine_score;
132  std::map<Size, MzTabParameter> osm_search_engine_score;
133 
134  std::map<Size, MzTabParameterList> sample_processing;
135 
136  std::map<Size, MzTabInstrumentMetaData> instrument;
137 
138  std::map<Size, MzTabSoftwareMetaData> software;
139 
141 
142  std::map<Size, MzTabString> publication;
143 
144  std::map<Size, MzTabContactMetaData> contact;
145 
146  std::map<Size, MzTabString> uri;
147 
148  std::map<Size, MzTabModificationMetaData> fixed_mod;
149 
150  std::map<Size, MzTabModificationMetaData> variable_mod;
151 
153 
157 
158  std::map<Size, MzTabMSRunMetaData> ms_run;
159 
160  std::map<Size, MzTabParameter> custom;
161 
162  std::map<Size, MzTabSampleMetaData> sample;
163 
164  std::map<Size, MzTabAssayMetaData> assay;
165 
166  std::map<Size, MzTabStudyVariableMetaData> study_variable;
167 
168  std::map<Size, MzTabCVMetaData> cv;
169 
170  std::vector<String> colunit_protein;
171  std::vector<String> colunit_peptide;
172  std::vector<String> colunit_psm;
173  std::vector<String> colunit_small_molecule;
174  };
175 
177  struct OPENMS_DLLAPI MzTabProteinSectionRow
178  {
187  std::map<Size, MzTabDouble> best_search_engine_score;
188  std::map<Size, std::map<Size, MzTabDouble> > search_engine_score_ms_run;
190  std::map<Size, MzTabInteger> num_psms_ms_run;
191  std::map<Size, MzTabInteger> num_peptides_distinct_ms_run;
192  std::map<Size, MzTabInteger> num_peptides_unique_ms_run;
198  std::map<Size, MzTabDouble> protein_abundance_assay;
199  std::map<Size, MzTabDouble> protein_abundance_study_variable;
200  std::map<Size, MzTabDouble> protein_abundance_stdev_study_variable;
201  std::map<Size, MzTabDouble> protein_abundance_std_error_study_variable;
202  std::vector<MzTabOptionalColumnEntry> opt_;
203 
205  struct RowCompare
206  {
208  const MzTabProteinSectionRow& row2) const
209  {
210  return row1.accession.get() < row2.accession.get();
211  }
212  };
213  };
214 
216  struct OPENMS_DLLAPI MzTabPeptideSectionRow
217  {
224  std::map<Size, MzTabDouble> best_search_engine_score;
225  std::map<Size, std::map<Size, MzTabDouble> > search_engine_score_ms_run;
234  std::map<Size, MzTabDouble> peptide_abundance_assay;
235  std::map<Size, MzTabDouble> peptide_abundance_study_variable;
236  std::map<Size, MzTabDouble> peptide_abundance_stdev_study_variable;
237  std::map<Size, MzTabDouble> peptide_abundance_std_error_study_variable;
238  std::vector<MzTabOptionalColumnEntry> opt_;
239 
240 
242  struct RowCompare
243  {
245  const MzTabPeptideSectionRow& row2) const
246  {
247  return (std::make_pair(row1.sequence.get(), row1.accession.get()) <
248  std::make_pair(row2.sequence.get(), row2.accession.get()));
249  }
250  };
251  };
252 
254  struct OPENMS_DLLAPI MzTabPSMSectionRow
255  {
263  std::map<Size, MzTabDouble> search_engine_score;
276  std::vector<MzTabOptionalColumnEntry> opt_;
277 
284  void addPepEvidenceToRows(const std::vector<PeptideEvidence>& peptide_evidences);
286  struct RowCompare
287  {
288  bool operator()(const MzTabPSMSectionRow& row1,
289  const MzTabPSMSectionRow& row2) const
290  {
291  // @TODO: sort by "PSM_ID"? what's the point of that field?
292  return (std::make_tuple(row1.sequence.get(),
293  row1.spectra_ref.getMSFile(),
294  row1.spectra_ref.getSpecRef(),
295  row1.accession.get()) <
296  std::make_tuple(row2.sequence.get(),
297  row2.spectra_ref.getMSFile(),
298  row2.spectra_ref.getSpecRef(),
299  row2.accession.get()));
300  }
301  };
302  };
303 
305  struct OPENMS_DLLAPI MzTabSmallMoleculeSectionRow
306  {
324  std::map<Size, MzTabDouble> best_search_engine_score;
325  std::map<Size, std::map<Size, MzTabDouble> > search_engine_score_ms_run;
327  std::map<Size, MzTabDouble> smallmolecule_abundance_assay;
328  std::map<Size, MzTabDouble> smallmolecule_abundance_study_variable;
329  std::map<Size, MzTabDouble> smallmolecule_abundance_stdev_study_variable;
331  std::vector<MzTabOptionalColumnEntry> opt_;
332  };
333 
335  struct OPENMS_DLLAPI MzTabNucleicAcidSectionRow
336  {
344  std::map<Size, MzTabDouble> best_search_engine_score;
345  std::map<Size, std::map<Size, MzTabDouble> > search_engine_score_ms_run;
347  std::map<Size, MzTabInteger> num_osms_ms_run;
348  std::map<Size, MzTabInteger> num_oligos_distinct_ms_run;
349  std::map<Size, MzTabInteger> num_oligos_unique_ms_run;
353  // do GO terms make sense for nucleic acid sequences?
356  std::vector<MzTabOptionalColumnEntry> opt_;
357 
359  struct RowCompare
360  {
362  const MzTabNucleicAcidSectionRow& row2) const
363  {
364  return row1.accession.get() < row2.accession.get();
365  }
366  };
367  };
368 
370  struct OPENMS_DLLAPI MzTabOligonucleotideSectionRow
371  {
376  std::map<Size, MzTabDouble> best_search_engine_score;
377  std::map<Size, std::map<Size, MzTabDouble>> search_engine_score_ms_run;
387  std::vector<MzTabOptionalColumnEntry> opt_;
388 
390  struct RowCompare
391  {
393  const MzTabOligonucleotideSectionRow& row2) const
394  {
395  return (std::make_tuple(row1.sequence.get(), row1.accession.get(),
396  row1.start.get(), row1.end.get()) <
397  std::make_tuple(row2.sequence.get(), row2.accession.get(),
398  row2.start.get(), row2.end.get()));
399  }
400  };
401 
402  };
403 
405  struct OPENMS_DLLAPI MzTabOSMSectionRow
406  {
409  std::map<Size, MzTabDouble> search_engine_score;
418  std::vector<MzTabOptionalColumnEntry> opt_;
419 
421  struct RowCompare
422  {
423  bool operator()(const MzTabOSMSectionRow& row1,
424  const MzTabOSMSectionRow& row2) const
425  {
426  return (std::make_tuple(row1.sequence.get(),
427  row1.spectra_ref.getMSFile(),
428  row1.spectra_ref.getSpecRef()) <
429  std::make_tuple(row2.sequence.get(),
430  row2.spectra_ref.getMSFile(),
431  row2.spectra_ref.getSpecRef()));
432  }
433  };
434  };
435 
436  typedef std::vector<MzTabProteinSectionRow> MzTabProteinSectionRows;
437  typedef std::vector<MzTabPeptideSectionRow> MzTabPeptideSectionRows;
438  typedef std::vector<MzTabPSMSectionRow> MzTabPSMSectionRows;
439  typedef std::vector<MzTabSmallMoleculeSectionRow> MzTabSmallMoleculeSectionRows;
440  typedef std::vector<MzTabNucleicAcidSectionRow> MzTabNucleicAcidSectionRows;
441  typedef std::vector<MzTabOligonucleotideSectionRow> MzTabOligonucleotideSectionRows;
442  typedef std::vector<MzTabOSMSectionRow> MzTabOSMSectionRows;
443 
444 
451  class OPENMS_DLLAPI MzTab : public MzTabBase
452  {
453  public:
455  MzTab() = default;
456  ~MzTab() = default;
457 
458  const MzTabMetaData& getMetaData() const;
459 
460  void setMetaData(const MzTabMetaData& md);
461 
463 
465 
467 
469 
471 
473 
475 
477 
480  size_t getNumberOfPSMs() const;
481 
483 
485 
487 
489 
491 
493 
495 
497 
499 
500  void setCommentRows(const std::map<Size, String>& com);
501 
502  void setEmptyRows(const std::vector<Size>& empty);
503 
504  const std::vector<Size>& getEmptyRows() const;
505 
506  const std::map<Size, String>& getCommentRows() const;
507 
509  std::vector<String> getProteinOptionalColumnNames() const;
510 
512  std::vector<String> getPeptideOptionalColumnNames() const;
513 
515  std::vector<String> getPSMOptionalColumnNames() const;
516 
518  std::vector<String> getSmallMoleculeOptionalColumnNames() const;
519 
521  std::vector<String> getNucleicAcidOptionalColumnNames() const;
522 
524  std::vector<String> getOligonucleotideOptionalColumnNames() const;
525 
526  static void addMetaInfoToOptionalColumns(const std::set<String>& keys, std::vector<MzTabOptionalColumnEntry>& opt, const String& id, const MetaInfoInterface& meta);
527 
529  std::vector<String> getOSMOptionalColumnNames() const;
530 
531  static std::map<Size, MzTabModificationMetaData> generateMzTabStringFromModifications(const std::vector<String>& mods);
532 
533  static std::map<Size, MzTabModificationMetaData> generateMzTabStringFromVariableModifications(const std::vector<String>& mods);
534 
535  static std::map<Size, MzTabModificationMetaData> generateMzTabStringFromFixedModifications(const std::vector<String>& mods);
536 
537  static MzTab exportFeatureMapToMzTab(const FeatureMap& feature_map, const String& filename);
538 
554  const std::vector<ProteinIdentification>& prot_ids,
555  const std::vector<PeptideIdentification>& peptide_ids,
556  const String& filename,
557  bool first_run_inference_only,
558  bool export_empty_pep_ids = false,
559  bool export_all_psms = false,
560  const String& title = "ID export from OpenMS");
561 
562 
567  static MzTabModificationList extractModificationList(const PeptideHit& pep_hit, const std::vector<String>& fixed_mods, const std::vector<String>& localization_mods);
568 
585  const ConsensusMap& consensus_map,
586  const String& filename,
587  const bool first_run_inference_only,
588  const bool export_unidentified_features,
589  const bool export_unassigned_ids,
590  const bool export_subfeatures,
591  const bool export_empty_pep_ids = false,
592  const bool export_all_psms = false,
593  const String& title = "ConsensusMap export from OpenMS");
594 
596  {
597  public:
599  const std::vector<const ProteinIdentification*>& prot_ids,
600  const std::vector<const PeptideIdentification*>& peptide_ids,
601  const String& filename,
602  bool first_run_inference_only,
603  bool export_empty_pep_ids = false,
604  bool export_all_psms = false,
605  const String& title = "ID export from OpenMS");
606 
607  const MzTabMetaData& getMetaData() const;
608 
609  const std::vector<String>& getProteinOptionalColumnNames() const;
610  const std::vector<String>& getPeptideOptionalColumnNames() const;
611  const std::vector<String>& getPSMOptionalColumnNames() const;
612 
616  private:
618  std::set<String> peptide_id_user_value_keys_;
620 
621  // beautiful mapping structs
622  std::map<Size, std::set<Size>> ind2prot_;
623  std::map<Size, std::set<Size>> pg2prot_;
624  std::map<String, size_t> idrunid_2_idrunindex_;
625  std::map<Size, std::vector<std::pair<String, String>>> run_to_search_engines_;
626  std::map<Size, std::vector<std::vector<std::pair<String, String>>>> run_to_search_engines_settings_;
627  std::map<std::pair<size_t,size_t>,size_t> map_id_run_fileidx_2_msfileidx_;
628  std::map<std::pair< String, unsigned >, unsigned> path_label_to_assay_;
629 
630  std::vector<const ProteinIdentification*> prot_ids_;
631  std::vector<const PeptideIdentification*> peptide_ids_;
632 
637  /* currently unused
638  bool export_unidentified_features_;
639  bool export_subfeatures_; */
642  size_t quant_study_variables_ = 0;
643  // size_t n_study_variables_ = 0; //currently unused
644  size_t PRT_STATE_ = 0;
645  size_t prt_run_id_ = 0; // current (protein) identification run
646  size_t prt_hit_id_ = 0; // current protein in (protein) identification run
647  size_t prt_group_id_ = 0;
648  size_t prt_indistgroup_id_ = 0;
649  size_t pep_id_ = 0;
650  size_t psm_id_ = 0;
651  size_t current_psm_idx_ = 0;
652  MzTabString db_, db_version_;
653 
654  std::vector<String> prt_optional_column_names_;
655  std::vector<String> pep_optional_column_names_;
656  std::vector<String> psm_optional_column_names_;
657 
659  };
660 
662  {
663  public:
665  const ConsensusMap& consensus_map,
666  const String& filename,
667  const bool first_run_inference_only,
668  const bool export_unidentified_features,
669  const bool export_unassigned_ids,
670  const bool export_subfeatures,
671  const bool export_empty_pep_ids = false,
672  const bool export_all_psms = false,
673  const String& title = "ConsensusMap export from OpenMS");
674 
675  const MzTabMetaData& getMetaData() const;
676 
677  const std::vector<String>& getProteinOptionalColumnNames() const;
678  const std::vector<String>& getPeptideOptionalColumnNames() const;
679  const std::vector<String>& getPSMOptionalColumnNames() const;
680 
684 
685  private:
691 
692  // beautiful mapping structs
693  std::map<Size, std::set<Size>> ind2prot_;
694  std::map<Size, std::set<Size>> pg2prot_;
695  std::map<String, size_t> idrunid_2_idrunindex_;
696  std::map<Size, std::vector<std::pair<String, String>>> run_to_search_engines_;
697  std::map<Size, std::vector<std::vector<std::pair<String, String>>>> run_to_search_engines_settings_;
698  std::map<std::pair<size_t,size_t>,size_t> map_id_run_fileidx_2_msfileidx_;
699  std::map<std::pair< String, unsigned >, unsigned> path_label_to_assay_;
700 
701  std::vector<const ProteinIdentification*> prot_ids_;
702  std::vector<const PeptideIdentification*> peptide_ids_;
703 
712  size_t quant_study_variables_ = 0;
713  size_t n_study_variables_ = 0;
714  size_t PRT_STATE_ = 0;
715  size_t prt_run_id_ = 0; // current (protein) identification run
716  size_t prt_hit_id_ = 0; // current protein in (protein) identification run
717  size_t prt_group_id_ = 0;
718  size_t prt_indistgroup_id_ = 0;
719  size_t pep_id_ = 0;
720  size_t pep_counter_ = 0;
721  size_t psm_id_ = 0;
722  size_t current_psm_idx_ = 0;
723  MzTabString db_, db_version_;
724 
725  std::vector<String> prt_optional_column_names_;
726  std::vector<String> pep_optional_column_names_;
727  std::vector<String> psm_optional_column_names_;
728 
730  };
731 
732 
733  protected:
734  // extract basic mappings
735 
736  static std::map<String, Size> mapIDRunIdentifier2IDRunIndex_(const std::vector<const ProteinIdentification*>& prot_ids);
737 
738  static std::optional<MzTabPSMSectionRow> PSMSectionRowFromPeptideID_(
739  PeptideIdentification const& pid,
740  std::vector<ProteinIdentification const*> const& prot_id,
741  std::map<String, size_t>& idrun_2_run_index,
742  std::map<std::pair<size_t, size_t>, size_t>& map_run_fileidx_2_msfileidx,
743  std::map<Size, std::vector<std::pair<String, String>>>& run_to_search_engines,
744  Size const current_psm_idx,
745  Size const psm_id,
746  MzTabString const& db,
747  MzTabString const& db_version,
748  bool const export_empty_pep_ids,
749  bool const export_all_psms);
750 
752  const ConsensusFeature& c,
753  const ConsensusMap& consensus_map,
754  const StringList& ms_runs,
755  const Size n_study_variables,
756  const std::set<String>& consensus_feature_user_value_keys,
757  const std::set<String>& peptide_identifications_user_value_keys,
758  const std::set<String>& peptide_hit_user_value_keys,
759  const std::map<String, size_t>& idrun_2_run_index,
760  const std::map<std::pair<size_t,size_t>,size_t>& map_run_fileidx_2_msfileidx,
761  const std::map< std::pair< String, unsigned >, unsigned>& path_label_to_assay,
762  const std::vector<String>& fixed_mods,
763  bool export_subfeatures);
764 
766  const Feature& c,
767  const std::set<String>& feature_user_value_keys,
768  const std::set<String>& peptide_identifications_user_value_keys,
769  const std::set<String>& peptide_hit_user_value_keys,
770  const std::vector<String>& fixed_mods);
771 
773  const ProteinHit& hit,
774  const MzTabString& db,
775  const MzTabString& db_version,
776  const std::set<String>& protein_hit_user_value_keys);
777 
780  const MzTabString& db,
781  const MzTabString& db_version);
782 
784  const std::vector<ProteinHit>& protein_hits,
786  const size_t g,
787  const std::map<Size, std::set<Size>>& ind2prot,
788  const MzTabString& db,
789  const MzTabString& db_version);
790 
791  static void addMSRunMetaData_(
792  const std::map<size_t, String>& msrunindex_2_msfilename,
793  MzTabMetaData& meta_data);
794 
796  const std::vector<const ProteinIdentification*>& prot_ids,
797  bool skip_first,
798  std::map<String, size_t>& msfilename_2_msrunindex,
799  std::map<size_t, String>& msrunindex_2_msfilename);
800 
802 
804 
805  // TODO: move to core classes?
806  static void getConsensusMapMetaValues_(const ConsensusMap& consensus_map,
807  std::set<String>& consensus_feature_user_value_keys,
808  std::set<String>& peptide_identification_user_value_keys,
809  std::set<String>& peptide_hit_user_value_keys);
810 
811  static void getFeatureMapMetaValues_(const FeatureMap& feature_map,
812  std::set<String>& feature_user_value_keys,
813  std::set<String>& peptide_identification_user_value_keys,
814  std::set<String>& peptide_hit_user_value_keys);
815 
817  const std::vector<const ProteinIdentification*>& prot_ids,
818  std::vector<const PeptideIdentification*>& peptide_ids_,
819  std::set<String>& protein_hit_user_value_keys,
820  std::set<String>& peptide_id_user_value_keys,
821  std::set<String>& peptide_hit_user_value_keys);
822 
823  // determine spectrum reference identifier type (e.g., Thermo nativeID) from spectrum references
824  static MzTabParameter getMSRunSpectrumIdentifierType_(const std::vector<const PeptideIdentification*>& peptide_ids_);
825 
827  const std::vector<const ProteinIdentification*>& prot_ids,
828  const std::vector<const PeptideIdentification*>& pep_ids,
829  bool skip_first_run,
830  std::map<std::tuple<String, String, String>, std::set<Size>>& search_engine_to_runs,
831  std::map<Size, std::vector<std::pair<String, String>>>& run_to_search_engines,
832  std::map<Size, std::vector<std::vector<std::pair<String, String>>>>& run_to_search_engines_settings,
833  std::map<String, std::vector<std::pair<String, String>>>& search_engine_to_settings);
834 
835  static std::map<Size, std::set<Size>> mapGroupsToProteins_(
836  const std::vector<ProteinIdentification::ProteinGroup>& groups,
837  const std::vector<ProteinHit>& proteins);
838 
839  static void addSearchMetaData_(
840  const std::vector<const ProteinIdentification*>& prot_ids,
841  const std::map<std::tuple<String, String, String>, std::set<Size>>& search_engine_to_runs,
842  const std::map<String, std::vector<std::pair<String,String>>>& search_engine_to_settings,
843  MzTabMetaData& meta_data,
844  bool first_run_inference_only);
845 
847  const std::vector<const ProteinIdentification*>& prot_ids,
848  const std::map<String, size_t>& msfilename_2_msrunindex,
849  bool skip_first_run,
850  std::map<std::pair<size_t, size_t>, size_t>& map_run_fileidx_2_msfileidx);
851 
853  const std::vector<const ProteinIdentification*>& prot_ids,
854  StringList& var_mods,
855  StringList& fixed_mods);
856 
857  // create MzTab compatible modification identifier from ResidueModification
858  // If the Modification has a unimod identifier it will be prefixed as UNIMOD
859  // otherwise as CHEMMOD (see MzTab specification for details)
861 
862  static void checkSequenceUniqueness_(const std::vector<PeptideIdentification>& curr_pep_ids);
863 
872  std::vector<Size> empty_rows_;
873  std::map<Size, String> comment_rows_;
874  };
875 
876 } // namespace OpenMS
877 
878 #pragma clang diagnostic pop
A consensus feature spanning multiple LC-MS/MS experiments.
Definition: ConsensusFeature.h:45
A container for consensus elements.
Definition: ConsensusMap.h:66
A container for features.
Definition: FeatureMap.h:80
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:361
Definition: MzTabBase.h:156
Definition: MzTabBase.h:79
Definition: MzTabBase.h:41
Definition: MzTabBase.h:101
all meta data of a mzTab file. Please refer to specification for documentation.
Definition: MzTab.h:115
std::map< Size, MzTabCVMetaData > cv
Definition: MzTab.h:168
MzTabString mz_tab_version
Definition: MzTab.h:119
std::map< Size, MzTabParameter > peptide_search_engine_score
Definition: MzTab.h:127
std::map< Size, MzTabParameter > protein_search_engine_score
Definition: MzTab.h:126
std::vector< String > colunit_protein
Definition: MzTab.h:170
MzTabString mz_tab_mode
Definition: MzTab.h:120
MzTabParameter peptide_quantification_unit
Definition: MzTab.h:155
MzTabParameter quantification_method
Definition: MzTab.h:152
std::map< Size, MzTabString > publication
Definition: MzTab.h:142
MzTabString mz_tab_id
Definition: MzTab.h:122
std::map< Size, MzTabParameter > smallmolecule_search_engine_score
Definition: MzTab.h:129
MzTabParameterList false_discovery_rate
Definition: MzTab.h:140
MzTabString description
Definition: MzTab.h:124
std::map< Size, MzTabContactMetaData > contact
Definition: MzTab.h:144
std::map< Size, MzTabModificationMetaData > variable_mod
Definition: MzTab.h:150
std::map< Size, MzTabParameter > psm_search_engine_score
Definition: MzTab.h:128
std::map< Size, MzTabParameter > oligonucleotide_search_engine_score
Definition: MzTab.h:131
MzTabParameter small_molecule_quantification_unit
Definition: MzTab.h:156
std::map< Size, MzTabParameterList > sample_processing
Definition: MzTab.h:134
std::map< Size, MzTabInstrumentMetaData > instrument
Definition: MzTab.h:136
std::map< Size, MzTabModificationMetaData > fixed_mod
Definition: MzTab.h:148
std::map< Size, MzTabStudyVariableMetaData > study_variable
Definition: MzTab.h:166
std::vector< String > colunit_peptide
Definition: MzTab.h:171
std::map< Size, MzTabParameter > custom
Definition: MzTab.h:160
std::map< Size, MzTabSampleMetaData > sample
Definition: MzTab.h:162
MzTabString title
Definition: MzTab.h:123
MzTabString mz_tab_type
Definition: MzTab.h:121
std::map< Size, MzTabMSRunMetaData > ms_run
Definition: MzTab.h:158
std::map< Size, MzTabParameter > osm_search_engine_score
Definition: MzTab.h:132
std::map< Size, MzTabAssayMetaData > assay
Definition: MzTab.h:164
MzTabParameter protein_quantification_unit
Definition: MzTab.h:154
std::map< Size, MzTabString > uri
Definition: MzTab.h:146
std::map< Size, MzTabParameter > nucleic_acid_search_engine_score
Definition: MzTab.h:130
std::vector< String > colunit_small_molecule
Definition: MzTab.h:173
std::map< Size, MzTabSoftwareMetaData > software
Definition: MzTab.h:138
std::vector< String > colunit_psm
Definition: MzTab.h:172
Definition: MzTab.h:63
void set(const std::vector< MzTabModification > &entries)
std::vector< MzTabModification > get() const
void fromCellString(const String &s)
std::vector< MzTabModification > entries_
Definition: MzTab.h:79
Data model of MzTab files.
Definition: MzTab.h:35
MzTabString getModOrSubstIdentifier() const
String toCellString() const
void fromCellString(const String &s)
MzTabString mod_identifier_
Definition: MzTab.h:59
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:58
std::vector< std::pair< Size, MzTabParameter > > getPositionsAndParameters() const
void setModificationIdentifier(const MzTabString &mod_id)
Definition: MzTabBase.h:243
Definition: MzTabBase.h:206
Definition: MzTabBase.h:292
String getSpecRef() const
Definition: MzTabBase.h:266
Definition: MzTabBase.h:180
String get() const
Definition: MzTab.h:662
std::vector< String > pep_optional_column_names_
Definition: MzTab.h:726
const ConsensusMap & consensus_map_
Definition: MzTab.h:686
std::map< Size, std::vector< std::pair< String, String > > > run_to_search_engines_
Definition: MzTab.h:696
std::map< std::pair< size_t, size_t >, size_t > map_id_run_fileidx_2_msfileidx_
Definition: MzTab.h:698
std::vector< const ProteinIdentification * > prot_ids_
Definition: MzTab.h:701
std::set< String > consensus_feature_peptide_identification_user_value_keys_
Definition: MzTab.h:689
String filename_
Definition: MzTab.h:706
std::map< Size, std::set< Size > > pg2prot_
Definition: MzTab.h:694
bool export_empty_pep_ids_
Definition: MzTab.h:710
bool nextPRTRow(MzTabProteinSectionRow &row)
bool export_unidentified_features_
Definition: MzTab.h:708
bool nextPEPRow(MzTabPeptideSectionRow &row)
const std::vector< String > & getProteinOptionalColumnNames() const
std::set< String > protein_hit_user_value_keys_
Definition: MzTab.h:687
std::vector< String > psm_optional_column_names_
Definition: MzTab.h:727
StringList fixed_mods_
Definition: MzTab.h:707
std::map< String, size_t > idrunid_2_idrunindex_
Definition: MzTab.h:695
bool export_all_psms_
Definition: MzTab.h:711
std::vector< const PeptideIdentification * > peptide_ids_
Definition: MzTab.h:702
std::map< Size, std::set< Size > > ind2prot_
Definition: MzTab.h:693
const MzTabMetaData & getMetaData() const
StringList ms_runs_
Definition: MzTab.h:704
bool nextPSMRow(MzTabPSMSectionRow &row)
CMMzTabStream(const ConsensusMap &consensus_map, const 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 String &title="ConsensusMap export from OpenMS")
std::map< std::pair< String, unsigned >, unsigned > path_label_to_assay_
Definition: MzTab.h:699
bool first_run_inference_
Definition: MzTab.h:705
std::map< Size, std::vector< std::vector< std::pair< String, String > > > > run_to_search_engines_settings_
Definition: MzTab.h:697
const std::vector< String > & getPeptideOptionalColumnNames() const
bool export_subfeatures_
Definition: MzTab.h:709
std::vector< String > prt_optional_column_names_
Definition: MzTab.h:725
std::set< String > consensus_feature_user_value_keys_
Definition: MzTab.h:688
MzTabString db_
Definition: MzTab.h:723
const std::vector< String > & getPSMOptionalColumnNames() const
MzTabMetaData meta_data_
Definition: MzTab.h:729
std::set< String > consensus_feature_peptide_hit_user_value_keys_
Definition: MzTab.h:690
Definition: MzTab.h:596
std::vector< String > pep_optional_column_names_
Definition: MzTab.h:655
std::map< Size, std::vector< std::pair< String, String > > > run_to_search_engines_
Definition: MzTab.h:625
std::map< std::pair< size_t, size_t >, size_t > map_id_run_fileidx_2_msfileidx_
Definition: MzTab.h:627
std::vector< const ProteinIdentification * > prot_ids_
Definition: MzTab.h:630
String filename_
Definition: MzTab.h:635
std::map< Size, std::set< Size > > pg2prot_
Definition: MzTab.h:623
bool export_empty_pep_ids_
Definition: MzTab.h:640
bool nextPRTRow(MzTabProteinSectionRow &row)
bool nextPEPRow(MzTabPeptideSectionRow &row)
const std::vector< String > & getProteinOptionalColumnNames() const
std::set< String > protein_hit_user_value_keys_
Definition: MzTab.h:617
std::vector< String > psm_optional_column_names_
Definition: MzTab.h:656
StringList fixed_mods_
Definition: MzTab.h:636
std::map< String, size_t > idrunid_2_idrunindex_
Definition: MzTab.h:624
bool export_all_psms_
Definition: MzTab.h:641
std::vector< const PeptideIdentification * > peptide_ids_
Definition: MzTab.h:631
std::map< Size, std::set< Size > > ind2prot_
Definition: MzTab.h:622
const MzTabMetaData & getMetaData() const
StringList ms_runs_
Definition: MzTab.h:633
bool nextPSMRow(MzTabPSMSectionRow &row)
std::map< std::pair< String, unsigned >, unsigned > path_label_to_assay_
Definition: MzTab.h:628
std::set< String > peptide_hit_user_value_keys_
Definition: MzTab.h:619
bool first_run_inference_
Definition: MzTab.h:634
std::map< Size, std::vector< std::vector< std::pair< String, String > > > > run_to_search_engines_settings_
Definition: MzTab.h:626
const std::vector< String > & getPeptideOptionalColumnNames() const
IDMzTabStream(const std::vector< const ProteinIdentification * > &prot_ids, const std::vector< const PeptideIdentification * > &peptide_ids, const String &filename, bool first_run_inference_only, bool export_empty_pep_ids=false, bool export_all_psms=false, const String &title="ID export from OpenMS")
std::vector< String > prt_optional_column_names_
Definition: MzTab.h:654
std::set< String > peptide_id_user_value_keys_
Definition: MzTab.h:618
MzTabString db_
Definition: MzTab.h:652
const std::vector< String > & getPSMOptionalColumnNames() const
MzTabMetaData meta_data_
Definition: MzTab.h:658
Data model of MzTab files. Please see the official MzTab specification at https://code....
Definition: MzTab.h:452
static void getSearchModifications_(const std::vector< const ProteinIdentification * > &prot_ids, StringList &var_mods, StringList &fixed_mods)
size_t getNumberOfPSMs() const
const std::map< Size, String > & getCommentRows() const
static MzTabString getModificationIdentifier_(const ResidueModification &r)
void setOligonucleotideSectionRows(const MzTabOligonucleotideSectionRows &onsd)
MzTabOSMSectionRows osm_data_
/ oligonucleotide-spectrum matches
Definition: MzTab.h:871
std::vector< Size > empty_rows_
index of empty rows
Definition: MzTab.h:872
MzTabSmallMoleculeSectionRows small_molecule_data_
Definition: MzTab.h:868
const std::vector< Size > & getEmptyRows() const
static void addMetaInfoToOptionalColumns(const std::set< String > &keys, std::vector< MzTabOptionalColumnEntry > &opt, const String &id, const MetaInfoInterface &meta)
std::vector< String > getSmallMoleculeOptionalColumnNames() const
Extract opt_ (custom, optional column names)
static MzTab exportConsensusMapToMzTab(const ConsensusMap &consensus_map, const 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 String &title="ConsensusMap export from OpenMS")
export linked peptide features aka consensus map
std::vector< String > getOligonucleotideOptionalColumnNames() const
Extract opt_ (custom, optional column names)
static MzTab exportIdentificationsToMzTab(const std::vector< ProteinIdentification > &prot_ids, const std::vector< PeptideIdentification > &peptide_ids, const String &filename, bool first_run_inference_only, bool export_empty_pep_ids=false, bool export_all_psms=false, const String &title="ID export from OpenMS")
Export peptide and protein identifications to mzTab.
MzTabOligonucleotideSectionRows oligonucleotide_data_
Definition: MzTab.h:870
static MzTabParameter getProteinScoreType_(const ProteinIdentification &prot_id)
MzTabPSMSectionRows & getPSMSectionRows()
static void addMSRunMetaData_(const std::map< size_t, String > &msrunindex_2_msfilename, MzTabMetaData &meta_data)
std::map< Size, String > comment_rows_
comments
Definition: MzTab.h:873
const MzTabMetaData & getMetaData() const
const MzTabNucleicAcidSectionRows & getNucleicAcidSectionRows() const
static MzTabPeptideSectionRow peptideSectionRowFromConsensusFeature_(const ConsensusFeature &c, const ConsensusMap &consensus_map, const StringList &ms_runs, const Size n_study_variables, const std::set< String > &consensus_feature_user_value_keys, const std::set< String > &peptide_identifications_user_value_keys, const std::set< String > &peptide_hit_user_value_keys, const std::map< 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< String, unsigned >, unsigned > &path_label_to_assay, const std::vector< String > &fixed_mods, bool export_subfeatures)
static std::optional< MzTabPSMSectionRow > PSMSectionRowFromPeptideID_(PeptideIdentification const &pid, std::vector< ProteinIdentification const * > const &prot_id, std::map< 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< String, 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)
std::vector< String > getPeptideOptionalColumnNames() const
Extract opt_ (custom, optional column names)
std::vector< String > getOSMOptionalColumnNames() const
Extract opt_ (custom, optional column names)
void setNucleicAcidSectionRows(const MzTabNucleicAcidSectionRows &nasd)
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)
void setPeptideSectionRows(const MzTabPeptideSectionRows &psd)
static size_t getQuantStudyVariables_(const ProteinIdentification &pid)
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)
const MzTabPeptideSectionRows & getPeptideSectionRows() const
void setSmallMoleculeSectionRows(const MzTabSmallMoleculeSectionRows &smsd)
void setProteinSectionRows(const MzTabProteinSectionRows &psd)
std::vector< String > getNucleicAcidOptionalColumnNames() const
Extract opt_ (custom, optional column names)
void setMetaData(const MzTabMetaData &md)
MzTabPSMSectionRows psm_data_
Definition: MzTab.h:867
const MzTabPSMSectionRows & getPSMSectionRows() const
static MzTabParameter getMSRunSpectrumIdentifierType_(const std::vector< const PeptideIdentification * > &peptide_ids_)
const MzTabOligonucleotideSectionRows & getOligonucleotideSectionRows() const
~MzTab()=default
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< String, String, String >, std::set< Size >> &search_engine_to_runs, std::map< Size, std::vector< std::pair< String, String >>> &run_to_search_engines, std::map< Size, std::vector< std::vector< std::pair< String, String >>>> &run_to_search_engines_settings, std::map< String, std::vector< std::pair< String, String >>> &search_engine_to_settings)
MzTabProteinSectionRows & getProteinSectionRows()
static void getFeatureMapMetaValues_(const FeatureMap &feature_map, std::set< String > &feature_user_value_keys, std::set< String > &peptide_identification_user_value_keys, std::set< String > &peptide_hit_user_value_keys)
MzTabNucleicAcidSectionRows nucleic_acid_data_
Definition: MzTab.h:869
static std::map< Size, MzTabModificationMetaData > generateMzTabStringFromVariableModifications(const std::vector< String > &mods)
MzTabProteinSectionRows protein_data_
Definition: MzTab.h:865
static std::map< Size, MzTabModificationMetaData > generateMzTabStringFromFixedModifications(const std::vector< String > &mods)
static void checkSequenceUniqueness_(const std::vector< PeptideIdentification > &curr_pep_ids)
static std::map< String, Size > mapIDRunIdentifier2IDRunIndex_(const std::vector< const ProteinIdentification * > &prot_ids)
std::vector< String > getProteinOptionalColumnNames() const
Extract opt_ (custom, optional column names)
void setEmptyRows(const std::vector< Size > &empty)
static MzTabPeptideSectionRow peptideSectionRowFromFeature_(const Feature &c, const std::set< String > &feature_user_value_keys, const std::set< String > &peptide_identifications_user_value_keys, const std::set< String > &peptide_hit_user_value_keys, const std::vector< String > &fixed_mods)
static MzTabModificationList extractModificationList(const PeptideHit &pep_hit, const std::vector< String > &fixed_mods, const std::vector< String > &localization_mods)
MzTabPeptideSectionRows peptide_data_
Definition: MzTab.h:866
const MzTabSmallMoleculeSectionRows & getSmallMoleculeSectionRows() const
static void mapIDRunFileIndex2MSFileIndex_(const std::vector< const ProteinIdentification * > &prot_ids, const std::map< 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)
MzTab()=default
Default constructor.
static void getIdentificationMetaValues_(const std::vector< const ProteinIdentification * > &prot_ids, std::vector< const PeptideIdentification * > &peptide_ids_, std::set< String > &protein_hit_user_value_keys, std::set< String > &peptide_id_user_value_keys, std::set< String > &peptide_hit_user_value_keys)
std::vector< String > getPSMOptionalColumnNames() const
Extract opt_ (custom, optional column names)
MzTabMetaData meta_data_
Definition: MzTab.h:864
const MzTabOSMSectionRows & getOSMSectionRows() const
static void mapBetweenMSFileNameAndMSRunIndex_(const std::vector< const ProteinIdentification * > &prot_ids, bool skip_first, std::map< String, size_t > &msfilename_2_msrunindex, std::map< size_t, String > &msrunindex_2_msfilename)
const MzTabProteinSectionRows & getProteinSectionRows() const
static std::map< Size, MzTabModificationMetaData > generateMzTabStringFromModifications(const std::vector< String > &mods)
MzTabPeptideSectionRows & getPeptideSectionRows()
void setCommentRows(const std::map< Size, String > &com)
void setPSMSectionRows(const MzTabPSMSectionRows &psd)
static void getConsensusMapMetaValues_(const ConsensusMap &consensus_map, std::set< String > &consensus_feature_user_value_keys, std::set< String > &peptide_identification_user_value_keys, std::set< String > &peptide_hit_user_value_keys)
static void addSearchMetaData_(const std::vector< const ProteinIdentification * > &prot_ids, const std::map< std::tuple< String, String, String >, std::set< Size >> &search_engine_to_runs, const std::map< String, std::vector< std::pair< String, String >>> &search_engine_to_settings, MzTabMetaData &meta_data, bool first_run_inference_only)
void setOSMSectionRows(const MzTabOSMSectionRows &osd)
static MzTabProteinSectionRow proteinSectionRowFromProteinHit_(const ProteinHit &hit, const MzTabString &db, const MzTabString &db_version, const std::set< String > &protein_hit_user_value_keys)
static MzTab exportFeatureMapToMzTab(const FeatureMap &feature_map, const String &filename)
Representation of a peptide hit.
Definition: PeptideHit.h:31
Represents the peptide hits for a spectrum.
Definition: PeptideIdentification.h:39
Representation of a protein hit.
Definition: ProteinHit.h:34
Bundles multiple (e.g. indistinguishable) proteins in a group.
Definition: ProteinIdentification.h:105
Representation of a protein identification run.
Definition: ProteinIdentification.h:50
Representation of a modification on an amino acid residue.
Definition: ResidueModification.h:53
A more convenient string class.
Definition: String.h:34
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition: Types.h:97
std::vector< String > StringList
Vector of String.
Definition: ListUtils.h:44
const double c
Definition: Constants.h:188
Main OpenMS namespace.
Definition: openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19
MzTabInteger taxid
NEWT taxonomy for the species.
Definition: MzTab.h:316
MzTabInteger end
Definition: MzTab.h:386
MzTabSpectraRef spectra_ref
Spectra identifying the peptide.
Definition: MzTab.h:233
MzTabDouble calc_mass_to_charge
Precursor ion’s m/z.
Definition: MzTab.h:313
std::vector< MzTabPSMSectionRow > MzTabPSMSectionRows
Definition: MzTab.h:438
std::map< Size, MzTabDouble > smallmolecule_abundance_assay
Definition: MzTab.h:327
MzTabString position
Definition: MzTab.h:87
MzTabString modifications
Modifications identified on the small molecule.
Definition: MzTab.h:326
MzTabString sequence
The peptide’s sequence.
Definition: MzTab.h:218
std::map< Size, MzTabInteger > num_oligos_distinct_ms_run
Definition: MzTab.h:348
MzTabDoubleList retention_time
Time points in seconds. Semantics may vary.
Definition: MzTab.h:228
MzTabDoubleList retention_time_window
Definition: MzTab.h:229
MzTabParameterList fragmentation_method
Definition: MzTab.h:103
std::vector< int > sample_refs
Definition: MzTab.h:109
MzTabParameter format
Definition: MzTab.h:100
std::map< Size, MzTabDouble > smallmolecule_abundance_std_error_study_variable
Definition: MzTab.h:330
std::vector< MzTabProteinSectionRow > MzTabProteinSectionRows
Definition: MzTab.h:436
std::map< Size, MzTabDouble > best_search_engine_score
Search engine(s) score(s) for the peptide.
Definition: MzTab.h:224
MzTabString smiles
Molecular structure in SMILES format.
Definition: MzTab.h:309
MzTabBoolean unique
0=false, 1=true, null else: Peptide is unique for the protein.
Definition: MzTab.h:220
MzTabString uri
Location of the PSMs source entry.
Definition: MzTab.h:232
std::vector< int > assay_refs
Definition: MzTab.h:108
MzTabModificationList modifications
Modifications identified in the peptide.
Definition: MzTab.h:227
MzTabParameter id_format
Definition: MzTab.h:102
MzTabInteger charge
Precursor ion’s charge.
Definition: MzTab.h:230
std::map< Size, MzTabDouble > smallmolecule_abundance_stdev_study_variable
Definition: MzTab.h:329
MzTabString database_version
Version (and optionally # of entries).
Definition: MzTab.h:222
std::map< Size, MzTabModificationMetaData > quantification_mod
Definition: MzTab.h:93
MzTabString description
Definition: MzTab.h:110
MzTabStringList identifier
The small molecule’s identifier.
Definition: MzTab.h:307
std::vector< MzTabPeptideSectionRow > MzTabPeptideSectionRows
Definition: MzTab.h:437
std::map< Size, std::map< Size, MzTabDouble > > search_engine_score_ms_run
Definition: MzTab.h:225
MzTabString accession
The protein’s accession.
Definition: MzTab.h:219
MzTabStringList ambiguity_members
Alternative nucleic acid identifications.
Definition: MzTab.h:350
MzTabDouble mass_to_charge
Precursor ion’s m/z.
Definition: MzTab.h:231
MzTabDouble coverage
(0-1) Fraction of nucleic acid sequence identified.
Definition: MzTab.h:355
MzTabParameter modification
Definition: MzTab.h:85
std::map< Size, MzTabInteger > num_oligos_unique_ms_run
Definition: MzTab.h:349
MzTabInteger start
Definition: MzTab.h:385
std::map< Size, MzTabDouble > peptide_abundance_std_error_study_variable
Definition: MzTab.h:237
MzTabString site
Definition: MzTab.h:86
MzTabString inchi_key
InChi Key of the identified compound.
Definition: MzTab.h:310
MzTabParameter quantification_reagent
Definition: MzTab.h:92
MzTabString location
Definition: MzTab.h:101
std::vector< MzTabOSMSectionRow > MzTabOSMSectionRows
Definition: MzTab.h:442
MzTabInteger reliability
(1-3) 0=null Identification reliability for the peptide.
Definition: MzTab.h:226
std::vector< int > ms_run_ref
Definition: MzTab.h:95
std::map< Size, MzTabInteger > num_osms_ms_run
Definition: MzTab.h:347
std::map< Size, MzTabDouble > search_engine_score
Search engine(s) score(s) for the match.
Definition: MzTab.h:409
MzTabStringList go_terms
List of GO terms for the nucleic acid.
Definition: MzTab.h:354
MzTabString pre
Definition: MzTab.h:383
MzTabDouble exp_mass_to_charge
Precursor ion’s m/z.
Definition: MzTab.h:312
std::map< Size, MzTabDouble > peptide_abundance_study_variable
Definition: MzTab.h:235
std::map< Size, MzTabDouble > smallmolecule_abundance_study_variable
Definition: MzTab.h:328
std::vector< MzTabOptionalColumnEntry > opt_
Optional columns must start with “opt_”.
Definition: MzTab.h:238
std::vector< MzTabOligonucleotideSectionRow > MzTabOligonucleotideSectionRows
Definition: MzTab.h:441
MzTabParameterList search_engine
Search engine(s) that identified the peptide.
Definition: MzTab.h:223
MzTabString post
Definition: MzTab.h:384
std::map< Size, MzTabDouble > peptide_abundance_stdev_study_variable
Definition: MzTab.h:236
std::map< Size, MzTabDouble > peptide_abundance_assay
Definition: MzTab.h:234
MzTabString chemical_formula
Chemical formula of the identified compound.
Definition: MzTab.h:308
MzTabString sample_ref
Definition: MzTab.h:94
std::vector< MzTabSmallMoleculeSectionRow > MzTabSmallMoleculeSectionRows
Definition: MzTab.h:439
MzTabString species
Human readable name of the species.
Definition: MzTab.h:317
std::vector< MzTabNucleicAcidSectionRow > MzTabNucleicAcidSectionRows
Definition: MzTab.h:440
MzTabString database
Name of the sequence database.
Definition: MzTab.h:221
Definition: MzTab.h:91
Definition: MzTab.h:99
Definition: MzTab.h:84
NUC - Nucleic acid section (table-based)
Definition: MzTab.h:336
OSM - OSM (oligonucleotide-spectrum match) section (table-based)
Definition: MzTab.h:406
OLI - Oligonucleotide section (table-based)
Definition: MzTab.h:371
PEP - Peptide section (Table based)
Definition: MzTab.h:217
SML Small molecule section (table based)
Definition: MzTab.h:306
Definition: MzTab.h:107
Comparison operator for sorting rows.
Definition: MzTab.h:360
bool operator()(const MzTabNucleicAcidSectionRow &row1, const MzTabNucleicAcidSectionRow &row2) const
Definition: MzTab.h:361
Comparison operator for sorting rows.
Definition: MzTab.h:422
bool operator()(const MzTabOSMSectionRow &row1, const MzTabOSMSectionRow &row2) const
Definition: MzTab.h:423
Comparison operator for sorting rows.
Definition: MzTab.h:391
bool operator()(const MzTabOligonucleotideSectionRow &row1, const MzTabOligonucleotideSectionRow &row2) const
Definition: MzTab.h:392
Comparison operator for sorting rows.
Definition: MzTab.h:287
bool operator()(const MzTabPSMSectionRow &row1, const MzTabPSMSectionRow &row2) const
Definition: MzTab.h:288
PSM - PSM section (Table based)
Definition: MzTab.h:255
MzTabSpectraRef spectra_ref
Spectrum for this PSM.
Definition: MzTab.h:271
MzTabDouble calc_mass_to_charge
The calculated m/z ratio of the experimental precursor ion.
Definition: MzTab.h:269
MzTabString start
(List of) Start positions in parent protein(s)
Definition: MzTab.h:274
MzTabString sequence
The peptide’s sequence.
Definition: MzTab.h:256
MzTabDoubleList retention_time
Time points in seconds. Semantics may vary.
Definition: MzTab.h:266
MzTabBoolean unique
0=false, 1=true, null else: Peptide is unique for the protein.
Definition: MzTab.h:259
MzTabString uri
Location of the PSM’s source entry.
Definition: MzTab.h:270
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:265
MzTabInteger charge
The charge of the experimental precursor ion.
Definition: MzTab.h:267
MzTabString database_version
Version (and optionally # of entries).
Definition: MzTab.h:261
MzTabString accession
List of potential parent protein accessions as in the fasta DB.
Definition: MzTab.h:258
MzTabString end
(List of) Start positions in parent protein(s)
Definition: MzTab.h:275
MzTabInteger reliability
(1-3) 0=null Identification reliability for the peptide.
Definition: MzTab.h:264
std::map< Size, MzTabDouble > search_engine_score
Search engine(s) score(s) for the peptide.
Definition: MzTab.h:263
MzTabString pre
(List of) Amino acid in parent protein(s) before the start of the current PSM
Definition: MzTab.h:272
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:268
std::vector< MzTabOptionalColumnEntry > opt_
Optional columns must start with “opt_”.
Definition: MzTab.h:276
MzTabParameterList search_engine
Search engine(s) that identified the peptide.
Definition: MzTab.h:262
MzTabString post
(List of) Amino acid in parent protein(s) after the start of the current PSM
Definition: MzTab.h:273
MzTabInteger PSM_ID
A unique ID of a PSM line.
Definition: MzTab.h:257
MzTabString database
Name of the sequence database.
Definition: MzTab.h:260
Comparison operator for sorting rows.
Definition: MzTab.h:243
bool operator()(const MzTabPeptideSectionRow &row1, const MzTabPeptideSectionRow &row2) const
Definition: MzTab.h:244
Comparison operator for sorting rows.
Definition: MzTab.h:206
bool operator()(const MzTabProteinSectionRow &row1, const MzTabProteinSectionRow &row2) const
Definition: MzTab.h:207
PRT - Protein section (Table based)
Definition: MzTab.h:178
MzTabInteger taxid
NEWT taxonomy for the species.
Definition: MzTab.h:182
std::map< Size, MzTabDouble > protein_abundance_assay
Definition: MzTab.h:198
std::map< Size, MzTabDouble > best_search_engine_score
best_search_engine_score[1-n]
Definition: MzTab.h:187
MzTabString uri
Location of the protein’s source entry.
Definition: MzTab.h:195
std::map< Size, MzTabDouble > protein_abundance_std_error_study_variable
Definition: MzTab.h:201
MzTabModificationList modifications
Modifications identified in the protein.
Definition: MzTab.h:194
MzTabString database_version
String Version of the protein database.
Definition: MzTab.h:185
MzTabString description
Human readable description (i.e. the name)
Definition: MzTab.h:181
std::map< Size, MzTabInteger > num_peptides_distinct_ms_run
Definition: MzTab.h:191
std::map< Size, MzTabDouble > protein_abundance_study_variable
Definition: MzTab.h:199
std::map< Size, std::map< Size, MzTabDouble > > search_engine_score_ms_run
search_engine_score[index1]_ms_run[index2]
Definition: MzTab.h:188
MzTabString accession
The protein’s accession.
Definition: MzTab.h:180
MzTabStringList ambiguity_members
Alternative protein identifications.
Definition: MzTab.h:193
MzTabDouble coverage
(0-1) Amount of protein sequence identified.
Definition: MzTab.h:197
MzTabInteger reliability
Definition: MzTab.h:189
std::map< Size, MzTabInteger > num_psms_ms_run
Definition: MzTab.h:190
MzTabStringList go_terms
List of GO terms for the protein.
Definition: MzTab.h:196
std::map< Size, MzTabInteger > num_peptides_unique_ms_run
Definition: MzTab.h:192
std::map< Size, MzTabDouble > protein_abundance_stdev_study_variable
Definition: MzTab.h:200
std::vector< MzTabOptionalColumnEntry > opt_
Optional Columns must start with “opt_”
Definition: MzTab.h:202
MzTabParameterList search_engine
Search engine(s) identifying the protein.
Definition: MzTab.h:186
MzTabString species
Human readable name of the species.
Definition: MzTab.h:183
MzTabString database
Name of the protein database.
Definition: MzTab.h:184