Fast parallel molecular solution to the Hitting-set problem Speaker Nung-Yue Shi.

Slides:



Advertisements
Similar presentations
The Second of the Big Four Nucleic Acids. These are macromolecules are made up of nucleotides – Polymer - nucleic acid – Monomer - nucleotide Contain.
Advertisements

SECTION 12.2 AND 12.3 DNA DNA IS DYNAMITE! Chapter 12 Nucleic Acids and Protein Synthesis.
Nucleic Acids.
Montek Singh COMP Nov 15,  Two different technologies ◦ TODAY: DNA as biochemical computer  DNA molecules encode data  enzymes, probes.
Presented By:- Anil Kumar MNW-882-2K11
PROTEIN SYNTHESIS. DNA RNA Protein Scientists call this the: Central Dogma of Biology!
Nucleic Acids Nucleic Acid Basics Contain instructions to build proteins 2 types: – DNA – RNA Composed of smaller units called nucleotides – Monomer:
Case Study. DNA Deoxyribonucleic acid (DNA) is a nucleic acid that contains the genetic instructions used in the development and functioning of all known.
12-3: RNA AND PROTEIN SYNTHESIS Biology 2. DNA double helix structure explains how DNA can be copied, but not how genes work GENES: sequence of DNA that.
DNA & Gel Electrophoresis
DNA Analysis Lesson 1.2 PBS.
Dna It’s an individual sort of thing. What does DNA mean? D- deoxyribo N- nucleic A- acid Deoxyribonucleic Acid.
Beyond Silicon: Tackling the Unsolvable with DNA.
DNA Structure Review. Questions 1.Name the term used to describe the shape of the DNA molecule. 2.What does DNA stand for? 3.What 3 chemicals make up.
Notes: Pages 6 & 7.  1. 5-Carbon Sugar called DEOXYRIBOSE  2. Phosphate Group  3. Nitrogen Base (A, T, C, or G)
National 5 Biology Course Notes Part 4 : DNA and production of
DNA The Blueprint of Life.
DNA Deoxyribonucleic Acid D – Deoxyribo N – Nucleic A – Acid.
Make-up Nucleic acids form DNA (deoxyribonucleic acid) and RNA (ribonucleic acid) Nucleic acids are polymers, made up of smaller monomers called nucleotides.
Chemistry: An Introduction to General, Organic, and Biological Chemistry, Eleventh Edition Copyright © 2012 by Pearson Education, Inc. Chapter 17 Nucleic.
DNA.
Introduction to DNA (Deoxyribonucleic acid). What do you know?
Chap. 10 : Nucleic Acids & Protein Synthesis I. DNA – deoxyribonucleic acid - function – store and use information to direct activities of the cell and.
What is DNA Computing? Shin, Soo-Yong Artificial Intelligence Lab.
1 Biological Computing – DNA solution Presented by Wooyoung Kim 4/8/09 CSc 8530 Parallel Algorithms, Spring 2009 Dr. Sushil K. Prasad.
DNADNA. Structure and replication of DNA - syllabus content Structure of DNA — nucleotides contain deoxyribose sugar, phosphate and base. DNA has a sugar–phosphate.
3 parts of a Nucleotide A ring-shaped sugar called deoxyribose
DNA- Deoxyribonucleic acid Each nucleotide of DNA is composed of a phosphate group, a sugar called deoxyribose and a molecule that is called a nitrogenous.
DNA and Genes. Prokaryotes VS Eukaryotes Prokaryotes: no defined nucleus and a simplified internal structure Eukaryotes: membrane limited nucleus and.
General, Organic, and Biological Chemistry Copyright © 2010 Pearson Education, Inc.1 Chapter 21 Nucleic Acids and Protein Synthesis 21.3DNA Double Helix.
Do you like to read mystery novels or watch people on television solve crimes? Detectives search for clues that will help them solve the mystery. Geneticists.
Have Your DNA and Eat It Too I will be able to describe the structure of the DNA molecule I will be able to explain the rules of base pairing I will understand.
1. Nucleic Acids TWO MAIN TYPES DNA- Deoxyribonucleic Acid RNA- Ribonucleic Acid.
Deoxyribonucleic Acid Structure Function Replication Recombinant DNA DNA versus RNA.
The Structure of DNA Read the title aloud to students.
HUMAN BIOCHEMISTRY  NUCLEIC ACIDS  THE GENETIC CODE.
B8 Nucleic Acid. Assessment Objective B.8.1 Describe the structure of nucleotides and their condensation polymers (nucleic acids or polynucleotides).
POINT > Describe the structure of DNA POINT > Identify the three parts of a nucleotide POINT > Identify the 4 nucleotides in DNA POINT > Explain how the.
13-2: Manipulating DNA Biology 2. Until very recently breeders could not change the DNA of the plants/animals they were breeding Scientists use DNA structure.
What is the ultimate job of the cell?. TO MAKE PROTEINS!
Hereditary Molecules – DNA structure and Replication.
DNA and RNA Structure and Function Chapter 12 DNA DEOXYRIBONUCLEIC ACID Section 12-1.
The Structure of DNA. DNA is a nucleic acid. There are two types of nucleic acids: __________ or deoxyribonucleic acid __________ or ribonucleic acid.
Nucleic Acids and Protein Synthesis Notes The primary function of DNA is to store and transmit genetic information that tells cells which proteins to make.
Unit 2.1: BASIC PRINCIPLES OF HUMAN GENETICS
DNA The Blueprint of Life.
DNA.
DNA The Secret Code.
Chapter 13.2 Manipulating DNA.
DNA Replication & Protein Synthesis
Packet 7: DNA/RNA/Protein Synthesis Notes: pg. 1-2
DNA Deoxyribonucleic Acid
Nucleic Acids 1 1.
DNA The Secret Code.
Chapter 12 Nucleic Acids and Protein Synthesis
The Structure & Function of DNA, RNA, and protein.
The Function and Structure of DNA
Unit 2.1: BASIC PRINCIPLES OF HUMAN GENETICS
Unit 1.2 Review.
UNIT: DNA and RNA How does DNA store and transmit genetic information?
Higher Biology Unit 1: 1.1 Structure of DNA.
Unit 5: DNA, RNA and Protein Synthesis
Unit 1.2 Review.
DNA Structure and Replication REVIEW
Quiz Study Guide.
= DNA Nucleotide Phosphate Nitrogen Base Pairs:
Unit 1.2 Review.
Nucleic Acids & Protein Synthesis
DNA.
DNA.
Presentation transcript:

Fast parallel molecular solution to the Hitting-set problem Speaker Nung-Yue Shi

Abstract:hitting-set is defined by Garey and Johnson in 1979 in the book “computers and intractability A guide to the theory of NP-Completeness”  Assume that we have collection C of subsets of a finite set S, and a positive integer K  |S|, and we would like to know if there is a subset s’  S with | s’ |  K such that s’ hits (contains) at least one element from each subset in C.

1. Introduction  DNA (deoxyribonucleic acid) is the main material of nucleus and could decide the inheritance model of human beings. DNA is made up of a linear chain of smaller units which is called nucleotides. Nucleotides contain three major components those are deoxyribose, phosphate group, and the base.

 Different nucleotides are tested by their base which could be adenine (abbreviated as A), guanine (G), cytosine (C) and thymine (T). Two strands of DNA could form a double helix if the respective bases are the famous Watson-Crick complements which are C matches G and A matches T.

 the 3 ’ end (the 3rd carbon of the deoxyribose) will match the 5 ’ end (the 5th carbon attaching a phosphate group) in each strand.

 DNA-based Computing [1, 2, 3, 4, 5, 6, 8] treats the DNA strands as the bits in the traditional digital computers, and use the techniques such as PCR (polymerase chain reaction), gel electrophoresis, and enzyme reactions to separate, concatenate, delete, and duplicate the DNA strands [11].

We could make a molecular computer with the tools as the following:  1. Watson-Crick complements. Two strands of DNA will anneal to form a famous double helix if the respective base meets its Watson-Crick complements which are C matches G and A matches T.

 2. Ligases. Ligases bond the splitted DNA molecule together. For example, DNA ligase will take two strands of DNA molecule and covalently connect them into a single strand.

 3. Nucleases. Nucleases would cut nucleic acid of a DNA molecule. For example, nucleases would look for a predetermined sequences of bases of a strand of DNA molecules, if found, would cut the DNA strands into two pieces.

 4. Polymerases. Polymerases copy information from one DNA molecule into the other.

 5. Gel electrophoresis. A solution of DNA molecules is placed in one end of gel, and we applied electric current to the gel. This process separates DNA strands by length.

 6. DNA synthesis. Nowadays, we could ask a commercial DNA synthesis facility to make the DNA sequence. Just in a few days, we will receive a test tube containing about 1018 molecules of DNA which is the sequence we ask.

 The above six techniques is the basis of Adleman-Lipton DNA computing modle.  From which, Adleman developed eight bio-molecular instructions to perform bio-molecular programs. That is what we mention next section.

2. background  we could perform the following operations [2  10 ]:  1. Append-tail. Given a tube T and a binary digit x j, the operation, "Append- tail", will append x j onto the end of every data stored in the tube T. The formal representation for the operation is written as "Append-tail(T, x j )".

 2. Amplify. Given a tube T, the operation “ Amplify(T, T1, T2) ” will produce two new tubes T1 and T2 so that T1 and T2 are totally a copy of T (T1 and T2 are now identical) and T becomes an empty tube.

 3. Merge. Given n tubes T1  Tn, the merge operation is to merge data stored in any n tubes into one tube, without any change in the individual data. The formal representation for the merge operation is written as "(T1, , Tn)", where (T1, , Tn) = T1    Tn.

 4. Extract. Given a tube T and a binary digit xk, the extract operation will produce two tubes +(T, xk) and (T, xk), where +(T, xk) is all of the data in T which contain xk and (T, xk) is all of the data in T which do not contain xk.

 5. Detect. Given a tube T, the detect operation is used to check whether any a data is included in T or not. If at least one data is included in T we have “ yes ”, and if no data is included in T we have “ no “. The formal representation for the operation is written as “ Detect(T) “.

 6. Discard. Given a tube T, the discard operation will discard T. The formal representation for the operation is written as “ Discard(T) “.

 7. Read. Given a tube T, the read operation is used to describe any a data, which is contained in T. Even if T contains many different data, the operation can give an explicit description of exactly one of them. The formal representation for the operation is written as “ read(T) “.

 8. Append-head. Given a tube T and a binary digit xj, the operation, "Append- head", will append xj onto the head of every data stored in the tube T. The formal representation for the operation is written as “ Append-head(T, xj) “.

 Definition 3-1: Assume that a ground set S and a collection C of subsets {C1, C2, C3, … Cn} are given, where Ci is a subset of S and a positive integer K ≦ |S|. The problem is to find if there is some subset of S such that |s ’ |  K and (Ci ∩ s ’ ) ≠ , where i = 1, 2, 3, … n.

 For example, S = {1, 2, 3, 4} and C = {{1, 2, 3}, {4}}. The hitting-set for S = {1, 2, 3, 4} and C = {{1, 2, 3}, {4}} consists of {1, 4}, {2, 4}, {3, 4}, {1, 2, 4}, {1, 3, 4}, {2, 3, 4} and {1, 2, 3, 4}.

