This repository provides scripts to use perturbation screenings to optimize logic-ODE models. These models describe protein-protein interactions, with model parameters representing the interaction between two proteins. We also integrated the logic-ODE model in an active learning workflow. See schematics below for a more detailed overview of the pipeline. Additionally, a XLSX file with supplementary table is provided. This file contains all the literature used to curate the prior knowledge network, included in added notes within the XLSX file. See Appendix for descriptions of the tables.
See Releases for the most up-to-date version which you can download for further usage. The logic-ODE models are implemented using CellNOptR and CNORode (Terfve et al., 2012). Logic-ODE libraries can be installed as follows:
if (!require("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("CellNOptR")
BiocManager::install("MEIGOR")
BiocManager::install("CNORode")For a more detailed overview of libraries, see initialization.R. No version conflicts across packages have been experienced, but in case an error occurs caused by conflicting library versions, see session_info.txt for more details on a session on Windows in which the script runs without error using the corresponding library versions. Also, the packages have compiled in a packrat project, which can be used for creating a directory running all necessary libraries with correct versions. The corresponding folder can be used to activate packrat and its libraries with packrat::on().
There are two dedicated folders for other files required for the code: data and output. Data includes raw data from wet lab screenings, with a dedicated metadata file for more information about experimental conditions. The output folder includes files generated by the code which were also used to generate the figures for the manuscript.
Scripts are categorized into the following folders:
Running a basic pipeline with the logic-ODE, including data preparation, optimization and parameter analyses
- 01_preparing_inputs.R: load FACS data compiled in CSV file and further process the data (cleaning, normalization) to prepare it for the model
- 02_optimization.R: optimize logic-ODE using curated prior-knowledge network and data from prepared in 01_preparing_inputs.R
- 03_insilico_knockouts.R: using a configuration file to indicate which interactions to knockout, perform in silico knockouts and save resulting simulation outputs
- 04_MPSA.R: global parameter sensitivity analysis with latin hypercube sampling
- 05_optimization_bootstrapping.R: altered version of 02_optimization.R, which includes running the optimization multiple times with bootstrapped models and saving which conditions were excluded from the training data. This scripts requires adjusted functions CellNOptR, located in the same folder: getLBodeContObjFunction2, parEstimationLBode2 and parEstimationLBodeSSm2
The script optimization.R runs the optimization loop for active learning. The user can define whether to run multiple rounds or only one at the time, gathering new wet lab screening data in between rounds.
Scripts to replicate the main figures included in the manuscript, also includes Cytoscape files for network visualizations.

