IP Library Granted Patent US 10,318,526
Granted Patent B2
US 10,318,526 · App. 15/202,439 · Granted Jun 11, 2019

Complex chemical substructure search query building and execution

Inventors: Jed Dean (Lafayette, CA); Adam Safir (Berkeley, CA); Gregory Michael Werner (Fremont, CA)
Assignee: Zymergen Inc.
G06F16/2428G06F16/2246G06F16/2282G06F16/248G06F16/2456G06F19/709
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,318,526
App. No.
15/202,439
Granted
Jun 11, 2019
Kind
B2
Abstract

Systems and methods for enabling construction of complex Boolean chemical substructure queries in a structured graphical user interface are provided. The chemical substructures (molecules) may be represented graphically in standard molecular notation, and may be arranged horizontally and vertically on the interface, along with Boolean logical operators. Boolean logical operators of a first type may logically associate molecules arranged in horizontal fashion to form row queries, whereas Boolean logical operators of a different, second type may logically associate the row queries to form a composite query to be applied to a database of molecules. The operators of the first type may comprise disjunctive operators, whereas the operators of the second type may comprise conjunctive operators.

Claims (156)

1. A computer-implemented method for providing representations of chemical compounds in response to a Boolean chemical substructure search query of at least one molecule database, the method comprising:

receiving data representing a Boolean combination of graphical representations of chemical substructures arranged in two or more rows of a graphical user interface, wherein

associated with graphical representations of chemical substructures arranged in rows of the graphical user interface are logical operators representing logical combinations of a first type,

associated with at least two rows of the graphical user interface is at least one logical operator representing at least one logical combination of a second type, and

non-graphical chemical substructure representations correspond to the graphical representations of the chemical substructures;

for each row having graphical substructure representations associated with at least one logical operator of a first type, combining each such first-type logical operator and its associated non-graphical substructure representations into a row sub-query, wherein each logical operator is associated with at most two non-graphical substructure representations in accordance with the Boolean combination;

for each row, combining the row sub-queries into a row query in accordance with the Boolean combination;

combining the row queries with the at least one second-type logical operator in accordance with the Boolean combination to generate a composite search query;

executing the composite search query by applying the logical operators to the non-graphical substructure representations in accordance with the Boolean combination to produce Boolean query results comprising one or more chemical structures representing chemical compounds; and

providing for graphical display the Boolean query results.

2. The method of claim 1 , wherein

if a row contains two or more two non-graphical chemical substructure representations, the row is characterized as containing one or more unique pairs of non-graphical chemical substructure representations wherein each non-graphical chemical substructure representation may be a member of only one unique pair, and

combining each first-type logical operator and its associated non-graphical substructure representations into a row sub-query comprises:

combining every adjacent unique pair of non-graphical chemical substructure representations in the row with its associated first-type logical operator to form a row sub-query for each pair; and

combining any single uncombined non-graphical chemical substructure representation in the row with any uncombined first-type logical operator to form a row sub-query for the uncombined non-graphical chemical substructure representation.

3. The method of claim 1 , wherein

each of the non-graphical representations resides in a tree data structure at an operand node that is related to at most one other operand node by a logical operator in accordance with the Boolean combination, and

combining each first-type logical operator and its associated non-graphical representations into a row sub-query comprises combining each first-type logical operator and its related operand nodes into the row sub-query.

4. The method of claim 3 , further comprising recursively traversing the tree data structure to generate a text-based database query to serve as the composite search query.

5. The method of claim 3 , the method further comprising:

storing the operand nodes in a first database table;

storing the logical operators in a second database table; and

storing relationships among the logical operators and the operand nodes in a join table,

wherein executing the composite search query comprises performing database operations on the operand nodes in the first database table using the logical operators in the second database table.

6. The method of claim 5 , wherein storing each operand node in a database table includes storing, for at least one operand node, an indication of the number of instances of the chemical substructure corresponding to the at least one operand node to be searched in the at least one molecule database.

