CISC 449 /649 Homepage

Previous: Table of Contents


Preface

DNA Computing starts with information encoded into DNA molecules, which are usually made to order commercially. These molecules are manupliated with laboratory processes to produce DNA that represents increased information. This is not science fiction. In 1994 Adleman demonstrated the first DNA computation: he found Hamiltonian paths through a graph, a version of the well-known (NP-complete) Traveling Salesman problem. However, it is still far too soon to give a complete account of the field of DNA computing. The field is expanding fast. A number of difficulties have been pointed out, including some serious concerns. I argue these difficulties can be overcome; in these notes I give a preliminary guide to practical DNA Computation.

Where there are gaps in what is presently known about DNA Computing, I offer my thoughts and opinions. Hopefully, these may stimulate further discussion and research. When speculating, I try to assign a Partly-Baked Index (PBI) between zero and one. In this way I hope vague mutterings about half-baked ideas can be turned into quantifiable topics of debate [Good, 1964].

Part I of these notes begins with an example of DNA Computing, namely, a simplified version of Adleman's breakthrough experiment. This is followed by a section entitled ``What Problems are Suited to DNA Computing?'' After Adleman's breakthrough, a number of concerns arose. We list these concerns in a later section, briefly answer each one, and indicate sections where each concern is addressed in detail. Part I concludes with a chapter about the current interplay of Biology and Computer Science. DNA Computing is the most recent example, joining such topics as Computational Biology, Neural Nets, Genetic Algorithms, and Molecular Computing.

The heart of these notes is Part II, which contains chapters on Biology, Computer Science, and Computer Algebra (extending the latter term to embrace much of symbolic computation). On one hand, DNA Computation borrows from these three areas. On the other hand, it puts these traditional subjects under stress as they accommodate the questions raised by our new topic. The sheer intellectual stretch demanded by this three-way accommodation to DNA Computing presents many challenges for the future.

Whatever interdisciplinary breadth is achieved in these notes is mostly due to passionate discussions with my colleague Dr. Robert M. Williams. I am deeply grateful for his vision. My rather limited grasp of bimolecular laboratory technology has greatly increased in discussions with Junghuei Chen, Harvey Rubin, Nadrian Seeman, and Susan Wood Tilney. I thank them for their good humor in facing questions that were often awkwardly phrased and sometimes self-contradictory. I benefited because their answers went far, far beyond the usual opening phrase, ``Well, I never had to think about that before, but ...''

DNA Computing can never be a practical accomplishment until some fundamental issues are addressed. Part III contains a chapter devoted to DNA Computer Engineering. We address error control, data structures, communication, computer architectures, instruction sets, and other issues.

These notes are intended to be both elementary and self-contained. Elementary explanations adequate for our topic are given for all necessary concepts such as polymerase chain reaction, affinity separation, Turing machines, various complexity classes, permanents, and many more. I strive to give references to basic topics at two levels, both the textbook level and tutorial exposition level. Of course, more advanced topics also reference research papers. Some marvelous resources on the internet have also been cited despite their possible transience.


CISC 449 / 649 Homepage

Previous: Table of Contents


David H Wood
Thu Oct 2 15:50:17 EDT 1997