SlideShare a Scribd company logo
1 of 1
Download to read offline
Designing Genetic Circuits
Using Heuristic Algorithms
Adam DeHovitz1,2]
and Swapnil Bhatia[2]
Stuyvesant High School, 345 Chambers St., Manhattan, NY, 10282[1]
, Boston University, Boston, MA, 02215[2]
Genetic circuit design brings traditional computational circuits into the realm of DNA, by synthetically designing seg-
ments of DNA to perform a function. Work in the field of genetic circuit design has produced different mechanisms of creating
these functions, including CRISPR interference and recombinase gates. Despite these developments, challenges in the field
remain including the process of converting Boolean functions into valid Genetic designs. To solve this problem, we attempted
to apply an A* like approach in the form of a heuristic algorithm which would effectively address this concern. By approaching
the problem in this manner, we are able to produce a valid design, which may not be optimized in all respects, but is still very
good and has a shorter run time than alternative methods. This work could propel the field of synthetic biology, and could lead
to cells, which, for example, could be developed to respond in specific ways to different environmental stimuli.
Abstract
Introduction
Methods
Conclusion
References
Results
Promoter: Site of RNA Polymerase binding and the beginning of conscription
Coding Sequence: Site that codes a desired protein output
Terminator: Stops the Polymerase, preventing further encoding
Inverted Terminator with recombinase: Terminator is ineffective, unless recombinase
0 is present which inverts everything in between, in this case T
Guide
Acknowledgments
Thanks to Erik Lindgren for HTTP post code.
Thanks to professor Wilson Wong and Ben Weignberg for introducing
us to this problem
Synthetic biological circuits, part of the wider field of synthetic biology, use biological parts within a cell to replicate logi-
cal functions. For example, by constructing DNA using various genetic parts one could create a system where if amino acid x is
present and y is not, the cell would produce a protein z. This can also be expressed as a Boolean statement, X AND NOT Y. This
idea can be expanded into more complex expressions.
In fact, given any Boolean output, for example“0001”for an AND gate, one can construct a genetic design. The main pur-
pose of this experiment has been to construct an algorithm that efficiently and quickly finds the most effective genetic design
for a Boolean output, by using a heuristic approach similar to A*, a popular pathing software.
Furthermore, we needed a metric to compare our algorithm to. For that, we turned to the Espresso Heuristic Logic Mini-
mizer, developed by UC Berkeley. We would run it on the input boolean values, use the software to simplify it to a short bool-
ean statement, and then use simple rules to turn it into a Genetic Design
To test the viability of our heuristic algorithm, we compared it to a separate method using UC Berke-
ley’s Espresso Heuristic Logic Minimizer. We would generate every combination of 2 input and 3 input
boolean values, 274 in total, and find a genetic design solution using both methods. Below is an explana-
tion of how our constructed heuristic algorithm worked.
Espresso Algorithm:
- Run Espresso on a properly formatted truth table
- Take minimized output, in the form of a sum of products
- Each new product was it’s own unit, the components of each product would then be represented as a
recombinase surrounding either a promoter, coding sequence, or terminator.
Heuristic Algorithm:
1. Set a genetic circuit with no output as the current design
2. Create an open list of adjacent genetic design
3. Calculate each f(design) value, where f(design) = g(design) + h(design) and
- g(design) = c1 * parts(design) + c2 * units(design) +
c3 * recombinases(design) and c1 = 1, c2 = 1, and c3=4
- h(design) = c4 * HammingDifference(b(design), b), and
c4 = 5
4. Check to see if solution has been reached and return, else
5. Set the node with the lowest F value as the current node
Valid adjacent nodes are determined:
1. Recombinase representing a valid input variable placed around any unit expect for terminators after
coding sequences.
2. Terminators, with recombinases, may be added between promoters and coding sequences
3. New units may be created with a coding sequence surrounded by a recombinase representing a valid
variable
Bhatia, S. & Densmore, D. Pigeon: a design visualizer for synthetic biology.
ACS Synth. Biol. 2, 348–350 (2013).'
Siuti, P., Yazbek, J. & Lu, T.K. Synthetic circuits integrating logic and memory in living cells. Nat. Biotech-
nol. 31, 448–452 (2013).
Brophy, J & Voigt, C. Principles of genetic circuit design. (2014)
Ham, T. Lee, S. Keasling, J. & Arkin, A. Design and Construction of a Double Inversion Recombination
Switch for Heritable Sequential Genetic Memory. (2008)
Best Solutions for all 256 combinations with 3 inputs
Green means generated by Search Algorithm, Red by Espresso, white both
When compared to the espresso approach, the heuristic algorithm that works within the design
space performs better in most respects. The design that search algorithm returns is generally more com-
pact than what the espresso method can perform, especially with designs that include operations like
XORs. Critically though, the espresso approach is significantly faster, taking approximately a tenth of what
the search algorithm does, with some margin of error.
Furthermore, there is room for optimization. The next step will be to find the situations where espres-
so beats the search algorithm, and find out why that’s happening. Additionally, the heuristic could be fine
tuned to allow the program to more quickly zoom into the appropriate design.

More Related Content

Similar to ADPosterFinal

Coates p: the use of genetic programing in exploring 3 d design worlds
Coates p: the use of genetic programing in exploring 3 d design worldsCoates p: the use of genetic programing in exploring 3 d design worlds
Coates p: the use of genetic programing in exploring 3 d design worlds
ArchiLab 7
 
20090219 The case for another systems biology modelling environment
20090219 The case for another systems biology modelling environment20090219 The case for another systems biology modelling environment
20090219 The case for another systems biology modelling environment
Jonathan Blakes
 
Coates p: the use of genetic programming for applications in the field of spa...
Coates p: the use of genetic programming for applications in the field of spa...Coates p: the use of genetic programming for applications in the field of spa...
Coates p: the use of genetic programming for applications in the field of spa...
ArchiLab 7
 
Performance Analysis of Genetic Algorithm as a Stochastic Optimization Tool i...
Performance Analysis of Genetic Algorithm as a Stochastic Optimization Tool i...Performance Analysis of Genetic Algorithm as a Stochastic Optimization Tool i...
Performance Analysis of Genetic Algorithm as a Stochastic Optimization Tool i...
paperpublications3
 
[Ris cy business]
[Ris cy business][Ris cy business]
[Ris cy business]
Dino, llc
 
APPLYING GENETIC ALGORITHMS TO INFORMATION RETRIEVAL USING VECTOR SPACE MODEL
APPLYING GENETIC ALGORITHMS TO INFORMATION RETRIEVAL USING VECTOR SPACE MODEL APPLYING GENETIC ALGORITHMS TO INFORMATION RETRIEVAL USING VECTOR SPACE MODEL
APPLYING GENETIC ALGORITHMS TO INFORMATION RETRIEVAL USING VECTOR SPACE MODEL
IJCSEA Journal
 
Applying genetic algorithms to information retrieval using vector space model
Applying genetic algorithms to information retrieval using vector space modelApplying genetic algorithms to information retrieval using vector space model
Applying genetic algorithms to information retrieval using vector space model
IJCSEA Journal
 
BioAssay Express: Creating and exploiting assay metadata
BioAssay Express: Creating and exploiting assay metadataBioAssay Express: Creating and exploiting assay metadata
BioAssay Express: Creating and exploiting assay metadata
Philip Cheung
 

Similar to ADPosterFinal (20)

Coates p: the use of genetic programing in exploring 3 d design worlds
Coates p: the use of genetic programing in exploring 3 d design worldsCoates p: the use of genetic programing in exploring 3 d design worlds
Coates p: the use of genetic programing in exploring 3 d design worlds
 
Hybrid Meta-Heuristic Algorithms For Solving Network Design Problem
Hybrid Meta-Heuristic Algorithms For Solving Network Design ProblemHybrid Meta-Heuristic Algorithms For Solving Network Design Problem
Hybrid Meta-Heuristic Algorithms For Solving Network Design Problem
 
20090219 The case for another systems biology modelling environment
20090219 The case for another systems biology modelling environment20090219 The case for another systems biology modelling environment
20090219 The case for another systems biology modelling environment
 
CI_GA_module2_ABC_updatedG.ppt .
CI_GA_module2_ABC_updatedG.ppt           .CI_GA_module2_ABC_updatedG.ppt           .
CI_GA_module2_ABC_updatedG.ppt .
 
HPC-MAQ : A PARALLEL SHORT-READ REFERENCE ASSEMBLER
HPC-MAQ : A PARALLEL SHORT-READ REFERENCE ASSEMBLERHPC-MAQ : A PARALLEL SHORT-READ REFERENCE ASSEMBLER
HPC-MAQ : A PARALLEL SHORT-READ REFERENCE ASSEMBLER
 
Algorithms 14-00122
Algorithms 14-00122Algorithms 14-00122
Algorithms 14-00122
 
Coates p: the use of genetic programming for applications in the field of spa...
Coates p: the use of genetic programming for applications in the field of spa...Coates p: the use of genetic programming for applications in the field of spa...
Coates p: the use of genetic programming for applications in the field of spa...
 
Using particle swarm optimization to solve test functions problems
Using particle swarm optimization to solve test functions problemsUsing particle swarm optimization to solve test functions problems
Using particle swarm optimization to solve test functions problems
 
An approach for self creating software code in bionets with artificial embryo...
An approach for self creating software code in bionets with artificial embryo...An approach for self creating software code in bionets with artificial embryo...
An approach for self creating software code in bionets with artificial embryo...
 
TiMetmay10
TiMetmay10TiMetmay10
TiMetmay10
 
Ti met may10
Ti met may10Ti met may10
Ti met may10
 
A minimization approach for two level logic synthesis using constrained depth...
A minimization approach for two level logic synthesis using constrained depth...A minimization approach for two level logic synthesis using constrained depth...
A minimization approach for two level logic synthesis using constrained depth...
 
Performance Analysis of Genetic Algorithm as a Stochastic Optimization Tool i...
Performance Analysis of Genetic Algorithm as a Stochastic Optimization Tool i...Performance Analysis of Genetic Algorithm as a Stochastic Optimization Tool i...
Performance Analysis of Genetic Algorithm as a Stochastic Optimization Tool i...
 
Liquid Chromatography
Liquid ChromatographyLiquid Chromatography
Liquid Chromatography
 
[Ris cy business]
[Ris cy business][Ris cy business]
[Ris cy business]
 
PPT
PPTPPT
PPT
 
Predicting and Optimizing the End Price of an Online Auction using Genetic-Fu...
Predicting and Optimizing the End Price of an Online Auction using Genetic-Fu...Predicting and Optimizing the End Price of an Online Auction using Genetic-Fu...
Predicting and Optimizing the End Price of an Online Auction using Genetic-Fu...
 
APPLYING GENETIC ALGORITHMS TO INFORMATION RETRIEVAL USING VECTOR SPACE MODEL
APPLYING GENETIC ALGORITHMS TO INFORMATION RETRIEVAL USING VECTOR SPACE MODEL APPLYING GENETIC ALGORITHMS TO INFORMATION RETRIEVAL USING VECTOR SPACE MODEL
APPLYING GENETIC ALGORITHMS TO INFORMATION RETRIEVAL USING VECTOR SPACE MODEL
 
Applying genetic algorithms to information retrieval using vector space model
Applying genetic algorithms to information retrieval using vector space modelApplying genetic algorithms to information retrieval using vector space model
Applying genetic algorithms to information retrieval using vector space model
 
BioAssay Express: Creating and exploiting assay metadata
BioAssay Express: Creating and exploiting assay metadataBioAssay Express: Creating and exploiting assay metadata
BioAssay Express: Creating and exploiting assay metadata
 

ADPosterFinal

  • 1. Designing Genetic Circuits Using Heuristic Algorithms Adam DeHovitz1,2] and Swapnil Bhatia[2] Stuyvesant High School, 345 Chambers St., Manhattan, NY, 10282[1] , Boston University, Boston, MA, 02215[2] Genetic circuit design brings traditional computational circuits into the realm of DNA, by synthetically designing seg- ments of DNA to perform a function. Work in the field of genetic circuit design has produced different mechanisms of creating these functions, including CRISPR interference and recombinase gates. Despite these developments, challenges in the field remain including the process of converting Boolean functions into valid Genetic designs. To solve this problem, we attempted to apply an A* like approach in the form of a heuristic algorithm which would effectively address this concern. By approaching the problem in this manner, we are able to produce a valid design, which may not be optimized in all respects, but is still very good and has a shorter run time than alternative methods. This work could propel the field of synthetic biology, and could lead to cells, which, for example, could be developed to respond in specific ways to different environmental stimuli. Abstract Introduction Methods Conclusion References Results Promoter: Site of RNA Polymerase binding and the beginning of conscription Coding Sequence: Site that codes a desired protein output Terminator: Stops the Polymerase, preventing further encoding Inverted Terminator with recombinase: Terminator is ineffective, unless recombinase 0 is present which inverts everything in between, in this case T Guide Acknowledgments Thanks to Erik Lindgren for HTTP post code. Thanks to professor Wilson Wong and Ben Weignberg for introducing us to this problem Synthetic biological circuits, part of the wider field of synthetic biology, use biological parts within a cell to replicate logi- cal functions. For example, by constructing DNA using various genetic parts one could create a system where if amino acid x is present and y is not, the cell would produce a protein z. This can also be expressed as a Boolean statement, X AND NOT Y. This idea can be expanded into more complex expressions. In fact, given any Boolean output, for example“0001”for an AND gate, one can construct a genetic design. The main pur- pose of this experiment has been to construct an algorithm that efficiently and quickly finds the most effective genetic design for a Boolean output, by using a heuristic approach similar to A*, a popular pathing software. Furthermore, we needed a metric to compare our algorithm to. For that, we turned to the Espresso Heuristic Logic Mini- mizer, developed by UC Berkeley. We would run it on the input boolean values, use the software to simplify it to a short bool- ean statement, and then use simple rules to turn it into a Genetic Design To test the viability of our heuristic algorithm, we compared it to a separate method using UC Berke- ley’s Espresso Heuristic Logic Minimizer. We would generate every combination of 2 input and 3 input boolean values, 274 in total, and find a genetic design solution using both methods. Below is an explana- tion of how our constructed heuristic algorithm worked. Espresso Algorithm: - Run Espresso on a properly formatted truth table - Take minimized output, in the form of a sum of products - Each new product was it’s own unit, the components of each product would then be represented as a recombinase surrounding either a promoter, coding sequence, or terminator. Heuristic Algorithm: 1. Set a genetic circuit with no output as the current design 2. Create an open list of adjacent genetic design 3. Calculate each f(design) value, where f(design) = g(design) + h(design) and - g(design) = c1 * parts(design) + c2 * units(design) + c3 * recombinases(design) and c1 = 1, c2 = 1, and c3=4 - h(design) = c4 * HammingDifference(b(design), b), and c4 = 5 4. Check to see if solution has been reached and return, else 5. Set the node with the lowest F value as the current node Valid adjacent nodes are determined: 1. Recombinase representing a valid input variable placed around any unit expect for terminators after coding sequences. 2. Terminators, with recombinases, may be added between promoters and coding sequences 3. New units may be created with a coding sequence surrounded by a recombinase representing a valid variable Bhatia, S. & Densmore, D. Pigeon: a design visualizer for synthetic biology. ACS Synth. Biol. 2, 348–350 (2013).' Siuti, P., Yazbek, J. & Lu, T.K. Synthetic circuits integrating logic and memory in living cells. Nat. Biotech- nol. 31, 448–452 (2013). Brophy, J & Voigt, C. Principles of genetic circuit design. (2014) Ham, T. Lee, S. Keasling, J. & Arkin, A. Design and Construction of a Double Inversion Recombination Switch for Heritable Sequential Genetic Memory. (2008) Best Solutions for all 256 combinations with 3 inputs Green means generated by Search Algorithm, Red by Espresso, white both When compared to the espresso approach, the heuristic algorithm that works within the design space performs better in most respects. The design that search algorithm returns is generally more com- pact than what the espresso method can perform, especially with designs that include operations like XORs. Critically though, the espresso approach is significantly faster, taking approximately a tenth of what the search algorithm does, with some margin of error. Furthermore, there is room for optimization. The next step will be to find the situations where espres- so beats the search algorithm, and find out why that’s happening. Additionally, the heuristic could be fine tuned to allow the program to more quickly zoom into the appropriate design.