US 12,230,367 B2
Chemical computation graphs
Ben Sklaroff, San Francisco, CA (US); Matteus Jiawei Pan, San Francisco, CA (US); Korrawat Pruegsanusak, San Francisco, CA (US); Zachary Joseph Kagin, San Francisco, CA (US); and Wojciech Piotr Swiderski, San Francisco, CA (US)
Assigned to Genesis Therapeutics, Inc., Burlingame, CA (US)
Filed by Genesis Therapeutics, Inc., Burlingame, CA (US)
Filed on Jan. 9, 2024, as Appl. No. 18/407,997.
Claims priority of provisional application 63/510,599, filed on Jun. 27, 2023.
Claims priority of provisional application 63/460,421, filed on Apr. 19, 2023.
Claims priority of provisional application 63/437,832, filed on Jan. 9, 2023.
Prior Publication US 2024/0233880 A1, Jul. 11, 2024
Int. Cl. G16C 20/70 (2019.01); G16C 20/40 (2019.01); G16C 20/90 (2019.01)
CPC G16C 20/70 (2019.02) [G16C 20/40 (2019.02); G16C 20/90 (2019.02)] 20 Claims
 
1. A method performed by one or more computers, the method comprising:
receiving, from a user, data defining a chemical computation graph, wherein:
the chemical computation graph comprises a set of chemical computation nodes and a set of edges;
each chemical computation node is configured to perform operations comprising:
receiving a set of input molecules; and
processing the set of input molecules, in accordance with a sequence of one or more transformation operations associated with the chemical computation node, to generate a set of output molecules; and
each edge connects a respective first chemical computation node to a respective second chemical computation node and defines that a respective set of output molecules generated by the first chemical computation node should be provided as a respective set of input molecules to a second chemical computation node;
wherein the chemical computation graph comprises a plurality of chemical computation nodes that are arranged in a non-linear configuration; and
generating a set of candidate molecules using the chemical computation graph, comprising:
providing a set of first molecules to a chemical computation node in the chemical computation graph that is designated as an input node; and
executing the chemical computation graph, using a collection of multiple computing units, to generate the set of candidate molecules as an output of a chemical computation node that is designated as an output node, comprising:
dynamically identifying chemical computation nodes that are eligible for execution, wherein a chemical computation node is eligible for execution when all input molecules to be processed by the chemical computation node are available; and
assigning chemical computation nodes that are eligible for execution to respective computing units of the collection of multiple computing units;
wherein the collection of computing units executes operations of at least some of the chemical computation nodes in parallel.