Abstract
Synopsis
  Simple molecular logic programs
  Article in Nature Nanotechnology


Molecular implementation of simple logic programs (PDF)
Nature Nanotechnology
Published online: 2 August 2009 | doi:10.1038/nnano.2009.203

Tom Ran1, Shai Kaplan2,3 & Ehud Shapiro1,2

1Department of Computer Science and Applied Mathematics
2Department of Biological Chemistry
3Department of Molecular Cell Biology
Weizmann Institute of Science, Rehovot 76100 Israel


Autonomous programmable computing devices made of biomolecules could interact with a biological environment and be used in future biological and medical applications1, 2, 3, 4, 5, 6, 7 . Biomolecular implementations of finite automata8, 9 and logic gates4, 10, 11, 12, 13 have already been developed14, 15, 16, 17, 18. Here, we report an autonomous programmable molecular system based on the manipulation of DNA strands that is capable of performing simple logical deductions. Using molecular representations of facts such as Man(Socrates) and rules such as Mortal(X) Man(X) (Every Man is Mortal), the system can answer molecular queries such as Mortal(Socrates)? (Is Socrates Mortal?) and Mortal(X)? (Who is Mortal?). This biomolecular computing system compares favourably with previous approaches in terms of expressive power, performance and precision2, 4, 8, 9, 11, 12, 19. A compiler translates facts, rules and queries into their molecular representations and subsequently operates a robotic system that assembles the logical deductions and delivers the result. This prototype is the first simple programming language with a molecular-scale implementation.