Closed draeger closed 8 years ago
I'm interested in taking up this project. I have experience in JS, Java, JSON, and a little bit in Escher. Can you guide me how to get started in knowing more about this project? I will try to learn more about SBML and SBGN.
Hi Devesh, the mentors have referenced several resources above with additional information. Please review those and then contact the mentors directly via their emails above. They may not see messages here immediately.
Hi @khanspers, @devkhan, and @zakandrewking! Thanks, we had already direct e-mail contact. So please, just click on the e-mail links if there are any questions. Many thanks!
@draeger I'm unable to find the source for EscherConverter. There's only a download link in the docs. Isn't the source available?
@devkhan I will provide you with the source code. For your application, however, you will not need to do programming yet.
Thanks. I know, but I need to study the current implementation as it will help me better grasp the concepts.
Actually, the main idea is to create a bipartite matching between two different data formats. EscherConverter reads JSON, recursively goes through that data structure and while reading fills in corresponding entries in SBML or SBGN-ML.
An optimal implementation would use the Builder Pattern for this and have specific handler interfaces for objects. This separation allows us to create of diverse output data formats while reusing the reader function as a common framework.
Summarizing, what a file format converter needs to do is:
The rest are details. I recommend reading about design patterns (in particular the builder pattern) as well as introduction to SBML and the Layout Extension, SBGN-ML and JSON, rather than going through Java™ source code (which I think is more difficult and less helpful).
Chosen as GSoC 2016 project.
Hosted here: https://github.com/SBRG/EscherConverter
Background
The web-based graphical editor for biological networks Escher (King et al. 2015) enjoys growing popularity and is being used for modeling, documentation, and visualization of measurement data. As a typical web-based program, Escher uses a JSON-based data structure to represent its pathways. A separate application allows users to convert these JSON files to the community formats SBML and SBGN-ML.
Goal
The aim of this project is to develop a web-based import and export function for community standards (SBML and SBGN-ML) that will replace the already existing EscherConverter.
Technologies
JavaScript, Java, JSON, SBML, SBGN-ML
Potential mentors
Zachary A. King, Andreas Dräger
Contact
Zachary A. King, Andreas Dräger
Useful pointers to documentation related to GSOC for student on the main NRNB web site :