Department of Biology, Missouri Western State University, St Joseph, MO 64507, USA.
J Biol Eng. 2009 Jul 24;3:11. doi: 10.1186/1754-1611-3-11.
The Hamiltonian Path Problem asks whether there is a route in a directed graph from a beginning node to an ending node, visiting each node exactly once. The Hamiltonian Path Problem is NP complete, achieving surprising computational complexity with modest increases in size. This challenge has inspired researchers to broaden the definition of a computer. DNA computers have been developed that solve NP complete problems. Bacterial computers can be programmed by constructing genetic circuits to execute an algorithm that is responsive to the environment and whose result can be observed. Each bacterium can examine a solution to a mathematical problem and billions of them can explore billions of possible solutions. Bacterial computers can be automated, made responsive to selection, and reproduce themselves so that more processing capacity is applied to problems over time.
We programmed bacteria with a genetic circuit that enables them to evaluate all possible paths in a directed graph in order to find a Hamiltonian path. We encoded a three node directed graph as DNA segments that were autonomously shuffled randomly inside bacteria by a Hin/hixC recombination system we previously adapted from Salmonella typhimurium for use in Escherichia coli. We represented nodes in the graph as linked halves of two different genes encoding red or green fluorescent proteins. Bacterial populations displayed phenotypes that reflected random ordering of edges in the graph. Individual bacterial clones that found a Hamiltonian path reported their success by fluorescing both red and green, resulting in yellow colonies. We used DNA sequencing to verify that the yellow phenotype resulted from genotypes that represented Hamiltonian path solutions, demonstrating that our bacterial computer functioned as expected.
We successfully designed, constructed, and tested a bacterial computer capable of finding a Hamiltonian path in a three node directed graph. This proof-of-concept experiment demonstrates that bacterial computing is a new way to address NP-complete problems using the inherent advantages of genetic systems. The results of our experiments also validate synthetic biology as a valuable approach to biological engineering. We designed and constructed basic parts, devices, and systems using synthetic biology principles of standardization and abstraction.
哈密顿路径问题询问在有向图中是否存在从起始节点到结束节点的路线,并且每个节点恰好访问一次。哈密顿路径问题是 NP 完全问题,随着规模的适度增加,达到了惊人的计算复杂性。这一挑战激发了研究人员拓宽计算机的定义。已经开发出 DNA 计算机来解决 NP 完全问题。细菌计算机可以通过构建遗传电路来编程,以执行对环境做出响应且结果可观察的算法。每个细菌都可以检查数学问题的解决方案,并且数亿个细菌可以探索数亿个可能的解决方案。细菌计算机可以自动化,对选择做出响应,并自我复制,从而随着时间的推移将更多的处理能力应用于问题。
我们使用遗传电路编程细菌,使它们能够评估有向图中的所有可能路径,以找到哈密顿路径。我们将三节点有向图编码为 DNA 片段,这些片段通过我们之前从鼠伤寒沙门氏菌中改编用于大肠埃希氏菌的 Hin/hixC 重组系统在细菌内自主随机混合。我们将图中的节点表示为两个不同基因的链接半部分,这些基因编码红色或绿色荧光蛋白。细菌群体表现出反映图中边缘随机排序的表型。发现哈密顿路径的单个细菌克隆通过同时发出红色和绿色荧光报告其成功,从而产生黄色菌落。我们使用 DNA 测序验证黄色表型是由代表哈密顿路径解决方案的基因型引起的,这表明我们的细菌计算机按预期运行。
我们成功设计、构建和测试了一种能够在三节点有向图中找到哈密顿路径的细菌计算机。该概念验证实验表明,细菌计算是使用遗传系统固有优势解决 NP 完全问题的新方法。我们实验的结果还验证了合成生物学作为一种有价值的生物工程方法。我们使用合成生物学的标准化和抽象原则设计和构建了基本部件、设备和系统。