Chemellia: An Ecosystem for Atomistic Scientific Machine Learning
Anant Thazhemadam Dhairya Gandhi Venkatasubramanian Viswanathan Rachel C. Kurchin
Chemellia is an open-source framework for atomistic machine learning in the
Julia programming language. The framework takes advantage of Julia's high speed
as well as the ability to share and reuse code and interfaces through the
paradigm of multiple dispatch. Chemellia is designed to make use of existing
interfaces and avoid ``reinventing the wheel'' wherever possible. A key aspect
of the Chemellia ecosystem is the ChemistryFeaturization interface for defining
and encoding features -- it is designed to maximize interoperability between
featurization schemes and elements thereof, to maintain provenance of encoded
features, and to ensure easy decodability and reconfigurability to enable
feature engineering experiments. This embodies the overall design principles of
the Chemellia ecosystem: separation of concerns, interoperability, and
transparency. We illustrate these principles by discussing the implementation
of crystal graph convolutional neural networks for material property
prediction.