Open davidlmobley opened 8 years ago
Regarding the formal charge, we can use OEAssignFormalCharges
( http://docs.eyesopen.com/toolkits/python/oechemtk/OEChemFunctions/OEAssignFormalCharges.html ) with this additional info:
"Sets the formal charge property of an atom, based upon a simplistic valence model. This function assumes that the bond orders and implicit hydrogen counts have been set on a molecule. For example, this function will place a single positive charge on a neutral four-valent nitrogen. Note that this function only modifies neutral atoms, with zero formal charge. This preserves any formal charges previously assigned, but requires the charge to be reset to zero in order to force a reassignment."
There are more details on the valence model here: https://docs.eyesopen.com/toolkits/python/oechemtk/valence.html#openeye-valence-models
We'll need to create
OEMol
objects from components of an OpenMMTopology
as discussed in #18 . Assuming these topologies contain connectivity, element, bond order, and formal charge, this should be possible to do using the basicOEChem
primer ingredients such as atom creation, bond creation, assignment of formal charges and so on.I will raise an issue with OpenEye support to see if it can be done without formal charge provided all of the atoms are explicit.