OpenMS  2.4.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:
XMLHandler

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 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 occurence of the More...
 
static StringList splitByMiddle (const String &input, const char separator)
 counts occurences 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, Stringenzymes
 
static std::map< String, UIntmonths
 

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_
 
int spectrum_index_light_
 
int spectrum_index_heavy_
 
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_
 
double min_score_
 
double max_score_
 
bool is_openpepxl_
 
std::set< Stringaccessions_
 
ProteaseDBenzymes_db_
 
std::set< UIntcharges_
 
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< PeptideIdentificationcurrent_spectrum_search_
 
std::map< String, DataValuepeptide_id_meta_values_
 

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< Stringopen_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_interfaceWhere 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 
)
inlineprivate

Extracts the DateTime from datetime string from xQuest.

Parameters
xquest_datetime_stringThe DateTime String to be processed
date_timeDateTime 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
attributesXML attributes of Xerces.
pairPair 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_stringProtein string of the xquest file the peptide evidence should be populated from.
pep_hitFor which peptide hit the peptide evidence should be set.

◆ splitByMiddle()

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

counts occurences 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 occurence. 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 occurence is at the beginning or end, one of the result strings will be empty.

Exceptions
Exception::IllegalArgumentis 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 occurence 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 &  )
overridevirtual

Writes the contents to a stream.

Reimplemented from XMLHandler.

Member Data Documentation

◆ accessions_

std::set< String > accessions_
private

◆ charges_

std::set< UInt > charges_
private

◆ cpep_id_

const std::vector<PeptideIdentification>* cpep_id_
private

◆ cpro_id_

const std::vector<ProteinIdentification>* cpro_id_
private

◆ current_spectrum_search_

std::vector< PeptideIdentification > current_spectrum_search_
private

◆ decoy_string_

String decoy_string_
private

◆ enzymes

std::map< Size, String > enzymes
static

◆ enzymes_db_

ProteaseDB* enzymes_db_
private

◆ is_openpepxl_

bool is_openpepxl_
private

◆ 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

◆ 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

◆ pep_ids_

std::vector< PeptideIdentification >* pep_ids_
private

◆ peptide_id_meta_values_

std::map<String, DataValue> peptide_id_meta_values_
private

◆ 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