Open Babel: OBResidue Class Reference

Public Member Functions | Static Public Member Functions | Protected Attributes

# OBResidue Class Reference

Residue information. More...

`#include <openbabel/residue.h>`

Inheritance diagram for OBResidue:

List of all members.

## Public Member Functions
| OBResidue (void)
| OBResidue (const OBResidue &)
virtual | ~OBResidue (void)
OBResidue & | operator= (const OBResidue &)
void | AddAtom (OBAtom *atom)
void | InsertAtom (OBAtom *atom)
void | RemoveAtom (OBAtom *atom)
bool | Clear ()
void | SetName (const std::string &resname)
void | SetNum (const unsigned int resnum)
void | SetNum (const std::string resnum)
void | SetChain (const char chain)
void | SetChainNum (const unsigned int chainnum)
void | SetIdx (const unsigned int idx)
void | SetAtomID (OBAtom *atom, const std::string &id)
void | SetHetAtom (OBAtom *atom, bool hetatm)
void | SetSerialNum (OBAtom *atom, unsigned int sernum)
std::string | GetName (void) const
unsigned int | GetNum (void)
std::string | GetNumString (void)
unsigned int | GetNumAtoms () const
char | GetChain (void) const
unsigned int | GetChainNum (void) const
unsigned int | GetIdx (void) const
unsigned int | GetResKey (void) const
std::vector< OBAtom * > | GetAtoms (void) const
std::vector< OBBond * > | GetBonds (bool exterior=true) const
std::string | GetAtomID (OBAtom *atom) const
unsigned | GetSerialNum (OBAtom *atom) const
bool | GetAminoAcidProperty (int) const
bool | GetAtomProperty (OBAtom *a, int) const
bool | GetResidueProperty (int) const
bool | IsHetAtom (OBAtom *atom) const
bool | IsResidueType (int) const
virtual OBBase * | DoTransformations (const std::map< std::string, std::string > *, OBConversion *)
template<class T >
T * | CastAndClear (bool clear=true)
virtual const char * | GetTitle (bool replaceNewlines=true) const
virtual void | SetTitle (const char *)
Iterator methods
OBAtomIterator | BeginAtoms ()
OBAtomIterator | EndAtoms ()
OBAtom * | BeginAtom (std::vector< OBAtom * >::iterator &i)
OBAtom * | NextAtom (std::vector< OBAtom * >::iterator &i)
Generic data handling methods (via OBGenericData)
bool | HasData (const std::string &)
bool | HasData (const char *)
bool | HasData (const unsigned int type)
void | DeleteData (unsigned int type)
void | DeleteData (OBGenericData *)
void | DeleteData (std::vector< OBGenericData * > &)
bool | DeleteData (const std::string &s)
void | SetData (OBGenericData *d)
void | CloneData (OBGenericData *d)
size_t | DataSize () const
OBGenericData * | GetData (const unsigned int type)
OBGenericData * | GetData (const std::string &)
OBGenericData * | GetData (const char *)
std::vector< OBGenericData * > & | GetData ()
std::vector< OBGenericData * > | GetData (DataOrigin source)
std::vector< OBGenericData * > | GetAllData (const unsigned int type)
OBDataIterator | BeginData ()
OBDataIterator | EndData ()
## Static Public Member Functions
static const char * | ClassDescription ()
## Protected Attributes
unsigned int | _idx
char | _chain
unsigned int | _aakey
unsigned int | _reskey
std::string | _resnum
std::string | _resname
std::vector< bool > | _hetatm
std::vector< std::string > | _atomid
std::vector< OBAtom * > | _atoms
std::vector< unsigned int > | _sernum
std::vector< OBGenericData * > | _vdata

## Detailed Description

Residue information.

The residue information is drawn from PDB or MOL2 files (or similar), which track biomolecule information, and are stored in the OBResidue class. OBResidues are stored inside the OBAtom class and OBMol classes. The residue information for an atom can be requested in the following way:

          OBAtom *atom;
          OBResidue *r;
          atom = mol.GetAtom(1);
          r = atom->GetResidue();

The residue information for a molecule can be manipulated too:

          cout << "This molecule has " << mol.NumResidues() << " residues." << endl;
          OBResidue *r;
          r = mol.GetResidue(1);

## Constructor & Destructor Documentation

OBResidue | ( | void | ) |

Constructor.

OBResidue | ( | const OBResidue & | src ) |

Copy constructor.

~OBResidue | ( | void | ) | `[virtual]`

Destructor.

## Member Function Documentation

OBResidue & operator= | ( | const OBResidue & | src ) |

void AddAtom | ( | OBAtom * | atom ) |

Add `atom` to this residue. Updates the atom via OBAtom::SetResidue()

Referenced by OBMol::AddHydrogens(), OBResidue::InsertAtom(), and OBMol::operator=().

void InsertAtom | ( | OBAtom * | atom ) |

Add `atom` to this residue. Updates the atom via OBAtom::SetResidue()

void RemoveAtom | ( | OBAtom * | atom ) |

Remove `atom` from this residue and update the atom.

bool Clear | ( | void | ) | `[virtual]`

Clear any and all data associated with this residue. Updates all atoms included in the residue, as well as calling OBBase::Clear() for any generic data.

Returns:
  Whether the call was successful.

Reimplemented from OBBase.

void SetName | ( | const std::string & | resname ) |

Set the name of this residue (e.g., "ALA"). Use 3-char PDB standard names. http://www.rcsb.org/pdb/file_formats/pdb/pdbguide2.2/part_79.html MODRES records for modified residues: http://www.rcsb.org/pdb/file_formats/pdb/pdbguide2.2/part_36.html.

Referenced by OBMol::operator=().

void SetNum | ( | const unsigned int | resnum ) |

Set the residue number (in the sequence)

Referenced by OBMol::operator=().

void SetNum | ( | const std::string | resnum ) |

void SetChain | ( | const char | chain ) |

Set the chain ID for this residue.

Referenced by OBMol::operator=().

void SetChainNum | ( | const unsigned int | chainnum ) |

Set the chain number for this residue.

Referenced by OBMol::operator=().

void SetIdx | ( | const unsigned int | idx ) |

Set the internal index of this residue in the parent OBMol. Intended mostly for internal use

Referenced by OBMol::AddResidue(), and OBMol::NewResidue().

void SetAtomID | ( | OBAtom * | atom,
|  | const std::string & | id
| ) |  |

Set the character code ID for an ATOM record for the supplied atom This does nothing if the supplied atom is not found in the residue

Referenced by OBMol::AddHydrogens(), and OBMol::operator=().

void SetHetAtom | ( | OBAtom * | atom,
|  | bool | hetatm
| ) |  |

Referenced by OBMol::operator=().

void SetSerialNum | ( | OBAtom * | atom,
|  | unsigned int | sernum
| ) |  |

Set the atomic serial number for a given atom (see OBSerialNums)

Referenced by OBMol::operator=().

string GetName | ( | void | ) | const

Returns:
  The residue name

Referenced by OBResidueData::AssignBonds(), and OBMol::operator=().

unsigned int GetNum | ( | void | ) |

Returns:
  The residue number (in the sequence)

std::string GetNumString | ( | void | ) |

Referenced by OBResidueData::AssignBonds(), and OBMol::operator=().

unsigned int GetNumAtoms | ( | void | ) | const

Returns:
  The number of atoms in this residue

char GetChain | ( | void | ) | const

Returns:
  The ID of the chain which includes this residue

Referenced by OBResidueData::AssignBonds(), and OBMol::operator=().

unsigned int GetChainNum | ( | void | ) | const

Returns:
  The number of the chain which includes this residue

Referenced by OBMol::operator=().

unsigned int GetIdx | ( | void | ) | const

Returns:
  The internal index of this residue in the parent OBMol

Referenced by OBMol::DeleteResidue().

unsigned int GetResKey | ( | void | ) | const

