Improving Software: Building A Toehold Designer for B. subtilis

Disclaimer: We want to be very clear that we did not create this software, we improved on it. The credit for designing the software generally goes to EPFL-iGEM 2017 who won the award for Best Software that year. What we did was tweak the code to offer more flexibility, particularly in order to allow for design of toeholds in B. subtilis or using B. subtilis RB sites. When we decided we wanted to expand on the work of EPFL, we made an effort to reach out to 2017 team to get advice and inform them of our project. However, we were not able to get into contact with them.

EPFL iGEM 2017

EPFL iGEM 2017 team produced a software tool meant to select toehold targets within a larger target sequence. It follows exactly the scoring method described in the original paper published on toeholds (Green et. al. 2014), while applying scripts for RNA modeling described by the more recent SNIPR paper (Takahashi et. al. 2017). This tool functions extremely well, and won the prize for best software project in the 2017 iGEM competition. We are very grateful to the EPFL team for creating it.


You can access both the original software from EPFL, and our new and improved software, by clicking the links above to access the code of Git Hub. Both softwares require downloads.

Original Software: Our Experience

While we looked for software to help us design the toeholds at the beginning of our experience, we tested out many toehold switch design tools. Of all of them, EPFL's was the most reliable. But in order to use it for our project, we needed to make some modifications.

B. subtilis RBS

The switch template in the software uses an E. coli RBS, which is not guaranteed to lead to translation in B. subtilis. Therefore, our team had to change out the RBS separately of the software in order to make it compatible with subtilis. This poses a problem because changing the RBS sequence also changes the secondary structure of the toehold switch. What may look like a good toehold switch with the E. coli RBS, may completely fail to form a hairpin when a B. subtilis RBS is substituted in. In order to solve this problem, a reliable B. subtilis RBS in Dr Elizabeth Libby’s J_11 YFP sequence was trimmed to fit in the loop of the toehold and switched in for the loop template


The original software sorts target windows based on the score of the original toehold structure, termed series A (Pardee et al.) Alexander Green (of Green above) recommended instead that we use series B switches (described in Pardee). The software was edited to model and sort by series B score. The different options for a flexible base pair in the series B design were also generated and listed with their respective scores.

Toehold Switch Maker

A small script to recreate toehold switches from particular target sequences after the fact was coded by us separately from the software tool, because the feature did not exist in EPFL's software. These were direct edits to the code and were rather difficult to get working, which was part of the reason we decided to pursue a software project in improving the accessibility of the EPFL software.

Areas for Improvement

The major drawbacks to this software are that it is difficult to install and hard to customize.

Installation: NUPACK and the software both require terminal commands to install and configure. The user has to type in an IP address in their browser to access the tool. The user’s computer has to be on and awake during the entire ~15 minute execution of the base program.

Customization: The tool works great for E. coli viral detection, but not for any other use cases. This is because it lacks interchangeability for other organisms, such as B. subtilis. The RBS,

Improved Software: Our Solutions

We are in the process of developing a new version of the toehold designer tool which improves upon the orignal EPFL software. We hope that we can make the excellent tool more available and usable for everyone's use cases.

Creating A Webtool

We are trying to create an online web tool that performs computation on separate servers. This would allow users to sleep or save battery on their computer - the current process takes a lot of power. Creating a web tool would also mean not having to download the code and other programs and set it up in order to run it. Additionally, want the webtool to be able to save user queries and results so that they can easily access previous design attempts.

Introducing More Customizability

We want to expand on the code to allow more flexibility and options for different inputs. This would allow users to change RB sites, select their toehold structure and an optional base, and customize linker sequences. It would also filter result sequences to prevent close neighbors, and would model the beginning of the reporter sequence to avoid interactions.

about us
Bioengineering Logo Stanford Medicine Logo Biocurious Logo
IDT logo BIOME logo