ecog_decoding_plot_trained_naive.m 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. root='/ephys/2/Cecilia_TWF/Analysis'
  2. if ~exist(root,'dir')
  3. root=['/home/colliculus/' root]
  4. end
  5. cd([root '/Analysis_AC_ECoG_TWF_ITD_SparseData/decoding'])
  6. addpath(root)
  7. fsz = 10; % font size
  8. % working on Cecilia's desktop
  9. % cd Z:/ephys/2/Cecilia_TWF/Analysis/Analysis_AC_ECoG_TWF_ITD_SparseData/decoding
  10. % addpath('Z:/ephys/2/Cecilia_TWF/Analysis')
  11. %% compute average 1-30ms for naive rats
  12. temp=dir('TWF*twin_perm.mat');
  13. all_decoding_avg=[];
  14. all_decoding_perm=[];
  15. for i=1:length(temp)
  16. load(temp(i).name);
  17. all_decoding_avg(i,:)=mean(dist_all,2);
  18. for n=1:no_iter
  19. all_decoding_perm(i,n,:)=mean(dist_all.*reshape(randsample([-1 1],size(dist_all,1)*size(dist_all,2),'true'),size(dist_all)),2);
  20. end
  21. end
  22. confint_99_avg=squeeze(mean(prctile(all_decoding_perm,[.5 99.5],2),1));
  23. clear ps
  24. for i=1:4
  25. [ps(i) h stats]=signrank(all_decoding_avg(:,i),0,'method','approximate');
  26. zs(i) = stats.zval;
  27. end
  28. for i=1:4
  29. for j=1:4
  30. ps2(i,j)=signrank(all_decoding_avg(:,i),all_decoding_avg(:,j));
  31. end
  32. end
  33. all_decoding_avg_naive = all_decoding_avg;
  34. ps_naive = ps;
  35. %% compute average 1-30ms for naive rats
  36. temp=dir('trained*twin_perm.mat');
  37. all_decoding_avg=[];
  38. all_decoding_perm=[];
  39. for i=1:length(temp)
  40. load(temp(i).name);
  41. all_decoding_avg(i,:)=mean(dist_all,2);
  42. for n=1:no_iter
  43. all_decoding_perm(i,n,:)=mean(dist_all.*reshape(randsample([-1 1],size(dist_all,1)*size(dist_all,2),'true'),size(dist_all)),2);
  44. end
  45. end
  46. confint_99_avg=squeeze(mean(prctile(all_decoding_perm,[.5 99.5],2),1));
  47. clear ps
  48. for i=1:4
  49. [ps(i) h stats]=signrank(all_decoding_avg(:,i),0,'method','approximate');
  50. zs(i) = stats.zval;
  51. end
  52. for i=1:4
  53. for j=1:4
  54. ps2(i,j)=signrank(all_decoding_avg(:,i),all_decoding_avg(:,j));
  55. end
  56. end
  57. all_decoding_avg_trained = all_decoding_avg;
  58. ps_trained = ps;
  59. %% Now plot
  60. figure('units','centimeters','position',[1,1,15,13]); clf;
  61. %
  62. ax1=subplot(1,2,1)
  63. set(ax1,'fontsize',fsz)
  64. cols={'b' 'r' 'm' [.5 .5 .5]};
  65. hold on
  66. for i=1:4
  67. bar(i,mean(all_decoding_avg_naive(:,i),1),'facecolor',cols{i},'linestyle','none')
  68. line([i i],[mean(all_decoding_avg_naive(:,i),1)-std(all_decoding_avg_naive(:,i),1)/sqrt(14) mean(all_decoding_avg_naive(:,i),1)+std(all_decoding_avg_naive(:,i),1)/sqrt(14)],'color','k')
  69. end
  70. xlim([0 5])
  71. ylabel('decoding (a.u.)','fontsize',fsz)
  72. xlabel('click','fontsize',fsz)
  73. xticklabels({' ','1','2','3','4',' '})
  74. ylim([-2 14]*10e-4)
  75. scatter(find(ps_naive<.05),mean(all_decoding_avg_naive(:,find(ps_naive<.05)),1)*1.4,10,'k*')
  76. t1=title('naive rats','fontsize',fsz)
  77. p=get(t1,'pos'); p(2)=p(2)*1.07; set(t1,'pos',p)
  78. p=get(ax1,'pos'); p(2)=p(2)*1.1; p(4)=p(4)*.9; set(ax1,'pos',p)
  79. xl=xlim();xw=xl(2)-xl(1); lx=xl(1)-xw*0.10;
  80. yl=ylim();yw=yl(2)-yl(1); ly=yl(2)+yw*0.1;
  81. lab1=text(lx, ly, 'A', 'fontsize',fsz+3);
  82. ax1=subplot(1,2,2)
  83. set(ax1,'fontsize',fsz)
  84. cols={'b' 'r' 'm' [.5 .5 .5]};
  85. hold on
  86. for i=1:4
  87. bar(i,mean(all_decoding_avg_trained(:,i),1),'facecolor',cols{i},'linestyle','none')
  88. line([i i],[mean(all_decoding_avg_trained(:,i),1)-std(all_decoding_avg_trained(:,i),1)/sqrt(14) mean(all_decoding_avg_trained(:,i),1)+std(all_decoding_avg_trained(:,i),1)/sqrt(14)],'color','k')
  89. end
  90. xlim([0 5])
  91. ylabel('decoding (a.u.)','fontsize',fsz)
  92. xlabel('click','fontsize',fsz)
  93. xticklabels({' ','1','2','3','4',' '})
  94. ylim([-2 14]*10e-4)
  95. scatter(find(ps_trained<.05),mean(all_decoding_avg_trained(:,find(ps_trained<.05)),1)*1.4,10,'k*')
  96. t1=title('trained rats','fontsize',fsz)
  97. p=get(t1,'pos'); p(2)=p(2)*1.07; set(t1,'pos',p)
  98. p=get(ax1,'pos'); p(2)=p(2)*1.1; p(4)=p(4)*.9; set(ax1,'pos',p)
  99. xl=xlim();xw=xl(2)-xl(1); lx=xl(1)-xw*0.10;
  100. yl=ylim();yw=yl(2)-yl(1); ly=yl(2)+yw*0.1;
  101. lab1=text(lx, ly, 'A', 'fontsize',fsz+3);