Skip to content

Mathbiomed/noiseRPA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

noiseRPA

Overview

This repository contains all MATLAB codes used to generate the figures in the manuscript, "Toward Single-Cell Control: Noise-Robust Perfect Adaptation in Biomolecular Systems". The codes are written in MATLAB R2024a. Pre-simulated results, named 'noiseRPA.zip', can be found in realease v1.0.


Folder Structure and Description

Figure 1

  • Fig1.m

    • Reproduces panels Fig. 1b, c, e, f, and g.
    • By default, it plots the green lines in Fig. 1e, f.
    • Setting mu2 = theta2 = eta2 = d2 = 0 produces the blue lines in Fig. 1c, d.
    • Setting all of mu1, theta1, eta1, k1, mu2, theta2, eta2, d2 = 0 and p1 = 4.5 produces the gray lines in Fig. 1c, d, e, f.

Figure 2

  • Fig2a.m

    • Reproduces Fig. 2a.
  • Fig2b.m

    • Generates the data for the plot in Fig. 2b.
    • Running the script produces a CSV file (e.g., Fig2b_fano.csv) with four rows, each corresponding to a different lines in Fig. 2b.
  • Fig2c.m

    • Produces the heatmap for Fig. 2c.
    • Requires the presence of a file named stochastic_simulation_1000 in the same directory.
    • Running this script saves a heat matrix file named Fig2c_heatmap_ff.mat.
  • Fig2c_drawing.m

    • Visualizes the heatmap matrices generated by the Fig2c.m scripts.
  • Pre-simulated Result Folders

    • Fig2c_mn: Results for blue lines in Fig. 2c

Figure 3

  • Fig3a_simulation.m

    • Simulates data for the heatmap in Fig. 3a.
    • Requires the file stochastic_simulation_1000 in the same directory.
    • Generates 9 files named heatmap_ff_eta1_{eta1}_eta2_{eta2}.mat, saved in the Fig3a subfolder.
  • Fig3b_simulation.m

    • Simulates data for the heatmap in Fig. 3b.
    • Requires the file stochastic_simulation_1000.
    • Generates 9 files named heatmap_ff_k1_{k1}_d2_{d2}.mat, saved in the Fig3b subfolder.
  • Fig3c_simulation.m

    • Simulates data for the heatmap in Fig. 3c.
    • Requires the file stochastic_simulation_on2.
    • Saves the matrix as Fig3c_heatmap_ff.mat.
  • Fig3d_simulation.m

    • Simulates data for the heatmap in Fig. 3d.
    • Requires the file stochastic_simulation_on3.
    • Saves the matrix as Fig3d_heatmap_ff.mat.
  • Fig3_drawing.m

    • Visualizes the heatmap matrices generated by the _simulation.m scripts.
  • Pre-simulated Result Folders

    • Fig3a_mn: Results for blue lines in Fig. 3a
    • Fig3b_mn: Results for blue lines in Fig. 3b
    • Fig3c_mn: Results for blue lines in Fig. 3c
    • Fig3d_mn: Results for blue lines in Fig. 3d

Figure 4

  • Fig4_telegraph.m

    • Simulates and draws plots in Fig. 4b-c.
    • Generates 3 files named telegraph.mat, telegraph_MC.mat, telegraph_MC_NC.mat.
  • Fig4_toggle_switch.m

    • Simulates and draws plots in Fig. 4e-f.
    • Generates 3 files named toggle_switch.mat, toggle_switch_MC.mat, toggle_switch_MC_NC.mat.
  • Pre-simulated Result Folders

    • telegraph: Simulation results of the telegraph model used in Fig. 4b-c
    • telegraph_MC: Simulation results of the telegraph model with MC used in Fig. 4b-c
    • telegraph_MC_NC: Simulation results of the telegraph model with MC and NC used in Fig. 4b-c
    • toggle_switch: Simulation results of the toggle_switch model used in Fig. 4e-f
    • toggle_switch_MC: Simulation results of the toggle_switch model with MC used in Fig. 4e-f
    • toggle_switch_MC_NC: Simulation results of the toggle_switch model with MC and NC used in Fig. 4e-f

Figure 5

  • Fig5bc.m

    • Plots the histograms shown in Fig. 5b, c.
  • Fig5ef.m

    • Plots the histograms shown in Fig. 5e, f.

Figure S1

  • FigS1.m

    • Simulates and draws plots in Fig. S1b.
  • Pre-simulated Result File

    • FigS1_converged_NC.csv: Converged value for the initial condition of simulation

Figure S2

  • FigS2.m

    • Simulates and draws plots in Fig. S2.
  • Pre-simulated Result Files

    • FigS2_noAW_mean.mat: Simulated mean trajectory without anti-windup in Fig. S2a, b
    • FigS2_noAW_variance.mat: Simulated variance trajectory without anti-windup in Fig. S2a, b
    • FigS2_AW_mean.mat: Simulated mean trajectory with anti-windup in Fig. S2c, d
    • FigS2_AW_variance.mat: Simulated variance trajectory with anti-windup in Fig. S2c, d

