BALL
1.4.79
|
#include <BALL/NMR/HBondShiftProcessor.h>
Public Member Functions | |
Constructors and Destructors | |
HBondShiftProcessor () | |
HBondShiftProcessor (const HBondShiftProcessor &processor) | |
virtual | ~HBondShiftProcessor () |
Accessors | |
virtual void | init () |
Processor specific funtions. | |
virtual bool | start () |
virtual Processor::Result | operator() (Composite &composite) |
virtual bool | finish () |
Public Member Functions inherited from BALL::ShiftModule | |
ShiftModule () | |
ShiftModule (Parameters ¶meters, const String &name="") | |
ShiftModule (const ShiftModule &module) | |
virtual | ~ShiftModule () |
virtual void | clear () |
const ShiftModule & | operator= (const ShiftModule &module) |
void | setName (const String &name) |
const String & | getName () const |
void | setParameters (Parameters ¶meters) |
const Parameters * | getParameters () const |
bool | isValid () const |
Public Member Functions inherited from BALL::UnaryProcessor< Composite > | |
UnaryProcessor () | |
UnaryProcessor (const UnaryProcessor &) | |
virtual | ~UnaryProcessor () |
Static Public Attributes | |
Enums and Constants | |
static const char * | PROPERTY__HBOND_SHIFT |
Static Public Attributes inherited from BALL::ShiftModule | |
static const char * | PROPERTY__SHIFT |
static const char * | PROPERTY__EXPERIMENTAL__SHIFT |
Protected Attributes | |
std::vector< String > | acceptor_types_ |
std::vector< Atom * > | donors_ |
std::vector< Atom * > | acceptors_ |
bool | amide_protons_are_targets_ |
float | amide_proton_factor_ |
float | amide_proton_subtrahend_ |
float | amide_proton_oxygen_hydrogen_separation_distance_ |
float | alpha_proton_oxygen_hydrogen_separation_distance_ |
bool | exclude_selfinteraction_ |
bool | ShiftXwise_hydrogen_bonds_computation_ |
Protected Attributes inherited from BALL::ShiftModule | |
String | module_name_ |
Parameters * | parameters_ |
bool | valid_ |
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 |
Shift assignment processor implementing the effect of hydrogen bonds.
Definition at line 37 of file HBondShiftProcessor.h.
BALL::HBondShiftProcessor::HBondShiftProcessor | ( | ) |
Default constructor.
BALL::HBondShiftProcessor::HBondShiftProcessor | ( | const HBondShiftProcessor & | processor | ) |
Copy constructor.
|
virtual |
Destructor.
|
virtual |
Finish method. This method performs the chemical shift calculation as specified in the SHIFTX.ini - file read in the init() method. According to $var ShiftXwise_hydrogen_bonds_computation_ $ we temporarily compute hydrogenbonds in an ShiftX like manner or we assume the hydrogen bonds already be set.
The ShiftX definition of hydrogen bonds is:
Having applied these rules to each donor--acceptor pair, we sort the list of possible bonds by the O_H separation distance, shortest to longest. The list is then processed so that only the single strongest hydrogen bond is identified for each donor--acceptor pair. Up to that point any bond involving the same donor or acceptor is preculded!
The chemical shift is added to the {acceptor} atom using the named property ShiftModule::PROPERTY__SHIFT and stored in the named property PROPERTY__HBOND_SHIFT .
invalid
Reimplemented from BALL::ShiftModule.
|
virtual |
Initialization method. This method reads the parameter section "HBondEffect" and parses its content. This section contains the parameters used to calculate the contribution of a hydrogen bond to the chemical shift of alpha protons and amide protons.
In addition, this section contains the definition of the Hbond effector types, which are stored in the vector { /tt acceptor_types_}.
The formular for amid protons is given as
amide_proton_factor_
shift = -------------------— - amide_proton_subtrahend_, r^3
the formular for alpha protons is given as
0.147521 (1.65458E-05) 0.000134668 0.0598561 15.6855
shift = ----— - ----------— - ----------— + --------— + -----— - 0.673905 . r r^1.5 r*r r^2.5 r^3
The section contains the following flags:
Right now, it is assumed that the hydrogen bonds were already set via for example the HBondProcessor
.
Reimplemented from BALL::ShiftModule.
|
virtual |
operator (). This method adds all acceptors () specified in the vector acceptor_types_
to acceptors_
and all donors to donors_
vector.
Reimplemented from BALL::UnaryProcessor< Composite >.
|
virtual |
Processor start method. Clears the donor and acceptor lists.
Reimplemented from BALL::ShiftModule.
|
protected |
Definition at line 173 of file HBondShiftProcessor.h.
|
protected |
Definition at line 181 of file HBondShiftProcessor.h.
|
protected |
Definition at line 201 of file HBondShiftProcessor.h.
|
protected |
Definition at line 189 of file HBondShiftProcessor.h.
|
protected |
Definition at line 197 of file HBondShiftProcessor.h.
|
protected |
Definition at line 193 of file HBondShiftProcessor.h.
|
protected |
Definition at line 185 of file HBondShiftProcessor.h.
|
protected |
Definition at line 177 of file HBondShiftProcessor.h.
|
protected |
Definition at line 206 of file HBondShiftProcessor.h.
|
static |
Definition at line 47 of file HBondShiftProcessor.h.
|
protected |
Definition at line 218 of file HBondShiftProcessor.h.