OpenMS  2.4.0
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
MzQuantMLHandler Class Reference

XML handler for MzQuantMLFile. More...

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

Inheritance diagram for MzQuantMLHandler:
XMLHandler

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
 MzQuantMLHandler (const MSQuantifications &msq, const String &filename, const String &version, const ProgressLogger &logger)
 Constructor for a write-only handler. More...
 
 MzQuantMLHandler (MSQuantifications &msq, const String &filename, const String &version, const ProgressLogger &logger)
 Constructor for a read-only handler. More...
 
 ~MzQuantMLHandler () 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 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 String &name, const String &value, const xercesc::Attributes &attributes, const String &cv_ref, const String &unit_accession="")
 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 writeCVParams_ (String &s, const Map< String, std::vector< CVTerm > > &, UInt indent)
 Write CV term. More...
 
void writeUserParams_ (std::ostream &os, const MetaInfoInterface &meta, UInt indent)
 Writes user terms. More...
 
void writeUserParams_ (String &s, const MetaInfoInterface &meta, UInt indent)
 
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 writeFeature_ (String &feature_xml, const std::vector< FeatureMap > &fm, UInt indentation_level)
 Helper method that writes the featuremaps. 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 ProgressLoggerlogger_
 Progress logger. More...
 
ControlledVocabulary cv_
 Controlled vocabulary (hopefully the psi-pi from OpenMS/share/OpenMS/CV/psi-pi.obo) More...
 
String tag_
 
MSQuantificationsmsq_
 
const MSQuantificationscmsq_
 
- 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...
 

Private Member Functions

 MzQuantMLHandler ()
 Helper method that writes a source file. More...
 
 MzQuantMLHandler (const MzQuantMLHandler &rhs)
 
MzQuantMLHandleroperator= (const MzQuantMLHandler &rhs)
 

Private Attributes

std::map< String, std::vector< ExperimentalSettings > > current_files_
 
String current_id_
 
String current_cf_id_
 
Size current_count_
 
std::vector< MetaInfoup_stack_
 
std::vector< CVTermcvp_stack_
 
MSQuantifications::Assay current_assay_
 
std::multimap< String, Stringcm_cf_ids_
 
std::map< String, Stringf_cf_ids_
 
std::map< String, ConsensusFeaturecf_cf_obj_
 
std::map< String, FeatureHandlef_f_obj_
 
std::map< String, ConsensusFeature::Ratior_rtemp_
 
std::map< String, Stringnumden_r_ids_
 
std::map< String, ConsensusFeature::Ratior_r_obj_
 
std::map< String, Softwarecurrent_sws_
 
std::map< int, DataProcessingcurrent_orderedps_
 
std::pair< int, DataProcessingcurrent_dp_
 
std::set< DataProcessing::ProcessingActioncurrent_pas_
 
std::vector< Stringcurrent_col_types_
 
std::vector< doublecurrent_dm_values_
 
std::vector< doublecurrent_row_
 

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 handler for MzQuantMLFile.

Note
Do not use this class. It is only needed in MzQuantMLFile.

Constructor & Destructor Documentation

◆ MzQuantMLHandler() [1/4]

MzQuantMLHandler ( const MSQuantifications msq,
const String filename,
const String version,
const ProgressLogger logger 
)

Constructor for a write-only handler.

◆ MzQuantMLHandler() [2/4]

MzQuantMLHandler ( MSQuantifications msq,
const String filename,
const String version,
const ProgressLogger logger 
)

Constructor for a read-only handler.

◆ ~MzQuantMLHandler()

~MzQuantMLHandler ( )
override

Destructor.

◆ MzQuantMLHandler() [3/4]

MzQuantMLHandler ( )
private

Helper method that writes a source file.

◆ MzQuantMLHandler() [4/4]

MzQuantMLHandler ( const MzQuantMLHandler 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 String name,
const String value,
const xercesc::Attributes &  attributes,
const String cv_ref,
const String unit_accession = "" 
)
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=()

MzQuantMLHandler& operator= ( const MzQuantMLHandler rhs)
private

◆ startElement()

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

◆ writeCVParams_()

void writeCVParams_ ( String s,
const Map< String, std::vector< CVTerm > > &  ,
UInt  indent 
)
protected

Write CV term.

◆ writeFeature_()

void writeFeature_ ( String feature_xml,
const std::vector< FeatureMap > &  fm,
UInt  indentation_level 
)
protected

Helper method that writes the featuremaps.

◆ writeTo()

void writeTo ( std::ostream &  )
overridevirtual

Writes the contents to a stream.

Reimplemented from XMLHandler.

◆ writeUserParams_() [1/2]

void writeUserParams_ ( std::ostream &  os,
const MetaInfoInterface meta,
UInt  indent 
)
protected

Writes user terms.

◆ writeUserParams_() [2/2]

void writeUserParams_ ( String s,
const MetaInfoInterface meta,
UInt  indent 
)
protected

Member Data Documentation

◆ cf_cf_obj_

std::map<String, ConsensusFeature> cf_cf_obj_
private

◆ cm_cf_ids_

std::multimap<String, String> cm_cf_ids_
private

◆ cmsq_

const MSQuantifications* cmsq_
protected

◆ current_assay_

MSQuantifications::Assay current_assay_
private

◆ current_cf_id_

String current_cf_id_
private

◆ current_col_types_

std::vector<String> current_col_types_
private

◆ current_count_

Size current_count_
private

◆ current_dm_values_

std::vector<double> current_dm_values_
private

◆ current_dp_

std::pair<int, DataProcessing> current_dp_
private

◆ current_files_

std::map<String, std::vector<ExperimentalSettings> > current_files_
private

◆ current_id_

String current_id_
private

◆ current_orderedps_

std::map<int, DataProcessing> current_orderedps_
private

◆ current_pas_

std::set<DataProcessing::ProcessingAction> current_pas_
private

◆ current_row_

std::vector<double> current_row_
private

◆ current_sws_

std::map<String, Software> current_sws_
private

◆ cv_

ControlledVocabulary cv_
protected

Controlled vocabulary (hopefully the psi-pi from OpenMS/share/OpenMS/CV/psi-pi.obo)

◆ cvp_stack_

std::vector<CVTerm> cvp_stack_
private

◆ f_cf_ids_

std::map<String, String> f_cf_ids_
private

◆ f_f_obj_

std::map<String, FeatureHandle> f_f_obj_
private

◆ logger_

const ProgressLogger& logger_
protected

Progress logger.

◆ msq_

MSQuantifications* msq_
protected

◆ numden_r_ids_

std::map<String, String> numden_r_ids_
private

◆ r_r_obj_

std::map<String, ConsensusFeature::Ratio> r_r_obj_
private

◆ r_rtemp_

std::map<String, ConsensusFeature::Ratio> r_rtemp_
private

◆ tag_

String tag_
protected

◆ up_stack_

std::vector<MetaInfo> up_stack_
private