Figure S3

  • FigS3.m

    • Simulates and draws plots in Fig. S3.
  • Pre-simulated Result Files

    • FigS3_mu2_8.7_mean.mat: Simulated mean trajectory where mu = 8.7
    • FigS3_mu2_8.7_sc.mat: Simulated single-cell trajectory where mu = 8.7
    • FigS3_mu2_9.3_mean.mat: Simulated mean trajectory where mu = 9.3
    • FigS3_mu2_9.3_sc.mat: Simulated single-cell trajectory where mu = 9.3
    • FigS3_mu2_9.9_mean.mat: Simulated mean trajectory where mu = 9.9
    • FigS3_mu2_9.9_sc.mat: Simulated single-cell trajectory where mu = 9.9
    • FigS3_mu2_10.5_mean.mat: Simulated mean trajectory where mu = 10.5
    • FigS3_mu2_10.5_sc.mat: Simulated single-cell trajectory where mu = 10.5

Figure S4

  • FigS4.m

    • Simulates and draws plots in Fig. S4.
  • Pre-simulated Result Files

    • FigS4_per_20_mean.mat: Simulated mean trajectory with 20-fold perturbation
    • FigS4_per_20_variance.mat: Simulated variance trajectory with 20-fold perturbation
    • FigS4_per_50_mean.mat: Simulated mean trajectory with 50-fold perturbation
    • FigS4_per_50_variance.mat: Simulated variance trajectory with 50-fold perturbation
    • FigS4_per_100_mean.mat: Simulated mean trajectory with 100-fold perturbation
    • FigS4_per_100_variance.mat: Simulated variance trajectory with 100-fold perturbation
    • FigS4_per_10000_mean.mat: Simulated mean trajectory with 10000-fold perturbation
    • FigS4_per_10000_variance.mat: Simulated variance trajectory with 10000-fold perturbation

Figure S6

  • FigS6b_NC.m

    • Simulates and draws plots of the Fano factor trajectory of the network with MC and NC in Fig. S6b.
  • FigS6b_origin.m

    • Simulates and draws plots of the Fano factor trajectory of the network with aPI controller in Fig. S6b.
  • FigS6d_NC.m

    • Simulates and draws plots of the Fano factor trajectory of the network with MC and NC in Fig. S6d.
  • FigS6d_origin.m

    • Simulates and draws plots of the Fano factor trajectory of the network with negative action in Fig. S6d.
  • FigS6f_NC.m

    • Simulates and draws plots of the Fano factor trajectory of the network with MC and NC in Fig. S6f.
  • FigS6f_origin.m

    • Simulates and draws plots of the Fano factor trajectory of the network with sensor-actuated AIF in Fig. S6f.

Figure S7

  • FigS7b.m

    • Simulates and draws plots of the Fano factor trajectory in Fig. S7.

Requirements

  • Servers

    • Servers are required for faster simulation
    • Fig2b.m, Fig2c.m, Fig3a_simulation.m, Fig3b_simulation.m, Fig3c_simulation.m, Fig3d_simulation.m, FigS2.m, FigS3.m, FigS4.m, FigS7.m, and all files in the Figure S6 folder were simulated on an Intel Xeon Gold 6348 CPU.
  • MATLAB R2024a

    • Install time for MATLAB differs by the versions and computing devices, but it typically takes less than 1 hour
  • The following simulation files must be present in the relevant folders:

    • stochastic_simulation_1000
    • stochastic_simulation_on2
    • stochastic_simulation_on3
  • The estimated simulation time: ("normal" computer here means Intel Core i7-6700 CPU):

    • Fig1.m: (with normal computer) < 10 minutes for original network and original network with MC; 1 ~ 2 hours for original network with MC and NC
    • Fig2a.m: (with normal computer) less than 20 minutes
    • Fig2b.m: (with server) 2 hours
    • Fig2c.m: (with server) 7 hours
    • Fig3a_simulation.m: (with server) 3-4 days
    • Fig3b_simulation.m: (with server) 3-4 days
    • Fig3c_simulation.m: (with server) 7 hours
    • Fig3d_simulation.m: (with server) 7 hours
    • Fig4_telegraph.m: (with server) 5 hours
    • Fig4_toggle_switch.m: (with server) 5 hours
    • FigS1.m: (with normal computer) less than 10 minutes
    • FigS2.m: (with server) 7 hours
    • FigS3.m: (with server) 2 hours
    • FigS4.m: (with server) 1-2 days
    • Files in Figure S6: (with server) 3 hours for files that end with '_origin', 1 day for files that end with '_NC'
    • FigS7.m: (with server) 1 hour

About

A package for reproducing "Toward Single-Cell Control: Noise-Robust Perfect Adaptation in Biomolecular Systems"

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages