| OpenMS 2.5.0

Public Member Functions | Protected Member Functions | Private Attributes | List of all members
MzMLFile Class Reference
Format » File IO

File adapter for MzML files. More...

`#include <OpenMS/FORMAT/MzMLFile.h>`

Inheritance diagram for MzMLFile:

## Public Member Functions

| MzMLFile ()
| Default constructor. More...
| ~MzMLFile () override
| Destructor. More...
PeakFileOptions & | getOptions ()
| Mutable access to the options for loading/storing. More...
const PeakFileOptions & | getOptions () const
| Non-mutable access to the options for loading/storing. More...
void | setOptions (const PeakFileOptions &)
| set options for loading/storing More...
void | load (const String &filename, PeakMap &map)
| Loads a map from a MzML file. Spectra and chromatograms are sorted by default (this can be disabled using PeakFileOptions). More...
void | loadBuffer (const std::string &buffer, PeakMap &map)
| Loads a map from a MzML file stored in a buffer (in memory). More...
void | loadSize (const String &filename, Size &scount, Size &ccount)
| Only count the number of spectra and chromatograms from a file. More...
void | store (const String &filename, const PeakMap &map) const
| Stores a map in an MzML file. More...
void | storeBuffer (std::string &output, const PeakMap &map) const
| Stores a map in an output string. More...
void | transform (const String &filename_in, Interfaces::IMSDataConsumer *consumer, bool skip_full_count=false, bool skip_first_pass=false)
| Transforms a map while loading using the supplied MSDataConsumer. More...
void | transform (const String &filename_in, Interfaces::IMSDataConsumer *consumer, PeakMap &map, bool skip_full_count=false, bool skip_first_pass=false)
| Transforms a map while loading using the supplied MSDataConsumer. More...
bool | isValid (const String &filename, std::ostream &os=std::cerr)
| Checks if a file validates against the XML schema. More...
bool | isSemanticallyValid (const String &filename, StringList &errors, StringList &warnings)
| Checks if a file is valid with respect to the mapping file and the controlled vocabulary. More...
Public Member Functions inherited from XMLFile
| XMLFile ()
| Default constructor. More...
| XMLFile (const String &schema_location, const String &version)
| Constructor that sets the schema location. More...
virtual | ~XMLFile ()
| Destructor. More...
bool | isValid (const String &filename, std::ostream &os)
| Checks if a file validates against the XML schema. More...
const String & | getVersion () const
| return the version of the schema More...
Public Member Functions inherited from ProgressLogger
| ProgressLogger ()
| Constructor. More...
| ~ProgressLogger ()
| Destructor. More...
| ProgressLogger (const ProgressLogger &other)
| Copy constructor. More...
ProgressLogger & | operator= (const ProgressLogger &other)
| Assignment Operator. More...
void | setLogType (LogType type) const
| Sets the progress log that should be used. The default type is NONE! More...
LogType | getLogType () const
| Returns the type of progress log being used. More...
void | startProgress (SignedSize begin, SignedSize end, const String &label) const
| Initializes the progress display. More...
void | setProgress (SignedSize value) const
| Sets the current progress. More...
void | endProgress () const
| Ends the progress display. More...
void | nextProgress () const
| increment progress by 1 (according to range begin-end) More...

## Protected Member Functions

void | transformFirstPass_ (const String &filename_in, Interfaces::IMSDataConsumer *consumer, bool skip_full_count)
| Perform first pass through the file and retrieve the meta-data to initialize the consumer. More...
void | safeParse_ (const String &filename, Internal::XMLHandler *handler)
| Safe parse that catches exceptions and handles them accordingly. More...
Protected Member Functions inherited from XMLFile
void | parse_ (const String &filename, XMLHandler *handler)
| Parses the XML file given by `filename` using the handler given by `handler`. More...
void | parseBuffer_ (const std::string &buffer, XMLHandler *handler)
| Parses the in-memory buffer given by `buffer` using the handler given by `handler`. More...
void | save_ (const String &filename, XMLHandler *handler) const
| Stores the contents of the XML handler given by `handler` in the file given by `filename`. More...
void | enforceEncoding_ (const String &encoding)

## Private Attributes

PeakFileOptions | options_
| Options for loading / storing. More...
String | indexed_schema_location_
| Location of indexed mzML schema. More...

## Additional Inherited Members

Public Types inherited from ProgressLogger
enum | LogType { CMD, GUI, NONE }
| Possible log types. More...
Static Protected Member Functions inherited from ProgressLogger
static String | logTypeToFactoryName_ (LogType type)
| Return the name of the factory product used for this log type. More...
Protected Attributes inherited from XMLFile
String | schema_location_
| XML schema file location. More...
String | schema_version_
| Version string. More...
String | enforced_encoding_
| Encoding string that replaces the encoding (system dependent or specified in the XML). Disabled if empty. Used as a workaround for XTandem output xml. More...
Protected Attributes inherited from ProgressLogger
LogType | type_
time_t | last_invoke_
ProgressLoggerImpl * | current_logger_
Static Protected Attributes inherited from ProgressLogger
static int | recursion_depth_

## Detailed Description

File adapter for MzML files.

This implementation does currently not support the whole functionality of MzML.

## Constructor & Destructor Documentation

## ◆ MzMLFile()

MzMLFile | ( |  | ) |

Default constructor.

## ◆ ~MzMLFile()

~MzMLFile | ( |  | ) |

override

Destructor.

## Member Function Documentation

## ◆ getOptions() [1/2]

PeakFileOptions& getOptions | ( |  | ) |

Mutable access to the options for loading/storing.

