cclib 2.0: An updated architecture for interoperable computational chemistry

Eric Berquist, Amanda Dumi, Shiv Upadhyay, Omri D Abarbanel, Minsik Cho, Sagar Gaur, Victor Hugo Gano Gil, Geoffrey R Hutchison, Oliver S Lee, Andrew S Rosen, Sanjeed Schamnad, Felipe S S Schneider, Casper Steinmann, Maxim Stolyarchuk, Jonathon E Vandezande, Weronika Zak, Karol M Langner*

*Corresponding author for this work

Research output: Contribution to journalJournal articleResearchpeer-review

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.

Original languageEnglish
Article number042501
JournalJournal of Chemical Physics
Volume161
Issue number4
Number of pages12
ISSN0021-9606
DOIs
Publication statusPublished - 28 Jul 2024

Fingerprint

Dive into the research topics of 'cclib 2.0: An updated architecture for interoperable computational chemistry'. Together they form a unique fingerprint.

Cite this