7. The method of claim 1 , wherein combining the row queries comprises:

combining each second-type logical operator with associated row queries to generate, for each second-type logical operator, a column sub-query, wherein each second-type logical operator is associated with at most two row queries; and

combining the column sub-queries to generate the composite search query.

8. The method of claim 1 , wherein the logical combinations of the first type consist of disjunctive operations, and the logical combinations of the second type consist of conjunctive operations.

9. The method of claim 1 , wherein the received data further comprises data representing at least one numerical constraint indicator, each numerical constraint indicator indicating a number of instances of a corresponding chemical substructure to be searched for in the at least one molecule database.

10. A computer-implemented method for providing representations of chemical compounds in response to a Boolean chemical substructure search query of at least one molecule database, the method comprising:

receiving data representing a Boolean combination of graphical representations of chemical substructures arranged in two or more rows of a graphical user interface, wherein

associated with graphical representations of chemical substructures arranged in rows of the user interface are logical operators representing logical combinations of a first type, and

associated with at least two rows of the user interface is at least one logical operator representing at least one logical combination of a second type, and

non-graphical chemical substructure representations correspond to the graphical representations of the chemical substructures;

traversing a tree data structure representing the Boolean chemical substructure search query to generate a text-based query,

wherein the tree data structure includes a plurality of sub-query structures each comprising (a) a logical operator node representing one of the logical operators of the first type or the second type and (b) at most two child nodes, in accordance with the Boolean combination,

wherein the at most two child nodes of a sub-query structure comprise one of the following sets: two operand nodes, an operand node and another sub-query structure, or two other sub-query structures, and

wherein an operand node represents a non-graphical substructure representation;

executing the text-based query by applying the logical operators to the non-graphical substructure representations in accordance with the Boolean combination to produce Boolean query results comprising one or more chemical structures representing chemical compounds; and

providing for graphical display the Boolean query results.

11. The method of claim 10 , wherein the user interface resides at a client computing device, and a server performs the traversal of the tree data structure, the method further comprising the server translating the non-graphical representations into the operand nodes of the tree data structure.

12. The method of claim 10 , wherein the user interface resides at a client computing device, and a server performs the traversal of the tree data structure, the method further comprising the client computing device translating the non-graphical representations into the operand nodes of the tree data structure.

13. The method of claim 10 , further comprising:

forming the logical operator nodes;

forming the operand nodes;

forming the plurality of sub-query structures from the logical operator nodes and the operand nodes; and

generating the tree data structure from the plurality of sub-query structures.

14. A system for providing representations of chemical compounds in response to a Boolean chemical substructure search query of at least one molecule database, the system comprising:

one or more processors; and

one or more memories operatively coupled to at least one of the one or more processors and having instructions stored thereon that, when executed by at least one of the one or more processors, cause the system to:

receive data representing a Boolean combination of graphical representations of chemical substructures arranged in two or more rows of a graphical user interface, wherein

associated with graphical representations of chemical substructures arranged in rows of the graphical user interface are logical operators representing logical combinations of a first type,

associated with at least two rows of the graphical user interface is at least one logical operator representing at least one logical combination of a second type, and

non-graphical chemical substructure representations correspond to the graphical representations of the chemical substructures;

for each row having graphical substructure representations associated with at least one logical operator of a first type, combine each such first-type logical operator and its associated non-graphical substructure representations into a row sub-query, wherein each logical operator is associated with at most two non-graphical substructure representations in accordance with the Boolean combination;

for each row, combine the row sub-queries into a row query in accordance with the Boolean combination;

combine the row queries with the at least one second-type logical operator in accordance with the Boolean combination to generate a composite search query;

execute the composite search query by applying the logical operators to the non-graphical substructure representations in accordance with the Boolean combination to produce Boolean query results comprising one or more chemical structures representing chemical compounds; and

provide for graphical display the Boolean query results.

15. The system of claim 14 , wherein

