| OpenMS 2.5.0

Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | List of all members
XQuestResultXMLHandler Class Reference

XMLHandler for the result files of XQuest. More...

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

Inheritance diagram for XQuestResultXMLHandler:

## Public Member Functions

| XQuestResultXMLHandler (const String &filename, std::vector< PeptideIdentification > &pep_ids, std::vector< ProteinIdentification > &prot_ids)
| Constructor for a read-only handler for internal identification structures. More...
| XQuestResultXMLHandler (const std::vector< ProteinIdentification > &pro_id, const std::vector< PeptideIdentification > &pep_id, const String &filename, const String &version)
| Constructor for a write-only handler for internal identification structures. More...
| ~XQuestResultXMLHandler () override
void | endElement (const XMLCh *const uri, const XMLCh *const local_name, const XMLCh *const qname) override
void | startElement (const XMLCh *const uri, const XMLCh *const local_name, const XMLCh *const qname, const xercesc::Attributes &attributes) override
double | getMinScore () const
| Returns the minimum score encountered in the file. More...
double | getMaxScore () const
| Returns the maximum score encountered in the file. More...
UInt | getNumberOfHits () const
| Returns the total number of hits in the file. More...
virtual void | writeTo (std::ostream &os) override
| Writes the contents to a stream. 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

## Static Public Member Functions

static StringList | splitByNth (const String &input, const char separator, const Size n)
| splits the string at the nth occurrence of the More...
static StringList | splitByMiddle (const String &input, const char separator)
| counts occurrences of the and splits the string into two at the middle More...
Static Public Member Functions inherited from XMLHandler
static String | writeXMLEscape (const String &to_escape)
| Escapes a string and returns the escaped string. More...

## Static Public Attributes

static std::map< Size, String > | enzymes
| Maps enzyme_num in xQuest result file to the enzyme name used by OpenMS. More...
static std::map< String, UInt > | months
| Maps String encoding month to the numeric value. More...

## Private Member Functions

void | extractDateTime_ (const String &xquest_datetime_string, DateTime &date_time)
| Extracts the DateTime from datetime string from xQuest. More...
void | addMetaValues_ (MetaInfoInterface &meta_info_interface)
| Assigns all meta values stored in the peptide_id_attributes member to an meta info interface. More...
void | getLinkPosition_ (const xercesc::Attributes &attributes, std::pair< SignedSize, SignedSize > &pair)
| Gets the link location of a xQuest xlinkPositionString. More...
void | setPeptideEvidence_ (const String &prot_string, PeptideHit &pep_hit)
| Sets the peptide evidence for Alpha and Beta. More...

## Private Attributes

String | decoy_string_ = "decoy_"
int | spectrum_index_light_
int | spectrum_index_heavy_
String | cross_linker_name_
std::vector< PeptideIdentification > * | pep_ids_
std::vector< ProteinIdentification > * | prot_ids_
const std::vector< ProteinIdentification > * | cpro_id_
const std::vector< PeptideIdentification > * | cpep_id_
UInt | n_hits_
| Total no. of hits found in the result XML file. More...
double | min_score_
double | max_score_
bool | is_openpepxl_
| Whether or not current xquest result tag comes from OpenPepXL (xQuest otherwise) More...
std::set< String > | accessions_
| Set of all protein accessions that are within the ProteinHits. More...
ProteaseDB * | enzymes_db_
| The enzyme database for enzyme lookup. More...
std::set< UInt > | charges_
| Keeps track of the charges of the hits. More...
UInt | min_precursor_charge_
UInt | max_precursor_charge_
double | rt_light_
double | rt_heavy_
double | mz_light_
double | mz_heavy_
StringList | ms_run_path_
String | spectrum_input_file_
std::vector< PeptideIdentification > | current_spectrum_search_
| The current spectrum search. More...
std::map< String, DataValue > | peptide_id_meta_values_
| Stores the attributes of a record (peptide identification) More...

## 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 }
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 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...

## Detailed Description

XMLHandler for the result files of XQuest.

## Constructor & Destructor Documentation

## ◆ XQuestResultXMLHandler() [1/2]

XQuestResultXMLHandler | ( | const String & | filename,
|  | std::vector< PeptideIdentification > & | pep_ids,
|  | std::vector< ProteinIdentification > & | prot_ids
| ) |  |

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

## ◆ XQuestResultXMLHandler() [2/2]

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

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

## ◆ ~XQuestResultXMLHandler()

~XQuestResultXMLHandler | ( |  | ) |

override

## Member Function Documentation

## ◆ addMetaValues_()

void addMetaValues_ | ( | MetaInfoInterface & | meta_info_interface | ) |

private

Assigns all meta values stored in the peptide_id_attributes member to an meta info interface.

Parameters

  meta_info_interface | Where the meta values from the peptide_id_attributes member should be assigned to

## ◆ endElement()

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

override

## ◆ extractDateTime_()

void extractDateTime_ | ( | const String & | xquest_datetime_string,
|  | DateTime & | date_time
| ) |  |

