BALL  1.4.79
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
evolutionaryDocking.h
Go to the documentation of this file.
1 // ----------------------------------------------------
2 // $Maintainer: Marcel Schumann $
3 // $Authors: Jan Fuhrmann, Marcel Schumann $
4 // ----------------------------------------------------
5 
6 #ifndef BALL_DOCKING_GENETICDOCK_EVOLUTIONARYDOCKING_H
7 #define BALL_DOCKING_GENETICDOCK_EVOLUTIONARYDOCKING_H
8 
9 #ifndef BALL_DATATYPE_REGULARDATA3D_H
11 #endif
12 
13 #ifndef BALL_KERNEL_SYSTEM_H
14 #include <BALL/KERNEL/system.h>
15 #endif
16 
17 #ifndef BALL_DOCKING_COMMON_DOCKINGALGORITHM_H
19 #endif
20 
22 
23 namespace BALL
24 {
25  class GeneticAlgorithm;
26 
27  class DockProblem;
28 
29 
36  {
37  public:
38 
39  struct Option
40  {
41  static const String MAX_ITERATIONS;
42  static const String POPULATION_NUMBER;
43  static const String INITIAL_POPULATION;
44  static const String POPULATION;
45  static const String SURVIVORS;
46  static const String MUTATION_RATE;
47  static const String MUTATION_SAVE;
48  static const String CONV_ITERATIONS;
49  static const String CONV_VALUE;
50  static const String CONV_START;
51  static const String BEST_NUM;
52  static const char* SCORING_TYPE;
53  };
54 
55  struct Default
56  {
57  static const int MAX_ITERATIONS;
58  static const int POPULATION_NUMBER;
59  static const int INITIAL_POPULATION;
60  static const int POPULATION;
61  static const int SURVIVORS;
62  static const double MUTATION_RATE;
63  static const int MUTATION_SAVE;
64  static const int CONV_ITERATIONS;
65  static const double CONV_VALUE;
66  static const int CONV_START;
67  static const int BEST_NUM;
68  static const String SCORING_TYPE;
69  };
70 
71 
72  EvolutionaryDocking(System &system1, System &system2, Options& new_options);
73 
74  EvolutionaryDocking(System& receptor, System& ligand, string config_file);
75 
79 
82  virtual void setup(System& ligand, BALL::ScoringFunction* sf, Options& new_options);
83 
84  virtual void setup(System& ligand, BALL::ScoringFunction* sf);
85 
86  void setup(System& receptor, System& ligand, Options& new_options);
87 
90  void start();
91 
93  double dockLigand(AtomContainer& ligand, bool verbose = 0);
94 
97  float getProgress() const;
98 
101  bool redraw();
102 
103  Vector3& getReferenceLigandCenter();
104 
107  // ConformationSet getConformationSet(Index total_number = 0);
108 
110  static void getDefaultOptions(Options& options);
111 
112 
113  protected:
114 
115  // virtual const AtomContainer& getIntermediateResult_()
116  //throw();
117 
120  void destroy_();
121 
122  void applyBestConformation();
123 
127 
131 
134 
135  };
136 }
137 
138 #endif /* BALL_DOCKING_GENETICDOCK_EVOLUTIONARYDOCKING_H */
#define BALL_EXPORT
Definition: COMMON/global.h:50