EZhtMap.m 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405
  1. %EZhtMap
  2. global Exp
  3. global ghandles
  4. global adj
  5. global flip
  6. if isempty(adj), adj=1.5; flip='T'; end
  7. load('MyColormap1','modJet1')
  8. load('MyColormap2','modJet2')
  9. %load('MyColormap2','modJet0')
  10. %adj=1.5;
  11. cleanPallet=zeros(24,16);
  12. if expN==1,DexpN=(get(handles.DN1,'value')); end
  13. if expN==2,DexpN=(get(handles.DN2,'value')); end
  14. if expN==3,DexpN=(get(handles.DN3,'value')); end
  15. Exp(expN).DexpN=DexpN;
  16. try
  17. if expN==1,MPsel=floor(get(ghandles.MPsldr1,'value')); end
  18. if expN==2,MPsel=floor(get(ghandles.MPsldr2,'value')); end
  19. if expN==3,MPsel=floor(get(ghandles.MPsldr3,'value')); end
  20. if expN==1,pertSel=floor(get(ghandles.DMsldr1,'value')); end
  21. if expN==2,pertSel=floor(get(ghandles.DMsldr2,'value')); end
  22. if expN==3,pertSel=floor(get(ghandles.DMsldr3,'value')); end
  23. catch
  24. MPsel=1;
  25. pertSel=1;
  26. end
  27. if expN==1, expAxes=ghandles.Iaxes1;end
  28. if expN==2, expAxes=ghandles.Iaxes2;end
  29. if expN==3, expAxes=ghandles.Iaxes3;end
  30. dmN=length(Exp(expN).Dexp(DexpN).DM.drug);
  31. mpSel=Exp(expN).Dexp(DexpN).MPsel;
  32. dmSel=Exp(expN).Dexp(DexpN).pertSel;
  33. scnN=dmSel + (dmN*(mpSel-1));
  34. if expN==1,htTog=Exp(1).htmapPBsel;end
  35. if expN==2,htTog=Exp(2).htmapPBsel;end
  36. if expN==3,htTog=Exp(3).htmapPBsel;end
  37. if htTog==0
  38. colormap(flipud(modJet1)) % colormap(modJet2)
  39. L=Exp(expN).Dexp(DexpN).scan(scnN).plate.CFout(:,5);
  40. L=reshape(L,24,16);
  41. LpStd=mean(nonzeros(L(:)))+(adj*std(nonzeros(L(:))));
  42. LnStd=mean(nonzeros(L(:))-(adj*std(nonzeros(L(:)))));
  43. % Data rescaling for Heatmap display (color range- mean+/std*adjustment)
  44. for i=1:size(L,1)
  45. for j=1:size(L,2)
  46. if L(i,j)>LpStd,
  47. L4hMap(i,j)=LpStd;
  48. elseif L(i,j)<LnStd && L(i,j)~=0
  49. L4hMap(i,j)=LnStd;
  50. elseif L(i,j)==0
  51. L4hMap(i,j)=LpStd+0.2*std(L(:));
  52. else
  53. L4hMap(i,j)=L(i,j);
  54. end
  55. end
  56. end
  57. % L4hMap=1-(L4hMap/(max(L4hMap(:))));
  58. if prntHt==0
  59. hTogHt=figure;
  60. h=image(cleanPallet); % hTogHt=image(cleanPallet);
  61. h=image(L4hMap); % hTogHt=image(L4hMap);
  62. if isequal(char(flip) , 'T')
  63. colormap(flipud(modJet1)) %(flipud(hot)) %(jet); % invert heat map for L so that fastgrowth is 'hotter' red
  64. else
  65. colormap(modJet2)
  66. end
  67. set(h,'CDataMapping','scale') %set(hTogHt,'CDataMapping','scale')
  68. else
  69. figure
  70. h=image(cleanPallet); %hTogHt=image(cleanPallet);
  71. h=image(L4hMap); %hTogHt=image(L4hMap);
  72. if isequal(char(flip) , 'T')
  73. colormap(flipud(modJet1)) %(flipud(hot)) %(jet); % invert heat map for L so that fastgrowth is 'hotter' red
  74. else
  75. colormap(modJet2)
  76. end
  77. set(h,'CDataMapping','scale')
  78. end
  79. % h=image(L);
  80. % colormap(flipud(hot)) %(jet); % invert heat map for L so that fastgrowth is 'hotter' red
  81. % set(h,'CDataMapping','scale')
  82. if expN==1,cla(handles.HtMap1);copyobj(h,ghandles.HtMap1);end
  83. if expN==2,cla(handles.HtMap2);copyobj(h,ghandles.HtMap2);end
  84. if expN==3,cla(handles.HtMap3);copyobj(h,ghandles.HtMap3);end
  85. if prntHt==0
  86. %if expN==1,cla(handles.HtMap1);copyobj(hTogHt,ghandles.HtMap1);end
  87. %if expN==2,cla(handles.HtMap2);copyobj(hTogHt,ghandles.HtMap2);end
  88. %if expN==3,cla(handles.HtMap3);copyobj(hTogHt,ghandles.HtMap3);end
  89. close(hTogHt)
  90. else %if clicking to produce a 'printable' save display
  91. set(gca,'XDir','reverse')
  92. set(gca,'XTickMode','manual')
  93. %set(gca,'XTickLabel',{'2';'4';'6';'8';'10';'12';'14';'16'})
  94. %set(gca,'XTickLabel',{'16';'14';'12';'10';'8';'6';'4';'2'})
  95. %set(gca,'XTick',{0;2;4;6;8;10;12;14;16;18})
  96. colorbar
  97. expLblHtmap=Exp(expN).Dexp.ExpFoldr;
  98. mediaLBhtmap=char(strcat(', Agar-',Exp(expN).Dexp(DexpN).DM.media{pertSel},' ',...
  99. Exp(expN).Dexp(DexpN).DM.drug{pertSel},Exp(expN).Dexp(DexpN).DM.conc{pertSel},' ',...
  100. Exp(expN).Dexp(DexpN).DM.mod1{pertSel},Exp(expN).Dexp(DexpN).DM.conc1{pertSel},' ',...
  101. Exp(expN).Dexp(DexpN).DM.mod2{pertSel},Exp(expN).Dexp(DexpN).DM.conc2{pertSel}));
  102. title({strcat('L HeatMap for - ',expLblHtmap),strcat('MP=',num2str(mpSel),' ,DM=',num2str(dmSel),mediaLBhtmap)})
  103. end
  104. colormap(modJet1)
  105. elseif htTog==1
  106. colormap(modJet1);
  107. K=Exp(expN).Dexp(DexpN).scan(scnN).plate.CFout(:,3);
  108. K=reshape(K,24,16);
  109. %Data rescaling for Heatmap display (color ranged mean+/std*multiplier)
  110. pStd=mean(nonzeros(K(:)))+(adj*std(nonzeros(K(:))));
  111. nStd=mean(nonzeros(K(:)))-(adj*std(nonzeros(K(:))));
  112. for i=1:size(K,1)
  113. for j=1:size(K,2)
  114. if K(i,j)>pStd,
  115. hMap(i,j)=pStd;
  116. elseif K(i,j)<nStd && K(i,j)~=0
  117. hMap(i,j)=nStd;
  118. elseif K(i,j)==0
  119. hMap(i,j)=nStd-0.2*std(K(:));
  120. else
  121. hMap(i,j)=K(i,j);
  122. end
  123. end
  124. end
  125. if prntHt==0
  126. hTogHt=figure;
  127. h=image(cleanPallet);
  128. else
  129. figure
  130. h=image(cleanPallet);
  131. end
  132. % h=image(cleanPallet);
  133. h=image(hMap);
  134. colormap(modJet1); % heat map
  135. set(h,'CDataMapping','scale')
  136. if expN==1,cla(handles.HtMap1);copyobj(h,ghandles.HtMap1);end
  137. if expN==2,cla(handles.HtMap2);copyobj(h,ghandles.HtMap2);end
  138. if expN==3,cla(handles.HtMap3);copyobj(h,ghandles.HtMap3);end
  139. if prntHt==0
  140. close(hTogHt)
  141. else
  142. set(gca,'XDir','reverse')
  143. set(gca,'XTickMode','manual')
  144. %set(gca,'XTickLabel',{'2';'4';'6';'8';'10';'12';'14';'16'})
  145. %set(gca,'XTickLabel',{'16';'14';'12';'10';'8';'6';'4';'2'})
  146. %set(gca,'XTick',{0;2;4;6;8;10;12;14;16;18})
  147. colorbar
  148. expLblHtmap=Exp(expN).Dexp.ExpFoldr;
  149. mediaLBhtmap=char(strcat(', Agar-',Exp(expN).Dexp(DexpN).DM.media{pertSel},' ',...
  150. Exp(expN).Dexp(DexpN).DM.drug{pertSel},Exp(expN).Dexp(DexpN).DM.conc{pertSel},' ',...
  151. Exp(expN).Dexp(DexpN).DM.mod1{pertSel},Exp(expN).Dexp(DexpN).DM.conc1{pertSel},' ',...
  152. Exp(expN).Dexp(DexpN).DM.mod2{pertSel},Exp(expN).Dexp(DexpN).DM.conc2{pertSel}));
  153. title({strcat('K HeatMap for - ',expLblHtmap),strcat('MP=',num2str(mpSel),' ,DM=',num2str(dmSel),mediaLBhtmap)})
  154. end
  155. elseif htTog==2
  156. colormap(modJet1);
  157. r=Exp(expN).Dexp(DexpN).scan(scnN).plate.CFout(:,4);
  158. r=reshape(r,24,16);
  159. % Data rescaling for Heatmap display (color ranged mean+/std*multiplier)
  160. pStd=mean(nonzeros(r(:)))+(adj*std(nonzeros(r(:))));
  161. nStd=mean(nonzeros(r(:)))-(adj*std(nonzeros(r(:))));
  162. for i=1:size(r,1)
  163. for j=1:size(r,2)
  164. if r(i,j)>pStd,
  165. hMap(i,j)=pStd;
  166. elseif r(i,j)<nStd && r(i,j)~=0,
  167. hMap(i,j)=nStd;
  168. elseif r(i,j)==0
  169. hMap(i,j)=nStd-0.2*std(r(:));
  170. else
  171. hMap(i,j)=r(i,j);
  172. end
  173. end
  174. end
  175. if prntHt==0
  176. hTogHt=figure;
  177. h=image(cleanPallet);
  178. else
  179. figure
  180. h=image(cleanPallet);
  181. end
  182. % h=image(cleanPallet);
  183. h=image(hMap);
  184. colormap(modJet1); % heat map
  185. set(h,'CDataMapping','scale')
  186. if expN==1,cla(handles.HtMap1);copyobj(h,ghandles.HtMap1);end
  187. if expN==2,cla(handles.HtMap2);copyobj(h,ghandles.HtMap2);end
  188. if expN==3,cla(handles.HtMap3);copyobj(h,ghandles.HtMap3);end
  189. if prntHt==0
  190. close(hTogHt)
  191. else
  192. set(gca,'XDir','reverse')
  193. set(gca,'XTickMode','manual')
  194. %set(gca,'XTickLabel',{'2';'4';'6';'8';'10';'12';'14';'16'})
  195. %set(gca,'XTickLabel',{'16';'14';'12';'10';'8';'6';'4';'2'})
  196. %set(gca,'XTick',{0;2;4;6;8;10;12;14;16;18})
  197. colorbar
  198. expLblHtmap=Exp(expN).Dexp.ExpFoldr;
  199. mediaLBhtmap=char(strcat(', Agar-',Exp(expN).Dexp(DexpN).DM.media{pertSel},' ',...
  200. Exp(expN).Dexp(DexpN).DM.drug{pertSel},Exp(expN).Dexp(DexpN).DM.conc{pertSel},' ',...
  201. Exp(expN).Dexp(DexpN).DM.mod1{pertSel},Exp(expN).Dexp(DexpN).DM.conc1{pertSel},' ',...
  202. Exp(expN).Dexp(DexpN).DM.mod2{pertSel},Exp(expN).Dexp(DexpN).DM.conc2{pertSel}));
  203. title({strcat('r HeatMap for - ',expLblHtmap),strcat('MP=',num2str(mpSel),' ,DM=',num2str(dmSel),mediaLBhtmap)})
  204. end
  205. elseif htTog==3
  206. RFconfig=Exp(expN).RFconfig; %ZoneRelated
  207. if htMapTogPBfg==1
  208. if RFconfig==2,
  209. QctrlRF='Select Distributed Control RF option: (G)Global, (L)Local';
  210. QpertRF='Select Distributed Perturbation RF option: (G)Global, (L)Local';
  211. defaultanswer={'G','L'}; %{'80','60','100','3,4,5','N','39','Y','G','L'};
  212. try defaultanswer=Exp(expN).htmapRFanswer; catch, defaultanswer={'G','L'};end %ZoneRelated
  213. end
  214. if RFconfig==3,
  215. QctrlRF='Select Control RF option: (F)FullPlate, (G)GlobalDistributed, (L)LocalDistributed';
  216. QpertRF='Select Perturbation RF option: (F)FullPlate, (G)GlobalDistributed, (L)LocalDistributed';
  217. defaultanswer={'F','L'}; %{'80','60','100','3,4,5','N','39','Y','F','L'};
  218. try defaultanswer=Exp(expN).htmapRFanswer; catch, defaultanswer={'F','L'}; end %ZoneRelated
  219. end
  220. if RFconfig~=1,
  221. prompt={QctrlRF,QpertRF};
  222. name='Interaction User Input';
  223. numlines=1;
  224. answer=inputdlg(prompt,name,numlines,defaultanswer);
  225. if RFconfig==2,
  226. if ~ismember(answer{1},['g' 'G' 'l' 'L']), answer(1)=defaultanswer(1); end
  227. if ~ismember(answer{2},['g' 'G' 'l' 'L']), answer(2)=defaultanswer(2); end
  228. end
  229. if RFconfig==3,
  230. if ~ismember(answer{1},['f' 'F' 'g' 'G' 'l' 'L']), answer(1)=defaultanswer(1); end
  231. if ~ismember(answer{2},['f' 'F' 'g' 'G' 'l' 'L']), answer(2)=defaultanswer(2); end
  232. end
  233. answer(1)=strrep(answer(1),'f','F'); answer(1)=strrep(answer(1),'g','G'); answer(1)=strrep(answer(1),'l','L');
  234. answer(2)=strrep(answer(2),'f','F'); answer(2)=strrep(answer(2),'g','G'); answer(2)=strrep(answer(2),'l','L');
  235. Exp(expN).htmapRFanswer=answer; %ZoneRelated %store user last selections
  236. end
  237. end
  238. htMapTogPBfg=0;
  239. answer=Exp(expN).htmapRFanswer; %ZoneRelated
  240. % for j=1:1 %dmN
  241. % for m=1:1 %mpN
  242. j=dmSel;
  243. DM0=dmSel; DMj=dmSel;
  244. m=mpSel;
  245. anN=[1 2];
  246. % Call subroutine to interpret user RF inputs & det. Rn and Rs values
  247. EZintRFs
  248. scnNdm1=1 + (dmN*(m-1))
  249. scnN=j + (dmN*(m-1)) % 1,6,11..; 2,7,12 ..; 3,8,13..;
  250. Xn{m,j,1}=[];
  251. Xln{m,j,1}=[];
  252. Xhn{m,j,1}=[];
  253. Xn{m,1,:}=Exp(expN).Dexp(DexpN).scan(scnNdm1).plate(1).CFout(:,5);
  254. Xln{m,1,:}=Exp(expN).Dexp(DexpN).scan(scnNdm1).plate(1).CFout(:,11); %Exp(expN).Dexp(DexpN).scan(DM{j}(m)).plate(1).CFout(:,11);
  255. Xhn{m,1,:}=Exp(expN).Dexp(DexpN).scan(scnNdm1).plate(1).CFout(:,12); %Exp(expN).Dexp(DexpN).scan(DM{j}(m)).plate(1).CFout(:,12);
  256. Xn{m,j,:}=Exp(expN).Dexp(DexpN).scan(scnN).plate(1).CFout(:,5); %Exp(expN).Dexp(DexpN).scan(DM{j}(m)).plate(1).CFout(:,5);
  257. htmpCpyXn=Xn{m,j,:}'; % Use to find and delineate no growth spots with 999 in text field (infinite interaction) value;
  258. Xn{m,j,:}(Xn{m,j,:}==0)=1.2*(max(Xn{m,j,:})); %to keep the colormap scale tighter %=140;
  259. Xln{m,j,:}=Exp(expN).Dexp(DexpN).scan(scnN).plate(1).CFout(:,11); %Exp(expN).Dexp(DexpN).scan(DM{j}(m)).plate(1).CFout(:,11);
  260. Xhn{m,j,:}=Exp(expN).Dexp(DexpN).scan(scnN).plate(1).CFout(:,12); %Exp(expN).Dexp(DexpN).scan(DM{j}(m)).plate(1).CFout(:,12);
  261. %intL{m,j,:}=((Xn{m,j,:} - Xn{m,1,:}) - (Rn(j)-Rn(1)));
  262. intL=((Xn{m,j,:} - Xn{m,1,:}) - (Rn(j)-Rn(1)));
  263. Exp(expN).HtMpIntN2=intL; %ZoneRelated
  264. %{
  265. intL{m,j,:}(Xn{m,j,:}==1.2*(max(Xn{m,j,:})))=100;
  266. intL{m,j,:}(intL{m,j,:}==0)=-0.0001;
  267. %}
  268. percentRs=100;
  269. RsReduced(j)=percentRs/100* Rs(j);
  270. deltaRp(j)=(Rn(j)+RsReduced(j))-(Rn(1)+RsReduced(1));
  271. deltaRn(j)=(Rn(j)-RsReduced(j))-(Rn(1)-RsReduced(1));
  272. if deltaRp(j)==0, deltaRp(j)=0.0002; end
  273. if deltaRn(j)==0, deltaRn(j)=0.0002; end
  274. deltaYp=zeros(1,384); deltaYn=zeros(1,384);
  275. deltaXRp=zeros(1,384); deltaXRn=zeros(1,384);
  276. deltaXR{m,j}=zeros(1,384);
  277. for i=1:384
  278. % Select lower or upper boundary value based on Yn(1)
  279. if Xn{m,j}(i) >=(Rn(j)+RsReduced(j));
  280. deltaYp(i)= Xln{m,j}(i)-Xln{m,1}(i);
  281. elseif Xn{m,j}(i) < (Rn(j)-RsReduced(j));
  282. deltaYn(i)= Xhn{m,j}(i)-Xhn{m,1}(i);
  283. % Insert else
  284. end
  285. % Calculate deltaXRp and deltaXRn for each plate based on growth relative to deltaRp or deltaRn
  286. if deltaYp(i)>=deltaRp(j)
  287. deltaXRp(i)=deltaYp(i)-deltaRp(j);
  288. deltaXR{m,j}(i)=deltaXRp(i); %Consoludate into deltaXR{m,j}(i) cell array
  289. elseif deltaYn(i) < deltaRn(j)
  290. deltaXRn(i)=deltaYn(i)-deltaRn(j);
  291. deltaXR{m,j}(i)=deltaXRn(i); %Consoludate into deltaXR{m,j}(i) cell array
  292. if deltaYn(i)==0, deltaXR{m,j}(i)=0; end
  293. end
  294. % Ambiguous results that have delta gene values that are less than the variance of Reference+/-std
  295. end
  296. deltaXRl=deltaXR{m,j,:};
  297. htMpN1Lzeros999=deltaXR{m,j,:};
  298. deltaXRl(htmpCpyXn==0)=1.2*max(deltaXRl);
  299. htMpN1Lzeros999(htmpCpyXn==0)=999;
  300. Exp(expN).HtMpIntN1=htMpN1Lzeros999';
  301. I=reshape(deltaXRl,24,16);
  302. if prntHt==0
  303. hTogHt=figure;
  304. h=image(cleanPallet);
  305. else
  306. figure
  307. h=image(cleanPallet);
  308. end
  309. % h=figure;
  310. h=image(I);
  311. colormap(jet); % heat map
  312. set(h,'CDataMapping','scale')
  313. if expN==1,cla(handles.HtMap1);copyobj(h,ghandles.HtMap1);end
  314. if expN==2,cla(handles.HtMap2);copyobj(h,ghandles.HtMap2);end
  315. if expN==3,cla(handles.HtMap3);copyobj(h,ghandles.HtMap3);end
  316. if prntHt==0
  317. close(hTogHt)
  318. else
  319. set(gca,'XDir','reverse')
  320. set(gca,'XTickMode','manual')
  321. % set(gca,'XTickLabel',{'2';'4';'6';'8';'10';'12';'14';'16'})
  322. % set(gca,'XTickLabel',{'16';'14';'12';'10';'8';'6';'4';'2'})
  323. % set(gca,'XTick',{0;2;4;6;8;10;12;14;16;18})
  324. colorbar
  325. expLblHtmap=Exp(expN).Dexp.ExpFoldr;
  326. mediaLBhtmap=char(strcat(', Agar-',Exp(expN).Dexp(DexpN).DM.media{pertSel},' ',...
  327. Exp(expN).Dexp(DexpN).DM.drug{pertSel},Exp(expN).Dexp(DexpN).DM.conc{pertSel},' ',...
  328. Exp(expN).Dexp(DexpN).DM.mod1{pertSel},Exp(expN).Dexp(DexpN).DM.conc1{pertSel},' ',...
  329. Exp(expN).Dexp(DexpN).DM.mod2{pertSel},Exp(expN).Dexp(DexpN).DM.conc2{pertSel}));
  330. title({strcat('N1 HeatMap for - ',expLblHtmap),strcat('MP=',num2str(mpSel),' ,DM=',num2str(dmSel),mediaLBhtmap)})
  331. end
  332. elseif htTog==4
  333. answer=Exp(expN).htmapRFanswer; % ZoneRelated
  334. RFconfig=Exp(expN).RFconfig; % ZoneRelated
  335. answer=Exp(expN).htmapRFanswer; % ZoneRelated
  336. j=dmSel;
  337. DM0=dmSel; DMj=dmSel;
  338. m=mpSel;
  339. anN=[1 2];
  340. EZintRFs % Call subroutine to interpret user RF inputs
  341. scnNdm1=1 + (dmN*(m-1))
  342. scnN=j + (dmN*(m-1)) % 1,6,11..; 2,7,12 ..; 3,8,13..;
  343. Xn{m,j,1}=[];
  344. Xn{m,1,:}=Exp(expN).Dexp(DexpN).scan(scnNdm1).plate(1).CFout(:,5);
  345. Xn{m,j,:}=Exp(expN).Dexp(DexpN).scan(scnN).plate(1).CFout(:,5);
  346. htmpCpyXn=Xn{m,j,:}'; % Use to find and delineate no growth spots with 999 in text field (infinite interaction) value;
  347. intL=((Xn{m,j,:} - Xn{m,1,:}) - (Rn(j)-Rn(1)));
  348. Exp(expN).HtMpIntN2=intL; % ZoneRelated
  349. intL=Exp(expN).HtMpIntN2; % ZoneRelated
  350. I=reshape(intL,24,16);
  351. if prntHt==0
  352. hTogHt=figure;
  353. h=image(cleanPallet);
  354. elseif
  355. figure
  356. h=image(cleanPallet);
  357. end
  358. %h=figure
  359. h=image(I)
  360. colormap(jet); % heat map
  361. set(h,'CDataMapping','scale')
  362. if expN==1,cla(handles.HtMap1);copyobj(h,ghandles.HtMap1);end
  363. if expN==2,cla(handles.HtMap2);copyobj(h,ghandles.HtMap2);end
  364. if expN==3,cla(handles.HtMap3);copyobj(h,ghandles.HtMap3);end
  365. if prntHt==0
  366. close(hTogHt)
  367. else
  368. set(gca,'XDir','reverse')
  369. set(gca,'XTickMode','manual')
  370. % set(gca,'XTickLabel',{'2';'4';'6';'8';'10';'12';'14';'16'})
  371. % set(gca,'XTickLabel',{'16';'14';'12';'10';'8';'6';'4';'2'})
  372. % set(gca,'XTick',{0;2;4;6;8;10;12;14;16;18})
  373. colorbar
  374. expLblHtmap=Exp(expN).Dexp.ExpFoldr;
  375. mediaLBhtmap=char(strcat(', Agar-',Exp(expN).Dexp(DexpN).DM.media{pertSel},' ',...
  376. Exp(expN).Dexp(DexpN).DM.drug{pertSel},Exp(expN).Dexp(DexpN).DM.conc{pertSel},' ',...
  377. Exp(expN).Dexp(DexpN).DM.mod1{pertSel},Exp(expN).Dexp(DexpN).DM.conc1{pertSel},' ',...
  378. Exp(expN).Dexp(DexpN).DM.mod2{pertSel},Exp(expN).Dexp(DexpN).DM.conc2{pertSel}));
  379. title({strcat('N2 HeatMap for - ',expLblHtmap),strcat('MP=',num2str(mpSel),' ,DM=',num2str(dmSel),mediaLBhtmap)})
  380. end
  381. end
  382. prntHt=0;
  383. % Update htMapText for location on the first 'roll thru of htMapPB
  384. EZhtMapText