35 #ifndef OPENMS_FORMAT_HANDLERS_MZIDENTMLDOMHANDLER_H 36 #define OPENMS_FORMAT_HANDLERS_MZIDENTMLDOMHANDLER_H 49 #include <xercesc/dom/DOM.hpp> 50 #include <xercesc/dom/DOMDocument.hpp> 51 #include <xercesc/dom/DOMDocumentType.hpp> 52 #include <xercesc/dom/DOMElement.hpp> 53 #include <xercesc/dom/DOMImplementation.hpp> 54 #include <xercesc/dom/DOMImplementationLS.hpp> 55 #include <xercesc/dom/DOMNodeIterator.hpp> 56 #include <xercesc/dom/DOMNodeList.hpp> 57 #include <xercesc/dom/DOMText.hpp> 58 #include <xercesc/util/OutOfMemoryException.hpp> 59 #include <xercesc/util/XMLString.hpp> 60 #include <xercesc/util/PlatformUtils.hpp> 61 #include <xercesc/framework/LocalFileFormatTarget.hpp> 63 #include <xercesc/parsers/XercesDOMParser.hpp> 64 #include <xercesc/util/XMLUni.hpp> 65 #include <xercesc//framework/psvi/XSValue.hpp> 113 void readMzIdentMLFile(
const std::string& mzid_file);
115 void writeMzIdentMLFile(
const std::string& mzid_file);
132 const std::vector<ProteinIdentification>*
cpro_id_;
134 const std::vector<PeptideIdentification>*
cpep_id_;
144 std::pair<CVTermList, std::map<String, DataValue> > parseParamGroup_(xercesc::DOMNodeList* paramGroup);
145 CVTerm parseCvParam_(xercesc::DOMElement* param);
146 std::pair<String, DataValue> parseUserParam_(xercesc::DOMElement* param);
147 void parseAnalysisSoftwareList_(xercesc::DOMNodeList* analysisSoftwareElements);
148 void parseDBSequenceElements_(xercesc::DOMNodeList* dbSequenceElements);
149 void parsePeptideElements_(xercesc::DOMNodeList* peptideElements);
151 AASequence parsePeptideSiblings_(xercesc::DOMElement* peptide);
152 void parsePeptideEvidenceElements_(xercesc::DOMNodeList* peptideEvidenceElements);
153 void parseSpectrumIdentificationElements_(xercesc::DOMNodeList* spectrumIdentificationElements);
154 void parseSpectrumIdentificationProtocolElements_(xercesc::DOMNodeList* spectrumIdentificationProtocolElements);
155 void parseInputElements_(xercesc::DOMNodeList* inputElements);
156 void parseSpectrumIdentificationListElements_(xercesc::DOMNodeList* spectrumIdentificationListElements);
157 void parseSpectrumIdentificationItemSetXLMS(std::set<String>::const_iterator set_it, std::multimap<String, int> xl_val_map, xercesc::DOMElement* element_res,
String spectrumID);
158 void parseSpectrumIdentificationItemElement_(xercesc::DOMElement* spectrumIdentificationItemElement,
PeptideIdentification& spectrum_identification,
String& spectrumIdentificationList_ref);
159 void parseProteinDetectionHypothesisElement_(xercesc::DOMElement* proteinDetectionHypothesisElement,
ProteinIdentification& protein_identification);
160 void parseProteinAmbiguityGroupElement_(xercesc::DOMElement* proteinAmbiguityGroupElement,
ProteinIdentification& protein_identification);
161 void parseProteinDetectionListElements_(xercesc::DOMNodeList* proteinDetectionListElements);
166 void buildCvList_(xercesc::DOMElement* cvElements);
167 void buildAnalysisSoftwareList_(xercesc::DOMElement* analysisSoftwareElements);
168 void buildSequenceCollection_(xercesc::DOMElement* sequenceCollectionElements);
169 void buildAnalysisCollection_(xercesc::DOMElement* analysisCollectionElements);
170 void buildAnalysisProtocolCollection_(xercesc::DOMElement* protocolElements);
171 void buildInputDataCollection_(xercesc::DOMElement* inputElements);
173 void buildAnalysisDataCollection_(xercesc::DOMElement* analysisElements);
263 std::map<String, SpectrumIdentification>
si_map_;
267 std::map<String, SpectrumIdentificationProtocol>
sp_map_;
Representation of a protein identification run.
Definition: ProteinIdentification.h:62
std::map< String, DBSequence > db_sq_map_
Definition: MzIdentMLDOMHandler.h:274
std::map< String, DatabaseInput > db_map_
Definition: MzIdentMLDOMHandler.h:260
XMLCh * xml_name_attr_ptr_
Definition: MzIdentMLDOMHandler.h:247
String search_engine_version_
Definition: MzIdentMLDOMHandler.h:253
Struct to hold the PeptideEvidence information.
Definition: MzIdentMLDOMHandler.h:189
std::vector< ProteinIdentification > * pro_id_
Internal +w Identification Item for proteins.
Definition: MzIdentMLDOMHandler.h:127
Representation of a CV term.
Definition: ControlledVocabulary.h:61
A more convenient string class.
Definition: String.h:57
const String schema_version_
Internal version keeping.
Definition: MzIdentMLDOMHandler.h:137
std::map< String, AnalysisSoftware > as_map_
Definition: MzIdentMLDOMHandler.h:255
Representation of controlled vocabulary term list.
Definition: CVTermList.h:53
int start
Definition: MzIdentMLDOMHandler.h:191
bool idec
Definition: MzIdentMLDOMHandler.h:195
std::map< String, SignedSize > xl_donor_pos_map_
Definition: MzIdentMLDOMHandler.h:282
std::vector< PeptideIdentification > * pep_id_
Internal +w Identification Item for peptides.
Definition: MzIdentMLDOMHandler.h:129
Struct to hold the information from the SpectrumIdentificationProtocol xml tag.
Definition: MzIdentMLDOMHandler.h:223
const ProgressLogger & logger_
Progress logger.
Definition: MzIdentMLDOMHandler.h:119
std::map< String, DataValue > threshold_ups
Definition: MzIdentMLDOMHandler.h:234
String accession
Definition: MzIdentMLDOMHandler.h:202
Representation of a peptide/protein sequence.
Definition: AASequence.h:108
String sequence
Definition: MzIdentMLDOMHandler.h:200
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:47
int stop
Definition: MzIdentMLDOMHandler.h:192
Search parameters of the DB search.
Definition: ProteinIdentification.h:104
char post
Definition: MzIdentMLDOMHandler.h:194
XMLCh * xml_cvparam_tag_ptr_
Definition: MzIdentMLDOMHandler.h:246
long double mass_delta
Definition: MzIdentMLDOMHandler.h:217
char pre
Definition: MzIdentMLDOMHandler.h:193
CVTermList cvs
Definition: MzIdentMLDOMHandler.h:203
CVTermList modification_parameter
Definition: MzIdentMLDOMHandler.h:230
Representation of a controlled vocabulary.
Definition: ControlledVocabulary.h:55
std::map< String, String > pv_db_map_
Definition: MzIdentMLDOMHandler.h:272
String version
Definition: MzIdentMLDOMHandler.h:186
std::map< String, String > sd_map_
Definition: MzIdentMLDOMHandler.h:259
CVTermList parameter_cvs
Definition: MzIdentMLDOMHandler.h:227
std::map< String, String > xl_id_donor_map_
Definition: MzIdentMLDOMHandler.h:279
bool xl_ms_search_
Definition: MzIdentMLDOMHandler.h:278
std::map< String, String > sr_map_
Definition: MzIdentMLDOMHandler.h:258
std::multimap< String, String > p_pv_map_
Definition: MzIdentMLDOMHandler.h:273
std::map< String, String > xl_mod_map_
Definition: MzIdentMLDOMHandler.h:285
String residues
Definition: MzIdentMLDOMHandler.h:218
std::map< String, DataValue > parameter_ups
Definition: MzIdentMLDOMHandler.h:228
Struct to hold the used analysis software for that file.
Definition: MzIdentMLDOMHandler.h:183
String database_ref
Definition: MzIdentMLDOMHandler.h:201
std::map< String, SpectrumIdentification > si_map_
Definition: MzIdentMLDOMHandler.h:263
std::map< String, SignedSize > xl_acceptor_pos_map_
Definition: MzIdentMLDOMHandler.h:283
Struct to hold the information from the SpectrumIdentification xml tag.
Definition: MzIdentMLDOMHandler.h:206
Representation of controlled vocabulary term.
Definition: CVTerm.h:51
CVTermList specificities
Definition: MzIdentMLDOMHandler.h:220
const std::vector< PeptideIdentification > * cpep_id_
Internal -w Identification Item for peptides.
Definition: MzIdentMLDOMHandler.h:134
std::map< String, size_t > si_pro_map_
Definition: MzIdentMLDOMHandler.h:264
long double precursor_tolerance
Definition: MzIdentMLDOMHandler.h:231
String enzyme
Definition: MzIdentMLDOMHandler.h:226
long double fragment_tolerance
Definition: MzIdentMLDOMHandler.h:232
const std::vector< ProteinIdentification > * cpro_id_
Internal -w Identification Item for proteins.
Definition: MzIdentMLDOMHandler.h:132
String search_engine_
Definition: MzIdentMLDOMHandler.h:252
std::map< String, String > xl_id_acceptor_map_
Definition: MzIdentMLDOMHandler.h:281
XML DOM handler for MzIdentMLFile.
Definition: MzIdentMLDOMHandler.h:97
xercesc::XercesDOMParser mzid_parser_
Definition: MzIdentMLDOMHandler.h:249
String spectrum_identification_list_ref
Definition: MzIdentMLDOMHandler.h:211
String spectrum_identification_protocol_ref
Definition: MzIdentMLDOMHandler.h:210
String fixed_mod
Definition: MzIdentMLDOMHandler.h:216
Struct to hold the information from the ModificationParam xml tag.
Definition: MzIdentMLDOMHandler.h:214
String name
Definition: MzIdentMLDOMHandler.h:185
String search_database_ref
Definition: MzIdentMLDOMHandler.h:209
CVTermList threshold_cvs
Definition: MzIdentMLDOMHandler.h:233
DateTime Class.
Definition: DateTime.h:55
std::map< String, AASequence > pep_map_
Definition: MzIdentMLDOMHandler.h:270
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:276
std::map< String, double > xl_mass_map_
Definition: MzIdentMLDOMHandler.h:284
ControlledVocabulary cv_
Controlled vocabulary (psi-ms from OpenMS/share/OpenMS/CV/psi-ms.obo)
Definition: MzIdentMLDOMHandler.h:122
XMLCh * xml_root_tag_ptr_
Definition: MzIdentMLDOMHandler.h:245
CVTerm searchtype
Definition: MzIdentMLDOMHandler.h:225
ControlledVocabulary unimod_
Controlled vocabulary for modifications (unimod from OpenMS/share/OpenMS/CV/unimod.obo)
Definition: MzIdentMLDOMHandler.h:124
Struct to hold the information from the DBSequence xml tag.
Definition: MzIdentMLDOMHandler.h:198
String spectra_data_ref
Definition: MzIdentMLDOMHandler.h:208
std::map< String, PeptideEvidence > pe_ev_map_
Definition: MzIdentMLDOMHandler.h:271
CVTermList modification_param_cvs
Definition: MzIdentMLDOMHandler.h:219
Represents the peptide hits for a spectrum.
Definition: PeptideIdentification.h:63
std::map< String, SpectrumIdentificationProtocol > sp_map_
Definition: MzIdentMLDOMHandler.h:267