Returns:
  The residue key (i.e., an entry in the OBResidueIndex namespace)

vector< OBAtom * > GetAtoms | ( | void | ) | const

Returns:
  a vector of all atoms in this residue

vector< OBBond * > GetBonds | ( | bool | exterior = `true` ) | const

Returns:
  all bonds in this residue. `exterior` includes bonds to atoms outside this residue (default is true)

string GetAtomID | ( | OBAtom * | atom ) | const

Returns:
  the atom ID (character code) for the supplied atom or "" if the atom is not found in this residue

Referenced by OBResidueData::AssignBonds(), OBResidue::GetAtomProperty(), and OBMol::operator=().

unsigned int GetSerialNum | ( | OBAtom * | atom ) | const

Returns:
  the serial number of the supplied atom (uses OBSerialNums)

Referenced by OBMol::operator=().

bool GetAminoAcidProperty | ( | int | property ) | const

Returns:
  Whether this residue has the supplied amino acid property defined from the OBAminoAcidProperty namespace

bool GetAtomProperty | ( | OBAtom * | a,
|  | int | property
| ) |  | const

Returns:
  Whether atom `a` has the supplied residue atom property defined from the OBResidueAtomProperty namespace

bool GetResidueProperty | ( | int | property ) | const

Returns:
  Whether this residue has the supplied property defined from the OBResidueProperty namespace

Referenced by OBResidue::GetAtomProperty().

bool IsHetAtom | ( | OBAtom * | atom ) | const

Returns:
  If the given atom is a HETATM record

Referenced by OBResidue::GetAtomProperty(), and OBMol::operator=().

bool IsResidueType | ( | int | restype ) | const

Returns:
  If this residue matches the supplied `restype` Set by SetResidueKeys()

OBAtomIterator BeginAtoms | ( | ) | `[inline]`

Returns:
  An iterator to the beginning of the atom list in this residue

OBAtomIterator EndAtoms | ( | ) | `[inline]`

Returns:
  An iterator to the end of the atom list in this residue

OBAtom * BeginAtom | ( | std::vector< OBAtom * >::iterator & | i ) |

Set the iterator `i` to the beginning of the atom list in this residue

Returns:
  The first atom (or NULL if none exist)

Referenced by OBMol::operator=().

OBAtom * NextAtom | ( | std::vector< OBAtom * >::iterator & | i ) |

Increment the iterator `i`

Returns:
  The next atom (or NULL if none exist)

Referenced by OBResidueAtomIter::operator++(), and OBMol::operator=().

virtual OBBase* DoTransformations | ( | const std::map< std::string, std::string > * | ,
|  | OBConversion * |
| ) |  | `[inline, virtual, inherited]`

Perform a set of transformations specified by the user

Typically these are program options to filter or modify an object For example, see OBMol::DoTransformations() and OBMol::ClassDescription() Base type does nothing

Reimplemented in OBMol.

static const char* ClassDescription | ( | ) | `[inline, static, inherited]`

Returns:
  A list of descriptions of command-line options for DoTransformations()

Reimplemented in OBMol, and OBReaction.

T* CastAndClear | ( | bool | clear = `true` ) | `[inline, inherited]`

By default clears the object. Called from ReadMolecule of most format classes.

virtual const char* GetTitle | ( | bool | replaceNewlines = `true` ) | const`[inline, virtual, inherited]`

Base type does nothing Made virtual around r3535 to simplify code which passes around OBBase*.

Reimplemented in OBMol.

Referenced by OBMoleculeFormat::DoOutputOptions().

virtual void SetTitle | ( | const char * | ) | `[inline, virtual, inherited]`

Reimplemented in OBMol.

Referenced by OBMoleculeFormat::DoOutputOptions().

bool HasData | ( | const std::string & | s ) | `[inherited]`

Returns:
  whether the generic attribute/value pair exists

Referenced by OBDepict::DrawMolecule(), OBForceField::GetAtomTypes(), OBForceField::GetConformers(), OBForceField::GetCoordinates(), OBMol::GetEnergies(), OBMol::GetEnergy(), OBForceField::GetPartialCharges(), OBDescriptor::MatchPairData(), OBMol::operator=(), and OBMol::SetEnergies().

bool HasData | ( | const char * | s ) | `[inherited]`

Returns:
  whether the generic attribute/value pair exists

bool HasData | ( | const unsigned int | type ) | `[inherited]`

Returns:
  whether the generic attribute/value pair exists, for a given OBGenericDataType

void DeleteData | ( | unsigned int | type ) | `[inherited]`

Delete any data matching the given OBGenericDataType.

Referenced by OpenBabel::CanonicalLabels(), OBDescriptor::DeleteProperties(), and OBMol::RenumberAtoms().

void DeleteData | ( | OBGenericData * | gd ) | `[inherited]`

Delete the given generic data from this object.

void DeleteData | ( | std::vector< OBGenericData * > & | vg ) | `[inherited]`

Delete all of the given generic data from this object.

bool DeleteData | ( | const std::string & | s ) | `[inherited]`

Deletes the generic data with the specified attribute, returning false if not found.

void SetData | ( | OBGenericData * | d ) | `[inline, inherited]`

Adds a data object; does nothing if d==NULL.

Referenced by OBGastChrg::AssignPartialCharges(), OpenBabel::CalcSignedVolume(), OBForceField::GetAtomTypes(), OBForceField::GetConformers(), OBForceField::GetCoordinates(), OBMol::GetEnergies(), OBMol::GetEnergy(), OBMol::GetNextFragment(), OBForceField::GetPartialCharges(), OBMoleculeFormat::MakeCombinedMolecule(), OBDescriptor::PredictAndSave(), and OBMol::SetEnergies().

void CloneData | ( | OBGenericData * | d ) | `[inherited]`

Adds a copy of a data object; does nothing if d == NULL

Since:
  version 2.2

size_t DataSize | ( | ) | const`[inline, inherited]`

Returns:
  the number of OBGenericData items attached to this molecule.

OBGenericData * GetData | ( | const unsigned int | type ) | `[inherited]`

Returns:
  the first matching data for a given type from OBGenericDataType or NULL if nothing matches

Referenced by OpenBabel::CalcSignedVolume(), OpenBabel::CorrectChirality(), OBDepict::DrawMolecule(), OBDescriptor::FilterCompare(), OpenBabel::GetAtomSymClass(), OBForceField::GetAtomTypes(), OBForceField::GetConformers(), OBForceField::GetCoordinates(), OBMol::GetNextFragment(), OBForceField::GetPartialCharges(), OBDescriptor::GetValues(), OBMoleculeFormat::MakeCombinedMolecule(), OBMolAngleIter::OBMolAngleIter(), OBMolRingIter::OBMolRingIter(), OBMolTorsionIter::OBMolTorsionIter(), OBMol::operator=(), and OBDescriptor::PredictAndSave().

OBGenericData * GetData | ( | const std::string & | s ) | `[inherited]`

Returns:
  any data matching the given attribute name or NULL if nothing matches
  the value given an attribute name

OBGenericData * GetData | ( | const char * | s ) | `[inherited]`

Returns:
  any data matching the given attribute name or NULL if nothing matches
  the value given an attribute name

std::vector<OBGenericData*>& GetData | ( | ) | `[inline, inherited]`

Returns:
  all data, suitable for iterating

Referenced by OBMol::GetEnergies(), OBMol::GetEnergy(), and OBMol::SetEnergies().

std::vector< OBGenericData * > GetData | ( | DataOrigin | source ) | `[inherited]`

Returns:
  all data with a specific origin, suitable for iterating

std::vector< OBGenericData * > GetAllData | ( | const unsigned int | type ) | `[inherited]`

Returns:
  the all matching data for a given type from OBGenericDataType or an empty vector if nothing matches

Since:
  version 2.2

Referenced by OpenBabel::CanonicalLabels(), OBBuilder::CorrectStereoAtoms(), and OBBuilder::CorrectStereoBonds().

OBDataIterator BeginData | ( | ) | `[inline, inherited]`

Returns:
  An iterator pointing to the beginning of the data

Referenced by OBAtom::Duplicate(), OBMoleculeFormat::MakeCombinedMolecule(), and OBMol::operator=().

OBDataIterator EndData | ( | ) | `[inline, inherited]`

Returns:
  An iterator pointing to the end of the data

Referenced by OBAtom::Duplicate(), OBMoleculeFormat::MakeCombinedMolecule(), and OBMol::operator=().

## Member Data Documentation

unsigned int _idx`[protected]`

Residue index (i.e., internal index in an OBMol)

Referenced by OBResidue::Clear(), OBResidue::GetIdx(), and OBResidue::SetIdx().

char _chain`[protected]`

Chain ID.

Referenced by OBResidue::Clear(), OBResidue::GetChain(), OBResidue::GetChainNum(), OBResidue::OBResidue(), OBResidue::operator=(), OBResidue::SetChain(), and OBResidue::SetChainNum().

unsigned int _aakey`[protected]`

Amino Acid key ID -- see SetResidueKeys()

Referenced by OBResidue::Clear(), OBResidue::GetAminoAcidProperty(), OBResidue::OBResidue(), OBResidue::operator=(), and OBResidue::SetName().

unsigned int _reskey`[protected]`

Residue key ID -- see SetResidueKeys()

Referenced by OBResidue::Clear(), OBResidue::GetResidueProperty(), OBResidue::GetResKey(), OBResidue::IsResidueType(), OBResidue::OBResidue(), OBResidue::operator=(), and OBResidue::SetName().

std::string _resnum`[protected]`

Residue number (i.e., in file) 23, 1B, etc.

Referenced by OBResidue::Clear(), OBResidue::GetNum(), OBResidue::GetNumString(), OBResidue::OBResidue(), OBResidue::operator=(), and OBResidue::SetNum().

std::string _resname`[protected]`

Residue text name.

Referenced by OBResidue::Clear(), OBResidue::GetName(), OBResidue::OBResidue(), OBResidue::operator=(), and OBResidue::SetName().

std::vector<bool> _hetatm`[protected]`

Is a given atom a HETAM.

Referenced by OBResidue::AddAtom(), OBResidue::Clear(), OBResidue::IsHetAtom(), OBResidue::OBResidue(), OBResidue::operator=(), OBResidue::RemoveAtom(), and OBResidue::SetHetAtom().

std::vector<std::string> _atomid`[protected]`

Residue atom text IDs.

Referenced by OBResidue::AddAtom(), OBResidue::Clear(), OBResidue::GetAtomID(), OBResidue::OBResidue(), OBResidue::operator=(), OBResidue::RemoveAtom(), and OBResidue::SetAtomID().

std::vector<OBAtom*> _atoms`[protected]`

List of OBAtom in this residue.

Referenced by OBResidue::AddAtom(), OBResidue::BeginAtom(), OBResidue::Clear(), OBResidue::GetAtomID(), OBResidue::GetAtoms(), OBResidue::GetBonds(), OBResidue::GetNumAtoms(), OBResidue::GetSerialNum(), OBResidue::IsHetAtom(), OBResidue::NextAtom(), OBResidue::RemoveAtom(), OBResidue::SetAtomID(), OBResidue::SetHetAtom(), OBResidue::SetSerialNum(), and OBResidue::~OBResidue().

std::vector<unsigned int> _sernum`[protected]`

List of serial numbers.

Referenced by OBResidue::AddAtom(), OBResidue::Clear(), OBResidue::GetSerialNum(), OBResidue::OBResidue(), OBResidue::operator=(), OBResidue::RemoveAtom(), and OBResidue::SetSerialNum().

std::vector<OBGenericData*> _vdata`[protected, inherited]`

Custom data.

Referenced by OBMol::OBMol().

The documentation for this class was generated from the following files:

- residue.h
- residue.cpp

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines