formal_charges
Formal charge assignment for molecular graphs.
Assigns formal charges based on valence analysis and recognition of common charged functional groups (nitro, carboxylate, ammonium, etc.).
assign_formal_charges(graph)
Return a new MolecularGraph with formal charges assigned.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
graph
|
MolecularGraph
|
Input MolecularGraph. |
required |
Returns:
| Type | Description |
|---|---|
MolecularGraph
|
New MolecularGraph with formal_charges populated. |
Source code in chmpy/graph/formal_charges.py
guess_formal_charges(graph)
Guess formal charges for atoms in a molecular graph.
Uses valence analysis and pattern recognition to identify charged atoms. Handles common functional groups like: - Nitro groups: N+[O-] - Carboxylates: C(=O)[O-] - Ammonium: [NH4+], [NR4+] - Sulfonates, phosphates, etc.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
graph
|
MolecularGraph
|
A MolecularGraph instance. |
required |
Returns:
| Type | Description |
|---|---|
ndarray
|
Array of formal charges (integers) for each atom. |