Week 2 – Community Bonding Wrap-Up
Community Bonding Period - Getting Ready for SBSCL
The community bonding period is coming to an end, and the actual coding phase is about to begin. Over the past two weeks, I've spent my time getting familiar with the Systems Biology Simulation Core Library (SBSCL) and preparing for my GSoC project.
During this initial phase, I focused on understanding how SBSCL uses SBML (Systems Biology Markup Language) to simulate biological models. My primary interest was in constraint-based simulations, particularly Flux Balance Analysis (FBA). My project aims at enhancing SBSCL by developing a solver-agnostic framework, ensuring compatibility with different solvers and hardware platforms, including newer ARM-based systems like Apple's M-series processors.
I gained deeper insight into FBA as a computational method used to calculate the optimal flow of metabolites through metabolic networks to achieve specific biological goals, such as maximizing biomass or minimizing nutrient usage. However, FBA itself doesn't directly suggest specific modifications to improve these outcomes.
Another important topic I explored was the Simplex algorithm, which underlies how solvers determine optimal solutions. It iteratively adjusts solutions within given constraints until no further improvements can be found. Understanding this helped me grasp how computational biology bridges theoretical models and practical biological applications.
In our first mentor meeting, we also discussed which solvers to integrate into SBSCL. We agreed to start with GLPK, Gurobi, and CPLEX. If time allows, CBC and SCIP could be added as well, although at the moment these do not have mature Java bindings. This selection should cover a wide range of use cases. Additionally, users without licenses for the more advanced solvers can always rely on GLPK, which is free of charge.
We also talked about Optlang, a Python package for mathematical optimization that has a similar API and might be a helpful reference for my work. Over the next days, I plan to take a closer look at Optlang and also explore Java optimization libraries like Apache Commons Math, ojAlgo, and Google OR-Tools. Each of these libraries offers different features and approaches for linear programming, and checking them out should help me decide what could be useful or adapted for integrating solvers into SBSCL.
That’s it for this week, see you next week!
Project Details:
-
New GitHub Repository: OptSolvX GitHub
-
Weekly Meeting Schedule: Every Monday at 11:00 AM (Berlin time)
-
Original Project Idea (NRNB Issue): Google Summer of Code Issue #259
Kommentare
Kommentar veröffentlichen