iBioSim: a CAD package for genetic circuits

iBioSim is a CAD package for the design, analysis, and simulation of genetic circuits. It can also be used for modeling metabolic networks, pathways, and other biological/chemical processes [1]. The tool provides a graphical user interface (GUI) for specifying circuit design and parameters, and a GUI for running simulations on the resulting models and viewing results. iBioSim also provides a means to “learn” system parameters from measured lab data, since it is often unclear at the model design stage what the values of all the required equilibrium constants and reaction rates are.

Below I’ll demonstrate the specification and simulation of a genetic circuit in iBioSim. I have demonstrated the simulation of genetic circuits using CAD on this blog before [2], but at that time used a generic system dynamics package called Vensim. iBioSim is more specialized than Vensim, being designed explicitly for modeling the particulars of genetic circuits (such as handling cell division) rather than any abstract dynamic system. Under the hood though, the simulation engine of both tools is the same: ODE simulation using Runge-Kutta methods. I call such tools “drag and drop differential equations tools” due to their specification of ODE models using a mouse pointer.

iBioSim is written in Java and is therefore available on any modern computing platform. It saves models in Systems Biology Markup Language (SBML) to facilitate communication with other tools. SBML is an XML-based standard developed by the research community to enable portable descriptions of biological processes [3]. iBioSim is produced by the Myers Research Group at the University of Utah and is freely available.

Model Specification

Exercise 1.3 of Chris Myers’ Engineering Genetic Circuits text [4], provides the following genetic circuit:


In this model, protein CI represses promoter P1, which produces protein LacI. Similarly, LacI represses promoter P2 which produces protein TetR. Finally, TetR represses promoter P3 which generates protein CI. In the exercise, the author specifies that CI must dimerize before acting as a repressor to P1.

The author of the book’s exercise also specifies the following model constants:


Implemented in iBioSim, this circuit looks like:


Model constants are entered during the creation of each model element. For example, for the repressor relationship between CI2 and P1:



Once the model is specified, it can be simulated. First users must select the simulation parameters:


Then users can run the simulation and obtain time series results indicating the expected amounts of each protein:


From this we see that the genetic circuit behaves similar to the oscillator described in [2], but that due to protein degradation the oscillation quickly dampens and the system reaches steady state operation.


  1. http://www.async.ece.utah.edu/iBioSim/docs/iBioSim_Tutorial.html
  2. http://badassdatascience.com/2012/10/30/simulating-a-synthetic-biology-circuit/
  3. http://en.wikipedia.org/wiki/SBML
  4. C. J. Myers, Engineering Genetic Circuits, Chapman & Hall/CRC Press, July 2009.

One thought on “iBioSim: a CAD package for genetic circuits

Leave a Reply

Your email address will not be published.