mPartsRegistry : small update

I just made a small update to mPartsRegistry, the mobile interface I wrote to make browsing the Registry of Standard Biological Parts a little easier on smartphones.

This update adds a “Random Part” button – it’s mostly just so people who want to play with it without actually knowing a part ID can get some instant gratification. This is in addition to the quiet update I made a few months ago to replace jQTouch with JQuery Mobile, since jQTouch development stagnated for a while and never really properly supported most mobile browsers.

A mobile interface to the Registry of Standard Biological Parts

Recently I developed a simple mobile interface to the Registry of Standard Biological Parts – the database that is currently the focal point for parts-based synthetic biology. I’ve called this mobile interface mPartsRegistry and I thought it would be worth outlining it’s features and sharing some notes about the project, in case someone else finds it useful.

mPartsRegistry is a simple interface to the Registry of Standard Biological Parts aimed at mobile smartphone browsers. It’s powered by the Parts Registry API, which provides a simple RESTful interface to key metadata about parts in the database. It features:

  • A simple interface tailored for mobile WebKit browsers (Android browser, mobile Safari, probably others). Web-based, zero-installation required.
  • Basic search of the Registry by part name.
  • “Favorite parts” to locally bookmark parts on your device.
  • Provides basic metadata associated with parts, including size, description, authors, DNA sequence, categories and availability.
  • Freely available and recyclable source code, released under the MIT License (fork it on GitHub).

The idea for a mobile interface to the Registry came out of a moment in the wet lab, where I was supervising the Monash iGEM team, and someone asked “How many basepairs is that part again ?”. I’ve found most ideas for smartphone apps in the lab a little contrived; nothing more than an excuse to jump on the Android or iOS app bandwagon, with limited practical utility. This was a situation where I could genuinely see a use for a simple mobile interface to look up some reference information, so I thought I’d create it.

The goal is not to completely replicate the functionality of the Registry (at this stage the API would not allow that anyhow), but to provide simple mobile-friendly interface to quickly look up important data about a Biobrick(tm) parts in a laboratory setting, where accessing a desktop computer is often less convenient. In this context, you generally know the part name (eg B0034) that is written on a tube, but would like to quickly lookup some details.

The project consists of two main parts: the web frontend, build using jQTouch and Django templates hosted on Google App Engine, and the parser backend ( that deals with directly querying the Registry API.

The application uses BeautifulSoup on the server side to parse the XML served by the Registry’s API. This parser may be useful as a generic Python interface to the Registry API for other projects, although it is not yet feature complete. Why parse the XML on the server rather than the client ? The Registry API does not offer JSONP callbacks, making direct client-to-API queries by a web app served from another domain tricky (Same Origin Policy, yadda yadda). While this probably could have been done in straight clientside Javascript if I’d used some type of cross-domain AJAX hack, parsing on the server side also opens the possibility in the future to ‘value-add’ to the data in some way, potentially incorporating extra data not served directly by the Registry API, before it’s sent to the client.

Google App Engine works as a cheap hosting solution for a low traffic app like this, which is likely to stay within the free quotas. Also, GAE supports Python, and I like Python. jQTouch makes for a reasonable cross-platform mobile web interface, since it is optimized for WebKit-based browsers. While officially jQTouch supports iPhone/iPod Touch and doesn’t have official Android support, in my hands it works well enough on Android (and in fact displayed some minor bugs on Mobile Safari that were not evident on Android). Typically when using jQTouch you are expected to load multiple ‘pages’ all into several div-sections, lumped into a single HTML document. jQTouch then does the Javascript+CSS magic to render fast page switching, which actually working within a single HTML document. Since the main action of this app is to ‘search’, we don’t yet know what the results page will be, so this nice feature of jQTouch is barely used.

Searching for the same part all the time can get annoying, so mPartsRegistry provides a simple ‘bookmarking’ feature where a list of favorite parts can be managed and stored on the device. This is implemented via HTML5 localStorage – if there was demand then this could easily be turned into server side storage, but I doubt it’s necessary. In the future, it might make sense to pre-cache the metadata for any of these “favorite parts” so that the fast page switching features in jQTouch can be used to full advantage.

Currently, the interface does not show information about sequence features, subparts and twins, however I plan to implement these at some point. The Registry API currently does not provide information about samples, literature references or lab groups, but once these are enabled I plan to support this metadata within mPartsRegistry too.

Okay, that’s all kids .. and remember .. take off your gloves before using your smartphone in the lab !

Synthetic Biology 4.0 : highlights and reflections

Update: The videos of the talks from Synthetic Biology 4.0 are here !

Around three weeks ago I attended the Synthetic Biology 4.0 meeting in Hong Kong, hosted by the Hong Kong University of Science and Technology. I’ve taken a little time to allow all the new and exciting ideas to sink in. I really enjoyed the meeting, and while it was a little short it was an effective way to quickly sample the current developments in synthetic biology, as it stands.

Continue reading

Synthetic biology 4.0: reflections on the state of play

Note to the reader: I wrote most of this in October 2008, then revised it a little in January 2010. It never really turned into the insightful and coherent essay I envisioned, but I’ve decided to publish it here anyhow, for posterity.

Some opinion, analysis

This is a blog, so a post like this wouldn’t be complete without some opinionated analysis :). My daily work involves molecular biology, structural biology encompassing some basic protein engineering, and some bioinformatics. I don’t currently practise anything I would consider bona fide synthetic biology, although I’m comfortable with the technology, concepts and language used. Synthetic Biology is a relatively new field (or as some would argue, a relatively new term for the intersection of some established fields), and as a result things are developing rapidly, both on the technology side, and on the ethical/social/legal side. The push to acquire mindshare and funding for exciting but speculative biotechnologies has generated some big claims, and some big expectations.

