Sympathetic Preganglionic Neurone (Briant et al. 2014)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:151482
A model of a sympathetic preganglionic neurone of muscle vasoconstrictor-type.
Reference:
1 . Briant LJ, Stalbovskiy AO, Nolan MF, Champneys AR, Pickering AE (2014) Increased intrinsic excitability of muscle vasoconstrictor preganglionic neurons may contribute to the elevated sympathetic activity in hypertensive rats. J Neurophysiol 112:2756-78 [PubMed]
Citations  Citation Browser
Model Information (Click on a link to find other models with that property)
Model Type: Neuron or other electrically excitable cell;
Brain Region(s)/Organism:
Cell Type(s): Spinal cord lumbar motor neuron alpha ACh cell; Spinal cord sympathetic preganglionic neuron;
Channel(s): I Na,t; I L high threshold; I N; I A; I K; I K,Ca; I_AHP;
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: NEURON; MATLAB;
Model Concept(s): Action Potential Initiation; Activity Patterns; Bursting; Ion Channel Kinetics; Temporal Pattern Generation; Parameter Fitting; Action Potentials; Parameter sensitivity;
Implementer(s):
Search NeuronDB for information about:  Spinal cord lumbar motor neuron alpha ACh cell; I Na,t; I L high threshold; I N; I A; I K; I K,Ca; I_AHP;
/
SPN_ModelDB
hoc_code
MATLAB_code
README.txt
borgka.mod
borgkdr.mod
cadifus2.mod
cagk.mod *
cal2.mod *
can2.mod
gap.mod
gapcalcium.mod
kadist.mod *
kahp.mod *
kaprox.mod *
na3.mod
ActivationProtocol_GKA.dat
ActivationProtocol_IA.dat
ActivationProtocol_V.dat
Cell.hoc
ClampFiddy.dat
ClampFiddy_vhalfm.dat
ClampFiddy_ZetaK.dat
ClampFiddy_ZetaM.dat
ClampHundred.dat
ClampHundred_vhalfm.dat
ClampHundred_ZetaK.dat
ClampHundred_ZetaM.dat
CurrentMagnitude_GKA.dat
CurrentMagnitude_IA.dat
CurrentMagnitude_V.dat
EPSCs_Filtered.txt
InactivationProtocol_GKA.dat
InactivationProtocol_IA.dat
InactivationProtocol_V.dat
init.hoc
mosinit.hoc *
                            
TITLE Calcium ion accumulation and diffusion
: The internal coordinate system is set up in PROCEDURE coord_cadifus()
: and must be executed before computing the concentrations.
: The scale factors set up in this procedure do not have to be recomputed
: when diam or DFree are changed.
: The amount of calcium in an annulus is ca[i]*diam^2*vol[i] with
: ca[0] being the second order correct concentration at the exact edge
: and ca[NANN-1] being the concentration at the exact center

NEURON {
	SUFFIX cadifus2
	USEION ca READ cao, cai, ica WRITE cai, ica
	GLOBAL vol, Buffer0
	RANGE ipump
}
DEFINE NANN  4

UNITS {
        (mol)   = (1)
	(molar) = (1/liter)
	(mM)	= (millimolar)
	(um)	= (micron)
	(mA)	= (milliamp)
	FARADAY = (faraday)	 (10000 coulomb)
	PI	= (pi) (1)
}

PARAMETER {
	DFree = .6	(um2/ms)
	diam		(um)
	cao		(mM)
	ica		(mA/cm2)
	k1buf = 50	(/mM-ms)
	k2buf = 5	(/ms)
        k1=1.e10            (um3/s)
        k2=50.e7            (/s)	: k1*50.e-3
        k3=1.e10            (/s)	: k1
        k4=5.e6	            (um3/s)	: k1*5.e-4
	area		(um2)
} 
CONSTANT { volo=1  (liter)}

