SYSTEMS AND METHODS FOR TEMPLATE-FREE REACTION PREDICTIONS
The techniques described herein relate to methods and apparatus for determining a set of reactions to produce a target product. The method includes receiving the target product, executing a graph traversal thread, requesting, via the graph traversal thread, a first set of reactant predictions for the target product, executing a molecule expansion thread, determining, via the molecule expansion thread and a reactant prediction model, the first set of reactant predictions, and storing the first set of reactant predictions as at least part of the set of reactions.
1 . A computerized method for determining a set of reactions to produce a target product, the method comprising:
receiving the target product;
executing a graph traversal thread;
requesting, via the graph traversal thread, a first set of reactant predictions for the target product;
executing a molecule expansion thread;
determining, via the molecule expansion thread and a reactant prediction model, the first set of reactant predictions; and
storing the first set of reactant predictions as at least part of the set of reactions.
2 . The method of claim 1 , further comprising:
requesting, via the graph traversal thread, a second set of reactant predictions for a reactant prediction from the first set of reactant predictions;
executing a second molecule expansion thread; and
determining, via the second molecule expansion thread and the reactant prediction model, the second set of reactant predictions.
3 . The method of claim 2 , further comprising storing the second set of reactant predictions with the first set of reactant predictions as at least part of the set of reactions.
4 . The method of claim 1 , further comprising:
accessing a set of training reactions; and
training the reactant prediction model using the set of training reactions.
5 . The method of claim 4 , wherein training the reactant prediction model using the set of training reactions comprises incrementally augmenting the set of training reactions during training.
6 . The method of claim 5 , wherein incrementally augmenting the set of training reactions comprises:
augmenting a first portion of the set of training reactions; and
training the reactant prediction model using the augmented first portion of the set of training reactions, comprising using, for each training reaction in the augmented first portion:
a product of the training reaction as an input; and
a set of reactions of the training reaction as an output.
7 . The method of claim 6 , wherein incrementally augmenting the set of training reactions comprises:
augmenting a second portion of the set of training reactions; and
training the reactant prediction model using the augmented second portion of the set of training reactions, comprising using, for each training reaction in the augmented second portion:
a product of the training reaction as the input; and
a set of reactions of the training reaction as the output.
8 . The method of claim 5 , wherein incrementally augmenting the set of training reactions comprises:
augmenting a first portion of the set of training reactions; and
training the reactant prediction model using the augmented first portion of the set of training reactions, comprising using, for each training reaction in the augmented first portion:
a set of reactions of the training reaction as an input; and
a product of the training reaction as an output.
9 . The method of claim 8 , wherein incrementally augmenting the set of training reactions comprises:
augmenting a second portion of the set of training reactions; and
training the reactant prediction model using the augmented second portion of the set of training reactions, comprising using, for each training reaction in the augmented second portion:
a set of reactions of the training reaction as the input; and
a product of the training reaction as the output.
10 . The method of claim 1 , further comprising executing an orchestrator thread, wherein the orchestrator thread:
executes the graph traversal thread;
receives, via the graph traversal thread, the request for the first set of reactant predictions for the target product; and
executes the molecule expansion thread to determine the first set of reactant predictions.
11 . The method of claim 10 , wherein the orchestrator thread transmits the determined first set of reactant predictions to the graph traversal thread.
12 . The method of claim 10 , wherein the orchestrator thread stores the first set of reactant predictions to maintain a retrosynthesis graph.
13 . The method of claim 12 , further comprising executing a tree search on the retrosynthesis graph to identify a set of possible routes through the retrosynthesis graph, wherein each route of the set of possible routes represents an associated way to build the target product.
14 . The method of claim 13 , further comprising updating, for each route identified in the set of possible routes, a blacklist of reactant-product pairs.
15 . The method of claim 14 , further comprising omitting one or more additional routes from the set of possible routes by determining, during the tree search, that the one or more additional routes containing a reaction in a reaction-product pair in the blacklist.
16 . The method of claim 1 , wherein the reactant prediction model is a trained single-step retrosynthesis model that determines the first set of reactant predictions based on the target product.
17 . The method of claim 16 , wherein the single-step retrosynthesis model comprises:
a trained forward prediction model configured to generate a product prediction based on a set of input reactants; and
a trained reverse prediction model configured to generate a set of reactant predictions based on an input product.
18 . The method of claim 17 , wherein the set of input reactants, the set of reactant predictions, or both, comprise one or more of:
one or more reagents;
one or more catalysts; and
one or more solvents.
19 . The method of claim 17 , wherein determining, via the reactant prediction model, the first set of reactant predictions comprises:
predicting, by running the trained reverse prediction model on the target product, the first set of reactant predictions;
predicting, by running the trained forward prediction model on the first set of reactant predictions, a product; and
comparing the target product with the predicted product to determine whether to store the first set of reactant predictions.
20 . A non-transitory computer-readable media comprising instructions that, when executed by one or more processors on a computing device, are operable to cause the one or more processors to determine a set of reactions to produce a target product by performing:
receiving the target product;
executing a graph traversal thread;
requesting, via the graph traversal thread, a first set of reactant predictions for the target product;
executing a molecule expansion thread;
determining, via the molecule expansion thread and a reactant prediction model, the first set of reactant predictions; and
storing the first set of reactant predictions as at least part of the set of reactions.
21 . A system comprising a memory storing instructions, and at least one processor configured to execute the instructions to determine a set of reactions to produce a target product by performing:
receiving the target product;
executing a graph traversal thread;
requesting, via the graph traversal thread, a first set of reactant predictions for the target product;
executing a molecule expansion thread;
determining, via the molecule expansion thread and a reactant prediction model, the first set of reactant predictions; and
storing the first set of reactant predictions as at least part of the set of reactions.