![]() |
OpenMS
|
Used to load and store idXML files. More...
#include <OpenMS/FORMAT/IdXMLFile.h>
Public Member Functions | |
| IdXMLFile () | |
| Constructor. | |
| void | load (const std::string &filename, std::vector< ProteinIdentification > &protein_ids, PeptideIdentificationList &peptide_ids) |
| Loads the identifications of an idXML file without identifier. | |
| void | load (const std::string &filename, std::vector< ProteinIdentification > &protein_ids, PeptideIdentificationList &peptide_ids, std::string &document_id) |
| Loads the identifications of an idXML file. | |
| void | store (const std::string &filename, const std::vector< ProteinIdentification > &protein_ids, const PeptideIdentificationList &peptide_ids, const std::string &document_id="") |
| Stores the data in an idXML file. | |
Public Member Functions inherited from XMLFile | |
| XMLFile () | |
Construct an XMLFile without schema info; schema_location_ remains unset, so isValid cannot be used until derived-class logic initializes schema_location_ before calling isValid. | |
| XMLFile (const std::string &schema_location, const std::string &version) | |
| Construct with a schema location for later isValid calls. | |
| virtual | ~XMLFile () |
| Virtual destructor — defaulted; allows safe deletion through a base-class pointer. | |
| bool | isValid (const std::string &filename, std::ostream &os) |
Check if filename validates against the bound XML schema. | |
| const std::string & | getVersion () const |
| Return the schema version string passed to the parameterised constructor; empty for default-constructed instances. | |
Public Member Functions inherited from ProgressLogger | |
| ProgressLogger () | |
| Constructor. | |
| virtual | ~ProgressLogger () |
| Destructor. | |
| ProgressLogger (const ProgressLogger &other) | |
| Copy constructor. | |
| ProgressLogger & | operator= (const ProgressLogger &other) |
| Assignment Operator. | |
| void | setLogType (LogType type) const |
| Sets the progress log that should be used. The default type is NONE! | |
| LogType | getLogType () const |
| Returns the type of progress log being used. | |
| void | setLogger (ProgressLoggerImpl *logger) |
| Sets the logger to be used for progress logging. | |
| void | startProgress (SignedSize begin, SignedSize end, const std::string &label) const |
| Initializes the progress display. | |
| void | setProgress (SignedSize value) const |
| Sets the current progress. | |
| void | endProgress (UInt64 bytes_processed=0) const |
| void | nextProgress () const |
| increment progress by 1 (according to range begin-end) | |
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 | addProteinGroups_ (MetaInfoInterface &meta, const std::vector< ProteinIdentification::ProteinGroup > &groups, const std::string &group_name, const std::unordered_map< std::string, UInt > &accession_to_id, XMLHandler::ActionMode mode) |
| void | getProteinGroups_ (std::vector< ProteinIdentification::ProteinGroup > &groups, const std::string &group_name) |
| Read and store ProteinGroup data. | |
Protected Member Functions inherited from XMLHandler | |
| void | writeUserParam_ (const std::string &tag_name, std::ostream &os, const MetaInfoInterface &meta, UInt indent) const |
| Writes the content of MetaInfoInterface to the file. | |
| Int | asInt_ (const std::string &in) const |
| Conversion of a std::string to an integer value. | |
| Int | asInt_ (const XMLCh *in) const |
| Conversion of a Xerces string to an integer value. | |
| UInt | asUInt_ (const std::string &in) const |
| Conversion of a std::string to an unsigned integer value. | |
| double | asDouble_ (const std::string &in) const |
| Conversion of a std::string to a double value. | |
| float | asFloat_ (const std::string &in) const |
| Conversion of a std::string to a float value. | |
| bool | asBool_ (const std::string &in) const |
| Conversion of a string to a boolean value. | |
| DateTime | asDateTime_ (std::string date_string) const |
| Conversion of a xs:datetime string to a DateTime value. | |
| bool | equal_ (const XMLCh *a, const XMLCh *b) const |
| Returns if two Xerces strings are equal. | |
| SignedSize | cvStringToEnum_ (const Size section, const std::string &term, const char *message, const SignedSize result_on_error=0) |
| std::string | attributeAsString_ (const xercesc::Attributes &a, const char *name) const |
| Converts an attribute to a String. | |
| Int | attributeAsInt_ (const xercesc::Attributes &a, const char *name) const |
| Converts an attribute to a Int. | |
| double | attributeAsDouble_ (const xercesc::Attributes &a, const char *name) const |
| Converts an attribute to a double. | |
| DoubleList | attributeAsDoubleList_ (const xercesc::Attributes &a, const char *name) const |
| Converts an attribute to a DoubleList. | |
| IntList | attributeAsIntList_ (const xercesc::Attributes &a, const char *name) const |
| Converts an attribute to an IntList. | |
| StringList | attributeAsStringList_ (const xercesc::Attributes &a, const char *name) const |
| Converts an attribute to an StringList. | |
| bool | optionalAttributeAsString_ (std::string &value, const xercesc::Attributes &a, const char *name) const |
| Assigns the attribute content to the String value if the attribute is present. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| std::string | attributeAsString_ (const xercesc::Attributes &a, const XMLCh *name) const |
| Converts an attribute to a String. | |
| Int | attributeAsInt_ (const xercesc::Attributes &a, const XMLCh *name) const |
| Converts an attribute to a Int. | |
| double | attributeAsDouble_ (const xercesc::Attributes &a, const XMLCh *name) const |
| Converts an attribute to a double. | |
| DoubleList | attributeAsDoubleList_ (const xercesc::Attributes &a, const XMLCh *name) const |
| Converts an attribute to a DoubleList. | |
| IntList | attributeAsIntList_ (const xercesc::Attributes &a, const XMLCh *name) const |
| Converts an attribute to a IntList. | |
| StringList | attributeAsStringList_ (const xercesc::Attributes &a, const XMLCh *name) const |
| Converts an attribute to a StringList. | |
| bool | optionalAttributeAsString_ (std::string &value, const xercesc::Attributes &a, const XMLCh *name) const |
| Assigns the attribute content to the String value if the attribute is present. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| XMLHandler (const std::string &filename, const std::string &version) | |
| Default constructor. | |
| ~XMLHandler () override | |
| Destructor. | |
| void | reset () |
| Release internal memory used for parsing (call. | |
| 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 std::string &msg, UInt line=0, UInt column=0) const |
| Fatal error handler. Throws a ParseError exception. | |
| void | error (ActionMode mode, const std::string &msg, UInt line=0, UInt column=0) const |
| Error handler for recoverable errors. | |
| void | warning (ActionMode mode, const std::string &msg, UInt line=0, UInt column=0) const |
| Warning handler. | |
| void | characters (const XMLCh *const chars, const XMLSize_t length) override |
| Parsing method for character data. | |
| void | startElement (const XMLCh *const uri, const XMLCh *const localname, const XMLCh *const qname, const xercesc::Attributes &attrs) override |
| Parsing method for opening tags. | |
| void | endElement (const XMLCh *const uri, const XMLCh *const localname, const XMLCh *const qname) override |
| Parsing method for closing tags. | |
| virtual void | writeTo (std::ostream &) |
| Writes the contents to a stream. | |
| virtual LOADDETAIL | getLoadDetail () const |
| handler which support partial loading, implement this method | |
| virtual void | setLoadDetail (const LOADDETAIL d) |
| handler which support partial loading, implement this method | |
| DataValue | cvParamToValue (const ControlledVocabulary &cv, const std::string &parent_tag, const std::string &accession, const std::string &name, const std::string &value, const std::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. | |
| 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. | |
| void | checkUniqueIdentifiers_ (const std::vector< ProteinIdentification > &prot_ids) const |
Protected Member Functions inherited from XMLFile | |
| void | parse_ (const std::string &filename, XMLHandler *handler) |
Parse the XML file at filename through handler. | |
| void | parseBuffer_ (const std::string &buffer, XMLHandler *handler) |
Parse an in-memory XML buffer through handler. | |
| void | save_ (const std::string &filename, XMLHandler *handler) const |
Stores the contents of the XML handler given by handler in the file given by filename. | |
| void | enforceEncoding_ (const std::string &encoding) |
| Set or clear the XML-encoding override applied to subsequent parse_ / parseBuffer_ calls. | |
| XMLFile () | |
Construct an XMLFile without schema info; schema_location_ remains unset, so isValid cannot be used until derived-class logic initializes schema_location_ before calling isValid. | |
| XMLFile (const std::string &schema_location, const std::string &version) | |
| Construct with a schema location for later isValid calls. | |
| virtual | ~XMLFile () |
| Virtual destructor — defaulted; allows safe deletion through a base-class pointer. | |
| bool | isValid (const std::string &filename, std::ostream &os) |
Check if filename validates against the bound XML schema. | |
| const std::string & | getVersion () const |
| Return the schema version string passed to the parameterised constructor; empty for default-constructed instances. | |
Protected Member Functions inherited from ProgressLogger | |
| ProgressLogger () | |
| Constructor. | |
| virtual | ~ProgressLogger () |
| Destructor. | |
| ProgressLogger (const ProgressLogger &other) | |
| Copy constructor. | |
| ProgressLogger & | operator= (const ProgressLogger &other) |
| Assignment Operator. | |
| void | setLogType (LogType type) const |
| Sets the progress log that should be used. The default type is NONE! | |
| LogType | getLogType () const |
| Returns the type of progress log being used. | |
| void | setLogger (ProgressLoggerImpl *logger) |
| Sets the logger to be used for progress logging. | |
| void | startProgress (SignedSize begin, SignedSize end, const std::string &label) const |
| Initializes the progress display. | |
| void | setProgress (SignedSize value) const |
| Sets the current progress. | |
| void | endProgress (UInt64 bytes_processed=0) const |
| void | nextProgress () const |
| increment progress by 1 (according to range begin-end) | |
Static Protected Member Functions | |
| static std::ostream & | createFlankingAAXMLString_ (const std::vector< PeptideEvidence > &pes, std::ostream &os) |
| static std::ostream & | createPositionXMLString_ (const std::vector< PeptideEvidence > &pes, std::ostream &os) |
| static void | writeFragmentAnnotations_ (const std::string &tag_name, std::ostream &os, const std::vector< PeptideHit::PeakAnnotation > &annotations, UInt indent) |
| static void | parseFragmentAnnotation_ (const std::string &s, std::vector< PeptideHit::PeakAnnotation > &annotations) |
Static Protected Member Functions inherited from XMLHandler | |
| static std::string | writeXMLEscape (const std::string &to_escape) |
| Escapes a string and returns the escaped string. | |
| static DataValue | fromXSDString (const std::string &type, const std::string &value) |
| Convert an XSD type (e.g. 'xsd:double') to a DataValue. | |
Protected Attributes | |
members for loading data | |
| std::vector< ProteinIdentification > * | prot_ids_ |
| Pointer to fill in protein identifications. | |
| PeptideIdentificationList * | pep_ids_ |
| Pointer to fill in peptide identifications. | |
| MetaInfoInterface * | last_meta_ |
| Pointer to last read object with MetaInfoInterface. | |
| std::map< std::string, ProteinIdentification::SearchParameters > | parameters_ |
| Search parameters map (key is the "id") | |
| ProteinIdentification::SearchParameters | param_ |
| Temporary search parameters variable. | |
| std::string | id_ |
| Temporary id. | |
| ProteinIdentification | prot_id_ |
| Temporary protein ProteinIdentification. | |
| PeptideIdentification | pep_id_ |
| Temporary peptide ProteinIdentification. | |
| ProteinHit | prot_hit_ |
| Temporary protein hit. | |
| PeptideHit | pep_hit_ |
| Temporary peptide hit. | |
| PeptideHit::PepXMLAnalysisResult | current_analysis_result_ |
| Temporary analysis result instance. | |
| std::vector< PeptideEvidence > | peptide_evidences_ |
| Temporary peptide evidences. | |
| std::unordered_map< std::string, std::string > | proteinid_to_accession_ |
| Map from protein id to accession. | |
| std::string * | document_id_ |
| Document identifier. | |
| bool | prot_id_in_run_ |
| true if a prot id is contained in the current run | |
Protected Attributes inherited from XMLHandler | |
| std::string | file_ |
| File name. | |
| std::string | version_ |
| Schema version. | |
| StringManager | sm_ |
| Helper class for string conversion. | |
| std::vector< std::string > | open_tags_ |
| Stack of open XML tags. | |
| LOADDETAIL | load_detail_ |
| parse only until total number of scans and chroms have been determined from attributes | |
| std::vector< std::vector< std::string > > | cv_terms_ |
| Array of CV term lists (one sublist denotes one term and it's children) | |
Protected Attributes inherited from XMLFile | |
| std::string | schema_location_ |
Path of the XML schema for validation; empty when the default constructor was used (isValid then throws NotImplemented). | |
| std::string | schema_version_ |
| Schema version string returned by getVersion. | |
| std::string | enforced_encoding_ |
Optional XML encoding override applied to the InputSource in parse_ and parseBuffer_; empty disables the override. Used as a workaround for XTandem output XML which carries an encoding the parser otherwise stumbles on. | |
Protected Attributes inherited from ProgressLogger | |
| LogType | type_ |
| time_t | last_invoke_ |
| ProgressLoggerImpl * | current_logger_ |
Friends | |
| class | Internal::ConsensusXMLHandler |
| class | Internal::FeatureXMLHandler |
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... | |
| enum | LOADDETAIL { LD_ALLDATA , LD_RAWCOUNTS , LD_COUNTS_WITHOPTIONS } |
Protected Types inherited from ProgressLogger | |
| enum | LogType { CMD , GUI , NONE } |
| Possible log types. More... | |
Static Protected Attributes inherited from ProgressLogger | |
| static int | recursion_depth_ |
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 https://github.com/OpenMS/OpenMS/tree/develop/share/OpenMS/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.
| IdXMLFile | ( | ) |
Constructor.
|
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
|
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
|
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
|
overrideprotected |
|
protected |
Read and store ProteinGroup data.
| void load | ( | const std::string & | filename, |
| std::vector< ProteinIdentification > & | protein_ids, | ||
| PeptideIdentificationList & | 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
| Exception::FileNotFound | is thrown if the file could not be opened |
| Exception::ParseError | is thrown if an error occurs during parsing |
| void load | ( | const std::string & | filename, |
| std::vector< ProteinIdentification > & | protein_ids, | ||
| PeptideIdentificationList & | peptide_ids, | ||
| std::string & | document_id | ||
| ) |
Loads the identifications of an idXML file.
The information is read in and the information is stored in the corresponding variables
| Exception::FileNotFound | is thrown if the file could not be opened |
| Exception::ParseError | is thrown if an error occurs during parsing |
|
staticprotected |
Helper function to parse fragment annotations from string
|
overrideprotected |
| void store | ( | const std::string & | filename, |
| const std::vector< ProteinIdentification > & | protein_ids, | ||
| const PeptideIdentificationList & | peptide_ids, | ||
| const std::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. Note that ranks are not stored and need to be reassigned after loading.
| Exception::UnableToCreateFile | is thrown if the file could not be created |
|
staticprotected |
Helper function to write out fragment annotations as user param fragment_annotation
|
friend |
|
friend |
|
protected |
Temporary analysis result instance.
|
protected |
Document identifier.
|
protected |
Temporary id.
|
protected |
Pointer to last read object with MetaInfoInterface.
|
protected |
Temporary search parameters variable.
|
protected |
Search parameters map (key is the "id")
|
protected |
Temporary peptide hit.
|
protected |
Temporary peptide ProteinIdentification.
|
protected |
Pointer to fill in peptide identifications.
|
protected |
Temporary peptide evidences.
|
protected |
Temporary protein hit.
|
protected |
Temporary protein ProteinIdentification.
|
protected |
true if a prot id is contained in the current run
|
protected |
Pointer to fill in protein identifications.
|
protected |
Map from protein id to accession.