- 77 Views
- Uploaded on
- Presentation posted in: General

Writing and Compiling Code into Biochemistry

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Writing and Compiling Code into Biochemistry

Marc Riedel

Assistant Professor, Electrical and Computer Engineering Graduate Faculty, Biomedical Informatics and Computational BiologyUniversity of Minnesota

PSB ─ Kona, Hawaii, Jan. 7, 2010

Acknowledgements

KeshabParhi

Distinguished McKnightUniversity Professor; Edgar F. Johnson Professor;Electrical & Computer Engineering University of Minnesota

Adam Shea

Brian Fett

StudentsElectrical & Computer Engineering University of Minnesota

Acknowledgements

- Most of the cells in his body are not his own!
- Most of the cells in his body are not even human!
- Most of the DNA in his body isalien!

“Minnesota Farmer”

He’s a human-bacteria hybrid:

- 100 trillion bacterial cells of at least 500 different types inhabit his body.

[like all of us]

vs.

- only 1 trillion human cells of 210 different types.

“Minnesota Farmer”

What’s in his gut?

He’s a human-bacteria hybrid:

- 100 trillion bacterial cells of at least 500 different types inhabit his body.

[like all of us]

vs.

- only 1 trillion human cells of 210 different types.

“Minnesota Farmer”

What’s in his gut?

“E. coli, a self-replicating object only a thousandth of a millimeter in size, can swim 35 diameters a second, taste simple chemicals in its environment, and decide whether life is getting better or worse.”

– Howard C. Berg

About 3 pounds of bacteria!

We should put these critters to work…

“Stimulus, response! Stimulus response! Don’t you ever think!”

- Positioned as an engineering discipline.
- “Novel functionality through design”.
- Repositories of standardized parts.

- Driven by experimental expertise in particular domains of biology.
- Gene-regulation, signaling, metabolism, protein structures …

Nucleotides:

DNA: string of n nucleotides (n ≈ 109)

... ACCGTTGAATGACG...

Amino acid: coded by a sequence of 3 nucleotides.

Proteins: produced from a sequence of m amino acids (m ≈ 103) called a “gene”.

+

2a

c

b

+

Playing by the Rules

Biochemical Reactions: how types of molecules combine.

+

cell

proteins

count

9

8

6

5

7

9

Discrete chemical kinetics; spatial homogeneity.

+

+

+

Relative rates or (reaction propensities):

slow

medium

fast

Discrete chemical kinetics; spatial homogeneity.

Protein-ProteinChemistry

y

[computational]Biochemistry

Biochemical[computation]

x

z

quantity

quantities

pseudo-code

biochemical code

pseudo-code

biochemical code

pseudo-code

biochemical code

g

f

(

r

)

=

1

Mario

b

f

(

g

)

=

2

Luigi

[nearly]Rate Independent Biochemical Computation

Biochemical rules are inherently parallel.

Sequentialize?

Step 1:

M1

then

Step 2:

M2

slow

slow

slow

+

slow

Sequentialize computation

with only two rates:

“fast” and “slow”.

slow

+

+

fast

+

Example: Multiplication

Lock phases or modules with keys.

Keys are generated by keysmiths; but indicators consume keysmiths.

Key Generation

Two-phase protocol to ensure only one type of key is present.

Logic

Synthesis

SPICE

Register Level Design

Integrated Circuits

Behavioral Specification(e.g., DSP function)

Structural Description

(e.g., memory and functional units)

Circuit-Level Description

(e.g., NAND2 and D flip-flops)

waveforms

Logic

Synthesis

SPICE

Register Level Design

Verilog

Elements of

Register-basedBiochemical computation

Brian’s Automated ModularBiochemical Instantiator

Biochemistry

Integrated Circuits

Behavioral Specification(e.g., DSP function)

Structural Description

(e.g., memory and functional units)

Biochemical Netlist

(e.g., Proteins, Enzymes)

Biochemical

Synthesis

STA Engine

SSA Engine

waveforms

“Stochastic Transient Analysis of Biochemical Systems”

Two-Tap Moving-Average Filter:

X

1/α=

1/β=

Y

Two-Tap Moving-Average Filter:

module MA(X, Y);

input X;

output Y;

reg Xn;

always

begin

Y = (1/2 * X) +

(1/2 * Xn);

Xn = X;

end

endmodule

module MA(X, Y);

input X;

output Y;

reg Xn;

always

begin

Y = (1/2 * X) +

(1/2 * Xn);

Xn = X;

end

endmodule

module MA(X, Y);

input X;

output Y;

reg Xn;

always

begin

Y = (1/2 * X) +

(1/2 * Xn);

Xn = X;

end

endmodule

module MA(X, Y);

input X;

output Y;

reg Xn;

always

begin

Y = (1/2 * X) +

(1/2 * Xn);

Xn = X;

end

endmodule

module MA(X, Y);

input X;

output Y;

reg Xn;

always

begin

Y = (1/2 * X) +

(1/2 * Xn);

Xn = X;

end

endmodule

module MA(X, Y);

input X;

output Y;

reg Xn;

always

begin

Y = (1/2 * X) +

(1/2 * Xn);

Xn = X;

end

endmodule

module MA(X, Y);

input X;

output Y;

reg Xn;

always

begin

Y = (1/2 * X) +

(1/2 * Xn);

Xn = X;

end

endmodule

Two-Tap Moving-Average Filter:

Chemical Design:

Filter

Two-Tap Moving-Average Filter:

Biquad versatile infinite-impulse responses filter:

Biquad versatile infinite-impulse responses filter:

k1

+

k2

+

k3

+

- Its rate.
- The quantities of its reactants.

The probability that a given reaction is the next to fire is proportional to:

See D. Gillespie, “Stochastic Chemical Kinetics”, 2006.

Biochemical

Reactions

inputs

computation

outputs

Molecular Triggers

Molecular Products

How can we control the quantity of molecular product at the populational level?

Engineer a probabilistic response in each cell.

product

with Prob.0.3

trigger

product

with Prob.0.7

Obtain a fractional response.

X

Biochemical

Reactions

Y

é

ù

X

Z

with

Pr

ê

ú

+

X

Y

ë

û

[stochastic] Biological Computation

fixed

Synthesize a design for a precise, robust, programmable probability distribution on outcomes – for arbitrary types and reactions.

Computational Chemical Design

vis-a-vis

Technology-Independent Logic Synthesis

Experimental Design

vis-a-vis

Technology Mapping in Circuit Design

- Implement design by selecting specific types and reactions – say from “toolkit”.

X1

X2

+

X3

Erik Winfree’s group at Caltech: “DNA as a Universal Substrate for Chemical Kinetics.”

Methods and CAD tools for generating nearly rate independent biochemical netlists for: nearly any memoryless function (e.g., curve-fitting).

Discussion

Where are we?

- Methods for generating any register-to-register computation (e.g., DSP functions).

Where are we headed?

- A technology-independent biochemical CPU.

Support

MARCO (SRC/DoD) Contract 2003-NT-1107

CAREER Award 0845650

Biomedical Informatics & Computational BiologyUMN / Mayo Clinic / IBM

Blue Gene DevelopmentGroup. Rochester, MN

R1

R2

R3

Playing by the Rules

Stochastic Chemical Kinetics

The probability that a given reaction is the next to fire is proportional to:

- Its rate.
- The number of ways that the reactants can combine.

SeeDan Gillespie,

- “Exact Stochastic Simulation of Coupled Chemical Reactions,”1977.
- “Stochastic Chemical Kinetics,” 2006.

R1

R2

R3

S1 = [5, 5, 5] 0

Ri

Choose the next reaction according to:

where

R1

R2

R3

Stochastic Simulation Algorithm (SSA)

S1 = [5, 5, 5] 0

Ri

Choose the time of the next reaction according to:

Stochastic Simulation Algorithm (SSA)

S1 = [5, 5, 5] 0

Choose R3 and t = 3 seconds.

R1

R2

R3

S2 = [4, 7, 4]

3

Choose R1 and t = 1 seconds.

S3 = [2, 6, 7] 4

Choose R3 and t = 2 seconds.

S4 = [1, 8, 6] 6

Choose R2 and t = 1 seconds.

Stochastic Simulation Algorithm (SSA)

S1 = [5, 5, 5] 0

Choose R3 and t = 3 seconds.

S2 = [4, 7, 4]

3

7

Choose R1 and t = 1 seconds.

S3 = [2, 6, 7] 4

Choose R3 and t = 2 seconds.

S4 = [1, 8, 6] 6

Choose R2 and t = 1 seconds.