-
Hi,
and the poses with
I calculated the fingerprint with
But I get the following error:
I got the same error when trying to calculate the fingerprint for a protein with cobalt in the binding site. I also have some proteins with an heme group with iron in the binding site and in these cases the calculation of the fingerprint just run for a very long time without giving any output (the tqdm bar doesn't appear) or any error. I stopped the calculation after 20 minutes without results. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
Hi, First of, the default fingerprint does not calculate coordination with metal ions, you need to explicitly specify Metal interactions if you want them, otherwise you might only capture ionic interactions here. I'd suggest switching to fp = plf.Fingerprint([
'MetalAcceptor', 'MetalDonor', 'Hydrophobic',
'HBAcceptor', 'HBDonor', 'Cationic', 'Anionic',
'CationPi', 'PiCation', 'PiStacking', 'VdWContact',
]) As for the error message you see, it's caused by the fp = plf.Fingerprint(
[
'MetalAcceptor', 'MetalDonor', 'Hydrophobic',
'HBAcceptor', 'HBDonor', 'Cationic', 'Anionic',
'CationPi', 'PiCation', 'PiStacking', 'VdWContact',
],
parameters={
"VdWContact": {
"vdwradii": {"Mn": 2.45}
}
}
) Lastly, for your protein with the heme group not even showing the progress bar, it likely means that MDAnalysis is still trying to convert your protein (in that case I assume you've selected everything in your file) to an RDKit molecule, and that process is known to be slow. I would advise passing a selection of atoms around your ligand instead of the entire universe. Now because the ligands are in a separate file it complexifies the process a bit but essentially we can calculate the centroid of your first pose (or maybe you have a reference ligand) and then select all residues within a specified radius (here 15A) of that centroid: ref = pose_iterable[0]
centroid = " ".join(f"{x:.2f}" for x in ref.centroid)
protein_selection = u.select_atoms(f"byres point {centroid} 15.0")
protein_mol = plf.Molecule.from_mda(protein_selection) Hopefully with all this you should be able to calculate your fingerprint and it will be a bit faster! |
Beta Was this translation helpful? Give feedback.
Hi,
First of, the default fingerprint does not calculate coordination with metal ions, you need to explicitly specify Metal interactions if you want them, otherwise you might only capture ionic interactions here. I'd suggest switching to
As for the error message you see, it's caused by the
VdWContact
interaction that does not have access to the van der Waals radii for all elements, they are only implemented for a subset. I use the van der Waals radii as defined by MDAnalysis here, and any element that is not…