Skip to content

SynBioSuite Tutorial Design

Travis Uhrig edited this page Jun 11, 2026 · 3 revisions

SBOLCanvas Tutorial: Modelling and Simulating the sc2 Subcircuit

sc2 subcircuit design in SBOLCanvas

Contents

  1. Introduction to the sc2 subcircuit of the MD5-hashing genetic circuit.
  2. Getting started with SBOLCanvas.
  3. Modelling sc2 subcircuit on SBOLCanvas:
    • 3.1 Creating transcriptional units on SBOLCanvas
    • 3.2 Importing components (genetic parts) from SynbioHub to SBOLCanvas
    • 3.3 Creating molecular interactions on SBOLCanvas
    • 3.4 Creating events to represent the addition/withdrawal of input inducer molecules
  4. Simulating sc2 subcircuit on SynbioSuite model analysis tool:
    • 4.1 Running ODE simulations of sc2 subcircuit design
    • 4.2 Analysis of circuit behavior using model simulation
  5. Uploading sc2 subcircuit design to SynBioHub
sc2 subcircuit overview

1- Introduction to the sc2 subcircuit of the MD5-hashing genetic circuit

In this tutorial, we will learn how to model and simulate a combinatorial genetic logic circuit consisting of a NOT gate and a NOR gate connected in series such that the NOT gate inverts one of the inputs of the two-input NOR gate.

This circuit takes two chemical inducers (IPTG and Ara) as circuit inputs, performs boolean logic operations using transcriptional repressors and their cognate promoters, and then produces two small diffusible molecules (DAPG and OC6) as circuit outputs. OC6 is the output of the NOR gate while DAPG is the output of the NOT gate and is also one of the inputs of the NOR gate.

This circuit, also called sc2 subcircuit, is part of a larger multicellular genetic logic circuit created by Voigt's lab at MIT using the CelloCAD tool, which genetically implements a 2-bit version of the MD5 hashing algorithm using 110 NOT and NOR gates partitioned across 66 communicating Escherichia coli cells [1].

[1] Padmakumar, J.P., Sun, J.J., Cho, W. et al. Partitioning of a 2-bit hash function across 66 communicating cells. Nat Chem Biol 21, 268–279 (2025). https://doi.org/10.1038/s41589-024-01730-1

Sc2 subcircuit wiring diagram

sc2 subcircuit wiring diagram NOT gate NOR gate

NOT Gate                    NOR gate

Steady-state behavior of sc2 subcircuit

Steady-state behavior of sc2 subcircuit Steady-state behavior of sc2 subcircuit Steady-state behavior of sc2 subcircuit Steady-state behavior of sc2 subcircuit

Genetic implementation of sc2 subcircuit

Genetic implementation of sc2 subcircuit

Genetic parts

  1. Promoters: pTac, pBAD, pJR7, and pJR11
  2. Ribonuclease sites (ribozyme insulators): PImJ, SarJ, and RiboJ
  3. Ribosome binding sites: Rj72, Rj111, B0034, and CHRBS3c
  4. CDSs:
    1. Transcriptional repressors: LacI, AraC, jr7 and jr11
    2. Fluorescent reporter: yfp
    3. Output biosynthesis enzymes: luxI, phIA, phIC, phIB, phID
  5. Terminators: DT36, D19, DT65, and B0015

pTac and pBAD are the input inducible promoters that fire only in the presence of IPTG and Ara inducers, respectively. LuxI is an autoinducer synthase enzyme responsible for synthesizing the output signaling molecule: OC6 (N-(3-oxohexanoyl)-L-homoserine lactone) while the enzymes phIA, phIC, phIB, phID are responsible for synthesizing the other output molecule: 2,4-diacetylphloroglucinol (2,4-DAPG).

Please note that the rest of the parts shown in the diagram belong to the backbone and will not be used to create the sc2 subcircuit as they do not participate in circuit interactions. Please also note that LacI and AraC are not explicitly shown in the diagram above. However, as we will learn later in this tutorial, they should be explicitly represented during circuit modelling on SBOLCanvas. More precisely, we will represent their complexes with the input inducers (IPTG-LacI and Ara-AraC).


2- Getting started with SBOLCanvas

Quick notes before we start the tutorial to avoid any issues:

  1. Please use Google Chrome browser for this tutorial (Safari/Firefox are not supported)
  2. Create a folder on your computer for the circuit design and name it "sc2"

Let's get started!

  1. Go to https://synbiosuite.org/ and click on "Use my local file system through Chrome".
SynBioSuite landing page - Use my local file system through Chrome
  1. Go to the "Design" tab on the side toolbar and click "Open Folder"
Design tab - Open Folder

And select the folder you created earlier: "sc2"

Selecting the sc2 folder
  1. Once you open the "sc2" folder, click on "New Design" to open SBOLCanvas from SynbioSuite (name the new design: sc2).
New Design in SynBioSuite

Your screen should now look like this:

SBOLCanvas opened from SynBioSuite

Let's take a moment to get familiar with the SBOLCanvas UI. https://sbolcanvas.org/tutorial

SBOLCanvas UI overview

3- Modelling sc2 subcircuit on SBOLCanvas

To model the sc2 genetic circuit on SBOLCanvas, we will use the glyphs on the left side toolbar to represent the genetic parts and their regulatory interactions. Please take a moment to familiarize yourself with the glyphs by hovering over some of them to see what genetic part/interaction they represent. We will also learn how to import genetic parts from SynbioHub to SBOLCanvas and how to create "events" to represent the addition/withdrawal of circuit inputs which will be used later for circuit simulations.

