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

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

Inheritance diagram for MzDataHandler:
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...
 
void setOptions (const PeakFileOptions &options)
 Sets the options. More...
 
Constructors and destructor
 MzDataHandler (MapType &exp, const String &filename, const String &version, ProgressLogger &logger)
 Constructor for a write-only handler. More...
 
 MzDataHandler (const MapType &exp, const String &filename, const String &version, const ProgressLogger &logger)
 Constructor for a read-only handler. More...
 
 ~MzDataHandler () 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 Types

typedef MapType::PeakType PeakType
 Peak type. More...
 
typedef MSSpectrum SpectrumType
 Spectrum type. More...
 

Protected Member Functions

void fillData_ ()
 fills the current spectrum with peaks and meta data More...
 
void writeBinary_ (std::ostream &os, Size size, const String &tag, const String &name="", SignedSize id=-1)
 write binary data to stream (first one) More...
 
cvParam and userParam handling methods (for mzData and featureXML)
void writeCVS_ (std::ostream &os, double value, const String &acc, const String &name, UInt indent=4) const
 write cvParam containing strings to stream More...
 
void writeCVS_ (std::ostream &os, const String &value, const String &acc, const String &name, UInt indent=4) const
 write cvParam containing strings to stream More...
 
void writeCVS_ (std::ostream &os, UInt value, UInt map, const String &acc, const String &name, UInt indent=4)
 write cvParam element to stream More...
 
void writeUserParam_ (std::ostream &os, const MetaInfoInterface &meta, UInt indent=4)
 Writing the MetaInfo as UserParam to the file. More...
 
void cvParam_ (const String &name, const String &value)
 read attributes of MzData's cvParamType 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

MapTypeexp_
 map pointer for reading More...
 
const MapTypecexp_
 map pointer for writing More...
 
PeakFileOptions options_
 Options that can be set for loading/storing. More...
 
bool skip_spectrum_
 Flag that indicates whether this spectrum should be skipped (due to options) More...
 
const ProgressLoggerlogger_
 Progress logger. More...
 
boost::shared_ptr< DataProcessingdata_processing_
 
temporary datastructures to hold parsed data
UInt peak_count_
 The number of peaks in the current spectrum. More...
 
SpectrumType spec_
 The current spectrum. More...
 
std::vector< std::pair< String, MetaInfoDescription > > meta_id_descs_
 An array of pairs MetaInfodescriptions and their ids. More...
 
std::vector< Stringdata_to_decode_
 encoded data which is read and has to be decoded More...
 
std::vector< floatdata_to_encode_
 floating point numbers which have to be encoded and written More...
 
std::vector< std::vector< float > > decoded_list_
 
std::vector< std::vector< double > > decoded_double_list_
 
std::vector< Stringprecisions_
 
std::vector< Stringendians_
 
- 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

void init_ ()
 

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

Member Typedef Documentation

◆ PeakType

typedef MapType::PeakType PeakType
protected

Peak type.

◆ SpectrumType

typedef MSSpectrum SpectrumType
protected

Spectrum type.

Constructor & Destructor Documentation

◆ MzDataHandler() [1/2]

MzDataHandler ( MapType exp,
const String filename,
const String version,
ProgressLogger logger 
)

Constructor for a write-only handler.

◆ MzDataHandler() [2/2]

MzDataHandler ( const MapType exp,
const String filename,
const String version,
const ProgressLogger logger 
)

Constructor for a read-only handler.

◆ ~MzDataHandler()

~MzDataHandler ( )
inlineoverride

Destructor.

Member Function Documentation

◆ characters()

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

◆ cvParam_()

void cvParam_ ( const String name,
const String value 
)
protected

read attributes of MzData's cvParamType

Example: <cvParam cvLabel="psi" accession="PSI:1000001" name="@p name" value="@p value"/> name and sometimes value are defined in the MzData ontology.

◆ endElement()

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

◆ fillData_()

void fillData_ ( )
protected

fills the current spectrum with peaks and meta data

◆ init_()

void init_ ( )
private

◆ setOptions()

void setOptions ( const PeakFileOptions options)
inline

Sets the options.

◆ startElement()

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

◆ writeBinary_()

void writeBinary_ ( std::ostream &  os,
Size  size,
const String tag,
const String name = "",
SignedSize  id = -1 
)
inlineprotected

write binary data to stream (first one)

The name and id are only used if the tag is supDataArrayBinary or supDataArray.

◆ writeCVS_() [1/3]

void writeCVS_ ( std::ostream &  os,
double  value,
const String acc,
const String name,
UInt  indent = 4 
) const
inlineprotected

write cvParam containing strings to stream

value string value acc accession number defined by ontology name term defined by ontology indent number of tabs used in front of tag

Example: <cvParam cvLabel="psi" accession="PSI:@p acc" name="@p name" value="@p value"/>

◆ writeCVS_() [2/3]

void writeCVS_ ( std::ostream &  os,
const String value,
const String acc,
const String name,
UInt  indent = 4 
) const
inlineprotected

write cvParam containing strings to stream

value string value acc accession number defined by ontology name term defined by ontology indent number of tabs used in front of tag

Example: <cvParam cvLabel="psi" accession="PSI:@p acc" name="@p name" value="@p value"/>

◆ writeCVS_() [3/3]

void writeCVS_ ( std::ostream &  os,
UInt  value,
UInt  map,
const String acc,
const String name,
UInt  indent = 4 
)
inlineprotected

write cvParam element to stream

os Output stream value enumeration value map index if the terms in cv_terms_ acc accession number defined by ontology name term defined by ontology indent number of tabs used in front of tag

Example: <cvParam cvLabel="psi" accession="PSI:@p acc" name="@p name" value=""/>

◆ writeTo()

void writeTo ( std::ostream &  os)
overridevirtual

Writes the contents to a stream.

Reimplemented from XMLHandler.

◆ writeUserParam_()

void writeUserParam_ ( std::ostream &  os,
const MetaInfoInterface meta,
UInt  indent = 4 
)
inlineprotected

Writing the MetaInfo as UserParam to the file.

Member Data Documentation

◆ cexp_

const MapType* cexp_
protected

map pointer for writing

◆ data_processing_

boost::shared_ptr< DataProcessing > data_processing_
protected

◆ data_to_decode_

std::vector<String> data_to_decode_
protected

encoded data which is read and has to be decoded

◆ data_to_encode_

std::vector<float> data_to_encode_
protected

floating point numbers which have to be encoded and written

◆ decoded_double_list_

std::vector<std::vector<double> > decoded_double_list_
protected

◆ decoded_list_

std::vector<std::vector<float> > decoded_list_
protected

◆ endians_

std::vector<String> endians_
protected

◆ exp_

MapType* exp_
protected

map pointer for reading

◆ logger_

const ProgressLogger& logger_
protected

Progress logger.

◆ meta_id_descs_

std::vector<std::pair<String, MetaInfoDescription> > meta_id_descs_
protected

An array of pairs MetaInfodescriptions and their ids.

◆ options_

PeakFileOptions options_
protected

Options that can be set for loading/storing.

◆ peak_count_

UInt peak_count_
protected

The number of peaks in the current spectrum.

◆ precisions_

std::vector<String> precisions_
protected

◆ skip_spectrum_

bool skip_spectrum_
protected

Flag that indicates whether this spectrum should be skipped (due to options)

◆ spec_

SpectrumType spec_
protected

The current spectrum.