MATLAB toolbox for creating random dynamical models, Boolean networks, and graphs. The toolbox is highly extensible such that additional methods can easily be added to provide additional ways of generating dynamical models from Boolean networks, as well as additional ways to transform all three types of models.
Package | Tested version | Required for |
---|---|---|
MATLAB | 2014a | Core functionality |
MATLAB-SimBiology Toolbox | 2014a | Export models to SBML |
MATLAB-Symbolic Math Toolbox | 2014a | Test equality of ODE models |
GraphViz | 2.36.0 | Plotting |
libSBML-MATLAB | 5.11.4 | SBML import/export |
-
Installed required software
-
Clone repository
git clone https://github.com/jonrkarr/SynNetGen.git
-
Change to /path/to/SynNetGen
-
Open MALTAB
-
Run installer
install();
example.m
illustrates how to use this package:
- Create a random unsigned, undirected graph
- Randomize the directions and signs to create a random signed, directed graph
- Convert the graph to a random Boolean network
- Convert Boolean network to dynamical ODE models
- Simulate ODE model
- Calculate steady state of ODE model
- Print and plot the graphs, network, and ODE models
- Export the graphs, network, and ODE models
The package provides three model classes: Graph, BoolNet, and Odes to represent graphs, Boolean networks, and orindary differential (ODE) models. Each class provides methods for:
setNodesAndEdges
,setNodesAndRules
,setNodesAndDifferentials
: Adding and setting node and edges/rules/differentialsgenerate
: Generating random modelstransform
: Transforming models (e.g. randomize edge signs of a graph)convert
: Converting among all three types of modelssimulate
: Simulating the modeldisplay
,print
,plot
: Displaying, printing, plottingimport
,export
: Importing, exporting
See the API docs for more information about each function.
Model type | ID | Description | Parameters |
---|---|---|---|
Graph | barabasi-albert | Barabasi-Albert | n, m |
Graph | bollobas-pairing-model | Bollobas Pairing Model | n, k |
Graph | edgar-gilbert | Edgar-Gilbert | n, p |
Graph | erdos-reyni | Erdos-Reyni | n, m |
Graph | qatts-strogatz | Watts-Strogatz | n, p, k |
Model type | ID | Transform |
---|---|---|
Graph | RandomizeDirections | Randomize directions |
Graph | RandomizeSigns | Randomize signs |
Graph | RemoveDirections | Remove directions |
Graph | RemoveSigns | Remove signs |
Model type | ID | Output |
---|---|---|
Graph | boolnet | BoolNet |
BoolNet | graph | Graph |
BoolNet | grn-ode | ODE – Gene regulatory network without proteins |
BoolNet | grn-protein-ode | ODE – Gene regulatory network with proteins |
BoolNet | simbiology | SimBiology model |
Odes | graph | Graph |
Odes | simbiology | SimBiology model |
The grn-ode converter interprets each Boolean network node as a gene and creates dynamical models of transcription similar to SynTReN1. grn-ode creates ODE models with variables ri which represent the instantaneous concentration of the RNA species of each gene. The differential changes in mRNA concentrations are given by
where Vri is maximum transcription rate of gene i, τri is the half-life of RNA i, and fi(r) is a Michaelis-Menten-like function with 2Ki-1 rate constants Vi,k where Ki is the number of regulators of gene i.
The grn-protein-ode converter interprets each Boolean network node as a gene and creates dynamical models of transcription and translation similar to GeneNetWeaver2. grn-protein-ode creates ODE models with variables ri which represent the instantaneous concentration of the RNA species of each gene and pi which represent the instantaneous concentration of the protein species of each gene. The differential changes in mRNA and protein concentrations are given by
where Vri is maximum transcription rate of gene i, Vpi is maximum translation rate of gene i, τri is the half-life of RNA i, and τpi is the half-life of protein i, and fi(p) is a Michaelis-Menten-like function with 2Ki-1 rate constants Vi,k where Ki is the number of regulators of gene i.
Format | Extension | ID | Graph | BoolNet | ODEs | Import | Export |
---|---|---|---|---|---|---|---|
Dot | dot | dot | ✓ | ✓ | |||
GML | gml | gml | ✓ | ✓ | |||
GraphML | xml | graphml | ✓ | ✓ | |||
MATLAB | m | matlab | ✓ | ✓ | ✓ | ||
R BoolNet | bn | r-boolnet | ✓ | ✓ | ✓ | ||
SBML | xml | sbml | ✓ | ✓ | ✓ | ✓ | |
TGF | tgf | tgf | ✓ | ✓ | ✓ |
After the package is installed example files will be located in doc/example
.
Note: Boolean networks exported to SBML have "NOT" operators replaced with "-" because SimBiology doesn't support NOT.
After installing the toolbox, open /path/to/SynNetGen/doc/m2html/index.html
in your web browser to view the API docs.
SynNetGen was developed at the Icahn School of Medicine at Mount Sinai by:
- graphviz4matlab: revision 8cbc3eaa757b2fdcb10fc10af87ee7bd8ea1d6f2
- M2HTML: version 1.5
- RBN Toolbox: version 2.0
SynNetGen is licensed under The MIT License. See license for further information.
Please contact the development team.
- Van den Bulcke T, Van Leemput K, Naudts B, van Remortel P, Ma H, Verschoren A, De Moor B, Marchal K. SynTReN: a generator of synthetic gene expression data for design and analysis of structure learning algorithms. BMC Bioinformatics 2006, 7:43. PubMed
- Schaffter T, Marbach D, Floreano D. GeneNetWeaver: in silico benchmark generation and performance profiling of network inference methods. Bioinformatics 2011, 27(16):2263-70. PubMed