De Novo Design of Novel Compounds with REINVENT
Tutorial Created with Software Release: 2026-2
Topics: Catalysis & Reactivity , Consumer Packaged Goods , Energy Capture & Storage , Organic Electronics , Pharmaceutical Formulations , Polymeric Materials
Methodology: Machine Learning
Products Used: DeepAutoQSAR , MS DeNovoML , MS Informatics , MS Maestro
|
1.2 GB |
This tutorial is written for use with a 3-button mouse with a scroll wheel.
Words found in the Glossary of Terms are shown like this: Workspacethe 3D display area in the center of the main window, where molecular structures are displayed
Abstract:
In this tutorial, we will learn how to train a DeepAutoQSAR model to predict flash point temperature. Next, we will use the REINVENT workflow to design novel compounds with optimized viscosity and flash point temperature.
Tutorial Content
- Introduction to De Novo Design with REINVENT
- Creating Projects and Importing Structures
- Building a DeepAutoQSAR Model for Flash Point Predictions
- De Novo Design with REINVENT
- Conclusion and References
- Glossary of Terms
1. Introduction to De Novo Design with REINVENT
REINVENT is a data-driven molecular design tool that uses machine learning (recurrent neural networks) to generate novel chemical structures optimized for user-defined objectives (de novo design). Although REINVENT was originally developed for drug discovery, it has increasingly been used in materials science, where efficiently exploring vast chemical spaces to find molecules with desired physical and electronic properties is equally challenging.
The workflow consists of three main steps. First, an undirected model – frequently called a "Prior" – is trained to generate new SMILES strings based on an initial dataset to learn the underlying chemical grammar. These novel compounds explore the same chemical space as the initial dataset in an undirected way. Next, a generative “Agent” or directed model is trained to generate new compounds that meet certain conditions via reinforcement learning, i.e., the multi-objective optimization of specific properties. Lastly, novel compounds are generated and scored based on how well they fulfill the given criteria. This workflow can be applied to anything that can be described by SMILES strings. It is applicable to small organic molecules, polymers (precursors or monomers), materials for organic electronics, catalysts, and ionic liquids but not to inorganic materials or crystalline solids.
In this tutorial, we will first build an ML model to predict flash point temperatures using DeepAutoQSAR (see Section 3). This part is optional, you can proceed to the REINVENT workflow without completing it. Section 4 uses the REINVENT workflow to optimize the safety profile of small organic molecules by generating novel compounds with minimized viscosity and maximised flash point temperature. This is relevant for applications such as heat transfer fluids, lubricants, and fuels.
2. Creating Projects and Importing Structures
At the start of the session, change the file path to your chosen Working Directorythe location where files are saved in MS Maestro to make file navigation easier. Each session in MS Maestro begins with a default Scratch Projecta temporary project in which work is not saved, closing a scratch project removes all current work and begins a new scratch project, which is not saved. A MS Maestro project stores all your data and has a .prj extension. A project may contain numerous entries corresponding to imported structures, as well as the output of modeling-related tasks. Once a project is saved, the project is automatically saved each time a change is made.
Structures can be built in MS Maestro or can be imported using File > Import Structures (or drag-and-dropped), and are added to the Entry Lista simplified view of the Project Table that allows you to perform basic operations such as selection and inclusion and Project Tabledisplays the contents of a project and is also an interface for performing operations on selected entries, viewing properties, and organizing structures and data. The Entry Lista simplified view of the Project Table that allows you to perform basic operations such as selection and inclusion is located to the left of the Workspacethe 3D display area in the center of the main window, where molecular structures are displayed. The Project Tabledisplays the contents of a project and is also an interface for performing operations on selected entries, viewing properties, and organizing structures and data can be accessed by Ctrl+T (Cmd+T) or Window > Project Table if you would like to see an expanded view of your project data.
-
Double-click the Materials Science icon
- (No icon? See Starting Maestro)
- Go to File > Change Working Directory
- Find your directory, and click Choose
- Pre-generated files are included for running jobs or examining output. Download the zip file here: schrodinger.com/sites/default/files/s3/release/current/Tutorials/zip/reinvent.zip
- After downloading the zip file, unzip the contents in your Working Directorythe location where files are saved for ease of access throughout the tutorial
- Go to File > Save Project As
-
Change the File name to reinvent_tutorial, click Save
-
The project is now named
reinvent_tutorial.prj
-
The project is now named
- Go to File > Import Structures
- Change Files of type to SMILES (*.smi *.csv …)
-
Navigate to where you downloaded the provided tutorial files (presumably in your working directorythe location where files are saved) and choose
Section_02 > data_flashpoint.csvfrom the provided tutorial files -
Click Open
- The Import SMILES panel opens
- For SMILES Column: choose SMILES
- For ENTRY TITLE Column: choose COM_NAME
- Ensure Discard any additional properties is unchecked, so that the third column, which contains the flash point temperatures, is also imported
-
Click OK
- The import will take a short moment
Each entry has a ‘flashpoint K’ value associated with it. These can be visualized in the Project Tabledisplays the contents of a project and is also an interface for performing operations on selected entries, viewing properties, and organizing structures and data (
). Use the Property Tree to add the ‘flashpoint K’ property (under All > Canvas > Secondary > flashpoint K). You can also add the property to your entry list via the Change table settings (
).
3. Building a DeepAutoQSAR Model for Flash Point Predictions
In this section, we will generate an ML model with the DeepAutoQSAR panel for the prediction of flash point temperatures for small organic molecules. You can learn more about DeepAutoQSAR in the Machine Learning for Sweetness and Cheminformatics Machine Learning for Homogeneous Catalysis tutorials. See the References section for information on the data set used.
- Ensure that all 14696 entries are selected(1) the atoms are chosen in the Workspace. These atoms are referred to as "the selection" or "the atom selection". Workspace operations are performed on the selected atoms. (2) The entry is chosen in the Entry List (and Project Table) and the row for the entry is highlighted. Project operations are performed on all selected entries from the entry list by selecting the entry group data_flashpoint
-
Go to Tasks > Materials > Informatics > DeepAutoQSAR
- The DeepAutoQSAR panel opens
-
For Model type, choose Regression
- Because the data is numerical, we use a regression model
- Ensure that for Use structures from, Project Table (14696 selected entries) is chosen
- Change the Prediction property to flashpoint K via the dropdown menu
-
Set 95% for the Random split
- This is the percentage of data to set aside between train and test sets, where 95% of the data is used to train the model and 5% of the data is used to test the model
- Set the Training time to 8 hours
Note: DeepAutoQSAR trains multiple models. Training for the current model still concludes after the specified time limit is reached, but no subsequent models are trained. Note that the total elapsed time may significantly exceed this limit if a particular model requires an extended training duration. A minimum of two replicates is trained for every model type.
- Change the Job name to BuildTask_flashpoint
-
Adjust the job settings (
) as needed
- This job is best run on a GPU. It takes approximately 9 hours to complete.
- If you would like to run the job yourself, click Run. Otherwise, proceed with the provided results from the zip file.
Note: When the job is complete, no new entry group is added to the entry lista simplified view of the Project Table that allows you to perform basic operations such as selection and inclusion. The output can be analyzed and used for predictions back in the DeepAutoQSAR panel.
- In case you have closed it, reopen the the DeepAutoQSAR panel
- For Choose task, switch to Make Predictions
-
To choose the Model file click Browse. In case you have run the job yourself, navigate to your job directory and select
BuildTask_flashpoint > BuildTask_flashpoint_model.qzip. If you want to proceed with the provided files selectSection_03 > BuildTask_flashpoint > BuildTask_flashpoint_model.qzip.- The panel will parse the .qzip file and the Model Summary section will be populated
- Click View Full Report for more information and a scatter plot of the test data
- Close the DeepAutoQSAR panel, when you are done with the analysis
The model shows reasonable accuracy with an R2 value of 0.85 and an RMSE of 27. We can now use this model in the REINVENT workflow to optimize the flash point of novel compounds.
4. De Novo Design with REINVENT
In this section, we will utilize the workflow of the REINVENT panel to first train an undirected model and then train and use a generative model capable of generating new compounds with optimized properties. The explored chemical space will be small organic molecules with maximized flash point temperature and minimized viscosity. We will make use of the DeepAutoQSAR model for predicting flash point temperature from the previous section and an additional provided model for the prediction of viscosity, which is taken from the Machine Learning Property Prediction panel.
-
Go to Tasks > Materials > Informatics > REINVENT
- The REINVENT panel opens
-
Click Load SMILES, navigate to the provided files and select the file
Section_04 > flashpoint_viscosity_prior_vocab.csv- The data set is loaded into the panel. It consists of 10808 entries, which are the unique entries of the combined data sets for the viscosity and flash point temperature.
- You can click on any SMILES entry to open it in the 2D sketcher for visualization
- Set the Epochs to 100 and the Batch size to 128
- Change the Job name to reinvent_train_undirected
-
Adjust the job settings (
) as needed
- This job is best run on a GPU. It takes approximately 1 hour to complete.
- If you would like to run the job yourself, click Run. Otherwise, proceed with the provided results from the zip file.
Note: When the job is complete, no new entry group is added to the entry lista simplified view of the Project Table that allows you to perform basic operations such as selection and inclusion.
- Switch to the Prepare Generative Model tab and the Undirected Model subtab
-
In case you have run the job yourself, the panel should be automatically populated. If not click Load Undirected Model, navigate to your job directory and select
Section_04 > reinvent_train_undirected > reinvent_priors.- The panel will parse the files and the subtab will be populated with the results
As shown in the left-hand plot, the training loss decreases quickly during the first few thousand steps, converging toward zero by the end of the training process. This indicates that the training was successful. The plot on the right shows additional training metrics. These demonstrate that the model generates unique SMILES strings in almost all cases from the outset and that the fraction of valid SMILES strings increases with training epochs, reaching a value close to one. This ensures that the model generates reasonable new molecules related to the chemical space of our training set.
If the training loss does not converge sufficiently or the fraction of unique, valid SMILES strings is not close to one, increase the amount of training data or the number of epochs.
- Switch to the Generative Model Settings subtab
-
For DeepAutoQSAR Models, click Add Model, select the model for flash point temperature prediction from the previous section (
BuildTask_flashpoint > BuildTask_flashpoint_model.qziporSection_03 > BuildTask_flashpoint > BuildTask_flashpoint_model.qzip) and click Open - In the Add Constraint panel, set Target Type to Maximize and click OK
-
To load the provided viscosity model, click Add Model again, select
Section_04 > organic_viscosity > viscosity_DAQ.qzipand click Open -
In the Add Constraint panel, set the property name to viscosity, the Target Type to Minimize, and the additional_feature_0 to 300, then click OK
- The viscosity is temperature dependent. In this case, we want to predict the viscosity at 300 K.
- Set the Generative model name to max_flashpoint_min_viscosity
- For Steps choose 500, for Number of compounds choose 10000
- Change the Job name to reinvent_train_generative
-
Adjust the job settings (
) as needed
- This job is best run on a GPU. It takes approximately 1 hour to complete.
- If you would like to run the job yourself, click Run. Otherwise, proceed with the provided results from the zip file.
Note: When the job is complete, no new entry group is added to the entry lista simplified view of the Project Table that allows you to perform basic operations such as selection and inclusion.
The viscosity model used here is taken from the Machine Learning Property Prediction panel. You can download and use all models available from the panel. The download location on Linux/MacOS is /Users/{user_name}/.schrodinger/matsci_templates/ml_prediction_models/{release_version}, on Windows it is C:\Users\{user_name}\AppData\Local\Schrodinger\matsci_templates\ml_prediction_models\{release_version}.
- Switch to the Generation tab and the Generative Model subtab
-
In case you have run the job yourself, the panel should be automatically populated. If not click Load Generative Model, navigate to your job directory and select
Section_04 > reinvent_train_generative > reinvent_denovo_prep > output_dir_agent > prior > REINVENT > agents > max_flashpoint_min_viscosity.ckpt.- The panel will parse the files and the subtab will be populated with the results
The plot shows the percentage of newly created compounds by the generative model which have a non-zero score. We can consider them reasonable on a path to optimizing viscosity and flash point simultaneously. In case a model shows a percentage that is far off from 100% or does not look converged, you might want to increase the training steps for the generative model or use a larger number of compounds.
In general, you can add one or more properties via DeepAutoQSAR models or RDKit descriptors available in the panel. When optimizing a property, the goal can be to minimize, maximize, limit to a specific value, or stay within a range of values.
- Switch to the Generation Settings subtab
-
Set the Number of compounds to 1000 and keep Calculate scores checked
- The score is calculated for every new component
- Change the Job name to reinvent_generate_cmpds
-
Adjust the job settings (
) as needed
- This job is best run on a GPU. It takes approximately 5 minutes to complete.
- If you would like to run the job yourself, click Run. Otherwise, proceed with the provided results from the zip file.
Note: When the job is complete, no new entry group is added to the entry lista simplified view of the Project Table that allows you to perform basic operations such as selection and inclusion.
-
In case you have run the job yourself, the table should be automatically populated once the job finishes. If you want to proceed with the provided results, click Load SMILES, navigate to your job directory and select
Section_04 > reinvent_generate_cmpds > output_generated_mols.csv.- The panel will parse the file and the table will be populated with the results
- You can click on any SMILES entry to open it in the 2D sketcher for visualization
-
Click on Output to Project Table to generate a new entry group in your Project Table/list of entries
- The entries are named max_flashpoint_min_viscosity_1 etc and are ordered by total score as in the table in the panel
- You can visualize the compounds more easily in the Workspace and use their structures in further workflows
The table shows the generated compounds with valid SMILES strings ordered by total score from highest to lowest. It also shows the individual scores for each property, along with the predicted values from the DeepAutoQSAR models. The score measures how optimal a compound's properties are. In our case, the scoring function utilizes a z-score to measure how low the viscosity is and how high the flash point temperature is. The score is relative to the distribution of the prior dataset. For example, to maximize a property, all compounds with a predicted value lower than the average of the prior data receive a score of zero. The total score is calculated as the product of the individual property scores and a diversity score, which penalizes generated compounds that are too similar to previously generated compounds.
Only 4.5% of the generated compounds had invalid SMILES strings and are not displayed in the table. Only the top compounds are of interest for us, as they are most likely to be good candidates for further investigations. The top compound has a total score of just over 5 and is predicted to have a flash point temperature of 655 K and a viscosity of 1.3 cP. The top 15 compounds are all similar and closer in score.
5. Conclusion and References
In this tutorial, we learned how to generate an ML model with DeepAutoQSAR for the prediction of flash point temperature. Then we used the REINVENT workflow to design novel compounds with optimized viscosity and flash point temperature.
For further learning:
For introductory content, focused on navigating the Schrödinger Materials Science interface, an Introduction to Materials Science Maestro tutorial is available. Please visit the materials science training website for access to 100+ tutorials. For scientific inquiries or technical troubleshooting, submit a ticket to our Technical Support Scientists at help@schrodinger.com.
For self-paced, asynchronous, online courses in Materials Science modeling, including access to Schrödinger software, please visit the Schrödinger Online Learning portal on our website.
For some related practice, proceed to explore other relevant tutorials:
- Machine Learning Property Prediction
- Machine Learning for Materials Science
- Molecular Dynamics Descriptors for Machine Learning
- Machine Learning for Sweetness
- Cheminformatics Machine Learning for Homogeneous Catalysis
- Machine Learning for Formulations
- Applied Machine Learning for Formulations
- Optimization of Formulations Using Machine Learning
- Optimizing Viscosity and Cost in Formulations with Missing Structural Data
- Machine Learning for Ionic Conductivity
- Optoelectronics Active Learning
- Periodic Descriptors for Inorganic Solids
For further reading:
-
Flash point temperature data set:
Lee, S. et al. Advancing chemical safety prediction: an integrated GNN framework with DFT-augmented cyclic compound solution. J. Cheminform. 18, 28 (2026). -
Viscosity data set:
Chew, A.K. et al. Advancing material property prediction: using physics-informed machine learning models for viscosity. J. Cheminform. 16, 31 (2024). -
Original REINVENT publication:
Olivecrona, M. et al. Molecular de-novo design through deep reinforcement learning. J. Cheminform. 9, 48 (2017). -
Publications utilizing Schrödinger's REINVENT implementation:
- Gabriel Marques et al. De Novo Design of Molecules with Low Hole Reorganization Energy Based on a Quarter-Million Molecule DFT Screen. J. Phys. Chem. A 125, 33, 7331-7343 (2021).
- Kwak H. S. et. al. Design of Organic Electronic Materials With a Goal-Directed Generative Model Powered by Deep Neural Networks and High-Throughput Molecular Simulations. Front. Chem. 9, 800370 (2022).
- Nobuyuki N. M. et. al. Exploring Molecules with Low Viscosity: Using Physics-Based Simulations and De Novo Design by Applying Reinforcement Learning. Chem. Mater. 36, 23, 11706-11716 (2024).
6. Glossary of Terms
Entry List - a simplified view of the Project Table that allows you to perform basic operations such as selection and inclusion
Included - the entry is represented in the Workspace, the circle in the In column is blue
Project Table - displays the contents of a project and is also an interface for performing operations on selected entries, viewing properties, and organizing structures and data
Recent actions - This is a list of your recent actions, which you can use to reopen a panel, displayed below the Browse row. (Right-click to delete.)
Scratch Project - a temporary project in which work is not saved, closing a scratch project removes all current work and begins a new scratch project
Selected - (1) the atoms are chosen in the Workspace. These atoms are referred to as "the selection" or "the atom selection". Workspace operations are performed on the selected atoms. (2) The entry is chosen in the Entry List (and Project Table) and the row for the entry is highlighted. Project operations are performed on all selected entries
Working Directory - the location where files are saved
Workspace - the 3D display area in the center of the main window, where molecular structures are displayed













