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.7.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.7-py3-none-any.whl (113.4 kB view details)

Uploaded Python 3

File details

Details for the file horton_part-1.1.7.tar.gz.

File metadata

  • Download URL: horton_part-1.1.7.tar.gz
  • Upload date:
  • Size: 5.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for horton_part-1.1.7.tar.gz
Algorithm Hash digest
SHA256 e2cd1b214df205354d6256656a6a7d9f49ec7b41117ded227c7423e2005b819c
MD5 82d3a70286d3dce7042e1c64c2c33112
BLAKE2b-256 6fdd27b6e9a570d1473cc4618f3293ce037fb53b9e4c5f3535bc673190267373

See more details on using hashes here.

File details

Details for the file horton_part-1.1.7-py3-none-any.whl.

File metadata

  • Download URL: horton_part-1.1.7-py3-none-any.whl
  • Upload date:
  • Size: 113.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for horton_part-1.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 c6c95f8bfd6c0de05018c19eb728c62a47c122db545f392833ec454de5bd4dba
MD5 8eff8848e4b5d0ae4159a63bc4666328
BLAKE2b-256 765aa0703a6552ebe9c23bb7b5c518612eafbe20b5d1a20c9fbb4e356455552f

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