3.1 Creating transcriptional units on SBOLCanvas

First, we will build 6 transcriptional units (TUs). To compose a TU, you need to click on each of the following glyphs consecutively:

  1. a DNA backbone:

    DNA backbone glyph
  2. a promoter:

    Promoter glyph
  3. a ribonuclease site (RS) (also called ribozyme insulator):

    Ribonuclease site (ribozyme insulator) glyph
  4. a ribosome binding site (RBS)

    Ribosome binding site (RBS) glyph
  5. a coding sequence (CDS):

    Coding sequence (CDS) glyph
  6. a terminator:

    Terminator glyph

Repeat the TU creation process for the first five transcriptional units. Each one should look like this:

A single transcriptional unit

The last TU is polycistronic so we need to modify the TU creation process so that we have three RBS-CDS pairs instead of one RBS-CDS pair. This TU should look like this:

Polycistronic transcriptional unit with three RBS-CDS pairs

Creating protein production, degradation reactions, and regulatory interactions (repression and induction) between promoters and repressors

Second, we will represent the biochemical species and reactions/interactions involved in sc2 circuit by following these steps:

  1. For each CDS, we will create:

    1.1- a macromolecule species to represent the encoded protein (transcriptional repressors, fluorescent protein, and output enzymes). In case the same protein is encoded by multiple CDSs, we should create ONLY ONE macromolecule species to represent that protein.

    Macromolecule (protein) species glyph

    In order to connect a CDS to its encoded protein (macromolecular species), we need to create a genetic production reaction as shown in step 2.

    1.2- a genetic production reaction to represent the transcription/translation process from that CDS.

    Genetic production reaction glyph

    To do this, you need to simultaneously select CDS and its corresponding protein species from above. Once both are highlighted, click on the genetic production arrow from the side panel to add it to the circuit diagram. You can confirm this interaction, by dragging around the CDS or protein species where the arrow should follow along. You should select the CDS first then the protein before clicking on Process interaction glyph otherwise you will run into an error.

    1.3- a protein degradation reaction for each macromolecule species. To do this, you just need to click on the protein species and then click on the degradation arrow from the left side panel (in the molecular interactions of the glyph menu).

    Protein degradation reaction glyph
Selecting CDS and protein species Creating a genetic production reaction

Repeat the above steps for CDS and until each CDS looks like this

Completed CDS with production and degradation reactions
  1. For each promoter we need to create the repression/induction reactions as follows:

    Except for pTac and pBAD promoters, we will create a repression reaction to represent the interaction between each transcriptional repressor (jr7 and jr11) and its cognate promoter (pJR7 and pJR11).

    Genetic repression/inhibition glyph

    To do this, we need to simultaneously select the transcriptional repressor and its cognate promoter and then click on the genetic repression/inhibition glyph

Selecting repressor and cognate promoter Genetic repression/inhibition glyph Repression reaction between repressor and promoter

For the two input inducible promoters (pTac and pBAD) we will create stimulation interactions to represent IPTG and Ara inductions, respectively. But first we need to create two complex species to represent the inducer-repressor complexes (IPTG-LacI and Ara-AraC). To represent the induction reaction, we need to select each complex and its cognate promoter simultaneously and click on the stimulation reaction glyph.

Creating inducer-repressor complex species Stimulation interaction for induction Induction reaction setup Stimulation error (promoter selected before complex)

An error you get if the promoter is selected first before the complex when creating stimulation

Customizing component colors in the Design tab

Customizing the color of the circuit components from the Design tab on SBOLCanvas.

3.2 Importing components (genetic parts) from SynbioHub to SBOLCanvas

Importing components from SynBioHub SynBioHub part search SynBioHub part import Importing a genetic part into SBOLCanvas Imported part placed on the canvas Circuit with imported parts

3.4 Creating events for the addition/withdrawal of input inducer molecules to simulate circuit behavior

  1. Before we can simulate circuit behavior on SynbioSuite (iBioSim backend), we need first to represent the addition/withdrawal of inducer molecules (circuit inputs) over time. To do this, we need to create events by clicking on their green glyph in SBOLCanvas:
Event glyph in SBOLCanvas

To find out what events should be created, we need to take a look at the truth table and take note of all the possible combinations of inputs (IPTG and Ara). There are four possible combinations:

  1. IPTG low, Ara low
  2. IPTG high, Ara low
  3. IPTG low, Ara high
  4. IPTG high, Ara high

For each inducer molecule, we need to create separate inducer addition and withdrawal events over the time course of circuit simulation (25,000 ms total with 5000 ms time intervals).

For each possible input combination, we need to create two events (one for each inducer molecule) except when the level one input remains unchanged when transitioning between different input combinations. For example, transitioning from (IPTG low, Ara high) to (IPTG high, Ara high) needs only one event for IPTG as Ara level remains unchanged.

For example:

2- IPTG high, Ara low: We need to create an event that represents the addition of IPTG

Event example Event example Creating an event for IPTG addition Creating an event for IPTG addition Event configuration Event configuration Event configuration Event configuration

4- Simulating circuit behavior on SynbioSuite Model Analysis (iBioSim backend)

Model Analysis setup in SynBioSuite Model Analysis setup in SynBioSuite Model Analysis setup in SynBioSuite Model Analysis setup in SynBioSuite Simulation parameters Simulation parameters Simulation results sc2 subcircuit simulation output

5- Uploading sc2 circuit design to SynbioHub

Uploading to SynBioHub Uploading to SynBioHub Uploading to SynBioHub Design uploaded to SynBioHub Design uploaded to SynBioHub

Clone this wiki locally