-
Notifications
You must be signed in to change notification settings - Fork 68
Description
Summary
In my hands, mk_prepare_receptor is failing for proteins with a specific already-bound ligand (nitric oxide) with a CCD/PDBe code (NO).
Environment
Most recent version of meeko and rdkit (in a conda environment); replicable across 2 platforms (macOS and Windows 11 WSL) and for python 3.10 and 3.11.
Problem Description
When trying to prepare a receptor with NO present, preparation fails with the following message:
rdkitmol from cif has implicit hydrogens. -> template for NO will be None.
Failed building template from CCD for resname='NO'
Error: Creation of data structure for receptor failed.
Details: 'NoneType' object has no attribute 'parent'
Other cofactors present are handled without issue - or at least not any worse than usual, for any metallocofactors - so it's specific to this ligand.
Impact
No .pdbqt generated, and thus no subsequent docking possible.
Compound
NO - PDBe entry
Minimal Reproducible Example
After acquiring 1AOQ.pdb, adding hydrogens (via any method), and removing waters:
% mk_prepare_receptor.py -i 1AOQH.pdb -o 1AOQH -p -v --box_size 20 20 20 --box_center 1 1 1
[...output associated with other ligands or residues...]
rdkitmol from cif has implicit hydrogens. -> template for NO will be None.
Failed building template from CCD for resname='NO'
Error: Creation of data structure for receptor failed.
Details: 'NoneType' object has no attribute 'parent'
Analysis
I might speculate that the radical may be causing the problem, but I'm not sure - and I'm not sure what the right way to handle that would be.
This problem does appear to be specific to meeko, or some combination of meeko and rdkit: the GUI version of MGLTools AutoDockTools will process .pdb files with this ligand, generating a .pdbqt file (containing data for all cofactors/ligands) that can be successfully used for subsequent docking.