Team:BCCS-Bristol/Modeling-To Do List
From 2008.igem.org
(Difference between revisions)
Tgorochowski (Talk | contribs) (→BSim Simulations) |
Tgorochowski (Talk | contribs) (→BSim Simulations) |
||
Line 92: | Line 92: | ||
* <div class="redText">'''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.</div> | * <div class="redText">'''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.</div> | ||
*<div class="redText">'''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.</div> | *<div class="redText">'''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.</div> | ||
- | *#<div class="redText">''' | + | *#<div class="redText">'''Bacteria Chemotaxis''' - </div> |
- | *#<div class="redText">''' | + | *#<div class="redText">'''Chemotaxis with Particles''' - </div> |
- | *#<div class="redText">''' | + | *#<div class="redText">'''Particle Sensing Bacteria''' - </div> |
- | *#<div class="redText">''' | + | *#<div class="redText">'''Co-ordinating Bacteria''' - </div> |
- | *#<div class="redText">'''Simulation | + | *#<div class="redText">'''Recruitment Bacteria''' - </div> |
+ | *#<div class="redText">'''Permanent Adhesion''' - </div> | ||
+ | *#<div class="redText">'''Parameter Sensitivity''' - </div> | ||
+ | *#<div class="redText">'''Full Scale Lab Experiment Simulation''' - </div> | ||
*<div class="redText">'''Run the simulations''' - Work through the previous list running the simulation sets.</div> | *<div class="redText">'''Run the simulations''' - Work through the previous list running the simulation sets.</div> | ||
<br> | <br> | ||
</div> | </div> |
Revision as of 14:04, 28 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 [Done] - 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. The BSimScene class now creates all objects using the BSimParameter object.
- 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.
- BSimBacterium [Done] - Basic bacterium needs to be developed that will follow the goal chemoattractant. This is encapsulated in the normal bacterium class.
- BSimSensingBacterium [Done] - Sensing bacterium needs to be developed that will ignore the chemoattractant until contact with a particle is made. Finished with an additional parameter for the delay before the contact with the particle is lost.
- BSimCoordBacterium - Co-ordinating bacterium needs to be developed that will ignore 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.
- Test BSimChemicalField - As we will be using the chemical fields extensively we need to test that they are working correctly first.
- Potential Reaction Force - It was noticed on simulations of a high bacterial density that if a large number of bacteria were all pushing each other into a solid boundary that they could overshoot and pass through. To fix this we need to ensure that the reaction force can be large enough and that the time step is small enough to ensure no movement over a boundary in a single timestep.
- 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.
- Bacteria Chemotaxis -
- Chemotaxis with Particles -
- Particle Sensing Bacteria -
- Co-ordinating Bacteria -
- Recruitment Bacteria -
- Permanent Adhesion -
- Parameter Sensitivity -
- Full Scale Lab Experiment Simulation -
- Run the simulations - Work through the previous list running the simulation sets.