SEAMM Atomic Charges Plug-in
A SEAMM plug-in for computing atomic (partial) charges from a converged electron density.
Free software: BSD-3-Clause
Documentation: https://molssi-seamm.github.io/atomic_charges_step/index.html
Features
This plug-in is a post-processing step: it runs after a quantum-chemistry step (VASP, Gaussian, Psi4, ORCA, …) that has produced an electron density, reads that density, and uses a real-space density-partitioning program to assign a partial charge to each atom. The charges are written back into the configuration as a labeled charge set (e.g. charges_DDEC6) so several schemes can coexist on the same structure.
Supported methods
DDEC6 (via the Chargemol program) – ESP-faithful, chemically transferable charges that work for molecular and periodic systems, including metals. The recommended general-purpose / force-field charge.
Bader / QTAIM (via the Henkelman bader code) – a rigorous topological partition of the density, the charge solid-state users expect.
Both consume a real-space density grid (or cube), so they apply equally to periodic and molecular calculations. They need the all-electron density from the upstream step (for VASP, CHGCAR plus AECCAR0/AECCAR2 via LAECHG=.TRUE.).
Free software: BSD-3-Clause license
Documentation: https://molssi-seamm.github.io/atomic_charges_step/index.html
Acknowledgements
Developed by the Molecular Sciences Software Institute (MolSSI), which receives funding from the National Science Foundation under award CHE-2136142.
History
- 2026.8.7 – Bugfix: DDEC6 now works for charged systems (ions)
DDEC6 via Chargemol previously failed for any charged structure (an ion, or a charged BSSE fragment): ORCA’s orca_2aim always writes <Net Charge> 0.0 in the .wfx it produces, regardless of the molecule’s actual charge – confirmed on ORCA 6.1.1 for both a cation (Na+) and an anion (Cl-), even though the wfx’s own electron count is correct. Chargemol cross-checks the two and refuses to run, reporting “the quantum chemistry program you used to generate the wfx file contains a bug.” This step now corrects the <Net Charge> field to the structure’s actual charge (already known from the configuration) before handing the file to Chargemol, working around the ORCA bug rather than waiting on a fix from the vendor.
Right-clicking the node in the graphical flowchart editor did nothing – no Edit/Delete menu – because the Tk node never overrode right_click to actually post the popup menu (the base class only builds it; a subclass must call tk_popup itself). Added the same right_click override the cookiecutter template and other steps already use.
- 2026.7.14 – Control Chargemol’s core (OpenMP thread) count
The ncores option in the [atomic-charges-step] configuration is now wired to Chargemol via OMP_NUM_THREADS (it was previously documented but had no effect). ‘available’ (default) uses all cores the job/machine provides; an integer caps it. This matters most when running directly on a machine (no queuing system), where Chargemol’s OpenMP would otherwise use every core on the node.
The output now reports the number of threads used, and a line at the end of the step with the wall-clock time in seconds.
- 2026.7.13.1 – Bugfix: clearer Chargemol failures; skip incomplete densities
When Chargemol fails to produce charges, the error now quotes its real log (<input>.output) instead of the empty stdout.txt – so causes like “Could not find a suitable reference density” are shown directly. Chargemol writes its diagnostics to that log, not to stdout.
The atomic-densities directory is now used only if it actually contains the DDEC6 reference densities (c2_*.txt); an empty or incomplete directory is skipped in favor of the complete set bundled in the seamm-chargemol conda environment. This avoids a silent Chargemol failure when the configured directory exists but is not populated.
The bundled densities are now located by asking conda for the environment’s actual prefix, not by deriving it from the conda executable’s path. This fixes non-standard/HPC conda layouts where the derivation was wrong, so the densities silently were not found and DDEC6 failed.
- 2026.7.13 – Option to set the charges on the structure
New Set as the atomic charges on the structure option (default off). When on, the computed charges are also written to the structure’s standard per-atom charge attribute (in addition to the labeled charges_<label> column), so they travel with the structure – e.g. to write them to an extended-XYZ (extxyz) file for machine-learning training.
- 2026.6.29 – Run Chargemol from a dedicated conda environment
The installer now creates a ‘seamm-chargemol’ conda environment containing Chargemol (for DDEC6), and the step runs Chargemol in that environment – no hand-built installation or PATH setup is needed. Run ‘atomic-charges-step-installer install’ to set it up.
The reference atomic densities are found automatically inside the seamm-chargemol environment; the ‘DDEC reference densities’ setting is now needed only to point at a different copy.
- 2026.6.28 – Citations, charge normalization, and GUI fixes
The DDEC6 (Manz & Limas) and Bader (Henkelman) methodology papers are now cited for the charge method that is run.
The charges are normalized to the known net charge of the system with a small, reported uniform shift; this can be turned off.
Accepts an analytic wavefunction (.wfx) from a preceding ORCA step, in addition to Gaussian, for molecular DDEC6.
Fixed: the Results tab in the GUI was empty and selected results were not saved. The atomic charges, net charge, residual, and method are now listed and stored.
The charge method now offers Bader only when a density grid is available (a periodic/VASP density or explicit files); molecular densities offer DDEC6. Bader reports a clear message that it awaits periodic support.
- 2026.6.27 – Initial release of the Atomic Charges step
Computes DDEC6 atomic charges (via Chargemol) from a molecular Gaussian wavefunction (.wfx), storing them as a labeled charge set on the structure.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file atomic_charges_step-2026.8.7.tar.gz.
File metadata
- Download URL: atomic_charges_step-2026.8.7.tar.gz
- Upload date:
- Size: 327.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b302904857cb11ebdd3d8d20984055d4b829f36c5d5dd5a6f169bd0295fd7c24
|
|
| MD5 |
b4b950242f8db4aae87f2d9565c48db9
|
|
| BLAKE2b-256 |
e4155d910d8ddee96d15fae4d057873eeb279f4fd1b2ea450bf1724e83285bf6
|
File details
Details for the file atomic_charges_step-2026.8.7-py2.py3-none-any.whl.
File metadata
- Download URL: atomic_charges_step-2026.8.7-py2.py3-none-any.whl
- Upload date:
- Size: 32.0 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4edf9326caaac93e3810b10e14e9b1b83e834ba22a7e0f31b5eaf782b37fb5fb
|
|
| MD5 |
aac69a38b05ec8d90194d2af2d5dd468
|
|
| BLAKE2b-256 |
057b8ab14d35d0ec5c5001982594f81f2e753cb9824c663ba2fd4a17724a5e1b
|