|
| IdentificationData () |
| Default constructor. More...
|
|
| IdentificationData (const IdentificationData &other)=delete |
|
| IdentificationData (IdentificationData &&other) |
| Move constructor. More...
|
|
InputFileRef | registerInputFile (const String &file) |
| Register an input file. More...
|
|
ProcessingSoftwareRef | registerDataProcessingSoftware (const DataProcessingSoftware &software) |
| Register data processing software. More...
|
|
SearchParamRef | registerDBSearchParam (const DBSearchParam ¶m) |
| Register database search parameters. More...
|
|
ProcessingStepRef | registerDataProcessingStep (const DataProcessingStep &step) |
| Register a data processing step. More...
|
|
ProcessingStepRef | registerDataProcessingStep (const DataProcessingStep &step, SearchParamRef search_ref) |
| Register a database search step with associated parameters. More...
|
|
ScoreTypeRef | registerScoreType (const ScoreType &score) |
| Register a score type. More...
|
|
DataQueryRef | registerDataQuery (const DataQuery &query) |
| Register a data query (e.g. MS2 spectrum or feature) More...
|
|
ParentMoleculeRef | registerParentMolecule (const ParentMolecule &parent) |
| Register a parent molecule (e.g. protein or intact RNA) More...
|
|
void | registerParentMoleculeGrouping (const ParentMoleculeGrouping &grouping) |
| Register a grouping of parent molecules (e.g. protein inference result) More...
|
|
IdentifiedPeptideRef | registerIdentifiedPeptide (const IdentifiedPeptide &peptide) |
| Register an identified peptide. More...
|
|
IdentifiedCompoundRef | registerIdentifiedCompound (const IdentifiedCompound &compound) |
| Register an identified compound (small molecule) More...
|
|
IdentifiedOligoRef | registerIdentifiedOligo (const IdentifiedOligo &oligo) |
| Register an identified RNA oligonucleotide. More...
|
|
QueryMatchRef | registerMoleculeQueryMatch (const MoleculeQueryMatch &match) |
| Register a molecule-query match (e.g. peptide-spectrum match) More...
|
|
MatchGroupRef | registerQueryMatchGroup (const QueryMatchGroup &group) |
| Register a group of associated molecule-query matches. More...
|
|
const InputFiles & | getInputFiles () const |
| Return the registered input files (immutable) More...
|
|
const DataProcessingSoftwares & | getDataProcessingSoftwares () const |
| Return the registered data processing software (immutable) More...
|
|
const DataProcessingSteps & | getDataProcessingSteps () const |
| Return the registered data processing steps (immutable) More...
|
|
const DBSearchParams & | getDBSearchParams () const |
| Return the registered database search parameters (immutable) More...
|
|
const DBSearchSteps & | getDBSearchSteps () const |
| Return the registered database search steps (immutable) More...
|
|
const ScoreTypes & | getScoreTypes () const |
| Return the registered score types (immutable) More...
|
|
const DataQueries & | getDataQueries () const |
| Return the registered data queries (immutable) More...
|
|
const ParentMolecules & | getParentMolecules () const |
| Return the registered parent molecules (immutable) More...
|
|
const ParentMoleculeGroupings & | getParentMoleculeGroupings () const |
| Return the registered parent molecule groupings (immutable) More...
|
|
const IdentifiedPeptides & | getIdentifiedPeptides () const |
| Return the registered identified peptides (immutable) More...
|
|
const IdentifiedCompounds & | getIdentifiedCompounds () const |
| Return the registered compounds (immutable) More...
|
|
const IdentifiedOligos & | getIdentifiedOligos () const |
| Return the registered identified oligonucleotides (immutable) More...
|
|
const MoleculeQueryMatches & | getMoleculeQueryMatches () const |
| Return the registered molecule-query matches (immutable) More...
|
|
const QueryMatchGroups & | getQueryMatchGroups () const |
| Return the registered groups of molecule-query matches (immutable) More...
|
|
void | addScore (QueryMatchRef match_ref, ScoreTypeRef score_ref, double value) |
| Add a score to a molecule-query match (e.g. PSM) More...
|
|
void | setCurrentProcessingStep (ProcessingStepRef step_ref) |
| Set a data processing step that will apply to all subsequent "register..." calls. More...
|
|
ProcessingStepRef | getCurrentProcessingStep () |
|
void | clearCurrentProcessingStep () |
| Cancel the effect of setCurrentProcessingStep(). More...
|
|
std::vector< QueryMatchRef > | getBestMatchPerQuery (ScoreTypeRef score_ref) const |
| Return the best match for each data query, according to a given score type. More...
|
|
std::pair< ScoreTypeRef, bool > | findScoreType (const String &score_name) const |
| Look up a score type by name. More...
|
|
void | calculateCoverages (bool check_molecule_length=false) |
| Calculate sequence coverage of parent molecules. More...
|
|
void | cleanup (bool require_query_match=true, bool require_identified_sequence=true, bool require_parent_match=true, bool require_parent_group=false, bool require_match_group=false) |
| Clean up the data structure after filtering parts of it. More...
|
|
| MetaInfoInterface () |
| Constructor. More...
|
|
| MetaInfoInterface (const MetaInfoInterface &rhs) |
| Copy constructor. More...
|
|
| MetaInfoInterface (MetaInfoInterface &&) noexcept |
| Move constructor. More...
|
|
| ~MetaInfoInterface () |
| Destructor. More...
|
|
MetaInfoInterface & | operator= (const MetaInfoInterface &rhs) |
| Assignment operator. More...
|
|
MetaInfoInterface & | operator= (MetaInfoInterface &&) noexcept |
| Move assignment operator. More...
|
|
bool | operator== (const MetaInfoInterface &rhs) const |
| Equality operator. More...
|
|
bool | operator!= (const MetaInfoInterface &rhs) const |
| Equality operator. More...
|
|
const DataValue & | getMetaValue (const String &name, const DataValue &default_value=DataValue::EMPTY) const |
| Returns the value corresponding to a string, or a default value (default: DataValue::EMPTY) if not found. More...
|
|
const DataValue & | getMetaValue (UInt index, const DataValue &default_value=DataValue::EMPTY) const |
| Returns the value corresponding to an index, or a default value (default: DataValue::EMPTY) if not found. More...
|
|
bool | metaValueExists (const String &name) const |
| Returns whether an entry with the given name exists. More...
|
|
bool | metaValueExists (UInt index) const |
| Returns whether an entry with the given index exists. More...
|
|
void | setMetaValue (const String &name, const DataValue &value) |
| Sets the DataValue corresponding to a name. More...
|
|
void | setMetaValue (UInt index, const DataValue &value) |
| Sets the DataValue corresponding to an index. More...
|
|
void | removeMetaValue (const String &name) |
| Removes the DataValue corresponding to name if it exists. More...
|
|
void | removeMetaValue (UInt index) |
| Removes the DataValue corresponding to index if it exists. More...
|
|
void | addMetaValues (const MetaInfoInterface &from) |
| function to copy all meta values from one object to this one More...
|
|
void | getKeys (std::vector< String > &keys) const |
| Fills the given vector with a list of all keys for which a value is set. More...
|
|
void | getKeys (std::vector< UInt > &keys) const |
| Fills the given vector with a list of all keys for which a value is set. More...
|
|
bool | isMetaEmpty () const |
| Returns if the MetaInfo is empty. More...
|
|
void | clearMetaInfo () |
| Removes all meta values. More...
|
|
|
template<typename RefType , typename ContainerType > |
static bool | isValidReference_ (RefType ref, ContainerType &container) |
| Check whether a reference points to an element in a container. More...
|
|
template<typename RefType > |
static bool | isValidHashedReference_ (RefType ref, const AddressLookup &lookup) |
| Check validity of a reference based on a look-up table of addresses. More...
|
|
template<typename ContainerType , typename PredicateType > |
static void | removeFromSetIf_ (ContainerType &container, PredicateType predicate) |
| Remove elements from a set (or ordered multi_index_container) if they fulfill a predicate. More...
|
|
template<typename ContainerType > |
static void | removeFromSetIfNotHashed_ (ContainerType &container, const AddressLookup &lookup) |
| Remove elements from a set (or ordered multi_index_container) if they don't occur in a look-up table. More...
|
|
template<typename ContainerType > |
static void | updateAddressLookup_ (const ContainerType &container, AddressLookup &lookup) |
| Recreate the address look-up table for a container. More...
|
|
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 |
DataProcessingStep | Information about a data processing step that was applied (e.g. input files, software used, parameters) | Combined information | Mascot search | ProteinIdentification |
DataQuery | A search query (with identifier, RT, m/z), i.e. an MS2 spectrum or feature (for accurate mass search) | Identifier | MS2 spectrum | PeptideIdentification |
ParentMolecule | 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 |
MoleculeQueryMatch | A match between a query (DataQuery) and identified molecule (Identified...) | Combination of query and molecule 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 registerParentMolecule, 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.