PK Model
A two-compartment CNO/CLZ model.
\[\begin{align}
\dot{[CNO_{D}]} &= -k_{a_{CNO}}[CNO_{D}] \tag{1} \\
\dot{[CNO_{P}]} &= k_{a_{CNO}}[CNO_{D}] - k_{el_{CNO}}[CNO_{P}] - k_{RMet_{CNO}}[CNO_{P}] \\
&+ k_{Met_{CLZ}}[CLZ_{P}] - k_{PB_{CNO}}[CNO_{P}] + k_{BP_{CNO}}[CNO_{B}] \tag{2} \\
\dot{[CNO_{B}]} &= k_{PB_{CNO}}[CNO_{P}] - k_{BP_{CNO}}[CNO_{B}] \tag{3} \\
\dot{[CLZ_{P}]} &= k_{RMet_{CNO}}[CNO_{P}] - k_{el_{CLZ}}[CLZ_{P}] \\
&- k_{Met_{CLZ}}[CLZ_{P}] - k_{PB_{CLZ}}[CLZ_{P}] + k_{BP_{CLZ}}[CLZ_{B}] \tag{4} \\
\dot{[CLZ_{B}]} &= k_{PB_{CLZ}}[CLZ_{P}] - k_{BP_{CLZ}}[CLZ_{B}] \tag{5}
\end{align}
\]
See CnoPKConfig for parameter details.
rma_kinetics.models.CnoPK
CNO PK model for chemogenetic RMA models.
Attributes:
Source code in src/rma_kinetics/models/cno.py
| class CnoPK(EqxModule):
"""
CNO PK model for chemogenetic RMA models.
Attributes:
config (CnoPKConfig): Model configuration.
"""
config: CnoPKConfig
def __getattr__(self, name):
if hasattr(self.config, name):
return getattr(self.config, name)
raise AttributeError(name)
def _model(self, t: float, y: PyTree[float], args=None) -> PyTree[float]:
"""
Two-compartment CNO kinetic model
Arguments:
t (float): Time point.
y (PyTree[float]): peritoneal CNO, plasma CNO/CLZ, brain CNO/CLZ amounts.
Returns:
dydt (PyTree[float]): Tuple containing change in CNO and CLZ amounts.
"""
peritoneal_cno, plasma_cno, brain_cno, plasma_clz, brain_clz = y
peritoneal_cno_flux = self.cno_absorption_rate * peritoneal_cno
brain_cno_influx = self.cno_brain_transport_rate * plasma_cno
brain_cno_outflux = self.cno_plasma_transport_rate * brain_cno
plasma_clz_influx = self.cno_reverse_metabolism_rate * plasma_cno
plasma_clz_outflux = self.clz_metabolism_rate * plasma_clz
brain_clz_influx = self.clz_brain_transport_rate * plasma_clz
brain_clz_outflux = self.clz_plasma_transport_rate * brain_clz
dperitoneal_cno = -peritoneal_cno_flux
dplasma_cno = (peritoneal_cno_flux - (self.cno_elimination_rate * plasma_cno)
- brain_cno_influx + brain_cno_outflux
- plasma_clz_influx + plasma_clz_outflux)
dbrain_cno = brain_cno_influx - brain_cno_outflux
dplasma_clz = (plasma_clz_influx - plasma_clz_outflux - (self.clz_elimination_rate * plasma_clz)
- brain_clz_influx + brain_clz_outflux)
dbrain_clz = brain_clz_influx - brain_clz_outflux
return dperitoneal_cno, dplasma_cno, dbrain_cno, dplasma_clz, dbrain_clz
|
_model(t: float, y: PyTree[float], args=None) -> PyTree[float]
Two-compartment CNO kinetic model
Parameters:
| Name |
Type |
Description |
Default |
t
|
float
|
|
required
|
y
|
PyTree[float]
|
peritoneal CNO, plasma CNO/CLZ, brain CNO/CLZ amounts.
|
required
|
Returns:
| Name | Type |
Description |
dydt |
PyTree[float]
|
Tuple containing change in CNO and CLZ amounts.
|
Source code in src/rma_kinetics/models/cno.py
| def _model(self, t: float, y: PyTree[float], args=None) -> PyTree[float]:
"""
Two-compartment CNO kinetic model
Arguments:
t (float): Time point.
y (PyTree[float]): peritoneal CNO, plasma CNO/CLZ, brain CNO/CLZ amounts.
Returns:
dydt (PyTree[float]): Tuple containing change in CNO and CLZ amounts.
"""
peritoneal_cno, plasma_cno, brain_cno, plasma_clz, brain_clz = y
peritoneal_cno_flux = self.cno_absorption_rate * peritoneal_cno
brain_cno_influx = self.cno_brain_transport_rate * plasma_cno
brain_cno_outflux = self.cno_plasma_transport_rate * brain_cno
plasma_clz_influx = self.cno_reverse_metabolism_rate * plasma_cno
plasma_clz_outflux = self.clz_metabolism_rate * plasma_clz
brain_clz_influx = self.clz_brain_transport_rate * plasma_clz
brain_clz_outflux = self.clz_plasma_transport_rate * brain_clz
dperitoneal_cno = -peritoneal_cno_flux
dplasma_cno = (peritoneal_cno_flux - (self.cno_elimination_rate * plasma_cno)
- brain_cno_influx + brain_cno_outflux
- plasma_clz_influx + plasma_clz_outflux)
dbrain_cno = brain_cno_influx - brain_cno_outflux
dplasma_clz = (plasma_clz_influx - plasma_clz_outflux - (self.clz_elimination_rate * plasma_clz)
- brain_clz_influx + brain_clz_outflux)
dbrain_clz = brain_clz_influx - brain_clz_outflux
return dperitoneal_cno, dplasma_cno, dbrain_cno, dplasma_clz, dbrain_clz
|