OpenMS  2.6.0
MzTab.h
Go to the documentation of this file.
1 // --------------------------------------------------------------------------
2 // OpenMS -- Open-Source Mass Spectrometry
3 // --------------------------------------------------------------------------
4 // Copyright The OpenMS Team -- Eberhard Karls University Tuebingen,
5 // ETH Zurich, and Freie Universitaet Berlin 2002-2020.
6 //
7 // This software is released under a three-clause BSD license:
8 // * Redistributions of source code must retain the above copyright
9 // notice, this list of conditions and the following disclaimer.
10 // * Redistributions in binary form must reproduce the above copyright
11 // notice, this list of conditions and the following disclaimer in the
12 // documentation and/or other materials provided with the distribution.
13 // * Neither the name of any author or any participating institution
14 // may be used to endorse or promote products derived from this software
15 // without specific prior written permission.
16 // For a full list of authors, refer to the file AUTHORS.
17 // --------------------------------------------------------------------------
18 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 // ARE DISCLAIMED. IN NO EVENT SHALL ANY OF THE AUTHORS OR THE CONTRIBUTING
22 // INSTITUTIONS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
25 // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
26 // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
27 // OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
28 // ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 //
30 // --------------------------------------------------------------------------
31 // $Maintainer: Timo Sachsenberg $
32 // $Authors: Timo Sachsenberg $
33 // --------------------------------------------------------------------------
34 
35 #pragma once
36 
44 
45 #include <boost/optional.hpp>
46 
47 #include <map>
48 #include <vector>
49 #include <list>
50 #include <algorithm>
51 
52 #pragma clang diagnostic push
53 #pragma clang diagnostic ignored "-Wnon-virtual-dtor"
54 
55 namespace OpenMS
56 {
67  {
73  };
74 
75  class OPENMS_DLLAPI MzTabDouble
76  {
77 public:
78  MzTabDouble();
79 
80  explicit MzTabDouble(const double v);
81 
82  void set(const double& value);
83 
84  double get() const;
85 
86  String toCellString() const;
87 
88  void fromCellString(const String& s);
89 
90  bool isNull() const;
91 
92  void setNull(bool b);
93 
94  bool isNaN() const;
95 
96  void setNaN();
97 
98  bool isInf() const;
99 
100  void setInf();
101 
102  ~MzTabDouble() = default;
103 protected:
104  double value_;
106  };
107 
108  class OPENMS_DLLAPI MzTabDoubleList
109  {
110 public:
111  MzTabDoubleList() = default;
112 
113  bool isNull() const;
114 
115  void setNull(bool b);
116 
117  String toCellString() const;
118 
119  void fromCellString(const String& s);
120 
121  std::vector<MzTabDouble> get() const;
122 
123  void set(const std::vector<MzTabDouble>& entries);
124 
125  ~MzTabDoubleList() = default;
126 protected:
127  std::vector<MzTabDouble> entries_;
128  };
129 
130  class OPENMS_DLLAPI MzTabInteger
131  {
132 public:
133  MzTabInteger();
134 
135  explicit MzTabInteger(const int v);
136 
137  void set(const Int& value);
138 
139  Int get() const;
140 
141  String toCellString() const;
142 
143  void fromCellString(const String& s);
144 
145  bool isNull() const;
146 
147  void setNull(bool b);
148 
149  bool isNaN() const;
150 
151  void setNaN();
152 
153  bool isInf() const;
154 
155  void setInf();
156 
157  ~MzTabInteger() = default;
158 protected:
161  };
162 
163  class OPENMS_DLLAPI MzTabIntegerList
164  {
165 public:
166  MzTabIntegerList() = default;
167 
168  bool isNull() const;
169 
170  void setNull(bool b);
171 
172  String toCellString() const;
173 
174  void fromCellString(const String& s);
175 
176  std::vector<MzTabInteger> get() const;
177 
178  void set(const std::vector<MzTabInteger>& entries);
179 
180  ~MzTabIntegerList() = default;
181 protected:
182  std::vector<MzTabInteger> entries_;
183  };
184 
185  class OPENMS_DLLAPI MzTabBoolean
186  {
187 public:
188  MzTabBoolean();
189 
190  bool isNull() const;
191 
192  void setNull(bool b);
193 
194  explicit MzTabBoolean(bool v);
195 
196  void set(const bool& value);
197 
198  Int get() const;
199 
200  String toCellString() const;
201 
202  void fromCellString(const String& s);
203 
204  ~MzTabBoolean() = default;
205 protected:
206  int value_;
207  };
208 
209  class OPENMS_DLLAPI MzTabString
210  {
211 public:
212  MzTabString();
213 
214  explicit MzTabString(const String& s);
215 
216  bool isNull() const;
217 
218  void setNull(bool b);
219 
220  void set(const String& value);
221 
222  String get() const;
223 
224  String toCellString() const;
225 
226  void fromCellString(const String& s);
227 
228  ~MzTabString() = default;
229 protected:
231  };
232 
233  class OPENMS_DLLAPI MzTabParameter
234  {
235 public:
236  MzTabParameter();
237 
238  bool isNull() const;
239 
240  void setNull(bool b);
241 
242  void setCVLabel(const String& CV_label);
243 
244  void setAccession(const String& accession);
245 
246  void setName(const String& name);
247 
248  void setValue(const String& value);
249 
250  String getCVLabel() const;
251 
252  String getAccession() const;
253 
254  String getName() const;
255 
256  String getValue() const;
257 
258  String toCellString() const;
259 
260  void fromCellString(const String& s);
261 
262  ~MzTabParameter() = default;
263 protected:
268  };
269 
270  class OPENMS_DLLAPI MzTabParameterList
271  {
272 public:
273  MzTabParameterList() = default;
274 
275  bool isNull() const;
276 
277  void setNull(bool b);
278 
279  String toCellString() const;
280 
281  void fromCellString(const String& s);
282 
283  std::vector<MzTabParameter> get() const;
284 
285  void set(const std::vector<MzTabParameter>& parameters);
286 
287  ~MzTabParameterList() = default;
288 protected:
289  std::vector<MzTabParameter> parameters_;
290  };
291 
292  class OPENMS_DLLAPI MzTabStringList
293  {
294 public:
295  MzTabStringList();
296 
297  bool isNull() const;
298 
299  void setNull(bool b);
300 
302  void setSeparator(char sep);
303 
304  String toCellString() const;
305 
306  void fromCellString(const String& s);
307 
308  std::vector<MzTabString> get() const;
309 
310  void set(const std::vector<MzTabString>& entries);
311 
312  ~MzTabStringList() = default;
313 protected:
314  std::vector<MzTabString> entries_;
315  char sep_;
316  };
317 
318  class OPENMS_DLLAPI MzTabModification
319  {
320 public:
322 
323  bool isNull() const;
324 
325  void setNull(bool b);
326 
328  void setPositionsAndParameters(const std::vector<std::pair<Size, MzTabParameter> >& ppp);
329 
330  std::vector<std::pair<Size, MzTabParameter> > getPositionsAndParameters() const;
331 
332  void setModificationIdentifier(const MzTabString& mod_id);
333 
334  MzTabString getModOrSubstIdentifier() const;
335 
336  String toCellString() const;
337 
338  void fromCellString(const String& s);
339 
340  ~MzTabModification() = default;
341 protected:
342  std::vector<std::pair<Size, MzTabParameter> > pos_param_pairs_;
344  };
345 
346  class OPENMS_DLLAPI MzTabModificationList
347  {
348 public:
349  bool isNull() const;
350 
351  void setNull(bool b);
352 
353  String toCellString() const;
354 
355  void fromCellString(const String& s);
356 
357  std::vector<MzTabModification> get() const;
358 
359  void set(const std::vector<MzTabModification>& entries);
360 
361  ~MzTabModificationList() = default;
362 protected:
363  std::vector<MzTabModification> entries_;
364  };
365 
366  class OPENMS_DLLAPI MzTabSpectraRef
367  {
368 public:
369  MzTabSpectraRef();
370 
371  bool isNull() const;
372 
373  void setNull(bool b);
374 
375  void setMSFile(Size index);
376 
377  void setSpecRef(const String& spec_ref);
378 
379  String getSpecRef() const;
380 
381  Size getMSFile() const;
382 
383  void setSpecRefFile(const String& spec_ref);
384 
385  String toCellString() const;
386 
387  void fromCellString(const String& s);
388 
389  ~MzTabSpectraRef() = default;
390 protected:
391  Size ms_run_; //< number is specified in the meta data section.
393  };
394 
395 // MTD
396 
397  struct OPENMS_DLLAPI MzTabSampleMetaData
398  {
400  std::map<Size, MzTabParameter> species;
401  std::map<Size, MzTabParameter> tissue;
402  std::map<Size, MzTabParameter> cell_type;
403  std::map<Size, MzTabParameter> disease;
404  std::map<Size, MzTabParameter> custom;
405  };
406 
407  struct OPENMS_DLLAPI MzTabSoftwareMetaData
408  {
410  //TODO shouldn't settings always consist of the name of the setting
411  // and the value?
412  std::map<Size, MzTabString> setting;
413  };
414 
415  struct OPENMS_DLLAPI MzTabModificationMetaData
416  {
420  };
421 
422  struct OPENMS_DLLAPI MzTabAssayMetaData
423  {
425  std::map<Size, MzTabModificationMetaData> quantification_mod;
427  std::vector<int> ms_run_ref; // adapted to address https://github.com/HUPO-PSI/mzTab/issues/26
428  };
429 
430  struct OPENMS_DLLAPI MzTabCVMetaData
431  {
436  };
437 
438  struct OPENMS_DLLAPI MzTabInstrumentMetaData
439  {
442  std::map<Size, MzTabParameter> analyzer;
444  };
445 
446  struct OPENMS_DLLAPI MzTabContactMetaData
447  {
451  };
452 
453  struct OPENMS_DLLAPI MzTabMSRunMetaData
454  {
459  };
460 
461  struct OPENMS_DLLAPI MzTabStudyVariableMetaData
462  {
463  std::vector<int> assay_refs;
464  std::vector<int> sample_refs;
466  };
467 
469  class OPENMS_DLLAPI MzTabMetaData
470  {
471 public:
472  MzTabMetaData();
473 
480 
481  std::map<Size, MzTabParameter> protein_search_engine_score;
482  std::map<Size, MzTabParameter> peptide_search_engine_score;
483  std::map<Size, MzTabParameter> psm_search_engine_score;
484  std::map<Size, MzTabParameter> smallmolecule_search_engine_score;
485  std::map<Size, MzTabParameter> nucleic_acid_search_engine_score;
486  std::map<Size, MzTabParameter> oligonucleotide_search_engine_score;
487  std::map<Size, MzTabParameter> osm_search_engine_score;
488 
489  std::map<Size, MzTabParameterList> sample_processing;
490 
491  std::map<Size, MzTabInstrumentMetaData> instrument;
492 
493  std::map<Size, MzTabSoftwareMetaData> software;
494 
496 
497  std::map<Size, MzTabString> publication;
498 
499  std::map<Size, MzTabContactMetaData> contact;
500 
501  std::map<Size, MzTabString> uri;
502 
503  std::map<Size, MzTabModificationMetaData> fixed_mod;
504 
505  std::map<Size, MzTabModificationMetaData> variable_mod;
506 
508 
512 
513  std::map<Size, MzTabMSRunMetaData> ms_run;
514 
515  std::map<Size, MzTabParameter> custom;
516 
517  std::map<Size, MzTabSampleMetaData> sample;
518 
519  std::map<Size, MzTabAssayMetaData> assay;
520 
521  std::map<Size, MzTabStudyVariableMetaData> study_variable;
522 
523  std::map<Size, MzTabCVMetaData> cv;
524 
525  std::vector<String> colunit_protein;
526  std::vector<String> colunit_peptide;
527  std::vector<String> colunit_psm;
528  std::vector<String> colunit_small_molecule;
529  };
530 
531  typedef std::pair<String, MzTabString> MzTabOptionalColumnEntry; //< column name (not null able), value (null able)
532 
534  struct OPENMS_DLLAPI MzTabProteinSectionRow
535  {
544  std::map<Size, MzTabDouble> best_search_engine_score;
545  std::map<Size, std::map<Size, MzTabDouble> > search_engine_score_ms_run;
547  std::map<Size, MzTabInteger> num_psms_ms_run;
548  std::map<Size, MzTabInteger> num_peptides_distinct_ms_run;
549  std::map<Size, MzTabInteger> num_peptides_unique_ms_run;
555  std::map<Size, MzTabDouble> protein_abundance_assay;
556  std::map<Size, MzTabDouble> protein_abundance_study_variable;
557  std::map<Size, MzTabDouble> protein_abundance_stdev_study_variable;
558  std::map<Size, MzTabDouble> protein_abundance_std_error_study_variable;
559  std::vector<MzTabOptionalColumnEntry> opt_;
560 
562  struct RowCompare
563  {
565  const MzTabProteinSectionRow& row2) const
566  {
567  return row1.accession.get() < row2.accession.get();
568  }
569  };
570  };
571 
573  struct OPENMS_DLLAPI MzTabPeptideSectionRow
574  {
581  std::map<Size, MzTabDouble> best_search_engine_score;
582  std::map<Size, std::map<Size, MzTabDouble> > search_engine_score_ms_run;
591  std::map<Size, MzTabDouble> peptide_abundance_assay;
592  std::map<Size, MzTabDouble> peptide_abundance_study_variable;
593  std::map<Size, MzTabDouble> peptide_abundance_stdev_study_variable;
594  std::map<Size, MzTabDouble> peptide_abundance_std_error_study_variable;
595  std::vector<MzTabOptionalColumnEntry> opt_;
596 
598  struct RowCompare
599  {
601  const MzTabPeptideSectionRow& row2) const
602  {
603  return (std::make_pair(row1.sequence.get(), row1.accession.get()) <
604  std::make_pair(row2.sequence.get(), row2.accession.get()));
605  }
606  };
607  };
608 
610  struct OPENMS_DLLAPI MzTabPSMSectionRow
611  {
619  std::map<Size, MzTabDouble> search_engine_score;
632  std::vector<MzTabOptionalColumnEntry> opt_;
633 
635  struct RowCompare
636  {
637  bool operator()(const MzTabPSMSectionRow& row1,
638  const MzTabPSMSectionRow& row2) const
639  {
640  // @TODO: sort by "PSM_ID"? what's the point of that field?
641  return (std::make_tuple(row1.sequence.get(),
642  row1.spectra_ref.getMSFile(),
643  row1.spectra_ref.getSpecRef(),
644  row1.accession.get()) <
645  std::make_tuple(row2.sequence.get(),
646  row2.spectra_ref.getMSFile(),
647  row2.spectra_ref.getSpecRef(),
648  row2.accession.get()));
649  }
650  };
651  };
652 
654  struct OPENMS_DLLAPI MzTabSmallMoleculeSectionRow
655  {
673  std::map<Size, MzTabDouble> best_search_engine_score;
674  std::map<Size, std::map<Size, MzTabDouble> > search_engine_score_ms_run;
676  std::map<Size, MzTabDouble> smallmolecule_abundance_assay;
677  std::map<Size, MzTabDouble> smallmolecule_abundance_study_variable;
678  std::map<Size, MzTabDouble> smallmolecule_abundance_stdev_study_variable;
680  std::vector<MzTabOptionalColumnEntry> opt_;
681  };
682 
684  struct OPENMS_DLLAPI MzTabNucleicAcidSectionRow
685  {
693  std::map<Size, MzTabDouble> best_search_engine_score;
694  std::map<Size, std::map<Size, MzTabDouble> > search_engine_score_ms_run;
696  std::map<Size, MzTabInteger> num_osms_ms_run;
697  std::map<Size, MzTabInteger> num_oligos_distinct_ms_run;
698  std::map<Size, MzTabInteger> num_oligos_unique_ms_run;
702  // do GO terms make sense for nucleic acid sequences?
705  std::vector<MzTabOptionalColumnEntry> opt_;
706 
708  struct RowCompare
709  {
711  const MzTabNucleicAcidSectionRow& row2) const
712  {
713  return row1.accession.get() < row2.accession.get();
714  }
715  };
716  };
717 
719  struct OPENMS_DLLAPI MzTabOligonucleotideSectionRow
720  {
725  std::map<Size, MzTabDouble> best_search_engine_score;
726  std::map<Size, std::map<Size, MzTabDouble>> search_engine_score_ms_run;
736  std::vector<MzTabOptionalColumnEntry> opt_;
737 
739  struct RowCompare
740  {
742  const MzTabOligonucleotideSectionRow& row2) const
743  {
744  return (std::make_tuple(row1.sequence.get(), row1.accession.get(),
745  row1.start.get(), row1.end.get()) <
746  std::make_tuple(row2.sequence.get(), row2.accession.get(),
747  row2.start.get(), row2.end.get()));
748  }
749  };
750 
751  };
752 
754  struct OPENMS_DLLAPI MzTabOSMSectionRow
755  {
758  std::map<Size, MzTabDouble> search_engine_score;
767  std::vector<MzTabOptionalColumnEntry> opt_;
768 
770  struct RowCompare
771  {
772  bool operator()(const MzTabOSMSectionRow& row1,
773  const MzTabOSMSectionRow& row2) const
774  {
775  return (std::make_tuple(row1.sequence.get(),
776  row1.spectra_ref.getMSFile(),
777  row1.spectra_ref.getSpecRef()) <
778  std::make_tuple(row2.sequence.get(),
779  row2.spectra_ref.getMSFile(),
780  row2.spectra_ref.getSpecRef()));
781  }
782  };
783  };
784 
785  typedef std::vector<MzTabProteinSectionRow> MzTabProteinSectionRows;
786  typedef std::vector<MzTabPeptideSectionRow> MzTabPeptideSectionRows;
787  typedef std::vector<MzTabPSMSectionRow> MzTabPSMSectionRows;
788  typedef std::vector<MzTabSmallMoleculeSectionRow> MzTabSmallMoleculeSectionRows;
789  typedef std::vector<MzTabNucleicAcidSectionRow> MzTabNucleicAcidSectionRows;
790  typedef std::vector<MzTabOligonucleotideSectionRow> MzTabOligonucleotideSectionRows;
791  typedef std::vector<MzTabOSMSectionRow> MzTabOSMSectionRows;
792 
793 
800  class OPENMS_DLLAPI MzTab
801  {
802  public:
804  MzTab() = default;
805  ~MzTab() = default;
806 
807  const MzTabMetaData& getMetaData() const;
808 
809  void setMetaData(const MzTabMetaData& md);
810 
811  MzTabProteinSectionRows& getProteinSectionRows();
812 
813  const MzTabProteinSectionRows& getProteinSectionRows() const;
814 
815  void setProteinSectionRows(const MzTabProteinSectionRows& psd);
816 
817  MzTabPeptideSectionRows& getPeptideSectionRows();
818 
819  const MzTabPeptideSectionRows& getPeptideSectionRows() const;
820 
821  void setPeptideSectionRows(const MzTabPeptideSectionRows& psd);
822 
823  MzTabPSMSectionRows& getPSMSectionRows();
824 
825  const MzTabPSMSectionRows& getPSMSectionRows() const;
826 
827  void setPSMSectionRows(const MzTabPSMSectionRows& psd);
828 
829  const MzTabSmallMoleculeSectionRows& getSmallMoleculeSectionRows() const;
830 
831  void setSmallMoleculeSectionRows(const MzTabSmallMoleculeSectionRows& smsd);
832 
833  const MzTabNucleicAcidSectionRows& getNucleicAcidSectionRows() const;
834 
835  void setNucleicAcidSectionRows(const MzTabNucleicAcidSectionRows& nasd);
836 
837  const MzTabOligonucleotideSectionRows& getOligonucleotideSectionRows() const;
838 
839  void setOligonucleotideSectionRows(const MzTabOligonucleotideSectionRows& onsd);
840 
841  const MzTabOSMSectionRows& getOSMSectionRows() const;
842 
843  void setOSMSectionRows(const MzTabOSMSectionRows& osd);
844 
845  void setCommentRows(const std::map<Size, String>& com);
846 
847  void setEmptyRows(const std::vector<Size>& empty);
848 
849  const std::vector<Size>& getEmptyRows() const;
850 
851  const std::map<Size, String>& getCommentRows() const;
852 
854  std::vector<String> getProteinOptionalColumnNames() const;
855 
857  std::vector<String> getPeptideOptionalColumnNames() const;
858 
860  std::vector<String> getPSMOptionalColumnNames() const;
861 
863  std::vector<String> getSmallMoleculeOptionalColumnNames() const;
864 
871  static void addPepEvidenceToRows(const std::vector<PeptideEvidence>& peptide_evidences, MzTabPSMSectionRow& row);
872 
874  std::vector<String> getNucleicAcidOptionalColumnNames() const;
875 
877  std::vector<String> getOligonucleotideOptionalColumnNames() const;
878 
879  static void addMetaInfoToOptionalColumns(const std::set<String>& keys, std::vector<MzTabOptionalColumnEntry>& opt, const String& id, const MetaInfoInterface& meta);
880 
882  std::vector<String> getOSMOptionalColumnNames() const;
883 
884  static std::map<Size, MzTabModificationMetaData> generateMzTabStringFromModifications(const std::vector<String>& mods);
885 
886  static std::map<Size, MzTabModificationMetaData> generateMzTabStringFromVariableModifications(const std::vector<String>& mods);
887 
888  static std::map<Size, MzTabModificationMetaData> generateMzTabStringFromFixedModifications(const std::vector<String>& mods);
889 
890  static MzTab exportFeatureMapToMzTab(const FeatureMap& feature_map, const String& filename);
891 
904  static MzTab exportIdentificationsToMzTab(
905  const std::vector<ProteinIdentification>& prot_ids,
906  const std::vector<PeptideIdentification>& peptide_ids,
907  const String& filename,
908  bool first_run_inference_only,
909  bool export_empty_pep_ids = false,
910  const String& title = "ID export from OpenMS");
911 
912 
917  static MzTabModificationList extractModificationList(const PeptideHit& pep_hit, const std::vector<String>& fixed_mods, const std::vector<String>& localization_mods);
918 
930  static MzTab exportConsensusMapToMzTab(
931  const ConsensusMap& consensus_map,
932  const String& filename,
933  const bool first_run_inference_only,
934  const bool export_unidentified_features,
935  const bool export_unassigned_ids,
936  const bool export_subfeatures,
937  const bool export_empty_pep_ids = false,
938  const String& title = "ConsensusMap export from OpenMS");
939 
941  {
942  public:
944  const std::vector<const ProteinIdentification*>& prot_ids,
945  const std::vector<const PeptideIdentification*>& peptide_ids,
946  const String& filename,
947  bool first_run_inference_only,
948  bool export_empty_pep_ids = false,
949  const String& title = "ID export from OpenMS");
950 
951  const MzTabMetaData& getMetaData() const;
952 
953  const std::vector<String>& getProteinOptionalColumnNames() const;
954  const std::vector<String>& getPeptideOptionalColumnNames() const;
955  const std::vector<String>& getPSMOptionalColumnNames() const;
956 
957  bool nextPRTRow(MzTabProteinSectionRow& row);
958  bool nextPEPRow(MzTabPeptideSectionRow& row);
959  bool nextPSMRow(MzTabPSMSectionRow& row);
960  private:
962  std::set<String> peptide_id_user_value_keys_;
964 
965  // beautiful mapping structs
966  std::map<Size, std::set<Size>> ind2prot_;
967  std::map<Size, std::set<Size>> pg2prot_;
968  std::map<String, size_t> idrunid_2_idrunindex_;
969  std::map<Size, std::vector<std::pair<String, String>>> run_to_search_engines_;
970  std::map<Size, std::vector<std::vector<std::pair<String, String>>>> run_to_search_engines_settings_;
971  std::map<std::pair<size_t,size_t>,size_t> map_id_run_fileidx_2_msfileidx_;
972  std::map<std::pair< String, unsigned >, unsigned> path_label_to_assay_;
973 
974  std::vector<const ProteinIdentification*> prot_ids_;
975  std::vector<const PeptideIdentification*> peptide_ids_;
976 
984  size_t quant_study_variables_ = 0;
985  size_t n_study_variables_ = 0;
986  size_t PRT_STATE_ = 0;
987  size_t prt_run_id_ = 0; // current (protein) identification run
988  size_t prt_hit_id_ = 0; // current protein in (protein) identification run
989  size_t prt_group_id_ = 0;
990  size_t prt_indistgroup_id_ = 0;
991  size_t pep_id_ = 0;
992  size_t psm_id_ = 0;
994 
995  std::vector<String> prt_optional_column_names_;
996  std::vector<String> pep_optional_column_names_;
997  std::vector<String> psm_optional_column_names_;
998 
1000  };
1001 
1003  {
1004  public:
1005  CMMzTabStream(
1006  const ConsensusMap& consensus_map,
1007  const String& filename,
1008  const bool first_run_inference_only,
1009  const bool export_unidentified_features,
1010  const bool export_unassigned_ids,
1011  const bool export_subfeatures,
1012  const bool export_empty_pep_ids = false,
1013  const String& title = "ConsensusMap export from OpenMS");
1014 
1015  const MzTabMetaData& getMetaData() const;
1016 
1017  const std::vector<String>& getProteinOptionalColumnNames() const;
1018  const std::vector<String>& getPeptideOptionalColumnNames() const;
1019  const std::vector<String>& getPSMOptionalColumnNames() const;
1020 
1021  bool nextPRTRow(MzTabProteinSectionRow& row);
1022  bool nextPEPRow(MzTabPeptideSectionRow& row);
1023  bool nextPSMRow(MzTabPSMSectionRow& row);
1024  private:
1029 
1030  // beautiful mapping structs
1031  std::map<Size, std::set<Size>> ind2prot_;
1032  std::map<Size, std::set<Size>> pg2prot_;
1033  std::map<String, size_t> idrunid_2_idrunindex_;
1034  std::map<Size, std::vector<std::pair<String, String>>> run_to_search_engines_;
1035  std::map<Size, std::vector<std::vector<std::pair<String, String>>>> run_to_search_engines_settings_;
1036  std::map<std::pair<size_t,size_t>,size_t> map_id_run_fileidx_2_msfileidx_;
1037  std::map<std::pair< String, unsigned >, unsigned> path_label_to_assay_;
1038 
1039  std::vector<const ProteinIdentification*> prot_ids_;
1040  std::vector<const PeptideIdentification*> peptide_ids_;
1041 
1049  size_t quant_study_variables_ = 0;
1050  size_t n_study_variables_ = 0;
1051  size_t PRT_STATE_ = 0;
1052  size_t prt_run_id_ = 0; // current (protein) identification run
1053  size_t prt_hit_id_ = 0; // current protein in (protein) identification run
1054  size_t prt_group_id_ = 0;
1055  size_t prt_indistgroup_id_ = 0;
1056  size_t pep_id_ = 0;
1057  size_t psm_id_ = 0;
1059 
1060  std::vector<String> prt_optional_column_names_;
1061  std::vector<String> pep_optional_column_names_;
1062  std::vector<String> psm_optional_column_names_;
1063 
1065  };
1066 
1067 
1068  protected:
1069  // extract basic mappings
1070 
1071  static std::map<String, Size> mapIDRunIdentifier2IDRunIndex_(const std::vector<const ProteinIdentification*>& prot_ids);
1072 
1073  static boost::optional<MzTabPSMSectionRow> PSMSectionRowFromPeptideID_(
1074  const PeptideIdentification& pid,
1075  const std::vector<const ProteinIdentification*>& prot_id,
1076  std::map<String, size_t>& idrun_2_run_index,
1077  std::map<std::pair<size_t,size_t>,size_t>& map_run_fileidx_2_msfileidx,
1078  std::map<Size, std::vector<std::pair<String, String>>>& run_to_search_engines,
1079  const int psm_id,
1080  const MzTabString& db,
1081  const MzTabString& db_version,
1082  const bool export_empty_pep_ids);
1083 
1084  static MzTabPeptideSectionRow peptideSectionRowFromConsensusFeature_(
1085  const ConsensusFeature& c,
1086  const ConsensusMap& consensus_map,
1087  const StringList& ms_runs,
1088  const Size n_study_variables,
1089  const std::set<String>& consensus_feature_user_value_keys,
1090  const std::set<String>& peptide_hit_user_value_keys,
1091  const std::map<String, size_t>& idrun_2_run_index,
1092  const std::map<std::pair<size_t,size_t>,size_t>& map_run_fileidx_2_msfileidx,
1093  const std::map< std::pair< String, unsigned >, unsigned>& path_label_to_assay,
1094  const std::vector<String>& fixed_mods,
1095  bool export_subfeatures);
1096 
1097  static MzTabPeptideSectionRow peptideSectionRowFromFeature_(
1098  const Feature& c,
1099  const std::set<String>& feature_user_value_keys,
1100  const std::set<String>& peptide_hit_user_value_keys,
1101  const std::vector<String>& fixed_mods);
1102 
1103  static MzTabProteinSectionRow proteinSectionRowFromProteinHit_(
1104  const ProteinHit& hit,
1105  const MzTabString& db,
1106  const MzTabString& db_version,
1107  const std::set<String>& protein_hit_user_value_keys);
1108 
1109  static MzTabProteinSectionRow nextProteinSectionRowFromProteinGroup_(
1111  const MzTabString& db,
1112  const MzTabString& db_version);
1113 
1114  static MzTabProteinSectionRow nextProteinSectionRowFromIndistinguishableGroup_(
1115  const std::vector<ProteinHit>& protein_hits,
1117  const size_t g,
1118  const std::map<Size, std::set<Size>>& ind2prot,
1119  const MzTabString& db,
1120  const MzTabString& db_version);
1121 
1122  static void addMSRunMetaData_(
1123  const std::map<size_t, String>& msrunindex_2_msfilename,
1124  MzTabMetaData& meta_data);
1125 
1126  static void mapBetweenMSFileNameAndMSRunIndex_(
1127  const std::vector<const ProteinIdentification*>& prot_ids,
1128  bool skip_first,
1129  std::map<String, size_t>& msfilename_2_msrunindex,
1130  std::map<size_t, String>& msrunindex_2_msfilename);
1131 
1132  static size_t getQuantStudyVariables_(const ProteinIdentification& pid);
1133 
1134  static MzTabParameter getProteinScoreType_(const ProteinIdentification& prot_id);
1135 
1136  // TODO: move to core classes?
1137  static void getConsensusMapMetaValues_(const ConsensusMap& consensus_map, std::set<String>& consensus_feature_user_value_keys, std::set<String>& peptide_hit_user_value_keys);
1138 
1139  static void getFeatureMapMetaValues_(const FeatureMap& feature_map, std::set<String>& feature_user_value_keys, std::set<String>& peptide_hit_user_value_keys);
1140 
1141  static void getIdentificationMetaValues_(
1142  const std::vector<const ProteinIdentification*>& prot_ids,
1143  std::vector<const PeptideIdentification*>& peptide_ids_,
1144  std::set<String>& protein_hit_user_value_keys,
1145  std::set<String>& peptide_id_user_value_keys,
1146  std::set<String>& peptide_hit_user_value_keys);
1147 
1148 
1149  template <class ForwardIterator>
1150  static void replaceWhiteSpaces_(ForwardIterator first, ForwardIterator last)
1151  {
1152  while (first!=last)
1153  {
1154  first->substitute(' ', '_');
1155  ++first;
1156  }
1157  }
1158 
1159  static void replaceWhiteSpaces_(std::set<String>& keys)
1160  {
1161  std::set<String> tmp_keys;
1162  auto first = keys.begin();
1163  while (first != keys.end())
1164  {
1165  String s = *first;
1166  s.substitute(' ', '_');
1167  tmp_keys.insert(std::move(s));
1168  ++first;
1169  }
1170  std::swap(keys, tmp_keys);
1171  }
1172 
1173  // determine spectrum reference identifier type (e.g., Thermo nativeID) from spectrum references
1174  static MzTabParameter getMSRunSpectrumIdentifierType_(const std::vector<const PeptideIdentification*>& peptide_ids_);
1175 
1176  static void mapBetweenRunAndSearchEngines_(
1177  const std::vector<const ProteinIdentification*>& prot_ids,
1178  const std::vector<const PeptideIdentification*>& pep_ids,
1179  bool skip_first_run,
1180  std::map<std::tuple<String, String, String>, std::set<Size>>& search_engine_to_runs,
1181  std::map<Size, std::vector<std::pair<String, String>>>& run_to_search_engines,
1182  std::map<Size, std::vector<std::vector<std::pair<String, String>>>>& run_to_search_engines_settings,
1183  std::map<String, std::vector<std::pair<String, String>>>& search_engine_to_settings);
1184 
1185  static std::map<Size, std::set<Size>> mapGroupsToProteins_(
1186  const std::vector<ProteinIdentification::ProteinGroup>& groups,
1187  const std::vector<ProteinHit>& proteins);
1188 
1189  static void addSearchMetaData_(
1190  const std::vector<const ProteinIdentification*>& prot_ids,
1191  const std::map<std::tuple<String, String, String>, std::set<Size>>& search_engine_to_runs,
1192  const std::map<String, std::vector<std::pair<String,String>>>& search_engine_to_settings,
1193  MzTabMetaData& meta_data,
1194  bool first_run_inference_only);
1195 
1196  static void mapIDRunFileIndex2MSFileIndex_(
1197  const std::vector<const ProteinIdentification*>& prot_ids,
1198  const std::map<String, size_t>& msfilename_2_msrunindex,
1199  bool skip_first_run,
1200  std::map<std::pair<size_t, size_t>, size_t>& map_run_fileidx_2_msfileidx);
1201 
1203  template <typename SectionRows>
1204  std::vector<String> getOptionalColumnNames_(const SectionRows& rows) const
1205  {
1206  // vector is used to preserve the column order
1207  std::vector<String> names;
1208  if (!rows.empty())
1209  {
1210  for (typename SectionRows::const_iterator it = rows.begin(); it != rows.end(); ++it)
1211  {
1212  for (auto it_opt = it->opt_.cbegin(); it_opt != it->opt_.cend(); ++it_opt)
1213  {
1214  if (std::find(names.begin(), names.end(), it_opt->first) == names.end())
1215  {
1216  names.push_back(it_opt->first);
1217  }
1218  }
1219  }
1220  }
1221  return names;
1222  }
1223 
1224  static void getSearchModifications_(
1225  const std::vector<const ProteinIdentification*>& prot_ids,
1226  StringList& var_mods,
1227  StringList& fixed_mods);
1228 
1229  // create MzTab compatible modification identifier from ResidueModification
1230  // If the Modification has a unimod identifier it will be prefixed as UNIMOD
1231  // otherwise as CHEMMOD (see MzTab specification for details)
1232  static MzTabString getModificationIdentifier_(const ResidueModification& r);
1233 
1234  static void checkSequenceUniqueness_(const std::vector<PeptideIdentification>& curr_pep_ids);
1235 
1244  std::vector<Size> empty_rows_;
1245  std::map<Size, String> comment_rows_;
1246  };
1247 
1248 } // namespace OpenMS
1249 
1250 #pragma clang diagnostic pop
OpenMS::MzTab::IDMzTabStream::meta_data_
MzTabMetaData meta_data_
Definition: MzTab.h:999
OpenMS::MzTabProteinSectionRow::search_engine_score_ms_run
std::map< Size, std::map< Size, MzTabDouble > > search_engine_score_ms_run
search_engine_score[index1]_ms_run[index2]
Definition: MzTab.h:545
OpenMS::MzTab::CMMzTabStream::prt_optional_column_names_
std::vector< String > prt_optional_column_names_
Definition: MzTab.h:1060
OpenMS::MzTabMetaData::smallmolecule_search_engine_score
std::map< Size, MzTabParameter > smallmolecule_search_engine_score
Definition: MzTab.h:484
OpenMS::MzTabProteinSectionRow
PRT - Protein section (Table based)
Definition: MzTab.h:534
OpenMS::MzTabString::value_
String value_
Definition: MzTab.h:230
OpenMS::MzTabPeptideSectionRow::peptide_abundance_stdev_study_variable
std::map< Size, MzTabDouble > peptide_abundance_stdev_study_variable
Definition: MzTab.h:593
OpenMS::MzTabInstrumentMetaData
Definition: MzTab.h:438
OpenMS::MzTabProteinSectionRow::protein_abundance_study_variable
std::map< Size, MzTabDouble > protein_abundance_study_variable
Definition: MzTab.h:556
OpenMS::MzTabAssayMetaData::sample_ref
MzTabString sample_ref
Definition: MzTab.h:426
OpenMS::MzTabOligonucleotideSectionRows
std::vector< MzTabOligonucleotideSectionRow > MzTabOligonucleotideSectionRows
Definition: MzTab.h:790
OpenMS::MzTabProteinSectionRow::num_peptides_unique_ms_run
std::map< Size, MzTabInteger > num_peptides_unique_ms_run
Definition: MzTab.h:549
OpenMS::MzTabSampleMetaData::species
std::map< Size, MzTabParameter > species
Definition: MzTab.h:400
OpenMS::MzTabPeptideSectionRow::uri
MzTabString uri
Location of the PSMs source entry.
Definition: MzTab.h:589
OpenMS::MzTab::IDMzTabStream::export_unidentified_features_
bool export_unidentified_features_
Definition: MzTab.h:981
OpenMS::MzTabInteger::get
Int get() const
OpenMS::MzTab::IDMzTabStream::prot_ids_
std::vector< const ProteinIdentification * > prot_ids_
Definition: MzTab.h:974
OpenMS::MzTabProteinSectionRow::RowCompare
Comparison operator for sorting rows.
Definition: MzTab.h:562
OpenMS::MzTabPSMSectionRow::RowCompare
Comparison operator for sorting rows.
Definition: MzTab.h:635
OpenMS::MzTabMetaData::cv
std::map< Size, MzTabCVMetaData > cv
Definition: MzTab.h:523
OpenMS::MzTab::getOptionalColumnNames_
std::vector< String > getOptionalColumnNames_(const SectionRows &rows) const
Helper function for "get...OptionalColumnNames" functions.
Definition: MzTab.h:1204
OpenMS::MzTabPeptideSectionRow::unique
MzTabBoolean unique
0=false, 1=true, null else: Peptide is unique for the protein.
Definition: MzTab.h:577
OpenMS::MzTabOSMSectionRow::RowCompare
Comparison operator for sorting rows.
Definition: MzTab.h:770
OpenMS::ResidueModification
Representation of a modification.
Definition: ResidueModification.h:76
OpenMS::MzTabOligonucleotideSectionRow::RowCompare::operator()
bool operator()(const MzTabOligonucleotideSectionRow &row1, const MzTabOligonucleotideSectionRow &row2) const
Definition: MzTab.h:741
OpenMS::MzTabProteinSectionRow::accession
MzTabString accession
The protein’s accession.
Definition: MzTab.h:537
OpenMS::MzTabPSMSectionRow::end
MzTabString end
Definition: MzTab.h:631
OpenMS::MzTabModification
Definition: MzTab.h:318
OpenMS::MzTabSmallMoleculeSectionRow::smallmolecule_abundance_study_variable
std::map< Size, MzTabDouble > smallmolecule_abundance_study_variable
Definition: MzTab.h:677
OpenMS::MzTabMetaData::sample
std::map< Size, MzTabSampleMetaData > sample
Definition: MzTab.h:517
OpenMS::MzTabPeptideSectionRow::spectra_ref
MzTabSpectraRef spectra_ref
Spectra identifying the peptide.
Definition: MzTab.h:590
OpenMS::MzTabPSMSectionRows
std::vector< MzTabPSMSectionRow > MzTabPSMSectionRows
Definition: MzTab.h:787
OpenMS::MzTabSampleMetaData::custom
std::map< Size, MzTabParameter > custom
Definition: MzTab.h:404
OpenMS::MzTabModificationMetaData
Definition: MzTab.h:415
OpenMS::MzTabDouble::value_
double value_
Definition: MzTab.h:104
OpenMS::MzTabStudyVariableMetaData
Definition: MzTab.h:461
OpenMS::MzTab::CMMzTabStream::db_version_
MzTabString db_version_
Definition: MzTab.h:1058
OpenMS::MzTabModification::mod_identifier_
MzTabString mod_identifier_
Definition: MzTab.h:343
OpenMS::MzTabPSMSectionRow::exp_mass_to_charge
MzTabDouble exp_mass_to_charge
The m/z ratio of the experimental precursor ion.
Definition: MzTab.h:624
OpenMS::String::substitute
String & substitute(char from, char to)
Replaces all occurrences of the character from by the character to.
OpenMS::MzTabMetaData::mz_tab_type
MzTabString mz_tab_type
Definition: MzTab.h:476
OpenMS::MzTabPeptideSectionRow::peptide_abundance_study_variable
std::map< Size, MzTabDouble > peptide_abundance_study_variable
Definition: MzTab.h:592
OpenMS::MzTabProteinSectionRows
std::vector< MzTabProteinSectionRow > MzTabProteinSectionRows
Definition: MzTab.h:785
OpenMS::MzTabPeptideSectionRow::best_search_engine_score
std::map< Size, MzTabDouble > best_search_engine_score
Search engine(s) score(s) for the peptide.
Definition: MzTab.h:581
OpenMS::MzTabNucleicAcidSectionRows
std::vector< MzTabNucleicAcidSectionRow > MzTabNucleicAcidSectionRows
Definition: MzTab.h:789
OpenMS::MzTabDouble::state_
MzTabCellStateType state_
Definition: MzTab.h:105
OpenMS::MzTabCVMetaData::full_name
MzTabString full_name
Definition: MzTab.h:433
OpenMS::MzTab::IDMzTabStream::pg2prot_
std::map< Size, std::set< Size > > pg2prot_
Definition: MzTab.h:967
OpenMS::MzTabModificationMetaData::site
MzTabString site
Definition: MzTab.h:418
OpenMS::MzTabInstrumentMetaData::detector
MzTabParameter detector
Definition: MzTab.h:443
OpenMS::String
A more convenient string class.
Definition: String.h:59
OpenMS::MzTab::CMMzTabStream::fixed_mods_
StringList fixed_mods_
Definition: MzTab.h:1045
OpenMS::MzTabPeptideSectionRow
PEP - Peptide section (Table based)
Definition: MzTab.h:573
OpenMS::MzTabNucleicAcidSectionRow::RowCompare
Comparison operator for sorting rows.
Definition: MzTab.h:708
OpenMS::MzTabNucleicAcidSectionRow::num_oligos_unique_ms_run
std::map< Size, MzTabInteger > num_oligos_unique_ms_run
Definition: MzTab.h:698
OpenMS::MzTab::IDMzTabStream::peptide_id_user_value_keys_
std::set< String > peptide_id_user_value_keys_
Definition: MzTab.h:962
OpenMS::MzTabProteinSectionRow::coverage
MzTabDouble coverage
(0-1) Amount of protein sequence identified.
Definition: MzTab.h:554
OpenMS::MzTabMetaData::colunit_protein
std::vector< String > colunit_protein
Definition: MzTab.h:525
OpenMS::MzTab::IDMzTabStream::fixed_mods_
StringList fixed_mods_
Definition: MzTab.h:980
OpenMS::MzTabPeptideSectionRow::opt_
std::vector< MzTabOptionalColumnEntry > opt_
Optional columns must start with “opt_”.
Definition: MzTab.h:595
OpenMS::MzTabPeptideSectionRow::mass_to_charge
MzTabDouble mass_to_charge
Precursor ion’s m/z.
Definition: MzTab.h:588
OpenMS::MzTab::CMMzTabStream::consensus_feature_peptide_hit_user_value_keys_
std::set< String > consensus_feature_peptide_hit_user_value_keys_
Definition: MzTab.h:1028
OpenMS::MzTabProteinSectionRow::uri
MzTabString uri
Location of the protein’s source entry.
Definition: MzTab.h:552
PeptideEvidence.h
ConsensusMap.h
OpenMS::MzTabMetaData::variable_mod
std::map< Size, MzTabModificationMetaData > variable_mod
Definition: MzTab.h:505
OpenMS::MzTabPeptideSectionRow::peptide_abundance_std_error_study_variable
std::map< Size, MzTabDouble > peptide_abundance_std_error_study_variable
Definition: MzTab.h:594
OpenMS::Size
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition: Types.h:127
OpenMS::ProteinHit
Representation of a protein hit.
Definition: ProteinHit.h:58
OpenMS::Constants::c
const double c
OpenMS::MzTabProteinSectionRow::best_search_engine_score
std::map< Size, MzTabDouble > best_search_engine_score
best_search_engine_score[1-n]
Definition: MzTab.h:544
OpenMS::MzTabMetaData::nucleic_acid_search_engine_score
std::map< Size, MzTabParameter > nucleic_acid_search_engine_score
Definition: MzTab.h:485
OpenMS::MzTabProteinSectionRow::description
MzTabString description
Human readable description (i.e. the name)
Definition: MzTab.h:538
OpenMS::MzTab
Data model of MzTab files. Please see the official MzTab specification at https://code....
Definition: MzTab.h:800
OpenMS::MzTab::CMMzTabStream::consensus_feature_user_value_keys_
std::set< String > consensus_feature_user_value_keys_
Definition: MzTab.h:1027
OpenMS::SIZE_OF_MZTAB_CELLTYPE
Definition: MzTab.h:72
OpenMS::MzTabMetaData::uri
std::map< Size, MzTabString > uri
Definition: MzTab.h:501
OpenMS::MzTabMetaData::colunit_small_molecule
std::vector< String > colunit_small_molecule
Definition: MzTab.h:528
OpenMS::MzTabPeptideSectionRow::database_version
MzTabString database_version
Version (and optionally # of entries).
Definition: MzTab.h:579
OpenMS::MzTabMetaData::title
MzTabString title
Definition: MzTab.h:478
OpenMS::MzTabMetaData::osm_search_engine_score
std::map< Size, MzTabParameter > osm_search_engine_score
Definition: MzTab.h:487
OpenMS::MzTab::replaceWhiteSpaces_
static void replaceWhiteSpaces_(std::set< String > &keys)
Definition: MzTab.h:1159
OpenMS::MzTab::IDMzTabStream::psm_optional_column_names_
std::vector< String > psm_optional_column_names_
Definition: MzTab.h:997
OpenMS::MzTabPeptideSectionRow::accession
MzTabString accession
The protein’s accession.
Definition: MzTab.h:576
OpenMS::MzTab::psm_data_
MzTabPSMSectionRows psm_data_
Definition: MzTab.h:1239
OpenMS::MzTab::protein_data_
MzTabProteinSectionRows protein_data_
Definition: MzTab.h:1237
OpenMS::MzTabMetaData::study_variable
std::map< Size, MzTabStudyVariableMetaData > study_variable
Definition: MzTab.h:521
OpenMS::MzTabSampleMetaData::description
MzTabString description
Definition: MzTab.h:399
OpenMS::MzTabPeptideSectionRow::search_engine_score_ms_run
std::map< Size, std::map< Size, MzTabDouble > > search_engine_score_ms_run
Definition: MzTab.h:582
OpenMS::ProteinIdentification
Representation of a protein identification run.
Definition: ProteinIdentification.h:70
OpenMS::MzTabProteinSectionRow::database_version
MzTabString database_version
String Version of the protein database.
Definition: MzTab.h:542
OpenMS::MzTabOligonucleotideSectionRow::end
MzTabInteger end
Definition: MzTab.h:735
OpenMS::MzTabMSRunMetaData::id_format
MzTabParameter id_format
Definition: MzTab.h:457
OpenMS::MzTabPeptideSectionRow::sequence
MzTabString sequence
The peptide’s sequence.
Definition: MzTab.h:575
OpenMS::MzTab::IDMzTabStream::peptide_ids_
std::vector< const PeptideIdentification * > peptide_ids_
Definition: MzTab.h:975
OpenMS::MzTab::CMMzTabStream::export_subfeatures_
bool export_subfeatures_
Definition: MzTab.h:1047
OpenMS::MzTabPSMSectionRow
PSM - PSM section (Table based)
Definition: MzTab.h:610
OpenMS::MzTabMetaData::assay
std::map< Size, MzTabAssayMetaData > assay
Definition: MzTab.h:519
OpenMS::MzTabMSRunMetaData
Definition: MzTab.h:453
OpenMS::MzTabParameter::value_
String value_
Definition: MzTab.h:267
OpenMS::MzTabSoftwareMetaData::software
MzTabParameter software
Definition: MzTab.h:409
OpenMS::MzTab::IDMzTabStream::ms_runs_
StringList ms_runs_
Definition: MzTab.h:977
OpenMS::MzTabIntegerList
Definition: MzTab.h:163
OpenMS::MzTab::comment_rows_
std::map< Size, String > comment_rows_
comments
Definition: MzTab.h:1245
OpenMS::MzTab::IDMzTabStream::protein_hit_user_value_keys_
std::set< String > protein_hit_user_value_keys_
Definition: MzTab.h:961
OpenMS::MzTabContactMetaData::email
MzTabString email
Definition: MzTab.h:450
OpenMS::MzTab::IDMzTabStream::first_run_inference_
bool first_run_inference_
Definition: MzTab.h:978
OpenMS::MzTabMetaData::false_discovery_rate
MzTabParameterList false_discovery_rate
Definition: MzTab.h:495
OpenMS::MzTabStringList
Definition: MzTab.h:292
OpenMS::MzTabPeptideSectionRow::reliability
MzTabInteger reliability
(1-3) 0=null Identification reliability for the peptide.
Definition: MzTab.h:583
OpenMS::MzTabMetaData::software
std::map< Size, MzTabSoftwareMetaData > software
Definition: MzTab.h:493
OpenMS::MzTabProteinSectionRow::taxid
MzTabInteger taxid
NEWT taxonomy for the species.
Definition: MzTab.h:539
OpenMS::MzTabAssayMetaData::quantification_mod
std::map< Size, MzTabModificationMetaData > quantification_mod
Definition: MzTab.h:425
OpenMS::MZTAB_CELLSTATE_NULL
Definition: MzTab.h:69
OpenMS::MzTab::CMMzTabStream::map_id_run_fileidx_2_msfileidx_
std::map< std::pair< size_t, size_t >, size_t > map_id_run_fileidx_2_msfileidx_
Definition: MzTab.h:1036
OpenMS::MzTabAssayMetaData::quantification_reagent
MzTabParameter quantification_reagent
Definition: MzTab.h:424
OpenMS::MzTab::IDMzTabStream::path_label_to_assay_
std::map< std::pair< String, unsigned >, unsigned > path_label_to_assay_
Definition: MzTab.h:972
OpenMS::MzTabInteger::state_
MzTabCellStateType state_
Definition: MzTab.h:160
OpenMS::MzTabMetaData
all meta data of a mzTab file. Please refer to specification for documentation.
Definition: MzTab.h:469
OpenMS::MzTabSampleMetaData::cell_type
std::map< Size, MzTabParameter > cell_type
Definition: MzTab.h:402
OpenMS::MzTabProteinSectionRow::opt_
std::vector< MzTabOptionalColumnEntry > opt_
Optional Columns must start with “opt_”
Definition: MzTab.h:559
OpenMS::MzTabPSMSectionRow::post
MzTabString post
Definition: MzTab.h:629
OpenMS::MzTab::CMMzTabStream::ms_runs_
StringList ms_runs_
Definition: MzTab.h:1042
OpenMS
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:46
OpenMS::MzTabSoftwareMetaData
Definition: MzTab.h:407
OpenMS::MzTab::CMMzTabStream::run_to_search_engines_settings_
std::map< Size, std::vector< std::vector< std::pair< String, String > > > > run_to_search_engines_settings_
Definition: MzTab.h:1035
OpenMS::MzTab::IDMzTabStream::filename_
String filename_
Definition: MzTab.h:979
OpenMS::MzTabMetaData::custom
std::map< Size, MzTabParameter > custom
Definition: MzTab.h:515
OpenMS::MzTabStudyVariableMetaData::assay_refs
std::vector< int > assay_refs
Definition: MzTab.h:463
OpenMS::MzTabPeptideSectionRow::peptide_abundance_assay
std::map< Size, MzTabDouble > peptide_abundance_assay
Definition: MzTab.h:591
OpenMS::MzTabNucleicAcidSectionRow::ambiguity_members
MzTabStringList ambiguity_members
Alternative nucleic acid identifications.
Definition: MzTab.h:699
Exception.h
OpenMS::MzTabSmallMoleculeSectionRow::inchi_key
MzTabString inchi_key
InChi Key of the identified compound.
Definition: MzTab.h:659
OpenMS::MzTabSampleMetaData
Definition: MzTab.h:397
OpenMS::MzTabMetaData::protein_quantification_unit
MzTabParameter protein_quantification_unit
Definition: MzTab.h:509
OpenMS::MzTabPeptideSectionRows
std::vector< MzTabPeptideSectionRow > MzTabPeptideSectionRows
Definition: MzTab.h:786
OpenMS::MzTab::CMMzTabStream::protein_hit_user_value_keys_
std::set< String > protein_hit_user_value_keys_
Definition: MzTab.h:1026
OpenMS::MzTabDouble
Definition: MzTab.h:75
OpenMS::MzTab::CMMzTabStream::export_unidentified_features_
bool export_unidentified_features_
Definition: MzTab.h:1046
OpenMS::MzTabModificationList::entries_
std::vector< MzTabModification > entries_
Definition: MzTab.h:363
OpenMS::MzTabInstrumentMetaData::source
MzTabParameter source
Definition: MzTab.h:441
OpenMS::MzTabProteinSectionRow::num_psms_ms_run
std::map< Size, MzTabInteger > num_psms_ms_run
Definition: MzTab.h:547
OpenMS::MzTab::CMMzTabStream::peptide_ids_
std::vector< const PeptideIdentification * > peptide_ids_
Definition: MzTab.h:1040
OpenMS::MzTabProteinSectionRow::num_peptides_distinct_ms_run
std::map< Size, MzTabInteger > num_peptides_distinct_ms_run
Definition: MzTab.h:548
OpenMS::MzTab::CMMzTabStream::run_to_search_engines_
std::map< Size, std::vector< std::pair< String, String > > > run_to_search_engines_
Definition: MzTab.h:1034
OpenMS::MzTab::IDMzTabStream::map_id_run_fileidx_2_msfileidx_
std::map< std::pair< size_t, size_t >, size_t > map_id_run_fileidx_2_msfileidx_
Definition: MzTab.h:971
OpenMS::MzTabIntegerList::entries_
std::vector< MzTabInteger > entries_
Definition: MzTab.h:182
OpenMS::MzTabNucleicAcidSectionRow::num_osms_ms_run
std::map< Size, MzTabInteger > num_osms_ms_run
Definition: MzTab.h:696
OpenMS::MZTAB_CELLSTATE_NAN
Definition: MzTab.h:70
OpenMS::MzTab::meta_data_
MzTabMetaData meta_data_
Definition: MzTab.h:1236
OpenMS::MzTabSmallMoleculeSectionRow::smallmolecule_abundance_stdev_study_variable
std::map< Size, MzTabDouble > smallmolecule_abundance_stdev_study_variable
Definition: MzTab.h:678
OpenMS::MzTabAssayMetaData
Definition: MzTab.h:422
OpenMS::MetaInfoInterface
Interface for classes that can store arbitrary meta information (Type-Name-Value tuples).
Definition: MetaInfoInterface.h:60
int
OpenMS::MZTAB_CELLSTATE_DEFAULT
Definition: MzTab.h:68
OpenMS::MzTabDoubleList
Definition: MzTab.h:108
OpenMS::MzTabParameterList
Definition: MzTab.h:270
OpenMS::MzTabMetaData::mz_tab_version
MzTabString mz_tab_version
Definition: MzTab.h:474
OpenMS::MzTabProteinSectionRow::reliability
MzTabInteger reliability
Definition: MzTab.h:546
OpenMS::MzTabCellStateType
MzTabCellStateType
Data model of MzTab files.
Definition: MzTab.h:66
OpenMS::MzTabSpectraRef::getSpecRef
String getSpecRef() const
OpenMS::MzTabMetaData::mz_tab_mode
MzTabString mz_tab_mode
Definition: MzTab.h:475
OpenMS::MzTab::CMMzTabStream::meta_data_
MzTabMetaData meta_data_
Definition: MzTab.h:1064
FeatureMap.h
OpenMS::MzTabBoolean
Definition: MzTab.h:185
OpenMS::MzTabNucleicAcidSectionRow
NUC - Nucleic acid section (table-based)
Definition: MzTab.h:684
OpenMS::MzTab::nucleic_acid_data_
MzTabNucleicAcidSectionRows nucleic_acid_data_
Definition: MzTab.h:1241
OpenMS::MzTabPeptideSectionRow::search_engine
MzTabParameterList search_engine
Search engine(s) that identified the peptide.
Definition: MzTab.h:580
OpenMS::MzTabSmallMoleculeSectionRow::identifier
MzTabStringList identifier
The small molecule’s identifier.
Definition: MzTab.h:656
OpenMS::MzTabSpectraRef::ms_run_
Size ms_run_
Definition: MzTab.h:391
OpenMS::MzTabProteinSectionRow::RowCompare::operator()
bool operator()(const MzTabProteinSectionRow &row1, const MzTabProteinSectionRow &row2) const
Definition: MzTab.h:564
OpenMS::ConsensusFeature
A consensus feature spanning multiple LC-MS/MS experiments.
Definition: ConsensusFeature.h:69
OpenMS::MzTabSmallMoleculeSectionRow::modifications
MzTabString modifications
Modifications identified on the small molecule.
Definition: MzTab.h:675
OpenMS::MzTab::CMMzTabStream
Definition: MzTab.h:1002
OpenMS::MzTabPeptideSectionRow::charge
MzTabInteger charge
Precursor ion’s charge.
Definition: MzTab.h:587
OpenMS::MzTabPeptideSectionRow::database
MzTabString database
Name of the sequence database.
Definition: MzTab.h:578
OpenMS::MzTabCVMetaData::url
MzTabString url
Definition: MzTab.h:435
OpenMS::MzTabParameter
Definition: MzTab.h:233
OpenMS::MzTabProteinSectionRow::species
MzTabString species
Human readable name of the species.
Definition: MzTab.h:540
OpenMS::MzTabModificationMetaData::modification
MzTabParameter modification
Definition: MzTab.h:417
OpenMS::MzTabMetaData::psm_search_engine_score
std::map< Size, MzTabParameter > psm_search_engine_score
Definition: MzTab.h:483
OpenMS::MzTabProteinSectionRow::protein_abundance_assay
std::map< Size, MzTabDouble > protein_abundance_assay
Definition: MzTab.h:555
OpenMS::MzTabMetaData::colunit_peptide
std::vector< String > colunit_peptide
Definition: MzTab.h:526
OpenMS::MzTabOSMSectionRow::RowCompare::operator()
bool operator()(const MzTabOSMSectionRow &row1, const MzTabOSMSectionRow &row2) const
Definition: MzTab.h:772
OpenMS::MzTabParameter::CV_label_
String CV_label_
Definition: MzTab.h:264
OpenMS::MzTabPSMSectionRow::pre
MzTabString pre
Definition: MzTab.h:628
OpenMS::MzTabPSMSectionRow::search_engine_score
std::map< Size, MzTabDouble > search_engine_score
Search engine(s) score(s) for the peptide.
Definition: MzTab.h:619
OpenMS::MzTabCVMetaData
Definition: MzTab.h:430
OpenMS::MzTabCVMetaData::label
MzTabString label
Definition: MzTab.h:432
OpenMS::MzTabProteinSectionRow::modifications
MzTabModificationList modifications
Modifications identified in the protein.
Definition: MzTab.h:551
OpenMS::MzTabSpectraRef::getMSFile
Size getMSFile() const
OpenMS::MzTab::CMMzTabStream::consensus_map_
const ConsensusMap & consensus_map_
Definition: MzTab.h:1025
OpenMS::MzTabInstrumentMetaData::analyzer
std::map< Size, MzTabParameter > analyzer
Definition: MzTab.h:442
OpenMS::MzTab::IDMzTabStream::prt_optional_column_names_
std::vector< String > prt_optional_column_names_
Definition: MzTab.h:995
OpenMS::MzTabStringList::entries_
std::vector< MzTabString > entries_
Definition: MzTab.h:314
OpenMS::MzTab::osm_data_
MzTabOSMSectionRows osm_data_
/ oligonucleotide-spectrum matches
Definition: MzTab.h:1243
OpenMS::MzTabOligonucleotideSectionRow::RowCompare
Comparison operator for sorting rows.
Definition: MzTab.h:739
seqan::find
bool find(TFinder &finder, const Pattern< TNeedle, FuzzyAC > &me, PatternAuxData< TNeedle > &dh)
Definition: AhoCorasickAmbiguous.h:884
OpenMS::MzTabNucleicAcidSectionRow::go_terms
MzTabStringList go_terms
List of GO terms for the nucleic acid.
Definition: MzTab.h:703
OpenMS::MZTAB_CELLSTATE_INF
Definition: MzTab.h:71
OpenMS::ConsensusMap
A container for consensus elements.
Definition: ConsensusMap.h:80
OpenMS::MzTab::IDMzTabStream::idrunid_2_idrunindex_
std::map< String, size_t > idrunid_2_idrunindex_
Definition: MzTab.h:968
OpenMS::StringList
std::vector< String > StringList
Vector of String.
Definition: ListUtils.h:70
OpenMS::MzTab::IDMzTabStream
Definition: MzTab.h:940
OpenMS::MzTabProteinSectionRow::ambiguity_members
MzTabStringList ambiguity_members
Alternative protein identifications.
Definition: MzTab.h:550
OpenMS::MzTab::CMMzTabStream::pg2prot_
std::map< Size, std::set< Size > > pg2prot_
Definition: MzTab.h:1032
OpenMS::MzTabSmallMoleculeSectionRow::chemical_formula
MzTabString chemical_formula
Chemical formula of the identified compound.
Definition: MzTab.h:657
OpenMS::MzTabMetaData::publication
std::map< Size, MzTabString > publication
Definition: MzTab.h:497
OpenMS::MzTabSmallMoleculeSectionRow::species
MzTabString species
Human readable name of the species.
Definition: MzTab.h:666
SVOutStream.h
OpenMS::MzTabSampleMetaData::tissue
std::map< Size, MzTabParameter > tissue
Definition: MzTab.h:401
OpenMS::MzTab::CMMzTabStream::idrunid_2_idrunindex_
std::map< String, size_t > idrunid_2_idrunindex_
Definition: MzTab.h:1033
OpenMS::MzTab::CMMzTabStream::pep_optional_column_names_
std::vector< String > pep_optional_column_names_
Definition: MzTab.h:1061
OpenMS::MzTab::peptide_data_
MzTabPeptideSectionRows peptide_data_
Definition: MzTab.h:1238
OpenMS::MzTabStudyVariableMetaData::sample_refs
std::vector< int > sample_refs
Definition: MzTab.h:464
OpenMS::MzTabMetaData::oligonucleotide_search_engine_score
std::map< Size, MzTabParameter > oligonucleotide_search_engine_score
Definition: MzTab.h:486
OpenMS::MzTab::IDMzTabStream::pep_optional_column_names_
std::vector< String > pep_optional_column_names_
Definition: MzTab.h:996
OpenMS::MzTabOSMSectionRows
std::vector< MzTabOSMSectionRow > MzTabOSMSectionRows
Definition: MzTab.h:791
OpenMS::MzTabMetaData::quantification_method
MzTabParameter quantification_method
Definition: MzTab.h:507
OpenMS::MzTabSampleMetaData::disease
std::map< Size, MzTabParameter > disease
Definition: MzTab.h:403
OpenMS::MzTabProteinSectionRow::search_engine
MzTabParameterList search_engine
Search engine(s) identifying the protein.
Definition: MzTab.h:543
OpenMS::MzTabModificationMetaData::position
MzTabString position
Definition: MzTab.h:419
OpenMS::MzTabContactMetaData::name
MzTabString name
Definition: MzTab.h:448
OpenMS::FeatureMap
A container for features.
Definition: FeatureMap.h:97
OpenMS::MzTabProteinSectionRow::protein_abundance_std_error_study_variable
std::map< Size, MzTabDouble > protein_abundance_std_error_study_variable
Definition: MzTab.h:558
OpenMS::PeptideIdentification
Represents the peptide hits for a spectrum.
Definition: PeptideIdentification.h:62
OpenMS::MzTab::IDMzTabStream::run_to_search_engines_settings_
std::map< Size, std::vector< std::vector< std::pair< String, String > > > > run_to_search_engines_settings_
Definition: MzTab.h:970
AASequence.h
OpenMS::MzTabBoolean::value_
int value_
Definition: MzTab.h:206
OpenMS::Feature
An LC-MS feature.
Definition: Feature.h:70
OpenMS::MzTabModificationList
Definition: MzTab.h:346
OpenMS::MzTabPSMSectionRow::start
MzTabString start
Definition: MzTab.h:630
OpenMS::MzTabMetaData::protein_search_engine_score
std::map< Size, MzTabParameter > protein_search_engine_score
Definition: MzTab.h:481
OpenMS::MzTabSmallMoleculeSectionRow::smallmolecule_abundance_std_error_study_variable
std::map< Size, MzTabDouble > smallmolecule_abundance_std_error_study_variable
Definition: MzTab.h:679
OpenMS::MzTab::empty_rows_
std::vector< Size > empty_rows_
index of empty rows
Definition: MzTab.h:1244
OpenMS::MzTabPeptideSectionRow::RowCompare::operator()
bool operator()(const MzTabPeptideSectionRow &row1, const MzTabPeptideSectionRow &row2) const
Definition: MzTab.h:600
OpenMS::MzTabPSMSectionRow::PSM_ID
MzTabInteger PSM_ID
Definition: MzTab.h:613
OpenMS::MzTabSmallMoleculeSectionRow::smallmolecule_abundance_assay
std::map< Size, MzTabDouble > smallmolecule_abundance_assay
Definition: MzTab.h:676
OpenMS::MzTabOligonucleotideSectionRow
OLI - Oligonucleotide section (table-based)
Definition: MzTab.h:719
OpenMS::MzTabNucleicAcidSectionRow::num_oligos_distinct_ms_run
std::map< Size, MzTabInteger > num_oligos_distinct_ms_run
Definition: MzTab.h:697
OpenMS::MzTabAssayMetaData::ms_run_ref
std::vector< int > ms_run_ref
Definition: MzTab.h:427
OpenMS::MzTabMetaData::instrument
std::map< Size, MzTabInstrumentMetaData > instrument
Definition: MzTab.h:491
OpenMS::MzTab::IDMzTabStream::run_to_search_engines_
std::map< Size, std::vector< std::pair< String, String > > > run_to_search_engines_
Definition: MzTab.h:969
OpenMS::MzTabMetaData::peptide_search_engine_score
std::map< Size, MzTabParameter > peptide_search_engine_score
Definition: MzTab.h:482
OpenMS::MzTabProteinSectionRow::go_terms
MzTabStringList go_terms
List of GO terms for the protein.
Definition: MzTab.h:553
OpenMS::MzTab::replaceWhiteSpaces_
static void replaceWhiteSpaces_(ForwardIterator first, ForwardIterator last)
Definition: MzTab.h:1150
OpenMS::MzTabOSMSectionRow
OSM - OSM (oligonucleotide-spectrum match) section (table-based)
Definition: MzTab.h:754
OpenMS::MzTabSmallMoleculeSectionRow::taxid
MzTabInteger taxid
NEWT taxonomy for the species.
Definition: MzTab.h:665
OpenMS::MzTabStringList::sep_
char sep_
Definition: MzTab.h:315
OpenMS::MzTabParameter::name_
String name_
Definition: MzTab.h:266
OpenMS::MzTabSmallMoleculeSectionRow
SML Small molecule section (table based)
Definition: MzTab.h:654
OpenMS::MzTab::CMMzTabStream::path_label_to_assay_
std::map< std::pair< String, unsigned >, unsigned > path_label_to_assay_
Definition: MzTab.h:1037
OpenMS::MzTabDoubleList::entries_
std::vector< MzTabDouble > entries_
Definition: MzTab.h:127
OpenMS::MzTab::CMMzTabStream::ind2prot_
std::map< Size, std::set< Size > > ind2prot_
Definition: MzTab.h:1031
OpenMS::MzTabProteinSectionRow::database
MzTabString database
Name of the protein database.
Definition: MzTab.h:541
OpenMS::MzTabInteger
Definition: MzTab.h:130
OpenMS::MzTabMetaData::sample_processing
std::map< Size, MzTabParameterList > sample_processing
Definition: MzTab.h:489
OpenMS::MzTab::IDMzTabStream::export_subfeatures_
bool export_subfeatures_
Definition: MzTab.h:982
OpenMS::MzTabMetaData::contact
std::map< Size, MzTabContactMetaData > contact
Definition: MzTab.h:499
OpenMS::MzTab::CMMzTabStream::prot_ids_
std::vector< const ProteinIdentification * > prot_ids_
Definition: MzTab.h:1039
OpenMS::MzTabContactMetaData::affiliation
MzTabString affiliation
Definition: MzTab.h:449
OpenMS::MzTab::oligonucleotide_data_
MzTabOligonucleotideSectionRows oligonucleotide_data_
Definition: MzTab.h:1242
OpenMS::MzTabParameterList::parameters_
std::vector< MzTabParameter > parameters_
Definition: MzTab.h:289
OpenMS::MzTabSpectraRef::spec_ref_
String spec_ref_
Definition: MzTab.h:392
OpenMS::MzTabMSRunMetaData::location
MzTabString location
Definition: MzTab.h:456
OpenMS::MzTabPeptideSectionRow::RowCompare
Comparison operator for sorting rows.
Definition: MzTab.h:598
OpenMS::MzTabMetaData::peptide_quantification_unit
MzTabParameter peptide_quantification_unit
Definition: MzTab.h:510
OpenMS::MzTabCVMetaData::version
MzTabString version
Definition: MzTab.h:434
OpenMS::MzTabInstrumentMetaData::name
MzTabParameter name
Definition: MzTab.h:440
OpenMS::MzTab::IDMzTabStream::db_version_
MzTabString db_version_
Definition: MzTab.h:993
OpenMS::MzTabInteger::value_
Int value_
Definition: MzTab.h:159
OpenMS::MzTab::CMMzTabStream::psm_optional_column_names_
std::vector< String > psm_optional_column_names_
Definition: MzTab.h:1062
OpenMS::MzTabSpectraRef
Definition: MzTab.h:366
OpenMS::MzTabMetaData::ms_run
std::map< Size, MzTabMSRunMetaData > ms_run
Definition: MzTab.h:513
OpenMS::MzTab::IDMzTabStream::export_empty_pep_ids_
bool export_empty_pep_ids_
Definition: MzTab.h:983
OpenMS::MzTabContactMetaData
Definition: MzTab.h:446
OpenMS::MzTabPeptideSectionRow::retention_time_window
MzTabDoubleList retention_time_window
Definition: MzTab.h:586
OpenMS::MzTabNucleicAcidSectionRow::coverage
MzTabDouble coverage
(0-1) Fraction of nucleic acid sequence identified.
Definition: MzTab.h:704
OpenMS::MzTabProteinSectionRow::protein_abundance_stdev_study_variable
std::map< Size, MzTabDouble > protein_abundance_stdev_study_variable
Definition: MzTab.h:557
OpenMS::MzTabMSRunMetaData::format
MzTabParameter format
Definition: MzTab.h:455
OpenMS::MzTabPSMSectionRow::RowCompare::operator()
bool operator()(const MzTabPSMSectionRow &row1, const MzTabPSMSectionRow &row2) const
Definition: MzTab.h:637
OpenMS::MzTabParameter::accession_
String accession_
Definition: MzTab.h:265
OpenMS::MzTabModification::pos_param_pairs_
std::vector< std::pair< Size, MzTabParameter > > pos_param_pairs_
Definition: MzTab.h:342
OpenMS::MzTab::small_molecule_data_
MzTabSmallMoleculeSectionRows small_molecule_data_
Definition: MzTab.h:1240
OpenMS::MzTab::IDMzTabStream::ind2prot_
std::map< Size, std::set< Size > > ind2prot_
Definition: MzTab.h:966
OpenMS::MzTabOligonucleotideSectionRow::start
MzTabInteger start
Definition: MzTab.h:734
OpenMS::MzTab::CMMzTabStream::filename_
String filename_
Definition: MzTab.h:1044
OpenMS::MzTab::CMMzTabStream::export_empty_pep_ids_
bool export_empty_pep_ids_
Definition: MzTab.h:1048
OpenMS::MzTabSmallMoleculeSectionRow::smiles
MzTabString smiles
Molecular structure in SMILES format.
Definition: MzTab.h:658
OpenMS::MzTabOptionalColumnEntry
std::pair< String, MzTabString > MzTabOptionalColumnEntry
Definition: MzTab.h:531
OpenMS::MzTabPSMSectionRow::calc_mass_to_charge
MzTabDouble calc_mass_to_charge
Definition: MzTab.h:625
StandardTypes.h
OpenMS::MzTabPeptideSectionRow::modifications
MzTabModificationList modifications
Modifications identified in the peptide.
Definition: MzTab.h:584
OpenMS::MzTabMetaData::mz_tab_id
MzTabString mz_tab_id
Definition: MzTab.h:477
OpenMS::MzTab::CMMzTabStream::first_run_inference_
bool first_run_inference_
Definition: MzTab.h:1043
OpenMS::MzTabMetaData::colunit_psm
std::vector< String > colunit_psm
Definition: MzTab.h:527
OpenMS::MzTabPeptideSectionRow::retention_time
MzTabDoubleList retention_time
Time points in seconds. Semantics may vary.
Definition: MzTab.h:585
OpenMS::MzTabSoftwareMetaData::setting
std::map< Size, MzTabString > setting
Definition: MzTab.h:412
OpenMS::MzTabMSRunMetaData::fragmentation_method
MzTabParameterList fragmentation_method
Definition: MzTab.h:458
OpenMS::MzTabString
Definition: MzTab.h:209
OpenMS::MzTab::IDMzTabStream::peptide_hit_user_value_keys_
std::set< String > peptide_hit_user_value_keys_
Definition: MzTab.h:963
OpenMS::MzTabString::get
String get() const
OpenMS::ProteinIdentification::ProteinGroup
Bundles multiple (e.g. indistinguishable) proteins in a group.
Definition: ProteinIdentification.h:117
OpenMS::MzTabMetaData::fixed_mod
std::map< Size, MzTabModificationMetaData > fixed_mod
Definition: MzTab.h:503
OpenMS::MzTabMetaData::description
MzTabString description
Definition: MzTab.h:479
OpenMS::MzTabSmallMoleculeSectionRows
std::vector< MzTabSmallMoleculeSectionRow > MzTabSmallMoleculeSectionRows
Definition: MzTab.h:788
OpenMS::PeptideHit
Representation of a peptide hit.
Definition: PeptideHit.h:55
OpenMS::MzTabNucleicAcidSectionRow::RowCompare::operator()
bool operator()(const MzTabNucleicAcidSectionRow &row1, const MzTabNucleicAcidSectionRow &row2) const
Definition: MzTab.h:710
OpenMS::MzTabMetaData::small_molecule_quantification_unit
MzTabParameter small_molecule_quantification_unit
Definition: MzTab.h:511