Reproducibility study of the modular and reusable model of epithelial transport in the proximal convoluted tubule
We describe here our implementation of a renal epithelial model as published in Noroozbabaee et al. (2022). The flexible and modular model we presented in Noroozbabaee et al. (2022) can be adapted to specific configurations of epithelial transport. The model describes the cellular and subcellular mechanisms of the transporters, intracellular buffering, solute fluxes, and other processes. We provide free and open access to the Python implementation to ensure our multiscale proximal tubule model is accessible, enabling the reader to explore the model through configuring their own simulations, executing reproducibility tests and sensitivity analyses, and reusing the model in new work. Here we present the reproduction of a selection of results from Noroozbabaee et al. (2022), providing readers with brief instructions on using the Python implementation to produce these results from the primary article.
1Introduction¶
In the primary article Noroozbabaee et al., 2022, we introduced a consistent, reproducible, and reusable proximal convoluted tubule (PCT) epithelial transport model. The comprehensive PCT epithelial model consists of cellular and lateral intercellular compartments located between luminal and peritubular solutions. The model includes fifteen solutes in each compartment and two impermeant species. The current work involves the mathematical curation of the model implementation in Python. A persistent workspace for this work is available under an opensource and permissive license at https://github.com/iNephron/WPCTE/releases/tag/v1.0.2. Here we demonstrate a quick instruction to reproduce figures related to the structural analysis section.
2Model description¶
The comprehensive WPCTE model consists of cellular and lateral intercellular compartments between luminal and peritubular solutions. Figure 1 shows a schematic representation of PCT epithelium and features both configurations, in which cellular and lateral intercellular (LIS) compartments line the tubule lumen. Within each compartment, the concentration of species (i) is designated $C_{\alpha}(i)$, where ${\alpha}$ is lumen (M), lateral interspace (E), cell (I) or basal solution (S). Separating membranes are combinations of letters such as luminal cell membrane (lumencell membrane, MI), tight junction (ME), celllateral membrane (IE), interspace basement membrane (ES), or cellbasal membrane (IS). The order of the two letters indicates the positive direction of the mass flow. $J_{\alpha \beta}$ and $J_{\nu \alpha \beta}$ represent the solute flux and water flux, respectively, through the corresponding membrane; A is the related membrane surface area; V is the volume; E is the transepithelial potential difference. There are $14$ transporters (symporters, antiporters, complex transporters, and ATPases) that produce electrochemical fluxes in the current model.
2.1Modular Description¶
The current Python code divides the mathematical WPCTE model into distinct components, which can be reused, eliminated or added to the model according to the desired experiments. Here we focus on the solute transport aspects of the model as listed in Table 1. The reader is referred to the primary article for the complete description of all modules in the WPCTE model Noroozbabaee et al., 2022.
Each of these modules in Table 1 is a Python model, enabling the researchers to reuse these components in their studies.
In this study, the designed experiments aim to investigate the model behaviour corresponding to either biological or, in some cases, extreme assumptions concerning the model configuration. Considering these assumptions, we can test the models’ limitations, flexibility, or reliability.
Table 1:Python Transport Modules (. Here, all the equation numbers refer to the equation numbers in the primary paper.)
Compartment  Membrane  Stoichiometry  Equation  Python Module  OnOff Parameter 

Convective Transport  
Convective Flux  peritubular & Apical  —  Eq:(37) 


Simple Diffusion  
Passive Flux  peritubular & Apical  —  Eq(3941) 


Simple Transport (Symporter)  
K⁺Cl⁻  peritubular  [1:1 ]  Eq:(42) 


Na⁺glucose  apical  [1:1 ]  Eq:(43) 


Na⁺H_{2}PO_{4}⁻  apical  [1:1 ]  Eq:(44) 


Simple Transport (Antiporter)  
Na⁺/H⁺  apical  [1:1 ]  Eq:(45) 


Na⁺/NH_{4}⁺  apical  [1:1 ]  Eq:(46) 


Cl⁻/HCO_{2}⁻  apical  [1:1 ]  Eq:(47) 


Cl⁻/HCO_{3}⁻  apical  [1:1 ]  Eq:(48) 


NHE3  apical  Weinstein (1995)  Weinstein (1995) 


Complex Transport  
Na⁺3 HCO_{3}⁻  peritubular  [1:3]  Eq:(49) 


Na⁺2 HCO_{3}⁻/Cl⁻  peritubular  [1:1:2]  Eq:(50) 


Active Transport  
H⁺  apical  –  Eq:(53) 


Na⁺/K⁺ATPS  peritubular  –  Eqs:(5458) 