Table 3-1: each possible subsets of a ground set S = {1, 2, 3, 4}. subsetEncoding numbersubsetEncoding number  0000 {1} 0001 {2} 0010 {3} 0100 {4} 1000 {1,2} 0011 {1,3} 0101 {1,4} 1001 {2,3} 0110 {2,4} 1010 {3,4} 1100 {1,2,3} 0111 {1,2,4} 1011 {1,3,4} 1101 {2,3,4} 1110 {1,2,3,4} 1111

The pseudo-code algorithm of solving the hitting-set problem for an n-element set S and a collection of subset C will proceed as follows: 1. Create initial set T 2. For each subset do begin 3. For each element in a subset do begin 4. if (the b th element in the a th subset in C is the i th element in S) 5. then begin 6. put the subset whose i th encoding bit is 1 on Tb; 7. put the subset whose i th encoding bit is 0 on T; 8. end 9. End for 10. Delete T 11. Create new set T by merging those extracted strings from Tb 12. End for 13. If T is nonempty then T is the hitting-set.

Algorithm 2: Solving the hitting-set problem for an n-element set S and a collection of subset C.  (0a) Append-head(T1, z 1 1 ).  (0b) Append-head(T2, z 1 0 ).  (0c) T = (T1, T2).  (1) For k = 2 to n  (1a) Amplify(T, T1, T2).  (1b) Append-head(T1, z k 1 ).  (1c) Append-head(T2, z k 0 ).  (1d) T = (T1, T2).  (1e) EndFor  (2) For a = 1 to |C| do begin  (3) For b = 1 to |Ca| do begin  (4) If (the b th element in the a th subset in C is the i th element in S)  (5) then begin  (6) Tb= +(T,z i 1 )  (7) T = (T,z i 1 )  (8) end  (9) Endfor  (10) Discard (T)  (11) T = (T1, T2, … T b ).  (12) Endfor

 The example for S = {1, 2, 3, 4} and C = {{1, 2, 3}, {4}} in subsection 3.1 is applied to show the power of Algorithm 1. The first execution of Step (6) and Step (7) when a = 1 and b = 1, we put the subset whose rightmost encoding bit is 1 on T1, and put the subset whose rightmost encoding bit is 0 on T, so we get T1= {0001, 0011, 0101, 1001, 0111, 1011, 1101, 1111} and T = {0000, 0010, 0100, 1000, 0110, 1010, 1100, 1110}. Next, the second execution of Step (6) and Step (7) when a = 1 and b = 2, we get T2 = {0010, 0110, 1010, 1110} and T = {0000, 0100, 1000, 1100}.

 Then, the third execution of Step (6) and Step (7) when a = 1 and b = 3, we obtain T3 = {0100, 1100} and T = {0000, 1000}. Because the first outer loop is ended, the first execution of Step (10) is applied to discard test tube T and the first execution of Step (11) is applied to merge test tube T1, T2, T3 into T, we get T = {0001, 0011, 0101, 1001, 0111, 1011, 1101, 1111, 0010, 0110, 1010, 1110, 0100, 1100}.

 For the second outer loop when a = 2 and b = 1, from the fourth execution of Step (6) and Step (7), we get T1 = {1001, 1011, 1101, 1111, 1010, 1110, 1100} and T = {0001, 0011, 0101, 0111, 0010, 0110, 0100}. Because the second subset has only one element, the second outer loop is ended also. The second execution of Step (10) is applied to discard T and the second execution of Step (11) is used to merge T1 into T. This implies the hitting set T = {1001, 1011, 1101, 1111, 1010, 1110, 1100}.

4.Discussion and Conclusion  In this paper, we propose the DNA-based algorithm to solve the hitting-set problem. Nowadays, many NP-complete problems which could not be solved by a traditional digital computer is now tried to be solved by DNA-based algorithm. Even so, it is still very difficult to support biological operations using mathematical instructions. In the future, there are still many difficulties to be overcome and we hope that DNA-based supercomputing could become a reality someday.