OpenMS
ResidueDB Class Reference

OpenMS stores a central database of all residues in the ResidueDB. All (unmodified) residues are added to the database on construction. Modified residues get created and added if getModifiedResidue is called. More...

#include <OpenMS/CHEMISTRY/ResidueDB.h>

Collaboration diagram for ResidueDB:
[legend]

Public Member Functions

Constructors and Destructors
virtual ~ResidueDB ()
 destructor More...
 
Accessors
Size getNumberOfResidues () const
 returns the number of residues stored More...
 
Size getNumberOfModifiedResidues () const
 returns the number of modified residues stored More...
 
const ResiduegetResidue (const String &name) const
 returns a pointer to the residue with name, 3 letter code or 1 letter code name More...
 
const ResiduegetResidue (const unsigned char &one_letter_code) const
 returns a pointer to the residue with 1 letter code name More...
 
const ResiduegetModifiedResidue (const String &name)
 Returns a pointer to a modified residue given a modification name. More...
 
const ResiduegetModifiedResidue (const Residue *residue, const String &name)
 Returns a pointer to a modified residue given a residue and a modification name. More...
 
const ResiduegetModifiedResidue (const Residue *residue, const ResidueModification *mod)
 Returns a pointer to a modified residue given a residue and a pointer to a modification from the ModificationsDB. More...
 
const std::set< const Residue * > getResidues (const String &residue_set="All") const
 returns a set of all residues stored in this residue db More...
 
const std::set< StringgetResidueSets () const
 returns all residue sets that are registered which this instance More...
 

Static Public Member Functions

static ResidueDBgetInstance ()
 singleton More...
 

Protected Member Functions

Private Constructors
 ResidueDB ()
 default constructor More...
 
 ResidueDB (const ResidueDB &residue_db)
 copy constructor More...
 

Assignment

std::map< String, std::map< String, const Residue * > > residue_mod_names_
 
std::set< const Residue * > const_residues_
 all (unmodified) residues More...
 
std::set< const Residue * > const_modified_residues_
 all modified residues More...
 
std::set< Stringresidue_sets_
 
std::unordered_map< String, const Residue * > residue_names_
 lookup from name to residue More...
 
std::array< const Residue *, 256 > residue_by_one_letter_code_ = {{nullptr}}
 fast lookup table for residues
More...
 
std::map< String, std::set< const Residue * > > residues_by_set_
 
ResidueDBoperator= (const ResidueDB &aa)=delete
 assignment operator More...
 
void buildResidues_ ()
 
void insertResidueAndAssociateWithResidueSet_ (Residue *residue, const std::vector< String > &residue_sets)
 creates and adds residues to a lookup table including the residue set More...
 
void addResidue_ (Residue *residue)
 add residue and add names to lookup More...
 
void addResidueNames_ (const Residue *)
 adds names of single residue to the index More...
 
void addModifiedResidueNames_ (const Residue *)
 adds names of single modified residue to the index More...
 

Predicates

bool hasResidue (const String &name) const
 returns true if the db contains a residue with the given name More...
 
bool hasResidue (const Residue *residue) const
 returns true if the db contains the residue of the given pointer More...
 
void initResidues_ ()
 initializes all residues by building More...
 

Detailed Description

OpenMS stores a central database of all residues in the ResidueDB. All (unmodified) residues are added to the database on construction. Modified residues get created and added if getModifiedResidue is called.

Constructor & Destructor Documentation

◆ ~ResidueDB()

virtual ~ResidueDB ( )
virtual

destructor

◆ ResidueDB() [1/2]

ResidueDB ( )
protected

default constructor

◆ ResidueDB() [2/2]

ResidueDB ( const ResidueDB residue_db)
protected

copy constructor

Member Function Documentation

◆ addModifiedResidueNames_()

void addModifiedResidueNames_ ( const Residue )
protected

adds names of single modified residue to the index

◆ addResidue_()

void addResidue_ ( Residue residue)
protected

add residue and add names to lookup

◆ addResidueNames_()

void addResidueNames_ ( const Residue )
protected

adds names of single residue to the index

◆ buildResidues_()

void buildResidues_ ( )
protected

◆ getInstance()

static ResidueDB* getInstance ( )
static

singleton

◆ getModifiedResidue() [1/3]

const Residue* getModifiedResidue ( const Residue residue,
const ResidueModification mod 
)

Returns a pointer to a modified residue given a residue and a pointer to a modification from the ModificationsDB.

The modified residue is added to the database if it doesn't exist yet. The origin of the modification has to match the residue and the term has to be ResidueModification::Anywhere.

Exceptions
Exception::IllegalArgumentif the residue was not found

◆ getModifiedResidue() [2/3]

const Residue* getModifiedResidue ( const Residue residue,
const String name 
)

Returns a pointer to a modified residue given a residue and a modification name.

The modified residue is added to the database if it doesn't exist yet.

Exceptions
Exception::IllegalArgumentif the residue was not found
Exception::InvalidValueif no matching modification was found (via ModificationsDB::getModification)

◆ getModifiedResidue() [3/3]

const Residue* getModifiedResidue ( const String name)

Returns a pointer to a modified residue given a modification name.

The "base" residue is looked up in ModificationsDB using the modification name. The modified residue is added to the database if it doesn't exist yet.

◆ getNumberOfModifiedResidues()

Size getNumberOfModifiedResidues ( ) const

returns the number of modified residues stored

◆ getNumberOfResidues()

Size getNumberOfResidues ( ) const

returns the number of residues stored

◆ getResidue() [1/2]

const Residue* getResidue ( const String name) const

returns a pointer to the residue with name, 3 letter code or 1 letter code name

◆ getResidue() [2/2]

const Residue* getResidue ( const unsigned char &  one_letter_code) const

returns a pointer to the residue with 1 letter code name

◆ getResidues()

const std::set<const Residue*> getResidues ( const String residue_set = "All") const

returns a set of all residues stored in this residue db

Following sets are available: All - all residues Natural20 - default 20 naturally occurring residues Natural19WithoutI - default natural amino acids, excluding isoleucine (isobaric to leucine) Natural19WithoutL - default natural amino acids, excluding leucine (isobaric to isoleucine) Natural19J - default natural amino acids, (isobaric leucine/isoleucine are marked by 'J') AmbiguousWithoutX - all amino acids, including ambiguous ones: B (asparagine or aspartate), Z (glutamine or glutamate), J (isoleucine or leucine) Ambiguous - all amino acids including all ambiguous ones (X can be every other amino acid) AllNatural - naturally occurring residues, including selenocysteine (U)

returns an empty set if the specified residue set is not defined

◆ getResidueSets()

const std::set<String> getResidueSets ( ) const

returns all residue sets that are registered which this instance

◆ hasResidue() [1/2]

bool hasResidue ( const Residue residue) const

returns true if the db contains the residue of the given pointer

◆ hasResidue() [2/2]

bool hasResidue ( const String name) const

returns true if the db contains a residue with the given name

◆ initResidues_()

void initResidues_ ( )
protected

initializes all residues by building

◆ insertResidueAndAssociateWithResidueSet_()

void insertResidueAndAssociateWithResidueSet_ ( Residue residue,
const std::vector< String > &  residue_sets 
)
protected

creates and adds residues to a lookup table including the residue set

◆ operator=()

ResidueDB& operator= ( const ResidueDB aa)
protecteddelete

assignment operator

Member Data Documentation

◆ const_modified_residues_

std::set<const Residue*> const_modified_residues_
protected

all modified residues

◆ const_residues_

std::set<const Residue*> const_residues_
protected

all (unmodified) residues

◆ residue_by_one_letter_code_

std::array<const Residue*, 256> residue_by_one_letter_code_ = {{nullptr}}
protected

fast lookup table for residues

◆ residue_mod_names_

std::map<String, std::map<String, const Residue*> > residue_mod_names_
protected

◆ residue_names_

std::unordered_map<String, const Residue*> residue_names_
protected

lookup from name to residue

◆ residue_sets_

std::set<String> residue_sets_
protected

◆ residues_by_set_

std::map<String, std::set<const Residue*> > residues_by_set_
protected