Closed kntkb closed 1 year ago
I think fixing the atom hybridization using OpenEye toolkit is straight forward. You just need to add oechem.OEAssignHybridization(mol)
somewhere before creating the input features. For example, right after you initialize the graph (read_homogeneous_graph.py#L177) assuming that the mol
in def from_oemol()
is a oechem.OEMol object.
I'm closing this issue because espaloma does not use openeye toolkit to create the input features. It uses rdkit in the backend.
Problem
Current implementation does not properly assign atom hybridization using openeye toolkit. I think you need to first run
oechem.OEAssignHybridization()
to assign the atom hybridization. However, I could not find it in read_homogeneous_graph.py where I assume is responsible for creating the node features.Regarding the discussions in espaloma_charge issue #18 should we exclude
atom.GetValence()
,atom.GetExplicitValence()
, and perhapsatom.GetFormalCharge()
from the input features? Also, do we needatom.GetIsotope()
?RDKit and OpenEye toolkit gives different node features. Also the HybridizationType in RDKit is not fully supported which will raise an error if hydrogen atom is passed.
Reproduce (atom hybridization):
output:
rdkit version: '2022.03.4' openeye version: '2022.1.1'