Introduction

This document describes a framework for the development of modular simulations of biological reactions relevant to biological computation, and a prototype implementation of this framework: the psrg.biosim package. The package is being developed as part of the Biological Computation project in Professor David K. Gifford's Programming Systems Research Group at MIT.

Project Description

Several models of biological computation have been proposed by various research groups. The biological reactions implementing these models are likely to be extremely complex: computations intended to solve large problems will involve large populations of molecules, and the biological reactions used to carry out the computations will transform these populations in complicated ways. It is therefore common to develop software tools that can predict, analyze, interpret and keep track of the products being formed in the relevant reactions, in order to support the study of a specific model.

Although often conceptually different, the models of biological computation that have been proposed so far generally depend on the same set of biological reactions: oligonucleotide hybridization and folding, and enzyme-oligonucleotide interactions. There is currently a large number of software tools available for analysis and simulation of these reactions. However, it is generally difficult to adapt or combine these tools to describe a novel reaction sequence. Hence, researchers often find it necessary to write their simulation tools from scratch anyway - a time consuming enterprise. It would be of great benefit to the biological computation community to have a general framework for the development of simulation tools that encourages code reuse, while remaining fully extensible.

We are in the process of developing a framework to meet this need. In our framework, we represent a complicated sequence of reactions as a sequence of transformations on molecular populations. Populations are the material of a reaction, in the context of biological computation that usually implies a collection of biopolymers such as DNA and/or RNA. Transformations are the agents of change in a reaction such as active agents (enzyme activity), environmental changes (temperature increase), mechanical operations (splitting) and filters (micropores).

As a proof of concept for this simulation framework, we implemented CYBERCYCLER - a tool for simulating thermocycled biological reactions such as those used to increment our unary counter, as described in related work. This tool consists of four transformation modules: Denaturation, Hybridization, Polymerization and Ligation; and an output module: CyberGel. A Population object describing the set of DNA molecules present is transformed by, and passed between, the transformation modules for a specified number of cycles. Upon termination, a detailed textual description of the reactions that took place and a simulated gel electrophoresis output are returned.

The following figure illustrates how the modules used to implement CYBERCYCLER are interconnected.

To support our framework we have implemented a set of Java interfaces and classes, collected in the psrg.biosim package. This package contains:

The interfaces provide a standardized method for passing data between different modules in a simulation. Modules that are written support these interfaces will therefore be compatible, and can be combined as described above.

For more information on the psrg.biosim package:

This package is still under development. Comments and suggestions are most welcome.

For more information on related work, please refer to our list of publications.

Project Status

06/14/99 - psrg.biosim version 0.10a demonstrated at the 5th International Meeting on DNA Based Computers.

06/08/99 - psrg.biosim web site is up.



For more information or comments on our web site, please contact webmaster@psrg.lcs.mit.edu.
For information regarding our group, feel free to
contact us.