OpenMS  2.4.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-2018.
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 
39 #include <map>
40 #include <vector>
41 #include <list>
42 #include <algorithm>
44 
45 #pragma clang diagnostic push
46 #pragma clang diagnostic ignored "-Wnon-virtual-dtor"
47 
48 namespace OpenMS
49 {
57 // MzTab supports null, NaN, Inf for cells with Integer or Double values. MzTabCellType explicitly defines the state of the cell for these types.
59  {
65  };
66 
67 // basic interface for all MzTab datatypes (can be null; are converted from and to cell string)
68  class OPENMS_DLLAPI MzTabNullAbleInterface
69  {
70 public:
71  virtual ~MzTabNullAbleInterface();
72  virtual bool isNull() const = 0;
73  virtual void setNull(bool b) = 0;
74  virtual String toCellString() const = 0;
75  virtual void fromCellString(const String&) = 0;
76  };
77 
78 // interface for NaN- and Inf- able datatypes (Double and Integer in MzTab). These are as well null-able
79  class OPENMS_DLLAPI MzTabNullNaNAndInfAbleInterface :
81  {
82 public:
84  virtual bool isNaN() const = 0;
85  virtual void setNaN() = 0;
86  virtual bool isInf() const = 0;
87  virtual void setInf() = 0;
88  };
89 
90 // base class for atomic, non-container types (Double, Int)
91  class OPENMS_DLLAPI MzTabNullAbleBase :
93  {
94 public:
96 
97  ~MzTabNullAbleBase() override;
98 
99  bool isNull() const override;
100 
101  void setNull(bool b) override;
102 
103 protected:
104  bool null_;
105  };
106 
107 // base class for the atomic non-container like MzTab data types (Double, Int)
108  class OPENMS_DLLAPI MzTabNullNaNAndInfAbleBase :
110  {
111 public:
113 
114  ~MzTabNullNaNAndInfAbleBase() override;
115 
116  bool isNull() const override;
117 
118  void setNull(bool b) override;
119 
120  bool isNaN() const override;
121 
122  void setNaN() override;
123 
124  bool isInf() const override;
125 
126  void setInf() override;
127 
128 protected:
130  };
131 
132  class OPENMS_DLLAPI MzTabDouble :
134  {
135 public:
136  MzTabDouble();
137 
138  explicit MzTabDouble(const double v);
139 
140  ~MzTabDouble() override;
141 
142  void set(const double& value);
143 
144  double get() const;
145 
146  String toCellString() const override;
147 
148  void fromCellString(const String& s) override;
149 
150 protected:
151  double value_;
152  };
153 
154  class OPENMS_DLLAPI MzTabDoubleList :
155  public MzTabNullAbleBase
156  {
157 public:
158  MzTabDoubleList();
159 
160  ~MzTabDoubleList() override;
161 
162  bool isNull() const override;
163 
164  void setNull(bool b) override;
165 
166  String toCellString() const override;
167 
168  void fromCellString(const String& s) override;
169 
170  std::vector<MzTabDouble> get() const;
171 
172  void set(const std::vector<MzTabDouble>& entries);
173 
174 protected:
175  std::vector<MzTabDouble> entries_;
176  };
177 
178  class OPENMS_DLLAPI MzTabInteger :
180  {
181 public:
182  MzTabInteger();
183 
184  explicit MzTabInteger(const int v);
185 
186  ~MzTabInteger() override;
187 
188  void set(const Int& value);
189 
190  Int get() const;
191 
192  String toCellString() const override;
193 
194  void fromCellString(const String& s) override;
195 
196 protected:
198  };
199 
200  class OPENMS_DLLAPI MzTabIntegerList :
201  public MzTabNullAbleBase
202  {
203 public:
205 
206  bool isNull() const override;
207 
208  void setNull(bool b) override;
209 
210  String toCellString() const override;
211 
212  void fromCellString(const String& s) override;
213 
214  std::vector<MzTabInteger> get() const;
215 
216  void set(const std::vector<MzTabInteger>& entries);
217 
218 protected:
219  std::vector<MzTabInteger> entries_;
220  };
221 
222  class OPENMS_DLLAPI MzTabBoolean :
223  public MzTabNullAbleBase
224  {
225 public:
226  MzTabBoolean();
227 
228  explicit MzTabBoolean(bool v);
229 
230  ~MzTabBoolean() override;
231 
232  void set(const bool& value);
233 
234  Int get() const;
235 
236  String toCellString() const override;
237 
238  void fromCellString(const String& s) override;
239 
240 protected:
241  bool value_;
242  };
243 
244  class OPENMS_DLLAPI MzTabString :
246  {
247 public:
248  MzTabString();
249 
250  explicit MzTabString(const String& s);
251 
252  ~MzTabString() override;
253 
254  void set(const String& value);
255 
256  String get() const;
257 
258  bool isNull() const override;
259 
260  void setNull(bool b) override;
261 
262  String toCellString() const override;
263 
264  void fromCellString(const String& s) override;
265 
266 protected:
268  };
269 
270  class OPENMS_DLLAPI MzTabParameter :
272  {
273 public:
274  MzTabParameter();
275 
276  ~MzTabParameter() override;
277 
278  bool isNull() const override;
279 
280  void setNull(bool b) override;
281 
282  void setCVLabel(const String& CV_label);
283 
284  void setAccession(const String& accession);
285 
286  void setName(const String& name);
287 
288  void setValue(const String& value);
289 
290  String getCVLabel() const;
291 
292  String getAccession() const;
293 
294  String getName() const;
295 
296  String getValue() const;
297 
298  String toCellString() const override;
299 
300  void fromCellString(const String& s) override;
301 
302 protected:
307  };
308 
309  class OPENMS_DLLAPI MzTabParameterList :
311  {
312 public:
313 
314  ~MzTabParameterList() override;
315 
316  bool isNull() const override;
317 
318  void setNull(bool b) override;
319 
320  String toCellString() const override;
321 
322  void fromCellString(const String& s) override;
323 
324  std::vector<MzTabParameter> get() const;
325 
326  void set(const std::vector<MzTabParameter>& parameters);
327 
328 protected:
329  std::vector<MzTabParameter> parameters_;
330  };
331 
332  class OPENMS_DLLAPI MzTabStringList :
334  {
335 public:
336  MzTabStringList();
337 
338  ~MzTabStringList() override;
339 
340  // needed for e.g. ambiguity_members and GO accessions as these use ',' as separator while the others use '|'
341  void setSeparator(char sep);
342 
343  bool isNull() const override;
344 
345  void setNull(bool b) override;
346 
347  String toCellString() const override;
348 
349  void fromCellString(const String& s) override;
350 
351  std::vector<MzTabString> get() const;
352 
353  void set(const std::vector<MzTabString>& entries);
354 
355 protected:
356  std::vector<MzTabString> entries_;
357  char sep_;
358  };
359 
360  class OPENMS_DLLAPI MzTabModification :
362  {
363 public:
365 
366  ~MzTabModification() override;
367 
368  bool isNull() const override;
369 
370  void setNull(bool b) override;
371 
372  // set (potentially ambiguous) position(s) with associated parameter (might be null if not set)
373  void setPositionsAndParameters(const std::vector<std::pair<Size, MzTabParameter> >& ppp);
374 
375  std::vector<std::pair<Size, MzTabParameter> > getPositionsAndParameters() const;
376 
377  void setModificationIdentifier(const MzTabString& mod_id);
378 
379  MzTabString getModOrSubstIdentifier() const;
380 
381  String toCellString() const override;
382 
383  void fromCellString(const String& s) override;
384 
385 protected:
386  std::vector<std::pair<Size, MzTabParameter> > pos_param_pairs_;
388  };
389 
390  class OPENMS_DLLAPI MzTabModificationList :
391  public MzTabNullAbleBase
392  {
393 public:
394  ~MzTabModificationList() override;
395 
396  bool isNull() const override;
397 
398  void setNull(bool b) override;
399 
400  String toCellString() const override;
401 
402  void fromCellString(const String& s) override;
403 
404  std::vector<MzTabModification> get() const;
405 
406  void set(const std::vector<MzTabModification>& entries);
407 
408 protected:
409  std::vector<MzTabModification> entries_;
410 
411  };
412 
413  class OPENMS_DLLAPI MzTabSpectraRef :
415  {
416 public:
417  MzTabSpectraRef();
418 
419  ~MzTabSpectraRef() override;
420 
421  bool isNull() const override;
422 
423  void setNull(bool b) override;
424 
425  void setMSFile(Size index);
426 
427  void setSpecRef(String spec_ref);
428 
429  String getSpecRef() const;
430 
431  Size getMSFile() const;
432 
433  void setSpecRefFile(const String& spec_ref);
434 
435  String toCellString() const override;
436 
437  void fromCellString(const String& s) override;
438 
439 protected:
440  Size ms_run_; // number is specified in the meta data section.
442  };
443 
444 // MTD
445 
446  struct OPENMS_DLLAPI MzTabSampleMetaData
447  {
449  std::map<Size, MzTabParameter> species;
450  std::map<Size, MzTabParameter> tissue;
451  std::map<Size, MzTabParameter> cell_type;
452  std::map<Size, MzTabParameter> disease;
453  std::map<Size, MzTabParameter> custom;
454  };
455 
456  struct OPENMS_DLLAPI MzTabSoftwareMetaData
457  {
459  std::map<Size, MzTabString> setting;
460  };
461 
462  struct OPENMS_DLLAPI MzTabModificationMetaData
463  {
467  };
468 
469  struct OPENMS_DLLAPI MzTabAssayMetaData
470  {
472  std::map<Size, MzTabModificationMetaData> quantification_mod;
475  };
476 
477  struct OPENMS_DLLAPI MzTabCVMetaData
478  {
483  };
484 
485  struct OPENMS_DLLAPI MzTabInstrumentMetaData
486  {
489  std::map<Size, MzTabParameter> analyzer;
491  };
492 
493  struct OPENMS_DLLAPI MzTabContactMetaData
494  {
498  };
499 
500  struct OPENMS_DLLAPI MzTabMSRunMetaData
501  {
506  };
507 
508  struct OPENMS_DLLAPI MzTabStudyVariableMetaData
509  {
513  };
514 
515 // all meta data of a mzTab file. Please refer to specification for documentation.
516  class OPENMS_DLLAPI MzTabMetaData
517  {
518 public:
519  MzTabMetaData();
520 
527 
528  std::map<Size, MzTabParameter> protein_search_engine_score;
529  std::map<Size, MzTabParameter> peptide_search_engine_score;
530  std::map<Size, MzTabParameter> psm_search_engine_score;
531  std::map<Size, MzTabParameter> smallmolecule_search_engine_score;
532 
533  std::map<Size, MzTabParameterList> sample_processing;
534 
535  std::map<Size, MzTabInstrumentMetaData> instrument;
536 
537  std::map<Size, MzTabSoftwareMetaData> software;
538 
540 
541  std::map<Size, MzTabString> publication;
542 
543  std::map<Size, MzTabContactMetaData> contact;
544 
545  std::map<Size, MzTabString> uri;
546 
547  std::map<Size, MzTabModificationMetaData> fixed_mod;
548 
549  std::map<Size, MzTabModificationMetaData> variable_mod;
550 
552 
556 
557  std::map<Size, MzTabMSRunMetaData> ms_run;
558 
559  std::map<Size, MzTabParameter> custom;
560 
561  std::map<Size, MzTabSampleMetaData> sample;
562 
563  std::map<Size, MzTabAssayMetaData> assay;
564 
565  std::map<Size, MzTabStudyVariableMetaData> study_variable;
566 
567  std::map<Size, MzTabCVMetaData> cv;
568 
569  std::vector<String> colunit_protein;
570  std::vector<String> colunit_peptide;
571  std::vector<String> colunit_psm;
572  std::vector<String> colunit_small_molecule;
573  };
574 
575  typedef std::pair<String, MzTabString> MzTabOptionalColumnEntry; // column name (not null able), value (null able)
576 
577 // PRT - Protein section (Table based)
578  struct OPENMS_DLLAPI MzTabProteinSectionRow
579  {
581  MzTabString accession; // The protein’s accession.
582  MzTabString description; // Human readable description (i.e. the name)
583  MzTabInteger taxid; // NEWT taxonomy for the species.
584  MzTabString species; // Human readable name of the species
585  MzTabString database; // Name of the protein database.
586  MzTabString database_version; // String Version of the protein database.
587  MzTabParameterList search_engine; // Search engine(s) identifying the protein.
588  std::map<Size, MzTabDouble> best_search_engine_score; // best_search_engine_score[1-n]
589  std::map<Size, std::map<Size, MzTabDouble> > search_engine_score_ms_run; // search_engine_score[index1]_ms_run[index2]
591  std::map<Size, MzTabInteger> num_psms_ms_run;
592  std::map<Size, MzTabInteger> num_peptides_distinct_ms_run;
593  std::map<Size, MzTabInteger> num_peptides_unique_ms_run;
594  MzTabStringList ambiguity_members; // Alternative protein identifications.
595  MzTabModificationList modifications; // Modifications identified in the protein.
596  MzTabString uri; // Location of the protein’s source entry.
597  MzTabStringList go_terms; // List of GO terms for the protein.
598  MzTabDouble protein_coverage; // (0-1) Amount of protein sequence identified.
599  std::map<Size, MzTabDouble> protein_abundance_assay;
600  std::map<Size, MzTabDouble> protein_abundance_study_variable;
601  std::map<Size, MzTabDouble> protein_abundance_stdev_study_variable;
602  std::map<Size, MzTabDouble> protein_abundance_std_error_study_variable;
603  std::vector<MzTabOptionalColumnEntry> opt_; // Optional Columns must start with “opt_”
604  };
605 
606 // PEP - Peptide section (Table based)
607  struct OPENMS_DLLAPI MzTabPeptideSectionRow
608  {
609  MzTabString sequence; // The peptide’s sequence.
610  MzTabString accession; // The protein’s accession.
611  MzTabBoolean unique; // 0=false, 1=true, null else: Peptide is unique for the protein.
612  MzTabString database; // Name of the sequence database.
613  MzTabString database_version; // Version (and optionally # of entries).
614  MzTabParameterList search_engine; // Search engine(s) that identified the peptide.
615  std::map<Size, MzTabDouble> best_search_engine_score; // Search engine(s) score(s) for the peptide.
616  std::map<Size, std::map<Size, MzTabDouble> > search_engine_score_ms_run;
617  MzTabInteger reliability; // (1-3) 0=null Identification reliability for the peptide.
618  MzTabModificationList modifications; // Modifications identified in the peptide.
619  MzTabDoubleList retention_time; // Time points in seconds. Semantics may vary.
621  MzTabInteger charge; // Precursor ion’s charge.
622  MzTabDouble mass_to_charge; // Precursor ion’s m/z.
623  MzTabString uri; // Location of the PSMs source entry.
624  MzTabSpectraRef spectra_ref; // Spectra identifying the peptide.
625  std::map<Size, MzTabDouble> peptide_abundance_assay;
626  std::map<Size, MzTabDouble> peptide_abundance_study_variable;
627  std::map<Size, MzTabDouble> peptide_abundance_stdev_study_variable;
628  std::map<Size, MzTabDouble> peptide_abundance_std_error_study_variable;
629  std::vector<MzTabOptionalColumnEntry> opt_; // Optional columns must start with “opt_”.
630  };
631 
632 // PSM - PSM section (Table based)
633  struct OPENMS_DLLAPI MzTabPSMSectionRow
634  {
635  MzTabString sequence; // The peptide’s sequence.
637  MzTabString accession; // The protein’s accession.
638  MzTabBoolean unique; // 0=false, 1=true, null else: Peptide is unique for the protein.
639  MzTabString database; // Name of the sequence database.
640  MzTabString database_version; // Version (and optionally # of entries).
641  MzTabParameterList search_engine; // Search engine(s) that identified the peptide.
642  std::map<Size, MzTabDouble> search_engine_score; // Search engine(s) score(s) for the peptide.
643  MzTabInteger reliability; // (1-3) 0=null Identification reliability for the peptide.
644  MzTabModificationList modifications; // Modifications identified in the peptide.
645  MzTabDoubleList retention_time; // Time points in seconds. Semantics may vary.
646  MzTabInteger charge; // The charge of the experimental precursor ion.
647  MzTabDouble exp_mass_to_charge; // The m/z ratio of the experimental precursor ion.
649  MzTabString uri; // Location of the PSM’s source entry.
650  MzTabSpectraRef spectra_ref; // Spectra identifying the peptide.
655  std::vector<MzTabOptionalColumnEntry> opt_; // Optional columns must start with “opt_”.
656  };
657 
658 // SML Small molecule section (table based)
659  struct OPENMS_DLLAPI MzTabSmallMoleculeSectionRow
660  {
661  MzTabStringList identifier; // The small molecule’s identifier.
662  MzTabString chemical_formula; // Chemical formula of the identified compound.
663  MzTabString smiles; // Molecular structure in SMILES format.
664  MzTabString inchi_key; // InChi Key of the identified compound.
665  MzTabString description; // Human readable description (i.e. the name)
666  MzTabDouble exp_mass_to_charge; // Precursor ion’s m/z.
667  MzTabDouble calc_mass_to_charge; // Precursor ion’s m/z.
668  MzTabDouble charge; // Precursor ion’s charge.
669  MzTabDoubleList retention_time; // Time points in seconds. Semantics may vary.
670  MzTabInteger taxid; // NEWT taxonomy for the species.
671  MzTabString species; // Human readable name of the species
672  MzTabString database; // Name of the used database.
673  MzTabString database_version; // String Version of the database (and optionally # of compounds).
674  MzTabInteger reliability; // (1-3) The identification reliability.
675  MzTabString uri; // The source entry’s location.
676  MzTabSpectraRef spectra_ref; // Spectra identifying the small molecule.
677  MzTabParameterList search_engine; // Search engine(s) identifying the small molecule.
678  std::map<Size, MzTabDouble> best_search_engine_score; // Search engine(s) identifications score(s).
679  std::map<Size, std::map<Size, MzTabDouble> > search_engine_score_ms_run;
680  MzTabString modifications; // Modifications identified on the small molecule.
681  std::map<Size, MzTabDouble> smallmolecule_abundance_assay;
682  std::map<Size, MzTabDouble> smallmolecule_abundance_study_variable;
683  std::map<Size, MzTabDouble> smallmolecule_abundance_stdev_study_variable;
685  std::vector<MzTabOptionalColumnEntry> opt_; // Optional columns must start with “opt_”.
686  };
687 
688  typedef std::vector<MzTabProteinSectionRow> MzTabProteinSectionRows;
689  typedef std::vector<MzTabPeptideSectionRow> MzTabPeptideSectionRows;
690  typedef std::vector<MzTabPSMSectionRow> MzTabPSMSectionRows;
691  typedef std::vector<MzTabSmallMoleculeSectionRow> MzTabSmallMoleculeSectionRows;
692 
699  class OPENMS_DLLAPI MzTab
700  {
701 public:
703  MzTab();
704 
706  virtual ~MzTab();
707 
708  const MzTabMetaData& getMetaData() const;
709 
710  void setMetaData(const MzTabMetaData& md);
711 
712  const MzTabProteinSectionRows& getProteinSectionRows() const;
713 
714  void setProteinSectionRows(const MzTabProteinSectionRows& psd);
715 
716  const MzTabPeptideSectionRows& getPeptideSectionRows() const;
717 
718  void setPeptideSectionRows(const MzTabPeptideSectionRows& psd);
719 
720  const MzTabPSMSectionRows& getPSMSectionRows() const;
721 
722  void setPSMSectionRows(const MzTabPSMSectionRows& psd);
723 
724  void setCommentRows(const std::map<Size, String>& com);
725 
726  void setEmptyRows(const std::vector<Size>& empty);
727 
728  const std::vector<Size>& getEmptyRows() const;
729 
730  const std::map<Size, String>& getCommentRows() const;
731 
732  const MzTabSmallMoleculeSectionRows& getSmallMoleculeSectionRows() const;
733 
734  void setSmallMoleculeSectionRows(const MzTabSmallMoleculeSectionRows& smsd);
735 
736  // Extract opt_ (custom, optional column names)
737  std::vector<String> getProteinOptionalColumnNames() const;
738 
739  // Extract opt_ (custom, optional column names)
740  std::vector<String> getPeptideOptionalColumnNames() const;
741 
742  // Extract opt_ (custom, optional column names)
743  std::vector<String> getPSMOptionalColumnNames() const;
744 
745  // Extract opt_ (custom, optional column names)
746  std::vector<String> getSmallMoleculeOptionalColumnNames() const;
747 
748 protected:
754  std::vector<Size> empty_rows_; // index of empty rows
755  std::map<Size, String> comment_rows_; // comments
756  };
757 
758 } // namespace OpenMS
759 
760 #pragma clang diagnostic pop
761 
std::map< Size, MzTabParameter > protein_search_engine_score
Definition: MzTab.h:528
Definition: MzTab.h:462
MzTabSpectraRef spectra_ref
Definition: MzTab.h:624
MzTabSpectraRef spectra_ref
Definition: MzTab.h:676
MzTabDoubleList retention_time
Definition: MzTab.h:645
MzTabString uri
Definition: MzTab.h:596
MzTabParameter quantification_reagent
Definition: MzTab.h:471
std::map< Size, MzTabString > setting
Definition: MzTab.h:459
std::vector< String > colunit_protein
Definition: MzTab.h:569
std::map< Size, MzTabStudyVariableMetaData > study_variable
Definition: MzTab.h:565
std::map< Size, MzTabModificationMetaData > variable_mod
Definition: MzTab.h:549
std::map< Size, MzTabDouble > protein_abundance_assay
Definition: MzTab.h:599
MzTabMetaData meta_data_
Definition: MzTab.h:749
MzTabIntegerList assay_refs
Definition: MzTab.h:510
MzTabString database
Definition: MzTab.h:612
A more convenient string class.
Definition: String.h:57
MzTabString position
Definition: MzTab.h:466
std::map< Size, MzTabAssayMetaData > assay
Definition: MzTab.h:563
MzTabString accession
Definition: MzTab.h:610
MzTabDouble calc_mass_to_charge
Definition: MzTab.h:667
MzTabString sequence
Definition: MzTab.h:609
std::map< Size, std::map< Size, MzTabDouble > > search_engine_score_ms_run
Definition: MzTab.h:616
Definition: MzTab.h:578
MzTabString sequence
Definition: MzTab.h:635
MzTabParameterList false_discovery_rate
Definition: MzTab.h:539
MzTabParameterList search_engine
Definition: MzTab.h:587
std::vector< String > colunit_small_molecule
Definition: MzTab.h:572
Definition: MzTab.h:64
MzTabString title
Definition: MzTab.h:525
std::vector< MzTabOptionalColumnEntry > opt_
Definition: MzTab.h:655
MzTabString sample_ref
Definition: MzTab.h:473
Definition: MzTab.h:108
std::map< Size, MzTabDouble > best_search_engine_score
Definition: MzTab.h:678
Definition: MzTab.h:62
MzTabString inchi_key
Definition: MzTab.h:664
Definition: MzTab.h:413
Definition: MzTab.h:477
Definition: MzTab.h:244
std::map< Size, MzTabParameter > tissue
Definition: MzTab.h:450
std::map< Size, MzTabParameter > custom
Definition: MzTab.h:559
MzTabString database
Definition: MzTab.h:639
Definition: MzTab.h:270
MzTabParameter source
Definition: MzTab.h:488
MzTabString post
Definition: MzTab.h:652
std::vector< MzTabOptionalColumnEntry > opt_
Definition: MzTab.h:629
MzTabString end
Definition: MzTab.h:654
std::map< Size, MzTabParameter > cell_type
Definition: MzTab.h:451
MzTabString database
Definition: MzTab.h:585
std::map< Size, MzTabParameter > disease
Definition: MzTab.h:452
MzTabString mz_tab_id
Definition: MzTab.h:524
MzTabString full_name
Definition: MzTab.h:480
Size ms_run_
Definition: MzTab.h:440
String value_
Definition: MzTab.h:267
std::vector< String > colunit_psm
Definition: MzTab.h:571
MzTabString modifications
Definition: MzTab.h:680
MzTabString mz_tab_version
Definition: MzTab.h:521
MzTabString database_version
Definition: MzTab.h:586
String CV_label_
Definition: MzTab.h:303
MzTabParameterList search_engine
Definition: MzTab.h:614
Definition: MzTab.h:493
MzTabStringList identifier
Definition: MzTab.h:661
std::map< Size, MzTabModificationMetaData > fixed_mod
Definition: MzTab.h:547
std::map< Size, MzTabDouble > best_search_engine_score
Definition: MzTab.h:615
std::vector< MzTabSmallMoleculeSectionRow > MzTabSmallMoleculeSectionRows
Definition: MzTab.h:691
MzTabParameter name
Definition: MzTab.h:487
Definition: MzTab.h:469
std::map< Size, MzTabDouble > protein_abundance_stdev_study_variable
Definition: MzTab.h:601
std::vector< MzTabModification > entries_
Definition: MzTab.h:409
MzTabCellStateType state_
Definition: MzTab.h:129
MzTabString affiliation
Definition: MzTab.h:496
Definition: MzTab.h:309
std::map< Size, MzTabParameter > psm_search_engine_score
Definition: MzTab.h:530
std::vector< MzTabOptionalColumnEntry > opt_
Definition: MzTab.h:685
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:46
std::map< Size, MzTabDouble > peptide_abundance_study_variable
Definition: MzTab.h:626
MzTabString name
Definition: MzTab.h:495
char sep_
Definition: MzTab.h:357
Definition: MzTab.h:485
Int value_
Definition: MzTab.h:197
std::map< Size, MzTabParameter > species
Definition: MzTab.h:449
std::map< Size, MzTabDouble > protein_abundance_std_error_study_variable
Definition: MzTab.h:602
std::map< Size, MzTabDouble > smallmolecule_abundance_assay
Definition: MzTab.h:681
MzTabString uri
Definition: MzTab.h:675
std::vector< MzTabProteinSectionRow > MzTabProteinSectionRows
Definition: MzTab.h:688
MzTabDoubleList retention_time
Definition: MzTab.h:669
std::map< Size, MzTabDouble > peptide_abundance_stdev_study_variable
Definition: MzTab.h:627
MzTabBoolean unique
Definition: MzTab.h:611
double value_
Definition: MzTab.h:151
MzTabInteger reliability
Definition: MzTab.h:617
std::map< Size, MzTabCVMetaData > cv
Definition: MzTab.h:567
MzTabModificationList modifications
Definition: MzTab.h:644
std::map< Size, MzTabSampleMetaData > sample
Definition: MzTab.h:561
MzTabCellStateType
Data model of MzTab files. Please see the official MzTab specification at https://code.google.com/p/mztab/.
Definition: MzTab.h:58
MzTabString ms_run_ref
Definition: MzTab.h:474
std::vector< MzTabInteger > entries_
Definition: MzTab.h:219
Definition: MzTab.h:222
MzTabString description
Definition: MzTab.h:665
MzTabString accession
Definition: MzTab.h:581
std::map< Size, MzTabInteger > num_peptides_distinct_ms_run
Definition: MzTab.h:592
MzTabString accession
Definition: MzTab.h:637
std::map< Size, MzTabString > uri
Definition: MzTab.h:545
MzTabParameterList fragmentation_method
Definition: MzTab.h:505
MzTabString description
Definition: MzTab.h:448
MzTabParameter quantification_method
Definition: MzTab.h:551
MzTabModificationList modifications
Definition: MzTab.h:595
MzTabDouble mass_to_charge
Definition: MzTab.h:622
String accession_
Definition: MzTab.h:304
std::map< Size, MzTabDouble > peptide_abundance_assay
Definition: MzTab.h:625
MzTabString species
Definition: MzTab.h:671
MzTabString uri
Definition: MzTab.h:649
Definition: MzTab.h:332
MzTabPeptideSectionRows peptide_data_
Definition: MzTab.h:751
MzTabProteinSectionRows protein_data_
Definition: MzTab.h:750
Definition: MzTab.h:516
std::map< Size, MzTabString > publication
Definition: MzTab.h:541
String spec_ref_
Definition: MzTab.h:441
bool value_
Definition: MzTab.h:241
MzTabDoubleList retention_time_window
Definition: MzTab.h:620
MzTabString description
Definition: MzTab.h:512
Definition: MzTab.h:68
MzTabInteger reliability
Definition: MzTab.h:590
MzTabParameter id_format
Definition: MzTab.h:504
std::map< Size, MzTabParameter > peptide_search_engine_score
Definition: MzTab.h:529
std::map< Size, MzTabDouble > smallmolecule_abundance_std_error_study_variable
Definition: MzTab.h:684
MzTabString description
Definition: MzTab.h:582
Definition: MzTab.h:633
std::map< Size, MzTabDouble > smallmolecule_abundance_stdev_study_variable
Definition: MzTab.h:683
std::vector< MzTabDouble > entries_
Definition: MzTab.h:175
MzTabString pre
Definition: MzTab.h:651
std::map< Size, std::map< Size, MzTabDouble > > search_engine_score_ms_run
Definition: MzTab.h:589
MzTabInteger taxid
Definition: MzTab.h:670
MzTabString url
Definition: MzTab.h:482
MzTabParameter software
Definition: MzTab.h:458
MzTabDoubleList retention_time
Definition: MzTab.h:619
std::vector< MzTabParameter > parameters_
Definition: MzTab.h:329
Definition: MzTab.h:154
MzTabString species
Definition: MzTab.h:584
std::map< Size, MzTabSoftwareMetaData > software
Definition: MzTab.h:537
MzTabParameter format
Definition: MzTab.h:502
MzTabDouble protein_coverage
Definition: MzTab.h:598
MzTabModificationList modifications
Definition: MzTab.h:618
MzTabStringList go_terms
Definition: MzTab.h:597
MzTabString mod_identifier_
Definition: MzTab.h:387
std::vector< MzTabPeptideSectionRow > MzTabPeptideSectionRows
Definition: MzTab.h:689
std::map< Size, MzTabDouble > protein_abundance_study_variable
Definition: MzTab.h:600
Definition: MzTab.h:446
std::map< Size, MzTabModificationMetaData > quantification_mod
Definition: MzTab.h:472
std::map< Size, MzTabParameterList > sample_processing
Definition: MzTab.h:533
MzTabDouble calc_mass_to_charge
Definition: MzTab.h:648
std::map< Size, std::map< Size, MzTabDouble > > search_engine_score_ms_run
Definition: MzTab.h:679
MzTabStringList ambiguity_members
Definition: MzTab.h:594
MzTabInteger charge
Definition: MzTab.h:646
MzTabString start
Definition: MzTab.h:653
std::map< Size, MzTabDouble > peptide_abundance_std_error_study_variable
Definition: MzTab.h:628
std::map< Size, MzTabDouble > smallmolecule_abundance_study_variable
Definition: MzTab.h:682
Definition: MzTab.h:508
MzTabParameter protein_quantification_unit
Definition: MzTab.h:553
Definition: MzTab.h:500
Definition: MzTab.h:456
Definition: MzTab.h:61
Definition: MzTab.h:132
MzTabParameter peptide_quantification_unit
Definition: MzTab.h:554
std::vector< String > colunit_peptide
Definition: MzTab.h:570
std::map< Size, MzTabMSRunMetaData > ms_run
Definition: MzTab.h:557
Definition: MzTab.h:91
std::map< Size, MzTabParameter > analyzer
Definition: MzTab.h:489
std::map< Size, MzTabDouble > best_search_engine_score
Definition: MzTab.h:588
MzTabParameter small_molecule_quantification_unit
Definition: MzTab.h:555
MzTabDouble exp_mass_to_charge
Definition: MzTab.h:666
std::vector< Size > empty_rows_
Definition: MzTab.h:754
MzTabParameterList search_engine
Definition: MzTab.h:677
Definition: MzTab.h:607
MzTabPSMSectionRows psm_data_
Definition: MzTab.h:752
MzTabString mz_tab_mode
Definition: MzTab.h:522
Definition: MzTab.h:63
std::map< Size, MzTabParameter > smallmolecule_search_engine_score
Definition: MzTab.h:531
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition: Types.h:127
MzTabIntegerList sample_refs
Definition: MzTab.h:511
bool null_
Definition: MzTab.h:104
MzTabInteger PSM_ID
Definition: MzTab.h:636
String name_
Definition: MzTab.h:305
MzTabString email
Definition: MzTab.h:497
MzTabString database
Definition: MzTab.h:672
std::vector< std::pair< Size, MzTabParameter > > pos_param_pairs_
Definition: MzTab.h:386
MzTabString uri
Definition: MzTab.h:623
MzTabString description
Definition: MzTab.h:526
std::vector< MzTabString > entries_
Definition: MzTab.h:356
std::map< Size, MzTabDouble > search_engine_score
Definition: MzTab.h:642
MzTabInteger reliability
Definition: MzTab.h:674
Definition: MzTab.h:360
std::vector< MzTabPSMSectionRow > MzTabPSMSectionRows
Definition: MzTab.h:690
MzTabInteger charge
Definition: MzTab.h:621
MzTabInteger taxid
Definition: MzTab.h:583
MzTabString version
Definition: MzTab.h:481
MzTabSpectraRef spectra_ref
Definition: MzTab.h:650
MzTabString label
Definition: MzTab.h:479
std::map< Size, MzTabParameter > custom
Definition: MzTab.h:453
std::vector< MzTabOptionalColumnEntry > opt_
Definition: MzTab.h:603
MzTabBoolean unique
Definition: MzTab.h:638
MzTabParameter modification
Definition: MzTab.h:464
std::map< Size, MzTabInteger > num_psms_ms_run
Definition: MzTab.h:591
MzTabString database_version
Definition: MzTab.h:673
Definition: MzTab.h:200
std::map< Size, MzTabInteger > num_peptides_unique_ms_run
Definition: MzTab.h:593
MzTabString chemical_formula
Definition: MzTab.h:662
MzTabString database_version
Definition: MzTab.h:613
Definition: MzTab.h:390
MzTabString mz_tab_type
Definition: MzTab.h:523
MzTabParameter detector
Definition: MzTab.h:490
int Int
Signed integer type.
Definition: Types.h:102
MzTabDouble charge
Definition: MzTab.h:668
std::map< Size, MzTabInstrumentMetaData > instrument
Definition: MzTab.h:535
Definition: MzTab.h:178
String value_
Definition: MzTab.h:306
MzTabString database_version
Definition: MzTab.h:640
MzTabDouble exp_mass_to_charge
Definition: MzTab.h:647
std::map< Size, String > comment_rows_
Definition: MzTab.h:755
MzTabParameterList search_engine
Definition: MzTab.h:641
MzTabInteger reliability
Definition: MzTab.h:643
MzTabSmallMoleculeSectionRows small_molecule_data_
Definition: MzTab.h:753
std::map< Size, MzTabContactMetaData > contact
Definition: MzTab.h:543
MzTabString smiles
Definition: MzTab.h:663
std::pair< String, MzTabString > MzTabOptionalColumnEntry
Definition: MzTab.h:575
MzTabString location
Definition: MzTab.h:503
Definition: MzTab.h:60
Data model of MzTab files. Please see the official MzTab specification at https://code.google.com/p/mztab/.
Definition: MzTab.h:699
MzTabString site
Definition: MzTab.h:465