Difference between revisions of "Tracks/Software"

 
(9 intermediate revisions by 4 users not shown)
Line 14: Line 14:
  
 
<!-- alert message, the text can be edited -->  
 
<!-- alert message, the text can be edited -->  
<div id="alertMessage"> <p> Please note that all information on this page is in a draft version. <br>Please check back often for details. </p></div>
+
<!-- <div class="alertMessage"> <p> Please note that all information on this page is in a draft version. <br>Please check back often for details. </p></div>-->
  
  
Line 22: Line 22:
  
  
 
+
<h1><u><a id="Track Details"></a>SynBio Needs Software</u></h1>
 
+
<p>
 +
<p>
 
<p>If you are going to design a new life form, chances are you’ll need a computer to design the smallest genetic circuits and deal with genome-scale complexity. </p>
 
<p>If you are going to design a new life form, chances are you’ll need a computer to design the smallest genetic circuits and deal with genome-scale complexity. </p>
 
<p>Software development is a valuable skill set for any synthetic biology team to have. In previous iGEM competitions, software has often been built by wetlab teams to solve specific problems. Recognising the utility of these software tools, and the importance of software development skills, the software track has been set up for computer scientists and developers to nurture their knowledge of biology, and for computational biologists, bioinformaticians and biologists to enhance their aptitude for building software.</p>
 
<p>Software development is a valuable skill set for any synthetic biology team to have. In previous iGEM competitions, software has often been built by wetlab teams to solve specific problems. Recognising the utility of these software tools, and the importance of software development skills, the software track has been set up for computer scientists and developers to nurture their knowledge of biology, and for computational biologists, bioinformaticians and biologists to enhance their aptitude for building software.</p>
Line 29: Line 30:
 
<p>
 
<p>
 
<p>
 
<p>
<h2><u><a class="anchor" id="Track Details"></a>Information about the track</u></h2>
+
 
<h4><u>Work Together & Solve Challenges in SynBio Software</u></h4>
+
<h2><u><a id="Track Details"></a>Deadlines for this track</u></h2><p>
 +
<ol>
 +
  <li>Installability Test</li>
 +
  <li>Submission of Code</li>
 +
</ol> 
 +
<p>
 +
<p>
 +
1) IF you are creating an application that requires direct installation onto a hard drive, you must provide the software committee with a version of the program by September 11th. This is so that we can test to see if the tool is installable. The contact person for this will be our co-chair, Raik Greunberg. You must email (Raik.Gruenberg [at] gmail.com) with an installable version of your code so that it can be tested thoroughly ahead of the next deadline.
 +
<p>
 +
<p>
 +
2) The deadline for submission of code to the iGEM Github Repository is the same date as the Wiki Freeze for conventional iGEM teams. You MUST submit your code to iGEM by September 18th - the judges will use this code as the basis of evaluating your project at the jamboree. Any code submitted after this deadline will be ignored and may subject your team to severe penalties.
 +
<p>
 +
<p>
 +
<p>
 +
 
 +
<h2><u><a id="Track Details"></a>Information about the track</u></h2>
 +
<h4><u>Work Together &amp; Solve Challenges in SynBio Software</u></h4>
  
 
<p>Wetlab teams have lots of problems. Software teams can provide solutions. This year, iGEM is encouraging software and wet lab teams to work together and assist each other. If you need software for your wetlab project, or are a software team looking for a problem reach out to each other, by using the iGEM Reddit, contacting other teams on Twitter, or encouraging computer science departments to start teams.</p>  
 
<p>Wetlab teams have lots of problems. Software teams can provide solutions. This year, iGEM is encouraging software and wet lab teams to work together and assist each other. If you need software for your wetlab project, or are a software team looking for a problem reach out to each other, by using the iGEM Reddit, contacting other teams on Twitter, or encouraging computer science departments to start teams.</p>  
Line 43: Line 60:
 
iGEM encourages software teams to learn the best practices of professional software developers. As software development is about solving problems in way that is useful for the users and for other developers, students, the software track focuses on teaching students the importance of:
 
