Skip to content

Incorrect detection of interactions #358

Description

@DrrDom

I observed multiple incorrect contact detection, which have a similar pattern. The problem was observed starting from version 2.0.X (do not remember the exact number) and till the latest version 2.2.0.

from rdkit import Chem
import prolif as plf

protein_pdb_file = 'XXX'
ligand_sdf_file = 'YYY'

protein_mol = Chem.MolFromPDBFile(
    protein_pdb_file,
    removeHs=False,
    sanitize=True,
)

ligand_mol = Chem.SDMolSupplier(ligand_sdf_file, removeHs=False, sanitize=True)[0]

ligand = plf.Molecule(ligand_mol)
protein = plf.Molecule(protein_mol)
fingerprint = plf.Fingerprint(interactions="all", count=True)
ifp = fingerprint.generate(
    ligand,
    protein,
    residues=residue_filter,
    metadata=True,
)

If look at Leu106 residue, there is HBDonor contact between OH group of a ligand and NH group of a protein. That is definitely incorrect.

Image Image

ChatGPT suggests that this may happen due to the split of protein on individual residues and afterwards applying SMARTS to detect interaction points. Therefore, NH becomes a valid H-bond acceptor partner.

I attached the test files

test_files.zip

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions