quick-fuoss
rapid estimation of ion-pair dissociation constants
Description
quick-fuoss is an open-source Python 3 program designed to allow for quick estimation of ion-pair dissociation constants.
To run, quick-fuoss requires only the name of the cation and anion and the dielectric constant of the solvent in question.
Alternatively, .xyz files can be supplied.
quick-fuoss requires a working installation of cctk, which does most of the heavy lifting.
Theory
As the name implies, quick-fuoss uses the Fuoss model for modelling association/dissociation of idealized spherical ions in implicit solvent.1 This approach is purely Coulombic and neglects any specific ion/ion interactions, as well as inner-sphere solvent effects (e.g. solvent coordination to transition metals). Nevertheless, these approximations are reasonably satisfied for many common ion pairs.
This model has been used to correct pKa values in relatively non-polar solvents: the present implementation is based on that literature.2,3
Please note that the current implementation of quick-fuoss only supports singly charged ions!
Usage
quick-fuoss can be used starting from either the names of the ions in question (requires Internet access) or .xyz files. Some examples are shown below:
# Kd for sodium chloride in a solvent with dielectric constant 40
$ python quick_fuoss.py sodium chloride 40
# the same, but at -78 ºC
$ python quick_fuoss.py --temp 195 sodium chloride 40
# Kd of the chloride salt of cation.xyz in a solvent with dielectric constant 80
$ python quick_fuoss.py cation.xyz chloride 80
# Kd of the salt formed by combining cation.xyz and anion.xyz in a solvent with dielectric constant 12
$ python quick_fuoss.py cation.xyz anion.xyz 12
Testing
The calculated values are in reasonable agreement with reported values,4 as seen below:
$ python quick_fuoss.py tetraisoamylammonium nitrate 8.5
Reading ion #1 from rdkit...
Reading ion #2 from rdkit...
Dissociation constant: 0.00004930 M
Ionization energy: 5.873 kcal/mol
$ python quick_fuoss.py tetraisoamylammonium nitrate 11.9
Reading ion #1 from rdkit...
Reading ion #2 from rdkit...
Dissociation constant: 0.00094706 M
Ionization energy: 4.122 kcal/mol
To test that the program is working correctly, simply run:
$ python test.py
All tests successful! (9 tests run in 14.91 seconds)
References
- Fuoss, R. M. Ionic Association III: The Equilibrium between Ion Pairs and Free Ions. J. Am. Chem. Soc. 1958, 80, 5059.
- Abdur-Rashid, K. et al. An Acidity Scale for Phosphorus-Containing Compounds Including Metal Hydrides and Dihydrogen Complexes in THF: Toward the Unification of Acidity Scales. J. Am. Chem. Soc. 2000, 122, 9155.
- Paenurk, E. et al. A unified view to Brønsted acidity scales: do we need solvated protons? Chem. Sci. 2017, 8, 6964.
- Fuoss, R. M; Kraus, C. A. Properties of Electrolytic Solutions. III. The Dissociation Constant. J. Am. Chem. Soc. 1933, 55, 1019.
Authors:
quick-fuoss was written by Corin Wagen (Harvard University). Please email cwagen@g.harvard.edu with any questions or bug reports.
How to Cite:
Wagen, C.C. quick-fuoss 2020, www.github.com/corinwagen/quick-fuoss.
License:
This project is licensed under the Apache License, Version 2.0. Please see LICENSE for full terms and conditions.
Copyright 2020 by Corin Wagen
Metadata
Release files for quick-fuoss 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| quick_fuoss-0.1.4.tar.gz | 7.5 kB | Without provenance | Details for quick_fuoss-0.1.4.tar.gz |
Release files / quick_fuoss-0.1.4.tar.gz
| Download URL | quick_fuoss-0.1.4.tar.gz |
|---|---|
| Size | 7.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7e126efaaf95f65869f93dcbf2cd276a5de287cf513f7e4a4903acce4e720823
|
|
BLAKE2b-256 checksum How to use checksums |
8a88be8111315848b782540e86940f60c135c892c7839e4d0b1fe70340e1986a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.7.10
|
Security for quick-fuoss 0.1.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.