Chemprop — Machine Learning for Molecular Property Prediction

Message passing


This website can be used to predict molecular properties using a Message Passing Neural Network (MPNN). In order to make predictions, an MPNN first needs to be trained on a dataset containing molecules along with known property values for each molecule. Once the MPNN is trained, it can be used to predict those same properties on any new molecules.


To train an MPNN, go to the Train page, upload a dataset or select a dataset which has already been uploaded, set the desired parameters, name the model, and then click "Train".


To make property predictions using, go to the Predict page, select the trained model checkpoint you want to use, upload or paste the molecules you would like to make predictions on, and then click "Predict".

Managing Data and Checkpoints

To upload, view, download, or delete datasets and model checkpoints, go to the Data and Checkpoints pages, respectively.


Using GPUs

If GPUs are available on your machine, you will see a dropdown menu on the Train and Predict pages which will allow you to select a GPU to use. If you select "None" then only CPUs will be used.

Working Remotely

If you wish to train or predict on a remote server, you can use SSH port-forwarding to run training/predicting on the remote server while viewing the website it locally. To do so, follow these instructions:

  1. Connect to the remote server: ssh <remote_user>@<remote_host>
  2. On the remote server:
    1. Navigate to the chemprop directory.
    2. Activate the conda environment with the chemprop requirements: source activate <environment_name>
    3. Start the website: python web/
  3. On your local machine:
    1. Set up port-forwarding: ssh -N -L 5000:localhost:5000 <remote_user>@<remote_host>
    2. Open a web browser and go to localhost:5000