BALL::EmpiricalHSShiftProcessor Class Reference
[Shift modules]

#include <BALL/NMR/empiricalHSShiftProcessor.h>

Inheritance diagram for BALL::EmpiricalHSShiftProcessor:
Inheritance graph
[legend]

List of all members.

Classes

struct  Default
 Default values for options. More...
struct  Option
 Option names. More...
class  PropertiesForShift_
class  ShiftHyperSurface_

Public Member Functions

Constructors and Destructors.

 EmpiricalHSShiftProcessor ()
virtual ~EmpiricalHSShiftProcessor ()
Accessors.

virtual void init ()
Processor specific functions.

virtual bool start ()
virtual Processor::Result operator() (Composite &composite)
virtual bool finish ()

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< Stringtarget_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, floatssbond_correction_

Private Member Functions

void printParameters_ ()
void printTargets_ ()
void postprocessing_ ()

Private Attributes

int verbosity_
 The verbosity of this class as taken from the options.

Public Attributes



Options options
 options
void setDefaultOptions ()

Detailed Description

Shift assignment processor implementing the empirical hypersurface contribution.

Definition at line 40 of file empiricalHSShiftProcessor.h.


Constructor & Destructor Documentation

BALL::EmpiricalHSShiftProcessor::EmpiricalHSShiftProcessor (  ) 

Default constructor.

virtual BALL::EmpiricalHSShiftProcessor::~EmpiricalHSShiftProcessor (  )  [virtual]

Destructor.


Member Function Documentation

virtual bool BALL::EmpiricalHSShiftProcessor::finish (  )  [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 .

Returns:
bool, false if invalid_

Reimplemented from BALL::ShiftModule.

virtual void BALL::EmpiricalHSShiftProcessor::init (  )  [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.

See also:
finish ()

Reimplemented from BALL::ShiftModule.

virtual Processor::Result BALL::EmpiricalHSShiftProcessor::operator() ( Composite composite  )  [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_ .

Returns:
Processor::CONTINUE
Parameters:
composite an arbitrary composite. All non-atom objects are ignored.

Reimplemented from BALL::UnaryProcessor< Composite >.

void BALL::EmpiricalHSShiftProcessor::postprocessing_ (  )  [private]
void BALL::EmpiricalHSShiftProcessor::printParameters_ (  )  [private]
void BALL::EmpiricalHSShiftProcessor::printTargets_ (  )  [private]
void BALL::EmpiricalHSShiftProcessor::setDefaultOptions (  ) 

reset the options to default values

virtual bool BALL::EmpiricalHSShiftProcessor::start (  )  [virtual]

Processor start method. This method clears the targets_ list. It fails if no parameters were assigned.

Returns:
bool, false if parameters_ == 0

Reimplemented from BALL::ShiftModule.


Member Data Documentation

Definition at line 489 of file empiricalHSShiftProcessor.h.

Definition at line 484 of file empiricalHSShiftProcessor.h.

options

Definition at line 183 of file empiricalHSShiftProcessor.h.

A symbolic name for the empirical hypersurfaces contribution to the chemical shift.

See also:
ShiftModule::PROPERTY__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 472 of file empiricalHSShiftProcessor.h.

std::map< String, vector< std::pair<String, String> > > BALL::EmpiricalHSShiftProcessor::property_pairs_ [protected]

Definition at line 477 of file empiricalHSShiftProcessor.h.

Definition at line 492 of file empiricalHSShiftProcessor.h.

Definition at line 456 of file empiricalHSShiftProcessor.h.

Definition at line 463 of file empiricalHSShiftProcessor.h.

Definition at line 451 of file empiricalHSShiftProcessor.h.

The verbosity of this class as taken from the options.

Definition at line 510 of file empiricalHSShiftProcessor.h.

Definition at line 47 of file empiricalHSShiftProcessor.h.

Definition at line 48 of file empiricalHSShiftProcessor.h.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines
Generated by  doxygen 1.6.3