Team:BITSPilani-Goa India/Contribution

Contribution | SugarGain | iGEM BITS Goa

The Safari browser doesn't support some features of this website. Please switch to Firefox, Edge or Chrome for a better experience.

Contribution

As a team participating in iGEM for the first time, we were absolutely thrilled by the community spirit that iGEM fosters. It was amazing to see how helpful everyone was, and over the years, participating teams had developed into a tightly-knit community, working together on shared goals and aspirations, and having lots of fun along the way!

While working on our wiki, we came across software built by previous iGEM teams that makes it easier to build iGEM wikis. iGEM Virginia 2018 built igem-wikibrick, a Node.js package that simplifies building iGEM wikis and automates their uploads, using a modified version of the igemwiki-api built by iGEM Toronto 2015. iGEM Waterloo 2017 built a continuous integration server for iGEM wikis.

As we tried to incorporate these tools into our workflow, we realized the scope for several improvements and the potential for a holistic solution that combines their functionality. So, we started working from scratch, incorporating their features, but also adding new features like markdown support and URL replacement while uploading to iGEM servers. These proved to be really useful towards fully automating deployment of iGEM wikis. Besides, integration of our software with Travis or Github Actions will allow teams to directly deploy their wikis from Github repositories. All these features would simplify the entire process and promote collaboration within iGEM teams.

The Bronze medal criterion for contribution towards future iGEM teams gave us a chance to work on such a software and give back to this community.

We worked on the following projects as part of this endeavour.

  1. iGEM WikiSync: A continuous deployment tool for iGEM wikis. It automatically uploads files onto the iGEM server, converts relative URLs in the codebase to absolute URLs from iGEM servers, and in the process also checks for broken links.

  2. iGEM WikiSync Github Action: A Github Actions plugin that allows Github repositories to deploy wikis to iGEM servers, ensuring that the wiki always remains in sync with the codebase.

  3. iGEM Wiki Starter Pack: The easiest way to build iGEM Wikis. Our Starter Pack is a holistic solution that provies teams with a mobile-responsive starter template and allows them to focus on the content and design of their wiki, by making the programming aspect much easier. It fully supports Markdown formatting, so that once the initial design setup is done, all members of the team can work on the wiki, without having to learn to code. It comes with common web development libraries like Bootstrap, jQuery, MathJax and Font Awesome built-in, along with features like automatically adding citations from DOI, a table of contents on each page, and a dark mode to make it easier on the eyes. Built on top of the node.js infrastructure using Webpack, it allows easily integrating any web development library from the entire ecosystem. It also includes Pug for templating, SCSS for easy and powerful styling and iGEM WikiSync for continuous deployment.

  4. We have added new information learnt from literature and new data and inferences learnt from our mathematical models to the existing part BBa_K2448032 created by iGEM Evry Paris-Saclay.

Our software contribution has been covered in great detail on the Software page. Please head over there to know more about some common use cases, installation instructions and documentation.

The following teams developed their wikis this year using our software and provided feedback towards its improvement. We're grateful for their support in testing and improving the documentation of our software.

  1. iGEM Stockholm
  2. iGEM MIT MAHE
  3. iGEM UNSW Australia
  4. iGEM Virginia
  5. iGEM UGent Belgium
  6. iGEM NYU Abu Dhabi
  7. iGEM IIT Roorkee
  8. iGEM GZ HFI

As a part of our phase two contribution, we plan on working on a web application in order to make it easier for iGEM teams to construct golden gate assemblies using parts from the registry according to iGEM specifications. This would allow importing data from the parts registry, modifying it according to iGEM Golden Gate specifications, and exporting it to platforms like Benchling.