Closed aparente-nurix closed 4 years ago
E3FP requires that all molecules have names. This is both for logging but also so that we can know which fingerprints correspond to which molecule in the resulting E3FP database. Our convention of using the property "_Name" for name follows RDKit's own convention (unless they've changed this, which doesn't seem to be the case).
In case this is a bug, it would be helpful if you could provide a minimal failing example so I can reproduce it. Either a mol/sdf file with a molecule or code to generate the molecule from smiles and the code that fails.
Without a minimal failing example, I'd say setting the name directly would be the way to go. For a molecule mol
with name "MyMol", do mol.SetProp("_Name", "MyMol")
. Then E3FP should know how to work with it.
I'm trying to generate 3D conformers from an existing rdkit mol object (which is stored in a dataframe). The problem seems to be related to the Name property, which is not set for this molecule. I know the molecule itself isn't the problem, since confs_from_smiles works just fine and this is the same smiles string I used to generate the rdkit molecule.
This is on python 3.7 and the latest e3fp build on the master branch (cloned from repo).
mols=generate_conformers(allFeats['feature_mol'][:1][0])
`--------------------------------------------------------------------------- KeyError Traceback (most recent call last)