Reproducible pipeline for four PDX pharmacogenomic case studies built on XevaDB, a standardized resource integrating four PDX cohorts (McGill breast, UHN breast, UHN lung, PDXE pan-cancer):
- growth-kinetics modeling,
- image-based drug-response classification,
- cell-line-to-PDX transfer learning, and
- multi-omics paclitaxel response prediction.
This repository accompanies the manuscript "XevaDB enables AI-driven longitudinal pharmacogenomic modeling in patient-derived xenografts" (citation and DOI to be added upon publication).
The repository reproduces all analyses, intermediate results, figures, supplementary figures, and supplementary tables reported in the manuscript.
If you use this code or XevaDB, please cite:
Feng G., Boccalon M., Tran M.C.A., et al., "XevaDB enables AI-driven longitudinal pharmacogenomic modeling in patient-derived xenografts," (under review)
A versioned snapshot of this repository will be archived on Zenodo upon acceptance (DOI: pending).
This repository's git history is large. To get just the current snapshot instead:
git clone --depth 1 git@github.com:bhklab/XevaDB_case_study.gitrawdata/ Raw, unmodified source XevaSets + external data — see rawdata/README.md
procdata/ Flat per-cohort tables extracted from rawdata/ — see procdata/README.md
0_xevaset_extraction/ Extraction scripts: rawdata/ -> procdata/, + Figure 1
1_doublingRate/ Case study 1: growth-kinetics modeling (Figure 2, Supp Fig 1)
2_drugSensitivity/ Case study 2: image-based response classification (Figure 3, Supp Fig 2)
3_carboplatin/ Case study 3: cross-platform NeST-VNN validation (Figure 4, Supp Fig 3)
4_paclitaxel/ Case study 4: multi-omics paclitaxel prediction (Figure 5, Supp Fig 4)
results/ Per-case intermediate/final pipeline outputs — see results/README.md
figures_tables/ Manuscript figures/tables (submission masters) — see figures_tables/README.md
pretrained_models/ Pretrained NeST-VNN ensemble (external, used by case study 3)
Each of 1_doublingRate/, 2_drugSensitivity/, 3_carboplatin/, and 4_paclitaxel/ has its own README with the
exact notebook run order and figure/table mapping.
- OS: developed and tested on macOS (Darwin). No GPU required to run the pipeline.
R(v4.4.2),Xeva(v1.22.1),limma(v3.62.2),dplyr(v1.1.4),ggplot2(v4.0.1).- Python: 3.9.6, two separate environments (see below).
- Expected runtime:
- most notebooks complete in a few minutes.
- The slowest steps are
2_drugSensitivity/3-ml_resnet18.ipynband4_paclitaxel/2-ML.ipynb's repeated cross-validation with nested grid search and stacking.- up to ~30 minutes on a standard workstation.
Two separate environments are required:
requirements.txt— everything except the ResNet18 notebook.requirements-resnet.txt— ResNet18 notebook (2_drugSensitivity/3-ml_resnet18.ipynb)- pretrained model
3_carboplatin/4-nestvnn_modeling.ipynbadditionally needs the pretrained NeST-VNN ensemble's own virtual env — seepretrained_models/nest_vnn/read_me_to_run.txt.
The repository contains:
- raw input datasets and download instructions
- processed datasets
- intermediate results
- trained models
- manuscript figures
- supplementary figures
- supplementary tables
Running the workflows in the order described below reproduces all manuscript results.
- Download Public Datasets
- Download the required public datasets and reference files. See
rawdata/README.md.
- Download the required public datasets and reference files. See
- Data Extraction
- Essential step to extract flat table and generate images from the downloaded XevaSet objects
rawdata/(input) --0_xevaset_extraction/(code) -->procdata/(output)
- Run Each Case Study
- Four case studies:
1_doublingRate/2_drugSensitivity/3_carboplatin/4_paclitaxel/
- The four case studies are independent and may be run in any order.
- Within each case study, follow that folder's own README for notebook order.
- Four case studies:
| # | Folder | Question | Primary model |
|---|---|---|---|
| 1 | 1_doublingRate/ |
Does RNA-seq predict intrinsic PDX growth rate? | ElasticNet / Random Forest / Lassoed Forest |
| 2 | 2_drugSensitivity/ |
Can tumour-volume curve images classify drug response as well as engineered features? | ResNet18 vs. Random Forest |
| 3 | 3_carboplatin/ |
Does a cell-line-pretrained NeST-VNN ensemble transfer to independent PDX cohorts? | Pretrained NeST-VNN (cisplatin) |
| 4 | 4_paclitaxel/ |
Does multi-omics fusion improve paclitaxel response prediction, and does it validate externally? | Random Forest / Logistic L2, single/early/late fusion |
This repository is distributed under the MIT License. See the LICENSE file for details.
For questions about this repository, please open a GitHub issue or contact Guanqiao Feng (guanqiao.feng@uhn.ca).
