OpenMS  2.7.0
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ConsensusXMLFile Class Reference

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

#include <OpenMS/FORMAT/ConsensusXMLFile.h>

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

Public Member Functions

 ConsensusXMLFile ()
 Default constructor. More...
 
 ~ConsensusXMLFile () override
 Destructor. More...
 
void load (const String &filename, ConsensusMap &map)
 Loads a consensus map from file and calls updateRanges. More...
 
void store (const String &filename, const ConsensusMap &consensus_map)
 Stores a consensus map to file. More...
 
PeakFileOptionsgetOptions ()
 Mutable access to the options for loading/storing. More...
 
const PeakFileOptionsgetOptions () const
 Non-mutable access to the options for loading/storing. 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 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)
 
- 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 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 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

PeakFileOptions options_
 Options that can be set. More...
 
Temporary variables for parsing
ConsensusMapconsensus_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...
 
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...
 
Map< String, Stringidentifier_id_
 Map from identification run identifier to file xs:id (for linking peptide identifications to the corresponding run) More...
 
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 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< 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 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_
 

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

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

◆ ConsensusXMLFile()

Default constructor.

◆ ~ConsensusXMLFile()

~ConsensusXMLFile ( )
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.

◆ load()

void load ( const String filename,
ConsensusMap map 
)

Loads a consensus map from file and calls updateRanges.

Exceptions
Exception::FileNotFoundis thrown if the file could not be opened
Exception::ParseErroris thrown if an error occurs during parsing
Exception::MissingInformationis thrown if source files are missing/duplicated or map-IDs are referencing non-existing maps

Referenced by TOPPViewBase::addDataFile(), TOPPViewBase::fileChanged_(), and TOPPGNPSExport::main_().

◆ startElement()

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

◆ store()

void store ( const String filename,
const ConsensusMap consensus_map 
)

Stores a consensus map to file.

Exceptions
Exception::UnableToCreateFileis thrown if the file name is not writable
Exception::IllegalArgumentis thrown if the consensus map is not valid
Exception::MissingInformationis thrown if source files are missing/duplicated or map-IDs are referencing non-existing maps

Referenced by TOPPViewBase::runTOPPTool_().

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

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

◆ consensus_map_

ConsensusMap* consensus_map_
protected

◆ id_identifier_

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_

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_

Map<String, String> proteinid_to_accession_
protected

Map from protein id to accession.

◆ search_param_

ProteinIdentification::SearchParameters search_param_
protected

Temporary search parameters file.