SSIT

MATLAB Stochastic System Identification Toolkit (SSIT) for modeling single-cell fluorescence microscopy data

SSIT

Authors: Alex Popinga, Jack Forman, Dmitri Svetlov, Huy Vo, Joshua Cook, Eric Ron, Brian Munsky

License

The SSIT allows users to specify and solve the Chemical Master Equation (CME) for discrete stochastic models, especially those used for the analysis of single-cell gene regulaton.

To learn more about the FSP theory that underlies the SSIT, please see the slides from our Nov. 3, 2022 BPPB Seminar

Functionality includes:

Dependencies

For all basic functionalities:

Installation and Testing

Clone this package to a local folder on your computer. Then, navigate to this new folder in matlab and run the installation script from the MATLAB command window.

install    % Run script to set paths and check availability of SSIT codes.
install(true) % Also run test scripts to check functionality of critical SSIT functions.

Testing

The folder SSIT/tests contains the following test routines.

Getting Started

The SSIT provides two basic interaction options: (1) command line tools and (2) a graphical user interface.

GUI Version

A GUI version of the SSIT has much of the functionality, and is a great way to familiarize yourself with the approach. However, for intensive research tasks, we strongly recommend learning to use the more flexible and efficient command line tools. To get started with the GUI, compile and launch to tool kit with the following commands:

A = SSITGUI;

You should then see the model loading and building page of the graphical interface, and you are off to the races… SSIT

Command Line Version

To get started with the Command line Tools, navigate to the directory “Examples” and open one of the tutorial scripts “example_XXX.m”. Click on the links below to see html versions of the expected results.

Numbered examples (Examples/example_<N>*.m)

scRNAseq examples (Examples/example_scRNAseq_<N>*.m)

SI examples (Examples/example_SI*.m)

Or you can start creating and solving models as follows.

Example for generating an FSI model and fitting it to smFISH data for Dusp1 activation following glucocorticoid stimulation:

Define SSIT Model

install;
Model = SSIT;
Model.species = {'OnGene';'rna'};
Model.initialCondition = [0; 0];
Model.propensityFunctions = {'kon * IGR * (2-OnGene)'; 'koff * OnGene'; ...
    'kr * OnGene'; 'gr * rna'};
Model.stoichiometry = [1,-1,0,0; 0,0,1,-1];
Model.inputExpressions = {'IGR','a0 + a1 * exp(-r1 * t) * ...
    (1-exp(-r2 * t)) * (t>0)'};
Model.parameters = ({'koff',0.14; 'kon',0.14; 'kr',25; 'gr',0.01; ...
    'a0',0.006; 'a1',0.4; 'r1',0.04; 'r2',0.1});
Model.fspOptions.initApproxSS = true;  % Model is assumed to start at steady state at t=0;

Load and Fit smFISH Data (must be run in main SSIT directory)

Model = Model.loadData('../ExampleData/DUSP1_Dex_100nM_Rep1_Rep2.csv', ...
    {'rna','RNA_nuc'});
Model.tSpan = unique([Model.initialTime,Model.dataSet.times]);
fitOptions = optimset('Display','iter','MaxIter',100);
[pars,likelihood] = Model.maximizeLikelihood([],fitOptions);

Update Model and Make Plots of Results

Model.parameters(:,2) = num2cell(pars);
Model.makeFitPlot;

You should arrive at a fit of the model to the experimentally measured Dusp1 mRNA distributions looking something like this:

SSIT

Acknowledgements

The SSIT tools in this repository make use of sparse tensors using the Tensor Toolbox for MATLAB (version 3.2.1) provided by Brett W. Bader, Tamara G. Kolda and others at www.tensortoolbox.org under Users of this software should cite the TTM creators at:

The provided SSIT tools also make use a modified version of Expokit for the solution of time-invariant master equations (although these codes are not used for the current publication). Users of this software should cite the creators at:

How to Cite This Repository

The SSIT is free to use or copy with citation of the authors and the above referenced packages (Expokit from Sidje) and (TensorToolbox from Bader et al). If you use the SSIT for your research, we would appreciate it if you could cite us.

To learn more about the history and use of the FSP, please explore the following papers.

For use of FSP, please read/cite one or more of the following:

For use of FSP tools with model reductions, please read/cite one or more of the following:

For use of FSP for likelihood calculation and model parameter estimation, please read/cite one or more of the following:

For use of the FSP to calculate escape and first passage times, please read/cite the following:

For use of FIM for experiment design, please read/cite one of the following:

For more general insight on the use of quantitative models in biology, please read the q-bio Community written textbook:

📊 Repository Traffic

Total Clones: 697
Unique Cloners: 333
Total Views: 318
Unique Visitors: 42