Tracks/Software

From 2014.igem.org

Revision as of 22:05, 10 July 2014 by Kim (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

Requirements

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)
  • A 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 (use tools like doxygen, yard, rdoc, naturaldocs, etc)
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 Biology
Highly recommended:
  • Devise an experimental test for your program/algorithm/work flow
The experimental validation of software/computational projects is not expected to result in a super fancy engineering project. 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.

Medal Criteria

Bronze. The following 5 goals must be achieved:

  1. Register the team, have a great summer, and have fun attending the Jamboree in Boston.
  2. Create and share a description of the team's project via the iGEM wiki.
  3. Present a Poster and Talk at the Regional Jamboree and World Championship Jamboree.
  4. Develop and make available via The Registry of Software Tools an open source software tool that supports synthetic biology.

Silver: In addition to the Bronze Medal requirements, the following 4 goals must be achieved:

  1. Demonstrate the relevance of your development for Synthetic Biology based on standard Parts.
  2. Provide a comprehensive and well-designed User Guide. (Be creative! An instructional video may work as well.)
  3. Provide detailed API documentation, preferably, automatically built from source code documentation (use tools like doxygen, yard, rdoc, naturaldocs, etc).
  4. Demonstrate that you followed best practises in software development so that other developers can modify, use and reuse your code. Provide more than one realistic test case. Examples of best practices are automated unit testing and documentation of test coverage , bug tracking facilities, documentation of releases and changes between releases.

Gold: In addition to the Bronze and Silver Medal requirements, any one or more of the following:

  1. Make your software interact / interface with the Registry.
  2. Provide a convincing validation, testing the performance of the development -- experimentally (can be outsourced) or by other teams and users. Note, even if the algorithm or tool turns out not to work that well, the Gold requirement is fulfilled if the test is good and the analysis convincing. Validation may include: preferably experiments, informatics analysis (complexity, run time) of an algorithm, or user studies.
  3. Show how your software affects Human Practices in Synthetic Biology. This may include: ethics, sharing, innovation and creative process, ownership, safety, or security.
  4. Re-use and further develop previous iGEM software projects (or parts thereof) or use and/or improvement of existing synthetic biology tools or frameworks.
  5. Develop a well documented library or API for other developers (rather than “only” a stand-alone app for end users.)
  6. Support and use the SBOL and / or SBOLv standard.

Track Committee

We have a great committee to help out 2014 software teams. The Chairs of the iGEM Software track are: Raik Grünberg and co-Chair Gil Alterovitz.

  • Gil Alterovitz, Wyss Institute / Harvard Medical School, Boston, US
  • Evan Appleton, Boston University, US
  • Raik Grünberg, IRIC / University of Montreal, Canada
  • HaiYan Liu, USTC, Hefei, China
  • Edward Perello, Desktop Genetics, Cambridge, UK
  • Sally Radwan, Canonical, London, UK
  • Jenhan Tao, UCSD, San Diego, US
  • Lixin Zhang, Chinese Academy of Sciences, Beijing, China
  • Sean Ward, Synthase, London, UK
  • HQ organizational support: Kim de Mora

Please feel free to contact us with any question or concern: