Difference between revisions of "Competition/Tracks/Software"

m (Protected "Competition/Tracks/Tracks/Software" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)))
(No difference)

Revision as of 16:45, 25 November 2016

MENU

Software Track

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. Recognizing 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 2017.

Attention Wet-lab teams!

iGEM is offering a NEW program to help turn your teams' ideas for software tools into reality. Learn more about the Software:Wetlab Collaboration Opportunity below.

Code submission Deadline

The deadline for submission of code to the iGEM Github Repository is the same date as the Wiki Freeze for conventional iGEM teams (See the timeline for details). By this date, you MUST have a github repository within the igemsoftware2016 github page and you MUST have created a github judging release of your software. The preferred way is that you create your own github repository early on during your project and then transfer it into the igemsoftware2016 organization:

  1. Create a github repository for your code early on during your project (use your team name as the repository name, use "_" instead of " " or ":")
  2. E-mail software (at) igem (dot) org and give us the github user name of the person who is administrating the repository; We will invite you to join the igemsoftware2016 organization.
  3. Accept the invite
  4. In the "Settings" tab of your github repository page, select "Transfer ownership" (in the Danger Zone at the bottom).
  5. Enter "igemsoftware2016" (without quotation marks) as the name of the new github organization, then confirm "I understand, transfer this repository"

Create a judging release of your project:

  1. Go to the "Code" tab of your github repository page (the default)
  2. Click on "releases" and then "create a new release"
    • Tag version: 1.0.0
    • Release title: IGEM Judging release
  3. Attach a installation-ready copy of your code so that judges can easily download and install your software
  4. Include a link to this release on your iGEM Wiki page

You may continue to update your github repo with improved versions of your software and you may also submit additional improved releases. However, the judging release is the primary basis for evaluating your project at the Jamboree.


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 centralized repository for software projects on Github. iGEM is currently exploring ways to host the work products and codebases of the 2016 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.

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


NEW: Software:Wetlab Collaboration Opportunity!

This year we are running a pilot program to help turn iGEM wetlab teams' ideas for software tools into reality.

In previous years, iGEM software track teams have indicated they want to collaborate with wetlab teams to build tools that can be used by scientists in the lab. If you have ideas for software tools that would make a synthetic biologist's life easier, we want to help make that happen! We need you to help direct new software development projects in iGEM!

    Open to ALL wet lab teams! Whether you're a member of a wetlab team that has internal software development skills, or a wetlab team without any software skills, iGEM encourages you to use our new unified framework to tell your team members, other software track teams, and future teams about exactly what you want to see built.

    Build partnerships! The software track committee will then help you pair your great software projects with great teams, and work together to build incredible new tools for synthetic biologists. Or if you are simply building tools in your own team, using this new framework will help you document how and why you did it, so that future teams can continue your work.

    Participate! To participate in this program, just email the iGEM software track committee at software [AT] igem [DOT] org with your ideas. The committee will work closely with you to turn your ideas into a project that could change iGEM forever.

As always, collaboration work is an enormous part of iGEM and we hope you'll take part in this special program!

Committee

If students, mentors or other interested parties have any questions about the iGEM 2016 software track, the track committee can be contacted by emailing software AT igem DOT org.