AutoDock-Vina
AutoDock-Vina copied to clipboard
How to add H-bond directionality in Vina?
It seems that the directionality of H-bond is not considered according to the code. class vina_non_dir_h_bond : public Potential { public: vina_non_dir_h_bond(fl good_, fl bad_, fl cutoff_) : good(good_), bad(bad_), cutoff(cutoff_) { } //~vina_non_dir_h_bond() { } fl eval(const atom& a, const atom& b, fl r) { if (r >= cutoff) return 0.0; if ((a.xs >= XS_TYPE_SIZE) || (b.xs >= XS_TYPE_SIZE)) return 0.0; if (xs_h_bond_possible(a.xs, b.xs)) return slope_step(bad, good, r - optimal_distance(a.xs, b.xs)); return 0.0; }; fl eval(sz t1, sz t2, fl r) { if (r >= cutoff) return 0.0; if(xs_h_bond_possible(t1, t2)) return slope_step(bad, good, r - optimal_distance(t1, t2)); return 0.0; }; fl get_cutoff() { return cutoff; } private: fl good; fl bad; fl cutoff; };
Is it possible to add the H-bond directionality in vina? A straightforward approach is to consider the hydrogen bond term only when the donor-hydrogen...acceptor (D-H...A) angle falls within a specified cutoff; if the angle is outside this range, the hydrogen bond term is set to zero.
It would be quite some work, the code is designed for pairwise interactions.