This repository includes the Jupyter notebook and Python class used to run the optimization campaign for Millad MX 8000 in the paper "Catalytic allylation of native hexoses and pentoses in water with indium" by T. Adak, T. Menard, M. Albritton, F. Florit, M.D. Burke, K.F. Jensen, and S.E. Denmark.
The notebook summarizes the results of the paper and can be used as a reference for other optimization campaigns different from Millad. The notebook guides the reader through the BO presented in the paper: the section "Bayesian Optimization" collects all experimental results of the optimization campaign aimed at maximizing yield as a function of four reaction parameters. Afterwards, section "Productivity-yield PF" presents the multi-objective optimization of yield and productivity: the Pareto front is computed based solely on the results of the yield optimization campaign.
The class provided is general (not tied to Millad): any number of parameters can be used in Euclidean domains to optimize a single objective. Also the multi-objective optimization reported in the notebook is general (valid for any reaction) for the constrcution of the PF between yield and productivity.
Federico Florit: github
If you use any part of this code in your work, please cite the paper.
@article{millad,
author = {Tapas Adak, Travis Menard, Matthew Albritton, Federico Florit, Martin D. Burke, Klavs F. Jensen and Scott E. Denmark},
title = {Catalytic Allylation of Native Hexoses and Pentoses in Water with Indium},
journal = {Nature},
year = {2025},
number = {640},
pages = {94-99},
url = {https://doi.org/10.1038/s41586-025-08690-z}
}
This software is released under a BSD 3-Clause license. For more details, please refer to LICENSE.