Closed primaryodors closed 3 months ago
All tests passing, however there may be a problem with the HM script. Still looking into that.
The OR51E2 propionate test is not always putting the ligand at Arg262. I'd like to get the CS search to consistently line up this combination, but if that's not possible, it isn't a show stopper.
Also during the course of debugging and testing, noticed that the docking algorithm usually makes considerable early progress with the ligand, but then experiences diminishing returns after the first few iterations. Since dock iterations are a time consuming process, this PR also includes a feature that skips to the end of a pose after so many iterations with no change to the ligand. It reduced the OR51E2 inactive dock to only 242 seconds on the local server.
All tests passing.
One thing that would be out of scope for this PR but may improve predictions is to run an optimization step at the end of each pose, in which residue side chains would be rotated to optimize their atoms' proximities to the ligand, histidine flips would be examined, and rotatable bonds of the ligand would be adjusted near the assigned atom group to optimize distance to its assigned residue atoms.
All tests passing.
There is now a Constrained (CS) search mode, an alternative to the "tumble spheres" (TS) and "best binding" (BB) searches.
The CS search begins by identifying residues in the binding pocket that the ligand might form noncovalent bonds with, then choosing one and aligning the ligand to it.
Next, it rotates the remainder of the ligand to "point" in the direction of the "loneliest" point, i.e. the location in 3D space farthest from any residue while still being inside the receptor.
Finally, it performs a rotation about the axis of an imaginary line joining the chosen residue and the ligand, in order to find the most energetically favorable starting point for the docking iterations.
The included unit test checks a number of receptor-ligand pairs, including OR51E2-propionate, OR51E1-octanoate (shown), TAAR8-cadaverine, and even ADORA2A-adenosine. All of the tested combinations meet basic measurement criteria of the ligand's location and orientation in the binding pocket.