AI Agent for Drug Discovery¶

HealthyData_Social_Media_Kit_Twitter.png

In [2]:
%run main.py

  ┌─────────────────────────────────────────────────────────────────────────┐
  │                                                                         │
  │  ------------------- AI Agent for Drug Discovery -------------------    │
  │                                                                         │
  │                                                                         │
  │    1 - Knowledge Model Agent                                            │
  │    2 - Reasoning Agent                                                  │
  │    3 - Planning Agent                                                   │
  │    4 - Lab Agent                                                        │
  │    5 - Results Analysis Agent                                           │
  │    6 - Exit                                                             │
  │                                                                         │
  │                                                                         │
  └─────────────────────────────────────────────────────────────────────────┘
  >> 1

------------------------------KNOWLEDGE MODEL DATA-----------------------------



Here the raw data parsed from the RDF file, [chemical, molecular_weight]:

[['Curcumine', '368'], ['Lidocaine', '234'], ['Maitotoxin', '3380'], ['Microcysin-LR', '995'], ['Morphine', '285'], ['Paclitaxel', '854'], ['Sildenafil', '475'], ['Tetrodotoxin', '319'], ['Tubocurarine', '610'], ['6-Hydroxytrypargine', '288']]

Here the adjusted data parsed from the RDF file, [chemical, molecular weight, size, possible drug candidate]:

[['Curcumine', '368', 'small molecule', 'possible drug candidate'], ['Lidocaine', '234', 'small molecule', 'possible drug candidate'], ['Maitotoxin', '3380', 'large molecule'], ['Microcysin-LR', '995', 'medium molecule'], ['Morphine', '285', 'small molecule', 'possible drug candidate'], ['Paclitaxel', '854', 'medium molecule'], ['Sildenafil', '475', 'small molecule', 'possible drug candidate'], ['Tetrodotoxin', '319', 'small molecule', 'possible drug candidate'], ['Tubocurarine', '610', 'medium molecule'], ['6-Hydroxytrypargine', '288', 'small molecule', 'possible drug candidate']]
-------------------------------------------------------------------------------


The graph has 74 entries


------------PRESS ENTER FOR THE MAIN MENU------------


  ┌─────────────────────────────────────────────────────────────────────────┐
  │                                                                         │
  │  ------------------- AI Agent for Drug Discovery -------------------    │
  │                                                                         │
  │                                                                         │
  │    1 - Knowledge Model Agent                                            │
  │    2 - Reasoning Agent                                                  │
  │    3 - Planning Agent                                                   │
  │    4 - Lab Agent                                                        │
  │    5 - Results Analysis Agent                                           │
  │    6 - Exit                                                             │
  │                                                                         │
  │                                                                         │
  └─────────────────────────────────────────────────────────────────────────┘
  >> 2

----------------ABDUCTION REASONING------------------


Rules:

1 ) ['All drugs are', 'small molecule'] 

2 ) ['All drugs have', 'no more than 5 hydrogen bond donors'] 

Facts:

1 ) Lidocaine is a no more than 5 hydrogen bond donors 

2 ) Curcumine is a no more than 5 hydrogen bond donors 

3 ) Tetrodotoxin is a no more than 5 hydrogen bond donors 

4 ) 6-Hydroxytrypargine is a no more than 5 hydrogen bond donors 

5 ) Morphine is a more than 5 hydrogen bond donors 

6 ) Maitotoxin is a more than 5 hydrogen bond donors 

7 ) Microcysin-LR is a more than 5 hydrogen bond donors 

8 ) Paclitaxel is a more than 5 hydrogen bond donors 

9 ) Sildenafil is a more than 5 hydrogen bond donors 

10 ) Tubocurarine is a more than 5 hydrogen bond donors 

Potential Drugs Candidates:

1 ) Lidocaine 

2 ) Tetrodotoxin 

3 ) Curcumine 

4 ) 6-Hydroxytrypargine 

Successfully wrote hypothesis to file at:

/mnt/c/users/bhatti/desktop/ToyRs/Code/drug-ai-agent/scripts/../output/hypothesis.txt 

------------PRESS ENTER FOR THE MAIN MENU------------


  ┌─────────────────────────────────────────────────────────────────────────┐
  │                                                                         │
  │  ------------------- AI Agent for Drug Discovery -------------------    │
  │                                                                         │
  │                                                                         │
  │    1 - Knowledge Model Agent                                            │
  │    2 - Reasoning Agent                                                  │
  │    3 - Planning Agent                                                   │
  │    4 - Lab Agent                                                        │
  │    5 - Results Analysis Agent                                           │
  │    6 - Exit                                                             │
  │                                                                         │
  │                                                                         │
  └─────────────────────────────────────────────────────────────────────────┘
  >> 3

Hypothesis to test:

likely drug (Lidocaine)

likely drug (Tetrodotoxin)

likely drug (Curcumine)

likely drug (6-Hydroxytrypargine)

------------PRESS ENTER FOR THE NEXT PLANNING STEP------------

Testable hypothesis:

measure_potency (Lidocaine, high)

measure_potency (Tetrodotoxin, high)

measure_potency (Curcumine, high)

measure_potency (6-Hydroxytrypargine, high)

Add positive control:
   measure_potency (Morphine, high)

------------PRESS ENTER FOR THE NEXT PLANNING STEP------------

Checking if there is a piece of equipment that can measure potency:

Equipment to measure potency available

------------PRESS ENTER FOR THE NEXT PLANNING STEP------------

Checking if the chemicals are available in the list of materials:

Yes, proceed with generation of protocol

------------PRESS ENTER FOR THE NEXT PLANNING STEP------------

Standard protocol:


add(ch, plate)

move(plate, incubator)


