Paula Sanz Leon, Stuart A Knock, M Marmaduke Woodman, Lia Domide, Jochen Mersmann, Anthony R McIntosh, Viktor Jirsa
7 min
The Virtual Brain (TVB) is a comprehensive software platform designed to bridge the gap between microscopic neural dynamics and macroscopic brain activity. By utilizing individual-specific structural connectivity data—such as tractography derived from diffusion MRI—TVB allows researchers to simulate whole-brain network dynamics. The platform is designed to be accessible to both non-programmers via a web-based graphical user interface (GUI) and to computational researchers via a Python scripting interface, facilitating the study of both healthy brain function and pathological changes.
TVB operates by coupling mesoscopic neural population models (e.g., Wilson-Cowan, Jansen-Rit, or Stefanescu-Jirsa models) across a network defined by anatomical connectivity. The simulation core accounts for long-range fiber tract lengths and transmission delays, which are critical for capturing realistic spatiotemporal dynamics. Users can configure simulations using either region-based models (where nodes represent brain regions) or surface-based models (where nodes represent cortical vertices). The platform includes built-in monitors that project simulated neural activity into observable neuroimaging modalities, including EEG, MEG, and fMRI (BOLD signals), allowing for direct comparison with empirical data.
TVB addresses a significant need in neuroscience for a standardized, flexible environment that integrates structural and functional data. By providing a framework that is both extensible and reproducible, it allows researchers to systematically explore parameter spaces, test hypotheses about brain network mechanisms, and investigate the effects of structural lesions or disease states. Its modular architecture and support for multi-user, client-server deployments make it a valuable tool for collaborative research and clinical applications, moving the field toward more integrative, model-based neuroimaging analysis.
We present The Virtual Brain (TVB), a neuroinformatics platform for full brain network simulations using biologically realistic connectivity. This simulation environment enables the model-based inference of neurophysiological mechanisms across different brain scales that underlie the generation of macroscopic neuroimaging signals including functional MRI (fMRI), EEG and MEG. Researchers from different backgrounds can benefit from an integrative software platform including a supporting framework for data management (generation, organization, storage, integration and sharing) and a simulation core written in Python. TVB allows the reproduction and evaluation of personalized configurations of the brain by using individual subject data. This personalization facilitates an exploration of the consequences of pathological changes in the system, permitting to investigate potential ways to counteract such unfavorable processes. The architecture of TVB supports interaction with MATLAB packages, for example, the well known Brain Connectivity Toolbox. TVB can be used in a client-server configuration, such that it can be remotely accessed through the Internet thanks to its web-based HTML5, JS, and WebGL graphical user interface. TVB is also accessible as a standalone cross-platform Python library and application, and users can interact with the scientific core through the scripting interface IDLE, enabling easy modeling, development and debugging of the scientific kernel. This second interface makes TVB extensible by combining it with other libraries and modules developed by the Python scientific community. In this article, we describe the theoretical background and foundations that led to the development of TVB, the architecture and features of its major software components as well as potential neuroscience applications.
Alex: [thoughtful] So it's built for hypothesis testing at the systems level, not for generating new biology from the bottom up.
Sam: [concluding] That's the right frame. It bridges structural connectivity — what tractography actually measures — with functional dynamics, and lets you ask "what if" questions about the whole brain as a system.
Alex: [curious] Once you've built that system, how does it handle the output? A whole-brain simulation must generate a lot of data. [[RP_SECTION:data-storage-and-architecture|Data Storage and Architecture]]
Sam: [steady] The storage is a tree structure. By default it creates a project folder for each analysis, and every operation inside that project generates its own sub-folder — an HDF5 file holding the raw numerical results, and an XML file holding the metadata.
Alex: [analytical] HDF5 rather than a standard relational database — that seems deliberate. Why split it that way?
Sam: [measured] Scalability. A relational database — SQLite or PostgreSQL — is excellent for indexing and filtering entities, which is why it handles the metadata layer. But dropping massive simulation arrays directly into a database would be slow and wasteful. So the database holds references, keeping search fast, while the heavy numerical arrays sit in HDF5 files on disk.
Alex: [processing] And getting a real subject's anatomy in — how does that work?
Sam: [precise] There are uploader routines for common formats — NIFTI for volumetric data, CFF for connectomes — plus support for compressed archives of plain ASCII connectivity matrices. The intent is to avoid locking researchers into one rigid file format.
Alex: [pace picking up] Once that data's loaded, what's actually happening inside the simulation loop? [[RP_SECTION:simulation-loop-mechanics|Simulation Loop Mechanics]]
Sam: [slower, deliberate] At each time step, the simulator computes a weighted sum of activity arriving from every connected region, using the structural connection strengths and accounting for how long signals take to travel down each tract. That incoming activity feeds into the local population model — the Jansen-Rit equations, say — which advances that region's state forward in time.
Alex: [checking understanding] So underneath, this is discrete-time numerical integration of a large coupled system.
Sam: [nodding] Exactly. The simulator keeps a running history of each region's state to handle those transmission delays, updates the local dynamics, then passes the result to monitors. Those monitors process data online, while the simulation is still running — down-sampling it, or projecting the source activity into EEG or MEG sensor space.
Alex: [reflective] So the performance gain comes from not storing everything and processing it afterward — the heavy lifting happens on the fly.
Sam: [concluding] Right. Projecting into sensor space inside the simulation loop, rather than after the fact, cuts the memory footprint substantially — which matters once you move to large, surface-based models with tens of thousands of points.
Alex: [reflective] Stepping back, this pushes the field from descriptive imaging toward something closer to a predictive, causal framework — simulating the consequences of a structural change, like a lesion, on network behavior.
Sam: [measured] That's the core contribution — and it does this on an ordinary workstation, using mesoscopic neural mass models as the building blocks rather than anything requiring a cluster. [[RP_SECTION:future-scaling-and-directions|Future Scaling and Directions]]
Alex: [analytical] Let's be honest about the limits, though. If simulation cost scales sharply with the number of nodes, doesn't that become a serious bottleneck as people push toward higher-resolution, surface-based models?
Sam: [acknowledging the weight of the point] That's the primary constraint. Moving from region-based parcellations to high-resolution meshes with tens of thousands of vertices drives computational cost up sharply. The current implementation is tuned for regional models — surface-based simulation is already pushing against the limits of available memory and bandwidth.
Alex: [thoughtful] So it's a straightforward trade-off between biological fidelity and what's computationally feasible right now. Where does the paper point next?
Sam: [slower, deliberate] The most promising direction is closing the loop with real-time data — letting simulation parameters adjust dynamically based on a patient's ongoing neural activity, so the model evolves alongside the person it represents, rather than staying fixed after being fit once.
Alex: [concluding] A meaningful step toward personalized modeling, even with the computational scaling still an open problem. Thanks for listening to ResearchPod.