BALL 1.5.0
Loading...
Searching...
No Matches
dockingAlgorithm.h
Go to the documentation of this file.
1// -*- Mode: C++; tab-width: 2; -*-
2// vi: set ts=2:
3//
4
5
6#ifndef BALL_DOCKING_COMMON_DOCKINGALGORITHM_H
7#define BALL_DOCKING_COMMON_DOCKINGALGORITHM_H
8
9#ifndef BALL_DATATYPE_OPTIONS_H
11#endif
12
13#ifndef BALL_KERNEL_SYSTEM_H
14# include <BALL/KERNEL/system.h>
15#endif
16
17#ifndef BALL_DOCKING_COMMON_CONFORMATIONSET_H
19#endif
20
21#ifndef BALL_MATHS_MATRIX44_H
22#include <BALL/MATHS/matrix44.h>
23#endif
24
25#ifndef BALL_SYSTEM_TIMER_H
26#include <BALL/SYSTEM/timer.h>
27#endif
28
29#ifndef BALL_DOCKING_COMMON_CONSTRAINTS_H
31#endif
32
33
34namespace BALL
35{
36
37 //namespace Docking
38 //{
39 class ScoringFunction;
40 //}
41
46 {
47 public:
48
50 {
51 NO_DISPLAY = 0,
52 BEST_INTERMEDIATE_POSES = 1,
53 ALL_INTERMEDIATE_POSES = 2,
54 NO_INTERMEDIATE_POSES = 3
55 };
56
58
59 DockingAlgorithm(System& receptor, System& ligand, Options& new_options);
60
61 DockingAlgorithm(System& receptor, System& ligand);
62
64
68
69
76 virtual void setup(System& receptor, System& ligand, Options& new_options);
77
81 virtual void setup(System& receptor, System& ligand);
82
83 static void readOptionFile(String filename, Options& output_options, list<Constraint*>& output_constraints, const AtomContainer* ref_ligand = 0);
84
85 static void writeOptionFile(String filename, Options& input_options, list<Constraint*>& input_constraints);
86
88 //virtual double dockLigand(AtomContainer& ligand, bool verbose = 0) = 0;
89 virtual double dockLigand(AtomContainer& ligand, bool verbose = 0);
90
93
94 void setScoringFunction(ScoringFunction* scoring) { scoring_function_ = scoring;}
95
96 void processMultiMoleculeFile(string input_filename, string output_filename, double score_cutoff, vector<double>* min_atoms_in_ref_areas = 0, String toolinfo="", String timestamp="");
97
98 void setLigand(AtomContainer* ligand);
99
101
103
105 const String& getName();
106
109 virtual void start();
110
113 virtual void pause();
114
117 virtual void proceed();
118
121 virtual void abort();
122
123 virtual void finish();
124
126 virtual void reset();
127
130 virtual bool hasFinished() const;
131
133 virtual bool wasAborted() const
134 { return abort_;}
135
137 virtual bool wasPaused() const
138 { return pause_;}
139
142 virtual float getProgress() const;
143
148 virtual ConformationSet getConformationSet(Index total_conformations = 0);
149
150 double calculateRMSD(const AtomContainer& S1, const AtomContainer& S2, int* no_matched_atoms = NULL);
151
152 static Matrix4x4 mapCompounds(const AtomContainer& S1, const AtomContainer& S2, Size& no_matched_heavy_atoms, double& rmsd, double upper_bound, double lower_bound, double tolerance);
153
155
157
158 void setVisualizationPose(const double& score);
159
161
163
165
166 void setDisplayMode(DISPLAYMODE display_mode);
167
169 void setMaxFps(int no);
170
171 protected:
172
173 static void writeSubcategories_(Options& category, std::ostream& out);
174
177
178 bool pause_;
179 bool abort_;
181
183
186
188
190
192
194
196
199
201
204
206
209 };
210
211} // namespace BALL
212
213#endif // BALL_DOCKING_COMMON_DOCKINGALGORITHM_H
static void readOptionFile(String filename, Options &output_options, list< Constraint * > &output_constraints, const AtomContainer *ref_ligand=0)
const AtomContainer * getVisualizationPose()
DISPLAYMODE getDisplayMode()
void setScoringFunction(ScoringFunction *scoring)
AtomContainer visualization_pose_
double getVisualizationPoseScore()
virtual bool wasPaused() const
static void writeOptionFile(String filename, Options &input_options, list< Constraint * > &input_constraints)
void processMultiMoleculeFile(string input_filename, string output_filename, double score_cutoff, vector< double > *min_atoms_in_ref_areas=0, String toolinfo="", String timestamp="")
void setDisplayMode(DISPLAYMODE display_mode)
virtual void proceed()
static const String OPTION_FILE_PARAMETER_NAME
virtual ConformationSet getConformationSet(Index total_conformations=0)
virtual void setup(System &receptor, System &ligand, Options &new_options)
ScoringFunction * getScoringFunction()
double calculateRMSD(const AtomContainer &S1, const AtomContainer &S2, int *no_matched_atoms=NULL)
DockingAlgorithm(System &receptor, System &ligand, Options &new_options)
virtual void abort()
DockingAlgorithm(System &receptor, System &ligand)
virtual void setup(System &receptor, System &ligand)
void setVisualizationPose(const double &score)
void mapLigandOntoReferenceLigand()
const String & getName()
virtual double dockLigand(AtomContainer &ligand, bool verbose=0)
static Matrix4x4 mapCompounds(const AtomContainer &S1, const AtomContainer &S2, Size &no_matched_heavy_atoms, double &rmsd, double upper_bound, double lower_bound, double tolerance)
const AtomContainer * getReferenceLigand()
virtual float getProgress() const
virtual void pause()
virtual void reset()
AtomContainer * reference_ligand_
void setLigand(AtomContainer *ligand)
static void writeSubcategories_(Options &category, std::ostream &out)
virtual void start()
const AtomContainer * getLigand()
void setMaxFps(int no)
virtual bool wasAborted() const
virtual void finish()
ScoringFunction * scoring_function_
virtual bool hasFinished() const
#define BALL_EXPORT