๐Ÿง‘โ€๐Ÿ’ป๏ธ Guide on how to use iGEM Distribution packages with the Complexity Scores checks for synthesizability

Aug 12, 2024ยท
Johan Guillen Meza
Johan Guillen Meza
ยท 3 min read
Image credit: DALL-E

Hi ๐Ÿ‘‹

Overview

The work done can be found mainly in two repositories, the iGEM Actions and the iGEM Package Template repository, both part of the iGEM Engineering Organization. The two repositories are intended to work together. The iGEM Actions repository contains the GitHub actions and scripts required to processs and build the iGEM distribution packages. The aim of this package is to simplify the package creation process, streamline package development and ensure the robust creation and utilization of the iGEM distribution.

The iGEM Package Template repository can be used to build new distribution packages. This repository calls the iGEM Actions one and activates the corresponding GitHub Actions on the repository. Two succesful examples of this template can be found in the Anderson Promoters Collection and the iGEM RBS Collection package.

Steps

Please follow these next steps to succesfully use the tool.

1. Fork the iGEM Package Template repository

Go to the iGEM Package Template repository and fork it. Here, an example with the Anderson Promoters Collection is displayed, as the template itself is blank.

Fork 1
Make sure to fork all the branches.
Fork 2

2. Set up the repository

Go to the Actions tab in your forked repository and click on I understand my workflows, go ahead and enable them

Allow workflow
Now, please go to the Settings tab. Then, on the left-hand side panel, go to Actions->General, and make sure the workflow has reading and and writing permissions. Also, check the box that says Allow GitHub Actions to create and approve pull requests, this will be needed to update the files in the repository.
Workflow permissions

3. Set up IDT Credentials GitHub Secret

Finally, to check the synthesizability of your sequences by computing the complexity scores, you will need to set up a GitHub secret with your Integrated DNA Technologies(IDT) account credentials. As the software tool uses the IDT API, If you don’t have an account, you will need to create one. Please go to the Settings tab on your repository. Then, on the left-hand side panel, go to Secrets and variables->Actions, and select New repository secret.

Secrets 1
Make sure to name your secret IDT_CREDENTIALS, and provide your IDT account details in the dictionary format {“username”:“X”,“password”:“X”,“ClientID”:“X”,“ClientSecret”:“X”}
Secrets 2

To find your API credentials in the IDT webpage, click on your account’s name at the top of the page, and then click My account->API Access

Now, all is set up and the tool is ready to use.

Future Work

All the developed code is not hosted on the main branch of the iGEM Actions and the iGEM Package Template repositories. As future work, the changes made will merge with the main branch. Also, a local version of the SBOL utility calculate_complexity_scores.py is being used, as the latest release of SBOL Utilities does not contain this script. So, as soon the new release comes out, the local script will be removed from the repository and the new released version will be used instead.