Home  · Classes  · Annotated Classes  · Modules  · Members  · Namespaces  · Related Pages
Public Member Functions | Protected Member Functions | Static Protected Member Functions | Friends | List of all members
IdXMLFile Class Reference

Used to load and store idXML files. More...

#include <OpenMS/FORMAT/IdXMLFile.h>

Inheritance diagram for IdXMLFile:
XMLHandler XMLFile ProgressLogger

Public Member Functions

 IdXMLFile ()
 Constructor. More...
 
void load (const String &filename, std::vector< ProteinIdentification > &protein_ids, std::vector< PeptideIdentification > &peptide_ids)
 Loads the identifications of an idXML file without identifier. More...
 
void load (const String &filename, std::vector< ProteinIdentification > &protein_ids, std::vector< PeptideIdentification > &peptide_ids, String &document_id)
 Loads the identifications of an idXML file. More...
 
void store (String filename, const std::vector< ProteinIdentification > &protein_ids, const std::vector< PeptideIdentification > &peptide_ids, const String &document_id="")
 Stores the data in an idXML file. 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...
 
- Public Member Functions inherited from ProgressLogger
 ProgressLogger ()
 Constructor. More...
 
 ~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...
 

Protected Member Functions

virtual void endElement (const XMLCh *const, const XMLCh *const, const XMLCh *const qname)
 Parsing method for closing tags. More...
 
virtual void startElement (const XMLCh *const, const XMLCh *const, const XMLCh *const qname, const xercesc::Attributes &attributes)
 Parsing method for opening tags. More...
 
void addProteinGroups_ (MetaInfoInterface &meta, const std::vector< ProteinIdentification::ProteinGroup > &groups, const String &group_name, const std::map< String, UInt > &accession_to_id)
 Add data from ProteinGroups to a MetaInfoInterface. More...
 
void getProteinGroups_ (std::vector< ProteinIdentification::ProteinGroup > &groups, const String &group_name)
 Read and store ProteinGroup data. More...
 
- 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...
 
char * 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...
 
char * 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)
 
 XMLHandler (const String &filename, const String &version)
 Default constructor. More...
 
virtual ~XMLHandler ()
 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...
 
virtual void characters (const XMLCh *const chars, const XMLSize_t length)
 Parsing method for character data. More...
 
virtual void writeTo (std::ostream &)
 Writes the contents to a stream. More...
 
String errorString ()
 Returns the last error description. More...
 
void fatalError (const xercesc::SAXParseException &exception)
 
void error (const xercesc::SAXParseException &exception)
 
void warning (const xercesc::SAXParseException &exception)
 
- 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 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...
 
- Protected Member Functions inherited from ProgressLogger
 ProgressLogger ()
 Constructor. More...
 
 ~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...
 

Static Protected Member Functions

static String createFlankingAAXMLString_ (const std::vector< PeptideEvidence > &pes)
 
static String createPositionXMLString_ (const std::vector< PeptideEvidence > &pes)
 
static void writeFragmentAnnotations_ (const String &tag_name, std::ostream &os, std::vector< PeptideHit::PeakAnnotation > annotations, UInt indent)
 
static void parseFragmentAnnotation_ (const String &s, std::vector< PeptideHit::PeakAnnotation > &annotations)
 
- Static Protected 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...
 

Protected Attributes

members for loading data
std::vector< ProteinIdentification > * prot_ids_
 Pointer to fill in protein identifications. More...
 
std::vector< PeptideIdentification > * pep_ids_
 Pointer to fill in peptide identifications. More...
 
MetaInfoInterfacelast_meta_
 Pointer to last read object with MetaInfoInterface. More...
 
std::map< String, ProteinIdentification::SearchParametersparameters_
 Search parameters map (key is the "id") More...
 
ProteinIdentification::SearchParameters param_
 Temporary search parameters variable. More...
 
String id_
 Temporary id. 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...
 
Stringdocument_id_
 Document identifier. More...
 
bool prot_id_in_run_
 true if a prot id is contained in the current run 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...
 
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_
 

Friends

class ConsensusXMLFile
 
class FeatureXMLFile
 

Additional Inherited Members

- Public Types inherited from ProgressLogger
enum  LogType { CMD, GUI, NONE }
 Possible log types. More...
 
- Protected Types inherited from XMLHandler
enum  ActionMode { LOAD, STORE }
 Action to set the current mode (for error messages) More...
 
- Protected Types inherited from ProgressLogger
enum  LogType { CMD, GUI, NONE }
 Possible log types. More...
 
- Static Protected Attributes inherited from ProgressLogger
static int recursion_depth_
 

Detailed Description

Used to load and store idXML files.

This class is used to load and store documents that implement the schema of idXML files.

A documented schema for this format can be found at http://open-ms.sourceforge.net/schemas/.

One file can contain several ProteinIdentification runs. Each run consists of peptide hits stored in PeptideIdentification and (optional) protein hits stored in Identification. Peptide and protein hits are connected via a string identifier. We use the search engine and the date as identifier.

Note
This format will eventually be replaced by the HUPO-PSI (mzIdentML and mzQuantML)) AnalysisXML formats!

Constructor & Destructor Documentation

◆ IdXMLFile()

IdXMLFile ( )

Constructor.

Member Function Documentation

◆ addProteinGroups_()

void addProteinGroups_ ( MetaInfoInterface meta,
const std::vector< ProteinIdentification::ProteinGroup > &  groups,
const String group_name,
const std::map< String, UInt > &  accession_to_id 
)
protected

Add data from ProteinGroups to a MetaInfoInterface.

◆ createFlankingAAXMLString_()

static String createFlankingAAXMLString_ ( const std::vector< PeptideEvidence > &  pes)
staticprotected

Helper function to create the XML string for the amino acids before and after the peptide position in a protein. Can be reused by e.g. ConsensusXML, FeatureXML to write PeptideHit elements

◆ createPositionXMLString_()

static String createPositionXMLString_ ( const std::vector< PeptideEvidence > &  pes)
staticprotected

Helper function to create the XML string for the position of the peptide in a protein. Can be reused by e.g. ConsensusXML, FeatureXML to write PeptideHit elements

◆ endElement()

virtual void endElement ( const XMLCh *  uri,
const XMLCh *  localname,
const XMLCh *const  qname 
)
protectedvirtual

Parsing method for closing tags.

Reimplemented from XMLHandler.

◆ getProteinGroups_()

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

Read and store ProteinGroup data.

◆ load() [1/2]

void load ( const String filename,
std::vector< ProteinIdentification > &  protein_ids,
std::vector< PeptideIdentification > &  peptide_ids 
)

Loads the identifications of an idXML file without identifier.

The information is read in and the information is stored in the corresponding variables

Exceptions
Exception::FileNotFoundis thrown if the file could not be opened
Exception::ParseErroris thrown if an error occurs during parsing

Referenced by TOPPViewBase::addDataFile(), TOPPViewBase::annotateWithID(), IDEvaluationBase::loadCurve(), and TOPPRNPxl::main_().

◆ load() [2/2]

void load ( const String filename,
std::vector< ProteinIdentification > &  protein_ids,
std::vector< PeptideIdentification > &  peptide_ids,
String document_id 
)

Loads the identifications of an idXML file.

The information is read in and the information is stored in the corresponding variables

Exceptions
Exception::FileNotFoundis thrown if the file could not be opened
Exception::ParseErroris thrown if an error occurs during parsing

◆ parseFragmentAnnotation_()

static void parseFragmentAnnotation_ ( const String s,
std::vector< PeptideHit::PeakAnnotation > &  annotations 
)
staticprotected

Helper function to parse fragment annotations from string

◆ startElement()

virtual void startElement ( const XMLCh *  uri,
const XMLCh *  localname,
const XMLCh *const  qname,
const xercesc::Attributes &  attrs 
)
protectedvirtual

Parsing method for opening tags.

Reimplemented from XMLHandler.

◆ store()

void store ( String  filename,
const std::vector< ProteinIdentification > &  protein_ids,
const std::vector< PeptideIdentification > &  peptide_ids,
const String document_id = "" 
)

Stores the data in an idXML file.

The data is read in and stored in the file 'filename'. PeptideHits are sorted by score.

Exceptions
Exception::UnableToCreateFileis thrown if the file could not be created

Referenced by TOPPRNPxl::main_(), TOPPOpenPepXLLF::main_(), SimpleSearchEngine::main_(), TOPPOpenPepXL::main_(), and RNPxlSearch::main_().

◆ writeFragmentAnnotations_()

static void writeFragmentAnnotations_ ( const String tag_name,
std::ostream &  os,
std::vector< PeptideHit::PeakAnnotation annotations,
UInt  indent 
)
staticprotected

Helper function to write out fragment annotations as user param fragment_annotation

Friends And Related Function Documentation

◆ ConsensusXMLFile

friend class ConsensusXMLFile
friend

◆ FeatureXMLFile

friend class FeatureXMLFile
friend

Member Data Documentation

◆ document_id_

String* document_id_
protected

Document identifier.

◆ id_

String id_
protected

Temporary id.

◆ last_meta_

MetaInfoInterface* last_meta_
protected

Pointer to last read object with MetaInfoInterface.

◆ param_

Temporary search parameters variable.

◆ parameters_

std::map<String, ProteinIdentification::SearchParameters> parameters_
protected

Search parameters map (key is the "id")

◆ pep_hit_

PeptideHit pep_hit_
protected

Temporary peptide hit.

◆ pep_id_

PeptideIdentification pep_id_
protected

Temporary peptide ProteinIdentification.

◆ pep_ids_

std::vector<PeptideIdentification>* pep_ids_
protected

Pointer to fill in peptide identifications.

◆ peptide_evidences_

std::vector<PeptideEvidence> peptide_evidences_
protected

Temporary peptide evidences.

◆ prot_hit_

ProteinHit prot_hit_
protected

Temporary protein hit.

◆ prot_id_

ProteinIdentification prot_id_
protected

Temporary protein ProteinIdentification.

◆ prot_id_in_run_

bool prot_id_in_run_
protected

true if a prot id is contained in the current run

◆ prot_ids_

std::vector<ProteinIdentification>* prot_ids_
protected

Pointer to fill in protein identifications.

◆ proteinid_to_accession_

std::map<String, String> proteinid_to_accession_
protected

Map from protein id to accession.


OpenMS / TOPP release 2.3.0 Documentation generated on Tue Jan 9 2018 18:22:09 using doxygen 1.8.13