450 likes | 625 Views
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.
E N D
Solving Edge-Matching Puzzles Using DNA Computing Mohammed AlShamraniDepartment of Computer Science Concordia University March 23, 2011
Phosphate Solving Edge-Matching Puzzles Using DNA Computing Sugar (deoxyribose ) Hydrogen bonds
Solving Edge-Matching Puzzles Using DNA Computing = 5’-GACACTCACTGTCA-3’ 3’-CTGTGAGTGACAGT-5’
What we can do with DNA … 1. Synthesis 5’-CCAAGTTGATTGAGAA AAGAGTTATATGGGCT-3’ 5’-TAACTCTTTTCTCAAT-3’ Solving Edge-Matching Puzzles Using DNA Computing 2. Hybridization • pH 3. Ligation …………….. Exponential Growth 4. Replication (PCR)
Solving Edge-Matching Puzzles Using DNA Computing Sd Jj 1 copy Sd 2 copies Sd 8 copies 4 copies
DNA Computing is new perspective Solving Edge-Matching Puzzles Using DNA Computing • 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.
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. Solving Edge-Matching Puzzles Using DNA Computing • 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.
Example: Six degrees of Separation Solving Edge-Matching Puzzles Using DNA Computing • 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. Synthesis 2. Hybridization 5’-TAACTCTTTTCTCAAT-3’ 5’-CCAAGTTGATTGAGAA AAGAGTTATATGGGCT-3’ 3. Ligation Unit Computation
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. Solving Edge-Matching Puzzles Using DNA Computing 1. Synthesis 2. Hybridization 3. Ligation Replicate sequences that begin with “You” and end with “Nelson Mandela” 4. Replication: Post-Ligation Product
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. Solving Edge-Matching Puzzles Using DNA Computing Post-Replication product: sequences of different lengths but all begin with you and end with Mandela 1. Synthesis 2. Hybridization 3. Ligation 4. Replication Sequence encoding 6 people between you and Mandela
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. Solving Edge-Matching Puzzles Using DNA Computing Post-Replication product: sequences of different lengths but all begin with you and end with Mandela 1. Synthesis 2. Hybridization 3. Ligation 4. Replication Sequence encoding 6 people between you and Mandela
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. Solving Edge-Matching Puzzles Using DNA Computing 1. Synthesis 2. Hybridization 3. Ligation 4. Replication 5. Gel Electrophoresis Your best chance of meeting Mandela Reference ladder
Challenge: pack a collection of square tiles on a square board such that: • All abutting edges match in color • All boundary edges are grey Solving Edge-Matching Puzzles Using DNAComputing
Relevance: • Complexity: EMPs are NP-Complete Solving Edge-Matching Puzzles Using DNAComputing • Turing-universality: 2-Dimensional growth of tiles can simulate the execution of any Turing machine. 14 5 9 • 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
To solve an EMP with DNA, we need to: Solving Edge-Matching Puzzles Using DNA Computing 2. Formulate an algorithm 3. Implement a DNA lab protocol 1. 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 protocol 1. Define the problem
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 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.
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 protocol 1. Define the problem Diagonal-wise tile stacking: But couldn’t there be more than “correct” choice at each step? Yes: non-determinism. NP-Complete
Solving Edge-Matching Puzzles Using DNA Computing 2. Formulate an algorithm 3. Implement a DNA lab protocol 1. Define the problem Diagonal-wise tile stacking: Observation: at any given step, only two edges of each tile are involved in constraint validation.
Solving Edge-Matching Puzzles Using DNA Computing 2. Formulate an algorithm 3. Implement a DNA lab protocol 1. Define the problem 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.
Solving Edge-Matching Puzzles Using DNA Computing 2. Formulate an algorithm 3. Implement a DNA lab protocol 1. Define the problem Diagonal-wise half-tile stacking: Conceptually: a tile is the union of two half tiles. The algorithm succeeds if it makes a series of correct choices: at each step, find diagonal sets of half-tiles that can fit perfectly.
Solving Edge-Matching Puzzles Using DNA Computing 2. Formulate an algorithm 3. Implement a DNA lab protocol 1. Define the problem Pairs of half-tiles Diagonal-wise half-tile stacking: Tile dissection along the diagonals produces two pairs of half tiles
Solving Edge-Matching Puzzles Using DNA Computing 2. Formulate an algorithm 3. Implement a DNA lab protocol 1. Define the problem U U U U The union of a pair on the tiling grid reproduces the tile in one orientation Diagonal-wise half-tile stacking:
Solving Edge-Matching Puzzles Using DNA Computing 2. Formulate an algorithm 3. Implement a DNA lab protocol 1. Define the problem Diagonal-wise half-tile stacking: Formalizations What is the relation between half-tiles? Is the solution with the set of half-tiles equivalent to that of tiles? What is the union of two half-tiles? What is the relation (“bridging”) between diagonal sets of half-tiles (“lanes”)? What is a half-tile? Can we proof it? What is a valid lane ?
Solving Edge-Matching Puzzles Using DNA Computing 2. Formulate an algorithm 3. Implement a DNA lab protocol 1. Define the problem Diagonal-wise half-tile stacking: Formalizations
Solving Edge-Matching Puzzles Using DNA Computing 2. Formulate an algorithm 3. Implement a DNA lab protocol 1. Define the problem Why ? 7 half-tiles 5 half-tiles 1 half-tile 3 half-tiles Diagonal-wise half-tile stacking: In the correct solution, diagonal sets of half-tiles have two useful properties: 1. All diagonal sets of half-tiles are of odd length 7 half-tiles 5 half-tiles 3 half-tiles 1 half-tile
Solving Edge-Matching Puzzles Using DNA Computing 2. Formulate an algorithm 3. Implement a DNA lab protocol 1. Define the problem Why ? Diagonal-wise half-tile stacking: 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”
Solving Edge-Matching Puzzles Using DNA Computing 2. Formulate an algorithm 3. Implement a DNA lab protocol 1. Define the problem Why ? Diagonal-wise half-tile stacking: Gel Electrophoresis as a computational heuristic 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” Polymerase Chain Reaction (PCR) as a computational heuristic and a processing power
Solving Edge-Matching Puzzles Using DNA Computing 2. Formulate an algorithm 3. Implement a DNA lab protocol 1. Define the problem DNA Grid 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”)
Solving Edge-Matching Puzzles Using DNA Computing 2. Formulate an algorithm 3. Implement a DNA lab protocol 1. Define the problem Step 1: Associate half-tiles to random ssDNA sequences (synthesis) GTAGAAGAGAAATAAG-3’ GAATAAAGCTAGCGGC-3’ 5’-ATGGGTGAAGAAGATG
Solving Edge-Matching Puzzles Using DNA Computing 2. Formulate an algorithm 3. Implement a DNA lab protocol 1. Define the problem Step 2: Mix half-tiles strands with stapler strands to generate random lanes “Blue” staple “Red” staple 3’-TCTTCTACCATCTTCT-5’ 3’-CTTTATTCCTTATTTC-5’ GTAGAAGAGAAATAAG-3’ GAATAAAGCTAGCGGC-3’ 5’-ATGGGTGAAGAAGATG
Solving Edge-Matching Puzzles Using DNA Computing 2. Formulate an algorithm 3. Implement a DNA lab protocol 1. Define the problem Step 3: Keep only lanes of beginning and ending with grey (PCR)
Solving Edge-Matching Puzzles Using DNA Computing 2. Formulate an algorithm 3. Implement a DNA lab protocol 1. Define the problem Step 4: Keep only lanes of length 1, 3, 5, and 7 half-tiles (Gel Electrophoresis).
Solving Edge-Matching Puzzles Using DNA Computing 2. Formulate an algorithm 3. Implement a DNA lab protocol 1. Define the problem Step 5: Bridge lanes. Bridging strands 5’………..XXXXXTGTATATGTGTGGGAACAGGTTTAATXXXXX………3’ • ‘5-ATTAAACCTGTTC • CCACACATATACA-3’ • 5’-TTCTCAATATACT • GAGGACTTTACCT-3’ • 3’-.........XXXXXXAAGAGTTATATGA CTCCTGAAATGGAXXXXX…..5’
Solving Edge-Matching Puzzles Using DNA Computing 2. Formulate an algorithm 3. Implement a DNA lab protocol 1. Define the problem 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
Solving Edge-Matching Puzzles Using DNA Computing 2. Formulate an algorithm 3. Implement a DNA lab protocol 1. Define the problem Puzzle Solution =
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/