OpenMS
MzXMLFile Class Reference

File adapter for MzXML 3.1 files. More...

#include <OpenMS/FORMAT/MzXMLFile.h>

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

Public Member Functions

 MzXMLFile ()
 Default constructor. More...
 
 ~MzXMLFile () override
 Destructor. More...
 
PeakFileOptionsgetOptions ()
 Mutable access to the options for loading/storing. More...
 
const PeakFileOptionsgetOptions () 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, MapType &map)
 Loads a map from a MzXML file. More...
 
void store (const String &filename, const MapType &map) const
 Stores a map in a MzXML file. More...
 
void transform (const String &filename_in, Interfaces::IMSDataConsumer *consumer, bool skip_full_count=false)
 Transforms a map while loading using the supplied MSDataConsumer. More...
 
void transform (const String &filename_in, Interfaces::IMSDataConsumer *consumer, MapType &map, bool skip_full_count=false)
 Transforms a map while loading using the supplied MSDataConsumer. 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 StringgetVersion () const
 return the version of the schema More...
 
- Public Member Functions inherited from ProgressLogger
 ProgressLogger ()
 Constructor. More...
 
virtual ~ProgressLogger ()
 Destructor. More...
 
 ProgressLogger (const ProgressLogger &other)
 Copy constructor. More...
 
ProgressLoggeroperator= (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...
 
- 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 Types

typedef PeakMap MapType
 

Private Attributes

PeakFileOptions options_
 

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_
 
ProgressLoggerImplcurrent_logger_
 
- Static Protected Attributes inherited from ProgressLogger
static int recursion_depth_
 

Detailed Description

File adapter for MzXML 3.1 files.

Member Typedef Documentation

◆ MapType

typedef PeakMap MapType
private

Constructor & Destructor Documentation

◆ MzXMLFile()

MzXMLFile ( )

Default constructor.

◆ ~MzXMLFile()

~MzXMLFile ( )
override

Destructor.

Member Function Documentation

◆ getOptions() [1/2]

PeakFileOptions& getOptions ( )

Mutable access to the options for loading/storing.

◆ getOptions() [2/2]

const PeakFileOptions& getOptions ( ) const

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

◆ load()

void load ( const String filename,
MapType map 
)

Loads a map from a MzXML file.

map has to be a MSExperiment or have the same interface.

Exceptions
Exception::FileNotFoundis thrown if the file could not be opened
Exception::ParseErroris thrown if an error occurs during parsing

◆ setOptions()

void setOptions ( const PeakFileOptions )

set options for loading/storing

◆ store()

void store ( const String filename,
const MapType map 
) const

Stores a map in a MzXML file.

map has to be a MSExperiment or have the same interface.

Exceptions
Exception::UnableToCreateFileis thrown if the file could not be created

◆ transform() [1/2]

void transform ( const String filename_in,
Interfaces::IMSDataConsumer consumer,
bool  skip_full_count = 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_inFilename of input mzML file to transform
consumerConsumer class to operate on the input filename (implementing a transformation)
skip_full_countWhether 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,
MapType map,
bool  skip_full_count = 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_inFilename of input mzXML file to transform
consumerConsumer class to operate on the input filename (implementing a transformation)
mapMap to store the resulting spectra and chromatograms
skip_full_countWhether 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

◆ options_

PeakFileOptions options_
private