As alluded to in previous lectures, engineering biology is a relatively new field and there are a number of challenges we have yet to overcome. So far, it’s fair to say that most designs for synthetic circuits have been designed by hand, meaning that the heuristic for circuit design is basically trial and error, which your TA admits can be quite painful.
However, as circuit complexity grows, it’s imperative that we develop computational tools that aid in system design. Other engineering disciplines have many tools already; for example, in electrical engineering a commonly used tool called SPICE simulates how an electronic circuit will behave. While many tools have been designed for synthetic biology, there are no gold standards quite yet because the mathematical framework for understanding genetic circuits — as well as just raw characterization data for ‘parts’ — remain largely unavailable.
Today we want you to begin to understand the modeling process for system design and characterization. We will be using MATLAB, a numerical computing environment commonly used in both industry and academia for various engineering, mathematical, and scientific applications. It is our goal for you that through quantitative modeling, you can begin to appreciate the dynamics of the edge detector system as well as study how manipulation of parameters can lead to different outputs.
Before you begin today, make sure your β-gal data is correct (see previous FNT). Before you leave, make sure to post the Miller units and % of maximal Miller units for your original and modified truth table on today's Talk page. You can download the code and necessary files here: Media:Edge_Detector_Simulations_Final.zip and also the updated *.m files here: Media:UpdatedFiles.zip
Introduction to model: ideal case
You will begin by running code that already includes idealized data for all assays. That way you can see in principle how we move from one transfer function to the next, and ultimately to a spatiotemporal model of the edge detector.
Answer some Q based on code/figures?
Step through each part here or in commented code.
Modifying the model: broken and fixed systems
You will now include some of your own data for the original and modified (both IPTG-sensitive) systems. In between the limited data points that you have, you will need to invent additional data; otherwise the code will not be able to run properly.
Given some ranges to make certain parts of code work?
Save these figures for your report.
Implementing other approaches to fixing the system
Although we fixed the system (at least theoretically!) by altering Plux-λ, one can imagine other ways to fix or at least impact the system output.
Where in the code could you modify the AHL diffusion constant? How does changing diffusion impact the outcomes? How about for the AHL synthesis rate?
For next time
Your first draft of the research article
is due by 11 a.m. on Day 1 of Module 3.