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 or later.
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 the GNU General Public License version 3 or later.
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 https://github.com/LISA-partitioning-method/horton-part.git
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.
Metadata
Release files for horton-part 1.1.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| horton_part-1.1.9.tar.gz | 2.9 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| horton_part-1.1.9-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 3.0 MB
Release files / horton_part-1.1.9.tar.gz
| Download URL | horton_part-1.1.9.tar.gz |
|---|---|
| Size | 2.9 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cf07d06d037f7d89932d0f9a7beb78c43bbee3a9e9d40d952232dbdae20d3e31
|
|
BLAKE2b-256 checksum How to use checksums |
b3be45e3d1e5e4c50bf4e118b35d52186ee5359e9401cfe88fe55805e652fad4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.9
|
Release files / horton_part-1.1.9-py3-none-any.whl
| Download URL | horton_part-1.1.9-py3-none-any.whl |
|---|---|
| Size | 121.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0ab6c51b950c15499264443dc45fb600c472f789177e8d83506b3a106e5f8b08
|
|
BLAKE2b-256 checksum How to use checksums |
76da457badf6f2d4cb5aaa293bb4e9b679cd2bbd42a121fea1e696994326ec50
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.9
|