iGEM encourages software teams to learn the best practices of professional software developers. As software development is about solving problems in way that is useful for the users and for other developers, students, the software track focuses on teaching students the importance of:
  
 +
<ul>
 
<li>Quality of codebase documentation</li>
 
<li>Quality of codebase documentation</li>
 
<li>Automated testing practices</li>
 
<li>Automated testing practices</li>
<li>Version control (Git & Github)</li>
+
<li>Version control (Git &amp; Github)</li>
 
<li>Professional software development practices (Agile, Scrum etc)</li>
 
<li>Professional software development practices (Agile, Scrum etc)</li>
 
<li>Making use of previous iGEM teams’ work</li>
 
<li>Making use of previous iGEM teams’ work</li>
 
<li>Documenting code to enable other teams to pick up from where they will leave</li>
 
<li>Documenting code to enable other teams to pick up from where they will leave</li>
 
<li>Conducting user experience testing</li>
 
<li>Conducting user experience testing</li>
 +
</ul>
  
 
<h4><u>Tools that Stand the Test of Time</u></h4>
 
<h4><u>Tools that Stand the Test of Time</u></h4>
Line 60: Line 79:
 
<p>iGEM software developers should work closely with experimental synthetic biologists and iGEM teams to build tools that are genuinely useful to the synthetic biology and iGEM communities. Software tools could directly help synthetic biologists in the lab, at their desktops, or even in how they communicate with each other and access information. You may wish to build a tool that:</p>
 
<p>iGEM software developers should work closely with experimental synthetic biologists and iGEM teams to build tools that are genuinely useful to the synthetic biology and iGEM communities. Software tools could directly help synthetic biologists in the lab, at their desktops, or even in how they communicate with each other and access information. You may wish to build a tool that:</p>
  
 +
<ul>
 
<li>Improves design, assembly and testing of biological circuits</li>
 
<li>Improves design, assembly and testing of biological circuits</li>
 
<li>Makes bioengineering more predictive </li>
 
<li>Makes bioengineering more predictive </li>
Line 67: Line 87:
 
<li>Serve as a better biobrick database API</li>
 
<li>Serve as a better biobrick database API</li>
 
<li>Parses information from one form to another</li>
 
<li>Parses information from one form to another</li>
 +
</ul>
  
 
<p>The track is open to all sorts of projects but teams should make sure that they are not repeating work that has been done by the community already. If the team believes they can improve an existing software solution, they should ensure that their tool has significant performance or feature advantages over the existing one. </p>
 
<p>The track is open to all sorts of projects but teams should make sure that they are not repeating work that has been done by the community already. If the team believes they can improve an existing software solution, they should ensure that their tool has significant performance or feature advantages over the existing one. </p>
Line 87: Line 108:
 
<p>
 
<p>
 
<h2><u>Team Projects from previous years</u></h2>
 
<h2><u>Team Projects from previous years</u></h2>
Autogene was the co-winner of the 2012 software track (together with the project from the UK Tokyo team). The AutoPlasmid program is at the core of the project and allows users to automatically annotate a DNA sequence by matching it against a database of 40,000 known plasmid features. The project addressed a clear unmet need that was practical for the community and could be used by almost every experimental synthetic biologist.  
+
The committee is working to put together a list of projects from previous years along a buildup of why they were successful. Watch this space.
 
<p>
 
<p>
 
<p>
 
<p>
Line 98: Line 119:
  
 
<h4><u>Best Software Tool for all teams in the competition.</u></h4>
 
<h4><u>Best Software Tool for all teams in the competition.</u></h4>
<p>Examples of the best software tools from the last few years (and the reasons why they were so good) are being gathered from previous judges. Watch this space./p>
+
<p>Examples of the best software tools from the last few years (and the reasons why they were so good) are being gathered from previous judges. Watch this space.</p>
  
 
<h4><u>Special Prizes / Grand Prize</u></h4>
 
