Cargando…

Solving a Hamiltonian Path Problem with a bacterial computer

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

Descripción completa

Detalles Bibliográficos
Autores principales: Baumgardner, Jordan, Acker, Karen, Adefuye, Oyinade, Crowley, Samuel Thomas, DeLoache, Will, Dickson, James O, Heard, Lane, Martens, Andrew T, Morton, Nickolaus, Ritter, Michelle, Shoecraft, Amber, Treece, Jessica, Unzicker, Matthew, Valencia, Amanda, Waters, Mike, Campbell, A Malcolm, Heyer, Laurie J, Poet, Jeffrey L, Eckdahl, Todd T
Formato: Texto
Lenguaje:English
Publicado: BioMed Central 2009
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2723075/
https://www.ncbi.nlm.nih.gov/pubmed/19630940
http://dx.doi.org/10.1186/1754-1611-3-11
_version_ 1782170349310312448
author Baumgardner, Jordan
Acker, Karen
Adefuye, Oyinade
Crowley, Samuel Thomas
DeLoache, Will
Dickson, James O
Heard, Lane
Martens, Andrew T
Morton, Nickolaus
Ritter, Michelle
Shoecraft, Amber
Treece, Jessica
Unzicker, Matthew
Valencia, Amanda
Waters, Mike
Campbell, A Malcolm
Heyer, Laurie J
Poet, Jeffrey L
Eckdahl, Todd T
author_facet Baumgardner, Jordan
Acker, Karen
Adefuye, Oyinade
Crowley, Samuel Thomas
DeLoache, Will
Dickson, James O
Heard, Lane
Martens, Andrew T
Morton, Nickolaus
Ritter, Michelle
Shoecraft, Amber
Treece, Jessica
Unzicker, Matthew
Valencia, Amanda
Waters, Mike
Campbell, A Malcolm
Heyer, Laurie J
Poet, Jeffrey L
Eckdahl, Todd T
author_sort Baumgardner, Jordan
collection PubMed
description 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.
format Text
id pubmed-2723075
institution National Center for Biotechnology Information
language English
publishDate 2009
publisher BioMed Central
record_format MEDLINE/PubMed
spelling pubmed-27230752009-08-08 Solving a Hamiltonian Path Problem with a bacterial computer Baumgardner, Jordan Acker, Karen Adefuye, Oyinade Crowley, Samuel Thomas DeLoache, Will Dickson, James O Heard, Lane Martens, Andrew T Morton, Nickolaus Ritter, Michelle Shoecraft, Amber Treece, Jessica Unzicker, Matthew Valencia, Amanda Waters, Mike Campbell, A Malcolm Heyer, Laurie J Poet, Jeffrey L Eckdahl, Todd T J Biol Eng Research 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. BioMed Central 2009-07-24 /pmc/articles/PMC2723075/ /pubmed/19630940 http://dx.doi.org/10.1186/1754-1611-3-11 Text en Copyright © 2009 Baumgardner et al; licensee BioMed Central Ltd. http://creativecommons.org/licenses/by/2.0 This is an Open Access article distributed under the terms of the Creative Commons Attribution License ( (http://creativecommons.org/licenses/by/2.0) ), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
spellingShingle Research
Baumgardner, Jordan
Acker, Karen
Adefuye, Oyinade
Crowley, Samuel Thomas
DeLoache, Will
Dickson, James O
Heard, Lane
Martens, Andrew T
Morton, Nickolaus
Ritter, Michelle
Shoecraft, Amber
Treece, Jessica
Unzicker, Matthew
Valencia, Amanda
Waters, Mike
Campbell, A Malcolm
Heyer, Laurie J
Poet, Jeffrey L
Eckdahl, Todd T
Solving a Hamiltonian Path Problem with a bacterial computer
title Solving a Hamiltonian Path Problem with a bacterial computer
title_full Solving a Hamiltonian Path Problem with a bacterial computer
title_fullStr Solving a Hamiltonian Path Problem with a bacterial computer
title_full_unstemmed Solving a Hamiltonian Path Problem with a bacterial computer
title_short Solving a Hamiltonian Path Problem with a bacterial computer
title_sort solving a hamiltonian path problem with a bacterial computer
topic Research
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2723075/
https://www.ncbi.nlm.nih.gov/pubmed/19630940
http://dx.doi.org/10.1186/1754-1611-3-11
work_keys_str_mv AT baumgardnerjordan solvingahamiltonianpathproblemwithabacterialcomputer
AT ackerkaren solvingahamiltonianpathproblemwithabacterialcomputer
AT adefuyeoyinade solvingahamiltonianpathproblemwithabacterialcomputer
AT crowleysamuelthomas solvingahamiltonianpathproblemwithabacterialcomputer
AT deloachewill solvingahamiltonianpathproblemwithabacterialcomputer
AT dicksonjameso solvingahamiltonianpathproblemwithabacterialcomputer
AT heardlane solvingahamiltonianpathproblemwithabacterialcomputer
AT martensandrewt solvingahamiltonianpathproblemwithabacterialcomputer
AT mortonnickolaus solvingahamiltonianpathproblemwithabacterialcomputer
AT rittermichelle solvingahamiltonianpathproblemwithabacterialcomputer
AT shoecraftamber solvingahamiltonianpathproblemwithabacterialcomputer
AT treecejessica solvingahamiltonianpathproblemwithabacterialcomputer
AT unzickermatthew solvingahamiltonianpathproblemwithabacterialcomputer
AT valenciaamanda solvingahamiltonianpathproblemwithabacterialcomputer
AT watersmike solvingahamiltonianpathproblemwithabacterialcomputer
AT campbellamalcolm solvingahamiltonianpathproblemwithabacterialcomputer
AT heyerlauriej solvingahamiltonianpathproblemwithabacterialcomputer
AT poetjeffreyl solvingahamiltonianpathproblemwithabacterialcomputer
AT eckdahltoddt solvingahamiltonianpathproblemwithabacterialcomputer