BALL  1.4.79
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
aromaticRingStacking.h
Go to the documentation of this file.
1 /* aromaticRingStacking.h
2 *
3 * Copyright (C) 2011 Marcel Schumann
4 *
5 * This program free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 3 of the License, or (at
8 * your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, see <http://www.gnu.org/licenses/>.
17 */
18 
19 // ----------------------------------------------------
20 // $Maintainer: Marcel Schumann $
21 // $Authors: Slick-development Team, Marcel Schumann $
22 // ----------------------------------------------------
23 
24 #ifndef BALL_SCORING_COMPONENTS_AROMATICRINGSTACKING_H
25 #define BALL_SCORING_COMPONENTS_AROMATICRINGSTACKING_H
26 
31 #include <BALL/DATATYPE/options.h>
32 
34 
35 namespace BALL
36 {
38  : public ScoringComponent
39  {
40  public:
41  struct Option
42  {
43  static const String VERBOSITY;
50  static const String SCORING_TOLERANCE;
51  };
52 
53  struct Default
54  {
55  static const Size VERBOSITY;
56  static const float F2F_PLANE_DISTANCE_LOWER;
57  static const float F2F_PLANE_DISTANCE_UPPER;
58  static const float F2F_LATERAL_DISPLACEMENT_LOWER;
59  static const float F2F_LATERAL_DISPLACEMENT_UPPER;
60  static const float F2E_CENTER_DISTANCE_LOWER;
61  static const float F2E_CENTER_DISTANCE_UPPER;
62  static const float SCORING_TOLERANCE;
63  };
64 
66 
68 
70 
72 
73  void clear();
74 
75  virtual bool setup(Options& options);
76 
78  void setupLigand();
79 
80  void update(const vector<std::pair<Atom*, Atom*> >& /*atom_pairs*/);
81 
82  virtual double updateScore();
83 
84  private:
87  TimeStamp update_time_stamp_;
88 
89  std::vector< std::pair<const CHPI::AromaticRing*, const CHPI::AromaticRing*> > possible_interactions_;
90 
91  std::vector<CHPI::AromaticRing*> receptor_rings_;
92 
93  std::vector<CHPI::AromaticRing*> ligand_rings_;
94 
95  float f2f_plane_distance_lower_;
96  float f2f_plane_distance_upper_;
97  float f2f_lateral_displacemant_lower_;
98  float f2f_lateral_displacemant_upper_;
99  float f2e_center_distance_lower_;
100  float f2e_center_distance_upper_;
101 
102  //_ The tolerance for judging angles to be "equal"
103  float angle_tolerance_;
104 
105  float distance_cutoff_;
106 
107  //_ The tolerance area for creating scores instead of simply counted
108  //_ interactions.
109  float scoring_tolerance_;
110 
112  bool valid_;
113 
116  };
117 }
118 
119 #endif // BALL_SCORING_COMPONENTS_AROMATICRINGSTACKING_H
static const String F2F_LATERAL_DISPLACEMENT_UPPER
This processor provides methods for detection and assignment of aromaticity.
#define BALL_EXPORT
Definition: COMMON/global.h:50
static const String F2F_LATERAL_DISPLACEMENT_LOWER