Skip to content

This GitHub repository serves as documentation and reproduction source for our article: Augustin D, Lambert B, Wang K, Walz A-C, Robinson M, Gavaghan D (2023) Filter inference: A scalable nonlinear mixed effects inference approach for snapshot time series data. PLoS Comput Biol 19(5): e1011135.

Notifications You must be signed in to change notification settings

DavAug/filter-inference

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DOI

Filter inference: A scalable nonlinear mixed effects inference approach for snapshot time series data

This GitHub repository serves as documentation and reproduction source for the results published in PLOS Computational Biology. It contains the raw data, the data derived during the analysis, the model specifications (SBML format) and executable scripts (Python scripts as well as Jupyter notebooks).

Looking at the results

The results are documented by multiple notebooks. To open the notebooks, please follow the links below:

  1. Early cancer growth model inference results
  2. EGF pathway model inference results

To inspect the scripts used to generate data, implement models and to estimate model parameters, please follow the links below:

Datasets

Early cancer gowth datasets (no substructure):

  1. 90 snapshot measurements
  2. 270 snapshot measurements
  3. 810 snapshot measurements
  4. 2430 snapshot measurements

Early cancer growth datasets (slow and aggressive growth subpopulations):

  1. 240 snapshot measurements
  2. 3000 snapshot measurements

Epidermal growth factor signalling pathway dataset

  1. 2400 snapshot measurements

Model implementations

  1. Early cancer growth model
  2. EGF pathway model (SBML)
  3. EGF pathway model exposed to 2 constant EGF concentrations

Data-generating scripts

Early cancer growth:

  1. Generate datasets with no substructure
  2. Generate datasets with slow and aggressive cancer growth

Epidermal growth factor signalling pathway:

  1. Generate dataset

Inference scripts

Early cancer growth:

  1. NLME inference from 90 snapshot measurements
  2. Filter inference from 90, 270, 810 and 2430 snapshot measurements
  3. Filter inference from 2430 snapshot measurements with varying numbers of simulated individuals
  4. NLME inference from 240 snapshot measurements of structured population
  5. Filter infernece from 240 and 3000 snapshot measurements of structured population using different filters

Epidermal growth factor signalling pathway:

  1. Filter inference from 2400 snapshot measurements

Reproducing the results

To reproduce the results, the GitHub repository can be cloned, and the scripts can be executed locally. For ease of execution, we prepared a Makefile that runs the scripts in the correct order. Please find a step-by-step instruction how to install the dependencies and how to reproduce the results, once the repostory has been cloned.

1. Install dependencies

  • 1.1 Install CVODE (myokit uses CVODE to solve ODEs)

For Ubuntu:

apt-get update && apt-get install libsundials-dev

For MacOS:

brew update-reset && brew install sundials

For Windows: No action required. Myokit installs CVODE automatically.

  • 1.2 Install Python dependencies
pip install -r requirements.txt

2. Reproduce results

You can now reproduce the results by running

make all

This may take a while (hours to days), because you are re-running all scripts sequentially. To reproduce only the plots from the existing data you can run

make plot_results

You can also run each script individually, but be aware that some scripts are dependent on the data derived in other scripts.

About

This GitHub repository serves as documentation and reproduction source for our article: Augustin D, Lambert B, Wang K, Walz A-C, Robinson M, Gavaghan D (2023) Filter inference: A scalable nonlinear mixed effects inference approach for snapshot time series data. PLoS Comput Biol 19(5): e1011135.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages