BALL  1.5.0
gridBasedScoring.h
Go to the documentation of this file.
1 // ----------------------------------------------------
2 // $Maintainer: Marcel Schumann $
3 // $Authors: Marcel Schumann $
4 // ----------------------------------------------------
5 
6 #ifndef BALL_SCORING_COMMON_GRIDBASEDSCORING_H
7 #define BALL_SCORING_COMMON_GRIDBASEDSCORING_H
8 
12 #include <set>
13 #include <map>
14 
15 namespace BALL
16 {
17  class ScoreGridSet;
18  class Residue;
19  class Rotamer;
20 
22  {
23  public:
24  struct Option
25  {
27  static const char* SCOREGRID_RESOLUTION;
28 
30  static const char* SCOREGRID_INTERPOLATION;
31  };
32 
33  struct Default
34  {
35  static double SCOREGRID_RESOLUTION;
37  };
38 
39  GridBasedScoring(AtomContainer& receptor, AtomContainer& ligand, Options& options);
40 
41  GridBasedScoring(AtomContainer& receptor, Vector3& hashgrid_origin, Options& options);
42 
43  virtual ~GridBasedScoring();
44 
48  void defineGridSet(AtomContainer* sys, Vector3& angstroem, double out_of_grid_penalty, bool enforce_grid_boundaries, double resolution, double interaction_no_scale = 1);
49 
52  void defineGridSet(AtomContainer* sys, double out_of_grid_penalty, bool enforce_grid_boundaries, double resolution, double interaction_no_scale = 1);
53 
55 
56  void printResult();
57 
59  void setAtomTypeNames(std::set<String>& types);
60 
62  void precalculateGrids(bool ony_flexRes_grids = false);
63 
65  void saveGridSetsToFile(String file, String receptor_name);
66 
69 
72 
75  void loadFlexibleResidueScoreGrids(std::list<std::pair<const Residue*, const Rotamer*> > residue_list);
76 
78 
84  void setCombineOperation(int i);
85 
88 
89  std::vector<ScoreGridSet*>* getScoreGridSets();
90 
92 
93  protected:
94  void setup();
95 
97  {
99  std::vector<double> gridSet_scores;
100 
102  std::vector<double> no_neighbors;
103 
105  std::vector<Size> no_out_of_grid;
106 
107  void setup(Size no_gridSets);
108  };
109 
112 
115 
119  void defineReceptorGridSet(Vector3& origin, Vector3& size, double out_of_grid_penalty, bool enforce_grid_boundaries, double resolution = 0.5, double interaction_no_scale = 1);
120 
121  virtual AtomTypes& getAtomTypes() = 0;
122 
123  std::map<String, int>* getAtomTypesMap();
124 
127  virtual void setAtomType(Atom* atom, const String& type_name);
128 
131 
132  /* --------- protected members ------------------ */
135 
137  std::map<String, int> atom_types_map_;
138 
140  std::vector<BALL::ScoreGridSet*> grid_sets_;
141 
144  virtual void updatePrecalculatedScore(Size set) = 0;
145 
148 
151 
154 
157  std::map<const Residue*, ScoreGridSet*> flex_gridsets_;
158 
159  friend class ScoreGridSet;
161  };
162 }
163 
164 #endif // BALL_SCORING_COMMON_GRIDBASEDSCORING_H
BALL::GridBasedScoring::Option::SCOREGRID_INTERPOLATION
static const char * SCOREGRID_INTERPOLATION
Definition: gridBasedScoring.h:30
BALL::GridBasedScoring::GridBasedScoring
GridBasedScoring(AtomContainer &receptor, Vector3 &hashgrid_origin, Options &options)
BALL_EXPORT
#define BALL_EXPORT
Definition: COMMON/global.h:50
BALL::GridBasedScoring::setAtomTypeNames
void setAtomTypeNames(std::set< String > &types)
BALL::GridBasedScoring::gridsets_result_
GridSetsResult gridsets_result_
Definition: gridBasedScoring.h:111
BALL::Options
Definition: options.h:48
BALL::PharmacophoreConstraint
Definition: constraints.h:146
BALL::GridBasedScoring::GridSetsResult::no_out_of_grid
std::vector< Size > no_out_of_grid
Definition: gridBasedScoring.h:105
BALL::GridBasedScoring::calculateGridScore
double calculateGridScore()
BALL::AtomContainer
Definition: atomContainer.h:32
BALL::GridBasedScoring::replaceGridSetFromFile
void replaceGridSetFromFile(String file)
BALL::GridBasedScoring::getNoNeighboringReceptorAtoms
int getNoNeighboringReceptorAtoms()
BALL::GridBasedScoring::Default::SCOREGRID_INTERPOLATION
static bool SCOREGRID_INTERPOLATION
Definition: gridBasedScoring.h:36
BALL::GridBasedScoring::Option::SCOREGRID_RESOLUTION
static const char * SCOREGRID_RESOLUTION
Definition: gridBasedScoring.h:27
BALL::GridBasedScoring::Option
Definition: gridBasedScoring.h:25
BALL::GridBasedScoring::combine_operation_
int combine_operation_
Definition: gridBasedScoring.h:134
BALL::GridBasedScoring::GridBasedScoring
GridBasedScoring(AtomContainer &receptor, AtomContainer &ligand, Options &options)
BALL::GridBasedScoring::GridSetsResult::no_neighbors
std::vector< double > no_neighbors
Definition: gridBasedScoring.h:102
BALL::GridBasedScoring::scoregrid_resolution_
double scoregrid_resolution_
Definition: gridBasedScoring.h:147
BALL::GridBasedScoring::scoregrid_interpolation_
bool scoregrid_interpolation_
Definition: gridBasedScoring.h:150
BALL::Atom
Definition: atom.h:90
BALL::GridBasedScoring::GridSetsResult::gridSet_scores
std::vector< double > gridSet_scores
Definition: gridBasedScoring.h:99
BALL::GridBasedScoring::defineGridSet
void defineGridSet(AtomContainer *sys, double out_of_grid_penalty, bool enforce_grid_boundaries, double resolution, double interaction_no_scale=1)
BALL::GridBasedScoring::getAtomTypes
virtual AtomTypes & getAtomTypes()=0
BALL::GridBasedScoring::setup
void setup()
BALL::GridBasedScoring::GridSetsResult
Definition: gridBasedScoring.h:97
BALL::GridBasedScoring::defineReceptorGridSet
void defineReceptorGridSet(Vector3 &origin, Vector3 &size, double out_of_grid_penalty, bool enforce_grid_boundaries, double resolution=0.5, double interaction_no_scale=1)
BALL::String
Definition: string.h:57
BALL::GridBasedScoring
Definition: gridBasedScoring.h:22
BALL::GridBasedScoring::getScoreGridSets
std::vector< ScoreGridSet * > * getScoreGridSets()
BALL::GridBasedScoring::readAdditionalGridSetFromFile
void readAdditionalGridSetFromFile(String file)
BALL::GridBasedScoring::updatePrecalculatedScore
virtual void updatePrecalculatedScore(Size set)=0
BALL::GridBasedScoring::loadFlexibleResidueScoreGrids
void loadFlexibleResidueScoreGrids(std::list< std::pair< const Residue *, const Rotamer * > > residue_list)
BALL::GridBasedScoring::GridSetsResult::setup
void setup(Size no_gridSets)
BALL
Definition: constants.h:13
BALL::GridBasedScoring::flex_gridset_id_
int flex_gridset_id_
Definition: gridBasedScoring.h:153
BALL::GridBasedScoring::validateGridSets
void validateGridSets()
BALL::GridBasedScoring::defineGridSet
void defineGridSet(AtomContainer *sys, Vector3 &angstroem, double out_of_grid_penalty, bool enforce_grid_boundaries, double resolution, double interaction_no_scale=1)
BALL::GridBasedScoring::printResult
void printResult()
BALL_SIZE_TYPE
BALL::TVector3< float >
BALL::GridBasedScoring::setupReferenceLigand
void setupReferenceLigand()
BALL::GridBasedScoring::Default::SCOREGRID_RESOLUTION
static double SCOREGRID_RESOLUTION
Definition: gridBasedScoring.h:35
scoringFunction.h
BALL::GridBasedScoring::getGridAtomTypeName
String getGridAtomTypeName(int grid_id)
scoreGridSet.h
BALL::GridBasedScoring::grid_sets_
std::vector< BALL::ScoreGridSet * > grid_sets_
Definition: gridBasedScoring.h:140
BALL::GridBasedScoring::~GridBasedScoring
virtual ~GridBasedScoring()
BALL::GridBasedScoring::atom_types_map_
std::map< String, int > atom_types_map_
Definition: gridBasedScoring.h:137
BALL::ScoreGridSet
Definition: scoreGridSet.h:23
BALL::AtomTypes
Definition: atomTypes.h:30
BALL::GridBasedScoring::saveGridSetsToFile
void saveGridSetsToFile(String file, String receptor_name)
BALL::GridBasedScoring::setCombineOperation
void setCombineOperation(int i)
BALL::GridBasedScoring::Default
Definition: gridBasedScoring.h:34
BALL::GridBasedScoring::flex_gridsets_
std::map< const Residue *, ScoreGridSet * > flex_gridsets_
Definition: gridBasedScoring.h:157
BALL::GridBasedScoring::setAtomType
virtual void setAtomType(Atom *atom, const String &type_name)
BALL::GridBasedScoring::getAtomTypesMap
std::map< String, int > * getAtomTypesMap()
atomTypes.h
BALL::GridBasedScoring::defineFlexibleResiduesGridSet
void defineFlexibleResiduesGridSet()
BALL::ScoringFunction
Definition: scoringFunction.h:29
BALL::GridBasedScoring::precalculateGrids
void precalculateGrids(bool ony_flexRes_grids=false)