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