Team:Newcastle/Modeling/Population/Pseudo

From 2009.igem.org

Revision as of 23:51, 21 October 2009 by TubularWorld (Talk | contribs)


Population modelling overview

This page provides an overview of the code which the Newcastle team has developed for their population simulation model.

Bacterial simulation overview

An example of the Java programming in this project, showing the Subtilis.java class file.

For the actual simulation of the bacterial life cycles, we decided to allow each bacterial cell to run as a separate thread. The phenotype of a bacterial cell changes depending on what state they are in, so we decided to have a number of different classes to represent these states. These classes have some common attributes, which can be represented as a superclass in object orientated computing.

Superclass:

  • Cell - contains the common attributes, such as levels of cadmium and nutrients. The Cell class also provides access to the database.

Subclasses:

  • Subtilis - represents vegetative cells. From here cells can make various life choices and enter other states accordingly.
  • Spore - represents the spore stage of the life cycle. Note that in our project the cells have to choose whether they are going to become a "metal sequestering" spore which cannot germinate.
  • Biofilm - represents the biofilm phenotype of the cells.
  • Motile - represents motility of the cells

Appendix

Computing Definitions

Throughout this article some programming knowledge is assumed, but here are some selected definitions of terminology:

  • Class - In object orientated programming, such as Java, it is a collection of computer code which is dedicated to one idea or entity. For example a student class may contain information about a student such as their name, date of birth, etc.
  • A Thread of Execution - Inside a computer program or process there may be two or more concurrently running tasks, these tasks, called threads. These threads each compete for time on the computer processor and can communicate with shared objects.
  • Java - One of many object orientated programming languages. Java allows the same code to be run on lots of different types of machines (eg. Windows, Mac or Linux).



News

Events

Social Net

  • Newcastle iGEM Twitter
  • Newcastle on Facebook
  • Newcastle Youtube Channel