Revision as of 19:40, 20 February 2014 by Raik (Talk | contribs)

iGEM 2014 Software Track

Computational work and software development are a very important part of Synthetic Biology. The iGEM competition again has a track for teams that want to focus on exactly that.

This year, we want to create a yet closer link to the wet lab side of iGEM. We therefore encourage software/computational teams to validate their tools and algorithms with some experiments. These experiments can be "outsourced", that is, performed in some other lab or by a collaborating iGEM team. We are working on supporting software teams to find partner labs -- stay tuned! Moreover, if you have a large ambitious project that includes both a lot of computational and a lot of wet lab work, think about registering two teams -- students can be members of both the computational and the wet lab team at the same time. This gives more exposure to the hard computational work which will be judged by experts (and you can win one more price!).

Software projects will also be judged by the quality of documentation (both for users and for other developers), by how much they embrace best practices (e.g. modern tools, testing, agile development) and by how well they make use of previous iGEM teams' work and how well they enable other teams to pick up from where they will leave. Many software projects from previous years have resulted in long-term efforts and have even led to several start-up companies. We would love to see that happen again this year.

Information about the track

The iGEM software track started in 2008. Since 2012, there is a centralized repository for iGEM software projects on GitHub. Please, use git right from the start of your project -- knowing the history of your commits is very helpful for other developers who want to build on your hard work. This will not only preserve the projects but also help others to avoid re-inventing the wheel.

iGEM software developers often work closely with experimental synthetic biologists to improve design, assembly and testing of biological circuits, make bio engineering more predictive or help discovering and exchanging information about standard biological parts. Of course we are open to all kind of cool projects but please make sure that they are relevant to real-world Synthetic Biology. For some things, there is no need to start from scratch. Over the years, the Synthetic Biology community has already created many interesting libraries, design frameworks, and software tools. Please use, abuse and improve them wherever possible. There is also a nascent standard for synthetic biology data exchange (SBOL) which you should probably have a look at.

Team Projects from previous years

UT Tokyo 2012

In 2012, the UT Tokyo team created an innovative BioBrick search page. Their project was web accessible and allowed users to search the Registry for parts using many different keywords, approaches, years and other parameters. They also created a rating system for parts based on the number of uses.

SYSU-Software 2013

SYSU-Software created a program called CAST (Computer Aided Synbio Tool), to address specific technical challenges in synthetic biology. Their software can automatically perform regulatory network and gene circuits design, modeling, vector design and actually build the proposed circuit. All designs can be stored in a database to be shared through CAST. In addition, they incorporated wetlab experimentation into the project to validate their new simulation model.

SYSU-Software won the Best Software Project Award in 2013.

iGEM Software Resources


Software teams are not be required to contribute parts to the Registry (but instead are expected to contribute to the GitHub software repository). Key requirements for software teams are:

End User Documentation

Core requirements are:
  • Wiki documentation of project aims, methods and success -- in line with the general iGEM requirements
  • Detailed installation or setup instructions (if applicable)
  • An well-designed User Guide explaining how to use of your program or tool

Re-Use and Best software development practices

Core requirements are:
  • submission of your complete source code and any auxiliary files to the iGEM github repository
  • Use git versioninig from the start of your project so that the commit history is / will be available on github
  • Comprehensive code documentation for outside developers
Highly recommended:
  • more than one realistic test case
  • automated unit tests, documentation of test coverage
  • API documentation, preferably automatically built from source code documentation
Bonus points for:
  • use of SBOL and other standards
  • re-use and further development of previous iGEM software projects (or parts thereof)
  • use and/or improvement of existing synthetic biology tools or frameworks
  • development of well documented libraries for other developers rather than "only" stand-alone Apps for end users

Relevance and Validation

Core requirement:
  • Demonstrate the relevance of your development for Synthetic Biolgy
Highly recommended:
  • Devise an experimental test for your program/algorithm/work flow
not expected to result in a super fancy engineering project (that's what all the wet lab tracks are for). Instead we would like to see simple and straightforward experiments (for example: gene synthesis, expression, fluorescence of x constructs) which can be delegated to external labs or collaborating teams. iGEM/software will try to support teams who want to outsource experimental testing to academic or commercial labs. Details will follow.

Track Committee

We have a great committee to help out 2014 software teams:

  • Edward Perello
  • Evan Appleton
  • Sally Radwan
  • Raik Grunberg