Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save baranwalayush/c9c55429d04c5834d29303a4969c67bb to your computer and use it in GitHub Desktop.
Save baranwalayush/c9c55429d04c5834d29303a4969c67bb to your computer and use it in GitHub Desktop.

GSoc x NRNB logo

Developing a Highly Efficient Numerical ODE Solver in Systems Biology Simulation Core Library

Organization: National Resource for Network Biology (NRNB)

Name: Ayush Baranwal

Mentors:

Introduction

The Systems Biology Simulation Core Library (SBSCL) is an open-source, cross-platform pure Java programming library that supports the simulation and analysis of computational models encoded in SBML (Systems Biology Markup Language) and SED-ML (Simulation Experiment Description Markup Language) formats. SBSCL offers a robust and extensible Java-based implementation of numerical solvers and simulation algorithms, making it a valuable tool for researchers and developers in systems biology.

For more information, visit SBSCL Wikipedia page.

Project Overview

This project aims to implement a robust, optimized, thoroughly tested, and fully functional Java-based version of the LSODA algorithm within SBSCL (Systems Biology Simulation Core Library).

LSODA (Livermore Solver for Ordinary Differential equations Automatic) is a well-established ODE solver known for its ability to dynamically switch between stiff and nonstiff methods, making it particularly suitable for biological models where stiffness can vary over time.

Important Links

Summary of the GSoC work

  • Added full support for LSODA-Integrator within SBSCL.

  • Thoroughly tested, validated and optimized the final LSODA algorithm to ensure reliability and efficiency.

  • Wrote detailed unit tests to verify the correctness of individual components within the LSODA implementation.

  • Ensured overall stability and correctness of the solver through comprehensive system-level tests.

  • Evaluated the solver against the SBML Test Suite, achieving a pass rate of around 99% across models.

  • Introduced dual use scenarios for LSODA-Integrator, supporting both standard SBML models and direct ODE system inputs.

  • Authored the howToUse.md guide, providing practical examples, notes, and usage instructions for LSODA within SBSCL.

  • Wrote SBMLTestSuiteRunnerWrapper class for LSODA-Integrator.

  • Added a standalone SBMLTestSuiteRunner class under the test directory to enable running any SBML models using any available ODE solver in SBSCL.

  • Added complete package-level documentation for LSODA, including detailed method-level explanations of inner functions and algorithmic workflow to support future contributors.

  • Updated the SBSCL website to incorporate recent changes.

  • Contributed updates to the SBSCL Wikipedia page to reflect the new developments.

  • Added support for the RK2 method and optimized the existing RK4 method within the RungeKuttta_EventSolver.

  • Added documentation for the RK2 solver.

List of pull requests

PR Status Description
#83 Merged Update LSODAIntegrator, LSODAStepper, and LSODAContext, fixing minor issues
#84 Merged Implementing methodSwitch() and OrderSwitch() with testing and integration
#85 Merged Implementing lsoda() driver function and major updates in LSODAIntegrator
#89 Merged Testing and documentation updates for LSODA-Integrator
#78 Merged Add support for RK2 method within Rungekutta_EventSolver
#80 Merged Add documentation for RK2 method

Closing Thoughts

Google Summer of Code 2025 has been truly a memorable experience for me. Getting to work on a project that I truly care about has been both fun and deeply rewarding. I'm sincerely grateful to the NRNB community for hosting such amazing projects and providing an opportunity to contribute to such meaningful work.

A very heartfelt thank you to all my mentors – Dr. Andreas Dräger, Dr. Akira Funahashi, Taichi Araki and Arthur Neumann for their constant support, encouragement, and guidance throughout the program. Their mentorship made this experience truly special. A big thank you to Google for having such a program that not only strengthens the open-source ecosystem but also empowers thousands of students around the globe to explore, contribute and grow. On a personal note, I look forward to staying connected with the SBSCL community and keep contributing in the future as well.

A summer well spent!

@Blackmonk892
Copy link

Hi i am new to open source and i want your guidance for 2026 gsoc
i have the relevant skills to contribute - Languages: Python, C, C++, JavaScript, Dart, SQL
Frameworks/Libraries: Flutter, FastAPI, Node.js, Express.js,Pandas, Matplotlib, Seaborn,
Additional: MySQL, Mongoose,RAG,PCB Designing (KiCad), Data Visualization, WebSockets, WebRTC

i have also made my own app in flutter

can you please guide me for gsoc ....

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