5 #ifndef BALL_DOCKING_IMGDOCK_IMGDOCK_H
6 #define BALL_DOCKING_IMGDOCK_IMGDOCK_H
8 #ifndef BALL_DOCKING_COMMON_DOCKINGALGORITHEM_H
12 #ifndef BALL_MOLMEC_COMMON_FORCEFIELD_H
16 #ifndef BALL_MATH_MATRIX44_H
20 #ifndef BALL_SCORING_COMMON_SCORINGFUNCTION_H
24 #ifndef BALL_DOCKING_COMMON_STATICLIGANDFRAGMENT_H
28 #ifndef BALL_DOCKING_COMMON_SIDECHAINOPTIMIZER_H
103 void printFragments(std::ostream& out = std::cout);
105 void printResults(std::ostream& out = std::cout);
108 void rotateLigandFragment(
Size fragment,
Size bond,
int degree);
110 void steps(
Size no = 1);
115 void startDock(
bool verbose = 0);
122 static void getDefaultOptions(
Options& options);
131 typedef std::multimap<double, std::vector<int> > PoseList;
138 void translateLigand(
Vector3& v);
141 void calculateScore(
double& interact_energy,
double& conf_energy);
143 void createLigandFragments();
149 void reassignForces();
152 void saveBondInformation();
156 bool findUnfrozenFragments(
int fragment, std::set<int> frozen_fragments, std::set<int>& processed_fragments);
158 void postDockOptimization(
double step_width,
int no_steps);
160 void recursionPrint(
string line);
162 void optimizeRotation(std::vector < int > & conf, PoseList& best_conformations,
Size bond,
bool ignore_original_angle);
164 void displayConformation(
const std::vector < int > & conf,
const double& energy);
166 void applyConformation(
const std::vector < int > & conf,
bool verbose = 0);
181 void rotateLigand(
int a,
int degree);
184 void resetRotations();
187 void saveAtomPositions();
198 bool superpose_ligand_;
202 std::vector<Vector3> original_atom_positions_;
212 std::vector < Vector3 > old_forces_;
215 std::vector < int > current_conformation_;
218 std::vector < std::vector < int > > bond_information_;
221 int max_rotated_pos_;
224 bool decrease_stepwidth_;
232 int post_optimization_steps_;
235 double post_optimization_step_width_;
238 bool global_rotation_;
240 int min_inhibitor_atoms_;
243 int av_ref_lig_neighbors_;
245 PoseList best_conformations_;
253 #endif // BALL_DOCKING_IMGDOCK_IMGDOCK_H
static const char * ITERATIONS
static const char * NO_SOLUTIONS
static const char * SUPERPOSE_LIGAND
static String SCORING_TYPE
static const char * STEP_WIDTH
static double POST_OPTIMIZATION_STEP_WIDTH
static int POST_OPTIMIZATION_STEPS
static const char * POST_OPTIMIZATION_STEP_WIDTH
static bool GLOBAL_ROTATION
static const char * SCORING_TYPE
static int MIN_INHIBITOR_ATOMS
static const char * DECREASE_STEPWIDTH
static const char * GLOBAL_ROTATION
static bool DECREASE_STEPWIDTH
std::list< std::pair< Atom *, Atom * > > AtomPairList
static const char * MIN_INHIBITOR_ATOMS
static const char * POST_OPTIMIZATION_STEPS
static bool SUPERPOSE_LIGAND