| OpenMS 2.5.0

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

File adapter for QcML files used to load and store QcML files. More...

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

Inheritance diagram for QcMLFile:

## Classes

struct | Attachment
| Representation of an attachment. More...
struct | QualityParameter
| Representation of a quality parameter. More...

## Public Member Functions

| QcMLFile ()
| Default constructor. More...
| ~QcMLFile () override
| Destructor. More...
String | map2csv (const std::map< String, std::map< String, String > > &cvs_table, const String &separator) const
String | exportIDstats (const String &filename) const
void | registerRun (const String id, const String name)
| Registers a run in the qcml file with the respective mappings. More...
void | registerSet (const String id, const String name, const std::set< String > &names)
| Registers a set in the qcml file with the respective mappings. More...
void | addRunQualityParameter (String r, QualityParameter qp)
| Just adds a qualityparameter to run by the name r. More...
void | addRunAttachment (String r, Attachment at)
| Just adds a attachment to run by the name r. More...
void | addSetQualityParameter (String r, QualityParameter qp)
| Just adds a qualityparameter to set by the name r. More...
void | addSetAttachment (String r, Attachment at)
| Just adds a attachment to set by the name r. More...
void | removeAttachment (String r, std::vector< String > &ids, String at="")
| Removes attachments referencing a id given in ids, from run/set r. All attachments if no attachment name is given with at. More...
void | removeAttachment (String r, String at)
| Removes attachment with cv accession at from run/set r. More...
void | removeAllAttachments (String at)
| Removes attachment with cv accession at from all runs/sets. More...
void | removeQualityParameter (String r, std::vector< String > &ids)
| Just removes qualityparameter going by one of the ID attributes given in ids. More...
void | merge (const QcMLFile &addendum, String setname="")
| merges the given QCFile into this one More...
void | collectSetParameter (const String setname, const String qp, std::vector< String > &ret)
| collects the values of given QPs (as CVid) of the given set More...
String | exportAttachment (const String filename, const String qpname) const
| Returns a String of a tab separated rows if found empty string else from run/set by the name filename of the qualityparameter by the name qpname. More...
String | exportQP (const String filename, const String qpname) const
| Returns a String value in quotation of a qualityparameter by the name qpname in run/set by the name filename. More...
String | exportQPs (const String filename, const StringList qpnames) const
| Returns a String of a tab separated qualityparameter by the name qpname in run/set by the name filename. More...
void | getRunIDs (std::vector< String > &ids) const
| Gives the ids of the registered runs in the vector ids. More...
void | getRunNames (std::vector< String > &ids) const
| Gives the names of the registered runs in the vector ids. More...
bool | existsRun (const String filename, bool checkname=false) const
| Returns true if the given run id is present in this file, if checkname is true it also checks the names. More...
bool | existsSet (const String filename, bool checkname=false) const
| Returns true if the given set id is present in this file, if checkname is true it also checks the names. More...
void | existsRunQualityParameter (const String filename, const String qpname, std::vector< String > &ids) const
| Returns the ids of the parameter name given if found in given run empty else. More...
void | existsSetQualityParameter (const String filename, const String qpname, std::vector< String > &ids) const
| Returns the ids of the parameter name given if found in given set, empty else. More...
void | store (const String &filename) const
| Store the QCFile. More...
void | load (const String &filename)
| Load a QCFile. 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 (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...
virtual void | writeTo (std::ostream &)
| Writes the contents to a stream. More...
String | errorString ()
| Returns the last error description. More...
virtual LOADDETAIL | getLoadDetail () const
| handler which support partial loading, implement this method More...
virtual void | setLoadDetail (const LOADDETAIL d)
| handler which support partial loading, implement this method More...
void | checkUniqueIdentifiers_ (const std::vector< ProteinIdentification > &prot_ids)
void | fatalError (const xercesc::SAXParseException &exception) override
void | error (const xercesc::SAXParseException &exception) override
void | warning (const xercesc::SAXParseException &exception) override
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 | endElement (const XMLCh *const, const XMLCh *const, const XMLCh *const qname) override
void | startElement (const XMLCh *const, const XMLCh *const, const XMLCh *const qname, const xercesc::Attributes &attributes) override
void | characters (const XMLCh *const chars, const XMLSize_t length) override
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...
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...
SignedSize | cvStringToEnum_ (const Size section, const String &term, const char *message, const SignedSize result_on_error=0)
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)