if a row contains two or more two non-graphical chemical substructure representations, the row is characterized as containing one or more unique pairs of non-graphical chemical substructure representations wherein each non-graphical chemical substructure representation may be a member of only one unique pair, and

combining each first-type logical operator and its associated non-graphical substructure representations into a row sub-query comprises:

combining every adjacent unique pair of non-graphical chemical substructure representations in the row with its associated first-type logical operator to form a row sub-query for each pair; and

combining any single uncombined non-graphical chemical substructure representation in the row with any uncombined first-type logical operator to form a row sub-query for the uncombined non-graphical chemical substructure representation.

16. The system of claim 14 , wherein

each of the non-graphical representations resides in a tree data structure at an operand node that is related to at most one other operand node by a logical operator in accordance with the Boolean combination, and

combining each first-type logical operator and its associated non-graphical representations into a row sub-query comprises combining each first-type logical operator and its related operand nodes into the row sub-query.

17. The system of claim 16 , the one or more memories further comprising instructions stored thereon that, when executed by at least one of the one or more processors, cause the system to recursively traverse the tree data structure to generate a text-based database query to serve as the composite search query.

18. The system of claim 16 , the one or more memories further comprising instructions stored thereon that, when executed by at least one of the one or more processors, cause the system to:

store the operand nodes in a first database table;

store the logical operators in a second database table; and

store relationships among the logical operators and the operand nodes in a join table,

wherein executing the composite search query comprises performing database operations on the operand nodes in the first database table using the logical operators in the second database table.

19. The system of claim 18 , wherein storing each operand node in a database table includes storing, for at least one operand node, an indication of the number of instances of the chemical substructure corresponding to the at least one operand node to be searched in the at least one molecule database.

20. The system of claim 14 , wherein combining the row queries comprises:

combining each second-type logical operator with associated row queries to generate, for each second-type logical operator, a column sub-query, wherein each second-type logical operator is associated with at most two row queries; and

combining the column sub-queries to generate the composite search query.

21. The system of claim 14 , wherein the logical combinations of the first type consist of disjunctive operations, and the logical combinations of the second type consist of conjunctive operations.

22. The system of claim 14 , wherein the received data further comprises data representing at least one numerical constraint indicator, each numerical constraint indicator indicating a number of instances of a corresponding chemical substructure to be searched for in the at least one molecule database.

23. A system for providing representations of chemical compounds in response to a Boolean chemical substructure search query of at least one molecule database, the system comprising:

one or more processors; and

one or more memories operatively coupled to at least one of the one or more processors and having instructions stored thereon that, when executed by at least one of the one or more processors, cause the system to:

receive data representing a Boolean combination of graphical representations of chemical substructures arranged in two or more rows of a graphical user interface, wherein

associated with graphical representations of chemical substructures arranged in rows of the user interface are logical operators representing logical combinations of a first type, and

associated with at least two rows of the user interface is at least one logical operator representing at least one logical combination of a second type, and

non-graphical chemical substructure representations correspond to the graphical representations of the chemical substructures;

traverse a tree data structure representing the Boolean chemical substructure search query to generate a text-based query,

wherein the tree data structure includes a plurality of sub-query structures each comprising (a) a logical operator node representing one of the logical operators of the first type or the second type and (b) at most two child nodes, in accordance with the Boolean combination,

wherein the at most two child nodes of a sub-query structure comprise one of the following sets: two operand nodes, an operand node and another sub-query structure, or two other sub-query structures, and

wherein an operand node represents a non-graphical substructure representation;

execute the text-based query by applying the logical operators to the non-graphical substructure representations in accordance with the Boolean combination to produce Boolean query results comprising one or more chemical structures representing chemical compounds; and

provide for graphical display the Boolean query results.

24. The system of claim 23 , wherein the user interface resides at a client computing device, and a server comprises the one or more memories having instructions stored thereon that cause the system to:

translate the non-graphical representations into the operand nodes of the tree data structure; and

traverse the tree data structure.

25. The system of claim 23 , wherein

the user interface resides at a client computing device that comprises the one or more memories having instructions stored thereon that cause the system to translate the non-graphical representations into the operand nodes of the tree data structure; and

a server comprises the one or more memories having instructions stored thereon that cause the system to traverse the tree data structure.

26. The system of claim 23 , the memories further having instructions stored thereon that, when executed by at least one of the one or more processors, cause the system to:

form the logical operator nodes;

form the operand nodes;

form the plurality of sub-query structures from the logical operator nodes and the operand nodes; and

generate the tree data structure from the plurality of sub-query structures.

27. One or more non-transitory computer readable media storing instructions for providing representations of chemical compounds in response to a Boolean chemical substructure search query of at least one molecule database, wherein the instructions, when executed by one or more computing devices, cause at least one of the one or more computing devices to:

receive data representing a Boolean combination of graphical representations of chemical substructures arranged in two or more rows of a graphical user interface, wherein

associated with graphical representations of chemical substructures arranged in rows of the graphical user interface are logical operators representing logical combinations of a first type,

associated with at least two rows of the graphical user interface is at least one logical operator representing at least one logical combination of a second type, and

non-graphical chemical substructure representations correspond to the graphical representations of the chemical substructures;

for each row having graphical substructure representations associated with at least one logical operator of a first type, combine each such first-type logical operator and its associated non-graphical substructure representations into a row sub-query, wherein each logical operator is associated with at most two non-graphical substructure representations in accordance with the Boolean combination;

for each row, combine the row sub-queries into a row query in accordance with the Boolean combination;

combine the row queries with the at least one second-type logical operator in accordance with the Boolean combination to generate a composite search query;

execute the composite search query by applying the logical operators to the non-graphical substructure representations in accordance with the Boolean combination to produce Boolean query results comprising one or more chemical structures representing chemical compounds; and

provide for graphical display the Boolean query results.

28. The one or more computer-readable media of claim 27 , wherein

if a row contains two or more two non-graphical chemical substructure representations, the row is characterized as containing one or more unique pairs of non-graphical chemical substructure representations wherein each non-graphical chemical substructure representation may be a member of only one unique pair, and

combining each first-type logical operator and its associated non-graphical substructure representations into a row sub-query comprises:

combining every adjacent unique pair of non-graphical chemical substructure representations in the row with its associated first-type logical operator to form a row sub-query for each pair; and

combining any single uncombined non-graphical chemical substructure representation in the row with any uncombined first-type logical operator to form a row sub-query for the uncombined non-graphical chemical substructure representation.

29. The one or more computer-readable media of claim 27 , wherein

each of the non-graphical representations resides in a tree data structure at an operand node that is related to at most one other operand node by a logical operator in accordance with the Boolean combination, and

combining each first-type logical operator and its associated non-graphical representations into a row sub-query comprises combining each first-type logical operator and its related operand nodes into the row sub-query.

30. The one or more computer-readable media of claim 29 , wherein the stored instructions further comprise instructions that, when executed by one or more computing devices, cause at least one of the one or more computing devices to recursively traverse the tree data structure to generate a text-based database query to serve as the composite search query.

31. The one or more computer-readable media of claim 29 , wherein the stored instructions further comprise instructions that, when executed by one or more computing devices, cause at least one of the one or more computing devices to

store the operand nodes in a first database table;

store the logical operators in a second database table; and

store relationships among the logical operators and the operand nodes in a join table,

wherein executing the composite search query comprises performing database operations on the operand nodes in the first database table using the logical operators in the second database table.

32. The one or more computer-readable media of claim 31 , wherein storing each operand node in a database table includes storing, for at least one operand node, an indication of the number of instances of the chemical substructure corresponding to the at least one operand node to be searched in the at least one molecule database.

33. The one or more computer-readable media of claim 27 , wherein combining the row queries comprises:

combining each second-type logical operator with associated row queries to generate, for each second-type logical operator, a column sub-query, wherein each second-type logical operator is associated with at most two row queries; and

combining the column sub-queries to generate the composite search query.

34. The one or more computer-readable media of claim 27 , wherein the logical combinations of the first type consist of disjunctive operations, and the logical combinations of the second type consist of conjunctive operations.

35. The one or more computer-readable media of claim 27 , wherein the received data further comprises data representing at least one numerical constraint indicator, each numerical constraint indicator indicating a number of instances of a corresponding chemical substructure to be searched for in the at least one molecule database.

36. One or more non-transitory computer readable media storing instructions for providing representations of chemical compounds in response to a Boolean chemical substructure search query of at least one molecule database, wherein the instructions, when executed by one or more computing devices, cause at least one of the one or more computing devices to:

receive data representing a Boolean combination of graphical representations of chemical substructures arranged in two or more rows of a graphical user interface, wherein

associated with graphical representations of chemical substructures arranged in rows of the user interface are logical operators representing logical combinations of a first type, and

associated with at least two rows of the user interface is at least one logical operator representing at least one logical combination of a second type, and

non-graphical chemical substructure representations correspond to the graphical representations of the chemical substructures;

traverse a tree data structure representing the Boolean chemical substructure search query to generate a text-based query,

wherein the tree data structure includes a plurality of sub-query structures each comprising (a) a logical operator node representing one of the logical operators of the first type or the second type and (b) at most two child nodes, in accordance with the Boolean combination,

wherein the at most two child nodes of a sub-query structure comprise one of the following sets: two operand nodes, an operand node and another sub-query structure, or two other sub-query structures, and

wherein an operand node represents a non-graphical substructure representation;

execute the text-based query by applying the logical operators to the non-graphical substructure representations in accordance with the Boolean combination to produce Boolean query results comprising one or more chemical structures representing chemical compounds; and

provide for graphical display the Boolean query results.

37. The one or more computer readable media of claim 36 , wherein the user interface resides at a client computing device, and a server comprises at least one of the one or more computing devices that:

translate the non-graphical representations into the operand nodes of the tree data structure; and

traverse the tree data structure.

38. The one or more computer readable media of claim 36 , wherein

the user interface resides at a client computing device that comprises at least one of the one or more computing devices that translate the non-graphical representations into the operand nodes of the tree data structure; and

a server comprises at least one of the one or more computing devices that traverse the tree data structure.

39. The one or more computer readable media of claim 36 , wherein the one or more non-transitory computer readable media further store instructions that, when executed by one or more computing devices, cause at least one of the one or more computing devices to:

form the logical operator nodes;

form the operand nodes;

form the plurality of sub-query structures from the logical operator nodes and the operand nodes; and

generate the tree data structure from the plurality of sub-query structures.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Jul 1, 2022
From: PERCEPTIVE CREDIT HOLDINGS II, LP, AS ADMINISTRATIVE AGENT
To: ZYMERGEN INC.
Reel/Frame 060421/0533 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEING PARTY NAME PREVIOUSLY RECORDED AT REEL: 039214 FRAME: 0532. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Feb 22, 2022
From: DEAN, ERIK JEDEDIAH
To: ZYMERGEN INC.
Reel/Frame 059320/0951 →
PATENT SECURITY AGREEMENT Recorded Dec 26, 2019
From: ZYMERGEN INC.
To: PERCEPTIVE CREDIT HOLDINGS II, LP, AS ADMINISTRATIVE AGENT
Reel/Frame 051425/0485 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2016
From: DEAN, JED
To: ZYMERGEN INC.
Reel/Frame 039214/0532 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2016
From: SAFIR, ADAM
To: ZYMERGEN INC.
Reel/Frame 039214/0660 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2016
From: WERNER, GREGORY MICHAEL
To: ZYMERGEN INC.
Reel/Frame 039427/0960 →
Continuity (1)
Related Publication 20180011899A1 · Jan 11, 2018