updated data overview to new analysis with the right units

This commit is contained in:
2025-05-24 11:49:05 +02:00
parent bd50335d53
commit df3ec149fb
5 changed files with 502 additions and 442 deletions

View File

@@ -126,7 +126,7 @@ def plot_corr(ax, data, xcol, ycol, zcol, zmin, zmax, xpdfmax, cmap, color,
return cax
def si_stats(title, data, column, si_thresh):
def si_stats(title, data, sicol, si_thresh, nsegscol):
print(title)
cells = np.unique(data['cell'])
ncells = len(cells)
@@ -134,11 +134,11 @@ def si_stats(title, data, column, si_thresh):
print(f' cells: {ncells}')
print(f' recordings: {nrecs}')
print(f' SI threshold: {si_thresh:.1f}')
hcells = np.unique(data[data(column) > si_thresh, 'cell'])
hcells = np.unique(data[data(sicol) > si_thresh, 'cell'])
print(f' high SI cells: n={len(hcells):3d}, {100*len(hcells)/ncells:4.1f}%')
print(f' high SI recordings: n={np.sum(data(column) > si_thresh):3d}, '
f'{100*np.sum(data(column) > si_thresh)/nrecs:4.1f}%')
nsegs = data['nsegs']
print(f' high SI recordings: n={np.sum(data(sicol) > si_thresh):3d}, '
f'{100*np.sum(data(sicol) > si_thresh)/nrecs:4.1f}%')
nsegs = data[nsegscol]
print(f' number of segments: {np.min(nsegs):4.0f} - {np.max(nsegs):4.0f}, median={np.median(nsegs):4.0f}, mean={np.mean(nsegs):4.0f}, std={np.std(nsegs):4.0f}')
nrecs = []
for cell in cells:
@@ -255,6 +255,8 @@ if __name__ == '__main__':
ampul_data = TableData(data_path /
'Apteronotus_leptorhynchus-Ampullary-data.csv',
sep=';')
#si = ''
si = '_nmax'
si_thresh = 1.8
cvmodel = punit_model['cvbase']
@@ -274,7 +276,7 @@ if __name__ == '__main__':
print(f' response modulation data: min={np.min(rmdata):3.0f}Hz max={np.max(rmdata):3.0f}Hz median={np.median(rmdata):3.0f}Hz')
print()
simodel = punit_model['dnli100']
sidata = punit_data['nli']
sidata = punit_data['si' + si]
u, p = mannwhitneyu(simodel, sidata)
print('SI does not differ between P-unit models and data:')
print(f' U={u:g}, p={p:.2g}')
@@ -288,28 +290,37 @@ if __name__ == '__main__':
fig.subplots_adjust(leftm=6.5, rightm=13.5, topm=4.5, bottomm=4,
wspace=1.1, hspace=0.6)
si_stats('P-unit model:', punit_model, 'dnli100', si_thresh)
si_stats('P-unit model:', punit_model, 'dnli100', si_thresh, 'nsegs100')
axs[0, 0].text(0, 1.35, 'P-unit models',
transform=axs[0, 0].transAxes, color=s.model_color1)
plot_cvbase_si_punit(axs[0, 0], punit_model, 'dnli100', si_thresh, s.model_color2)
plot_rmod_si_punit(axs[0, 1], punit_model, 'dnli100', si_thresh, s.model_color2)
plot_cvstim_si_punit(axs[0, 2], punit_model, 'dnli100', si_thresh, s.model_color2)
plot_cvbase_si_punit(axs[0, 0], punit_model, 'dnli100', si_thresh,
s.model_color2)
plot_rmod_si_punit(axs[0, 1], punit_model, 'dnli100', si_thresh,
s.model_color2)
plot_cvstim_si_punit(axs[0, 2], punit_model, 'dnli100', si_thresh,
s.model_color2)
print()
si_stats('P-unit data:', punit_data, 'nli', si_thresh)
si_stats('P-unit data:', punit_data, 'si' + si, si_thresh, 'nsegs' + si)
axs[1, 0].text(0, 1.35, 'P-unit data',
transform=axs[1, 0].transAxes, color=s.punit_color1)
plot_cvbase_si_punit(axs[1, 0], punit_data, 'nli', si_thresh, s.punit_color2)
plot_rmod_si_punit(axs[1, 1], punit_data, 'nli', si_thresh, s.punit_color2)
plot_cvstim_si_punit(axs[1, 2], punit_data, 'nli', si_thresh, s.punit_color2)
plot_cvbase_si_punit(axs[1, 0], punit_data, 'si' + si, si_thresh,
s.punit_color2)
plot_rmod_si_punit(axs[1, 1], punit_data, 'si' + si, si_thresh,
s.punit_color2)
plot_cvstim_si_punit(axs[1, 2], punit_data, 'si' + si, si_thresh,
s.punit_color2)
print()
si_stats('Ampullary data:', ampul_data, 'nli', si_thresh)
si_stats('Ampullary data:', ampul_data, 'si' + si, si_thresh, 'nsegs' + si)
axs[2, 0].text(0, 1.35, 'Ampullary data',
transform=axs[2, 0].transAxes, color=s.ampul_color1)
plot_cvbase_si_ampul(axs[2, 0], ampul_data, 'nli', si_thresh, s.ampul_color2)
plot_rmod_si_ampul(axs[2, 1], ampul_data, 'nli', si_thresh, s.ampul_color2)
plot_cvstim_si_ampul(axs[2, 2], ampul_data, 'nli', si_thresh, s.ampul_color2)
plot_cvbase_si_ampul(axs[2, 0], ampul_data, 'si' + si, si_thresh,
s.ampul_color2)
plot_rmod_si_ampul(axs[2, 1], ampul_data, 'si' + si, si_thresh,
s.ampul_color2)
plot_cvstim_si_ampul(axs[2, 2], ampul_data, 'si' + si, si_thresh,
s.ampul_color2)
print()
fig.common_xticks(axs[:2, 0])