#include <BALL/NMR/HBondShiftProcessor.h>
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 BALL::HBondShiftProcessor::~HBondShiftProcessor | ( | ) | [virtual] |
Destructor.
virtual bool BALL::HBondShiftProcessor::finish | ( | ) | [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 void BALL::HBondShiftProcessor::init | ( | ) | [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 Processor::Result BALL::HBondShiftProcessor::operator() | ( | Composite & | composite | ) | [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 >.
void BALL::HBondShiftProcessor::postprocessing_ | ( | ) | [private] |
void BALL::HBondShiftProcessor::printEffectors_ | ( | ) | [private] |
void BALL::HBondShiftProcessor::printParameters_ | ( | ) | [private] |
void BALL::HBondShiftProcessor::printTargets_ | ( | ) | [private] |
virtual bool BALL::HBondShiftProcessor::start | ( | ) | [virtual] |
Processor start method. Clears the donor and acceptor lists.
Reimplemented from BALL::ShiftModule.
std::map<Atom*, bool> BALL::HBondShiftProcessor::acceptor_occupied_ [private] |
Definition at line 231 of file HBondShiftProcessor.h.
std::vector<String> BALL::HBondShiftProcessor::acceptor_types_ [protected] |
Definition at line 173 of file HBondShiftProcessor.h.
std::vector<Atom*> BALL::HBondShiftProcessor::acceptors_ [protected] |
Definition at line 181 of file HBondShiftProcessor.h.
Definition at line 201 of file HBondShiftProcessor.h.
float BALL::HBondShiftProcessor::amide_proton_factor_ [protected] |
Definition at line 189 of file HBondShiftProcessor.h.
Definition at line 197 of file HBondShiftProcessor.h.
Definition at line 193 of file HBondShiftProcessor.h.
Definition at line 185 of file HBondShiftProcessor.h.
std::map<Atom*, bool> BALL::HBondShiftProcessor::donor_occupied_ [private] |
Definition at line 230 of file HBondShiftProcessor.h.
std::vector<Atom*> BALL::HBondShiftProcessor::donors_ [protected] |
Definition at line 177 of file HBondShiftProcessor.h.
Definition at line 206 of file HBondShiftProcessor.h.
std::multimap<float, std::pair<Atom*, Atom*> > BALL::HBondShiftProcessor::hbonds_ [private] |
Definition at line 229 of file HBondShiftProcessor.h.
const char* BALL::HBondShiftProcessor::PROPERTY__HBOND_SHIFT [static] |
Definition at line 47 of file HBondShiftProcessor.h.
Definition at line 218 of file HBondShiftProcessor.h.