| export interface EndpointResult { |
| prob: number; |
| pred: number; |
| label: string; |
| } |
|
|
| export interface PredictionResult { |
| smiles: string; |
| name: string; |
| pred: Record<string, EndpointResult>; |
| meta: { model_version: string }; |
| } |
|
|
| export interface EndpointCategory { |
| name: string; |
| color: string; |
| bgColor: string; |
| endpoints: string[]; |
| } |
|
|
| export interface CompoundData { |
| name?: string; |
| smiles: string; |
| molecular_weight: number; |
| Clint: number; |
| logP: number; |
| pKa: number; |
| solubility: number; |
| permeability: number; |
| plasma_protein_binding: number; |
| fu_in_vitro: number; |
| } |
|
|
| export interface NCAData { |
| Cmax?: number; |
| Tmax?: number; |
| AUClast?: number; |
| AUC?: number; |
| AUCINF_obs?: number; |
| AUCINF?: number; |
| AUCINF_pred?: number; |
| Lambda_z?: number; |
| Cl_obs?: number; |
| Vz_obs?: number; |
| F?: number; |
| ka?: number; |
| [key: string]: number | undefined; |
| } |
|
|
| export interface ConcentrationData { |
| time: number[]; |
| plasma_conc: number[]; |
| liver_cell_conc: number[]; |
| kidney_cell_conc: number[]; |
| brain_cell_conc: number[]; |
| muscle_cell_conc: number[]; |
| fat_cell_conc: number[]; |
| } |
|
|
| export interface PBPKSimulationResult { |
| status: string; |
| drug_name: string; |
| drug_data: Record<string, unknown>; |
| nca_data: NCAData; |
| concentrations: ConcentrationData; |
| modelOptions: { |
| useADMET: boolean; |
| useClearance: boolean; |
| }; |
| } |
|
|
| export const ENDPOINT_CATEGORIES: EndpointCategory[] = [ |
| { |
| name: "CYP Substrate", |
| color: "text-blue-400", |
| bgColor: "bg-blue-500/20 border-blue-500/30", |
| endpoints: [ |
| "cyp450_1a2_substrate.cls", |
| "cyp450_2c9_substrate.cls", |
| "cyp450_2d6_substrate.cls", |
| "cyp450_3a4_substrate.cls", |
| ], |
| }, |
| { |
| name: "CYP Inhibitor", |
| color: "text-purple-400", |
| bgColor: "bg-purple-500/20 border-purple-500/30", |
| endpoints: [ |
| "cyp450_2c19_inhibitor.cls", |
| "cyp450_2c9_inhibitor.cls", |
| "cyp450_2d6_inhibitor.cls", |
| "cyp450_3a4_inhibitor.cls", |
| "cyp_inhibitory_promiscuity.cls", |
| ], |
| }, |
| { |
| name: "Toxicity", |
| color: "text-red-400", |
| bgColor: "bg-red-500/20 border-red-500/30", |
| endpoints: [ |
| "ames_toxicity.cls", |
| "carcinogenicity.cls", |
| "herg_inhibitor_1.cls", |
| "herg_inhibitor_2.cls", |
| ], |
| }, |
| { |
| name: "Absorption / Distribution", |
| color: "text-green-400", |
| bgColor: "bg-green-500/20 border-green-500/30", |
| endpoints: ["bbb.cls", "caco2.cls", "hia.cls", "biodegradation.cls"], |
| }, |
| { |
| name: "Transporter", |
| color: "text-amber-400", |
| bgColor: "bg-amber-500/20 border-amber-500/30", |
| endpoints: [ |
| "p_glycoprotein_inhibitor_1.cls", |
| "p_glycoprotein_inhibitor_2.cls", |
| "p_glycoprotein_substrate.cls", |
| "renal_organic_cation_transporter.cls", |
| ], |
| }, |
| ]; |
|
|
| export const ENDPOINT_DISPLAY_NAMES: Record<string, string> = { |
| "ames_toxicity.cls": "Ames Toxicity", |
| "bbb.cls": "BBB Permeability", |
| "biodegradation.cls": "Biodegradation", |
| "caco2.cls": "Caco-2 Permeability", |
| "carcinogenicity.cls": "Carcinogenicity", |
| "cyp450_1a2_substrate.cls": "CYP1A2 Substrate", |
| "cyp450_2c19_inhibitor.cls": "CYP2C19 Inhibitor", |
| "cyp450_2c9_inhibitor.cls": "CYP2C9 Inhibitor", |
| "cyp450_2c9_substrate.cls": "CYP2C9 Substrate", |
| "cyp450_2d6_inhibitor.cls": "CYP2D6 Inhibitor", |
| "cyp450_2d6_substrate.cls": "CYP2D6 Substrate", |
| "cyp450_3a4_inhibitor.cls": "CYP3A4 Inhibitor", |
| "cyp450_3a4_substrate.cls": "CYP3A4 Substrate", |
| "cyp_inhibitory_promiscuity.cls": "CYP Inhibitory Promiscuity", |
| "herg_inhibitor_1.cls": "hERG Inhibitor (Type 1)", |
| "herg_inhibitor_2.cls": "hERG Inhibitor (Type 2)", |
| "hia.cls": "Human Intestinal Absorption", |
| "p_glycoprotein_inhibitor_1.cls": "P-gp Inhibitor (Type 1)", |
| "p_glycoprotein_inhibitor_2.cls": "P-gp Inhibitor (Type 2)", |
| "p_glycoprotein_substrate.cls": "P-gp Substrate", |
| "renal_organic_cation_transporter.cls": "Renal OCT Inhibitor", |
| }; |
|
|
| export const SAMPLE_PREDICTIONS: PredictionResult[] = [ |
| { |
| smiles: "CCO", |
| name: "Ethanol", |
| pred: { |
| "ames_toxicity.cls": { prob: 0.9085, pred: 1, label: "Non AMES toxic" }, |
| "bbb.cls": { prob: 0.9986, pred: 1, label: "True" }, |
| "biodegradation.cls": { prob: 0.9934, pred: 1, label: "Ready biodegradable" }, |
| "caco2.cls": { prob: 0.9956, pred: 1, label: "True" }, |
| "carcinogenicity.cls": { prob: 0.0195, pred: 0, label: "Carcinogens " }, |
| "cyp450_1a2_substrate.cls": { prob: 0.215, pred: 0, label: "Non-substrate" }, |
| "cyp450_2c19_inhibitor.cls": { prob: 0.999, pred: 1, label: "Non-inhibitor" }, |
| "cyp450_2c9_inhibitor.cls": { prob: 0.9249, pred: 1, label: "Non-inhibitor" }, |
| "cyp450_2c9_substrate.cls": { prob: 0.0001, pred: 0, label: "Non-substrate" }, |
| "cyp450_2d6_inhibitor.cls": { prob: 0.9998, pred: 1, label: "Non-inhibitor" }, |
| "cyp450_2d6_substrate.cls": { prob: 0.0016, pred: 0, label: "Non-substrate" }, |
| "cyp450_3a4_inhibitor.cls": { prob: 0.9998, pred: 1, label: "Non-inhibitor" }, |
| "cyp450_3a4_substrate.cls": { prob: 0.001, pred: 0, label: "Non-substrate" }, |
| "cyp_inhibitory_promiscuity.cls": { prob: 0.9996, pred: 1, label: "Low CYP Inhibitory Promiscuity" }, |
| "herg_inhibitor_1.cls": { prob: 0.9636, pred: 1, label: "Weak inhibitor" }, |
| "herg_inhibitor_2.cls": { prob: 0.9998, pred: 1, label: "Non-inhibitor" }, |
| "hia.cls": { prob: 0.9878, pred: 1, label: "True" }, |
| "p_glycoprotein_inhibitor_1.cls": { prob: 0.9997, pred: 1, label: "Non-inhibitor" }, |
| "p_glycoprotein_inhibitor_2.cls": { prob: 0.9999, pred: 1, label: "Non-inhibitor" }, |
| "p_glycoprotein_substrate.cls": { prob: 0.0082, pred: 0, label: "Non-substrate" }, |
| "renal_organic_cation_transporter.cls": { prob: 0.9999, pred: 1, label: "Non-inhibitor" }, |
| }, |
| meta: { model_version: "admet_smiles_merge_didb_seed202" }, |
| }, |
| { |
| smiles: "CC(=O)Oc1ccccc1C(=O)O", |
| name: "Aspirin", |
| pred: { |
| "ames_toxicity.cls": { prob: 0.8721, pred: 1, label: "Non AMES toxic" }, |
| "bbb.cls": { prob: 0.8345, pred: 1, label: "True" }, |
| "biodegradation.cls": { prob: 0.7823, pred: 1, label: "Ready biodegradable" }, |
| "caco2.cls": { prob: 0.9234, pred: 1, label: "True" }, |
| "carcinogenicity.cls": { prob: 0.8912, pred: 1, label: "Non-carcinogens" }, |
| "cyp450_1a2_substrate.cls": { prob: 0.1234, pred: 0, label: "Non-substrate" }, |
| "cyp450_2c19_inhibitor.cls": { prob: 0.9567, pred: 1, label: "Non-inhibitor" }, |
| "cyp450_2c9_inhibitor.cls": { prob: 0.3456, pred: 0, label: "Inhibitor" }, |
| "cyp450_2c9_substrate.cls": { prob: 0.789, pred: 1, label: "Substrate" }, |
| "cyp450_2d6_inhibitor.cls": { prob: 0.9876, pred: 1, label: "Non-inhibitor" }, |
| "cyp450_2d6_substrate.cls": { prob: 0.0234, pred: 0, label: "Non-substrate" }, |
| "cyp450_3a4_inhibitor.cls": { prob: 0.9654, pred: 1, label: "Non-inhibitor" }, |
| "cyp450_3a4_substrate.cls": { prob: 0.1567, pred: 0, label: "Non-substrate" }, |
| "cyp_inhibitory_promiscuity.cls": { prob: 0.9234, pred: 1, label: "Low CYP Inhibitory Promiscuity" }, |
| "herg_inhibitor_1.cls": { prob: 0.9456, pred: 1, label: "Weak inhibitor" }, |
| "herg_inhibitor_2.cls": { prob: 0.9789, pred: 1, label: "Non-inhibitor" }, |
| "hia.cls": { prob: 0.9912, pred: 1, label: "True" }, |
| "p_glycoprotein_inhibitor_1.cls": { prob: 0.9876, pred: 1, label: "Non-inhibitor" }, |
| "p_glycoprotein_inhibitor_2.cls": { prob: 0.9934, pred: 1, label: "Non-inhibitor" }, |
| "p_glycoprotein_substrate.cls": { prob: 0.0567, pred: 0, label: "Non-substrate" }, |
| "renal_organic_cation_transporter.cls": { prob: 0.9987, pred: 1, label: "Non-inhibitor" }, |
| }, |
| meta: { model_version: "admet_smiles_merge_didb_seed202" }, |
| }, |
| { |
| smiles: "Cn1c(=O)c2c(ncn2C)n(C)c1=O", |
| name: "Caffeine", |
| pred: { |
| "ames_toxicity.cls": { prob: 0.7654, pred: 1, label: "Non AMES toxic" }, |
| "bbb.cls": { prob: 0.9567, pred: 1, label: "True" }, |
| "biodegradation.cls": { prob: 0.3456, pred: 0, label: "Not ready biodegradable" }, |
| "caco2.cls": { prob: 0.9123, pred: 1, label: "True" }, |
| "carcinogenicity.cls": { prob: 0.9345, pred: 1, label: "Non-carcinogens" }, |
| "cyp450_1a2_substrate.cls": { prob: 0.8765, pred: 1, label: "Substrate" }, |
| "cyp450_2c19_inhibitor.cls": { prob: 0.8234, pred: 1, label: "Non-inhibitor" }, |
| "cyp450_2c9_inhibitor.cls": { prob: 0.8901, pred: 1, label: "Non-inhibitor" }, |
| "cyp450_2c9_substrate.cls": { prob: 0.0345, pred: 0, label: "Non-substrate" }, |
| "cyp450_2d6_inhibitor.cls": { prob: 0.9234, pred: 1, label: "Non-inhibitor" }, |
| "cyp450_2d6_substrate.cls": { prob: 0.0567, pred: 0, label: "Non-substrate" }, |
| "cyp450_3a4_inhibitor.cls": { prob: 0.789, pred: 1, label: "Non-inhibitor" }, |
| "cyp450_3a4_substrate.cls": { prob: 0.6789, pred: 1, label: "Substrate" }, |
| "cyp_inhibitory_promiscuity.cls": { prob: 0.8567, pred: 1, label: "Low CYP Inhibitory Promiscuity" }, |
| "herg_inhibitor_1.cls": { prob: 0.9123, pred: 1, label: "Weak inhibitor" }, |
| "herg_inhibitor_2.cls": { prob: 0.9567, pred: 1, label: "Non-inhibitor" }, |
| "hia.cls": { prob: 0.9876, pred: 1, label: "True" }, |
| "p_glycoprotein_inhibitor_1.cls": { prob: 0.9345, pred: 1, label: "Non-inhibitor" }, |
| "p_glycoprotein_inhibitor_2.cls": { prob: 0.9678, pred: 1, label: "Non-inhibitor" }, |
| "p_glycoprotein_substrate.cls": { prob: 0.1234, pred: 0, label: "Non-substrate" }, |
| "renal_organic_cation_transporter.cls": { prob: 0.9876, pred: 1, label: "Non-inhibitor" }, |
| }, |
| meta: { model_version: "admet_smiles_merge_didb_seed202" }, |
| }, |
| ]; |
|
|
| |
| export const COMPOUNDS_DATABASE: Record<string, CompoundData> = { |
| alogliptin: { |
| name: "Alogliptin", |
| smiles: "CN1C(=O)C=C(N(C1=O)CC2=CC=CC=C2C#N)N3CCC[C@H](C3)N", |
| molecular_weight: 339.397, |
| Clint: 3.333, |
| logP: -0.9, |
| pKa: 8.5, |
| solubility: 19.2, |
| permeability: 1.059, |
| plasma_protein_binding: 20.0, |
| fu_in_vitro: 0.8, |
| }, |
| linagliptin: { |
| name: "Linagliptin", |
| smiles: "CC#CC(=O)N1CCC2=C(C1)N(C(=O)N2CC3=NC4=CC=CC=C4C(=N3)C)CC5=CC=C(C=C5)F", |
| molecular_weight: 472.54, |
| Clint: 5.0, |
| logP: 1.7, |
| pKa: 8.6, |
| solubility: 0.9, |
| permeability: 15.0, |
| plasma_protein_binding: 75.0, |
| fu_in_vitro: 0.25, |
| }, |
| ibrutinib: { |
| name: "Ibrutinib", |
| smiles: "C=CC(=O)N1CCC(CC1)N2C3=NC=NC(=C3C(=N2)C4=CC=C(C=C4)OC5=CC=CC=C5)N", |
| molecular_weight: 440.5, |
| Clint: 120.0, |
| logP: 3.0, |
| pKa: 3.6, |
| solubility: 0.01, |
| permeability: 25.0, |
| plasma_protein_binding: 97.3, |
| fu_in_vitro: 0.027, |
| }, |
| vemurafenib: { |
| name: "Vemurafenib", |
| smiles: "CCCS(=O)(=O)NC1=CC(=C(C=C1)F)C(=O)C2=CNC3=NC=C(C=C32)C4=CC=C(C=C4)Cl", |
| molecular_weight: 489.92, |
| Clint: 8.5, |
| logP: 3.2, |
| pKa: 7.9, |
| solubility: 0.1, |
| permeability: 12.0, |
| plasma_protein_binding: 99.0, |
| fu_in_vitro: 0.01, |
| }, |
| ruxolitinib: { |
| name: "Ruxolitinib", |
| smiles: "N#CC1=CC=C(C=C1)C2=NC(=NC=C2)NC3CC3", |
| molecular_weight: 306.37, |
| Clint: 45.0, |
| logP: 2.1, |
| pKa: 4.2, |
| solubility: 5.0, |
| permeability: 20.0, |
| plasma_protein_binding: 97.0, |
| fu_in_vitro: 0.03, |
| }, |
| }; |
|
|
| export function getCompoundBySmiles(smiles: string): CompoundData | null { |
| for (const data of Object.values(COMPOUNDS_DATABASE)) { |
| if (data.smiles === smiles) return data; |
| } |
| return null; |
| } |
|
|
| export function searchCompounds(query: string): string[] { |
| if (!query || query.length < 2) return []; |
| const lower = query.toLowerCase(); |
| return Object.keys(COMPOUNDS_DATABASE) |
| .filter((name) => name.includes(lower)) |
| .slice(0, 10); |
| } |