Alpha-synuclein overexpression reduces neural activity within a basal ganglia vocal nucleus in a zebra finch model.
The 3 matches
- [1] § 3. Results › 3.2. Extracellular identification of neuronal subtypes in anesthetized finches ↔ ZEB_Classify_Neurons.m, lines 1–73 · score 0.91 · low threshold spiking, awake finches, MSN neurons, low firing rates, waveform features, wide waveforms
- [2] § 3. Results › 3.2. Extracellular identification of neuronal subtypes in anesthetized finches ↔ ZEB_Classify_Neurons.m, lines 1–73 · score 0.74 · PAL neurons, high firing rates, Waveform features, wide waveforms, awake, tonic
- [3] § 3. Results › 3.2. Extracellular identification of neuronal subtypes in anesthetized finches ↔ ZEB_Classify_Neurons.m, lines 416–442 · score 0.52 · clear bimodality, spike width, trough width, Hz, firing rate, classification
Paper
Loaded from Europe PMC by your browser, not stored by OSCR: doi.org · Europe PMC
The paper is loaded when this pane is shown.
The authors' code
MATLAB · 453 lines · 20 KB · no license · 3 matches
- function [TBL,CLASS_FEATURES] = ZEB_Classify_Neurons(TBL, INFO) %% Determine if there are separate groupings of neurons based on
- % waveform features and firing features.
- % Depths to consider: Area X is only between 3100 and 3400.
- % Add firing rate and other criteria for MSN and PAL neurons from Goldberg
- % and Fee 2010 papers (there are 2 papers- on on the typical Areax and one on PAL)
- % So 6 cell types that we should distinguish.
- %
- % There are some high firing wide waveform (look like MSN but rate is too
- % high to be MSN neurnos) so we should apply a rate cirterion.
- %
- % Goldberg and Fee 2010a(striatal) and 2010b(PAL): 6 cell types total in Area X:
- % 4 classic (mammalian) and 2 PAL types and both PAL types fire > 60 Hz.
- % NOTE: I think going with the 2010a paper is good as it shows that firing
- % rate alone separates the PAL from the striatal. They do use the
- % complicated IFR and burst detection but in awake finches. Not sure how
- % well this applies. NOTE: 2010a did not classify based on bursting but
- % used it for post-hoc interpretaion - also used sparsity of firing but
- % mostly to assess relationship to song - not relevant for our study.
- %
- % NOTE: they only used half width - not peak to trough.
- % I should perhaps keep to this.
- % Also- many of OUR neurons are much larger than theirs.
- %
- % MSN (type 1): low firing (<6 Hz or even less), WIDE waveform. High Bursting.
- %
- % FS (type 2) In Area X they fire up to 20Hz DURING SINGING, but much ower (around 8Hz) during rest. Probably more like this during anesthesia.(Fee 2010a).
- % NARROW waveform. Low Bursting. I
- % think reasonably we can limit the upper range to 60Hz since that's where
- % the PAL start (> 60Hz). Probabbly should lower to 50Hz considering
- % anesthesia.
- %
- % TANS (type 3) have a high firing rate but WIDE waveform.
- % Can be distinguished from MSNs (even though they have wide
- % waveforms) by their high firing rates. Not bursting.
- %
- % LTS (type 4) low threshold spiking. 1000Hz???? That's what they say - on
- % a burst. The paper focuses on these rare neurons. Bursting
- %
- % PAL1,2 (type HF-1 (GPe-like HF wiht ~300ms pauses), HF-2 (fast tonic)
- % from GF2010b second paper). NOTE: this paper does all sorts of fancy PSD and peak rate response analysis to separate the two. Enter at your own risk- all was in waking birds.
- % some singing some not.
- %
- % both subgroups fire >60Hz.
- % BUT classification in the paper was done through peak IFR - not mean
- % IFR- I don't cluster based on this - but could do it.
- % The GF2010 paper did not use waveform to classify cells.
- % GF did use IFR smoothed and looked at the peak in this IFR as another
- % distinguishing feature to separate HF1 and HF2. HF1 more bursty than HF2.
- % in primates - PAL https://pmc.ncbi.nlm.nih.gov/articles/PMC2917366/ have
- % 2 classes as well - a high-frequency but that
- %
- % This is anesthesia however, but since GF did not use waveform, I do not
- % see how we can distinguish these cells from others. I can look at the IFR
- % and that may be more informative.
- %
- % UPSHOT: MSNs are relatively easy to ID given low rate and wide waveform.
- % PALs are not so clear as only 5 cells fire > 60Hz.
- %
- % Experimental questions: a-syn, SNCA is the core protein that misfolds and
- % forms Lewy Bodies and may drive dopamine cell loss in PD. Zebra Finches
- % with human a-syn are predicted to have neuronal alterations homologous to
- % predictions in PD. What are those predictions? Interactions between PAL
- % and MSN neurons (they should be opposite in a healthy bird).
- %
- % Look at....
- % LtBlue 121, Yellow 160, Red 967, Lavender 162 (sham/non-surgical birds)
- % Yellow 160-10/18/22, Red 967-10/13/22, Lavender 162-10/4/22
- % TODO: Incorporate firing rate to correct for strange clusters.
- % What are the firing rates that we should limit to?
- % MSN rate
- % TODO: Look at other measures of bursting.
- %
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- % Cowen 2025
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- GP = ZEB_Globals;
- PLOT_IT = false;
- [clustered_data_dir] = fileparts(which('ZEB_Globals.m'));
- %cluster_method = '4 Group'; fig_size = [144 290 1186 343];
- % cluster_method = 'Optimal';
- % cluster_method = 'Rate_and_width';
- cluster_method = 'Rate_and_width_and_PAL';
- MSN_max_firing_rate_Hz = 6; % From Fee 2010a - set a cutoff at 10Hz. 6Hz was my original cutoff. THAT SAID, the log frate seems to cutoff at 3Hz.
- % MSN_max_firing_rate_Hz = 3; % From Fee 2010a - set a cutoff at 10Hz. 6Hz was my original cutoff. THAT SAID, the log frate seems to cutoff at 3Hz.
- PAL_min_firing_rate_Hz = 50; % This is in the literature, but in our data hardly ANY fired at this rate.
- % Fast_firing_min_rate_Hz = 20;
- Fast_firing_min_rate_Hz = 8; % Maybe +2 and not +4 since 2010aFee indicates that at rest these rates are low.
- % peak_trough_thresh_for_wide_ms = 0.35; % nnot using this now as Fee did not use this.
- half_width_thresh_for_wide_ms = 0.24; % I had used 0.25. Where is this from? Fee2010a looks like a MUCH lowerr number - like .06!!!
- half_width_thresh_for_narrow_ms = 0.22; % I had used 0.25. Where is this from? Fee2010a looks like a MUCH lowerr number - like .06!!!
- n_min = 4; % the minimum number of neurons in a category to be considered.
- set(0,'DefaultTextInterpreter','none')
- clrs = lines(400);
- % Store the features used to classify neurons.
- CLASS_FEATURES.MSN_max_firing_rate_Hz = MSN_max_firing_rate_Hz;
- CLASS_FEATURES.PAL_min_firing_rate_Hz = PAL_min_firing_rate_Hz;
- CLASS_FEATURES.Fast_firing_min_rate_Hz = Fast_firing_min_rate_Hz;
- CLASS_FEATURES.half_width_thresh_for_wide_ms = half_width_thresh_for_wide_ms;
- CLASS_FEATURES.half_width_thresh_for_narrow_ms = half_width_thresh_for_narrow_ms;
- CLASS_FEATURES.cluster_method = cluster_method;
- % RECUSTER OR LOAD CURRENT CLUSTER?
- close all
- % 1/median(diff(INFO.WV_x_ms)/1000)
- TBL.ACn = TBL.AC - mean(TBL.AC(:,end-20:end),2);
- WV_X_IX = INFO.WV_x_ms > -.4 & INFO.WV_x_ms < 1;
- WV_X_KM_IX = INFO.WV_x_ms > -.2 & INFO.WV_x_ms < .6;
- WVup_X_IX = INFO.WV_x_ms_up > -.4 & INFO.WV_x_ms_up < 1;
- AC_X_IX = INFO.AC_x_ms < 50;
- % plot(TBL.WaveNorm(:,WV_X_KM_IX)')
- [pc,sc] = pca(TBL.WaveNorm(:,WV_X_KM_IX));
- TBL.PC1 = sc(:,1);
- TBL.PC2 = sc(:,2);
- TBL.PC3 = sc(:,3);
- TBL.PC4 = sc(:,4);
- F = Z_scores([TBL.WaveNorm(:,WV_X_KM_IX) TBL.Half_width_ms TBL.Peak_to_trough_ms]); % My favorite.
- % F = Z_scores([TBL.Wave(:,WV_X_KM_IX) TBL.Half_width_ms TBL.Peak_to_trough_ms sc(:,1:3)]); % My favorite.
- % F = Z_scores([TBL.Wave(:,WV_X_KM_IX) TBL.Half_width_ms TBL.Peak_to_trough_ms]); %
- % F = Z_scores([TBL.Half_width_ms TBL.Peak_to_trough_ms]); %
- % F = [TBL.Wave(:,WV_X_KM_IX) TBL.Half_width_ms TBL.Peak_to_trough_ms sc(:,1:3) TBL.AC(:,AC_X_IX)];
- % F = [TBL.WaveRaw(:,WV_X_KM_IX) TBL.Peak_to_trough_ms]; % NOPE- think you need to norm WV
- % F = [TBL.Wave(:,WV_X_KM_IX) TBL.AC(:,AC_X_IX) TBL.LV TBL.frate];
- % F = [TBL.Wave(:,WV_X_KM_IX) TBL.frate];
- % [eva, C] = kmeans_optimal_k(F,9);
- % IIN THE FUTURE: I would want to further divide the wide waveform up
- % into subforms.
- [pc,sc] = pca(Z_scores([F TBL.frate]));
- TBL.PC1f = sc(:,1);
- TBL.PC2f = sc(:,2);
- TBL.PC3f = sc(:,3);
- TBL.PC4f = sc(:,4);
- rng(42) % keep at 42 for now.
- C = kmeans(F,2); % do an initially sorting on waveform. Very random.
- [cluster_info,C_optimal_clusters] = kmeans_optimal_k(F,6); % do an initially sorting on waveform.
- % now find the ones with the narrow waveform (presum IN, HF-1, HF-2) and
- % cluster in to 3 groups.
- TBL.Neuron_type_NarWide_cat = categorical(NaN(size(C)));
- if 0
- figure
- subplot(1,2,1)
- tsne_plot(TBL.WaveNorm(:,WV_X_KM_IX))
- subplot(1,2,2)
- tsne_plot(F)
- end
- if 0
- % old way
- if mean(TBL.Peak_to_trough_ms(C == 1)) > mean(TBL.Peak_to_trough_ms(C == 2))
- TBL.Neuron_type_NarWide_cat(C == 1) = 'Wide';
- CIX = C==2;
- else
- TBL.Neuron_type_NarWide_cat(C == 2) = 'Wide';
- CIX = C==1;
- end
- end
- % WIX = TBL.Peak_to_trough_ms > peak_trough_thresh_for_wide_ms | TBL.Half_width_ms > half_width_thresh_for_wide_ms; % this breaks it.
- WIX = TBL.Half_width_ms > half_width_thresh_for_wide_ms;
- NIX = ~WIX & TBL.Half_width_ms < half_width_thresh_for_narrow_ms;
- sum(WIX)
- sum(NIX)
- TBL.Neuron_type_NarWide_cat(1:end) = 'Uncategorized';
- TBL.Neuron_type_NarWide_cat(WIX) = 'Wide';
- TBL.Neuron_type_NarWide_cat(NIX) = 'Narrow';
- TBL.Neuron_type_final_cat = categorical(NaN(size(TBL.Neuron_type_NarWide_cat)));
- TBL.Neuron_type_final_cat(1:end) = 'Uncategorized';
- if PLOT_IT
- CL = C;
- CL = C_optimal_clusters;
- % CL = TBL.Neuron_type_NarWide_cat;
- figure;hist(CL)
- u = unique(CL);
- clrs = lines(20);
- figure
- for ii = 1:length(u)
- CIX = CL == u(ii);
- plot(TBL.WaveNorm(CIX,WV_X_KM_IX)','Color',clrs(ii,:))
- hold on
- end
- figure
- subplot(2,2,1)
- hist_groups(TBL.Peak_to_trough_ms,CL);xlabel('peak trought width')
- subplot(2,2,2)
- hist_groups(TBL.Half_width_ms,CL);xlabel('half width')
- subplot(2,2,3)
- histogram(TBL.Peak_to_trough_ms,50);xlabel('peak trought width')
- subplot(2,2,4)
- histogram(TBL.Half_width_ms,50);xlabel('half width')
- end
- switch cluster_method
- case '4 Group'
- % Further divide the WIDE into 2 groups.
- WIX = TBL.Neuron_type_NarWide_cat == 'Wide';
- F2 = Z_scores([TBL.WaveNorm(WIX,WV_X_KM_IX) TBL.Wave_max(WIX) sc(WIX,1:4)]);
- min_clu = 0;
- while min_clu < 20
- C = kmeans(F2,2);
- c = histcounts(C);
- min_clu = min(c);
- disp('too few')
- end
- wix = find(WIX);
- WIX1 = false(size(WIX));
- WIX1(wix(C==1)) = true;
- WIX2 = false(size(WIX));
- WIX2(wix(C==2)) = true;
- if mean(TBL.Peak_to_trough_ms(WIX1)) > mean(TBL.Peak_to_trough_ms(WIX2))
- TBL.Neuron_type_final_cat(WIX1) = 'Wide1';
- TBL.Neuron_type_final_cat(WIX2) = 'Wide2';
- else
- TBL.Neuron_type_final_cat(WIX1) = 'Wide2';
- TBL.Neuron_type_final_cat(WIX2) = 'Wide1';
- end
- % % F2 = Z_scores([ TBL.LV(CIX) TBL.frate(CIX) TBL.Half_width_ms TBL.Peak_to_trough_ms sc(CIX,1:3)]); % My favorite.
- NARIX = TBL.Neuron_type_NarWide_cat == 'Narrow';
- F2 = Z_scores([ TBL.LV(NARIX) TBL.frate(NARIX) TBL.Half_width_ms(NARIX) TBL.Peak_to_trough_ms(NARIX) sc(NARIX,1:3)]); % My favorite.
- min_clu = 0;
- while min_clu < 20
- C = kmeans(F2,2);
- c = histcounts(C);
- min_clu = min(c);
- disp('too few')
- end
- C = categorical(C);
- C(C=='1') = 'Nar1';
- C(C=='2') = 'Nar2';
- TBL.Neuron_type_final_cat(NARIX) = categorical(C);
- TBL.Neuron_type_final_cat = removecats(TBL.Neuron_type_final_cat);
- TBL.Neuron_type_final_cat = reordercats(TBL.Neuron_type_final_cat,{'Wide1' 'Wide2' 'Nar1' 'Nar2'});
- case 'Rate_and_width'
- SWIX = TBL.Neuron_type_NarWide_cat == 'Wide' & TBL.frate <= MSN_max_firing_rate_Hz;
- TBL.Neuron_type_final_cat(SWIX) = 'WideLowRate';
- SWIX = TBL.Neuron_type_NarWide_cat == 'Wide' & TBL.frate >= Fast_firing_min_rate_Hz;
- TBL.Neuron_type_final_cat(SWIX) = 'WideFastRate';
- SWIX = TBL.Neuron_type_NarWide_cat == 'Narrow' & TBL.frate >= Fast_firing_min_rate_Hz;
- TBL.Neuron_type_final_cat(SWIX) = 'NarrowFastRate';
- SWIX = TBL.Neuron_type_NarWide_cat == 'Narrow' & TBL.frate <= MSN_max_firing_rate_Hz;
- TBL.Neuron_type_final_cat(SWIX) = 'NarrowLowRate';
- % helps to ensure the MSNs are plotted OVER the others.
- TBL.Neuron_type_final_cat = reordercats(TBL.Neuron_type_final_cat, {'Uncategorized','WideLowRate', 'WideFastRate', 'NarrowLowRate', 'NarrowFastRate'});
- % TBL.Neuron_type_final_cat = reordercats(TBL.Neuron_type_final_cat, {'Uncategorized','NarrowLowRate', 'NarrowFastRate', 'WideFastRate', 'WideLowRate', 'VeryFastRate'});
- figure
- gscatter(TBL.Half_width_ms, TBL.Peak_to_trough_ms, TBL.Neuron_type_final_cat);
- xlabel('Half_width_ms');ylabel('ms pt width')
- axis tight
- pubify_figure_axis
- figure;
- gscatter(log10(TBL.frate), TBL.Peak_to_trough_ms, TBL.Neuron_type_final_cat);
- xlabel('log10 Hz');ylabel('ms pt width')
- axis tight
- pubify_figure_axis
- % plot_vert_line_at_zero(log10(MSN_max_firing_rate_Hz))
- % plot_vert_line_at_zero(log10(Fast_firing_min_rate_Hz))
- if 0
- figure
- clrs = lines(5);
- IX = TBL.Neuron_type_final_cat == 'WideFastRate';
- plot(TBL.frate(IX), TBL.Peak_to_trough_ms(IX), 'ko','MarkerFaceColor',clrs(1,:))
- hold on
- IX = TBL.Neuron_type_final_cat == 'NarrowFastRate';
- plot(TBL.frate(IX), TBL.Peak_to_trough_ms(IX), 'ko','MarkerFaceColor',clrs(2,:))
- IX = TBL.Neuron_type_final_cat == 'NarrowLowRate';
- plot(TBL.frate(IX), TBL.Peak_to_trough_ms(IX), 'ko','MarkerFaceColor',clrs(3,:))
- IX = TBL.Neuron_type_final_cat == 'WideLowRate';
- plot(TBL.frate(IX), TBL.Peak_to_trough_ms(IX), 'ko','MarkerFaceColor',clrs(4,:))
- xlabel('Hz');ylabel('ms pt width')
- end
- case 'Rate_and_width_and_PAL'
- SWIX = TBL.Neuron_type_NarWide_cat == 'Wide' & TBL.frate <= MSN_max_firing_rate_Hz;
- TBL.Neuron_type_final_cat(SWIX) = 'WideLowRate';
- SWIX = TBL.Neuron_type_NarWide_cat == 'Wide' & TBL.frate >= Fast_firing_min_rate_Hz;
- TBL.Neuron_type_final_cat(SWIX) = 'WideFastRate';
- SWIX = TBL.Neuron_type_NarWide_cat == 'Narrow' & TBL.frate >= Fast_firing_min_rate_Hz;
- TBL.Neuron_type_final_cat(SWIX) = 'NarrowFastRate';
- SWIX = TBL.Neuron_type_NarWide_cat == 'Narrow' & TBL.frate <= MSN_max_firing_rate_Hz;
- TBL.Neuron_type_final_cat(SWIX) = 'NarrowLowRate';
- sum(TBL.Neuron_type_final_cat == 'Uncategorized')
- % NOW for the putative PAL cells. I think 50 Hz is reasonable.
- % Nothing conclusive has been published for waveform shape, but
- % there are putatively 2 types Fee paper).
- % NOTE: Only one of these neurons had a LV of >1 and so I got rid
- % of the tonic/phasic category.
- if 0
- SWIX = TBL.frate >= PAL_min_firing_rate_Hz & TBL.LV < 1;
- if sum(SWIX) > n_min
- TBL.Neuron_type_final_cat(SWIX) = 'VeryFastRateTonic';
- end
- SWIX = TBL.frate >= PAL_min_firing_rate_Hz & TBL.LV > 1;
- disp(['Found ' num2str(sum(SWIX)) ' phasic VHR neurons'])
- if sum(SWIX) > n_min
- TBL.Neuron_type_final_cat(SWIX) = 'VeryFastRatePhasic';
- end
- try
- TBL.Neuron_type_final_cat = reordercats(TBL.Neuron_type_final_cat, {'Uncategorized', 'WideLowRate','WideFastRate', 'NarrowLowRate', 'NarrowFastRate', 'VeryFastRateTonic', 'VeryFastRatePhasic'});
- catch
- TBL.Neuron_type_final_cat = reordercats(TBL.Neuron_type_final_cat, {'Uncategorized', 'WideLowRate','WideFastRate', 'NarrowLowRate', 'NarrowFastRate', 'VeryFastRateTonic'});
- end
- end
- SWIX = TBL.frate >= PAL_min_firing_rate_Hz;
- TBL.Neuron_type_final_cat(SWIX) = 'VeryFastRate';
- TBL.Neuron_type_final_cat = reordercats(TBL.Neuron_type_final_cat, {'Uncategorized', 'WideLowRate','WideFastRate', 'NarrowLowRate', 'NarrowFastRate', 'VeryFastRate'});
- figure
- subplot(1,3,1)
- gscatter(TBL.Half_width_ms, TBL.Peak_to_trough_ms, TBL.Neuron_type_final_cat);
- xlabel('Half_width_ms');ylabel('ms pt width')
- axis tight
- pubify_figure_axis
- subplot(1,3,2)
- gscatter(TBL.LV, TBL.frate, TBL.Neuron_type_final_cat);
- legend off
- xlabel('LV');ylabel('frateHz')
- axis tight
- pubify_figure_axis
- % plot_vert_line_at_zero(log10(MSN_max_firing_rate_Hz))
- % plot_vert_line_at_zero(log10(Fast_firing_min_rate_Hz))
- subplot(1,3,3)
- gscatter(log10(TBL.frate), TBL.Peak_to_trough_ms, TBL.Neuron_type_final_cat);
- xlabel('log10 Hz');ylabel('ms pt width')
- axis tight
- pubify_figure_axis
- legend off
- case 'Optimal'
- TBL.Neuron_type_final_cat = categorical(C_optimal_clusters);
- end
- if 0
- %% Rebuttal Figure 1: Firing rate.
- % Show this for the pre and post asyn neurons?
- GIX = TBL.Group == 'GFP' | TBL.Group == 'ASYN';
- % Non-log
- figure
- subplot(2,1,1)
- gscatter(TBL.frate(GIX), TBL.Peak_to_trough_ms(GIX), TBL.Group(GIX), [], 'o^+v');
- pubify_figure_axis
- if 1
- plot_vert_line_at_zero(MSN_max_firing_rate_Hz)
- plot_vert_line_at_zero(Fast_firing_min_rate_Hz)
- end
- set(gca,'xlim',[0 100])
- ylabel('Peak to trough width (ms)')
- xlabel('Mean firing rate (Hz)')
- subplot(2,1,2)
- binsize = 2;
- edges = 0:binsize:120;
- histogram(TBL.frate(GIX),edges,DisplayStyle = 'stairs', LineWidth = 3, EdgeColor = [0 0 0]);
- hold on
- if 1
- plot_vert_line_at_zero(MSN_max_firing_rate_Hz)
- plot_vert_line_at_zero(Fast_firing_min_rate_Hz)
- end
- pubify_figure_axis
- set(gca,'xlim',[0 100])
- xlabel('Mean firing rate (Hz)')
- ylabel('Count')
- set(gcf,'Position',[1 1 651 515])
- % For reference - also did this in log to ensure that shows nothign...
- % Log%%%%%%%%%%%%
- nbins = 40;
- figure
- subplot(2,1,1)
- gscatter(log10(TBL.frate(GIX)), TBL.Peak_to_trough_ms(GIX), TBL.Group(GIX), [], 'o^+v', [], [], 1);
- pubify_figure_axis
- set(gca,'xlim',[0 log10(100)])
- ylabel('Peak to trough width (ms)')
- if 1
- plot_vert_line_at_zero(log10(MSN_max_firing_rate_Hz))
- plot_vert_line_at_zero(log10(Fast_firing_min_rate_Hz))
- end
- % xlabel('Log10(firing rate)')
- subplot(2,1,2)
- histogram(log10(TBL.frate(GIX)),nbins,DisplayStyle = 'stairs', LineWidth = 3, EdgeColor = [0 0 0]);
- pubify_figure_axis
- set(gca,'xlim',[0 log10(100)])
- xlabel('Log10(firing rate)')
- ylabel('Count')
- if 1
- plot_vert_line_at_zero(log10(MSN_max_firing_rate_Hz))
- plot_vert_line_at_zero(log10(Fast_firing_min_rate_Hz))
- end
- title(sprintf('10^.45 = %1.2f', 10^.45))
- set(gcf,'Position',[1 1 651 515])
- %% Rebuttal 1.1 Show that my categories have a 'hump' in the separation. They will not.
- % part 2 Can the two Wide-Spike Width type [SC2.1]neurons be separated by firing rate with clear bimodal distributions, or is the data more continuous?
- IXwlr = TBL.Neuron_type_final_cat == 'WideLowRate'
- IXwhr = TBL.Neuron_type_final_cat == 'WideLowRate'
- nbins = 40;
- figure
- subplot(2,1,1)
- gscatter(log10(TBL.frate(GIX)), TBL.Peak_to_trough_ms(GIX), TBL.Neuron_type_final_cat(GIX), [], 'o^+v', [], [], 1);
- pubify_figure_axis
- set(gca,'xlim',[0 log10(100)])
- ylabel('Peak to trough width (ms)')
- % xlabel('Log10(firing rate)')
- subplot(2,1,2)
- histogram(log10(TBL.frate(GIX)),nbins,DisplayStyle = 'stairs', LineWidth = 3, EdgeColor = [0 0 0]);
- pubify_figure_axis
- set(gca,'xlim',[0 log10(100)])
- xlabel('Log10(firing rate)')
- ylabel('Count')
- title(sprintf('10^.45 = %1.2f', 10^.45))
- set(gcf,'Position',[1 1 651 515])
- if 1
- plot_vert_line_at_zero(log10(MSN_max_firing_rate_Hz))
- plot_vert_line_at_zero(log10(Fast_firing_min_rate_Hz))
- end
- end
- %%
- TBL.Neuron_type_NarWide_cat = removecats(TBL.Neuron_type_NarWide_cat);
- TBL.Neuron_type_final_cat = removecats(TBL.Neuron_type_final_cat);
- % Neuron_type_IDs = unique(TBL.Neuron_type_NarWide_cat);
- % Neuron_type_IDs2 = unique(TBL.Neuron_type_final_cat);
- % SAVE THIS STATE AS EVERY TIME YOU RUN THIS YOU WILL GET A NEW RESULT!!!!
- % save(fullfile(clustered_data_dir,'Q1_clustered_data'))
ZEB_Classify_Neurons.m, no license · at the source
Overview
- Department of Neuroscience, University of Arizona, Tucson, Arizona, United States of America
- Department of Psychology, University of Arizona, Tucson, Arizona, United States of America
- Evelyn F. McKnight Brain Institute, University of Arizona, Tucson, Arizona, United States of America
- Departments of Speech, Language and Hearing Sciences, Neurology, Graduate Interdisciplinary Program in Neuroscience, and the BIO5 Institute, Tucson, Arizona, United States of America
Abstract
Changes in vocal pitch, loudness, and timing are prevalent in Parkinson’s Disease (PD) and a target for early intervention and treatment. The neural mechanisms underlying these impairments are not understood, motivating work in animal models. The adult male zebra finch songbird is uniquely poised for these studies given vocally-dedicated brain nuclei and a quantifiable output (birdsong). Our prior publication revealed that injection of an adeno-associated virus (AAV5) expressing the human (h) alpha-synuclein (hSNCA, a-syn) gene into basal ganglia vocal nucleus Area X results in elevated insoluble a-syn protein and parkinsonian-like changes including softer, shorter, and reduced vocalizations compared to controls. Here, we test the hypothesis that AAV-hSNCA overexpression reduces the firing rate of specific neuronal sub-types in Area X using in vivo recordings in anesthetized finches. Five classes of neurons were differentiated in AAV-treated finches based on waveform width (narrow vs. wide) and firing rates (low vs. high). We found that neurons in the AAV-hSNCA group with wide waveforms exhibited reduced firing rates and enhanced post-peak rebound compared to AAV controls. No differences in firing rate nor waveform shape were detected for the narrow waveform neurons. Our findings provide the first characterization of early a-syn-driven neural activity changes in vocal control neurocircuitry.
Reproduced under the paper's license (CC BY), from the paper cited above.
Repository
Its files are read in the Code ↔ Paper reader above, with 3 matches between paragraphs and lines of code.
supp:PMC13374917/pone.0333158.s010.zip
Availability: 1 check, the latest on 27 September 2026: the link answers (HTTP 200)
- 27 September 2026: the link answers (HTTP 200)
8 files
- ZEB_Classify_Neurons.m, MATLAB, 453 lines, 3 matches
- ZEB_Globals.m, MATLAB, 126 lines
- ZEB_Load_Song_Data.m, MATLAB, 147 lines
- ZEB_Neuron_Classificatio
n_Figures.m , MATLAB, 229 lines - ZEB_Neuron_DB.m, MATLAB, 303 lines
- ZEB_Post_Process.m, MATLAB, 104 lines
- ZEB_Post_Process_MAT_FIL
ES.m , MATLAB, 104 lines - README.md, Text, 2 lines
The paper's code and data availability statement is in the Data section.
Tracing map
Proposed by the machine: these links were found in the paper and verified at the source, without human review. The map will receive a Zenodo DOI once one of the paper's authors has validated it with their ORCID.
What the map holds:
- 1 repository of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
- 7 scripts, each with its path and the digest of its content;
- 3 matches between paragraphs of the paper and lines of the code (method lexical-v1);
- neither the text of the paper nor the code itself.
Its JSON (tracing-map.json) is deposited on Zenodo with its DOI once the map is validated.
Data
No dataset and no data link were found in the paper.
Data Availability
The raw electrophysiological data, birdsong data, and microscopy images (Fig 2) used in this study will be available at the time of publication through the University of Arizona figshare ReData Repository, under a CC-BY license. https://
Reproduced under the paper's license (CC BY), from the paper cited above.
Versions
The history of this record: each version stored by the harvester or made by a correction of its authors or of the maintainers of its code, and what changed in its facts. The texts of the paper (its abstract, its availability statements) are not part of it; versions that changed only those are not listed.
Version 1, 27 September 2026: the first record
Recorded: type, language, journal, volume, issue, pages, dates, 6 authors, 9 MeSH terms, 1 funder, 109 references, 3 RRIDs.
Cite
This paper
Dominguez, B. R., Holguin, G., Daly, M. S., Bjork, R. T., Cowen, S. L., & Miller, J. E. (2026). Alpha-synuclein overexpression reduces neural activity within a basal ganglia vocal nucleus in a zebra finch model. PloS one, 21(7), e0333158. https://
BibTeX
@article{dominguez2026al
author = {Dominguez, Brian R and Holguin, Gabriel and Daly, Madeleine S and Bjork, Reed T and Cowen, Stephen L and Miller, Julie E},
title = {{Alpha-synuclein overexpression reduces neural activity within a basal ganglia vocal nucleus in a zebra finch model}},
journal = {PloS one},
year = {2026},
month = jul,
volume = {21},
number = {7},
pages = {e0333158},
publisher = {PLOS},
issn = {1932-6203},
doi = {10.1371/
url = {https://
pmid = {42461894},
pmcid = {PMC13374917}
}
RIS
TY - JOUR
AU - Dominguez, Brian R
AU - Holguin, Gabriel
AU - Daly, Madeleine S
AU - Bjork, Reed T
AU - Cowen, Stephen L
AU - Miller, Julie E
TI - Alpha-synuclein overexpression reduces neural activity within a basal ganglia vocal nucleus in a zebra finch model
T2 - PloS one
J2 - PLoS One
PY - 2026
DA - 2026/
VL - 21
IS - 7
SP - e0333158
SN - 1932-6203
PB - PLOS
DO - 10.1371/
UR - https://
LA - en
ER -
CSL-JSON
{
"id": "10.1371/
"type": "article-journal",
"title": "Alpha-synuclein overexpression reduces neural activity within a basal ganglia vocal nucleus in a zebra finch model",
"container-title": "PloS one",
"author": [
{
"family": "Dominguez",
"given": "Brian R"
},
{
"family": "Holguin",
"given": "Gabriel"
},
{
"family": "Daly",
"given": "Madeleine S"
},
{
"family": "Bjork",
"given": "Reed T"
},
{
"family": "Cowen",
"given": "Stephen L"
},
{
"family": "Miller",
"given": "Julie E"
}
],
"container-title-short":
"volume": "21",
"issue": "7",
"page": "e0333158",
"DOI": "10.1371/
"PMID": "42461894",
"PMCID": "PMC13374917",
"ISSN": "1932-6203",
"publisher": "PLOS",
"URL": "https://
"language": "en",
"issued": {
"date-parts": [
[
2026,
7,
16
]
]
}
}
The tracing map gets a citation of its own once an author has validated it and it has a DOI.
Similar papers
The papers with a page that share the most with this one: the tools found in their code, their categories, datasets, cited references and authors, the rarest counting most.
- [1] doi:10.1523/eneuro.0199-25.2026
- Zebra Finch Introductory Notes Become Song-Like But Have Different Timing and Acoustic Correlations with the Song That Follows.Journal: eNeuroIn common: other, 3 references
- [2] doi:10.3389/fncel.2026.1901103
- Loss of epigenetic adaptation to a high-fat diet in alpha-synuclein transgenic mice.Journal: Frontiers in cellular neuroscienceIn common: Parkinson's, cellular / molecular, 3 references
- [3] doi:10.7554/elife.103046 [code]
- Dichotomy between extracellular signatures of active dendritic chemical synapses and gap junctions.Journal: eLifeIn common: Signal Processing Toolbox, Statistics and Machine Learning Toolbox, cellular / molecular, 2 references
- [4] doi:10.1038/s41531-026-01420-w
- Locus coeruleus α-synuclein overexpression induces prodromal Parkinsonian features in mice.Journal: NPJ Parkinson's diseaseIn common: Parkinson's, cellular / molecular, 2 references
- [5] doi:10.1523/jneurosci.1594-25.2026 [code]
- KIASORT: Knowledge-Integrated Automated Spike Sorting for Geometry-Free Neuron Tracking.Journal: The Journal of neuroscience : the official journal of the Society for NeuroscienceIn common: 3 references
- [6] doi:10.1038/s41467-026-74961-6 [code]
- Spatial multi-omics identifies early synaptic pruning and context-specific dopaminergic vulnerability in synucleinopathies.Journal: Nature communicationsIn common: Parkinson's, cellular / molecular, 2 references
- [7] doi:10.1016/j.nbd.2026.107379 [code]
- DYRK1A and Parkinson's disease, facts and hypotheses.Journal: Neurobiology of diseaseIn common: Parkinson's, cellular / molecular, 2 references
- [8] doi:10.1523/eneuro.0023-26.2026 [code]
- Real-Time Segmentation and Classification of Birdsong Syllables for Learning Experiments.Journal: eNeuroIn common: other, 2 references
- [9] doi:10.1038/s41467-026-73553-8 [code]
- Universal rhythmic architecture uncovers two modes of neural dynamics.Journal: Nature communicationsIn common: Signal Processing Toolbox, Statistics and Machine Learning Toolbox, 1 reference
- [10] doi:10.1038/s41467-026-76581-6 [code]
- Thalamocortical bursts encode reward contingencies and drive associative learning.Journal: Nature communicationsIn common: Signal Processing Toolbox, Statistics and Machine Learning Toolbox, 1 reference
Contribute
The authors of this paper can claim it, correct its record and validate its tracing map, and the maintainers of its code (its owner, or a public member of its organization) correct what it says of their repository; anyone signed in can ask for its removal. Every request goes to OSCR's own machine, which answers it; your account page follows them.
Sign in with ORCID to claim this paper as one of its authors, correct its record or validate its tracing map: when the paper's metadata lists your ORCID iD, you are recognized at once. Maintainers of its code: sign in with GitHub, then claim the repository on your account page.
Claim this paper
Correct its record
Say what each link of this record is, remove the ones that are not the paper's, add the ones that are missing. The correction becomes a new version of the record, in its Versions section.
Validate its tracing map
You validate the map as this page shows it: 1 repository of the authors' code, each at its verified commit and with its license, 7 scripts, and 3 matches between paragraphs and code (see the Code and Map sections). It then receives a DOI on Zenodo, with you (your ORCID iD) and OSCR as its creators; the code itself is not deposited.
The map's fingerprint: sha256:1993350591d4525e…
Add the badge to its README
The badge links the code to this page. Copy one of these into the README of the paper's code: only you decide where it goes, and nothing is changed for you.
Markdown
[.
Discussion, reproductions, activity
Discussion: questions and error reports about this paper and its code, from signed-in readers and its authors. It opens with sign-in.
Reproductions: reports from readers who ran the authors' code: what they reproduced, with which environment, commit and data. It opens with sign-in.
Activity: what happens around this paper: new versions of its record, its map's validation, discussions and reproductions. It opens with sign-in.
