r2sbml (An interface to SBML in R) - rstats-gsoc/gsoc2025 GitHub Wiki

Background

Systems Biology Markup Language SBML is an XML based free and open data format for computational systems biology for sharing models typically used in mathematical biology, systems biology and pharmacology. It has been developed since 2000 by a community of scientists and developers. More details about SBML can be found here.

libSBML is a programming library that helps you read, write, manipulate, translate, and validate SBML files and data streams. The library supports all Levels and Versions of SBML. libSBML is written in ISO standard C++ and C and provides APIs for the languages C, C++, C#, Java, JavaScript, MATLAB, Perl, PHP, Python, R, and Ruby.

r2sbml is an R package which aims to provide an interface to libSBML in R. Currently, it provides an easy way to read and output different aspects of the model, e.g., number of states, number of reactions, parameters etc. However, that is an interface to only very small portion of libSBML.

Related Work

There is libSBML R package available from libSBML library itself (link), but I have been unsuccessful in installing it so far.

There is also SBMLR package in bioconductor, but it is quite old and does not seem under active development.

Details of your coding project

One of the main goals of the project will be to add capability to read SBML models and create a model in R which can be solved by using R's capabilities to solve Ordinary Differential Equations, i.e., create files which when loaded create a model, which can be solved in R using packages such as deSolve, mrgsolve, rxode2 and sundialr.

Expected impact

SBML is the standard method of communication between modelers to transfer their models between different software, collaborators or for publishing. However, there are no integrated tools to convert a XML file to a model which has clearly laid out the list of states (species), parameters, reactions etc. and is ready to be solved using ODE solvers.

r2sbml tries to bridged that gap by outputting files which can be used to compile a model that can be solved in R using a variety of already available packages. This capability should greatly increase the ability to use an already published models, check their results and build upon them. We aim to provide a library which uses capabilities of libSBML to read and manipulate different types of systems biology models and aim to test the package with the wide variety of tests available in the SBML Test Suite.

Mentors

Satyaprakash Nayak - https://github.com/sn248

I am an experienced drug development researcher with more than a decade of experience in R. More about me can be found at my LinkedIn page.

Tests

Please provide examples of R package development skills and C/C++ development skills.

Solutions of tests

  1. Suhaani Agarwal : solution link , github profile
  2. Vaibhav Manihar : Demonstration, Github
  3. Yikun Ding: Github Due to honor code issue, I have invited the Mentors to my repository
  4. Pranathi Ravikumar Github