LibRoadrunner is a high performance SBML based simulator that uses LLVM to generate very efficient runtime code. This enables libRoadrunner to simulate models on par with compiled C/C++ code. At runtime, values for parameters and variables can be modified, however the structure of the model itself cannot be changed without having to reload a new SBML model. By structure we mean the structure of the reaction network, the division between boundary and floating species and the particular rate laws used by the model.
Since loading SBML is relatively time consuming, running simulations where the model structure changes is very inefficient. The ability to change the structure of the model at runtime would open up new application areas, in particular multicellular development and the evolution of biological systems are two key areas of interest.
Goal
The goal of this project is to refactor libroadrunner so that the internal object
model can be directly accessed and changed at runtime without having to load a new SBML model.
Difficulty Level 2
This project requires some understanding of systems biology and modeling. Most of the challenge will be in architecting the runtime engine.
Skills
This project is especially suited to those who want to learn new high level skills in computer programming especially related the LLVM programming and modeling.
C/C++ (essential)
LLVM (nice to have)
Python (nice to have)
Background
LibRoadrunner is a high performance SBML based simulator that uses LLVM to generate very efficient runtime code. This enables libRoadrunner to simulate models on par with compiled C/C++ code. At runtime, values for parameters and variables can be modified, however the structure of the model itself cannot be changed without having to reload a new SBML model. By structure we mean the structure of the reaction network, the division between boundary and floating species and the particular rate laws used by the model.
Since loading SBML is relatively time consuming, running simulations where the model structure changes is very inefficient. The ability to change the structure of the model at runtime would open up new application areas, in particular multicellular development and the evolution of biological systems are two key areas of interest.
Goal
The goal of this project is to refactor libroadrunner so that the internal object model can be directly accessed and changed at runtime without having to load a new SBML model.
Difficulty Level 2
This project requires some understanding of systems biology and modeling. Most of the challenge will be in architecting the runtime engine.
Skills
This project is especially suited to those who want to learn new high level skills in computer programming especially related the LLVM programming and modeling.
C/C++ (essential) LLVM (nice to have) Python (nice to have)
Public Repository
https://github.com/sys-bio/roadrunner
Potential Mentors
Herbert M Sauro
Contact
Herbert M Sauro