Team:BCCS-Bristol/Modeling-To Do List

From 2008.igem.org

(Difference between revisions)
(General)
(General)
Line 55: Line 55:
** <div class="redText">'''BSimRecruitBacterium''' - Recruiting bacterium needs to be developed that will carry out the same tasks as the BSIMCoordBacterium but also send out its own long range chemoattractant that the bacteria will search for by default.</div>
** <div class="redText">'''BSimRecruitBacterium''' - Recruiting bacterium needs to be developed that will carry out the same tasks as the BSIMCoordBacterium but also send out its own long range chemoattractant that the bacteria will search for by default.</div>
** <div class="redText">'''BSimGRNBacterium''' - Bacterium that will implement the proposed GRN to see if other emergent behaviours are observed.</div>
** <div class="redText">'''BSimGRNBacterium''' - Bacterium that will implement the proposed GRN to see if other emergent behaviours are observed.</div>
-
* <div class="redText">'''Particle Binding''' - We can create potentials between bacteria and particles that cause strong binding to occur, however, we may also want to model the torque forces exerted on the particle if the bacteria become fixed to a single point on the surface.</div>
+
* <div class="redText">'''Particle Binding''' - We can create potentials between bacteria and particles that cause strong binding to occur, however, we may also want to model the torque forces exerted on the particle if the bacteria become fixed to a single point on the surface. This may include restricting the movement that a bacteria can make.</div>
* <div class="redText">'''Implementing drift during run''' - A nice to have but not thought to add much to the simulation.</div>
* <div class="redText">'''Implementing drift during run''' - A nice to have but not thought to add much to the simulation.</div>

Revision as of 08:52, 25 August 2008

Modelling To Do List

Wiki

General tasks that must be done to keep the wiki up to date.

  • Modelling Approach - Section needs completing to include a discussion of the different models.
  • GRN Model Section - Section needs to be completed.
  • Stochastic Agent Based Simulation Section - Section needs to be completed.
    • Simulation File Definition - A full table detailing the format and types of parameter that can be entered in simulation definition files needs to be included.
  • Hybrid Model Section - Section needs to be completed.

GRN Modelling

Switching Delay Estimation

Differential Equation Model

BSim Framework

General

  • BSimCollisionPhysics [Done] - Parameterise the potential function for the different interactions to allow for differing binding forces to be modelled. Can now be read from the parameter file.
  • BSimVisualAid [Done] - Create a new interface to allow for visual effects to be defined and added to a simulation scene.
  • Convert Existing Visual Aids [Done] - We already have a mean bacteria and particle movement tracer implemented, these need to be re-coded to use the new interface defined above.
  • BSimSceneClock [Done] - A new visual aid that allows for the time of a scene to be seen (in seconds). Will make it easier to reference parts of a simulation. Added and fixed the scaling issue (had to perform inverse linear transformation before drawing to the graphics context).
  • BSimScene Parameters [Done] - We need to update the parameters that BSimScene currently used for the size and zoom factors such that they are not dependant on the GUI. This is necessary to allow for scripts to alter the view of the simulation without the need for interacting with GUI code. Completed with two way update so gui will also update BSimParameters object.
  • Bacteria and Particle Creators - These need to be updated to take the arguments list from the BSimParameters object and create sets and single objects as required.
  • Potential Testing - We need to make sure that the timestep and repulsion part of the potential function are sufficient to stop objects moving through each other. Testing needs to be carried out to make sure this happens as issues have been seen on solid boundaries. May have to use some form of squared or exponential type function to ensure it grows fast enough.
  • BSimParameters - Bacteria, Particle and Chemical Field create methods need to be completed in this class. Once done the BSimScene class should be updated to use these instead of the temporary function currently in place.
  • Code Cleanup - We need to go through every file and ensure that comments are included where appropriate and that and debugging code is removed.
  • Wrapping Boundary - An option needs to be added which states if the memory of any bacteria wrapped is filled with the new location or if the old memory is retained.
  • Bacterium Definitions - We need to develop multiple types of bacterium that allow us to test various behaviours. Each should allow for switching delays to be altered.
    • BSimBasicBacterium - Basic bacterium needs to be developed that will follow the goal chemoattractant.
    • BSimSensingBacterium - Sensing bacterium needs to be developed that will ignore the chemoattractant until contact with a particle is made.
    • BSimCoordBacterium - Co-ordinating bacterium needs to be developed that will gnore the chemoattractant until contact with a particle is made and then co-ordinate the behaviour of others in the local area through the use of a chemical signal.
    • BSimRecruitBacterium - Recruiting bacterium needs to be developed that will carry out the same tasks as the BSIMCoordBacterium but also send out its own long range chemoattractant that the bacteria will search for by default.
    • BSimGRNBacterium - Bacterium that will implement the proposed GRN to see if other emergent behaviours are observed.
  • Particle Binding - We can create potentials between bacteria and particles that cause strong binding to occur, however, we may also want to model the torque forces exerted on the particle if the bacteria become fixed to a single point on the surface. This may include restricting the movement that a bacteria can make.
  • Implementing drift during run - A nice to have but not thought to add much to the simulation.

