Tutorial on Molecular Computing M. Sakthi Balan ECOM Research Lab - - PowerPoint PPT Presentation

tutorial on molecular computing
SMART_READER_LITE
LIVE PREVIEW

Tutorial on Molecular Computing M. Sakthi Balan ECOM Research Lab - - PowerPoint PPT Presentation

Introduction DNA Computing Peptide Computing Remarks and Open Problems Tutorial on Molecular Computing M. Sakthi Balan ECOM Research Lab Education & Research Infosys Techologies Limited Bangalore Tutorial on Molecular Computing 1 / 80


slide-1
SLIDE 1

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Tutorial on Molecular Computing

  • M. Sakthi Balan

ECOM Research Lab Education & Research Infosys Techologies Limited Bangalore 1 / 80 Tutorial on Molecular Computing

slide-2
SLIDE 2

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Contents

1

Introduction Computing DNA strands Peptides and Antibodies

2

DNA Computing What is DNA Computing First papers on DNA Computing Theoretical Models

3

Peptide Computing As a Computational Model Solving SAT Problem Hamiltonian Path Problem Theoretical Models

4

Remarks and Open Problems

2 / 80 Tutorial on Molecular Computing

slide-3
SLIDE 3

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Contents

1

Introduction Computing DNA strands Peptides and Antibodies

2

DNA Computing What is DNA Computing First papers on DNA Computing Theoretical Models

3

Peptide Computing As a Computational Model Solving SAT Problem Hamiltonian Path Problem Theoretical Models

4

Remarks and Open Problems

2 / 80 Tutorial on Molecular Computing

slide-4
SLIDE 4

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Contents

1

Introduction Computing DNA strands Peptides and Antibodies

2

DNA Computing What is DNA Computing First papers on DNA Computing Theoretical Models

3

Peptide Computing As a Computational Model Solving SAT Problem Hamiltonian Path Problem Theoretical Models

4

Remarks and Open Problems

2 / 80 Tutorial on Molecular Computing

slide-5
SLIDE 5

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Contents

1

Introduction Computing DNA strands Peptides and Antibodies

2

DNA Computing What is DNA Computing First papers on DNA Computing Theoretical Models

3

Peptide Computing As a Computational Model Solving SAT Problem Hamiltonian Path Problem Theoretical Models

4

Remarks and Open Problems

2 / 80 Tutorial on Molecular Computing

slide-6
SLIDE 6

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Outline

1

Introduction Computing DNA strands Peptides and Antibodies

2

DNA Computing What is DNA Computing First papers on DNA Computing Theoretical Models

3

Peptide Computing As a Computational Model Solving SAT Problem Hamiltonian Path Problem Theoretical Models

4

Remarks and Open Problems

3 / 80 Tutorial on Molecular Computing

slide-7
SLIDE 7

Introduction DNA Computing Peptide Computing Remarks and Open Problems

  • 4 / 80

Tutorial on Molecular Computing

slide-8
SLIDE 8

Introduction DNA Computing Peptide Computing Remarks and Open Problems

  • 4 / 80

Tutorial on Molecular Computing

slide-9
SLIDE 9

Introduction DNA Computing Peptide Computing Remarks and Open Problems

  • 4 / 80

Tutorial on Molecular Computing

slide-10
SLIDE 10

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Computing...

What is computing... Turing model:

Finite number of symbols. Finite number of state of the system. Transition of the system. Head reading finite number of symbols at a time. An infinite tape to (re)write.

5 / 80 Tutorial on Molecular Computing

slide-11
SLIDE 11

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Silicon Computers

Facts

Computes “fast”, Stores huge amount

  • f data,

Retrieves data fast, Communicates fast.

Limits

Problems that have no efficient algorithms - Is NP=P? is still

  • pen.

Physical limits in terms of speed. Deterministic and sequential machines. Lack of machines that can do intellectual work on our behalf. Security, fault-tolerance – attacks, faults are pre-defined.

6 / 80 Tutorial on Molecular Computing

slide-12
SLIDE 12

Introduction DNA Computing Peptide Computing Remarks and Open Problems

From Computing with Cells and Atoms by Cristian S. Calude and Gh. P˘ aun ...It seems that progress in electronic hardware (and the corresponding software engineering) is not enough; for instance, the miniaturization is approaching the quantum boundary, where physical processes obey laws based on probabilities and non-determinism, something almost completely absent in the operation of classical computers. So, new breakthrough is needed...

7 / 80 Tutorial on Molecular Computing

slide-13
SLIDE 13

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Natural Computing

Bio

DNA hybridization Immune reaction

Others

Quantum mechanical phenomena Reaction-diffusion process

8 / 80 Tutorial on Molecular Computing

slide-14
SLIDE 14

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Outline

1

Introduction Computing DNA strands Peptides and Antibodies

2

DNA Computing What is DNA Computing First papers on DNA Computing Theoretical Models

3

Peptide Computing As a Computational Model Solving SAT Problem Hamiltonian Path Problem Theoretical Models

4

Remarks and Open Problems

9 / 80 Tutorial on Molecular Computing

slide-15
SLIDE 15

Introduction DNA Computing Peptide Computing Remarks and Open Problems

DNA Strands

DNA consists of polymer chains – DNA strands. Chain consists of nucleotides that differ only in their bases. There are four bases: A (adenine), G (guanine), C (cytosine) and T (Thymine). Double-helical structure is formed through bonding of two strands. A always bonds with T and G with C.

10 / 80 Tutorial on Molecular Computing

slide-16
SLIDE 16

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Operations on DNA

The length of a DNA strand can be measured using gel electrophoresis. A known DNA strand can be fished in a solution containing many DNA strands using a filtering method. A double stranded DNA can be denatured into two single strands by heating. Two DNA strands can be hybridized into a single double stranded DNA molecule (DNA strands bind together respecting the Watson-Crick complementary property).

11 / 80 Tutorial on Molecular Computing

slide-17
SLIDE 17

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Operations on DNA

A class of enzymes called polymerases can lengthen a partially double stranded to make it as a complete double stranded molecule. Enzymes called restriction endonucleases cut DNA strands at the specific site where a specific sequence of nucleotides are present. Enzymes ligases can paste two DNA strands with overhanging ends provided those ends are Watson-Crick complementary of each other. This process is called ligation. Specific set of DNA sequences can be multiplied using a polymerase chain reaction. The exact sequence in the DNA strand can be found out by polymerase action on the strand. This process is called sequencing.

12 / 80 Tutorial on Molecular Computing

slide-18
SLIDE 18

Introduction DNA Computing Peptide Computing Remarks and Open Problems

DNA Strands

  • TATAGCCGCTCGATTACGGC

GCTAATGCCG CGGCGCGTAT

Two sticky ends

  • 13 / 80

Tutorial on Molecular Computing

slide-19
SLIDE 19

Introduction DNA Computing Peptide Computing Remarks and Open Problems

DNA Strands

  • TATAGCCGCTCGATTACGGC

GCTAATGCCG CGGCGCGTAT

Two sticky ends

  • TATAGCCGCTCGATTACGGC

GCTAATGCCG

One sticky end

  • TATAGCCGCTCGATTACGGC

GCTAATGCCG CGGCGCGTAT

Two sticky ends

  • 13 / 80

Tutorial on Molecular Computing

slide-20
SLIDE 20

Introduction DNA Computing Peptide Computing Remarks and Open Problems

DNA Strands

  • TATAGCCGCTCGATTACGGC

GCTAATGCCG CGGCGCGTAT

Two sticky ends

  • TATAGCCGCTCGATTACGGC

GCTAATGCCG

One sticky end

  • TATAGCCGCTCGATTACGGC

GCTAATGCCG CGGCGCGTAT

Two sticky ends

  • TATAGCCGCTCGATTACGGC

GCTAATGCCG CGGCGCGTAT

Two sticky ends

GCCGCGCATATACGATGTAT

  • TATAGCCGCTCGATTACGGC

GCTAATGCCG

One sticky end

  • TATAGCCGCTCGATTACGGC

GCTAATGCCG CGGCGCGTAT

Two sticky ends

  • 13 / 80

Tutorial on Molecular Computing

slide-21
SLIDE 21

Introduction DNA Computing Peptide Computing Remarks and Open Problems

DNA Strands

  • TATAGCCGCTCGATTACGGC

GCTAATGCCG CGGCGCGTAT

Two sticky ends

  • TATAGCCGCTCGATTACGGC

GCTAATGCCG

One sticky end

  • TATAGCCGCTCGATTACGGC

GCTAATGCCG CGGCGCGTAT

Two sticky ends

  • TATAGCCGCTCGATTACGGC

GCTAATGCCG CGGCGCGTAT

Two sticky ends

GCCGCGCATATACGATGTAT

  • TATAGCCGCTCGATTACGGC

GCTAATGCCG

One sticky end

  • TATAGCCGCTCGATTACGGC

GCTAATGCCG CGGCGCGTAT

Two sticky ends

  • GCCGCGCATATACGATGTAT

Single strand

  • TATAGCCGCTCGATTACGGC

GCTAATGCCG CGGCGCGTAT

Two sticky ends

GCCGCGCATATACGATGTAT

  • TATAGCCGCTCGATTACGGC

GCTAATGCCG

One sticky end

  • TATAGCCGCTCGATTACGGC

GCTAATGCCG CGGCGCGTAT

Two sticky ends

13 / 80 Tutorial on Molecular Computing

slide-22
SLIDE 22

Introduction DNA Computing Peptide Computing Remarks and Open Problems

About complementarity

Watson-Crick complementarity is given by nature. Without complementarity it will be many-many relations which will be quite uninteresting. Note that on the condition that the bases are complementary in nature the two strands bind – hence in the perspective of computation we can view it as in vitro the hybridization takes place on some condition D being satisfied.

this gives the notion of computing. this also resembles the transition function of a Turing machine. this can be exploited at least for in vitro experiments.

14 / 80 Tutorial on Molecular Computing

slide-23
SLIDE 23

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Outline

1

Introduction Computing DNA strands Peptides and Antibodies

2

DNA Computing What is DNA Computing First papers on DNA Computing Theoretical Models

3

Peptide Computing As a Computational Model Solving SAT Problem Hamiltonian Path Problem Theoretical Models

4

Remarks and Open Problems

15 / 80 Tutorial on Molecular Computing

slide-24
SLIDE 24

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Peptides and Antibodies

Peptides – short proteins – sequence over 20 basic amino acids. Interactions between peptides and antibodies – Immune reactions. Antibodies recognize specific sequence in peptides – epitopes. Affinity power of antibodies presents an option to remove and attach antibodies – resembles a rewriting system Figure: Antibody-antigen binding

16 / 80 Tutorial on Molecular Computing

slide-25
SLIDE 25

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Epitopes Peptide sequence

17 / 80 Tutorial on Molecular Computing

slide-26
SLIDE 26

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Epitopes Peptide sequence

Peptide sequence with antibodies

B A Epitopes Peptide sequence

17 / 80 Tutorial on Molecular Computing

slide-27
SLIDE 27

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Epitopes Peptide sequence

Peptide sequence with antibodies

B A Epitopes Peptide sequence C

Peptide sequence with antibodies

B Epitopes Peptide sequence

17 / 80 Tutorial on Molecular Computing

slide-28
SLIDE 28

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Epitopes Peptide sequence

Peptide sequence with antibodies

B A Epitopes Peptide sequence C

Peptide sequence with antibodies

B Epitopes Peptide sequence C

Peptide sequence with antibodies

B Epitopes Peptide sequence

17 / 80 Tutorial on Molecular Computing

slide-29
SLIDE 29

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Peptides and Antibodies

Epitopes for different antibodies or same antibody can overlap. There is a power called affinity associated with the binding of antibodies to its epitopes. One antibody can have more than one epitope to bind with. There can be many antibodies that bind to a single or

  • verlapping epitopes.

18 / 80 Tutorial on Molecular Computing

slide-30
SLIDE 30

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Molecular Computing

Interactions between molecules as a computing model.

DNA hybridization, DNA splicing, Binding of antibodies to epitopes and so on.

Massively parallel and non-deterministic.

Multiple copies of molecules – multiset.

Has the potential to solve hard problems easily.

Brute force in a massively parallel way.

Energy efficient.

19 / 80 Tutorial on Molecular Computing

slide-31
SLIDE 31

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Outline

1

Introduction Computing DNA strands Peptides and Antibodies

2

DNA Computing What is DNA Computing First papers on DNA Computing Theoretical Models

3

Peptide Computing As a Computational Model Solving SAT Problem Hamiltonian Path Problem Theoretical Models

4

Remarks and Open Problems

20 / 80 Tutorial on Molecular Computing

slide-32
SLIDE 32

Introduction DNA Computing Peptide Computing Remarks and Open Problems

DNA Computing

Uses DNA strands and the interactions between strands as

  • perations.

Interactions are DNA hybridization, splicing and so on. Note that we will be having multiple copies of each strands so many things happen at the same time. Hence it is massively parallel and highly non-deterministic.

21 / 80 Tutorial on Molecular Computing

slide-33
SLIDE 33

Introduction DNA Computing Peptide Computing Remarks and Open Problems

DNA hybridization

DNA splicing resembles a rewriting process. Cutting of two DNA strands at specific sites and making fragments of DNA. If the sticky ends of the fragments

  • f DNA are complementary in

nature then they recombine to form new DNA strands. Note that there will be several copies of DNA strands floating around – Parallel and non-deterministic.

22 / 80 Tutorial on Molecular Computing

slide-34
SLIDE 34

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Recombinant DNA

23 / 80 Tutorial on Molecular Computing

slide-35
SLIDE 35

Introduction DNA Computing Peptide Computing Remarks and Open Problems

DNA Computing

Prepare specific DNA strands according to the problem. Allow them to hybridize and form various strands that denotes all possible solutions of the problem. Explore those DNA strands and eliminate the strands that will not lead to solution. At the end of final elimination step if we find a strand then that will be the solution for the problem. Adleman’s experiment in 1994 (Science) to find Hamiltonian path of the given instance of a graph.

24 / 80 Tutorial on Molecular Computing

slide-36
SLIDE 36

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Outline

1

Introduction Computing DNA strands Peptides and Antibodies

2

DNA Computing What is DNA Computing First papers on DNA Computing Theoretical Models

3

Peptide Computing As a Computational Model Solving SAT Problem Hamiltonian Path Problem Theoretical Models

4

Remarks and Open Problems

25 / 80 Tutorial on Molecular Computing

slide-37
SLIDE 37

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Tom Heads’ work

Tom Head in 1987 gave a mathematical model for the recombinant behavior of DNAs by defining Splicing systems.

His work combined Formal language theory and Molecular biology. He treated a DNA strand as a linear string or word over 4 alphabet [A/T], [C/G], [G/C] and [T/A]. His definition of splicing system resembles the recombinant behavior of DNA. His study was aimed at the analysis of the generative capacity of these type of systems.

26 / 80 Tutorial on Molecular Computing

slide-38
SLIDE 38

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Adleman’s’ Experiment

Adleman in 1994 took an instance of a graph and using DNA strands and DNA hybridization solved the Hamiltonian path problem in the wetlab. Basic idea in this work was elimination method. Using inherent parallelism in the model explore all the possible paths and eliminate those not satisfying the conditions for a Hamiltonian path.

27 / 80 Tutorial on Molecular Computing

slide-39
SLIDE 39

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Adleman’s’ Experiment

Problem statement The Hamiltonian path problem (HPP) is stated as follows: Input: A directed graph G with n vertices, among which vin and vout are designated vertices. Output: Yes if any path remains, No otherwise.

28 / 80 Tutorial on Molecular Computing

slide-40
SLIDE 40

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Adleman’s’ Experiment

Non-deterministic algorithm:

1

Random paths in G are generated in large quantities.

2

Paths that do not begin with vin and end in vout are eliminated.

3

All paths that do not involve exactly n vertices are rejected.

4

Keep only those paths where all n vertices are represented.

29 / 80 Tutorial on Molecular Computing

slide-41
SLIDE 41

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Adleman’s’ Experiment

Preprocessing steps:

Specific DNA strands are selected for each vertices. For each vertex i associate a random 20-mer sequence, say si. For each edge eij from vertex i to vertex j choose a 20-mer sequence sij where

If the vertex is not a start or end vertex then the prefix consists of 10-mer suffix of si and 10-mer prefix of sj. If the vertex is a start or end vertex then the sequence will be whole of si.

30 / 80 Tutorial on Molecular Computing

slide-42
SLIDE 42

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Figure: DNA strands for vertices Figure: DNA strand for edge Figure: After DNA hybridization

31 / 80 Tutorial on Molecular Computing

slide-43
SLIDE 43

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Adleman’s’ Experiment

Generating paths

For each vertex i, ¯ si and for each edge eij , the sequence sij are mixed and put in a soup.

The DNA sequence ¯ si serves as a splint to bring nucleotides associated with compatible edges together for ligation. At the end of this step we have generated all possible paths and much more in the graph.

32 / 80 Tutorial on Molecular Computing

slide-44
SLIDE 44

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Adleman’s’ Experiment

Generating paths

Next step is elimination:

Using filtering technique keep those sequences that start with vertices vin and vout. Check the length of the sequences to see if it has n vertices in it (it has to be of length 20 × n (In this case it has to be length 140-mer, since there are 7 vertices). Do a filtering method again to check if all n vertices are in the path..

If there are any DNA strands left in the soup then the answer is there is a Hamiltonian path in the graph or else there is no Hamiltonian path.

33 / 80 Tutorial on Molecular Computing

slide-45
SLIDE 45

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Outline

1

Introduction Computing DNA strands Peptides and Antibodies

2

DNA Computing What is DNA Computing First papers on DNA Computing Theoretical Models

3

Peptide Computing As a Computational Model Solving SAT Problem Hamiltonian Path Problem Theoretical Models

4

Remarks and Open Problems

34 / 80 Tutorial on Molecular Computing

slide-46
SLIDE 46

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Splicing system

Splicing system is also called as H-system. The generative capacity of H-system is studied with respect to the Chomskian hierarchy of languages. A splicing operation over two words is defined as follows: Let the splicing rule be given by (u1; u2; u3; u4) where uis are strings over a finite alphabet. The result of splicing x and y are z and w if and only if x = x1u1u2x2, y = y1u3u4y2 and z = x1u1u4y2, w = y1u3u2x2. The splicing system or H-system is a generative system that uses this splicing operation as a basic tool.

35 / 80 Tutorial on Molecular Computing

slide-47
SLIDE 47

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Definition

An extended H system is a quadruple γ = (V, T, A, R) where V is an alphabet, T ⊆ V, A ⊆ V ∗, and R ⊆ V ∗#V ∗$V ∗#V ∗ ; #, $ are special symbols not in V. V is the alphabet of, T is the terminal alphabet, A is the set of axioms, and R is the set of splicing rules; the symbols in T are called terminals and those in V − T are called nonterminals. For x, y, z, w ∈ V ∗ and r = u1#u2$u3#u4 in R we define (x, y) ⊢r (z, w) if and only if x = x1u1u2x2, y = y1u3u4y2 and z = x1u1u4y2, w = y1u3u2x2 for some x1, x2, y1, y2 ∈ V ∗

36 / 80 Tutorial on Molecular Computing

slide-48
SLIDE 48

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Definition

For an H system γ = (V, T, A, R) and for any language L ⊆ V ∗, we write σ(L) = {z ∈ V ∗ | (x, y) ⊢r (z, w) or (x, y) ⊢r (w, z), for some x, y ∈ L; and we define σ∗(L) =

  • i≥0

σi(L), where σ0(L) = L, sigmai+1(L) = σi(L) ∪ σ(σi(L)), for i ≥ 0. The language generated by the H system is defined by L(γ) = σ∗(A) ∩ T

37 / 80 Tutorial on Molecular Computing

slide-49
SLIDE 49

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Outline

1

Introduction Computing DNA strands Peptides and Antibodies

2

DNA Computing What is DNA Computing First papers on DNA Computing Theoretical Models

3

Peptide Computing As a Computational Model Solving SAT Problem Hamiltonian Path Problem Theoretical Models

4

Remarks and Open Problems

38 / 80 Tutorial on Molecular Computing

slide-50
SLIDE 50

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Peptide Computing

Proposed by H. Hug and R. Schuler [Hug,Schuler 2001]. Solve some difficult combinatorial problems.

Satisfiability problem. Hamiltonian path problem [M.S. Balan et al 2002].

Universally complete [M.S. Balan et al 2002].

39 / 80 Tutorial on Molecular Computing

slide-51
SLIDE 51

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Peptide Computing

Peptides are sequence over 20 basic amino acids. Interactions between peptides and antibodies is the basic

  • perations.

Antibodies recognizes a subsequence of a peptide, called epitopes, by binding to it. Binding of antibodies to epitopes has associated power called affinity. Higher priority to the antibody with larger affinity power. Affinity power of antibodies presents an option to remove and attach antibodies – resembles a rewriting system.

40 / 80 Tutorial on Molecular Computing

slide-52
SLIDE 52

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Computing Model

Form peptide sequences for each possible solution of the given problem – preprocessing step. Choose antibodies according to the current instance of the problem. Eliminate those sequences that will not lead to solutions. End of experiment – if the fluorescence is detected then a solution exist. Decipher the sequence to find the solution.

41 / 80 Tutorial on Molecular Computing

slide-53
SLIDE 53

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Outline

1

Introduction Computing DNA strands Peptides and Antibodies

2

DNA Computing What is DNA Computing First papers on DNA Computing Theoretical Models

3

Peptide Computing As a Computational Model Solving SAT Problem Hamiltonian Path Problem Theoretical Models

4

Remarks and Open Problems

42 / 80 Tutorial on Molecular Computing

slide-54
SLIDE 54

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Satisfiability Problem

Problem Let F be a formula over n variables. Does there exists an assignment of truth values to every variable in F such that F becomes true.

43 / 80 Tutorial on Molecular Computing

slide-55
SLIDE 55

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Satisfiability Problem

Let F be formula in conjunctive normal form There are n variables Find an assignment that makes F true There are 2n possible assignments

44 / 80 Tutorial on Molecular Computing

slide-56
SLIDE 56

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Satisfiability Problem

Formula F = (v1 ∨ ¬v2) ∧ ¬v2 ∧ (v1 ∨ v2) Possible Assignments Xi Xi(v1) Xi(v2) X1 false false X2 false true X3 true false X4 true true

45 / 80 Tutorial on Molecular Computing

slide-57
SLIDE 57

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Satisfiability Problem

Formula F = (v1 ∨ ¬v2) ∧ ¬v2 ∧ (v1 ∨ v2) Possible Assignments Xi Xi(v1) Xi(v2) X1 false false X2 false true X3 true false X4 true true

45 / 80 Tutorial on Molecular Computing

slide-58
SLIDE 58

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Satisfiability Problem

For each assignment prepare a peptide and different antibodies binding to overlapping epitopes Binding affinities are C > A > B

Single peptide

46 / 80 Tutorial on Molecular Computing

slide-59
SLIDE 59

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Satisfiability Problem

Prepare partial solutions G1, G2, · · · , Gk where Gi contains antibody A if Ci is true under corresponding assignment X G1 = {A1, A3, A4}, G2 = {A1, A3}, G3 = {A2, A3, A4}

47 / 80 Tutorial on Molecular Computing

slide-60
SLIDE 60

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Algorithm

1

Let m = k. While m > 0, repeat the following steps:

1

The antibody set Gm is added. The antibodies A of Gm bind to their epitopes.

2

Antibodies B are added. Antibodies B bind to all free binding sites for B.

3

Antibodies C are added. Antibody C binds to all of its epitopes, since it has the highest binding affinity. Note that all antibodies A

  • f set Gm are removed, whereas antibodies B remain bound to

their epitopes.

4

Antibodies C are removed by adding epitopes for C in excess.

5

All remaining antibodies are attached to their epitopes by adding linker.

6

Let m = m − 1.

2

Add labelled antibody A or B.

3

Detect whether there are labelled antibodies present.

48 / 80 Tutorial on Molecular Computing

slide-61
SLIDE 61

Introduction DNA Computing Peptide Computing Remarks and Open Problems 49 / 80 Tutorial on Molecular Computing

slide-62
SLIDE 62

Introduction DNA Computing Peptide Computing Remarks and Open Problems 50 / 80 Tutorial on Molecular Computing

slide-63
SLIDE 63

Introduction DNA Computing Peptide Computing Remarks and Open Problems 51 / 80 Tutorial on Molecular Computing

slide-64
SLIDE 64

Introduction DNA Computing Peptide Computing Remarks and Open Problems 52 / 80 Tutorial on Molecular Computing

slide-65
SLIDE 65

Introduction DNA Computing Peptide Computing Remarks and Open Problems 53 / 80 Tutorial on Molecular Computing

slide-66
SLIDE 66

Introduction DNA Computing Peptide Computing Remarks and Open Problems 54 / 80 Tutorial on Molecular Computing

slide-67
SLIDE 67

Introduction DNA Computing Peptide Computing Remarks and Open Problems 55 / 80 Tutorial on Molecular Computing

slide-68
SLIDE 68

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Outline

1

Introduction Computing DNA strands Peptides and Antibodies

2

DNA Computing What is DNA Computing First papers on DNA Computing Theoretical Models

3

Peptide Computing As a Computational Model Solving SAT Problem Hamiltonian Path Problem Theoretical Models

4

Remarks and Open Problems

56 / 80 Tutorial on Molecular Computing

slide-69
SLIDE 69

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Hamiltonian Path Problem

G = (V, E) is a directed graph; V = {v1, v2, · · · , vn} is the vertex set; E = {eij | vi is adjacent to vj} is the edge set v1 – source vertex and vn – end vertex. Problem: Test whether there exists a Hamiltonian path between v1 and vn.

57 / 80 Tutorial on Molecular Computing

slide-70
SLIDE 70

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Peptides Formation

Each vertex vi has a corresponding epitope epi, Each peptide has ep1 on one extreme and epn on the other extreme, Each peptide has a doubly duplicated permutation of ep2, · · · , epn−1 in between ep1 and epn.

58 / 80 Tutorial on Molecular Computing

slide-71
SLIDE 71

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Antibody Formation

Form antibodies Aij – site = epiepj if vj is adjacent to vi, Form antibodies Bij – site = epiepj if vj is not adjacent. to vi, Form antibody C – site is the whole of peptide, Affinity(Bij) > Affinity(C) Affinity(C) > Affinity(Aij)

59 / 80 Tutorial on Molecular Computing

slide-72
SLIDE 72

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Graph G

  • 1

2 3 5 6 4

  • 60 / 80

Tutorial on Molecular Computing

slide-73
SLIDE 73

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Graph G

  • 1

2 3 5 6 4

  • 1

2 3 5 6 4

60 / 80 Tutorial on Molecular Computing

slide-74
SLIDE 74

Introduction DNA Computing Peptide Computing Remarks and Open Problems 61 / 80 Tutorial on Molecular Computing

slide-75
SLIDE 75

Introduction DNA Computing Peptide Computing Remarks and Open Problems 62 / 80 Tutorial on Molecular Computing

slide-76
SLIDE 76

Introduction DNA Computing Peptide Computing Remarks and Open Problems 63 / 80 Tutorial on Molecular Computing

slide-77
SLIDE 77

Introduction DNA Computing Peptide Computing Remarks and Open Problems 64 / 80 Tutorial on Molecular Computing

slide-78
SLIDE 78

Introduction DNA Computing Peptide Computing Remarks and Open Problems 65 / 80 Tutorial on Molecular Computing

slide-79
SLIDE 79

Introduction DNA Computing Peptide Computing Remarks and Open Problems 66 / 80 Tutorial on Molecular Computing

slide-80
SLIDE 80

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Complexity

Number of peptides = (n − 2)! Length of peptides = O(n) Number of antibodies = O(n2) Number of Bio-steps is constant

67 / 80 Tutorial on Molecular Computing

slide-81
SLIDE 81

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Outline

1

Introduction Computing DNA strands Peptides and Antibodies

2

DNA Computing What is DNA Computing First papers on DNA Computing Theoretical Models

3

Peptide Computing As a Computational Model Solving SAT Problem Hamiltonian Path Problem Theoretical Models

4

Remarks and Open Problems

68 / 80 Tutorial on Molecular Computing

slide-82
SLIDE 82

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Formal Model for Peptide Computing

Capabilities and limitations of this computing paradigm Computability implies peptide computability. Converse? If converse true, under what conditions?

69 / 80 Tutorial on Molecular Computing

slide-83
SLIDE 83

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Peptide Computer

Quintuple: P = (X, E, A, α, β)

X is a finite alphabet; E ⊆ X + is a language; A is a countable alphabet with A ∩ X ∗ = ∅; α ⊆ E × A is a relation; β : E × A → R+ is a mapping such that β(e, a) > 0 if and only if (e, a) ∈ α.

70 / 80 Tutorial on Molecular Computing

slide-84
SLIDE 84

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Peptide Computer

Quintuple: P = (X, E, A, α, β)

X is a finite alphabet; E ⊆ X + is a language; A is a countable alphabet with A ∩ X ∗ = ∅; α ⊆ E × A is a relation; β : E × A → R+ is a mapping such that β(e, a) > 0 if and only if (e, a) ∈ α.

70 / 80 Tutorial on Molecular Computing

slide-85
SLIDE 85

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Peptide Computer

Quintuple: P = (X, E, A, α, β)

X is a finite alphabet; E ⊆ X + is a language; A is a countable alphabet with A ∩ X ∗ = ∅; α ⊆ E × A is a relation; β : E × A → R+ is a mapping such that β(e, a) > 0 if and only if (e, a) ∈ α.

70 / 80 Tutorial on Molecular Computing

slide-86
SLIDE 86

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Peptide Computer

Quintuple: P = (X, E, A, α, β)

X is a finite alphabet; E ⊆ X + is a language; A is a countable alphabet with A ∩ X ∗ = ∅; α ⊆ E × A is a relation; β : E × A → R+ is a mapping such that β(e, a) > 0 if and only if (e, a) ∈ α.

70 / 80 Tutorial on Molecular Computing

slide-87
SLIDE 87

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Peptide Computer

Quintuple: P = (X, E, A, α, β)

X is a finite alphabet; E ⊆ X + is a language; A is a countable alphabet with A ∩ X ∗ = ∅; α ⊆ E × A is a relation; β : E × A → R+ is a mapping such that β(e, a) > 0 if and only if (e, a) ∈ α.

70 / 80 Tutorial on Molecular Computing

slide-88
SLIDE 88

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Peptide Computer

A-attachment: partial mapping τ from decomposition of w ∈ X ∗ with respect to E to A. z = wτ. If affinity of a is more in z we say it dominates. Reaction between words and symbols – if a dominates (i, j) in z then multiset R(z, a) is formed and τ → τ ′. Reaction between words – if a in z′ dominates some position in z.

71 / 80 Tutorial on Molecular Computing

slide-89
SLIDE 89

Introduction DNA Computing Peptide Computing Remarks and Open Problems

About reactions

Reactions occur when instability occurs:

a dominates (i, j) in z. a in z′ dominates (i, j) in z.

One basic reaction can trigger a sequence of reactions.

72 / 80 Tutorial on Molecular Computing

slide-90
SLIDE 90

Introduction DNA Computing Peptide Computing Remarks and Open Problems

About reactions

Reactions occur when instability occurs:

a dominates (i, j) in z. a in z′ dominates (i, j) in z.

One basic reaction can trigger a sequence of reactions.

72 / 80 Tutorial on Molecular Computing

slide-91
SLIDE 91

Introduction DNA Computing Peptide Computing Remarks and Open Problems

About reactions

Reactions occur when instability occurs:

a dominates (i, j) in z. a in z′ dominates (i, j) in z.

One basic reaction can trigger a sequence of reactions.

72 / 80 Tutorial on Molecular Computing

slide-92
SLIDE 92

Introduction DNA Computing Peptide Computing Remarks and Open Problems

About reactions

Reactions occur when instability occurs:

a dominates (i, j) in z. a in z′ dominates (i, j) in z.

One basic reaction can trigger a sequence of reactions.

72 / 80 Tutorial on Molecular Computing

slide-93
SLIDE 93

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Definitions

Peptide configuration is a finite multiset of words in (X ∪ α)+ ∪ A. Peptide configuration P is said to be stable if R(P) = {P}. Peptide instruction has the form +P or −P where P is a peptide configuration. Peptide program is the one which controls the instruction set and the halting function. Peptide computation is a sequence of transition of stable configurations from c0, c1 · · · ci (with respect to the peptide program) where χ(ci) = 1 for the first time. A function f is peptide computable if we proper encoding and decoding together with a peptide program to carry out the computation.

73 / 80 Tutorial on Molecular Computing

slide-94
SLIDE 94

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Definitions

Peptide configuration is a finite multiset of words in (X ∪ α)+ ∪ A. Peptide configuration P is said to be stable if R(P) = {P}. Peptide instruction has the form +P or −P where P is a peptide configuration. Peptide program is the one which controls the instruction set and the halting function. Peptide computation is a sequence of transition of stable configurations from c0, c1 · · · ci (with respect to the peptide program) where χ(ci) = 1 for the first time. A function f is peptide computable if we proper encoding and decoding together with a peptide program to carry out the computation.

73 / 80 Tutorial on Molecular Computing

slide-95
SLIDE 95

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Definitions

Peptide configuration is a finite multiset of words in (X ∪ α)+ ∪ A. Peptide configuration P is said to be stable if R(P) = {P}. Peptide instruction has the form +P or −P where P is a peptide configuration. Peptide program is the one which controls the instruction set and the halting function. Peptide computation is a sequence of transition of stable configurations from c0, c1 · · · ci (with respect to the peptide program) where χ(ci) = 1 for the first time. A function f is peptide computable if we proper encoding and decoding together with a peptide program to carry out the computation.

73 / 80 Tutorial on Molecular Computing

slide-96
SLIDE 96

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Definitions

Peptide configuration is a finite multiset of words in (X ∪ α)+ ∪ A. Peptide configuration P is said to be stable if R(P) = {P}. Peptide instruction has the form +P or −P where P is a peptide configuration. Peptide program is the one which controls the instruction set and the halting function. Peptide computation is a sequence of transition of stable configurations from c0, c1 · · · ci (with respect to the peptide program) where χ(ci) = 1 for the first time. A function f is peptide computable if we proper encoding and decoding together with a peptide program to carry out the computation.

73 / 80 Tutorial on Molecular Computing

slide-97
SLIDE 97

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Definitions

Peptide configuration is a finite multiset of words in (X ∪ α)+ ∪ A. Peptide configuration P is said to be stable if R(P) = {P}. Peptide instruction has the form +P or −P where P is a peptide configuration. Peptide program is the one which controls the instruction set and the halting function. Peptide computation is a sequence of transition of stable configurations from c0, c1 · · · ci (with respect to the peptide program) where χ(ci) = 1 for the first time. A function f is peptide computable if we proper encoding and decoding together with a peptide program to carry out the computation.

73 / 80 Tutorial on Molecular Computing

slide-98
SLIDE 98

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Definitions

Peptide configuration is a finite multiset of words in (X ∪ α)+ ∪ A. Peptide configuration P is said to be stable if R(P) = {P}. Peptide instruction has the form +P or −P where P is a peptide configuration. Peptide program is the one which controls the instruction set and the halting function. Peptide computation is a sequence of transition of stable configurations from c0, c1 · · · ci (with respect to the peptide program) where χ(ci) = 1 for the first time. A function f is peptide computable if we proper encoding and decoding together with a peptide program to carry out the computation.

73 / 80 Tutorial on Molecular Computing

slide-99
SLIDE 99

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Sufficiency Condition

Peptide computer is simulated by a Turing machine if

1

E and A are (at least) computably enumerable

2

α is decidable

3

β and χ are computable

74 / 80 Tutorial on Molecular Computing

slide-100
SLIDE 100

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Other Models

Automaton Models inspired by Peptide Computing

Binding-Blocking Automata String Binding-Blocking Automata Rewriting Binding-Blocking Automata

Modelling gate operations and Boolean circuits Model to do binary addition in parallel

75 / 80 Tutorial on Molecular Computing

slide-101
SLIDE 101

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Other Models

Automaton Models inspired by Peptide Computing

Binding-Blocking Automata String Binding-Blocking Automata Rewriting Binding-Blocking Automata

Modelling gate operations and Boolean circuits Model to do binary addition in parallel

75 / 80 Tutorial on Molecular Computing

slide-102
SLIDE 102

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Other Models

Automaton Models inspired by Peptide Computing

Binding-Blocking Automata String Binding-Blocking Automata Rewriting Binding-Blocking Automata

Modelling gate operations and Boolean circuits Model to do binary addition in parallel

75 / 80 Tutorial on Molecular Computing

slide-103
SLIDE 103

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Solving Hard Problems

Problems

Existing methods encode all possible solutions, hence number

  • f molecules is exponential [Hartmanis 1995]

Preprocessing steps

76 / 80 Tutorial on Molecular Computing

slide-104
SLIDE 104

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Solving Hard Problems

Possible Solutions

Incremental (building) elimination of peptide sequence; compare with [M. Arita et al 1997] in DNA Computing.

Reduces number of peptide sequences Preprocessing steps are avoided but included as a part of algorithm Number of steps increases in the order of input size What kind of problems can be solved in this way? Will be an interesting problem to look into in Molecular computing as a whole

77 / 80 Tutorial on Molecular Computing

slide-105
SLIDE 105

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Do we have to change the computing paradigm for molecular computing to a series of partial encodings and processing before decoding?

78 / 80 Tutorial on Molecular Computing

slide-106
SLIDE 106

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Future Problems

Try solving a small instance of the Hamiltonian path problem in wetlab Extend that to basic operations Study how the theoretical model works out in wetlab Defining basic operations for peptide computing: using ideas from aqueous computing [Tom Head et al 2002] Conditions for a peptide computer where each step ends within a finite number of iterations Dynamic non-determinism in peptide computer

79 / 80 Tutorial on Molecular Computing

slide-107
SLIDE 107

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Future Problems

Try solving a small instance of the Hamiltonian path problem in wetlab Extend that to basic operations Study how the theoretical model works out in wetlab Defining basic operations for peptide computing: using ideas from aqueous computing [Tom Head et al 2002] Conditions for a peptide computer where each step ends within a finite number of iterations Dynamic non-determinism in peptide computer

79 / 80 Tutorial on Molecular Computing

slide-108
SLIDE 108

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Future Problems

Try solving a small instance of the Hamiltonian path problem in wetlab Extend that to basic operations Study how the theoretical model works out in wetlab Defining basic operations for peptide computing: using ideas from aqueous computing [Tom Head et al 2002] Conditions for a peptide computer where each step ends within a finite number of iterations Dynamic non-determinism in peptide computer

79 / 80 Tutorial on Molecular Computing

slide-109
SLIDE 109

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Future Problems

Try solving a small instance of the Hamiltonian path problem in wetlab Extend that to basic operations Study how the theoretical model works out in wetlab Defining basic operations for peptide computing: using ideas from aqueous computing [Tom Head et al 2002] Conditions for a peptide computer where each step ends within a finite number of iterations Dynamic non-determinism in peptide computer

79 / 80 Tutorial on Molecular Computing

slide-110
SLIDE 110

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Future Problems

Try solving a small instance of the Hamiltonian path problem in wetlab Extend that to basic operations Study how the theoretical model works out in wetlab Defining basic operations for peptide computing: using ideas from aqueous computing [Tom Head et al 2002] Conditions for a peptide computer where each step ends within a finite number of iterations Dynamic non-determinism in peptide computer

79 / 80 Tutorial on Molecular Computing

slide-111
SLIDE 111

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Future Problems

Try solving a small instance of the Hamiltonian path problem in wetlab Extend that to basic operations Study how the theoretical model works out in wetlab Defining basic operations for peptide computing: using ideas from aqueous computing [Tom Head et al 2002] Conditions for a peptide computer where each step ends within a finite number of iterations Dynamic non-determinism in peptide computer

79 / 80 Tutorial on Molecular Computing

slide-112
SLIDE 112

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Future Problems

On Immunity-based Systems[Ishida 2004] and Peptide Computing Immunity-based System Peptide Computing Information processing Computational model Self-nonself distinguishing Self-nonself model Survival is the main concern Computing is the main concern Study about common area between these two fields

80 / 80 Tutorial on Molecular Computing