primaryodors / primarydock

PrimaryOdors.org molecular docker.
Other
6 stars 4 forks source link

If two oxygens are in proximity, and one is part of a hydroxyl, rotate so the hydrogen falls between them. #82

Closed electronicsbyjulie closed 2 years ago

electronicsbyjulie commented 2 years ago

If both oxygens are part of a hydroxyl, rotate the oxygen with the lower numbered address in memory.

Probably do this in Molecule::get_intermol_binding() right inside the if (!shielded()) control structure.

Test by running a quick dock of something like fructone with a lot of oxygens in a receptor like OR5AC2 with a lot of hydroxy residues in the binding pocket. Make sure the residues form good H-bonds with the ligand.

electronicsbyjulie commented 2 years ago

TODO: Prevent rotating the hydrogen in if the other heavy atom already has a hydrogen between it and the hydroxy heavy atom.

Also, let's do something in the code to make polar hydrogens repel each other.