  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.
