BiosimulantBiosimulant
Docs
Search labs...
Sign inGet Started

Koo2013 Shear-to-NO Composed Pathway

About lab

Koo2013 Shear-to-NO Composed Pathway

This lab is a composed lab — it does not bundle its own model code. Instead it wires together two existing single-model labs in this repository to recreate the full Koo et al. (2013) endothelial mechanotransduction chain:

stimulus_intensity --> [koo2013-calcium-influx] --cytosolic_calcium--> [koo2013-no-production] --nitric_oxide-->

This is the canonical composition use case the boundary-condition design enables: the no-production submodel declares s3 (Ca_c) with boundaryCondition="true" precisely so an external upstream submodel can drive it.

What you'll see

A canvas with three nodes: calcium_influx, no_production, and visualisation. The biological wiring is still the two-step pathway — upstream calcium drives downstream NO production — while the third node consumes both submodel states and summaries so the Results panel can render pathway-level charts. Setting stimulus_intensity (the IP3 production rate constant in the upstream submodel) drives the entire chain through to NO production.

The screenshots below were checked against the visible lab title Koo2013 Shear-to-NO Composed Pathway and the canvas model list. They show the expected composed-lab shape: calcium_influx feeding no_production, with both submodels also feeding visualisation.

Results preview

The default run spans 600 s with a 10 s communication step. The first captured view shows the full composition canvas beside the pathway-level visualisation model. The mechanical-input panel tracks the step timer and shear-stress stimulus surrogate, while the calcium subsystem panel shows the upstream response that is wired into the downstream NO-production model.

Koo2013 shear-to-NO composed inputs and calcium results

The middle view focuses on the downstream NO-production response to the composed calcium signal. It shows calcium/calmodulin species, the PI3K/AKT signalling panel, and the eNOS activation chain produced by the no_production submodel.

Koo2013 shear-to-NO calcium, PI3K, and eNOS results

The final view shows nitric oxide accumulation and the plain-language run summary. In the captured run, the visualisation reports 16 observables for the NO-production submodel, a 590 s tracked interval, nitric oxide as the observable that changed the most, and Hsp90 as the largest peak.

Koo2013 shear-to-NO nitric oxide and summary results

Inputs

  • stimulus_intensity (1/s, default 0.0006): IP3 production rate constant. The published Koo2013 SBML for the calcium-influx submodel does not kinetically wire its Shear Stress species, so this rate constant is the modeller's de-facto stimulus surrogate. Setting it to 0 quiesces the cell; setting it above the baseline mimics stronger shear stress.
  • integration_step (s, default 1.0): tellurium output sampling step.

Outputs

  • cytosolic_calcium (substance): cytosolic Ca²⁺ amount from the upstream calcium-influx submodel (windowed mean).
  • ip3 (substance): IP₃ amount from the upstream submodel.
  • nitric_oxide (substance): NO amount from the downstream NO-production submodel (windowed mean) — the headline output of the full chain.
  • active_eNOS (substance): active eNOS-CaM-Ca₄ complex from the downstream submodel.
  • calcium_influx_state (record): full state of the upstream submodel (7 named species).
  • no_production_state (record): full state of the downstream submodel (16 named species).

Why this lab exists

The Koo2013 series ships three SBML files at BioModels: calcium-influx (Model 1), NO-production (Model 4), and integrated (Model 7). The integrated lab is a single SBML that encodes the full pathway in one file. This composed lab is an alternative that builds the same pathway from the two submodels by wiring at the BioSignal level. It demonstrates:

  1. The composition pattern — two labs, one wire.
  2. That the boundary-condition design on koo2013-no-production works as advertised: external upstream calcium dynamics drive downstream NO production.
  3. A debugging path — if the integrated lab produces unexpected behavior, comparing this composed version isolates which submodel's kinetics is responsible.

Trade-offs versus the integrated lab

Composed (this lab)Integrated (koo2013-integrated)
Model count21
Source SBMLs2 (loaded independently)1
CouplingExplicit BioSignal wireBuilt into one SBML's reaction network
DebuggabilityHigh — can inspect each submodel's state separatelyLower — full state is one record
Faithfulness to published modelCaptures the mechanistic chain but with the cytosolic-calcium boundary; the published integrated SBML may have subtle kinetic differencesMost faithful to the published BIOMD0000000468 integrated formulation

Layout

The lab is self-contained. The two SBML submodel directories and the charting model are bundled inside models/:

koo2013-shear-to-no/
├── lab.yaml                         # composition + wiring
├── wiring-layout.json               # canvas placement
├── README.md                        # this file
├── assets/                          # captured Biosimulant run screenshots
└── models/
    ├── calcium-influx/              # full copy of koo2013-calcium-influx/model
    │   ├── model.yaml
    │   ├── data/BIOMD0000000464.xml
    │   ├── src/...
    │   └── tests/...
    ├── no-production/               # full copy of koo2013-no-production/model
    │   ├── model.yaml
    │   ├── data/BIOMD0000000467.xml
    │   ├── src/...
    │   └── tests/...
    └── visualisation/               # pathway-level charting and summary model
        ├── model.yaml
        ├── src/...
        └── README.md

