Difference between revisions of "Tracks/Software"

Line 73: Line 73:
 
<p>
 
<p>
 
<h2><u>Requirements</u></h2>
 
<h2><u>Requirements</u></h2>
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.
+
<p>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.</p>
 +
<p>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.
 +
 
 +
 
 
<p>
 
<p>
 
<p>
 
<p>
 
<h2><u>Medal Criteria</u></h2>
 
<h2><u>Medal Criteria</u></h2>
  
Bronze
+
Medal criteria have been announced for some tracks <a href="https://2015.igem.org/Judging/Medals#software">here</a>. Check back for final details soon.
 
+
 
+
  * Register for iGEM, have a great summer, and attend the Giant Jamboree
+
 
+
  * Complete the judging form
+
 
+
  * Create a Team wiki
+
 
+
  * Present a poster and a talk at the iGEM jamboree.
+
 
+
  * Create a page on your team wiki with a clear attribution of each aspect of your project. This page must clearly attribute work done by students and distinguish it from work done by others, including host labs, advisors, instructors, sponsors, professional website designers, artists and commercial services.
+
 
+
  * Develop and make available, via the iGEM GitHub page, an open source software that supports synthetic biology based on standard parts and interacts with the registry.
+
 
+
 
+
 
+
Silver
+
 
+
 
+
  * Provide a comprehensive, well-designed user guide and upload it to your wiki - be creative, an instructional video may work as well.
+
 
+
  * Develop a well documented library or API for other developers, rather than “only” a stand-alone app for end users.
+
 
+
  * Demonstrate that you followed best practices 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, documentation of test coverage, bug tracking facilities, documentation of releases, and changes between releases.
+
 
+
 
+
 
+
Gold
+
 
+
 
+
  * iGEM projects involve important questions beyond the bench, for example relating to (but not limited to) ethics, sustainability, social justice, security and intellectual property rights. Expand on your silver medal activity by demonstrating how you have integrated the investigated issues into the design and/or execution of your project OR demonstrate an innovative policy and practices activity that relates to your project (this typically involves educational, public engagement, and/or public perception activities; see the human practices hub for information and examples of previous teams comprehensive and innovative activities).
+
 
+
  * Address a problem that you would like to co-develop with a wetlab team. This should be a collaboration where the wetlab team posts a problem they are having and your team addresses the issue by creating an online software solution.
+
 
+
  * Re-use and further develop a previous iGEM software project (or parts thereof) and demonstrate how future teams can continue this thread.
+
 
+
  * Demonstrate your software at the iGEM Giant Jamboree in the software demo suite. You should show a functional prototype that teams can use in following years.  
+
 
+
 
+
  
 +
<p>
 
<p>
 
<p>
 
<p>
 
<p>
Line 149: Line 114:
 
<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>
 +
 +
<h4><u>Synthetic Biology Resources</u></h4>
 +
<li><a href="http://parts.igem.org/Registry_API?title=Registry_API"></a>Registry API</li>
 +
<li><a href="http://www.sbolstandard.org/">SBOL Standard</a></li>
 +
<li><a href="https://github.com/igemsoftware"></a>iGEM Software Repository</li>
 +
<li><a href="http://igem.synbioreview.com/">iGEMsoft project aggregator</a></li>
 +
 +
<h4><u>Python Resources</u></h4>
 +
<li><a href="https://store.continuum.io/cshop/anaconda/">The anaconda distribution of python</li>
 +
<h4><u>Bioinformatics Development Guidelines</u></h4>
 +
<li><a href="https://github.com/pjotrp/bioinformatics">Bioinformatics small tools manifesto: </li>
 +
 +
<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>
 
<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>
 
<h4><u>Python</u></h4>
 
<li>The anaconda distribution of python: https://store.continuum.io/cshop/anaconda/</li>
 
<h4><u>Bioinformatics Development Guidelines</u></h4>
 
<li>Bioinformatics small tools manifesto: https://github.com/pjotrp/bioinformatics</li>
 
<h4><u>Software Development Frameworks / Team Management Tools</u></h4>
 
<li>Scrum - http://en.wikipedia.org/wiki/Scrum_%28software_development%29Agile</li>
 
<li>http://en.wikipedia.org/wiki/Agile_software_development</li>
 
<li>Trello - https://trello.com/</li>
 
 
<p>
 
<p>
 
<p>
 
<p>
 
<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 at software@igem.org</p>
+
<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>
  
  

Revision as of 01:16, 17 March 2015

Please note that all information on this page is in a draft version.
Please check back often for details.

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.

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

    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.

    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.

    iGEM projects often create or adapt computational tools to move the bigger project forward. Because they are born out of a direct practical need, these software tools (or new computational methods) can even prove surprisingly useful for others. Without necessarily being big or complex, they can make the crucial difference to a project's success. This award tries to find and honour such "nuggets" of computational work. To be eligible, your software has to be documented and made available under an OSI approved open source license.

    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

  • Git
  • Git Codeschool Lessons
  • Git training videos
  • Git Reference
  • Synthetic Biology Resources

  • Registry API
  • SBOL Standard
  • iGEM Software Repository
  • iGEMsoft project aggregator
  • Python Resources

  • The anaconda distribution of python
  • Bioinformatics Development Guidelines

  • Bioinformatics small tools manifesto:
  • Development Frameworks & Team Management

  • Scrum
  • Agile Development Framework
  • Trello
  • Other Resources

  • The Java IDK
  • Netbeans - be sure to get either the Java EE version or the "All" option
  • Committee

    If students, mentors or other interested parties have any questions about the iGEM 2015 software track, the track committee can be contacted here

  • 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