%EZfigTrendOL.m called from EZviewGui.m LKrTog__ Callback %Uses data stored from OLay ; Clearing OLay clears data used by this %Trending Utility global Exp global userPars %try kfiltLim=userPars.kfiltLim; %catch %kfiltLim=str2double(userPars.BPdefault(6)); %end if get(handles.CompositeTog1, 'Value') cmpTogFlg=1; else cmpTogFlg=0; end DexpN=Exp(expN).DexpN; if strcmp(Exp(expN).DexpType, 'chrono') maxRows=1; Lmax=1; bpInd=0; for n=1:length(Exp(expN).Dexp) %LOOP Thru DayExps for trc=1:Exp(expN).traceN %length(Exp(expN).Trace) try if isequal(get(Exp(expN).hOL(trc),'Visible'),'on') dmSel=Exp(expN).Trace(trc).dmSel; if iscell(Exp(expN).Trace(trc).Dexp(n).DM(dmSel).UsrLvals) rows=length(cell2mat(Exp(expN).Trace(trc).Dexp(n).DM(dmSel).UsrLvals)); else rows=1; end if iscell(Exp(expN).Trace(trc).Dexp(n).DM(dmSel).UsrLvals) if rows> maxRows, maxRows=rows; end LsmpMax=max(cell2mat(Exp(expN).Trace(trc).Dexp(n).DM(dmSel).UsrLvals)); else LsmpMax=max(Exp(expN).Trace(trc).Dexp(n).DM(dmSel).UsrLvals); end if LsmpMax> Lmax, Lmax=LsmpMax; end bpInd=bpInd+1; end % if isequal(get(Exp(1).hOL(trc),'Visible'),'on') catch end end end maxCols=bpInd; % length(Exp(expN).Dexp) * length(Exp(expN).Trace) BPvals(1:maxRows,1:maxCols)=nan; % BoxPlot requires a matrix with uniform length even if data is not of the same length bpInd=0; for n=1:length(Exp(expN).Dexp) %LOOP Thru DayExps for trc=1:Exp(expN).traceN %length(Exp(expN).Trace) try if isequal(get(Exp(expN).hOL(trc),'Visible'),'on') dmSel=Exp(expN).Trace(trc).dmSel; bpInd=bpInd+1; if iscell(Exp(expN).Trace(trc).Dexp(n).DM(dmSel).UsrLvals) kFiltrIndx=find((cell2mat(Exp(expN).Trace(trc).Dexp(n).DM(dmSel).UsrKvals))<=kfiltLim); tmp=cell2mat(Exp(expN).Trace(trc).Dexp(n).DM(dmSel).UsrLvals); BPvals(1:length(kFiltrIndx),bpInd)=tmp(kFiltrIndx); % BPvals(1:length(cell2mat(Exp(expN).Trace(trc).Dexp(n).DM(dmSel).UsrLvals)),bpInd)=cell2mat(Exp(expN).Trace(trc).Dexp(n).DM(dmSel).UsrLvals); cnt=length(kFiltrIndx); %length(cell2mat(Exp(expN).Trace(trc).Dexp(n).DM(dmSel).UsrLvals)); else if length(Exp(expN).Trace(trc).Dexp(n).DM(dmSel).UsrLvals)> 1 %>=1 kFiltrIndx=find(((Exp(expN).Trace(trc).Dexp(n).DM(dmSel).UsrKvals))<=kfiltLim); tmp=Exp(expN).Trace(trc).Dexp(n).DM(dmSel).UsrLvals; BPvals(1:length(kFiltrIndx),bpInd)=tmp(kFiltrIndx); cnt=length(kFiltrIndx); % BPvals(1:length((Exp(expN).Trace(trc).Dexp(n).DM(dmSel).UsrLvals)),bpInd)=Exp(expN).Trace(trc).Dexp(n).DM(dmSel).UsrLvals; % cnt=length((Exp(expN).Trace(trc).Dexp(n).DM(dmSel).UsrLvals)); else BPvals(1,bpInd)=Exp(expN).Trace(trc).Dexp(n).DM(dmSel).UsrLvals; cnt=length(Exp(expN).Trace(trc).Dexp(n).DM(dmSel).UsrLvals); end end % scnt(bpInd)=strcat('[',num2str(cnt),']'); scnt=strcat('[',num2str(cnt),']'); % Get Agar DrugMedia drug=Exp(expN).Dexp(n).DM.drug{dmSel}; conc=Exp(expN).Dexp(n).DM.conc{dmSel}; media=Exp(expN).Dexp(n).DM.media{dmSel}; mod1=Exp(expN).Dexp(n).DM.mod1{dmSel}; if isnan(cell2mat(mod1)), mod1='';end conc1=Exp(expN).Dexp(n).DM.conc1{dmSel}; if isnan(cell2mat(conc1)), conc1='';end mod2=Exp(expN).Dexp(n).DM.mod2{dmSel}; if isnan(cell2mat(mod2)), mod2='';end conc2=Exp(expN).Dexp(n).DM.conc2{dmSel}; if isnan(cell2mat(conc2)), conc2='';end dmStr=strcat(drug,conc,'_',media,'_',mod1,conc1,mod2,conc2); % Extract expDay from ExpName string dayNpos=max(strfind(Exp(expN).Dexp(n).ExpFoldr, '_D')); dayLbl=Exp(expN).Dexp(n).ExpFoldr(dayNpos+1:end); label=strcat(dayLbl,'-', Exp(expN).Trace(trc).UsrGLB, dmStr,scnt); %scnt(bpInd)); tickLabelStr{bpInd}=label; end catch end end end else % if 'single' or 'multi' experiment setup for DM trends maxRows=1; Lmax=1; bpInd=0; % for n=1:length(Exp(expN).Dexp) % Loop Thru Multi Experiments DexpN=Exp(expN).DexpN; for dm=1:length(Exp(expN).Dexp(DexpN).DM.drug) % LOOP Thru DM perturbations for trc=1:Exp(expN).traceN %length(Exp(expN).Trace) % tempLB=Exp(expN).Trace(trc).UsrGLB; try if isequal(get(Exp(expN).hOL(trc),'Visible'),'on') DexpN=Exp(expN).Trace(trc).DexpN; if iscell(Exp(expN).Trace(trc).Dexp(DexpN).DM(dm).UsrLvals) rows=length(cell2mat(Exp(expN).Trace(trc).Dexp(DexpN).DM(dm).UsrLvals)); else rows=1; end if iscell(Exp(expN).Trace(trc).Dexp(DexpN).DM(dm).UsrLvals) if rows> maxRows, maxRows=rows; end LsmpMax=max(cell2mat(Exp(expN).Trace(trc).Dexp(DexpN).DM(dm).UsrLvals)); else LsmpMax=max(Exp(expN).Trace(trc).Dexp(DexpN).DM(dm).UsrLvals); end if LsmpMax> Lmax, Lmax=LsmpMax; end bpInd=bpInd+1; end catch end end end % end <- to stop here maxCols=bpInd; % length(Exp(expN).Dexp) * length(Exp(expN).Trace) BPvals(1:maxRows,1:maxCols)=nan; % BoxPlot requires a matrix with uniform length even if data is not of the same length bpInd=0; for dm=1:length(Exp(expN).Dexp(DexpN).DM.drug) %LOOP Thru DM perturbations for trc=1:Exp(expN).traceN % length(Exp(expN).Trace) try if isequal(get(Exp(expN).hOL(trc),'Visible'),'on') DexpN=Exp(expN).Trace(trc).DexpN; bpInd=bpInd+1; if iscell(Exp(expN).Trace(trc).Dexp(DexpN).DM(dm).UsrLvals) kFiltrIndx=find((cell2mat(Exp(expN).Trace(trc).Dexp(DexpN).DM(dm).UsrKvals))<=kfiltLim); tmp=cell2mat(Exp(expN).Trace(trc).Dexp(DexpN).DM(dm).UsrLvals); BPvals(1:length(kFiltrIndx),bpInd)=tmp(kFiltrIndx); cnt=length(kFiltrIndx); %BPvals(1:length(cell2mat(Exp(expN).Trace(trc).Dexp(DexpN).DM(dm).UsrLvals)),bpInd)=cell2mat(Exp(expN).Trace(trc).Dexp(DexpN).DM(dm).UsrLvals); %cnt=length(cell2mat(Exp(expN).Trace(trc).Dexp(DexpN).DM(dm).UsrLvals)); else if length(Exp(expN).Trace(trc).Dexp(DexpN).DM(dm).UsrLvals)> 1 kFiltrIndx=find(((Exp(expN).Trace(trc).Dexp(DexpN).DM(dm).UsrKvals))<=kfiltLim); tmp=Exp(expN).Trace(trc).Dexp(DexpN).DM(dm).UsrLvals; BPvals(1:length(kFiltrIndx),bpInd)=tmp(kFiltrIndx); cnt=length(kFiltrIndx); else BPvals(1,bpInd)=Exp(expN).Trace(trc).Dexp(DexpN).DM(dm).UsrLvals; cnt=length(Exp(expN).Trace(trc).Dexp(DexpN).DM(dm).UsrLvals); end end % scnt(bpInd)={strcat('[',num2str(cnt),']')}; scnt={strcat('[',num2str(cnt),']')}; % Get Agar DrugMedia drug=Exp(expN).Dexp(DexpN).DM.drug{dm}; conc=Exp(expN).Dexp(DexpN).DM.conc{dm}; media=Exp(expN).Dexp(DexpN).DM.media{dm}; mod1=Exp(expN).Dexp(DexpN).DM.mod1{dm}; if isnan(cell2mat(mod1)), mod1='';end conc1=Exp(expN).Dexp(DexpN).DM.conc1{dm}; if isnan(cell2mat(conc1)), conc1='';end mod2=Exp(expN).Dexp(DexpN).DM.mod2{dm}; if isnan(cell2mat(mod2)), mod2='';end conc2=Exp(expN).Dexp(DexpN).DM.conc2{dm}; if isnan(cell2mat(conc2)), conc2='';end dmStr=strcat(drug,'_',conc,'_',media,'_',mod1,conc1,mod2,conc2); % Extract expDay from ExpName string dayNpos=max(strfind(Exp(expN).Dexp(DexpN).ExpFoldr, '_D')); dayLbl=Exp(expN).Dexp(DexpN).ExpFoldr(dayNpos+1:end); if ~isempty(dayLbl), dayLbl=strcat(dayLbl,'_'); end label=strcat(dayLbl,Exp(expN).Trace(trc).UsrGLB, dmStr,scnt); tickLabelStr{bpInd}=label; end %if isequal(get(Exp(1).hOL(trc),'Visible'),'on') catch end end end %{ if isequal(tempLB(4:6),'cmp')||isequal(tempLB(3:6),'cmpG'), RFcmpFlg=1; else RFcmpFlg=0; end %} end % Box Plot Plotting section if userPars.boxplotFlg==1 BPoutliers=userPars.BPoutliers; BPnotch=userPars.BPnotch; sh=userPars.BPlblShft; fontSize=userPars.BPfontSz; rotation=userPars.BProt; % fontSize=8; % tickLabelStr={'Label alpha','Label beta','Label chi','Label delta',... %'Label epsilon','Label fish','Label gamma','Label hallo','Label ingo'} % generate data if size(BPvals,1)==1, BPvals(2,1:maxCols)=nan; end final_res=BPvals; %10*randn(300,9)+10; % group boxes % sh=0.3; %sh is shift value width=.5*sh; % pos=[1+sh 2-sh 3+sh 4-sh 5+sh 6-sh 7+sh 8-sh 9+sh]; bpn=1; if strcmp(Exp(expN).DexpType, 'chrono') ticDim=length(Exp(expN).Dexp); else ticDim=length(Exp(expN).Dexp(DexpN).DM.drug); end for dim=1:ticDim % LOOP Thru DM perturbations shn=0; for trc=1:Exp(expN).traceN % length(Exp(expN).Trace) if isequal(get(Exp(expN).hOL(trc),'Visible'),'on') pos(bpn)=dim + (shn*sh); shn=shn+1; bpn=bpn+1; end end end wid=width * ones(1,length(pos)); % boxplot figure set(gcf,'OuterPosition',(get(0,'screensize'))) if strcmpi(BPnotch,'on') boxplot(final_res, ... 'notch', 'on', ... 'positions', pos,... 'widths', wid) elseif strcmpi(BPnotch,'off'), boxplot(final_res, ... 'notch', 'off', ... 'positions', pos,... 'widths', wid) end % label, change fontsize % y-axis set(gca, 'FontSize', fontSize) ylim([-.5 (Lmax+10)]) ylabel('L in Hours', 'FontSize', fontSize) % x-labels text_h=findobj(gca, 'Type', 'text'); % rotation=45; for cnt=1:length(text_h) set(text_h(cnt), ... 'FontSize', fontSize,... 'Rotation', rotation, ... 'String', tickLabelStr{length(tickLabelStr)-cnt+1}, ... 'HorizontalAlignment', 'right') end % 'VerticalAlignment', 'cap', ... % Smaller box for axes, in order to un-hide the labels squeeze=0.2; left=0.02; right=1; bottom=squeeze; top=1-squeeze; set(gca, 'OuterPosition', [left bottom right top]) % Remove outliers hout=findobj(gca,'tag','Outliers'); for out_cnt=1 : length(hout) if strcmpi(BPoutliers,'on'), set(hout(out_cnt), 'Visible', 'on') elseif strcmpi(BPnotch,'off'), set(hout(out_cnt), 'Visible', 'off') end end end % Plot Overlay Code % Plot Overlay Of Trends For Chrono Or Drug-Media Permutations try lnwidth=str2num(Exp(4).plotPars{1}); axisFontSz=str2num(Exp(4).plotPars{2}); legFontSz=str2num(Exp(4).plotPars{3}); markerSz=str2num(Exp(4).plotPars{4}); catch lnwidth=4; axisFontSz=36; legFontSz=10; markerSz=5; end if userPars.boxplotFlg~=1 % PLOT OVERLAY OF TRENDS figure set(gcf,'OuterPosition',(get(0,'screensize'))) if strcmp(Exp(expN).DexpType, 'chrono') % Chrono % Plot median values for each DAY of the selected Trace % (Gene-Specifics)using single DM of trace range=0; for trc=1:Exp(expN).traceN % length(Exp(expN).Trace) % trcInd=0; scnt='['; % Init for Sample Count String if isequal(get(Exp(expN).hOL(trc),'Visible'),'on') for n=1:length(Exp(expN).Dexp) % LOOP Thru DayExps tmp=[]; try %if isequal(get(Exp(expN).hOL(trc),'Visible'),'on') dmSel=Exp(expN).Trace(trc).dmSel; if iscell(Exp(expN).Trace(trc).Dexp(n).DM(dmSel).UsrLvals) kFiltrIndx=find((cell2mat(Exp(expN).Trace(trc).Dexp(n).DM(dmSel).UsrKvals))<=kfiltLim); tmp=cell2mat(Exp(expN).Trace(trc).Dexp(n).DM(dmSel).UsrLvals); dayMed(trc,n)=median(tmp(kFiltrIndx)); % median(cell2mat(Exp(expN).Trace(trc).Dexp(n).DM(dmSel).UsrLvals)); dayStd(trc,n)=std(tmp(kFiltrIndx)); % std(cell2mat(Exp(expN).Trace(trc).Dexp(n).DM(dmSel).UsrLvals)); cnt=length(kFiltrIndx); % length(cell2mat(Exp(expN).Trace(trc).Dexp(n).DM(dmSel).UsrLvals)); else kFiltrIndx=find(((Exp(expN).Trace(trc).Dexp(n).DM(dmSel).UsrKvals))<=kfiltLim); tmp=(Exp(expN).Trace(trc).Dexp(n).DM(dmSel).UsrLvals); dayMed(trc,n)=median(tmp(kFiltrIndx)); %median(Exp(expN).Trace(trc).Dexp(n).DM(dmSel).UsrLvals); dayStd(trc,n)=std(tmp(kFiltrIndx)); %std(Exp(expN).Trace(trc).Dexp(n).DM(dmSel).UsrLvals); cnt=length(kFiltrIndx); %length(Exp(expN).Trace(trc).Dexp(n).DM(dmSel).UsrLvals); end % Make LEGEND list % Make Sample Count Label item; if n~=length(Exp(expN).Dexp) scnt=strcat(scnt,num2str(cnt),','); else scnt=strcat(scnt,num2str(cnt),']'); end %Get Agar DrugMedia; dm=Exp(expN).Trace(trc).dmSel; drug=Exp(expN).Dexp(n).DM.drug{dm}; conc=Exp(expN).Dexp(n).DM.conc{dm}; media=Exp(expN).Dexp(n).DM.media{dm}; mod1=Exp(expN).Dexp(n).DM.mod1{dm}; conc1=Exp(expN).Dexp(n).DM.conc1{dm}; mod2=Exp(expN).Dexp(n).DM.mod2{dm}; conc2=Exp(expN).Dexp(n).DM.conc2{dm}; dmStr=strcat(drug,'_',conc,'_',media,'_',mod1,conc1,mod2,conc2); NmLst(trc)=strcat(Exp(expN).Trace(trc).UsrGLB, dmStr,scnt); %Determine Actual Exp Day from the ExpDay folder loc=strfind(Exp(expN).Dexp(n).ExpFoldr,'_D'); daystr=Exp(expN).Dexp(n).ExpFoldr((loc+2):end); dayNums(n)=str2num(daystr); %trcInd=trcInd+1; catch end try upperStd(trc,n)=dayMed(trc,n) + dayStd(trc,n); lowerStd(trc,n)=dayMed(trc,n) - dayStd(trc,n); catch end end % end % Plot Trend Data % if isequal(get(Exp(expN).hOL(trc),'Visible'),'on') try if iscell(Exp(expN).Trace(trc).Dexp(n).DM(dmSel).UsrLvals) hTrendFig=plot(dayNums,dayMed(trc,1:n),'lineWidth',2); hold on linecolor(trc)={get(hTrendFig,'color')}; else clear NmLstStr if iscell(NmLst(trc)),NmLstStr=cell2mat(NmLst(trc)); else NmLstStr=NmLstStr(trc); end if isequal(NmLstStr(4:6),'cmp') || || isequal(NmLstStr(3:6),'cmpG') ... || isequal(NmLstStr(3:6),'cmpP') hTrendFig=plot(dayNums,dayMed(trc,1:n),'lineWidth',2); hold on linecolor(trc)={get(hTrendFig,'color')}; else hTrendFig=plot(dayNums,dayMed(trc,1:n),'marker','^','lineWidth',2); hold on linecolor(trc)={get(hTrendFig,'color')}; end % yTicks=get(gca,'yTickLabel'); Ydelta=max(max(yTicks))-min(min(yTicks)); % spacing=Ydelta* 0.0034; %line spacing for STD marker end catch hTrendFig=plot(1:n,dayMed(trc,1:n),'lineWidth',2); hold on linecolor(trc)={get(hTrendFig,'color')}; ylabel('Experiment Day Index') end end grid on % set(gca,'linewidth',4) %0.5 then 1.5 now 6 % set(gca,'fontsize',axisFontSz) % 8 to 15 to 21 hold all try % if isequal(get(Exp(expN).hOL(trc),'Visible'),'on') tmpRange=ceil(max(upperStd(trc,1:end))) - floor(min(lowerStd(trc,1:end))); range=max(range,tmpRange); catch, end end % Standard Deviation range bars % range=ceil(max(upperStd(trc,1:end))) - floor(min(lowerStd(trc,1:end))); spacing=range*0.0034; %marker splacing for building range bars for trc=1:Exp(expN).traceN %length(Exp(expN).Trace) if isequal(get(Exp(expN).hOL(trc),'Visible'),'on') for n=1:length(Exp(expN).Dexp) %LOOP Thru DayExps if isequal(get(Exp(expN).hOL(trc),'Visible'),'on') try line(dayNums(n),lowerStd(trc,n):spacing:(dayMed(trc,n)-.05),'marker','^','LineWidth',1,'markerEdgeColor',cell2mat(linecolor(trc))); hold on line(dayNums(n),(dayMed(trc,n)+0.05):spacing:upperStd(trc,n),'marker','v','LineWidth',1,'markerEdgeColor',cell2mat(linecolor(trc))); hold on catch % line(n,lowerStd(trc,n):0.05:(dayMed(trc,n)-.1),'marker','^','LineWidth',1,'markerEdgeColor',cell2mat(linecolor(trc))); hold on % line(n,(dayMed(trc,n)+0.1):0.05:upperStd(trc,n),'marker','v','LineWidth',1,'markerEdgeColor',cell2mat(linecolor(trc))); hold on end end end end end % legName=strrep(NmLst,'_','-'); mm=1; for nn=1:length(NmLst) if iscellstr(NmLst(nn)) legName(mm)=strrep(NmLst(nn),'_','-'); mm=mm+1; end end legName=strrep(legName,'/','-'); hleg=legend((legName),'location','NEO'); set(hleg,'fontsize',legFontSz) end xlabel('Days') ylabel('L in Hours') title('Chronological Trend Plot with Standard Deviations') hold off % Single or Multi Experiment if ~strcmp(Exp(expN).DexpType, 'chrono') %Single or Multi-Experiment % Plot median values for each DM of the selected Trace (Gene-DM) % (Gene-Specifics)using single DAY of trace for trc=1:Exp(expN).traceN %length(Exp(expN).Trace) trcInd=0; DexpN=Exp(expN).Trace(trc).DexpN; expFolder=Exp(expN).Dexp(DexpN).ExpFoldr; if ispc lastSlash=max(strfind(Exp(expN).Dexp(DexpN).ExpFoldr, '\')); else lastSlash=max(strfind(Exp(expN).Dexp(DexpN).ExpFoldr, '/')); end expName=expFolder(lastSlash+1:end); if length(expName)>18 expNm=strcat('-',expName(1:18)); else expNm=strcat('-',expName); end scnt='['; %Init for Sample Count String for n=1:length(Exp(expN).Dexp(DexpN).DM.drug) %LOOP Thru Drug-Media perturbations tmp=[]; if isequal(get(Exp(expN).hOL(trc),'Visible'),'on') if iscell(Exp(expN).Trace(trc).Dexp(DexpN).DM(n).UsrLvals) kFiltrIndx=find((cell2mat(Exp(expN).Trace(trc).Dexp(DexpN).DM(n).UsrKvals))<=kfiltLim); tmp=(cell2mat(Exp(expN).Trace(trc).Dexp(DexpN).DM(n).UsrLvals)); dmMed(trc,n)=median(tmp(kFiltrIndx)); %median(cell2mat(Exp(expN).Trace(trc).Dexp(DexpN).DM(n).UsrLvals)); dmStd(trc,n)=std(tmp(kFiltrIndx)); %std(cell2mat(Exp(expN).Trace(trc).Dexp(DexpN).DM(n).UsrLvals)); cnt=length(kFiltrIndx); %length(cell2mat(Exp(expN).Trace(trc).Dexp(DexpN).DM(n).UsrLvals)); else kFiltrIndx=find(((Exp(expN).Trace(trc).Dexp(DexpN).DM(n).UsrKvals))<=kfiltLim); tmp=((Exp(expN).Trace(trc).Dexp(DexpN).DM(n).UsrLvals)); dmMed(trc,n)=median(tmp(kFiltrIndx)); %median(Exp(expN).Trace(trc).Dexp(DexpN).DM(n).UsrLvals); dmStd(trc,n)=std(tmp(kFiltrIndx)); %std(Exp(expN).Trace(trc).Dexp(DexpN).DM(n).UsrLvals); cnt=length(kFiltrIndx); %length(Exp(expN).Trace(trc).Dexp(DexpN).DM(n).UsrLvals); end % Make Legend list % Make Sample Count Label item if n~=length(Exp(expN).Dexp(DexpN).DM.drug) scnt=strcat(scnt,num2str(cnt),','); else scnt=strcat(scnt,num2str(cnt),']'); end % Get Agar DrugMedia drug=Exp(expN).Dexp(DexpN).DM.drug{n}; conc=Exp(expN).Dexp(DexpN).DM.conc{n}; media=Exp(expN).Dexp(DexpN).DM.media{n}; mod1=Exp(expN).Dexp(DexpN).DM.mod1{n}; conc1=Exp(expN).Dexp(DexpN).DM.conc1{n}; mod2=Exp(expN).Dexp(DexpN).DM.mod2{n}; conc2=Exp(expN).Dexp(DexpN).DM.conc2{n}; dmStr=strcat(drug,'_',conc,'_',media,'_',mod1,conc1,mod2,conc2); NmLst(trc)=strcat(Exp(expN).Trace(trc).UsrGLB, expNm,scnt); trcInd=trcInd+1; upperStd(trc,n)=dmMed(trc,n) + dmStd(trc,n); lowerStd(trc,n)=dmMed(trc,n) - dmStd(trc,n); end end % Plot Trend Data if isequal(get(Exp(expN).hOL(trc),'Visible'),'on') if iscell(Exp(expN).Trace(trc).Dexp(DexpN).DM(n).UsrLvals) hTrendFig=plot(1:n,dmMed(trc,1:n),'lineWidth',2); hold on linecolor(trc)={get(hTrendFig,'color')}; else clear NmLstStr if iscell(NmLst(trc)),NmLstStr=cell2mat(NmLst(trc)); else NmLstStr=NmLst(trc); end if isequal(NmLstStr(4:6),'cmp'), ... || isequal(NmLstStr(3:6),'cmpG'), ... || isequal(NmLstStr(3:6),'cmpP') hTrendFig=plot(1:n,dmMed(trc,1:n),'lineWidth',2); hold on linecolor(trc)={get(hTrendFig,'color')}; else hTrendFig=plot(1:n,dmMed(trc,1:n),'marker','^','lineWidth',2); hold on linecolor(trc)={get(hTrendFig,'color')}; end end % yTicks=get(gca,'yTickLabel'); Ydelta=max(max(yTicks))-min(min(yTicks)); % spacing=Ydelta* 0.0034; %line spacing for STD marker end grid on % set(gca,'linewidth',4) %0.5 then 1.5 now 6 % set(gca,'fontsize',axisFontSz) % 8 to 15 to 21 hold all end % Standard Deviation range bars % range=ceil(max(max(upperStd))) - floor(min(min(lowerStd))); range=ceil(max(upperStd(trc,1:end))) - floor(min(lowerStd(trc,1:end))); spacing=range*0.0034; for trc=1:Exp(expN).traceN %length(Exp(expN).Trace) for n=1:length(Exp(expN).Dexp(DexpN).DM.drug) %LOOP Thru Drug-Media perturbations if isequal(get(Exp(expN).hOL(trc),'Visible'),'on') try line(n,lowerStd(trc,n):spacing:(dmMed(trc,n)-.05),'marker','^','LineWidth',1,'markerEdgeColor',cell2mat(linecolor(trc))); hold on line(n,(dmMed(trc,n)+0.05):spacing:upperStd(trc,n),'marker','v','LineWidth',1,'markerEdgeColor',cell2mat(linecolor(trc))); hold on catch end end end end mm=1; for nn=1:length(NmLst) if iscellstr(NmLst(nn)) legName(mm)=strrep(NmLst(nn),'_','-'); mm=mm+1; end end legName=strrep(legName,'/','-'); hleg=legend((legName),'location','NEO'); set(hleg,'fontsize',legFontSz) xlabel('Drug-Media Index') ylabel('L in Hours') title('Drug-Media Trend Plot with Standard Deviations') hold off end hold off end %if userPars.boxplotFlg~=1 %PLOT OVERLAY OF TRENDS 266