Team:Newcastle/Modeling/Population

From 2009.igem.org

(Difference between revisions)
 
(24 intermediate revisions not shown)
Line 2: Line 2:
{{:Team:Newcastle/Header}}
{{:Team:Newcastle/Header}}
{{:Team:Newcastle/Left}}
{{:Team:Newcastle/Left}}
-
== Population modelling ==
+
= Population modelling =
-
One of the models which we are producing is one concerning the population numbers of our bacteria. It looks at how our additions to the DNA may affect the growth of the bacterial population.
+
[[Image:Newcastle Population Life Cycle 2.png|thumb|A simple view of our bacteria's possible states. Note how when the sequestering spore state is reached, the cell cannot germinate back to being a vegetative cell.]]
 +
One of the models which we have produced is one concerning the population numbers of our bacteria. It looks at how our additions to the DNA may affect the growth of the bacterial population.
-
This model is currently being implemented in the Java programming language, and connects to other models which we have written in CellML. Due to the design of the program, the team has enlisted the help of some very powerful computers. The next iteration of the program is to use distributed computing and the "Amazon Cloud" to extend the size of the bacterial population.
+
This model has been implemented in the Java programming language, and connects to other models which we have written in CellML, using the JSim application. Due to the design of the program, the team has enlisted the help of some very powerful computers, and final iteration of the program has been to use distributed computing and the "Amazon Cloud" to extend the size of the bacterial population.
-
 
+
-
== Visualisation ==
+
-
Alongside the actual simulation we are developing an application to visualise the output of our simulation in a three dimensional environment.
+
-
 
+
-
Below is a basic visualisation of one of the early versions of our simulation, where the different states of the bacterial cells are represented by differing colours:
+
-
[[Image:Popmodelling.gif]]
+
== Distributed Computing ==
== Distributed Computing ==
-
Distributed Computing (also known as Cloud or Grid computing) is the use of multiple computing processors, which can be spread around the world to accomplish a single given task. The processes on the machines may also communicate with each other, instead of simply acting independently.
+
Distributed Computing (also known as Cloud or Grid computing) is the use of multiple computing processors, which can be distributed around the world, to accomplish a single given task. The processes on the machines may also communicate with each other, instead of simply acting independently.
-
Due to early versions of our bacterial population simulation program using a lot of CPU time and RAM, we attempted to think of ways to be able to speed up the processing times and expand the simulation. These early simulations were fairly small scale, but as each bacterial cell runs as an independent Thread, every system that we ran it on began to slow down dramatically.
+
Due to early versions of our bacterial population simulation program using a lot of CPU time and RAM, we attempted to think of ways to be able to speed up the processing times and expand the simulation. Although these early simulations were fairly small scale, each bacterial cell runs as an independent thread, so every system that we ran it on began to slow down dramatically.
-
Newcastle's School of Computing Science Integrative Bioinformatics Team had been working on a software system for grid computing applications in the scientific field, called microbase [http://www.example.com link title]. Funded by the BBSRC and the DTI, Microbase has been used in Microbial Genome Comparison and Analysis.[1] Keith Flanagan, a Researcher at Newcastle University and member of the Microbase Project, suggested that Microbase could aid us in the development of a distributed version of our bacterial population simulation. Using Microbase meant that almost all of the programming concerned with the smooth running of our was simple to carry out, and we were easily able to convert our single machine program to a distributed one.
+
Newcastle's School of Computing Science Integrative Bioinformatics Research Group has developed a software system for grid computing applications in the scientific field, called [http://www.microbase.org.uk/ Microbase]. The Microbase project is a grid-based system that uses web-service-based technologies to integrate distributed components and ensure that they interoperate.[3] Funded by the BBSRC and the DTI, Microbase has been used in Microbial Genome Comparison and Analysis.[1] Microbase works by splitting a task into a number of 'Jobs' and managing how these Jobs are run on grid-based systems.[2]
-
Using Microbase we are running our simulation on the Amazon Elastic Compute Cloud, a service provided by the e-commerce company Amazon.com, which gives users access to a resizeable large number of powerful machines. The development of Microbase for use on Amazon's web services has been a part of the Microbase project to provide further processing capacity.[2] Prior to running our simulations using Amazon's computers, we tested our program using some of the machines in some of the University's computer clusters.
+
Keith Flanagan, a Researcher at Newcastle University and member of the Microbase Project, suggested that Microbase could aid us in the development of a distributed version of our bacterial population simulation. Using Microbase meant that almost all of the programming concerned with the smooth running of our modelling was simple to carry out, and we were easily able to convert our single machine program to a distributed one.
 +
 
 +
Using Microbase we are running our simulation on the Amazon Elastic Compute Cloud, a service provided by the e-commerce company Amazon.com, which gives users access to a large number of powerful machines. The development of Microbase for use on Amazon's web services has been a part of the Microbase project to provide further processing capacity.[4] Prior to running our simulations using Amazon's computers, we tested our program using some of the machines in some of the University's computer clusters.
[[Image:Newcastle Amazon.png|center|512px]]
[[Image:Newcastle Amazon.png|center|512px]]
== Code ==
== Code ==
-
Due to the complexities of running the model, as it is designed for distributed systems, the code for our population simulation model is available on request. Please email one of our advisors, <html><a href="mailto: m.taschuk@ncl.ac.uk">Morgan Taschuk</a></html>, for more information.
+
Advice about the code for our population simulation model is available on request. Please the model requires specific libraries, database setup and Microbase setup, etc to build and run correctly. Please email <html><a href="mailto:m.taschuk@ncl.ac.uk">Morgan Taschuk</a></html>, one of our advisors, and visit the [http://www.microbase.org.uk/ Microbase] homepage for more information.
 +
 
 +
The Java source code for our model is available here:
 +
* [[:Image:Newcastle Distributed Microbase Population src.zip]]
=== Pseudo code ===
=== Pseudo code ===
-
Please [[Team:Newcastle/Modeling/Population/Pseudo|click here]] to see some 'pseudo code' which explains the inner workings of our population simulation.
+
Please [[Team:Newcastle/Modeling/Population/Pseudo|click here]] to see an overview of our population simulation.
 +
 
 +
== Results ==
 +
[[Image:Newcastle Population Example Graph.png|thumb|This is an example graph created using some of the output from a small run of the population model, with a maximum of 27 cells of bacteria.]]
 +
The results from various runs of our population simulation have been fed back into the development of other parts of our project, namely tuning sporulation. We have used the outputs to more closely determine how much of the population we can allow to become non-germinating metal sequestering spores.
 +
 
 +
=== Visualisation ===
 +
Alongside the actual simulation we are developing an application to visualise the output of our simulation in a three dimensional environment.
 +
 
 +
Below is a basic visualisation of one of the early versions of our simulation, where the different states of the bacterial cells are represented by differing colours. This early graphic was produced by feeding the output of our population simulations into another program which we have developed in Java, using the Java3D technology.
 +
 
 +
[[Image:Popmodelling.gif|center]]
 +
 
 +
 
 +
In this animation, a population of cells is seen to proliferate in three dimensions from a single cell. Vegetative cells are represented by white spheres. There is cadmium in the environment (not shown), and also sufficient food to allow proliferation. Cells can make choices either to grow and proliferate, or to sporulate due to the cadmium. If cells choose to sporulate, they make a further choice whether or not to sequester cadmium. Since there is sufficient food in the environment, ordinary spores (represented in black) germinate immediately after sporulation. Spores that cannot germinate because they have sequestered cadmium are shown as red spheres. Germinating spores (that have previously been non-sequestering spores) are shown in green.
 +
 
 +
Also below is an image of the more sophisticated graphical output which we have been producing. The Graphics package Autodesk 3ds Max has been used in the production of these graphics.
 +
 
 +
[[Image:Newcastle Autodesk scene1.jpg|center]]
 +
 
 +
 
 +
=== Further work ===
 +
The current version of the model provides the basis of a bacterial population simulator, which can be improved and adapted for use by other people and projects in the future. Currently parts of the model are highly focused on our project, but it can easily be generalised. We have developed a framework for integrating agent based and biochemical models on a distributed grid system. The way in which the bacterial threads run in the program makes it very easy to customise and improve the behaviour of the bacteria throughout their simulated life cycles.
== References ==
== References ==
-
# [http://madras.ncl.ac.uk/microbase-drupal/index.php?id=54 ''Microbase in the Wild], Microbase. Newcastle University. Accessed on 21 October 2009.
+
# [http://www.microbase.org.uk/ ''Microbase in the Wild''], Microbase. Newcastle University. Accessed on 21 October 2009.
-
# ''Developing Grid-based Systems for Microbial Genome Comparisons: The Microbase Project'', UK e-Science All Hands Meeting 2004. Nottingham, August 31 - September 3, 2004. Anil Wipat, Yudong Sun, Matthew Pocock, Pete Lee, Paul Watson and Keith Flanagan.
+
# [http://madras.ncl.ac.uk/microbase/assets/files/publications/850.pdf ''A Grid-based System for Microbial Genome Comparison and Analysis'', the 5th IEEE International Symposium on Cluster Computing and the Grid''], (CCGrid 2005), Cardiff, UK, May 9-12 2005. Yudong Sun, Anil Wipat, Matthew Pocock, Pete A. Lee, Paul Watson, Keith Flanagan and James T. Worthington. Accessed on 21 October 2009.
 +
# [http://madras.ncl.ac.uk/microbase/assets/files/publications/Microbase-TITB-published.pdf ''Exploring Microbial Genome Sequences to Identify Protein Families on the Grid''], IEEE Transactions on Information Technology in Biomedicine, vol. 11 (4), July 2007. Yudong Sun, Anil Wipat, Matthew Pocock, Peter A. Lee, Keith Flanagan, and James T. Worthington. Accessed on 21 October 2009.
 +
# ''[http://madras.ncl.ac.uk/microbase/assets/files/publications/195.pdf Developing Grid-based Systems for Microbial Genome Comparisons: The Microbase Project]'', UK e-Science All Hands Meeting 2004. Nottingham, August 31 - September 3, 2004. Anil Wipat, Yudong Sun, Matthew Pocock, Pete Lee, Paul Watson and Keith Flanagan. Accessed on 21 October 2009.
== External links ==
== External links ==
* [http://aws.amazon.com/ec2/ Amazon Elastic Compute Cloud]
* [http://aws.amazon.com/ec2/ Amazon Elastic Compute Cloud]
-
* [http://madras.ncl.ac.uk/microbase-drupal/ Microbase]
+
* [http://www.microbase.org.uk/ Microbase]
{{:Team:Newcastle/Footer}}
{{:Team:Newcastle/Footer}}
{{:Team:Newcastle/Right}}
{{:Team:Newcastle/Right}}

Latest revision as of 02:51, 22 October 2009


Contents

Population modelling

A simple view of our bacteria's possible states. Note how when the sequestering spore state is reached, the cell cannot germinate back to being a vegetative cell.

One of the models which we have produced is one concerning the population numbers of our bacteria. It looks at how our additions to the DNA may affect the growth of the bacterial population.

This model has been implemented in the Java programming language, and connects to other models which we have written in CellML, using the JSim application. Due to the design of the program, the team has enlisted the help of some very powerful computers, and final iteration of the program has been to use distributed computing and the "Amazon Cloud" to extend the size of the bacterial population.

Distributed Computing

Distributed Computing (also known as Cloud or Grid computing) is the use of multiple computing processors, which can be distributed around the world, to accomplish a single given task. The processes on the machines may also communicate with each other, instead of simply acting independently.

Due to early versions of our bacterial population simulation program using a lot of CPU time and RAM, we attempted to think of ways to be able to speed up the processing times and expand the simulation. Although these early simulations were fairly small scale, each bacterial cell runs as an independent thread, so every system that we ran it on began to slow down dramatically.

Newcastle's School of Computing Science Integrative Bioinformatics Research Group has developed a software system for grid computing applications in the scientific field, called [http://www.microbase.org.uk/ Microbase]. The Microbase project is a grid-based system that uses web-service-based technologies to integrate distributed components and ensure that they interoperate.[3] Funded by the BBSRC and the DTI, Microbase has been used in Microbial Genome Comparison and Analysis.[1] Microbase works by splitting a task into a number of 'Jobs' and managing how these Jobs are run on grid-based systems.[2]

Keith Flanagan, a Researcher at Newcastle University and member of the Microbase Project, suggested that Microbase could aid us in the development of a distributed version of our bacterial population simulation. Using Microbase meant that almost all of the programming concerned with the smooth running of our modelling was simple to carry out, and we were easily able to convert our single machine program to a distributed one.

Using Microbase we are running our simulation on the Amazon Elastic Compute Cloud, a service provided by the e-commerce company Amazon.com, which gives users access to a large number of powerful machines. The development of Microbase for use on Amazon's web services has been a part of the Microbase project to provide further processing capacity.[4] Prior to running our simulations using Amazon's computers, we tested our program using some of the machines in some of the University's computer clusters.

Newcastle Amazon.png

Code

Advice about the code for our population simulation model is available on request. Please the model requires specific libraries, database setup and Microbase setup, etc to build and run correctly. Please email Morgan Taschuk, one of our advisors, and visit the [http://www.microbase.org.uk/ Microbase] homepage for more information.

The Java source code for our model is available here:

Pseudo code

Please click here to see an overview of our population simulation.

Results

This is an example graph created using some of the output from a small run of the population model, with a maximum of 27 cells of bacteria.

The results from various runs of our population simulation have been fed back into the development of other parts of our project, namely tuning sporulation. We have used the outputs to more closely determine how much of the population we can allow to become non-germinating metal sequestering spores.

Visualisation

Alongside the actual simulation we are developing an application to visualise the output of our simulation in a three dimensional environment.

Below is a basic visualisation of one of the early versions of our simulation, where the different states of the bacterial cells are represented by differing colours. This early graphic was produced by feeding the output of our population simulations into another program which we have developed in Java, using the Java3D technology.

Popmodelling.gif


In this animation, a population of cells is seen to proliferate in three dimensions from a single cell. Vegetative cells are represented by white spheres. There is cadmium in the environment (not shown), and also sufficient food to allow proliferation. Cells can make choices either to grow and proliferate, or to sporulate due to the cadmium. If cells choose to sporulate, they make a further choice whether or not to sequester cadmium. Since there is sufficient food in the environment, ordinary spores (represented in black) germinate immediately after sporulation. Spores that cannot germinate because they have sequestered cadmium are shown as red spheres. Germinating spores (that have previously been non-sequestering spores) are shown in green.

Also below is an image of the more sophisticated graphical output which we have been producing. The Graphics package Autodesk 3ds Max has been used in the production of these graphics.

Newcastle Autodesk scene1.jpg


Further work

The current version of the model provides the basis of a bacterial population simulator, which can be improved and adapted for use by other people and projects in the future. Currently parts of the model are highly focused on our project, but it can easily be generalised. We have developed a framework for integrating agent based and biochemical models on a distributed grid system. The way in which the bacterial threads run in the program makes it very easy to customise and improve the behaviour of the bacteria throughout their simulated life cycles.

References

  1. [http://www.microbase.org.uk/ Microbase in the Wild], Microbase. Newcastle University. Accessed on 21 October 2009.
  2. [http://madras.ncl.ac.uk/microbase/assets/files/publications/850.pdf A Grid-based System for Microbial Genome Comparison and Analysis, the 5th IEEE International Symposium on Cluster Computing and the Grid], (CCGrid 2005), Cardiff, UK, May 9-12 2005. Yudong Sun, Anil Wipat, Matthew Pocock, Pete A. Lee, Paul Watson, Keith Flanagan and James T. Worthington. Accessed on 21 October 2009.
  3. [http://madras.ncl.ac.uk/microbase/assets/files/publications/Microbase-TITB-published.pdf Exploring Microbial Genome Sequences to Identify Protein Families on the Grid], IEEE Transactions on Information Technology in Biomedicine, vol. 11 (4), July 2007. Yudong Sun, Anil Wipat, Matthew Pocock, Peter A. Lee, Keith Flanagan, and James T. Worthington. Accessed on 21 October 2009.
  4. [http://madras.ncl.ac.uk/microbase/assets/files/publications/195.pdf Developing Grid-based Systems for Microbial Genome Comparisons: The Microbase Project], UK e-Science All Hands Meeting 2004. Nottingham, August 31 - September 3, 2004. Anil Wipat, Yudong Sun, Matthew Pocock, Pete Lee, Paul Watson and Keith Flanagan. Accessed on 21 October 2009.

External links

  • [http://aws.amazon.com/ec2/ Amazon Elastic Compute Cloud]
  • [http://www.microbase.org.uk/ Microbase]



News

Events

Social Net

  • Newcastle iGEM Twitter
  • [http://www.facebook.com/home.php#/group.php?gid=131709337641 Newcastle on Facebook]
  • [http://www.youtube.com/user/newcastle2009igem Newcastle Youtube Channel]