OpenMS
MzDataHandler Class Reference

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

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

Constructors and destructor

typedef MapType::PeakType PeakType
 Peak type. More...
 
typedef MSSpectrum SpectrumType
 Spectrum type. More...
 
MapTypeexp_
 map pointer for reading More...
 
const MapTypecexp_
 map pointer for writing More...
 
PeakFileOptions options_
 Options that can be set for loading/storing. More...
 
 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...
 
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...
 
void init_ ()
 

temporary datastructures to hold parsed data

UInt peak_count_
 The number of peaks in the current spectrum (according to the length attribute – which should not be trusted) 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< float > data_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_
 
bool skip_spectrum_
 Flag that indicates whether this spectrum should be skipped (due to options) More...
 
const ProgressLoggerlogger_
 Progress logger. More...
 
void fillData_ ()
 fills the current spectrum with peaks and meta data More...
 

cvParam and userParam handling methods (for mzData and featureXML)

boost::shared_ptr< DataProcessingdata_processing_
 
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...
 
void writeBinary_ (std::ostream &os, Size size, const String &tag, const String &name="", SignedSize id=-1)
 write binary data to stream (first one) 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 }
 
- 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 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 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...
 
- 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...
 

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,
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_() [2/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_() [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 (according to the length attribute – which should not be trusted)

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