141 void endElement(
const XMLCh*
const ,
const XMLCh*
const ,
const XMLCh*
const qname)
override;
144 void startElement(
const XMLCh*
const ,
const XMLCh*
const ,
const XMLCh*
const qname,
const xercesc::Attributes& attributes)
override;
147 void characters(
const XMLCh*
const chars,
const XMLSize_t length)
override;
150 void writeTo(std::ostream& os)
override;
174 void getCounts(
Size& spectra_counts,
Size& chromatogram_counts);
191 virtual LOADDETAIL getLoadDetail()
const override;
194 virtual void setLoadDetail(
const LOADDETAIL d)
override;
223 void populateSpectraWithData_();
231 void populateChromatogramsWithData_();
238 void addSpectrumMetaData_(
const std::vector<MzMLHandlerHelper::BinaryData>& input_data,
240 SpectrumType& spectrum)
const;
257 void populateSpectraWithData_(std::vector<MzMLHandlerHelper::BinaryData>& input_data,
260 SpectrumType& spectrum);
274 void populateChromatogramsWithData_(std::vector<MzMLHandlerHelper::BinaryData>& input_data,
277 ChromatogramType& inp_chromatogram);
280 void fillChromatogramData_();
283 void handleCVParam_(
const String& parent_parent_tag,
288 const String& unit_accession =
"");
291 void handleUserParam_(
const String& parent_parent_tag,
296 const String& unit_accession =
"");
306 void writeHeader_(std::ostream& os,
308 std::vector<std::vector< ConstDataProcessingPtr > >& dps,
313 void writeSpectrum_(std::ostream& os,
314 const SpectrumType& spec,
317 bool renew_native_ids,
318 std::vector<std::vector< ConstDataProcessingPtr > >& dps);
321 void writeChromatogram_(std::ostream& os,
322 const ChromatogramType& chromatogram,
326 template <
typename ContainerT>
327 void writeContainerData_(std::ostream& os,
const PeakFileOptions& pf_options_,
const ContainerT& container,
String array_type);
342 template <
typename DataType>
343 void writeBinaryDataArray_(std::ostream& os,
345 std::vector<DataType>& data,
363 void writeBinaryFloatDataArray_(std::ostream& os,
366 const Size spec_chrom_idx,
367 const Size array_idx,
381 void writeDataProcessing_(std::ostream& os,
const String&
id,
const std::vector< ConstDataProcessingPtr >& dps,
const Internal::MzMLValidator& validator);
403 MapType* exp_{
nullptr };
406 const MapType* cexp_{
nullptr };
422 bool in_spectrum_list_{
false };
424 bool skip_spectrum_{
false };
426 bool skip_chromatogram_{
false };
428 bool rt_set_{
false };
503 Int scan_count_total_{ -1 };
504 Int chrom_count_total_{ -1 };
Size default_array_length
Definition: MzMLHandler.h:458
Map< String, Sample > samples_
The sample list: id => Sample.
Definition: MzMLHandler.h:436
Representation of a controlled vocabulary.
Definition: ControlledVocabulary.h:54
Product meta information.
Definition: Product.h:48
std::vector< std::pair< std::string, Int64 > > chromatograms_offsets_
Stores binary offsets for each <chromatogram> tag.
Definition: MzMLHandler.h:491
Base class for XML handlers.
Definition: XMLHandler.h:151
std::vector< BinaryData > bin_data_
The spectrum data (or chromatogram data)
Definition: MzMLHandler.h:418
MSChromatogram ChromatogramType
Definition: MzDataHandler.h:61
The representation of a chromatogram.
Definition: MSChromatogram.h:54
SpectrumType spectrum
Definition: MzMLHandler.h:459
Map< String, Software > software_
The software list: id => Software.
Definition: MzMLHandler.h:438
LOADDETAIL
Definition: XMLHandler.h:175
Options for loading files containing peak data.
Definition: PeakFileOptions.h:47
MSSpectrum SpectrumType
Definition: MzDataHandler.h:60
String current_id_
Id of the current list. Used for referencing param group, source file, sample, software, ...
Definition: MzMLHandler.h:430
Map< String, std::vector< DataProcessingPtr > > processing_
The data processing list: id => Instrument.
Definition: MzMLHandler.h:442
MzMLHandlerHelper::BinaryData BinaryData
Definition: MzMLHandler.h:210
In-Memory representation of a mass spectrometry experiment.
Definition: MSExperiment.h:77
Representation of controlled vocabulary mapping rules (for PSI formats)
Definition: CVMappings.h:56
size_t Size
Size type e.g. used as variable which can hold result of size()
Definition: Types.h:127
std::vector< std::pair< std::string, Int64 > > spectra_offsets_
Stores binary offsets for each <spectrum> tag.
Definition: MzMLHandler.h:490
Float data array class.
Definition: DataArrays.h:45
Precursor meta information.
Definition: Precursor.h:57
Description of the software used for processing.
Definition: Software.h:48
Data necessary to generate a single chromatogram.
Definition: MzMLHandler.h:472
Data necessary to generate a single spectrum.
Definition: MzMLHandler.h:455
Size default_array_length_
The default number of peaks in the current spectrum.
Definition: MzMLHandler.h:420
MapType::ChromatogramPeakType ChromatogramPeakType
Chromatogram peak type.
Definition: MzMLHandler.h:204
MapType::PeakType PeakType
Peak type.
Definition: MzMLHandler.h:202
MSChromatogram ChromatogramType
Spectrum type.
Definition: MzMLHandler.h:208
Representation for binary data in mzML.
Definition: MzMLHandlerHelper.h:69
unsigned int UInt
Unsigned integer type.
Definition: Types.h:94
MSSpectrum SpectrumType
Spectrum type.
Definition: MzMLHandler.h:206
PeakFileOptions options_
Options that can be set for loading/storing.
Definition: MzMLHandler.h:409
Map class based on the STL map (containing several convenience functions)
Definition: Map.h:50
Map< String, Instrument > instruments_
The data processing list: id => Instrument.
Definition: MzMLHandler.h:440
std::vector< SpectrumData > spectrum_data_
Vector of spectrum data stored for later parallel processing.
Definition: MzMLHandler.h:463
A 1-dimensional raw data point or peak.
Definition: Peak1D.h:54
The representation of a 1D spectrum.
Definition: MSSpectrum.h:67
The interface of a consumer of spectra and chromatograms.
Definition: IMSDataConsumer.h:69
Interface for classes that can store arbitrary meta information (Type-Name-Value tuples).
Definition: MetaInfoInterface.h:60
const ProgressLogger & logger_
Progress logger.
Definition: MzMLHandler.h:495
Representation of a CV term.
Definition: ControlledVocabulary.h:60
Base class for all classes that want to report their progress.
Definition: ProgressLogger.h:54
Description of a file location, used to store the origin of (meta) data.
Definition: SourceFile.h:46
A more convenient string class.
Definition: String.h:58
Class to hold strings, numeric values, lists of strings and lists of numeric values.
Definition: DataValue.h:56
Handler for mzML file format.
Definition: MzMLHandler.h:116
Map< String, std::vector< SemanticValidator::CVTerm > > ref_param_
The referencing param groups: id => array (accession, value)
Definition: MzMLHandler.h:432
Semantically validates MzXML files.
Definition: MzMLValidator.h:48
A 1-dimensional raw data point or peak for chromatograms.
Definition: ChromatogramPeak.h:54
PeakMap MapType
Definition: PeakPickerIterative.cpp:84
ChromatogramType chromatogram
Definition: MzMLHandler.h:476
ControlledVocabulary cv_
Controlled vocabulary (psi-ms from OpenMS/share/OpenMS/CV/psi-ms.obo)
Definition: MzMLHandler.h:508
std::vector< ChromatogramData > chromatogram_data_
Vector of chromatogram data stored for later parallel processing.
Definition: MzMLHandler.h:480
std::vector< BinaryData > data
Definition: MzMLHandler.h:457
CVMappings mapping_
Definition: MzMLHandler.h:509
Map< String, SourceFile > source_files_
The source files: id => SourceFile.
Definition: MzMLHandler.h:434
ChromatogramType chromatogram_
The current chromatogram.
Definition: MzMLHandler.h:416
String default_processing_
id of the default data processing (used when no processing is defined)
Definition: MzMLHandler.h:444
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:46