OpenMS
MascotXMLHandler Class Reference

Handler that is used for parsing MascotXML data. More...

#include <OpenMS/FORMAT/HANDLERS/MascotXMLHandler.h>

Inheritance diagram for MascotXMLHandler:
[legend]
Collaboration diagram for MascotXMLHandler:
[legend]

Public Member Functions

 MascotXMLHandler (ProteinIdentification &protein_identification, std::vector< PeptideIdentification > &identifications, const String &filename, std::map< String, std::vector< AASequence > > &peptides, const SpectrumMetaDataLookup &lookup)
 Constructor. More...
 
 ~MascotXMLHandler () override
 Destructor. More...
 
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) override
 
- 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 (const xercesc::SAXParseException &exception) override
 
void error (const xercesc::SAXParseException &exception) override
 
void warning (const xercesc::SAXParseException &exception) override
 
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...
 
virtual void writeTo (std::ostream &)
 Writes the contents to a stream. 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...
 
DataValue cvParamToValue (const ControlledVocabulary &cv, const String &parent_tag, const String &accession, const String &name, const String &value, const String &unit_accession) const
 Convert the value of a <cvParam value=.> (as commonly found in PSI schemata) to the DataValue with the correct type (e.g. int) according to the type stored in the CV (usually PSI-MS CV), as well as set its unit. More...
 
DataValue cvParamToValue (const ControlledVocabulary &cv, const CVTerm &raw_term) const
 Convert the value of a <cvParam value=.> (as commonly found in PSI schemata) to the DataValue with the correct type (e.g. int) according to the type stored in the CV (usually PSI-MS CV), as well as set its unit. More...
 
void checkUniqueIdentifiers_ (const std::vector< ProteinIdentification > &prot_ids) const
 

Static Public Member Functions

static std::vector< StringsplitModificationBySpecifiedAA (const String &mod)
 Split modification search parameter if for more than one amino acid specified e.g. Phospho (ST) 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 DataValue fromXSDString (const String &type, const String &value)
 Convert an XSD type (e.g. 'xsd:double') to a DataValue. More...
 

Private Attributes

ProteinIdentificationprotein_identification_
 the protein identifications More...
 
std::vector< PeptideIdentification > & id_data_
 the identifications (storing the peptide hits) More...
 
ProteinHit actual_protein_hit_
 
PeptideHit actual_peptide_hit_
 
PeptideEvidence actual_peptide_evidence_
 
UInt peptide_identification_index_
 
String tag_
 
DateTime date_
 
String date_time_string_
 
UInt actual_query_
 
ProteinIdentification::SearchParameters search_parameters_
 
String identifier_
 
String actual_title_
 
std::map< String, std::vector< AASequence > > & modified_peptides_
 
StringList tags_open_
 tracking the current XML tree More...
 
String character_buffer_
 filled by MascotXMLHandler::characters More...
 
String major_version_
 
String minor_version_
 
std::vector< Stringremove_fixed_mods_
 
const SpectrumMetaDataLookuplookup_
 Helper object for looking up RT information. More...
 
bool no_rt_error_
 Error for missing RT information already reported? 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
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) const
 Conversion of a String to an integer value. More...
 
Int asInt_ (const XMLCh *in) const
 Conversion of a Xerces string to an integer value. More...
 
UInt asUInt_ (const String &in) const
 Conversion of a String to an unsigned integer value. More...
 
double asDouble_ (const String &in) const
 Conversion of a String to a double value. More...
 
float asFloat_ (const String &in) const
 Conversion of a String to a float value. More...
 
bool asBool_ (const String &in) const
 Conversion of a string to a boolean value. More...
 
DateTime asDateTime_ (String date_string) const
 Conversion of a xs:datetime string to a DateTime value. More...
 
bool equal_ (const XMLCh *a, const XMLCh *b) const
 Returns if two Xerces strings are equal. More...
 
SignedSize cvStringToEnum_ (const Size section, const String &term, const char *message, const SignedSize result_on_error=0)
 
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...
 
- Protected Attributes inherited from XMLHandler
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

Handler that is used for parsing MascotXML data.

Constructor & Destructor Documentation

◆ MascotXMLHandler()

MascotXMLHandler ( ProteinIdentification protein_identification,
std::vector< PeptideIdentification > &  identifications,
const String filename,
std::map< String, std::vector< AASequence > > &  peptides,
const SpectrumMetaDataLookup lookup 
)

Constructor.

◆ ~MascotXMLHandler()

~MascotXMLHandler ( )
override

Destructor.

Member Function Documentation

◆ characters()

void characters ( const XMLCh *const  chars,
const  XMLSize_t 
)
override

◆ endElement()

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

◆ splitModificationBySpecifiedAA()

static std::vector<String> splitModificationBySpecifiedAA ( const String mod)
static

Split modification search parameter if for more than one amino acid specified e.g. Phospho (ST)

◆ startElement()

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

Member Data Documentation

◆ actual_peptide_evidence_

PeptideEvidence actual_peptide_evidence_
private

◆ actual_peptide_hit_

PeptideHit actual_peptide_hit_
private

◆ actual_protein_hit_

ProteinHit actual_protein_hit_
private

◆ actual_query_

UInt actual_query_
private

◆ actual_title_

String actual_title_
private

◆ character_buffer_

String character_buffer_
private

◆ date_

DateTime date_
private

◆ date_time_string_

String date_time_string_
private

◆ id_data_

std::vector<PeptideIdentification>& id_data_
private

the identifications (storing the peptide hits)

◆ identifier_

String identifier_
private

◆ lookup_

const SpectrumMetaDataLookup& lookup_
private

Helper object for looking up RT information.

◆ major_version_

String major_version_
private

◆ minor_version_

String minor_version_
private

◆ modified_peptides_

std::map<String, std::vector<AASequence> >& modified_peptides_
private

◆ no_rt_error_

bool no_rt_error_
private

Error for missing RT information already reported?

◆ peptide_identification_index_

UInt peptide_identification_index_
private

◆ protein_identification_

ProteinIdentification& protein_identification_
private

the protein identifications

◆ remove_fixed_mods_

std::vector<String> remove_fixed_mods_
private

◆ search_parameters_

ProteinIdentification::SearchParameters search_parameters_
private

◆ tag_

String tag_
private

◆ tags_open_

StringList tags_open_
private

tracking the current XML tree