Skip to main content

HORTON-PART

Python 3.10 Python 3.11 Python 3.12 Python 3.13

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

arXiv: 2405.08455 JCP: 10.1063/5.0245287 JCP: 10.1063/5.0076630

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

GPLv3 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,

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. arXiv: 2412.05079

[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, JCP: 10.1063/5.0245287

[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. JCP: 10.1063/5.0076630

[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. JCP: 10.1063/5.0196638

[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. JCP: 10.1063/5.0202240

[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. JCP: 10.1063/5.0216776

[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. JCC: 10.1002/jcc.26468

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)

Source distribution for horton-part 1.1.9
File Size Uploaded
horton_part-1.1.9.tar.gz 2.9 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for horton-part 1.1.9
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

1.2.0

2 release files

This release

1.1.9 This release

2 release files

1.1.8

2 release files

1.1.7

2 release files

0.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page