Published November 15, 2022 | Version v1

Wailord: Parsers and Reproducibility for Quantum Chemistry

Authors/Creators

  • 1. University of Iceland / Quansight Labs

Description

Much of the scientific python ecosystem deals with problems at the level when their structure is already present in memory. However, the generation of input files for driving existing codes, as well as the parsing of results is not typically covered in great detail. This presentation bridges the gap between external programs and data-structures, demonstrating via a practical example, the utility of code-generation and parsing expression grammar parsers for reproducible results in quantum chemistry.

 

More details at: https://rgoswami.me/posts/scipycon-2022-meta

Notes

The concept of a crisis of reproducibility in scientific research needs no introduction. Although there are several tooling approaches on can take to reduce the cognitive load of keeping track of various steps of an analysis pipeline [1], there remains an almost linguistic gap when it comes to interfacing with domain specific tools. We demonstrate the role of parsers in the reproducibility workflow. By focusing on the generation of input files and the structured extraction of output data, we will aim to plug a gap in the generation of reproducible reports, namely, interfacing (via file I/O) with existing software. The file I/O interface justifiably has many detractors, especially on an HPC (high performance computing) cluster, I/O can be a bottleneck. However, when faced with an opaque binary which outputs freeform results, powered by an input file which has little to no structure beyond a 1500 page manual of keyword arguments, the utility of a domain specific parser can pay off immensely. In our quest to translate domain intuition into computational input constraints, we will work in a reduced grammar, an intermediate representation (IR). Such an IR can be generated for multiple program specifications, so extensions to other software is not difficult either. As a concrete realization of an abstract concept, we will discuss Wailord [2], which uses parsimonious [3] and cookiecutter [4] to interface with ORCA [5], a popular free (but not open source) quantum chemistry software suite. Wailord. We will go over how such an input generation and output parser technique allows for catching otherwise hard to track down errors. Taking a step away from the problem of writing single-purpose input files and functionalities, we demonstrate how a series of tasks can be defined, executed, and harvested into a single report, at the cost of giving up control over the folder structure. [1] https://rgoswami.me/posts/pycon-in-2020-meta/ [2] https://wailord.xyz [3] https://github.com/erikrose/parsimonious [4] https://cookiecutter.readthedocs.io/ [5] https://www.kofo.mpg.de/en/research/services/orca

Files

wailord.pdf

Files (1.8 MB)

Name Size Download all
md5:f36a11361bb5e65843552d4f7a9b8531
1.8 MB Preview Download