use crate::molecules::small::MoleculeSmall;
#[derive(Clone, Debug, Default)]
pub struct Adme {
pub intestinal_permeability: f32,
pub intestinal_absorption: f32,
pub pgp: f32,
pub oral_bioavailablity: f32,
pub lipophilicity: f32,
pub solubility_water: f32,
pub membrane_permeability: f32,
pub hydration_free_energy: f32,
pub blood_brain_barrier: f32,
pub plasma_protein_binding_rate: f32,
pub vdss: f32,
pub cyp_2c19_inhibition: f32,
pub cyp_2d6_inhibition: f32,
pub cyp_3a4_inhibition: f32,
pub cyp_1a2_inhibition: f32,
pub cyp_2c9_inhibition: f32,
pub half_life: f32,
pub clearance: f32,
}
#[derive(Clone, Debug, Default)]
pub struct Toxicity {
pub ld50: f32,
pub ether_a_go_go: f32,
pub mutagencity: f32,
pub drug_induced_liver_injury: f32,
pub skin_reaction: f32,
pub carcinogen: f32,
}
#[derive(Clone, Debug, Default)]
pub struct TherapeuticProperties {
pub adme: Adme,
pub toxicity: Toxicity,
pub breakdown_products: Vec<MoleculeSmall>,
}