OpenMS
MzTab.h
Go to the documentation of this file.
1 // Copyright (c) 2002-2023, The OpenMS Team -- 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 
479 
481 
483 
485 
487 
489 
491 
493 
495 
496  void setCommentRows(const std::map<Size, String>& com);
497 
498  void setEmptyRows(const std::vector<Size>& empty);
499 
500  const std::vector<Size>& getEmptyRows() const;
501 
502  const std::map<Size, String>& getCommentRows() const;
503 
505  std::vector<String> getProteinOptionalColumnNames() const;
506 
508  std::vector<String> getPeptideOptionalColumnNames() const;
509 
511  std::vector<String> getPSMOptionalColumnNames() const;
512 
514  std::vector<String> getSmallMoleculeOptionalColumnNames() const;
515 
517  std::vector<String> getNucleicAcidOptionalColumnNames() const;
518 
520  std::vector<String> getOligonucleotideOptionalColumnNames() const;
521 
522  static void addMetaInfoToOptionalColumns(const std::set<String>& keys, std::vector<MzTabOptionalColumnEntry>& opt, const String& id, const MetaInfoInterface& meta);
523 
525  std::vector<String> getOSMOptionalColumnNames() const;
526 
527  static std::map<Size, MzTabModificationMetaData> generateMzTabStringFromModifications(const std::vector<String>& mods);
528 
529  static std::map<Size, MzTabModificationMetaData> generateMzTabStringFromVariableModifications(const std::vector<String>& mods);
530 
531  static std::map<Size, MzTabModificationMetaData> generateMzTabStringFromFixedModifications(const std::vector<String>& mods);
532 
533  static MzTab exportFeatureMapToMzTab(const FeatureMap& feature_map, const String& filename);
534 
550  const std::vector<ProteinIdentification>& prot_ids,
551  const std::vector<PeptideIdentification>& peptide_ids,
552  const String& filename,
553  bool first_run_inference_only,
554  bool export_empty_pep_ids = false,
555  bool export_all_psms = false,
556  const String& title = "ID export from OpenMS");
557 
558 
563  static MzTabModificationList extractModificationList(const PeptideHit& pep_hit, const std::vector<String>& fixed_mods, const std::vector<String>& localization_mods);
564 
578  const ConsensusMap& consensus_map,
579  const String& filename,
580  const bool first_run_inference_only,
581  const bool export_unidentified_features,
582  const bool export_unassigned_ids,
583  const bool export_subfeatures,
584  const bool export_empty_pep_ids = false,
585  const bool export_all_psms = false,
586  const String& title = "ConsensusMap export from OpenMS");
587 
589  {
590  public:
592  const std::vector<const ProteinIdentification*>& prot_ids,
593  const std::vector<const PeptideIdentification*>& peptide_ids,
594  const String& filename,
595  bool first_run_inference_only,
596  bool export_empty_pep_ids = false,
597  bool export_all_psms = false,
598  const String& title = "ID export from OpenMS");
599 
600  const MzTabMetaData& getMetaData() const;
601 
602  const std::vector<String>& getProteinOptionalColumnNames() const;
603  const std::vector<String>& getPeptideOptionalColumnNames() const;
604  const std::vector<String>& getPSMOptionalColumnNames() const;
605 
609  private:
611  std::set<String> peptide_id_user_value_keys_;
613 
614  // beautiful mapping structs
615  std::map<Size, std::set<Size>> ind2prot_;
616  std::map<Size, std::set<Size>> pg2prot_;
617  std::map<String, size_t> idrunid_2_idrunindex_;
618  std::map<Size, std::vector<std::pair<String, String>>> run_to_search_engines_;
619  std::map<Size, std::vector<std::vector<std::pair<String, String>>>> run_to_search_engines_settings_;
620  std::map<std::pair<size_t,size_t>,size_t> map_id_run_fileidx_2_msfileidx_;
621  std::map<std::pair< String, unsigned >, unsigned> path_label_to_assay_;
622 
623  std::vector<const ProteinIdentification*> prot_ids_;
624  std::vector<const PeptideIdentification*> peptide_ids_;
625 
630  /* currently unused
631  bool export_unidentified_features_;
632  bool export_subfeatures_; */
635  size_t quant_study_variables_ = 0;
636  // size_t n_study_variables_ = 0; //currently unused
637  size_t PRT_STATE_ = 0;
638  size_t prt_run_id_ = 0; // current (protein) identification run
639  size_t prt_hit_id_ = 0; // current protein in (protein) identification run
640  size_t prt_group_id_ = 0;
641  size_t prt_indistgroup_id_ = 0;
642  size_t pep_id_ = 0;
643  size_t psm_id_ = 0;
644  size_t current_psm_idx_ = 0;
645  MzTabString db_, db_version_;
646 
647  std::vector<String> prt_optional_column_names_;
648  std::vector<String> pep_optional_column_names_;
649  std::vector<String> psm_optional_column_names_;
650 
652  };
653 
655  {
656  public:
658  const ConsensusMap& consensus_map,
659  const String& filename,
660  const bool first_run_inference_only,
661  const bool export_unidentified_features,
662  const bool export_unassigned_ids,
663  const bool export_subfeatures,
664  const bool export_empty_pep_ids = false,
665  const bool export_all_psms = false,
666  const String& title = "ConsensusMap export from OpenMS");
667 
668  const MzTabMetaData& getMetaData() const;
669 
670  const std::vector<String>& getProteinOptionalColumnNames() const;
671  const std::vector<String>& getPeptideOptionalColumnNames() const;
672  const std::vector<String>& getPSMOptionalColumnNames() const;
673 
677 
678  private:
684 
685  // beautiful mapping structs
686  std::map<Size, std::set<Size>> ind2prot_;
687  std::map<Size, std::set<Size>> pg2prot_;
688  std::map<String, size_t> idrunid_2_idrunindex_;
689  std::map<Size, std::vector<std::pair<String, String>>> run_to_search_engines_;
690  std::map<Size, std::vector<std::vector<std::pair<String, String>>>> run_to_search_engines_settings_;
691  std::map<std::pair<size_t,size_t>,size_t> map_id_run_fileidx_2_msfileidx_;
692  std::map<std::pair< String, unsigned >, unsigned> path_label_to_assay_;
693 
694  std::vector<const ProteinIdentification*> prot_ids_;
695  std::vector<const PeptideIdentification*> peptide_ids_;
696 
705  size_t quant_study_variables_ = 0;
706  size_t n_study_variables_ = 0;
707  size_t PRT_STATE_ = 0;
708  size_t prt_run_id_ = 0; // current (protein) identification run
709  size_t prt_hit_id_ = 0; // current protein in (protein) identification run
710  size_t prt_group_id_ = 0;
711  size_t prt_indistgroup_id_ = 0;
712  size_t pep_id_ = 0;
713  size_t pep_counter_ = 0;
714  size_t psm_id_ = 0;
715  size_t current_psm_idx_ = 0;
716  MzTabString db_, db_version_;
717 
718  std::vector<String> prt_optional_column_names_;
719  std::vector<String> pep_optional_column_names_;
720  std::vector<String> psm_optional_column_names_;
721 
723  };
724 
725 
726  protected:
727  // extract basic mappings
728 
729  static std::map<String, Size> mapIDRunIdentifier2IDRunIndex_(const std::vector<const ProteinIdentification*>& prot_ids);
730 
731  static std::optional<MzTabPSMSectionRow> PSMSectionRowFromPeptideID_(
732  PeptideIdentification const& pid,
733  std::vector<ProteinIdentification const*> const& prot_id,
734  std::map<String, size_t>& idrun_2_run_index,
735  std::map<std::pair<size_t, size_t>, size_t>& map_run_fileidx_2_msfileidx,
736  std::map<Size, std::vector<std::pair<String, String>>>& run_to_search_engines,
737  Size const current_psm_idx,
738  Size const psm_id,
739  MzTabString const& db,
740  MzTabString const& db_version,
741  bool const export_empty_pep_ids,
742  bool const export_all_psms);
743 
745  const ConsensusFeature& c,
746  const ConsensusMap& consensus_map,
747  const StringList& ms_runs,
748  const Size n_study_variables,
749  const std::set<String>& consensus_feature_user_value_keys,
750  const std::set<String>& peptide_identifications_user_value_keys,
751  const std::set<String>& peptide_hit_user_value_keys,
752  const std::map<String, size_t>& idrun_2_run_index,
753  const std::map<std::pair<size_t,size_t>,size_t>& map_run_fileidx_2_msfileidx,
754  const std::map< std::pair< String, unsigned >, unsigned>& path_label_to_assay,
755  const std::vector<String>& fixed_mods,
756  bool export_subfeatures);
757 
759  const Feature& c,
760  const std::set<String>& feature_user_value_keys,
761  const std::set<String>& peptide_identifications_user_value_keys,
762  const std::set<String>& peptide_hit_user_value_keys,
763  const std::vector<String>& fixed_mods);
764 
766  const ProteinHit& hit,
767  const MzTabString& db,
768  const MzTabString& db_version,
769  const std::set<String>& protein_hit_user_value_keys);
770 
773  const MzTabString& db,
774  const MzTabString& db_version);
775 
777  const std::vector<ProteinHit>& protein_hits,
779  const size_t g,
780  const std::map<Size, std::set<Size>>& ind2prot,
781  const MzTabString& db,
782  const MzTabString& db_version);
783 
784  static void addMSRunMetaData_(
785  const std::map<size_t, String>& msrunindex_2_msfilename,
786  MzTabMetaData& meta_data);
787 
789  const std::vector<const ProteinIdentification*>& prot_ids,
790  bool skip_first,
791  std::map<String, size_t>& msfilename_2_msrunindex,
792  std::map<size_t, String>& msrunindex_2_msfilename);
793 
795 
797 
798  // TODO: move to core classes?
799  static void getConsensusMapMetaValues_(const ConsensusMap& consensus_map,
800  std::set<String>& consensus_feature_user_value_keys,
801  std::set<String>& peptide_identification_user_value_keys,
802  std::set<String>& peptide_hit_user_value_keys);
803 
804  static void getFeatureMapMetaValues_(const FeatureMap& feature_map,
805  std::set<String>& feature_user_value_keys,
806  std::set<String>& peptide_identification_user_value_keys,
807  std::set<String>& peptide_hit_user_value_keys);
808 
810  const std::vector<const ProteinIdentification*>& prot_ids,
811  std::vector<const PeptideIdentification*>& peptide_ids_,
812  std::set<String>& protein_hit_user_value_keys,
813  std::set<String>& peptide_id_user_value_keys,
814  std::set<String>& peptide_hit_user_value_keys);
815 
816  // determine spectrum reference identifier type (e.g., Thermo nativeID) from spectrum references
817  static MzTabParameter getMSRunSpectrumIdentifierType_(const std::vector<const PeptideIdentification*>& peptide_ids_);
818 
820  const std::vector<const ProteinIdentification*>& prot_ids,
821  const std::vector<const PeptideIdentification*>& pep_ids,
822  bool skip_first_run,
823  std::map<std::tuple<String, String, String>, std::set<Size>>& search_engine_to_runs,
824  std::map<Size, std::vector<std::pair<String, String>>>& run_to_search_engines,
825  std::map<Size, std::vector<std::vector<std::pair<String, String>>>>& run_to_search_engines_settings,
826  std::map<String, std::vector<std::pair<String, String>>>& search_engine_to_settings);
827 
828  static std::map<Size, std::set<Size>> mapGroupsToProteins_(
829  const std::vector<ProteinIdentification::ProteinGroup>& groups,
830  const std::vector<ProteinHit>& proteins);
831 
832  static void addSearchMetaData_(
833  const std::vector<const ProteinIdentification*>& prot_ids,
834  const std::map<std::tuple<String, String, String>, std::set<Size>>& search_engine_to_runs,
835  const std::map<String, std::vector<std::pair<String,String>>>& search_engine_to_settings,
836  MzTabMetaData& meta_data,
837  bool first_run_inference_only);
838 
840  const std::vector<const ProteinIdentification*>& prot_ids,
841  const std::map<String, size_t>& msfilename_2_msrunindex,
842  bool skip_first_run,
843  std::map<std::pair<size_t, size_t>, size_t>& map_run_fileidx_2_msfileidx);
844 
846  const std::vector<const ProteinIdentification*>& prot_ids,
847  StringList& var_mods,
848  StringList& fixed_mods);
849 
850  // create MzTab compatible modification identifier from ResidueModification
851  // If the Modification has a unimod identifier it will be prefixed as UNIMOD
852  // otherwise as CHEMMOD (see MzTab specification for details)
854 
855  static void checkSequenceUniqueness_(const std::vector<PeptideIdentification>& curr_pep_ids);
856 
865  std::vector<Size> empty_rows_;
866  std::map<Size, String> comment_rows_;
867  };
868 
869 } // namespace OpenMS
870 
871 #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:655
std::vector< String > pep_optional_column_names_
Definition: MzTab.h:719
const ConsensusMap & consensus_map_
Definition: MzTab.h:679
std::map< Size, std::vector< std::pair< String, String > > > run_to_search_engines_
Definition: MzTab.h:689
std::map< std::pair< size_t, size_t >, size_t > map_id_run_fileidx_2_msfileidx_
Definition: MzTab.h:691
std::vector< const ProteinIdentification * > prot_ids_
Definition: MzTab.h:694
std::set< String > consensus_feature_peptide_identification_user_value_keys_
Definition: MzTab.h:682
String filename_
Definition: MzTab.h:699
std::map< Size, std::set< Size > > pg2prot_
Definition: MzTab.h:687
bool export_empty_pep_ids_
Definition: MzTab.h:703
bool nextPRTRow(MzTabProteinSectionRow &row)
bool export_unidentified_features_
Definition: MzTab.h:701
bool nextPEPRow(MzTabPeptideSectionRow &row)
const std::vector< String > & getProteinOptionalColumnNames() const
std::set< String > protein_hit_user_value_keys_
Definition: MzTab.h:680
std::vector< String > psm_optional_column_names_
Definition: MzTab.h:720
StringList fixed_mods_
Definition: MzTab.h:700
std::map< String, size_t > idrunid_2_idrunindex_
Definition: MzTab.h:688
bool export_all_psms_
Definition: MzTab.h:704
std::vector< const PeptideIdentification * > peptide_ids_
Definition: MzTab.h:695
std::map< Size, std::set< Size > > ind2prot_
Definition: MzTab.h:686
const MzTabMetaData & getMetaData() const
StringList ms_runs_
Definition: MzTab.h:697
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:692
bool first_run_inference_
Definition: MzTab.h:698
std::map< Size, std::vector< std::vector< std::pair< String, String > > > > run_to_search_engines_settings_
Definition: MzTab.h:690
const std::vector< String > & getPeptideOptionalColumnNames() const
bool export_subfeatures_
Definition: MzTab.h:702
std::vector< String > prt_optional_column_names_
Definition: MzTab.h:718
std::set< String > consensus_feature_user_value_keys_
Definition: MzTab.h:681
MzTabString db_
Definition: MzTab.h:716
const std::vector< String > & getPSMOptionalColumnNames() const
MzTabMetaData meta_data_
Definition: MzTab.h:722
std::set< String > consensus_feature_peptide_hit_user_value_keys_
Definition: MzTab.h:683
Definition: MzTab.h:589
std::vector< String > pep_optional_column_names_
Definition: MzTab.h:648
std::map< Size, std::vector< std::pair< String, String > > > run_to_search_engines_
Definition: MzTab.h:618
std::map< std::pair< size_t, size_t >, size_t > map_id_run_fileidx_2_msfileidx_
Definition: MzTab.h:620
std::vector< const ProteinIdentification * > prot_ids_
Definition: MzTab.h:623
String filename_
Definition: MzTab.h:628
std::map< Size, std::set< Size > > pg2prot_
Definition: MzTab.h:616
bool export_empty_pep_ids_
Definition: MzTab.h:633
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:610
std::vector< String > psm_optional_column_names_
Definition: MzTab.h:649
StringList fixed_mods_
Definition: MzTab.h:629
std::map< String, size_t > idrunid_2_idrunindex_
Definition: MzTab.h:617
bool export_all_psms_
Definition: MzTab.h:634
std::vector< const PeptideIdentification * > peptide_ids_
Definition: MzTab.h:624
std::map< Size, std::set< Size > > ind2prot_
Definition: MzTab.h:615
const MzTabMetaData & getMetaData() const
StringList ms_runs_
Definition: MzTab.h:626
bool nextPSMRow(MzTabPSMSectionRow &row)
std::map< std::pair< String, unsigned >, unsigned > path_label_to_assay_
Definition: MzTab.h:621
std::set< String > peptide_hit_user_value_keys_
Definition: MzTab.h:612
bool first_run_inference_
Definition: MzTab.h:627
std::map< Size, std::vector< std::vector< std::pair< String, String > > > > run_to_search_engines_settings_
Definition: MzTab.h:619
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:647
std::set< String > peptide_id_user_value_keys_
Definition: MzTab.h:611
MzTabString db_
Definition: MzTab.h:645
const std::vector< String > & getPSMOptionalColumnNames() const
MzTabMetaData meta_data_
Definition: MzTab.h:651
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)
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:864
std::vector< Size > empty_rows_
index of empty rows
Definition: MzTab.h:865
MzTabSmallMoleculeSectionRows small_molecule_data_
Definition: MzTab.h:861
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:863
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:866
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:860
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:862
static std::map< Size, MzTabModificationMetaData > generateMzTabStringFromVariableModifications(const std::vector< String > &mods)
MzTabProteinSectionRows protein_data_
Definition: MzTab.h:858
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:859
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:857
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:101
std::vector< String > StringList
Vector of String.
Definition: ListUtils.h:44
const double c
Definition: Constants.h:188
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:22
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