API Reference¶
This page provides an overview of U-MIMIC’s public Python API, organized by module.
Pipeline¶
umimic.pipeline.experiment.Experiment¶
The main user-facing class that ties all components together.
from umimic.pipeline.config import ExperimentConfig
from umimic.pipeline.experiment import Experiment
config = ExperimentConfig(name="my_exp")
exp = Experiment(config)
Methods:
simulate(rate_set=None, method=None, concentrations=None)– Run forward simulation. ReturnsSimulationResultordict[float, SimulationResult]for dose-response.generate_synthetic(rate_set=None)– Generate syntheticExperimentalDataset.fit(data, **kwargs)– Run inference. ReturnsInferenceResult.
umimic.pipeline.config¶
load_config(path)– Load and validate a YAML config file intoExperimentConfig.save_config(config, path)– Save anExperimentConfigto YAML.ExperimentConfig– Top-level Pydantic model (see Configuration Reference).
Dynamics¶
umimic.dynamics.states¶
CellType– Enum:P(proliferating),Q(quiescent),A(apoptotic),R(resistant).ModelTopology– Defines which states and transitions are active. Factory methods:two_state(),three_state(),four_state().
umimic.dynamics.rates¶
RateSet– Complete parameter set for concentration-modulated birth, death, and transition rates. See docstring for the inference parameter naming convention. Factory methods:cytotoxic_drug(),cytostatic_drug().DoseResponseFunction– Abstract base for dose-response curves.EmaxHill– Emax/Hill model:Emax * C^Hill / (EC50^Hill + C^Hill).FourParameterLogistic– 4PL sigmoidal model.ConstantRate– Constant (no drug modulation).
umimic.dynamics.ode_system¶
CellDynamicsODE– Deterministic ODE solver usingscipy.integrate.solve_ivp. Methods:solve(y0, t_span, t_eval),solve_dose_response(y0, t_span, concentrations, t_eval).
umimic.dynamics.gillespie¶
GillespieSimulator– Exact stochastic simulation (Gillespie SSA). Method:simulate(y0, t_max, t_eval).
umimic.dynamics.tau_leaping¶
TauLeapingSimulator– Approximate stochastic simulation. Method:simulate(y0, t_max, t_eval).
umimic.dynamics.moment_equations¶
MomentODE– Linear Noise Approximation: solves mean + covariance dynamics. Method:solve(mu0, t_span, t_eval).
Pharmacokinetics¶
umimic.pk.exposure¶
ExposureProfile– Unified drug concentration interface.ExposureProfile.constant(concentration)– In-vitro constant exposure.ExposureProfile.from_pk(pk_model, dosing)– In-vivo PK-driven exposure.concentration(t)– Get concentration at timet.
umimic.pk.compartment¶
OneCompartmentPK(vd, ke, ka=None)– One-compartment PK model.TwoCompartmentPK(vc, vp, cl, q, ka=None)– Two-compartment PK model.
umimic.pk.dosing¶
DosingSchedule– Dosing event schedule. Factory methods:constant_invitro(conc),single_bolus(dose, time),repeated(dose, interval, n_doses),oral_repeated(...).
Observations¶
umimic.observations.base¶
ObservationModel– Abstract base class. Methods:log_likelihood(obs, latent, params),sample(latent, params),param_names().
umimic.observations.cell_counts¶
CellCountObservation(overdispersion)– Negative Binomial observation model for discrete cell counts. Supports LNA-informed variance.
umimic.observations.bli¶
BLIObservation(alpha, sigma_log)– Bioluminescence imaging observation model.
umimic.observations.tumor_volume¶
TumorVolumeObservation(beta, sigma_v)– Tumor volume observation model.
umimic.observations.multimodal¶
MultimodalObservation(models)– Combines multiple observation models.
Inference¶
umimic.inference.likelihood¶
ModelLikelihood(topology, data, param_names, mode, observation_model)– Central log-likelihood function. Groups replicates by concentration to share ODE solutions. Callable:likelihood(theta) -> float.
umimic.inference.mle¶
MLEstimator(likelihood, bounds, priors, method)– Maximum likelihood estimation. Methods:fit(initial_guess, n_restarts) -> MLEResult.
umimic.inference.mcmc¶
MCMCSampler(likelihood, priors, backend)– MCMC sampling (emcee or PyMC). Methods:sample(n_samples, n_chains, n_warmup) -> MCMCResult.
umimic.inference.priors¶
PriorSpec– Prior distribution specification. Methods:log_prior(params) -> float,sample(rng) -> dict. Factory:PriorSpec.default_invitro().
Data¶
umimic.data.schemas¶
TimeSeriesData– Single replicate:times,observationsdict,concentration.ExperimentalDataset– Collection ofTimeSeriesDatawith metadata.
umimic.data.synthetic¶
SyntheticDataGenerator(rate_set, topology, obs_model, rng)– Methods:generate_invitro_plate(...),generate_invivo_cohort(...).
umimic.data.loaders¶
load_csv(path, data_config)– Load experimental data from CSV.
umimic.data.public_datasets¶
load_bestdr(data_root, cell_line, drug)– BESTDR breast cancer data.load_phenopop(data_root, population)– PhenoPop Ba/F3 imaging data.load_tshs_tumor(data_root, treatment_group)– TSHS xenograft tumor volumes.load_hafner_gr(data_root, cell_line, drug)– Hafner/Niepel GR metrics.load_nci60(data_path, cell_line)– NCI-60 growth inhibition.list_available_datasets()– List datasets and their download status.
Result Types¶
Defined in umimic.types:
SimulationResult– Forward simulation output (times,populationsdict).EnsembleResult– Multiple stochastic trajectories.MLEResult– MLE output (parameters,log_likelihood,aic,bic,se,converged).MCMCResult– MCMC output (samples, diagnostics).InferenceResult– Unified container (method,mle,mcmc,context).