High-Level Programming Languages for Biomolecular Systems

  • Jacob Beal
  • Andrew Phillips
  • Douglas Densmore
  • Yizhi Cai


In electronic computing, high-level languages hide much of the details, allowing non-experts and sometimes even children to program and create systems. High level languages for biomolecular systems aim to achieve a similar level of abstraction, so that a system might be designed on the basis of the behaviors that are desired, rather than the particulars of the genetic code that will be used to implement these behaviors. The drawback to this sort of high-level approach is that it generally means giving up control over some aspects of the system and having decreased efficiency relative to hand-tuned designs. Different languages make different tradeoffs in which aspects of design they emphasize and which they automate, so we expect that for biology, there will be no single ‘right language’, just as there is not for electronic computing. Because synthetic biology is a new area, no mature languages have yet emerged. In this chapter, we present an in-depth survey of four representative languages currently in development – GenoCAD, Eugene, GEC, and Proto – as well as a brief overview of other related high-level design tools.


Synthetic biology Abstraction High level languages GenoCAD GEC Proto Eugene Modeling Design XOR 


  1. 1.
    Bachrach J, Beal J, Fujiwara, T (2007) Continuous space-time semantics allow adaptive program execution. In proceedings of IEEE International conference on Self-Adaptive and Self-Organizing Systems (SASO), Cambridge, MAGoogle Scholar
  2. 2.
    Basu S, Gerchman Y, Collins CH, Arnold FH, Weiss R (2005) A synthetic multicellular systems for programmed pattern formation. Nature 434:1130–1134CrossRefGoogle Scholar
  3. 3.
    Beal J (2005) Programming an amorphous computational medium. In: Banâtre J-P, Fradet P, Giavitto J-L, Michel O (eds) Unconventional programming paradigms international workshop: lecture notes in computer science, vol 3566. Springer, Berlin/Heidelberg, p 97Google Scholar
  4. 4.
    Beal J, Bachrach J (2006) Infrastructure for engineered emergence in sensor/actuator networks. IEEE Intell Syst 21(2):10–19CrossRefGoogle Scholar
  5. 5.
    Beal J, Bachrach J (2008) Cells are plausible targets for high-level spatial languages. Spatial computing workshop. Venice, ItalyGoogle Scholar
  6. 6.
    Beal J, Lu T, Weiss R (2010) Automatic compilation from high-level languages to genetic regulatory networks. In: Proceedings of 2nd International Workshop on Bio-Design Automation, Anaheim, CAGoogle Scholar
  7. 7.
    Berkeley Software 2009 iGem Team (October 2009) Eugene.{_}Software/Eugene. Accessed 10 May 2010
  8. 8.
    Bing X, Swapnil B, Ben B, Maisam D, Douglas D, Anderson JC (2011) Clotho: a software platform for the creation of synthetic biological systems, A developer’s and user’s guide for clotho v2.0, Methods in enzymology, vol 498 (in press)Google Scholar
  9. 9.
    Cai Y, Hartnett B, Gustafsson C, Peccoud J (2007) A syntactic model to design and verify synthetic genetic constructs derived from standard biological parts. Bioinformatics 23(20):2760–2767CrossRefGoogle Scholar
  10. 10.
    Cai Y, Lux MW, Adam L, Peccoud J (2009) Modeling structure-function relationships in synthetic dna sequences using attribute grammars. PLoS Comput Biol 5(10):e1000529MathSciNetCrossRefGoogle Scholar
  11. 11.
    Cai Y, Wilson ML, Peccoud J (2010) Genocad for igem: a grammatical approach to the design of standard-compliant constructs. Nucleic Acids Res 38(8):2637–2644CrossRefGoogle Scholar
  12. 12.
    Chandran D, Bergmann F, Sauro H (2009) Tinkercell: modular cad tool for synthetic biology. J Biol Eng 3(1):19CrossRefGoogle Scholar
  13. 13.
    Chomsky N (1956) Three models for the description of language. IRE Trans Inf Theory 2(3):113–124CrossRefGoogle Scholar
  14. 14.
    Coore D (1999) Botanical computing: a developmental approach to generating inter connect topologies on an amorphous computer. PhD thesis, MIT, Cambridge, MA, USAGoogle Scholar
  15. 15.
    Czar MJ, Cai Y, Peccoud J (2009) Writing dna with genocad. Nucleic Acids Res 37(Web Server issue):W40–W47Google Scholar
  16. 16.
    Densmore D, Hsiau TH-C, Kittleson JT, DeLoache W, Batten C, Anderson JC (2010) Algorithms for automated dna assembly. Nucleic Acids Res 38(8):2607–2616CrossRefGoogle Scholar
  17. 17.
    Densmore D, Van Devender A, Johnson M, Sritanyaratana N (2009) A platform-based design environment for synthetic biological systems. TAPIA ’09: the fifth Richard Tapia celebration of diversity in computing conference, ACM, New York, pp 24–29Google Scholar
  18. 18.
    Finney A, Hucka M, Bornstein BJ, Keating SM, Shapiro BM, Matthews J, Kovitz BK, Schilstra MJ, Funahashi A, Doyle J, Kitano H (2006) Software infrastructure for effective communication and reuse of computational models. In: Szallasi Z, Stelling J, Periwal V (eds) System modeling in cell biology: from concepts to nuts and bolts. MIT Press, Cambridge, MA, USAGoogle Scholar
  19. 19.
    Giavitto J-L, Godin C, Michel O, zemyslaw Prusinkiewicz Pr (2002) Computational models for integrative and developmental biology. Technical report 72-2002, Univerite d’Evry, LaMIGoogle Scholar
  20. 20.
    Hill AD, Tomshine JR, Weeding EMB, Sotiropoulos V, Kaznessis YN (2008) Synbioss: the synthetic biology modeling suite. Bioinformatics 24(21):2551–2553CrossRefGoogle Scholar
  21. 21.
    Umesh P, Naveen F, Rao C, Nair A (2011) Programming languages for synthetic biology. Springer, Netherlands, pp 1–5Google Scholar
  22. 22.
    Lesia B, Adam L, and Douglas D (2011) The eugene language for synthetic biology, Methods in enzymology, vol. 498 (in press)Google Scholar
  23. 23.
    Lesia B, Adam L, Sherine C, Emma W, Bing X, Mariana L, Anderson JC, Douglas D Eugene – a domain specific language for specifying and constraining synthetic biological parts, devices, and systems, PLoS ONE (in press)Google Scholar
  24. 24.
    Mallavarapu A, Thomson M, Ullian B, Gunawardena J (2009) Programming with models: modularity and abstraction provide powerful capabilities for systems biology. J R Soc Interface 6(32):257–270CrossRefGoogle Scholar
  25. 25.
    Marchisio MA, Stelling J (2010) Automatic design of digital synthetic gene circuits. 2nd international workshop on bio-design automation, San Diego, USAGoogle Scholar
  26. 26.
    Mirschel S, Steinmetz K, Rempel M, Ginkel M, Gilles ED (2009) Promot: modular modeling for systems biology. Bioinformatics 25(5):687–689CrossRefGoogle Scholar
  27. 27.
    Myers CJ, Barker N, Jones K, Kuwahara H, Madsen C, Nguyen NP (2009) Ibiosim: a tool for the analysis and design of genetic circuits. Bioinformatics 25:2848–2849CrossRefGoogle Scholar
  28. 28.
    Nagpal R (2001) Programmable self-assembly: constructing global shape using biologically-inspired local interactions and origami mathematics. PhD thesis, MIT, Cambridge, MA, USAGoogle Scholar
  29. 29.
    Nathan JH (2010) j5 automated dna assembly software. Accessed 28 Sept. 2010
  30. 30.
    Paun G (2002) Membrane computing: an introduction. Springer-Verlag New York, Inc., Secaucus, NJ, USAMATHGoogle Scholar
  31. 31.
    Pedersen M, Phillips A (2009a) Towards programming languages for genetic engineering of living cells. J R Soc Interface 6(Suppl 4):S437–S450CrossRefGoogle Scholar
  32. 32.
    Prusinkiewicz P, Lindenmayer A (1990) The algorithmic beauty of plants. Springer-Verlag, New YorkMATHGoogle Scholar
  33. 33.
    Purnick PEM, Weiss R (2009) The second wave of synthetic biology: from modules to systems. Nat Rev Mol Cell Biol 10(6):410–422CrossRefGoogle Scholar
  34. 34.
    Rothemund PWK (2005) Design of DNA origami. In: International Conference on Computer Aided Design (ICCAD’05). San Jose, CA, pp 471–478Google Scholar
  35. 35.
    Shea A, Riedel M, Fett B, Parhi K (2009) Synthesizing sequential register-based computation with biochemistry. In: Computer Aided Design – Digest of Technical Papers (ICCAD’09). IEEE/ACM International Conference on 2–5 Nov. San Jose, CA, USA, pp 136–143Google Scholar
  36. 36.
    Smith LP, Bergmann FT, Chandran D, Sauro HM (2009) Antimony: a modular model definition language. Bioinformatics 25(18):2452–2454CrossRefGoogle Scholar
  37. 37.
    Sudkamp TA (2006) Languages and machines: an introduction to the theory of computer science, 3rd edn. Pearson Addison-Wesley, BostonGoogle Scholar
  38. 38.
    Weiss R (2001) Cellular computation and communications using engineered genetic regulatory networks. PhD thesis, MIT, Cambridge, MA, USAGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2011

Authors and Affiliations

  • Jacob Beal
    • 1
  • Andrew Phillips
  • Douglas Densmore
  • Yizhi Cai
  1. 1.BBN TechnologiesCambridgeUSA

Personalised recommendations