Registry of Standard Biological Models

From OpenWetWare
Jump to navigationJump to search

Motivations

  • to store, curate and search models related to physical DNA Biobricks.
  • to use modelling in order to gain a deeper understanding of DNA part properties.
  • to explore virtually the properties of de-novo assemblies between parts
  • to get a faster/cheaper development process.
  • to complement open-source spirit in Synthetic Biology and open-up new 'dry-work' contributions

Means

  • build a 1 to N match between physical DNA parts and models into a database
  • define a modelling description language having properties such as:
    • being text based (XML, RDF)
    • being able to describe topological and dynamical (continuous & discrete) properties of bio-network
    • being modular ( standardized inputs/ouputs with private/public access )
    • being hierarchical (encapsulation and abstraction of modules)
  • being able to define a validation schema between DNA part characterizations and model predictions to fine tune model parameters
  • See this page for a draft implementation.
  • See this page for a draft on model implementations following CellML 1.1.
  • See this page to access current discussion on the implementation.

Interesting stuff to explore ...

  • SBML[1] and CellML[2] are already widely used standards. Are they what Synthetic Biology is looking for?
  • Petri Nets Markup language is already defining a modular/hierarchical approach. Could be interesting to investigate. [3]
  • Standardized outputs: how about using experimental data format to store computed results (like FCS from Flow cytometry), it could help also to define a validation schema when it comes to challenge predicted results with measured ones.
Original idea 

I'd like to see a centralized and standardized source of models for biological parts and devices. A good framework for this would be the registry of standard biological parts. Each part and device should have a simple ODE model of its behavior accompanying it. In fact, this registry of models would operate identically and confer all the same advantages as a registry of parts. Namely, it would produce simple standard models of components that could be reliably and rapidly combined to form models of more complex components. If everybody building models was drawing from the same pool of component models, we could be more sure that those models were an accurate reflection of the physical component. Again, just as with the registry of physical parts, everytime I wanted to build a model, I wouldn't have to start from scratch, I could start from well-tested components.

For example a constitutive promoter has a model with no inputs (ignoring polymerase and σ factor levels) and one output, PoPS. In Matlab, this would be a simple function with no inputs that returns a scalar output which is the PoPS output of the device -

PoPS_out = R0040;

A protein generator would have a model with a PoPS input and a protein production rate as output. For example -

dP = E0240(PoPS_in);

Note that E0240 might actually be a collection of part models for an RBS, coding region, and terminator -

function dp = E0240(PoPS_in)
RiPS = B0032(PoPS_in);
translation_rate = E0040(RiPS);
dp = B0015(translation_rate);


The part models for R0040 and E0240 could be put together in an obvious way to form a model of a reporter device.

We already have models for many of our simple parts that could be combined easily if only steady state conditions were considered. Some more organization would be required to allow each model to represent the time varying behavior of a device as combining devices would require the assembly of ODE's from different files. It should still be very possible though.