BALL  1.4.79
lipophilic.h
Go to the documentation of this file.
1 /* lipophilic.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_LIPOPHILIC_H
25 #define BALL_SCORING_COMPONENTS_LIPOPHILIC_H
26 
30 
31 
32 namespace BALL
33 {
36  {
37  public:
40  struct Option
41  {
44  static const char* LIPO_R1_OFFSET;
45 
48  static const char* LIPO_R2_OFFSET;
49 
52  static const char* CREATE_INTERACTIONS_FILE;
53 
56  static const char* VERBOSITY;
57  };
58 
61  struct Default
62  {
65  static const float LIPO_R1_OFFSET;
66 
69  static const float LIPO_R2_OFFSET;
70 
73  static const bool CREATE_INTERACTIONS_FILE;
74 
77  static const Size VERBOSITY;
78  };
79 
83 
87 
90  Lipophilic(const Lipophilic& li);
91 
94  virtual ~Lipophilic();
95 
97 
100 
103  const Lipophilic& operator = (const Lipophilic& li)
104  throw();
105 
108  virtual void clear()
109  throw();
110 
112 
115 
116  bool operator == (const Lipophilic& li) const
117  throw();
118 
120 
123 
126  bool setup();
127 
128  void setupLigand();
129 
131 
134 
135  void update(const AtomPairVector& pair_vector);
136 
139  double updateScore();
140 
142 
143  private:
144  /*_
145  */
146  AtomPairVector possible_lipophilic_interactions_;
147 
148  /*_ This length will be added to the sum of the van-der-Waals radii for
149  obtaining the lower bound of the scoring function.
150  */
151  double r1_offset_;
152 
153  /*_ The upper bound for the scoring function is obtained by adding a
154  constant to the lower bound.
155  */
156  double r2_offset_;
157 
159  bool write_interactions_file_;
160 
162  Size verbosity_;
163 
164  bool isTypeKnown(Atom* atom);
165  Size getType(Atom* atom);
166 
167  FresnoTypes* receptor_fresno_types_;
168  FresnoTypes* ligand_fresno_types_;
169  };
170 } // namespace BALL
171 
172 #endif // BALL_SCORING_COMPONENTS_LIPOPHILIC_H
static const float LIPO_R2_OFFSET
Definition: lipophilic.h:69
static const bool CREATE_INTERACTIONS_FILE
Definition: lipophilic.h:73
static const char * LIPO_R1_OFFSET
Definition: lipophilic.h:44
static const char * CREATE_INTERACTIONS_FILE
Definition: lipophilic.h:52
static const Size VERBOSITY
Definition: lipophilic.h:77
static const char * VERBOSITY
Definition: lipophilic.h:56
-*- Mode: C++; tab-width: 2; -*-
Definition: constants.h:12
#define BALL_EXPORT
Definition: COMMON/global.h:50
std::vector< std::pair< Atom *, Atom * > > AtomPairVector
static const float LIPO_R1_OFFSET
Definition: lipophilic.h:65
static const char * LIPO_R2_OFFSET
Definition: lipophilic.h:48