load('data_fig_2.db','-mat'); res={}; bins=(1:300)*.002; res.allcells.positive=0*bins; res.allcells.negative=0*bins; res.allcells.shuff=zeros(1000,numel(bins)); typ='allcells'; delta_r=5.0666667; delta_l=30.4; if 1 for i=1:numel(alldata.ts) data=alldata.pos{i}; ts=alldata.ts{i}; %% nlaps=min(numel(data.log.end_r),numel(data.log.end_l)); right=(data.log.start_r(1:nlaps)+delta_r)'; left=(data.log.start_l(1:nlaps)+delta_l)'; dwin=.5; %% speed selfast=is_inside(ts',data.log.start_r'+1,data.log.start_r'+4) | is_inside(ts',data.log.start_l'+31.5,data.log.start_l'+34.5); selslow=is_inside(ts',data.log.start_l'+5,data.log.start_l'+25) | is_inside(ts',data.log.start_r'+8,data.log.start_r'+28); res.(typ).fast(i,:)=hist(autoc2(ts(selfast)),bins)/6; res.(typ).slow(i,:)=hist(autoc2(ts(selslow)),bins)/40; %% acceleration res.(typ).negative=res.(typ).negative + hist(autoc2(ts(is_inside(ts',right,right+dwin))),bins); res.(typ).positive=res.(typ).positive + hist(autoc2(ts(is_inside(ts',left,left+dwin))),bins); for j=1:1000 shuff_fast=data.log.start_r'+1+3*rand(1,nlaps); shuff_slow=data.log.start_l'+5+20*rand(1,nlaps); shuff=[shuff_fast shuff_slow]; shuff=shuff(randperm(numel(shuff),numel(shuff)/2)); res.(typ).shuff(j,:)=res.(typ).shuff(j,:)+hist(autoc2(ts(is_inside(ts',shuff,shuff+dwin))),bins); end end end %% %% close all bins=(1:150)*.004; %% sel=bins>0.01 & bins<0.3; types={'allcells'}; nshuf=1000; sname='shuff_speed.mat'; if exist(sname,'file') load(sname,'-mat') else sh_f1={};sh_f2={}; for ty=1:numel(types) typ=types{ty}; sh_f1.(typ)=zeros(1,nshuf); sh_f2.(typ)=zeros(1,nshuf); for j=1:nshuf if mod(j,100)==0 disp(j); end sel=rand(1,size(res.(typ).fast,1))>.5; aux1=mean([reshape(res.(typ).fast(sel,:),[],150); reshape(res.(typ).slow(~sel,:),[],150)]); aux2=mean([reshape(res.(typ).fast(~sel,:),[],150); reshape(res.(typ).slow(sel,:),[],150)]); aux1(end)=0; aux2(end)=0; aux1=aux1/max(aux1); aux2=aux2/max(aux2); c1=do_fit(bins,aux1); c2=do_fit(bins,aux2); sh_f1.(typ)(j)=c1.f; sh_f2.(typ)(j)=c2.f; end end save(sname,'sh_f1','sh_f2','-mat'); end %% speed for ty=numel(types) typ=types{ty}; f=figure; hold on; aux=mean(reshape(res.(typ).fast,[],150))/8; aux(end)=0; mxaux=max(aux); aux=aux/max(aux); ffast=do_plot(bins,aux,[0 1 0],[.5 1 .5]); auxs=mean(reshape(res.(typ).slow,[],150))/40; auxs(end)=0; mxauxs=max(auxs); auxs=auxs/max(auxs); fslow=do_plot(bins,auxs,[1 0 0],[1 .5*[1 1]]); subplot(2,2,1) axis([0 .3 0.3 1.2]); gl=1.5; set(gca,'YTick',0:.5:2,'FontName','Arial'); subplot(2,2,2) axis([0 .3 .15*[-1 1] ]); set(gca,'YTick',-.6:.1:.6,'FontName','Arial'); subplot(2,2,3) fbins=7.5:.01:8.5; h=hist([sh_f1.(typ) sh_f2.(typ)],fbins); b=bar(fbins,h,'LineStyle','none','FaceColor',.5*[1 2 1],'BarWidth',1.0); mx=ceil(2*max(h)); hold on; legend off; line((fslow)*[1 1],[0 mx],'LineWidth',2,'Color',[1 1 1]*.5); line(ffast*[1 1],[0 mx],'LineWidth',2,'Color',[1 .5 .5]); axis([7.6 8.0 0 380]); axis([7.5 9.5 0 380]); set(gca,'YTick',0:100:300) subplot(224) fbins=7.5:.01:8.5; h=hist([sh_f1.(typ) sh_f2.(typ)],fbins); b=bar(fbins,h,'LineStyle','none','FaceColor',.5*[1 2 1],'BarWidth',1.0); mx=ceil(2*max(h)); hold on; legend off; line((fslow)*[1 1],[0 mx],'LineWidth',2,'Color',[1 1 1]*.5); line(ffast*[1 1],[0 mx],'LineWidth',2,'Color',[1 .5 .5]); axis([7.6 8.0 0 300]); set(gca,'YTick',0:100:300) end %% Acceleration gs=0; figure; for ty=numel(types) typ=types{ty}; hold on; aux=gauss_boxcar(mean(reshape(res.(typ).negative,2,150)),gs); aux=aux/max(aux); fm=do_plot(bins,aux,[0 0 0],.5*[1 1 1]); aux=gauss_boxcar(mean(reshape(res.(typ).shuff(1,:),2,150)),gs); aux=aux/max(aux); fc=do_plot(bins,aux,[0 1 0],[.5 1 .5]); aux=gauss_boxcar(mean(reshape(res.(typ).positive,2,150)),gs); aux=aux/max(aux); fp=do_plot(bins,aux,[1 0 0],[1 .5*[1 1]]); end subplot(2,2,1) axis([0 .3 0.3 1.2]); set(gca,'YTick',0:.5:2,'FontName','Arial'); subplot(2,2,2) axis([0 .3 .15*[-1 1] ]); set(gca,'YTick',-.6:.1:.6,'FontName','Arial'); sname='shuff_acc.mat'; if exist(sname,'file') load(sname,'-mat') else for j=1:nshuf if mod(j,100)==0 disp(j); end acc_f(j)=all_fit(res.(typ).shuff(j,:)); end save(sname,'acc_f','-mat'); end %% subplot(2,2,3) fbins=7:.05:9; h=hist(acc_f,fbins); h=h;%/sum(h); b=bar(fbins,h,'LineStyle','none','FaceColor',.5*[1 2 1],'BarWidth',1.0); mx=ceil(2.1*max(h)); gg=fit(fbins',h','gauss1'); hold on; p1=plot(gg); set(p1,'Color',[.5 1 .5]-.5); legend off; % line(fc*[1 1],[0 mx],'LineWidth',2,'Color',[0 1 0]); line(fm*[1 1],[0 mx],'LineWidth',2,'Color',[1 1 1]*.5); line(fp*[1 1],[0 mx],'LineWidth',2,'Color',[1 .5 .5]); axis([7.5 9.5 0 280]); set(gca,'YTick',0:100:300); p_n=(1-erf((fm-gg.b1)/gg.c1)); p_p=(1-erf((fp-gg.b1)/gg.c1)); title(['neg: ' num2str(1-erf(abs(fm-gg.b1)/gg.c1)) ' pos: ' num2str(p_p)]); %%