Figure_4.m 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. load('Figure4.mat');
  2. %% Figure 4A-i
  3. load(['Rat448-Main2-PositionData.mat']);
  4. load(['Rat448-Main2-TT24-C1.mat']);
  5. RasterInfo.Left=2; RasterInfo.Right=1;
  6. thisCLST = GetSpikePosition(thisCLST,Pos);
  7. thisCLST = GetSpikeOutboundFlag(thisCLST, TrialNumber, Time);
  8. [PETHspike] = PeriEventTimeHistogram_Spike(TrialNumber, thisCLST, Time, RasterInfo);
  9. % 3D plotting
  10. FiringRate_3D=zeros(size(PETHspike.Choice,1),60);
  11. for i=1:size(PETHspike.Choice,1)
  12. for j=1:size(PETHspike.Choice,2)
  13. temp=PETHspike.Choice(i,j);
  14. if ~isnan(temp)
  15. temp=ceil((temp+4)*10);
  16. FiringRate_3D(i,temp) = FiringRate_3D(i,temp) +1;
  17. end
  18. end
  19. end
  20. FiringRate_3D=FiringRate_3D*10;
  21. fig=figure; hold on;
  22. set(fig,'position', [0 0 600 600]);
  23. %
  24. for i=2:2:size(FiringRate_3D,1)
  25. x = i/2 * ones(1,60);
  26. temp1=GetGaussianSmoothing(FiringRate_3D(i,1:40),11);
  27. temp2=GetGaussianSmoothing(FiringRate_3D(i,41:60),11);
  28. temp=[temp1 temp2];
  29. p=plot3(x(1:40),1:40,temp(1:40),'--'); p.LineWidth=0.5; p.Color = [0 0 0]/255; p.MarkerSize=12;
  30. p=plot3(x(40:60),40:60,temp(40:60),'-'); p.LineWidth=0.5; p.Color = [0 0 0]/255; p.MarkerSize=12;
  31. end
  32. xlim([(TrialNumber.Block(2) - 7)/2 (TrialNumber.Block(2) + 9)/2]);
  33. g=gca;
  34. g.ZAxis.TickValues=0:5:30;
  35. grid off
  36. g=gca;
  37. g.YDir='rev';
  38. grid on
  39. FontSize=8;
  40. set(gca,'FontSize',FontSize,'FontWeight','bold');
  41. %% Figure 4A-ii
  42. load('Rat448-Main4-TT24-C1_p2.mat')
  43. % B1
  44. temp1 = InFieldRate(MoreActiveField.Even).Even_B1_Individual;
  45. % B2
  46. temp2 = InFieldRate(MoreActiveField.Even).Even_B2_Individual;
  47. % B3
  48. temp3 = InFieldRate(MoreActiveField.Even).Even_B3_Individual;
  49. % B4
  50. temp4 = InFieldRate(MoreActiveField.Even).Even_B4_Individual;
  51. clear temp
  52. temp=[temp1 temp2 temp3 temp4];
  53. figure; hold on;
  54. title('Rat448-Main4-TT24-C1_p2.mat')
  55. p1=plot(temp,'.k-'); p1.MarkerSize=10;
  56. g=gca;
  57. l1=line([length(temp1)+0.5 length(temp1)+0.5], g.YLim); l1.Color='r'; l1.LineStyle='--';
  58. l1=line([length(temp1)+length(temp2)+0.5 length(temp1)+length(temp2)+0.5], g.YLim); l1.Color='r'; l1.LineStyle='--';
  59. l1=line(g.XLim, [max(temp) max(temp)]); l1.Color='b'; l1.LineStyle='-';
  60. l1=line(g.XLim, [max(temp)*0.2 max(temp)*0.2]); l1.Color='b'; l1.LineStyle='--';
  61. %% Figure 4D
  62. % Cumulative, "ON" cell
  63. Timing_SS_iHP_Odd=[];
  64. for i=1:length(Timing.SS.iHP_Odd)
  65. Timing_SS_iHP_Odd(end+1)=Timing.SS.iHP_Odd(i);
  66. end
  67. Timing_SSCR_iHP_Odd=[];
  68. for i=1:length(Timing.SSCR.iHP_Odd)
  69. Timing_SSCR_iHP_Odd(end+1)=Timing.SSCR.iHP_Odd(i);
  70. end
  71. Timing_FLCR_iHP_Odd=[];
  72. for i=1:length(Timing.FLCR.iHP_Odd)
  73. Timing_FLCR_iHP_Odd(end+1)=Timing.FLCR.iHP_Odd(i);
  74. end
  75. Timing_SSFL_iHP_Odd=[];
  76. for i=1:length(Timing.SSFL.iHP_Odd)
  77. Timing_SSFL_iHP_Odd(end+1)=Timing.SSFL.iHP_Odd(i);
  78. end
  79. Timing_SS_iHP_Even=[];
  80. for i=1:length(Timing.SS.iHP_Even)
  81. Timing_SS_iHP_Even(end+1)=Timing.SS.iHP_Even(i);
  82. end
  83. Timing_SSCR_iHP_Even=[];
  84. for i=1:length(Timing.SSCR.iHP_Even)
  85. Timing_SSCR_iHP_Even(end+1)=Timing.SSCR.iHP_Even(i);
  86. end
  87. Timing_FLCR_iHP_Even=[];
  88. for i=1:length(Timing.FLCR.iHP_Even)
  89. Timing_FLCR_iHP_Even(end+1)=Timing.FLCR.iHP_Even(i);
  90. end
  91. Timing_SSFL_iHP_Even=[];
  92. for i=1:length(Timing.SSFL.iHP_Even)
  93. Timing_SSFL_iHP_Even(end+1)=Timing.SSFL.iHP_Even(i);
  94. end
  95. Timing_SS_dHP_Odd=[];
  96. for i=1:length(Timing.SS.dHP_Odd)
  97. Timing_SS_dHP_Odd(end+1)=Timing.SS.dHP_Odd(i);
  98. end
  99. Timing_SSCR_dHP_Odd=[];
  100. for i=1:length(Timing.SSCR.dHP_Odd)
  101. Timing_SSCR_dHP_Odd(end+1)=Timing.SSCR.dHP_Odd(i);
  102. end
  103. Timing_FLCR_dHP_Odd=[];
  104. for i=1:length(Timing.FLCR.dHP_Odd)
  105. Timing_FLCR_dHP_Odd(end+1)=Timing.FLCR.dHP_Odd(i);
  106. end
  107. Timing_SSFL_dHP_Odd=[];
  108. for i=1:length(Timing.SSFL.dHP_Odd)
  109. Timing_SSFL_dHP_Odd(end+1)=Timing.SSFL.dHP_Odd(i);
  110. end
  111. Timing_SS_dHP_Even=[];
  112. for i=1:length(Timing.SS.dHP_Even)
  113. Timing_SS_dHP_Even(end+1)=Timing.SS.dHP_Even(i);
  114. end
  115. Timing_SSCR_dHP_Even=[];
  116. for i=1:length(Timing.SSCR.dHP_Even)
  117. Timing_SSCR_dHP_Even(end+1)=Timing.SSCR.dHP_Even(i);
  118. end
  119. Timing_FLCR_dHP_Even=[];
  120. for i=1:length(Timing.FLCR.dHP_Even)
  121. Timing_FLCR_dHP_Even(end+1)=Timing.FLCR.dHP_Even(i);
  122. end
  123. Timing_SSFL_dHP_Even=[];
  124. for i=1:length(Timing.SSFL.dHP_Even)
  125. Timing_SSFL_dHP_Even(end+1)=Timing.SSFL.dHP_Even(i);
  126. end
  127. temp=30;
  128. iHP_Value=[Timing_SSCR_iHP_Odd(Timing_SSCR_iHP_Odd<=temp) Timing_SSCR_iHP_Even(Timing_SSCR_iHP_Even<=temp)...
  129. Timing_FLCR_iHP_Odd(Timing_FLCR_iHP_Odd<=temp) Timing_FLCR_iHP_Even(Timing_FLCR_iHP_Even<=temp)];
  130. iHP_Same=[Timing_SS_iHP_Odd(Timing_SS_iHP_Odd<=temp) Timing_SS_iHP_Even(Timing_SS_iHP_Even<=temp) ...
  131. Timing_SSFL_iHP_Odd(Timing_SSFL_iHP_Odd<=temp) Timing_SSFL_iHP_Even(Timing_SSFL_iHP_Even<=temp)];
  132. iHP_Same1=[Timing_SSFL_iHP_Odd(Timing_SSFL_iHP_Odd<=temp) Timing_SSFL_iHP_Even(Timing_SSFL_iHP_Even<=temp)];
  133. iHP_Same2=[Timing_SS_iHP_Odd(Timing_SS_iHP_Odd<=temp) Timing_SS_iHP_Even(Timing_SS_iHP_Even<=temp)];
  134. dHP_Value=[Timing_SSCR_dHP_Odd(Timing_SSCR_dHP_Odd<=temp) Timing_SSCR_dHP_Even(Timing_SSCR_dHP_Even<=temp)...
  135. Timing_FLCR_dHP_Odd(Timing_FLCR_dHP_Odd<=temp) Timing_FLCR_dHP_Even(Timing_FLCR_dHP_Even<=temp)];
  136. dHP_Same=[Timing_SS_dHP_Odd(Timing_SS_dHP_Odd<=temp) Timing_SS_dHP_Even(Timing_SS_dHP_Even<=temp)...
  137. Timing_SSFL_dHP_Odd(Timing_SSFL_dHP_Odd<=temp) Timing_SSFL_dHP_Even(Timing_SSFL_dHP_Even<=temp)];
  138. dHP_Value(6)=[]; % remove minus value;
  139. % % Statistical testing
  140. [h,p, STAT]=chi2cont([11 28; 2 20; 1 20]);
  141. [h,p, STAT]=chi2cont([11 28; 2 20]);
  142. [h,p, STAT]=chi2cont([11 28; 1 20;]);
  143. figure; hold on;
  144. cdfplot(iHP_Value);
  145. cdfplot(iHP_Same);
  146. cdfplot(dHP_Value);
  147. cdfplot(dHP_Same);