OpenMS
OMSSAXMLFile Class Reference

Used to load OMSSAXML files. More...

#include <OpenMS/FORMAT/OMSSAXMLFile.h>

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

Public Member Functions

 OMSSAXMLFile ()
 Default constructor. More...
 
 ~OMSSAXMLFile () override
 Destructor. More...
 
void load (const String &filename, ProteinIdentification &protein_identification, std::vector< PeptideIdentification > &id_data, bool load_proteins=true, bool load_empty_hits=true)
 loads data from a OMSSAXML file More...
 
void setModificationDefinitionsSet (const ModificationDefinitionsSet &rhs)
 sets the valid modifications 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...
 

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) override
 
- 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...
 
 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) const
 
- 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)
 
 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...
 

Private Member Functions

 OMSSAXMLFile (const OMSSAXMLFile &rhs)
 
OMSSAXMLFileoperator= (const OMSSAXMLFile &rhs)
 
void readMappingFile_ ()
 reads the mapping file needed for modifications More...
 

Private Attributes

std::vector< PeptideIdentification > * peptide_identifications_
 the identifications (storing the peptide hits) More...
 
ProteinHit actual_protein_hit_
 
PeptideHit actual_peptide_hit_
 
PeptideEvidence actual_peptide_evidence_
 
std::vector< PeptideEvidenceactual_peptide_evidences_
 
PeptideIdentification actual_peptide_id_
 
ProteinIdentification actual_protein_id_
 
String tag_
 
UInt actual_mod_site_
 site of the actual modification (simple position in the peptide) More...
 
String actual_mod_type_
 type of the modification More...
 
std::vector< std::pair< UInt, String > > modifications_
 modifications of the peptide defined by site and type More...
 
bool load_proteins_
 should protein hits be read from the file? More...
 
bool load_empty_hits_
 should empty peptide identifications be loaded or skipped? More...
 
std::map< UInt, std::vector< const ResidueModification * > > mods_map_
 modifications mapping file from OMSSA mod num to UniMod accession More...
 
std::map< String, UIntmods_to_num_
 modification mapping reverse, from the modification to the mod_num More...
 
ModificationDefinitionsSet mod_def_set_
 modification definitions set of the search, needed to annotate fixed modifications More...
 

Additional Inherited Members

- Protected 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 }
 
- Static Protected 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...
 
- 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...
 

Detailed Description

Used to load OMSSAXML files.

This class is used to load documents that implement the schema of OMSSAXML files.

Constructor & Destructor Documentation

◆ OMSSAXMLFile() [1/2]

Default constructor.

◆ ~OMSSAXMLFile()

~OMSSAXMLFile ( )
override

Destructor.

◆ OMSSAXMLFile() [2/2]

OMSSAXMLFile ( const OMSSAXMLFile rhs)
private

Member Function Documentation

◆ characters()

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

◆ endElement()

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

◆ operator=()

OMSSAXMLFile& operator= ( const OMSSAXMLFile rhs)
private

◆ readMappingFile_()

void readMappingFile_ ( )
private

reads the mapping file needed for modifications

◆ setModificationDefinitionsSet()

void setModificationDefinitionsSet ( const ModificationDefinitionsSet rhs)

sets the valid modifications

◆ startElement()

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

Member Data Documentation

◆ actual_mod_site_

UInt actual_mod_site_
private

site of the actual modification (simple position in the peptide)

◆ actual_mod_type_

String actual_mod_type_
private

type of the modification

◆ actual_peptide_evidence_

PeptideEvidence actual_peptide_evidence_
private

◆ actual_peptide_evidences_

std::vector<PeptideEvidence> actual_peptide_evidences_
private

◆ actual_peptide_hit_

PeptideHit actual_peptide_hit_
private

◆ actual_peptide_id_

PeptideIdentification actual_peptide_id_
private

◆ actual_protein_hit_

ProteinHit actual_protein_hit_
private

◆ actual_protein_id_

ProteinIdentification actual_protein_id_
private

◆ load_empty_hits_

bool load_empty_hits_
private

should empty peptide identifications be loaded or skipped?

◆ load_proteins_

bool load_proteins_
private

should protein hits be read from the file?

◆ mod_def_set_

ModificationDefinitionsSet mod_def_set_
private

modification definitions set of the search, needed to annotate fixed modifications

◆ modifications_

std::vector<std::pair<UInt, String> > modifications_
private

modifications of the peptide defined by site and type

◆ mods_map_

std::map<UInt, std::vector<const ResidueModification*> > mods_map_
private

modifications mapping file from OMSSA mod num to UniMod accession

◆ mods_to_num_

std::map<String, UInt> mods_to_num_
private

modification mapping reverse, from the modification to the mod_num

◆ peptide_identifications_

std::vector<PeptideIdentification>* peptide_identifications_
private

the identifications (storing the peptide hits)

◆ tag_

String tag_
private