BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Classes | Static Public Attributes | Protected Attributes | Private Member Functions | Private Attributes | List of all members
BALL::EmpiricalHSShiftProcessor Class Reference

#include <BALL/NMR/empiricalHSShiftProcessor.h>

Inheritance diagram for BALL::EmpiricalHSShiftProcessor:
BALL::ShiftModule BALL::UnaryProcessor< Composite > BALL::UnaryFunctor< Composite, Processor::Result >

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 ()
 
- Public Member Functions inherited from BALL::ShiftModule
 ShiftModule ()
 
 ShiftModule (Parameters &parameters, const String &name="")
 
 ShiftModule (const ShiftModule &module)
 
virtual ~ShiftModule ()
 
virtual void clear ()
 
const ShiftModuleoperator= (const ShiftModule &module)
 
void setName (const String &name)
 
const StringgetName () const
 
void setParameters (Parameters &parameters)
 
const ParametersgetParameters () const
 
bool isValid () const
 
- Public Member Functions inherited from BALL::UnaryProcessor< Composite >
 UnaryProcessor ()
 
 UnaryProcessor (const UnaryProcessor &)
 
virtual ~UnaryProcessor ()
 

Static Public Attributes

static const int VERBOSITY_LEVEL_CRITICAL
 
static const int VERBOSITY_LEVEL_DEBUG
 
Enums and Constants.
static const char * PROPERTY__EHS_SHIFT
 
- Static Public Attributes inherited from BALL::ShiftModule
static const char * PROPERTY__SHIFT
 
static const char * PROPERTY__EXPERIMENTAL__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_
 
- Protected Attributes inherited from BALL::ShiftModule
String module_name_
 
Parametersparameters_
 
bool valid_
 

Private Member Functions

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

Private Attributes

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

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 Compositeargument_reference
 
typedef const Compositeconst_argument_reference
 
typedef Compositeargument_pointer
 
typedef const Compositeconst_argument_pointer
 

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
compositean 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

bool BALL::EmpiricalHSShiftProcessor::exclude_prolins_
protected

Definition at line 489 of file empiricalHSShiftProcessor.h.

std::map<String, std::map <std::pair<String, String>,EmpiricalHSShiftProcessor::ShiftHyperSurface_> > BALL::EmpiricalHSShiftProcessor::hypersurfaces_
protected

Definition at line 484 of file empiricalHSShiftProcessor.h.

Options BALL::EmpiricalHSShiftProcessor::options

options

Definition at line 183 of file empiricalHSShiftProcessor.h.

const char* BALL::EmpiricalHSShiftProcessor::PROPERTY__EHS_SHIFT
static

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.

std::map<String, float> BALL::EmpiricalHSShiftProcessor::ssbond_correction_
protected

Definition at line 492 of file empiricalHSShiftProcessor.h.

vector<String> BALL::EmpiricalHSShiftProcessor::target_names_
protected

Definition at line 456 of file empiricalHSShiftProcessor.h.

vector< std::set<String> > BALL::EmpiricalHSShiftProcessor::target_property_names_
protected

Definition at line 463 of file empiricalHSShiftProcessor.h.

std::vector<PropertiesForShift_> BALL::EmpiricalHSShiftProcessor::targets_
protected

Definition at line 451 of file empiricalHSShiftProcessor.h.

int BALL::EmpiricalHSShiftProcessor::verbosity_
private

The verbosity of this class as taken from the options.

Definition at line 510 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.