From 019fb07f79f15b08196056ab8e5b138749e44d86 Mon Sep 17 00:00:00 2001 From: Bryan Roessler Date: Wed, 31 Jul 2024 00:36:40 -0400 Subject: [PATCH] Complete EZview reformatting --- workflow/apps/matlab/easy/EASYconsole.m | 1 - workflow/apps/matlab/ezview/EZRFs4DayComp.m | 254 ++- workflow/apps/matlab/ezview/EZVimDisplay.m | 368 ++- workflow/apps/matlab/ezview/EZcompositePlot.m | 189 +- workflow/apps/matlab/ezview/EZdestComp.m | 1125 +++++----- workflow/apps/matlab/ezview/EZdiagRFsSheet.m | 2 +- .../matlab/ezview/EZdiagRFsSheetwImport.m | 54 +- workflow/apps/matlab/ezview/EZexpSel.m | 1964 ++++++++--------- workflow/apps/matlab/ezview/EZfigTrendOL.m | 1065 +++++---- workflow/apps/matlab/ezview/EZhtMap.m | 736 +++--- workflow/apps/matlab/ezview/EZhtMapText.m | 127 +- workflow/apps/matlab/ezview/EZintPrint.m | 100 +- workflow/apps/matlab/ezview/EZintRFs.m | 158 +- workflow/apps/matlab/ezview/EZlstBoxCmpExt.m | 395 ++-- workflow/apps/matlab/ezview/EZlstBoxExt.m | 534 +++-- workflow/apps/matlab/ezview/EZmDayPlotUcmp.m | 453 ++-- .../apps/matlab/ezview/EZmDayPlotUcomposite.m | 811 +++---- workflow/apps/matlab/ezview/EZmDayTrend.m | 984 ++++----- workflow/apps/matlab/ezview/EZmultiDay.m | 12 +- workflow/apps/matlab/ezview/EZmultiDayExp.m | 104 +- workflow/apps/matlab/ezview/EZmultiDayGui.m | 4 +- workflow/apps/matlab/ezview/EZmultiExLoad.m | 531 +++-- .../apps/matlab/ezview/EZmultiGeneRFsLst.m | 1200 +++++----- .../apps/matlab/ezview/EZsingleExUserRF.m | 148 +- workflow/apps/matlab/ezview/EZspotview.m | 393 ++-- workflow/apps/matlab/ezview/EZusrSelRefx.m | 366 ++- workflow/apps/matlab/ezview/EZvDatatip.m | 1048 +++++---- workflow/apps/matlab/ezview/EZvFigPrint.m | 249 +-- workflow/apps/matlab/ezview/EZvImagesOnly.m | 28 +- workflow/apps/matlab/ezview/EZvInitLoad.m | 1544 ++++++------- workflow/apps/matlab/ezview/EZvNIcircle.m | 54 +- workflow/apps/matlab/ezview/EZvTrendPrint.m | 232 +- workflow/apps/matlab/ezview/EZvapendLabel.m | 2 +- workflow/apps/matlab/ezview/EZviewGui.m | 254 +-- workflow/apps/matlab/ezview/EZviewInfoBox.m | 42 +- workflow/apps/matlab/ezview/questdlgJWR.m | 539 ++--- 36 files changed, 7526 insertions(+), 8544 deletions(-) diff --git a/workflow/apps/matlab/easy/EASYconsole.m b/workflow/apps/matlab/easy/EASYconsole.m index 902fd15f..d07d84c7 100644 --- a/workflow/apps/matlab/easy/EASYconsole.m +++ b/workflow/apps/matlab/easy/EASYconsole.m @@ -40,7 +40,6 @@ function varargout = EASYconsole(varargin) fprintf('This script name: %s\n', easyFileName); % Set scansDir (project scans directory) intelligently - if exist('PROJECT_SCANS_DIR', 'var') && ~isempty(getenv('PROJECT_SCANS_DIR')) scansDir=fullfile(getenv('PROJECT_SCANS_DIR')); if exist(scansDir, 'dir') diff --git a/workflow/apps/matlab/ezview/EZRFs4DayComp.m b/workflow/apps/matlab/ezview/EZRFs4DayComp.m index 31f0de6c..47fc27e0 100755 --- a/workflow/apps/matlab/ezview/EZRFs4DayComp.m +++ b/workflow/apps/matlab/ezview/EZRFs4DayComp.m @@ -1,137 +1,133 @@ -%EZRFs4DayComp Called by EZmDayComp.m -%For this multiDay Exp series the actual perturbation being studied is -%Aging as related in the time series experiment i.e.,(nn) or DexpN -%That is holding the DrugMedia pert constant(at the DM slider number) and plotting -RFconfig= Exp(zoneSel).Dexp(DexpN).RFconfig; -RFsel= Exp(zoneSel).htmapRFanswer; -j= pertSel; m= MPsel; +% EZRFs4DayComp Called by EZmDayComp.m +% For this multiDay Exp series the actual perturbation being studied is +% Aging as related in the time series experiment i.e.,(nn) or DexpN +% That is holding the DrugMedia pert constant(at the DM slider number) and plotting +RFconfig=Exp(zoneSel).Dexp(DexpN).RFconfig; +RFsel=Exp(zoneSel).htmapRFanswer; +j=pertSel; m=MPsel; if RFconfig==1 - - try - RF1mdIndx(nn)=Exp(zoneSel).Dexp(nn).RFmd1indx(pertSel); - RF1mdPltN(nn)=Exp(zoneSel).Dexp(nn).RFmd1pltN; %This is the MP number for RF1 - RFmdVal(nn)=Exp(zoneSel).Dexp(nn).RFmd1val(pertSel); - catch, end - try - RF2mdIndx(nn)=Exp(zoneSel).Dexp(nn).RFmd2indx(pertSel); - RF2mdPltN(nn)=Exp(zoneSel).Dexp(nn).RFmd2pltN; - %special case for 'RFmd2val' See Calc. at EZmDayComp ~ln139 - catch, end - try Rn(nn)=Exp(expN).Dexp(nn).RFmean(pertSel); catch, Rn(nn)=0; end - try Rs(nn)=Exp(expN).Dexp(nn).RFstd(pertSel); catch, Rs(nn)=0; end + try + RF1mdIndx(nn)=Exp(zoneSel).Dexp(nn).RFmd1indx(pertSel); + RF1mdPltN(nn)=Exp(zoneSel).Dexp(nn).RFmd1pltN; %This is the MP number for RF1 + RFmdVal(nn)=Exp(zoneSel).Dexp(nn).RFmd1val(pertSel); + catch, end + try + RF2mdIndx(nn)=Exp(zoneSel).Dexp(nn).RFmd2indx(pertSel); + RF2mdPltN(nn)=Exp(zoneSel).Dexp(nn).RFmd2pltN; + % special case for 'RFmd2val' See Calc. at EZmDayComp ~ln139 + catch, end + try Rn(nn)=Exp(expN).Dexp(nn).RFmean(pertSel); catch, Rn(nn)=0; end + try Rs(nn)=Exp(expN).Dexp(nn).RFstd(pertSel); catch, Rs(nn)=0; end end - if RFconfig==2 - ctrlRF= RFsel{1}; - j=pertSel; m=MPsel; - switch ctrlRF - case {'G','g'} - %Set to (nn) day as these median values are being plotted directly - RFmdIndx(nn)= Exp(zoneSel).Dexp(nn).RFmdGindx(pertSel); - RFmdPltN(nn)= Exp(zoneSel).Dexp(nn).RFmdGpltN(pertSel); %G could have a different MP for each DM;At any rate it is stored for each DM regardless. - RFmdVal(nn)= Exp(zoneSel).Dexp(nn).RFmedianG(pertSel); - %Set mean values to Day 1 as these are used in Interaction Calc. - %as the first reference ctrlRF 'Aging Perturbation' - Rn(nn)= Exp(expN).Dexp(nn).RFmeanG(pertSel); - Rs(nn)= Exp(expN).Dexp(nn).RFstdG(pertSel); - case {'L','l'} - %Set to (nn) day as these median values are being plotted directly - RFmdVal(nn)= Exp(zoneSel).Dexp(nn).RFmedianP(pertSel); - %Set mean values to Day 1 as these are used in Interaction Calc. - %as the first reference ctrlRF 'Aging Perturbation' - if Exp(expN).Dexp(nn).meanP(j,m)~=0 - Rn(nn)= Exp(expN).Dexp(nn).meanP(j,m); - Rs(nn)= Exp(expN).Dexp(nn).stdP(j,m); - elseif Exp(expN).Dexp(nn).meanP(j,m)==0||isempty(Exp(expN).Dexp(nn).meanP(j,m)) &&... - strcmpi(ctrlRF,'G') - Rn(nn)= Exp(expN).Dexp(nn).RFmeanG(pertSel); - Rs(nn)= Exp(expN).Dexp(nn).RFstdG(pertSel); - end - end - pertRF= RFsel{2}; %These results are only used for N2 future Interaction Calc. - %nn is ordered number of the selected chronological day Experiment - %In the chronological study, Age (day sequence results) is the - %'Perturbation' of interest instead of DrugMedia concentration. - switch pertRF - case {'G','g'} - Rn(nn)= Exp(expN).Dexp(nn).RFmeanG(pertSel); - Rs(nn)= Exp(expN).Dexp(nn).RFstdG(pertSel); - case {'L','l'} - j= pertSel; m= MPsel; - if Exp(expN).Dexp(nn).meanP(j,m)~=0 - Rn(nn)= Exp(expN).Dexp(nn).meanP(j,m); - Rs(nn)= Exp(expN).Dexp(nn).stdP(j,m); - elseif Exp(expN).Dexp(nn).meanP(j,m)==0||isempty(Exp(expN).Dexp(nn).meanP(j,m)) &&... - strcmpi(ctrlRF,'G') - Rn(nn)= Exp(expN).Dexp(nn).RFmeanG(j); - Rs(nn)= Exp(expN).Dexp(nn).RFstdG(j); - end - end + ctrlRF=RFsel{1}; + j=pertSel; m=MPsel; + switch ctrlRF + case {'G','g'} + % Set to (nn) day as these median values are being plotted directly + RFmdIndx(nn)=Exp(zoneSel).Dexp(nn).RFmdGindx(pertSel); + RFmdPltN(nn)=Exp(zoneSel).Dexp(nn).RFmdGpltN(pertSel); %G could have a different MP for each DM;At any rate it is stored for each DM regardless. + RFmdVal(nn)=Exp(zoneSel).Dexp(nn).RFmedianG(pertSel); + % Set mean values to Day 1 as these are used in Interaction Calc. + % as the first reference ctrlRF 'Aging Perturbation' + Rn(nn)=Exp(expN).Dexp(nn).RFmeanG(pertSel); + Rs(nn)=Exp(expN).Dexp(nn).RFstdG(pertSel); + case {'L','l'} + % Set to (nn) day as these median values are being plotted directly + RFmdVal(nn)=Exp(zoneSel).Dexp(nn).RFmedianP(pertSel); + % Set mean values to Day 1 as these are used in Interaction Calc. + % as the first reference ctrlRF 'Aging Perturbation' + if Exp(expN).Dexp(nn).meanP(j,m)~=0 + Rn(nn)=Exp(expN).Dexp(nn).meanP(j,m); + Rs(nn)=Exp(expN).Dexp(nn).stdP(j,m); + elseif Exp(expN).Dexp(nn).meanP(j,m)==0||isempty(Exp(expN).Dexp(nn).meanP(j,m)) ... + && strcmpi(ctrlRF,'G') + Rn(nn)=Exp(expN).Dexp(nn).RFmeanG(pertSel); + Rs(nn)=Exp(expN).Dexp(nn).RFstdG(pertSel); + end + end + pertRF=RFsel{2}; % These results are only used for N2 future Interaction Calc. + % nn is ordered number of the selected chronological day Experiment + % In the chronological study, Age (day sequence results) is the + % 'Perturbation' of interest instead of DrugMedia concentration. + switch pertRF + case {'G','g'} + Rn(nn)=Exp(expN).Dexp(nn).RFmeanG(pertSel); + Rs(nn)=Exp(expN).Dexp(nn).RFstdG(pertSel); + case {'L','l'} + j=pertSel; m=MPsel; + if Exp(expN).Dexp(nn).meanP(j,m)~=0 + Rn(nn)=Exp(expN).Dexp(nn).meanP(j,m); + Rs(nn)=Exp(expN).Dexp(nn).stdP(j,m); + elseif Exp(expN).Dexp(nn).meanP(j,m)==0||isempty(Exp(expN).Dexp(nn).meanP(j,m)) ... + && strcmpi(ctrlRF,'G') + Rn(nn)=Exp(expN).Dexp(nn).RFmeanG(j); + Rs(nn)=Exp(expN).Dexp(nn).RFstdG(j); + end + end end - - if RFconfig==3 - j= pertSel; m= MPsel; - ctrlRF= RFsel{1}; + j=pertSel; m=MPsel; + ctrlRF=RFsel{1}; switch ctrlRF - case {'F','f'} - try - RF1mdIndx(nn)=Exp(zoneSel).Dexp(nn).RFmd1indx(pertSel); - RF1mdPltN(nn)=Exp(zoneSel).Dexp(nn).RFmd1pltN; - RFmdVal(nn)=Exp(zoneSel).Dexp(nn).RFmd1val(pertSel); - catch, end - try - RF2mdIndx(nn)=Exp(zoneSel).Dexp(nn).RFmd2indx(pertSel); - RF2mdPltN(nn)=Exp(zoneSel).Dexp(nn).RFmd2pltN(pertSel); - %special case for 'RFmd2val' See Calc. at EZmDayComp ~ln139 - catch, end - try Rn(nn)=Exp(expN).Dexp(nn).RFmean; catch, Rn(nn)=0; end - try Rs(nn)=Exp(expN).Dexp(nn).RFstd; catch, Rs(nn)=0; end - Rn(nn)= Exp(expN).Dexp(nn).RFmean(nn); - Rs(nn)= Exp(expN).Dexp(nn).RFstd(nn); - case {'G','g'} - Rn(nn)= Exp(expN).Dexp(nn).RFmeanG(nn); - Rs(nn)= Exp(expN).Dexp(nn).RFstdG(nn); - case {'L','l'} - Rn(nn)= Exp(expN).Dexp(nn).meanP(j,m); - Rs(nn)= Exp(expN).Dexp(nn).stdP(j,m); - if Exp(expN).Dexp(nn).meanP(j,m)~=0, - Rn(nn)= Exp(expN).Dexp(nn).meanP(j,m); - Rs(nn)= Exp(expN).Dexp(nn).stdP(j,m); - elseif Exp(expN).Dexp(nn).meanP(j,m)==0 && strcmpi(ctrlRF,'G') - Rn(nn)= Exp(expN).Dexp(nn).RFmeanG(j); - Rs(nn)= Exp(expN).Dexp(nn).RFstdG(j); - elseif Exp(expN).Dexp(nn).meanP(j,m)==0 && strcmpi(ctrlRF,'F') - Rn(nn)= Exp(expN).Dexp(nn).RFmean(j); - Rs(nn)= Exp(expN).Dexp(nn).RFstd(j); - elseif Exp(expN).Dexp(nn).meanP(1,m)==0 && strcmpi(ctrlRF,'L') - Rn(nn)= Exp(expN).Dexp(nn).RFmeanG(1); - Rs(nn)= Exp(expN).Dexp(nn).RFstdG(1); - end - end - pertRF= RFsel{2}; - switch pertRF - case {'F','f'} - Rn(nn)= Exp(expN).Dexp(nn).RFmean(pertSel); - Rs(nn)= Exp(expN).Dexp(nn).RFstd(pertSel); - case {'G','g'} - Rn(nn)= Exp(expN).Dexp(nn).RFmeanG(pertSel); - Rs(nn)= Exp(expN).Dexp(nn).RFstdG(pertSel); - case {'L','l'} - if Exp(expN).Dexp(nn).meanP(j,m)~=0, - Rn(nn)= Exp(expN).Dexp(nn).meanP(j,m); - Rs(nn)= Exp(expN).Dexp(nn).stdP(j,m); - elseif Exp(expN).Dexp(nn).meanP(j,m)==0 && strcmpi(ctrlRF,'G') - Rn(nn)= Exp(expN).Dexp(nn).RFmeanG(j); - Rs(nn)= Exp(expN).Dexp(nn).RFstdG(j); - elseif Exp(expN).Dexp(nn).meanP(j,m)==0 && strcmpi(ctrlRF,'F') - Rn(nn)= Exp(expN).Dexp(nn).RFmean(j); - Rs(nn)= Exp(expN).Dexp(nn).RFstd(j); - elseif Exp(expN).Dexp(nn).meanP(j,m)==0 && strcmpi(ctrlRF,'L') - Rn(nn)= Exp(expN).Dexp(nn).RFmeanG(j); - Rs(nn)= Exp(expN).Dexp(nn).RFstdG(j); - end - end -end \ No newline at end of file + case {'F','f'} + try + RF1mdIndx(nn)=Exp(zoneSel).Dexp(nn).RFmd1indx(pertSel); + RF1mdPltN(nn)=Exp(zoneSel).Dexp(nn).RFmd1pltN; + RFmdVal(nn)=Exp(zoneSel).Dexp(nn).RFmd1val(pertSel); + catch, end + try + RF2mdIndx(nn)=Exp(zoneSel).Dexp(nn).RFmd2indx(pertSel); + RF2mdPltN(nn)=Exp(zoneSel).Dexp(nn).RFmd2pltN(pertSel); + %special case for 'RFmd2val' See Calc. at EZmDayComp ~ln139 + catch, end + try Rn(nn)=Exp(expN).Dexp(nn).RFmean; catch, Rn(nn)=0; end + try Rs(nn)=Exp(expN).Dexp(nn).RFstd; catch, Rs(nn)=0; end + Rn(nn)=Exp(expN).Dexp(nn).RFmean(nn); + Rs(nn)=Exp(expN).Dexp(nn).RFstd(nn); + case {'G','g'} + Rn(nn)=Exp(expN).Dexp(nn).RFmeanG(nn); + Rs(nn)=Exp(expN).Dexp(nn).RFstdG(nn); + case {'L','l'} + Rn(nn)=Exp(expN).Dexp(nn).meanP(j,m); + Rs(nn)=Exp(expN).Dexp(nn).stdP(j,m); + if Exp(expN).Dexp(nn).meanP(j,m)~=0 + Rn(nn)=Exp(expN).Dexp(nn).meanP(j,m); + Rs(nn)=Exp(expN).Dexp(nn).stdP(j,m); + elseif Exp(expN).Dexp(nn).meanP(j,m)==0 && strcmpi(ctrlRF,'G') + Rn(nn)=Exp(expN).Dexp(nn).RFmeanG(j); + Rs(nn)=Exp(expN).Dexp(nn).RFstdG(j); + elseif Exp(expN).Dexp(nn).meanP(j,m)==0 && strcmpi(ctrlRF,'F') + Rn(nn)=Exp(expN).Dexp(nn).RFmean(j); + Rs(nn)=Exp(expN).Dexp(nn).RFstd(j); + elseif Exp(expN).Dexp(nn).meanP(1,m)==0 && strcmpi(ctrlRF,'L') + Rn(nn)=Exp(expN).Dexp(nn).RFmeanG(1); + Rs(nn)=Exp(expN).Dexp(nn).RFstdG(1); + end + end + pertRF=RFsel{2}; + switch pertRF + case {'F','f'} + Rn(nn)=Exp(expN).Dexp(nn).RFmean(pertSel); + Rs(nn)=Exp(expN).Dexp(nn).RFstd(pertSel); + case {'G','g'} + Rn(nn)=Exp(expN).Dexp(nn).RFmeanG(pertSel); + Rs(nn)=Exp(expN).Dexp(nn).RFstdG(pertSel); + case {'L','l'} + if Exp(expN).Dexp(nn).meanP(j,m)~=0, + Rn(nn)=Exp(expN).Dexp(nn).meanP(j,m); + Rs(nn)=Exp(expN).Dexp(nn).stdP(j,m); + elseif Exp(expN).Dexp(nn).meanP(j,m)==0 && strcmpi(ctrlRF,'G') + Rn(nn)=Exp(expN).Dexp(nn).RFmeanG(j); + Rs(nn)=Exp(expN).Dexp(nn).RFstdG(j); + elseif Exp(expN).Dexp(nn).meanP(j,m)==0 && strcmpi(ctrlRF,'F') + Rn(nn)=Exp(expN).Dexp(nn).RFmean(j); + Rs(nn)=Exp(expN).Dexp(nn).RFstd(j); + elseif Exp(expN).Dexp(nn).meanP(j,m)==0 && strcmpi(ctrlRF,'L') + Rn(nn)=Exp(expN).Dexp(nn).RFmeanG(j); + Rs(nn)=Exp(expN).Dexp(nn).RFstdG(j); + end + end +end diff --git a/workflow/apps/matlab/ezview/EZVimDisplay.m b/workflow/apps/matlab/ezview/EZVimDisplay.m index 999d2363..f0fc9042 100755 --- a/workflow/apps/matlab/ezview/EZVimDisplay.m +++ b/workflow/apps/matlab/ezview/EZVimDisplay.m @@ -1,203 +1,187 @@ -%ImageDisplay +% ImageDisplay global Exp global ghandles global zonePB prntHt=0; -%Test for Bad MP cell array (usually 384 [NaN}'s) -%replaced length(Exp(expN).Dexp(1).MP) with MPnum - for mx=1:length(Exp(expN).Dexp(1).MP) - try - char((Exp(expN).Dexp(1).MP(mx).genename{1}(384))) +% Test for Bad MP cell array (usually 384 [NaN}'s) +% replaced length(Exp(expN).Dexp(1).MP) with MPnum +for mx=1:length(Exp(expN).Dexp(1).MP) + try + char((Exp(expN).Dexp(1).MP(mx).genename{1}(384))) MPnum=mx; - catch - break - end - end -%************************************************* + catch + break + end +end - if expN==1,DexpN= (get(handles.DN1,'value')); end - if expN==2,DexpN= (get(handles.DN2,'value')); end - if expN==3,DexpN= (get(handles.DN3,'value')); end - Exp(expN).DexpN=DexpN; -if strcmp(Exp(expN).DexpType,'single'), - DexpN=1; +if expN==1,DexpN=(get(handles.DN1,'value')); end +if expN==2,DexpN=(get(handles.DN2,'value')); end +if expN==3,DexpN=(get(handles.DN3,'value')); end +Exp(expN).DexpN=DexpN; +if strcmp(Exp(expN).DexpType,'single') + DexpN=1; elseif ~strcmp(Exp(expN).DexpType,'single') if expN==1 - - set(handles.MPsldr1,'min',1,'max',MPnum) - DMnum= length(Exp(expN).Dexp(DexpN).DM.drug); - set(handles.DMsldr1,'min',1,'max',DMnum) - tPtsSize=size(Exp(expN).Dexp(DexpN).FexpScanBMtp{1,1},(3)); - set(handles.Tptsldr1,'min',1,'max',tPtsSize) + set(handles.MPsldr1,'min',1,'max',MPnum) + DMnum=length(Exp(expN).Dexp(DexpN).DM.drug); + set(handles.DMsldr1,'min',1,'max',DMnum) + tPtsSize=size(Exp(expN).Dexp(DexpN).FexpScanBMtp{1,1},(3)); + set(handles.Tptsldr1,'min',1,'max',tPtsSize) end if expN==2 - - set(handles.MPsldr2,'min',1,'max',MPnum) - DMnum= length(Exp(expN).Dexp(DexpN).DM.drug); - set(handles.DMsldr2,'min',1,'max',DMnum) - tPtsSize=size(Exp(expN).Dexp(DexpN).FexpScanBMtp{1,1},(3)); - set(handles.Tptsldr2,'min',1,'max',tPtsSize) + set(handles.MPsldr2,'min',1,'max',MPnum) + DMnum=length(Exp(expN).Dexp(DexpN).DM.drug); + set(handles.DMsldr2,'min',1,'max',DMnum) + tPtsSize=size(Exp(expN).Dexp(DexpN).FexpScanBMtp{1,1},(3)); + set(handles.Tptsldr2,'min',1,'max',tPtsSize) end if expN==3 - - set(handles.MPsldr3,'min',1,'max',MPnum) - DMnum= length(Exp(expN).Dexp(DexpN).DM.drug); - set(handles.DMsldr3,'min',1,'max',DMnum) - tPtsSize=size(Exp(expN).Dexp(DexpN).FexpScanBMtp{1,1},(3)); - set(handles.Tptsldr3,'min',1,'max',tPtsSize) + set(handles.MPsldr3,'min',1,'max',MPnum) + DMnum=length(Exp(expN).Dexp(DexpN).DM.drug); + set(handles.DMsldr3,'min',1,'max',DMnum) + tPtsSize=size(Exp(expN).Dexp(DexpN).FexpScanBMtp{1,1},(3)); + set(handles.Tptsldr3,'min',1,'max',tPtsSize) end end ghandles=handles; - scan=Exp(expN).Dexp(DexpN).scan; - destPerMP= length(Exp(expN).Dexp(DexpN).DM.drug); +scan=Exp(expN).Dexp(DexpN).scan; +destPerMP=length(Exp(expN).Dexp(DexpN).DM.drug); - if expN==1,MPsel=floor(get(handles.MPsldr1,'value')); end - if expN==2,MPsel=floor(get(handles.MPsldr2,'value')); end - if expN==3,MPsel=floor(get(handles.MPsldr3,'value')); end - if expN==1,pertSel=floor(get(handles.DMsldr1,'value')); end - if expN==2,pertSel=floor(get(handles.DMsldr2,'value')); end - if expN==3,pertSel=floor(get(handles.DMsldr3,'value')); end - - - if expN==1,tPtSel=floor(get(handles.Tptsldr1,'value')); end - if expN==2,tPtSel=floor(get(handles.Tptsldr2,'value')); end - if expN==3,tPtSel=floor(get(handles.Tptsldr3,'value')); end - - - plateNum= (MPsel-1)*destPerMP + pertSel; - tPtsSize=[]; - tPtsSize= length(Exp(expN).Dexp(DexpN).scan(plateNum).plate(1).tSeries(:)) +if expN==1,MPsel=floor(get(handles.MPsldr1,'value')); end +if expN==2,MPsel=floor(get(handles.MPsldr2,'value')); end +if expN==3,MPsel=floor(get(handles.MPsldr3,'value')); end +if expN==1,pertSel=floor(get(handles.DMsldr1,'value')); end +if expN==2,pertSel=floor(get(handles.DMsldr2,'value')); end +if expN==3,pertSel=floor(get(handles.DMsldr3,'value')); end +if expN==1,tPtSel=floor(get(handles.Tptsldr1,'value')); end +if expN==2,tPtSel=floor(get(handles.Tptsldr2,'value')); end +if expN==3,tPtSel=floor(get(handles.Tptsldr3,'value')); end +plateNum=(MPsel-1)*destPerMP + pertSel; +tPtsSize=[]; +tPtsSize=length(Exp(expN).Dexp(DexpN).scan(plateNum).plate(1).tSeries(:)) n=1; -for ii= 1:tPtsSize - if exist(fullfile(Exp(expN).Dexp(DexpN).ExpFoldr,num2str(plateNum),strcat((num2str(ii)),'.bmp'))) ==2; %the .bmp file exists - bmpLst(n)= ii - n=n+1 - end +for ii=1:tPtsSize + if exist(fullfile(Exp(expN).Dexp(DexpN).ExpFoldr,num2str(plateNum),strcat((num2str(ii)),'.bmp'))) ==2; %the .bmp file exists + bmpLst(n)=ii + n=n+1 + end end + if tPtSel> tPtsSize - tPtSel= tPtsSize + tPtSel=tPtsSize end + if exist(fullfile(Exp(expN).Dexp(DexpN).ExpFoldr,num2str(plateNum),strcat((num2str(tPtSel)),'.bmp'))) ==0; %the .bmp file exists - tPtSel= bmpLst(find(bmpLst>tPtSel,1,'first')) + tPtSel=bmpLst(find(bmpLst>tPtSel,1,'first')) end - if expN==1, - set(handles.Tptsldr1,'max',tPtsSize); - set(ghandles.Tptsldr1,'max',tPtsSize); - set(handles.Tpted1,'string', num2str(tPtSel)); - set(ghandles.Tpted1,'string', num2str(tPtSel)); - if tPtsSize<= tPtSel, - set(handles.Tptsldr1,'value', tPtsSize) - set(ghandles.Tptsldr1,'value', tPtsSize) - tPtSel= tPtsSize - set(handles.Tpted1,'string', num2str(tPtsSize)) - set(ghandles.Tpted1,'string', num2str(tPtsSize)) - end - end - if expN==2 - set(handles.Tptsldr2,'max',tPtsSize); - set(ghandles.Tptsldr2,'max',tPtsSize); - set(handles.Tpted2,'string', num2str(tPtSel)); - set(ghandles.Tpted2,'string', num2str(tPtSel)); - if tPtsSize<= tPtSel, - set(handles.Tptsldr2,'value', tPtsSize) - set(ghandles.Tptsldr2,'value', tPtsSize) - tPtSel= tPtsSize - set(handles.Tpted2,'string', num2str(tPtsSize)) - set(ghandles.Tpted2,'string', num2str(tPtsSize)) - end - end - if expN==3 - set(handles.Tptsldr3,'max',tPtsSize); - set(ghandles.Tptsldr3,'max',tPtsSize); - set(handles.Tpted3,'string', num2str(tPtSel)); - set(ghandles.Tpted3,'string', num2str(tPtSel)); - if tPtsSize<= tPtSel, - set(handles.Tptsldr3,'value', tPtsSize) - set(ghandles.Tptsldr3,'value', tPtsSize) - tPtSel= tPtsSize - set(handles.Tpted3,'string', num2str(tPtsSize)) - set(ghandles.Tpted3,'string', num2str(tPtsSize)) - end - end - - %--------------------------------------------------------- - - Exp(expN).Dexp(DexpN).MPsel=MPsel; - Exp(expN).Dexp(DexpN).destPerMP=destPerMP; - Exp(expN).Dexp(DexpN).pertSel=pertSel; - Exp(expN).Dexp(DexpN).tPtSel=tPtSel; - Exp(expN).Dexp(DexpN).plateNum=plateNum; - %try - I= imread(fullfile(Exp(expN).Dexp(DexpN).ExpFoldr,num2str(plateNum),strcat(num2str(tPtSel),'.bmp'))); - - - %set(ghandles.Iaxes1,'CurrentAxes') - if expN==1, expAxes=ghandles.Iaxes1;end - if expN==2, expAxes=ghandles.Iaxes2;end - if expN==3, expAxes=ghandles.Iaxes3;end - - axes(expAxes) - imshow(I) - set(expAxes,'xtick',[],'ytick',[]) - - - DMstr= char(strcat('Agar-',Exp(expN).Dexp(DexpN).DM.media{pertSel},' ',Exp(expN).Dexp(DexpN).DM.drug{pertSel},Exp(expN).Dexp(DexpN).DM.conc{pertSel},... - ' ',Exp(expN).Dexp(DexpN).DM.mod1{pertSel},Exp(expN).Dexp(DexpN).DM.conc1{pertSel},' ',Exp(expN).Dexp(DexpN).DM.mod2{pertSel},Exp(expN).Dexp(DexpN).DM.conc2{pertSel})) - - if expN==1,set(handles.DM1,'string',DMstr); end - if expN==2,set(handles.DM2,'string',DMstr); end - if expN==3,set(handles.DM3,'string',DMstr); end - - tPtStr=strcat('T=', num2str(scan(1,plateNum).plate(1).t0Series(tPtSel))); - if expN==1,set(handles.tptTm1,'string',tPtStr); end - if expN==2,set(handles.tptTm2,'string',tPtStr); end - if expN==3,set(handles.tptTm3,'string',tPtStr); end - - - xp=char(Exp(expN).Dexp(DexpN).resDir); - if ispc - slashPos=strfind(char(Exp(expN).Dexp(DexpN).resDir),'\'); - else - slashPos=strfind(char(Exp(expN).Dexp(DexpN).resDir),'/'); - end - startPos=slashPos(length(slashPos)-2) +1; - endPos=(slashPos(length(slashPos)) -1); - expStrg= xp(startPos:end); - - if expN==1,set(handles.expName1,'string',expStrg); end - if expN==2,set(handles.expName2,'string',expStrg); end - if expN==3,set(handles.expName3,'string',expStrg); end - - - - %******************** - try - htMapTogPBfg=0; - EZhtMap % - catch - end - %******************** +if expN==1, + set(handles.Tptsldr1,'max',tPtsSize); + set(ghandles.Tptsldr1,'max',tPtsSize); + set(handles.Tpted1,'string', num2str(tPtSel)); + set(ghandles.Tpted1,'string', num2str(tPtSel)); + if tPtsSize<=tPtSel, + set(handles.Tptsldr1,'value', tPtsSize) + set(ghandles.Tptsldr1,'value', tPtsSize) + tPtSel=tPtsSize + set(handles.Tpted1,'string', num2str(tPtsSize)) + set(ghandles.Tpted1,'string', num2str(tPtsSize)) + end +end +if expN==2 + set(handles.Tptsldr2,'max',tPtsSize); + set(ghandles.Tptsldr2,'max',tPtsSize); + set(handles.Tpted2,'string', num2str(tPtSel)); + set(ghandles.Tpted2,'string', num2str(tPtSel)); + if tPtsSize<=tPtSel, + set(handles.Tptsldr2,'value', tPtsSize) + set(ghandles.Tptsldr2,'value', tPtsSize) + tPtSel=tPtsSize + set(handles.Tpted2,'string', num2str(tPtsSize)) + set(ghandles.Tpted2,'string', num2str(tPtsSize)) + end +end +if expN==3 + set(handles.Tptsldr3,'max',tPtsSize); + set(ghandles.Tptsldr3,'max',tPtsSize); + set(handles.Tpted3,'string', num2str(tPtSel)); + set(ghandles.Tpted3,'string', num2str(tPtSel)); + if tPtsSize<=tPtSel, + set(handles.Tptsldr3,'value', tPtsSize) + set(ghandles.Tptsldr3,'value', tPtsSize) + tPtSel=tPtsSize + set(handles.Tpted3,'string', num2str(tPtsSize)) + set(ghandles.Tpted3,'string', num2str(tPtsSize)) + end +end -%******************************************************************** -%zonePB handle control from left graph spot side to communicate to right side 23_0818 -%This section was based on the zoneRad Section for Radiobuttons which were -%unusable with the new form of Radio Buttons in AppDesigner. - %******************** +Exp(expN).Dexp(DexpN).MPsel=MPsel; +Exp(expN).Dexp(DexpN).destPerMP=destPerMP; +Exp(expN).Dexp(DexpN).pertSel=pertSel; +Exp(expN).Dexp(DexpN).tPtSel=tPtSel; +Exp(expN).Dexp(DexpN).plateNum=plateNum; +%try +I=imread(fullfile(Exp(expN).Dexp(DexpN).ExpFoldr,num2str(plateNum),strcat(num2str(tPtSel),'.bmp'))); + +%set(ghandles.Iaxes1,'CurrentAxes') +if expN==1, expAxes=ghandles.Iaxes1;end +if expN==2, expAxes=ghandles.Iaxes2;end +if expN==3, expAxes=ghandles.Iaxes3;end + +axes(expAxes) +imshow(I) +set(expAxes,'xtick',[],'ytick',[]) + +DMstr=char(strcat('Agar-',Exp(expN).Dexp(DexpN).DM.media{pertSel},' ', ... + Exp(expN).Dexp(DexpN).DM.drug{pertSel},Exp(expN).Dexp(DexpN).DM.conc{pertSel},' ', ... + Exp(expN).Dexp(DexpN).DM.mod1{pertSel},Exp(expN).Dexp(DexpN).DM.conc1{pertSel},' ', ... + Exp(expN).Dexp(DexpN).DM.mod2{pertSel},Exp(expN).Dexp(DexpN).DM.conc2{pertSel})) + +if expN==1,set(handles.DM1,'string',DMstr); end +if expN==2,set(handles.DM2,'string',DMstr); end +if expN==3,set(handles.DM3,'string',DMstr); end + +tPtStr=strcat('T=', num2str(scan(1,plateNum).plate(1).t0Series(tPtSel))); +if expN==1,set(handles.tptTm1,'string',tPtStr); end +if expN==2,set(handles.tptTm2,'string',tPtStr); end +if expN==3,set(handles.tptTm3,'string',tPtStr); end + +xp=char(Exp(expN).Dexp(DexpN).resDir); +if ispc + slashPos=strfind(char(Exp(expN).Dexp(DexpN).resDir),'\'); +else + slashPos=strfind(char(Exp(expN).Dexp(DexpN).resDir),'/'); +end + +startPos=slashPos(length(slashPos)-2) +1; +endPos=(slashPos(length(slashPos)) -1); +expStrg=xp(startPos:end); + +if expN==1,set(handles.expName1,'string',expStrg); end +if expN==2,set(handles.expName2,'string',expStrg); end +if expN==3,set(handles.expName3,'string',expStrg); end + +try + htMapTogPBfg=0; + EZhtMap +catch +end + +% zonePB handle control from left graph spot side to communicate to right side 23_0818 +% This section was based on the zoneRad Section for Radiobuttons which were +% unusable with the new form of Radio Buttons in AppDesigner. if expN==1 - zonesel=1; - zonePB= 1; - set(handles. zonePB1,'value',1) - set(handles. zonePB2,'value',0) - set(handles. zonePB3,'value',0) - set(handles.zonePB1,'BackgroundColor',[1.0 0.6 0.6]) - set(handles.zonePB2,'BackgroundColor',[1.0 1.0 1.0]) - set(handles.zonePB3,'BackgroundColor',[1.0 1.0 1.0]) - - - orfLstSel=get(handles.GeneOrfTog,'value'); + zonesel=1; + zonePB=1; + set(handles. zonePB1,'value',1) + set(handles. zonePB2,'value',0) + set(handles. zonePB3,'value',0) + set(handles.zonePB1,'BackgroundColor',[1.0 0.6 0.6]) + set(handles.zonePB2,'BackgroundColor',[1.0 1.0 1.0]) + set(handles.zonePB3,'BackgroundColor',[1.0 1.0 1.0]) + orfLstSel=get(handles.GeneOrfTog,'value'); if orfLstSel==1 set(handles.listboxGnOrf,'string',Exp(1).Dexp(DexpN).srtOrfLst) else @@ -206,16 +190,15 @@ if expN==1 end if expN==2 - zonesel=2; - zonePB= 2; - set(handles. zonePB2,'value',1) - set(handles. zonePB1,'value',0) - set(handles. zonePB3,'value',0) - set(handles.zonePB2,'BackgroundColor',[1.0 0.6 0.6]) - set(handles.zonePB1,'BackgroundColor',[1.0 1.0 1.0]) - set(handles.zonePB3,'BackgroundColor',[1.0 1.0 1.0]) - - orfLstSel=get(handles.GeneOrfTog,'value'); + zonesel=2; + zonePB=2; + set(handles. zonePB2,'value',1) + set(handles. zonePB1,'value',0) + set(handles. zonePB3,'value',0) + set(handles.zonePB2,'BackgroundColor',[1.0 0.6 0.6]) + set(handles.zonePB1,'BackgroundColor',[1.0 1.0 1.0]) + set(handles.zonePB3,'BackgroundColor',[1.0 1.0 1.0]) + orfLstSel=get(handles.GeneOrfTog,'value'); if orfLstSel==1 set(handles.listboxGnOrf,'string',Exp(2).Dexp(DexpN).srtOrfLst) else @@ -224,16 +207,15 @@ if expN==2 end if expN==3 - zonesel=3; - zonePB= 3; - set(handles. zonePB3,'value',1) - set(handles. zonePB2,'value',0) - set(handles. zonePB1,'value',0) - set(handles.zonePB3,'BackgroundColor',[1.0 0.6 0.6]); - set(handles.zonePB1,'BackgroundColor',[1.0 1.0 1.0]); - set(handles.zonePB2,'BackgroundColor',[1.0 1.0 1.0]); - - orfLstSel=get(handles.GeneOrfTog,'value'); + zonesel=3; + zonePB=3; + set(handles. zonePB3,'value',1) + set(handles. zonePB2,'value',0) + set(handles. zonePB1,'value',0) + set(handles.zonePB3,'BackgroundColor',[1.0 0.6 0.6]); + set(handles.zonePB1,'BackgroundColor',[1.0 1.0 1.0]); + set(handles.zonePB2,'BackgroundColor',[1.0 1.0 1.0]); + orfLstSel=get(handles.GeneOrfTog,'value'); if orfLstSel==1 set(handles.listboxGnOrf,'string',Exp(3).Dexp(DexpN).srtOrfLst) else diff --git a/workflow/apps/matlab/ezview/EZcompositePlot.m b/workflow/apps/matlab/ezview/EZcompositePlot.m index 901bfaab..570fae1d 100755 --- a/workflow/apps/matlab/ezview/EZcompositePlot.m +++ b/workflow/apps/matlab/ezview/EZcompositePlot.m @@ -2,128 +2,121 @@ global Exp global ghandles -if (Exp(expN).cTraceN>1 && length(Exp(expN).ll)<= (Exp(expN).cTraceIndx((Exp(expN).cTraceN)))) ||... - isempty(Exp(expN).ll) -return; +if (Exp(expN).cTraceN>1 && length(Exp(expN).ll)<=(Exp(expN).cTraceIndx((Exp(expN).cTraceN)))) ||... +isempty(Exp(expN).ll) + return; end Exp(expN).CompositPlot=1; - if expN==1, OLaxes=ghandles.OLaxes1; end - if expN==2, OLaxes=ghandles.OLaxes2; end - if expN==3, OLaxes=ghandles.OLaxes3; end +if expN==1, OLaxes=ghandles.OLaxes1; end +if expN==2, OLaxes=ghandles.OLaxes2; end +if expN==3, OLaxes=ghandles.OLaxes3; end - cTraceN= mod(Exp(expN).cTraceN,10); - %cTraceN= Exp(expN).cTraceN; - if cTraceN==1, colour= 'b'; - elseif cTraceN==2, colour= 'g'; - elseif cTraceN==3, colour= 'r'; - elseif cTraceN==4, colour= 'c'; - elseif cTraceN==5, colour= 'm'; - elseif cTraceN==6, colour= 'b'; - elseif cTraceN==7, colour= 'g'; - elseif cTraceN==8, colour= 'r'; - elseif cTraceN==9, colour= 'c'; - elseif cTraceN==0, colour= 'm'; + cTraceN=mod(Exp(expN).cTraceN,10); + %cTraceN=Exp(expN).cTraceN; + if cTraceN==1, colour='b'; + elseif cTraceN==2, colour='g'; + elseif cTraceN==3, colour='r'; + elseif cTraceN==4, colour='c'; + elseif cTraceN==5, colour='m'; + elseif cTraceN==6, colour='b'; + elseif cTraceN==7, colour='g'; + elseif cTraceN==8, colour='r'; + elseif cTraceN==9, colour='c'; + elseif cTraceN==0, colour='m'; end AddCplot=1; %Test need for user question dialog boxS if AddCplot==1, - cTraceN= Exp(expN).cTraceN - cTraceIndx= Exp(expN).cTraceIndx(cTraceN) - cTstart= cTraceIndx; - cTend= length(Exp(expN).ll); - - jj= 0; ii=0; RFcmpTraces=0; maxRFcmpLStd=0; maxRFcmpKStd=0; maxRFcmprStd= 0; - for ic= cTstart:cTend - if strcmp(get(Exp(expN).hOL(ic),'visible'), 'on') - jj= jj+1; - mlstL(jj)= Exp(expN).ll(ic); mlstR(jj)= Exp(expN).rr(ic); mlstK(jj)= Exp(expN).kk(ic); - LBcheck= char(Exp(expN).hOLname(ic)) - if isequal(LBcheck(4:6),'cmp'), - if Exp(expN).lstd(ic)> maxRFcmpLStd - maxRFcmpLStd= Exp(expN).lstd(ic); - ii=ii+1; - lstds(ii)= Exp(expN).lstd(ic); - RFcmpTraces(ii)=ic; - end - if Exp(expN).kstd(ic)> maxRFcmpKStd - maxRFcmpKStd= Exp(expN).kstd(ic); - end - if Exp(expN).rstd(ic)> maxRFcmprStd - maxRFcmprStd= Exp(expN).rstd(ic); - end - end - end - end + cTraceN=Exp(expN).cTraceN + cTraceIndx=Exp(expN).cTraceIndx(cTraceN) + cTstart=cTraceIndx; + cTend=length(Exp(expN).ll); + + jj=0; ii=0; RFcmpTraces=0; maxRFcmpLStd=0; maxRFcmpKStd=0; maxRFcmprStd=0; + for ic=cTstart:cTend + if strcmp(get(Exp(expN).hOL(ic),'visible'), 'on') + jj=jj+1; + mlstL(jj)=Exp(expN).ll(ic); mlstR(jj)=Exp(expN).rr(ic); mlstK(jj)=Exp(expN).kk(ic); + LBcheck=char(Exp(expN).hOLname(ic)) + if isequal(LBcheck(4:6),'cmp'), + if Exp(expN).lstd(ic)> maxRFcmpLStd + maxRFcmpLStd=Exp(expN).lstd(ic); + ii=ii+1; + lstds(ii)=Exp(expN).lstd(ic); + RFcmpTraces(ii)=ic; + end + if Exp(expN).kstd(ic)> maxRFcmpKStd + maxRFcmpKStd=Exp(expN).kstd(ic); + end + if Exp(expN).rstd(ic)> maxRFcmprStd + maxRFcmprStd=Exp(expN).rstd(ic); + end end - %for n= 1:length(RFcmpTraces +1) - %end - maxLstd= max(std(mlstL), maxRFcmpLStd); - maxKstd= max(std(mlstK), maxRFcmpKStd); - maxrstd= max(std(mlstR), maxRFcmprStd); - Exp(expN).cLmean(cTraceN)= mean(mlstL); Exp(expN).cLstd(cTraceN)= maxLstd; - Exp(expN).cRmean(cTraceN)= mean(mlstR); Exp(expN).cKstd(cTraceN)= maxKstd; %std(mlstR); - Exp(expN).cKmean(cTraceN)= mean(mlstK); Exp(expN).cRstd(cTraceN)= maxrstd; %std(mlstK); + end + end +end +maxLstd=max(std(mlstL), maxRFcmpLStd); +maxKstd=max(std(mlstK), maxRFcmpKStd); +maxrstd=max(std(mlstR), maxRFcmprStd); +Exp(expN).cLmean(cTraceN)=mean(mlstL); Exp(expN).cLstd(cTraceN)=maxLstd; +Exp(expN).cRmean(cTraceN)=mean(mlstR); Exp(expN).cKstd(cTraceN)=maxKstd; %std(mlstR); +Exp(expN).cKmean(cTraceN)=mean(mlstK); Exp(expN).cRstd(cTraceN)=maxrstd; %std(mlstK); -%******MEAN calculation Plot******************** -%try - - l=Exp(expN).cLmean(cTraceN); - r=Exp(expN).cRmean(cTraceN); - K=Exp(expN).cKmean(cTraceN); - lslow=l + Exp(expN).cLstd(cTraceN); lfast= l - Exp(expN).cLstd(cTraceN); - rl=r - Exp(expN).cRstd(cTraceN); ru= r + Exp(expN).cRstd(cTraceN); - Kl=K - Exp(expN).cKstd(cTraceN); Ku= K + Exp(expN).cKstd(cTraceN); - clear g; - t=1:200; - g=K ./ (1 + exp(-r.* (t - l ))); +% Mean calculation plot +l=Exp(expN).cLmean(cTraceN); +r=Exp(expN).cRmean(cTraceN); +K=Exp(expN).cKmean(cTraceN); +lslow=l + Exp(expN).cLstd(cTraceN); lfast=l - Exp(expN).cLstd(cTraceN); +rl=r - Exp(expN).cRstd(cTraceN); ru=r + Exp(expN).cRstd(cTraceN); +Kl=K - Exp(expN).cKstd(cTraceN); Ku=K + Exp(expN).cKstd(cTraceN); +clear g; +t=1:200; +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 K==0||r==0||l==0 + g(1:200)=1;gSlow(1:200)=1;gFast(1:200)=1; +end -Exp(expN).hCmean(cTraceN)=plot(OLaxes,t,g);hold on; %PLOT the composit mean of traces -Exp(expN).hBound1(cTraceN)= plot(OLaxes,t,gSlow,'y'); -Exp(expN).hBound2(cTraceN)= plot(OLaxes,t,gFast,'y'); -%c1= c1-((cTraceN-1)*0.2); c2= c2+((cTraceN-1)*0.2); c3= c3+((cTraceN-1)*0.2); +Exp(expN).hCmean(cTraceN)=plot(OLaxes,t,g);hold on; % plot the composit mean of traces +Exp(expN).hBound1(cTraceN)=plot(OLaxes,t,gSlow,'y'); +Exp(expN).hBound2(cTraceN)=plot(OLaxes,t,gFast,'y'); +%c1=c1-((cTraceN-1)*0.2); c2=c2+((cTraceN-1)*0.2); c3=c3+((cTraceN-1)*0.2); set(Exp(expN).hCmean(cTraceN),'color',colour) %[c1 c2 c3]) %Set latest trace red set(Exp(expN).hCmean(cTraceN),'linewidth',3) - - -%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -Lstr= num2str(Exp(expN).cLmean(cTraceN)); Lsstr= num2str(Exp(expN).cLstd(cTraceN)); -Rstr= num2str(Exp(expN).cRmean(cTraceN)); Rsstr= num2str(Exp(expN).cRstd(cTraceN)); -Kstr= num2str(Exp(expN).cKmean(cTraceN)); Ksstr= num2str(Exp(expN).cKstd(cTraceN)); +Lstr=num2str(Exp(expN).cLmean(cTraceN)); Lsstr=num2str(Exp(expN).cLstd(cTraceN)); +Rstr=num2str(Exp(expN).cRmean(cTraceN)); Rsstr=num2str(Exp(expN).cRstd(cTraceN)); +Kstr=num2str(Exp(expN).cKmean(cTraceN)); Ksstr=num2str(Exp(expN).cKstd(cTraceN)); try -cPlotLB= strcat('Composite', num2str(cTraceN),'->','L=',Lstr(1:4),';','Ls=',Lsstr(1:4),';',... - 'r=',Rstr(1:4),';','rs=',Rsstr(2:6),';','K=',Kstr(1:4),';','Ks=',Ksstr(1:4)) + cPlotLB=strcat('Composite', num2str(cTraceN),'->','L=',Lstr(1:4),';','Ls=',Lsstr(1:4),';',... + 'r=',Rstr(1:4),';','rs=',Rsstr(2:6),';','K=',Kstr(1:4),';','Ks=',Ksstr(1:4)) catch - try cPlotLB= strcat('Composite', num2str(cTraceN),'->','L=',Lstr(1:4),';','r=',Rstr(1:4),';','K=',Kstr(1:4),'-SingleSource'); catch, end + try + cPlotLB=strcat('Composite', num2str(cTraceN),'->','L=',Lstr(1:4),';','r=',Rstr(1:4),';','K=',Kstr(1:4),'-SingleSource'); + catch + end end - %} -Exp(expN).cName(cTraceN)= {cPlotLB}; +Exp(expN).cName(cTraceN)={cPlotLB}; if expN==1, set(ghandles.OLay1,'string', cPlotLB); end if expN==2, set(ghandles.OLay2,'string', cPlotLB); end if expN==3, set(ghandles.OLay3,'string', cPlotLB); end -%Hide source traces leaving only the Composite traces and STD traces -for i= 1:length(Exp(expN).hOL) - set(Exp(expN).hOL(i),'Visible','off') - try set(Exp(expN).hOLb(i),'Visible','off'); catch, msg= 'No raw data RFcmp'; end +% Hide source traces leaving only the Composite traces and STD traces +for i=1:length(Exp(expN).hOL) + set(Exp(expN).hOL(i),'Visible','off') + try set(Exp(expN).hOLb(i),'Visible','off') + catch + msg='No raw data RFcmp' + end end -%Increment the CompositeTrace count and update the correlated reference OLAY cTraceIndx -Exp(expN).cTraceN= (Exp(expN).cTraceN) + 1 ; -Exp(expN).cTraceIndx(Exp(expN).cTraceN)= length(Exp(expN).hOL(:))+1; - - - - - %cPlotLB= strcat('Composite', num2str(cTraceN),'L=',num2str(Exp(expN).cLmean(cTraceN)),'Ls=',num2str(Exp(expN).cLstd(cTraceN))) %,'-',(Exp(expN).hOLname(cTraceIndx))) - %Exp(expN).cName(cTraceN)= {cPlotLB}; - - - - +% Increment the CompositeTrace count and update the correlated reference OLAY cTraceIndx +Exp(expN).cTraceN=(Exp(expN).cTraceN) + 1 ; +Exp(expN).cTraceIndx(Exp(expN).cTraceN)=length(Exp(expN).hOL(:))+1; + +%cPlotLB=strcat('Composite', num2str(cTraceN),'L=',num2str(Exp(expN).cLmean(cTraceN)),'Ls=',num2str(Exp(expN).cLstd(cTraceN))) %,'-',(Exp(expN).hOLname(cTraceIndx))) +%Exp(expN).cName(cTraceN)={cPlotLB}; diff --git a/workflow/apps/matlab/ezview/EZdestComp.m b/workflow/apps/matlab/ezview/EZdestComp.m index 25cdb236..1ef43cf4 100755 --- a/workflow/apps/matlab/ezview/EZdestComp.m +++ b/workflow/apps/matlab/ezview/EZdestComp.m @@ -3,7 +3,7 @@ %Called by EZvDatatip.m and EZlstBoxExt.m %Provides Trace data storage for use by EZfigTrendOL.m -if lstBoxCmpFlg== 1 +if lstBoxCmpFlg==1 Exp(zoneSel).seltraceN=traceN; seltraceN=traceN; end @@ -13,637 +13,546 @@ if expN==1 && get(ghandles.CompositeTog1,'value')==1 ||... CompositeTrendFlg=1; else CompositeTrendFlg=0; end - destPerMP= Exp(expN).Dexp(DexpN).destPerMP; +destPerMP=Exp(expN).Dexp(DexpN).destPerMP; if EZdatatip==1 %adaptation for image spot selection - %plNums= plateNum; - %destPerMP= Exp(expN).Dexp(DexpN).destPerMP; - plNums= (MPsel-1)*destPerMP + (1:destPerMP) - zoneSel=expN; - tracN=Exp(zoneSel).traceN; - if zoneSel==1,Dlaxes=ghandles.Dlaxes1;Dkaxes=ghandles.Dkaxes1;Draxes=ghandles.Draxes1; end - if zoneSel==2,Dlaxes=ghandles.Dlaxes2;Dkaxes=ghandles.Dkaxes2;Draxes=ghandles.Draxes2; end - if zoneSel==3,Dlaxes=ghandles.Dlaxes3;Dkaxes=ghandles.Dkaxes3;Draxes=ghandles.Draxes3; end - - if zoneSel==1,DNLaxes=ghandles.DNLaxes1;end - if zoneSel==2,DNLaxes=ghandles.DNLaxes2;end - if zoneSel==3,DNLaxes=ghandles.DNLaxes3;end - -elseif EZdatatip==2 %adaption for Overlay plot selection - %destPerMP= Exp(expN).Dexp(DexpN).destPerMP; - MPlateN= ceil(OLplateNum/destPerMP); - plNums= (MPlateN-1)*destPerMP + (1:destPerMP); - zoneSel=expN; - tracN=Exp(zoneSel).traceN; - if zoneSel==1,Dlaxes=ghandles.Dlaxes1;Dkaxes=ghandles.Dkaxes1;Draxes=ghandles.Draxes1; end - if zoneSel==2,Dlaxes=ghandles.Dlaxes2;Dkaxes=ghandles.Dkaxes2;Draxes=ghandles.Draxes2; end - if zoneSel==3,Dlaxes=ghandles.Dlaxes3;Dkaxes=ghandles.Dkaxes3;Draxes=ghandles.Draxes3; end - if zoneSel==1,DNLaxes=ghandles.DNLaxes1;end %2016_0222 - if zoneSel==2,DNLaxes=ghandles.DNLaxes2;end %2016_0222 - if zoneSel==3,DNLaxes=ghandles.DNLaxes3;end %2016_0222 - + % plNums=plateNum; + % destPerMP=Exp(expN).Dexp(DexpN).destPerMP; + plNums=(MPsel-1)*destPerMP + (1:destPerMP) + zoneSel=expN; + tracN=Exp(zoneSel).traceN; + if zoneSel==1,Dlaxes=ghandles.Dlaxes1;Dkaxes=ghandles.Dkaxes1;Draxes=ghandles.Draxes1; end + if zoneSel==2,Dlaxes=ghandles.Dlaxes2;Dkaxes=ghandles.Dkaxes2;Draxes=ghandles.Draxes2; end + if zoneSel==3,Dlaxes=ghandles.Dlaxes3;Dkaxes=ghandles.Dkaxes3;Draxes=ghandles.Draxes3; end + if zoneSel==1,DNLaxes=ghandles.DNLaxes1;end + if zoneSel==2,DNLaxes=ghandles.DNLaxes2;end + if zoneSel==3,DNLaxes=ghandles.DNLaxes3;end +elseif EZdatatip==2 % adaption for Overlay plot selection + % destPerMP=Exp(expN).Dexp(DexpN).destPerMP; + MPlateN=ceil(OLplateNum/destPerMP); + plNums=(MPlateN-1)*destPerMP + (1:destPerMP); + zoneSel=expN; + tracN=Exp(zoneSel).traceN; + if zoneSel==1,Dlaxes=ghandles.Dlaxes1;Dkaxes=ghandles.Dkaxes1;Draxes=ghandles.Draxes1; end + if zoneSel==2,Dlaxes=ghandles.Dlaxes2;Dkaxes=ghandles.Dkaxes2;Draxes=ghandles.Draxes2; end + if zoneSel==3,Dlaxes=ghandles.Dlaxes3;Dkaxes=ghandles.Dkaxes3;Draxes=ghandles.Draxes3; end + if zoneSel==1,DNLaxes=ghandles.DNLaxes1;end %2016_0222 + if zoneSel==2,DNLaxes=ghandles.DNLaxes2;end %2016_0222 + if zoneSel==3,DNLaxes=ghandles.DNLaxes3;end %2016_0222 elseif EZdatatip==0 - if lstBoxCmpFlg~=1 - DexpN= Exp(expN).DexpN; - plNums= (LBmp-1)*destPerMP + (1:destPerMP); - tracN=Exp(zoneSel).traceN; - Exp(expN).Trace(traceN).DexpN= DexpN; - elseif lstBoxCmpFlg==1 - DexpN= Exp(expN).DexpN; - tracN=Exp(zoneSel).traceN; - end - %determin if selection is a User chosen RF-****-mdG or RF-****-mdP - Lbl=cell2mat(selGnOrf); - if ~isempty(strfind(Lbl,'RF')) && ~isempty(strfind(Lbl,'md')) - strLoc= strfind(Lbl,'md'); - - - MPloc= strfind(Lbl,':'); - dMP= str2double(Lbl((MPloc(1)+1):(MPloc(2)-1))); - if strcmp(Lbl(strLoc:strLoc+3),'-mdG('); - RFmdFlg='mdG'; - elseif strcmp(Lbl(strLoc:strLoc+3),'-mdP(') - RFmdFlg='mdP'; - elseif strcmp(Lbl(strLoc:strLoc+2),'md(') - RFmdFlg='md'; - end - end - - if zoneSel==1,DNLaxes=ghandles.DNLaxes1;end %2016_0222 - if zoneSel==2,DNLaxes=ghandles.DNLaxes2;end %2016_0222 - if zoneSel==3,DNLaxes=ghandles.DNLaxes3;end %2016_0222 -end %if EZdatatip==1 %adaptation for image spot selection + if lstBoxCmpFlg~=1 + DexpN=Exp(expN).DexpN; + plNums=(LBmp-1)*destPerMP + (1:destPerMP); + tracN=Exp(zoneSel).traceN; + Exp(expN).Trace(traceN).DexpN=DexpN; + elseif lstBoxCmpFlg==1 + DexpN=Exp(expN).DexpN; + tracN=Exp(zoneSel).traceN; + end + % determin if selection is a User chosen RF-****-mdG or RF-****-mdP + Lbl=cell2mat(selGnOrf); + if ~isempty(strfind(Lbl,'RF')) && ~isempty(strfind(Lbl,'md')) + strLoc=strfind(Lbl,'md'); + MPloc=strfind(Lbl,':'); + dMP=str2double(Lbl((MPloc(1)+1):(MPloc(2)-1))); + if strcmp(Lbl(strLoc:strLoc+3),'-mdG('); + RFmdFlg='mdG'; + elseif strcmp(Lbl(strLoc:strLoc+3),'-mdP(') + RFmdFlg='mdP'; + elseif strcmp(Lbl(strLoc:strLoc+2),'md(') + RFmdFlg='md'; + end + end + + if zoneSel==1,DNLaxes=ghandles.DNLaxes1;end %2016_0222 + if zoneSel==2,DNLaxes=ghandles.DNLaxes2;end %2016_0222 + if zoneSel==3,DNLaxes=ghandles.DNLaxes3;end %2016_0222 +end % if EZdatatip==1 %adaptation for image spot selection -if EZdatatip==2 %Response to Overlay click - %++++++++++++++++++++LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL+++++++++++++++++++++++ - %seltraceN comes from EZvDatatip; - %Exp(OLay).seltraceN iscaptured from EZvDatatip - % if an OLay trace is selected - % else it is captured below if EZdatatip is not equal to 2 - - try - set(Exp(zoneSel).hLRF1(seltraceN),'visible','on'); set(Exp(zoneSel).hLRF2(seltraceN),'visible','on'); - catch, end - try - set(Exp(zoneSel).hL(seltraceN),'visible','on'); set(Exp(zoneSel).hLb(seltraceN),'visible','on'); - catch, end - - %Plot new intL - try - set(Exp(zoneSel).hintL(seltraceN),'visible','on'); set(Exp(zoneSel).hintLb(seltraceN),'visible','on'); - catch, end - try - set(Exp(zoneSel).hintLadj(seltraceN),'visible','on'); set(Exp(zoneSel).hintLadjb(seltraceN),'visible','on'); - catch, end - if zoneSel==1,set(ghandles.DNLaxes1,'xlim',[-75,75]); end +if EZdatatip==2 % Response to Overlay click + % seltraceN comes from EZvDatatip; + % Exp(OLay).seltraceN iscaptured from EZvDatatip + % if an OLay trace is selected + % else it is captured below if EZdatatip is not equal to 2 - %++++++++++++++++++++++KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK++++++++++++++++++++++ - for J=1:(tracN), - try - set(Exp(zoneSel).hKRF1(J),'visible','off'); set(Exp(zoneSel).hKRF2(J),'visible','off'); - catch, end - try - set(Exp(zoneSel).hK(J),'visible','off'); set(Exp(zoneSel).hKb(J),'visible','off'); - catch, end - end - try - set(Exp(zoneSel).hKRF1(seltraceN),'visible','on'); set(Exp(zoneSel).hKRF2(seltraceN),'visible','on'); - catch, end - try - set(Exp(zoneSel).hK(seltraceN),'visible','on'); set(Exp(zoneSel).hKb(seltraceN),'visible','on'); - catch, end - %+++++++++++++++++++++rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr+++++++++++++++++++++++++++++ - for J=1:(tracN), - try - set(Exp(zoneSel).hrRF1(J),'visible','off'); set(Exp(zoneSel).hrRF2(J),'visible','off'); - catch, end - try - set(Exp(zoneSel).hr(J),'visible','off'); set(Exp(zoneSel).hrb(J),'visible','off'); - catch, end - end - try - set(Exp(zoneSel).hrRF1(seltraceN),'visible','on'); set(Exp(zoneSel).hrRF2(seltraceN),'visible','on'); - catch, end - try - set(Exp(zoneSel).hr(seltraceN),'visible','on'); set(Exp(zoneSel).hrb(seltraceN),'visible','on'); - catch, end + try + set(Exp(zoneSel).hLRF1(seltraceN),'visible','on'); set(Exp(zoneSel).hLRF2(seltraceN),'visible','on'); + catch, end + try + set(Exp(zoneSel).hL(seltraceN),'visible','on'); set(Exp(zoneSel).hLb(seltraceN),'visible','on'); + catch, end -else %if EZdatatip==1 or if EZdatatip==0 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -%*************Plot RFmd1 and RFmd2 indexes********************* -if EZdatatip==0 + % Plot new intL + try + set(Exp(zoneSel).hintL(seltraceN),'visible','on'); set(Exp(zoneSel).hintLb(seltraceN),'visible','on'); + catch, end + try + set(Exp(zoneSel).hintLadj(seltraceN),'visible','on'); set(Exp(zoneSel).hintLadjb(seltraceN),'visible','on'); + catch, end + if zoneSel==1,set(ghandles.DNLaxes1,'xlim',[-75,75]); end -end -%if ~exist(RFmdFlg) + for J=1:(tracN) + try + set(Exp(zoneSel).hKRF1(J),'visible','off'); set(Exp(zoneSel).hKRF2(J),'visible','off'); + catch, end + try + set(Exp(zoneSel).hK(J),'visible','off'); set(Exp(zoneSel).hKb(J),'visible','off'); + catch, end + end + try + set(Exp(zoneSel).hKRF1(seltraceN),'visible','on'); set(Exp(zoneSel).hKRF2(seltraceN),'visible','on'); + catch, end + try + set(Exp(zoneSel).hK(seltraceN),'visible','on'); set(Exp(zoneSel).hKb(seltraceN),'visible','on'); + catch, end + + for J=1:(tracN), + try + set(Exp(zoneSel).hrRF1(J),'visible','off'); set(Exp(zoneSel).hrRF2(J),'visible','off'); + catch, end + try + set(Exp(zoneSel).hr(J),'visible','off'); set(Exp(zoneSel).hrb(J),'visible','off'); + catch, end + end + try + set(Exp(zoneSel).hrRF1(seltraceN),'visible','on'); set(Exp(zoneSel).hrRF2(seltraceN),'visible','on'); + catch, end + try + set(Exp(zoneSel).hr(seltraceN),'visible','on'); set(Exp(zoneSel).hrb(seltraceN),'visible','on'); + catch, end +else + % Plot RFmd1 and RFmd2 indexes + if EZdatatip==0 + end + %if ~exist(RFmdFlg) RF1mdIndx=Exp(zoneSel).Dexp(DexpN).RFmd1indx; RF1mdPltN=Exp(zoneSel).Dexp(DexpN).RFmd1pltN; RF2mdIndx=Exp(zoneSel).Dexp(DexpN).RFmd2indx; RF2mdPltN=Exp(zoneSel).Dexp(DexpN).RFmd2pltN; try Rn=Exp(expN).Dexp(DexpN).RFmean; catch, Rn=0; end try Rs=Exp(expN).Dexp(DexpN).RFstd; catch, Rs=0; end - if isempty(RF1mdIndx) - try Rn= Exp(expN).Dexp(DexpN).RFmeanG; catch, Rn=0; end - try Rs= Exp(expN).Dexp(DexpN).RFstdG; catch, Rs=0; end -end + if isempty(RF1mdIndx) + try Rn=Exp(expN).Dexp(DexpN).RFmeanG; catch, Rn=0; end + try Rs=Exp(expN).Dexp(DexpN).RFstdG; catch, Rs=0; end + end -if lstBoxCmpFlg~= 1 -Exp(zoneSel).seltraceN=tracN; -seltraceN=tracN; -end -%**************Plot L K r for all pertibation(destination) Plates*************** -if lstBoxCmpFlg~= 1 % If selection is a "normal" item with a location in the label - try RF1mdNums= (RF1mdPltN-1)*destPerMP + (1:destPerMP); catch, end %RF1mdPltN % - try RF2mdNums= (RF2mdPltN-1)*destPerMP + (1:destPerMP); catch, end %RF2mdPltN % + if lstBoxCmpFlg~=1 + Exp(zoneSel).seltraceN=tracN; + seltraceN=tracN; + end + % Plot L K r for all pertibation(destination) Plates + if lstBoxCmpFlg~=1 % If selection is a "normal" item with a location in the label + try RF1mdNums=(RF1mdPltN-1)*destPerMP + (1:destPerMP); catch, end %RF1mdPltN % + try RF2mdNums=(RF2mdPltN-1)*destPerMP + (1:destPerMP); catch, end %RF2mdPltN % for I=1:length(plNums), - if CompositeTrendFlg==0 || EZdatatip==1 %'Normal' gene/orf spot image or listbox item with location data - Exp(expN).Trace(traceN).dmSel= pertSel; - Exp(expN).Trace(traceN).DexpN= DexpN; - Exp(expN).Trace(traceN).UsrGLB= selGnOrf; %usrGnSp; - if ~exist('RFmdFlg') - lvals(I)=scan(1,plNums(I)).plate(1).CFout(indx,5); - if lvals(I)==0, lvals(I)=140; end - kvals(I)=scan(1,plNums(I)).plate(1).CFout(indx,3); - rvals(I)=scan(1,plNums(I)).plate(1).CFout(indx,4); - - Exp(expN).Trace(tracN).Dexp(DexpN).DM(I).UsrLvals= lvals(I); - Exp(expN).Trace(tracN).Dexp(DexpN).DM(I).UsrKvals= kvals(I); - Exp(expN).Trace(tracN).Dexp(DexpN).DM(I).Usrrvals= rvals(I); - elseif strcmp(RFmdFlg,'mdG') - lvals(I)= Exp(expN).Dexp(DexpN).RFcmpGL.dm(I).med; - if lvals(I)==0, lvals(I)=140; end - kvals(I)= Exp(expN).Dexp(DexpN).RFcmpGK.dm(I).med; - rvals(I)= Exp(expN).Dexp(DexpN).RFcmpGr.dm(I).med; - - Exp(expN).Trace(tracN).Dexp(DexpN).DM(I).UsrLvals= lvals(I); - Exp(expN).Trace(tracN).Dexp(DexpN).DM(I).UsrKvals= kvals(I); - Exp(expN).Trace(tracN).Dexp(DexpN).DM(I).Usrrvals= rvals(I); - elseif strcmp(RFmdFlg,'mdP') - lvals(I)= Exp(expN).Dexp(DexpN).RFmedianP(I,dMP); - if lvals(I)==0, lvals(I)=140; end - kvals(I)= scan(1,plNums(I)).plate(1).CFout(indx,3); %No P med.Kvals /dms currently avail. - rvals(I)= scan(1,plNums(I)).plate(1).CFout(indx,4); %No P med.rvals /dms currently avail. - - Exp(expN).Trace(tracN).Dexp(DexpN).DM(I).UsrLvals= lvals(I); - Exp(expN).Trace(tracN).Dexp(DexpN).DM(I).UsrKvals= kvals(I); - Exp(expN).Trace(tracN).Dexp(DexpN).DM(I).Usrrvals= rvals(I); - elseif strcmp(RFmdFlg,'md') - lvals(I)= Exp(expN).Dexp(DexpN).RFmean(I); - if lvals(I)==0, lvals(I)=140; end - kvals(I)= scan(1,plNums(I)).plate(1).CFout(indx,3); %No P med.Kvals /dms currently avail. - rvals(I)= scan(1,plNums(I)).plate(1).CFout(indx,4); %No P med.rvals /dms currently avail. - - Exp(expN).Trace(tracN).Dexp(DexpN).DM(I).UsrLvals= lvals(I); - Exp(expN).Trace(tracN).Dexp(DexpN).DM(I).UsrKvals= kvals(I); - Exp(expN).Trace(tracN).Dexp(DexpN).DM(I).Usrrvals= rvals(I); - - end - - - elseif CompositeTrendFlg==1 && EZdatatip==0 %Gene-Specifics Composite from listBox - lvals(I)=median(cell2mat(Exp(expN).Trace(tracN).Dexp(DexpN).DM(I).UsrLvals)); - if lvals(I)==0, lvals(I)=140; end - kvals(I)= median(cell2mat(Exp(expN).Trace(tracN).Dexp(DexpN).DM(I).UsrKvals)); - rvals(I)= median(cell2mat(Exp(expN).Trace(tracN).Dexp(DexpN).DM(I).Usrrvals)); - end %if CompositeTrendFlg==0 || EZdatatip==1 - try - if ~isempty(RF1mdIndx) - lvalsRF1md(I)=scan(1,RF1mdNums(I)).plate(1).CFout(RF1mdIndx(I),5); - if lvalsRF1md(I)==0, lvalsRF1md(I)=140; end - kvalsRF1md(I)=scan(1,RF1mdNums(I)).plate(1).CFout(RF1mdIndx(I),3); - rvalsRF1md(I)=scan(1,RF1mdNums(I)).plate(1).CFout(RF1mdIndx(I),4); - elseif ~isempty(Exp(expN).Dexp(DexpN).RFcmpGL.dm(I).med) - lvalsRF1md(I)= Exp(expN).Dexp(DexpN).RFcmpGL.dm(I).med; - if lvalsRF1md(I)==0, lvalsRF1md(I)=140; end - kvalsRF1md(I)= Exp(expN).Dexp(DexpN).RFcmpGK.dm(I).med; - rvalsRF1md(I)= Exp(expN).Dexp(DexpN).RFcmpGr.dm(I).med; - end - catch - end - - try - lvalsRF2md(I)=scan(1,RF2mdNums(I)).plate(1).CFout(RF2mdIndx(I),5); - if lvalsRF2md(I)==0, lvalsRF2md(I)=140; end - kvalsRF2md(I)=scan(1,RF2mdNums(I)).plate(1).CFout(RF2mdIndx(I),3); - rvalsRF2md(I)=scan(1,RF2mdNums(I)).plate(1).CFout(RF2mdIndx(I),4); - catch - end - - - %Added for INTERACTION Calculating Utility 2016_0219 - try - if CompositeTrendFlg==0 || EZdatatip==1 - Xn(I)=Exp(expN).Dexp(DexpN).scan(plNums(I)).plate(1).CFout(indx,5); - Xln(I)=Exp(expN).Dexp(DexpN).scan(plNums(I)).plate(1).CFout(indx,11); - Xhn(I)=Exp(expN).Dexp(DexpN).scan(plNums(I)).plate(1).CFout(indx,12); - elseif CompositeTrendFlg==1 && EZdatatip~=1 - Xn(I)= median(cell2mat(Exp(expN).Trace(tracN).Dexp(DexpN).DM(I).UsrLvals)); - Xln(I)= Xn(I) - std(cell2mat(Exp(expN).Trace(tracN).Dexp(DexpN).DM(I).UsrLvals)); - Xhn(I)= Xn(I) + std(cell2mat(Exp(expN).Trace(tracN).Dexp(DexpN).DM(I).UsrLvals)); - end - if Xn(I)==0, deltaXR(I)= 140; end - if isnan(Xhn(I))||isnan(Xln(I))|| Xhn(I)==0||Xln(I)==0||isnan(Rs(I)) - deltaXR(I)= 140; - elseif Xn(I) >= Rn(I) - deltaXR(I)= Xln(I)-(Rn(I)+Rs(I)); - else - deltaXR(I)= Xhn(I)-(Rn(I)-Rs(I)); - end - - - catch - msg= 'No Refs! ->No Interaction Calculations!' - end - - end %for I=1:length(plNums) - -elseif lstBoxCmpFlg==1 %Determine values of RF1cmp or RFcmpG or RFcmpP composites - for dm=1:destPerMP - if RFcmpGFlg==0 %RF1cmp or RF2cmp clicked - lvals(dm)= Exp(expN).Dexp(DexpN).RFcmpL(RFnum).dm(dm).med; - if lvals(dm)==0, lvals(dm)=140; end - kvals(dm)= Exp(expN).Dexp(DexpN).RFcmpK(RFnum).dm(dm).med; - rvals(dm)= Exp(expN).Dexp(DexpN).RFcmpr(RFnum).dm(dm).med; - elseif RFcmpGFlg==1 - lvals(dm)= Exp(expN).Dexp(DexpN).RFcmpGL.dm(inDM).med;% Ls= num2str(l); - if lvals(dm)==0, lvals(dm)=140; end - kvals(dm)= Exp(expN).Dexp(DexpN).RFcmpGK.dm(inDM).med; %Ks= num2str(K); - rvals(dm)= Exp(expN).Dexp(DexpN).RFcmpGr.dm(inDM).med; %rs= num2str(r); + if CompositeTrendFlg==0 || EZdatatip==1 %'Normal' gene/orf spot image or listbox item with location data + Exp(expN).Trace(traceN).dmSel=pertSel; + Exp(expN).Trace(traceN).DexpN=DexpN; + Exp(expN).Trace(traceN).UsrGLB=selGnOrf; %usrGnSp; + if ~exist('RFmdFlg') + lvals(I)=scan(1,plNums(I)).plate(1).CFout(indx,5); + if lvals(I)==0, lvals(I)=140; end + kvals(I)=scan(1,plNums(I)).plate(1).CFout(indx,3); + rvals(I)=scan(1,plNums(I)).plate(1).CFout(indx,4); + Exp(expN).Trace(tracN).Dexp(DexpN).DM(I).UsrLvals=lvals(I); + Exp(expN).Trace(tracN).Dexp(DexpN).DM(I).UsrKvals=kvals(I); + Exp(expN).Trace(tracN).Dexp(DexpN).DM(I).Usrrvals=rvals(I); + elseif strcmp(RFmdFlg,'mdG') + lvals(I)=Exp(expN).Dexp(DexpN).RFcmpGL.dm(I).med; + if lvals(I)==0, lvals(I)=140; end + kvals(I)=Exp(expN).Dexp(DexpN).RFcmpGK.dm(I).med; + rvals(I)=Exp(expN).Dexp(DexpN).RFcmpGr.dm(I).med; + Exp(expN).Trace(tracN).Dexp(DexpN).DM(I).UsrLvals=lvals(I); + Exp(expN).Trace(tracN).Dexp(DexpN).DM(I).UsrKvals=kvals(I); + Exp(expN).Trace(tracN).Dexp(DexpN).DM(I).Usrrvals=rvals(I); + elseif strcmp(RFmdFlg,'mdP') + lvals(I)=Exp(expN).Dexp(DexpN).RFmedianP(I,dMP); + if lvals(I)==0, lvals(I)=140; end + kvals(I)=scan(1,plNums(I)).plate(1).CFout(indx,3); %No P med.Kvals /dms currently avail. + rvals(I)=scan(1,plNums(I)).plate(1).CFout(indx,4); %No P med.rvals /dms currently avail. + Exp(expN).Trace(tracN).Dexp(DexpN).DM(I).UsrLvals=lvals(I); + Exp(expN).Trace(tracN).Dexp(DexpN).DM(I).UsrKvals=kvals(I); + Exp(expN).Trace(tracN).Dexp(DexpN).DM(I).Usrrvals=rvals(I); + elseif strcmp(RFmdFlg,'md') + lvals(I)=Exp(expN).Dexp(DexpN).RFmean(I); + if lvals(I)==0, lvals(I)=140; end + kvals(I)=scan(1,plNums(I)).plate(1).CFout(indx,3); %No P med.Kvals /dms currently avail. + rvals(I)=scan(1,plNums(I)).plate(1).CFout(indx,4); %No P med.rvals /dms currently avail. + Exp(expN).Trace(tracN).Dexp(DexpN).DM(I).UsrLvals=lvals(I); + Exp(expN).Trace(tracN).Dexp(DexpN).DM(I).UsrKvals=kvals(I); + Exp(expN).Trace(tracN).Dexp(DexpN).DM(I).Usrrvals=rvals(I); + end + elseif CompositeTrendFlg==1 && EZdatatip==0 %Gene-Specifics Composite from listBox + lvals(I)=median(cell2mat(Exp(expN).Trace(tracN).Dexp(DexpN).DM(I).UsrLvals)); + if lvals(I)==0, lvals(I)=140; end + kvals(I)=median(cell2mat(Exp(expN).Trace(tracN).Dexp(DexpN).DM(I).UsrKvals)); + rvals(I)=median(cell2mat(Exp(expN).Trace(tracN).Dexp(DexpN).DM(I).Usrrvals)); + end + try + if ~isempty(RF1mdIndx) + lvalsRF1md(I)=scan(1,RF1mdNums(I)).plate(1).CFout(RF1mdIndx(I),5); + if lvalsRF1md(I)==0, lvalsRF1md(I)=140; end + kvalsRF1md(I)=scan(1,RF1mdNums(I)).plate(1).CFout(RF1mdIndx(I),3); + rvalsRF1md(I)=scan(1,RF1mdNums(I)).plate(1).CFout(RF1mdIndx(I),4); + elseif ~isempty(Exp(expN).Dexp(DexpN).RFcmpGL.dm(I).med) + lvalsRF1md(I)=Exp(expN).Dexp(DexpN).RFcmpGL.dm(I).med; + if lvalsRF1md(I)==0, lvalsRF1md(I)=140; end + kvalsRF1md(I)=Exp(expN).Dexp(DexpN).RFcmpGK.dm(I).med; + rvalsRF1md(I)=Exp(expN).Dexp(DexpN).RFcmpGr.dm(I).med; + end + catch + end + try + lvalsRF2md(I)=scan(1,RF2mdNums(I)).plate(1).CFout(RF2mdIndx(I),5); + if lvalsRF2md(I)==0, lvalsRF2md(I)=140; end + kvalsRF2md(I)=scan(1,RF2mdNums(I)).plate(1).CFout(RF2mdIndx(I),3); + rvalsRF2md(I)=scan(1,RF2mdNums(I)).plate(1).CFout(RF2mdIndx(I),4); + catch + end + % Added for INTERACTION Calculating Utility 2016_0219 + try + if CompositeTrendFlg==0 || EZdatatip==1 + Xn(I)=Exp(expN).Dexp(DexpN).scan(plNums(I)).plate(1).CFout(indx,5); + Xln(I)=Exp(expN).Dexp(DexpN).scan(plNums(I)).plate(1).CFout(indx,11); + Xhn(I)=Exp(expN).Dexp(DexpN).scan(plNums(I)).plate(1).CFout(indx,12); + elseif CompositeTrendFlg==1 && EZdatatip~=1 + Xn(I)=median(cell2mat(Exp(expN).Trace(tracN).Dexp(DexpN).DM(I).UsrLvals)); + Xln(I)=Xn(I) - std(cell2mat(Exp(expN).Trace(tracN).Dexp(DexpN).DM(I).UsrLvals)); + Xhn(I)=Xn(I) + std(cell2mat(Exp(expN).Trace(tracN).Dexp(DexpN).DM(I).UsrLvals)); + end + if Xn(I)==0, deltaXR(I)=140; end + if isnan(Xhn(I))||isnan(Xln(I))|| Xhn(I)==0||Xln(I)==0||isnan(Rs(I)) + deltaXR(I)=140; + elseif Xn(I) >=Rn(I) + deltaXR(I)=Xln(I)-(Rn(I)+Rs(I)); + else + deltaXR(I)=Xhn(I)-(Rn(I)-Rs(I)); + end + catch + msg='No Refs! ->No Interaction Calculations!' + end end + elseif lstBoxCmpFlg==1 %Determine values of RF1cmp or RFcmpG or RFcmpP composites + for dm=1:destPerMP + if RFcmpGFlg==0 %RF1cmp or RF2cmp clicked + lvals(dm)=Exp(expN).Dexp(DexpN).RFcmpL(RFnum).dm(dm).med; + if lvals(dm)==0, lvals(dm)=140; end + kvals(dm)=Exp(expN).Dexp(DexpN).RFcmpK(RFnum).dm(dm).med; + rvals(dm)=Exp(expN).Dexp(DexpN).RFcmpr(RFnum).dm(dm).med; + elseif RFcmpGFlg==1 + lvals(dm)=Exp(expN).Dexp(DexpN).RFcmpGL.dm(inDM).med;% Ls=num2str(l); + if lvals(dm)==0, lvals(dm)=140; end + kvals(dm)=Exp(expN).Dexp(DexpN).RFcmpGK.dm(inDM).med; %Ks=num2str(K); + rvals(dm)=Exp(expN).Dexp(DexpN).RFcmpGr.dm(inDM).med; %rs=num2str(r); + end + % Added for INTERACTION Calculating Utility 2016_0219 + try + Xn(dm)=lvals(dm); + Xln(dm)=lvals(dm)- Exp(expN).Dexp(DexpN).RFcmpL(RFnum).dm(inDM).std ; + Xhn(dm)=lvals(dm)+ Exp(expN).Dexp(DexpN).RFcmpL(RFnum).dm(inDM).std; + if Xn(dm)==0, deltaXR(dm)=140; end + if isnan(Xhn(dm))||isnan(Xln(dm))|| Xhn(dm)==0||Xln(dm)==0||isnan(Rs(dm)) + deltaXR(dm)=140; + elseif Xn(dm) >=Rn(dm) + deltaXR(dm)=Xln(dm)-(Rn(dm)+Rs(dm)); + else + deltaXR(dm)=Xhn(dm)-(Rn(dm)-Rs(dm)); + end + catch + msg='No Refs! ->No Interaction Calculations!' + end + end % for dm=1:destPerMP + Exp(expN).Trace(traceN).UsrGLB=selGnOrf; %Added 18_0118 for tickLabelStr issue in EZfigTrendOL.m assoc'd with RFcmpG(-) + end + + % INTERACTION Plotting Utility 2016_021 + try + if Rn(1)==0 % if Ref mean is zero + intL=0; proGrIntL=0; intLadj=0; proGrIntLadj=0; + intNormL=6.66;intNormLadj=6.66; proGrIntNormL=6.66;proGrIntNormLadj=6.66; + else + % if Xn(I)==0 || Xn(I)==140,intL =140; else intL=(Xn-Rn); end + intL=(Xn-Rn); + intL(Xn==0)=140; + intLadj=(deltaXR); + Exp(expN).Trace(tracN).Dexp(DexpN).UsrIntL=intL; + %{ + intNormL=(intL) ./ Rn(1) + intNormLadj=((deltaXR)./ Rn(1)) + proGrIntL=-(intL) + proGrIntLadj=-(deltaXR) + proGrIntNormL=-(intL ./ Rn(1)) + proGrIntNormLadj=-((deltaXR)./ Rn(1)) + %find where Xn(j)==0 and set interactL to a fixed Max interaction value + intNormL(find(Xn==0))=2 + intNormLadj(find(Xn==0))=2 + proGrIntLadj(find(Xn==0))=-2 + proGrIntNormLadj(find(Xn==0))=-2 + %} + end + catch + FailMessage='Problem with Reference Rn value; Unable to produce Interaction values! Ln119 EZdestComp' + end - %Added for INTERACTION Calculating Utility 2016_0219 - try - Xn(dm)=lvals(dm); - Xln(dm)= lvals(dm)- Exp(expN).Dexp(DexpN).RFcmpL(RFnum).dm(inDM).std ; - Xhn(dm)= lvals(dm)+ Exp(expN).Dexp(DexpN).RFcmpL(RFnum).dm(inDM).std; - - if Xn(dm)==0, deltaXR(dm)= 140; end - if isnan(Xhn(dm))||isnan(Xln(dm))|| Xhn(dm)==0||Xln(dm)==0||isnan(Rs(dm)) - deltaXR(dm)= 140; - elseif Xn(dm) >= Rn(dm) - deltaXR(dm)= Xln(dm)-(Rn(dm)+Rs(dm)); - else - deltaXR(dm)= Xhn(dm)-(Rn(dm)-Rs(dm)); - end - - - catch - msg= 'No Refs! ->No Interaction Calculations!' - end - - - end %for dm=1:destPerMP + hidem(ghandles.Daxes1) + if zoneSel==1,showm(ghandles.Dlaxes1);showm(ghandles.Dkaxes1);showm(ghandles.Draxes1);end + if zoneSel==2,showm(ghandles.Dlaxes2);showm(ghandles.Dkaxes2);showm(ghandles.Draxes2);end + if zoneSel==3,showm(ghandles.Dlaxes3);showm(ghandles.Dkaxes3);showm(ghandles.Draxes3);end + set(Dlaxes,'NextPlot','add'); set(Dkaxes,'NextPlot','add'); set(Draxes,'NextPlot','add') + if zoneSel==1,showm(ghandles.DNLaxes1); end + if zoneSel==2,showm(ghandles.DNLaxes2); end + if zoneSel==3,showm(ghandles.DNLaxes3); end + set(DNLaxes,'NextPlot','add'); + % Make visible the current L plot and store it for retrieval by OLay code + if verLessThan('matlab','8.4') + else % accomodate new matlab changes after 2014a fix 23_0807 + tempFig2=figure; + end + try % some experiments do not have ref. plates + Exp(zoneSel).hLRF1(tracN)=plot(Dlaxes,lvalsRF1md,1:destPerMP,'b'); hold on + catch + end + try + Exp(zoneSel).hLRF2(tracN)=plot(Dlaxes,lvalsRF2md,1:destPerMP,'c'); hold on + catch + end + try + Exp(zoneSel).hL(tracN)=plot(Dlaxes,lvals,1:destPerMP); Exp(zoneSel).hLb(tracN)=plot(Dlaxes,lvals,1:destPerMP,'rs'); + catch + end + if zoneSel==1,set(ghandles.Dlaxes1,'xlim',[0,140]); end + if zoneSel==2,set(ghandles.Dlaxes2,'xlim',[0,140]); end + if zoneSel==3,set(ghandles.Dlaxes3,'xlim',[0,140]); end + % Make visible Plot for Interaction Data, Store and Hide unless a N (InteractionPBsel) set that plot on Top of the RawData Plots. + % Plot new intL + try + % zeroCLn=zeros(1,destPerMP) + % Exp(zoneSel).hzeroCLn=plot(DNLaxes,zeroCLn,1:destPerMP,'y'); + Exp(zoneSel).hintL(tracN)=plot(DNLaxes,intL,1:destPerMP); Exp(zoneSel).hintLb(tracN)=plot(DNLaxes,intL,1:destPerMP,'rs'); + Exp(zoneSel).hintLadj(tracN)=plot(DNLaxes,intLadj,1:destPerMP,'g'); Exp(zoneSel).hintLadjb(tracN)=plot(DNLaxes,intLadj,1:destPerMP,'gs'); + catch + end + if zoneSel==1,set(ghandles.DNLaxes1,'xlim',[-75,75]); end + if zoneSel==2,set(ghandles.DNLaxes2,'xlim',[-75,75]); end + if zoneSel==3,set(ghandles.DNLaxes3,'xlim',[-75,75]); end -Exp(expN).Trace(traceN).UsrGLB= selGnOrf; %Added 18_0118 for tickLabelStr issue in EZfigTrendOL.m assoc'd with RFcmpG(-) + % intNormL + % intNormLadj + % ProGrIntLadj Plot + % ProGrintLadj Plot + % ProGrintNormL + % proGrintNormLadj + % Hide all K plots + + for J=1:(tracN-1), + try + set(Exp(zoneSel).hKRF1(J),'visible','off'); set(Exp(zoneSel).hKRF2(J),'visible','off'); + catch + end + try + set(Exp(zoneSel).hK(J),'visible','off'); set(Exp(zoneSel).hKb(J),'visible','off'); + catch + end + end -end %if lstBoxCmpFlg==1 -%***********INTERACTION Plotting Utility 2016_0219********************************************* -try -if Rn(1)==0, % If Ref mean is zero - intL= 0; proGrIntL=0; intLadj=0; proGrIntLadj=0; - intNormL=6.66;intNormLadj=6.66; proGrIntNormL=6.66;proGrIntNormLadj=6.66; -else -%if Xn(I)==0 || Xn(I)==140,intL =140; else intL=(Xn-Rn); end -intL= (Xn-Rn); -intL(Xn==0)= 140; -intLadj=(deltaXR); + % Make visible the current L plot and store it for retrieval by OLay code + try % some experiments do not have ref. plates + Exp(zoneSel).hKRF1(tracN)=plot(Dkaxes,kvalsRF1md,1:destPerMP,'b'); + Exp(zoneSel).hKRF2(tracN)=plot(Dkaxes,kvalsRF2md,1:destPerMP,'c'); + catch + end + try + Exp(zoneSel).hK(tracN)=plot(Dkaxes,kvals,1:destPerMP,'b'); Exp(zoneSel).hKb(tracN)=plot(Dkaxes,kvals,1:destPerMP,'rs'); + catch + end + set(Dkaxes,'xlim',[0,200]) % max(kvals+20) + set(Dkaxes,'ycolor',[.9,.9,1]) -Exp(expN).Trace(tracN).Dexp(DexpN).UsrIntL= intL; + % Hide all r plots + for J=1:(tracN-1), + try + set(Exp(zoneSel).hrRF1(J),'visible','off'); set(Exp(zoneSel).hrRF2(J),'visible','off'); + catch, end + try + set(Exp(zoneSel).hr(J),'visible','off'); set(Exp(zoneSel).hrb(J),'visible','off'); + catch, end + end + + % Make visible the current r plot and store it for retrieval by OLay code + try %Some experiments do not have ref. plates + Exp(zoneSel).hrRF1(tracN)=plot(Draxes,rvalsRF1md,1:destPerMP,'b'); + Exp(zoneSel).hrRF2(tracN)=plot(Draxes,rvalsRF2md,1:destPerMP,'c'); + catch, end + try + Exp(zoneSel).hr(tracN)=plot(Draxes,rvals,1:destPerMP,'b'); Exp(zoneSel).hrb(tracN)=plot(Draxes,rvals,1:destPerMP,'rs'); + catch, end + set(Draxes,'xlim',[0,1]) + set(Draxes,'ycolor',[.9,.9,1]) +end + +if zoneSel==1, set(ghandles.geneOrfLKr1,'string', grfgenestr);end +if zoneSel==2, set(ghandles.geneOrfLKr2,'string', grfgenestr);end +if zoneSel==3, set(ghandles.geneOrfLKr3,'string', grfgenestr);end + +% Display Selection PlotFilter +if Exp(4).interacPBsel==0 + % replace ghandles.DNLaxes1 (Dlaxes2)etc. with a single + % Exp(zoneSel).DNLaxes,.... + set(ghandles.Dlaxes1,'Visible','on') + set(ghandles.Dlaxes2,'Visible','on') + set(ghandles.Dlaxes3,'Visible','on') + set(ghandles.DNLaxes1,'Visible','off') + set(ghandles.DNLaxes2,'Visible','off') + set(ghandles.DNLaxes3,'Visible','off') + + for n=1:Exp(zoneSel).traceN + try + set(Exp(zoneSel).hLRF1(n),'visible','off'); set(Exp(zoneSel).hLRF2(n),'visible','off'); + catch, end + try + set(Exp(zoneSel).hL(n),'visible','off'); set(Exp(zoneSel).hLb(n),'visible','off'); + catch, end + try + set(Exp(zoneSel).hintL(n),'visible','off'); set(Exp(zoneSel).hintLb(n),'visible','off'); + catch, end + try + set(Exp(zoneSel).hintLadj(n),'visible','off'); set(Exp(zoneSel).hintLadjb(n),'visible','off'); + catch, end + end + + try + set(Exp(zoneSel).hLRF1(seltraceN),'visible','on'); set(Exp(zoneSel).hLRF2(seltraceN),'visible','on'); + catch, end + try + set(Exp(zoneSel).hL(seltraceN),'visible','on'); set(Exp(zoneSel).hLb(seltraceN),'visible','on'); + catch, end + for i=1:Exp(zoneSel).expLoadCnt, + try set(Exp(zoneSel).hzeroCLn(i),'visible','off'); catch ME, end + end +elseif Exp(4).interacPBsel==1 + set(ghandles.DNLaxes1,'Visible','on') + set(ghandles.DNLaxes2,'Visible','on') + set(ghandles.DNLaxes3,'Visible','on') + set(ghandles.Dlaxes1,'Visible','off') + set(ghandles.Dlaxes2,'Visible','off') + set(ghandles.Dlaxes3,'Visible','off') + + + for n=1:Exp(zoneSel).traceN + try set(Exp(zoneSel).hLRF1(n),'visible','off'); catch, end + try set(Exp(zoneSel).hLRF2(n),'visible','off'); catch, end + try set(Exp(zoneSel).hL(n),'visible','off'); set(Exp(zoneSel).hLb(n),'visible','off'); catch, end + try set(Exp(zoneSel).hintL(n),'visible','off'); set(Exp(zoneSel).hintLb(n),'visible','off'); catch, end + try set(Exp(zoneSel).hintLadj(n),'visible','off'); set(Exp(zoneSel).hintLadjb(n),'visible','off'); catch, end + end + try set(Exp(zoneSel).hintL(seltraceN),'visible','on'); set(Exp(zoneSel).hintLb(seltraceN),'visible','on'); catch, end + try set(Exp(zoneSel).hintLadj(seltraceN),'visible','on'); set(Exp(zoneSel).hintLadjb(seltraceN),'visible','on'); catch, end + for i=1:Exp(zoneSel).expLoadCnt, + try set(Exp(zoneSel).hzeroCLn(i),'visible','on'); catch ME, end + end +elseif Exp(4).interacPBsel==2 +end + +if verLessThan('matlab','8.4') +else % accomodate new matlab changes after 2014a fix update 23_0807 + close(tempFig2) +end + + +% Deprecated functions %{ -intNormL=(intL) ./ Rn(1) -intNormLadj= ((deltaXR)./ Rn(1)) -proGrIntL=-(intL) -proGrIntLadj=-(deltaXR) -proGrIntNormL=-(intL ./ Rn(1)) -proGrIntNormLadj= -((deltaXR)./ Rn(1)) -%find where Xn(j)==0 and set interactL to a fixed Max interaction value -intNormL(find(Xn==0))=2 -intNormLadj(find(Xn==0))=2 -proGrIntLadj(find(Xn==0))=-2 -proGrIntNormLadj(find(Xn==0))=-2 -%} -end -catch - FailMessage= 'Problem with Reference Rn value; Unable to produce Interaction values! Ln119 EZdestComp' + for J=1:(tracN), + try + set(Exp(zoneSel).hintL(J),'visible','off'); set(Exp(zoneSel).hintLb(J),'visible','off'); + catch, end + try + set(Exp(zoneSel).hintLadj(J),'visible','off'); set(Exp(zoneSel).hintLadjb(J),'visible','off'); + catch, end + end + %} +%{ + for J=1:(tracN), + try + set(Exp(zoneSel).hLRF1(J),'visible','off'); set(Exp(zoneSel).hLRF2(J),'visible','off'); + catch, end + try + set(Exp(zoneSel).hL(J),'visible','off'); set(Exp(zoneSel).hLb(J),'visible','off'); + catch, end + end + %} + + %Hide all L plots +%{ + for J=1:(tracN-1), + try + set(Exp(zoneSel).hLRF1(J),'visible','off'); set(Exp(zoneSel).hLRF2(J),'visible','off'); + catch, end + try + set(Exp(zoneSel).hL(J),'visible','off'); set(Exp(zoneSel).hLb(J),'visible','off'); + catch, end + end +%} +%Hide all intL plots +%{ +for J=1:(tracN), + try + set(Exp(zoneSel).hintL(J),'visible','off'); set(Exp(zoneSel).hintLb(J),'visible','off'); + catch, end + try + set(Exp(zoneSel).hintLadj(J),'visible','off'); set(Exp(zoneSel).hintLadjb(J),'visible','off'); + catch, end end +%} - - hidem(ghandles.Daxes1) - if zoneSel==1,showm(ghandles.Dlaxes1);showm(ghandles.Dkaxes1);showm(ghandles.Draxes1);end - if zoneSel==2,showm(ghandles.Dlaxes2);showm(ghandles.Dkaxes2);showm(ghandles.Draxes2);end - if zoneSel==3,showm(ghandles.Dlaxes3);showm(ghandles.Dkaxes3);showm(ghandles.Draxes3);end - set(Dlaxes,'NextPlot','add'); set(Dkaxes,'NextPlot','add'); set(Draxes,'NextPlot','add') - - - if zoneSel==1,showm(ghandles.DNLaxes1); end - if zoneSel==2,showm(ghandles.DNLaxes2); end - if zoneSel==3,showm(ghandles.DNLaxes3); end - set(DNLaxes,'NextPlot','add'); - %+++++++++++++++++LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL+++++++++++++++++++++++++++++++++ - %Make visible the current L plot and store it for retrieval by OLay code - if verLessThan('matlab','8.4') - else %accomodate new matlab changes after 2014a fix 23_0807 - tempFig2= figure; - end - try %Some experiments do not have ref. plates - Exp(zoneSel).hLRF1(tracN)= plot(Dlaxes,lvalsRF1md,1:destPerMP,'b'); hold on - catch - end - try - Exp(zoneSel).hLRF2(tracN)= plot(Dlaxes,lvalsRF2md,1:destPerMP,'c'); hold on - catch - end - - try - Exp(zoneSel).hL(tracN)= plot(Dlaxes,lvals,1:destPerMP); Exp(zoneSel).hLb(tracN)= plot(Dlaxes,lvals,1:destPerMP,'rs'); - catch - end - if zoneSel==1,set(ghandles.Dlaxes1,'xlim',[0,140]); end - if zoneSel==2,set(ghandles.Dlaxes2,'xlim',[0,140]); end - if zoneSel==3,set(ghandles.Dlaxes3,'xlim',[0,140]); end - %************************************************* - %Make visible Plot for Interaction Data, Store and Hide unless a N (InteractionPBsel) set that plot on Top of the RawData Plots. - %Plot new intL - try - % zeroCLn= zeros(1,destPerMP) - % Exp(zoneSel).hzeroCLn=plot(DNLaxes,zeroCLn,1:destPerMP,'y'); - Exp(zoneSel).hintL(tracN)= plot(DNLaxes,intL,1:destPerMP); Exp(zoneSel).hintLb(tracN)= plot(DNLaxes,intL,1:destPerMP,'rs'); - Exp(zoneSel).hintLadj(tracN)= plot(DNLaxes,intLadj,1:destPerMP,'g'); Exp(zoneSel).hintLadjb(tracN)= plot(DNLaxes,intLadj,1:destPerMP,'gs'); - catch, - end - if zoneSel==1,set(ghandles.DNLaxes1,'xlim',[-75,75]); end - if zoneSel==2,set(ghandles.DNLaxes2,'xlim',[-75,75]); end - if zoneSel==3,set(ghandles.DNLaxes3,'xlim',[-75,75]); end - - - %intNormL - - - - %intNormLadj - - %******************************************** - %ProGrIntLadj Plot - - - %ProGrintLadj Plot - - - %ProGrintNormL - - - %proGrintNormLadj - - - %+++++++++++++++++KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK+++++++++++++++++++++++++++++++++++++++++++++++++++++++ - %Hide all K plots - - for J=1:(tracN-1), - try - set(Exp(zoneSel).hKRF1(J),'visible','off'); set(Exp(zoneSel).hKRF2(J),'visible','off'); - catch, end - try - set(Exp(zoneSel).hK(J),'visible','off'); set(Exp(zoneSel).hKb(J),'visible','off'); - catch, end - end - %Make visible the current L plot and store it for retrieval by OLay code - try %Some experiments do not have ref. plates - Exp(zoneSel).hKRF1(tracN)= plot(Dkaxes,kvalsRF1md,1:destPerMP,'b'); - Exp(zoneSel).hKRF2(tracN)= plot(Dkaxes,kvalsRF2md,1:destPerMP,'c'); - catch, end - try - Exp(zoneSel).hK(tracN)= plot(Dkaxes,kvals,1:destPerMP,'b'); Exp(zoneSel).hKb(tracN)= plot(Dkaxes,kvals,1:destPerMP,'rs'); - catch, end - set(Dkaxes,'xlim',[0,200]) %max(kvals+20) - set(Dkaxes,'ycolor',[.9,.9,1]) - %++++++++++++++++++rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr+++++++++++++++++++++++++++++++++++++++++++++++ - %Hide all r plots - - for J=1:(tracN-1), - try - set(Exp(zoneSel).hrRF1(J),'visible','off'); set(Exp(zoneSel).hrRF2(J),'visible','off'); - catch, end - try - set(Exp(zoneSel).hr(J),'visible','off'); set(Exp(zoneSel).hrb(J),'visible','off'); - catch, end - end - %Make visible the current r plot and store it for retrieval by OLay code - try %Some experiments do not have ref. plates - Exp(zoneSel).hrRF1(tracN)= plot(Draxes,rvalsRF1md,1:destPerMP,'b'); - Exp(zoneSel).hrRF2(tracN)= plot(Draxes,rvalsRF2md,1:destPerMP,'c'); - catch, end - try - Exp(zoneSel).hr(tracN)= plot(Draxes,rvals,1:destPerMP,'b'); Exp(zoneSel).hrb(tracN)= plot(Draxes,rvals,1:destPerMP,'rs'); - catch, end - set(Draxes,'xlim',[0,1]) - set(Draxes,'ycolor',[.9,.9,1]) - - - - -end %if EZdatatip==2 Response to Overlay click - - if zoneSel==1, set(ghandles.geneOrfLKr1,'string', grfgenestr);end - if zoneSel==2, set(ghandles.geneOrfLKr2,'string', grfgenestr);end - if zoneSel==3, set(ghandles.geneOrfLKr3,'string', grfgenestr);end - - -%********************************************************************************************************************* -%********************************************************************************************************************* -%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -%___________________________________Display Selection PlotFilter ____________________ - - - if Exp(4).interacPBsel==0 %00000000000000000000000000000 - % replace ghandles.DNLaxes1 (Dlaxes2)etc. with a single - % Exp(zoneSel).DNLaxes,.... - set(ghandles.Dlaxes1,'Visible','on') - set(ghandles.Dlaxes2,'Visible','on') - set(ghandles.Dlaxes3,'Visible','on') - set(ghandles.DNLaxes1,'Visible','off') - set(ghandles.DNLaxes2,'Visible','off') - set(ghandles.DNLaxes3,'Visible','off') - - for n=1:Exp(zoneSel).traceN - try - set(Exp(zoneSel).hLRF1(n),'visible','off'); set(Exp(zoneSel).hLRF2(n),'visible','off'); - catch, end - try - set(Exp(zoneSel).hL(n),'visible','off'); set(Exp(zoneSel).hLb(n),'visible','off'); - catch, end - - try - set(Exp(zoneSel).hintL(n),'visible','off'); set(Exp(zoneSel).hintLb(n),'visible','off'); - catch, end - try - set(Exp(zoneSel).hintLadj(n),'visible','off'); set(Exp(zoneSel).hintLadjb(n),'visible','off'); - catch, end - end - - try - set(Exp(zoneSel).hLRF1(seltraceN),'visible','on'); set(Exp(zoneSel).hLRF2(seltraceN),'visible','on'); - catch, end - try - set(Exp(zoneSel).hL(seltraceN),'visible','on'); set(Exp(zoneSel).hLb(seltraceN),'visible','on'); - catch, end - for i=1:Exp(zoneSel).expLoadCnt, - try set(Exp(zoneSel).hzeroCLn(i),'visible','off'); catch ME, end - end - - - - elseif Exp(4).interacPBsel==1 %111111111111111111111111111 - set(ghandles.DNLaxes1,'Visible','on') - set(ghandles.DNLaxes2,'Visible','on') - set(ghandles.DNLaxes3,'Visible','on') - set(ghandles.Dlaxes1,'Visible','off') - set(ghandles.Dlaxes2,'Visible','off') - set(ghandles.Dlaxes3,'Visible','off') - - for n=1:Exp(zoneSel).traceN - try set(Exp(zoneSel).hLRF1(n),'visible','off'); catch, end - try set(Exp(zoneSel).hLRF2(n),'visible','off'); catch, end - try set(Exp(zoneSel).hL(n),'visible','off'); set(Exp(zoneSel).hLb(n),'visible','off'); catch, end - try set(Exp(zoneSel).hintL(n),'visible','off'); set(Exp(zoneSel).hintLb(n),'visible','off'); catch, end - try set(Exp(zoneSel).hintLadj(n),'visible','off'); set(Exp(zoneSel).hintLadjb(n),'visible','off'); catch, end - end - try set(Exp(zoneSel).hintL(seltraceN),'visible','on'); set(Exp(zoneSel).hintLb(seltraceN),'visible','on'); catch, end - try set(Exp(zoneSel).hintLadj(seltraceN),'visible','on'); set(Exp(zoneSel).hintLadjb(seltraceN),'visible','on'); catch, end - for i=1:Exp(zoneSel).expLoadCnt, - try set(Exp(zoneSel).hzeroCLn(i),'visible','on'); catch ME, end - end - elseif Exp(4).interacPBsel==2 %2222222222222222222222222222 TEMPorily Same as interacPBsel==1 - % set(ghandles.DNLaxes1,'Visible','on') - %set(ghandles.Dlaxes1,'Visible','off') - - end %if Exp(4).interacPBsel==0 - - if verLessThan('matlab','8.4') - else %accomodate new matlab changes after 2014a fix update 23_0807 - close(tempFig2) - end -%------------------------------------------------------------------------------------------------------------ - - -%===================================================================================================================== - - -%end %if isempty(msg) - - - - - - - - - - - - - - - - - - - -%BONEYARD BONEYARD BONEYARD BONEYARD BONEYARD BONEYARD BONEYARD BONEYARD BONEYARD -%********************************************************************************* - - %{ - for J=1:(tracN), - try - set(Exp(zoneSel).hintL(J),'visible','off'); set(Exp(zoneSel).hintLb(J),'visible','off'); - catch, end - try - set(Exp(zoneSel).hintLadj(J),'visible','off'); set(Exp(zoneSel).hintLadjb(J),'visible','off'); - catch, end - end - %} - %{ - for J=1:(tracN), - try - set(Exp(zoneSel).hLRF1(J),'visible','off'); set(Exp(zoneSel).hLRF2(J),'visible','off'); - catch, end - try - set(Exp(zoneSel).hL(J),'visible','off'); set(Exp(zoneSel).hLb(J),'visible','off'); - catch, end - end - %} - - %Hide all L plots - %{ - for J=1:(tracN-1), - try - set(Exp(zoneSel).hLRF1(J),'visible','off'); set(Exp(zoneSel).hLRF2(J),'visible','off'); - catch, end - try - set(Exp(zoneSel).hL(J),'visible','off'); set(Exp(zoneSel).hLb(J),'visible','off'); - catch, end - end - %} - %Hide all intL plots - %{ - for J=1:(tracN), - try - set(Exp(zoneSel).hintL(J),'visible','off'); set(Exp(zoneSel).hintLb(J),'visible','off'); - catch, end - try - set(Exp(zoneSel).hintLadj(J),'visible','off'); set(Exp(zoneSel).hintLadjb(J),'visible','off'); - catch, end - end - %} +% set(Dlaxes,'xlim',[0,max(lvals+20)]) +% catch + % set(Dlaxes,'NextPlot','add'); + % Exp(zoneSel).hL(tracN)=plot(Dlaxes,lvals,1:destPerMP); + % Exp(zoneSel).hLb(tracN)=plot(Dlaxes,lvals,1:destPerMP,'rs'); - - - % set(Dlaxes,'xlim',[0,max(lvals+20)]) - % catch - % set(Dlaxes,'NextPlot','add'); - % Exp(zoneSel).hL(tracN)= plot(Dlaxes,lvals,1:destPerMP); - % Exp(zoneSel).hLb(tracN)= plot(Dlaxes,lvals,1:destPerMP,'rs'); - - %hDaxL=plot(Dlaxes,lvals,1:destPerMP);hold(Dlaxes); plot(Dlaxes,lvals,1:destPerMP,'rs');... - % hold(Dlaxes); - %{ - if max(lvals)>90 - set(Dlaxes,'xlim',[0,max(lvals+20)]) - else - set(Dlaxes,'xlim',[0,90]) - end - %} - - %end - - %{ - try - hDaxK= plot(Dkaxes,kvalsRF1md,1:destPerMP,'y'); hold(Dkaxes); plot(Dkaxes,kvalsRF2md,1:destPerMP,'y');... - plot(Dkaxes,kvals,1:destPerMP); plot(Dkaxes,kvals,1:destPerMP,'rs');... - hold(Dkaxes); - set(Dkaxes,'xlim',[0,200]) %max(kvals+20) - set(Dkaxes,'ycolor',[.9,.9,1]) - catch - set(Dkaxes,'NextPlot','replace'); - hDaxK= plot(Dkaxes,kvals,1:destPerMP); hold(Dkaxes); plot(Dkaxes,kvals,1:destPerMP,'rs');... - hold(Dkaxes); - set(Dkaxes,'xlim',[0,200]) %max(kvals+20) - set(Dkaxes,'ycolor',[.9,.9,1]) - end - %} - - %{ - try - hDaxR= plot(Draxes,rvalsRF1md,1:destPerMP,'y'); hold(Draxes); plot(Draxes,rvalsRF2md,1:destPerMP,'y');... - plot(Draxes,rvals,1:destPerMP); plot(Draxes,rvals,1:destPerMP,'rs');... - hold(Draxes); - set(Draxes,'xlim',[0,1]) - set(Draxes,'ycolor',[.9,.9,1]) - catch - set(Draxes,'NextPlot','replace') - hDaxR= plot(Draxes,rvals,1:destPerMP); hold(Draxes); plot(Draxes,rvals,1:destPerMP,'rs');... - hold(Draxes); - set(Draxes,'xlim',[0,1]) - set(Draxes,'ycolor',[.9,.9,1]) - end - %} \ No newline at end of file + %hDaxL=plot(Dlaxes,lvals,1:destPerMP);hold(Dlaxes); plot(Dlaxes,lvals,1:destPerMP,'rs');... + % hold(Dlaxes); + %{ + if max(lvals)>90 + set(Dlaxes,'xlim',[0,max(lvals+20)]) + else + set(Dlaxes,'xlim',[0,90]) + end + %} + + %end + + %{ + try + hDaxK=plot(Dkaxes,kvalsRF1md,1:destPerMP,'y'); hold(Dkaxes); plot(Dkaxes,kvalsRF2md,1:destPerMP,'y');... + plot(Dkaxes,kvals,1:destPerMP); plot(Dkaxes,kvals,1:destPerMP,'rs');... + hold(Dkaxes); + set(Dkaxes,'xlim',[0,200]) %max(kvals+20) + set(Dkaxes,'ycolor',[.9,.9,1]) + catch + set(Dkaxes,'NextPlot','replace'); + hDaxK=plot(Dkaxes,kvals,1:destPerMP); hold(Dkaxes); plot(Dkaxes,kvals,1:destPerMP,'rs');... + hold(Dkaxes); + set(Dkaxes,'xlim',[0,200]) %max(kvals+20) + set(Dkaxes,'ycolor',[.9,.9,1]) + end + %} + + %{ + try + hDaxR=plot(Draxes,rvalsRF1md,1:destPerMP,'y'); hold(Draxes); plot(Draxes,rvalsRF2md,1:destPerMP,'y');... + plot(Draxes,rvals,1:destPerMP); plot(Draxes,rvals,1:destPerMP,'rs');... + hold(Draxes); + set(Draxes,'xlim',[0,1]) + set(Draxes,'ycolor',[.9,.9,1]) + catch + set(Draxes,'NextPlot','replace') + hDaxR=plot(Draxes,rvals,1:destPerMP); hold(Draxes); plot(Draxes,rvals,1:destPerMP,'rs');... + hold(Draxes); + set(Draxes,'xlim',[0,1]) + set(Draxes,'ycolor',[.9,.9,1]) + end +%} \ No newline at end of file diff --git a/workflow/apps/matlab/ezview/EZdiagRFsSheet.m b/workflow/apps/matlab/ezview/EZdiagRFsSheet.m index da8d4439..a789c48b 100755 --- a/workflow/apps/matlab/ezview/EZdiagRFsSheet.m +++ b/workflow/apps/matlab/ezview/EZdiagRFsSheet.m @@ -1,5 +1,5 @@ global Exp -try %Try the whole routine +try % Try the whole routine if strcmp(Exp(expN).DexpType,'multi') ||... strcmp(Exp(expN).DexpType,'chrono') diff --git a/workflow/apps/matlab/ezview/EZdiagRFsSheetwImport.m b/workflow/apps/matlab/ezview/EZdiagRFsSheetwImport.m index 5ed56d85..6f96d4b5 100755 --- a/workflow/apps/matlab/ezview/EZdiagRFsSheetwImport.m +++ b/workflow/apps/matlab/ezview/EZdiagRFsSheetwImport.m @@ -1,4 +1,4 @@ -%Diagnostic sheet called by EZvInitLoad.m, EZexpSel.m ?EZinteractDev_.m? +% Diagnostic sheet called by EZvInitLoad.m, EZexpSel.m ?EZinteractDev_.m? global Exp intLfilename1=fullfile(Exp(expN).resDir,'PrintResults','!RFsDiagnostics.txt'); @@ -7,8 +7,8 @@ ln=1; fprintf(fid,'%d\t',ln); fprintf(fid,'%s\ExpName:::','Reference Diagnostic Values'); -%will need to reverse the equals pulling data from the Exp source as needed -%to populate the printout diagnostice sheet. +% Will need to reverse the equals pulling data from the Exp source as needed +% to populate the printout diagnostice sheet. for d=1:DMnum fprintf(fid,'RF Name\Median\Mean\STD\Max\Min'); fprintf(fid,'\n') @@ -35,41 +35,29 @@ for d=1:DMnum RFmeanGx= Exp(expN).RFmeanG(d); RFmeanG=Exp(expN).minG(d,dMPs(mm)); maxG= Exp(expN).maxG(d,dMPs(mm)); - minG= Exp(expN).minG(d,dMPs(mm)); - - - -end %for d=1:DMnum + minG= Exp(expN).minG(d,dMPs(mm)); +end for mm=1:length(dMPs) for d=1:DMnum - RFmd1posD= Exp(expN).RFmdPindx(d,dMPs(mm)); - dMP= Exp(expN).RFmdPpltN(d,dMPs(mm)); %This is a storage of the MasterPlate used NOT the ScanPlate? WeMight wish to store the ScanPlateNumber also??? - rf1scNdisp= Exp(expN).RFmdPscanN(d,dMPs(mm)); - mval1Disp= Exp(expN).RFmedianP(d,dMPs(mm)); - std1Disp= Exp(expN).stdP(d,dMPs(mm)); - mean1Disp= Exp(expN).meanP(d,dMPs(mm)); - minDisp= Exp(expN).minP(d,dMPs(mm)); - maxDisp= Exp(expN).maxP(d,dMPs(mm)); - - end %for d=1:DMnum -end %for mm=1:length(dMPs) - + RFmd1posD= Exp(expN).RFmdPindx(d,dMPs(mm)); + dMP= Exp(expN).RFmdPpltN(d,dMPs(mm)); % This is a storage of the MasterPlate used NOT the ScanPlate? WeMight wish to store the ScanPlateNumber also??? + rf1scNdisp= Exp(expN).RFmdPscanN(d,dMPs(mm)); + mval1Disp= Exp(expN).RFmedianP(d,dMPs(mm)); + std1Disp= Exp(expN).stdP(d,dMPs(mm)); + mean1Disp= Exp(expN).meanP(d,dMPs(mm)); + minDisp= Exp(expN).minP(d,dMPs(mm)); + maxDisp= Exp(expN).maxP(d,dMPs(mm)); + end +end %{ - RFcombValList= cat(1,medValList1{d+1},medValList2{d+1}); - rf12mean(RFcombValList)= Exp(expN).RFmean(d+1); - std12(RFcombValList)= Exp(expN).RFstd(d+1); - Exp(expN).RFmin(d+1)=min(RFcombValList); - Exp(expN).RFmax(d+1)=max(RFcombValList); - %} +RFcombValList= cat(1,medValList1{d+1},medValList2{d+1}); +rf12mean(RFcombValList)= Exp(expN).RFmean(d+1); +std12(RFcombValList)= Exp(expN).RFstd(d+1); +Exp(expN).RFmin(d+1)=min(RFcombValList); +Exp(expN).RFmax(d+1)=max(RFcombValList); +%} - - - - - - - fclose(fid) \ No newline at end of file diff --git a/workflow/apps/matlab/ezview/EZexpSel.m b/workflow/apps/matlab/ezview/EZexpSel.m index 715830ff..216f8ecb 100755 --- a/workflow/apps/matlab/ezview/EZexpSel.m +++ b/workflow/apps/matlab/ezview/EZexpSel.m @@ -70,7 +70,7 @@ if expN==3 set(handles.zonePB2,'BackgroundColor',[1.0 1.0 1.0]); end -Exp(expN).htmapRFanswer= {'G','L'}; %ZoneData +Exp(expN).htmapRFanswer={'G','L'}; %ZoneData if expType==1 Exp(expN).DexpType='single'; @@ -101,868 +101,779 @@ if expType==1 end -Exp(expN).Dexp(1).srtGnLst={('CheckMP/MPDMfile')}; -Exp(expN).Dexp(1).srtOrfLst={('CheckMP/MPDMfile')}; -set(handles.listboxGnOrf,'value',1) %Fix accomodation for bug in App Designer .. .wlapp converter 230906 -set(handles.listboxGnOrf,'string',cellstr([{'Failed To Load'}; {' '}])); -%try - ExpOutmat=fullfile(scansDir,openExpfile); - load(ExpOutmat); - cd(scansDir) - cd ..; - resDir=pwd; - Exp(expN).Dexp(1).resDir=resDir; - cd ..; - try %This try-catch is to go up one more dir if the images aren't found (from /OtherResults) - test4imageDir= imread(fullfile(pwd,'1','1.bmp')); - ExpPath=pwd; - Exp(expN).Dexp(1).ExpFoldr=ExpPath; + Exp(expN).Dexp(1).srtGnLst={('CheckMP/MPDMfile')}; + Exp(expN).Dexp(1).srtOrfLst={('CheckMP/MPDMfile')}; + set(handles.listboxGnOrf,'value',1) %Fix accomodation for bug in App Designer .. .wlapp converter 230906 + set(handles.listboxGnOrf,'string',cellstr([{'Failed To Load'}; {' '}])); + + ExpOutmat=fullfile(scansDir,openExpfile); + load(ExpOutmat); + cd(scansDir) + cd ..; + resDir=pwd; + Exp(expN).Dexp(1).resDir=resDir; + cd ..; + try % this try-catch is to go up one more dir if the images aren't found (from /OtherResults) + test4imageDir=imread(fullfile(pwd,'1','1.bmp')); + ExpPath=pwd; + Exp(expN).Dexp(1).ExpFoldr=ExpPath; + catch + try + cd .. + test4imageDir=imread(fullfile(pwd,'1','1.bmp')); + ExpPath=pwd; + Exp(expN).Dexp(1).ExpFoldr=ExpPath; catch - try - cd .. - test4imageDir= imread(fullfile(pwd,'1','1.bmp')); - ExpPath=pwd; - Exp(expN).Dexp(1).ExpFoldr=ExpPath; - catch - cd(w) - end + cd(w) end - cd(w) -%Experiment LOADs -%load (fullfile(ExpFoldr,'MasterPlateFiles','MPDMmat.mat')) -load (fullfile(Exp(expN).Dexp(1).ExpFoldr,'MasterPlateFiles','MPDMmat.mat')) -load(fullfile(resDir,'Fotos','Coordinates')) -load(fullfile(resDir,'Fotos','anlZones')) -load(fullfile(resDir,'Fotos','BGatTpts')) -load(fullfile(resDir,'PTmats','NImParameters')) -%Backup for cond. sothat failure to load is recovered back prev. ExpJob data -%test in temp + end + cd(w) -Exp(expN).Dexp(1).temp.DM=DM; -Exp(expN).Dexp(1).temp.MP=MP; -Exp(expN).Dexp(1).temp.scan=scan; -Exp(expN).Dexp(1).temp.FexpScanSpots=FexpScanSpots; -Exp(expN).Dexp(1).temp.FexpScanBMtp=FexpScanBMtp; -Exp(expN).Dexp(1).temp.anlZoneRefs=anlZoneRefs; -Exp(expN).Dexp(1).temp.ImParMat=ImParMat; + % Experiment Loads + % load (fullfile(ExpFoldr,'MasterPlateFiles','MPDMmat.mat')) + load(fullfile(Exp(expN).Dexp(1).ExpFoldr,'MasterPlateFiles','MPDMmat.mat')) + load(fullfile(resDir,'Fotos','Coordinates')) + load(fullfile(resDir,'Fotos','anlZones')) + load(fullfile(resDir,'Fotos','BGatTpts')) + load(fullfile(resDir,'PTmats','NImParameters')) + %Backup for cond. sothat failure to load is recovered back prev. ExpJob data + %test in temp -Exp(expN).Dexp(1).DM=Exp(expN).Dexp(1).temp.DM; -Exp(expN).Dexp(1).MP= Exp(expN).Dexp(1).temp.MP; -Exp(expN).Dexp(1).scan= Exp(expN).Dexp(1).temp.scan; -Exp(expN).Dexp(1).FexpScanSpots= Exp(expN).Dexp(1).temp.FexpScanSpots; -Exp(expN).Dexp(1).FexpScanBMtp= Exp(expN).Dexp(1).temp.FexpScanBMtp; -Exp(expN).Dexp(1).anlZoneRefs=Exp(expN).Dexp(1).temp.anlZoneRefs; -Exp(expN).Dexp(1).ImParMat=Exp(expN).Dexp(1).temp.ImParMat; + Exp(expN).Dexp(1).temp.DM=DM; + Exp(expN).Dexp(1).temp.MP=MP; + Exp(expN).Dexp(1).temp.scan=scan; + Exp(expN).Dexp(1).temp.FexpScanSpots=FexpScanSpots; + Exp(expN).Dexp(1).temp.FexpScanBMtp=FexpScanBMtp; + Exp(expN).Dexp(1).temp.anlZoneRefs=anlZoneRefs; + Exp(expN).Dexp(1).temp.ImParMat=ImParMat; -Exp(expN).DexpLength= 1; -Exp(expN).Dexp((Exp(expN).DexpLength+1):end)= []; + Exp(expN).Dexp(1).DM=Exp(expN).Dexp(1).temp.DM; + Exp(expN).Dexp(1).MP=Exp(expN).Dexp(1).temp.MP; + Exp(expN).Dexp(1).scan=Exp(expN).Dexp(1).temp.scan; + Exp(expN).Dexp(1).FexpScanSpots=Exp(expN).Dexp(1).temp.FexpScanSpots; + Exp(expN).Dexp(1).FexpScanBMtp=Exp(expN).Dexp(1).temp.FexpScanBMtp; + Exp(expN).Dexp(1).anlZoneRefs=Exp(expN).Dexp(1).temp.anlZoneRefs; + Exp(expN).Dexp(1).ImParMat=Exp(expN).Dexp(1).temp.ImParMat; + Exp(expN).DexpLength=1; + Exp(expN).Dexp((Exp(expN).DexpLength+1):end)=[]; + % Load new ExpJob + if expN==1, + % Exp(1).traceN=0; + tPtsSize=size(FexpScanBMtp{1,1},3); + set(handles.MPsldr1,'max',length(MP)); + set(handles.DMsldr1,'max',length(DM.drug)); + set(handles.Tptsldr1,'max',tPtsSize); -% Load new ExpJob -if expN==1, -% Exp(1).traceN=0; -tPtsSize=size(FexpScanBMtp{1,1},3); -set(handles.MPsldr1,'max',length(MP)); -set(handles.DMsldr1,'max',length(DM.drug)); -set(handles.Tptsldr1,'max',tPtsSize); + % MPnum=length(Exp(expN).Dexp(1).MP); + set(handles.MPsldr1,'min',1) %,'max',MPnum+.1) + DMnum=length(Exp(expN).Dexp(1).DM.drug); + set(handles.DMsldr1,'min',1,'max',DMnum) + tPtsSize=size(Exp(expN).Dexp(1).FexpScanBMtp{1,1},(3)); + set(handles.Tptsldr1,'min',1,'max',tPtsSize) -% MPnum=length(Exp(expN).Dexp(1).MP); -set(handles.MPsldr1,'min',1) %,'max',MPnum+.1) -DMnum= length(Exp(expN).Dexp(1).DM.drug); -set(handles.DMsldr1,'min',1,'max',DMnum) -tPtsSize=size(Exp(expN).Dexp(1).FexpScanBMtp{1,1},(3)); -set(handles.Tptsldr1,'min',1,'max',tPtsSize) + set(handles.MPsldr1,'value',1) + set(handles.DMsldr1,'value',1) + set(handles.Tptsldr1,'value',1) + set(handles.MPed1,'string','1') + set(handles.DMed1,'string','1') + set(handles.Tpted1,'string','1') + set(handles.MPsldr1,'SliderStep',[1/length(MP) 1/length(MP)]); + set(handles.DMsldr1,'SliderStep',[1/length(DM.drug) 1/length(DM.drug)]); + set(handles.Tptsldr1,'SliderStep',[1/tPtsSize 1/tPtsSize]); -set(handles.MPsldr1,'value',1) -set(handles.DMsldr1,'value',1) -set(handles.Tptsldr1,'value',1) -set(handles.MPed1,'string','1') -set(handles.DMed1,'string','1') -set(handles.Tpted1,'string','1') -set(handles.MPsldr1,'SliderStep',[1/length(MP) 1/length(MP)]); -set(handles.DMsldr1,'SliderStep',[1/length(DM.drug) 1/length(DM.drug)]); -set(handles.Tptsldr1,'SliderStep',[1/tPtsSize 1/tPtsSize]); + set(handles.DN1,'value',1) + set(handles.DN1,'string',1) + end + if expN==2, + %Exp(2).traceN=0; + tPtsSize=size(FexpScanBMtp{1,1},3); + set(handles.MPsldr2,'max',length(MP)); + set(handles.DMsldr2,'max',length(DM.drug)); + set(handles.Tptsldr2,'max',tPtsSize); + %MPnum=length(Exp(expN).Dexp(1).MP); + set(handles.MPsldr2,'min',1) %,'max',MPnum) + DMnum=length(Exp(expN).Dexp(1).DM.drug); + set(handles.DMsldr2,'min',1,'max',DMnum) + tPtsSize=size(Exp(expN).Dexp(1).FexpScanBMtp{1,1},(3)); + set(handles.Tptsldr2,'min',1,'max',tPtsSize) -set(handles.DN1,'value',1) -set(handles.DN1,'string',1) -end -if expN==2, -%Exp(2).traceN=0; -tPtsSize=size(FexpScanBMtp{1,1},3); -set(handles.MPsldr2,'max',length(MP)); -set(handles.DMsldr2,'max',length(DM.drug)); -set(handles.Tptsldr2,'max',tPtsSize); -%MPnum=length(Exp(expN).Dexp(1).MP); -set(handles.MPsldr2,'min',1) %,'max',MPnum) -DMnum= length(Exp(expN).Dexp(1).DM.drug); -set(handles.DMsldr2,'min',1,'max',DMnum) -tPtsSize=size(Exp(expN).Dexp(1).FexpScanBMtp{1,1},(3)); -set(handles.Tptsldr2,'min',1,'max',tPtsSize) + set(handles.MPsldr2,'value',1) + set(handles.DMsldr2,'value',1) + set(handles.Tptsldr2,'value',1) + set(handles.MPed2,'string','1') + set(handles.DMed2,'string','1') + set(handles.Tpted2,'string','1') + set(handles.MPsldr2,'SliderStep',[1/length(MP) 1/length(MP)]); + set(handles.DMsldr2,'SliderStep',[1/length(DM.drug) 1/length(DM.drug)]); + set(handles.Tptsldr2,'SliderStep',[1/tPtsSize 1/tPtsSize]); -set(handles.MPsldr2,'value',1) -set(handles.DMsldr2,'value',1) -set(handles.Tptsldr2,'value',1) -set(handles.MPed2,'string','1') -set(handles.DMed2,'string','1') -set(handles.Tpted2,'string','1') -set(handles.MPsldr2,'SliderStep',[1/length(MP) 1/length(MP)]); -set(handles.DMsldr2,'SliderStep',[1/length(DM.drug) 1/length(DM.drug)]); -set(handles.Tptsldr2,'SliderStep',[1/tPtsSize 1/tPtsSize]); + set(handles.DN2,'value',1) + set(handles.DN2,'string',1) + end -set(handles.DN2,'value',1) -set(handles.DN2,'string',1) -end + if expN==3, + % Exp(3).traceN=0; + tPtsSize=size(FexpScanBMtp{1,1},3); + set(handles.MPsldr3,'max',length(MP)); + set(handles.DMsldr3,'max',length(DM.drug)); + set(handles.Tptsldr3,'max',tPtsSize); + % MPnum=length(Exp(expN).Dexp(1).MP); + set(handles.MPsldr3,'min',1) %,'max',MPnum) + DMnum=length(Exp(expN).Dexp(1).DM.drug); + set(handles.DMsldr3,'min',1,'max',DMnum) + tPtsSize=size(Exp(expN).Dexp(1).FexpScanBMtp{1,1},(3)); + set(handles.Tptsldr3,'min',1,'max',tPtsSize) + set(handles.MPsldr3,'value',1) + set(handles.DMsldr3,'value',1) + set(handles.Tptsldr3,'value',1) + set(handles.MPed3,'string','1') + set(handles.DMed3,'string','1') + set(handles.Tpted3,'string','1') + set(handles.MPsldr3,'SliderStep',[1/length(MP) 1/length(MP)]); + set(handles.DMsldr3,'SliderStep',[1/length(DM.drug) 1/length(DM.drug)]); + set(handles.Tptsldr3,'SliderStep',[1/tPtsSize 1/tPtsSize]); -if expN==3, -%Exp(3).traceN=0; -tPtsSize=size(FexpScanBMtp{1,1},3); -set(handles.MPsldr3,'max',length(MP)); -set(handles.DMsldr3,'max',length(DM.drug)); -set(handles.Tptsldr3,'max',tPtsSize); -%MPnum=length(Exp(expN).Dexp(1).MP); -set(handles.MPsldr3,'min',1) %,'max',MPnum) -DMnum= length(Exp(expN).Dexp(1).DM.drug); -set(handles.DMsldr3,'min',1,'max',DMnum) -tPtsSize=size(Exp(expN).Dexp(1).FexpScanBMtp{1,1},(3)); -set(handles.Tptsldr3,'min',1,'max',tPtsSize) + set(handles.DN3,'value',1) + set(handles.DN3,'string',1) + end -set(handles.MPsldr3,'value',1) -set(handles.DMsldr3,'value',1) -set(handles.Tptsldr3,'value',1) -set(handles.MPed3,'string','1') -set(handles.DMed3,'string','1') -set(handles.Tpted3,'string','1') -set(handles.MPsldr3,'SliderStep',[1/length(MP) 1/length(MP)]); -set(handles.DMsldr3,'SliderStep',[1/length(DM.drug) 1/length(DM.drug)]); -set(handles.Tptsldr3,'SliderStep',[1/tPtsSize 1/tPtsSize]); + if expN==1, + set(handles.GeneOrfLoc1,'string',{''}); + set(handles.graphStrLoc1,'string',{''}); + cla(handles.Paxes1); + end + if expN==2 + set(handles.GeneOrfLoc2,'string',{''}); + set(handles.graphStrLoc2,'string',{''}); + cla(handles.Paxes2) + end + if expN==3 + set(handles.GeneOrfLoc3,'string',{''}); + set(handles.graphStrLoc3,'string',{''}) + cla(handles.Paxes3) + end + Exp(expN).Dexp(1).srtGnLst={('CheckMP/MPDMfile')}; + Exp(expN).Dexp(1).srtOrfLst={('CheckMP/MPDMfile')}; + set(handles.listboxGnOrf,'string',Exp(expN).Dexp(1).srtGnLst) + set(handles.listboxGnOrf,'string',Exp(expN).Dexp(1).srtOrfLst) -set(handles.DN3,'value',1) -set(handles.DN3,'string',1) -end + EZVimDisplay -if expN==1,set(handles.GeneOrfLoc1,'string',{''}); - set(handles.graphStrLoc1,'string',{''}); - cla(handles.Paxes1) -end -if expN==2,set(handles.GeneOrfLoc2,'string',{''}); - set(handles.graphStrLoc2,'string',{''}); - cla(handles.Paxes2) -end -if expN==3,set(handles.GeneOrfLoc3,'string',{''}); - set(handles.graphStrLoc3,'string',{''}) - cla(handles.Paxes3) -end -Exp(expN).Dexp(1).srtGnLst={('CheckMP/MPDMfile')}; -Exp(expN).Dexp(1).srtOrfLst={('CheckMP/MPDMfile')}; -set(handles.listboxGnOrf,'string',Exp(expN).Dexp(1).srtGnLst) -set(handles.listboxGnOrf,'string',Exp(expN).Dexp(1).srtOrfLst) - - -EZVimDisplay - -% Capture Exp Name -try - xp=char(Exp(expN).Dexp(1).resDir); - if ispc, - slashPos=strfind(char(Exp(expN).Dexp(1).resDir),'\'); - else - slashPos=strfind(char(Exp(expN).Dexp(1).resDir),'/'); - end - startPos=slashPos(length(slashPos)-2) +1; - endPos=(slashPos(length(slashPos)) -1); - expStrn= xp(startPos:end); - if expN==1,set(handles.expName1,'string',expStrn);end - if expN==2,set(handles.expName2,'string',expStrn);end - if expN==3,set(handles.expName3,'string',expStrn);end -catch + % Capture Exp Name + try + xp=char(Exp(expN).Dexp(1).resDir); + if ispc, + slashPos=strfind(char(Exp(expN).Dexp(1).resDir),'\'); + else + slashPos=strfind(char(Exp(expN).Dexp(1).resDir),'/'); + end + startPos=slashPos(length(slashPos)-2) +1; + endPos=(slashPos(length(slashPos)) -1); + expStrn=xp(startPos:end); + if expN==1,set(handles.expName1,'string',expStrn);end + if expN==2,set(handles.expName2,'string',expStrn);end + if expN==3,set(handles.expName3,'string',expStrn);end + catch catchissue='Ln198' -end % nested try-catch-end + end % nested try-catch-end - -% Compile GeneList and OrfList -% Sort and add the medians of Ref Plates if RF1,RF2 exist -% Added 17-1023 For User Addition of Gene Composites to ListBox -Expaa{expN,1}= []; Expbb{expN,1}= []; -lstindx=0; -lstindxOrf=0; -spN=0; -rfcnt=0; -dRF1indx=0; -RF1mp=[]; RF2mp=[]; -for mp=1:MPnum %length(Exp(expN).Dexp(1).MP) + % Compile GeneList and OrfList + % Sort and add the medians of Ref Plates if RF1,RF2 exist + % Added 17-1023 For User Addition of Gene Composites to ListBox + Expaa{expN,1}=[]; + Expbb{expN,1}=[]; + lstindx=0; + lstindxOrf=0; + spN=0; + rfcnt=0; + dRF1indx=0; + RF1mp=[]; + RF2mp=[]; + for mp=1:MPnum % length(Exp(expN).Dexp(1).MP) - for ind384=1:384 + for ind384=1:384 spN=spN+1; - - try % Temp find data error - 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(1).MP(mp).genename{1}(ind384))==38991, - Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)={'OCT1_'}; - elseif isnumeric(cell2mat(Exp(expN).Dexp(1).MP(mp).genename{1}(ind384))) - Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)={' '}; - end - %****Check for full(384spot) Reference Plates (RF1 or/and RF2)************** - RF1fullPlate=0; - try RF1fullPlate=sum(ismember((Exp(expN).Dexp(1).MP(mp).genename{1}),'RF1'))==384; catch, mp, msg=strcat(num2str(mp),' genename ERROR'), end - RF2fullPlate=0; - try RF2fullPlate=sum(ismember((Exp(expN).Dexp(1).MP(mp).genename{1}),'RF2'))==384; catch, mp, msg=strcat(num2str(mp),' genename ERROR'), end - - if isempty(regexpi(char((Exp(expN).Dexp(1).MP(mp).orf{1}(ind384))),'blank'))... %'\' - && ~isnumeric(Exp(expN).Dexp(1).MP(mp).orf{1}(ind384))... - && ~strcmpi((Exp(expN).Dexp(1).MP(mp).orf{1}(ind384)),' ')... - && ~strcmpi((Exp(expN).Dexp(1).MP(mp).orf{1}(ind384)),' ')... - && ~strcmpi((Exp(expN).Dexp(1).MP(mp).orf{1}(ind384)),'')... - && ~isempty((Exp(expN).Dexp(1).MP(mp).orf{1}(ind384)))... - && (~strcmpi((Exp(expN).Dexp(1).MP(mp).orf{1}(ind384)),'RF1'))... %||~strcmpi((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)),'RF1'))... %&& mp==1)... - && (~strcmpi((Exp(expN).Dexp(1).MP(mp).orf{1}(ind384)),'RF2'))... %||~strcmpi((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)),'RF2'))... %&& mp==length(Exp(expN).Dexp(1).MP))... - && iscellstr((Exp(expN).Dexp(1).MP(mp).orf{1}(ind384))) - - lstindxOrf=lstindxOrf+1; - Exp(expN).Dexp(1).MP(mp).orf{1}(ind384) =strrep((Exp(expN).Dexp(1).MP(mp).orf{1}(ind384)),':',' '); - bb(lstindxOrf,1)= (Exp(expN).Dexp(1).MP(mp).orf{1}(ind384)); - bb(lstindxOrf,2)={strcat(':',num2str(mp),':',num2str(r),':',num2str(c))}; - bb(lstindxOrf,3)={mp}; - bb(lstindxOrf,4)={r}; - bb(lstindxOrf,5)={c}; - - mutorfs(lstindxOrf)=spN; %16_0318 added for Interaction EZinteract - %Exp(expN).Dexp(1).mutSpotIndx(lstindxOrf)=spN; %16_0318 added for Interaction EZinteract + try % Temp find data error + 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(1).MP(mp).genename{1}(ind384))==38991, + Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)={'OCT1_'}; + elseif isnumeric(cell2mat(Exp(expN).Dexp(1).MP(mp).genename{1}(ind384))) + Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)={' '}; + end + % Check for full(384spot) Reference Plates (RF1 or/and RF2) + RF1fullPlate=0; + try RF1fullPlate=sum(ismember((Exp(expN).Dexp(1).MP(mp).genename{1}),'RF1'))==384; catch, mp, msg=strcat(num2str(mp),' genename ERROR'), end + RF2fullPlate=0; + try RF2fullPlate=sum(ismember((Exp(expN).Dexp(1).MP(mp).genename{1}),'RF2'))==384; catch, mp, msg=strcat(num2str(mp),' genename ERROR'), end + + if isempty(regexpi(char((Exp(expN).Dexp(1).MP(mp).orf{1}(ind384))),'blank'))... % '\' + && ~isnumeric(Exp(expN).Dexp(1).MP(mp).orf{1}(ind384))... + && ~strcmpi((Exp(expN).Dexp(1).MP(mp).orf{1}(ind384)),' ')... + && ~strcmpi((Exp(expN).Dexp(1).MP(mp).orf{1}(ind384)),' ')... + && ~strcmpi((Exp(expN).Dexp(1).MP(mp).orf{1}(ind384)),'')... + && ~isempty((Exp(expN).Dexp(1).MP(mp).orf{1}(ind384)))... + && (~strcmpi((Exp(expN).Dexp(1).MP(mp).orf{1}(ind384)),'RF1'))... %||~strcmpi((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)),'RF1'))... %&& mp==1)... + && (~strcmpi((Exp(expN).Dexp(1).MP(mp).orf{1}(ind384)),'RF2'))... %||~strcmpi((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)),'RF2'))... %&& mp==length(Exp(expN).Dexp(1).MP))... + && iscellstr((Exp(expN).Dexp(1).MP(mp).orf{1}(ind384))) + lstindxOrf=lstindxOrf+1; + Exp(expN).Dexp(1).MP(mp).orf{1}(ind384)=strrep((Exp(expN).Dexp(1).MP(mp).orf{1}(ind384)),':',' '); + bb(lstindxOrf,1)=(Exp(expN).Dexp(1).MP(mp).orf{1}(ind384)); + bb(lstindxOrf,2)={strcat(':',num2str(mp),':',num2str(r),':',num2str(c))}; + bb(lstindxOrf,3)={mp}; + bb(lstindxOrf,4)={r}; + bb(lstindxOrf,5)={c}; + mutorfs(lstindxOrf)=spN; %16_0318 added for Interaction EZinteract + %Exp(expN).Dexp(1).mutSpotIndx(lstindxOrf)=spN; %16_0318 added for Interaction EZinteract + end + + if isempty(regexpi(char((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384))),'blank'))... % '\' + && ~isnumeric(Exp(expN).Dexp(1).MP(mp).genename{1}(ind384))... + && ~strcmpi((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)),' ')... + && ~strcmpi((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)),' ')... + && ~strcmpi((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)),'')... + && ~isempty((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)))... + && (~strcmpi((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)),'RF1'))... %&& ~RF1fullPlate)... + && (~strcmpi((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)),'RF2'))... %&& ~RF2fullPlate)... + && iscellstr((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384))) + lstindx=lstindx+1; + Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)=strrep((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)),':',' '); + aa(lstindx,1)=(Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)); + aa(lstindx,2)={strcat(':',num2str(mp),':',num2str(r),':',num2str(c))}; + aa(lstindx,3)={mp}; + aa(lstindx,4)={r}; + aa(lstindx,5)={c}; + mutgenes(lstindx)=spN; + elseif (RF1fullPlate==1 ... % sum(ismember((Exp(expN).Dexp(1).MP(mp).genename{1}),'RF1'))==384 || ... + || (((length(unique(Exp(expN).Dexp(1).MP(mp).genename{1}(1:384))))==1 && mp==1 ) ... %(isequal((Exp(expN).Dexp(1).MP(mp).genename{1}(1:384)), (Exp(expN).Dexp(1).MP(mp).genename{1}(384:-1:1)))&& mp==1 )) && ... + && ~exist('RF1scanN','var'))) + rfcnt=rfcnt+1; + RFs(spN:spN+383)=spN:spN+383; + RF1mp=mp + RF1scanN=(mp*DMnum)-(DMnum-1) + elseif (RF2fullPlate==1||... % sum(ismember((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)),'RF2'))==384 ||... + (((length(unique(Exp(expN).Dexp(1).MP(mp).genename{1}(1:384))))==1 && mp==MPnum ) ... + && ~exist('RF2scanN','var'))) + rfcnt=rfcnt+1; + RFs(spN:spN+383)=spN:spN+383; + RF2mp=mp + RF2scanN=(mp*DMnum)-(DMnum-1) + % Dispersed Reference capture and find Medians + elseif strcmpi((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)),'RF1') ... + && (RF1fullPlate~=1) + dRF1indx=dRF1indx+1; + Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)=strrep((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)),':',' '); + drf(dRF1indx,1)=(Exp(expN).Dexp(1).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; end - - if isempty(regexpi(char((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384))),'blank'))... %'\' - && ~isnumeric(Exp(expN).Dexp(1).MP(mp).genename{1}(ind384))... - && ~strcmpi((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)),' ')... - && ~strcmpi((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)),' ')... - && ~strcmpi((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)),'')... - && ~isempty((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)))... - && (~strcmpi((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)),'RF1'))... %&& ~RF1fullPlate)... - && (~strcmpi((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)),'RF2'))... %&& ~RF2fullPlate)... - && iscellstr((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384))) - - lstindx=lstindx+1; - Exp(expN).Dexp(1).MP(mp).genename{1}(ind384) =strrep((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)),':',' '); - aa(lstindx,1)= (Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)); - aa(lstindx,2)={strcat(':',num2str(mp),':',num2str(r),':',num2str(c))}; - aa(lstindx,3)={mp}; - aa(lstindx,4)={r}; - aa(lstindx,5)={c}; - - mutgenes(lstindx)=spN; - - - elseif (RF1fullPlate==1 ||... %sum(ismember((Exp(expN).Dexp(1).MP(mp).genename{1}),'RF1'))==384 || ... - (((length(unique(Exp(expN).Dexp(1).MP(mp).genename{1}(1:384)))) ==1 && mp==1 ) && ... %(isequal((Exp(expN).Dexp(1).MP(mp).genename{1}(1:384)), (Exp(expN).Dexp(1).MP(mp).genename{1}(384:-1:1)))&& mp==1 )) && ... - ~exist('RF1scanN','var'))) - rfcnt=rfcnt+1; - RFs(spN:spN+383)= spN:spN+383; - RF1mp=mp - RF1scanN=(mp*DMnum)-(DMnum-1) - - elseif (RF2fullPlate==1||... %sum(ismember((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)),'RF2'))==384 ||... - (((length(unique(Exp(expN).Dexp(1).MP(mp).genename{1}(1:384)))) ==1 && mp== MPnum ) && ... - ~exist('RF2scanN','var'))) - rfcnt=rfcnt+1; - RFs(spN:spN+383)= spN:spN+383; - RF2mp=mp - RF2scanN= (mp*DMnum)-(DMnum-1) - - %Dispersed Reference capture and find Medians - elseif strcmpi((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)),'RF1') && ... - (RF1fullPlate~=1) - - dRF1indx=dRF1indx+1; - Exp(expN).Dexp(1).MP(mp).genename{1}(ind384) =strrep((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)),':',' '); - drf(dRF1indx,1)= (Exp(expN).Dexp(1).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; - - end %if isempty(regexpi(char((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384))),'blank'))... - %******************************************************************************* catch - error='EZexpSel lineAfter 236 EZexpSel.m' - mp - ind384 - msgBadGeneName= strcat('check genename at mp=',num2str(mp),' indx=',num2str(ind384)) - end - - end %end associated with for ind384=1:384 + error='EZexpSel lineAfter 236 EZexpSel.m' + mp + ind384 + msgBadGeneName=strcat('check genename at mp=',num2str(mp),' indx=',num2str(ind384)) + end + end mp -end %end associated with for mp=1:length(Exp(expN).Dexp(1).MP) -%***************************************************** - %Cover case if mutorfs RFs are labeled RF1 or RF2 - try - Exp(expN).Dexp(1).mutSpotIndx.wRFs= union(RFs, mutorfs); - catch - msg= 'No RFs Found in Exp! wRFs' - Exp(expN).Dexp(1).mutSpotIndx.wRFs= mutorfs; - end - try - Exp(expN).Dexp(1).mutSpotIndx.woRFs= setdiff(mutorfs,RFs); - catch - Exp(expN).Dexp(1).mutSpotIndx.woRFs= mutorfs; - msg= 'No RFs Found in Exp! woRFs' - end - -%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& + end + + % Cover case if mutorfs RFs are labeled RF1 or RF2 + try + Exp(expN).Dexp(1).mutSpotIndx.wRFs=union(RFs, mutorfs); + catch + msg='No RFs Found in Exp! wRFs' + Exp(expN).Dexp(1).mutSpotIndx.wRFs=mutorfs; + end + try + Exp(expN).Dexp(1).mutSpotIndx.woRFs=setdiff(mutorfs,RFs); + catch + Exp(expN).Dexp(1).mutSpotIndx.woRFs=mutorfs; + msg='No RFs Found in Exp! woRFs' + end + + Exp(expN).Dexp(1).RFmd1indx=[]; + Exp(expN).Dexp(1).RFmd1LB={[]}; + Exp(expN).Dexp(1).RFmd1pltN={}; + Exp(expN).Dexp(1).RFmd1val=[]; + Exp(expN).Dexp(1).mean1=[]; + Exp(expN).Dexp(1).std1=[]; + Exp(expN).Dexp(1).min1=[]; + Exp(expN).Dexp(1).max1=[]; + Exp(expN).Dexp(1).RFcmpK=[]; %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpr=[]; %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpL=[]; %For Ref Composite 17_1009 + + Exp(expN).Dexp(1).RFmd2indx=[]; + Exp(expN).Dexp(1).RFmd2LB={[]}; + Exp(expN).Dexp(1).RFmd2pltN={}; + Exp(expN).Dexp(1).RFmd2val=[]; + Exp(expN).Dexp(1).mean2=[]; + Exp(expN).Dexp(1).std2=[]; + Exp(expN).Dexp(1).min2=[]; + Exp(expN).Dexp(1).max2=[]; + + Exp(expN).Dexp(1).RFmean=[]; + Exp(expN).Dexp(1).RFstd=[]; + Exp(expN).Dexp(1).RFmin=[]; + Exp(expN).Dexp(1).RFmax=[]; + + Exp(expN).Dexp(1).RFmdPLvals=[]; %17_1201 TrendOL + Exp(expN).Dexp(1).RFmdPLB={[]}; + Exp(expN).Dexp(1).RFmdPindx=[]; + Exp(expN).Dexp(1).RFmdPpltN=[]; + Exp(expN).Dexp(1).RFmdPscanN=[]; + Exp(expN).Dexp(1).RFmedianP=[]; + Exp(expN).Dexp(1).stdP=[]; + Exp(expN).Dexp(1).meanP=[]; + Exp(expN).Dexp(1).minP=[]; + Exp(expN).Dexp(1).maxP=[]; + Exp(expN).Dexp(1).RFcmpPK=[]; %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpPr=[]; %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpPL=[]; %For Ref Composite 17_1009 + + Exp(expN).Dexp(1).RFmdGLB={[]}; + Exp(expN).Dexp(1).RFmdGindx=[]; + Exp(expN).Dexp(1).RFmdGpltN=[]; + Exp(expN).Dexp(1).RFmdGscanN=[]; + Exp(expN).Dexp(1).RFmedianG=[]; + Exp(expN).Dexp(1).RFmeanG=[]; + Exp(expN).Dexp(1).RFstdG=[]; + Exp(expN).Dexp(1).RFminG=[]; + Exp(expN).Dexp(1).RFmaxG=[]; + Exp(expN).Dexp(1).RFcmpGK=[]; %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpGr=[]; %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpGL=[]; %For Ref Composite 17_1009 + + %{ + Exp(expN).Dexp(1).RFmeanGK=[]; %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFstdGK=[]; %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFminGK=[]; %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFmaxGK=[]; %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFmeanGr=[]; %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFstdGr=[]; %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFminGr=[]; %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFmaxGr=[]; %For Ref Composite 17_1009 + %} - -Exp(expN).Dexp(1).RFmd1indx=[]; -Exp(expN).Dexp(1).RFmd1LB= {[]}; -Exp(expN).Dexp(1).RFmd1pltN={}; -Exp(expN).Dexp(1).RFmd1val= []; -Exp(expN).Dexp(1).mean1= []; -Exp(expN).Dexp(1).std1= []; -Exp(expN).Dexp(1).min1= []; -Exp(expN).Dexp(1).max1= []; - -Exp(expN).Dexp(1).RFcmpK= []; %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpr= []; %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpL= []; %For Ref Composite 17_1009 - -Exp(expN).Dexp(1).RFmd2indx= []; -Exp(expN).Dexp(1).RFmd2LB= {[]}; -Exp(expN).Dexp(1).RFmd2pltN= {}; -Exp(expN).Dexp(1).RFmd2val= []; -Exp(expN).Dexp(1).mean2= []; -Exp(expN).Dexp(1).std2= []; -Exp(expN).Dexp(1).min2= []; -Exp(expN).Dexp(1).max2= []; - -Exp(expN).Dexp(1).RFmean= []; -Exp(expN).Dexp(1).RFstd= []; -Exp(expN).Dexp(1).RFmin= []; -Exp(expN).Dexp(1).RFmax= []; - -Exp(expN).Dexp(1).RFmdPLvals= []; %17_1201 TrendOL -Exp(expN).Dexp(1).RFmdPLB= {[]}; -Exp(expN).Dexp(1).RFmdPindx= []; -Exp(expN).Dexp(1).RFmdPpltN= []; -Exp(expN).Dexp(1).RFmdPscanN= []; -Exp(expN).Dexp(1).RFmedianP= []; -Exp(expN).Dexp(1).stdP= []; -Exp(expN).Dexp(1).meanP= []; -Exp(expN).Dexp(1).minP= []; -Exp(expN).Dexp(1).maxP= []; -Exp(expN).Dexp(1).RFcmpPK= []; %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpPr= []; %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpPL= []; %For Ref Composite 17_1009 - -Exp(expN).Dexp(1).RFmdGLB= {[]}; -Exp(expN).Dexp(1).RFmdGindx= []; -Exp(expN).Dexp(1).RFmdGpltN= []; -Exp(expN).Dexp(1).RFmdGscanN= []; -Exp(expN).Dexp(1).RFmedianG= []; -Exp(expN).Dexp(1).RFmeanG= []; -Exp(expN).Dexp(1).RFstdG= []; -Exp(expN).Dexp(1).RFminG= []; -Exp(expN).Dexp(1).RFmaxG= []; -Exp(expN).Dexp(1).RFcmpGK= []; %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpGr= []; %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpGL= []; %For Ref Composite 17_1009 - -%{ -Exp(expN).Dexp(1).RFmeanGK= []; %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFstdGK= []; %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFminGK= []; %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFmaxGK= []; %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFmeanGr= []; %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFstdGr= []; %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFminGr= []; %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFmaxGr= []; %For Ref Composite 17_1009 -%} - - - -if exist('RF1scanN','var') - for d=0:(DMnum-1) + if exist('RF1scanN','var') + for d=0:(DMnum-1) medianIndx=[]; nonZeroIndx=[]; medValList=[]; rf1scN=RF1scanN+d; + try % if RF1scanN doesn't exist this addition to list will be skipped + nonZeroIndx=find(Exp(expN).Dexp(1).scan(rf1scN).plate(1).CFout(1:384,5)); + if isempty(nonZeroIndx) + nonZeroCnt=0 + medianIndx=nonZeroIndx; + else + nonZeroCnt=length(nonZeroIndx); + end + if ~isempty(nonZeroIndx) && mod(nonZeroCnt,2)==0, medianIndx=nonZeroIndx(1:nonZeroCnt-1); end + if ~isempty(nonZeroIndx) && mod(nonZeroCnt,2)~=0, medianIndx=nonZeroIndx; end + clear medValLst + clear kValLst + clear rValLst + if ~isempty(nonZeroIndx) && length(medianIndx) > (.15*384) %To calc. a median, more than 15% of spots must be nonZero + medValLst=Exp(expN).Dexp(1).scan(rf1scN).plate(1).CFout(medianIndx,5); + medValList1{d+1}=medValLst; + min1=min(medValLst); + max1=max(medValLst); + std1=std(medValLst); + mean1=mean(medValLst); + kValLst=Exp(expN).Dexp(1).scan(rf1scN).plate(1).CFout(medianIndx,3); %For Ref Composite 17_1009 + rValLst=Exp(expN).Dexp(1).scan(rf1scN).plate(1).CFout(medianIndx,4); %For Ref Composite 17_1009 + mval1=median(medValLst); %mval1=median(Exp(expN).Dexp(1).scan(RF1mps).plate(1).CFout(1:384,5)); %CFout(1:383,5)); + RFmd1pos=find(mval1==(Exp(expN).Dexp(1).scan(rf1scN).plate(1).CFout(1:384,5))); + RFmd1loc(1)=ceil(RFmd1pos/24); %calc r value + RFmd1loc(2)=RFmd1pos - ((RFmd1loc(1)-1)*24); %calc c value + lstindx=lstindx+1; + lstindxOrf=lstindxOrf+1; + aa(lstindx,1)={strcat('RF1md(',num2str(d+1),')')}; %{'RF1md'}; + aa(lstindx,2)={strcat(':',num2str(RF1mp),':',num2str(RFmd1loc(1)),':',num2str(RFmd1loc(2)))}; %,'std_',num2str(std1))}; + bb(lstindxOrf,1)={strcat('RF1md(',num2str(d+1),')')}; %{'RF1md'}; + bb(lstindxOrf,2)={strcat(':',num2str(RF1mp),':',num2str(RFmd1loc(1)),':',num2str(RFmd1loc(2)))}; %,'std_',num2str(std1))}; + % Composite Reference Amalgum Plot ********************* + lstindx=lstindx+1; + lstindxOrf=lstindxOrf+1; + aa(lstindx,1)={strcat('RF1cmp(',num2str(d+1),')')}; + aa(lstindx,2)={''}; + bb(lstindxOrf,1)={strcat('RF1cmp(',num2str(d+1),')')}; + bb(lstindxOrf,2)={''}; -try %if RF1scanN doesn't exist this addition to list will be skipped - nonZeroIndx= find(Exp(expN).Dexp(1).scan(rf1scN).plate(1).CFout(1:384,5)); - - if isempty(nonZeroIndx), nonZeroCnt=0; medianIndx= nonZeroIndx; - else nonZeroCnt=length(nonZeroIndx); - end - % - if ~isempty(nonZeroIndx) && mod(nonZeroCnt,2)==0, medianIndx= nonZeroIndx(1:nonZeroCnt-1); end - if ~isempty(nonZeroIndx) && mod(nonZeroCnt,2)~=0, medianIndx= nonZeroIndx; end - clear medValLst - clear kValLst - clear rValLst -if ~isempty(nonZeroIndx) && length(medianIndx) > (.15*384) %To calc. a median, more than 15% of spots must be nonZero - medValLst= Exp(expN).Dexp(1).scan(rf1scN).plate(1).CFout(medianIndx,5); - medValList1{d+1}= medValLst; - min1= min(medValLst); - max1= max(medValLst); - std1= std(medValLst); - mean1= mean(medValLst); - - kValLst= Exp(expN).Dexp(1).scan(rf1scN).plate(1).CFout(medianIndx,3); %For Ref Composite 17_1009 - rValLst= Exp(expN).Dexp(1).scan(rf1scN).plate(1).CFout(medianIndx,4); %For Ref Composite 17_1009 - -mval1=median(medValLst); %mval1=median(Exp(expN).Dexp(1).scan(RF1mps).plate(1).CFout(1:384,5)); %CFout(1:383,5)); -RFmd1pos=find(mval1==(Exp(expN).Dexp(1).scan(rf1scN).plate(1).CFout(1:384,5))); -RFmd1loc(1)= ceil(RFmd1pos/24); %calc r value -RFmd1loc(2)= RFmd1pos - ((RFmd1loc(1)-1)*24); %calc c value -lstindx=lstindx+1; -lstindxOrf= lstindxOrf+1; -aa(lstindx,1)= {strcat('RF1md(',num2str(d+1),')')}; %{'RF1md'}; -aa(lstindx,2)={strcat(':',num2str(RF1mp),':',num2str(RFmd1loc(1)),':',num2str(RFmd1loc(2)))}; %,'std_',num2str(std1))}; -bb(lstindxOrf,1)= {strcat('RF1md(',num2str(d+1),')')}; %{'RF1md'}; -bb(lstindxOrf,2)={strcat(':',num2str(RF1mp),':',num2str(RFmd1loc(1)),':',num2str(RFmd1loc(2)))}; %,'std_',num2str(std1))}; -%Composite Reference Amalgum Plot ********************* -lstindx=lstindx+1; -lstindxOrf= lstindxOrf+1; -aa(lstindx,1)= {strcat('RF1cmp(',num2str(d+1),')')}; -aa(lstindx,2)={''}; -bb(lstindxOrf,1)= {strcat('RF1cmp(',num2str(d+1),')')}; -bb(lstindxOrf,2)={''}; -%******************************************************* - -Exp(expN).Dexp(1).RFmd1LB(d+1)= strcat(aa(lstindx,1),aa(lstindx,2)); -Exp(expN).Dexp(1).RFmd1indx(d+1)= RFmd1pos; -Exp(expN).Dexp(1).RFmd1pltN= RF1mp; -Exp(expN).Dexp(1).RFmd1val(d+1)= mval1; -Exp(expN).Dexp(1).RFmd1Lvals= medValLst; %17_1201 TrendOL -Exp(expN).Dexp(1).mean1(d+1)= mean1; -Exp(expN).Dexp(1).std1(d+1)= std1; -Exp(expN).Dexp(1).min1(d+1)= min1; -Exp(expN).Dexp(1).max1(d+1)= max1; -Exp(expN).Dexp(1).RFcmpL(1).dm(d+1).Lvals= medValLst; %17_1201 TrendOL -Exp(expN).Dexp(1).RFcmpL(1).dm(d+1).med= median(medValLst); %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpL(1).dm(d+1).mean= mean(medValLst); %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpL(1).dm(d+1).std= std(medValLst); %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpL(1).dm(d+1).min= min(medValLst); %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpL(1).dm(d+1).max= max(medValLst); %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpK(1).dm(d+1).Kvals= kValLst; %17_1201 TrendOL -Exp(expN).Dexp(1).RFcmpK(1).dm(d+1).med= median(kValLst); %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpK(1).dm(d+1).mean= mean(kValLst); %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpK(1).dm(d+1).std= std(kValLst); %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpK(1).dm(d+1).min= min(kValLst); %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpK(1).dm(d+1).max= max(kValLst); %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpr(1).dm(d+1).rvals= rValLst; %17_1201 TrendOL -Exp(expN).Dexp(1).RFcmpr(1).dm(d+1).med= median(rValLst); %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpr(1).dm(d+1).mean= mean(rValLst); %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpr(1).dm(d+1).std= std(rValLst); %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpr(1).dm(d+1).min= min(rValLst); %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpr(1).dm(d+1).max= max(rValLst); %For Ref Composite 17_1009 - -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 - medianCalcFailed= 'To Few nonZero spots for valid median RF1 selection' - firstZero= find(((Exp(expN).Dexp(1).scan(rf1scN).plate(1).CFout(1:384,5))==0),1,'first') - Exp(expN).Dexp(1).RFmd1indx(d+1)=firstZero; - Exp(expN).Dexp(1).RFmd1pltN= RF1mp; - - try medValList1{d+1}= Exp(expN).Dexp(1).scan(rf1scN).plate(1).CFout(medianIndx,5); nonZeroCnt; - catch, catcherror='Ln356', - end - -end %~isempty(nonZeroIndx) && length(medianIndx) > (.15*384) -catch %try ~ln375 - medianCalcTryFailed1= 'Failed! Failed! Ln362 But process continued with bogus P1ind384 spot value!' - - try - firstZero= find(((Exp(expN).Dexp(1).scan(rf1scN).plate(1).CFout(1:384,5))==0),1,'first') - Exp(expN).Dexp(1).RFmd1indx(d+1)=firstZero; - catch - catchissue='Ln366' - Exp(expN).Dexp(1).RFmd1indx(d+1)=384; %if crapout,Then use spot384 as default to keep going + Exp(expN).Dexp(1).RFmd1LB(d+1)=strcat(aa(lstindx,1),aa(lstindx,2)); + Exp(expN).Dexp(1).RFmd1indx(d+1)=RFmd1pos; + Exp(expN).Dexp(1).RFmd1pltN=RF1mp; + Exp(expN).Dexp(1).RFmd1val(d+1)=mval1; + Exp(expN).Dexp(1).RFmd1Lvals=medValLst; %17_1201 TrendOL + Exp(expN).Dexp(1).mean1(d+1)=mean1; + Exp(expN).Dexp(1).std1(d+1)=std1; + Exp(expN).Dexp(1).min1(d+1)=min1; + Exp(expN).Dexp(1).max1(d+1)=max1; + Exp(expN).Dexp(1).RFcmpL(1).dm(d+1).Lvals=medValLst; %17_1201 TrendOL + Exp(expN).Dexp(1).RFcmpL(1).dm(d+1).med=median(medValLst); %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpL(1).dm(d+1).mean=mean(medValLst); %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpL(1).dm(d+1).std=std(medValLst); %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpL(1).dm(d+1).min=min(medValLst); %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpL(1).dm(d+1).max=max(medValLst); %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpK(1).dm(d+1).Kvals=kValLst; %17_1201 TrendOL + Exp(expN).Dexp(1).RFcmpK(1).dm(d+1).med=median(kValLst); %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpK(1).dm(d+1).mean=mean(kValLst); %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpK(1).dm(d+1).std=std(kValLst); %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpK(1).dm(d+1).min=min(kValLst); %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpK(1).dm(d+1).max=max(kValLst); %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpr(1).dm(d+1).rvals=rValLst; %17_1201 TrendOL + Exp(expN).Dexp(1).RFcmpr(1).dm(d+1).med=median(rValLst); %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpr(1).dm(d+1).mean=mean(rValLst); %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpr(1).dm(d+1).std=std(rValLst); %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpr(1).dm(d+1).min=min(rValLst); %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpr(1).dm(d+1).max=max(rValLst); %For Ref Composite 17_1009 + 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 + medianCalcFailed='To Few nonZero spots for valid median RF1 selection' + firstZero=find(((Exp(expN).Dexp(1).scan(rf1scN).plate(1).CFout(1:384,5))==0),1,'first') + Exp(expN).Dexp(1).RFmd1indx(d+1)=firstZero; + Exp(expN).Dexp(1).RFmd1pltN=RF1mp; + try + medValList1{d+1}=Exp(expN).Dexp(1).scan(rf1scN).plate(1).CFout(medianIndx,5); nonZeroCnt; + catch + catcherror='Ln356' + end + end % ~isempty(nonZeroIndx) && length(medianIndx) > (.15*384) + catch + medianCalcTryFailed1='Failed! Failed! Ln362 But process continued with bogus P1ind384 spot value!' + try + firstZero=find(((Exp(expN).Dexp(1).scan(rf1scN).plate(1).CFout(1:384,5))==0),1,'first') + Exp(expN).Dexp(1).RFmd1indx(d+1)=firstZero; + catch + catchissue='Ln366' + Exp(expN).Dexp(1).RFmd1indx(d+1)=384; % if crapout,Then use spot384 as default to keep going + end + try + Exp(expN).Dexp(1).RFmd1pltN=RF1mp; + catch + catchissue='Ln372' + Exp(expN).Dexp(1).RFmd1pltN=1; + end + end end - try - Exp(expN).Dexp(1).RFmd1pltN= RF1mp; - catch - catchissue='Ln372' - Exp(expN).Dexp(1).RFmd1pltN= 1; - end - - error='EZexpSel lineAfter 258' - - -end %try ~ln375 + end - end %for d=0:DMnum -end % if exist('RF1scanN','var') -%********************************************************************************** -%Calc RF2 median if a full plate of RF2s exist************************** -Exp(expN).Dexp(1).RFmd2indx=[]; -Exp(expN).Dexp(1).RFmd2pltN=[]; - - -if exist('RF2scanN','var') - for d=0:(DMnum-1) + % Calc RF2 median if a full plate of RF2s exist + Exp(expN).Dexp(1).RFmd2indx=[]; + Exp(expN).Dexp(1).RFmd2pltN=[]; + if exist('RF2scanN','var') + for d=0:(DMnum-1) medianIndx2=[]; nonZeroIndx2=[]; medValList2=[]; rf2scN=RF2scanN+d; - -try %if RF2scanN doesn't exist this addition to list will be skipped - nonZeroIndx2= find(Exp(expN).Dexp(1).scan(rf2scN).plate(1).CFout(1:384,5)); - if isempty(nonZeroIndx2), nonZeroCnt2=0; medianIndx2= nonZeroIndx2; - else nonZeroCnt2=length(nonZeroIndx2); - end - % - if ~isempty(nonZeroIndx2) && mod(nonZeroCnt2,2)==0, medianIndx2= nonZeroIndx2(1:nonZeroCnt2-1); end - if ~isempty(nonZeroIndx2) && mod(nonZeroCnt2,2)~=0, medianIndx2= nonZeroIndx2; end -clear medValLst2 -clear kValLst2 -clear rValLst2 -if ~isempty(nonZeroIndx2) && length(medianIndx2) > (.15*384) %To calc. a median, more than 15% of spots must be nonZero - medValLst2= Exp(expN).Dexp(1).scan(rf2scN).plate(1).CFout(medianIndx2,5); - medValList2{d+1}= medValLst2; - min2= min(medValLst2); - max2= max(medValLst2); - std2= std(medValLst2); - mean2= mean(medValLst2); - - kValLst2= Exp(expN).Dexp(1).scan(rf2scN).plate(1).CFout(medianIndx2,3); %For Ref Composite 17_1009 - rValLst2= Exp(expN).Dexp(1).scan(rf2scN).plate(1).CFout(medianIndx2,4); %For Ref Composite 17_1009 - -mval2=median(medValLst2); %mval2=median(Exp(expN).Dexp(1).scan(RF2mps).plate(1).CFout(1:383,5)); -RFmd2pos=find(mval2==(Exp(expN).Dexp(1).scan(rf2scN).plate(1).CFout(1:384,5))); -RFmd2loc(1)= ceil(RFmd2pos/24); %calc r value -RFmd2loc(2)= RFmd2pos - ((RFmd2loc(1)-1)*24); %calc c value -lstindx=lstindx+1; -lstindxOrf= lstindxOrf+1; -aa(lstindx,1)= {strcat('RF2md(',num2str(d+1),')')}; %{'RF2md'}; -aa(lstindx,2)={strcat(':',num2str(RF2mp),':',num2str(RFmd2loc(1)),':',num2str(RFmd2loc(2)))}; %,'std_',num2str(std2))}; -bb(lstindxOrf,1)= {strcat('RF2md(',num2str(d+1),')')}; %{'RF2md'}; -bb(lstindxOrf,2)={strcat(':',num2str(RF2mp),':',num2str(RFmd2loc(1)),':',num2str(RFmd2loc(2)))}; %,'std_',num2str(std2))}; - %Composite Reference Amalgum Plot (CRAP) -lstindx=lstindx+1; -lstindxOrf= lstindxOrf+1; -aa(lstindx,1)= {strcat('RF2cmp(',num2str(d+1),')')}; -aa(lstindx,2)={''}; -bb(lstindxOrf,1)= {strcat('RF2cmp(',num2str(d+1),')')}; -bb(lstindxOrf,2)={''}; - -Exp(expN).Dexp(1).RFmd2LB(d+1)= strcat(aa(lstindx,1),aa(lstindx,2)); -Exp(expN).Dexp(1).RFmd2indx(d+1)=RFmd2pos; -Exp(expN).Dexp(1).RFmd2pltN= RF2mp; -Exp(expN).Dexp(1).RFmd2val(d+1)= mval2; -Exp(expN).Dexp(1).RFmd1Lvals= medValLst2; %17_1201 TrendOL -Exp(expN).Dexp(1).mean2(d+1)= mean2; -Exp(expN).Dexp(1).std2(d+1)= std2; -Exp(expN).Dexp(1).min2(d+1)= min2; -Exp(expN).Dexp(1).max2(d+1)= max2; -Exp(expN).Dexp(1).RFcmpL(2).dm(d+1).Lvals= medValLst2; %17_1201 TrendOL -Exp(expN).Dexp(1).RFcmpL(2).dm(d+1).med= median(medValLst2); %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpL(2).dm(d+1).mean= mean(medValLst2); %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpL(2).dm(d+1).std= std(medValLst2); %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpL(2).dm(d+1).min= min(medValLst2); %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpL(2).dm(d+1).max= max(medValLst2); %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpK(2).dm(d+1).Kvals= kValLst2; %17_1201 TrendOL -Exp(expN).Dexp(1).RFcmpK(2).dm(d+1).med= median(kValLst2); %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpK(2).dm(d+1).mean= mean(kValLst2); %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpK(2).dm(d+1).std= std(kValLst2); %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpK(2).dm(d+1).min= min(kValLst2); %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpK(2).dm(d+1).max= max(kValLst2); %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpr(2).dm(d+1).rvals= rValLst2; %17_1201 TrendOL -Exp(expN).Dexp(1).RFcmpr(2).dm(d+1).med= median(rValLst2); %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpr(2).dm(d+1).mean= mean(rValLst2); %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpr(2).dm(d+1).std= std(rValLst2); %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpr(2).dm(d+1).min= min(rValLst2); %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpr(2).dm(d+1).max= max(rValLst); %For Ref Composite 17_1009 - - else - % Pick the first spot with zeros - % Use that position to satisfy and keep process OK - medianCalcFailed2= 'Too Few nonZero spots for valid median RF2 selection' - firstZero2= find(((Exp(expN).Dexp(1).scan(rf2scN).plate(1).CFout(1:384,5))==0),1,'first') - Exp(expN).Dexp(1).RFmd2indx(d+1)=firstZero2; - Exp(expN).Dexp(1).RFmd2pltN= RF2mp; - - try medValList2{d+1}= Exp(expN).Dexp(1).scan(rf2scN).plate(1).CFout(medianIndx2,5); nonZeroCnt2; catch, catchissue='Ln431', end - -end - -catch - medianCalcTryFailed2= 'Failed! Failed! Ln436 No RF1median But process continued with bogus P1ind384 spot value!' - - try - firstZero2= find(((Exp(expN).Dexp(1).scan(rf2scN).plate(1).CFout(1:384,5))==0),1,'first'); - Exp(expN).Dexp(1).RFmd2indx(d+1)=firstZero2; - catch - catchissue='Ln442' - Exp(expN).Dexp(1).RFmd2indx(d+1)=384; %if crapout,Then use spot384 as default to keep going - end - try - Exp(expN).Dexp(1).RFmd2pltN= RF2mp; - catch - catchissue='Ln448' - Exp(expN).Dexp(1).RFmd2pltN= 1; - end - - error='EZexpSel lineAfter 279' - -end %if RF2scanN doesn't exist this addition to list will be skipped - clear RFcombValList - RFcombValList= cat(1,medValList1{d+1},medValList2{d+1}); - Exp(expN).Dexp(1).RFmean(d+1)= mean(RFcombValList); - Exp(expN).Dexp(1).RFstd(d+1)=std(RFcombValList); - try, Exp(expN).Dexp(1).RFmin(d+1)=min(RFcombValList); - catch, Exp(expN).Dexp(1).RFmin(d+1)= 0; end - try, Exp(expN).Dexp(1).RFmax(d+1)=max(RFcombValList); - catch, Exp(expN).Dexp(1).RFmax(d+1)= 0; end - - end %for d=0:DMnum ln446 - -elseif exist('RF1scanN','var') - Exp(expN).Dexp(1).RFmean= Exp(expN).Dexp(1).mean1; - Exp(expN).Dexp(1).RFstd= Exp(expN).Dexp(1).std1; - Exp(expN).Dexp(1).RFmin= Exp(expN).Dexp(1).min1; - Exp(expN).Dexp(1).RFmax= Exp(expN).Dexp(1).max1; -end %if exist('RF2scanN','var') ln445 - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%************************************************************************************************* -%***********DISPERSE REFERENCE PLATES -Exp(expN).Dexp(1).RFmdPindx=[]; -Exp(expN).Dexp(1).RFmdPpltN=[]; -if exist('drf','var') -%Det. index of change from one MP to the next - - i=2; - 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 + try % if RF2scanN doesn't exist this addition to list will be skipped + nonZeroIndx2=find(Exp(expN).Dexp(1).scan(rf2scN).plate(1).CFout(1:384,5)); + if isempty(nonZeroIndx2) + nonZeroCnt2=0 + medianIndx2=nonZeroIndx2; + else nonZeroCnt2=length(nonZeroIndx2); + end + if ~isempty(nonZeroIndx2) && mod(nonZeroCnt2,2)==0, medianIndx2=nonZeroIndx2(1:nonZeroCnt2-1); end + if ~isempty(nonZeroIndx2) && mod(nonZeroCnt2,2)~=0, medianIndx2=nonZeroIndx2; end + clear medValLst2 + clear kValLst2 + clear rValLst2 + if ~isempty(nonZeroIndx2) && length(medianIndx2) > (.15*384) % to calc. a median, more than 15% of spots must be nonZero + medValLst2=Exp(expN).Dexp(1).scan(rf2scN).plate(1).CFout(medianIndx2,5); + medValList2{d+1}=medValLst2; + min2=min(medValLst2); + max2=max(medValLst2); + std2=std(medValLst2); + mean2=mean(medValLst2); + kValLst2=Exp(expN).Dexp(1).scan(rf2scN).plate(1).CFout(medianIndx2,3); % for Ref Composite 17_1009 + rValLst2=Exp(expN).Dexp(1).scan(rf2scN).plate(1).CFout(medianIndx2,4); % for Ref Composite 17_1009 + mval2=median(medValLst2); %mval2=median(Exp(expN).Dexp(1).scan(RF2mps).plate(1).CFout(1:383,5)); + RFmd2pos=find(mval2==(Exp(expN).Dexp(1).scan(rf2scN).plate(1).CFout(1:384,5))); + RFmd2loc(1)=ceil(RFmd2pos/24); %calc r value + RFmd2loc(2)=RFmd2pos - ((RFmd2loc(1)-1)*24); %calc c value + lstindx=lstindx+1; + lstindxOrf=lstindxOrf+1; + aa(lstindx,1)={strcat('RF2md(',num2str(d+1),')')}; %{'RF2md'}; + aa(lstindx,2)={strcat(':',num2str(RF2mp),':',num2str(RFmd2loc(1)),':',num2str(RFmd2loc(2)))}; %,'std_',num2str(std2))}; + bb(lstindxOrf,1)={strcat('RF2md(',num2str(d+1),')')}; %{'RF2md'}; + bb(lstindxOrf,2)={strcat(':',num2str(RF2mp),':',num2str(RFmd2loc(1)),':',num2str(RFmd2loc(2)))}; %,'std_',num2str(std2))}; + %Composite Reference Amalgum Plot (CRAP) + lstindx=lstindx+1; + lstindxOrf=lstindxOrf+1; + aa(lstindx,1)={strcat('RF2cmp(',num2str(d+1),')')}; + aa(lstindx,2)={''}; + bb(lstindxOrf,1)={strcat('RF2cmp(',num2str(d+1),')')}; + bb(lstindxOrf,2)={''}; + Exp(expN).Dexp(1).RFmd2LB(d+1)=strcat(aa(lstindx,1),aa(lstindx,2)); + Exp(expN).Dexp(1).RFmd2indx(d+1)=RFmd2pos; + Exp(expN).Dexp(1).RFmd2pltN=RF2mp; + Exp(expN).Dexp(1).RFmd2val(d+1)=mval2; + Exp(expN).Dexp(1).RFmd1Lvals=medValLst2; %17_1201 TrendOL + Exp(expN).Dexp(1).mean2(d+1)=mean2; + Exp(expN).Dexp(1).std2(d+1)=std2; + Exp(expN).Dexp(1).min2(d+1)=min2; + Exp(expN).Dexp(1).max2(d+1)=max2; + Exp(expN).Dexp(1).RFcmpL(2).dm(d+1).Lvals=medValLst2; %17_1201 TrendOL + Exp(expN).Dexp(1).RFcmpL(2).dm(d+1).med=median(medValLst2); %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpL(2).dm(d+1).mean=mean(medValLst2); %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpL(2).dm(d+1).std=std(medValLst2); %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpL(2).dm(d+1).min=min(medValLst2); %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpL(2).dm(d+1).max=max(medValLst2); %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpK(2).dm(d+1).Kvals=kValLst2; %17_1201 TrendOL + Exp(expN).Dexp(1).RFcmpK(2).dm(d+1).med=median(kValLst2); %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpK(2).dm(d+1).mean=mean(kValLst2); %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpK(2).dm(d+1).std=std(kValLst2); %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpK(2).dm(d+1).min=min(kValLst2); %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpK(2).dm(d+1).max=max(kValLst2); %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpr(2).dm(d+1).rvals=rValLst2; %17_1201 TrendOL + Exp(expN).Dexp(1).RFcmpr(2).dm(d+1).med=median(rValLst2); %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpr(2).dm(d+1).mean=mean(rValLst2); %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpr(2).dm(d+1).std=std(rValLst2); %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpr(2).dm(d+1).min=min(rValLst2); %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpr(2).dm(d+1).max=max(rValLst); %For Ref Composite 17_1009 + else + % Pick the first spot with zeros + % Use that position to satisfy and keep process OK + medianCalcFailed2='Too Few nonZero spots for valid median RF2 selection' + firstZero2=find(((Exp(expN).Dexp(1).scan(rf2scN).plate(1).CFout(1:384,5))==0),1,'first') + Exp(expN).Dexp(1).RFmd2indx(d+1)=firstZero2; + Exp(expN).Dexp(1).RFmd2pltN=RF2mp; + try medValList2{d+1}=Exp(expN).Dexp(1).scan(rf2scN).plate(1).CFout(medianIndx2,5); nonZeroCnt2; catch, catchissue='Ln431', end + end + catch + medianCalcTryFailed2='Failed! Failed! Ln436 No RF1median But process continued with bogus P1ind384 spot value!' + try + firstZero2=find(((Exp(expN).Dexp(1).scan(rf2scN).plate(1).CFout(1:384,5))==0),1,'first'); + Exp(expN).Dexp(1).RFmd2indx(d+1)=firstZero2; + catch + Exp(expN).Dexp(1).RFmd2indx(d+1)=384; %if crapout,Then use spot384 as default to keep going + end + try + Exp(expN).Dexp(1).RFmd2pltN=RF2mp; + catch + catchissue='Ln448' + Exp(expN).Dexp(1).RFmd2pltN=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),DMnum); -%************************************ - dMPs= unique(cell2mat(drf(:,3))); - %***************************************** - - for mm=1:length(dMPs) % length(chgIndx) - - for d=1:(DMnum) - medianIndxDisp=[]; - NZrefIndxP=[]; - nonZeroValsP=[]; - medValLstDisp=[]; - rf1scNdisp=((dMPs(mm)-1)*DMnum)+(d); - -try % Determine the dispersed RFs median mean and std if such exist - NZrefIndxP= drfPindx((find(drfPindx(:,dMPs(mm)))),dMPs(mm)); %find(Exp(expN).Dexp(1).scan(rf1scNdisp).plate(1).CFout(drf(chgIndx(cI):chgIndx(cI+1)),5)); - %vv= Exp(expN).Dexp(1).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,5); - vv(chgIndx(mm):(chgIndx(mm+1)-1),d)=Exp(expN).Dexp(1).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,5); - %For Global Ref Composite 17_1009 %************************************************************************** - vvK(chgIndx(mm):(chgIndx(mm+1)-1),d)=Exp(expN).Dexp(1).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,3); - vvr(chgIndx(mm):(chgIndx(mm+1)-1),d)=Exp(expN).Dexp(1).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,4); - %***************************************************************************************************** - nonZeroValsP= nonzeros(Exp(expN).Dexp(1).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,5)); - std1Disp= std(nonZeroValsP); - mean1Disp= mean(nonZeroValsP); - minDisp= min(nonZeroValsP); - maxDisp= max(nonZeroValsP); - drfVals=Exp(expN).Dexp(1).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,5); - - %MEDIAN Determination for PLATES with Dispersed RFs - %NZrefIndxP= NZrefIndxP %find(Exp(expN).Dexp(1).scan(rf1scNdisp).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) > 3 %(.15*384) %To calc. a median, more than 15% of spots must be nonZero - medValLstDisp= Exp(expN).Dexp(1).scan(rf1scNdisp).plate(1).CFout(medianIndxDisp,5); - %medValList1Disp{d}= medValLstDisp; - mval1Disp=median(medValLstDisp); %mval1=median(Exp(expN).Dexp(1).scan(RF1mps).plate(1).CFout(1:384,5)); %CFout(1:383,5)); - nonZeroMedPosIndx=find(mval1Disp==nonZeroValsP); %(Exp(expN).Dexp(1).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,5))); %(nonZeroIndxDisp,5))); %((nonZrfIndx.mp{dMPs(mm),:}),5))); -RFmd1posD= NZrefIndxP(nonZeroMedPosIndx); %drfPindx((RFmd1posIndx),dMPs(mm)); -RFmd1locD(1)= ceil(RFmd1posD/24); %calc r value -RFmd1locD(2)= RFmd1posD - ((RFmd1locD(1)-1)*24); %calc c value - -lstindx=lstindx+1; -lstindxOrf= lstindxOrf+1; -aa(lstindx,1)= {strcat('RF1mdP(',num2str(d),')')}; -aa(lstindx,2)={strcat(':',num2str(dMPs(mm)),':',num2str(RFmd1locD(1)),':',num2str(RFmd1locD(2)))}; -bb(lstindxOrf,1)= {strcat('RF1mdP(',num2str(d),')')}; -bb(lstindxOrf,2)={strcat(':',num2str(dMPs(mm)),':',num2str(RFmd1locD(1)),':',num2str(RFmd1locD(2)))}; - -Exp(expN).Dexp(1).RFmdPLvals(d,dMPs(mm))= mval1Disp; %17_1201 TrendOL -Exp(expN).Dexp(1).RFmdPLB(d,dMPs(mm))= strcat(aa(lstindx,1),aa(lstindx,2)); -Exp(expN).Dexp(1).RFmdPindx(d,dMPs(mm))= RFmd1posD; -Exp(expN).Dexp(1).RFmdPpltN(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(1).RFmdPscanN(d,dMPs(mm))=rf1scNdisp; -Exp(expN).Dexp(1).RFmedianP(d,dMPs(mm))= mval1Disp; -Exp(expN).Dexp(1).stdP(d,dMPs(mm))= std1Disp; -Exp(expN).Dexp(1).meanP(d,dMPs(mm))= mean1Disp; -Exp(expN).Dexp(1).minP(d,dMPs(mm))= minDisp; -Exp(expN).Dexp(1).maxP(d,dMPs(mm))= maxDisp; -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(1).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,5))==0),1,'first'); - firstZeroD= drfPindx((firstZeroDindx),dMPs(mm)); - Exp(expN).Dexp(1).RFmdPindx(d,dMPs(mm))=firstZeroD; - Exp(expN).Dexp(1).RFmdPpltN(d,dMPs(mm))= dMPs(mm); %RF1mp; %Is this supposed to be the MP number or the ScanPlate number??? - - -end %~isempty(NZrefIndxP) && length(medianIndxDisp) > 3 ln584 -catch %try ln565 - medianCalcTryFailed1D= 'Failed! Failed! Ln565 {Dispersed RF1s} "try" But process continued with bogus Plate spot value!' - - try - firstZeroindxD= find(vv((chgIndx(d):chgIndx(d+1)-1),5)==0,1,'first'); - firstZeroPindx= uu(firstZeroindxD,4); - Exp(expN).Dexp(1).RFmdPpltN(d,dMPs(mm))= dMPs(mm); - Exp(expN).Dexp(1).RFmdPindx(d,dMPs(mm))=firstZeroPindx; - - catch - catchissue='try at Ln565' - Exp(expN).Dexp(1).RFmdPpltN(d,dMPs(mm))= dMPs(mm); - Exp(expN).Dexp(1).RFmdPindx(d,dMPs(mm))=384; %if crapout,Then use spot384 as default to keep going + clear RFcombValList + RFcombValList=cat(1,medValList1{d+1},medValList2{d+1}); + Exp(expN).Dexp(1).RFmean(d+1)=mean(RFcombValList); + Exp(expN).Dexp(1).RFstd(d+1)=std(RFcombValList); + try, Exp(expN).Dexp(1).RFmin(d+1)=min(RFcombValList); + catch, Exp(expN).Dexp(1).RFmin(d+1)=0; end + try, Exp(expN).Dexp(1).RFmax(d+1)=max(RFcombValList); + catch, Exp(expN).Dexp(1).RFmax(d+1)=0; end end - try - Exp(expN).Dexp(1).RFmdPpltN= dMPs(mm); - catch - catchissue='Ln619' - Exp(expN).Dexp(1).RFmdPpltN= 1; %This might keep from breaking BUT ??? - end - error='EZexpSel lineAfter 565' -end %try ~ln565 - - end %for d=0:DMnum - end %for mm=1:length(dMPs) - -%****************CALC. GLOBAL MEAN, STD, AND MEDIAN FOR DISTRIBUTED REFERENCES****************************************************************** -uu= horzcat(uu,vv); -for d=1:DMnum - medianIndxG=[]; - NZrfIndxG=[]; - minG=min(nonzeros(vv(:,d))); - maxG=max(nonzeros(vv(:,d))); - RFmeanG= mean(nonzeros(vv(:,d))); - RFstdG= std(nonzeros(vv(:,d))); - NZrfIndxG= find(vv(:,d)); %find(nonzeros(vv(:,d))); WWRONG FOR A WHILE! - - if isempty(RFmeanG), nonZeroCntD=0, %medianIndxDisp= RFmeanG(d); - else nonZeroCntD= length(nonzeros(vv(:,d))); + elseif exist('RF1scanN','var') + Exp(expN).Dexp(1).RFmean=Exp(expN).Dexp(1).mean1; + Exp(expN).Dexp(1).RFstd=Exp(expN).Dexp(1).std1; + Exp(expN).Dexp(1).RFmin=Exp(expN).Dexp(1).min1; + Exp(expN).Dexp(1).RFmax=Exp(expN).Dexp(1).max1; end - %Calc. of median requires an odd number of indx items - if ~isempty(NZrfIndxG) && mod(nonZeroCntD,2)==0, medianIndxD= NZrfIndxG(1:(size(NZrfIndxG,1)-1)); end - if ~isempty(NZrfIndxG) && mod(nonZeroCntD,2)~=0, medianIndxD= NZrfIndxG(:); end - if ~isempty(NZrfIndxG) && length(medianIndxD) > (.15*size(drf,1)) %To calc. a median, more than 15% of spots must be nonZero - - mvalsDG= median(vv(medianIndxD,d)); %(nonzeros(vv(:,d))); - nzPosIndxDG=find(mvalsDG==vv(:,d)); -RFmdDGloc(d,1)= uu(nzPosIndxDG,1); %MP of distributedGlobal Median value -RFmdDGloc(d,2)= uu(nzPosIndxDG,2); %calc r value -RFmdDGloc(d,3)= uu(nzPosIndxDG,3); %calc c value -lstindx=lstindx+1; -lstindxOrf= lstindxOrf+1; -aa(lstindx,1)= {strcat('RF1mdG(',num2str(d),')')}; -aa(lstindx,2)={strcat(':',num2str(RFmdDGloc(d,1)),':',num2str(RFmdDGloc(d,2)),':',num2str(RFmdDGloc(d,3)))}; %,'std_',num2str(std2))}; -bb(lstindxOrf,1)= {strcat('RF1mdG(',num2str(d),')')}; -bb(lstindxOrf,2)={strcat(':',num2str(RFmdDGloc(d,1)),':',num2str(RFmdDGloc(d,2)),':',num2str(RFmdDGloc(d,3)))}; %,'std_',num2str(std2))}; - %Composite Reference Amalgum Plot ****************** -lstindx=lstindx+1; -lstindxOrf= lstindxOrf+1; -aa(lstindx,1)= {strcat('RFcmpG(',num2str(d),')')}; -aa(lstindx,2)={''}; -bb(lstindxOrf,1)= {strcat('RFcmpG(',num2str(d),')')}; -bb(lstindxOrf,2)={''}; -%***************************************************** -%Exp(expN).Dexp(1).RFmdGLvals= vv(medianIndxD,d); %17_1201 TrendOL -Exp(expN).Dexp(1).RFmdGLB(d)= strcat(aa(lstindx,1),aa(lstindx,2)); -Exp(expN).Dexp(1).RFmdGindx(d)= nzPosIndxDG; -Exp(expN).Dexp(1).RFmdGpltN(d)= RFmdDGloc(d,1); -Exp(expN).Dexp(1).RFmdGscanN(d)= uu(nzPosIndxDG,4); -Exp(expN).Dexp(1).RFmedianG(d)= mvalsDG; -Exp(expN).Dexp(1).RFminG(d)= minG; -Exp(expN).Dexp(1).RFmaxG(d)= maxG; -Exp(expN).Dexp(1).RFstdG(d)= RFstdG; -Exp(expN).Dexp(1).RFmeanG(d)= RFmeanG; + % Disperse Reference Plates + Exp(expN).Dexp(1).RFmdPindx=[]; + Exp(expN).Dexp(1).RFmdPpltN=[]; + if exist('drf','var') + % Det. index of change from one MP to the next + i=2; + 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),DMnum); + dMPs=unique(cell2mat(drf(:,3))); + for mm=1:length(dMPs) % length(chgIndx) + for d=1:(DMnum) + medianIndxDisp=[]; + NZrefIndxP=[]; + nonZeroValsP=[]; + medValLstDisp=[]; + rf1scNdisp=((dMPs(mm)-1)*DMnum)+(d); + try % Determine the dispersed RFs median mean and std if such exist + NZrefIndxP=drfPindx((find(drfPindx(:,dMPs(mm)))),dMPs(mm)); %find(Exp(expN).Dexp(1).scan(rf1scNdisp).plate(1).CFout(drf(chgIndx(cI):chgIndx(cI+1)),5)); + %vv=Exp(expN).Dexp(1).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,5); + vv(chgIndx(mm):(chgIndx(mm+1)-1),d)=Exp(expN).Dexp(1).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,5); + %For Global Ref Composite 17_1009 + vvK(chgIndx(mm):(chgIndx(mm+1)-1),d)=Exp(expN).Dexp(1).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,3); + vvr(chgIndx(mm):(chgIndx(mm+1)-1),d)=Exp(expN).Dexp(1).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,4); + nonZeroValsP=nonzeros(Exp(expN).Dexp(1).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,5)); + std1Disp=std(nonZeroValsP); + mean1Disp=mean(nonZeroValsP); + minDisp=min(nonZeroValsP); + maxDisp=max(nonZeroValsP); + drfVals=Exp(expN).Dexp(1).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,5); -Exp(expN).Dexp(1).RFcmpGL.dm(d).Lvals= vv(medianIndxD,d); %17_1201 TrendOL -Exp(expN).Dexp(1).RFcmpGL.dm(d).med= median(vv(medianIndxD,d)); %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpGL.dm(d).mean= mean(vv(medianIndxD,d)); %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpGL.dm(d).std= std(vv(medianIndxD,d)); %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpGL.dm(d).min= min(vv(medianIndxD,d)); %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpGL.dm(d).max= max(vv(medianIndxD,d)); %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpGK.dm(d).Kvals= vvK(medianIndxD,d); %17_1201 TrendOL -Exp(expN).Dexp(1).RFcmpGK.dm(d).med= median(vvK(medianIndxD,d)); %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpGK.dm(d).mean= mean(vvK(medianIndxD,d)); %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpGK.dm(d).std= std(vvK(medianIndxD,d)); %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpGK.dm(d).min= min(vvK(medianIndxD,d)); %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpGK.dm(d).max= max(vvK(medianIndxD,d)); %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpGr.dm(d).rvals= vvr(medianIndxD,d); %17_1201 TrendOL -Exp(expN).Dexp(1).RFcmpGr.dm(d).med= median(vvr(medianIndxD,d)); %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpGr.dm(d).mean= mean(vvr(medianIndxD,d)); %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpGr.dm(d).std= std(vvr(medianIndxD,d)); %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpGr.dm(d).min= min(vvr(medianIndxD,d)); %For Ref Composite 17_1009 -Exp(expN).Dexp(1).RFcmpGr.dm(d).max= max(vvr(medianIndxD,d)); %For Ref Composite 17_1009 + % MEDIAN Determination for PLATES with Dispersed RFs + % NZrefIndxP=NZrefIndxP %find(Exp(expN).Dexp(1).scan(rf1scNdisp).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) > 3 %(.15*384) % to calc. a median, more than 15% of spots must be nonZero + medValLstDisp=Exp(expN).Dexp(1).scan(rf1scNdisp).plate(1).CFout(medianIndxDisp,5); + % medValList1Disp{d}=medValLstDisp; + mval1Disp=median(medValLstDisp); % mval1=median(Exp(expN).Dexp(1).scan(RF1mps).plate(1).CFout(1:384,5)); %CFout(1:383,5)); + nonZeroMedPosIndx=find(mval1Disp==nonZeroValsP); % (Exp(expN).Dexp(1).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,5))); %(nonZeroIndxDisp,5))); %((nonZrfIndx.mp{dMPs(mm),:}),5))); + RFmd1posD=NZrefIndxP(nonZeroMedPosIndx); % drfPindx((RFmd1posIndx),dMPs(mm)); + RFmd1locD(1)=ceil(RFmd1posD/24); % calc r value + RFmd1locD(2)=RFmd1posD - ((RFmd1locD(1)-1)*24); % calc c value + lstindx=lstindx+1; + lstindxOrf=lstindxOrf+1; + aa(lstindx,1)={strcat('RF1mdP(',num2str(d),')')}; + aa(lstindx,2)={strcat(':',num2str(dMPs(mm)),':',num2str(RFmd1locD(1)),':',num2str(RFmd1locD(2)))}; + bb(lstindxOrf,1)={strcat('RF1mdP(',num2str(d),')')}; + bb(lstindxOrf,2)={strcat(':',num2str(dMPs(mm)),':',num2str(RFmd1locD(1)),':',num2str(RFmd1locD(2)))}; - end %if ~isempty(NZrfIndxG) && length(medianIndxD) > (.15*size(drf,1)) %To calc. a median, more than 15% -end + Exp(expN).Dexp(1).RFmdPLvals(d,dMPs(mm))=mval1Disp; %17_1201 TrendOL + Exp(expN).Dexp(1).RFmdPLB(d,dMPs(mm))=strcat(aa(lstindx,1),aa(lstindx,2)); + Exp(expN).Dexp(1).RFmdPindx(d,dMPs(mm))=RFmd1posD; + Exp(expN).Dexp(1).RFmdPpltN(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(1).RFmdPscanN(d,dMPs(mm))=rf1scNdisp; + Exp(expN).Dexp(1).RFmedianP(d,dMPs(mm))=mval1Disp; + Exp(expN).Dexp(1).stdP(d,dMPs(mm))=std1Disp; + Exp(expN).Dexp(1).meanP(d,dMPs(mm))=mean1Disp; + Exp(expN).Dexp(1).minP(d,dMPs(mm))=minDisp; + Exp(expN).Dexp(1).maxP(d,dMPs(mm))=maxDisp; + 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(1).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,5))==0),1,'first'); + firstZeroD=drfPindx((firstZeroDindx),dMPs(mm)); + Exp(expN).Dexp(1).RFmdPindx(d,dMPs(mm))=firstZeroD; + Exp(expN).Dexp(1).RFmdPpltN(d,dMPs(mm))=dMPs(mm); %RF1mp; %Is this supposed to be the MP number or the ScanPlate number??? + end + catch + medianCalcTryFailed1D='Failed! Failed! Ln565 {Dispersed RF1s} "try" But process continued with bogus Plate spot value!' + try + firstZeroindxD=find(vv((chgIndx(d):chgIndx(d+1)-1),5)==0,1,'first'); + firstZeroPindx=uu(firstZeroindxD,4); + Exp(expN).Dexp(1).RFmdPpltN(d,dMPs(mm))=dMPs(mm); + Exp(expN).Dexp(1).RFmdPindx(d,dMPs(mm))=firstZeroPindx; + catch + catchissue='try at Ln565' + Exp(expN).Dexp(1).RFmdPpltN(d,dMPs(mm))=dMPs(mm); + Exp(expN).Dexp(1).RFmdPindx(d,dMPs(mm))=384; %if crapout,Then use spot384 as default to keep going + end + try + Exp(expN).Dexp(1).RFmdPpltN=dMPs(mm); + catch + catchissue='Ln619' + Exp(expN).Dexp(1).RFmdPpltN=1; %This might keep from breaking BUT ??? + end + end + end + end -end % if exist('drf','var') -%END OF DISPERSE REFERENCE PLATAES CALCULATIONS AND LIST ADDITIONS - %********************************************************************* -%Added 17-1023 For User Addition of Gene Composites to ListBox -%Expaa{ic,1}= aa; Expbb{ic,1}= bb; -%********************************************************************** - - - - - + % Calc. Global Mean, Std, And Median For Distributed References + uu=horzcat(uu,vv); + for d=1:DMnum + medianIndxG=[]; + NZrfIndxG=[]; + minG=min(nonzeros(vv(:,d))); + maxG=max(nonzeros(vv(:,d))); + RFmeanG=mean(nonzeros(vv(:,d))); + RFstdG=std(nonzeros(vv(:,d))); + NZrfIndxG=find(vv(:,d)); % find(nonzeros(vv(:,d))); WWRONG FOR A WHILE! + if isempty(RFmeanG) + nonZeroCntD=0; % medianIndxDisp=RFmeanG(d); + else + nonZeroCntD=length(nonzeros(vv(:,d))); + end + % Calc. of median requires an odd number of indx items + if ~isempty(NZrfIndxG) && mod(nonZeroCntD,2)==0, medianIndxD=NZrfIndxG(1:(size(NZrfIndxG,1)-1)); end + if ~isempty(NZrfIndxG) && mod(nonZeroCntD,2)~=0, medianIndxD=NZrfIndxG(:); end + if ~isempty(NZrfIndxG) && length(medianIndxD) > (.15*size(drf,1)) % to calc. a median, more than 15% of spots must be nonZero + mvalsDG=median(vv(medianIndxD,d)); % (nonzeros(vv(:,d))); + nzPosIndxDG=find(mvalsDG==vv(:,d)); + RFmdDGloc(d,1)=uu(nzPosIndxDG,1); % MP of distributedGlobal Median value + RFmdDGloc(d,2)=uu(nzPosIndxDG,2); % calc r value + RFmdDGloc(d,3)=uu(nzPosIndxDG,3); % calc c value + lstindx=lstindx+1; + lstindxOrf=lstindxOrf+1; + aa(lstindx,1)={strcat('RF1mdG(',num2str(d),')')}; + aa(lstindx,2)={strcat(':',num2str(RFmdDGloc(d,1)),':',num2str(RFmdDGloc(d,2)),':',num2str(RFmdDGloc(d,3)))}; %,'std_',num2str(std2))}; + bb(lstindxOrf,1)={strcat('RF1mdG(',num2str(d),')')}; + bb(lstindxOrf,2)={strcat(':',num2str(RFmdDGloc(d,1)),':',num2str(RFmdDGloc(d,2)),':',num2str(RFmdDGloc(d,3)))}; %,'std_',num2str(std2))}; + % Composite Reference Amalgum Plot + lstindx=lstindx+1; + lstindxOrf=lstindxOrf+1; + aa(lstindx,1)={strcat('RFcmpG(',num2str(d),')')}; + aa(lstindx,2)={''}; + bb(lstindxOrf,1)={strcat('RFcmpG(',num2str(d),')')}; + bb(lstindxOrf,2)={''}; + % Exp(expN).Dexp(1).RFmdGLvals=vv(medianIndxD,d); %17_1201 TrendOL + Exp(expN).Dexp(1).RFmdGLB(d)=strcat(aa(lstindx,1),aa(lstindx,2)); + Exp(expN).Dexp(1).RFmdGindx(d)=nzPosIndxDG; + Exp(expN).Dexp(1).RFmdGpltN(d)=RFmdDGloc(d,1); + Exp(expN).Dexp(1).RFmdGscanN(d)=uu(nzPosIndxDG,4); + Exp(expN).Dexp(1).RFmedianG(d)=mvalsDG; + Exp(expN).Dexp(1).RFminG(d)=minG; + Exp(expN).Dexp(1).RFmaxG(d)=maxG; + Exp(expN).Dexp(1).RFstdG(d)=RFstdG; + Exp(expN).Dexp(1).RFmeanG(d)=RFmeanG; + Exp(expN).Dexp(1).RFcmpGL.dm(d).Lvals=vv(medianIndxD,d); %17_1201 TrendOL + Exp(expN).Dexp(1).RFcmpGL.dm(d).med=median(vv(medianIndxD,d)); %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpGL.dm(d).mean=mean(vv(medianIndxD,d)); %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpGL.dm(d).std=std(vv(medianIndxD,d)); %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpGL.dm(d).min=min(vv(medianIndxD,d)); %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpGL.dm(d).max=max(vv(medianIndxD,d)); %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpGK.dm(d).Kvals=vvK(medianIndxD,d); %17_1201 TrendOL + Exp(expN).Dexp(1).RFcmpGK.dm(d).med=median(vvK(medianIndxD,d)); %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpGK.dm(d).mean=mean(vvK(medianIndxD,d)); %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpGK.dm(d).std=std(vvK(medianIndxD,d)); %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpGK.dm(d).min=min(vvK(medianIndxD,d)); %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpGK.dm(d).max=max(vvK(medianIndxD,d)); %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpGr.dm(d).rvals=vvr(medianIndxD,d); %17_1201 TrendOL + Exp(expN).Dexp(1).RFcmpGr.dm(d).med=median(vvr(medianIndxD,d)); %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpGr.dm(d).mean=mean(vvr(medianIndxD,d)); %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpGr.dm(d).std=std(vvr(medianIndxD,d)); %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpGr.dm(d).min=min(vvr(medianIndxD,d)); %For Ref Composite 17_1009 + Exp(expN).Dexp(1).RFcmpGr.dm(d).max=max(vvr(medianIndxD,d)); %For Ref Composite 17_1009 + end + end + end - - - - - - -%>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - -%try -for mp=1:MPnum %length(Exp(expN).Dexp(1).MP) - for ind384=1:384 + for mp=1:MPnum % length(Exp(expN).Dexp(1).MP) + for ind384=1:384 spN=spN+1; - - + end end -%catch -%end %try for user selected Reference routine -end + gnLstRaw=strcat(aa(:,1),aa(:,2)); + Exp(expN).Dexp(1).srtGnLst=sort(gnLstRaw); + orfLstRaw=strcat(bb(:,1),bb(:,2)); + Exp(expN).Dexp(1).srtOrfLst=sort(orfLstRaw); -%**************************************************************************************************** -gnLstRaw= strcat(aa(:,1),aa(:,2)); -Exp(expN).Dexp(1).srtGnLst= sort(gnLstRaw); - -orfLstRaw=strcat(bb(:,1),bb(:,2)); -Exp(expN).Dexp(1).srtOrfLst= sort(orfLstRaw); -%********Auto select Zone and load listboxGnOrf data********** -zeroCLn= zeros(1,DMnum); -Exp(expN).expLoadCnt= Exp(expN).expLoadCnt+1; expLdCnt= Exp(expN).expLoadCnt; -zonePB= expN; -if expN==1 + % Auto select Zone and load listboxGnOrf data + zeroCLn=zeros(1,DMnum); + Exp(expN).expLoadCnt=Exp(expN).expLoadCnt+1; expLdCnt=Exp(expN).expLoadCnt; + zonePB=expN; + if expN==1 set(handles.zonePB1,'value',1) set(handles.zonePB2,'value',0) set(handles.zonePB3,'value',0) @@ -970,34 +881,33 @@ if expN==1 set(handles.zonePB2,'BackgroundColor',[1.0 1.0 1.0]) set(handles.zonePB3,'BackgroundColor',[1.0 1.0 1.0]) orfLstSel=get(handles.GeneOrfTog,'value') - if orfLstSel==1 - set(handles.listboxGnOrf,'string',Exp(1).Dexp(1).srtOrfLst) - else - set(handles.listboxGnOrf,'string',Exp(1).Dexp(1).srtGnLst) + if orfLstSel==1 + set(handles.listboxGnOrf,'string',Exp(1).Dexp(1).srtOrfLst) + else + set(handles.listboxGnOrf,'string',Exp(1).Dexp(1).srtGnLst) + end + DNLaxes1=handles.DNLaxes1; % ZoneRelated + Exp(1).hzeroCLn(expLdCnt)=plot(DNLaxes1,zeroCLn,1:DMnum,'y'); end - DNLaxes1= handles.DNLaxes1; %ZoneRelated - Exp(1).hzeroCLn(expLdCnt)=plot(DNLaxes1,zeroCLn,1:DMnum,'y'); -end -if expN==2 + if expN==2 set(handles.zonePB1,'value',0) set(handles.zonePB3,'value',0) set(handles.zonePB2,'value',1) set(handles.zonePB2,'BackgroundColor',[1.0 0.6 0.6]) set(handles.zonePB1,'BackgroundColor',[1.0 1.0 1.0]) set(handles.zonePB3,'BackgroundColor',[1.0 1.0 1.0]) - orfLstSel= get(handles.GeneOrfTog,'value'); - if orfLstSel==1 - set(handles.listboxGnOrf,'string',Exp(2).Dexp(1).srtOrfLst) - else - set(handles.listboxGnOrf,'string',Exp(2).Dexp(1).srtGnLst) + orfLstSel=get(handles.GeneOrfTog,'value'); + if orfLstSel==1 + set(handles.listboxGnOrf,'string',Exp(2).Dexp(1).srtOrfLst) + else + set(handles.listboxGnOrf,'string',Exp(2).Dexp(1).srtGnLst) + end + DNLaxes2=handles.DNLaxes2; % ZoneRelated + Exp(2).hzeroCLn(expLdCnt)=plot(DNLaxes2,zeroCLn,1:DMnum,'y'); end - DNLaxes2= handles.DNLaxes2; %ZoneRelated - Exp(2).hzeroCLn(expLdCnt)=plot(DNLaxes2,zeroCLn,1:DMnum,'y'); - -end -if expN==3 + if expN==3 set(handles.zonePB1,'value',0) set(handles.zonePB2,'value',0) set(handles.zonePB3,'value',1) @@ -1005,243 +915,215 @@ if expN==3 set(handles.zonePB1,'BackgroundColor',[1.0 1.0 1.0]); set(handles.zonePB2,'BackgroundColor',[1.0 1.0 1.0]); orfLstSel=get(handles.GeneOrfTog,'value'); - if orfLstSel==1 - set(handles.listboxGnOrf,'string',Exp(3).Dexp(1).srtOrfLst) - else - set(handles.listboxGnOrf,'string',Exp(3).Dexp(1).srtGnLst) + if orfLstSel==1 + set(handles.listboxGnOrf,'string',Exp(3).Dexp(1).srtOrfLst) + else + set(handles.listboxGnOrf,'string',Exp(3).Dexp(1).srtGnLst) + end + DNLaxes3=handles.DNLaxes3; % ZoneRelated + Exp(3).hzeroCLn(expLdCnt)=plot(DNLaxes3,zeroCLn,1:DMnum,'y'); end - DNLaxes3= handles.DNLaxes3; %ZoneRelated - Exp(3).hzeroCLn(expLdCnt)=plot(DNLaxes3,zeroCLn,1:DMnum,'y'); -end -if Exp(4).interacPBsel==0 %if interaction "raw" don't show a center line - for i=1:Exp(expN).expLoadCnt, - try set(Exp(expN).hzeroCLn(i),'visible','off'); + if Exp(4).interacPBsel==0 % if interaction "raw" don't show a center line + for i=1:Exp(expN).expLoadCnt + try + set(Exp(expN).hzeroCLn(i),'visible','off'); catch - catchissue= strcat('Ln521',i) - end, - end %ZoneRelated -end -%********************************************************* -EZdiagRFsSheet %** -%***************** + end + end + end -%********************************************************* -RFconfig=0; -if sum(ismember(fieldnames(Exp(expN).Dexp(1)),'RFmean'))&&... - ~isempty(Exp(expN).Dexp(1).RFmean)&&... - sum(ismember(fieldnames(Exp(expN).Dexp(1)),'RFmeanG'))&&... - isempty(Exp(expN).Dexp(1).RFmeanG) + EZdiagRFsSheet + + RFconfig=0; + if sum(ismember(fieldnames(Exp(expN).Dexp(1)),'RFmean')) ... + && ~isempty(Exp(expN).Dexp(1).RFmean) ... + && sum(ismember(fieldnames(Exp(expN).Dexp(1)),'RFmeanG')) ... + && isempty(Exp(expN).Dexp(1).RFmeanG) RFconfig=1; -end -if sum(ismember(fieldnames(Exp(expN).Dexp(1)),'RFmean'))==0 ||... - isempty(Exp(expN).Dexp(1).RFmean)&&... - sum(ismember(fieldnames(Exp(expN).Dexp(1)),'RFmeanG'))&&... - ~isempty(Exp(expN).Dexp(1).RFmeanG) + end + if sum(ismember(fieldnames(Exp(expN).Dexp(1)),'RFmean'))==0 ... + || isempty(Exp(expN).Dexp(1).RFmean) ... + && sum(ismember(fieldnames(Exp(expN).Dexp(1)),'RFmeanG')) ... + && ~isempty(Exp(expN).Dexp(1).RFmeanG) RFconfig=2; -end -if sum(ismember(fieldnames(Exp(expN).Dexp(1)),'RFmean'))&&... - ~isempty(Exp(expN).Dexp(1).RFmean)&&... - sum(ismember(fieldnames(Exp(expN).Dexp(1)),'RFmeanG'))&&... - ~isempty(Exp(expN).Dexp(1).RFmeanG) + end + if sum(ismember(fieldnames(Exp(expN).Dexp(1)),'RFmean')) ... + && ~isempty(Exp(expN).Dexp(1).RFmean) ... + && sum(ismember(fieldnames(Exp(expN).Dexp(1)),'RFmeanG')) ... + && ~isempty(Exp(expN).Dexp(1).RFmeanG) RFconfig=3; -end -Exp(expN).RFconfig= RFconfig; %ZoneRelated -%****************************************** -if RFconfig~=0 - Exp(expN).Dexp(1).RFrnames=rnames; - Exp(expN).Dexp(1).RFdata= data; - Exp(expN).Dexp(1).resetHtmpTg =5; %ZoneRelated + end + Exp(expN).RFconfig=RFconfig; % ZoneRelated - % HtMapTog 'string', 'Current user L/N' selection' - Exp(expN).Dexp(1).spotIndx= []; - if expN==1, - Exp(1).htmapPBsel=0; - set(handles.HtMapTog1,'string','L') - %********* - EZhtMap %* - %********* - end - if expN==2, - Exp(2).htmapPBsel=0; - set(handles.HtMapTog2,'string','L') - %********* - EZhtMap %* - %********* - end - if expN==3, - Exp(3).htmapPBsel=0; - set(handles.HtMapTog3,'string','L') - %********* - EZhtMap %* - %********* - end - htMapTogPBfg=0; + if RFconfig~=0 + Exp(expN).Dexp(1).RFrnames=rnames; + Exp(expN).Dexp(1).RFdata=data; + Exp(expN).Dexp(1).resetHtmpTg=5; % ZoneRelated + % HtMapTog 'string', 'Current user L/N' selection' + Exp(expN).Dexp(1).spotIndx=[]; + if expN==1 + Exp(1).htmapPBsel=0; + set(handles.HtMapTog1,'string','L') + EZhtMap + end + if expN==2 + Exp(2).htmapPBsel=0; + set(handles.HtMapTog2,'string','L') + EZhtMap + end + if expN==3, + Exp(3).htmapPBsel=0; + set(handles.HtMapTog3,'string','L') + EZhtMap + end + htMapTogPBfg=0; + elseif RFconfig==0 + RFconfigMsg='No RF1 references in this Experiment Job' + try + EZsingleExUserRF + % EZmultiDayGui + % cd(w) + % EZmultiDay + % EZmultiExLoad + catch + RFconfigMsg='No RF1 or User selected references in this Experiment Job' + Exp(expN).Dexp(1).resetHtmpTg=3; % ZoneRelated + end + % Exp(expN).Dexp(1).resetHtmpTg=3; %ZoneRelated + end -elseif RFconfig==0, - RFconfigMsg= 'No RF1 references in this Experiment Job' - try - %********************* - EZsingleExUserRF - %EZmultiDayGui %* - %cd(w) %* - %EZmultiDay %* - %EZmultiExLoad %* - %********************* - catch - RFconfigMsg= 'No RF1 or User selected references in this Experiment Job' - Exp(expN).Dexp(1).resetHtmpTg =3; %ZoneRelated - end - - % Exp(expN).Dexp(1).resetHtmpTg =3; %ZoneRelated -end -%***************************************** -%********************************************** -%{ -try msgBadGeneName, catch, end -try - + %{ + try msgBadGeneName, catch, end + try if RFconfig==0, - RFconfigMsg= 'No RF1 references in this Experiment Job' - Exp(expN).Dexp(1).resetHtmpTg =3; %ZoneRelated + RFconfigMsg='No RF1 references in this Experiment Job' + Exp(expN).Dexp(1).resetHtmpTg=3; %ZoneRelated end -catch -end -%*************************** -%} -%******************************************************************* + catch + end + %} elseif expType==2 %Multiple Experiment from in one Folder extraction - Exp(expN).DexpType= 'chrono'; - %********************* - %Test for Bad MP cell array (usually 384 [NaN}'s) - %replaced length(Exp(expN).Dexp(1).MP) with MPnum - for mx=1:length(Exp(expN).Dexp(1).MP) - try + Exp(expN).DexpType='chrono'; + % Test for Bad MP cell array (usually 384 [NaN}'s) + % replaced length(Exp(expN).Dexp(1).MP) with MPnum + for mx=1:length(Exp(expN).Dexp(1).MP) + try char((Exp(expN).Dexp(1).MP(mx).genename{1}(384))) - MPnum=mx; - catch - break - end + MPnum=mx; + catch + break end -%************************************************* - ww=pwd; - try EZmultiDayGui; catch ME - msg=ME.message, cd(ww); end %* %* - try EZmultiDay; catch ME - msg=ME.message, cd(ww); end %* - try EZmultiExLoad; catch ME - msg=ME.message, cd(ww); end %* - %********************* + end + + ww=pwd; + try EZmultiDayGui; catch ME + msg=ME.message, cd(ww); end + try EZmultiDay; catch ME + msg=ME.message, cd(ww); end + try EZmultiExLoad; catch ME + msg=ME.message, cd(ww); end elseif expType==3 - Exp(expN).DexpType= 'multi'; - %********************* - %Test for Bad MP cell array (usually 384 [NaN}'s) - %replaced length(Exp(expN).Dexp(1).MP) with MPnum - for mx=1:length(Exp(expN).Dexp(1).MP) - try + Exp(expN).DexpType='multi'; + % Test for Bad MP cell array (usually 384 [NaN}'s) + % replaced length(Exp(expN).Dexp(1).MP) with MPnum + for mx=1:length(Exp(expN).Dexp(1).MP) + try char((Exp(expN).Dexp(1).MP(mx).genename{1}(384))) - MPnum=mx; - catch - break - end + MPnum=mx; + catch + break end -%************************************************* - ww=pwd; - try EZmultiDayGui; catch ME - msg=ME.message,cd(ww); end %* %* - try EZmultiDay; catch ME - msg=ME.message, cd(ww); end %* - try EZmultiExLoad; catch ME - msg=ME.message, cd(ww); end %* - %********************* + end + + ww=pwd; + try EZmultiDayGui; catch ME + msg=ME.message,cd(ww); end + try EZmultiDay; catch ME + msg=ME.message, cd(ww); end + try EZmultiExLoad; catch ME + msg=ME.message, cd(ww); end else - disp('Cancel Load Exp') + disp('Cancel Load Exp') end - - -%__________________________________________________________________________ -%Bone Yard*********************************** -%Exp(expN).Dexp(1).RF1cmpK.[]; %For Ref Composite 17_1009 -%Exp(expN).Dexp(1).std1K= []; %For Ref Composite 17_1009 -%Exp(expN).Dexp(1).min1K= []; %For Ref Composite 17_1009 -%Exp(expN).Dexp(1).max1K= []; %For Ref Composite 17_1009 -%Exp(expN).Dexp(1)RF1cmpr= []; %For Ref Composite 17_1009 -%Exp(expN).Dexp(1).std1r= []; %For Ref Composite 17_1009 -%Exp(expN).Dexp(1).min1r= []; %For Ref Composite 17_1009 -%Exp(expN).Dexp(1).max1r= []; %For Ref Composite 17_1009 -%Exp(expN).Dexp(1).RF= []; %For Ref Composite 17_1009 -%Exp(expN).Dexp(1).std2K= []; %For Ref Composite 17_1009 -%Exp(expN).Dexp(1).min2K= []; %For Ref Composite 17_1009 -%Exp(expN).Dexp(1).max2K= []; %For Ref Composite 17_1009 -%Exp(expN).Dexp(1).RF2cmpr= []; %For Ref Composite 17_1009 -%Exp(expN).Dexp(1).std2r= []; %For Ref Composite 17_1009 -%Exp(expN).Dexp(1).min2r= []; %For Ref Composite 17_1009 -%Exp(expN).Dexp(1).max2r= []; %For Ref Composite 17_1009 - -%kValList1{d+1}= kValLst; %For Ref Composite 17_1009 - %kmin1= min(kValLst); %For Ref Composite 17_1009 - %kmax1= max(kValLst); %For Ref Composite 17_1009 - %kstd1= std(kValLst); %For Ref Composite 17_1009 - %kmean1= mean(kValLst); %For Ref Composite 17_1009 - %rValList1{d+1}= rValLst; %For Ref Composite 17_1009 - %rmin1= min(rValLst); %For Ref Composite 17_1009 - %rmax1= max(rValLst); %For Ref Composite 17_1009 - %rstd1= std(rValLst); %For Ref Composite 17_1009 - %rmean1= mean(rValLst); %For Ref Composite 17_1009 - %kValList2{d+1}= kValLst2; %For Ref Composite 17_1009 - %kmin2= min(kValLst2); %For Ref Composite 17_1009 - %kmax2= max(kValLst2); %For Ref Composite 17_1009 - %kstd2= std(kValLst2); %For Ref Composite 17_1009 - %kmean2= mean(kValLst2); %For Ref Composite 17_1009 - %rValList2{d+1}= rValLst2; %For Ref Composite 17_1009 - % rmin2= min(rValLst2); %For Ref Composite 17_1009 - %rmax2= max(rValLst2); %For Ref Composite 17_1009 - %rstd2= std(rValLst2); %For Ref Composite 17_1009 - %rmean2= mean(rValLst2); %For Ref Composite 17_1009 - - +% Deprecated Functions %{ +%Exp(expN).Dexp(1).RF1cmpK.[]; %For Ref Composite 17_1009 +%Exp(expN).Dexp(1).std1K=[]; %For Ref Composite 17_1009 +%Exp(expN).Dexp(1).min1K=[]; %For Ref Composite 17_1009 +%Exp(expN).Dexp(1).max1K=[]; %For Ref Composite 17_1009 +%Exp(expN).Dexp(1)RF1cmpr=[]; %For Ref Composite 17_1009 +%Exp(expN).Dexp(1).std1r=[]; %For Ref Composite 17_1009 +%Exp(expN).Dexp(1).min1r=[]; %For Ref Composite 17_1009 +%Exp(expN).Dexp(1).max1r=[]; %For Ref Composite 17_1009 +%Exp(expN).Dexp(1).RF=[]; %For Ref Composite 17_1009 +%Exp(expN).Dexp(1).std2K=[]; %For Ref Composite 17_1009 +%Exp(expN).Dexp(1).min2K=[]; %For Ref Composite 17_1009 +%Exp(expN).Dexp(1).max2K=[]; %For Ref Composite 17_1009 +%Exp(expN).Dexp(1).RF2cmpr=[]; %For Ref Composite 17_1009 +%Exp(expN).Dexp(1).std2r=[]; %For Ref Composite 17_1009 +%Exp(expN).Dexp(1).min2r=[]; %For Ref Composite 17_1009 +%Exp(expN).Dexp(1).max2r=[]; %For Ref Composite 17_1009 + +%kValList1{d+1}=kValLst; %For Ref Composite 17_1009 +%kmin1=min(kValLst); %For Ref Composite 17_1009 +%kmax1=max(kValLst); %For Ref Composite 17_1009 +%kstd1=std(kValLst); %For Ref Composite 17_1009 +%kmean1=mean(kValLst); %For Ref Composite 17_1009 +%rValList1{d+1}=rValLst; %For Ref Composite 17_1009 +%rmin1=min(rValLst); %For Ref Composite 17_1009 +%rmax1=max(rValLst); %For Ref Composite 17_1009 +%rstd1=std(rValLst); %For Ref Composite 17_1009 +%rmean1=mean(rValLst); %For Ref Composite 17_1009 +%kValList2{d+1}=kValLst2; %For Ref Composite 17_1009 +%kmin2=min(kValLst2); %For Ref Composite 17_1009 +%kmax2=max(kValLst2); %For Ref Composite 17_1009 +%kstd2=std(kValLst2); %For Ref Composite 17_1009 +%kmean2=mean(kValLst2); %For Ref Composite 17_1009 +%rValList2{d+1}=rValLst2; %For Ref Composite 17_1009 +% rmin2=min(rValLst2); %For Ref Composite 17_1009 +%rmax2=max(rValLst2); %For Ref Composite 17_1009 +%rstd2=std(rValLst2); %For Ref Composite 17_1009 +%rmean2=mean(rValLst2); %For Ref Composite 17_1009 %User Reference Input Dialog Box used in the multiExperiment Chrono setup - prompt={'Enter GeneName to use as Reference:',... - 'Enter Specifics Term if used to futher specify Reference '} - dlg_title='User Reference Input'; - num_lines=1; - def={'RF1','None'}; - answer=inputdlg(prompt,dlg_title,num_lines,def); - rfGene= cell2mat(answer(1)); - if ~strcmpi(rfGene,'RF1')|| ~strcmpi(rfGene,'RF2'), usrRefFg=1; end - rfSpec= answer(2); %if strcmpi(answer(2),'None'), rfSpec= ''; end - rfGnSp= strcat(rfGene,rfSpec); +prompt={'Enter GeneName to use as Reference:',... +'Enter Specifics Term if used to futher specify Reference '} +dlg_title='User Reference Input'; +num_lines=1; +def={'RF1','None'}; +answer=inputdlg(prompt,dlg_title,num_lines,def); +rfGene=cell2mat(answer(1)); +if ~strcmpi(rfGene,'RF1')|| ~strcmpi(rfGene,'RF2'), usrRefFg=1; end +rfSpec=answer(2); %if strcmpi(answer(2),'None'), rfSpec=''; end +rfGnSp=strcat(rfGene,rfSpec); - -%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %First user input prototype code if ~exist('RF1scanN','var') && ~exist('RF2scanN','var') %change || && - prompt={'Enter Masterplate Number(s) of Your Reference GeneName spots:',... - 'Enter GeneName of Your Reference:'}; - dlg_title='User Reference Input'; - num_lines=1; - def={'Ref MP(s)','USRrefGeneName'}; - answer=inputdlg(prompt,dlg_title,num_lines,def); - rfMPstr= cell2mat(answer(1)); - rfMPcomas=strfind((cell2mat(answer(1))),','); - n=0; - if isempty(rfMPcomas)|| max(rfMPcomas)== length(rfMPstr) - usrMPs= rfMPstr - else - for i= rfMPcomas, - n=n+1 - usrMPs(n)= str2double(rfMPstr(i-1:i)) - if i== max(rfMPcomas) - usrMPs(n+1)= str2double(rfMPstr(i:end)) - end - end - end - usrMPs= answer(1); - refGene= answer(2); + prompt={'Enter Masterplate Number(s) of Your Reference GeneName spots:',... + 'Enter GeneName of Your Reference:'}; + dlg_title='User Reference Input'; + num_lines=1; + def={'Ref MP(s)','USRrefGeneName'}; + answer=inputdlg(prompt,dlg_title,num_lines,def); + rfMPstr=cell2mat(answer(1)); + rfMPcomas=strfind((cell2mat(answer(1))),','); + n=0; + if isempty(rfMPcomas)|| max(rfMPcomas)==length(rfMPstr) + usrMPs=rfMPstr + else + for i=rfMPcomas, + n=n+1 + usrMPs(n)=str2double(rfMPstr(i-1:i)) + if i==max(rfMPcomas) + usrMPs(n+1)=str2double(rfMPstr(i:end)) + end + end + end + usrMPs=answer(1); + refGene=answer(2); end %} diff --git a/workflow/apps/matlab/ezview/EZfigTrendOL.m b/workflow/apps/matlab/ezview/EZfigTrendOL.m index f24658d4..012e9f30 100755 --- a/workflow/apps/matlab/ezview/EZfigTrendOL.m +++ b/workflow/apps/matlab/ezview/EZfigTrendOL.m @@ -2,593 +2,548 @@ %Uses data stored from OLay ; Clearing OLay clears data used by this %Trending Utility - global Exp global userPars %try -kfiltLim= userPars.kfiltLim; +kfiltLim=userPars.kfiltLim; %catch -%kfiltLim= str2double(userPars.BPdefault(6)); +%kfiltLim=str2double(userPars.BPdefault(6)); %end -if get(handles.CompositeTog1, 'Value') - cmpTogFlg=1; +if get(handles.CompositeTog1, 'Value') + cmpTogFlg=1; else - cmpTogFlg=0; + 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 % for trc= 1: -end %for n=1:length(Exp(expN).Dexp) -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 %if isequal(get(Exp(1).hOL(trc),'Visible'),'on') - catch - end - end %for trc= -end %for n=1:length(Exp(expN).Dexp) - -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 %if isequal(get(Exp(1).hOL(trc),'Visible'),'on') +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 % for trc= 1: -end %for -%end %for n=1:length(Exp(expN).Dexp) -%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 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 %for trc= -end %for dm=1:length(Exp(expN).Dexp(DexpN).DM.drug) -%{ - if isequal(tempLB(4:6),'cmp')||isequal(tempLB(3:6),'cmpG'), - RFcmpFlg=1; - else - RFcmpFlg=0; - end -%} - -end %if strcmp(Exp(expN).DexpType, 'chrono') else if Single or Multi experiment -%*********************************************************************************************** -%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 + 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 - 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 %if userlPars.boxplotFlg==1 -% END OF BOX PLOT CODE**************************************************** - - - -%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -%*****************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 %for n=1:length(Exp(expN).Dexp) - % end %if isequal(get(Exp(1).hOL(trc),'Visible'),'on') - - %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'), + % 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 %try - end % if isequal(get(Exp(expN).hOL(trc),'Visible'),'on') approx ln322 - 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 %for trc= 1:Exp(expN).traceN approx. ln319 - -%************** 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 + 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 %for n=1:length(Exp(expN).Dexp) - end % if isequal(get(Exp(expN).hOL(trc),'Visible'),'on') - end %for trc= 1:Exp(expN).traceN + 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 - %legName=strrep(NmLst,'_','-'); -mm=1; -for nn= 1:length(NmLst) - if iscellstr(NmLst(nn)) - legName(mm)=strrep(NmLst(nn),'_','-'); - mm=mm+1; + % 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 -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') - + + xlabel('Days') + ylabel('L in Hours') + title('Chronological Trend Plot with Standard Deviations') hold off - %*************************************************************** - %+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - - - %*************************************************************** - %SINGLE or MULTI-Experiment + + % 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 + 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=[]; + 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) - 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 %if isequal(get(Exp(1).hOL(trc),'Visible'),'on') - - - end %for n=1:length(Exp(expN).Dexp(DexpN).DM.drug) %LOOP Thru Drug-Media perturbations - - %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 %for trc= 1:Exp(expN).traceN - -%************** 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 + 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 - end %for n=1:length(Exp(expN).Dexp) - end %for trc= 1:Exp(expN).traceN + % 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 -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) - + % 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 %if ~strcmp(Exp(expN).DexpType, 'chrono') %Single or Multi-Experiment 395 - - %*************************************************************** - %+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - %end - hold off + hold off + end + hold off end %if userPars.boxplotFlg~=1 %PLOT OVERLAY OF TRENDS 266 \ No newline at end of file diff --git a/workflow/apps/matlab/ezview/EZhtMap.m b/workflow/apps/matlab/ezview/EZhtMap.m index 47f340e8..2a159091 100755 --- a/workflow/apps/matlab/ezview/EZhtMap.m +++ b/workflow/apps/matlab/ezview/EZhtMap.m @@ -8,394 +8,370 @@ if isempty(adj), adj=1.5; flip='T'; end load('MyColormap1','modJet1') load('MyColormap2','modJet2') %load('MyColormap2','modJet0') -%adj= 1.5; +%adj=1.5; cleanPallet=zeros(24,16); - if expN==1,DexpN= (get(handles.DN1,'value')); end - if expN==2,DexpN= (get(handles.DN2,'value')); end - if expN==3,DexpN= (get(handles.DN3,'value')); end - Exp(expN).DexpN=DexpN; +if expN==1,DexpN=(get(handles.DN1,'value')); end +if expN==2,DexpN=(get(handles.DN2,'value')); end +if expN==3,DexpN=(get(handles.DN3,'value')); end +Exp(expN).DexpN=DexpN; try - if expN==1,MPsel=floor(get(ghandles.MPsldr1,'value')); end - if expN==2,MPsel=floor(get(ghandles.MPsldr2,'value')); end - if expN==3,MPsel=floor(get(ghandles.MPsldr3,'value')); end - if expN==1,pertSel=floor(get(ghandles.DMsldr1,'value')); end - if expN==2,pertSel=floor(get(ghandles.DMsldr2,'value')); end - if expN==3,pertSel=floor(get(ghandles.DMsldr3,'value')); end + if expN==1,MPsel=floor(get(ghandles.MPsldr1,'value')); end + if expN==2,MPsel=floor(get(ghandles.MPsldr2,'value')); end + if expN==3,MPsel=floor(get(ghandles.MPsldr3,'value')); end + if expN==1,pertSel=floor(get(ghandles.DMsldr1,'value')); end + if expN==2,pertSel=floor(get(ghandles.DMsldr2,'value')); end + if expN==3,pertSel=floor(get(ghandles.DMsldr3,'value')); end catch - MPsel=1; - pertSel=1; + MPsel=1; + pertSel=1; end if expN==1, expAxes=ghandles.Iaxes1;end if expN==2, expAxes=ghandles.Iaxes2;end if expN==3, expAxes=ghandles.Iaxes3;end -dmN= length(Exp(expN).Dexp(DexpN).DM.drug); -mpSel= Exp(expN).Dexp(DexpN).MPsel; -dmSel= Exp(expN).Dexp(DexpN).pertSel; -scnN= dmSel + (dmN*(mpSel-1)); +dmN=length(Exp(expN).Dexp(DexpN).DM.drug); +mpSel=Exp(expN).Dexp(DexpN).MPsel; +dmSel=Exp(expN).Dexp(DexpN).pertSel; +scnN=dmSel + (dmN*(mpSel-1)); -if expN==1,htTog= Exp(1).htmapPBsel;end -if expN==2,htTog= Exp(2).htmapPBsel;end -if expN==3,htTog= Exp(3).htmapPBsel;end +if expN==1,htTog=Exp(1).htmapPBsel;end +if expN==2,htTog=Exp(2).htmapPBsel;end +if expN==3,htTog=Exp(3).htmapPBsel;end - -%00000000 LLLLLLLLLLLLLL 00000000000000000000000000000000000000000000000 if htTog==0 -colormap(flipud(modJet1)) %colormap(modJet2) -L= Exp(expN).Dexp(DexpN).scan(scnN).plate.CFout(:,5); -L=reshape(L,24,16); -LpStd= mean(nonzeros(L(:)))+(adj*std(nonzeros(L(:)))); -LnStd= mean(nonzeros(L(:))-(adj*std(nonzeros(L(:))))); -%Data rescaling for Heatmap display (color range- mean+/std*adjustment) -for i=1:size(L,1) + colormap(flipud(modJet1)) % colormap(modJet2) + L=Exp(expN).Dexp(DexpN).scan(scnN).plate.CFout(:,5); + L=reshape(L,24,16); + LpStd=mean(nonzeros(L(:)))+(adj*std(nonzeros(L(:)))); + LnStd=mean(nonzeros(L(:))-(adj*std(nonzeros(L(:))))); + + % Data rescaling for Heatmap display (color range- mean+/std*adjustment) + for i=1:size(L,1) for j=1:size(L,2) - if L(i,j)>LpStd, - L4hMap(i,j)= LpStd; - elseif L(i,j)LpStd, + L4hMap(i,j)=LpStd; + elseif L(i,j)=(Rn(j)+RsReduced(j)); + deltaYp(i)= Xln{m,j}(i)-Xln{m,1}(i); + elseif Xn{m,j}(i) < (Rn(j)-RsReduced(j)); + deltaYn(i)= Xhn{m,j}(i)-Xhn{m,1}(i); + % Insert else + end + % Calculate deltaXRp and deltaXRn for each plate based on growth relative to deltaRp or deltaRn + if deltaYp(i)>=deltaRp(j) + deltaXRp(i)=deltaYp(i)-deltaRp(j); + deltaXR{m,j}(i)=deltaXRp(i); %Consoludate into deltaXR{m,j}(i) cell array + elseif deltaYn(i) < deltaRn(j) + deltaXRn(i)=deltaYn(i)-deltaRn(j); + deltaXR{m,j}(i)=deltaXRn(i); %Consoludate into deltaXR{m,j}(i) cell array + if deltaYn(i)==0, deltaXR{m,j}(i)=0; end + end + % Ambiguous results that have delta gene values that are less than the variance of Reference+/-std + end + + deltaXRl=deltaXR{m,j,:}; + htMpN1Lzeros999=deltaXR{m,j,:}; + deltaXRl(htmpCpyXn==0)=1.2*max(deltaXRl); + htMpN1Lzeros999(htmpCpyXn==0)=999; + Exp(expN).HtMpIntN1=htMpN1Lzeros999'; - deltaYp= zeros(1,384); deltaYn= zeros(1,384); - deltaXRp= zeros(1,384); deltaXRn= zeros(1,384); - deltaXR{m,j}= zeros(1,384); - for i=1:384 - %Select lower or upper boundary value based on Yn(1) - if Xn{m,j}(i) >= (Rn(j)+RsReduced(j)); - deltaYp(i)= Xln{m,j}(i)-Xln{m,1}(i); - elseif Xn{m,j}(i) < (Rn(j)-RsReduced(j)); - deltaYn(i)= Xhn{m,j}(i)-Xhn{m,1}(i); - % Insert else - end - %Calculate deltaXRp and deltaXRn for each plate based on growth relative to deltaRp or deltaRn - if deltaYp(i)>= deltaRp(j) - deltaXRp(i)= deltaYp(i)-deltaRp(j); - deltaXR{m,j}(i)= deltaXRp(i); %Consoludate into deltaXR{m,j}(i) cell array - elseif deltaYn(i) < deltaRn(j) - deltaXRn(i)= deltaYn(i)-deltaRn(j); - deltaXR{m,j}(i)= deltaXRn(i); %Consoludate into deltaXR{m,j}(i) cell array - if deltaYn(i)==0, deltaXR{m,j}(i)=0; end - end - %Ambiguous results that have delta gene values that are less than the variance of Reference+/-std - end %for i=1:384 - deltaXRl= deltaXR{m,j,:}; - htMpN1Lzeros999= deltaXR{m,j,:}; - deltaXRl(htmpCpyXn==0)=1.2*max(deltaXRl); - htMpN1Lzeros999(htmpCpyXn==0)=999; - Exp(expN).HtMpIntN1=htMpN1Lzeros999'; - -%************************************************************************** -I=reshape(deltaXRl,24,16); + I=reshape(deltaXRl,24,16); + if prntHt==0 + hTogHt=figure; + h=image(cleanPallet); + else + figure + h=image(cleanPallet); + end + % h=figure; + h=image(I); + colormap(jet); % heat map + set(h,'CDataMapping','scale') + + if expN==1,cla(handles.HtMap1);copyobj(h,ghandles.HtMap1);end + if expN==2,cla(handles.HtMap2);copyobj(h,ghandles.HtMap2);end + if expN==3,cla(handles.HtMap3);copyobj(h,ghandles.HtMap3);end -if prntHt== 0 - hTogHt= figure; - h=image(cleanPallet); -else - figure - h= image(cleanPallet); -end -%h=figure; -h=image(I); -colormap(jet); % heat map -set(h,'CDataMapping','scale') - -if expN==1,cla(handles.HtMap1);copyobj(h,ghandles.HtMap1);end -if expN==2,cla(handles.HtMap2);copyobj(h,ghandles.HtMap2);end -if expN==3,cla(handles.HtMap3);copyobj(h,ghandles.HtMap3);end - -if prntHt== 0 - close(hTogHt) -else - set(gca,'XDir','reverse') - set(gca,'XTickMode','manual') - %set(gca,'XTickLabel',{'2';'4';'6';'8';'10';'12';'14';'16'}) - %set(gca,'XTickLabel',{'16';'14';'12';'10';'8';'6';'4';'2'}) - %set(gca,'XTick',{0;2;4;6;8;10;12;14;16;18}) - colorbar - expLblHtmap= Exp(expN).Dexp.ExpFoldr; - mediaLBhtmap= char(strcat(', Agar-',Exp(expN).Dexp(DexpN).DM.media{pertSel},' ',Exp(expN).Dexp(DexpN).DM.drug{pertSel},Exp(expN).Dexp(DexpN).DM.conc{pertSel},... - ' ',Exp(expN).Dexp(DexpN).DM.mod1{pertSel},Exp(expN).Dexp(DexpN).DM.conc1{pertSel},' ',Exp(expN).Dexp(DexpN).DM.mod2{pertSel},Exp(expN).Dexp(DexpN).DM.conc2{pertSel})); - - title({strcat('N1 HeatMap for - ',expLblHtmap),strcat('MP=',num2str(mpSel),' ,DM=',num2str(dmSel),mediaLBhtmap)}) -end -% end %for m=1:1 -%end %for j=1:1 -%4444444444444444444444444444444444444444444444444444444444(22222222222222222) + if prntHt==0 + close(hTogHt) + else + set(gca,'XDir','reverse') + set(gca,'XTickMode','manual') + % set(gca,'XTickLabel',{'2';'4';'6';'8';'10';'12';'14';'16'}) + % set(gca,'XTickLabel',{'16';'14';'12';'10';'8';'6';'4';'2'}) + % set(gca,'XTick',{0;2;4;6;8;10;12;14;16;18}) + colorbar + expLblHtmap=Exp(expN).Dexp.ExpFoldr; + mediaLBhtmap=char(strcat(', Agar-',Exp(expN).Dexp(DexpN).DM.media{pertSel},' ',... + Exp(expN).Dexp(DexpN).DM.drug{pertSel},Exp(expN).Dexp(DexpN).DM.conc{pertSel},' ',... + Exp(expN).Dexp(DexpN).DM.mod1{pertSel},Exp(expN).Dexp(DexpN).DM.conc1{pertSel},' ',... + Exp(expN).Dexp(DexpN).DM.mod2{pertSel},Exp(expN).Dexp(DexpN).DM.conc2{pertSel})); + title({strcat('N1 HeatMap for - ',expLblHtmap),strcat('MP=',num2str(mpSel),' ,DM=',num2str(dmSel),mediaLBhtmap)}) + end elseif htTog==4 - answer= Exp(expN).htmapRFanswer; %ZoneRelated - RFconfig=Exp(expN).RFconfig; %ZoneRelated - answer= Exp(expN).htmapRFanswer; %ZoneRelated - - j=dmSel; - DM0= dmSel; DMj= dmSel; - m= mpSel; - %**************** - anN= [1 2]; %* - EZintRFs %* Call subroutine to interpret user RF inputs - %**************** - - scnNdm1= 1 + (dmN*(m-1)) - scnN= j + (dmN*(m-1)) % 1,6,11..; 2,7,12 ..; 3,8,13..; - Xn{m,j,1}= []; + answer=Exp(expN).htmapRFanswer; % ZoneRelated + RFconfig=Exp(expN).RFconfig; % ZoneRelated + answer=Exp(expN).htmapRFanswer; % ZoneRelated + j=dmSel; + DM0=dmSel; DMj=dmSel; + m=mpSel; + anN=[1 2]; + EZintRFs % Call subroutine to interpret user RF inputs + scnNdm1=1 + (dmN*(m-1)) + scnN=j + (dmN*(m-1)) % 1,6,11..; 2,7,12 ..; 3,8,13..; + Xn{m,j,1}=[]; Xn{m,1,:}=Exp(expN).Dexp(DexpN).scan(scnNdm1).plate(1).CFout(:,5); Xn{m,j,:}=Exp(expN).Dexp(DexpN).scan(scnN).plate(1).CFout(:,5); htmpCpyXn=Xn{m,j,:}'; % Use to find and delineate no growth spots with 999 in text field (infinite interaction) value; - intL= ((Xn{m,j,:} - Xn{m,1,:}) - (Rn(j)-Rn(1))); - Exp(expN).HtMpIntN2=intL; %ZoneRelated - - intL= Exp(expN).HtMpIntN2; %ZoneRelated + intL=((Xn{m,j,:} - Xn{m,1,:}) - (Rn(j)-Rn(1))); + Exp(expN).HtMpIntN2=intL; % ZoneRelated + intL=Exp(expN).HtMpIntN2; % ZoneRelated I=reshape(intL,24,16); -if prntHt== 0 - hTogHt= figure; - h=image(cleanPallet); - elsef - figure - h= image(cleanPallet); -end + if prntHt==0 + hTogHt=figure; + h=image(cleanPallet); + elseif + figure + h=image(cleanPallet); + end %h=figure h=image(I) colormap(jet); % heat map @@ -404,24 +380,26 @@ end if expN==2,cla(handles.HtMap2);copyobj(h,ghandles.HtMap2);end if expN==3,cla(handles.HtMap3);copyobj(h,ghandles.HtMap3);end - if prntHt== 0 - close(hTogHt) + if prntHt==0 + close(hTogHt) else - set(gca,'XDir','reverse') - set(gca,'XTickMode','manual') - %set(gca,'XTickLabel',{'2';'4';'6';'8';'10';'12';'14';'16'}) - %set(gca,'XTickLabel',{'16';'14';'12';'10';'8';'6';'4';'2'}) - %set(gca,'XTick',{0;2;4;6;8;10;12;14;16;18}) - colorbar - expLblHtmap= Exp(expN).Dexp.ExpFoldr; - mediaLBhtmap= char(strcat(', Agar-',Exp(expN).Dexp(DexpN).DM.media{pertSel},' ',Exp(expN).Dexp(DexpN).DM.drug{pertSel},Exp(expN).Dexp(DexpN).DM.conc{pertSel},... - ' ',Exp(expN).Dexp(DexpN).DM.mod1{pertSel},Exp(expN).Dexp(DexpN).DM.conc1{pertSel},' ',Exp(expN).Dexp(DexpN).DM.mod2{pertSel},Exp(expN).Dexp(DexpN).DM.conc2{pertSel})); - - title({strcat('N2 HeatMap for - ',expLblHtmap),strcat('MP=',num2str(mpSel),' ,DM=',num2str(dmSel),mediaLBhtmap)}) - end - -end %if htTog== -prntHt= 0; -%************* ***** -EZhtMapText %* Update htMapText for location on the first 'roll thru of htMapPB -%************* ***** + set(gca,'XDir','reverse') + set(gca,'XTickMode','manual') + % set(gca,'XTickLabel',{'2';'4';'6';'8';'10';'12';'14';'16'}) + % set(gca,'XTickLabel',{'16';'14';'12';'10';'8';'6';'4';'2'}) + % set(gca,'XTick',{0;2;4;6;8;10;12;14;16;18}) + colorbar + expLblHtmap=Exp(expN).Dexp.ExpFoldr; + mediaLBhtmap=char(strcat(', Agar-',Exp(expN).Dexp(DexpN).DM.media{pertSel},' ',... + Exp(expN).Dexp(DexpN).DM.drug{pertSel},Exp(expN).Dexp(DexpN).DM.conc{pertSel},' ',... + Exp(expN).Dexp(DexpN).DM.mod1{pertSel},Exp(expN).Dexp(DexpN).DM.conc1{pertSel},' ',... + Exp(expN).Dexp(DexpN).DM.mod2{pertSel},Exp(expN).Dexp(DexpN).DM.conc2{pertSel})); + title({strcat('N2 HeatMap for - ',expLblHtmap),strcat('MP=',num2str(mpSel),' ,DM=',num2str(dmSel),mediaLBhtmap)}) + end +end + +prntHt=0; + +% Update htMapText for location on the first 'roll thru of htMapPB +EZhtMapText + diff --git a/workflow/apps/matlab/ezview/EZhtMapText.m b/workflow/apps/matlab/ezview/EZhtMapText.m index 9d878ecf..dc476e50 100755 --- a/workflow/apps/matlab/ezview/EZhtMapText.m +++ b/workflow/apps/matlab/ezview/EZhtMapText.m @@ -1,82 +1,79 @@ %EZhtMapText.m -%*********************HeatMap Text Field********************************* +% HeatMap Text Field try -indx=Exp(expN).Dexp(DexpN).spotIndx; -l= Exp(expN).Dexp(DexpN).scan(scnN).plate.CFout(indx,5); -k= Exp(expN).Dexp(DexpN).scan(scnN).plate.CFout(indx,3); -r= Exp(expN).Dexp(DexpN).scan(scnN).plate.CFout(indx,4); -try -ll=num2str(l); -if length(ll)>5,htl= ll(1:5);else htl=ll;end -if ~isempty(htl), htl=strcat('_L=',htl);else htl=' ';end -catch + indx=Exp(expN).Dexp(DexpN).spotIndx; + l=Exp(expN).Dexp(DexpN).scan(scnN).plate.CFout(indx,5); + k=Exp(expN).Dexp(DexpN).scan(scnN).plate.CFout(indx,3); + r=Exp(expN).Dexp(DexpN).scan(scnN).plate.CFout(indx,4); + try + ll=num2str(l); + if length(ll)>5,htl=ll(1:5);else htl=ll;end + if ~isempty(htl), htl=strcat('_L=',htl);else htl=' ';end + catch htl=' '; -end + end -try -kk=num2str(k); -if length(kk)>5,htk= kk(1:5);else htk=kk;end -if ~isempty(htk), htk=strcat('_K=',htk);else htk=' ';end -catch + try + kk=num2str(k); + if length(kk)>5,htk=kk(1:5);else htk=kk;end + if ~isempty(htk), htk=strcat('_K=',htk);else htk=' ';end + catch htk=' '; -end + end -try -rr=num2str(r); -if length(rr)>5,htr= rr(1:5);else htr=rr;end -if ~isempty(htr), htr=strcat('_r=',htr);else htr=' ';end -catch + try + rr=num2str(r); + if length(rr)>5,htr=rr(1:5);else htr=rr;end + if ~isempty(htr), htr=strcat('_r=',htr);else htr=' ';end + catch htr=' '; -end + end - - -try - n1= num2str(Exp(expN).HtMpIntN1(indx)); %num2str(Exp(expN).Dexp(DexpN).HtMpIntN1(indx)); - if length(n1)>5,N1= n1(1:5);else N1=n1; end - if ~isempty(N1), htN1=strcat('_N1=',N1);else htN1=' ';end -catch + try + n1=num2str(Exp(expN).HtMpIntN1(indx)); %num2str(Exp(expN).Dexp(DexpN).HtMpIntN1(indx)); + if length(n1)>5,N1=n1(1:5);else N1=n1; end + if ~isempty(N1), htN1=strcat('_N1=',N1);else htN1=' ';end + catch htN1=' '; -end + end -try - n2= num2str(Exp(expN).HtMpIntN2(indx)); %num2str(Exp(expN).Dexp(DexpN).HtMpIntN2(indx)); - if length(n2)>5,N2= n2(1:5);else N2=n2; end + try + n2=num2str(Exp(expN).HtMpIntN2(indx)); %num2str(Exp(expN).Dexp(DexpN).HtMpIntN2(indx)); + if length(n2)>5,N2=n2(1:5);else N2=n2; end if ~isempty(N2), htN2=strcat('_N2=',N2);else htN2=' ';end %htN2=strcat('_N2=',N2); -catch + catch htN2=' '; -end + end -try -if htTog==0 || htTog> 2 -htmapStr=strcat(htl, htN1,htN2) -if expN==1,set(ghandles.HtMapVals1,'string',htmapStr);end -if expN==2,set(ghandles.HtMapVals2,'string',htmapStr);end -if expN==3,set(ghandles.HtMapVals3,'string',htmapStr);end -end -catch -end + try + if htTog==0 || htTog> 2 + htmapStr=strcat(htl, htN1,htN2) + if expN==1,set(ghandles.HtMapVals1,'string',htmapStr);end + if expN==2,set(ghandles.HtMapVals2,'string',htmapStr);end + if expN==3,set(ghandles.HtMapVals3,'string',htmapStr);end + end + catch + end -try -if htTog==1 -htmapStr=htk %strcat(htl, htN1,htN2) -if expN==1,set(ghandles.HtMapVals1,'string',htmapStr);end -if expN==2,set(ghandles.HtMapVals2,'string',htmapStr);end -if expN==3,set(ghandles.HtMapVals3,'string',htmapStr);end -end -catch -end + try + if htTog==1 + htmapStr=htk %strcat(htl, htN1,htN2) + if expN==1,set(ghandles.HtMapVals1,'string',htmapStr);end + if expN==2,set(ghandles.HtMapVals2,'string',htmapStr);end + if expN==3,set(ghandles.HtMapVals3,'string',htmapStr);end + end + catch + end -try -if htTog==2 -htmapStr=htr %strcat(htl, htN1,htN2) -if expN==1,set(ghandles.HtMapVals1,'string',htmapStr);end -if expN==2,set(ghandles.HtMapVals2,'string',htmapStr);end -if expN==3,set(ghandles.HtMapVals3,'string',htmapStr);end -end + try + if htTog==2 + htmapStr=htr %strcat(htl, htN1,htN2) + if expN==1,set(ghandles.HtMapVals1,'string',htmapStr);end + if expN==2,set(ghandles.HtMapVals2,'string',htmapStr);end + if expN==3,set(ghandles.HtMapVals3,'string',htmapStr);end + end + catch + end catch -end - -catch - msg= 'No spot selected (indx=Exp(expN).Dexp(DexpN).spotIndx)' + msg='No spot selected (indx=Exp(expN).Dexp(DexpN).spotIndx)' end \ No newline at end of file diff --git a/workflow/apps/matlab/ezview/EZintPrint.m b/workflow/apps/matlab/ezview/EZintPrint.m index 377f4cbf..452b908d 100755 --- a/workflow/apps/matlab/ezview/EZintPrint.m +++ b/workflow/apps/matlab/ezview/EZintPrint.m @@ -1,6 +1,4 @@ %print Interaction Data Output file - -%************************************************************************************** %resDir=Exp(expN).Dexp(DexpN).resDir; %expN=1; %temp entry if strcmp(Exp(expN).DexpType, 'single') || strcmp(Exp(expN).DexpType,'multi') @@ -14,7 +12,6 @@ elseif strcmp(Exp(expN).DexpType, 'chrono') pertTypeLB= '; Dayselections:'; Rsmax=max(Rs(1),Rs(1:dmN)); %MKDIR for ChonologicalStudy results in Exp Group folder - %For chrono studies, put the interaction results in the first Exp of selected group. i.e., DexpN=1; intLfilename1= fullfile(Exp(expN).Dexp(1).resDir,'PrintResults','!AggrevatingL-Chrono.txt'); intLfilename2= fullfile(Exp(expN).Dexp(1).resDir,'PrintResults','!AlleviatingL-Chrono.txt'); @@ -22,11 +19,11 @@ elseif strcmp(Exp(expN).DexpType, 'chrono') intLfilename4= fullfile(Exp(expN).Dexp(1).resDir,'PrintResults','!AlleviatingLadjusted-Chrono.txt'); end -userInputs=cell2mat(strcat( 'ExpZone:',num2str(expN), '; LeftPercent',answer(1),'; RightPercent:',answer(2),'; RFstdPercent:',answer(3),pertTypeLB,answer(4),'; RemoveNoGrowthInfLs:',answer(5),... - '; NumberOfHistogramBins:',answer(6),'; Subplots:',answer(7))); %answer(7) +userInputs=cell2mat(strcat( 'ExpZone:',num2str(expN), '; LeftPercent',answer(1),'; RightPercent:',answer(2),... +'; RFstdPercent:',answer(3),pertTypeLB,answer(4),'; RemoveNoGrowthInfLs:',answer(5),... +'; NumberOfHistogramBins:',answer(6),'; Subplots:',answer(7))); %answer(7) -%********************11111111111111111111111111111111111111111**************************************************************************************************************** -%Interaction Printout for Positive (longer L interaction values) Non-Adjusted for Ref std and curve fit boundaries +% Interaction Printout for Positive (longer L interaction values) Non-Adjusted for Ref std and curve fit boundaries fid=fopen(intLfilename1,'w'); ln=1; fprintf(fid,'%d\t',ln); @@ -41,28 +38,27 @@ for j=1:length(DMsel), fprintf(fid,'%s\t',strcat('IntLdm',num2str(DMsel(j)))); e fprintf(fid,'Specifics\tReplicate\tStrain\tMP\tRow\tCol\tIndex'); fprintf(fid, '\n'); if ~isempty(InterslstPos{1}) -for i=1:size(selIntP,1) + for i=1:size(selIntP,1) ln=ln+1; fprintf(fid,'%d\t',ln); fprintf(fid,'%s\t%s\t',cell2mat(IPorf(i)),cell2mat(IPgene(i))); - for j=1:length(DMsel) %'Scan\tPlate\tRow\tCol\t'); + for j=1:length(DMsel) % 'Scan\tPlate\tRow\tCol\t'); fprintf(fid,'%.5f\t',IntersValsPos(i,j)) end - % fprintf(fid,'%.5f\t%.5f\t%.5f\t',ipL(i),ipLlower(i),ipLupper(i)) + % fprintf(fid,'%.5f\t%.5f\t%.5f\t',ipL(i),ipLlower(i),ipLupper(i)) fprintf(fid,'%s\t%s\t%s\t',cell2mat(IPspecifics(i)),cell2mat(IPorfRep(i)),cell2mat(IPstrain(i))); fprintf(fid,'%.5f\t%.5f\t%.5f\t',selIntPx{1}(i,2),selIntPx{1}(i,4),selIntPx{1}(i,5),InterslstPos{1}(i)) - fprintf(fid, '\n'); - -end + fprintf(fid, '\n'); + end else - ln=ln+1; - fprintf(fid,'%d\t',ln); - fprintf(fid,'%s\t','Empty Set, No interaction found within set range.'); + ln=ln+1; + fprintf(fid,'%d\t',ln); + fprintf(fid,'%s\t','Empty Set, No interaction found within set range.'); end - % fprintf(fid, 'Num.\tDiagnostics\tDrug\tConc\tMedia\tModifier1\tConc1\tModifier2\tConc2\tORF\tGene\tAUC\triseTm\tK\tr\tl\tR-squared\tK-lower\tK-upper\tr-lower\tr-upper\tl-lower\tl-upper\tArea\tLastInten\tSplineMaxRateTm\tLastFitTm\t1stFitTm\tMedianBase\tFitBase\tMinTm\tThreshTm\tTotFitPts\tPostThreshFitPts\t1stBackgrd\tLstBackgrd\t1stMeanTotBackgrd\tLstMeanTotBackgrd'); +% fprintf(fid, 'Num.\tDiagnostics\tDrug\tConc\tMedia\tModifier1\tConc1\tModifier2\tConc2\tORF\tGene\tAUC\triseTm\tK\tr\tl\tR-squared\tK-lower\tK-upper\tr-lower\tr-upper\tl-lower\tl-upper\tArea\tLastInten\tSplineMaxRateTm\tLastFitTm\t1stFitTm\tMedianBase\tFitBase\tMinTm\tThreshTm\tTotFitPts\tPostThreshFitPts\t1stBackgrd\tLstBackgrd\t1stMeanTotBackgrd\tLstMeanTotBackgrd'); fclose(fid) -%********************222222222222222222222222222222222222222222222**************************************************************************************************************** -%Interaction Printout for Negative (shorter L interaction values) Non-Adjusted for Ref std and curve fit boundaries + +% Interaction Printout for Negative (shorter L interaction values) Non-Adjusted for Ref std and curve fit boundaries fid=fopen(intLfilename2,'w'); ln=1; fprintf(fid,'%d\t',ln); @@ -77,25 +73,23 @@ for j=1:length(DMsel), fprintf(fid,'%s\t',strcat('IntLdm',num2str(DMsel(j)))); e fprintf(fid,'Specifics\tReplicate\tStrain\tMP\tRow\tCol\tIndex'); fprintf(fid, '\n'); if ~isempty(InterslstNeg{1}) -for i=1:size(selIntN,1) + for i=1:size(selIntN,1) ln=ln+1; fprintf(fid,'%d\t',ln); fprintf(fid,'%s\t%s\t',cell2mat(INorf(i)),cell2mat(INgene(i))); - for j=1:length(DMsel) %'Scan\tPlate\tRow\tCol\t'); + for j=1:length(DMsel) % 'Scan\tPlate\tRow\tCol\t'); fprintf(fid,'%.5f\t',IntersValsNeg(i,j)) end - % fprintf(fid,'%.5f\t%.5f\t%.5f\t',ipL(i),ipLlower(i),ipLupper(i)) + % fprintf(fid,'%.5f\t%.5f\t%.5f\t',ipL(i),ipLlower(i),ipLupper(i)) fprintf(fid,'%s\t%s\t%s\t',cell2mat(INspecifics(i)),cell2mat(INorfRep(i)),cell2mat(INstrain(i))); fprintf(fid,'%.5f\t%.5f\t%.5f\t%.5f\t',selIntNx{1}(i,2),selIntNx{1}(i,4),selIntNx{1}(i,5),InterslstNeg{1}(i)) - - fprintf(fid, '\n'); - -end + fprintf(fid, '\n'); + end end fclose(fid) -%********************3333333333333333333333333333333333333333333333**************************************************************************************************************** -%Interaction Printout for Positive (longer L interaction values) "ADJUSTED" for Ref std and curve fit boundaries + +% Interaction Printout for Positive (longer L interaction values) "ADJUSTED" for Ref std and curve fit boundaries fid=fopen(intLfilename3,'w'); ln=1; fprintf(fid,'%d\t',ln); @@ -106,28 +100,24 @@ ln=2; fprintf(fid,'%d\t',ln); fprintf(fid, 'Orf\tGene\t'); for j=1:length(DMsel), fprintf(fid,'%s\t',strcat('IntLdm',num2str(DMsel(j)))); end -%fprintf(fid, 'L\tLlower\tLupper\t') +% fprintf(fid, 'L\tLlower\tLupper\t') fprintf(fid,'Specifics\tReplicate\tStrain\tMP\tRow\tCol\tIndex'); fprintf(fid, '\n'); for i=1:size(selIntPAdj,1) - ln=ln+1; - fprintf(fid,'%d\t',ln); - fprintf(fid,'%s\t%s\t',cell2mat(IPorfAdj(i)),cell2mat(IPgeneAdj(i))); - for j=1:length(DMsel) %'Scan\tPlate\tRow\tCol\t'); - fprintf(fid,'%.5f\t',IntersValsPosAdj(i,j)) - end - % fprintf(fid,'%.5f\t%.5f\t%.5f\t',ipL(i),ipLlower(i),ipLupper(i)) - fprintf(fid,'%s\t%s\t%s\t',cell2mat(IPspecificsAdj(i)),cell2mat(IPorfRepAdj(i)),cell2mat(IPstrainAdj(i))); - fprintf(fid,'%.5f\t%.5f\t%.5f\t',selIntPxAdj{1}(i,2),selIntPxAdj{1}(i,4),selIntPxAdj{1}(i,5),InterslstPosAdj{1}(i)) - fprintf(fid, '\n'); - + ln=ln+1; + fprintf(fid,'%d\t',ln); + fprintf(fid,'%s\t%s\t',cell2mat(IPorfAdj(i)),cell2mat(IPgeneAdj(i))); + for j=1:length(DMsel) %'Scan\tPlate\tRow\tCol\t'); + fprintf(fid,'%.5f\t',IntersValsPosAdj(i,j)) + end + % fprintf(fid,'%.5f\t%.5f\t%.5f\t',ipL(i),ipLlower(i),ipLupper(i)) + fprintf(fid,'%s\t%s\t%s\t',cell2mat(IPspecificsAdj(i)),cell2mat(IPorfRepAdj(i)),cell2mat(IPstrainAdj(i))); + fprintf(fid,'%.5f\t%.5f\t%.5f\t',selIntPxAdj{1}(i,2),selIntPxAdj{1}(i,4),selIntPxAdj{1}(i,5),InterslstPosAdj{1}(i)) + fprintf(fid, '\n'); end - % fprintf(fid, 'Num.\tDiagnostics\tDrug\tConc\tMedia\tModifier1\tConc1\tModifier2\tConc2\tORF\tGene\tAUC\triseTm\tK\tr\tl\tR-squared\tK-lower\tK-upper\tr-lower\tr-upper\tl-lower\tl-upper\tArea\tLastInten\tSplineMaxRateTm\tLastFitTm\t1stFitTm\tMedianBase\tFitBase\tMinTm\tThreshTm\tTotFitPts\tPostThreshFitPts\t1stBackgrd\tLstBackgrd\t1stMeanTotBackgrd\tLstMeanTotBackgrd'); +% fprintf(fid, 'Num.\tDiagnostics\tDrug\tConc\tMedia\tModifier1\tConc1\tModifier2\tConc2\tORF\tGene\tAUC\triseTm\tK\tr\tl\tR-squared\tK-lower\tK-upper\tr-lower\tr-upper\tl-lower\tl-upper\tArea\tLastInten\tSplineMaxRateTm\tLastFitTm\t1stFitTm\tMedianBase\tFitBase\tMinTm\tThreshTm\tTotFitPts\tPostThreshFitPts\t1stBackgrd\tLstBackgrd\t1stMeanTotBackgrd\tLstMeanTotBackgrd'); fclose(fid) - -%********************44444444444444444444444444444444444444444444****************************************************************************************************************%Interaction Printout for Negative (shorter L interaction values) Non-Adjusted for Ref std and curve fit boundaries - fid=fopen(intLfilename4,'w'); ln=1; fprintf(fid,'%d\t',ln); @@ -144,18 +134,16 @@ fprintf(fid,'Specifics\tReplicate\tStrain\tMP\tRow\tCol\tIndex'); fprintf(fid, '\n'); for i=1:size(selIntNAdj,1) i - ln=ln+1; - fprintf(fid,'%d\t',ln); - fprintf(fid,'%s\t%s\t',cell2mat(INorfAdj(i)),cell2mat(INgeneAdj(i))); - for j=1:length(DMsel) %'Scan\tPlate\tRow\tCol\t'); - fprintf(fid,'%.5f\t',IntersValsNegAdj(i,j)) - end - % fprintf(fid,'%.5f\t%.5f\t%.5f\t',ipL(i),ipLlower(i),ipLupper(i)) - fprintf(fid,'%s\t%s\t%s\t',cell2mat(INspecificsAdj(i)),cell2mat(INorfRepAdj(i)),cell2mat(INstrainAdj(i))); - fprintf(fid,'%.5f\t%.5f\t%.5f\t',selIntNxAdj{1}(i,2),selIntNxAdj{1}(i,4),selIntNxAdj{1}(i,5),InterslstNegAdj{1}(i)) - - fprintf(fid, '\n'); - + ln=ln+1; + fprintf(fid,'%d\t',ln); + fprintf(fid,'%s\t%s\t',cell2mat(INorfAdj(i)),cell2mat(INgeneAdj(i))); + for j=1:length(DMsel) %'Scan\tPlate\tRow\tCol\t'); + fprintf(fid,'%.5f\t',IntersValsNegAdj(i,j)) + end + % fprintf(fid,'%.5f\t%.5f\t%.5f\t',ipL(i),ipLlower(i),ipLupper(i)) + fprintf(fid,'%s\t%s\t%s\t',cell2mat(INspecificsAdj(i)),cell2mat(INorfRepAdj(i)),cell2mat(INstrainAdj(i))); + fprintf(fid,'%.5f\t%.5f\t%.5f\t',selIntNxAdj{1}(i,2),selIntNxAdj{1}(i,4),selIntNxAdj{1}(i,5),InterslstNegAdj{1}(i)) + fprintf(fid, '\n'); end end diff --git a/workflow/apps/matlab/ezview/EZintRFs.m b/workflow/apps/matlab/ezview/EZintRFs.m index e53120a8..43ce7ffe 100755 --- a/workflow/apps/matlab/ezview/EZintRFs.m +++ b/workflow/apps/matlab/ezview/EZintRFs.m @@ -1,87 +1,87 @@ if RFconfig==1 - Rn=Exp(expN).Dexp(DexpN).RFmean; Rs=Exp(expN).Dexp(DexpN).RFstd; + Rn=Exp(expN).Dexp(DexpN).RFmean; Rs=Exp(expN).Dexp(DexpN).RFstd; end if RFconfig==2 - ctrlRF= cell2mat(answer(anN(1))) - switch ctrlRF - case {'G','g'} - Rn(1)= Exp(expN).Dexp(DexpN).RFmeanG(DM0); - Rs(1)= Exp(expN).Dexp(DexpN).RFstdG(DM0); - case {'L','l'} - if Exp(expN).Dexp(DexpN).meanP(DMj,m)~=0 - Rn(1)= Exp(expN).Dexp(DexpN).meanP(DN0,m); - Rs(1)= Exp(expN).Dexp(DexpN).stdP(DM0,m); - elseif Exp(expN).Dexp(DexpN).meanP(DMj,m)==0||isempty(Exp(expN).Dexp(DexpN).meanP(DMj,m)) &&... - strcmpi(ctrlRF,'G') - Rn(1)= Exp(expN).Dexp(DexpN).RFmeanG(DM0); - Rs(1)= Exp(expN).Dexp(DexpN).RFstdG(DM0); - end - end - pertRF= cell2mat(answer(anN(2))) - switch pertRF - case {'G','g'} - Rn(2:dmN)= Exp(expN).Dexp(DexpN).RFmeanG(2:end); - Rs(2:dmN)= Exp(expN).Dexp(DexpN).RFstdG(2:end); - case {'L','l'} - if Exp(expN).Dexp(DexpN).meanP(DMj,m)~=0 - Rn(j)= Exp(expN).Dexp(DexpN).meanP(DMj,m); - Rs(j)= Exp(expN).Dexp(DexpN).stdP(DMj,m); - elseif Exp(expN).Dexp(DexpN).meanP(DMj,m)==0||isempty(Exp(expN).Dexp(DexpN).meanP(DMj,m)) &&... - strcmpi(ctrlRF,'G') - Rn(j)= Exp(expN).Dexp(DexpN).RFmeanG(DMj); - Rs(j)= Exp(expN).Dexp(DexpN).RFstdG(DMj); - end - end + ctrlRF=cell2mat(answer(anN(1))) + switch ctrlRF + case {'G','g'} + Rn(1)=Exp(expN).Dexp(DexpN).RFmeanG(DM0); + Rs(1)=Exp(expN).Dexp(DexpN).RFstdG(DM0); + case {'L','l'} + if Exp(expN).Dexp(DexpN).meanP(DMj,m)~=0 + Rn(1)=Exp(expN).Dexp(DexpN).meanP(DN0,m); + Rs(1)=Exp(expN).Dexp(DexpN).stdP(DM0,m); + elseif Exp(expN).Dexp(DexpN).meanP(DMj,m)==0||isempty(Exp(expN).Dexp(DexpN).meanP(DMj,m)) &&... + strcmpi(ctrlRF,'G') + Rn(1)=Exp(expN).Dexp(DexpN).RFmeanG(DM0); + Rs(1)=Exp(expN).Dexp(DexpN).RFstdG(DM0); + end + end + pertRF=cell2mat(answer(anN(2))) + switch pertRF + case {'G','g'} + Rn(2:dmN)=Exp(expN).Dexp(DexpN).RFmeanG(2:end); + Rs(2:dmN)=Exp(expN).Dexp(DexpN).RFstdG(2:end); + case {'L','l'} + if Exp(expN).Dexp(DexpN).meanP(DMj,m)~=0 + Rn(j)=Exp(expN).Dexp(DexpN).meanP(DMj,m); + Rs(j)=Exp(expN).Dexp(DexpN).stdP(DMj,m); + elseif Exp(expN).Dexp(DexpN).meanP(DMj,m)==0||isempty(Exp(expN).Dexp(DexpN).meanP(DMj,m)) &&... + strcmpi(ctrlRF,'G') + Rn(j)=Exp(expN).Dexp(DexpN).RFmeanG(DMj); + Rs(j)=Exp(expN).Dexp(DexpN).RFstdG(DMj); + end + end end if RFconfig==3 - ctrlRF= cell2mat(answer(anN(1))) - switch ctrlRF - case {'F','f'} - Rn(1)= Exp(expN).Dexp(DexpN).RFmean(DM0); - Rs(1)= Exp(expN).Dexp(DexpN).RFstd(DM0); - case {'G','g'} - Rn(1)= Exp(expN).Dexp(DexpN).RFmeanG(DM0); - Rs(1)= Exp(expN).Dexp(DexpN).RFstdG(DM0); - case {'L','l'} - Rn(1)= Exp(expN).Dexp(DexpN).meanP(DM0,m); - Rs(1)= Exp(expN).Dexp(DexpN).stdP(DM0,m); - if Exp(expN).Dexp(DexpN).meanP(DMj,m)~=0, - Rn(1)= Exp(expN).Dexp(DexpN).meanP(DM0,m); - Rs(1)= Exp(expN).Dexp(DexpN).stdP(DM0,m); - elseif Exp(expN).Dexp(DexpN).meanP(DM0,m)==0 && strcmpi(ctrlRF,'G') - Rn(1)= Exp(expN).Dexp(DexpN).RFmeanG(DM0); - Rs(1)= Exp(expN).Dexp(DexpN).RFstdG(DMj); - elseif Exp(expN).Dexp(DexpN).meanP(DM0,m)==0 && strcmpi(ctrlRF,'F') - Rn(1)= Exp(expN).Dexp(DexpN).RFmean(DM0); - Rs(1)= Exp(expN).Dexp(DexpN).RFstd(DM0); - elseif Exp(expN).Dexp(DexpN).meanP(DM0,m)==0 && strcmpi(ctrlRF,'L') - Rn(1)= Exp(expN).Dexp(DexpN).RFmeanG(DM0); - Rs(1)= Exp(expN).Dexp(DexpN).RFstdG(DM0); - end - end - pertRF= cell2mat(answer(anN(2))) - switch pertRF - case {'F','f'} - Rn(2:dmN)= Exp(expN).Dexp(DexpN).RFmean(2:end); - Rs(2:dmN)= Exp(expN).Dexp(DexpN).RFstd(2:end); - case {'G','g'} - Rn(2:dmN)= Exp(expN).Dexp(DexpN).RFmeanG(2:end); - Rs(2:dmN)= Exp(expN).Dexp(DexpN).RFstdG(2:end); - case {'L','l'} - if Exp(expN).Dexp(DexpN).meanP(DMj,m)~=0, - Rn(j)= Exp(expN).Dexp(DexpN).meanP(DMj,m); - Rs(j)= Exp(expN).Dexp(DexpN).stdP(DMj,m); - elseif Exp(expN).Dexp(DexpN).meanP(DMj,m)==0 && strcmpi(ctrlRF,'G') - Rn(j)= Exp(expN).Dexp(DexpN).RFmeanG(DMj); - Rs(j)= Exp(expN).Dexp(DexpN).RFstdG(DMj); - elseif Exp(expN).Dexp(DexpN).meanP(DMj,m)==0 && strcmpi(ctrlRF,'F') - Rn(j)= Exp(expN).Dexp(DexpN).RFmean(DMj); - Rs(j)= Exp(expN).Dexp(DexpN).RFstd(DMj); - elseif Exp(expN).Dexp(DexpN).meanP(DMj,m)==0 && strcmpi(ctrlRF,'L') - Rn(j)= Exp(expN).Dexp(DexpN).RFmeanG(DMj); - Rs(j)= Exp(expN).Dexp(DexpN).RFstdG(DMj); - end - end + ctrlRF=cell2mat(answer(anN(1))) + switch ctrlRF + case {'F','f'} + Rn(1)=Exp(expN).Dexp(DexpN).RFmean(DM0); + Rs(1)=Exp(expN).Dexp(DexpN).RFstd(DM0); + case {'G','g'} + Rn(1)=Exp(expN).Dexp(DexpN).RFmeanG(DM0); + Rs(1)=Exp(expN).Dexp(DexpN).RFstdG(DM0); + case {'L','l'} + Rn(1)=Exp(expN).Dexp(DexpN).meanP(DM0,m); + Rs(1)=Exp(expN).Dexp(DexpN).stdP(DM0,m); + if Exp(expN).Dexp(DexpN).meanP(DMj,m)~=0, + Rn(1)=Exp(expN).Dexp(DexpN).meanP(DM0,m); + Rs(1)=Exp(expN).Dexp(DexpN).stdP(DM0,m); + elseif Exp(expN).Dexp(DexpN).meanP(DM0,m)==0 && strcmpi(ctrlRF,'G') + Rn(1)=Exp(expN).Dexp(DexpN).RFmeanG(DM0); + Rs(1)=Exp(expN).Dexp(DexpN).RFstdG(DMj); + elseif Exp(expN).Dexp(DexpN).meanP(DM0,m)==0 && strcmpi(ctrlRF,'F') + Rn(1)=Exp(expN).Dexp(DexpN).RFmean(DM0); + Rs(1)=Exp(expN).Dexp(DexpN).RFstd(DM0); + elseif Exp(expN).Dexp(DexpN).meanP(DM0,m)==0 && strcmpi(ctrlRF,'L') + Rn(1)=Exp(expN).Dexp(DexpN).RFmeanG(DM0); + Rs(1)=Exp(expN).Dexp(DexpN).RFstdG(DM0); + end + end + pertRF=cell2mat(answer(anN(2))) + switch pertRF + case {'F','f'} + Rn(2:dmN)=Exp(expN).Dexp(DexpN).RFmean(2:end); + Rs(2:dmN)=Exp(expN).Dexp(DexpN).RFstd(2:end); + case {'G','g'} + Rn(2:dmN)=Exp(expN).Dexp(DexpN).RFmeanG(2:end); + Rs(2:dmN)=Exp(expN).Dexp(DexpN).RFstdG(2:end); + case {'L','l'} + if Exp(expN).Dexp(DexpN).meanP(DMj,m)~=0, + Rn(j)=Exp(expN).Dexp(DexpN).meanP(DMj,m); + Rs(j)=Exp(expN).Dexp(DexpN).stdP(DMj,m); + elseif Exp(expN).Dexp(DexpN).meanP(DMj,m)==0 && strcmpi(ctrlRF,'G') + Rn(j)=Exp(expN).Dexp(DexpN).RFmeanG(DMj); + Rs(j)=Exp(expN).Dexp(DexpN).RFstdG(DMj); + elseif Exp(expN).Dexp(DexpN).meanP(DMj,m)==0 && strcmpi(ctrlRF,'F') + Rn(j)=Exp(expN).Dexp(DexpN).RFmean(DMj); + Rs(j)=Exp(expN).Dexp(DexpN).RFstd(DMj); + elseif Exp(expN).Dexp(DexpN).meanP(DMj,m)==0 && strcmpi(ctrlRF,'L') + Rn(j)=Exp(expN).Dexp(DexpN).RFmeanG(DMj); + Rs(j)=Exp(expN).Dexp(DexpN).RFstdG(DMj); + end + end end \ No newline at end of file diff --git a/workflow/apps/matlab/ezview/EZlstBoxCmpExt.m b/workflow/apps/matlab/ezview/EZlstBoxCmpExt.m index 870c12de..9f517582 100755 --- a/workflow/apps/matlab/ezview/EZlstBoxCmpExt.m +++ b/workflow/apps/matlab/ezview/EZlstBoxCmpExt.m @@ -3,236 +3,215 @@ %Provides Trace data storage for use by EZfigTrendOL.m RFcmpGFlg=0; -if isequal(tempLB(4:6),'cmp'), RFnum= str2double(tempLB(3)); -elseif isequal(tempLB(3:6),'cmpG'), RFcmpGFlg=1; -elseif isequal(tempLB(3:6),'cmpP'), RFcmpGFlg=1; %I beleive handling will be the same as RFcmpG +if isequal(tempLB(4:6),'cmp') + RFnum=str2double(tempLB(3)); +elseif isequal(tempLB(3:6),'cmpG') + RFcmpGFlg=1; +elseif isequal(tempLB(3:6),'cmpP') + RFcmpGFlg=1; %I beleive handling will be the same as RFcmpG end -Exp(expN).cLmdEven= 0; %Added for Cummulative Median and Mean 'C' plot +Exp(expN).cLmdEven=0; %Added for Cummulative Median and Mean 'C' plot RFDMflg=0; - if zoneSel==1,DexpN= (get(ghandles.DN1,'value')); end - if zoneSel==2,DexpN= (get(ghandles.DN2,'value')); end - if zoneSel==3,DexpN= (get(ghandles.DN3,'value')); end +if zoneSel==1,DexpN=(get(ghandles.DN1,'value')); end +if zoneSel==2,DexpN=(get(ghandles.DN2,'value')); end +if zoneSel==3,DexpN=(get(ghandles.DN3,'value')); end try -p1=cell2mat(strfind(selGnOrf,'(')); -p2= cell2mat(strfind(selGnOrf,')')); -dmNum= str2num(selGnOrf{1}(p1+1:p2-1)); -inDM= str2num(selGnOrf{1}(p1+1:p2-1)); -if (~isempty(dmNum)&& isnumeric(dmNum)),RFDMflg=1; end + p1=cell2mat(strfind(selGnOrf,'(')); + p2=cell2mat(strfind(selGnOrf,')')); + dmNum=str2num(selGnOrf{1}(p1+1:p2-1)); + inDM=str2num(selGnOrf{1}(p1+1:p2-1)); + if (~isempty(dmNum)&& isnumeric(dmNum)),RFDMflg=1; end catch end - if RFDMflg, Exp(zoneSel).Dexp(DexpN).pertSel=dmNum; end %pertSel=pert; - sgdInfoOnly=get(handles.InfoToggle,'value'); if sgdInfoOnly==1 - EZviewInfoBox -else % Runs to end of EZlstBoxExt.m within this else condition + EZviewInfoBox +else % Runs to end of EZlstBoxExt.m within this else condition -%***********PLOT Selected Gene/Orf Spot ****************************************** -%try -if RFcmpGFlg==0 -K= Exp(expN).Dexp(DexpN).RFcmpK(RFnum).dm(inDM).med; Ks= num2str(K); -r= Exp(expN).Dexp(DexpN).RFcmpr(RFnum).dm(inDM).med; rs= num2str(r); -l= Exp(expN).Dexp(DexpN).RFcmpL(RFnum).dm(inDM).med; Ls= num2str(l); -Kl= K - Exp(expN).Dexp(DexpN).RFcmpK(RFnum).dm(inDM).std; -Ku= K + Exp(expN).Dexp(DexpN).RFcmpK(RFnum).dm(inDM).std; -rl= r - Exp(expN).Dexp(DexpN).RFcmpr(RFnum).dm(inDM).std; -ru= r + Exp(expN).Dexp(DexpN).RFcmpr(RFnum).dm(inDM).std; -lfast= l - Exp(expN).Dexp(DexpN).RFcmpL(RFnum).dm(inDM).std; -lslow= l + Exp(expN).Dexp(DexpN).RFcmpL(RFnum).dm(inDM).std; -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 -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 + % Plot Selected Gene/Orf Spot + %try + if RFcmpGFlg==0 + K=Exp(expN).Dexp(DexpN).RFcmpK(RFnum).dm(inDM).med; Ks=num2str(K); + r=Exp(expN).Dexp(DexpN).RFcmpr(RFnum).dm(inDM).med; rs=num2str(r); + l=Exp(expN).Dexp(DexpN).RFcmpL(RFnum).dm(inDM).med; Ls=num2str(l); + Kl=K - Exp(expN).Dexp(DexpN).RFcmpK(RFnum).dm(inDM).std; + Ku=K + Exp(expN).Dexp(DexpN).RFcmpK(RFnum).dm(inDM).std; + rl=r - Exp(expN).Dexp(DexpN).RFcmpr(RFnum).dm(inDM).std; + ru=r + Exp(expN).Dexp(DexpN).RFcmpr(RFnum).dm(inDM).std; + lfast=l - Exp(expN).Dexp(DexpN).RFcmpL(RFnum).dm(inDM).std; + lslow=l + Exp(expN).Dexp(DexpN).RFcmpL(RFnum).dm(inDM).std; + 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 + 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; -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'); -%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; -if RFcmpGFlg==0 -Exp(expN).lstd(traceN)= Exp(expN).Dexp(DexpN).RFcmpL(RFnum).dm(inDM).std; -Exp(expN).kstd(traceN)= Exp(expN).Dexp(DexpN).RFcmpK(RFnum).dm(inDM).std; -Exp(expN).rstd(traceN)= Exp(expN).Dexp(DexpN).RFcmpr(RFnum).dm(inDM).std; - -for dm=1:length(Exp(expN).Dexp(DexpN).DM.drug) -Exp(expN).Trace(traceN).Dexp(DexpN).DM(dm).UsrLvals= {Exp(expN).Dexp(DexpN).RFcmpL(RFnum).dm(dm).Lvals}; -Exp(expN).Trace(traceN).Dexp(DexpN).DM(dm).UsrKvals= {Exp(expN).Dexp(DexpN).RFcmpK(RFnum).dm(dm).Kvals}; -Exp(expN).Trace(traceN).Dexp(DexpN).DM(dm).Usrrvals= {Exp(expN).Dexp(DexpN).RFcmpr(RFnum).dm(dm).rvals}; -end - -Exp(expN).Trace(traceN).dmSel= inDM; -Exp(expN).Trace(traceN).DexpN= DexpN; -Exp(expN).Trace(traceN).UsrGLB= selGnOrf; - - -elseif RFcmpGFlg==1 -Exp(expN).lstd(traceN)= Exp(expN).Dexp(DexpN).RFcmpGL.dm(inDM).std; -Exp(expN).kstd(traceN)= Exp(expN).Dexp(DexpN).RFcmpGK.dm(inDM).std; -Exp(expN).rstd(traceN)= Exp(expN).Dexp(DexpN).RFcmpGr.dm(inDM).std; - -if strcmp(Exp(expN).DexpType,'chrono') -for nn=1:length(Exp(expN).Dexp) %replaced dmSel with inDM for 'chrono' and RFcmpGFlg -Exp(expN).Trace(traceN).Dexp(nn).DM(inDM).UsrLvals= Exp(expN).Dexp(nn).RFcmpGL.dm(inDM).Lvals; -Exp(expN).Trace(traceN).Dexp(nn).DM(inDM).UsrKvals= Exp(expN).Dexp(nn).RFcmpGK.dm(inDM).Kvals; -Exp(expN).Trace(traceN).Dexp(nn).DM(inDM).Usrrvals= Exp(expN).Dexp(nn).RFcmpGr.dm(inDM).rvals; -end -else -for dm=1:length(Exp(expN).Dexp(DexpN).DM.drug) -Exp(expN).Trace(traceN).Dexp(DexpN).DM(dm).UsrLvals= Exp(expN).Dexp(DexpN).RFcmpGL.dm(dm).Lvals; -Exp(expN).Trace(traceN).Dexp(DexpN).DM(dm).UsrKvals= Exp(expN).Dexp(DexpN).RFcmpGK.dm(dm).Kvals; -Exp(expN).Trace(traceN).Dexp(DexpN).DM(dm).Usrrvals= Exp(expN).Dexp(DexpN).RFcmpGr.dm(dm).rvals; -end -end - -Exp(expN).Trace(traceN).dmSel= inDM; -Exp(expN).Trace(traceN).DexpN= DexpN; -Exp(expN).Trace(traceN).UsrGLB= selGnOrf; - -end - -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).ru(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 - -if isequal(selGnOrf{1}(1:3),'RF1')|| isequal(selGnOrf{1}(1:3),'RF2')|| RFcmpGFlg==1 - gene= {selGnOrf{1}(1:p2)}; - geneOrfstr= gene; - grfgenestr= gene; -else - gene=MP(1,LBmp).genename{1,1}(indx); orf=MP(1,LBmp).orf{1,1}(indx); - geneOrfstr= strcat(gene,'_',orf,'_','m',num2str(LBmp),'r',num2str(LBr),'c',num2str(LBc),'_',tPtStr); - grfgenestr= strcat(gene,'_',orf,'_','m',num2str(LBmp),'r',num2str(LBr),'c',num2str(LBc)); -end -%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); -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='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)); + % 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; + if RFcmpGFlg==0 + Exp(expN).lstd(traceN)=Exp(expN).Dexp(DexpN).RFcmpL(RFnum).dm(inDM).std; + Exp(expN).kstd(traceN)=Exp(expN).Dexp(DexpN).RFcmpK(RFnum).dm(inDM).std; + Exp(expN).rstd(traceN)=Exp(expN).Dexp(DexpN).RFcmpr(RFnum).dm(inDM).std; + for dm=1:length(Exp(expN).Dexp(DexpN).DM.drug) + Exp(expN).Trace(traceN).Dexp(DexpN).DM(dm).UsrLvals={Exp(expN).Dexp(DexpN).RFcmpL(RFnum).dm(dm).Lvals}; + Exp(expN).Trace(traceN).Dexp(DexpN).DM(dm).UsrKvals={Exp(expN).Dexp(DexpN).RFcmpK(RFnum).dm(dm).Kvals}; + Exp(expN).Trace(traceN).Dexp(DexpN).DM(dm).Usrrvals={Exp(expN).Dexp(DexpN).RFcmpr(RFnum).dm(dm).rvals}; 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)); + Exp(expN).Trace(traceN).dmSel=inDM; + Exp(expN).Trace(traceN).DexpN=DexpN; + Exp(expN).Trace(traceN).UsrGLB=selGnOrf; + elseif RFcmpGFlg==1 + Exp(expN).lstd(traceN)=Exp(expN).Dexp(DexpN).RFcmpGL.dm(inDM).std; + Exp(expN).kstd(traceN)=Exp(expN).Dexp(DexpN).RFcmpGK.dm(inDM).std; + Exp(expN).rstd(traceN)=Exp(expN).Dexp(DexpN).RFcmpGr.dm(inDM).std; + if strcmp(Exp(expN).DexpType,'chrono') + for nn=1:length(Exp(expN).Dexp) %replaced dmSel with inDM for 'chrono' and RFcmpGFlg + Exp(expN).Trace(traceN).Dexp(nn).DM(inDM).UsrLvals=Exp(expN).Dexp(nn).RFcmpGL.dm(inDM).Lvals; + Exp(expN).Trace(traceN).Dexp(nn).DM(inDM).UsrKvals=Exp(expN).Dexp(nn).RFcmpGK.dm(inDM).Kvals; + Exp(expN).Trace(traceN).Dexp(nn).DM(inDM).Usrrvals=Exp(expN).Dexp(nn).RFcmpGr.dm(inDM).rvals; + end + else + for dm=1:length(Exp(expN).Dexp(DexpN).DM.drug) + Exp(expN).Trace(traceN).Dexp(DexpN).DM(dm).UsrLvals=Exp(expN).Dexp(DexpN).RFcmpGL.dm(dm).Lvals; + Exp(expN).Trace(traceN).Dexp(DexpN).DM(dm).UsrKvals=Exp(expN).Dexp(DexpN).RFcmpGK.dm(dm).Kvals; + Exp(expN).Trace(traceN).Dexp(DexpN).DM(dm).Usrrvals=Exp(expN).Dexp(DexpN).RFcmpGr.dm(dm).rvals; + end 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)); + Exp(expN).Trace(traceN).dmSel=inDM; + Exp(expN).Trace(traceN).DexpN=DexpN; + Exp(expN).Trace(traceN).UsrGLB=selGnOrf; + end + + 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).ru(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 -end %if sgdInfoOnly==1 + % 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 + if isequal(selGnOrf{1}(1:3),'RF1')|| isequal(selGnOrf{1}(1:3),'RF2')|| RFcmpGFlg==1 + gene={selGnOrf{1}(1:p2)}; + geneOrfstr=gene; + grfgenestr=gene; + else + gene=MP(1,LBmp).genename{1,1}(indx); orf=MP(1,LBmp).orf{1,1}(indx); + geneOrfstr=strcat(gene,'_',orf,'_','m',num2str(LBmp),'r',num2str(LBr),'c',num2str(LBc),'_',tPtStr); + grfgenestr=strcat(gene,'_',orf,'_','m',num2str(LBmp),'r',num2str(LBr),'c',num2str(LBc)); + end + %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); + 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)} -%***********************GraphicDestinationPerturbationComparison**15_0821************************************************ + 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 + + % 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 +end + +% GraphicDestinationPerturbationComparison**15_0821 lstBoxCmpFlg=1; -EZdatatip=0; %** -if strcmp((Exp(expN).DexpType),'single')||... - strcmp((Exp(expN).DexpType),'multi') - %**************** - EZdestComp %** - %**************** +EZdatatip=0; +if strcmp((Exp(expN).DexpType),'single') || strcmp((Exp(expN).DexpType),'multi') + EZdestComp elseif strcmp((Exp(expN).DexpType),'chrono') - %EZdatatip=2; %** - %************ - EZmDayTrend %** - %************ + EZmDayTrend end -%*********************************************************************************************************************** - - - - - diff --git a/workflow/apps/matlab/ezview/EZlstBoxExt.m b/workflow/apps/matlab/ezview/EZlstBoxExt.m index 276e2ad7..246fa84a 100755 --- a/workflow/apps/matlab/ezview/EZlstBoxExt.m +++ b/workflow/apps/matlab/ezview/EZlstBoxExt.m @@ -1,307 +1,277 @@ %EZlstBoxExt.m -%Calls either EZdestComp.m -%or if 'Chrono' EZmDayPlotUCmp.m and EZmDayTrend.m and if ghandles.CompositeTog_,EZmDayPlotUcomposite -%or by EZviewGui.m (listboxGnOrf_Callback) +% Calls either EZdestComp.m +% or if 'Chrono' EZmDayPlotUCmp.m and EZmDayTrend.m and if ghandles.CompositeTog_,EZmDayPlotUcomposite +% or by EZviewGui.m (listboxGnOrf_Callback) -%Replace get(ghandles.CompositeTog1,'value')==1 ... with get(handles.... -if expN==1 && get(handles.CompositeTog1,'value')==1 ||... - expN==2 && get(handles.CompositeTog2,'value')==1 ||... - expN==3 && get(handles.CompositeTog3,'value')==1 +% Replace get(ghandles.CompositeTog1,'value')==1 ... with get(handles.... +if expN==1 && get(handles.CompositeTog1,'value')==1 ... +|| expN==2 && get(handles.CompositeTog2,'value')==1 ... +|| expN==3 && get(handles.CompositeTog3,'value')==1 CompositeTrendFlg=1; else CompositeTrendFlg=0; end - -Exp(expN).cLmdEven= 0; %Added for Cummulative Median and Mean 'C' plot +Exp(expN).cLmdEven=0; % Added for Cummulative Median and Mean 'C' plot RFDMflg=0; - if zoneSel==1,DexpN= (get(handles.DN1,'value')); end - if zoneSel==2,DexpN= (get(handles.DN2,'value')); end - if zoneSel==3,DexpN= (get(handles.DN3,'value')); end +if zoneSel==1,DexpN=(get(handles.DN1,'value')); end +if zoneSel==2,DexpN=(get(handles.DN2,'value')); end +if zoneSel==3,DexpN=(get(handles.DN3,'value')); end try -p1=cell2mat(strfind(selGnOrf,'(')); -p2= cell2mat(strfind(selGnOrf,')')); -dmNum= str2num(selGnOrf{1}(p1+1:p2-1)); -inDM= selGnOrf{1}(p1+1:p2-1); -if (~isempty(dmNum)&& isnumeric(dmNum)),RFDMflg=1; end + p1=cell2mat(strfind(selGnOrf,'(')); + p2=cell2mat(strfind(selGnOrf,')')); + dmNum=str2num(selGnOrf{1}(p1+1:p2-1)); + inDM=selGnOrf{1}(p1+1:p2-1); + if (~isempty(dmNum)&& isnumeric(dmNum)),RFDMflg=1; end catch end -if RFDMflg, Exp(zoneSel).Dexp(DexpN).pertSel=dmNum; end %pertSel=pert; - +if RFDMflg, Exp(zoneSel).Dexp(DexpN).pertSel=dmNum; end % pertSel=pert; inMP=selGnOrf{1}((LBdlims{:,:}(1))+1:(LBdlims{:,:}(2))-1) -%LBmp=str2double(inMP); +% LBmp=str2double(inMP); sgdInfoOnly=get(handles.InfoToggle,'value'); if sgdInfoOnly==1 - %*************** - EZviewInfoBox %* - %*************** -else % Runs to end of EZlstBoxExt.m within this else condition -if zoneSel==1 -Max=floor(get(handles.MPsldr1,'max')); -Min=floor(get(handles.MPsldr1,'min')); -if str2num(inMP) >= Min && str2num(inMP) <= Max -set(handles.MPed1,'string',inMP) -set(handles.MPsldr1,'value',str2double(inMP)); -else - if str2num(inMP) >= Max, set(handles.MPsldr1,'value',Max); set(handles.MPed1,'string',num2str(Max));end - if str2num(inMP) <= Min, set(handles.MPsldr1,'value',Min),set(handles.MPed1,'string',num2str(Min));end -end -end -if zoneSel==2 -Max=floor(get(handles.MPsldr2,'max')); -Min=floor(get(handles.MPsldr2,'min')); -if str2num(inMP) >= Min && str2num(inMP) <= Max -set(handles.MPed2,'string',inMP) -set(handles.MPsldr2,'value',str2double(inMP)); -else - if str2num(inMP) >= Max, set(handles.MPsldr2,'value',Max); set(handles.MPed2,'string',num2str(Max));end - if str2num(inMP) <= Min, set(handles.MPsldr2,'value',Min),set(handles.MPed2,'string',num2str(Min));end -end -end -if zoneSel==3 -Max=floor(get(handles.MPsldr3,'max')); -Min=floor(get(handles.MPsldr3,'min')); -if str2num(inMP) >= Min && str2num(inMP) <= Max -set(handles.MPed3,'string',inMP) -set(handles.MPsldr3,'value',str2double(inMP)); -else - if str2num(inMP) >= Max, set(handles.MPsldr3,'value',Max); set(handles.MPed3,'string',num2str(Max));end - if str2num(inMP) <= Min, set(handles.MPsldr3,'value',Min),set(handles.MPed3,'string',num2str(Min));end -end -end + EZviewInfoBox +else % Runs to end of EZlstBoxExt.m within this else condition + if zoneSel==1 + Max=floor(get(handles.MPsldr1,'max')); + Min=floor(get(handles.MPsldr1,'min')); + if str2num(inMP) >=Min && str2num(inMP) <=Max + set(handles.MPed1,'string',inMP) + set(handles.MPsldr1,'value',str2double(inMP)); + else + if str2num(inMP) >=Max, set(handles.MPsldr1,'value',Max); set(handles.MPed1,'string',num2str(Max));end + if str2num(inMP) <=Min, set(handles.MPsldr1,'value',Min),set(handles.MPed1,'string',num2str(Min));end + end + end + if zoneSel==2 + Max=floor(get(handles.MPsldr2,'max')); + Min=floor(get(handles.MPsldr2,'min')); + if str2num(inMP) >=Min && str2num(inMP) <=Max + set(handles.MPed2,'string',inMP) + set(handles.MPsldr2,'value',str2double(inMP)); + else + if str2num(inMP) >=Max, set(handles.MPsldr2,'value',Max); set(handles.MPed2,'string',num2str(Max));end + if str2num(inMP) <=Min, set(handles.MPsldr2,'value',Min),set(handles.MPed2,'string',num2str(Min));end + end + end + if zoneSel==3 + Max=floor(get(handles.MPsldr3,'max')); + Min=floor(get(handles.MPsldr3,'min')); + if str2num(inMP) >=Min && str2num(inMP) <=Max + set(handles.MPed3,'string',inMP) + set(handles.MPsldr3,'value',str2double(inMP)); + else + if str2num(inMP) >=Max, set(handles.MPsldr3,'value',Max); set(handles.MPed3,'string',num2str(Max));end + if str2num(inMP) <=Min, set(handles.MPsldr3,'value',Min),set(handles.MPed3,'string',num2str(Min));end + end + end + if RFDMflg + if zoneSel==1 + Max=floor(get(handles.DMsldr1,'max')); + Min=floor(get(handles.DMsldr1,'min')); + if str2num(inDM) >=Min && str2num(inDM) <=Max + set(handles.DMed1,'string',inDM) + set(handles.DMsldr1,'value',str2double(inDM)); + else + if str2num(inDM) >=Max, set(handles.DMsldr1,'value',Max); set(handles.DMed1,'string',num2str(Max));end + if str2num(inDM) <=Min, set(handles.DMsldr1,'value',Min),set(handles.DMed1,'string',num2str(Min));end + end + end + if zoneSel==2 + Max=floor(get(handles.DMsldr2,'max')); + Min=floor(get(handles.DMsldr2,'min')); + if str2num(inDM) >=Min && str2num(inDM) <=Max + set(handles.DMed2,'string',inDM) + set(handles.DMsldr2,'value',str2double(inDM)); + else + if str2num(inDM) >=Max, set(handles.DMsldr2,'value',Max); set(handles.DMed2,'string',num2str(Max));end + if str2num(inDM) <=Min, set(handles.DMsldr2,'value',Min),set(handles.DMed2,'string',num2str(Min));end + end + end + if zoneSel==3 + Max=floor(get(handles.DMsldr3,'max')); + Min=floor(get(handles.DMsldr3,'min')); + if str2num(inDM) >=Min && str2num(inDM) <=Max + set(handles.DMed3,'string',inDM) + set(handles.DMsldr3,'value',str2double(inDM)); + else + if str2num(inDM) >=Max, set(handles.DMsldr3,'value',Max); set(handles.DMed3,'string',num2str(Max));end + if str2num(inDM) <=Min, set(handles.DMsldr3,'value',Min),set(handles.DMed3,'string',num2str(Min));end + end + end + end -if RFDMflg, -if zoneSel==1 -Max=floor(get(handles.DMsldr1,'max')); -Min=floor(get(handles.DMsldr1,'min')); -if str2num(inDM) >= Min && str2num(inDM) <= Max -set(handles.DMed1,'string',inDM) -set(handles.DMsldr1,'value',str2double(inDM)); -else - if str2num(inDM) >= Max, set(handles.DMsldr1,'value',Max); set(handles.DMed1,'string',num2str(Max));end - if str2num(inDM) <= Min, set(handles.DMsldr1,'value',Min),set(handles.DMed1,'string',num2str(Min));end -end -end -if zoneSel==2 -Max=floor(get(handles.DMsldr2,'max')); -Min=floor(get(handles.DMsldr2,'min')); -if str2num(inDM) >= Min && str2num(inDM) <= Max -set(handles.DMed2,'string',inDM) -set(handles.DMsldr2,'value',str2double(inDM)); -else - if str2num(inDM) >= Max, set(handles.DMsldr2,'value',Max); set(handles.DMed2,'string',num2str(Max));end - if str2num(inDM) <= Min, set(handles.DMsldr2,'value',Min),set(handles.DMed2,'string',num2str(Min));end -end -end -if zoneSel==3 -Max=floor(get(handles.DMsldr3,'max')); -Min=floor(get(handles.DMsldr3,'min')); -if str2num(inDM) >= Min && str2num(inDM) <= Max -set(handles.DMed3,'string',inDM) -set(handles.DMsldr3,'value',str2double(inDM)); -else - if str2num(inDM) >= Max, set(handles.DMsldr3,'value',Max); set(handles.DMed3,'string',num2str(Max));end - if str2num(inDM) <= Min, set(handles.DMsldr3,'value',Min),set(handles.DMed3,'string',num2str(Min));end -end -end -end -%************************************************************************** -EZVimDisplay %** -%************************************************************************** -%17_111 If CompositeTog_ set, Routine called to find all gene replicates and produce composite values -if CompositeTrendFlg==1 -if strcmp(Exp(expN).DexpType, 'chrono') - %*********************** - EZmDayPlotUcmp %* - %*********************** -else - %*********************** - EZplotUcmp %* - %*********************** -end + EZVimDisplay -%******************************************************************* -%***********PLOT Selected Gene/Orf Spot ****************************************** -% if non-Composite ("normal") then - ... -elseif CompositeTrendFlg~=1 - destPerMP= Exp(zoneSel).Dexp(DexpN).destPerMP; %length(gS.DM1.drug); - 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 -K=scan(1,plateNum).plate(1).CFout(indx,3); Ks= num2str(K); -r=scan(1,plateNum).plate(1).CFout(indx,4); rs= num2str(r); -l=scan(1,plateNum).plate(1).CFout(indx,5); Ls= num2str(l); -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 + % 17_111 If CompositeTog_ set, Routine called to find all gene replicates and produce composite values + if CompositeTrendFlg==1 + if strcmp(Exp(expN).DexpType, 'chrono') + EZmDayPlotUcmp + else + EZplotUcmp + end + % Plot Selected Gene/Orf Spot + % if non-Composite ("normal") then - ... + elseif CompositeTrendFlg~=1 + destPerMP=Exp(zoneSel).Dexp(DexpN).destPerMP; %length(gS.DM1.drug); + 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 + K=scan(1,plateNum).plate(1).CFout(indx,3); Ks=num2str(K); + r=scan(1,plateNum).plate(1).CFout(indx,4); rs=num2str(r); + l=scan(1,plateNum).plate(1).CFout(indx,5); Ls=num2str(l); + 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 + Kl=scan(1,plateNum).plate(1).CFout(indx,7); + Ku=scan(1,plateNum).plate(1).CFout(indx,8); + rl=scan(1,plateNum).plate(1).CFout(indx,9); + ru=scan(1,plateNum).plate(1).CFout(indx,10); + lfast=scan(1,plateNum).plate(1).CFout(indx,11); + lslow=scan(1,plateNum).plate(1).CFout(indx,12); + 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'); + % 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]) + Exp(zoneSel).hOLb(traceN)=plot(OLaxes,tser,rawData,'g*'); + catch + catchissue='Ln100 EZlstBoxExt' + end -Kl=scan(1,plateNum).plate(1).CFout(indx,7); -Ku=scan(1,plateNum).plate(1).CFout(indx,8); -rl=scan(1,plateNum).plate(1).CFout(indx,9); -ru=scan(1,plateNum).plate(1).CFout(indx,10); -lfast=scan(1,plateNum).plate(1).CFout(indx,11); -lslow=scan(1,plateNum).plate(1).CFout(indx,12); + % 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 -t=1:200; -clear g; + if isequal(selGnOrf{1}(1:3),'RF1') + gene={selGnOrf{1}(1:p2)}; + geneOrfstr=strcat(gene,'_','m',num2str(LBmp),'r',num2str(LBr),'c',num2str(LBc),'_',tPtStr); + grfgenestr=strcat(gene,'_','m',num2str(LBmp),'r',num2str(LBr),'c',num2str(LBc)); + else + gene=MP(1,LBmp).genename{1,1}(indx); orf=MP(1,LBmp).orf{1,1}(indx); + geneOrfstr=strcat(gene,'_',orf,'_','m',num2str(LBmp),'r',num2str(LBr),'c',num2str(LBc),'_',tPtStr); + grfgenestr=strcat(gene,'_',orf,'_','m',num2str(LBmp),'r',num2str(LBr),'c',num2str(LBc)); + end + 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); + spotDescrip=strcat(graphStr,'->',DMstr); -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).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]) -Exp(zoneSel).hOLb(traceN)=plot(OLaxes,tser,rawData,'g*'); -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 - -if isequal(selGnOrf{1}(1:3),'RF1') - gene= {selGnOrf{1}(1:p2)}; - geneOrfstr= strcat(gene,'_','m',num2str(LBmp),'r',num2str(LBr),'c',num2str(LBc),'_',tPtStr); - grfgenestr= strcat(gene,'_','m',num2str(LBmp),'r',num2str(LBr),'c',num2str(LBc)); -else - gene=MP(1,LBmp).genename{1,1}(indx); orf=MP(1,LBmp).orf{1,1}(indx); - geneOrfstr= strcat(gene,'_',orf,'_','m',num2str(LBmp),'r',num2str(LBr),'c',num2str(LBc),'_',tPtStr); - grfgenestr= strcat(gene,'_',orf,'_','m',num2str(LBmp),'r',num2str(LBr),'c',num2str(LBc)); -end -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); -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 + 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)} + 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; + 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) - -end %if get(ghandles.CompositeTog1,'value')==1 - - -%**************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)); + % 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 + end -%*****************Highlight gene/orf select Spot on Image********* -tPtSel=Exp(zoneSel).Dexp(DexpN).tPtSel; -Rim= 16-(LBr-1); Cim =LBc; -spotCoor=Exp(zoneSel).Dexp(DexpN).FexpScanSpots{1,plateNum}{Cim,Rim,tPtSel}; - if zoneSel==1, expAxes=ghandles.Iaxes1;end - if zoneSel==2, expAxes=ghandles.Iaxes2;end - if zoneSel==3, expAxes=ghandles.Iaxes3;end - %axes(ghandles.Iaxes1) - plot(expAxes,(spotCoor(2)+24),(spotCoor(1)+24),'.y') - - -%***********************GraphicDestinationPerturbationComparison**15_0821************************************************ -EZdatatip=0; %** -if strcmp((Exp(expN).DexpType),'single')||... - strcmp((Exp(expN).DexpType),'multi') - %**************** - EZdestComp %** - %**************** -elseif strcmp((Exp(expN).DexpType),'chrono') - %************ - EZmDayTrend %** - %************ -end -%*********************************************************************************************************************** -%*********************HeatMap Text Field********************************* -try -ll=num2str(l); -if length(ll)>5,htl= ll(1:5);else htl=ll;end -catch + % 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 + + % Highlight gene/orf select Spot on Image + tPtSel=Exp(zoneSel).Dexp(DexpN).tPtSel; + Rim=16-(LBr-1); Cim =LBc; + spotCoor=Exp(zoneSel).Dexp(DexpN).FexpScanSpots{1,plateNum}{Cim,Rim,tPtSel}; + if zoneSel==1, expAxes=ghandles.Iaxes1;end + if zoneSel==2, expAxes=ghandles.Iaxes2;end + if zoneSel==3, expAxes=ghandles.Iaxes3;end + %axes(ghandles.Iaxes1) + plot(expAxes,(spotCoor(2)+24),(spotCoor(1)+24),'.y') + + % GraphicDestinationPerturbationComparison**15_0821 + EZdatatip=0; %** + if strcmp((Exp(expN).DexpType),'single') ... + || strcmp((Exp(expN).DexpType),'multi') + EZdestComp + elseif strcmp((Exp(expN).DexpType),'chrono') + EZmDayTrend + end + + % HeatMap Text Field + try + ll=num2str(l); + if length(ll)>5,htl=ll(1:5);else htl=ll;end + catch htl=' '; -end -try - n1= num2str(Exp(expN).Dexp(DexpN).HtMpIntN1(indx)); - if length(n1)>5,N1= n1(1:5);else N1=n1; end + end + try + n1=num2str(Exp(expN).Dexp(DexpN).HtMpIntN1(indx)); + if length(n1)>5,N1=n1(1:5);else N1=n1; end htN1=strcat('_N1=',N1); -catch, + catch, htN1=' '; -end -try -htmapStr=strcat('L= ',htl, htN1) -if expN==1,set(ghandles.HtMapVals1,'string',htmapStr);end -if expN==2,set(ghandles.HtMapVals2,'string',htmapStr);end -if expN==3,set(ghandles.HtMapVals3,'string',htmapStr);end -catch -end - - -end %if sgdInfoOnly==1 + end + try + htmapStr=strcat('L=',htl, htN1) + if expN==1,set(ghandles.HtMapVals1,'string',htmapStr);end + if expN==2,set(ghandles.HtMapVals2,'string',htmapStr);end + if expN==3,set(ghandles.HtMapVals3,'string',htmapStr);end + catch + end +end diff --git a/workflow/apps/matlab/ezview/EZmDayPlotUcmp.m b/workflow/apps/matlab/ezview/EZmDayPlotUcmp.m index 97a9e99c..01d2ea6b 100755 --- a/workflow/apps/matlab/ezview/EZmDayPlotUcmp.m +++ b/workflow/apps/matlab/ezview/EZmDayPlotUcmp.m @@ -1,292 +1,251 @@ -%***********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 ) -%********************* +% 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 - traceN=Exp(expN).traceN; -DexpN= Exp(expN).DexpN; %Temp input for development - +DexpN=Exp(expN).DexpN; % Temp input for development patrnN=strfind(selGnOrf{1},':'); %Extract Gene-Orf Name -patrndash= strfind(selGnOrf{1},'-'); -selStrNm= char(selGnOrf) +patrndash=strfind(selGnOrf{1},'-'); +selStrNm=char(selGnOrf) if strcmpi(selStrNm(1:3),'RF-') - usrGene= selStrNm(4:(patrndash(2)-1)); + usrGene=selStrNm(4:(patrndash(2)-1)); else - usrGene= selStrNm(1:(patrnN(1)-1)); + usrGene=selStrNm(1:(patrnN(1)-1)); end - - 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); - usrSpec= cell2mat(answer(1)); - if strcmpi(usrSpec,'None'), usrGnSp= {strcat(usrGene,'-')}; - elseif length(usrSpec)> 8, - trimUspec= usrSpec(1:8); - usrGnSp= strcat(usrGene,',',{trimUspec}); - else - trimUspec= usrSpec; - usrGnSp= strcat(usrGene,',',{trimUspec}); - end - - - -for n=1:Exp(expN).DexpLength %LOOP Thru DayExps - -MPnum=length(Exp(expN).Dexp(n).MP); -DMnum= length(Exp(expN).Dexp(n).DM.drug); - -%Extract expDay from ExpName string -dayNpos= max(strfind(Exp(expN).Dexp(n).ExpFoldr, '_D')) -dayLbl= Exp(expN).Dexp(n).ExpFoldr(dayNpos+1:end); - - -%********************************* - -dRF1indx=0; - -usrSp= usrSpec; %user entry of Specifics for Ref selection - -%******************************************************* -for mp=1:length(Exp(expN).Dexp(n).MP) - - for ind384=1:384 - try % - %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)={mp}; drfMP(dRF1indx,mp)= mp; - drf(dRF1indx,3)={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 - 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) -%***************************************************** -%************************************************************************************************ - -vvL=[]; %Initialize to cover case where all spot are Zero NoGrowth See NIGrowthflg==0 -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,2))~= cell2mat(drf((j-1),2)), chgIndx(i)=j; i=i+1; end - end +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); +usrSpec=cell2mat(answer(1)); +if strcmpi(usrSpec,'None') + usrGnSp={strcat(usrGene,'-')}; +elseif length(usrSpec)> 8, + trimUspec=usrSpec(1:8); + usrGnSp=strcat(usrGene,',',{trimUspec}); +else + trimUspec=usrSpec; + usrGnSp=strcat(usrGene,',',{trimUspec}); end -chgIndx(length(chgIndx)+1)= size(drf,1) +1; %length(drf)+1; -vvL= zeros(size(drf,1),1 ); %length(drf)+1; -%************************************ - dMPs= unique(cell2mat(drf(:,2))); - %***************************************** - - for mm=1:length(dMPs) % length(chgIndx) - usrScNdisp=((dMPs(mm)-1)*DMnum)+(dmSel); - NZusrIndx= drfPindx((find(drfPindx(:,dMPs(mm)))),dMPs(mm)); medianIndxDisp= NZusrIndx; - vvL(chgIndx(mm):(chgIndx(mm+1)-1))=Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZusrIndx,5); - %For Global Ref Composite 17_1009 %************************************************************************** - vvK(chgIndx(mm):(chgIndx(mm+1)-1))=Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZusrIndx,3); - vvr(chgIndx(mm):(chgIndx(mm+1)-1))=Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZusrIndx,4); - %***************************************************************************************************** - end %for mm=1:length(dMPs) +for n=1:Exp(expN).DexpLength % LOOP Thru DayExps -%****************CALC. GLOBAL MEAN, STD, AND MEDIAN FOR DISTRIBUTED REFERENCES****************************************************************** + MPnum=length(Exp(expN).Dexp(n).MP); + DMnum=length(Exp(expN).Dexp(n).DM.drug); + %Extract expDay from ExpName string + dayNpos=max(strfind(Exp(expN).Dexp(n).ExpFoldr, '_D')) + dayLbl=Exp(expN).Dexp(n).ExpFoldr(dayNpos+1:end); + dRF1indx=0; + usrSp=usrSpec; %user entry of Specifics for Ref selection -for d=dmSel:dmSel - NZusrIndxG=[]; - NZusrIndxG= find(vvL); - - if isempty(nonzeros(vvL)), nonZeroCntD=0; - else nonZeroCntD= length(nonzeros(vvL)); + for mp=1:length(Exp(expN).Dexp(n).MP) + for ind384=1:384 + try + % 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)={mp}; drfMP(dRF1indx,mp)=mp; + drf(dRF1indx,3)={ind384}; drfPindx(dRF1indx,mp)=ind384; + %drf(dRF1indx,7)=(Exp(expN).Dexp(n).MP(mp).specifics{1}(ind384)); + end + catch + msgBadGeneName=strcat('check genename at mp=',num2str(mp),' indx=',num2str(ind384)) + end + end % end associated with for ind384=1:384 + mp end - %Calc. of median value for composite doesn't require and odd number of Indx items - NZusrIndxG= NZusrIndxG(:); - if ~isempty(NZusrIndxG) && length(NZusrIndxG) > 0 %(.15*size(drf,1)) %To calc. a median, more than 15% of spots must be nonZero -UsrLvals{n}= vvL(NZusrIndxG); -UsrKvals{n}= vvK(NZusrIndxG); -Usrrvals{n}= vvr(NZusrIndxG); - end -end + vvL=[]; %Initialize to cover case where all spot are Zero NoGrowth See NIGrowthflg==0 + 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,2))~=cell2mat(drf((j-1),2)), chgIndx(i)=j; i=i+1; end + end + end + chgIndx(length(chgIndx)+1)=size(drf,1) +1; %length(drf)+1; + vvL=zeros(size(drf,1),1 ); %length(drf)+1; + dMPs=unique(cell2mat(drf(:,2))); + + for mm=1:length(dMPs) % length(chgIndx) + usrScNdisp=((dMPs(mm)-1)*DMnum)+(dmSel); + NZusrIndx=drfPindx((find(drfPindx(:,dMPs(mm)))),dMPs(mm)); medianIndxDisp=NZusrIndx; + vvL(chgIndx(mm):(chgIndx(mm+1)-1))=Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZusrIndx,5); + % For Global Ref Composite 17_1009 + vvK(chgIndx(mm):(chgIndx(mm+1)-1))=Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZusrIndx,3); + vvr(chgIndx(mm):(chgIndx(mm+1)-1))=Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZusrIndx,4); + end -end % if exist('drf','var') + % Calc. Global Mean, Std, And Median For Distributed References + for d=dmSel:dmSel + NZusrIndxG=[]; + NZusrIndxG=find(vvL); + + if isempty(nonzeros(vvL)) + nonZeroCntD=0; + else + nonZeroCntD=length(nonzeros(vvL)); + end + + % Calc. of median value for composite doesn't require and odd number of Indx items + NZusrIndxG=NZusrIndxG(:); + if ~isempty(NZusrIndxG) && length(NZusrIndxG) > 0 %(.15*size(drf,1)) %To calc. a median, more than 15% of spots must be nonZero + UsrLvals{n}=vvL(NZusrIndxG); + UsrKvals{n}=vvK(NZusrIndxG); + Usrrvals{n}=vvr(NZusrIndxG); + end + end + end +end -%END OF DISPERSE Gene data collection -%********************************************************************* -%#################################################################### -end %for n=1:Exp(expN).DexpLength %Loop thru Dayexps if ~exist('drf','var'), - errordlg('Gene-Specifics combination not found. Check spelling of Specifics entry.','Entry Warning'); - break; + errordlg('Gene-Specifics combination not found. Check spelling of Specifics entry.','Entry Warning'); + break; end NoGrowthflg=0; -if isempty(vvL), - warndlg('No Growth condition found for Gene-Specifics combination. . ','No Growth warning'); - NoGrowthflg=1; +if isempty(vvL), + warndlg('No Growth condition found for Gene-Specifics combination. . ','No Growth warning'); + NoGrowthflg=1; end - -%Exp(expN).UgeneCnt= Exp(expN).UgeneCnt +1; -%Exp(expN).UgeneSpLst(Exp(expN).UgeneCnt)= usrGnSp; -%####################################################################### - - -%***********PLOT Values Selected Gene-Specifics Composite ******************************************try +%Exp(expN).UgeneCnt=Exp(expN).UgeneCnt +1; +%Exp(expN).UgeneSpLst(Exp(expN).UgeneCnt)=usrGnSp; +% Plot Values Selected Gene-Specifics Composite if NoGrowthflg==0 -smpSz= size(NZusrIndxG,1); -K= median(cell2mat((UsrKvals(DexpN)))); Ks= num2str(K); Kstd= std(cell2mat((UsrKvals(DexpN)))); KstdStr= num2str(Kstd); -r= median(cell2mat((Usrrvals(DexpN)))); rs= num2str(r); rstd= std(cell2mat((Usrrvals(DexpN)))); rstdStr= num2str(rstd); -l= median(cell2mat((UsrLvals(DexpN)))); Ls= num2str(l); Lstd= std(cell2mat((UsrLvals(DexpN)))); LstdStr= num2str(Lstd); -Kl= K - Kstd; %std(UsrKvals(DexpN)); -Ku= K + Kstd; %std(UsrKvals(DexpN)); -rl= r - rstd; %std(Usrrvals(DexpN)); -ru= r + rstd; %std(UsrKvals(DexpN)); -lfast= l - Lstd; -lslow= l + Lstd; + smpSz=size(NZusrIndxG,1); + K=median(cell2mat((UsrKvals(DexpN)))); Ks=num2str(K); Kstd=std(cell2mat((UsrKvals(DexpN)))); KstdStr=num2str(Kstd); + r=median(cell2mat((Usrrvals(DexpN)))); rs=num2str(r); rstd=std(cell2mat((Usrrvals(DexpN)))); rstdStr=num2str(rstd); + l=median(cell2mat((UsrLvals(DexpN)))); Ls=num2str(l); Lstd=std(cell2mat((UsrLvals(DexpN)))); LstdStr=num2str(Lstd); + Kl=K - Kstd; %std(UsrKvals(DexpN)); + Ku=K + Kstd; %std(UsrKvals(DexpN)); + rl=r - rstd; %std(Usrrvals(DexpN)); + ru=r + rstd; %std(UsrKvals(DexpN)); + lfast=l - Lstd; + lslow=l + Lstd; elseif NoGrowth==1 %if all data is zero (NoGrowth) - smpSz= size(NZusrIndxG,1); -K= 0; Ks= num2str(K); Kstd= 0; KstdStr= num2str(0); -r= 0; rs= num2str(r); rstd= 0; rstdStr= num2str(0); -l= 0; Ls= num2str(l); Lstd= 0; LstdStr= num2str(0); -Kl= K - Kstd; -Ku= K + Kstd; -rl= r - rstd; -ru= r + rstd; -lfast= l - Lstd; -lslow= l + Lstd; + smpSz=size(NZusrIndxG,1); + K=0; Ks=num2str(K); Kstd=0; KstdStr=num2str(0); + r=0; rs=num2str(r); rstd=0; rstdStr=num2str(0); + l=0; Ls=num2str(l); Lstd=0; LstdStr=num2str(0); + Kl=K - Kstd; + Ku=K + Kstd; + rl=r - rstd; + ru=r + rstd; + lfast=l - Lstd; + lslow=l + Lstd; end 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; - MP=Exp(zoneSel).Dexp(DexpN).MP; + +pertSel=Exp(zoneSel).Dexp(DexpN).pertSel; %floor(get(handles.DMsldr1,'value')); +plateNum=(LBmp-1)*destPerMP + pertSel; +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'); + Exp(expN).Trace(traceN).UsrGLB=usrGnSp; + Exp(expN).Trace(traceN).dmSel=dmSel; + for n=1:Exp(expN).DexpLength % Loop Thru DayExps + Exp(expN).Trace(traceN).Dexp(n).DM(dmSel).UsrLvals=UsrLvals(n); + Exp(expN).Trace(traceN).Dexp(n).DM(dmSel).UsrKvals=UsrKvals(n); + Exp(expN).Trace(traceN).Dexp(n).DM(dmSel).Usrrvals=Usrrvals(n); + end -t=1:200; -clear g; + % Store L R and K valves for manual selected 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 -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'); - -Exp(expN).Trace(traceN).UsrGLB= usrGnSp; -Exp(expN).Trace(traceN).dmSel= dmSel; -for n=1:Exp(expN).DexpLength %LOOP Thru DayExps -Exp(expN).Trace(traceN).Dexp(n).DM(dmSel).UsrLvals= UsrLvals(n); -Exp(expN).Trace(traceN).Dexp(n).DM(dmSel).UsrKvals= UsrKvals(n); -Exp(expN).Trace(traceN).Dexp(n).DM(dmSel).Usrrvals= Usrrvals(n); -end -%************CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC************************************** -%Store L R and K valves for manual selected 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 + 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 + end -%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 + %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,'_'); + graphStr=strcat(usrGnSp,'_','L=',Lstr,'_','Ls=',LstdStr,'_','r=',rstr,'_','rs=',rstdStr,'_','K=',Kstr,'Ks=',KstdStr); + spotDescrip=strcat(graphStr,'->',DMstr); - - - gene= usrGnSp; orf= '' %MP(1,LBmp).orf{1,1}(indx); - geneOrfstr= strcat(gene,'_',orf,'_'); - grfgenestr= strcat(gene,'_',orf,'_'); - -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, + xp=char(Exp(zoneSel).Dexp(DexpN).resDir); + if ispc, slashPos=strfind(char(Exp(zoneSel).Dexp(DexpN).resDir),'\'); -else + else slashPos=strfind(char(Exp(zoneSel).Dexp(DexpN).resDir),'/'); -end + end -startPos=slashPos(length(slashPos)-1) +1; -endPos=slashPos(length(slashPos)) -1; -expStr= {xp(startPos:endPos)}; + startPos=slashPos(length(slashPos)-1) +1; + endPos=slashPos(length(slashPos)) -1; + expStr={xp(startPos:endPos)}; -Exp(zoneSel).hOLname(traceN)= spotDescrip; -Exp(zoneSel).hOLexpNm(traceN)= expStr; -Exp(zoneSel).hOLresDir(traceN)= {Exp(zoneSel).Dexp(DexpN).resDir}; -Exp(zoneSel).hOLplateNum(traceN)= plateNum; + Exp(zoneSel).hOLname(traceN)=spotDescrip; + Exp(zoneSel).hOLexpNm(traceN)=expStr; + Exp(zoneSel).hOLresDir(traceN)={Exp(zoneSel).Dexp(DexpN).resDir}; + Exp(zoneSel).hOLplateNum(traceN)=plateNum; - - -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 + 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) + msg='Error' +end diff --git a/workflow/apps/matlab/ezview/EZmDayPlotUcomposite.m b/workflow/apps/matlab/ezview/EZmDayPlotUcomposite.m index a163cca4..1ff0c9c6 100755 --- a/workflow/apps/matlab/ezview/EZmDayPlotUcomposite.m +++ b/workflow/apps/matlab/ezview/EZmDayPlotUcomposite.m @@ -1,377 +1,290 @@ -%***********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 ) -%********************* +% 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 +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 - +% 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={}; -Exp(expN).Dexp(n).UsrGLB= {}; - -for n=1:Exp(expN).DexpLength %LOOP Thru DayExps +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 -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 + 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 - %***************************************************************** + 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'))... - %******************************************************************************* + % 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 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)) + 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 %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 + % 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))); -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; -%####################################################################### + 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 +end +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; +% PLOT Values Selected Gene-Specifics Composite +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; +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'); + % 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 -t=1:200; -clear g; + % 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,'_'); -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, + % 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 + else slashPos=strfind(char(Exp(zoneSel).Dexp(DexpN).resDir),'/'); -end + end -startPos=slashPos(length(slashPos)-1) +1; -endPos=slashPos(length(slashPos)) -1 -expStr= {xp(startPos:endPos)} + 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; + 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')); + % 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' + 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 ME + msg='ME.message'; end % trycatch zoneSel<4 datatip selection from Image (not from an OverLay Plot) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +% Deprecated functions %{ % 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))); + 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).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 +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) + for d=selDM:selDM %1:(DMnum) medianIndxDisp=[]; NZrefIndxP=[]; nonZeroValsP=[]; @@ -379,56 +292,56 @@ Exp(expN).Dexp(n).UsrCmpGr.dm(d).max= max(vvr(medianIndxP,d)); %For Ref Composit 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 + 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); + 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; + %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; + %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) && 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); + 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 +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)))); +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)); + 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??? + %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}' + medianCalcTryFailed1D='Failed! Failed! {Dispersed RF1s}' try - firstZeroindxD= find(vv((chgIndx(d):chgIndx(d+1)-1),5)==0,1,'first'); - firstZeroPindx= uu(firstZeroindxD,4); + firstZeroindxD=find(vv((chgIndx(d):chgIndx(d+1)-1),5)==0,1,'first'); + firstZeroPindx=uu(firstZeroindxD,4); catch end end %try ~ln565 @@ -440,16 +353,16 @@ catch %try ln565 %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; +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 @@ -460,12 +373,12 @@ 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 ))); +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); +%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; @@ -486,16 +399,16 @@ 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).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).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; +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; @@ -509,12 +422,12 @@ end %trycatch %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); +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); +%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); @@ -526,14 +439,14 @@ end startPos=slashPos(length(slashPos)-1) +1; endPos=slashPos(length(slashPos)) -1 -expStr= {xp(startPos:endPos)} +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; +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')); +%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 @@ -570,106 +483,106 @@ end % trycatch zoneSel<4 datatip selection from Image (not from an OverLay Plot %{ %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; +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).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= []; +%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 +%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; +%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))}; +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),')'); +lstindxOrf=lstindxOrf+1; +aa(lstindx,1)=strcat(usrGnSp,'UcmpG(',num2str(d),')'); aa(lstindx,2)={''}; -bb(lstindxOrf,1)= strcat(usrGnSp,'UcmpG(',num2str(d),')'); +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 {...} +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).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).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).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); +%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); + 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).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); + % Exp(expN).Dexp(n).UsrmdPpltN=dMPs(mm); catch catchissue='Ln619' - %Exp(expN).Dexp(n).UsrmdPpltN= 1; %This might keep from breaking BUT ??? + %Exp(expN).Dexp(n).UsrmdPpltN=1; %This might keep from breaking BUT ??? end error='EZexpSel lineAfter 565' end %try ~ln565 diff --git a/workflow/apps/matlab/ezview/EZmDayTrend.m b/workflow/apps/matlab/ezview/EZmDayTrend.m index 1470f14b..ddaa415d 100755 --- a/workflow/apps/matlab/ezview/EZmDayTrend.m +++ b/workflow/apps/matlab/ezview/EZmDayTrend.m @@ -1,558 +1,482 @@ -%GraphicDestinationPertibationComparison**15_821 -%Called by EZlstBoxExt or EZvDatatip.m, Then calls EZRFs4DayComp - CompositeTrendFlg=0; - if expN==1 && get(ghandles.CompositeTog1,'value')==1 ||... - expN==2 && get(ghandles.CompositeTog2,'value')==1 ||... - expN==3 && get(ghandles.CompositeTog3,'value')==1. - CompositeTrendFlg=1; - end - - -%if (isequal(destcompMsg,'GoodDataTip')&&~isequal(destcompMsg, 'BadDataTip'))|| isequal(destcompMsg,'Olay') -%hold off - if expN==1,DexpN= (get(ghandles.DN1,'value')); end - if expN==2,DexpN= (get(ghandles.DN2,'value')); end - if expN==3,DexpN= (get(ghandles.DN3,'value')); end - if expN==1,MPsel=floor(get(ghandles.MPsldr1,'value')); end - if expN==2,MPsel=floor(get(ghandles.MPsldr2,'value')); end - if expN==3,MPsel=floor(get(ghandles.MPsldr3,'value')); end - if expN==1,pertSel=floor(get(ghandles.DMsldr1,'value')); end - if expN==2,pertSel=floor(get(ghandles.DMsldr2,'value')); end - if expN==3,pertSel=floor(get(ghandles.DMsldr3,'value')); end - dmSel= pertSel; - - +% GraphicDestinationPertibationComparison**15_821 +% Called by EZlstBoxExt or EZvDatatip.m, Then calls EZRFs4DayComp +CompositeTrendFlg=0; +if expN==1 && get(ghandles.CompositeTog1,'value')==1 ... +|| expN==2 && get(ghandles.CompositeTog2,'value')==1 ... +|| expN==3 && get(ghandles.CompositeTog3,'value')==1 + CompositeTrendFlg=1; +end +% if (isequal(destcompMsg,'GoodDataTip')&&~isequal(destcompMsg, 'BadDataTip'))|| isequal(destcompMsg,'Olay') +% hold off +if expN==1,DexpN=(get(ghandles.DN1,'value')); end +if expN==2,DexpN=(get(ghandles.DN2,'value')); end +if expN==3,DexpN=(get(ghandles.DN3,'value')); end +if expN==1,MPsel=floor(get(ghandles.MPsldr1,'value')); end +if expN==2,MPsel=floor(get(ghandles.MPsldr2,'value')); end +if expN==3,MPsel=floor(get(ghandles.MPsldr3,'value')); end +if expN==1,pertSel=floor(get(ghandles.DMsldr1,'value')); end +if expN==2,pertSel=floor(get(ghandles.DMsldr2,'value')); end +if expN==3,pertSel=floor(get(ghandles.DMsldr3,'value')); end +dmSel=pertSel; if EZdatatip==1 %adaptation for image spot selection - %plNums= plateNum; - destPerMP= Exp(expN).Dexp(DexpN).destPerMP; - plNums= (MPsel-1)*destPerMP + (1:destPerMP); - zoneSel=expN; - tracN=Exp(zoneSel).traceN; - if zoneSel==1,Dlaxes=ghandles.Dlaxes1;Dkaxes=ghandles.Dkaxes1;Draxes=ghandles.Draxes1; end - if zoneSel==2,Dlaxes=ghandles.Dlaxes2;Dkaxes=ghandles.Dkaxes2;Draxes=ghandles.Draxes2; end - if zoneSel==3,Dlaxes=ghandles.Dlaxes3;Dkaxes=ghandles.Dkaxes3;Draxes=ghandles.Draxes3; end - - if zoneSel==1,DNLaxes=ghandles.DNLaxes1;end - if zoneSel==2,DNLaxes=ghandles.DNLaxes2;end - if zoneSel==3,DNLaxes=ghandles.DNLaxes3;end - -elseif EZdatatip==2 %adaption for Overlay plot selection - destPerMP= Exp(expN).Dexp(DexpN).destPerMP; - MPlateN= ceil(OLplateNum/destPerMP); - plNums= (MPlateN-1)*destPerMP + (1:destPerMP); - zoneSel=expN; - tracN=Exp(zoneSel).traceN; - if zoneSel==1,Dlaxes=ghandles.Dlaxes1;Dkaxes=ghandles.Dkaxes1;Draxes=ghandles.Draxes1; end - if zoneSel==2,Dlaxes=ghandles.Dlaxes2;Dkaxes=ghandles.Dkaxes2;Draxes=ghandles.Draxes2; end - if zoneSel==3,Dlaxes=ghandles.Dlaxes3;Dkaxes=ghandles.Dkaxes3;Draxes=ghandles.Draxes3; end - if zoneSel==1,DNLaxes=ghandles.DNLaxes1;end %2016_0222 - if zoneSel==2,DNLaxes=ghandles.DNLaxes2;end %2016_0222 - if zoneSel==3,DNLaxes=ghandles.DNLaxes3;end %2016_0222 - + %plNums=plateNum; + destPerMP=Exp(expN).Dexp(DexpN).destPerMP; + plNums=(MPsel-1)*destPerMP + (1:destPerMP); + zoneSel=expN; + tracN=Exp(zoneSel).traceN; + if zoneSel==1,Dlaxes=ghandles.Dlaxes1;Dkaxes=ghandles.Dkaxes1;Draxes=ghandles.Draxes1; end + if zoneSel==2,Dlaxes=ghandles.Dlaxes2;Dkaxes=ghandles.Dkaxes2;Draxes=ghandles.Draxes2; end + if zoneSel==3,Dlaxes=ghandles.Dlaxes3;Dkaxes=ghandles.Dkaxes3;Draxes=ghandles.Draxes3; end + if zoneSel==1,DNLaxes=ghandles.DNLaxes1;end + if zoneSel==2,DNLaxes=ghandles.DNLaxes2;end + if zoneSel==3,DNLaxes=ghandles.DNLaxes3;end +elseif EZdatatip==2 % adaption for Overlay plot selection + destPerMP=Exp(expN).Dexp(DexpN).destPerMP; + MPlateN=ceil(OLplateNum/destPerMP); + plNums=(MPlateN-1)*destPerMP + (1:destPerMP); + zoneSel=expN; + tracN=Exp(zoneSel).traceN; + if zoneSel==1,Dlaxes=ghandles.Dlaxes1;Dkaxes=ghandles.Dkaxes1;Draxes=ghandles.Draxes1; end + if zoneSel==2,Dlaxes=ghandles.Dlaxes2;Dkaxes=ghandles.Dkaxes2;Draxes=ghandles.Draxes2; end + if zoneSel==3,Dlaxes=ghandles.Dlaxes3;Dkaxes=ghandles.Dkaxes3;Draxes=ghandles.Draxes3; end + if zoneSel==1,DNLaxes=ghandles.DNLaxes1;end %2016_0222 + if zoneSel==2,DNLaxes=ghandles.DNLaxes2;end %2016_0222 + if zoneSel==3,DNLaxes=ghandles.DNLaxes3;end %2016_0222 elseif EZdatatip==0 - if lstBoxCmpFlg~=1 - %destPerMP= Exp(expN).Dexp(DexpN).destPerMP; - plNums= (LBmp-1)*destPerMP + (1:destPerMP); - tracN=Exp(zoneSel).traceN; - if zoneSel==1,DNLaxes=ghandles.DNLaxes1;end %2016_0222 - if zoneSel==2,DNLaxes=ghandles.DNLaxes2;end %2016_0222 - if zoneSel==3,DNLaxes=ghandles.DNLaxes3;end %2016_0222 - elseif lstBoxCmpFlg==1 - %DexpN= Exp(expN).DexpN; - dmSel= pertSel; - tracN=Exp(zoneSel).traceN; - if zoneSel==1,DNLaxes=ghandles.DNLaxes1;end %2016_0222 - if zoneSel==2,DNLaxes=ghandles.DNLaxes2;end %2016_0222 - if zoneSel==3,DNLaxes=ghandles.DNLaxes3;end %2016_0222 - end + if lstBoxCmpFlg~=1 + % destPerMP=Exp(expN).Dexp(DexpN).destPerMP; + plNums=(LBmp-1)*destPerMP + (1:destPerMP); + tracN=Exp(zoneSel).traceN; + if zoneSel==1,DNLaxes=ghandles.DNLaxes1;end %2016_0222 + if zoneSel==2,DNLaxes=ghandles.DNLaxes2;end %2016_0222 + if zoneSel==3,DNLaxes=ghandles.DNLaxes3;end %2016_0222 + elseif lstBoxCmpFlg==1 + % DexpN=Exp(expN).DexpN; + dmSel=pertSel; + tracN=Exp(zoneSel).traceN; + if zoneSel==1,DNLaxes=ghandles.DNLaxes1;end %2016_0222 + if zoneSel==2,DNLaxes=ghandles.DNLaxes2;end %2016_0222 + if zoneSel==3,DNLaxes=ghandles.DNLaxes3;end %2016_0222 + end end -if EZdatatip==2 %Response to Overlay click - %++++++++++++++++++++LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL+++++++++++++++++++++++ - %seltraceN comes from EZvDatatip; - %Exp(OLay).seltraceN iscaptured from EZvDatatip - % if an OLay trace is selected - % else it is captured below if EZdatatip is not equal to 2 - - try - set(Exp(zoneSel).hLRF1(seltraceN),'visible','on'); set(Exp(zoneSel).hLRF2(seltraceN),'visible','on'); - catch, end - try - set(Exp(zoneSel).hL(seltraceN),'visible','on'); set(Exp(zoneSel).hLb(seltraceN),'visible','on'); - catch, end - - %Plot new intL - try - set(Exp(zoneSel).hintL(seltraceN),'visible','on'); set(Exp(zoneSel).hintLb(seltraceN),'visible','on'); - catch, end - try - set(Exp(zoneSel).hintLadj(seltraceN),'visible','on'); set(Exp(zoneSel).hintLadjb(seltraceN),'visible','on'); - catch, end - if zoneSel==1,set(ghandles.DNLaxes1,'xlim',[-75,75]); end +if EZdatatip==2 % Response to Overlay click + % seltraceN comes from EZvDatatip; + % Exp(OLay).seltraceN iscaptured from EZvDatatip + % if an OLay trace is selected + % else it is captured below if EZdatatip is not equal to 2 + try + set(Exp(zoneSel).hLRF1(seltraceN),'visible','on'); set(Exp(zoneSel).hLRF2(seltraceN),'visible','on'); + catch, end + try + set(Exp(zoneSel).hL(seltraceN),'visible','on'); set(Exp(zoneSel).hLb(seltraceN),'visible','on'); + catch, end + % Plot new intL + try + set(Exp(zoneSel).hintL(seltraceN),'visible','on'); set(Exp(zoneSel).hintLb(seltraceN),'visible','on'); + catch, end + try + set(Exp(zoneSel).hintLadj(seltraceN),'visible','on'); set(Exp(zoneSel).hintLadjb(seltraceN),'visible','on'); + catch, end + if zoneSel==1,set(ghandles.DNLaxes1,'xlim',[-75,75]); end - %++++++++++++++++++++++KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK++++++++++++++++++++++ - for J=1:(tracN), - try - set(Exp(zoneSel).hKRF1(J),'visible','off'); set(Exp(zoneSel).hKRF2(J),'visible','off'); - catch, end - try - set(Exp(zoneSel).hK(J),'visible','off'); set(Exp(zoneSel).hKb(J),'visible','off'); - catch, end - end - try - set(Exp(zoneSel).hKRF1(seltraceN),'visible','on'); set(Exp(zoneSel).hKRF2(seltraceN),'visible','on'); - catch, end - try - set(Exp(zoneSel).hK(seltraceN),'visible','on'); set(Exp(zoneSel).hKb(seltraceN),'visible','on'); - catch, end - %+++++++++++++++++++++rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr+++++++++++++++++++++++++++++ - for J=1:(tracN), - try - set(Exp(zoneSel).hrRF1(J),'visible','off'); set(Exp(zoneSel).hrRF2(J),'visible','off'); - catch, end - try - set(Exp(zoneSel).hr(J),'visible','off'); set(Exp(zoneSel).hrb(J),'visible','off'); - catch, end - end - try - set(Exp(zoneSel).hrRF1(seltraceN),'visible','on'); set(Exp(zoneSel).hrRF2(seltraceN),'visible','on'); - catch, end - try - set(Exp(zoneSel).hr(seltraceN),'visible','on'); set(Exp(zoneSel).hrb(seltraceN),'visible','on'); - catch, end +% K values + for J=1:(tracN), + try + set(Exp(zoneSel).hKRF1(J),'visible','off'); set(Exp(zoneSel).hKRF2(J),'visible','off'); + catch, end + try + set(Exp(zoneSel).hK(J),'visible','off'); set(Exp(zoneSel).hKb(J),'visible','off'); + catch, end + end + try + set(Exp(zoneSel).hKRF1(seltraceN),'visible','on'); set(Exp(zoneSel).hKRF2(seltraceN),'visible','on'); + catch, end + try + set(Exp(zoneSel).hK(seltraceN),'visible','on'); set(Exp(zoneSel).hKb(seltraceN),'visible','on'); + catch, end + for J=1:(tracN) + try + set(Exp(zoneSel).hrRF1(J),'visible','off'); set(Exp(zoneSel).hrRF2(J),'visible','off'); + catch, end + try + set(Exp(zoneSel).hr(J),'visible','off'); set(Exp(zoneSel).hrb(J),'visible','off'); + catch, end + end + try + set(Exp(zoneSel).hrRF1(seltraceN),'visible','on'); set(Exp(zoneSel).hrRF2(seltraceN),'visible','on'); + catch, end + try + set(Exp(zoneSel).hr(seltraceN),'visible','on'); set(Exp(zoneSel).hrb(seltraceN),'visible','on'); + catch, end +else % if EZdatatip==1 or if EZdatatip==0 + % Attempt fix for overlaying L and intL from image datatip==1 18_0103 + try + set(Exp(zoneSel).hLRF1(seltraceN),'visible','off'); set(Exp(zoneSel).hLRF2(seltraceN),'visible','off'); + catch, end + try + set(Exp(zoneSel).hL(seltraceN),'visible','off'); set(Exp(zoneSel).hLb(seltraceN),'visible','off'); + catch, end -else %if EZdatatip==1 or if EZdatatip==0 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - %Attempt fix for overlaying L and intL from image datatip==1 18_0103 - try - set(Exp(zoneSel).hLRF1(seltraceN),'visible','off'); set(Exp(zoneSel).hLRF2(seltraceN),'visible','off'); - catch, end - try - set(Exp(zoneSel).hL(seltraceN),'visible','off'); set(Exp(zoneSel).hLb(seltraceN),'visible','off'); - catch, end - - %Plot new intL - try - set(Exp(zoneSel).hintL(seltraceN),'visible','off'); set(Exp(zoneSel).hintLb(seltraceN),'visible','off'); - catch, end - try - set(Exp(zoneSel).hintLadj(seltraceN),'visible','off'); set(Exp(zoneSel).hintLadjb(seltraceN),'visible','off'); - catch, end - - -%*************Plot RFmd1 and RFmd2 indexes********************* -if lstBoxCmpFlg~= 1 % If selection is a "normal" item with a location in the label -days= Exp(expN).DexpLength; -for nn=1:Exp(expN).DexpLength %length(Exp(zoneSel).Dexp) - RFconfig= Exp(zoneSel).Dexp(DexpN).RFconfig; - %***************************** - EZRFs4DayComp %*************** - %***************************** - if lstBoxCmpFlg~= 1 - Exp(zoneSel).seltraceN=tracN; - seltraceN=tracN; - end -%**************Plot L K r for all Day pertibation(XdestinationX) Plates*************** - - try RF1mdNums= (RF1mdPltN-1)*destPerMP + (pertSel); catch, end %RF1mdPltN % - try RF2mdNums= (RF2mdPltN-1)*destPerMP + (pertSel); catch, end %RF2mdPltN % - - if CompositeTrendFlg==0 || EZdatatip==1 - lvals(nn)=Exp(zoneSel).Dexp(nn).scan(1,plNums(pertSel)).plate(1).CFout(indx,5); - if lvals(nn)==0, lvals(nn)=140; end - kvals(nn)=Exp(zoneSel).Dexp(nn).scan(1,plNums(pertSel)).plate(1).CFout(indx,3); - rvals(nn)=Exp(zoneSel).Dexp(nn).scan(1,plNums(pertSel)).plate(1).CFout(indx,4); - - -Exp(expN).Trace(traceN).dmSel= pertSel; -Exp(expN).Trace(traceN).UsrGLB= selGnOrf; %usrGnSp; -Exp(expN).Trace(tracN).Dexp(nn).DM(pertSel).UsrLvals= lvals(nn); -Exp(expN).Trace(tracN).Dexp(nn).DM(pertSel).UsrKvals= kvals(nn); -Exp(expN).Trace(tracN).Dexp(nn).DM(pertSel).Usrrvals= rvals(nn); - - - - - elseif CompositeTrendFlg==1 && EZdatatip==0 %Gene-Specifics Composite from listBox - days= Exp(expN).DexpLength; - if iscell(Exp(expN).Trace(tracN).Dexp(nn).DM(dmSel).UsrLvals) - lvals(nn)=median(cell2mat(Exp(expN).Trace(tracN).Dexp(nn).DM(dmSel).UsrLvals)); - if lvals(nn)==0, lvals(nn)=140; end - kvals(nn)= median(cell2mat(Exp(expN).Trace(tracN).Dexp(nn).DM(dmSel).UsrKvals)); - rvals(nn)= median(cell2mat(Exp(expN).Trace(tracN).Dexp(nn).DM(dmSel).Usrrvals)); - else - lvals(nn)=median(Exp(expN).Trace(tracN).Dexp(nn).DM(dmSel).UsrLvals); - if lvals(nn)==0, lvals(nn)=140; end - kvals(nn)= median(Exp(expN).Trace(tracN).Dexp(nn).DM(dmSel).UsrKvals); - rvals(nn)= median(Exp(expN).Trace(tracN).Dexp(nn).DM(dmSel).Usrrvals); - end - end %if CompositeTrendFlg==0 || EZdatatip==1 - - try - %lvalsRF1md(nn)=Exp(zoneSel).Dexp(nn).scan(1,RF1mdNums).plate(1).CFout(RF1mdIndx(nn),5); - lvalsRF1md(nn)= RFmdVal(nn); %RFmdVal(nn) gets the above if 'F', or the global median if 'G' or the local median if 'L' selected - if lvalsRF1md(nn)==0, lvalsRF1md(nn)=140; end - kvalsRF1md(nn)=Exp(zoneSel).Dexp(nn).scan(1,RF1mdNums).plate(1).CFout(RF1mdIndx,3); - rvalsRF1md(nn)=Exp(zoneSel).Dexp(nn).scan(1,RF1mdNums).plate(1).CFout(RF1mdIndx,4); - catch - end - try - lvalsRF2md(nn)=Exp(zoneSel).Dexp(nn).scan(1,RF2mdNums).plate(1).CFout(RF2mdIndx,5); - if lvalsRF2md(nn)==0, lvalsRF2md(nn)=140; end - kvalsRF2md(nn)=Exp(zoneSel).Dexp(nn).scan(1,RF2mdNums).plate(1).CFout(RF2mdIndx,3); - rvalsRF2md(nn)=Exp(zoneSel).Dexp(nn).scan(1,RF2mdNums).plate(1).CFout(RF2mdIndx,4); - catch - end - try - if (~exist('lvalsRF1md','var')||~exist('lvalsRF2md','var'))&& exist('RFcmpGFlg','var') && RFcmpGFlg==1 - lvalsRF1md(nn)= Exp(expN).DexpN(nn).RFcmpGL.DM(dmSel); - if lvalsRF2md(nn)==0, lvalsRF2md(nn)=140; end - end - lvalsRF1md(nn)= RFmdVal(nn); %RFmdVal(nn) gets the above if 'F', or the global median if 'G' or the local median if 'L' selected - if lvalsRF1md(nn)==0, lvalsRF1md(nn)=140; end - kvalsRF1md(nn)=Exp(zoneSel).Dexp(nn).scan(1,RF1mdNums).plate(1).CFout(RF1mdIndx,3); - rvalsRF1md(nn)=Exp(zoneSel).Dexp(nn).scan(1,RF1mdNums).plate(1).CFout(RF1mdIndx,4); - catch - end - - %Added for INTERACTION Calculating Utility 2016_0219 - try - if CompositeTrendFlg==0 || EZdatatip==1 %18_0103 Add || EZdatatip==1 - Xn(nn)= Exp(expN).Dexp(nn).scan(plNums(pertSel)).plate(1).CFout(indx,5); - Xln(nn)= Exp(expN).Dexp(nn).scan(plNums(pertSel)).plate(1).CFout(indx,11); - Xhn(nn)= Exp(expN).Dexp(nn).scan(plNums(pertSel)).plate(1).CFout(indx,12); - elseif CompositeTrendFlg==1 && EZdatatip==0 %18_0103 add && EZdatatip==0 Gene-Specifics Composite from listBox - Xn(nn)= median(cell2mat(Exp(expN).Trace(tracN).Dexp(nn).DM(dmSel).UsrLvals)); - Xln(nn)= Xn(nn) - std(cell2mat(Exp(expN).Trace(tracN).Dexp(nn).DM(dmSel).UsrLvals)); - Xhn(nn)= Xn(nn) + std(cell2mat(Exp(expN).Trace(tracN).Dexp(nn).DM(dmSel).UsrLvals)); - end - if Xn(nn)==0, deltaXR(nn)= 140; end - if isnan(Xhn(nn))||isnan(Xln(nn))|| Xhn(nn)==0||Xln(nn)==0||isnan(Rs(nn)) - deltaXR(nn)= 140; - elseif Xn(nn) >= Rn(nn) - deltaXR(nn)= Xln(nn)-(Rn(nn)+Rs(nn)); - else - deltaXR(nn)= Xhn(nn)-(Rn(nn)-Rs(nn)); - end - - - catch - msg= 'No Refs! ->No Interaction Calculations!' - end - end %for nn=1:Exp(expN).DexpLength - %**************************ELSEIF - elseif lstBoxCmpFlg==1 %Determine values of RF1cmp or RFcmpG - days= Exp(expN).DexpLength; - if strcmp(Exp(expN).DexpType,'chrono'), DM= inDM; else DM= pertSel; end %else DM= dmSel; - Exp(zoneSel).seltraceN=tracN; %added fix 2020_1103 - seltraceN=tracN; %added fix 2020_1103 - for nn=1:Exp(expN).DexpLength %length(Exp(zoneSel).Dexp) - RFconfig= Exp(zoneSel).Dexp(DexpN).RFconfig; - %***************************** - EZRFs4DayComp %*************** - %***************************** - if RFcmpGFlg==0 %RF1cmp or RF2cmp clicked - lvals(nn)= Exp(expN).Dexp(nn).RFcmpL(RFnum).dm(DM).med; - if lvals(nn)==0, lvals(dm)=140; end - kvals(nn)= Exp(expN).Dexp(nn).RFcmpK(RFnum).dm(DM).med; - rvals(nn)= Exp(expN).Dexp(nn).RFcmpr(RFnum).dm(DM).med; - elseif RFcmpGFlg==1 - lvals(nn)= Exp(expN).Dexp(nn).RFcmpGL.dm(DM).med;% Ls= num2str(l); + % Plot new intL + try + set(Exp(zoneSel).hintL(seltraceN),'visible','off'); set(Exp(zoneSel).hintLb(seltraceN),'visible','off'); + catch, end + try + set(Exp(zoneSel).hintLadj(seltraceN),'visible','off'); set(Exp(zoneSel).hintLadjb(seltraceN),'visible','off'); + catch, end + + % Plot RFmd1 and RFmd2 indexes + if lstBoxCmpFlg~=1 % If selection is a "normal" item with a location in the label + days=Exp(expN).DexpLength; + for nn=1:Exp(expN).DexpLength % length(Exp(zoneSel).Dexp) + RFconfig=Exp(zoneSel).Dexp(DexpN).RFconfig; + EZRFs4DayComp + if lstBoxCmpFlg~=1 + Exp(zoneSel).seltraceN=tracN; + seltraceN=tracN; + end + % Plot L K r for all Day pertibation(XdestinationX) Plates + try RF1mdNums=(RF1mdPltN-1)*destPerMP + (pertSel); catch, end % RF1mdPltN + try RF2mdNums=(RF2mdPltN-1)*destPerMP + (pertSel); catch, end % RF2mdPltN + if CompositeTrendFlg==0 || EZdatatip==1 + lvals(nn)=Exp(zoneSel).Dexp(nn).scan(1,plNums(pertSel)).plate(1).CFout(indx,5); + if lvals(nn)==0, lvals(nn)=140; end + kvals(nn)=Exp(zoneSel).Dexp(nn).scan(1,plNums(pertSel)).plate(1).CFout(indx,3); + rvals(nn)=Exp(zoneSel).Dexp(nn).scan(1,plNums(pertSel)).plate(1).CFout(indx,4); + Exp(expN).Trace(traceN).dmSel=pertSel; + Exp(expN).Trace(traceN).UsrGLB=selGnOrf; %usrGnSp; + Exp(expN).Trace(tracN).Dexp(nn).DM(pertSel).UsrLvals=lvals(nn); + Exp(expN).Trace(tracN).Dexp(nn).DM(pertSel).UsrKvals=kvals(nn); + Exp(expN).Trace(tracN).Dexp(nn).DM(pertSel).Usrrvals=rvals(nn); + elseif CompositeTrendFlg==1 && EZdatatip==0 % Gene-Specifics Composite from listBox + days=Exp(expN).DexpLength; + if iscell(Exp(expN).Trace(tracN).Dexp(nn).DM(dmSel).UsrLvals) + lvals(nn)=median(cell2mat(Exp(expN).Trace(tracN).Dexp(nn).DM(dmSel).UsrLvals)); if lvals(nn)==0, lvals(nn)=140; end - kvals(nn)= Exp(expN).Dexp(nn).RFcmpGK.dm(DM).med; %Ks= num2str(K); - rvals(nn)= Exp(expN).Dexp(nn).RFcmpGr.dm(DM).med; %rs= num2str(r); - end - - %Added for INTERACTION Calculating Utility 2016_0219 - try - Xn(nn)=lvals(nn); - try - Xln(nn)= lvals(nn)- Exp(expN).Dexp(DexpN).RFcmpL(RFnum).dm(DM).std ; - Xhn(nn)= lvals(nn)+ Exp(expN).Dexp(DexpN).RFcmpL(RFnum).dm(DM).std; - catch - Xln(nn)= lvals(nn)- Exp(expN).Dexp(DexpN).RFcmpGL.dm(DM).std ; - Xhn(nn)= lvals(nn)+ Exp(expN).Dexp(DexpN).RFcmpGL.dm(DM).std; - end - if Xn(nn)==0, deltaXR(nn)= 140; end - if isnan(Xhn(nn))||isnan(Xln(nn))|| Xhn(nn)==0||Xln(nn)==0||isnan(Rs(nn)) - deltaXR(nn)= 140; - elseif Xn(nn) >= Rn(nn) - deltaXR(nn)= Xln(nn)-(Rn(nn)+Rs(nn)); - else - deltaXR(nn)= Xhn(nn)-(Rn(nn)-Rs(nn)); - end - - - catch - msg= 'No Refs! ->No Interaction Calculations!' - end - - end % Second for nn loop lstBoxCmpFlg==1 %for nn=1:Exp(expN).DexpLength - - - - -end %if lstBoxCmpFlg~= 1 - + kvals(nn)=median(cell2mat(Exp(expN).Trace(tracN).Dexp(nn).DM(dmSel).UsrKvals)); + rvals(nn)=median(cell2mat(Exp(expN).Trace(tracN).Dexp(nn).DM(dmSel).Usrrvals)); + else + lvals(nn)=median(Exp(expN).Trace(tracN).Dexp(nn).DM(dmSel).UsrLvals); + if lvals(nn)==0, lvals(nn)=140; end + kvals(nn)=median(Exp(expN).Trace(tracN).Dexp(nn).DM(dmSel).UsrKvals); + rvals(nn)=median(Exp(expN).Trace(tracN).Dexp(nn).DM(dmSel).Usrrvals); + end + end + try + % lvalsRF1md(nn)=Exp(zoneSel).Dexp(nn).scan(1,RF1mdNums).plate(1).CFout(RF1mdIndx(nn),5); + lvalsRF1md(nn)=RFmdVal(nn); %RFmdVal(nn) gets the above if 'F', or the global median if 'G' or the local median if 'L' selected + if lvalsRF1md(nn)==0, lvalsRF1md(nn)=140; end + kvalsRF1md(nn)=Exp(zoneSel).Dexp(nn).scan(1,RF1mdNums).plate(1).CFout(RF1mdIndx,3); + rvalsRF1md(nn)=Exp(zoneSel).Dexp(nn).scan(1,RF1mdNums).plate(1).CFout(RF1mdIndx,4); + catch + end + try + lvalsRF2md(nn)=Exp(zoneSel).Dexp(nn).scan(1,RF2mdNums).plate(1).CFout(RF2mdIndx,5); + if lvalsRF2md(nn)==0, lvalsRF2md(nn)=140; end + kvalsRF2md(nn)=Exp(zoneSel).Dexp(nn).scan(1,RF2mdNums).plate(1).CFout(RF2mdIndx,3); + rvalsRF2md(nn)=Exp(zoneSel).Dexp(nn).scan(1,RF2mdNums).plate(1).CFout(RF2mdIndx,4); + catch + end + try + if (~exist('lvalsRF1md','var')||~exist('lvalsRF2md','var'))&& exist('RFcmpGFlg','var') && RFcmpGFlg==1 + lvalsRF1md(nn)=Exp(expN).DexpN(nn).RFcmpGL.DM(dmSel); + if lvalsRF2md(nn)==0, lvalsRF2md(nn)=140; end + end + lvalsRF1md(nn)=RFmdVal(nn); %RFmdVal(nn) gets the above if 'F', or the global median if 'G' or the local median if 'L' selected + if lvalsRF1md(nn)==0, lvalsRF1md(nn)=140; end + kvalsRF1md(nn)=Exp(zoneSel).Dexp(nn).scan(1,RF1mdNums).plate(1).CFout(RF1mdIndx,3); + rvalsRF1md(nn)=Exp(zoneSel).Dexp(nn).scan(1,RF1mdNums).plate(1).CFout(RF1mdIndx,4); + catch + end + % Added for INTERACTION Calculating Utility 2016_0219 + try + if CompositeTrendFlg==0 || EZdatatip==1 % 18_0103 Add || EZdatatip==1 + Xn(nn)=Exp(expN).Dexp(nn).scan(plNums(pertSel)).plate(1).CFout(indx,5); + Xln(nn)=Exp(expN).Dexp(nn).scan(plNums(pertSel)).plate(1).CFout(indx,11); + Xhn(nn)=Exp(expN).Dexp(nn).scan(plNums(pertSel)).plate(1).CFout(indx,12); + elseif CompositeTrendFlg==1 && EZdatatip==0 % 18_0103 add && EZdatatip==0 Gene-Specifics Composite from listBox + Xn(nn)=median(cell2mat(Exp(expN).Trace(tracN).Dexp(nn).DM(dmSel).UsrLvals)); + Xln(nn)=Xn(nn) - std(cell2mat(Exp(expN).Trace(tracN).Dexp(nn).DM(dmSel).UsrLvals)); + Xhn(nn)=Xn(nn) + std(cell2mat(Exp(expN).Trace(tracN).Dexp(nn).DM(dmSel).UsrLvals)); + end + if Xn(nn)==0, deltaXR(nn)=140; end + if isnan(Xhn(nn))||isnan(Xln(nn))|| Xhn(nn)==0||Xln(nn)==0||isnan(Rs(nn)) + deltaXR(nn)=140; + elseif Xn(nn) >=Rn(nn) + deltaXR(nn)=Xln(nn)-(Rn(nn)+Rs(nn)); + else + deltaXR(nn)=Xhn(nn)-(Rn(nn)-Rs(nn)); + end + catch + msg='No Refs! ->No Interaction Calculations!' + end + end + elseif lstBoxCmpFlg==1 % determine values of RF1cmp or RFcmpG + days=Exp(expN).DexpLength; + if strcmp(Exp(expN).DexpType,'chrono'), DM=inDM; else DM=pertSel; end % else DM=dmSel; + Exp(zoneSel).seltraceN=tracN; % added fix 2020_1103 + seltraceN=tracN; % added fix 2020_1103 + for nn=1:Exp(expN).DexpLength % length(Exp(zoneSel).Dexp) + RFconfig=Exp(zoneSel).Dexp(DexpN).RFconfig; + EZRFs4DayComp + if RFcmpGFlg==0 % RF1cmp or RF2cmp clicked + lvals(nn)=Exp(expN).Dexp(nn).RFcmpL(RFnum).dm(DM).med; + if lvals(nn)==0, lvals(dm)=140; end + kvals(nn)=Exp(expN).Dexp(nn).RFcmpK(RFnum).dm(DM).med; + rvals(nn)=Exp(expN).Dexp(nn).RFcmpr(RFnum).dm(DM).med; + elseif RFcmpGFlg==1 + lvals(nn)=Exp(expN).Dexp(nn).RFcmpGL.dm(DM).med; % Ls=num2str(l); + if lvals(nn)==0, lvals(nn)=140; end + kvals(nn)=Exp(expN).Dexp(nn).RFcmpGK.dm(DM).med; % Ks=num2str(K); + rvals(nn)=Exp(expN).Dexp(nn).RFcmpGr.dm(DM).med; % rs=num2str(r); + end + % Added for INTERACTION Calculating Utility 2016_0219 + try + Xn(nn)=lvals(nn); + try + Xln(nn)=lvals(nn)- Exp(expN).Dexp(DexpN).RFcmpL(RFnum).dm(DM).std ; + Xhn(nn)=lvals(nn)+ Exp(expN).Dexp(DexpN).RFcmpL(RFnum).dm(DM).std; + catch + Xln(nn)=lvals(nn)- Exp(expN).Dexp(DexpN).RFcmpGL.dm(DM).std ; + Xhn(nn)=lvals(nn)+ Exp(expN).Dexp(DexpN).RFcmpGL.dm(DM).std; + end + if Xn(nn)==0, deltaXR(nn)=140; end + if isnan(Xhn(nn))||isnan(Xln(nn))|| Xhn(nn)==0||Xln(nn)==0||isnan(Rs(nn)) + deltaXR(nn)=140; + elseif Xn(nn) >=Rn(nn) + deltaXR(nn)=Xln(nn)-(Rn(nn)+Rs(nn)); + else + deltaXR(nn)=Xhn(nn)-(Rn(nn)-Rs(nn)); + end + catch + msg='No Refs! ->No Interaction Calculations!' + end + end + end %end -%/////////////////////////////////////////////////////////////////// -%XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + % Interaction Plotting Utility 2016_0219 + try + if Rn(1)==0 % If Ref mean is zero + intL=0; proGrIntL=0; intLadj=0; proGrIntLadj=0; + intNormL=6.66;intNormLadj=6.66; proGrIntNormL=6.66;proGrIntNormLadj=6.66; + else + % if Xn(pertSel)==0 || Xn(pertSel)==140,intL=140; else intL=(Xn-Rn); end + intL=(Xn-Rn); + intL(Xn==0)=140; + intLadj=(deltaXR); + Exp(expN).Trace(tracN).Dexp(DexpN).UsrIntL=intL; + end + catch + FailMessage='Problem with Reference Rn value; Unable to produce Interaction values! Ln119 EZdestComp' + end + + hidem(ghandles.Daxes1) + if zoneSel==1,showm(ghandles.Dlaxes1);showm(ghandles.Dkaxes1);showm(ghandles.Draxes1);end + if zoneSel==2,showm(ghandles.Dlaxes2);showm(ghandles.Dkaxes2);showm(ghandles.Draxes2);end + if zoneSel==3,showm(ghandles.Dlaxes3);showm(ghandles.Dkaxes3);showm(ghandles.Draxes3);end + set(Dlaxes,'NextPlot','add'); set(Dkaxes,'NextPlot','add'); set(Draxes,'NextPlot','add') + + + if zoneSel==1,showm(ghandles.DNLaxes1); end + if zoneSel==2,showm(ghandles.DNLaxes2); end + if zoneSel==3,showm(ghandles.DNLaxes3); end + set(DNLaxes,'NextPlot','add'); + + % Make visible the current L plot and store it for retrieval by OLay code + % Plot RF1 and/or RF2 OR if No RF1-RF2 Plot RFcmpGL + try %Some experiments do not have ref. plates + Exp(zoneSel).hLRF1(tracN)=plot(Dlaxes,lvalsRF1md,1:days,'y'); hold on + catch1=0; + catch + catch1=1; + end + try + Exp(zoneSel).hLRF2(tracN)=plot(Dlaxes,lvalsRF2md,1:days,'y'); hold on + catch2=0; + catch + catch2=1; + end + try + if catch1 && catch2&& RFcmpGFlg==1 + for nn=1:Exp(expN).DexpLength + lvalsRF1md(nn)=Exp(1,expN).Dexp(1,nn).RFcmpGL.dm(1,dmSel).med; + if lvalsRF1md(nn)==0, lvalsRF1md(nn)=140; end + end + end + Exp(zoneSel).hLRF1(tracN)=plot(Dlaxes,lvalsRF1md,1:days,'y'); + catch + end + % Plot User Selection Data + try + Exp(zoneSel).hL(tracN)=plot(Dlaxes,lvals,1:days); Exp(zoneSel).hLb(tracN)=plot(Dlaxes,lvals,1:days,'rs'); + catch + end + if zoneSel==1,set(ghandles.Dlaxes1,'xlim',[0,140]); end + if zoneSel==2,set(ghandles.Dlaxes2,'xlim',[0,140]); end + if zoneSel==3,set(ghandles.Dlaxes3,'xlim',[0,140]); end + % Make visible Plot for Interaction Data, Store and Hide unless a N (InteractionPBsel) set that plot on Top of the RawData Plots. + % Plot new intL + try + % zeroCLn=zeros(1,days) + % Exp(zoneSel).hzeroCLn=plot(DNLaxes,zeroCLn,1:days,'y'); + Exp(zoneSel).hintL(tracN)= plot(DNLaxes,intL,1:days); Exp(zoneSel).hintLb(tracN)=plot(DNLaxes,intL,1:days,'rs'); + Exp(zoneSel).hintLadj(tracN)= plot(DNLaxes,intLadj,1:days,'g'); Exp(zoneSel).hintLadjb(tracN)=plot(DNLaxes,intLadj,1:days,'gs'); + catch + end + if zoneSel==1,set(ghandles.DNLaxes1,'xlim',[-75,75]); end + if zoneSel==2,set(ghandles.DNLaxes2,'xlim',[-75,75]); end + if zoneSel==3,set(ghandles.DNLaxes3,'xlim',[-75,75]); end - -%***********INTERACTION Plotting Utility 2016_0219********************************************* -try -if Rn(1)==0, % If Ref mean is zero - intL= 0; proGrIntL=0; intLadj=0; proGrIntLadj=0; - intNormL=6.66;intNormLadj=6.66; proGrIntNormL=6.66;proGrIntNormLadj=6.66; -else -%if Xn(pertSel)==0 || Xn(pertSel)==140,intL =140; else intL=(Xn-Rn); end -intL= (Xn-Rn); -intL(Xn==0)= 140; -intLadj=(deltaXR); - -Exp(expN).Trace(tracN).Dexp(DexpN).UsrIntL= intL; + % Hide all K plots + for J=1:(tracN-1) + try + set(Exp(zoneSel).hKRF1(J),'visible','off'); set(Exp(zoneSel).hKRF2(J),'visible','off'); + catch, end + try + set(Exp(zoneSel).hK(J),'visible','off'); set(Exp(zoneSel).hKb(J),'visible','off'); + catch, end + end + + % Make visible the current L plot and store it for retrieval by OLay code + try % Some experiments do not have ref. plates + Exp(zoneSel).hKRF1(tracN)=plot(Dkaxes,kvalsRF1md,1:days,'y'); + Exp(zoneSel).hKRF2(tracN)=plot(Dkaxes,kvalsRF2md,1:days,'y'); + catch, end + try + Exp(zoneSel).hK(tracN)= plot(Dkaxes,kvals,1:days); Exp(zoneSel).hKb(tracN)=plot(Dkaxes,kvals,1:days,'rs'); + catch, end + set(Dkaxes,'xlim',[0,200]) % max(kvals+20) + set(Dkaxes,'ycolor',[.9,.9,1]) + + % Hide all r plots + for J=1:(tracN-1) + try + set(Exp(zoneSel).hrRF1(J),'visible','off'); set(Exp(zoneSel).hrRF2(J),'visible','off'); + catch, end + try + set(Exp(zoneSel).hr(J),'visible','off'); set(Exp(zoneSel).hrb(J),'visible','off'); + catch, end + end + + % Make visible the current r plot and store it for retrieval by OLay code + try % Some experiments do not have ref. plates + Exp(zoneSel).hrRF1(tracN)=plot(Draxes,rvalsRF1md,1:days,'y'); + Exp(zoneSel).hrRF2(tracN)=plot(Draxes,rvalsRF2md,1:days,'y'); + catch, end + try + Exp(zoneSel).hr(tracN)= plot(Draxes,rvals,1:days); Exp(zoneSel).hrb(tracN)=plot(Draxes,rvals,1:days,'rs'); + catch, end + set(Draxes,'xlim',[0,1]) + set(Draxes,'ycolor',[.9,.9,1]) end -catch - FailMessage= 'Problem with Reference Rn value; Unable to produce Interaction values! Ln119 EZdestComp' -end - - - hidem(ghandles.Daxes1) - if zoneSel==1,showm(ghandles.Dlaxes1);showm(ghandles.Dkaxes1);showm(ghandles.Draxes1);end - if zoneSel==2,showm(ghandles.Dlaxes2);showm(ghandles.Dkaxes2);showm(ghandles.Draxes2);end - if zoneSel==3,showm(ghandles.Dlaxes3);showm(ghandles.Dkaxes3);showm(ghandles.Draxes3);end - set(Dlaxes,'NextPlot','add'); set(Dkaxes,'NextPlot','add'); set(Draxes,'NextPlot','add') - - - if zoneSel==1,showm(ghandles.DNLaxes1); end - if zoneSel==2,showm(ghandles.DNLaxes2); end - if zoneSel==3,showm(ghandles.DNLaxes3); end - set(DNLaxes,'NextPlot','add'); - -%+++++++++++++++++LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL+++++++++++++++++++++++++++++++++ - %Make visible the current L plot and store it for retrieval by OLay code - %Plot RF1 and/or RF2 OR if No RF1-RF2 Plot RFcmpGL - try %Some experiments do not have ref. plates - Exp(zoneSel).hLRF1(tracN)= plot(Dlaxes,lvalsRF1md,1:days,'y'); hold on - catch1=0; - catch - catch1=1; - end - try - Exp(zoneSel).hLRF2(tracN)= plot(Dlaxes,lvalsRF2md,1:days,'y'); hold on - catch2=0; - catch - catch2=1; - end - try - if catch1 && catch2&& RFcmpGFlg==1 - for nn=1:Exp(expN).DexpLength - lvalsRF1md(nn)= Exp(1,expN).Dexp(1,nn).RFcmpGL.dm(1,dmSel).med; - if lvalsRF1md(nn)==0, lvalsRF1md(nn)=140; end - end - end - Exp(zoneSel).hLRF1(tracN)= plot(Dlaxes,lvalsRF1md,1:days,'y'); - catch - end - %************************************************************ - %Plot USER SELECTION DATA************************************** - try - Exp(zoneSel).hL(tracN)= plot(Dlaxes,lvals,1:days); Exp(zoneSel).hLb(tracN)= plot(Dlaxes,lvals,1:days,'rs'); - catch - end - %************************************************************* - if zoneSel==1,set(ghandles.Dlaxes1,'xlim',[0,140]); end - if zoneSel==2,set(ghandles.Dlaxes2,'xlim',[0,140]); end - if zoneSel==3,set(ghandles.Dlaxes3,'xlim',[0,140]); end - %************************************************* - %Make visible Plot for Interaction Data, Store and Hide unless a N (InteractionPBsel) set that plot on Top of the RawData Plots. - %Plot new intL - try - % zeroCLn= zeros(1,days) - % Exp(zoneSel).hzeroCLn=plot(DNLaxes,zeroCLn,1:days,'y'); - Exp(zoneSel).hintL(tracN)= plot(DNLaxes,intL,1:days); Exp(zoneSel).hintLb(tracN)= plot(DNLaxes,intL,1:days,'rs'); - Exp(zoneSel).hintLadj(tracN)= plot(DNLaxes,intLadj,1:days,'g'); Exp(zoneSel).hintLadjb(tracN)= plot(DNLaxes,intLadj,1:days,'gs'); - catch, - end - if zoneSel==1,set(ghandles.DNLaxes1,'xlim',[-75,75]); end - if zoneSel==2,set(ghandles.DNLaxes2,'xlim',[-75,75]); end - if zoneSel==3,set(ghandles.DNLaxes3,'xlim',[-75,75]); end - - - %+++++++++++++++++KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK+++++++++++++++++++++++++++++++++++++++++++++++++++++++ - %Hide all K plots - - for J=1:(tracN-1), - try - set(Exp(zoneSel).hKRF1(J),'visible','off'); set(Exp(zoneSel).hKRF2(J),'visible','off'); - catch, end - try - set(Exp(zoneSel).hK(J),'visible','off'); set(Exp(zoneSel).hKb(J),'visible','off'); - catch, end - end - %Make visible the current L plot and store it for retrieval by OLay code - try %Some experiments do not have ref. plates - Exp(zoneSel).hKRF1(tracN)= plot(Dkaxes,kvalsRF1md,1:days,'y'); - Exp(zoneSel).hKRF2(tracN)= plot(Dkaxes,kvalsRF2md,1:days,'y'); - catch, end - try - Exp(zoneSel).hK(tracN)= plot(Dkaxes,kvals,1:days); Exp(zoneSel).hKb(tracN)= plot(Dkaxes,kvals,1:days,'rs'); - catch, end - set(Dkaxes,'xlim',[0,200]) %max(kvals+20) - set(Dkaxes,'ycolor',[.9,.9,1]) - %++++++++++++++++++rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr+++++++++++++++++++++++++++++++++++++++++++++++ - %Hide all r plots - - for J=1:(tracN-1), - try - set(Exp(zoneSel).hrRF1(J),'visible','off'); set(Exp(zoneSel).hrRF2(J),'visible','off'); - catch, end - try - set(Exp(zoneSel).hr(J),'visible','off'); set(Exp(zoneSel).hrb(J),'visible','off'); - catch, end - end - %Make visible the current r plot and store it for retrieval by OLay code - try %Some experiments do not have ref. plates - Exp(zoneSel).hrRF1(tracN)= plot(Draxes,rvalsRF1md,1:days,'y'); - Exp(zoneSel).hrRF2(tracN)= plot(Draxes,rvalsRF2md,1:days,'y'); - catch, end - try - Exp(zoneSel).hr(tracN)= plot(Draxes,rvals,1:days); Exp(zoneSel).hrb(tracN)= plot(Draxes,rvals,1:days,'rs'); - catch, end - set(Draxes,'xlim',[0,1]) - set(Draxes,'ycolor',[.9,.9,1]) - -end %if EZdatatip==2 Response to Overlay click - - if CompositeTrendFlg==1 && EZdatatip~=0 - % lbLKr= strcat(gene,'_',spec,'_'); - drug= Exp(expN).Dexp(DexpN).DM.drug{dmSel}; - conc= Exp(expN).Dexp(DexpN).DM.conc{dmSel}; - media= Exp(expN).Dexp(DexpN).DM.media{dmSel}; - mod1= Exp(expN).Dexp(DexpN).DM.mod1{dmSel}; - conc1= Exp(expN).Dexp(DexpN).DM.conc1{dmSel}; - mod2= Exp(expN).Dexp(DexpN).DM.mod2{dmSel}; - conc2=Exp(expN).Dexp(DexpN).DM.conc2{dmSel}; - dmStr= strcat(drug,conc,'_',media,'_',mod1,conc1,mod2,conc2); - grfgenestr= strcat(grfgenestr,dmStr); + % lbLKr=strcat(gene,'_',spec,'_'); + drug=Exp(expN).Dexp(DexpN).DM.drug{dmSel}; + conc=Exp(expN).Dexp(DexpN).DM.conc{dmSel}; + media=Exp(expN).Dexp(DexpN).DM.media{dmSel}; + mod1=Exp(expN).Dexp(DexpN).DM.mod1{dmSel}; + conc1=Exp(expN).Dexp(DexpN).DM.conc1{dmSel}; + mod2=Exp(expN).Dexp(DexpN).DM.mod2{dmSel}; + conc2=Exp(expN).Dexp(DexpN).DM.conc2{dmSel}; + dmStr=strcat(drug,conc,'_',media,'_',mod1,conc1,mod2,conc2); + grfgenestr=strcat(grfgenestr,dmStr); end - if zoneSel==1, set(ghandles.geneOrfLKr1,'string', grfgenestr);end - if zoneSel==2, set(ghandles.geneOrfLKr2,'string', grfgenestr);end - if zoneSel==3, set(ghandles.geneOrfLKr3,'string', grfgenestr);end +if zoneSel==1, set(ghandles.geneOrfLKr1,'string', grfgenestr);end +if zoneSel==2, set(ghandles.geneOrfLKr2,'string', grfgenestr);end +if zoneSel==3, set(ghandles.geneOrfLKr3,'string', grfgenestr);end -%********************************************************************************************************************* -%********************************************************************************************************************* -%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -%___________________________________Display Selection PlotFilter ____________________ +% Display Selection PlotFilter - if lstBoxCmpFlg~= 1, - seltraceN= Exp(zoneSel).seltraceN - end - if EZdatatip==0, seltraceN= tracN; end - if Exp(4).interacPBsel==0 %00000000000000000000000000000 - % replace ghandles.DNLaxes1 (Dlaxes2)etc. with a single - % Exp(zoneSel).DNLaxes,.... - set(ghandles.Dlaxes1,'Visible','on') - set(ghandles.Dlaxes2,'Visible','on') - set(ghandles.Dlaxes3,'Visible','on') - set(ghandles.DNLaxes1,'Visible','off') - set(ghandles.DNLaxes2,'Visible','off') - set(ghandles.DNLaxes3,'Visible','off') +if lstBoxCmpFlg~=1, + seltraceN=Exp(zoneSel).seltraceN +end +if EZdatatip==0, seltraceN=tracN; end +if Exp(4).interacPBsel==0 + % replace ghandles.DNLaxes1 (Dlaxes2)etc. with a single + % Exp(zoneSel).DNLaxes,.... + set(ghandles.Dlaxes1,'Visible','on') + set(ghandles.Dlaxes2,'Visible','on') + set(ghandles.Dlaxes3,'Visible','on') + set(ghandles.DNLaxes1,'Visible','off') + set(ghandles.DNLaxes2,'Visible','off') + set(ghandles.DNLaxes3,'Visible','off') - for n=1:Exp(zoneSel).traceN - try - set(Exp(zoneSel).hLRF1(n),'visible','off'); set(Exp(zoneSel).hLRF2(n),'visible','off'); - catch, end - try - set(Exp(zoneSel).hL(n),'visible','off'); set(Exp(zoneSel).hLb(n),'visible','off'); - catch, end - - try - set(Exp(zoneSel).hintL(n),'visible','off'); set(Exp(zoneSel).hintLb(n),'visible','off'); - catch, end - try - set(Exp(zoneSel).hintLadj(n),'visible','off'); set(Exp(zoneSel).hintLadjb(n),'visible','off'); - catch, end - end - - try - set(Exp(zoneSel).hLRF1(seltraceN),'visible','on'); set(Exp(zoneSel).hLRF2(seltraceN),'visible','on'); - catch, end - try - set(Exp(zoneSel).hL(seltraceN),'visible','on'); set(Exp(zoneSel).hLb(seltraceN),'visible','on'); - catch, end - for i=1:Exp(zoneSel).expLoadCnt, - try set(Exp(zoneSel).hzeroCLn(i),'visible','off'); catch ME, end - end - - - - elseif Exp(4).interacPBsel==1 %111111111111111111111111111 - set(ghandles.DNLaxes1,'Visible','on') - set(ghandles.DNLaxes2,'Visible','on') - set(ghandles.DNLaxes3,'Visible','on') - set(ghandles.Dlaxes1,'Visible','off') - set(ghandles.Dlaxes2,'Visible','off') - set(ghandles.Dlaxes3,'Visible','off') - - - for n=1:Exp(zoneSel).traceN - try set(Exp(zoneSel).hLRF1(n),'visible','off'); catch, end - try set(Exp(zoneSel).hLRF2(n),'visible','off'); catch, end - try set(Exp(zoneSel).hL(n),'visible','off'); set(Exp(zoneSel).hLb(n),'visible','off'); catch, end - try set(Exp(zoneSel).hintL(n),'visible','off'); set(Exp(zoneSel).hintLb(n),'visible','off'); catch, end - try set(Exp(zoneSel).hintLadj(n),'visible','off'); set(Exp(zoneSel).hintLadjb(n),'visible','off'); catch, end - end - try set(Exp(zoneSel).hintL(seltraceN),'visible','on'); set(Exp(zoneSel).hintLb(seltraceN),'visible','on'); catch, end - try set(Exp(zoneSel).hintLadj(seltraceN),'visible','on'); set(Exp(zoneSel).hintLadjb(seltraceN),'visible','on'); catch, end - for i=1:Exp(zoneSel).expLoadCnt, - try set(Exp(zoneSel).hzeroCLn(i),'visible','on'); catch ME, end - end - elseif Exp(4).interacPBsel==2 %2222222222222222222222222222 TEMPorily Same as interacPBsel==1 - % set(ghandles.DNLaxes1,'Visible','on') - %set(ghandles.Dlaxes1,'Visible','off') - - - end %if Exp(4).interacPBsel==0 - - %pause(2) -%------------------------------------------------------------------------------------------------------------ - - -%===================================================================================================================== - - -%end %if isempty(msg) + for n=1:Exp(zoneSel).traceN + try + set(Exp(zoneSel).hLRF1(n),'visible','off'); set(Exp(zoneSel).hLRF2(n),'visible','off'); + catch, end + try + set(Exp(zoneSel).hL(n),'visible','off'); set(Exp(zoneSel).hLb(n),'visible','off'); + catch, end + try + set(Exp(zoneSel).hintL(n),'visible','off'); set(Exp(zoneSel).hintLb(n),'visible','off'); + catch, end + try + set(Exp(zoneSel).hintLadj(n),'visible','off'); set(Exp(zoneSel).hintLadjb(n),'visible','off'); + catch, end + end + + try + set(Exp(zoneSel).hLRF1(seltraceN),'visible','on'); set(Exp(zoneSel).hLRF2(seltraceN),'visible','on'); + catch, end + try + set(Exp(zoneSel).hL(seltraceN),'visible','on'); set(Exp(zoneSel).hLb(seltraceN),'visible','on'); + catch, end + for i=1:Exp(zoneSel).expLoadCnt, + try set(Exp(zoneSel).hzeroCLn(i),'visible','off'); catch ME, end + end +elseif Exp(4).interacPBsel==1 + set(ghandles.DNLaxes1,'Visible','on') + set(ghandles.DNLaxes2,'Visible','on') + set(ghandles.DNLaxes3,'Visible','on') + set(ghandles.Dlaxes1,'Visible','off') + set(ghandles.Dlaxes2,'Visible','off') + set(ghandles.Dlaxes3,'Visible','off') + for n=1:Exp(zoneSel).traceN + try set(Exp(zoneSel).hLRF1(n),'visible','off'); catch, end + try set(Exp(zoneSel).hLRF2(n),'visible','off'); catch, end + try set(Exp(zoneSel).hL(n),'visible','off'); set(Exp(zoneSel).hLb(n),'visible','off'); catch, end + try set(Exp(zoneSel).hintL(n),'visible','off'); set(Exp(zoneSel).hintLb(n),'visible','off'); catch, end + try set(Exp(zoneSel).hintLadj(n),'visible','off'); set(Exp(zoneSel).hintLadjb(n),'visible','off'); catch, end + end + try set(Exp(zoneSel).hintL(seltraceN),'visible','on'); set(Exp(zoneSel).hintLb(seltraceN),'visible','on'); catch, end + try set(Exp(zoneSel).hintLadj(seltraceN),'visible','on'); set(Exp(zoneSel).hintLadjb(seltraceN),'visible','on'); catch, end + for i=1:Exp(zoneSel).expLoadCnt + try set(Exp(zoneSel).hzeroCLn(i),'visible','on'); catch ME, end + end +elseif Exp(4).interacPBsel==2 +end + %{ -%Attempt fix for overlaying L and intL from image datatip==1 18_0103 - if Exp(4).interacPBsel==0 %0000 - try - set(Exp(zoneSel).hLRF1(seltraceN),'visible','off'); set(Exp(zoneSel).hLRF2(seltraceN),'visible','off'); - catch, end - try - set(Exp(zoneSel).hL(seltraceN),'visible','off'); set(Exp(zoneSel).hLb(seltraceN),'visible','off'); - catch, end - end - - %Hide intL - if Exp(4).interacPBsel==1 %1111 - try - set(Exp(zoneSel).hintL(seltraceN),'visible','off'); set(Exp(zoneSel).hintLb(seltraceN),'visible','off'); - catch, end - try - set(Exp(zoneSel).hintLadj(seltraceN),'visible','off'); set(Exp(zoneSel).hintLadjb(seltraceN),'visible','off'); - catch, end - end - + % Attempt fix for overlaying L and intL from image datatip==1 18_0103 + if Exp(4).interacPBsel==0 %0000 + try + set(Exp(zoneSel).hLRF1(seltraceN),'visible','off'); set(Exp(zoneSel).hLRF2(seltraceN),'visible','off'); + catch, end + try + set(Exp(zoneSel).hL(seltraceN),'visible','off'); set(Exp(zoneSel).hLb(seltraceN),'visible','off'); + catch, end + end + + % Hide intL + if Exp(4).interacPBsel==1 %1111 + try + set(Exp(zoneSel).hintL(seltraceN),'visible','off'); set(Exp(zoneSel).hintLb(seltraceN),'visible','off'); + catch, end + try + set(Exp(zoneSel).hintLadj(seltraceN),'visible','off'); set(Exp(zoneSel).hintLadjb(seltraceN),'visible','off'); + catch, end + end %} diff --git a/workflow/apps/matlab/ezview/EZmultiDay.m b/workflow/apps/matlab/ezview/EZmultiDay.m index 00c70c8f..663fbd55 100755 --- a/workflow/apps/matlab/ezview/EZmultiDay.m +++ b/workflow/apps/matlab/ezview/EZmultiDay.m @@ -8,8 +8,8 @@ d=strfind(exDlst,'_'); clear expDlstS ii=0; for n=1:(size(c,1)) - if ((sum(ismember(cell2mat(c(n)),[3,4]))==1 && ~isempty(ismember(cell2mat(c(n)),[3,4]))) ||... - (sum(ismember(cell2mat(d(n)),[3,4]))==1 && ~isempty(ismember(cell2mat(d(n)),[3,4])))) + if ((sum(ismember(cell2mat(c(n)),[3,4]))==1 && ~isempty(ismember(cell2mat(c(n)),[3,4]))) ... + || (sum(ismember(cell2mat(d(n)),[3,4]))==1 && ~isempty(ismember(cell2mat(d(n)),[3,4])))) ii=ii+1; expDlst(ii)=exDlst(n); end @@ -17,7 +17,7 @@ end clear matFile ii=0; -for m= 1:size(expDlst,2) +for m=1:size(expDlst,2) exD=fullfile(exFolder,cell2mat(expDlst(m))) dirLst=dir(exD); clear matFlst @@ -31,7 +31,7 @@ for m= 1:size(expDlst,2) matFlst=dir(resMatF) for o=1:size(matFlst,1) if sum(ismember('.mat', matFlst(o).name))==4 - ii= ii+1; + ii=ii+1; resDir{ii}=fullfile(exFolder,cell2mat(expDlst(m)),resF) matFile(m)=cellstr(fullfile(resMatF,matFlst(o).name)) end @@ -40,6 +40,6 @@ for m= 1:size(expDlst,2) end end -Exp(expN).DexpLength= size(matFile,2); -Exp(expN).DexpN= size(matFile,2); +Exp(expN).DexpLength=size(matFile,2); +Exp(expN).DexpN=size(matFile,2); diff --git a/workflow/apps/matlab/ezview/EZmultiDayExp.m b/workflow/apps/matlab/ezview/EZmultiDayExp.m index c77eb9fb..e51830ad 100755 --- a/workflow/apps/matlab/ezview/EZmultiDayExp.m +++ b/workflow/apps/matlab/ezview/EZmultiDayExp.m @@ -1,67 +1,61 @@ +% Is the callback supposed to be nested? function EZmultiDayGui -%global Exp -global exDlst + %global Exp + global exDlst xPos=0.05; - btnWid=0.10; - btnHt=0.05; - spacing=0.02;% Spacing between the button and the next command's label -%==================================== + btnWid=0.10; + btnHt=0.05; + spacing=0.02;% Spacing between the button and the next command's label + % The ADD Groups button - btnNumber=1; - yPos=0.85-(btnNumber-1)*(btnHt+spacing); - btnPos=[xPos yPos-spacing btnWid btnHt]; - %fhImParm=gcf; + btnNumber=1; + yPos=0.85-(btnNumber-1)*(btnHt+spacing); + btnPos=[xPos yPos-spacing btnWid btnHt]; + %fhImParm=gcf; + exFolder=uigetdir + exDirs=dir(exFolder) + exFs={exDirs.name} + f=figure('Menubar','none','Position',[1000 100 640 750],'Name','Select Exp Folders' ); + hListbox=uicontrol(... + 'Style', 'listbox',... + 'String',sort(exFs),... + 'value',[],... + 'max',1000,... + 'min',1,... + 'Units','normalized',... + 'Position', [.70 .40 .6 .60],... + 'callback',{@load_listbox}); % 'uiresume(gcbf)'); 'Position', [5 100 60 20]) -%==================================== -exFolder=uigetdir -exDirs=dir(exFolder) - exFs= {exDirs.name} + function load_listbox(source,eventdata) + % global CSrchRng + % global CSrearchRange + userIndx=(get(source,'value')) + userStr=(get(source,'string')) + % scLstIndx=str2num(char(strrep(userStr(userIndx), 'Scan', ''))) + user_entry=userStr(userIndx) + exDlst=user_entry + end + + exFs + + btnNumber=10; + yPos=0.85-(btnNumber-1)*(btnHt+spacing); + btnPos=[xPos yPos-spacing btnWid btnHt]; -f=figure('Menubar','none','Position',[1000 100 640 750],'Name','Select Exp Folders' ); -hListbox=uicontrol(... - 'Style', 'listbox',... - 'String',sort(exFs),... - 'value',[],... - 'max',1000,... - 'min',1,... - 'Units','normalized',... - 'Position', [.70 .40 .6 .60],... - 'callback',{@load_listbox}); %'uiresume(gcbf)'); 'Position', [5 100 60 20]) - -function load_listbox(source,eventdata) - - %global CSrchRng - %global CSrearchRange -userIndx=(get(source,'value')) -userStr=(get(source,'string')) -%scLstIndx= str2num(char(strrep(userStr(userIndx), 'Scan', ''))) + hedit8=uicontrol(... + 'Style', 'pushbutton',... + 'String',{'Continue'},... + 'Units','normalized',... + 'Position', btnPos,... + 'callback','uiresume(gcbf)'); -user_entry=userStr(userIndx) - exDlst= user_entry - - - end - exFs - - btnNumber=10; - yPos=0.85-(btnNumber-1)*(btnHt+spacing); - btnPos=[xPos yPos-spacing btnWid btnHt]; + uiwait(gcf); -hedit8=uicontrol(... - 'Style', 'pushbutton',... - 'String',{'Continue'},... - 'Units','normalized',... - 'Position', btnPos,... - 'callback','uiresume(gcbf)'); - -uiwait(gcf); - -close(f) + close(f) end -%******************* -%EZmultiDay -%***************************************************************** + +% EZmultiDay diff --git a/workflow/apps/matlab/ezview/EZmultiDayGui.m b/workflow/apps/matlab/ezview/EZmultiDayGui.m index 2a3271c1..598b763d 100755 --- a/workflow/apps/matlab/ezview/EZmultiDayGui.m +++ b/workflow/apps/matlab/ezview/EZmultiDayGui.m @@ -1,4 +1,4 @@ -% EZmultiDayGui.m called by EZexpSel.m ln957 && ln963 +% EZmultiDayGui.m called by EZexpSel.m % EZmultiday is called after this EZmultiDayGui.m also by EZexpSel.m function EZmultiDayGui @@ -42,7 +42,7 @@ function EZmultiDayGui j=1; for i=1:size(CC,1) j=CC(i,2); - ExpOrderByExp(i)= expDayFs(j); %exFs(j) + ExpOrderByExp(i)=expDayFs(j); %exFs(j) end else ExpOrderByExp=sort(exFs); diff --git a/workflow/apps/matlab/ezview/EZmultiExLoad.m b/workflow/apps/matlab/ezview/EZmultiExLoad.m index e085de39..587018d6 100755 --- a/workflow/apps/matlab/ezview/EZmultiExLoad.m +++ b/workflow/apps/matlab/ezview/EZmultiExLoad.m @@ -1,5 +1,6 @@ -%EZmultiExLoad -%Calls to EZVimDisplay (ln 185) EZmultiGeneRFsLst (ln213) EZdiagRFsSheet(ln218) +% EZmultiExLoad +% Calls to EZVimDisplay (ln 185) EZmultiGeneRFsLst (ln213) EZdiagRFsSheet(ln218) +% TODO this file could use some elseif's global Exp global zonePB @@ -9,330 +10,308 @@ global exDlst global exFolder % Load .mat file -expN=zonePB; % added to accomodate AppDesigner limitations 230821 +expN=zonePB; % added to accomodate AppDesigner limitations 230821 Exp(expN).UgeneCnt=0; -Exp(expN).DexpLength= size(matFile,2); DexpLength= size(matFile,2); -for n=1:Exp(expN).DexpLength %size(matFile,2) - -if expN==1 +Exp(expN).DexpLength=size(matFile,2); DexpLength=size(matFile,2); +for n=1:Exp(expN).DexpLength % size(matFile,2) + if expN==1 orfLstSel=get(handles.GeneOrfTog,'value'); + end + if expN==2 + orfLstSel=get(handles.GeneOrfTog,'value'); + end + if expN==3 + orfLstSel=get(handles.GeneOrfTog,'value'); + end + Exp(expN).Dexp(n).srtGnLst={('CheckMP/MPDMfile')}; + Exp(expN).Dexp(n).srtOrfLst={('CheckMP/MPDMfile')}; + set(handles.listboxGnOrf,'value',1) %Fix accomodation for bug in App Designer .. .wlapp converter 230918 + set(handles.listboxGnOrf,'string',cellstr([{'Failed To Load'}; {' '}])); + % try + ExpOutmat=matFile(n) %fullfile(scansDir,openExpfile); + load(char(ExpOutmat)); + %cd(scansDir) + %cd ..; + %resDir=pwd; + Exp(expN).Dexp(n).resDir=cell2mat(resDir(n)); + cd(Exp(expN).Dexp(n).resDir) + cd ..; + ExpPath=pwd; + Exp(expN).Dexp(n).ExpFoldr=ExpPath; + cd(w) + % Experiment LOADs + load(fullfile(Exp(expN).Dexp(n).ExpFoldr,'MasterPlateFiles','MPDMmat.mat')) + load(fullfile(Exp(expN).Dexp(n).resDir,'Fotos','Coordinates')) + load(fullfile(Exp(expN).Dexp(n).resDir,'Fotos','anlZones')) + load(fullfile(Exp(expN).Dexp(n).resDir,'Fotos','BGatTpts')) + load(fullfile(Exp(expN).Dexp(n).resDir,'PTmats','NImParameters')) + % Backup for cond. sothat failure to load is recovered back prev. ExpJob data + % test in temp + Exp(expN).Dexp(n).temp.DM=DM; + Exp(expN).Dexp(n).temp.MP=MP; + Exp(expN).Dexp(n).temp.scan=scan; + Exp(expN).Dexp(n).temp.FexpScanSpots=FexpScanSpots; + Exp(expN).Dexp(n).temp.FexpScanBMtp=FexpScanBMtp; + Exp(expN).Dexp(n).temp.anlZoneRefs=anlZoneRefs; + Exp(expN).Dexp(n).temp.ImParMat=ImParMat; + Exp(expN).Dexp(n).DM=Exp(expN).Dexp(n).temp.DM; + Exp(expN).Dexp(n).MP=Exp(expN).Dexp(n).temp.MP; + Exp(expN).Dexp(n).scan=Exp(expN).Dexp(n).temp.scan; + Exp(expN).Dexp(n).FexpScanSpots=Exp(expN).Dexp(n).temp.FexpScanSpots; + Exp(expN).Dexp(n).FexpScanBMtp=Exp(expN).Dexp(n).temp.FexpScanBMtp; + Exp(expN).Dexp(n).anlZoneRefs=Exp(expN).Dexp(n).temp.anlZoneRefs; + Exp(expN).Dexp(n).ImParMat=Exp(expN).Dexp(n).temp.ImParMat; + Exp(expN).Dexp((Exp(expN).DexpLength+1):end)=[]; + Exp(expN).Dexp(n).temp=[]; end -if expN==2 - orfLstSel=get(handles.GeneOrfTog,'value'); +% Load First new ExpJOb +if expN==1 + tPtsSize=size(Exp(expN).Dexp(1).FexpScanBMtp{1,1},(3)); %size(FexpScanBMtp{1,1},3); + set(handles.MPsldr1,'max',MPnum); %length(MP) + set(handles.DMsldr1,'max',length(DM.drug)); + set(handles.Tptsldr1,'max',tPtsSize); + + % MPnum=length(Exp(expN).Dexp(1).MP); + set(handles.MPsldr1,'min',1,'max',MPnum) + DMnum=length(Exp(expN).Dexp(1).DM.drug); + set(handles.DMsldr1,'min',1,'max',DMnum) + tPtsSize=size(Exp(expN).Dexp(1).FexpScanBMtp{1,1},(3)); + set(handles.Tptsldr1,'min',1,'max',tPtsSize) + + set(handles.MPsldr1,'value',1) + set(handles.DMsldr1,'value',1) + set(handles.Tptsldr1,'value',1) + set(handles.MPed1,'string','1') + set(handles.DMed1,'string','1') + set(handles.Tpted1,'string','1') + set(handles.MPsldr1,'SliderStep',[1/MPnum 1/MPnum]); % [1/length(MP) 1/length(MP)]) + set(handles.DMsldr1,'SliderStep',[1/length(DM.drug) 1/length(DM.drug)]); + set(handles.Tptsldr1,'SliderStep',[1/tPtsSize 1/tPtsSize]); + + set(handles.DN1,'value',1) + set(handles.DN1,'string',1) +end +if expN==2, + tPtsSize=size(Exp(expN).Dexp(1).FexpScanBMtp{1,1},(3)); % size(FexpScanBMtp{1,1},3); + set(handles.MPsldr2,'max',MPnum); + set(handles.DMsldr2,'max',length(DM.drug)); + set(handles.Tptsldr2,'max',tPtsSize); + % MPnum=length(Exp(expN).Dexp(1).MP); + set(handles.MPsldr2,'min',1,'max',MPnum) % length(MP)) + DMnum=length(Exp(expN).Dexp(n).DM.drug); + set(handles.DMsldr2,'min',1,'max',DMnum) + tPtsSize=size(Exp(expN).Dexp(1).FexpScanBMtp{1,1},(3)); + set(handles.Tptsldr2,'min',1,'max',tPtsSize) + + set(handles.MPsldr2,'value',1) + set(handles.DMsldr2,'value',1) + set(handles.Tptsldr2,'value',1) + set(handles.MPed2,'string','1') + set(handles.DMed2,'string','1') + set(handles.Tpted2,'string','1') + set(handles.MPsldr2,'SliderStep',[1/MPnum 1/MPnum]); %1/length(MP) 1/length(MP)]) + set(handles.DMsldr2,'SliderStep',[1/length(DM.drug) 1/length(DM.drug)]); + set(handles.Tptsldr2,'SliderStep',[1/tPtsSize 1/tPtsSize]); + + set(handles.DN2,'value',1) + set(handles.DN2,'string',1) end if expN==3 - orfLstSel=get(handles.GeneOrfTog,'value'); -end -Exp(expN).Dexp(n).srtGnLst={('CheckMP/MPDMfile')}; -Exp(expN).Dexp(n).srtOrfLst={('CheckMP/MPDMfile')}; -set(handles.listboxGnOrf,'value',1) %Fix accomodation for bug in App Designer .. .wlapp converter 230918 -set(handles.listboxGnOrf,'string',cellstr([{'Failed To Load'}; {' '}])); -%try - ExpOutmat= matFile(n) %fullfile(scansDir,openExpfile); - load(char(ExpOutmat)); - %cd(scansDir) - %cd ..; - %resDir=pwd; - Exp(expN).Dexp(n).resDir= cell2mat(resDir(n)); - cd(Exp(expN).Dexp(n).resDir) - cd ..; - ExpPath=pwd; - Exp(expN).Dexp(n).ExpFoldr= ExpPath; - cd(w) -%Experiment LOADs -load(fullfile(Exp(expN).Dexp(n).ExpFoldr,'MasterPlateFiles','MPDMmat.mat')) -load(fullfile(Exp(expN).Dexp(n).resDir,'Fotos','Coordinates')) -load(fullfile(Exp(expN).Dexp(n).resDir,'Fotos','anlZones')) -load(fullfile(Exp(expN).Dexp(n).resDir,'Fotos','BGatTpts')) -load(fullfile(Exp(expN).Dexp(n).resDir,'PTmats','NImParameters')) -%Backup for cond. sothat failure to load is recovered back prev. ExpJob data -%test in temp -Exp(expN).Dexp(n).temp.DM=DM; -Exp(expN).Dexp(n).temp.MP=MP; -Exp(expN).Dexp(n).temp.scan=scan; -Exp(expN).Dexp(n).temp.FexpScanSpots=FexpScanSpots; -Exp(expN).Dexp(n).temp.FexpScanBMtp=FexpScanBMtp; -Exp(expN).Dexp(n).temp.anlZoneRefs=anlZoneRefs; -Exp(expN).Dexp(n).temp.ImParMat=ImParMat; -Exp(expN).Dexp(n).DM=Exp(expN).Dexp(n).temp.DM; -Exp(expN).Dexp(n).MP= Exp(expN).Dexp(n).temp.MP; -Exp(expN).Dexp(n).scan= Exp(expN).Dexp(n).temp.scan; -Exp(expN).Dexp(n).FexpScanSpots= Exp(expN).Dexp(n).temp.FexpScanSpots; -Exp(expN).Dexp(n).FexpScanBMtp= Exp(expN).Dexp(n).temp.FexpScanBMtp; -Exp(expN).Dexp(n).anlZoneRefs=Exp(expN).Dexp(n).temp.anlZoneRefs; -Exp(expN).Dexp(n).ImParMat=Exp(expN).Dexp(n).temp.ImParMat; - -Exp(expN).Dexp((Exp(expN).DexpLength+1):end)= []; -Exp(expN).Dexp(n).temp= []; - -end %for n=1:size(matFile,2) -%Load First new ExpJOb***************** -if expN==1, -tPtsSize= size(Exp(expN).Dexp(1).FexpScanBMtp{1,1},(3)); %size(FexpScanBMtp{1,1},3); -set(handles.MPsldr1,'max',MPnum); %length(MP) -set(handles.DMsldr1,'max',length(DM.drug)); -set(handles.Tptsldr1,'max',tPtsSize); - -%MPnum=length(Exp(expN).Dexp(1).MP); -set(handles.MPsldr1,'min',1,'max',MPnum) -DMnum= length(Exp(expN).Dexp(1).DM.drug); -set(handles.DMsldr1,'min',1,'max',DMnum) -tPtsSize= size(Exp(expN).Dexp(1).FexpScanBMtp{1,1},(3)); -set(handles.Tptsldr1,'min',1,'max',tPtsSize) - -set(handles.MPsldr1,'value',1) -set(handles.DMsldr1,'value',1) -set(handles.Tptsldr1,'value',1) -set(handles.MPed1,'string','1') -set(handles.DMed1,'string','1') -set(handles.Tpted1,'string','1') -set(handles.MPsldr1,'SliderStep',[1/MPnum 1/MPnum]); %[1/length(MP) 1/length(MP)]) -set(handles.DMsldr1,'SliderStep',[1/length(DM.drug) 1/length(DM.drug)]); -set(handles.Tptsldr1,'SliderStep',[1/tPtsSize 1/tPtsSize]); - -set(handles.DN1,'value',1) -set(handles.DN1,'string',1) -end -if expN==2, -tPtsSize= size(Exp(expN).Dexp(1).FexpScanBMtp{1,1},(3)); %size(FexpScanBMtp{1,1},3); -set(handles.MPsldr2,'max',MPnum); -set(handles.DMsldr2,'max',length(DM.drug)); -set(handles.Tptsldr2,'max',tPtsSize); -%MPnum=length(Exp(expN).Dexp(1).MP); -set(handles.MPsldr2,'min',1,'max',MPnum) %length(MP)) -DMnum= length(Exp(expN).Dexp(n).DM.drug); -set(handles.DMsldr2,'min',1,'max',DMnum) -tPtsSize= size(Exp(expN).Dexp(1).FexpScanBMtp{1,1},(3)); -set(handles.Tptsldr2,'min',1,'max',tPtsSize) - -set(handles.MPsldr2,'value',1) -set(handles.DMsldr2,'value',1) -set(handles.Tptsldr2,'value',1) -set(handles.MPed2,'string','1') -set(handles.DMed2,'string','1') -set(handles.Tpted2,'string','1') -set(handles.MPsldr2,'SliderStep',[1/MPnum 1/MPnum]); %1/length(MP) 1/length(MP)]) -set(handles.DMsldr2,'SliderStep',[1/length(DM.drug) 1/length(DM.drug)]); -set(handles.Tptsldr2,'SliderStep',[1/tPtsSize 1/tPtsSize]); - -set(handles.DN2,'value',1) -set(handles.DN2,'string',1) + % Exp(3).traceN=0; + tPtsSize=size(Exp(expN).Dexp(1).FexpScanBMtp{1,1},(3)); % size(FexpScanBMtp{1,1},3); + set(handles.MPsldr3,'max',MPnum); + set(handles.DMsldr3,'max',length(DM.drug)); + set(handles.Tptsldr3,'max',tPtsSize); + % MPnum=length(Exp(expN).Dexp(1).MP); + set(handles.MPsldr3,'min',1,'max',MPnum) + DMnum=length(Exp(expN).Dexp(1).DM.drug); + set(handles.DMsldr3,'min',1,'max',DMnum) + tPtsSize=size(Exp(expN).Dexp(1).FexpScanBMtp{1,1},(3)); + set(handles.Tptsldr3,'min',1,'max',tPtsSize) + set(handles.MPsldr3,'value',1) + set(handles.DMsldr3,'value',1) + set(handles.Tptsldr3,'value',1) + set(handles.MPed3,'string','1') + set(handles.DMed3,'string','1') + set(handles.Tpted3,'string','1') + set(handles.MPsldr3,'SliderStep',[1/MPnum 1/MPnum]); % 1/length(MP) 1/length(MP)]) + set(handles.DMsldr3,'SliderStep',[1/length(DM.drug) 1/length(DM.drug)]); + set(handles.Tptsldr3,'SliderStep',[1/tPtsSize 1/tPtsSize]); + set(handles.DN3,'value',1) + set(handles.DN3,'string',1) end -if expN==3, -%Exp(3).traceN=0; -tPtsSize= size(Exp(expN).Dexp(1).FexpScanBMtp{1,1},(3)); %size(FexpScanBMtp{1,1},3); -set(handles.MPsldr3,'max',MPnum); -set(handles.DMsldr3,'max',length(DM.drug)); -set(handles.Tptsldr3,'max',tPtsSize); -%MPnum=length(Exp(expN).Dexp(1).MP); -set(handles.MPsldr3,'min',1,'max',MPnum) -DMnum= length(Exp(expN).Dexp(1).DM.drug); -set(handles.DMsldr3,'min',1,'max',DMnum) -tPtsSize=size(Exp(expN).Dexp(1).FexpScanBMtp{1,1},(3)); -set(handles.Tptsldr3,'min',1,'max',tPtsSize) - -set(handles.MPsldr3,'value',1) -set(handles.DMsldr3,'value',1) -set(handles.Tptsldr3,'value',1) -set(handles.MPed3,'string','1') -set(handles.DMed3,'string','1') -set(handles.Tpted3,'string','1') -set(handles.MPsldr3,'SliderStep',[1/MPnum 1/MPnum]); %1/length(MP) 1/length(MP)]) -set(handles.DMsldr3,'SliderStep',[1/length(DM.drug) 1/length(DM.drug)]); -set(handles.Tptsldr3,'SliderStep',[1/tPtsSize 1/tPtsSize]); - -set(handles.DN3,'value',1) -set(handles.DN3,'string',1) -end - -if expN==1,set(handles.GeneOrfLoc1,'string',{''}); - set(handles.graphStrLoc1,'string',{''}); - cla(handles.Paxes1) +if expN==1 + set(handles.GeneOrfLoc1,'string',{''}); + set(handles.graphStrLoc1,'string',{''}); + cla(handles.Paxes1) end -if expN==2,set(handles.GeneOrfLoc2,'string',{''}); - set(handles.graphStrLoc2,'string',{''}); - cla(handles.Paxes2) +if expN==2 + set(handles.GeneOrfLoc2,'string',{''}); + set(handles.graphStrLoc2,'string',{''}); + cla(handles.Paxes2) end -if expN==3,set(handles.GeneOrfLoc3,'string',{''}); - set(handles.graphStrLoc3,'string',{''}) - cla(handles.Paxes3) +if expN==3 + set(handles.GeneOrfLoc3,'string',{''}); + set(handles.graphStrLoc3,'string',{''}) + cla(handles.Paxes3) end + Exp(expN).Dexp(1).srtGnLst={('CheckMP/MPDMfile')}; Exp(expN).Dexp(1).srtOrfLst={('CheckMP/MPDMfile')}; set(handles.listboxGnOrf,'value',1) %Fix accomodation for bug in App Designer .. .wlapp converter 230918 set(handles.listboxGnOrf,'string',Exp(expN).Dexp(1).srtGnLst) set(handles.listboxGnOrf,'string',Exp(expN).Dexp(1).srtOrfLst) -%-------------------------------------------------------------------------- +EZVimDisplay -%********************* -EZVimDisplay %* -%********************* - - usrRefFg=0; - prompt={'Enter GeneName to use as Reference:',... - 'Enter Specifics Term if used to futher specify Reference '} - dlg_title='User Reference Input'; - num_lines=1; - def={'RF1','None'}; - answer=inputdlg(prompt,dlg_title,num_lines,def); - if iscell(answer(1)) - rfGene= cell2mat(answer(1)); - else - rfGene= answer(1); - end - - if ~strcmpi(rfGene,'RF1')|| ~strcmpi(rfGene,'RF2'), usrRefFg=1; end - rfSpec= answer(2); %if strcmpi(answer(2),'None'), rfSpec= ''; end - rfGnSp= strcat(rfGene,rfSpec); - if strcmpi(rfSpec,'None'), rfGnSp= {strcat(rfGene,'-')}; end +usrRefFg=0; +prompt={'Enter GeneName to use as Reference:',... + 'Enter Specifics Term if used to futher specify Reference '} +dlg_title='User Reference Input'; +num_lines=1; +def={'RF1','None'}; +answer=inputdlg(prompt,dlg_title,num_lines,def); +if iscell(answer(1)) + rfGene=cell2mat(answer(1)); +else + rfGene=answer(1); +end -%Added 17-1023 For User Addition of Gene Composites to ListBox -Expaa{expN,1}= []; Expbb{expN,1}= []; +if ~strcmpi(rfGene,'RF1')|| ~strcmpi(rfGene,'RF2'), usrRefFg=1; end +rfSpec=answer(2); % if strcmpi(answer(2),'None'), rfSpec=''; end +rfGnSp=strcat(rfGene,rfSpec); +if strcmpi(rfSpec,'None'), rfGnSp={strcat(rfGene,'-')}; end + +% Added 17-1023 For User Addition of Gene Composites to ListBox +Expaa{expN,1}=[] +Expbb{expN,1}=[]; for n=1:size(matFile,2) - -%********************************************************************* -try -EZmultiGeneRFsLst %** -catch + try + EZmultiGeneRFsLst + catch msg='EZmultiGeneRFLst failed possibly Too Few non-zero Median spots' -end -%********************************************************* -EZdiagRFsSheet %** -%******************** -Exp(expN).Dexp(n).RFrnames=rnames; -Exp(expN).Dexp(n).RFdata= data; -%********************************************************* -RFconfig=0; -if sum(ismember(fieldnames(Exp(expN).Dexp(n)),'RFmean'))&&... - ~isempty(Exp(expN).Dexp(n).RFmean)&&... - sum(ismember(fieldnames(Exp(expN).Dexp(n)),'RFmeanG'))&&... - isempty(Exp(expN).Dexp(n).RFmeanG) - RFconfig=1; -end -if sum(ismember(fieldnames(Exp(expN).Dexp(n)),'RFmean'))==0 ||... - isempty(Exp(expN).Dexp(n).RFmean)&&... - sum(ismember(fieldnames(Exp(expN).Dexp(n)),'RFmeanG'))&&... - ~isempty(Exp(expN).Dexp(n).RFmeanG) - RFconfig=2; -end -if sum(ismember(fieldnames(Exp(expN).Dexp(n)),'RFmean'))&&... - ~isempty(Exp(expN).Dexp(n).RFmean)&&... - sum(ismember(fieldnames(Exp(expN).Dexp(n)),'RFmeanG'))&&... - ~isempty(Exp(expN).Dexp(n).RFmeanG) - RFconfig=3; -end -Exp(expN).RFconfig= RFconfig; -Exp(expN).Dexp(n).RFconfig= RFconfig; -%********************************************** -try msgBadGeneName, catch, end -try - Exp(expN).Dexp(n).resetHtmpTg =5; %Exp(expN).resetHtmpTg =5; - if RFconfig==0, - RFconfigMsg= 'No RF1 references in this Experiment Job' - Exp(expN).Dexp(n).resetHtmpTg =3; %Exp(expN).resetHtmpTg =3; - end -catch -end -%*************************** - -%********************************************************************* -end -%############################################################################### - - - - -%********Auto select Zone and load listboxGnOrf data********** -DexpN=1; -zeroCLn= zeros(1,DMnum); -Exp(expN).expLoadCnt= Exp(expN).expLoadCnt+1; expLdCnt= Exp(expN).expLoadCnt; -if expN==1 %Adapted to accomodate AppDesigner 230821 - set(handles.zonePB1,'value',1) - set(handles.zonePB2,'value',0) - set(handles.zonePB3,'value',0) - set(handles.zonePB1,'BackgroundColor',[1.0 0.6 0.6]) - set(handles.zonePB2,'BackgroundColor',[1.0 1.0 1.0]) - set(handles.zonePB3,'BackgroundColor',[1.0 1.0 1.0]) - - orfLstSel=get(handles.GeneOrfTog,'value') - if orfLstSel==1 - set(handles.listboxGnOrf,'string',Exp(1).Dexp(1).srtOrfLst) - else - set(handles.listboxGnOrf,'string',Exp(1).Dexp(1).srtGnLst) end - DNLaxes1= handles.DNLaxes1; + EZdiagRFsSheet + Exp(expN).Dexp(n).RFrnames=rnames; + Exp(expN).Dexp(n).RFdata=data; + RFconfig=0; + if sum(ismember(fieldnames(Exp(expN).Dexp(n)),'RFmean')) ... + && ~isempty(Exp(expN).Dexp(n).RFmean) ... + && sum(ismember(fieldnames(Exp(expN).Dexp(n)),'RFmeanG')) ... + && isempty(Exp(expN).Dexp(n).RFmeanG) + RFconfig=1; + end + if sum(ismember(fieldnames(Exp(expN).Dexp(n)),'RFmean'))==0 ... + || isempty(Exp(expN).Dexp(n).RFmean) ... + && sum(ismember(fieldnames(Exp(expN).Dexp(n)),'RFmeanG')) ... + && ~isempty(Exp(expN).Dexp(n).RFmeanG) + RFconfig=2; + end + if sum(ismember(fieldnames(Exp(expN).Dexp(n)),'RFmean')) ... + && ~isempty(Exp(expN).Dexp(n).RFmean) ... + && sum(ismember(fieldnames(Exp(expN).Dexp(n)),'RFmeanG')) ... + && ~isempty(Exp(expN).Dexp(n).RFmeanG) + RFconfig=3; + end + Exp(expN).RFconfig=RFconfig; + Exp(expN).Dexp(n).RFconfig=RFconfig; + try msgBadGeneName + catch, end + try + Exp(expN).Dexp(n).resetHtmpTg =5; %Exp(expN).resetHtmpTg =5; + if RFconfig==0 + RFconfigMsg='No RF1 references in this Experiment Job' + Exp(expN).Dexp(n).resetHtmpTg =3; %Exp(expN).resetHtmpTg =3; + end + catch + end +end + +% Auto Select Zone And Load Listboxgnorf Data +DexpN=1; +zeroCLn=zeros(1,DMnum); +Exp(expN).expLoadCnt=Exp(expN).expLoadCnt+1; expLdCnt=Exp(expN).expLoadCnt; +if expN==1 % Adapted to accomodate AppDesigner 230821 + set(handles.zonePB1,'value',1) + set(handles.zonePB2,'value',0) + set(handles.zonePB3,'value',0) + set(handles.zonePB1,'BackgroundColor',[1.0 0.6 0.6]) + set(handles.zonePB2,'BackgroundColor',[1.0 1.0 1.0]) + set(handles.zonePB3,'BackgroundColor',[1.0 1.0 1.0]) + orfLstSel=get(handles.GeneOrfTog,'value') + if orfLstSel==1 + set(handles.listboxGnOrf,'string',Exp(1).Dexp(1).srtOrfLst) + else + set(handles.listboxGnOrf,'string',Exp(1).Dexp(1).srtGnLst) + end + DNLaxes1=handles.DNLaxes1; Exp(1).hzeroCLn(expLdCnt)=plot(DNLaxes1,zeroCLn,1:DMnum,'y'); end -if expN==2 %Adapted to accomodate AppDesigner 230821 - set(handles.zonePB1,'value',0) - set(handles.zonePB3,'value',0) - set(handles.zonePB2,'value',1) - set(handles.zonePB2,'BackgroundColor',[1.0 0.6 0.6]) - set(handles.zonePB1,'BackgroundColor',[1.0 1.0 1.0]) - set(handles.zonePB3,'BackgroundColor',[1.0 1.0 1.0]) - orfLstSel= get(handles.GeneOrfTog,'value'); +if expN==2 % Adapted to accomodate AppDesigner 230821 + set(handles.zonePB1,'value',0) + set(handles.zonePB3,'value',0) + set(handles.zonePB2,'value',1) + set(handles.zonePB2,'BackgroundColor',[1.0 0.6 0.6]) + set(handles.zonePB1,'BackgroundColor',[1.0 1.0 1.0]) + set(handles.zonePB3,'BackgroundColor',[1.0 1.0 1.0]) + orfLstSel=get(handles.GeneOrfTog,'value'); if orfLstSel==1 - set(handles.listboxGnOrf,'string',Exp(2).Dexp(1).srtOrfLst) + set(handles.listboxGnOrf,'string',Exp(2).Dexp(1).srtOrfLst) else - set(handles.listboxGnOrf,'string',Exp(2).Dexp(1).srtGnLst) + set(handles.listboxGnOrf,'string',Exp(2).Dexp(1).srtGnLst) end - DNLaxes2= handles.DNLaxes2; + DNLaxes2=handles.DNLaxes2; Exp(2).hzeroCLn(expLdCnt)=plot(DNLaxes2,zeroCLn,1:DMnum,'y'); - end -if expN==3 %Adapted to accomodate AppDesigner 230821 - set(handles.zonePB1,'value',0) - set(handles.zonePB2,'value',0) - set(handles.zonePB3,'value',1) - set(handles.zonePB3,'BackgroundColor',[1.0 0.6 0.6]); - set(handles.zonePB1,'BackgroundColor',[1.0 1.0 1.0]); - set(handles.zonePB2,'BackgroundColor',[1.0 1.0 1.0]); - orfLstSel=get(handles.GeneOrfTog,'value'); +if expN==3 % Adapted to accomodate AppDesigner 230821 + set(handles.zonePB1,'value',0) + set(handles.zonePB2,'value',0) + set(handles.zonePB3,'value',1) + set(handles.zonePB3,'BackgroundColor',[1.0 0.6 0.6]); + set(handles.zonePB1,'BackgroundColor',[1.0 1.0 1.0]); + set(handles.zonePB2,'BackgroundColor',[1.0 1.0 1.0]); + orfLstSel=get(handles.GeneOrfTog,'value'); if orfLstSel==1 - set(handles.listboxGnOrf,'string',Exp(3).Dexp(1).srtOrfLst) + set(handles.listboxGnOrf,'string',Exp(3).Dexp(1).srtOrfLst) else - set(handles.listboxGnOrf,'string',Exp(3).Dexp(1).srtGnLst) + set(handles.listboxGnOrf,'string',Exp(3).Dexp(1).srtGnLst) end - DNLaxes3= handles.DNLaxes3; + DNLaxes3=handles.DNLaxes3; Exp(3).hzeroCLn(expLdCnt)=plot(DNLaxes3,zeroCLn,1:DMnum,'y'); end if Exp(4).interacPBsel==0 %if interaction "raw" don't show a center line for i=1:Exp(expN).expLoadCnt, - try set(Exp(expN).hzeroCLn(i),'visible','off'); - catch - catchissue='Ln521' - i - end + try set(Exp(expN).hzeroCLn(i),'visible','off'); + catch + catchissue='Ln521' + i + end end end -%*************************** % HtMapTog 'string', 'Current user L/N' selection' -Exp(expN).Dexp(DexpN).spotIndx= []; +Exp(expN).Dexp(DexpN).spotIndx=[]; if expN==1, - Exp(1).htmapPBsel=0; - set(handles.HtMapTog1,'string','L') - EZhtMap + Exp(1).htmapPBsel=0; + set(handles.HtMapTog1,'string','L') + EZhtMap end if expN==2, - Exp(2).htmapPBsel=0; - set(handles.HtMapTog2,'string','L') - EZhtMap + Exp(2).htmapPBsel=0; + set(handles.HtMapTog2,'string','L') + EZhtMap end if expN==3, - Exp(3).htmapPBsel=0; - set(handles.HtMapTog3,'string','L') - EZhtMap + Exp(3).htmapPBsel=0; + set(handles.HtMapTog3,'string','L') + EZhtMap end htMapTogPBfg=0; -%******************************************************************* - diff --git a/workflow/apps/matlab/ezview/EZmultiGeneRFsLst.m b/workflow/apps/matlab/ezview/EZmultiGeneRFsLst.m index 2604dd04..c8123017 100755 --- a/workflow/apps/matlab/ezview/EZmultiGeneRFsLst.m +++ b/workflow/apps/matlab/ezview/EZmultiGeneRFsLst.m @@ -1,709 +1,628 @@ -%EZmultiGeneRFsLst Called by EZmultiExLoad -%Called by EZmultiExLoad about line173 Which is called by EZexpSel -%User Select Reference Gene and Specifics Added +% EZmultiGeneRFsLst Called by EZmultiExLoad +% Called by EZmultiExLoad about line173 Which is called by EZexpSel +% User Select Reference Gene and Specifics Added -%****Compile GeneList and OrfList,**************************************** -%****Sort and add the medians of Ref Plates if RF1,RF2 exist************** +% Compile GeneList and OrfList +% Sort and add the medians of Ref Plates if RF1,RF2 exist clear aa bb c uu vv drf drfPindx drfr drfc clear RF1scanN RF2scanN for mx=1:length(Exp(expN).Dexp(n).MP) - try - char((Exp(expN).Dexp(n).MP(mx).genename{1}(384))) - MPnum=mx; - catch - break - end + try + char((Exp(expN).Dexp(n).MP(mx).genename{1}(384))) + MPnum=mx; + catch + break + end end -DMnum= length(Exp(expN).Dexp(n).DM.drug); -tPtsSize= size(Exp(expN).Dexp(n).FexpScanBMtp{1,1},(3)); %size(FexpScanBMtp{1,1},3); -%********************************* - +DMnum=length(Exp(expN).Dexp(n).DM.drug); +tPtsSize=size(Exp(expN).Dexp(n).FexpScanBMtp{1,1},(3)); %size(FexpScanBMtp{1,1},3); lstindx=0; lstindxOrf=0; -spN=0; Exp(expN).Dexp(n).RFrnames %<--??? +spN=0; +Exp(expN).Dexp(n).RFrnames %<--??? rfcnt=0; dRF1indx=0; RF1mp=[]; RF2mp=[]; -rfSp= cell2mat(rfSpec); %user entry of Specifics for Ref selection +rfSp=cell2mat(rfSpec); % user entry of Specifics for Ref selection -%******************************************************* for mp=1:MPnum - %RF1fullPlate=0; + % 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 - %****Check for full(384spot) Reference Plates (RF1 or/and RF2)************** - RF1fullPlate=0; - try RF1fullPlate=sum(ismember((Exp(expN).Dexp(n).MP(mp).genename{1}),rfGene))==384; catch, mp, msg=strcat(num2str(mp),' genename ERROR'), end - RF2fullPlate=0; - try RF2fullPlate=sum(ismember((Exp(expN).Dexp(n).MP(mp).genename{1}),'RF2'))==384; catch, mp, msg=strcat(num2str(mp),' genename ERROR'), end - %************************************************************************* - %Capture non-reference spot location and ORF data - if isempty(regexpi(char((Exp(expN).Dexp(n).MP(mp).orf{1}(ind384))),'blank'))... %'\' - && ~isnumeric(Exp(expN).Dexp(n).MP(mp).orf{1}(ind384))... - && ~strcmpi((Exp(expN).Dexp(n).MP(mp).orf{1}(ind384)),' ')... - && ~strcmpi((Exp(expN).Dexp(n).MP(mp).orf{1}(ind384)),' ')... - && ~strcmpi((Exp(expN).Dexp(n).MP(mp).orf{1}(ind384)),'')... - && ~isempty((Exp(expN).Dexp(n).MP(mp).orf{1}(ind384)))... - && ((~strcmpi((Exp(expN).Dexp(n).MP(mp).genename{1}(ind384)),rfGene)|| ~strcmpi((Exp(expN).Dexp(n).MP(mp).specifics{1}(ind384)),rfSp))&&... - (~strcmpi((Exp(expN).Dexp(n).MP(mp).genename{1}(ind384)),rfGene)|| ~strcmpi(rfSp,'None')))... - && ((~strcmpi((Exp(expN).Dexp(n).MP(mp).orf{1}(ind384)),rfGene)|| ~strcmpi((Exp(expN).Dexp(n).MP(mp).specifics{1}(ind384)),rfSp))&&... - (~strcmpi((Exp(expN).Dexp(n).MP(mp).orf{1}(ind384)),rfGene)|| ~strcmpi(rfSp,'None')))... - && (~strcmpi((Exp(expN).Dexp(n).MP(mp).orf{1}(ind384)),'RF2')||~strcmpi((Exp(expN).Dexp(n).MP(mp).genename{1}(ind384)),'RF2'))... - && iscellstr((Exp(expN).Dexp(n).MP(mp).orf{1}(ind384))) - - lstindxOrf=lstindxOrf+1; - Exp(expN).Dexp(n).MP(mp).orf{1}(ind384) =strrep((Exp(expN).Dexp(n).MP(mp).orf{1}(ind384)),':',' '); - bb(lstindxOrf,1)= (Exp(expN).Dexp(n).MP(mp).orf{1}(ind384)); - bb(lstindxOrf,2)={strcat(':',num2str(mp),':',num2str(r),':',num2str(c))}; - bb(lstindxOrf,3)={mp}; - bb(lstindxOrf,4)={r}; - bb(lstindxOrf,5)={c}; - - mutorfs(lstindxOrf)=spN; %16_0318 added for Interaction EZinteract - %Exp(expN).Dexp(n).mutSpotIndx(lstindxOrf)=spN; %16_0318 added for Interaction EZinteract - end - %Capture non-reference spot location and GENENAME data - if isempty(regexpi(char((Exp(expN).Dexp(n).MP(mp).genename{1}(ind384))),'blank'))... %'\' - && ~isnumeric(Exp(expN).Dexp(n).MP(mp).genename{1}(ind384))... - && ~strcmpi((Exp(expN).Dexp(n).MP(mp).genename{1}(ind384)),' ')... - && ~strcmpi((Exp(expN).Dexp(n).MP(mp).genename{1}(ind384)),' ')... - && ~strcmpi((Exp(expN).Dexp(n).MP(mp).genename{1}(ind384)),'')... - && ~isempty((Exp(expN).Dexp(n).MP(mp).genename{1}(ind384)))... - && (~strcmpi((Exp(expN).Dexp(n).MP(mp).genename{1}(ind384)),rfGene) || ~strcmpi((Exp(expN).Dexp(n).MP(mp).specifics{1}(ind384)),rfSp))&&... % AddSpecifics rfSp && ~RF1fullPlate)... - (~strcmpi((Exp(expN).Dexp(n).MP(mp).genename{1}(ind384)),rfGene) || ~strcmpi(rfSp,'None'))... - && (~strcmpi((Exp(expN).Dexp(n).MP(mp).genename{1}(ind384)),'RF2'))... %&& ~RF2fullPlate)... - && iscellstr((Exp(expN).Dexp(n).MP(mp).genename{1}(ind384))) - - lstindx=lstindx+1; - Exp(expN).Dexp(n).MP(mp).genename{1}(ind384) =strrep((Exp(expN).Dexp(n).MP(mp).genename{1}(ind384)),':',' '); - aa(lstindx,1)= (Exp(expN).Dexp(n).MP(mp).genename{1}(ind384)); - aa(lstindx,2)= {strcat(':',num2str(mp),':',num2str(r),':',num2str(c))}; - aa(lstindx,3)={mp}; - aa(lstindx,4)={r}; - aa(lstindx,5)={c}; - - mutgenes(lstindx)=spN; - - - elseif (RF1fullPlate==1 ||... %sum(ismember((Exp(expN).Dexp(n).MP(mp).genename{1}),rfGene))==384 || ... - (((length(unique(Exp(expN).Dexp(n).MP(mp).genename{1}(1:384)))) ==1 && mp==1 ) && ... %(isequal((Exp(expN).Dexp(n).MP(mp).genename{1}(1:384)), (Exp(expN).Dexp(n).MP(mp).genename{1}(384:-1:1)))&& mp==1 )) && ... - ~exist('RF1scanN','var'))) - RF1mp=mp - RF1scanN=(mp*DMnum)-(DMnum-1) %mp; - rfcnt=rfcnt+1; - RFs(spN:spN+383)= spN:spN+383; - - elseif (RF2fullPlate==1|| ... %sum(ismember((Exp(expN).Dexp(n).MP(mp).genename{1}(ind384)),'RF2'))==384 ||... - (((length(unique(Exp(expN).Dexp(n).MP(mp).genename{1}(1:384)))) ==1 && mp== MPnum ) && ... - ~exist('RF2scanN','var'))) - RF2mp=mp - rfcnt=rfcnt+1; - RFs(spN:spN+383)= spN:spN+383; - RF2scanN= (mp*DMnum)-(DMnum-1) %mp; - - %DISPersed REFerence capture and find Medians - elseif ( ((strcmpi((Exp(expN).Dexp(n).MP(mp).genename{1}(ind384)),rfGene) && ... - strcmpi((Exp(expN).Dexp(n).MP(mp).specifics{1}(ind384)),rfSp)))... - || ((strcmpi((Exp(expN).Dexp(n).MP(mp).genename{1}(ind384)),rfGene) && ... - strcmpi(rfSp,'None'))) )... - && (RF1fullPlate~=1), - - 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)) + 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 + %****Check for full(384spot) Reference Plates (RF1 or/and RF2)************** + RF1fullPlate=0; + try RF1fullPlate=sum(ismember((Exp(expN).Dexp(n).MP(mp).genename{1}),rfGene))==384; catch, mp, msg=strcat(num2str(mp),' genename ERROR'), end + RF2fullPlate=0; + try RF2fullPlate=sum(ismember((Exp(expN).Dexp(n).MP(mp).genename{1}),'RF2'))==384; catch, mp, msg=strcat(num2str(mp),' genename ERROR'), end + % Capture non-reference spot location and ORF data + if isempty(regexpi(char((Exp(expN).Dexp(n).MP(mp).orf{1}(ind384))),'blank'))... %'\' + && ~isnumeric(Exp(expN).Dexp(n).MP(mp).orf{1}(ind384))... + && ~strcmpi((Exp(expN).Dexp(n).MP(mp).orf{1}(ind384)),' ')... + && ~strcmpi((Exp(expN).Dexp(n).MP(mp).orf{1}(ind384)),' ')... + && ~strcmpi((Exp(expN).Dexp(n).MP(mp).orf{1}(ind384)),'')... + && ~isempty((Exp(expN).Dexp(n).MP(mp).orf{1}(ind384)))... + && ((~strcmpi((Exp(expN).Dexp(n).MP(mp).genename{1}(ind384)),rfGene)|| ~strcmpi((Exp(expN).Dexp(n).MP(mp).specifics{1}(ind384)),rfSp))... + && (~strcmpi((Exp(expN).Dexp(n).MP(mp).genename{1}(ind384)),rfGene)|| ~strcmpi(rfSp,'None')))... + && ((~strcmpi((Exp(expN).Dexp(n).MP(mp).orf{1}(ind384)),rfGene)|| ~strcmpi((Exp(expN).Dexp(n).MP(mp).specifics{1}(ind384)),rfSp))... + && (~strcmpi((Exp(expN).Dexp(n).MP(mp).orf{1}(ind384)),rfGene)|| ~strcmpi(rfSp,'None')))... + && (~strcmpi((Exp(expN).Dexp(n).MP(mp).orf{1}(ind384)),'RF2')||~strcmpi((Exp(expN).Dexp(n).MP(mp).genename{1}(ind384)),'RF2'))... + && iscellstr((Exp(expN).Dexp(n).MP(mp).orf{1}(ind384))) + lstindxOrf=lstindxOrf+1; + Exp(expN).Dexp(n).MP(mp).orf{1}(ind384)=strrep((Exp(expN).Dexp(n).MP(mp).orf{1}(ind384)),':',' '); + bb(lstindxOrf,1)=(Exp(expN).Dexp(n).MP(mp).orf{1}(ind384)); + bb(lstindxOrf,2)={strcat(':',num2str(mp),':',num2str(r),':',num2str(c))}; + bb(lstindxOrf,3)={mp}; + bb(lstindxOrf,4)={r}; + bb(lstindxOrf,5)={c}; + mutorfs(lstindxOrf)=spN; %16_0318 added for Interaction EZinteract + % Exp(expN).Dexp(n).mutSpotIndx(lstindxOrf)=spN; %16_0318 added for Interaction EZinteract + end + + % Capture non-reference spot location and GENENAME data + if isempty(regexpi(char((Exp(expN).Dexp(n).MP(mp).genename{1}(ind384))),'blank'))... %'\' + && ~isnumeric(Exp(expN).Dexp(n).MP(mp).genename{1}(ind384))... + && ~strcmpi((Exp(expN).Dexp(n).MP(mp).genename{1}(ind384)),' ')... + && ~strcmpi((Exp(expN).Dexp(n).MP(mp).genename{1}(ind384)),' ')... + && ~strcmpi((Exp(expN).Dexp(n).MP(mp).genename{1}(ind384)),'')... + && ~isempty((Exp(expN).Dexp(n).MP(mp).genename{1}(ind384)))... + && (~strcmpi((Exp(expN).Dexp(n).MP(mp).genename{1}(ind384)),rfGene)... + || ~strcmpi((Exp(expN).Dexp(n).MP(mp).specifics{1}(ind384)),rfSp))... % AddSpecifics rfSp && ~RF1fullPlate)... + && (~strcmpi((Exp(expN).Dexp(n).MP(mp).genename{1}(ind384)),rfGene) || ~strcmpi(rfSp,'None'))... + && (~strcmpi((Exp(expN).Dexp(n).MP(mp).genename{1}(ind384)),'RF2'))... % && ~RF2fullPlate)... + && iscellstr((Exp(expN).Dexp(n).MP(mp).genename{1}(ind384))) + lstindx=lstindx+1; + Exp(expN).Dexp(n).MP(mp).genename{1}(ind384)=strrep((Exp(expN).Dexp(n).MP(mp).genename{1}(ind384)),':',' '); + aa(lstindx,1)=(Exp(expN).Dexp(n).MP(mp).genename{1}(ind384)); + aa(lstindx,2)={strcat(':',num2str(mp),':',num2str(r),':',num2str(c))}; + aa(lstindx,3)={mp}; + aa(lstindx,4)={r}; + aa(lstindx,5)={c}; + mutgenes(lstindx)=spN; + elseif (RF1fullPlate==1 ... % sum(ismember((Exp(expN).Dexp(n).MP(mp).genename{1}),rfGene))==384 || ... + || (((length(unique(Exp(expN).Dexp(n).MP(mp).genename{1}(1:384))))==1 && mp==1 ) ... % (isequal((Exp(expN).Dexp(n).MP(mp).genename{1}(1:384)), (Exp(expN).Dexp(n).MP(mp).genename{1}(384:-1:1)))&& mp==1 )) && ... + && ~exist('RF1scanN','var'))) + RF1mp=mp + RF1scanN=(mp*DMnum)-(DMnum-1) + rfcnt=rfcnt+1; + RFs(spN:spN+383)=spN:spN+383; + elseif (RF2fullPlate==1|| ... % sum(ismember((Exp(expN).Dexp(n).MP(mp).genename{1}(ind384)),'RF2'))==384 ||... + (((length(unique(Exp(expN).Dexp(n).MP(mp).genename{1}(1:384))))==1 && mp==MPnum ) && ... + ~exist('RF2scanN','var'))) + RF2mp=mp + rfcnt=rfcnt+1; + RFs(spN:spN+383)=spN:spN+383; + RF2scanN=(mp*DMnum)-(DMnum-1) + + % DISPersed REFerence capture and find Medians + elseif ( ((strcmpi((Exp(expN).Dexp(n).MP(mp).genename{1}(ind384)),rfGene) ... + && strcmpi((Exp(expN).Dexp(n).MP(mp).specifics{1}(ind384)),rfSp))) ... + || ((strcmpi((Exp(expN).Dexp(n).MP(mp).genename{1}(ind384)),rfGene) ... + && strcmpi(rfSp,'None'))) ) &&(RF1fullPlate~=1) + 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 + 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) -%***************************************************** - %Cover case if mutorfs RFs are labeled RF1 or RF2 - try - Exp(expN).Dexp(n).mutSpotIndx.wRFs= union(RFs, mutorfs); - catch - msg= 'No RFs Found in Exp! wRFs' - Exp(expN).Dexp(n).mutSpotIndx.wRFs= mutorfs; - end - try - Exp(expN).Dexp(n).mutSpotIndx.woRFs= setdiff(mutorfs,RFs); - catch - msg= 'No RFs Found in Exp! woRFs' - Exp(expN).Dexp(n).mutSpotIndx.woRFs= mutorfs; - end + end + mp +end + +% Cover case if mutorfs RFs are labeled RF1 or RF2 +try + Exp(expN).Dexp(n).mutSpotIndx.wRFs=union(RFs, mutorfs); +catch + msg='No RFs Found in Exp! wRFs' + Exp(expN).Dexp(n).mutSpotIndx.wRFs=mutorfs; +end +try + Exp(expN).Dexp(n).mutSpotIndx.woRFs=setdiff(mutorfs,RFs); +catch + msg='No RFs Found in Exp! woRFs' + Exp(expN).Dexp(n).mutSpotIndx.woRFs=mutorfs; +end -%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& - - - - Exp(expN).Dexp(n).RFmd1indx=[]; Exp(expN).Dexp(n).RFmd1pltN=[]; -Exp(expN).Dexp(n).RFmd1LB= {[]}; -Exp(expN).Dexp(n).RFmd1indx= []; +Exp(expN).Dexp(n).RFmd1LB={[]}; +Exp(expN).Dexp(n).RFmd1indx=[]; Exp(expN).Dexp(n).RFmd1pltN={}; -Exp(expN).Dexp(n).RFmd1val= []; -Exp(expN).Dexp(n).mean1= []; -Exp(expN).Dexp(n).std1= []; -Exp(expN).Dexp(n).min1= []; -Exp(expN).Dexp(n).max1= []; +Exp(expN).Dexp(n).RFmd1val=[]; +Exp(expN).Dexp(n).mean1=[]; +Exp(expN).Dexp(n).std1=[]; +Exp(expN).Dexp(n).min1=[]; +Exp(expN).Dexp(n).max1=[]; -Exp(expN).Dexp(n).RFcmpK= []; %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFcmpr= []; %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFcmpL= []; %For Ref Composite 17_1009 +Exp(expN).Dexp(n).RFcmpK=[]; %For Ref Composite 17_1009 +Exp(expN).Dexp(n).RFcmpr=[]; %For Ref Composite 17_1009 +Exp(expN).Dexp(n).RFcmpL=[]; %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFmd2LB= {[]}; -Exp(expN).Dexp(n).RFmd2indx= []; -Exp(expN).Dexp(n).RFmd2pltN= []; -Exp(expN).Dexp(n).RFmd2val= []; -Exp(expN).Dexp(n).mean2= []; -Exp(expN).Dexp(n).std2= []; -Exp(expN).Dexp(n).min2= []; -Exp(expN).Dexp(n).max2= []; +Exp(expN).Dexp(n).RFmd2LB={[]}; +Exp(expN).Dexp(n).RFmd2indx=[]; +Exp(expN).Dexp(n).RFmd2pltN=[]; +Exp(expN).Dexp(n).RFmd2val=[]; +Exp(expN).Dexp(n).mean2=[]; +Exp(expN).Dexp(n).std2=[]; +Exp(expN).Dexp(n).min2=[]; +Exp(expN).Dexp(n).max2=[]; -Exp(expN).Dexp(n).RFmean= []; -Exp(expN).Dexp(n).RFstd= []; -Exp(expN).Dexp(n).RFmin= []; -Exp(expN).Dexp(n).RFmax= []; +Exp(expN).Dexp(n).RFmean=[]; +Exp(expN).Dexp(n).RFstd=[]; +Exp(expN).Dexp(n).RFmin=[]; +Exp(expN).Dexp(n).RFmax=[]; -Exp(expN).Dexp(n).RFmdPLB= {[]}; -Exp(expN).Dexp(n).RFmdPindx= []; -Exp(expN).Dexp(n).RFmdPpltN= []; -Exp(expN).Dexp(n).RFmdPscanN= []; -Exp(expN).Dexp(n).RFmedianP= []; -Exp(expN).Dexp(n).stdP= []; -Exp(expN).Dexp(n).meanP= []; -Exp(expN).Dexp(n).minP= []; -Exp(expN).Dexp(n).maxP= []; +Exp(expN).Dexp(n).RFmdPLB={[]}; +Exp(expN).Dexp(n).RFmdPindx=[]; +Exp(expN).Dexp(n).RFmdPpltN=[]; +Exp(expN).Dexp(n).RFmdPscanN=[]; +Exp(expN).Dexp(n).RFmedianP=[]; +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= []; -Exp(expN).Dexp(n).RFmedianG= []; -Exp(expN).Dexp(n).RFminG= []; -Exp(expN).Dexp(n).RFmaxG= []; -Exp(expN).Dexp(n).RFstdG= []; -Exp(expN).Dexp(n).RFmeanG= []; -Exp(expN).Dexp(n).RFcmpGK= []; %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFcmpGr= []; %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFcmpGL= []; %For Ref Composite 17_1009 +Exp(expN).Dexp(n).RFmdGLB={[]}; +Exp(expN).Dexp(n).RFmdGindx=[]; +Exp(expN).Dexp(n).RFmdGpltN=[]; +Exp(expN).Dexp(n).RFmdGscanN=[]; +Exp(expN).Dexp(n).RFmedianG=[]; +Exp(expN).Dexp(n).RFminG=[]; +Exp(expN).Dexp(n).RFmaxG=[]; +Exp(expN).Dexp(n).RFstdG=[]; +Exp(expN).Dexp(n).RFmeanG=[]; +Exp(expN).Dexp(n).RFcmpGK=[]; %For Ref Composite 17_1009 +Exp(expN).Dexp(n).RFcmpGr=[]; %For Ref Composite 17_1009 +Exp(expN).Dexp(n).RFcmpGL=[]; %For Ref Composite 17_1009 if exist('RF1scanN','var') for d=0:(DMnum-1) - medianIndx=[]; - nonZeroIndx=[]; - medValList=[]; - rf1scN=RF1scanN+d; + medianIndx=[]; + nonZeroIndx=[]; + medValList=[]; + rf1scN=RF1scanN+d; -try %if RF1scanN doesn't exist this addition to list will be skipped - nonZeroIndx= find(Exp(expN).Dexp(n).scan(rf1scN).plate(1).CFout(1:384,5)); - - if isempty(nonZeroIndx), nonZeroCnt=0, medianIndx= nonZeroIndx; - else nonZeroCnt=length(nonZeroIndx); - end - % - if ~isempty(nonZeroIndx) && mod(nonZeroCnt,2)==0, medianIndx= nonZeroIndx(1:nonZeroCnt-1); end - if ~isempty(nonZeroIndx) && mod(nonZeroCnt,2)~=0, medianIndx= nonZeroIndx; end -clear medValLst -clear kValLst -clear rValLst -if ~isempty(nonZeroIndx) && length(medianIndx) > (.15*384) %To calc. a median, more than 15% of spots must be nonZero - medValLst= Exp(expN).Dexp(n).scan(rf1scN).plate(1).CFout(medianIndx,5); - medValList1{d+1}= medValLst; - min1= min(medValLst); - max1= max(medValLst); - std1= std(medValLst); - mean1= mean(medValLst); - - kValLst= Exp(expN).Dexp(n).scan(rf1scN).plate(1).CFout(medianIndx,3); %For Ref Composite 17_1009 - rValLst= Exp(expN).Dexp(n).scan(rf1scN).plate(1).CFout(medianIndx,4); %For Ref Composite 17_1009 - -mval1=median(medValLst); %mval1=median(Exp(expN).Dexp(n).scan(RF1mps).plate(1).CFout(1:384,5)); %CFout(1:383,5)); -RFmd1pos=find(mval1==(Exp(expN).Dexp(n).scan(rf1scN).plate(1).CFout(1:384,5))); -RFmd1loc(1)= ceil(RFmd1pos/24); %calc r value -RFmd1loc(2)= RFmd1pos - ((RFmd1loc(1)-1)*24); %calc c value -lstindx=lstindx+1; -lstindxOrf= lstindxOrf+1; -aa(lstindx,1)= {strcat('RF1md(',num2str(d+1),')')}; %{'RF1md'}; -aa(lstindx,2)= {strcat(':',num2str(RF1mp),':',num2str(RFmd1loc(1)),':',num2str(RFmd1loc(2)))}; %,'std_',num2str(std1))}; -bb(lstindxOrf,1)= {strcat('RF1md(',num2str(d+1),')')}; %remove string2cell brackets {...} %{'RF1md'}; -bb(lstindxOrf,2)={strcat(':',num2str(RF1mp),':',num2str(RFmd1loc(1)),':',num2str(RFmd1loc(2)))}; %,'std_',num2str(std1))}; -%Composite Reference Amalgum Plot ********************** -lstindx=lstindx+1; -lstindxOrf= lstindxOrf+1; -aa(lstindx,1)= {strcat('RF1cmp(',num2str(d+1),')')}; -aa(lstindx,2)={''}; -bb(lstindxOrf,1)= {strcat('RF1cmp(',num2str(d+1),')')}; -bb(lstindxOrf,2)={''}; -%******************************************************** + try %if RF1scanN doesn't exist this addition to list will be skipped + nonZeroIndx=find(Exp(expN).Dexp(n).scan(rf1scN).plate(1).CFout(1:384,5)); + + if isempty(nonZeroIndx) + nonZeroCnt=0 + medianIndx=nonZeroIndx; + else + nonZeroCnt=length(nonZeroIndx); + end + if ~isempty(nonZeroIndx) && mod(nonZeroCnt,2)==0, medianIndx=nonZeroIndx(1:nonZeroCnt-1); end + if ~isempty(nonZeroIndx) && mod(nonZeroCnt,2)~=0, medianIndx=nonZeroIndx; end + clear medValLst + clear kValLst + clear rValLst + if ~isempty(nonZeroIndx) && length(medianIndx) > (.15*384) % To calc. a median, more than 15% of spots must be nonZero + medValLst=Exp(expN).Dexp(n).scan(rf1scN).plate(1).CFout(medianIndx,5); + medValList1{d+1}=medValLst; + min1=min(medValLst); + max1=max(medValLst); + std1=std(medValLst); + mean1=mean(medValLst); + kValLst=Exp(expN).Dexp(n).scan(rf1scN).plate(1).CFout(medianIndx,3); % For Ref Composite 17_1009 + rValLst=Exp(expN).Dexp(n).scan(rf1scN).plate(1).CFout(medianIndx,4); % For Ref Composite 17_1009 + mval1=median(medValLst); %mval1=median(Exp(expN).Dexp(n).scan(RF1mps).plate(1).CFout(1:384,5)); %CFout(1:383,5)); + RFmd1pos=find(mval1==(Exp(expN).Dexp(n).scan(rf1scN).plate(1).CFout(1:384,5))); + RFmd1loc(1)=ceil(RFmd1pos/24); %calc r value + RFmd1loc(2)=RFmd1pos - ((RFmd1loc(1)-1)*24); %calc c value + lstindx=lstindx+1; + lstindxOrf=lstindxOrf+1; + aa(lstindx,1)={strcat('RF1md(',num2str(d+1),')')}; %{'RF1md'}; + aa(lstindx,2)={strcat(':',num2str(RF1mp),':',num2str(RFmd1loc(1)),':',num2str(RFmd1loc(2)))}; %,'std_',num2str(std1))}; + bb(lstindxOrf,1)={strcat('RF1md(',num2str(d+1),')')}; %remove string2cell brackets {...} %{'RF1md'}; + bb(lstindxOrf,2)={strcat(':',num2str(RF1mp),':',num2str(RFmd1loc(1)),':',num2str(RFmd1loc(2)))}; %,'std_',num2str(std1))}; + % Composite Reference Amalgum Plot + lstindx=lstindx+1; + lstindxOrf=lstindxOrf+1; + aa(lstindx,1)={strcat('RF1cmp(',num2str(d+1),')')}; + aa(lstindx,2)={''}; + bb(lstindxOrf,1)={strcat('RF1cmp(',num2str(d+1),')')}; + bb(lstindxOrf,2)={''}; -Exp(expN).Dexp(n).RFmd1LB(d+1)= strcat(aa(lstindx,1),aa(lstindx,2)); -Exp(expN).Dexp(n).RFmd1indx(d+1)= RFmd1pos; -Exp(expN).Dexp(n).RFmd1pltN= RF1mp; -Exp(expN).Dexp(n).RFmd1val(d+1)= mval1; -Exp(expN).Dexp(n).mean1(d+1)= mean1; -Exp(expN).Dexp(n).std1(d+1)= std1; -Exp(expN).Dexp(n).min1(d+1)= min1; -Exp(expN).Dexp(n).max1(d+1)= max1; -Exp(expN).Dexp(n).RFcmpL(1).dm(d+1).Lvals= medValLst; %17_1201 TrendOL -Exp(expN).Dexp(n).RFcmpL(1).dm(d+1).med= median(medValLst); %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFcmpL(1).dm(d+1).mean= mean(medValLst); %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFcmpL(1).dm(d+1).std= std(medValLst); %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFcmpL(1).dm(d+1).min= min(medValLst); %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFcmpL(1).dm(d+1).max= max(medValLst); %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFcmpK(1).dm(d+1).Kvals= kValLst; -Exp(expN).Dexp(n).RFcmpK(1).dm(d+1).med= median(kValLst); %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFcmpK(1).dm(d+1).mean= mean(kValLst); %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFcmpK(1).dm(d+1).std= std(kValLst); %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFcmpK(1).dm(d+1).min= min(kValLst); %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFcmpK(1).dm(d+1).max= max(kValLst); %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFcmpr(1).dm(d+1).rvals= rValLst; -Exp(expN).Dexp(n).RFcmpr(1).dm(d+1).med= median(rValLst); %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFcmpr(1).dm(d+1).mean= mean(rValLst); %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFcmpr(1).dm(d+1).std= std(rValLst); %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFcmpr(1).dm(d+1).min= min(rValLst); %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFcmpr(1).dm(d+1).max= max(rValLst); %For Ref Composite 17_1009 - -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 - medianCalcFailed= 'To Few nonZero spots for valid median RF1 selection' - firstZero= find(((Exp(expN).Dexp(n).scan(rf1scN).plate(1).CFout(1:384,5))==0),1,'first') - Exp(expN).Dexp(n).RFmd1indx(d+1)=firstZero; - Exp(expN).Dexp(n).RFmd1pltN= RF1mp; - - try medValList1{d+1}= Exp(expN).Dexp(n).scan(rf1scN).plate(1).CFout(medianIndx,5); nonZeroCnt; catch, catcherror='Ln356', end - -end %~isempty(nonZeroIndx) && length(medianIndx) > (.15*384) -catch %try ~ln375 - medianCalcTryFailed1= 'Failed! Failed! Ln362 But process continued with placeholder P1ind384 spot value!' - - try - firstZero= find(((Exp(expN).Dexp(n).scan(rf1scN).plate(1).CFout(1:384,5))==0),1,'first') - Exp(expN).Dexp(n).RFmd1indx(d+1)=firstZero; + Exp(expN).Dexp(n).RFmd1LB(d+1)=strcat(aa(lstindx,1),aa(lstindx,2)); + Exp(expN).Dexp(n).RFmd1indx(d+1)=RFmd1pos; + Exp(expN).Dexp(n).RFmd1pltN=RF1mp; + Exp(expN).Dexp(n).RFmd1val(d+1)=mval1; + Exp(expN).Dexp(n).mean1(d+1)=mean1; + Exp(expN).Dexp(n).std1(d+1)=std1; + Exp(expN).Dexp(n).min1(d+1)=min1; + Exp(expN).Dexp(n).max1(d+1)=max1; + Exp(expN).Dexp(n).RFcmpL(1).dm(d+1).Lvals=medValLst; %17_1201 TrendOL + Exp(expN).Dexp(n).RFcmpL(1).dm(d+1).med=median(medValLst); %For Ref Composite 17_1009 + Exp(expN).Dexp(n).RFcmpL(1).dm(d+1).mean=mean(medValLst); %For Ref Composite 17_1009 + Exp(expN).Dexp(n).RFcmpL(1).dm(d+1).std=std(medValLst); %For Ref Composite 17_1009 + Exp(expN).Dexp(n).RFcmpL(1).dm(d+1).min=min(medValLst); %For Ref Composite 17_1009 + Exp(expN).Dexp(n).RFcmpL(1).dm(d+1).max=max(medValLst); %For Ref Composite 17_1009 + Exp(expN).Dexp(n).RFcmpK(1).dm(d+1).Kvals=kValLst; + Exp(expN).Dexp(n).RFcmpK(1).dm(d+1).med=median(kValLst); %For Ref Composite 17_1009 + Exp(expN).Dexp(n).RFcmpK(1).dm(d+1).mean=mean(kValLst); %For Ref Composite 17_1009 + Exp(expN).Dexp(n).RFcmpK(1).dm(d+1).std=std(kValLst); %For Ref Composite 17_1009 + Exp(expN).Dexp(n).RFcmpK(1).dm(d+1).min=min(kValLst); %For Ref Composite 17_1009 + Exp(expN).Dexp(n).RFcmpK(1).dm(d+1).max=max(kValLst); %For Ref Composite 17_1009 + Exp(expN).Dexp(n).RFcmpr(1).dm(d+1).rvals=rValLst; + Exp(expN).Dexp(n).RFcmpr(1).dm(d+1).med=median(rValLst); %For Ref Composite 17_1009 + Exp(expN).Dexp(n).RFcmpr(1).dm(d+1).mean=mean(rValLst); %For Ref Composite 17_1009 + Exp(expN).Dexp(n).RFcmpr(1).dm(d+1).std=std(rValLst); %For Ref Composite 17_1009 + Exp(expN).Dexp(n).RFcmpr(1).dm(d+1).min=min(rValLst); %For Ref Composite 17_1009 + Exp(expN).Dexp(n).RFcmpr(1).dm(d+1).max=max(rValLst); %For Ref Composite 17_1009 + 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 + medianCalcFailed='To Few nonZero spots for valid median RF1 selection' + firstZero=find(((Exp(expN).Dexp(n).scan(rf1scN).plate(1).CFout(1:384,5))==0),1,'first') + Exp(expN).Dexp(n).RFmd1indx(d+1)=firstZero; + Exp(expN).Dexp(n).RFmd1pltN=RF1mp; + try medValList1{d+1}=Exp(expN).Dexp(n).scan(rf1scN).plate(1).CFout(medianIndx,5); nonZeroCnt; catch, catcherror='Ln356', end + end catch - catchissue='Ln209' - Exp(expN).Dexp(n).RFmd1indx(d+1)=384; %if crapout,Then use spot384 as default to keep going + medianCalcTryFailed1='Failed! Failed! Ln362 But process continued with placeholder P1ind384 spot value!' + try + firstZero=find(((Exp(expN).Dexp(n).scan(rf1scN).plate(1).CFout(1:384,5))==0),1,'first') + Exp(expN).Dexp(n).RFmd1indx(d+1)=firstZero; + catch + Exp(expN).Dexp(n).RFmd1indx(d+1)=384; %if crapout,Then use spot384 as default to keep going + end + try + Exp(expN).Dexp(n).RFmd1pltN=RF1mp; + catch + Exp(expN).Dexp(n).RFmd1pltN=1; + end end - try - Exp(expN).Dexp(n).RFmd1pltN= RF1mp; - catch - catchissue='Ln209' - Exp(expN).Dexp(n).RFmd1pltN= 1; - end - - error='EZexpSel lineAfter 209' - - -end %try ~ln209 + end +end - end %for d=0:DMnum -end % if exist('RF1scanN','var') -%********************************************************************************** -%Calc RF2 median if a full plate of RF2s exist************************** +% Calc RF2 median if a full plate of RF2s exist Exp(expN).Dexp(n).RFmd2indx=[]; Exp(expN).Dexp(n).RFmd2pltN=[]; if exist('RF2scanN','var') for d=0:(DMnum-1) - medianIndx2=[]; - nonZeroIndx2=[]; - medValList2=[]; - rf2scN=RF2scanN+d; + medianIndx2=[]; + nonZeroIndx2=[]; + medValList2=[]; + rf2scN=RF2scanN+d; -try %if RF2scanN doesn't exist this addition to list will be skipped - nonZeroIndx2= find(Exp(expN).Dexp(n).scan(rf2scN).plate(1).CFout(1:384,5)); - if isempty(nonZeroIndx2), nonZeroCnt2=0; medianIndx2= nonZeroIndx2; - else nonZeroCnt2=length(nonZeroIndx2); - end - % - if ~isempty(nonZeroIndx2) && mod(nonZeroCnt2,2)==0, medianIndx2= nonZeroIndx2(1:nonZeroCnt2-1); end - if ~isempty(nonZeroIndx2) && mod(nonZeroCnt2,2)~=0, medianIndx2= nonZeroIndx2; end -clear medValLst2 -clear kValLst2 -clear rValLst2 -if ~isempty(nonZeroIndx2) && length(medianIndx2) > (.15*384) %To calc. a median, more than 15% of spots must be nonZero -medValLst2= Exp(expN).Dexp(n).scan(rf2scN).plate(1).CFout(medianIndx2,5); -medValList2{d+1}= medValLst2; - min2= min(medValLst2); - max2= max(medValLst2); - std2= std(medValLst2); - mean2= mean(medValLst2); - - kValLst2= Exp(expN).Dexp(n).scan(rf2scN).plate(1).CFout(medianIndx2,3); %For Ref Composite 17_1009 - rValLst2= Exp(expN).Dexp(n).scan(rf2scN).plate(1).CFout(medianIndx2,4); %For Ref Composite 17_1009 -mval2=median(medValLst2); %mval2=median(Exp(expN).Dexp(n).scan(RF2mps).plate(1).CFout(1:383,5)); -RFmd2pos=find(mval2==(Exp(expN).Dexp(n).scan(rf2scN).plate(1).CFout(1:384,5))); -RFmd2loc(1)= ceil(RFmd2pos/24); %calc r value -RFmd2loc(2)= RFmd2pos - ((RFmd2loc(1)-1)*24); %calc c value -lstindx=lstindx+1; -lstindxOrf= lstindxOrf+1; -aa(lstindx,1)= {strcat('RF2md(',num2str(d+1),')')}; %{'RF2md'}; -aa(lstindx,2)= {strcat(':',num2str(RF2mp),':',num2str(RFmd2loc(1)),':',num2str(RFmd2loc(2)))}; %,'std_',num2str(std2))}; -bb(lstindxOrf,1)= {strcat('RF2md(',num2str(d+1),')')}; %remove string2cell brackets {...} %{'RF2md'}; -bb(lstindxOrf,2)={strcat(':',num2str(RF2mp),':',num2str(RFmd2loc(1)),':',num2str(RFmd2loc(2)))}; %,'std_',num2str(std2))}; - %Composite Reference Amalgum Plot (CRAP) -lstindx=lstindx+1; -lstindxOrf= lstindxOrf+1; -aa(lstindx,1)= {strcat('RF2cmp(',num2str(d+1),')')}; -aa(lstindx,2)={''}; -bb(lstindxOrf,1)= {strcat('RF2cmp(',num2str(d+1),')')}; -bb(lstindxOrf,2)={''}; + try %if RF2scanN doesn't exist this addition to list will be skipped + nonZeroIndx2=find(Exp(expN).Dexp(n).scan(rf2scN).plate(1).CFout(1:384,5)); + if isempty(nonZeroIndx2) + nonZeroCnt2=0; + medianIndx2=nonZeroIndx2; + else + nonZeroCnt2=length(nonZeroIndx2); + end + if ~isempty(nonZeroIndx2) && mod(nonZeroCnt2,2)==0, medianIndx2=nonZeroIndx2(1:nonZeroCnt2-1); end + if ~isempty(nonZeroIndx2) && mod(nonZeroCnt2,2)~=0, medianIndx2=nonZeroIndx2; end + clear medValLst2 + clear kValLst2 + clear rValLst2 + if ~isempty(nonZeroIndx2) && length(medianIndx2) > (.15*384) % to calc. a median, more than 15% of spots must be nonZero + medValLst2=Exp(expN).Dexp(n).scan(rf2scN).plate(1).CFout(medianIndx2,5); + medValList2{d+1}=medValLst2; + min2=min(medValLst2); + max2=max(medValLst2); + std2=std(medValLst2); + mean2=mean(medValLst2); + kValLst2=Exp(expN).Dexp(n).scan(rf2scN).plate(1).CFout(medianIndx2,3); %For Ref Composite 17_1009 + rValLst2=Exp(expN).Dexp(n).scan(rf2scN).plate(1).CFout(medianIndx2,4); %For Ref Composite 17_1009 + mval2=median(medValLst2); %mval2=median(Exp(expN).Dexp(n).scan(RF2mps).plate(1).CFout(1:383,5)); + RFmd2pos=find(mval2==(Exp(expN).Dexp(n).scan(rf2scN).plate(1).CFout(1:384,5))); + RFmd2loc(1)=ceil(RFmd2pos/24); %calc r value + RFmd2loc(2)=RFmd2pos - ((RFmd2loc(1)-1)*24); %calc c value + lstindx=lstindx+1; + lstindxOrf=lstindxOrf+1; + aa(lstindx,1)={strcat('RF2md(',num2str(d+1),')')}; %{'RF2md'}; + aa(lstindx,2)={strcat(':',num2str(RF2mp),':',num2str(RFmd2loc(1)),':',num2str(RFmd2loc(2)))}; %,'std_',num2str(std2))}; + bb(lstindxOrf,1)={strcat('RF2md(',num2str(d+1),')')}; %remove string2cell brackets {...} %{'RF2md'}; + bb(lstindxOrf,2)={strcat(':',num2str(RF2mp),':',num2str(RFmd2loc(1)),':',num2str(RFmd2loc(2)))}; %,'std_',num2str(std2))}; + % Composite Reference Amalgum Plot (CRAP) + lstindx=lstindx+1; + lstindxOrf=lstindxOrf+1; + aa(lstindx,1)={strcat('RF2cmp(',num2str(d+1),')')}; + aa(lstindx,2)={''}; + bb(lstindxOrf,1)={strcat('RF2cmp(',num2str(d+1),')')}; + bb(lstindxOrf,2)={''}; -Exp(expN).Dexp(n).RFmd2LB(d+1)= strcat(aa(lstindx,1),aa(lstindx,2)); -Exp(expN).Dexp(n).RFmd2indx(d+1)=RFmd2pos; -Exp(expN).Dexp(n).RFmd2pltN= RF2mp; -Exp(expN).Dexp(n).RFmd2val(d+1)= mval2; -Exp(expN).Dexp(n).mean2(d+1)= mean2; -Exp(expN).Dexp(n).std2(d+1)= std2; -Exp(expN).Dexp(n).min2(d+1)= min2; -Exp(expN).Dexp(n).max2(d+1)= max2; -Exp(expN).Dexp(n).RFcmpL(2).dm(d+1).Lvals= medValLst2; %17_1201 TrendOL -Exp(expN).Dexp(n).RFcmpL(2).dm(d+1).med= median(medValLst2); %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFcmpL(2).dm(d+1).mean= mean(medValLst2); %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFcmpL(2).dm(d+1).std= std(medValLst2); %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFcmpL(2).dm(d+1).min= min(medValLst2); %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFcmpL(2).dm(d+1).max= max(medValLst2); %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFcmpK(2).dm(d+1).Kvals= kValLst2; -Exp(expN).Dexp(n).RFcmpK(2).dm(d+1).med= median(kValLst2); %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFcmpK(2).dm(d+1).mean= mean(kValLst2); %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFcmpK(2).dm(d+1).std= std(kValLst2); %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFcmpK(2).dm(d+1).min= min(kValLst2); %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFcmpK(2).dm(d+1).max= max(kValLst2); %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFcmpr(2).dm(d+1).rvals= rValLst2; -Exp(expN).Dexp(n).RFcmpr(2).dm(d+1).med= median(rValLst2); %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFcmpr(2).dm(d+1).mean= mean(rValLst2); %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFcmpr(2).dm(d+1).std= std(rValLst2); %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFcmpr(2).dm(d+1).min= min(rValLst2); %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFcmpr(2).dm(d+1).max= max(rValLst); %For Ref Composite 17_1009 - -else - % Pick the first spot with zeros - % Use that position to satisfy and keep process OK - medianCalcFailed2= 'To Few nonZero spots for valid median RF2 selection' - firstZero2= find(((Exp(expN).Dexp(n).scan(rf2scN).plate(1).CFout(1:384,5))==0),1,'first') - Exp(expN).Dexp(n).RFmd2indx(d+1)=firstZero2; - Exp(expN).Dexp(n).RFmd2pltN= RF2mp; - - try medValList2{d+1}= Exp(expN).Dexp(n).scan(rf2scN).plate(1).CFout(medianIndx2,5); nonZeroCnt2; catch, catchissue='Ln431', end - -end - -catch - medianCalcTryFailed2= 'Failed! Failed! Ln436 No RF1median But process continued with placeholder P1ind384 spot value!' - - try - firstZero2= find(((Exp(expN).Dexp(n).scan(rf2scN).plate(1).CFout(1:384,5))==0),1,'first'); - Exp(expN).Dexp(n).RFmd2indx(d+1)=firstZero2; - catch + Exp(expN).Dexp(n).RFmd2LB(d+1)=strcat(aa(lstindx,1),aa(lstindx,2)); + Exp(expN).Dexp(n).RFmd2indx(d+1)=RFmd2pos; + Exp(expN).Dexp(n).RFmd2pltN=RF2mp; + Exp(expN).Dexp(n).RFmd2val(d+1)=mval2; + Exp(expN).Dexp(n).mean2(d+1)=mean2; + Exp(expN).Dexp(n).std2(d+1)=std2; + Exp(expN).Dexp(n).min2(d+1)=min2; + Exp(expN).Dexp(n).max2(d+1)=max2; + Exp(expN).Dexp(n).RFcmpL(2).dm(d+1).Lvals=medValLst2; %17_1201 TrendOL + Exp(expN).Dexp(n).RFcmpL(2).dm(d+1).med=median(medValLst2); %For Ref Composite 17_1009 + Exp(expN).Dexp(n).RFcmpL(2).dm(d+1).mean=mean(medValLst2); %For Ref Composite 17_1009 + Exp(expN).Dexp(n).RFcmpL(2).dm(d+1).std=std(medValLst2); %For Ref Composite 17_1009 + Exp(expN).Dexp(n).RFcmpL(2).dm(d+1).min=min(medValLst2); %For Ref Composite 17_1009 + Exp(expN).Dexp(n).RFcmpL(2).dm(d+1).max=max(medValLst2); %For Ref Composite 17_1009 + Exp(expN).Dexp(n).RFcmpK(2).dm(d+1).Kvals=kValLst2; + Exp(expN).Dexp(n).RFcmpK(2).dm(d+1).med=median(kValLst2); %For Ref Composite 17_1009 + Exp(expN).Dexp(n).RFcmpK(2).dm(d+1).mean=mean(kValLst2); %For Ref Composite 17_1009 + Exp(expN).Dexp(n).RFcmpK(2).dm(d+1).std=std(kValLst2); %For Ref Composite 17_1009 + Exp(expN).Dexp(n).RFcmpK(2).dm(d+1).min=min(kValLst2); %For Ref Composite 17_1009 + Exp(expN).Dexp(n).RFcmpK(2).dm(d+1).max=max(kValLst2); %For Ref Composite 17_1009 + Exp(expN).Dexp(n).RFcmpr(2).dm(d+1).rvals=rValLst2; + Exp(expN).Dexp(n).RFcmpr(2).dm(d+1).med=median(rValLst2); %For Ref Composite 17_1009 + Exp(expN).Dexp(n).RFcmpr(2).dm(d+1).mean=mean(rValLst2); %For Ref Composite 17_1009 + Exp(expN).Dexp(n).RFcmpr(2).dm(d+1).std=std(rValLst2); %For Ref Composite 17_1009 + Exp(expN).Dexp(n).RFcmpr(2).dm(d+1).min=min(rValLst2); %For Ref Composite 17_1009 + Exp(expN).Dexp(n).RFcmpr(2).dm(d+1).max=max(rValLst); %For Ref Composite 17_1009 + else + % Pick the first spot with zeros + % Use that position to satisfy and keep process OK + medianCalcFailed2='To Few nonZero spots for valid median RF2 selection' + firstZero2=find(((Exp(expN).Dexp(n).scan(rf2scN).plate(1).CFout(1:384,5))==0),1,'first') + Exp(expN).Dexp(n).RFmd2indx(d+1)=firstZero2; + Exp(expN).Dexp(n).RFmd2pltN=RF2mp; + try medValList2{d+1}=Exp(expN).Dexp(n).scan(rf2scN).plate(1).CFout(medianIndx2,5); nonZeroCnt2; catch, catchissue='Ln431', end + end + catch + medianCalcTryFailed2='Failed! Failed! Ln436 No RF1median But process continued with placeholder P1ind384 spot value!' + try + firstZero2=find(((Exp(expN).Dexp(n).scan(rf2scN).plate(1).CFout(1:384,5))==0),1,'first'); + Exp(expN).Dexp(n).RFmd2indx(d+1)=firstZero2; + catch catchissue='Ln442' - Exp(expN).Dexp(n).RFmd2indx(d+1)=384; %if crapout,Then use spot384 as default to keep going + Exp(expN).Dexp(n).RFmd2indx(d+1)=384; %if crapout,Then use spot384 as default to keep going + end + try + Exp(expN).Dexp(n).RFmd2pltN=RF2mp; + catch + catchissue='Ln448' + Exp(expN).Dexp(n).RFmd2pltN=1; + end end - try - Exp(expN).Dexp(n).RFmd2pltN= RF2mp; - catch - catchissue='Ln448' - Exp(expN).Dexp(n).RFmd2pltN= 1; - end - - error='EZexpSel lineAfter 279' - -end %if RF2scanN doesn't exist this addition to list will be skipped - clear RFcombValList - RFcombValList= cat(1,medValList1{d+1},medValList2{d+1}); - Exp(expN).Dexp(n).RFmean(d+1)= mean(RFcombValList); - Exp(expN).Dexp(n).RFstd(d+1)=std(RFcombValList); - try, Exp(expN).Dexp(n).RFmin(d+1)= min(RFcombValList); - catch, Exp(expN).Dexp(n).RFmin(d+1)= 0; end - try, Exp(expN).Dexp(n).RFmax(d+1)=max(RFcombValList); - catch, Exp(expN).Dexp(n).RFmax(d+1)= 0; end - - end %for d=0:DMnum ln446 + clear RFcombValList + RFcombValList=cat(1,medValList1{d+1},medValList2{d+1}); + Exp(expN).Dexp(n).RFmean(d+1)=mean(RFcombValList); + Exp(expN).Dexp(n).RFstd(d+1)=std(RFcombValList); + try, Exp(expN).Dexp(n).RFmin(d+1)=min(RFcombValList); + catch, Exp(expN).Dexp(n).RFmin(d+1)=0; end + try, Exp(expN).Dexp(n).RFmax(d+1)=max(RFcombValList); + catch, Exp(expN).Dexp(n).RFmax(d+1)=0; end + end elseif exist('RF1scanN','var') - Exp(expN).Dexp(n).RFmean= Exp(expN).Dexp(n).mean1; - Exp(expN).Dexp(n).RFstd= Exp(expN).Dexp(n).std1; - Exp(expN).Dexp(n).RFmin= Exp(expN).Dexp(n).min1; - Exp(expN).Dexp(n).RFmax= Exp(expN).Dexp(n).max1; -end %if exist('RF2scanN','var') ln445 + Exp(expN).Dexp(n).RFmean=Exp(expN).Dexp(n).mean1; + Exp(expN).Dexp(n).RFstd=Exp(expN).Dexp(n).std1; + Exp(expN).Dexp(n).RFmin=Exp(expN).Dexp(n).min1; + Exp(expN).Dexp(n).RFmax=Exp(expN).Dexp(n).max1; +end -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%************************************************************************************************* -%***********DISPERSE REFERENCE PLATES +% Disperse reference plates Exp(expN).Dexp(n).RFmdPindx=[]; Exp(expN).Dexp(n).RFmdPpltN=[]; -if exist('drf','var') %('RF1scanN','var') -%Det. index of change from one MP to the next - +if exist('drf','var') % ('RF1scanN','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(size(drf,1),DMnum); %(length(drf),DMnum); -%************************************ - dMPs= unique(cell2mat(drf(:,3))); - %***************************************** - %{ - for mm=1:MPnum - nonZrfIndx.mp{mm,:}=drfPindx((find(drfPindx(:,mm))),mm); - end - - %} - %nzValsG= zeros(DMnum,size(drf,1)); - %nzValsAcc= zeros(DMnum,384); - - for mm=1:length(dMPs) % length(chgIndx) - + 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(size(drf,1),DMnum); %(length(drf),DMnum); + dMPs=unique(cell2mat(drf(:,3))); + %{ + for mm=1:MPnum + nonZrfIndx.mp{mm,:}=drfPindx((find(drfPindx(:,mm))),mm); + end + %} + % nzValsG=zeros(DMnum,size(drf,1)); + % nzValsAcc=zeros(DMnum,384); + for mm=1:length(dMPs) % length(chgIndx) for d=1:(DMnum) medianIndxDisp=[]; NZrefIndxP=[]; nonZeroValsP=[]; medValLstDisp=[]; - rf1scNdisp=((dMPs(mm)-1)*DMnum)+(d); + rf1scNdisp=((dMPs(mm)-1)*DMnum)+(d); -try % Determine the dispersed RFs median mean and std if such exist - NZrefIndxP= drfPindx((find(drfPindx(:,dMPs(mm)))),dMPs(mm)); %find(Exp(expN).Dexp(n).scan(rf1scNdisp).plate(1).CFout(drf(chgIndx(cI):chgIndx(cI+1)),5)); - %vv= Exp(expN).Dexp(n).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,5); - vv(chgIndx(mm):(chgIndx(mm+1)-1),d)=Exp(expN).Dexp(n).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,5); - %For Global Ref Composite 17_1009 %************************************************************************** - vvK(chgIndx(mm):(chgIndx(mm+1)-1),d)=Exp(expN).Dexp(n).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,3); - vvr(chgIndx(mm):(chgIndx(mm+1)-1),d)=Exp(expN).Dexp(n).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,4); - %***************************************************************************************************** - nonZeroValsP= nonzeros(Exp(expN).Dexp(n).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,5)); - std1Disp= std(nonZeroValsP); - mean1Disp= mean(nonZeroValsP); - minDisp= min(nonZeroValsP); - maxDisp= max(nonZeroValsP); - drfVals=Exp(expN).Dexp(n).scan(rf1scNdisp).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(rf1scNdisp).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(rf1scNdisp).plate(1).CFout(medianIndxDisp,5); - %medValList1Disp{d}= medValLstDisp; - mval1Disp=median(medValLstDisp); %mval1=median(Exp(expN).Dexp(n).scan(RF1mps).plate(1).CFout(1:384,5)); %CFout(1:383,5)); - nonZeroMedPosIndx=find(mval1Disp==nonZeroValsP); %(Exp(expN).Dexp(n).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,5))); %(nonZeroIndxDisp,5))); %((nonZrfIndx.mp{dMPs(mm),:}),5))); -RFmd1posD= NZrefIndxP(nonZeroMedPosIndx); %drfPindx((RFmd1posIndx),dMPs(mm)); -RFmd1locD(1)= ceil(RFmd1posD/24); %calc r value -RFmd1locD(2)= RFmd1posD - ((RFmd1locD(1)-1)*24); %calc c value - -lstindx=lstindx+1; -lstindxOrf= lstindxOrf+1; -if usrRefFg==0, rfPLbl= 'RF1mdP('; else rfPLbl= strcat('RF-',rfGnSp,'mdP('); end %accomodate User Ref Selection -if iscell(strcat(rfPLbl,num2str(d),')')), -aa(lstindx,1)= strcat(rfPLbl,num2str(d),')'); -bb(lstindxOrf,1)= strcat(rfPLbl,num2str(d),')'); %remove string2cell brackets {...} -else - aa(lstindx,1)= {strcat(rfPLbl,num2str(d),')')}; - bb(lstindxOrf,1)= {strcat(rfPLbl,num2str(d),')')}; %remove string2cell brackets {...} -end -aa(lstindx,2)= {strcat(':',num2str(dMPs(mm)),':',num2str(RFmd1locD(1)),':',num2str(RFmd1locD(2)))}; -bb(lstindxOrf,2)={strcat(':',num2str(dMPs(mm)),':',num2str(RFmd1locD(1)),':',num2str(RFmd1locD(2)))}; - -Exp(expN).Dexp(n).RFmdPLB(d,dMPs(mm))= strcat(aa(lstindx,1),aa(lstindx,2)); -Exp(expN).Dexp(n).RFmdPindx(d,dMPs(mm))= RFmd1posD; -Exp(expN).Dexp(n).RFmdPpltN(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).RFmdPscanN(d,dMPs(mm))=rf1scNdisp; -Exp(expN).Dexp(n).RFmedianP(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; -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(rf1scNdisp).plate(1).CFout(NZrefIndxP,5))==0),1,'first'); - firstZeroD= drfPindx((firstZeroDindx),dMPs(mm)); - Exp(expN).Dexp(n).RFmdPindx(d,dMPs(mm))=firstZeroD; - Exp(expN).Dexp(n).RFmdPpltN(d,dMPs(mm))= dMPs(mm); %RF1mp; %Is this supposed to be the MP number or the ScanPlate number??? - - -end %~isempty(NZrefIndxP) && length(medianIndxDisp) > 3 ln584 -catch %try ln565 - medianCalcTryFailed1D= 'Failed! Failed! Ln565 {Dispersed RF1s} "try" But process continued with placeholder Plate spot value!' - - try - firstZeroindxD= find(vv((chgIndx(d):chgIndx(d+1)-1),5)==0,1,'first'); - firstZeroPindx= uu(firstZeroindxD,4); - Exp(expN).Dexp(n).RFmdPpltN(d,dMPs(mm))= dMPs(mm); - Exp(expN).Dexp(n).RFmdPindx(d,dMPs(mm))=firstZeroPindx; - - catch - catchissue='try at Ln565' - Exp(expN).Dexp(n).RFmdPpltN(d,dMPs(mm))= dMPs(mm); - Exp(expN).Dexp(n).RFmdPindx(d,dMPs(mm))=384; %if crapout,Then use spot384 as default to keep going + % Determine the dispersed RFs median mean and std if such exist + try + NZrefIndxP=drfPindx((find(drfPindx(:,dMPs(mm)))),dMPs(mm)); % find(Exp(expN).Dexp(n).scan(rf1scNdisp).plate(1).CFout(drf(chgIndx(cI):chgIndx(cI+1)),5)); + % vv=Exp(expN).Dexp(n).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,5); + vv(chgIndx(mm):(chgIndx(mm+1)-1),d)=Exp(expN).Dexp(n).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,5); + % For Global Ref Composite 17_1009 + vvK(chgIndx(mm):(chgIndx(mm+1)-1),d)=Exp(expN).Dexp(n).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,3); + vvr(chgIndx(mm):(chgIndx(mm+1)-1),d)=Exp(expN).Dexp(n).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,4); + nonZeroValsP=nonzeros(Exp(expN).Dexp(n).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,5)); + std1Disp=std(nonZeroValsP); + mean1Disp=mean(nonZeroValsP); + minDisp=min(nonZeroValsP); + maxDisp=max(nonZeroValsP); + drfVals=Exp(expN).Dexp(n).scan(rf1scNdisp).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(rf1scNdisp).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(rf1scNdisp).plate(1).CFout(medianIndxDisp,5); + %medValList1Disp{d}=medValLstDisp; + mval1Disp=median(medValLstDisp); % mval1=median(Exp(expN).Dexp(n).scan(RF1mps).plate(1).CFout(1:384,5)); %CFout(1:383,5)); + nonZeroMedPosIndx=find(mval1Disp==nonZeroValsP); % (Exp(expN).Dexp(n).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,5))); %(nonZeroIndxDisp,5))); %((nonZrfIndx.mp{dMPs(mm),:}),5))); + RFmd1posD=NZrefIndxP(nonZeroMedPosIndx); % drfPindx((RFmd1posIndx),dMPs(mm)); + RFmd1locD(1)=ceil(RFmd1posD/24); % calc r value + RFmd1locD(2)=RFmd1posD - ((RFmd1locD(1)-1)*24); % calc c value + lstindx=lstindx+1; + lstindxOrf=lstindxOrf+1; + if usrRefFg==0, rfPLbl='RF1mdP('; else rfPLbl=strcat('RF-',rfGnSp,'mdP('); end % accomodate User Ref Selection + if iscell(strcat(rfPLbl,num2str(d),')')), + aa(lstindx,1)=strcat(rfPLbl,num2str(d),')'); + bb(lstindxOrf,1)=strcat(rfPLbl,num2str(d),')'); % remove string2cell brackets {...} + else + aa(lstindx,1)={strcat(rfPLbl,num2str(d),')')}; + bb(lstindxOrf,1)={strcat(rfPLbl,num2str(d),')')}; %remove string2cell brackets {...} + end + aa(lstindx,2)={strcat(':',num2str(dMPs(mm)),':',num2str(RFmd1locD(1)),':',num2str(RFmd1locD(2)))}; + bb(lstindxOrf,2)={strcat(':',num2str(dMPs(mm)),':',num2str(RFmd1locD(1)),':',num2str(RFmd1locD(2)))}; + Exp(expN).Dexp(n).RFmdPLB(d,dMPs(mm))=strcat(aa(lstindx,1),aa(lstindx,2)); + Exp(expN).Dexp(n).RFmdPindx(d,dMPs(mm))=RFmd1posD; + Exp(expN).Dexp(n).RFmdPpltN(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).RFmdPscanN(d,dMPs(mm))=rf1scNdisp; + Exp(expN).Dexp(n).RFmedianP(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; + 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(rf1scNdisp).plate(1).CFout(NZrefIndxP,5))==0),1,'first'); + firstZeroD=drfPindx((firstZeroDindx),dMPs(mm)); + Exp(expN).Dexp(n).RFmdPindx(d,dMPs(mm))=firstZeroD; + Exp(expN).Dexp(n).RFmdPpltN(d,dMPs(mm))=dMPs(mm); % RF1mp; % Is this supposed to be the MP number or the ScanPlate number??? + end + catch + medianCalcTryFailed1D='Failed! Failed! Ln565 {Dispersed RF1s} "try" But process continued with placeholder Plate spot value!' + try + firstZeroindxD=find(vv((chgIndx(d):chgIndx(d+1)-1),5)==0,1,'first'); + firstZeroPindx=uu(firstZeroindxD,4); + Exp(expN).Dexp(n).RFmdPpltN(d,dMPs(mm))=dMPs(mm); + Exp(expN).Dexp(n).RFmdPindx(d,dMPs(mm))=firstZeroPindx; + catch + catchissue='try at Ln565' + Exp(expN).Dexp(n).RFmdPpltN(d,dMPs(mm))=dMPs(mm); + Exp(expN).Dexp(n).RFmdPindx(d,dMPs(mm))=384; % if crapout,Then use spot384 as default to keep going + end + try + Exp(expN).Dexp(n).RFmdPpltN=dMPs(mm); + catch + catchissue='Ln619' + Exp(expN).Dexp(n).RFmdPpltN=1; % this might keep from breaking BUT ??? + end + end end - try - Exp(expN).Dexp(n).RFmdPpltN= dMPs(mm); - catch - catchissue='Ln619' - Exp(expN).Dexp(n).RFmdPpltN= 1; %This might keep from breaking BUT ??? - end - error='EZexpSel lineAfter 565' -end %try ~ln565 + end - end %for d=0:DMnum - end %for mm=1:length(dMPs) - -%****************CALC. GLOBAL MEAN, STD, AND MEDIAN FOR DISTRIBUTED REFERENCES****************************************************************** -uu= horzcat(uu,vv); -for d=1:DMnum + % Calc. Global Mean, Std, And Median For Distributed References + uu=horzcat(uu,vv); + for d=1:DMnum medianIndxG=[]; NZrfIndxG=[]; minG=min(nonzeros(vv(:,d))); maxG=max(nonzeros(vv(:,d))); - RFmeanG= mean(nonzeros(vv(:,d))); - RFstdG= std(nonzeros(vv(:,d))); - NZrfIndxG= find(vv(:,d)); %find(nonzeros(vv(:,d))); - - if isempty(RFmeanG), nonZeroCntD=0, %medianIndxDisp= RFmeanG(d); - else nonZeroCntD= length(nonzeros(vv(:,d))); - end - %Calc. of median requires an odd number of indx items - if ~isempty(NZrfIndxG) && mod(nonZeroCntD,2)==0, medianIndxD= NZrfIndxG(1:(size(NZrfIndxG,1)-1)); end - if ~isempty(NZrfIndxG) && mod(nonZeroCntD,2)~=0, medianIndxD= NZrfIndxG(:); end - - if ~isempty(NZrfIndxG) && length(medianIndxD) > 0 %(.15*size(drf,1)) %To calc. a median, more than 15% of spots must be nonZero + RFmeanG=mean(nonzeros(vv(:,d))); + RFstdG=std(nonzeros(vv(:,d))); + NZrfIndxG=find(vv(:,d)); % find(nonzeros(vv(:,d))); - mvalsDG= median(vv(medianIndxD,d)); %(nonzeros(vv(:,d))); - nzPosIndxDG=find(mvalsDG==vv(:,d)); -RFmdDGloc(d,1)= uu(nzPosIndxDG,1); %MP of distributedGlobal Median value -RFmdDGloc(d,2)= uu(nzPosIndxDG,2); %calc r value -RFmdDGloc(d,3)= uu(nzPosIndxDG,3); %calc c value -lstindx=lstindx+1; -lstindxOrf= lstindxOrf+1; + if isempty(RFmeanG) + nonZeroCntD=0 % medianIndxDisp=RFmeanG(d); + else + nonZeroCntD=length(nonzeros(vv(:,d))); + end -if usrRefFg==0, rfGLbl= 'RF1mdG('; else rfGLbl= strcat('RF-',rfGnSp,'mdG('); end %accomodate User Ref Selection -if iscell(strcat(rfPLbl,num2str(d),')')), -aa(lstindx,1)= strcat(rfGLbl,num2str(d),')'); %remove string2cell brackets {...} -bb(lstindxOrf,1)= strcat(rfGLbl,num2str(d),')'); %remove string2cell brackets {...} -else -aa(lstindx,1)= {strcat(rfGLbl,num2str(d),')')}; -bb(lstindxOrf,1)= {strcat(rfGLbl,num2str(d),')')}; -end -aa(lstindx,2)= {strcat(':',num2str(RFmdDGloc(d,1)),':',num2str(RFmdDGloc(d,2)),':',num2str(RFmdDGloc(d,3)))}; %,'std_',num2str(std2))}; -bb(lstindxOrf,2)= {strcat(':',num2str(RFmdDGloc(d,1)),':',num2str(RFmdDGloc(d,2)),':',num2str(RFmdDGloc(d,3)))}; %,'std_',num2str(std2))}; - + % Calc. of median requires an odd number of indx items + if ~isempty(NZrfIndxG) && mod(nonZeroCntD,2)==0, medianIndxD=NZrfIndxG(1:(size(NZrfIndxG,1)-1)); end + if ~isempty(NZrfIndxG) && mod(nonZeroCntD,2)~=0, medianIndxD=NZrfIndxG(:); end + if ~isempty(NZrfIndxG) && length(medianIndxD) > 0 %(.15*size(drf,1)) % to calc. a median, more than 15% of spots must be nonZero + mvalsDG=median(vv(medianIndxD,d)); % (nonzeros(vv(:,d))); + nzPosIndxDG=find(mvalsDG==vv(:,d)); + RFmdDGloc(d,1)=uu(nzPosIndxDG,1); % MP of distributedGlobal Median value + RFmdDGloc(d,2)=uu(nzPosIndxDG,2); % calc r value + RFmdDGloc(d,3)=uu(nzPosIndxDG,3); % calc c value + lstindx=lstindx+1; + lstindxOrf=lstindxOrf+1; + if usrRefFg==0, rfGLbl='RF1mdG('; else rfGLbl=strcat('RF-',rfGnSp,'mdG('); end %accomodate User Ref Selection + if iscell(strcat(rfPLbl,num2str(d),')')), + aa(lstindx,1)=strcat(rfGLbl,num2str(d),')'); % remove string2cell brackets {...} + bb(lstindxOrf,1)=strcat(rfGLbl,num2str(d),')'); % remove string2cell brackets {...} + else + aa(lstindx,1)={strcat(rfGLbl,num2str(d),')')}; + bb(lstindxOrf,1)={strcat(rfGLbl,num2str(d),')')}; + end + aa(lstindx,2)={strcat(':',num2str(RFmdDGloc(d,1)),':',num2str(RFmdDGloc(d,2)),':',num2str(RFmdDGloc(d,3)))}; %,'std_',num2str(std2))}; + bb(lstindxOrf,2)={strcat(':',num2str(RFmdDGloc(d,1)),':',num2str(RFmdDGloc(d,2)),':',num2str(RFmdDGloc(d,3)))}; %,'std_',num2str(std2))}; + % Composite Reference Amalgum Plot + lstindx=lstindx+1; + lstindxOrf=lstindxOrf+1; + if usrRefFg==0, rfcmpGLbl='RFcmpG('; else rfcmpGLbl=strcat('RFcmpG-',rfGnSp,'('); end %accomodate User Ref Selection + if iscell(strcat(rfcmpGLbl,num2str(d),')')), + aa(lstindx,1)=strcat(rfcmpGLbl,num2str(d),')'); % strcat('RFcmpG(',num2str(d),')'); + bb(lstindxOrf,1)=strcat(rfcmpGLbl,num2str(d),')'); % strcat('RFcmpG(',num2str(d),')'); + else + aa(lstindx,1)={strcat(rfcmpGLbl,num2str(d),')')}; + bb(lstindxOrf,1)={strcat(rfcmpGLbl,num2str(d),')')}; + end -%Composite Reference Amalgum Plot ****************** -lstindx=lstindx+1; -lstindxOrf= lstindxOrf+1; -if usrRefFg==0, rfcmpGLbl= 'RFcmpG('; else rfcmpGLbl= strcat('RFcmpG-',rfGnSp,'('); end %accomodate User Ref Selection -if iscell(strcat(rfcmpGLbl,num2str(d),')')), - aa(lstindx,1)= strcat(rfcmpGLbl,num2str(d),')'); %strcat('RFcmpG(',num2str(d),')'); - bb(lstindxOrf,1)= strcat(rfcmpGLbl,num2str(d),')'); %strcat('RFcmpG(',num2str(d),')'); -else - aa(lstindx,1)= {strcat(rfcmpGLbl,num2str(d),')')}; - bb(lstindxOrf,1)= {strcat(rfcmpGLbl,num2str(d),')')}; -end + aa(lstindx,2)={''}; + bb(lstindxOrf,2)={''}; + Exp(expN).Dexp(n).RFmdGLB(d)=strcat(aa(lstindx,1),aa(lstindx,2)); + Exp(expN).Dexp(n).RFmdGindx(d)=nzPosIndxDG; + Exp(expN).Dexp(n).RFmdGpltN(d)=RFmdDGloc(d,1); + Exp(expN).Dexp(n).RFmdGscanN(d)=uu(nzPosIndxDG,4); + Exp(expN).Dexp(n).RFmedianG(d)=mvalsDG; + Exp(expN).Dexp(n).RFminG(d)=minG; + Exp(expN).Dexp(n).RFmaxG(d)=maxG; + Exp(expN).Dexp(n).RFstdG(d)=RFstdG; + Exp(expN).Dexp(n).RFmeanG(d)=RFmeanG; + Exp(expN).Dexp(n).RFcmpGL.dm(d).Lvals=vv(medianIndxD,d); %17_1201 TrendOL + Exp(expN).Dexp(n).RFcmpGL.dm(d).med=median(vv(medianIndxD,d)); %For Ref Composite 17_1009 + Exp(expN).Dexp(n).RFcmpGL.dm(d).mean=mean(vv(medianIndxD,d)); %For Ref Composite 17_1009 + Exp(expN).Dexp(n).RFcmpGL.dm(d).std=std(vv(medianIndxD,d)); %For Ref Composite 17_1009 + Exp(expN).Dexp(n).RFcmpGL.dm(d).min=min(vv(medianIndxD,d)); %For Ref Composite 17_1009 + Exp(expN).Dexp(n).RFcmpGL.dm(d).max=max(vv(medianIndxD,d)); %For Ref Composite 17_1009 + Exp(expN).Dexp(n).RFcmpGK.dm(d).Kvals=vvK(medianIndxD,d); %17_1201 TrendOL + Exp(expN).Dexp(n).RFcmpGK.dm(d).med=median(vvK(medianIndxD,d)); %For Ref Composite 17_1009 + Exp(expN).Dexp(n).RFcmpGK.dm(d).mean=mean(vvK(medianIndxD,d)); %For Ref Composite 17_1009 + Exp(expN).Dexp(n).RFcmpGK.dm(d).std=std(vvK(medianIndxD,d)); %For Ref Composite 17_1009 + Exp(expN).Dexp(n).RFcmpGK.dm(d).min=min(vvK(medianIndxD,d)); %For Ref Composite 17_1009 + Exp(expN).Dexp(n).RFcmpGK.dm(d).max=max(vvK(medianIndxD,d)); %For Ref Composite 17_1009 + Exp(expN).Dexp(n).RFcmpGr.dm(d).rvals=vvr(medianIndxD,d); %17_1201 TrendOL + Exp(expN).Dexp(n).RFcmpGr.dm(d).med=median(vvr(medianIndxD,d)); %For Ref Composite 17_1009 + Exp(expN).Dexp(n).RFcmpGr.dm(d).mean=mean(vvr(medianIndxD,d)); %For Ref Composite 17_1009 + Exp(expN).Dexp(n).RFcmpGr.dm(d).std=std(vvr(medianIndxD,d)); %For Ref Composite 17_1009 + Exp(expN).Dexp(n).RFcmpGr.dm(d).min=min(vvr(medianIndxD,d)); %For Ref Composite 17_1009 + Exp(expN).Dexp(n).RFcmpGr.dm(d).max=max(vvr(medianIndxD,d)); %For Ref Composite 17_1009 + end + end +end -aa(lstindx,2)={''}; -bb(lstindxOrf,2)={''}; -%***************************************************** -Exp(expN).Dexp(n).RFmdGLB(d)= strcat(aa(lstindx,1),aa(lstindx,2)); -Exp(expN).Dexp(n).RFmdGindx(d)= nzPosIndxDG; -Exp(expN).Dexp(n).RFmdGpltN(d)= RFmdDGloc(d,1); -Exp(expN).Dexp(n).RFmdGscanN(d)= uu(nzPosIndxDG,4); -Exp(expN).Dexp(n).RFmedianG(d)= mvalsDG; -Exp(expN).Dexp(n).RFminG(d)= minG; -Exp(expN).Dexp(n).RFmaxG(d)= maxG; -Exp(expN).Dexp(n).RFstdG(d)= RFstdG; -Exp(expN).Dexp(n).RFmeanG(d)= RFmeanG; - -Exp(expN).Dexp(n).RFcmpGL.dm(d).Lvals= vv(medianIndxD,d); %17_1201 TrendOL -Exp(expN).Dexp(n).RFcmpGL.dm(d).med= median(vv(medianIndxD,d)); %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFcmpGL.dm(d).mean= mean(vv(medianIndxD,d)); %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFcmpGL.dm(d).std= std(vv(medianIndxD,d)); %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFcmpGL.dm(d).min= min(vv(medianIndxD,d)); %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFcmpGL.dm(d).max= max(vv(medianIndxD,d)); %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFcmpGK.dm(d).Kvals= vvK(medianIndxD,d); %17_1201 TrendOL -Exp(expN).Dexp(n).RFcmpGK.dm(d).med= median(vvK(medianIndxD,d)); %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFcmpGK.dm(d).mean= mean(vvK(medianIndxD,d)); %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFcmpGK.dm(d).std= std(vvK(medianIndxD,d)); %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFcmpGK.dm(d).min= min(vvK(medianIndxD,d)); %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFcmpGK.dm(d).max= max(vvK(medianIndxD,d)); %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFcmpGr.dm(d).rvals= vvr(medianIndxD,d); %17_1201 TrendOL -Exp(expN).Dexp(n).RFcmpGr.dm(d).med= median(vvr(medianIndxD,d)); %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFcmpGr.dm(d).mean= mean(vvr(medianIndxD,d)); %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFcmpGr.dm(d).std= std(vvr(medianIndxD,d)); %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFcmpGr.dm(d).min= min(vvr(medianIndxD,d)); %For Ref Composite 17_1009 -Exp(expN).Dexp(n).RFcmpGr.dm(d).max= max(vvr(medianIndxD,d)); %For Ref Composite 17_1009 - - end -end - -end % if exist('drf','var') -%END OF DISPERSE REFERENCE PLATAES CALCULATIONS AND LIST ADDITIONS - %********************************************************************* -%Added 17-1023 For User Addition of Gene Composites to ListBox -%Expaa{expN,n}= aa; Expbb{expN,n}= bb; - - - - - -%>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - -%******************************************************************** - %EZusrSelRef %* -%******************************************************************** -%**************************************************************************************************** -gnLstRaw= strcat(aa(:,1),aa(:,2)); -Exp(expN).Dexp(n).srtGnLst= sort(gnLstRaw); +% EZusrSelRef +gnLstRaw=strcat(aa(:,1),aa(:,2)); +Exp(expN).Dexp(n).srtGnLst=sort(gnLstRaw); orfLstRaw=strcat(bb(:,1),bb(:,2)); -Exp(expN).Dexp(n).srtOrfLst= sort(orfLstRaw); +Exp(expN).Dexp(n).srtOrfLst=sort(orfLstRaw); -%#################################################################### - - - - % %{ %set(handles.MPsldr2,'max',length(MP)); %set(handles.DMsldr2,'max',length(DM.drug)); @@ -712,7 +631,7 @@ Exp(expN).Dexp(n).srtOrfLst= sort(orfLstRaw); %set(handles.MPsldr2,'min',1,'max',MPnum) %set(handles.DMsldr2,'min',1,'max',DMnum) -%tPtsSize= size(Exp(expN).Dexp(n).FexpScanBMtp{1,1},(3)); +%tPtsSize=size(Exp(expN).Dexp(n).FexpScanBMtp{1,1},(3)); %set(handles.Tptsldr2,'min',1,'max',tPtsSize) %set(handles.MPsldr2,'value',1) @@ -725,6 +644,3 @@ Exp(expN).Dexp(n).srtOrfLst= sort(orfLstRaw); %set(handles.DMsldr2,'SliderStep',[1/length(DM.drug) 1/length(DM.drug)]); %set(handles.Tptsldr2,'SliderStep',[1/tPtsSize 1/tPtsSize]); %} - - - diff --git a/workflow/apps/matlab/ezview/EZsingleExUserRF.m b/workflow/apps/matlab/ezview/EZsingleExUserRF.m index 9d6cfd47..ff58f0ef 100755 --- a/workflow/apps/matlab/ezview/EZsingleExUserRF.m +++ b/workflow/apps/matlab/ezview/EZsingleExUserRF.m @@ -1,43 +1,37 @@ -%EZsingleExUserRF +% EZsingleExUserRF global exp +usrRefFg=0; +prompt={'Enter GeneName to use as Reference:',... + 'Enter Specifics Term if used to futher specify Reference '} +dlg_title='User Reference Input'; +num_lines=1; +def={'RF1','None'}; +answer=inputdlg(prompt,dlg_title,num_lines,def); +rfGene=cell2mat(answer(1)); +if ~strcmpi(rfGene,'RF1')|| ~strcmpi(rfGene,'RF2'), usrRefFg=1; end +rfSpec=answer(2); %if strcmpi(answer(2),'None'), rfSpec=''; end +rfGnSp=strcat(rfGene,rfSpec); +if strcmpi(rfSpec,'None'), rfGnSp=strcat(rfGene,'-'); end - usrRefFg=0; - prompt={'Enter GeneName to use as Reference:',... - 'Enter Specifics Term if used to futher specify Reference '} - dlg_title='User Reference Input'; - num_lines=1; - def={'RF1','None'}; - answer=inputdlg(prompt,dlg_title,num_lines,def); - rfGene= cell2mat(answer(1)); - if ~strcmpi(rfGene,'RF1')|| ~strcmpi(rfGene,'RF2'), usrRefFg=1; end - rfSpec= answer(2); %if strcmpi(answer(2),'None'), rfSpec= ''; end - rfGnSp= strcat(rfGene,rfSpec); - if strcmpi(rfSpec,'None'), rfGnSp= strcat(rfGene,'-'); end - - -%for n=1:size(matFile,2) +% for n=1:size(matFile,2) n=1; -%********************************************************************* -EZmultiGeneRFsLst %** -%********************************************************* -EZdiagRFsSheet %** -%******************** +EZmultiGeneRFsLst +EZdiagRFsSheet Exp(expN).Dexp(n).RFrnames=rnames; -Exp(expN).Dexp(n).RFdata= data; -%********************************************************* +Exp(expN).Dexp(n).RFdata=data; RFconfig=0; -if sum(ismember(fieldnames(Exp(expN).Dexp(n)),'RFmean'))&&... - ~isempty(Exp(expN).Dexp(n).RFmean)&&... - sum(ismember(fieldnames(Exp(expN).Dexp(n)),'RFmeanG'))&&... - isempty(Exp(expN).Dexp(n).RFmeanG) - RFconfig=1; +if sum(ismember(fieldnames(Exp(expN).Dexp(n)),'RFmean')) ... +&& ~isempty(Exp(expN).Dexp(n).RFmean) ... +&& sum(ismember(fieldnames(Exp(expN).Dexp(n)),'RFmeanG')) ... +&& isempty(Exp(expN).Dexp(n).RFmeanG) + RFconfig=1; end -if sum(ismember(fieldnames(Exp(expN).Dexp(n)),'RFmean'))==0 ||... - isempty(Exp(expN).Dexp(n).RFmean)&&... - sum(ismember(fieldnames(Exp(expN).Dexp(n)),'RFmeanG'))&&... - ~isempty(Exp(expN).Dexp(n).RFmeanG) - RFconfig=2; +if sum(ismember(fieldnames(Exp(expN).Dexp(n)),'RFmean'))==0 ... +|| isempty(Exp(expN).Dexp(n).RFmean) ... +&& sum(ismember(fieldnames(Exp(expN).Dexp(n)),'RFmeanG')) ... +&& ~isempty(Exp(expN).Dexp(n).RFmeanG) + RFconfig=2; end if sum(ismember(fieldnames(Exp(expN).Dexp(n)),'RFmean'))&&... ~isempty(Exp(expN).Dexp(n).RFmean)&&... @@ -45,88 +39,76 @@ if sum(ismember(fieldnames(Exp(expN).Dexp(n)),'RFmean'))&&... ~isempty(Exp(expN).Dexp(n).RFmeanG) RFconfig=3; end -Exp(expN).RFconfig= RFconfig; -Exp(expN).Dexp(n).RFconfig= RFconfig; -%********************************************** +Exp(expN).RFconfig=RFconfig; +Exp(expN).Dexp(n).RFconfig=RFconfig; try msgBadGeneName, catch, end try - Exp(expN).Dexp(n).resetHtmpTg =5; %Exp(expN).resetHtmpTg =5; - if RFconfig==0, - RFconfigMsg= 'No RF1 references in this Experiment Job' - Exp(expN).Dexp(n).resetHtmpTg =3; %Exp(expN).resetHtmpTg =3; - end + Exp(expN).Dexp(n).resetHtmpTg =5; %Exp(expN).resetHtmpTg =5; + if RFconfig==0, + RFconfigMsg='No RF1 references in this Experiment Job' + Exp(expN).Dexp(n).resetHtmpTg =3; %Exp(expN).resetHtmpTg =3; + end catch end -%*************************** -%********************************************************************* -%end -%############################################################################### -%} - - - -%********Auto select Zone and load listboxGnOrf data********** +% Auto select Zone and load listboxGnOrf data DexpN=1; -zeroCLn= zeros(1,DMnum); -Exp(expN).expLoadCnt= Exp(expN).expLoadCnt+1; expLdCnt= Exp(expN).expLoadCnt; +zeroCLn=zeros(1,DMnum); +Exp(expN).expLoadCnt=Exp(expN).expLoadCnt+1; expLdCnt=Exp(expN).expLoadCnt; if expN==1 - set(handles.zoneRad1,'value',1) - set(handles.zoneRad2,'value',0) - set(handles.zoneRad3,'value',0) - orfLstSel=get(handles.GeneOrfTog,'value') + set(handles.zoneRad1,'value',1) + set(handles.zoneRad2,'value',0) + set(handles.zoneRad3,'value',0) + orfLstSel=get(handles.GeneOrfTog,'value') if orfLstSel==1 - set(handles.listboxGnOrf,'string',Exp(1).Dexp(1).srtOrfLst) + set(handles.listboxGnOrf,'string',Exp(1).Dexp(1).srtOrfLst) else - set(handles.listboxGnOrf,'string',Exp(1).Dexp(1).srtGnLst) + set(handles.listboxGnOrf,'string',Exp(1).Dexp(1).srtGnLst) end - DNLaxes1= handles.DNLaxes1; + DNLaxes1=handles.DNLaxes1; Exp(1).hzeroCLn(expLdCnt)=plot(DNLaxes1,zeroCLn,1:DMnum,'y'); end if expN==2 - set(handles.zoneRad1,'value',0) - set(handles.zoneRad3,'value',0) - set(handles.zoneRad2,'value',1) - orfLstSel= get(handles.GeneOrfTog,'value'); + set(handles.zoneRad1,'value',0) + set(handles.zoneRad3,'value',0) + set(handles.zoneRad2,'value',1) + orfLstSel=get(handles.GeneOrfTog,'value'); if orfLstSel==1 - set(handles.listboxGnOrf,'string',Exp(2).Dexp(1).srtOrfLst) + set(handles.listboxGnOrf,'string',Exp(2).Dexp(1).srtOrfLst) else - set(handles.listboxGnOrf,'string',Exp(2).Dexp(1).srtGnLst) + set(handles.listboxGnOrf,'string',Exp(2).Dexp(1).srtGnLst) end - DNLaxes2= handles.DNLaxes2; + DNLaxes2=handles.DNLaxes2; Exp(2).hzeroCLn(expLdCnt)=plot(DNLaxes2,zeroCLn,1:DMnum,'y'); - end if expN==3 - set(handles.zoneRad1,'value',0) - set(handles.zoneRad2,'value',0) - set(handles.zoneRad3,'value',1) - orfLstSel=get(handles.GeneOrfTog,'value'); + set(handles.zoneRad1,'value',0) + set(handles.zoneRad2,'value',0) + set(handles.zoneRad3,'value',1) + orfLstSel=get(handles.GeneOrfTog,'value'); if orfLstSel==1 - set(handles.listboxGnOrf,'string',Exp(3).Dexp(1).srtOrfLst) + set(handles.listboxGnOrf,'string',Exp(3).Dexp(1).srtOrfLst) else - set(handles.listboxGnOrf,'string',Exp(3).Dexp(1).srtGnLst) + set(handles.listboxGnOrf,'string',Exp(3).Dexp(1).srtGnLst) end - DNLaxes3= handles.DNLaxes3; + DNLaxes3=handles.DNLaxes3; Exp(3).hzeroCLn(expLdCnt)=plot(DNLaxes3,zeroCLn,1:DMnum,'y'); end -if Exp(4).interacPBsel==0 %if interaction "raw" don't show a center line +if Exp(4).interacPBsel==0 % if interaction "raw" don't show a center line for i=1:Exp(expN).expLoadCnt, - try - set(Exp(expN).hzeroCLn(i),'visible','off'); + try + set(Exp(expN).hzeroCLn(i),'visible','off'); catch - catchissue='Ln521' - i - end + i + end end end -%*************************** % HtMapTog 'string', 'Current user L/N' selection' -Exp(expN).Dexp(DexpN).spotIndx= []; +Exp(expN).Dexp(DexpN).spotIndx=[]; if expN==1, Exp(1).htmapPBsel=0; set(handles.HtMapTog1,'string','L') @@ -143,5 +125,3 @@ if expN==3, EZhtMap end htMapTogPBfg=0; - -%******************************************************************* diff --git a/workflow/apps/matlab/ezview/EZspotview.m b/workflow/apps/matlab/ezview/EZspotview.m index 979c5dda..bbcb8a1e 100755 --- a/workflow/apps/matlab/ezview/EZspotview.m +++ b/workflow/apps/matlab/ezview/EZspotview.m @@ -1,14 +1,12 @@ function EZspotview(expN,DexpN, imLoc,OLresDir,OLplateNum,NoOLay) -datacursormode(gcf) + global Exp + global ghandles + datacursormode(gcf) -global Exp -global ghandles -w=pwd; -aCnt=0; - -prevExp=0; -if NoOLay==0 - + w=pwd; + aCnt=0; + prevExp=0; + if NoOLay==0 cd(fullfile(char(OLresDir))) cd .. expDir=pwd; @@ -16,230 +14,207 @@ if NoOLay==0 %expDir=fullfile(char(OLresDir),'..'); if ~isequal(expDir, char(fullfile(Exp(expN).Dexp(DexpN).ExpFoldr))) - prevExp=1; + prevExp=1; end if prevExp==0 expDir=Exp(expN).Dexp(DexpN).ExpFoldr; - else - - cd(fullfile(char(OLresDir))) - cd .. - expDir=pwd; - cd(w) - - %expDir=fullfile(char(OLresDir),'..'); + else + cd(fullfile(char(OLresDir))) + cd .. + expDir=pwd; + cd(w) + %expDir=fullfile(char(OLresDir),'..'); end -else - expDir=Exp(expN).Dexp(DexpN).ExpFoldr -end + else + expDir=Exp(expN).Dexp(DexpN).ExpFoldr + end -%ExpHmDir= char(Exp(expN).Dexp(DexpN).resDir); -try close(ghandles.hfstrip), catch, end %hfIm -%*************CIRCLE related************************* -doCircle=1; -radius=14; -diaExt=2*(radius+1); -%>>>>>>>>>>>>>>>>>>>>>> -EZvNIcircle -%<<<<<<<<<<<<<<<<<<<<<<< + %ExpHmDir=char(Exp(expN).Dexp(DexpN).resDir); -rIm= imLoc(1); %use the "picture/Image' r and c not the plate annotation r c) -cIm= imLoc(2); -plateNum= Exp(expN).Dexp(DexpN).plateNum; -%***************************************** -if prevExp==0 -FexpScanSpots=Exp(expN).Dexp(DexpN).FexpScanSpots; -FexpScanBMtp=Exp(expN).Dexp(DexpN).FexpScanBMtp; -anlZoneRefs=Exp(expN).Dexp(DexpN).anlZoneRefs; -ImParMat=Exp(expN).Dexp(DexpN).ImParMat; - -else - %check if the request expJob is already loaded in one of the other zones + try close(ghandles.hfstrip), catch, end % hfIm + % CIRCLE related + doCircle=1; + radius=14; + diaExt=2*(radius+1); + EZvNIcircle + rIm=imLoc(1); % use the "picture/Image' r and c not the plate annotation r c) + cIm=imLoc(2); + plateNum=Exp(expN).Dexp(DexpN).plateNum; + if prevExp==0 + FexpScanSpots=Exp(expN).Dexp(DexpN).FexpScanSpots; + FexpScanBMtp=Exp(expN).Dexp(DexpN).FexpScanBMtp; + anlZoneRefs=Exp(expN).Dexp(DexpN).anlZoneRefs; + ImParMat=Exp(expN).Dexp(DexpN).ImParMat; + else + % check if the request expJob is already loaded in one of the other zones matchfound=0; for j=1:3 - if isequal(expDir, char(fullfile(Exp(j).ExpFoldr))) + if isequal(expDir, char(fullfile(Exp(j).ExpFoldr))) FexpScanSpots=Exp(j).FexpScanSpots; FexpScanBMtp=Exp(j).FexpScanBMtp; anlZoneRefs=Exp(j).anlZoneRefs; ImParMat=Exp(j).ImParMat; matchfound=1; break - end + end end - if matchfound==0 - %if not, load data for previous experiment again. + if matchfound==0 + % if not, load data for previous experiment again. load(fullfile(char(OLresDir),'Fotos','Coordinates')) load(fullfile(char(OLresDir),'Fotos','anlZones')) load(fullfile(char(OLresDir),'Fotos','BGatTpts')) load(fullfile(char(OLresDir),'PTmats','NImParameters')) - end %if matchfound==1 -end %if prevExp==0 - + end + end + + % Parameter Entry + width=ImParMat(5); + widthEx=width-1; %width extention from reference point -%**************Parameter Entry****************** -width=ImParMat(5); -widthEx=width-1; %width extention from reference point + % Start Spot selection and Manipulation section + Fcutsc=[]; + Fstrip=[]; + %{ + cd(fullfile(char(OLresDir))) + cd .. + expDir=pwd; + cd(w) + %} -%================================================================= -%================================================================= -%++++Start Spot selection and Manipulation section+++++++++++ -Fcutsc=[]; -Fstrip=[]; -%{ -cd(fullfile(char(OLresDir))) -cd .. -expDir=pwd; -cd(w) -%} + % tPtsSize=size(Exp(expN).Dexp(DexpN).FexpScanBMtp{1,1},(3)); + tPtsSize=size(FexpScanBMtp{1,plateNum},(3)); % tPtsSize=size(FexpScanBMtp{1,1},(3)); 20160110 + %bmpFileLst=dirfullfile(char(OLresDir),num2str(plateNum),'*.bmp')); %(fullfile(expDir, char(ScLst(ScLstCnt)), '*.bmp')); + hsafety=figure; + dc=get(datacursormode) + imInterval=1; + try,imInterval=str2double(Exp(4).SpotVintervPar),catch,end + try + for tPt=1:imInterval:tPtsSize %tPtLength + coord=[]; + try + % FtifFile=fullfile(Exp(expN).Dexp(DexpN).ExpFoldr,num2str(plateNum),strcat(num2str(tPt),'.bmp')); %char(tifFileLst(tPt)); + FtifFile=fullfile(char(expDir),num2str(plateNum),strcat(num2str(tPt),'.bmp')); + Fimg=imread(FtifFile); + % For Visualization Purposes + Fram=ones(2075,1400); %(size(Empsc,1),size(Empsc,2)); + % FRAME ANALYSIS AREA + if size(FexpScanSpots,2)>1 + coord=FexpScanSpots{plateNum}{rIm,cIm,tPt}; + else + coord=FexpScanSpots{plateNum,1,1}{rIm,cIm,tPt}; + end + if size(anlZoneRefs,2)>1 + xyLoc=anlZoneRefs{plateNum}{rIm,cIm,tPt}; %F_Snum + else + xyLoc=anlZoneRefs{F_Snum,1,1}{rIm,cIm,tPt}; + end + xLoc=xyLoc(2); + yLoc=xyLoc(1); -%tPtsSize=size(Exp(expN).Dexp(DexpN).FexpScanBMtp{1,1},(3)); -tPtsSize=size(FexpScanBMtp{1,plateNum},(3)); %tPtsSize=size(FexpScanBMtp{1,1},(3)); 20160110 -%bmpFileLst=dirfullfile(char(OLresDir),num2str(plateNum),'*.bmp')); %(fullfile(expDir, char(ScLst(ScLstCnt)), '*.bmp')); -hsafety=figure; -dc= get(datacursormode) -imInterval=1; -try, imInterval= str2double(Exp(4).SpotVintervPar),catch,end -try -for tPt=1:imInterval:tPtsSize %tPtLength -coord=[]; - try - %FtifFile= fullfile(Exp(expN).Dexp(DexpN).ExpFoldr,num2str(plateNum),strcat(num2str(tPt),'.bmp')); %char(tifFileLst(tPt)); - FtifFile= fullfile(char(expDir),num2str(plateNum),strcat(num2str(tPt),'.bmp')); + % CIRCLE related + doCircle=1; % temp test value insertion to get square images + if doCircle==1 + Fram=FoptCirMask; + else + % 1->2 across rt 1, 2-4 + Fram(yLoc,xLoc:(xLoc+widthEx))=0.8; + % 1->4 down lf 1-3, 2 + Fram((yLoc+1):(yLoc+1+widthEx),xLoc)=0.8; + % 2->3 down rt 1-3, 4 + Fram(yLoc:(yLoc+widthEx),(xLoc+1+widthEx))=0.8; + % 4->3 Bot Across rt 1, 2-4 + Fram((yLoc+1+widthEx),(xLoc+1):(xLoc+1+widthEx))=0.8; + Fram=Fram(coord(1):coord(3),coord(2):coord(4)); + end + % Cut Spot Out Of Image + % Fbg=FexpScanBMtp{selScan,1}(rIm,cIm,tPt); + Fbg=FexpScanBMtp{plateNum}(rIm,cIm,tPt); %{selScan,1} + % Fimg=imread(FtifFile); %,'PixelRegion', {[coord(1),coord(3)],[coord(2),coord(4)]}); + Fcutsc=Fimg(coord(1):coord(3),coord(2):coord(4)); + if doCircle==1 + %varExt=size(Fcutsc)-size(Fram); + varExtPre=[((yLoc-0)-coord(1)) ((xLoc-0)-coord(2))]; + varExtPost=[(coord(3)-(yLoc+diaExt+1)) (coord(4)-(xLoc+diaExt+1))]; + % Fram=padarray(Fram,[expansion expansion],1,'pre'); + Fram=padarray(Fram,[varExtPre],1,'pre'); + Fram=padarray(Fram,[varExtPost],1,'post'); + % Fram=padarray(Fram,rem(varExt,2),1,'post'); + %Fram=padarray(Fram,floor((varExt-2)./2),1); + end + % Invert Image + Fcutsc=double(Fcutsc) .* Fram; + %Fcutsc=Fcutsc .* uint8(Fram); + Fcutsc=uint8(Fcutsc); + %Fcutsc=255 - (Fcutsc-Fbg); + Fcutsc=(Fcutsc-Fbg); + %Time series annotation************************** + tmPtTx=[]; + tenths=(round(10*(Exp(expN).Dexp(DexpN).scan(plateNum).plate(1).tSeries(tPt)))) ./10; + tmPtTx=strcat(num2str(tenths),'h'); -Fimg= imread(FtifFile); -% For Visualization Purposes *********************** -Fram= ones(2075,1400); %(size(Empsc,1),size(Empsc,2)); -%FRAME ANALYSIS AREA******************************************************* -if size(FexpScanSpots,2)>1 - coord=FexpScanSpots{plateNum}{rIm,cIm,tPt}; -else - coord=FexpScanSpots{plateNum,1,1}{rIm,cIm,tPt}; -end -if size(anlZoneRefs,2)>1 - xyLoc=anlZoneRefs{plateNum}{rIm,cIm,tPt}; %F_Snum -else - xyLoc=anlZoneRefs{F_Snum,1,1}{rIm,cIm,tPt}; -end -xLoc= xyLoc(2); -yLoc= xyLoc(1); + % imwrite(Fcutsc,(fullfile(resDir,'Fotos',strcat('FScan',num2str(selScan),'_timePt-',num2str(tPt),'.jpg'))),'jpg'); + aCnt=aCnt+1; + if aCnt==1 %||tPt==1 + EZvapendLabel + Fstrip=vertcat(Fcutsc,Bspace); + Hspace=zeros(size(Fstrip,1),4)+1200; %+255 + Fstrip=horzcat(Fstrip,Hspace); + end + makeVis=1; + if aCnt>1 + EZvapendLabel + vcat=vertcat(Fcutsc,Bspace); + %Hspace=zeros(size(Fstrip,1),4)+255; + Fstrip=horzcat(Fstrip,vcat,Hspace); + end -%*************CIRCLE related************************* - -doCircle=1; %Temp test value insertion to get square images -if doCircle==1, - Fram= FoptCirMask; - -else -%1->2 across rt 1, 2-4 -Fram(yLoc,xLoc:(xLoc+widthEx))=0.8; -%1->4 down lf 1-3, 2 -Fram((yLoc+1):(yLoc+1+widthEx),xLoc)=0.8; -%2->3 down rt 1-3, 4 -Fram(yLoc:(yLoc+widthEx),(xLoc+1+widthEx))=0.8; -%4->3 Bot Across rt 1, 2-4 -Fram((yLoc+1+widthEx),(xLoc+1):(xLoc+1+widthEx))=0.8; -Fram= Fram(coord(1):coord(3),coord(2):coord(4)); -end -%CUT SPOT OUT OF IMAGE***************************************************** - -%Fbg= FexpScanBMtp{selScan,1}(rIm,cIm,tPt); -Fbg= FexpScanBMtp{plateNum}(rIm,cIm,tPt); %{selScan,1} -%Fimg= imread(FtifFile); %,'PixelRegion', {[coord(1),coord(3)],[coord(2),coord(4)]}); -Fcutsc= Fimg(coord(1):coord(3),coord(2):coord(4)); -if doCircle==1 - %varExt=size(Fcutsc)-size(Fram); - varExtPre= [((yLoc-0)-coord(1)) ((xLoc-0)-coord(2))]; - varExtPost= [(coord(3)-(yLoc+diaExt+1)) (coord(4)-(xLoc+diaExt+1))]; - % Fram=padarray(Fram,[expansion expansion],1,'pre'); - Fram=padarray(Fram,[varExtPre],1,'pre'); - Fram=padarray(Fram,[varExtPost],1,'post'); - - %Fram=padarray(Fram,rem(varExt,2),1,'post'); - - %Fram=padarray(Fram,floor((varExt-2)./2),1); -end -%INVERT IMGAGE -Fcutsc=double(Fcutsc) .* Fram; -%Fcutsc= Fcutsc .* uint8(Fram); -Fcutsc=uint8(Fcutsc); -%Fcutsc=255 - (Fcutsc-Fbg); -Fcutsc=(Fcutsc-Fbg); -%Time series annotation************************** -tmPtTx=[]; -tenths=(round(10*(Exp(expN).Dexp(DexpN).scan(plateNum).plate(1).tSeries(tPt)))) ./10; -tmPtTx= strcat(num2str(tenths),'h'); - -%imwrite(Fcutsc,(fullfile(resDir,'Fotos',strcat('FScan',num2str(selScan),'_timePt-',num2str(tPt),'.jpg'))),'jpg'); -aCnt=aCnt+1; -if aCnt==1 %||tPt==1 - EZvapendLabel - Fstrip= vertcat(Fcutsc,Bspace); - Hspace= zeros(size(Fstrip,1),4)+1200; %+255 - Fstrip= horzcat(Fstrip,Hspace); -end -makeVis=1; -if aCnt>1 - EZvapendLabel - vcat= vertcat(Fcutsc,Bspace); - %Hspace= zeros(size(Fstrip,1),4)+255; - Fstrip= horzcat(Fstrip,vcat,Hspace); -end -% For Visualization Purposes only - -if makeVis==1 - %if aCnt==1,figure;end - %resIm= uint8((double(BGsc) + OptmapOnesDbl) .* double(fullsc)); - %clear('OptmapOnesDbl') - hfstrip=imagesc(Fcutsc); colormap(gray); %hfstrip=imshow(Fcutsc); colormap(gray); %hfscanIm=imagesc(Fcutsc); colormap(gray); - - ghandles.hfstrip=gcf; - haxis=gca; - title(strcat('Scan',num2str(plateNum),'->timePt-',num2str(tPt))); - - clf(hfstrip,'reset'); colormap(gray); %clf(hfscanIm,'reset'); colormap(gray); - set(ghandles.hfstrip,'NumberTitle','off') -end - expLabel=strcat('->',char(fullfile(char(OLresDir),num2str(OLplateNum)))) - %catch - % expLabel=strcat('->',char(fullfile(Exp(expN).Dexp(DexpN).ExpFoldr,num2str(plateNum)))) - - if expN==1 - set(ghandles.hfstrip,'Name', strcat(char(get(ghandles.OLay1,'string')),expLabel)) %ghandles.hfIm %{'ExpOutmat'} %strcat('EASYconsole- ',char(resDir))) - elseif expN==2 - set(ghandles.hfstrip,'Name', strcat(char(get(ghandles.OLay2,'string')),expLabel)) - elseif expN==3 - set(ghandles.hfstrip,'Name', strcat(char(get(ghandles.OLay3,'string')),expLabel)) + % For Visualization Purposes only + if makeVis==1 + % if aCnt==1,figure;end + % resIm=uint8((double(BGsc) + OptmapOnesDbl) .* double(fullsc)); + % clear('OptmapOnesDbl') + hfstrip=imagesc(Fcutsc); colormap(gray); %hfstrip=imshow(Fcutsc); colormap(gray); %hfscanIm=imagesc(Fcutsc); colormap(gray); + ghandles.hfstrip=gcf; + haxis=gca; + title(strcat('Scan',num2str(plateNum),'->timePt-',num2str(tPt))); + clf(hfstrip,'reset'); colormap(gray); %clf(hfscanIm,'reset'); colormap(gray); + set(ghandles.hfstrip,'NumberTitle','off') + end + expLabel=strcat('->',char(fullfile(char(OLresDir),num2str(OLplateNum)))) + % catch + % expLabel=strcat('->',char(fullfile(Exp(expN).Dexp(DexpN).ExpFoldr,num2str(plateNum)))) + if expN==1 + set(ghandles.hfstrip,'Name', strcat(char(get(ghandles.OLay1,'string')),expLabel)) %ghandles.hfIm %{'ExpOutmat'} %strcat('EASYconsole- ',char(resDir))) + elseif expN==2 + set(ghandles.hfstrip,'Name', strcat(char(get(ghandles.OLay2,'string')),expLabel)) + elseif expN==3 + set(ghandles.hfstrip,'Name', strcat(char(get(ghandles.OLay3,'string')),expLabel)) + end + %hgsave(fullfile(resDir,'Fotos',strcat('FScan',num2str(selScan),'_timePt-',num2str(tPt)))); + catch end - - %hgsave(fullfile(resDir,'Fotos',strcat('FScan',num2str(selScan),'_timePt-',num2str(tPt)))); -catch -end -end %for tPt=1:tPtsSize end of for Fotos Spot image cutout -catch -end -%figure(ghandles.hFstrip) -imshow(Fstrip); -%{ -%if tPt==tPtLength %length(tifFileLst) - %imwrite(Fstrip,(fullfile(resDir,'Fotos',strcat('Fstrip','S',num2str(selScan),'P',num2str(F_Pnum),'r',num2str(F_Rusrnum),'c',num2str(F_Cusrnum),'.jpg'))),'jpg'); - F_name= strcat(fnamemod,'_Fstrip','.jpg'); - %dfname=(fullfile(resDir,'Fotos',char(F_name))); - %delete(dfname); % imwrite nolonger overwrites ??why 14_0729 - imwrite(Fstrip,(fullfile(resDir,'Fotos',char(F_name))),'jpg','Quality',100); - F_name= strcat(fnamemod,'_Fstrip','.tif'); + end + catch + end + + %figure(ghandles.hFstrip) + imshow(Fstrip); + %{ + %if tPt==tPtLength %length(tifFileLst) + %imwrite(Fstrip,(fullfile(resDir,'Fotos',strcat('Fstrip','S',num2str(selScan),'P',num2str(F_Pnum),'r',num2str(F_Rusrnum),'c',num2str(F_Cusrnum),'.jpg'))),'jpg'); + F_name=strcat(fnamemod,'_Fstrip','.jpg'); %dfname=(fullfile(resDir,'Fotos',char(F_name))); - %delete(dfname); % imwrite nolonger overwrites ??why - imwrite(Fstrip,(fullfile(resDir,'Fotos',char(F_name))),'tif'); -%end -%} -%[output_txt]=datatipp(obj,event_obj); -%datacursormode off; -%datacursormode on; -%close(figure(hsafety)) -end %function end - - -%XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -%XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -%XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + %delete(dfname); % imwrite nolonger overwrites ??why 14_0729 + imwrite(Fstrip,(fullfile(resDir,'Fotos',char(F_name))),'jpg','Quality',100); + F_name=strcat(fnamemod,'_Fstrip','.tif'); + %dfname=(fullfile(resDir,'Fotos',char(F_name))); + %delete(dfname); % imwrite nolonger overwrites ??why + imwrite(Fstrip,(fullfile(resDir,'Fotos',char(F_name))),'tif'); + %end + %} + %[output_txt]=datatipp(obj,event_obj); + %datacursormode off; + %datacursormode on; + %close(figure(hsafety)) +end diff --git a/workflow/apps/matlab/ezview/EZusrSelRefx.m b/workflow/apps/matlab/ezview/EZusrSelRefx.m index 1d992e7e..51e6d0eb 100755 --- a/workflow/apps/matlab/ezview/EZusrSelRefx.m +++ b/workflow/apps/matlab/ezview/EZusrSelRefx.m @@ -1,223 +1,199 @@ %EZusrSelRef -%User Select Reference Diaglog Box +% User Select Reference Diaglog Box try -if n==1 && ~exist('RF1scanN','var') && ~exist('RF2scanN','var') %change || && + if n==1 && ~exist('RF1scanN','var') && ~exist('RF2scanN','var') %change || && %{ prompt={'Enter Masterplate Number(s) of Your Reference GeneName spots:',... 'Enter GeneName of Your Reference:'}; - rfMPstr= cell2mat(answer(1)); + rfMPstr=cell2mat(answer(1)); rfMPcomas=strfind((cell2mat(answer(1))),','); n=0; - if isempty(rfMPcomas)|| max(rfMPcomas)== length(rfMPstr) - usrMPs= rfMPstr + if isempty(rfMPcomas)|| max(rfMPcomas)==length(rfMPstr) + usrMPs=rfMPstr else - for i= rfMPcomas, + for i=rfMPcomas, n=n+1 - usrMPs(n)= str2double(rfMPstr(i-1:i)) - if i== max(rfMPcomas) - usrMPs(n+1)= str2double(rfMPstr(i:end)) + usrMPs(n)=str2double(rfMPstr(i-1:i)) + if i==max(rfMPcomas) + usrMPs(n+1)=str2double(rfMPstr(i:end)) end end end - usrMPs= answer(1); - refGene= answer(2); - %} - prompt={'Enter GeneName to use as Reference:',... - 'Enter Specifics Term if used to futher specify Reference '} + usrMPs=answer(1); + refGene=answer(2); + %} + prompt={'Enter GeneName to use as Reference:',... + 'Enter Specifics Term if used to futher specify Reference '} dlg_title='User Reference Input'; num_lines=1; def={'None','Specifics Term'}; answer=inputdlg(prompt,dlg_title,num_lines,def); - rfGenestr= cell2mat(answer(1)); - rfSpec= cell2mat(answer(2)); + rfGenestr=cell2mat(answer(1)); + rfSpec=cell2mat(answer(2)); + end -end - -%try -for mp=1:length(Exp(expN).Dexp(DexpN).MP) - for ind384=1:384 + %try + for mp=1:length(Exp(expN).Dexp(DexpN).MP) + for ind384=1:384 spN=spN+1; - - - end - -%catch -%end %try for user selected Reference routine -end -%***********DISPERSE REFERENCE PLATES -Exp(expN).Dexp(DexpN).RFmdPindx=[]; -Exp(expN).Dexp(DexpN).RFmdPpltN=[]; -if exist('drf','var') %('RF1scanN','var') -%Det. index of change from one MP to the next - - i=2; - 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),DMnum); -%************************************ - dMPs= unique(cell2mat(drf(:,3))); - %***************************************** - %{ - for mm=1:MPnum - nonZrfIndx.mp{mm,:}=drfPindx((find(drfPindx(:,mm))),mm); - end - - %} - %nzValsG= zeros(DMnum,size(drf,1)); - %nzValsAcc= zeros(DMnum,384); - - for mm=1:length(dMPs) % length(chgIndx) - - for d=1:(DMnum) - medianIndxDisp=[]; - NZrefIndxP=[]; - nonZeroValsP=[]; - medValLstDisp=[]; - rf1scNdisp=((dMPs(mm)-1)*DMnum)+(d); - -try % Determine the dispersed RFs median mean and std if such exist - NZrefIndxP= drfPindx((find(drfPindx(:,dMPs(mm)))),dMPs(mm)); %find(Exp(expN).Dexp(DexpN).scan(rf1scNdisp).plate(1).CFout(drf(chgIndx(cI):chgIndx(cI+1)),5)); - %vv= Exp(expN).Dexp(DexpN).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,5); - vv(chgIndx(mm):(chgIndx(mm+1)-1),d)=Exp(expN).Dexp(DexpN).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,5); - nonZeroValsP= nonzeros(Exp(expN).Dexp(DexpN).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,5)); - std1Disp= std(nonZeroValsP); - mean1Disp= mean(nonZeroValsP); - minDisp= min(nonZeroValsP); - maxDisp= max(nonZeroValsP); - drfVals=Exp(expN).Dexp(DexpN).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,5); - - %nzValsAcc(mm).DM(d,:)= nonZeroValsP; - - %MEDIAN Determination for PLATES with Dispersed RFs - %NZrefIndxP= NZrefIndxP %find(Exp(expN).Dexp(DexpN).scan(rf1scNdisp).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) > 3 %(.15*384) %To calc. a median, more than 15% of spots must be nonZero - medValLstDisp= Exp(expN).Dexp(DexpN).scan(rf1scNdisp).plate(1).CFout(medianIndxDisp,5); - %medValList1Disp{d}= medValLstDisp; - mval1Disp=median(medValLstDisp); %mval1=median(Exp(expN).Dexp(DexpN).scan(RF1mps).plate(1).CFout(1:384,5)); %CFout(1:383,5)); - nonZeroMedPosIndx=find(mval1Disp==nonZeroValsP); %(Exp(expN).Dexp(DexpN).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,5))); %(nonZeroIndxDisp,5))); %((nonZrfIndx.mp{dMPs(mm),:}),5))); -RFmd1posD= NZrefIndxP(nonZeroMedPosIndx); %drfPindx((RFmd1posIndx),dMPs(mm)); -RFmd1locD(1)= ceil(RFmd1posD/24); %calc r value -RFmd1locD(2)= RFmd1posD - ((RFmd1locD(1)-1)*24); %calc c value - -lstindx=lstindx+1; -lstindxOrf= lstindxOrf+1; -aa(lstindx,1)= {strcat('RF1mdP(',num2str(d),')')}; -aa(lstindx,2)={strcat(':',num2str(dMPs(mm)),':',num2str(RFmd1locD(1)),':',num2str(RFmd1locD(2)))}; -bb(lstindxOrf,1)= {strcat('RF1mdP(',num2str(d),')')}; -bb(lstindxOrf,2)={strcat(':',num2str(dMPs(mm)),':',num2str(RFmd1locD(1)),':',num2str(RFmd1locD(2)))}; - -Exp(expN).Dexp(DexpN).RFmdPLB(d,dMPs(mm))= strcat(aa(lstindx,1),aa(lstindx,2)); -Exp(expN).Dexp(DexpN).RFmdPindx(d,dMPs(mm))= RFmd1posD; -Exp(expN).Dexp(DexpN).RFmdPpltN(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(DexpN).RFmdPscanN(d,dMPs(mm))=rf1scNdisp; -Exp(expN).Dexp(DexpN).RFmedianP(d,dMPs(mm))= mval1Disp; -Exp(expN).Dexp(DexpN).stdP(d,dMPs(mm))= std1Disp; -Exp(expN).Dexp(DexpN).meanP(d,dMPs(mm))= mean1Disp; -Exp(expN).Dexp(DexpN).minP(d,dMPs(mm))= minDisp; -Exp(expN).Dexp(DexpN).maxP(d,dMPs(mm))= maxDisp; -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(DexpN).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,5))==0),1,'first'); - firstZeroD= drfPindx((firstZeroDindx),dMPs(mm)); - Exp(expN).Dexp(DexpN).RFmdPindx(d,dMPs(mm))=firstZeroD; - Exp(expN).Dexp(DexpN).RFmdPpltN(d,dMPs(mm))= dMPs(mm); %RF1mp; %Is this supposed to be the MP number or the ScanPlate number??? - - -end %~isempty(NZrefIndxP) && length(medianIndxDisp) > 3 ln584 -catch %try ln565 - medianCalcTryFailed1D= 'Failed! Failed! Ln565 {Dispersed RF1s} "try" But process continued with bogus Plate spot value!' - - try - firstZeroindxD= find(vv((chgIndx(d):chgIndx(d+1)-1),5)==0,1,'first'); - firstZeroPindx= uu(firstZeroindxD,4); - Exp(expN).Dexp(DexpN).RFmdPpltN(d,dMPs(mm))= dMPs(mm); - Exp(expN).Dexp(DexpN).RFmdPindx(d,dMPs(mm))=firstZeroPindx; - - catch - catchissue='try at Ln565' - Exp(expN).Dexp(DexpN).RFmdPpltN(d,dMPs(mm))= dMPs(mm); - Exp(expN).Dexp(DexpN).RFmdPindx(d,dMPs(mm))=384; %if crapout,Then use spot384 as default to keep going end - try - Exp(expN).Dexp(DexpN).RFmdPpltN= dMPs(mm); - catch - catchissue='Ln619' - Exp(expN).Dexp(DexpN).RFmdPpltN= 1; %This might keep from breaking BUT ??? - end - error='EZexpSel lineAfter 565' -end %try ~ln565 - - end %for d=0:DMnum - end %for mm=1:length(dMPs) - -%****************CALC. GLOBAL MEAN, STD, AND MEDIAN FOR DISTRIBUTED REFERENCES****************************************************************** -uu= horzcat(uu,vv); -for d=1:DMnum - medianIndxG=[]; - NZrfIndxG=[]; - minG=min(nonzeros(vv(:,d))); - maxG=max(nonzeros(vv(:,d))); - RFmeanG= mean(nonzeros(vv(:,d))); - RFstdG= std(nonzeros(vv(:,d))); - NZrfIndxG= find(nonzeros(vv(:,d))); - - if isempty(RFmeanG), nonZeroCntD=0, %medianIndxDisp= RFmeanG(d); - else nonZeroCntD= length(nonzeros(vv(:,d))); + %catch + %end %try for user selected Reference routine end - %Calc. of median requires an odd number of indx items - if ~isempty(NZrfIndxG) && mod(nonZeroCntD,2)==0, medianIndxD= NZrfIndxG(1:(size(NZrfIndxG,1)-1)); end - if ~isempty(NZrfIndxG) && mod(nonZeroCntD,2)~=0, medianIndxD= NZrfIndxG(:); end - if ~isempty(NZrfIndxG) && length(medianIndxD) > (.15*size(drf,1)) %To calc. a median, more than 15% of spots must be nonZero - - mvalsDG= median(vv(medianIndxD,d)); %(nonzeros(vv(:,d))); - nzPosIndxDG=find(mvalsDG==vv(:,d)); -RFmdDGloc(d,1)= uu(nzPosIndxDG,1); %MP of distributedGlobal Median value -RFmdDGloc(d,2)= uu(nzPosIndxDG,2); %calc r value -RFmdDGloc(d,3)= uu(nzPosIndxDG,3); %calc c value -lstindx=lstindx+1; -lstindxOrf= lstindxOrf+1; -aa(lstindx,1)= {strcat('RF1mdG(',num2str(d),')')}; -aa(lstindx,2)={strcat(':',num2str(RFmdDGloc(d,1)),':',num2str(RFmdDGloc(d,2)),':',num2str(RFmdDGloc(d,3)))}; %,'std_',num2str(std2))}; -bb(lstindxOrf,1)= {strcat('RF1mdG(',num2str(d),')')}; -bb(lstindxOrf,2)={strcat(':',num2str(RFmdDGloc(d,1)),':',num2str(RFmdDGloc(d,2)),':',num2str(RFmdDGloc(d,3)))}; %,'std_',num2str(std2))}; + % Disperse Reference Plates + Exp(expN).Dexp(DexpN).RFmdPindx=[]; + Exp(expN).Dexp(DexpN).RFmdPpltN=[]; + if exist('drf','var') % ('RF1scanN','var') + %Det. index of change from one MP to the next + i=2; + 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),DMnum); + dMPs=unique(cell2mat(drf(:,3))); + %{ + for mm=1:MPnum + nonZrfIndx.mp{mm,:}=drfPindx((find(drfPindx(:,mm))),mm); + end + + %} + % nzValsG=zeros(DMnum,size(drf,1)); + % nzValsAcc=zeros(DMnum,384); + for mm=1:length(dMPs) % length(chgIndx) + for d=1:(DMnum) + medianIndxDisp=[]; + NZrefIndxP=[]; + nonZeroValsP=[]; + medValLstDisp=[]; + rf1scNdisp=((dMPs(mm)-1)*DMnum)+(d); + try % Determine the dispersed RFs median mean and std if such exist + NZrefIndxP=drfPindx((find(drfPindx(:,dMPs(mm)))),dMPs(mm)); %find(Exp(expN).Dexp(DexpN).scan(rf1scNdisp).plate(1).CFout(drf(chgIndx(cI):chgIndx(cI+1)),5)); + % vv=Exp(expN).Dexp(DexpN).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,5); + vv(chgIndx(mm):(chgIndx(mm+1)-1),d)=Exp(expN).Dexp(DexpN).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,5); + nonZeroValsP=nonzeros(Exp(expN).Dexp(DexpN).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,5)); + std1Disp=std(nonZeroValsP); + mean1Disp=mean(nonZeroValsP); + minDisp=min(nonZeroValsP); + maxDisp=max(nonZeroValsP); + drfVals=Exp(expN).Dexp(DexpN).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,5); + %nzValsAcc(mm).DM(d,:)=nonZeroValsP; + %MEDIAN Determination for PLATES with Dispersed RFs + %NZrefIndxP=NZrefIndxP %find(Exp(expN).Dexp(DexpN).scan(rf1scNdisp).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) > 3 %(.15*384) %To calc. a median, more than 15% of spots must be nonZero + medValLstDisp=Exp(expN).Dexp(DexpN).scan(rf1scNdisp).plate(1).CFout(medianIndxDisp,5); + %medValList1Disp{d}=medValLstDisp; + mval1Disp=median(medValLstDisp); %mval1=median(Exp(expN).Dexp(DexpN).scan(RF1mps).plate(1).CFout(1:384,5)); %CFout(1:383,5)); + nonZeroMedPosIndx=find(mval1Disp==nonZeroValsP); %(Exp(expN).Dexp(DexpN).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,5))); %(nonZeroIndxDisp,5))); %((nonZrfIndx.mp{dMPs(mm),:}),5))); + RFmd1posD=NZrefIndxP(nonZeroMedPosIndx); %drfPindx((RFmd1posIndx),dMPs(mm)); + RFmd1locD(1)=ceil(RFmd1posD/24); %calc r value + RFmd1locD(2)=RFmd1posD - ((RFmd1locD(1)-1)*24); %calc c value + lstindx=lstindx+1; + lstindxOrf=lstindxOrf+1; + aa(lstindx,1)={strcat('RF1mdP(',num2str(d),')')}; + aa(lstindx,2)={strcat(':',num2str(dMPs(mm)),':',num2str(RFmd1locD(1)),':',num2str(RFmd1locD(2)))}; + bb(lstindxOrf,1)={strcat('RF1mdP(',num2str(d),')')}; + bb(lstindxOrf,2)={strcat(':',num2str(dMPs(mm)),':',num2str(RFmd1locD(1)),':',num2str(RFmd1locD(2)))}; + Exp(expN).Dexp(DexpN).RFmdPLB(d,dMPs(mm))=strcat(aa(lstindx,1),aa(lstindx,2)); + Exp(expN).Dexp(DexpN).RFmdPindx(d,dMPs(mm))=RFmd1posD; + Exp(expN).Dexp(DexpN).RFmdPpltN(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(DexpN).RFmdPscanN(d,dMPs(mm))=rf1scNdisp; + Exp(expN).Dexp(DexpN).RFmedianP(d,dMPs(mm))=mval1Disp; + Exp(expN).Dexp(DexpN).stdP(d,dMPs(mm))=std1Disp; + Exp(expN).Dexp(DexpN).meanP(d,dMPs(mm))=mean1Disp; + Exp(expN).Dexp(DexpN).minP(d,dMPs(mm))=minDisp; + Exp(expN).Dexp(DexpN).maxP(d,dMPs(mm))=maxDisp; + 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(DexpN).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,5))==0),1,'first'); + firstZeroD=drfPindx((firstZeroDindx),dMPs(mm)); + Exp(expN).Dexp(DexpN).RFmdPindx(d,dMPs(mm))=firstZeroD; + Exp(expN).Dexp(DexpN).RFmdPpltN(d,dMPs(mm))=dMPs(mm); %RF1mp; %Is this supposed to be the MP number or the ScanPlate number??? + end + catch + medianCalcTryFailed1D='Failed! Failed! Ln565 {Dispersed RF1s} "try" But process continued with bogus Plate spot value!' + try + firstZeroindxD=find(vv((chgIndx(d):chgIndx(d+1)-1),5)==0,1,'first'); + firstZeroPindx=uu(firstZeroindxD,4); + Exp(expN).Dexp(DexpN).RFmdPpltN(d,dMPs(mm))=dMPs(mm); + Exp(expN).Dexp(DexpN).RFmdPindx(d,dMPs(mm))=firstZeroPindx; + catch + Exp(expN).Dexp(DexpN).RFmdPpltN(d,dMPs(mm))=dMPs(mm); + Exp(expN).Dexp(DexpN).RFmdPindx(d,dMPs(mm))=384; %if crapout,Then use spot384 as default to keep going + end + try + Exp(expN).Dexp(DexpN).RFmdPpltN=dMPs(mm); + catch + Exp(expN).Dexp(DexpN).RFmdPpltN=1; %This might keep from breaking BUT ??? + end + end + end % for d=0:DMnum + end % for mm=1:length(dMPs) -Exp(expN).Dexp(DexpN).RFmdGLB(d)= strcat(aa(lstindx,1),aa(lstindx,2)); -Exp(expN).Dexp(DexpN).RFmdGindx(d)= nzPosIndxDG; -Exp(expN).Dexp(DexpN).RFmdGpltN(d)= RFmdDGloc(d,1); -Exp(expN).Dexp(DexpN).RFmdGscanN(d)= uu(nzPosIndxDG,4); -Exp(expN).Dexp(DexpN).RFmedianG(d)= mvalsDG; -Exp(expN).Dexp(DexpN).RFminG(d)= minG; -Exp(expN).Dexp(DexpN).RFmaxG(d)= maxG; -Exp(expN).Dexp(DexpN).RFstdG(d)= RFstdG; -Exp(expN).Dexp(DexpN).RFmeanG(d)= RFmeanG; + % Calc. Global Mean, Std, And Median For Distributed References + uu=horzcat(uu,vv); + for d=1:DMnum + medianIndxG=[]; + NZrfIndxG=[]; + minG=min(nonzeros(vv(:,d))); + maxG=max(nonzeros(vv(:,d))); + RFmeanG=mean(nonzeros(vv(:,d))); + RFstdG=std(nonzeros(vv(:,d))); + NZrfIndxG=find(nonzeros(vv(:,d))); + if isempty(RFmeanG) + nonZeroCntD=0 + % medianIndxDisp=RFmeanG(d); + else + nonZeroCntD=length(nonzeros(vv(:,d))); + end - end -end - -end % if exist('drf','var') -%END OF DISPERSE REFERENCE PLATAES CALCULATIONS AND LIST ADDITIONS - %********************************************************************* + % Calc. of median requires an odd number of indx items + if ~isempty(NZrfIndxG) && mod(nonZeroCntD,2)==0, medianIndxD=NZrfIndxG(1:(size(NZrfIndxG,1)-1)); end + if ~isempty(NZrfIndxG) && mod(nonZeroCntD,2)~=0, medianIndxD=NZrfIndxG(:); end + if ~isempty(NZrfIndxG) && length(medianIndxD) > (.15*size(drf,1)) % To calc. a median, more than 15% of spots must be nonZero + mvalsDG=median(vv(medianIndxD,d)); % (nonzeros(vv(:,d))); + nzPosIndxDG=find(mvalsDG==vv(:,d)); + RFmdDGloc(d,1)=uu(nzPosIndxDG,1); % MP of distributedGlobal Median value + RFmdDGloc(d,2)=uu(nzPosIndxDG,2); % calc r value + RFmdDGloc(d,3)=uu(nzPosIndxDG,3); % calc c value + lstindx=lstindx+1; + lstindxOrf=lstindxOrf+1; + aa(lstindx,1)={strcat('RF1mdG(',num2str(d),')')}; + aa(lstindx,2)={strcat(':',num2str(RFmdDGloc(d,1)),':',num2str(RFmdDGloc(d,2)),':',num2str(RFmdDGloc(d,3)))}; %,'std_',num2str(std2))}; + bb(lstindxOrf,1)={strcat('RF1mdG(',num2str(d),')')}; + bb(lstindxOrf,2)={strcat(':',num2str(RFmdDGloc(d,1)),':',num2str(RFmdDGloc(d,2)),':',num2str(RFmdDGloc(d,3)))}; %,'std_',num2str(std2))}; + Exp(expN).Dexp(DexpN).RFmdGLB(d)=strcat(aa(lstindx,1),aa(lstindx,2)); + Exp(expN).Dexp(DexpN).RFmdGindx(d)=nzPosIndxDG; + Exp(expN).Dexp(DexpN).RFmdGpltN(d)=RFmdDGloc(d,1); + Exp(expN).Dexp(DexpN).RFmdGscanN(d)=uu(nzPosIndxDG,4); + Exp(expN).Dexp(DexpN).RFmedianG(d)=mvalsDG; + Exp(expN).Dexp(DexpN).RFminG(d)=minG; + Exp(expN).Dexp(DexpN).RFmaxG(d)=maxG; + Exp(expN).Dexp(DexpN).RFstdG(d)=RFstdG; + Exp(expN).Dexp(DexpN).RFmeanG(d)=RFmeanG; + end + end + end catch - msg= 'Failed attempt to apply User Selected Reference' -end %if n==1 && ~exist('RF1scanN','var') && ~exist('RF2scanN','var') + msg='Failed attempt to apply User Selected Reference' +end diff --git a/workflow/apps/matlab/ezview/EZvDatatip.m b/workflow/apps/matlab/ezview/EZvDatatip.m index 24de4919..aab4ff5e 100755 --- a/workflow/apps/matlab/ezview/EZvDatatip.m +++ b/workflow/apps/matlab/ezview/EZvDatatip.m @@ -1,5 +1,5 @@ -%EZvDatatip 230802 attempting to fix for R2023a -%Calls to EZdestComp.m EZmDayTrend.m +% EZvDatatip 230802 attempting to fix for R2023a +% Calls to EZdestComp.m EZmDayTrend.m global ghandles global Exp @@ -7,643 +7,587 @@ global zonePB RFcmpGFlg=0; %Test 180105 as it goes to EZmDayTrend.m lstBoxCmpFlg=0; +curKey=get(gcf,'currentkey') +htMapFg=0; - curKey=get(gcf,'currentkey') - htMapFg=0; - - if ghandles.Iaxes1==get(htargetAxes,'Parent'),expN=1; - elseif ghandles.Iaxes2==get(htargetAxes,'Parent'),expN=2; - elseif ghandles.Iaxes3==get(htargetAxes,'Parent'),expN=3; - elseif ghandles.OLaxes1==get(htargetAxes,'Parent'),OLay=1; expN=1; %zone=1; datacursormode off; - elseif ghandles.OLaxes2==get(htargetAxes,'Parent'),OLay=2; expN=2; %zone=2; datacursormode off; - elseif ghandles.OLaxes3==get(htargetAxes,'Parent'),OLay=3; expN=3; %zone=3; datacursormode off; - elseif ghandles.HtMap1==get(htargetAxes,'Parent'),expN=1; htMapFg=1; - elseif ghandles.HtMap2==get(htargetAxes,'Parent'),expN=2; htMapFg=1; - elseif ghandles.HtMap3==get(htargetAxes,'Parent'),expN=3; htMapFg=1; - else - return - end - - if expN==1,DexpN= (get(ghandles.DN1,'value')); end - if expN==2,DexpN= (get(ghandles.DN2,'value')); end - if expN==3,DexpN= (get(ghandles.DN3,'value')); end - - % Exp(expN).DexpN=DexpN; -if strcmp(Exp(expN).DexpType,'single'), DexpN=1; end -if exist('OLay','var'), clear ExpN; end - -if ~exist('OLay','var') -try - ImageSel=expN<4 - destPerMP= Exp(expN).Dexp(DexpN).destPerMP; %length(gS.DM1.drug); - MPsel=Exp(expN).Dexp(DexpN).MPsel; %floor(get(handles.MPsldr1,'value')); - pertSel=Exp(expN).Dexp(DexpN).pertSel; %floor(get(handles.DMsldr1,'value')); - tPtSel=Exp(expN).Dexp(DexpN).tPtSel; %floor(get(handles.Tptsldr1,'value')); - plateNum= Exp(expN).Dexp(DexpN).plateNum; %(MPsel1-1)*destPerMP1 + pertSel1; - scan= Exp(expN).Dexp(DexpN).scan; - - - MP=Exp(expN).Dexp(DexpN).MP; - - ptrPos=[cpos(1),cpos(2)]; %for VerticleImage - if htMapFg==0 %Comes from spot image Iaxes - try - for m=1:24 - for n=1:16 - coord=Exp(expN).Dexp(DexpN).FexpScanSpots{plateNum}{m,n,tPtSel}; %replace {1} with {plateNum} - - if ptrPos(2)> coord(1) && ptrPos(2)< coord(3) - if ptrPos(1)> coord(2) && ptrPos(1)',DMstr); - -xp=char(Exp(expN).Dexp(DexpN).resDir); -if ispc, - slashPos=strfind(char(Exp(expN).Dexp(DexpN).resDir),'\'); +if ghandles.Iaxes1==get(htargetAxes,'Parent'),expN=1; +elseif ghandles.Iaxes2==get(htargetAxes,'Parent'),expN=2; +elseif ghandles.Iaxes3==get(htargetAxes,'Parent'),expN=3; +elseif ghandles.OLaxes1==get(htargetAxes,'Parent'),OLay=1; expN=1; %zone=1; datacursormode off; +elseif ghandles.OLaxes2==get(htargetAxes,'Parent'),OLay=2; expN=2; %zone=2; datacursormode off; +elseif ghandles.OLaxes3==get(htargetAxes,'Parent'),OLay=3; expN=3; %zone=3; datacursormode off; +elseif ghandles.HtMap1==get(htargetAxes,'Parent'),expN=1; htMapFg=1; +elseif ghandles.HtMap2==get(htargetAxes,'Parent'),expN=2; htMapFg=1; +elseif ghandles.HtMap3==get(htargetAxes,'Parent'),expN=3; htMapFg=1; else - slashPos=strfind(char(Exp(expN).Dexp(DexpN).resDir),'/'); -end - -startPos=slashPos(length(slashPos)-2) +1; -endPos=(slashPos(length(slashPos)) -1); -expStr= {xp(startPos:endPos)}; - -Exp(expN).hOLname(traceN)= spotDescrip; %ZoneRelated %graphStr; %ghandles.Exp(expN).hOLname(traceN)= graphStr; -Exp(expN).hOLexpNm(traceN)= expStr; %ghandles.Exp(expN).hOLexpNm(traceN)= expStr; -Exp(expN).hOLresDir(traceN)= {Exp(expN).Dexp(DexpN).resDir}; -Exp(expN).hOLplateNum(traceN)= plateNum; - -%traceData= vertcat(get(Exp(OLay).hOL(traceN),'XData'),get(ghandles.Exp(OLay).hOL(traceN),'YData')); - -if expN==1,set(ghandles.GeneOrfLoc1,'string',geneOrfstr);end % Displays the value. -if expN==2,set(ghandles.GeneOrfLoc2,'string',geneOrfstr);end -if expN==3,set(ghandles.GeneOrfLoc3,'string',geneOrfstr);end -if expN==1,set(ghandles.graphStrLoc1,'string',spotDescrip);end %graphStr);end % Displays the value. -if expN==2,set(ghandles.graphStrLoc2,'string',spotDescrip);end %graphStr);end -if expN==3,set(ghandles.graphStrLoc3,'string',spotDescrip);end %graphStr);end -%************************* ********************* *************************** -try - if expN==1, %&& get(ghandles.rotPB1,'value')~=1 - try if length(char(Exp(expN).hOLname(traceN)))>40,set(ghandles.OLay1,'FontSize',8);end, catch end - set(ghandles.OLay1,'string', Exp(expN).hOLname(traceN)); - try if length(char(Exp(expN).hOLexpNm(traceN)))>40,set(ghandles.OLexp1,'FontSize',8);end, catch end - set(ghandles.OLexp1,'string',Exp(expN).hOLexpNm(traceN)); - end - if expN==2 %&& get(ghandles.rotPB2,'value') ~=1 - try if length(char(Exp(expN).hOLname(traceN)))>40,set(ghandles.OLay2,'FontSize',8);end, catch end - set(ghandles.OLay2,'string', Exp(expN).hOLname(traceN)); - try if length(char(Exp(expN).hOLexpNm(traceN)))>40,set(ghandles.OLexp2,'FontSize',8);end, catch end - set(ghandles.OLexp2,'string',Exp(expN).hOLexpNm(traceN)); - end - if expN==3 %&& get(ghandles.rotPB3,'value') ~=1 - try if length(char(Exp(expN).hOLname(traceN)))>40,set(ghandles.OLay3,'FontSize',8);end, catch end - set(ghandles.OLay3,'string', Exp(expN).hOLname(traceN)); - try if length(char(Exp(expN).hOLexpNm(traceN)))>40,set(ghandles.OLexp3,'FontSize',8);end, catch end - set(ghandles.OLexp3,'string',Exp(expN).hOLexpNm(traceN)); - end -catch -end - -%******************************************************* -%{ -if expN==1 - zonesel=1; - set(ghandles.zoneRad1,'value',1) - set(ghandles.zoneRad2,'value',0) - set(ghandles.zoneRad3,'value',0) - orfLstSel=get(ghandles.GeneOrfTog,'value'); - if orfLstSel==1 - set(ghandles.listboxGnOrf,'string',Exp(1).Dexp(DexpN).srtOrfLst) - else - set(ghandles.listboxGnOrf,'string',Exp(1).Dexp(DexpN).srtGnLst) - end -end - -if expN==2 - zonesel=2; - set(ghandles.zoneRad2,'value',1) - set(ghandles.zoneRad1,'value',0) - set(ghandles.zoneRad3,'value',0) - orfLstSel=get(ghandles.GeneOrfTog,'value'); - if orfLstSel==1 - set(ghandles.listboxGnOrf,'string',Exp(2).Dexp(DexpN).srtOrfLst) - else - set(ghandles.listboxGnOrf,'string',Exp(2).Dexp(DexpN).srtGnLst) - end -end - -if expN==3 - zonesel=3; - set(ghandles.zoneRad3,'value',1) - set(ghandles.zoneRad2,'value',0) - set(ghandles.zoneRad1,'value',0) - orfLstSel=get(ghandles.GeneOrfTog,'value'); - if orfLstSel==1 - set(ghandles.listboxGnOrf,'string',Exp(3).Dexp(DexpN).srtOrfLst) - else - set(ghandles.listboxGnOrf,'string',Exp(3).Dexp(DexpN).srtGnLst) - end -end -%} -%**************************************************************** -%Zone PB set here as replacement for zonePB radio buttons 230815 -if expN==1 - zonesel=1; - zonePB= expN; - set(ghandles. zonePB1,'value',1) - set(ghandles. zonePB2,'value',0) - set(ghandles. zonePB3,'value',0) - set(ghandles.zonePB1,'BackgroundColor',[1.0 0.6 0.6]) - set(ghandles.zonePB2,'BackgroundColor',[1.0 1.0 1.0]) - set(ghandles.zonePB3,'BackgroundColor',[1.0 1.0 1.0]) - orfLstSel=get(ghandles.GeneOrfTog,'value'); - if orfLstSel==1 - set(ghandles.listboxGnOrf,'string',Exp(1).Dexp(DexpN).srtOrfLst) - else - set(ghandles.listboxGnOrf,'string',Exp(1).Dexp(DexpN).srtGnLst) - end -end - -if expN==2 - zonesel=2; - zonePB= expN; - set(ghandles. zonePB2,'value',1) - set(ghandles. zonePB1,'value',0) - set(ghandles. zonePB3,'value',0) - set(ghandles.zonePB2,'BackgroundColor',[1.0 0.6 0.6]) - set(ghandles.zonePB1,'BackgroundColor',[1.0 1.0 1.0]) - set(ghandles.zonePB3,'BackgroundColor',[1.0 1.0 1.0]) - orfLstSel=get(ghandles.GeneOrfTog,'value'); - if orfLstSel==1 - set(ghandles.listboxGnOrf,'string',Exp(2).Dexp(DexpN).srtOrfLst) - else - set(ghandles.listboxGnOrf,'string',Exp(2).Dexp(DexpN).srtGnLst) - end -end - -if expN==3 - zonesel=3; - zonePB= expN; - set(ghandles. zonePB3,'value',1) - set(ghandles. zonePB2,'value',0) - set(ghandles. zonePB1,'value',0) - set(ghandles.zonePB3,'BackgroundColor',[1.0 0.6 0.6]) - set(ghandles.zonePB1,'BackgroundColor',[1.0 1.0 1.0]) - set(ghandles.zonePB2,'BackgroundColor',[1.0 1.0 1.0]) - orfLstSel=get(ghandles.GeneOrfTog,'value'); - if orfLstSel==1 - set(ghandles.listboxGnOrf,'string',Exp(3).Dexp(DexpN).srtOrfLst) - else - set(ghandles.listboxGnOrf,'string',Exp(3).Dexp(DexpN).srtGnLst) - end -end -%*********************************************************************** - - -Exp(expN).Trace(traceN).UsrGLB= geneOrfstr; -Exp(expN).Trace(traceN).dmSel= pertSel; -Exp(expN).Trace(traceN).DexpN= DexpN; -Exp(expN).Trace(traceN).Dexp(DexpN).DM(pertSel).UsrLvals= l; -Exp(expN).Trace(traceN).Dexp(DexpN).DM(pertSel).UsrKvals= K; -Exp(expN).Trace(traceN).Dexp(DexpN).DM(pertSel).Usrrvals= r; - -%************************************************************** - -catch - msg= 'NotImage' -end % trycatch expN<4 datatip selection from Image (not from an OverLay Plot) - - -end %if ~exist('OLay','var') -%****************************************************************************************** -%Write Selected Trace Info to OLAY header********************+++++++++++++++++************* -try -OLayTest=OLay<4 -msg='OLay' -%make all traces blue -for i=1:length(Exp(OLay).hOL(:)) -try set(Exp(OLay).hOL(i),'color',[0 0 1]), catch end -end - -%if get(ghandles.rotPB1,'value')~=1, -for i=1:length(Exp(OLay).hOL(:)) - htargetAxes - Exp(OLay).hOL(i) -if htargetAxes==Exp(OLay).hOL(i) - if OLay==1 && get(ghandles.rotPB1,'value')~=1, - set(htargetAxes,'color',[1 0 0]) - try if length(char(Exp(OLay).hOLname(i)))>40,set(ghandles.OLay1,'FontSize',8);end, catch, end - set(ghandles.OLay1,'string', Exp(OLay).hOLname(i)); - traceLab= char(Exp(OLay).hOLname(i)); - try if length(char(Exp(OLay).hOLexpNm(i)))>40,set(ghandles.OLexp1,'FontSize',8);end, catch, end - set(ghandles.OLexp1,'string',Exp(OLay).hOLexpNm(i)); - OLresDir= Exp(OLay).hOLresDir(i); - Exp(OLay).hOLplateNum(i)= Exp(expN).Dexp(DexpN).plateNum %bug fix for OLay "chrono' RF_cmp( ) trend - plateNum= Exp(expN).Dexp(DexpN).plateNum - OLplateNum= Exp(OLay).hOLplateNum(i); - seltraceN=i; - - end - if OLay==2 && get(ghandles.rotPB2,'value') ~=1 - set(htargetAxes,'color',[1 0 0]) - try if length(char(Exp(OLay).hOLname(i)))>40,set(ghandles.OLay2,'FontSize',8);end, catch, end - set(ghandles.OLay2,'string', Exp(OLay).hOLname(i)); - traceLab= char(Exp(OLay).hOLname(i)); - try if length(char(Exp(OLay).hOLexpNm(i)))>40,set(ghandles.OLexp2,'FontSize',8);end, catch, end - set(ghandles.OLexp2,'string',Exp(OLay).hOLexpNm(i)); - OLresDir= Exp(OLay).hOLresDir(i); - Exp(OLay).hOLplateNum(i)= Exp(expN).Dexp(DexpN).plateNum %bug fix for OLay "chrono' RF_cmp( ) trend - plateNum= Exp(expN).Dexp(DexpN).plateNum - OLplateNum= Exp(OLay).hOLplateNum(i); - seltraceN=i; - end - if OLay==3 && get(ghandles.rotPB3,'value') ~=1 - set(htargetAxes,'color',[1 0 0]) - try if length(char(Exp(OLay).hOLname(i)))>40,set(ghandles.OLay3,'FontSize',8);end, catch, end - set(ghandles.OLay3,'string', Exp(OLay).hOLname(i)); - traceLab= char(Exp(OLay).hOLname(i)); - try if length(char(Exp(OLay).hOLexpNm(i)))>40,set(ghandles.OLexp3,'FontSize',8);end, catch, end - set(ghandles.OLexp3,'string',Exp(OLay).hOLexpNm(i)); - OLresDir= Exp(OLay).hOLresDir(i); - Exp(OLay).hOLplateNum(i)= Exp(expN).Dexp(DexpN).plateNum %bug fix for OLay "chrono' RF_cmp( ) trend - plateNum= Exp(expN).Dexp(DexpN).plateNum - OLplateNum= Exp(OLay).hOLplateNum(i); - seltraceN=i; - end - Exp(OLay).seltraceN=seltraceN; -else - msg='Cant Find trace' + return end - -end % => for i=1:length(Exp(OLay).hOL(:)) - -%Extract row and col values from stored trace label for dest compare plots(EZdestComp) -%if a RFcmp_ is selected Need alternate method. -%if the Composite button is active, Need yet another method. -try - tracename=char(Exp(OLay).hOLname(seltraceN)) - - pos_= strfind(tracename,'_') - rxcy= tracename(pos_(2):pos_(3)) - cindx= strfind(rxcy,'c') - rindx= strfind(rxcy,'r') - LBr= str2num(rxcy((rindx+1):cindx-1)) - LBc= str2num(tracename((pos_(2)+cindx): pos_(3)-1)) - indx=((LBr-1)*24) +LBc - grfgenestr= tracename(1:pos_(3)-1) - scan= Exp(OLay).Dexp(DexpN).scan; - EZdatatip=2; - try - tracename=char(Exp(OLay).hOLname(seltraceN)) - EZdatatip=2; - catch +if expN==1,DexpN=(get(ghandles.DN1,'value')); end +if expN==2,DexpN=(get(ghandles.DN2,'value')); end +if expN==3,DexpN=(get(ghandles.DN3,'value')); end + +% Exp(expN).DexpN=DexpN; +if strcmp(Exp(expN).DexpType,'single'), DexpN=1; end +if exist('OLay','var'), clear ExpN; end +if ~exist('OLay','var') + try + ImageSel=expN<4 + destPerMP=Exp(expN).Dexp(DexpN).destPerMP; %length(gS.DM1.drug); + MPsel=Exp(expN).Dexp(DexpN).MPsel; %floor(get(handles.MPsldr1,'value')); + pertSel=Exp(expN).Dexp(DexpN).pertSel; %floor(get(handles.DMsldr1,'value')); + tPtSel=Exp(expN).Dexp(DexpN).tPtSel; %floor(get(handles.Tptsldr1,'value')); + plateNum=Exp(expN).Dexp(DexpN).plateNum; %(MPsel1-1)*destPerMP1 + pertSel1; + scan=Exp(expN).Dexp(DexpN).scan; + MP=Exp(expN).Dexp(DexpN).MP; + ptrPos=[cpos(1),cpos(2)]; %for VerticleImage + if htMapFg==0 %Comes from spot image Iaxes + try + for m=1:24 + for n=1:16 + coord=Exp(expN).Dexp(DexpN).FexpScanSpots{plateNum}{m,n,tPtSel}; %replace {1} with {plateNum} + if ptrPos(2)> coord(1) && ptrPos(2)< coord(3) + if ptrPos(1)> coord(2) && ptrPos(1) try for Write Selected Trace Info to OLAY header****** + if verLessThan('matlab','8.4') + else % accomodate new matlab changes after 2014a fix update 23_0807 + close(tempFig) + end + catch + %{ + g=K ./ (1 + exp(-r.* (t - l ))); + if K==0||r==0||l==0, g(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); + plot(plotAxes, plot(t,g),hold on,plot(tser,rawData,'g*'),hold off); + plot(OLaxes, plot(t,g),hold on,plot(tser,rawData,'g*'); + %} + end + % Get the DM agar description + if expN==1,DMstr=char(get(ghandles.DM1,'string'));end + if expN==2,DMstr=char(get(ghandles.DM2,'string'));end + if expN==3,DMstr=char(get(ghandles.DM3,'string'));end -%HIDE HIDE HIDE --------------------------------------------------- -%HIDE selected plot trace****rotPBx used for 'Hide'**************** -try -OLayTest=OLay<4 - msg='OLay' - OLay + gene=MP(1,MPsel).genename{1,1}(indx); orf=MP(1,MPsel).orf{1,1}(indx); + spec=MP(1,MPsel).specifics{1,1}(indx); % orfrep=MP(1,plateNum).orfRep{1,1}(indx); + tPtStr=strcat('T=', num2str(scan(1,plateNum).plate(1).t0Series(tPtSel))); + geneOrfstr=strcat(gene,'_',orf,'_','r',num2str(plateLoc(1)),'c',num2str(plateLoc(2)),'_',tPtStr); + grfgenestr=strcat(gene,'_',orf,'_','r',num2str(plateLoc(1)),'c',num2str(plateLoc(2))); + selGnOrf=grfgenestr; % added for EZdestComp.m and EZmDayTrend.m + graphStr=strcat(grfgenestr,'_','L=',Lstr,'_','r=',rstr,'_','K=',Kstr); + spotDescrip=strcat(graphStr,'->',DMstr); + xp=char(Exp(expN).Dexp(DexpN).resDir); + if ispc, + slashPos=strfind(char(Exp(expN).Dexp(DexpN).resDir),'\'); + else + slashPos=strfind(char(Exp(expN).Dexp(DexpN).resDir),'/'); + end + + startPos=slashPos(length(slashPos)-2) +1; + endPos=(slashPos(length(slashPos)) -1); + expStr={xp(startPos:endPos)}; -if get(ghandles.rotPB1,'value') ==1 && OLay==1, - %make all traces blue + Exp(expN).hOLname(traceN)=spotDescrip; % ZoneRelated %graphStr; %ghandles.Exp(expN).hOLname(traceN)=graphStr; + Exp(expN).hOLexpNm(traceN)=expStr; % ghandles.Exp(expN).hOLexpNm(traceN)=expStr; + Exp(expN).hOLresDir(traceN)={Exp(expN).Dexp(DexpN).resDir}; + Exp(expN).hOLplateNum(traceN)=plateNum; + + % traceData=vertcat(get(Exp(OLay).hOL(traceN),'XData'),get(ghandles.Exp(OLay).hOL(traceN),'YData')); + if expN==1,set(ghandles.GeneOrfLoc1,'string',geneOrfstr);end % Displays the value. + if expN==2,set(ghandles.GeneOrfLoc2,'string',geneOrfstr);end + if expN==3,set(ghandles.GeneOrfLoc3,'string',geneOrfstr);end + if expN==1,set(ghandles.graphStrLoc1,'string',spotDescrip);end % graphStr);end % Displays the value. + if expN==2,set(ghandles.graphStrLoc2,'string',spotDescrip);end % graphStr);end + if expN==3,set(ghandles.graphStrLoc3,'string',spotDescrip);end % graphStr);end + + try + if expN==1, %&& get(ghandles.rotPB1,'value')~=1 + try if length(char(Exp(expN).hOLname(traceN)))>40,set(ghandles.OLay1,'FontSize',8);end, catch end + set(ghandles.OLay1,'string', Exp(expN).hOLname(traceN)); + try if length(char(Exp(expN).hOLexpNm(traceN)))>40,set(ghandles.OLexp1,'FontSize',8);end, catch end + set(ghandles.OLexp1,'string',Exp(expN).hOLexpNm(traceN)); + end + if expN==2 %&& get(ghandles.rotPB2,'value') ~=1 + try if length(char(Exp(expN).hOLname(traceN)))>40,set(ghandles.OLay2,'FontSize',8);end, catch end + set(ghandles.OLay2,'string', Exp(expN).hOLname(traceN)); + try if length(char(Exp(expN).hOLexpNm(traceN)))>40,set(ghandles.OLexp2,'FontSize',8);end, catch end + set(ghandles.OLexp2,'string',Exp(expN).hOLexpNm(traceN)); + end + if expN==3 %&& get(ghandles.rotPB3,'value') ~=1 + try if length(char(Exp(expN).hOLname(traceN)))>40,set(ghandles.OLay3,'FontSize',8);end, catch end + set(ghandles.OLay3,'string', Exp(expN).hOLname(traceN)); + try if length(char(Exp(expN).hOLexpNm(traceN)))>40,set(ghandles.OLexp3,'FontSize',8);end, catch end + set(ghandles.OLexp3,'string',Exp(expN).hOLexpNm(traceN)); + end + catch + end + + %{ + if expN==1 + zonesel=1; + set(ghandles.zoneRad1,'value',1) + set(ghandles.zoneRad2,'value',0) + set(ghandles.zoneRad3,'value',0) + orfLstSel=get(ghandles.GeneOrfTog,'value'); + if orfLstSel==1 + set(ghandles.listboxGnOrf,'string',Exp(1).Dexp(DexpN).srtOrfLst) + else + set(ghandles.listboxGnOrf,'string',Exp(1).Dexp(DexpN).srtGnLst) + end + end + + if expN==2 + zonesel=2; + set(ghandles.zoneRad2,'value',1) + set(ghandles.zoneRad1,'value',0) + set(ghandles.zoneRad3,'value',0) + orfLstSel=get(ghandles.GeneOrfTog,'value'); + if orfLstSel==1 + set(ghandles.listboxGnOrf,'string',Exp(2).Dexp(DexpN).srtOrfLst) + else + set(ghandles.listboxGnOrf,'string',Exp(2).Dexp(DexpN).srtGnLst) + end + end + + if expN==3 + zonesel=3; + set(ghandles.zoneRad3,'value',1) + set(ghandles.zoneRad2,'value',0) + set(ghandles.zoneRad1,'value',0) + orfLstSel=get(ghandles.GeneOrfTog,'value'); + if orfLstSel==1 + set(ghandles.listboxGnOrf,'string',Exp(3).Dexp(DexpN).srtOrfLst) + else + set(ghandles.listboxGnOrf,'string',Exp(3).Dexp(DexpN).srtGnLst) + end + end + %} + + % Zone PB set here as replacement for zonePB radio buttons 230815 + if expN==1 + zonesel=1; + zonePB=expN; + set(ghandles. zonePB1,'value',1) + set(ghandles. zonePB2,'value',0) + set(ghandles. zonePB3,'value',0) + set(ghandles.zonePB1,'BackgroundColor',[1.0 0.6 0.6]) + set(ghandles.zonePB2,'BackgroundColor',[1.0 1.0 1.0]) + set(ghandles.zonePB3,'BackgroundColor',[1.0 1.0 1.0]) + orfLstSel=get(ghandles.GeneOrfTog,'value'); + if orfLstSel==1 + set(ghandles.listboxGnOrf,'string',Exp(1).Dexp(DexpN).srtOrfLst) + else + set(ghandles.listboxGnOrf,'string',Exp(1).Dexp(DexpN).srtGnLst) + end + end + + if expN==2 + zonesel=2; + zonePB=expN; + set(ghandles. zonePB2,'value',1) + set(ghandles. zonePB1,'value',0) + set(ghandles. zonePB3,'value',0) + set(ghandles.zonePB2,'BackgroundColor',[1.0 0.6 0.6]) + set(ghandles.zonePB1,'BackgroundColor',[1.0 1.0 1.0]) + set(ghandles.zonePB3,'BackgroundColor',[1.0 1.0 1.0]) + orfLstSel=get(ghandles.GeneOrfTog,'value'); + if orfLstSel==1 + set(ghandles.listboxGnOrf,'string',Exp(2).Dexp(DexpN).srtOrfLst) + else + set(ghandles.listboxGnOrf,'string',Exp(2).Dexp(DexpN).srtGnLst) + end + end + + if expN==3 + zonesel=3; + zonePB=expN; + set(ghandles. zonePB3,'value',1) + set(ghandles. zonePB2,'value',0) + set(ghandles. zonePB1,'value',0) + set(ghandles.zonePB3,'BackgroundColor',[1.0 0.6 0.6]) + set(ghandles.zonePB1,'BackgroundColor',[1.0 1.0 1.0]) + set(ghandles.zonePB2,'BackgroundColor',[1.0 1.0 1.0]) + orfLstSel=get(ghandles.GeneOrfTog,'value'); + if orfLstSel==1 + set(ghandles.listboxGnOrf,'string',Exp(3).Dexp(DexpN).srtOrfLst) + else + set(ghandles.listboxGnOrf,'string',Exp(3).Dexp(DexpN).srtGnLst) + end + end + + Exp(expN).Trace(traceN).UsrGLB=geneOrfstr; + Exp(expN).Trace(traceN).dmSel=pertSel; + Exp(expN).Trace(traceN).DexpN=DexpN; + Exp(expN).Trace(traceN).Dexp(DexpN).DM(pertSel).UsrLvals=l; + Exp(expN).Trace(traceN).Dexp(DexpN).DM(pertSel).UsrKvals=K; + Exp(expN).Trace(traceN).Dexp(DexpN).DM(pertSel).Usrrvals=r; + catch + msg='NotImage' + end + end + % Write Selected Trace Info to OLAY header + try + OLayTest=OLay<4 + msg='OLay' + % make all traces blue for i=1:length(Exp(OLay).hOL(:)) - set(Exp(OLay).hOL(i),'color',[0 0 1]) + try set(Exp(OLay).hOL(i),'color',[0 0 1]), catch end end + % if get(ghandles.rotPB1,'value')~=1, + for i=1:length(Exp(OLay).hOL(:)) + htargetAxes + Exp(OLay).hOL(i) + if htargetAxes==Exp(OLay).hOL(i) + if OLay==1 && get(ghandles.rotPB1,'value')~=1, + set(htargetAxes,'color',[1 0 0]) + try if length(char(Exp(OLay).hOLname(i)))>40,set(ghandles.OLay1,'FontSize',8);end, catch, end + set(ghandles.OLay1,'string', Exp(OLay).hOLname(i)); + traceLab=char(Exp(OLay).hOLname(i)); + try if length(char(Exp(OLay).hOLexpNm(i)))>40,set(ghandles.OLexp1,'FontSize',8);end, catch, end + set(ghandles.OLexp1,'string',Exp(OLay).hOLexpNm(i)); + OLresDir=Exp(OLay).hOLresDir(i); + Exp(OLay).hOLplateNum(i)=Exp(expN).Dexp(DexpN).plateNum %bug fix for OLay "chrono' RF_cmp( ) trend + plateNum=Exp(expN).Dexp(DexpN).plateNum + OLplateNum=Exp(OLay).hOLplateNum(i); + seltraceN=i; + end + if OLay==2 && get(ghandles.rotPB2,'value') ~=1 + set(htargetAxes,'color',[1 0 0]) + try if length(char(Exp(OLay).hOLname(i)))>40,set(ghandles.OLay2,'FontSize',8);end, catch, end + set(ghandles.OLay2,'string', Exp(OLay).hOLname(i)); + traceLab=char(Exp(OLay).hOLname(i)); + try if length(char(Exp(OLay).hOLexpNm(i)))>40,set(ghandles.OLexp2,'FontSize',8);end, catch, end + set(ghandles.OLexp2,'string',Exp(OLay).hOLexpNm(i)); + OLresDir=Exp(OLay).hOLresDir(i); + Exp(OLay).hOLplateNum(i)=Exp(expN).Dexp(DexpN).plateNum %bug fix for OLay "chrono' RF_cmp( ) trend + plateNum=Exp(expN).Dexp(DexpN).plateNum + OLplateNum=Exp(OLay).hOLplateNum(i); + seltraceN=i; + end + if OLay==3 && get(ghandles.rotPB3,'value') ~=1 + set(htargetAxes,'color',[1 0 0]) + try if length(char(Exp(OLay).hOLname(i)))>40,set(ghandles.OLay3,'FontSize',8);end, catch, end + set(ghandles.OLay3,'string', Exp(OLay).hOLname(i)); + traceLab=char(Exp(OLay).hOLname(i)); + try if length(char(Exp(OLay).hOLexpNm(i)))>40,set(ghandles.OLexp3,'FontSize',8);end, catch, end + set(ghandles.OLexp3,'string',Exp(OLay).hOLexpNm(i)); + OLresDir=Exp(OLay).hOLresDir(i); + Exp(OLay).hOLplateNum(i)=Exp(expN).Dexp(DexpN).plateNum %bug fix for OLay "chrono' RF_cmp( ) trend + plateNum=Exp(expN).Dexp(DexpN).plateNum + OLplateNum=Exp(OLay).hOLplateNum(i); + seltraceN=i; + end + Exp(OLay).seltraceN=seltraceN; + else + msg='Cant Find trace' + end + end + + % Extract row and col values from stored trace label for dest compare plots(EZdestComp) + % if a RFcmp_ is selected Need alternate method. + % if the Composite button is active, Need yet another method. + try + tracename=char(Exp(OLay).hOLname(seltraceN)) + pos_=strfind(tracename,'_') + rxcy=tracename(pos_(2):pos_(3)) + cindx=strfind(rxcy,'c') + rindx=strfind(rxcy,'r') + LBr=str2num(rxcy((rindx+1):cindx-1)) + LBc=str2num(tracename((pos_(2)+cindx): pos_(3)-1)) + indx=((LBr-1)*24) +LBc + grfgenestr=tracename(1:pos_(3)-1) + scan=Exp(OLay).Dexp(DexpN).scan; + EZdatatip=2; + try + tracename=char(Exp(OLay).hOLname(seltraceN)) + EZdatatip=2; + catch + end + catch + msg='Not from an OLay selected trace' + end + catch + msg='Not in OLay frame-axis 0' + end + % Hide selected plot trace: rotPBx used for 'Hide' + try + OLayTest=OLay<4 + msg='OLay' + OLay + if get(ghandles.rotPB1,'value') ==1 && OLay==1, + % make all traces blue + for i=1:length(Exp(OLay).hOL(:)) + set(Exp(OLay).hOL(i),'color',[0 0 1]) + end for i=1:length(Exp(OLay).hOL(:)) if htargetAxes==Exp(OLay).hOL(i) - hidAx1traceN=i + hidAx1traceN=i set(Exp(OLay).hOL(i),'Visible','off') set(Exp(OLay).hOLb(i),'Visible','off') for j=1:length(Exp(OLay).hOL(:)) - if isequal(get(Exp(OLay).hOL(j),'Visible'),'on'), maxhN= j; end + if isequal(get(Exp(OLay).hOL(j),'Visible'),'on'), maxhN=j; end end end - if htargetAxes==Exp(OLay).hOL(i), break;end + if htargetAxes==Exp(OLay).hOL(i), break;end end - set(Exp(OLay).hOL(maxhN),'color',[1 0 0]) %Set latest trace red - set(Exp(OLay).hOLb(maxhN),'color',[0 1 0]) - if OLay==1 - try if length(char(Exp(OLay).hOLname(maxhN)))>40,set(ghandles.OLay1,'FontSize',8);end, catch, end - set(ghandles.OLay1,'string', Exp(OLay).hOLname(maxhN)); - traceLab= char(Exp(OLay).hOLname(maxhN)); - try if length(char(Exp(OLay).hOLexpNm(maxhN)))>40,set(ghandles.OLexp1,'FontSize',8);end, catch, end - set(ghandles.OLexp1,'string',Exp(OLay).hOLexpNm(maxhN)); - OLresDir= Exp(OLay).hOLresDir(maxhN); - OLplateNum= Exp(OLay).hOLplateNum(maxhN); - end + set(Exp(OLay).hOL(maxhN),'color',[1 0 0]) %Set latest trace red + set(Exp(OLay).hOLb(maxhN),'color',[0 1 0]) + if OLay==1 + try if length(char(Exp(OLay).hOLname(maxhN)))>40,set(ghandles.OLay1,'FontSize',8);end, catch, end + set(ghandles.OLay1,'string', Exp(OLay).hOLname(maxhN)); + traceLab=char(Exp(OLay).hOLname(maxhN)); + try if length(char(Exp(OLay).hOLexpNm(maxhN)))>40,set(ghandles.OLexp1,'FontSize',8);end, catch, end + set(ghandles.OLexp1,'string',Exp(OLay).hOLexpNm(maxhN)); + OLresDir=Exp(OLay).hOLresDir(maxhN); + OLplateNum=Exp(OLay).hOLplateNum(maxhN); + end + end -end - -%------HIDE 22222222222222222----- -if get(ghandles.rotPB2,'value')==1 && OLay==2, % + % Hide + if get(ghandles.rotPB2,'value')==1 && OLay==2, % for j=1:length(Exp(OLay).hOL(:)) %Set all traces blue - try set(Exp(OLay).hOL(i),'color',[0 0 1]), catch, end + try set(Exp(OLay).hOL(i),'color',[0 0 1]), catch, end end for i=1:length(Exp(OLay).hOL(:)) if htargetAxes==Exp(OLay).hOL(i) - hidAx2traceN=i + hidAx2traceN=i set(Exp(OLay).hOL(i),'Visible','off') set(Exp(OLay).hOLb(i),'Visible','off') for j=1:length(Exp(OLay).hOL(:)) - try if isequal(get(Exp(OLay).hOL(j),'Visible'),'on'), maxhN= j; end, catch end + try if isequal(get(Exp(OLay).hOL(j),'Visible'),'on'), maxhN=j; end, catch end end end - if htargetAxes==Exp(OLay).hOL(i), break;end + if htargetAxes==Exp(OLay).hOL(i), break;end end - set(Exp(OLay).hOL(maxhN),'color',[1 0 0]) %Set latest trace red - set(Exp(OLay).hOLb(maxhN),'color',[0 1 0]) - if OLay==2 - try if length(char(Exp(OLay).hOLname(maxhN)))>40,set(ghandles.OLay2,'FontSize',8);end, catch, end - set(ghandles.OLay2,'string', Exp(OLay).hOLname(maxhN)); - traceLab= char(Exp(OLay).hOLname(maxhN)); - try if length(char(Exp(OLay).hOLexpNm(maxhN)))>40,set(ghandles.OLexp2,'FontSize',8);end, catch, end - set(ghandles.OLexp2,'string',Exp(OLay).hOLexpNm(maxhN)); - OLresDir= Exp(OLay).hOLresDir(maxhN); - OLplateNum= Exp(OLay).hOLplateNum(maxhN); - end -end %if rotPB2 ....==1 + set(Exp(OLay).hOL(maxhN),'color',[1 0 0]) %Set latest trace red + set(Exp(OLay).hOLb(maxhN),'color',[0 1 0]) + if OLay==2 + try if length(char(Exp(OLay).hOLname(maxhN)))>40,set(ghandles.OLay2,'FontSize',8);end, catch, end + set(ghandles.OLay2,'string', Exp(OLay).hOLname(maxhN)); + traceLab=char(Exp(OLay).hOLname(maxhN)); + try if length(char(Exp(OLay).hOLexpNm(maxhN)))>40,set(ghandles.OLexp2,'FontSize',8);end, catch, end + set(ghandles.OLexp2,'string',Exp(OLay).hOLexpNm(maxhN)); + OLresDir=Exp(OLay).hOLresDir(maxhN); + OLplateNum=Exp(OLay).hOLplateNum(maxhN); + end + end -%------HIDE 33333333333333----- -if get(ghandles.rotPB3,'value') ==1 && OLay==3, - %make all traces blue + % Hide 3 + if get(ghandles.rotPB3,'value') ==1 && OLay==3, + % make all traces blue for i=1:length(Exp(OLay).hOL(:)) try set(Exp(OLay).hOL(i),'color',[0 0 1]), catch, end end - for i=1:length(Exp(OLay).hOL(:)) if htargetAxes==Exp(OLay).hOL(i) hidAx3traceN=i set(Exp(OLay).hOL(i),'Visible','off') set(Exp(OLay).hOLb(i),'Visible','off') for j=1:length(Exp(OLay).hOL(:)) - try if isequal(get(Exp(OLay).hOL(j),'Visible'),'on'), maxhN= j; end, catch, end + try if isequal(get(Exp(OLay).hOL(j),'Visible'),'on'), maxhN=j; end, catch, end end end - if htargetAxes==Exp(OLay).hOL(i), break;end + if htargetAxes==Exp(OLay).hOL(i), break;end end - set(Exp(OLay).hOL(maxhN),'color',[1 0 0]) %Set latest trace red - set(Exp(OLay).hOLb(maxhN),'color',[0 1 0]) - if OLay==3 - try if length(char(Exp(OLay).hOLname(maxhN)))>40,set(ghandles.OLay3,'FontSize',8);end, catch, end - set(ghandles.OLay3,'string', Exp(OLay).hOLname(maxhN)); - traceLab= char(Exp(OLay).hOLname(maxhN)); - try if length(char(Exp(OLay).hOLexpNm(maxhN)))>40,set(ghandles.OLexp3,'FontSize',8);end, catch, end - set(ghandles.OLexp3,'string',Exp(OLay).hOLexpNm(maxhN)); - OLresDir= Exp(OLay).hOLresDir(maxhN); - OLplateNum= Exp(OLay).hOLplateNum(maxhN); - end - -end - -destcompMsg= 'Olay'; - + set(Exp(OLay).hOL(maxhN),'color',[1 0 0]) %Set latest trace red + set(Exp(OLay).hOLb(maxhN),'color',[0 1 0]) + if OLay==3 + try if length(char(Exp(OLay).hOLname(maxhN)))>40,set(ghandles.OLay3,'FontSize',8);end, catch, end + set(ghandles.OLay3,'string', Exp(OLay).hOLname(maxhN)); + traceLab=char(Exp(OLay).hOLname(maxhN)); + try if length(char(Exp(OLay).hOLexpNm(maxhN)))>40,set(ghandles.OLexp3,'FontSize',8);end, catch, end + set(ghandles.OLexp3,'string',Exp(OLay).hOLexpNm(maxhN)); + OLresDir=Exp(OLay).hOLresDir(maxhN); + OLplateNum=Exp(OLay).hOLplateNum(maxhN); + end + end + destcompMsg='Olay'; catch -msg='Not in OLay frame-axis 1' + msg='Not in OLay frame-axis 1' end - - - -%********************************************************************************** - NoOLay=0; try - OLay - expN=OLay - EZdatatip= 2 + OLay + expN=OLay + EZdatatip=2 catch - NoOLay=1; - EZdatatip=1; + NoOLay=1; + EZdatatip=1; end if get(ghandles.spotTog,'value')==1 && NoOLay - OLresDir= Exp(expN).Dexp(DexpN).resDir; - OLplateNum=plateNum; - imLoc= [picLoc1(2), picLoc1(1)]; - EZspotview(expN,DexpN, imLoc,OLresDir,OLplateNum,NoOLay) + OLresDir=Exp(expN).Dexp(DexpN).resDir; + OLplateNum=plateNum; + imLoc=[picLoc1(2), picLoc1(1)]; + EZspotview(expN,DexpN, imLoc,OLresDir,OLplateNum,NoOLay) end -%*****GraphicPertibationComparison**15_821*OR Chrono Day Comparison****************** - -if strcmpi(Exp(expN).DexpType,'single')||... - strcmpi(Exp(expN).DexpType,'multi') - %************ - EZdestComp %* - %************ -elseif strcmpi(Exp(expN).DexpType,'chrono') && ... - length(Exp(expN).Dexp)>1 - %************* - EZmDayTrend %** - %************* +% GraphicPertibationComparison**15_821*OR Chrono Day Comparison +if strcmpi(Exp(expN).DexpType,'single') ... +|| strcmpi(Exp(expN).DexpType,'multi') + EZdestComp +elseif strcmpi(Exp(expN).DexpType,'chrono') ... +&& length(Exp(expN).Dexp)>1 + EZmDayTrend end -%******************************** + % spotTog && ~Hide && Olay Capture spot location for spotview May need to % add DexpN BUT the OLresDir likely get spotview to where it needs to go. try -if exist('OLay') %User clicked on an Overlay -if get(ghandles.spotTog,'value')==1 && get(ghandles.rotPB1,'value') ~=1 && OLay<4 -msg='OLay with SpotTog On and Hide off' -pos_=strfind(traceLab,'_') -rcStr=traceLab(pos_(2)+1:pos_(3)-1) -cPos=findstr(rcStr,'c'); -rUsr=str2num(rcStr(2:cPos-1)); -cUsr=str2num(rcStr(cPos+1:end)); -imLoc= [cUsr, (17-rUsr)]; %picLoc1 %transform horz user data to vert image for picLocation data -OLresDir %=Exp(expN).hOLresDir(traceN); -OLplateNum %=Exp(expN).hOLplateNum(traceN); -%******************************************************** - EZspotview(expN, imLoc,OLresDir,OLplateNum,NoOLay) %* -%******************************************************** -end -end + if exist('OLay') %User clicked on an Overlay + if get(ghandles.spotTog,'value')==1 && get(ghandles.rotPB1,'value') ~=1 && OLay<4 + msg='OLay with SpotTog On and Hide off' + pos_=strfind(traceLab,'_') + rcStr=traceLab(pos_(2)+1:pos_(3)-1) + cPos=findstr(rcStr,'c'); + rUsr=str2num(rcStr(2:cPos-1)); + cUsr=str2num(rcStr(cPos+1:end)); + imLoc=[cUsr, (17-rUsr)]; %picLoc1 %transform horz user data to vert image for picLocation data + OLresDir %=Exp(expN).hOLresDir(traceN); + OLplateNum %=Exp(expN).hOLplateNum(traceN); + EZspotview(expN, imLoc,OLresDir,OLplateNum,NoOLay) + end + end catch end [output_txt]=datatipp(obj,event_obj); -%*********************HeatMap Text Field********************************* + +% HeatMap Text Field try -ll=num2str(l); -if length(ll)>5,htl= ll(1:5);else htl=ll;end + ll=num2str(l); + if length(ll)>5,htl=ll(1:5);else htl=ll;end catch - htl=' '; + htl=' '; end try -kk=num2str(K); -if length(kk)>5,htk= kk(1:5);else htk=kk;end + kk=num2str(K); + if length(kk)>5,htk=kk(1:5);else htk=kk;end catch - htk=' '; + htk=' '; end try -rr=num2str(r); -if length(rr)>5,htr= rr(1:5);else htr=rr;end + rr=num2str(r); + if length(rr)>5,htr=rr(1:5);else htr=rr;end catch - htr=' '; + htr=' '; +end +try + n1=num2str(Exp(expN).HtMpIntN1(indx)); %num2str(Exp(expN).Dexp(DexpN).HtMpIntN1(indx)); + if length(n1)>5,N1=n1(1:5);else N1=n1; end + htN1=strcat('_N1=',N1); +catch + htN1=' '; end try - n1= num2str(Exp(expN).HtMpIntN1(indx)); %num2str(Exp(expN).Dexp(DexpN).HtMpIntN1(indx)); - if length(n1)>5,N1= n1(1:5);else N1=n1; end - htN1=strcat('_N1=',N1); -catch - htN1=' '; -end - -try - n2= num2str(Exp(expN).HtMpIntN2(indx)); %num2str(Exp(expN).Dexp(DexpN).HtMpIntN2(indx)); - if length(n2)>5,N2= n2(1:5);else N2=n2; end - htN2=strcat('_N2=',N2); + n2=num2str(Exp(expN).HtMpIntN2(indx)); %num2str(Exp(expN).Dexp(DexpN).HtMpIntN2(indx)); + if length(n2)>5,N2=n2(1:5);else N2=n2; end + htN2=strcat('_N2=',N2); catch - htN2=' '; + htN2=' '; end -if Exp(expN).htmapPBsel==1, htmapStr= strcat('K= ',htk); end -if Exp(expN).htmapPBsel==2, htmapStr= strcat('r= ',htr); end +if Exp(expN).htmapPBsel==1, htmapStr=strcat('K=',htk); end +if Exp(expN).htmapPBsel==2, htmapStr=strcat('r=',htr); end try -if Exp(expN).htmapPBsel==0 || Exp(expN).htmapPBsel>2 -htmapStr=strcat('L= ',htl, htN1,htN2) -if expN==1,set(ghandles.HtMapVals1,'string',htmapStr);end -if expN==2,set(ghandles.HtMapVals2,'string',htmapStr);end -if expN==3,set(ghandles.HtMapVals3,'string',htmapStr);end -end + if Exp(expN).htmapPBsel==0 || Exp(expN).htmapPBsel>2 + htmapStr=strcat('L=',htl, htN1,htN2) + if expN==1,set(ghandles.HtMapVals1,'string',htmapStr);end + if expN==2,set(ghandles.HtMapVals2,'string',htmapStr);end + if expN==3,set(ghandles.HtMapVals3,'string',htmapStr);end + end catch end try -if Exp(expN).htmapPBsel==1 || Exp(expN).htmapPBsel==2 - -if expN==1,set(ghandles.HtMapVals1,'string',htmapStr);end -if expN==2,set(ghandles.HtMapVals2,'string',htmapStr);end -if expN==3,set(ghandles.HtMapVals3,'string',htmapStr);end -end + if Exp(expN).htmapPBsel==1 || Exp(expN).htmapPBsel==2 + if expN==1,set(ghandles.HtMapVals1,'string',htmapStr);end + if expN==2,set(ghandles.HtMapVals2,'string',htmapStr);end + if expN==3,set(ghandles.HtMapVals3,'string',htmapStr);end + end catch end -%datacursormode(gcf) -%**********************************************Test Area -%Added 18_0105 to define RFcmpGFlg for EZmDayTrend.m when an Image spot -%is clicked +% datacursormode(gcf) +% Test Area +% Added 18_0105 to define RFcmpGFlg for EZmDayTrend.m when an Image spot +% is clicked -tempLB= str2mat(selGnOrf) +tempLB=str2mat(selGnOrf) RFcmpGFlg=0; -if isequal(tempLB(4:6),'cmp'), RFnum= str2double(tempLB(3)); +if isequal(tempLB(4:6),'cmp'), RFnum=str2double(tempLB(3)); elseif isequal(tempLB(3:6),'cmpG'), RFcmpGFlg=1; elseif isequal(tempLB(3:6),'cmpP'), RFcmpGFlg=1; %I beleive handling will be the same as RFcmpG end diff --git a/workflow/apps/matlab/ezview/EZvFigPrint.m b/workflow/apps/matlab/ezview/EZvFigPrint.m index 3aebab8a..c05f1c78 100755 --- a/workflow/apps/matlab/ezview/EZvFigPrint.m +++ b/workflow/apps/matlab/ezview/EZvFigPrint.m @@ -1,25 +1,23 @@ -%EZvFigPrint.m Called by [P} button to produce S curves for publication +% EZvFigPrint.m Called by [P} button to produce S curves for publication global ghandles global Exp - - 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}) + 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; + legFontSz=10; markerSz=5; end - if get(ghandles.printOL1,'Value')==1,zone= 1; end - if get(ghandles.printOL2,'Value')==1,zone= 2; end - if get(ghandles.printOL3,'Value')==1,zone= 3; end +if get(ghandles.printOL1,'Value')==1,zone=1; end +if get(ghandles.printOL2,'Value')==1,zone=2; end +if get(ghandles.printOL3,'Value')==1,zone=3; end semiLog=0; if isequal(get(ghandles.OLaxes1,'YScale'),'log'), semiLog=1;end @@ -29,136 +27,121 @@ clear legName tmp figure set(gcf,'OuterPosition',(get(0,'screensize'))) - hn=0; - if isequal(get(Exp(zone).hOL(1),'Visible'),'on') - disphOLX(1)= {get(Exp(zone).hOL(1),'XData')} - disphOLY(1)= {get(Exp(zone).hOL(1),'YData')} - tmp(1)=strrep(Exp(zone).hOLname(1),'_','-') - try - disphOLbX(1)= {get(Exp(zone).hOLb(1),'XData')} - disphOLbY(1)= {get(Exp(zone).hOLb(1),'YData')} - catch end - - hn=hn+1 - notDup=1; - end +hn=0; +if isequal(get(Exp(zone).hOL(1),'Visible'),'on') + disphOLX(1)={get(Exp(zone).hOL(1),'XData')} + disphOLY(1)={get(Exp(zone).hOL(1),'YData')} + tmp(1)=strrep(Exp(zone).hOLname(1),'_','-') +try + disphOLbX(1)={get(Exp(zone).hOLb(1),'XData')} + disphOLbY(1)={get(Exp(zone).hOLb(1),'YData')} +catch end + hn=hn+1 + notDup=1; +end notDup=0; for hN=2:length(Exp(zone).hOL) - %Bounce-dupicate data removal - for j=1:(hN-1) - if isequal(Exp(zone).hOLname(hN), Exp(zone).hOLname(j))%&& ... - %isequal(get(Exp(zone).hOL(hN),'Visible'),'on') - notDup=0; - break - else - notDup=1; + % Bounce-dupicate data removal + for j=1:(hN-1) + if isequal(Exp(zone).hOLname(hN), Exp(zone).hOLname(j))%&& ... + % isequal(get(Exp(zone).hOL(hN),'Visible'),'on') + notDup=0; + break + else + notDup=1; + end + end + if notDup==1 + if isequal(get(Exp(zone).hOL(hN),'Visible'),'on') + hn=hn+1 + try + disphOLX(hn)={get(Exp(zone).hOL(hN),'XData')}; + disphOLY(hn)={get(Exp(zone).hOL(hN),'YData')}; + tmp(hn)=strrep(Exp(zone).hOLname(hN),'_','-') + try + disphOLbX(hn)={get(Exp(zone).hOLb(hN),'XData')}; + disphOLbY(hn)={get(Exp(zone).hOLb(hN),'YData')}; + catch + end + tmp(hn)=strrep(Exp(zone).hOLname(hN),'_','-') + catch ME + disp(ME) + display('error leading to line 59 catch') end end - if notDup==1 - if isequal(get(Exp(zone).hOL(hN),'Visible'),'on') - hn=hn+1 - try - disphOLX(hn)= {get(Exp(zone).hOL(hN),'XData')}; - disphOLY(hn)= {get(Exp(zone).hOL(hN),'YData')}; - tmp(hn)=strrep(Exp(zone).hOLname(hN),'_','-') - try - disphOLbX(hn)={get(Exp(zone).hOLb(hN),'XData')}; - disphOLbY(hn)= {get(Exp(zone).hOLb(hN),'YData')}; - catch end - tmp(hn)=strrep(Exp(zone).hOLname(hN),'_','-') - catch ME - disp(ME) - display('error leading to line 59 catch') - - end - end - end - end - - for i=1:hn - if semiLog==0 - hprint=plot(cell2mat(disphOLX(i)),cell2mat(disphOLY(i))) - set(hprint,'linewidth',lnwidth) %0.5 then 1.5 now 6 - set(gca,'fontsize',axisFontSz) % 8 to 15 to 21 - linecolor(i)={get(hprint,'color')}; - - else - hprint=semilogy(cell2mat(disphOLX(i)),cell2mat(disphOLY(i))) - set(hprint,'linewidth',lnwidth) %0.5 then 1.5 now 4.0 - set(gca,'fontsize',axisFontSz) % 8 to 15 to 21 - linecolor(i)={get(hprint,'color')}; - end - -hold all end +end - if Exp(zone).CompositPlot~=1 %Standard plot, Not a Composite Plot -legName= tmp -hleg=legend((legName),'location','NEO') -set(hleg,'fontsize',legFontSz) +for i=1:hn + if semiLog==0 + hprint=plot(cell2mat(disphOLX(i)),cell2mat(disphOLY(i))) + set(hprint,'linewidth',lnwidth) %0.5 then 1.5 now 6 + set(gca,'fontsize',axisFontSz) % 8 to 15 to 21 + linecolor(i)={get(hprint,'color')}; + else + hprint=semilogy(cell2mat(disphOLX(i)),cell2mat(disphOLY(i))) + set(hprint,'linewidth',lnwidth) %0.5 then 1.5 now 4.0 + set(gca,'fontsize',axisFontSz) % 8 to 15 to 21 + linecolor(i)={get(hprint,'color')}; + end + hold all +end -try +if Exp(zone).CompositPlot~=1 % Standard plot, Not a Composite Plot + legName=tmp + hleg=legend((legName),'location','NEO') + set(hleg,'fontsize',legFontSz) + try for i=1:hn - if semiLog==0 - hprint=plot(cell2mat(disphOLbX(i)),cell2mat(disphOLbY(i)),'marker','+','markerEdgeColor',cell2mat(linecolor(i)),'markerSize',markerSz, 'linestyle','none') - else - hprint=semilogy(cell2mat(disphOLbX(i)),cell2mat(disphOLbY(i)),'marker','+','markerEdgeColor',cell2mat(linecolor(i)),'markerSize',markerSz, 'linestyle','none') - end + if semiLog==0 + hprint=plot(cell2mat(disphOLbX(i)),cell2mat(disphOLbY(i)),'marker','+','markerEdgeColor',cell2mat(linecolor(i)),'markerSize',markerSz, 'linestyle','none') + else + hprint=semilogy(cell2mat(disphOLbX(i)),cell2mat(disphOLbY(i)),'marker','+','markerEdgeColor',cell2mat(linecolor(i)),'markerSize',markerSz, 'linestyle','none') + end end -catch end + catch + end + hold off +% End of Standard Overlay Plot +else % if Composite Plot + for hcN=1:(Exp(zone).cTraceN -1) + disphOLX(hcN)={get(Exp(zone).hCmean(hcN),'XData')}; + disphOLY(hcN)={get(Exp(zone).hCmean(hcN),'YData')}; + disphOLbX(hcN)={get(Exp(zone).hBound1(hcN),'XData')}; + disphOLbY(hcN)={get(Exp(zone).hBound1(hcN),'YData')}; + disphOLcX(hcN)={get(Exp(zone).hBound2(hcN),'XData')}; + disphOLcY(hcN)={get(Exp(zone).hBound2(hcN),'YData')}; + tmp(hcN)=(Exp(zone).cName(hcN)) + if semiLog==0 + hprint=plot(cell2mat(disphOLX(hcN)),cell2mat(disphOLY(hcN))) + set(hprint,'linewidth',lnwidth) %0.5 then 1.5 now 6 + set(gca,'fontsize',axisFontSz) % 8 to 15 to 21 + linecolor(hcN)={get(hprint,'color')}; + else + hprint=semilogy(cell2mat(disphOLX(hcN)),cell2mat(disphOLY(hcN))) + set(hprint,'linewidth',lnwidth) %0.5 then 1.5 now 4.0 + set(gca,'fontsize',axisFontSz) % 8 to 15 to 21 + linecolor(hcN)={get(hprint,'color')}; + end + hold all + legName=tmp + hleg=legend((legName),'location','NEO') + set(hleg,'fontsize',legFontSz) + %{ + for i=1:hn + hprint=plot(cell2mat(disphOLbX(i)),cell2mat(disphOLbY(i)),'marker','+','markerEdgeColor',cell2mat(linecolor(i)),'markerSize',markerSz, 'linestyle','none') + end + %} + end - -hold off -%*******End of Standard Overlay Plot*********************** - else %if Composite Plot - for hcN=1:(Exp(zone).cTraceN -1) - disphOLX(hcN)= {get(Exp(zone).hCmean(hcN),'XData')}; - disphOLY(hcN)= {get(Exp(zone).hCmean(hcN),'YData')}; - disphOLbX(hcN)={get(Exp(zone).hBound1(hcN),'XData')}; - disphOLbY(hcN)= {get(Exp(zone).hBound1(hcN),'YData')}; - disphOLcX(hcN)={get(Exp(zone).hBound2(hcN),'XData')}; - disphOLcY(hcN)= {get(Exp(zone).hBound2(hcN),'YData')}; - tmp(hcN)=(Exp(zone).cName(hcN)) - - if semiLog==0 - hprint=plot(cell2mat(disphOLX(hcN)),cell2mat(disphOLY(hcN))) - set(hprint,'linewidth',lnwidth) %0.5 then 1.5 now 6 - set(gca,'fontsize',axisFontSz) % 8 to 15 to 21 - linecolor(hcN)={get(hprint,'color')}; - - else - hprint=semilogy(cell2mat(disphOLX(hcN)),cell2mat(disphOLY(hcN))) - set(hprint,'linewidth',lnwidth) %0.5 then 1.5 now 4.0 - set(gca,'fontsize',axisFontSz) % 8 to 15 to 21 - linecolor(hcN)={get(hprint,'color')}; - end - -hold all - -legName= tmp -hleg=legend((legName),'location','NEO') -set(hleg,'fontsize',legFontSz) - - - -%{ - for i=1:hn - hprint=plot(cell2mat(disphOLbX(i)),cell2mat(disphOLbY(i)),'marker','+','markerEdgeColor',cell2mat(linecolor(i)),'markerSize',markerSz, 'linestyle','none') - end - %} - end - - for i=1:(Exp(zone).cTraceN -1) - hBprint= plot(cell2mat(disphOLbX(i)),cell2mat(disphOLbY(i))) - set(hBprint,'linewidth',.5) %lnwidth) %0.5 then 1.5 now 6 - set(hBprint,'color',linecolor{i}) - - - hCprint= plot(cell2mat(disphOLcX(i)),cell2mat(disphOLcY(i))) - set(hCprint,'linewidth',0.5) %lnwidth) %0.5 then 1.5 now 6 - set(hBprint,'color',linecolor{i}) - end - hold off - end - + for i=1:(Exp(zone).cTraceN -1) + hBprint=plot(cell2mat(disphOLbX(i)),cell2mat(disphOLbY(i))) + set(hBprint,'linewidth',.5) %lnwidth) %0.5 then 1.5 now 6 + set(hBprint,'color',linecolor{i}) + hCprint=plot(cell2mat(disphOLcX(i)),cell2mat(disphOLcY(i))) + set(hCprint,'linewidth',0.5) %lnwidth) %0.5 then 1.5 now 6 + set(hBprint,'color',linecolor{i}) + end + hold off +end diff --git a/workflow/apps/matlab/ezview/EZvImagesOnly.m b/workflow/apps/matlab/ezview/EZvImagesOnly.m index c4ede991..9bda713d 100755 --- a/workflow/apps/matlab/ezview/EZvImagesOnly.m +++ b/workflow/apps/matlab/ezview/EZvImagesOnly.m @@ -1,24 +1,23 @@ -%EZvImagesOnly +% EZvImagesOnly asd=12 dirLst=dir(ExpPath) for i=1:size(dirLst,1) - if ~isempty(str2num(dirLst(i).name)) || ~isempty(strfind(dirLst(i).name,'Scan')) % && jpgOut==1 - scLst= fullfile(ExpPath,dirLst(i).name); - - for n=1:size(filelst,1) - try + if ~isempty(str2num(dirLst(i).name)) || ~isempty(strfind(dirLst(i).name,'Scan')) % && jpgOut==1 + scLst=fullfile(ExpPath,dirLst(i).name); + for n=1:size(filelst,1) + try if ~isempty(strfind(filelst(n).name,'bmp'))||~isempty(strfind(filelst(n).name,'tif')) tptImLst(n)=filelst(n).name; - end - catch - end - end - tptLength=length(tptImLst); - end - scLength=length(scLst); + catch + end + end + tptLength=length(tptImLst); + end + scLength=length(scLst); end -I= imread(ExpOutImFile); + +I=imread(ExpOutImFile); expAxes=handles.Iaxes1; imshow(I) set(expAxes,'xtick',[],'ytick',[]) @@ -29,4 +28,3 @@ expAxes=handles.Iaxes3; imshow(I) set(expAxes,'xtick',[],'ytick',[]) - \ No newline at end of file diff --git a/workflow/apps/matlab/ezview/EZvInitLoad.m b/workflow/apps/matlab/ezview/EZvInitLoad.m index 75f8e648..1af2c073 100755 --- a/workflow/apps/matlab/ezview/EZvInitLoad.m +++ b/workflow/apps/matlab/ezview/EZvInitLoad.m @@ -6,14 +6,14 @@ global userPars global usrExpJobsDir global zonePB global mpdmFile +global ghandles % Initialize some variables from matlab ezPath=which(mfilename); [ezDir,ezFileName]=fileparts(ezPath); ezDir=fullfile(easyDir); [parentDir, ~]=fileparts(ezDir); -parentDir=fullfile(parentDir); % ../easy/apps - +parentDir=fullfile(parentDir); debug=1; if debug disp('Running in debug mode'); @@ -21,42 +21,57 @@ if debug whos; end -% Set scansDir (project scans directory) intelligently -if exist('PROJECT', 'var') && ~isempty(getenv('PROJECT')) - project=getenv('PROJECT'); +fprintf('This script name: %s\n', ezFileName); - fprintf('Using project path: %s from environment variable PROJECT\n', scansDir); - disp('This usually indicates that we are in standalone mode'); -elseif exist('PROJECT_SCANS_DIR', 'var') && ~isempty(getenv('PROJECT_SCANS_DIR')) - scansDir=getenv('PROJECT_SCANS_DIR'); - fprintf('Using scans directory: %s from environment variable PROJECT_SCANS_DIR\n', scansDir); - disp('This usually indicates that we are in module mode'); -else - % TODO Lots of this is hardcoded logic, this TODO is just a reminder to change this block - % when changing EZ_DIR and other variables in the parent script - fprintf('Beginning parent scans directory search\n'); - fprintf('This usually indicates that we are in stand-alone mode without PROJECT or PROJECT_SCANS_DIR environment variables\n'); - dirsToScan={ - fullfile(parentDir,'..', '..', 'scans'), - fullfile(parentDir, '..', '..', 'ExpJobs'), - fullfile('/mnt/data/scans'), - fullfile('/mnt/data/ExpJobs'), - fullfile(parentDir, '..', '..', 'templates', 'scans-demo') - }; - for d=dirsToScan - if exist(d, 'dir') - subDirs=dir(d); - if ~isempty(subDirs) - fprintf('Found a non-empty parent scans directory in our list: %s\n', d); - fprintf('Scanning inside for a project scan directory\n'); - [~, sortedIndices]=sort(datenum({dirs.date}), 'descend'); % sort by newest first - sortedDirs=dirs{sortedIndices}; - scansDir=sortedDirs{1}; - fprintf('Selected newest project scans directory: %s\n', scansDir); + % Set scansDir (project scans directory) intelligently + if exist('PROJECT_SCANS_DIR', 'var') && ~isempty(getenv('PROJECT_SCANS_DIR')) + scansDir=fullfile(getenv('PROJECT_SCANS_DIR')); + if exist(scansDir, 'dir') + fprintf('Using scans directory: %s from environment variable PROJECT_SCANS_DIR\n', scansDir); + disp('This usually indicates that we are in module mode'); + if ~exist('PROJECT', 'var') || isempty(getenv('PROJECT')) + dirInfo=fileparts(scansDir); + project=dirInfo.name; + end + else + disp('WARNING: PROJECT_SCANS_DIR does not exist'); + end + elseif exist('PROJECT', 'var') && ~isempty(getenv('PROJECT')) % for standalone mode + % scansDir=fullfile(parentDir, '..', '..', 'scans', getenv('PROJECT') 'out', 'easy', getenv('PROJECT')); + scansDir=fullfile(parentDir, '..', '..', 'scans', getenv('PROJECT')); + project=getenv('PROJECT'); + fprintf('Using project path: %s from environment variable PROJECT\n', scansDir); + disp('This usually indicates that we are in standalone mode'); + else + % TODO Lots of this is hardcoded logic, this TODO is just a reminder to change this block + % when changing EASY/EZdir and other variables in the parent script + fprintf('WARNING: Running in standalone mode without PROJECT or PROJECT_SCANS_DIR environment variables (not recommended)\n'); + fprintf('Beginning parent scans directory search\n'); + dirsToScan={ + fullfile(parentDir, '..', '..', 'scans') + fullfile(parentDir, '..', '..', 'ExpJobs') + fullfile('mnt','data','scans') + fullfile('mnt','data', 'ExpJobs') + fullfile(parentDir, '..', '..', 'templates', 'scans-demo') + }; + for i=1:length(dirsToScan) + d=dirsToScan(i); + if exist(d, 'dir') + subDirs=dir(d); + pattern='^\d{6}_.*_.*'; + matchedDirs={dirs(regexp(subDirs.name, pattern)).name}; + if ~isempty(matchedDirs) + fprintf('Found a non-empty scans directory in our list: %s\n', char(d)); + fprintf('Setting scansDir to %s\n', char(d)); + scansDir=fullfile(d); + end + fprintf('Scanning inside %s for a project directory\n', char(d)); + sortedMatchedDirs=sortrows(matchedDirs); + project=sortedMatchedDirs{0}; % select the latest dir (by date prefix) + fprintf('Selected latest project directory %s\n', char(project)); end end end -end % User sanity check and warning if exist('PROJECT_USER', 'var') && ~isempty(getenv('PROJECT_USER')) @@ -101,884 +116,763 @@ userPars.BProt=45; userPars.Trenddefault={'1000'}; userPars.kfiltLim=str2double(userPars.BPdefault(6)); - - - - -% Generate the Exp arrays -numExps=3; -for i=1:numExps - Exp(i).cTraceN=0; - Exp(i).cTraceIndx(1)=1; -end -Exp(1).CompositPlot=0;Exp(2).CompositPlot=0;Exp(3).CompositPlot=0; -for i=1:numExps - Exp(i).DexpType='single'; - Exp(i).DexpN=1; - Exp(i).DexpLength=1; - eval(['set(handles.DN' num2str(i) ', ''value'', 1);']); % MATLAB level unlocked -end -set(handles.GeneOrfTog,'value',0) -try - load('EZsgdInfo'); -catch - disp('Fail to load EZsgdInfo file from code directory'); -end - -Exp(numExps+1).SGDnum=SGDnum; -Exp(numExps+1).SGDtext=SGDtext; -Exp(numExps+1).SGDraw=SGDraw; -Exp(numExps+1).interacPBsel=0; - - -% Big outer loop try catch to ln844 end ln868 -% try to use user selected 'ExpJobs' folder otherwise use a default -% directory in the uigetfile to load the experiment .mat file. - -try - [openExpfile,scansDir]=uigetfile('.mat','Open Experiment folder and data storage .mat file name','MultiSelect','off') - - - load (fullfile(Exp(1).Dexp(1).ExpFoldr,'MasterPlateFiles','MPDMmat.mat')) +try + % Generate the Exp arrays + numExps=3; for i=1:numExps - Exp(i).Dexp.DM=; + Exp(i).cTraceN=0; Exp(i).cTraceIndx(1)=1; end + Exp(1).CompositPlot=0;Exp(2).CompositPlot=0;Exp(3).CompositPlot=0; + for i=1:numExps + Exp(i).DexpType='single'; + Exp(i).DexpN=1; + Exp(i).DexpLength=1; + eval(['set(handles.DN' num2str(i) ', ''value'', 1);']); % MATLAB level unlocked + end + set(handles.GeneOrfTog,'value',0) + try + load('EZsgdInfo'); + catch + disp('Fail to load EZsgdInfo file from code directory'); + end - - Exp(1).Dexp(1).DM=DM; - Exp(2).Dexp(1).DM=DM; - Exp(3).Dexp(1).DM=DM; - Exp(1).Dexp(1).MP=MP; - Exp(2).Dexp(1).MP=MP; - Exp(3).Dexp(1).MP=MP; - Exp(1).Dexp(1).scan=scan; - Exp(2).Dexp(1).scan=scan; - Exp(3).Dexp(1).scan=scan; + Exp(numExps+1).SGDnum=SGDnum; + Exp(numExps+1).SGDtext=SGDtext; + Exp(numExps+1).SGDraw=SGDraw; + Exp(numExps+1).interacPBsel=0; - load(fullfile(resDir,'PTmats','NImParameters')) - Exp(1).Dexp(1).ImParMat=ImParMat; - Exp(2).Dexp(1).ImParMat=ImParMat; - Exp(3).Dexp(1).ImParMat=ImParMat; + % Big outer loop try catch to ln844 end ln868 + % try to use user selected 'ExpJobs' folder otherwise use a default + % directory in the uigetfile to load the experiment .mat file. - try + try + [openExpfile,scansDir]=uigetfile('.mat','Open Experiment folder and data storage .mat file name','MultiSelect','off') + load (fullfile(Exp(1).Dexp(1).ExpFoldr,'MasterPlateFiles','MPDMmat.mat')) + for i=1:numExps + Exp(i).Dexp(1).DM=DM; + Exp(i).Dexp(1).MP=MP; + Exp(i).Dexp(1).scan=scan; + Exp(i).cTraceIndx(1)=1; + end + + load(fullfile(resDir,'PTmats','NImParameters')) + Exp(1).Dexp(1).ImParMat=ImParMat; + Exp(2).Dexp(1).ImParMat=ImParMat; + Exp(3).Dexp(1).ImParMat=ImParMat; + + try load(fullfile(resDir,'Fotos','Coordinates')) load(fullfile(resDir,'Fotos','anlZones')) load(fullfile(resDir,'Fotos','BGatTpts')) - Exp(1).Dexp(1).FexpScanSpots=FexpScanSpots; - Exp(2).Dexp(1).FexpScanSpots=FexpScanSpots; - Exp(3).Dexp(1).FexpScanSpots=FexpScanSpots; - Exp(1).Dexp(1).FexpScanBMtp=FexpScanBMtp; - Exp(2).Dexp(1).FexpScanBMtp=FexpScanBMtp; - Exp(3).Dexp(1).FexpScanBMtp=FexpScanBMtp; - Exp(1).Dexp(1).anlZoneRefs=anlZoneRefs; - Exp(2).Dexp(1).anlZoneRefs=anlZoneRefs; - Exp(3).Dexp(1).anlZoneRefs=anlZoneRefs; - catch - end + for i=1:numExps + Exp(i).Dexp(1).FexpScanSpots=FexpScanSpots; + Exp(i).Dexp(1).FexpScanBMtp=FexpScanBMtp; + Exp(i).Dexp(1).anlZoneRefs=anlZoneRefs; + Exp(i).cTraceIndx(1)=1; + end + catch + end - Exp(1).traceN=0; Exp(2).traceN=0; Exp(3).traceN=0; %ZoneRelated + for i=1:numExps + Exp(i).traceN=0; % ZoneRelated + Exp(i).traceN=0; + Exp(i).hOL=[]; + Exp(i).hOLb=[]; + Exp(i).hOLname={}; + Exp(i).hOLexpNm={}; + Exp(i).hOLresDir={} + Exp(i).hOLplateNum=[]; + Exp(i).hOLresDir={}; + Exp(i).RFmd1indx=[]; + Exp(i).RFmd1pltN=[]; + Exp(i).RFmd2indx=[]; + Exp(i).RFmd2pltN=[]; + end - Exp(1).hOL =[]; Exp(1).hOLb=[]; - Exp(1).hOLname={}; Exp(1).hOLexpNm={}; Exp(1).hOLresDir={} - Exp(1).hOLplateNum=[]; - Exp(1).hOLresDir= {}; - Exp(1).RFmd1indx=[]; - Exp(1).RFmd1pltN=[]; - Exp(1).RFmd2indx=[]; - Exp(1).RFmd2pltN=[]; - - Exp(2).hOL =[]; Exp(2).hOLb=[]; - Exp(2).hOLname={}; Exp(2).hOLexpNm={}; Exp(2).hOLresDir={}; - Exp(2).hOLplateNum=[]; - Exp(2).hOLresDir= {}; - Exp(2).RFmd1indx=[]; - Exp(2).RFmd1pltN=[]; - Exp(2).RFmd2indx=[]; - Exp(2).RFmd2pltN=[]; - - Exp(3).hOL =[]; Exp(3).hOLb=[]; - Exp(3).hOLname={}; Exp(3).hOLexpNm={}; Exp(3).hOLresDir={}; - Exp(3).hOLplateNum=[]; - Exp(3).hOLresDir= {}; - Exp(3).RFmd1indx=[]; - Exp(3).RFmd1pltN=[]; - Exp(3).RFmd2indx=[]; - Exp(3).RFmd2pltN=[]; - - %sefaults values for EZvFigPrint that meet JLH preferences - Exp(4).plotPars={'4','36','10','5'}; - - expN=1; - %Test for Bad MP cell array (usually 384 [NaN}'s) - %replaced length(Exp(expN).Dexp(1).MP) with MPnum - for mx=1:length(Exp(expN).Dexp(1).MP) + % default values for EZvFigPrint that meet JLH preferences + Exp(4).plotPars={'4','36','10','5'}; + expN=1; + + % Test for Bad MP cell array (usually 384 [NaN}'s) + % replaced length(Exp(expN).Dexp(1).MP) with MPnum + for mx=1:length(Exp(expN).Dexp(1).MP) try char((Exp(1).Dexp(1).MP(mx).genename{1}(384))) - MPnum=mx; + MPnum=mx; catch - break + break end - end - %************************************************* + end + % MPnum=length(Exp(expN).Dexp(1).MP); + set(handles.MPsldr1,'min',1,'max',MPnum) + set(handles.MPsldr2,'min',1,'max',MPnum) + set(handles.MPsldr3,'min',1,'max',MPnum) + DMnum=length(Exp(expN).Dexp(1).DM.drug); + set(handles.DMsldr1,'min',1,'max',DMnum) %DMnum,'value',1.01) %100,'value',1.01) + set(handles.DMsldr2,'min',1,'max',DMnum) + set(handles.DMsldr3,'min',1,'max',DMnum) + tPtsSize=size(Exp(expN).Dexp(1).FexpScanBMtp{1,1},(3)); + set(handles.Tptsldr1,'min',1,'max',tPtsSize) + set(handles.Tptsldr2,'min',1,'max',tPtsSize) + set(handles.Tptsldr3,'min',1,'max',tPtsSize) + set(handles.MPsldr1,'SliderStep',[1/MPnum 1/MPnum]); %[1/length(MP) 1/length(MP)]) + set(handles.DMsldr1,'SliderStep',[1/length(DM.drug) 1/length(DM.drug)]); + set(handles.Tptsldr1,'SliderStep',[1/tPtsSize 1/tPtsSize]); + set(handles.MPsldr2,'SliderStep',[1/MPnum 1/MPnum]); + set(handles.DMsldr2,'SliderStep',[1/length(DM.drug) 1/length(DM.drug)]); + set(handles.Tptsldr2,'SliderStep',[1/tPtsSize 1/tPtsSize]); + set(handles.MPsldr3,'SliderStep',[1/MPnum 1/MPnum]); + set(handles.DMsldr3,'SliderStep',[1/length(DM.drug) 1/length(DM.drug)]); + set(handles.Tptsldr3,'SliderStep',[1/tPtsSize 1/tPtsSize]); - %MPnum=length(Exp(expN).Dexp(1).MP); - set(handles.MPsldr1,'min',1,'max',MPnum) - set(handles.MPsldr2,'min',1,'max',MPnum) - set(handles.MPsldr3,'min',1,'max',MPnum) - DMnum= length(Exp(expN).Dexp(1).DM.drug); - set(handles.DMsldr1,'min',1,'max',DMnum) %DMnum,'value',1.01) %100,'value',1.01) - set(handles.DMsldr2,'min',1,'max',DMnum) - set(handles.DMsldr3,'min',1,'max',DMnum) - tPtsSize=size(Exp(expN).Dexp(1).FexpScanBMtp{1,1},(3)); - set(handles.Tptsldr1,'min',1,'max',tPtsSize) - set(handles.Tptsldr2,'min',1,'max',tPtsSize) - set(handles.Tptsldr3,'min',1,'max',tPtsSize) - - set(handles.MPsldr1,'SliderStep',[1/MPnum 1/MPnum]); %[1/length(MP) 1/length(MP)]) - set(handles.DMsldr1,'SliderStep',[1/length(DM.drug) 1/length(DM.drug)]); - set(handles.Tptsldr1,'SliderStep',[1/tPtsSize 1/tPtsSize]); - set(handles.MPsldr2,'SliderStep',[1/MPnum 1/MPnum]); - set(handles.DMsldr2,'SliderStep',[1/length(DM.drug) 1/length(DM.drug)]); - set(handles.Tptsldr2,'SliderStep',[1/tPtsSize 1/tPtsSize]); - set(handles.MPsldr3,'SliderStep',[1/MPnum 1/MPnum]); - set(handles.DMsldr3,'SliderStep',[1/length(DM.drug) 1/length(DM.drug)]); - set(handles.Tptsldr3,'SliderStep',[1/tPtsSize 1/tPtsSize]); - - try - xp=char(Exp(expN).Dexp(1).resDir); - if ispc, - slashPos=strfind(char(Exp(expN).Dexp(1).resDir),'\'); - else - slashPos=strfind(char(Exp(expN).Dexp(1).resDir),'/'); - end - startPos=slashPos(length(slashPos)-1) +1; - endPos=slashPos(length(slashPos)) -1; - expStr= xp(startPos:endPos); - set(handles.expName1,'string',expStr); - set(handles.expName2,'string',expStr); - set(handles.expName3,'string',expStr); - catch + try + xp=char(Exp(expN).Dexp(1).resDir); + if ispc + slashPos=strfind(char(Exp(expN).Dexp(1).resDir),'\'); + else + slashPos=strfind(char(Exp(expN).Dexp(1).resDir),'/'); + end + startPos=slashPos(length(slashPos)-1) +1; + endPos=slashPos(length(slashPos)) -1; + expStr=xp(startPos:endPos); + set(handles.expName1,'string',expStr); + set(handles.expName2,'string',expStr); + set(handles.expName3,'string',expStr); + catch cd(w) - end %internal try xp=char(Exp(expN).Dexp(1).resDir); if ispc,... - + end %internal try xp=char(Exp(expN).Dexp(1).resDir); if ispc,... catch - cd(w) - msg='LOADing or Setup issue' - %if no load, then Message try SelExp PB to reload or try and different - %Experiment - end %nested try-catch-end from ->ExpOutmat= fullfile(scansDir,openExpfile); - - try - DNLaxes1= handles.DNLaxes1; DNLaxes2= handles.DNLaxes2; DNLaxes3= handles.DNLaxes3; - zeroCLn= zeros(1,DMnum); - %Exp(expN).expLoadCnt(1)=1; %ZoneRelated - Exp(1).hzeroCLn(1)=plot(DNLaxes1,zeroCLn,1:DMnum,'y'); try set(Exp(1).hzeroCLn,'visible','off'); catch ME, end - Exp(2).hzeroCLn(1)=plot(DNLaxes2,zeroCLn,1:DMnum,'y'); try set(Exp(2).hzeroCLn,'visible','off'); catch ME, end - Exp(3).hzeroCLn(1)=plot(DNLaxes3,zeroCLn,1:DMnum,'y'); try set(Exp(3).hzeroCLn,'visible','off'); catch ME, end - Exp(1).expLoadCnt=1; - Exp(2).expLoadCnt=1; - Exp(3).expLoadCnt=1; - - catch ME, ME.message, + cd(w) + msg='LOADing or Setup issue' + % if no load, then Message try SelExp PB to reload or try and different experiment end - %********************************************************************** - %****Compile GeneList and OrfList,**************************************** - %****Sort and add the medians of Ref Plates if RF1,RF2 exist************** + try + DNLaxes1=handles.DNLaxes1; DNLaxes2=handles.DNLaxes2; DNLaxes3=handles.DNLaxes3; + zeroCLn=zeros(1,DMnum); + %Exp(expN).expLoadCnt(1)=1; %ZoneRelated + Exp(1).hzeroCLn(1)=plot(DNLaxes1,zeroCLn,1:DMnum,'y'); try set(Exp(1).hzeroCLn,'visible','off'); catch ME, end + Exp(2).hzeroCLn(1)=plot(DNLaxes2,zeroCLn,1:DMnum,'y'); try set(Exp(2).hzeroCLn,'visible','off'); catch ME, end + Exp(3).hzeroCLn(1)=plot(DNLaxes3,zeroCLn,1:DMnum,'y'); try set(Exp(3).hzeroCLn,'visible','off'); catch ME, end + Exp(1).expLoadCnt=1; + Exp(2).expLoadCnt=1; + Exp(3).expLoadCnt=1; + catch ME + ME.message, + end + + % Compile GeneList and OrfList + % Sort and add the medians of Ref Plates if RF1,RF2 exist set(handles.listboxGnOrf,'string',{('Loading')}) lstindx=0; lstindxOrf=0; spN=0; rfcnt=0; dRF1indx=0; - RF1mp=[]; RF2mp=[]; + RF1mp=[]; + RF2mp=[]; for mp=1:MPnum %length(Exp(expN).Dexp(1).MP) - - RF1fullPlate=0; - try RF1fullPlate=sum(ismember((Exp(expN).Dexp(1).MP(mp).genename{1}),'RF1'))==384; catch, mp, msg=strcat(num2str(mp),' genename ERROR'), end - RF2fullPlate=0; - try RF2fullPlate=sum(ismember((Exp(expN).Dexp(1).MP(mp).genename{1}),'RF2'))==384; catch, mp, msg=strcat(num2str(mp),' genename ERROR'), end - for ind384=1:384 - spN=spN+1; - try %temp find data error - 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(1).MP(mp).genename{1}(ind384))==38991, - Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)={'OCT1_'}; - %genename{1}(ind384) replace numeric with a space ' ' or something - elseif isnumeric(cell2mat(Exp(expN).Dexp(1).MP(mp).genename{1}(ind384))) - Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)={' '}; - end - %****Check for full(384spot) Reference Plates (RF1 or/and RF2)************** - RF1fullPlate=0; - try RF1fullPlate=sum(ismember((Exp(expN).Dexp(1).MP(mp).genename{1}),'RF1'))==384; catch, mp, msg=strcat(num2str(mp),' genename ERROR'), end - RF2fullPlate=0; - try RF2fullPlate=sum(ismember((Exp(expN).Dexp(1).MP(mp).genename{1}),'RF2'))==384; catch, mp, msg=strcat(num2str(mp),' genename ERROR'), end - - - - if isempty(regexpi(char((Exp(expN).Dexp(1).MP(mp).orf{1}(ind384))),'blank'))... %,'\' - && ~isnumeric(Exp(expN).Dexp(1).MP(mp).orf{1}(ind384))... - && ~strcmpi((Exp(expN).Dexp(1).MP(mp).orf{1}(ind384)),' ')... - && ~strcmpi((Exp(expN).Dexp(1).MP(mp).orf{1}(ind384)),' ')... - && ~strcmpi((Exp(expN).Dexp(1).MP(mp).orf{1}(ind384)),'')... - && ~isempty((Exp(expN).Dexp(1).MP(mp).orf{1}(ind384)))... - && ~strcmpi((Exp(expN).Dexp(1).MP(mp).orf{1}(ind384)),'RF1')... - && ~strcmpi((Exp(expN).Dexp(1).MP(mp).orf{1}(ind384)),'RF2')... - && iscellstr((Exp(expN).Dexp(1).MP(mp).orf{1}(ind384))) % .genename{1}(ind384))) - - lstindxOrf=lstindxOrf+1; - bb(lstindxOrf,1)= (Exp(expN).Dexp(1).MP(mp).orf{1}(ind384)); - bb(lstindxOrf,2)={strcat(':',num2str(mp),':',num2str(r),':',num2str(c))}; - bb(lstindxOrf,3)={mp}; - bb(lstindxOrf,4)={r}; - bb(lstindxOrf,5)={c}; - - mutorfs(lstindxOrf)=spN; %16_0318 added for Interaction EZinteract - end - - if isempty(regexpi(char((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384))),'blank'))... %,'\' - && ~isnumeric(Exp(expN).Dexp(1).MP(mp).genename{1}(ind384))... - && ~strcmpi((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)),' ')... - && ~strcmpi((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)),' ')... - && ~strcmpi((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)),'')... - && ~isempty((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)))... - && ~strcmpi((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)),'RF1')... - && ~strcmpi((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)),'RF2')... - && iscellstr((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384))) - - lstindx=lstindx+1; - aa(lstindx,1)= (Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)); - aa(lstindx,2)={strcat(':',num2str(mp),':',num2str(r),':',num2str(c))}; - aa(lstindx,3)={mp}; - aa(lstindx,4)={r}; - aa(lstindx,5)={c}; - - mutgenes(lstindx)=spN; - %Exp(expN).Dexp(1).mutSpotIndx.woRFs(lstindx)=spN; - - - elseif (RF1fullPlate==1 ||... %sum(ismember((Exp(expN).Dexp(1).MP(mp).genename{1}),'RF1'))==384 || ... - (length(unique(Exp(expN).Dexp(1).MP(mp).genename{1}(1:384)))) ==1 && mp==1 ) && ... %(isequal((Exp(expN).Dexp(1).MP(mp).genename{1}(1:384)), (Exp(expN).Dexp(1).MP(mp).genename{1}(384:-1:1)))&& mp==1 )) && ... - ~exist('RF1scanN','var') - RF1mp=mp - RF1scanN=(mp*DMnum)-(DMnum-1); %mp; - rfcnt=rfcnt+1; - RFs(spN:spN+383)= spN:spN+383; - - elseif (RF2fullPlate==1|| ... %sum(ismember((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)),'RF2'))==384 ||... - (length(unique(Exp(expN).Dexp(1).MP(mp).genename{1}(1:384)))) ==1 && mp== MPnum ) && ... - ~exist('RF2scanN','var') - rfcnt=rfcnt+1; - RFs(spN:spN+383)= spN:spN+383; - asdf= sparse(RFs); - asd=find(asdf); - RFs=asd; - - RF2mp=mp - RF2scanN= (mp*DMnum)-(DMnum-1); %mp; - elseif strcmpi((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)),'RF1') && ... - (RF1fullPlate~=1) - - dRF1indx=dRF1indx+1; - Exp(expN).Dexp(1).MP(mp).genename{1}(ind384) =strrep((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)),':',' '); - drf(dRF1indx,1)= (Exp(expN).Dexp(1).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; - - end %if isempty(regexpi(char((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384))),'blank'))... - %********************************************************************** - catch - mp - ind384 - 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(1).MP) - %***************************************************** - %Cover case if mutorfs RFs are labeled RF1 or RF2 - try - Exp(1).Dexp(1).mutSpotIndx.wRFs= union(RFs, mutorfs); - catch - msg= 'No RFs Found in Exp! wRFs' - Exp(1).Dexp(1).mutSpotIndx.wRFs= mutorfs; - end - try - Exp(1).Dexp(1).mutSpotIndx.woRFs= setdiff(mutorfs,RFs); - catch - Exp(expN).Dexp(1).mutSpotIndx.woRFs= mutorfs; - msg= 'No RFs Found in Exp! woRFs' - end - Exp(2).Dexp(1).mutSpotIndx.wRFs= Exp(1).Dexp(1).mutSpotIndx.wRFs; - Exp(2).Dexp(1).mutSpotIndx.woRFs= Exp(1).Dexp(1).mutSpotIndx.woRFs; - Exp(3).Dexp(1).mutSpotIndx.wRFs= Exp(1).Dexp(1).mutSpotIndx.wRFs; - Exp(3).Dexp(1).mutSpotIndx.woRFs= Exp(1).Dexp(1).mutSpotIndx.woRFs; - %&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& + RF1fullPlate=0; + try RF1fullPlate=sum(ismember((Exp(expN).Dexp(1).MP(mp).genename{1}),'RF1'))==384; catch, mp, msg=strcat(num2str(mp),' genename ERROR'), end + RF2fullPlate=0; + try RF2fullPlate=sum(ismember((Exp(expN).Dexp(1).MP(mp).genename{1}),'RF2'))==384; catch, mp, msg=strcat(num2str(mp),' genename ERROR'), end + for ind384=1:384 + spN=spN+1; + try % temp find data error + 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(1).MP(mp).genename{1}(ind384))==38991, + Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)={'OCT1_'}; + % genename{1}(ind384) replace numeric with a space ' ' or something + elseif isnumeric(cell2mat(Exp(expN).Dexp(1).MP(mp).genename{1}(ind384))) + Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)={' '}; + end + % Check for full(384spot) Reference Plates (RF1 or/and RF2) + RF1fullPlate=0; + try RF1fullPlate=sum(ismember((Exp(expN).Dexp(1).MP(mp).genename{1}),'RF1'))==384; catch, mp, msg=strcat(num2str(mp),' genename ERROR'), end + RF2fullPlate=0; + try RF2fullPlate=sum(ismember((Exp(expN).Dexp(1).MP(mp).genename{1}),'RF2'))==384; catch, mp, msg=strcat(num2str(mp),' genename ERROR'), end + if isempty(regexpi(char((Exp(expN).Dexp(1).MP(mp).orf{1}(ind384))),'blank'))... %,'\' + && ~isnumeric(Exp(expN).Dexp(1).MP(mp).orf{1}(ind384))... + && ~strcmpi((Exp(expN).Dexp(1).MP(mp).orf{1}(ind384)),' ')... + && ~strcmpi((Exp(expN).Dexp(1).MP(mp).orf{1}(ind384)),' ')... + && ~strcmpi((Exp(expN).Dexp(1).MP(mp).orf{1}(ind384)),'')... + && ~isempty((Exp(expN).Dexp(1).MP(mp).orf{1}(ind384)))... + && ~strcmpi((Exp(expN).Dexp(1).MP(mp).orf{1}(ind384)),'RF1')... + && ~strcmpi((Exp(expN).Dexp(1).MP(mp).orf{1}(ind384)),'RF2')... + && iscellstr((Exp(expN).Dexp(1).MP(mp).orf{1}(ind384))) % .genename{1}(ind384))) + lstindxOrf=lstindxOrf+1; + bb(lstindxOrf,1)=(Exp(expN).Dexp(1).MP(mp).orf{1}(ind384)); + bb(lstindxOrf,2)={strcat(':',num2str(mp),':',num2str(r),':',num2str(c))}; + bb(lstindxOrf,3)={mp}; + bb(lstindxOrf,4)={r}; + bb(lstindxOrf,5)={c}; + mutorfs(lstindxOrf)=spN; %16_0318 added for Interaction EZinteract + end + if isempty(regexpi(char((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384))),'blank'))... %,'\' + && ~isnumeric(Exp(expN).Dexp(1).MP(mp).genename{1}(ind384))... + && ~strcmpi((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)),' ')... + && ~strcmpi((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)),' ')... + && ~strcmpi((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)),'')... + && ~isempty((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)))... + && ~strcmpi((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)),'RF1')... + && ~strcmpi((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)),'RF2')... + && iscellstr((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384))) + lstindx=lstindx+1; + aa(lstindx,1)=(Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)); + aa(lstindx,2)={strcat(':',num2str(mp),':',num2str(r),':',num2str(c))}; + aa(lstindx,3)={mp}; + aa(lstindx,4)={r}; + aa(lstindx,5)={c}; + mutgenes(lstindx)=spN; + % Exp(expN).Dexp(1).mutSpotIndx.woRFs(lstindx)=spN; + elseif (RF1fullPlate==1 ... % sum(ismember((Exp(expN).Dexp(1).MP(mp).genename{1}),'RF1'))==384 || ... + || (length(unique(Exp(expN).Dexp(1).MP(mp).genename{1}(1:384))))==1 && mp==1 ) ... %(isequal((Exp(expN).Dexp(1).MP(mp).genename{1}(1:384)), (Exp(expN).Dexp(1).MP(mp).genename{1}(384:-1:1)))&& mp==1 )) && ... + && ~exist('RF1scanN','var') + RF1mp=mp + RF1scanN=(mp*DMnum)-(DMnum-1); %mp; + rfcnt=rfcnt+1; + RFs(spN:spN+383)=spN:spN+383; + elseif (RF2fullPlate==1 ... %sum(ismember((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)),'RF2'))==384 ||... + || (length(unique(Exp(expN).Dexp(1).MP(mp).genename{1}(1:384))))==1 && mp==MPnum ) && ~exist('RF2scanN','var') + rfcnt=rfcnt+1; + RFs(spN:spN+383)=spN:spN+383; + asdf=sparse(RFs); + asd=find(asdf); + RFs=asd; + RF2mp=mp + RF2scanN=(mp*DMnum)-(DMnum-1); %mp; + elseif strcmpi((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)),'RF1') && (RF1fullPlate~=1) + dRF1indx=dRF1indx+1; + Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)=strrep((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384)),':',' '); + drf(dRF1indx,1)=(Exp(expN).Dexp(1).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; + end % if isempty(regexpi(char((Exp(expN).Dexp(1).MP(mp).genename{1}(ind384))),'blank'))... + catch + mp + ind384 + msgBadGeneName=strcat('check genename at mp=',num2str(mp),' indx=',num2str(ind384)) + end + end + mp + end + + % Cover case if mutorfs RFs are labeled RF1 or RF2 + try + Exp(1).Dexp(1).mutSpotIndx.wRFs=union(RFs, mutorfs); + catch + msg='No RFs Found in Exp! wRFs' + Exp(1).Dexp(1).mutSpotIndx.wRFs=mutorfs; + end + try + Exp(1).Dexp(1).mutSpotIndx.woRFs=setdiff(mutorfs,RFs); + catch + Exp(expN).Dexp(1).mutSpotIndx.woRFs=mutorfs; + msg='No RFs Found in Exp! woRFs' + end + + Exp(2).Dexp(1).mutSpotIndx.wRFs=Exp(1).Dexp(1).mutSpotIndx.wRFs; + Exp(2).Dexp(1).mutSpotIndx.woRFs=Exp(1).Dexp(1).mutSpotIndx.woRFs; + Exp(3).Dexp(1).mutSpotIndx.wRFs=Exp(1).Dexp(1).mutSpotIndx.wRFs; + Exp(3).Dexp(1).mutSpotIndx.woRFs=Exp(1).Dexp(1).mutSpotIndx.woRFs; Exp(1).Dexp(1).RFmd1indx=[]; Exp(2).Dexp(1).RFmd1indx=[]; Exp(3).Dexp(1).RFmd1indx=[]; Exp(1).Dexp(1).RFmd1pltN=[]; Exp(2).Dexp(1).RFmd1pltN=[]; Exp(3).Dexp(1).RFmd1pltN=[]; - Exp(1).Dexp(1).RFmean= []; Exp(2).Dexp(1).RFmean= []; Exp(3).Dexp(1).RFmean= []; - Exp(1).Dexp(1).RFmeanG= []; Exp(2).Dexp(1).RFmeanG= []; Exp(3).Dexp(1).RFmeanG= []; + Exp(1).Dexp(1).RFmean=[]; Exp(2).Dexp(1).RFmean=[]; Exp(3).Dexp(1).RFmean=[]; + Exp(1).Dexp(1).RFmeanG=[]; Exp(2).Dexp(1).RFmeanG=[]; Exp(3).Dexp(1).RFmeanG=[]; + if exist('RF1scanN','var') for d=0:(DMnum-1) - medianIndx=[]; - nonZeroIndx=[]; - medValList=[]; - rf1scN=RF1scanN+d; + medianIndx=[]; + nonZeroIndx=[]; + medValList=[]; + rf1scN=RF1scanN+d; - try %if RF1scanN doesn't exist this addition to list will be skipped - nonZeroIndx=find(Exp(expN).Dexp(1).scan(rf1scN).plate(1).CFout(1:384,5)); - - if isempty(nonZeroIndx), nonZeroCnt=0; medianIndx= nonZeroIndx; - else nonZeroCnt=length(nonZeroIndx); - end - % - if ~isempty(nonZeroIndx) && mod(nonZeroCnt,2)==0, medianIndx= nonZeroIndx(1:nonZeroCnt-1); end - if ~isempty(nonZeroIndx) && mod(nonZeroCnt,2)~=0, medianIndx= nonZeroIndx; end - clear medValLst - clear kValLst - clear rValLst - if ~isempty(nonZeroIndx) && length(medianIndx) > (.15*384) %To calc. a median, more than 15% of spots must be nonZero - medValLst= Exp(expN).Dexp(1).scan(rf1scN).plate(1).CFout(medianIndx,5); - medValList1{d+1}= medValLst; - min1= min(medValLst); - max1= max(medValLst); - std1= std(medValLst); - mean1= mean(medValLst) - - kValLst= Exp(expN).Dexp(1).scan(rf1scN).plate(1).CFout(medianIndx,3); %For Ref Composite 17_1009 - rValLst= Exp(expN).Dexp(1).scan(rf1scN).plate(1).CFout(medianIndx,4); %For Ref Composite 17_1009 - - mval1=median(medValLst); %(Exp(expN).Dexp(1).scan(RF1scanN).plate(1).CFout(383,5)); - RFmd1pos=find(mval1==(Exp(expN).Dexp(1).scan(rf1scN).plate(1).CFout(1:384,5))) - RFmd1loc(1)= ceil(RFmd1pos/24); %calc r value - RFmd1loc(2)= RFmd1pos - ((RFmd1loc(1)-1)*24); %calc c value - lstindx=lstindx+1; - lstindxOrf= lstindxOrf+1; - aa(lstindx,1)= {strcat('RF1md(',num2str(d+1),')')}; - aa(lstindx,2)={strcat(':',num2str(RF1mp),':',num2str(RFmd1loc(1)),':',num2str(RFmd1loc(2)))}; %,' std',num2str(std1))}; - bb(lstindxOrf,1)= {strcat('RF1md(',num2str(d+1),')')}; - bb(lstindxOrf,2)={strcat(':',num2str(RF1mp),':',num2str(RFmd1loc(1)),':',num2str(RFmd1loc(2)))}; %,' std',num2str(std1))}; - %Composite Reference Amalgum Plot ******** - lstindx=lstindx+1; - lstindxOrf= lstindxOrf+1; - aa(lstindx,1)= {strcat('RF1cmp(',num2str(d+1),')')}; - aa(lstindx,2)={''}; - bb(lstindxOrf,1)= {strcat('RF1cmp(',num2str(d+1),')')}; - bb(lstindxOrf,2)={''}; - %******************************************* + try %if RF1scanN doesn't exist this addition to list will be skipped + nonZeroIndx=find(Exp(expN).Dexp(1).scan(rf1scN).plate(1).CFout(1:384,5)); + if isempty(nonZeroIndx) + nonZeroCnt=0 + medianIndx=nonZeroIndx; + else + nonZeroCnt=length(nonZeroIndx); + end + if ~isempty(nonZeroIndx) && mod(nonZeroCnt,2)==0, medianIndx=nonZeroIndx(1:nonZeroCnt-1); end + if ~isempty(nonZeroIndx) && mod(nonZeroCnt,2)~=0, medianIndx=nonZeroIndx; end + clear medValLst + clear kValLst + clear rValLst + if ~isempty(nonZeroIndx) && length(medianIndx) > (.15*384) % To calc. a median, more than 15% of spots must be nonZero + medValLst=Exp(expN).Dexp(1).scan(rf1scN).plate(1).CFout(medianIndx,5); + medValList1{d+1}=medValLst; + min1=min(medValLst); + max1=max(medValLst); + std1=std(medValLst); + mean1=mean(medValLst) + kValLst=Exp(expN).Dexp(1).scan(rf1scN).plate(1).CFout(medianIndx,3); % For Ref Composite 17_1009 + rValLst=Exp(expN).Dexp(1).scan(rf1scN).plate(1).CFout(medianIndx,4); % For Ref Composite 17_1009 + mval1=median(medValLst); % (Exp(expN).Dexp(1).scan(RF1scanN).plate(1).CFout(383,5)); + RFmd1pos=find(mval1==(Exp(expN).Dexp(1).scan(rf1scN).plate(1).CFout(1:384,5))) + RFmd1loc(1)=ceil(RFmd1pos/24); %calc r value + RFmd1loc(2)=RFmd1pos - ((RFmd1loc(1)-1)*24); %calc c value + lstindx=lstindx+1; + lstindxOrf=lstindxOrf+1; + aa(lstindx,1)={strcat('RF1md(',num2str(d+1),')')}; + aa(lstindx,2)={strcat(':',num2str(RF1mp),':',num2str(RFmd1loc(1)),':',num2str(RFmd1loc(2)))}; %,' std',num2str(std1))}; + bb(lstindxOrf,1)={strcat('RF1md(',num2str(d+1),')')}; + bb(lstindxOrf,2)={strcat(':',num2str(RF1mp),':',num2str(RFmd1loc(1)),':',num2str(RFmd1loc(2)))}; %,' std',num2str(std1))}; + % Composite Reference Amalgum Plot + lstindx=lstindx+1; + lstindxOrf=lstindxOrf+1; + aa(lstindx,1)={strcat('RF1cmp(',num2str(d+1),')')}; + aa(lstindx,2)={''}; + bb(lstindxOrf,1)={strcat('RF1cmp(',num2str(d+1),')')}; + bb(lstindxOrf,2)={''}; - Exp(1).Dexp(1).RFmd1LB(d+1)= strcat(aa(lstindx,1),aa(lstindx,2)); Exp(2).Dexp(1).RFmd1LB(d+1)= strcat(aa(lstindx,1),aa(lstindx,2)); Exp(3).Dexp(1).RFmd1LB(d+1)= strcat(aa(lstindx,1),aa(lstindx,2)); - Exp(1).Dexp(1).RFmd1indx(d+1)=RFmd1pos; Exp(2).Dexp(1).RFmd1indx(d+1)=RFmd1pos; Exp(3).Dexp(1).RFmd1indx(d+1)=RFmd1pos; - Exp(1).Dexp(1).RFmd1pltN= RF1mp; Exp(2).Dexp(1).RFmd1pltN= RF1mp; Exp(3).Dexp(1).RFmd1pltN= RF1mp; - Exp(1).Dexp(1).RFmd1val(d+1)= mval1; Exp(2).Dexp(1).RFmd1val(d+1)= mval1; Exp(3).Dexp(1).RFmd1val(d+1)= mval1; - Exp(1).Dexp(1).mean1(d+1)= mean1; Exp(2).Dexp(1).mean1(d+1)= mean1; Exp(3).Dexp(1).mean1(d+1)= mean1; - Exp(1).Dexp(1).std1(d+1)= std1; Exp(2).Dexp(1).std1(d+1)= std1; Exp(3).Dexp(1).std1(d+1)= std1; - Exp(1).Dexp(1).min1(d+1)= min1; Exp(2).Dexp(1).min1(d+1)= min1; Exp(3).Dexp(1).min1(d+1)= min1; - Exp(1).Dexp(1).max1(d+1)= max1; Exp(2).Dexp(1).max1(d+1)= max1; Exp(3).Dexp(1).max1(d+1)= max1; + Exp(1).Dexp(1).RFmd1LB(d+1)=strcat(aa(lstindx,1),aa(lstindx,2)); Exp(2).Dexp(1).RFmd1LB(d+1)=strcat(aa(lstindx,1),aa(lstindx,2)); Exp(3).Dexp(1).RFmd1LB(d+1)=strcat(aa(lstindx,1),aa(lstindx,2)); + Exp(1).Dexp(1).RFmd1indx(d+1)=RFmd1pos; Exp(2).Dexp(1).RFmd1indx(d+1)=RFmd1pos; Exp(3).Dexp(1).RFmd1indx(d+1)=RFmd1pos; + Exp(1).Dexp(1).RFmd1pltN=RF1mp; Exp(2).Dexp(1).RFmd1pltN=RF1mp; Exp(3).Dexp(1).RFmd1pltN=RF1mp; + Exp(1).Dexp(1).RFmd1val(d+1)=mval1; Exp(2).Dexp(1).RFmd1val(d+1)=mval1; Exp(3).Dexp(1).RFmd1val(d+1)=mval1; + Exp(1).Dexp(1).mean1(d+1)=mean1; Exp(2).Dexp(1).mean1(d+1)=mean1; Exp(3).Dexp(1).mean1(d+1)=mean1; + Exp(1).Dexp(1).std1(d+1)=std1; Exp(2).Dexp(1).std1(d+1)=std1; Exp(3).Dexp(1).std1(d+1)=std1; + Exp(1).Dexp(1).min1(d+1)=min1; Exp(2).Dexp(1).min1(d+1)=min1; Exp(3).Dexp(1).min1(d+1)=min1; + Exp(1).Dexp(1).max1(d+1)=max1; Exp(2).Dexp(1).max1(d+1)=max1; Exp(3).Dexp(1).max1(d+1)=max1; - for ic=1:3 - Exp(ic).Dexp(1).RFcmpL(1).dm(d+1).Lvals= medValLst; %17_1201 TrendOL - Exp(ic).Dexp(1).RFcmpL(1).dm(d+1).med= median(medValLst); %For Ref Composite 17_1009 - Exp(ic).Dexp(1).RFcmpL(1).dm(d+1).mean= mean(medValLst); %For Ref Composite 17_1009 - Exp(ic).Dexp(1).RFcmpL(1).dm(d+1).std= std(medValLst); %For Ref Composite 17_1009 - Exp(ic).Dexp(1).RFcmpL(1).dm(d+1).min= min(medValLst); %For Ref Composite 17_1009 - Exp(ic).Dexp(1).RFcmpL(1).dm(d+1).max= max(medValLst); %For Ref Composite 17_1009 + for ic=1:3 + Exp(ic).Dexp(1).RFcmpL(1).dm(d+1).Lvals=medValLst; %17_1201 TrendOL + Exp(ic).Dexp(1).RFcmpL(1).dm(d+1).med=median(medValLst); %For Ref Composite 17_1009 + Exp(ic).Dexp(1).RFcmpL(1).dm(d+1).mean=mean(medValLst); %For Ref Composite 17_1009 + Exp(ic).Dexp(1).RFcmpL(1).dm(d+1).std=std(medValLst); %For Ref Composite 17_1009 + Exp(ic).Dexp(1).RFcmpL(1).dm(d+1).min=min(medValLst); %For Ref Composite 17_1009 + Exp(ic).Dexp(1).RFcmpL(1).dm(d+1).max=max(medValLst); %For Ref Composite 17_1009 - Exp(ic).Dexp(1).RFcmpK(1).dm(d+1).Kvals= kValLst; %17_1201 TrendOL - Exp(ic).Dexp(1).RFcmpK(1).dm(d+1).mean= mean(kValLst); %For Ref Composite 17_1009 - Exp(ic).Dexp(1).RFcmpK(1).dm(d+1).med= median(kValLst); %For Ref Composite 17_1009 - Exp(ic).Dexp(1).RFcmpK(1).dm(d+1).std= std(kValLst); %For Ref Composite 17_1009 - Exp(ic).Dexp(1).RFcmpK(1).dm(d+1).min= min(kValLst); %For Ref Composite 17_1009 - Exp(ic).Dexp(1).RFcmpK(1).dm(d+1).max= max(kValLst); %For Ref Composite 17_1009 + Exp(ic).Dexp(1).RFcmpK(1).dm(d+1).Kvals=kValLst; %17_1201 TrendOL + Exp(ic).Dexp(1).RFcmpK(1).dm(d+1).mean=mean(kValLst); %For Ref Composite 17_1009 + Exp(ic).Dexp(1).RFcmpK(1).dm(d+1).med=median(kValLst); %For Ref Composite 17_1009 + Exp(ic).Dexp(1).RFcmpK(1).dm(d+1).std=std(kValLst); %For Ref Composite 17_1009 + Exp(ic).Dexp(1).RFcmpK(1).dm(d+1).min=min(kValLst); %For Ref Composite 17_1009 + Exp(ic).Dexp(1).RFcmpK(1).dm(d+1).max=max(kValLst); %For Ref Composite 17_1009 - Exp(ic).Dexp(1).RFcmpr(1).dm(d+1).rvals= rValLst; %17_1201 TrendOL - Exp(ic).Dexp(1).RFcmpr(1).dm(d+1).med= median(rValLst); %For Ref Composite 17_1009 - Exp(ic).Dexp(1).RFcmpr(1).dm(d+1).mean= mean(rValLst); %For Ref Composite 17_1009 - Exp(ic).Dexp(1).RFcmpr(1).dm(d+1).std= std(rValLst); %For Ref Composite 17_1009 - Exp(ic).Dexp(1).RFcmpr(1).dm(d+1).min= min(rValLst); %For Ref Composite 17_1009 - Exp(ic).Dexp(1).RFcmpr(1).dm(d+1).mean= max(rValLst); %For Ref Composite 17_1009 - end - - else - % Pick the first spot with zeros - medianCalcFailed= 'To Few nonZero spots for valid median RF1 selection' - firstZero= find(((Exp(expN).Dexp(1).scan(rf1scN).plate(1).CFout(1:384,5))==0),1,'first') - Exp(1).Dexp(1).RFmd1indx(d+1)=firstZero; Exp(2).Dexp(1).RFmd1indx(d+1)=firstZero; Exp(3).Dexp(1).RFmd1indx(d+1)=firstZero; - Exp(1).Dexp(1).RFmd1pltN= RF1mp; Exp(2).Dexp(1).RFmd1pltN= RF1mp; Exp(3).Dexp(1).RFmd1pltN= RF1mp; %EZdestComp uses the masterplate number to get all the destPlates scanNumbers - - try, medValList1{d+1}= Exp(expN).Dexp(1).scan(rf1scN).plate(1).CFout(medianIndx,5); nonZeroCnt; catch end - - - end - catch %try ~ln219 - medianCalcTryFailed1= 'Failed! Failed! But process continued with bogus P1ind384 spot value!' - - try - firstZero= find(((Exp(expN).Dexp(1).scan(rf1scN).plate(1).CFout(1:384,5))==0),1,'first') - Exp(1).Dexp(1).RFmd1indx(d+1)=firstZero; Exp(2).Dexp(1).RFmd1indx(d+1)=firstZero; Exp(3).Dexp(1).RFmd1indx(d+1)=firstZero; - catch - catchissue='Ln328' - Exp(1).Dexp(1).RFmd1indx(d+1)=384; Exp(2).Dexp(1).RFmd1indx(d+1)=384; Exp(3).Dexp(1).RFmd1indx(d+1)=384; %if crapout,Then use spot384 as default to keep going - end - try - Exp(1).Dexp(1).RFmd1pltN= RF1mp; Exp(2).Dexp(1).RFmd1pltN= RF1mp; Exp(3).Dexp(1).RFmd1pltN= RF1mp; + Exp(ic).Dexp(1).RFcmpr(1).dm(d+1).rvals=rValLst; %17_1201 TrendOL + Exp(ic).Dexp(1).RFcmpr(1).dm(d+1).med=median(rValLst); %For Ref Composite 17_1009 + Exp(ic).Dexp(1).RFcmpr(1).dm(d+1).mean=mean(rValLst); %For Ref Composite 17_1009 + Exp(ic).Dexp(1).RFcmpr(1).dm(d+1).std=std(rValLst); %For Ref Composite 17_1009 + Exp(ic).Dexp(1).RFcmpr(1).dm(d+1).min=min(rValLst); %For Ref Composite 17_1009 + Exp(ic).Dexp(1).RFcmpr(1).dm(d+1).mean=max(rValLst); %For Ref Composite 17_1009 + end + else + % Pick the first spot with zeros + medianCalcFailed='To Few nonZero spots for valid median RF1 selection' + firstZero=find(((Exp(expN).Dexp(1).scan(rf1scN).plate(1).CFout(1:384,5))==0),1,'first') + Exp(1).Dexp(1).RFmd1indx(d+1)=firstZero; Exp(2).Dexp(1).RFmd1indx(d+1)=firstZero; Exp(3).Dexp(1).RFmd1indx(d+1)=firstZero; + Exp(1).Dexp(1).RFmd1pltN=RF1mp; Exp(2).Dexp(1).RFmd1pltN=RF1mp; Exp(3).Dexp(1).RFmd1pltN=RF1mp; %EZdestComp uses the masterplate number to get all the destPlates scanNumbers + try, medValList1{d+1}=Exp(expN).Dexp(1).scan(rf1scN).plate(1).CFout(medianIndx,5); nonZeroCnt; catch end + end catch + medianCalcTryFailed1='Failed! Failed! But process continued with bogus P1ind384 spot value!' + try + firstZero=find(((Exp(expN).Dexp(1).scan(rf1scN).plate(1).CFout(1:384,5))==0),1,'first') + Exp(1).Dexp(1).RFmd1indx(d+1)=firstZero; Exp(2).Dexp(1).RFmd1indx(d+1)=firstZero; Exp(3).Dexp(1).RFmd1indx(d+1)=firstZero; + catch + Exp(1).Dexp(1).RFmd1indx(d+1)=384; Exp(2).Dexp(1).RFmd1indx(d+1)=384; Exp(3).Dexp(1).RFmd1indx(d+1)=384; %if crapout,Then use spot384 as default to keep going + end + try + Exp(1).Dexp(1).RFmd1pltN=RF1mp; Exp(2).Dexp(1).RFmd1pltN=RF1mp; Exp(3).Dexp(1).RFmd1pltN=RF1mp; + catch catchissue='Ln334' - Exp(1).Dexp(1).RFmd1pltN= 1; Exp(2).Dexp(1).RFmd1pltN= 1; Exp(3).Dexp(1).RFmd1pltN= 1; - end - error='EZvInit after Ln278' - end %try ~ln219 + Exp(1).Dexp(1).RFmd1pltN=1; Exp(2).Dexp(1).RFmd1pltN=1; Exp(3).Dexp(1).RFmd1pltN=1; + end + end + end + end - end %for d=0:DMnum - end % if exist('RF1scanN','var') - %************************************************************************************* - Exp(1).Dexp(1).RFmd2indx=[]; Exp(2).Dexp(1).RFmd2indx=[]; Exp(3).Dexp(1).RFmd2indx=[]; Exp(1).Dexp(1).RFmd2pltN=[]; Exp(2).Dexp(1).RFmd2pltN=[]; Exp(3).Dexp(1).RFmd2pltN=[]; if exist('RF2scanN','var') for d=0:(DMnum-1); - medianIndx2=[]; - nonZeroIndx2=[]; - medValList2=[]; - rf2scN=RF2scanN+d; - - try %if RF2scanN doesn't exist this addition to list will be skipped - nonZeroIndx2= find(Exp(expN).Dexp(1).scan(rf2scN).plate(1).CFout(1:384,5)); - if isempty(nonZeroIndx2), nonZeroCnt2=0; medianIndx2= nonZeroIndx2; - else nonZeroCnt2=length(nonZeroIndx2); - end - % - if ~isempty(nonZeroIndx2) && mod(nonZeroCnt2,2)==0, medianIndx2= nonZeroIndx2(1:nonZeroCnt2-1); end - if ~isempty(nonZeroIndx2) && mod(nonZeroCnt2,2)~=0, medianIndx2= nonZeroIndx2; end - clear medValLst2 - clear kValLst2 - clear rValLst2 - if ~isempty(nonZeroIndx2) && length(medianIndx2) > (.15*384) %To calc. a median, more than 15% of spots must be nonZero - medValLst2= Exp(expN).Dexp(1).scan(rf2scN).plate(1).CFout(medianIndx2,5); - medValList2{d+1}= medValLst2; - min2= min(medValLst2); - max2= max(medValLst2); - std2= std(medValLst2) - mean2= mean(medValLst2); - - kValLst2= Exp(expN).Dexp(1).scan(rf2scN).plate(1).CFout(medianIndx2,3); %For Ref Composite 17_1009 - rValLst2= Exp(expN).Dexp(1).scan(rf2scN).plate(1).CFout(medianIndx2,4); %For Ref Composite 17_1009 - - mval2=median(medValLst2); %(Exp(expN).Dexp(1).scan(RF2scanN).plate(1).CFout(1:383,5)); - RFmd2pos=find(mval2==(Exp(expN).Dexp(1).scan(rf2scN).plate(1).CFout(1:384,5))); - RFmd2loc(1)= ceil(RFmd2pos/24); %calc r value - RFmd2loc(2)= RFmd2pos - ((RFmd2loc(1)-1)*24); %calc c value - lstindx=lstindx+1; - lstindxOrf= lstindxOrf+1; - aa(lstindx,1)= {strcat('RF2md(',num2str(d+1),')')}; %{'RF2md'}; - aa(lstindx,2)={strcat(':',num2str(RF2mp),':',num2str(RFmd2loc(1)),':',num2str(RFmd2loc(2)))}; %,' std~',num2str(std2))}; - bb(lstindxOrf,1)= {strcat('RF2md(',num2str(d+1),')')}; %{'RF2md'}; - bb(lstindxOrf,2)={strcat(':',num2str(RF2mp),':',num2str(RFmd2loc(1)),':',num2str(RFmd2loc(2)))}; %,' std~',num2str(std2))}; - %Composite Reference Amalgum Plot (CRAP) - lstindx=lstindx+1; - lstindxOrf= lstindxOrf+1; - aa(lstindx,1)= {strcat('RF2cmp(',num2str(d+1),')')}; - aa(lstindx,2)={''}; - bb(lstindxOrf,1)= {strcat('RF2cmp(',num2str(d+1),')')}; - bb(lstindxOrf,2)={''}; + medianIndx2=[]; + nonZeroIndx2=[]; + medValList2=[]; + rf2scN=RF2scanN+d; + try % if RF2scanN doesn't exist this addition to list will be skipped + nonZeroIndx2=find(Exp(expN).Dexp(1).scan(rf2scN).plate(1).CFout(1:384,5)); + if isempty(nonZeroIndx2) + nonZeroCnt2=0 + medianIndx2=nonZeroIndx2; + else + nonZeroCnt2=length(nonZeroIndx2); + end + if ~isempty(nonZeroIndx2) && mod(nonZeroCnt2,2)==0, medianIndx2=nonZeroIndx2(1:nonZeroCnt2-1); end + if ~isempty(nonZeroIndx2) && mod(nonZeroCnt2,2)~=0, medianIndx2=nonZeroIndx2; end + clear medValLst2 + clear kValLst2 + clear rValLst2 + if ~isempty(nonZeroIndx2) && length(medianIndx2) > (.15*384) % to calc. a median, more than 15% of spots must be nonZero + medValLst2=Exp(expN).Dexp(1).scan(rf2scN).plate(1).CFout(medianIndx2,5); + medValList2{d+1}=medValLst2; + min2=min(medValLst2); + max2=max(medValLst2); + std2=std(medValLst2) + mean2=mean(medValLst2); + kValLst2=Exp(expN).Dexp(1).scan(rf2scN).plate(1).CFout(medianIndx2,3); %For Ref Composite 17_1009 + rValLst2=Exp(expN).Dexp(1).scan(rf2scN).plate(1).CFout(medianIndx2,4); %For Ref Composite 17_1009 + mval2=median(medValLst2); %(Exp(expN).Dexp(1).scan(RF2scanN).plate(1).CFout(1:383,5)); + RFmd2pos=find(mval2==(Exp(expN).Dexp(1).scan(rf2scN).plate(1).CFout(1:384,5))); + RFmd2loc(1)=ceil(RFmd2pos/24); %calc r value + RFmd2loc(2)=RFmd2pos - ((RFmd2loc(1)-1)*24); %calc c value + lstindx=lstindx+1; + lstindxOrf=lstindxOrf+1; + aa(lstindx,1)={strcat('RF2md(',num2str(d+1),')')}; %{'RF2md'}; + aa(lstindx,2)={strcat(':',num2str(RF2mp),':',num2str(RFmd2loc(1)),':',num2str(RFmd2loc(2)))}; %,' std~',num2str(std2))}; + bb(lstindxOrf,1)={strcat('RF2md(',num2str(d+1),')')}; %{'RF2md'}; + bb(lstindxOrf,2)={strcat(':',num2str(RF2mp),':',num2str(RFmd2loc(1)),':',num2str(RFmd2loc(2)))}; %,' std~',num2str(std2))}; + %Composite Reference Amalgum Plot (CRAP) + lstindx=lstindx+1; + lstindxOrf=lstindxOrf+1; + aa(lstindx,1)={strcat('RF2cmp(',num2str(d+1),')')}; + aa(lstindx,2)={''}; + bb(lstindxOrf,1)={strcat('RF2cmp(',num2str(d+1),')')}; + bb(lstindxOrf,2)={''}; + Exp(1).Dexp(1).RFmd2LB(d+1)=strcat(aa(lstindx,1),aa(lstindx,2)); Exp(2).Dexp(1).RFmd2LB(d+1)=strcat(aa(lstindx,1),aa(lstindx,2)); Exp(3).Dexp(1).RFmd2LB(d+1)=strcat(aa(lstindx,1),aa(lstindx,2)); + Exp(1).Dexp(1).RFmd2indx(d+1)=RFmd2pos; Exp(2).Dexp(1).RFmd2indx(d+1)=RFmd2pos; Exp(3).Dexp(1).RFmd2indx(d+1)=RFmd2pos; + Exp(1).Dexp(1).RFmd2pltN=RF2mp; Exp(2).Dexp(1).RFmd2pltN=RF2mp; Exp(3).Dexp(1).RFmd2pltN=RF2mp; + Exp(1).Dexp(1).RFmd2val(d+1)=mval2; Exp(2).Dexp(1).RFmd2val(d+1)=mval2; Exp(3).Dexp(1).RFmd2val(d+1)=mval2; + Exp(1).Dexp(1).mean2(d+1)=mean2; Exp(2).Dexp(1).mean2(d+1)=mean2; Exp(3).Dexp(1).mean2(d+1)=mean2; + Exp(1).Dexp(1).std2(d+1)=std2; Exp(2).Dexp(1).std2(d+1)=std2; Exp(3).Dexp(1).std2(d+1)=std2; + Exp(1).Dexp(1).min2(d+1)=min2; Exp(2).Dexp(1).min2(d+1)=min2; Exp(3).Dexp(1).min2(d+1)=min2; + Exp(1).Dexp(1).max2(d+1)=max2; Exp(2).Dexp(1).max2(d+1)=max2; Exp(3).Dexp(1).max2(d+1)=max2; - Exp(1).Dexp(1).RFmd2LB(d+1)= strcat(aa(lstindx,1),aa(lstindx,2)); Exp(2).Dexp(1).RFmd2LB(d+1)= strcat(aa(lstindx,1),aa(lstindx,2)); Exp(3).Dexp(1).RFmd2LB(d+1)= strcat(aa(lstindx,1),aa(lstindx,2)); - Exp(1).Dexp(1).RFmd2indx(d+1)=RFmd2pos; Exp(2).Dexp(1).RFmd2indx(d+1)=RFmd2pos; Exp(3).Dexp(1).RFmd2indx(d+1)=RFmd2pos; - Exp(1).Dexp(1).RFmd2pltN= RF2mp; Exp(2).Dexp(1).RFmd2pltN= RF2mp; Exp(3).Dexp(1).RFmd2pltN= RF2mp; - Exp(1).Dexp(1).RFmd2val(d+1)= mval2; Exp(2).Dexp(1).RFmd2val(d+1)= mval2; Exp(3).Dexp(1).RFmd2val(d+1)= mval2; - Exp(1).Dexp(1).mean2(d+1)= mean2; Exp(2).Dexp(1).mean2(d+1)= mean2; Exp(3).Dexp(1).mean2(d+1)= mean2; - Exp(1).Dexp(1).std2(d+1)= std2; Exp(2).Dexp(1).std2(d+1)= std2; Exp(3).Dexp(1).std2(d+1)= std2; - Exp(1).Dexp(1).min2(d+1)= min2; Exp(2).Dexp(1).min2(d+1)= min2; Exp(3).Dexp(1).min2(d+1)= min2; - Exp(1).Dexp(1).max2(d+1)= max2; Exp(2).Dexp(1).max2(d+1)= max2; Exp(3).Dexp(1).max2(d+1)= max2; + for ic=1:3 + Exp(ic).Dexp(1).RFcmpL(2).dm(d+1).Lvals=medValLst2; %17_1201 TrendOL + Exp(ic).Dexp(1).RFcmpL(2).dm(d+1).med=median(medValLst2); %For Ref Composite 17_1009 + Exp(ic).Dexp(1).RFcmpL(2).dm(d+1).mean=mean(medValLst2); %For Ref Composite 17_1009 + Exp(ic).Dexp(1).RFcmpL(2).dm(d+1).std=std(medValLst2); %For Ref Composite 17_1009 + Exp(ic).Dexp(1).RFcmpL(2).dm(d+1).min=min(medValLst2); %For Ref Composite 17_1009 + Exp(ic).Dexp(1).RFcmpL(2).dm(d+1).max=max(medValLst2); %For Ref Composite 17_1009 - for ic=1:3 - Exp(ic).Dexp(1).RFcmpL(2).dm(d+1).Lvals= medValLst2; %17_1201 TrendOL - Exp(ic).Dexp(1).RFcmpL(2).dm(d+1).med= median(medValLst2); %For Ref Composite 17_1009 - Exp(ic).Dexp(1).RFcmpL(2).dm(d+1).mean= mean(medValLst2); %For Ref Composite 17_1009 - Exp(ic).Dexp(1).RFcmpL(2).dm(d+1).std= std(medValLst2); %For Ref Composite 17_1009 - Exp(ic).Dexp(1).RFcmpL(2).dm(d+1).min= min(medValLst2); %For Ref Composite 17_1009 - Exp(ic).Dexp(1).RFcmpL(2).dm(d+1).max= max(medValLst2); %For Ref Composite 17_1009 + Exp(ic).Dexp(1).RFcmpK(2).dm(d+1).Kvals=kValLst2; %17_1201 TrendOL + Exp(ic).Dexp(1).RFcmpK(2).dm(d+1).med=median(kValLst2); %For Ref Composite 17_1009 + Exp(ic).Dexp(1).RFcmpK(2).dm(d+1).mean=mean(kValLst2); %For Ref Composite 17_1009 + Exp(ic).Dexp(1).RFcmpK(2).dm(d+1).std=std(kValLst2); %For Ref Composite 17_1009 + Exp(ic).Dexp(1).RFcmpK(2).dm(d+1).min=min(kValLst2); %For Ref Composite 17_1009 + Exp(ic).Dexp(1).RFcmpK(2).dm(d+1).max=max(kValLst2); %For Ref Composite 17_1009 - Exp(ic).Dexp(1).RFcmpK(2).dm(d+1).Kvals= kValLst2; %17_1201 TrendOL - Exp(ic).Dexp(1).RFcmpK(2).dm(d+1).med= median(kValLst2); %For Ref Composite 17_1009 - Exp(ic).Dexp(1).RFcmpK(2).dm(d+1).mean= mean(kValLst2); %For Ref Composite 17_1009 - Exp(ic).Dexp(1).RFcmpK(2).dm(d+1).std= std(kValLst2); %For Ref Composite 17_1009 - Exp(ic).Dexp(1).RFcmpK(2).dm(d+1).min= min(kValLst2); %For Ref Composite 17_1009 - Exp(ic).Dexp(1).RFcmpK(2).dm(d+1).max= max(kValLst2); %For Ref Composite 17_1009 - - Exp(ic).Dexp(1).RFcmpr(2).dm(d+1).rvals= rValLst2; %17_1201 TrendOL - Exp(ic).Dexp(1).RFcmpr(2).dm(d+1).med= median(rValLst2); %For Ref Composite 17_1009 - Exp(ic).Dexp(1).RFcmpr(2).dm(d+1).mean= mean(rValLst2); %For Ref Composite 17_1009 - Exp(ic).Dexp(1).RFcmpr(2).dm(d+1).std= std(rValLst2); %For Ref Composite 17_1009 - Exp(ic).Dexp(1).RFcmpr(2).dm(d+1).min= min(rValLst2); %For Ref Composite 17_1009 - Exp(ic).Dexp(1).RFcmpr(2).dm(d+1).max= max(rValLst); %For Ref Composite 17_1009 - end - - else - % Pick the first spot with zeros - % Use that position to satisfy and keep process OK - medianCalcFailed2= 'To Few nonZero spots for valid median RF2 selection' - firstZero2= find(((Exp(expN).Dexp(1).scan(rf2scN).plate(1).CFout(1:384,5))==0),1,'first') - Exp(1).Dexp(1).RFmd2indx(d+1)=firstZero2; Exp(2).Dexp(1).RFmd2indx(d+1)=firstZero2; Exp(3).Dexp(1).RFmd2indx(d+1)=firstZero2; - Exp(1).Dexp(1).RFmd2pltN= RF2mp; Exp(2).Dexp(1).RFmd2pltN= RF2mp; Exp(3).Dexp(1).RFmd2pltN= RF2mp; - - try, medValList2{d+1}= Exp(expN).Dexp(1).scan(rf2scN).plate(1).CFout(medianIndx2,5); nonZeroCnt2; catch end - - end - - catch - medianCalcTryFailed2= 'Failed! Failed! No RF1median But process continued with bogus P1ind384 spot value!' - - try - firstZero2= find(((Exp(expN).Dexp(1).scan(rf2scN).plate(1).CFout(1:384,5))==0),1,'first') - Exp(1).Dexp(1).RFmd2indx(d+1)=firstZero2; Exp(2).Dexp(1).RFmd2indx(d+1)=firstZero2; Exp(3).Dexp(1).RFmd2indx(d+1)=firstZero2; + Exp(ic).Dexp(1).RFcmpr(2).dm(d+1).rvals=rValLst2; %17_1201 TrendOL + Exp(ic).Dexp(1).RFcmpr(2).dm(d+1).med=median(rValLst2); %For Ref Composite 17_1009 + Exp(ic).Dexp(1).RFcmpr(2).dm(d+1).mean=mean(rValLst2); %For Ref Composite 17_1009 + Exp(ic).Dexp(1).RFcmpr(2).dm(d+1).std=std(rValLst2); %For Ref Composite 17_1009 + Exp(ic).Dexp(1).RFcmpr(2).dm(d+1).min=min(rValLst2); %For Ref Composite 17_1009 + Exp(ic).Dexp(1).RFcmpr(2).dm(d+1).max=max(rValLst); %For Ref Composite 17_1009 + end + else + % Pick the first spot with zeros + % Use that position to satisfy and keep process OK + medianCalcFailed2='To Few nonZero spots for valid median RF2 selection' + firstZero2=find(((Exp(expN).Dexp(1).scan(rf2scN).plate(1).CFout(1:384,5))==0),1,'first') + Exp(1).Dexp(1).RFmd2indx(d+1)=firstZero2; Exp(2).Dexp(1).RFmd2indx(d+1)=firstZero2; Exp(3).Dexp(1).RFmd2indx(d+1)=firstZero2; + Exp(1).Dexp(1).RFmd2pltN=RF2mp; Exp(2).Dexp(1).RFmd2pltN=RF2mp; Exp(3).Dexp(1).RFmd2pltN=RF2mp; + try + medValList2{d+1}=Exp(expN).Dexp(1).scan(rf2scN).plate(1).CFout(medianIndx2,5); + nonZeroCnt2; + catch + end + end catch - catchissue='Ln402' - Exp(1).Dexp(1).RFmd2indx(d+1)=384; Exp(2).Dexp(1).RFmd2indx(d+1)=384; Exp(3).Dexp(1).RFmd2indx(d+1)=384; %if crapout,Then use spot384 as default to keep going - end - try - Exp(1).Dexp(1).RFmd2pltN= RF2mp; Exp(2).Dexp(1).RFmd2pltN= RF2mp; Exp(3).Dexp(1).RFmd2pltN= RF2mp; - catch - catchissue='Ln408' - Exp(1).Dexp(1).RFmd2pltN= 1; Exp(2).Dexp(1).RFmd2pltN= 1; Exp(3).Dexp(1).RFmd2pltN= 1; - end - end %if RF2scanN doesn't exist this addition to list will be skipped - RFcombValList= cat(1,medValList1{d+1},medValList2{d+1}); - Exp(1).Dexp(1).RFmean(d+1)= mean(RFcombValList);Exp(2).Dexp(1).RFmean(d+1)= mean(RFcombValList);Exp(3).Dexp(1).RFmean(d+1)= mean(RFcombValList); + medianCalcTryFailed2='Failed! Failed! No RF1median But process continued with bogus P1ind384 spot value!' + try + firstZero2=find(((Exp(expN).Dexp(1).scan(rf2scN).plate(1).CFout(1:384,5))==0),1,'first') + Exp(1).Dexp(1).RFmd2indx(d+1)=firstZero2; Exp(2).Dexp(1).RFmd2indx(d+1)=firstZero2; Exp(3).Dexp(1).RFmd2indx(d+1)=firstZero2; + catch + Exp(1).Dexp(1).RFmd2indx(d+1)=384; Exp(2).Dexp(1).RFmd2indx(d+1)=384; Exp(3).Dexp(1).RFmd2indx(d+1)=384; %if crapout,Then use spot384 as default to keep going + end + try + Exp(1).Dexp(1).RFmd2pltN=RF2mp; Exp(2).Dexp(1).RFmd2pltN=RF2mp; Exp(3).Dexp(1).RFmd2pltN=RF2mp; + catch + Exp(1).Dexp(1).RFmd2pltN=1; Exp(2).Dexp(1).RFmd2pltN=1; Exp(3).Dexp(1).RFmd2pltN=1; + end + end % if RF2scanN doesn't exist this addition to list will be skipped + RFcombValList=cat(1,medValList1{d+1},medValList2{d+1}); + Exp(1).Dexp(1).RFmean(d+1)=mean(RFcombValList);Exp(2).Dexp(1).RFmean(d+1)=mean(RFcombValList);Exp(3).Dexp(1).RFmean(d+1)=mean(RFcombValList); Exp(1).Dexp(1).RFstd(d+1)=std(RFcombValList);Exp(2).Dexp(1).RFstd(d+1)=std(RFcombValList);Exp(3).Dexp(1).RFstd(d+1)=std(RFcombValList); Exp(1).Dexp(1).RFmin(d+1)=min(RFcombValList);Exp(2).Dexp(1).RFmin(d+1)=min(RFcombValList);Exp(3).Dexp(1).RFmin(d+1)=min(RFcombValList); Exp(1).Dexp(1).RFmax(d+1)=max(RFcombValList);Exp(2).Dexp(1).RFmax(d+1)=max(RFcombValList);Exp(3).Dexp(1).RFmax(d+1)=max(RFcombValList); - - %can delete the following redundant line of code - Exp(2).Dexp(1).RFmean(d+1)= Exp(1).Dexp(1).RFmean(d+1); Exp(3).Dexp(1).RFmean(d+1)= Exp(1).Dexp(1).RFmean(d+1); - - end %for d=0:DMnum + % TODO can delete the following redundant line of code + Exp(2).Dexp(1).RFmean(d+1)=Exp(1).Dexp(1).RFmean(d+1); Exp(3).Dexp(1).RFmean(d+1)=Exp(1).Dexp(1).RFmean(d+1); + end elseif exist('RF1scanN','var') - Exp(1).Dexp(1).RFmean= Exp(1).Dexp(1).mean1; Exp(2).Dexp(1).RFmean= Exp(2).Dexp(1).mean1; Exp(3).Dexp(1).RFmean= Exp(3).Dexp(1).mean1; - Exp(1).Dexp(1).RFstd= Exp(1).Dexp(1).std1; Exp(2).Dexp(1).RFstd= Exp(2).Dexp(1).std1; Exp(3).Dexp(1).RFstd= Exp(3).Dexp(1).std1; - Exp(1).Dexp(1).RFmin= Exp(1).Dexp(1).min1; Exp(2).Dexp(1).RFmin= Exp(2).Dexp(1).min1; Exp(3).Dexp(1).RFmin= Exp(3).Dexp(1).min1; - Exp(1).Dexp(1).RFmax= Exp(1).Dexp(1).max1; Exp(2).Dexp(1).RFmax= Exp(2).Dexp(1).max1; Exp(3).Dexp(1).RFmax= Exp(3).Dexp(1).max1; - end %if exist('RF2scanN','var') + Exp(1).Dexp(1).RFmean=Exp(1).Dexp(1).mean1; Exp(2).Dexp(1).RFmean=Exp(2).Dexp(1).mean1; Exp(3).Dexp(1).RFmean=Exp(3).Dexp(1).mean1; + Exp(1).Dexp(1).RFstd=Exp(1).Dexp(1).std1; Exp(2).Dexp(1).RFstd=Exp(2).Dexp(1).std1; Exp(3).Dexp(1).RFstd=Exp(3).Dexp(1).std1; + Exp(1).Dexp(1).RFmin=Exp(1).Dexp(1).min1; Exp(2).Dexp(1).RFmin=Exp(2).Dexp(1).min1; Exp(3).Dexp(1).RFmin=Exp(3).Dexp(1).min1; + Exp(1).Dexp(1).RFmax=Exp(1).Dexp(1).max1; Exp(2).Dexp(1).RFmax=Exp(2).Dexp(1).max1; Exp(3).Dexp(1).RFmax=Exp(3).Dexp(1).max1; + end - %************************************************************************************************* - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %************************************************************************************************* - %***********DISPERSE REFERENCE PLATES + % DISPERSE REFERENCE PLATES Exp(expN).Dexp(1).RFmdPindx=[]; Exp(expN).Dexp(1).RFmdPpltN=[]; - if exist('drf','var') %('RF1scanN','var') - %Det. index of change from one MP to the next - + if exist('drf','var') % ('RF1scanN','var') + % Det. index of change from one MP to the next i=2; 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),DMnum); - %************************************ - dMPs= unique(cell2mat(drf(:,3))); - %***************************************** - + 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),DMnum); + dMPs=unique(cell2mat(drf(:,3))); for mm=1:length(dMPs) - for d=1:(DMnum) medianIndxDisp=[]; NZrefIndxP=[]; nonZeroValsP=[]; medValLstDisp=[]; - rf1scNdisp=((dMPs(mm)-1)*DMnum)+(d); - - try % Determine the dispersed RFs median mean and std if such exist - NZrefIndxP= drfPindx((find(drfPindx(:,dMPs(mm)))),dMPs(mm)); - vv(chgIndx(mm):(chgIndx(mm+1)-1),d)=Exp(expN).Dexp(1).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,5); - %For Global Ref Composite 17_1009 %************************************************************************** - vvK(chgIndx(mm):(chgIndx(mm+1)-1),d)=Exp(expN).Dexp(1).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,3); - vvr(chgIndx(mm):(chgIndx(mm+1)-1),d)=Exp(expN).Dexp(1).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,4); - %***************************************************************************************************** - nonZeroValsP= nonzeros(Exp(expN).Dexp(1).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,5)); - minDisp= min(nonZeroValsP); - maxDisp= max(nonZeroValsP); - std1Disp= std(nonZeroValsP); - mean1Disp= mean(nonZeroValsP); - drfVals=Exp(expN).Dexp(1).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,5); - - %MEDIAN Determination for PLATES with Dispersed RFs - if isempty(NZrefIndxP), nonZeroCntDisp=0, medianIndxDisp= NZrefIndxP; - else nonZeroCntDisp=length(NZrefIndxP); + rf1scNdisp=((dMPs(mm)-1)*DMnum)+(d); + try % Determine the dispersed RFs median mean and std if such exist + NZrefIndxP=drfPindx((find(drfPindx(:,dMPs(mm)))),dMPs(mm)); + vv(chgIndx(mm):(chgIndx(mm+1)-1),d)=Exp(expN).Dexp(1).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,5); + % For Global Ref Composite 17_1009 + vvK(chgIndx(mm):(chgIndx(mm+1)-1),d)=Exp(expN).Dexp(1).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,3); + vvr(chgIndx(mm):(chgIndx(mm+1)-1),d)=Exp(expN).Dexp(1).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,4); + nonZeroValsP=nonzeros(Exp(expN).Dexp(1).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,5)); + minDisp=min(nonZeroValsP); + maxDisp=max(nonZeroValsP); + std1Disp=std(nonZeroValsP); + mean1Disp=mean(nonZeroValsP); + drfVals=Exp(expN).Dexp(1).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,5); + %MEDIAN Determination for PLATES with Dispersed RFs + 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) > 3 %(.15*384) %To calc. a median, more than 15% of spots must be nonZero + medValLstDisp=Exp(expN).Dexp(1).scan(rf1scNdisp).plate(1).CFout(medianIndxDisp,5); + mval1Disp=median(medValLstDisp); + nonZeroMedPosIndx=find(mval1Disp==nonZeroValsP); + RFmd1posD=NZrefIndxP(nonZeroMedPosIndx); + RFmd1locD(1)=ceil(RFmd1posD/24); %calc r value + RFmd1locD(2)=RFmd1posD - ((RFmd1locD(1)-1)*24); %calc c value + lstindx=lstindx+1; + lstindxOrf=lstindxOrf+1; + aa(lstindx,1)={strcat('RF1mdP(',num2str(d),')')}; %{'RF1md'}; + aa(lstindx,2)={strcat(':',num2str(dMPs(mm)),':',num2str(RFmd1locD(1)),':',num2str(RFmd1locD(2)))}; %,'std_',num2str(std1))}; + bb(lstindxOrf,1)={strcat('RF1mdP(',num2str(d),')')}; %{'RF1md'}; + bb(lstindxOrf,2)={strcat(':',num2str(dMPs(mm)),':',num2str(RFmd1locD(1)),':',num2str(RFmd1locD(2)))}; %,'std_',num2str(std1))}; + Exp(1).Dexp(1).RFmdPLB(d,dMPs(mm))=strcat(aa(lstindx,1),aa(lstindx,2)); Exp(2).Dexp(1).RFmdPLB(d,dMPs(mm))=strcat(aa(lstindx,1),aa(lstindx,2)); Exp(3).Dexp(1).RFmdPLB(d,dMPs(mm))=strcat(aa(lstindx,1),aa(lstindx,2)); + Exp(1).Dexp(1).RFmdPindx(d,dMPs(mm))=RFmd1posD; Exp(2).Dexp(1).RFmdPindx(d,dMPs(mm))=RFmd1posD; Exp(3).Dexp(1).RFmdPindx(d,dMPs(mm))=RFmd1posD; + Exp(1).Dexp(1).RFmdPpltN(d,dMPs(mm))=dMPs(mm); Exp(2).Dexp(1).RFmdPpltN(d,dMPs(mm))=dMPs(mm); Exp(3).Dexp(1).RFmdPpltN(d,dMPs(mm))=dMPs(mm); + Exp(1).Dexp(1).RFmedianP(d,dMPs(mm))=mval1Disp; Exp(2).Dexp(1).RFmedianP(d,dMPs(mm))=mval1Disp; Exp(3).Dexp(1).RFmedianP(d,dMPs(mm))=mval1Disp; + Exp(1).Dexp(1).meanP(d,dMPs(mm))=mean1Disp; Exp(2).Dexp(1).meanP(d,dMPs(mm))=mean1Disp; Exp(3).Dexp(1).meanP(d,dMPs(mm))=mean1Disp; + Exp(1).Dexp(1).stdP(d,dMPs(mm))=std1Disp; Exp(2).Dexp(1).stdP(d,dMPs(mm))=std1Disp; Exp(3).Dexp(1).stdP(d,dMPs(mm))=std1Disp; + Exp(1).Dexp(1).minP(d,dMPs(mm))=minDisp; Exp(2).Dexp(1).minP(d,dMPs(mm))=minDisp; Exp(3).Dexp(1).minP(d,dMPs(mm))=minDisp; + Exp(1).Dexp(1).maxP(d,dMPs(mm))=maxDisp; Exp(2).Dexp(1).maxP(d,dMPs(mm))=maxDisp; Exp(3).Dexp(1).maxP(d,dMPs(mm))=maxDisp; + 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(1).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,5))==0),1,'first'); + firstZeroD=drfPindx((firstZeroDindx),dMPs(mm)); + Exp(expN).Dexp(1).RFmdPindx(d,dMPs(mm))=firstZeroD; + Exp(expN).Dexp(1).RFmdPpltN(d,dMPs(mm))=dMPs(mm); %RF1mp; %Is this supposed to be the MP number or the ScanPlate number??? + end + catch + medianCalcTryFailed1D='Failed! Failed! Ln565 {Dispersed RF1s} "try" But process continued with bogus Plate spot value!' + try + firstZeroindxD=find(vv((chgIndx(d):chgIndx(d+1)-1),5)==0,1,'first') + firstZeroPindx=uu(firstZeroindxD,4); + Exp(expN).Dexp(1).RFmdPpltN(d,dMPs(mm))=dMPs(mm); + Exp(expN).Dexp(1).RFmdPindx(d,dMPs(mm))=firstZeroPindx; + catch + catchissue='try at Ln565' + Exp(expN).Dexp(1).RFmdPpltN(d,dMPs(mm))=dMPs(mm); + Exp(expN).Dexp(1).RFmdPindx(d,dMPs(mm))=384; % if crapout,Then use spot384 as default to keep going + end + try + Exp(expN).Dexp(1).RFmdPpltN=dMPs(mm); + catch + catchissue='Ln' + Exp(expN).Dexp(1).RFmdPpltN=1; %This might keep from breaking BUT ??? + end + end 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) > 3 %(.15*384) %To calc. a median, more than 15% of spots must be nonZero - medValLstDisp= Exp(expN).Dexp(1).scan(rf1scNdisp).plate(1).CFout(medianIndxDisp,5); - mval1Disp=median(medValLstDisp); - nonZeroMedPosIndx=find(mval1Disp==nonZeroValsP); - RFmd1posD= NZrefIndxP(nonZeroMedPosIndx); - RFmd1locD(1)= ceil(RFmd1posD/24); %calc r value - RFmd1locD(2)= RFmd1posD - ((RFmd1locD(1)-1)*24); %calc c value + end - lstindx=lstindx+1; - lstindxOrf= lstindxOrf+1; - aa(lstindx,1)= {strcat('RF1mdP(',num2str(d),')')}; %{'RF1md'}; - aa(lstindx,2)={strcat(':',num2str(dMPs(mm)),':',num2str(RFmd1locD(1)),':',num2str(RFmd1locD(2)))}; %,'std_',num2str(std1))}; - bb(lstindxOrf,1)= {strcat('RF1mdP(',num2str(d),')')}; %{'RF1md'}; - bb(lstindxOrf,2)={strcat(':',num2str(dMPs(mm)),':',num2str(RFmd1locD(1)),':',num2str(RFmd1locD(2)))}; %,'std_',num2str(std1))}; - - Exp(1).Dexp(1).RFmdPLB(d,dMPs(mm))= strcat(aa(lstindx,1),aa(lstindx,2)); Exp(2).Dexp(1).RFmdPLB(d,dMPs(mm))= strcat(aa(lstindx,1),aa(lstindx,2)); Exp(3).Dexp(1).RFmdPLB(d,dMPs(mm))= strcat(aa(lstindx,1),aa(lstindx,2)); - Exp(1).Dexp(1).RFmdPindx(d,dMPs(mm))=RFmd1posD; Exp(2).Dexp(1).RFmdPindx(d,dMPs(mm))=RFmd1posD; Exp(3).Dexp(1).RFmdPindx(d,dMPs(mm))=RFmd1posD; - Exp(1).Dexp(1).RFmdPpltN(d,dMPs(mm))= dMPs(mm); Exp(2).Dexp(1).RFmdPpltN(d,dMPs(mm))= dMPs(mm); Exp(3).Dexp(1).RFmdPpltN(d,dMPs(mm))= dMPs(mm); - Exp(1).Dexp(1).RFmedianP(d,dMPs(mm))= mval1Disp; Exp(2).Dexp(1).RFmedianP(d,dMPs(mm))= mval1Disp; Exp(3).Dexp(1).RFmedianP(d,dMPs(mm))= mval1Disp; - Exp(1).Dexp(1).meanP(d,dMPs(mm))= mean1Disp; Exp(2).Dexp(1).meanP(d,dMPs(mm))= mean1Disp; Exp(3).Dexp(1).meanP(d,dMPs(mm))= mean1Disp; - Exp(1).Dexp(1).stdP(d,dMPs(mm))= std1Disp; Exp(2).Dexp(1).stdP(d,dMPs(mm))= std1Disp; Exp(3).Dexp(1).stdP(d,dMPs(mm))= std1Disp; - Exp(1).Dexp(1).minP(d,dMPs(mm))= minDisp; Exp(2).Dexp(1).minP(d,dMPs(mm))= minDisp; Exp(3).Dexp(1).minP(d,dMPs(mm))= minDisp; - Exp(1).Dexp(1).maxP(d,dMPs(mm))= maxDisp; Exp(2).Dexp(1).maxP(d,dMPs(mm))= maxDisp; Exp(3).Dexp(1).maxP(d,dMPs(mm))= maxDisp; - - 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(1).scan(rf1scNdisp).plate(1).CFout(NZrefIndxP,5))==0),1,'first'); - firstZeroD= drfPindx((firstZeroDindx),dMPs(mm)); - Exp(expN).Dexp(1).RFmdPindx(d,dMPs(mm))=firstZeroD; - Exp(expN).Dexp(1).RFmdPpltN(d,dMPs(mm))= dMPs(mm); %RF1mp; %Is this supposed to be the MP number or the ScanPlate number??? - - - end %~isempty(NZrefIndxP) && length(medianIndxDisp) > 3 ln584 - catch %try ln565 - medianCalcTryFailed1D= 'Failed! Failed! Ln565 {Dispersed RF1s} "try" But process continued with bogus Plate spot value!' - - try - firstZeroindxD= find(vv((chgIndx(d):chgIndx(d+1)-1),5)==0,1,'first') - firstZeroPindx= uu(firstZeroindxD,4); - Exp(expN).Dexp(1).RFmdPpltN(d,dMPs(mm))= dMPs(mm); - Exp(expN).Dexp(1).RFmdPindx(d,dMPs(mm))=firstZeroPindx; - - catch - catchissue='try at Ln565' - Exp(expN).Dexp(1).RFmdPpltN(d,dMPs(mm))= dMPs(mm); - Exp(expN).Dexp(1).RFmdPindx(d,dMPs(mm))=384; %if crapout,Then use spot384 as default to keep going - end - try - Exp(expN).Dexp(1).RFmdPpltN= dMPs(mm); - catch - catchissue='Ln' - Exp(expN).Dexp(1).RFmdPpltN= 1; %This might keep from breaking BUT ??? - end - end %try ~ln565 - - end %for d=0:DMnum - end %for mm=1:length(dMPs) - - %****************CALC. GLOBAL MEAN, STD, AND MEDIAN FOR DISTRIBUTED REFERENCES****************************************************************** - uu= horzcat(uu,vv); - for d=1:DMnum + % Calc. Global Mean, Std, And Median For Distributed References + uu=horzcat(uu,vv); + for d=1:DMnum medianIndxD=[]; NZrfIndxG=[]; minG=min(nonzeros(vv(:,d))); maxG=max(nonzeros(vv(:,d))); RFmeanG=mean(nonzeros(vv(:,d))); - RFstdG= std(nonzeros(vv(:,d))); - NZrfIndxG= find(vv(:,d)); %find(nonzeros(vv(:,d))); WWRONG FOR A WHILE! find(nonzeros(vv(:,d))); - - if isempty(RFmeanG), nonZeroCntD=0; - else nonZeroCntD= length(nonzeros(vv(:,d))); + RFstdG=std(nonzeros(vv(:,d))); + NZrfIndxG=find(vv(:,d)); % find(nonzeros(vv(:,d))); WWRONG FOR A WHILE! find(nonzeros(vv(:,d))); + if isempty(RFmeanG) + nonZeroCntD=0; + else + nonZeroCntD=length(nonzeros(vv(:,d))); + end + % Calc. of median requires an odd number of indx items + if ~isempty(NZrfIndxG) && mod(nonZeroCntD,2)==0, medianIndxD=NZrfIndxG(1:(size(NZrfIndxG,1)-1)); end + if ~isempty(NZrfIndxG) && mod(nonZeroCntD,2)~=0, medianIndxD=NZrfIndxG(:); end + if ~isempty(NZrfIndxG) && length(medianIndxD) > (.15*size(drf,1)) % To calc. a median, more than 15% of spots must be nonZero + mvalsDG=median(vv(medianIndxD,d)); % (nonzeros(vv(:,d))); + nzPosIndxDG=find(mvalsDG==vv(:,d)); + RFmdDGloc(d,1)=uu(nzPosIndxDG,1); % MP of distributedGlobal Median value + RFmdDGloc(d,2)=uu(nzPosIndxDG,2); % calc r value + RFmdDGloc(d,3)=uu(nzPosIndxDG,3); % calc c value + lstindx=lstindx+1; + lstindxOrf=lstindxOrf+1; + aa(lstindx,1)={strcat('RF1mdG(',num2str(d),')')}; + aa(lstindx,2)={strcat(':',num2str(RFmdDGloc(d,1)),':',num2str(RFmdDGloc(d,2)),':',num2str(RFmdDGloc(d,3)))}; %,'std_',num2str(std2))}; + bb(lstindxOrf,1)={strcat('RF1mdG(',num2str(d),')')}; + bb(lstindxOrf,2)={strcat(':',num2str(RFmdDGloc(d,1)),':',num2str(RFmdDGloc(d,2)),':',num2str(RFmdDGloc(d,3)))}; %,'std_',num2str(std2))}; + % Composite Reference Amalgum Plot + lstindx=lstindx+1; + lstindxOrf=lstindxOrf+1; + aa(lstindx,1)={strcat('RFcmpG(',num2str(d),')')}; + aa(lstindx,2)={''}; + bb(lstindxOrf,1)={strcat('RFcmpG(',num2str(d),')')}; + bb(lstindxOrf,2)={''}; + Exp(1).Dexp(1).RFmdGLB(d)=strcat(aa(lstindx,1),aa(lstindx,2)); Exp(2).Dexp(1).RFmdGLB(d)=strcat(aa(lstindx,1),aa(lstindx,2)); Exp(3).Dexp(1).RFmdGLB(d)=strcat(aa(lstindx,1),aa(lstindx,2)); + Exp(1).Dexp(1).RFmdGindx(d)=nzPosIndxDG; Exp(2).Dexp(1).RFmdGindx(d)=nzPosIndxDG; Exp(3).Dexp(1).RFmdGindx(d)=nzPosIndxDG; + Exp(1).Dexp(1).RFmdGpltN(d)=RFmdDGloc(d,1); Exp(2).Dexp(1).RFmdGpltN(d)=RFmdDGloc(d,1); Exp(3).Dexp(1).RFmdGpltN(d)=RFmdDGloc(d,1); + Exp(1).Dexp(1).RFmdGscanN(d)=uu(nzPosIndxDG,4); Exp(2).Dexp(1).RFmdGscanN(d)=uu(nzPosIndxDG,4); Exp(3).Dexp(1).RFmdGscanN(d)=uu(nzPosIndxDG,4); + Exp(1).Dexp(1).RFmedianG(d)=mvalsDG; Exp(2).Dexp(1).RFmedianG(d)=mvalsDG; Exp(3).Dexp(1).RFmedianG(d)=mvalsDG; + Exp(1).Dexp(1).RFmeanG(d)=RFmeanG; Exp(2).Dexp(1).RFmeanG(d)=RFmeanG; Exp(3).Dexp(1).RFmeanG(d)=RFmeanG; + Exp(1).Dexp(1).RFstdG(d)=RFstdG; Exp(2).Dexp(1).RFstdG(d)=RFstdG; Exp(3).Dexp(1).RFstdG(d)=RFstdG; + Exp(1).Dexp(1).RFminG(d)=minG; Exp(2).Dexp(1).RFminG(d)=minG; Exp(3).Dexp(1).RFminG(d)=minG; + Exp(1).Dexp(1).RFmaxG(d)=maxG; Exp(2).Dexp(1).RFmaxG(d)=maxG; Exp(3).Dexp(1).RFmaxG(d)=maxG; + for ic=1:3 + Exp(ic).Dexp(1).RFcmpGL.dm(d).Lvals=vv(medianIndxD,d); %17_1201 TrendOL + Exp(ic).Dexp(1).RFcmpGL.dm(d).med=median(vv(medianIndxD,d)); %For Ref Composite 17_1009 + Exp(ic).Dexp(1).RFcmpGL.dm(d).mean=mean(vv(medianIndxD,d)); %For Ref Composite 17_1009 + Exp(ic).Dexp(1).RFcmpGL.dm(d).std=std(vv(medianIndxD,d)); %For Ref Composite 17_1009 + Exp(ic).Dexp(1).RFcmpGL.dm(d).min=min(vv(medianIndxD,d)); %For Ref Composite 17_1009 + Exp(ic).Dexp(1).RFcmpGL.dm(d).max=max(vv(medianIndxD,d)); %For Ref Composite 17_1009 + Exp(ic).Dexp(1).RFcmpGK.dm(d).Kvals=vvK(medianIndxD,d); %17_1201 TrendOL + Exp(ic).Dexp(1).RFcmpGK.dm(d).med=median(vvK(medianIndxD,d)); %For Ref Composite 17_1009 + Exp(ic).Dexp(1).RFcmpGK.dm(d).mean=mean(vvK(medianIndxD,d)); %For Ref Composite 17_1009 + Exp(ic).Dexp(1).RFcmpGK.dm(d).std=std(vvK(medianIndxD,d)); %For Ref Composite 17_1009 + Exp(ic).Dexp(1).RFcmpGK.dm(d).min=min(vvK(medianIndxD,d)); %For Ref Composite 17_1009 + Exp(ic).Dexp(1).RFcmpGK.dm(d).max=max(vvK(medianIndxD,d)); %For Ref Composite 17_1009 + Exp(ic).Dexp(1).RFcmpGr.dm(d).rvals=vvr(medianIndxD,d); %17_1201 TrendOL + Exp(ic).Dexp(1).RFcmpGr.dm(d).med=median(vvr(medianIndxD,d)); %For Ref Composite 17_1009 + Exp(ic).Dexp(1).RFcmpGr.dm(d).mean=mean(vvr(medianIndxD,d)); %For Ref Composite 17_1009 + Exp(ic).Dexp(1).RFcmpGr.dm(d).std=std(vvr(medianIndxD,d)); %For Ref Composite 17_1009 + Exp(ic).Dexp(1).RFcmpGr.dm(d).min=min(vvr(medianIndxD,d)); %For Ref Composite 17_1009 + Exp(ic).Dexp(1).RFcmpGr.dm(d).max=max(vvr(medianIndxD,d)); %For Ref Composite 17_1009 + end + end + end end - %Calc. of median requires an odd number of indx items - if ~isempty(NZrfIndxG) && mod(nonZeroCntD,2)==0, medianIndxD= NZrfIndxG(1:(size(NZrfIndxG,1)-1)); end - if ~isempty(NZrfIndxG) && mod(nonZeroCntD,2)~=0, medianIndxD= NZrfIndxG(:); end - - if ~isempty(NZrfIndxG) && length(medianIndxD) > (.15*size(drf,1)) %To calc. a median, more than 15% of spots must be nonZero - - mvalsDG= median(vv(medianIndxD,d)); %(nonzeros(vv(:,d))); - nzPosIndxDG=find(mvalsDG==vv(:,d)); - RFmdDGloc(d,1)= uu(nzPosIndxDG,1); %MP of distributedGlobal Median value - RFmdDGloc(d,2)= uu(nzPosIndxDG,2); %calc r value - RFmdDGloc(d,3)= uu(nzPosIndxDG,3); %calc c value - lstindx=lstindx+1; - lstindxOrf= lstindxOrf+1; - aa(lstindx,1)= {strcat('RF1mdG(',num2str(d),')')}; - aa(lstindx,2)={strcat(':',num2str(RFmdDGloc(d,1)),':',num2str(RFmdDGloc(d,2)),':',num2str(RFmdDGloc(d,3)))}; %,'std_',num2str(std2))}; - bb(lstindxOrf,1)= {strcat('RF1mdG(',num2str(d),')')}; - bb(lstindxOrf,2)={strcat(':',num2str(RFmdDGloc(d,1)),':',num2str(RFmdDGloc(d,2)),':',num2str(RFmdDGloc(d,3)))}; %,'std_',num2str(std2))}; - %Composite Reference Amalgum Plot ****************** - lstindx=lstindx+1; - lstindxOrf= lstindxOrf+1; - aa(lstindx,1)= {strcat('RFcmpG(',num2str(d),')')}; - aa(lstindx,2)={''}; - bb(lstindxOrf,1)= {strcat('RFcmpG(',num2str(d),')')}; - bb(lstindxOrf,2)={''}; - %***************************************************** - Exp(1).Dexp(1).RFmdGLB(d)= strcat(aa(lstindx,1),aa(lstindx,2)); Exp(2).Dexp(1).RFmdGLB(d)= strcat(aa(lstindx,1),aa(lstindx,2)); Exp(3).Dexp(1).RFmdGLB(d)= strcat(aa(lstindx,1),aa(lstindx,2)); - Exp(1).Dexp(1).RFmdGindx(d)=nzPosIndxDG; Exp(2).Dexp(1).RFmdGindx(d)=nzPosIndxDG; Exp(3).Dexp(1).RFmdGindx(d)=nzPosIndxDG; - Exp(1).Dexp(1).RFmdGpltN(d)= RFmdDGloc(d,1); Exp(2).Dexp(1).RFmdGpltN(d)= RFmdDGloc(d,1); Exp(3).Dexp(1).RFmdGpltN(d)= RFmdDGloc(d,1); - Exp(1).Dexp(1).RFmdGscanN(d)= uu(nzPosIndxDG,4); Exp(2).Dexp(1).RFmdGscanN(d)= uu(nzPosIndxDG,4); Exp(3).Dexp(1).RFmdGscanN(d)= uu(nzPosIndxDG,4); - Exp(1).Dexp(1).RFmedianG(d)= mvalsDG; Exp(2).Dexp(1).RFmedianG(d)= mvalsDG; Exp(3).Dexp(1).RFmedianG(d)= mvalsDG; - Exp(1).Dexp(1).RFmeanG(d)= RFmeanG; Exp(2).Dexp(1).RFmeanG(d)= RFmeanG; Exp(3).Dexp(1).RFmeanG(d)= RFmeanG; - Exp(1).Dexp(1).RFstdG(d)= RFstdG; Exp(2).Dexp(1).RFstdG(d)= RFstdG; Exp(3).Dexp(1).RFstdG(d)= RFstdG; - Exp(1).Dexp(1).RFminG(d)= minG; Exp(2).Dexp(1).RFminG(d)= minG; Exp(3).Dexp(1).RFminG(d)= minG; - Exp(1).Dexp(1).RFmaxG(d)= maxG; Exp(2).Dexp(1).RFmaxG(d)= maxG; Exp(3).Dexp(1).RFmaxG(d)= maxG; - for ic=1:3 - Exp(ic).Dexp(1).RFcmpGL.dm(d).Lvals= vv(medianIndxD,d); %17_1201 TrendOL - Exp(ic).Dexp(1).RFcmpGL.dm(d).med= median(vv(medianIndxD,d)); %For Ref Composite 17_1009 - Exp(ic).Dexp(1).RFcmpGL.dm(d).mean= mean(vv(medianIndxD,d)); %For Ref Composite 17_1009 - Exp(ic).Dexp(1).RFcmpGL.dm(d).std= std(vv(medianIndxD,d)); %For Ref Composite 17_1009 - Exp(ic).Dexp(1).RFcmpGL.dm(d).min= min(vv(medianIndxD,d)); %For Ref Composite 17_1009 - Exp(ic).Dexp(1).RFcmpGL.dm(d).max= max(vv(medianIndxD,d)); %For Ref Composite 17_1009 - Exp(ic).Dexp(1).RFcmpGK.dm(d).Kvals= vvK(medianIndxD,d); %17_1201 TrendOL - Exp(ic).Dexp(1).RFcmpGK.dm(d).med= median(vvK(medianIndxD,d)); %For Ref Composite 17_1009 - Exp(ic).Dexp(1).RFcmpGK.dm(d).mean= mean(vvK(medianIndxD,d)); %For Ref Composite 17_1009 - Exp(ic).Dexp(1).RFcmpGK.dm(d).std= std(vvK(medianIndxD,d)); %For Ref Composite 17_1009 - Exp(ic).Dexp(1).RFcmpGK.dm(d).min= min(vvK(medianIndxD,d)); %For Ref Composite 17_1009 - Exp(ic).Dexp(1).RFcmpGK.dm(d).max= max(vvK(medianIndxD,d)); %For Ref Composite 17_1009 - Exp(ic).Dexp(1).RFcmpGr.dm(d).rvals= vvr(medianIndxD,d); %17_1201 TrendOL - Exp(ic).Dexp(1).RFcmpGr.dm(d).med= median(vvr(medianIndxD,d)); %For Ref Composite 17_1009 - Exp(ic).Dexp(1).RFcmpGr.dm(d).mean= mean(vvr(medianIndxD,d)); %For Ref Composite 17_1009 - Exp(ic).Dexp(1).RFcmpGr.dm(d).std= std(vvr(medianIndxD,d)); %For Ref Composite 17_1009 - Exp(ic).Dexp(1).RFcmpGr.dm(d).min= min(vvr(medianIndxD,d)); %For Ref Composite 17_1009 - Exp(ic).Dexp(1).RFcmpGr.dm(d).max= max(vvr(medianIndxD,d)); %For Ref Composite 17_1009 - end - end %if ~isempty(NZrfIndxG(:,d)) && length(medianIndxD) > (.15*size(drf,1)) - end %for d=1:DMnum - - end % if exist('drf','var') - %END OF DISPERSE REFERENCE PLATAES CALCULATIONS AND LIST ADDITIONS - %***************************************************************************************************** - - - - - - %SORT and build GeneList + % End Of Disperse Reference Plataes Calculations And List Additions + % Sort And Build Genelist Exp(1).Dexp(1).srtGnLst={('CheckMP/MPDMfile')}; - gnLstRaw= strcat(aa(:,1),aa(:,2)); - Exp(1).Dexp(1).srtGnLst= sort(gnLstRaw); + gnLstRaw=strcat(aa(:,1),aa(:,2)); + Exp(1).Dexp(1).srtGnLst=sort(gnLstRaw); Exp(2).Dexp(1).srtGnLst=Exp(1).Dexp(1).srtGnLst; Exp(3).Dexp(1).srtGnLst=Exp(1).Dexp(1).srtGnLst; orfLstRaw=strcat(bb(:,1),bb(:,2)); - Exp(1).Dexp(1).srtOrfLst= sort(orfLstRaw); + Exp(1).Dexp(1).srtOrfLst=sort(orfLstRaw); Exp(2).Dexp(1).srtOrfLst=Exp(1).Dexp(1).srtOrfLst; Exp(3).Dexp(1).srtOrfLst=Exp(1).Dexp(1).srtOrfLst; set(handles.listboxGnOrf,'string',Exp(1).Dexp(1).srtGnLst) - catch ME %Outer loop try around entire code subroutine - cd(w) - set(handles.listboxGnOrf,'string',cellstr([{'Failed To Load'}; {'Check MPDMmat file'};{'Check .xls files'};{'Check \Fotos .mat files'};{'Check \matResults file'}])) - %Exp(expN).Dexp(1).srtGnLst={('Failed To Load')}; - Exp(1).Dexp(1).srtGnLst=cellstr([{'Failed To Load'}; {' '}]); - Exp(2).Dexp(1).srtGnLst=cellstr([{'Failed To Load'}; {' '}]); - Exp(3).Dexp(1).srtGnLst=cellstr([{'Failed To Load'}; {' '}]); - %Exp(expN).srtOrfLst={('Failed To Load')}; - Exp(1).Dexp(1).srtOrfLst=cellstr([{'Failed To Load'}; {' '}]); - Exp(2).Dexp(1).srtOrfLst=cellstr([{'Failed To Load'}; {' '}]); - Exp(3).Dexp(1).srtOrfLst=cellstr([{'Failed To Load'}; {' '}]); - - %[openExpfile,scansDir] - if isempty(strfind(openExpfile,'.mat')) - - cd(scansDir) - cd .. - ExpPath=pwd; - cd(w) - ExpOutImFile= fullfile(scansDir,openExpfile); - EZvImagesOnly - end - +catch ME %Outer loop try around entire code subroutine + cd(w) + set(handles.listboxGnOrf,'string',cellstr([{'Failed To Load'}; {'Check MPDMmat file'};{'Check .xls files'};{'Check \Fotos .mat files'};{'Check \matResults file'}])) + %Exp(expN).Dexp(1).srtGnLst={('Failed To Load')}; + Exp(1).Dexp(1).srtGnLst=cellstr([{'Failed To Load'}; {' '}]); + Exp(2).Dexp(1).srtGnLst=cellstr([{'Failed To Load'}; {' '}]); + Exp(3).Dexp(1).srtGnLst=cellstr([{'Failed To Load'}; {' '}]); + %Exp(expN).srtOrfLst={('Failed To Load')}; + Exp(1).Dexp(1).srtOrfLst=cellstr([{'Failed To Load'}; {' '}]); + Exp(2).Dexp(1).srtOrfLst=cellstr([{'Failed To Load'}; {' '}]); + Exp(3).Dexp(1).srtOrfLst=cellstr([{'Failed To Load'}; {' '}]); + %[openExpfile,scansDir] + if ~contains(openExpfile,'.mat') + cd(scansDir) + cd '..' + ExpPath=pwd; + cd(w) + ExpOutImFile=fullfile(scansDir,openExpfile); + EZvImagesOnly end - %********************************************************* - expN=1; %Fix 170424 - DexpN=1; - EZdiagRFsSheet %* - %**************** - Exp(1).Dexp(1).RFrnames=rnames; Exp(2).Dexp(1).RFrnames=rnames; Exp(3).Dexp(1).RFrnames=rnames; - Exp(1).Dexp(1).RFdata= data; Exp(2).Dexp(1).RFdata= data; Exp(3).Dexp(1).RFdata= data; - %********************************************************* - RFconfig=0; - if sum(ismember(fieldnames(Exp(expN).Dexp(1)),'RFmean'))&&... - ~isempty(Exp(expN).Dexp(1).RFmean)&&... - sum(ismember(fieldnames(Exp(expN).Dexp(1)),'RFmeanG'))&&... - isempty(Exp(expN).Dexp(1).RFmeanG) - RFconfig=1; +end +expN=1; % Fix 170424 +DexpN=1; +EZdiagRFsSheet +Exp(1).Dexp(1).RFrnames=rnames; Exp(2).Dexp(1).RFrnames=rnames; Exp(3).Dexp(1).RFrnames=rnames; +Exp(1).Dexp(1).RFdata=data; Exp(2).Dexp(1).RFdata=data; Exp(3).Dexp(1).RFdata=data; +RFconfig=0; +if sum(ismember(fieldnames(Exp(expN).Dexp(1)),'RFmean')) ... +&& ~isempty(Exp(expN).Dexp(1).RFmean) ... +&& sum(ismember(fieldnames(Exp(expN).Dexp(1)),'RFmeanG')) ... +&& isempty(Exp(expN).Dexp(1).RFmeanG) + RFconfig=1; +end +if sum(ismember(fieldnames(Exp(expN).Dexp(1)),'RFmean'))==0 ... +|| isempty(Exp(expN).Dexp(1).RFmean) ... +&& sum(ismember(fieldnames(Exp(expN).Dexp(1)),'RFmeanG')) ... +&& ~isempty(Exp(expN).Dexp(1).RFmeanG) + RFconfig=2; +end +if sum(ismember(fieldnames(Exp(expN).Dexp(1)),'RFmean')) ... +&& ~isempty(Exp(expN).Dexp(1).RFmean) ... +&& sum(ismember(fieldnames(Exp(expN).Dexp(1)),'RFmeanG')) ... +&& ~isempty(Exp(expN).Dexp(1).RFmeanG) + RFconfig=3; +end +Exp(1).RFconfig=RFconfig; Exp(2).RFconfig=RFconfig; Exp(3).RFconfig=RFconfig; % ZoneRelated +try + msgBadGeneName +catch +end +try + Exp(1).Dexp(1).resetHtmpTg=3; Exp(2).Dexp(1).resetHtmpTg=3; Exp(3).Dexp(1).resetHtmpTg=3; % ZoneRelated + if RFconfig==0 + RFconfigMsg='No RF1 references in this Experiment Job' + Exp(1).resetHtmpTg=3; Exp(2).resetHtmpTg=3; Exp(3).resetHtmpTg=3; % ZoneRelated end - if sum(ismember(fieldnames(Exp(expN).Dexp(1)),'RFmean'))==0 ||... - isempty(Exp(expN).Dexp(1).RFmean)&&... - sum(ismember(fieldnames(Exp(expN).Dexp(1)),'RFmeanG'))&&... - ~isempty(Exp(expN).Dexp(1).RFmeanG) - RFconfig=2; - end - if sum(ismember(fieldnames(Exp(expN).Dexp(1)),'RFmean'))&&... - ~isempty(Exp(expN).Dexp(1).RFmean)&&... - sum(ismember(fieldnames(Exp(expN).Dexp(1)),'RFmeanG'))&&... - ~isempty(Exp(expN).Dexp(1).RFmeanG) - RFconfig=3; - end - Exp(1).RFconfig= RFconfig; Exp(2).RFconfig= RFconfig; Exp(3).RFconfig= RFconfig; %ZoneRelated - %***************************** - try - msgBadGeneName - catch - end - try - Exp(1).Dexp(1).resetHtmpTg =3; Exp(2).Dexp(1).resetHtmpTg =3; Exp(3).Dexp(1).resetHtmpTg =3; %ZoneRelated - if RFconfig==0, - RFconfigMsg= 'No RF1 references in this Experiment Job' - Exp(1).resetHtmpTg =3; Exp(2).resetHtmpTg =3; Exp(3).resetHtmpTg =3; %ZoneRelated - end - catch - end - - %***************************** - prntHt=0; - % HtMapTog 'string', 'Current user HL/HN' selection' - try +catch +end +prntHt=0; +% HtMapTog 'string', 'Current user HL/HN' selection' +try Exp(1).htmapPBsel=0; set(handles.HtMapTog1,'string','L') - Exp(2).htmapPBsel=0; %ZoneRelated set(handles.HtMapTog2,'string','L') - Exp(3).htmapPBsel=0; set(handles.HtMapTog3,'string','L') +catch + % expN=1; +end - catch - % expN=1; - end - - %************************************************************************ - %Added 17-1023 For User Addition of Gene Composites to ListBox - for ic=1:3 - Expaa{ic,1}= aa; Expbb{ic,1}= bb; - end - %********************************************************************** - - - htMapTogPBfg=0; - Exp(1).htmapRFanswer= {'G','L'}; %ZoneRelated - Exp(2).htmapRFanswer= {'G','L'}; - Exp(3).htmapRFanswer= {'G','L'}; - - zonePB= expN; %added 230828 to fix migration - %------Adapt for AppDesigner 230821----------- - global ghandles - ghandles= handles; - %global Exp(4) - ghandles.guiFig= gcf; - Exp(4).guiFig=gcf; +for ic=1:3 + Expaa{ic,1}=aa; + Expbb{ic,1}=bb; +end +htMapTogPBfg=0; +Exp(1).htmapRFanswer={'G','L'}; % ZoneRelated +Exp(2).htmapRFanswer={'G','L'}; +Exp(3).htmapRFanswer={'G','L'}; +zonePB=expN; % added 230828 to fix migration +ghandles=handles; +ghandles.guiFig=gcf; +Exp(4).guiFig=gcf; diff --git a/workflow/apps/matlab/ezview/EZvNIcircle.m b/workflow/apps/matlab/ezview/EZvNIcircle.m index 9acce454..a35bf770 100755 --- a/workflow/apps/matlab/ezview/EZvNIcircle.m +++ b/workflow/apps/matlab/ezview/EZvNIcircle.m @@ -1,11 +1,11 @@ -%Disk Image +% Disk Image %{ %Imaging ToolBox method r=14; A=zeros(70,70); %(fIntsc(refPtR:(refPtRExt),refPtC:(refPtCExt))) -m= {40,40}; +m={40,40}; A(m{:})=1; -B= imdilate(A,strel('disk',r,0) ); +B=imdilate(A,strel('disk',r,0) ); imshow(B) area=pi*r^2 @@ -18,45 +18,39 @@ clear all %A=zeros(70,70); %A=zeros(r,r); %P=[40,40]; -%center= [refPtR+ round(.5*width), refPtC+ round(.5*width)]; +%center=[refPtR+ round(.5*width), refPtC+ round(.5*width)]; %A=zeros(70,70); -%--------------------------------------------------------------------- %radius=14; diaExt=2*(radius+1); circBoxA=zeros(diaExt,diaExt); -center= [radius+2, radius+2]; +center=[radius+2, radius+2]; [m n ]=size(circBoxA); X=bsxfun(@plus,(1:m)', zeros(1,n)); Y=bsxfun(@plus,(1:n), zeros(m,1)); -cirMask= sqrt(sum(bsxfun(@minus,cat(3,X,Y),reshape(center,1,1,[])) .^2,3))<=radius; +cirMask=sqrt(sum(bsxfun(@minus,cat(3,X,Y),reshape(center,1,1,[])) .^2,3))<=radius; area=pi*radius^2; +cirPixA=nnz(cirMask); +optCirMask=double(cirMask); +optCirMask(optCirMask==0)=0.8; -cirPixA= nnz(cirMask); - -optCirMask= double(cirMask); -optCirMask(optCirMask==0)= 0.8; - -%+++++++++++Foto Circle Fram(e)+++++++++++++++++++++ +% Foto Circle Fram(e) expansion=2; -radExpan= radius+expansion; +radExpan=radius+expansion; FdiaExt=2*(radExpan); circBoxA=zeros(FdiaExt,FdiaExt); -center= [radExpan+1, radExpan+1]; +center=[radExpan+1, radExpan+1]; [m n ]=size(circBoxA); X=bsxfun(@plus,(1:m)', zeros(1,n)); Y=bsxfun(@plus,(1:n), zeros(m,1)); -FcirMask= sqrt(sum(bsxfun(@minus,cat(3,X,Y),reshape(center,1,1,[])) .^2,3))<=radExpan; - -%FcirPixA= nnz(cirMask); -FoptCirMask= double(FcirMask); -FoptCirMask(FoptCirMask==1)= 2; -%FoptCirMask(FoptCirMask==0)= 1; -%********Combine Masks to create circular boundry************ -padOptCirMask= padarray(optCirMask,[expansion-1 expansion-1],0.8); -FoptCirMask= FoptCirMask .* padOptCirMask; -FoptCirMask(FoptCirMask==1.6)= 0.8; -FoptCirMask(FoptCirMask==0)= 1; -FoptCirMask(FoptCirMask==2)= 1; - -%--------------------------------------------------- -%imagesc(cirMask) \ No newline at end of file +FcirMask=sqrt(sum(bsxfun(@minus,cat(3,X,Y),reshape(center,1,1,[])) .^2,3))<=radExpan; +% FcirPixA=nnz(cirMask); +FoptCirMask=double(FcirMask); +FoptCirMask(FoptCirMask==1)=2; +% FoptCirMask(FoptCirMask==0)=1; +% Combine Masks to create circular boundry +padOptCirMask=padarray(optCirMask,[expansion-1 expansion-1],0.8); +FoptCirMask=FoptCirMask .* padOptCirMask; +FoptCirMask(FoptCirMask==1.6)=0.8; +FoptCirMask(FoptCirMask==0)=1; +FoptCirMask(FoptCirMask==2)=1; +% imagesc(cirMask) \ No newline at end of file diff --git a/workflow/apps/matlab/ezview/EZvTrendPrint.m b/workflow/apps/matlab/ezview/EZvTrendPrint.m index f0ca6ab9..12a79680 100755 --- a/workflow/apps/matlab/ezview/EZvTrendPrint.m +++ b/workflow/apps/matlab/ezview/EZvTrendPrint.m @@ -3,158 +3,144 @@ global ghandles global Exp - - 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}) + 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; + lnwidth=4; + axisFontSz=36; + legFontSz=10; + markerSz=5; end - if get(ghandles.printOL1,'Value')==1,zone= 1; end - if get(ghandles.printOL2,'Value')==1,zone= 2; end - if get(ghandles.printOL3,'Value')==1,zone= 3; end +if get(ghandles.printOL1,'Value')==1,zone=1; end +if get(ghandles.printOL2,'Value')==1,zone=2; end +if get(ghandles.printOL3,'Value')==1,zone=3; end clear legName tmp figure set(gcf,'OuterPosition',(get(0,'screensize'))) - hn=0; - if isequal(get(Exp(zone).hOL(1),'Visible'),'on') - disphOLX(1)= {get(Exp(zone).hOL(1),'XData')} - disphOLY(1)= {get(Exp(zone).hOL(1),'YData')} - tmp(1)=strrep(Exp(zone).hOLname(1),'_','-') - try - disphOLbX(1)= {get(Exp(zone).hOLb(1),'XData')} - disphOLbY(1)= {get(Exp(zone).hOLb(1),'YData')} - catch end - - hn=hn+1 - notDup=1; - end +hn=0; +if isequal(get(Exp(zone).hOL(1),'Visible'),'on') + disphOLX(1)={get(Exp(zone).hOL(1),'XData')} + disphOLY(1)={get(Exp(zone).hOL(1),'YData')} + tmp(1)=strrep(Exp(zone).hOLname(1),'_','-') + try + disphOLbX(1)={get(Exp(zone).hOLb(1),'XData')} + disphOLbY(1)={get(Exp(zone).hOLb(1),'YData')} + catch end + hn=hn+1 + notDup=1; + end + notDup=0; -notDup=0; -for hN=2:length(Exp(zone).hOL) - %Bounce-dupicate data removal + for hN=2:length(Exp(zone).hOL) + % Bounce-dupicate data removal for j=1:(hN-1) - if isequal(Exp(zone).hOLname(hN), Exp(zone).hOLname(j))%&& ... - %isequal(get(Exp(zone).hOL(hN),'Visible'),'on') + if isequal(Exp(zone).hOLname(hN), Exp(zone).hOLname(j)) %&& ... + % isequal(get(Exp(zone).hOL(hN),'Visible'),'on') notDup=0; - break + break else notDup=1; end end - if notDup==1 - if isequal(get(Exp(zone).hOL(hN),'Visible'),'on') - hn=hn+1 + if notDup==1 + if isequal(get(Exp(zone).hOL(hN),'Visible'),'on') + hn=hn+1 + try + disphOLX(hn)={get(Exp(zone).hOL(hN),'XData')}; + disphOLY(hn)={get(Exp(zone).hOL(hN),'YData')}; + tmp(hn)=strrep(Exp(zone).hOLname(hN),'_','-') try - disphOLX(hn)= {get(Exp(zone).hOL(hN),'XData')}; - disphOLY(hn)= {get(Exp(zone).hOL(hN),'YData')}; - tmp(hn)=strrep(Exp(zone).hOLname(hN),'_','-') - try - disphOLbX(hn)={get(Exp(zone).hOLb(hN),'XData')}; - disphOLbY(hn)= {get(Exp(zone).hOLb(hN),'YData')}; - catch end - tmp(hn)=strrep(Exp(zone).hOLname(hN),'_','-') - catch ME - disp(ME) - display('error leading to line 59 catch') - + disphOLbX(hn)={get(Exp(zone).hOLb(hN),'XData')}; + disphOLbY(hn)={get(Exp(zone).hOLb(hN),'YData')}; + catch end + tmp(hn)=strrep(Exp(zone).hOLname(hN),'_','-') + catch ME + disp(ME) + display('error leading to line 59 catch') end - end - end + end + end + end for i=1:hn if semiLog==0 - hprint=plot(cell2mat(disphOLX(i)),cell2mat(disphOLY(i))) - set(hprint,'linewidth',lnwidth) %0.5 then 1.5 now 6 - set(gca,'fontsize',axisFontSz) % 8 to 15 to 21 - linecolor(i)={get(hprint,'color')}; - + hprint=plot(cell2mat(disphOLX(i)),cell2mat(disphOLY(i))) + set(hprint,'linewidth',lnwidth) %0.5 then 1.5 now 6 + set(gca,'fontsize',axisFontSz) % 8 to 15 to 21 + linecolor(i)={get(hprint,'color')}; else - hprint=semilogy(cell2mat(disphOLX(i)),cell2mat(disphOLY(i))) - set(hprint,'linewidth',lnwidth) %0.5 then 1.5 now 4.0 - set(gca,'fontsize',axisFontSz) % 8 to 15 to 21 - linecolor(i)={get(hprint,'color')}; + hprint=semilogy(cell2mat(disphOLX(i)),cell2mat(disphOLY(i))) + set(hprint,'linewidth',lnwidth) %0.5 then 1.5 now 4.0 + set(gca,'fontsize',axisFontSz) % 8 to 15 to 21 + linecolor(i)={get(hprint,'color')}; end - -hold all + hold all end - if Exp(zone).CompositPlot~=1 %Standard plot, Not a Composite Plot -legName= tmp -hleg=legend((legName),'location','NEO') -set(hleg,'fontsize',legFontSz) - -try + if Exp(zone).CompositPlot~=1 % Standard plot, Not a Composite Plot + legName=tmp + hleg=legend((legName),'location','NEO') + set(hleg,'fontsize',legFontSz) + try for i=1:hn - if semiLog==0 - hprint=plot(cell2mat(disphOLbX(i)),cell2mat(disphOLbY(i)),'marker','+','markerEdgeColor',cell2mat(linecolor(i)),'markerSize',markerSz, 'linestyle','none') - else - hprint=semilogy(cell2mat(disphOLbX(i)),cell2mat(disphOLbY(i)),'marker','+','markerEdgeColor',cell2mat(linecolor(i)),'markerSize',markerSz, 'linestyle','none') - end + if semiLog==0 + hprint=plot(cell2mat(disphOLbX(i)),cell2mat(disphOLbY(i)),'marker','+','markerEdgeColor',cell2mat(linecolor(i)),'markerSize',markerSz, 'linestyle','none') + else + hprint=semilogy(cell2mat(disphOLbX(i)),cell2mat(disphOLbY(i)),'marker','+','markerEdgeColor',cell2mat(linecolor(i)),'markerSize',markerSz, 'linestyle','none') + end end -catch end + catch + end + hold off +% End of Standard Overlay Plot +else %if Composite Plot + for hcN=1:(Exp(zone).cTraceN -1) + disphOLX(hcN)={get(Exp(zone).hCmean(hcN),'XData')}; + disphOLY(hcN)={get(Exp(zone).hCmean(hcN),'YData')}; + disphOLbX(hcN)={get(Exp(zone).hBound1(hcN),'XData')}; + disphOLbY(hcN)={get(Exp(zone).hBound1(hcN),'YData')}; + disphOLcX(hcN)={get(Exp(zone).hBound2(hcN),'XData')}; + disphOLcY(hcN)={get(Exp(zone).hBound2(hcN),'YData')}; + tmp(hcN)=(Exp(zone).cName(hcN)) -hold off -%*******End of Standard Overlay Plot*********************** - else %if Composite Plot - for hcN=1:(Exp(zone).cTraceN -1) - disphOLX(hcN)= {get(Exp(zone).hCmean(hcN),'XData')}; - disphOLY(hcN)= {get(Exp(zone).hCmean(hcN),'YData')}; - disphOLbX(hcN)={get(Exp(zone).hBound1(hcN),'XData')}; - disphOLbY(hcN)= {get(Exp(zone).hBound1(hcN),'YData')}; - disphOLcX(hcN)={get(Exp(zone).hBound2(hcN),'XData')}; - disphOLcY(hcN)= {get(Exp(zone).hBound2(hcN),'YData')}; - tmp(hcN)=(Exp(zone).cName(hcN)) - - if semiLog==0 - hprint=plot(cell2mat(disphOLX(hcN)),cell2mat(disphOLY(hcN))) - set(hprint,'linewidth',lnwidth) %0.5 then 1.5 now 6 - set(gca,'fontsize',axisFontSz) % 8 to 15 to 21 - linecolor(hcN)={get(hprint,'color')}; - - else - hprint=semilogy(cell2mat(disphOLX(hcN)),cell2mat(disphOLY(hcN))) - set(hprint,'linewidth',lnwidth) %0.5 then 1.5 now 4.0 - set(gca,'fontsize',axisFontSz) % 8 to 15 to 21 - linecolor(hcN)={get(hprint,'color')}; - end + if semiLog==0 + hprint=plot(cell2mat(disphOLX(hcN)),cell2mat(disphOLY(hcN))) + set(hprint,'linewidth',lnwidth) %0.5 then 1.5 now 6 + set(gca,'fontsize',axisFontSz) % 8 to 15 to 21 + linecolor(hcN)={get(hprint,'color')}; + else + hprint=semilogy(cell2mat(disphOLX(hcN)),cell2mat(disphOLY(hcN))) + set(hprint,'linewidth',lnwidth) %0.5 then 1.5 now 4.0 + set(gca,'fontsize',axisFontSz) % 8 to 15 to 21 + linecolor(hcN)={get(hprint,'color')}; + end -hold all - -legName= tmp -hleg=legend((legName),'location','NEO') -set(hleg,'fontsize',legFontSz) - - - -%{ - for i=1:hn - hprint=plot(cell2mat(disphOLbX(i)),cell2mat(disphOLbY(i)),'marker','+','markerEdgeColor',cell2mat(linecolor(i)),'markerSize',markerSz, 'linestyle','none') - end - %} - end - - for i=1:(Exp(zone).cTraceN -1) - hBprint= plot(cell2mat(disphOLbX(i)),cell2mat(disphOLbY(i))) - set(hBprint,'linewidth',.5) %lnwidth) %0.5 then 1.5 now 6 - set(hBprint,'color',linecolor{i}) - - - hCprint= plot(cell2mat(disphOLcX(i)),cell2mat(disphOLcY(i))) - set(hCprint,'linewidth',0.5) %lnwidth) %0.5 then 1.5 now 6 - set(hBprint,'color',linecolor{i}) - end - hold off - end + hold all + legName=tmp + hleg=legend((legName),'location','NEO') + set(hleg,'fontsize',legFontSz) + %{ + for i=1:hn + hprint=plot(cell2mat(disphOLbX(i)),cell2mat(disphOLbY(i)),'marker','+','markerEdgeColor',cell2mat(linecolor(i)),'markerSize',markerSz, 'linestyle','none') + end + %} + end + for i=1:(Exp(zone).cTraceN -1) + hBprint=plot(cell2mat(disphOLbX(i)),cell2mat(disphOLbY(i))) + set(hBprint,'linewidth',.5) %lnwidth) %0.5 then 1.5 now 6 + set(hBprint,'color',linecolor{i}) + hCprint=plot(cell2mat(disphOLcX(i)),cell2mat(disphOLcY(i))) + set(hCprint,'linewidth',0.5) %lnwidth) %0.5 then 1.5 now 6 + set(hBprint,'color',linecolor{i}) + end + hold off +end diff --git a/workflow/apps/matlab/ezview/EZvapendLabel.m b/workflow/apps/matlab/ezview/EZvapendLabel.m index 008dee93..a7125c4d 100755 --- a/workflow/apps/matlab/ezview/EZvapendLabel.m +++ b/workflow/apps/matlab/ezview/EZvapendLabel.m @@ -1,4 +1,4 @@ -% Create the text in an axis: +% Create the text in an axis hFstrip=figure; %figure(hFstrip,'Visible','off') diff --git a/workflow/apps/matlab/ezview/EZviewGui.m b/workflow/apps/matlab/ezview/EZviewGui.m index a619f902..4808392e 100755 --- a/workflow/apps/matlab/ezview/EZviewGui.m +++ b/workflow/apps/matlab/ezview/EZviewGui.m @@ -155,10 +155,10 @@ function [output_txt]=myupdatefcn(obj,event_obj) global Exp [output_txt]=datatipp(obj,event_obj); % datatipp is a Matlab function - gcf= Exp(4).guiFig; % gcf= ghandles.figure1 Mathworks Provided this line for Apple issue + gcf=Exp(4).guiFig; % gcf=ghandles.figure1 Mathworks Provided this line for Apple issue clkPos=getCursorInfo(datacursormode(gcf)); cpos=clkPos.Position; - htargetAxes= clkPos.Target; + htargetAxes=clkPos.Target; % datacursormode(gcf) if ghandles.Iaxes1==get(htargetAxes,'Parent')||... ghandles.Iaxes2==get(htargetAxes,'Parent')||... @@ -212,12 +212,12 @@ function MPed1_Callback(hObject, eventdata, handles) input=get(hObject,'String'); Max=floor(get(handles.MPsldr1,'max')); Min=floor(get(handles.MPsldr1,'min')); - if str2num(input) >= Min && str2num(input) <= Max + if str2num(input) >=Min && str2num(input) <=Max display(input) set(handles.MPsldr1,'value',str2double(input)); else - if str2double(input) >= Max, set(handles.MPsldr1,'value',Max); set(handles.MPed1,'string',num2str(Max));end - if str2double(input) <= Min, set(handles.MPsldr1,'value',Min),set(handles.MPed1,'string',num2str(Min));end + if str2double(input) >=Max, set(handles.MPsldr1,'value',Max); set(handles.MPed1,'string',num2str(Max));end + if str2double(input) <=Min, set(handles.MPsldr1,'value',Min),set(handles.MPed1,'string',num2str(Min));end end EZVimDisplay @@ -232,7 +232,7 @@ function MPed1_Callback(hObject, eventdata, handles) function MPed1_CreateFcn(hObject, eventdata, handles) global ghandles global Exp - ghandles.guiFig= gcf; + ghandles.guiFig=gcf; Exp(4).guiFig=gcf; if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); @@ -271,12 +271,12 @@ function DMed1_Callback(hObject, eventdata, handles) Max=floor(get(handles.DMsldr1,'max')); Min=floor(get(handles.DMsldr1,'min')); input=get(hObject,'String') - if str2num(input) >= Min && str2num(input) <= Max + if str2num(input) >=Min && str2num(input) <=Max display(input) set(handles.DMsldr1,'value',str2double(input)) else - if str2num(input) >= Max, set(handles.DMsldr1,'value',Max); set(handles.DMed1,'string',num2str(Max));end - if str2num(input) <= Min, set(handles.DMsldr1,'value',Min),set(handles.DMed1,'string',num2str(Min));end + if str2num(input) >=Max, set(handles.DMsldr1,'value',Max); set(handles.DMed1,'string',num2str(Max));end + if str2num(input) <=Min, set(handles.DMsldr1,'value',Min),set(handles.DMed1,'string',num2str(Min));end end EZVimDisplay end @@ -298,7 +298,7 @@ function Tptsldr1_Callback(hObject, eventdata, handles) input=floor(get(hObject,'value')); display(input) set(handles.Tpted1,'string',num2str(floor(input))) - prntHt= 0; + prntHt=0; EZVimDisplay % Executes during object creation, after setting all properties. @@ -319,12 +319,12 @@ function Tpted1_Callback(hObject, eventdata, handles) input=get(hObject,'String') Max=floor(get(handles.Tptsldr1,'max')); Min=floor(get(handles.Tptsldr1,'min')); - if str2double(input) >= Min && str2double(input) <= Max + if str2double(input) >=Min && str2double(input) <=Max display(input) set(handles.Tptsldr1,'value',str2double(input)) else - if str2num(input) >= Max, set(handles.Tptsldr1,'value',Max); set(handles.Tpted1,'string',num2str(Max));end - if str2num(input) <= Min, set(handles.Tptsldr1,'value',Min),set(handles.Tpted1,'string',num2str(Min));end + if str2num(input) >=Max, set(handles.Tptsldr1,'value',Max); set(handles.Tpted1,'string',num2str(Max));end + if str2num(input) <=Min, set(handles.Tptsldr1,'value',Min),set(handles.Tpted1,'string',num2str(Min));end end EZVimDisplay end @@ -365,12 +365,12 @@ function clrOlay1_Callback(hObject, eventdata, handles) set(ghandles.OLay1,'string',{' '}) set(ghandles.OLexp1,'string',{''}) cla(ghandles.OLaxes1) - Exp(1).traceN= 0; - %Exp(1).cTraceN= 0; - Exp(1).hOL =[]; Exp(1).hOLb=[]; + Exp(1).traceN=0; + %Exp(1).cTraceN=0; + Exp(1).hOL=[]; Exp(1).hOLb=[]; Exp(1).hOLname={}; Exp(1).hOLexpNm={}; Exp(1).hOLresDir={}; Exp(1).hOLplateNum=[]; - Exp(1).hOLresDir= {}; + Exp(1).hOLresDir={}; cla(ghandles.Dlaxes1); cla(ghandles.Dkaxes1); cla(ghandles.Draxes1); cla(ghandles.DNLaxes1); Exp(1).hL =[]; Exp(1).hLb=[]; @@ -383,15 +383,15 @@ function clrOlay1_Callback(hObject, eventdata, handles) Exp(1).hintLadj =[]; Exp(1).hintLadjb=[]; % 2016_0222 % reset Composite Overlay plot to initialization values - Exp(1).cTraceN= 1; - Exp(1).ll= []; Exp(1).rr= []; Exp(1).kk= []; - Exp(1).cLmean= []; Exp(1).cRmean= []; Exp(1).cKmean= []; - Exp(1).cTraceIndx= 1; + Exp(1).cTraceN=1; + Exp(1).ll=[]; Exp(1).rr=[]; Exp(1).kk=[]; + Exp(1).cLmean=[]; Exp(1).cRmean=[]; Exp(1).cKmean=[]; + Exp(1).cTraceIndx=1; Exp(1).hCmean=[]; - Exp(1).hBound1= []; - Exp(1).hBound2= []; + Exp(1).hBound1=[]; + Exp(1).hBound2=[]; Exp(1).CompositPlot=0; - Exp(1).Trace= []; %added for Trend BoxPlot data 17_1114 + Exp(1).Trace=[]; %added for Trend BoxPlot data 17_1114 end % Executes on slider movement. @@ -427,15 +427,15 @@ function MPed2_Callback(hObject, eventdata, handles) input=get(hObject,'String'); Max=floor(get(handles.MPsldr2,'max')); Min=floor(get(handles.MPsldr2,'min')); - if str2num(input) >= Min && str2num(input) <= Max + if str2num(input) >=Min && str2num(input) <=Max display(input) set(handles.MPsldr2,'value',str2double(input)); else - if str2num(input) >= Max, set(handles.MPsldr2,'value',Max); set(handles.MPed2,'string',num2str(Max));end - if str2num(input) <= Min, set(handles.MPsldr2,'value',Min),set(handles.MPed2,'string',num2str(Min));end + if str2num(input) >=Max, set(handles.MPsldr2,'value',Max); set(handles.MPed2,'string',num2str(Max));end + if str2num(input) <=Min, set(handles.MPsldr2,'value',Min),set(handles.MPed2,'string',num2str(Min));end end EZVimDisplay - ghandles.guiFig= gcf; + ghandles.guiFig=gcf; Exp(4).guiFig=gcf; if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); @@ -449,7 +449,7 @@ function MPed2_CreateFcn(hObject, eventdata, handles) % hObject handle to MPed2 (see GCBO) global ghandles global Exp - ghandles.guiFig= gcf; + ghandles.guiFig=gcf; Exp(4).guiFig=gcf; if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); @@ -488,12 +488,12 @@ function DMed2_Callback(hObject, eventdata, handles) Max=floor(get(handles.DMsldr2,'max')); Min=floor(get(handles.DMsldr2,'min')); input=get(hObject,'String') - if str2double(input) >= Min && str2double(input) <= Max + if str2double(input) >=Min && str2double(input) <=Max display(input) set(handles.DMsldr2,'value',str2double(input)) else - if str2double(input) >= Max, set(handles.DMsldr2,'value',Max); set(handles.DMed2,'string',num2str(Max));end - if str2double(input) <= Min, set(handles.DMsldr2,'value',Min),set(handles.DMed2,'string',num2str(Min));end + if str2double(input) >=Max, set(handles.DMsldr2,'value',Max); set(handles.DMed2,'string',num2str(Max));end + if str2double(input) <=Min, set(handles.DMsldr2,'value',Min),set(handles.DMed2,'string',num2str(Min));end end EZVimDisplay end @@ -518,7 +518,7 @@ function Tptsldr2_Callback(hObject, eventdata, handles) input=floor(get(hObject,'value')); display(input) set(handles.Tpted2,'string',num2str(floor(input))) - prntHt= 0; + prntHt=0; EZVimDisplay end @@ -539,12 +539,12 @@ function Tpted2_Callback(hObject, eventdata, handles) input=get(hObject,'String') Max=floor(get(handles.Tptsldr2,'max')); Min=floor(get(handles.Tptsldr2,'min')); - if str2double(input) >= Min && str2double(input) <= Max + if str2double(input) >=Min && str2double(input) <=Max display(input) set(handles.Tptsldr2,'value',str2double(input)) else - if str2num(input) >= Max, set(handles.Tptsldr2,'value',Max); set(handles.Tpted2,'string',num2str(Max));end - if str2num(input) <= Min, set(handles.Tptsldr2,'value',Min),set(handles.Tpted2,'string',num2str(Min));end + if str2num(input) >=Max, set(handles.Tptsldr2,'value',Max); set(handles.Tpted2,'string',num2str(Max));end + if str2num(input) <=Min, set(handles.Tptsldr2,'value',Min),set(handles.Tpted2,'string',num2str(Min));end end EZVimDisplay end @@ -562,7 +562,7 @@ function expSelPB2_Callback(hObject, eventdata, handles) % hObject handle to expSelPB2 (see GCBO) global Exp expN=2; - prntHt= 0; + prntHt=0; EZexpSel end @@ -583,13 +583,13 @@ function clrOlay2_Callback(hObject, eventdata, handles) set(ghandles.OLay2,'string',{''}) set(ghandles.OLexp2,'string',{''}) cla(ghandles.OLaxes2) - Exp(2).traceN= 0; - %Exp(2).cTraceN= 0; + Exp(2).traceN=0; + %Exp(2).cTraceN=0; Exp(2).hOL =[]; Exp(2).hOLb=[]; Exp(2).hOLname={}; Exp(2).hOLexpNm={}; Exp(2).hOLresDir={} Exp(2).hOLplateNum=[]; - Exp(2).hOLresDir= {}; + Exp(2).hOLresDir={}; cla(ghandles.Dlaxes2); cla(ghandles.Dkaxes2); cla(ghandles.Draxes2); cla(ghandles.DNLaxes2); % 2016_0222 @@ -601,15 +601,15 @@ function clrOlay2_Callback(hObject, eventdata, handles) Exp(2).rRF1=[]; Exp(2).hrRF2=[]; %reset Composite Overlay plot to initialization values - Exp(2).cTraceN= 1; - Exp(2).ll= []; Exp(2).rr= []; Exp(2).kk= []; - Exp(2).cLmean= []; Exp(2).cRmean= []; Exp(2).cKmean= []; - Exp(2).cTraceIndx= 1; + Exp(2).cTraceN=1; + Exp(2).ll=[]; Exp(2).rr=[]; Exp(2).kk=[]; + Exp(2).cLmean=[]; Exp(2).cRmean=[]; Exp(2).cKmean=[]; + Exp(2).cTraceIndx=1; Exp(2).hCmean=[]; - Exp(2).hBound1= []; - Exp(2).hBound2= []; + Exp(2).hBound1=[]; + Exp(2).hBound2=[]; Exp(2).CompositPlot=0; - Exp(2).Trace= []; %added for Trend BoxPlot data 17_1114 + Exp(2).Trace=[]; %added for Trend BoxPlot data 17_1114 end @@ -646,15 +646,15 @@ function MPed3_Callback(hObject, eventdata, handles) input=get(hObject,'String'); Max=floor(get(handles.MPsldr3,'max')); Min=floor(get(handles.MPsldr3,'min')); - if str2num(input) >= Min && str2num(input) <= Max + if str2num(input) >=Min && str2num(input) <=Max display(input) set(handles.MPsldr3,'value',str2double(input)); else - if str2num(input) >= Max, set(handles.MPsldr3,'value',Max); set(handles.MPed3,'string',num2str(Max));end - if str2num(input) <= Min, set(handles.MPsldr3,'value',Min),set(handles.MPed3,'string',num2str(Min));end + if str2num(input) >=Max, set(handles.MPsldr3,'value',Max); set(handles.MPed3,'string',num2str(Max));end + if str2num(input) <=Min, set(handles.MPsldr3,'value',Min),set(handles.MPed3,'string',num2str(Min));end end EZVimDisplay - ghandles.guiFig= gcf; + ghandles.guiFig=gcf; Exp(4).guiFig=gcf; if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); @@ -666,7 +666,7 @@ end function MPed3_CreateFcn(hObject, eventdata, handles) global ghandles global Exp - ghandles.guiFig= gcf; + ghandles.guiFig=gcf; Exp(4).guiFig=gcf; if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); @@ -704,12 +704,12 @@ function DMed3_Callback(hObject, eventdata, handles) Max=floor(get(handles.DMsldr3,'max')); Min=floor(get(handles.DMsldr3,'min')); input=get(hObject,'String') - if str2num(input) >= Min && str2num(input) <= Max + if str2num(input) >=Min && str2num(input) <=Max display(input) set(handles.DMsldr3,'value',str2double(input)) else - if str2num(input) >= Max, set(handles.DMsldr3,'value',Max); set(handles.DMed3,'string',num2str(Max));end - if str2num(input) <= Min, set(handles.DMsldr3,'value',Min),set(handles.DMed3,'string',num2str(Min));end + if str2num(input) >=Max, set(handles.DMsldr3,'value',Max); set(handles.DMed3,'string',num2str(Max));end + if str2num(input) <=Min, set(handles.DMsldr3,'value',Min),set(handles.DMed3,'string',num2str(Min));end end EZVimDisplay end @@ -732,7 +732,7 @@ function Tptsldr3_Callback(hObject, eventdata, handles) input=floor(get(hObject,'value')); display(input) set(handles.Tpted3,'string',num2str(floor(input))) - prntHt= 0; + prntHt=0; EZVimDisplay end @@ -753,12 +753,12 @@ function Tpted3_Callback(hObject, eventdata, handles) input=get(hObject,'String') Max=floor(get(handles.Tptsldr3,'max')); Min=floor(get(handles.Tptsldr3,'min')); - if str2double(input) >= Min && str2double(input) <= Max + if str2double(input) >=Min && str2double(input) <=Max display(input) set(handles.Tptsldr3,'value',str2double(input)) else - if str2num(input) >= Max, set(handles.Tptsldr3,'value',Max); set(handles.Tpted3,'string',num2str(Max));end - if str2num(input) <= Min, set(handles.Tptsldr3,'value',Min),set(handles.Tpted3,'string',num2str(Min));end + if str2num(input) >=Max, set(handles.Tptsldr3,'value',Max); set(handles.Tpted3,'string',num2str(Max));end + if str2num(input) <=Min, set(handles.Tptsldr3,'value',Min),set(handles.Tpted3,'string',num2str(Min));end end EZVimDisplay end @@ -797,13 +797,13 @@ function clrOlay3_Callback(hObject, eventdata, handles) set(ghandles.OLay3,'string',{''}) set(ghandles.OLexp3,'string',{''}) cla(ghandles.OLaxes3); - Exp(3).traceN= 0; - %Exp(3).cTraceN= 0; + Exp(3).traceN=0; + %Exp(3).cTraceN=0; Exp(3).hOL =[]; Exp(3).hOLb=[]; Exp(3).hOLname={}; Exp(3).hOLexpNm={}; Exp(3).hOLresDir={} Exp(3).hOLplateNum=[]; - Exp(3).hOLresDir= {}; + Exp(3).hOLresDir={}; cla(ghandles.Dlaxes3); cla(ghandles.Dkaxes3); cla(ghandles.Draxes3); cla(ghandles.DNLaxes3);% 2016_0222 @@ -815,15 +815,15 @@ function clrOlay3_Callback(hObject, eventdata, handles) Exp(3).rRF1=[]; Exp(3).hrRF2=[]; % Reset Composite Overlay plot to initialization values - Exp(3).cTraceN= 1; - Exp(3).ll= []; Exp(3).rr= []; Exp(3).kk= []; - Exp(3).cLmean= []; Exp(3).cRmean= []; Exp(3).cKmean= []; - Exp(3).cTraceIndx= 1; + Exp(3).cTraceN=1; + Exp(3).ll=[]; Exp(3).rr=[]; Exp(3).kk=[]; + Exp(3).cLmean=[]; Exp(3).cRmean=[]; Exp(3).cKmean=[]; + Exp(3).cTraceIndx=1; Exp(3).hCmean=[]; - Exp(3).hBound1= []; - Exp(3).hBound2= []; + Exp(3).hBound1=[]; + Exp(3).hBound2=[]; Exp(3).CompositPlot=0; - Exp(3).Trace= []; % added for Trend BoxPlot data 17_1114 + Exp(3).Trace=[]; % added for Trend BoxPlot data 17_1114 % set(handles.expName3,'string',char(Exp(expN).resDir)); end @@ -850,7 +850,7 @@ function listboxGnOrf_Callback(hObject, eventdata, handles) zoneSel=3; end %} - zoneSel= zonePB + zoneSel=zonePB orfLstSel=get(handles.GeneOrfTog,'value') % zoneSel=get(handles.zonePB1,'value') expN=zoneSel; @@ -861,7 +861,7 @@ function listboxGnOrf_Callback(hObject, eventdata, handles) % selGnOrf=Exp(zoneSel).Dexp(DexpN).srtGnLst(usrInxSel); %selGnOrf=Exp(zoneSel).srtGnLst(usrInxSel); listboxGnOrf=get(handles.listboxGnOrf,'string'); selGnOrf=listboxGnOrf(usrInxSel); - tempLB= str2mat(selGnOrf) + tempLB=str2mat(selGnOrf) if isequal(tempLB(4:6),'cmp')||isequal(tempLB(3:6),'cmpG') lstBoxCmpFlg=1; EZlstBoxCmpExt %Added for RF composite behavior 17_1010 @@ -903,9 +903,9 @@ function GeneOrfTog_Callback(hObject, eventdata, handles) orfLstSel=get(handles.GeneOrfTog,'value'); %zoneSel=get(handles.zonePB1,'value') expN=zoneSel; - if zoneSel==1,DexpN= (get(handles.DN1,'value')); cmpTog= get(handles.CompositeTog1,'value'); end - if zoneSel==2,DexpN= (get(handles.DN2,'value')); cmpTog= get(handles.CompositeTog2,'value'); end - if zoneSel==3,DexpN= (get(handles.DN3,'value')); cmpTog= get(handles.CompositeTog3,'value'); end + if zoneSel==1,DexpN=(get(handles.DN1,'value')); cmpTog=get(handles.CompositeTog1,'value'); end + if zoneSel==2,DexpN=(get(handles.DN2,'value')); cmpTog=get(handles.CompositeTog2,'value'); end + if zoneSel==3,DexpN=(get(handles.DN3,'value')); cmpTog=get(handles.CompositeTog3,'value'); end if orfLstSel==1 && cmpTog~=1 set(handles.listboxGnOrf,'value',1) set(handles.listboxGnOrf,'string',Exp(zoneSel).Dexp(DexpN).srtOrfLst) %set(handles.listboxGnOrf,'string',Exp(zoneSel).srtOrfLst) @@ -983,7 +983,7 @@ function printOL1_Callback(hObject, eventdata, handles) % hObject handle to printOL1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) -% If Enable == 'on', executes on mouse press in 5 pixel border. +% If Enable =='on', executes on mouse press in 5 pixel border. % Otherwise, executes on mouse press in 5 pixel border or over printol1. global Exp global ghandles @@ -1035,7 +1035,7 @@ end % Modifier: name(s) of the modifier key(s) (i.e., control, shift) pressed % handles structure with handles and user data (see GUIDATA) -% --- If Enable == 'on', executes on mouse press in 5 pixel border. +% --- If Enable =='on', executes on mouse press in 5 pixel border. % --- Otherwise, executes on mouse press in 5 pixel border or over printOL2. ads2=1 end @@ -1072,7 +1072,7 @@ end % Modifier: name(s) of the modifier key(s) (i.e., control, shift) pressed % handles structure with handles and user data (see GUIDATA) -% --- If Enable == 'on', executes on mouse press in 5 pixel border. +% --- If Enable =='on', executes on mouse press in 5 pixel border. % --- Otherwise, executes on mouse press in 5 pixel border or over printOL3. ads3=1 end @@ -1144,7 +1144,7 @@ function PrintFont_Callback(hObject, eventdata, handles) try if ~isempty(Exp(4).plotPars) - default= Exp(4).plotPars; + default=Exp(4).plotPars; else default={'4','36','10','5'}; end @@ -1159,7 +1159,7 @@ function PrintFont_Callback(hObject, eventdata, handles) %{ else default={'4','36','10','5'}; - Exp(4).plotPars= default; + Exp(4).plotPars=default; %} end end @@ -1193,9 +1193,9 @@ function rawNorm_Callback(hObject, eventdata, handles) traceN1=Exp(1).traceN; traceN2=Exp(2).traceN; traceN3=Exp(3).traceN; - selTrace1= Exp(1).seltraceN; - selTrace2= Exp(2).seltraceN; - selTrace3= Exp(3).seltraceN; + selTrace1=Exp(1).seltraceN; + selTrace2=Exp(2).seltraceN; + selTrace3=Exp(3).seltraceN; dispAlg=get(handles.rawNorm,'value') @@ -1484,7 +1484,7 @@ function HtMapTog3_Callback(hObject, eventdata, handles) prntHt=0; expN=3; DexpN=Exp(3).DexpN; - resetTg= Exp(3).Dexp(DexpN).resetHtmpTg; + resetTg=Exp(3).Dexp(DexpN).resetHtmpTg; Exp(3).htmapPBsel=Exp(3).htmapPBsel+1; if Exp(3).htmapPBsel==resetTg, Exp(3).htmapPBsel=0; end if Exp(3).htmapPBsel==3, set(handles.HtMapTog3,'string','N1') @@ -1536,7 +1536,7 @@ Exp(1).traceN=0; Exp(1).hOL =[]; Exp(1).hOLb=[]; Exp(1).hOLname={}; Exp(1).hOLexpNm={}; Exp(1).hOLresDir={} Exp(1).hOLplateNum=[]; -Exp(1).hOLresDir= {}; +Exp(1).hOLresDir={}; set(ghandles.OLay2,'string',{''}) set(ghandles.OLexp2,'string',{''}) @@ -1545,7 +1545,7 @@ Exp(2).traceN=0; Exp(2).hOL =[]; Exp(2).hOLb=[]; Exp(2).hOLname={}; Exp(2).hOLexpNm={}; Exp(2).hOLresDir={} Exp(2).hOLplateNum=[]; -Exp(2).hOLresDir= {}; +Exp(2).hOLresDir={}; set(ghandles.OLay3,'string',{''}) set(ghandles.OLexp3,'string',{''}) @@ -1554,7 +1554,7 @@ Exp(3).traceN=0; Exp(3).hOL =[]; Exp(3).hOLb=[]; Exp(3).hOLname={}; Exp(3).hOLexpNm={}; Exp(3).hOLresDir={} Exp(3).hOLplateNum=[]; -Exp(3).hOLresDir= {}; +Exp(3).hOLresDir={}; %} % hObject handle to quickView (see GCBO) @@ -1583,7 +1583,7 @@ function RFtable3_Callback(hObject, eventdata, handles) global Exp global ghandles expN=3; - DexpN= get(handles.DN3,'value'); + DexpN=get(handles.DN3,'value'); EZtableRFdiag end @@ -1595,14 +1595,14 @@ function DN1_Callback(hObject, eventdata, handles) global Exp expN=1; input=get(hObject,'String'); - Max= Exp(expN).DexpLength; - Min= 0; %(get(handles.DN1,'min')); - if str2num(input) > Min && str2num(input) <= Max + Max=Exp(expN).DexpLength; + Min=0; %(get(handles.DN1,'min')); + if str2num(input) > Min && str2num(input) <=Max display(input) set(handles.DN1,'value',str2double(input)); else - if str2double(input) >= Max, set(handles.DN1,'value',Max); set(handles.DN1,'string',num2str(Max));end - if str2double(input) <= Min, set(handles.DN1,'value',Min),set(handles.DN1,'string',num2str(1));end + if str2double(input) >=Max, set(handles.DN1,'value',Max); set(handles.DN1,'string',num2str(Max));end + if str2double(input) <=Min, set(handles.DN1,'value',Min),set(handles.DN1,'string',num2str(1));end end EZVimDisplay end @@ -1621,12 +1621,12 @@ function DN2_Callback(hObject, eventdata, handles) input=get(hObject,'String'); Max=Exp(expN).DexpLength; Min=0; %(get(handles.DN1,'min')); - if str2num(input) > Min && str2num(input) <= Max + if str2num(input) > Min && str2num(input) <=Max display(input) set(handles.DN2,'value',str2double(input)); else - if str2double(input) >= Max, set(handles.DN2,'value',Max); set(handles.DN2,'string',num2str(Max));end - if str2double(input) <= Min, set(handles.DN2,'value',Min),set(handles.DN2,'string',num2str(1));end + if str2double(input) >=Max, set(handles.DN2,'value',Max); set(handles.DN2,'string',num2str(Max));end + if str2double(input) <=Min, set(handles.DN2,'value',Min),set(handles.DN2,'string',num2str(1));end end EZVimDisplay end @@ -1644,12 +1644,12 @@ function DN3_Callback(hObject, eventdata, handles) input=get(hObject,'String'); Max=Exp(expN).DexpLength; Min=0; % (get(handles.DN1,'min')); - if str2num(input) > Min && str2num(input) <= Max + if str2num(input) > Min && str2num(input) <=Max display(input) set(handles.DN3,'value',str2double(input)); else - if str2double(input) >= Max, set(handles.DN3,'value',Max); set(handles.DN3,'string',num2str(Max));end - if str2double(input) <= Min, set(handles.DN3,'value',Min),set(handles.DN3,'string',num2str(1));end + if str2double(input) >=Max, set(handles.DN3,'value',Max); set(handles.DN3,'string',num2str(Max));end + if str2double(input) <=Min, set(handles.DN3,'value',Min),set(handles.DN3,'string',num2str(1));end end EZVimDisplay end @@ -1666,7 +1666,7 @@ function CompositePB1_Callback(hObject, eventdata, handles) global Exp global ghandles expN=1; - DexpN= get(handles.DN1,'value'); + DexpN=get(handles.DN1,'value'); EZcompositePlot end @@ -1702,7 +1702,7 @@ function SpotViewInterval_Callback(hObject, eventdata, handles) try if ~isempty(Exp(4).SpotVIntervPar) - default= Exp(4).SpotVIntervPar; + default=Exp(4).SpotVIntervPar; else default={'1'}; end @@ -1772,7 +1772,7 @@ function CompositeTog3_Callback(hObject, eventdata, handles) ghandles=handles; expN=3; - DexpN= (get(handles.DN3,'value')); + DexpN=(get(handles.DN3,'value')); %set(handles.zonePB1,'value',0) %set(handles.zonePB2,'value',0) %set(handles.zonePB3,'value',1) @@ -1791,17 +1791,17 @@ end function TrendsBoxPlot_Callback(hObject, eventdata, handles) global userPars - userPars.boxplotFlg= 1; + userPars.boxplotFlg=1; prompt={... 'Set "Outliers" On/Off:', ... 'Set "Notch" On/Off:', ... - 'Enter "LabelShift" value[default= 0.5]:', ... + 'Enter "LabelShift" value[default=0.5]:', ... 'Enter "Font Size [default=8:' ... 'Enter "Label Angle" [default=45]' ... - 'Enter Upper K Limit value[typical= 155]:'}; + 'Enter Upper K Limit value[typical=155]:'}; name='Box Plot Parameters'; numlines=1; - %defaultanswer= {'on','on','0.3','8','45'}; + %defaultanswer={'on','on','0.3','8','45'}; defaultanswer=userPars.BPdefault; answer=inputdlg(prompt,name,numlines,defaultanswer); userPars.BPoutliers=answer(1); @@ -1819,22 +1819,22 @@ function TrendsOverlay_Callback(hObject, eventdata, handles) global userPars userPars.boxplotFlg=0; - prompt={'Enter Upper K Limit value[typical= 155]:'}; + prompt={'Enter Upper K Limit value[typical=155]:'}; name='Box Plot Parameters'; numlines=1; - % defaultanswer= {'1000'}; - % if ~exist('userPars.Trenddefault','var'), userPars.Trenddefault= {'1000'}; end + % defaultanswer={'1000'}; + % if ~exist('userPars.Trenddefault','var'), userPars.Trenddefault={'1000'}; end defaultanswer=userPars.BPdefault(6) % try % defaultanswer=userPars.Trenddefault; % catch - % userPars.Trenddefault= {'1000'} - % defaultanswer= userPars.Trenddefault; + % userPars.Trenddefault={'1000'} + % defaultanswer=userPars.Trenddefault; % end answer=inputdlg(prompt,name,numlines,defaultanswer); - userPars.kfiltLim= str2double(cell2mat(answer(1))); - %userPars.Trenddefault= answer(1); - userPars.BPdefault(6)= answer(1); + userPars.kfiltLim=str2double(cell2mat(answer(1))); + %userPars.Trenddefault=answer(1); + userPars.BPdefault(6)=answer(1); end % Executes on button press in printHt1. @@ -1844,7 +1844,7 @@ function printHt1_Callback(hObject, eventdata, handles) DexpN=Exp(1).DexpN; expN=1; prntHt=1; - htMapTogPBfg= 1; + htMapTogPBfg=1; EZhtMap prntHt=0; end @@ -1880,16 +1880,16 @@ function HMapRange_Callback(hObject, eventdata, handles) global adj global flip - prompt={'Enter Standard Deviation Multiplier value[typical= 2.0]:'}; - % prompt={'Enter Standard Deviation Multiplier value[typical= 3.0]:','Colormap Flip[Typical=T]'}; + prompt={'Enter Standard Deviation Multiplier value[typical=2.0]:'}; + % prompt={'Enter Standard Deviation Multiplier value[typical=3.0]:','Colormap Flip[Typical=T]'}; name='Heatmap Adjustment range'; numlines=1; - defaultanswer= {'2.0'}; - % defaultanswer= {'3.0','T'}; + defaultanswer={'2.0'}; + % defaultanswer={'3.0','T'}; answer=inputdlg(prompt,name,numlines,defaultanswer); - adj= str2double(answer(1)); - flip= 'T'; - % flip= upper(answer(2)); + adj=str2double(answer(1)); + flip='T'; + % flip=upper(answer(2)); end function SetExpJobsFolder_Callback(hObject, eventdata, handles) @@ -1949,7 +1949,7 @@ function zonePB2_Callback(hObject, eventdata, handles) zonePB=2 %if get(handles.zonePB2,'value')==0, set(handles.zonePB2,'value',1); end set(handles.zonePB2,'value',1); - DexpN= get(handles.DN2,'value') + DexpN=get(handles.DN2,'value') set(handles.zonePB1,'value',0); set(handles.zonePB3,'value',0); set(ghandles.zonePB2,'value',1); @@ -1990,7 +1990,7 @@ function zonePB3_Callback(hObject, eventdata, handles) global ghandles global zonePB - zonePB= 3 + zonePB=3 %if get(handles.zonePB3,'value')==0, set(handles.zonePB3,'value',1); end set(handles.zonePB3,'value',1); DexpN=get(handles.DN3,'value'); @@ -2035,7 +2035,7 @@ function zoneRad1_Callback(hObject, eventdata, handles) global Exp if get(handles.zoneRad1,'value')==0, set(handles.zoneRad1,'value',1); end -DexpN= get(handles.DN1,'value') +DexpN=get(handles.DN1,'value') set(handles.zoneRad2,'value',0) set(handles.zoneRad3,'value',0) orfLstSel=get(handles.GeneOrfTog,'value') @@ -2061,7 +2061,7 @@ function zoneRad2_Callback(hObject, eventdata, handles) global Exp if get(handles.zoneRad2,'value')==0, set(handles.zoneRad2,'value',1); end -DexpN= get(handles.DN2,'value') +DexpN=get(handles.DN2,'value') set(handles.zoneRad1,'value',0) set(handles.zoneRad3,'value',0) @@ -2089,7 +2089,7 @@ function zoneRad3_Callback(hObject, eventdata, handles) global Exp if get(handles.zoneRad3,'value')==0, set(handles.zoneRad3,'value',1); end -DexpN= get(handles.DN3,'value') +DexpN=get(handles.DN3,'value') set(handles.zoneRad1,'value',0) set(handles.zoneRad2,'value',0) orfLstSel=get(handles.GeneOrfTog,'value') @@ -2120,7 +2120,7 @@ end % handles structure with handles and user data (see GUIDATA) -% --- If Enable == 'on', executes on mouse press in 5 pixel border. +% --- If Enable =='on', executes on mouse press in 5 pixel border. % --- Otherwise, executes on mouse press in 5 pixel border or over printOL1. function printOL1_ButtonDownFcn(hObject, eventdata, handles) % hObject handle to printOL1 (see GCBO) diff --git a/workflow/apps/matlab/ezview/EZviewInfoBox.m b/workflow/apps/matlab/ezview/EZviewInfoBox.m index 89d6f388..ce8b9f50 100755 --- a/workflow/apps/matlab/ezview/EZviewInfoBox.m +++ b/workflow/apps/matlab/ezview/EZviewInfoBox.m @@ -5,11 +5,11 @@ %load 'EZsgdInfo' %} text=Exp(4).SGDtext; - destPerMP= Exp(zoneSel).Dexp(DexpN).destPerMP; %length(gS.DM1.drug); - 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; +destPerMP= Exp(zoneSel).Dexp(DexpN).destPerMP; %length(gS.DM1.drug); +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; a=[]; if get(handles.GeneOrfTog,'value')==0 gene=MP(1,LBmp).genename{1,1}(indx); @@ -25,7 +25,6 @@ if get(handles.GeneOrfTog,'value')==0 if strcmpi(gnXref,'HO'), gene=strcat(gene,',',gnXref);end name=strcat(char(gene),'->',char(orfXref)); end - elseif get(handles.GeneOrfTog,'value')==1 orf=MP(1,LBmp).orf{1,1}(indx); orfLength=length(char(orf)); @@ -41,25 +40,26 @@ elseif get(handles.GeneOrfTog,'value')==1 end end if isempty(a) - name='Not Found'; - desc=[]; proc=[]; func=[]; loc=[]; + name='Not Found'; + desc=[]; proc=[]; func=[]; loc=[]; end + %{ if get(handles.listboxGnOrf,'value')&& ~isempty(a) - desc=char(text(a,32,:)); - proc=char(text(a,18,:)); - func=char(text(a,19,:)); - loc=char(text(a,20,:)); - name=strcat(char(gene),'->',char(orf)); + desc=char(text(a,32,:)); + proc=char(text(a,18,:)); + func=char(text(a,19,:)); + loc=char(text(a,20,:)); + name=strcat(char(gene),'->',char(orf)); elseif get(handles.listboxGnOrf,'value') && ~isempty(a) - desc=char(text(b,32,:)); - proc=char(text(b,18,:)); - func=char(text(b,19,:)); - loc=char(text(b,20,:)); - name=strcat(char(gene),'->',char(orf)); + desc=char(text(b,32,:)); + proc=char(text(b,18,:)); + func=char(text(b,19,:)); + loc=char(text(b,20,:)); + name=strcat(char(gene),'->',char(orf)); elseif isempty(b) - name='Not Found'; - desc=[]; proc=[]; func=[]; loc=[]; + name='Not Found'; + desc=[]; proc=[]; func=[]; loc=[]; end %} - hh=msgbox(sprintf('%s\n%s\n%s%s\n%s%s\n%s%s\n',name,desc,'P->',proc,'F->',func,'C->',loc),'SGD Ontology Info','replace') +hh=msgbox(sprintf('%s\n%s\n%s%s\n%s%s\n%s%s\n',name,desc,'P->',proc,'F->',func,'C->',loc),'SGD Ontology Info','replace') diff --git a/workflow/apps/matlab/ezview/questdlgJWR.m b/workflow/apps/matlab/ezview/questdlgJWR.m index 838ce43c..374471f0 100755 --- a/workflow/apps/matlab/ezview/questdlgJWR.m +++ b/workflow/apps/matlab/ezview/questdlgJWR.m @@ -1,5 +1,5 @@ function ButtonName=questdlg(Question,Title,Btn1,Btn2,Btn3,Default) -%QUESTDLG Question dialog box. +% QUESTDLG Question dialog box. % ButtonName=QUESTDLG(Question) creates a modal dialog box that % automatically wraps the cell array or string (vector or matrix) % Question to fit an appropriately sized window. The name of the @@ -60,212 +60,181 @@ function ButtonName=questdlg(Question,Title,Btn1,Btn2,Btn3,Default) % % See also DIALOG, ERRORDLG, HELPDLG, INPUTDLG, LISTDLG, % MSGBOX, WARNDLG, FIGURE, TEXTWRAP, UIWAIT, UIRESUME. - - % Copyright 1984-2010 The MathWorks, Inc. % $Revision: 5.55.4.17 $ + if nargin<1 + error('MATLAB:questdlg:TooFewArguments', 'Too few arguments for QUESTDLG'); + end + Interpreter='none'; + Question=dialogCellstrHelper(Question); -if nargin<1 - error('MATLAB:questdlg:TooFewArguments', 'Too few arguments for QUESTDLG'); -end + % General Information + Black =[0 0 0 ]/255; + % LightGray =[192 192 192 ]/255; + % LightGray2 =[160 160 164 ]/255; + % MediumGray =[128 128 128 ]/255; + % White =[255 255 255 ]/255; -Interpreter='none'; -Question=dialogCellstrHelper(Question); + % Nargin Check + if nargout>1 + error('MATLAB:questdlg:WrongNumberOutputs', 'Wrong number of output arguments for QUESTDLG'); + end + + if nargin==1,Title=' ';end + if nargin<=2, Default='Yes';end + if nargin==3, Default=Btn1 ;end + if nargin<=3, Btn1='Yes'; Btn2='No'; Btn3='Cancel';NumButtons=3;end + if nargin==4, Default=Btn2;Btn2=[];Btn3=[];NumButtons=1;end + if nargin==5, Default=Btn3;Btn3=[];NumButtons=2;end + if nargin==6, NumButtons=3;end + if nargin>6 + error('MATLAB:questdlg:TooManyInputs', 'Too many input arguments');NumButtons=3; %#ok + end -%%%%%%%%%%%%%%%%%%%%% -%%% General Info. %%% -%%%%%%%%%%%%%%%%%%%%% -Black =[0 0 0 ]/255; -% LightGray =[192 192 192 ]/255; -% LightGray2 =[160 160 164 ]/255; -% MediumGray =[128 128 128 ]/255; -% White =[255 255 255 ]/255; + if isstruct(Default), + Interpreter=Default.Interpreter; + Default=Default.Default; + end -%%%%%%%%%%%%%%%%%%%% -%%% Nargin Check %%% -%%%%%%%%%%%%%%%%%%%% -if nargout>1 - error('MATLAB:questdlg:WrongNumberOutputs', 'Wrong number of output arguments for QUESTDLG'); -end -if nargin==1,Title=' ';end -if nargin<=2, Default='Yes';end -if nargin==3, Default=Btn1 ;end -if nargin<=3, Btn1='Yes'; Btn2='No'; Btn3='Cancel';NumButtons=3;end -if nargin==4, Default=Btn2;Btn2=[];Btn3=[];NumButtons=1;end -if nargin==5, Default=Btn3;Btn3=[];NumButtons=2;end -if nargin==6, NumButtons=3;end -if nargin>6 - error('MATLAB:questdlg:TooManyInputs', 'Too many input arguments');NumButtons=3; %#ok -end + % Create QuestFig + FigPos=get(0,'DefaultFigurePosition'); + FigPos(3)=267; + FigPos(4)=70; + FigPos=getnicedialoglocation(FigPos, get(0,'DefaultFigureUnits')); -if isstruct(Default), - Interpreter=Default.Interpreter; - Default=Default.Default; -end - - -%%%%%%%%%%%%%%%%%%%%%%% -%%% Create QuestFig %%% -%%%%%%%%%%%%%%%%%%%%%%% -FigPos =get(0,'DefaultFigurePosition'); -FigPos(3)=267; -FigPos(4)= 70; -FigPos =getnicedialoglocation(FigPos, get(0,'DefaultFigureUnits')); - -QuestFig=dialog( ... - 'Visible' ,'off' , ... - 'Name' ,Title , ... - 'Pointer' ,'arrow' , ... - 'Position' ,FigPos , ... - 'KeyPressFcn' ,@doFigureKeyPress , ... - 'IntegerHandle' ,'off' , ... - 'WindowStyle' ,'normal' , ... - 'HandleVisibility','callback' , ... - 'CloseRequestFcn' ,@doDelete , ... - 'Tag' ,Title ... + QuestFig=dialog(... + 'Visible' ,'off', ... + 'Name' ,Title, ... + 'Pointer' ,'arrow', ... + 'Position' ,FigPos, ... + 'KeyPressFcn' ,@doFigureKeyPress, ... + 'IntegerHandle' ,'off', ... + 'WindowStyle' ,'normal', ... + 'HandleVisibility','callback', ... + 'CloseRequestFcn' ,@doDelete, ... + 'Tag' ,Title ... ); -%%%%%%%%%%%%%%%%%%%%% -%%% Set Positions %%% -%%%%%%%%%%%%%%%%%%%%% -DefOffset =10; - -IconWidth =54; -IconHeight =54; -IconXOffset=DefOffset; -IconYOffset=FigPos(4)-DefOffset-IconHeight; %#ok -IconCMap=[Black;get(QuestFig,'Color')]; %#ok - -DefBtnWidth =56; -BtnHeight =22; - -BtnYOffset=DefOffset; - -BtnWidth=DefBtnWidth; - -ExtControl=uicontrol(QuestFig , ... - 'Style' ,'pushbutton', ... - 'String' ,' ' ... + % Set Positions + DefOffset =10; + IconWidth =54; + IconHeight =54; + IconXOffset=DefOffset; + IconYOffset=FigPos(4)-DefOffset-IconHeight; %#ok + IconCMap=[Black;get(QuestFig,'Color')]; %#ok + DefBtnWidth =56; + BtnHeight =22; + BtnYOffset=DefOffset; + BtnWidth=DefBtnWidth; + ExtControl=uicontrol(... + QuestFig , ... + 'Style' ,'pushbutton', ... + 'String' ,' ' ... ); - -btnMargin=1.4; -set(ExtControl,'String',Btn1); -BtnExtent=get(ExtControl,'Extent'); -BtnWidth=max(BtnWidth,BtnExtent(3)+8); -if NumButtons > 1 - set(ExtControl,'String',Btn2); + btnMargin=1.4; + set(ExtControl,'String',Btn1); BtnExtent=get(ExtControl,'Extent'); BtnWidth=max(BtnWidth,BtnExtent(3)+8); - if NumButtons > 2 - set(ExtControl,'String',Btn3); + if NumButtons > 1 + set(ExtControl,'String',Btn2); BtnExtent=get(ExtControl,'Extent'); - BtnWidth=max(BtnWidth,BtnExtent(3)*btnMargin); + BtnWidth=max(BtnWidth,BtnExtent(3)+8); + if NumButtons > 2 + set(ExtControl,'String',Btn3); + BtnExtent=get(ExtControl,'Extent'); + BtnWidth=max(BtnWidth,BtnExtent(3)*btnMargin); + end end -end -BtnHeight=max(BtnHeight,BtnExtent(4)*btnMargin); - -delete(ExtControl); - -MsgTxtXOffset=IconXOffset+IconWidth; - -FigPos(3)=max(FigPos(3),MsgTxtXOffset+NumButtons*(BtnWidth+2*DefOffset)); -set(QuestFig,'Position',FigPos); - -BtnXOffset=zeros(NumButtons,1); - -if NumButtons==1, - BtnXOffset=(FigPos(3)-BtnWidth)/2; -elseif NumButtons==2, - BtnXOffset=[MsgTxtXOffset - FigPos(3)-DefOffset-BtnWidth]; -elseif NumButtons==3, - BtnXOffset=[MsgTxtXOffset - 0 - FigPos(3)-DefOffset-BtnWidth]; - BtnXOffset(2)=(BtnXOffset(1)+BtnXOffset(3))/2; -end - -MsgTxtYOffset=DefOffset+BtnYOffset+BtnHeight; -% Calculate current msg text width and height. If negative, -% clamp it to 1 since its going to be recalculated/corrected later -% based on the actual msg string -MsgTxtWidth=max(1, FigPos(3)-DefOffset-MsgTxtXOffset-IconWidth); -MsgTxtHeight=max(1, FigPos(4)-DefOffset-MsgTxtYOffset); - -MsgTxtForeClr=Black; -MsgTxtBackClr=get(QuestFig,'Color'); - -CBString='uiresume(gcbf)'; -DefaultValid=false; -DefaultWasPressed=false; -BtnHandle=cell(NumButtons, 1); -DefaultButton=0; - -% Check to see if the Default string passed does match one of the -% strings on the buttons in the dialog. If not, throw a warning. -for i=1:NumButtons - switch i - case 1 - ButtonString=Btn1; - ButtonTag='Btn1'; - if strcmp(ButtonString, Default) - DefaultValid=true; - DefaultButton=1; - end - - case 2 - ButtonString=Btn2; - ButtonTag='Btn2'; - if strcmp(ButtonString, Default) - DefaultValid=true; - DefaultButton=2; - end - case 3 - ButtonString=Btn3; - ButtonTag='Btn3'; - if strcmp(ButtonString, Default) - DefaultValid=true; - DefaultButton=3; - end + BtnHeight=max(BtnHeight,BtnExtent(4)*btnMargin); + delete(ExtControl); + MsgTxtXOffset=IconXOffset+IconWidth; + FigPos(3)=max(FigPos(3),MsgTxtXOffset+NumButtons*(BtnWidth+2*DefOffset)); + set(QuestFig,'Position',FigPos); + BtnXOffset=zeros(NumButtons,1); + if NumButtons==1, + BtnXOffset=(FigPos(3)-BtnWidth)/2; + elseif NumButtons==2, + BtnXOffset=[MsgTxtXOffset FigPos(3)-DefOffset-BtnWidth]; + elseif NumButtons==3, + BtnXOffset=[MsgTxtXOffset 0 FigPos(3)-DefOffset-BtnWidth]; + BtnXOffset(2)=(BtnXOffset(1)+BtnXOffset(3))/2; end + MsgTxtYOffset=DefOffset+BtnYOffset+BtnHeight; - BtnHandle{i}=uicontrol(QuestFig , ... - 'Style' ,'pushbutton', ... - 'Position' ,[ BtnXOffset(1) BtnYOffset BtnWidth BtnHeight ] , ... - 'KeyPressFcn' ,@doControlKeyPress , ... - 'Callback' ,CBString , ... - 'String' ,ButtonString, ... - 'HorizontalAlignment','center' , ... - 'Tag' ,ButtonTag ... + % Calculate current msg text width and height. If negative, + % clamp it to 1 since its going to be recalculated/corrected later + % based on the actual msg string + MsgTxtWidth=max(1, FigPos(3)-DefOffset-MsgTxtXOffset-IconWidth); + MsgTxtHeight=max(1, FigPos(4)-DefOffset-MsgTxtYOffset); + MsgTxtForeClr=Black; + MsgTxtBackClr=get(QuestFig,'Color'); + CBString='uiresume(gcbf)'; + DefaultValid=false; + DefaultWasPressed=false; + BtnHandle=cell(NumButtons, 1); + DefaultButton=0; + + % Check to see if the Default string passed does match one of the + % strings on the buttons in the dialog. If not, throw a warning. + for i=1:NumButtons + switch i + case 1 + ButtonString=Btn1; + ButtonTag='Btn1'; + if strcmp(ButtonString, Default) + DefaultValid=true; + DefaultButton=1; + end + case 2 + ButtonString=Btn2; + ButtonTag='Btn2'; + if strcmp(ButtonString, Default) + DefaultValid=true; + DefaultButton=2; + end + case 3 + ButtonString=Btn3; + ButtonTag='Btn3'; + if strcmp(ButtonString, Default) + DefaultValid=true; + DefaultButton=3; + end + end + + BtnHandle{i}=uicontrol(QuestFig, ... + 'Style' ,'pushbutton', ... + 'Position' ,[ BtnXOffset(1) BtnYOffset BtnWidth BtnHeight ], ... + 'KeyPressFcn' ,@doControlKeyPress, ... + 'Callback' ,CBString, ... + 'String' ,ButtonString, ... + 'HorizontalAlignment','center', ... + 'Tag' ,ButtonTag... ); -end + end -if ~DefaultValid - warnstate=warning('backtrace','off'); - warning('MATLAB:QUESTDLG:stringMismatch','Default string does not match any button string name.'); - warning(warnstate); -end + if ~DefaultValid + warnstate=warning('backtrace','off'); + warning('MATLAB:QUESTDLG:stringMismatch','Default string does not match any button string name.'); + warning(warnstate); + end -MsgHandle=uicontrol(QuestFig , ... - 'Style' ,'text' , ... - 'Position' ,[MsgTxtXOffset MsgTxtYOffset 0.95*MsgTxtWidth MsgTxtHeight ] , ... - 'String' ,{' '} , ... - 'Tag' ,'Question' , ... - 'HorizontalAlignment','left' , ... - 'FontWeight' ,'bold' , ... - 'BackgroundColor' ,MsgTxtBackClr , ... - 'ForegroundColor' ,MsgTxtForeClr ... + MsgHandle=uicontrol(QuestFig, ... + 'Style' ,'text', ... + 'Position' ,[MsgTxtXOffset MsgTxtYOffset 0.95*MsgTxtWidth MsgTxtHeight ], ... + 'String' ,{' '}, ... + 'Tag' ,'Question', ... + 'HorizontalAlignment','left', ... + 'FontWeight' ,'bold', ... + 'BackgroundColor' ,MsgTxtBackClr, ... + 'ForegroundColor' ,MsgTxtForeClr ... ); -[WrapString,NewMsgTxtPos]=textwrap(MsgHandle,Question,75); - -% NumLines=size(WrapString,1); - -AxesHandle=axes('Parent',QuestFig,'Position',[0 0 1 1],'Visible','off'); - -texthandle=text( ... + [WrapString,NewMsgTxtPos]=textwrap(MsgHandle,Question,75); + % NumLines=size(WrapString,1); + AxesHandle=axes('Parent',QuestFig,'Position',[0 0 1 1],'Visible','off'); + texthandle=text( ... 'Parent' ,AxesHandle , ... 'Units' ,'pixels' , ... 'Color' ,get(BtnHandle{1},'ForegroundColor') , ... @@ -276,120 +245,102 @@ texthandle=text( ... 'String' ,WrapString , ... 'Interpreter' ,Interpreter , ... 'Tag' ,'Question' ... - ); - -textExtent=get(texthandle, 'Extent'); - -% (g357851)textExtent and extent from uicontrol are not the same. For window, extent from uicontrol is larger -%than textExtent. But on Mac, it is reverse. Pick the max value. -MsgTxtWidth=max([MsgTxtWidth NewMsgTxtPos(3)+2 textExtent(3)]); -MsgTxtHeight=max([MsgTxtHeight NewMsgTxtPos(4)+2 textExtent(4)]); - -MsgTxtXOffset=IconXOffset+IconWidth+DefOffset; -FigPos(3)=max(NumButtons*(BtnWidth+DefOffset)+DefOffset, ... - MsgTxtXOffset+MsgTxtWidth+DefOffset); - - -% Center Vertically around icon -if IconHeight>MsgTxtHeight, - IconYOffset=BtnYOffset+BtnHeight+DefOffset; - MsgTxtYOffset=IconYOffset+(IconHeight-MsgTxtHeight)/2; - FigPos(4)=IconYOffset+IconHeight+DefOffset; - % center around text -else - MsgTxtYOffset=BtnYOffset+BtnHeight+DefOffset; - IconYOffset=MsgTxtYOffset+(MsgTxtHeight-IconHeight)/2; - FigPos(4)=MsgTxtYOffset+MsgTxtHeight+DefOffset; -end - -if NumButtons==1, - BtnXOffset=(FigPos(3)-BtnWidth)/2; -elseif NumButtons==2, - BtnXOffset=[(FigPos(3)-DefOffset)/2-BtnWidth - (FigPos(3)+DefOffset)/2 - ]; - -elseif NumButtons==3, - BtnXOffset(2)=(FigPos(3)-BtnWidth)/2; - BtnXOffset=[BtnXOffset(2)-DefOffset-BtnWidth - BtnXOffset(2) - BtnXOffset(2)+BtnWidth+DefOffset - ]; -end - -set(QuestFig ,'Position',getnicedialoglocation(FigPos, get(QuestFig,'Units'))); -assert(iscell(BtnHandle)); -BtnPos=cellfun(@(bh)get(bh,'Position'), BtnHandle, 'UniformOutput', false); -BtnPos=cat(1,BtnPos{:}); -BtnPos(:,1)=BtnXOffset; -BtnPos=num2cell(BtnPos,2); - -assert(iscell(BtnPos)); -cellfun(@(bh,pos)set(bh, 'Position', pos), BtnHandle, BtnPos, 'UniformOutput', false); - -if DefaultValid - setdefaultbutton(QuestFig, BtnHandle{DefaultButton}); -end - -delete(MsgHandle); - - -set(texthandle, 'Position',[MsgTxtXOffset MsgTxtYOffset 0]); - - -IconAxes=axes( ... - 'Parent' ,QuestFig , ... - 'Units' ,'Pixels' , ... - 'Position' ,[IconXOffset IconYOffset IconWidth IconHeight], ... - 'NextPlot' ,'replace' , ... - 'Tag' ,'IconAxes' ... ); -set(QuestFig ,'NextPlot','add'); - -load dialogicons.mat questIconData questIconMap; -IconData=questIconData; -questIconMap(256,:)=get(QuestFig,'Color'); -IconCMap=questIconMap; - -Img=image('CData',IconData,'Parent',IconAxes); -set(QuestFig, 'Colormap', IconCMap); -set(IconAxes, ... - 'Visible','off' , ... - 'YDir' ,'reverse' , ... - 'XLim' ,get(Img,'XData'), ... - 'YLim' ,get(Img,'YData') ... - ); - -% make sure we are on screen -movegui(QuestFig) - - -set(QuestFig ,'WindowStyle','modal','Visible','on'); -drawnow; - -if DefaultButton ~= 0 - uicontrol(BtnHandle{DefaultButton}); -end - -if ishghandle(QuestFig) - % Go into uiwait if the figure handle is still valid. - % This is mostly the case during regular use. - uiwait(QuestFig); -end - -% Check handle validity again since we may be out of uiwait because the -% figure was deleted. -if ishghandle(QuestFig) - if DefaultWasPressed - ButtonName=Default; + textExtent=get(texthandle, 'Extent'); + % (g357851)textExtent and extent from uicontrol are not the same. For window, extent from uicontrol is larger + % than textExtent. But on Mac, it is reverse. Pick the max value. + MsgTxtWidth=max([MsgTxtWidth NewMsgTxtPos(3)+2 textExtent(3)]); + MsgTxtHeight=max([MsgTxtHeight NewMsgTxtPos(4)+2 textExtent(4)]); + MsgTxtXOffset=IconXOffset+IconWidth+DefOffset; + FigPos(3)=max(NumButtons*(BtnWidth+DefOffset)+DefOffset, ... + MsgTxtXOffset+MsgTxtWidth+DefOffset); + % Center Vertically around icon + if IconHeight>MsgTxtHeight, + IconYOffset=BtnYOffset+BtnHeight+DefOffset; + MsgTxtYOffset=IconYOffset+(IconHeight-MsgTxtHeight)/2; + FigPos(4)=IconYOffset+IconHeight+DefOffset; + % Center around text else - ButtonName=get(get(QuestFig,'CurrentObject'),'String'); + MsgTxtYOffset=BtnYOffset+BtnHeight+DefOffset; + IconYOffset=MsgTxtYOffset+(MsgTxtHeight-IconHeight)/2; + FigPos(4)=MsgTxtYOffset+MsgTxtHeight+DefOffset; + end + + if NumButtons==1 + BtnXOffset=(FigPos(3)-BtnWidth)/2; + elseif NumButtons==2 + BtnXOffset=[(FigPos(3)-DefOffset)/2-BtnWidth (FigPos(3)+DefOffset)/2]; + elseif NumButtons==3 + BtnXOffset(2)=(FigPos(3)-BtnWidth)/2; + BtnXOffset=[BtnXOffset(2)-DefOffset-BtnWidth BtnXOffset(2) BtnXOffset(2)+BtnWidth+DefOffset]; + end + + set(QuestFig ,'Position',getnicedialoglocation(FigPos, get(QuestFig,'Units'))); + assert(iscell(BtnHandle)); + BtnPos=cellfun(@(bh)get(bh,'Position'), BtnHandle, 'UniformOutput', false); + BtnPos=cat(1,BtnPos{:}); + BtnPos(:,1)=BtnXOffset; + BtnPos=num2cell(BtnPos,2); + assert(iscell(BtnPos)); + cellfun(@(bh,pos)set(bh, 'Position', pos), BtnHandle, BtnPos, 'UniformOutput', false); + + if DefaultValid + setdefaultbutton(QuestFig, BtnHandle{DefaultButton}); + end + + delete(MsgHandle); + set(texthandle, 'Position',[MsgTxtXOffset MsgTxtYOffset 0]); + + IconAxes=axes(... + 'Parent' ,QuestFig , ... + 'Units' ,'Pixels' , ... + 'Position' ,[IconXOffset IconYOffset IconWidth IconHeight], ... + 'NextPlot' ,'replace' , ... + 'Tag' ,'IconAxes' ... + ); + + set(QuestFig ,'NextPlot','add'); + load dialogicons.mat questIconData questIconMap; + IconData=questIconData; + questIconMap(256,:)=get(QuestFig,'Color'); + IconCMap=questIconMap; + Img=image('CData',IconData,'Parent',IconAxes); + set(QuestFig, 'Colormap', IconCMap); + set(IconAxes, ... + 'Visible','off' , ... + 'YDir' ,'reverse' , ... + 'XLim' ,get(Img,'XData'), ... + 'YLim' ,get(Img,'YData') ... + ); + + % Make sure we are on screen + movegui(QuestFig) + set(QuestFig ,'WindowStyle','modal','Visible','on'); + drawnow; + + if DefaultButton ~=0 + uicontrol(BtnHandle{DefaultButton}); + end + + if ishghandle(QuestFig) + % Go into uiwait if the figure handle is still valid. + % This is mostly the case during regular use. + uiwait(QuestFig); + end + + % Check handle validity again since we may be out of uiwait because the + % figure was deleted. + if ishghandle(QuestFig) + if DefaultWasPressed + ButtonName=Default; + else + ButtonName=get(get(QuestFig,'CurrentObject'),'String'); + end + doDelete; + else + ButtonName=''; end - doDelete; -else - ButtonName=''; -end function doFigureKeyPress(obj, evd) %#ok switch(evd.Key)