<h4><u>Special Prizes / Grand Prize</u></h4>
Line 110: Line 131:
  
 
<h4><u>Git Resources</u></h4>
 
<h4><u>Git Resources</u></h4>
 +
<ul>
 
<li><a href="http://git-scm.com/downloads">Git</a></li>
 
<li><a href="http://git-scm.com/downloads">Git</a></li>
 
<li><a href="https://www.codeschool.com/courses/try-git">Git Codeschool Lessons</a></li>
 
<li><a href="https://www.codeschool.com/courses/try-git">Git Codeschool Lessons</a></li>
 
<li><a href="http://training.github.com/resources/videos/">Git training videos</a></li>
 
<li><a href="http://training.github.com/resources/videos/">Git training videos</a></li>
 
<li><a href="http://gitref.org">Git Reference</a></li>
 
<li><a href="http://gitref.org">Git Reference</a></li>
 +
</ul>
  
 
<h4><u>Synthetic Biology Resources</u></h4>
 
<h4><u>Synthetic Biology Resources</u></h4>
 +
<ul>
 
<li><a href="http://parts.igem.org/Registry_API?title=Registry_API">Registry API</a></li>
 
<li><a href="http://parts.igem.org/Registry_API?title=Registry_API">Registry API</a></li>
 
<li><a href="http://www.sbolstandard.org/">SBOL Standard</a></li>
 
<li><a href="http://www.sbolstandard.org/">SBOL Standard</a></li>
 
<li><a href="https://github.com/igemsoftware">iGEM Software Repository</a></li>
 
<li><a href="https://github.com/igemsoftware">iGEM Software Repository</a></li>
 
<li><a href="http://igem.synbioreview.com/">iGEMsoft project aggregator</a></li>
 
<li><a href="http://igem.synbioreview.com/">iGEMsoft project aggregator</a></li>
 +
</ul>
  
 
<h4><u>Python Resources</u></h4>
 
<h4><u>Python Resources</u></h4>
<li><a href="https://store.continuum.io/cshop/anaconda/">The anaconda distribution of python</li>
+
<ul>
<h4><u>Bioinformatics Development Guidelines</u></h4>
+
<li><a href="https://store.continuum.io/cshop/anaconda/">The anaconda distribution of python</a></li>
<li><a href="https://github.com/pjotrp/bioinformatics">Bioinformatics small tools manifesto</li>
+
</ul>
 +
 
 +
 
 +
<h4>Bioinformatics Development Guidelines</h4>
 +
<ul>
 +
<li><a href="https://github.com/pjotrp/bioinformatics">Bioinformatics small tools manifesto</a></li>
 +
</ul>
 +
 
 +
<h4><u>Development Frameworks &amp; Team Management</u></h4>
 +
<ul>
 +
<li><a href="http://en.wikipedia.org/wiki/Scrum_%28software_development%29Agile">Scrum</a></li>
 +
<li><a href="http://en.wikipedia.org/wiki/Agile_software_development">Agile Development Framework</a></li>
 +
<li><a href="https://trello.com/">Trello</a></li>
 +
</ul>
  
<h4><u>Development Frameworks & Team Management</u></h4>
 
<li><a href="http://en.wikipedia.org/wiki/Scrum_%28software_development%29Agile">Scrum</li>
 
<li><a href="http://en.wikipedia.org/wiki/Agile_software_development">Agile Development Framework</li>
 
<li><a href="https://trello.com/">Trello</li>
 
  
 
<h4><u>Other Resources</u></h4>
 
<h4><u>Other Resources</u></h4>
 +
<ul>
 
<li><a href="http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html">The Java IDK</a></li>
 
<li><a href="http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html">The Java IDK</a></li>
 
<li><a href="https://netbeans.org/downloads/Netbeans">Netbeans - be sure to get either the Java EE version or the "All" option</a></li>
 
<li><a href="https://netbeans.org/downloads/Netbeans">Netbeans - be sure to get either the Java EE version or the "All" option</a></li>
<p>
+
</ul>
<p>
+
 
 +
