An executable knowledge framework for brain-network modelling
TVB-O represents a whole-brain model and the experiment that runs it as one typed, ontology-grounded specification. One compiler generates runnable code and a methods report from it, and an ontology across four domains makes models comparable across the literature.
No shared representation of what a model is
A published brain model is usually bespoke code. It can drift from the equations in the paper, is often shared with missing parameters, and stays hard to run because results depend on software versions and execution environments, so results are difficult to reproduce and compare.
Underneath lies a single absence: no shared, machine-readable representation of what a model is, or of the whole simulation experiment around it, with its network, inputs, execution and analyses. TVB-O supplies that representation, following the example set by SBML and BioModels in systems biology.
Four pillars: specify, compile, ground, open
A simulation experiment is written down once as a specification. It compiles to code and a methods report, it is grounded in a knowledge graph, and both are open to people and to coding agents.
Specify
A LinkML schema types the whole simulation experiment. The Python classes are generated from it, so the specification and the code stay in step.
Compile
One compiler turns a specification into runnable code for each backend and into a methods report, so the paper and the code come from the same source.
Ground
An ontology generated from the same schema links entities to terms for physical units, biological processes, brain anatomy and clinical disorders, so models written in different notation can be compared.
Open
The tvbo Python package, the curated knowledge base and this platform: browse, build and share experiments in the browser or from Python.
What one specification holds
Not only the model: the network it runs on, how it is integrated, what is observed, how it is explored and analysed, and the software it runs with. Each part is checked against the schema.
Where TVB-O fits
SBML executes and grounds biochemical models, NeuroML does both for cells and spiking networks, and PyRates compiles whole-brain models to several backends. TVB-O builds on these and brings specification, execution and grounding together for whole-brain models and the experiments around them.
Built with The Virtual Brain, not instead of it
TVB-O is not a fork of The Virtual Brain. It is a specification and knowledge layer that treats TVB as one of several backends. The same types describe any dynamical system on any network, from a single Lorenz attractor to a lattice of oscillators or a power grid, so the framework reaches beyond whole-brain simulation while staying native to it.
It aligns to and extends EBRAINS resources such as openMINDS and the Model Catalog, and works alongside NeuroML/LEMS, BIDS and SBML.
Developed at Charité and the BIH
TVB-O is developed in the Brain Simulation Section at Charité Universitätsmedizin Berlin and the Berlin Institute of Health (BIH), the group behind The Virtual Brain.
Funding
P.R. acknowledges support by EU Horizon Europe program Horizon EBRAINS2.0 (101147319), VirtualBrainTwin (101137289), EBRAINS-PREP 101079717, AISN 101057655, EBRAIN-Health 101058516, EIC grant PHRASE 101058240, by the Digital Europe Programme TEF-Health (101100700), Shaiped (101195135), CoordinaTEF (101168074), German Research Foundation SFB 1436 (project ID 425899996), SFB 1315 (project ID 327654276), SFB 936 (project ID 178316478), SPP Computational Connectomics RI 2073/6-1, RI 2073/10-2, RI 2073/9-1, DFG Clinical Research Group BECAUSE-Y 504745852, Berlin University Alliance OpenMake, the Virtual Research Environment at the Charité Berlin, EBRAINS Health Data Cloud, and the Berlin Institute of Health and Foundation Charité. P.R. and J.M. acknowledge additional support by the Deutsche Forschungsgemeinschaft (DFG), Project-ID 424778381, TRR 295.Start with the Python package
Install with pip install tvbo, load a model from the database, and generate runnable code in a few lines.