Team:BCCS-Bristol/Modeling

From 2009.igem.org

(Difference between revisions)
(Emily)
(Antos)
Line 131: Line 131:
*** Refactor ODEs from an interface to an abstract class if necessary.
*** Refactor ODEs from an interface to an abstract class if necessary.
** Investigate other options in terms of external libraries (eg odeToJava - good but seems overcomplicated for current purposes; hundreds of lines of code for one solver routine)
** Investigate other options in terms of external libraries (eg odeToJava - good but seems overcomplicated for current purposes; hundreds of lines of code for one solver routine)
-
** Implement the solver into BSim.
+
** Implement the solvers into BSim.
-
** Implement other solvers (more efficient) and the ability to choose between them.
+
** <s>Implement other solvers (more efficient).</s>
 +
*** The ability to choose between them (in BSim).
 +
*** Investigate possibility of using javax/vecmath and matrix ops to maybe make the larger routines more efficient.
** Extend to Stochastic ODEs.
** Extend to Stochastic ODEs.
** Interface BSim with external parameters (maybe similar to current parameter files) used to define an ODE system.
** Interface BSim with external parameters (maybe similar to current parameter files) used to define an ODE system.

Revision as of 11:30, 11 August 2009

BCCS-Bristol
iGEM 2009

Contents

Workflow

  • Study Team:BCCS-Bristol/Modeling/Ideas to understand high level development goals (you can add stuff to that page!)
  • Decide the specifics of what needs to be done and add items to your to-do list. Ideally the items added should read like commit messages
  • Commit to the subversion repository and strike out the item on your to-do list, adding a reference to the commit number if possible e.g:
    • Rename BSimObject to BSimParticle r19

Todo list

Steve

  • Meet Sean Davies re: beads - try to bring some polystyrene beads
  • Learn something more about bioscaffolds
  • Contact Paris team re:video
  • Decide whether we are talking at the synbio conference, if so, who is talking
  • Identify what batch simulations we wish to carry out asap. See [1].


  • Study whether 3D implementation of newPosition in BSimBacteriaCreate is reasonable r28
  • 3D tumbling in BSimBacteria r30
  • 3D diffusion for BSimChemicalField r29
  • 3D boundaries r34
  • If our paradigm is particle dynamics, interactions with solid boundaries (that have a shape) are making things more complicated than neccesary.. traer physics is proving a big inspiration, it's beautifully simple - following its lead I believe we could decrease the complexity of the bsim physics engine
  • We are going to have to implement collision detection for vesicles - once it's in, perhaps we should use it for bact-bact and bact-bound too.. we probably only need _real_ physics for bact-bead? In any case there seems to be a redundancy with both definition of potential functions and raw 'size' parameters
  • Remove author, date from headers?
  • Further refactoring to achieve clear and consistent class-package naming: make toolbar a nested class of app?
  • Are PART_PART, PART_BACT, PART_BEAD really neccesary?
  • Add paper references to parameter values in the code using page from last year
  • Improve knowledge of rigid body collisions [2] [3]