## Protected Attributes

std::map< String, std::vector< QualityParameter > > | runQualityQPs_
std::map< String, std::vector< Attachment > > | runQualityAts_
std::map< String, std::vector< QualityParameter > > | setQualityQPs_
std::map< String, std::vector< Attachment > > | setQualityAts_
std::map< String, std::set< String > > | setQualityQPs_members_
std::map< String, String > | run_Name_ID_map_
std::map< String, String > | set_Name_ID_map_
String | tag_
UInt | progress_
QualityParameter | qp_
Attachment | at_
std::vector< String > | row_
std::vector< String > | header_
String | name_
String | run_id_
std::set< String > | names_
std::vector< QualityParameter > | qps_
std::vector< Attachment > | ats_
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< 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...
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_

## Additional Inherited Members

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 ProgressLogger
enum | LogType { CMD, GUI, NONE }
| Possible log types. More...
Static Public Member Functions inherited from XMLHandler
static String | writeXMLEscape (const String &to_escape)
| Escapes a string and returns the escaped string. 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...
Static Protected Attributes inherited from ProgressLogger
static int | recursion_depth_

## Detailed Description

File adapter for QcML files used to load and store QcML files.

This Class is supposed to internally collect the data for the qcML File

A documented schema for this format can be found at https://github.com/OpenMS/OpenMS/tree/develop/share/OpenMS/SCHEMAS

## Constructor & Destructor Documentation

## ◆ QcMLFile()

QcMLFile | ( |  | ) |

Default constructor.

## ◆ ~QcMLFile()

~QcMLFile | ( |  | ) |

override

Destructor.

## Member Function Documentation

## ◆ addRunAttachment()

void addRunAttachment | ( | String | r,
|  | Attachment | at
| ) |  |

Just adds a attachment to run by the name r.

## ◆ addRunQualityParameter()

void addRunQualityParameter | ( | String | r,
|  | QualityParameter | qp
| ) |  |

Just adds a qualityparameter to run by the name r.

## ◆ addSetAttachment()

void addSetAttachment | ( | String | r,
|  | Attachment | at
| ) |  |

Just adds a attachment to set by the name r.

## ◆ addSetQualityParameter()

void addSetQualityParameter | ( | String | r,
|  | QualityParameter | qp
| ) |  |

Just adds a qualityparameter to set by the name r.

## ◆ characters()

void characters | ( | const XMLCh *const | chars,
|  | const XMLSize_t | length
| ) |  |

override protected

## ◆ collectSetParameter()

void collectSetParameter | ( | const String | setname,
|  | const String | qp,
|  | std::vector< String > & | ret
| ) |  |

collects the values of given QPs (as CVid) of the given set

## ◆ endElement()

void endElement | ( | const XMLCh * | const,
|  | const XMLCh * | const,
|  | const XMLCh *const | qname
| ) |  |

override protected

## ◆ existsRun()

bool existsRun | ( | const String | filename,
|  | bool | checkname = `false`
| ) |  | const

Returns true if the given run id is present in this file, if checkname is true it also checks the names.

## ◆ existsRunQualityParameter()

void existsRunQualityParameter | ( | const String | filename,
|  | const String | qpname,
|  | std::vector< String > & | ids
| ) |  | const

Returns the ids of the parameter name given if found in given run empty else.

## ◆ existsSet()

bool existsSet | ( | const String | filename,
|  | bool | checkname = `false`
| ) |  | const

Returns true if the given set id is present in this file, if checkname is true it also checks the names.

## ◆ existsSetQualityParameter()

void existsSetQualityParameter | ( | const String | filename,
|  | const String | qpname,
|  | std::vector< String > & | ids
| ) |  | const

Returns the ids of the parameter name given if found in given set, empty else.

## ◆ exportAttachment()

String exportAttachment | ( | const String | filename,
|  | const String | qpname
| ) |  | const

Returns a String of a tab separated rows if found empty string else from run/set by the name filename of the qualityparameter by the name qpname.

## ◆ exportIDstats()

String exportIDstats | ( | const String & | filename | ) | const

## ◆ exportQP()

String exportQP | ( | const String | filename,
|  | const String | qpname
| ) |  | const

Returns a String value in quotation of a qualityparameter by the name qpname in run/set by the name filename.

## ◆ exportQPs()

String exportQPs | ( | const String | filename,
|  | const StringList | qpnames
| ) |  | const

Returns a String of a tab separated qualityparameter by the name qpname in run/set by the name filename.

## ◆ getRunIDs()

void getRunIDs | ( | std::vector< String > & | ids | ) | const

Gives the ids of the registered runs in the vector ids.

## ◆ getRunNames()

void getRunNames | ( | std::vector< String > & | ids | ) | const

Gives the names of the registered runs in the vector ids.

## ◆ load()

void load | ( | const String & | filename | ) |

Load a QCFile.

## ◆ map2csv()

String map2csv | ( | const std::map< String, std::map< String, String > > & | cvs_table,
|  | const String & | separator
| ) |  | const

## ◆ merge()

void merge | ( | const QcMLFile & | addendum,
|  | String | setname = `""`
| ) |  |

merges the given QCFile into this one

## ◆ registerRun()

void registerRun | ( | const String | id,
|  | const String | name
| ) |  |

Registers a run in the qcml file with the respective mappings.

## ◆ registerSet()

void registerSet | ( | const String | id,
|  | const String | name,
|  | const std::set< String > & | names
| ) |  |

Registers a set in the qcml file with the respective mappings.

## ◆ removeAllAttachments()

void removeAllAttachments | ( | String | at | ) |

Removes attachment with cv accession at from all runs/sets.

## ◆ removeAttachment() [1/2]

void removeAttachment | ( | String | r,
|  | std::vector< String > & | ids,
|  | String | at = `""`
| ) |  |

Removes attachments referencing a id given in ids, from run/set r. All attachments if no attachment name is given with at.

## ◆ removeAttachment() [2/2]

void removeAttachment | ( | String | r,
|  | String | at
| ) |  |

Removes attachment with cv accession at from run/set r.

## ◆ removeQualityParameter()

void removeQualityParameter | ( | String | r,
|  | std::vector< String > & | ids
| ) |  |

Just removes qualityparameter going by one of the ID attributes given in ids.

## ◆ startElement()

void startElement | ( | const XMLCh * | const,
|  | const XMLCh * | const,
|  | const XMLCh *const | qname,
|  | const xercesc::Attributes & | attributes
| ) |  |

override protected

## ◆ store()

void store | ( | const String & | filename | ) | const

Store the QCFile.

## Member Data Documentation

## ◆ at_

Attachment at_

protected

## ◆ ats_

std::vector<Attachment> ats_

protected

## ◆ header_

std::vector<String> header_

protected

## ◆ name_

String name_

protected

## ◆ names_

std::set<String> names_

protected

## ◆ progress_

UInt progress_

protected

## ◆ qp_

QualityParameter qp_

protected

## ◆ qps_

std::vector<QualityParameter> qps_

protected

## ◆ row_

std::vector<String> row_

protected

## ◆ run_id_

String run_id_

protected

## ◆ run_Name_ID_map_

std::map<String, String > run_Name_ID_map_

protected

## ◆ runQualityAts_

std::map<String, std::vector< Attachment > > runQualityAts_

protected

## ◆ runQualityQPs_

std::map<String, std::vector< QualityParameter > > runQualityQPs_

protected

## ◆ set_Name_ID_map_

std::map<String, String > set_Name_ID_map_

protected

## ◆ setQualityAts_

std::map<String, std::vector< Attachment > > setQualityAts_

protected

## ◆ setQualityQPs_

std::map<String, std::vector< QualityParameter > > setQualityQPs_

protected

## ◆ setQualityQPs_members_

std::map<String, std::set< String > > setQualityQPs_members_

protected

## ◆ tag_

String tag_

protected