defaults
npatterns=1
actPpre= []
actPpost = []
histPpre = []
histPpost = []
histIpre = []
histIpost = []
prePop = []
postPop = []
brws = [];
nruns=10
brsyns = zeros(nruns,npyrs*nbranches);
brsynsH = zeros(nruns,10);
brsynsK = zeros(nruns,10);
nrnsyns = zeros(nruns,npyrs);
csusbefore = zeros(nruns,1);
csusafter = zeros(nruns,1);
nrnbins = [0:80];
nrnsynsH = zeros(nruns, length(nrnbins));
sumweights = zeros(nruns, 2);
iactPpre = [];
iactPpost = [];
%CONDITION='sparseL'
%close all
nsbefore = [];
nsafter= [];
multiruns = 1;
synapsesCSUS = zeros(nruns, 10);
for run=1:nruns
raster = zeros(npyrs, stimduration*npatterns*3);
avraster = zeros(npyrs, stimduration*npatterns*3);
sfn=sprintf('./data/%s_%d/spikes.dat', CONDITION, run-1);
fspk = fopen(sfn);
nn =1;
while ~feof(fspk)
line = fgets(fspk);
c = sscanf(line, '%d');
for ns=1:multiruns
tt= (ns-1)*stimduration;
nsbefore(run, ns, nn) = length(find(c>tt & c<tt+stimduration));
tt= (multiruns+ns)*stimduration;
nsafter(run, ns, nn) = length(find(c>tt & c<tt+stimduration));
end
nn = nn + 1;
if (nn>nneurons)
break;
end
end
fclose(fspk);
if (0)
nfilts=40;
filt = ones(1,nfilts);
filt=filt/nfilts;
nn=1;
while ~feof(fspk)
line = fgets(fspk);
c = sscanf(line, '%d');
raster(nn, c') = 1;
ab=filter( filt, [1], raster(nn,:));
avraster(nn,:) = 1000*ab;
nn = nn + 1;
if (nn>nneurons)
break;
end
end
fclose(fspk);
figure;
imagesc(avraster(1:160,1:stimduration), [0,200]);
xlabel('Time [msec]')
ylabel('Neuron #')
colorbar();
savefig(sprintf('./figs/ENC_%s_rates_pre', CONDITION), 'pdf')
figure();
imagesc(avraster(1:160,2*stimduration:2*stimduration+stimduration) , [0,200]);
colorbar()
xlabel('Time [msec]')
ylabel('Neuron #')
savefig(sprintf('./figs/ENC_%s_rates_post', CONDITION), 'pdf')
myit = 50;
bins = [];
for n=1:myit:size(raster,2)
ss = sum(sum(raster(1:160,n:n+myit-1)))
bins(end+1) =ss;
end
figure;
bar(bins(4000/myit:6000/myit), 'r');
hold on
bar(bins(1:2000/myit));
hold off
ivv = 8;
set(gca,'Xtick', 0:ivv:2000/(myit), 'XTickLabel',[0:ivv*myit:2000]);
xlim([0,2000/myit+1])
%ylim([0,85])
ylabel('Spike count')
xlabel('Time [msec]')
savefig(sprintf('./figs/ENC_%s_inst_rates', CONDITION), 'pdf')
end
npat=0;
%tend = npat*stimduration;
%actpre = sum( raster(1:npyrs, tend+1:tend+stimduration),2)/2; % for 2000 msec
actpre = nsbefore(run, 1, 1:npyrs)/(stimduration/1000);
%tend = 2*npatterns*stimduration+npat*stimduration;
%actpost = sum( raster(1:npyrs, tend+1:tend+stimduration),2)/2; % for 2000 msec
actpost = nsafter(run, 1, 1:npyrs)/(stimduration/1000);
actPpre(run, :) = actpre(:);
actPpost(run, :) = actpost(:);
%tend = npat*stimduration;
%iactpre = sum( raster(npyrs:nneurons, tend+1:tend+stimduration),2)/2;
iactpre = nsbefore(run, 1, npyrs:nneurons);
%tend = 2*npatterns*stimduration+npat*stimduration;
%iactpost = sum( raster(npyrs:nneurons, tend+1:tend+stimduration),2)/2;
iactpost = nsbefore(run, 1, npyrs:nneurons);
iactPpre(run, :) = iactpre;
iactPpost(run, :) = iactpost;
[bw, bs, nw, ns] = getsynstate(sprintf('./data/%s_%d/synstate.dat', CONDITION, run-1));
brws(run,:) = bw(1,:);
brsyns(run,:) = bs(1,:);
brsynsH(run,:) = hist(bs(1,:), [0:9]);
brsynsK(run,:) = hist(bs(1,:), [0:9]);
brsynsH(run,:) = brsynsH(run,:)/sum(brsynsH(run,:));
nn = ns(1,:);
nrnsyns(run,:) = ns(1,:);
nrnsynsH(run,:) = hist(ns(1,:), nrnbins);
nrnsynsH(run,:) = nrnsynsH(run,:)/sum(nrnsynsH(run,:));
l1 = load(sprintf('./data/%s_%d/sum-weights.txt', CONDITION, run-1));
sumweights(run, 1) = l1(1,1);
sumweights(run, 2) = l1(2,1);
dta = load(sprintf('./data/%s_%d/syn-pre.txt', CONDITION, run-1));
dta= dta(find(dta(:,1)==0), :);
bwCS = dta(find(dta(:,2)<3), 3);
bwUS = dta(find(dta(:,2)>=3), 3);
csusbefore(run) = length(intersect(bwCS, bwUS))
dta = load(sprintf('./data/%s_%d/syn-post.txt', CONDITION, run-1));
dta= dta(find(dta(:,1)==0), :);
dta= dta(find(dta(:,5)>0.7), :);
bwCS = dta(find(dta(:,2)<3), 3);
csusafter(run) = length(intersect(bwCS, bwUS));
bwUS = dta(find(dta(:,2)>=3), 3);
brstim = zeros(3200, 5);
unCS = unique(bwCS);
unUS = unique(bwUS);
brstim(unCS+1, 1) = histc(bwCS, unCS);
brstim(unUS+1, 2) = histc(bwUS, unUS);
brstim = brstim(find(brstim(:,1)>0),:);
brstim = brstim(find(brstim(:,2)>0),:);
synapsesCSUS(run, :) = histc(brstim(:,1)+brstim(:,2), [1:10]); % total number of CS+US synapses in branches that contain at least 1 CS and 1 US
end
nextplot(2,2)
b = hist(actPpre(:), [0:19]);
h=bar(b/sum(b(:)));
set(h,'edgecolor' , 'none')
title('Pre - Excitatory')
%ylim([0,.8]);
%xlabel('Avg Firing Rate [Hz]')
%ylabel('Probability')
nextplot
b = hist(actPpost(:), [0:19]);
h=bar(b/sum(b(:)))
set(h,'edgecolor' , 'none')
%ylim([0,.8]);
title('Post - Excitatory')
nextplot
b = hist(iactPpre(:), [0:40]);
h=bar(b/sum(b(:)))
set(h,'edgecolor' , 'none')
%ylim([0,0.2])
title('Pre - Inhibitory')
nextplot
b = hist(iactPpost(:), [0:40]);
h=bar(b/sum(b(:)))
set(h,'edgecolor' , 'none')
%ylim([0,0.2])
title('Post - Inhibitory')
export_fig(sprintf('./figs/%s_rates.pdf',CONDITION), '-transparent')
nextplot(1,1)
set(gcf, 'Position', [0,0, 440,300])
dta = actPpre(:);
ad =sort(dta,1,'descend');
bar(ad)
kpre = trevrolls(ad);
title('Pre-training firing rates')
ylabel('Average Firing Rate [Hz]');
xlabel('Excitatory neuron')
ylim([0,40]);
%set(gcf, 'Position', [0 0 15 10])
export_fig(sprintf('./figs/%s_sortedpre.pdf',CONDITION), '-transparent')
nextplot(1,1)
set(gcf, 'Position', [0,0, 440,300])
dta = actPpost(1,:);
dta = dta(:);
ad =sort(dta,1,'descend');
bar(ad)
title('Post-training firing rates')
kpost = trevrolls(ad);
xlabel('Excitatory neuron');
ylabel('Average Firing Rate [Hz]');
ylim([0,40]);
export_fig(sprintf('./figs/%s_sortedpost.pdf',CONDITION), '-transparent')
nextplot(1,3)
kpre = [];
kpost = [];
for i=1:nruns
kpre(i) = trevrolls(actPpre(i,:));
kpost(i) = trevrolls(actPpost(i,:));
%actPpre(i,find(actPpre(i,:)<5)) = 0;
%actPpost(i,find(actPpost(i,:)<5)) = 0;
kpre(i) = trevrolls(actPpre(i,: ));
kpost(i) = trevrolls(actPpost(i,:));
end
eb_sp_errs = [stderr(kpre), stderr(kpost)];
eb_sp_mean = [mean(kpre), mean(kpost) ];
%set(gcf, 'Position', [0,0, 440,300])
%barwitherr( eb_sp_errs, eb_sp_mean);
%bar([kpre, kpost]);
%title(sprintf('TrevRolls- %s',CONDITION))
%set(gca, 'XTickLabel', {'Pre', 'Post'})
%savefig(sprintf('./figs/%s_sparsed',CONDITION), 'pdf')
%hold on
%plot(cumsum(hist(actPpost(:), [0:29])), 'r');
%legend('After');
%hold off
%savefig(sprintf('./figs/%s_csum',CONDITION), 'pdf')
% nextplot(1,2)
nextplot
z = []
z(:,1) = mean(actPpre,2); % sum(actPpre,2)./sum(actPpre>CUTOFF,2); %mean(actPpre,2)
z(:,2) = mean(actPpost,2); % sum(actPpost,2)./sum(actPpost>CUTOFF,2);;
eb_firing_errs = std(z);
eb_firing_mean = mean(z)
%barwitherr(eb_firing_errs, eb_firing_mean);
%title('Average Firing Rate')
%ylabel('Avg Firing Rate [Hz]')
%set(gca, 'XTickLabel', {'Pre', 'Test'})
%export_fig(sprintf('./figs/%s_sizes.pdf',CONDITION), '-transparent')
nextplot
z = [];
z(:,1) = mean(actPpre>CUTOFF,2);
z(:,2) = mean(actPpost>CUTOFF,2);
%
A1=std(z.*100)
A2=mean(z.*100)
%
eb_act_errs = stderr(z.*100);
eb_act_mean = mean(z.*100);
%barwitherr(eb_act_errs, eb_act_mean);
%title('Active neurons')
%ylabel('% of neurons')
%ylim([0,35]);
%set(gca, 'XTickLabel', {'Pre', 'Test'})
nextplot(1,1)
%hst = brsynsH(:,2:end)
%h=barwitherr(std(hst,0,1)/sqrt(nruns), mean(hst,1))
h = hist_percents(brsyns, npyrbranches)
xlabel('Potentiated synapses per branch')
ylabel('% Branches')
%ylim([0,100])
%set(gcf, 'Position', [0,0, 490,300])
%export_fig(sprintf('./figs/%s_brsyns.pdf', CONDITION), '-transparent')
nextplot(1,1)
h = hist_percents(nrnsyns, npyrs)
ylim([0,15]);
xlabel('Potentiated synapses per neuron')
ylabel('% Excitatory neurons')
set(gcf, 'Position', [0,0, 440,300])
export_fig(sprintf('./figs/%s_nrnsyns.pdf', CONDITION), '-transparent')
vals = sum(brsyns>2,2);
eb_clu_errs = stderr(vals(:));
eb_clu_mean = mean(vals(:));
%nextplot(1,1)
%set(gcf, 'Position', [0,0, 440,300])
%bar(sort(brws(:), 1, 'descend'))
%set(gca, 'XTickLabel', num2str(get(gca, 'XTick')));
%ylabel('Synaptic potentiation');
%xlabel('Dendritic branch');
%export_fig(sprintf('./figs/%s_brwsorted.pdf', CONDITION), '-transparent')
%nextplot(1,1)
we= stderr(synapsesCSUS);
wm= mean(synapsesCSUS );
%set(gcf, 'Position', [0,0, 440,300])
%barwitherr( we, wm, 'r');
%title(sprintf('Size of CS+US clusters %s',CONDITION))
%set(gca, 'XTickLabel', [1:10])
%savefig(sprintf('./figs/%s_CSUSsyn',CONDITION), 'pdf');