| OpenMS 2.5.0

Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
MzIdentMLHandler Class Reference

XML STREAM handler for MzIdentMLFile. More...

`#include <OpenMS/FORMAT/HANDLERS/MzIdentMLHandler.h>`

Inheritance diagram for MzIdentMLHandler:

## Public Member Functions

void | endElement (const XMLCh *const, const XMLCh *const, const XMLCh *const qname) override
void | startElement (const XMLCh *const, const XMLCh *const, const XMLCh *const qname, const xercesc::Attributes &attributes) override
void | characters (const XMLCh *const chars, const XMLSize_t length) override
void | writeTo (std::ostream &os) override
| Writes the contents to a stream. More...
Constructors and destructor
| MzIdentMLHandler (const Identification &id, const String &filename, const String &version, const ProgressLogger &logger)
| Constructor for a write-only handler. More...
| MzIdentMLHandler (const std::vector< ProteinIdentification > &pro_id, const std::vector< PeptideIdentification > &pep_id, const String &filename, const String &version, const ProgressLogger &logger)
| Constructor for a write-only handler for internal identification structures. More...
| MzIdentMLHandler (Identification &id, const String &filename, const String &version, const ProgressLogger &logger)
| Constructor for a read-only handler. More...
| MzIdentMLHandler (std::vector< ProteinIdentification > &pro_id, std::vector< PeptideIdentification > &pep_id, const String &filename, const String &version, const ProgressLogger &logger)
| Constructor for a read-only handler for internal identification structures. More...
| ~MzIdentMLHandler () override
| Destructor. More...
Public Member Functions inherited from XMLHandler
| XMLHandler (const String &filename, const String &version)
| Default constructor. More...
| ~XMLHandler () override
| Destructor. More...
void | reset ()
| Release internal memory used for parsing (call. More...
void | fatalError (ActionMode mode, const String &msg, UInt line=0, UInt column=0) const
| Fatal error handler. Throws a ParseError exception. More...
void | error (ActionMode mode, const String &msg, UInt line=0, UInt column=0) const
| Error handler for recoverable errors. More...
void | warning (ActionMode mode, const String &msg, UInt line=0, UInt column=0) const
| Warning handler. More...
void | characters (const XMLCh *const chars, const XMLSize_t length) override
| Parsing method for character data. More...
void | startElement (const XMLCh *const uri, const XMLCh *const localname, const XMLCh *const qname, const xercesc::Attributes &attrs) override
| Parsing method for opening tags. More...
void | endElement (const XMLCh *const uri, const XMLCh *const localname, const XMLCh *const qname) override
| Parsing method for closing tags. More...
String | errorString ()
| Returns the last error description. More...
virtual LOADDETAIL | getLoadDetail () const
| handler which support partial loading, implement this method More...
virtual void | setLoadDetail (const LOADDETAIL d)
| handler which support partial loading, implement this method More...
void | checkUniqueIdentifiers_ (const std::vector< ProteinIdentification > &prot_ids)
void | fatalError (const xercesc::SAXParseException &exception) override
void | error (const xercesc::SAXParseException &exception) override
void | warning (const xercesc::SAXParseException &exception) override

## Protected Member Functions

void | handleCVParam_ (const String &parent_parent_tag, const String &parent_tag, const String &accession, const xercesc::Attributes &attributes, const String &cv_ref)
| Handles CV terms. More...
void | handleUserParam_ (const String &parent_parent_tag, const String &parent_tag, const String &name, const String &type, const String &value)
| Handles user terms. More...
void | writeMetaInfos_ (String &s, const MetaInfoInterface &meta, UInt indent) const
| Writes user terms. More...
ControlledVocabulary::CVTerm | getChildWithName_ (const String &parent_accession, const String &name) const
| Looks up a child CV term of `parent_accession` with the name `name`. If no such term is found, an empty term is returned. More...
void | writeEnzyme_ (String &s, DigestionEnzymeProtein enzy, UInt miss, UInt indent) const
| Helper method that writes a source file. More...
void | writeModParam_ (String &s, const std::vector< String > &mod_names, bool fixed, UInt indent) const
| Helper method that writes the modification search params (fixed or variable) More...
void | writeFragmentAnnotations_ (String &s, const std::vector< PeptideHit::PeakAnnotation > &annotations, UInt indent, bool is_ppxl) const
| Helper method that writes the FragmentAnnotations section of a spectrum identification. More...
String | trimOpenMSfileURI (const String file) const
| Convenience method to remove the [] from OpenMS internal file uri representation. More...
void | writePeptideHit (const PeptideHit &hit, std::vector< PeptideIdentification >::const_iterator &it, std::map< String, String > &pep_ids, String cv_ns, std::set< String > &sen_set, std::map< String, String > &sen_ids, std::map< String, std::vector< String > > &pep_evis, std::map< String, double > &pp_identifier_2_thresh, String &sidres)
| Abstraction of PeptideHit loop for most PeptideHits. More...
void | writeXLMSPeptideHit (const PeptideHit &hit, std::vector< PeptideIdentification >::const_iterator &it, String ppxl_linkid, std::map< String, String > &pep_ids, String cv_ns, std::set< String > &sen_set, std::map< String, String > &sen_ids, std::map< String, std::vector< String > > &pep_evis, std::map< String, double > &pp_identifier_2_thresh, double ppxl_crosslink_mass, std::map< String, String > &ppxl_specref_2_element, String &sid, bool alpha_peptide)
| Abstraction of PeptideHit loop for XL-MS data from OpenPepXL. More...
Protected Member Functions inherited from XMLHandler
bool | equal_ (const XMLCh *a, const XMLCh *b) const
| Returns if two Xerces strings are equal. More...
void | writeUserParam_ (const String &tag_name, std::ostream &os, const MetaInfoInterface &meta, UInt indent) const
| Writes the content of MetaInfoInterface to the file. More...
Int | asInt_ (const String &in)
| Conversion of a String to an integer value. More...
Int | asInt_ (const XMLCh *in)
| Conversion of a Xerces string to an integer value. More...
UInt | asUInt_ (const String &in)
| Conversion of a String to an unsigned integer value. More...
double | asDouble_ (const String &in)
| Conversion of a String to a double value. More...
float | asFloat_ (const String &in)
| Conversion of a String to a float value. More...
bool | asBool_ (const String &in)
| Conversion of a string to a boolean value. More...
DateTime | asDateTime_ (String date_string)
| Conversion of a xs:datetime string to a DateTime value. More...
String | attributeAsString_ (const xercesc::Attributes &a, const char *name) const
| Converts an attribute to a String. More...
Int | attributeAsInt_ (const xercesc::Attributes &a, const char *name) const
| Converts an attribute to a Int. More...
double | attributeAsDouble_ (const xercesc::Attributes &a, const char *name) const
| Converts an attribute to a double. More...
DoubleList | attributeAsDoubleList_ (const xercesc::Attributes &a, const char *name) const
| Converts an attribute to a DoubleList. More...
IntList | attributeAsIntList_ (const xercesc::Attributes &a, const char *name) const
| Converts an attribute to an IntList. More...
StringList | attributeAsStringList_ (const xercesc::Attributes &a, const char *name) const
| Converts an attribute to an StringList. More...
bool | optionalAttributeAsString_ (String &value, const xercesc::Attributes &a, const char *name) const
| Assigns the attribute content to the String value if the attribute is present. More...
bool | optionalAttributeAsInt_ (Int &value, const xercesc::Attributes &a, const char *name) const
| Assigns the attribute content to the Int value if the attribute is present. More...
bool | optionalAttributeAsUInt_ (UInt &value, const xercesc::Attributes &a, const char *name) const
| Assigns the attribute content to the UInt value if the attribute is present. More...
bool | optionalAttributeAsDouble_ (double &value, const xercesc::Attributes &a, const char *name) const
| Assigns the attribute content to the double value if the attribute is present. More...
bool | optionalAttributeAsDoubleList_ (DoubleList &value, const xercesc::Attributes &a, const char *name) const
| Assigns the attribute content to the DoubleList value if the attribute is present. More...
bool | optionalAttributeAsStringList_ (StringList &value, const xercesc::Attributes &a, const char *name) const
| Assigns the attribute content to the StringList value if the attribute is present. More...
bool | optionalAttributeAsIntList_ (IntList &value, const xercesc::Attributes &a, const char *name) const
| Assigns the attribute content to the IntList value if the attribute is present. More...
String | attributeAsString_ (const xercesc::Attributes &a, const XMLCh *name) const
| Converts an attribute to a String. More...
Int | attributeAsInt_ (const xercesc::Attributes &a, const XMLCh *name) const
| Converts an attribute to a Int. More...
double | attributeAsDouble_ (const xercesc::Attributes &a, const XMLCh *name) const
| Converts an attribute to a double. More...
DoubleList | attributeAsDoubleList_ (const xercesc::Attributes &a, const XMLCh *name) const
| Converts an attribute to a DoubleList. More...
IntList | attributeAsIntList_ (const xercesc::Attributes &a, const XMLCh *name) const
| Converts an attribute to a IntList. More...
StringList | attributeAsStringList_ (const xercesc::Attributes &a, const XMLCh *name) const
| Converts an attribute to a StringList. More...
bool | optionalAttributeAsString_ (String &value, const xercesc::Attributes &a, const XMLCh *name) const
| Assigns the attribute content to the String value if the attribute is present. More...
bool | optionalAttributeAsInt_ (Int &value, const xercesc::Attributes &a, const XMLCh *name) const
| Assigns the attribute content to the Int value if the attribute is present. More...
bool | optionalAttributeAsUInt_ (UInt &value, const xercesc::Attributes &a, const XMLCh *name) const
| Assigns the attribute content to the UInt value if the attribute is present. More...
bool | optionalAttributeAsDouble_ (double &value, const xercesc::Attributes &a, const XMLCh *name) const
| Assigns the attribute content to the double value if the attribute is present. More...
bool | optionalAttributeAsDoubleList_ (DoubleList &value, const xercesc::Attributes &a, const XMLCh *name) const
| Assigns the attribute content to the DoubleList value if the attribute is present. More...
bool | optionalAttributeAsIntList_ (IntList &value, const xercesc::Attributes &a, const XMLCh *name) const
| Assigns the attribute content to the IntList value if the attribute is present. More...
bool | optionalAttributeAsStringList_ (StringList &value, const xercesc::Attributes &a, const XMLCh *name) const
| Assigns the attribute content to the StringList value if the attribute is present. More...
SignedSize | cvStringToEnum_ (const Size section, const String &term, const char *message, const SignedSize result_on_error=0)

## Protected Attributes

const ProgressLogger & | logger_
| Progress logger. More...
ControlledVocabulary | cv_
| Controlled vocabulary (psi-ms from OpenMS/share/OpenMS/CV/psi-ms.obo) More...
ControlledVocabulary | unimod_
| Controlled vocabulary for modifications (unimod from OpenMS/share/OpenMS/CV/unimod.obo) More...
String | tag_
| XML tag parse element. More...
Identification * | id_
| Identification Item. More...
std::vector< ProteinIdentification > * | pro_id_
| internal Identification Item for proteins More...
std::vector< PeptideIdentification > * | pep_id_
| Identification Item for peptides. More...
const Identification * | cid_
const std::vector< ProteinIdentification > * | cpro_id_
const std::vector< PeptideIdentification > * | cpep_id_
SpectrumIdentification | current_spectrum_id_
| SpectrumIdentification Item. More...
IdentificationHit | current_id_hit_
| IdentificationHit Item. More...
Protected Attributes inherited from XMLHandler
String | error_message_
| Error message of the last error. More...
String | file_
| File name. More...
String | version_
| Schema version. More...
StringManager | sm_
| Helper class for string conversion. More...
std::vector< String > | open_tags_
| Stack of open XML tags. More...
LOADDETAIL | load_detail_
| parse only until total number of scans and chroms have been determined from attributes More...
std::vector< std::vector< String > > | cv_terms_
| Array of CV term lists (one sublist denotes one term and it's children) More...

## Private Member Functions

| MzIdentMLHandler ()
| MzIdentMLHandler (const MzIdentMLHandler &rhs)
MzIdentMLHandler & | operator= (const MzIdentMLHandler &rhs)

## Private Attributes

Map< String, AASequence > | pep_sequences_
std::map< String, String > | pp_identifier_2_sil_
| mapping peptide/proteinidentification identifier_ to spectrumidentificationlist More...
std::map< String, String > | sil_2_sdb_
| mapping spectrumidentificationlist to the search data bases More...
std::map< String, String > | sil_2_sdat_
| mapping spectrumidentificationlist to the search input More...
std::map< String, String > | ph_2_sdat_
| mapping identification runs (mapping PeptideIdentifications and ProteinIdentifications via .getIdentifier()) to spectra data More...
std::map< String, String > | sil_2_sip_
| mapping spectrumidentificationlist to the search protocol (where the params are at) More...
AASequence | actual_peptide_
Int | current_mod_location_
ProteinHit | actual_protein_

## Additional Inherited Members

Public Types inherited from XMLHandler
enum | ActionMode { LOAD, STORE }
| Action to set the current mode (for error messages) More...
enum | LOADDETAIL { LD_ALLDATA, LD_RAWCOUNTS, LD_COUNTS_WITHOPTIONS }
Static Public Member Functions inherited from XMLHandler
static String | writeXMLEscape (const String &to_escape)
| Escapes a string and returns the escaped string. More...

## Detailed Description

XML STREAM handler for MzIdentMLFile.

In read-mode, this class will parse an MzIdentML XML file and append the input identifications to the provided PeptideIdentifications and ProteinIdentifications.

Note
  Do not use this class. It is only needed in MzIdentMLFile.
  DOM and STREAM handler for MzIdentML have the same interface for legacy id structures.

## Constructor & Destructor Documentation

## ◆ MzIdentMLHandler() [1/6]

MzIdentMLHandler | ( | const Identification & | id,
|  | const String & | filename,
|  | const String & | version,
|  | const ProgressLogger & | logger
| ) |  |

Constructor for a write-only handler.

## ◆ MzIdentMLHandler() [2/6]

MzIdentMLHandler | ( | const std::vector< ProteinIdentification > & | pro_id,
|  | const std::vector< PeptideIdentification > & | pep_id,
|  | const String & | filename,
|  | const String & | version,
|  | const ProgressLogger & | logger
| ) |  |

Constructor for a write-only handler for internal identification structures.

## ◆ MzIdentMLHandler() [3/6]

MzIdentMLHandler | ( | Identification & | id,
|  | const String & | filename,
|  | const String & | version,
|  | const ProgressLogger & | logger
| ) |  |

Constructor for a read-only handler.

## ◆ MzIdentMLHandler() [4/6]

MzIdentMLHandler | ( | std::vector< ProteinIdentification > & | pro_id,
|  | std::vector< PeptideIdentification > & | pep_id,
|  | const String & | filename,
|  | const String & | version,
|  | const ProgressLogger & | logger
| ) |  |

Constructor for a read-only handler for internal identification structures.

## ◆ ~MzIdentMLHandler()

~MzIdentMLHandler | ( |  | ) |

override

Destructor.

## ◆ MzIdentMLHandler() [5/6]

MzIdentMLHandler | ( |  | ) |

private

## ◆ MzIdentMLHandler() [6/6]

MzIdentMLHandler | ( | const MzIdentMLHandler & | rhs | ) |

private

## Member Function Documentation

## ◆ characters()

void characters | ( | const XMLCh *const | chars,
|  | const XMLSize_t | length
| ) |  |

override

## ◆ endElement()

void endElement | ( | const XMLCh * | const,
|  | const XMLCh * | const,
|  | const XMLCh *const | qname
| ) |  |

override

## ◆ getChildWithName_()

ControlledVocabulary::CVTerm getChildWithName_ | ( | const String & | parent_accession,
|  | const String & | name
| ) |  | const

protected

Looks up a child CV term of `parent_accession` with the name `name`. If no such term is found, an empty term is returned.

## ◆ handleCVParam_()

void handleCVParam_ | ( | const String & | parent_parent_tag,
|  | const String & | parent_tag,
|  | const String & | accession,
|  | const xercesc::Attributes & | attributes,
|  | const String & | cv_ref
| ) |  |

protected

Handles CV terms.

## ◆ handleUserParam_()

void handleUserParam_ | ( | const String & | parent_parent_tag,
|  | const String & | parent_tag,
|  | const String & | name,
|  | const String & | type,
|  | const String & | value
| ) |  |

protected

Handles user terms.

## ◆ operator=()

MzIdentMLHandler& operator= | ( | const MzIdentMLHandler & | rhs | ) |

private

## ◆ startElement()

void startElement | ( | const XMLCh * | const,
|  | const XMLCh * | const,
|  | const XMLCh *const | qname,
|  | const xercesc::Attributes & | attributes
| ) |  |

override

## ◆ trimOpenMSfileURI()

String trimOpenMSfileURI | ( | const String | file | ) | const

protected

Convenience method to remove the [] from OpenMS internal file uri representation.

## ◆ writeEnzyme_()

void writeEnzyme_ | ( | String & | s,
|  | DigestionEnzymeProtein | enzy,
|  | UInt | miss,
|  | UInt | indent
| ) |  | const

protected

Helper method that writes a source file.

Helper method that writes the Enzymes

## ◆ writeFragmentAnnotations_()

void writeFragmentAnnotations_ | ( | String & | s,
|  | const std::vector< PeptideHit::PeakAnnotation > & | annotations,
|  | UInt | indent,
|  | bool | is_ppxl
| ) |  | const

protected

Helper method that writes the FragmentAnnotations section of a spectrum identification.

## ◆ writeMetaInfos_()

void writeMetaInfos_ | ( | String & | s,
|  | const MetaInfoInterface & | meta,
|  | UInt | indent
| ) |  | const

protected

Writes user terms.

## ◆ writeModParam_()

void writeModParam_ | ( | String & | s,
|  | const std::vector< String > & | mod_names,
|  | bool | fixed,
|  | UInt | indent
| ) |  | const

protected

Helper method that writes the modification search params (fixed or variable)

## ◆ writePeptideHit()

void writePeptideHit | ( | const PeptideHit & | hit,
|  | std::vector< PeptideIdentification >::const_iterator & | it,
|  | std::map< String, String > & | pep_ids,
|  | String | cv_ns,
|  | std::set< String > & | sen_set,
|  | std::map< String, String > & | sen_ids,
|  | std::map< String, std::vector< String > > & | pep_evis,
|  | std::map< String, double > & | pp_identifier_2_thresh,
|  | String & | sidres
| ) |  |

protected

Abstraction of PeptideHit loop for most PeptideHits.

## ◆ writeTo()

void writeTo | ( | std::ostream & |  | ) |

override virtual

Writes the contents to a stream.

Reimplemented from XMLHandler.

## ◆ writeXLMSPeptideHit()

void writeXLMSPeptideHit | ( | const PeptideHit & | hit,
|  | std::vector< PeptideIdentification >::const_iterator & | it,
|  | String | ppxl_linkid,
|  | std::map< String, String > & | pep_ids,
|  | String | cv_ns,
|  | std::set< String > & | sen_set,
|  | std::map< String, String > & | sen_ids,
|  | std::map< String, std::vector< String > > & | pep_evis,
|  | std::map< String, double > & | pp_identifier_2_thresh,
|  | double | ppxl_crosslink_mass,
|  | std::map< String, String > & | ppxl_specref_2_element,
|  | String & | sid,
|  | bool | alpha_peptide
| ) |  |

protected

Abstraction of PeptideHit loop for XL-MS data from OpenPepXL.

## Member Data Documentation

## ◆ actual_peptide_

AASequence actual_peptide_

private

## ◆ actual_protein_

ProteinHit actual_protein_

private

## ◆ cid_

const Identification* cid_

protected

## ◆ cpep_id_

const std::vector<PeptideIdentification>* cpep_id_

protected

## ◆ cpro_id_

const std::vector<ProteinIdentification>* cpro_id_

protected

## ◆ current_id_hit_

IdentificationHit current_id_hit_

protected

IdentificationHit Item.

## ◆ current_mod_location_

Int current_mod_location_

private

## ◆ current_spectrum_id_

SpectrumIdentification current_spectrum_id_

protected

SpectrumIdentification Item.

## ◆ cv_

ControlledVocabulary cv_

protected

Controlled vocabulary (psi-ms from OpenMS/share/OpenMS/CV/psi-ms.obo)

## ◆ id_

Identification* id_

protected

Identification Item.

## ◆ logger_

const ProgressLogger& logger_

protected

Progress logger.

## ◆ pep_id_

std::vector<PeptideIdentification>* pep_id_

protected

Identification Item for peptides.

## ◆ pep_sequences_

Map<String, AASequence> pep_sequences_

private

## ◆ ph_2_sdat_

std::map<String, String> ph_2_sdat_

private

mapping identification runs (mapping PeptideIdentifications and ProteinIdentifications via .getIdentifier()) to spectra data

## ◆ pp_identifier_2_sil_

std::map<String, String> pp_identifier_2_sil_

private

mapping peptide/proteinidentification identifier_ to spectrumidentificationlist

## ◆ pro_id_

std::vector<ProteinIdentification>* pro_id_

protected

internal Identification Item for proteins

## ◆ sil_2_sdat_

std::map<String, String> sil_2_sdat_

private

mapping spectrumidentificationlist to the search input

## ◆ sil_2_sdb_

std::map<String, String> sil_2_sdb_

private

mapping spectrumidentificationlist to the search data bases

## ◆ sil_2_sip_

std::map<String, String> sil_2_sip_

private

mapping spectrumidentificationlist to the search protocol (where the params are at)

## ◆ tag_

String tag_

protected

XML tag parse element.

## ◆ unimod_

ControlledVocabulary unimod_

protected

Controlled vocabulary for modifications (unimod from OpenMS/share/OpenMS/CV/unimod.obo)