Modified from Jeremy Kemps version at Wikipedia, used under Creave Commons Attribution-ShareAlike 3.0 license.

Gartner’s hype cycle (modified version used under a CC Share-alike license, 3.0, original image by Jeremy Kemp).

My overall feeling is that we are just passing the peak of inflated expectations. Although to be fair, it’s a little tough to pick a single point on the hype curve for “Synthetic Biology” at this point. It seems like there are lots of “micro-hype curves” already playing out, as different groups use the the new tools that have become accessible to engineer something cool and useful and test their design. Sometimes things work reasonably well, other times it becomes clear that the biological systems that have evolved under natural environmental pressure are not always modular and easily abstracted. That is not to say the once those systems are adopted, tweaked and tested by engineers (potentially via directed evolution), that they will not become predictable, modular and abstractable components; this is the assumption that the success of synthetic biology as an engineering disipline is relying on. Tweaking and characterization of basic components is still a work in progress. The outcome of the ongoing standardization of parts and subsequent predictability of completed devices should reveal just how soon and how deep the impending “Trough of Dissillusionment” will be.

(it should be noted that the common cry from biologist that ‘biology is not aways predictable’ and ‘what about emergent behaviour’ can be simply avoided by not using the parts that don’t behave. This could be a severe limitation, where parts with certain functions are scarce or unavailable due to their unpredictable nature. The same biologists dismissive of the claim that biological components can be abstracted and standardized will turn around and defend their use of GFP / FLAG and HA-tags as a standard method for detecting the location of proteins in cells. Unpredictable behaviour in these systems often occurs, but is often downplayed).

Overheard at the banquet: “I wish people would just stop trying to define it”.

As with any new field in the process of carving out an identity, there have been various attempts to define “Synthetic Biology”, and as expected not everyone agrees. In fact, I get the sense that people working on bona fide synthetic biology projects seem to have become a little sensitive about it, to the point that I half expect to be ‘flamed’ for speculating about the technology hype curve above, and chastised for dredging up the definition debate again (which has probably become pretty stale and repetitious for some).

I think the definition from the NEST High Level Expert Group is reasonable:

‘Synthetic biology is the engineering of biology: the synthesis of complex, biologically based (or inspired) systems, which display functions that do not exist in nature. This engineering perspective may be applied at all levels of the hierarchy of biological structures—from individual molecules to whole cells, tissues and organisms. In essence, synthetic biology will enable the design of ‘biological systems’ in a rational and systematic way’

The key term here is engineering … not as in ‘genetic engineering’ which historically has been more haphazard due to the limitations of the tools available, but engineering based on strict engineering principles. Compared with most other scientists who are using effectively the same technologies and protocols in molecular biology, the ‘synthetic biology engineer’ aims not only to understand the system that they are studying, but pragmatically take well understood biological components and systems and put them to good use.

From large parts of the scientific program from the SB 4.0 conference, you could be lead to believe it was all about metabolic engineering. Or maybe whole genome synthesis, or genetic circuits. The SB 4.0 website defines it as:

Synthetic Biology is a new approach to engineering biology, with an emphasis on technologies to write DNA. Recent advances make the de novo chemical synthesis of long DNA polymers routine and precise. Foundational work, including the standardization of DNA-encoded parts and devices, enables them to be combined to create programs to control cells.

It goes on to list examples of some real-world applications for synthetic biology: BioEnergy, Drug Production, Materials and Medicine (aka programmed cells as therapeutics). All of these examples, other than “Medicine”, ultimately relate to metabolc engineering … heavily tweaking (or entirely rebuilding) a biosynthetic pathway in a host cell, usually E. coli or yeast, to produce something we currently dig up from the ground and transform into fuel, chemicals or materials through the petrochemical industry.

Another angle is Luis Serrano’s distinction between Biotechnology vs. Synthetic Biology:

Thus, improving the production of a certain metabolite by tinkering with some of the components of a metabolic network will fall within the realm of Biotechnology. On the other hand, the introduction of several exogenous enzymes in an organism to produce a new compound will fall within the scope of Synthetic Biology.

I find it hard to agree with this particular division. The introduction of heterologus genes, and the production of a ‘new compound’ seems like a logical extension of advanced metabolic engineering, as a subfield of ‘biotechnology’, and barely warrant reclassification into an entirely new field. Unless you need a name change for marketing purposes …

There is a proven model for attracting interest (and hence funding) to a field by changing the name in response to new possibilities through some enabling technology; think gene sequencing vs. genomics, protein identification vs. proteomics, studying metabolism and cell signalling pathways vs. systems biology. In this case, cheap high-throughput sequencing and relatively cheap DNA synthesis are allowing engineers to do things they couldn’t before. So the biotechnology and genetic engineering of the past becomes … synthetic biology.

Names and definitions aside, (synbio)technology has got the the point where we are able to do some pretty cool things using biological systems … and if a little re-definition helps people acknowledge that, then all the better.