Multi-threading Optimisations

Update the main computational classes to split up work into separate threads. Should improve performance when running on a single computer, or cluster node, with the appropriate resources.

  • BSimChemicalField [Done] - Update class to use worker threads when calculating the new diffusion field.
  • BSimCollisionPhysics [Done] - Update class to use worker threads when calculating the force matrix.
  • BSimCollisionPhysics [Done] - Update class to use multithread the call to the runLogic method on each bacterium. Physics class has been restructured to use the same worker threads that calculate the force matrix.

Batch Processing

We need to be able to run batch runs of simulations to get enough results for statistical analysis.

  • Parameter File Definition [Done] - We need a simple text file defined that allows for all the parameters in the simulation and sets of bacteria, particles and boundaries defined. It should look something like the example below with each line either giving a parameter definition or BSimObject creation details. First version has been completed but still a few areas that need loaders added. Full specification will be uploaded to the wiki once all loaders are available.
Viscosity: 0.0001
Dt: 0.01
CreateBacterium: 10, 10, 3.7, 50
CreateRandomBacteriaSet: 0, 0, 500, 600, 3.7, 50
...
  • BSimBatch [Done] - Class to read the parameter files and run a set number of simulations, outputting videos and a data file of particle movement.
  • Blue Crystal Accounts - Contact university about getting accounts to run some larger scale simulations
  • Output Filters [Done] - Create new classes that can be attached to a simulation scene, allowing for information about the scene be output, e.g. in the form of text based or movie files. This ties in with the parameters that need to be monitored for the statistical analysis. This has been completed with two output types BSimParticleFileExport and BSimBacteriaFileExport, the formats are below:

BSimParticleFileExport File Format:

Timestep, Particle_1_x, Particle_1_y, ..., Particle_n_x, Particle_n_y, Particle_Average_x, Particle_Average_y

BSimBacteriaFileExport File Format:

Timestep, Bacteria_Average_x, Bacteria_Average_y

BSim Simulations

Once the framework is in a working state we will need to have in place an approach for using it to understand the sensitivity of each of the parameters, test the viability and compare different methods. It is expected that the list of simulations to run will evolve as the design becomes refined in the wet lab.

  • Define Simulation Process - Ensure that the full end-to-end simulation setup and execution process is understood. Define the inputs, parameters that can be altered, and output required to calculate useful statistics for comparison. As many simulations will be run we want to make sure that problems will not arise during the runs. This should be placed on the wiki under the stochastic agent based model section.
  • Specify Simulations - We need a list of all important simulations that need to be run to understand the effect various parameters have on the designs stability and viability. A list should be developed on the wiki giving a short description of the run, the parameter ranges, statistical analysis to be performed, hypothesis, actual outcome after the run and data files/example video.
  • Run the simulations - Work through the previous list running the simulation sets.