The models/calcium-influx and models/no-production directories are full copies of the matching single-model labs at the time this composed lab was created. The models/visualisation directory is local to this composed lab and owns the pathway-level plots and What Happened summary. The model directories are intentionally self-contained so the lab packs cleanly via biosim.pack (which rejects .. traversal in embedded paths). If you change one of the source labs, you'll need to refresh the corresponding subdirectory here.

Notes

  • Both subs use tellurium and need the amd64 sandbox image (libroadrunner has no arm64 wheel).
  • The wiring is unidirectional. Calcium drives NO production, but NO does not feed back to calcium in this composition. The published Koo2013 paper does include feedback in its full formulation; this composed lab captures the dominant forward path only.

End-to-end shear-stress driven mechanotransduction. Composes the calcium-influx submodel with the NO-production submodel by wiring the cytosolic calcium output of the first into the cytosolic calcium input of the second. Single experimental knob: stimulus_intensity.

Runtime

Duration600
Comms Step10

Runs

Total3
Completed2
Failed1

Metadata

Packagekoo2013-shear-to-no-composed-pathway
Created2026-05-04
Updated2026-05-14
biomechanicsendothelialshear-stressmechanotransductioncalciumsbmlbiomodels_ebifaithfulnitric-oxidevisualisationkoo2013

Manifest

{
  "io": {
    "inputs": [
      {
        "name": "stimulus_intensity",
        "maps_to": "calcium_influx.stimulus_intensity"
      },
      {
        "name": "integration_step",
        "maps_to": "calcium_influx.integration_step"
      }
    ],
    "outputs": [
      {
        "name": "cytosolic_calcium",
        "maps_to": "calcium_influx.cytosolic_calcium"
      },
      {
        "name": "ip3",
        "maps_to": "calcium_influx.ip3"
      },
      {
        "name": "active_eNOS",
        "maps_to": "no_production.active_eNOS"
      },
      {
        "name": "nitric_oxide",
        "maps_to": "no_production.nitric_oxide"
      },
      {
        "name": "calcium_influx_state",
        "maps_to": "calcium_influx.state"
      },
      {
        "name": "no_production_state",
        "maps_to": "no_production.state"
      }
    ]
  },
  "title": "Koo2013 Shear-to-NO Composed Pathway",
  "models": [
    {
      "path": "owned/models/calcium_influx",
      "alias": "calcium_influx",
      "provenance": {
        "owned_path": "owned/models/calcium_influx"
      }
    },
    {
      "path": "owned/models/no_production",
      "alias": "no_production",
      "provenance": {
        "owned_path": "owned/models/no_production"
      }
    },
    {
      "path": "owned/models/visualisation",
      "alias": "visualisation",
      "provenance": {
        "owned_path": "owned/models/visualisation"
      }
    }
  ],
  "wiring": [
    {
      "to": [
        "no_production.cytosolic_calcium",
        "visualisation.calcium_influx_cytosolic_calcium"
      ],
      "from": "calcium_influx.cytosolic_calcium"
    },
    {
      "to": [
        "visualisation.calcium_influx_ip3"
      ],
      "from": "calcium_influx.ip3"
    },
    {
      "to": [
        "visualisation.no_production_active_eNOS"
      ],
      "from": "no_production.active_eNOS"
    },
    {
      "to": [
        "visualisation.no_production_nitric_oxide"
      ],
      "from": "no_production.nitric_oxide"
    },
    {
      "to": [
        "visualisation.calcium_influx_state"
      ],
      "from": "calcium_influx.state"
    },
    {
      "to": [
        "visualisation.calcium_influx_summary"
      ],
      "from": "calcium_influx.summary"
    },
    {
      "to": [
        "visualisation.no_production_state"
      ],
      "from": "no_production.state"
    },
    {
      "to": [
        "visualisation.no_production_summary"
      ],
      "from": "no_production.summary"
    }
  ],
  "runtime": {
    "duration": 600,
    "initial_inputs": {},
    "communication_step": 10
  },
  "description": "End-to-end shear-stress driven mechanotransduction. Composes the calcium-influx submodel with the NO-production submodel by wiring the cytosolic calcium output of the first into the cytosolic calcium input of the second. Single experimental knob: stimulus_intensity.",
  "schema_version": "2.0"
}

Sign in to start your own run. Public-lab history stays visible here.

Python error: incompatible input profiles: source (scalar, float64, None, None) does not match any accepted input profile
Logs

No logs yet.