The deep-learning algorithm was created in Python and works by first converting the training data of known inhibitors' and random molecules' most important descriptors into a shuffled TensorFlow dataset with an 80-20 train-validation split. The inhibitor label is removed and then compared to the neural network's predictions to determine training and validation accuracy. The neural network (Figure ) used was a Keras sequential model, a type of multilayer perceptron. To determine the best parameters that maximized accuracy, we applied hyperparameter tuning with TensorBoard (TensorFlow's visualization kit), which essentially looped over the training algorithm changing a single parameter one at a time (Figure ). The hyperparameter tuning results indicated that the optimal algorithm trains with 7 hidden layers with 336 nodes each, 160 epochs (how many times the dataset passes through), 1 batch per epoch (maximum batch size), and a learning rate of 0.001 with the Adam optimizer. A preparation of the conformers sets was performed on all the molecules. MOE's Conformations/ Import function uses a stochastic search and energy minimization algorithm that finds the possible conformations of a molecule given limits on strain energy. We set the strain energy limit to 1 kcal/mol and restricted it to a maximum of 100 conformations per molecule.