Documentation

Omni-MIDD Model Incubator

Placeholder content. This documentation page is a stub. The sections below outline the intended structure and topics to be covered. Full content will be added as models reach maturity.

Omni-MIDD is a browser-based platform for mechanistic pharmacokinetic modelling across drug modalities. Models are implemented in vanilla JavaScript and run entirely client-side — no installation or server connection is required.

The platform currently supports PBPK, QSP, and PK/PD frameworks for small molecules, monoclonal antibodies, antibody–drug conjugates, PROTACs, and bispecific antibodies.

Quick Start

Placeholder. Step-by-step walkthrough to be written.

1. Serve the files locally

Browsers block fetch() on file:// URLs. Start a local static server from the pk_model/ directory:

# Python 3
python3 -m http.server 8000

# Node.js (npx)
npx serve .

Then open http://localhost:8000/landing.html in your browser.

2. Open a model

From the landing page, locate the model card you want to run and click Open Model. Cards marked In Development or Planned are not yet executable.

3. Adjust parameters and run

Use the slider panel at the bottom of the simulation interface to adjust model parameters. Click Run Simulation to update all charts. Use Shift + drag on any chart to zoom, and plain drag to pan.

Parameter values are preserved in localStorage between sessions. Click Reset in the parameter panel header to restore defaults.

PBPK Framework

Placeholder. Full mathematical description, compartment diagram, and governing ODEs to be added.

All models in Omni-MIDD are built on a common physiologically based pharmacokinetic scaffold. Mass-balance ordinary differential equations describe drug disposition across tissue compartments connected by blood flow, with compartment volumes and blood flow rates sourced from species-specific physiological databases.

The general mass-balance equation for tissue compartment i is:

dA_i/dt = Q_i · (C_art - C_i / Kp_i) - CL_i · C_i

where Q_i is tissue blood flow, C_art is arterial drug concentration, Kp_i is the tissue:plasma partition coefficient, and CL_i is tissue intrinsic clearance.

models.yaml Reference

Placeholder. Complete field reference and validation rules to be documented.

The model registry is defined in models.yaml. Each entry corresponds to one card on the landing page. The file is parsed at runtime by landing.js using js-yaml — no build step is required.

Field Type Required Description
idstringYesUnique slug used as the HTML anchor id.
titlestringYesDisplay title shown on the model card.
modalityenumYessmall-molecule | mab | adc | protac | bispecific
model_typeslistYesAny combination of PBPK, QSP, PK/PD.
statusenumYesplanned | in-development | mature
versionstring|nullNoSemantic version string, e.g. 1.2.0. Null if unreleased.
drugstringYesGeneric or a specific drug name.
urlstring|nullNoRelative path to the executable model page.
descriptionstringYesOne- to three-sentence summary shown on the card.
publicationobject|nullNoBibliographic record. See sub-fields below.
publication.titlestringArticle title.
publication.authorslistAuthor strings in Last FM format.
publication.journalstringFull journal or conference name.
publication.yearintegerPublication year.
publication.doistringDOI without the https://doi.org/ prefix.

Adding a Model

Placeholder. Contribution workflow and code conventions to be written.

To register a new model in the library, append an entry to models.yaml following the field reference above. The landing page will pick up the new card automatically on next load — no changes to HTML or JavaScript are required.

Set status: planned and url: null for models that are not yet executable. The Open button will be rendered as disabled until a url is provided.

To implement the model itself, create a new HTML page (e.g. my-model.html) that follows the same structure as index.html, sharing styles.css and referencing model-specific charts.js and params.js files.