flowchart LR
subgraph TVBO["TVBO Core"]
D[Dynamics]
S[SimulationExperiment]
N[Network]
D --> S
N --> S
end
subgraph Simulation["Simulation Backends"]
tvboptim
ND["NetworkDynamics.jl"]
DiffEq["DifferentialEquations.jl"]
MTK["ModelingToolkit.jl"]
end
subgraph Analysis["Analysis Backends"]
PR[PyRates]
BK["BifurcationKit.jl"]
PyCoBi["PyCoBi / AUTO-07p"]
end
subgraph Standards["Standards & Schemas"]
BIDS
OpenMINDS
LEMS["NeuroML / LEMS"]
end
S --> Simulation
S --> Analysis
S --> Standards
style TVBO fill:none,stroke:#333
style Simulation fill:none,stroke:#333
style Analysis fill:none,stroke:#333
style Standards fill:none,stroke:#333
Interoperability
TVBO integrations with external tools and standards
TVBO provides seamless interoperability with various neuroimaging tools, optimization frameworks, and metadata standards. This enables researchers to leverage specialized capabilities from different ecosystems while maintaining a unified model representation.
Integration Overview
Available Integrations
Simulation Backends
| Integration | Input | Direction | Description |
|---|---|---|---|
| tvboptim | SimulationExperiment | Bidirectional | JAX-compiled simulation with autodiff optimization |
| NetworkDynamics.jl | SimulationExperiment + Network | Export | Julia graph-based network simulation [1] |
| ModelingToolkit.jl | SimulationExperiment or Dynamics | Export | Symbolic ODE system via Julia MTK |
| DifferentialEquations.jl | SimulationExperiment | Export | Julia ODE/SDE solvers |
Analysis Backends
| Integration | Input | Direction | Description |
|---|---|---|---|
| PyRates | SimulationExperiment or Dynamics | Bidirectional | Dynamical systems analysis and simulation [2] |
| BifurcationKit.jl | Dynamics + Continuation | Export | Julia bifurcation analysis [3] |
| PyCoBi / AUTO-07p | Dynamics + Continuation | Export | Fortran-based numerical continuation via PyRates |
Standards & Schemas
| Integration | Input | Direction | Description |
|---|---|---|---|
| BIDS | SimulationExperiment | Export | Brain Imaging Data Structure [4], [5] |
| OpenMINDS | SimulationExperiment | Bidirectional | EBRAINS Knowledge Graph metadata (JSON-LD) |
| NeuroML / LEMS | Dynamics, SimulationExperiment | Export | LEMS ComponentType definitions + jNeuroML simulation [6] |
Quick Start
Optimization with tvboptim
from tvbo import SimulationExperiment
# Load experiment and run optimization
exp = SimulationExperiment.from_file("experiment.yaml")
results = exp.run()
# Access optimization results
print(results.optimization.fic.history)Analysis with PyRates
from tvbo import Dynamics
# Export TVBO model to PyRates
model = Dynamics.from_file("JansenRit.yaml")
model.to_yaml(format="pyrates")Export to BIDS
from tvbo import SimulationExperiment
exp = SimulationExperiment.from_file("experiment.yaml")
exp.to_bids("output/bids")Export to OpenMINDS
from tvbo import SimulationExperiment
exp = SimulationExperiment.from_file("experiment.yaml")
exp.to_openminds("output/openminds.jsonld")References
[1]
M. Lindner et al., “NetworkDynamics.jl—composing and simulating complex networks in julia,” Chaos: An Interdisciplinary Journal of Nonlinear Science, vol. 31, no. 6, p. 063133, Jun. 2021, doi: 10.1063/5.0051387.
[2]
R. Gast, T. R. Knösche, and A. Kennedy, “PyRates—a code-generation tool for modeling dynamical systems in biology and beyond,” PLOS Computational Biology, vol. 19, no. 12, p. e1011761, Dec. 2023, doi: 10.1371/journal.pcbi.1011761.
[3]
R. Veltz, “BifurcationKit.jl.” Inria Sophia-Antipolis, Jul. 2020. Available: https://hal.archives-ouvertes.fr/hal-02902346
[4]
R. A. Poldrack et al., “The past, present, and future of the brain imaging data structure (BIDS),” Imaging Neuroscience, vol. 2, Feb. 2024, doi: 10.1162/imag_a_00103.
[5]
M. Schirner and P. Ritter, “BIDS extension proposal 034 (BEP034): BIDS computational model specification,” 2021, doi: 10.5281/ZENODO.7962031.
[6]
A. Sinha et al., “The NeuroML ecosystem for standardized multi-scale modeling in neuroscience,” Oct. 2024, doi: 10.7554/elife.95135.2.