OpenMS
|
Consumer class that perform no operation. More...
#include <OpenMS/FORMAT/DATAACCESS/MSDataWritingConsumer.h>
Public Member Functions | |
NoopMSDataWritingConsumer (String filename) | |
void | setExperimentalSettings (const ExperimentalSettings &) override |
Set experimental settings for the whole file. More... | |
void | consumeSpectrum (SpectrumType &) override |
Consume a spectrum. More... | |
void | consumeChromatogram (ChromatogramType &) override |
Consume a chromatogram. More... | |
Public Member Functions inherited from MSDataWritingConsumer | |
MSDataWritingConsumer (const String &filename) | |
Constructor. More... | |
~MSDataWritingConsumer () override | |
Destructor. More... | |
void | setExpectedSize (Size expectedSpectra, Size expectedChromatograms) override |
Set expected size of spectra and chromatograms to be written. 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... | |
Public Member Functions inherited from MzMLHandler | |
MzMLHandler (MapType &exp, const String &filename, const String &version, const 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... | |
~MzMLHandler () override | |
Destructor. More... | |
void | endElement (const XMLCh *const, const XMLCh *const, const XMLCh *const qname) override |
Docu in base class XMLHandler::endElement. More... | |
void | startElement (const XMLCh *const, const XMLCh *const, const XMLCh *const qname, const xercesc::Attributes &attributes) override |
Docu in base class XMLHandler::startElelement. More... | |
void | characters (const XMLCh *const chars, const XMLSize_t length) override |
Docu in base class XMLHandler::characters. More... | |
void | writeTo (std::ostream &os) override |
Docu in base class XMLHandler::writeTo. More... | |
void | setOptions (const PeakFileOptions &opt) |
Set the peak file options. More... | |
PeakFileOptions & | getOptions () |
Get the peak file options. More... | |
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... | |
LOADDETAIL | getLoadDetail () const override |
handler which support partial loading, implement this method More... | |
void | setLoadDetail (const LOADDETAIL d) override |
handler which support partial loading, implement this method 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 (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... | |
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 |
Public Member Functions inherited from IMSDataConsumer | |
virtual | ~IMSDataConsumer () |
Private Member Functions | |
void | doCleanup_ () override |
Cleanup function called by the destructor. More... | |
void | processSpectrum_ (MapType::SpectrumType &) override |
Process a spectrum before storing to disk. More... | |
void | processChromatogram_ (MapType::ChromatogramType &) override |
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... | |
enum | LOADDETAIL { LD_ALLDATA , LD_RAWCOUNTS , LD_COUNTS_WITHOPTIONS } |
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... | |
static DataValue | fromXSDString (const String &type, const String &value) |
Convert an XSD type (e.g. 'xsd:double') to a DataValue. 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 | 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 |
Add extra data arrays to a spectrum. More... | |
void | populateSpectraWithData_ (std::vector< MzMLHandlerHelper::BinaryData > &input_data, Size &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 &length, const PeakFileOptions &peak_file_options, ChromatogramType &chromatogram) |
Fill a single chromatogram with data from input. More... | |
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, const String &unit_accession="") |
Handles user terms. More... | |
MzMLHandler (const String &filename, const String &version, const ProgressLogger &logger) | |
delegated constructor for the two public versions More... | |
void | writeHeader_ (std::ostream &os, const MapType &exp, std::vector< std::vector< ConstDataProcessingPtr > > &dps, const Internal::MzMLValidator &validator) |
Write out XML header including (everything up to spectrumList / chromatogramList. More... | |
void | writeSpectrum_ (std::ostream &os, const SpectrumType &spec, Size spec_idx, const Internal::MzMLValidator &validator, bool renew_native_ids, std::vector< std::vector< ConstDataProcessingPtr > > &dps) |
Write out a single spectrum. More... | |
void | writeChromatogram_ (std::ostream &os, const ChromatogramType &chromatogram, Size chrom_idx, const Internal::MzMLValidator &validator) |
Write out a single chromatogram. More... | |
template<typename ContainerT > | |
void | writeContainerData_ (std::ostream &os, const PeakFileOptions &pf_options_, const ContainerT &container, const String &array_type) |
template<typename DataType > | |
void | writeBinaryDataArray_ (std::ostream &os, const PeakFileOptions &options, std::vector< DataType > &data, bool is32bit, String array_type) |
Write a single <binaryDataArray> element to the output. More... | |
void | writeBinaryFloatDataArray_ (std::ostream &os, const PeakFileOptions &options, const OpenMS::DataArrays::FloatDataArray &array, const Size spec_chrom_idx, const Size array_idx, bool is_spectrum, const Internal::MzMLValidator &validator) |
Write a single <binaryDataArray> element for a float data array to the output. More... | |
void | writeUserParam_ (std::ostream &os, const MetaInfoInterface &meta, UInt indent, const String &path, const Internal::MzMLValidator &validator, const std::set< String > &exclude={}) const |
Writes user terms. More... | |
void | writeSoftware_ (std::ostream &os, const String &id, const Software &software, const Internal::MzMLValidator &validator) |
Helper method that writes a software. More... | |
void | writeSourceFile_ (std::ostream &os, const String &id, const SourceFile &software, const Internal::MzMLValidator &validator) |
Helper method that writes a source file. More... | |
void | writeDataProcessing_ (std::ostream &os, const String &id, const std::vector< ConstDataProcessingPtr > &dps, const Internal::MzMLValidator &validator) |
Helper method that writes a data processing list. More... | |
void | writePrecursor_ (std::ostream &os, const Precursor &precursor, const Internal::MzMLValidator &validator) |
Helper method that write precursor information from spectra and chromatograms. More... | |
void | writeProduct_ (std::ostream &os, const Product &product, const 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... | |
ControlledVocabulary::CVTerm | getChildWithName_ (const String &parent_accession, const String &name) const |
Helper method to look up a child CV term of parent_accession with the name name . If no such term is found, an empty term is returned. 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 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::MzMLValidator * | validator_ |
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 | |
SpectrumType | spec_ |
The current spectrum. More... | |
ChromatogramType | chromatogram_ |
The current chromatogram. More... | |
std::vector< BinaryData > | bin_data_ |
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_ { false } |
Flag that indicates that we're inside a spectrum (in contrast to a chromatogram) More... | |
bool | skip_spectrum_ { false } |
Flag that indicates whether this spectrum should be skipped (e.g. due to options) More... | |
bool | skip_chromatogram_ { false } |
Flag that indicates whether this chromatogram should be skipped (e.g. due to options) More... | |
bool | rt_set_ { false } |
Remember whether the RT of the spectrum was set or not. More... | |
String | current_id_ |
Id of the current list. Used for referencing param group, source file, sample, software, ... More... | |
std::map< String, std::vector< SemanticValidator::CVTerm > > | ref_param_ |
The referencing param groups: id => array (accession, value) More... | |
std::map< String, SourceFile > | source_files_ |
The source files: id => SourceFile. More... | |
std::map< String, Sample > | samples_ |
The sample list: id => Sample. More... | |
std::map< String, Software > | software_ |
The software list: id => Software. More... | |
std::map< String, Instrument > | instruments_ |
The data processing list: id => Instrument. More... | |
std::map< std::pair< String, String >, bool > | cached_terms_ |
CV terms-path-combinations that have been checked in validateCV_() More... | |
std::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... | |
UInt | selected_ion_count_ { 0 } |
Count of selected ions. More... | |
std::vector< SpectrumData > | spectrum_data_ |
Vector of spectrum data stored for later parallel processing. More... | |
std::vector< ChromatogramData > | chromatogram_data_ |
Vector of chromatogram data stored for later parallel processing. More... | |
std::vector< std::pair< std::string, Int64 > > | spectra_offsets_ |
Stores binary offsets for each <spectrum> tag. More... | |
std::vector< std::pair< std::string, Int64 > > | chromatograms_offsets_ |
Stores binary offsets for each <chromatogram> tag. More... | |
const ProgressLogger & | logger_ |
Progress logger. More... | |
Interfaces::IMSDataConsumer * | consumer_ { nullptr } |
Consumer class to work on spectra. More... | |
UInt | scan_count_ { 0 } |
number of scans which pass the options-filter More... | |
UInt | chromatogram_count_ { 0 } |
number of chromatograms which pass the options-filter More... | |
Int | scan_count_total_ { -1 } |
total number of scans in mzML file (according to 'count' attribute) More... | |
Int | chrom_count_total_ { -1 } |
total number of chromatograms in mzML file (according to 'count' attribute) More... | |
const ControlledVocabulary & | cv_ |
Controlled vocabulary (psi-ms from OpenMS/share/OpenMS/CV/psi-ms.obo) More... | |
CVMappings | mapping_ |
MapType * | exp_ { nullptr } |
map pointer for reading More... | |
const MapType * | cexp_ { nullptr } |
map pointer for writing More... | |
PeakFileOptions | options_ |
Options that can be set for loading/storing. 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< String > | open_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... | |
Consumer class that perform no operation.
This is sometimes necessary to fulfill the requirement of passing an valid MSDataWritingConsumer object or pointer but no operation is required.
|
inlineexplicit |
|
inlineoverridevirtual |
Consume a chromatogram.
The chromatogram will be processed using the processChromatogram_ method of the current implementation and then written to the mzML file.
c | The chromatogram to be written to mzML |
Reimplemented from MSDataWritingConsumer.
|
inlineoverridevirtual |
Consume a spectrum.
The spectrum will be processed using the processSpectrum_ method of the current implementation and then written to the mzML file.
s | The spectrum to be written to mzML |
Reimplemented from MSDataWritingConsumer.
|
inlineoverrideprivatevirtual |
Cleanup function called by the destructor.
Will write the last tags to the file and close the file stream.
Reimplemented from MSDataWritingConsumer.
|
inlineoverrideprivatevirtual |
Process a chromatogram before storing to disk.
Redefine this function to determine chromatogram processing before writing to disk.
Implements MSDataWritingConsumer.
|
inlineoverrideprivatevirtual |
Process a spectrum before storing to disk.
Redefine this function to determine spectra processing before writing to disk.
Implements MSDataWritingConsumer.
|
inlineoverridevirtual |
Set experimental settings for the whole file.
exp | Experimental settings to be used for this file (from this and the first spectrum/chromatogram, the class will deduce most of the header of the mzML file) |
Reimplemented from MSDataWritingConsumer.