Disentangling astroglial physiology with a realistic cell model in silico (Savtchenko et al 2018)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:243508
"Electrically non-excitable astroglia take up neurotransmitters, buffer extracellular K+ and generate Ca2+ signals that release molecular regulators of neural circuitry. The underlying machinery remains enigmatic, mainly because the sponge-like astrocyte morphology has been difficult to access experimentally or explore theoretically. Here, we systematically incorporate multi-scale, tri-dimensional astroglial architecture into a realistic multi-compartmental cell model, which we constrain by empirical tests and integrate into the NEURON computational biophysical environment. This approach is implemented as a flexible astrocyte-model builder ASTRO. As a proof-of-concept, we explore an in silico astrocyte to evaluate basic cell physiology features inaccessible experimentally. ..."
Reference:
1 . Savtchenko LP, Bard L, Jensen TP, Reynolds JP, Kraev I, Medvedev N, Stewart MG, Henneberger C, Rusakov DA (2018) Disentangling astroglial physiology with a realistic cell model in silico. Nat Commun 9:3554 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Glia;
Brain Region(s)/Organism: Hippocampus;
Cell Type(s): Astrocyte;
Channel(s): I Calcium; I Potassium; Kir;
Gap Junctions: Gap junctions;
Receptor(s):
Gene(s):
Transmitter(s): Glutamate;
Simulation Environment: NEURON; MATLAB; C or C++ program;
Model Concept(s): Calcium waves; Calcium dynamics; Potassium buffering; Volume transmission; Membrane Properties;
Implementer(s): Savtchenko, Leonid P [leonid.savtchenko at ucl.ac.uk];
Search NeuronDB for information about:  I Calcium; I Potassium; Kir; Glutamate;
: the dynamics mechanism of the FRAP is developed by Savchenko and others. 2018

NEURON {
    SUFFIX FRAP
    USEION frapion READ frapiono, frapioni WRITE frapioni VALENCE 1

    GLOBAL vol, Buffer0
    RANGE frapion0, Alpha
}

DEFINE NANN  4

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

PARAMETER {
    DFree = 0.3	(um2/ms)
    frapion0 = 50e-6 (mM)
    diam		(um)
    frapiono		(mM)
    Alpha = 0.0 (1/ms)
}

ASSIGNED {
    frapioni		(mM)
    vol[NANN]	(1)	: gets extra cm2 when multiplied by diam^2
}

STATE {
    frapion[NANN]	(mM) : frapion[0] is equivalent to frapioni
    frapionBuffer[NANN]  (mM)
    Buffer[NANN]    (mM)
}

BREAKPOINT {
    SOLVE state METHOD sparse
}

LOCAL coord_done

INITIAL {
    if (coord_done == 0) {
        coord_done = 1
        coord()
    }
    : note Buffer gets set to Buffer0 automatifrapionlly
    : and frapionBuffer gets set to 0 (Default value of frapionBuffer0) as well
    frapioni = frapion0
    FROM i=0 TO NANN-1 {
        frapion[i] = frapioni
    }
}

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 frapion[0] is at edge of cell
    :      frapion[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
    }
}

KINETIC state {
    COMPARTMENT i, diam*diam*vol[i] {frapion}
    LONGITUDINAL_DIFFUSION j, DFree*diam*diam*vol[j] {frapion}

    FROM i=0 TO NANN-2 {
        ~ frapion[i] <-> frapion[i+1] (DFree*frat[i+1], DFree*frat[i+1])
        ~ frapion[i] << (-Alpha*diam*diam*frapion[i])
    }

    frapioni = frapion[0]
}

Loading data, please wait...