Blue Collar Bioinformatics

Note: new posts have moved to Please look there for the latest updates and comments

Python libraries for synthetic biology

with 10 comments

Researchers today are empowered with the ability to devise DNA sequences and order these designs for fabrication. Starting with known pieces from biological systems, variations can be conceptualized and explored with increasing ease. As a result, the field of synthetic biology has expanded along with techniques used to provide larger pieces of synthesized DNA. Companies such as DNA 2.0 and GENEART provide on-demand synthesis services. Additionally, many researchers design, optimize and generate custom DNA sequences in their own lab.

My previous job was at a synthetic biology start up working on the software side of their fabrication and design services. The company was unfortunately a recent victim of the economy. The learning from five years of in the trenches synthesis work will be very useful to others tackling similar projects. With that in mind, the Python libraries used for construction, sequencing verification, and many other synthetic biology related tasks are being made available on Bitbucket.

Some highlights of the library:

The code in this library was integrated as part of an automated synthesis platform. As a result, it does not feature ready to run scripts. Rather, the code can serve as a source for developing these type of tools. I would love to see the most useful parts refactored and integrated into existing software communities like Biopython. Please drop a note if you have any interest in collaborating on such a project.

Written by Brad Chapman

May 31, 2009 at 9:28 pm

10 Responses

Subscribe to comments with RSS.

  1. Once again, a great post. I’m currently working on a bioinformatics app that is related to synthetic biology and this code will definitely come in handy.

    I’m not a proficient coder like yourself and have never contributed code to biopython (or any other community, to be honest) but will be glad to help in any way possible.

    Ricardo Vidal

    June 1, 2009 at 7:54 am

  2. Hi Brad,

    I’ve only read your blog post, but perhaps some of the “Calculation of melting temperatures” code would fit into Biopython’s existing (minimal) Bio.SeqUtils.MeltingTemp module?



    June 1, 2009 at 8:18 am

  3. I applaud the effort.

    But I wish there was more documentation and lots of examples. For most people time is the most valuable resource and not being able to understand what type of functionality a library offers makes it difficult to really get it.

    Istvan Albert

    June 1, 2009 at 8:35 am

    • Ricardo;
      Glad to hear this will be useful for your work. I was hoping to release this in a more ready to go phase, but came to realize that if I waited until everything was refactored nicely I would never get it out. Hopefully you or others will be interested in picking up useful bits.

      Yes, the melting temperature code there is a bit more up to date than what Sebastian has in Biopython right now. Many of the parameters overlap, but it incorporates data from a 2004 SantaLucia paper and handles non-exact alignments with stem loops. For identical matches, like finding primer melting temperatures, the results should be identical. If you are looking at potential cross-hybridizations, you need the non-exact additions.

      Agreed completely. I hope to be able to spend time to extract useful parts, generalize and document them. I wanted to make it available in this initial raw state so others could help, or pull things they need right away.

      Brad Chapman

      June 1, 2009 at 10:13 am

  4. Sorry to hear your company went under, Brad, but this is great you’re releasing the code into the wild.

    Chris Lasher

    June 1, 2009 at 10:24 pm

  5. Brad,

    My name is Cesar Rodriguez, I’m a postdoc in Drew Endy’s lab at Stanford. Raik Gruenberg, Drew, and I are developing Python libraries for Synthetic Biology:

    We’re interested in working with you on this effort. Please drop me a line if you’re interested:


    Cesar A. Rodriguez

    August 14, 2009 at 3:31 am

    • Cesar;
      I am absolutely interested. You are free to utilize whatever code in there that you find useful. If there are specific things it would be useful to generalize, I can help with abstracting those out. It’s great to see y’all spearheading this effort.


      Brad Chapman

      August 14, 2009 at 3:59 pm

  6. Greet library,but i hope we can see a more documentation on it some where.

    I’m working on simple programming algorithm (linear programming) check my blog :

    that make understanding easy but cost a lot of time so i think using library such biopython should be easier to program.

  7. […] the popular open source object orientated language, Python, has a number of libraries available here, specifically aimed at synthetic biology. Another example is Verilog, a hardware-independent […]

  8. Once again, an excellent post. I’m presently acting on a bioinformatics app that’s associated with artificial biology and this code will certainly are available handy.

    I’m not a good applied scientist like yourself and haven’t contributed code to biopython (or the other community, to be honest) however are going to be glad to assist in any manner attainable.

    custom gene synthesis

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: