Team:Groningen/modeling methods

From 2011.igem.org

Revision as of 20:35, 21 September 2011 by Jaap (Talk | contribs)


Modeling methods

Because of the device-like nature of out project modeling plays a big part. Our model evolved from a simple matlab model to a full-blown cloudcomputing aplication parts out if intrest but also part out of necesety. This page gives an overview of some of our considerations as to building Cumulus.

First of all we have tried to decide in what enviorment we wanted to model in. There is a lot of different software out there. Our 2009 team did a large survey on modeling packages used in Igem [1]. Our whitebook (information from previous teams)also included several biomodeling packages that we should look at:

SynBioSS

SynBioSS features a gui implemted in python and can interface with most mayor other modeling frameworks such as SBML, Hy3S as NetCDF. It does not have a good visualisation interface and suggest you load your results into matlab for examination. SynBioSS also includes a supercomputer Message Passing Interface implementation which is nice if you want to go all out on some sort of cluster achitecture. Unfortunately SynBioSS is instable, does not support 64 bit achitectures and nobody has worked on it since 2010. So for us this is not an option. SynBioSS can be found at [http://synbioss.sourceforge.net/simulator/]

CellDesigner|CellDesigner

CellDesigner is graphical simulation package that can model simple cellular mechanics that is pretty but not very usefull. While it has a superb graph and network drawing options. It has relativly limited visualisation options for simulations. It biggest shortcomming is that the mathematics that can be used to define the reaction speeds are rather limited. There are no options for stogastic implementations so checking the robustness of your circiut will be a tedious process.

COPASI

A rather comprehensive modeling package but without any visualization options. It offers extensive modeling and analysis support but nothing in the way of plotting functions or graphs. Although it would be nice to be able to use partial differential equations, its confinement to ODE´s is not a big issui.

Matlab with SimBiology

SimBiology is a modeling gui very similar to COPASI. Its added advantage is the intergration with the matlab enviorment. This means that you can use scripts functions and other methods produced in matlab to extend the existing functionalety. Although it looks nice on first glance, it's bugs and quircks are numerous. A horrendously broken unit system combined with a user interface that is not al that friendly to work with make producing something in simbiolegy a challange that migth not be worth taking. SimBiology also enforces the markov asumtion: every next timestep can be calculated using only the previous timestep. This gives some problems when modeling transcription and translation acurately. Although we where able to produce a workaround we would not reccomend trying this to unexperienced matlab users.

Verdict

Although COPASI and SimBiology seemed really nice (be sure to look at it when in doubt) we decided to go with matlab for our first model for the following reasons:

  • Freedom of programming: Although the matlab programming syntax is rather cumborsome (espcially when using OOP) we are sure it can produce anything we want.
  • Popularety: There is a very large userbase for matlab and plenty of support for it. Many other iGEM teams use it so it will be easy to share our finings and models.
  • Great plotting and visalisation option: this will allow us to see what is going on without the hassle of exporting and importing the data to other packages.
  • Familiarety of the team: Not having to learn using a program from the beginning is a big advantage. Some of our members have years of experience with matlab and have no problem implementing anything in matlab.

Library

After this survey we tried building a preliminary model in matlab. Here we alreaddy used the modular system of interchagable parts that is so central to Cumulus. The verrification of such a model however would require data that was very hard to optain. It was for that reason that we wanted a paramter optimization system that could deduct the unterlieing part parameters from measurable outputdata. For this we need two things a more robust object oriented language and more computational horse power.

Move to VB.NET

It quickly became clear that matlab had certain limits when it came to both object oriented programming and large scale computing. Both its gridcomputing facileties and it framework of inheritance and function acess are seriously underdevelopped. We needed a full fleged object oriented language that would allow us to build a network architecture, database interface and user visualisations. We again looked at the expertise within our group and decided that it would be best to go with VB.net and the azure cloud platform. The result of this renewed effort would become the Cumulus system.