Navigating the Maize: Cyclic and conditional computational graphs for molecular simulation
This work addresses a specific bottleneck for researchers in computational chemistry and molecular simulation by enabling more flexible workflow execution, though it is incremental as it builds on existing graph-based approaches.
The authors tackled the limitation of existing workflow managers that cannot handle cyclic and conditional computational graphs in molecular simulation by developing Maize, a tool based on flow-based programming, which demonstrated effectiveness in dynamic active learning for drug design and reactivity prediction tasks.
Many computational chemistry and molecular simulation workflows can be expressed as graphs. This abstraction is useful to modularize and potentially reuse existing components, as well as provide parallelization and ease reproducibility. Existing tools represent the computation as a directed acyclic graph (DAG), thus allowing efficient execution by parallelization of concurrent branches. These systems can, however, generally not express cyclic and conditional workflows. We therefore developed Maize, a workflow manager for cyclic and conditional graphs based on the principles of flow-based programming. By running each node of the graph concurrently in separate processes and allowing communication at any time through dedicated inter-node channels, arbitrary graph structures can be executed. We demonstrate the effectiveness of the tool on a dynamic active learning task in computational drug design, involving the use of a small molecule generative model and an associated scoring system, and on a reactivity prediction pipeline using quantum-chemistry and semiempirical approaches.