From OpenWetWare
Revision as of 07:39, 2 May 2007 by Skosuri (talk | contribs) (Software and Installation)
Jump to: navigation, search


Home        Teams        Research        Notebooks        Publications        Internal        Contact       


Tabasco is a simulator created to address the problem of simulating gene expression at single-base resolution. By defining the logic of transcription and translation rules a priori such as initiation, elongation, termination, and interactions of polymerases and proteins, Tabasco automatically traverses the state of the system as it develops and thus makes simulation at such high resolution computationally feasible. Tabasco was designed to allow us to better understand bacteriophage gene expression. In general, Tabasco would be useful to those interested in explicitly simulating hypotheses of protein-DNA interactions and their relation to gene expression (e.g., eukaryotic gene expression initiation).


Sriram Kosuri, Jason Kelly, Drew Endy


Tabasco avoids previous ‘combinatorial explosion’ problems by tracking the position and state of proteins and genetic elements on the DNA to dynamically generate appropriate reactions, such as promoters being blocked by traversing polymerases. In order to improve computational efficiency, Tabasco makes use of a Gibson-accelerated Gillespie SSA to compute the reaction event timing and the resultant time-evolution of the genetic system.

Software and Installation


The software for Tabasco is freely available here:
Extractable archive of all code, documentation, and examples
Java Source Files
Javadoc Documentation
Compiled Java Byte Code

The simulator was only tested on J2SE version 1.4.2 and higher. A basic knowledge of running Java programs is needed. Generally one can either download the source, and then compile it using a java compiler to create byte code or download the precompiled byte code above.

Installation instructions (for Unix systems)

  • Download the extractable archive.
  • Extract the archive using the following command: tar -xvzf tabasco.tar.gz


The useful executable classes are


The TabascoSimulator class executes simulations. The basic usage is as follows. java TabascoSimulator inputfilename outputfilename [random seed]

The inputfilename is the location of the location of the input file.
The outputfilename is the location of the output file.
The optional random seed can be used to overide the input from the inputfilename. This field is useful if one is using a script to run simulations on many different processors.




QuickTime movie showing TABASCO being used to simulate gene expression for the first 1500 seconds of bacteriophage T7 development.