Team:BCCS-Bristol/Modelling/BSIM/GUI

From 2010.igem.org

(Difference between revisions)
(Features)
Line 13: Line 13:
** Chemical emission and consumption
** Chemical emission and consumption
* Colour signalling
* Colour signalling
-
* ODEs
+
* Ordinary Differential Equations (ODEs)
* Variable boundary conditions
* Variable boundary conditions
* Directed movement (Chemotaxis)
* Directed movement (Chemotaxis)
-
 
-
 
===Motivation===
===Motivation===

Revision as of 16:34, 10 October 2010

Contents

GUI

About the GUI - more development, how to use it is covered in 'installation'

Features

The new GUI supports many of the features of BSim 2009. These include:

  • Brownian Motion
  • Collisions
  • Chemical fields
    • Detection
    • Chemical emission and consumption
  • Colour signalling
  • Ordinary Differential Equations (ODEs)
  • Variable boundary conditions
  • Directed movement (Chemotaxis)

Motivation

The 2009 edition of BSim was written using an object-oriented programming language called JAVA. This was an excellent tool in which to construct BSim, as it made it very easy to produce agent-based models. However, modelling a specific system in BSim required the user to edit JAVA code. We envision a future in which BSim is a widely used and accessible modelling framework. To achieve this we needed to create an interface that allows users unfamiliar with JAVA to create simulations in BSim. This would allow BSim to be utilised by the entire synthetic biology community, rather than just specialist modellers.

Venn Diagram comparing the skills required to operate BSim 2009 and the new GUI

The GUI Target Market

The modelling portions of iGEM projects at BCCS-Bristol have historically involved knowledge of JAVA, mathematics and biochemistry. The 2009 edition of BSim relied on the user’s knowledge of all three. By removing the need for JAVA knowledge, we have opened up BSim to a much wider category of users. The GUI only requires users to be able to express their biological system mathematically. It can then translate the user’s requirements into JAVA code.