If you have an ACS member number, please enter it here so we can link this account to your membership. (optional)

ACS values your privacy. By submitting your information, you are gaining access to C&EN and subscribing to our weekly newsletter. We use the information you provide to make your reading experience better, and we will never sell your data to third party members.


Physical Chemistry

Quantum Chemistry’s Modular Movement

ACS Meeting News: Software developers seek to reduce redundancy by writing reusable code

by Elizabeth K. Wilson
August 25, 2014 | A version of this story appeared in Volume 92, Issue 34

Credit: Robert Parrish
Software developed with the PANACHE library created this model of benzene being polarized by a sodium cation.
Computer graphic of benzene and a sodium cation
Credit: Robert Parrish
Software developed with the PANACHE library created this model of benzene being polarized by a sodium cation.

Modern chemists who want to use computers to predict molecular structures or probe the dynamics of chemical reactions have a wealth of quantum chemistry software packages from which to choose.

That’s great for the scientists using the software. But for academic researchers who develop quantum chemistry software packages, it can mean months of code-writing drudgery.

Just as cars have fundamental components like transmissions and brakes, computational programs have core functionalities such as the ability to determine electron repulsion integrals and to perform Hartree-Fock molecular orbital theory and density functional theory calculations. In the quantum chemistry world, that means each software package must have its own code for these core functionalities.

“A lot of effort goes into reinventing the wheel,” said C. David Sherrill, a professor of chemistry and biochemistry at Georgia Institute of Technology and codirector of the university’s Center for Computational Molecular Science & Technology. “Some poor soul has to go write their own Hartree-Fock code, just because you have to have it in the package,” he lamented.

Software developers would find it much easier if these components—and groundbreaking computational components of the future—could be generalized to work with any quantum chemistry software package, be it PSI4, NWChem, or GAMESS, Sherrill said during a symposium at the American Chemical Society national meeting held in San Francisco earlier this month. The symposium was cosponsored by the Divisions of Computers in Chemistry and Physical Chemistry.

Quantum chemists have been pondering and working on this problem for a while, and in the past few years, they’ve been making some progress in developing what Sherrill calls “reusable software components.”

“Its time has come,” said Theresa L. Windus, a chemistry professor at Iowa State University who cochaired the ACS symposium. Compared with the situation 15 years ago, more chemists—particularly of the younger generation—have bought into the idea of “interoperability,” where information can be used between different hardware and software platforms or code can easily be used together.

“Chemists have started to explore alternative programming languages and are realizing there’s a lot of support there,” Windus said. “There’s a critical mass of people to make this effort go forward.”

Case in point is the effective fragment potential (EFP), a useful computational algorithm for modeling extended systems such as large molecular assemblies. Lyudmila V. Slipchenko, a chemistry professor at Purdue University, and postdoc Ilya Kaliman recently developed a portable version of EFP, called libefp, which can be downloaded for free by anyone (J. Comput. Chem. 2013, DOI: 10.1002/jcc.23375).

Having a version of EFP they can just download and plug in saves Sherrill and his research team time as they’re developing PSI4, he said. “It takes us only a few days to figure out how to tie it in to our software. It’s much better than spending months writing our own code.”

In another example, Stefan Grimme, a chemistry professor at the University of Bonn, in Germany, has written code called DFT-D3 that can add long-range London dispersion forces to density functional theory (DFT) calculations, which typically lack these types of weak molecular interactions. “You just feed it coordinates of atoms, and it gives you back dispersion corrections,” Sherrill said.

Sherrill’s group, which includes Edmond Chow, a professor in the computing department at Georgia Tech, and T. Daniel Crawford, a theoretical chemistry professor at Virginia Tech, is working on a project known as PANACHE (parallel numerical approximations in chemistry engine), which is a collection of code that can accelerate lots of pieces of quantum chemistry calculations. They’ve used it with some success in several different quantum chemical applications (J. Chem. Phys. 2014, DOI: 10.1063/1.4869686 and 10.1063/1.4889855).

Originally, the researchers were designing PANACHE for their own package, PSI4, but now are working on a portable library known as libPANACHE, which they’d like to interface with GAMESS, a quantum chemistry software suite developed by chemistry professor Mark S. Gordon’s team at Iowa State. “Our hope is that multiple other packages will use it,” Sherrill told C&EN.

Extrapolating far into the future, chemists might be able to pick and choose components when building software. “If we had the right software tools and components,” Sherrill said, “it would be easy to make packages that would be custom designed to people’s needs.”



This article has been sent to the following recipient:

Chemistry matters. Join us to get the news you need.