3Model status¶
The current WPCTE model implementation in Python was executed using Python 3.9.0 [MSC v.1927 64 bit (AMD64)] on win32. The WPCTE model has been validated through the following experiments:
The WPCTE model reproducibility was tested by replicating some simulation experiments reported in Weinstein (1992) and Weinstein et al. (2007).
The WPCTE model flexibility and reusability were tested by reproducing a simple model of Na+ transport in the mammalian urinary bladder to study the salt sensitivity, see Latta et al. (1984).
Structural analysis of the WPCTE model validated the application of the model to the wide range of physiological perturbations.
4Model Computational Simulation¶
For the WPCTE simulations, the $35$ nonlinear ordinary differential equations are solved using a finite difference numerical method for time discretisation along the Python solver . Evaluation of the model involves integrating the mass conservation equations from an initial time [t0 = 0 s] to a final time [tf = 2000 s] using small time increments [dt = 0.1 s]. The simulation time is chosen to ensure that a steady state is reached. To ensure your Python environment has the required Python modules used in these scripts, one needs to install all the Python requirements by performing
or as appropriate for your platform and Python environment.
5Model results¶
Here, we performed structural analysis on the WPCTE model to demonstrate its flexibility and explore its application to a range of physiological perturbations. To investigate the effect of each transporter in the WPCTE model on the overall behaviour, we performed experiments in which we individually inhibited each of the transporters and compared the total epithelial fluxes.
Structural analyses were performed by inhibiting key transporters in different membranes, such as the Na⁺/K⁺ATPase in the peritubular membrane or SGLT, NHE3, and Na⁺H_{2}PO_{4} transporters in the apical membrane. The reproduction of structural analyses results of Noroozbabaee et al. (2022) is given in Figures 3–4, with the following sections providing instruction on how to use the associated Python codes to obtain these results.
To limit our focus on the structural analysis results and investigate the effect of different transporters in the WPCTE model [], we define the model parameter
. It is important to mention that to stop the reproduction of the rest of the model simulation results; we need to make the following adjustment in the WPCTE model parameters:
. The version of the implementation associated with this manuscript has these settings, so no changes are needed. The following description defines the various parameters used throughout the [
] script to configure and execute the simulations required to produce the data presented here. No changes are required in the implementation. The resultant figures can be produced using the [
] script by setting the desired figure parameter to $1$, with the figure numbering in the script aligned with the primary article (i.e., figures 6A, 6B, 7, 8A, and 8B).
5.1Inhibition of Peritubular (IS and IE) Transporters¶
We separately eliminated the Na⁺/K⁺ATPase and two symporters (K⁺Cl⁻ and Na⁺HCO_{3}⁻) on both the cellbasal and celllateral membranes and observed the resulting membrane fluxes and cellular concentrations. Inhibition of each transporter was accomplished by setting the coupling transport coefficient to zero. Figure 3 presents the inhibition of basal and celllateral transporters – this reproduces the results presented in Figure 6 of Noroozbabaee et al. (2022). On the first row in each panel, we present four sets of results for four different configurations that depict the total membrane fluxes for the following species: Na⁺, K⁺, Cl⁻, and Glucose. The total membrane fluxes include all the membrane activities from five membranes. Panel (a) represents the original full model (control configuration). Panel (b) illustrates the scenario due to the Na⁺K⁺ pump elimination. Panel (c) corresponds to the K⁺Cl⁻ elimination scenario. Panel (d) is for the inhibition of Na⁺HCO_{3} – transporters. In the second row, we illustrate the cellular concentrations corresponding to the related configuration for the same species: Na⁺, K⁺, Cl⁻, Glucose.
To obtain panel (a), we applied the default parameters [control configuration]. We ran the WPCTE model simulation [] for the total time simulation of 2000 s and saved the related results in the python files to be used later by the Python file
.
To obtain panel (b), we eliminate the Na⁺/K⁺ATPase by defining the , while the rest of the system’s parameters are the same as the default values. To reproduce panel (c), we eliminate the symporter K⁺Cl⁻ by setting
; while we reset
. Panel (d) illustrates the response of the WPCTE model in the case of elimination of Na⁺HCO_{3}⁻ transporter by setting
; while we reset
and
.
When we change the model configuration, we must ensure that the system’s initial conditions correspond to physiological values. For this reason, we ran the model simulation for the first 500 s based on the control configuration. Then we applied the new configuration and continued the model simulation. We saved the results related to the fluxes in the python file: and those related to solute concentrations in
.
5.2Inhibition of Apical Membrane (MI) Transporters¶
We separately eliminate the NHE3 antiporter and apical symporters (SGLT and Na⁺H_{2}PO_{4}⁻). Then we study the behaviour of the WPCTE model by analysing the results for membrane fluxes and cellular concentrations relative to each scenario. Inhibition of each transporter was accomplished by setting the coupling transport coefficient to zero. Figure 4 presents the inhibition of apical membrane transporters – this reproduces the results presented in Figure 8 of Noroozbabaee et al. (2022).
On the first row in each panel, we present four sets of results for four different configurations that depict the total membrane fluxes for the indicated species. Panel (a) represents the original full model (control configuration). Panel (b) illustrates the scenario due to the NHE3 elimination. Panel (c) corresponds to the SGLT elimination scenario. Panel (d) is for the inhibition of Na⁺H_{2}PO_{4}⁻ – transporters. In the second row, we illustrate the cellular concentrations corresponding to the related configuration for the same species.
To obtain panel (a), we applied the default parameters [control configuration]. We ran the WPCTE model simulation for the total time simulation of 2000 s.
To obtain panel (b), we eliminate the NHE3 by defining the while the rest of the system’s parameters are the same as the default values. To reproduce panel (c), we eliminate the apical symporter SGLT by setting
; while we reset
. Panel (d) illustrates the response of the WPCTE model in the case of elimination of Na⁺H_{2}PO_{4}⁻ transporter by setting
; while we reset
and
.
We ran the model simulation for the first 500 s based on the control configuration. Then we applied the new configuration and continued the model simulation. We saved the results related to all the new configurations for the different fluxes in the python file: and related results for the solute concentrations are saved in
to be used later by the Python file
.
5.3Total Epithelial Sodium Fluxes¶
The first row in Noroozbabaee et al. (2022, Figure 7) represents the sodium fluxes for the full WPCTE model, considered the control version. In the second row, we illustrate the sodium fluxes due to the elimination of the Na⁺/K⁺ATPase. And the third row corresponds to the elimination of NHE3. Figure 5 reproduces the results presented in Figure 7 of Noroozbabaee et al. (2022).
Panel (a) illustrates the different membrane fluxes. Panel (b) presents the epithelial sodium fluxes classified into convective, passive and electrochemical types. Panel (c) details the electrodiffusive activities into their segments: NHE3, SGLT, and Na⁺HPO_{4}.
To reproduce Figure 5, we used the related results already produced by the previous simulations in Section 5.1 and Section 5.2. The results were collected in the python folder .
6Discussion¶
We have presented in Noroozbabaee et al. (2022) what we believe to be a comprehensive and FAIR epithelial model for the PCT of the renal nephron. Here, we aim to highlight the flexibility of the WPCTE model, as the user can have a better insight into the system behaviour due to the elimination or cooperation of transporters by simply turning them on or off.
Because of the flexibility of the WPCTE model, there is a future opportunity for similar analyses to describe the system behaviour due to the elimination of other transporters and their impact on the different solutes.
The simulation experiments performed here aim to investigate the model behaviour corresponding to either biological or, in some cases, extreme assumptions concerning the model configuration. By considering these assumptions, we can test the models’ limitations, flexibility, or reliability. In some cases, this pushed the boundaries of the biological system into the nonbiological. These significant changes in configuration could, for example, generate an unrealistic stimulus in the model, which results in the model producing negative concentrations. To avoid the numerical error due to Eq. 52 in our primary paper (concerning its logarithmic nature), we added the ifelse statements in the model implementation in the file as shown below:
def f_eps(c, z, v):
if c > 0 and c != 0:
return rte * np.log(c) + z * f * v * 1.e6
else:
print('uy')
return rte * np.log(abs(c)) + z * f * v * 1.e6
 Noroozbabaee, L., Blanco, P. J., Safaei, S., & Nickerson, D. P. (2022). A modular and reusable model of epithelial transport in the proximal convoluted tubule. PLoS ONE, 17(11), e0275837. 10.1371/journal.pone.0275837
 Weinstein, A. M. (1995). A kinetically defined Na+/H+ antiporter within a mathematical model of the rat proximal tubule. The Journal of General Physiology, 105(5), 617–641. 10.1085/jgp.105.5.617
 Weinstein, A. M. (1992). Chloride transport in a mathematical model of the rat proximal tubule. American Journal of PhysiologyRenal Physiology, 263(5), F784–F798.
 Weinstein, A. M., Weinbaum, S., Duan, Y., Du, Z., Yan, Q., & Wang, T. (2007). Flowdependent transport in a mathematical model of rat proximal tubule. American Journal of PhysiologyRenal Physiology, 292(4), F1164–F1181.
 Latta, R., Clausen, C., & Moore, L. C. (1984). General method for the derivation and numerical solution of epithelial transport models. J Membrane Biol, 82(1), 67–82. 10.1007/BF01870733