ASSIGNED {
	cai		(mM)
	vol[NANN]	(1)	: gets extra cm2 when multiplied by diam^2
	ipump           (mA/cm2)
	last_ipump           (mA/cm2)

}

STATE {
	ca[NANN]	(mM) <1.e-5> : ca[0] is equivalent to cai
	CaBuffer[NANN]  (mM)
	Buffer[NANN]    (mM)
        pump            (mol/cm2) <1.e-15>
        pumpca          (mol/cm2) <1.e-15>

}

LOCAL totpump, kd,totbuf

INITIAL {
           totpump=0.2
           pump=totpump/(1+1.e-18*k4*cao/k3)
           pumpca=2.e-22
	   ipump=0

           totbuf=1.2
           kd=k2buf/k1buf
           FROM i=0 TO NANN-1 {
                ca[i] = cai
		CaBuffer[i] =(totbuf*ca[i])/(kd+ca[i])
		Buffer[i] = totbuf - CaBuffer[i]
                }

}

BREAKPOINT {
	SOLVE state METHOD sparse
	last_ipump=ipump
	ica = ipump
}

LOCAL coord_done

INITIAL {
	if (coord_done == 0) {
		coord_done = 1
		coord()
	}
	: note Buffer gets set to Buffer0 automatically
	: and CaBuffer gets set to 0 (Default value of CaBuffer0) as well
	FROM i=0 TO NANN-1 {
		ca[i] = cai
	}
}

LOCAL frat[NANN] 	: gets extra cm when multiplied by diam

PROCEDURE coord() {
	LOCAL r, dr2
	: cylindrical coordinate system  with constant annuli thickness to
	: center of cell. Note however that the first annulus is half thickness
	: so that the concentration is second order correct spatially at
	: the membrane or exact edge of the cell.
	: note ca[0] is at edge of cell
	:      ca[NANN-1] is at center of cell
	r = 1/2					:starts at edge (half diam)
	dr2 = r/(NANN-1)/2			:half thickness of annulus
	vol[0] = 0
	frat[0] = 2*r
	FROM i=0 TO NANN-2 {
		vol[i] = vol[i] + PI*(r-dr2/2)*2*dr2	:interior half
		r = r - dr2
		frat[i+1] = 2*PI*r/(2*dr2)	:exterior edge of annulus
					: divided by distance between centers
		r = r - dr2
		vol[i+1] = PI*(r+dr2/2)*2*dr2	:outer half of annulus
	}
}

LOCAL dsq, dsqvol : can't define local variable in KINETIC block or use
		:  in COMPARTMENT
KINETIC state {
	COMPARTMENT i, diam*diam*vol[i]*1(um) {ca CaBuffer Buffer}
        COMPARTMENT (1.e10)*area {pump pumpca}
        COMPARTMENT (1.e15)*volo {cao}

	~ ca[0] << (-(ica-last_ipump)*PI*diam*frat[0]*1(um)/(2*FARADAY))
	FROM i=0 TO NANN-2 {
		~ ca[i] <-> ca[i+1] (DFree*frat[i+1]*1(um), DFree*frat[i+1]*1(um))
	}
	dsq = diam*diam*1(um)
	FROM i=0 TO NANN-1 {
		dsqvol = dsq*vol[i]
		~ ca[i] + Buffer[i] <-> CaBuffer[i] (k1buf*dsqvol,k2buf*dsqvol)
	}
        ~ca[0] + pump <-> pumpca ((1.e-11)*k1*area, (1.e7)*k2*area)
        ~pumpca       <-> pump + cao ((1.e7)*k3*area, (1.e-11)*k4*area)

        ipump = 2*FARADAY*(f_flux-b_flux)/area

	cai = ca[0]
}
	
COMMENT
At this time, conductances (and channel states and currents are
calculated at the midpoint of a dt interval.  Membrane potential and
concentrations are calculated at the edges of a dt interval.  With
secondorder=2 everything turns out to be second order correct.
ENDCOMMENT