Skip to content

Software to generate synthetic dynamic transcriptomic and proteomic data

License

Notifications You must be signed in to change notification settings

KarrLab/SynNetGen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SynNetGen

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.

Installation

Requirements

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

Setup

  1. Installed required software

  2. Clone repository

    git clone https://github.com/jonrkarr/SynNetGen.git
  3. Change to /path/to/SynNetGen

  4. Open MALTAB

  5. Run installer

    install();

Getting started

example.m illustrates how to use this package:

  1. Create a random unsigned, undirected graph
  2. Randomize the directions and signs to create a random signed, directed graph
  3. Convert the graph to a random Boolean network
  4. Convert Boolean network to dynamical ODE models
  5. Simulate ODE model
  6. Calculate steady state of ODE model
  7. Print and plot the graphs, network, and ODE models
  8. Export the graphs, network, and ODE models

Documentation

Overview

Package overview

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/differentials
  • generate: Generating random models
  • transform: Transforming models (e.g. randomize edge signs of a graph)
  • convert: Converting among all three types of models
  • simulate: Simulating the model
  • display, print, plot: Displaying, printing, plotting
  • import, export: Importing, exporting

See the API docs for more information about each function.

Generators

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

Transforms

Model type ID Transform
Graph RandomizeDirections Randomize directions
Graph RandomizeSigns Randomize signs
Graph RemoveDirections Remove directions
Graph RemoveSigns Remove signs

Converters

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

Gene regulatory network without proteins (grn-ode)

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

grn-ode equation

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.

Gene regulatory network with proteins (grn-protein-ode)

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

grn-protein-ode equation

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.

File formats

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.

API docs

After installing the toolbox, open /path/to/SynNetGen/doc/m2html/index.html in your web browser to view the API docs.

About SynNetGen

Development team

SynNetGen was developed at the Icahn School of Medicine at Mount Sinai by:

Third party software included in release

License

SynNetGen is licensed under The MIT License. See license for further information.

Questions? Comments?

Please contact the development team.

References

  1. 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
  2. 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

About

Software to generate synthetic dynamic transcriptomic and proteomic data

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published