research-eugene A Domain-Specific Language for Biological Device Design

Eugene is a human- and machine-readable language developed to aid in the design of novel biological devices. It provides facilities to specify biological parts and devices, which can be composed according to user-defined rules.

This allows users to generate biological device designs based on customizable constraints, such as the maximum number of included genetic parts, the directionality of specific components, or the total sequence length of the output device.

Click to visit the official Eugene site.

Key features

  • Specify synthetic biological components at various abstraction levels.
  • Define rules that constrain component selection and device composition
  • Manage the control-flow of design synthesis
  • Automatically generate biological devices from components
  • Prototype and invoke reusable functions

Funding

  • Agilent Application of Core Technology University Research Program (ACT-UR)
  • Program Manager: Steve Laderman

Download Eugene

Eugene can be accessed at eugenecad.org
The most recent release of the standalone Eugene executable is available via GitHub.

HIDDEN

eugene-diagrama-2

Selected Eugene publications:

  • L. Bilitchenko, A. Liu, S. Cheung, E. Weeding, B. Xia, M. Leguia, J. C. Anderson, and D. Densmore, “Eugene–a domain specific language for specifying and constraining synthetic biological parts, devices, and systems,” PLoS ONE, vol. 6, iss. 4, p. e18882, 2011.
    [BibTeX] [Download PDF]
    @Article{pmid21559524,
    Title = {{{E}ugene--a domain specific language for specifying and constraining synthetic biological parts, devices, and systems}},
    Author = {Bilitchenko, L. and Liu, A. and Cheung, S. and Weeding, E. and Xia, B. and Leguia, M. and Anderson, J. C. and Densmore, D. },
    Journal = {PLoS ONE},
    Year = {2011},
    Number = {4},
    Pages = {e18882},
    Volume = {6},
    __markedentry = {[Aaron Heuckroth:1]},
    Keywords = {design, eugene, specification, synthetic biology},
    Owner = {Aaron Heuckroth},
    Timestamp = {2013.09.16},
    Url = {http://www.ncbi.nlm.nih.gov/pubmed/21559524}
    }

  • L. Bilitchenko, A. Liu, and D. Densmore, “The Eugene language for synthetic biology,” Meth. Enzymol., vol. 498, pp. 153-172, 2011.
    [BibTeX] [Download PDF]
    @Article{pmid21601677,
    Title = {{{T}he {E}ugene language for synthetic biology}},
    Author = {Bilitchenko, L. and Liu, A. and Densmore, D. },
    Journal = {Meth. Enzymol.},
    Year = {2011},
    Pages = {153--172},
    Volume = {498},
    __markedentry = {[Aaron Heuckroth:1]},
    Keywords = {design, eugene, specification, synthetic biology},
    Owner = {Aaron Heuckroth},
    Timestamp = {2013.09.16},
    Url = {http://www.ncbi.nlm.nih.gov/pubmed/21601677}
    }

  • J. Chen, D. Densmore, T. S. Ham, J. D. Keasling, and N. J. Hillson, “DeviceEditor visual biological CAD canvas,” J Biol Eng, vol. 6, iss. 1, p. 1, 2012.
    [BibTeX] [Download PDF]
    @Article{pmid22373390,
    Title = {{{D}evice{E}ditor visual biological {C}{A}{D} canvas}},
    Author = {Chen, J. and Densmore, D. and Ham, T. S. and Keasling, J. D. and Hillson, N. J. },
    Journal = {J Biol Eng},
    Year = {2012},
    Number = {1},
    Pages = {1},
    Volume = {6},
    __markedentry = {[Aaron Heuckroth:1]},
    Keywords = {device editor, eugene, synthetic biology},
    Owner = {Aaron Heuckroth},
    Timestamp = {2013.09.16},
    Url = {http://www.ncbi.nlm.nih.gov/pubmed/22373390}
    }

  • D. Densmore, J. T. Kittleson, L. Bilitchenko, A. Liu, and J. C. Anderson, “Rule based constraints for the construction of genetic devices,” in Circuits and Systems (ISCAS), Proceedings of 2010 IEEE International Symposium on, 2010, pp. 557-560. doi:10.1109/ISCAS.2010.5537540
    [BibTeX] [Download PDF]
    @InProceedings{IEEE_5537540,
    Title = {Rule based constraints for the construction of genetic devices},
    Author = {Densmore, D. and Kittleson, J.T. and Bilitchenko, L. and Liu, A. and Anderson, J.C.},
    Booktitle = {Circuits and Systems (ISCAS), Proceedings of 2010 IEEE International Symposium on},
    Year = {2010},
    Pages = {557-560},
    __markedentry = {[Aaron Heuckroth:1]},
    Doi = {10.1109/ISCAS.2010.5537540},
    Keywords = {Assembly, Automation, Computer science, Design engineering, Domain specific languages, Electronic circuits, Eugene, Genetic engineering, Laboratories, Process design, Synthetic biology, application specific integrated circuits, automated design, eugene, genetic devices construction, hardware description languages, integrated circuit design, laboratory creation, logic design, phagemid, rule based constraints, synthetic biology},
    Owner = {Aaron Heuckroth},
    Timestamp = {2013.09.16},
    Url = {http://ieeexplore.ieee.org/xpl/abstractReferences.jsp?arnumber=5537540&tag=1}
    }

  • H. Huang, E. Oberortner, D. Densmore, and A. Kuchinsky, Eugene’s Enriched Set of Features to Design Synthetic Biological Devices, talk presented at the International Workshop on Bio-Design Automation (IWBDA) , June, 2012.
    [BibTeX] [Abstract] [Download PDF]
    Eugene is a design language to support synthetic biologist in order to construct large and complex biological devices more accurately. Compared to its original version, Eugene provides now an enriched set of functionalities to specify and constrain synthetic biological devices and their design synthesis. This work highlights (1) the declaration of devices at various abstraction levels, (2) the control-flow management of design synthesis, (3) a design space exploration to generate devices, and (4) the prototyping of functions. Eugene allows synthetic biologists to specify, design, and constrain a large number of biological devices in a few lines of code, without having to specify every single device manually. <a href="http://cidarlab.org/wp-content/uploads/2013/09/OberortnerSynBERC2012.pdf ">A detailed etailed abstract for this IWBDA presentation is available here.</a>

    @Misc{HuangIWBDA2012,
    Title = {Eugene's Enriched Set of Features to Design Synthetic Biological Devices},
    Author = {Huang, Haiyao and Oberortner, Ernst and Densmore, Douglas and Kuchinsky, Allan},
    HowPublished = {talk presented at the International Workshop on Bio-Design Automation (IWBDA)},
    Month = {June},
    Year = {2012},
    __markedentry = {[Aaron Heuckroth:1]},
    Abstract = {Eugene is a design language to support synthetic biologist in order to construct large and complex biological devices more accurately. Compared to its original version, Eugene provides now an enriched set of functionalities to specify and constrain synthetic biological devices and their design synthesis. This work highlights (1) the declaration of devices at various abstraction levels, (2) the control-flow management of design synthesis, (3) a design space exploration to generate devices, and (4) the prototyping of functions. Eugene allows synthetic biologists to specify, design, and constrain a large number of biological devices in a few lines of code, without having to specify every single device manually.
    <a href="http://cidarlab.org/wp-content/uploads/2013/09/OberortnerSynBERC2012.pdf
    ">A detailed etailed abstract for this IWBDA presentation is available here.</a>},
    Keywords = {eugene, synthetic biology, talk},
    Owner = {Aaron Heuckroth},
    Timestamp = {2013.08.13},
    Url = {http://cidarlab.org/wp-content/uploads/2013/09/HuangIWBDA2012.pdf}
    }

  • E. Oberortner, S. Bhatia, E. Lindgren, and D. Densmore, “A Rule-Based Design Specification Language for Synthetic Biology,” J. Emerg. Technol. Comput. Syst. Special Issue on Synthetic Biology, vol. 11, iss. 3, p. 25:1–25:19, 2014. doi:10.1145/2641571
    [BibTeX] [Download PDF]
    @Article{Oberortner:2014:RDS:2711453.2641571,
    Title = {A Rule-Based Design Specification Language for Synthetic Biology},
    Author = {Oberortner, Ernst and Bhatia, Swapnil and Lindgren, Erik and Densmore, Douglas},
    Journal = {J. Emerg. Technol. Comput. Syst. Special Issue on Synthetic Biology},
    Year = {2014},
    Month = dec,
    Number = {3},
    Pages = {25:1--25:19},
    Volume = {11},
    Acmid = {2641571},
    Address = {New York, NY, USA},
    Articleno = {25},
    Doi = {10.1145/2641571},
    ISSN = {1550-4832},
    Issue_date = {December 2014},
    Keywords = {Synthetic biology, design, language, rule, specification, template},
    Numpages = {19},
    Owner = {Aaron},
    Publisher = {ACM},
    Timestamp = {2015.01.28},
    Url = {http://doi.acm.org/10.1145/2641571}
    }

  • E. Oberortner and D. Densmore, “Web-Based Software Tool for Constraint-Based Design Specification of Synthetic Biological Systems,” ACS Synthetic Biology, p. null, 2014. doi:10.1021/sb500352b
    [BibTeX] [Abstract] [Download PDF]
    miniEugene provides computational support for solving combinatorial design problems, enabling users to specify and enumerate designs for novel biological systems based on sets of biological constraints. This technical note presents a brief tutorial for biologists and software engineers in the field of synthetic biology on how to use miniEugene. After reading this technical note, users should know which biological constraints are available in miniEugene, understand the syntax and semantics of these constraints, and be able to follow a step-by-step guide to specify the design of a classical synthetic biological system—the genetic toggle switch.1 We also provide links and references to more information on the miniEugene web application and the integration of the miniEugene software library into sophisticated Computer-Aided Design (CAD) tools for synthetic biology (www.eugenecad.org).

    @Article{doi:10.1021/sb500352b,
    Title = {Web-Based Software Tool for Constraint-Based Design Specification of Synthetic Biological Systems},
    Author = {Oberortner, Ernst and Densmore, Douglas},
    Journal = {ACS Synthetic Biology},
    Year = {2014},
    Note = {PMID: 25426642},
    Number = {0},
    Pages = {null},
    Volume = {0},
    Abstract = { miniEugene provides computational support for solving combinatorial design problems, enabling users to specify and enumerate designs for novel biological systems based on sets of biological constraints. This technical note presents a brief tutorial for biologists and software engineers in the field of synthetic biology on how to use miniEugene. After reading this technical note, users should know which biological constraints are available in miniEugene, understand the syntax and semantics of these constraints, and be able to follow a step-by-step guide to specify the design of a classical synthetic biological system—the genetic toggle switch.1 We also provide links and references to more information on the miniEugene web application and the integration of the miniEugene software library into sophisticated Computer-Aided Design (CAD) tools for synthetic biology (www.eugenecad.org). },
    Doi = {10.1021/sb500352b},
    Eprint = {
    http://dx.doi.org/10.1021/sb500352b
    },
    Owner = {Aaron},
    Timestamp = {2015.02.02},
    Url = {
    http://dx.doi.org/10.1021/sb500352b
    }
    }

  • E. Oberortner and D. Densmore, An Ecosystem of Rule-Based Design Tools and Languages, poster presented at the Synberc 2014 Spring Retreat, Berkeley CA , March, 2014.
    [BibTeX] [Abstract] [Download PDF]
    The synthetic biology design paradigm recursively decomposes a system into smaller sub-systems that can be designed independently. Then, those sub-systems are composed to resultantly build a functioning system. We develop an ecosystem of tools, languages, and standards for an automated in silico design of DNA sequences, Parts, Devices, and Systems compliant with biological rules and constraints. Here, we present two tools of this ecosystem – -Sparrow and miniEugene — and their automated data exchange. Sparrow is a rule-based system to discover knowledge of biological data and rules on designing novel biological systems. For the time being, Sparrow supports importing data (e.g. parts, devices, or designs) and querying data based on characteristics (e.g. type, strength, media, or growth rate). miniEugene arranges the composition of a system’s sub-systems according to a given set of constraints. We support constraints regarding the position, orientation, and count of a system’s sub-components, as well as their pair-wise occurrence and regulatory interactions among them. In this ecosystem, we support an automated data exchange using the SBOL standard data format and scientific workflow systems. We demonstrate an automated workflow between Sparrow and miniEugene on designing a genetic Priority Encoder circuit. This solution enables to customize and automate synthetic biology workflows rapidly — the ultimate goal of the Eugene ecosystem.

    @Misc{SynBERCEcosystem2014,
    Title = {An Ecosystem of Rule-Based Design Tools and Languages},
    Author = {Ernst Oberortner and Douglas Densmore},
    HowPublished = {poster presented at the Synberc 2014 Spring Retreat, Berkeley CA},
    Month = {March},
    Year = {2014},
    Abstract = {The synthetic biology design paradigm recursively decomposes a system into smaller sub-systems that can be designed independently. Then, those sub-systems are composed to resultantly build a functioning system.
    We develop an ecosystem of tools, languages, and standards for an automated in silico design of DNA sequences, Parts, Devices, and Systems compliant with biological rules and constraints. Here, we present two tools of this ecosystem - -Sparrow and miniEugene -- and their automated data exchange.
    Sparrow is a rule-based system to discover knowledge of biological data and rules on designing novel biological systems. For the time being, Sparrow supports importing data (e.g. parts, devices, or designs) and querying data based on characteristics (e.g. type, strength, media, or growth rate).
    miniEugene arranges the composition of a system's sub-systems according to a given set of constraints. We support constraints regarding the position, orientation, and count of a system's sub-components, as well as their pair-wise occurrence and regulatory interactions among them.
    In this ecosystem, we support an automated data exchange using the SBOL standard data format and scientific workflow systems. We demonstrate an automated workflow between Sparrow and miniEugene on designing a genetic Priority Encoder circuit. This solution enables to customize and automate synthetic biology workflows rapidly -- the ultimate goal of the Eugene ecosystem.},
    Keywords = {eugene, CIDAR, synthetic biology, software},
    Owner = {Aaron Heuckroth},
    Timestamp = {2014.04.07},
    Url = {http://cidarlab.org/wp-content/uploads/2014/04/Oberortner_SynBERC_Spring2014_Poster-1.pdf}
    }

  • E. Oberortner, H. Huang, S. Bhatia, and D. Densmore, Eugene 2.0: A Domain-specific Language to Specify Constraint Synthetic Biological Devices, poster presented at the SynBERC Spring Retreat, University of California-Berkeley , March, 2012.
    [BibTeX] [Download PDF]
    @Misc{OberortnerSynBERC2012,
    Title = {Eugene 2.0: A Domain-specific Language to Specify Constraint Synthetic Biological Devices},
    Author = {Oberortner, Ernst and Huang, Haiyao and Bhatia, Swapnil and Densmore, Douglas},
    HowPublished = {poster presented at the SynBERC Spring Retreat, University of California-Berkeley},
    Month = {March},
    Year = {2012},
    __markedentry = {[Aaron Heuckroth:1]},
    Keywords = {eugene, posters, synthetic biology},
    Location = {SynBERC},
    Owner = {Aaron Heuckroth},
    Timestamp = {2013.08.13},
    Url = {http://cidarlab.org/wp-content/uploads/2013/09/OberortnerSynBERC2012.pdf}
    }

Project Lead

Ernst Oberortner, PhD ernstl@bu.edu

Ernst Oberortner, PhD

CIDAR Collaborators

Swapnil Bhatia, PhD
Traci Haddock, PhD
Cassie Huang, MS

iGEM Students

Boston University iGEM Team, 2013

Funding

Steve Laderman, Agilent Technologies

More information about Eugene, including documentation and usage examples, is available at www.eugenecad.org.