Loading...
Searching...
No Matches
haighMallionShiftProcessor.h
Go to the documentation of this file.
// -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//
// $Id: haighMallionShiftProcessor.h,v 1.16.10.6 2007-04-12 13:53:54 anne Exp $
//
#ifndef BALL_COMMON_H
# include <BALL/common.h>
#endif
#ifndef BALL_CONCEPT_PROCESSOR_H
# include <BALL/CONCEPT/processor.h>
#endif
#ifndef BALL_NMR_SHIFTMODULE_H
# include<BALL/NMR/shiftModule.h>
#endif
#ifndef BALL_DATATYPE_STRINGHASHMAP_H
# include <BALL/DATATYPE/stringHashMap.h>
#endif
#include <list>
namespace BALL
{
class BALL_EXPORT HaighMallionShiftProcessor
: public ShiftModule
{
public:
BALL_CREATE(HaighMallionShiftProcessor)
static const char* PROPERTY__RING_CURRENT_SHIFT;
HaighMallionShiftProcessor();
HaighMallionShiftProcessor(const HaighMallionShiftProcessor& processor);
virtual ~HaighMallionShiftProcessor();
virtual void init();
virtual bool start();
virtual Processor::Result operator () (Composite& atom);
virtual bool finish();
protected:
/*_ A flag indicating whether Hydrogens are effected by all effectors or
just by effectors of the same residue.
Set this flag by specifying the option {\tt H_influenced_by_all_effectors = true} in
the HaighMallionRingCurrent section of the parameter file.
Default is false.
*/
bool H_influenced_by_all_effectors_;
/*_ A flag indicating whether HA Hydrogens are effected by all effectors or
just by effectors of the same residue.
Set this flag by specifying the option {\tt HA_influenced_by_all_effectors = true} in
the HaighMallionRingCurrent section of the parameter file.
Default is false.
*/
bool HA_influenced_by_all_effectors_;
/*_ A flag indicating whether a cutoff for the ring current effect is used.
Set this flag by specifying the option {\tt use_cut_off = true} in
the HaighMallionRingCurrent section of the parameter file.
Default is false.
*/
bool use_cut_off_;
/*_ A cut off value for the ring current effect computation via Haigh Mallion.
Set this flag by specifying the option {\tt cut_off = 15.} in
the HaighMallionRingCurrent section of the parameter file.
Default is 15.*15.
*/
float cut_off2_;
/*_ A flag indicating whether all hydrogens are targets.
Set this flag by specifying the option {\tt all_hydrogen_are_targets = true} in
the HaighMallionRingCurrent section of the parameter file.
Default is false.
*/
bool all_hydrogen_are_targets_;
bool correct_CA_shifts_;
/*_ A flag indicating whether for the computation of the ring current effect
the target has to be projected onto the effector ring plane or not.
Set this flag by specifying the option {\tt project_target_to_ring_plane = true} in
the HaighMallionRingCurrent section of the parameter file.
Default is false.
*/
bool project_target_to_ring_plane_;
/*_ The values of the target nucleus factors F.
*/
StringHashMap<float> target_nucleus_factors_;
/*_ The default value of the target nucleus factors F for hydrogen atoms.
*/
float default_hydrogen_target_nucleus_factor_;
/*_ The default factor of negative ring current factors
*/
float negative_ringcurrent_factor_ ;
/*_ The effector residues stored as a vector of atoms the collected by {\tt operator ()}.
*/
std::vector< std::vector<Atom*> > effectors_;
/*_ The effector residue types stored as a vector of strings collected by {\tt operator ()}.
This is necessary to allow, e.g., TRP1 and TRP2 as two different kinds of rings.
*/
std::vector<String> effector_types_;
/*_ The effector names collected from the ini-file by {\tt init ()}.
*/
std::vector<BALL::String> effector_names_;
/*_ The intensities of the effecting residues collected from the ini-file by {\tt init ()}.
*/
StringHashMap<float> intensity_factors_;
/*_ The ring atom names of the effecting residues collected from the ini-file by {\tt init ()}.
*/
std::vector< std::vector<BALL::String> > ring_atoms_;
/*_ The targeted atom names collected by {\tt init ()}.
*/
std::vector< BALL::String> target_names_;
/*_ The targeted atoms collected by {\tt operator ()}.
*/
std::vector<Atom* > targets_;
private:
void printParameters_();
void printEffectors_();
void printTargets_();
void postprocessing_();
};
} // namespace BALL
BALL_EXPORT
#define BALL_EXPORT
Definition COMMON/global.h:50
BALL::Atom
Definition atom.h:90
BALL::Composite
Definition composite.h:74
BALL::HaighMallionShiftProcessor::target_names_
std::vector< BALL::String > target_names_
Definition haighMallionShiftProcessor.h:218
BALL::HaighMallionShiftProcessor::use_cut_off_
bool use_cut_off_
Definition haighMallionShiftProcessor.h:152
BALL::HaighMallionShiftProcessor::finish
virtual bool finish()
BALL::HaighMallionShiftProcessor::all_hydrogen_are_targets_
bool all_hydrogen_are_targets_
Definition haighMallionShiftProcessor.h:167
BALL::HaighMallionShiftProcessor::default_hydrogen_target_nucleus_factor_
float default_hydrogen_target_nucleus_factor_
Definition haighMallionShiftProcessor.h:189
BALL::HaighMallionShiftProcessor::target_nucleus_factors_
StringHashMap< float > target_nucleus_factors_
Definition haighMallionShiftProcessor.h:185
BALL::HaighMallionShiftProcessor::negative_ringcurrent_factor_
float negative_ringcurrent_factor_
Definition haighMallionShiftProcessor.h:193
BALL::HaighMallionShiftProcessor::effector_types_
std::vector< String > effector_types_
Definition haighMallionShiftProcessor.h:202
BALL::HaighMallionShiftProcessor::H_influenced_by_all_effectors_
bool H_influenced_by_all_effectors_
Definition haighMallionShiftProcessor.h:137
BALL::HaighMallionShiftProcessor::correct_CA_shifts_
bool correct_CA_shifts_
Definition haighMallionShiftProcessor.h:173
BALL::HaighMallionShiftProcessor::start
virtual bool start()
BALL::HaighMallionShiftProcessor::HaighMallionShiftProcessor
HaighMallionShiftProcessor()
BALL::HaighMallionShiftProcessor::init
virtual void init()
BALL::HaighMallionShiftProcessor::HA_influenced_by_all_effectors_
bool HA_influenced_by_all_effectors_
Definition haighMallionShiftProcessor.h:145
BALL::HaighMallionShiftProcessor::cut_off2_
float cut_off2_
Definition haighMallionShiftProcessor.h:160
BALL::HaighMallionShiftProcessor::ring_atoms_
std::vector< std::vector< BALL::String > > ring_atoms_
Definition haighMallionShiftProcessor.h:214
BALL::HaighMallionShiftProcessor::PROPERTY__RING_CURRENT_SHIFT
static const char * PROPERTY__RING_CURRENT_SHIFT
Definition haighMallionShiftProcessor.h:44
BALL::HaighMallionShiftProcessor::targets_
std::vector< Atom * > targets_
Definition haighMallionShiftProcessor.h:222
BALL::HaighMallionShiftProcessor::effectors_
std::vector< std::vector< Atom * > > effectors_
Definition haighMallionShiftProcessor.h:197
BALL::HaighMallionShiftProcessor::intensity_factors_
StringHashMap< float > intensity_factors_
Definition haighMallionShiftProcessor.h:210
BALL::HaighMallionShiftProcessor::effector_names_
std::vector< BALL::String > effector_names_
Definition haighMallionShiftProcessor.h:206
BALL::HaighMallionShiftProcessor::project_target_to_ring_plane_
bool project_target_to_ring_plane_
Definition haighMallionShiftProcessor.h:181
BALL::Processor
Definition processor.h:32
BALL::Result
Definition result.h:22
BALL::ShiftModule::ShiftModule
ShiftModule()
BALL::StringHashMap
Definition stringHashMap.h:42
BALL::String
Definition string.h:57
common.h
BALL_CREATE
#define BALL_CREATE(name)
Definition create.h:62
BALL
Definition constants.h:13
std
STL namespace.
processor.h
shiftModule.h
stringHashMap.h