File: capmp.mod

package info (click to toggle)
neuron 8.2.6-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 34,760 kB
  • sloc: cpp: 149,571; python: 58,465; ansic: 50,329; sh: 3,510; xml: 213; pascal: 51; makefile: 35; sed: 5
file content (90 lines) | stat: -rw-r--r-- 1,691 bytes parent folder | download | duplicates (4)
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
}