<div class="clear"></div>
 +
 
 
<h2><u>Committee</u></h2>
 
<h2><u>Committee</u></h2>
  
<p>If students, mentors or other interested parties have any questions about the iGEM 2015 software track, the track committee can be contacted <a href"mailto:software@igem.org">here</a></p>
+
<p>If students, mentors or other interested parties have any questions about the iGEM 2015 software track, the track committee can be contacted by emailing software (at) igem (dot) org.</p>
  
 
+
<ul>
<li>Edward Perello - Founder & CBO @ Desktop Genetics | Software Committee Chair</li>
+
<li>Edward Perello - Founder &amp; CBO @ Desktop Genetics | Software Committee Chair</li>
 
<li>Raik Grünberg -  X @ Y | Software Committee Co-chair</li>
 
<li>Raik Grünberg -  X @ Y | Software Committee Co-chair</li>
 
<li>Gil Alterovitz - Assistant Professor @ Center for Biomedical Informatics, Harvard Medical School</li>
 
<li>Gil Alterovitz - Assistant Professor @ Center for Biomedical Informatics, Harvard Medical School</li>
Line 147: Line 184:
 
<li>Cory Li - Sizigi Studios</li>
 
<li>Cory Li - Sizigi Studios</li>
 
<li>Jenhan Tao - Graduate Student Researcher, Glass Lab @ UCSD</li>
 
<li>Jenhan Tao - Graduate Student Researcher, Glass Lab @ UCSD</li>
<li>Sean Ward - Founder & CEO @Synthace</li>
+
<li>Sean Ward - Founder &amp; CEO @Synthace</li>
   
+
  </ul>
 
+
  
 +
<div class="clear"></div>
  
 
<!-- end of content ---------------------------------------->
 
<!-- end of content ---------------------------------------->

Latest revision as of 12:54, 19 July 2015

SynBio Needs Software

If you are going to design a new life form, chances are you’ll need a computer to design the smallest genetic circuits and deal with genome-scale complexity.

Software development is a valuable skill set for any synthetic biology team to have. In previous iGEM competitions, software has often been built by wetlab teams to solve specific problems. Recognising the utility of these software tools, and the importance of software development skills, the software track has been set up for computer scientists and developers to nurture their knowledge of biology, and for computational biologists, bioinformaticians and biologists to enhance their aptitude for building software.

Whether you are a wet lab team that has decided to build a software tool, or a software group looking to get involved in iGEM, we encourage you compete in the dedicated software track 2015.

Deadlines for this track

  1. Installability Test
  2. Submission of Code

1) IF you are creating an application that requires direct installation onto a hard drive, you must provide the software committee with a version of the program by September 11th. This is so that we can test to see if the tool is installable. The contact person for this will be our co-chair, Raik Greunberg. You must email (Raik.Gruenberg [at] gmail.com) with an installable version of your code so that it can be tested thoroughly ahead of the next deadline.

2) The deadline for submission of code to the iGEM Github Repository is the same date as the Wiki Freeze for conventional iGEM teams. You MUST submit your code to iGEM by September 18th - the judges will use this code as the basis of evaluating your project at the jamboree. Any code submitted after this deadline will be ignored and may subject your team to severe penalties.

Information about the track

Work Together & Solve Challenges in SynBio Software

Wetlab teams have lots of problems. Software teams can provide solutions. This year, iGEM is encouraging software and wet lab teams to work together and assist each other. If you need software for your wetlab project, or are a software team looking for a problem reach out to each other, by using the iGEM Reddit, contacting other teams on Twitter, or encouraging computer science departments to start teams.

Two Teams are Better than One

If you have a large ambitious wet lab project that includes a lot of computational 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 prize!).

Learn to be a Professional Biocoder

