🧬

How to learn synthetic biology as a programmer?

This post mirrors the content in this github repo. If you want to add new resources, feel free to submit a PR or DM me.

Basics

If you are new to Biology, you might want to start with the following resources:

Concepts of Biology

Addgene Blog

Procedure reviews

Other resources

Bioinformatics, R&D tools & Learning

Videos

Publications

Courses

  • Compsynbioclass.org: is the course website for Boston University's "Computational Synthetic Biology for Engineers". Website features complete lecture slide decks, reading assingments and open-sourced project repos.
  • Waag's BioHackAcadamy: This is the central Syllabus of the BioHack Academy 2023.

Facilitating access to DNA sequences

  • Addgene: is a nonprofit plasmid repository that archives and distributes high quality plasmids.
  • Stanford Free Genes Project: Contribute ideas for useful DNA sequences to be developed for an open biotechnology commons. The Stanford Free Genes Project will synthesize these sequences and distribute them under the OpenMTA, allowing for the development of applications that benefit humanity and the environment.

Standards

  • SBOL: Standard interchange format to exchange information between design tools and scientists.
  • SBML: Standards to describe mathematical models for biological systems.

Programming Languages

  • Cello: Cello is a framework that describes what is essentially a programming language to design computational circuits in living cells. The circuits generated on plasmids expressed in Escherichia coli required careful insulation from their genetic context, but primarily functioned as specified. The circuits could, for example, regulate cellular functions in response to multiple environmental signals. Such a strategy can facilitate the development of more complex circuits by genetic engineering.
  • Eugene: Eugene is a human- and machine-readable language for specifying the design of biological systems. It allows users to generate biological designs based on customizable constraints, such as the maximum number of included genetic parts, the directionality of specific components, or the total sequence length of the output device.

