45
Solving Edge-Matching Puzzles Using DNA Computing Mohammed AlShamrani Department of Computer Science Concordia University March 23, 2011

Solving Edge-Matching Puzzles Using DNA Computing

  • Upload
    hallam

  • View
    43

  • Download
    0

Embed Size (px)

DESCRIPTION

Solving Edge-Matching Puzzles Using DNA Computing. Mohammed AlShamrani Department of Computer Science Concordia University March 23, 2011. Solving Edge-Matching Puzzles Using DNA Computing. 1. Solving Edge-Matching Puzzles Using DNA Computing. 1. 2. - PowerPoint PPT Presentation

Citation preview

Page 1: Solving Edge-Matching Puzzles Using DNA Computing

Solving Edge-Matching Puzzles Using DNA Computing

Mohammed AlShamraniDepartment of Computer Science

Concordia University

March 23, 2011

Page 2: Solving Edge-Matching Puzzles Using DNA Computing

Solving Edge-Matching Puzzles Using DNA Computing

1

Page 3: Solving Edge-Matching Puzzles Using DNA Computing

Solving Edge-Matching Puzzles Using DNA Computing

1

2

Page 4: Solving Edge-Matching Puzzles Using DNA Computing

Solving Edge-Matching Puzzles Using DNA Computing

1

23

Page 5: Solving Edge-Matching Puzzles Using DNA Computing

Solving Edge-Matching Puzzles Using DNA Computing

1

23

4

Page 6: Solving Edge-Matching Puzzles Using DNA Computing

Solving Edge-Matching Puzzles Using DNA Computing

Page 7: Solving Edge-Matching Puzzles Using DNA Computing

Solving Edge-Matching Puzzles Using DNA Computing

Page 8: Solving Edge-Matching Puzzles Using DNA Computing

Solving Edge-Matching Puzzles Using DNA Computing

Page 9: Solving Edge-Matching Puzzles Using DNA Computing

Solving Edge-Matching Puzzles Using DNA Computing

Phosphate

Sugar (deoxyribose )

Hydrogen bonds

Page 10: Solving Edge-Matching Puzzles Using DNA Computing

Solving Edge-Matching Puzzles Using DNA Computing

5’-GACACTCACTGTCA-3’3’-CTGTGAGTGACAGT-5’=

Page 11: Solving Edge-Matching Puzzles Using DNA Computing

5’-CCAAGTTGATTGAGAA

Solving Edge-Matching Puzzles Using DNA Computing

5’-TAACTCT T T T CTCAAT-3’

1. SynthesisWhat we can do with DNA …

2. Hybridization

pH

AAGAGTTATATGGGCT-3’

3. Ligation

4. Replication (PCR)

……………..Exponential Growth

Page 12: Solving Edge-Matching Puzzles Using DNA Computing

Solving Edge-Matching Puzzles Using DNA Computing

1 copy

2 copies

4 copies8 copies

Sd

Sd

Sd

Jj

Page 13: Solving Edge-Matching Puzzles Using DNA Computing

Solving Edge-Matching Puzzles Using DNA Computing

DNA Computing is new perspective

If DNA strands are made to represent objects/relations, then new knowledge can result from the application of these operations (synthesis, hyb., ligation, PCR, etc).

This is DNA Computing.

Page 14: Solving Edge-Matching Puzzles Using DNA Computing

Solving Edge-Matching Puzzles Using DNA Computing

Example: Six degrees of Separation

• The claim is that any two people in the world are connected, on average, by 6

people who are connected by the “is-a-friend-of” relation.

• So you are a friend of X1 who is a friend of X2 … who is a friend of X6 who is a

friend of Nelson Mandela.

Page 15: Solving Edge-Matching Puzzles Using DNA Computing

Solving Edge-Matching Puzzles Using DNA Computing

Example: Six degrees of Separation

• So you are a friend of X1 who is a friend of X2 … who is a friend of X6 who is a

friend of Nelson Mandela.5’-CCAAGTTGATTGAGAA AAGAGTTATATGGGCT-3’

5’-TAACTCTTTTCTCAAT-3’1. Synthesis2. Hybridization3. Ligation

Unit Computation

Page 16: Solving Edge-Matching Puzzles Using DNA Computing

Solving Edge-Matching Puzzles Using DNA Computing

Example: Six degrees of Separation

• So you are a friend of X1 who is a friend of X2 … who is a friend of X6 who is a

friend of Nelson Mandela.

1. Synthesis2. Hybridization3. Ligation

Post-Ligation Product4. Replication: Replicate sequences that begin with

“You” and end with “Nelson Mandela”

Page 17: Solving Edge-Matching Puzzles Using DNA Computing

Solving Edge-Matching Puzzles Using DNA Computing

Example: Six degrees of Separation

• So you are a friend of X1 who is a friend of X2 … who is a friend of X6 who is a

friend of Nelson Mandela.

1. Synthesis2. Hybridization3. Ligation4. Replication

Sequence encoding 6 people between you and Mandela

Post-Replication product: sequences of different lengths but all begin with you and end with Mandela

Page 18: Solving Edge-Matching Puzzles Using DNA Computing

Solving Edge-Matching Puzzles Using DNA Computing

Example: Six degrees of Separation

• So you are a friend of X1 who is a friend of X2 … who is a friend of X6 who is a

friend of Nelson Mandela.

1. Synthesis2. Hybridization3. Ligation4. Replication

Sequence encoding 6 people between you and Mandela

Post-Replication product: sequences of different lengths but all begin with you and end with Mandela

Page 19: Solving Edge-Matching Puzzles Using DNA Computing

Solving Edge-Matching Puzzles Using DNA Computing

Example: Six degrees of Separation

• So you are a friend of X1 who is a friend of X2 … who is a friend of X6 who is a

friend of Nelson Mandela.

1. Synthesis2. Hybridization3. Ligation4. Replication 5. Gel Electrophoresis

Your best chance of meeting Mandela

Reference ladder

Page 20: Solving Edge-Matching Puzzles Using DNA Computing

Solving Edge-Matching Puzzles Using DNA Computing

Challenge: pack a collection of square tiles on a square board such that:1) All abutting edges match in color2) All boundary edges are grey

10

13

8

16

4

9

2

7 5

15

6

3

12

1

11 14

13 81610

4 9 2 7

14 1 11 5

12 3 6 15

Page 21: Solving Edge-Matching Puzzles Using DNA Computing

Solving Edge-Matching Puzzles Using DNA Computing

Relevance:

Complexity: EMPs are NP-Complete

Turing-universality: 2-Dimensional growth of tiles can simulate the execution of any Turing machine.

Nanotechnology: Tiles can serve as definitional motifs for nano-technological constructions: given a desired 2D shape, what set of tiles (preferably minimal) can grow to that shape?

5 + 9 = 14

5 9 14

10

13

8

16

4

9

2

7 5

15

6

3

12

1

11 14

Page 22: Solving Edge-Matching Puzzles Using DNA Computing

Solving Edge-Matching Puzzles Using DNA Computing

To solve an EMP with DNA, we need to:

1. Define the problem 2. Formulate an algorithm 3. Implement a DNA lab protocol

Page 23: Solving Edge-Matching Puzzles Using DNA Computing

To solve an EMP with DNA, we need to:

2. Formulate an algorithm 3. Implement a DNA lab protocol1. Define the problem

Solving Edge-Matching Puzzles Using DNA Computing

Page 24: Solving Edge-Matching Puzzles Using DNA Computing

To solve an EMP with DNA, we need to:

2. Formulate an algorithm 3. Implement a DNA lab protocol1. Define the problem

Solving Edge-Matching Puzzles Using DNA Computing

h1 h2 h3

h4 h5

S0

h6 h7

h8 h9 h10 h11

h12 h13 h14 S15

12

13

S1 h2 h3

S4 h5

S0

h6 h7

h8 h9 h10 S11

h12 h13 S14 S15

12

13

3

14

7

8

S1 S2 h3

S4 S5

S0

h6 S7

S8 h9 S10 S11

h12 S13 S14 S15

12

13

3

14

7

816

6

1

4 2

5

S1 S2 S3

S4 S5

S0

S6 S7

S8 S9 S10 S11

S12 S13 S14 S15

12

13

3

14

7

816

6

1

4 2

5

15

11

9

10

Diagonal-wise tile stacking:

The algorithm succeeds if it makes a series of correct choices: at each step, find diagonal sets of tiles that can fit legally.

Page 25: Solving Edge-Matching Puzzles Using DNA Computing

To solve an EMP with DNA, we need to:

2. Formulate an algorithm 3. Implement a DNA lab protocol1. Define the problem

Solving Edge-Matching Puzzles Using DNA Computing

h1 h2 h3

h4 h5

S0

h6 h7

h8 h9 h10 h11

h12 h13 h14 S15

12

13

S1 h2 h3

S4 h5

S0

h6 h7

h8 h9 h10 S11

h12 h13 S14 S15

12

13

3

14

7

8

S1 S2 h3

S4 S5

S0

h6 S7

S8 h9 S10 S11

h12 S13 S14 S15

12

13

3

14

7

816

6

1

4 2

5

S1 S2 S3

S4 S5

S0

S6 S7

S8 S9 S10 S11

S12 S13 S14 S15

12

13

3

14

7

816

6

1

4 2

5

15

11

9

10

Diagonal-wise tile stacking:

But couldn’t there be more than “correct” choice at each step? Yes: non-determinism.

S1 S2

S4 h5

S0

h6 h7

h8 h9 h10 S11

h13 S14 S15

12

14

8 16

13 3

7

h12

h3S1 S2 h3

S4 S5

S0

h6 S7

S8 h9 S10 S11

h12 S13 S14 S15

12

14

4

2

8 16

13

7

3

5

1

6

S1 S2 h3

S4 S5

S0

h6 S7

S8 h9 S10 S11

h12 S13 S14 S15

12

14

4

2

8 16

13

7

3

5

1

6

NP-Complete

Page 26: Solving Edge-Matching Puzzles Using DNA Computing

2. Formulate an algorithm 3. Implement a DNA lab protocol1. Define the problem

Solving Edge-Matching Puzzles Using DNA Computing

Diagonal-wise tile stacking:

Observation: at any given step, only two edges of each tile are involved in constraint validation.

Page 27: Solving Edge-Matching Puzzles Using DNA Computing

2. Formulate an algorithm 3. Implement a DNA lab protocol1. Define the problem

Solving Edge-Matching Puzzles Using DNA Computing

Diagonal-wise tile stacking:

Observation: at any given step, only two edges of each tile are involved in constraint validation

Conceptually: a tile is the union of two half tiles.

Page 28: Solving Edge-Matching Puzzles Using DNA Computing

2. Formulate an algorithm 3. Implement a DNA lab protocol1. Define the problem

Solving Edge-Matching Puzzles Using DNA Computing

Diagonal-wise half-tile stacking:

Conceptually: a tile is the union of two half tiles.

h1 h2 h3

h4 h5

S0

h6 h7

h8 h9 h10 h11

h12 h13 h14 S15

12

13

S1 h2 h3

S4 h5

S0

h6 h7

h8 h9 h10 S11

h12 h13 S14 S15

12

13

3

14

7

8

S1 S2 h3

S4 S5

S0

h6 S7

S8 h9 S10 S11

h12 S13 S14 S15

12

13

3

14

7

816

6

1

4 2

5

S1 S2 S3

S4 S5

S0

S6 S7

S8 S9 S10 S11

S12 S13 S14 S15

12

13

3

14

7

816

6

1

4 2

5

15

11

9

10

The algorithm succeeds if it makes a series of correct choices: at each step, find diagonal sets of half-tiles that can fit perfectly.

Page 29: Solving Edge-Matching Puzzles Using DNA Computing

2. Formulate an algorithm 3. Implement a DNA lab protocol1. Define the problem

Solving Edge-Matching Puzzles Using DNA Computing

Diagonal-wise half-tile stacking:

2Tile dissection along the diagonals produces two pairs of half tiles

Pairs of half-tiles

Page 30: Solving Edge-Matching Puzzles Using DNA Computing

2. Formulate an algorithm 3. Implement a DNA lab protocol1. Define the problem

Solving Edge-Matching Puzzles Using DNA Computing

Diagonal-wise half-tile stacking: The union of a pair on the tiling grid reproduces the tile in one orientation

UUUU

Page 31: Solving Edge-Matching Puzzles Using DNA Computing

2. Formulate an algorithm 3. Implement a DNA lab protocol1. Define the problem

Solving Edge-Matching Puzzles Using DNA Computing

Diagonal-wise half-tile stacking:Formalizations

What is a half-tile? What is the relation between half-tiles? Is the solution with the set of half-tiles equivalent to that of tiles?

Can we proof it?

What is the union of two half-tiles? What is the relation (“bridging”) between diagonal sets of half-tiles (“lanes”)?14

7

10 11

S

What is a valid lane ?

Page 32: Solving Edge-Matching Puzzles Using DNA Computing

2. Formulate an algorithm 3. Implement a DNA lab protocol1. Define the problem

Solving Edge-Matching Puzzles Using DNA Computing

Diagonal-wise half-tile stacking:Formalizations

Page 33: Solving Edge-Matching Puzzles Using DNA Computing

2. Formulate an algorithm 3. Implement a DNA lab protocol1. Define the problem

Solving Edge-Matching Puzzles Using DNA Computing

Diagonal-wise half-tile stacking: Why ?

In the correct solution, diagonal sets of half-tiles have two useful properties:

1. All diagonal sets of half-tiles are of odd length h1 h2 h3

h4 h5

S0

h6 h7

h8 h9 h10 h11

h12 h13 h14 S15

12

13

1 half-tile

1 half-tile

S1 h2 h3

S4 h5

S0

h6 h7

h8 h9 h10 S11

h12 h13 S14 S15

12

13

3

14

7

8

3 half-tiles

3 half-tiles

S1 S2 h3

S4 S5

S0

h6 S7

S8 h9 S10 S11

h12 S13 S14 S15

12

13

3

14

7

816

6

1

4 2

5

5 half-tiles

5 half-tiles

S1 S2 S3

S4 S5

S0

S6 S7

S8 S9 S10 S11

S12 S13 S14 S15

12

13

3

14

7

816

6

1

4 2

5

15

11

9

10

7 half-tiles

7 half-tiles

Page 34: Solving Edge-Matching Puzzles Using DNA Computing

2. Formulate an algorithm 3. Implement a DNA lab protocol1. Define the problem

Solving Edge-Matching Puzzles Using DNA Computing

Diagonal-wise half-tile stacking: Why ?

In the correct solution, diagonal sets of half-tiles have two useful properties:

1. All diagonal sets of half-tiles are of odd length

2. All diagonal sets of half-tiles are begin and end with “grey”S1 S2 S3

S4 S5

S0

S6 S7

S8 S9 S10 S11

S12 S13 S14 S15

12

13

3

14

7

816

6

1

4 2

5

15

11

9

10

Page 35: Solving Edge-Matching Puzzles Using DNA Computing

2. Formulate an algorithm 3. Implement a DNA lab protocol1. Define the problem

Solving Edge-Matching Puzzles Using DNA Computing

Diagonal-wise half-tile stacking: Why ?

In the correct solution, diagonal sets of half-tiles have two useful properties:

1. All diagonal sets of half-tiles are of odd length

2. All diagonal sets of half-tiles are begin and end with “grey”

Gel Electrophoresis as a computational heuristic

Polymerase Chain Reaction (PCR) as a computational heuristic and a processing power

Page 36: Solving Edge-Matching Puzzles Using DNA Computing

2. Formulate an algorithm 3. Implement a DNA lab protocol1. Define the problem

Solving Edge-Matching Puzzles Using DNA Computing

Ultimately we seek to find the set of DNA lanes that encode the full solution to the puzzle:

1. Enumerate DNA lanes (“stapling”)

2. Build DNA grid by stacking lanes (“bridging”)

DNA Grid

Page 37: Solving Edge-Matching Puzzles Using DNA Computing

2. Formulate an algorithm 3. Implement a DNA lab protocol1. Define the problem

Solving Edge-Matching Puzzles Using DNA Computing

Step 1: Associate half-tiles to random ssDNA sequences (synthesis)

14

5’-ATGGGTGAAGAAGATG GTAGAAGAGAAATAAG -3’ GAATAAAGCTAGCGGC-3’

Page 38: Solving Edge-Matching Puzzles Using DNA Computing

2. Formulate an algorithm 3. Implement a DNA lab protocol1. Define the problem

Solving Edge-Matching Puzzles Using DNA Computing

14

5’-ATGGGTGAAGAAGATG GTAGAAGAGAAATAAG-3’ GAATAAAGCTAGCGGC-3’3’-TCTTCTACCATCTTCT-5’3’-CTTTATTCCTTATTTC-5’

“Red” staple“Blue” staple

Step 2: Mix half-tiles strands with stapler strands to generate random lanes

Page 39: Solving Edge-Matching Puzzles Using DNA Computing

2. Formulate an algorithm 3. Implement a DNA lab protocol1. Define the problem

Solving Edge-Matching Puzzles Using DNA Computing

Step 3: Keep only lanes of beginning and ending with grey (PCR)

Page 40: Solving Edge-Matching Puzzles Using DNA Computing

2. Formulate an algorithm 3. Implement a DNA lab protocol1. Define the problem

Solving Edge-Matching Puzzles Using DNA Computing

Step 4: Keep only lanes of length 1, 3, 5, and 7 half-tiles (Gel Electrophoresis).

Page 41: Solving Edge-Matching Puzzles Using DNA Computing

2. Formulate an algorithm 3. Implement a DNA lab protocol1. Define the problem

Solving Edge-Matching Puzzles Using DNA Computing

Step 5: Bridge lanes.

5’………..XXXXXTGTATATGTGTGGGAACAGGTTTAATXXXXX………3’

3’-.........XXXXXXAAGAGTTATATGA CTCCTGAAATGGAXXXXX…..5’

CCACACATATACA-3’ ‘5-ATTAAACCTGTTC

5’-TTCTCAATATACT GAGGACTTTACCT-3’

Bridging strands

Page 42: Solving Edge-Matching Puzzles Using DNA Computing

2. Formulate an algorithm 3. Implement a DNA lab protocol1. Define the problem

Solving Edge-Matching Puzzles Using DNA Computing

Step 5: Bridge lanes.

Bridging is a sensitive and labor-intensive process: 3-D shape of the double-helix must be taken into account: design constraints Migration of bridged assemblies on gel is tricky

Page 43: Solving Edge-Matching Puzzles Using DNA Computing

2. Formulate an algorithm 3. Implement a DNA lab protocol1. Define the problem

Solving Edge-Matching Puzzles Using DNA Computing

Puzzle Solution

= 13

8

16

10

4

9

2

7

14

1

11

5

12

3

6

15

Page 44: Solving Edge-Matching Puzzles Using DNA Computing

Solving Edge-Matching Puzzles Using DNA Computing

Concluding remarks:

NP-Completeness of EMPs: we can measure processing power of DNA Computing

Half-tile Assembly Model:

Turing-complete

PCR-powered model for DNA nanotechnological fabrication

Page 45: Solving Edge-Matching Puzzles Using DNA Computing

Solving Edge-Matching Puzzles Using DNA Computing

http://users.encs.concordia.ca/~mo_alsha/thesis/