1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
|
: capump.mod plus a "reservoir" used to initialize cai to desired concentrations
UNITS {
(mM) = (milli/liter)
(mA) = (milliamp)
(um) = (micron)
(mol) = (1)
PI = (pi) (1)
FARADAY = (faraday) (coulomb)
}
NEURON {
SUFFIX capr
USEION ca READ cao, cai WRITE cai, ica
GLOBAL k1, k2, k3, k4
GLOBAL car, tau
}
STATE {
pump (mol/cm2)
pumpca (mol/cm2)
cai (mM)
}
PARAMETER {
car = 5e-5 (mM) : ca in reservoir, used to initialize cai to desired concentrations
tau = 1e9 (ms) : rate of equilibration between cai and car
k1 = 5e8 (/mM-s)
k2 = .25e6 (/s)
k3 = .5e3 (/s)
k4 = 5e0 (/mM-s)
pumpdens = 3e-14 (mol/cm2)
}
CONSTANT {
volo = 1 (liter)
}
ASSIGNED {
diam (um)
cao (mM)
ica (mA/cm2)
ipump (mA/cm2)
ipump_last (mA/cm2)
voli (um3)
area1 (um2)
c1 (1+8 um5/ms)
c2 (1-10 um2/ms)
c3 (1-10 um2/ms)
c4 (1+8 um5/ms)
}
BREAKPOINT {
SOLVE pmp METHOD sparse
ipump_last = ipump
ica = ipump
}
KINETIC pmp {
COMPARTMENT voli {cai}
COMPARTMENT (1e10)*area1 {pump pumpca}
COMPARTMENT volo*(1e15) {cao car}
~ car <-> cai (1(um3)/tau,1(um3)/tau)
~ cai + pump <-> pumpca (c1,c2)
~ pumpca <-> pump + cao (c3,c4)
: note that forward flux here is the outward flux
ipump = (1e-4)*2*FARADAY*(f_flux - b_flux)/area1
: ipump_last vs ipump needed because of STEADYSTATE calculation
~ cai << (-(ica - ipump_last)*area1/(2*FARADAY)*(1e4))
CONSERVE pump + pumpca = (1e10)*area1*pumpdens
}
INITIAL {
:cylindrical coordinates; actually vol and area1/unit length
voli = PI*(diam/2)^2 * 1(um)
area1 = 2*PI*(diam/2) * 1(um)
c1 = (1e7)*area1 * k1
c2 = (1e7)*area1 * k2
c3 = (1e7)*area1 * k3
c4 = (1e7)*area1 * k4
SOLVE pmp STEADYSTATE sparse
}
|