Misc Tools

  • 3DuF: 3DuF is an interactive design tool for engineering continuous flow microfluidics. 3DuF is an open-source design tool that incorporates features from both traditional CAD tools like Autodesk and Solidworks and PCB design tools to accelerate the design flow.
  • Beholder: Beholder is a Python end-to-end tool, microscopy image, and data analysis tool for biophysicists and synthetic biologists. With Beholder, researchers and microscope users can automatically obtain fluorescence measurements of a population of cells (at the single-cell level) for multiple experiments from their ND2 files.
  • Clotho: Clotho is a framework for engineering synthetic biological systems and managing the data used to create them. It serves as both a centralized location to store synthetic biological information — such as genetic parts, nucleic acid sequences, and physical samples– as well as a framework for applications (apps) which interact with said data.
  • Constellation: Enumerate genetic designs through graphs that are mathematically rigorous.
  • DAFD: DAFD is the first microfluidic design automation software that can deliver a user-specified desired performance using machine learning.
  • Double Dutch: Double Dutch is a tool for designing combinatorial libraries of biological systems based on designs from response surface methodology (RSM).
  • Fluigi: Fluigi is a Computer Aided Design (CAD) framework for creating microfluidic devices for use in synthetic biology. These devices are designed to help overcome the size and complexity limitations of conventional, intracellular genetic circuit designs by physically separating circuit components and precisely controlling the flow of fluid between them.
  • FPselection: Algorithms for fluorophore selection.
  • Hummingbird: Hummingbird is a repository of MoClo DNA part and plasmid libraries developed by the CIDAR lab.
  • Knox: Knox is a web-enabled repository for storing, modifying, and tracking changes to genetic design spaces encoding thousands of genetic design variants as directed graphs. Graph edges are labeled with sets of IDs for genetic parts such as promoters, coding sequences, and terminators. Each path from a start node to a stop node represents a combinatorial set of designs formed by concatenating one part from each edge in the path.
  • Merlin: Merlin is a web-based application for genomic reprogramming via a rapid and efficient method known as Multiplex Automated Genome Engineering (MAGE). This process can be used to target many regions on a genome simultaneously, in order to construct highly modified organisms, or to create diverse populations and explore a large genome landscape.
  • Neptune: Neptune is a complete, end-to-end microfluidic design suite for synthetic biologists. With Neptune, researchers and microfluidic designers have all the tools needed to design, fabricate, and control microfluidic devices. Neptune supports high level specification of the layout and function of a microfluidic chip.
  • Owl: Owl is a tool that allows users to create electronic datasheets for new biological parts, devices, or systems. Users can enter their data into preexisting fields for a given data model and add their own data from assays. Or users can search from existing webpages on the Registry of Standard Biological Parts (parts.igem.org) and produce datasheets in a consistent format.
  • Oriole: Oriole is a synthetic biology design tool that divides a biological network into implementable sub-networks, when given a set of engineering constraints. It allows users to convert a biological network, such as a gene regulatory network, metabolic network or species interaction network, into its graphical representation, and be divided into a set of sub-networks with user-defined objectives and constraints. Such sub-networks can be engineered experimentally to communicate and carry out distributed functions.
  • Phagebook: Phagebook is a Clotho 3.0 app that serves as a social networking interface incorporating lab inventory management and project/personnel networking. Phagebook facilitates collaboration amongst the synthetic biology community and like any other Clotho app, it directly communicates with Clotho apps for specification, design, assembly, and verification of synthetic biological systems.
  • Phoenix: The Phoenix project describes a framework to design complex genetic systems where the focus is on how the system behaves over time instead of its behavior at steady-state. Using Signal Temporal Logic (STL) -- a formalism used to specify properties of dense-time real-valued signals, biologists can specify very precise temporal behaviors of a genetic system.
  • Pigeon: Pigeon is a Web-based tool that translates a textual description of a synthetic biology design into an image. It allows programmatic generation of design visualizations, is easy to learn, is easily extensible to new glyphs and notation, and can be connected to other software tools for visualizing their output.
  • Puppeteer: Puppeteer is a web-based planning and instruction generation tool which automates the task of DNA assembly by tracking, managing, and controlling laboratory tasks, reagents, and equipment. It is designed to translate protocols into sets of human- and machine-readable instructions, reducing the labor cost of building genetic devices.
  • Raven: Raven is a DNA assembly planning tool that generates optimized assembly plans that minimize both the labor and reagent cost involved in constructing target DNA sequences from oligo- and plasmid-derived fragments. Raven is faster and more reliable than designing assembly plans by hand, freeing synthetic biologists from much of the effort and human-error involved in manual assembly planning.
  • Guide tool: Guide tool is a software that can give a valve-based solution for user to control their biochip according to their operation descriptions and biochip design file generated from 3DuF. Besides, user can also use one of the outputs from Guide tool to do experiments on Biochip by hardware without manual intervention.
  • MINT: MINT is a netlist description language used for describing parametric microfluidic device designs. MINT features a human-readable grammar that can be compiled by the MINT compiler. MINT additionally allows the user to capture user-defined layout constraints that can be optionally be processed by physical design algorithms.
  • Bioperl: The Bioperl Project is an international association of users & developers of open source Perl tools for bioinformatics, genomics and life science.
  • (Poly)merase: Poly is a Go package for engineering organisms.
  • Ark: Go REST API to replace Genbank, Uniprot, Rhea, and CHEMBL.
  • GENtle2: Web-Based DNA Editor for Synthetic Biology.
  • Gigabase: Brogramming for life: Gigabase is your virtual cell. Give it infrastructure, give it metabolites. Add metabolism and protein synthesis. Finally design some DNA and some transporters. Press simulate and see how the metabolites are transpoterd, consumed and converted, while the other compounds are produced and synthesized. One day the virutal cell will turn design into real biological computers.
  • BioHackAcademy: Open Source #DIYBio Lab equipment.
  • libSBOLj: Java Library for Synthetic Biology Open Language (SBOL).

Applications