solving edge-matching puzzles using dna computing
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 PresentationTRANSCRIPT
Solving Edge-Matching Puzzles Using DNA Computing
Mohammed AlShamraniDepartment 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
Solving Edge-Matching Puzzles Using DNA Computing
1
23
Solving Edge-Matching Puzzles Using DNA Computing
1
23
4
Solving Edge-Matching Puzzles Using DNA Computing
Solving Edge-Matching Puzzles Using DNA Computing
Solving Edge-Matching Puzzles Using DNA Computing
Solving Edge-Matching Puzzles Using DNA Computing
Phosphate
Sugar (deoxyribose )
Hydrogen bonds
Solving Edge-Matching Puzzles Using DNA Computing
5’-GACACTCACTGTCA-3’3’-CTGTGAGTGACAGT-5’=
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
Solving Edge-Matching Puzzles Using DNA Computing
1 copy
2 copies
4 copies8 copies
Sd
Sd
Sd
Jj
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.
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.
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
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”
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
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
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
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
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
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
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
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.
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
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.
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.
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.
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
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
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 ?
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
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
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
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
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
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’
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
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)
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).
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
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
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
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
Solving Edge-Matching Puzzles Using DNA Computing
http://users.encs.concordia.ca/~mo_alsha/thesis/