#include <BALL/NMR/empiricalHSShiftProcessor.h>
Classes | |
struct | Default |
Default values for options. More... | |
struct | Option |
Option names. More... | |
class | PropertiesForShift_ |
class | ShiftHyperSurface_ |
Public Member Functions | |
Constructors and Destructors. | |
EmpiricalHSShiftProcessor () throw () | |
virtual | ~EmpiricalHSShiftProcessor () throw () |
Accessors. | |
virtual void | init () throw () |
Processor specific functions. | |
virtual bool | start () throw () |
virtual Processor::Result | operator() (Composite &composite) throw () |
virtual bool | finish () throw () |
Static Public Attributes | |
static const int | VERBOSITY_LEVEL_CRITICAL |
static const int | VERBOSITY_LEVEL_DEBUG |
Enums and Constants. | |
static const char * | PROPERTY__EHS_SHIFT |
Protected Attributes | |
std::vector< PropertiesForShift_ > | targets_ |
vector< String > | target_names_ |
vector< std::set< String > > | target_property_names_ |
vector< std::map< std::pair < String, String >, String > > | property_files_ |
std::map< String, vector < std::pair< String, String > > > | property_pairs_ |
std::map< String, std::map < std::pair< String, String > , EmpiricalHSShiftProcessor::ShiftHyperSurface_ > > | hypersurfaces_ |
bool | exclude_prolins_ |
std::map< String, float > | ssbond_correction_ |
Private Member Functions | |
void | printParameters_ () throw () |
void | printTargets_ () throw () |
void | postprocessing_ () throw () |
Private Attributes | |
int | verbosity_ |
The verbosity of this class as taken from the options. | |
Public Attributes | |
| |
Options | options |
options | |
void | setDefaultOptions () |
Shift assignment processor implementing the empirical hypersurface contribution.
Definition at line 40 of file empiricalHSShiftProcessor.h.
BALL::EmpiricalHSShiftProcessor::EmpiricalHSShiftProcessor | ( | ) | throw () |
Default constructor.
virtual BALL::EmpiricalHSShiftProcessor::~EmpiricalHSShiftProcessor | ( | ) | throw () [virtual] |
Destructor.
virtual bool BALL::EmpiricalHSShiftProcessor::finish | ( | ) | throw () [virtual] |
Finish method. This method performs the chemical shift calculation for all previously collected target atoms (targets_ ) iteratively by evaluating all atom type relevant hypersurfaces (hypersurfaces_ ) iteratively using the precomputed atoms properties (targets_). For disulfid bonds, a special term as specified in section { SSBondCorrection} of the { ShiftX.ini} - file is added. According to the flag { exclude_prolins_} (default false) (pecification in the { ShiftX.ini} - file) prolins my by excluded from shift computations. If the processor found no target atoms or had no hypersurfaces, the processor returns immediately. The empirical hypersurface related chemical shift is stored for each target atom using the named property PROPERTY__EF_SHIFT and added to the named property ShiftModule::PROPERTY__SHIFT .
invalid_
Reimplemented from BALL::ShiftModule.
virtual void BALL::EmpiricalHSShiftProcessor::init | ( | ) | throw () [virtual] |
Initialization method. This method reads the parameter section SSBondCorrection, parses, and stores its content in the vector ssbond_correction_ . The parameter section SSBondCorrection defines atom types of residues, which have a disulfid bond, and the corresponding shift contribution. In addition, this method reads the parameter section EmpiricalShiftHyperSurfaces and parses its content. The parameter section EmpiricalShiftHyperSurfaces defines target atom types, associated hypersurface property pairs and the corresponding datafiles. All target atom types are stored in a vector target_names_ . All properties relevant for an atom type are stored in a set. The sets are stored per target atom in the vector target_property_names_ in the same order as in the vector target_names.
The property pairs for each atom type are stored as pairs in vectors. These vectors are themselves stored per atom type in a map property_pairs_ .
The file names of the hypersurface data files of an atom type are stored in a map, whose key is the pair of properties, to which the hypersurface data belong. The maps themselfes are stored per target atom type in the vector property_files_ the same order as the atom types in the vector target_names.
For each atom type's property combinations a hypersurface is created and stored in the map hypersurfaces_ key { atom type} of maps with key property pair. The hypersurfaces will be evaluated for each target atom in () finish () .
The flag { exclude_prolins}, denoting the consideration of prolins in the shift computations, is read from this section too.
Reimplemented from BALL::ShiftModule.
virtual Processor::Result BALL::EmpiricalHSShiftProcessor::operator() | ( | Composite & | composite | ) | throw () [virtual] |
operator (). This method collects all target atoms, whose atom type was specified in the section { EmpiricalShiftHyperSurfaces} of the { ShiftX.ini} - file and stored in target_names_ , and computes all target atoms properties, which were likewise specified for each target atom type in the { ShiftX.ini} - file and stored in target_property_names_ . The atoms and their properties are stored in the list targets_ .
composite | an arbitrary composite. All non-atom objects are ignored. |
Reimplemented from BALL::UnaryProcessor< Composite >.
void BALL::EmpiricalHSShiftProcessor::postprocessing_ | ( | ) | throw () [private] |
void BALL::EmpiricalHSShiftProcessor::printParameters_ | ( | ) | throw () [private] |
void BALL::EmpiricalHSShiftProcessor::printTargets_ | ( | ) | throw () [private] |
void BALL::EmpiricalHSShiftProcessor::setDefaultOptions | ( | ) |
reset the options to default values
virtual bool BALL::EmpiricalHSShiftProcessor::start | ( | ) | throw () [virtual] |
Processor start method. This method clears the targets_ list. It fails if no parameters were assigned.
parameters_ == 0
Reimplemented from BALL::ShiftModule.
Definition at line 496 of file empiricalHSShiftProcessor.h.
std::map<String, std::map <std::pair<String, String>,EmpiricalHSShiftProcessor::ShiftHyperSurface_> > BALL::EmpiricalHSShiftProcessor::hypersurfaces_ [protected] |
Definition at line 491 of file empiricalHSShiftProcessor.h.
options
Definition at line 189 of file empiricalHSShiftProcessor.h.
const char* BALL::EmpiricalHSShiftProcessor::PROPERTY__EHS_SHIFT [static] |
A symbolic name for the empirical hypersurfaces contribution to the chemical shift.
Definition at line 78 of file empiricalHSShiftProcessor.h.
vector< std::map< std::pair<String, String>, String > > BALL::EmpiricalHSShiftProcessor::property_files_ [protected] |
Definition at line 479 of file empiricalHSShiftProcessor.h.
std::map< String, vector< std::pair<String, String> > > BALL::EmpiricalHSShiftProcessor::property_pairs_ [protected] |
Definition at line 484 of file empiricalHSShiftProcessor.h.
std::map<String, float> BALL::EmpiricalHSShiftProcessor::ssbond_correction_ [protected] |
Definition at line 499 of file empiricalHSShiftProcessor.h.
vector<String> BALL::EmpiricalHSShiftProcessor::target_names_ [protected] |
Definition at line 463 of file empiricalHSShiftProcessor.h.
vector< std::set<String> > BALL::EmpiricalHSShiftProcessor::target_property_names_ [protected] |
Definition at line 470 of file empiricalHSShiftProcessor.h.
std::vector<PropertiesForShift_> BALL::EmpiricalHSShiftProcessor::targets_ [protected] |
Definition at line 458 of file empiricalHSShiftProcessor.h.
int BALL::EmpiricalHSShiftProcessor::verbosity_ [private] |
The verbosity of this class as taken from the options.
Definition at line 517 of file empiricalHSShiftProcessor.h.
const int BALL::EmpiricalHSShiftProcessor::VERBOSITY_LEVEL_CRITICAL [static] |
Definition at line 47 of file empiricalHSShiftProcessor.h.
const int BALL::EmpiricalHSShiftProcessor::VERBOSITY_LEVEL_DEBUG [static] |
Definition at line 48 of file empiricalHSShiftProcessor.h.