laumalo / frag_hop

FragHop (Fragment hopping) is a Python tool capable of replacing a fragment in a ligand in order to generate a similar molecule.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Atoms within short distance create a bond when being process in Maestro

laumalo opened this issue · comments

Problem

When obtaining a new molecule using the fragment replacement technique such as:
Captura de pantalla 2021-03-22 a las 16 35 37

If two atoms, one from the scaffold and one from the new fragment, are within a short distance (under the bond distance).
When being processed by Maestro, it will creates an unwanted bond between them.
Captura de pantalla 2021-03-22 a las 16 35 43

Solution

In the fragment replacement protocol, some check up function has to be implemented to avoid these situations.
Maestro will create bonds if the distance between two atoms is > than the typical bond distance for those atom elements.

Using the values specified in atom_constants.py, in the Replacer.get_best_dihedral_angle() needs to be check that the position of the fragment (dihedral angle rotation) ensures that the only two atoms that are within bond distance are the atoms corresponding to the fragment-scaffold bond.

Implementation

This issue is addressed by introducing the check_atoms_distances() function in the Replacer.get_best_dihedral_angle()