Mattia

  • Last Year Bug Fixing:
    • New solution for reading gammaVals.txt (Old Problem: In Windows Vista semeed to be some reading problems)
    • Mathematic corrections in calcDistFromBoundary(Wrong Mathematics)
  • BSim 3D:
    • Update Class BSimParticle r28 r51
      • Class parameters
      • Constructor
      • setPosition
      • setCentrePos
      • setDirection
      • normalise3DVector
    • Update Class BSimChemicalField r29 r35
      • Class parameters
      • Constructor
      • setAsLinear
      • redraw
      • updateField
      • Update Class BSimChemicalFieldThread
        • Class parameters
        • Constructor
        • run
      • addChemical
      • getConcentration
      • getField
    • Update Class BSImBacterium r30 r50 r55
      • iterateBacterium
      • iterateTumble
      • startNewPhase
      • doRun
    • Update Class BSImBacteriaCreate r31 r48
      • createBacteriaSet
      • createBacterium
    • Update Class BSimDeadBacterium r32
      • runLogic
    • Update Class BSimBeadsCreate r33
      • createBeadSet
      • createBead
    • Update Class BSimChemicalFieldCreate r36
      • createChemicalField
    • Update Class BSimCollisionPhysics r37 r39 r46
      • Class parameters
      • updateProperties
      • Update Class BSimCollisionPhysicsThread
        • run
        • distBetweenPoints
        • resolveExternalForces
        • linearMotion
        • force2Velocity3D
    • Update Class BSimParameters r38 r41 r42 r58
      • Class parameters
      • createNewSolidBoxBoundariesVec
      • createNewWrapBoxBoundariesVec
    • Update Class BSimScene r40 r56
      • resetScene
      • runAllUpdates
    • New Class BSimPlaneBoundaryCreate r43 r 54
    • New Class BSimSolidPlaneBoundary r44 r49 r53
    • Update Class BSimParametersLoader r47 r57
      • processLine
    • New Class BSimWrapPlaneBoundary r52

Emily

  • Issue with bacteria 'escaping' the boundaries r61
    • When the bacteria have a large enough force and the time step is not small enough the bacteris are able to 'escape' the boundary.
    • Fix this by checking the distance and direction of all the bacteria close to the boundary. This will catch those that have crossed the boundary in one time step.
    • THIS COULD BE IMPROVED FURTHER - it allows for far greater forces however does not fix this problem in all cases.
  • Understand how bacteria "tumble" under magnetic force
    • It is believed that the magnetic force causes the bacteria to orientate in line with the field and so the tumble phase will not occur.
  • Implement directed bateria (bacteria under constant magnetic field)
    • Control only the direction of the bacteria - not the force.
  • Finish coding the magnetic force for variable magnetic force
    • Code the magnetic force as an additional force on the bacteria along with the internal and external forces.
    • Find realistic values for the magnetic force acting on the bacteria.
  • Code half-coated bead
    • Apply two different potentials to each half of the bead - one side has a potential well (the bacteria attach here) and the other side has no well (the bacteria will interact normally here).
  • Control which objects are affected by the magnetic force
    • Magnetotactic bacteria in a constant magnetic field
    • Magnetotactic bacteria in a variable magnetic field
    • E. coli attaching to a magnetic bead under a variable magnetic field

Antos

  • GRNs and vesicles
    • Read more about the mechanics of different GRNs (specifically switches).
    • Find out how they interact with the external environment.
    • Investigate the possiblity of using a different time-step to the fixed one in BSim.
    • Investigate the effect of different time steps (GRNs operate on a time scale relatively long compared to that of BSim).
    • Investigate the mechanics of our GRNs with respect to vesicle budding and communication.
    • Investigate methods for numerically solving stochastic ODEs.
  • BSim GRNs
    • Java implementation of Runge-Kutta 4th order solver.
      • Refactor ODEs from an interface to an abstract class if necessary.
    • Investigate other options in terms of external libraries (eg odeToJava - good but seems overcomplicated for current purposes; hundreds of lines of code for one solver routine)
    • Implement the solvers into BSim.
    • Implement other solvers (more efficient).
      • The ability to choose between them (in BSim).
      • Investigate possibility of using javax/vecmath and matrix ops to maybe make the larger routines more efficient.
    • Extend to Stochastic ODEs.
    • Interface BSim with external parameters (maybe similar to current parameter files) used to define an ODE system.
      • Investigate the feasibility of SBML parameters or a similar XML based format.
      • Similarly investigate the format used by XPP (may be more succinct, also is specifically for ODEs).
    • Investigate and implement GRN (ODE) and chemical field interaction.
      • Study implementation of 3D diffusion in BSim.
      • Implement diffusion in/out terms for membrane diffusion.
    • GRN interaction with vesicle budding and chemical transport (on the surface of the vesicle and inside it).
    • Incorporate a method for seeing the effects of GRN activity (eg colour changes, pop-out time series).