BALL  1.5.0
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
10 # include <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 
34 namespace 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 
63  virtual ~DockingAlgorithm();
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_;
180  bool finished_;
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
BALL::DockingAlgorithm::visualization_timer_
Timer visualization_timer_
Definition: dockingAlgorithm.h:208
BALL::DockingAlgorithm::min_sec_between_visualizations_
double min_sec_between_visualizations_
Definition: dockingAlgorithm.h:207
BALL::DockingAlgorithm::wasPaused
virtual bool wasPaused() const
Definition: dockingAlgorithm.h:137
BALL_EXPORT
#define BALL_EXPORT
Definition: COMMON/global.h:50
BALL::DockingAlgorithm::DockingAlgorithm
DockingAlgorithm(System &receptor, System &ligand, Options &new_options)
BALL::DockingAlgorithm::setScoringFunction
void setScoringFunction(ScoringFunction *scoring)
Definition: dockingAlgorithm.h:94
BALL::DockingAlgorithm::getLigand
const AtomContainer * getLigand()
BALL::Options
Definition: options.h:48
BALL::DockingAlgorithm::reference_ligand_
AtomContainer * reference_ligand_
Definition: dockingAlgorithm.h:182
conformationSet.h
BALL::ConformationSet
Definition: conformationSet.h:33
BALL::DockingAlgorithm::finished_
bool finished_
Definition: dockingAlgorithm.h:180
BALL::AtomContainer
Definition: atomContainer.h:32
BALL::DockingAlgorithm::getScoringFunction
ScoringFunction * getScoringFunction()
BALL::System
Definition: KERNEL/system.h:40
timer.h
BALL::DockingAlgorithm::options
Options options
Definition: dockingAlgorithm.h:67
BALL::DockingAlgorithm::system1_
System * system1_
Definition: dockingAlgorithm.h:175
BALL::DockingAlgorithm::writeOptionFile
static void writeOptionFile(String filename, Options &input_options, list< Constraint * > &input_constraints)
BALL::DockingAlgorithm::setMaxFps
void setMaxFps(int no)
BALL::DockingAlgorithm::hasFinished
virtual bool hasFinished() const
BALL::DockingAlgorithm::processMultiMoleculeFile
void processMultiMoleculeFile(string input_filename, string output_filename, double score_cutoff, vector< double > *min_atoms_in_ref_areas=0, String toolinfo="", String timestamp="")
BALL::TMatrix4x4< float >
BALL::DockingAlgorithm::setLigand
void setLigand(AtomContainer *ligand)
BALL::DockingAlgorithm::visualization_pose_
AtomContainer visualization_pose_
Definition: dockingAlgorithm.h:203
BALL::DockingAlgorithm::setVisualizationPose
void setVisualizationPose(const double &score)
BALL::DockingAlgorithm::getDisplayMode
DISPLAYMODE getDisplayMode()
BALL::DockingAlgorithm::reset
virtual void reset()
BALL::DockingAlgorithm::pause_
bool pause_
Definition: dockingAlgorithm.h:178
BALL::DockingAlgorithm::visualization_pose_score_
double visualization_pose_score_
Definition: dockingAlgorithm.h:205
BALL::DockingAlgorithm::mapLigandOntoReferenceLigand
void mapLigandOntoReferenceLigand()
BALL::String
Definition: string.h:57
BALL::DockingAlgorithm::DISPLAYMODE
DISPLAYMODE
Definition: dockingAlgorithm.h:50
BALL::DockingAlgorithm::getVisualizationPose
const AtomContainer * getVisualizationPose()
BALL::DockingAlgorithm::setup
virtual void setup(System &receptor, System &ligand, Options &new_options)
BALL::DockingAlgorithm::~DockingAlgorithm
virtual ~DockingAlgorithm()
BALL::DockingAlgorithm::name_
String name_
Definition: dockingAlgorithm.h:185
BALL
Definition: constants.h:13
BALL::DockingAlgorithm::abort_
bool abort_
Definition: dockingAlgorithm.h:179
BALL::DockingAlgorithm::setDisplayMode
void setDisplayMode(DISPLAYMODE display_mode)
BALL::DockingAlgorithm::getName
const String & getName()
BALL::DockingAlgorithm::finish
virtual void finish()
BALL::DockingAlgorithm::system2_
System * system2_
Definition: dockingAlgorithm.h:176
options.h
BALL::DockingAlgorithm::DockingAlgorithm
DockingAlgorithm()
BALL_INDEX_TYPE
BALL::DockingAlgorithm::ligand_
AtomContainer * ligand_
Definition: dockingAlgorithm.h:189
BALL::DockingAlgorithm::proceed
virtual void proceed()
BALL::DockingAlgorithm
Definition: dockingAlgorithm.h:46
BALL_SIZE_TYPE
BALL::DockingAlgorithm::receptor_
AtomContainer * receptor_
Definition: dockingAlgorithm.h:187
BALL::DockingAlgorithm::OPTION_FILE_PARAMETER_NAME
static const String OPTION_FILE_PARAMETER_NAME
Definition: dockingAlgorithm.h:154
BALL::DockingAlgorithm::getVisualizationPoseScore
double getVisualizationPoseScore()
BALL::DockingAlgorithm::wasAborted
virtual bool wasAborted() const
Definition: dockingAlgorithm.h:133
BALL::DockingAlgorithm::abort
virtual void abort()
BALL::DockingAlgorithm::calculateRMSD
double calculateRMSD(const AtomContainer &S1, const AtomContainer &S2, int *no_matched_atoms=NULL)
BALL::DockingAlgorithm::parameter_filename_
String parameter_filename_
Definition: dockingAlgorithm.h:195
BALL::DockingAlgorithm::start
virtual void start()
BALL::DockingAlgorithm::DockingAlgorithm
DockingAlgorithm(System &receptor, System &ligand)
BALL::DockingAlgorithm::getProgress
virtual float getProgress() const
matrix44.h
BALL::DockingAlgorithm::readOptionFile
static void readOptionFile(String filename, Options &output_options, list< Constraint * > &output_constraints, const AtomContainer *ref_ligand=0)
TEST::verbose
int verbose
Definition: classTest.h:18
constraints.h
system.h
BALL::Timer
Definition: timer.h:31
BALL::DockingAlgorithm::mapCompounds
static Matrix4x4 mapCompounds(const AtomContainer &S1, const AtomContainer &S2, Size &no_matched_heavy_atoms, double &rmsd, double upper_bound, double lower_bound, double tolerance)
BALL::DockingAlgorithm::display_mode_
DISPLAYMODE display_mode_
Definition: dockingAlgorithm.h:200
BALL::DockingAlgorithm::writeSubcategories_
static void writeSubcategories_(Options &category, std::ostream &out)
BALL::DockingAlgorithm::setup
virtual void setup(System &receptor, System &ligand)
BALL::DockingAlgorithm::scoring_function_
ScoringFunction * scoring_function_
Definition: dockingAlgorithm.h:193
BALL::DockingAlgorithm::getConformationSet
virtual ConformationSet getConformationSet(Index total_conformations=0)
BALL::DockingAlgorithm::pause
virtual void pause()
BALL::DockingAlgorithm::getReferenceLigand
const AtomContainer * getReferenceLigand()
BALL::DockingAlgorithm::dockLigand
virtual double dockLigand(AtomContainer &ligand, bool verbose=0)
BALL::ScoringFunction
Definition: scoringFunction.h:29
BALL::DockingAlgorithm::scoring_type_
String scoring_type_
Definition: dockingAlgorithm.h:198
BALL::DockingAlgorithm::new_pose_to_be_visualized
bool new_pose_to_be_visualized
Definition: dockingAlgorithm.h:162