-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathBioPathAI_v2_Architecture.drawio
More file actions
127 lines (127 loc) · 36.9 KB
/
Copy pathBioPathAI_v2_Architecture.drawio
File metadata and controls
127 lines (127 loc) · 36.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
<mxfile host="app.diagrams.net" version="21.0.0">
<diagram name="BioPathAI v2 Architecture" id="biopathai-arch">
<mxGraphModel dx="1800" dy="1000" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="1900" pageHeight="1400" math="0" shadow="1">
<root>
<mxCell id="0" /><mxCell id="1" parent="0" />
<mxCell id="title" value="<b><font style='font-size:22px;' color='#FFFFFF'>BioPathAI v2 — Agentic Synthetic Biology Discovery Platform</font></b><br><font style='font-size:11px;' color='#BBDEFB'>Ontology-Grounded · Knowledge Graph (Neo4j) · PELT Change-Point Detection · Temporal Fusion Forecasting · Agentic AI Orchestration (LangGraph)</font>" style="text;html=1;strokeColor=none;fillColor=#0F2D5E;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=10;" vertex="1" parent="1"><mxGeometry x="30" y="20" width="1840" height="64" as="geometry" /></mxCell>
<mxCell id="L0bg" value="" style="rounded=10;fillColor=#E8F5E9;strokeColor=#2E7D32;strokeWidth=2;" vertex="1" parent="1"><mxGeometry x="30" y="104" width="1840" height="106" as="geometry" /></mxCell>
<mxCell id="L0lbl" value="<b><font color='#1B5E20'>DATA SOURCES</font></b>" style="text;html=1;strokeColor=none;fillColor=none;align=left;fontSize=10;" vertex="1" parent="1"><mxGeometry x="44" y="108" width="120" height="18" as="geometry" /></mxCell>
<mxCell id="ds1" value="<b>KEGG</b><br>Pathway Maps<br>EC Numbers" style="rounded=8;fillColor=#ffffff;strokeColor=#2E7D32;fontColor=#1B5E20;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="50" y="128" width="130" height="68" as="geometry" /></mxCell>
<mxCell id="ds2" value="<b>BRENDA</b><br>Km, Vmax, kcat<br>OBI-annotated" style="rounded=8;fillColor=#ffffff;strokeColor=#2E7D32;fontColor=#1B5E20;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="198" y="128" width="130" height="68" as="geometry" /></mxCell>
<mxCell id="ds3" value="<b>AlphaFold DB</b><br>Protein Structures<br>pLDDT scores" style="rounded=8;fillColor=#ffffff;strokeColor=#2E7D32;fontColor=#1B5E20;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="346" y="128" width="130" height="68" as="geometry" /></mxCell>
<mxCell id="ds4" value="<b>UniProt</b><br>Sequences<br>PRO annotations" style="rounded=8;fillColor=#ffffff;strokeColor=#2E7D32;fontColor=#1B5E20;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="494" y="128" width="130" height="68" as="geometry" /></mxCell>
<mxCell id="ds5" value="<b>PubMed</b><br>BioBERT GraphRAG<br>NER triples" style="rounded=8;fillColor=#ffffff;strokeColor=#2E7D32;fontColor=#1B5E20;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="642" y="128" width="130" height="68" as="geometry" /></mxCell>
<mxCell id="ds6" value="<b>ChEBI</b><br>Substrate IDs<br>Chemical entities" style="rounded=8;fillColor=#ffffff;strokeColor=#2E7D32;fontColor=#1B5E20;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="790" y="128" width="130" height="68" as="geometry" /></mxCell>
<mxCell id="ds7" value="<b>GPS Internal DB</b><br>Fermentation results<br>Bioreactor time series" style="rounded=8;fillColor=#FFF9C4;strokeColor=#F9A825;fontColor=#E65100;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="950" y="128" width="152" height="68" as="geometry" /></mxCell>
<mxCell id="ds8" value="<b>HTS Plate Readers</b><br>Tecan / BioTek<br>CSV bulk import" style="rounded=8;fillColor=#FFF9C4;strokeColor=#F9A825;fontColor=#E65100;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="1118" y="128" width="152" height="68" as="geometry" /></mxCell>
<mxCell id="ds9" value="<b>LIMS / ELN</b><br>Benchling/LabArchives<br>REST API connectors" style="rounded=8;fillColor=#FFF9C4;strokeColor=#F9A825;fontColor=#E65100;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="1286" y="128" width="152" height="68" as="geometry" /></mxCell>
<mxCell id="L1bg" value="" style="rounded=10;fillColor=#F3E5F5;strokeColor=#6A1B9A;strokeWidth=2;" vertex="1" parent="1"><mxGeometry x="30" y="230" width="1840" height="92" as="geometry" /></mxCell>
<mxCell id="L1lbl" value="<b><font color='#4A148C'>LAYER 1 — BIO-ONTOLOGY SEMANTIC FOUNDATION</font></b>" style="text;html=1;strokeColor=none;fillColor=none;align=left;fontSize=10;" vertex="1" parent="1"><mxGeometry x="44" y="234" width="340" height="18" as="geometry" /></mxCell>
<mxCell id="ont1" value="<b>Gene Ontology (GO)</b><br>MF / BP / CC<br>Active-site annotation<br>Cross-organism GO similarity" style="rounded=8;fillColor=#CE93D8;strokeColor=#6A1B9A;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="50" y="252" width="180" height="60" as="geometry" /></mxCell>
<mxCell id="ont2" value="<b>ChEBI</b><br>Substrate / Product IDs<br>Chemical vocabulary<br>Unambiguous entity IDs" style="rounded=8;fillColor=#CE93D8;strokeColor=#6A1B9A;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="244" y="252" width="180" height="60" as="geometry" /></mxCell>
<mxCell id="ont3" value="<b>SBO</b><br>Reaction type classes<br>Model components<br>Enzyme / inhibitor / catalyst" style="rounded=8;fillColor=#CE93D8;strokeColor=#6A1B9A;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="438" y="252" width="180" height="60" as="geometry" /></mxCell>
<mxCell id="ont4" value="<b>Relation Ontology (RO)</b><br>Edge semantics<br>positively / negatively regulates<br>has participant" style="rounded=8;fillColor=#CE93D8;strokeColor=#6A1B9A;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="632" y="252" width="180" height="60" as="geometry" /></mxCell>
<mxCell id="ont5" value="<b>OBI / ExpO</b><br>Experimental metadata<br>Assay conditions<br>Condition-aware normalisation" style="rounded=8;fillColor=#CE93D8;strokeColor=#6A1B9A;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="826" y="252" width="180" height="60" as="geometry" /></mxCell>
<mxCell id="ont6" value="<b>Protein Ontology (PRO)</b><br>Isoforms / PTMs<br>Strain-specific variants<br>GPS production strains" style="rounded=8;fillColor=#CE93D8;strokeColor=#6A1B9A;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="1020" y="252" width="180" height="60" as="geometry" /></mxCell>
<mxCell id="ont_note" value="<b>Ontology Role:</b> Universal translation layer. Makes KEGG, BRENDA, AlphaFold and GPS data semantically interoperable. Powers cross-organism mutation transfer via GO similarity, condition-aware kinetic normalisation via OBI, and multi-hop KG queries impossible without shared vocabulary." style="rounded=8;fillColor=#EDE7F6;strokeColor=#6A1B9A;fontColor=#4A148C;fontSize=10;align=left;verticalAlign=middle;" vertex="1" parent="1"><mxGeometry x="1218" y="252" width="622" height="60" as="geometry" /></mxCell>
<mxCell id="L2bg" value="" style="rounded=10;fillColor=#E0F7FA;strokeColor=#006064;strokeWidth=2;" vertex="1" parent="1"><mxGeometry x="30" y="342" width="1840" height="178" as="geometry" /></mxCell>
<mxCell id="L2lbl" value="<b><font color='#004D40'>LAYER 2 — ONTOLOGY-GROUNDED KNOWLEDGE GRAPH (Neo4j + Neosemantics + Cypher + SPARQL)</font></b>" style="text;html=1;strokeColor=none;fillColor=none;align=left;fontSize=10;" vertex="1" parent="1"><mxGeometry x="44" y="346" width="600" height="18" as="geometry" /></mxCell>
<mxCell id="kg1" value="<b>Enzyme</b><br>UniProt / GO terms<br>EC / PRO strain" style="ellipse;fillColor=#00BCD4;strokeColor=#006064;fontColor=#ffffff;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="50" y="364" width="144" height="70" as="geometry" /></mxCell>
<mxCell id="kg2" value="<b>Reaction</b><br>KEGG ID / SBO type<br>ChEBI substrates / dG" style="ellipse;fillColor=#00BCD4;strokeColor=#006064;fontColor=#ffffff;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="210" y="364" width="144" height="70" as="geometry" /></mxCell>
<mxCell id="kg3" value="<b>Mutation</b><br>Position / AA change<br>Predicted dkCat / ddG" style="ellipse;fillColor=#00BCD4;strokeColor=#006064;fontColor=#ffffff;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="370" y="364" width="144" height="70" as="geometry" /></mxCell>
<mxCell id="kg4" value="<b>Structure</b><br>AlphaFold accession<br>pLDDT / Active site" style="ellipse;fillColor=#00BCD4;strokeColor=#006064;fontColor=#ffffff;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="530" y="364" width="144" height="70" as="geometry" /></mxCell>
<mxCell id="kg5" value="<b>Experiment</b><br>GPS batch ID / OBI type<br>Measured yield / Activity" style="ellipse;fillColor=#F57F17;strokeColor=#E65100;fontColor=#ffffff;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="690" y="364" width="154" height="70" as="geometry" /></mxCell>
<mxCell id="kg6" value="<b>Literature</b><br>PubMed ID / NER triples<br>BioBERT confidence" style="ellipse;fillColor=#00BCD4;strokeColor=#006064;fontColor=#ffffff;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="860" y="364" width="144" height="70" as="geometry" /></mxCell>
<mxCell id="kg7" value="<b>PathwayFlux</b><br>COBRApy FBA snapshot<br>Bottleneck flags" style="ellipse;fillColor=#00BCD4;strokeColor=#006064;fontColor=#ffffff;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="1020" y="364" width="144" height="70" as="geometry" /></mxCell>
<mxCell id="kg8" value="<b>ModelVersion</b><br>Dataset hash / RMSE<br>Deployment status" style="ellipse;fillColor=#00BCD4;strokeColor=#006064;fontColor=#ffffff;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="1180" y="364" width="144" height="70" as="geometry" /></mxCell>
<mxCell id="ke1" value="CATALYSES" style="edgeStyle=orthogonalEdgeStyle;strokeColor=#006064;fontSize=8;endArrow=block;endFill=1;" edge="1" parent="1" source="kg1" target="kg2"><mxGeometry relative="1" as="geometry" /></mxCell>
<mxCell id="ke2" value="VARIANT_OF" style="edgeStyle=orthogonalEdgeStyle;strokeColor=#006064;fontSize=8;endArrow=block;endFill=1;" edge="1" parent="1" source="kg3" target="kg1"><mxGeometry relative="1" as="geometry" /></mxCell>
<mxCell id="ke3" value="VALIDATES/REFUTES" style="edgeStyle=orthogonalEdgeStyle;strokeColor=#E65100;fontSize=8;endArrow=block;endFill=1;dashed=1;" edge="1" parent="1" source="kg5" target="kg3"><mxGeometry relative="1" as="geometry" /></mxCell>
<mxCell id="ke4" value="SUPPORTS" style="edgeStyle=orthogonalEdgeStyle;strokeColor=#006064;fontSize=8;endArrow=block;endFill=1;" edge="1" parent="1" source="kg6" target="kg3"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="932" y="434" /><mxPoint x="442" y="434" /></Array></mxGeometry></mxCell>
<mxCell id="kg_rag" value="<b>GraphRAG Pipeline:</b> PubMed weekly pull via E-utilities API / BioBERT NER extracts (Enzyme, Mutation, DeltaActivity) triples / inserted as Literature nodes / Contradiction detection alerts research team" style="rounded=8;fillColor=#B2EBF2;strokeColor=#006064;fontColor=#004D40;fontSize=10;align=left;verticalAlign=middle;" vertex="1" parent="1"><mxGeometry x="1342" y="364" width="498" height="54" as="geometry" /></mxCell>
<mxCell id="kg_cyph" value="<b>Cypher + SPARQL:</b> Multi-hop traversal / GO semantic similarity scoring / Cross-organism inference (FabB in B.subtilis informs E.coli design) / 2-second complex queries spanning BRENDA + literature + internal data" style="rounded=8;fillColor=#B2EBF2;strokeColor=#006064;fontColor=#004D40;fontSize=10;align=left;verticalAlign=middle;" vertex="1" parent="1"><mxGeometry x="1342" y="426" width="498" height="54" as="geometry" /></mxCell>
<mxCell id="L3bg" value="" style="rounded=10;fillColor=#E3F2FD;strokeColor=#0D47A1;strokeWidth=2;" vertex="1" parent="1"><mxGeometry x="30" y="540" width="1840" height="220" as="geometry" /></mxCell>
<mxCell id="L3lbl" value="<b><font color='#0D47A1'>LAYER 3 — AGENTIC AI ORCHESTRATION (LangGraph / ReAct / Parallel Execution / Human-in-Loop by Exception)</font></b>" style="text;html=1;strokeColor=none;fillColor=none;align=left;fontSize=10;" vertex="1" parent="1"><mxGeometry x="44" y="544" width="700" height="18" as="geometry" /></mxCell>
<mxCell id="ag_orch" value="<b>OrchestratorAgent</b><br>Master planner<br>Task graph decomposition<br>ReAct + KG state context<br>Human escalation gate" style="rounded=12;fillColor=#1565C0;strokeColor=#0D47A1;fontColor=#ffffff;fontSize=10;align=center;strokeWidth=2;" vertex="1" parent="1"><mxGeometry x="50" y="566" width="172" height="92" as="geometry" /></mxCell>
<mxCell id="ag1" value="<b>PathwayAnalysis</b><br>KEGG + COBRApy FBA<br>RDS identification<br>SBO flux bottleneck" style="rounded=10;fillColor=#1976D2;strokeColor=#0D47A1;fontColor=#ffffff;fontSize=9;align=center;" vertex="1" parent="1"><mxGeometry x="248" y="566" width="142" height="76" as="geometry" /></mxCell>
<mxCell id="ag2" value="<b>StructurePrediction</b><br>AlphaFold DB pull<br>Local AF2 inference<br>pLDDT validation" style="rounded=10;fillColor=#1976D2;strokeColor=#0D47A1;fontColor=#ffffff;fontSize=9;align=center;" vertex="1" parent="1"><mxGeometry x="406" y="566" width="142" height="76" as="geometry" /></mxCell>
<mxCell id="ag3" value="<b>MutationGeneration</b><br>ESM-2 / ProteinMPNN<br>GO-filtered active sites<br>Cross-organism KG priors" style="rounded=10;fillColor=#1976D2;strokeColor=#0D47A1;fontColor=#ffffff;fontSize=9;align=center;" vertex="1" parent="1"><mxGeometry x="564" y="566" width="142" height="76" as="geometry" /></mxCell>
<mxCell id="ag4" value="<b>DockingAgent</b><br>hDock substrate docking<br>dG binding affinity<br>Steric clash filter" style="rounded=10;fillColor=#1976D2;strokeColor=#0D47A1;fontColor=#ffffff;fontSize=9;align=center;" vertex="1" parent="1"><mxGeometry x="722" y="566" width="142" height="76" as="geometry" /></mxCell>
<mxCell id="ag5" value="<b>KineticsPredictor</b><br>GNN dkCat / dKm<br>ddG stability<br>Composite fitness score" style="rounded=10;fillColor=#1976D2;strokeColor=#0D47A1;fontColor=#ffffff;fontSize=9;align=center;" vertex="1" parent="1"><mxGeometry x="880" y="566" width="142" height="76" as="geometry" /></mxCell>
<mxCell id="ag6" value="<b>HypothesisAgent</b><br>Prediction vs actual delta<br>Structural correlation<br>Typed hypothesis nodes" style="rounded=10;fillColor=#AD1457;strokeColor=#880E4F;fontColor=#ffffff;fontSize=9;align=center;" vertex="1" parent="1"><mxGeometry x="1038" y="566" width="142" height="76" as="geometry" /></mxCell>
<mxCell id="ag7" value="<b>ExperimentPlanner</b><br>Bayesian OED<br>Information gain ranking<br>GPS capacity constraints" style="rounded=10;fillColor=#AD1457;strokeColor=#880E4F;fontColor=#ffffff;fontSize=9;align=center;" vertex="1" parent="1"><mxGeometry x="1196" y="566" width="142" height="76" as="geometry" /></mxCell>
<mxCell id="oa1" style="edgeStyle=elbowEdgeStyle;strokeColor=#1565C0;endArrow=block;endFill=1;" edge="1" parent="1" source="ag_orch" target="ag1"><mxGeometry relative="1" as="geometry" /></mxCell>
<mxCell id="oa2" style="edgeStyle=elbowEdgeStyle;strokeColor=#1565C0;endArrow=block;endFill=1;" edge="1" parent="1" source="ag_orch" target="ag2"><mxGeometry relative="1" as="geometry" /></mxCell>
<mxCell id="oa3" style="edgeStyle=elbowEdgeStyle;strokeColor=#1565C0;endArrow=block;endFill=1;" edge="1" parent="1" source="ag_orch" target="ag3"><mxGeometry relative="1" as="geometry" /></mxCell>
<mxCell id="oa4" style="edgeStyle=elbowEdgeStyle;strokeColor=#1565C0;endArrow=block;endFill=1;" edge="1" parent="1" source="ag_orch" target="ag4"><mxGeometry relative="1" as="geometry" /></mxCell>
<mxCell id="oa5" style="edgeStyle=elbowEdgeStyle;strokeColor=#1565C0;endArrow=block;endFill=1;" edge="1" parent="1" source="ag_orch" target="ag5"><mxGeometry relative="1" as="geometry" /></mxCell>
<mxCell id="oa6" style="edgeStyle=elbowEdgeStyle;strokeColor=#880E4F;endArrow=block;endFill=1;dashed=1;" edge="1" parent="1" source="ag_orch" target="ag6"><mxGeometry relative="1" as="geometry" /></mxCell>
<mxCell id="oa7" style="edgeStyle=elbowEdgeStyle;strokeColor=#880E4F;endArrow=block;endFill=1;dashed=1;" edge="1" parent="1" source="ag_orch" target="ag7"><mxGeometry relative="1" as="geometry" /></mxCell>
<mxCell id="ag_par" value="<b>Parallel:</b> DockingAgent + KineticsPredictor run simultaneously per candidate batch; OrchestratorAgent merges composite fitness scores into KG" style="rounded=8;fillColor=#BBDEFB;strokeColor=#0D47A1;fontColor=#0D47A1;fontSize=10;align=left;verticalAlign=middle;" vertex="1" parent="1"><mxGeometry x="248" y="656" width="612" height="36" as="geometry" /></mxCell>
<mxCell id="ag_hil" value="<b>HUMAN RESEARCHER — Reviews ranked candidates / Approves model deployments / Logs experimental results / Resolves KG contradictions / Adds annotation threads</b>" style="rounded=8;fillColor=#FFF9C4;strokeColor=#F57F17;fontColor=#E65100;fontSize=10;align=center;strokeWidth=2;" vertex="1" parent="1"><mxGeometry x="876" y="656" width="974" height="36" as="geometry" /></mxCell>
<mxCell id="ag_sh" value="<b>All agents share:</b> KG read/write access / Structured message passing / LLM backbone (GPT-4o or Claude) / MLflow experiment tracking / Human-in-loop escalation gate for wet-lab decisions" style="rounded=8;fillColor=#E3F2FD;strokeColor=#0D47A1;fontColor=#0D47A1;fontSize=10;align=left;verticalAlign=middle;" vertex="1" parent="1"><mxGeometry x="1356" y="566" width="494" height="76" as="geometry" /></mxCell>
<mxCell id="L4bg" value="" style="rounded=10;fillColor=#FFF8E1;strokeColor=#E65100;strokeWidth=2;" vertex="1" parent="1"><mxGeometry x="30" y="780" width="1840" height="128" as="geometry" /></mxCell>
<mxCell id="L4lbl" value="<b><font color='#BF360C'>LAYER 4 — PELT CHANGE-POINT DETECTION (ruptures library / O(n) complexity / BIC penalty calibration / Real-time + batch)</font></b>" style="text;html=1;strokeColor=none;fillColor=none;align=left;fontSize=10;" vertex="1" parent="1"><mxGeometry x="44" y="784" width="700" height="18" as="geometry" /></mxCell>
<mxCell id="pelt1" value="<b>Fermentation Time Series</b><br>Monitors OD600, hydrocarbon titre, DO, pH<br>Detects kinetic regime shift mid-batch<br>Triggers PathwayAgent re-run with updated metabolite estimates" style="rounded=8;fillColor=#FFCC80;strokeColor=#E65100;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="50" y="804" width="374" height="88" as="geometry" /></mxCell>
<mxCell id="pelt2" value="<b>Model Drift Detection</b><br>Monitors rolling RMSE of kinetics predictor<br>Detects structural shift in prediction error series<br>Triggers targeted retraining on affected enzyme class only" style="rounded=8;fillColor=#FFCC80;strokeColor=#E65100;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="442" y="804" width="374" height="88" as="geometry" /></mxCell>
<mxCell id="pelt3" value="<b>Pathway Flux Regime Shifts</b><br>Applied to COBRApy FBA flux time series across rounds<br>Detects topology change in metabolic control<br>Flags as high-priority finding in KG — signals novel engineering outcome" style="rounded=8;fillColor=#FFCC80;strokeColor=#E65100;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="834" y="804" width="374" height="88" as="geometry" /></mxCell>
<mxCell id="pelt_n" value="<b>PELT Output:</b> Change-point timestamps written as KG Experiment node properties AND as binary covariates to TFT. Prevents TFT extrapolating past structural regime shifts. PELT-triggered alerts also fed back to OrchestratorAgent for autonomous re-planning." style="rounded=8;fillColor=#FFF3E0;strokeColor=#E65100;fontColor=#BF360C;fontSize=10;align=left;verticalAlign=middle;" vertex="1" parent="1"><mxGeometry x="1226" y="804" width="614" height="88" as="geometry" /></mxCell>
<mxCell id="L5bg" value="" style="rounded=10;fillColor=#E8F5E9;strokeColor=#1B5E20;strokeWidth=2;" vertex="1" parent="1"><mxGeometry x="30" y="928" width="1840" height="130" as="geometry" /></mxCell>
<mxCell id="L5lbl" value="<b><font color='#1B5E20'>LAYER 5 — TEMPORAL FUSION TRANSFORMER FORECASTING (Multi-horizon / P10 P50 P90 / Variable selection network / PELT-coupled)</font></b>" style="text;html=1;strokeColor=none;fillColor=none;align=left;fontSize=10;" vertex="1" parent="1"><mxGeometry x="44" y="932" width="800" height="18" as="geometry" /></mxCell>
<mxCell id="tft1" value="<b>Pathway Yield Trajectory</b><br>Forecasts hydrocarbon titre (g/L)<br>over next N engineering rounds<br>P10 / P50 / P90 quantile bands" style="rounded=8;fillColor=#A5D6A7;strokeColor=#1B5E20;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="50" y="952" width="228" height="90" as="geometry" /></mxCell>
<mxCell id="tft2" value="<b>Round Efficiency Forecast</b><br>Expected yield gain per round<br>Identifies diminishing returns<br>on current RDS target" style="rounded=8;fillColor=#A5D6A7;strokeColor=#1B5E20;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="294" y="952" width="228" height="90" as="geometry" /></mxCell>
<mxCell id="tft3" value="<b>Model Accuracy Forecast</b><br>Predicts RMSE trajectory<br>Tells GPS when predictor reaches<br>target accuracy (RMSE below 15%)" style="rounded=8;fillColor=#A5D6A7;strokeColor=#1B5E20;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="538" y="952" width="228" height="90" as="geometry" /></mxCell>
<mxCell id="tft4" value="<b>Bottleneck Shift Prediction</b><br>Predicts when current RDS<br>will no longer be dominant<br>Enables proactive next-target design" style="rounded=8;fillColor=#A5D6A7;strokeColor=#1B5E20;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="782" y="952" width="228" height="90" as="geometry" /></mxCell>
<mxCell id="tft5" value="<b>Resource Requirement Forecast</b><br>Synthesis cycles + bioreactor runs<br>Researcher hours for next tier<br>Risk-adjusted R&D planning" style="rounded=8;fillColor=#A5D6A7;strokeColor=#1B5E20;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="1026" y="952" width="228" height="90" as="geometry" /></mxCell>
<mxCell id="tft_a" value="<b>TFT Architecture:</b> Variable selection network auto-identifies most predictive covariates per horizon (itself a scientific insight). PELT change-point flags ingested as known binary covariates preventing extrapolation past regime shifts. All forecasts written as typed prediction nodes in KG with full provenance trail." style="rounded=8;fillColor=#C8E6C9;strokeColor=#1B5E20;fontColor=#1B5E20;fontSize=10;align=left;verticalAlign=middle;" vertex="1" parent="1"><mxGeometry x="1270" y="952" width="570" height="90" as="geometry" /></mxCell>
<mxCell id="UIbg" value="" style="rounded=10;fillColor=#F9FBE7;strokeColor=#827717;strokeWidth=2;" vertex="1" parent="1"><mxGeometry x="30" y="1078" width="1840" height="96" as="geometry" /></mxCell>
<mxCell id="UIlbl" value="<b><font color='#33691E'>USER INTERFACE LAYER (React / FastAPI / Mol* 3D viewer / Real-time dashboards)</font></b>" style="text;html=1;strokeColor=none;fillColor=none;align=left;fontSize=10;" vertex="1" parent="1"><mxGeometry x="44" y="1082" width="500" height="18" as="geometry" /></mxCell>
<mxCell id="ui1" value="<b>Pathway Visualiser</b><br>KEGG map + flux heatmap<br>RDS highlighted in red" style="rounded=8;fillColor=#F0F4C3;strokeColor=#827717;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="50" y="1098" width="185" height="62" as="geometry" /></mxCell>
<mxCell id="ui2" value="<b>Mol* Structure Viewer</b><br>WT vs mutant 3D view<br>Binding pocket overlay" style="rounded=8;fillColor=#F0F4C3;strokeColor=#827717;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="248" y="1098" width="185" height="62" as="geometry" /></mxCell>
<mxCell id="ui3" value="<b>Candidate Ranker</b><br>Fitness + KG evidence<br>Export CSV / FASTA" style="rounded=8;fillColor=#F0F4C3;strokeColor=#827717;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="446" y="1098" width="185" height="62" as="geometry" /></mxCell>
<mxCell id="ui4" value="<b>Experiment Logbook</b><br>OBI-structured logging<br>Prediction vs actual delta" style="rounded=8;fillColor=#F0F4C3;strokeColor=#827717;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="644" y="1098" width="185" height="62" as="geometry" /></mxCell>
<mxCell id="ui5" value="<b>PELT Monitor</b><br>Live change-point alerts<br>Regime shift timeline" style="rounded=8;fillColor=#F0F4C3;strokeColor=#827717;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="842" y="1098" width="185" height="62" as="geometry" /></mxCell>
<mxCell id="ui6" value="<b>Forecast Dashboard</b><br>Yield P10/P50/P90 curves<br>Round efficiency plots" style="rounded=8;fillColor=#F0F4C3;strokeColor=#827717;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="1040" y="1098" width="185" height="62" as="geometry" /></mxCell>
<mxCell id="ui7" value="<b>Collaboration Layer</b><br>Annotation threads<br>Attribution + version history" style="rounded=8;fillColor=#F0F4C3;strokeColor=#827717;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="1238" y="1098" width="185" height="62" as="geometry" /></mxCell>
<mxCell id="ui8" value="<b>Model Drift Dashboard</b><br>RMSE over time<br>MLflow retraining history" style="rounded=8;fillColor=#F0F4C3;strokeColor=#827717;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="1436" y="1098" width="185" height="62" as="geometry" /></mxCell>
<mxCell id="ui9" value="<b>LIMS / Synthesis API</b><br>Benchling export<br>Twist / IDT gene ordering" style="rounded=8;fillColor=#F0F4C3;strokeColor=#827717;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="1634" y="1098" width="206" height="62" as="geometry" /></mxCell>
<mxCell id="fl1" value="annotate on ingestion" style="edgeStyle=orthogonalEdgeStyle;strokeColor=#6A1B9A;endArrow=block;endFill=1;fontSize=8;" edge="1" parent="1" source="L0bg" target="L1bg"><mxGeometry relative="1" as="geometry" /></mxCell>
<mxCell id="fl2" value="type all nodes and edges" style="edgeStyle=orthogonalEdgeStyle;strokeColor=#006064;endArrow=block;endFill=1;fontSize=8;" edge="1" parent="1" source="L1bg" target="L2bg"><mxGeometry relative="1" as="geometry" /></mxCell>
<mxCell id="fl3" value="KG read/write per tool call" style="edgeStyle=orthogonalEdgeStyle;strokeColor=#0D47A1;endArrow=block;endFill=1;fontSize=8;" edge="1" parent="1" source="L2bg" target="L3bg"><mxGeometry relative="1" as="geometry" /></mxCell>
<mxCell id="fl4" value="PELT triggers agent re-plan" style="edgeStyle=orthogonalEdgeStyle;strokeColor=#E65100;endArrow=block;endFill=1;fontSize=8;dashed=1;" edge="1" parent="1" source="L3bg" target="L4bg"><mxGeometry relative="1" as="geometry" /></mxCell>
<mxCell id="fl5" value="change-point flags as TFT covariates" style="edgeStyle=orthogonalEdgeStyle;strokeColor=#1B5E20;endArrow=block;endFill=1;fontSize=8;" edge="1" parent="1" source="L4bg" target="L5bg"><mxGeometry relative="1" as="geometry" /></mxCell>
<mxCell id="fl6" value="forecast informs BOED" style="edgeStyle=orthogonalEdgeStyle;strokeColor=#1B5E20;endArrow=block;endFill=1;fontSize=8;dashed=1;" edge="1" parent="1" source="tft1" target="ag7"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="164" y="920" /><mxPoint x="164" y="720" /><mxPoint x="1196" y="720" /></Array></mxGeometry></mxCell>
<mxCell id="fl7" value="GPS live fermentation feed" style="edgeStyle=orthogonalEdgeStyle;strokeColor=#E65100;endArrow=block;endFill=1;fontSize=8;dashed=1;" edge="1" parent="1" source="ds7" target="pelt1"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="1026" y="862" /><mxPoint x="237" y="862" /></Array></mxGeometry></mxCell>
<mxCell id="fl8" value="Experiment results to KG + retrain trigger" style="edgeStyle=orthogonalEdgeStyle;strokeColor=#F57F17;endArrow=block;endFill=1;fontSize=8;strokeWidth=2;dashed=1;" edge="1" parent="1" source="ui4" target="kg5"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="736" y="1072" /><mxPoint x="736" y="760" /><mxPoint x="767" y="760" /><mxPoint x="767" y="520" /></Array></mxGeometry></mxCell>
<mxCell id="wf_bg" value="" style="rounded=10;fillColor=#263238;strokeColor=#37474F;strokeWidth=0;" vertex="1" parent="1"><mxGeometry x="1510" y="230" width="360" height="536" as="geometry" /></mxCell>
<mxCell id="wft" value="<b><font color='#FFFFFF'>END-TO-END DISCOVERY WORKFLOW</font></b>" style="text;html=1;strokeColor=none;fillColor=none;align=center;fontSize=11;" vertex="1" parent="1"><mxGeometry x="1510" y="234" width="360" height="22" as="geometry" /></mxCell>
<mxCell id="w1" value="1. Researcher enters target reaction" style="rounded=5;fillColor=#546E7A;strokeColor=none;fontColor=#FFFFFF;fontSize=10;align=left;" vertex="1" parent="1"><mxGeometry x="1522" y="260" width="336" height="26" as="geometry" /></mxCell>
<mxCell id="w2" value="2. OrchestratorAgent decomposes task graph" style="rounded=5;fillColor=#455A64;strokeColor=none;fontColor=#ECEFF1;fontSize=10;align=left;" vertex="1" parent="1"><mxGeometry x="1522" y="292" width="336" height="26" as="geometry" /></mxCell>
<mxCell id="w3" value="3. Ontology resolves entities / KG query fires" style="rounded=5;fillColor=#7B1FA2;strokeColor=none;fontColor=#FFFFFF;fontSize=10;align=left;" vertex="1" parent="1"><mxGeometry x="1522" y="324" width="336" height="26" as="geometry" /></mxCell>
<mxCell id="w4" value="4. PathwayAgent: KEGG + FBA / RDS found" style="rounded=5;fillColor=#0277BD;strokeColor=none;fontColor=#FFFFFF;fontSize=10;align=left;" vertex="1" parent="1"><mxGeometry x="1522" y="356" width="336" height="26" as="geometry" /></mxCell>
<mxCell id="w5" value="5. MutationAgent: KG priors + ESM-2 / 40 candidates" style="rounded=5;fillColor=#0277BD;strokeColor=none;fontColor=#FFFFFF;fontSize=10;align=left;" vertex="1" parent="1"><mxGeometry x="1522" y="388" width="336" height="26" as="geometry" /></mxCell>
<mxCell id="w6" value="6. Dock + Predict in parallel / ranked list" style="rounded=5;fillColor=#0277BD;strokeColor=none;fontColor=#FFFFFF;fontSize=10;align=left;" vertex="1" parent="1"><mxGeometry x="1522" y="420" width="336" height="26" as="geometry" /></mxCell>
<mxCell id="w7" value="7. Researcher reviews UI / exports top-8" style="rounded=5;fillColor=#558B2F;strokeColor=none;fontColor=#FFFFFF;fontSize=10;align=left;" vertex="1" parent="1"><mxGeometry x="1522" y="452" width="336" height="26" as="geometry" /></mxCell>
<mxCell id="w8" value="8. Wet lab synthesis + assay (GPS facility)" style="rounded=5;fillColor=#827717;strokeColor=none;fontColor=#FFFFFF;fontSize=10;align=left;" vertex="1" parent="1"><mxGeometry x="1522" y="484" width="336" height="26" as="geometry" /></mxCell>
<mxCell id="w9" value="9. PELT monitors bioreactor + model RMSE" style="rounded=5;fillColor=#BF360C;strokeColor=none;fontColor=#FFFFFF;fontSize=10;align=left;" vertex="1" parent="1"><mxGeometry x="1522" y="516" width="336" height="26" as="geometry" /></mxCell>
<mxCell id="w10" value="10. Results logged / KG updated / retrain queued" style="rounded=5;fillColor=#F57F17;strokeColor=none;fontColor=#FFFFFF;fontSize=10;align=left;" vertex="1" parent="1"><mxGeometry x="1522" y="548" width="336" height="26" as="geometry" /></mxCell>
<mxCell id="w11" value="11. HypothesisAgent surfaces typed hypotheses" style="rounded=5;fillColor=#AD1457;strokeColor=none;fontColor=#FFFFFF;fontSize=10;align=left;" vertex="1" parent="1"><mxGeometry x="1522" y="580" width="336" height="26" as="geometry" /></mxCell>
<mxCell id="w12" value="12. TFT forecasts next-round yield + RDS shift" style="rounded=5;fillColor=#1B5E20;strokeColor=none;fontColor=#FFFFFF;fontSize=10;align=left;" vertex="1" parent="1"><mxGeometry x="1522" y="612" width="336" height="26" as="geometry" /></mxCell>
<mxCell id="w13" value="13. ExperimentPlanner: BOED queue for next round" style="rounded=5;fillColor=#1B5E20;strokeColor=none;fontColor=#FFFFFF;fontSize=10;align=left;" vertex="1" parent="1"><mxGeometry x="1522" y="644" width="336" height="26" as="geometry" /></mxCell>
<mxCell id="w14" value="LOOP — platform compounds intelligence each round" style="rounded=5;fillColor=#263238;strokeColor=#80CBC4;fontColor=#80CBC4;fontSize=10;align=center;fontStyle=3;strokeWidth=2;" vertex="1" parent="1"><mxGeometry x="1522" y="680" width="336" height="28" as="geometry" /></mxCell>
<mxCell id="w15" value="Target: under 4 hours from query to ranked candidates" style="text;html=1;strokeColor=none;fillColor=none;align=center;fontColor=#B0BEC5;fontSize=9;" vertex="1" parent="1"><mxGeometry x="1522" y="714" width="336" height="18" as="geometry" /></mxCell>
<mxCell id="lgbg" value="" style="rounded=8;fillColor=#FAFAFA;strokeColor=#90A4AE;" vertex="1" parent="1"><mxGeometry x="30" y="1186" width="1840" height="50" as="geometry" /></mxCell>
<mxCell id="lg1" value="Public Databases" style="rounded=4;fillColor=#A5D6A7;strokeColor=#2E7D32;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="46" y="1198" width="145" height="26" as="geometry" /></mxCell>
<mxCell id="lg2" value="GPS Internal Data" style="rounded=4;fillColor=#FFF9C4;strokeColor=#F9A825;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="200" y="1198" width="145" height="26" as="geometry" /></mxCell>
<mxCell id="lg3" value="Ontology Layer" style="rounded=4;fillColor=#CE93D8;strokeColor=#6A1B9A;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="354" y="1198" width="145" height="26" as="geometry" /></mxCell>
<mxCell id="lg4" value="KG Nodes" style="rounded=4;fillColor=#00BCD4;strokeColor=#006064;fontColor=#FFFFFF;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="508" y="1198" width="145" height="26" as="geometry" /></mxCell>
<mxCell id="lg5" value="Proactive Agents" style="rounded=4;fillColor=#1976D2;strokeColor=#0D47A1;fontColor=#FFFFFF;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="662" y="1198" width="145" height="26" as="geometry" /></mxCell>
<mxCell id="lg6" value="Reactive Agents" style="rounded=4;fillColor=#AD1457;strokeColor=#880E4F;fontColor=#FFFFFF;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="816" y="1198" width="145" height="26" as="geometry" /></mxCell>
<mxCell id="lg7" value="PELT Detection" style="rounded=4;fillColor=#FFCC80;strokeColor=#E65100;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="970" y="1198" width="145" height="26" as="geometry" /></mxCell>
<mxCell id="lg8" value="TFT Forecasting" style="rounded=4;fillColor=#A5D6A7;strokeColor=#1B5E20;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="1124" y="1198" width="145" height="26" as="geometry" /></mxCell>
<mxCell id="lg9" value="UI Components" style="rounded=4;fillColor=#F0F4C3;strokeColor=#827717;fontSize=10;align=center;" vertex="1" parent="1"><mxGeometry x="1278" y="1198" width="145" height="26" as="geometry" /></mxCell>
<mxCell id="lg10" value="Solid arrow = data flow Dashed arrow = trigger/activation Orange dashed = experimental feedback loop" style="text;html=1;strokeColor=none;fillColor=none;fontSize=10;align=left;fontColor=#37474F;" vertex="1" parent="1"><mxGeometry x="1440" y="1198" width="410" height="26" as="geometry" /></mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>