Keywords
GoodVibes, thermochemistry, quasi-harmonic, quasi-RRHO, automated thermodynamic calculations
This article is included in the Cheminformatics gateway.
This article is included in the Python collection.
GoodVibes, thermochemistry, quasi-harmonic, quasi-RRHO, automated thermodynamic calculations
Quantum chemistry software packages implement various levels of theory and basis sets, so-called model chemistries, that can be used to optimize molecular geometries and compute ground state vibrational modes. Statistical mechanical expressions using these vibrational frequencies, along with other contributing terms to the partition function, are used to obtain the enthalpy, entropy and Gibbs energy values required to understand, validate or predict experimental observations. GoodVibes was developed to address several challenges faced by practitioners of computational thermochemistry.
Firstly, the rigid-rotor harmonic oscillator (RRHO) model is routinely used to obtain vibrational entropic contributions and is the default for most electronic structure packages. However, the harmonic approximation fails to accurately describe low frequency modes and alternative models may be more appropriate1–3. Corrections to the RRHO model may be theoretically desirable, but the absence of practical and accessible tools to implement such corrections has limited their widespread adoption. Here we present and detail the use of the program GoodVibes4, a Python-based project used for obtaining thermochemical values while applying corrections using quasi-harmonic approximations, alongside other corrections relevant to the overestimation of the zero-point energy, multi-conformer ensembles, and standard concentrations.
Secondly, computational chemistry projects often combine results from different software. For example, geometries may be optimized with one program and the energies evaluated with another. Complex spreadsheets are frequently used to process these results and to prepare figures and manuscripts. However, errors in spreadsheets are commonplace and may be hard to detect. For this reason, GoodVibes allows the combination of data from multiple program outputs as part of the same project. Our group has utilized this program in informatics and organic mechanistic studies5, however, GoodVibes is not limited to a specific area of chemistry and has been used in published studies by more than 30 different research groups. As an example, previous studies in organic catalysis and mechanism, photocatalysis, and inorganic structure characterization have made use of this program package to process and make corrections to thermochemical data6. Figure 1 details an overview of the GoodVibes workflow from input data to the various outputs. Input options supplied via the command line enable chemists with basic experience with Python to process a large number of computational output files and to generate publication-ready data. These data (e.g. figures, tables) can be quickly reproduced by any other user with access to the raw data and the GoodVibes code. With recent and coming changes to standards of supplying full computational outputs through open repositories (such as Zenodo and ioChem-BD7) alongside publications, GoodVibes allows for complete transparency in how reported thermochemical values were obtained.
By recomputing translational, rotational, vibrational and electronic partition functions from the data generated by quantum chemistry programs (such as vibrational frequencies, molecular mass, etc.), thermochemistry can be calculated in GoodVibes at any specified temperature or concentration/pressure. By default, these are set to 298.15 K and 1 atmosphere. A notable automated correction to the RRHO model is applied to low frequency vibrational modes. These low frequency modes (typically less than 100 cm-1) are not well approximated as harmonic and their entropy contributions tend to be overestimated. Methods to avoid this include nontrivial hindered-rotor calculations and computationally expensive anharmonic calculations, both of which become more infeasible with higher atom counts1. Both Cramer/Truhlar2 and Grimme3 have proposed simple, more widely adopted corrections, so-called quasi-harmonic approximations, formulated specifically to obtain vibrational entropies for these low frequency modes. GoodVibes will also automatically apply empirical scaling factors to computed frequencies. These corrections arise from the tendency of electronic structure calculations (e.g. with density functional theory) to overestimate vibrational frequencies relative to experiment, and hence zero-point energies. Linear scaling factors have been collated for a number of functional and basis set combinations for sets of small organic molecules. GoodVibes accesses the scaling factors compiled by the Truhlar group across several studies8, automatically detects the level of theory and basis set and scales the frequencies if there is a match.
Single point energy calculations performed at more expensive levels of theory and with larger basis sets are commonly used in combination with the thermal corrections obtained from separate calculations, often using different software packages9. A multitude of output files from different program packages along with correction applied by GoodVibes can be combined to construct a potential energy surface by using an easily interpretable YAML file that defines the elementary steps of the reaction, file definitions and formatting options.
GoodVibes is a module implemented in Python, currently supported by 2.6-7 and all 3.x versions. The module requires the NumPy library (version 1.14.2 or greater), with optional importing of Matplotlib (version 2.2.4 or greater) to graph potential energy surfaces. To test the accuracy and upkeep of this coding package, a series of tests have been implemented in TravisCI, checking functionality and accuracy of the code when the master branch is updated on GitHub against target Python versions on Linux, macOS and Windows operating systems.
GoodVibes is compatible with Windows 10, Linux and macOS operating systems. This software is appropriate for use with output files produced by a wide range of calculation types, including density functional theory, wave function theory, molecular mechanics, COSMO-RS solvation calculations, and semi-empirical methods. Current supported programs include Gaussian 0910, Gaussian 1611, ORCA 412 single point energy calculation files, and COSMOtherm13 COSMO-RS solvation free energy output files. GoodVibes provides an output file with tabulated thermochemical data, optionally exported as a CSV file. Cartesian coordinates of processed files can also optionally be exported in an XYZ file. Plots of energy profiles are optionally generated.
In this section we show how GoodVibes can be used with a variety of input options and files to transform heterogeneous computational chemistry data into human-readable tabulated values and figures. In this example, 50 calculation output files (25 Gaussian geometry optimizations and vibrational frequency calculations with 25 corresponding ORCA single point calculations) are used to create the data in Table 1 and graphed in Figure 2. All raw data was taken from a 2018 study14, and is freely accessible through a Zenodo repository15. Each point in Figure 2 represents a unique conformer’s Gibbs energy. The Boltzmann-weighted values are shown as dashes connected by the curved profiles. Optimizations were done with ωB97X-D/6-31+G(d)16 implemented in Gaussian using an “ultrafine” pruned (99,590) integration grid. Considering solvent effects of the reaction, calculations were run with the SMD solvation model17 using ethanol, and the concentration of each substance was set to 1.0 M for further thermochemical calculation. GoodVibes allows for solvent media corrections to entropy based on select solvent standard state concentration18, which was applied to ethanol in this case.
Thermochemistry is evaluated at a temperature of 80°C (353.15 K) in accordance with experimental conditions (the temperature assumed in the original calculations does not influence the results from GoodVibes). These values are corrected using the quasi-harmonic approximation proposed by Grimme. One conformer of intermediate II in the ‘Py’ pathway has a small imaginary frequency of 2.9 cm-1, which was “inverted” to a real value 2.9 cm-1, as done in previous works to small imaginary frequencies, typically under >i50 cm-114,19.
Separate single point energies are extracted from ORCA calculations performed at a coupled cluster level of theory with a (DZ/TZ) basis set extrapolation (DLPNO-CCSD(T), cc-pVDZ/cc-pVTZ)20, then used for calculations and added to the GoodVibes output for comparison. A potential energy surface is constructed by using Boltzmann weighted averaging of all conformers at each step in the pathway. A multi-structural correction is then applied to the resulting Gibbs free energy based on the number and energy of distinguishable conformers present for each species21. The Gibbs energy profile is constructed from options specified in the YAML file containing the reaction pathway steps, file definitions and plot formatting options. All of the output files, correction and formatting options are supplied to GoodVibes to output tabulated data and a graph of the reaction pathway from a single command:
python -m goodvibes *.log --spc DLPNO --pes science.yaml --graph
science.yaml -t 353.15 --imag --invertifreq -5 --media ethanol -c 1
Additional usage examples are described at GoodVibes GitHub repository, where several features have been added in response to requests from the community of users.
GoodVibes is a Python-based tool that calculates thermochemical data from quantum mechanical calculations in a transparent and reproducible way. GoodVibes may be employed with any type of chemical structure, including organic and inorganic molecules of varying sizes as well as with single point calculations performed by differing programs. Additionally, GoodVibes contains many additional automated features that are designed to save time for researchers, allowing for the calculation of thermochemical data at any temperature or concentration, incorporating valuable and overlooked corrections to the RRHO model through quasi-harmonic and vibrational scaling factor corrections and construction of potential energy surfaces with applied corrections accounting for the accessibility of multiple conformations. For projects involving the analysis of a large number of computational chemistry output files, GoodVibes helps to prevent human errors associated with spreadsheets, and can be used to reproduce any table or figure from the raw data.
Zenodo: Data Supporting GoodVibes: Automating and applying thermodynamic corrections to harmonic frequency calculations, https://doi.org/10.5281/zenodo.366284515.
This project contains data referenced in the use case.
Data are available under the terms of the Creative Commons Attribution 4.0 International license (CC-BY 4.0).
This code has been made accessible for chemists of various levels of computational experience and is easily installed. The most recent version of our open-sourced Python package GoodVibes v3.0.1 is freely available on GitHub at https://github.com/bobbypaton/GoodVibes. GoodVibes may be installed as a Python module from the command line using either PyPI (https://pypi.org/project/goodvibes/) or Conda (https://anaconda.org/patonlab/goodvibes) using the commands:
pip install goodvibes
or:
conda install -c patonlab goodvibes
or, by downloading the repository from GitHub and running the following command from the extracted directory:
python setup.py install
Archived source code at the time of publication: https://doi.org/10.5281/zenodo.59524622
License: MIT
Yanfei Guan (MIT), Jaime Rodríguez-Guerra (Charité Universitätsmedizin Berlin Institut für Physiologie).
Views | Downloads | |
---|---|---|
F1000Research | - | - |
PubMed Central
Data from PMC are received and updated monthly.
|
- | - |
Is the rationale for developing the new software tool clearly explained?
Yes
Is the description of the software tool technically sound?
Yes
Are sufficient details of the code, methods and analysis (if applicable) provided to allow replication of the software development and its use by others?
Yes
Is sufficient information provided to allow interpretation of the expected output datasets and any results generated using the tool?
Yes
Are the conclusions about the tool and its performance adequately supported by the findings presented in the article?
Yes
Competing Interests: No competing interests were disclosed.
Reviewer Expertise: physical organic chemistry, reaction modelling, machine learning
Is the rationale for developing the new software tool clearly explained?
Yes
Is the description of the software tool technically sound?
Yes
Are sufficient details of the code, methods and analysis (if applicable) provided to allow replication of the software development and its use by others?
Yes
Is sufficient information provided to allow interpretation of the expected output datasets and any results generated using the tool?
Yes
Are the conclusions about the tool and its performance adequately supported by the findings presented in the article?
Yes
References
1. Assaf K, Florea M, Antony J, Henriksen N, et al.: HYDROPHOBE Challenge: A Joint Experimental and Computational Study on the Host–Guest Binding of Hydrocarbons to Cucurbiturils, Allowing Explicit Evaluation of Guest Hydration Free-Energy Contributions. The Journal of Physical Chemistry B. 2017; 121 (49): 11144-11162 Publisher Full TextCompeting Interests: No competing interests were disclosed.
Reviewer Expertise: homogeneous catalysis, molecular interactions, noncovalent interactions, reaction mechanisms, chemical kinetics, organic electronics, machine learning
Alongside their report, reviewers assign a status to the article:
Invited Reviewers | ||
---|---|---|
1 | 2 | |
Version 1 24 Apr 20 |
read | read |
Provide sufficient details of any financial or non-financial competing interests to enable users to assess whether your comments might lead a reasonable person to question your impartiality. Consider the following examples, but note that this is not an exhaustive list:
Sign up for content alerts and receive a weekly or monthly email with all newly published articles
Already registered? Sign in
The email address should be the one you originally registered with F1000.
You registered with F1000 via Google, so we cannot reset your password.
To sign in, please click here.
If you still need help with your Google account password, please click here.
You registered with F1000 via Facebook, so we cannot reset your password.
To sign in, please click here.
If you still need help with your Facebook account password, please click here.
If your email address is registered with us, we will email you instructions to reset your password.
If you think you should have received this email but it has not arrived, please check your spam filters and/or contact for further assistance.
Comments on this article Comments (0)