inline private

Extracts the DateTime from datetime string from xQuest.

Parameters

  xquest_datetime_string | The DateTime String to be processed
  date_time | DateTime that reflects the value given in the `xquest_datetime_string`

## ◆ getLinkPosition_()

void getLinkPosition_ | ( | const xercesc::Attributes & | attributes,
|  | std::pair< SignedSize, SignedSize > & | pair
| ) |  |

private

Gets the link location of a xQuest xlinkPositionString.

Parameters

  attributes | XML attributes of Xerces.
  pair | Pair to be populated with the xlinkposition in xQuest.

## ◆ getMaxScore()

double getMaxScore | ( |  | ) | const

Returns the maximum score encountered in the file.

Returns
  Maximum score encountered in the file.

## ◆ getMinScore()

double getMinScore | ( |  | ) | const

Returns the minimum score encountered in the file.

Returns
  Minimum score encountered in the file.

## ◆ getNumberOfHits()

UInt getNumberOfHits | ( |  | ) | const

Returns the total number of hits in the file.

Returns
  Total number of hits in the file.

## ◆ setPeptideEvidence_()

void setPeptideEvidence_ | ( | const String & | prot_string,
|  | PeptideHit & | pep_hit
| ) |  |

private

Sets the peptide evidence for Alpha and Beta.

Parameters

  prot_string | Protein string of the xquest file the peptide evidence should be populated from.
  pep_hit | For which peptide hit the peptide evidence should be set.

## ◆ splitByMiddle()

static StringList splitByMiddle | ( | const String & | input,
|  | const char | separator
| ) |  |

static

counts occurrences of the and splits the string into two at the middle

If the separator occurs 5 times in the input string, the string will be split at the 3rd occurrence. If 7 times, then at the 4th. The separator has to occur in the string an uneven number of times. If the separator occurs once, the string will be split at this one instance. If this one occurrence is at the beginning or end, one of the result strings will be empty.

Exceptions

  Exception::IllegalArgument | is thrown if the does not occur in the string an uneven number of times and at least once

Returns
  StringList with two elements, the two halves of the input without the middle separator

## ◆ splitByNth()

static StringList splitByNth | ( | const String & | input,
|  | const char | separator,
|  | const Size | n
| ) |  |

static

splits the string at the nth occurrence of the

If the separator does not occur in the input string n times, then the first output string will be the entire input string and the second one will be empty.

Returns
  StringList with two elements, the two parts of the input without the nth separator

## ◆ startElement()

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

override

## ◆ writeTo()

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

override virtual

Writes the contents to a stream.

Reimplemented from XMLHandler.

## Member Data Documentation

## ◆ accessions_

std::set< String > accessions_

private

Set of all protein accessions that are within the ProteinHits.

## ◆ charges_

std::set< UInt > charges_

private

Keeps track of the charges of the hits.

## ◆ cpep_id_

const std::vector<PeptideIdentification>* cpep_id_

private

## ◆ cpro_id_

const std::vector<ProteinIdentification>* cpro_id_

private

## ◆ cross_linker_name_

String cross_linker_name_

private

## ◆ current_spectrum_search_

std::vector< PeptideIdentification > current_spectrum_search_

private

The current spectrum search.

## ◆ decoy_string_

String decoy_string_ = "decoy_"

private

## ◆ enzymes

std::map< Size, String > enzymes

static

Maps enzyme_num in xQuest result file to the enzyme name used by OpenMS.

## ◆ enzymes_db_

ProteaseDB* enzymes_db_

private

The enzyme database for enzyme lookup.

## ◆ is_openpepxl_

bool is_openpepxl_

private

Whether or not current xquest result tag comes from OpenPepXL (xQuest otherwise)

## ◆ max_precursor_charge_

UInt max_precursor_charge_

private

## ◆ max_score_

double max_score_

private

## ◆ min_precursor_charge_

UInt min_precursor_charge_

private

## ◆ min_score_

double min_score_

private

## ◆ months

std::map<String, UInt> months

static

Maps String encoding month to the numeric value.

## ◆ ms_run_path_

StringList ms_run_path_

private

## ◆ mz_heavy_

double mz_heavy_

private

## ◆ mz_light_

double mz_light_

private

## ◆ n_hits_

UInt n_hits_

private

Total no. of hits found in the result XML file.

## ◆ pep_ids_

std::vector< PeptideIdentification >* pep_ids_

private

## ◆ peptide_id_meta_values_

std::map<String, DataValue> peptide_id_meta_values_

private

Stores the attributes of a record (peptide identification)

## ◆ prot_ids_

std::vector< ProteinIdentification >* prot_ids_

private

## ◆ rt_heavy_

double rt_heavy_

private

## ◆ rt_light_

double rt_light_

private

## ◆ spectrum_index_heavy_

int spectrum_index_heavy_

private

## ◆ spectrum_index_light_

int spectrum_index_light_

private

## ◆ spectrum_input_file_

String spectrum_input_file_

private