35 #ifndef OPENMS_FORMAT_HANDLERS_MZIDENTMLDOMHANDLER_H
36 #define OPENMS_FORMAT_HANDLERS_MZIDENTMLDOMHANDLER_H
48 #include <xercesc/dom/DOM.hpp>
49 #include <xercesc/dom/DOMDocument.hpp>
50 #include <xercesc/dom/DOMDocumentType.hpp>
51 #include <xercesc/dom/DOMElement.hpp>
52 #include <xercesc/dom/DOMImplementation.hpp>
53 #include <xercesc/dom/DOMImplementationLS.hpp>
54 #include <xercesc/dom/DOMNodeIterator.hpp>
55 #include <xercesc/dom/DOMNodeList.hpp>
56 #include <xercesc/dom/DOMText.hpp>
57 #include <xercesc/util/OutOfMemoryException.hpp>
58 #include <xercesc/util/XMLString.hpp>
59 #include <xercesc/util/PlatformUtils.hpp>
60 #include <xercesc/framework/LocalFileFormatTarget.hpp>
62 #include <xercesc/parsers/XercesDOMParser.hpp>
63 #include <xercesc/util/XMLUni.hpp>
64 #include <xercesc//framework/psvi/XSValue.hpp>
112 void readMzIdentMLFile(
const std::string& mzid_file);
114 void writeMzIdentMLFile(
const std::string& mzid_file);
131 const std::vector<ProteinIdentification>*
cpro_id_;
133 const std::vector<PeptideIdentification>*
cpep_id_;
143 std::pair<CVTermList, std::map<String, DataValue> > parseParamGroup_(xercesc::DOMNodeList* paramGroup);
144 CVTerm parseCvParam_(xercesc::DOMElement* param);
145 std::pair<String, DataValue> parseUserParam_(xercesc::DOMElement* param);
146 void parseAnalysisSoftwareList_(xercesc::DOMNodeList* analysisSoftwareElements);
147 void parseDBSequenceElements_(xercesc::DOMNodeList* dbSequenceElements);
148 void parsePeptideElements_(xercesc::DOMNodeList* peptideElements);
149 AASequence parsePeptideSiblings_(xercesc::DOMNodeList* peptideSiblings);
150 void parsePeptideEvidenceElements_(xercesc::DOMNodeList* peptideEvidenceElements);
151 void parseSpectrumIdentificationElements_(xercesc::DOMNodeList* spectrumIdentificationElements);
152 void parseSpectrumIdentificationProtocolElements_(xercesc::DOMNodeList* spectrumIdentificationProtocolElements);
153 void parseInputElements_(xercesc::DOMNodeList* inputElements);
154 void parseSpectrumIdentificationListElements_(xercesc::DOMNodeList* spectrumIdentificationListElements);
155 void parseSpectrumIdentificationItemElement_(xercesc::DOMElement* spectrumIdentificationItemElement,
PeptideIdentification& spectrum_identification,
String& spectrumIdentificationList_ref);
156 void parseProteinDetectionHypothesisElement_(xercesc::DOMElement* proteinDetectionHypothesisElement,
ProteinIdentification& protein_identification);
157 void parseProteinAmbiguityGroupElement_(xercesc::DOMElement* proteinAmbiguityGroupElement,
ProteinIdentification& protein_identification);
158 void parseProteinDetectionListElements_(xercesc::DOMNodeList* proteinDetectionListElements);
163 void buildCvList_(xercesc::DOMElement* cvElements);
164 void buildAnalysisSoftwareList_(xercesc::DOMElement* analysisSoftwareElements);
165 void buildSequenceCollection_(xercesc::DOMElement* sequenceCollectionElements);
166 void buildAnalysisCollection_(xercesc::DOMElement* analysisCollectionElements);
167 void buildAnalysisProtocolCollection_(xercesc::DOMElement* protocolElements);
168 void buildInputDataCollection_(xercesc::DOMElement* inputElements);
170 void buildAnalysisDataCollection_(xercesc::DOMElement* analysisElements);
255 std::map<String, SpectrumIdentification>
si_map_;
259 std::map<String, SpectrumIdentificationProtocol>
sp_map_;
Representation of a protein identification run.
Definition: ProteinIdentification.h:61
std::map< String, DBSequence > db_sq_map_
Definition: MzIdentMLDOMHandler.h:266
std::map< String, DatabaseInput > db_map_
Definition: MzIdentMLDOMHandler.h:252
String search_engine_version_
Definition: MzIdentMLDOMHandler.h:245
Definition: MzIdentMLDOMHandler.h:186
XMLCh * ATTR_name
Definition: MzIdentMLDOMHandler.h:239
std::vector< ProteinIdentification > * pro_id_
Internal +w Identification Item for proteins.
Definition: MzIdentMLDOMHandler.h:126
Representation of a CV term.
Definition: ControlledVocabulary.h:60
A more convenient string class.
Definition: String.h:57
XMLCh * TAG_root
Definition: MzIdentMLDOMHandler.h:237
const String schema_version_
Internal version keeping.
Definition: MzIdentMLDOMHandler.h:136
std::map< String, AnalysisSoftware > as_map_
Definition: MzIdentMLDOMHandler.h:247
Representation of controlled vocabulary term list.
Definition: CVTermList.h:54
int start
Definition: MzIdentMLDOMHandler.h:188
bool idec
Definition: MzIdentMLDOMHandler.h:192
std::vector< PeptideIdentification > * pep_id_
Internal +w Identification Item for peptides.
Definition: MzIdentMLDOMHandler.h:128
Definition: MzIdentMLDOMHandler.h:216
const ProgressLogger & logger_
Progress logger.
Definition: MzIdentMLDOMHandler.h:118
std::map< String, DataValue > threshold_ups
Definition: MzIdentMLDOMHandler.h:227
String accession
Definition: MzIdentMLDOMHandler.h:198
Representation of a peptide/protein sequence.
Definition: AASequence.h:70
String sequence
Definition: MzIdentMLDOMHandler.h:196
int stop
Definition: MzIdentMLDOMHandler.h:189
Search parameters of the DB search.
Definition: ProteinIdentification.h:117
char post
Definition: MzIdentMLDOMHandler.h:191
long double mass_delta
Definition: MzIdentMLDOMHandler.h:211
char pre
Definition: MzIdentMLDOMHandler.h:190
CVTermList cvs
Definition: MzIdentMLDOMHandler.h:199
CVTermList modification_parameter
Definition: MzIdentMLDOMHandler.h:223
Representation of a controlled vocabulary.
Definition: ControlledVocabulary.h:54
XMLCh * TAG_CV
Definition: MzIdentMLDOMHandler.h:238
std::map< String, String > pv_db_map_
Definition: MzIdentMLDOMHandler.h:264
String version
Definition: MzIdentMLDOMHandler.h:184
std::map< String, String > sd_map_
Definition: MzIdentMLDOMHandler.h:251
CVTermList parameter_cvs
Definition: MzIdentMLDOMHandler.h:220
std::map< String, String > sr_map_
Definition: MzIdentMLDOMHandler.h:250
std::multimap< String, String > p_pv_map_
Definition: MzIdentMLDOMHandler.h:265
String residues
Definition: MzIdentMLDOMHandler.h:212
std::map< String, DataValue > parameter_ups
Definition: MzIdentMLDOMHandler.h:221
Definition: MzIdentMLDOMHandler.h:181
String database_ref
Definition: MzIdentMLDOMHandler.h:197
std::map< String, SpectrumIdentification > si_map_
Definition: MzIdentMLDOMHandler.h:255
Definition: MzIdentMLDOMHandler.h:201
Representation of controlled vocabulary term.
Definition: CVTerm.h:51
CVTermList specificities
Definition: MzIdentMLDOMHandler.h:214
const std::vector< PeptideIdentification > * cpep_id_
Internal -w Identification Item for peptides.
Definition: MzIdentMLDOMHandler.h:133
std::map< String, size_t > si_pro_map_
Definition: MzIdentMLDOMHandler.h:256
long double precursor_tolerance
Definition: MzIdentMLDOMHandler.h:224
String enzyme
Definition: MzIdentMLDOMHandler.h:219
long double fragment_tolerance
Definition: MzIdentMLDOMHandler.h:225
const std::vector< ProteinIdentification > * cpro_id_
Internal -w Identification Item for proteins.
Definition: MzIdentMLDOMHandler.h:131
String search_engine_
Definition: MzIdentMLDOMHandler.h:244
XML DOM handler for MzIdentMLFile.
Definition: MzIdentMLDOMHandler.h:96
xercesc::XercesDOMParser mzid_parser_
Definition: MzIdentMLDOMHandler.h:241
String spectrum_identification_list_ref
Definition: MzIdentMLDOMHandler.h:206
String spectrum_identification_protocol_ref
Definition: MzIdentMLDOMHandler.h:205
String fixed_mod
Definition: MzIdentMLDOMHandler.h:210
Definition: MzIdentMLDOMHandler.h:208
String name
Definition: MzIdentMLDOMHandler.h:183
String search_database_ref
Definition: MzIdentMLDOMHandler.h:204
CVTermList threshold_cvs
Definition: MzIdentMLDOMHandler.h:226
DateTime Class.
Definition: DateTime.h:55
std::map< String, AASequence > pep_map_
Definition: MzIdentMLDOMHandler.h:262
Base class for all classes that want to report their progress.
Definition: ProgressLogger.h:55
std::list< std::list< String > > hit_pev_
Definition: MzIdentMLDOMHandler.h:268
ControlledVocabulary cv_
Controlled vocabulary (psi-ms from OpenMS/share/OpenMS/CV/psi-ms.obo)
Definition: MzIdentMLDOMHandler.h:121
CVTerm searchtype
Definition: MzIdentMLDOMHandler.h:218
ControlledVocabulary unimod_
Controlled vocabulary for modifications (unimod from OpenMS/share/OpenMS/CV/unimod.obo)
Definition: MzIdentMLDOMHandler.h:123
Definition: MzIdentMLDOMHandler.h:194
String spectra_data_ref
Definition: MzIdentMLDOMHandler.h:203
std::map< String, PeptideEvidence > pe_ev_map_
Definition: MzIdentMLDOMHandler.h:263
CVTermList modification_param_cvs
Definition: MzIdentMLDOMHandler.h:213
Represents the peptide hits for a spectrum.
Definition: PeptideIdentification.h:63
std::map< String, SpectrumIdentificationProtocol > sp_map_
Definition: MzIdentMLDOMHandler.h:259