Model testing pipeline insights. Each of the selected models underwent the same steps in the final model building pipeline. For the hyperparameter optimization, we chose the tree-structured Parzen estimator implemented in the Python library hyperopt. The hyperparameter spaces used for the optimization are described in Methods; for Chemprop, we used the parameter space proposed by the developers. The robustness of each model was estimated by 5-fold cross-validation.