Synthetic Biology is an engineering discipline where parts of DNA sequences are composed into novel, complex systems that execute a desired biological function. Functioning and well-behaving biological systems adhere to a certain set of biological "rules". Data exchange standards and Bio-Design Automation (BDA) tools support the organization of part libraries and the exploration of rule-compliant compositions. In this work, we formally define a design specification language, enabling the integration of biological rules into the Synthetic Biology engineering process. The supported rules are divided into five categories: Counting, Pairing, Positioning, Orientation, and Interactions. We formally define the semantics of each rule, characterize the language's expressive power, and perform a case study in that we iteratively design a genetic Priority Encoder circuit following two alternative paradigms-rule-based and template-driven. Ultimately, we touch a method to approximate the complexity and time to computationally enumerate all rule-compliant designs. Our specification language may or may not be expressive enough to capture all designs that a Synthetic Biologist might want to describe, or the complexity one might find through experiments. However, computational support for the acquisition, specification, management, and application of biological rules is inevitable to understand the functioning of biology.
ACM Reference Format:Ernst Oberortner, Swapnil Bhatia, Erik Lindgren, and Douglas Densmore. 2014. A rule-based design specification language for synthetic biology.