OpenMS
Metadata

Classes that capture meta data about a MS or HPLC-MS experiment. More...

Classes

class  Acquisition
 Information about one raw data spectrum that was combined with several other raw data spectra. More...
 
class  AcquisitionInfo
 Description of the combination of raw data to a single spectrum. More...
 
class  ChromatogramSettings
 Representation of chromatogram settings, e.g. SRM/MRM chromatograms. More...
 
class  ContactPerson
 Contact person information. More...
 
class  CVTerm
 Representation of controlled vocabulary term. More...
 
class  CVTermList
 Representation of controlled vocabulary term list. More...
 
class  CVTermListInterface
 Interface to the controlled vocabulary term list. More...
 
class  DataProcessing
 Description of the applied preprocessing steps. More...
 
class  Digestion
 Meta information about digestion of a sample. More...
 
class  DocumentIdentifier
 Manage source document information. More...
 
class  ExperimentalDesign
 Representation of an experimental design in OpenMS. Instances can be loaded with the ExperimentalDesignFile class. More...
 
class  ExperimentalSettings
 Description of the experimental settings. More...
 
class  Gradient
 Representation of a HPLC gradient. More...
 
class  HPLC
 Representation of a HPLC experiment. More...
 
class  Identification
 Represents a object which can store the information of an analysisXML instance. More...
 
class  IdentificationHit
 Represents a object which can store the information of an analysisXML instance. More...
 
class  Instrument
 Description of a MS instrument. More...
 
class  InstrumentSettings
 Description of the settings a MS Instrument was run with. More...
 
class  IonDetector
 Description of a ion detector (part of a MS Instrument) More...
 
class  IonSource
 Description of an ion source (part of a MS Instrument) More...
 
class  MassAnalyzer
 Description of a mass analyzer (part of a MS Instrument) More...
 
class  MetaInfo
 A Type-Name-Value tuple class. More...
 
class  MetaInfoDescription
 Description of the meta data arrays of MSSpectrum. More...
 
class  MetaInfoInterface
 Interface for classes that can store arbitrary meta information (Type-Name-Value tuples). More...
 
class  MetaInfoRegistry
 Registry which assigns unique integer indices to strings. More...
 
class  Modification
 Meta information about chemical modification of a sample. More...
 
class  PeptideEvidence
 Representation of a peptide evidence. More...
 
class  PeptideHit
 Representation of a peptide hit. More...
 
class  PeptideIdentification
 Represents the peptide hits for a spectrum. More...
 
class  Precursor
 Precursor meta information. More...
 
class  Product
 Product meta information. More...
 
class  ProteinHit
 Representation of a protein hit. More...
 
class  ProteinIdentification
 Representation of a protein identification run. More...
 
class  Sample
 Meta information about the sample. More...
 
class  SampleTreatment
 Base class for sample treatments (Digestion, Modification, Tagging, ...) More...
 
struct  ScanWindow
 Scan window description. More...
 
class  Software
 Description of the software used for processing. More...
 
class  SourceFile
 Description of a file location, used to store the origin of (meta) data. More...
 
class  SpectrumIdentification
 Represents a object which can store the information of an analysisXML instance. More...
 
class  SpectrumSettings
 Representation of 1D spectrum settings. More...
 
class  Tagging
 Meta information about tagging of a sample e.g. ICAT labeling. More...
 
class  MQEvidence
 Builds a MaxQuant Evidence.txt. More...
 
class  MQExporterHelper
 Helper class for common functions and NON trivial values needed for exporting MaxQuant outputs. More...
 
class  MQMsms
 Builds a MaxQuant msms.txt. More...
 

Functions

template<typename ContainerType , typename PredicateType >
static void removeFromSetIf_ (ContainerType &container, PredicateType predicate)
 Representation of spectrum identification results and associated data. More...
 

Detailed Description

Classes that capture meta data about a MS or HPLC-MS experiment.

The top-level classes are OpenMS::ExperimentalSettings and OpenMS::SpectrumSettings .

Function Documentation

◆ removeFromSetIf_()

static void OpenMS::removeFromSetIf_ ( ContainerType &  container,
PredicateType  predicate 
)
static

Representation of spectrum identification results and associated data.

This class provides capabilities for storing spectrum identification results from different types of experiments/molecules (proteomics: peptides/proteins, metabolomics: small molecules, "nucleomics": RNA).

The class design has the following goals:

  • Provide one structure for storing all relevant data for spectrum identification results.
  • Store data non-redundantly.
  • Ensure consistency (e.g. no conflicting information; no "dangling references").
  • Allow convenient and efficient querying.
  • Support different types of experiments, as mentioned above, in one common framework.

The following important subordinate classes are provided to represent different types of data:

Class Represents Key Proteomics example Corresponding legacy class
ProcessingStep Information about a data processing step that was applied (e.g. input files, software used, parameters) Combined information Mascot search ProteinIdentification
Observation A search query (with identifier, RT, m/z) from an input file, i.e. an MS2 spectrum or feature (for accurate mass search) File/Identifier MS2 spectrum PeptideIdentification
ParentSequence An entry in a FASTA file with associated information (sequence, coverage, etc.) Accession Protein ProteinHit
IdentifiedPeptide/-Oligo/-Compound An identified molecule of the respective type Sequence (or identifier for a compound) Peptide PeptideHit
ObservationMatch A match between a query (Observation), identified molecule (Identified...), and optionally adduct Combination of query/molecule/adduct references Peptide-spectrum match (PSM) PeptideIdentification/PeptideHit

To populate an IdentificationData instance with data, "register..." functions are used. These functions return "references" (implemented as iterators) that can be used to refer to stored data items and thus form connections. For example, a protein can be stored using registerParentSequence, which returns a corresponding reference. This reference can be used to build an IdentifiedPeptide object that references the protein. An identified peptide referencing a protein can only be registered if that protein has been registered already, to ensure data consistency. Given the identified peptide, information about the associated protein can be retrieved efficiently by simply dereferencing the reference.

To ensure non-redundancy, many data types have a "key" (see table above) to which a uniqueness constraint applies. This means only one item of such a type with a given key can be stored in an IdentificationData object. If items with an existing key are registered subsequently, attempts are made to merge new information (e.g. additional scores) into the existing entry. The details of this merging are handled in the merge function in each data class.

Warning
This class is not thread-safe while being modified. Remove elements from a set (or ordered multi_index_container) if they fulfill a predicate (TODO: deprecate and use std::erase_if with C++20 adoption)

Referenced by IdentificationData::removeObservationMatchesIf(), and IdentificationData::removeParentSequencesIf().