Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Development of a converter between SBOL2 and SBOL3 in Python #257

Open
Gonza10V opened this issue Feb 5, 2025 · 6 comments
Open

Development of a converter between SBOL2 and SBOL3 in Python #257

Gonza10V opened this issue Feb 5, 2025 · 6 comments

Comments

@Gonza10V
Copy link

Gonza10V commented Feb 5, 2025

Background

Synthetic Biology (SynBio) looks for engineering biological systems and has created abstractions and standards for that endeavor. The Synthetic Biology Open Language (SBOL) was developed by the SynBio community as a standard to represent biological designs hierarchically [1]. With its last release SBOL 3.1 the standard has reached a mature state with the capacity to encode data throughout the Design-Build-Test-Learn (DBTL) cycle. The problem is that most of the tools from the SBOL software ecosystem uses SBOL2, including SynBioHub, a database with the largest collection of data in SBOL, and there is no complete converter between SBOL2 and SBOL3. The community has started a project to develop such a converter but advances have been slow and help is needed to finish it. The converter is in an SBOL-utilities module sbol3_sbol2_conversion. The converter module architecture has an easy to contribute format. It defines two classes 'SBOL3To2ConversionVisitor' and 'SBOL2To3ConversionVisitor'. These objects orchestrate the conversion by visiting each member of a SBOL 'Document' to map it into the other version. Each SBOL element has a function/method to be converted. This project aims to contribute to the development of the SBOL converter in Python between versions 2.3 and 3.1. This project provides hands-on experience in Python, GitHub, unittest, CI/CD, pySBOL2 and pySBOL3.

[1] Buecherl, Lukas, et al. "Synthetic biology open language (SBOL) version 3.1. 0." Journal of integrative bioinformatics 20.1 (2023): 20220058.

Goal

Contribute to the development of a converter between SBOL2 and SBOL3 in Python

Specific Goals:
Encode minimal examples for SBOL2 and SBOL3 classes.
Develop functions for converting classes for converting SBOL2 to 3 and SBOL3 to 2.
Test conversion by using minimal examples to make round-trip conversion
Document the converter and create example notebooks.

Difficulty Level: Hard

This project involves encoding designs in SBOL2 and SBOL3, developing Python functions and documenting the advances.

Size and Length of Project

  • large: 350 hours
  • 22 weeks

Skills

Essential skills: Python, GitHub, Git
Nice to have skills: SBOL

Public Repository

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

Potential Mentors

Gonzalo Vidal ([email protected])
Jake Beal

@GautamBytes
Copy link

Hello @Gonza10V , @jakebeal , My name is Gautam Manchandani , a 2nd year student from BITS Pilani (India) , I would love to contribute to this project and have experience working with python (as most of my projects are python based) . Have mailed you already , would love to discuss further and how can i proceed with understand the project and start effectively contributing.

@aakash-test7
Copy link

Hi Gonzalo and Jake, I wanted to let you know that I’ve emailed you regarding my interest in contributing to the SBOL2 to SBOL3 converter project. I have similar experience in this field and would love to discuss how I can contribute.

@ManasiRN
Copy link

ManasiRN commented Feb 6, 2025

Hello @Gonza10V @jakebeal ,

I am interested in contributing to the SBOL2-SBOL3 conversion project and would like to get involved. I have experience with Python, Git, and GitHub and am eager to learn more about SBOL to help with development.

Could you guide me on how to get started? Are there any specific tasks or issues I could work on? I am happy to go through existing documentation and contribute where needed.

Looking forward to your response!

@aakash-test7
Copy link

Hello @Gonza10V @jakebeal just a follow-up ping.

@khanspers
Copy link
Contributor

NRNB has been accepted as a mentoring organization for GSoC 2025. The contributor application period is March 24 – April 8. Here are some useful links:

GSoC contributor guide
NRNB project proposal template
Eligibility requirements
Full program timeline

@vinayakjeet
Copy link

Hi @Gonza10V , @jakebeal , @khanspers ,

I've emailed my proposal for the SBOL2 to SBOL3 converter project, open to feedback and suggestions.🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants