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

Simulating systems biology models in Java #96

Closed
draeger opened this issue Dec 12, 2017 · 11 comments
Closed

Simulating systems biology models in Java #96

draeger opened this issue Dec 12, 2017 · 11 comments

Comments

@draeger
Copy link

draeger commented Dec 12, 2017

Background

The Systems Biology Simulation Core Library (SBSCL) is a collection of classes for simulating computational systems biology models in a Java™ program. Its modular design makes it very flexible so that it can work with many standards. Right now, SBSCL ships solvers for ordinary differential equation systems and an interpreter for steady-state flux balance analysis using IBM CPLEX. Until now, its primary focus is on the modeling format SBML and simulation experiment description format SED-ML. The latter format describes how models are to be simulated. The typical workflow starts with reading a SED-ML using the Java library jLibSEDML. This gives the information, which SBML model to load using the library JSBML. The simulation library will then initialize the model and start the solver. Afterwards, the results will be post-processed and be plotted using libraries such as JFreeChard or similar. Hence, all steps will follow the instructions in the SED-ML file. In the best case, this procedure would be able to also deal with COMBINE Archive files that bundle SED-ML and SBML files in a ZIP archive.

Goal

In this project, the support for automated simulation scripts should be updated and extended. Since the inception of the project, the SED-ML standard has evolved. Now, it would be possible to automatically follow the instructions from the SED-ML file to execute all steps from the biological system, its simulation, postprocessing of results, and graphical display for visual interpretation. To this end, the existing functionality for SED-ML analysis should be extended to cope the full set of features of the current SED-ML standard.

Difficulty Level 2

This project will require gaining an understanding of the two standards SED-ML and SBML with most focus on SED-ML because the interpretation of SBML covers most aspects of the format already.

Skills

Java™ programming skills are required, Python knowledge is helpful for comparison with the related third-party software of similar scope.

Java™ (essential)
Python (nice to have)

Public Repository

https://github.com/draeger-lab/SBSCL

Potential Mentors

Andreas Dräger
Matthias König

Contact

Andreas Dräger

@matthiaskoenig
Copy link

Hi Andreas,
I would love to mentor this project and could help with the SED-ML implementation & Java library for SED-ML.
Best Matthias

@niko-rodrigue
Copy link
Member

It might be worth to do a project only on the improvement of the java SED-ML library. Although, we cannot make a student project depends on another. I have the impression that just supporting all the latest SED-ML would take most of the time of the project. So the project should probably be more emphasised on libsedml and time permitting SBSCL.

@cjmyers
Copy link

cjmyers commented Dec 13, 2017 via email

@draeger
Copy link
Author

draeger commented Dec 13, 2017

@matthiaskoenig Excellent, let's do it. I am adding you as a mentor.
In my opinion, improving SED-ML support in SBSCL does not really depend on the improvement of jlibsedml, because there is still enough to do on both ends. Of course, having a newer version of the library would be a plus.

@matthiaskoenig
Copy link

@cjmyers I will write this up as as a separate project. Should be finished with this within the day.
@draeger thanks

@matthiaskoenig
Copy link

I wrote a first project proposal here: #101

I can't add the labels as long as I am not added to the repository.
Please feel free to update/add information.

@shalinshah1993
Copy link

Dear @matthiaskoenig and @draeger, this idea seems exciting to me and I would like to learn more about this project. How would you advise me in order to get started? Briefly, I am a student at Duke ECE and we work in the field of DNA nanoscience. I have had little exposure to SBML since some software in our field used it to describe the workflow DNA-based chemical reactions.

@draeger
Copy link
Author

draeger commented Feb 14, 2018

@shalinshah1993, thanks for your interest in this project! The main focus here will be on the interpretation of SED-ML, which contains commands how to run simulations using the core library.

It would therefore be best to read through the documentation of SED-ML and the Java library jlibsedml. We will use this to setup and invoke the simulation using SBSCL (the simulation core library).

You can also gain a better understanding how the simulation library is organized by reading through this paper.

@shalinshah1993
Copy link

Thank you for sharing the information, @draeger. Having gone through the overview for SED-ML, jlibsedml, SBSCL, JSBML and your original instructions about the project; I got a better understanding of the actual project. that It sounds like an exciting programming project and a systems biology learning experience.

As of next steps, I am guessing I need to install/ build jlibsedml, SBSCL, and JSBML. I'd like to learn more about that (such as just importing JAR file inside project) if that's the way to go. Knowlege of things like preferred IDE will also be helpful. I tried using SED-ML online tools just to get a better understanding of what SBSCL must generate, as simulation output. Although it will take some time to completely understand UML diagram of SED-ML, I'll work on that as per need.

I'd also like to learn more about the expectations, from me as a prospective contributor, before the final GSoC proposal submission as well as what is expected in a proposal for this project.

@shalinshah1993
Copy link

Hi, I read some other threads where mentors talked about further steps. Taking their advice, I have started drafting a proposal. I have shared it with both you @draeger @matthiaskoenig. Kindly have a look at it and please give me your feedback. I need to fill more details about SBSCL in it but I needed a little more help, if possible. Let me know if you received the link to my google document.

@khanspers
Copy link
Contributor

GSoC 2018

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

6 participants