BALL  1.4.79
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
buriedPolar.h
Go to the documentation of this file.
1 /* buriedPolar.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_BURIEDPOLAR_H
25 #define BALL_SCORING_COMPONENTS_BURIEDPOLAR_H
26 
30 
31 
32 namespace BALL
33 {
38  : public ScoringComponent
39  {
40  public:
43  struct Option
44  {
45  static const char* BP_R1_OFFSET;
46  static const char* BP_R2_OFFSET;
47  static const char* VERBOSITY;
48  };
49 
52  struct Default
53  {
54  static const float BP_R1_OFFSET;
55  static const float BP_R2_OFFSET;
56  static const Size VERBOSITY;
57  };
58 
62 
66 
69  BuriedPolar(const BuriedPolar& bp);
70 
73  virtual ~BuriedPolar();
74 
76 
79 
82  const BuriedPolar& operator = (const BuriedPolar& bp);
83 
86  void clear();
87 
89 
92 
95  bool setup();
96 
97  void setupLigand();
98 
100 
103 
106  double updateScore();
107 
108  void update(const vector<std::pair<Atom*, Atom*> >& pair_vector);
110 
111  private:
112  AtomPairVector possible_buried_polar_interactions_;
113 
114  double factor_;
115 
116  /*_ This length will be added to the sum of the van-der-Waals radii for
117  obtaining the lower bound of the scoring function.
118  */
119  double r1_offset_;
120 
121  /*_ The upper bound for the scoring function is obtained by adding a
122  constant to the lower bound.
123  */
124  double r2_offset_;
125 
126  Size verbosity_;
127 
128  Size getType(Atom* atom);
129 
130  bool isBackboneAtom(const Atom* atom);
131 
132  FresnoTypes* receptor_fresno_types_;
133  FresnoTypes* ligand_fresno_types_;
134  };
135 } // namespace BALL
136 
137 #endif // BALL_SCORING_COMPONENTS_BURIEDPOLAR_H
static const Size VERBOSITY
Definition: buriedPolar.h:56
static const float BP_R1_OFFSET
Definition: buriedPolar.h:54
static const char * BP_R1_OFFSET
Definition: buriedPolar.h:45
static const char * VERBOSITY
Definition: buriedPolar.h:47
static const float BP_R2_OFFSET
Definition: buriedPolar.h:55
static const char * BP_R2_OFFSET
Definition: buriedPolar.h:46
#define BALL_EXPORT
Definition: COMMON/global.h:50
std::vector< std::pair< Atom *, Atom * > > AtomPairVector