iGEM encourages software teams to learn the best practices of professional software developers. As software development is about solving problems in way that is useful for the users and for other developers, students, the software track focuses on teaching students the importance of:
  • Quality of codebase documentation
  • Automated testing practices
  • Version control (Git & Github)
  • Professional software development practices (Agile, Scrum etc)
  • Making use of previous iGEM teams’ work
  • Documenting code to enable other teams to pick up from where they will leave
  • Conducting user experience testing

Tools that Stand the Test of Time

Many tools built by iGEM teams have been of professional-level quality, and others have shown great potential to be improved upon by future teams. Software projects from previous years have resulted in long-term efforts and have even led to several start-up companies. iGEM would love to see that happen again this year.

Since 2012 there has been a centralised repository for software projects on Github. iGEM is currently exploring ways to host the work products and codebases of the 2015 competition for synthetic biologists and developers to access and improve in the future. Stay tuned for updates.

Picking a Project

iGEM software developers should work closely with experimental synthetic biologists and iGEM teams to build tools that are genuinely useful to the synthetic biology and iGEM communities. Software tools could directly help synthetic biologists in the lab, at their desktops, or even in how they communicate with each other and access information. You may wish to build a tool that:

  • Improves design, assembly and testing of biological circuits
  • Makes bioengineering more predictive
  • Helps biologists discover parts and exchange information about them
  • Improves parts registry navigation
  • Helps the iGEM community communicate with one another / identify problems
  • Serve as a better biobrick database API
  • Parses information from one form to another

The track is open to all sorts of projects but teams should make sure that they are not repeating work that has been done by the community already. If the team believes they can improve an existing software solution, they should ensure that their tool has significant performance or feature advantages over the existing one.

Requirements

There is no constraint on languages, libraries or other software developments tools in the track, except that the use of Git/Github for version control is mandatory. 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.

All teams must be part of the iGEM github repository run by HQ - teams must contact the committee chair (see below), who will create a new account for you to get started.

Medal Criteria

Medal criteria have been announced for some tracks here. Check back for final details soon.

Team Projects from previous years

The committee is working to put together a list of projects from previous years along a buildup of why they were successful. Watch this space.

Track Awards

iGEM is moving to a nominations system for awards. That means the top 3 - 5 software teams will get recognition for their work. Think of the nominations as you would the academy awards. Being nominated amongst a very strong field of competitors is still recognition that you did a great job.

Best Software Track Project

The best software track project, based on nominations and achieving Gold Medal Criteria, will receive the best Software Track Project award.

Best Software Tool for all teams in the competition.

Examples of the best software tools from the last few years (and the reasons why they were so good) are being gathered from previous judges. Watch this space.

Special Prizes / Grand Prize

The Software teams are eligible for all the special prizes on top of the software track prize, including best model, best poster, best wiki, best applied design, etc. Software teams can also win the entire iGEM competition,

iGEM Software Resources

The requirements for medals in the software track are in line with standards and expectations required of professional software development teams and are supposed to give teams a taste for building useful computational synbio tools. iGEM appreciates that the requirements are tough, and we are working to put together more and more educational materials for teams to use.

Software teams should not necessarily start from scratch; over the years, libraries, design frameworks, and software tools have been built for you to use, abuse and improve wherever possible. In particular teams should make use of the SBOL standard for synthetic biology data exchange as well as SBOL Visual.

Git Resources

Synthetic Biology Resources

Python Resources

Bioinformatics Development Guidelines

Development Frameworks & Team Management

Other Resources

Committee

If students, mentors or other interested parties have any questions about the iGEM 2015 software track, the track committee can be contacted by emailing software (at) igem (dot) org.

  • Edward Perello - Founder & CBO @ Desktop Genetics | Software Committee Chair
  • Raik Grünberg - X @ Y | Software Committee Co-chair
  • Gil Alterovitz - Assistant Professor @ Center for Biomedical Informatics, Harvard Medical School
  • Evan Appleton - Research Assistant, CIDAR Lab @ Boston University
  • Cory Li - Sizigi Studios
  • Jenhan Tao - Graduate Student Researcher, Glass Lab @ UCSD
  • Sean Ward - Founder & CEO @Synthace