BALL
1.4.79
|
Computation of hydrogen bonds from topology information. More...
#include <BALL/STRUCTURE/HBondProcessor.h>
Classes | |
struct | Default |
Default values for options. More... | |
class | HBond |
struct | Option |
Option names. More... | |
struct | PredictionMethod |
Default values for options. More... | |
struct | ResidueData |
Public Member Functions | |
Processor-related methods | |
virtual void | init () |
virtual bool | start () |
virtual Processor::Result | operator() (Composite &composite) |
in case of Kabsch Sander: determines per residue the N, O, C , More... | |
virtual bool | finish () |
Finish computes all hbonds of the composite according. More... | |
Access methods | |
const std::vector< HBond > & | getHBonds () const |
std::vector< HBond > | getHBonds () |
BALL_DEPRECATED const std::vector< std::vector < Position > > & | getBackboneHBondPairs () const |
const std::vector< std::vector < Position > > & | getBackboneHBondPattern () const |
computes the HBond pattern as needed, e.g. by the SecondaryStructureProcessor More... | |
const std::vector< ResidueData > & | getResidueData () const |
Public Member Functions inherited from BALL::UnaryProcessor< Composite > | |
UnaryProcessor () | |
UnaryProcessor (const UnaryProcessor &) | |
virtual | ~UnaryProcessor () |
Protected Member Functions | |
void | preComputeBonds_ (ResidueIterator &data) |
bool | finishKabschSander_ () |
bool | finishWishartEtAl_ () |
Protected Attributes | |
Kabsch Sander related objects | |
Vector3 | upper_ |
Vector3 | lower_ |
std::vector< ResidueData > | residue_data_ |
std::vector< std::vector < Position > > | backbone_h_bond_pairs_ |
Wishart et al related objects | |
std::vector< Atom * > | donors_ |
std::vector< Atom * > | acceptors_ |
std::map< Residue *, Position > | residue_ptr_to_position_ |
objects for both prediciton methods | |
std::vector< HBond > | h_bonds_ |
store HBond More... | |
Constant Definitions | |
static float | MAX_LENGTH |
static float | BOND_LENGTH_N_H |
static float | BOND_LENGTH_C_O |
static float | AMIDE_PROTON_OXYGEN_SEPARATION_DISTANCE |
static float | ALPHA_PROTON_OXYGEN_SEPARATION_DISTANCE |
BALL_CREATE (HBondProcessor) | |
HBondProcessor () | |
Default constructor. More... | |
HBondProcessor (Options &new_options) | |
Detailed constructor. More... | |
virtual | ~HBondProcessor () |
Public Attributes | |
Options | options |
options More... | |
void | setDefaultOptions () |
Additional Inherited Members | |
Public Types inherited from BALL::UnaryFunctor< Composite, Processor::Result > | |
typedef Processor::Result | result_type |
typedef Composite | argument_type |
typedef Composite & | argument_reference |
typedef const Composite & | const_argument_reference |
typedef Composite * | argument_pointer |
typedef const Composite * | const_argument_pointer |
Computation of hydrogen bonds from topology information.
Hydrogen Bond ProcessorThis processor computes hydrogen bonds and introduces for all hydrogen bonds found a BALL::Bond of type BALL::Bond::TYPE__HYDROGEN, if the property ADD_BONDS is set. In all cases, the detected HBonds can be returned by calling getHBonds().
Please note that the properties of the bond are not recomputed automatically if the System changes! Thus, bonds and their properties (angle, length) might become obsolete!
Example code:
The artifical indices of method getBackboneHBondPattern() are created by iterating with the ResidueIterator and assigning ascending numbers starting with zero. NOTE: After finishing the processor, the ResidueIterator may change the arrangement of the sequence thus the return value gets disrupted!!
The HBondProcessor offers two prediction methods: BALL::HBondProcessor::PredictionMethod::KABSCH_SANDER and BALL::HBondProcessor::PredictionMethod::WISHART_ET_AL Default prediction method is BALL::HBondProcessor::PredictionMethod::KABSCH_SANDER.
The BALL::HBondProcessor::PredictionMethod::KABSCH_SANDER computes all backbone hydrogen bonds occuring between amino acids in the composite it is applied to. Here, a hydrogen bond is created between donor and acceptor, e.g., between N and O.
The computation of the bonds follows the criterion given in "Kabsch W & Sander C (1983). Dictionary of protein secondary structure: pattern recognition of hydrogen-bonded and geometrical features. Biopolymers, 22, 2577-2637".
Please note that in the Kabsch Sander approach water is excluded from the computations.
The BALL::HBondProcessor::PredictionMethod::WISHART_ET_AL computes all hydrogen bonds occuring between amid and alpha hydrogens (H/HA) and carbonyl oxygens on the backbone (O) or sidechain oxygens (OD, OE, OG, OH) in the composite it is applied to. Here, a hydrogen bond is created between the hydrogen atom of the donor and the acceptor, e.g., between HA and O.
The computation of the bonds follows the criterion given in " Neal, S., Nip, A. M., Zhang, H., and Wishart, D. S. (2003). Rapid and accurate calculation of protein 1H, 13C and 15N chemical shifts. J Biomol NMR, 26(3):215-240.".
Definition at line 98 of file HBondProcessor.h.
BALL::HBondProcessor::HBondProcessor | ( | ) |
Default constructor.
Constructors and Descructor
BALL::HBondProcessor::HBondProcessor | ( | Options & | new_options | ) |
Detailed constructor.
|
virtual |
BALL::HBondProcessor::BALL_CREATE | ( | HBondProcessor | ) |
|
virtual |
Finish computes all hbonds of the composite according.
Reimplemented from BALL::UnaryProcessor< Composite >.
|
protected |
|
protected |
BALL_DEPRECATED const std::vector< std::vector<Position> >& BALL::HBondProcessor::getBackboneHBondPairs | ( | ) | const |
const std::vector< std::vector<Position> >& BALL::HBondProcessor::getBackboneHBondPattern | ( | ) | const |
computes the HBond pattern as needed, e.g. by the SecondaryStructureProcessor
|
inline |
Definition at line 240 of file HBondProcessor.h.
|
inline |
Definition at line 243 of file HBondProcessor.h.
const std::vector<ResidueData>& BALL::HBondProcessor::getResidueData | ( | ) | const |
|
virtual |
Initialization method.
|
virtual |
in case of Kabsch Sander: determines per residue the N, O, C ,
in case of Wishart et Al: collects the donors (H, HA) and acceptors all kinds of O
Reimplemented from BALL::UnaryProcessor< Composite >.
|
protected |
void BALL::HBondProcessor::setDefaultOptions | ( | ) |
reset the options to default values
|
virtual |
Processor start method.
Reimplemented from BALL::UnaryProcessor< Composite >.
|
protected |
Definition at line 302 of file HBondProcessor.h.
|
static |
Definition at line 179 of file HBondProcessor.h.
|
static |
Definition at line 178 of file HBondProcessor.h.
|
protected |
Definition at line 287 of file HBondProcessor.h.
|
static |
Definition at line 175 of file HBondProcessor.h.
|
static |
Definition at line 174 of file HBondProcessor.h.
|
protected |
Definition at line 298 of file HBondProcessor.h.
|
protected |
store HBond
Definition at line 312 of file HBondProcessor.h.
|
protected |
Definition at line 281 of file HBondProcessor.h.
|
static |
Definition at line 173 of file HBondProcessor.h.
Options BALL::HBondProcessor::options |
options
Definition at line 260 of file HBondProcessor.h.
|
protected |
Definition at line 284 of file HBondProcessor.h.
Definition at line 304 of file HBondProcessor.h.
|
protected |
Definition at line 279 of file HBondProcessor.h.