Molecular partitioning schemes used in computational chemistry
Project description
HORTON-PART
HORTON-PART is a computational chemistry package that supports different partition schemes.
It is based on the sub-module part of HORTON2, which is written and maintained by Toon Verstraelen (2).
In HORTON3, all sub-modules have been rewritten using the pure Python programming language to support Python 3+.
See more details on this website.
It should be noted that HORTON2 also supports Python 3+ now.
The part module has also been rewritten and is now called the denspart module.
However, the algorithm implemented in denspart only uses one-step optimization, which can be computationally expensive for large systems.
Additionally, denspart only supports the MBIS partitioning scheme.
Another part module has been rewritten in pure Python by Farnaz Heidar-Zadeh (2).
However, the integration grid implemented in this module still uses the old 'grid' from Horton2.
HORTON-PART with version 0.0.X is based on this module.
Starting from version 1.X.X, HORTON-PART only supports the new integration qc-grid.
The molecular density can be prepared using IOData and GBasis packages.
This version contains contributions from: YingXing Cheng (1), Toon Verstraelen (2), Pawel Tecmer (3), Farnaz Heidar-Zadeh (3), Cristina E. González-Espinoza (3), Matthew Chan (3), Taewon D. Kim (3), Katharina Boguslawski (3), Stijn Fias (4), Steven Vandenbrande (2), Diego Berrocal (3), and Paul W. Ayers (3).
- (1) Numerical Mathematics for High Performance Computing (NMH), University of Stuttgart, Stuttgart, Germany.
- (2) Center for Molecular Modeling (CMM), Ghent University, Ghent, Belgium.
- (3) The Ayers Group, McMaster University, Hamilton, Ontario, Canada.
- (4) General Chemistry (ALGC), Free University of Brussels, Brussels, Belgium.
The Horton-Part source code is hosted on GitHub and is released under the GNU General Public License v3.0.
Please report any issues you encounter while using the Horton-Part library on GitHub Issues.
For further information and inquiries, please contact us at yxcheng2buaa@gmail.com.
About
This package implements partitioning schemes described in three papers: a mathematical perspective, a numerical perspective and Approximations of the Iterative Stockholder Analysis scheme using exponential basis functions, including:
- Becke method
- Mulliken method
- Hirshfeld partitioning scheme
- Iterative Hirshfeld (Hirshfeld-I) partitioning scheme
- Iterative stockholder approach (ISA)
- Gaussian iterative stockholder approach (GISA)
- Minimal Basis Iterative Stockholder (MBIS)
- Alternating Linear approximation of the ISA (aLISA) method
- Global version of Linear approximation of the ISA (gLISA) method
- Generalized Minimal Basis Iterative Stockholder (GMBIS)
- Non-linear approximation of the ISA (NLIS) method
License
horton-part is distributed under GPL License version 3 (GPLv3).
Dependencies
The following dependencies will be necessary for horton-part to build properly,
- quadprog>=0.1.11 : https://github.com/quadprog/quadprog
- cvxopt>=1.3.1 : https://github.com/cvxopt/cvxopt
- qc-grid : https://github.com/theochem/grid
- qc-iodata : https://github.com/theochem/iodata
- gbasis : https://github.com/theochem/gbasis
Installation
To install the latest version of horton-part:
pip install horton-part
To install horton-part with version 0.0.x:
pip install horton-part==0.0.x
To install latest horton-part:
git clone http://github.com/yingxingcheng/horton-part
cd horton-part
pip install .
To run test, one needs to add tests dependencies for tests:
pip install .[tests]
For developers, one could need all dependencies:
pip install -e .[dev,tests]
Citations
Please use the following citations in any publication using horton-part library:
[1] Cheng, Y. and Stamm, B.
Approximations of the Iterative Stockholder Analysis scheme using exponential basis functions.
[2] Cheng, Y.; Cancès, E.; Ehrlacher, V.; Misquitta, A. J.; Stamm, B.
Multi-center decomposition of molecular densities: A numerical perspective.
J. Chem. Phys. 2025, 162, 074101,
[3] Benda, R.; Cancès, E.; Ehrlacher, V.; Stamm, B.
Multi-center decomposition of molecular densities: A mathematical perspective.
J. Chem. Phys. 2022, 156, 164107.
[4] Chan, M.; Verstraelen, T.; Tehrani, A.; Richer, M.; Yang, X. D.; Kim, T. D.; Vöhringer-Martinez, E.; Heidar-Zadeh, F.; Ayers, P. W.
The tale of HORTON: Lessons learned in a decade of scientific software development.
J. Chem. Phys. 2024, 160, 162501.
[5] Tehrani, A.; Yang, X. D.; Martínez-González, M.; Pujal, L.; Hernández-Esparza, R.; Chan, M.; Vöhringer-Martinez, E.; Verstraelen, T.; Ayers, P. W.; Heidar-Zadeh, F.
Grid: A Python library for molecular integration, interpolation, differentiation, and more.
J. Chem. Phys. 2024, 160, 172503.
[6] Kim, T. D.; Pujal, L.; Richer, M.; van Zyl, M.; Martínez-González, M.; Tehrani, A.; Chuiko, V.; Sánchez-Díaz, G.; Sanchez, W.; Adams, W.; Huang, X.; Kelly, B. D.; Vöhringer-Martinez, E.; Verstraelen, T.; Heidar-Zadeh, F.; Ayers, P. W.
GBasis: A Python library for evaluating functions, functionals, and integrals expressed with Gaussian basis functions.
J. Chem. Phys. 2024, 161, 042503.
[7] Verstraelen, T.; Adams, W.; Pujal, L.; Tehrani, A.; Kelly, B. D.; Macaya, L.; Meng, F.; Richer, M.; Hernández-Esparza, R.; Yang, X. D.; Chan, M.; Kim, T. D.; Cools-Ceuppens, M.; Chuiko, V.; Vöhringer-Martinez, E.; Ayers, P. W.; Heidar-Zadeh, F.
IOData: A python library for reading, writing, and converting computational chemistry file formats and generating input files.
J. Comput. Chem. 2021, 42, 458–464.
Project details
Release history Release notifications | RSS feed
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 horton_part-1.1.8.tar.gz.
File metadata
- Download URL: horton_part-1.1.8.tar.gz
- Upload date:
- Size: 5.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9a4e67c8de7dd8c434f9d9138cd8bafb946a934022b2427a79077fafab449a00
|
|
| MD5 |
56c69c931ad04f550d073b6dabba5fa3
|
|
| BLAKE2b-256 |
3b178b9c5b532ade631ad23d69e1cdb047e20946d965b067cf1192dc2210b571
|
File details
Details for the file horton_part-1.1.8-py3-none-any.whl.
File metadata
- Download URL: horton_part-1.1.8-py3-none-any.whl
- Upload date:
- Size: 114.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fddab5fd77ae3b76e60e5462db7c21e85eac70c03ab1aa201848a2b483942150
|
|
| MD5 |
75efbc18202e99214137bf59c66d2957
|
|
| BLAKE2b-256 |
a90a7eb55c0655de00135906f014c9fd43b9a47795d85ae0db92b0d0ee20bc63
|