%***********User find and build composite of Selected Gene Composite and %*************Plot it on OLay Plot and Trend plot DNLaxles %***************For Chonological Studies (multi Day Studies) %Called when Composite_ toggle button is clicked. %Data stored for printable Trend Plot production (click [L] in DNLaxes ) %********************* global ghandles global Exp global exDlst global exFolder tracN=Exp(expN).traceN; n= Exp(expN).DexpN; %Temp input for development %UmDayaa= cell(3,n); UmDaybb= cell(3,n); patrnN=strfind(selGnOrf{1},':'); %Extract Gene-Orf Name selStrNm= char(selGnOrf) usrGene= selStrNm(1:(patrnN(1)-1)) prompt={'Enter Specifics Term if used to futher specify selection '} dlg_title='User Specifics Term for Refinement Composite'; num_lines=1; def={'None'}; answer=inputdlg(prompt,dlg_title,num_lines,def); %usrGene= cell2mat(answer(1)); usrSpec= answer(1); usrGnSp= strcat(usrGene,usrSpec); if strcmpi(usrSpec,'None'), usrGnSp= {strcat(usrGene,'-')}; end %if strfind(Exp(expN).UgeneSpLst,usrGnSp), break; end Exp(expN).Dexp(n).UsrmdPLB= {[]}; Exp(expN).Dexp(n).UsrMedianG= []; Exp(expN).Dexp(n).UsrminG= []; Exp(expN).Dexp(n).UsrmaxG= []; Exp(expN).Dexp(n).UsrstdG= []; Exp(expN).Dexp(n).UsrmeanG= []; Exp(expN).Dexp(n).UsrCmpGL= []; %For Ref Composite 17_1026 Exp(expN).Dexp(n).UsrCmpGK= []; %For Ref Composite 17_1026 Exp(expN).Dexp(n).UsrCmpGr= []; %For Ref Composite 17_1026 Exp(expN).Dexp(n).UsrGLB= {}; for n=1:Exp(expN).DexpLength %LOOP Thru DayExps MPnum=length(Exp(expN).Dexp(n).MP); DMnum= length(Exp(expN).Dexp(n).DM.drug); tPtsSize= size(Exp(expN).Dexp(n).FexpScanBMtp{1,1},(3)); %********************************* %lstindx= size(aa,1); %lstindxOrf= size(bb,1); spN=0; rfcnt=0; dRF1indx=0; %usrGene= cell2mat(usrGene); %user entry of Specifics for Ref selection usrSp= cell2mat(usrSpec); %user entry of Specifics for Ref selection %******************************************************* for mp=1:length(Exp(expN).Dexp(n).MP) %RF1fullPlate=0; for ind384=1:384 spN=spN+1; try % r= ceil(ind384/24); if rem(ind384,24)==0, c=24; else c=rem(ind384,24); end %Insert test for numeric in genename and orf if isnumeric %Correct common EXCEL problem of converting OCT1 into a date numeric if cell2mat(Exp(expN).Dexp(n).MP(mp).genename{1}(ind384))==38991, Exp(expN).Dexp(n).MP(mp).genename{1}(ind384)={'OCT1_'}; elseif isnumeric(cell2mat(Exp(expN).Dexp(n).MP(mp).genename{1}(ind384))) Exp(expN).Dexp(n).MP(mp).genename{1}(ind384)={' '}; end %***************************************************************** %DISPersed REFerence capture and find Medians if ( ((strcmpi((Exp(expN).Dexp(n).MP(mp).genename{1}(ind384)),usrGene) && ... strcmpi((Exp(expN).Dexp(n).MP(mp).specifics{1}(ind384)),usrSp)))... || ((strcmpi((Exp(expN).Dexp(n).MP(mp).genename{1}(ind384)),usrGene) && ... strcmpi(usrSp,'None'))) ), dRF1indx=dRF1indx+1; Exp(expN).Dexp(n).MP(mp).genename{1}(ind384) =strrep((Exp(expN).Dexp(n).MP(mp).genename{1}(ind384)),':',' '); drf(dRF1indx,1)= (Exp(expN).Dexp(n).MP(mp).genename{1}(ind384)); drf(dRF1indx,2)= {strcat(':',num2str(mp),':',num2str(r),':',num2str(c))}; drf(dRF1indx,3)={mp}; drfMP(dRF1indx,mp)= mp; drf(dRF1indx,4)={r}; drfr(dRF1indx,mp)= r; drf(dRF1indx,5)={c}; drfc(dRF1indx,mp)= c; drf(dRF1indx,6)={ind384}; drfPindx(dRF1indx,mp)= ind384; %drf(dRF1indx,7)= (Exp(expN).Dexp(n).MP(mp).specifics{1}(ind384)); end %if isempty(regexpi(char((Exp(expN).Dexp(n).MP(mp).genename{1}(ind384))),'blank'))... %******************************************************************************* catch error='EZexpSel lineAfter 24 EZmultiGeneLst.m' mp %Disable in future to prevent a bomb out OR put into a nested TryCatch ind384 %Disable in future to prevent a bomb out OR put into a nested TryCatch msgBadGeneName= strcat('check genename at mp=',num2str(mp),' indx=',num2str(ind384)) end end %end associated with for ind384=1:384 mp end %end associated with for mp=1:length(Exp(expN).Dexp(n).MP) %***************************************************** %************************************************************************************************ %Exp(expN).Dexp(n).UsrmdPindx=[]; %Exp(expN).Dexp(n).UsrmdPpltN=[]; if exist('drf','var') %Det. index of change from one MP to the next i=2; clear chgIndx chgIndx(1)=1; for j=1:length(drf(:,3)) if j>1 if cell2mat(drf(j,3))~= cell2mat(drf((j-1),3)), chgIndx(i)=j; i=i+1; end end end chgIndx(length(chgIndx)+1)= length(drf)+1; uu=zeros(size(drf,1),4); uu(:,1:4)= cell2mat(drf(:,3:6)); vv= zeros(length(drf),1 ); %DMnum); %************************************ dMPs= unique(cell2mat(drf(:,3))); %***************************************** for mm=1:length(dMPs) % length(chgIndx) usrScNdisp=((dMPs(mm)-1)*DMnum)+(dmSel); NZrefIndxP= drfPindx((find(drfPindx(:,dMPs(mm)))),dMPs(mm)); medianIndxDisp= NZrefIndxP; vv(chgIndx(mm):(chgIndx(mm+1)-1),dmSel)=Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZrefIndxP,5); %For Global Ref Composite 17_1009 %************************************************************************** vvK(chgIndx(mm):(chgIndx(mm+1)-1),dmSel)=Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZrefIndxP,3); vvr(chgIndx(mm):(chgIndx(mm+1)-1),dmSel)=Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZrefIndxP,4); %***************************************************************************************************** end %for mm=1:length(dMPs) %****************CALC. GLOBAL MEAN, STD, AND MEDIAN FOR DISTRIBUTED REFERENCES****************************************************************** uu= horzcat(uu,vv); for d=dmSel:dmSel medianIndxG=[]; NZusrIndxG=[]; minG=min(nonzeros(vv(:,d))); maxG=max(nonzeros(vv(:,d))); usrmeanG= mean(nonzeros(vv(:,d))); usrStdG= std(nonzeros(vv(:,d))); NZusrIndxG= find(vv(:,d)); if isempty(usrmeanG), nonZeroCntD=0, %medianIndxDisp= RFmeanG(d); else nonZeroCntD= length(nonzeros(vv(:,d))); end %Calc. of median value for composite doesn't require and odd number of Indx items medianIndxG= NZusrIndxG(:); if ~isempty(NZusrIndxG) && length(medianIndxG) > 0 %(.15*size(drf,1)) %To calc. a median, more than 15% of spots must be nonZero Exp(expN).Dexp(n).UsrGLB(d)= usrGnSp; %strcat(aa(lstindx,1),aa(lstindx,2)); Exp(expN).Dexp(n).UsrLvals= vv(medianIndxG); Exp(expN).Dexp(n).UsrKvals= vvK(medianIndxG); Exp(expN).Dexp(n).Usrrvals= vvr(medianIndxG); end end end % if exist('drf','var') %END OF DISPERSE REFERENCE PLATAES CALCULATIONS AND LIST ADDITIONS %********************************************************************* %#################################################################### end %for n=1:Exp(expN).DexpLength %Loop thru Dayexps Exp(expN).UgeneCnt= Exp(expN).UgeneCnt +1; Exp(expN).UgeneSpLst(Exp(expN).UgeneCnt)= usrGnSp; %####################################################################### %***********PLOT Values Selected Gene-Specifics Composite ******************************************try smpSz= size(medianIndxG,1); K= median(vvK(medianIndxG,dmSel)); Ks= num2str(K); Kstd= std(vvK(medianIndxG,dmSel)); KstdStr= num2str(Kstd); r= median(vvr(medianIndxG,dmSel)); rs= num2str(r); rstd= std(vvr(medianIndxG,dmSel)); rstdStr= num2str(rstd); l= median(vv(medianIndxG,dmSel)); Ls= num2str(l); Lstd= std(vv(medianIndxG,dmSel)); LstdStr= num2str(Lstd); Kl= K - std(vvK(medianIndxG,dmSel)); %K - Exp(expN).Dexp(DexpN).RFcmpK(RFnum).dm(inDM).std; Ku= K + std(vvK(medianIndxG,dmSel)); %K + Exp(expN).Dexp(DexpN).RFcmpK(RFnum).dm(inDM).std; rl= r - std(vvr(medianIndxG,dmSel)); %r - Exp(expN).Dexp(DexpN).RFcmpr(RFnum).dm(inDM).std; ru= r + std(vvr(medianIndxG,dmSel)); %r + Exp(expN).Dexp(DexpN).RFcmpr(RFnum).dm(inDM).std; lfast= l - std(vv(medianIndxG,dmSel)); %l - Exp(expN).Dexp(DexpN).RFcmpL(RFnum).dm(inDM).std; lslow= l + std(vv(medianIndxG,dmSel)); %l + Exp(expN).Dexp(DexpN).RFcmpL(RFnum).dm(inDM).std; try Kstr=Ks(1:5); catch, Kstr=Ks(1:length(Ks)); end try rstr=rs(1:5); catch, rstr=rs(1:length(rs)); end try Lstr=Ls(1:5); catch, Lstr=Ls(1:length(Ls)); end pertSel=Exp(zoneSel).Dexp(DexpN).pertSel; %floor(get(handles.DMsldr1,'value')); plateNum=(LBmp-1)*destPerMP + pertSel; indx=((LBr-1)*24) +LBc MP=Exp(zoneSel).Dexp(DexpN).MP; try t=1:200; clear g; try g= K ./ (1 + exp(-r.* (t - l ))); gSlow= Kl ./ (1 + exp(-rl.* (t - lslow ))); gFast= Ku ./ (1 + exp(-ru.* (t - lfast ))); if K==0||r==0||l==0, g(1:200)=1;gSlow(1:200)=1;gFast(1:200)=1;end if zoneSel==1, plotAxes=ghandles.Paxes1; OLaxes=ghandles.OLaxes1; Dlaxes=ghandles.Dlaxes1;Dkaxes=ghandles.Dkaxes1;Draxes=ghandles.Draxes1; Exp(1).traceN=Exp(1).traceN+1; traceN=Exp(1).traceN; end if zoneSel==2, plotAxes=ghandles.Paxes2; OLaxes=ghandles.OLaxes2;Daxes=ghandles.Daxes2; Dlaxes=ghandles.Dlaxes2;Dkaxes=ghandles.Dkaxes2;Draxes=ghandles.Draxes2; Exp(2).traceN=Exp(2).traceN+1; traceN=Exp(2).traceN; end if zoneSel==3, plotAxes=ghandles.Paxes3; OLaxes=ghandles.OLaxes3;Daxes=ghandles.Daxes3; Dlaxes=ghandles.Dlaxes3;Dkaxes=ghandles.Dkaxes3;Draxes=ghandles.Draxes3; Exp(3).traceN=Exp(3).traceN+1; traceN=Exp(3).traceN; end plot(plotAxes,t,g);hold (plotAxes,'on'); plot(plotAxes,t,gSlow,'y');plot(plotAxes,t,gFast,'r');hold (plotAxes,'off'); %************CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC************************************** %Store L R and K valves for Composite [C] plots Exp(expN).ll(traceN)= l; Exp(expN).rr(traceN)= r; Exp(expN).kk(traceN)= K; Exp(expN).lslow(traceN)= lslow; Exp(expN).lfast(traceN)= lfast; %************************************************************************ try for i=1:length(Exp(zoneSel).hOL(:)),set(Exp(zoneSel).hOL(i),'color',[0 0 1]); end, catch; end Exp(zoneSel).hOL(traceN)=plot(OLaxes,t,g);hold on; set(Exp(zoneSel).hOL(traceN),'color',[1 0 0]) catch catchissue='Ln100 EZlstBoxExt' end %trycatch %Get the DM agar description if expN==1,DMstr=char(get(handles.DM1,'string'));end if expN==2,DMstr=char(get(handles.DM2,'string'));end if expN==3,DMstr=char(get(handles.DM3,'string'));end gene= usrGnSp; orf= '' %MP(1,LBmp).orf{1,1}(indx); geneOrfstr= strcat(gene,'_',orf,'_'); grfgenestr= strcat(gene,'_',orf,'_'); %spec=MP(1,LBmp).specifics{1,1}(indx); %orfrep=MP(1,plateNum).orfRep{1,1}(indx); %tPtStr=strcat('T=', num2str(scan(1,plateNum).plate(1).t0Series(tPtSel))); %graphStr=strcat(grfgenestr,'_','L=',Lstr,'_','r=',rstr,'_','K=',Kstr); graphStr= strcat(usrGnSp,'_','L=',Lstr,'_','Ls=',LstdStr,'_','r=',rstr,'_','rs=',rstdStr,'_','K=',Kstr,'Ks=',KstdStr); spotDescrip=strcat(graphStr,'->',DMstr); xp=char(Exp(zoneSel).Dexp(DexpN).resDir); if ispc, slashPos=strfind(char(Exp(zoneSel).Dexp(DexpN).resDir),'\'); else slashPos=strfind(char(Exp(zoneSel).Dexp(DexpN).resDir),'/'); end startPos=slashPos(length(slashPos)-1) +1; endPos=slashPos(length(slashPos)) -1 expStr= {xp(startPos:endPos)} Exp(zoneSel).hOLname(traceN)= spotDescrip; %graphStr; %ghandles.Exp(zoneSel).hOLname(traceN)= graphStr; Exp(zoneSel).hOLexpNm(traceN)= expStr; %ghandles.Exp(expN).hOLexpNm(traceN)= expStr; Exp(zoneSel).hOLresDir(traceN)= {Exp(zoneSel).Dexp(DexpN).resDir}; Exp(zoneSel).hOLplateNum(traceN)= plateNum; %traceData= vertcat(get(Exp(OLay).hOL(traceN),'XData'),get(ghandles.Exp(OLay).hOL(traceN),'YData')); if zoneSel==1,set(ghandles.GeneOrfLoc1,'string',geneOrfstr);end % Displays the value. if zoneSel==2,set(ghandles.GeneOrfLoc2,'string',geneOrfstr);end if zoneSel==3,set(ghandles.GeneOrfLoc3,'string',geneOrfstr);end if zoneSel==1,set(ghandles.graphStrLoc1,'string',spotDescrip);end %graphStr);end % Displays the value. if zoneSel==2,set(ghandles.graphStrLoc2,'string',spotDescrip);end %graphStr);end if zoneSel==3,set(ghandles.graphStrLoc3,'string',spotDescrip);end %graphStr);end catch catchissue='Ln141 EZlstBoxExt' msg='Error' end % trycatch zoneSel<4 datatip selection from Image (not from an OverLay Plot) %{ % If a specific spot median is ever needed %Calc. of EXACT median specific culture requires an odd number of indx items if ~isempty(NZusrIndxG) && mod(nonZeroCntD,2)==0, medianIndxOdd= NZusrIndxG(1:(size(NZusrIndxG,1)-1)); end if ~isempty(NZusrIndxG) && mod(nonZeroCntD,2)~=0, medianIndxOdd= NZusrIndxG(:); end mvalsDG= median(vv(medianIndxOdd,d)); %(nonzeros(vv(:,d))); nzPosIndxDG=find(mvalsDG==vv(:,d)); Exp(expN).Dexp(n).UsrMedianG(d)= mvalsDG; Exp(expN).Dexp(n).UsrminG(d)= minG; Exp(expN).Dexp(n).UsrmaxG(d)= maxG; Exp(expN).Dexp(n).UsrstdG(d)= usrStdG; Exp(expN).Dexp(n).UsrmeanG(d)= usrmeanG; %} %{ Exp(expN).Dexp(n).UsrCmpGL.dm(d).med= median(vv(medianIndxP,d)); %For Ref Composite 17_1026 Exp(expN).Dexp(n).UsrCmpGL.dm(d).mean= mean(vv(medianIndxP,d)); %For Ref Composite 17_1026 Exp(expN).Dexp(n).UsrCmpGL.dm(d).std= std(vv(medianIndxP,d)); %For Ref Composite 17_1026 Exp(expN).Dexp(n).UsrCmpGL.dm(d).min= min(vv(medianIndxP,d)); %For Ref Composite 17_1026 Exp(expN).Dexp(n).UsrCmpGL.dm(d).max= max(vv(medianIndxP,d)); %For Ref Composite 17_1026 Exp(expN).Dexp(n).UsrCmpGK.dm(d).med= median(vvK(medianIndxP,d)); %For Ref Composite 17_1026 Exp(expN).Dexp(n).UsrCmpGK.dm(d).mean= mean(vvK(medianIndxP,d)); %For Ref Composite 17_1026 Exp(expN).Dexp(n).UsrCmpGK.dm(d).std= std(vvK(medianIndxP,d)); %For Ref Composite 17_1026 Exp(expN).Dexp(n).UsrCmpGK.dm(d).min= min(vvK(medianIndxP,d)); %For Ref Composite 17_1026 Exp(expN).Dexp(n).UsrCmpGK.dm(d).max= max(vvK(medianIndxP,d)); %For Ref Composite 17_1026 Exp(expN).Dexp(n).UsrCmpGr.dm(d).med= median(vvr(medianIndxP,d)); %For Ref Composite 17_1026 Exp(expN).Dexp(n).UsrCmpGr.dm(d).mean= mean(vvr(medianIndxP,d)); %For Ref Composite 17_1026 Exp(expN).Dexp(n).UsrCmpGr.dm(d).std= std(vvr(medianIndxP,d)); %For Ref Composite 17_1026 Exp(expN).Dexp(n).UsrCmpGr.dm(d).min= min(vvr(medianIndxP,d)); %For Ref Composite 17_1026 Exp(expN).Dexp(n).UsrCmpGr.dm(d).max= max(vvr(medianIndxP,d)); %For Ref Composite 17_1026 %} %{ for mm=1:length(dMPs) % length(chgIndx) for d= selDM:selDM %1:(DMnum) medianIndxDisp=[]; NZrefIndxP=[]; nonZeroValsP=[]; medValLstDisp=[]; usrScNdisp=((dMPs(mm)-1)*DMnum)+(d); try % Determine the dispersed User Gene median mean and std if such exist NZrefIndxP= drfPindx((find(drfPindx(:,dMPs(mm)))),dMPs(mm)); medianIndxDisp= NZrefIndxP vv(chgIndx(mm):(chgIndx(mm+1)-1),d)=Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZrefIndxP,5); %For Global Ref Composite 17_1009 %************************************************************************** vvK(chgIndx(mm):(chgIndx(mm+1)-1),d)=Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZrefIndxP,3); vvr(chgIndx(mm):(chgIndx(mm+1)-1),d)=Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZrefIndxP,4); %***************************************************************************************************** %{ nonZeroValsP= nonzeros(Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZrefIndxP,5)); std1Disp= std(nonZeroValsP); mean1Disp= mean(nonZeroValsP); minDisp= min(nonZeroValsP); maxDisp= max(nonZeroValsP); drfVals=Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZrefIndxP,5); %nzValsAcc(mm).DM(d,:)= nonZeroValsP; %MEDIAN Determination for PLATES with Dispersed RFs %NZrefIndxP= NZrefIndxP %find(Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZrefIndxP,5)); if isempty(NZrefIndxP), nonZeroCntDisp=0, medianIndxDisp= NZrefIndxP; else nonZeroCntDisp=length(NZrefIndxP); end if ~isempty(NZrefIndxP) && mod(nonZeroCntDisp,2)==0, medianIndxDisp= NZrefIndxP(1:nonZeroCntDisp-1); end if ~isempty(NZrefIndxP) && mod(nonZeroCntDisp,2)~=0, medianIndxDisp= NZrefIndxP; end %} if ~isempty(NZrefIndxP) && length(medianIndxDisp) > 0 %(.15*384) %To calc. a median, more than 15% of spots must be nonZero medValLstDisp= Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(medianIndxDisp,5); mval1Disp=median(medValLstDisp); nzMedPosIndx=find(mval1Disp==nonZeroValsP); medianIndxP= NZrefIndxP(nzMedPosIndx); %UsrmdlocP(1)= ceil(medianIndxP/24); %calc r value %UsrmdlocP(2)= medianIndxP - ((UsrmdlocP(1)-1)*24); %calc c value meanKval= mean(nonzeros((Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZrefIndxP,3)))); meanrval= mean(nonzeros((Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZrefIndxP,4)))); else % Need to set L r K values to zeros or pick the first spot with zeros %Spot 1 could be other than zero as the median isn't calculated if fewer than some percent are nonzero medianCalcFailedD= 'To Few nonZero spots for valid median RF1 selection' firstZeroDindx= find(((Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZrefIndxP,5))==0),1,'first'); firstZeroD= drfPindx((firstZeroDindx),dMPs(mm)); %Exp(expN).Dexp(n).UsrmdPindx(d,dMPs(mm))=firstZeroD; %Exp(expN).Dexp(n).UsrmdPpltN(d,dMPs(mm))= dMPs(mm); %RF1mp; %Is this supposed to be the MP number or the ScanPlate number??? end %~isempty(NZrefIndxP) && length(medianIndxPisp) > 3 ln584 catch %try ln565 medianCalcTryFailed1D= 'Failed! Failed! {Dispersed RF1s}' try firstZeroindxD= find(vv((chgIndx(d):chgIndx(d+1)-1),5)==0,1,'first'); firstZeroPindx= uu(firstZeroindxD,4); catch end end %try ~ln565 end %for d=0:DMnum end %for mm=1:length(dMPs) %} %{ %Code Template taken from EZlstBoxCmpExt.m try %if RFcmpGFlg==0 smpSz= size(medianIndxP,1); K= median(vvK(medianIndxP,dmSel)); Ks= num2str(K); Kstd= std(vvK(medianIndxP,dmSel)); KstdStr= num2str(Kstd); r= median(vvr(medianIndxP,dmSel)); rs= num2str(r); rstd= std(vvr(medianIndxP,dmSel)); rstdStr= num2str(rstd); l= median(vv(medianIndxP,dmSel)); Ls= num2str(l); Lstd= std(vv(medianIndxP,dmSel)); LstdStr= num2str(Lstd); Kl= K - std(vvK(medianIndxP,dmSel)); %K - Exp(expN).Dexp(DexpN).RFcmpK(RFnum).dm(inDM).std; Ku= K + std(vvK(medianIndxP,dmSel)); %K + Exp(expN).Dexp(DexpN).RFcmpK(RFnum).dm(inDM).std; rl= r - std(vvr(medianIndxP,dmSel)); %r - Exp(expN).Dexp(DexpN).RFcmpr(RFnum).dm(inDM).std; ru= r + std(vvr(medianIndxP,dmSel)); %r + Exp(expN).Dexp(DexpN).RFcmpr(RFnum).dm(inDM).std; lfast= l - std(vv(medianIndxP,dmSel)); %l - Exp(expN).Dexp(DexpN).RFcmpL(RFnum).dm(inDM).std; lslow= l + std(vv(medianIndxP,dmSel)); %l + Exp(expN).Dexp(DexpN).RFcmpL(RFnum).dm(inDM).std; try Kstr=Ks(1:5); catch, Kstr=Ks(1:length(Ks)); end try rstr=rs(1:5); catch, rstr=rs(1:length(rs)); end try Lstr=Ls(1:5); catch, Lstr=Ls(1:length(Ls)); end t=1:200; clear g; try g= K ./ (1 + exp(-r.* (t - l ))); gSlow= Kl ./ (1 + exp(-rl.* (t - lslow ))); gFast= Ku ./ (1 + exp(-ru.* (t - lfast ))); if K==0||r==0||l==0, g(1:200)=1;gSlow(1:200)=1;gFast(1:200)=1;end %tser=(scan(1,plateNum).plate(1).t0Series(:)); %rawData= scan(1,plateNum).plate(1).intens(indx,:)/scan(1,plateNum).plate(1).Ag(indx); if zoneSel==1, plotAxes=ghandles.Paxes1; OLaxes=ghandles.OLaxes1; Dlaxes=ghandles.Dlaxes1;Dkaxes=ghandles.Dkaxes1;Draxes=ghandles.Draxes1; Exp(1).traceN=Exp(1).traceN+1; traceN=Exp(1).traceN; end if zoneSel==2, plotAxes=ghandles.Paxes2; OLaxes=ghandles.OLaxes2;Daxes=ghandles.Daxes2; Dlaxes=ghandles.Dlaxes2;Dkaxes=ghandles.Dkaxes2;Draxes=ghandles.Draxes2; Exp(2).traceN=Exp(2).traceN+1; traceN=Exp(2).traceN; end if zoneSel==3, plotAxes=ghandles.Paxes3; OLaxes=ghandles.OLaxes3;Daxes=ghandles.Daxes3; Dlaxes=ghandles.Dlaxes3;Dkaxes=ghandles.Dkaxes3;Draxes=ghandles.Draxes3; Exp(3).traceN=Exp(3).traceN+1; traceN=Exp(3).traceN; end plot(plotAxes,t,g);hold (plotAxes,'on'); %plot(plotAxes,tser,rawData,'g*'); plot(plotAxes,t,gSlow,'y'); plot(plotAxes,t,gFast,'r');hold (plotAxes,'off'); %************CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC************************************** %Store L R and K valves for Composite [C] plots Exp(expN).ll(traceN)= l; Exp(expN).rr(traceN)= r; Exp(expN).kk(traceN)= K; Exp(expN).lstd(traceN)= std(vv(medianIndxP,dmSel)); %Exp(expN).Dexp(DexpN).RFcmpL(RFnum).dm(inDM).std; Exp(expN).kstd(traceN)= std(vvK(medianIndxP,dmSel)); %Exp(expN).Dexp(DexpN).RFcmpK(RFnum).dm(inDM).std; Exp(expN).rstd(traceN)= std(vvr(medianIndxP,dmSel)); %Exp(expN).Dexp(DexpN).RFcmpr(RFnum).dm(inDM).std; Exp(expN).lslow(traceN)= lslow; Exp(expN).lfast(traceN)= lfast; Exp(expN).lKl(traceN)= Kl; Exp(expN).Ku(traceN)= Ku; Exp(expN).lrl(traceN)= rl; Exp(expN).Ku(traceN)= ru; %************************************************************************ try for i=1:length(Exp(zoneSel).hOL(:)),set(Exp(zoneSel).hOL(i),'color',[0 0 1]); end, catch; end Exp(zoneSel).hOL(traceN)=plot(OLaxes,t,g);hold on; set(Exp(zoneSel).hOL(traceN),'color',[1 0 0]) %Exp(zoneSel).hOLb(traceN)=plot(OLaxes,tser,rawData,'g*'); %No Raw Data, Ref Composite 17_1009 catch catchissue='Ln68 EZlstBoxCmpExt' end %trycatch %Get the DM agar description %if expN==1,DMstr=char(get(handles.DM1,'string'));end %if expN==2,DMstr=char(get(handles.DM2,'string'));end %if expN==3,DMstr=char(get(handles.DM3,'string'));end DMstr= num2str(dmSel); %spec=MP(1,LBmp).specifics{1,1}(indx); %orfrep=MP(1,plateNum).orfRep{1,1}(indx); %tPtStr=strcat('T=', num2str(scan(1,plateNum).plate(1).t0Series(tPtSel))); %graphStr= strcat(usrGnSp,'_','L=',Lstr,'_','Lstd=',LstdStr,'_','r=',rstr,'_','rstd=',rstdStr,'_','K=',Kstr,'Kstd=',KstdStr); graphStr= strcat(usrGnSp,'_','L=',Lstr,'_','Lstd=',LstdStr,'_','r=',rstr,'_','rstd=',rstdStr,'_','K=',Kstr,'Kstd=',KstdStr); spotDescrip=strcat(graphStr,'DMS->',DMstr); xp=char(Exp(zoneSel).Dexp(DexpN).resDir); if ispc, slashPos=strfind(char(Exp(zoneSel).Dexp(DexpN).resDir),'\'); else slashPos=strfind(char(Exp(zoneSel).Dexp(DexpN).resDir),'/'); end startPos=slashPos(length(slashPos)-1) +1; endPos=slashPos(length(slashPos)) -1 expStr= {xp(startPos:endPos)} Exp(zoneSel).hOLname(traceN)= usrGnSp; %spotDescrip; %graphStr; %ghandles.Exp(zoneSel).hOLname(traceN)= graphStr; Exp(zoneSel).hOLexpNm(traceN)= expStr; %ghandles.Exp(expN).hOLexpNm(traceN)= expStr; Exp(zoneSel).hOLresDir(traceN)= {Exp(zoneSel).Dexp(DexpN).resDir}; %Exp(zoneSel).hOLplateNum(traceN)= plateNum; %traceData= vertcat(get(Exp(OLay).hOL(traceN),'XData'),get(ghandles.Exp(OLay).hOL(traceN),'YData')); %if zoneSel==1,set(ghandles.GeneOrfLoc1,'string',geneOrfstr);end % Displays the value. %if zoneSel==2,set(ghandles.GeneOrfLoc2,'string',geneOrfstr);end %if zoneSel==3,set(ghandles.GeneOrfLoc3,'string',geneOrfstr);end %if zoneSel==1,set(ghandles.graphStrLoc1,'string',spotDescrip);end %graphStr);end % Displays the value. %if zoneSel==2,set(ghandles.graphStrLoc2,'string',spotDescrip);end %graphStr);end %if zoneSel==3,set(ghandles.graphStrLoc3,'string',spotDescrip);end %graphStr);end catch catchissue='Ln33 EZlstBoxCmpExt' msg='Error' end % trycatch zoneSel<4 datatip selection from Image (not from an OverLay Plot) %**************Write Spot and Exp Info to OLay title areas**************************************************************************** if zoneSel==1, %&& get(ghandles.rotPB1,'value')~=1 if length(char(Exp(zoneSel).hOLname(traceN)))>40,set(ghandles.OLay1,'FontSize',8);end set(ghandles.OLay1,'string', Exp(zoneSel).hOLname(traceN)); if length(char(Exp(zoneSel).hOLexpNm(traceN)))>40,set(ghandles.OLexp1,'FontSize',8);end set(ghandles.OLexp1,'string',Exp(zoneSel).hOLexpNm(traceN)); end if zoneSel==2 %&& get(ghandles.rotPB2,'value') ~=1 if length(char(Exp(zoneSel).hOLname(traceN)))>40,set(ghandles.OLay2,'FontSize',8);end set(ghandles.OLay2,'string', Exp(zoneSel).hOLname(traceN)); if length(char(Exp(zoneSel).hOLexpNm(traceN)))>40,set(ghandles.OLexp2,'FontSize',8);end set(ghandles.OLexp2,'string',Exp(zoneSel).hOLexpNm(traceN)); end if zoneSel==3 %&& get(ghandles.rotPB3,'value') ~=1 if length(char(Exp(zoneSel).hOLname(traceN)))>40,set(ghandles.OLay3,'FontSize',8);end set(ghandles.OLay3,'string', Exp(OLay).hOLname(traceN)); if length(char(Exp(zoneSel).hOLexpNm(traceN)))>40,set(ghandles.OLexp3,'FontSize',8);end set(ghandles.OLexp3,'string',Exp(OLay).hOLexpNm(traceN)); end %} %********************************************************************** %{ %elseif RFcmpGFlg==1 K= Exp(expN).Dexp(DexpN).RFcmpGK.dm(inDM).med; Ks= num2str(K); r= Exp(expN).Dexp(DexpN).RFcmpGr.dm(inDM).med; rs= num2str(r); l= Exp(expN).Dexp(DexpN).RFcmpGL.dm(inDM).med; Ls= num2str(l); Kl= K - Exp(expN).Dexp(DexpN).RFcmpGK.dm(inDM).std; Ku= K + Exp(expN).Dexp(DexpN).RFcmpGK.dm(inDM).std; rl= r - Exp(expN).Dexp(DexpN).RFcmpGr.dm(inDM).std; ru= r + Exp(expN).Dexp(DexpN).RFcmpGr.dm(inDM).std; lfast= l - Exp(expN).Dexp(DexpN).RFcmpGL.dm(inDM).std; lslow= l + Exp(expN).Dexp(DexpN).RFcmpGL.dm(inDM).std; end %} %Exp(expN).Dexp(n).UsrmdPindx= []; %Exp(expN).Dexp(n).UsrmdPpltN= []; %Exp(expN).Dexp(n).UsrmdPscanN= []; %Exp(expN).Dexp(n).UsrMedianP= []; %Exp(expN).Dexp(n).stdP= []; %Exp(expN).Dexp(n).meanP= []; %Exp(expN).Dexp(n).minP= []; %Exp(expN).Dexp(n).maxP= []; %Exp(expN).Dexp(n).RFmdGLB= {[]}; %Exp(expN).Dexp(n).RFmdGindx= []; %Exp(expN).Dexp(n).RFmdGpltN= []; %Exp(expN).Dexp(n).RFmdGscanN= []; %UsrmdDGloc(d,1)= uu(nzPosIndxDG,1); %MP of distributedGlobal Median value %UsrmdDGloc(d,2)= uu(nzPosIndxDG,2); %calc r value %UsrmdDGloc(d,3)= uu(nzPosIndxDG,3); %calc c value %lstindx=lstindx+1; %lstindxOrf= lstindxOrf+1; %{ usrGLbl= strcat(usrGnSp,'UmdG('); %accomodate User Ref Selection aa(lstindx,1)= strcat(usrGLbl,num2str(d),')'); %remove string2cell brackets {...} aa(lstindx,2)= {strcat(':',num2str(UsrmdDGloc(d,1)),':',num2str(UsrmdDGloc(d,2)),':',num2str(UsrmdDGloc(d,3)))}; %,'std_',num2str(std2))}; bb(lstindxOrf,1)= strcat(usrGLbl,num2str(d),')'); %remove string2cell brackets {...} bb(lstindxOrf,2)= {strcat(':',num2str(UsrmdDGloc(d,1)),':',num2str(UsrmdDGloc(d,2)),':',num2str(UsrmdDGloc(d,3)))}; %,'std_',num2str(std2))}; %Composite Reference Amalgum Plot ****************** lstindx=lstindx+1; lstindxOrf= lstindxOrf+1; aa(lstindx,1)= strcat(usrGnSp,'UcmpG(',num2str(d),')'); aa(lstindx,2)={''}; bb(lstindxOrf,1)= strcat(usrGnSp,'UcmpG(',num2str(d),')'); bb(lstindxOrf,2)={''}; %***************************************************** %} %{ lstindx=lstindx+1; lstindxOrf= lstindxOrf+1; usrPLbl= strcat(usrGnSp,'UmdP('); %accomodate User Ref Selection aa(lstindx,1)= strcat(usrPLbl,num2str(d),')'); aa(lstindx,2)= {strcat(':',num2str(dMPs(mm)),':',num2str(UsrmdlocP(1)),':',num2str(UsrmdlocP(2)))}; bb(lstindxOrf,1)= strcat(usrPLbl,num2str(d),')'); %remove string2cell brackets {...} bb(lstindxOrf,2)={strcat(':',num2str(dMPs(mm)),':',num2str(UsrmdlocP(1)),':',num2str(UsrmdlocP(2)))}; Exp(expN).Dexp(n).UsrmdPLB(d,dMPs(mm))= strcat(aa(lstindx,1),aa(lstindx,2)); Exp(expN).Dexp(n).UsrmdPindx(d,dMPs(mm))= medianIndxP; Exp(expN).Dexp(n).UsrmdPpltN(d,dMPs(mm))= dMPs(mm); %This is a storage of the MasterPlate used NOT the ScanPlate? WeMight wish to store the ScanPlateNumber also??? Exp(expN).Dexp(n).UsrmdPscanN(d,dMPs(mm))=usrScNdisp; Exp(expN).Dexp(n).UsrMedianP(d,dMPs(mm))= mval1Disp; Exp(expN).Dexp(n).stdP(d,dMPs(mm))= std1Disp; Exp(expN).Dexp(n).meanP(d,dMPs(mm))= mean1Disp; Exp(expN).Dexp(n).minP(d,dMPs(mm))= minDisp; Exp(expN).Dexp(n).maxP(d,dMPs(mm))= maxDisp; Exp(expN).Dexp(n).UsrCmpPL.dm(d).med= mval1Disp; %For Ref Composite 17_1026 Exp(expN).Dexp(n).UsrCmpPL.dm(d).mean= mean1Disp; %For Ref Composite 17_1026 Exp(expN).Dexp(n).UsrCmpPL.dm(d).std= std1Disp; %For Ref Composite 17_1026 Exp(expN).Dexp(n).UsrCmpPL.dm(d).min= minDisp; %For Ref Composite 17_1026 Exp(expN).Dexp(n).UsrCmpPL.dm(d).max= maxDisp; %For Ref Composite 17_1026 Exp(expN).Dexp(n).UsrCmpPK.dm(d).med= median(nonzeros((Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZrefIndxP,3)))); %For Ref Composite 17_1026 Exp(expN).Dexp(n).UsrCmpPK.dm(d).mean= mean(nonzeros((Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZrefIndxP,3)))); %For Ref Composite 17_1026 Exp(expN).Dexp(n).UsrCmpPK.dm(d).std= std(nonzeros((Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZrefIndxP,3)))); %For Ref Composite 17_1026 Exp(expN).Dexp(n).UsrCmpPK.dm(d).min= min(nonzeros((Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZrefIndxP,3)))); %For Ref Composite 17_1026 Exp(expN).Dexp(n).UsrCmpPK.dm(d).max= max(nonzeros((Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZrefIndxP,3)))); %For Ref Composite 17_1026 Exp(expN).Dexp(n).UsrCmpPr.dm(d).med= median(nonzeros((Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZrefIndxP,4)))); %For Ref Composite 17_1026 Exp(expN).Dexp(n).UsrCmpPr.dm(d).mean= mean(nonzeros((Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZrefIndxP,4)))); %For Ref Composite 17_1026 Exp(expN).Dexp(n).UsrCmpPr.dm(d).std= std(nonzeros((Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZrefIndxP,4)))); %For Ref Composite 17_1026 Exp(expN).Dexp(n).UsrCmpPr.dm(d).min= min(nonzeros((Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZrefIndxP,4)))); %For Ref Composite 17_1026 Exp(expN).Dexp(n).UsrCmpPr.dm(d).max= max(nonzeros((Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZrefIndxP,4)))); %For Ref Composite 17_1026 %} %Exp(expN).Dexp(n).UsrmdGindx(d)= nzPosIndxDG; %Exp(expN).Dexp(n).UsrmdGpltN(d)= UsrmdDGloc(d,1); %Exp(expN).Dexp(n).UsrmdGscanN(d)= uu(nzPosIndxDG,4); %{ try firstZeroindxD= find(vv((chgIndx(d):chgIndx(d+1)-1),5)==0,1,'first'); firstZeroPindx= uu(firstZeroindxD,4); %Exp(expN).Dexp(n).UsrmdPpltN(d,dMPs(mm))= dMPs(mm); %Exp(expN).Dexp(n).UsrmdPindx(d,dMPs(mm))=firstZeroPindx; catch catchissue='try at Ln565' %Exp(expN).Dexp(n).UsrmdPpltN(d,dMPs(mm))= dMPs(mm); %Exp(expN).Dexp(n).UsrmdPindx(d,dMPs(mm))=384; %if crapout,Then use spot384 as default to keep going end try % Exp(expN).Dexp(n).UsrmdPpltN= dMPs(mm); catch catchissue='Ln619' %Exp(expN).Dexp(n).UsrmdPpltN= 1; %This might keep from breaking BUT ??? end error='EZexpSel lineAfter 565' end %try ~ln565 %}