Figure_1.m 48 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967
  1. %% Figure 1
  2. load('Total Unit Information.mat');
  3. %% Firugre 1D
  4. % % ****** Flag of finding # of cells for specific condition ****** % %
  5. MeanFR=0.25;
  6. iHP = DepthFromCortex_iHP < 5.5;
  7. vHP = DepthFromCortex_iHP >= 5.5;
  8. main_dHP_exp = strcmp(SessionType_dHP,'SS') | strcmp(SessionType_dHP,'SSCH1') | strcmp(SessionType_dHP,'SSCH2') | strcmp(SessionType_dHP,'FRCH1') |...
  9. strcmp(SessionType_dHP,'FRCH2') | strcmp(SessionType_dHP,'SSFR1') | strcmp(SessionType_dHP,'SSFR2') | strcmp(SessionType_dHP,'T-SSCH1') |...
  10. strcmp(SessionType_dHP,'T-SSCH2') | strcmp(SessionType_dHP,'T-Quantity1') | strcmp(SessionType_dHP,'T-Quantity2');
  11. main_iHP_exp = strcmp(SessionType_iHP,'SS') | strcmp(SessionType_iHP,'SSCH1') | strcmp(SessionType_iHP,'SSCH2') | strcmp(SessionType_iHP,'FRCH1') |...
  12. strcmp(SessionType_iHP,'FRCH2') | strcmp(SessionType_iHP,'SSFR1') | strcmp(SessionType_iHP,'SSFR2') | strcmp(SessionType_iHP,'T-SSCH1') |...
  13. strcmp(SessionType_iHP,'T-SSCH2') | strcmp(SessionType_iHP,'T-Quantity1') | strcmp(SessionType_iHP,'T-Quantity2');
  14. %
  15. mask_dHP_LowIsolationQuality=(Assessment_dHP < 2);
  16. mask_dHP_HighIsolationQuality = ~mask_dHP_LowIsolationQuality;
  17. mask_dHP_LowStability=(NumberOfSpike_dHP(:,1)==0 | NumberOfSpike_dHP(:,4)==0) & mask_dHP_HighIsolationQuality;
  18. mask_dHP_HighStability = ~mask_dHP_LowStability;
  19. mask_dHP_GoodCluster=mask_dHP_HighStability & mask_dHP_HighIsolationQuality;
  20. mask_dHP_Interneuron = strcmp(Celltype_dHP,'Interneruon') & mask_dHP_HighStability & mask_dHP_HighIsolationQuality;
  21. mask_dHP_Pyramidal = strcmp(Celltype_dHP,'Pyramidal') & mask_dHP_HighStability & mask_dHP_HighIsolationQuality;
  22. mask_dHP_NonResponsive=(AvgFr_dHP(:,1) < MeanFR & AvgFr_dHP(:,2) < MeanFR & mask_dHP_HighIsolationQuality & mask_dHP_HighStability & mask_dHP_Pyramidal);
  23. mask_dHP_Responsive_Both=((AvgFr_dHP(:,1) >= MeanFR & AvgFr_dHP(:,2) >= MeanFR) & mask_dHP_HighIsolationQuality & mask_dHP_HighStability & mask_dHP_Pyramidal);
  24. mask_dHP_Responsive_OpenField=((AvgFr_dHP(:,1) >= MeanFR) & mask_dHP_HighIsolationQuality & mask_dHP_HighStability & mask_dHP_Pyramidal);
  25. mask_dHP_Responsive_RadialMaze=((AvgFr_dHP(:,2) >= MeanFR) & mask_dHP_HighIsolationQuality & mask_dHP_HighStability & mask_dHP_Pyramidal);
  26. LowScoreCLST.dHP=(Assessment_dHP(main_dHP_exp & mask_dHP_LowIsolationQuality));
  27. LowStabilityCLST.dHP=(Assessment_dHP(main_dHP_exp & mask_dHP_LowStability));
  28. AnalyzableCLST.dHP_INT=(Assessment_dHP(main_dHP_exp & mask_dHP_Interneuron));
  29. AnalyzableCLST.dHP_PYR=(Assessment_dHP(main_dHP_exp & mask_dHP_Pyramidal));
  30. AnalyzableCLST.dHP_PYR_NonResp=(Assessment_dHP(main_dHP_exp & mask_dHP_NonResponsive));
  31. AnalyzableCLST.dHP_PYR_Resp_Both=(Assessment_dHP(main_dHP_exp & mask_dHP_Responsive_Both));
  32. AnalyzableCLST.dHP_PYR_Resp_OpenField=(Assessment_dHP(main_dHP_exp & mask_dHP_Responsive_OpenField));
  33. AnalyzableCLST.dHP_PYR_Resp_RadialMaze=(Assessment_dHP(main_dHP_exp & mask_dHP_Responsive_RadialMaze));
  34. %
  35. mask_iHP_LowIsolationQuality=(Assessment_iHP < 2);
  36. mask_iHP_HighIsolationQuality = ~mask_iHP_LowIsolationQuality;
  37. mask_iHP_LowStability=(NumberOfSpike_iHP(:,1)==0 | NumberOfSpike_iHP(:,4)==0) & mask_iHP_HighIsolationQuality;
  38. mask_iHP_HighStability = ~mask_iHP_LowStability;
  39. mask_iHP_GoodCluster=mask_iHP_HighStability & mask_iHP_HighIsolationQuality;
  40. mask_iHP_Interneuron = strcmp(Celltype_iHP,'Interneruon') & mask_iHP_HighStability & mask_iHP_HighIsolationQuality;
  41. mask_iHP_Pyramidal = strcmp(Celltype_iHP,'Pyramidal') & mask_iHP_HighStability & mask_iHP_HighIsolationQuality;
  42. mask_iHP_NonResponsive=(AvgFr_iHP(:,1) < MeanFR & AvgFr_iHP(:,2) < MeanFR & mask_iHP_HighIsolationQuality & mask_iHP_HighStability & mask_iHP_Pyramidal);
  43. mask_iHP_Responsive_Both=((AvgFr_iHP(:,1) >= MeanFR & AvgFr_iHP(:,2) >= MeanFR) & mask_iHP_HighIsolationQuality & mask_iHP_HighStability & mask_iHP_Pyramidal);
  44. mask_iHP_Responsive_OpenField=((AvgFr_iHP(:,1) >= MeanFR) & mask_iHP_HighIsolationQuality & mask_iHP_HighStability & mask_iHP_Pyramidal);
  45. mask_iHP_Responsive_RadialMaze=((AvgFr_iHP(:,2) >= MeanFR) & mask_iHP_HighIsolationQuality & mask_iHP_HighStability & mask_iHP_Pyramidal);
  46. LowScoreCLST.iHP=(Assessment_iHP(iHP' & main_iHP_exp & mask_iHP_LowIsolationQuality));
  47. LowStabilityCLST.iHP=(Assessment_iHP(iHP' & main_iHP_exp & mask_iHP_LowStability));
  48. AnalyzableCLST.iHP_INT=(Assessment_iHP(iHP' & main_iHP_exp & mask_iHP_Interneuron));
  49. AnalyzableCLST.iHP_PYR=(Assessment_iHP(iHP' & main_iHP_exp & mask_iHP_Pyramidal));
  50. AnalyzableCLST.iHP_PYR_NonResp=(Assessment_iHP(iHP' & main_iHP_exp & mask_iHP_NonResponsive));
  51. AnalyzableCLST.iHP_PYR_Resp_Both=(Assessment_iHP(iHP' & main_iHP_exp & mask_iHP_Responsive_Both));
  52. AnalyzableCLST.iHP_PYR_Resp_OpenField=(Assessment_iHP(iHP' & main_iHP_exp & mask_iHP_Responsive_OpenField));
  53. AnalyzableCLST.iHP_PYR_Resp_RadialMaze=(Assessment_iHP(iHP' & main_iHP_exp & mask_iHP_Responsive_RadialMaze));
  54. %
  55. AnalyzableCLST.vHP_INT=(Assessment_iHP(vHP' & main_iHP_exp & mask_iHP_Interneuron));
  56. AnalyzableCLST.vHP_PYR=(Assessment_iHP(vHP' & main_iHP_exp & mask_iHP_Pyramidal));
  57. AnalyzableCLST.vHP_PYR_NonResp=(Assessment_iHP(vHP' & main_iHP_exp & mask_iHP_NonResponsive));
  58. AnalyzableCLST.vHP_PYR_Resp_Both=(Assessment_iHP(vHP' & main_iHP_exp & mask_iHP_Responsive_Both));
  59. AnalyzableCLST.vHP_PYR_Resp_OpenField=(Assessment_iHP(vHP' & main_iHP_exp & mask_iHP_Responsive_OpenField));
  60. AnalyzableCLST.vHP_PYR_Resp_RadialMaze=(Assessment_iHP(vHP' & main_iHP_exp & mask_iHP_Responsive_RadialMaze));
  61. % % ****** Calculate the number of cells in Figure 1D ****** % %
  62. celltype.dHP_Total=length(Assessment_dHP);
  63. celltype.dHP_Both=length(AnalyzableCLST.dHP_PYR_Resp_Both);
  64. celltype.dHP_OpenField=length(AnalyzableCLST.dHP_PYR_Resp_OpenField)-celltype.dHP_Both;
  65. celltype.dHP_RadialMaze=length(AnalyzableCLST.dHP_PYR_Resp_RadialMaze)-celltype.dHP_Both;
  66. celltype.dHP_NonResp=length(AnalyzableCLST.dHP_PYR_NonResp);
  67. celltype.iHP_Total=length(iHP' & Assessment_iHP);
  68. celltype.iHP_Both=length(AnalyzableCLST.iHP_PYR_Resp_Both);
  69. celltype.iHP_OpenField=length(AnalyzableCLST.iHP_PYR_Resp_OpenField)-celltype.iHP_Both;
  70. celltype.iHP_RadialMaze=length(AnalyzableCLST.iHP_PYR_Resp_RadialMaze)-celltype.iHP_Both;
  71. celltype.iHP_NonResp=length(AnalyzableCLST.iHP_PYR_NonResp);
  72. celltype.vHP_Total=length(vHP' & Assessment_iHP);
  73. celltype.vHP_Both=length(AnalyzableCLST.vHP_PYR_Resp_Both);
  74. celltype.vHP_OpenField=length(AnalyzableCLST.vHP_PYR_Resp_OpenField)-celltype.vHP_Both;
  75. celltype.vHP_RadialMaze=length(AnalyzableCLST.vHP_PYR_Resp_RadialMaze)-celltype.vHP_Both;
  76. celltype.vHP_NonResp=length(AnalyzableCLST.vHP_PYR_NonResp);
  77. x=[celltype.dHP_Both celltype.dHP_OpenField celltype.dHP_RadialMaze celltype.dHP_NonResp];
  78. y=[celltype.iHP_Both celltype.iHP_OpenField celltype.iHP_RadialMaze celltype.iHP_NonResp];
  79. z=[celltype.vHP_Both celltype.vHP_OpenField celltype.vHP_RadialMaze celltype.vHP_NonResp];
  80. % % ****** Plotting the pie chart ****** % %
  81. sum(x)
  82. fig=figure;
  83. pie(x)
  84. SaveRoot=['E:\Ongoing Project\Project - Value-based RW Navigation (dHP-vHP)\Analysis Data\BasicProperties'];
  85. FileName=['PYR ratio_dHP'];
  86. SaveFigure(gcf,SaveRoot, FileName);
  87. sum(y)
  88. fig=figure;
  89. pie(y)
  90. SaveRoot=['E:\Ongoing Project\Project - Value-based RW Navigation (dHP-vHP)\Analysis Data\BasicProperties'];
  91. FileName=['PYR ratio_iHP'];
  92. SaveFigure(gcf,SaveRoot, FileName);
  93. sum(z)
  94. fig=figure;
  95. pie(z)
  96. SaveRoot=['E:\Ongoing Project\Project - Value-based RW Navigation (dHP-vHP)\Analysis Data\BasicProperties'];
  97. FileName=['PYR ratio_vHP'];
  98. SaveFigure(gcf,SaveRoot, FileName);
  99. % % ****** Statistical testing ****** % %
  100. x=[celltype.dHP_OpenField celltype.dHP_Total-celltype.dHP_OpenField];
  101. y=[celltype.dHP_RadialMaze celltype.dHP_Total-celltype.dHP_RadialMaze];
  102. [~,p,stat]=chi2cont([x;y]);
  103. x=[celltype.iHP_OpenField celltype.iHP_Total-celltype.iHP_OpenField];
  104. y=[celltype.iHP_RadialMaze celltype.iHP_Total-celltype.iHP_RadialMaze];
  105. [~,p,stat]=chi2cont([x;y]);
  106. x=[celltype.vHP_OpenField celltype.vHP_Total-celltype.vHP_OpenField];
  107. y=[celltype.vHP_RadialMaze celltype.vHP_Total-celltype.vHP_RadialMaze];
  108. [~,p,stat]=chi2cont([x;y]);
  109. %% Figure 1E, Mean firing rate
  110. clear all
  111. load('Analyzable Unit Information.mat');
  112. main_dHP_exp = strcmp(SessionType_dHP,'SS') | strcmp(SessionType_dHP,'SSCH1') | strcmp(SessionType_dHP,'SSCH2') | strcmp(SessionType_dHP,'FRCH1') |...
  113. strcmp(SessionType_dHP,'FRCH2') | strcmp(SessionType_dHP,'SSFR1') | strcmp(SessionType_dHP,'SSFR2') | strcmp(SessionType_dHP,'T-SSCH1') |...
  114. strcmp(SessionType_dHP,'T-SSCH2') | strcmp(SessionType_dHP,'T-Quantity1') | strcmp(SessionType_dHP,'T-Quantity2');
  115. main_iHP_exp = strcmp(SessionType_iHP,'SS') | strcmp(SessionType_iHP,'SSCH1') | strcmp(SessionType_iHP,'SSCH2') | strcmp(SessionType_iHP,'FRCH1') |...
  116. strcmp(SessionType_iHP,'FRCH2') | strcmp(SessionType_iHP,'SSFR1') | strcmp(SessionType_iHP,'SSFR2') | strcmp(SessionType_iHP,'T-SSCH1') |...
  117. strcmp(SessionType_iHP,'T-SSCH2') | strcmp(SessionType_iHP,'T-Quantity1') | strcmp(SessionType_iHP,'T-Quantity2');
  118. iHP = DepthFromCortex_iHP < 5.5;
  119. vHP = DepthFromCortex_iHP >= 5.5;
  120. mask_dHP_LowIsolationQuality=(Assessment_dHP < 2);
  121. mask_dHP_HighIsolationQuality = ~mask_dHP_LowIsolationQuality;
  122. mask_dHP_LowStability=(NumberOfSpike_dHP(:,1)==0 | NumberOfSpike_dHP(:,4)==0) & mask_dHP_HighIsolationQuality;
  123. mask_dHP_HighStability = ~mask_dHP_LowStability;
  124. mask_dHP_GoodCluster=mask_dHP_HighStability & mask_dHP_HighIsolationQuality;
  125. %
  126. mask_iHP_LowIsolationQuality=(Assessment_iHP < 2);
  127. mask_iHP_HighIsolationQuality = ~mask_iHP_LowIsolationQuality;
  128. mask_iHP_LowStability=(NumberOfSpike_iHP(:,1)==0 | NumberOfSpike_iHP(:,4)==0) & mask_iHP_HighIsolationQuality;
  129. mask_iHP_HighStability = ~mask_iHP_LowStability;
  130. mask_iHP_GoodCluster=mask_iHP_HighStability & mask_iHP_HighIsolationQuality;
  131. clear PopulationAvgFr
  132. a=1; b=1;
  133. for cl=1:length(Celltype_dHP)
  134. if isequal(Celltype_dHP{cl},'Pyramidal') && mask_dHP_GoodCluster(cl)==1 && main_dHP_exp(cl)==1
  135. PopulationAvgFr.Pre_dHP_PYR(a)=PreSleepRate_dHP(cl);
  136. PopulationAvgFr.Main_dHP_PYR(a)=AvgFr_dHP(cl,2); a=a+1;
  137. elseif isequal(Celltype_dHP{cl},'Interneruon') && mask_dHP_GoodCluster(cl)==1 && main_dHP_exp(cl)==1
  138. PopulationAvgFr.Pre_dHP_INT(b)=PreSleepRate_dHP(cl);
  139. PopulationAvgFr.Main_dHP_INT(b)=AvgFr_dHP(cl,2); b=b+1;
  140. end
  141. end
  142. PopulationAvgFr_Rat.Pre_dHP_PYR{1}=[];
  143. PopulationAvgFr_Rat.Pre_dHP_PYR{2}=[];
  144. PopulationAvgFr_Rat.Pre_dHP_PYR{3}=[];
  145. PopulationAvgFr_Rat.Pre_dHP_PYR{4}=[];
  146. PopulationAvgFr_Rat.Pre_dHP_PYR{5}=[];
  147. PopulationAvgFr_Rat.Pre_dHP_PYR{6}=[];
  148. PopulationAvgFr_Rat.Main_dHP_PYR{1}=[];
  149. PopulationAvgFr_Rat.Main_dHP_PYR{2}=[];
  150. PopulationAvgFr_Rat.Main_dHP_PYR{3}=[];
  151. PopulationAvgFr_Rat.Main_dHP_PYR{4}=[];
  152. PopulationAvgFr_Rat.Main_dHP_PYR{5}=[];
  153. PopulationAvgFr_Rat.Main_dHP_PYR{6}=[];
  154. for cl=1:length(Celltype_dHP)
  155. [Rat, Type, Day, TetrodeNumber, ClusterNumber, Session, Sessiontype, Index1] = GetSessionInfo(Clstname_dHP{cl});
  156. Rat=str2num(Rat);
  157. if isequal(Celltype_dHP{cl},'Pyramidal') && mask_dHP_GoodCluster(cl)==1 && main_dHP_exp(cl)==1
  158. switch Rat
  159. case 448
  160. PopulationAvgFr_Rat.Pre_dHP_PYR{1}(end+1)=PreSleepRate_dHP(cl);
  161. PopulationAvgFr_Rat.Main_dHP_PYR{1}(end+1)=AvgFr_dHP(cl,2);
  162. case 459
  163. PopulationAvgFr_Rat.Pre_dHP_PYR{2}(end+1)=PreSleepRate_dHP(cl);
  164. PopulationAvgFr_Rat.Main_dHP_PYR{2}(end+1)=AvgFr_dHP(cl,2);
  165. case 463
  166. PopulationAvgFr_Rat.Pre_dHP_PYR{3}(end+1)=PreSleepRate_dHP(cl);
  167. PopulationAvgFr_Rat.Main_dHP_PYR{3}(end+1)=AvgFr_dHP(cl,2);
  168. case 473
  169. PopulationAvgFr_Rat.Pre_dHP_PYR{4}(end+1)=PreSleepRate_dHP(cl);
  170. PopulationAvgFr_Rat.Main_dHP_PYR{4}(end+1)=AvgFr_dHP(cl,2);
  171. case 488
  172. PopulationAvgFr_Rat.Pre_dHP_PYR{5}(end+1)=PreSleepRate_dHP(cl);
  173. PopulationAvgFr_Rat.Main_dHP_PYR{5}(end+1)=AvgFr_dHP(cl,2);
  174. case 509
  175. PopulationAvgFr_Rat.Pre_dHP_PYR{6}(end+1)=PreSleepRate_dHP(cl);
  176. PopulationAvgFr_Rat.Main_dHP_PYR{6}(end+1)=AvgFr_dHP(cl,2);
  177. end
  178. end
  179. end
  180. % iHP
  181. a=1; b=1;
  182. for cl=1:length(Celltype_iHP)
  183. if iHP(cl) == 1
  184. if isequal(Celltype_iHP{cl},'Pyramidal') && mask_iHP_GoodCluster(cl)==1 && main_iHP_exp(cl)==1
  185. PopulationAvgFr.Pre_iHP_PYR(a)=PreSleepRate_iHP(cl);
  186. PopulationAvgFr.Main_iHP_PYR(a)=AvgFr_iHP(cl,2);
  187. PopulationDepth.iHP_PYR(a)=DepthFromCortex_iHP(cl); a=a+1;
  188. elseif isequal(Celltype_iHP{cl},'Interneruon') && mask_iHP_GoodCluster(cl)==1 && main_iHP_exp(cl)==1
  189. PopulationAvgFr.Pre_iHP_INT(b)=PreSleepRate_iHP(cl);
  190. PopulationAvgFr.Main_iHP_INT(b)=AvgFr_iHP(cl,2);
  191. PopulationDepth.iHP_INT(b)=DepthFromCortex_iHP(cl); b=b+1;
  192. end
  193. end
  194. end
  195. PopulationAvgFr_Rat.Pre_iHP_PYR{1}=[];
  196. PopulationAvgFr_Rat.Pre_iHP_PYR{2}=[];
  197. PopulationAvgFr_Rat.Pre_iHP_PYR{3}=[];
  198. PopulationAvgFr_Rat.Pre_iHP_PYR{4}=[];
  199. PopulationAvgFr_Rat.Pre_iHP_PYR{5}=[];
  200. PopulationAvgFr_Rat.Pre_iHP_PYR{6}=[];
  201. PopulationAvgFr_Rat.Main_iHP_PYR{1}=[];
  202. PopulationAvgFr_Rat.Main_iHP_PYR{2}=[];
  203. PopulationAvgFr_Rat.Main_iHP_PYR{3}=[];
  204. PopulationAvgFr_Rat.Main_iHP_PYR{4}=[];
  205. PopulationAvgFr_Rat.Main_iHP_PYR{5}=[];
  206. PopulationAvgFr_Rat.Main_iHP_PYR{6}=[];
  207. for cl=1:length(Celltype_iHP)
  208. [Rat, Type, Day, TetrodeNumber, ClusterNumber, Session, Sessiontype, Index1] = GetSessionInfo(Clstname_iHP{cl});
  209. Rat=str2num(Rat);
  210. if isequal(Celltype_iHP{cl},'Pyramidal') && mask_iHP_GoodCluster(cl)==1 && main_iHP_exp(cl)==1 && iHP(cl) == 1
  211. switch Rat
  212. case 448
  213. PopulationAvgFr_Rat.Pre_iHP_PYR{1}(end+1)=PreSleepRate_iHP(cl);
  214. PopulationAvgFr_Rat.Main_iHP_PYR{1}(end+1)=AvgFr_iHP(cl,2);
  215. case 459
  216. PopulationAvgFr_Rat.Pre_iHP_PYR{2}(end+1)=PreSleepRate_iHP(cl);
  217. PopulationAvgFr_Rat.Main_iHP_PYR{2}(end+1)=AvgFr_iHP(cl,2);
  218. case 463
  219. PopulationAvgFr_Rat.Pre_iHP_PYR{3}(end+1)=PreSleepRate_iHP(cl);
  220. PopulationAvgFr_Rat.Main_iHP_PYR{3}(end+1)=AvgFr_iHP(cl,2);
  221. case 473
  222. PopulationAvgFr_Rat.Pre_iHP_PYR{4}(end+1)=PreSleepRate_iHP(cl);
  223. PopulationAvgFr_Rat.Main_iHP_PYR{4}(end+1)=AvgFr_iHP(cl,2);
  224. case 488
  225. PopulationAvgFr_Rat.Pre_iHP_PYR{5}(end+1)=PreSleepRate_iHP(cl);
  226. PopulationAvgFr_Rat.Main_iHP_PYR{5}(end+1)=AvgFr_iHP(cl,2);
  227. case 509
  228. PopulationAvgFr_Rat.Pre_iHP_PYR{6}(end+1)=PreSleepRate_iHP(cl);
  229. PopulationAvgFr_Rat.Main_iHP_PYR{6}(end+1)=AvgFr_iHP(cl,2);
  230. end
  231. end
  232. end
  233. % vHP
  234. a=1; b=1;
  235. for cl=1:length(Celltype_iHP)
  236. if vHP(cl) == 1
  237. if isequal(Celltype_iHP{cl},'Pyramidal') && mask_iHP_GoodCluster(cl)==1 && main_iHP_exp(cl)==1
  238. PopulationAvgFr.Pre_vHP_PYR(a)=PreSleepRate_iHP(cl);
  239. PopulationAvgFr.Main_vHP_PYR(a)=AvgFr_iHP(cl,2);a=a+1;
  240. elseif isequal(Celltype_iHP{cl},'Interneruon') && mask_iHP_GoodCluster(cl)==1 && main_iHP_exp(cl)==1
  241. PopulationAvgFr.Pre_iHP_INT(b)=PreSleepRate_iHP(cl);
  242. PopulationAvgFr.Main_vHP_INT(b)=AvgFr_iHP(cl,2);b=b+1;
  243. end
  244. end
  245. end
  246. PopulationAvgFr_Rat.Pre_vHP_PYR{1}=[];
  247. PopulationAvgFr_Rat.Pre_vHP_PYR{2}=[];
  248. PopulationAvgFr_Rat.Pre_vHP_PYR{3}=[];
  249. PopulationAvgFr_Rat.Pre_vHP_PYR{4}=[];
  250. PopulationAvgFr_Rat.Pre_vHP_PYR{5}=[];
  251. PopulationAvgFr_Rat.Pre_vHP_PYR{6}=[];
  252. PopulationAvgFr_Rat.Main_vHP_PYR{1}=[];
  253. PopulationAvgFr_Rat.Main_vHP_PYR{2}=[];
  254. PopulationAvgFr_Rat.Main_vHP_PYR{3}=[];
  255. PopulationAvgFr_Rat.Main_vHP_PYR{4}=[];
  256. PopulationAvgFr_Rat.Main_vHP_PYR{5}=[];
  257. PopulationAvgFr_Rat.Main_vHP_PYR{6}=[];
  258. for cl=1:length(Celltype_iHP)
  259. [Rat, Type, Day, TetrodeNumber, ClusterNumber, Session, Sessiontype, Index1] = GetSessionInfo(Clstname_iHP{cl});
  260. Rat=str2num(Rat);
  261. if isequal(Celltype_iHP{cl},'Pyramidal') && mask_iHP_GoodCluster(cl)==1 && main_iHP_exp(cl)==1 && vHP(cl) == 1
  262. switch Rat
  263. case 448
  264. PopulationAvgFr_Rat.Pre_vHP_PYR{1}(end+1)=PreSleepRate_iHP(cl);
  265. PopulationAvgFr_Rat.Main_vHP_PYR{1}(end+1)=AvgFr_iHP(cl,2);
  266. case 459
  267. PopulationAvgFr_Rat.Pre_vHP_PYR{2}(end+1)=PreSleepRate_iHP(cl);
  268. PopulationAvgFr_Rat.Main_vHP_PYR{2}(end+1)=AvgFr_iHP(cl,2);
  269. case 463
  270. PopulationAvgFr_Rat.Pre_vHP_PYR{3}(end+1)=PreSleepRate_iHP(cl);
  271. PopulationAvgFr_Rat.Main_vHP_PYR{3}(end+1)=AvgFr_iHP(cl,2);
  272. case 473
  273. PopulationAvgFr_Rat.Pre_vHP_PYR{4}(end+1)=PreSleepRate_iHP(cl);
  274. PopulationAvgFr_Rat.Main_vHP_PYR{4}(end+1)=AvgFr_iHP(cl,2);
  275. case 488
  276. PopulationAvgFr_Rat.Pre_vHP_PYR{5}(end+1)=PreSleepRate_iHP(cl);
  277. PopulationAvgFr_Rat.Main_vHP_PYR{5}(end+1)=AvgFr_iHP(cl,2);
  278. case 509
  279. PopulationAvgFr_Rat.Pre_vHP_PYR{6}(end+1)=PreSleepRate_iHP(cl);
  280. PopulationAvgFr_Rat.Main_vHP_PYR{6}(end+1)=AvgFr_iHP(cl,2);
  281. end
  282. end
  283. end
  284. % % ****** Plotting the mean +/- s.t.d grpah****** % %
  285. fig=figure; hold on;
  286. fig.Position=[0 0 1000 500];
  287. Color.color=2; Color.alpha=1;
  288. Jin_MeanSTE_Line(1,PopulationAvgFr.Pre_dHP_PYR,Color);
  289. for i=1:6
  290. plot(1, mean(PopulationAvgFr_Rat.Pre_dHP_PYR{i}),'r.')
  291. end
  292. Color.color=1;
  293. Jin_MeanSTE_Line(1,PopulationAvgFr.Pre_iHP_PYR,Color)
  294. for i=1:6
  295. plot(1, mean(PopulationAvgFr_Rat.Pre_iHP_PYR{i}),'b.')
  296. end
  297. Color.color=3;
  298. Jin_MeanSTE_Line(1,PopulationAvgFr.Pre_vHP_PYR,Color)
  299. for i=1:6
  300. plot(1, mean(PopulationAvgFr_Rat.Pre_vHP_PYR{i}),'g.')
  301. end
  302. Color.color=2; Color.alpha=1;
  303. Jin_MeanSTE_Line(2,PopulationAvgFr.Main_dHP_PYR,Color)
  304. for i=1:6
  305. plot(2, mean(PopulationAvgFr_Rat.Main_dHP_PYR{i}),'r.')
  306. end
  307. Color.color=1;
  308. Jin_MeanSTE_Line(2,PopulationAvgFr.Main_iHP_PYR,Color)
  309. for i=1:6
  310. plot(2, mean(PopulationAvgFr_Rat.Main_iHP_PYR{i}),'b.')
  311. end
  312. Color.color=3;
  313. Jin_MeanSTE_Line(2,PopulationAvgFr.Main_vHP_PYR,Color)
  314. for i=1:6
  315. plot(2, mean(PopulationAvgFr_Rat.Main_vHP_PYR{i}),'g.')
  316. end
  317. g=gca; g.YLim=[0.4 2]; g.YTick=0:0.4:2;
  318. % % Statistical testing
  319. % % Two way mixed ANOVA
  320. dHP_Pre=[PopulationAvgFr.Pre_dHP_PYR]';
  321. dHP_Main=[PopulationAvgFr.Main_dHP_PYR]';
  322. iHP_Pre=[PopulationAvgFr.Pre_iHP_PYR]';
  323. iHP_Main=[PopulationAvgFr.Main_iHP_PYR]';
  324. vHP_Pre=[PopulationAvgFr.Pre_vHP_PYR]';
  325. vHP_Main=[PopulationAvgFr.Main_vHP_PYR]';
  326. Y = [dHP_Pre; dHP_Main; iHP_Pre; iHP_Main; vHP_Pre; vHP_Main];
  327. BS = [GetGroupingVar(dHP_Pre,1); GetGroupingVar(dHP_Main,1); GetGroupingVar(iHP_Pre,2); GetGroupingVar(iHP_Main,2); GetGroupingVar(vHP_Pre,3); GetGroupingVar(vHP_Main,3)];
  328. WS = [GetGroupingVar(dHP_Pre,1); GetGroupingVar(dHP_Main,2); GetGroupingVar(iHP_Pre,1); GetGroupingVar(iHP_Main,2); GetGroupingVar(vHP_Pre,1); GetGroupingVar(vHP_Main,2)];
  329. S = [GetGroupingVar(dHP_Pre); GetGroupingVar(dHP_Main); GetGroupingVar(iHP_Pre)+length(dHP_Pre); GetGroupingVar(iHP_Main)+length(dHP_Pre); GetGroupingVar(vHP_Pre)+length(dHP_Pre)+length(iHP_Pre); GetGroupingVar(vHP_Main)+length(dHP_Pre)+length(iHP_Pre)];
  330. X = [Y BS WS S];
  331. [SSQs, DFs, MSQs, Fs, Ps] = Stat_ANOVA2_Mixed(X);
  332. %% Figure 1F, Theta-modulation index
  333. clear all
  334. load('Analyzable Unit Information.mat');
  335. main_dHP_exp = strcmp(SessionType_dHP,'SS') | strcmp(SessionType_dHP,'SSCH1') | strcmp(SessionType_dHP,'SSCH2') | strcmp(SessionType_dHP,'FRCH1') |...
  336. strcmp(SessionType_dHP,'FRCH2') | strcmp(SessionType_dHP,'SSFR1') | strcmp(SessionType_dHP,'SSFR2') | strcmp(SessionType_dHP,'T-SSCH1') |...
  337. strcmp(SessionType_dHP,'T-SSCH2') | strcmp(SessionType_dHP,'T-Quantity1') | strcmp(SessionType_dHP,'T-Quantity2');
  338. main_iHP_exp = strcmp(SessionType_iHP,'SS') | strcmp(SessionType_iHP,'SSCH1') | strcmp(SessionType_iHP,'SSCH2') | strcmp(SessionType_iHP,'FRCH1') |...
  339. strcmp(SessionType_iHP,'FRCH2') | strcmp(SessionType_iHP,'SSFR1') | strcmp(SessionType_iHP,'SSFR2') | strcmp(SessionType_iHP,'T-SSCH1') |...
  340. strcmp(SessionType_iHP,'T-SSCH2') | strcmp(SessionType_iHP,'T-Quantity1') | strcmp(SessionType_iHP,'T-Quantity2');
  341. iHP = DepthFromCortex_iHP < 5.5;
  342. vHP = DepthFromCortex_iHP >= 5.5;
  343. mask_dHP_LowIsolationQuality=(Assessment_dHP < 2);
  344. mask_dHP_HighIsolationQuality = ~mask_dHP_LowIsolationQuality;
  345. mask_dHP_LowStability=(NumberOfSpike_dHP(:,1)==0 | NumberOfSpike_dHP(:,4)==0) & mask_dHP_HighIsolationQuality;
  346. mask_dHP_HighStability = ~mask_dHP_LowStability;
  347. mask_dHP_GoodCluster=mask_dHP_HighStability & mask_dHP_HighIsolationQuality;
  348. %
  349. mask_iHP_LowIsolationQuality=(Assessment_iHP < 2);
  350. mask_iHP_HighIsolationQuality = ~mask_iHP_LowIsolationQuality;
  351. mask_iHP_LowStability=(NumberOfSpike_iHP(:,1)==0 | NumberOfSpike_iHP(:,4)==0) & mask_iHP_HighIsolationQuality;
  352. mask_iHP_HighStability = ~mask_iHP_LowStability;
  353. mask_iHP_GoodCluster=mask_iHP_HighStability & mask_iHP_HighIsolationQuality;
  354. a=1; b=1;
  355. for cl=1:length(Celltype_dHP)
  356. if sum(Populationcorrelogram.dHP(cl,:)) > 100 && main_dHP_exp(cl)==1
  357. if isequal(Celltype_dHP{cl},'Pyramidal')
  358. PopulationCorrelogram.dHP_PYR(a,:)=PopulationCorrelogram.dHP(cl,:)./max(PopulationCorrelogram.dHP(cl,62:65));
  359. PopulationTMI.dHP_PYR(a)=PopulationTMI.dHP(cl);
  360. a=a+1;
  361. elseif isequal(Celltype_dHP{cl},'Interneruon')
  362. PopulationCorrelogram.dHP_INT(b,:)=PopulationCorrelogram.dHP(cl,:)./max(PopulationCorrelogram.dHP(cl,62:65));
  363. PopulationTMI.dHP_INT(b)=PopulationTMI.dHP(cl);
  364. b=b+1;
  365. end
  366. end
  367. end
  368. a=1; b=1;
  369. for cl=1:length(Celltype_iHP)
  370. if sum(Populationcorrelogram.iHP(cl,:)) > 100 && DepthFromCortex_iHP(cl) < 5.5 && main_iHP_exp(cl)==1
  371. if isequal(Celltype_iHP{cl},'Pyramidal')
  372. PopulationCorrelogram.iHP_PYR(a,:)=PopulationCorrelogram.iHP(cl,:)./max(PopulationCorrelogram.iHP(cl,62:65));
  373. PopulationTMI.iHP_PYR(a)=PopulationTMI.iHP(cl);
  374. PopulationDepthIndex.iHP_PYR(a)=PopulationDepthIndex.iHP(cl);
  375. a=a+1;
  376. elseif isequal(Celltype_iHP{cl},'Interneruon')
  377. PopulationCorrelogram.iHP_INT(b,:)=PopulationCorrelogram.iHP(cl,:)./max(PopulationCorrelogram.iHP(cl,62:65));
  378. PopulationTMI.iHP_INT(b)=PopulationTMI.iHP(cl);
  379. PopulationDepthIndex.iHP_INT(b)=PopulationDepthIndex.iHP(cl);
  380. b=b+1;
  381. end
  382. end
  383. end
  384. a=1; b=1;
  385. for cl=1:length(Celltype_iHP)
  386. if sum(Populationcorrelogram.iHP(cl,:)) > 100 && DepthFromCortex_iHP(cl) >= 5.5 && main_iHP_exp(cl)==1
  387. if isequal(Celltype_iHP{cl},'Pyramidal')
  388. PopulationCorrelogram.vHP_PYR(a,:)=PopulationCorrelogram.iHP(cl,:)./max(PopulationCorrelogram.iHP(cl,62:65));
  389. PopulationTMI.vHP_PYR(a)=PopulationTMI.iHP(cl);
  390. PopulationDepthIndex.vHP_PYR(a)=PopulationDepthIndex.iHP(cl);
  391. a=a+1;
  392. elseif isequal(Celltype_iHP{cl},'Interneruon')
  393. PopulationCorrelogram.vHP_INT(b,:)=PopulationCorrelogram.iHP(cl,:)./max(PopulationCorrelogram.iHP(cl,62:65));
  394. PopulationTMI.vHP_INT(b)=PopulationTMI.iHP(cl);
  395. PopulationDepthIndex.vHP_INT(b)=PopulationDepthIndex.iHP(cl);
  396. b=b+1;
  397. end
  398. end
  399. end
  400. PopulationBasicFr_Rat.TMI_dHP_PYR{1}=[];
  401. PopulationBasicFr_Rat.TMI_dHP_PYR{2}=[];
  402. PopulationBasicFr_Rat.TMI_dHP_PYR{3}=[];
  403. PopulationBasicFr_Rat.TMI_dHP_PYR{4}=[];
  404. PopulationBasicFr_Rat.TMI_dHP_PYR{5}=[];
  405. PopulationBasicFr_Rat.TMI_dHP_PYR{6}=[];
  406. for cl=1:length(Celltype_dHP)
  407. [Rat, Type, Day, TetrodeNumber, ClusterNumber, Session, Sessiontype, Index1] = GetSessionInfo(Clstname_dHP{cl});
  408. Rat=str2num(Rat);
  409. if isequal(Celltype_dHP{cl},'Pyramidal') && mask_dHP_GoodCluster(cl)==1 && main_dHP_exp(cl)==1 && sum(Populationcorrelogram.dHP(cl,:)) > 100
  410. switch Rat
  411. case 448
  412. PopulationBasicFr_Rat.TMI_dHP_PYR{1}(end+1)=PopulationTMI.dHP(cl);
  413. case 459
  414. PopulationBasicFr_Rat.TMI_dHP_PYR{2}(end+1)=PopulationTMI.dHP(cl);
  415. case 463
  416. PopulationBasicFr_Rat.TMI_dHP_PYR{3}(end+1)=PopulationTMI.dHP(cl);
  417. case 473
  418. PopulationBasicFr_Rat.TMI_dHP_PYR{4}(end+1)=PopulationTMI.dHP(cl);
  419. case 488
  420. % PopulationBasicFr_Rat.TMI_dHP_PYR{5}(end+1)=TMI_dHP(cl);
  421. case 509
  422. PopulationBasicFr_Rat.TMI_dHP_PYR{6}(end+1)=PopulationTMI.dHP(cl);
  423. end
  424. end
  425. end
  426. PopulationBasicFr_Rat.TMI_iHP_PYR{1}=[];
  427. PopulationBasicFr_Rat.TMI_iHP_PYR{2}=[];
  428. PopulationBasicFr_Rat.TMI_iHP_PYR{3}=[];
  429. PopulationBasicFr_Rat.TMI_iHP_PYR{4}=[];
  430. PopulationBasicFr_Rat.TMI_iHP_PYR{5}=[];
  431. PopulationBasicFr_Rat.TMI_iHP_PYR{6}=[];
  432. for cl=1:length(Celltype_iHP)
  433. [Rat, Type, Day, TetrodeNumber, ClusterNumber, Session, Sessiontype, Index1] = GetSessionInfo(Clstname_iHP{cl});
  434. Rat=str2num(Rat);
  435. if isequal(Celltype_iHP{cl},'Pyramidal') && mask_iHP_GoodCluster(cl)==1 && main_iHP_exp(cl)==1 && sum(Populationcorrelogram.iHP(cl,:)) > 100 && iHP(cl) == 1
  436. switch Rat
  437. case 448
  438. PopulationBasicFr_Rat.TMI_iHP_PYR{1}(end+1)=PopulationTMI.iHP(cl);
  439. case 459
  440. PopulationBasicFr_Rat.TMI_iHP_PYR{2}(end+1)=PopulationTMI.iHP(cl);
  441. case 463
  442. PopulationBasicFr_Rat.TMI_iHP_PYR{3}(end+1)=PopulationTMI.iHP(cl);
  443. case 473
  444. PopulationBasicFr_Rat.TMI_iHP_PYR{4}(end+1)=PopulationTMI.iHP(cl);
  445. case 488
  446. % PopulationBasicFr_Rat.TMI_iHP_PYR{5}(end+1)=PopulationTMI.iHP(cl);
  447. case 509
  448. PopulationBasicFr_Rat.TMI_iHP_PYR{6}(end+1)=PopulationTMI.iHP(cl);
  449. end
  450. end
  451. end
  452. PopulationBasicFr_Rat.TMI_vHP_PYR{1}=[];
  453. PopulationBasicFr_Rat.TMI_vHP_PYR{2}=[];
  454. PopulationBasicFr_Rat.TMI_vHP_PYR{3}=[];
  455. PopulationBasicFr_Rat.TMI_vHP_PYR{4}=[];
  456. PopulationBasicFr_Rat.TMI_vHP_PYR{5}=[];
  457. PopulationBasicFr_Rat.TMI_vHP_PYR{6}=[];
  458. for cl=1:length(Celltype_iHP)
  459. [Rat, Type, Day, TetrodeNumber, ClusterNumber, Session, Sessiontype, Index1] = GetSessionInfo(Clstname_iHP{cl});
  460. Rat=str2num(Rat);
  461. if isequal(Celltype_iHP{cl},'Pyramidal') && mask_iHP_GoodCluster(cl)==1 && main_iHP_exp(cl)==1 && sum(Populationcorrelogram.iHP(cl,:)) > 100 && vHP(cl) == 1
  462. switch Rat
  463. case 448
  464. PopulationBasicFr_Rat.TMI_vHP_PYR{1}(end+1)=PopulationTMI.iHP(cl);
  465. case 459
  466. PopulationBasicFr_Rat.TMI_vHP_PYR{2}(end+1)=PopulationTMI.iHP(cl);
  467. case 463
  468. PopulationBasicFr_Rat.TMI_vHP_PYR{3}(end+1)=PopulationTMI.iHP(cl);
  469. case 473
  470. PopulationBasicFr_Rat.TMI_vHP_PYR{4}(end+1)=PopulationTMI.iHP(cl);
  471. case 488
  472. PopulationBasicFr_Rat.TMI_vHP_PYR{5}(end+1)=PopulationTMI.iHP(cl);
  473. case 509
  474. PopulationBasicFr_Rat.TMI_vHP_PYR{6}(end+1)=PopulationTMI.iHP(cl);
  475. end
  476. end
  477. end
  478. % % Plotting
  479. fig=figure; hold on;
  480. fig.Position=[0 0 1000 500];
  481. Color.color=2; Color.alpha=1;
  482. Jin_MeanSTE_Line(1,PopulationTMI.dHP_PYR,Color)
  483. for i=1:6
  484. plot(1, mean(PopulationBasicFr_Rat.TMI_dHP_PYR{i}),'r.')
  485. end
  486. Color.color=1;
  487. Jin_MeanSTE_Line(2,PopulationTMI.iHP_PYR,Color)
  488. for i=1:6
  489. plot(2, mean(PopulationBasicFr_Rat.TMI_iHP_PYR{i}),'b.')
  490. end
  491. Color.color=3;
  492. Jin_MeanSTE_Line(3,PopulationTMI.vHP_PYR,Color)
  493. for i=1:6
  494. plot(3, mean(PopulationBasicFr_Rat.TMI_vHP_PYR{i}),'g.')
  495. end
  496. % % Statistical testing
  497. dHP_PYR=[PopulationTMI.dHP_PYR]';
  498. iHP_PYR=[PopulationTMI.iHP_PYR]';
  499. vHP_PYR=[PopulationTMI.vHP_PYR]';
  500. % %
  501. Y = [dHP_PYR; iHP_PYR; vHP_PYR];
  502. GROUP = [GetGroupingVar(dHP_PYR,1); GetGroupingVar(iHP_PYR,12); GetGroupingVar(vHP_PYR,3)];
  503. [Pvalue, result, gnames] = Stat_ANOVA1(Y,GROUP);
  504. %% Figure 1G, Bursting index
  505. clear all
  506. load('Analyzable Unit Information.mat');
  507. main_dHP_exp = strcmp(SessionType_dHP,'SS') | strcmp(SessionType_dHP,'SSCH1') | strcmp(SessionType_dHP,'SSCH2') | strcmp(SessionType_dHP,'FRCH1') |...
  508. strcmp(SessionType_dHP,'FRCH2') | strcmp(SessionType_dHP,'SSFR1') | strcmp(SessionType_dHP,'SSFR2') | strcmp(SessionType_dHP,'T-SSCH1') |...
  509. strcmp(SessionType_dHP,'T-SSCH2') | strcmp(SessionType_dHP,'T-Quantity1') | strcmp(SessionType_dHP,'T-Quantity2');
  510. main_iHP_exp = strcmp(SessionType_iHP,'SS') | strcmp(SessionType_iHP,'SSCH1') | strcmp(SessionType_iHP,'SSCH2') | strcmp(SessionType_iHP,'FRCH1') |...
  511. strcmp(SessionType_iHP,'FRCH2') | strcmp(SessionType_iHP,'SSFR1') | strcmp(SessionType_iHP,'SSFR2') | strcmp(SessionType_iHP,'T-SSCH1') |...
  512. strcmp(SessionType_iHP,'T-SSCH2') | strcmp(SessionType_iHP,'T-Quantity1') | strcmp(SessionType_iHP,'T-Quantity2');
  513. iHP = DepthFromCortex_iHP < 5.5;
  514. vHP = DepthFromCortex_iHP >= 5.5;
  515. mask_dHP_LowIsolationQuality=(Assessment_dHP < 2);
  516. mask_dHP_HighIsolationQuality = ~mask_dHP_LowIsolationQuality;
  517. mask_dHP_LowStability=(NumberOfSpike_dHP(:,1)==0 | NumberOfSpike_dHP(:,4)==0) & mask_dHP_HighIsolationQuality;
  518. mask_dHP_HighStability = ~mask_dHP_LowStability;
  519. mask_dHP_GoodCluster=mask_dHP_HighStability & mask_dHP_HighIsolationQuality;
  520. %
  521. mask_iHP_LowIsolationQuality=(Assessment_iHP < 2);
  522. mask_iHP_HighIsolationQuality = ~mask_iHP_LowIsolationQuality;
  523. mask_iHP_LowStability=(NumberOfSpike_iHP(:,1)==0 | NumberOfSpike_iHP(:,4)==0) & mask_iHP_HighIsolationQuality;
  524. mask_iHP_HighStability = ~mask_iHP_LowStability;
  525. mask_iHP_GoodCluster=mask_iHP_HighStability & mask_iHP_HighIsolationQuality;
  526. a=1; b=1;
  527. for cl=1:length(Celltype_dHP)
  528. if sum(Populationcorrelogram.dHP(cl,:)) > 100
  529. if isequal(Celltype_dHP{cl},'Pyramidal') && mask_dHP_GoodCluster(cl)==1 && main_dHP_exp(cl)==1
  530. PopulationBasicFr.BurstingIndex_dHP_PYR(a)=BurstingIndex_dHP(cl,2);
  531. PopulationBasicFr.SpikeWidth_dHP_PYR(a)=SpikeWidth_dHP(cl); a=a+1;
  532. elseif isequal(Celltype_dHP{cl},'Interneruon') && mask_iHP_GoodCluster(cl)==1 && main_iHP_exp(cl)==1
  533. PopulationBasicFr.BurstingIndex_dHP_INT(b)=BurstingIndex_dHP(cl,2);
  534. PopulationBasicFr.SpikeWidth_dHP_INT(b)=SpikeWidth_dHP(cl); b=b+1;
  535. end
  536. end
  537. end
  538. a=1; b=1;
  539. for cl=1:length(Celltype_iHP)
  540. if sum(Populationcorrelogram.iHP(cl,:)) > 100
  541. if isequal(Celltype_iHP{cl},'Pyramidal') && mask_iHP_GoodCluster(cl)==1 && main_iHP_exp(cl)==1 && iHP(cl) == 1
  542. PopulationBasicFr.BurstingIndex_iHP_PYR(a)=BurstingIndex_iHP(cl,2);
  543. PopulationBasicFr.SpikeWidth_iHP_PYR(a)=SpikeWidth_iHP(cl);
  544. PopulationDepth.iHP_PYR(a)=DepthFromCortex_iHP(cl); a=a+1;
  545. elseif isequal(Celltype_iHP{cl},'Interneruon') && mask_iHP_GoodCluster(cl)==1 && main_iHP_exp(cl)==1 && iHP(cl) == 1
  546. PopulationBasicFr.BurstingIndex_iHP_INT(b)=BurstingIndex_iHP(cl,2);
  547. PopulationBasicFr.SpikeWidth_iHP_INT(b)=SpikeWidth_iHP(cl);
  548. PopulationDepth.iHP_INT(b)=DepthFromCortex_iHP(cl); b=b+1;
  549. end
  550. end
  551. end
  552. a=1; b=1;
  553. for cl=1:length(Celltype_iHP)
  554. if sum(Populationcorrelogram.iHP(cl,:)) > 100
  555. if isequal(Celltype_iHP{cl},'Pyramidal') && mask_iHP_GoodCluster(cl)==1 && main_iHP_exp(cl)==1 && vHP(cl) == 1
  556. PopulationBasicFr.BurstingIndex_vHP_PYR(a)=BurstingIndex_iHP(cl,2);
  557. PopulationBasicFr.SpikeWidth_vHP_PYR(a)=SpikeWidth_iHP(cl);
  558. PopulationDepth.vHP_PYR(a)=DepthFromCortex_iHP(cl); a=a+1;
  559. elseif isequal(Celltype_iHP{cl},'Interneruon') && mask_iHP_GoodCluster(cl)==1 && main_iHP_exp(cl)==1 && vHP(cl) == 1
  560. PopulationBasicFr.BurstingIndex_vHP_INT(b)=BurstingIndex_iHP(cl,2);
  561. PopulationBasicFr.SpikeWidth_vHP_INT(b)=SpikeWidth_iHP(cl);
  562. PopulationDepth.vHP_INT(b)=DepthFromCortex_iHP(cl); b=b+1;
  563. end
  564. end
  565. end
  566. PopulationBasicFr_Rat.BurstingIndex_dHP_PYR{1}=[];
  567. PopulationBasicFr_Rat.BurstingIndex_dHP_PYR{2}=[];
  568. PopulationBasicFr_Rat.BurstingIndex_dHP_PYR{3}=[];
  569. PopulationBasicFr_Rat.BurstingIndex_dHP_PYR{4}=[];
  570. PopulationBasicFr_Rat.BurstingIndex_dHP_PYR{5}=[];
  571. PopulationBasicFr_Rat.BurstingIndex_dHP_PYR{6}=[];
  572. for cl=1:length(Celltype_dHP)
  573. [Rat, Type, Day, TetrodeNumber, ClusterNumber, Session, Sessiontype, Index1] = GetSessionInfo(Clstname_dHP{cl});
  574. Rat=str2num(Rat);
  575. if isequal(Celltype_dHP{cl},'Pyramidal') && mask_dHP_GoodCluster(cl)==1 && main_dHP_exp(cl)==1 && sum(Populationcorrelogram.dHP(cl,:)) > 100
  576. switch Rat
  577. case 448
  578. PopulationBasicFr_Rat.BurstingIndex_dHP_PYR{1}(end+1)=BurstingIndex_dHP(cl,2);
  579. case 459
  580. PopulationBasicFr_Rat.BurstingIndex_dHP_PYR{2}(end+1)=BurstingIndex_dHP(cl,2);
  581. case 463
  582. PopulationBasicFr_Rat.BurstingIndex_dHP_PYR{3}(end+1)=BurstingIndex_dHP(cl,2);
  583. case 473
  584. PopulationBasicFr_Rat.BurstingIndex_dHP_PYR{4}(end+1)=BurstingIndex_dHP(cl,2);
  585. case 488
  586. % PopulationBasicFr_Rat.BurstingIndex_dHP_PYR{5}(end+1)=BurstingIndex_dHP(cl,2);
  587. case 509
  588. PopulationBasicFr_Rat.BurstingIndex_dHP_PYR{6}(end+1)=BurstingIndex_dHP(cl,2);
  589. end
  590. end
  591. end
  592. PopulationBasicFr_Rat.BurstingIndex_iHP_PYR{1}=[];
  593. PopulationBasicFr_Rat.BurstingIndex_iHP_PYR{2}=[];
  594. PopulationBasicFr_Rat.BurstingIndex_iHP_PYR{3}=[];
  595. PopulationBasicFr_Rat.BurstingIndex_iHP_PYR{4}=[];
  596. PopulationBasicFr_Rat.BurstingIndex_iHP_PYR{5}=[];
  597. PopulationBasicFr_Rat.BurstingIndex_iHP_PYR{6}=[];
  598. for cl=1:length(Celltype_iHP)
  599. [Rat, Type, Day, TetrodeNumber, ClusterNumber, Session, Sessiontype, Index1] = GetSessionInfo(Clstname_iHP{cl});
  600. Rat=str2num(Rat);
  601. if isequal(Celltype_iHP{cl},'Pyramidal') && mask_iHP_GoodCluster(cl)==1 && main_iHP_exp(cl)==1 && sum(Populationcorrelogram.iHP(cl,:)) > 100 && iHP(cl) == 1
  602. switch Rat
  603. case 448
  604. PopulationBasicFr_Rat.BurstingIndex_iHP_PYR{1}(end+1)=BurstingIndex_iHP(cl,2);
  605. case 459
  606. PopulationBasicFr_Rat.BurstingIndex_iHP_PYR{2}(end+1)=BurstingIndex_iHP(cl,2);
  607. case 463
  608. PopulationBasicFr_Rat.BurstingIndex_iHP_PYR{3}(end+1)=BurstingIndex_iHP(cl,2);
  609. case 473
  610. PopulationBasicFr_Rat.BurstingIndex_iHP_PYR{4}(end+1)=BurstingIndex_iHP(cl,2);
  611. case 488
  612. % PopulationBasicFr_Rat.BurstingIndex_iHP_PYR{5}(end+1)=BurstingIndex_iHP(cl,2);
  613. case 509
  614. PopulationBasicFr_Rat.BurstingIndex_iHP_PYR{6}(end+1)=BurstingIndex_iHP(cl,2);
  615. end
  616. end
  617. end
  618. PopulationBasicFr_Rat.BurstingIndex_vHP_PYR{1}=[];
  619. PopulationBasicFr_Rat.BurstingIndex_vHP_PYR{2}=[];
  620. PopulationBasicFr_Rat.BurstingIndex_vHP_PYR{3}=[];
  621. PopulationBasicFr_Rat.BurstingIndex_vHP_PYR{4}=[];
  622. PopulationBasicFr_Rat.BurstingIndex_vHP_PYR{5}=[];
  623. PopulationBasicFr_Rat.BurstingIndex_vHP_PYR{6}=[];
  624. for cl=1:length(Celltype_iHP)
  625. [Rat, Type, Day, TetrodeNumber, ClusterNumber, Session, Sessiontype, Index1] = GetSessionInfo(Clstname_iHP{cl});
  626. Rat=str2num(Rat);
  627. if isequal(Celltype_iHP{cl},'Pyramidal') && mask_iHP_GoodCluster(cl)==1 && main_iHP_exp(cl)==1 && sum(Populationcorrelogram.iHP(cl,:)) > 100 && vHP(cl) == 1
  628. switch Rat
  629. case 448
  630. PopulationBasicFr_Rat.BurstingIndex_vHP_PYR{1}(end+1)=BurstingIndex_iHP(cl,2);
  631. case 459
  632. PopulationBasicFr_Rat.BurstingIndex_vHP_PYR{2}(end+1)=BurstingIndex_iHP(cl,2);
  633. case 463
  634. PopulationBasicFr_Rat.BurstingIndex_vHP_PYR{3}(end+1)=BurstingIndex_iHP(cl,2);
  635. case 473
  636. PopulationBasicFr_Rat.BurstingIndex_vHP_PYR{4}(end+1)=BurstingIndex_iHP(cl,2);
  637. case 488
  638. PopulationBasicFr_Rat.BurstingIndex_vHP_PYR{5}(end+1)=BurstingIndex_iHP(cl,2);
  639. case 509
  640. PopulationBasicFr_Rat.BurstingIndex_vHP_PYR{6}(end+1)=BurstingIndex_iHP(cl,2);
  641. end
  642. end
  643. end
  644. fig=figure; hold on;
  645. fig.Position=[0 0 1000 500];
  646. Color.color=2; Color.alpha=1;
  647. Jin_MeanSTE_Line(1,PopulationBasicFr.BurstingIndex_dHP_PYR,Color)
  648. for i=1:6
  649. plot(1, mean(PopulationBasicFr_Rat.BurstingIndex_dHP_PYR{i}),'r.')
  650. end
  651. Color.color=1;
  652. Jin_MeanSTE_Line(2,PopulationBasicFr.BurstingIndex_iHP_PYR,Color)
  653. for i=1:6
  654. % mean(PopulationBasicFr_Rat.BurstingIndex_iHP_PYR{i})
  655. plot(2, mean(PopulationBasicFr_Rat.BurstingIndex_iHP_PYR{i}),'b.')
  656. end
  657. Color.color=3;
  658. Jin_MeanSTE_Line(3,PopulationBasicFr.BurstingIndex_vHP_PYR,Color)
  659. for i=1:6
  660. % mean(PopulationBasicFr_Rat.BurstingIndex_vHP_PYR{i})
  661. plot(3, mean(PopulationBasicFr_Rat.BurstingIndex_vHP_PYR{i}),'g.')
  662. end
  663. % % Statistical testing
  664. dHP_PYR=[PopulationBasicFr.BurstingIndex_dHP_PYR]';
  665. iHP_PYR=[PopulationBasicFr.BurstingIndex_iHP_PYR]';
  666. vHP_PYR=[PopulationBasicFr.BurstingIndex_vHP_PYR]';
  667. Y = [dHP_PYR; iHP_PYR; vHP_PYR];
  668. GROUP = [GetGroupingVar(dHP_PYR,1); GetGroupingVar(iHP_PYR,12); GetGroupingVar(vHP_PYR,3)];
  669. [Pvalue, result, ~] = Stat_ANOVA1(Y,GROUP);
  670. %% Figure 1H, Spatial information
  671. clear all
  672. FR_Thre=0.25;
  673. pvalue=0.01;
  674. Color=mapcolor(100,0);
  675. REGION='Total';
  676. SI_dHP_Thre=0.25;
  677. SI_iHP_Thre=0.25;
  678. load(['E:\Ongoing Project\Project - Value-based RW Navigation (dHP-vHP)\Analysis Data\OpenField_JPEG_SpatialAnalysis\FR_Thre_' num2str(FR_Thre) '_Pvalue_' num2str(pvalue) '\ClusterInfo_Openfield_' REGION '.mat'])
  679. Active_dHP=ClusterInfo.Total_dHP_AvgFiringRate >= FR_Thre;
  680. Active_iHP=ClusterInfo.Total_iHP_AvgFiringRate >= FR_Thre;
  681. Information_dHP = ClusterInfo.Total_dHP_SpatialInfo >= SI_dHP_Thre;
  682. Information_iHP = ClusterInfo.Total_iHP_SpatialInfo >= SI_iHP_Thre;
  683. SpatiallyModulated_dHP = ClusterInfo.Total_dHP_SpatialInfo_pvalue < pvalue;
  684. SpatiallyModulated_iHP = ClusterInfo.Total_iHP_SpatialInfo_pvalue < pvalue;
  685. PlaceCell_dHP=Active_dHP&Information_dHP&SpatiallyModulated_dHP;
  686. PlaceCell_iHP=Active_iHP&Information_iHP&SpatiallyModulated_iHP;
  687. iHP = (ClusterInfo.Total_iHP_DistFromCortex < 5.5);
  688. vHP = (ClusterInfo.Total_iHP_DistFromCortex >= 5.5);
  689. % Flag, Rat
  690. r448_dHP = logical(zeros(1,length(ClusterInfo.Total_dHP_Name)));
  691. r448_iHP = logical(zeros(1,length(ClusterInfo.Total_iHP_Name)));
  692. r459_dHP = logical(zeros(1,length(ClusterInfo.Total_dHP_Name)));
  693. r459_iHP = logical(zeros(1,length(ClusterInfo.Total_iHP_Name)));
  694. r463_dHP = logical(zeros(1,length(ClusterInfo.Total_dHP_Name)));
  695. r463_iHP = logical(zeros(1,length(ClusterInfo.Total_iHP_Name)));
  696. r473_dHP = logical(zeros(1,length(ClusterInfo.Total_dHP_Name)));
  697. r473_iHP = logical(zeros(1,length(ClusterInfo.Total_iHP_Name)));
  698. r488_dHP = logical(zeros(1,length(ClusterInfo.Total_dHP_Name)));
  699. r488_iHP = logical(zeros(1,length(ClusterInfo.Total_iHP_Name)));
  700. r509_dHP = logical(zeros(1,length(ClusterInfo.Total_dHP_Name)));
  701. r509_iHP = logical(zeros(1,length(ClusterInfo.Total_iHP_Name)));
  702. for i=1:1
  703. for j=1:length(ClusterInfo.Total_iHP_Name)
  704. name = ClusterInfo.Total_iHP_Name{1,j};
  705. if ~isempty(name)
  706. if isequal(name(13:15),'448')
  707. r448_iHP(i,j) = logical(1);
  708. end
  709. if isequal(name(13:15),'459')
  710. r459_iHP(i,j) = logical(1);
  711. end
  712. if isequal(name(13:15),'463')
  713. r463_iHP(i,j) = logical(1);
  714. end
  715. if isequal(name(13:15),'473')
  716. r473_iHP(i,j) = logical(1);
  717. end
  718. if isequal(name(13:15),'488')
  719. r488_iHP(i,j) = logical(1);
  720. end
  721. if isequal(name(13:15),'509')
  722. r509_iHP(i,j) = logical(1);
  723. end
  724. end
  725. end
  726. end
  727. for i=1:1
  728. for j=1:length(ClusterInfo.Total_dHP_Name)
  729. name = ClusterInfo.Total_dHP_Name{1,j};
  730. if ~isempty(name)
  731. if isequal(name(13:15),'448')
  732. r448_dHP(i,j) = logical(1);
  733. end
  734. if isequal(name(13:15),'459')
  735. r459_dHP(i,j) = logical(1);
  736. end
  737. if isequal(name(13:15),'463')
  738. r463_dHP(i,j) = logical(1);
  739. end
  740. if isequal(name(13:15),'473')
  741. r473_dHP(i,j) = logical(1);
  742. end
  743. if isequal(name(13:15),'488')
  744. r488_dHP(i,j) = logical(1);
  745. end
  746. if isequal(name(13:15),'509')
  747. r509_dHP(i,j) = logical(1);
  748. end
  749. end
  750. end
  751. end
  752. SpatialInfo.dHP=ClusterInfo.Total_dHP_SpatialInfo(Active_dHP);
  753. SpatialInfo.dHP_Rat{1}=ClusterInfo.Total_dHP_SpatialInfo(Active_dHP & r448_dHP);
  754. SpatialInfo.dHP_Rat{2}=ClusterInfo.Total_dHP_SpatialInfo(Active_dHP & r459_dHP);
  755. SpatialInfo.dHP_Rat{3}=ClusterInfo.Total_dHP_SpatialInfo(Active_dHP & r463_dHP);
  756. SpatialInfo.dHP_Rat{4}=ClusterInfo.Total_dHP_SpatialInfo(Active_dHP & r473_dHP);
  757. SpatialInfo.dHP_Rat{5}=ClusterInfo.Total_dHP_SpatialInfo(Active_dHP & r488_dHP);
  758. SpatialInfo.dHP_Rat{6}=ClusterInfo.Total_dHP_SpatialInfo(Active_dHP & r509_dHP);
  759. SpatialInfo.iHP=ClusterInfo.Total_iHP_SpatialInfo(Active_iHP & iHP);
  760. SpatialInfo.iHP_Rat{1}=ClusterInfo.Total_iHP_SpatialInfo(Active_iHP & r448_iHP & iHP);
  761. SpatialInfo.iHP_Rat{2}=ClusterInfo.Total_iHP_SpatialInfo(Active_iHP & r459_iHP & iHP);
  762. SpatialInfo.iHP_Rat{3}=ClusterInfo.Total_iHP_SpatialInfo(Active_iHP & r463_iHP & iHP);
  763. SpatialInfo.iHP_Rat{4}=ClusterInfo.Total_iHP_SpatialInfo(Active_iHP & r473_iHP & iHP);
  764. SpatialInfo.iHP_Rat{5}=ClusterInfo.Total_iHP_SpatialInfo(Active_iHP & r488_iHP & iHP);
  765. SpatialInfo.iHP_Rat{6}=ClusterInfo.Total_iHP_SpatialInfo(Active_iHP & r509_iHP & iHP);
  766. SpatialInfo.vHP=ClusterInfo.Total_iHP_SpatialInfo(Active_iHP & vHP);
  767. SpatialInfo.vHP_Rat{1}=ClusterInfo.Total_iHP_SpatialInfo(Active_iHP & r448_iHP & vHP);
  768. SpatialInfo.vHP_Rat{2}=ClusterInfo.Total_iHP_SpatialInfo(Active_iHP & r459_iHP & vHP);
  769. SpatialInfo.vHP_Rat{3}=ClusterInfo.Total_iHP_SpatialInfo(Active_iHP & r463_iHP & vHP);
  770. SpatialInfo.vHP_Rat{4}=ClusterInfo.Total_iHP_SpatialInfo(Active_iHP & r473_iHP & vHP);
  771. SpatialInfo.vHP_Rat{5}=ClusterInfo.Total_iHP_SpatialInfo(Active_iHP & r488_iHP & vHP);
  772. SpatialInfo.vHP_Rat{6}=ClusterInfo.Total_iHP_SpatialInfo(Active_iHP & r509_iHP & vHP);
  773. fig=figure; hold on;
  774. fig.Position=[0 0 1000 500];
  775. clear Color;
  776. Color.color=2; Color.alpha=1;
  777. Jin_MeanSTE_Line(1,SpatialInfo.dHP,Color);
  778. for i=1:6
  779. mean(SpatialInfo.dHP_Rat{i})
  780. % plot(1, mean(SpatialInfo.dHP_Rat{i}),'r.')
  781. end
  782. Color.color=1;
  783. Jin_MeanSTE_Line(2,SpatialInfo.iHP,Color)
  784. for i=1:6
  785. % plot(2, mean(SpatialInfo.iHP_Rat{i}),'b.')
  786. end
  787. Color.color=3;
  788. Jin_MeanSTE_Line(3,SpatialInfo.vHP,Color)
  789. for i=1:6
  790. % plot(3, mean(SpatialInfo.vHP_Rat{i}),'g.')
  791. end
  792. % Statistical testing
  793. y.data0 = SpatialInfo.dHP;
  794. y.data1 = SpatialInfo.iHP;
  795. y.data2 = SpatialInfo.vHP;
  796. Y = [y.data0'; y.data1'; y.data2'];
  797. GROUP = [GetGroupingVar(y.data0,'dHP'); GetGroupingVar(y.data1,'iHP'); GetGroupingVar(y.data2,'vHP')];
  798. [Pvalue, result, ~] = Stat_ANOVA1(Y,GROUP);
  799. % % Multiple comparision between groups
  800. [~,p]=ttest2(y.data0, y.data1);
  801. [~,p]=ttest2(y.data0, y.data2);
  802. [~,p]=ttest2(y.data2, y.data1);
  803. %% Figure 1I, Place cell ratio
  804. Numb.PlaceCell_dHP=length(find(Active_dHP & SpatiallyModulated_dHP & (Information_dHP)));
  805. Numb.Total_dHP=length((Active_dHP));
  806. PlaceCellRatio.dHP= Numb.PlaceCell_dHP / Numb.Total_dHP;
  807. Numb.PlaceCell_dHP_448=length(find(Active_dHP & SpatiallyModulated_dHP & Information_dHP & r448_dHP));
  808. Numb.Total_dHP_448=length(find(r448_dHP));
  809. PlaceCellRatio.dHP_448= Numb.PlaceCell_dHP_448 / Numb.Total_dHP_448;
  810. Numb.PlaceCell_dHP_459=length(find(Active_dHP & SpatiallyModulated_dHP & Information_dHP & r459_dHP));
  811. Numb.Total_dHP_459=length(find(r459_dHP));
  812. PlaceCellRatio.dHP_459= Numb.PlaceCell_dHP_459 / Numb.Total_dHP_459;
  813. Numb.PlaceCell_dHP_463=length(find(Active_dHP & SpatiallyModulated_dHP & Information_dHP & r463_dHP));
  814. Numb.Total_dHP_463=length(find(r463_dHP));
  815. PlaceCellRatio.dHP_463= Numb.PlaceCell_dHP_463 / Numb.Total_dHP_463;
  816. Numb.PlaceCell_dHP_473=length(find(Active_dHP & SpatiallyModulated_dHP & Information_dHP & r473_dHP));
  817. Numb.Total_dHP_473=length(find(r473_dHP));
  818. PlaceCellRatio.dHP_473= Numb.PlaceCell_dHP_473 / Numb.Total_dHP_473;
  819. Numb.PlaceCell_dHP_488=length(find(Active_dHP & SpatiallyModulated_dHP & Information_dHP & r488_dHP));
  820. Numb.Total_dHP_488=length(find(r488_dHP));
  821. PlaceCellRatio.dHP_488= Numb.PlaceCell_dHP_488 / Numb.Total_dHP_488;
  822. Numb.PlaceCell_dHP_509=length(find(Active_dHP & SpatiallyModulated_dHP & Information_dHP & r509_dHP));
  823. Numb.Total_dHP_509=length(find(r509_dHP));
  824. PlaceCellRatio.dHP_509= Numb.PlaceCell_dHP_509 / Numb.Total_dHP_509;
  825. Numb.PlaceCell_iHP=length(find(Active_iHP & SpatiallyModulated_iHP & iHP & (Information_iHP)));
  826. Numb.Total_iHP=length(find(iHP));
  827. PlaceCellRatio.iHP= Numb.PlaceCell_iHP / Numb.Total_iHP;
  828. Numb.PlaceCell_iHP_448=length(find(Active_iHP & SpatiallyModulated_iHP & Information_iHP & iHP & r448_iHP));
  829. Numb.Total_iHP_448=length(find(r448_iHP& iHP));
  830. PlaceCellRatio.iHP_448= Numb.PlaceCell_iHP_448 / Numb.Total_iHP_448;
  831. Numb.PlaceCell_iHP_459=length(find(Active_iHP & SpatiallyModulated_iHP & Information_iHP & iHP & r459_iHP));
  832. Numb.Total_iHP_459=length(find(r459_iHP& iHP));
  833. PlaceCellRatio.iHP_459= Numb.PlaceCell_iHP_459 / Numb.Total_iHP_459;
  834. Numb.PlaceCell_iHP_463=length(find(Active_iHP & SpatiallyModulated_iHP & Information_iHP & iHP & r463_iHP));
  835. Numb.Total_iHP_463=length(find(r463_iHP& iHP));
  836. PlaceCellRatio.iHP_463= Numb.PlaceCell_iHP_463 / Numb.Total_iHP_463;
  837. Numb.PlaceCell_iHP_473=length(find(Active_iHP & SpatiallyModulated_iHP & Information_iHP & iHP & r473_iHP));
  838. Numb.Total_iHP_473=length(find(r473_iHP& iHP));
  839. PlaceCellRatio.iHP_473= Numb.PlaceCell_iHP_473 / Numb.Total_iHP_473;
  840. Numb.PlaceCell_iHP_488=length(find(Active_iHP & SpatiallyModulated_iHP & Information_iHP & iHP & r488_iHP));
  841. Numb.Total_iHP_488=length(find(r488_iHP& iHP));
  842. PlaceCellRatio.iHP_488= Numb.PlaceCell_iHP_488 / Numb.Total_iHP_488;
  843. Numb.PlaceCell_iHP_509=length(find(Active_iHP & SpatiallyModulated_iHP & Information_iHP & iHP & r509_iHP));
  844. Numb.Total_iHP_509=length(find(r509_iHP& iHP));
  845. PlaceCellRatio.iHP_509= Numb.PlaceCell_iHP_509 / Numb.Total_iHP_509;
  846. Numb.PlaceCell_vHP=length(find(Active_iHP & SpatiallyModulated_iHP & vHP & (Information_iHP)));
  847. Numb.Total_vHP=length(find(vHP));
  848. PlaceCellRatio.vHP= Numb.PlaceCell_vHP / Numb.Total_vHP;
  849. Numb.PlaceCell_vHP_448=length(find(Active_iHP & SpatiallyModulated_iHP & Information_iHP & vHP & r448_iHP));
  850. Numb.Total_vHP_448=length(find(r448_iHP& vHP));
  851. PlaceCellRatio.vHP_448= Numb.PlaceCell_vHP_448 / Numb.Total_vHP_448;
  852. Numb.PlaceCell_vHP_459=length(find(Active_iHP & SpatiallyModulated_iHP & Information_iHP & vHP & r459_iHP));
  853. Numb.Total_vHP_459=length(find(r459_iHP& vHP));
  854. PlaceCellRatio.vHP_459= Numb.PlaceCell_vHP_459 / Numb.Total_vHP_459;
  855. Numb.PlaceCell_vHP_463=length(find(Active_iHP & SpatiallyModulated_iHP & Information_iHP & vHP & r463_iHP));
  856. Numb.Total_vHP_463=length(find(r463_iHP& vHP));
  857. PlaceCellRatio.vHP_463= Numb.PlaceCell_vHP_463 / Numb.Total_vHP_463;
  858. Numb.PlaceCell_vHP_473=length(find(Active_iHP & SpatiallyModulated_iHP & Information_iHP & vHP & r473_iHP));
  859. Numb.Total_vHP_473=length(find(r473_iHP& vHP));
  860. PlaceCellRatio.vHP_473= Numb.PlaceCell_vHP_473 / Numb.Total_vHP_473;
  861. Numb.PlaceCell_vHP_488=length(find(Active_iHP & SpatiallyModulated_iHP & Information_iHP & vHP & r488_iHP));
  862. Numb.Total_vHP_488=length(find(r488_iHP& vHP));
  863. PlaceCellRatio.vHP_488= Numb.PlaceCell_vHP_488 / Numb.Total_vHP_488;
  864. Numb.PlaceCell_vHP_509=length(find(Active_iHP & SpatiallyModulated_iHP & Information_iHP & vHP & r509_iHP));
  865. Numb.Total_vHP_509=length(find(r509_iHP& vHP));
  866. PlaceCellRatio.vHP_509= Numb.PlaceCell_vHP_509 / Numb.Total_vHP_509;
  867. fig=figure;
  868. hold on;
  869. plot(1,PlaceCellRatio.dHP,'r.');
  870. plot(1,PlaceCellRatio.dHP_448,'ro');
  871. plot(1,PlaceCellRatio.dHP_459,'ro');
  872. plot(1,PlaceCellRatio.dHP_463,'ro');
  873. plot(1,PlaceCellRatio.dHP_473,'ro');
  874. plot(1,PlaceCellRatio.dHP_509,'ro');
  875. plot(2,PlaceCellRatio.iHP,'b.');
  876. plot(2,PlaceCellRatio.iHP_448,'bo');
  877. plot(2,PlaceCellRatio.iHP_459,'bo');
  878. plot(2,PlaceCellRatio.iHP_463,'bo');
  879. plot(2,PlaceCellRatio.iHP_473,'bo');
  880. plot(2,PlaceCellRatio.iHP_509,'bo');
  881. plot(3,PlaceCellRatio.vHP,'g.');
  882. plot(3,PlaceCellRatio.vHP_448,'go');
  883. plot(3,PlaceCellRatio.vHP_459,'go');
  884. plot(3,PlaceCellRatio.vHP_463,'go');
  885. plot(3,PlaceCellRatio.vHP_488,'go');
  886. plot(3,PlaceCellRatio.vHP_509,'go');
  887. xlim([0.5 3.5])
  888. % % Statistical testing
  889. [~,p,stat]=chi2cont([Numb.PlaceCell_dHP Numb.Total_dHP; Numb.PlaceCell_iHP Numb.Total_iHP; Numb.PlaceCell_vHP Numb.Total_vHP]);