PharmAI / frontend /src /data /sampleData.ts
Hattie's picture
Initial PharmAI deployment
9316888
Raw
History Blame Contribute Delete
11.7 kB
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" },
},
];
// Hardcoded compound database (fallback when CSV not available)
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);
}