-
Notifications
You must be signed in to change notification settings - Fork 56
Description
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