Skip to main content

Molecular partitioning schemes used in computational chemistry

Project description

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. 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 GPL License version 3 (GPLv3).

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 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. 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

horton_part-1.1.8.tar.gz (5.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

horton_part-1.1.8-py3-none-any.whl (114.5 kB view details)

Uploaded Python 3

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

Hashes for horton_part-1.1.8.tar.gz
Algorithm Hash digest
SHA256 9a4e67c8de7dd8c434f9d9138cd8bafb946a934022b2427a79077fafab449a00
MD5 56c69c931ad04f550d073b6dabba5fa3
BLAKE2b-256 3b178b9c5b532ade631ad23d69e1cdb047e20946d965b067cf1192dc2210b571

See more details on using hashes here.

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

Hashes for horton_part-1.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 fddab5fd77ae3b76e60e5462db7c21e85eac70c03ab1aa201848a2b483942150
MD5 75efbc18202e99214137bf59c66d2957
BLAKE2b-256 a90a7eb55c0655de00135906f014c9fd43b9a47795d85ae0db92b0d0ee20bc63

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page