loop N times:

   grow(plate, 20 min)

   move(plate, reader)

   measure_potency (ch, reader)


discharge(plate, trash)


Input standard protocol for measuring potency from the knowledge base

Instantiate the protocol for the given hypothesis and default number of iterations: N=5

------------PRESS ENTER FOR THE NEXT PLANNING STEP------------

Experimental protocol generation...

Successfully wrote experimental protocol to file at:

/mnt/c/users/bhatti/desktop/ToyRs/Code/drug-ai-agent/scripts/../output/protocol.txt 

------------PRESS ENTER FOR THE MAIN MENU------------


  ┌─────────────────────────────────────────────────────────────────────────┐
  │                                                                         │
  │  ------------------- AI Agent for Drug Discovery -------------------    │
  │                                                                         │
  │                                                                         │
  │    1 - Knowledge Model Agent                                            │
  │    2 - Reasoning Agent                                                  │
  │    3 - Planning Agent                                                   │
  │    4 - Lab Agent                                                        │
  │    5 - Results Analysis Agent                                           │
  │    6 - Exit                                                             │
  │                                                                         │
  │                                                                         │
  └─────────────────────────────────────────────────────────────────────────┘
  >> 4

Generating experimental results table from the protocol...

This table contains the chemicals and their potency values:

| Lidocaine           | 0.8  | 0.8  | 0.75 | 0.76 | 0.82 | 0.78 | 0.8  | 0.8  | 0.82 | 0.81 | 0.8  | 0.82 | 0.85 | 0.85 | 0.86 |
| Curcumine           | 0.7  | 0.72 | 0.7  | 0.71 | 0.73 | 0.75 | 0.76 | 0.71 | 0.72 | 0.71 | 0.75 | 0.79 | 0.78 | 0.8  | 0.79 |
| Tetrodotoxin        | 0.2  | 0.2  | 0.2  | 0.19 | 0.2  | 0.21 | 0.23 | 0.2  | 0.19 | 0.15 | 0.14 | 0.16 | 0.14 | 0.14 | 0.15 |
| 6-Hydroxytrypargine | 0.2  | 0.18 | 0.2  | 0.19 | 0.18 | 0.21 | 0.23 | 0.2  | 0.19 | 0.15 | 0.15 | 0.16 | 0.14 | 0.14 | 0.15 |
| Morphine            | 0.73 | 0.72 | 0.75 | 0.71 | 0.73 | 0.76 | 0.76 | 0.71 | 0.72 | 0.76 | 0.75 | 0.79 | 0.78 | 0.8  | 0.81 | 

Successfully wrote experimental results to file at:

/mnt/c/users/bhatti/desktop/ToyRs/Code/drug-ai-agent/scripts/../output/experimental_results.txt 

------------PRESS ENTER FOR THE MAIN MENU------------


  ┌─────────────────────────────────────────────────────────────────────────┐
  │                                                                         │
  │  ------------------- AI Agent for Drug Discovery -------------------    │
  │                                                                         │
  │                                                                         │
  │    1 - Knowledge Model Agent                                            │
  │    2 - Reasoning Agent                                                  │
  │    3 - Planning Agent                                                   │
  │    4 - Lab Agent                                                        │
  │    5 - Results Analysis Agent                                           │
  │    6 - Exit                                                             │
  │                                                                         │
  │                                                                         │
  └─────────────────────────────────────────────────────────────────────────┘
  >> 5

Generating analysis results table from the experimental results...

Processed results:
['Lidocaine', 0.8, 0.8, 0.75, 0.76, 0.82, 0.78, 0.8, 0.8, 0.82, 0.81, 0.8, 0.82, 0.85, 0.85, 0.86]
['Curcumine', 0.7, 0.72, 0.7, 0.71, 0.73, 0.75, 0.76, 0.71, 0.72, 0.71, 0.75, 0.79, 0.78, 0.8, 0.79]
['Tetrodotoxin', 0.2, 0.2, 0.2, 0.19, 0.2, 0.21, 0.23, 0.2, 0.19, 0.15, 0.14, 0.16, 0.14, 0.14, 0.15]
['6-Hydroxytrypargine', 0.2, 0.18, 0.2, 0.19, 0.18, 0.21, 0.23, 0.2, 0.19, 0.15, 0.15, 0.16, 0.14, 0.14, 0.15]
['Morphine', 0.73, 0.72, 0.75, 0.71, 0.73, 0.76, 0.76, 0.71, 0.72, 0.76, 0.75, 0.79, 0.78, 0.8, 0.81]

The list of selected chemicals (potency above ~0.5) are:
['Lidocaine', 'Curcumine'] 


Results Analysis (Statistical Based Analysis):

Morphine was added as a control chemical, so its potency measurements was filtered from experimental results

| Chemical            | is a drug candidate?   |
|---------------------+------------------------|
| Lidocaine           | Confirmed              |
| Curcumine           | Confirmed              |
| Tetrodotoxin        | Rejected               |
| 6-Hydroxytrypargine | Rejected               | 

------------PRESS ENTER FOR THE MAIN MENU------------


  ┌─────────────────────────────────────────────────────────────────────────┐
  │                                                                         │
  │  ------------------- AI Agent for Drug Discovery -------------------    │
  │                                                                         │
  │                                                                         │
  │    1 - Knowledge Model Agent                                            │
  │    2 - Reasoning Agent                                                  │
  │    3 - Planning Agent                                                   │
  │    4 - Lab Agent                                                        │
  │    5 - Results Analysis Agent                                           │
  │    6 - Exit                                                             │
  │                                                                         │
  │                                                                         │
  └─────────────────────────────────────────────────────────────────────────┘
  >> 6

In [ ]: