OpenMS
Loading...
Searching...
No Matches
ProFormaWriter.h
Go to the documentation of this file.
1// Copyright (c) 2002-present, OpenMS Inc. -- EKU Tuebingen, ETH Zurich, and FU Berlin
2// SPDX-License-Identifier: BSD-3-Clause
3//
4// --------------------------------------------------------------------------
5// $Maintainer: Timo Sachsenberg $
6// $Authors: Timo Sachsenberg $
7// --------------------------------------------------------------------------
8
9#pragma once
10
13#include <OpenMS/OpenMSConfig.h>
14
15#include <iosfwd>
16#include <vector>
17
18namespace OpenMS
19{
20
60 class OPENMS_DLLAPI ProFormaWriter
61 {
62 public:
73 static String toString(const Peptidoform& peptidoform,
74 ProFormaWriteMode mode = ProFormaWriteMode::LOSSLESS);
75
86 static String toString(const PeptidoformIon& ion,
87 ProFormaWriteMode mode = ProFormaWriteMode::LOSSLESS);
88
89 private:
99 static void writeGlobalMods_(std::ostream& os, const std::vector<GlobalModEntry>& mods, ProFormaWriteMode mode);
100
109 static void writeIsotopeReplacement_(std::ostream& os, const IsotopeReplacement& isotope);
110
120 static void writeGlobalModification_(std::ostream& os, const GlobalModification& mod, ProFormaWriteMode mode);
121
132 static void writeModification_(std::ostream& os, const Modification& mod, ProFormaWriteMode mode);
133
144 static void writeModificationTag_(std::ostream& os, const ModificationTag& tag, ProFormaWriteMode mode);
145
154 static void writeCvAccession_(std::ostream& os, const CvAccession& cv);
155
164 static void writeNamedMod_(std::ostream& os, const NamedMod& named);
165
176 static void writeMassDelta_(std::ostream& os, const MassDelta& delta, ProFormaWriteMode mode);
177
186 static void writeFormulaTag_(std::ostream& os, const FormulaTag& formula);
187
196 static void writeGlycanComposition_(std::ostream& os, const GlycanComposition& glycan);
197
206 static void writeInfoTag_(std::ostream& os, const InfoTag& info);
207
216 static void writePositionConstraint_(std::ostream& os, const PositionConstraint& pc);
217
227 static void writeLabel_(std::ostream& os, const Label& label, ProFormaWriteMode mode);
228
238 static void writeUnlocalisedMods_(std::ostream& os, const std::vector<UnlocalisedMod>& mods, ProFormaWriteMode mode);
239
249 static void writeLabileModifications_(std::ostream& os, const std::vector<LabileModification>& mods, ProFormaWriteMode mode);
250
260 static void writeNTermMods_(std::ostream& os, const std::vector<Modification>& mods, ProFormaWriteMode mode);
261
271 static void writeCTermMods_(std::ostream& os, const std::vector<Modification>& mods, ProFormaWriteMode mode);
272
282 static void writeSequence_(std::ostream& os, const std::vector<SequenceSection>& seq, ProFormaWriteMode mode);
283
293 static void writeSequenceElement_(std::ostream& os, const SequenceElement& elem, ProFormaWriteMode mode);
294
304 static void writeAmbiguousRegion_(std::ostream& os, const AmbiguousRegion& region, ProFormaWriteMode mode);
305
315 static void writeModifiedRange_(std::ostream& os, const ModifiedRange& range, ProFormaWriteMode mode);
316
325 static void writeChargeState_(std::ostream& os, const ChargeState& charge);
326
333 static const char* cvDatabaseToString_(CvDatabase db);
334
341 static const char* cvDatabaseToHint_(CvDatabase db);
342
349 static const char* massSourceToString_(MassDelta::Source source);
350 };
351
352} // namespace OpenMS
Writer for ProForma v2 peptidoform notation.
Definition ProFormaWriter.h:61
static void writeModifiedRange_(std::ostream &os, const ModifiedRange &range, ProFormaWriteMode mode)
Write a modified range to stream.
static void writeGlycanComposition_(std::ostream &os, const GlycanComposition &glycan)
Write a glycan composition to stream.
static void writeGlobalModification_(std::ostream &os, const GlobalModification &mod, ProFormaWriteMode mode)
Write a global modification to stream.
static void writeUnlocalisedMods_(std::ostream &os, const std::vector< UnlocalisedMod > &mods, ProFormaWriteMode mode)
Write unlocalised modifications to stream.
static void writeSequenceElement_(std::ostream &os, const SequenceElement &elem, ProFormaWriteMode mode)
Write a single sequence element to stream.
static void writeModification_(std::ostream &os, const Modification &mod, ProFormaWriteMode mode)
Write a modification (with alternatives) to stream.
static void writeSequence_(std::ostream &os, const std::vector< SequenceSection > &seq, ProFormaWriteMode mode)
Write the sequence with modifications to stream.
static void writeCTermMods_(std::ostream &os, const std::vector< Modification > &mods, ProFormaWriteMode mode)
Write C-terminal modifications to stream.
static void writePositionConstraint_(std::ostream &os, const PositionConstraint &pc)
Write a position constraint to stream.
static void writeModificationTag_(std::ostream &os, const ModificationTag &tag, ProFormaWriteMode mode)
Write a modification tag (variant) to stream.
static const char * cvDatabaseToHint_(CvDatabase db)
Get the single-letter hint for a CV database.
static void writeMassDelta_(std::ostream &os, const MassDelta &delta, ProFormaWriteMode mode)
Write a mass delta to stream.
static String toString(const PeptidoformIon &ion, ProFormaWriteMode mode=ProFormaWriteMode::LOSSLESS)
Convert a PeptidoformIon to a ProForma string.
static void writeNTermMods_(std::ostream &os, const std::vector< Modification > &mods, ProFormaWriteMode mode)
Write N-terminal modifications to stream.
static void writeNamedMod_(std::ostream &os, const NamedMod &named)
Write a named modification to stream.
static void writeInfoTag_(std::ostream &os, const InfoTag &info)
Write an info tag to stream.
static void writeAmbiguousRegion_(std::ostream &os, const AmbiguousRegion &region, ProFormaWriteMode mode)
Write an ambiguous region to stream.
static String toString(const Peptidoform &peptidoform, ProFormaWriteMode mode=ProFormaWriteMode::LOSSLESS)
Convert a Peptidoform to a ProForma string.
static void writeIsotopeReplacement_(std::ostream &os, const IsotopeReplacement &isotope)
Write an isotope replacement to stream.
static void writeChargeState_(std::ostream &os, const ChargeState &charge)
Write a charge state to stream.
static void writeCvAccession_(std::ostream &os, const CvAccession &cv)
Write a CV accession to stream.
static void writeLabileModifications_(std::ostream &os, const std::vector< LabileModification > &mods, ProFormaWriteMode mode)
Write labile modifications to stream.
static void writeGlobalMods_(std::ostream &os, const std::vector< GlobalModEntry > &mods, ProFormaWriteMode mode)
Write global modification entries to stream.
static void writeLabel_(std::ostream &os, const Label &label, ProFormaWriteMode mode)
Write a label to stream.
static const char * massSourceToString_(MassDelta::Source source)
Get the source prefix string for mass delta.
static void writeFormulaTag_(std::ostream &os, const FormulaTag &formula)
Write a formula tag to stream.
static const char * cvDatabaseToString_(CvDatabase db)
Get the string representation of a CV database prefix.
A more convenient string class.
Definition String.h:34
std::variant< CvAccession, NamedMod, MassDelta, FormulaTag, GlycanComposition, InfoTag, PositionConstraint > ModificationTag
Variant type representing any modification tag content.
Definition ProFormaData.h:262
CvDatabase
Controlled vocabulary database prefix for modification accessions.
Definition ProFormaData.h:103
ProFormaWriteMode
Write mode for ProForma string serialization.
Definition ProFormaData.h:88
std::variant< int, std::vector< AdductIon > > ChargeState
Charge state specification.
Definition ProFormaData.h:491
Ambiguous amino acid region.
Definition ProFormaData.h:340
Controlled vocabulary accession for a modification.
Definition ProFormaData.h:121
Chemical formula with optional charge.
Definition ProFormaData.h:181
Global modification applied to specific locations.
Definition ProFormaData.h:424
Glycan composition specification.
Definition ProFormaData.h:199
Info tag for arbitrary text annotations.
Definition ProFormaData.h:216
Isotope replacement for stable isotope labeling.
Definition ProFormaData.h:441
A modification with one or more alternative tags.
Definition ProFormaData.h:306
Modified sequence range with shared modifications.
Definition ProFormaData.h:356
Named modification with optional CV prefix hint.
Definition ProFormaData.h:137
A single peptidoform (one peptide chain)
Definition ProFormaData.h:509
A peptidoform ion (one or more chains with optional charge)
Definition ProFormaData.h:532
Position constraint specifying allowed residues for a modification.
Definition ProFormaData.h:233
A single amino acid with its modifications.
Definition ProFormaData.h:325
Main OpenMS namespace.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19
Label for cross-links, branches, or ambiguous grouping.
Definition ProFormaData.h:276
Mass delta modification with optional source hint.
Definition ProFormaData.h:153
Source
Source hint for mass delta values.
Definition ProFormaData.h:156