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.