(9 intermediate revisions by 3 users not shown) | |||
Line 4: | Line 4: | ||
<div class="column full_size"> | <div class="column full_size"> | ||
− | < | + | <h1>Software Track</h1> |
− | <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>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. |
− | < | + | <br><br> |
− | < | + | 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. |
+ | <br><br> | ||
+ | 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. </p> | ||
− | < | + | <br><br> |
− | + | <h2>Code Submission Deadline: November 1, 2017, 11:59pm EST</h2> | |
− | + | ||
− | <h2>Code | + | |
− | <p>The deadline for submission of code to the iGEM Github Repository is the same date as the Wiki Freeze for | + | <p>The deadline for submission of code to the iGEM Github Repository is the same date as the Wiki Freeze for all iGEM teams (See the <a href="https://2017.igem.org/Calendar">2017 Calendar</a> for details). By this date, you MUST have a github <b>repository</b> within the <a href="http://github.com/igemsoftware2017/SoftwareTrack">igemsoftware2017 github page</a> and you MUST have created a github <b>judging release</b> 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 igemsoftware2017 organization: |
<ol> | <ol> | ||
<li>Create a github repository for your code early on during your project (use your team name as the repository name, use "_" instead of " " or ":")</li> | <li>Create a github repository for your code early on during your project (use your team name as the repository name, use "_" instead of " " or ":")</li> | ||
− | <li>E-mail software | + | <li>E-mail <i>software [AT] igem [DOT] org</i> and give us the <b>github user name</b> of the person who is administrating the repository; We will invite you to join the igemsoftware2017 organization.</li> |
<li>Accept the invite</li> | <li>Accept the invite</li> | ||
<li>In the "Settings" tab of your github repository page, select <b>"Transfer ownership"</b> (in the Danger Zone at the bottom).</li> | <li>In the "Settings" tab of your github repository page, select <b>"Transfer ownership"</b> (in the Danger Zone at the bottom).</li> | ||
− | <li>Enter <b> | + | <li>Enter <b>igemsoftware2017</b> as the name of the new github organization, then confirm "I understand, transfer this repository"</li> |
</ol> | </ol> | ||
</p> | </p> | ||
Line 53: | Line 53: | ||
<h3>Two Teams are Better than One</h3> | <h3>Two Teams are Better than One</h3> | ||
− | 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!). | + | <p>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!). |
− | + | </p> | |
<h3>Learn to be a Professional Biocoder</h3> | <h3>Learn to be a Professional Biocoder</h3> | ||
− | 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: | + | <p>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> | <ul> | ||
Line 68: | Line 68: | ||
<li>Conducting user experience testing</li> | <li>Conducting user experience testing</li> | ||
</ul> | </ul> | ||
+ | </p> | ||
<h3>Tools that Stand the Test of Time</h3> | <h3>Tools that Stand the Test of Time</h3> | ||
Line 100: | Line 101: | ||
<p>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.</p> | <p>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.</p> | ||
<p>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.</p> | <p>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.</p> | ||
+ | |||
+ | <div class="clear"></div> | ||
+ | |||
+ | <div class="column half_size"> | ||
<h4>Git Resources</h4> | <h4>Git Resources</h4> | ||
<ul> | <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=" | + | <li><a href="http://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> | ||
Line 113: | Line 118: | ||
<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=" | + | <li><a href="http://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> | </ul> | ||
Line 119: | Line 124: | ||
<h4>Python Resources</h4> | <h4>Python Resources</h4> | ||
<ul> | <ul> | ||
− | <li><a href=" | + | <li><a href="http://store.continuum.io/cshop/anaconda/">The anaconda distribution of python</a></li> |
</ul> | </ul> | ||
+ | </div> | ||
+ | <div class="column half_size"> | ||
<h4>Bioinformatics Development Guidelines</h4> | <h4>Bioinformatics Development Guidelines</h4> | ||
<ul> | <ul> | ||
− | <li><a href=" | + | <li><a href="http://github.com/pjotrp/bioinformatics">Bioinformatics small tools manifesto</a></li> |
</ul> | </ul> | ||
Line 132: | Line 139: | ||
<li><a href="http://en.wikipedia.org/wiki/Scrum_%28software_development%29Agile">Scrum</a></li> | <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="http://en.wikipedia.org/wiki/Agile_software_development">Agile Development Framework</a></li> | ||
− | <li><a href=" | + | <li><a href="http://trello.com/">Trello</a></li> |
</ul> | </ul> | ||
− | |||
<h4>Other Resources</h4> | <h4>Other Resources</h4> | ||
<ul> | <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=" | + | <li><a href="http://netbeans.org/downloads/Netbeans">Netbeans - be sure to get either the Java EE version or the "All" option</a></li> |
</ul> | </ul> | ||
+ | </div> | ||
<div class="clear"></div> | <div class="clear"></div> | ||
+ | <!-- | ||
<br> | <br> | ||
<h2>NEW: Software:Wetlab Collaboration Opportunity!</h2> | <h2>NEW: Software:Wetlab Collaboration Opportunity!</h2> | ||
Line 161: | Line 169: | ||
<br> | <br> | ||
<br> | <br> | ||
− | + | --> | |
Line 167: | Line 175: | ||
<h2>Committee</h2> | <h2>Committee</h2> | ||
− | <p>If students, mentors or other interested parties have any questions about the iGEM | + | <p>If students, mentors or other interested parties have any questions about the iGEM 2017 Software Track, the Software Committee can be contacted by emailing <i> software [AT] igem [DOT] org</i>.</p> |
<!-- | <!-- |
Latest revision as of 19:13, 31 July 2017
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.
Code Submission Deadline: November 1, 2017, 11:59pm EST
The deadline for submission of code to the iGEM Github Repository is the same date as the Wiki Freeze for all iGEM teams (See the 2017 Calendar for details). By this date, you MUST have a github repository within the igemsoftware2017 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 igemsoftware2017 organization:
- Create a github repository for your code early on during your project (use your team name as the repository name, use "_" instead of " " or ":")
- 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 igemsoftware2017 organization.
- Accept the invite
- In the "Settings" tab of your github repository page, select "Transfer ownership" (in the Danger Zone at the bottom).
- Enter igemsoftware2017 as the name of the new github organization, then confirm "I understand, transfer this repository"
Create a judging release of your project:
- Go to the "Code" tab of your github repository page (the default)
- Click on "releases" and then "create a new release"
- Tag version: 1.0.0
- Release title: IGEM Judging release
- Attach a installation-ready copy of your code so that judges can easily download and install your software
- 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
Committee
If students, mentors or other interested parties have any questions about the iGEM 2017 Software Track, the Software Committee can be contacted by emailing software [AT] igem [DOT] org.