μm

Kidney arterial network

Overview

The kidneys are essential components in regulating properties of our blood (for example, blood pressure, acidity, etc.) so that these properties lie within ranges in which we don't die. Despite each kidney accounting for ~0.5% of body weight, the kidneys receive ~20% of cardiac output. [1]

The functional unit of the kidney is the nephron. Each human kidney contains between 0.30–1.4 million nephrons [2] (note that this wide range correctly implies that the kidneys are almost magically able to safely compensate for substantial nephron loss).

Nephrons couple and synchronize through hemodynamic interactions (nephrons share common blood vessels that "feed them") and electrical signals (nephrons have a feedback mechanism that transmits electrical messages across cells). Understanding synchronization behaviour therefore requires understanding the vascular structure that connects nephrons. This vascular structure is an ongoing and active area of research.

In 2016, D.D. Postnov et al. published the paper [3] which provides an algorithm for generating representations of the kidney's vascular topology: this algorithm is visualized in the tree at the top of this page. Main blood vessels are represented in red, afferent arterioles are represented in green, and nephrons (if you choose to draw them) are represented by black circles.

There are two algorithms represented here: the asymmetric bifurcating tree (ABT), and the kidney-specific asymmetric bifurcating tree (KSABT). The ABT is a simpler algorithm which describes the general branching patterns that blood vessels exhibit in the kidney. The KSABT, which is the "true" structure, follows the same branching patterns as the ABT, but nephrons are additionally allowed to branch off of main blood vessels before they split into daughter vessels.

Usage

In the "options panel" you have a few options:

  • tree type: selects which kind of tree you want to draw (described in the "Overview" section)
  • initial diameter: this controls the diameter of the largest vessel and ultimately dictates the size of the tree. Careful! Going above values ≥300μm can cause serious slowdowns.
  • angle Δ: this controls the spread of the tree
  • draw nephrons: this determines whether to draw nephrons; note that for large trees or for the KSABT you might want to disable this to reduce clutter

You can also zoom/pan using a mouse, or if you're on mobile, by inputting the appropriate gestures.

A note about interpretation

The algorithms described in [3] specify the lengths of vessels and where along these lengths daughter vessels branch from. The actual angles (in 3D- or 2D-space) at which daughter vessels branch are not included in the algorithm; in this sense, the tree you see is fictitious. Do the actual angles matter, though? It depends on what you're studying. If you're looking at nephron synchronization then the answer is "no". Neither the hemodynamic interactions nor the electrical signals which cause synchronization care about angles of blood vessels; only the length of vessels and where branching happens matter.

References

[1] J. Arciero, L. Ellwein, A. N. F. Versypt, E. Makrides, and A. T. Layton, “Modeling Blood Flow Control in the Kidney,” in Applications of Dynamical Systems in Biology and Medicine, New York, NY, 2015, pp. 55–73. doi: 10.1007/978-1-4939-2782-1_3.
[2] A. T. Layton, L. C. Moore, and H. E. Layton, “Multistable Dynamics Mediated by Tubuloglomerular Feedback in a Model of Coupled Nephrons,” Bull. Math. Biol., vol. 71, no. 3, p. 515, Feb. 2009, doi: 10.1007/s11538-008-9370-x.
[3] D. D. Postnov et al., “Modeling of Kidney Hemodynamics: Probability-Based Topology of an Arterial Network,” PLOS Computational Biology, vol. 12, no. 7, p. e1004922, Jul. 2016, doi: 10.1371/journal.pcbi.1004922.

About

The source code for this page is available here. The code is written in JavaScript and the tree is rendered using the D3.js library. The styling of this page is mostly Bootstrap.