A reconfigurable NAND/NOR genetic logic gate
© Goñi-Moreno and Amos; licensee BioMed Central Ltd. 2012
Received: 20 July 2012
Accepted: 14 September 2012
Published: 18 September 2012
Engineering genetic Boolean logic circuits is a major research theme of synthetic biology. By altering or introducing connections between genetic components, novel regulatory networks are built in order to mimic the behaviour of electronic devices such as logic gates. While electronics is a highly standardized science, genetic logic is still in its infancy, with few agreed standards. In this paper we focus on the interpretation of logical values in terms of molecular concentrations.
We describe the results of computational investigations of a novel circuit that is able to trigger specific differential responses depending on the input standard used. The circuit can therefore be dynamically reconfigured (without modification) to serve as both a NAND/NOR logic gate. This multi-functional behaviour is achieved by a) varying the meanings of inputs, and b) using branch predictions (as in computer science) to display a constrained output. A thorough computational study is performed, which provides valuable insights for the future laboratory validation. The simulations focus on both single-cell and population behaviours. The latter give particular insights into the spatial behaviour of our engineered cells on a surface with a non-homogeneous distribution of inputs.
We present a dynamically-reconfigurable NAND/NOR genetic logic circuit that can be switched between modes of operation via a simple shift in input signal concentration. The circuit addresses important issues in genetic logic that will have significance for more complex synthetic biology applications.
KeywordsSynthetic biology; Boolean logic; Multifunctionality
The emerging field of synthetic biology[1–7] applies rational engineering principles to the (re)design of biological systems. Work in this area has often focussed on the creation of small-scale genetic devices, such as oscillators, toggle switches[9, 10], clocks, Boolean logic gates[12–15] and half-adders/subtractors.
One interesting aspect of such devices concerns their potential for multifunctionality (that is, the possibility that devices may switch between different operating modes, depending on some external signal). Most existing engineered gene circuits have been constructed to perform a single function, but recent results suggest that such devices may be able to implement multiple functions[11, 17]. This property is often observed in neuronal networks, as it allows organisms to select multiple behavioural “programs” using the same group of neurons. The ability to engineer multifunctionality into genetic circuits may have significant performance benefits when a range of different responses or behaviours is required. In this paper we describe a model for such a genetic circuit, which may be dynamically reconfigured (without modification) to serve as both a NOR gate (output “1” only when both inputs absent) and a NAND gate (output “0” only when both inputs present), depending on its input. We give the results of single cell computational experiments, before showing how two-dimensional, population-based simulations can shed valuable light on both the behaviour of the system and its beneficial features.
We describe this circuit in the context of our previous work on continuous computation in engineered gene circuits. By “continuous computation”, we mean gene-based computation that maximises the period during which outputs are valid and “readable”, by using “real-valued” signals.This addresses issues of reliability in such circuits, by (a) carefully interpreting binary signal values in terms of continuous/analogue value thresholds over time, and (b) using the concept of branch prediction (taken from computer architecture). During the execution of a program, a “fork” may occur as the result of a conditional statement (e.g., “if X is true, then do A, else do B”), as in the operation of a logic gate, where the output depends on the inputs. Branch prediction is a technique generally used for saving time when a device faces this kind of decision, and a prediction may be either conditional or unconditional. The latter (studied in) is used when the probability of one branch being taken is significantly higher than the other; in this case, the high probability branch is taken by default, and the situation is only corrected if it transpires that the decision is incorrect, based on the expression evaluation. The circuit proposed here uses conditional prediction, by assuming that the previous output expressed will be carried forward to the next output (and correcting itself if this is not the case) before processing the inputs.
The inputs of the circuit, represented by molecules A and B, induce the expression of both genes G1 and G2(by binding to their correspondent upstream promoters), which produce, in turn, proteins X and I1(Induce r1) respectively. Product X represses the production of I2(Induce r2), which is expressed by the inverter using gene G3. Inducers I1and I2are in charge of controlling the switch, and change its direction. This third part of the circuit (the switch) is formed by two promoters which control the expression of three genes. Repressor R1 represses the expression of gene G5 unless inducer I1 sequesters it, forming the complex C1 (which has no functionality in the circuit). Symmetrically, R2 represses the expression of both genes G4and G6which, in turn, produces the reporter Out.
We now briefly consider the possible implementation of our system. The two main components we use are a genetic toggle switch and NOR gate, both of which have previously been successfully demonstrated in the laboratory[9, 20]. The main novelty in our proposed scheme (in terms of its implementation) lies in the connection between both components. We believe that this is where attention should be focussed during future laboratory work. The outputs of the NOR gate (that is, the inducers of the switch) are inhibitors of the R1 and R2repressors. By being sequestered, the repressors are rendered inactive, and the implementation of such a scheme is supported by a recent study, in which examples of such negative inhibition are demonstrated. Further investigations may also focus on alternative implementations of the connection scheme, without altering the fundamental behaviour of the device. One possible route to this may lie in directly repressing the switch promoters, instead of implementing the protein-protein interaction. There is also the possibility of using RNA-based logic to implement connections, as described recently in. The key consideration that should inform the engineering process is the fact that the maximum expression level of the NOR output must be at least equal to the maximum expression level of the switch inputs. This is what allows the switch to “flip”. Conversely, the minimum expression level of either NOR output must be lower than the minimum levels of either switch input. These two features allow the device to have the desired multi-functional behaviour.
In terms of traditional electronic logic, our circuit therefore corresponds to a system that produces, by default, a “high”, or “1”, signal in the absence of any input signals equal to “1”. As soon as either inputs equal “1”, the output signal is “pulled low” to “0” (classical NOR behaviour). Once all “1”-valued inputs are removed, the circuit defaults back to “high”. In the Results and discussion section, we study the dynamics of the circuit and - more importantly - the meaning of a logic “1”-valued input, from which the multi-behaviour feature of the system is derived.
Results and discussion
We perform a number of computational simulations (model details are specified in the Methods section), with the two main aims of investigating the behaviour of the branch-predicting NOR gate, and then examining its potential as a reconfigurable device. In both cases, we perform single-cell and population-based experiments, to investigate both the internal dynamics of the circuit and its effect on a spatially-distributed collection of cells (which might be used in a realistic synthetic biology application).
Single cell NOR
We first emphasise the difference between static and dynamic (i.e., continuous) observations. Static measurements are performed by testing a single logic case (input setup), observing from the initial state of the circuit until a steady-state is reached. Dynamic measurements are taken once initialisation has occurred, and the logic input cases are modified sequentially. The outputs obtained are not always consistent, and we conclude that the continuous paradigm is more appropriate (i.e., robust) for these circuits.
It is important to note, however, that this performance is only observed when the system starts from a “pristine” (i.e. unused) state. Therefore, this behaviour is only useful if the circuit is intended for “single use”. In non-trivial synthetic biology applications, it may well be the case that a circuit is used many times, with different inputs, so it is important to test its behaviour over an extended period. Once the system has been initialised with a set of inputs, we therefore need to switch over to a dynamic observation model.
Single cell NOR with noise
Dynamic predictions are observed after the 0-0 case, as the initial - static - conditions are no longer valid. During the 1-0 input phase (until t≈110) input A varies within the interval [4.5…5.5] nM (logic “1”) while input B is still varying within the range [0…0.05] nM (logic “0”). In this scenario, the expression of protein I2is completely repressed, as the circuit senses this input as a clear logic “1” -not noise- for both I2and Out. The same thing happens during the next (0-1 and 1-1) cases, where the inputs vary within the same intervals for both logic values and output concentrations are the same. In order to get a more valuable insight into the system, we change the meaning for a logic “0” for the final case 0-0 (from t≈210) where it varies within the interval [0…0.005]. Such a low signal causes the production of I2but not at full capacity due to existing X repressors in the system. That amount, which can be interpreted as a positive output of I2, it is not enough to change the direction of the switch. Thus, the low inputs (A and B) are interpreted as noise for our system and Out will stay in the previous state, which is a “0” output. The noise causes an unclear signal to be received at the input: neither a clear logic 0 nor a clear logic 1, thus the system predicts the previous behaviour.
We depict the behaviour of the simulated colony in Figure6, starting with a single cell in the centre of the region. As the number of cells increases, those to the right-hand side eventually exhibit fluorescence, as they inhabit the 0-0 region, while those to the left (in the 1-1 region) show no fluorescence, as expected.
After 50 hours, we notice some cells on the right-hand side that are not producing light, when they should actually display a high output concentration. This is due to the fact that those cells are moved from the left-hand side (1-1 case) at high speed while they are being pushed strongly. Therefore, the circuit inside those cells has not had time enough to respond and start expressing Out (we recall the gap of Figure3). After 130h the cells clearly signal the input concentration corresponding to the inputs on the surface (any single-cell “errors” are due to cell movement and/or stochasticity).
In this experiment, the environment (a longitudinal trap) is divided into two zones: the centre: with a 1/0 input profile, and the remaining area, with a 0/0 input profile. The cells start growing once inoculated at the centre of the trap (about 100 cells are placed at the beginning). Obviously, as seen in the velocity field (bottom of Figure7), the cells move in one of two different directions, depending on their physical location: from centre to left, and from centre to right (due to pushing forces while growing). When the cells reach the 0/0 area we would expect a cell’s circuit to display a “1” state. This is what we observe, but with a time delay, as seen in the previous differential study. In this particular case, the higher a cell’s velocity, the more space it will cover before processing the inputs. This explains the gap between the beginning of the 0/0 area and the region in which the cells start expressing the output Out. This time-space delay plays a very important role in attempts to generate specific patterns in a cell population. If that is the case, there is a key parameter to bear in mind: the velocity of the cells, which can - of course - vary within the same colony (as in Figure7).
It is important to notice that our circuit offers significant possibilities for pattern formation or sensing studies. Instead of recognising only a logic “1” and a logic “0”, the circuit is also able to distinguish between a high logic “1” and a low logic “1”, and change its behaviour accordingly. We now investigate further this useful property.
In this Section we use different sets of simulations to illustrate one of the main features of the circuit: the possibility of reusing it (without modification) for evaluating a function other than NOR. The key factor lies in how we define input “1”. In contrast to our previous experiments, where this is denoted by an input concentration of 5nM, here we reduce the input “1” concentration to 1.5nM. By “flipping” the high input signal from 5 to 1.5nM, we obtain a change in functionality, from NOR to NAND (negated AND). Such a possibility could prove invaluable in terms of saving space in a hybrid bio-device, if differential behaviour is required for a range of input values. We compare our approach to that of Budyka; their gates use light as an input, and the functionality of a gate may be altered by changing its wavelength (see also, in which the behaviour of a promoter is flipped between that of an amplifier and an OR gate using different inducer concentrations).
The definition of logical values is of vital importance if different synthetic regulatory networks are intended to work together. Here we show that a given genetic circuit can display very different behaviours, depending on the thresholds of a specific input logic signal. This will be of significance for future genetic circuit design. The circuit proposed in this paper harnesses this fuzzy behaviour by reconfiguring its behaviour between the NAND and NOR logical functions in response to different input standards. In this way, the circuit can be reused for either of those two functionalities without modification. We highlight the importance of computational studies in order to find abnormal behaviours inside circuits, and to identify the key features of a system. Although in this work we take all parameter values from the literature, the simulation results help us to focus on the specific areas of interest to parts selection for future laboratory validation.
Due to the large size of the circuit - with 5 promoters, 10 protein species and 6 genes - the mathematical model is reduced to 6 Michaelis-Menten equations (4 to 8). However, a full deterministic model of the first expression product (X) is built in order to: (1) check if the approximation is correct, and (2) make a good setup of the parameters in equations.
where denotes the gene with input A bound to its corresponding promoter, is the gene with input B bound to the other promoter and represents the gene with both inputs bound. Regarding the rates: k1 and k2are the binding rates of A and B, respectively, to their promoters when G1 has no protein bound; k−1 and k−2 are the unbinding rates of the previous reactions; k3and k4 are the binding rates of B and A to and, respectively; k−3 and k−4 denote the unbinding rates of the previous reactions; k5, k6 and k7 are the active transcription rates of X by, and respectively; k8, k9 and k10 are the degradation rates of X, A and B; and k11and k12 are the creation rates of inputs A and B respectively.
All the parameter values used in 2 are taken from standard values in the literature[25–27]. The objective of this model is to provide as a generic model as possible, to abstract away from specific laboratory details (i.e. the utilisation of a concrete promoter type). Thus, similar kinetic parameters have the same value in order to prove the functioning of a complete standardised model. The values are as follows: k1 = k2 = k3 = k4 = 1 molecules−1hour−1; k−1 = k−2 = k−3 = k−4 = 50 hour−1; k5 = k6 = 500 hour−1; k7 = 700 hour−1; k8 = k9 = k10 = 0.1 hour−1; k11 = k12 = molecules hours−1. Notice that k7 is higher than k5and k6 in order to emphasise a stronger transcription rate when the two inputs are bound to their promoters at the same time.
where α denotes a synthesis rate, K represents the dissociation constants, h the Hill coefficients, δ the protein decay or degradation rate and β denotes repression coefficients. It is important to notice that the sequestrated repressor complexes, C1 and C2, are represented by max([R1]−[I1],0) and max([R2]−[I2],0) which are the direct subtraction of the repressor by the inducer (or 0 if a negative result is obtained).
The values of the parameters are chosen to make Figure11 (right) match Figure11 (left) according to standard values[26, 29]. As before, similar parameters have the same value in order to make the in-silico study as general as possible. Thus, = α X = 3.0 nM hour−1; = = = α Out = 4.0 nM hour−1; = = 0.5 nM; = = = β Out = 0.04 nM; δ i = 0.15 hour−1; h1 = 1; h2 = 2. The initial conditions are: A= B = 0.5 nM (again, both inputs set to a logic 1).
All simulations are performed with our own software coded in Python. Figures2,3,8,9 and11 are obtained by using a deterministic approach with the previous ODE (Ordinary Differential Equation) model. For Figure4 we added noise to inputs, as explained in the Results and discussion section, without changing the ODEs. Figure5 is obtained by adding noise to the full model (all species that change over time). For that purpose, the ODE model is altered by adding Gaussian noise at every integration step to the previous concentration (building a SDE, Stochastic Differential Equation model). In the spatial studies (Figures6,7 and10) the inputs are fixed in their specific surface areas and the rest of the species are subject to low stochasticity (in this case, however, it is the collective behaviour that matters, not individual).
For spatial studies we use the physics library Pymunk (wrapper for the physics library Chipmunk) to design and control the cells as rigid bodies with growth in an agent-based paradigm. The ODE model of the system is placed inside the cells so there are as many copies of the genetic circuit as cells in a given time (the circuit with all parameter values is copied from mother to daughter when the cell divides). In order to control the doubling time of the cells we can let the circuit run for as many integration steps as we may need before the cell divides. For visualisation purposes, the circuit runs during 12 or 24 hours in a cell life-time (making that time the doubling time) depending on the set-up (see Results and discussion section).
This work was supported by the European Commission FP7 Future and Emerging Technologies Proactive initiative: Bio-chemistry-based Information Technology (CHEM-IT, ICT-2009.8.3), project reference 248919 (BACTOCOM).
- Benner SA, Sismour AM: Synthetic biology. Nat Rev Genet. 2005, 6 (7): 533-43. [http://www.ncbi.nlm.nih.gov/pubmed/16954140],View ArticleGoogle Scholar
- Heinemann M, Panke S: Synthetic biology–putting engineering into biology. Bioinformatics. 2006, 22 (22): 2790-9. 10.1093/bioinformatics/btl469. [http://www.ncbi.nlm.nih.gov/pubmed/16954140], 10.1093/bioinformatics/btl469View ArticleGoogle Scholar
- Andrianantoandro E, Basu S, Karig DK, Weiss R: Synthetic biology: new engineering rules for an emerging discipline. Mol Syst Biol. 2006, 2: 2006.0028-[http://www.pubmedcentral.nih.gov/articlerender.fcgi?artid=1681505#x0026;tool=pmcentrez#x0026;rendertype=abstract],View ArticleGoogle Scholar
- Lorenzo VD, Danchin A: Synthetic biology: discovering new worlds and new words. EMBO Reports. 2008, 9 (9): 822-827. 10.1038/embor.2008.159. [http://www.nature.com/embor/journal/vaop/ncurrent/full/embor2008159.html], 10.1038/embor.2008.159View ArticleGoogle Scholar
- Moya A, Krasnogor N, Pereto J, Latorre A: Goethe’s dream. EMBO Reports. 2009, 10: S28—S32-[http://www.nature.com/embor/journal/v10/n1s/full/embor2009120.html],View ArticleGoogle Scholar
- Purnick PEM, Weiss R: The second wave of synthetic biology: from modules to systems. Nat Rev Mol Cell Biol. 2009, 10 (6): 410-22. 10.1038/nrm2698. [http://www.ncbi.nlm.nih.gov/pubmed/19461664], 10.1038/nrm2698View ArticleGoogle Scholar
- Porcar M, Danchin A, de Lorenzo V, Dos Santos Va, Krasnogor N, Rasmussen S, Moya A: The ten grand challenges of synthetic life. Syst and Synth Biol. 2011, 5 (1-2): 1-9. 10.1007/s11693-011-9084-5. [http://www.pubmedcentral.nih.gov/articlerender.fcgi?artid=3159694#x0026;tool=pmcentrez#x0026;rendertype=abstract], 10.1007/s11693-011-9084-5View ArticleGoogle Scholar
- Elowitz MB, Leibler S: A synthetic oscillatory network of transcriptional regulators. Nature. 2000, 403 (6767): 335-8. 10.1038/35002125. [http://www.ncbi.nlm.nih.gov/pubmed/10659856], 10.1038/35002125View ArticleGoogle Scholar
- Gardner TS, Cantor CR, Collins JJ: Construction of a genetic toggle switch in Escherichia coli. Nature. 2000, 403 (6767): 339-42. 10.1038/35002131. [http://www.ncbi.nlm.nih.gov/pubmed/10659857], 10.1038/35002131View ArticleGoogle Scholar
- Lou C, Liu X, Ni M, Huang Y, Huang Q, Huang L, Jiang L, Lu D, Wang M, Liu C, Chen D, Chen C, Chen X, Yang L, Ma H, Chen J, Ouyang Q: Synthesizing a novel genetic sequential logic circuit: a push-on push-off switch. Mol Syst Biol. 2010, 6 (350): 350-[http://www.pubmedcentral.nih.gov/articlerender.fcgi?artid=2858441#x0026;amp;tool=pmcentrez#x0026;amp;rendertype=abstract],Google Scholar
- Rodrigo G, Carrera J, Elena SF, Jaramillo A: Robust dynamical pattern formation from a multifunctional minimal genetic circuit. BMC Syst Biol. 2010, 4: 48-10.1186/1752-0509-4-48. [http://www.pubmedcentral.nih.gov/articlerender.fcgi?artid=2876062#x0026;amp;tool=pmcentrez#x0026;amp;rendertype=abstract], 10.1186/1752-0509-4-48View ArticleGoogle Scholar
- Kramer BP, Fischer C, Fussenegger M: BioLogic gates enable logical transcription control in mammalian cells. Biotechnol and Bioeng. 2004, 87 (4): 478-84. 10.1002/bit.20142. [http://www.ncbi.nlm.nih.gov/pubmed/15286985], 10.1002/bit.20142View ArticleGoogle Scholar
- Anderson JC, Voigt Ca, Arkin AP: Environmental signal integration by a modular AND gate. Mol Syst Biol. 2007, 3 (133): 133-[http://www.pubmedcentral.nih.gov/articlerender.fcgi?artid=1964800#x0026;tool=pmcentrez#x0026;rendertype=abstract],Google Scholar
- Sayut DJ, Niu Y, Sun L: Construction and enhancement of a minimal genetic AND logic gate. Appl and Environ Microbiol. 2009, 75 (3): 637-42. 10.1128/AEM.01684-08. [http://www.pubmedcentral.nih.gov/articlerender.fcgi?artid=2632134#x0026;tool=pmcentrez#x0026;rendertype=abstract], 10.1128/AEM.01684-08View ArticleGoogle Scholar
- Tabor JJ, Salis HM, Simpson ZB, Chevalier Aa, Levskaya A, Marcotte EM, Voigt Ca, Ellington AD: A synthetic genetic edge detection program. Cell. 2009, 137 (7): 1272-81. 10.1016/j.cell.2009.04.048. [http://www.pubmedcentral.nih.gov/articlerender.fcgi?artid=2775486#x0026;tool=pmcentrez#x0026;rendertype=abstract], 10.1016/j.cell.2009.04.048View ArticleGoogle Scholar
- Ausländer S, Ausländer D, Müller M, Wieland M, Fussenegger M: Programmable single-cell mammalian biocomputers. Nature. 2012, 487 (7405): 123-127. [http://www.nature.com/doifinder/10.1038/nature11149],Google Scholar
- Purcell O, di Bernardo M, Grierson CS, Savery NJ: A multi-functional synthetic gene network: a frequency multiplier, oscillator and switch. PLoS ONE. 2011, 6 (2): e16140-10.1371/journal.pone.0016140. [http://www.pubmedcentral.nih.gov/articlerender.fcgi?artid=3040778#x0026;tool=pmcentrez#x0026;rendertype=abstract], 10.1371/journal.pone.0016140View ArticleGoogle Scholar
- Popescu IR, Frost WN: Highly dissimilar behaviors mediated by a multifunctional network in the marine mollusk Tritonia diomedea. J of Neurosci. 2002, 22 (5): 1985-93. [http://www.ncbi.nlm.nih.gov/pubmed/11880529],Google Scholar
- Goñi Moreno A, Amos M: Continuous computation in engineered gene circuits. Bio Syst. 2012, 109: 52-6. [http://www.ncbi.nlm.nih.gov/pubmed/22387968],Google Scholar
- Tamsir A, Tabor JJ, Voigt Ca: Robust multicellular computing using genetically encoded NOR gates and chemical ’wires’. Nature. 2011, 469 (7329): 212-5. 10.1038/nature09565. [http://www.ncbi.nlm.nih.gov/pubmed/21150903], 10.1038/nature09565View ArticleGoogle Scholar
- Buchler NE, Cross FR: Protein sequestration generates a flexible ultrasensitive response in a genetic network. Mol Syst Biol. 2009, 5 (272): 272-[http://www.pubmedcentral.nih.gov/articlerender.fcgi?artid=2694680#x0026;tool=pmcentrez#x0026;rendertype=abstract],Google Scholar
- Wang B, Buck M: Customizing cell signaling using engineered genetic logic circuits. Trends in Microbiology. 2012, 20 (8): 376-384. 10.1016/j.tim.2012.05.001. [http://www.ncbi.nlm.nih.gov/pubmed/22682075], 10.1016/j.tim.2012.05.001View ArticleGoogle Scholar
- Budyka MF, Potashova NI, Gavrishova TN, Lee VM: Reconfigurable molecular logic gate operating in polymer film. J Mater Chem. 2009, 19 (41): 7721-10.1039/b908562a. [http://xlink.rsc.org/?DOI=b908562a], 10.1039/b908562aView ArticleGoogle Scholar
- Silva-Rocha R, de Lorenzo V: Broadening signal specificity of prokaryotic promoters by modifying cis-regulatory elements associated with a single transcription factor. Mol BioSyst. 2012, 8 (7): 1950-1957. 10.1039/c2mb25030f. [http://pubs.rsc.org/en/content/articlelanding/2012/mb/c2mb25030f], 10.1039/c2mb25030fView ArticleGoogle Scholar
- Miró-Bueno JM, Rodríguez-Patón A: A simple negative interaction in the positive transcriptional feedback of a single gene is sufficient to produce reliable oscillations. PLoS ONE. 2011, 6 (11): e27414-10.1371/journal.pone.0027414. [http://dx.plos.org/10.1371/journal.pone.0027414], 10.1371/journal.pone.0027414View ArticleGoogle Scholar
- Gonze D, Halloy J, Goldbeter A: Robustness of circadian rhythms with respect to molecular noise. Proc Nat Acad Sci USA. 2002, 99 (2): 673-8. 10.1073/pnas.022628299. [http://www.pnas.org/cgi/content/abstract/99/2/673], 10.1073/pnas.022628299View ArticleGoogle Scholar
- Dublanche Y, Michalodimitrakis K, Kümmerer N, Foglierini M, Serrano L: Noise in transcription negative feedback loops: simulation and experimental analysis. Mol syst biol. 2006, 2: 41-[http://www.nature.com/msb/journal/v2/n1/synopsis/msb4100081.html],View ArticleGoogle Scholar
- Lam FH, Steger DJ, O’Shea EK: Chromatin decouples promoter threshold from dynamic range. Nature. 2008, 453 (7192): 246-50. 10.1038/nature06867. [http://dx.doi.org/10.1038/nature06867], 10.1038/nature06867View ArticleGoogle Scholar
- Basu S, Gerchman Y, Collins CH, Arnold FH, Weiss R: A synthetic multicellular system for programmed pattern formation. Nature. 2005, 434 (7037): 1130-4. 10.1038/nature03461. [http://dx.doi.org/10.1038/nature03461], 10.1038/nature03461View ArticleGoogle Scholar