|
|
Line 5: |
Line 5: |
| <style> | | <style> |
| @import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap'); | | @import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap'); |
− |
| |
| </style> | | </style> |
| <!-------------------- HTML CONTENT --------------------------------> | | <!-------------------- HTML CONTENT --------------------------------> |
Line 14: |
Line 13: |
| | | |
| <div class="Subtitle"> | | <div class="Subtitle"> |
− | <div class="Title">Software</div> | + | <div class="Title">Hardware</div> |
| </div> | | </div> |
| <div class="container"> | | <div class="container"> |
Line 37: |
Line 36: |
| <div class="text"> | | <div class="text"> |
| <p> | | <p> |
− | So many engineering fields use many design-build-test-learn (DBTL) cycles to find optimal results. | + | Every frugal biofoundry definitely needs frugal hardware. The cost of hardware has been a huge |
− | Biofoundries are the infrastructure that allows synthetic biology and biotechnology to utilize the | + | challenge to most biofounries. Being able to have access to open frugal hardware designs will go a |
− | DBTL as the main workforce of change for solutions in organism engineering. Automation is the key | + | long way to increase the quality of research being conducted. As part of the friendzymes initiative, |
− | element inside Biofoundries allowing them to high-throughput a wide range of designs, experiments, | + | we seek to create biofoundries across several countries where we will design and build several |
− | tests that later will generate integrative reports to define if the desired goal is achieved. | + | hardware components to facilitate and improve the quality of the enzyme manufacturing. |
− | However, what should be the final objective for this software in Biofoundries? Well, in our
| + | |
− | perspective the future depends directly on the creation of autonomous biofoundries, especially the
| + | |
− | frugal ones.
| + | |
| </p> | | </p> |
− | <p>Autonomy is a concept that people are familiar with when talking about cars. Fully autonomous | + | <p>We have three hardware components that are essential for frugal enzyme manufacturing, purification, |
− | vehicles are the pinnacle of automation by transforming a very human-dependent activity into a | + | and quantification. We explain in detail the construction and outcomes of these frugal hardware we |
− | completely automatic one. What if synthetic biology could be similarly automized? What if protocols
| + | are building to add to our biofoundries. |
− | could be executed by an integrated infrastructure? What if they could be adapted to each specific
| + | |
− | laboratory setup? What if the design of genetic parts and experiments could be corrected while being
| + | |
− | produced?</p>
| + | |
− | | + | |
− | <p>We understand that Frugal Biofoundries will need open software that allows for these types of
| + | |
− | integrations. Where the community actively communicates and develops their own non-proprietary,
| + | |
− | free, easy, high-quality software solutions, that could resolve a high-throughput and high volume of
| + | |
− | data. Not only that, we need synthetic biology developers that will develop the next generation of
| + | |
− | tools for biotech infrastructure. | + | |
| </p> | | </p> |
| + | <li> |
| + | <p><mark>Frugal bioreactor</mark></p> |
| + | <p>Necessary for producing the vessels of our enzymes, B. subtilis, in large amounts for them to |
| + | secrete our polymerases in large amounts. |
| + | </p> |
| + | </li> |
| + | <li> |
| + | <p><b><mark>Frugal Chromatography column</mark></b></p> |
| + | <p>Necessary for separating desired proteins of interest after our vessels have successfully |
| + | expressed and secreted them. |
| + | </p> |
| + | </li> |
| + | <li> |
| + | <p><b><mark>Frugal Fluorescent Plate Reader</mark></b></p> |
| + | <p> Necessary for having a readout on the purity of the enzymes obtained through our chromatography |
| + | column. |
| + | </p> |
| + | </li> |
| | | |
− | </div>
| + | </ol> |
| | | |
− | <h2 id="toolkit">A quick walk through on toolkit</h2>
| + | <p> |
− | | + | <p>In every laboratory activity, you need hardware, gadgets, materials, and support equipment. In this |
− | <div class="text">
| + | section, we give you an overview of our progress in the area of hardware and tool development. We |
− | <p>n order to do that, we decided to utilize Poly, an open-source Go package for organism engineering. | + | will go through some important steps to build, test and evaluate the three basic hardware we will be |
− | As a Go package, Poly has intrinsic properties that allow easy reusability, compatibility, and good | + | building for our biofoundry. Building these hardware will not on;y facilitate and improve the |
− | performance. Poly also has a very vivid and funny community, guided by a very active maintainer and | + | quality of research but will overall help save massively on the cost of acquiring commercial |
− | creator of the package, Timothy Stiles. The compromise of creating good quality code allied to the | + | hardware or constantly purchasing reagents supplies from commercial sources. In developing |
− | ambition to become the most complete and open collection of computational synthetic biology tools is | + | countries, where access to a constant supply of reagents is a major problem, these hardware |
− | what makes Poly a very attractive option for what we’re trying to create. Actually, most of the | + | components will help eliminate this challenge. The overall total cost in building these hardware is |
− | Friendzymes software team is or became a Poly contributor.</p> | + | approximately $4,000, which is several thousands of dollars less than commercial hardwares of the |
| + | same design. In terms of performance, these frugal hardwares are comparable to their commercial |
| + | counterparts. |
| | | |
− | <p>We decide for this MVP (Minimum Viable Product) part of Friendzymes projects to stipulate two main
| |
− | objectives:</p>
| |
− | <ul>
| |
− | <li>
| |
− | <p>Create software that can be easily adapted and learned for people interested in being a
| |
− | SynBio developer, so they could be empowered to resolve their own and community problems;
| |
− | and,</p>
| |
− | </li>
| |
− | <li>
| |
− | <p>Create software that can demonstrate how software could automatize processes in the DBTL
| |
− | cycle.</p>
| |
− | </li>
| |
− | </ul>
| |
− | <p>The main goal of our project is the democratization of biotechnology; thus, when thinking about
| |
− | people who have different backgrounds and levels of knowledge in programming, we created 1) the
| |
− | Friendzymes Cookbook, a collection of Jupyter Notebooks with scripts that we developed for this iGEM
| |
− | season to help the Design team create incredible work, and 2) the Friendzymes Actions, a collection
| |
− | of Github Actions for Synthetic Biology for Continuos Integration integration.
| |
| </p> | | </p> |
− | </div>
| |
− | <h2 id="cookbook">The Friendzymes Cookbook</h2>
| |
− | <div class="text">
| |
− | <p>During the iGEM season, Friendzymes’ software and design teams worked together to automatize steps
| |
− | that could be complicated, time-consuming, and unsafe to do by hand, e.g. making a typo and
| |
− | compromising your sequence. Ithis process, we created many scripts to locate our specific demands
| |
− | and shared this as Colab Notebooks so others could copy, modify and recreate.</p>
| |
− | <p>However, many of these tasks are similar when it comes to biological circuit design: codon
| |
− | optimization, primer design, searching for forbidden sequences (e.g. EcoRI binding site outside the
| |
− | BioBrick standard prefix and suffix), among others. Hence, we thought it prudent to make tutorials
| |
− | that could help people beyond our own project so we create the Friendzymes Cookbook, not only a
| |
− | collection of scripts for design automation but also as an Educational Tool (Check on the Education
| |
− | Section) so newcomers in the Software Team, interested people from the Friendzymes, teams from
| |
− | iGEM/iGEM Design League, and others in the SynBio Community could all have a way to learn more about
| |
− | Poly, common problems, and how to design new tools!</p>
| |
− | <p>The Cookbook is defined as the collection of Colab notebooks, currently comprising:</p>
| |
− | <ol>
| |
− | <li>
| |
− | <p><mark>Understanding Poly</mark></p>
| |
− | <p>Poly is our key tool for the software. It was a planned decision to build workflows that
| |
− | integrate with Poly, to show ways to use the package, as well as create some new features;
| |
− | therefore, it is very important that you understand how the Poly package works and what its
| |
− | structure is in general before you begin manipulating it. Thus, we created this brief
| |
− | overview of Poly, its sub-packages, and a collection of use cases. We strongly recommend
| |
− | that you do the tutorials in the order they appear.
| |
− | </p>
| |
− | </li>
| |
− | <li>
| |
− | <p><b><mark>Codon Optimization</mark></b></p>
| |
− | <p>A very common task for the design of parts is Codon Optimization, so here we will show how
| |
− | you can create customized Codon Tables and how you can use this to do codon optimization of
| |
− | a given Coding Sequence (CDS).</p>
| |
− | </li>
| |
− | <li>
| |
− | <p><b><mark>Annotation of problematic sequences</mark></b></p>
| |
− | <p>Have you designed your sequence? Now it is time to remove small forbidden parts that can
| |
− | hinder you, not only when sequencing (e.g. hairpins, repetitive regions), but also when
| |
− | cloning (e.g. restriction binding sites). What this tutorial shows is the automatic
| |
− | annotation of these problems. It will give you a genbank file (with these annotations
| |
− | attached) that you can drop into your favorite viewer, like Benchling or Snapgene.
| |
− | </p>
| |
− | </li>
| |
− | <li>
| |
− | <p><b><mark>CDS fix</mark></b></p>
| |
− | <p>In this notebook, you will input your CDS sequence(s) and receive your CDS corrected without
| |
− | the problematic sequences. This is done by replacing the codons with synonymous ones, thus
| |
− | keeping the same amino acid sequence at the end. Kind reminder that this tutorial was NOT
| |
− | written for non-coding sequences such as promoters, rbs, and terminators. If you have found
| |
− | problematic sequences in it, review case by case and be careful not to lose biological
| |
− | meaning.</p>
| |
− | </li>
| |
| | | |
− | <li>
| |
− | <p><b><mark>Automatically create parts with correct overhangs</mark></b></p>
| |
− | <p>How about designing your final plasmid without worrying about each separate part and using a
| |
− | script to add the restriction binding sites, spacer, and overhangs? That’s what you find
| |
− | here!</p>
| |
− | </li>
| |
− |
| |
− | <li>
| |
− | <p><b><mark>Golden Gate Simulation</mark></b></p>
| |
− | <p>In this notebook, you will run a simulation of a Golden Gate reaction and see if everything
| |
− | is theoretically acceptable before physically synthesizing your parts.</p>
| |
− | </li>
| |
− |
| |
− | </ol>
| |
− | <p>We made all these ‘recipes’ using Jupyter Notebook, with Google Colab in mind, a free platform for
| |
− | running notebooks using the Google Infrastructure. This way people don’t need to install or
| |
− | configure anything to run, adapt and develop their own tools.
| |
− | We also made this repository where people could contribute by proposing new chapters of the
| |
− | cookbook, fixing bugs, and maintaining this whole collection of tools. Feel free to take a visit to
| |
− | our repo and suggest anything you’d like!
| |
− | </p>
| |
| </div> | | </div> |
− | <h2 id="actions">Friendzymes Actions</h2>
| |
− | <div class="text">
| |
− | <p>
| |
− | While writing this text a script behind the scenes is checking if the words are used correctly, and
| |
− | this integration is so seamless and smooth that people take it for granted. This isn’t magic, it is
| |
− | actually an automation process. In software engineering, there is an entire field of study dedicated
| |
− | to automation processes which were previously manual. By using a pipeline, we make the process of
| |
− | automation simpler.
| |
− | </p>
| |
− | <p>
| |
− | Pipelines could be understood as an iterative process where each output is used as the input of the
| |
− | next, so the sum of all this script's workflow is your final result. The actual pipeline manager
| |
− | tools try to make these workflows context-independent (using most of the time container as a
| |
− | solution), so developers could easily migrate and scale pipelines from local computers to a cluster
| |
− | or a cloud server.
| |
− | </p>
| |
− | <p>
| |
− | To process the high-throughput demand inside the biofoundries, software engineers implement
| |
− | pipelines which process thousands upon thousands of designs, experiments, and data analyses every
| |
− | week. We believe the Jupyter Notebooks are good for some scenarios, however, they can't provide a
| |
− | framework scalable enough for this demand. With this in mind, we tried to avoid creating a solution
| |
− | that is attached to a specific cloud service provider or to use a tool that will need too many
| |
− | configuration steps. For this, we decided to use Github Actions.
| |
− | </p>
| |
| | | |
− | <p>Github Action is a free-to-use feature inside Github that allows you to automate tasks inside your
| + | |
− | repository. In essence, is a way to have pipelines that could or not be related to the code that you
| + | </div> |
− | share in the platform. For us, this means a free pipeline manager software, with minimal steps for
| + | |
− | configuration, where people could automatize processes for the DBTL cycle in an open-source
| + | |
− | environment.</p>
| + | |
| | | |
− | <p>To demonstrate the potential of this too,l we created three Github Actions:</p>
| |
− | <ol>
| |
− | <li>
| |
− | <p><b><mark>DNA Annotator</mark></b></p>
| |
− | <p>This action allows users to process Genbank files and reannotate them with problematic
| |
− | regions as Hairpins, Repetitive sequences, and forbidden restriction binding sites, allowing
| |
− | DNA designers to easily find regions to take a well-informed decision of what subsequences
| |
− | is better to correct.
| |
− |
| |
− | </p>
| |
− | </li>
| |
− | <li>
| |
− | <p><b><mark>Is this DNA Synthesizable?</mark></b></p>
| |
− | <p>Instead of copying and pasting each sequence that you have in the IDT gBlock Analyzer page to
| |
− | see if your sequence is synthesizable, we created this action to check this for you. We have
| |
− | some optional features, like break the pipeline, for halting the process if the software
| |
− | finds a non-synthesizable sequence, and then exports a JSON file with the score of each
| |
− | sequence and the problems they found.
| |
− | </p>
| |
− | </li>
| |
− | <li>
| |
− | <p><b><mark>Codon Optimization</mark></b></p>
| |
− | <p>You could, with this action, automatically codon- optimize a list of sequences for different
| |
− | organisms based on the codon tables you share. This is good if you’re working with multiple
| |
− | organisms at the same time.
| |
− | </p>
| |
− | </li>
| |
− | </ol>
| |
− | <p>
| |
− | In our development roadmap, we envision new actions that can automatically generate Opentron
| |
− | protocols files that already have parameters to assemble (BUILD), amplify and validate (TEST) your
| |
− | sequences as a whole experiment; additionally, we’re creating also more and more modular tools for
| |
− | automating the design of genetic parts. We believe with these tools, Synthetic Biologists could
| |
− | start automatizing manual labor-intensive tasks and utilize the benefits that software development
| |
− | already has for their field.
| |
− | </p>
| |
− | </div>
| |
− |
| |
− | <h2 id="future">For the future</h2>
| |
− | <div class="text">
| |
− | <p>For us this feels like a beginning. We are starting to implement these ideas, but as previously
| |
− | stated, we know where we want to go. We want frugal biofoundries to be equal with full-size
| |
− | biofoundries, including automation. Furthermore, we don’t want the software to be ‘good enough’ to
| |
− | be open-source, we want software that is majestic for individuals and big companies. We want to
| |
− | integrate hardware and software, so that frugal biofoundries can automate DNA sequencing from
| |
− | end-to-end, for example, the processing of COVID’s DNA sequence. We want to make oligo pools
| |
− | assembly easy and less error-prone so people could synthesize parts 10x or 20x more cheaply. Living
| |
− | protocols running and showing if the experiment already has some inconsistencies, so you don’t have
| |
− | to waste more reagents to realize you make a mistake. </p>
| |
− | <p>For us this feels like a beginning. We are starting to implement these ideas, but as previously
| |
− | stated, we know where we want to go. We want frugal biofoundries to be equal with full-size
| |
− | biofoundries, including automation. Furthermore, we don’t want the software to be ‘good enough’ to
| |
− | be open-source, we want software that is majestic for individuals and big companies. We want to
| |
− | integrate hardware and software, so that frugal biofoundries can automate DNA sequencing from
| |
− | end-to-end, for example, the processing of COVID’s DNA sequence. We want to make oligo pools
| |
− | assembly easy and less error-prone so people could synthesize parts 10x or 20x more cheaply. Living
| |
− | protocols running and showing if the experiment already has some inconsistencies, so you don’t have
| |
− | to waste more reagents to realize you make a mistake. </p>
| |
− | <p>How could software improve synthetic biology? How much impact could software make to advance humanity
| |
− | to carbon-negative and actually make a (why not) solarpunk future a reality?
| |
− | </p>
| |
− | <p>Software is a big piece of this puzzle. Together we could build it. </p>
| |
− | <p>If you’re interested don’t hesitate: leave a message, e-mail or github issue, and we will be glad to
| |
− | present what we’re doing right now and show ways to contribute to the Friendzymes project.</p>
| |
− | </div>
| |
− | </div>
| |
| | | |
| | | |
− |
| |
| | | |
| | | |