Home  · Classes  · Annotated Classes  · Modules  · Members  · Namespaces  · Related Pages
Public Member Functions | Private Member Functions | List of all members
PlainMSDataWritingConsumer Class Reference

Consumer class that writes MS data to disk using the mzML format. More...

#include <OpenMS/FORMAT/DATAACCESS/MSDataWritingConsumer.h>

Inheritance diagram for PlainMSDataWritingConsumer:
MSDataWritingConsumer MzMLHandler IMSDataConsumer XMLHandler

Public Member Functions

 PlainMSDataWritingConsumer (String filename)
 
- Public Member Functions inherited from MSDataWritingConsumer
 MSDataWritingConsumer (String filename)
 Constructor. More...
 
virtual ~MSDataWritingConsumer ()
 Destructor. More...
 
virtual void addDataProcessing (DataProcessing d)
 Optionally add a data processing method to each chromatogram and spectrum. More...
 
virtual Size getNrSpectraWritten ()
 Return the number of spectra written. More...
 
virtual Size getNrChromatogramsWritten ()
 Return the number of chromatograms written. More...
 
virtual void setExperimentalSettings (const ExperimentalSettings &exp)
 Set experimental settings for the whole file. More...
 
virtual void setExpectedSize (Size expectedSpectra, Size expectedChromatograms)
 Set expected size of spectra and chromatograms to be written. More...
 
virtual void consumeSpectrum (SpectrumType &s)
 Consume a spectrum. More...
 
virtual void consumeChromatogram (ChromatogramType &c)
 Consume a chromatogram. More...
 
- Public Member Functions inherited from MzMLHandler
void getCounts (Size &spectra_counts, Size &chromatogram_counts)
 Get the spectra and chromatogram counts of a file. More...
 
void setMSDataConsumer (Interfaces::IMSDataConsumer *consumer)
 Set the IMSDataConsumer consumer which will consume the read data. More...
 
 MzMLHandler (MapType &exp, const String &filename, const String &version, ProgressLogger &logger)
 Constructor for a read-only handler. More...
 
 MzMLHandler (const MapType &exp, const String &filename, const String &version, const ProgressLogger &logger)
 Constructor for a write-only handler. More...
 
virtual ~MzMLHandler ()
 Destructor. More...
 
virtual void endElement (const XMLCh *const, const XMLCh *const, const XMLCh *const qname)
 Parsing method for closing tags. More...
 
virtual void startElement (const XMLCh *const, const XMLCh *const, const XMLCh *const qname, const xercesc::Attributes &attributes)
 Parsing method for opening tags. More...
 
virtual void characters (const XMLCh *const chars, const XMLSize_t length)
 Parsing method for character data. More...
 
virtual void writeTo (std::ostream &os)
 Writes the contents to a stream. More...
 
void setOptions (const PeakFileOptions &opt)
 Set the peak file options. More...
 
PeakFileOptionsgetOptions ()
 Get the peak file options. More...
 
- Public Member Functions inherited from XMLHandler
 XMLHandler (const String &filename, const String &version)
 Default constructor. More...
 
virtual ~XMLHandler ()
 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...
 
String errorString ()
 Returns the last error description. More...
 
void fatalError (const xercesc::SAXParseException &exception)
 
void error (const xercesc::SAXParseException &exception)
 
void warning (const xercesc::SAXParseException &exception)
 
- Public Member Functions inherited from IMSDataConsumer
virtual ~IMSDataConsumer ()
 

Private Member Functions

void processSpectrum_ (MapType::SpectrumType &)
 Process a spectrum before storing to disk. More...
 
void processChromatogram_ (MapType::ChromatogramType &)
 Process a chromatogram before storing to disk. More...
 

Additional Inherited Members

- Public Types inherited from MSDataWritingConsumer
typedef PeakMap MapType
 
typedef MapType::SpectrumType SpectrumType
 
typedef MapType::ChromatogramType ChromatogramType
 
- Public Types inherited from XMLHandler
enum  ActionMode { LOAD, STORE }
 Action to set the current mode (for error messages) More...
 
- Public Types inherited from IMSDataConsumer
typedef MSSpectrum SpectrumType
 
typedef MSChromatogram ChromatogramType
 
- Static Public Member Functions inherited from XMLHandler
static String writeXMLEscape (const String &to_escape)
 Escapes a string and returns the escaped string. More...
 
- Protected Types inherited from MzMLHandler
typedef MapType::PeakType PeakType
 Peak type. More...
 
typedef MapType::ChromatogramPeakType ChromatogramPeakType
 Chromatogram peak type. More...
 
typedef MSSpectrum SpectrumType
 Spectrum type. More...
 
typedef MSChromatogram ChromatogramType
 Spectrum type. More...
 
typedef MzMLHandlerHelper::BinaryData BinaryData
 
- Protected Member Functions inherited from MzMLHandler
void writeSpectrum_ (std::ostream &os, const SpectrumType &spec, Size s, Internal::MzMLValidator &validator, bool renew_native_ids, std::vector< std::vector< ConstDataProcessingPtr > > &dps)
 
void writeChromatogram_ (std::ostream &os, const ChromatogramType &chromatogram, Size c, Internal::MzMLValidator &validator)
 
template<typename ContainerT >
void writeContainerData (std::ostream &os, const PeakFileOptions &pf_options_, const ContainerT &container, String array_type)
 
void populateSpectraWithData ()
 Populate all spectra on the stack with data from input. More...
 
void populateChromatogramsWithData ()
 Populate all chromatograms on the stack with data from input. More...
 
void addSpectrumMetaData_ (const std::vector< MzMLHandlerHelper::BinaryData > &input_data, const Size n, SpectrumType &spectrum) const
 
void populateSpectraWithData_ (std::vector< MzMLHandlerHelper::BinaryData > &input_data, Size &default_arr_length, const PeakFileOptions &peak_file_options, SpectrumType &spectrum)
 Fill a single spectrum with data from input. More...
 
void populateChromatogramsWithData_ (std::vector< MzMLHandlerHelper::BinaryData > &input_data, Size &default_arr_length, const PeakFileOptions &peak_file_options, ChromatogramType &inp_chromatogram)
 Fill a single chromatogram with data from input. More...
 
template<typename DataType >
void writeBinaryDataArray (std::ostream &os, const PeakFileOptions &pf_options_, std::vector< DataType > data_to_encode, bool is32bit, String array_type)
 
void writeHeader_ (std::ostream &os, const MapType &exp, std::vector< std::vector< ConstDataProcessingPtr > > &dps, Internal::MzMLValidator &validator)
 
void fillChromatogramData_ ()
 Fills the current chromatogram with data points and meta data. More...
 