Referenced by NucleicAcidSearchEngine::main_().

## ◆ getOptions() [2/2]

const PeakFileOptions& getOptions | ( |  | ) | const

Non-mutable access to the options for loading/storing.

## ◆ isSemanticallyValid()

bool isSemanticallyValid | ( | const String & | filename,
|  | StringList & | errors,
|  | StringList & | warnings
| ) |  |

Checks if a file is valid with respect to the mapping file and the controlled vocabulary.

Parameters

  filename | File name of the file to be checked.
  errors | Errors during the validation are returned in this output parameter.
  warnings | Warnings during the validation are returned in this output parameter.

Exceptions

  Exception::FileNotFound | is thrown if the file could not be opened

## ◆ isValid()

bool isValid | ( | const String & | filename,
|  | std::ostream & | os = `std::cerr`
| ) |  |

Checks if a file validates against the XML schema.

Exceptions

  Exception::FileNotFound | is thrown if the file cannot be found.

## ◆ load()

void load | ( | const String & | filename,
|  | PeakMap & | map
| ) |  |

Loads a map from a MzML file. Spectra and chromatograms are sorted by default (this can be disabled using PeakFileOptions).

`filename` The filename with the data `map` Is an MSExperiment

Exceptions

  Exception::FileNotFound | is thrown if the file could not be opened
  Exception::ParseError | is thrown if an error occurs during parsing

Referenced by UTILProteomicsLFQ::centroidAndCorrectPrecursors_(), CachedSwathFileConsumer::ensureMapsAreFilled_(), TOPPGNPSExport::main_(), and NucleicAcidSearchEngine::main_().

## ◆ loadBuffer()

void loadBuffer | ( | const std::string & | buffer,
|  | PeakMap & | map
| ) |  |

Loads a map from a MzML file stored in a buffer (in memory).

`filename` The buffer with the data `map` Is an MSExperiment

Exceptions

  Exception::ParseError | is thrown if an error occurs during parsing

## ◆ loadSize()

void loadSize | ( | const String & | filename,
|  | Size & | scount,
|  | Size & | ccount
| ) |  |

Only count the number of spectra and chromatograms from a file.

This method honors PeakOptions (if specified) for spectra, i.e. only spectra within the specified RT range and MS levels are counted. If PeakOptions have no filters set (the default), then spectra and chromatogram counts are taken from the counts attribute of the spectrumList/chromatogramList tags (the parsing skips all intermediate data and ends as soon as both counts are available).

## ◆ safeParse_()

void safeParse_ | ( | const String & | filename,
|  | Internal::XMLHandler * | handler
| ) |  |

protected

Safe parse that catches exceptions and handles them accordingly.

## ◆ setOptions()

void setOptions | ( | const PeakFileOptions & |  | ) |

set options for loading/storing

Referenced by IndexedMzMLFileLoader::store().

## ◆ store()

void store | ( | const String & | filename,
|  | const PeakMap & | map
| ) |  | const

Stores a map in an MzML file.

`map` has to be an MSExperiment or have the same interface.

Exceptions

  Exception::UnableToCreateFile | is thrown if the file could not be created

Referenced by NucleicAcidSearchEngine::main_(), TOPPViewBase::runTOPPTool_(), and IndexedMzMLFileLoader::store().

## ◆ storeBuffer()

void storeBuffer | ( | std::string & | output,
|  | const PeakMap & | map
| ) |  | const

Stores a map in an output string.

`output` An empty string to store the result `map` has to be an MSExperiment

## ◆ transform() [1/2]

void transform | ( | const String & | filename_in,
|  | Interfaces::IMSDataConsumer * | consumer,
|  | bool | skip_full_count = `false`,
|  | bool | skip_first_pass = `false`
| ) |  |

Transforms a map while loading using the supplied MSDataConsumer.

The result will not be stored directly but is available through the events triggered by the parser and caught by the provided IMSDataConsumer object.

This function should be used if processing and storage of the result can be performed directly in the provided IMSDataConsumer object.

Note
  Transformation can be speed up by setting skip_full_count which does not require a full first pass through the file to compute the correct number of spectra and chromatograms in the input file.

Parameters

  filename_in | Filename of input mzML file to transform
  consumer | Consumer class to operate on the input filename (implementing a transformation)
  skip_full_count | Whether to skip computing the correct number of spectra and chromatograms in the input file

## ◆ transform() [2/2]

void transform | ( | const String & | filename_in,
|  | Interfaces::IMSDataConsumer * | consumer,
|  | PeakMap & | map,
|  | bool | skip_full_count = `false`,
|  | bool | skip_first_pass = `false`
| ) |  |

Transforms a map while loading using the supplied MSDataConsumer.

The result will be stored in the provided map.

This function should be used if a specific pre-processing should be applied to the data before storing them in a map (e.g. if data-reduction should be applied to the data before loading all data into memory).

Parameters

  filename_in | Filename of input mzML file to transform
  consumer | Consumer class to operate on the input filename (implementing a transformation)
  map | Map to store the resulting spectra and chromatograms
  skip_full_count | Whether to skip computing the correct number of spectra and chromatograms in the input file

## ◆ transformFirstPass_()

void transformFirstPass_ | ( | const String & | filename_in,
|  | Interfaces::IMSDataConsumer * | consumer,
|  | bool | skip_full_count
| ) |  |

protected

Perform first pass through the file and retrieve the meta-data to initialize the consumer.

## Member Data Documentation

## ◆ indexed_schema_location_

String indexed_schema_location_

private

Location of indexed mzML schema.

## ◆ options_

PeakFileOptions options_

private

Options for loading / storing.