Skip to content

Getting the complexity score from SBOL files to streamline DNA synthesis using standards #241

@Gonza10V

Description

@Gonza10V

Background

Synthetic biologists use the Design, Build, Test, Learn (DBTL) cycle to engineer biological systems. The Synthetic Biology Open Language (SBOL) was developed by the community as a standard to represent biological designs and covers the whole DBTL cycle. Although this standard is used and agreed by the community it is mostly used in its visual format and the data format has not been widely adopted, being PDF the primary format to share DNA sequences [1]. The adoption of SBOL [2] by the community can increase the reproducibility of experiments, facilitating building upon previous knowledge.
To streamline the DBTL cycle and increase the adoption of SBOL we propose the development of a function in SBOL-utilities that allow researchers to easily check synthesizability by different synthesis providers.

[1] Mante, J., Myers, C.J. Advancing reuse of genetic parts: progress and remaining challenges. Nat Commun 14, 2953 (2023). https://doi.org/10.1038/s41467-023-38791-0
[2]Buecherl, Lukas, Mitchell, Thomas, Scott-Brown, James, Vaidyanathan, Prashant, Vidal, Gonzalo, Baig, Hasan, Bartley, Bryan, Beal, Jacob, Crowther, Matthew, Fontanarrosa, Pedro, Gorochowski, Thomas, Grünberg, Raik, Kulkarni, Vishwesh, McLaughlin, James, Mısırlı, Göksel, Oberortner, Ernst, Wipat, Anil and Myers, Chris. "Synthetic biology open language (SBOL) version 3.1.0" Journal of Integrative Bioinformatics, vol. 20, no. 1, 2023, pp. 20220058. https://doi.org/10.1515/jib-2022-0058

Goal

To build a function to assess the complexity score of DNA sequences in SBOL using Twist API. Develop a function that integrates the previous function with the existing IDT complexity score function to get relevant synthesizability information.

Specific Goals:
A function that uses a SBOL file as input, interfaces the TWIST API, and outputs the complexity score.
Contribute that function to sbol-utilities by adding propper format and tests.
Develop a mediator to encapsulate functions to get complexity score for different providers (TWIST, IDT).
Document the mediator and how to add complexity score calculation for other providers.

Difficulty Level: Medium

This project involves the understanding of an API, the development of Python functions and integrating them using unittest in the CI/CD workflow of sbol-utilities.

Size and Length of Project

  • medium: 175 hours
  • 16 weeks

Skills

Essential skills: Python
Nice to have skills: API calls, Git, DevOps

Public Repository

https://github.com/SynBioDex/SBOL-utilities

Potential Mentors

Gonzalo Vidal (Gonzalo.vidalpena@colorado.edu)
Jake Beal

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions