changes from meeting 06.03.2023; changed cell-type to neuron-type throughout, K to Kd throughout (including Fig 3 and 4), added references

This commit is contained in:
nkoch1 2023-03-06 14:22:34 -05:00
parent 6549cc0745
commit 275fb4062a
7 changed files with 509 additions and 319 deletions

View File

@ -1,38 +1,48 @@
# -*- coding: utf-8 -*-
"""
Created on Sat Jul 3 19:52:04 2021
Script to plot AUC correlations - Figure 3
@author: nils
"""
__author__ = "Nils A. Koch"
__copyright__ = "Copyright 2022, Nils A. Koch"
__license__ = "MIT"
import pandas as pd
import numpy as np
from numpy import ndarray
import string
import textwrap
import json
import seaborn as sns
import matplotlib
import matplotlib.pyplot as plt
import matplotlib.lines as mlines
import matplotlib.transforms
import matplotlib.path
import matplotlib.colors
from matplotlib import ticker
from matplotlib.ticker import NullFormatter
from Figures.plotstyle import boxplot_style
from matplotlib.axes._axes import Axes
from matplotlib.markers import MarkerStyle
from matplotlib.collections import LineCollection
from Figures.plotstyle import corr_style
def cm2inch(*tupl):
'''
convert cm to inch for plots size tuple
'''
inch = 2.54
if isinstance(tupl[0], tuple):
return tuple(i/inch for i in tupl[0])
else:
return tuple(i/inch for i in tupl)
#%% ##################### From https://stackoverflow.com/questions/52878845/swarmplot-with-hue-affecting-marker-beyond-color ##
# to change marker types in seaborn swarmplot
import seaborn as sns
import matplotlib.pyplot as plt
############## Begin hack ##############
from matplotlib.axes._axes import Axes
from matplotlib.markers import MarkerStyle
from numpy import ndarray
#%% Modified from https://stackoverflow.com/a/52935294 (ImportanceOfBeingErnest and Miguel) under CC BY-SA 4.0 license
def GetColor2Marker(markers):
'''
Modified from https://stackoverflow.com/a/52935294 (ImportanceOfBeingErnest and Miguel) under CC BY-SA 4.0 license
'''
colorslist = ['#40A787', # cyan'#
'#F0D730', # yellow
'#C02717', # red
@ -52,6 +62,9 @@ def GetColor2Marker(markers):
return dict(zip(mkcolors,markers))
def fixlegend(ax,markers,markersize=3,**kwargs):
'''
Modified from https://stackoverflow.com/a/52935294 (ImportanceOfBeingErnest and Miguel) under CC BY-SA 4.0 license
'''
# Fix Legend
legtitle = ax.get_legend().get_title().get_text()
_,l = ax.get_legend_handles_labels()
@ -79,6 +92,9 @@ def fixlegend(ax,markers,markersize=3,**kwargs):
old_scatter = Axes.scatter
def new_scatter(self, *args, **kwargs):
'''
Modified from https://stackoverflow.com/a/52935294 (ImportanceOfBeingErnest and Miguel) under CC BY-SA 4.0 license
'''
colors = kwargs.get("c", None)
co2mk = kwargs.pop("co2mk",None)
FinalCollection = old_scatter(self, *args, **kwargs)
@ -92,16 +108,32 @@ def new_scatter(self, *args, **kwargs):
FinalCollection.set_paths(paths)
return FinalCollection
Axes.scatter = new_scatter
############## End hack. ##############
########################################################################################################################
#%% add gradient arrows
import matplotlib.pyplot as plt
import matplotlib.transforms
import matplotlib.path
from matplotlib.collections import LineCollection
def gradientaxis(ax, start, end, cmap, n=100,lw=1):
# Arrow shaft: LineCollection
'''
add color gradient to axis
Parameters
----------
ax : matplotlib axis
axis to apply gradient to
start : tuple
start coordinates on axis
end : tuple
end coordinates on axis
cmap : colormap
colormap for gradient
n : int
number of segments in gradient
lw : float
width of axis line
Returns
-------
ax : matplotlib axis
updated axis with gradient
'''
x = np.linspace(start[0],end[0],n)
y = np.linspace(start[1],end[1],n)
points = np.array([x,y]).T.reshape(-1,1,2)
@ -110,15 +142,26 @@ def gradientaxis(ax, start, end, cmap, n=100,lw=1):
lc.set_array(np.linspace(0,1,n))
ax.add_collection(lc)
return ax
#%%
#%%
def boxplot_with_markers(ax,max_width, alteration='shift', msize=3):
def corr_with_markers(ax,max_width, alteration='shift', msize=3):
'''
Plot Model Correlation as markers
Parameters
----------
ax : matplotlib axis
axis to plot on
max_width :
maximum width of label text
alteration : string
'shift', 'slope' or 'g'
msize : float
marker size
'''
hlinewidth = 0.5
model_names = ['RS pyramidal','RS inhibitory','FS',
'RS pyramidal +$K_V1.1$','RS inhibitory +$K_V1.1$',
'FS +$K_V1.1$','Cb stellate','Cb stellate +$K_V1.1$',
'Cb stellate $\Delta$$K_V1.1$','STN','STN +$K_V1.1$',
'STN $\Delta$$K_V1.1$']
model_names = ['RS pyramidal','RS inhibitory','FS', 'RS pyramidal +$K_V1.1$','RS inhibitory +$K_V1.1$',
'FS +$K_V1.1$','Cb stellate','Cb stellate +$K_V1.1$', 'Cb stellate $\Delta$$K_V1.1$','STN',
'STN +$K_V1.1$', 'STN $\Delta$$K_V1.1$']
colorslist = ['#007030', # dark green
'#F0D730', # yellow
@ -135,11 +178,12 @@ def boxplot_with_markers(ax,max_width, alteration='shift', msize=3):
]
import matplotlib.colors
colors = [matplotlib.colors.to_rgb(c) for c in colorslist]
clr_dict = {}
for m in range(len(model_names)):
clr_dict[model_names[m]] = colors[m]
print(colors)
print(clr_dict)
Markers = ["o", "o", "o", "^", "^", "^", "D", "D", "D", "s", "s", "s"]
if alteration=='shift':
i = 2 # Kd act
@ -155,7 +199,7 @@ def boxplot_with_markers(ax,max_width, alteration='shift', msize=3):
ax.plot([lim[0], lim[1]], [1, 1], ':k',linewidth=hlinewidth)
ax.plot([lim[0], lim[1]], [-1, -1], ':k',linewidth=hlinewidth)
ax.set_title("Shift ($\Delta V_{1/2}$)", y=1.05)
ax.set_xticklabels(['Na \nactivation', 'Na \ninactivation', 'K \nactivation', '$K_V1.1$ \nactivation',
ax.set_xticklabels(['Na \nactivation', 'Na \ninactivation', 'Kd \nactivation', '$K_V1.1$ \nactivation',
'$K_V1.1$ \ninactivation', 'A \nactivation', 'A \ninactivation'])
elif alteration=='slope':
i = 3 # Kv1.1 act
@ -173,7 +217,7 @@ def boxplot_with_markers(ax,max_width, alteration='shift', msize=3):
ax.plot([lim[0], lim[1]], [1, 1], ':k',linewidth=hlinewidth)
ax.plot([lim[0], lim[1]], [-1, -1], ':k',linewidth=hlinewidth)
ax.set_title("Slope (k)", y=1.05)
ax.set_xticklabels(['Na \nactivation', 'Na \ninactivation', 'K \nactivation', '$K_V1.1$ \nactivation',
ax.set_xticklabels(['Na \nactivation', 'Na \ninactivation', 'Kd \nactivation', '$K_V1.1$ \nactivation',
'$K_V1.1$ \ninactivation', 'A \nactivation', 'A \ninactivation'])
elif alteration=='g':
i = 1 # Kd
@ -192,7 +236,8 @@ def boxplot_with_markers(ax,max_width, alteration='shift', msize=3):
ax.plot([lim[0], lim[1]], [-1, -1], ':k',linewidth=hlinewidth)
# Tweak the visual presentation
ax.set_title("Conductance (g)", y=1.05)
ax.set_xticklabels(textwrap.fill(x.get_text(), max_width) for x in ax.get_xticklabels())
# ax.set_xticklabels(textwrap.fill(x.get_text(), max_width) for x in ax.get_xticklabels())
ax.set_xticklabels(['Na', 'Kd', '$K_V1.1$', 'A', 'Leak'])
else:
print('Please chose "shift", "slope" or "g"')
ax.get_legend().remove()
@ -202,19 +247,34 @@ def boxplot_with_markers(ax,max_width, alteration='shift', msize=3):
def model_legend(ax, marker_s_leg, pos, ncol):
colorslist = [ '#40A787', # cyan'#
'#F0D730', # yellow
'#C02717', # red
'#007030', # dark green
'#AAB71B', # lightgreen
'#008797', # light blue
'#F78017', # orange
'#478010', # green
'#53379B', # purple
'#2060A7', # blue
'#873770', # magenta
'#D03050' # pink
]
'''
plot model legend on axis
Parameters
----------
ax : matplotlib axis
axis to plot legend on
marker_s_leg : int
marker size in legend
pos : tuple
position in axis
ncol : int
number of columns in legend
'''
colorslist = ['#007030', # dark green
'#F0D730', # yellow
'#C02717', # red
'#478010', # green
'#AAB71B', # lightgreen
'#F78017', # orange
'#40A787', # cyan'#
'#008797', # light blue
'#2060A7', # blue
'#D03050', # pink
'#53379B', # purple
'#873770', # magenta
]
import matplotlib.colors
colors = [matplotlib.colors.to_rgb(c) for c in colorslist]
model_pos = {'Cb stellate':0, 'RS Inhibitory':1, 'FS':2, 'RS Pyramidal':3,
@ -224,38 +284,44 @@ def model_legend(ax, marker_s_leg, pos, ncol):
'Cb stellate $\Delta$$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$':9,
'STN $\Delta$$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$':10, 'STN':11}
Markers = ["o", "o", "o", "^", "^", "^", "D", "D", "D", "s", "s", "s"]
RS_p = mlines.Line2D([], [], color=colors[model_pos['RS Pyramidal']], marker=Markers[model_pos['RS Pyramidal']], markersize=marker_s_leg, linestyle='None',
label='RS pyramidal')
RS_i = mlines.Line2D([], [], color=colors[model_pos['RS Inhibitory']], marker=Markers[model_pos['RS Inhibitory']], markersize=marker_s_leg, linestyle='None',
label='RS inhibitory')
FS = mlines.Line2D([], [], color=colors[model_pos['FS']], marker=Markers[model_pos['FS']], markersize=marker_s_leg, linestyle='None', label='FS')
RS_p_Kv = mlines.Line2D([], [], color=colors[model_pos['RS Pyramidal +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$']], marker=Markers[model_pos['RS Pyramidal +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$']], markersize=marker_s_leg, linestyle='None',
label='RS Pyramidal +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$')
RS_i_Kv = mlines.Line2D([], [], color=colors[model_pos['RS Inhibitory +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$']], marker=Markers[model_pos['RS Inhibitory +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$']], markersize=marker_s_leg, linestyle='None',
label='RS Inhibitory +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$')
FS_Kv = mlines.Line2D([], [], color=colors[model_pos['Cb stellate']], marker=Markers[model_pos['Cb stellate']], markersize=marker_s_leg, linestyle='None', label='FS +$K_V1.1$')
Cb = mlines.Line2D([], [], color=colors[8], marker=Markers[8], markersize=marker_s_leg, linestyle='None',
label='Cb stellate')
Cb_pl = mlines.Line2D([], [], color=colors[model_pos['Cb stellate +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$']], marker=Markers[model_pos['Cb stellate +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$']], markersize=marker_s_leg, linestyle='None',
label='Cb stellate +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$')
Cb_sw = mlines.Line2D([], [], color=colors[model_pos['Cb stellate $\Delta$$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$']], marker=Markers[model_pos['Cb stellate $\Delta$$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$']], markersize=marker_s_leg, linestyle='None',
label='Cb stellate $\Delta$$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$')
STN = mlines.Line2D([], [], color=colors[model_pos['STN']], marker=Markers[model_pos['STN']], markersize=marker_s_leg, linestyle='None', label='STN')
STN_pl = mlines.Line2D([], [], color=colors[model_pos['STN +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$']], marker=Markers[model_pos['STN +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$']], markersize=marker_s_leg, linestyle='None',
label='STN +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$')
STN_sw = mlines.Line2D([], [], color=colors[model_pos['STN $\Delta$$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$']], marker=Markers[model_pos['STN $\Delta$$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$']], markersize=marker_s_leg, linestyle='None',
label='STN $\Delta$$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$')
ax.legend(handles=[RS_p, RS_i, FS, RS_p_Kv, RS_i_Kv, FS_Kv, Cb, Cb_pl, Cb_sw, STN, STN_pl, STN_sw], loc='center',
bbox_to_anchor=pos, ncol=ncol, frameon=False)
def plot_AUC_alt(ax, model='FS', color1='red', color2='dodgerblue', alteration='shift'):
RS_p = mlines.Line2D([], [], color='#007030', marker="^", markersize=marker_s_leg, linestyle='None', label='Model D')
RS_i = mlines.Line2D([], [], color='#F0D730', marker="o", markersize=marker_s_leg, linestyle='None', label='Model B')
FS = mlines.Line2D([], [], color='#C02717', marker="o", markersize=marker_s_leg, linestyle='None', label='Model C')
RS_p_Kv = mlines.Line2D([], [], color='#478010', marker="D", markersize=marker_s_leg, linestyle='None', label='Model H')
RS_i_Kv = mlines.Line2D([], [], color='#AAB71B', marker="^", markersize=marker_s_leg, linestyle='None', label='Model E')
FS_Kv = mlines.Line2D([], [], color='#F78017', marker="D", markersize=marker_s_leg, linestyle='None', label='Model G')
Cb = mlines.Line2D([], [], color='#40A787', marker="o", markersize=marker_s_leg, linestyle='None', label='Model A')
Cb_pl = mlines.Line2D([], [], color='#008797', marker="^", markersize=marker_s_leg, linestyle='None', label='Model F')
Cb_sw = mlines.Line2D([], [], color='#2060A7', marker="s", markersize=marker_s_leg, linestyle='None', label='Model J')
STN = mlines.Line2D([], [], color='#D03050', marker="s", markersize=marker_s_leg, linestyle='None', label='Model L')
STN_pl = mlines.Line2D([], [], color='#53379B', marker="D", markersize=marker_s_leg, linestyle='None', label='Model I')
STN_sw = mlines.Line2D([], [], color='#873770', marker="s", markersize=marker_s_leg, linestyle='None', label='Model K')
ax.legend(handles=[Cb, RS_i, FS, RS_p, RS_i_Kv, Cb_pl, FS_Kv, RS_p_Kv, STN_pl, Cb_sw, STN_sw, STN], loc='center',
bbox_to_anchor=pos, ncol=ncol, frameon=False)
def plot_AUC_alt(ax, model='FS', alteration='shift'):
'''
plot the AUC across an alteration for all models with one emphasized
Parameters
----------
ax : matplotlib axis
axis to plot on
model : string
model to emphasize with thicker line
alteration : string
'shift', 'slope' or 'g'
Returns
-------
ax : matplotlib axis
updated axis with plot data
'''
ax.spines["right"].set_visible(False)
ax.spines["top"].set_visible(False)
model_names = ['RS Pyramidal','RS Inhibitory','FS',
'RS Pyramidal +$K_V1.1$','RS Inhibitory +$K_V1.1$',
'FS +$K_V1.1$','Cb stellate','Cb stellate +$K_V1.1$',
'Cb stellate $\Delta$$K_V1.1$','STN','STN +$K_V1.1$',
'STN $\Delta$$K_V1.1$']
model_names = ['RS Pyramidal','RS Inhibitory','FS', 'RS Pyramidal +$K_V1.1$','RS Inhibitory +$K_V1.1$',
'FS +$K_V1.1$','Cb stellate','Cb stellate +$K_V1.1$', 'Cb stellate $\Delta$$K_V1.1$','STN',
'STN +$K_V1.1$', 'STN $\Delta$$K_V1.1$']
model_name_dict = {'RS Pyramidal': 'RS Pyramidal',
'RS Inhibitory': 'RS Inhibitory',
@ -337,6 +403,29 @@ def plot_AUC_alt(ax, model='FS', color1='red', color2='dodgerblue', alteration='
return ax
def plot_fI(ax, model='RS Pyramidal', type='shift', alt='m', color1='red', color2='dodgerblue'):
'''
plot fI curves for a model across an alteration in current parameters
Parameters
----------
ax : matplotlib axis
axis to plot on
model : string
model to plot
type : string
type of alteration: 'shift', 'slope', or 'g'
alt : string
model parameter that is altered
color1 : string
color at start of gradient
color2 : string
color at end of gradient
Returns
-------
ax : matplotlib axis
updated axis with plot data
'''
model_save_name = {'RS Pyramidal': 'RS_pyr_posp',
'RS Inhibitory': 'RS_inhib_posp',
'FS': 'FS_posp',
@ -366,7 +455,12 @@ def plot_fI(ax, model='RS Pyramidal', type='shift', alt='m', color1='red', color
c += 1
ax.set_ylabel('Frequency [Hz]')
ax.set_xlabel('Current [nA]')
ax.set_title(model, x=0.2, y=1.0)
if model == 'FS +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$':
ax.set_title("Model G", x=0.2, y=1.0)
elif model == 'STN +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$':
ax.set_title("Model I", x=0.2, y=1.0)
else:
ax.set_title("", x=0.2, y=1.0)
ax.spines["right"].set_visible(False)
ax.spines["top"].set_visible(False)
L = ax.get_ylim()
@ -375,7 +469,7 @@ def plot_fI(ax, model='RS Pyramidal', type='shift', alt='m', color1='red', color
#%%
boxplot_style()
corr_style()
color_dict = {'Cb stellate': '#40A787', # cyan'#
'RS Inhibitory': '#F0D730', # yellow
'FS': '#C02717', # red
@ -443,19 +537,19 @@ rec = ax2_fI.add_patch(rec)
rec.set_clip_on(False)
# plot boxplots
boxplot_with_markers(ax0,max_width, alteration='shift')
boxplot_with_markers(ax1,max_width, alteration='slope')
boxplot_with_markers(ax2,max_width, alteration='g')
corr_with_markers(ax0,max_width, alteration='shift')
corr_with_markers(ax1,max_width, alteration='slope')
corr_with_markers(ax2,max_width, alteration='g')
# plot legend
pos = (0.225, -0.9)
ncol = 5
ncol = 6
model_legend(ax2, marker_s_leg, pos, ncol)
# plot examples
plot_AUC_alt(ax0_ex,model='FS +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$', color1='lightgrey', color2='k', alteration='shift')
plot_AUC_alt(ax1_ex,model='FS +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$', color1='lightgrey', color2='k',alteration='slope')
plot_AUC_alt(ax2_ex, model='STN +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$', color1='lightgrey', color2='k', alteration='g')
plot_AUC_alt(ax0_ex,model='FS +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$', alteration='shift')
plot_AUC_alt(ax1_ex,model='FS +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$', alteration='slope')
plot_AUC_alt(ax2_ex, model='STN +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$', alteration='g')
# label subplots with letters
ax0_fI.text(-0.875, 1.35, string.ascii_uppercase[0], transform=ax0_fI.transAxes, size=10, weight='bold')
@ -472,6 +566,6 @@ ax2.text(-0.075, 1.35, string.ascii_uppercase[8], transform=ax2.transAxes, size=
#save
fig.set_size_inches(cm2inch(20.75,12))
fig.savefig('./Figures/AUC_correlation.pdf', dpi=fig.dpi) #pdf #eps
# fig.savefig('./Figures/AUC_correlation.png', dpi=fig.dpi) #pdf #eps
fig.savefig('./Figures/AUC_correlation.pdf', dpi=fig.dpi)
# fig.savefig('./Figures/AUC_correlation.png', dpi=fig.dpi) #png
plt.show()

View File

@ -1,22 +1,37 @@
# -*- coding: utf-8 -*-
"""
Created on Sat Jul 3 19:52:04 2021
Script to plot rheobase correlations - Figure 4
@author: nils
"""
__author__ = "Nils A. Koch"
__copyright__ = "Copyright 2022, Nils A. Koch"
__license__ = "MIT"
import pandas as pd
import numpy as np
from numpy import ndarray
import string
import textwrap
import json
import seaborn as sns
import matplotlib
import matplotlib.pyplot as plt
import matplotlib.lines as mlines
import matplotlib.transforms
import matplotlib.path
import matplotlib.colors
from matplotlib import ticker
from matplotlib.ticker import NullFormatter
from Figures.plotstyle import boxplot_style
from matplotlib.axes._axes import Axes
from matplotlib.markers import MarkerStyle
from matplotlib.collections import LineCollection
from Figures.plotstyle import corr_style
def cm2inch(*tupl):
'''
convert cm to inch for plots size tuple
'''
inch = 2.54
if isinstance(tupl[0], tuple):
return tuple(i/inch for i in tupl[0])
@ -24,16 +39,10 @@ def cm2inch(*tupl):
return tuple(i/inch for i in tupl)
#%% ##################### From https://stackoverflow.com/questions/52878845/swarmplot-with-hue-affecting-marker-beyond-color ##
# to change marker types in seaborn swarmplot
import seaborn as sns
import matplotlib.pyplot as plt
############## Begin hack ##############
from matplotlib.axes._axes import Axes
from matplotlib.markers import MarkerStyle
from numpy import ndarray
def GetColor2Marker(markers):
'''
Modified from https://stackoverflow.com/a/52935294 (ImportanceOfBeingErnest and Miguel) under CC BY-SA 4.0 license
'''
colorslist = ['#40A787', # cyan'#
'#F0D730', # yellow
'#C02717', # red
@ -53,6 +62,9 @@ def GetColor2Marker(markers):
return dict(zip(mkcolors,markers))
def fixlegend(ax,markers,markersize=3,**kwargs):
'''
Modified from https://stackoverflow.com/a/52935294 (ImportanceOfBeingErnest and Miguel) under CC BY-SA 4.0 license
'''
# Fix Legend
legtitle = ax.get_legend().get_title().get_text()
_,l = ax.get_legend_handles_labels()
@ -80,6 +92,9 @@ def fixlegend(ax,markers,markersize=3,**kwargs):
old_scatter = Axes.scatter
def new_scatter(self, *args, **kwargs):
'''
Modified from https://stackoverflow.com/a/52935294 (ImportanceOfBeingErnest and Miguel) under CC BY-SA 4.0 license
'''
colors = kwargs.get("c", None)
co2mk = kwargs.pop("co2mk",None)
FinalCollection = old_scatter(self, *args, **kwargs)
@ -93,33 +108,32 @@ def new_scatter(self, *args, **kwargs):
FinalCollection.set_paths(paths)
return FinalCollection
Axes.scatter = new_scatter
############## End hack. ##############
########################################################################################################################
#%% add gradient arrows
import matplotlib.pyplot as plt
import matplotlib.transforms
import matplotlib.path
from matplotlib.collections import LineCollection
def rainbowarrow(ax, start, end, cmap, n=50,lw=3):
# Arrow shaft: LineCollection
x = np.linspace(start[0],end[0],n)
y = np.linspace(start[1],end[1],n)
points = np.array([x,y]).T.reshape(-1,1,2)
segments = np.concatenate([points[:-1],points[1:]], axis=1)
lc = LineCollection(segments, cmap=cmap, linewidth=lw)
lc.set_array(np.linspace(0,1,n))
ax.add_collection(lc)
# Arrow head: Triangle
tricoords = [(0,-0.02),(0.025,0),(0,0.02),(0,-0.02)]
angle = np.arctan2(end[1]-start[1],end[0]-start[0])
rot = matplotlib.transforms.Affine2D().rotate(angle)
tricoords2 = rot.transform(tricoords)
tri = matplotlib.path.Path(tricoords2, closed=True)
ax.scatter(end[0],end[1], c=1, s=(4*lw)**2, marker=tri, cmap=cmap,vmin=0)
ax.autoscale_view()
return ax
def gradientaxis(ax, start, end, cmap, n=100,lw=1):
'''
add color gradient to axis
Parameters
----------
ax : matplotlib axis
axis to apply gradient to
start : tuple
start coordinates on axis
end : tuple
end coordinates on axis
cmap : colormap
colormap for gradient
n : int
number of segments in gradient
lw : float
width of axis line
Returns
-------
ax : matplotlib axis
updated axis with gradient
'''
# Arrow shaft: LineCollection
x = np.linspace(start[0],end[0],n)
y = np.linspace(start[1],end[1],n)
@ -129,8 +143,22 @@ def gradientaxis(ax, start, end, cmap, n=100,lw=1):
lc.set_array(np.linspace(0,1,n))
ax.add_collection(lc)
return ax
#%%
def boxplot_with_markers(ax,max_width, alteration='shift', msize=2.2):
def corr_with_markers(ax,max_width, alteration='shift', msize=2.2):
'''
Plot Model Correlation as markers
Parameters
----------
ax : matplotlib axis
axis to plot on
max_width :
maximum width of label text
alteration : string
'shift', 'slope' or 'g'
msize : float
marker size
'''
hlinewidth = 0.5
model_names = ['RS pyramidal','RS inhibitory','FS',
'RS pyramidal +$K_V1.1$','RS inhibitory +$K_V1.1$',
@ -157,8 +185,6 @@ def boxplot_with_markers(ax,max_width, alteration='shift', msize=2.2):
clr_dict = {}
for m in range(len(model_names)):
clr_dict[model_names[m]] = colors[m]
print(colors)
print(clr_dict)
Markers = ["o", "o", "o", "^", "^", "^", "D", "D", "D", "s", "s", "s"]
if alteration=='shift':
i = 3 # Kv1.1 act
@ -174,7 +200,7 @@ def boxplot_with_markers(ax,max_width, alteration='shift', msize=2.2):
ax.plot([lim[0], lim[1]], [1, 1], ':k',linewidth=hlinewidth)
ax.plot([lim[0], lim[1]], [-1, -1], ':k',linewidth=hlinewidth)
ax.set_title("Shift ($\Delta V_{1/2}$)", y=1.05)
ax.set_xticklabels(['Na \nactivation', 'Na \ninactivation', 'K \nactivation', '$K_V1.1$ \nactivation',
ax.set_xticklabels(['Na \nactivation', 'Na \ninactivation', 'Kd \nactivation', '$K_V1.1$ \nactivation',
'$K_V1.1$ \ninactivation', 'A \nactivation', 'A \ninactivation'])
elif alteration=='slope':
i = 4 # Kv1.1 inact
@ -192,7 +218,7 @@ def boxplot_with_markers(ax,max_width, alteration='shift', msize=2.2):
ax.plot([lim[0], lim[1]], [1, 1], ':k',linewidth=hlinewidth)
ax.plot([lim[0], lim[1]], [-1, -1], ':k',linewidth=hlinewidth)
ax.set_title("Slope (k)", y=1.05)
ax.set_xticklabels(['Na \nactivation', 'Na \ninactivation', 'K \nactivation', '$K_V1.1$ \nactivation',
ax.set_xticklabels(['Na \nactivation', 'Na \ninactivation', 'Kd \nactivation', '$K_V1.1$ \nactivation',
'$K_V1.1$ \ninactivation', 'A \nactivation', 'A \ninactivation'])
elif alteration=='g':
i = 4 # Leak
@ -209,7 +235,8 @@ def boxplot_with_markers(ax,max_width, alteration='shift', msize=2.2):
ax.plot([lim[0], lim[1]], [1, 1], ':k',linewidth=hlinewidth)
ax.plot([lim[0], lim[1]], [-1, -1], ':k',linewidth=hlinewidth)
ax.set_title("Conductance (g)", y=1.05)
ax.set_xticklabels(textwrap.fill(x.get_text(), max_width) for x in ax.get_xticklabels())
# ax.set_xticklabels(textwrap.fill(x.get_text(), max_width) for x in ax.get_xticklabels())
ax.set_xticklabels(['Na', 'Kd', '$K_V1.1$', 'A', 'Leak'])
else:
print('Please chose "shift", "slope" or "g"')
ax.get_legend().remove()
@ -219,78 +246,88 @@ def boxplot_with_markers(ax,max_width, alteration='shift', msize=2.2):
def model_legend(ax, marker_s_leg, pos, ncol):
# colorslist = [ '#40A787', # cyan'#
# '#F0D730', # yellow
# '#C02717', # red
# '#007030', # dark green
# '#AAB71B', # lightgreen
# '#008797', # light blue
# '#F78017', # orange
# '#478010', # green
# '#53379B', # purple
# '#2060A7', # blue
# '#873770', # magenta
# '#D03050' # pink
# ]
# import matplotlib.colors
# colors = [matplotlib.colors.to_rgb(c) for c in colorslist]
model_pos = {'Cb stellate':0, 'RS Inhibitory':1, 'FS':2, 'RS Pyramidal':3,
'RS Inhibitory +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$':4,
'Cb stellate +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$':5, 'FS +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$':6,
'RS Pyramidal +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$':7, 'STN +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$':8,
'Cb stellate $\Delta$$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$':9,
'STN $\Delta$$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$':10, 'STN':11}
# model_pos = {'Cb stellate': 0, 'RS Inhibitory': 1, 'FS': 2, 'RS Pyramidal': 3,
# 'RS Inhibitory +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$': 4,
# 'Cb stellate +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$': 5,
# 'FS +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$': 6,
# 'RS Pyramidal +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$': 7,
# 'STN +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$': 8,
# 'Cb stellate $\Delta$$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$': 9,
# 'STN $\Delta$$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$': 10, 'STN': 11}
colorslist = ['#007030', # dark green
'#F0D730', # yellow
'#C02717', # red
'#478010', # green
'#AAB71B', # lightgreen
'#F78017', # orange
'#40A787', # cyan'#
'#008797', # light blue
'#2060A7', # blue
'#D03050', # pink
'#53379B', # purple
'#873770', # magenta
]
'''
plot model legend on axis
Parameters
----------
ax : matplotlib axis
axis to plot legend on
marker_s_leg : int
marker size in legend
pos : tuple
position in axis
ncol : int
number of columns in legend
'''
colorslist = [ '#40A787', # cyan'#
'#F0D730', # yellow
'#C02717', # red
'#007030', # dark green
'#AAB71B', # lightgreen
'#008797', # light blue
'#F78017', # orange
'#478010', # green
'#53379B', # purple
'#2060A7', # blue
'#873770', # magenta
'#D03050' # pink
]
model_names = ['RS pyramidal', 'RS inhibitory', 'FS',
'RS pyramidal +$K_V1.1$', 'RS inhibitory +$K_V1.1$',
'FS +$K_V1.1$', 'Cb stellate', 'Cb stellate +$K_V1.1$',
'Cb stellate $\Delta$$K_V1.1$', 'STN', 'STN +$K_V1.1$',
'STN $\Delta$$K_V1.1$']
import matplotlib.colors
colors = [matplotlib.colors.to_rgb(c) for c in colorslist]
clr_dict = {}
for m in range(len(model_names)):
clr_dict[model_names[m]] = colors[m]
import matplotlib.colors
colors = [matplotlib.colors.to_rgb(c) for c in colorslist]
Markers = ["o", "o", "o", "^", "^", "^", "D", "D", "D", "s", "s", "s"]
RS_p = mlines.Line2D([], [], color=colors[model_pos['RS Pyramidal']], marker=Markers[model_pos['RS Pyramidal']], markersize=marker_s_leg, linestyle='None',
label='RS pyramidal')
RS_i = mlines.Line2D([], [], color=colors[model_pos['RS Inhibitory']], marker=Markers[model_pos['RS Inhibitory']], markersize=marker_s_leg, linestyle='None',
label='RS inhibitory')
FS = mlines.Line2D([], [], color=colors[model_pos['FS']], marker=Markers[model_pos['FS']], markersize=marker_s_leg, linestyle='None', label='FS')
RS_p_Kv = mlines.Line2D([], [], color=colors[model_pos['RS Pyramidal +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$']], marker=Markers[model_pos['RS Pyramidal +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$']], markersize=marker_s_leg, linestyle='None',
label='RS Pyramidal +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$')
RS_i_Kv = mlines.Line2D([], [], color=colors[model_pos['RS Inhibitory +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$']], marker=Markers[model_pos['RS Inhibitory +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$']], markersize=marker_s_leg, linestyle='None',
label='RS Inhibitory +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$')
FS_Kv = mlines.Line2D([], [], color=colors[model_pos['Cb stellate']], marker=Markers[model_pos['Cb stellate']], markersize=marker_s_leg, linestyle='None', label='FS +$K_V1.1$')
Cb = mlines.Line2D([], [], color=colors[8], marker=Markers[8], markersize=marker_s_leg, linestyle='None',
label='Cb stellate')
Cb_pl = mlines.Line2D([], [], color=colors[model_pos['Cb stellate +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$']], marker=Markers[model_pos['Cb stellate +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$']], markersize=marker_s_leg, linestyle='None',
label='Cb stellate +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$')
Cb_sw = mlines.Line2D([], [], color=colors[model_pos['Cb stellate $\Delta$$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$']], marker=Markers[model_pos['Cb stellate $\Delta$$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$']], markersize=marker_s_leg, linestyle='None',
label='Cb stellate $\Delta$$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$')
STN = mlines.Line2D([], [], color=colors[model_pos['STN']], marker=Markers[model_pos['STN']], markersize=marker_s_leg, linestyle='None', label='STN')
STN_pl = mlines.Line2D([], [], color=colors[model_pos['STN +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$']], marker=Markers[model_pos['STN +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$']], markersize=marker_s_leg, linestyle='None',
label='STN +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$')
STN_sw = mlines.Line2D([], [], color=colors[model_pos['STN $\Delta$$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$']], marker=Markers[model_pos['STN $\Delta$$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$']], markersize=marker_s_leg, linestyle='None',
label='STN $\Delta$$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$')
ax.legend(handles=[RS_p, RS_i, FS, RS_p_Kv, RS_i_Kv, FS_Kv, Cb, Cb_pl, Cb_sw, STN, STN_pl, STN_sw], loc='center',
model_pos = {'RS Pyramidal':0, 'RS Inhibitory':1, 'FS':2,
'RS Pyramidal +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$':3, 'RS Inhibitory +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$':4,
'FS +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$':5, 'Cb stellate':6, 'Cb stellate +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$':7,
'Cb stellate $\Delta$$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$':8, 'STN':9, 'STN +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$':10,
'STN $\Delta$$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$':11}
RS_p = mlines.Line2D([], [], color='#007030', marker="^", markersize=marker_s_leg, linestyle='None', label='Model D')
RS_i = mlines.Line2D([], [], color='#F0D730', marker="o", markersize=marker_s_leg, linestyle='None', label='Model B')
FS = mlines.Line2D([], [], color='#C02717', marker="o", markersize=marker_s_leg, linestyle='None', label='Model C')
RS_p_Kv = mlines.Line2D([], [], color='#478010', marker="D", markersize=marker_s_leg, linestyle='None', label='Model H')
RS_i_Kv = mlines.Line2D([], [], color='#AAB71B', marker="^", markersize=marker_s_leg, linestyle='None', label='Model E')
FS_Kv = mlines.Line2D([], [], color='#F78017', marker="D", markersize=marker_s_leg, linestyle='None', label='Model G')
Cb = mlines.Line2D([], [], color='#40A787', marker="o", markersize=marker_s_leg, linestyle='None', label='Model A')
Cb_pl = mlines.Line2D([], [], color='#008797', marker="^", markersize=marker_s_leg, linestyle='None', label='Model F')
Cb_sw = mlines.Line2D([], [], color='#2060A7', marker="s", markersize=marker_s_leg, linestyle='None', label='Model J')
STN = mlines.Line2D([], [], color='#D03050', marker="s", markersize=marker_s_leg, linestyle='None', label='Model L')
STN_pl = mlines.Line2D([], [], color='#53379B', marker="D", markersize=marker_s_leg, linestyle='None', label='Model I')
STN_sw = mlines.Line2D([], [], color='#873770', marker="s", markersize=marker_s_leg, linestyle='None', label='Model K')
ax.legend(handles=[Cb, RS_i, FS, RS_p, RS_i_Kv, Cb_pl, FS_Kv, RS_p_Kv, STN_pl, Cb_sw, STN_sw, STN], loc='center',
bbox_to_anchor=pos, ncol=ncol, frameon=False)
def plot_rheo_alt(ax, model='FS', color1='red', color2='dodgerblue', alteration='shift'):
def plot_rheo_alt(ax, model='FS', alteration='shift'):
'''
plot the rheobase across an alteration for all models with one emphasized
Parameters
----------
ax : matplotlib axis
axis to plot on
model : string
model to emphasize with thicker line
alteration : string
'shift', 'slope' or 'g'
Returns
-------
ax : matplotlib axis
updated axis with plot data
'''
ax.spines["right"].set_visible(False)
ax.spines["top"].set_visible(False)
model_names = ['RS Pyramidal','RS Inhibitory','FS',
@ -373,15 +410,32 @@ def plot_rheo_alt(ax, model='FS', color1='red', color2='dodgerblue', alteration=
end = (xend, ystart*1.0)
ax = gradientaxis(ax, start, end, cmap, n=200,lw=4)
ax.spines['bottom'].set_visible(False)
# ax.set_ylim(ystart, yend)
#xlabel tick colors
# my_colors = ['lightgrey', 'grey', 'k']
# for ticklabel, tickcolor in zip(ax.get_xticklabels(), my_colors):
# ticklabel.set_color(tickcolor)
return ax
def plot_fI(ax, model='RS Pyramidal', type='shift', alt='m', color1='red', color2='dodgerblue'):
'''
plot fI curves for a model across an alteration in current parameters
Parameters
----------
ax : matplotlib axis
axis to plot on
model : string
model to plot
type : string
type of alteration: 'shift', 'slope', or 'g'
alt : string
model parameter that is altered
color1 : string
color at start of gradient
color2 : string
color at end of gradient
Returns
-------
ax : matplotlib axis
updated axis with plot data
'''
model_save_name = {'RS Pyramidal': 'RS_pyr_posp',
'RS Inhibitory': 'RS_inhib_posp',
'FS': 'FS_posp',
@ -409,30 +463,16 @@ def plot_fI(ax, model='RS Pyramidal', type='shift', alt='m', color1='red', color
for i in newdf.index:
ax.plot(json.loads(newdf.loc[i, 'I']), json.loads(newdf.loc[i, 'F']), color=colors[c])
c += 1
# colors2 = [colors[10, :], 'k']
# norm2 = plt.Normalize(min(cvals), max(cvals))
# tuples2 = list(zip(map(norm2, cvals), colors2))
# cmap2 = matplotlib.colors.LinearSegmentedColormap.from_list("", tuples2)
#
# colors3 = [colors[11, :], 'lightgrey']
# norm3 = plt.Normalize(min(cvals), max(cvals))
# tuples3 = list(zip(map(norm3, cvals), colors3))
# cmap3 = matplotlib.colors.LinearSegmentedColormap.from_list("", tuples3)
#
# start = (1.1, json.loads(newdf.loc[10, 'F'])[-1])
# end = (1.1, json.loads(newdf.loc[20, 'F'])[-1])#-json.loads(newdf.loc[20, 'F'])[-1]*0.1)
# ax = rainbowarrow(ax, start, end, cmap2, n=50, lw=1)
# ax.text(1.15, json.loads(newdf.loc[20, 'F'])[-1], '$+ \Delta V$', fontsize=4, color='k')
#
# start = (1.1, json.loads(newdf.loc[10, 'F'])[-1])
# end = (1.1, json.loads(newdf.loc[0, 'F'])[-1])#-json.loads(newdf.loc[0, 'F'])[-1]*0.1)
# ax = rainbowarrow(ax, start, end, cmap3, n=50, lw=1)
# ax.text(1.15, json.loads(newdf.loc[0, 'F'])[-1], '$- \Delta V$', fontsize=4, color='lightgrey')
ax.set_ylabel('Frequency [Hz]')
ax.set_xlabel('Current [nA]')
ax.set_title(model, x=0.2, y=1.025)
if model == 'FS +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$':
ax.set_title("Model G", x=0.2, y=1.0)
elif model == 'Cb stellate +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$':
ax.set_title("Model F", x=0.2, y=1.0)
elif model == 'Cb stellate':
ax.set_title("Model A", x=0.2, y=1.0)
else:
ax.set_title("", x=0.2, y=1.0)
ax.spines["right"].set_visible(False)
ax.spines["top"].set_visible(False)
L = ax.get_ylim()
@ -441,7 +481,7 @@ def plot_fI(ax, model='RS Pyramidal', type='shift', alt='m', color1='red', color
#%%
boxplot_style()
corr_style()
color_dict = {'Cb stellate': '#40A787', # cyan'#
'RS Inhibitory': '#F0D730', # yellow
'FS': '#C02717', # red
@ -495,19 +535,19 @@ rec.set_clip_on(False)
# plot boxplots
boxplot_with_markers(ax0,max_width, alteration='shift')
boxplot_with_markers(ax1,max_width, alteration='slope')
boxplot_with_markers(ax2,max_width, alteration='g')
corr_with_markers(ax0,max_width, alteration='shift')
corr_with_markers(ax1,max_width, alteration='slope')
corr_with_markers(ax2,max_width, alteration='g')
# plot legend
pos = (0.225, -0.9)
ncol = 5
ncol = 6
model_legend(ax2, marker_s_leg, pos, ncol)
# plot rheo across model for example alteration
plot_rheo_alt(ax0_ex,model='FS +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$', color1='lightgrey', color2='k', alteration='shift')
plot_rheo_alt(ax1_ex,model='Cb stellate +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$', color1='lightgrey', color2='k',alteration='slope')
plot_rheo_alt(ax2_ex, model='Cb stellate', color1='lightgrey', color2='k', alteration='g')
plot_rheo_alt(ax0_ex,model='FS +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$', alteration='shift')
plot_rheo_alt(ax1_ex,model='Cb stellate +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$', alteration='slope')
plot_rheo_alt(ax2_ex, model='Cb stellate', alteration='g')
# label subplots with letters
ax0_fI.text(-0.875, 1.35, string.ascii_uppercase[0], transform=ax0_fI.transAxes, size=10, weight='bold')
@ -525,40 +565,6 @@ ax2.text(-0.075, 1.35, string.ascii_uppercase[8], transform=ax2.transAxes, size=
# save
fig.set_size_inches(cm2inch(20.75,12))
fig.savefig('./Figures/rheobase_correlation.pdf', dpi=fig.dpi)
# fig.savefig('./Figures/rheobase_correlation.png', dpi=fig.dpi) #bbox_inches='tight', dpi=fig.dpi # eps # pdf
# fig.savefig('./Figures/rheobase_correlation.png', dpi=fig.dpi)
plt.show()
#%%
# fig, axs = plt.subplots(1,2)
# axs[0] = plot_fI(axs[0] , model='FS +$\mathrm{K}_{\mathrm{V}}\mathrm{1.1}$', type='shift', alt='s', color1='lightgrey', color2='k')
# plt.show()
#%%
#
#
# cvals = [-2., 2]
# colors = ['lightgrey', 'k']
#
# norm = plt.Normalize(min(cvals), max(cvals))
# tuples = list(zip(map(norm, cvals), colors))
# cmap = matplotlib.colors.LinearSegmentedColormap.from_list("", tuples)
# colors = cmap(np.linspace(0, 1, 22))
#
# colors2 = [colors[10,:], 'k']
# norm2 = plt.Normalize(min(cvals), max(cvals))
# tuples2 = list(zip(map(norm2, cvals), colors2))
# cmap2 = matplotlib.colors.LinearSegmentedColormap.from_list("", tuples2)
#
# colors3 = [colors[11,:], 'lightgrey']
# norm3 = plt.Normalize(min(cvals), max(cvals))
# tuples3 = list(zip(map(norm3, cvals), colors3))
# cmap3 = matplotlib.colors.LinearSegmentedColormap.from_list("", tuples3)
#
# fig, axs = plt.subplots(1,2)
# start = (0,0)
# end = (1,1)
# axs[0] = rainbowarrow(axs[0], start, end, cmap2, n=50,lw=3)
# start = (0,0)
# end = (-1,-1)
# axs[0] = rainbowarrow(axs[0], start, end, cmap3, n=50,lw=3)
# plt.show()

View File

@ -59,11 +59,11 @@
\def\Authors{Nils A. Koch\,$^{1,2}$, Lukas Sonnenberg\,$^{1,2}$, Ulrike B.S. Hedrich\,$^{3}$, Stephan Lauxmann\,$^{1,3}$ and Jan Benda\,$^{1,2,*}$}
% Affiliations should be keyed to the author's name with superscript numbers and be listed as follows: Laboratory, Institute, Department, Organization, City, State abbreviation (USA, Canada, Australia), and Country (without detailed address information such as city zip codes or street names).
% If one of the authors has a change of address, list the new address below the correspondence details using a superscript symbol and use the same symbol to indicate the author in the author list.
\def\Address{$^{1}$Laboratory X, Institute X, Department X, Organization X, City X , State XX (only USA, Canada and Australia), Country X \\
$^{2}$Laboratory X, Institute X, Department X, Organization X, City X , State XX (only USA, Canada and Australia), Country X }
\def\Address{$^{1}$Institute for Neurobiology, University of Tuebingen, 72072 Tuebingen, Germany \\
$^{2}$Bernstein Center for Computational Neuroscience Tuebingen, 72076 Tuebingen, Germany \\
$^{3}$Department of Neurology and Epileptology, Hertie Institute for Clinical Brain Research, University of Tuebingen, 72076 Tuebingen, Germany}
%\def\Address{$^{1}$Laboratory X, Institute X, Department X, Organization X, City X , State XX (only USA, Canada and Australia), Country X \\
%$^{2}$Laboratory X, Institute X, Department X, Organization X, City X , State XX (only USA, Canada and Australia), Country X }
\def\Address{$^{1}$Institute for Neurobiology, University of T{\"u}bingen, 72072 T{\"u}bingen, Germany \\
$^{2}$Bernstein Center for Computational Neuroscience T{\"u}bingen, 72076 T{\"u}bingen, Germany \\
$^{3}$Department of Neurology and Epileptology, Hertie Institute for Clinical Brain Research, University of T{\"u}bingen, 72076 T{\"u}bingen, Germany}
% The Corresponding Author should be marked with an asterisk
% Provide the exact contact address (this time including street name and city zip code) and email of the corresponding author
@ -77,7 +77,7 @@ $^{3}$Department of Neurology and Epileptology, Hertie Institute for Clinical Br
\onecolumn
\firstpage{1}
\title {Loss or Gain of Function? Effects of Ion Channel Mutations on Neuronal Firing Depend on the Cell Type}
\title {Loss or Gain of Function? Effects of Ion Channel Mutations on Neuronal Firing Depend on the Neuron Type}
\author[\firstAuthorLast ]{\Authors} %This field will be automatically populated
\address{} %This field will be automatically populated
@ -97,7 +97,8 @@ $^{3}$Department of Neurology and Epileptology, Hertie Institute for Clinical Br
%For full guidelines regarding your manuscript please refer to \href{https://www.frontiersin.org/guidelines/author-guidelines}{Author Guidelines}.
%
%As a primary goal, the abstract should render the general significance and conceptual advance of the work clearly accessible to a broad readership. References should not be cited in the abstract. Leave the Abstract empty if your article does not require one, please see the Article Types on every Frontiers journal page for full details
Clinically relevant mutations to voltage-gated ion channels, called channelopathies, alter ion channel function, properties of ionic current and neuronal firing. The effects of ion channel mutations are routinely assessed and characterized as loss of function (LOF) or gain of function (GOF) at the level of ionic currents. Emerging personalized medicine approaches based on LOF/GOF characterization have limited therapeutic success. Potential reasons are that the translation from this binary characterization to neuronal firing especially when considering different neuronal cell types is currently not well understood. Here we investigate the impact of neuronal cell type on the firing outcome of ion channel mutations with simulations of a diverse collection of neuron models. We systematically analyzed the effects of changes in ion current properties on firing in different neuronal types. Additionally, we simulated the effects of mutations in the \textit{KCNA1} gene encoding the \Kv potassium channel subtype associated with episodic ataxia type~1 (EA1). These simulations revealed that the outcome of a given change in ion channel properties on neuronal excitability is cell-type dependent. As a result, cell-type specific effects are vital to a full understanding of the effects of channelopathies on neuronal excitability and present an opportunity to further the efficacy and precision of personalized medicine approaches.
Clinically relevant mutations to voltage-gated ion channels, called channelopathies, alter ion channel function, properties of ionic current and neuronal firing. The effects of ion channel mutations are routinely assessed and characterized as loss of function (LOF) or gain of function (GOF) at the level of ionic currents. Emerging personalized medicine approaches based on LOF/GOF characterization have limited therapeutic success. Potential reasons are that the translation from this binary characterization to neuronal firing especially when considering different neuronal cell types is currently not well understood. Here we investigate the impact of neuronal cell type on the firing outcome of ion channel mutations with simulations of a diverse collection of neuron models. We systematically analyzed the effects of changes in ion current properties on firing in different neuronal types. Additionally, we simulated the effects of mutations in the \textit{KCNA1} gene encoding the \Kv potassium channel subtype associated with episodic ataxia type~1 (EA1). These simulations revealed that the outcome of a given change in ion channel properties on neuronal excitability is neuron-type dependent. Consequently, neuron-type specific effects are vital to a full understanding of the effects of channelopathies on neuronal excitability and are an important step towards improving the efficacy and precision of personalized medicine approaches.
% present an opportunity to further the efficacy and precision of personalized medicine approaches.
@ -112,11 +113,11 @@ Clinically relevant mutations to voltage-gated ion channels, called channelopat
The properties and combinations of voltage-gated ion channels are vital in determining neuronal excitability \citep{bernard_channelopathies_2008, carbone_ion_2020, rutecki_neuronal_1992, pospischil_minimal_2008}. However, ion channel function can be disturbed, for instance through genetic alterations, resulting in altered neuronal firing behavior \citep{carbone_ion_2020}. In recent years, next generation sequencing has led to an increase in the discovery of clinically relevant ion channel mutations and has provided the basis for pathophysiological studies of genetic epilepsies, pain disorders, dyskinesias, intellectual disabilities, myotonias, and periodic paralyses \citep{bernard_channelopathies_2008, carbone_ion_2020}.
Ongoing efforts of many research groups have contributed to the current understanding of underlying disease mechanism in channelopathies, however a complex pathophysiological landscape has emerged for many channelopathies and is likely a reason for limited therapeutic success with standard care.
Ion channel variants are frequently classified in heterologous expression systems as either a loss of function (LOF) or a gain of function (GOF) in the respective ionic current \citep{Musto2020, Kullmann2002, Waxman2011, Kim2021}. This LOF/GOF classification is often directly used to predict the effects on neuronal firing \citep{Niday2018, Wei2017, Wolff2017,Masnada2017}, which in turn is important for understanding the pathophysiology of these disorders and for identification of potential therapeutic targets \citep{Orsini2018, Yang2018, Colasante2020, Yu2006}. Experimentally, the effects of channelopathies on neuronal firing are assessed using primary neuronal cultures \citep{Scalmani2006, Smith2018, Liu2019} or \textit{in vitro} recordings from slices of transgenic mouse lines \citep{Mantegazza2019, Xie2010,Lory2020, Habib2015, Hedrich14874} but are restricted to limited number of neuronal types. Different neuron types differ in their composition of ionic currents \citep{yao2021taxonomy, Cadwell2016, BICCN2021, Scala2021} and therefore likely respond differently to changes in the properties of a single ionic current. Expression level of an affected gene \citep{Layer2021} and relative amplitudes of ionic currents \citep{rutecki_neuronal_1992, pospischil_minimal_2008,Kispersky2012, golowasch_failure_2002, barreiro_-current_2012} indeed dramatically influence the firing behavior and dynamics of neurons. Mutations in different sodium channel genes have been experimentally shown to affect firing in a cell-type specific manner based on differences in expression levels of the affected gene \citep{Layer2021}, but also on other cell-type specific mechanisms \citep{Hedrich14874, makinson_scn1a_2016}.
Ion channel variants are frequently classified in heterologous expression systems as either a loss of function (LOF) or a gain of function (GOF) in the respective ionic current \citep{Musto2020, Kullmann2002, Waxman2011, Kim2021}. This LOF/GOF classification is often directly used to predict the effects on neuronal firing \citep{Niday2018, Wei2017, Wolff2017,Masnada2017}, which in turn is important for understanding the pathophysiology of these disorders and for identification of potential therapeutic targets \citep{Orsini2018, Yang2018, Colasante2020, Yu2006}. Experimentally, the effects of channelopathies on neuronal firing are assessed using primary neuronal cultures \citep{Scalmani2006, Smith2018, Liu2019} or \textit{in vitro} recordings from slices of transgenic mouse lines \citep{Mantegazza2019, Xie2010,Lory2020, Habib2015, Hedrich14874} but are restricted to limited number of neuronal types. Different neuron types differ in their composition of ionic currents \citep{yao2021taxonomy, Cadwell2016, BICCN2021, Scala2021} and therefore likely respond differently to changes in the properties of a single ionic current. Expression level of an affected gene \citep{Layer2021} and relative amplitudes of ionic currents \citep{rutecki_neuronal_1992, pospischil_minimal_2008,Kispersky2012, golowasch_failure_2002, barreiro_-current_2012} indeed dramatically influence the firing behavior and dynamics of neurons. Mutations in different sodium channel genes have been experimentally shown to affect firing in a neuron-type specific manner based on differences in expression levels of the affected gene \citep{Layer2021}, but also on other neuron-type specific mechanisms \citep{Hedrich14874, makinson_scn1a_2016}.
Cell-type specificity is likely vital for successful precision medicine treatment approaches. For example, Dravet syndrome was identified as the consquence of LOF mutations in \textit{SCN1A} \citep{Claes2001,Fujiwara2003,Ohmori2002}, however limited success in the treatment of Dravet syndrome persisted \citep{Claes2001,Oguni2001} in part due to lack of understanding that inhibitory interneurons and not pyramidal neurons had altered excitability as a result of LOF \textit{SCN1A} mutations \citep{Yu2006, Colasante2020}.
Neuron-type specificity is likely vital for successful precision medicine treatment approaches. For example, Dravet syndrome was identified as the consquence of LOF mutations in \textit{SCN1A} \citep{Claes2001,Fujiwara2003,Ohmori2002}, however limited success in the treatment of Dravet syndrome persisted \citep{Claes2001,Oguni2001} in part due to lack of understanding that inhibitory interneurons and not pyramidal neurons had altered excitability as a result of LOF \textit{SCN1A} mutations \citep{Yu2006, Colasante2020}.
Taken together, these examples demonstrate the need to study the effects of ion channel mutations in many different cell types --- a daunting if not impossible experimental challenge. In the context of this diversity, simulations of conductance-based neuronal models are a powerful tool bridging the gap between altered ionic currents and firing in a systematic and efficient way. Furthermore, simlutions allow to predict the potential effects of drugs needed to alleviate the pathophysiology of the respective mutation \citep{johannesen_genotype-phenotype_2021, lauxmann_therapeutic_2021, Bayraktar}.
Taken together, these examples demonstrate the need to study the effects of ion channel mutations in many different neuron types --- a daunting if not impossible experimental challenge. In the context of this diversity, simulations of conductance-based neuronal models are a powerful tool bridging the gap between altered ionic currents and firing in a systematic and efficient way. Furthermore, simlutions allow to predict the potential effects of drugs needed to alleviate the pathophysiology of the respective mutation \citep{johannesen_genotype-phenotype_2021, lauxmann_therapeutic_2021, Bayraktar}.
In this study, we therefore investigated how the outcome of ionic current kinetic changes on firing depend on neuronal cell type by (1) characterizing firing responses with two measures, (2) simulating the response of a repertoire of different neuronal models to changes in single current parameters as well as (3) to more complex changes in this case as they were observed for specific \textit{KCNA1} mutations that are associated with episodic ataxia type~1 \citep{Browne1994, Browne1995, lauxmann_therapeutic_2021}.
@ -125,15 +126,15 @@ In this study, we therefore investigated how the outcome of ionic current kineti
All modelling and simulation was done in parallel with custom written Python 3.8 (Python Programming Language; RRID:SCR\_008394) software, run on a Cent-OS 7 server with an Intel(R) Xeon (R) E5-2630 v2 CPU.
% @ 2.60 GHz Linux 3.10.0-123.e17.x86_64.
\subsection{Different Cell Models}
\subsection{Different Neuron Models}
A group of neuronal models representing the major classes of cortical and thalamic neurons including regular spiking pyramidal (RS pyramidal; model D), regular spiking inhibitory (RS inhibitory; model B), and fast spiking (FS; model C) cells were used \citep{pospischil_minimal_2008}. Additionally, a \Kv current (\IKv; \citealt{ranjan_kinetic_2019}) was added to each of these models (RS pyramidal +\Kv; model H, RS inhibitory +\Kv; model E, and FS +\Kv; model G respectively). A cerebellar stellate cell model from \citet{alexander_cerebellar_2019} is used (Cb stellate; model A) in this study. This cell model was also extended by a \Kv current \citep{ranjan_kinetic_2019}, either in addition to the A-type potassium current (Cb stellate +\Kv; model F) or by replacing the A-type potassium current (Cb stellate \(\Delta\)\Kv; model J). A subthalamic nucleus (STN; model L) neuron model as described by \citet{otsuka_conductance-based_2004} was also used. The STN cell model (model L) was additionally extended by a \Kv current \citep{ranjan_kinetic_2019}, either in addition to the A-type potassium current (STN +\Kv; model I) or by replacing the A-type potassium current (STN \(\Delta\)\Kv; model K). Model letter naming corresponds to panel lettering in Figure \ref{fig:diversity_in_firing}. The properties and maximal conductances of each model are detailed in Table \ref{tab:g} and the gating properties are unaltered from the original Cb stellate (model A) and STN (model L) models \citep{alexander_cerebellar_2019, otsuka_conductance-based_2004}. For enabling the comparison of models with the typically reported electrophysiological data fitting reported and for ease of further gating curve manipulations, a modified Boltzmann function
A group of neuronal models representing the major classes of cortical and thalamic neurons including regular spiking pyramidal (RS pyramidal; model D), regular spiking inhibitory (RS inhibitory; model B), and fast spiking (FS; model C) neurons were used \citep{pospischil_minimal_2008}. Additionally, a \Kv current (\IKv; \citealt{ranjan_kinetic_2019}) was added to each of these models (RS pyramidal +\Kv; model H, RS inhibitory +\Kv; model E, and FS +\Kv; model G respectively). A cerebellar stellate cell model from \citet{alexander_cerebellar_2019} is used (Cb stellate; model A) in this study. This neuron model was also extended by a \Kv current \citep{ranjan_kinetic_2019}, either in addition to the A-type potassium current (Cb stellate +\Kv; model F) or by replacing the A-type potassium current (Cb stellate \(\Delta\)\Kv; model J). A subthalamic nucleus (STN; model L) neuron model as described by \citet{otsuka_conductance-based_2004} was also used. The STN neuron model (model L) was additionally extended by a \Kv current \citep{ranjan_kinetic_2019}, either in addition to the A-type potassium current (STN +\Kv; model I) or by replacing the A-type potassium current (STN \(\Delta\)\Kv; model K). Model letter naming corresponds to panel lettering in Figure \ref{fig:diversity_in_firing}. The properties and maximal conductances of each model are detailed in Table \ref{tab:g} and the gating properties are unaltered from the original Cb stellate (model A) and STN (model L) models \citep{alexander_cerebellar_2019, otsuka_conductance-based_2004}. For enabling the comparison of models with the typically reported electrophysiological data fitting reported and for ease of further gating curve manipulations, a modified Boltzmann function
\begin{equation}\label{eqn:Boltz}
x_\infty = {\left(\frac{1-a}{1+{\exp\left[{\frac{V-V_{1/2}}{k}}\right]}} +a\right)^j}
\end{equation}
with slope \(k\), voltage for half-maximal activation or inactivation (\(V_{1/2}\)), exponent \(j\), and persistent current \(0 \leq a \leq 1\) were fitted to the original formulism for RS pyramidal (model D), RS inhibitory (model B) and FS (model C) models from \citet{pospischil_minimal_2008}. The properties of \IKv were fitted to the mean wild type biophysical parameters of \Kv described in \citet{lauxmann_therapeutic_2021}. \textcolor{red}{The fitted gating parameters are detailed in Table \ref{tab:gating}}. Each of the original single-compartment models used here can reproduce physiological firing behavior of the neurons they represent (Figure \ref{fig:diversity_in_firing}; \citealt{pospischil_minimal_2008, alexander_cerebellar_2019, otsuka_conductance-based_2004}) and capture key aspects of the dynamics of these cell types.
with slope \(k\), voltage for half-maximal activation or inactivation (\(V_{1/2}\)), exponent \(j\), and persistent current \(0 \leq a \leq 1\) were fitted to the original formulism for RS pyramidal (model D), RS inhibitory (model B) and FS (model C) models from \citet{pospischil_minimal_2008}. The properties of \IKv were fitted to the mean wild type biophysical parameters of \Kv described in \citet{lauxmann_therapeutic_2021}. The fitted gating parameters are detailed in Table \ref{tab:gating}. Each of the original single-compartment models used here can reproduce physiological firing behavior of the neurons they represent (Figure \ref{fig:diversity_in_firing}; \citealt{pospischil_minimal_2008, alexander_cerebellar_2019, otsuka_conductance-based_2004}) and capture key aspects of the dynamics of these neuron types.
\subsection{Firing Frequency Analysis}
The membrane responses to 200 equidistant two second long current steps were simulated using the forward-Euler method with a \(\Delta \textrm{t} = 0.01\)\,ms from steady state. Current steps ranged from 0 to 1\,nA (step size 5\,pA) for all models except for the RS inhibitory neuron models where a range of 0 to 0.35\,nA (step size 1.75\,pA) was used to ensure repetitive firing across the range of input currents. For each current step, action potentials were detected as peaks with at least 50\,mV prominence, or the relative height above the lowest contour line encircling it, and a minimum interspike interval of 1\,ms. The interspike interval was computed and used to determine the instantaneous firing frequencies elicited by the current step.
@ -151,7 +152,7 @@ All models exhibited tonic steady-state firing with default parameters. In limit
\subsection{Sensitivity Analysis and Comparison of Models}
Properties of ionic currents common to all models (\(\text{I}_{\text{Na}}\), \(\text{I}_{\text{K}}\), \(\text{I}_{\text{A}}\)/\IKv, and \(\text{I}_{\text{Leak}}\)) were systematically altered in a one-factor-at-a-time sensitivity analysis for all models. The gating curves for each current were shifted (\(\Delta V_{1/2}\)) from -10 to 10\,mV in increments of 1\,mV. The voltage dependence of the time constant associated with the shifted gating curve was correspondingly shifted. The slope (\(k\)) of the gating curves were altered from half to twice the initial slope. Similarly, the maximal current conductance (\(g\)) was also scaled from half to twice the initial value. For both slope and conductance alterations, alterations consisted of 21 steps spaced equally on a \(\textrm{log}_2\) scale. We neglected the variation of time constants for the practical reason that estimation and assessment of time constants and changes to them is not straightforward \citep{Clerx2019, Whittaker2020}.
Properties of ionic currents common to all models (\(\text{I}_{\text{Na}}\), \(\text{I}_{\text{Kd}}\), \(\text{I}_{\text{A}}\)/\IKv, and \(\text{I}_{\text{Leak}}\)) were systematically altered in a one-factor-at-a-time sensitivity analysis for all models. The gating curves for each current were shifted (\(\Delta V_{1/2}\)) from -10 to 10\,mV in increments of 1\,mV. The voltage dependence of the time constant associated with the shifted gating curve was correspondingly shifted. The slope (\(k\)) of the gating curves were altered from half to twice the initial slope. Similarly, the maximal current conductance (\(g\)) was also scaled from half to twice the initial value. For both slope and conductance alterations, alterations consisted of 21 steps spaced equally on a \(\textrm{log}_2\) scale. We neglected the variation of time constants for the practical reason that estimation and assessment of time constants and changes to them is not straightforward \citep{Clerx2019, Whittaker2020}.
\subsection{Model Comparison}
Changes in rheobase (\drheo) were calculated in relation to the original model rheobase. The contrast of each AUC value (\(AUC_i\)) was computed in comparison to the AUC of the unaltered wild type model (\(AUC_{wt}\))
@ -167,18 +168,20 @@ The Kendall's \(\tau\) coefficient, a non-parametric rank correlation, is used t
\subsection{Code Accessibility}
%The code/software described in the paper is freely available online at [URL redacted for double-blind review]. The code is available as \Cref{code_zip}.
The code/software described in the paper is freely available online at \newline \href{https://github.com/nkoch1/LOFGOF2023}{https://github.com/nkoch1/LOFGOF2023}. %The code is available as \ref{code_zip}.
The simulation and analysis code including full specification of the models is freely available online at \newline \href{https://github.com/nkoch1/LOFGOF2023}{https://github.com/nkoch1/LOFGOF2023}. %The code is available as \ref{code_zip}.
\section{Results}
To examine the role of cell-type specific ionic current environments on the impact of altered ion currents properties on firing behavior:
To examine the role of neuron-type specific ionic current environments on the impact of altered ion currents properties on firing behavior:
(1) firing responses were characterized with rheobase and \(\Delta\)AUC, (2) a set of neuronal models was used and properties of channels common across models were altered systematically one at a time, and (3) the effects of a set of episodic ataxia type~1 associated \textit{KCNA1} mutations on firing was then examined across different neuronal models with different ionic current environments.
\subsection{Variety of model neurons}
Neuronal firing is heterogenous across the CNS and a set of neuronal models with heterogenous firing due to different ionic currents is desirable to reflect this heterogeneity. The set of single-compartment, conductance-based neuronal models used here has considerable diversity as evident in the variability seen across neuronal models both in spike trains and their fI curves (Figure \ref{fig:diversity_in_firing}). The models chosen for this study all fire tonically and do not exhibit bursting (see methods for details and naming of the models). Models are qualitatively sorted based on their firing curves and labeled model A through L accordingly. Some models, such as models A and B, display type I firing, whereas others such as models J and L exhibit type II firing. Type I firing is characterized by continuous fI curves (i.e. firing rate increases from 0 in a continuous fashion) whereas type II firing is characterized by a discontinuity in the fI curve (i.e. a jump occurs from no firing to firing at a certain frequency; \citealt{ermentrout_type_1996, Rinzel_1998}). The other models used here lie on a continuum between these prototypical firing classifications. Most neuronal models exhibit hysteresis with ascending and descending ramps eliciting spikes at different current thresholds. However, the models I, J, and K have large hysteresis (Figure \ref{fig:diversity_in_firing} and Supplementary Figure S1). Different types of underlying current dynamics are known to generate these different firing types and hysteresis \cite{ERMENTROUT2002, ermentrout_type_1996, Izhikevich2006}. % \textcolor{red}{ (Figure \ref{fig:diversity_in_firing} and Supplementary Figure \ref{ramp_firing})}
Neuronal firing is heterogenous across the CNS and a set of neuronal models with heterogenous firing due to different ionic currents is desirable to reflect this heterogeneity. The set of single-compartment, conductance-based neuronal models used here has considerable diversity as evident in the variability seen across neuronal models both in spike trains and their fI curves (Figure \ref{fig:diversity_in_firing}). The models chosen for this study all fire tonically and do not exhibit bursting (see methods for details and naming of the models). Models are qualitatively sorted based on their firing curves and labeled model A through L accordingly. Some models, such as models A and B, display type I firing, whereas others such as models J and L exhibit type II firing. Type I firing is characterized by continuous fI curves (i.e. firing rate increases from 0 in a continuous fashion) whereas type II firing is characterized by a discontinuity in the fI curve (i.e. a jump occurs from no firing to firing at a certain frequency; \citealt{ermentrout_type_1996, Rinzel_1998}). The other models used here lie on a continuum between these prototypical firing classifications. Most neuronal models exhibit hysteresis with ascending and descending ramps eliciting spikes at different current thresholds. However, the models I, J, and K have large hysteresis (Figure \ref{fig:diversity_in_firing} and Supplementary Figure S1). Different types of underlying current dynamics are known to generate these different firing types and hysteresis \cite{ERMENTROUT2002, ermentrout_type_1996, Izhikevich2006}. This broad range of single-compartmental models represents the distinct dynamics of various neuron types across diverse brain regions.
% \textcolor{red}{ (Figure \ref{fig:diversity_in_firing} and Supplementary Figure \ref{ramp_firing})}
\subsection{Characterization of Neuronal Firing Properties}
Neuronal firing is a complex phenomenon, and a quantification of firing properties is required for comparisons across cell types and between different conditions. Here we focus on two aspects of firing: rheobase, the smallest injected current at which the cell fires an action potential, and the shape of the frequency-current (fI) curve as quantified by the area under the curve (AUC) for a fixed range of input currents above rheobase (Figure \ref{fig:firing_characterization}~A). The characterization of the firing properties of a neuron by using rheobase and AUC allows to characterize both a neuron's excitability in the sub-threshold regime (rheobase) and periodic firing in the super-threshold regime (AUC) by two independent measures. Note that AUC is essentially quantifying the slope of a neuron's fI curve.
Neuronal firing is a complex phenomenon, and a quantification of firing properties is required for comparisons across neuron types and between different conditions. Here we focus on two aspects of firing that are routinely measured in clinical settings \citep{Bryson_2020}: rheobase, the smallest injected current at which the neuron fires an action potential, and the shape of the frequency-current (fI) curve as quantified by the area under the curve (AUC) for a fixed range of input currents above rheobase (Figure \ref{fig:firing_characterization}~A). The characterization of the firing properties of a neuron by using rheobase and AUC allows to characterize both a neuron's excitability in the sub-threshold regime (rheobase) and periodic firing in the super-threshold regime (AUC) by two independent measures. Note that AUC is essentially quantifying the slope of a neuron's fI curve.
Using these two measures we quantified the effects a changed property of an ionic current has on neural firing by the differences in both rheobase, \drheo, and in AUC, \(\Delta\)AUC, relative to the wild type neuron. \(\Delta\)AUC is in addition normalized to the AUC of the wild type neuron, see Eq.~\eqref{eqn:AUC_contrast}. Each fI curve resulting from an altered ionic current is a point in a two-dimensional coordinate system spanned by \drheo and \ndAUC (Figure \ref{fig:firing_characterization}~B). An fI curve similar to the one of the wild type neuron is marked by a point close to the origin. In the upper left quadrant, fI curves become steeper (positive difference of AUC values: \(+\Delta\)AUC) and are shifted to lower rheobases (negative difference of rheobases: \(-\)\drheo), unambigously indicating an increased firing that clearly might be classified as a gain of function (GOF) of neuronal firing. The opposite happens in the bottom right quadrant where the slope of fI curves decreases (\(-\Delta\)AUC) and the rheobase is shifted to higher currents (\(+\)\drheo), indicating a decreased, loss of function (LOF) firing. In the lower left (\(-\Delta\)AUC and \(-\)\drheo) and upper right (\(+\Delta\)AUC and \(+\)\drheo) quadrants, the effects on firing are less clear-cut, because the changes in rheobase and AUC have opposite effects on neuronal firing. Changes in a neuron's fI curves in these two quadrants cannot uniquely be described as a gain or loss of excitability.
@ -190,54 +193,54 @@ For example, when shifting the half activation voltage \(V_{1/2}\) of the delaye
Changes in gating half activation potential \(V_{1/2}\) and slope factor \(k\) as well as the maximum conductance \(g\) affected the AUC (Figure \ref{fig:AUC_correlation}), but how exactly the AUC was affected usually depended on the specific neuronal model. Increasing the slope factor of the \Kv activation curve for example increased the AUC in all models (\( \text{Kendall} \ \tau \approx +1\)), but with different slopes (Figure \ref{fig:AUC_correlation}~D,E,F). Similar consistent positive correlations could be found for shifts in A-current activation \(V_{1/2}\). Changes in \Kv half activation \(V_{1/2}\) and in maximal A-current conductance resulted in negative correlations with the AUC in all models (\( \text{Kendall} \ \tau \approx -1\)).
Qualitative differences could be found, for example, when increasing the maximal conductance of the delayed rectifier (Figure \ref{fig:AUC_correlation}~G,H,I). In some model neurons this increased AUC (\( \text{Kendall} \ \tau \approx +1\)), whereas in others AUC was decreased (\( \text{Kendall} \ \tau \approx -1\)). In model I, AUC depended in a non-linear way on the maximal conductance of the delayed rectifier, resulting in a \( \text{Kendall} \ \tau \) close to zero. Even more dramatic qualitative differences between models resulted from shifts of the activation curve of the delayed rectifier, as discussed already above (Figure \ref{fig:AUC_correlation}~A,B,C). Some model neurons did almost not depend on changes in K-current half activation \(V_{1/2}\) or showed strong non-linear dependencies, both resulting in \( \text{Kendall} \ \tau\) close to zero. Many model neurons showed strongly negative correlations, and a few displayed positive correlations with shifting the activation curve of the delayed rectifier.
Qualitative differences could be found, for example, when increasing the maximal conductance of the delayed rectifier (Figure \ref{fig:AUC_correlation}~G,H,I). In some model neurons this increased AUC (\( \text{Kendall} \ \tau \approx +1\)), whereas in others AUC was decreased (\( \text{Kendall} \ \tau \approx -1\)). In model I, AUC depended in a non-linear way on the maximal conductance of the delayed rectifier, resulting in a \( \text{Kendall} \ \tau \) close to zero. Even more dramatic qualitative differences between models resulted from shifts of the activation curve of the delayed rectifier, as discussed already above (Figure \ref{fig:AUC_correlation}~A,B,C). Some model neurons did almost not depend on changes in Kd-current half activation \(V_{1/2}\) or showed strong non-linear dependencies, both resulting in \( \text{Kendall} \ \tau\) close to zero. Many model neurons showed strongly negative correlations, and a few displayed positive correlations with shifting the activation curve of the delayed rectifier.
Changes in gating half activation potential \(V_{1/2}\) and slope factor \(k\) as well as the maximum conductance \(g\) affected rheobase (Figure \ref{fig:rheobase_correlation}). However, in contrast to AUC, qualitatively consistent effects on rheobase across models could be observed. An increasing of the maximal conductance of the leak current in the model A increased the rheobase (Figure \ref{fig:rheobase_correlation}~G). When these changes were plotted against the change in maximal conductance a monotonically increasing relationship was evident (thick teal line in Figure \ref{fig:rheobase_correlation}~H). This monotonically increasing relationship was evident in all models (\( \text{Kendall} \ \tau \approx +1\)), but with different slopes (thin lines in Figure \ref{fig:rheobase_correlation}~H). Similarly, positive correlations were consistently found across models for maximal conductances of delayed rectifier K, \Kv, and A type currents, whereas the maximal conductance of the sodium current was consistently associated with negative correlations (\( \text{Kendall} \ \tau \approx -1\); Figure \ref{fig:rheobase_correlation}~I), i.e. rheobase decreased with increasing maximum conductance in all models.
Changes in gating half activation potential \(V_{1/2}\) and slope factor \(k\) as well as the maximum conductance \(g\) affected rheobase (Figure \ref{fig:rheobase_correlation}). However, in contrast to AUC, qualitatively consistent effects on rheobase across models could be observed. An increasing of the maximal conductance of the leak current in the model A increased the rheobase (Figure \ref{fig:rheobase_correlation}~G). When these changes were plotted against the change in maximal conductance a monotonically increasing relationship was evident (thick teal line in Figure \ref{fig:rheobase_correlation}~H). This monotonically increasing relationship was evident in all models (\( \text{Kendall} \ \tau \approx +1\)), but with different slopes (thin lines in Figure \ref{fig:rheobase_correlation}~H). Similarly, positive correlations were consistently found across models for maximal conductances of delayed rectifier Kd, \Kv, and A type currents, whereas the maximal conductance of the sodium current was consistently associated with negative correlations (\( \text{Kendall} \ \tau \approx -1\); Figure \ref{fig:rheobase_correlation}~I), i.e. rheobase decreased with increasing maximum conductance in all models.
Although changes in half maximal potential \(V_{1/2}\) and slope factor \(k\) generally correlated with rheobase similarly across models there were some exceptions. Rheobase was affected with both with positive and negative correlations in different models as a result of changing slope factor of Na\(^+\)-current inactivation (positive: models A--H and J; negative: models I, K and L), \Kv-current inactivation (positive: models I and K; negative: models E--G, J, H), and A-current activation (positive: models A, F and L; negative: model I; Figure \ref{fig:rheobase_correlation}~F). Departures from monotonic relationships also occurred in some models as a result of K\(^+\)-current activation \(V_{1/2}\) (e.g. model J) and slope factor \(k\) (models F and G), \Kv-current inactivation slope factor \(k\) (model K), and A-current activation slope factor \(k\) (model L). Thus, identical changes in current gating properties such as the half maximal potential \(V_{1/2}\) or slope factor \(k\) can have differing effects on firing depending on the model in which they occur.
Although changes in half maximal potential \(V_{1/2}\) and slope factor \(k\) generally correlated with rheobase similarly across models there were some exceptions. Rheobase was affected with both with positive and negative correlations in different models as a result of changing slope factor of Na\(^+\)-current inactivation (positive: models A--H and J; negative: models I, K and L), \Kv-current inactivation (positive: models I and K; negative: models E--G, J, H), and A-current activation (positive: models A, F and L; negative: model I; Figure \ref{fig:rheobase_correlation}~F). Departures from monotonic relationships also occurred in some models as a result of Kd-current activation \(V_{1/2}\) (e.g. model J) and slope factor \(k\) (models F and G), \Kv-current inactivation slope factor \(k\) (model K), and A-current activation slope factor \(k\) (model L). Thus, identical changes in current gating properties such as the half maximal potential \(V_{1/2}\) or slope factor \(k\) can have differing effects on firing depending on the model in which they occur.
\subsection{\textit{KCNA1} Mutations}
Mutations in \textit{KCNA1} are associated with episodic ataxia type~1 (EA1) and have been characterized biophysically (as reviewed by \citet{lauxmann_therapeutic_2021}). Here they were used as a test case in the effects of various ionic current environments on neuronal firing and on the outcomes of channelopathies. The changes in AUC and rheobase from wild type values for reported EA1 associated \textit{KCNA1} mutations were heterogeneous across models containing \Kv, but generally showed decreases in rheobase (Figure \ref{fig:simulation_model_comparision}A--I). Pairwise non-parametric Kendall \(\tau\) rank correlations between the simulated effects of these \Kv mutations on rheobase were highly correlated across models (Figure \ref{fig:simulation_model_comparision}J) indicating that EA1 associated \textit{KCNA1} mutations generally decrease rheobase across diverse cell-types. However, the effects of the \Kv mutations on AUC were more heterogenous as reflected by both weak and strong positive and negative pairwise correlations between models (Figure \ref{fig:simulation_model_comparision}K), suggesting that the effects of ion-channel variant on super-threshold neuronal firing depend both quantitatively and qualitatively on the specific composition of ionic currents in a given neuron.
Mutations in \textit{KCNA1} are associated with episodic ataxia type~1 (EA1) and have been characterized biophysically (as reviewed by \citet{lauxmann_therapeutic_2021}). Here they were used as a test case in the effects of various ionic current environments on neuronal firing and on the outcomes of channelopathies. The changes in AUC and rheobase from wild type values for reported EA1 associated \textit{KCNA1} mutations were heterogeneous across models containing \Kv, but generally showed decreases in rheobase (Figure \ref{fig:simulation_model_comparision}A--I). Pairwise non-parametric Kendall \(\tau\) rank correlations between the simulated effects of these \Kv mutations on rheobase were highly correlated across models (Figure \ref{fig:simulation_model_comparision}J) indicating that EA1 associated \textit{KCNA1} mutations generally decrease rheobase across diverse neuron-types. However, the effects of the \Kv mutations on AUC were more heterogenous as reflected by both weak and strong positive and negative pairwise correlations between models (Figure \ref{fig:simulation_model_comparision}K), suggesting that the effects of ion-channel variant on super-threshold neuronal firing depend both quantitatively and qualitatively on the specific composition of ionic currents in a given neuron.
\section{Discussion}
To compare the effects of ion channel mutations on neuronal firing of different neuron types, a diverse set of conductance-based models was used and the effect of changes in individual channel properties across conductance-based neuronal models. Additionally, the effects of episodic ataxia type~1 associated (EA1) \textit{KCNA1} mutations were simulated. Changes to single ionic current properties, as well as known EA1 associated \textit{KCNA1} mutations showed consistent effects on the rheobase across cell types, whereas the effects on AUC of the steady-state fI-curve depended on the cell type. Our results demonstrate that loss of function (LOF) and gain of function (GOF) on the biophysical level cannot be uniquely transferred to the level of neuronal firing. Thus, the effects caused by different mutations depend on the properties of the other ion channels expressed in a cell and are therefore depend on the channel ensemble of a specific cell type.
To compare the effects of ion channel mutations on neuronal firing of different neuron types, a diverse set of conductance-based models was used and the effect of changes in individual channel properties across conductance-based neuronal models. Additionally, the effects of episodic ataxia type~1 associated (EA1) \textit{KCNA1} mutations were simulated. Changes to single ionic current properties, as well as known EA1 associated \textit{KCNA1} mutations showed consistent effects on the rheobase across neuron types, whereas the effects on AUC of the steady-state fI-curve depended on the neuron type. Our results demonstrate that loss of function (LOF) and gain of function (GOF) on the biophysical level cannot be uniquely transferred to the level of neuronal firing. Thus, the effects caused by different mutations depend on the properties of the other ion channels expressed in a neuron and are therefore depend on the channel ensemble of a specific neuron type.
\subsection{Firing Frequency Analysis}
Although, firing differences can be characterized by an area under the curve of the fI curve for fixed current steps this approach characterizes firing as a mixture of key features: rheobase and the initial slope of the fI curve. By probing rheobase directly and using an AUC relative to rheobase, we disambiguate these features and enable insights into the effects on rheobase and initial fI curve steepness. This increases the specificity of our understanding of how ion channel mutations alter firing across cells types and enable classification as described in Figure \ref{fig:firing_characterization}. Importantly, in cases when ion channel mutations alter rheobase and initial fI curve steepness in ways that oppose effects on firing (upper left and bottom right quadrants of Figure \ref{fig:firing_characterization}~B) this disamgibuation is important for understanding the outcome of the mutation. In these cases, the regime the neuron is operating in is vital in determining the cell's firing outcome. If it is in its excitable regime and only occasionally generates an action potential, then the effect on the rheobase is more important. If it is firing periodically with high rates, then the change in AUC might be more relevant.
Although, firing differences can be characterized by an area under the curve of the fI curve for fixed current steps this approach characterizes firing as a mixture of key features: rheobase and the initial slope of the fI curve. By probing rheobase directly and using an AUC relative to rheobase, we disambiguate these features and enable insights into the effects on rheobase and initial fI curve steepness. This increases the specificity of our understanding of how ion channel mutations alter firing across neuron types and enable classification as described in Figure \ref{fig:firing_characterization}. Importantly, in cases when ion channel mutations alter rheobase and initial fI curve steepness in ways that oppose effects on firing (upper left and bottom right quadrants of Figure \ref{fig:firing_characterization}~B) this disamgibuation is important for understanding the outcome of the mutation. In these cases, the regime the neuron is operating in is vital in determining the neuron's firing outcome. If it is in its excitable regime and only occasionally generates an action potential, then the effect on the rheobase is more important. If it is firing periodically with high rates, then the change in AUC might be more relevant.
\subsection{Modelling Limitations}
The models used here are simple and while they all capture key aspects of the firing dynamics for their respective cell, they fall short of capturing the complex physiology and biophysics of real cells. However, for the purpose of understanding how different cell-types, or current environments, contribute to diversity in firing outcomes of ion channel mutations, the fidelity of the models to the physiological cells they represent is of a minor concern. For exploring possible cell-type specific effects, variety in currents and dynamics across models is of utmost importance. With this context in mind, the collection of models used here are labelled as models A-L to highlight that the physiological cells they represent is not of chief concern, but rather that the collection of models with different attributes respond heterogeneously to the same perturbation. Additionally, the development of more realistic models is a high priority and will enable cell-type specific predictions that may aid in precision medicine approaches. Thus, weight should not be put on any single predicted firing outcome here in a specific model, but rather on the differences in outcomes that occur across the cell-type spectrum the models used here represent.
The models used here are simple and they all capture key aspects of the firing dynamics for their respective neuron. The simple models fall short of capturing the complex physiology, biophysics and heterogeneity of real neurons, nor do they take into account subunit stoichiometry, auxillary subunits, membrane composition which influence the biophysics of ionic currents \citep{Al-Sabi_2013, Oliver_2004, Pongs_2009, Rettig1994}. However, for the purpose of understanding how different neuron-types, or current environments, contribute to diversity in firing outcomes of ion channel mutations, the fidelity of the models to the physiological neurons they represent is of a minor concern. For exploring possible neuron-type specific effects, variety in currents and dynamics across models is of utmost importance. With this context in mind, the collection of models used here are labelled as models A-L to highlight that the physiological neurons they represent is not of chief concern, but rather that the collection of models with different attributes respond heterogeneously to the same perturbation. Additionally, the development of more realistic models is a high priority and will enable neuron-type specific predictions that may aid precision medicine approaches. Thus, weight should not be put on any single predicted firing outcome here in a specific model, but rather on the differences in outcomes that occur across the neuron-type spectrum the models used here represent. % Menchaca_2012,
\subsection{Neuronal Diversity}
The nervous system consists of a vastly diverse and heterogenous collection of neurons with variable properties and characteristics including diverse combinations and expression levels of ion channels which are vital for neuronal firing dynamics.
Advances in high-throughput techniques have enabled large-scale investigation into single-cell properties across the CNS \citep{Poulin2016} that have revealed large diversity in neuronal gene expression, morphology and neuronal types in the motor cortex \citep{Scala2021}, neocortex \cite{Cadwell2016, Cadwell2020}, GABAergic neurons in the cortex and retina \citep{Huang2019, Laturnus2020}, cerebellum \citep{Kozareva2021}, spinal cord \citep{Alkaslasi2021}, visual cortex \citep{Gouwens2019} as well as the retina \citep{Baden2016, Voigt2019, Berens2017, Yan2020a, Yan2020b}.
Diversity across neurons is not limited to gene expression and can also be seen electrophysiologically \citep{Tripathy2017, Gouwens2018, Tripathy2015, Scala2021, Cadwell2020, Gouwens2019, Baden2016, Berens2017} with correlations existing between gene expression and electrophysiological properties \citep{Tripathy2017}. At the ion channel level, diversity exists not only between the specific ion channels the different cell types express but heterogeneity also exists in ion channel expression levels within cell types \citep{marder_multiple_2011, goaillard_ion_2021,barreiro_-current_2012}. As ion channel properties and expression levels are key determinents of neuronal dynamics and firing \citep{Balachandar2018, Gu2014, Zeberg2015, Aarhem2007, Qi2013, Gu2014a, Zeberg2010, Zhou2020, Kispersky2012} neurons with different ion channel properties and expression levels display different firing properties.
Diversity across neurons is not limited to gene expression and can also be seen electrophysiologically \citep{Tripathy2017, Gouwens2018, Tripathy2015, Scala2021, Cadwell2020, Gouwens2019, Baden2016, Berens2017} with correlations existing between gene expression and electrophysiological properties \citep{Tripathy2017}. At the ion channel level, diversity exists not only between the specific ion channels the different neuron types express but heterogeneity also exists in ion channel expression levels within neuron types \citep{marder_multiple_2011, goaillard_ion_2021,barreiro_-current_2012}. As ion channel properties and expression levels are key determinents of neuronal dynamics and firing \citep{Balachandar2018, Gu2014, Zeberg2015, Aarhem2007, Qi2013, Gu2014a, Zeberg2010, Zhou2020, Kispersky2012} neurons with different ion channel properties and expression levels display different firing properties.
To capture the diversity in neuronal ion channel expression and its relevance in the outcome of ion channel mutations, we used multiple neuronal models with different ionic currents and underlying firing dynamics here.
\subsection{Ionic Current Environments Determine the Effect of Ion Channel Mutations}
To our knowledge, no comprehensive evaluation of how ionic current environment and cell type affect the outcome of ion channel mutations have been reported. However, comparisons between the effects of such mutations between certain cell types were described. For instance, the R1648H mutation in \textit{SCN1A} does not alter the excitability of cortical pyramidal neurons, but causes hypoexcitability of adjacent inhibitory GABAergic neurons \citep{Hedrich14874}. In the CA3 region of the hippocampus, the equivalent mutation in \textit{SCN8A}, R1627H, increases the excitability of pyramidal neurons and decreases the excitability of parvalbumin positive interneurons \cite{makinson_scn1a_2016}. Additionally, the L858H mutation in \(\text{Na}_\text{V}\text{1.7}\), associated with erythermyalgia, has been shown to cause hypoexcitability in sympathetic ganglion neurons and hyperexcitability in dorsal root ganglion neurons \citep{Waxman2007, Rush2006}. The differential effects of L858H \(\text{Na}_\text{V}\text{1.7}\) on firing is dependent on the presence or absence of another sodium channel, namely the \(\text{Na}_\text{V}\text{1.8}\) subunit \citep{Waxman2007, Rush2006}. These findings, in concert with our findings emphasize that the ionic current environment in which a channelopathy occurs is vital in determining the outcomes of the channelopathy on firing.
To our knowledge, no comprehensive evaluation of how ionic current environment and neuron type affect the outcome of ion channel mutations have been reported. However, comparisons between the effects of such mutations between certain neuron types were described. For instance, the R1648H mutation in \textit{SCN1A} does not alter the excitability of cortical pyramidal neurons, but causes hypoexcitability of adjacent inhibitory GABAergic neurons \citep{Hedrich14874}. In the CA3 region of the hippocampus, the equivalent mutation in \textit{SCN8A}, R1627H, increases the excitability of pyramidal neurons and decreases the excitability of parvalbumin positive interneurons \cite{makinson_scn1a_2016}. Additionally, the L858H mutation in \(\text{Na}_\text{V}\text{1.7}\), associated with erythermyalgia, has been shown to cause hypoexcitability in sympathetic ganglion neurons and hyperexcitability in dorsal root ganglion neurons \citep{Waxman2007, Rush2006}. The differential effects of L858H \(\text{Na}_\text{V}\text{1.7}\) on firing is dependent on the presence or absence of another sodium channel, namely the \(\text{Na}_\text{V}\text{1.8}\) subunit \citep{Waxman2007, Rush2006}. These findings, in concert with our findings emphasize that the ionic current environment in which a channelopathy occurs is vital in determining the outcomes of the channelopathy on firing.
Cell type specific differences in ionic current properties are important in the effects of ion channel mutations. However, within a cell type heterogeneity in channel expression levels exists and it is often desirable to generate a population of neuronal models and to screen them for plausibility to biological data in order to capture neuronal population diversity \citep{marder_multiple_2011,OLeary2016}. The models we used here are originally generated by characterization of current gating properties and by fitting of maximal conductances to experimental data \citep{pospischil_minimal_2008, ranjan_kinetic_2019, alexander_cerebellar_2019, otsuka_conductance-based_2004}. This practice of fixing maximal conductances based on experimental data is limiting as it does not reproduce the variability in channel expression and neuronal firing behavior of a heterogeneous neuron population \citep{verma_computational_2020}. For example, a model derived from the mean conductances in a neuronal sub-population within the stomatogastric ganglion, the so-called "one-spike bursting" neurons fire three spikes instead of one per burst due to an L-shaped distribution of sodium and potassium conductances \citep{golowasch_failure_2002}. Multiple sets of conductances can give rise to the same patterns of activity also termed degeneracy and differences in neuronal dynamics may only be evident with perturbations \citep{marder_multiple_2011, goaillard_ion_2021}. The variability in ion channel expression often correlates with the expression of other ion channels \citep{goaillard_ion_2021} and neurons whose behavior is similar may possess correlated variability across different ion channels resulting in stability in the neuronal phenotype \citep{lamb_correlated_2013, soofi_co-variation_2012, taylor_how_2009}. The variability of ionic currents and degeneracy of neurons may account, at least in part, for the observation that the effect of toxins within a neuronal type is frequently not constant \citep{khaliq_relative_2006, puopolo_roles_2007, ransdell_neurons_2013}.
Neuron type specific differences in ionic current properties are important in the effects of ion channel mutations. However, within a neuron type heterogeneity in channel expression levels exists and it is often desirable to generate a population of neuronal models and to screen them for plausibility to biological data in order to capture neuronal population diversity \citep{marder_multiple_2011,OLeary2016}. The models we used here are originally generated by characterization of current gating properties and by fitting of maximal conductances to experimental data \citep{pospischil_minimal_2008, ranjan_kinetic_2019, alexander_cerebellar_2019, otsuka_conductance-based_2004}. This practice of fixing maximal conductances based on experimental data is limiting as it does not reproduce the variability in channel expression and neuronal firing behavior of a heterogeneous neuron population \citep{verma_computational_2020}. For example, a model derived from the mean conductances in a neuronal sub-population within the stomatogastric ganglion, the so-called "one-spike bursting" neurons fire three spikes instead of one per burst due to an L-shaped distribution of sodium and potassium conductances \citep{golowasch_failure_2002}. Multiple sets of conductances can give rise to the same patterns of activity also termed degeneracy and differences in neuronal dynamics may only be evident with perturbations \citep{marder_multiple_2011, goaillard_ion_2021}. The variability in ion channel expression often correlates with the expression of other ion channels \citep{goaillard_ion_2021} and neurons whose behavior is similar may possess correlated variability across different ion channels resulting in stability in the neuronal phenotype \citep{lamb_correlated_2013, soofi_co-variation_2012, taylor_how_2009}. The variability of ionic currents and degeneracy of neurons may account, at least in part, for the observation that the effect of toxins within a neuronal type is frequently not constant \citep{khaliq_relative_2006, puopolo_roles_2007, ransdell_neurons_2013}.
\subsection{Effects of \textit{KCNA1} Mutations}
Changes in delayed rectifier potassium currents, analogous to those seen in LOF \textit{KCNA1} mutations, change the underlying firing dynamics of the Hodgkin Huxley model result in reduced thresholds for repetitive firing and thus contribute to increased excitability \citep{hafez_altered_2020}. Although the Hodgkin Huxley delayed rectifier lacks inactivation, the increases in excitability observed by \citet{hafez_altered_2020} are in line with our simulation-based predictions of the outcomes of \textit{KCNA1} mutations. LOF \textit{KCNA1} mutations generally increase neuronal excitability, however the varying susceptibility on rheobase and different effects on AUC of the fI-curve of \textit{KCNA1} mutations across models are indicative that a certain cell type specific complexity exists. Increased excitability is seen experimentally with \Kv null mice \citep{smart_deletion_1998, zhou_temperature-sensitive_1998}, with pharmacological \Kv block \citep{chi_manipulation_2007, morales-villagran_protection_1996} and by \citet{hafez_altered_2020} with simulation-based predictions of \textit{KCNA1} mutations. Contrary to these results, \citet{zhao_common_2020} predicted \textit{in silico} that the depolarizing shifts seen as a result of \textit{KCNA1} mutations broaden action potentials and interfere negatively with high frequency action potential firing. However, they varied stimulus duration between different models and therefore comparability of firing rates is lacking in this study.
Changes in delayed rectifier potassium currents, analogous to those seen in LOF \textit{KCNA1} mutations, change the underlying firing dynamics of the Hodgkin Huxley model result in reduced thresholds for repetitive firing and thus contribute to increased excitability \citep{hafez_altered_2020}. Although the Hodgkin Huxley delayed rectifier lacks inactivation, the increases in excitability observed by \citet{hafez_altered_2020} are in line with our simulation-based predictions of the outcomes of \textit{KCNA1} mutations. LOF \textit{KCNA1} mutations generally increase neuronal excitability, however the varying susceptibility on rheobase and different effects on AUC of the fI-curve of \textit{KCNA1} mutations across models are indicative that a certain neuron type specific complexity exists. Increased excitability is seen experimentally with \Kv null mice \citep{smart_deletion_1998, zhou_temperature-sensitive_1998}, with pharmacological \Kv block \citep{chi_manipulation_2007, morales-villagran_protection_1996} and by \citet{hafez_altered_2020} with simulation-based predictions of \textit{KCNA1} mutations. Contrary to these results, \citet{zhao_common_2020} predicted \textit{in silico} that the depolarizing shifts seen as a result of \textit{KCNA1} mutations broaden action potentials and interfere negatively with high frequency action potential firing. However, they varied stimulus duration between different models and therefore comparability of firing rates is lacking in this study.
In our simulations, different current properties alter the impact of \textit{KCNA1} mutations on firing as evident in the differences seen in the impact of \(\text{I}_\text{A}\) and \IKv in the Cb stellate and STN model families on \textit{KCNA1} mutation firing. This highlights that not only knowledge of the biophysical properties of a channel but also its neuronal expression and other neuronal channels present is vital for the holistic understanding of the effects of a given ion channel mutation both at the single cell and network level.
\subsection{Loss or Gain of Function Characterizations Do Not Fully Capture Ion Channel Mutation Effects on Firing}
The effects of changes in channel properties depend in part on the neuronal model in which they occur and can be seen in the variance of correlations (especially in AUC of the fI-curve) across models for a given current property change. Therefore, relative conductances and gating properties of currents in the ionic current environment in which an alteration in current properties occurs plays an important role in determining the outcome on firing. The use of LOF and GOF is useful at the level of ion channels to indicate whether a mutation results in more or less ionic current. However, the extension of this thinking onto whether mutations induce LOF or GOF at the level of neuronal firing based on the ionic current LOF/GOF is problematic due to the dependency of neuronal firing changes on the ionic channel environment. Thus, the direct leap from current level LOF/GOF characterizations to effects on firing without experimental or modelling-based evidence, although tempting, should be refrained from and viewed with caution when reported. This is especially relevant in the recent development of personalized medicine for channelopathies, where a patient's specific channelopathy is identified and used to tailor treatments \citep{Weber2017, Ackerman2013, Helbig2020, Gnecchi2021, Musto2020, Brunklaus2022, Hedrich2021}. However, in these cases the effects of specific ion channel mutations are often characterized based on ionic currents in expression systems and classified as LOF or GOF to aid in treatment decisions \citep{johannesen_genotype-phenotype_2021, Brunklaus2022, Musto2020}. Although positive treatment outcomes occur with sodium channel blockers in patients with GOF \(\text{Na}_{\text{V}}\text{1.6}\) mutations, patients with both LOF and GOF \(\text{Na}_{\text{V}}\text{1.6}\) mutations can benefit from treatment with sodium channel blockers \citep{johannesen_genotype-phenotype_2021}. This example suggests that the relationship between effects at the level of ion channels and effects at the level of firing and therapeutics is not linear or evident without further contextual information.
Therefore, the transferring of LOF or GOF from the current to the firing level should be used with caution; the cell type in which the mutant ion channel is expressed may provide valuable insight into the functional consequences of an ion channel mutation. Experimental assessment of the effects of a patient's specific ion channel mutation \textit{in vivo} is not generally feasible at a large scale. Therefore, modelling approaches investigating the effects of patient specific channelopathies provide an alternative bridge between characterization of changes in biophysical properties of ionic currents and the firing consequences of these effects. In both experimental and modelling investigation into the effects of ion channel mutations on neuronal firing the specific cell-type dependency should be considered.
Therefore, the transferring of LOF or GOF from the current to the firing level should be used with caution; the neuron type in which the mutant ion channel is expressed may provide valuable insight into the functional consequences of an ion channel mutation. Experimental assessment of the effects of a patient's specific ion channel mutation \textit{in vivo} is not generally feasible at a large scale. Therefore, modelling approaches investigating the effects of patient specific channelopathies provide an alternative bridge between characterization of changes in biophysical properties of ionic currents and the firing consequences of these effects. In both experimental and modelling investigation into the effects of ion channel mutations on neuronal firing the specific neuron-type dependency should be considered.
The effects of altered ion channel properties on firing is generally influenced by the other ionic currents present in the cell. In channelopathies the effect of a given ion channel mutation on neuronal firing therefore depends on the cell type in which those changes occur \citep{Hedrich14874, makinson_scn1a_2016, Waxman2007, Rush2006}. Although certain complexities of neurons such as differences in cell-type sensitivities to current property changes, interactions between ionic currents, cell morphology and subcellular ion channel distribution are neglected here, it is likely that this increased complexity \textit{in vivo} would contribute to the cell-type dependent effects on neuronal firing. The complexity and nuances of the nervous system, including cell-type dependent firing effects of channelopathies explored here, likely underlie shortcomings in treatment approaches in patients with channelopathies. Accounting for cell-type dependent firing effects provides an opportunity to further the efficacy and precision in personalized medicine approaches.
The effects of altered ion channel properties on firing is generally influenced by the other ionic currents present in the neuron. In channelopathies the effect of a given ion channel mutation on neuronal firing therefore depends on the neuron type in which those changes occur \citep{Hedrich14874, makinson_scn1a_2016, Waxman2007, Rush2006}. Although certain complexities of neurons such as differences in neuron-type sensitivities to current property changes, interactions between ionic currents, cell morphology and subcellular ion channel distribution are neglected here, it is likely that this increased complexity \textit{in vivo} would contribute to the neuron-type dependent effects on neuronal firing. The complexity and nuances of the nervous system, including neuron-type dependent firing effects of channelopathies explored here, likely underlie shortcomings in treatment approaches in patients with channelopathies. Accounting for neuron-type dependent firing effects provides an opportunity to improve the efficacy and precision in personalized medicine approaches.
With this study we suggest that cell-type specific effects are vital to a full understanding of the effects of channelopathies at the level of neuronal firing. Furthermore, we highlight the use of modelling approaches to enable relatively fast and efficient insight into channelopathies.
With this study we suggest that neuron-type specific effects are vital to a full understanding of the effects of channelopathies at the level of neuronal firing. Furthermore, we highlight the use of modelling approaches to enable relatively fast and efficient insight into channelopathies.
%\section{Article types}
%
@ -279,19 +282,19 @@ With this study we suggest that cell-type specific effects are vital to a full u
%Tables should be inserted at the end of the manuscript. Please build your table directly in LaTeX.Tables provided as jpeg/tiff files will not be accepted. Please note that very large tables (covering several pages) cannot be included in the final PDF for reasons of space. These tables will be published as \href{https://www.frontiersin.org/guidelines/author-guidelines#supplementary-material}{Supplementary Material} on the online article page at the time of acceptance. The author will be notified during the typesetting of the final article if this is the case.
%
\subsection{Resource Identification Initiative}
To take part in the Resource Identification Initiative, please use the corresponding catalog number and RRID in your current manuscript. For more information about the project and for steps on how to search for an RRID, please click \href{http://www.frontiersin.org/files/pdf/letter_to_author.pdf}{here}.
\notenk{did this for Python in the methods}
\subsection{Life Science Identifiers}
Life Science Identifiers (LSIDs) for ZOOBANK registered names or nomenclatural acts should be listed in the manuscript before the keywords. For more information on LSIDs please see the \href{https://www.frontiersin.org/guidelines/author-guidelines#nomenclature}{Nomenclature} section of the guidelines.
\notenk{Not sure if we need to do this, or what to do?}
\section{Additional Requirements}
For additional requirements for specific article types and further information please refer to the individual Frontiers journal pages
\notenk{Original Research articles are peer-reviewed, have a maximum word count of 12,000 and may contain no more than 15 Figures/Tables. Authors are required to pay a fee (A-type article) to publish an Original Research article. Original Research articles should have the following format: 1) Abstract, 2) Introduction, 3) Materials and Methods, 4) Results, 5) Discussion. All article types require a minimum of five and a maximum of eight keywords.}
%
%\subsection{Resource Identification Initiative}
%To take part in the Resource Identification Initiative, please use the corresponding catalog number and RRID in your current manuscript. For more information about the project and for steps on how to search for an RRID, please click \href{http://www.frontiersin.org/files/pdf/letter_to_author.pdf}{here}.
%\notenk{did this for Python in the methods}
%\subsection{Life Science Identifiers}
%Life Science Identifiers (LSIDs) for ZOOBANK registered names or nomenclatural acts should be listed in the manuscript before the keywords. For more information on LSIDs please see the \href{https://www.frontiersin.org/guidelines/author-guidelines#nomenclature}{Nomenclature} section of the guidelines.
%\notenk{Not sure if we need to do this, or what to do?}
%
%\section{Additional Requirements}
%
%For additional requirements for specific article types and further information please refer to the individual Frontiers journal pages
%
%\notenk{Original Research articles are peer-reviewed, have a maximum word count of 12,000 and may contain no more than 15 Figures/Tables. Authors are required to pay a fee (A-type article) to publish an Original Research article. Original Research articles should have the following format: 1) Abstract, 2) Introduction, 3) Materials and Methods, 4) Results, 5) Discussion. All article types require a minimum of five and a maximum of eight keywords.}
\subsection*{\textcolor{red}{Contribution to the field}}
\notenk{Contribution to the field. Ahead of submission, you should prepare a statement summarizing in 200 words your manuscripts contribution to, and position in, the existing literature of your field. This should be written avoiding any technical language or non-standard acronyms. The aim should be to convey the meaning and importance of this research to a non-expert. (Note that you will NOT be able to provide a traditional cover letter.)}
@ -300,13 +303,13 @@ For additional requirements for specific article types and further information p
Although the genetic nature of ion channel mutations as well as their effects on the biophysical properties of an ion channel are routinely assessed experimentally in the context of neurological disorders such as epilepsy and ataxia, determination of their role in altering neuronal firing is more difficult.
However, cell-type dependency of ion channel mutations on firing has been observed experimentally. Here we demonstrate that the cell type in which a mutation occurs is an important determinant in the effects of neuronal firing. As a result classification of ion channel mutations as loss or gain of function is useful to describe the ionic current but should not be blindly extend to classification at the level of neuronal firing nor used to directly inform therapeutic approaches. The knowledge of whether a mutation increases or decreases neuronal excitability is vital in the context of state-of-the-art personalized medicine approaches in this area where treatments are mainly based on biophysical properties only. As such taking cell-type dependence of the firing effects of ion channel mutations provides a promising direction to increase efficacy in personalized medicine approaches.
However, neuron-type dependency of ion channel mutations on firing has been observed experimentally. Here we demonstrate that the neuron type in which a mutation occurs is an important determinant in the effects of neuronal firing. As a result classification of ion channel mutations as loss or gain of function is useful to describe the ionic current but should not be blindly extend to classification at the level of neuronal firing nor used to directly inform therapeutic approaches. The knowledge of whether a mutation increases or decreases neuronal excitability is vital in the context of state-of-the-art personalized medicine approaches in this area where treatments are mainly based on biophysical properties only. As such taking neuron-type dependence of the firing effects of ion channel mutations provides a promising direction to increase efficacy in personalized medicine approaches.
Taken together, our findings highlight that neuronal type and the respective ionic current composition is of vital importance and must be considered when assessing the effects of mutations on neuronal firing and for determining therapeutic strategies for ion channal mutations.
\textit{Significance statement from eNeuro}\\
\textit{Although the genetic nature of ion channel mutations as well as their effects on the biophysical properties of an ion channel are routinely assessed experimentally, determination of their role in altering neuronal firing is more difficult. In particular, cell-type dependency of ion channel mutations on firing has been observed experimentally, and should be accounted for. In this context, computational modelling bridges this gap and demonstrates that the cell type in which a mutation occurs is an important determinant in the effects of neuronal firing. As a result, classification of ion channel mutations as loss or gain of function is useful to describe the ionic current but should not be blindly extend to classification at the level of neuronal firing.}
%\textit{Significance statement from eNeuro}\\
%\textit{Although the genetic nature of ion channel mutations as well as their effects on the biophysical properties of an ion channel are routinely assessed experimentally, determination of their role in altering neuronal firing is more difficult. In particular, cell-type dependency of ion channel mutations on firing has been observed experimentally, and should be accounted for. In this context, computational modelling bridges this gap and demonstrates that the cell type in which a mutation occurs is an important determinant in the effects of neuronal firing. As a result, classification of ion channel mutations as loss or gain of function is useful to describe the ionic current but should not be blindly extend to classification at the level of neuronal firing.}
%\textit{Cover letter from eNeuro}\\
%\textit{Dear Editors,
@ -340,9 +343,9 @@ This work was supported by the German Research Foundation in the Frame of the Re
\section*{Acknowledgments}
%This is a short text to acknowledge the contributions of specific colleagues, institutions, or agencies that aided the efforts of the authors.
\section*{Supplemental Data}
\href{https://www.frontiersin.org/guidelines/author-guidelines#supplementary-material}{Supplementary Material} should be uploaded separately on submission, if there are Supplementary Figures, please include the caption in the same file as the figure. LaTeX Supplementary Material templates can be found in the Frontiers LaTeX folder.
\notenk{See ./Koch\_SupplementaryMaterial.tex}
%\section*{Supplemental Data}
% \href{https://www.frontiersin.org/guidelines/author-guidelines#supplementary-material}{Supplementary Material} should be uploaded separately on submission, if there are Supplementary Figures, please include the caption in the same file as the figure. LaTeX Supplementary Material templates can be found in the Frontiers LaTeX folder.
% \notenk{See ./Koch\_SupplementaryMaterial.tex}
\section*{Data Availability Statement}
@ -392,7 +395,7 @@ Changes in firing as characterized by \(\Delta\)AUC and \(\Delta\)rheobase occup
\centering
\includegraphics[width=\linewidth]{Figures/AUC_correlation.pdf}
\linespread{1.}\selectfont
\caption[]{Effects of altered channel kinetics on AUC in various neuron models. The fI curves corresponding to shifts in model G delayed rectifier K half activation \(V_{1/2}\) \textbf{(A)}, changes \Kv activation slope factor \(k\) in model G \textbf{(D)}, and changes in maximal conductance of delayed rectifier K current in the model I \textbf{(G)} are shown. The fI curves from the smallest (grey) to the largest (black) alterations are seen for \textbf{(A,D,} and \textbf{G}) in accordance to the greyscale of the x-axis in B, E, and H. The \ndAUC of fI curves is plotted against delayed rectifier K half activation potential (\(\Delta V_{1/2}\); \textbf{B}), \Kv activation slope factor \(k\) (k/\(\text{k}_{\text{WT}}\); \textbf{E}) and maximal conductance \(g\) of the delayed rectifier K current (g/\(\text{g}_{\text{WT}}\); \textbf{H}) for all models (thin lines) with relationships from the fI curve examples ( \textbf{A, D, G} respectively) highlighted by thick lines with colors corresponding to the box highlighting each set of fI curves. The Kendall rank correlation (Kendall \(\tau\)) coefficients between shifts in half maximal potential \(V_{1/2}\) and \ndAUC \textbf{(C)}, slope factor k and \ndAUC \textbf{(F)} as well as maximal current conductances and \ndAUC \textbf{(I)} for each model and current property is computed. The relationships between \(\Delta V_{1/2}\), k/\(\text{k}_{\text{WT}}\), and g/\(\text{g}_{\text{WT}}\) and \ndAUC for the Kendall rank correlations highlighted in the black boxes are depicted in \textbf{(B)}, \textbf{(E)} and \textbf{(H)} respectively. }
\caption[]{Effects of altered channel kinetics on AUC in various neuron models. The fI curves corresponding to shifts in model G delayed rectifier Kd half activation \(V_{1/2}\) \textbf{(A)}, changes \Kv activation slope factor \(k\) in model G \textbf{(D)}, and changes in maximal conductance of delayed rectifier K current in the model I \textbf{(G)} are shown. The fI curves from the smallest (grey) to the largest (black) alterations are seen for \textbf{(A,D,} and \textbf{G}) in accordance to the greyscale of the x-axis in B, E, and H. The \ndAUC of fI curves is plotted against delayed rectifier K half activation potential (\(\Delta V_{1/2}\); \textbf{B}), \Kv activation slope factor \(k\) (k/\(\text{k}_{\text{WT}}\); \textbf{E}) and maximal conductance \(g\) of the delayed rectifier Kd current (g/\(\text{g}_{\text{WT}}\); \textbf{H}) for all models (thin lines) with relationships from the fI curve examples ( \textbf{A, D, G} respectively) highlighted by thick lines with colors corresponding to the box highlighting each set of fI curves. The Kendall rank correlation (Kendall \(\tau\)) coefficients between shifts in half maximal potential \(V_{1/2}\) and \ndAUC \textbf{(C)}, slope factor k and \ndAUC \textbf{(F)} as well as maximal current conductances and \ndAUC \textbf{(I)} for each model and current property is computed. The relationships between \(\Delta V_{1/2}\), k/\(\text{k}_{\text{WT}}\), and g/\(\text{g}_{\text{WT}}\) and \ndAUC for the Kendall rank correlations highlighted in the black boxes are depicted in \textbf{(B)}, \textbf{(E)} and \textbf{(H)} respectively. }
\label{fig:AUC_correlation}
\end{figure}

View File

@ -14,7 +14,7 @@
Model & D (H) & B (E) & C (G) & A & F & J & L & I & K \\
\Xhline{1\arrayrulewidth}
\(g_{Na}\) & \(56\) & \(10\) & \(58\) & \(3.4\) & \(3.4\) & \(3.4\) & \(49\) & \(49\) & \(49\) \\
\(g_{K}\) & \(6\) (\(5.4\)) & 2.1 (\(1.89\)) & 3.9 (\(3.51\)) & \(9.0556\) & \(8.15\) &\(9.0556\) & \(57\) & \(56.43\) & \(57\) \\
\(g_{Kd}\) & \(6\) (\(5.4\)) & 2.1 (\(1.89\)) & 3.9 (\(3.51\)) & \(9.0556\) & \(8.15\) &\(9.0556\) & \(57\) & \(56.43\) & \(57\) \\
\(g_{K_V1.1}\) & --- (\(0.6\)) & --- (\(0.21\)) & --- (\(0.39\)) & --- & \(0.90556\) & \(1.50159\) & --- & \(0.57\) & \(0.5\) \\
\(g_{A}\) & --- & --- & --- & \(15.0159\) & \(15.0159\) & --- & \(5\) & \(5\) & --- \\
\(g_{M}\) & \(0.075\) & \(0.0098\) &\(0.075\) & --- & --- & --- & --- & --- & --- \\

View File

@ -1,4 +1,91 @@
@article{Pongs_2009,
author = {Pongs, Olaf and Schwarz, J\"{u}rgen R.},
title = {Ancillary Subunits Associated With Voltage-Dependent {K}+ Channels},
journal = {Physiological Reviews},
volume = {90},
number = {2},
pages = {755-796},
year = {2010},
doi = {10.1152/physrev.00020.2009},
note ={PMID: 20393197},
abstract = { Since the first discovery of Kvβ-subunits more than 15 years ago, many more ancillary Kv channel subunits were characterized, for example, KChIPs, KCNEs, and BKβ-subunits. The ancillary subunits are often integral parts of native Kv channels, which, therefore, are mostly multiprotein complexes composed of voltage-sensing and pore-forming Kvα-subunits and of ancillary or β-subunits. Apparently, Kv channels need the ancillary subunits to fulfill their many different cell physiological roles. This is reflected by the large structural diversity observed with ancillary subunit structures. They range from proteins with transmembrane segments and extracellular domains to purely cytoplasmic proteins. Ancillary subunits modulate Kv channel gating but can also have a great impact on channel assembly, on channel trafficking to and from the cellular surface, and on targeting Kv channels to different cellular compartments. The importance of the role of accessory subunits is further emphasized by the number of mutations that are associated in both humans and animals with diseases like hypertension, epilepsy, arrhythmogenesis, periodic paralysis, and hypothyroidism. Interestingly, several ancillary subunits have in vitro enzymatic activity; for example, Kvβ-subunits are oxidoreductases, or modulate enzymatic activity, i.e., KChIP3 modulates presenilin activity. Thus different modes of β-subunit association and of functional impact on Kv channels can be delineated, making it difficult to extract common principles underlying Kvα- and β-subunit interactions. We critically review present knowledge on the physiological role of ancillary Kv channel subunits and their effects on Kv channel properties. }
}
@Article{Rettig1994,
author = {Rettig, Jens and Heinemann, Stefan H. and Wunder, Frank and Lorra, Christoph and Parcej, David N. and Oliver Dolly, J. and Pongs, Olaf},
journal = {Nature},
title = {Inactivation properties of voltage-gated {K}+ channels altered by presence of β-subunit},
year = {1994},
issn = {1476-4687},
month = may,
number = {6478},
pages = {289--294},
volume = {369},
abstract = {Structural and functional diversity of voltage-gated Kv1-type potassium channels in rat brain is enhanced by the association of two different types of subunits, the membrane-bound, pore-forming α-subunits and a peripheral β-subunit. We have cloned a β-subunit (Kvβ1) that is specifically expressed in the rat nervous system. Association of Kvβ1 with α-subunits confers rapid A-type inactivation on non-inactivating Kv1 channels (delayed rectifiers) in expression systems in vitro. This effect is mediated by an inactivating ball domain in the Kvβ1 amino terminus.},
copyright = {1994 Nature Publishing Group},
doi = {10.1038/369289a0},
keywords = {Science, Humanities and Social Sciences, multidisciplinary, Science, multidisciplinary},
publisher = {Nature Publishing Group}
}
@article{Oliver_2004,
author = {Dominik Oliver and Cheng-Chang Lien and Malle Soom and Thomas Baukrowitz and Peter Jonas and Bernd Fakler },
title = {Functional Conversion Between A-Type and Delayed Rectifier K<sup>+</sup> Channels by Membrane Lipids},
journal = {Science},
volume = {304},
number = {5668},
pages = {265-270},
year = {2004},
doi = {10.1126/science.1094113},
abstract = {Voltage-gated potassium (Kv) channels control action potential repolarization, interspike membrane potential, and action potential frequency in excitable cells. It is thought that the combinatorial association between distinct α and β subunits determines whether Kv channels function as non-inactivating delayed rectifiers or as rapidly inactivating A-type channels. We show that membrane lipids can convert A-type channels into delayed rectifiers and vice versa. Phosphoinositides remove N-type inactivation from A-type channels by immobilizing the inactivation domains. Conversely, arachidonic acid and its amide anandamide endow delayed rectifiers with rapid voltage-dependent inactivation. The bidirectional control of Kv channel gating by lipids may provide a mechanism for the dynamic regulation of electrical signaling in the nervous system.}}
@ARTICLE{Menchaca_2012,
AUTHOR={Rodríguez Menchaca, Aldo and Adney, Scott and Zhou, Lei and Logothetis, Diomedes},
TITLE={Dual Regulation of Voltage-Sensitive Ion Channels by PIP2},
JOURNAL={Frontiers in Pharmacology},
VOLUME={3},
YEAR={2012},
DOI={10.3389/fphar.2012.00170},
ISSN={1663-9812},
ABSTRACT={Over the past 16years, there has been an impressive number of ion channels shown to be sensitive to the major phosphoinositide in the plasma membrane, phosphatidylinositol 4,5-bisphosphate (PIP<sub>2</sub>). Among them are voltage-gated channels, which are crucial for both neuronal and cardiac excitability. Voltage-gated calcium (Cav) channels were shown to be regulated bidirectionally by PIP<sub>2</sub>. On one hand, PIP<sub>2</sub> stabilized their activity by reducing current rundown but on the other hand it produced a voltage-dependent inhibition by shifting the activation curve to more positive voltages. For voltage-gated potassium (Kv) channels PIP<sub>2</sub> was first shown to prevent N-type inactivation regardless of whether the fast inactivation gate was part of the pore-forming α subunit or of an accessory β subunit. Careful examination of the effects of PIP<sub>2</sub> on the activation mechanism of Kv1.2 has shown a similar bidirectional regulation as in the Cav channels. The two effects could be distinguished kinetically, in terms of their sensitivities to PIP<sub>2</sub> and by distinct molecular determinants. The rightward shift of the Kv1.2 voltage dependence implicated basic residues in the S4S5 linker and was consistent with stabilization of the inactive state of the voltage sensor. A third type of a voltage-gated ion channel modulated by PIP<sub>2</sub> is the hyperpolarization-activated cyclic nucleotide-gated (HCN) channel. PIP<sub>2</sub> has been shown to enhance the opening of HCN channels by shifting their voltage-dependent activation toward depolarized potentials. The sea urchin HCN channel, SpIH, showed again a PIP<sub>2</sub>-mediated bidirectional effect but in reverse order than the depolarization-activated Cav and Kv channels: a voltage-dependent potentiation, like the mammalian HCN channels, but also an inhibition of the cGMP-induced current activation. Just like the Kv1.2 channels, distinct molecular determinants underlied the PIP<sub>2</sub> dual effects on SpIH, with the proximal C-terminus implicated in the inhibitory effect. The dual regulation of these very different ion channels, all of which are voltage-dependent, points to conserved mechanisms of regulation of these channels by PIP<sub>2</sub>.}
}
@article{Al-Sabi_2013,
author = {Al-Sabi, Ahmed and Kaza, Seshu Kumar and Dolly, J. Oliver and Wang, Jiafu},
title = "{Pharmacological characteristics of Kv1.1- and Kv1.2-containing channels are influenced by the stoichiometry and positioning of their α subunits}",
journal = {Biochemical Journal},
volume = {454},
number = {1},
pages = {101-108},
year = {2013},
month = {07},
abstract = "{Voltage-sensitive neuronal Kv1 channels composed of four α subunits and four associated auxiliary β subunits control neuronal excitability and neurotransmission. Limited information exists on the combinations of α subunit isoforms (i.e. Kv1.11.6) or their positions in the oligomers, and how these affect sensitivity to blockers. It is known that TEA (tetraethylammonium) inhibits Kv1.1 channels largely due to binding a critical tyrosine (Tyr379) in the pore, whereas Val381 at the equivalent location in Kv1.2 makes it insensitive. With the eventual aim of developing blockers for therapeutic purposes, Kv1.1 and 1.2 α subunit genes were concatenated to form combinations representing those in central neurons, followed by surface expression in HEK (human embryonic kidney)-293 cells as single-chain functional proteins. Patch-clamp recordings demonstrated the influences of the ratios and positioning of these α subunits on the biophysical and pharmacological properties of oligomeric K+ channels. Raising the ratio of Kv1.1 to Kv1.2 in Kv1.2-1.2-1.1-1.2 led to the resultant channels being more sensitive to TEA and also affected their biophysical parameters. Moreover, mutagenesis of one or more residues in the first Kv1.2 to resemble those in Kv1.1 increased TEA sensitivity only when it is adjacent to a Kv1.1 subunit, whereas placing a non-interactive subunit between these two diminished susceptibility. The findings of the present study support the possibility of α subunits being precisely arranged in Kv1 channels, rather than being randomly assembled. This is important in designing drugs with abilities to inhibit particular oligomeric Kv1 subtypes, with the goal of elevating neuronal excitability and improving neurotransmission in certain diseases.}",
issn = {0264-6021},
doi = {10.1042/BJ20130297},
}
@Article{Bryson_2020,
author = {Alexander Bryson and Robert John Hatch and Bas-Jan Zandt and Christian Rossert and Samuel F. Berkovic and Christopher A. Reid and David B. Grayden and Sean L. Hill and Steven Petrou},
journal = {Proceedings of the National Academy of Sciences},
title = {GABA-mediated tonic inhibition differentially modulates gain in functional subtypes of cortical interneurons},
year = {2020},
number = {6},
pages = {3192-3202},
volume = {117},
abstract = {The binding of GABA (γ-aminobutyric acid) to extrasynaptic GABAA receptors generates tonic inhibition that acts as a powerful modulator of cortical network activity. Despite GABA being present throughout the extracellular space of the brain, previous work has shown that GABA may differentially modulate the excitability of neuron subtypes according to variation in chloride gradient. Here, using biophysically detailed neuron models, we predict that tonic inhibition can differentially modulate the excitability of neuron subtypes according to variation in electrophysiological properties. Surprisingly, tonic inhibition increased the responsiveness (or gain) in models with features typical for somatostatin interneurons but decreased gain in models with features typical for parvalbumin interneurons. Patch-clamp recordings from cortical interneurons supported these predictions, and further in silico analysis was then performed to seek a putative mechanism underlying gain modulation. We found that gain modulation in models was dependent upon the magnitude of tonic current generated at depolarized membrane potential—a property associated with outward rectifying GABAA receptors. Furthermore, tonic inhibition produced two biophysical changes in models of relevance to neuronal excitability: 1) enhanced action potential repolarization via increased current flow into the dendritic compartment, and 2) reduced activation of voltage-dependent potassium channels. Finally, we show theoretically that reduced potassium channel activation selectively increases gain in models possessing action potential dynamics typical for somatostatin interneurons. Potassium channels in parvalbumin-type models deactivate rapidly and are unavailable for further modulation. These findings show that GABA can differentially modulate interneuron excitability and suggest a mechanism through which this occurs in silico via differences of intrinsic electrophysiological properties.},
doi = {10.1073/pnas.1906369117},
}
@article{Bayraktar,