partial_charges#
- biotite.structure.partial_charges(atom_array, iteration_step_num=6, charges=None)[source]#
Compute the partial charge of the individual atoms comprised in a given
AtomArraydepending on their electronegativity.This function implements the partial equalization of orbital electronegativity (PEOE) algorithm [1].
- Parameters:
- atom_array: AtomArray, shape=(n,)
The
AtomArrayto get the partial charge values for. Must have an associated BondList.- iteration_step_num: int, optional
The number of iteration steps is an optional argument and can be chosen by the user depending on the desired precision of the result. If no value is entered by the user, the default value
6will be used. Gasteiger and Marsili described this number as sufficient.- charges: ndarray, dtype=int, optional
The array comprising the formal charges of the atoms in the input atom_array. If none is given, the
chargeannotation category of the input atom_array is used. If neither of them is given, the formal charges of all atoms will be arbitrarily set to zero.
- Returns:
- charges: ndarray, dtype=float32
The partial charge values of the individual atoms in the input atom_array.
Notes
A
BondListmust be associated to the inputAtomArray. Otherwise, an error will be raised. Example:atom_array.bonds = struc.connect_via_residue_names(atom_array)
For the electronegativity of positively charged hydrogen, the value of 20.02 eV is used.
Also note that the algorithm used in this function does not deliver proper results for expanded pi-electron systems like aromatic rings.
References
Examples
>>> fluoromethane = residue("CF0") >>> print(fluoromethane.atom_name) ['C1' 'F1' 'H1' 'H2' 'H3'] >>> print(partial_charges(fluoromethane, iteration_step_num=1)) [ 0.115 -0.175 0.020 0.020 0.020] >>> print(partial_charges(fluoromethane, iteration_step_num=6)) [ 0.079 -0.253 0.058 0.058 0.058]