Team:Groningen/modeling methods

From 2011.igem.org

(Difference between revisions)
 
(8 intermediate revisions not shown)
Line 1: Line 1:
{{HeaderGroningen2011}}
{{HeaderGroningen2011}}
-
=Modeling methods=
+
=Design Considerations=
-
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 application partially out of curiosity but also part out of necessity. This page gives an overview of some of our considerations as to building Cumulus.
+
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 application partially out of curiosity but also part out of necessity. This page gives an overview of some of our considerations as to building Cumulus.<BR>
-
<BR>
+
 
-
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 [https://2009.igem.org/Team:Groningen/Brainstorm/Modelling]. Our whitebook (information from previous teams)also included several biomodeling packages that we should look at:
+
First of all we have tried to decide in what environment 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 [https://2009.igem.org/Team:Groningen/Brainstorm/Modelling]. Our whitebook (information from previous teams)also included several bio-modeling packages that we should look at:
====SynBioSS====
====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 features a GUI implemented in python and can interface with most mayor other modeling frameworks such as SBML, Hy3S as NetCDF. It does not have a good visualization interface and it suggest you load your results into MATLAB for examination. SynBioSS also includes a supercomputer Message Passing Interface (MPI) implementation which is nice if you want to go all out on some sort of cluster architecture. Unfortunately SynBioSS is unstable, does not support 64 bit architectures and nobody has worked on it since 2010. Therefore it ceased to be an option for us.
SynBioSS can be found at [http://synbioss.sourceforge.net/simulator/]
SynBioSS can be found at [http://synbioss.sourceforge.net/simulator/]
-
====CellDesigner|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.
+
CellDesigner is graphical simulation package that can model simple cellular mechanics. Though it looks pretty it is not very useful. While it has a superb graph and gene-network drawing options. It has relatively limited visualization options for simulations. It biggest shortcoming is that the mathematics that can be used to define the reaction speeds are rather limited. There are no options for stochastic implementations so checking the robustness of your circuit will be a tedious process.
====COPASI====
====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.
+
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 issue.
-
====Matlab with SimBiology====
+
====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.
+
SimBiology is a modeling GUI very similar to COPASI. Its added advantage is it's integration with the MATLAB environment. This means that you can use scripts, functions and other methods produced in MATLAB to extend on existing functionality.
-
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.
+
Although it looks nice on first glance, it's bugs and quirks are numerous. A horrendously broken unit system combined with a user interface that is not all that user friendly make producing something in SimBiology a challenge that might 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.
+
SimBiology also enforces the Markov assumption: every next time-step can be calculated using only the previous time-step. This results in problems when modeling transcription and translation accurately. Although we where able to produce a workaround we would not recommend such tricks to inexperienced MATLAB users.
===Verdict===
===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:
+
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.  
+
* Freedom of programming: Although the MATLAB programming syntax is rather cumbersome (especially 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.
+
* Popularity: There is a very large user base for MATLAB and plenty of support for it. Many other iGEM teams use it so it will be easy to share your findings 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.
+
* Great plotting and visualization 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.
+
* Familiarity 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.
==Library==
==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.
+
After this survey we tried building a preliminary model in MATLAB . Here we already used the modular system of interchangeable parts that is so central to Cumulus later on. The verification of such a model however would require data that was very hard to obtain. It was for that reason that we wanted a parameter optimization system that could deduct the underlying parts parameters from measurable output-data. For this we need two things: A more robust object oriented language and more computational horse power.
-
==Move to VB.NET==
+
==Move to .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.
+
It quickly became clear that MATLAB has some limits considering both object oriented programming functionality and large scale computing support. Both its grid-computing facilities and its framework of inheritance and function-access are seriously underdeveloped. What we needed was a full fledged object oriented language that would allow us to build a network architecture, database interface and user visualizations. We again looked at the expertise within our group and decided that it would be best to go with .NET and the Azure cloud platform. The result of this renewed effort would become the Cumulus system.
{{FooterGroningen2011}}
{{FooterGroningen2011}}

Latest revision as of 14:17, 28 October 2011


Design Considerations

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 application partially out of curiosity but also part out of necessity. This page gives an overview of some of our considerations as to building Cumulus.

First of all we have tried to decide in what environment 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 bio-modeling packages that we should look at:

SynBioSS

SynBioSS features a GUI implemented in python and can interface with most mayor other modeling frameworks such as SBML, Hy3S as NetCDF. It does not have a good visualization interface and it suggest you load your results into MATLAB for examination. SynBioSS also includes a supercomputer Message Passing Interface (MPI) implementation which is nice if you want to go all out on some sort of cluster architecture. Unfortunately SynBioSS is unstable, does not support 64 bit architectures and nobody has worked on it since 2010. Therefore it ceased to be an option for us. SynBioSS can be found at [http://synbioss.sourceforge.net/simulator/]

CellDesigner

CellDesigner is graphical simulation package that can model simple cellular mechanics. Though it looks pretty it is not very useful. While it has a superb graph and gene-network drawing options. It has relatively limited visualization options for simulations. It biggest shortcoming is that the mathematics that can be used to define the reaction speeds are rather limited. There are no options for stochastic implementations so checking the robustness of your circuit 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 issue.

MATLAB with SimBiology

SimBiology is a modeling GUI very similar to COPASI. Its added advantage is it's integration with the MATLAB environment. This means that you can use scripts, functions and other methods produced in MATLAB to extend on existing functionality. Although it looks nice on first glance, it's bugs and quirks are numerous. A horrendously broken unit system combined with a user interface that is not all that user friendly make producing something in SimBiology a challenge that might not be worth taking. SimBiology also enforces the Markov assumption: every next time-step can be calculated using only the previous time-step. This results in problems when modeling transcription and translation accurately. Although we where able to produce a workaround we would not recommend such tricks to inexperienced 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 cumbersome (especially when using OOP) we are sure it can produce anything we want.
  • Popularity: There is a very large user base for MATLAB and plenty of support for it. Many other iGEM teams use it so it will be easy to share your findings and models.
  • Great plotting and visualization option: this will allow us to see what is going on without the hassle of exporting and importing the data to other packages.
  • Familiarity 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.

Library

After this survey we tried building a preliminary model in MATLAB . Here we already used the modular system of interchangeable parts that is so central to Cumulus later on. The verification of such a model however would require data that was very hard to obtain. It was for that reason that we wanted a parameter optimization system that could deduct the underlying parts parameters from measurable output-data. For this we need two things: A more robust object oriented language and more computational horse power.

Move to .NET

It quickly became clear that MATLAB has some limits considering both object oriented programming functionality and large scale computing support. Both its grid-computing facilities and its framework of inheritance and function-access are seriously underdeveloped. What we needed was a full fledged object oriented language that would allow us to build a network architecture, database interface and user visualizations. We again looked at the expertise within our group and decided that it would be best to go with .NET and the Azure cloud platform. The result of this renewed effort would become the Cumulus system.