Writing and compiling code into biochemistry
This presentation is the property of its rightful owner.
Sponsored Links
1 / 53

Writing and Compiling Code into Biochemistry PowerPoint PPT Presentation


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

Writing and Compiling Code into Biochemistry. Marc Riedel. Assistant Professor, Electrical and Computer Engineering Graduate Faculty, Biomedical Informatics and Computational Biology University of Minnesota. PSB ─ Kona, Hawaii, Jan. 7, 2010. Acknowledgements. Keshab Parhi

Download Presentation

Writing and Compiling Code into Biochemistry

An Image/Link below is provided (as is) to download presentation

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 - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Writing and compiling code into biochemistry

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


Writing and compiling code into biochemistry

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


Who is this guy

Acknowledgements

Who is this guy?

  • 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”


Who is this guy1

Who is this guy?

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”


Who is this guy2

What’s in his gut?

Who is this guy?

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”


Writing and compiling code into biochemistry

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!


Writing and compiling code into biochemistry

We should put these critters to work…

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


Synthetic biology

Synthetic Biology

  • 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 …


Biochemistry in a nutshell

Biochemistry in a Nutshell

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”.


Writing and compiling code into biochemistry

+

2a

c

b

+

Playing by the Rules

Biochemical Reactions: how types of molecules combine.


Biochemical reactions

Biochemical Reactions

+

cell

proteins

count

9

8

6

5

7

9

Discrete chemical kinetics; spatial homogeneity.


Biochemical reactions1

Biochemical Reactions

+

+

+

Relative rates or (reaction propensities):

slow

medium

fast

Discrete chemical kinetics; spatial homogeneity.


Writing and compiling code into biochemistry

Protein-ProteinChemistry

y

[computational]Biochemistry

Biochemical[computation]

x

z

quantity

quantities


Multiplication

Multiplication

pseudo-code

biochemical code


Exponentiation

Exponentiation

pseudo-code

biochemical code


Raising to a power

Raising-to-a-Power

pseudo-code

biochemical code


Writing and compiling code into biochemistry

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


Module locking

Module Locking

slow

slow

slow

+

slow

Sequentialize computation

with only two rates:

“fast” and “slow”.

slow

+

+

fast

+


Writing and compiling code into biochemistry

Example: Multiplication

Lock phases or modules with keys.

Keys are generated by keysmiths; but indicators consume keysmiths.


Writing and compiling code into biochemistry

Key Generation

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


Design automation for

Logic

Synthesis

SPICE

Register Level Design

Integrated Circuits

Design Automation for

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


Design automation for1

Logic

Synthesis

SPICE

Register Level Design

Verilog

Elements of

Register-basedBiochemical computation

Brian’s Automated ModularBiochemical Instantiator

Biochemistry

Integrated Circuits

Design Automation for

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”


Example fir filter

Example: FIR Filter

Two-Tap Moving-Average Filter:

X

1/α=

1/β=

Y


Example fir filter1

Example: FIR Filter

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


Example fir filter2

Example: FIR Filter

module MA(X, Y);

input X;

output Y;

reg Xn;

always

begin

Y = (1/2 * X) +

(1/2 * Xn);

Xn = X;

end

endmodule


Example fir filter3

Example: FIR Filter

module MA(X, Y);

input X;

output Y;

reg Xn;

always

begin

Y = (1/2 * X) +

(1/2 * Xn);

Xn = X;

end

endmodule


Example fir filter4

Example: FIR Filter

module MA(X, Y);

input X;

output Y;

reg Xn;

always

begin

Y = (1/2 * X) +

(1/2 * Xn);

Xn = X;

end

endmodule


Example fir filter5

Example: FIR Filter

module MA(X, Y);

input X;

output Y;

reg Xn;

always

begin

Y = (1/2 * X) +

(1/2 * Xn);

Xn = X;

end

endmodule


Example fir filter6

Example: FIR Filter

module MA(X, Y);

input X;

output Y;

reg Xn;

always

begin

Y = (1/2 * X) +

(1/2 * Xn);

Xn = X;

end

endmodule


Example fir filter7

Example: FIR Filter

module MA(X, Y);

input X;

output Y;

reg Xn;

always

begin

Y = (1/2 * X) +

(1/2 * Xn);

Xn = X;

end

endmodule


Example fir filter8

Example: FIR Filter

Two-Tap Moving-Average Filter:

Chemical Design:

Filter


Example fir filter9

Example: FIR Filter

Two-Tap Moving-Average Filter:


Example iir filter

Example: IIR Filter

Biquad versatile infinite-impulse responses filter:


Example iir filter1

Example: IIR Filter

Biquad versatile infinite-impulse responses filter:


Example iir filter2

Example: IIR Filter


Example iir filter3

Example: IIR Filter


Example iir filter4

Example: IIR Filter


Stochastic kinetics

k1

+

k2

+

k3

+

Stochastic Kinetics

  • 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.


It s not a bug it s a feature

It’s not a bug, it’s a feature.


Synthesizing biological computation

Biochemical

Reactions

Synthesizing Biological Computation

inputs

computation

outputs

Molecular Triggers

Molecular Products


Biological computation at the populational level

Biological Computation at the Populational Level

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


Synthesizing stochasticity

Synthesizing Stochasticity

Engineer a probabilistic response in each cell.

product

with Prob.0.3

trigger

product

with Prob.0.7


Biological computation at the populational level1

Biological Computation at the Populational Level

Obtain a fractional response.


Writing and compiling code into biochemistry

X

Biochemical

Reactions

Y

é

ù

X

Z

with

Pr

ê

ú

+

X

Y

ë

û

[stochastic] Biological Computation

fixed


Discussion

Discussion

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”.


Dna strand displacement

DNA Strand Displacement

X1

X2

+

X3

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


Writing and compiling code into biochemistry

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.


Writing and compiling code into biochemistry

Support

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

CAREER Award 0845650

Biomedical Informatics & Computational BiologyUMN / Mayo Clinic / IBM

Blue Gene DevelopmentGroup. Rochester, MN


Writing and compiling code into biochemistry

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.


Stochastic simulation algorithm ssa

Stochastic Simulation Algorithm (SSA)

R1

R2

R3

S1 = [5, 5, 5] 0

Ri

Choose the next reaction according to:

where


Writing and compiling code into biochemistry

R1

R2

R3

Stochastic Simulation Algorithm (SSA)

S1 = [5, 5, 5] 0

Ri

Choose the time of the next reaction according to:


Writing and compiling code into biochemistry

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.


Writing and compiling code into biochemistry

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.


  • Login