Litcius/Paper detail

<tt>cclib</tt> 2.0: An updated architecture for interoperable computational chemistry

Eric Berquist, Amanda Dumi, Shiv Upadhyay, Omri Abarbanel, Minsik Cho, S.P. Gaur, V. Gil, Geoffrey Hutchison, Oliver Lee, Andrew Rosen, Sanjeed Schamnad, Felipe S. S. Schneider, Casper Steinmann, Maxim Stolyarchuk, Jonathon E. Vandezande, Weronika Zak, Karol M. Langner

2024The Journal of Chemical Physics8 citationsDOIOpen Access PDF

Abstract

Interoperability in computational chemistry is elusive, impeded by the independent development of software packages and idiosyncratic nature of their output files. The cclib library was introduced in 2006 as an attempt to improve this situation by providing a consistent interface to the results of various quantum chemistry programs. The shared API across programs enabled by cclib has allowed users to focus on results as opposed to output and to combine data from multiple programs or develop generic downstream tools. Initial development, however, did not anticipate the rapid progress of computational capabilities, novel methods, and new programs; nor did it foresee the growing need for customizability. Here, we recount this history and present cclib 2, focused on extensibility and modularity. We also introduce recent design pivots-the formalization of cclib's intermediate data representation as a tree-based structure, a new combinator-based parser organization, and parsed chemical properties as extensible objects.

Topics & Concepts

InteroperabilityComputer scienceArchitectureChemistryComputational scienceSoftware engineeringComputer architectureWorld Wide WebArtVisual artsComputational Drug Discovery MethodsMachine Learning in Materials ScienceMolecular spectroscopy and chirality