diff --git a/actions/comparisons-gridcells/attributes.yaml b/actions/comparisons-gridcells/attributes.yaml new file mode 100644 index 000000000..684d3298c --- /dev/null +++ b/actions/comparisons-gridcells/attributes.yaml @@ -0,0 +1,4 @@ +registered: '2019-10-10T11:59:47' +data: + notebook: 20_comparisons_gridcells.ipynb + html: 20_comparisons_gridcells.html diff --git a/actions/comparisons-gridcells/data/20_comparisons_gridcells.html b/actions/comparisons-gridcells/data/20_comparisons_gridcells.html new file mode 100644 index 000000000..fcfcbce38 --- /dev/null +++ b/actions/comparisons-gridcells/data/20_comparisons_gridcells.html @@ -0,0 +1,16653 @@ + + +
+ +%load_ext autoreload
+%autoreload 2
+
import os
+import pathlib
+import numpy as np
+import matplotlib.pyplot as plt
+import re
+import shutil
+import pandas as pd
+import scipy.stats
+
+import exdir
+import expipe
+from distutils.dir_util import copy_tree
+import septum_mec
+import spatial_maps as sp
+import head_direction.head as head
+import septum_mec.analysis.data_processing as dp
+import septum_mec.analysis.registration
+from septum_mec.analysis.plotting import violinplot
+
+from spike_statistics.core import permutation_resampling
+
project_path = dp.project_path()
+project = expipe.get_project(project_path)
+actions = project.actions
+
+output_path = pathlib.Path("output") / "comparisons-gridcells"
+(output_path / "statistics").mkdir(exist_ok=True, parents=True)
+(output_path / "figures").mkdir(exist_ok=True, parents=True)
+
statistics_action = actions['calculate-statistics']
+identification_action = actions['identify-neurons']
+sessions = pd.read_csv(identification_action.data_path('sessions'))
+units = pd.read_csv(identification_action.data_path('units'))
+session_units = pd.merge(sessions, units, on='action')
+statistics_results = pd.read_csv(statistics_action.data_path('results'))
+statistics = pd.merge(session_units, statistics_results, how='left')
+statistics.head()
+
shuffling = actions['shuffling']
+quantiles_95 = pd.read_csv(shuffling.data_path('quantiles_95'))
+quantiles_95.head()
+
action_columns = ['action', 'channel_group', 'unit_name']
+data = pd.merge(statistics, quantiles_95, on=action_columns, suffixes=("", "_threshold"))
+
+data['specificity'] = np.log10(data['in_field_mean_rate'] / data['out_field_mean_rate'])
+
+data.head()
+
data.groupby('stimulated').count()['action']
+
query = 'gridness > gridness_threshold and information_rate > information_rate_threshold'
+sessions_above_threshold = data.query(query)
+print("Number of gridcells", len(sessions_above_threshold))
+print("Number of animals", len(sessions_above_threshold.groupby(['entity'])))
+
baseline = sessions_above_threshold.query('baseline')
+
gridcell_in_baseline = data[data.unit_id.isin(baseline.unit_id)]
+
baseline_i = gridcell_in_baseline.query('baseline and i')
+stimulated_11 = gridcell_in_baseline.query('frequency==11 and stim_location=="ms" and i')
+
+baseline_ii = gridcell_in_baseline.query('baseline and ii')
+stimulated_30 = gridcell_in_baseline.query('frequency==30 and stim_location=="ms" and ii')
+
+print("Number of gridcells in baseline i sessions", len(baseline_i))
+print("Number of gridcells in stimulated 11Hz ms sessions", len(stimulated_11))
+
+print("Number of gridcells in baseline ii sessions", len(baseline_ii))
+print("Number of gridcells in stimulated 30Hz ms sessions", len(stimulated_30))
+
baseline_i = baseline_i.drop_duplicates('unit_id')
+stimulated_11 = stimulated_11.drop_duplicates('unit_id')
+baseline_ii = baseline_ii.drop_duplicates('unit_id')
+stimulated_30 = stimulated_30.drop_duplicates('unit_id')
+
print("Number of gridcells in baseline i sessions", len(baseline_i))
+print("Number of gridcells in stimulated 11Hz ms sessions", len(stimulated_11))
+
+print("Number of gridcells in baseline ii sessions", len(baseline_ii))
+print("Number of gridcells in stimulated 30Hz ms sessions", len(stimulated_30))
+
columns = [
+ 'average_rate', 'gridness', 'sparsity', 'selectivity', 'information_specificity',
+ 'max_rate', 'information_rate', 'interspike_interval_cv',
+ 'in_field_mean_rate', 'out_field_mean_rate',
+ 'burst_event_ratio', 'specificity', 'speed_score'
+]
+
gridcell_in_baseline.groupby('stimulated')[columns].mean()
+
gridcell_in_baseline.query('baseline')[columns].describe()
+
gridcell_in_baseline.query("stimulated")[columns].describe()
+
def summarize(data):
+ return "{:.2f} ± {:.2f} ({})".format(data.mean(), data.sem(), sum(~np.isnan(data)))
+
+
+def MWU(column, stim, base):
+ '''
+ Mann Whitney U
+ '''
+ Uvalue, pvalue = scipy.stats.mannwhitneyu(
+ stim[column].dropna(),
+ base[column].dropna(),
+ alternative='two-sided')
+
+ return "{:.2f}, {:.3f}".format(Uvalue, pvalue)
+
+
+def PRS(column, stim, base):
+ '''
+ Permutation ReSampling
+ '''
+ pvalue, observed_diff, diffs = permutation_resampling(
+ stim[column].dropna(),
+ base[column].dropna(), statistic=np.median)
+
+ return "{:.2f}, {:.3f}".format(observed_diff, pvalue)
+
+
+def rename(name):
+ return name.replace("_field", "-field").replace("_", " ").capitalize()
+
_stim_data = gridcell_in_baseline.query('stimulated')
+_base_data = gridcell_in_baseline.query('baseline')
+
+result = pd.DataFrame()
+
+result['Stimulated'] = _stim_data[columns].agg(summarize)
+result['Baseline'] = _base_data[columns].agg(summarize)
+
+result.index = map(rename, result.index)
+
+result['MWU'] = list(map(lambda x: MWU(x, _stim_data, _base_data), columns))
+result['PRS'] = list(map(lambda x: PRS(x, _stim_data, _base_data), columns))
+
+result.to_latex(output_path / "statistics" / "statistics.tex")
+result.to_latex(output_path / "statistics" / "statistics.csv")
+result
+
_stim_data = stimulated_11
+_base_data = baseline_i
+
+result = pd.DataFrame()
+
+result['Stimulated'] = _stim_data[columns].agg(summarize)
+result['Baseline'] = _base_data[columns].agg(summarize)
+
+result.index = map(rename, result.index)
+
+result['MWU'] = list(map(lambda x: MWU(x, _stim_data, _base_data), columns))
+result['PRS'] = list(map(lambda x: PRS(x, _stim_data, _base_data), columns))
+
+
+result.to_latex(output_path / "statistics" / "statistics_11.tex")
+result.to_latex(output_path / "statistics" / "statistics_11.csv")
+result
+
_stim_data = stimulated_30
+_base_data = baseline_ii
+
+result = pd.DataFrame()
+
+result['Stimulated'] = _stim_data[columns].agg(summarize)
+result['Baseline'] = _base_data[columns].agg(summarize)
+
+result.index = map(rename, result.index)
+
+result['MWU'] = list(map(lambda x: MWU(x, _stim_data, _base_data), columns))
+result['PRS'] = list(map(lambda x: PRS(x, _stim_data, _base_data), columns))
+
+
+result.to_latex(output_path / "statistics" / "statistics_30.tex")
+result.to_latex(output_path / "statistics" / "statistics_30.csv")
+result
+
_stim_data = stimulated_30
+_base_data = stimulated_11
+
+result = pd.DataFrame()
+
+result['Stimulated 30Hz'] = _stim_data[columns].agg(summarize)
+result['Stimulated 11Hz'] = _base_data[columns].agg(summarize)
+
+result.index = map(rename, result.index)
+
+result['MWU'] = list(map(lambda x: MWU(x, _stim_data, _base_data), columns))
+result['PRS'] = list(map(lambda x: PRS(x, _stim_data, _base_data), columns))
+
+
+result.to_latex(output_path / "statistics" / "statistics_11_vs_30.tex")
+result.to_latex(output_path / "statistics" / "statistics_11_vs_30.csv")
+result
+
_stim_data = baseline_i
+_base_data = baseline_ii
+
+result = pd.DataFrame()
+
+result['Baseline i'] = _stim_data[columns].agg(summarize)
+result['Baseline ii'] = _base_data[columns].agg(summarize)
+
+result.index = map(rename, result.index)
+
+result['MWU'] = list(map(lambda x: MWU(x, _stim_data, _base_data), columns))
+result['PRS'] = list(map(lambda x: PRS(x, _stim_data, _base_data), columns))
+
+
+result.to_latex(output_path / "statistics" / "statistics_base_i_vs_base_ii.tex")
+result.to_latex(output_path / "statistics" / "statistics_base_i_vs_base_ii.csv")
+result
+
%matplotlib inline
+plt.rc('axes', titlesize=12)
+plt.rcParams.update({
+ 'font.size': 12,
+ 'figure.figsize': (1.7, 3),
+ 'figure.dpi': 150
+})
+
stuff = {
+ '': {
+ 'base': gridcell_in_baseline.query('baseline'),
+ 'stim': gridcell_in_baseline.query('stimulated')
+ },
+ '_11': {
+ 'base': baseline_i,
+ 'stim': stimulated_11
+ },
+ '_30': {
+ 'base': baseline_ii,
+ 'stim': stimulated_30
+ }
+}
+
for key, data in stuff.items():
+ baseline = data['base']['information_rate'].to_numpy()
+ stimulated = data['stim']['information_rate'].to_numpy()
+ print(key)
+ plt.figure()
+ violinplot(baseline, stimulated)
+ plt.title("Spatial information")
+ plt.ylabel("bits/s")
+ plt.ylim(-0.2, 4)
+
+ plt.savefig(output_path / "figures" / f"spatial_information{key}.svg", bbox_inches="tight")
+ plt.savefig(output_path / "figures" / f"spatial_information{key}.png", dpi=600, bbox_inches="tight")
+
for key, data in stuff.items():
+ baseline = data['base']['specificity'].to_numpy()
+ stimulated = data['stim']['specificity'].to_numpy()
+ plt.figure()
+ violinplot(baseline, stimulated)
+ plt.title("Spatial specificity")
+ plt.ylabel("")
+ plt.ylim(-0.02, 1.25)
+ plt.savefig(output_path / "figures" / f"specificity{key}.svg", bbox_inches="tight")
+ plt.savefig(output_path / "figures" / f"specificity{key}.png", dpi=600, bbox_inches="tight")
+
for key, data in stuff.items():
+ baseline = data['base']['average_rate'].to_numpy()
+ stimulated = data['stim']['average_rate'].to_numpy()
+ plt.figure()
+ violinplot(baseline, stimulated)
+ plt.title("Average rate")
+ plt.ylabel("spikes/s")
+ plt.ylim(-0.2, 40)
+
+ plt.savefig(output_path / "figures" / f"average_rate{key}.svg", bbox_inches="tight")
+ plt.savefig(output_path / "figures" / f"average_rate{key}.png", dpi=600, bbox_inches="tight")
+
for key, data in stuff.items():
+ baseline = data['base']['max_rate'].to_numpy()
+ stimulated = data['stim']['max_rate'].to_numpy()
+ plt.figure()
+ violinplot(baseline, stimulated)
+ plt.title("Max rate")
+ plt.ylabel("spikes/s")
+ # plt.ylim(-0.2, 45)
+
+ plt.savefig(output_path / "figures" / f"max_rate{key}.svg", bbox_inches="tight")
+ plt.savefig(output_path / "figures" / f"max_rate{key}.png", dpi=600, bbox_inches="tight")
+
for key, data in stuff.items():
+ baseline = data['base']['interspike_interval_cv'].to_numpy()
+ stimulated = data['stim']['interspike_interval_cv'].to_numpy()
+ plt.figure()
+ violinplot(baseline, stimulated)
+ plt.title("ISI CV")
+ plt.ylabel("Coefficient of variation")
+ # plt.ylim(0.9, 5)
+
+ plt.savefig(output_path / "figures" / f"isi_cv{key}.svg", bbox_inches="tight")
+ plt.savefig(output_path / "figures" / f"isi_cv{key}.png", dpi=600, bbox_inches="tight")
+
for key, data in stuff.items():
+ baseline = data['base']['in_field_mean_rate'].to_numpy()
+ stimulated = data['stim']['in_field_mean_rate'].to_numpy()
+ plt.figure()
+ violinplot(baseline, stimulated)
+ plt.title("In-field rate")
+ plt.ylabel("spikes/s")
+ # plt.ylim(-0.1, 18)
+
+ plt.savefig(output_path / "figures" / f"in_field_mean_rate{key}.svg", bbox_inches="tight")
+ plt.savefig(output_path / "figures" / f"in_field_mean_rate{key}.png", dpi=600, bbox_inches="tight")
+
for key, data in stuff.items():
+ baseline = data['base']['out_field_mean_rate'].to_numpy()
+ stimulated = data['stim']['out_field_mean_rate'].to_numpy()
+ plt.figure()
+ violinplot(baseline, stimulated)
+ plt.title("Out-of-field rate")
+ plt.ylabel("spikes/s")
+ # plt.ylim(-0.2, 8)
+
+ plt.savefig(output_path / "figures" / f"out_field_mean_rate{key}.svg", bbox_inches="tight")
+ plt.savefig(output_path / "figures" / f"out_field_mean_rate{key}.png", dpi=600, bbox_inches="tight")
+
for key, data in stuff.items():
+ baseline = data['base']['burst_event_ratio'].to_numpy()
+ stimulated = data['stim']['burst_event_ratio'].to_numpy()
+ plt.figure()
+ violinplot(baseline, stimulated)
+ plt.title("Bursting ratio")
+ plt.ylabel("")
+ # plt.ylim(-0.02, 0.60)
+
+ plt.savefig(output_path / "figures" / f"burst_event_ratio{key}.svg", bbox_inches="tight")
+ plt.savefig(output_path / "figures" / f"burst_event_ratio{key}.png", dpi=600, bbox_inches="tight")
+
for key, data in stuff.items():
+ baseline = data['base']['max_field_mean_rate'].to_numpy()
+ stimulated = data['stim']['max_field_mean_rate'].to_numpy()
+ plt.figure()
+ violinplot(baseline, stimulated)
+ plt.title("Mean rate of max field")
+ plt.ylabel("(spikes/s)")
+ # plt.ylim(-0.5,25)
+
+ plt.savefig(output_path / "figures" / f"max_field_mean_rate{key}.svg", bbox_inches="tight")
+ plt.savefig(output_path / "figures" / f"max_field_mean_rate{key}.png", dpi=600, bbox_inches="tight")
+
for key, data in stuff.items():
+ baseline = data['base']['bursty_spike_ratio'].to_numpy()
+ stimulated = data['stim']['bursty_spike_ratio'].to_numpy()
+ plt.figure()
+ violinplot(baseline, stimulated)
+ plt.title("ratio of spikes per burst")
+ plt.ylabel("")
+ # plt.ylim(-0.03,0.9)
+
+ plt.savefig(output_path / "figures" / f"bursty_spike_ratio{key}.svg", bbox_inches="tight")
+ plt.savefig(output_path / "figures" / f"bursty_spike_ratio{key}.png", dpi=600, bbox_inches="tight")
+
for key, data in stuff.items():
+ baseline = data['base']['gridness'].to_numpy()
+ stimulated = data['stim']['gridness'].to_numpy()
+ plt.figure()
+ violinplot(baseline, stimulated)
+ plt.title("Gridness")
+ plt.ylabel("Gridness")
+ plt.ylim(-0.005, 1.5)
+
+ plt.savefig(output_path / "figures" / f"gridness{key}.svg", bbox_inches="tight")
+ plt.savefig(output_path / "figures" / f"gridness{key}.png", dpi=600, bbox_inches="tight")
+
for key, data in stuff.items():
+ baseline = data['base']['speed_score'].to_numpy()
+ stimulated = data['stim']['speed_score'].to_numpy()
+ plt.figure()
+ violinplot(baseline, stimulated)
+ plt.title("Speed score")
+ plt.ylabel("Speed score")
+ # plt.ylim(-0.1, 0.5)
+
+ plt.savefig(output_path / "figures" / f"speed_score{key}.svg", bbox_inches="tight")
+ plt.savefig(output_path / "figures" / f"speed_score{key}.png", dpi=600, bbox_inches="tight")
+
action = project.require_action("comparisons-gridcells")
+
copy_tree(output_path, str(action.data_path()))
+
septum_mec.analysis.registration.store_notebook(action, "20_comparisons_gridcells.ipynb")
+
+
\n", + " | action | \n", + "baseline | \n", + "entity | \n", + "frequency | \n", + "i | \n", + "ii | \n", + "session | \n", + "stim_location | \n", + "stimulated | \n", + "tag | \n", + "... | \n", + "burst_event_ratio | \n", + "bursty_spike_ratio | \n", + "gridness | \n", + "border_score | \n", + "information_rate | \n", + "information_specificity | \n", + "head_mean_ang | \n", + "head_mean_vec_len | \n", + "spacing | \n", + "orientation | \n", + "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", + "1849-060319-3 | \n", + "True | \n", + "1849 | \n", + "NaN | \n", + "False | \n", + "True | \n", + "3 | \n", + "NaN | \n", + "False | \n", + "baseline ii | \n", + "... | \n", + "0.397921 | \n", + "0.676486 | \n", + "-0.459487 | \n", + "0.078474 | \n", + "0.965845 | \n", + "0.309723 | \n", + "5.788704 | \n", + "0.043321 | \n", + "0.624971 | \n", + "22.067900 | \n", + "
1 | \n", + "1849-060319-3 | \n", + "True | \n", + "1849 | \n", + "NaN | \n", + "False | \n", + "True | \n", + "3 | \n", + "NaN | \n", + "False | \n", + "baseline ii | \n", + "... | \n", + "0.146481 | \n", + "0.277121 | \n", + "-0.615405 | \n", + "0.311180 | \n", + "0.191375 | \n", + "0.032266 | \n", + "1.821598 | \n", + "0.014624 | \n", + "0.753333 | \n", + "0.000000 | \n", + "
2 | \n", + "1849-060319-3 | \n", + "True | \n", + "1849 | \n", + "NaN | \n", + "False | \n", + "True | \n", + "3 | \n", + "NaN | \n", + "False | \n", + "baseline ii | \n", + "... | \n", + "0.373466 | \n", + "0.658748 | \n", + "-0.527711 | \n", + "0.131660 | \n", + "3.833587 | \n", + "0.336590 | \n", + "4.407614 | \n", + "0.121115 | \n", + "0.542877 | \n", + "27.758541 | \n", + "
3 | \n", + "1849-060319-3 | \n", + "True | \n", + "1849 | \n", + "NaN | \n", + "False | \n", + "True | \n", + "3 | \n", + "NaN | \n", + "False | \n", + "baseline ii | \n", + "... | \n", + "0.097464 | \n", + "0.196189 | \n", + "-0.641543 | \n", + "0.274989 | \n", + "0.153740 | \n", + "0.068626 | \n", + "6.128601 | \n", + "0.099223 | \n", + "0.484916 | \n", + "11.309932 | \n", + "
4 | \n", + "1849-060319-3 | \n", + "True | \n", + "1849 | \n", + "NaN | \n", + "False | \n", + "True | \n", + "3 | \n", + "NaN | \n", + "False | \n", + "baseline ii | \n", + "... | \n", + "0.248036 | \n", + "0.461250 | \n", + "-0.085292 | \n", + "0.198676 | \n", + "0.526720 | \n", + "0.033667 | \n", + "1.602362 | \n", + "0.051825 | \n", + "0.646571 | \n", + "0.000000 | \n", + "
5 rows × 34 columns
\n", + "\n", + " | border_score | \n", + "gridness | \n", + "head_mean_ang | \n", + "head_mean_vec_len | \n", + "information_rate | \n", + "speed_score | \n", + "action | \n", + "channel_group | \n", + "unit_name | \n", + "
---|---|---|---|---|---|---|---|---|---|
0 | \n", + "0.348023 | \n", + "0.275109 | \n", + "3.012689 | \n", + "0.086792 | \n", + "0.707197 | \n", + "0.149071 | \n", + "1833-010719-1 | \n", + "0.0 | \n", + "127.0 | \n", + "
1 | \n", + "0.362380 | \n", + "0.166475 | \n", + "3.133138 | \n", + "0.037271 | \n", + "0.482486 | \n", + "0.132212 | \n", + "1833-010719-1 | \n", + "0.0 | \n", + "161.0 | \n", + "
2 | \n", + "0.367498 | \n", + "0.266865 | \n", + "5.586395 | \n", + "0.182843 | \n", + "0.271188 | \n", + "0.062821 | \n", + "1833-010719-1 | \n", + "0.0 | \n", + "191.0 | \n", + "
3 | \n", + "0.331942 | \n", + "0.312155 | \n", + "5.955767 | \n", + "0.090786 | \n", + "0.354018 | \n", + "0.052009 | \n", + "1833-010719-1 | \n", + "0.0 | \n", + "223.0 | \n", + "
4 | \n", + "0.325842 | \n", + "0.180495 | \n", + "5.262721 | \n", + "0.103584 | \n", + "0.210427 | \n", + "0.094041 | \n", + "1833-010719-1 | \n", + "0.0 | \n", + "225.0 | \n", + "
\n", + " | action | \n", + "baseline | \n", + "entity | \n", + "frequency | \n", + "i | \n", + "ii | \n", + "session | \n", + "stim_location | \n", + "stimulated | \n", + "tag | \n", + "... | \n", + "head_mean_vec_len | \n", + "spacing | \n", + "orientation | \n", + "border_score_threshold | \n", + "gridness_threshold | \n", + "head_mean_ang_threshold | \n", + "head_mean_vec_len_threshold | \n", + "information_rate_threshold | \n", + "speed_score_threshold | \n", + "specificity | \n", + "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", + "1849-060319-3 | \n", + "True | \n", + "1849 | \n", + "NaN | \n", + "False | \n", + "True | \n", + "3 | \n", + "NaN | \n", + "False | \n", + "baseline ii | \n", + "... | \n", + "0.043321 | \n", + "0.624971 | \n", + "22.067900 | \n", + "0.332548 | \n", + "0.229073 | \n", + "6.029431 | \n", + "0.205362 | \n", + "1.115825 | \n", + "0.066736 | \n", + "0.445206 | \n", + "
1 | \n", + "1849-060319-3 | \n", + "True | \n", + "1849 | \n", + "NaN | \n", + "False | \n", + "True | \n", + "3 | \n", + "NaN | \n", + "False | \n", + "baseline ii | \n", + "... | \n", + "0.014624 | \n", + "0.753333 | \n", + "0.000000 | \n", + "0.354830 | \n", + "0.089333 | \n", + "6.120055 | \n", + "0.073566 | \n", + "0.223237 | \n", + "0.052594 | \n", + "0.097485 | \n", + "
2 | \n", + "1849-060319-3 | \n", + "True | \n", + "1849 | \n", + "NaN | \n", + "False | \n", + "True | \n", + "3 | \n", + "NaN | \n", + "False | \n", + "baseline ii | \n", + "... | \n", + "0.121115 | \n", + "0.542877 | \n", + "27.758541 | \n", + "0.264610 | \n", + "-0.121081 | \n", + "5.759406 | \n", + "0.150827 | \n", + "4.964984 | \n", + "0.027120 | \n", + "0.393687 | \n", + "
3 | \n", + "1849-060319-3 | \n", + "True | \n", + "1849 | \n", + "NaN | \n", + "False | \n", + "True | \n", + "3 | \n", + "NaN | \n", + "False | \n", + "baseline ii | \n", + "... | \n", + "0.099223 | \n", + "0.484916 | \n", + "11.309932 | \n", + "0.344280 | \n", + "0.215829 | \n", + "6.033364 | \n", + "0.110495 | \n", + "0.239996 | \n", + "0.054074 | \n", + "0.262612 | \n", + "
4 | \n", + "1849-060319-3 | \n", + "True | \n", + "1849 | \n", + "NaN | \n", + "False | \n", + "True | \n", + "3 | \n", + "NaN | \n", + "False | \n", + "baseline ii | \n", + "... | \n", + "0.051825 | \n", + "0.646571 | \n", + "0.000000 | \n", + "0.342799 | \n", + "0.218967 | \n", + "5.768170 | \n", + "0.054762 | \n", + "0.524990 | \n", + "0.144702 | \n", + "0.133677 | \n", + "
5 rows × 41 columns
\n", + "\n", + " | average_rate | \n", + "gridness | \n", + "sparsity | \n", + "selectivity | \n", + "information_specificity | \n", + "max_rate | \n", + "information_rate | \n", + "interspike_interval_cv | \n", + "in_field_mean_rate | \n", + "out_field_mean_rate | \n", + "burst_event_ratio | \n", + "specificity | \n", + "speed_score | \n", + "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
stimulated | \n", + "\n", + " | \n", + " | \n", + " | \n", + " | \n", + " | \n", + " | \n", + " | \n", + " | \n", + " | \n", + " | \n", + " | \n", + " | \n", + " |
False | \n", + "9.928801 | \n", + "0.562122 | \n", + "0.656634 | \n", + "5.320886 | \n", + "0.200475 | \n", + "37.440262 | \n", + "1.178277 | \n", + "2.348004 | \n", + "15.711336 | \n", + "7.319828 | \n", + "0.219627 | \n", + "0.444021 | \n", + "0.136236 | \n", + "
True | \n", + "9.554733 | \n", + "0.365628 | \n", + "0.666120 | \n", + "6.232196 | \n", + "0.194542 | \n", + "39.864795 | \n", + "1.063930 | \n", + "2.328150 | \n", + "14.582445 | \n", + "7.121023 | \n", + "0.205369 | \n", + "0.445532 | \n", + "0.102438 | \n", + "
\n", + " | average_rate | \n", + "gridness | \n", + "sparsity | \n", + "selectivity | \n", + "information_specificity | \n", + "max_rate | \n", + "information_rate | \n", + "interspike_interval_cv | \n", + "in_field_mean_rate | \n", + "out_field_mean_rate | \n", + "burst_event_ratio | \n", + "specificity | \n", + "speed_score | \n", + "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
count | \n", + "144.000000 | \n", + "144.000000 | \n", + "144.000000 | \n", + "144.000000 | \n", + "144.000000 | \n", + "144.000000 | \n", + "144.000000 | \n", + "144.000000 | \n", + "144.000000 | \n", + "144.000000 | \n", + "144.000000 | \n", + "144.000000 | \n", + "144.000000 | \n", + "
mean | \n", + "9.928801 | \n", + "0.562122 | \n", + "0.656634 | \n", + "5.320886 | \n", + "0.200475 | \n", + "37.440262 | \n", + "1.178277 | \n", + "2.348004 | \n", + "15.711336 | \n", + "7.319828 | \n", + "0.219627 | \n", + "0.444021 | \n", + "0.136236 | \n", + "
std | \n", + "7.727249 | \n", + "0.338826 | \n", + "0.186070 | \n", + "2.885443 | \n", + "0.175036 | \n", + "16.512138 | \n", + "0.570617 | \n", + "0.743517 | \n", + "9.798591 | \n", + "6.760978 | \n", + "0.082774 | \n", + "0.206192 | \n", + "0.075267 | \n", + "
min | \n", + "0.516375 | \n", + "-0.360777 | \n", + "0.261912 | \n", + "1.842905 | \n", + "0.011661 | \n", + "3.013150 | \n", + "0.122324 | \n", + "1.361275 | \n", + "0.993877 | \n", + "0.257364 | \n", + "0.027228 | \n", + "0.128469 | \n", + "-0.023795 | \n", + "
25% | \n", + "3.833480 | \n", + "0.350175 | \n", + "0.517566 | \n", + "3.108402 | \n", + "0.072654 | \n", + "25.189028 | \n", + "0.748273 | \n", + "1.772429 | \n", + "7.649203 | \n", + "1.863476 | \n", + "0.162862 | \n", + "0.289491 | \n", + "0.082031 | \n", + "
50% | \n", + "7.101159 | \n", + "0.595244 | \n", + "0.701089 | \n", + "4.682344 | \n", + "0.139185 | \n", + "34.014566 | \n", + "1.064148 | \n", + "2.170671 | \n", + "12.863627 | \n", + "4.773814 | \n", + "0.213065 | \n", + "0.383049 | \n", + "0.130958 | \n", + "
75% | \n", + "15.349392 | \n", + "0.802880 | \n", + "0.820432 | \n", + "6.619374 | \n", + "0.261063 | \n", + "45.689916 | \n", + "1.562027 | \n", + "2.688595 | \n", + "23.123564 | \n", + "10.952948 | \n", + "0.280340 | \n", + "0.570619 | \n", + "0.188830 | \n", + "
max | \n", + "31.367451 | \n", + "1.174288 | \n", + "0.954505 | \n", + "17.011330 | \n", + "0.918520 | \n", + "90.839266 | \n", + "3.540663 | \n", + "5.240845 | \n", + "45.349506 | \n", + "28.721619 | \n", + "0.400014 | \n", + "0.975050 | \n", + "0.323278 | \n", + "
\n", + " | average_rate | \n", + "gridness | \n", + "sparsity | \n", + "selectivity | \n", + "information_specificity | \n", + "max_rate | \n", + "information_rate | \n", + "interspike_interval_cv | \n", + "in_field_mean_rate | \n", + "out_field_mean_rate | \n", + "burst_event_ratio | \n", + "specificity | \n", + "speed_score | \n", + "
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
count | \n", + "73.000000 | \n", + "73.000000 | \n", + "73.000000 | \n", + "73.000000 | \n", + "73.000000 | \n", + "73.000000 | \n", + "73.000000 | \n", + "73.000000 | \n", + "73.000000 | \n", + "73.000000 | \n", + "73.000000 | \n", + "73.000000 | \n", + "73.000000 | \n", + "
mean | \n", + "9.554733 | \n", + "0.365628 | \n", + "0.666120 | \n", + "6.232196 | \n", + "0.194542 | \n", + "39.864795 | \n", + "1.063930 | \n", + "2.328150 | \n", + "14.582445 | \n", + "7.121023 | \n", + "0.205369 | \n", + "0.445532 | \n", + "0.102438 | \n", + "
std | \n", + "7.334232 | \n", + "0.397430 | \n", + "0.194908 | \n", + "5.760291 | \n", + "0.161491 | \n", + "25.342874 | \n", + "0.478339 | \n", + "0.731921 | \n", + "8.551638 | \n", + "6.482068 | \n", + "0.075895 | \n", + "0.230698 | \n", + "0.077154 | \n", + "
min | \n", + "1.371102 | \n", + "-0.482293 | \n", + "0.297108 | \n", + "1.920211 | \n", + "0.020735 | \n", + "10.492070 | \n", + "0.292174 | \n", + "1.332239 | \n", + "3.531824 | \n", + "0.573040 | \n", + "0.042956 | \n", + "0.137978 | \n", + "-0.072000 | \n", + "
25% | \n", + "3.596484 | \n", + "0.052315 | \n", + "0.466494 | \n", + "3.531741 | \n", + "0.072324 | \n", + "25.324427 | \n", + "0.707876 | \n", + "1.742983 | \n", + "8.127398 | \n", + "1.813572 | \n", + "0.159265 | \n", + "0.248962 | \n", + "0.052617 | \n", + "
50% | \n", + "7.237246 | \n", + "0.290593 | \n", + "0.729540 | \n", + "4.476625 | \n", + "0.113483 | \n", + "33.048050 | \n", + "0.993926 | \n", + "2.212266 | \n", + "12.308800 | \n", + "4.675997 | \n", + "0.199137 | \n", + "0.365960 | \n", + "0.094618 | \n", + "
75% | \n", + "14.029394 | \n", + "0.679854 | \n", + "0.853552 | \n", + "7.867471 | \n", + "0.307852 | \n", + "46.159854 | \n", + "1.242135 | \n", + "2.822726 | \n", + "19.752448 | \n", + "10.723556 | \n", + "0.261186 | \n", + "0.670842 | \n", + "0.139564 | \n", + "
max | \n", + "31.800150 | \n", + "1.110681 | \n", + "0.925871 | \n", + "45.427380 | \n", + "0.678935 | \n", + "199.999821 | \n", + "2.918984 | \n", + "4.604317 | \n", + "39.093347 | \n", + "25.836762 | \n", + "0.406678 | \n", + "0.966010 | \n", + "0.336072 | \n", + "
\n", + " | Stimulated | \n", + "Baseline | \n", + "MWU | \n", + "PRS | \n", + "
---|---|---|---|---|
Average rate | \n", + "9.55 ± 0.86 (73) | \n", + "9.93 ± 0.64 (144) | \n", + "5120.00, 0.757 | \n", + "0.14, 0.868 | \n", + "
Gridness | \n", + "0.37 ± 0.05 (73) | \n", + "0.56 ± 0.03 (144) | \n", + "3718.00, 0.000 | \n", + "0.30, 0.000 | \n", + "
Sparsity | \n", + "0.67 ± 0.02 (73) | \n", + "0.66 ± 0.02 (144) | \n", + "5515.00, 0.554 | \n", + "0.03, 0.413 | \n", + "
Selectivity | \n", + "6.23 ± 0.67 (73) | \n", + "5.32 ± 0.24 (144) | \n", + "5482.00, 0.606 | \n", + "0.21, 0.718 | \n", + "
Information specificity | \n", + "0.19 ± 0.02 (73) | \n", + "0.20 ± 0.01 (144) | \n", + "5094.00, 0.712 | \n", + "0.03, 0.501 | \n", + "
Max rate | \n", + "39.86 ± 2.97 (73) | \n", + "37.44 ± 1.38 (144) | \n", + "5256.00, 0.999 | \n", + "0.97, 0.592 | \n", + "
Information rate | \n", + "1.06 ± 0.06 (73) | \n", + "1.18 ± 0.05 (144) | \n", + "4681.00, 0.189 | \n", + "0.07, 0.426 | \n", + "
Interspike interval cv | \n", + "2.33 ± 0.09 (73) | \n", + "2.35 ± 0.06 (144) | \n", + "5197.00, 0.894 | \n", + "0.04, 0.715 | \n", + "
In-field mean rate | \n", + "14.58 ± 1.00 (73) | \n", + "15.71 ± 0.82 (144) | \n", + "5000.00, 0.559 | \n", + "0.55, 0.751 | \n", + "
Out-field mean rate | \n", + "7.12 ± 0.76 (73) | \n", + "7.32 ± 0.56 (144) | \n", + "5166.00, 0.838 | \n", + "0.10, 0.934 | \n", + "
Burst event ratio | \n", + "0.21 ± 0.01 (73) | \n", + "0.22 ± 0.01 (144) | \n", + "4677.00, 0.186 | \n", + "0.01, 0.212 | \n", + "
Specificity | \n", + "0.45 ± 0.03 (73) | \n", + "0.44 ± 0.02 (144) | \n", + "5076.00, 0.681 | \n", + "0.02, 0.547 | \n", + "
Speed score | \n", + "0.10 ± 0.01 (73) | \n", + "0.14 ± 0.01 (144) | \n", + "3978.00, 0.003 | \n", + "0.04, 0.008 | \n", + "
\n", + " | Stimulated | \n", + "Baseline | \n", + "MWU | \n", + "PRS | \n", + "
---|---|---|---|---|
Average rate | \n", + "9.06 ± 1.21 (32) | \n", + "9.65 ± 0.90 (68) | \n", + "1044.00, 0.748 | \n", + "0.02, 0.997 | \n", + "
Gridness | \n", + "0.34 ± 0.06 (32) | \n", + "0.58 ± 0.04 (68) | \n", + "676.00, 0.002 | \n", + "0.27, 0.003 | \n", + "
Sparsity | \n", + "0.67 ± 0.03 (32) | \n", + "0.65 ± 0.02 (68) | \n", + "1154.00, 0.628 | \n", + "0.06, 0.319 | \n", + "
Selectivity | \n", + "5.43 ± 0.47 (32) | \n", + "5.22 ± 0.35 (68) | \n", + "1140.00, 0.704 | \n", + "0.29, 0.705 | \n", + "
Information specificity | \n", + "0.19 ± 0.03 (32) | \n", + "0.21 ± 0.02 (68) | \n", + "1005.00, 0.542 | \n", + "0.05, 0.095 | \n", + "
Max rate | \n", + "35.53 ± 2.50 (32) | \n", + "36.19 ± 1.79 (68) | \n", + "1063.00, 0.856 | \n", + "0.04, 0.972 | \n", + "
Information rate | \n", + "1.04 ± 0.10 (32) | \n", + "1.21 ± 0.06 (68) | \n", + "867.00, 0.103 | \n", + "0.12, 0.225 | \n", + "
Interspike interval cv | \n", + "2.29 ± 0.12 (32) | \n", + "2.38 ± 0.10 (68) | \n", + "1053.00, 0.799 | \n", + "0.04, 0.891 | \n", + "
In-field mean rate | \n", + "13.87 ± 1.42 (32) | \n", + "15.27 ± 1.12 (68) | \n", + "1024.00, 0.639 | \n", + "0.10, 0.948 | \n", + "
Out-field mean rate | \n", + "6.52 ± 1.04 (32) | \n", + "6.98 ± 0.76 (68) | \n", + "1037.00, 0.709 | \n", + "0.35, 0.905 | \n", + "
Burst event ratio | \n", + "0.23 ± 0.01 (32) | \n", + "0.23 ± 0.01 (68) | \n", + "1158.00, 0.608 | \n", + "0.01, 0.478 | \n", + "
Specificity | \n", + "0.45 ± 0.04 (32) | \n", + "0.45 ± 0.02 (68) | \n", + "1060.00, 0.839 | \n", + "0.01, 0.852 | \n", + "
Speed score | \n", + "0.09 ± 0.01 (32) | \n", + "0.14 ± 0.01 (68) | \n", + "736.00, 0.009 | \n", + "0.05, 0.011 | \n", + "
\n", + " | Stimulated | \n", + "Baseline | \n", + "MWU | \n", + "PRS | \n", + "
---|---|---|---|---|
Average rate | \n", + "10.11 ± 1.51 (28) | \n", + "10.01 ± 1.06 (58) | \n", + "808.00, 0.974 | \n", + "0.07, 0.968 | \n", + "
Gridness | \n", + "0.28 ± 0.08 (28) | \n", + "0.57 ± 0.05 (58) | \n", + "493.00, 0.003 | \n", + "0.46, 0.000 | \n", + "
Sparsity | \n", + "0.68 ± 0.04 (28) | \n", + "0.66 ± 0.02 (58) | \n", + "881.00, 0.528 | \n", + "0.04, 0.328 | \n", + "
Selectivity | \n", + "7.47 ± 1.63 (28) | \n", + "5.53 ± 0.40 (58) | \n", + "809.00, 0.982 | \n", + "0.30, 0.638 | \n", + "
Information specificity | \n", + "0.20 ± 0.03 (28) | \n", + "0.19 ± 0.02 (58) | \n", + "812.00, 0.996 | \n", + "0.01, 0.588 | \n", + "
Max rate | \n", + "45.33 ± 6.85 (28) | \n", + "38.95 ± 2.48 (58) | \n", + "797.00, 0.894 | \n", + "2.09, 0.451 | \n", + "
Information rate | \n", + "1.04 ± 0.08 (28) | \n", + "1.12 ± 0.09 (58) | \n", + "799.00, 0.908 | \n", + "0.03, 0.858 | \n", + "
Interspike interval cv | \n", + "2.28 ± 0.16 (28) | \n", + "2.32 ± 0.09 (58) | \n", + "745.00, 0.540 | \n", + "0.16, 0.463 | \n", + "
In-field mean rate | \n", + "14.95 ± 1.71 (28) | \n", + "15.81 ± 1.38 (58) | \n", + "779.00, 0.765 | \n", + "0.98, 0.712 | \n", + "
Out-field mean rate | \n", + "7.80 ± 1.35 (28) | \n", + "7.58 ± 0.96 (58) | \n", + "827.00, 0.894 | \n", + "0.10, 0.927 | \n", + "
Burst event ratio | \n", + "0.18 ± 0.01 (28) | \n", + "0.21 ± 0.01 (58) | \n", + "641.00, 0.116 | \n", + "0.03, 0.099 | \n", + "
Specificity | \n", + "0.43 ± 0.05 (28) | \n", + "0.43 ± 0.03 (58) | \n", + "749.00, 0.565 | \n", + "0.02, 0.657 | \n", + "
Speed score | \n", + "0.10 ± 0.02 (28) | \n", + "0.12 ± 0.01 (58) | \n", + "617.00, 0.073 | \n", + "0.02, 0.116 | \n", + "
\n", + " | Stimulated 30Hz | \n", + "Stimulated 11Hz | \n", + "MWU | \n", + "PRS | \n", + "
---|---|---|---|---|
Average rate | \n", + "10.11 ± 1.51 (28) | \n", + "9.06 ± 1.21 (32) | \n", + "463.00, 0.830 | \n", + "0.12, 0.978 | \n", + "
Gridness | \n", + "0.28 ± 0.08 (28) | \n", + "0.34 ± 0.06 (32) | \n", + "402.00, 0.500 | \n", + "0.15, 0.330 | \n", + "
Sparsity | \n", + "0.68 ± 0.04 (28) | \n", + "0.67 ± 0.03 (32) | \n", + "479.00, 0.651 | \n", + "0.03, 0.493 | \n", + "
Selectivity | \n", + "7.47 ± 1.63 (28) | \n", + "5.43 ± 0.47 (32) | \n", + "449.00, 0.994 | \n", + "0.00, 0.999 | \n", + "
Information specificity | \n", + "0.20 ± 0.03 (28) | \n", + "0.19 ± 0.03 (32) | \n", + "440.00, 0.912 | \n", + "0.01, 0.768 | \n", + "
Max rate | \n", + "45.33 ± 6.85 (28) | \n", + "35.53 ± 2.50 (32) | \n", + "488.00, 0.558 | \n", + "1.22, 0.682 | \n", + "
Information rate | \n", + "1.04 ± 0.08 (28) | \n", + "1.04 ± 0.10 (32) | \n", + "475.00, 0.695 | \n", + "0.02, 0.775 | \n", + "
Interspike interval cv | \n", + "2.28 ± 0.16 (28) | \n", + "2.29 ± 0.12 (32) | \n", + "411.00, 0.589 | \n", + "0.14, 0.659 | \n", + "
In-field mean rate | \n", + "14.95 ± 1.71 (28) | \n", + "13.87 ± 1.42 (32) | \n", + "473.00, 0.717 | \n", + "1.02, 0.794 | \n", + "
Out-field mean rate | \n", + "7.80 ± 1.35 (28) | \n", + "6.52 ± 1.04 (32) | \n", + "489.00, 0.548 | \n", + "0.17, 0.940 | \n", + "
Burst event ratio | \n", + "0.18 ± 0.01 (28) | \n", + "0.23 ± 0.01 (32) | \n", + "273.00, 0.010 | \n", + "0.05, 0.028 | \n", + "
Specificity | \n", + "0.43 ± 0.05 (28) | \n", + "0.45 ± 0.04 (32) | \n", + "400.00, 0.482 | \n", + "0.02, 0.570 | \n", + "
Speed score | \n", + "0.10 ± 0.02 (28) | \n", + "0.09 ± 0.01 (32) | \n", + "446.00, 0.982 | \n", + "0.01, 0.480 | \n", + "
\n", + " | Baseline i | \n", + "Baseline ii | \n", + "MWU | \n", + "PRS | \n", + "
---|---|---|---|---|
Average rate | \n", + "9.65 ± 0.90 (68) | \n", + "10.01 ± 1.06 (58) | \n", + "1979.00, 0.975 | \n", + "0.20, 0.935 | \n", + "
Gridness | \n", + "0.58 ± 0.04 (68) | \n", + "0.57 ± 0.05 (58) | \n", + "1946.00, 0.901 | \n", + "0.04, 0.479 | \n", + "
Sparsity | \n", + "0.65 ± 0.02 (68) | \n", + "0.66 ± 0.02 (58) | \n", + "1870.00, 0.619 | \n", + "0.05, 0.253 | \n", + "
Selectivity | \n", + "5.22 ± 0.35 (68) | \n", + "5.53 ± 0.40 (58) | \n", + "1833.00, 0.498 | \n", + "0.01, 0.973 | \n", + "
Information specificity | \n", + "0.21 ± 0.02 (68) | \n", + "0.19 ± 0.02 (58) | \n", + "2135.00, 0.426 | \n", + "0.05, 0.136 | \n", + "
Max rate | \n", + "36.19 ± 1.79 (68) | \n", + "38.95 ± 2.48 (58) | \n", + "1824.00, 0.470 | \n", + "0.84, 0.675 | \n", + "
Information rate | \n", + "1.21 ± 0.06 (68) | \n", + "1.12 ± 0.09 (58) | \n", + "2246.00, 0.181 | \n", + "0.13, 0.169 | \n", + "
Interspike interval cv | \n", + "2.38 ± 0.10 (68) | \n", + "2.32 ± 0.09 (58) | \n", + "2055.00, 0.686 | \n", + "0.02, 0.805 | \n", + "
In-field mean rate | \n", + "15.27 ± 1.12 (68) | \n", + "15.81 ± 1.38 (58) | \n", + "1926.00, 0.824 | \n", + "0.15, 0.931 | \n", + "
Out-field mean rate | \n", + "6.98 ± 0.76 (68) | \n", + "7.58 ± 0.96 (58) | \n", + "1946.00, 0.901 | \n", + "0.62, 0.650 | \n", + "
Burst event ratio | \n", + "0.23 ± 0.01 (68) | \n", + "0.21 ± 0.01 (58) | \n", + "2112.00, 0.495 | \n", + "0.00, 0.743 | \n", + "
Specificity | \n", + "0.45 ± 0.02 (68) | \n", + "0.43 ± 0.03 (58) | \n", + "2035.00, 0.760 | \n", + "0.01, 0.834 | \n", + "
Speed score | \n", + "0.14 ± 0.01 (68) | \n", + "0.12 ± 0.01 (58) | \n", + "2267.00, 0.149 | \n", + "0.05, 0.014 | \n", + "