Presentation is loading. Please wait.

Presentation is loading. Please wait.

Compiling code and Computation into Biochemical Reactions Presenter : Chi-Yun Cheng.

Similar presentations


Presentation on theme: "Compiling code and Computation into Biochemical Reactions Presenter : Chi-Yun Cheng."— Presentation transcript:

1 Compiling code and Computation into Biochemical Reactions Presenter : Chi-Yun Cheng

2 Computation with Biochemistry Within the confines of a cell, the quantities of molecules are often small. Individual reactions matter and the problem must be modeled discretely. In biochemical computation, the quantities of proteins are non-negative integers.

3 Biochemical Arithmetic Computation is implemented by biochemical reactions. Given the reactants as inputs, then get the products as outputs. In modules of computations, we assume that a “fast” reaction can fire repeatedly until it runs out of reactants before a “slow” reaction ever fires.

4 Biochemical Arithmetic Addition and Scalar Multiplication :

5 Biochemical Arithmetic Multiplication : Pseudo-code : Reactions :

6 Biochemical Arithmetic Exponentiation : Pseudo-code : Reactions :

7 Biochemical Arithmetic Logarithm : Pseudo-code : Reactions :

8 Biochemical Arithmetic Raising to a Power : Pseudo-code : Reactions :

9 Clocking An important constraint is the timing. In some modules, there is an implicit ordering of the reactions. The reactions rates must separated by orders of magnitude, some much faster, some much slower.

10 Clocking Adding a key to each phase of the computation. This ensures that at most one type of key is present.

11 Clocking The first reactions of each phase must be modified so that it depends on the key. With locking, that’s nearly rate independent, requiring at most two speeds “fast” and “slow”, but more reactions are needed.

12 Compiling Iterative Code Verilog code

13 Compiling Iterative Code Translate result :

14 Computational Constructs An Inverter Given a non-zero quantity, then produce a zero quantity. Conversely, given a zero quantity will produce a non-zero quantity. Here, a ab is “absence indicator” type of a.

15 Computational Constructs “Absence indicator” can be used to synchronize steps. We don’t want to start consuming b until the full quantity of it is generated from a.

16 Computational Constructs Increment and Decrement : Two inputs, the first being the quantity that we wish to modify and the second being a trigger specifying when to do.

17 Computational Constructs The absence indicator go ab is generated by : To implement an increment operation, we change the third reaction as :

18 Computational Constructs Copier : In digital computation, we always : So we translate it into chemical reactions : But this is nit ideal because this reaction consumes all the molecules of a.

19 Computational Constructs We have a “request – to - copy” type cr, when an external source injects molecules of cr, the copy operation proceeds.

20 Computational Constructs Comparator : Using copier construct, can create a construct that compares the quantities of two input. Before the main step, we create temporary copies, c and d, of the types that we wish to compare, a and b respectively. And split the copy request to avoid competing.

21 Computational Constructs First consume pairs of c and d : Then using absence indicators to determine which was annihilated.

22 Computational Constructs If a is greater than b, produce molecules of t. Else, destroy t.

23 We can generate all types of logical comparisons :

24 Multiplier Multiplication can implemented by iterative addition. Pseudo-code :

25 First, we have reactions that copy the quantity of y to z. Second, we have reactions that decrement the value of x. =>

26 Computational Constructs Third, we have a controlling reaction to implement the while statement. The reaction generates cr to begin the next iteration : Finally, generate the absence indicators:

27 Simulation Results Multiplier :

28 Simulation Results Copier :

29 Simulation Results Decrement :

30 Simulation Results Comparator :

31 Thank you


Download ppt "Compiling code and Computation into Biochemical Reactions Presenter : Chi-Yun Cheng."

Similar presentations


Ads by Google