112
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

Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

  • Upload
    others

  • View
    6

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Tutorial on Molecular Computing

M. Sakthi Balan

ECOM Research LabEducation & Research

Infosys Techologies LimitedBangalore

1 / 80Tutorial on Molecular Computing

Page 2: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Contents1 Introduction

ComputingDNA strandsPeptides and Antibodies

2 DNA ComputingWhat is DNA ComputingFirst papers on DNA ComputingTheoretical Models

3 Peptide ComputingAs a Computational ModelSolving SAT ProblemHamiltonian Path ProblemTheoretical Models

4 Remarks and Open Problems

2 / 80Tutorial on Molecular Computing

Page 3: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Contents1 Introduction

ComputingDNA strandsPeptides and Antibodies

2 DNA ComputingWhat is DNA ComputingFirst papers on DNA ComputingTheoretical Models

3 Peptide ComputingAs a Computational ModelSolving SAT ProblemHamiltonian Path ProblemTheoretical Models

4 Remarks and Open Problems

2 / 80Tutorial on Molecular Computing

Page 4: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Contents1 Introduction

ComputingDNA strandsPeptides and Antibodies

2 DNA ComputingWhat is DNA ComputingFirst papers on DNA ComputingTheoretical Models

3 Peptide ComputingAs a Computational ModelSolving SAT ProblemHamiltonian Path ProblemTheoretical Models

4 Remarks and Open Problems

2 / 80Tutorial on Molecular Computing

Page 5: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Contents1 Introduction

ComputingDNA strandsPeptides and Antibodies

2 DNA ComputingWhat is DNA ComputingFirst papers on DNA ComputingTheoretical Models

3 Peptide ComputingAs a Computational ModelSolving SAT ProblemHamiltonian Path ProblemTheoretical Models

4 Remarks and Open Problems

2 / 80Tutorial on Molecular Computing

Page 6: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Outline1 Introduction

ComputingDNA strandsPeptides and Antibodies

2 DNA ComputingWhat is DNA ComputingFirst papers on DNA ComputingTheoretical Models

3 Peptide ComputingAs a Computational ModelSolving SAT ProblemHamiltonian Path ProblemTheoretical Models

4 Remarks and Open Problems

3 / 80Tutorial on Molecular Computing

Page 7: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

������������������������������������������������������������

������������������������������������������������������������

�������������������������������������������������������

�������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������

4 / 80Tutorial on Molecular Computing

Page 8: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

������������������������������������������������������������

������������������������������������������������������������

�������������������������������������������������������

�������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������

4 / 80Tutorial on Molecular Computing

Page 9: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

������������������������������������������������������������

������������������������������������������������������������

�������������������������������������������������������

�������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������

4 / 80Tutorial on Molecular Computing

Page 10: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

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 / 80Tutorial on Molecular Computing

Page 11: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Silicon Computers

Facts

Computes “fast”,

Stores huge amountof data,

Retrieves data fast,

Communicates fast.

Limits

Problems that have no efficientalgorithms - Is NP=P? is stillopen.

Physical limits in terms of speed.

Deterministic and sequentialmachines.

Lack of machines that can dointellectual work on our behalf.

Security, fault-tolerance – attacks,faults are pre-defined.

6 / 80Tutorial on Molecular Computing

Page 12: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

From Computing with Cells and Atoms by Cristian S.Calude and Gh. Paun

...It seems that progress in electronic hardware (andthe corresponding software engineering) is notenough; for instance, the miniaturization isapproaching the quantum boundary, where physicalprocesses obey laws based on probabilities andnon-determinism, something almost completelyabsent in the operation of classical computers. So,new breakthrough is needed...

7 / 80Tutorial on Molecular Computing

Page 13: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Natural Computing

Bio

DNA hybridization

Immune reaction

Others

Quantum mechanicalphenomena

Reaction-diffusion process

8 / 80Tutorial on Molecular Computing

Page 14: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Outline1 Introduction

ComputingDNA strandsPeptides and Antibodies

2 DNA ComputingWhat is DNA ComputingFirst papers on DNA ComputingTheoretical Models

