luna.mol.charge_model module¶
- class OpenEyeModel[source]¶
Bases:
luna.mol.charge_model.ChargeModel
Implementation of OpenEye charge model.
- get_charge(atm_obj)[source]¶
Get the formal charge for atom
atom_obj
.Currently, only formal charges for the elements Hydrogen, Carbon, Nitrogen, Oxygen, Phosphorus, Sulfur, Chlorine, Fluorine, Bromine, Iodine, Magnesium, Calcium, Zinc, Lithium, Sodium, Potassium, and Boron can be recovered.
- Parameters
atm_obj (
AtomWrapper
) – The target atom.
Examples
>>> from luna.mol.charge_model import OpenEyeModel >>> from luna.wrappers.base import MolWrapper >>> cm = OpenEyeModel() >>> mol_obj = MolWrapper.from_smiles("[NH3+]CC([O-])=O") >>> for atm_obj in mol_obj.get_atoms(): >>> formal_charge = cm.get_charge(atm_obj) >>> print("Charge for atom #%d (%s): %d" % (atm_obj.get_idx(), ... atm_obj.get_symbol(), ... formal_charge)) Charge for atom #0 (N): 1. Charge for atom #1 (C): 0. Charge for atom #2 (C): 0. Charge for atom #3 (O): -1. Charge for atom #4 (O): 0.