OpenMS
ConsensusXMLHandler Class Reference

This class provides Input functionality for ConsensusMaps and Output functionality for alignments and quantitation. More...

#include <OpenMS/FORMAT/HANDLERS/ConsensusXMLHandler.h>

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

Public Member Functions

 ConsensusXMLHandler (ConsensusMap &map, const String &filename)
 Constructor. More...
 
 ConsensusXMLHandler (const ConsensusMap &map, const String &filename)
 
 ~ConsensusXMLHandler () override
 Destructor. More...
 
PeakFileOptionsgetOptions ()
 Mutable access to the options for loading/storing. More...
 
void setOptions (const PeakFileOptions &)
 
const PeakFileOptionsgetOptions () const
 Non-mutable access to the options for loading/storing. More...
 
void writeTo (std::ostream &os) override
 Docu in base class XMLHandler::writeTo. 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...
 
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...
 
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 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 setLogger (ProgressLoggerImpl *logger)
 Sets the logger to be used for progress logging. 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 (UInt64 bytes_processed=0) const
 
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
 
void writePeptideIdentification_ (const String &filename, std::ostream &os, const PeptideIdentification &id, const String &tag_name, UInt indentation_level)
 Writes a peptide identification to a stream (for assigned/unassigned peptide identifications) More...
 
void addProteinGroups_ (MetaInfoInterface &meta, const std::vector< ProteinIdentification::ProteinGroup > &groups, const String &group_name, const std::unordered_map< std::string, UInt > &accession_to_id, const String &runid, XMLHandler::ActionMode mode)
 
void getProteinGroups_ (std::vector< ProteinIdentification::ProteinGroup > &groups, const String &group_name)
 Read and store ProteinGroup data. 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

PeakFileOptions options_
 Options that can be set. More...
 
Temporary variables for parsing
ConsensusMapconsensus_map_
 
const ConsensusMapcconsensus_map_
 
ConsensusFeature act_cons_element_
 
DPosition< 2 > pos_
 
double it_
 
MetaInfoInterfacelast_meta_
 Pointer to last read object as a MetaInfoInterface, or null. More...
 
ProteinIdentification prot_id_
 Temporary protein ProteinIdentification. More...
 
PeptideIdentification pep_id_
 Temporary peptide ProteinIdentification. More...
 
ProteinHit prot_hit_
 Temporary protein hit. More...
 
PeptideHit pep_hit_
 Temporary peptide hit. More...
 
std::vector< PeptideEvidencepeptide_evidences_
 Temporary peptide evidences. More...
 
std::map< String, Stringproteinid_to_accession_
 Map from protein id to accession. More...
 
std::unordered_map< std::string, UIntaccession_to_id_
 Map from search identifier concatenated with protein accession to id. More...
 
std::map< String, Stringidentifier_id_
 Map from identification run identifier to file xs:id (for linking peptide identifications to the corresponding run) More...
 
std::map< String, Stringid_identifier_
 Map from file xs:id to identification run identifier (for linking peptide identifications to the corresponding run) More...
 
ProteinIdentification::SearchParameters search_param_
 Temporary search parameters file. More...
 
UInt progress_
 
- 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< Stringopen_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 ProgressLogger
LogType type_
 
time_t last_invoke_
 
ProgressLoggerImplcurrent_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 DataValue fromXSDString (const String &type, const String &value)
 Convert an XSD type (e.g. 'xsd:double') to a DataValue. More...
 
- Static Protected Attributes inherited from ProgressLogger
static int recursion_depth_
 

Detailed Description

This class provides Input functionality for ConsensusMaps and Output functionality for alignments and quantitation.

This class can be used to load the content of a consensusXML file into a ConsensusMap or to save the content of an ConsensusMap object into an XML file.

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

Todo:
Take care that unique ids are assigned properly by TOPP tools before calling ConsensusXMLFile::store(). There will be a message on OPENMS_LOG_INFO but we will make no attempt to fix the problem in this class. (all developers)

Constructor & Destructor Documentation

◆ ConsensusXMLHandler() [1/2]

ConsensusXMLHandler ( ConsensusMap map,
const String filename 
)

Constructor.

◆ ConsensusXMLHandler() [2/2]

ConsensusXMLHandler ( const ConsensusMap map,
const String filename 
)

◆ ~ConsensusXMLHandler()

~ConsensusXMLHandler ( )
override

Destructor.

Member Function Documentation

◆ addProteinGroups_()

void addProteinGroups_ ( MetaInfoInterface meta,
const std::vector< ProteinIdentification::ProteinGroup > &  groups,
const String group_name,
const std::unordered_map< std::string, UInt > &  accession_to_id,
const String runid,
XMLHandler::ActionMode  mode 
)
protected

Add data from ProteinGroups to a MetaInfoInterface Since it can be used during load and store, it needs to take a param for the current mode (LOAD/STORE) to throw appropriate warnings/errors

◆ characters()

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

◆ endElement()

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

◆ 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.

◆ getProteinGroups_()

void getProteinGroups_ ( std::vector< ProteinIdentification::ProteinGroup > &  groups,
const String group_name 
)
protected

Read and store ProteinGroup data.

◆ setOptions()

void setOptions ( const PeakFileOptions )

◆ startElement()

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

◆ writePeptideIdentification_()

void writePeptideIdentification_ ( const String filename,
std::ostream &  os,
const PeptideIdentification id,
const String tag_name,
UInt  indentation_level 
)
protected

Writes a peptide identification to a stream (for assigned/unassigned peptide identifications)

◆ writeTo()

void writeTo ( std::ostream &  os)
overridevirtual

Docu in base class XMLHandler::writeTo.

Reimplemented from XMLHandler.

Member Data Documentation

◆ accession_to_id_

std::unordered_map<std::string, UInt> accession_to_id_
protected

Map from search identifier concatenated with protein accession to id.

◆ act_cons_element_

ConsensusFeature act_cons_element_
protected

◆ cconsensus_map_

const ConsensusMap* cconsensus_map_
protected

◆ consensus_map_

ConsensusMap* consensus_map_
protected

◆ id_identifier_

std::map<String, String> id_identifier_
protected

Map from file xs:id to identification run identifier (for linking peptide identifications to the corresponding run)

◆ identifier_id_

std::map<String, String> identifier_id_
protected

Map from identification run identifier to file xs:id (for linking peptide identifications to the corresponding run)

◆ it_

double it_
protected

◆ last_meta_

MetaInfoInterface* last_meta_
protected

Pointer to last read object as a MetaInfoInterface, or null.

◆ options_

PeakFileOptions options_
protected

Options that can be set.

◆ pep_hit_

PeptideHit pep_hit_
protected

Temporary peptide hit.

◆ pep_id_

PeptideIdentification pep_id_
protected

Temporary peptide ProteinIdentification.

◆ peptide_evidences_

std::vector<PeptideEvidence> peptide_evidences_
protected

Temporary peptide evidences.

◆ pos_

DPosition<2> pos_
protected

◆ progress_

UInt progress_
protected

◆ prot_hit_

ProteinHit prot_hit_
protected

Temporary protein hit.

◆ prot_id_

ProteinIdentification prot_id_
protected

Temporary protein ProteinIdentification.

◆ proteinid_to_accession_

std::map<String, String> proteinid_to_accession_
protected

Map from protein id to accession.

◆ search_param_

ProteinIdentification::SearchParameters search_param_
protected

Temporary search parameters file.