copying to personal repo
This commit is contained in:
18
cnmodel/data/__init__.py
Normal file
18
cnmodel/data/__init__.py
Normal file
@@ -0,0 +1,18 @@
|
||||
"""
|
||||
The cnmodel.data package contains information about ion channel densities,
|
||||
connectivity, synaptic properties, and population distributions. These values
|
||||
are used by the Cell, Synapse, Population, and related classes to determine
|
||||
all model construction parameters.
|
||||
|
||||
Values are stored in python strings that contain human-readable tables with
|
||||
provenance documentation.
|
||||
"""
|
||||
|
||||
|
||||
from ._db import get, get_source, add_table_data, report_changes, setval
|
||||
|
||||
|
||||
from . import connectivity
|
||||
from . import synapses
|
||||
from . import populations
|
||||
from . import ionchannels
|
||||
321
cnmodel/data/_db.py
Normal file
321
cnmodel/data/_db.py
Normal file
@@ -0,0 +1,321 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
from __future__ import print_function
|
||||
from collections import OrderedDict
|
||||
import re
|
||||
|
||||
|
||||
# Unified collection point for all empirically-determined biophysical
|
||||
# values. Each value is a tuple (val, source).
|
||||
DATA = OrderedDict()
|
||||
|
||||
|
||||
def get(*args, **kwds):
|
||||
""" Get a single value from the database using the supplied arguments
|
||||
to query.
|
||||
|
||||
Optionally, one keyword argument may be a list of values, in which case
|
||||
a dict will be returned containing {listval: dbval} pairs for each value in
|
||||
the list.
|
||||
"""
|
||||
return _lookup(0, *args, **kwds)
|
||||
|
||||
|
||||
def get_source(*args, **kwds):
|
||||
""" Get the source of a single value from the database using the supplied
|
||||
arguments to query.
|
||||
|
||||
Optionally, one keyword argument may be a list of values, in which case
|
||||
a dict will be returned containing {listval: dbval} pairs for each value in
|
||||
the list.
|
||||
"""
|
||||
return _lookup(1, *args, **kwds)
|
||||
|
||||
|
||||
def print_table(table):
|
||||
for k in DATA.keys():
|
||||
if table == k[0]:
|
||||
print("data key: ", k)
|
||||
print(DATA[k][0])
|
||||
|
||||
|
||||
def get_table_info(table):
|
||||
"""
|
||||
Return a dictionary of row and column names in the table
|
||||
"""
|
||||
tinfo = {}
|
||||
for k in DATA.keys():
|
||||
if table == k[0]:
|
||||
for p in k:
|
||||
if not isinstance(p, tuple):
|
||||
continue
|
||||
if p[0] not in tinfo.keys():
|
||||
tinfo[p[0]] = []
|
||||
if p[1] not in tinfo[p[0]]:
|
||||
tinfo[p[0]].append(p[1])
|
||||
return tinfo
|
||||
|
||||
|
||||
def _lookup(ind, *args, **kwds):
|
||||
key = mk_key(*args, **kwds)
|
||||
if isinstance(key, dict):
|
||||
data = {}
|
||||
for k, key in key.items():
|
||||
data[k] = DATA[key][ind]
|
||||
return data
|
||||
else:
|
||||
return DATA[key][ind]
|
||||
|
||||
|
||||
def setval(val, *args, **kwds):
|
||||
key = mk_key(*args, **kwds)
|
||||
oldval = None
|
||||
# change_flag = False
|
||||
if key in DATA:
|
||||
# change_flag = True # any attempt to change key will set this
|
||||
oldval = DATA[key] # save the previous stored value
|
||||
# raise RuntimeError("Data key '%s' has already been set." % str(key))
|
||||
DATA[key] = val
|
||||
return oldval
|
||||
|
||||
|
||||
def mk_key(*args, **kwds):
|
||||
# Make a unique key (or list of keys) used to access values from the
|
||||
# database. The generated key is independent of the order that arguments
|
||||
# are specified.
|
||||
#
|
||||
# Optionally, one keyword argument may have a list of values, in which case
|
||||
# the function will return a dict containing {listval: key} pairs for each
|
||||
# value in the list.
|
||||
listkey = None
|
||||
for k, v in kwds.items():
|
||||
if isinstance(v, (list, tuple)):
|
||||
if listkey is not None:
|
||||
raise TypeError("May only specify a list of values for one key.")
|
||||
listkey = k
|
||||
|
||||
if listkey is None:
|
||||
return _mk_key(*args, **kwds)
|
||||
else:
|
||||
keys = {}
|
||||
for v in kwds[listkey]:
|
||||
kwds[listkey] = v
|
||||
keys[v] = _mk_key(*args, **kwds)
|
||||
return keys
|
||||
|
||||
|
||||
def _mk_key(*args, **kwds):
|
||||
key = list(args) + list(kwds.items())
|
||||
key.sort(key=lambda a: a[0] if isinstance(a, tuple) else a)
|
||||
return tuple(key)
|
||||
|
||||
|
||||
def add_table_data(name, row_key, col_key, data, **kwds):
|
||||
"""
|
||||
Read data like::
|
||||
|
||||
Description
|
||||
|
||||
------------------------------------
|
||||
col1 col2 col3
|
||||
row1 1.2 [1] 0.9e-6 [1] 27 [2]
|
||||
row2 1.7 [1] [3]
|
||||
row3 0.93 [2] 0.3e-6 3 [2]
|
||||
|
||||
------------------------------------
|
||||
|
||||
[1] citation 1
|
||||
[2] citation 2
|
||||
[3] missing because.
|
||||
|
||||
|
||||
"""
|
||||
if isinstance(data, str) and "\xc2" in data:
|
||||
raise TypeError(
|
||||
"Data table <%s> appears to contain unicode characters but"
|
||||
"was not defined as unicode." % name
|
||||
)
|
||||
|
||||
lines = data.split("\n")
|
||||
|
||||
# First, split into description, table, and sources using ----- lines
|
||||
desc = []
|
||||
table = []
|
||||
while lines:
|
||||
line = lines.pop(0)
|
||||
# print ">", line
|
||||
if re.match(r"\s*-+\s*$", line):
|
||||
# print "match!"
|
||||
break
|
||||
desc.append(line)
|
||||
while lines:
|
||||
line = lines.pop(0)
|
||||
# print ">", line
|
||||
if re.match(r"\s*-+\s*$", line):
|
||||
# print "match!"
|
||||
break
|
||||
table.append(line)
|
||||
|
||||
# print desc
|
||||
# print table
|
||||
|
||||
# parse remaining lines as sources
|
||||
sources = parse_sources(lines)
|
||||
# print sources
|
||||
|
||||
#
|
||||
# parse table
|
||||
# table might be empty, so take care of that first.
|
||||
if table == []:
|
||||
return [] # no changes
|
||||
|
||||
while len(table[0].strip()) == 0:
|
||||
table.pop(0)
|
||||
|
||||
spaces = [c == " " for c in table[0]]
|
||||
cols = [0] + [i for i in range(1, len(spaces)) if spaces[i - 1] and not spaces[i]]
|
||||
cols = cols + [max(map(len, table)) + 1]
|
||||
# print spaces
|
||||
# print cols
|
||||
# Make sure columns are obeyed strictly
|
||||
for i, line in enumerate(table):
|
||||
for j, c in enumerate(cols[1:]):
|
||||
if len(line) < c:
|
||||
continue
|
||||
if line[c - 1] != " ":
|
||||
print("Table line with error: \n ", line)
|
||||
raise Exception(
|
||||
"Table <%s> line: %d, column: %s does not obey column boundaries."
|
||||
% (name, i, j)
|
||||
)
|
||||
|
||||
# Break table into cells
|
||||
cells = []
|
||||
for line in table:
|
||||
if line.strip() != "":
|
||||
cells.append(
|
||||
[line[cols[i] : cols[i + 1]].strip() for i in range(len(cols) - 1)]
|
||||
)
|
||||
# print cells
|
||||
|
||||
# Extract row/column names
|
||||
col_names = cells.pop(0)[1:]
|
||||
row_names = [cells[i].pop(0) for i in range(len(cells))]
|
||||
if len(set(row_names)) != len(row_names):
|
||||
for n in set(row_names):
|
||||
row_names.remove(n)
|
||||
raise NameError("Duplicate row names: %s" % row_names)
|
||||
|
||||
# Parse cell values
|
||||
for i in range(len(cells)):
|
||||
for j in range(len(cells[0])):
|
||||
cell = cells[i][j].strip()
|
||||
m = re.match(r"([^\[]*)(\[([^\]]+)\])?", cell) # match like "0.7 [3]"
|
||||
if m is None:
|
||||
raise ValueError(
|
||||
"Table cell (%d, %d) has bad format: '%s'" % (i, j, cell)
|
||||
)
|
||||
|
||||
# parse value
|
||||
# If the value contains '±' then a tuple is returned containing the values
|
||||
# on either side.
|
||||
val, _, source = m.groups()
|
||||
# val = unicode(val) # python 2
|
||||
val = str(val) # python 3
|
||||
if val.strip() == "":
|
||||
val = None
|
||||
else:
|
||||
parts = val.split(u"±")
|
||||
vals = []
|
||||
for p in parts:
|
||||
try:
|
||||
p = int(p)
|
||||
except ValueError:
|
||||
try:
|
||||
p = float(p)
|
||||
except ValueError:
|
||||
try:
|
||||
p = str(
|
||||
p.strip()
|
||||
) # allow strings to identify mechanisms also
|
||||
except ValueError:
|
||||
raise ValueError(
|
||||
"Table cell (%d, %d) value has bad format: '%s'"
|
||||
% (i, j, val)
|
||||
)
|
||||
vals.append(p)
|
||||
if len(vals) == 1:
|
||||
val = vals[0]
|
||||
else:
|
||||
val = tuple(vals)
|
||||
|
||||
# parse source
|
||||
if source is not None:
|
||||
try:
|
||||
source = sources[source]
|
||||
except KeyError:
|
||||
raise ValueError(
|
||||
"Table cell (%d, %d) has unknown source key: '%s'"
|
||||
% (i, j, source)
|
||||
)
|
||||
|
||||
cells[i][j] = (val, source)
|
||||
|
||||
changes = [] # a list of parameters that are changed if we are rewriting a table
|
||||
for i, row in enumerate(row_names):
|
||||
for j, col in enumerate(col_names):
|
||||
kwds[row_key] = row
|
||||
kwds[col_key] = col
|
||||
oldval = setval(cells[i][j], name, **kwds)
|
||||
if oldval is not None and oldval != cells[i][j]:
|
||||
key = mk_key(name, **kwds)
|
||||
changes.append(
|
||||
{"key": key, "new": cells[i][j], "old": oldval, "name": name}
|
||||
)
|
||||
# changes.append({'name': name, 'row': row, 'col': col, 'new': cells[i][j], 'old': oldval})
|
||||
return changes
|
||||
|
||||
|
||||
def report_changes(changes):
|
||||
"""
|
||||
For changes to data tables, give user a readout
|
||||
"""
|
||||
if len(changes) > 0:
|
||||
anychg = False
|
||||
for ch in changes:
|
||||
# print(' >>> Changing %s, %s from default (%s) to %s' % (ch['row'], ch['col'], str(ch['new'][0]), str(ch['old'][0])))
|
||||
if str(ch["old"][0]) != str(ch["new"][0]):
|
||||
if anychg is False:
|
||||
print(
|
||||
"\nWarning: Data Table '%s' (in memory) has been modified!"
|
||||
% changes[0]["name"]
|
||||
)
|
||||
anychg = True
|
||||
print(
|
||||
" >>> Changing %s, from default (%s) to %s"
|
||||
% (ch["key"], str(ch["old"][0]), str(ch["new"][0]))
|
||||
)
|
||||
|
||||
|
||||
def parse_sources(lines):
|
||||
sources = {}
|
||||
key = None
|
||||
val = []
|
||||
for l in lines:
|
||||
l = l.lstrip()
|
||||
m = re.match(r"\s*\[([^\]]+)\]\s+(.*)$", l)
|
||||
if m is not None:
|
||||
key = m.groups()[0]
|
||||
sources[key] = m.groups()[1].strip()
|
||||
else:
|
||||
if key is None:
|
||||
if l == "":
|
||||
continue
|
||||
raise ValueError(
|
||||
"Incorrect sources format--got text without "
|
||||
'citation index: "%s".' % l
|
||||
)
|
||||
sources[key] += "\n" + l
|
||||
return sources
|
||||
|
||||
|
||||
# parse_sources('''\n\n[1] source 1\n it's cool.\n[2] source 2 is not\n'''.split('\n'))
|
||||
234
cnmodel/data/connectivity.py
Normal file
234
cnmodel/data/connectivity.py
Normal file
@@ -0,0 +1,234 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
from ._db import add_table_data
|
||||
|
||||
#: Mouse synaptic convregence table
|
||||
mouse_convergence = u"""
|
||||
|
||||
Convergence defines the average number of presynaptic cells of a particular
|
||||
type (rows) that synapse onto a single postsynaptic cell of a particular
|
||||
type (columns).
|
||||
This connectivity matrix is currently incomplete.
|
||||
Note: Bushy and pyramidal cells are known to have no (or very few)
|
||||
collaterals within the CN, and so they are not listed as presynaptic cells in
|
||||
this table. Octopus cells have collaterals (including in granule cell domains),
|
||||
and should be added to this table when more data are available (Golding et al.,
|
||||
J. Neurosci. 15: 3138, 1995)
|
||||
|
||||
----------------------------------------------------------------------------------------------
|
||||
bushy tstellate dstellate octopus pyramidal tuberculoventral
|
||||
sgc 3.3±0.6 [2] 6.5±1.0 [2] 35±0 [3] 60±0 [2] 48±0 [5] 24±0 [5]
|
||||
dstellate 7 [1] 20 [1] 3 [1] 0 [4] 15 [5] 15 [5]
|
||||
tstellate 0 [6] 0 [6] 0 [6] 0 [6] 0 [6] 0 [6]
|
||||
tuberculoventral 6 6 0 0 [4] 21 [5] 0 [7]
|
||||
pyramidal 0 0 0 0 0 0
|
||||
----------------------------------------------------------------------------------------------
|
||||
|
||||
[1] Guesses based on Campagnola & Manis 2014
|
||||
|
||||
[2] Cao, X. & Oertel, D. (2010). Auditory nerve fibers excite targets through
|
||||
synapses that vary in convergence, strength, and short-term plasticity.
|
||||
Journal of Neurophysiology, 104(5), 2308–20.
|
||||
Xie and Manis (unpublished): max EPSC = 3.4 ± 1.5 nA with ~0.3 nA steps
|
||||
(Cao and Oertel, 2010) = ~11 AN inputs. However neither we nor Cao and Oertel
|
||||
see that many clear steps in the responses, so use lower bound.
|
||||
|
||||
[3] Lower bound based on estimates from unpublished data Xie and Manis (2017)
|
||||
Assumptions: No discernable step sizes when increasing shock intensity
|
||||
at ANFs in radiate multipolars (dstellate)
|
||||
Measured: 0.034 ± 15 nA sEPSC @ -70 mV
|
||||
Measured: Maximal current from AN stim = 1.2 ± 0.7 nA @ -70 mV
|
||||
Assuming that each AN provides 1 input, then N = ~35
|
||||
|
||||
[4] Octopus cells are devoid of inhibitory input (Golding et al., J. Neurosci., 1995)
|
||||
|
||||
[5] Convergence from Hancock and Voigt, Ann. Biomed. Eng. 27, 1999 and Zheng and Voigt,
|
||||
Ann. Biomed. Eng., 34, 2006. Numbers are based on models for cat and gerbil,
|
||||
respectively. Adjusted to 1/2 to avoid overexciting TV cells in network model.
|
||||
|
||||
[6] tstellate cells have collaterals within the CN. It has been proposed that they
|
||||
provide auditory-driven input to the DCN (Oertel and Young, ), and also synapse
|
||||
within the VCN (Oertel, SFN abstract). These parameters may need to be adjusted
|
||||
once the convergence and strength is known.
|
||||
|
||||
[7] In the models of Hancock and Voigt (1999) and Zheng and Voigt (2006), the TV cells
|
||||
have no connections with each other. However, Kuo et al. (J. Neurophysiol., 2015)
|
||||
did see connections between pairs of TV cells in the mouse.
|
||||
|
||||
"""
|
||||
|
||||
add_table_data(
|
||||
"convergence",
|
||||
row_key="pre_type",
|
||||
col_key="post_type",
|
||||
species="mouse",
|
||||
data=mouse_convergence,
|
||||
)
|
||||
|
||||
|
||||
mouse_convergence_range = u"""
|
||||
|
||||
The convergence range table describes, for each type of connection from
|
||||
presynaptic (rows) to postsynaptic (columns), the variance in frequency of
|
||||
presynaptic cells relative to the postsynaptic cell.
|
||||
|
||||
All values are expressed as the sigma for a lognormal distribution scaled to
|
||||
the CF of the postsynaptic cell.
|
||||
|
||||
----------------------------------------------------------------------------------------------
|
||||
bushy tstellate dstellate octopus pyramidal tuberculoventral
|
||||
sgc 0.05 [1] 0.1 [1] 0.4 [1] 0.5 [5] 0.1 [1] 0.1 [1]
|
||||
dstellate 0.208 [2] 0.347 [2] 0.5 [1] 0 0.2 [1] 0.2 [1]
|
||||
tstellate 0.1 [4] 0.1 [4] 0 0 0 0
|
||||
tuberculoventral 0.069 [3] 0.111 [3] 0 0 0.15 [1] 0
|
||||
pyramidal 0 0 0 0 0 0
|
||||
----------------------------------------------------------------------------------------------
|
||||
|
||||
[1] Guess based on axonal / dendritic morphology.
|
||||
|
||||
[2] Calculated from Campagnola & Manis 2014 fig. 7C
|
||||
Distribution widths are given in stdev(octaves), so we multiply by ln(2) to
|
||||
get the sigma for a lognormal distribution.
|
||||
DS->Bushy: ln(2) * 0.3 = 0.208
|
||||
DS->TStellate: ln(2) * 0.5 = 0.347
|
||||
|
||||
[3] Calculated from Campagnola & Manis 2014 fig. 9C
|
||||
Distribution widths are given in stdev(octaves), so we multiply by ln(2) to
|
||||
get the sigma for a lognormal distribution.
|
||||
TV->Bushy: ln(2) * 0.10 = 0.069
|
||||
TV->TStellate: ln(2) * 0.16 = 0.111
|
||||
|
||||
[4] Guess based on very limited information in Campagnola & Manis 2014 fig. 12
|
||||
|
||||
[5] Octopus cells get a wide range of ANF input (but weak on a per input basis)
|
||||
For example, see McGinley et al., 2012 or Spencer et al., 2012.
|
||||
|
||||
|
||||
"""
|
||||
|
||||
add_table_data(
|
||||
"convergence_range",
|
||||
row_key="pre_type",
|
||||
col_key="post_type",
|
||||
species="mouse",
|
||||
data=mouse_convergence_range,
|
||||
)
|
||||
|
||||
# --------------------------------------------------------------------------------------------
|
||||
guineapig_convergence = u"""
|
||||
|
||||
Convergence defines the average number of presynaptic cells of a particular
|
||||
type (rows) that synapse onto a single postsynaptic cell of a particular
|
||||
type (columns).
|
||||
This connectivity matrix is currently incomplete.
|
||||
Note: Bushy and pyramidal cells are known to have no (or very few)
|
||||
collaterals within the CN, and so they are not listed as presynaptic cells in
|
||||
this table. Octopus cells have collaterals (including in granule cell domains),
|
||||
and should be added to this table when more data are available (Golding et al.,
|
||||
J. Neurosci. 15: 3138, 1995)
|
||||
|
||||
This table is just a guess... using mouse data...
|
||||
|
||||
----------------------------------------------------------------------------------------------
|
||||
bushy tstellate dstellate octopus pyramidal tuberculoventral mso
|
||||
sgc 3.3±0.6 [2] 6.5±1.0 [2] 35±0 [3] 60±0 [2] 48±0 [5] 24±0 [5] 0
|
||||
bushy 0 0 0 0 0 0 12 [8]
|
||||
dstellate 7 [1] 20 [1] 3 [1] 0 [4] 15 [5] 15 [5] 0
|
||||
tstellate 0 [6] 0 [6] 0 [6] 0 [6] 0 [6] 0 [6] 0
|
||||
tuberculoventral 6 6 0 0 [4] 21 [5] 0 [7] 0
|
||||
pyramidal 0 0 0 0 0 0 0
|
||||
----------------------------------------------------------------------------------------------
|
||||
|
||||
[1] Guesses based on Campagnola & Manis 2014 (using mouse data on guinea pig cells)
|
||||
|
||||
[2] Cao, X. & Oertel, D. (2010). Auditory nerve fibers excite targets through
|
||||
synapses that vary in convergence, strength, and short-term plasticity.
|
||||
Journal of Neurophysiology, 104(5), 2308–20.
|
||||
Xie and Manis (unpublished): max EPSC = 3.4 ± 1.5 nA with ~0.3 nA steps
|
||||
(Cao and Oertel, 2010) = ~11 AN inputs. However neither we nor Cao and Oertel
|
||||
see that many clear steps in the responses, so use lower bound.
|
||||
|
||||
[3] Lower bound based on estimates from unpublished data Xie and Manis (2017)
|
||||
Assumptions: No discernable step sizes when increasing shock intensity
|
||||
at ANFs in radiate multipolars (dstellate)
|
||||
Measured: 0.034 ± 15 nA sEPSC @ -70 mV
|
||||
Measured: Maximal current from AN stim = 1.2 ± 0.7 nA @ -70 mV
|
||||
Assuming that each AN provides 1 input, then N = ~35
|
||||
|
||||
[4] Octopus cells are devoid of inhibitory input (Golding et al., J. Neurosci., 1995)
|
||||
|
||||
[5] Convergence from Hancock and Voigt, Ann. Biomed. Eng. 27, 1999 and Zheng and Voigt,
|
||||
Ann. Biomed. Eng., 34, 2006. Numbers are based on models for cat and gerbil,
|
||||
respectively. Adjusted to 1/2 to avoid overexciting TV cells in network model.
|
||||
|
||||
[6] tstellate cells have collaterals within the CN. It has been proposed that they
|
||||
provide auditory-driven input to the DCN (Oertel and Young, ), and also synapse
|
||||
within the VCN (Oertel, SFN abstract). These parameters may need to be adjusted
|
||||
once the convergence and strength is known.
|
||||
|
||||
[7] In the models of Hancock and Voigt (1999) and Zheng and Voigt (2006), the TV cells
|
||||
have no connections with each other. However, Kuo et al. (J. Neurophysiol., 2015)
|
||||
did see connections between pairs of TV cells in the mouse.
|
||||
|
||||
[8] Bushy convergence to MSO is a guess
|
||||
"""
|
||||
|
||||
add_table_data(
|
||||
"convergence",
|
||||
row_key="pre_type",
|
||||
col_key="post_type",
|
||||
species="guineapig",
|
||||
data=guineapig_convergence,
|
||||
)
|
||||
|
||||
|
||||
guineapig_convergence_range = u"""
|
||||
|
||||
The convergence range table describes, for each type of connection from
|
||||
presynaptic (rows) to postsynaptic (columns), the variance in frequency of
|
||||
presynaptic cells relative to the postsynaptic cell.
|
||||
|
||||
All values are expressed as the sigma for a lognormal distribution scaled to
|
||||
the CF of the postsynaptic cell.
|
||||
|
||||
*** This table is just a guess - using data from mouse... ****
|
||||
|
||||
-------------------------------------------------------------------------------------------------------
|
||||
bushy tstellate dstellate octopus pyramidal tuberculoventral mso
|
||||
sgc 0.05 [1] 0.1 [1] 0.4 [1] 0.5 [5] 0.1 [1] 0.1 [1] 0
|
||||
bushy 0 0 0 0 0 0 0.05 [6]
|
||||
dstellate 0.208 [2] 0.347 [2] 0.5 [1] 0 0.2 [1] 0.2 [1] 0
|
||||
tstellate 0.1 [4] 0.1 [4] 0 0 0 0 0
|
||||
tuberculoventral 0.069 [3] 0.111 [3] 0 0 0.15 [1] 0 0
|
||||
pyramidal 0 0 0 0 0 0 0
|
||||
--------------------------------------------------------------------------------------------------------
|
||||
|
||||
[1] Guess based on axonal / dendritic morphology.
|
||||
|
||||
[2] Calculated from Campagnola & Manis 2014 fig. 7C (Using mouse data on guinea pig cells)
|
||||
Distribution widths are given in stdev(octaves), so we multiply by ln(2) to
|
||||
get the sigma for a lognormal distribution.
|
||||
DS->Bushy: ln(2) * 0.3 = 0.208
|
||||
DS->TStellate: ln(2) * 0.5 = 0.347
|
||||
|
||||
[3] Calculated from Campagnola & Manis 2014 fig. 9C (Using mouse data on guinea pig cells)
|
||||
Distribution widths are given in stdev(octaves), so we multiply by ln(2) to
|
||||
get the sigma for a lognormal distribution.
|
||||
TV->Bushy: ln(2) * 0.10 = 0.069
|
||||
TV->TStellate: ln(2) * 0.16 = 0.111
|
||||
|
||||
[4] Guess based on very limited information in Campagnola & Manis 2014 fig. 12
|
||||
|
||||
[5] Octopus cells get a wide range of ANF input (but weak on a per input basis)
|
||||
For example, see McGinley et al., 2012 or Spencer et al., 2012.
|
||||
|
||||
[6] MSO convergence from bushy cells is a guess.
|
||||
|
||||
"""
|
||||
|
||||
add_table_data(
|
||||
"convergence_range",
|
||||
row_key="pre_type",
|
||||
col_key="post_type",
|
||||
species="guineapig",
|
||||
data=guineapig_convergence_range,
|
||||
)
|
||||
582
cnmodel/data/ionchannels.py
Normal file
582
cnmodel/data/ionchannels.py
Normal file
@@ -0,0 +1,582 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
from ._db import add_table_data
|
||||
|
||||
"""
|
||||
Ion channel density tables
|
||||
All of the ion channel densities for the models implemented in cnmodel
|
||||
are (or should be) stated here, and should not be modified in the
|
||||
cnmodel code itself.
|
||||
|
||||
"""
|
||||
|
||||
add_table_data(
|
||||
"RM03_channels",
|
||||
row_key="field",
|
||||
col_key="model_type",
|
||||
species="guineapig",
|
||||
data=u"""
|
||||
|
||||
This table describes the ion channel densities (and voltage shifts if necessary)
|
||||
for different cell types in the original Rothman Manis 2003 model.
|
||||
Data from Table 1, except for "octopus" cells, which is modified (see note 3)
|
||||
map to cell: bushy-II bushy-II-I tstellate tstellate-t bushy-I-II octopus
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
II II-I I-c I-t I-II II-o
|
||||
|
||||
nacn_gbar 1000. [1] 1000. [1] 1000. [1] 1000. [1] 1000. [2] 1000. [3]
|
||||
kht_gbar 150.0 [1] 150.0 [1] 150.0 [1] 80.0 [1] 150.0 [2] 150.0 [3]
|
||||
klt_gbar 200.0 [1] 35.0 [1] 0.0 [1] 0.0 [1] 20.0 [2] 1000. [3]
|
||||
ka_gbar 0.0 [1] 0.0 [1] 0.0 [1] 65.0 [1] 0.0 [2] 0.0 [3]
|
||||
ih_gbar 20.0 [1] 3.5 [1] 0.5 [1] 0.5 [1] 2.0 [2] 30.0 [3]
|
||||
leak_gbar 2.0 [1] 2.0 [1] 2.0 [1] 2.0 [1] 2.0 [2] 2.0 [3]
|
||||
leak_erev -65 [1] -65 [1] -65 [1] -65 [1] -65 [2] -65 [3]
|
||||
na_type nacn [1] nacn [1] nacn [1] nacn [1] nacn [2] nacn [3]
|
||||
ih_type ihvcn [1] ihvcn [1] ihvcn [1] ihvcn [1] ihvcn [2] ihvcn [3]
|
||||
soma_Cap 12.0 [1] 12.0 [1] 12.0 [1] 12.0 [1] 12.0 [2] 25.0 [3]
|
||||
e_k -84 [1] -84 [1] -84 [1] -84 [2] -84 [2] -84 [2]
|
||||
e_na 50. [1] 50. [1] 50. [1] 50. [2] 50. [2] 50. [2]
|
||||
ih_eh -43 [1] -43 [1] -43 [1] -43 [2] -43 [2] -43 [2]
|
||||
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
[1] Rothman and Manis, 2003
|
||||
Age "adult", Temperature=22C
|
||||
Units are nS.
|
||||
|
||||
[2] Rothman and manis, 2003, model I-II
|
||||
Some low-voltage K current, based on observations of
|
||||
a single spike near threshold and regular firing for higher
|
||||
currents (Xie and Manis, 2017)
|
||||
|
||||
[3] Derived from Rothman and Manis, 2003, model II
|
||||
Large amounts of low-voltage K current, and elevated HCN. Conductances
|
||||
based on Rothman and Manis, 2003; concept from Cao and Oertel
|
||||
|
||||
[4] Designation for elevated LTK and Ih for octopus cells
|
||||
|
||||
""",
|
||||
)
|
||||
|
||||
add_table_data(
|
||||
"XM13_channels",
|
||||
row_key="field",
|
||||
col_key="model_type",
|
||||
species="mouse",
|
||||
data=u"""
|
||||
|
||||
This table describes the REFERENCE ion channel densities (and voltage shifts if necessary)
|
||||
for different cell types based on the Xie and Manis 2013 models for mouse.
|
||||
|
||||
The REFERENCE values are applied to "point" models, and to the soma of
|
||||
compartmental models.
|
||||
The names of the mechanisms must match a channel mechanism (Neuron .mod files)
|
||||
and the following _(gbar, vshift, etc) must match an attribute of that channel
|
||||
that can be accessed.
|
||||
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
II II-I I-c I-II I-t
|
||||
|
||||
nav11_gbar 0000. [4] 0000. [4] 000. [4] 0. [4] 3000. [4]
|
||||
nacn_gbar 1000. [1] 1000. [1] 3000. [1] 0000. [2] 0000. [1]
|
||||
na_gbar 1000. [1] 1000. [1] 3000. [1] 1800. [2] 0000. [1]
|
||||
kht_gbar 58.0 [1] 58.0 [1] 500.0 [1] 150.0 [2] 500.0 [1]
|
||||
klt_gbar 80.0 [1] 20.0 [1] 0.0 [1] 14.0 [3] 0.0 [1]
|
||||
ka_gbar 0.0 [1] 0.0 [1] 0.0 [1] 0.0 [2] 125.0 [1]
|
||||
ihvcn_gbar 30.0 [1] 30.0 [1] 18.0 [1] 2.0 [2] 18.0 [1]
|
||||
leak_gbar 2.0 [1] 2.0 [1] 8.0 [1] 2.0 [2] 8.0 [1]
|
||||
leak_erev -65 [1] -65 [1] -65 [1] -65 [2] -65 [1]
|
||||
na_type nacn [1] nav11 [1] nacn [1] na [3] nav11 [1]
|
||||
ih_type ihvcn [1] ihvcn [1] ihvcn [1] ihvcn [2] ihvcn [1]
|
||||
soma_Cap 26.0 [1] 26.0 [1] 25.0 [1] 25.0 [2] 25.0 [1]
|
||||
nav11_vshift 4.3 [1] 4.3 [1] 4.3 [1] 4.3 [1] 4.3 [1]
|
||||
e_k -84 [1] -84 [1] -84 [1] -70 [3] -84 [1]
|
||||
e_na 50. [1] 50. [1] 50. [1] 55. [3] 50. [1]
|
||||
ih_eh -43 [1] -43 [1] -43 [1] -43 [2] -43 [1]
|
||||
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
[1] Uses channels from Rothman and Manis, 2003
|
||||
Conductances are for Mouse bushy cells
|
||||
Xie and Manis, 2013
|
||||
Age "adult", Temperature=34C
|
||||
Units are nS.
|
||||
|
||||
[2] Rothman and manis, 2003, model I-II
|
||||
Some low-voltage K current, based on observations of
|
||||
a single spike near threshold and regular firing for higher
|
||||
currents (Xie and Manis, 2017)
|
||||
|
||||
[3] These values for the I-II (dstellate) are from the original checkpoint test
|
||||
for cnmodel 12/2017.
|
||||
|
||||
[4] nav11 channels were used in original Xie and Manis (2013) ms, but are not
|
||||
used for mice in the master distribution of cnmodel, which used only the nacn
|
||||
channels.
|
||||
|
||||
""",
|
||||
)
|
||||
|
||||
add_table_data(
|
||||
"XM13_channels_compartments",
|
||||
row_key="parameter",
|
||||
col_key="compartment",
|
||||
species="mouse",
|
||||
model_type="II",
|
||||
data=u"""
|
||||
|
||||
This table describes the ion channel densities relative to somatic densities,
|
||||
e.g., relative to REFERENCE densities in the table XM13_channels.
|
||||
and voltage shifts, for different compartments of the specified neuron,
|
||||
Conductances will be calculated from the Model derived from Xie and Manis 2013 for mouse
|
||||
(data table: mGVC_channels).
|
||||
|
||||
------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
axon unmyelinatedaxon myelinatedaxon initialsegment hillock soma dendrite primarydendrite secondarydendrite
|
||||
|
||||
nav11_gbar 3.0 [1] 3.0 [1] 0.0 [1] 5.0 [1] 5.0 [1] 1.0 [1] 0.5 [1] 0.50 [1] 0.25 [1]
|
||||
kht_gbar 1.0 [1] 2.0 [1] 0.01 [1] 2.0 [1] 2.0 [1] 1.0 [1] 0.5 [1] 0.5 [1] 0.25 [1]
|
||||
klt_gbar 1.0 [1] 1.0 [1] 0.01 [1] 1.0 [1] 1.0 [1] 1.0 [1] 0.5 [1] 0.5 [1] 0.25 [1]
|
||||
ihvcn_gbar 0.0 [1] 0.0 [1] 0.0 [1] 0.5 [1] 0.0 [1] 1.0 [1] 0.5 [1] 0.5 [1] 0.5 [1]
|
||||
leak_gbar 1.0 [1] 0.25 [1] 0.25e-3 [1] 1.0 [1] 1.0 [1] 1.0 [1] 0.5 [1] 0.5 [1] 0.5 [1]
|
||||
leak_erev -65. [1] -65. [1] -65. [1] -65. [1] -65. [1] -65. [1] -65. [1] -65. [1] -65. [1]
|
||||
nav11_vshift 4.3 [1] 4.3 [1] 0.0 [1] 4.3 [1] 4.3 [1] 0.0 [1] 0.0 [1] 0.0 [1] 0.0 [1]
|
||||
na_type nav11 nav11 nav11 nav11 nav11 nav11 nav11 nav11 nav11
|
||||
ih_type ihvcn ihvcn ihvcn ihvcn ihvcn ihvcn ihvcn ihvcn ihvcn
|
||||
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
[1] Scaling is relative to soma scaling. Numbers are estimates based on general distribution from literature on cortical neurons.
|
||||
|
||||
|
||||
""",
|
||||
)
|
||||
|
||||
|
||||
# ***** BEGINNING OF XM13_Channels for nacncoop version of model
|
||||
|
||||
|
||||
add_table_data(
|
||||
"XM13nacncoop_channels",
|
||||
row_key="field",
|
||||
col_key="model_type",
|
||||
species="mouse",
|
||||
data=u"""
|
||||
|
||||
This table describes the REFERENCE ion channel densities (and voltage shifts if necessary)
|
||||
for different cell types based on the Xie and Manis 2013 models for mouse, but using
|
||||
the nacncoop mechanism (coooperative sodium channels)
|
||||
|
||||
!!!!!!!!!!!! USAGE OF THIS TABLE SHOULD BE CONSIDERED EXPERIMENTAL !!!!!!!!!!!!!!
|
||||
|
||||
The REFERENCE values are applied to "point" models, and to the soma of
|
||||
compartmental models.
|
||||
The names of the mechanisms must match a channel mechanism (Neuron .mod files)
|
||||
and the following _(gbar, vshift, etc) must match an attribute of that channel
|
||||
that can be accessed.
|
||||
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
II II-I I-c I-II I-t
|
||||
|
||||
nacncoop_gbar 3000. [4] 1000. [4] 1000. [4] 1000. [4] 1000. [4]
|
||||
kht_gbar 58.0 [1] 58.0 [1] 500.0 [1] 150.0 [2] 500.0 [1]
|
||||
klt_gbar 80.0 [1] 20.0 [1] 0.0 [1] 14.0 [3] 0.0 [1]
|
||||
ka_gbar 0.0 [1] 0.0 [1] 0.0 [1] 0.0 [2] 125.0 [1]
|
||||
ihvcn_gbar 30.0 [1] 30.0 [1] 18.0 [1] 2.0 [2] 18.0 [1]
|
||||
leak_gbar 2.0 [1] 2.0 [1] 8.0 [1] 2.0 [2] 8.0 [1]
|
||||
leak_erev -65 [1] -65 [1] -65 [1] -65 [2] -65 [1]
|
||||
na_type nacncoop [1] nacncoop [1] nacncoop [1] nacncoop [3] nacncoop [1]
|
||||
ih_type ihvcn [1] ihvcn [1] ihvcn [1] ihvcn [2] ihvcn [1]
|
||||
soma_Cap 26.0 [1] 26.0 [1] 25.0 [1] 25.0 [2] 25.0 [1]
|
||||
nacncoop_vshift 0.0 [1] 0.0 [1] 0.0 [1] 0.0 [1] 0.0 [1]
|
||||
e_k -84 [1] -84 [1] -84 [1] -70 [3] -84 [1]
|
||||
e_na 50. [1] 50. [1] 50. [1] 55. [3] 50. [1]
|
||||
ih_eh -43 [1] -43 [1] -43 [1] -43 [2] -43 [1]
|
||||
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
[1] Uses channels from Xie and Manis, 2013
|
||||
Age "adult", Temperature=34C
|
||||
Units are nS.
|
||||
|
||||
[2] Rothman and manis, 2003, model I-II
|
||||
Some low-voltage K current, based on observations of
|
||||
a single spike near threshold and regular firing for higher
|
||||
currents (Xie and Manis, 2017)
|
||||
|
||||
[3] These values for the I-II (dstellate) are from the original checkpoint test
|
||||
for cnmodel 12/2017.
|
||||
|
||||
[4] nav11 channels were used in original Xie and Manis (2013) ms,
|
||||
However, this version uses cooperative na channels for faster activation
|
||||
|
||||
""",
|
||||
)
|
||||
|
||||
add_table_data(
|
||||
"XM13nacncooop_channels_compartments",
|
||||
row_key="parameter",
|
||||
col_key="compartment",
|
||||
species="mouse",
|
||||
model_type="II",
|
||||
data=u"""
|
||||
|
||||
!!!!!!!!!!!! USAGE OF THIS TABLE SHOULD BE CONSIDERED EXPERIMENTAL !!!!!!!!!!!!!!
|
||||
|
||||
This table describes the ion channel densities relative to somatic densities,
|
||||
e.g., relative to REFERENCE densities in the table XM13_nacncoop_channels.
|
||||
and voltage shifts, for different compartments of the specified neuron,
|
||||
Conductances will be calculated from the Model derived from Xie and Manis 2013 for mouse
|
||||
|
||||
------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
axon unmyelinatedaxon myelinatedaxon initialsegment hillock soma dendrite primarydendrite secondarydendrite
|
||||
|
||||
nacncoop_gbar 3.0 [1] 3.0 [1] 0.0 [1] 5.0 [1] 5.0 [1] 1.0 [1] 0.5 [1] 0.50 [1] 0.25 [1]
|
||||
kht_gbar 1.0 [1] 2.0 [1] 0.01 [1] 2.0 [1] 2.0 [1] 1.0 [1] 0.5 [1] 0.5 [1] 0.25 [1]
|
||||
klt_gbar 1.0 [1] 1.0 [1] 0.01 [1] 1.0 [1] 1.0 [1] 1.0 [1] 0.5 [1] 0.5 [1] 0.25 [1]
|
||||
ihvcn_gbar 0.0 [1] 0.0 [1] 0.0 [1] 0.5 [1] 0.0 [1] 1.0 [1] 0.5 [1] 0.5 [1] 0.5 [1]
|
||||
leak_gbar 1.0 [1] 0.25 [1] 0.25e-3 [1] 1.0 [1] 1.0 [1] 1.0 [1] 0.5 [1] 0.5 [1] 0.5 [1]
|
||||
leak_erev -65. [1] -65. [1] -65. [1] -65. [1] -65. [1] -65. [1] -65. [1] -65. [1] -65. [1]
|
||||
nacncoop_vshift 0.0 [1] 0.0 [1] 0.0 [1] 0.0 [1] 0.0 [1] 0.0 [1] 0.0 [1] 0.0 [1] 0.0 [1]
|
||||
na_type nacncoop nacncoop nacncoop nacncoop nacncoop nacncoop nacncoop nacncoop nacncoop
|
||||
ih_type ihvcn ihvcn ihvcn ihvcn ihvcn ihvcn ihvcn ihvcn ihvcn
|
||||
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
[1] Scaling is relative to soma scaling. Numbers are estimates based on general distribution from literature on cortical neurons.
|
||||
|
||||
|
||||
""",
|
||||
)
|
||||
|
||||
# ***** END OF XM13_Channels for nacncoop version of model
|
||||
|
||||
add_table_data(
|
||||
"mGBC_channels",
|
||||
row_key="field",
|
||||
col_key="model_type",
|
||||
species="mouse",
|
||||
data=u"""
|
||||
|
||||
This table describes the REFERENCE ion channel densities (and voltage shifts if necessary)
|
||||
for different cell types based on the Xie and Manis 2013 models for mouse.
|
||||
|
||||
The REFERENCE values are applied to "point" models, and to the soma of
|
||||
compartmental models.
|
||||
The names of the mechanisms must match a channel mechanism (Neuron .mod files)
|
||||
and the following _(gbar, vshift, etc) must match an attribute of that channel
|
||||
that can be accessed.
|
||||
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
II II-I I-c I-II I-t
|
||||
|
||||
nav11_gbar 1600. [1] 1600. [1] 3000. [1] 1600. [2] 3000. [1]
|
||||
kht_gbar 58.0 [1] 58.0 [1] 500.0 [1] 150.0 [2] 500.0 [1]
|
||||
klt_gbar 80.0 [1] 14.0 [1] 0.0 [1] 20.0 [2] 0.0 [1]
|
||||
ka_gbar 0.0 [1] 0.0 [1] 0.0 [1] 0.0 [2] 125.0 [1]
|
||||
ihvcn_gbar 30.0 [1] 30.0 [1] 18.0 [1] 2.0 [2] 18.0 [1]
|
||||
leak_gbar 2.0 [1] 2.0 [1] 8.0 [1] 2.0 [2] 8.0 [1]
|
||||
leak_erev -65 [1] -65 [1] -65 [1] -65 [2] -65 [1]
|
||||
na_type nav11 [1] nav11 [1] nav11 [1] nav11 [1] nav11 [1]
|
||||
ih_type ihvcn [1] ihvcn [1] ihvcn [1] ihvcn [2] ihvcn [1]
|
||||
soma_Cap 26.0 [1] 26.0 [1] 25.0 [1] 26.0 [2] 25.0 [1]
|
||||
nav11_vshift 4.3 [1] 4.3 [1] 4.3 [1] 4.3 [1] 4.3 [1]
|
||||
e_k -84 [1] -84 [1] -84 [1] -84 [2] -84 [1]
|
||||
e_na 50. [1] 50. [1] 50. [1] 50. [2] 50. [1]
|
||||
ih_eh -43 [1] -43 [1] -43 [1] -43 [2] -43 [1]
|
||||
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
[1] Uses channels from Rothman and Manis, 2003, except for Na channels
|
||||
Conductances are for Mouse bushy cells
|
||||
Xie and Manis, 2013
|
||||
Age "adult", Temperature=34C
|
||||
Units are nS.
|
||||
|
||||
[2] Rothman and Manis, 2003, model I-II
|
||||
Some low-voltage K current, based on observations of
|
||||
a single spike near threshold and regular firing for higher
|
||||
currents (Xie and Manis, 2017)
|
||||
|
||||
|
||||
""",
|
||||
)
|
||||
|
||||
|
||||
add_table_data(
|
||||
"mGBC_channels_compartments",
|
||||
row_key="parameter",
|
||||
col_key="compartment",
|
||||
species="mouse",
|
||||
model_type="II",
|
||||
data=u"""
|
||||
|
||||
This table describes the ion channel densities relative to somatic densities,
|
||||
e.g., relative to REFERENCE densities in the table XM13_channels.
|
||||
and voltage shifts, for different compartments of the specified neuron,
|
||||
Conductances will be calculated from the Model for Xie and Manis 2013 for mouse
|
||||
(data table: XM13_channels).
|
||||
|
||||
------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
axon unmyelinatedaxon myelinatedaxon initialsegment hillock soma dendrite primarydendrite secondarydendrite
|
||||
|
||||
nav11_gbar 3.0 [1] 3.0 [1] 0.0 [1] 3.0 [1] 2.0 [1] 1.0 [1] 0.25 [1] 0.25 [1] 0.25 [1]
|
||||
kht_gbar 1.0 [1] 2.0 [1] 0.01 [1] 2.0 [1] 2.0 [1] 1.0 [1] 0.5 [1] 0.5 [1] 0.25 [1]
|
||||
klt_gbar 1.0 [1] 1.0 [1] 0.01 [1] 1.0 [1] 1.0 [1] 1.0 [1] 0.5 [1] 0.5 [1] 0.25 [1]
|
||||
ihvcn_gbar 0.0 [1] 0.0 [1] 0.0 [1] 0.5 [1] 0.0 [1] 1.0 [1] 0.5 [1] 0.5 [1] 0.5 [1]
|
||||
leak_gbar 1.0 [1] 0.25 [1] 0.25e-3 [1] 1.0 [1] 1.0 [1] 1.0 [1] 0.5 [1] 0.5 [1] 0.5 [1]
|
||||
leak_erev -65. [1] -65. [1] -65. [1] -65. [1] -65. [1] -65. [1] -65. [1] -65. [1] -65. [1]
|
||||
nav11_vshift 4.3 [1] 4.3 [1] 0.0 [1] 4.3 [1] 4.3 [1] 0.0 [1] 0.0 [1] 0.0 [1] 0.0 [1]
|
||||
na_type nav11 nav11 nav11 nav11 nav11 nav11 nav11 nav11 nav11
|
||||
ih_type ihvcn ihvcn ihvcn ihvcn ihvcn ihvcn ihvcn ihvcn ihvcn
|
||||
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
[1] Scaling is relative to soma scaling. Numbers are estimates based on general distribution from literature on cortical neurons.
|
||||
|
||||
|
||||
""",
|
||||
)
|
||||
|
||||
|
||||
add_table_data(
|
||||
"POK_channels",
|
||||
row_key="field",
|
||||
col_key="cell_type",
|
||||
species="rat",
|
||||
data=u"""
|
||||
|
||||
This table describes the ion channel densities and voltage shifts for rat DCN pyramidal cells,
|
||||
from Kanold and Manis, 2001
|
||||
|
||||
------------------------------------------------------------------------------------------------------------------------------------------
|
||||
pyramidal
|
||||
|
||||
soma_napyr_gbar 350.0 [1]
|
||||
soma_nap_gbar 0.
|
||||
soma_kdpyr_gbar 80.0 [1]
|
||||
soma_kcnq_gbar 0.
|
||||
soma_kif_gbar 150.0 [1]
|
||||
soma_kis_gbar 40.0 [1]
|
||||
soma_ihpyr_gbar 2.8 [1]
|
||||
soma_leak_gbar 2.8 [1]
|
||||
soma_leak_erev -62.0 [1]
|
||||
soma_e_na 50. [1]
|
||||
soma_e_k -81.5 [1]
|
||||
soma_e_h -43.0 [1]
|
||||
soma_natype napyr
|
||||
soma_Cap 12 [1]
|
||||
------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
[1] Kanold and Manis, 1999, 2001, 2005
|
||||
Age P11-14, Temperature=22C
|
||||
Units are nS.
|
||||
[2] Adjustable q10 added for fitting
|
||||
soma_ihpyr_adj_q10 1.0 [2] (removed for testing)
|
||||
|
||||
""",
|
||||
)
|
||||
|
||||
add_table_data(
|
||||
"CW_channels",
|
||||
row_key="field",
|
||||
col_key="cell_type",
|
||||
species="mouse",
|
||||
data=u"""
|
||||
|
||||
This table describes the ion channel densities and voltage shifts
|
||||
for a mouse carthweel cell model.
|
||||
Ad-hoc model, based on a Purkinje cell model (ref [1]).
|
||||
|
||||
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
cartwheel
|
||||
|
||||
soma_narsg_gbar 500.0 [1]
|
||||
soma_bkpkj_gbar 2.0
|
||||
soma_kpkj_gbar 100. [1]
|
||||
soma_kpkj2_gbar 50.
|
||||
soma_kpkjslow_gbar 150 [1]
|
||||
soma_kpksk_gbar 25.0 [1]
|
||||
soma_lkpkj_gbar 5.0 [1]
|
||||
soma_hpkj_gbar 5.0 [1]
|
||||
soma_e_na 50. [1]
|
||||
soma_e_k -80.0 [1]
|
||||
soma_hpkj_eh -43.0 [1]
|
||||
soma_lkpkj_e -65.0 [1]
|
||||
soma_e_ca 50.
|
||||
soma_na_type narsg
|
||||
soma_pcabar 0.00015 [1]
|
||||
soma_Dia 18
|
||||
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
[1] Channels from Khaliq, Gouwens and Raman, J. Neurosci. 2003
|
||||
Conductance levels modified.
|
||||
|
||||
""",
|
||||
)
|
||||
|
||||
add_table_data(
|
||||
"TV_channels",
|
||||
row_key="field",
|
||||
col_key="cell_type",
|
||||
species="mouse",
|
||||
data=u"""
|
||||
|
||||
This table describes the ion channel densities and voltage shifts
|
||||
for a mouse tuberculoventral cell model.
|
||||
Ad-hoc model, based on the t-stellate cell model, but adjusted
|
||||
to match the data from Kuo and Trussell.
|
||||
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
TVmouse
|
||||
|
||||
soma_nacncoop_gbar 5800.0 [2]
|
||||
soma_kht_gbar 400.0 [1]
|
||||
soma_ihvcn_gbar 2.5 [2]
|
||||
soma_ka_gbar 65.0 [1]
|
||||
soma_leak_gbar 4.5 [1]
|
||||
soma_leak_erev -72.0 [1]
|
||||
soma_e_na 50. [1]
|
||||
soma_e_k -81.5 [1]
|
||||
soma_ihvcn_eh -43.0 [1]
|
||||
soma_na_type nacncoop [2]
|
||||
soma_Cap 35 [1]
|
||||
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
[1] Values obtained from brute force runs and comparision to
|
||||
FI curve from Kuo, Lu and Trussell, J Neurophysiol. 2012 Aug 15;
|
||||
108(4): 1186–1198.
|
||||
|
||||
[2] Cooperative sodium channel model, based on (see the mechanisms folder)
|
||||
concepts and implementation similar to Oz et al. J.Comp. Neurosci. 39: 63, 2015,
|
||||
and Huang et al., PloSOne 7:e37729, 2012.
|
||||
|
||||
|
||||
""",
|
||||
)
|
||||
|
||||
add_table_data(
|
||||
"sgc_mouse_channels",
|
||||
row_key="field",
|
||||
col_key="cell_type",
|
||||
species="mouse",
|
||||
data=u"""
|
||||
|
||||
This table describes the ion channel densities (and voltage shifts if necessary)
|
||||
for SGC cells, based on
|
||||
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
sgc-a sgc-bm
|
||||
|
||||
sgc_name a bm
|
||||
soma_na_gbar 350. [2] 350. [2]
|
||||
soma_kht_gbar 58.0 [1] 58.0 [1]
|
||||
soma_klt_gbar 80.0 [1] 80.0 [1]
|
||||
soma_ihap_gbar 3.0 [3] 0.0 [1]
|
||||
soma_ihap_eh -41.0 [3] -41.0 [3]
|
||||
soma_ihbm_gbar 0.0 [3] 3.0 [3]
|
||||
soma_ihbm_eh -41.0 [3] -41.0 [3]
|
||||
soma_leak_gbar 2.0 [1] 2.0 [1]
|
||||
soma_leak_erev -65 [1] -65 [1]
|
||||
soma_na_type jsrna [2] jsrna [2]
|
||||
soma_Cap 12.0 [1] 12.0 [1]
|
||||
soma_e_k -84 [1] -84 [1]
|
||||
soma_e_na 50. [1] 50. [1]
|
||||
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
[1] Model is based on the mouse bushy cell model (XM13, above),
|
||||
but with a fast sodium channel from Rothman et al, 1993. and Ih currents
|
||||
from Liu et al. 2014
|
||||
|
||||
[2] Sodium channel from Rothman, Young and Manis, J Neurophysiol. 1993 Dec;70(6):2562-83.
|
||||
|
||||
[3] Ih Currents from Liu, Manis, Davis, J Assoc Res Otolaryngol. 2014 Aug;15(4):585-99.
|
||||
doi: 10.1007/s10162-014-0446-z. Epub 2014 Feb 21.
|
||||
Age "P10" (cultured SGC cells), Original data temperature=22C.
|
||||
Units are nS.
|
||||
|
||||
""",
|
||||
)
|
||||
|
||||
|
||||
add_table_data(
|
||||
"sgc_guineapig_channels",
|
||||
row_key="field",
|
||||
col_key="cell_type",
|
||||
species="guineapig",
|
||||
data=u"""
|
||||
|
||||
This table describes the ion channel densities (and voltage shifts if necessary)
|
||||
for a model SGC cell, which is based on a bushy cell with a different Na channel.
|
||||
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
sgc-a sgc-bm
|
||||
|
||||
sgc_name a bm
|
||||
soma_na_gbar 1000. [2] 1000. [2]
|
||||
soma_kht_gbar 150.0 [1] 150.0 [1]
|
||||
soma_klt_gbar 200.0 [1] 200.0 [1]
|
||||
soma_ihap_gbar 3.0 [3] 0.0 [3]
|
||||
soma_ihap_eh -41.0 [3] -41.0 [3]
|
||||
soma_ihbm_gbar 0.0 [3] 3.0 [3]
|
||||
soma_ihbm_eh -41.0 [3] -41.0 [3]
|
||||
soma_leak_gbar 2.0 [1] 2.0 [1]
|
||||
soma_leak_erev -65 [1] -65 [1]
|
||||
soma_na_type jsrna [2] jsrna [2]
|
||||
soma_Cap 12.0 [1] 12.0 [1]
|
||||
soma_e_k -84 [1] -84 [1]
|
||||
soma_e_na 50. [1] 50. [1]
|
||||
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
[1] Model is based on the guinea pig bushy cell model (RM03, above),
|
||||
but with a fast sodium channel from Rothman et al, 1993. and Ih currents
|
||||
from Liu et al. 2014
|
||||
|
||||
[2] Sodium channel from Rothman, Young and Manis, J Neurophysiol. 1993 Dec;70(6):2562-83.
|
||||
|
||||
[3] Ih Currents from Liu, Manis, Davis, J Assoc Res Otolaryngol. 2014 Aug;15(4):585-99.
|
||||
doi: 10.1007/s10162-014-0446-z. Epub 2014 Feb 21.
|
||||
Age "P10" (cultured SGC cells), Temperature=22C.
|
||||
Units are nS.
|
||||
|
||||
""",
|
||||
)
|
||||
|
||||
add_table_data(
|
||||
"MSO_principal_channels",
|
||||
row_key="field",
|
||||
col_key="cell_type",
|
||||
species="guineapig",
|
||||
data=u"""
|
||||
|
||||
This table describes the ion channel densities
|
||||
for a putative MSO principal neuron based on the original Rothman Manis 2003 model for bushy cells.
|
||||
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
MSO-principal
|
||||
|
||||
MSO_name Principal
|
||||
soma_na_gbar 1000. [1]
|
||||
soma_kht_gbar 150.0 [1]
|
||||
soma_klt_gbar 200.0 [1]
|
||||
soma_ka_gbar 0.0 [1]
|
||||
soma_ih_gbar 20.0 [1]
|
||||
soma_leak_gbar 2.0 [1]
|
||||
soma_leak_erev -65 [1]
|
||||
soma_na_type nacn [1]
|
||||
soma_ih_type ihvcn [1]
|
||||
soma_Cap 12.0 [1]
|
||||
soma_e_k -84 [1]
|
||||
soma_e_na 50. [1]
|
||||
soma_ih_eh -43 [1]
|
||||
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
[1] This MSO neuron model is basied on Rothman and Manis, 2003 bushy cell, type II
|
||||
Age "adult", Temperature=22C
|
||||
Units are nS.
|
||||
|
||||
|
||||
""",
|
||||
)
|
||||
37
cnmodel/data/populations.py
Normal file
37
cnmodel/data/populations.py
Normal file
@@ -0,0 +1,37 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
from ._db import add_table_data
|
||||
|
||||
add_table_data(
|
||||
"populations",
|
||||
row_key="field",
|
||||
col_key="cell_type",
|
||||
species="mouse",
|
||||
data=u"""
|
||||
|
||||
-----------------------------------------------------------------------------------------------------
|
||||
sgc bushy tstellate dstellate octopus pyramidal tuberculoventral
|
||||
|
||||
n_cells 10000 [1] 6500 [2] 6500 [2] 650 [3] 5000 3000 5000
|
||||
cf_min 2000 2000 2000 2000 2000 2000 2000
|
||||
cf_max 90000 90000 90000 90000 90000 90000 90000
|
||||
-----------------------------------------------------------------------------------------------------
|
||||
|
||||
[1] ?
|
||||
|
||||
[2] Rough estimate from allen brain atlas data:
|
||||
Volume of VCN is 0.377 mm^3, by counting voxels with 'VCO' (101) label in Common Coordinate Framework atlas.
|
||||
753370 voxels * 0.5 * 10e-6**3 m^3/vox = 0.377 mm^3
|
||||
Counted Slc17a7 (pan-excitatory) cell bodies in a 500x500 um chunk of VCN
|
||||
http://mouse.brain-map.org/experiment/siv?id=69014470&imageId=68856767&initImage=ish&coordSystem=pixel&x=7616.5&y=4144.5&z=1
|
||||
266 cells in 500x500 um = 34707 cells / mm^2
|
||||
34707**3/2 * 0.377 mm^3 = 13084 cells total
|
||||
Assume half are bushy, half are T-stellate
|
||||
|
||||
[3] Rough estimate from allen brain atlas data:
|
||||
Similar to [2], using Gad1 inhibitory marker
|
||||
http://mouse.brain-map.org/experiment/siv?id=75492764&imageId=75405134&initImage=ish&coordSystem=pixel&x=5320.5&y=3232.5&z=1
|
||||
36 cells in 500x500 um = 144e6 / m^2 ~= 1728 / mm^2
|
||||
= 651 cells total (VCN, unilateral)
|
||||
|
||||
""",
|
||||
)
|
||||
503
cnmodel/data/synapses.py
Normal file
503
cnmodel/data/synapses.py
Normal file
@@ -0,0 +1,503 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
from ._db import add_table_data
|
||||
|
||||
# sgc old weights:
|
||||
# bushy tstellate dstellate octopus pyramidal tuberculoventral
|
||||
# weight 0.027 [12] 0.006 [12] 0.00064 [12] 0.0011 [12] 0.0023 [12] 0.0029 [12]
|
||||
# tau1 0.1 [5] 0.1 [5] 0.2 [5] 0.1 [5] 0.1 [5] 0.1 [5]
|
||||
# tau2 0.3 [5] 0.3 [5] 0.5 [5] 0.3 [5] 0.3 [5] 0.3 [5]
|
||||
# erev 0 [5] 0 [5] 0 [5] 0 [5] 0 [5] 0 [5]
|
||||
|
||||
add_table_data(
|
||||
"sgc_synapse",
|
||||
row_key="field",
|
||||
col_key="post_type",
|
||||
species="mouse",
|
||||
data=u"""
|
||||
|
||||
AMPA_gmax and NMDA_gmax are the estimated average peak conductances (in nS)
|
||||
resulting from an action potential in a single auditory nerve terminal, under
|
||||
conditions that minimize the effects of short-term plasticity.
|
||||
AMPA_gmax are from values measured at -65 mV (or -70mV), and represent SINGLE TERMINAL
|
||||
conductances
|
||||
AMPAR_gmax are the individual synapse postsynaptic conductance
|
||||
NMDA_gmax values are taken as the fraction of the current that is NMDAR dependent
|
||||
at +40 mV (see below)
|
||||
|
||||
n_rsites is the number of release sites per SGC terminal.
|
||||
|
||||
---------------------------------------------------------------------------------------------------------------------------------------
|
||||
bushy tstellate dstellate octopus pyramidal tuberculoventral cartwheel
|
||||
|
||||
AMPA_gmax 21.05±15.4 [1] 4.6±3.1 [2] 0.49±0.29 [7] 0.87±0.23 [3] 0.6±0.3 [8] 2.2±1.5 [8] 0
|
||||
AMPAR_gmax 4.6516398 [10] 4.632848 [10] 1.7587450 [10] 16.975147 [10] 0.9 [8] 2.2 [8] 0
|
||||
NMDA_gmax 10.8±4.6 [1] 2.4±1.6 [2] 0.552±0.322 [7] 0.17±0.046 [3] 0.4±0.33 [8] 2.4±1.6 [8] 0
|
||||
NMDAR_gmax 0.4531933 [10] 1.2127097 [10] 0.9960820 [10] 0.6562702 [10] 0.2 [8] 1.2127097 [8] 0
|
||||
NMDAR_vsh -15.0 [12] -15.0 [12] -15.0 [12] -15.0 [12] -15.0 [12] -15.0 [12] 0
|
||||
NMDAR_vshift 0.0 [12] 0.0 [12] 0.0 [12] 0.0 [12] 0.0 [12] 0.0 [12] 0
|
||||
EPSC_cv 0.12 [8] 0.499759 [9] 0.886406 [9] 1.393382 [9] 0.499 [8] 0.499 [8] 0
|
||||
Pr 1.000 [11] 1.000 [11] 1.000 [11] 1.000 [11] 1.000 [8] 1.000 [8] 0
|
||||
n_rsites 100 [5] 4 [6] 1 [4] 1 [4] 2 [8] 2 [8] 0
|
||||
delay 0.600 0.600 0.600 0.600 0.600 0.600 0
|
||||
weight 0.020377 0.003679 0.000457 0.001311 0.000327 0.000808 0
|
||||
tau1 0.158 0.174 0.152 0.125 0.167 0.157 0
|
||||
tau2 0.246 1.501 1.652 0.251 1.489 1.641 0
|
||||
erev 0.0 0.0 0.0 0.0 0.0 0.0 0
|
||||
----------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
[1] Derived from Cao, X. & Oertel, D. (2010). Single-terminal conductance was
|
||||
reported as 21.5±15.4 nS (1.4±1.0 nA at -65 mV). The ratio of NMDA current to
|
||||
total current is 0.3, so AMPA and NMDA currents are:
|
||||
AMPA_gmax = 21.5±15.4 nS (measured at -65 mV)
|
||||
NMDA_gmax = 21.5±15.4 nS * 0.3 = 10.8±4.6 nS
|
||||
Age>p17, Temperature=33C, [Mg2+]=1.3mM, [Ca2+]=2.4mM
|
||||
Units are nS.
|
||||
See also Pliss et al., J. Neurophys., 2009 (and note [12])
|
||||
|
||||
[2] Derived from Cao, X. & Oertel, D. (2010). Single-terminal conductance was
|
||||
estimated as 4.6±3.1 nS. The ratio of NMDA current to
|
||||
total current is 0.53, so AMPA and NMDA currents are:
|
||||
AMPA_gmax = 4.6±3.1 nS
|
||||
NMDA_gmax = 4.6±3.1 nS * 0.53 = 2.4±1.6 nS
|
||||
Estimated number of inputs per AN fiber:
|
||||
0.3 nA step, 0.08 nA mini size = ~ 4 inputs per AN fiber
|
||||
Age>p17, Temperature=33C, [Mg2+]=1.3mM, [Ca2+]=2.4mM
|
||||
Units are nS
|
||||
|
||||
[3] Derived from Cao, X. & Oertel, D. (2010). Single-terminal conductance was
|
||||
estimated as 52±14 nS / 60 = 0.87±0.23 nS. The ratio of NMDA current to
|
||||
total current is 0.2, so AMPA and NMDA currents are:
|
||||
AMPA_gmax = 0.87±0.23 nS
|
||||
NMDA_gmax = 0.87±0.23 nS * 0.2 = 0.17±0.046 nS
|
||||
Age>p17, Temperature=33C, [Mg2+]=1.3mM, [Ca2+]=2.4mM
|
||||
Units are nS
|
||||
|
||||
[4] Assumption based on mini size and lack of discernable EPSC step (guess).
|
||||
Should be verified.
|
||||
|
||||
[5] Oleskevich & Walmsley ~2002, Wang & Manis 2005. Units are nS
|
||||
|
||||
[6] A value of 45 would be chosen to satisfy the CV of EPSC amplitude determined in [9].
|
||||
However, those measures are for simultaneous stimulation of multiple AN fibers.
|
||||
A value of 4 is included here to correspond to measures in Cao and Oertel (2010)
|
||||
(see note [2])
|
||||
|
||||
[7] (Xie and Manis, Frontiers in Neural Circuits, 2017):
|
||||
Measurements from CBA/CaJ mouse "radiate" multipolar cells in the AVCN.
|
||||
Single terminal conductance = (1.2 ± 0.70 nA/70 mV)/ 35 inputs = 0.490 ± 0.286 nS
|
||||
(see connections.py)
|
||||
Single terminal conductance from mini = 34 pA/70 mV = 0.486 nS (single mini)
|
||||
Assume same AMPA/NMDA ratio as tstellate cells, but measures made where NMDA = 0
|
||||
(at negative V):
|
||||
AMPA_gmax = 0.490±0.286 nS
|
||||
NMDA_gmax = 0.490±0.286 nS * 0.53/0.47 = 0.552±0.322 nS
|
||||
Age > P35, Temperature=34C, [Mg2+]=1.5mM, [Ca2+]=2.5mM
|
||||
|
||||
[8] Thin air. These are for testing the software, not necessarily for performing
|
||||
real simulations. Note: Pyramidal cell strength has been reduced
|
||||
because of large convergence and high input resistance of the reference cell model.
|
||||
Release 1 (Nov 2017):
|
||||
pyramidal
|
||||
|
||||
0.6 ±1.05 [8]
|
||||
1.8 [8]
|
||||
0.8±0.66 [8]
|
||||
0.4 [8]
|
||||
-15.0 [12]
|
||||
0.499 [8]
|
||||
1.000 [8]
|
||||
2 [8]
|
||||
|
||||
|
||||
[9] Reanalysis of evoked EPSCs in stellate cells (Manis/Xie, 2014)
|
||||
|
||||
[10] Maximum AMPA open conductance per synaptic site (units are pS).
|
||||
These values are calculated by running python cnmodel/synapses/tests/test_psd.py
|
||||
for a specific cell type (if the cell uses the receptor mechanisms; this is
|
||||
not necessary for simple exp2syn style mechanisms)
|
||||
to ensure that maximum AMPA conductance during PSG matches [1, 2 or 3]
|
||||
For a bushy cell, the original default values (bushy cell) were:
|
||||
AMPAR_gmax 3.314707700918133
|
||||
NMDAR_gmax 0.4531929783503451
|
||||
These values will also depend on the number of release sites per
|
||||
synapse (the total conductance is produce of site gmax and nsites).
|
||||
|
||||
A note on the precision of these values: This precision is only
|
||||
required for the tests of the model, as a way of ensuring numerical
|
||||
equivalency after potential modifications of the code. The precision
|
||||
of the value is in no way intended to specificy biological precision.
|
||||
|
||||
For example, a change in the rate constants in the AMPA_Trussell AMPA
|
||||
receptor model could (and probably would) change the open probability,
|
||||
and therefore the maximal conductance of an EPSC. However, as this is
|
||||
only a representation of the EPSC, the "receptor" conductance should
|
||||
be scaled so that the computed EPSC has the same maximal conductance
|
||||
as prior to the kinetic modifications. Because the receptor model is
|
||||
numerically computed (and not analytically tractable without
|
||||
additional knowledge of the ligand time course), a numerical solution
|
||||
is required.
|
||||
|
||||
[11] Pr is the initial release probability. The value can be computed by
|
||||
setting Pr to 1 in this file, and running the cnmodel test_synapses.py
|
||||
with the appropriate presynaptic source and postsynaptic target,
|
||||
once all other parameters are set. The Pr is used to rescale
|
||||
the AMPAR_gmax so that the total current matches the data in
|
||||
AMPA_gmax in the table (on average).
|
||||
|
||||
[12] NMDA_vshift is the voltage shift for the activation of the NMDAR's, relative
|
||||
to 0 (standard in the NMDA_Kampa model). A negative value shifts the voltage
|
||||
dependence to the right (depolarizing).
|
||||
The value of the shift here (-15 mV) was chosen based on an exploration
|
||||
of fitting functions against the NMDA-Kampa IV curve in an SGC-bushy cell
|
||||
model, and comparing them against data. The functions were the modified
|
||||
Woodhull function and a Boltzmann function, yielding values of 1.19 mM for
|
||||
k0 and 0.78 for delta (tau decay at +40 mV of 16.4 ms), and Vr -3 mV, Vh
|
||||
16 mV for the Boltzmann fit. These are close to the values reported in
|
||||
for NMDA currents in p14-p26 CBA/CaJ mice in Pliss et al. (J. Neurophys.
|
||||
102, 2627, 2009). Note: Pliss et al. agree with Cao and Oertel regarding
|
||||
an approximate 10-fold difference between AMPA and NMDA conductance in
|
||||
mouse bushy cells. An exact fit was not obtained, but no other parameters
|
||||
of the NMDA_Kampa model were changed.
|
||||
|
||||
[13] weight is the weight to use in a netcon object (NEURON) for "simple"
|
||||
synapses based on the exp2syn mechanism.
|
||||
Parameters Weight, tau1, tau2, delay and erev from comare_simple_multisynapses
|
||||
run and curve fitting (all cells)
|
||||
|
||||
""",
|
||||
)
|
||||
|
||||
|
||||
add_table_data(
|
||||
"sgc_ampa_kinetics",
|
||||
row_key="field",
|
||||
col_key="post_type",
|
||||
species="mouse",
|
||||
data=u"""
|
||||
AMPA receptor kinetic values obtained by fitting the model of Raman and
|
||||
Trussell (1992) to measured EPSCs in the mouse VCN.
|
||||
|
||||
Ro1, Ro2, Rc1, Rc2, and PA are kinetic constants affecting the AMPA receptor
|
||||
mechanism. tau_g and A affect the speed and amplitude of transmitter release
|
||||
(implemented in the presynaptic release mechanism).
|
||||
These parameters were selected to fit the model output to known EPSC shapes.
|
||||
|
||||
PA is a polyamine block parameter ued in the AMPAR mechanism (concentration in micromolar).
|
||||
|
||||
------------------------------------------------------------------------------------------------
|
||||
bushy tstellate dstellate pyramidal octopus tuberculoventral mso
|
||||
|
||||
Ro1 107.85 [4] 39.25 [4] 39.25 [7] 39.25 [4] 107.85 [5] 39.25 [7] 107.85 [4]
|
||||
Ro2 0.6193 [4] 4.40 [4] 4.40 [7] 4.40 [4] 0.6193 [5] 4.40 [7] 0.6193 [4]
|
||||
Rc1 3.678 [4] 0.667 [4] 0.667 [7] 0.667 [4] 3.678 [5] 0.667 [7] 3.678 [4]
|
||||
Rc2 0.3212 [4] 0.237 [4] 0.237 [7] 0.237 [4] 0.3212 [5] 0.237 [7] 0.3212 [4]
|
||||
tau_g 0.10 [4] 0.25 [4] 0.25 [7] 0.25 [4] 0.10 [5] 0.25 [4] 0.10 [4]
|
||||
amp_g 0.770 [4] 1.56625 [4] 1.56625 [7] 1.56625 [4] 0.770 [5] 1.56625 [4] 0.770 [4]
|
||||
|
||||
PA 45 [12] 0.1 [12] 0.1 [7] 0.1 [12] 45 [5] 0.1 [7] 45 [12]
|
||||
|
||||
------------------------------------------------------------------------------------------------
|
||||
|
||||
[4] Xie & Manis 2013, Table 2
|
||||
|
||||
[5] copied from bushy cells; no direct data.
|
||||
|
||||
[7] Data copied from t-stellate column (no literature on these cells). Unpublished data suggests these
|
||||
should be slightly different, but is complicated by electrotonically distant synaptic sites that
|
||||
preclude accurate measurement of kinetics.
|
||||
|
||||
[12] Wang & Manis (unpublished)
|
||||
|
||||
""",
|
||||
)
|
||||
|
||||
|
||||
add_table_data(
|
||||
"sgc_epsp_kinetics",
|
||||
row_key="field",
|
||||
col_key="post_type",
|
||||
species="mouse",
|
||||
data=u"""
|
||||
|
||||
EPSC shape parameters obtained from fits of Xie & Manis 2013 Equation 3 to measured EPSCs.
|
||||
|
||||
------------------------------------------------------------------------------------------------
|
||||
bushy tstellate dstellate pyramidal octopus tuberculoventral
|
||||
|
||||
tau_r 0.253 [11] 0.19 [11] 0.253 [13]
|
||||
tau_f 0.16 [11] 1.073 [11] 0.16 [13]
|
||||
tau_s 0.765 [11] 3.3082 [11] 0.765 [13]
|
||||
F 0.984 [11] 0.917 [11] 0.984 [13]
|
||||
|
||||
------------------------------------------------------------------------------------------------
|
||||
|
||||
[11] Xie & Manis 2013, Table 3
|
||||
[13] Copied from bushy cells; no direct data
|
||||
|
||||
""",
|
||||
)
|
||||
|
||||
|
||||
add_table_data(
|
||||
"sgc_release_dynamics",
|
||||
row_key="field",
|
||||
col_key="post_type",
|
||||
species="mouse",
|
||||
data=u"""
|
||||
|
||||
Kinetic parameters correspond to variables as described by Dittman et al.
|
||||
(2000), their Table 1.
|
||||
|
||||
F: ~ Resting release probability
|
||||
|
||||
---------------------------------------------------------------------------------------------------------------
|
||||
bushy tstellate dstellate pyramidal octopus tuberculoventral
|
||||
|
||||
F 0.29366 [1] 0.43435 [1] 0.43435 [2] 0.43435 [1] 0.29366 [14] 0.43435 [1]
|
||||
k0 0.52313 [1] 0.06717 [1] 0.06717 [2] 0.06717 [1] 0.52313 [14] 0.06717 [1]
|
||||
kmax 19.33805 [1] 52.82713 [1] 52.82713 [2] 52.82713 [1] 19.33805 [14] 52.82713 [1]
|
||||
kd 0.11283 [1] 0.08209 [1] 0.08209 [2] 0.08209 [1] 0.11283 [14] 0.08209 [1]
|
||||
ks 11.531 [1] 14.24460 [1] 14.24460 [2] 14.24460 [1] 11.531 [14] 14.24460 [1]
|
||||
kf 17.78 [1] 18.16292 [1] 18.16292 [2] 18.16292 [1] 17.78 [14] 18.16292 [1]
|
||||
taud 15.16 [1] 3.98 [1] 3.98 [2] 3.98 [1] 15.16 [14] 3.98 [1]
|
||||
taus 17912.2 [1] 16917.120 [1] 16917.120 [2] 16917.120 [1] 17912.2 [14] 16917.120 [1]
|
||||
tauf 9.75 [1] 11.38 [1] 11.38 [2] 11.38 [1] 9.75 [14] 11.38 [1]
|
||||
dD 0.57771 [1] 2.46535 [1] 2.46535 [2] 2.46535 [1] 0.57771 [14] 2.46535 [1]
|
||||
dF 0.60364 [1] 1.44543 [1] 1.44543 [2] 1.44543 [1] 0.60364 [14] 1.44543 [1]
|
||||
|
||||
---------------------------------------------------------------------------------------------------------------
|
||||
|
||||
[1] Xie & Manis 2013, Table 1. Although independently measured in > P30 CBA/CaJ mice,
|
||||
the values are similar to the measurements from Yang and Xu-Friedman, 2008
|
||||
in P14-P21 CBA/CaJ mice.
|
||||
|
||||
[2] Data copied from t-stellate column (no literature on these cells)
|
||||
|
||||
[14] Data copied from bushy cell column (no literature on these cells)
|
||||
""",
|
||||
)
|
||||
|
||||
|
||||
add_table_data(
|
||||
"gly_kinetics",
|
||||
row_key="field",
|
||||
col_key="post_type",
|
||||
species="mouse",
|
||||
data=u"""
|
||||
|
||||
Kinetic parameters for glycine receptor mechanisms.
|
||||
|
||||
These are currently used for both DS and TV synapses, but should probably be
|
||||
separated in the future.
|
||||
|
||||
KV, KU, and XMax are kinetic parameters for the cleft transmitter mechanism.
|
||||
|
||||
|
||||
------------------------------------------------------------------------------------------------
|
||||
bushy tstellate dstellate pyramidal tuberculoventral
|
||||
|
||||
KV 1e9 [1] 531.0 [1] 531.0 [1] 531.0 [2] 531.0 [2]
|
||||
KU 4.46 [1] 4.17 [1] 4.17 [1] 4.17 [2] 4.17 [2]
|
||||
XMax 0.733 [1] 0.731 [1] 0.731 [1] 0.731 [2] 0.731 [2]
|
||||
|
||||
------------------------------------------------------------------------------------------------
|
||||
|
||||
[1] Xie & Manis 2013
|
||||
|
||||
[2] Copied from tstellate data (Kuo et al., J. Neurophysiol. indicate glycinergic IPSCs in TV
|
||||
and pyramidal cells are fast, with a decay time constant similar to that seen in tstellate
|
||||
cells). In pyramidal cells, this is consistent with the brief cross-correlation tip (Voigt
|
||||
and Young, 1980) and brief somatic current source (Manis and Brownell, 1983).
|
||||
|
||||
|
||||
""",
|
||||
)
|
||||
|
||||
add_table_data(
|
||||
"dstellate_synapse",
|
||||
row_key="field",
|
||||
col_key="post_type",
|
||||
species="mouse",
|
||||
data=u"""
|
||||
|
||||
DStellate Synapse values
|
||||
gly_gmax is the default value in the program (scaled by Po for the receptors). See synapses/gly_psd.py
|
||||
IPSC_cv is the coefficient of variation of the IPSC. (Not currently used in the model)
|
||||
Pr is the release probabilty (not currently used); built into release mechanism for multisite synapses.
|
||||
n_rsites is the number of release sites per dstellate terminal.
|
||||
|
||||
---------------------------------------------------------------------------------------------------------------------------------------
|
||||
bushy tstellate dstellate octopus pyramidal tuberculoventral cartwheel
|
||||
|
||||
gly_gmax 2.5 [1] 1.0 [5] 1.0 [2] 0. [2] 2.0 [3] 2.0 [3] 0±0 [2]
|
||||
IPSC_cv 0.3 [3] 0.3 [3] 0.3 [3] 0.3 [3] 0.3 [3] 0.3 [3] 0.3 [3]
|
||||
Pr 1.000 [4] 1.000 [4] 1.000 [4] 1.000 [4] 1.000 [4] 1.000 [4] 1.000 [4]
|
||||
n_rsites 10 [5] 5 [5] 5 [5] 0 [2] 5 [5] 25 [5] 0 [2]
|
||||
delay 0.000 0.000 0.000 0 0.000 0.000 0
|
||||
weight 0.004131 0.004455 0.0 0 0.002228 0.012097 0
|
||||
tau1 0.187 0.152 0.152 0 0.152 0.152 0
|
||||
tau2 7.953 1.247 1.247 0 1.247 1.247 0
|
||||
erev -70.0 -70.0 -70.0 0 -70.0 -70.0 0
|
||||
---------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
[1] Estimate
|
||||
|
||||
[2] No evidence for dstellate inputs to other d stellate cells or cartwheel cells.
|
||||
Octopus cells do not get inhibitory input
|
||||
|
||||
[3] Guess
|
||||
|
||||
[4] Default value
|
||||
|
||||
[5] Guess *educated* DS->TS from Xie and Manis, 2013. 99 pA mini @ 50 mV driving ~ 2 nS
|
||||
|
||||
[6] delay from pre to post; default is 0
|
||||
|
||||
[7] Parameters Weight, tau1, tau2, delay and erev from comare_simple_multisynapses run and curve fitting (all cells)
|
||||
|
||||
""",
|
||||
)
|
||||
|
||||
|
||||
add_table_data(
|
||||
"tuberculoventral_synapse",
|
||||
row_key="field",
|
||||
col_key="post_type",
|
||||
species="mouse",
|
||||
data=u"""
|
||||
|
||||
Tuberculventral Synapse values
|
||||
gly_gmax is the default value in the program (scaled by Po for the receptors). See synapses/gly_psd.py
|
||||
IPSC_cv is the coefficient of variation of the IPSC. (Not currently used in the model)
|
||||
Pr is the release probabilty (not currently used)
|
||||
n_rsites is the number of release sites per tuberculoventral terminal.
|
||||
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
bushy tstellate dstellate octopus pyramidal tuberculoventral cartwheel
|
||||
|
||||
gly_gmax 5.0 [3] 3.0 [3] 3.0 [3] 0. [2] 2.1±2.9 [6] 1.8±2.3 [6] 0±0 [6]
|
||||
IPSC_cv 0.3 [3] 0.3 [3] 0.3 [3] 0.3 [3] 1.0 [3] 0.3 [3] 0.3 [3]
|
||||
Pr 1.000 [4] 1.000 [4] 1.000 [4] 1.000 [4] 1.000 [4] 1.000 [4] 1.000 [4]
|
||||
n_rsites 6 [5] 6 [5] 0 [1] 0 [2] 6 [5] 6 [5] 6 [5]
|
||||
delay 0.600 0.600 0 0 0.600 0.600 0
|
||||
weight 0.002371 0.008114 0 0 0.002705 0.002705 0
|
||||
tau1 0.190 0.149 0 0 0.149 0.149 0
|
||||
tau2 7.952 1.250 0 0 1.250 1.250 0
|
||||
erev -70.0 -70.0 0 0 -70.0 -70.0 0
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
[1] Default value from GlyPSD
|
||||
|
||||
[2] No evidence for tuberculo inputs to other d stellate cells or cartwheel cells.
|
||||
Octopus cells do not get inhibitory input
|
||||
|
||||
[3] Guess
|
||||
|
||||
[4] Default value
|
||||
|
||||
[5] Guess
|
||||
|
||||
[6] Mouse data
|
||||
TV conductance onto pyr cells: 2.1 nS SD 2.9 nS (Kuo et al., 2012)
|
||||
TV conductance onto TV cells: 1.8 ns SD 2.3 nS.
|
||||
|
||||
[7] Parameters Weight, tau1, tau2, delay and erev from comare_simple_multisynapses run and curve fitting (all cells)
|
||||
Fitting done against 200 rep average for bushy, 500 rep average for all others.
|
||||
|
||||
""",
|
||||
)
|
||||
|
||||
add_table_data(
|
||||
"cartwheel_synapse",
|
||||
row_key="field",
|
||||
col_key="post_type",
|
||||
species="mouse",
|
||||
data=u"""
|
||||
|
||||
Cartwheel cell synapse values
|
||||
gly_gmax is the default value in the program (scaled by Po for the receptors). See synapses/gly_psd.py
|
||||
IPSC_cv is the coefficient of variation of the IPSC. (Not currently used in the model)
|
||||
Pr is the release probabilty (not currently used)
|
||||
n_rsites is the number of release sites per cartwheel cell terminal.
|
||||
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
bushy tstellate dstellate octopus pyramidal tuberculoventral cartwheel
|
||||
|
||||
gly_gmax 0.0 [3] 0.0 [3] 0.0 [3] 0. [2] 2.1±2.9 [6] 0±0 [6] 1.8±2.3 [6]
|
||||
IPSC_cv 0.3 [3] 0.3 [3] 0.3 [3] 0.3 [3] 1.0 [3] 0.3 [3] 0.3 [3]
|
||||
Pr 1.000 [4] 1.000 [4] 1.000 [4] 1.000 [4] 1.000 [4] 1.000 [4] 1.000 [4]
|
||||
n_rsites 6 [5] 6 [5] 0 [1] 0 [2] 6 [5] 6 [5] 6 [5]
|
||||
delay 0 [7] 0 0 0 0 0 0
|
||||
weight 0.01 0.01 0.01 0.0 0.01 0.01 0.01
|
||||
tau1 0.3 [5] 0.3 [5] 0.3 [5] 0.3 [5] 0.3 [5] 0.3 [5] 0.3 [5]
|
||||
tau2 2.0 [5] 2.0 [5] 2.0 [5] 2.0 [5] 2.0 [5] 2.0 [5] 2.0 [5]
|
||||
erev -70 [5] -70 [5] -70 [5] -70 [5] -70 [5] -70 [5] -70 [5]
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
[1] Default value from GlyPSD
|
||||
|
||||
[2] No evidence for cartwheel inputs to Dstellate, bushy or tstellate cells.
|
||||
Octopus cells do not get inhibitory input
|
||||
|
||||
[3] Guess
|
||||
|
||||
[4] Default value
|
||||
|
||||
[5] Guess
|
||||
|
||||
[6] Mouse data
|
||||
TV conductance onto pyr cells: 2.1 nS SD 2.9 nS (Kuo et al., 2012)
|
||||
TV conductance onto TV cells: 1.8 ns SD 2.3 nS.
|
||||
|
||||
[7] delay from pre to post; default is just 0
|
||||
|
||||
""",
|
||||
)
|
||||
|
||||
add_table_data(
|
||||
"bushy_synapse",
|
||||
row_key="field",
|
||||
col_key="post_type",
|
||||
species="mouse",
|
||||
data=u"""
|
||||
|
||||
AMPA_gmax and NMDA_gmax are the estimated average peak conductances (in nS)
|
||||
resulting from an action potential in a single presynaptic terminal under
|
||||
conditions that minimize the effects of short-term plasticity.
|
||||
AMPA_gmax are from values measured at -65 mV (or -70mV), and represent SINGLE TERMINAL
|
||||
conductances
|
||||
AMPAR_gmax are the individual synapse postsynaptic conductance
|
||||
NMDA_gmax values are taken as the fraction of the current that is NMDAR dependent
|
||||
at +40 mV (see below)
|
||||
|
||||
n_rsites is the number of release sites per terminal.
|
||||
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
mso
|
||||
|
||||
AMPA_gmax 21.05±15.4 [1]
|
||||
AMPAR_gmax 4.6516398 [2]
|
||||
NMDA_gmax 0 [3]
|
||||
NMDAR_gmax 0 [3]
|
||||
EPSC_cv 0.12 [4]
|
||||
Pr 1.000 [5]
|
||||
n_rsites 36 [6]
|
||||
weight 0.01
|
||||
delay 0
|
||||
-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
[1] Taken from the mouse bushy cell model.
|
||||
Units are nS.
|
||||
|
||||
[2] See note [10] for the SGC-bushy synapse
|
||||
|
||||
[3] Assume no NMDA receptors at this synapse
|
||||
|
||||
[4] See SGC-bushy synapse
|
||||
|
||||
[5] Just to scale with the multisite synapse model
|
||||
|
||||
[6] This is a guess.
|
||||
|
||||
""",
|
||||
)
|
||||
72
cnmodel/data/tests/test_db.py
Normal file
72
cnmodel/data/tests/test_db.py
Normal file
@@ -0,0 +1,72 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
import pytest
|
||||
import sys
|
||||
from cnmodel import data
|
||||
|
||||
|
||||
table = u"""
|
||||
|
||||
Description of data
|
||||
It has multiple lines
|
||||
|
||||
And empty lines.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
col1 col2 col3
|
||||
param1 15±6.5 [1] 2.2±1.5 [2] 0.87±0.23 [3]
|
||||
param2 3 5 0.87±0.23 [3]
|
||||
param3 3.4 7 [2]
|
||||
param4 1 [12]
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
[1] Source 1
|
||||
[2] Multiline source
|
||||
#2
|
||||
end of #2
|
||||
[3] Multiline source
|
||||
#3
|
||||
end of #3
|
||||
|
||||
[12] another
|
||||
source
|
||||
|
||||
|
||||
"""
|
||||
|
||||
data.add_table_data(
|
||||
"test_data", row_key="param", col_key="col", data=table, extra="test_kwd"
|
||||
)
|
||||
|
||||
|
||||
def test_db():
|
||||
# this should only be a problem with Python 2, so we need to
|
||||
# check which version we are running under before letting the test
|
||||
# throw the exception:
|
||||
if sys.version_info[0] == 2:
|
||||
with pytest.raises(TypeError):
|
||||
# raise exception if unicode is given in ono-unicode string
|
||||
data.add_table_data("test_data", row_key="param", col_key="col", data=u"±")
|
||||
|
||||
d = data.get("test_data", param="param1", col="col2", extra="test_kwd")
|
||||
assert d == (2.2, 1.5)
|
||||
|
||||
d = data.get(
|
||||
"test_data", param="param1", col=["col1", "col2", "col3"], extra="test_kwd"
|
||||
)
|
||||
assert d == {"col1": (15, 6.5), "col2": (2.2, 1.5), "col3": (0.87, 0.23)}
|
||||
|
||||
d = data.get(
|
||||
"test_data", param="param2", col=["col1", "col2", "col3"], extra="test_kwd"
|
||||
)
|
||||
assert d == {"col1": 3, "col2": 5, "col3": (0.87, 0.23)}
|
||||
|
||||
d = data.get(
|
||||
"test_data", param="param3", col=["col1", "col2", "col3"], extra="test_kwd"
|
||||
)
|
||||
assert d == {"col1": 3.4, "col2": None, "col3": 7}
|
||||
|
||||
s = data.get_source("test_data", param="param1", col="col2", extra="test_kwd")
|
||||
assert "end of #2" in s
|
||||
|
||||
s = data.get_source("test_data", param="param2", col="col2", extra="test_kwd")
|
||||
assert s is None
|
||||
Reference in New Issue
Block a user