3 Peptide ComputingAs a Computational ModelSolving SAT ProblemHamiltonian Path ProblemTheoretical Models

4 Remarks and Open Problems

9 / 80Tutorial on Molecular Computing

Page 15: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

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 twostrands.

A always bonds with T and G with C.

10 / 80Tutorial on Molecular Computing

Page 16: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Operations on DNA

The length of a DNA strand can be measured using gelelectrophoresis.

A known DNA strand can be fished in a solution containing manyDNA strands using a filtering method.

A double stranded DNA can be denatured into two singlestrands by heating.

Two DNA strands can be hybridized into a single doublestranded DNA molecule (DNA strands bind together respectingthe Watson-Crick complementary property).

11 / 80Tutorial on Molecular Computing

Page 17: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Operations on DNA

A class of enzymes called polymerases can lengthen a partiallydouble stranded to make it as a complete double strandedmolecule.

Enzymes called restriction endonucleases cut DNA strands atthe specific site where a specific sequence of nucleotides arepresent.

Enzymes ligases can paste two DNA strands with overhangingends provided those ends are Watson-Crick complementary ofeach other. This process is called ligation.

Specific set of DNA sequences can be multiplied using apolymerase chain reaction.

The exact sequence in the DNA strand can be found out bypolymerase action on the strand. This process is calledsequencing.

12 / 80Tutorial on Molecular Computing

Page 18: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

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 / 80Tutorial on Molecular Computing

Page 19: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

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 / 80Tutorial on Molecular Computing

Page 20: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

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 / 80Tutorial on Molecular Computing

Page 21: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

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 / 80Tutorial on Molecular Computing

Page 22: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

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 whichwill be quite uninteresting.

Note that on the condition that the bases are complementary innature the two strands bind – hence in the perspective ofcomputation we can view it as in vitro the hybridization takesplace 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 / 80Tutorial on Molecular Computing

Page 23: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Outline1 Introduction

ComputingDNA strandsPeptides and Antibodies

2 DNA ComputingWhat is DNA ComputingFirst papers on DNA ComputingTheoretical Models

3 Peptide ComputingAs a Computational ModelSolving SAT ProblemHamiltonian Path ProblemTheoretical Models

4 Remarks and Open Problems

15 / 80Tutorial on Molecular Computing

Page 24: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Peptides and Antibodies

Peptides – short proteins –sequence over 20 basicamino acids.

Interactions betweenpeptides and antibodies –Immune reactions.

Antibodies recognizespecific sequence inpeptides – epitopes.

Affinity power of antibodiespresents an option toremove and attachantibodies – resembles arewriting system

Figure: Antibody-antigenbinding

16 / 80Tutorial on Molecular Computing

Page 25: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Epitopes

Peptide sequence

Peptide sequence with antibodies

BA

Epitopes

Peptide sequence

C

Peptide sequence with antibodies

B

Epitopes

Peptide sequence

C

Peptide sequence with antibodies

B

Epitopes

Peptide sequence

17 / 80Tutorial on Molecular Computing

Page 26: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Epitopes

Peptide sequence

Peptide sequence with antibodies

BA

Epitopes

Peptide sequence

C

Peptide sequence with antibodies

B

Epitopes

Peptide sequence

C

Peptide sequence with antibodies

B

Epitopes

Peptide sequence

17 / 80Tutorial on Molecular Computing

Page 27: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Epitopes

Peptide sequence

Peptide sequence with antibodies

BA

Epitopes

Peptide sequence

C

Peptide sequence with antibodies

B

Epitopes

Peptide sequence

C

Peptide sequence with antibodies

B

Epitopes

Peptide sequence

17 / 80Tutorial on Molecular Computing

Page 28: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Epitopes

Peptide sequence

Peptide sequence with antibodies

BA

Epitopes

Peptide sequence

C

Peptide sequence with antibodies

B

Epitopes

Peptide sequence

C

Peptide sequence with antibodies

B

Epitopes

Peptide sequence

17 / 80Tutorial on Molecular Computing

Page 29: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

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 ofantibodies to its epitopes.

One antibody can have more than one epitope to bind with.

There can be many antibodies that bind to a single oroverlapping epitopes.

18 / 80Tutorial on Molecular Computing

Page 30: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

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 / 80Tutorial on Molecular Computing

Page 31: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Outline1 Introduction

ComputingDNA strandsPeptides and Antibodies

2 DNA ComputingWhat is DNA ComputingFirst papers on DNA ComputingTheoretical Models

3 Peptide ComputingAs a Computational ModelSolving SAT ProblemHamiltonian Path ProblemTheoretical Models

4 Remarks and Open Problems

20 / 80Tutorial on Molecular Computing

Page 32: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

DNA Computing

Uses DNA strands and the interactions between strands asoperations.

Interactions are DNA hybridization, splicing and so on.

Note that we will be having multiple copies of each strands somany things happen at the same time.

Hence it is massively parallel and highly non-deterministic.

21 / 80Tutorial on Molecular Computing

Page 33: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

DNA hybridization

DNA splicing resembles arewriting process.

Cutting of two DNA strands atspecific sites and makingfragments of DNA.

If the sticky ends of the fragmentsof DNA are complementary innature then they recombine toform new DNA strands.

Note that there will be severalcopies of DNA strands floatingaround – Parallel andnon-deterministic.

22 / 80Tutorial on Molecular Computing

Page 34: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Recombinant DNA

23 / 80Tutorial on Molecular Computing

Page 35: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

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 allpossible solutions of the problem.

Explore those DNA strands and eliminate the strands that willnot lead to solution.

At the end of final elimination step if we find a strand then thatwill be the solution for the problem.

Adleman’s experiment in 1994 (Science) to find Hamiltonianpath of the given instance of a graph.

24 / 80Tutorial on Molecular Computing

Page 36: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Outline1 Introduction

ComputingDNA strandsPeptides and Antibodies

2 DNA ComputingWhat is DNA ComputingFirst papers on DNA ComputingTheoretical Models

3 Peptide ComputingAs a Computational ModelSolving SAT ProblemHamiltonian Path ProblemTheoretical Models

4 Remarks and Open Problems

25 / 80Tutorial on Molecular Computing

Page 37: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Tom Heads’ work

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

His work combined Formal language theory and Molecularbiology.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 recombinantbehavior of DNA.His study was aimed at the analysis of the generative capacity ofthese type of systems.

26 / 80Tutorial on Molecular Computing

Page 38: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Adleman’s’ Experiment

Adleman in 1994 took an instance of a graph and using DNAstrands and DNA hybridization solved the Hamiltonian pathproblem in the wetlab.

Basic idea in this work was elimination method.

Using inherent parallelism in the model explore all the possiblepaths and eliminate those not satisfying the conditions for aHamiltonian path.

27 / 80Tutorial on Molecular Computing

Page 39: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Adleman’s’ Experiment

Problem statementThe Hamiltonian path problem (HPP) is stated as follows:

Input: A directed graph G with n vertices, among which vin andvout are designated vertices.

Output: Yes if any path remains, No otherwise.

28 / 80Tutorial on Molecular Computing

Page 40: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

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 / 80Tutorial on Molecular Computing

Page 41: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

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-mersequence sij where

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

30 / 80Tutorial on Molecular Computing

Page 42: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Figure: DNA strands for vertices

Figure: DNA strand for edge

Figure: After DNA hybridization

31 / 80Tutorial on Molecular Computing

Page 43: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

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 aremixed and put in a soup.

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

32 / 80Tutorial on Molecular Computing

Page 44: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

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 withvertices vin and vout .Check the length of the sequences to see if it has n vertices in it (ithas to be of length 20 × n (In this case it has to be length140-mer, since there are 7 vertices).Do a filtering method again to check if all n vertices are in thepath..

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

33 / 80Tutorial on Molecular Computing

Page 45: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Outline1 Introduction

ComputingDNA strandsPeptides and Antibodies

2 DNA ComputingWhat is DNA ComputingFirst papers on DNA ComputingTheoretical Models

3 Peptide ComputingAs a Computational ModelSolving SAT ProblemHamiltonian Path ProblemTheoretical Models

4 Remarks and Open Problems

34 / 80Tutorial on Molecular Computing

Page 46: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

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 tothe 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 arestrings over a finite alphabet.

The result of splicing x and y are z and w if and only ifx = x1u1u2x2, y = y1u3u4y2 and z = x1u1u4y2,w = y1u3u2x2.

The splicing system or H-system is a generative system thatuses this splicing operation as a basic tool.

35 / 80Tutorial on Molecular Computing

Page 47: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Definition

An extended H system is a quadruple γ = (V ,T ,A,R) where Vis 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 ofaxioms, and R is the set of splicing rules; the symbols in T arecalled 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 andz = x1u1u4y2,w = y1u3u2x2 for some x1, x2, y1, y2 ∈ V ∗

36 / 80Tutorial on Molecular Computing

Page 48: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

DefinitionFor 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; r ∈ R}

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 / 80Tutorial on Molecular Computing

Page 49: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Outline1 Introduction

ComputingDNA strandsPeptides and Antibodies

2 DNA ComputingWhat is DNA ComputingFirst papers on DNA ComputingTheoretical Models

3 Peptide ComputingAs a Computational ModelSolving SAT ProblemHamiltonian Path ProblemTheoretical Models

4 Remarks and Open Problems

38 / 80Tutorial on Molecular Computing

Page 50: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

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 / 80Tutorial on Molecular Computing

Page 51: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

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 basicoperations.

Antibodies recognizes a subsequence of a peptide, calledepitopes, by binding to it.

Binding of antibodies to epitopes has associated power calledaffinity.

Higher priority to the antibody with larger affinity power.

Affinity power of antibodies presents an option to remove andattach antibodies – resembles a rewriting system.

40 / 80Tutorial on Molecular Computing

Page 52: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Computing Model

Form peptide sequences for each possible solution of the givenproblem – preprocessing step.

Choose antibodies according to the current instance of theproblem.

Eliminate those sequences that will not lead to solutions.

End of experiment – if the fluorescence is detected then asolution exist.

Decipher the sequence to find the solution.

41 / 80Tutorial on Molecular Computing

Page 53: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Outline1 Introduction

ComputingDNA strandsPeptides and Antibodies

2 DNA ComputingWhat is DNA ComputingFirst papers on DNA ComputingTheoretical Models

3 Peptide ComputingAs a Computational ModelSolving SAT ProblemHamiltonian Path ProblemTheoretical Models

4 Remarks and Open Problems

42 / 80Tutorial on Molecular Computing

Page 54: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Satisfiability Problem

ProblemLet F be a formula over n variables. Does there exists anassignment of truth values to every variable in F such that Fbecomes true.

43 / 80Tutorial on Molecular Computing

Page 55: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

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 / 80Tutorial on Molecular Computing

Page 56: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

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 falseX2 false trueX3 true falseX4 true true

45 / 80Tutorial on Molecular Computing

Page 57: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

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 falseX2 false trueX3 true falseX4 true true

45 / 80Tutorial on Molecular Computing

Page 58: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Satisfiability Problem

For each assignment prepare apeptide and different antibodiesbinding to overlapping epitopes

Binding affinities are C > A > B

Single peptide

46 / 80Tutorial on Molecular Computing

Page 59: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Satisfiability Problem

Prepare partial solutions G1,G2, · · · ,Gk where Gi containsantibody A if Ci is true under corresponding assignment X

G1 = {A1,A3,A4},G2 = {A1,A3},G3 = {A2,A3,A4}

47 / 80Tutorial on Molecular Computing

Page 60: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

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 totheir epitopes.

2 Antibodies B are added. Antibodies B bind to all free binding sitesfor 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 Aof set Gm are removed, whereas antibodies B remain bound totheir 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 / 80Tutorial on Molecular Computing

Page 61: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

49 / 80Tutorial on Molecular Computing

Page 62: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

50 / 80Tutorial on Molecular Computing

Page 63: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

51 / 80Tutorial on Molecular Computing

Page 64: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

52 / 80Tutorial on Molecular Computing

Page 65: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

53 / 80Tutorial on Molecular Computing

Page 66: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

54 / 80Tutorial on Molecular Computing

Page 67: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

55 / 80Tutorial on Molecular Computing

Page 68: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Outline1 Introduction

ComputingDNA strandsPeptides and Antibodies

2 DNA ComputingWhat is DNA ComputingFirst papers on DNA ComputingTheoretical Models

3 Peptide ComputingAs a Computational ModelSolving SAT ProblemHamiltonian Path ProblemTheoretical Models

4 Remarks and Open Problems

56 / 80Tutorial on Molecular Computing

Page 69: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

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 setv1 – source vertex and vn – end vertex.

Problem: Test whether there exists a Hamiltonian path betweenv1 and vn.

57 / 80Tutorial on Molecular Computing

Page 70: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

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 otherextreme,

Each peptide has a doubly duplicated permutation ofep2, · · · ,epn−1 in between ep1 and epn.

58 / 80Tutorial on Molecular Computing

Page 71: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

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 / 80Tutorial on Molecular Computing

Page 72: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Graph G

������������

������������

������������

������������

����������������

������������

������������

������������

������������

������������

������������������������������������������������������������

������������������������������������������������������������

�����

�����

������

������

������������������������������������

������������������������������������������������������

������������������������������������������������������

������������������������������������������������������������������

������������������������������������������������������������������

��������������������������������������

����������������

����������������

������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������

���������������������������������������������

���������������������������������������������

1

2 3

5

6

4

����������������������������������������

����������������������������������������

����������������������������������������

������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������

����������������������������������������

��������������������������������������������������

��������������������������������������������������

������������

������������

������������

������������

����������������

������������

������������

������������

������������

������������

������������������������������������������������������������

������������������������������������������������������������

�����

�����

������

������

������������������������������������

������������������������������������������������������

������������������������������������������������������

������������������������������������������������������������������

������������������������������������������������������������������

��������������������������������������

����������������

����������������

������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������

���������������������������������������������

���������������������������������������������

1

2 3

5

6

4

60 / 80Tutorial on Molecular Computing

Page 73: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Graph G

������������

������������

������������

������������

����������������

������������

������������

������������

������������

������������

������������������������������������������������������������

������������������������������������������������������������

�����

�����

������

������

������������������������������������

������������������������������������������������������

������������������������������������������������������

������������������������������������������������������������������

������������������������������������������������������������������

��������������������������������������

����������������

����������������

������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������

���������������������������������������������

���������������������������������������������

1

2 3

5

6

4

����������������������������������������

����������������������������������������

����������������������������������������

������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������

����������������������������������������

��������������������������������������������������

��������������������������������������������������

������������

������������

������������

������������

����������������

������������

������������

������������

������������

������������

������������������������������������������������������������

������������������������������������������������������������

�����

�����

������

������

������������������������������������

������������������������������������������������������

������������������������������������������������������

������������������������������������������������������������������

������������������������������������������������������������������

��������������������������������������

����������������

����������������

������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������

���������������������������������������������

���������������������������������������������

1

2 3

5

6

4

60 / 80Tutorial on Molecular Computing

Page 74: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

61 / 80Tutorial on Molecular Computing

Page 75: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

62 / 80Tutorial on Molecular Computing

Page 76: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

63 / 80Tutorial on Molecular Computing

Page 77: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

64 / 80Tutorial on Molecular Computing

Page 78: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

65 / 80Tutorial on Molecular Computing

Page 79: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

66 / 80Tutorial on Molecular Computing

Page 80: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

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 / 80Tutorial on Molecular Computing

Page 81: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Outline1 Introduction

ComputingDNA strandsPeptides and Antibodies

2 DNA ComputingWhat is DNA ComputingFirst papers on DNA ComputingTheoretical Models

3 Peptide ComputingAs a Computational ModelSolving SAT ProblemHamiltonian Path ProblemTheoretical Models

4 Remarks and Open Problems

68 / 80Tutorial on Molecular Computing

Page 82: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

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 / 80Tutorial on Molecular Computing

Page 83: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

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 / 80Tutorial on Molecular Computing

Page 84: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

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 / 80Tutorial on Molecular Computing

Page 85: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

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 / 80Tutorial on Molecular Computing

Page 86: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

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 / 80Tutorial on Molecular Computing

Page 87: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

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 / 80Tutorial on Molecular Computing

Page 88: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

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 zthen multiset R(z,a) is formed and τ → τ ′.

Reaction between words – if a in z ′ dominates some position inz.

71 / 80Tutorial on Molecular Computing

Page 89: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

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 / 80Tutorial on Molecular Computing

Page 90: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

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 / 80Tutorial on Molecular Computing

Page 91: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

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 / 80Tutorial on Molecular Computing

Page 92: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

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 / 80Tutorial on Molecular Computing

Page 93: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

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 peptideconfiguration.

Peptide program is the one which controls the instruction set andthe halting function.

Peptide computation is a sequence of transition of stableconfigurations from c0, c1 · · · ci (with respect to the peptideprogram) where χ(ci ) = 1 for the first time.

A function f is peptide computable if we proper encoding anddecoding together with a peptide program to carry out thecomputation.

73 / 80Tutorial on Molecular Computing

Page 94: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

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 peptideconfiguration.

Peptide program is the one which controls the instruction set andthe halting function.

Peptide computation is a sequence of transition of stableconfigurations from c0, c1 · · · ci (with respect to the peptideprogram) where χ(ci ) = 1 for the first time.

A function f is peptide computable if we proper encoding anddecoding together with a peptide program to carry out thecomputation.

73 / 80Tutorial on Molecular Computing

Page 95: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

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 peptideconfiguration.

Peptide program is the one which controls the instruction set andthe halting function.

Peptide computation is a sequence of transition of stableconfigurations from c0, c1 · · · ci (with respect to the peptideprogram) where χ(ci ) = 1 for the first time.

A function f is peptide computable if we proper encoding anddecoding together with a peptide program to carry out thecomputation.

73 / 80Tutorial on Molecular Computing

Page 96: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

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 peptideconfiguration.

Peptide program is the one which controls the instruction set andthe halting function.

Peptide computation is a sequence of transition of stableconfigurations from c0, c1 · · · ci (with respect to the peptideprogram) where χ(ci ) = 1 for the first time.

A function f is peptide computable if we proper encoding anddecoding together with a peptide program to carry out thecomputation.

73 / 80Tutorial on Molecular Computing

Page 97: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

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 peptideconfiguration.

Peptide program is the one which controls the instruction set andthe halting function.

Peptide computation is a sequence of transition of stableconfigurations from c0, c1 · · · ci (with respect to the peptideprogram) where χ(ci ) = 1 for the first time.

A function f is peptide computable if we proper encoding anddecoding together with a peptide program to carry out thecomputation.

73 / 80Tutorial on Molecular Computing

Page 98: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

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 peptideconfiguration.

Peptide program is the one which controls the instruction set andthe halting function.

Peptide computation is a sequence of transition of stableconfigurations from c0, c1 · · · ci (with respect to the peptideprogram) where χ(ci ) = 1 for the first time.

A function f is peptide computable if we proper encoding anddecoding together with a peptide program to carry out thecomputation.

73 / 80Tutorial on Molecular Computing

Page 99: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Sufficiency Condition

Peptide computer is simulated by a Turing machine if1 E and A are (at least) computably enumerable

2 α is decidable

3 β and χ are computable

74 / 80Tutorial on Molecular Computing

Page 100: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Other Models

Automaton Models inspiredby Peptide Computing

Binding-Blocking Automata

String Binding-BlockingAutomata

Rewriting Binding-BlockingAutomata

Modelling gate operationsand Boolean circuits

Model to do binary additionin parallel

75 / 80Tutorial on Molecular Computing

Page 101: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Other Models

Automaton Models inspiredby Peptide Computing

Binding-Blocking Automata

String Binding-BlockingAutomata

Rewriting Binding-BlockingAutomata

Modelling gate operationsand Boolean circuits

Model to do binary additionin parallel

75 / 80Tutorial on Molecular Computing

Page 102: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Other Models

Automaton Models inspiredby Peptide Computing

Binding-Blocking Automata

String Binding-BlockingAutomata

Rewriting Binding-BlockingAutomata

Modelling gate operationsand Boolean circuits

Model to do binary additionin parallel

75 / 80Tutorial on Molecular Computing

Page 103: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Solving Hard Problems

Problems

Existing methods encode all possible solutions, hence numberof molecules is exponential [Hartmanis 1995]

Preprocessing steps

76 / 80Tutorial on Molecular Computing

Page 104: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Solving Hard Problems

Possible Solutions

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

Reduces number of peptide sequencesPreprocessing steps are avoided but included as a part ofalgorithmNumber of steps increases in the order of input sizeWhat kind of problems can be solved in this way?Will be an interesting problem to look into in Molecular computingas a whole

77 / 80Tutorial on Molecular Computing

Page 105: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Do we have to change the computing paradigm for molecularcomputing to a series of partial encodings and processingbefore decoding?

78 / 80Tutorial on Molecular Computing

Page 106: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Future Problems

Try solving a small instance of the Hamiltonian path problem inwetlab

Extend that to basic operations

Study how the theoretical model works out in wetlab

Defining basic operations for peptide computing: using ideasfrom aqueous computing [Tom Head et al 2002]

Conditions for a peptide computer where each step ends withina finite number of iterations

Dynamic non-determinism in peptide computer

79 / 80Tutorial on Molecular Computing

Page 107: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Future Problems

Try solving a small instance of the Hamiltonian path problem inwetlab

Extend that to basic operations

Study how the theoretical model works out in wetlab

Defining basic operations for peptide computing: using ideasfrom aqueous computing [Tom Head et al 2002]

Conditions for a peptide computer where each step ends withina finite number of iterations

Dynamic non-determinism in peptide computer

79 / 80Tutorial on Molecular Computing

Page 108: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Future Problems

Try solving a small instance of the Hamiltonian path problem inwetlab

Extend that to basic operations

Study how the theoretical model works out in wetlab

Defining basic operations for peptide computing: using ideasfrom aqueous computing [Tom Head et al 2002]

Conditions for a peptide computer where each step ends withina finite number of iterations

Dynamic non-determinism in peptide computer

79 / 80Tutorial on Molecular Computing

Page 109: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Future Problems

Try solving a small instance of the Hamiltonian path problem inwetlab

Extend that to basic operations

Study how the theoretical model works out in wetlab

Defining basic operations for peptide computing: using ideasfrom aqueous computing [Tom Head et al 2002]

Conditions for a peptide computer where each step ends withina finite number of iterations

Dynamic non-determinism in peptide computer

79 / 80Tutorial on Molecular Computing

Page 110: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Future Problems

Try solving a small instance of the Hamiltonian path problem inwetlab

Extend that to basic operations

Study how the theoretical model works out in wetlab

Defining basic operations for peptide computing: using ideasfrom aqueous computing [Tom Head et al 2002]

Conditions for a peptide computer where each step ends withina finite number of iterations

Dynamic non-determinism in peptide computer

79 / 80Tutorial on Molecular Computing

Page 111: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Future Problems

Try solving a small instance of the Hamiltonian path problem inwetlab

Extend that to basic operations

Study how the theoretical model works out in wetlab

Defining basic operations for peptide computing: using ideasfrom aqueous computing [Tom Head et al 2002]

Conditions for a peptide computer where each step ends withina finite number of iterations

Dynamic non-determinism in peptide computer

79 / 80Tutorial on Molecular Computing

Page 112: Tutorial on Molecular Computing€¦ · 15 / 80 Tutorial on Molecular Computing. Introduction DNA Computing Peptide Computing Remarks and Open Problems Peptides and Antibodies Peptides

Introduction DNA Computing Peptide Computing Remarks and Open Problems

Future Problems

On Immunity-based Systems[Ishida 2004] and PeptideComputing

Immunity-based System Peptide Computing

Information processing Computational modelSelf-nonself distinguishing Self-nonself modelSurvival is the main concern Computing is the main concern

Study about common area between these two fields

80 / 80Tutorial on Molecular Computing