STK: A Python Toolkit for Supramolecular Assembly
A tool for the automated assembly, molecular optimization and property calculation of supramolecular materials is presented. stk is a modular, extensible and open-source Python library that provides a simple Python API and integration with third party computational codes. stk currently supports the construction of linear polymers, small linear oligomers, organic cages in multiple topologies, and covalent organic frameworks (COFs) in multiple framework topologies, but is designed to be easy to extend to new, unrelated, supramolecules or new topologies. Extension to metal-organic frameworks (MOFs), metallocycles or supramolecules, such as catenanes, would be straightforward. Through integration with third party codes, stk offers the user the opportunity to explore the potential energy landscape of the assembled supramolecule and then calculate the supramolecule’s structural features and properties. stk provides support for high-throughput screening of large batches of supramolecules at a time. The source code of the program can be found at https://github.com/supramolecular-toolkit/stk.