Loading...
Searching...
No Matches
dockingAlgorithm.h
Go to the documentation of this file.
// -*- Mode: C++; tab-width: 2; -*-
// vi: set ts=2:
//
#ifndef BALL_DOCKING_COMMON_DOCKINGALGORITHM_H
#define BALL_DOCKING_COMMON_DOCKINGALGORITHM_H
#ifndef BALL_DATATYPE_OPTIONS_H
# include <BALL/DATATYPE/options.h>
#endif
#ifndef BALL_KERNEL_SYSTEM_H
# include <BALL/KERNEL/system.h>
#endif
#ifndef BALL_DOCKING_COMMON_CONFORMATIONSET_H
# include <BALL/DOCKING/COMMON/conformationSet.h>
#endif
#ifndef BALL_MATHS_MATRIX44_H
#include <BALL/MATHS/matrix44.h>
#endif
#ifndef BALL_SYSTEM_TIMER_H
#include <BALL/SYSTEM/timer.h>
#endif
#ifndef BALL_DOCKING_COMMON_CONSTRAINTS_H
#include <BALL/DOCKING/COMMON/constraints.h>
#endif
namespace BALL
{
//namespace Docking
//{
class ScoringFunction;
//}
class BALL_EXPORT DockingAlgorithm
{
public:
enum DISPLAYMODE
{
NO_DISPLAY = 0,
BEST_INTERMEDIATE_POSES = 1,
ALL_INTERMEDIATE_POSES = 2,
NO_INTERMEDIATE_POSES = 3
};
DockingAlgorithm();
DockingAlgorithm(System& receptor, System& ligand, Options& new_options);
DockingAlgorithm(System& receptor, System& ligand);
virtual ~DockingAlgorithm();
Options options;
virtual void setup(System& receptor, System& ligand, Options& new_options);
virtual void setup(System& receptor, System& ligand);
static void readOptionFile(String filename, Options& output_options, list<Constraint*>& output_constraints, const AtomContainer* ref_ligand = 0);
static void writeOptionFile(String filename, Options& input_options, list<Constraint*>& input_constraints);
//virtual double dockLigand(AtomContainer& ligand, bool verbose = 0) = 0;
virtual double dockLigand(AtomContainer& ligand, bool verbose = 0);
ScoringFunction* getScoringFunction();
void setScoringFunction(ScoringFunction* scoring) { scoring_function_ = scoring;}
void processMultiMoleculeFile(string input_filename, string output_filename, double score_cutoff, vector<double>* min_atoms_in_ref_areas = 0, String toolinfo="", String timestamp="");
void setLigand(AtomContainer* ligand);
const AtomContainer* getLigand();
const AtomContainer* getReferenceLigand();
const String& getName();
virtual void start();
virtual void pause();
virtual void proceed();
virtual void abort();
virtual void finish();
virtual void reset();
virtual bool hasFinished() const;
virtual bool wasAborted() const
{ return abort_;}
virtual bool wasPaused() const
{ return pause_;}
virtual float getProgress() const;
virtual ConformationSet getConformationSet(Index total_conformations = 0);
double calculateRMSD(const AtomContainer& S1, const AtomContainer& S2, int* no_matched_atoms = NULL);
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 static String OPTION_FILE_PARAMETER_NAME;
const AtomContainer* getVisualizationPose();
void setVisualizationPose(const double& score);
double getVisualizationPoseScore();
bool new_pose_to_be_visualized;
DISPLAYMODE getDisplayMode();
void setDisplayMode(DISPLAYMODE display_mode);
void setMaxFps(int no);
protected:
static void writeSubcategories_(Options& category, std::ostream& out);
System* system1_;
System* system2_;
bool pause_;
bool abort_;
bool finished_;
AtomContainer* reference_ligand_;
String name_;
AtomContainer* receptor_;
AtomContainer* ligand_;
void mapLigandOntoReferenceLigand();
ScoringFunction* scoring_function_;
String parameter_filename_;
String scoring_type_;
DISPLAYMODE display_mode_;
AtomContainer visualization_pose_;
double visualization_pose_score_;
double min_sec_between_visualizations_;
Timer visualization_timer_;
};
} // namespace BALL
#endif // BALL_DOCKING_COMMON_DOCKINGALGORITHM_H
BALL_EXPORT
#define BALL_EXPORT
Definition COMMON/global.h:50
system.h
BALL::AtomContainer
Definition atomContainer.h:32
BALL::ConformationSet
Definition conformationSet.h:33
BALL::DockingAlgorithm::readOptionFile
static void readOptionFile(String filename, Options &output_options, list< Constraint * > &output_constraints, const AtomContainer *ref_ligand=0)
BALL::DockingAlgorithm::~DockingAlgorithm
virtual ~DockingAlgorithm()
BALL::DockingAlgorithm::system2_
System * system2_
Definition dockingAlgorithm.h:176
BALL::DockingAlgorithm::getVisualizationPose
const AtomContainer * getVisualizationPose()
BALL::DockingAlgorithm::getDisplayMode
DISPLAYMODE getDisplayMode()
BALL::DockingAlgorithm::finished_
bool finished_
Definition dockingAlgorithm.h:180
BALL::DockingAlgorithm::setScoringFunction
void setScoringFunction(ScoringFunction *scoring)
Definition dockingAlgorithm.h:94
BALL::DockingAlgorithm::DockingAlgorithm
DockingAlgorithm()
BALL::DockingAlgorithm::visualization_pose_
AtomContainer visualization_pose_
Definition dockingAlgorithm.h:203
BALL::DockingAlgorithm::getVisualizationPoseScore
double getVisualizationPoseScore()
BALL::DockingAlgorithm::visualization_pose_score_
double visualization_pose_score_
Definition dockingAlgorithm.h:205
BALL::DockingAlgorithm::wasPaused
virtual bool wasPaused() const
Definition dockingAlgorithm.h:137
BALL::DockingAlgorithm::receptor_
AtomContainer * receptor_
Definition dockingAlgorithm.h:187
BALL::DockingAlgorithm::writeOptionFile
static void writeOptionFile(String filename, Options &input_options, list< Constraint * > &input_constraints)
BALL::DockingAlgorithm::visualization_timer_
Timer visualization_timer_
Definition dockingAlgorithm.h:208
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::DockingAlgorithm::setDisplayMode
void setDisplayMode(DISPLAYMODE display_mode)
BALL::DockingAlgorithm::proceed
virtual void proceed()
BALL::DockingAlgorithm::OPTION_FILE_PARAMETER_NAME
static const String OPTION_FILE_PARAMETER_NAME
Definition dockingAlgorithm.h:154
BALL::DockingAlgorithm::getConformationSet
virtual ConformationSet getConformationSet(Index total_conformations=0)
BALL::DockingAlgorithm::setup
virtual void setup(System &receptor, System &ligand, Options &new_options)
BALL::DockingAlgorithm::getScoringFunction
ScoringFunction * getScoringFunction()
BALL::DockingAlgorithm::options
Options options
Definition dockingAlgorithm.h:67
BALL::DockingAlgorithm::calculateRMSD
double calculateRMSD(const AtomContainer &S1, const AtomContainer &S2, int *no_matched_atoms=NULL)
BALL::DockingAlgorithm::pause_
bool pause_
Definition dockingAlgorithm.h:178
BALL::DockingAlgorithm::DockingAlgorithm
DockingAlgorithm(System &receptor, System &ligand, Options &new_options)
BALL::DockingAlgorithm::abort
virtual void abort()
BALL::DockingAlgorithm::DockingAlgorithm
DockingAlgorithm(System &receptor, System &ligand)
BALL::DockingAlgorithm::parameter_filename_
String parameter_filename_
Definition dockingAlgorithm.h:195
BALL::DockingAlgorithm::setup
virtual void setup(System &receptor, System &ligand)
BALL::DockingAlgorithm::setVisualizationPose
void setVisualizationPose(const double &score)
BALL::DockingAlgorithm::mapLigandOntoReferenceLigand
void mapLigandOntoReferenceLigand()
BALL::DockingAlgorithm::name_
String name_
Definition dockingAlgorithm.h:185
BALL::DockingAlgorithm::getName
const String & getName()
BALL::DockingAlgorithm::dockLigand
virtual double dockLigand(AtomContainer &ligand, bool verbose=0)
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::getReferenceLigand
const AtomContainer * getReferenceLigand()
BALL::DockingAlgorithm::getProgress
virtual float getProgress() const
BALL::DockingAlgorithm::pause
virtual void pause()
BALL::DockingAlgorithm::reset
virtual void reset()
BALL::DockingAlgorithm::reference_ligand_
AtomContainer * reference_ligand_
Definition dockingAlgorithm.h:182
BALL::DockingAlgorithm::new_pose_to_be_visualized
bool new_pose_to_be_visualized
Definition dockingAlgorithm.h:162
BALL::DockingAlgorithm::system1_
System * system1_
Definition dockingAlgorithm.h:175
BALL::DockingAlgorithm::setLigand
void setLigand(AtomContainer *ligand)
BALL::DockingAlgorithm::writeSubcategories_
static void writeSubcategories_(Options &category, std::ostream &out)
BALL::DockingAlgorithm::start
virtual void start()
BALL::DockingAlgorithm::min_sec_between_visualizations_
double min_sec_between_visualizations_
Definition dockingAlgorithm.h:207
BALL::DockingAlgorithm::display_mode_
DISPLAYMODE display_mode_
Definition dockingAlgorithm.h:200
BALL::DockingAlgorithm::abort_
bool abort_
Definition dockingAlgorithm.h:179
BALL::DockingAlgorithm::getLigand
const AtomContainer * getLigand()
BALL::DockingAlgorithm::setMaxFps
void setMaxFps(int no)
BALL::DockingAlgorithm::wasAborted
virtual bool wasAborted() const
Definition dockingAlgorithm.h:133
BALL::DockingAlgorithm::finish
virtual void finish()
BALL::DockingAlgorithm::scoring_function_
ScoringFunction * scoring_function_
Definition dockingAlgorithm.h:193
BALL::DockingAlgorithm::scoring_type_
String scoring_type_
Definition dockingAlgorithm.h:198
BALL::DockingAlgorithm::ligand_
AtomContainer * ligand_
Definition dockingAlgorithm.h:189
BALL::DockingAlgorithm::DISPLAYMODE
DISPLAYMODE
Definition dockingAlgorithm.h:50
BALL::DockingAlgorithm::NO_DISPLAY
@ NO_DISPLAY
Definition dockingAlgorithm.h:51
BALL::DockingAlgorithm::BEST_INTERMEDIATE_POSES
@ BEST_INTERMEDIATE_POSES
Definition dockingAlgorithm.h:52
BALL::DockingAlgorithm::ALL_INTERMEDIATE_POSES
@ ALL_INTERMEDIATE_POSES
Definition dockingAlgorithm.h:53
BALL::DockingAlgorithm::NO_INTERMEDIATE_POSES
@ NO_INTERMEDIATE_POSES
Definition dockingAlgorithm.h:54
BALL::DockingAlgorithm::hasFinished
virtual bool hasFinished() const
BALL::Options
Definition options.h:48
BALL::ScoringFunction
Definition scoringFunction.h:29
BALL::String
Definition string.h:57
BALL::System
Definition KERNEL/system.h:40
BALL::Timer
Definition timer.h:31
conformationSet.h
constraints.h
BALL::Matrix4x4
TMatrix4x4< float > Matrix4x4
Definition matrix44.h:2184
matrix44.h
BALL
Definition constants.h:13
BALL::Size
BALL_SIZE_TYPE Size
Definition COMMON/global.h:114
BALL::Index
BALL_INDEX_TYPE Index
Definition COMMON/global.h:105
options.h
timer.h