defaults close all nruns=5; diffs = [ 60, 120, 300, 1440, 2880 ]; difflabels = { '1H','2H', '5H', '24H', '48H'}; ndiffs = length(diffs); totcommon = zeros(nruns, ndiffs); totfiring = zeros(nruns, ndiffs, 2); totactive = zeros(nruns, ndiffs, 2); overlap = zeros(nruns, ndiffs); coract = zeros(nruns, ndiffs); brsyns = zeros(nruns,npyrs*nbranches); brsynsH = zeros(nruns,10); nrnsyns = zeros(nruns,npyrs); nrnbins = [0:40] nrnsynsH = zeros(nruns, length(nrnbins)); brcors = zeros( nruns, ndiffs); nrncors = zeros(nruns, ndiffs); histCSUSrange = [1:50]; histCSUS = zeros(nruns, length(diffs), length(histCSUSrange)); brcommon = []; for ncase=1:length(diffs) for run=1:nruns diff = diffs(ncase); if (diff < 0) p1 = 0; p2 = -diff; else p1 = diff; p2 = 0; end sfn=sprintf('./data/%s_%d_%d/spikesperpattern.dat', CONDITION, p1,run-1) spk = load( sfn); spk = spk(1:2, :); if (diff<0) spk = flipud(spk); end spk = spk(:, 1:npyrs)/(stimduration/1000); %duration totfiring(run, ncase, 1) = mean(spk(1, :), 2); totfiring(run, ncase, 2) = mean(spk(2, :), 2); totactive(run, ncase, :) = sum(spk>CUTOFF,2)/npyrs; ffactive(run, ncase, 1) = mean(spk(1, spk(1,:)>CUTOFF), 2); ffactive(run, ncase, 2) = mean(spk(2, spk(2,:)>CUTOFF), 2); spk1 = (spk(1,:)>=CUTOFF); spk2 = (spk(2,:)>=CUTOFF); totcommon(run, ncase) = sum(spk1 & spk2)/( sum(spk1)+sum(spk2)); s = corrcoef(spk'); coract(run, ncase) = s(1,2); overlap(run, ncase) = corr( (spk(1,:)>=CUTOFF)' , (spk(2,:)>=CUTOFF)' ); if (1) [bw, bs, nw, ns] = getsynstate(sprintf('./data/%s_%d_%d/synstate.dat', CONDITION, p1,run-1)); %brcors(run,ncase) = corr(bw(1,:)', bw(2,:)'); %nrncors(run,ncase) = corr(nw(1,:)', nw(2,:)'); brsyns = bs(1,:); brsyns2 = bs(2,:); brcommon(run, ncase) = sum( (brsyns>1) & (brsyns2>1) ,2)/ sum( (brsyns>1) | (brsyns2>1) ,2); brtot = brsyns+brsyns2; histCSUS(run, ncase, :) = histc(brtot(find((brsyns>0) & (brsyns2>0))), [1:50]); % brsyns(run,:) = bs(1,:); % brsynsH(run,:) = hist(bs(1,:), [0:9]); % brsynsH(run,:) = brsynsH(run,:)/sum(brsynsH(run,:)); % nrnsyns(run,:) = ns(1,:); % nrnsynsH(run,:) = hist(ns(1,:), nrnbins); % nrnsynsH(run,:) = nrnsynsH(run,:)/sum(nrnsynsH(run,:)); end end end if (strcmp(CONDITION,'dir1L') || strcmp(CONDITION,'dir2L')) COL='r'; elseif (strcmp(CONDITION,'dir1G') || strcmp(CONDITION,'dir2G')) COL='g'; else COL='b'; end %close all mf = mean(totfiring,1) sf = std(totfiring,0,1)/sqrt(nruns) figure hold on errorbar(mf(:,:,1), sf(:,:,1)); errorbar(mf(:,:,2), sf(:,:,2), 'g'); hold off %barwitherr(sf(1,:,1), mf(1,:,1)); set(gca, 'XTick', [1:length(diffs)]) set(gca, 'XTickLabel', difflabels) title(sprintf('Avg firing rate \nAll Neurons [Hz] - %s', CONDITION)) xlabel('Interval Between Memories [minutes]') %ylim([0,10]) export_fig(sprintf('./figs/%s_ffirst.pdf',CONDITION), '-transparent') figure mact = 100.0*mean(totactive,1) sact = 100.0*std(totactive,0,1)/(sqrt(nruns)) hold on errorbar(mact(:,:,1), sact(:,:,1), COL); errorbar(mact(:,:,2), sact(:,:,2), 'g'); hold off %barwitherr(sact(1,:,1), mact(1,:,1)); set(gca, 'XTick', [1:length(diffs)]) set(gca, 'XTickLabel', difflabels) title('% Active neurons'); %xlabel('Weak-Strong Interval [minutes]') ylim([10,50]) export_fig(sprintf('./figs/%s_actfirst.pdf',CONDITION), '-transparent') figure barwitherr(std(coract, 0,1)/sqrt(nruns), mean(coract), COL); set(gca, 'XTick', [1:length(diffs)]) set(gca, 'XTickLabel', difflabels) title(sprintf('Similarity between population firing patterns %s ', CONDITION)) ylabel('Similarity') %xlabel('Weak-Strong Interval [minutes]') %ylim([0,.8]) export_fig(sprintf('./figs/%s_corr.pdf',CONDITION), '-transparent') figure barwitherr(std(overlap, 0,1)/sqrt(nruns), mean(overlap), COL); set(gca, 'XTick', [1:length(diffs)]) set(gca, 'XTickLabel', difflabels) title(sprintf('Active population similarity %s ', CONDITION)) ylabel('Similarity') %xlabel('Weak-Strong Interval [minutes]') ylim([-.1,1.0]) export_fig(sprintf('./figs/%s_overlap.pdf',CONDITION), '-transparent') %close all mf = mean(ffactive,1) sf = std(ffactive,0,1)/sqrt(nruns) figure hold on errorbar(mf(:,:,1), sf(:,:,1)); errorbar(mf(:,:,2), sf(:,:,2), 'g'); hold off %barwitherr(sf(1,:,1), mf(1,:,1)); set(gca, 'XTick', [1:length(diffs)]) set(gca, 'XTickLabel', difflabels) title('Active neurons firing rate [Hz]') xlabel('Interval Between Memories [minutes]') ylim([0,100]) export_fig(sprintf('./figs/%s_ffactive.pdf',CONDITION), '-transparent') figure barwitherr(100.*std(totcommon)/(sqrt(nruns)), 100.*mean(totcommon), COL); set(gca, 'XTick', [1:length(diffs)]) set(gca, 'XTickLabel', difflabels) title(sprintf('Common Active Neurons %s', CONDITION)) ylabel('% common neurons') %xlabel('Weak-Strong Interval [minutes]') ylim([0,50]) export_fig(sprintf('./figs/%s_totcommon.pdf',CONDITION), '-transparent') figure barwitherr(100.*std(brcommon)/(sqrt(nruns)), 100.*mean(brcommon), COL); set(gca, 'XTick', [1:length(diffs)]) set(gca, 'XTickLabel', difflabels) title('% Branches with clusters of both memories') ylabel('% branches') %xlabel('Weak-Strong Interval [minutes]') ylim([0,50]) export_fig(sprintf('./figs/%s_brcommon.pdf',CONDITION), '-transparent') figure; cc=winter(6); nn = [1,3,4]; color = [0,0,1]; for i=1:length(nn) ncase = nn(i); diff = diffs(ncase); aa = mean(histCSUS(:,ncase,:)); bb = stderr(histCSUS(:,ncase,:)); aa = aa(:); bb =bb(:); errorbar(aa,bb, 'Color', cc(ncase,:)); %set(gca, 'Color', 'o'); hold on xlim([0,15]); end ylabel('Number of clusters of both memories'); xlabel('Synapses per cluster'); legend({'1 hour', '3 hours', '5 hours'}); export_fig(sprintf('./figs/%s_clustering2.pdf',CONDITION), '-transparent') hold off;