OpenMS
Loading...
Searching...
No Matches
FeatureXMLHandler.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: Chris Bielow $
6// $Authors: Marc Sturm, Chris Bielow, Clemens Groepl $
7// --------------------------------------------------------------------------
8
9#pragma once
10
19
20#include <iosfwd>
21#include <map>
22
23namespace OpenMS
24{
25 class Feature;
26 class FeatureMap;
27
28 namespace Internal
29 {
30
42 class OPENMS_DLLAPI FeatureXMLHandler :
44 public ProgressLogger
45 {
46
47public:
48
52 FeatureXMLHandler(FeatureMap& map, const String& filename);
53 FeatureXMLHandler(const FeatureMap& map, const String& filename);
57
58
60 void writeTo(std::ostream& os) override;
61
64
67
70
71 void setSizeOnly(const bool size_only)
72 {
73 size_only_ = size_only;
74 }
75
76 Size getSize() const
77 {
78 return expected_size_;
79 }
80
81protected:
82
83 // restore default state for next load/store operation
85
86 // Docu in base class
87 void endElement(const XMLCh* const /*uri*/, const XMLCh* const /*local_name*/, const XMLCh* const qname) override;
88
89 // Docu in base class
90 void startElement(const XMLCh* const /*uri*/, const XMLCh* const /*local_name*/, const XMLCh* const qname, const xercesc::Attributes& attributes) override;
91
92 // Docu in base class
93 void characters(const XMLCh* const chars, const XMLSize_t length) override;
94
96 void writeFeature_(const String& filename, std::ostream& os, const Feature& feat, const String& identifier_prefix, UInt64 identifier, UInt indentation_level);
97
99 void writePeptideIdentification_(const String& filename, std::ostream& os, const PeptideIdentification& id, const String& tag_name, UInt indentation_level);
100
106 void updateCurrentFeature_(bool create);
107
112
125
132
135
138
141
144
154 std::map<String, String> proteinid_to_accession_;
156 std::map<String, Size> accession_to_id_;
158 std::map<String, String> identifier_id_;
160 std::map<String, String> id_identifier_;
163
164 };
165
166} // namespace Internal
167} // namespace OpenMS
168
char16_t XMLCh
Definition ClassTest.h:28
std::vector< PointType > PointArrayType
Definition ConvexHull2D.h:52
Representation of a coordinate in D-dimensional space.
Definition DPosition.h:32
Options for loading files containing features.
Definition FeatureFileOptions.h:21
A container for features.
Definition FeatureMap.h:82
An LC-MS feature.
Definition Feature.h:46
This class provides Input/Output functionality for feature maps.
Definition FeatureXMLHandler.h:45
Int disable_parsing_
Definition FeatureXMLHandler.h:111
DPosition< 2 > hull_position_
Definition FeatureXMLHandler.h:130
std::map< String, String > proteinid_to_accession_
Map from protein id to accession.
Definition FeatureXMLHandler.h:154
ProteinIdentification::SearchParameters search_param_
Temporary search parameters file.
Definition FeatureXMLHandler.h:162
MetaInfoInterface * last_meta_
Pointer to last read object as a MetaInfoInterface, or null.
Definition FeatureXMLHandler.h:143
Param param_
Definition FeatureXMLHandler.h:128
Size getSize() const
Definition FeatureXMLHandler.h:76
void writeTo(std::ostream &os) override
Docu in base class XMLHandler::writeTo.
ProteinIdentification prot_id_
Temporary protein ProteinIdentification.
Definition FeatureXMLHandler.h:146
FeatureXMLHandler(const FeatureMap &map, const String &filename)
Feature * current_feature_
points to the last open <feature> tag (possibly a subordinate feature)
Definition FeatureXMLHandler.h:114
void setSizeOnly(const bool size_only)
Definition FeatureXMLHandler.h:71
void updateCurrentFeature_(bool create)
update the pointer to the current feature
ProteinHit prot_hit_
Temporary protein hit.
Definition FeatureXMLHandler.h:150
Int subordinate_feature_level_
level in Feature stack during parsing
Definition FeatureXMLHandler.h:140
void writePeptideIdentification_(const String &filename, std::ostream &os, const PeptideIdentification &id, const String &tag_name, UInt indentation_level)
Writes a peptide identification to a stream (for assigned/unassigned peptide identifications)
PeptideHit pep_hit_
Temporary peptide hit.
Definition FeatureXMLHandler.h:152
void startElement(const XMLCh *const, const XMLCh *const, const XMLCh *const qname, const xercesc::Attributes &attributes) override
std::map< String, String > identifier_id_
Map from identification run identifier to file xs:id (for linking peptide identifications to the corr...
Definition FeatureXMLHandler.h:158
FeatureFileOptions options_
Options that can be set.
Definition FeatureXMLHandler.h:120
PeptideIdentification pep_id_
Temporary peptide ProteinIdentification.
Definition FeatureXMLHandler.h:148
UInt dim_
current dimension of the feature position, quality, or convex hull point
Definition FeatureXMLHandler.h:134
std::map< String, String > id_identifier_
Map from file xs:id to identification run identifier (for linking peptide identifications to the corr...
Definition FeatureXMLHandler.h:160
ConvexHull2D::PointArrayType current_chull_
Definition FeatureXMLHandler.h:129
bool size_only_
only parse until "count" tag is reached (used in loadSize())
Definition FeatureXMLHandler.h:122
~FeatureXMLHandler() override
Destructor.
void setOptions(const FeatureFileOptions &)
setter for options for loading/storing
void writeFeature_(const String &filename, std::ostream &os, const Feature &feat, const String &identifier_prefix, UInt64 identifier, UInt indentation_level)
Writes a feature to a stream.
void characters(const XMLCh *const chars, const XMLSize_t length) override
void endElement(const XMLCh *const, const XMLCh *const, const XMLCh *const qname) override
FeatureXMLHandler(FeatureMap &map, const String &filename)
Default constructor.
std::map< String, Size > accession_to_id_
Map from search identifier concatenated with protein accession to id.
Definition FeatureXMLHandler.h:156
FeatureMap * map_
Feature map pointer for writing.
Definition FeatureXMLHandler.h:116
const FeatureFileOptions & getOptions() const
Non-mutable access to the options for loading/storing.
const FeatureMap * cmap_
Feature map pointer for reading.
Definition FeatureXMLHandler.h:118
bool in_description_
for downward compatibility, all tags in the old description must be ignored
Definition FeatureXMLHandler.h:137
Size expected_size_
holds the putative size given in count
Definition FeatureXMLHandler.h:124
FeatureFileOptions & getOptions()
Mutable access to the options for loading/storing.
Base class for XML handlers.
Definition XMLHandler.h:328
Interface for classes that can store arbitrary meta information (Type-Name-Value tuples).
Definition MetaInfoInterface.h:36
Management and storage of parameters / INI files.
Definition Param.h:46
Represents a single spectrum match (candidate) for a specific tandem mass spectrum (MS/MS).
Definition PeptideHit.h:52
Represents the set of candidates (SpectrumMatches) identified for a single precursor spectrum.
Definition PeptideIdentification.h:64
Base class for all classes that want to report their progress.
Definition ProgressLogger.h:27
Representation of a protein hit.
Definition ProteinHit.h:35
Representation of a protein identification run.
Definition ProteinIdentification.h:54
A more convenient string class.
Definition String.h:34
int Int
Signed integer type.
Definition Types.h:72
uint64_t UInt64
Unsigned integer type (64bit)
Definition Types.h:47
unsigned int UInt
Unsigned integer type.
Definition Types.h:64
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition Types.h:97
Main OpenMS namespace.
Definition openswathalgo/include/OpenMS/OPENSWATHALGO/DATAACCESS/ISpectrumAccess.h:19
Search parameters of the DB search.
Definition ProteinIdentification.h:254