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

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

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.