-
Notifications
You must be signed in to change notification settings - Fork 58
Description
Background
The Systems Biology Graphical Notation (SBGN) is a standardized visual language developed to represent biological networks, providing a clear and consistent way to depict complex systems. It consists of three complementary notations: Process Description (PD), Activity Flow (AF) and Entity Relationship (ER). The associated file format, Systems Biology Graphical Notation Markup Language (SBGNML), is an XML-based standard that enables the sharing, reuse, and computational analysis of these diagrams. The scope of this project focuses on the PD and AF languages.
At present, web-based editing of SBGN diagrams is mainly done by using Cytoscape.js library. Several libraries exist to convert SBGNML to Cytoscape.js, such as sbgnml-to-cytoscape. However, converting diagrams from Cytoscape.js back to SBGNML remains challenging. One such converter exists within the sbgnviz.js library, but it is tightly coupled to a specialized fork of Cytoscape.js, making it difficult to reuse or integrate into other applications. We have an initial attempt to separate that code and use it independently as in here, but currently it is not a proper library itself.
In addition, the cytoscape-sbgn-stylesheet library enables visualization of Cytoscape.js graphs in SBGN-compliant notation. Currently, this stylesheet supports only PD language. We have also an attempt to add support for AF language as well here, But it currently doesn't support unit of informations in biological activity nodes and also it may have some missing glyphs from both PD and AF.
Related to these efforts, the Systems Biology Layout & Rendering Service (SyBLaRS) is a web service designed to compute layouts for SBGNML diagrams (as well as some other formats) and to generate corresponding visual outputs in JPG, PNG, or SVG formats. SyBLaRS currently accepts SBGNML as the input by using sbgnml-to-cytoscape and returns the updated node positions in JSON format. Due to the limitations of the existing cytoscape-sbgn-stylesheet SyBLaRS currently supports only the SBGN PD language.
Goal
The goals of this project are to:
- Extract the Cytoscape.js to SBGNML conversion functionality into a standalone library, or integrate it into the sbgnml-to-cytoscape library, to improve reusability.
- Extend the cytoscape-sbgn-stylesheet to provide complete and correct support for the AF language, as well as to address missing glyphs and properties in both PD and AF.
- Enhance the functionality of SyBLaRS by incorporating the above improvements, enabling full support for both PD and AF languages.
Difficulty Level: Medium
Difficulty is based on getting used to the basics of SBGN and related libraries.
Size and Length of Project
- medium: 175 hours
- 12 weeks
Skills
Essential skills: JavaScript, Node.js
Nice to have skills: Cytoscape.js, SVG
Public Repository
- https://github.com/iVis-at-Bilkent/sbgnviz.js
- https://github.com/PathwayCommons/sbgnml-to-cytoscape
- https://github.com/PathwayCommons/cytoscape-sbgn-stylesheet
- https://github.com/iVis-at-Bilkent/syblars
Potential Mentors
Hasan Balci
Augustin Luna