ALL Metrics
-
Views
-
Downloads
Get PDF
Get XML
Cite
Export
Track
Software Tool Article

GoodVibes: automated thermochemistry for heterogeneous computational chemistry data

[version 1; peer review: 2 approved with reservations]
* Equal contributors
PUBLISHED 24 Apr 2020
Author details Author details
OPEN PEER REVIEW
REVIEWER STATUS

This article is included in the Cheminformatics gateway.

This article is included in the Python collection.

Abstract

GoodVibes is an open-source Python toolkit for processing the results of quantum chemical calculations. Thermochemical data are not simply parsed, but evaluated by evaluation of translational, rotational, vibrational and electronic partition functions. Changes in concentration, pressure, and temperature can be applied, and deficiencies in the rigid rotor harmonic oscillator treatment can be corrected. Vibrational scaling factors can also be applied by automatic detection of the level of theory and basis set. Absolute and relative thermochemical values are output to text and graphical plots in seconds. GoodVibes provides a transparent and reproducible way to process raw computational data into publication-quality tables and figures without the use of spreadsheets.

Keywords

GoodVibes, thermochemistry, quasi-harmonic, quasi-RRHO, automated thermodynamic calculations

Introduction

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

c6eb78c7-7816-41ba-946c-24420d46b568_figure1.gif

Figure 1. The GoodVibes workflow.

Computational chemistry output data files are parsed, and thermochemistry data is generated based on a series of user-defined physical assumptions and reaction conditions. The program outputs absolute and relative values to text and reaction profiles as plots. The execution time is seconds.

Methods

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.

Implementation

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.

Operation

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.

Use case

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.

Table 1. Tabulated relative Boltzmann weighted thermochemical values (shown in kcal·mol-1) from the “Ph” and “Py” pathways.

Including: single point calculations (ΔE_SPC), energy (ΔE), zero-point energy (ΔZPE), Gibbs free energy (ΔG) and quasi-harmonic corrected Gibbs free energy (qh-ΔG).

Ph pathwayΔE_SPCΔEΔZPEΔGqh-ΔG
Ph-Int-I0.000.000.000.000.00
Ph-TS-I23.5623.54-1.5521.2922.31
Ph-Int-II-12.29-14.14-0.57-13.49-12.86
Ph-TS-II-8.13-12.17-1.34-9.97-9.35
Ph-Int-III-33.59-37.61-0.57-36.61-35.11
Py pathwayΔE_SPCΔEΔZPEΔGqh-ΔG
Py-Int-I0.000.000.000.000.00
Py-TS-I15.0816.52-1.2014.2714.29
Py-Int-II-17.45-18.19-0.55-20.97-19.21
Py-TS-II-9.59-13.17-0.97-10.96-10.39
Py-Int-III-29.39-33.24-0.70-33.04-31.35
c6eb78c7-7816-41ba-946c-24420d46b568_figure2.gif

Figure 2. A reaction Gibbs energy profile is produced directly from the command above and saved to PNG file. Here, two reaction pathways, “Ph” and “Py”, are displayed.

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.

Conclusion

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.

Data availability

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

Software availability

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

Comments on this article Comments (0)

Version 1
VERSION 1 PUBLISHED 24 Apr 2020
Comment
Author details Author details
Competing interests
Grant information
Copyright
Download
 
Export To
metrics
Views Downloads
F1000Research - -
PubMed Central
Data from PMC are received and updated monthly.
- -
Citations
CITE
how to cite this article
Luchini G, Alegre-Requena JV, Funes-Ardoiz I and Paton RS. GoodVibes: automated thermochemistry for heterogeneous computational chemistry data [version 1; peer review: 2 approved with reservations] F1000Research 2020, 9(Chem Inf Sci):291 (https://doi.org/10.12688/f1000research.22758.1)
NOTE: it is important to ensure the information in square brackets after the title is included in all citations of this article.
track
receive updates on this article
Track an article to receive email alerts on any updates to this article.

Open Peer Review

Current Reviewer Status: ?
Key to Reviewer Statuses VIEW
ApprovedThe paper is scientifically sound in its current form and only minor, if any, improvements are suggested
Approved with reservations A number of small changes, sometimes more significant revisions are required to address specific details and improve the papers academic merit.
Not approvedFundamental flaws in the paper seriously undermine the findings and conclusions
Version 1
VERSION 1
PUBLISHED 24 Apr 2020
Views
79
Cite
Reviewer Report 26 May 2020
Kjell Jorner, Early Chemical Development, Pharmaceutical Sciences, R&D, AstraZeneca, Macclesfield, UK 
Approved with Reservations
VIEWS 79
Paton and co-workers describe an open source Python program, GoodVibes, for the calculation of thermochemistry from quantum-chemical calculations. The program automates a lot of the tedious work needed to process the output files and to add correction terms. Importantly, it ... Continue reading
CITE
CITE
HOW TO CITE THIS REPORT
Jorner K. Reviewer Report For: GoodVibes: automated thermochemistry for heterogeneous computational chemistry data [version 1; peer review: 2 approved with reservations]. F1000Research 2020, 9(Chem Inf Sci):291 (https://doi.org/10.5256/f1000research.25128.r63185)
NOTE: it is important to ensure the information in square brackets after the title is included in all citations of this article.
Views
112
Cite
Reviewer Report 18 May 2020
Robert Pollice, University of Toronto, Toronto, ON, Canada 
Approved with Reservations
VIEWS 112
The paper “GoodVibes: automated thermochemistry for heterogeneous computational chemistry data” by Paton et al. describes GoodVibes, an open-source program to compute thermochemical parameters from the output of popular computational chemistry software accounting for multiple well-established thermodynamic corrections developed and used ... Continue reading
CITE
CITE
HOW TO CITE THIS REPORT
Pollice R. Reviewer Report For: GoodVibes: automated thermochemistry for heterogeneous computational chemistry data [version 1; peer review: 2 approved with reservations]. F1000Research 2020, 9(Chem Inf Sci):291 (https://doi.org/10.5256/f1000research.25128.r63186)
NOTE: it is important to ensure the information in square brackets after the title is included in all citations of this article.

Comments on this article Comments (0)

Version 1
VERSION 1 PUBLISHED 24 Apr 2020
Comment
Alongside their report, reviewers assign a status to the article:
Approved - the paper is scientifically sound in its current form and only minor, if any, improvements are suggested
Approved with reservations - A number of small changes, sometimes more significant revisions are required to address specific details and improve the papers academic merit.
Not approved - fundamental flaws in the paper seriously undermine the findings and conclusions
Sign In
If you've forgotten your password, please enter your email address below and we'll send you instructions on how to reset your password.

The email address should be the one you originally registered with F1000.

Email address not valid, please try again

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.

Code not correct, please try again
Email us for further assistance.
Server error, please try again.