Tracks/Software

From 2014.igem.org

(Difference between revisions)
 
(10 intermediate revisions not shown)
Line 74: Line 74:
<p>
<p>
-
Detailed requirements for Bronce, Silver and Gold medals are being fleshed out on the [Tracks/Software/Judging judging page]. 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:
+
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:
</p>
</p>
-
<h4>End User Documentation</h4>
 
-
Core requirements are:
 
<ul>
<ul>
-
   <li>Wiki documentation of project aims, methods and success -- in line with the general iGEM requirements</li>
+
   <li>Wiki documentation must contain project aims, methods and success</li>
-
   <li>Detailed installation or setup instructions (if applicable)</li>
+
  <li>Use git (from beginning of project)</li>
-
   <li>A well-designed User Guide explaining how to use of your program or tool</li>
+
  <li>Submission of complete source code and any auxiliary files to GitHub</li>
 +
  <li>Basic code documentation for outside developers</li>
 +
   <li>Detailed installation or setup instructions for users (if applicable)
 +
  <li>for web servers: ensure another developer can easily set up an independent copy of your web server. Preferably provide a Docker container of your web server. A virtual machine snapshot or Vagrant configuration file and / or simple step by step installation instructions may be an alternative.</li>  
 +
   <li>If your institution requires it, seek Institutional Review Board (IRB) approval before conducting software testing.</li>
</ul>
</ul>
-
<h4>Re-Use and Best software development practices</h4>
+
<h2><a class="anchor" id="Medal Criteria"></a>Medal Criteria</h2>
-
Core requirements are:
+
-
<ul>
+
-
  <li>submission of your complete source code and any auxiliary files to the iGEM github repository</li>
+
-
  <li>Use git versioninig from the start of your project so that the commit history is / will be available on github</li>
+
-
  <li>Comprehensive code documentation for outside developers</li>
+
-
</ul>
+
-
Highly recommended:
+
-
<ul>
+
-
  <li>more than one realistic test case</li>
+
-
  <li>automated unit tests, documentation of test coverage</li>
+
-
  <li>API documentation, preferably automatically built from source code documentation (use tools like doxygen, yard, rdoc, naturaldocs, etc)</li>
+
-
</ul>
+
-
Bonus points for:
+
-
<ul>
+
-
  <li>use of SBOL and other standards</li>
+
-
  <li>re-use and further development of previous iGEM software projects (or parts thereof)</li>
+
-
  <li>use and/or improvement of existing synthetic biology tools or frameworks</li>
+
-
  <li>development of well documented libraries for other developers rather than "only" stand-alone Apps for end users</li>
+
-
</ul>
+
-
<h4>Relevance and Validation</h4>
 
-
Core requirement:
 
-
<ul>
 
-
  <li>Demonstrate the relevance of your development for Synthetic Biology</li>
 
-
</ul>
 
-
Highly recommended:
 
-
<ul>
 
-
  <li>Devise an experimental test for your program/algorithm/work flow</li>
 
-
</ul
 
<p>
<p>
-
The experimental validation of software/computational projects is <emph>not</emph> 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.  
+
<b>Bronze. </b>The following 4 goals must be achieved:<br>
-
iGEM/software will try to support teams who want to outsource experimental testing to academic or commercial labs. Details will follow.
+
<ol id="criterialist">
 +
<li>Register the team, have a great summer, and have fun attending the Jamboree in Boston.</li>
 +
<li>Create and share a description of the team's project via the iGEM wiki.</li>
 +
<li>Present a Poster and Talk at the Regional Jamboree and World Championship Jamboree.</li>
 +
<li>Develop and make available, via <a href="https://github.com/igemsoftware">The iGEM Software Registry</a>, an open source software that supports Synthetic Biology based on Standard Parts. </li>
 +
</li></ol>
</p>
</p>
 +
 +
<p>
 +
<b>Silver</b>: In addition to the Bronze Medal requirements, the following 4 goals must be achieved:<br>
 +
<ol id="criterialist">
 +
<li>Demonstrate the relevance of your development for Synthetic Biology based on standard Parts.</li>
 +
<li>Provide a comprehensive and well-designed User Guide. (Be creative! An instructional video may work as well.)</li>
 +
<li>Provide detailed API documentation, preferably, automatically built from source code documentation (use tools like doxygen, yard, rdoc, naturaldocs, etc). </li>
 +
<li>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 <a href="http://martinfowler.com/bliki/TestCoverage.html"> test coverage </a>,  bug tracking facilities, documentation of releases and changes between releases.</li>
 +
</ol>
 +
</p>
 +
 +
<p>
 +
<b>Gold</b>: In addition to the Bronze and Silver Medal requirements, two additional goals must be achieved: <br>
 +
<ol id="criterialist">
 +
<li>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.</li>
 +
</ol>
 +
And the second goal can be any one of the following:
 +
<ol id="criterialist">
 +
<li>Make your software interact / interface with the Registry. </li>
 +
<li>Re-use and further develop previous iGEM software projects (or parts thereof) or use and/or improvement of existing synthetic biology tools or frameworks. </li>
 +
<li>Develop a well documented library or API for other developers (rather than “only” a stand-alone app for end users.)</li>
 +
<li>Support and use the SBOL and / or SBOLv standard.</li>
 +
<li>iGEM projects involve important questions beyond the bench, for example relating to (but not limited to) ethics, sustainability, social justice, safety, security, or intellectual property rights. <b>Describe</b> an approach that your team used to address at least one of these questions. <b>Evaluate</b> your  approach, including whether it allowed you to answer your question(s), how it influenced the team’s scientific project, and how it might be adapted for others to use (within and beyond iGEM). We encourage thoughtful and creative approaches, and those that draw on past Policy & Practice (formerly Human Practices) activities.</li>
 +
</li></ol>
 +
</p>
 +
 +
<h2><a class="anchor" id="Committee"></a>Track Committee</h2>
<h2><a class="anchor" id="Committee"></a>Track Committee</h2>

Latest revision as of 15:07, 11 October 2014

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:

  • Wiki documentation must contain project aims, methods and success
  • Use git (from beginning of project)
  • Submission of complete source code and any auxiliary files to GitHub
  • Basic code documentation for outside developers
  • Detailed installation or setup instructions for users (if applicable)
  • for web servers: ensure another developer can easily set up an independent copy of your web server. Preferably provide a Docker container of your web server. A virtual machine snapshot or Vagrant configuration file and / or simple step by step installation instructions may be an alternative.
  • If your institution requires it, seek Institutional Review Board (IRB) approval before conducting software testing.

Medal Criteria

Bronze. The following 4 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 iGEM Software Registry, an open source software that supports Synthetic Biology based on Standard Parts.

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, two additional goals must be achieved:

  1. 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.
And the second goal can be any one of the following:
  1. Make your software interact / interface with the Registry.
  2. Re-use and further develop previous iGEM software projects (or parts thereof) or use and/or improvement of existing synthetic biology tools or frameworks.
  3. Develop a well documented library or API for other developers (rather than “only” a stand-alone app for end users.)
  4. Support and use the SBOL and / or SBOLv standard.
  5. iGEM projects involve important questions beyond the bench, for example relating to (but not limited to) ethics, sustainability, social justice, safety, security, or intellectual property rights. Describe an approach that your team used to address at least one of these questions. Evaluate your approach, including whether it allowed you to answer your question(s), how it influenced the team’s scientific project, and how it might be adapted for others to use (within and beyond iGEM). We encourage thoughtful and creative approaches, and those that draw on past Policy & Practice (formerly Human Practices) activities.

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: