atomic_partial_charges#
- skfp.descriptors.atomic_partial_charges(mol: Mol, partial_charge_model: str = 'formal', charge_errors: str = 'raise') ndarray#
Atomic partial charges.
Calculate the atomic partial charges for all atoms in the molecule, using a given computational model. Note that it may fail for some molecules, e.g. Gasteiger model cannot compute charges for metals.
- Parameters:
mol (RDKit
Molobject) – The molecule for which to calculate the atomic partial charges.partial_charge_model ({"Gasteiger", "MMFF94", "formal", "precomputed"}, default="formal") – Which model to use to compute atomic partial charges. Default
"formal"computes formal charges, and is the simplest and most error-resistant one."precomputed"assumes that the inputs are RDKitPropertyMolobjects with “charge” float property set.charge_errors ({"raise", "ignore", "zero"}, default="raise") – How to handle errors during calculation of atomic partial charges.
"raise"immediately raises any errors."ignore"returnsnp.nanfor all atoms that failed the computation."zero"uses default value of 0 to fill all problematic charges.
Examples
>>> from rdkit.Chem import MolFromSmiles >>> from skfp.descriptors import atomic_partial_charges >>> mol = MolFromSmiles("C1=CC=CC=C1") # Benzene >>> atomic_partial_charges(mol) array([0., 0., 0., 0., 0., 0.])