Skip to main page content
U.S. flag

An official website of the United States government

Dot gov

The .gov means it’s official.
Federal government websites often end in .gov or .mil. Before sharing sensitive information, make sure you’re on a federal government site.

Https

The site is secure.
The https:// ensures that you are connecting to the official website and that any information you provide is encrypted and transmitted securely.

Access keys NCBI Homepage MyNCBI Homepage Main Content Main Navigation
. 2009 Jul 24:3:11.
doi: 10.1186/1754-1611-3-11.

Solving a Hamiltonian Path Problem with a bacterial computer

Affiliations

Solving a Hamiltonian Path Problem with a bacterial computer

Jordan Baumgardner et al. J Biol Eng. .

Abstract

Background: 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.

Results: 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.

Conclusion: 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.

PubMed Disclaimer

Figures

Figure 1
Figure 1
A directed graph containing a unique Hamiltonian path. The seven nodes are connected with fourteen directed edges. The Hamiltonian Path Problem is to start at node 1, end at node 5, and visit each node exactly once while following the available edges. Adleman programmed a DNA computer to find the unique Hamiltonian path in this graph (1→4→7→2→3→6→5).
Figure 2
Figure 2
Illustration of the use of split genes to encode a seven node Hamiltonian Path Problem. a. The manner in which each of the directed edges in Figure 1 could be encoded in DNA is illustrated. The 5' half of each node gene is denoted by formula image and the 3' half is denoted by formula image. DNA edges are depicted by gene halves connected by arrows and flanked by triangles that represent hixC sites. Transcription in the direction of the solid arrow would terminate early and result in the expression of only one marker gene. b. Hin-mediated recombination would randomly reshuffle the DNA edges into many configurations. One possible example of an HPP solution configuration with its marker gene halves reunited is illustrated. Transcription in the direction of the solid arrow would result in expression of the six marker gene phenotypes.
Figure 3
Figure 3
Markov Chain model of solving a Hamiltonian Path Problem. Each colored line represents a different starting configuration of a graph with four nodes and three edges. As the number of flips increases, the probability of finding a Hamiltonian path solution converges to 1/48, or about 0.02.
Figure 4
Figure 4
DNA constructs that encode a three node Hamiltonian Path Problem. a. The three node directed graph contains a Hamiltonian path starting at the RFP node, proceeding to the GFP node, and finishing at the TT node. b. Construct ABC represents a solution to the three node HPP. Its three hixC-flanked DNA segments are in the proper order and orientation for the GFP and RFP genes to be intact. ACB has the RFP gene intact but not the GFP gene, while BAC has neither gene intact.
Figure 5
Figure 5
Detecting solutions to a Hamiltonian Path Problem with bacterial computing. Bacterial colonies containing each of the three starting constructs ABC, ACB, and BAC are shown on the left. Hin recombination resulted in the three plates of colonies on the right. The callouts include yellow colored colonies that contain solutions to the HPP.
Figure 6
Figure 6
DNA sequence verification of HPP solutions. Three yellow fluorescent colonies from each of the three recombination plates were used for plasmid preparation and DNA sequencing. The number of ABC and ABC' solution genotypes found for each of the starting constructs is listed. The order and orientations of GFP (green) and RFP (red) gene halves for each of the starting constructs and solutions is illustrated.
Figure 7
Figure 7
Clones isolated from HPP recombination plates. Selected colonies from ABC, ACB, and BAC recombination plates were grown overnight and replated. The results emphasize the diversity of colors produced by the bacterial computer in the HPP experiment.

References

    1. Karp RM. Reducibility among combinatorial problems. In: Miller RE, Thatcher JW, editor. Complexity of Computer Computations. Plenum Press; 1972. pp. 85–103.
    1. The international SAT competitions web page http://www.satcompetition.org/
    1. Gates W. Bounds for sorting by prefix reversal. Discrete Mathematics. 1979;27:47–57. doi: 10.1016/0012-365X(79)90068-2. - DOI
    1. Adleman LM. Molecular computation of solutions to combinatorial problems. Science. 1994;266:1021–1024. doi: 10.1126/science.7973651. - DOI - PubMed
    1. Benenson Y, Paz-Elizur T, Adar R, Keinan E, Livneh Z, Shapiro E. Programmable and autonomous computing machine made of biomolecules. Nature. 2001;414:430–434. doi: 10.1038/35106533. - DOI - PubMed