void handleCVParam_ (const String &parent_parent_tag, const String &parent_tag, const String &accession, const String &name, const String &value, 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 writeUserParam_ (std::ostream &os, const MetaInfoInterface &meta, UInt indent, String path, Internal::MzMLValidator &validator) const
 Writes user terms. More...
 
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 writeSoftware_ (std::ostream &os, const String &id, const Software &software, Internal::MzMLValidator &validator)
 Helper method that writes a software. More...
 
void writeSourceFile_ (std::ostream &os, const String &id, const SourceFile &software, Internal::MzMLValidator &validator)
 Helper method that writes a source file. More...
 
void writeDataProcessing_ (std::ostream &os, const String &id, const std::vector< ConstDataProcessingPtr > &dps, Internal::MzMLValidator &validator)
 Helper method that writes a data processing list. More...
 
void writePrecursor_ (std::ostream &os, const Precursor &precursor, Internal::MzMLValidator &validator)
 Helper method that write precursor information from spectra and chromatograms. More...
 
void writeProduct_ (std::ostream &os, const Product &product, Internal::MzMLValidator &validator)
 Helper method that write precursor information from spectra and chromatograms. More...
 
String writeCV_ (const ControlledVocabulary::CVTerm &c, const DataValue &metaValue) const
 Helper method to write an CV based on a meta value. More...
 
bool validateCV_ (const ControlledVocabulary::CVTerm &c, const String &path, const Internal::MzMLValidator &validator) const
 Helper method to validate if the given CV is allowed in the current location (path) 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...
 
char * 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...
 
char * 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 MSDataWritingConsumer
std::ofstream ofs_
 File stream (to write mzML) More...
 
bool started_writing_
 Stores whether we have already started writing any data. More...
 
bool writing_spectra_
 Stores whether we are currently writing spectra. More...
 
bool writing_chromatograms_
 Stores whether we are currently writing chromatograms. More...
 
Size spectra_written_
 Number of spectra written. More...
 
Size chromatograms_written_
 Number of chromatograms written. More...
 
Size spectra_expected_
 Number of spectra expected. More...
 
Size chromatograms_expected_
 Number of chromatograms expected. More...
 
bool add_dataprocessing_
 Whether to add dataprocessing term to the data before writing. More...
 
Internal::MzMLValidatorvalidator_
 Validator that knows about CV terms. More...
 
ExperimentalSettings settings_
 Experimental settings to use for the whole file. More...
 
std::vector< std::vector< ConstDataProcessingPtr > > dps_
 Vector of data processing objects -> will be filled by writeHeader_. More...
 
DataProcessingPtr additional_dataprocessing_
 The dataprocessing to be added to each spectrum/chromatogram. More...
 
- Protected Attributes inherited from MzMLHandler
MapTypeexp_
 map pointer for reading More...
 
const MapTypecexp_
 map pointer for writing More...
 
PeakFileOptions options_
 Options that can be set for loading/storing. More...
 
Base64 decoder_
 Decoder/Encoder for Base64-data in MzML. More...
 
const ProgressLoggerlogger_
 Progress logger. More...
 
Interfaces::IMSDataConsumerconsumer_
 Consumer class to work on spectra. More...
 
UInt scan_count
 Counting spectra and chromatograms. More...
 
UInt chromatogram_count
 
bool skip_chromatogram_
 Flag that indicates whether this spectrum should be skipped (due to options) More...
 
bool skip_spectrum_
 
bool rt_set_
 
ControlledVocabulary cv_
 Controlled vocabulary (psi-ms from OpenMS/share/OpenMS/CV/psi-ms.obo) More...
 
CVMappings mapping_
 
UInt selected_ion_count_
 Count of selected ions. More...
 
SpectrumType spec_
 The current spectrum. More...
 
ChromatogramType chromatogram_
 The current chromatogram. More...
 
std::vector< BinaryDatadata_
 The spectrum data (or chromatogram data) More...
 
Size default_array_length_
 The default number of peaks in the current spectrum. More...
 
bool in_spectrum_list_
 Flag that indicates that we're inside a spectrum (in contrast to a chromatogram) More...
 
String current_id_
 Id of the current list. Used for referencing param group, source file, sample, software, ... More...
 
Map< String, std::vector< SemanticValidator::CVTerm > > ref_param_
 The referencing param groups: id => array (accession, value) More...
 
Map< String, SourceFilesource_files_
 The source files: id => SourceFile. More...
 
Map< String, Samplesamples_
 The sample list: id => Sample. More...
 
Map< String, Softwaresoftware_
 The software list: id => Software. More...
 
Map< String, Instrumentinstruments_
 The data processing list: id => Instrument. More...
 
Map< String, std::vector< DataProcessingPtr > > processing_
 The data processing list: id => Instrument. More...
 
String default_processing_
 id of the default data processing (used when no processing is defined) More...
 
std::vector< SpectrumDataspectrum_data_
 Vector of spectrum data stored for later parallel processing. More...
 
std::vector< ChromatogramDatachromatogram_data_
 Vector of chromatogram data stored for later parallel processing. More...
 
std::vector< std::pair< std::string, long > > spectra_offsets
 
std::vector< std::pair< std::string, long > > chromatograms_offsets
 
- 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...
 
std::vector< std::vector< String > > cv_terms_
 Array of CV term lists (one sublist denotes one term and it's children) More...
 

Detailed Description

Consumer class that writes MS data to disk using the mzML format.

A very simple implementation of MSDataWritingConsumer, not offering the ability to modify the spectra before writing. This is probably the class you want if you want to write mzML files to disk by providing spectra and chromatograms sequentially.

Constructor & Destructor Documentation

◆ PlainMSDataWritingConsumer()

PlainMSDataWritingConsumer ( String  filename)
inlineexplicit

Member Function Documentation

◆ processChromatogram_()

void processChromatogram_ ( MapType::ChromatogramType c)
inlineprivatevirtual

Process a chromatogram before storing to disk.

Redefine this function to determine chromatogram processing before writing to disk.

Implements MSDataWritingConsumer.

◆ processSpectrum_()

void processSpectrum_ ( MapType::SpectrumType s)
inlineprivatevirtual

Process a spectrum before storing to disk.

Redefine this function to determine spectra processing before writing to disk.

Implements MSDataWritingConsumer.


OpenMS / TOPP release 2.3.0 Documentation generated on Tue Jan 9 2018 18:22:12 using doxygen 1.8.13