ETHZ/FlipFlop
From 2007.igem.org
An Engineer's View on Biological Learning
An equivalent system behavior can be realized using flip-flops, implemented by logical gates:
As already shown in the finite state machine representation (FSM), the proposed system consists of three different states and recognizes four different inputs. In total, this adds up to twelve different transitions. In order to implement these twelve transitions with a digital system, at least four binary inputs are required (allowing for a maximum of 16 transitions) and since the proposed system has four different outputs, at least two binary outputs are required. Here, we chose an implementation using two JK flip-flops consisting of NAND gates. An overview of the resulting system is given in Fig. 1 and details concerning flip-flop and NAND gate behavior are given in the following table:
J | K | Q_{next} | A | B | A NAND B | |
---|---|---|---|---|---|---|
0 | 0 | Q_{prev} | 0 | 0 | 1 | |
0 | 1 | 0 | 0 | 1 | 1 | |
1 | 0 | 1 | 1 | 0 | 1 | |
1 | 1 | ¬Q_{prev} | 1 | 1 | 0 |
When initializing the system we set both outputs Q to zero. The mapping from inputs (AHL+IPTG, IPTG, AHL+aTc, aTc) and system states (q_{0}, q_{1}, q_{2}) to the binary inputs (J_{1}, K_{1}, J_{2}, K_{2}) is given by following table:
states/inputs | AHL+IPTG | IPTG | AHL+aTc | aTc |
---|---|---|---|---|
q_{0} | J_{1}=0, K_{1}=1, J_{2}=1, K_{2}=0 | J_{1}=0, K_{1}=0, J_{2}=0, K_{2}=1 | J_{1}=1, K_{1}=0, J_{2}=0, K_{2}=1 | J_{1}=0, K_{1}=1, J_{2}=0, K_{2}=1 |
q_{1} | J_{1}=0, K_{1}=1, J_{2}=1, K_{2}=0 | J_{1}=0, K_{1}=0, J_{2}=0, K_{2}=1 | J_{1}=0, K_{1}=1, J_{2}=0, K_{2}=0 | J_{1}=0, K_{1}=0, J_{2}=1, K_{2}=1 |
q_{2} | J_{1}=1, K_{1}=0, J_{2}=0, K_{2}=0 | J_{1}=1, K_{1}=1, J_{2}=0, K_{2}=0 | J_{1}=1, K_{1}=0, J_{2}=0, K_{2}=1 | J_{1}=0, K_{1}=1, J_{2}=0, K_{2}=1 |
Here, we assume that the FSM system states q_{0}, q_{1}, q_{2} are mapped to the outputs Q_{1} and Q_{2} as follows:
FSM states/output coding | Q_{1} | Q_{2} |
---|---|---|
q_{0} | 0 | 0 |
q_{0} | 0 | 1 |
q_{0} | 1 | 0 |
The final mapping from transitions to the biological reporters is then given by:
J_{1}=0, K_{1}=1, J_{2}=1, K_{2}=0 | J_{1}=0, K_{1}=0, J_{2}=0, K_{2}=1 | J_{1}=1, K_{1}=0, J_{2}=0, K_{2}=1 | J_{1}=0, K_{1}=1, J_{2}=0, K_{2}=1 | J_{1}=0, K_{1}=1, J_{2}=1, K_{2}=0 | J_{1}=0, K_{1}=0, J_{2}=0, K_{2}=1 | J_{1}=0, K_{1}=1, J_{2}=0, K_{2}=0 | J_{1}=0, K_{1}=0, J_{2}=1, K_{2}=1 | J_{1}=1, K_{1}=0, J_{2}=0, K_{2}=0 | J_{1}=1, K_{1}=1, J_{2}=0, K_{2}=0 | J_{1}=1, K_{1}=0, J_{2}=0, K_{2}=1 | J_{1}=0, K_{1}=1, J_{2}=0, K_{2}=1 |
---|---|---|---|---|---|---|---|---|---|---|---|
cyan | cyan | red | cyan | cyan | cyan | yellow | green | cyan | cyan | cyan | yellow |