Add ezview
This commit is contained in:
23
workflow/apps/matlab/ezview/Axes2FigPrint.m
Executable file
23
workflow/apps/matlab/ezview/Axes2FigPrint.m
Executable file
@@ -0,0 +1,23 @@
|
||||
close all
|
||||
figure('units','pix','pos',[200 200 850 750])
|
||||
ax = axes;
|
||||
plot((1:10).^2)
|
||||
set(ax,'units','pix')
|
||||
legend('x^2')
|
||||
xlabel('X Label','fontsize',12)
|
||||
ylabel('Y Label','fontsize',12)
|
||||
title('Title','fontsize',24)
|
||||
drawnow
|
||||
|
||||
% Now capture the axes and labels.
|
||||
P = get(ax,'pos');
|
||||
T = get(ax,'tightinset');
|
||||
h = [P(1)-T(1)-5 P(2)-T(2)-5 P(3)+P(1)/2+T(3)+15 P(4)+P(2)/2+T(4)+10];
|
||||
F = getframe(gcf,h);
|
||||
[X,Map] = frame2im(F);
|
||||
% I put the funny background color so the captured area stands out.
|
||||
figure('color',[.6 .2 .2],'units','pix','pos',[26 33 1184 925])
|
||||
image(X)
|
||||
set(gca,'visible','off')
|
||||
axis normal
|
||||
imwrite(X,'myimage.jpg') % save the image
|
||||
BIN
workflow/apps/matlab/ezview/Copy_of_EZviewGui_App.mlapp
Executable file
BIN
workflow/apps/matlab/ezview/Copy_of_EZviewGui_App.mlapp
Executable file
Binary file not shown.
137
workflow/apps/matlab/ezview/EZRFs4DayComp.m
Executable file
137
workflow/apps/matlab/ezview/EZRFs4DayComp.m
Executable file
@@ -0,0 +1,137 @@
|
||||
%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
|
||||
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
|
||||
end
|
||||
|
||||
|
||||
|
||||
if RFconfig==3
|
||||
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
|
||||
245
workflow/apps/matlab/ezview/EZVimDisplay.asv
Executable file
245
workflow/apps/matlab/ezview/EZVimDisplay.asv
Executable file
@@ -0,0 +1,245 @@
|
||||
%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)))
|
||||
MPnum=mx;
|
||||
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;
|
||||
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)
|
||||
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)
|
||||
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)
|
||||
end
|
||||
end
|
||||
|
||||
ghandles=handles;
|
||||
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(:))
|
||||
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
|
||||
end
|
||||
if 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'))
|
||||
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
|
||||
%********************
|
||||
|
||||
%********************************************************************
|
||||
%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 (in
|
||||
%********************
|
||||
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');
|
||||
if orfLstSel==1
|
||||
set(handles.listboxGnOrf,'string',Exp(1).Dexp(DexpN).srtOrfLst)
|
||||
else
|
||||
set(handles.listboxGnOrf,'string',Exp(1).Dexp(DexpN).srtGnLst)
|
||||
end
|
||||
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');
|
||||
if orfLstSel==1
|
||||
set(handles.listboxGnOrf,'string',Exp(2).Dexp(DexpN).srtOrfLst)
|
||||
else
|
||||
set(handles.listboxGnOrf,'string',Exp(2).Dexp(DexpN).srtGnLst)
|
||||
end
|
||||
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');
|
||||
if orfLstSel==1
|
||||
set(handles.listboxGnOrf,'string',Exp(3).Dexp(DexpN).srtOrfLst)
|
||||
else
|
||||
set(handles.listboxGnOrf,'string',Exp(3).Dexp(DexpN).srtGnLst)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
245
workflow/apps/matlab/ezview/EZVimDisplay.m
Executable file
245
workflow/apps/matlab/ezview/EZVimDisplay.m
Executable file
@@ -0,0 +1,245 @@
|
||||
%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)))
|
||||
MPnum=mx;
|
||||
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;
|
||||
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)
|
||||
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)
|
||||
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)
|
||||
end
|
||||
end
|
||||
|
||||
ghandles=handles;
|
||||
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(:))
|
||||
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
|
||||
end
|
||||
if 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'))
|
||||
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
|
||||
%********************
|
||||
|
||||
%********************************************************************
|
||||
%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');
|
||||
if orfLstSel==1
|
||||
set(handles.listboxGnOrf,'string',Exp(1).Dexp(DexpN).srtOrfLst)
|
||||
else
|
||||
set(handles.listboxGnOrf,'string',Exp(1).Dexp(DexpN).srtGnLst)
|
||||
end
|
||||
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');
|
||||
if orfLstSel==1
|
||||
set(handles.listboxGnOrf,'string',Exp(2).Dexp(DexpN).srtOrfLst)
|
||||
else
|
||||
set(handles.listboxGnOrf,'string',Exp(2).Dexp(DexpN).srtGnLst)
|
||||
end
|
||||
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');
|
||||
if orfLstSel==1
|
||||
set(handles.listboxGnOrf,'string',Exp(3).Dexp(DexpN).srtOrfLst)
|
||||
else
|
||||
set(handles.listboxGnOrf,'string',Exp(3).Dexp(DexpN).srtGnLst)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
129
workflow/apps/matlab/ezview/EZcompositePlot.m
Executable file
129
workflow/apps/matlab/ezview/EZcompositePlot.m
Executable file
@@ -0,0 +1,129 @@
|
||||
%EZcompositePlot
|
||||
global Exp
|
||||
global ghandles
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
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);
|
||||
|
||||
|
||||
%******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 )));
|
||||
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
|
||||
|
||||
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));
|
||||
|
||||
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))
|
||||
catch
|
||||
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};
|
||||
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
|
||||
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};
|
||||
|
||||
|
||||
|
||||
|
||||
649
workflow/apps/matlab/ezview/EZdestComp.m
Executable file
649
workflow/apps/matlab/ezview/EZdestComp.m
Executable file
@@ -0,0 +1,649 @@
|
||||
%EZdestConp.m GraphicDestinationPertibationComparison**15_821
|
||||
%Produces Trend plots across perturbation (DrugMedia) plates
|
||||
%Called by EZvDatatip.m and EZlstBoxExt.m
|
||||
%Provides Trace data storage for use by EZfigTrendOL.m
|
||||
|
||||
if lstBoxCmpFlg== 1
|
||||
Exp(zoneSel).seltraceN=traceN;
|
||||
seltraceN=traceN;
|
||||
end
|
||||
if expN==1 && get(ghandles.CompositeTog1,'value')==1 ||...
|
||||
expN==2 && get(ghandles.CompositeTog2,'value')==1 ||...
|
||||
expN==3 && get(ghandles.CompositeTog3,'value')==1
|
||||
CompositeTrendFlg=1; else CompositeTrendFlg=0;
|
||||
end
|
||||
|
||||
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
|
||||
|
||||
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 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
|
||||
|
||||
%++++++++++++++++++++++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
|
||||
|
||||
else %if EZdatatip==1 or if EZdatatip==0 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
%*************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 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);
|
||||
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 %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);
|
||||
|
||||
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
|
||||
|
||||
|
||||
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');
|
||||
|
||||
%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
|
||||
%}
|
||||
134
workflow/apps/matlab/ezview/EZdiagRFsSheet.m
Executable file
134
workflow/apps/matlab/ezview/EZdiagRFsSheet.m
Executable file
@@ -0,0 +1,134 @@
|
||||
%Diagnostic sheet called by EZvInitLoad.m, EZexpSel.m ?EZinteractDev_.m?
|
||||
%EZdiagRFsSheet.m
|
||||
try %Try the whole routine
|
||||
global Exp
|
||||
if strcmp(Exp(expN).DexpType,'multi')||...
|
||||
strcmp(Exp(expN).DexpType,'chrono')
|
||||
DexpN=n;
|
||||
end
|
||||
rnames=[];
|
||||
data=[];
|
||||
try
|
||||
cnames= {'RF Name','Median','Mean','STD','Minimum','Maximum'};
|
||||
rCnt=0;
|
||||
RFfilename= fullfile(Exp(expN).Dexp(DexpN).resDir,'PrintResults','!RFsDiagnostics.txt');
|
||||
fid = fopen(RFfilename,'w'); %('RFdiagnostic.txt','w');
|
||||
ftitle= strcat(ExpPath,':::Reference Diagnostic Values');
|
||||
try
|
||||
fprintf(fid,'%s\n',ftitle);
|
||||
catch mErr
|
||||
errorMessage= mErr.message
|
||||
msg= 'Check Permissions of PrintResult folder. !RFsDiagnostics.txt may not be created';
|
||||
warning((msg));
|
||||
warndlg('Check Permissions of PrintResult folder. !RFsDiagnostics.txt may not be created');
|
||||
end
|
||||
fprintf(fid,'%s\t %s\t %s\t %s\t %s\t %s','RF Name','Median','Mean','STD','Min','Max');
|
||||
fprintf(fid,'\n');
|
||||
|
||||
rnames= cell(1,1);
|
||||
for d=1:DMnum
|
||||
try
|
||||
%RF1 MasterPlate Stats
|
||||
RFmd1LB= Exp(expN).Dexp(DexpN).RFmd1LB(d);
|
||||
mval1= Exp(expN).Dexp(DexpN).RFmd1val(d);
|
||||
mean1= Exp(expN).Dexp(DexpN).mean1(d);
|
||||
std1= Exp(expN).Dexp(DexpN).std1(d);
|
||||
min1= Exp(expN).Dexp(DexpN).min1(d);
|
||||
max1= Exp(expN).Dexp(DexpN).max1(d);
|
||||
|
||||
fprintf(fid,'%s\t %7.2f\t %7.4f\t %7.4f\t %7.4f\t %7.4f\t', cell2mat(RFmd1LB), mval1,mean1,std1,min1,max1)
|
||||
fprintf(fid,'\n')
|
||||
|
||||
rCnt=rCnt+1;
|
||||
data(rCnt,1:5)= [mval1,mean1,std1,min1,max1];
|
||||
rnames(rCnt)= RFmd1LB;
|
||||
catch mErr
|
||||
message= 'No RF1 MasterPlate'
|
||||
end
|
||||
try
|
||||
%RF2 MasterPlate Stats
|
||||
RFmd2LB= Exp(expN).Dexp(DexpN).RFmd2LB(d);
|
||||
mval2= Exp(expN).Dexp(DexpN).RFmd2val(d);
|
||||
mean2= Exp(expN).Dexp(DexpN).mean2(d);
|
||||
std2= Exp(expN).Dexp(DexpN).std2(d);
|
||||
min2= Exp(expN).Dexp(DexpN).min2(d);
|
||||
max2= Exp(expN).Dexp(DexpN).max2(d);
|
||||
|
||||
fprintf(fid,'%s\t %7.2f\t %7.4f\t %7.4f\t %7.4f\t %7.4f\t', cell2mat(RFmd2LB),mval2,mean2,std2,min2,max2)
|
||||
fprintf(fid,'\n')
|
||||
|
||||
rCnt=rCnt+1;
|
||||
data(rCnt,1:5)= [mval2,mean2,std2,min2,max2];
|
||||
rnames(rCnt)= RFmd2LB;
|
||||
catch ME
|
||||
message= 'No RF2 MasterPlate'
|
||||
end
|
||||
%Distributed Global stats
|
||||
try
|
||||
RFmdGLB= Exp(expN).Dexp(DexpN).RFmdGLB(d);
|
||||
mvalsDG= Exp(expN).Dexp(DexpN).RFmedianG(d);
|
||||
RFmeanG= Exp(expN).Dexp(DexpN).RFmeanG(d);
|
||||
RFstdG= Exp(expN).Dexp(DexpN).RFstdG(d);
|
||||
maxG= Exp(expN).Dexp(DexpN).RFmaxG(d);
|
||||
minG= Exp(expN).Dexp(DexpN).RFminG(d);
|
||||
|
||||
fprintf(fid,'%s\t %7.2f\t %7.4f\t %7.4f\t %7.4f\t %7.4f\t', cell2mat(RFmdGLB),mvalsDG,RFmeanG,RFstdG,minG,maxG)
|
||||
fprintf(fid,'\n')
|
||||
|
||||
rCnt=rCnt+1;
|
||||
data(rCnt,1:5)= [mvalsDG,RFmeanG,RFstdG,minG,maxG];
|
||||
rnames(rCnt)= RFmdGLB;
|
||||
catch ME
|
||||
message= 'No RF2 MasterPlate'
|
||||
end
|
||||
end %for d=1:DMnum
|
||||
|
||||
%Distributed RF1 Plates Stats Print
|
||||
%
|
||||
try
|
||||
for d=1:DMnum
|
||||
for mm=1:length(dMPs)
|
||||
%RFmd1posD= Exp(expN).Dexp(DexpN).RFmdPindx(d,dMPs(mm));
|
||||
%dMP= Exp(expN).Dexp(DexpN).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).Dexp(DexpN).RFmdPscanN(d,dMPs(mm));
|
||||
RFmdPLB= Exp(expN).Dexp(DexpN).RFmdPLB(d,dMPs(mm));
|
||||
mval1Disp= Exp(expN).Dexp(DexpN).RFmedianP(d,dMPs(mm));
|
||||
mean1Disp= Exp(expN).Dexp(DexpN).meanP(d,dMPs(mm));
|
||||
std1Disp= Exp(expN).Dexp(DexpN).stdP(d,dMPs(mm));
|
||||
minDisp= Exp(expN).Dexp(DexpN).minP(d,dMPs(mm));
|
||||
maxDisp= Exp(expN).Dexp(DexpN).maxP(d,dMPs(mm));
|
||||
|
||||
fprintf(fid,'%s\t %7.2f\t %7.4f\t %7.4f\t %7.4f\t %7.4f\t', cell2mat(RFmdPLB),mval1Disp,mean1Disp,std1Disp,minDisp,maxDisp);
|
||||
fprintf(fid,'\n');
|
||||
|
||||
rCnt=rCnt+1;
|
||||
data(rCnt,1:5)= [mval1Disp,mean1Disp,std1Disp,minDisp,maxDisp];
|
||||
rnames(rCnt)= RFmdPLB; %cell2mat(RFmdPLB);
|
||||
|
||||
end %for mm=1:length(dMPs)
|
||||
end %for d=1:DMnum
|
||||
catch ME
|
||||
message= 'No Distributed RF1 MasterPlates'
|
||||
end
|
||||
|
||||
catch
|
||||
Warndlg('Problem writing the RFdiagnosticSheet.txt file')
|
||||
end
|
||||
fclose(fid)
|
||||
catch
|
||||
msg= 'EZdiagRFsSheet.m failed. Check Permissions'
|
||||
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
%{
|
||||
mErr
|
||||
message= mErr.stack(end).line
|
||||
error_line = mErr.stack(end).line
|
||||
%}
|
||||
|
||||
|
||||
|
||||
75
workflow/apps/matlab/ezview/EZdiagRFsSheetwImport.m
Executable file
75
workflow/apps/matlab/ezview/EZdiagRFsSheetwImport.m
Executable file
@@ -0,0 +1,75 @@
|
||||
%Diagnostic sheet called by EZvInitLoad.m, EZexpSel.m ?EZinteractDev_.m?
|
||||
global Exp
|
||||
|
||||
intLfilename1= fullfile(Exp(expN).resDir,'PrintResults','!RFsDiagnostics.txt');
|
||||
fid = fopen(RFdiagnostic,'w');
|
||||
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.
|
||||
for d=1:DMnum
|
||||
fprintf(fid,'RF Name\Median\Mean\STD\Max\Min');
|
||||
fprintf(fid,'\n')
|
||||
fprintf(fid,'\n')
|
||||
RFmd1pos= Exp(expN).RFmd1indx(d+1);
|
||||
RF1mp= Exp(expN).RFmd1pltN;
|
||||
std1= Exp(expN).std1(:);
|
||||
mean1= Exp(expN).mean1(:);
|
||||
min1= Exp(expN).min1(:);
|
||||
max1= Exp(expN).max1(:);
|
||||
|
||||
RFmd2pos= Exp(expN).RFmd2indx(d+1);
|
||||
RF2mp= Exp(expN).RFmd2pltN;
|
||||
std2= Exp(expN).std2(d+1);
|
||||
mean2= Exp(expN).mean2(d+1);
|
||||
min2= Exp(expN).min2(d,dMPs(mm));
|
||||
max2= Exp(expN).max2(d,dMPs(mm));
|
||||
|
||||
nzPosIndxDG= Exp(expN).RFmdGindx(d);
|
||||
dMP= Exp(expN).RFmdGpltN(d);
|
||||
rf1scNdisp= Exp(expN).RFmdGscanN(d);
|
||||
mvalsDGx= Exp(expN).RFmedianG(d);
|
||||
RFstdGx= Exp(expN).RFstdG(d);
|
||||
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
|
||||
|
||||
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)
|
||||
|
||||
|
||||
%{
|
||||
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)
|
||||
1320
workflow/apps/matlab/ezview/EZexpSel.asv
Executable file
1320
workflow/apps/matlab/ezview/EZexpSel.asv
Executable file
File diff suppressed because it is too large
Load Diff
1320
workflow/apps/matlab/ezview/EZexpSel.m
Executable file
1320
workflow/apps/matlab/ezview/EZexpSel.m
Executable file
File diff suppressed because it is too large
Load Diff
594
workflow/apps/matlab/ezview/EZfigTrendOL.m
Executable file
594
workflow/apps/matlab/ezview/EZfigTrendOL.m
Executable file
@@ -0,0 +1,594 @@
|
||||
%EZfigTrendOL.m called from EZviewGui.m LKrTog__ Callback
|
||||
%Uses data stored from OLay ; Clearing OLay clears data used by this
|
||||
%Trending Utility
|
||||
|
||||
|
||||
global Exp
|
||||
global userPars
|
||||
|
||||
%try
|
||||
kfiltLim= userPars.kfiltLim;
|
||||
%catch
|
||||
%kfiltLim= str2double(userPars.BPdefault(6));
|
||||
%end
|
||||
|
||||
if get(handles.CompositeTog1, 'Value')
|
||||
cmpTogFlg=1;
|
||||
else
|
||||
cmpTogFlg=0;
|
||||
end
|
||||
|
||||
|
||||
DexpN= Exp(expN).DexpN;
|
||||
if strcmp(Exp(expN).DexpType, 'chrono')
|
||||
maxRows=1; Lmax= 1; bpInd=0;
|
||||
for n=1:length(Exp(expN).Dexp) %LOOP Thru DayExps
|
||||
for trc= 1:Exp(expN).traceN %length(Exp(expN).Trace)
|
||||
try
|
||||
if isequal(get(Exp(expN).hOL(trc),'Visible'),'on')
|
||||
|
||||
dmSel= Exp(expN).Trace(trc).dmSel;
|
||||
if iscell(Exp(expN).Trace(trc).Dexp(n).DM(dmSel).UsrLvals)
|
||||
rows= length(cell2mat(Exp(expN).Trace(trc).Dexp(n).DM(dmSel).UsrLvals));
|
||||
else
|
||||
rows=1;
|
||||
end
|
||||
if iscell(Exp(expN).Trace(trc).Dexp(n).DM(dmSel).UsrLvals)
|
||||
if rows> maxRows, maxRows= rows; end
|
||||
LsmpMax= max(cell2mat(Exp(expN).Trace(trc).Dexp(n).DM(dmSel).UsrLvals));
|
||||
else
|
||||
LsmpMax= max(Exp(expN).Trace(trc).Dexp(n).DM(dmSel).UsrLvals);
|
||||
end
|
||||
if LsmpMax> Lmax, Lmax= LsmpMax; end
|
||||
bpInd=bpInd+1;
|
||||
end %if isequal(get(Exp(1).hOL(trc),'Visible'),'on')
|
||||
catch
|
||||
end
|
||||
end % 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')
|
||||
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
|
||||
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'),
|
||||
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
|
||||
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
|
||||
|
||||
%legName=strrep(NmLst,'_','-');
|
||||
mm=1;
|
||||
for nn= 1:length(NmLst)
|
||||
if iscellstr(NmLst(nn))
|
||||
legName(mm)=strrep(NmLst(nn),'_','-');
|
||||
mm=mm+1;
|
||||
end
|
||||
end
|
||||
legName =strrep(legName,'/','-');
|
||||
hleg=legend((legName),'location','NEO');
|
||||
set(hleg,'fontsize',legFontSz)
|
||||
|
||||
end
|
||||
xlabel('Days')
|
||||
ylabel('L in Hours')
|
||||
title('Chronological Trend Plot with Standard Deviations')
|
||||
|
||||
hold off
|
||||
%***************************************************************
|
||||
%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
|
||||
%***************************************************************
|
||||
%SINGLE or MULTI-Experiment
|
||||
|
||||
if ~strcmp(Exp(expN).DexpType, 'chrono') %Single or Multi-Experiment
|
||||
%Plot median values for each DM of the selected Trace (Gene-DM)
|
||||
%(Gene-Specifics)using single DAY of trace
|
||||
|
||||
for trc= 1:Exp(expN).traceN %length(Exp(expN).Trace)
|
||||
trcInd= 0;
|
||||
DexpN= Exp(expN).Trace(trc).DexpN;
|
||||
expFolder= Exp(expN).Dexp(DexpN).ExpFoldr;
|
||||
if ispc
|
||||
lastSlash= max(strfind(Exp(expN).Dexp(DexpN).ExpFoldr, '\'));
|
||||
else
|
||||
lastSlash= max(strfind(Exp(expN).Dexp(DexpN).ExpFoldr, '/'));
|
||||
end
|
||||
expName= expFolder(lastSlash+1:end);
|
||||
if length(expName)>18
|
||||
expNm= strcat('-',expName(1:18));
|
||||
else
|
||||
expNm= strcat('-',expName);
|
||||
end
|
||||
|
||||
scnt= '['; %Init for Sample Count String
|
||||
for n=1:length(Exp(expN).Dexp(DexpN).DM.drug) %LOOP Thru Drug-Media perturbations
|
||||
tmp=[];
|
||||
if isequal(get(Exp(expN).hOL(trc),'Visible'),'on')
|
||||
if iscell(Exp(expN).Trace(trc).Dexp(DexpN).DM(n).UsrLvals)
|
||||
kFiltrIndx= find((cell2mat(Exp(expN).Trace(trc).Dexp(DexpN).DM(n).UsrKvals))<= kfiltLim);
|
||||
tmp= (cell2mat(Exp(expN).Trace(trc).Dexp(DexpN).DM(n).UsrLvals));
|
||||
dmMed(trc,n)= median(tmp(kFiltrIndx)); %median(cell2mat(Exp(expN).Trace(trc).Dexp(DexpN).DM(n).UsrLvals));
|
||||
dmStd(trc,n)= std(tmp(kFiltrIndx)); %std(cell2mat(Exp(expN).Trace(trc).Dexp(DexpN).DM(n).UsrLvals));
|
||||
cnt= length(kFiltrIndx); %length(cell2mat(Exp(expN).Trace(trc).Dexp(DexpN).DM(n).UsrLvals));
|
||||
else
|
||||
kFiltrIndx= find(((Exp(expN).Trace(trc).Dexp(DexpN).DM(n).UsrKvals))<= kfiltLim);
|
||||
tmp= ((Exp(expN).Trace(trc).Dexp(DexpN).DM(n).UsrLvals));
|
||||
dmMed(trc,n)= median(tmp(kFiltrIndx)); %median(Exp(expN).Trace(trc).Dexp(DexpN).DM(n).UsrLvals);
|
||||
dmStd(trc,n)= std(tmp(kFiltrIndx)); %std(Exp(expN).Trace(trc).Dexp(DexpN).DM(n).UsrLvals);
|
||||
cnt= length(kFiltrIndx); %length(Exp(expN).Trace(trc).Dexp(DexpN).DM(n).UsrLvals);
|
||||
end
|
||||
%*************Make LEGEND list ********************************
|
||||
%Make Sample Count Label item
|
||||
if n~=length(Exp(expN).Dexp(DexpN).DM.drug)
|
||||
scnt= strcat(scnt,num2str(cnt),',');
|
||||
else
|
||||
scnt= strcat(scnt,num2str(cnt),']');
|
||||
end
|
||||
%Get Agar DrugMedia
|
||||
drug= Exp(expN).Dexp(DexpN).DM.drug{n};
|
||||
conc= Exp(expN).Dexp(DexpN).DM.conc{n};
|
||||
media= Exp(expN).Dexp(DexpN).DM.media{n};
|
||||
mod1= Exp(expN).Dexp(DexpN).DM.mod1{n};
|
||||
conc1= Exp(expN).Dexp(DexpN).DM.conc1{n};
|
||||
mod2= Exp(expN).Dexp(DexpN).DM.mod2{n};
|
||||
conc2=Exp(expN).Dexp(DexpN).DM.conc2{n};
|
||||
dmStr= strcat(drug,'_',conc,'_',media,'_',mod1,conc1,mod2,conc2);
|
||||
NmLst(trc)= strcat(Exp(expN).Trace(trc).UsrGLB, expNm,scnt);
|
||||
|
||||
trcInd= trcInd+1;
|
||||
upperStd(trc,n)=dmMed(trc,n) + dmStd(trc,n);
|
||||
lowerStd(trc,n)=dmMed(trc,n) - dmStd(trc,n);
|
||||
end %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
|
||||
end
|
||||
end %for n=1:length(Exp(expN).Dexp)
|
||||
end %for trc= 1:Exp(expN).traceN
|
||||
|
||||
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
|
||||
end %if userPars.boxplotFlg~=1 %PLOT OVERLAY OF TRENDS 266
|
||||
|
||||
427
workflow/apps/matlab/ezview/EZhtMap.m
Executable file
427
workflow/apps/matlab/ezview/EZhtMap.m
Executable file
@@ -0,0 +1,427 @@
|
||||
%EZhtMap
|
||||
global Exp
|
||||
global ghandles
|
||||
global adj
|
||||
global flip
|
||||
|
||||
if isempty(adj), adj=1.5; flip='T'; end
|
||||
load('MyColormap1','modJet1')
|
||||
load('MyColormap2','modJet2')
|
||||
%load('MyColormap2','modJet0')
|
||||
%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;
|
||||
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
|
||||
catch
|
||||
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));
|
||||
|
||||
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)
|
||||
for j=1:size(L,2)
|
||||
if L(i,j)>LpStd,
|
||||
L4hMap(i,j)= LpStd;
|
||||
elseif L(i,j)<LnStd && L(i,j)~=0
|
||||
L4hMap(i,j)= LnStd;
|
||||
elseif L(i,j)== 0
|
||||
L4hMap(i,j)= LpStd+0.2*std(L(:));
|
||||
|
||||
else
|
||||
L4hMap(i,j)= L(i,j);
|
||||
end
|
||||
end
|
||||
end
|
||||
%L4hMap= 1-(L4hMap/(max(L4hMap(:))));
|
||||
%---------------------------------------------------
|
||||
if prntHt== 0
|
||||
hTogHt= figure;
|
||||
h=image(cleanPallet); %hTogHt=image(cleanPallet);
|
||||
h=image(L4hMap); %hTogHt=image(L4hMap);
|
||||
if isequal(char(flip) , 'T')
|
||||
colormap(flipud(modJet1)) %(flipud(hot)) %(jet); % invert heat map for L so that fastgrowth is 'hotter' red
|
||||
else
|
||||
colormap(modJet2)
|
||||
end
|
||||
set(h,'CDataMapping','scale') %set(hTogHt,'CDataMapping','scale')
|
||||
else
|
||||
figure
|
||||
h= image(cleanPallet); %hTogHt= image(cleanPallet);
|
||||
h=image(L4hMap); %hTogHt=image(L4hMap);
|
||||
if isequal(char(flip) , 'T')
|
||||
colormap(flipud(modJet1)) %(flipud(hot)) %(jet); % invert heat map for L so that fastgrowth is 'hotter' red
|
||||
else
|
||||
colormap(modJet2)
|
||||
end
|
||||
set(h,'CDataMapping','scale')
|
||||
end
|
||||
|
||||
%h=image(L);
|
||||
%colormap(flipud(hot)) %(jet); % invert heat map for L so that fastgrowth is 'hotter' red
|
||||
%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
|
||||
%if expN==1,cla(handles.HtMap1);copyobj(hTogHt,ghandles.HtMap1);end
|
||||
%if expN==2,cla(handles.HtMap2);copyobj(hTogHt,ghandles.HtMap2);end
|
||||
%if expN==3,cla(handles.HtMap3);copyobj(hTogHt,ghandles.HtMap3);end
|
||||
close(hTogHt)
|
||||
else %if clicking to produce a 'printable' save display
|
||||
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('L HeatMap for - ',expLblHtmap),strcat('MP=',num2str(mpSel),' ,DM=',num2str(dmSel),mediaLBhtmap)})
|
||||
end
|
||||
colormap(modJet1) %Fix added 230814
|
||||
|
||||
%3333333333 KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
|
||||
elseif htTog==1
|
||||
colormap(modJet1);
|
||||
K= Exp(expN).Dexp(DexpN).scan(scnN).plate.CFout(:,3);
|
||||
K=reshape(K,24,16);
|
||||
%Data rescaling for Heatmap display (color ranged mean+/std*multiplier)
|
||||
pStd= mean(nonzeros(K(:)))+(adj*std(nonzeros(K(:))));
|
||||
nStd= mean(nonzeros(K(:)))-(adj*std(nonzeros(K(:))));
|
||||
for i=1:size(K,1)
|
||||
for j=1:size(K,2)
|
||||
if K(i,j)>pStd,
|
||||
hMap(i,j)= pStd;
|
||||
elseif K(i,j)<nStd && K(i,j)~=0
|
||||
hMap(i,j)= nStd;
|
||||
elseif K(i,j)== 0
|
||||
hMap(i,j)= nStd-0.2*std(K(:));
|
||||
else
|
||||
hMap(i,j)= K(i,j);
|
||||
end
|
||||
end
|
||||
end
|
||||
%---------------------------------------------------
|
||||
if prntHt== 0
|
||||
hTogHt= figure;
|
||||
h=image(cleanPallet);
|
||||
else
|
||||
figure
|
||||
h= image(cleanPallet);
|
||||
end
|
||||
%h=image(cleanPallet);
|
||||
h=image(hMap);
|
||||
colormap(modJet1); % 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('K HeatMap for - ',expLblHtmap),strcat('MP=',num2str(mpSel),' ,DM=',num2str(dmSel),mediaLBhtmap)})
|
||||
end
|
||||
%444444444 rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
|
||||
elseif htTog==2
|
||||
colormap(modJet1);
|
||||
r= Exp(expN).Dexp(DexpN).scan(scnN).plate.CFout(:,4);
|
||||
r=reshape(r,24,16);
|
||||
%Data rescaling for Heatmap display (color ranged mean+/std*multiplier)
|
||||
pStd= mean(nonzeros(r(:)))+(adj*std(nonzeros(r(:))));
|
||||
nStd= mean(nonzeros(r(:)))-(adj*std(nonzeros(r(:))));
|
||||
for i=1:size(r,1)
|
||||
for j=1:size(r,2)
|
||||
if r(i,j)>pStd,
|
||||
hMap(i,j)= pStd;
|
||||
elseif r(i,j)<nStd && r(i,j)~=0,
|
||||
hMap(i,j)= nStd;
|
||||
elseif r(i,j)== 0
|
||||
hMap(i,j)= nStd-0.2*std(r(:));
|
||||
else
|
||||
hMap(i,j)= r(i,j);
|
||||
end
|
||||
end
|
||||
end
|
||||
%---------------------------------------------------
|
||||
if prntHt== 0
|
||||
hTogHt= figure;
|
||||
h=image(cleanPallet);
|
||||
else
|
||||
figure
|
||||
h= image(cleanPallet);
|
||||
end
|
||||
%h=image(cleanPallet);
|
||||
h=image(hMap);
|
||||
colormap(modJet1); % 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('r HeatMap for - ',expLblHtmap),strcat('MP=',num2str(mpSel),' ,DM=',num2str(dmSel),mediaLBhtmap)})
|
||||
end
|
||||
|
||||
%33333333333333333333333333333333333333333333333333333(1111111111111111111)
|
||||
elseif htTog==3
|
||||
RFconfig=Exp(expN).RFconfig; %ZoneRelated
|
||||
if htMapTogPBfg==1
|
||||
if RFconfig==2,
|
||||
QctrlRF= 'Select Distributed Control RF option: (G)Global, (L)Local';
|
||||
QpertRF= 'Select Distributed Perturbation RF option: (G)Global, (L)Local';
|
||||
defaultanswer= {'G','L'}; %{'80','60','100','3,4,5','N','39','Y','G','L'};
|
||||
try defaultanswer= Exp(expN).htmapRFanswer; catch, defaultanswer= {'G','L'};end %ZoneRelated
|
||||
end
|
||||
if RFconfig==3,
|
||||
QctrlRF= 'Select Control RF option: (F)FullPlate, (G)GlobalDistributed, (L)LocalDistributed';
|
||||
QpertRF= 'Select Perturbation RF option: (F)FullPlate, (G)GlobalDistributed, (L)LocalDistributed';
|
||||
defaultanswer={'F','L'}; %{'80','60','100','3,4,5','N','39','Y','F','L'};
|
||||
try defaultanswer= Exp(expN).htmapRFanswer; catch, defaultanswer= {'F','L'}; end %ZoneRelated
|
||||
end
|
||||
|
||||
if RFconfig~=1,
|
||||
prompt={
|
||||
QctrlRF,...
|
||||
QpertRF,...
|
||||
};
|
||||
name='Interaction User Input';
|
||||
numlines=1;
|
||||
answer=inputdlg(prompt,name,numlines,defaultanswer);
|
||||
if RFconfig==2,
|
||||
if ~ismember(answer{1},['g' 'G' 'l' 'L']), answer(1)=defaultanswer(1); end
|
||||
if ~ismember(answer{2},['g' 'G' 'l' 'L']), answer(2)=defaultanswer(2); end
|
||||
end
|
||||
if RFconfig==3,
|
||||
if ~ismember(answer{1},['f' 'F' 'g' 'G' 'l' 'L']), answer(1)=defaultanswer(1); end
|
||||
if ~ismember(answer{2},['f' 'F' 'g' 'G' 'l' 'L']), answer(2)=defaultanswer(2); end
|
||||
end
|
||||
answer(1)= strrep(answer(1),'f','F'); answer(1)= strrep(answer(1),'g','G'); answer(1)= strrep(answer(1),'l','L');
|
||||
answer(2)= strrep(answer(2),'f','F'); answer(2)= strrep(answer(2),'g','G'); answer(2)= strrep(answer(2),'l','L');
|
||||
Exp(expN).htmapRFanswer= answer; %ZoneRelated %store user last selections
|
||||
end
|
||||
end %if htMapTogPBfg==1
|
||||
htMapTogPBfg=0;
|
||||
answer= Exp(expN).htmapRFanswer; %ZoneRelated
|
||||
|
||||
%for j=1:1 %dmN
|
||||
% for m=1:1 %mpN
|
||||
j=dmSel;
|
||||
DM0= dmSel; DMj= dmSel;
|
||||
m= mpSel;
|
||||
%****************
|
||||
anN= [1 2]; %*
|
||||
EZintRFs %* Call subroutine to interpret user RF inputs & det. Rn and Rs values
|
||||
%****************
|
||||
scnNdm1= 1 + (dmN*(m-1))
|
||||
scnN= j + (dmN*(m-1)) % 1,6,11..; 2,7,12 ..; 3,8,13..;
|
||||
Xn{m,j,1}= [];
|
||||
Xln{m,j,1}= [];
|
||||
Xhn{m,j,1}= [];
|
||||
Xn{m,1,:}=Exp(expN).Dexp(DexpN).scan(scnNdm1).plate(1).CFout(:,5);
|
||||
Xln{m,1,:}=Exp(expN).Dexp(DexpN).scan(scnNdm1).plate(1).CFout(:,11); %Exp(expN).Dexp(DexpN).scan(DM{j}(m)).plate(1).CFout(:,11);
|
||||
Xhn{m,1,:}=Exp(expN).Dexp(DexpN).scan(scnNdm1).plate(1).CFout(:,12); %Exp(expN).Dexp(DexpN).scan(DM{j}(m)).plate(1).CFout(:,12);
|
||||
Xn{m,j,:}=Exp(expN).Dexp(DexpN).scan(scnN).plate(1).CFout(:,5); %Exp(expN).Dexp(DexpN).scan(DM{j}(m)).plate(1).CFout(:,5);
|
||||
htmpCpyXn=Xn{m,j,:}'; % Use to find and delineate no growth spots with 999 in text field (infinite interaction) value;
|
||||
|
||||
Xn{m,j,:}(Xn{m,j,:}==0)= 1.2*(max(Xn{m,j,:})); %to keep the colormap scale tighter %=140;
|
||||
Xln{m,j,:}=Exp(expN).Dexp(DexpN).scan(scnN).plate(1).CFout(:,11); %Exp(expN).Dexp(DexpN).scan(DM{j}(m)).plate(1).CFout(:,11);
|
||||
Xhn{m,j,:}=Exp(expN).Dexp(DexpN).scan(scnN).plate(1).CFout(:,12); %Exp(expN).Dexp(DexpN).scan(DM{j}(m)).plate(1).CFout(:,12);
|
||||
|
||||
%*********************************************************
|
||||
%intL{m,j,:} = ((Xn{m,j,:} - Xn{m,1,:}) - (Rn(j)-Rn(1)));
|
||||
intL= ((Xn{m,j,:} - Xn{m,1,:}) - (Rn(j)-Rn(1)));
|
||||
Exp(expN).HtMpIntN2=intL; %ZoneRelated
|
||||
%{
|
||||
intL{m,j,:}(Xn{m,j,:}==1.2*(max(Xn{m,j,:})))= 100;
|
||||
intL{m,j,:}(intL{m,j,:}==0)=-0.0001;
|
||||
%}
|
||||
percentRs= 100;
|
||||
RsReduced(j)= percentRs/100* Rs(j);
|
||||
|
||||
deltaRp(j)= (Rn(j)+RsReduced(j))-(Rn(1)+RsReduced(1));
|
||||
deltaRn(j)=(Rn(j)-RsReduced(j))-(Rn(1)-RsReduced(1));
|
||||
if deltaRp(j)==0, deltaRp(j)=0.0002; end
|
||||
if deltaRn(j)==0, deltaRn(j)=0.0002; end
|
||||
|
||||
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);
|
||||
|
||||
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)
|
||||
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}= [];
|
||||
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
|
||||
I=reshape(intL,24,16);
|
||||
|
||||
if prntHt== 0
|
||||
hTogHt= figure;
|
||||
h=image(cleanPallet);
|
||||
elsef
|
||||
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('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
|
||||
%************* *****
|
||||
82
workflow/apps/matlab/ezview/EZhtMapText.m
Executable file
82
workflow/apps/matlab/ezview/EZhtMapText.m
Executable file
@@ -0,0 +1,82 @@
|
||||
%EZhtMapText.m
|
||||
%*********************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
|
||||
htl=' ';
|
||||
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
|
||||
htk=' ';
|
||||
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
|
||||
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
|
||||
if ~isempty(N1), htN1=strcat('_N1=',N1);else htN1=' ';end
|
||||
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
|
||||
if ~isempty(N2), htN2=strcat('_N2=',N2);else htN2=' ';end %htN2=strcat('_N2=',N2);
|
||||
catch
|
||||
htN2=' ';
|
||||
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==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
|
||||
msg= 'No spot selected (indx=Exp(expN).Dexp(DexpN).spotIndx)'
|
||||
end
|
||||
162
workflow/apps/matlab/ezview/EZintPrint.m
Executable file
162
workflow/apps/matlab/ezview/EZintPrint.m
Executable file
@@ -0,0 +1,162 @@
|
||||
%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')
|
||||
pertTypeLB= '; DMselections:';
|
||||
Rsmax=max(Rs(1),Rs(1:dmN));
|
||||
intLfilename1= fullfile(Exp(expN).Dexp(DexpN).resDir,'PrintResults','!AggrevatingL-DM.txt'); %Longer shorter
|
||||
intLfilename2= fullfile(Exp(expN).Dexp(DexpN).resDir,'PrintResults','!AlleviatingL-DM.txt');
|
||||
intLfilename3= fullfile(Exp(expN).Dexp(DexpN).resDir,'PrintResults','!AggrevatingLadjusted-DM.txt');
|
||||
intLfilename4= fullfile(Exp(expN).Dexp(DexpN).resDir,'PrintResults','!AlleviatingLadjusted-DM.txt');
|
||||
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');
|
||||
intLfilename3= fullfile(Exp(expN).Dexp(1).resDir,'PrintResults','!AggrevatingLadjusted-Chrono.txt');
|
||||
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)
|
||||
|
||||
%********************11111111111111111111111111111111111111111****************************************************************************************************************
|
||||
%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);
|
||||
fprintf(fid,'%s\userInputs',strcat('AggrevatingInteractionResults for User Input: ',userInputs));
|
||||
for j=1:dmN, fprintf(fid,'%s',strcat(', Rstd',num2str(j),'_',num2str(Rs(j)))); end
|
||||
fprintf(fid, '\n');
|
||||
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,'Specifics\tReplicate\tStrain\tMP\tRow\tCol\tIndex');
|
||||
fprintf(fid, '\n');
|
||||
if ~isempty(InterslstPos{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');
|
||||
fprintf(fid,'%.5f\t',IntersValsPos(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(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
|
||||
else
|
||||
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');
|
||||
fclose(fid)
|
||||
%********************222222222222222222222222222222222222222222222****************************************************************************************************************
|
||||
%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);
|
||||
fprintf(fid,'%s\userInputs',strcat('AlleviatingInteractionResults for User Input: ',userInputs)); %fprintf(fid,'%s\userInputs',userInputs);
|
||||
for j=1:dmN, fprintf(fid,'%s',strcat(', Rstd',num2str(j),'_',num2str(Rs(j)))); end
|
||||
fprintf(fid, '\n');
|
||||
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,'Specifics\tReplicate\tStrain\tMP\tRow\tCol\tIndex');
|
||||
fprintf(fid, '\n');
|
||||
if ~isempty(InterslstNeg{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');
|
||||
fprintf(fid,'%.5f\t',IntersValsNeg(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(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
|
||||
end
|
||||
|
||||
fclose(fid)
|
||||
%********************3333333333333333333333333333333333333333333333****************************************************************************************************************
|
||||
%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);
|
||||
fprintf(fid,'%s\userInputs',strcat('Adjusted AggrevatingInteractionResults for User Input: ',userInputs));
|
||||
for j=1:dmN, fprintf(fid,'%s',strcat(', Rstd',num2str(j),'_',num2str(Rs(j)))); end
|
||||
fprintf(fid, '\n');
|
||||
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,'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');
|
||||
|
||||
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');
|
||||
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);
|
||||
fprintf(fid,'%s\userInputs',strcat('AlleviatingInteractionResults for User Input: ',userInputs)); %fprintf(fid,'%s\userInputs',userInputs);
|
||||
for j=1:dmN, fprintf(fid,'%s',strcat(', Rstd',num2str(j),'_',num2str(Rs(j)))); end
|
||||
fprintf(fid, '\n');
|
||||
ln=2;
|
||||
fprintf(fid,'%d\t',ln);
|
||||
fprintf(fid, 'Orf\tGene\t');
|
||||
if ~isempty(InterslstNegAdj{1})
|
||||
for j=1:length(DMsel), fprintf(fid,'%s\t',strcat('IntLdm',num2str(DMsel(j)))); end
|
||||
%fprintf(fid, 'L\tLlower\tLupper\t')
|
||||
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');
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
fclose(fid)
|
||||
87
workflow/apps/matlab/ezview/EZintRFs.m
Executable file
87
workflow/apps/matlab/ezview/EZintRFs.m
Executable file
@@ -0,0 +1,87 @@
|
||||
if RFconfig==1
|
||||
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
|
||||
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
|
||||
end
|
||||
453
workflow/apps/matlab/ezview/EZinterAgingDev0.m
Executable file
453
workflow/apps/matlab/ezview/EZinterAgingDev0.m
Executable file
@@ -0,0 +1,453 @@
|
||||
%single gene L based interaction shift display
|
||||
function EZinterAgingDev0
|
||||
|
||||
[openExpfile,openExppath] = uigetfile('.mat','Open Experiment folder and data storage .mat file name','MultiSelect','on');
|
||||
|
||||
AgMPDM=load (fullfile(openExppath,'MasterPlateFiles','MPDMmat.mat'));
|
||||
|
||||
for i=1:size(openExpfile,2)
|
||||
ExpOutmat{i}= fullfile(openExppath,openExpfile{i});
|
||||
EScan{i}=load(ExpOutmat{1});
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
%single gene L based interaction shift display
|
||||
%function EZinteractDev3
|
||||
global Exp
|
||||
% expN=1;
|
||||
|
||||
%User Input decode for application ***************************
|
||||
prompt={'Enter LeftSide Central Boundary in Percent:',...
|
||||
'Enter RightSide Central Boundary in Percent:', ...
|
||||
'Enter Perturbation Numbers for set intersect:' ...
|
||||
'Remove No Growth Infinite Interactors:' ...
|
||||
'Number of Bins for Histograms'...
|
||||
'Subplots(Y), Multiple Plots(N), Suspend Plots(S)'};%...
|
||||
%'Select Experiment(zone) number:'
|
||||
|
||||
name='Interaction User Input';
|
||||
numlines=1;
|
||||
defaultanswer={'80','60','1','N','39','Y'};
|
||||
answer=inputdlg(prompt,name,numlines,defaultanswer);
|
||||
|
||||
negPercent= str2double(cell2mat(answer(1)));
|
||||
posPercent= str2double(cell2mat(answer(2)));
|
||||
DMstr= cell2mat(answer(3));
|
||||
DMcomas=strfind((cell2mat(answer(3))),',');
|
||||
removInfinL= answer(4);
|
||||
numBins= str2double(cell2mat(answer(5)));
|
||||
subplotX= answer(6);
|
||||
%expN= str2double(cell2mat(answer(7)));
|
||||
n=0;
|
||||
for i= DMcomas,
|
||||
n=n+1
|
||||
DMsel(n)= str2double(DMstr(i-1:i))
|
||||
if i== max(DMcomas)
|
||||
DMsel(n+1)= str2double(DMstr(i:end))
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
%**************************************************************
|
||||
|
||||
Rn=Exp(expN).RFmean;
|
||||
Rs=Exp(expN).RFstd;
|
||||
|
||||
dmN= length(Exp(expN).DM.drug);
|
||||
mpN= length(Exp(expN).MP);
|
||||
%Intc1=3; IntcLst=5;
|
||||
%Calculate Interaction values (with and without
|
||||
%standardDeviation/Upper-Lower boundary compensation
|
||||
|
||||
|
||||
|
||||
for j=1:dmN
|
||||
for m=1:mpN
|
||||
scnN= j + (dmN*(m-1)) % 1,6,11..; 2,7,12 ..; 3,8,13..;
|
||||
Xn{m,j,:}=Exp(expN).scan(scnN).plate(1).CFout(:,5); %Exp(expN).scan(DM{j}(m)).plate(1).CFout(:,5);
|
||||
Xn{m,j,:}(Xn{m,j,:}==0)= 140;
|
||||
Xln{m,j,:}=Exp(expN).scan(scnN).plate(1).CFout(:,11); %Exp(expN).scan(DM{j}(m)).plate(1).CFout(:,11);
|
||||
Xhn{m,j,:}=Exp(expN).scan(scnN).plate(1).CFout(:,12); %Exp(expN).scan(DM{j}(m)).plate(1).CFout(:,12);
|
||||
|
||||
intL{m,j,:} = (Xn{m,j,:} - Rn(j));
|
||||
intL{m,j,:}(Xn{m,j,:}==140)= 100;
|
||||
|
||||
intLhw{m,j,:} = ((Xn{m,1,:}-Xn{m,j,:}) - Rn(1)-Rn(j));
|
||||
intLhw{m,j,:}(Xn{m,j,:}==140)= 100;
|
||||
|
||||
deltaXR{m,j}(Xn{m,j} >=(Rn(j)+Rs(j)))= ( Xln{m,j}(Xn{m,j} >=(Rn(j)+Rs(j))))- (Rn(j)+Rs(j));
|
||||
deltaXR{m,j}(Xn{m,j} < (Rn(j)-Rs(j)))= ( Xhn{m,j}(Xn{m,j} < (Rn(j)-Rs(j))))- (Rn(j)-Rs(j));
|
||||
Xneg= Xhn{m,j}- (Rn(j)-Rs(j));
|
||||
Xpos= Xln{m,j}- (Rn(j)+Rs(j));
|
||||
|
||||
deltaXR{m,j}= zeros(1,384);
|
||||
for i=1:length(Xpos(:)),
|
||||
%deltaXR{m,j}(i)= Xpos(i);
|
||||
if deltaXR{m,j}(i)==0
|
||||
try
|
||||
if abs(Xpos(i))<abs(Xneg(i)), deltaXR{m,j}(i)= Xpos(i);end
|
||||
catch, end
|
||||
end
|
||||
end
|
||||
for i=1:length(Xneg(:)),
|
||||
if deltaXR{m,j}(i)==0, deltaXR{m,j}(i)= Xneg(i); end
|
||||
try
|
||||
if abs(Xpos(i))>abs(Xneg(i)), deltaXR{m,j}(i)= Xneg(i); end
|
||||
catch,end
|
||||
end
|
||||
|
||||
|
||||
deltaXR{m,j,:}(Xln{m,j,:}==0)= 100;
|
||||
deltaXR{m,j,:}(isnan(Xln{m,j,:}))= 120;
|
||||
deltaXR{m,j,:}(Xhn{m,j,:}==0)= 100;
|
||||
deltaXR{m,j,:}(isnan(Xhn{m,j,:}))= 120;
|
||||
|
||||
|
||||
%Compile all gene related L values for the each pert-DM (j).
|
||||
addend= (1+((m-1)*384)) %((((m-1)*j)*384)+1);
|
||||
intLcmp(addend:addend+383,j)= cell2mat(intL(m,j,:)); %((addend:addend+383),j)= cell2mat(intL(j,m,:));
|
||||
intLadjcmp(addend:addend+383,j)= cell2mat(deltaXR(m,j,:)); %((addend:addend+383),j)= cell2mat(deltaXR(j,m,:));
|
||||
|
||||
end %m=1:mpN
|
||||
%Remove RFs and Blank (or non annotated ' ') orf data Then
|
||||
%Filter data per user intput
|
||||
intLc{j}= intLcmp(:,j);
|
||||
intLwoRFs{j}(1,:)= intLcmp(Exp(expN).mutSpotIndx.woRFs,j);
|
||||
intLwoRFs{j}(2,:)= Exp(expN).mutSpotIndx.woRFs;%Index of non-RF non-blank spots %Crude early intLcmp(385:(mpN-1)*384,j);
|
||||
|
||||
if strcmpi(removInfinL,'Y')
|
||||
|
||||
intLwoRFs0{j}(1,:)= intLwoRFs{j}(1,(intLwoRFs{j}(1,:)~= 100)); %intLcmp(Exp(1).mutSpotIndx.woRFs,j);
|
||||
intLwoRFs0{j}(2,:)= intLwoRFs{j}(2,(intLwoRFs{j}(1,:)~= 100)); % intLcmp(385:(mpN-1)*384,j);
|
||||
clear intLwoRFs
|
||||
intLwoRFs{j}(1,:)= intLwoRFs0{j}(1,:);
|
||||
intLwoRFs{j}(2,:)= intLwoRFs0{j}(2,:);
|
||||
end
|
||||
|
||||
|
||||
intLwoRFsorted{j}= sortrows(intLwoRFs{j}',1);
|
||||
|
||||
clear intLcmpSortGT0 intLcmpSortLT0
|
||||
|
||||
tempIntL= intLwoRFsorted{j}(:,1);
|
||||
intLcmpSortGT0= tempIntL((tempIntL) >=0);
|
||||
intLcmpSortLT0= tempIntL((tempIntL) <0);
|
||||
|
||||
|
||||
centPosCnt= round(posPercent/100 * length(intLcmpSortGT0));
|
||||
centNegCnt= round(negPercent/100 * length(intLcmpSortLT0));
|
||||
intLposSel{j}=intLwoRFsorted{j}((length(intLcmpSortLT0)+centPosCnt): end,:);
|
||||
intLnegSel{j}=intLwoRFsorted{j}((1:(length(intLcmpSortLT0)-centNegCnt)),:);
|
||||
posIntboundryCentralVal(j)= intLcmpSortGT0((centPosCnt),:); %For Histogram use
|
||||
negIntboundryCentralVal(j)= intLcmpSortLT0(((length(intLcmpSortLT0))-(centNegCnt)),:); %For Histogram use
|
||||
|
||||
|
||||
|
||||
%Find potential Interactors within selected range
|
||||
if j== DMsel(1) %Intc1,
|
||||
InterslstPos{1}= intLposSel{DMsel(1)}(:,2) %intLcmpposInd{Intc1}
|
||||
InterslstNeg{1}= intLnegSel{DMsel(1)}(:,2) %intLcmpnegInd{Intc1}
|
||||
elseif sum(ismember(DMsel,j))==1 %Intc1 && j<=IntcLst
|
||||
InterslstPos{1}=(intersect(InterslstPos{1},intLposSel{j}(:,2))); %,intLcmpposInd{j}))
|
||||
InterslstNeg{1}=(intersect(InterslstNeg{1},intLnegSel{j}(:,2))); %,intLcmpnegInd{j}))
|
||||
end
|
||||
|
||||
|
||||
%Convolute experiment spot index to get scan#, MP# and plateIndx needed
|
||||
%later to obtain genename and other descriptors and correlate data
|
||||
intLposDIndx{j}(:,2)=ceil((intLposSel{j}(:,2))/384); %mp plate numb column
|
||||
intLposDIndx{j}(:,3)=(rem(intLposSel{j}(:,2),384));
|
||||
nn=(intLposDIndx{j}(:,3)==0);
|
||||
intLposDIndx{j}(nn,3)= 384;
|
||||
intLposDIndx{j}(:,1)= j + (dmN*((intLposDIndx{j}(:,2))-1)); %scan numb column %intLposDIndx(:,2)* intLposDIndx(:,3);
|
||||
|
||||
intLnegDIndx{j}(:,2)=ceil((intLnegSel{j}(:,2))/384); %mp plate numb column
|
||||
intLnegDIndx{j}(:,3)=(rem(intLnegSel{j}(:,2),384));
|
||||
nn=(intLposDIndx{j}(:,3)==0);
|
||||
intLnegDIndx{j}(nn,3)= 384;
|
||||
intLnegDIndx{j}(:,1)= j + (dmN*((intLnegDIndx{j}(:,2))-1)); %scan numb
|
||||
|
||||
%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
%********************************************************************************************
|
||||
%ADJUSTED L for Reference Standard deviation(More conservative) Interaction List compilation
|
||||
intLadjwoRFs{j}(1,:)=intLadjcmp(Exp(expN).mutSpotIndx.woRFs,j);
|
||||
intLadjwoRFs{j}(2,:)= Exp(expN).mutSpotIndx.woRFs; %intLadjcmp(385:(mpN-1)*384,j); %intLadjcmp(Exp(expN).mutSpotIndx.woRFs,j);
|
||||
|
||||
if strcmpi(removInfinL,'Y')
|
||||
intLadjwoRFs0{j}(1,:)= intLadjwoRFs{j}(1,(intLadjwoRFs{j}(1,:)~= 100)) ; %intLcmp(Exp(1).mutSpotIndx.woRFs,j);
|
||||
intLadjwoRFs0{j}(2,:)= intLadjwoRFs{j}(2,(intLadjwoRFs{j}(1,:)~= 100)) ; % Remove Index where spots are infinite (=100);
|
||||
clear intLadjwoRFs
|
||||
intLadjwoRFs{j}(1,:)= intLadjwoRFs0{j}(1,:);
|
||||
intLadjwoRFs{j}(2,:)= intLadjwoRFs0{j}(2,:);
|
||||
end
|
||||
|
||||
intLwoRFsortedAdj{j}= sortrows(intLadjwoRFs{j}',1);
|
||||
clear intLadjSortGT0 intLadjSortLT0
|
||||
tempIntLadj= intLwoRFsortedAdj{j}(:,1);
|
||||
intLadjSortGT0= tempIntLadj((tempIntLadj) >=0);
|
||||
intLadjSortLT0= tempIntLadj((tempIntLadj) <0);
|
||||
|
||||
centPosCntAdj= round(posPercent/100 * length(intLadjSortGT0));
|
||||
centNegCntAdj= round(negPercent/100 * length(intLadjSortLT0));
|
||||
intLposSelAdj{j}=intLwoRFsortedAdj{j}((length(intLadjSortLT0)+centPosCntAdj): end,:);
|
||||
intLnegSelAdj{j}=intLwoRFsortedAdj{j}((1:(length(intLadjSortLT0)-centNegCntAdj)),:);
|
||||
posIntboundryCentralValAdj(j)= intLadjSortGT0((centPosCntAdj),:);
|
||||
negIntboundryCentralValAdj(j)= intLadjSortLT0(((length(intLadjSortLT0))-(centNegCntAdj)),:);
|
||||
|
||||
|
||||
if j== DMsel(1) %Intc1,
|
||||
InterslstPosAdj{1}= intLposSelAdj{DMsel(1)}(:,2) %intLcmpposInd{Intc1}
|
||||
InterslstNegAdj{1}= intLnegSelAdj{DMsel(1)}(:,2) %intLcmpnegInd{Intc1}
|
||||
elseif sum(ismember(DMsel,j))==1 % j>Intc1 && j<=IntcLst
|
||||
InterslstPosAdj{1}=(intersect(InterslstPosAdj{1},intLposSelAdj{j}(:,2))); %,intLcmpposInd{j}))
|
||||
InterslstNegAdj{1}=(intersect(InterslstNegAdj{1},intLnegSelAdj{j}(:,2))); %,intLcmpnegInd{j}))
|
||||
end
|
||||
|
||||
|
||||
%Convolute experiment spot index to get scan#, MP# and plateIndx needed
|
||||
%later to obtain genename and other descriptors and correlate data
|
||||
intLposDIndxAdj{j}(:,2)=ceil((intLposSelAdj{j}(:,2))/384); %mp plate numb column
|
||||
intLposDIndxAdj{j}(:,3)=(rem(intLposSelAdj{j}(:,2),384));
|
||||
nn=(intLposDIndxAdj{j}(:,3)==0);
|
||||
intLposDIndx{j}(nn,3)= 384;
|
||||
intLposDIndxAdj{j}(:,1)= j + (dmN*((intLposDIndxAdj{j}(:,2))-1)); %scan numb column %intLposDIndx(:,2)* intLposDIndx(:,3);
|
||||
|
||||
intLnegDIndxAdj{j}(:,2)=ceil((intLnegSelAdj{j}(:,2))/384); %mp plate numb column
|
||||
intLnegDIndxAdj{j}(:,3)=(rem(intLnegSelAdj{j}(:,2),384));
|
||||
nn=(intLposDIndxAdj{j}(:,3)==0);
|
||||
intLnegDIndxAdj{j}(nn,3)= 384;
|
||||
intLnegDIndxAdj{j}(:,1)= j + (dmN*((intLnegDIndxAdj{j}(:,2))-1)); %scan numb
|
||||
|
||||
end %j=1:dmN
|
||||
%****************************************************************************************
|
||||
|
||||
|
||||
%get interaction values for each DM drugmedia agar type
|
||||
IntersValsPos= intLcmp(InterslstPos{1},DMsel);
|
||||
IntersValsNeg= intLcmp(InterslstNeg{1},DMsel);
|
||||
IntersValsPosAdj= intLadjcmp(InterslstPosAdj{1},DMsel);
|
||||
IntersValsNegAdj= intLadjcmp(InterslstNegAdj{1},DMsel);
|
||||
%*********************************************************
|
||||
|
||||
%Build 'genelist' data sheet for interactors
|
||||
selIntPx{1}(:,6)=InterslstPos{1};
|
||||
selIntPx{1}(:,2)=ceil((InterslstPos{1})/384); %mp plate numb column
|
||||
selIntPx{1}(:,3)=(rem(InterslstPos{1},384));
|
||||
nn=(selIntPx{1}(:,3)==0);
|
||||
selIntPx{1}(nn,3)= 384;
|
||||
selIntPx{1}(:,4)= ceil(selIntPx{1}(:,3)/24); %row numb
|
||||
selIntPx{1}(:,5)= rem(selIntPx{1}(:,3),24);
|
||||
mm=(selIntPx{1}(:,5)==0);
|
||||
selIntPx{1}(mm,5)= 24;
|
||||
selIntPx{1}(:,1)= j + (dmN*((selIntPx{1}(:,2))-1)); %scan numb column %intLposDIndx(:,2)* intLposDIndx(:,3);
|
||||
selIntP= cell2mat(selIntPx);
|
||||
|
||||
selIntNx{1}(:,6)=InterslstNeg{1};
|
||||
selIntNx{1}(:,2)=ceil((InterslstNeg{1})/384); %mp plate numb column
|
||||
selIntNx{1}(:,3)=(rem(InterslstNeg{1},384));
|
||||
nn=(selIntNx{1}(:,3)==0);
|
||||
selIntNx{1}(nn,3)= 384;
|
||||
selIntNx{1}(:,4)= ceil(selIntNx{1}(:,3)/24); %row numb
|
||||
selIntNx{1}(:,5)= rem(selIntNx{1}(:,3),24);
|
||||
mm=(selIntNx{1}(:,5)==0);
|
||||
selIntNx{1}(mm,5)= 24;
|
||||
|
||||
selIntNx{1}(:,1)= j + (dmN*((selIntNx{1}(:,2))-1)); %scan numb
|
||||
selIntN= cell2mat(selIntNx);
|
||||
|
||||
for i=1:size(selIntP,1)
|
||||
IPgene(i)=Exp(expN).MP(selIntP(i,2)).genename{1}(selIntP(i,3));
|
||||
IPorf(i)= Exp(expN).MP(selIntP(i,2)).orf{1}(selIntP(i,3));
|
||||
IPstrain(i)= Exp(expN).MP(selIntP(i,2)).strain{1}(selIntP(i,3));
|
||||
IPspecifics(i)=Exp(expN).MP(selIntP(i,2)).specifics{1}(selIntP(i,3));
|
||||
IPorfRep(i)=Exp(expN).MP(selIntP(i,2)).orfRep{1}(selIntP(i,3));
|
||||
|
||||
%Bad this is the L data for only the last selected DM perturbation
|
||||
%Would need to calculate each scan# for each DMsel value
|
||||
ipL(i)= Exp(expN).scan(selIntP(i,1)).plate(1).CFout(selIntP(i,3),5);
|
||||
ipLlower(i)= Exp(expN).scan(selIntP(i,1)).plate(1).CFout(selIntP(i,3),11);
|
||||
ipLupper(i)= Exp(expN).scan(selIntP(i,1)).plate(1).CFout(selIntP(i,3),12);
|
||||
%*************************************************************************
|
||||
end
|
||||
|
||||
for i=1:size(selIntN,1)
|
||||
INgene(i)=Exp(expN).MP(selIntN(i,2)).genename{1}(selIntN(i,3));
|
||||
INorf(i)= Exp(expN).MP(selIntN(i,2)).orf{1}(selIntN(i,3));
|
||||
INstrain(i)= Exp(expN).MP(selIntN(i,2)).strain{1}(selIntN(i,3));
|
||||
INspecifics(i)=Exp(expN).MP(selIntN(i,2)).specifics{1}(selIntN(i,3));
|
||||
INorfRep(i)=Exp(expN).MP(selIntN(i,2)).orfRep{1}(selIntN(i,3));
|
||||
|
||||
%Bad this is the L data for only the last selected DM perturbation
|
||||
%Would need to calculate each scan# for each DMsel value
|
||||
inL(i)= Exp(expN).scan(selIntN(i,1)).plate(1).CFout(selIntN(i,3),5);
|
||||
inLlower(i)= Exp(expN).scan(selIntN(i,1)).plate(1).CFout(selIntN(i,3),11);
|
||||
inLupper(i)= Exp(expN).scan(selIntN(i,1)).plate(1).CFout(selIntN(i,3),12);
|
||||
%*************************************************************************
|
||||
end
|
||||
|
||||
%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
%**************************************************************************************
|
||||
%ADJUSTED with STD and curve fit boundaries to produce more conservative interaction values
|
||||
|
||||
%Build 'genelist' data sheet for interactors
|
||||
selIntPxAdj{1}(:,2)=ceil((InterslstPosAdj{1})/384); %mp plate numb column
|
||||
selIntPxAdj{1}(:,3)=(rem(InterslstPosAdj{1},384));
|
||||
nn=(selIntPxAdj{1}(:,3)==0);
|
||||
selIntPxAdj{1}(nn,3)= 384;
|
||||
selIntPxAdj{1}(:,4)= ceil(selIntPxAdj{1}(:,3)/24); %row numb
|
||||
selIntPxAdj{1}(:,5)= rem(selIntPxAdj{1}(:,3),24);
|
||||
mm=(selIntPxAdj{1}(:,5)==0);
|
||||
selIntPxAdj{1}(mm,5)= 24;
|
||||
|
||||
|
||||
selIntPxAdj{1}(:,1)= j + (dmN*((selIntPxAdj{1}(:,2))-1)); %scan numb column %intLposDIndx(:,2)* intLposDIndx(:,3);
|
||||
selIntPAdj= cell2mat(selIntPxAdj);
|
||||
|
||||
selIntNxAdj{1}(:,2)=ceil((InterslstNegAdj{1})/384); %mp plate numb column
|
||||
selIntNxAdj{1}(:,3)=(rem(InterslstNegAdj{1},384));
|
||||
nn=(selIntNxAdj{1}(:,3)==0);
|
||||
selIntNxAdj{1}(nn,3)= 384;
|
||||
selIntNxAdj{1}(:,4)= ceil(selIntNxAdj{1}(:,3)/24); %row numb
|
||||
selIntNxAdj{1}(:,5)= rem(selIntNxAdj{1}(:,3),24);
|
||||
mm=(selIntNxAdj{1}(:,5)==0);
|
||||
selIntNxAdj{1}(mm,5)= 24;
|
||||
|
||||
|
||||
selIntNxAdj{1}(:,1)= j + (dmN*((selIntNxAdj{1}(:,2))-1)); %scan numb
|
||||
selIntNAdj= cell2mat(selIntNxAdj);
|
||||
|
||||
for i=1:size(selIntPAdj,1)
|
||||
IPgeneAdj(i)=Exp(expN).MP(selIntPAdj(i,2)).genename{1}(selIntPAdj(i,3));
|
||||
IPorfAdj(i)= Exp(expN).MP(selIntPAdj(i,2)).orf{1}(selIntPAdj(i,3));
|
||||
IPstrainAdj(i)= Exp(expN).MP(selIntPAdj(i,2)).strain{1}(selIntPAdj(i,3));
|
||||
IPspecificsAdj(i)=Exp(expN).MP(selIntPAdj(i,2)).specifics{1}(selIntPAdj(i,3));
|
||||
IPorfRepAdj(i)=Exp(expN).MP(selIntPAdj(i,2)).orfRep{1}(selIntPAdj(i,3));
|
||||
|
||||
%Bad this is the L data for only the last selected DM perturbation
|
||||
%Would need to calculate each scan# for each DMsel value
|
||||
ipLAdj(i)= Exp(expN).scan(selIntPAdj(i,1)).plate(1).CFout(selIntPAdj(i,3),5);
|
||||
ipLlowerAdj(i)= Exp(expN).scan(selIntPAdj(i,1)).plate(1).CFout(selIntPAdj(i,3),11);
|
||||
ipLupperAdj(i)= Exp(expN).scan(selIntPAdj(i,1)).plate(1).CFout(selIntPAdj(i,3),12);
|
||||
%************************************************************************************
|
||||
end
|
||||
|
||||
for i=1:size(selIntNAdj,1)
|
||||
INgeneAdj(i)=Exp(expN).MP(selIntNAdj(i,2)).genename{1}(selIntNAdj(i,3));
|
||||
INorfAdj(i)= Exp(expN).MP(selIntNAdj(i,2)).orf{1}(selIntNAdj(i,3));
|
||||
INstrainAdj(i)= Exp(expN).MP(selIntNAdj(i,2)).strain{1}(selIntNAdj(i,3));
|
||||
INspecificsAdj(i)=Exp(expN).MP(selIntNAdj(i,2)).specifics{1}(selIntNAdj(i,3));
|
||||
INorfRepAdj(i)=Exp(expN).MP(selIntNAdj(i,2)).orfRep{1}(selIntNAdj(i,3));
|
||||
|
||||
%Bad this is the L data for only the last selected DM perturbation
|
||||
%Would need to calculate each scan# for each DMsel value
|
||||
inLAdj(i)= Exp(expN).scan(selIntNAdj(i,1)).plate(1).CFout(selIntNAdj(i,3),5);
|
||||
inLlowerAdj(i)= Exp(expN).scan(selIntNAdj(i,1)).plate(1).CFout(selIntNAdj(i,3),11);
|
||||
inLupperAdj(i)= Exp(expN).scan(selIntNAdj(i,1)).plate(1).CFout(selIntNAdj(i,3),12);
|
||||
%*************************************************************************************
|
||||
end
|
||||
%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
%Plot Histogram******************************************************
|
||||
|
||||
%subplotX=1;
|
||||
figure
|
||||
if strcmpi(subplotX,'Y')
|
||||
for j=1:dmN
|
||||
histLdata= intLwoRFsorted{j}(:,1); %intLcmp(385:(mpN-1)*384,j);
|
||||
%histLadjData= intLadjcmp(385:(mpN-1)*384,j);
|
||||
hgLdat{j}=histfitJR(histLdata,numBins,'kernel');
|
||||
|
||||
x{j}= get(hgLdat{j}(2),'xdata');
|
||||
y{j}= get(hgLdat{j}(2),'ydata');
|
||||
xb{j}=get(hgLdat{j}(1),'xdata');
|
||||
yb{j}=get(hgLdat{j}(1),'ydata');
|
||||
ybpostot{j}=sum(yb{j}(2,(xb{j}(1,:)>=0)));
|
||||
ybnegtot{j}=sum(yb{j}(2,(xb{j}(1,:) <0)));
|
||||
xbb(j,:)=xb{j}(2,:);
|
||||
ybb(j,:)=yb{j}(2,:);
|
||||
clf
|
||||
end
|
||||
|
||||
% figure
|
||||
for j=1:dmN
|
||||
histLdata= intLwoRFsorted{j}(:,1); %intLcmp(385:(mpN-1)*384,j);
|
||||
hgL{j}=subplot(2, 4, j), histfitJR(histLdata,numBins,'kernel') ; hold %hgL{j}=histfit(intLcmp(:,j),31,'kernel')
|
||||
subplot(2, 4, j),plot(posIntboundryCentralVal(j), 1:3000,'--r')
|
||||
subplot(2, 4, j),plot(negIntboundryCentralVal(j), 1:3000,'--g')
|
||||
hold off
|
||||
end
|
||||
scnsize=get(0,'screensize')
|
||||
pos1= [round(scnsize(3)/40), round(scnsize(4)/2 +(scnsize(3)/80)),...
|
||||
round(scnsize(3) -round(scnsize(3)/80)),round(scnsize(4)/2 -round(scnsize(4)/80))]
|
||||
set(gcf,'outerposition',pos1)
|
||||
set(gcf,'Name', 'Interaction Values ');
|
||||
|
||||
figure
|
||||
for j=1:dmN
|
||||
histLadjData= intLwoRFsortedAdj{j}(:,1); %intLadjcmp(385:(mpN-1)*384,j);
|
||||
hgLadj{j}=subplot(2, 4, j),histfitJR(histLadjData,numBins,'kernel') ; hold %hgLadj{j}=histfit(intLadjcmp(:,j),31,'kernel')
|
||||
subplot(2, 4, j),plot(posIntboundryCentralValAdj(j), 1:3000,'--r')
|
||||
subplot(2, 4, j),plot(negIntboundryCentralValAdj(j), 1:3000,'--g')
|
||||
hold off
|
||||
end
|
||||
pos2= [round(scnsize(3)/40), round(scnsize(4)/30),...
|
||||
round(scnsize(3) -scnsize(3)/80),round(scnsize(4)/2 -scnsize(4)/80)]
|
||||
set(gcf,'outerposition',pos2)
|
||||
set(gcf,'Name', 'Interaction Compensated by Standard Deviation and Upper/Lower Curvefit boundaries')
|
||||
|
||||
elseif strcmpi(subplotX,'N')
|
||||
for j=1:dmN
|
||||
|
||||
histLdata= intLwoRFsorted{j}(:,1); %intLcmp(385:(mpN-1)*384,j);
|
||||
histLadjData= intLwoRFsortedAdj{j}(:,1); %intLadjcmp(385:(mpN-1)*384,j);%intLadjcmp(385:(mpN-1)*384,j); %intLcmp(:,j); %intLadjcmp(:,j);
|
||||
|
||||
figure
|
||||
hgL{j}=histfitJR(histLdata,numBins,'kernel') ; hold %hgL{j}=histfit(intLcmp(:,j),31,'kernel')
|
||||
plot(posIntboundryCentralVal(j), 1:3000,'--r')
|
||||
plot(negIntboundryCentralVal(j), 1:3000,'--g')
|
||||
hold off
|
||||
figure
|
||||
hgLadj{j}=histfitJR(histLadjData,numBins,'kernel') ; hold %hgLadj{j}=histfit(intLadjcmp(:,j),31,'kernel')
|
||||
plot(posIntboundryCentralValAdj(j), 1:3000,'--r')
|
||||
plot(negIntboundryCentralValAdj(j), 1:3000,'--g')
|
||||
hold off
|
||||
|
||||
x{j}= get(hgL{j}(2),'xdata')
|
||||
y{j}= get(hgL{j}(2),'ydata');
|
||||
xb{j}=get(hgL{j}(1),'xdata')
|
||||
yb{j}=get(hgL{j}(1),'ydata')
|
||||
ybpostot{j}=sum(yb{j}(2,(xb{j}(1,:)>=0)))
|
||||
ybnegtot{j}=sum(yb{j}(2,(xb{j}(1,:) <0)))
|
||||
|
||||
xbb(j,:)=xb{j}(2,:);
|
||||
ybb(j,:)=yb{j}(2,:);
|
||||
end % for j= when subplotX~=1 standard one plot per figure
|
||||
|
||||
if strcmpi(subplotX,'N')
|
||||
figure
|
||||
bar3(ybb);
|
||||
%xxbb=yb{1}(2,:);
|
||||
%figure
|
||||
end
|
||||
else
|
||||
end %if subplotX==1 histograms placed in subplot figure else multiple histogram plots
|
||||
|
||||
|
||||
|
||||
if strcmpi(subplotX,'Y')
|
||||
figure
|
||||
bar3(ybb);
|
||||
set(gcf,'Name', 'Unfiltered Interaction Histogram for all DrugMedias; NoGrowth Interactors set to 100hr (highest bin)')
|
||||
|
||||
%xxbb=yb{1}(2,:);
|
||||
%figure
|
||||
end
|
||||
|
||||
EZintPrint
|
||||
a=1
|
||||
|
||||
|
||||
|
||||
|
||||
238
workflow/apps/matlab/ezview/EZlstBoxCmpExt.asv
Executable file
238
workflow/apps/matlab/ezview/EZlstBoxCmpExt.asv
Executable file
@@ -0,0 +1,238 @@
|
||||
%EZlstBoxExtCmp.m
|
||||
%Called by EZviewGui.m (NOT by EZvDatatip.m and EZlstBoxExt.m
|
||||
%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
|
||||
end
|
||||
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
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
%***********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;
|
||||
|
||||
%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));
|
||||
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 %if sgdInfoOnly==1
|
||||
|
||||
|
||||
|
||||
%***********************GraphicDestinationPerturbationComparison**15_0821************************************************
|
||||
lstBoxCmpFlg=1;
|
||||
EZdatatip=0; %**
|
||||
if strcmp((Exp(expN).DexpType),'single')||...
|
||||
strcmp((Exp(expN).DexpType),'multi')
|
||||
%****************
|
||||
EZdestComp %**
|
||||
%****************
|
||||
elseif strcmp((Exp(expN).DexpType),'chrono')
|
||||
%EZdatatip=2; %**
|
||||
%************
|
||||
EZmDayTrend %**
|
||||
%************
|
||||
end
|
||||
%***********************************************************************************************************************
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
238
workflow/apps/matlab/ezview/EZlstBoxCmpExt.m
Executable file
238
workflow/apps/matlab/ezview/EZlstBoxCmpExt.m
Executable file
@@ -0,0 +1,238 @@
|
||||
%EZlstBoxExtCmp.m
|
||||
%Called by EZviewGui.m NOT by EZvDatatip.m and EZlstBoxExt.m
|
||||
%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
|
||||
end
|
||||
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
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
%***********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;
|
||||
|
||||
%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));
|
||||
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 %if sgdInfoOnly==1
|
||||
|
||||
|
||||
|
||||
%***********************GraphicDestinationPerturbationComparison**15_0821************************************************
|
||||
lstBoxCmpFlg=1;
|
||||
EZdatatip=0; %**
|
||||
if strcmp((Exp(expN).DexpType),'single')||...
|
||||
strcmp((Exp(expN).DexpType),'multi')
|
||||
%****************
|
||||
EZdestComp %**
|
||||
%****************
|
||||
elseif strcmp((Exp(expN).DexpType),'chrono')
|
||||
%EZdatatip=2; %**
|
||||
%************
|
||||
EZmDayTrend %**
|
||||
%************
|
||||
end
|
||||
%***********************************************************************************************************************
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
307
workflow/apps/matlab/ezview/EZlstBoxExt.asv
Executable file
307
workflow/apps/matlab/ezview/EZlstBoxExt.asv
Executable file
@@ -0,0 +1,307 @@
|
||||
%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)
|
||||
|
||||
%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
|
||||
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
|
||||
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
|
||||
catch
|
||||
end
|
||||
if RFDMflg, Exp(zoneSel).Dexp(DexpN).pertSel=dmNum; end %pertSel=pert;
|
||||
|
||||
inMP=selGnOrf{1}((LBdlims{:,:}(1))+1:(LBdlims{:,:}(2))-1)
|
||||
%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
|
||||
|
||||
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
|
||||
|
||||
%*******************************************************************
|
||||
%***********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');
|
||||
%************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
|
||||
|
||||
startPos=slashPos(length(slashPos)-1) +1;
|
||||
endPos=slashPos(length(slashPos)) -1
|
||||
expStr= {xp(startPos:endPos)}
|
||||
|
||||
Exp(zoneSel).hOLname(traceN)= spotDescrip; %graphStr; %ghandles.Exp(zoneSel).hOLname(traceN)= graphStr;
|
||||
Exp(zoneSel).hOLexpNm(traceN)= expStr; %ghandles.Exp(expN).hOLexpNm(traceN)= expStr;
|
||||
Exp(zoneSel).hOLresDir(traceN)= {Exp(zoneSel).Dexp(DexpN).resDir};
|
||||
Exp(zoneSel).hOLplateNum(traceN)= plateNum;
|
||||
|
||||
%traceData= vertcat(get(Exp(OLay).hOL(traceN),'XData'),get(ghandles.Exp(OLay).hOL(traceN),'YData'));
|
||||
|
||||
if zoneSel==1,set(ghandles.GeneOrfLoc1,'string',geneOrfstr);end % Displays the value.
|
||||
if zoneSel==2,set(ghandles.GeneOrfLoc2,'string',geneOrfstr);end
|
||||
if zoneSel==3,set(ghandles.GeneOrfLoc3,'string',geneOrfstr);end
|
||||
if zoneSel==1,set(ghandles.graphStrLoc1,'string',spotDescrip);end %graphStr);end % Displays the value.
|
||||
if zoneSel==2,set(ghandles.graphStrLoc2,'string',spotDescrip);end %graphStr);end
|
||||
if zoneSel==3,set(ghandles.graphStrLoc3,'string',spotDescrip);end %graphStr);end
|
||||
catch
|
||||
catchissue='Ln141 EZlstBoxExt'
|
||||
msg='Error'
|
||||
end % trycatch zoneSel<4 datatip selection from Image (not from an OverLay Plot)
|
||||
|
||||
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));
|
||||
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
|
||||
htN1=strcat('_N1=',N1);
|
||||
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
|
||||
307
workflow/apps/matlab/ezview/EZlstBoxExt.m
Executable file
307
workflow/apps/matlab/ezview/EZlstBoxExt.m
Executable file
@@ -0,0 +1,307 @@
|
||||
%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)
|
||||
|
||||
%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
|
||||
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
|
||||
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
|
||||
catch
|
||||
end
|
||||
if RFDMflg, Exp(zoneSel).Dexp(DexpN).pertSel=dmNum; end %pertSel=pert;
|
||||
|
||||
inMP=selGnOrf{1}((LBdlims{:,:}(1))+1:(LBdlims{:,:}(2))-1)
|
||||
%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
|
||||
|
||||
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
|
||||
|
||||
%*******************************************************************
|
||||
%***********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');
|
||||
%************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
|
||||
|
||||
startPos=slashPos(length(slashPos)-1) +1;
|
||||
endPos=slashPos(length(slashPos)) -1
|
||||
expStr= {xp(startPos:endPos)}
|
||||
|
||||
Exp(zoneSel).hOLname(traceN)= spotDescrip; %graphStr; %ghandles.Exp(zoneSel).hOLname(traceN)= graphStr;
|
||||
Exp(zoneSel).hOLexpNm(traceN)= expStr; %ghandles.Exp(expN).hOLexpNm(traceN)= expStr;
|
||||
Exp(zoneSel).hOLresDir(traceN)= {Exp(zoneSel).Dexp(DexpN).resDir};
|
||||
Exp(zoneSel).hOLplateNum(traceN)= plateNum;
|
||||
|
||||
%traceData= vertcat(get(Exp(OLay).hOL(traceN),'XData'),get(ghandles.Exp(OLay).hOL(traceN),'YData'));
|
||||
|
||||
if zoneSel==1,set(ghandles.GeneOrfLoc1,'string',geneOrfstr);end % Displays the value.
|
||||
if zoneSel==2,set(ghandles.GeneOrfLoc2,'string',geneOrfstr);end
|
||||
if zoneSel==3,set(ghandles.GeneOrfLoc3,'string',geneOrfstr);end
|
||||
if zoneSel==1,set(ghandles.graphStrLoc1,'string',spotDescrip);end %graphStr);end % Displays the value.
|
||||
if zoneSel==2,set(ghandles.graphStrLoc2,'string',spotDescrip);end %graphStr);end
|
||||
if zoneSel==3,set(ghandles.graphStrLoc3,'string',spotDescrip);end %graphStr);end
|
||||
catch
|
||||
catchissue='Ln141 EZlstBoxExt'
|
||||
msg='Error'
|
||||
end % trycatch zoneSel<4 datatip selection from Image (not from an OverLay Plot)
|
||||
|
||||
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));
|
||||
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
|
||||
htN1=strcat('_N1=',N1);
|
||||
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
|
||||
257
workflow/apps/matlab/ezview/EZlstBoxExt.m~
Executable file
257
workflow/apps/matlab/ezview/EZlstBoxExt.m~
Executable file
@@ -0,0 +1,257 @@
|
||||
|
||||
%EZlstBoxExt
|
||||
%global Exp
|
||||
%expN=1;
|
||||
RFDMflg=0;
|
||||
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
|
||||
catch
|
||||
end
|
||||
if RFDMflg, Exp(zoneSel).Dexp(DexpN).pertSel=dmNum; end %pertSel=pert;
|
||||
|
||||
inMP=selGnOrf{1}((LBdlims{:,:}(1))+1:(LBdlims{:,:}(2))-1)
|
||||
%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
|
||||
|
||||
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
|
||||
%***********PLOT Selected Gene/Orf Spot ******************************************
|
||||
try
|
||||
destPerMP= Exp(zoneSel).Dexp(DexpN).destPerMP; %length(gS.DM1.drug);
|
||||
%MPsel=LBmb; %floor(get(handles.MPsldr1,'value'));
|
||||
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;
|
||||
|
||||
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');
|
||||
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
|
||||
|
||||
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).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)
|
||||
%**************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')
|
||||
|
||||
|
||||
%***********************GraphicDestinationPertibationComparison**15_0821************************************************
|
||||
EZdatatip=0;
|
||||
EZdestComp
|
||||
%***********************************************************************************************************************
|
||||
%*********************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
|
||||
htN1=strcat('_N1=',N1);
|
||||
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
|
||||
292
workflow/apps/matlab/ezview/EZmDayPlotUcmp.m
Executable file
292
workflow/apps/matlab/ezview/EZmDayPlotUcmp.m
Executable file
@@ -0,0 +1,292 @@
|
||||
%***********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
|
||||
|
||||
patrnN=strfind(selGnOrf{1},':'); %Extract Gene-Orf Name
|
||||
patrndash= strfind(selGnOrf{1},'-');
|
||||
selStrNm= char(selGnOrf)
|
||||
if strcmpi(selStrNm(1:3),'RF-')
|
||||
usrGene= selStrNm(4:(patrndash(2)-1));
|
||||
else
|
||||
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
|
||||
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)
|
||||
|
||||
%****************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 % if exist('drf','var')
|
||||
|
||||
%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;
|
||||
end
|
||||
|
||||
NoGrowthflg=0;
|
||||
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
|
||||
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;
|
||||
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;
|
||||
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;
|
||||
|
||||
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
|
||||
%************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
|
||||
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,'_');
|
||||
|
||||
graphStr= strcat(usrGnSp,'_','L=',Lstr,'_','Ls=',LstdStr,'_','r=',rstr,'_','rs=',rstdStr,'_','K=',Kstr,'Ks=',KstdStr);
|
||||
spotDescrip=strcat(graphStr,'->',DMstr);
|
||||
|
||||
xp=char(Exp(zoneSel).Dexp(DexpN).resDir);
|
||||
if ispc,
|
||||
slashPos=strfind(char(Exp(zoneSel).Dexp(DexpN).resDir),'\');
|
||||
else
|
||||
slashPos=strfind(char(Exp(zoneSel).Dexp(DexpN).resDir),'/');
|
||||
end
|
||||
|
||||
startPos=slashPos(length(slashPos)-1) +1;
|
||||
endPos=slashPos(length(slashPos)) -1;
|
||||
expStr= {xp(startPos:endPos)};
|
||||
|
||||
Exp(zoneSel).hOLname(traceN)= spotDescrip;
|
||||
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
|
||||
catch
|
||||
catchissue='Ln141 EZlstBoxExt'
|
||||
msg='Error'
|
||||
end % trycatch zoneSel<4 datatip selection from Image (not from an OverLay Plot)
|
||||
677
workflow/apps/matlab/ezview/EZmDayPlotUcomposite.m
Executable file
677
workflow/apps/matlab/ezview/EZmDayPlotUcomposite.m
Executable file
@@ -0,0 +1,677 @@
|
||||
%***********User find and build composite of Selected Gene Composite and
|
||||
%*************Plot it on OLay Plot and Trend plot DNLaxles
|
||||
%***************For Chonological Studies (multi Day Studies)
|
||||
%Called when Composite_ toggle button is clicked.
|
||||
%Data stored for printable Trend Plot production (click [L] in DNLaxes )
|
||||
%*********************
|
||||
global ghandles
|
||||
global Exp
|
||||
global exDlst
|
||||
global exFolder
|
||||
|
||||
|
||||
tracN=Exp(expN).traceN;
|
||||
n= Exp(expN).DexpN; %Temp input for development
|
||||
%UmDayaa= cell(3,n); UmDaybb= cell(3,n);
|
||||
patrnN=strfind(selGnOrf{1},':'); %Extract Gene-Orf Name
|
||||
selStrNm= char(selGnOrf)
|
||||
usrGene= selStrNm(1:(patrnN(1)-1))
|
||||
|
||||
|
||||
prompt = {'Enter Specifics Term if used to futher specify selection '}
|
||||
dlg_title = 'User Specifics Term for Refinement Composite';
|
||||
num_lines = 1;
|
||||
def = {'None'};
|
||||
answer = inputdlg(prompt,dlg_title,num_lines,def);
|
||||
%usrGene= cell2mat(answer(1));
|
||||
usrSpec= answer(1);
|
||||
usrGnSp= strcat(usrGene,usrSpec);
|
||||
if strcmpi(usrSpec,'None'), usrGnSp= {strcat(usrGene,'-')}; end
|
||||
|
||||
%if strfind(Exp(expN).UgeneSpLst,usrGnSp), break; end
|
||||
|
||||
Exp(expN).Dexp(n).UsrmdPLB= {[]};
|
||||
|
||||
Exp(expN).Dexp(n).UsrMedianG= [];
|
||||
Exp(expN).Dexp(n).UsrminG= [];
|
||||
Exp(expN).Dexp(n).UsrmaxG= [];
|
||||
Exp(expN).Dexp(n).UsrstdG= [];
|
||||
Exp(expN).Dexp(n).UsrmeanG= [];
|
||||
Exp(expN).Dexp(n).UsrCmpGL= []; %For Ref Composite 17_1026
|
||||
Exp(expN).Dexp(n).UsrCmpGK= []; %For Ref Composite 17_1026
|
||||
Exp(expN).Dexp(n).UsrCmpGr= []; %For Ref Composite 17_1026
|
||||
|
||||
|
||||
Exp(expN).Dexp(n).UsrGLB= {};
|
||||
|
||||
for n=1:Exp(expN).DexpLength %LOOP Thru DayExps
|
||||
|
||||
MPnum=length(Exp(expN).Dexp(n).MP);
|
||||
DMnum= length(Exp(expN).Dexp(n).DM.drug);
|
||||
tPtsSize= size(Exp(expN).Dexp(n).FexpScanBMtp{1,1},(3));
|
||||
%*********************************
|
||||
|
||||
%lstindx= size(aa,1);
|
||||
%lstindxOrf= size(bb,1);
|
||||
spN=0;
|
||||
rfcnt=0;
|
||||
dRF1indx=0;
|
||||
|
||||
%usrGene= cell2mat(usrGene); %user entry of Specifics for Ref selection
|
||||
usrSp= cell2mat(usrSpec); %user entry of Specifics for Ref selection
|
||||
|
||||
%*******************************************************
|
||||
for mp=1:length(Exp(expN).Dexp(n).MP)
|
||||
%RF1fullPlate=0;
|
||||
for ind384=1:384
|
||||
spN=spN+1;
|
||||
|
||||
try %
|
||||
r= ceil(ind384/24);
|
||||
if rem(ind384,24)==0, c=24; else c=rem(ind384,24); end
|
||||
|
||||
%Insert test for numeric in genename and orf if isnumeric
|
||||
%Correct common EXCEL problem of converting OCT1 into a date numeric
|
||||
if cell2mat(Exp(expN).Dexp(n).MP(mp).genename{1}(ind384))==38991,
|
||||
Exp(expN).Dexp(n).MP(mp).genename{1}(ind384)={'OCT1_'};
|
||||
elseif isnumeric(cell2mat(Exp(expN).Dexp(n).MP(mp).genename{1}(ind384)))
|
||||
Exp(expN).Dexp(n).MP(mp).genename{1}(ind384)={' '};
|
||||
end
|
||||
%*****************************************************************
|
||||
|
||||
%DISPersed REFerence capture and find Medians
|
||||
if ( ((strcmpi((Exp(expN).Dexp(n).MP(mp).genename{1}(ind384)),usrGene) && ...
|
||||
strcmpi((Exp(expN).Dexp(n).MP(mp).specifics{1}(ind384)),usrSp)))...
|
||||
|| ((strcmpi((Exp(expN).Dexp(n).MP(mp).genename{1}(ind384)),usrGene) && ...
|
||||
strcmpi(usrSp,'None'))) ),
|
||||
|
||||
dRF1indx=dRF1indx+1;
|
||||
Exp(expN).Dexp(n).MP(mp).genename{1}(ind384) =strrep((Exp(expN).Dexp(n).MP(mp).genename{1}(ind384)),':',' ');
|
||||
drf(dRF1indx,1)= (Exp(expN).Dexp(n).MP(mp).genename{1}(ind384));
|
||||
drf(dRF1indx,2)= {strcat(':',num2str(mp),':',num2str(r),':',num2str(c))};
|
||||
drf(dRF1indx,3)={mp}; drfMP(dRF1indx,mp)= mp;
|
||||
drf(dRF1indx,4)={r}; drfr(dRF1indx,mp)= r;
|
||||
drf(dRF1indx,5)={c}; drfc(dRF1indx,mp)= c;
|
||||
drf(dRF1indx,6)={ind384}; drfPindx(dRF1indx,mp)= ind384;
|
||||
%drf(dRF1indx,7)= (Exp(expN).Dexp(n).MP(mp).specifics{1}(ind384));
|
||||
|
||||
end %if isempty(regexpi(char((Exp(expN).Dexp(n).MP(mp).genename{1}(ind384))),'blank'))...
|
||||
%*******************************************************************************
|
||||
catch
|
||||
error='EZexpSel lineAfter 24 EZmultiGeneLst.m'
|
||||
mp %Disable in future to prevent a bomb out OR put into a nested TryCatch
|
||||
ind384 %Disable in future to prevent a bomb out OR put into a nested TryCatch
|
||||
msgBadGeneName= strcat('check genename at mp=',num2str(mp),' indx=',num2str(ind384))
|
||||
end
|
||||
|
||||
end %end associated with for ind384=1:384
|
||||
mp
|
||||
end %end associated with for mp=1:length(Exp(expN).Dexp(n).MP)
|
||||
%*****************************************************
|
||||
%************************************************************************************************
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
%Exp(expN).Dexp(n).UsrmdPindx=[];
|
||||
%Exp(expN).Dexp(n).UsrmdPpltN=[];
|
||||
if exist('drf','var')
|
||||
%Det. index of change from one MP to the next
|
||||
|
||||
i=2;
|
||||
clear chgIndx
|
||||
chgIndx(1)=1;
|
||||
for j=1:length(drf(:,3))
|
||||
|
||||
if j>1
|
||||
if cell2mat(drf(j,3))~= cell2mat(drf((j-1),3)), chgIndx(i)=j; i=i+1; end
|
||||
end
|
||||
end
|
||||
chgIndx(length(chgIndx)+1)= length(drf)+1;
|
||||
uu=zeros(size(drf,1),4);
|
||||
uu(:,1:4)= cell2mat(drf(:,3:6));
|
||||
vv= zeros(length(drf),1 ); %DMnum);
|
||||
%************************************
|
||||
dMPs= unique(cell2mat(drf(:,3)));
|
||||
%*****************************************
|
||||
|
||||
for mm=1:length(dMPs) % length(chgIndx)
|
||||
usrScNdisp=((dMPs(mm)-1)*DMnum)+(dmSel);
|
||||
NZrefIndxP= drfPindx((find(drfPindx(:,dMPs(mm)))),dMPs(mm)); medianIndxDisp= NZrefIndxP;
|
||||
vv(chgIndx(mm):(chgIndx(mm+1)-1),dmSel)=Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZrefIndxP,5);
|
||||
%For Global Ref Composite 17_1009 %**************************************************************************
|
||||
vvK(chgIndx(mm):(chgIndx(mm+1)-1),dmSel)=Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZrefIndxP,3);
|
||||
vvr(chgIndx(mm):(chgIndx(mm+1)-1),dmSel)=Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZrefIndxP,4);
|
||||
%*****************************************************************************************************
|
||||
end %for mm=1:length(dMPs)
|
||||
%****************CALC. GLOBAL MEAN, STD, AND MEDIAN FOR DISTRIBUTED REFERENCES******************************************************************
|
||||
uu= horzcat(uu,vv);
|
||||
for d=dmSel:dmSel
|
||||
medianIndxG=[];
|
||||
NZusrIndxG=[];
|
||||
minG = min(nonzeros(vv(:,d)));
|
||||
maxG = max(nonzeros(vv(:,d)));
|
||||
usrmeanG= mean(nonzeros(vv(:,d)));
|
||||
usrStdG= std(nonzeros(vv(:,d)));
|
||||
NZusrIndxG= find(vv(:,d));
|
||||
|
||||
if isempty(usrmeanG), nonZeroCntD=0, %medianIndxDisp= RFmeanG(d);
|
||||
else nonZeroCntD= length(nonzeros(vv(:,d)));
|
||||
end
|
||||
%Calc. of median value for composite doesn't require and odd number of Indx items
|
||||
medianIndxG= NZusrIndxG(:);
|
||||
if ~isempty(NZusrIndxG) && length(medianIndxG) > 0 %(.15*size(drf,1)) %To calc. a median, more than 15% of spots must be nonZero
|
||||
|
||||
Exp(expN).Dexp(n).UsrGLB(d)= usrGnSp; %strcat(aa(lstindx,1),aa(lstindx,2));
|
||||
Exp(expN).Dexp(n).UsrLvals= vv(medianIndxG);
|
||||
Exp(expN).Dexp(n).UsrKvals= vvK(medianIndxG);
|
||||
Exp(expN).Dexp(n).Usrrvals= vvr(medianIndxG);
|
||||
end
|
||||
end
|
||||
|
||||
end % if exist('drf','var')
|
||||
%END OF DISPERSE REFERENCE PLATAES CALCULATIONS AND LIST ADDITIONS
|
||||
%*********************************************************************
|
||||
%####################################################################
|
||||
end %for n=1:Exp(expN).DexpLength %Loop thru Dayexps
|
||||
Exp(expN).UgeneCnt= Exp(expN).UgeneCnt +1;
|
||||
Exp(expN).UgeneSpLst(Exp(expN).UgeneCnt)= usrGnSp;
|
||||
%#######################################################################
|
||||
|
||||
|
||||
%***********PLOT Values Selected Gene-Specifics Composite ******************************************try
|
||||
smpSz= size(medianIndxG,1);
|
||||
K= median(vvK(medianIndxG,dmSel)); Ks= num2str(K); Kstd= std(vvK(medianIndxG,dmSel)); KstdStr= num2str(Kstd);
|
||||
r= median(vvr(medianIndxG,dmSel)); rs= num2str(r); rstd= std(vvr(medianIndxG,dmSel)); rstdStr= num2str(rstd);
|
||||
l= median(vv(medianIndxG,dmSel)); Ls= num2str(l); Lstd= std(vv(medianIndxG,dmSel)); LstdStr= num2str(Lstd);
|
||||
Kl= K - std(vvK(medianIndxG,dmSel)); %K - Exp(expN).Dexp(DexpN).RFcmpK(RFnum).dm(inDM).std;
|
||||
Ku= K + std(vvK(medianIndxG,dmSel)); %K + Exp(expN).Dexp(DexpN).RFcmpK(RFnum).dm(inDM).std;
|
||||
rl= r - std(vvr(medianIndxG,dmSel)); %r - Exp(expN).Dexp(DexpN).RFcmpr(RFnum).dm(inDM).std;
|
||||
ru= r + std(vvr(medianIndxG,dmSel)); %r + Exp(expN).Dexp(DexpN).RFcmpr(RFnum).dm(inDM).std;
|
||||
lfast= l - std(vv(medianIndxG,dmSel)); %l - Exp(expN).Dexp(DexpN).RFcmpL(RFnum).dm(inDM).std;
|
||||
lslow= l + std(vv(medianIndxG,dmSel)); %l + Exp(expN).Dexp(DexpN).RFcmpL(RFnum).dm(inDM).std;
|
||||
|
||||
try Kstr=Ks(1:5); catch, Kstr = Ks(1:length(Ks)); end
|
||||
try rstr=rs(1:5); catch, rstr = rs(1:length(rs)); end
|
||||
try Lstr=Ls(1:5); catch, Lstr = Ls(1:length(Ls)); end
|
||||
|
||||
|
||||
pertSel=Exp(zoneSel).Dexp(DexpN).pertSel; %floor(get(handles.DMsldr1,'value'));
|
||||
plateNum=(LBmp-1)*destPerMP + pertSel;
|
||||
indx=((LBr-1)*24) +LBc
|
||||
MP=Exp(zoneSel).Dexp(DexpN).MP;
|
||||
|
||||
try
|
||||
|
||||
t=1:200;
|
||||
clear g;
|
||||
|
||||
try
|
||||
g = K ./ (1 + exp(-r.* (t - l )));
|
||||
gSlow= Kl ./ (1 + exp(-rl.* (t - lslow )));
|
||||
gFast= Ku ./ (1 + exp(-ru.* (t - lfast )));
|
||||
if K==0||r==0||l==0, g(1:200)=1;gSlow(1:200)=1;gFast(1:200)=1;end
|
||||
|
||||
if zoneSel==1, plotAxes=ghandles.Paxes1; OLaxes=ghandles.OLaxes1;
|
||||
Dlaxes=ghandles.Dlaxes1;Dkaxes=ghandles.Dkaxes1;Draxes=ghandles.Draxes1;
|
||||
Exp(1).traceN=Exp(1).traceN+1;
|
||||
traceN=Exp(1).traceN;
|
||||
end
|
||||
if zoneSel==2, plotAxes=ghandles.Paxes2; OLaxes=ghandles.OLaxes2;Daxes=ghandles.Daxes2;
|
||||
Dlaxes=ghandles.Dlaxes2;Dkaxes=ghandles.Dkaxes2;Draxes=ghandles.Draxes2;
|
||||
Exp(2).traceN=Exp(2).traceN+1;
|
||||
traceN=Exp(2).traceN;
|
||||
end
|
||||
if zoneSel==3, plotAxes=ghandles.Paxes3; OLaxes=ghandles.OLaxes3;Daxes=ghandles.Daxes3;
|
||||
Dlaxes=ghandles.Dlaxes3;Dkaxes=ghandles.Dkaxes3;Draxes=ghandles.Draxes3;
|
||||
Exp(3).traceN=Exp(3).traceN+1;
|
||||
traceN=Exp(3).traceN;
|
||||
end
|
||||
plot(plotAxes,t,g);hold (plotAxes,'on');
|
||||
plot(plotAxes,t,gSlow,'y');plot(plotAxes,t,gFast,'r');hold (plotAxes,'off');
|
||||
%************CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC**************************************
|
||||
%Store L R and K valves for Composite [C] plots
|
||||
Exp(expN).ll(traceN)= l; Exp(expN).rr(traceN)= r; Exp(expN).kk(traceN)= K;
|
||||
Exp(expN).lslow(traceN)= lslow; Exp(expN).lfast(traceN)= lfast;
|
||||
%************************************************************************
|
||||
try for i=1:length(Exp(zoneSel).hOL(:)),set(Exp(zoneSel).hOL(i),'color',[0 0 1]); end, catch; end
|
||||
Exp(zoneSel).hOL(traceN)=plot(OLaxes,t,g);hold on;
|
||||
set(Exp(zoneSel).hOL(traceN),'color',[1 0 0])
|
||||
|
||||
catch
|
||||
catchissue='Ln100 EZlstBoxExt'
|
||||
end %trycatch
|
||||
|
||||
%Get the DM agar description
|
||||
if expN==1,DMstr=char(get(handles.DM1,'string'));end
|
||||
if expN==2,DMstr=char(get(handles.DM2,'string'));end
|
||||
if expN==3,DMstr=char(get(handles.DM3,'string'));end
|
||||
|
||||
|
||||
|
||||
gene= usrGnSp; orf= '' %MP(1,LBmp).orf{1,1}(indx);
|
||||
geneOrfstr= strcat(gene,'_',orf,'_');
|
||||
grfgenestr= strcat(gene,'_',orf,'_');
|
||||
|
||||
%spec=MP(1,LBmp).specifics{1,1}(indx); %orfrep=MP(1,plateNum).orfRep{1,1}(indx);
|
||||
%tPtStr=strcat('T=', num2str(scan(1,plateNum).plate(1).t0Series(tPtSel)));
|
||||
%graphStr=strcat(grfgenestr,'_','L=',Lstr,'_','r=',rstr,'_','K=',Kstr);
|
||||
graphStr= strcat(usrGnSp,'_','L=',Lstr,'_','Ls=',LstdStr,'_','r=',rstr,'_','rs=',rstdStr,'_','K=',Kstr,'Ks=',KstdStr);
|
||||
spotDescrip=strcat(graphStr,'->',DMstr);
|
||||
|
||||
xp=char(Exp(zoneSel).Dexp(DexpN).resDir);
|
||||
if ispc,
|
||||
slashPos=strfind(char(Exp(zoneSel).Dexp(DexpN).resDir),'\');
|
||||
else
|
||||
slashPos=strfind(char(Exp(zoneSel).Dexp(DexpN).resDir),'/');
|
||||
end
|
||||
|
||||
startPos=slashPos(length(slashPos)-1) +1;
|
||||
endPos=slashPos(length(slashPos)) -1
|
||||
expStr= {xp(startPos:endPos)}
|
||||
|
||||
Exp(zoneSel).hOLname(traceN)= spotDescrip; %graphStr; %ghandles.Exp(zoneSel).hOLname(traceN)= graphStr;
|
||||
Exp(zoneSel).hOLexpNm(traceN)= expStr; %ghandles.Exp(expN).hOLexpNm(traceN)= expStr;
|
||||
Exp(zoneSel).hOLresDir(traceN)= {Exp(zoneSel).Dexp(DexpN).resDir};
|
||||
Exp(zoneSel).hOLplateNum(traceN)= plateNum;
|
||||
|
||||
%traceData= vertcat(get(Exp(OLay).hOL(traceN),'XData'),get(ghandles.Exp(OLay).hOL(traceN),'YData'));
|
||||
|
||||
if zoneSel==1,set(ghandles.GeneOrfLoc1,'string',geneOrfstr);end % Displays the value.
|
||||
if zoneSel==2,set(ghandles.GeneOrfLoc2,'string',geneOrfstr);end
|
||||
if zoneSel==3,set(ghandles.GeneOrfLoc3,'string',geneOrfstr);end
|
||||
if zoneSel==1,set(ghandles.graphStrLoc1,'string',spotDescrip);end %graphStr);end % Displays the value.
|
||||
if zoneSel==2,set(ghandles.graphStrLoc2,'string',spotDescrip);end %graphStr);end
|
||||
if zoneSel==3,set(ghandles.graphStrLoc3,'string',spotDescrip);end %graphStr);end
|
||||
catch
|
||||
catchissue='Ln141 EZlstBoxExt'
|
||||
msg='Error'
|
||||
end % trycatch zoneSel<4 datatip selection from Image (not from an OverLay Plot)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
%{
|
||||
% If a specific spot median is ever needed
|
||||
%Calc. of EXACT median specific culture requires an odd number of indx items
|
||||
if ~isempty(NZusrIndxG) && mod(nonZeroCntD,2)==0, medianIndxOdd= NZusrIndxG(1:(size(NZusrIndxG,1)-1)); end
|
||||
if ~isempty(NZusrIndxG) && mod(nonZeroCntD,2)~=0, medianIndxOdd= NZusrIndxG(:); end
|
||||
mvalsDG= median(vv(medianIndxOdd,d)); %(nonzeros(vv(:,d)));
|
||||
nzPosIndxDG=find(mvalsDG==vv(:,d));
|
||||
Exp(expN).Dexp(n).UsrMedianG(d)= mvalsDG;
|
||||
Exp(expN).Dexp(n).UsrminG(d)= minG;
|
||||
Exp(expN).Dexp(n).UsrmaxG(d)= maxG;
|
||||
Exp(expN).Dexp(n).UsrstdG(d)= usrStdG;
|
||||
Exp(expN).Dexp(n).UsrmeanG(d)= usrmeanG;
|
||||
%}
|
||||
%{
|
||||
Exp(expN).Dexp(n).UsrCmpGL.dm(d).med= median(vv(medianIndxP,d)); %For Ref Composite 17_1026
|
||||
Exp(expN).Dexp(n).UsrCmpGL.dm(d).mean= mean(vv(medianIndxP,d)); %For Ref Composite 17_1026
|
||||
Exp(expN).Dexp(n).UsrCmpGL.dm(d).std= std(vv(medianIndxP,d)); %For Ref Composite 17_1026
|
||||
Exp(expN).Dexp(n).UsrCmpGL.dm(d).min= min(vv(medianIndxP,d)); %For Ref Composite 17_1026
|
||||
Exp(expN).Dexp(n).UsrCmpGL.dm(d).max= max(vv(medianIndxP,d)); %For Ref Composite 17_1026
|
||||
Exp(expN).Dexp(n).UsrCmpGK.dm(d).med= median(vvK(medianIndxP,d)); %For Ref Composite 17_1026
|
||||
Exp(expN).Dexp(n).UsrCmpGK.dm(d).mean= mean(vvK(medianIndxP,d)); %For Ref Composite 17_1026
|
||||
Exp(expN).Dexp(n).UsrCmpGK.dm(d).std= std(vvK(medianIndxP,d)); %For Ref Composite 17_1026
|
||||
Exp(expN).Dexp(n).UsrCmpGK.dm(d).min= min(vvK(medianIndxP,d)); %For Ref Composite 17_1026
|
||||
Exp(expN).Dexp(n).UsrCmpGK.dm(d).max= max(vvK(medianIndxP,d)); %For Ref Composite 17_1026
|
||||
Exp(expN).Dexp(n).UsrCmpGr.dm(d).med= median(vvr(medianIndxP,d)); %For Ref Composite 17_1026
|
||||
Exp(expN).Dexp(n).UsrCmpGr.dm(d).mean= mean(vvr(medianIndxP,d)); %For Ref Composite 17_1026
|
||||
Exp(expN).Dexp(n).UsrCmpGr.dm(d).std= std(vvr(medianIndxP,d)); %For Ref Composite 17_1026
|
||||
Exp(expN).Dexp(n).UsrCmpGr.dm(d).min= min(vvr(medianIndxP,d)); %For Ref Composite 17_1026
|
||||
Exp(expN).Dexp(n).UsrCmpGr.dm(d).max= max(vvr(medianIndxP,d)); %For Ref Composite 17_1026
|
||||
%}
|
||||
|
||||
|
||||
%{
|
||||
for mm=1:length(dMPs) % length(chgIndx)
|
||||
|
||||
for d= selDM:selDM %1:(DMnum)
|
||||
medianIndxDisp=[];
|
||||
NZrefIndxP=[];
|
||||
nonZeroValsP=[];
|
||||
medValLstDisp=[];
|
||||
usrScNdisp=((dMPs(mm)-1)*DMnum)+(d);
|
||||
|
||||
try % Determine the dispersed User Gene median mean and std if such exist
|
||||
NZrefIndxP= drfPindx((find(drfPindx(:,dMPs(mm)))),dMPs(mm)); medianIndxDisp= NZrefIndxP
|
||||
vv(chgIndx(mm):(chgIndx(mm+1)-1),d)=Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZrefIndxP,5);
|
||||
%For Global Ref Composite 17_1009 %**************************************************************************
|
||||
vvK(chgIndx(mm):(chgIndx(mm+1)-1),d)=Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZrefIndxP,3);
|
||||
vvr(chgIndx(mm):(chgIndx(mm+1)-1),d)=Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZrefIndxP,4);
|
||||
%*****************************************************************************************************
|
||||
%{
|
||||
nonZeroValsP= nonzeros(Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZrefIndxP,5));
|
||||
std1Disp= std(nonZeroValsP);
|
||||
mean1Disp= mean(nonZeroValsP);
|
||||
minDisp= min(nonZeroValsP);
|
||||
maxDisp= max(nonZeroValsP);
|
||||
drfVals=Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZrefIndxP,5);
|
||||
|
||||
%nzValsAcc(mm).DM(d,:)= nonZeroValsP;
|
||||
|
||||
%MEDIAN Determination for PLATES with Dispersed RFs
|
||||
%NZrefIndxP= NZrefIndxP %find(Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZrefIndxP,5));
|
||||
if isempty(NZrefIndxP), nonZeroCntDisp=0, medianIndxDisp= NZrefIndxP;
|
||||
else nonZeroCntDisp=length(NZrefIndxP);
|
||||
end
|
||||
if ~isempty(NZrefIndxP) && mod(nonZeroCntDisp,2)==0, medianIndxDisp= NZrefIndxP(1:nonZeroCntDisp-1); end
|
||||
if ~isempty(NZrefIndxP) && mod(nonZeroCntDisp,2)~=0, medianIndxDisp= NZrefIndxP; end
|
||||
%}
|
||||
if ~isempty(NZrefIndxP) && length(medianIndxDisp) > 0 %(.15*384) %To calc. a median, more than 15% of spots must be nonZero
|
||||
medValLstDisp= Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(medianIndxDisp,5);
|
||||
mval1Disp=median(medValLstDisp);
|
||||
nzMedPosIndx=find(mval1Disp==nonZeroValsP);
|
||||
medianIndxP= NZrefIndxP(nzMedPosIndx);
|
||||
%UsrmdlocP(1)= ceil(medianIndxP/24); %calc r value
|
||||
%UsrmdlocP(2)= medianIndxP - ((UsrmdlocP(1)-1)*24); %calc c value
|
||||
|
||||
meanKval= mean(nonzeros((Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZrefIndxP,3))));
|
||||
meanrval= mean(nonzeros((Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZrefIndxP,4))));
|
||||
else
|
||||
% Need to set L r K values to zeros or pick the first spot with zeros
|
||||
%Spot 1 could be other than zero as the median isn't calculated if fewer than some percent are nonzero
|
||||
medianCalcFailedD= 'To Few nonZero spots for valid median RF1 selection'
|
||||
firstZeroDindx= find(((Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZrefIndxP,5))==0),1,'first');
|
||||
firstZeroD= drfPindx((firstZeroDindx),dMPs(mm));
|
||||
%Exp(expN).Dexp(n).UsrmdPindx(d,dMPs(mm))=firstZeroD;
|
||||
%Exp(expN).Dexp(n).UsrmdPpltN(d,dMPs(mm))= dMPs(mm); %RF1mp; %Is this supposed to be the MP number or the ScanPlate number???
|
||||
|
||||
|
||||
end %~isempty(NZrefIndxP) && length(medianIndxPisp) > 3 ln584
|
||||
catch %try ln565
|
||||
medianCalcTryFailed1D= 'Failed! Failed! {Dispersed RF1s}'
|
||||
try
|
||||
firstZeroindxD= find(vv((chgIndx(d):chgIndx(d+1)-1),5)==0,1,'first');
|
||||
firstZeroPindx= uu(firstZeroindxD,4);
|
||||
catch
|
||||
end
|
||||
end %try ~ln565
|
||||
end %for d=0:DMnum
|
||||
end %for mm=1:length(dMPs)
|
||||
%}
|
||||
|
||||
%{
|
||||
%Code Template taken from EZlstBoxCmpExt.m
|
||||
try
|
||||
%if RFcmpGFlg==0
|
||||
smpSz= size(medianIndxP,1);
|
||||
K= median(vvK(medianIndxP,dmSel)); Ks= num2str(K); Kstd= std(vvK(medianIndxP,dmSel)); KstdStr= num2str(Kstd);
|
||||
r= median(vvr(medianIndxP,dmSel)); rs= num2str(r); rstd= std(vvr(medianIndxP,dmSel)); rstdStr= num2str(rstd);
|
||||
l= median(vv(medianIndxP,dmSel)); Ls= num2str(l); Lstd= std(vv(medianIndxP,dmSel)); LstdStr= num2str(Lstd);
|
||||
Kl= K - std(vvK(medianIndxP,dmSel)); %K - Exp(expN).Dexp(DexpN).RFcmpK(RFnum).dm(inDM).std;
|
||||
Ku= K + std(vvK(medianIndxP,dmSel)); %K + Exp(expN).Dexp(DexpN).RFcmpK(RFnum).dm(inDM).std;
|
||||
rl= r - std(vvr(medianIndxP,dmSel)); %r - Exp(expN).Dexp(DexpN).RFcmpr(RFnum).dm(inDM).std;
|
||||
ru= r + std(vvr(medianIndxP,dmSel)); %r + Exp(expN).Dexp(DexpN).RFcmpr(RFnum).dm(inDM).std;
|
||||
lfast= l - std(vv(medianIndxP,dmSel)); %l - Exp(expN).Dexp(DexpN).RFcmpL(RFnum).dm(inDM).std;
|
||||
lslow= l + std(vv(medianIndxP,dmSel)); %l + Exp(expN).Dexp(DexpN).RFcmpL(RFnum).dm(inDM).std;
|
||||
|
||||
try Kstr=Ks(1:5); catch, Kstr = Ks(1:length(Ks)); end
|
||||
try rstr=rs(1:5); catch, rstr = rs(1:length(rs)); end
|
||||
try Lstr=Ls(1:5); catch, Lstr = Ls(1:length(Ls)); end
|
||||
|
||||
|
||||
t=1:200;
|
||||
clear g;
|
||||
|
||||
try
|
||||
g = K ./ (1 + exp(-r.* (t - l )));
|
||||
gSlow= Kl ./ (1 + exp(-rl.* (t - lslow )));
|
||||
gFast= Ku ./ (1 + exp(-ru.* (t - lfast )));
|
||||
if K==0||r==0||l==0, g(1:200)=1;gSlow(1:200)=1;gFast(1:200)=1;end
|
||||
%tser=(scan(1,plateNum).plate(1).t0Series(:));
|
||||
%rawData= scan(1,plateNum).plate(1).intens(indx,:)/scan(1,plateNum).plate(1).Ag(indx);
|
||||
|
||||
if zoneSel==1, plotAxes=ghandles.Paxes1; OLaxes=ghandles.OLaxes1;
|
||||
Dlaxes=ghandles.Dlaxes1;Dkaxes=ghandles.Dkaxes1;Draxes=ghandles.Draxes1;
|
||||
Exp(1).traceN=Exp(1).traceN+1;
|
||||
traceN=Exp(1).traceN;
|
||||
end
|
||||
if zoneSel==2, plotAxes=ghandles.Paxes2; OLaxes=ghandles.OLaxes2;Daxes=ghandles.Daxes2;
|
||||
Dlaxes=ghandles.Dlaxes2;Dkaxes=ghandles.Dkaxes2;Draxes=ghandles.Draxes2;
|
||||
Exp(2).traceN=Exp(2).traceN+1;
|
||||
traceN=Exp(2).traceN;
|
||||
end
|
||||
if zoneSel==3, plotAxes=ghandles.Paxes3; OLaxes=ghandles.OLaxes3;Daxes=ghandles.Daxes3;
|
||||
Dlaxes=ghandles.Dlaxes3;Dkaxes=ghandles.Dkaxes3;Draxes=ghandles.Draxes3;
|
||||
Exp(3).traceN=Exp(3).traceN+1;
|
||||
traceN=Exp(3).traceN;
|
||||
end
|
||||
plot(plotAxes,t,g);hold (plotAxes,'on'); %plot(plotAxes,tser,rawData,'g*');
|
||||
plot(plotAxes,t,gSlow,'y'); plot(plotAxes,t,gFast,'r');hold (plotAxes,'off');
|
||||
%************CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC**************************************
|
||||
%Store L R and K valves for Composite [C] plots
|
||||
Exp(expN).ll(traceN)= l; Exp(expN).rr(traceN)= r; Exp(expN).kk(traceN)= K;
|
||||
|
||||
Exp(expN).lstd(traceN)= std(vv(medianIndxP,dmSel)); %Exp(expN).Dexp(DexpN).RFcmpL(RFnum).dm(inDM).std;
|
||||
Exp(expN).kstd(traceN)= std(vvK(medianIndxP,dmSel)); %Exp(expN).Dexp(DexpN).RFcmpK(RFnum).dm(inDM).std;
|
||||
Exp(expN).rstd(traceN)= std(vvr(medianIndxP,dmSel)); %Exp(expN).Dexp(DexpN).RFcmpr(RFnum).dm(inDM).std;
|
||||
|
||||
|
||||
Exp(expN).lslow(traceN)= lslow; Exp(expN).lfast(traceN)= lfast;
|
||||
Exp(expN).lKl(traceN)= Kl; Exp(expN).Ku(traceN)= Ku;
|
||||
Exp(expN).lrl(traceN)= rl; Exp(expN).Ku(traceN)= ru;
|
||||
%************************************************************************
|
||||
try for i=1:length(Exp(zoneSel).hOL(:)),set(Exp(zoneSel).hOL(i),'color',[0 0 1]); end, catch; end
|
||||
Exp(zoneSel).hOL(traceN)=plot(OLaxes,t,g);hold on;
|
||||
set(Exp(zoneSel).hOL(traceN),'color',[1 0 0])
|
||||
%Exp(zoneSel).hOLb(traceN)=plot(OLaxes,tser,rawData,'g*'); %No Raw Data, Ref Composite 17_1009
|
||||
catch
|
||||
catchissue='Ln68 EZlstBoxCmpExt'
|
||||
end %trycatch
|
||||
|
||||
%Get the DM agar description
|
||||
%if expN==1,DMstr=char(get(handles.DM1,'string'));end
|
||||
%if expN==2,DMstr=char(get(handles.DM2,'string'));end
|
||||
%if expN==3,DMstr=char(get(handles.DM3,'string'));end
|
||||
DMstr= num2str(dmSel);
|
||||
|
||||
%spec=MP(1,LBmp).specifics{1,1}(indx); %orfrep=MP(1,plateNum).orfRep{1,1}(indx);
|
||||
%tPtStr=strcat('T=', num2str(scan(1,plateNum).plate(1).t0Series(tPtSel)));
|
||||
%graphStr= strcat(usrGnSp,'_','L=',Lstr,'_','Lstd=',LstdStr,'_','r=',rstr,'_','rstd=',rstdStr,'_','K=',Kstr,'Kstd=',KstdStr);
|
||||
graphStr= strcat(usrGnSp,'_','L=',Lstr,'_','Lstd=',LstdStr,'_','r=',rstr,'_','rstd=',rstdStr,'_','K=',Kstr,'Kstd=',KstdStr);
|
||||
spotDescrip=strcat(graphStr,'DMS->',DMstr);
|
||||
|
||||
xp=char(Exp(zoneSel).Dexp(DexpN).resDir);
|
||||
if ispc,
|
||||
slashPos=strfind(char(Exp(zoneSel).Dexp(DexpN).resDir),'\');
|
||||
else
|
||||
slashPos=strfind(char(Exp(zoneSel).Dexp(DexpN).resDir),'/');
|
||||
end
|
||||
|
||||
startPos=slashPos(length(slashPos)-1) +1;
|
||||
endPos=slashPos(length(slashPos)) -1
|
||||
expStr= {xp(startPos:endPos)}
|
||||
|
||||
Exp(zoneSel).hOLname(traceN)= usrGnSp; %spotDescrip; %graphStr; %ghandles.Exp(zoneSel).hOLname(traceN)= graphStr;
|
||||
Exp(zoneSel).hOLexpNm(traceN)= expStr; %ghandles.Exp(expN).hOLexpNm(traceN)= expStr;
|
||||
Exp(zoneSel).hOLresDir(traceN)= {Exp(zoneSel).Dexp(DexpN).resDir};
|
||||
%Exp(zoneSel).hOLplateNum(traceN)= plateNum;
|
||||
|
||||
%traceData= vertcat(get(Exp(OLay).hOL(traceN),'XData'),get(ghandles.Exp(OLay).hOL(traceN),'YData'));
|
||||
|
||||
%if zoneSel==1,set(ghandles.GeneOrfLoc1,'string',geneOrfstr);end % Displays the value.
|
||||
%if zoneSel==2,set(ghandles.GeneOrfLoc2,'string',geneOrfstr);end
|
||||
%if zoneSel==3,set(ghandles.GeneOrfLoc3,'string',geneOrfstr);end
|
||||
%if zoneSel==1,set(ghandles.graphStrLoc1,'string',spotDescrip);end %graphStr);end % Displays the value.
|
||||
%if zoneSel==2,set(ghandles.graphStrLoc2,'string',spotDescrip);end %graphStr);end
|
||||
%if zoneSel==3,set(ghandles.graphStrLoc3,'string',spotDescrip);end %graphStr);end
|
||||
catch
|
||||
catchissue='Ln33 EZlstBoxCmpExt'
|
||||
msg='Error'
|
||||
end % trycatch zoneSel<4 datatip selection from Image (not from an OverLay Plot)
|
||||
%**************Write Spot and Exp Info to OLay title areas****************************************************************************
|
||||
|
||||
if zoneSel==1, %&& get(ghandles.rotPB1,'value')~=1
|
||||
if length(char(Exp(zoneSel).hOLname(traceN)))>40,set(ghandles.OLay1,'FontSize',8);end
|
||||
set(ghandles.OLay1,'string', Exp(zoneSel).hOLname(traceN));
|
||||
if length(char(Exp(zoneSel).hOLexpNm(traceN)))>40,set(ghandles.OLexp1,'FontSize',8);end
|
||||
set(ghandles.OLexp1,'string',Exp(zoneSel).hOLexpNm(traceN));
|
||||
end
|
||||
if zoneSel==2 %&& get(ghandles.rotPB2,'value') ~=1
|
||||
if length(char(Exp(zoneSel).hOLname(traceN)))>40,set(ghandles.OLay2,'FontSize',8);end
|
||||
set(ghandles.OLay2,'string', Exp(zoneSel).hOLname(traceN));
|
||||
if length(char(Exp(zoneSel).hOLexpNm(traceN)))>40,set(ghandles.OLexp2,'FontSize',8);end
|
||||
set(ghandles.OLexp2,'string',Exp(zoneSel).hOLexpNm(traceN));
|
||||
end
|
||||
if zoneSel==3 %&& get(ghandles.rotPB3,'value') ~=1
|
||||
if length(char(Exp(zoneSel).hOLname(traceN)))>40,set(ghandles.OLay3,'FontSize',8);end
|
||||
set(ghandles.OLay3,'string', Exp(OLay).hOLname(traceN));
|
||||
if length(char(Exp(zoneSel).hOLexpNm(traceN)))>40,set(ghandles.OLexp3,'FontSize',8);end
|
||||
set(ghandles.OLexp3,'string',Exp(OLay).hOLexpNm(traceN));
|
||||
end
|
||||
%}
|
||||
%**********************************************************************
|
||||
|
||||
%{
|
||||
%elseif RFcmpGFlg==1
|
||||
K= Exp(expN).Dexp(DexpN).RFcmpGK.dm(inDM).med; Ks= num2str(K);
|
||||
r= Exp(expN).Dexp(DexpN).RFcmpGr.dm(inDM).med; rs= num2str(r);
|
||||
l= Exp(expN).Dexp(DexpN).RFcmpGL.dm(inDM).med; Ls= num2str(l);
|
||||
Kl= K - Exp(expN).Dexp(DexpN).RFcmpGK.dm(inDM).std;
|
||||
Ku= K + Exp(expN).Dexp(DexpN).RFcmpGK.dm(inDM).std;
|
||||
rl= r - Exp(expN).Dexp(DexpN).RFcmpGr.dm(inDM).std;
|
||||
ru= r + Exp(expN).Dexp(DexpN).RFcmpGr.dm(inDM).std;
|
||||
lfast= l - Exp(expN).Dexp(DexpN).RFcmpGL.dm(inDM).std;
|
||||
lslow= l + Exp(expN).Dexp(DexpN).RFcmpGL.dm(inDM).std;
|
||||
end
|
||||
%}
|
||||
%Exp(expN).Dexp(n).UsrmdPindx= [];
|
||||
%Exp(expN).Dexp(n).UsrmdPpltN= [];
|
||||
%Exp(expN).Dexp(n).UsrmdPscanN= [];
|
||||
%Exp(expN).Dexp(n).UsrMedianP= [];
|
||||
%Exp(expN).Dexp(n).stdP= [];
|
||||
%Exp(expN).Dexp(n).meanP= [];
|
||||
%Exp(expN).Dexp(n).minP= [];
|
||||
%Exp(expN).Dexp(n).maxP= [];
|
||||
|
||||
%Exp(expN).Dexp(n).RFmdGLB= {[]};
|
||||
%Exp(expN).Dexp(n).RFmdGindx= [];
|
||||
%Exp(expN).Dexp(n).RFmdGpltN= [];
|
||||
%Exp(expN).Dexp(n).RFmdGscanN= [];
|
||||
|
||||
%UsrmdDGloc(d,1)= uu(nzPosIndxDG,1); %MP of distributedGlobal Median value
|
||||
%UsrmdDGloc(d,2)= uu(nzPosIndxDG,2); %calc r value
|
||||
%UsrmdDGloc(d,3)= uu(nzPosIndxDG,3); %calc c value
|
||||
%lstindx=lstindx+1;
|
||||
%lstindxOrf= lstindxOrf+1;
|
||||
%{
|
||||
usrGLbl= strcat(usrGnSp,'UmdG('); %accomodate User Ref Selection
|
||||
aa(lstindx,1)= strcat(usrGLbl,num2str(d),')'); %remove string2cell brackets {...}
|
||||
aa(lstindx,2)= {strcat(':',num2str(UsrmdDGloc(d,1)),':',num2str(UsrmdDGloc(d,2)),':',num2str(UsrmdDGloc(d,3)))}; %,'std_',num2str(std2))};
|
||||
bb(lstindxOrf,1)= strcat(usrGLbl,num2str(d),')'); %remove string2cell brackets {...}
|
||||
bb(lstindxOrf,2)= {strcat(':',num2str(UsrmdDGloc(d,1)),':',num2str(UsrmdDGloc(d,2)),':',num2str(UsrmdDGloc(d,3)))}; %,'std_',num2str(std2))};
|
||||
%Composite Reference Amalgum Plot ******************
|
||||
lstindx=lstindx+1;
|
||||
lstindxOrf= lstindxOrf+1;
|
||||
aa(lstindx,1)= strcat(usrGnSp,'UcmpG(',num2str(d),')');
|
||||
aa(lstindx,2)={''};
|
||||
bb(lstindxOrf,1)= strcat(usrGnSp,'UcmpG(',num2str(d),')');
|
||||
bb(lstindxOrf,2)={''};
|
||||
%*****************************************************
|
||||
%}
|
||||
%{
|
||||
lstindx=lstindx+1;
|
||||
lstindxOrf= lstindxOrf+1;
|
||||
usrPLbl= strcat(usrGnSp,'UmdP('); %accomodate User Ref Selection
|
||||
aa(lstindx,1)= strcat(usrPLbl,num2str(d),')');
|
||||
aa(lstindx,2)= {strcat(':',num2str(dMPs(mm)),':',num2str(UsrmdlocP(1)),':',num2str(UsrmdlocP(2)))};
|
||||
bb(lstindxOrf,1)= strcat(usrPLbl,num2str(d),')'); %remove string2cell brackets {...}
|
||||
bb(lstindxOrf,2)={strcat(':',num2str(dMPs(mm)),':',num2str(UsrmdlocP(1)),':',num2str(UsrmdlocP(2)))};
|
||||
|
||||
Exp(expN).Dexp(n).UsrmdPLB(d,dMPs(mm))= strcat(aa(lstindx,1),aa(lstindx,2));
|
||||
Exp(expN).Dexp(n).UsrmdPindx(d,dMPs(mm))= medianIndxP;
|
||||
Exp(expN).Dexp(n).UsrmdPpltN(d,dMPs(mm))= dMPs(mm); %This is a storage of the MasterPlate used NOT the ScanPlate? WeMight wish to store the ScanPlateNumber also???
|
||||
Exp(expN).Dexp(n).UsrmdPscanN(d,dMPs(mm))=usrScNdisp;
|
||||
Exp(expN).Dexp(n).UsrMedianP(d,dMPs(mm))= mval1Disp;
|
||||
Exp(expN).Dexp(n).stdP(d,dMPs(mm))= std1Disp;
|
||||
Exp(expN).Dexp(n).meanP(d,dMPs(mm))= mean1Disp;
|
||||
Exp(expN).Dexp(n).minP(d,dMPs(mm))= minDisp;
|
||||
Exp(expN).Dexp(n).maxP(d,dMPs(mm))= maxDisp;
|
||||
|
||||
Exp(expN).Dexp(n).UsrCmpPL.dm(d).med= mval1Disp; %For Ref Composite 17_1026
|
||||
Exp(expN).Dexp(n).UsrCmpPL.dm(d).mean= mean1Disp; %For Ref Composite 17_1026
|
||||
Exp(expN).Dexp(n).UsrCmpPL.dm(d).std= std1Disp; %For Ref Composite 17_1026
|
||||
Exp(expN).Dexp(n).UsrCmpPL.dm(d).min= minDisp; %For Ref Composite 17_1026
|
||||
Exp(expN).Dexp(n).UsrCmpPL.dm(d).max= maxDisp; %For Ref Composite 17_1026
|
||||
Exp(expN).Dexp(n).UsrCmpPK.dm(d).med= median(nonzeros((Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZrefIndxP,3)))); %For Ref Composite 17_1026
|
||||
Exp(expN).Dexp(n).UsrCmpPK.dm(d).mean= mean(nonzeros((Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZrefIndxP,3)))); %For Ref Composite 17_1026
|
||||
Exp(expN).Dexp(n).UsrCmpPK.dm(d).std= std(nonzeros((Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZrefIndxP,3)))); %For Ref Composite 17_1026
|
||||
Exp(expN).Dexp(n).UsrCmpPK.dm(d).min= min(nonzeros((Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZrefIndxP,3)))); %For Ref Composite 17_1026
|
||||
Exp(expN).Dexp(n).UsrCmpPK.dm(d).max= max(nonzeros((Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZrefIndxP,3)))); %For Ref Composite 17_1026
|
||||
Exp(expN).Dexp(n).UsrCmpPr.dm(d).med= median(nonzeros((Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZrefIndxP,4)))); %For Ref Composite 17_1026
|
||||
Exp(expN).Dexp(n).UsrCmpPr.dm(d).mean= mean(nonzeros((Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZrefIndxP,4)))); %For Ref Composite 17_1026
|
||||
Exp(expN).Dexp(n).UsrCmpPr.dm(d).std= std(nonzeros((Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZrefIndxP,4)))); %For Ref Composite 17_1026
|
||||
Exp(expN).Dexp(n).UsrCmpPr.dm(d).min= min(nonzeros((Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZrefIndxP,4)))); %For Ref Composite 17_1026
|
||||
Exp(expN).Dexp(n).UsrCmpPr.dm(d).max= max(nonzeros((Exp(expN).Dexp(n).scan(usrScNdisp).plate(1).CFout(NZrefIndxP,4)))); %For Ref Composite 17_1026
|
||||
%}
|
||||
%Exp(expN).Dexp(n).UsrmdGindx(d)= nzPosIndxDG;
|
||||
%Exp(expN).Dexp(n).UsrmdGpltN(d)= UsrmdDGloc(d,1);
|
||||
%Exp(expN).Dexp(n).UsrmdGscanN(d)= uu(nzPosIndxDG,4);
|
||||
%{
|
||||
try
|
||||
firstZeroindxD= find(vv((chgIndx(d):chgIndx(d+1)-1),5)==0,1,'first');
|
||||
firstZeroPindx= uu(firstZeroindxD,4);
|
||||
%Exp(expN).Dexp(n).UsrmdPpltN(d,dMPs(mm))= dMPs(mm);
|
||||
%Exp(expN).Dexp(n).UsrmdPindx(d,dMPs(mm))=firstZeroPindx;
|
||||
|
||||
catch
|
||||
catchissue='try at Ln565'
|
||||
%Exp(expN).Dexp(n).UsrmdPpltN(d,dMPs(mm))= dMPs(mm);
|
||||
%Exp(expN).Dexp(n).UsrmdPindx(d,dMPs(mm))=384; %if crapout,Then use spot384 as default to keep going
|
||||
end
|
||||
try
|
||||
% Exp(expN).Dexp(n).UsrmdPpltN= dMPs(mm);
|
||||
catch
|
||||
catchissue='Ln619'
|
||||
%Exp(expN).Dexp(n).UsrmdPpltN= 1; %This might keep from breaking BUT ???
|
||||
end
|
||||
error='EZexpSel lineAfter 565'
|
||||
end %try ~ln565
|
||||
%}
|
||||
|
||||
568
workflow/apps/matlab/ezview/EZmDayTrend.m
Executable file
568
workflow/apps/matlab/ezview/EZmDayTrend.m
Executable file
@@ -0,0 +1,568 @@
|
||||
%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
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
%++++++++++++++++++++++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
|
||||
|
||||
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);
|
||||
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
|
||||
|
||||
%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');
|
||||
|
||||
%+++++++++++++++++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);
|
||||
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 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')
|
||||
|
||||
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)
|
||||
|
||||
%{
|
||||
%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
|
||||
|
||||
%}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
48
workflow/apps/matlab/ezview/EZmultiDay.m
Executable file
48
workflow/apps/matlab/ezview/EZmultiDay.m
Executable file
@@ -0,0 +1,48 @@
|
||||
%EZmultiday callled by EZmultidayGui
|
||||
global exp
|
||||
global exDlst
|
||||
global exFolder
|
||||
|
||||
c= strfind(exDlst,' ');
|
||||
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]))))
|
||||
ii= ii+1;
|
||||
expDlst(ii)= exDlst(n);
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
clear matFile
|
||||
ii=0;
|
||||
for m= 1:size(expDlst,2)
|
||||
exD=fullfile(exFolder,cell2mat(expDlst(m)))
|
||||
dirLst=dir(exD);
|
||||
|
||||
clear matFlst
|
||||
clear resF
|
||||
clear resMatF
|
||||
|
||||
for n=1:size(dirLst,1)
|
||||
if sum(ismember('Results2', dirLst(n).name))==8
|
||||
resF= dirLst(n).name
|
||||
resMatF= fullfile(exFolder,cell2mat(expDlst(m)),resF,'matResults')
|
||||
matFlst= dir(resMatF)
|
||||
for o=1:size(matFlst,1)
|
||||
if sum(ismember('.mat', matFlst(o).name))==4
|
||||
ii= ii+1;
|
||||
resDir{ii}= fullfile(exFolder,cell2mat(expDlst(m)),resF)
|
||||
matFile(m)= cellstr(fullfile(resMatF,matFlst(o).name))
|
||||
end
|
||||
end %for o=1:size(matFlst,1)
|
||||
|
||||
end %if sum(ismember('Results2', dirLst(n).name))
|
||||
end %for n=1:size(dirLst,1)
|
||||
end %for m= 1:size(expDlst,2)
|
||||
|
||||
Exp(expN).DexpLength= size(matFile,2);
|
||||
Exp(expN).DexpN= size(matFile,2);
|
||||
|
||||
67
workflow/apps/matlab/ezview/EZmultiDayExp.m
Executable file
67
workflow/apps/matlab/ezview/EZmultiDayExp.m
Executable file
@@ -0,0 +1,67 @@
|
||||
function EZmultiDayGui
|
||||
%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
|
||||
%====================================
|
||||
% The ADD Groups button
|
||||
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])
|
||||
|
||||
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];
|
||||
|
||||
hedit8 = uicontrol(...
|
||||
'Style', 'pushbutton',...
|
||||
'String',{'Continue'},...
|
||||
'Units','normalized',...
|
||||
'Position', btnPos,...
|
||||
'callback','uiresume(gcbf)');
|
||||
|
||||
uiwait(gcf);
|
||||
|
||||
close(f)
|
||||
end
|
||||
%*******************
|
||||
%EZmultiDay
|
||||
%*****************************************************************
|
||||
133
workflow/apps/matlab/ezview/EZmultiDayGui.m
Executable file
133
workflow/apps/matlab/ezview/EZmultiDayGui.m
Executable file
@@ -0,0 +1,133 @@
|
||||
%EZmultiDayGui.m called by EZexpSel.m ln957 && ln963
|
||||
%EZmultiday is called after this EZmultiDayGui.m also by EZexpSel.m
|
||||
|
||||
function EZmultiDayGui
|
||||
%global Exp
|
||||
global exDlst
|
||||
global exFolder
|
||||
global expType
|
||||
global usrExpJobsDir
|
||||
|
||||
xPos=0.05;
|
||||
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];
|
||||
|
||||
|
||||
datacursormode off;
|
||||
%====================================
|
||||
%{
|
||||
w= pwd;
|
||||
|
||||
%Linux accommodatition
|
||||
if ispc,cd(fullfile('C:\')); %end % \Easy\Experiments'));
|
||||
else
|
||||
cd(fullfile('~'))
|
||||
end
|
||||
%}
|
||||
|
||||
%====================================
|
||||
w= pwd;
|
||||
%Linux accommodatition
|
||||
%try to use user selected 'ExpJobs' folder otherwise use a default
|
||||
%directory in the uigetfile to load the experiment .mat file.
|
||||
try
|
||||
load ('ExpJobsFldr')
|
||||
catch
|
||||
|
||||
end
|
||||
%try %Linux accommodatition
|
||||
if ispc
|
||||
try
|
||||
cd(usrExpJobsDir);
|
||||
catch
|
||||
cd(fullfile('C:\')); %end % \Easy\Experiments'));
|
||||
end
|
||||
|
||||
else
|
||||
try
|
||||
cd(usrExpJobsDir);
|
||||
catch
|
||||
cd(fullfile('~'))
|
||||
end
|
||||
end
|
||||
%*****************************************
|
||||
exFolder=uigetdir
|
||||
exDirs=dir(exFolder);
|
||||
exFs= {exDirs.name};
|
||||
exFs= exFs(3:end)
|
||||
|
||||
%******re-Sort Experiments by 'D__' Day*******************************
|
||||
if expType== 2
|
||||
exFs
|
||||
|
||||
ii=1
|
||||
for i= 1:size(exFs,2)
|
||||
position= strfind(exFs(i),'_D')
|
||||
if ~isempty(cell2mat(position)) && isnumeric(cell2mat(position))
|
||||
da= char(exFs(i))
|
||||
ff(ii)= sscanf(da((cell2mat(position)+2):end),'%d')
|
||||
expDayFs(ii)= exFs(i)
|
||||
indxx(ii)= ii
|
||||
selFindx= nonzeros(indxx)
|
||||
ii=ii+1
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
BB= [ff;selFindx']
|
||||
BB=BB'
|
||||
CC= sortrows(BB,1)
|
||||
|
||||
j=1;
|
||||
for i= 1:size(CC,1)
|
||||
j= CC(i,2)
|
||||
ExpOrderByExp(i)= expDayFs(j) %exFs(j)
|
||||
end
|
||||
else
|
||||
ExpOrderByExp= sort(exFs)
|
||||
end %if expType==2
|
||||
%*********************************************
|
||||
|
||||
|
||||
f = figure('Menubar','none','Position',[1000 100 640 750],'Name','Select Exp Folders' );
|
||||
hListbox = uicontrol(...
|
||||
'Style', 'listbox',...
|
||||
'String',ExpOrderByExp,...
|
||||
'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)
|
||||
userIndx = (get(source,'value'))
|
||||
userStr = (get(source,'string'))
|
||||
user_entry=userStr(userIndx)
|
||||
exDlst= user_entry
|
||||
end
|
||||
exFs
|
||||
|
||||
btnNumber=10;
|
||||
yPos=0.85-(btnNumber-1)*(btnHt+spacing);
|
||||
btnPos=[xPos yPos-spacing btnWid btnHt];
|
||||
|
||||
hedit8 = uicontrol(...
|
||||
'Style', 'pushbutton',...
|
||||
'String',{'Continue'},...
|
||||
'Units','normalized',...
|
||||
'Position', btnPos,...
|
||||
'callback','uiresume(gcbf)');
|
||||
uiwait(gcf);
|
||||
|
||||
close(f)
|
||||
cd(w)
|
||||
end
|
||||
|
||||
%*****************************************************************
|
||||
353
workflow/apps/matlab/ezview/EZmultiExLoad.m
Executable file
353
workflow/apps/matlab/ezview/EZmultiExLoad.m
Executable file
@@ -0,0 +1,353 @@
|
||||
%EZmultiExLoad
|
||||
%Calls to EZVimDisplay (ln 185) EZmultiGeneRFsLst (ln213) EZdiagRFsSheet(ln218)
|
||||
|
||||
global Exp
|
||||
global zonePB
|
||||
global Expaa
|
||||
global Expbb
|
||||
global exDlst
|
||||
global exFolder
|
||||
|
||||
%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(n).MP(mx).genename{1}(384)))
|
||||
MPnum=mx;
|
||||
catch
|
||||
break
|
||||
end
|
||||
end
|
||||
%*************************************************
|
||||
%}
|
||||
%********************************************************************************
|
||||
%Begin .mat Data Loading section
|
||||
%********************************************************************************
|
||||
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
|
||||
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(openExppath,openExpfile);
|
||||
load(char(ExpOutmat));
|
||||
%cd(openExppath)
|
||||
%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)
|
||||
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)
|
||||
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,'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 %*
|
||||
%*********************
|
||||
|
||||
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
|
||||
|
||||
%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
|
||||
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;
|
||||
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 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;
|
||||
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 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;
|
||||
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
|
||||
end
|
||||
end
|
||||
|
||||
%***************************
|
||||
% HtMapTog 'string', 'Current user L/N' selection'
|
||||
Exp(expN).Dexp(DexpN).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;
|
||||
|
||||
%*******************************************************************
|
||||
|
||||
730
workflow/apps/matlab/ezview/EZmultiGeneRFsLst.m
Executable file
730
workflow/apps/matlab/ezview/EZmultiGeneRFsLst.m
Executable file
@@ -0,0 +1,730 @@
|
||||
%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**************
|
||||
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
|
||||
end
|
||||
|
||||
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 %<--???
|
||||
rfcnt=0;
|
||||
dRF1indx=0;
|
||||
RF1mp=[]; RF2mp=[];
|
||||
rfSp= cell2mat(rfSpec); %user entry of Specifics for Ref selection
|
||||
|
||||
%*******************************************************
|
||||
for mp=1:MPnum
|
||||
%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'))... %'\<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'))... %'\<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))
|
||||
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
|
||||
|
||||
%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
|
||||
|
||||
|
||||
|
||||
|
||||
Exp(expN).Dexp(n).RFmd1indx=[];
|
||||
Exp(expN).Dexp(n).RFmd1pltN=[];
|
||||
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).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).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).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;
|
||||
|
||||
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;
|
||||
catch
|
||||
catchissue='Ln209'
|
||||
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
|
||||
catchissue='Ln209'
|
||||
Exp(expN).Dexp(n).RFmd1pltN= 1;
|
||||
end
|
||||
|
||||
error='EZexpSel lineAfter 209'
|
||||
|
||||
|
||||
end %try ~ln209
|
||||
|
||||
end %for d=0:DMnum
|
||||
end % if exist('RF1scanN','var')
|
||||
%**********************************************************************************
|
||||
%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;
|
||||
|
||||
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
|
||||
catchissue='Ln442'
|
||||
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
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%*************************************************************************************************
|
||||
%***********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
|
||||
|
||||
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 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(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
|
||||
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 %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)));
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
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);
|
||||
|
||||
orfLstRaw=strcat(bb(:,1),bb(:,2));
|
||||
Exp(expN).Dexp(n).srtOrfLst= sort(orfLstRaw);
|
||||
|
||||
%####################################################################
|
||||
|
||||
|
||||
|
||||
%
|
||||
%{
|
||||
%set(handles.MPsldr2,'max',length(MP));
|
||||
%set(handles.DMsldr2,'max',length(DM.drug));
|
||||
%set(handles.Tptsldr2,'max',tPtsSize);
|
||||
|
||||
%set(handles.MPsldr2,'min',1,'max',MPnum)
|
||||
|
||||
%set(handles.DMsldr2,'min',1,'max',DMnum)
|
||||
%tPtsSize= size(Exp(expN).Dexp(n).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]);
|
||||
%}
|
||||
|
||||
|
||||
|
||||
299
workflow/apps/matlab/ezview/EZplotUcmp.m
Executable file
299
workflow/apps/matlab/ezview/EZplotUcmp.m
Executable file
@@ -0,0 +1,299 @@
|
||||
%EZplotUcmp.m
|
||||
|
||||
%***********User find and build composite of Selected Gene Composite and
|
||||
%*************Plot it on OLay Plot and Trend plot DNLaxles
|
||||
%***************For Single and Multi experiment 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;
|
||||
dmSel=Exp(zoneSel).Dexp(DexpN).pertSel;
|
||||
%dmSel= str2num(get(ghandles.DMed3,'string'))
|
||||
|
||||
|
||||
patrnN=strfind(selGnOrf{1},':'); %Extract Gene-Orf Name
|
||||
patrndash= strfind(selGnOrf{1},'-');
|
||||
selStrNm= char(selGnOrf)
|
||||
usrGene= selStrNm(1:(patrnN(1)-1));
|
||||
if strcmpi(selStrNm(1:3),'RF-')
|
||||
usrGeneSearch= selStrNm(4:(patrndash(2)-1));
|
||||
elseif strcmp(selStrNm(1:3),'RF1')
|
||||
usrGeneSearch= selStrNm(1:3);
|
||||
else
|
||||
usrGeneSearch= 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= DexpN:DexpN %n= 1:Exp(expN).DexpLength %LOOP Thru DayExps
|
||||
n= DexpN;
|
||||
MPnum=length(Exp(expN).Dexp(DexpN).MP);
|
||||
DMnum= length(Exp(expN).Dexp(DexpN).DM.drug);
|
||||
|
||||
%Extract expDay from ExpName string
|
||||
dayNpos= max(strfind(Exp(expN).Dexp(DexpN).ExpFoldr, '_D'));
|
||||
dayLbl= Exp(expN).Dexp(DexpN).ExpFoldr(dayNpos+1:end);
|
||||
|
||||
|
||||
%*********************************
|
||||
|
||||
dRF1indx=0;
|
||||
|
||||
usrSp= usrSpec; %user entry of Specifics for Ref selection
|
||||
|
||||
%*******************************************************
|
||||
for mp=1:length(Exp(expN).Dexp(DexpN).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(DexpN).MP(mp).genename{1}(ind384))==38991,
|
||||
Exp(expN).Dexp(DexpN).MP(mp).genename{1}(ind384)={'OCT1_'};
|
||||
elseif isnumeric(cell2mat(Exp(expN).Dexp(DexpN).MP(mp).genename{1}(ind384)))
|
||||
Exp(expN).Dexp(DexpN).MP(mp).genename{1}(ind384)={' '};
|
||||
end
|
||||
%*****************************************************************
|
||||
|
||||
%DISPersed REFerence capture and find Medians
|
||||
if ( ((strcmpi((Exp(expN).Dexp(DexpN).MP(mp).genename{1}(ind384)),usrGeneSearch) && ...
|
||||
strcmpi((Exp(expN).Dexp(DexpN).MP(mp).specifics{1}(ind384)),usrSp)))...
|
||||
|| ((strcmpi((Exp(expN).Dexp(DexpN).MP(mp).genename{1}(ind384)),usrGeneSearch) && ...
|
||||
strcmpi(usrSp,'None'))) ),
|
||||
|
||||
dRF1indx=dRF1indx+1;
|
||||
Exp(expN).Dexp(DexpN).MP(mp).genename{1}(ind384) =strrep((Exp(expN).Dexp(DexpN).MP(mp).genename{1}(ind384)),':',' ');
|
||||
drf(dRF1indx,1)= (Exp(expN).Dexp(DexpN).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(DexpN).MP(mp).specifics{1}(ind384));
|
||||
|
||||
end %if isempty(regexpi(char((Exp(expN).Dexp(DexpN).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(DexpN).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
|
||||
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 d= 1:length(Exp(expN).Dexp(DexpN).DM.drug)
|
||||
for mm=1:length(dMPs) % length(chgIndx)
|
||||
usrScNdisp=((dMPs(mm)-1)*DMnum)+(d);
|
||||
NZusrIndx= drfPindx((find(drfPindx(:,dMPs(mm)))),dMPs(mm)); medianIndxDisp= NZusrIndx;
|
||||
vvL(chgIndx(mm):(chgIndx(mm+1)-1))=Exp(expN).Dexp(DexpN).scan(usrScNdisp).plate(1).CFout(NZusrIndx,5);
|
||||
%For Global Ref Composite 17_1009 %**************************************************************************
|
||||
vvK(chgIndx(mm):(chgIndx(mm+1)-1))=Exp(expN).Dexp(DexpN).scan(usrScNdisp).plate(1).CFout(NZusrIndx,3);
|
||||
vvr(chgIndx(mm):(chgIndx(mm+1)-1))=Exp(expN).Dexp(DexpN).scan(usrScNdisp).plate(1).CFout(NZusrIndx,4);
|
||||
%*****************************************************************************************************
|
||||
end %for mm=1:length(dMPs)
|
||||
|
||||
%****************CALC. GLOBAL MEAN, STD, AND MEDIAN FOR DISTRIBUTED REFERENCES******************************************************************
|
||||
%for d= 1:length(Exp(expN).Dexp(DexpN).DM.drug)
|
||||
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{d}= vvL(NZusrIndxG);
|
||||
UsrKvals{d}= vvK(NZusrIndxG);
|
||||
Usrrvals{d}= vvr(NZusrIndxG);
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
end % if exist('drf','var')
|
||||
|
||||
%END OF DISPERSE
|
||||
%*********************************************************************
|
||||
%####################################################################
|
||||
%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;
|
||||
end
|
||||
|
||||
NoGrowthflg=0;
|
||||
if isempty(vvL),
|
||||
warndlg('No Growth condition found for Gene-Specifics combination. . ','No Growth warning');
|
||||
NoGrowthflg=1;
|
||||
end
|
||||
|
||||
|
||||
%#######################################################################
|
||||
|
||||
|
||||
%***********PLOT Values Selected Gene-Specifics Composite ******************************************try
|
||||
if NoGrowthflg==0
|
||||
smpSz= size(NZusrIndxG,1);
|
||||
K= median(cell2mat((UsrKvals(dmSel)))); Ks= num2str(K); Kstd= std(cell2mat((UsrKvals(dmSel)))); KstdStr= num2str(Kstd);
|
||||
r= median(cell2mat((Usrrvals(dmSel)))); rs= num2str(r); rstd= std(cell2mat((Usrrvals(dmSel)))); rstdStr= num2str(rstd);
|
||||
l= median(cell2mat((UsrLvals(dmSel)))); Ls= num2str(l); Lstd= std(cell2mat((UsrLvals(dmSel)))); LstdStr= num2str(Lstd);
|
||||
Kl= K - Kstd; %std(UsrKvals(dmSel));
|
||||
Ku= K + Kstd; %std(UsrKvals(dmSel));
|
||||
rl= r - rstd; %std(Usrrvals(dmSel));
|
||||
ru= r + rstd; %std(UsrKvals(dmSel));
|
||||
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;
|
||||
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
|
||||
|
||||
|
||||
plateNum=(LBmp-1)*destPerMP + dmSel;
|
||||
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;
|
||||
Exp(expN).Trace(traceN).DexpN= DexpN;
|
||||
for d= 1:length(Exp(expN).Dexp(DexpN).DM.drug) %LOOP Thru DrugMedias
|
||||
Exp(expN).Trace(traceN).Dexp(DexpN).DM(d).UsrLvals= UsrLvals(d);
|
||||
Exp(expN).Trace(traceN).Dexp(DexpN).DM(d).UsrKvals= UsrKvals(d);
|
||||
Exp(expN).Trace(traceN).Dexp(DexpN).DM(d).Usrrvals= Usrrvals(d);
|
||||
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
|
||||
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,'_');
|
||||
|
||||
graphStr= strcat(usrGnSp,'_','L=',Lstr,'_','Ls=',LstdStr,'_','r=',rstr,'_','rs=',rstdStr,'_','K=',Kstr,'Ks=',KstdStr);
|
||||
spotDescrip=strcat(graphStr,'->',DMstr);
|
||||
|
||||
xp=char(Exp(zoneSel).Dexp(DexpN).resDir);
|
||||
if ispc,
|
||||
slashPos=strfind(char(Exp(zoneSel).Dexp(DexpN).resDir),'\');
|
||||
else
|
||||
slashPos=strfind(char(Exp(zoneSel).Dexp(DexpN).resDir),'/');
|
||||
end
|
||||
|
||||
startPos=slashPos(length(slashPos)-1) +1;
|
||||
endPos=slashPos(length(slashPos)) -1
|
||||
expStr= {xp(startPos:endPos)}
|
||||
|
||||
Exp(zoneSel).hOLname(traceN)= spotDescrip;
|
||||
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
|
||||
catch
|
||||
catchissue='Ln141 EZlstBoxExt'
|
||||
msg='Error'
|
||||
end % trycatch zoneSel<4 datatip selection from Image (not from an OverLay Plot)
|
||||
BIN
workflow/apps/matlab/ezview/EZsgdInfo.mat
Executable file
BIN
workflow/apps/matlab/ezview/EZsgdInfo.mat
Executable file
Binary file not shown.
147
workflow/apps/matlab/ezview/EZsingleExUserRF.m
Executable file
147
workflow/apps/matlab/ezview/EZsingleExUserRF.m
Executable file
@@ -0,0 +1,147 @@
|
||||
%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
|
||||
|
||||
|
||||
%for n=1:size(matFile,2)
|
||||
n=1;
|
||||
%*********************************************************************
|
||||
EZmultiGeneRFsLst %**
|
||||
%*********************************************************
|
||||
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
|
||||
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)
|
||||
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
|
||||
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)
|
||||
else
|
||||
set(handles.listboxGnOrf,'string',Exp(2).Dexp(1).srtGnLst)
|
||||
end
|
||||
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');
|
||||
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;
|
||||
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
|
||||
end
|
||||
end
|
||||
|
||||
%***************************
|
||||
% HtMapTog 'string', 'Current user L/N' selection'
|
||||
Exp(expN).Dexp(DexpN).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;
|
||||
|
||||
%*******************************************************************
|
||||
245
workflow/apps/matlab/ezview/EZspotview.m
Executable file
245
workflow/apps/matlab/ezview/EZspotview.m
Executable file
@@ -0,0 +1,245 @@
|
||||
function EZspotview(expN,DexpN, imLoc,OLresDir,OLplateNum,NoOLay)
|
||||
datacursormode(gcf)
|
||||
|
||||
global Exp
|
||||
global ghandles
|
||||
w=pwd;
|
||||
aCnt=0;
|
||||
|
||||
prevExp=0;
|
||||
if NoOLay==0
|
||||
|
||||
cd(fullfile(char(OLresDir)))
|
||||
cd ..
|
||||
expDir=pwd;
|
||||
cd(w)
|
||||
|
||||
%expDir=fullfile(char(OLresDir),'..');
|
||||
if ~isequal(expDir, char(fullfile(Exp(expN).Dexp(DexpN).ExpFoldr)))
|
||||
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),'..');
|
||||
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
|
||||
%<<<<<<<<<<<<<<<<<<<<<<<
|
||||
|
||||
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)))
|
||||
FexpScanSpots=Exp(j).FexpScanSpots;
|
||||
FexpScanBMtp=Exp(j).FexpScanBMtp;
|
||||
anlZoneRefs=Exp(j).anlZoneRefs;
|
||||
ImParMat=Exp(j).ImParMat;
|
||||
matchfound=1;
|
||||
break
|
||||
end
|
||||
end
|
||||
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
|
||||
|
||||
|
||||
%**************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)
|
||||
%}
|
||||
|
||||
%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);
|
||||
|
||||
%*************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))
|
||||
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');
|
||||
%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
|
||||
|
||||
11
workflow/apps/matlab/ezview/EZtableRFdiag.m
Executable file
11
workflow/apps/matlab/ezview/EZtableRFdiag.m
Executable file
@@ -0,0 +1,11 @@
|
||||
%Create and display Reference data in a table
|
||||
global Exp
|
||||
DexpN= Exp(expN).DexpN;
|
||||
rnames=Exp(expN).Dexp(DexpN).RFrnames;
|
||||
data= Exp(expN).Dexp(DexpN).RFdata;
|
||||
cnames= [{'Median'},{'Mean'},{'STD'},{'Minimum'},{'Maximum'}];
|
||||
f = figure('Menubar','none','Position',[1000 100 640 750],'Name',Exp(expN).Dexp(DexpN).ExpFoldr );
|
||||
|
||||
t = uitable('Parent',f,'Data',data,'ColumnName',cnames,...
|
||||
'RowName',rnames,'Position',[20 20 620 730]);
|
||||
|
||||
223
workflow/apps/matlab/ezview/EZusrSelRefx.m
Executable file
223
workflow/apps/matlab/ezview/EZusrSelRefx.m
Executable file
@@ -0,0 +1,223 @@
|
||||
%EZusrSelRef
|
||||
|
||||
%User Select Reference Diaglog Box
|
||||
try
|
||||
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));
|
||||
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 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));
|
||||
|
||||
end
|
||||
|
||||
%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)));
|
||||
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))};
|
||||
|
||||
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 % if exist('drf','var')
|
||||
%END OF DISPERSE REFERENCE PLATAES CALCULATIONS AND LIST ADDITIONS
|
||||
%*********************************************************************
|
||||
|
||||
catch
|
||||
msg= 'Failed attempt to apply User Selected Reference'
|
||||
end %if n==1 && ~exist('RF1scanN','var') && ~exist('RF2scanN','var')
|
||||
|
||||
665
workflow/apps/matlab/ezview/EZvDatatip.asv
Executable file
665
workflow/apps/matlab/ezview/EZvDatatip.asv
Executable file
@@ -0,0 +1,665 @@
|
||||
%EZvDatatip 230802 attempting to fix for R2023a
|
||||
%Calls to EZdestComp.m EZmDayTrend.m
|
||||
|
||||
global ghandles
|
||||
global Exp
|
||||
global zonePB
|
||||
|
||||
RFcmpGFlg=0; %Test 180105 as it goes to EZmDayTrend.m
|
||||
lstBoxCmpFlg=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)<coord(4)
|
||||
picLoc1= [n,m];
|
||||
|
||||
spotFrm= Exp(expN).Dexp(DexpN).FexpScanSpots{plateNum}{m,n,tPtSel}; %20160108
|
||||
end
|
||||
end
|
||||
end %for n=1:16
|
||||
end %for m=1:24
|
||||
destcompMsg= 'GoodDataTip';
|
||||
catch
|
||||
destcompMsg= 'BadDataTip';
|
||||
m
|
||||
n
|
||||
end
|
||||
|
||||
plateLoc= [(17-picLoc1(1)) picLoc1(2)];
|
||||
indx=(plateLoc(1)-1)*24+plateLoc(2);
|
||||
elseif htMapFg==1 %Comes from HeatMap image Haxes
|
||||
plateLoc= ptrPos;
|
||||
indx=(plateLoc(1)-1)*24+plateLoc(2);
|
||||
end
|
||||
Exp(expN).Dexp(DexpN).spotIndx=indx;
|
||||
|
||||
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 expN==1, plotAxes=ghandles.Paxes1; OLaxes=ghandles.OLaxes1;
|
||||
Exp(1).traceN=Exp(1).traceN+1;
|
||||
traceN=Exp(1).traceN;
|
||||
end
|
||||
if expN==2, plotAxes=ghandles.Paxes2; OLaxes=ghandles.OLaxes2;
|
||||
Exp(2).traceN=Exp(2).traceN+1;
|
||||
traceN=Exp(2).traceN;
|
||||
end
|
||||
if expN==3, plotAxes=ghandles.Paxes3; OLaxes=ghandles.OLaxes3;
|
||||
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 for i=1:length(Exp(expN).hOL(:)),set(Exp(expN).hOL(i),'color',[0 0 1]); end, catch, end %ZoneRelated
|
||||
if verLessThan('matlab','8.4')
|
||||
else %accomodate new matlab changes after 2014a fix 23_0807
|
||||
tempFig= figure;
|
||||
end
|
||||
|
||||
Exp(expN).hOL(traceN)=plot(OLaxes,t,g);hold on;
|
||||
|
||||
set(Exp(expN).hOL(traceN),'color',[1 0 0])
|
||||
Exp(expN).hOLb(traceN)=plot(OLaxes,tser,rawData,'g*');
|
||||
|
||||
%Added for Composite Plot utility [C] 170419
|
||||
Exp(expN).ll(traceN)= l; Exp(expN).rr(traceN)= r; Exp(expN).kk(traceN)= K;
|
||||
|
||||
|
||||
%************************************************
|
||||
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 %trycatch
|
||||
%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
|
||||
|
||||
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)};
|
||||
|
||||
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;
|
||||
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;
|
||||
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;
|
||||
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'
|
||||
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
|
||||
end
|
||||
catch
|
||||
msg='Not from an OLay selected trace'
|
||||
end
|
||||
|
||||
|
||||
catch
|
||||
msg='Not in OLay frame-axis 0'
|
||||
end %=> try for Write Selected Trace Info to OLAY header******
|
||||
|
||||
%HIDE HIDE HIDE ---------------------------------------------------
|
||||
%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
|
||||
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
|
||||
end
|
||||
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
|
||||
|
||||
end
|
||||
|
||||
%------HIDE 22222222222222222-----
|
||||
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
|
||||
end
|
||||
|
||||
for i=1:length(Exp(OLay).hOL(:))
|
||||
if htargetAxes==Exp(OLay).hOL(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
|
||||
end
|
||||
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
|
||||
|
||||
%------HIDE 33333333333333-----
|
||||
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
|
||||
end
|
||||
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';
|
||||
|
||||
catch
|
||||
msg='Not in OLay frame-axis 1'
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
%**********************************************************************************
|
||||
|
||||
NoOLay=0;
|
||||
try
|
||||
OLay
|
||||
expN=OLay
|
||||
EZdatatip= 2
|
||||
catch
|
||||
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)
|
||||
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 %**
|
||||
%*************
|
||||
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
|
||||
catch
|
||||
end
|
||||
[output_txt]=datatipp(obj,event_obj);
|
||||
%*********************HeatMap Text Field*********************************
|
||||
try
|
||||
ll=num2str(l);
|
||||
if length(ll)>5,htl= ll(1:5);else htl=ll;end
|
||||
catch
|
||||
htl=' ';
|
||||
end
|
||||
try
|
||||
kk=num2str(K);
|
||||
if length(kk)>5,htk= kk(1:5);else htk=kk;end
|
||||
catch
|
||||
htk=' ';
|
||||
end
|
||||
try
|
||||
rr=num2str(r);
|
||||
if length(rr)>5,htr= rr(1:5);else htr=rr;end
|
||||
catch
|
||||
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
|
||||
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=' ';
|
||||
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
|
||||
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
|
||||
catch
|
||||
end
|
||||
|
||||
%datacursormode(gcf)
|
||||
%**********************************************Test Area
|
||||
%Added 18_0105 to define RFcmpGFlg for EZmDayTrend.m when an Image spot
|
||||
%is clicked
|
||||
|
||||
tempLB= str2mat(selGnOrf)
|
||||
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
|
||||
end
|
||||
|
||||
|
||||
%attemp to accomodate problems in newer Matlab which pops an unneccessay
|
||||
|
||||
%{
|
||||
if verLessThan('matlab','8.4') %)
|
||||
|
||||
else %accomodate new matlab changes after 2014a fix 2nd update 23_0227
|
||||
close(1)
|
||||
end
|
||||
%blank figure that the user has to minimize
|
||||
if verLessThan('matlab','8.4') %original work 23_0227 updated 23_0525 (8.4 changed to 8.3)
|
||||
|
||||
else %accomodate new matlab changes after 2014a fix 2nd update 23_0227
|
||||
clf
|
||||
end
|
||||
|
||||
%}
|
||||
|
||||
668
workflow/apps/matlab/ezview/EZvDatatip.m
Executable file
668
workflow/apps/matlab/ezview/EZvDatatip.m
Executable file
@@ -0,0 +1,668 @@
|
||||
%EZvDatatip 230802 attempting to fix for R2023a
|
||||
%Calls to EZdestComp.m EZmDayTrend.m
|
||||
|
||||
global ghandles
|
||||
global Exp
|
||||
global zonePB
|
||||
|
||||
RFcmpGFlg=0; %Test 180105 as it goes to EZmDayTrend.m
|
||||
lstBoxCmpFlg=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)<coord(4)
|
||||
picLoc1= [n,m];
|
||||
|
||||
spotFrm= Exp(expN).Dexp(DexpN).FexpScanSpots{plateNum}{m,n,tPtSel}; %20160108
|
||||
end
|
||||
end
|
||||
end %for n=1:16
|
||||
end %for m=1:24
|
||||
destcompMsg= 'GoodDataTip';
|
||||
catch
|
||||
destcompMsg= 'BadDataTip';
|
||||
m
|
||||
n
|
||||
end
|
||||
|
||||
plateLoc= [(17-picLoc1(1)) picLoc1(2)];
|
||||
indx=(plateLoc(1)-1)*24+plateLoc(2);
|
||||
elseif htMapFg==1 %Comes from HeatMap image Haxes
|
||||
plateLoc= ptrPos;
|
||||
indx=(plateLoc(1)-1)*24+plateLoc(2);
|
||||
end
|
||||
Exp(expN).Dexp(DexpN).spotIndx=indx;
|
||||
|
||||
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 expN==1, plotAxes=ghandles.Paxes1; OLaxes=ghandles.OLaxes1;
|
||||
Exp(1).traceN=Exp(1).traceN+1;
|
||||
traceN=Exp(1).traceN;
|
||||
end
|
||||
if expN==2, plotAxes=ghandles.Paxes2; OLaxes=ghandles.OLaxes2;
|
||||
Exp(2).traceN=Exp(2).traceN+1;
|
||||
traceN=Exp(2).traceN;
|
||||
end
|
||||
if expN==3, plotAxes=ghandles.Paxes3; OLaxes=ghandles.OLaxes3;
|
||||
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 for i=1:length(Exp(expN).hOL(:)),set(Exp(expN).hOL(i),'color',[0 0 1]); end, catch, end %ZoneRelated
|
||||
if verLessThan('matlab','8.4')
|
||||
else %accomodate new matlab changes after 2014a fix 23_0807
|
||||
tempFig= figure;
|
||||
end
|
||||
|
||||
Exp(expN).hOL(traceN)=plot(OLaxes,t,g);hold on;
|
||||
|
||||
set(Exp(expN).hOL(traceN),'color',[1 0 0])
|
||||
Exp(expN).hOLb(traceN)=plot(OLaxes,tser,rawData,'g*');
|
||||
|
||||
%Added for Composite Plot utility [C] 170419
|
||||
Exp(expN).ll(traceN)= l; Exp(expN).rr(traceN)= r; Exp(expN).kk(traceN)= K;
|
||||
|
||||
|
||||
%************************************************
|
||||
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 %trycatch
|
||||
%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
|
||||
|
||||
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)};
|
||||
|
||||
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'
|
||||
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
|
||||
end
|
||||
catch
|
||||
msg='Not from an OLay selected trace'
|
||||
end
|
||||
|
||||
|
||||
catch
|
||||
msg='Not in OLay frame-axis 0'
|
||||
end %=> try for Write Selected Trace Info to OLAY header******
|
||||
|
||||
%HIDE HIDE HIDE ---------------------------------------------------
|
||||
%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
|
||||
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
|
||||
end
|
||||
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
|
||||
|
||||
end
|
||||
|
||||
%------HIDE 22222222222222222-----
|
||||
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
|
||||
end
|
||||
|
||||
for i=1:length(Exp(OLay).hOL(:))
|
||||
if htargetAxes==Exp(OLay).hOL(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
|
||||
end
|
||||
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
|
||||
|
||||
%------HIDE 33333333333333-----
|
||||
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
|
||||
end
|
||||
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';
|
||||
|
||||
catch
|
||||
msg='Not in OLay frame-axis 1'
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
%**********************************************************************************
|
||||
|
||||
NoOLay=0;
|
||||
try
|
||||
OLay
|
||||
expN=OLay
|
||||
EZdatatip= 2
|
||||
catch
|
||||
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)
|
||||
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 %**
|
||||
%*************
|
||||
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
|
||||
catch
|
||||
end
|
||||
[output_txt]=datatipp(obj,event_obj);
|
||||
%*********************HeatMap Text Field*********************************
|
||||
try
|
||||
ll=num2str(l);
|
||||
if length(ll)>5,htl= ll(1:5);else htl=ll;end
|
||||
catch
|
||||
htl=' ';
|
||||
end
|
||||
try
|
||||
kk=num2str(K);
|
||||
if length(kk)>5,htk= kk(1:5);else htk=kk;end
|
||||
catch
|
||||
htk=' ';
|
||||
end
|
||||
try
|
||||
rr=num2str(r);
|
||||
if length(rr)>5,htr= rr(1:5);else htr=rr;end
|
||||
catch
|
||||
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
|
||||
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=' ';
|
||||
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
|
||||
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
|
||||
catch
|
||||
end
|
||||
|
||||
%datacursormode(gcf)
|
||||
%**********************************************Test Area
|
||||
%Added 18_0105 to define RFcmpGFlg for EZmDayTrend.m when an Image spot
|
||||
%is clicked
|
||||
|
||||
tempLB= str2mat(selGnOrf)
|
||||
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
|
||||
end
|
||||
|
||||
|
||||
%attemp to accomodate problems in newer Matlab which pops an unneccessay
|
||||
|
||||
%{
|
||||
if verLessThan('matlab','8.4') %)
|
||||
|
||||
else %accomodate new matlab changes after 2014a fix 2nd update 23_0227
|
||||
close(1)
|
||||
end
|
||||
%blank figure that the user has to minimize
|
||||
if verLessThan('matlab','8.4') %original work 23_0227 updated 23_0525 (8.4 changed to 8.3)
|
||||
|
||||
else %accomodate new matlab changes after 2014a fix 2nd update 23_0227
|
||||
clf
|
||||
end
|
||||
|
||||
%}
|
||||
|
||||
522
workflow/apps/matlab/ezview/EZvDatatip.m~
Executable file
522
workflow/apps/matlab/ezview/EZvDatatip.m~
Executable file
@@ -0,0 +1,522 @@
|
||||
global ghandles
|
||||
global Exp
|
||||
%datacursormode(gcf)
|
||||
%{
|
||||
[output_txt]=datatipp(obj,event_obj);
|
||||
clkPos=getCursorInfo(datacursormode(gcf));
|
||||
cpos=clkPos.Position;
|
||||
htargetAxes= clkPos.Target;
|
||||
%}
|
||||
%pause(1)
|
||||
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; %zone=1; datacursormode off;
|
||||
elseif ghandles.OLaxes2==get(htargetAxes,'Parent'),OLay=2; %zone=2; datacursormode off;
|
||||
elseif ghandles.OLaxes3==get(htargetAxes,'Parent'),OLay=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
|
||||
|
||||
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;
|
||||
%x2ypos= [1400-cpos(2) cpos(1)] %for HorzRotatedImage
|
||||
ptrPos=[cpos(1),cpos(2)]; %for VerticleImage
|
||||
if htMapFg==0
|
||||
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)<coord(4)
|
||||
picLoc1= [n,m];
|
||||
%indx=(picLoc1(1)-1)*24+picLoc1(2)
|
||||
%spotFrm= Exp(expN).Dexp(DexpN).FexpScanSpots{1}{m,n,tPtSel};
|
||||
spotFrm= Exp(expN).Dexp(DexpN).FexpScanSpots{plateNum}{m,n,tPtSel}; %20160108
|
||||
end
|
||||
end
|
||||
end %for n=1:16
|
||||
end %for m=1:24
|
||||
destcompMsg= 'GoodDataTip';
|
||||
catch
|
||||
destcompMsg= 'BadDataTip';
|
||||
m
|
||||
n
|
||||
end
|
||||
|
||||
plateLoc= [(17-picLoc1(1)) picLoc1(2)];
|
||||
indx=(plateLoc(1)-1)*24+plateLoc(2);
|
||||
elseif htMapFg==1
|
||||
plateLoc= ptrPos;
|
||||
indx=(plateLoc(1)-1)*24+plateLoc(2);
|
||||
end
|
||||
Exp(expN).Dexp(DexpN).spotIndx=indx;
|
||||
|
||||
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 expN==1, plotAxes=ghandles.Paxes1; OLaxes=ghandles.OLaxes1;
|
||||
Exp(1).traceN=Exp(1).traceN+1;
|
||||
traceN=Exp(1).traceN;
|
||||
end
|
||||
if expN==2, plotAxes=ghandles.Paxes2; OLaxes=ghandles.OLaxes2;
|
||||
Exp(2).traceN=Exp(2).traceN+1;
|
||||
traceN=Exp(2).traceN;
|
||||
end
|
||||
if expN==3, plotAxes=ghandles.Paxes3; OLaxes=ghandles.OLaxes3;
|
||||
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 for i=1:length(Exp(expN).hOL(:)),set(Exp(expN).hOL(i),'color',[0 0 1]); end, catch, end %ZoneRelated
|
||||
Exp(expN).hOL(traceN)=plot(OLaxes,t,g);hold on;
|
||||
set(Exp(expN).hOL(traceN),'color',[1 0 0])
|
||||
Exp(expN).hOLb(traceN)=plot(OLaxes,tser,rawData,'g*');
|
||||
|
||||
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 %trycatch
|
||||
%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
|
||||
|
||||
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)));
|
||||
%graphStr=strcat(grfgenestr,'_','L=',num2str(l),'_','r=',num2str(r),'_','K=',num2str(K));
|
||||
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)-1) +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).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(expN).Dexp(DexpN).srtOrfLst)
|
||||
else
|
||||
set(ghandles.listboxGnOrf,'string',Exp(expN).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).srtOrfLst)
|
||||
else
|
||||
set(ghandles.listboxGnOrf,'string',Exp(2).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).srtOrfLst)
|
||||
else
|
||||
set(ghandles.listboxGnOrf,'string',Exp(3).srtGnLst)
|
||||
end
|
||||
end
|
||||
%**************************************************************
|
||||
|
||||
catch
|
||||
msg='NotImage'
|
||||
end % trycatch expN<4 datatip selection from Image (not from an OverLay Plot)
|
||||
%******************************************************************************************
|
||||
%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);
|
||||
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);
|
||||
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);
|
||||
OLplateNum= Exp(OLay).hOLplateNum(i);
|
||||
seltraceN=i;
|
||||
end
|
||||
Exp(OLay).seltraceN=seltraceN;
|
||||
else
|
||||
msg='Cant Find trace'
|
||||
end
|
||||
|
||||
|
||||
end % => for i=1:length(Exp(OLay).hOL(:))
|
||||
|
||||
%Extract row and col values from stored trace label for dest compare plots(EZdestComp)
|
||||
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).scan;
|
||||
EZdatatip=2;
|
||||
catch
|
||||
end
|
||||
|
||||
|
||||
catch
|
||||
msg='Not in OLay frame-axis'
|
||||
end %=> try for Write Selected Trace Info to OLAY header******
|
||||
|
||||
%HIDE HIDE HIDE ---------------------------------------------------
|
||||
%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(:))
|
||||
%htargetAxes %debug info
|
||||
%Exp(OLay).hOL(i) %debug info
|
||||
if htargetAxes==Exp(OLay).hOL(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
|
||||
end
|
||||
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
|
||||
|
||||
end
|
||||
|
||||
%------HIDE 22222222222222222-----
|
||||
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
|
||||
end
|
||||
|
||||
for i=1:length(Exp(OLay).hOL(:))
|
||||
if htargetAxes==Exp(OLay).hOL(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
|
||||
end
|
||||
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
|
||||
|
||||
%------HIDE 33333333333333-----
|
||||
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
|
||||
end
|
||||
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';
|
||||
|
||||
catch
|
||||
msg='Not in OLay frame-axis'
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
%**********************************************************************************
|
||||
%prevExp=1
|
||||
|
||||
NoOLay=0;
|
||||
try
|
||||
OLay
|
||||
expN=OLay
|
||||
catch
|
||||
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, imLoc,OLresDir,OLplateNum,NoOLay)
|
||||
end
|
||||
|
||||
%*******************************GraphicDestinationPertibationComparison**15_821*******************
|
||||
%EZdatatip=1;
|
||||
EZdestComp
|
||||
%********************************
|
||||
|
||||
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
|
||||
[output_txt]=datatipp(obj,event_obj);
|
||||
%*********************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
|
||||
htN1=strcat('_N1=',N1);
|
||||
catch,
|
||||
htN1=' ';
|
||||
end
|
||||
|
||||
try
|
||||
n2= 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=' ';
|
||||
end
|
||||
|
||||
try
|
||||
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
|
||||
catch
|
||||
end
|
||||
|
||||
%datacursormode(gcf)
|
||||
%**********************************************Test Area
|
||||
|
||||
%{
|
||||
if get(ghandles.rotPB3,'value') ==1 && OLay==3,
|
||||
for i=1:length(Exp(OLay).hOL(:))
|
||||
|
||||
for j=1:length(Exp(OLay).hOL(:)) %Set all traces blue
|
||||
set(Exp(OLay).hOL(i),'color',[0 0 1])
|
||||
end
|
||||
if htargetAxes==Exp(OLay).hOL(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
|
||||
end
|
||||
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 %if rotPB3...==1
|
||||
|
||||
%}
|
||||
164
workflow/apps/matlab/ezview/EZvFigPrint.m
Executable file
164
workflow/apps/matlab/ezview/EZvFigPrint.m
Executable file
@@ -0,0 +1,164 @@
|
||||
%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})
|
||||
catch
|
||||
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
|
||||
|
||||
semiLog=0;
|
||||
if isequal(get(ghandles.OLaxes1,'YScale'),'log'), semiLog=1;end
|
||||
if isequal(get(ghandles.OLaxes2,'YScale'),'log'), semiLog=1;end
|
||||
if isequal(get(ghandles.OLaxes3,'YScale'),'log'), semiLog=1;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
|
||||
|
||||
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;
|
||||
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
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
32
workflow/apps/matlab/ezview/EZvImagesOnly.m
Executable file
32
workflow/apps/matlab/ezview/EZvImagesOnly.m
Executable file
@@ -0,0 +1,32 @@
|
||||
%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(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);
|
||||
end
|
||||
I= imread(ExpOutImFile);
|
||||
expAxes=handles.Iaxes1;
|
||||
imshow(I)
|
||||
set(expAxes,'xtick',[],'ytick',[])
|
||||
expAxes=handles.Iaxes2;
|
||||
imshow(I)
|
||||
set(expAxes,'xtick',[],'ytick',[])
|
||||
expAxes=handles.Iaxes3;
|
||||
imshow(I)
|
||||
set(expAxes,'xtick',[],'ytick',[])
|
||||
|
||||
|
||||
956
workflow/apps/matlab/ezview/EZvInitLoad.m
Executable file
956
workflow/apps/matlab/ezview/EZvInitLoad.m
Executable file
@@ -0,0 +1,956 @@
|
||||
%EZvInitLoad
|
||||
clear Exp
|
||||
global Exp
|
||||
global Expaa
|
||||
global Expbb
|
||||
global userPars
|
||||
global usrExpJobsDir %added 23_0508
|
||||
global zonePB %added 230828 to fix migration issues
|
||||
|
||||
userPars.BPdefault= {'on','on','0.3','8','45','1000'};
|
||||
userPars.boxplotFlg= 1;
|
||||
userPars.BPoutliers= 'On';
|
||||
userPars.BPnotch= 'On';
|
||||
userPars.BPlblShft= 0.3;
|
||||
userPars.BPfontSz= 8;
|
||||
userPars.BProt= 45;
|
||||
userPars.Trenddefault= {'1000'};
|
||||
userPars.kfiltLim= str2double(userPars.BPdefault(6));
|
||||
|
||||
%Exp(expN).expLoadCnt=0; ??? May need to add in Future
|
||||
Exp(1).cTraceN= 1; %Added for Cummulative Composite Olay plotting
|
||||
Exp(2).cTraceN= 1;
|
||||
Exp(3).cTraceN= 1;
|
||||
Exp(1).cTraceIndx(1)= 1;
|
||||
Exp(2).cTraceIndx(1)= 1;
|
||||
Exp(3).cTraceIndx(1)= 1;
|
||||
Exp(1).CompositPlot= 0; Exp(2).CompositPlot= 0; Exp(3).CompositPlot= 0;
|
||||
w=pwd;
|
||||
Exp(1).DexpType='single';
|
||||
Exp(2).DexpType='single';
|
||||
Exp(3).DexpType='single';
|
||||
Exp(1).DexpN= 1;
|
||||
Exp(2).DexpN= 1;
|
||||
Exp(3).DexpN= 1;
|
||||
Exp(1).DexpLength= 1;
|
||||
Exp(2).DexpLength= 1;
|
||||
Exp(3).DexpLength= 1;
|
||||
set(handles.DN1,'value',1)
|
||||
set(handles.DN2,'value',1)
|
||||
set(handles.DN3,'value',1)
|
||||
|
||||
set(handles.GeneOrfTog,'value',0)
|
||||
try
|
||||
load 'EZsgdInfo';
|
||||
catch
|
||||
disp('Fail to load EZsgdInfo file from code directory');
|
||||
end
|
||||
Exp(4).SGDnum=SGDnum;
|
||||
Exp(4).SGDtext=SGDtext;
|
||||
Exp(4).SGDraw=SGDraw;
|
||||
Exp(4).interacPBsel=0;
|
||||
%{
|
||||
try
|
||||
%Non PC accommodatition
|
||||
if ispc,cd(fullfile('C:\')); % \Easy\Experiments'));
|
||||
else
|
||||
cd(fullfile('~'))
|
||||
end
|
||||
%}
|
||||
|
||||
try %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
|
||||
load('ExpJobsFldr')
|
||||
catch
|
||||
disp('Fail to load ExpJobsFldr.mat file from code directory. Create one under the [File] Menu option.');
|
||||
end
|
||||
%try %Linux accommodatition
|
||||
if ispc
|
||||
try
|
||||
cd(usrExpJobsDir);
|
||||
catch
|
||||
cd(fullfile('C:\')); %end % \Easy\Experiments'));
|
||||
end
|
||||
|
||||
else
|
||||
try
|
||||
cd(usrExpJobsDir);
|
||||
catch
|
||||
cd(fullfile('~'))
|
||||
end
|
||||
end
|
||||
|
||||
[openExpfile,openExppath] = uigetfile('.mat','Open Experiment folder and data storage .mat file name','MultiSelect','off')
|
||||
|
||||
try
|
||||
ExpOutmat= fullfile(openExppath,openExpfile);
|
||||
load(ExpOutmat);
|
||||
cd(openExppath)
|
||||
cd ..;
|
||||
resDir=pwd;
|
||||
Exp(1).Dexp(1).resDir=resDir;
|
||||
Exp(2).Dexp(1).resDir=resDir;
|
||||
Exp(3).Dexp(1).resDir=resDir;
|
||||
cd ..;
|
||||
try
|
||||
test4imageDir= imread(fullfile(pwd,'1','1.bmp'));
|
||||
ExpPath=pwd;
|
||||
Exp(1).Dexp(1).ExpFoldr=ExpPath;
|
||||
Exp(2).Dexp(1).ExpFoldr=ExpPath;
|
||||
Exp(3).Dexp(1).ExpFoldr=ExpPath;
|
||||
catch
|
||||
try
|
||||
cd ..
|
||||
test4imageDir= imread(fullfile(pwd,'1','1.bmp'));
|
||||
ExpPath=pwd;
|
||||
Exp(1).Dexp(1).ExpFoldr=ExpPath;
|
||||
Exp(2).Dexp(1).ExpFoldr=ExpPath;
|
||||
Exp(3).Dexp(1).ExpFoldr=ExpPath;
|
||||
catch
|
||||
cd(w)
|
||||
end
|
||||
end
|
||||
|
||||
cd(w)
|
||||
load (fullfile(Exp(1).Dexp(1).ExpFoldr,'MasterPlateFiles','MPDMmat.mat'))
|
||||
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;
|
||||
|
||||
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
|
||||
|
||||
Exp(1).traceN=0; Exp(2).traceN=0; Exp(3).traceN=0; %ZoneRelated
|
||||
|
||||
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)
|
||||
try
|
||||
char((Exp(1).Dexp(1).MP(mx).genename{1}(384)))
|
||||
MPnum=mx;
|
||||
catch
|
||||
break
|
||||
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]);
|
||||
|
||||
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,...
|
||||
|
||||
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(openExppath,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,
|
||||
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=[];
|
||||
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'))... %,'\<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'))... %,'\<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
|
||||
error='EZexpSel lineAfter 135 EZvInitLoad.m'
|
||||
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;
|
||||
%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
|
||||
|
||||
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= [];
|
||||
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); %(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;
|
||||
|
||||
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).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;
|
||||
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
|
||||
|
||||
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)={''};
|
||||
|
||||
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
|
||||
|
||||
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;
|
||||
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
|
||||
error='EZexpSel lineAfter 354'
|
||||
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
|
||||
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')
|
||||
|
||||
%*************************************************************************************************
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%*************************************************************************************************
|
||||
%***********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
|
||||
|
||||
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)
|
||||
|
||||
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);
|
||||
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 %~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
|
||||
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
|
||||
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)));
|
||||
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
|
||||
|
||||
Exp(1).Dexp(1).srtGnLst={('CheckMP/MPDMfile')};
|
||||
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(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,openExppath]
|
||||
if isempty(strfind(openExpfile,'.mat'))
|
||||
|
||||
cd(openExppath)
|
||||
cd ..
|
||||
ExpPath=pwd;
|
||||
cd(w)
|
||||
ExpOutImFile= fullfile(openExppath,openExpfile);
|
||||
EZvImagesOnly
|
||||
end
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
%************************************************************************
|
||||
%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;
|
||||
749
workflow/apps/matlab/ezview/EZvInitLoad.m~
Executable file
749
workflow/apps/matlab/ezview/EZvInitLoad.m~
Executable file
@@ -0,0 +1,749 @@
|
||||
%EZvInitLoad
|
||||
clear Exp
|
||||
global Exp
|
||||
|
||||
w=pwd;
|
||||
Exp(1).Dexp(1).DexpType='single';
|
||||
Exp(2).Dexp(1).DexpType='single';
|
||||
Exp(3).Dexp(1).DexpType='single';
|
||||
Exp(1).Dexp(1).DexpType= 1;
|
||||
Exp(2).Dexp(1).DexpN= 1;
|
||||
Exp(3).Dexp(1).DexpN= 1;
|
||||
|
||||
set(handles.GeneOrfTog,'value',0)
|
||||
try load 'EZsgdInfo'; catch disp('Fail to load EZsgdInfo file from code directory'); end
|
||||
Exp(4).SGDnum=SGDnum;
|
||||
Exp(4).SGDtext=SGDtext;
|
||||
Exp(4).SGDraw=SGDraw;
|
||||
Exp(4).interacPBsel=0;
|
||||
try
|
||||
%Non PC accommodatition
|
||||
if ispc,cd(fullfile('C:\')); % \Easy\Experiments'));
|
||||
else
|
||||
cd(fullfile('~'))
|
||||
end
|
||||
|
||||
[openExpfile,openExppath] = uigetfile('.mat','Open Experiment folder and data storage .mat file name','MultiSelect','off')
|
||||
|
||||
try
|
||||
ExpOutmat= fullfile(openExppath,openExpfile);
|
||||
load(ExpOutmat);
|
||||
cd(openExppath)
|
||||
cd ..;
|
||||
resDir=pwd;
|
||||
Exp(1).Dexp(1).resDir=resDir;
|
||||
Exp(2).Dexp(1).resDir=resDir;
|
||||
Exp(3).Dexp(1).resDir=resDir;
|
||||
cd ..;
|
||||
ExpPath=pwd;
|
||||
Exp(1).Dexp(1).ExpFoldr=ExpPath;
|
||||
Exp(2).Dexp(1).ExpFoldr=ExpPath;
|
||||
Exp(3).Dexp(1).ExpFoldr=ExpPath;
|
||||
cd(w)
|
||||
load (fullfile(Exp(1).Dexp(1).ExpFoldr,'MasterPlateFiles','MPDMmat.mat'))
|
||||
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;
|
||||
|
||||
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
|
||||
|
||||
Exp(1).traceN=0; Exp(2).traceN=0; Exp(3).traceN=0; %ZoneRelated
|
||||
|
||||
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;
|
||||
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/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/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.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]);
|
||||
|
||||
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,...
|
||||
|
||||
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(openExppath,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,
|
||||
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=[];
|
||||
for mp=1: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'))... %,'\<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'))... %,'\<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== length(Exp(expN).Dexp(1).MP) ) && ...
|
||||
~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
|
||||
error='EZexpSel lineAfter 135 EZvInitLoad.m'
|
||||
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;
|
||||
%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
|
||||
|
||||
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= [];
|
||||
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
|
||||
|
||||
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)
|
||||
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))};
|
||||
|
||||
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;
|
||||
|
||||
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;
|
||||
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
|
||||
|
||||
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
|
||||
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);
|
||||
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))};
|
||||
|
||||
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;
|
||||
|
||||
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;
|
||||
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
|
||||
error='EZexpSel lineAfter 354'
|
||||
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
|
||||
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')
|
||||
|
||||
%*************************************************************************************************
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%*************************************************************************************************
|
||||
%***********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
|
||||
|
||||
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)
|
||||
|
||||
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);
|
||||
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 %~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
|
||||
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
|
||||
medianIndxD=[];
|
||||
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;
|
||||
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))};
|
||||
|
||||
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;
|
||||
|
||||
|
||||
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
|
||||
|
||||
Exp(1).Dexp(1).srtGnLst={('CheckMP/MPDMfile')};
|
||||
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(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,openExppath]
|
||||
if isempty(strfind(openExpfile,'.mat'))
|
||||
|
||||
cd(openExppath)
|
||||
cd ..
|
||||
ExpPath=pwd;
|
||||
cd(w)
|
||||
ExpOutImFile= fullfile(openExppath,openExpfile);
|
||||
EZvImagesOnly
|
||||
end
|
||||
|
||||
end
|
||||
%*********************************************************
|
||||
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).resetHtmpTg =3; Exp(2).resetHtmpTg =3; Exp(3).resetHtmpTg =3; %ZoneRelated
|
||||
if RFconfig==0,
|
||||
RFconfigMsg= 'No RF1 references in this Experiment Job'
|
||||
Exp(1).resetHtmpTg =1; Exp(2).resetHtmpTg =1; Exp(3).resetHtmpTg =1; %ZoneRelated
|
||||
end
|
||||
catch
|
||||
end
|
||||
|
||||
%*****************************
|
||||
% HtMapTog 'string', 'Current user HL/HN' selection'
|
||||
try
|
||||
Exp(1).htmapPBsel=0;
|
||||
set(handles.HtMapTog1,'string','HL')
|
||||
|
||||
Exp(2).htmapPBsel=0; %ZoneRelated
|
||||
set(handles.HtMapTog2,'string','HL')
|
||||
|
||||
Exp(3).htmapPBsel=0;
|
||||
set(handles.HtMapTog3,'string','HL')
|
||||
|
||||
catch
|
||||
% expN=1;
|
||||
end
|
||||
|
||||
htMapTogPBfg=0;
|
||||
Exp(1).htmapRFanswer= {'G','L'}; %ZoneRelated
|
||||
Exp(2).htmapRFanswer= {'G','L'};
|
||||
Exp(3).htmapRFanswer= {'G','L'};
|
||||
|
||||
|
||||
|
||||
62
workflow/apps/matlab/ezview/EZvNIcircle.m
Executable file
62
workflow/apps/matlab/ezview/EZvNIcircle.m
Executable file
@@ -0,0 +1,62 @@
|
||||
%Disk Image
|
||||
%{
|
||||
%Imaging ToolBox method
|
||||
r=14;
|
||||
A=zeros(70,70); %(fIntsc(refPtR:(refPtRExt),refPtC:(refPtCExt)))
|
||||
m= {40,40};
|
||||
A(m{:})=1;
|
||||
B= imdilate(A,strel('disk',r,0) );
|
||||
imshow(B)
|
||||
|
||||
area=pi*r^2
|
||||
|
||||
clear all
|
||||
%}
|
||||
|
||||
%without Image Proc. Toolbox
|
||||
%r=14;
|
||||
%A=zeros(70,70);
|
||||
%A=zeros(r,r);
|
||||
%P=[40,40];
|
||||
%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];
|
||||
[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;
|
||||
area=pi*radius^2;
|
||||
|
||||
cirPixA= nnz(cirMask);
|
||||
|
||||
optCirMask= double(cirMask);
|
||||
optCirMask(optCirMask==0)= 0.8;
|
||||
|
||||
%+++++++++++Foto Circle Fram(e)+++++++++++++++++++++
|
||||
expansion=2;
|
||||
radExpan= radius+expansion;
|
||||
FdiaExt=2*(radExpan);
|
||||
circBoxA=zeros(FdiaExt,FdiaExt);
|
||||
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)
|
||||
4
workflow/apps/matlab/ezview/EZvStartup.m
Executable file
4
workflow/apps/matlab/ezview/EZvStartup.m
Executable file
@@ -0,0 +1,4 @@
|
||||
%EZviewGui.m startup
|
||||
|
||||
|
||||
EZviewGui
|
||||
4
workflow/apps/matlab/ezview/EZvStartup_Export.m
Executable file
4
workflow/apps/matlab/ezview/EZvStartup_Export.m
Executable file
@@ -0,0 +1,4 @@
|
||||
%EZviewGui_export.m startup
|
||||
|
||||
|
||||
EZviewGui_export
|
||||
4
workflow/apps/matlab/ezview/EZvStartup_mlappLaptop.asv
Executable file
4
workflow/apps/matlab/ezview/EZvStartup_mlappLaptop.asv
Executable file
@@ -0,0 +1,4 @@
|
||||
%EZviewGui_App.mlapp startup
|
||||
|
||||
EZviewGui_App
|
||||
EZviewGui_App
|
||||
4
workflow/apps/matlab/ezview/EZvStartup_mlappLaptop.m
Executable file
4
workflow/apps/matlab/ezview/EZvStartup_mlappLaptop.m
Executable file
@@ -0,0 +1,4 @@
|
||||
%EZviewGui_App.mlapp startup
|
||||
|
||||
|
||||
EZviewGui_App_7
|
||||
4
workflow/apps/matlab/ezview/EZvStartup_mlappServer.m
Executable file
4
workflow/apps/matlab/ezview/EZvStartup_mlappServer.m
Executable file
@@ -0,0 +1,4 @@
|
||||
%EZviewGui_App.mlapp startup
|
||||
|
||||
|
||||
EZviewGui_App
|
||||
160
workflow/apps/matlab/ezview/EZvTrendPrint.m
Executable file
160
workflow/apps/matlab/ezview/EZvTrendPrint.m
Executable file
@@ -0,0 +1,160 @@
|
||||
%EZvFigPrint
|
||||
|
||||
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})
|
||||
catch
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
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;
|
||||
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
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
41
workflow/apps/matlab/ezview/EZvapendLabel.m
Executable file
41
workflow/apps/matlab/ezview/EZvapendLabel.m
Executable file
@@ -0,0 +1,41 @@
|
||||
% Create the text in an axis:
|
||||
|
||||
hFstrip=figure;
|
||||
%figure(hFstrip,'Visible','off')
|
||||
t = text(.05,.05,tmPtTx,'FontSize',8, 'FontWeight','bold'); %, 'FontWeight','demi')
|
||||
%Bspace= zeros(20,size(Fcutsc,2))+255;
|
||||
|
||||
F=[];
|
||||
% Capture the text from the screen:
|
||||
F = getframe(gca,[10 10 200 200]);
|
||||
% Close the figure:
|
||||
close
|
||||
cc=[];
|
||||
c=[];
|
||||
% Select any plane of the resulting image:
|
||||
cc = F.cdata(:,:,1);
|
||||
c= cc(182:195,18:60);
|
||||
%
|
||||
i=[];
|
||||
j=[];
|
||||
% Determine where the text was (black is 0):
|
||||
%[i,j] = find(cc == 0);
|
||||
[i,j] = find(c < 255);
|
||||
|
||||
% Read in or load the image that is to contain the text:
|
||||
|
||||
% Use the size of that image, plus the row/column locations
|
||||
% of the text, to determine locations in the new image:
|
||||
%Bspace= zeros(20,size(Fcutsc,2))+255;
|
||||
Bspace= zeros((210-size(Fcutsc,1)),size(Fcutsc,2))+255;
|
||||
ind=[];
|
||||
ind = sub2ind(size(Bspace),i,j);
|
||||
|
||||
% Index into new image, replacing pixels with white:
|
||||
Bspace(ind) = uint8(0);
|
||||
%figure
|
||||
% Display and color the new image:
|
||||
%imagesc(Bspace)
|
||||
%axis image
|
||||
%colormap(bone)
|
||||
%htest=imagesc(Fstrip)
|
||||
BIN
workflow/apps/matlab/ezview/EZviewGui.fig
Executable file
BIN
workflow/apps/matlab/ezview/EZviewGui.fig
Executable file
Binary file not shown.
2107
workflow/apps/matlab/ezview/EZviewGui.m
Executable file
2107
workflow/apps/matlab/ezview/EZviewGui.m
Executable file
File diff suppressed because it is too large
Load Diff
BIN
workflow/apps/matlab/ezview/EZviewGui_App.mlapp
Executable file
BIN
workflow/apps/matlab/ezview/EZviewGui_App.mlapp
Executable file
Binary file not shown.
BIN
workflow/apps/matlab/ezview/EZviewGui_App230920.mlapp
Executable file
BIN
workflow/apps/matlab/ezview/EZviewGui_App230920.mlapp
Executable file
Binary file not shown.
BIN
workflow/apps/matlab/ezview/EZviewGui_App4.mlapp
Executable file
BIN
workflow/apps/matlab/ezview/EZviewGui_App4.mlapp
Executable file
Binary file not shown.
BIN
workflow/apps/matlab/ezview/EZviewGui_AppOK.mlapp
Executable file
BIN
workflow/apps/matlab/ezview/EZviewGui_AppOK.mlapp
Executable file
Binary file not shown.
BIN
workflow/apps/matlab/ezview/EZviewGui_AppXX.mlapp
Executable file
BIN
workflow/apps/matlab/ezview/EZviewGui_AppXX.mlapp
Executable file
Binary file not shown.
BIN
workflow/apps/matlab/ezview/EZviewGui_App_0.mlapp
Executable file
BIN
workflow/apps/matlab/ezview/EZviewGui_App_0.mlapp
Executable file
Binary file not shown.
BIN
workflow/apps/matlab/ezview/EZviewGui_App_1.mlapp
Executable file
BIN
workflow/apps/matlab/ezview/EZviewGui_App_1.mlapp
Executable file
Binary file not shown.
BIN
workflow/apps/matlab/ezview/EZviewGui_App_1b.mlapp
Executable file
BIN
workflow/apps/matlab/ezview/EZviewGui_App_1b.mlapp
Executable file
Binary file not shown.
BIN
workflow/apps/matlab/ezview/EZviewGui_App_2.mlapp
Executable file
BIN
workflow/apps/matlab/ezview/EZviewGui_App_2.mlapp
Executable file
Binary file not shown.
BIN
workflow/apps/matlab/ezview/EZviewGui_App_2Bad.mlapp
Executable file
BIN
workflow/apps/matlab/ezview/EZviewGui_App_2Bad.mlapp
Executable file
Binary file not shown.
BIN
workflow/apps/matlab/ezview/EZviewGui_App_3.mlapp
Executable file
BIN
workflow/apps/matlab/ezview/EZviewGui_App_3.mlapp
Executable file
Binary file not shown.
BIN
workflow/apps/matlab/ezview/EZviewGui_App_4.mlapp
Executable file
BIN
workflow/apps/matlab/ezview/EZviewGui_App_4.mlapp
Executable file
Binary file not shown.
BIN
workflow/apps/matlab/ezview/EZviewGui_App_5.mlapp
Executable file
BIN
workflow/apps/matlab/ezview/EZviewGui_App_5.mlapp
Executable file
Binary file not shown.
BIN
workflow/apps/matlab/ezview/EZviewGui_App_6.mlapp
Executable file
BIN
workflow/apps/matlab/ezview/EZviewGui_App_6.mlapp
Executable file
Binary file not shown.
BIN
workflow/apps/matlab/ezview/EZviewGui_App_7.mlapp
Executable file
BIN
workflow/apps/matlab/ezview/EZviewGui_App_7.mlapp
Executable file
Binary file not shown.
13199
workflow/apps/matlab/ezview/EZviewGui_export.m
Executable file
13199
workflow/apps/matlab/ezview/EZviewGui_export.m
Executable file
File diff suppressed because it is too large
Load Diff
BIN
workflow/apps/matlab/ezview/EZviewGui_export.mat
Executable file
BIN
workflow/apps/matlab/ezview/EZviewGui_export.mat
Executable file
Binary file not shown.
12783
workflow/apps/matlab/ezview/EZviewGui_export230905.m
Executable file
12783
workflow/apps/matlab/ezview/EZviewGui_export230905.m
Executable file
File diff suppressed because it is too large
Load Diff
65
workflow/apps/matlab/ezview/EZviewInfoBox.m
Executable file
65
workflow/apps/matlab/ezview/EZviewInfoBox.m
Executable file
@@ -0,0 +1,65 @@
|
||||
%{
|
||||
%One time create EZsgdInfo .mat file
|
||||
[SGDnum SGDtext SGDraw]=xlsread('GnOrfDesc.xls');
|
||||
save('EZsgdInfo','SGDnum','SGDtext','SGDraw')
|
||||
%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;
|
||||
a=[];
|
||||
if get(handles.GeneOrfTog,'value')==0
|
||||
gene=MP(1,LBmp).genename{1,1}(indx);
|
||||
gnLength=length(char(gene));
|
||||
a=find(strncmpi(text(:,6,:),gene,gnLength));
|
||||
if ~isempty(a)
|
||||
desc=char(text(a,32,:));
|
||||
proc=char(text(a,18,:));
|
||||
func=char(text(a,19,:));
|
||||
loc=char(text(a,20,:));
|
||||
orfXref=char(text(a,2,:));
|
||||
gnXref=char(text(a,6,:));
|
||||
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));
|
||||
a=find(strncmpi(text(:,2,:),orf,orfLength));
|
||||
if ~isempty(a)
|
||||
desc=char(text(a,32,:));
|
||||
proc=char(text(a,18,:));
|
||||
func=char(text(a,19,:));
|
||||
loc=char(text(a,20,:));
|
||||
gnXref=char(text(a,6,:));
|
||||
if strcmpi(gnXref,'HO'), gnXref=strcat('RF_,',gnXref);end
|
||||
name=strcat(char(gnXref),'->',char(orf));
|
||||
end
|
||||
end
|
||||
if isempty(a)
|
||||
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));
|
||||
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));
|
||||
elseif isempty(b)
|
||||
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')
|
||||
BIN
workflow/apps/matlab/ezview/ExpJobsFldr.mat
Executable file
BIN
workflow/apps/matlab/ezview/ExpJobsFldr.mat
Executable file
Binary file not shown.
BIN
workflow/apps/matlab/ezview/MyColormap1.mat
Executable file
BIN
workflow/apps/matlab/ezview/MyColormap1.mat
Executable file
Binary file not shown.
BIN
workflow/apps/matlab/ezview/MyColormap2.mat
Executable file
BIN
workflow/apps/matlab/ezview/MyColormap2.mat
Executable file
Binary file not shown.
BIN
workflow/apps/matlab/ezview/MyColormaps.mat
Executable file
BIN
workflow/apps/matlab/ezview/MyColormaps.mat
Executable file
Binary file not shown.
144
workflow/apps/matlab/ezview/TempBU/Copy_of_EZviewGui_App_7_report.html
Executable file
144
workflow/apps/matlab/ezview/TempBU/Copy_of_EZviewGui_App_7_report.html
Executable file
@@ -0,0 +1,144 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Migration Report for EZviewGui</title>
|
||||
<style type="text/css">
|
||||
html body {
|
||||
height: 100%;
|
||||
padding: 0; margin: 0;
|
||||
color: #474747;
|
||||
font: 13px/1.384 Arial, Helvetica, sans-serif;
|
||||
}
|
||||
/*Report Title Header*/
|
||||
h1 {
|
||||
font-family: Futura, Arial, Helvetica, sans-serif;
|
||||
font-size: 28px;
|
||||
font-weight: 400;
|
||||
color: #fff;
|
||||
margin: 0;
|
||||
padding: 15px;
|
||||
}
|
||||
/*Report Section Headers*/
|
||||
h2 {
|
||||
padding-bottom: 2px;
|
||||
margin: 20px 0 17px 0;
|
||||
border-bottom: 1px solid #cbcbcb;
|
||||
color: #c45400;
|
||||
font: normal normal 22px/1.136 Arial,Helvetica,sans-serif;
|
||||
}
|
||||
/*Report Subsection Headers*/
|
||||
h3 {
|
||||
margin: 20px 0 20px 0;
|
||||
font: normal bold 17px/1.35 Arial, Helvetica, sans-serif;
|
||||
}
|
||||
ul.childHasIcon {
|
||||
padding-left: 20px;
|
||||
}
|
||||
ul > li.success {
|
||||
list-style: none;
|
||||
/*Check-mark image*/
|
||||
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAK2SURBVHjaVJNPaFRXFMZ/b96MmUZGURMyHaoTa0QrRReD4KIlwriRRhPpoi1ddeNG4krFRbAbceOf0qJuSoWWWlooIiKlCSkp1ARksEmpi8GSQjKJUSYk/p1J5r17vi7ee609cFf3+33n3HvO8SgdJYn+oZFODw4DBxB7hYoSMzJVZBo12a2fzr9X55XwEoOBoZGyYNCDfgEyIQkMzIRkBKupYXN89svVg8OJgU+hxMDQSBk45+GVJSJQQk5IYGbIhIfrcSF78ttrC3P336wC+ANXlzqBs0A5EgtkSMJMMRxXFN11mSm/pr05sTSXX0qBDkvqj0Qx6MBC/QuVt77Pp/uvkV9bxJzhZ5r7cx2LHwGZtMQBGUhRmSaB/Zd9rb+OD98+zub1Paxbs5FjNw9GJm2NXuDLtMz2RuUC8VsVG2T9di4fGqaQ6+ZubZTvJ69goWEy/PTKTmBDykxFc0LOOLHvMu+8cQjnjDRtXDsyTiHXTaU2xpmfP6EyO4Y5Q6EgFXQBubRMM+a0zcx4t9hHb3c/j5/Ncbr3Cpva80w9HOfU7Q8IwhbmonaagQv8x0A25ZxVzAxz4tupS0jG5323eT1XZHL+DoM3+mgFLZwzEp2c0WpmqsBKypxGLb785vcLfH3vAgCT878xeKMvAp1FM5Ecg5Wn6+8Bz1Pm3K1W0xu2UFhofDf5BX8t/snFsZPxDMSZzaLOSKw2suOPHuyaAJb9v+c+bmze/aBuTnuE6wrCgJt/fMVyox6NcNwRCTARtjLV5fkt1+vTb1WAmk+hxOzUjumOrTMLkuVTXtCdgMmHJTux2nxt/Ml88Xptat+vwCzw0qdQAmCh2lPNZBsTJluU8ySsDazdhf6j1sts5cVS548P75d+qE/vrMTw8v+28ZXIAB3ABiAHZIEV4HkMLQJBIv5nAPq180UQOlmCAAAAAElFTkSuQmCC') no-repeat;
|
||||
padding-left: 20px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
ul.verifications > li {
|
||||
margin: 7px 0 7px 0;
|
||||
}
|
||||
table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
table,th,tr,td {
|
||||
border: 1px solid #ccc;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
padding: 8px 15px;
|
||||
}
|
||||
tr:nth-child(odd) {
|
||||
background-color: #fafafa;
|
||||
}
|
||||
a { color: #187dbb; text-decoration: none; }
|
||||
a:visited { color: #004b87; text-decoration: none; }
|
||||
a:hover { color: #004b87; text-decoration: underline;}
|
||||
code {
|
||||
font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
|
||||
}
|
||||
.reportTitle {
|
||||
min-height: 52px;
|
||||
background: #2f7eb2;
|
||||
}
|
||||
.reportBody {
|
||||
padding: 0 15px 0 15px;
|
||||
}
|
||||
/*Classes that are used by HTML that is added dynamically by the report generator */
|
||||
.detailsWorkaround {
|
||||
padding: 10px 0px;
|
||||
}
|
||||
.detailsWorkaroundHeader {
|
||||
padding-right: 5px;
|
||||
font-weight: bold;
|
||||
}
|
||||
.hidden {
|
||||
display: none;
|
||||
}
|
||||
.visible {
|
||||
display: block;
|
||||
}
|
||||
.showMore {
|
||||
margin-top: 5px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="reportTitle">
|
||||
<h1>Migration Report for <code>EZviewGui</code></h1>
|
||||
</div>
|
||||
<div class="reportBody">
|
||||
<section>
|
||||
<h3>Your GUIDE app was migrated to App Designer and is ready for validation.</h3>
|
||||
<h2>Migration Results</h2>
|
||||
<ul class="childHasIcon">
|
||||
<li class="success"><b>EZviewGui_App_7.mlapp</b> file created</li>
|
||||
<li class="success"><b>2105</b> lines of code analyzed in EZviewGui.m</li>
|
||||
<li class="success"><b>160</b> components created and initialized</li>
|
||||
<li class="success"><b>75</b> callbacks and utility functions configured and enabled to function in App Designer</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>Validate Your Migrated App</h2>
|
||||
<p>The migration tool enables most of your app code to execute. Now, you need to fully validate your migrated app to make sure it behaves as expected. Consider doing the following verifications:</p>
|
||||
<ul>
|
||||
<li>Verify Layout
|
||||
<ul class="verifications">
|
||||
<li>Run your app and verify the initial layout of all components is as expected.</li>
|
||||
<li>If your app dynamically shows, hides, or enables additional components or options in response to selections made within the app, confirm these behave as expected.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Verify Callbacks
|
||||
<ul class="verifications">
|
||||
<li>Run and close your app to confirm there are no startup or termination errors.</li>
|
||||
<li>Exercise the workflows specific to your app, starting with the most basic, and gradually proceeding to the more complex ones.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p>If unexpected errors occur, either within the app or at the MATLAB command line, address those issues before continuing with the validation. For troubleshooting assistance and additional information, see <a href="matlab:helpview(fullfile(docroot,'matlab', 'creating_guis', 'differences-between-app-designer-and-guide.html#mw_7f306e19-74d0-4c0b-989d-74ed63e32ddd'));">GUIDE Migration Strategies</a>.</p>
|
||||
</section>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
// Toggles showing the "Show More (10)" hyperlink with the "Show less" hyperlink
|
||||
function toggleShowMore(selectedHyperlink) {
|
||||
// Find the parent td for the selected hyperlink ("Show more" or "Show less")
|
||||
var td = selectedHyperlink.parentElement.parentElement;
|
||||
|
||||
// Toggle the "hidden" class on all of the elements but the first 3. The first 3 we want to always be
|
||||
// visible.
|
||||
var tags = td.children;
|
||||
for (var i=3; i<tags.length; i++) {
|
||||
tags[i].classList.toggle("hidden");
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
1321
workflow/apps/matlab/ezview/TempBU/EZexpSel230830issues.m
Executable file
1321
workflow/apps/matlab/ezview/TempBU/EZexpSel230830issues.m
Executable file
File diff suppressed because it is too large
Load Diff
426
workflow/apps/matlab/ezview/TempBU/EZhtMapBU230628.m
Executable file
426
workflow/apps/matlab/ezview/TempBU/EZhtMapBU230628.m
Executable file
@@ -0,0 +1,426 @@
|
||||
%EZhtMap
|
||||
global Exp
|
||||
global ghandles
|
||||
global adj
|
||||
global flip
|
||||
|
||||
if isempty(adj), adj=1.5; flip='T'; end
|
||||
load('MyColormap1','modJet1')
|
||||
load('MyColormap2','modJet2')
|
||||
%load('MyColormap2','modJet0')
|
||||
%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;
|
||||
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
|
||||
catch
|
||||
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));
|
||||
|
||||
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)
|
||||
for j=1:size(L,2)
|
||||
if L(i,j)>LpStd,
|
||||
L4hMap(i,j)= LpStd;
|
||||
elseif L(i,j)<LnStd && L(i,j)~=0
|
||||
L4hMap(i,j)= LnStd;
|
||||
elseif L(i,j)== 0
|
||||
L4hMap(i,j)= LpStd+0.2*std(L(:));
|
||||
|
||||
else
|
||||
L4hMap(i,j)= L(i,j);
|
||||
end
|
||||
end
|
||||
end
|
||||
%L4hMap= 1-(L4hMap/(max(L4hMap(:))));
|
||||
%---------------------------------------------------
|
||||
if prntHt== 0
|
||||
hTogHt= figure;
|
||||
h=image(cleanPallet); %hTogHt=image(cleanPallet);
|
||||
h=image(L4hMap); %hTogHt=image(L4hMap);
|
||||
if isequal(char(flip) , 'T')
|
||||
colormap(flipud(modJet1)) %(flipud(hot)) %(jet); % invert heat map for L so that fastgrowth is 'hotter' red
|
||||
else
|
||||
colormap(modJet2)
|
||||
end
|
||||
set(h,'CDataMapping','scale') %set(hTogHt,'CDataMapping','scale')
|
||||
else
|
||||
figure
|
||||
h= image(cleanPallet); %hTogHt= image(cleanPallet);
|
||||
h=image(L4hMap); %hTogHt=image(L4hMap);
|
||||
if isequal(char(flip) , 'T')
|
||||
colormap(flipud(modJet1)) %(flipud(hot)) %(jet); % invert heat map for L so that fastgrowth is 'hotter' red
|
||||
else
|
||||
colormap(modJet2)
|
||||
end
|
||||
set(h,'CDataMapping','scale')
|
||||
end
|
||||
|
||||
%h=image(L);
|
||||
%colormap(flipud(hot)) %(jet); % invert heat map for L so that fastgrowth is 'hotter' red
|
||||
%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
|
||||
%if expN==1,cla(handles.HtMap1);copyobj(hTogHt,ghandles.HtMap1);end
|
||||
%if expN==2,cla(handles.HtMap2);copyobj(hTogHt,ghandles.HtMap2);end
|
||||
%if expN==3,cla(handles.HtMap3);copyobj(hTogHt,ghandles.HtMap3);end
|
||||
close(hTogHt)
|
||||
else %if clicking to produce a 'printable' save display
|
||||
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('L HeatMap for - ',expLblHtmap),strcat('MP=',num2str(mpSel),' ,DM=',num2str(dmSel),mediaLBhtmap)})
|
||||
end
|
||||
|
||||
%3333333333 KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
|
||||
elseif htTog==1
|
||||
colormap(modJet1);
|
||||
K= Exp(expN).Dexp(DexpN).scan(scnN).plate.CFout(:,3);
|
||||
K=reshape(K,24,16);
|
||||
%Data rescaling for Heatmap display (color ranged mean+/std*multiplier)
|
||||
pStd= mean(nonzeros(K(:)))+(adj*std(nonzeros(K(:))));
|
||||
nStd= mean(nonzeros(K(:)))-(adj*std(nonzeros(K(:))));
|
||||
for i=1:size(K,1)
|
||||
for j=1:size(K,2)
|
||||
if K(i,j)>pStd,
|
||||
hMap(i,j)= pStd;
|
||||
elseif K(i,j)<nStd && K(i,j)~=0
|
||||
hMap(i,j)= nStd;
|
||||
elseif K(i,j)== 0
|
||||
hMap(i,j)= nStd-0.2*std(K(:));
|
||||
else
|
||||
hMap(i,j)= K(i,j);
|
||||
end
|
||||
end
|
||||
end
|
||||
%---------------------------------------------------
|
||||
if prntHt== 0
|
||||
hTogHt= figure;
|
||||
h=image(cleanPallet);
|
||||
else
|
||||
figure
|
||||
h= image(cleanPallet);
|
||||
end
|
||||
%h=image(cleanPallet);
|
||||
h=image(hMap);
|
||||
colormap(modJet1); % 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('K HeatMap for - ',expLblHtmap),strcat('MP=',num2str(mpSel),' ,DM=',num2str(dmSel),mediaLBhtmap)})
|
||||
end
|
||||
%444444444 rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
|
||||
elseif htTog==2
|
||||
colormap(modJet1);
|
||||
r= Exp(expN).Dexp(DexpN).scan(scnN).plate.CFout(:,4);
|
||||
r=reshape(r,24,16);
|
||||
%Data rescaling for Heatmap display (color ranged mean+/std*multiplier)
|
||||
pStd= mean(nonzeros(r(:)))+(adj*std(nonzeros(r(:))));
|
||||
nStd= mean(nonzeros(r(:)))-(adj*std(nonzeros(r(:))));
|
||||
for i=1:size(r,1)
|
||||
for j=1:size(r,2)
|
||||
if r(i,j)>pStd,
|
||||
hMap(i,j)= pStd;
|
||||
elseif r(i,j)<nStd && r(i,j)~=0,
|
||||
hMap(i,j)= nStd;
|
||||
elseif r(i,j)== 0
|
||||
hMap(i,j)= nStd-0.2*std(r(:));
|
||||
else
|
||||
hMap(i,j)= r(i,j);
|
||||
end
|
||||
end
|
||||
end
|
||||
%---------------------------------------------------
|
||||
if prntHt== 0
|
||||
hTogHt= figure;
|
||||
h=image(cleanPallet);
|
||||
else
|
||||
figure
|
||||
h= image(cleanPallet);
|
||||
end
|
||||
%h=image(cleanPallet);
|
||||
h=image(hMap);
|
||||
colormap(modJet1); % 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('r HeatMap for - ',expLblHtmap),strcat('MP=',num2str(mpSel),' ,DM=',num2str(dmSel),mediaLBhtmap)})
|
||||
end
|
||||
|
||||
%33333333333333333333333333333333333333333333333333333(1111111111111111111)
|
||||
elseif htTog==3
|
||||
RFconfig=Exp(expN).RFconfig; %ZoneRelated
|
||||
if htMapTogPBfg==1
|
||||
if RFconfig==2,
|
||||
QctrlRF= 'Select Distributed Control RF option: (G)Global, (L)Local';
|
||||
QpertRF= 'Select Distributed Perturbation RF option: (G)Global, (L)Local';
|
||||
defaultanswer= {'G','L'}; %{'80','60','100','3,4,5','N','39','Y','G','L'};
|
||||
try defaultanswer= Exp(expN).htmapRFanswer; catch, defaultanswer= {'G','L'};end %ZoneRelated
|
||||
end
|
||||
if RFconfig==3,
|
||||
QctrlRF= 'Select Control RF option: (F)FullPlate, (G)GlobalDistributed, (L)LocalDistributed';
|
||||
QpertRF= 'Select Perturbation RF option: (F)FullPlate, (G)GlobalDistributed, (L)LocalDistributed';
|
||||
defaultanswer={'F','L'}; %{'80','60','100','3,4,5','N','39','Y','F','L'};
|
||||
try defaultanswer= Exp(expN).htmapRFanswer; catch, defaultanswer= {'F','L'}; end %ZoneRelated
|
||||
end
|
||||
|
||||
if RFconfig~=1,
|
||||
prompt={
|
||||
QctrlRF,...
|
||||
QpertRF,...
|
||||
};
|
||||
name='Interaction User Input';
|
||||
numlines=1;
|
||||
answer=inputdlg(prompt,name,numlines,defaultanswer);
|
||||
if RFconfig==2,
|
||||
if ~ismember(answer{1},['g' 'G' 'l' 'L']), answer(1)=defaultanswer(1); end
|
||||
if ~ismember(answer{2},['g' 'G' 'l' 'L']), answer(2)=defaultanswer(2); end
|
||||
end
|
||||
if RFconfig==3,
|
||||
if ~ismember(answer{1},['f' 'F' 'g' 'G' 'l' 'L']), answer(1)=defaultanswer(1); end
|
||||
if ~ismember(answer{2},['f' 'F' 'g' 'G' 'l' 'L']), answer(2)=defaultanswer(2); end
|
||||
end
|
||||
answer(1)= strrep(answer(1),'f','F'); answer(1)= strrep(answer(1),'g','G'); answer(1)= strrep(answer(1),'l','L');
|
||||
answer(2)= strrep(answer(2),'f','F'); answer(2)= strrep(answer(2),'g','G'); answer(2)= strrep(answer(2),'l','L');
|
||||
Exp(expN).htmapRFanswer= answer; %ZoneRelated %store user last selections
|
||||
end
|
||||
end %if htMapTogPBfg==1
|
||||
htMapTogPBfg=0;
|
||||
answer= Exp(expN).htmapRFanswer; %ZoneRelated
|
||||
|
||||
%for j=1:1 %dmN
|
||||
% for m=1:1 %mpN
|
||||
j=dmSel;
|
||||
DM0= dmSel; DMj= dmSel;
|
||||
m= mpSel;
|
||||
%****************
|
||||
anN= [1 2]; %*
|
||||
EZintRFs %* Call subroutine to interpret user RF inputs & det. Rn and Rs values
|
||||
%****************
|
||||
scnNdm1= 1 + (dmN*(m-1))
|
||||
scnN= j + (dmN*(m-1)) % 1,6,11..; 2,7,12 ..; 3,8,13..;
|
||||
Xn{m,j,1}= [];
|
||||
Xln{m,j,1}= [];
|
||||
Xhn{m,j,1}= [];
|
||||
Xn{m,1,:}=Exp(expN).Dexp(DexpN).scan(scnNdm1).plate(1).CFout(:,5);
|
||||
Xln{m,1,:}=Exp(expN).Dexp(DexpN).scan(scnNdm1).plate(1).CFout(:,11); %Exp(expN).Dexp(DexpN).scan(DM{j}(m)).plate(1).CFout(:,11);
|
||||
Xhn{m,1,:}=Exp(expN).Dexp(DexpN).scan(scnNdm1).plate(1).CFout(:,12); %Exp(expN).Dexp(DexpN).scan(DM{j}(m)).plate(1).CFout(:,12);
|
||||
Xn{m,j,:}=Exp(expN).Dexp(DexpN).scan(scnN).plate(1).CFout(:,5); %Exp(expN).Dexp(DexpN).scan(DM{j}(m)).plate(1).CFout(:,5);
|
||||
htmpCpyXn=Xn{m,j,:}'; % Use to find and delineate no growth spots with 999 in text field (infinite interaction) value;
|
||||
|
||||
Xn{m,j,:}(Xn{m,j,:}==0)= 1.2*(max(Xn{m,j,:})); %to keep the colormap scale tighter %=140;
|
||||
Xln{m,j,:}=Exp(expN).Dexp(DexpN).scan(scnN).plate(1).CFout(:,11); %Exp(expN).Dexp(DexpN).scan(DM{j}(m)).plate(1).CFout(:,11);
|
||||
Xhn{m,j,:}=Exp(expN).Dexp(DexpN).scan(scnN).plate(1).CFout(:,12); %Exp(expN).Dexp(DexpN).scan(DM{j}(m)).plate(1).CFout(:,12);
|
||||
|
||||
%*********************************************************
|
||||
%intL{m,j,:} = ((Xn{m,j,:} - Xn{m,1,:}) - (Rn(j)-Rn(1)));
|
||||
intL= ((Xn{m,j,:} - Xn{m,1,:}) - (Rn(j)-Rn(1)));
|
||||
Exp(expN).HtMpIntN2=intL; %ZoneRelated
|
||||
%{
|
||||
intL{m,j,:}(Xn{m,j,:}==1.2*(max(Xn{m,j,:})))= 100;
|
||||
intL{m,j,:}(intL{m,j,:}==0)=-0.0001;
|
||||
%}
|
||||
percentRs= 100;
|
||||
RsReduced(j)= percentRs/100* Rs(j);
|
||||
|
||||
deltaRp(j)= (Rn(j)+RsReduced(j))-(Rn(1)+RsReduced(1));
|
||||
deltaRn(j)=(Rn(j)-RsReduced(j))-(Rn(1)-RsReduced(1));
|
||||
if deltaRp(j)==0, deltaRp(j)=0.0002; end
|
||||
if deltaRn(j)==0, deltaRn(j)=0.0002; end
|
||||
|
||||
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);
|
||||
|
||||
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)
|
||||
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}= [];
|
||||
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
|
||||
I=reshape(intL,24,16);
|
||||
|
||||
if prntHt== 0
|
||||
hTogHt= figure;
|
||||
h=image(cleanPallet);
|
||||
elsef
|
||||
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('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
|
||||
%************* *****
|
||||
641
workflow/apps/matlab/ezview/TempBU/EZinteractDev4.m
Executable file
641
workflow/apps/matlab/ezview/TempBU/EZinteractDev4.m
Executable file
@@ -0,0 +1,641 @@
|
||||
%single gene L based interaction shift display
|
||||
%function EZinteractDev4
|
||||
global Exp
|
||||
|
||||
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 sum(ismember(fieldnames(Exp(expN).Dexp(DexpN)),'RFmean'))&&...
|
||||
~isempty(Exp(expN).Dexp(DexpN).RFmean)&&...
|
||||
sum(ismember(fieldnames(Exp(expN).Dexp(DexpN)),'RFmeanG'))&&...
|
||||
isempty(Exp(expN).Dexp(DexpN).RFmeanG)
|
||||
RFconfig=1;
|
||||
end
|
||||
if sum(ismember(fieldnames(Exp(expN).Dexp(DexpN)),'RFmean'))==0 ||...
|
||||
isempty(Exp(expN).Dexp(DexpN).RFmean)&&...
|
||||
sum(ismember(fieldnames(Exp(expN).Dexp(DexpN)),'RFmeanG'))&&...
|
||||
~isempty(Exp(expN).Dexp(DexpN).RFmeanG)
|
||||
RFconfig=2;
|
||||
end
|
||||
if sum(ismember(fieldnames(Exp(expN).Dexp(DexpN)),'RFmean'))&&...
|
||||
~isempty(Exp(expN).Dexp(DexpN).RFmean)&&...
|
||||
sum(ismember(fieldnames(Exp(expN).Dexp(DexpN)),'RFmeanG'))&&...
|
||||
~isempty(Exp(expN).Dexp(DexpN).RFmeanG)
|
||||
RFconfig=3;
|
||||
end
|
||||
if (sum(ismember(fieldnames(Exp(expN).Dexp(DexpN)),'RFmean'))==0 ||...
|
||||
isempty(Exp(expN).Dexp(DexpN).RFmean))&&...
|
||||
(sum(ismember(fieldnames(Exp(expN).Dexp(DexpN)),'RFmeanG'))==0||...
|
||||
isempty(Exp(expN).Dexp(DexpN).RFmeanG))
|
||||
return
|
||||
end
|
||||
|
||||
%RFconfig= 2; %1= FullPlateOnly; 2= DistributedOnly; 3= Both FullPlate && Distributed
|
||||
|
||||
if RFconfig==1,
|
||||
defaultanswer={'80','60','100','3,4,5','N','39','Y'};
|
||||
end
|
||||
|
||||
if RFconfig==2,
|
||||
QctrlRF= 'Select Distributed Control RF option: (G)Global, (L)Local';
|
||||
QpertRF= 'Select Distributed Perturbation RF option: (G)Global, (L)Local';
|
||||
defaultanswer={'80','60','100','3,4,5','N','39','Y','G','L'};
|
||||
end
|
||||
if RFconfig==3,
|
||||
QctrlRF= 'Select Control RF option: (F)FullPlate, (G)GlobalDistributed, (L)LocalDistributed';
|
||||
QpertRF= 'Select Perturbation RF option: (F)FullPlate, (G)GlobalDistributed, (L)LocalDistributed';
|
||||
defaultanswer={'80','60','100','3,4,5','N','39','Y','F','L'};
|
||||
|
||||
end
|
||||
|
||||
|
||||
%User Input decode for application ***************************
|
||||
if RFconfig==1,
|
||||
prompt={'Enter LeftSide Central Boundary in Percent:',...
|
||||
'Enter RightSide Central Boundary in Percent:', ...
|
||||
'Enter percent of Reference Standard Deviation to use', ...
|
||||
'Enter Perturbation Numbers for set intersect:' ...
|
||||
'Remove No Growth Infinite Interactors:' ...
|
||||
'Number of Bins for Histograms'...
|
||||
'Subplots(Y), Multiple Plots(N), Suspend Plots(S)'};
|
||||
else
|
||||
prompt={'Enter LeftSide Central Boundary in Percent:',...
|
||||
'Enter RightSide Central Boundary in Percent:', ...
|
||||
'Enter percent of Reference Standard Deviation to use', ...
|
||||
'Enter Perturbation Numbers for set intersect:' ...
|
||||
'Remove No Growth Infinite Interactors:' ...
|
||||
'Number of Bins for Histograms'...
|
||||
'Subplots(Y), Multiple Plots(N), Suspend Plots(S)',...
|
||||
QctrlRF,...
|
||||
QpertRF,...
|
||||
};
|
||||
end
|
||||
name='Interaction User Input';
|
||||
numlines=1;
|
||||
%defaultanswer={'80','60','100','3,4,5','N','39','Y','0,',''};
|
||||
answer=inputdlg(prompt,name,numlines,defaultanswer);
|
||||
|
||||
negPercent= str2double(cell2mat(answer(1)));
|
||||
posPercent= str2double(cell2mat(answer(2)));
|
||||
percentRs= str2double(cell2mat(answer(3)));
|
||||
DMstr= cell2mat(answer(4));
|
||||
DMcomas=strfind((cell2mat(answer(4))),',');
|
||||
removInfinL= answer(5);
|
||||
numBins= str2double(cell2mat(answer(6)));
|
||||
subplotX= answer(7);
|
||||
|
||||
%{
|
||||
rfMPstr= cell2mat(answer(8));
|
||||
rfMPcomas=strfind((cell2mat(answer(8))),',');
|
||||
rfGeneName= answer(9);
|
||||
n=0;
|
||||
rfMPsel(1)=0;
|
||||
for i= rfMPcomas,
|
||||
n=n+1
|
||||
rfMPsel(n)= str2double(rfMPstr(i-1:i))
|
||||
if i== max(rfMPcomas)
|
||||
rfMPsel(n+1)= str2double(rfMPstr(i:end))
|
||||
end
|
||||
end
|
||||
%}
|
||||
n=0;
|
||||
for i= DMcomas,
|
||||
n=n+1
|
||||
DMsel(n)= str2double(DMstr(i-1:i))
|
||||
if i== max(DMcomas)
|
||||
DMsel(n+1)= str2double(DMstr(i:end))
|
||||
end
|
||||
end
|
||||
|
||||
%**************************************************************
|
||||
|
||||
|
||||
|
||||
%Rn=Exp(expN).Dexp(DexpN).RFmean;
|
||||
%Rs=Exp(expN).Dexp(DexpN).RFstd;
|
||||
|
||||
dmN= length(Exp(expN).Dexp(DexpN).DM.drug);
|
||||
mpN= length(Exp(expN).Dexp(DexpN).MP);
|
||||
%Intc1=3; IntcLst=5;
|
||||
%Calculate Interaction values (with and without
|
||||
%standardDeviation/Upper-Lower boundary compensation
|
||||
|
||||
|
||||
|
||||
for j=1:dmN
|
||||
for m=1:mpN
|
||||
%****************
|
||||
DM0= 1;
|
||||
DMj= j;
|
||||
anN= [8 9];
|
||||
EZintRFs %* Call subroutine to interpret user RF inputs
|
||||
%****************
|
||||
scnN= j + (dmN*(m-1)) % 1,6,11..; 2,7,12 ..; 3,8,13..;
|
||||
Xn{m,j,:}=Exp(expN).Dexp(DexpN).scan(scnN).plate(1).CFout(:,5); %Exp(expN).Dexp(DexpN).scan(DM{j}(m)).plate(1).CFout(:,5);
|
||||
Xn{m,j,:}(Xn{m,j,:}==0)= 140;
|
||||
Xln{m,j,:}=Exp(expN).Dexp(DexpN).scan(scnN).plate(1).CFout(:,11); %Exp(expN).Dexp(DexpN).scan(DM{j}(m)).plate(1).CFout(:,11);
|
||||
Xhn{m,j,:}=Exp(expN).Dexp(DexpN).scan(scnN).plate(1).CFout(:,12); %Exp(expN).Dexp(DexpN).scan(DM{j}(m)).plate(1).CFout(:,12);
|
||||
|
||||
methCalc=1;
|
||||
|
||||
if methCalc==0
|
||||
intL{m,j,:} = (Xn{m,j,:} - Rn(j));
|
||||
intL{m,j,:}(Xn{m,j,:}==140)= 100;
|
||||
else
|
||||
intL{m,j,:} = ((Xn{m,j,:} - Xn{m,1,:}) - (Rn(j)-Rn(1)));
|
||||
intL{m,j,:}(Xn{m,j,:}==140)= 100;
|
||||
intL{m,j,:}(intL{m,j,:}==0)=-0.1;
|
||||
end
|
||||
|
||||
if methCalc==0
|
||||
deltaXR{m,j}= zeros(1,384);
|
||||
deltaXR{m,j}(Xn{m,j} >=(Rn(j)+Rs(j)))= ( Xln{m,j}(Xn{m,j} >=(Rn(j)+Rs(j))))- (Rn(j)+Rs(j));
|
||||
deltaXR{m,j}(Xn{m,j} < (Rn(j)-Rs(j)))= ( Xhn{m,j}(Xn{m,j} < (Rn(j)-Rs(j))))- (Rn(j)-Rs(j));
|
||||
Xneg= Xhn{m,j}- (Rn(j)-Rs(j));
|
||||
Xpos= Xln{m,j}- (Rn(j)+Rs(j));
|
||||
|
||||
|
||||
for i=1:length(Xpos(:)),
|
||||
%deltaXR{m,j}(i)= Xpos(i);
|
||||
if deltaXR{m,j}(i)==0
|
||||
try
|
||||
if abs(Xpos(i))<abs(Xneg(i)), deltaXR{m,j}(i)= Xpos(i);end
|
||||
catch, end
|
||||
end
|
||||
end
|
||||
for i=1:length(Xneg(:)),
|
||||
if deltaXR{m,j}(i)==0, deltaXR{m,j}(i)= Xneg(i); end
|
||||
try
|
||||
if abs(Xpos(i))>abs(Xneg(i)), deltaXR{m,j}(i)= Xneg(i); end
|
||||
catch
|
||||
end
|
||||
end
|
||||
%else else else else
|
||||
else %if methCalc~=0
|
||||
%percentRs= 100;
|
||||
RsReduced(j)= percentRs/100* Rs(j)
|
||||
%{
|
||||
Yn{m,j}= Xn{m,j}-Xn{m,1}; %Yn is deltaXn
|
||||
Yn{m,j}(Yn{m,j}==0)=-0.5;
|
||||
Yln{m,j}= Xln{m,j}-Xln{m,1};
|
||||
Yln{m,j}(Yln{m,j}==0)=-0.5;
|
||||
Yhn{m,j}= Xhn{m,j}-Xhn{m,1};
|
||||
Yhn{m,j}(Yhn{m,j}==0)=-0.5;
|
||||
%}
|
||||
|
||||
%deltaRp(j)= (Rn(j)+RsReduced(j))-Rn(1); %
|
||||
deltaRp(j)= (Rn(j)+RsReduced(j))-(Rn(1)+RsReduced(1));
|
||||
%deltaRn(j)= (Rn(j)-RsReduced(j))-Rn(1); %
|
||||
deltaRn(j)=(Rn(j)-RsReduced(j))-(Rn(1)-RsReduced(1));
|
||||
if deltaRp(j)==0, deltaRp(j)=0.2; end
|
||||
if deltaRn(j)==0, deltaRn(j)=0.2; end
|
||||
|
||||
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
|
||||
|
||||
%**************************************************************************
|
||||
end %if methCalc==0
|
||||
|
||||
deltaXR{m,j,:}(Xn{m,j,:}==140)= 100;
|
||||
deltaXR{m,j,:}(Xln{m,j,:}==0)= 100;
|
||||
deltaXR{m,j,:}(isnan(Xln{m,j,:}))= 120;
|
||||
deltaXR{m,j,:}(Xhn{m,j,:}==0)= 100;
|
||||
deltaXR{m,j,:}(isnan(Xhn{m,j,:}))= 120;
|
||||
|
||||
|
||||
|
||||
|
||||
%Compile all gene related L values for the each pert-DM (j).
|
||||
addend= (1+((m-1)*384)) %((((m-1)*j)*384)+1);
|
||||
intLcmp(addend:addend+383,j)= cell2mat(intL(m,j,:)); %((addend:addend+383),j)= cell2mat(intL(j,m,:));
|
||||
intLadjcmp(addend:addend+383,j)= cell2mat(deltaXR(m,j,:)); %((addend:addend+383),j)= cell2mat(deltaXR(j,m,:));
|
||||
|
||||
end %m=1:mpN
|
||||
%Remove RFs and Blank (or non annotated ' ') orf data Then
|
||||
%Filter data per user intput
|
||||
intLc{j}= intLcmp(:,j);
|
||||
intLwoRFs{j}(1,:)= intLcmp(Exp(expN).Dexp(DexpN).mutSpotIndx.woRFs,j);
|
||||
intLwoRFs{j}(2,:)= Exp(expN).Dexp(DexpN).mutSpotIndx.woRFs;%Index of non-RF non-blank spots %Crude early intLcmp(385:(mpN-1)*384,j);
|
||||
|
||||
if strcmpi(removInfinL,'Y')
|
||||
|
||||
intLwoRFs0{j}(1,:)= intLwoRFs{j}(1,(intLwoRFs{j}(1,:)~= 100)); %intLcmp(Exp(1).mutSpotIndx.woRFs,j);
|
||||
intLwoRFs0{j}(2,:)= intLwoRFs{j}(2,(intLwoRFs{j}(1,:)~= 100)); % intLcmp(385:(mpN-1)*384,j);
|
||||
clear intLwoRFs
|
||||
intLwoRFs{j}(1,:)= intLwoRFs0{j}(1,:);
|
||||
intLwoRFs{j}(2,:)= intLwoRFs0{j}(2,:);
|
||||
end
|
||||
|
||||
|
||||
intLwoRFsorted{j}= sortrows(intLwoRFs{j}',1);
|
||||
|
||||
clear intLcmpSortGT0 intLcmpSortLT0
|
||||
tempIntL= intLwoRFsorted{j}(:,1);
|
||||
intLcmpSortGT0= tempIntL((tempIntL) >0);
|
||||
if ~isempty(intLcmpSortGT0)
|
||||
centPosCnt= round(posPercent/100 * length(intLcmpSortGT0));
|
||||
intLposSel{j}=intLwoRFsorted{j}((length(intLcmpSortGT0)+centPosCnt): end,:);
|
||||
posIntboundryCentralVal(j)= intLcmpSortGT0((centPosCnt),:); %For Histogram use
|
||||
else
|
||||
posIntboundryCentralVal(j)= 0;
|
||||
end
|
||||
|
||||
intLcmpSortLT0= tempIntL((tempIntL) <0);
|
||||
if ~isempty(intLcmpSortLT0)
|
||||
centNegCnt= round(negPercent/100 * length(intLcmpSortLT0));
|
||||
intLnegSel{j}=intLwoRFsorted{j}((1:(length(intLcmpSortLT0)-centNegCnt)),:);
|
||||
negIntboundryCentralVal(j)= intLcmpSortLT0(((length(intLcmpSortLT0))-(centNegCnt)),:); %For Histogram use
|
||||
else
|
||||
negIntboundryCentralVal(j)=0;
|
||||
end
|
||||
|
||||
|
||||
%Find potential Interactors within selected range
|
||||
if j== DMsel(1) %Intc1,
|
||||
InterslstPos{1}= intLposSel{DMsel(1)}(:,2) %intLcmpposInd{Intc1}
|
||||
InterslstNeg{1}= intLnegSel{DMsel(1)}(:,2) %intLcmpnegInd{Intc1}
|
||||
elseif sum(ismember(DMsel,j))==1 %Intc1 && j<=IntcLst
|
||||
InterslstPos{1}=(intersect(InterslstPos{1},intLposSel{j}(:,2))); %,intLcmpposInd{j}))
|
||||
InterslstNeg{1}=(intersect(InterslstNeg{1},intLnegSel{j}(:,2))); %,intLcmpnegInd{j}))
|
||||
end
|
||||
|
||||
|
||||
%Convolute experiment spot index to get scan#, MP# and plateIndx needed
|
||||
%later to obtain genename and other descriptors and correlate data
|
||||
try
|
||||
intLposDIndx{j}(:,2)=ceil((intLposSel{j}(:,2))/384); %mp plate numb column
|
||||
intLposDIndx{j}(:,3)=(rem(intLposSel{j}(:,2),384));
|
||||
nn=(intLposDIndx{j}(:,3)==0);
|
||||
intLposDIndx{j}(nn,3)= 384;
|
||||
intLposDIndx{j}(:,1)= j + (dmN*((intLposDIndx{j}(:,2))-1)); %scan numb column %intLposDIndx(:,2)* intLposDIndx(:,3);
|
||||
catch
|
||||
end
|
||||
try
|
||||
intLnegDIndx{j}(:,2)=ceil((intLnegSel{j}(:,2))/384); %mp plate numb column
|
||||
intLnegDIndx{j}(:,3)=(rem(intLnegSel{j}(:,2),384));
|
||||
nn=(intLnegDIndx{j}(:,3)==0); %fixed 170405 was using (intL'pos'DIndx{j}(:,3)==0);
|
||||
intLnegDIndx{j}(nn,3)= 384;
|
||||
intLnegDIndx{j}(:,1)= j + (dmN*((intLnegDIndx{j}(:,2))-1)); %scan numb
|
||||
catch
|
||||
end
|
||||
%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
%********************************************************************************************
|
||||
%ADJUSTED L for Reference Standard deviation(More conservative) Interaction List compilation
|
||||
if strcmpi(removInfinL,'N')
|
||||
intLadjwoRFs{j}(1,:)=intLadjcmp(Exp(expN).Dexp(DexpN).mutSpotIndx.woRFs,j);
|
||||
intLadjwoRFs{j}(2,:)= Exp(expN).Dexp(DexpN).mutSpotIndx.woRFs; %intLadjcmp(385:(mpN-1)*384,j); %intLadjcmp(Exp(expN).Dexp(DexpN).mutSpotIndx.woRFs,j);
|
||||
|
||||
elseif strcmpi(removInfinL,'Y')
|
||||
intLadjwoRFs{j}(1,:)=intLadjcmp(Exp(expN).Dexp(DexpN).mutSpotIndx.woRFs,j);
|
||||
intLadjwoRFs{j}(2,:)= Exp(expN).Dexp(DexpN).mutSpotIndx.woRFs; %intLadjcmp(385:(mpN-1)*384,j); %intLadjcmp(Exp(expN).Dexp(DexpN).mutSpotIndx.woRFs,j);
|
||||
intLadjwoRFs100{j}(1,:)= intLadjwoRFs{j}(1,(intLadjwoRFs{j}(1,:)~= 100)) ; %intLcmp(Exp(1).mutSpotIndx.woRFs,j);
|
||||
intLadjwoRFs100{j}(2,:)= intLadjwoRFs{j}(2,(intLadjwoRFs{j}(1,:)~= 100)) ; % Remove Index where spots are infinite (=100);
|
||||
intLadjwoRFs0{j}(1,:)= intLadjwoRFs100{j}(1,(intLadjwoRFs100{j}(1,:)~= 0)); % Remove Index where spots are indeterminely within the range of Ref STD
|
||||
intLadjwoRFs0{j}(2,:)= intLadjwoRFs100{j}(2,(intLadjwoRFs100{j}(1,:)~= 0)); % Remove Index where spots are indeterminely within the range of Ref STD
|
||||
clear intLadjwoRFs
|
||||
intLadjwoRFs{j}(1,:)= intLadjwoRFs0{j}(1,:); %Put filtered results back into intLadjwoRFs
|
||||
intLadjwoRFs{j}(2,:)= intLadjwoRFs0{j}(2,:); %Put filtered results back into intLadjwoRFs
|
||||
end
|
||||
|
||||
intLwoRFsortedAdj{j}= sortrows(intLadjwoRFs{j}',1);
|
||||
clear intLadjSortGT0 intLadjSortLT0
|
||||
tempIntLadj= intLwoRFsortedAdj{j}(:,1);
|
||||
intLadjSortLT0= tempIntLadj((tempIntLadj) <0);
|
||||
intLadjSort0s= tempIntLadj(tempIntLadj ==0)
|
||||
intLadjSortGT0= tempIntLadj(tempIntLadj >0); %=0);
|
||||
|
||||
if ~isempty(intLadjSortGT0)&& ~isempty(intLadjSortLT0)
|
||||
centPosCntAdj= round(posPercent/100 * length(intLadjSortGT0));
|
||||
intLposSelAdj{j}=intLwoRFsortedAdj{j}((length(intLadjSortLT0)+ length(intLadjSort0s) + centPosCntAdj): end,:);
|
||||
posIntboundryCentralValAdj(j)= intLadjSortGT0(centPosCntAdj,:);
|
||||
else
|
||||
posIntboundryCentralValAdj(j)= 0;
|
||||
end
|
||||
|
||||
if ~isempty(intLadjSortLT0)
|
||||
try
|
||||
centNegCntAdj= round(negPercent/100 * length(intLadjSortLT0));
|
||||
intLnegSelAdj{j}=intLwoRFsortedAdj{j}((1:(length(intLadjSortLT0)-centNegCntAdj)),:);
|
||||
negIntboundryCentralValAdj(j)= intLadjSortLT0(((length(intLadjSortLT0))-(centNegCntAdj)),:);
|
||||
catch,negIntboundryCentralValAdj(jj)= 1;
|
||||
end
|
||||
else
|
||||
negIntboundryCentralValAdj(j)= 1;
|
||||
end
|
||||
|
||||
if j== DMsel(1) %Intc1,
|
||||
InterslstPosAdj{1}= intLposSelAdj{DMsel(1)}(:,2) %intLcmpposInd{Intc1}
|
||||
InterslstNegAdj{1}= intLnegSelAdj{DMsel(1)}(:,2) %intLcmpnegInd{Intc1}
|
||||
elseif sum(ismember(DMsel,j))==1 % j>Intc1 && j<=IntcLst
|
||||
InterslstPosAdj{1}=(intersect(InterslstPosAdj{1},intLposSelAdj{j}(:,2))); %,intLcmpposInd{j}))
|
||||
InterslstNegAdj{1}=(intersect(InterslstNegAdj{1},intLnegSelAdj{j}(:,2))); %,intLcmpnegInd{j}))
|
||||
end
|
||||
|
||||
|
||||
%Convolute experiment spot index to get scan#, MP# and plateIndx needed
|
||||
%later to obtain genename and other descriptors and correlate data
|
||||
try
|
||||
intLposDIndxAdj{j}(:,2)=ceil((intLposSelAdj{j}(:,2))/384); %mp plate numb column
|
||||
intLposDIndxAdj{j}(:,3)=(rem(intLposSelAdj{j}(:,2),384));
|
||||
nn=(intLposDIndxAdj{j}(:,3)==0);
|
||||
intLposDIndx{j}(nn,3)= 384;
|
||||
intLposDIndxAdj{j}(:,1)= j + (dmN*((intLposDIndxAdj{j}(:,2))-1)); %scan numb column %intLposDIndx(:,2)* intLposDIndx(:,3);
|
||||
catch
|
||||
end
|
||||
try
|
||||
intLnegDIndxAdj{j}(:,2)=ceil((intLnegSelAdj{j}(:,2))/384); %mp plate numb column
|
||||
intLnegDIndxAdj{j}(:,3)=(rem(intLnegSelAdj{j}(:,2),384));
|
||||
nn=(intLnegDIndxAdj{j}(:,3)==0); %Fixed 170405 (intL'pos'DIndxAdj{j}(:,3)==0);
|
||||
intLnegDIndxAdj{j}(nn,3)= 384;
|
||||
intLnegDIndxAdj{j}(:,1)= j + (dmN*((intLnegDIndxAdj{j}(:,2))-1)); %scan numb
|
||||
catch
|
||||
end
|
||||
|
||||
end %j=1:dmN
|
||||
%****************************************************************************************
|
||||
%*****End of Main looping proceedure***********************************************************************************
|
||||
%****************************************************************************************
|
||||
|
||||
%get interaction values for each DM drugmedia agar type
|
||||
IntersValsPos= intLcmp(InterslstPos{1},DMsel);
|
||||
IntersValsNeg= intLcmp(InterslstNeg{1},DMsel);
|
||||
IntersValsPosAdj= intLadjcmp(InterslstPosAdj{1},DMsel);
|
||||
IntersValsNegAdj= intLadjcmp(InterslstNegAdj{1},DMsel);
|
||||
%*********************************************************
|
||||
|
||||
%Build 'genelist' data sheet for interactors
|
||||
selIntPx{1}(:,6)=InterslstPos{1};
|
||||
selIntPx{1}(:,2)=ceil((InterslstPos{1})/384); %mp plate numb column
|
||||
selIntPx{1}(:,3)=(rem(InterslstPos{1},384));
|
||||
nn=(selIntPx{1}(:,3)==0);
|
||||
selIntPx{1}(nn,3)= 384;
|
||||
selIntPx{1}(:,4)= ceil(selIntPx{1}(:,3)/24); %row numb
|
||||
selIntPx{1}(:,5)= rem(selIntPx{1}(:,3),24);
|
||||
mm=(selIntPx{1}(:,5)==0);
|
||||
selIntPx{1}(mm,5)= 24;
|
||||
selIntPx{1}(:,1)= j + (dmN*((selIntPx{1}(:,2))-1)); %scan numb column %intLposDIndx(:,2)* intLposDIndx(:,3);
|
||||
selIntP= cell2mat(selIntPx);
|
||||
|
||||
selIntNx{1}(:,6)=InterslstNeg{1};
|
||||
selIntNx{1}(:,2)=ceil((InterslstNeg{1})/384); %mp plate numb column
|
||||
selIntNx{1}(:,3)=(rem(InterslstNeg{1},384));
|
||||
nn=(selIntNx{1}(:,3)==0);
|
||||
selIntNx{1}(nn,3)= 384;
|
||||
selIntNx{1}(:,4)= ceil(selIntNx{1}(:,3)/24); %row numb
|
||||
selIntNx{1}(:,5)= rem(selIntNx{1}(:,3),24);
|
||||
mm=(selIntNx{1}(:,5)==0);
|
||||
selIntNx{1}(mm,5)= 24;
|
||||
|
||||
selIntNx{1}(:,1)= j + (dmN*((selIntNx{1}(:,2))-1)); %scan numb
|
||||
selIntN= cell2mat(selIntNx);
|
||||
|
||||
for i=1:size(selIntP,1)
|
||||
IPgene(i)=Exp(expN).Dexp(DexpN).MP(selIntP(i,2)).genename{1}(selIntP(i,3));
|
||||
IPorf(i)= Exp(expN).Dexp(DexpN).MP(selIntP(i,2)).orf{1}(selIntP(i,3));
|
||||
IPstrain(i)= Exp(expN).Dexp(DexpN).MP(selIntP(i,2)).strain{1}(selIntP(i,3));
|
||||
IPspecifics(i)=Exp(expN).Dexp(DexpN).MP(selIntP(i,2)).specifics{1}(selIntP(i,3));
|
||||
IPorfRep(i)=Exp(expN).Dexp(DexpN).MP(selIntP(i,2)).orfRep{1}(selIntP(i,3));
|
||||
|
||||
%Bad this is the L data for only the last selected DM perturbation
|
||||
%Would need to calculate each scan# for each DMsel value
|
||||
ipL(i)= Exp(expN).Dexp(DexpN).scan(selIntP(i,1)).plate(1).CFout(selIntP(i,3),5);
|
||||
ipLlower(i)= Exp(expN).Dexp(DexpN).scan(selIntP(i,1)).plate(1).CFout(selIntP(i,3),11);
|
||||
ipLupper(i)= Exp(expN).Dexp(DexpN).scan(selIntP(i,1)).plate(1).CFout(selIntP(i,3),12);
|
||||
%*************************************************************************
|
||||
end
|
||||
|
||||
for i=1:size(selIntN,1)
|
||||
INgene(i)=Exp(expN).Dexp(DexpN).MP(selIntN(i,2)).genename{1}(selIntN(i,3));
|
||||
INorf(i)= Exp(expN).Dexp(DexpN).MP(selIntN(i,2)).orf{1}(selIntN(i,3));
|
||||
INstrain(i)= Exp(expN).Dexp(DexpN).MP(selIntN(i,2)).strain{1}(selIntN(i,3));
|
||||
INspecifics(i)=Exp(expN).Dexp(DexpN).MP(selIntN(i,2)).specifics{1}(selIntN(i,3));
|
||||
INorfRep(i)=Exp(expN).Dexp(DexpN).MP(selIntN(i,2)).orfRep{1}(selIntN(i,3));
|
||||
|
||||
%Bad this is the L data for only the last selected DM perturbation
|
||||
%Would need to calculate each scan# for each DMsel value
|
||||
inL(i)= Exp(expN).Dexp(DexpN).scan(selIntN(i,1)).plate(1).CFout(selIntN(i,3),5);
|
||||
inLlower(i)= Exp(expN).Dexp(DexpN).scan(selIntN(i,1)).plate(1).CFout(selIntN(i,3),11);
|
||||
inLupper(i)= Exp(expN).Dexp(DexpN).scan(selIntN(i,1)).plate(1).CFout(selIntN(i,3),12);
|
||||
%*************************************************************************
|
||||
end
|
||||
|
||||
%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
%**************************************************************************************
|
||||
%ADJUSTED with STD and curve fit boundaries to produce more conservative interaction values
|
||||
|
||||
%Build 'genelist' data sheet for interactors
|
||||
selIntPxAdj{1}(:,2)=ceil((InterslstPosAdj{1})/384); %mp plate numb column
|
||||
selIntPxAdj{1}(:,3)=(rem(InterslstPosAdj{1},384));
|
||||
nn=(selIntPxAdj{1}(:,3)==0);
|
||||
selIntPxAdj{1}(nn,3)= 384;
|
||||
selIntPxAdj{1}(:,4)= ceil(selIntPxAdj{1}(:,3)/24); %row numb
|
||||
selIntPxAdj{1}(:,5)= rem(selIntPxAdj{1}(:,3),24);
|
||||
mm=(selIntPxAdj{1}(:,5)==0);
|
||||
selIntPxAdj{1}(mm,5)= 24;
|
||||
|
||||
selIntPxAdj{1}(:,1)= j + (dmN*((selIntPxAdj{1}(:,2))-1)); %scan numb column %intLposDIndx(:,2)* intLposDIndx(:,3);
|
||||
selIntPAdj= cell2mat(selIntPxAdj);
|
||||
|
||||
if ~isempty(InterslstNegAdj{1})
|
||||
selIntNxAdj{1}(:,2)=ceil((InterslstNegAdj{1})/384); %mp plate numb column
|
||||
selIntNxAdj{1}(:,3)=(rem(InterslstNegAdj{1},384));
|
||||
nn=(selIntNxAdj{1}(:,3)==0);
|
||||
selIntNxAdj{1}(nn,3)= 384;
|
||||
selIntNxAdj{1}(:,4)= ceil(selIntNxAdj{1}(:,3)/24); %row numb
|
||||
selIntNxAdj{1}(:,5)= rem(selIntNxAdj{1}(:,3),24);
|
||||
mm=(selIntNxAdj{1}(:,5)==0);
|
||||
selIntNxAdj{1}(mm,5)= 24;
|
||||
|
||||
selIntNxAdj{1}(:,1)= j + (dmN*((selIntNxAdj{1}(:,2))-1)); %scan numb
|
||||
selIntNAdj= cell2mat(selIntNxAdj);
|
||||
end
|
||||
for i=1:size(selIntPAdj,1)
|
||||
IPgeneAdj(i)=Exp(expN).Dexp(DexpN).MP(selIntPAdj(i,2)).genename{1}(selIntPAdj(i,3));
|
||||
IPorfAdj(i)= Exp(expN).Dexp(DexpN).MP(selIntPAdj(i,2)).orf{1}(selIntPAdj(i,3));
|
||||
IPstrainAdj(i)= Exp(expN).Dexp(DexpN).MP(selIntPAdj(i,2)).strain{1}(selIntPAdj(i,3));
|
||||
IPspecificsAdj(i)=Exp(expN).Dexp(DexpN).MP(selIntPAdj(i,2)).specifics{1}(selIntPAdj(i,3));
|
||||
IPorfRepAdj(i)=Exp(expN).Dexp(DexpN).MP(selIntPAdj(i,2)).orfRep{1}(selIntPAdj(i,3));
|
||||
|
||||
%Bad this is the L data for only the last selected DM perturbation
|
||||
%Would need to calculate each scan# for each DMsel value
|
||||
ipLAdj(i)= Exp(expN).Dexp(DexpN).scan(selIntPAdj(i,1)).plate(1).CFout(selIntPAdj(i,3),5);
|
||||
ipLlowerAdj(i)= Exp(expN).Dexp(DexpN).scan(selIntPAdj(i,1)).plate(1).CFout(selIntPAdj(i,3),11);
|
||||
ipLupperAdj(i)= Exp(expN).Dexp(DexpN).scan(selIntPAdj(i,1)).plate(1).CFout(selIntPAdj(i,3),12);
|
||||
%************************************************************************************
|
||||
end
|
||||
if ~isempty(InterslstNegAdj{1})
|
||||
for i=1:size(selIntNAdj,1)
|
||||
INgeneAdj(i)=Exp(expN).Dexp(DexpN).MP(selIntNAdj(i,2)).genename{1}(selIntNAdj(i,3));
|
||||
INorfAdj(i)= Exp(expN).Dexp(DexpN).MP(selIntNAdj(i,2)).orf{1}(selIntNAdj(i,3));
|
||||
INstrainAdj(i)= Exp(expN).Dexp(DexpN).MP(selIntNAdj(i,2)).strain{1}(selIntNAdj(i,3));
|
||||
INspecificsAdj(i)=Exp(expN).Dexp(DexpN).MP(selIntNAdj(i,2)).specifics{1}(selIntNAdj(i,3));
|
||||
INorfRepAdj(i)=Exp(expN).Dexp(DexpN).MP(selIntNAdj(i,2)).orfRep{1}(selIntNAdj(i,3));
|
||||
|
||||
%Bad this is the L data for only the last selected DM perturbation
|
||||
%Would need to calculate each scan# for each DMsel value
|
||||
inLAdj(i)= Exp(expN).Dexp(DexpN).scan(selIntNAdj(i,1)).plate(1).CFout(selIntNAdj(i,3),5);
|
||||
inLlowerAdj(i)= Exp(expN).Dexp(DexpN).scan(selIntNAdj(i,1)).plate(1).CFout(selIntNAdj(i,3),11);
|
||||
inLupperAdj(i)= Exp(expN).Dexp(DexpN).scan(selIntNAdj(i,1)).plate(1).CFout(selIntNAdj(i,3),12);
|
||||
%*************************************************************************************
|
||||
end
|
||||
end
|
||||
%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
%Plot Histogram******************************************************
|
||||
|
||||
%subplotX=1;
|
||||
figure
|
||||
RFstds=', ';
|
||||
for j=1:dmN,
|
||||
RFstds=strcat(RFstds,'Rs',num2str(j),'_',num2str(Rs(j)));
|
||||
if j~=dmN, strcat(RFstds,', ');end
|
||||
end
|
||||
histName= strcat('ExpZone ',num2str(expN),'-',Exp(expN).Dexp(DexpN).ExpFoldr,', Interaction Values ', ...
|
||||
', LfFilter-',num2str(negPercent),', RtFilter-',num2str(posPercent),', RemoveNoGrowth-',char(removInfinL), ...
|
||||
RFstds)
|
||||
histAdjName= strcat('ExpZone ',num2str(expN),'-',Exp(expN).Dexp(DexpN).ExpFoldr,', Interaction Compensated by Reference Standard Deviation @',num2str(percentRs),'%', '& Upper/Lower Curvefit Boundaries', ...
|
||||
', LfFilter-',num2str(negPercent),', RtFilter-',num2str(posPercent),', RemoveNoGrowth-',char(removInfinL), ...
|
||||
RFstds)
|
||||
if strcmpi(subplotX,'Y')
|
||||
for j=1:dmN
|
||||
histLdata= intLwoRFsorted{j}(:,1); %intLcmp(385:(mpN-1)*384,j);
|
||||
%histLadjData= intLadjcmp(385:(mpN-1)*384,j);
|
||||
hgLdat{j}=histfitJR(histLdata,numBins,'kernel');
|
||||
|
||||
x{j}= get(hgLdat{j}(2),'xdata');
|
||||
y{j}= get(hgLdat{j}(2),'ydata');
|
||||
xb{j}=get(hgLdat{j}(1),'xdata');
|
||||
yb{j}=get(hgLdat{j}(1),'ydata');
|
||||
ybpostot{j}=sum(yb{j}(2,(xb{j}(1,:)>=0)));
|
||||
ybnegtot{j}=sum(yb{j}(2,(xb{j}(1,:) <0)));
|
||||
xbb(j,:)=xb{j}(2,:);
|
||||
ybb(j,:)=yb{j}(2,:);
|
||||
clf
|
||||
end
|
||||
|
||||
% figure
|
||||
|
||||
|
||||
if strcmpi(removInfinL,'N')
|
||||
histLadjData= intLwoRFsortedAdj{j}(:,1); %intLadjcmp(385:(mpN-1)*384,j);
|
||||
else
|
||||
intLwoRFsortedAdj4HisW0{j}= sortrows(intLadjwoRFs100{j}',1); %Data including with 0's indeterminate within STD
|
||||
histLadjData= intLwoRFsortedAdj4HisW0{j}(:,1)
|
||||
end
|
||||
for j=1:dmN
|
||||
histLdata= intLwoRFsorted{j}(:,1); %intLcmp(385:(mpN-1)*384,j);
|
||||
hgL{j}=subplot(2, 4, j), histfitJR(histLdata,numBins,'kernel') ; hold %hgL{j}=histfit(intLcmp(:,j),31,'kernel')
|
||||
subplot(2, 4, j),plot(posIntboundryCentralVal(j), 1:3000,'--r')
|
||||
subplot(2, 4, j),plot(negIntboundryCentralVal(j), 1:3000,'--g')
|
||||
hold off
|
||||
end
|
||||
scnsize=get(0,'screensize')
|
||||
pos1= [round(scnsize(3)/40), round(scnsize(4)/2 +(scnsize(3)/80)),...
|
||||
round(scnsize(3) -round(scnsize(3)/80)),round(scnsize(4)/2 -round(scnsize(4)/80))]
|
||||
set(gcf,'outerposition',pos1)
|
||||
set(gcf,'Name', histName);
|
||||
|
||||
figure
|
||||
|
||||
|
||||
for j=1:dmN
|
||||
if strcmpi(removInfinL,'N')
|
||||
histLadjData= intLwoRFsortedAdj{j}(:,1); %intLadjcmp(385:(mpN-1)*384,j);
|
||||
else
|
||||
intLwoRFsortedAdj4HisW0{j}= sortrows(intLadjwoRFs100{j}',1); %Data including with 0's indeterminate within STD
|
||||
histLadjData= intLwoRFsortedAdj4HisW0{j}(:,1)
|
||||
end
|
||||
hgLadj{j}=subplot(2, 4, j),histfitJR(histLadjData,numBins,'kernel') ; hold %hgLadj{j}=histfit(intLadjcmp(:,j),31,'kernel')
|
||||
subplot(2, 4, j),plot(posIntboundryCentralValAdj(j), 1:3000,'--r')
|
||||
subplot(2, 4, j),plot(negIntboundryCentralValAdj(j), 1:3000,'--g')
|
||||
hold off
|
||||
end
|
||||
pos2= [round(scnsize(3)/40), round(scnsize(4)/30),...
|
||||
round(scnsize(3) -scnsize(3)/80),round(scnsize(4)/2 -scnsize(4)/80)]
|
||||
set(gcf,'outerposition',pos2)
|
||||
set(gcf,'Name', histAdjName)
|
||||
%set(gcf,'Name', 'Interaction Compensated by Standard Deviation and Upper/Lower Curvefit boundaries')
|
||||
|
||||
elseif strcmpi(subplotX,'N')
|
||||
for j=1:dmN
|
||||
|
||||
histLdata= intLwoRFsorted{j}(:,1); %intLcmp(385:(mpN-1)*384,j);
|
||||
%intLwoRFsortedAdj4HisW0{j}= sortrows(intLadjwoRFs100{j}',1); %Data including with 0's indeterminate within STD
|
||||
%histLadjData= intLwoRFsortedAdj4HisW0{j}(:,1);
|
||||
%histLadjData= intLwoRFsortedAdj{j}(:,1); %intLadjcmp(385:(mpN-1)*384,j);%intLadjcmp(385:(mpN-1)*384,j); %intLcmp(:,j); %intLadjcmp(:,j);
|
||||
if strcmpi(removInfinL,'N')
|
||||
histLadjData= intLwoRFsortedAdj{j}(:,1); %intLadjcmp(385:(mpN-1)*384,j);
|
||||
else
|
||||
intLwoRFsortedAdj4HisW0{j}= sortrows(intLadjwoRFs100{j}',1); %Data including with 0's indeterminate within STD
|
||||
histLadjData= intLwoRFsortedAdj4HisW0{j}(:,1)
|
||||
end
|
||||
figure
|
||||
hgL{j}=histfitJR(histLdata,numBins,'kernel') ; hold %hgL{j}=histfit(intLcmp(:,j),31,'kernel')
|
||||
plot(posIntboundryCentralVal(j), 1:3000,'--r')
|
||||
plot(negIntboundryCentralVal(j), 1:3000,'--g')
|
||||
set(gcf,'Name', strcat('DM-',num2str(j),'-',histName));
|
||||
hold off
|
||||
|
||||
figure
|
||||
hgLadj{j}=histfitJR(histLadjData,numBins,'kernel') ; hold %hgLadj{j}=histfit(intLadjcmp(:,j),31,'kernel')
|
||||
plot(posIntboundryCentralValAdj(j), 1:3000,'--r')
|
||||
plot(negIntboundryCentralValAdj(j), 1:3000,'--g')
|
||||
set(gcf,'Name', strcat('DM-',num2str(j),'-',histAdjName));
|
||||
hold off
|
||||
|
||||
x{j}= get(hgL{j}(2),'xdata')
|
||||
y{j}= get(hgL{j}(2),'ydata');
|
||||
xb{j}=get(hgL{j}(1),'xdata')
|
||||
yb{j}=get(hgL{j}(1),'ydata')
|
||||
ybpostot{j}=sum(yb{j}(2,(xb{j}(1,:)>=0)))
|
||||
ybnegtot{j}=sum(yb{j}(2,(xb{j}(1,:) <0)))
|
||||
|
||||
xbb(j,:)=xb{j}(2,:);
|
||||
ybb(j,:)=yb{j}(2,:);
|
||||
end % for j= when subplotX~=1 standard one plot per figure
|
||||
|
||||
|
||||
|
||||
end %if subplotX==1 histograms placed in subplot figure else multiple histogram plots
|
||||
|
||||
|
||||
|
||||
if strcmpi(subplotX,'Y')
|
||||
%{
|
||||
figure
|
||||
bar3(ybb);
|
||||
set(gcf,'Name', 'Unfiltered Interaction Histogram for all DrugMedias; NoGrowth Interactors set to 100hr (highest bin)')
|
||||
%}
|
||||
%xxbb=yb{1}(2,:);
|
||||
%figure
|
||||
end
|
||||
|
||||
EZintPrint
|
||||
a=1
|
||||
|
||||
|
||||
|
||||
697
workflow/apps/matlab/ezview/TempBU/EZinteractDev5.m
Executable file
697
workflow/apps/matlab/ezview/TempBU/EZinteractDev5.m
Executable file
@@ -0,0 +1,697 @@
|
||||
%single gene L based interaction shift display
|
||||
%function EZinteractDev5
|
||||
|
||||
global Exp
|
||||
|
||||
DexpLen= Exp(expN).DexpLength;
|
||||
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,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 sum(ismember(fieldnames(Exp(expN).Dexp(DexpN)),'RFmean'))&&...
|
||||
~isempty(Exp(expN).Dexp(DexpN).RFmean)&&...
|
||||
sum(ismember(fieldnames(Exp(expN).Dexp(DexpN)),'RFmeanG'))&&...
|
||||
isempty(Exp(expN).Dexp(DexpN).RFmeanG)
|
||||
RFconfig=1;
|
||||
end
|
||||
if sum(ismember(fieldnames(Exp(expN).Dexp(DexpN)),'RFmean'))==0 ||...
|
||||
isempty(Exp(expN).Dexp(DexpN).RFmean)&&...
|
||||
sum(ismember(fieldnames(Exp(expN).Dexp(DexpN)),'RFmeanG'))&&...
|
||||
~isempty(Exp(expN).Dexp(DexpN).RFmeanG)
|
||||
RFconfig=2;
|
||||
end
|
||||
if sum(ismember(fieldnames(Exp(expN).Dexp(DexpN)),'RFmean'))&&...
|
||||
~isempty(Exp(expN).Dexp(DexpN).RFmean)&&...
|
||||
sum(ismember(fieldnames(Exp(expN).Dexp(DexpN)),'RFmeanG'))&&...
|
||||
~isempty(Exp(expN).Dexp(DexpN).RFmeanG)
|
||||
RFconfig=3;
|
||||
end
|
||||
if (sum(ismember(fieldnames(Exp(expN).Dexp(DexpN)),'RFmean'))==0 ||...
|
||||
isempty(Exp(expN).Dexp(DexpN).RFmean))&&...
|
||||
(sum(ismember(fieldnames(Exp(expN).Dexp(DexpN)),'RFmeanG'))==0||...
|
||||
isempty(Exp(expN).Dexp(DexpN).RFmeanG))
|
||||
return
|
||||
end
|
||||
|
||||
%RFconfig= 2; %1= FullPlateOnly; 2= DistributedOnly; 3= Both FullPlate && Distributed
|
||||
|
||||
if RFconfig==1,
|
||||
defaultanswer={'80','60','100','3,4,5','N','39','Y'};
|
||||
end
|
||||
|
||||
if RFconfig==2,
|
||||
QctrlRF= 'Select Distributed Control RF option: (G)Global, (L)Local';
|
||||
QpertRF= 'Select Distributed Perturbation RF option: (G)Global, (L)Local';
|
||||
defaultanswer={'80','60','100','3,4,5','N','39','Y','G','L'};
|
||||
end
|
||||
if RFconfig==3,
|
||||
QctrlRF= 'Select Control RF option: (F)FullPlate, (G)GlobalDistributed, (L)LocalDistributed';
|
||||
QpertRF= 'Select Perturbation RF option: (F)FullPlate, (G)GlobalDistributed, (L)LocalDistributed';
|
||||
defaultanswer={'80','60','100','3,4,5','N','39','Y','F','L'};
|
||||
|
||||
end
|
||||
|
||||
|
||||
%User Input decode for application ***************************
|
||||
if RFconfig==1,
|
||||
prompt={'Enter LeftSide Central Boundary in Percent:',...
|
||||
'Enter RightSide Central Boundary in Percent:', ...
|
||||
'Enter percent of Reference Standard Deviation to use', ...
|
||||
'Enter Day Sequence Numbers for set intersect:' ...
|
||||
'Remove No Growth Infinite Interactors:' ...
|
||||
'Number of Bins for Histograms'...
|
||||
'Subplots(Y), Multiple Plots(N), Suspend Plots(S)'};
|
||||
else
|
||||
prompt={'Enter LeftSide Central Boundary in Percent:',...
|
||||
'Enter RightSide Central Boundary in Percent:', ...
|
||||
'Enter percent of Reference Standard Deviation to use', ...
|
||||
'Enter Day Sequence Numbers for set intersect:' ...
|
||||
'Remove No Growth Infinite Interactors:' ...
|
||||
'Number of Bins for Histograms'...
|
||||
'Subplots(Y), Multiple Plots(N), Suspend Plots(S)',...
|
||||
QctrlRF,...
|
||||
QpertRF,...
|
||||
};
|
||||
end
|
||||
name='Interaction User Input';
|
||||
numlines=1;
|
||||
%defaultanswer={'80','60','100','3,4,5','N','39','Y','0,',''};
|
||||
answer=inputdlg(prompt,name,numlines,defaultanswer);
|
||||
|
||||
negPercent= str2double(cell2mat(answer(1)));
|
||||
posPercent= str2double(cell2mat(answer(2)));
|
||||
percentRs= str2double(cell2mat(answer(3)));
|
||||
DMstr= cell2mat(answer(4));
|
||||
DMcomas=strfind((cell2mat(answer(4))),',');
|
||||
removInfinL= answer(5);
|
||||
numBins= str2double(cell2mat(answer(6)));
|
||||
subplotX= answer(7);
|
||||
|
||||
n=0;
|
||||
for i= DMcomas,
|
||||
n=n+1
|
||||
DMsel(n)= str2double(DMstr(i-1:i))
|
||||
if i== max(DMcomas)
|
||||
DMsel(n+1)= str2double(DMstr(i:end));
|
||||
end
|
||||
end
|
||||
if strcmp(Exp(expN).DexpType,'chrono'), daysSel= DMsel; end
|
||||
%**************************************************************
|
||||
dmN= length(Exp(expN).Dexp(DexpN).DM.drug);
|
||||
mpN= length(Exp(expN).Dexp(DexpN).MP);
|
||||
%Intc1=3; IntcLst=5;
|
||||
%Calculate Interaction values (with and without
|
||||
%standardDeviation/Upper-Lower boundary compensation
|
||||
|
||||
%{
|
||||
if strcmp(Exp(expN).DexpType, 'single') || strcmp(Exp(expN).DexpType, 'multi')
|
||||
DMs2use= DMsel;
|
||||
Dexps2use= DexpN;
|
||||
elseif strcmp(Exp(expN).DexpType, 'chrono')
|
||||
DMs2use= pertSel;
|
||||
nn= daysSel;
|
||||
end
|
||||
%}
|
||||
|
||||
for j= 1:1:DexpLen
|
||||
%nn= daysSel(j);
|
||||
for m=1:mpN
|
||||
scnN= pertSel + (dmN*(m-1))
|
||||
%****************
|
||||
DM0= pertSel; %the DrugMedia choice is constant based on left screeen choice
|
||||
DMj= pertSel; %j here is the Day experiment number Which
|
||||
DexpN= j; %Day experiment is also where to find data%nn;
|
||||
anN= [8 9];
|
||||
%****************
|
||||
EZintRFs %* Call subroutine to interpret user RF inputs
|
||||
%****************
|
||||
DexpN= Exp(expN).DexpN; %reestablish DexpN
|
||||
%****************
|
||||
Xn{m,j,:}=Exp(expN).Dexp(j).scan(scnN).plate(1).CFout(:,5); %Exp(expN).Dexp(nn).scan(DM{j}(m)).plate(1).CFout(:,5);
|
||||
Xn{m,j,:}(Xn{m,j,:}==0)= 140;
|
||||
Xln{m,j,:}=Exp(expN).Dexp(j).scan(scnN).plate(1).CFout(:,11); %Exp(expN).Dexp(nn).scan(DM{j}(m)).plate(1).CFout(:,11);
|
||||
Xhn{m,j,:}=Exp(expN).Dexp(j).scan(scnN).plate(1).CFout(:,12); %Exp(expN).Dexp(nn).scan(DM{j}(m)).plate(1).CFout(:,12);
|
||||
|
||||
%methCalc=1;
|
||||
intL{m,j,:} = ((Xn{m,j,:} - Xn{m,1,:}) - (Rn(j)-Rn(1)));
|
||||
intL{m,j,:}(Xn{m,j,:}==140)= 100;
|
||||
intL{m,j,:}(intL{m,j,:}==0)=-0.1;
|
||||
|
||||
RsReduced(j)= percentRs/100* Rs(j)
|
||||
deltaRp(j)= (Rn(j)+RsReduced(j))-(Rn(1)+RsReduced(1));
|
||||
deltaRn(j)=(Rn(j)-RsReduced(j))-(Rn(1)-RsReduced(1));
|
||||
if deltaRp(j)==0, deltaRp(j)=0.2; end
|
||||
if deltaRn(j)==0, deltaRn(j)=0.2; end
|
||||
|
||||
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
|
||||
|
||||
%**************************************************************************
|
||||
%end %if methCalc==0
|
||||
|
||||
deltaXR{m,j,:}(Xn{m,j,:}==140)= 100;
|
||||
deltaXR{m,j,:}(Xln{m,j,:}==0)= 100;
|
||||
deltaXR{m,j,:}(isnan(Xln{m,j,:}))= 120;
|
||||
deltaXR{m,j,:}(Xhn{m,j,:}==0)= 100;
|
||||
deltaXR{m,j,:}(isnan(Xhn{m,j,:}))= 120;
|
||||
|
||||
|
||||
|
||||
|
||||
%Compile all gene related L values for the each Dexp sequencially(j).
|
||||
addend= (1+((m-1)*384)) %((((m-1)*j)*384)+1);
|
||||
intLcmp(addend:addend+383,j)= cell2mat(intL(m,j,:)); %For only pertSel across Dexps (((addend:addend+383),j)= cell2mat(intL(j,m,:));
|
||||
intLadjcmp(addend:addend+383,j)= cell2mat(deltaXR(m,j,:)); %((addend:addend+383),j)= cell2mat(deltaXR(j,m,:));
|
||||
|
||||
end %m=1:mpN
|
||||
%********END m loop assoc'd with MPs for loop***************
|
||||
%***********************************************************
|
||||
|
||||
|
||||
%Remove RFs and Blank (or non annotated ' ') orf data Then
|
||||
%Filter data per user intput
|
||||
intLc{j}= intLcmp(:,j); %j);
|
||||
intLwoRFs{j}(1,:)= intLcmp(Exp(expN).Dexp(j).mutSpotIndx.woRFs,j);
|
||||
intLwoRFs{j}(2,:)= Exp(expN).Dexp(j).mutSpotIndx.woRFs;%Index of non-RF non-blank spots
|
||||
|
||||
if strcmpi(removInfinL,'Y')
|
||||
|
||||
intLwoRFs0{j}(1,:)= intLwoRFs{j}(1,(intLwoRFs{j}(1,:)~= 100)); %Values intLcmp(Exp(1).mutSpotIndx.woRFs,j);
|
||||
intLwoRFs0{j}(2,:)= intLwoRFs{j}(2,(intLwoRFs{j}(1,:)~= 100)); %MP Spot Index position intLcmp(385:(mpN-1)*384,j);
|
||||
clear intLwoRFs
|
||||
intLwoRFs{j}(1,:)= intLwoRFs0{j}(1,:);
|
||||
intLwoRFs{j}(2,:)= intLwoRFs0{j}(2,:);
|
||||
end
|
||||
|
||||
|
||||
intLwoRFsorted{j}= sortrows(intLwoRFs{j}',1); %SortBy Values field
|
||||
|
||||
clear intLcmpSortGT0 intLcmpSortLT0
|
||||
tempIntL= intLwoRFsorted{j}(:,1);
|
||||
intLcmpSortGT0= tempIntL((tempIntL) >0);
|
||||
if ~isempty(intLcmpSortGT0)
|
||||
centPosCnt= round(posPercent/100 * length(intLcmpSortGT0));
|
||||
intLposSel{j}=intLwoRFsorted{j}((length(intLcmpSortGT0)+centPosCnt): end,:);
|
||||
posIntboundryCentralVal(j)= intLcmpSortGT0((centPosCnt),:); %For Histogram use
|
||||
else
|
||||
posIntboundryCentralVal(j)= 0;
|
||||
end
|
||||
|
||||
intLcmpSortLT0= tempIntL((tempIntL) <0);
|
||||
if ~isempty(intLcmpSortLT0)
|
||||
centNegCnt= round(negPercent/100 * length(intLcmpSortLT0));
|
||||
intLnegSel{j}=intLwoRFsorted{j}((1:(length(intLcmpSortLT0)-centNegCnt)),:);
|
||||
negIntboundryCentralVal(j)= intLcmpSortLT0(((length(intLcmpSortLT0))-(centNegCnt)),:); %For Histogram use
|
||||
else
|
||||
negIntboundryCentralVal(j)=0;
|
||||
end
|
||||
|
||||
|
||||
%Find potential Interactors within selected range
|
||||
jj=j;
|
||||
daysSel= daysSel;
|
||||
%maxNperts= Exp(expN).DexpLength; %(daysSel); %(daysSel);
|
||||
|
||||
if jj== daysSel(1) %Intc1,
|
||||
InterslstPos{1}= intLposSel{daysSel(1)}(:,2) %intLcmpposInd{Intc1}
|
||||
InterslstNeg{1}= intLnegSel{daysSel(1)}(:,2) %intLcmpnegInd{Intc1}
|
||||
elseif sum(ismember(daysSel,jj))==1 %Intc1 && jj<=IntcLst
|
||||
InterslstPos{1}=(intersect(InterslstPos{1},intLposSel{jj}(:,2))); %,intLcmpposInd{jj}))
|
||||
InterslstNeg{1}=(intersect(InterslstNeg{1},intLnegSel{jj}(:,2))); %,intLcmpnegInd{jj}))
|
||||
end
|
||||
|
||||
|
||||
%Convolute experiment spot index to get scan#, MP# and plateIndx needed
|
||||
%later to obtain genename and other descriptors and correlate data
|
||||
if sum(ismember(daysSel,jj))==1 %might need to? restrict to only the 'daysSel' entered by user
|
||||
try
|
||||
intLposDIndx{jj}(:,4)= jj; %Dexp number
|
||||
intLposDIndx{jj}(:,2)= ceil((intLposSel{jj}(:,2))/(384)); %mp plate numb column
|
||||
intLposDIndx{jj}(:,3)=rem(intLposSel{jj}(:,2),(384)); %384));
|
||||
tmp= intLposDIndx{jj}(:,3)==0;
|
||||
intLposDIndx{jj}(tmp,3)= 384;
|
||||
intLposDIndx{jj}(:,1)= pertSel + (dmN*((intLposDIndx{jj}(:,2))-1)); %((intLposDIndx{jj}(:,2))-1)); %scan numb column %intLposDIndx(:,2)* intLposDIndx(:,3);
|
||||
catch
|
||||
end
|
||||
try
|
||||
intLnegDIndx{jj}(:,4)= j; %Dexp number
|
||||
intLnegDIndx{jj}(:,2)= ceil((intLposSel{jj}(:,2))/(384)); %384); %mp plate numb column
|
||||
intLnegDIndx{jj}(:,3)= rem(intLnegSel{jj}(:,2),(384));
|
||||
tmp=(intLnegDIndx{jj}(:,3)==0);
|
||||
intLnegDIndx{jj}(tmp,3)= 384;
|
||||
intLnegDIndx{jj}(:,1)= pertSel + (dmN*((intLnegDIndx{jj}(:,2))-1)); %scan numb
|
||||
catch
|
||||
end
|
||||
end %might want to restrict to only the 'daysSel' entered by user
|
||||
%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
%********************************************************************************************
|
||||
%ADJUSTED L for Reference Standard deviation(More conservative) Interaction List compilation
|
||||
if strcmpi(removInfinL,'N')
|
||||
intLadjwoRFs{jj}(1,:)=intLadjcmp(Exp(expN).Dexp(DexpN).mutSpotIndx.woRFs,jj);
|
||||
intLadjwoRFs{jj}(2,:)= Exp(expN).Dexp(DexpN).mutSpotIndx.woRFs; %intLadjcmp(385:(mpN-1)*384,jj); %intLadjcmp(Exp(expN).Dexp(DexpN).mutSpotIndx.woRFs,jj);
|
||||
|
||||
elseif strcmpi(removInfinL,'Y')
|
||||
intLadjwoRFs{jj}(1,:)=intLadjcmp(Exp(expN).Dexp(DexpN).mutSpotIndx.woRFs,jj);
|
||||
intLadjwoRFs{jj}(2,:)= Exp(expN).Dexp(DexpN).mutSpotIndx.woRFs; %intLadjcmp(385:(mpN-1)*384,jj); %intLadjcmp(Exp(expN).Dexp(DexpN).mutSpotIndx.woRFs,jj);
|
||||
intLadjwoRFs100{jj}(1,:)= intLadjwoRFs{jj}(1,(intLadjwoRFs{jj}(1,:)~= 100)) ; %intLcmp(Exp(1).mutSpotIndx.woRFs,jj);
|
||||
intLadjwoRFs100{jj}(2,:)= intLadjwoRFs{jj}(2,(intLadjwoRFs{jj}(1,:)~= 100)) ; % Remove Index where spots are infinite (=100);
|
||||
intLadjwoRFs0{jj}(1,:)= intLadjwoRFs100{jj}(1,(intLadjwoRFs100{jj}(1,:)~= 0)); % Remove Index where spots are indeterminely within the range of Ref STD
|
||||
intLadjwoRFs0{jj}(2,:)= intLadjwoRFs100{jj}(2,(intLadjwoRFs100{jj}(1,:)~= 0)); % Remove Index where spots are indeterminely within the range of Ref STD
|
||||
clear intLadjwoRFs
|
||||
intLadjwoRFs{jj}(1,:)= intLadjwoRFs0{jj}(1,:); %Put filtered results back into intLadjwoRFs
|
||||
intLadjwoRFs{jj}(2,:)= intLadjwoRFs0{jj}(2,:); %Put filtered results back into intLadjwoRFs
|
||||
end
|
||||
|
||||
intLwoRFsortedAdj{jj}= sortrows(intLadjwoRFs{jj}',1);
|
||||
clear intLadjSortGT0 intLadjSortLT0
|
||||
tempIntLadj= intLwoRFsortedAdj{jj}(:,1);
|
||||
intLadjSortLT0= tempIntLadj((tempIntLadj) <0);
|
||||
intLadjSort0s= tempIntLadj(tempIntLadj ==0)
|
||||
intLadjSortGT0= tempIntLadj(tempIntLadj >0); %=0);
|
||||
|
||||
if ~isempty(intLadjSortGT0)&& ~isempty(intLadjSortLT0)
|
||||
centPosCntAdj= round(posPercent/100 * length(intLadjSortGT0));
|
||||
intLposSelAdj{jj}=intLwoRFsortedAdj{jj}((length(intLadjSortLT0)+ length(intLadjSort0s) + centPosCntAdj): end,:);
|
||||
posIntboundryCentralValAdj(jj)= intLadjSortGT0(centPosCntAdj,:);
|
||||
else
|
||||
posIntboundryCentralValAdj(jj)= 0;
|
||||
end
|
||||
|
||||
if ~isempty(intLadjSortLT0)
|
||||
try
|
||||
centNegCntAdj= round(negPercent/100 * length(intLadjSortLT0));
|
||||
intLnegSelAdj{jj}=intLwoRFsortedAdj{jj}((1:(length(intLadjSortLT0)-centNegCntAdj)),:);
|
||||
negIntboundryCentralValAdj(jj)= intLadjSortLT0(((length(intLadjSortLT0))-(centNegCntAdj)),:);
|
||||
catch,negIntboundryCentralValAdj(jj)= 1;
|
||||
end
|
||||
else
|
||||
negIntboundryCentralValAdj(jj)= 1;
|
||||
end
|
||||
|
||||
if jj== daysSel(1) %Intc1,
|
||||
InterslstPosAdj{1}= intLposSelAdj{daysSel(1)}(:,2) %intLcmpposInd{Intc1}
|
||||
InterslstNegAdj{1}= intLnegSelAdj{daysSel(1)}(:,2) %intLcmpnegInd{Intc1}
|
||||
elseif sum(ismember(daysSel,jj))==1 % jj>Intc1 && jj<=IntcLst
|
||||
InterslstPosAdj{1}=(intersect(InterslstPosAdj{1},intLposSelAdj{jj}(:,2))); %,intLcmpposInd{jj}))
|
||||
InterslstNegAdj{1}=(intersect(InterslstNegAdj{1},intLnegSelAdj{jj}(:,2))); %,intLcmpnegInd{jj}))
|
||||
end
|
||||
|
||||
|
||||
%Convolute experiment spot index to get scan#, MP# and plateIndx needed
|
||||
%later to obtain genename and other descriptors and correlate data
|
||||
try
|
||||
intLposDIndxAdj{jj}(:,2)= ceil((intLposSelAdj{jj}(:,2))/(384)); %mp plate numb column
|
||||
intLposDIndxAdj{jj}(:,4)= jj;
|
||||
intLposDIndxAdj{jj}(:,3)=(rem(intLposSelAdj{jj}(:,2),(384)));
|
||||
tmp=(intLposDIndxAdj{jj}(:,3)==0);
|
||||
intLposDIndx{jj}(tmp,3)= 384;
|
||||
intLposDIndxAdj{jj}(:,1)= pertSel + (dmN*((intLposDIndxAdj{jj}(:,2))-1)); %scan numb column
|
||||
catch
|
||||
end
|
||||
try
|
||||
intLnegDIndxAdj{jj}(:,2)= m; %ceil((intLnegSelAdj{jj}(:,2))/384); %mp plate numb column
|
||||
intLnegDIndxAdj{jj}(:,4)= jj;
|
||||
intLnegDIndxAdj{jj}(:,3)=(rem(intLnegSelAdj{jj}(:,2),(384)));
|
||||
tmp=(intLnegDIndxAdj{jj}(:,3)==0);
|
||||
intLnegDIndxAdj{jj}(tmp,3)= 384;
|
||||
intLnegDIndxAdj{jj}(:,1)= pertSel + (dmN*((intLnegDIndxAdj{jj}(:,2))-1)); %scan numb
|
||||
catch
|
||||
end
|
||||
|
||||
%end %for Perts2use jj= DMs2use
|
||||
end % for j= 1:DexpLen
|
||||
%****************************************************************************************
|
||||
%******END OF Big Loop*******************************************************************
|
||||
%****************************************************************************************
|
||||
|
||||
|
||||
|
||||
|
||||
%get interaction values for each DM drugmedia agar type
|
||||
IntersValsPos= intLcmp(InterslstPos{1},daysSel);
|
||||
IntersValsNeg= intLcmp(InterslstNeg{1},daysSel);
|
||||
IntersValsPosAdj= intLadjcmp(InterslstPosAdj{1},daysSel);
|
||||
IntersValsNegAdj= intLadjcmp(InterslstNegAdj{1},daysSel);
|
||||
%*********************************************************
|
||||
|
||||
%Build 'genelist' data sheet for interactors
|
||||
if ~isempty(InterslstPos{1})
|
||||
selIntPx{1}(:,6)=InterslstPos{1};
|
||||
selIntPx{1}(:,2)=ceil((InterslstPos{1})/(384)); %mp plate numb column
|
||||
selIntPx{1}(:,3)= rem(InterslstPos{1},(384));
|
||||
tmpMovV1=(selIntPx{1}(:,3)==0);
|
||||
selIntPx{1}(tmpMovV1,3)= 384;
|
||||
selIntPx{1}(:,4)= ceil(selIntPx{1}(:,3)/24); %row numb
|
||||
selIntPx{1}(:,5)= rem(selIntPx{1}(:,3),24);
|
||||
tmp2=(selIntPx{1}(:,5)==0);
|
||||
selIntPx{1}(tmp2,5)= 24;
|
||||
selIntPx{1}(:,1)= pertSel + (dmN*((selIntPx{1}(:,2))-1)); %scan numb column %intLposDIndx(:,2)* intLposDIndx(:,3);
|
||||
selIntP= cell2mat(selIntPx);
|
||||
end
|
||||
if ~isempty(InterslstNeg{1})
|
||||
selIntNx{1}(:,6)=InterslstNeg{1};
|
||||
selIntNx{1}(:,2)=ceil((InterslstNeg{1})/(384)); %mp plate numb column
|
||||
selIntNx{1}(:,3)=(rem(InterslstNeg{1},(384)));
|
||||
tmp1=(selIntNx{1}(:,3)==0);
|
||||
selIntNx{1}(tmp1,3)= 384;
|
||||
selIntNx{1}(:,4)= ceil(selIntNx{1}(:,3)/24); %row numb
|
||||
selIntNx{1}(:,5)= rem(selIntNx{1}(:,3),24);
|
||||
tmp2=(selIntNx{1}(:,5)==0);
|
||||
selIntNx{1}(tmp2,5)= 24;
|
||||
|
||||
selIntNx{1}(:,1)= pertSel + (dmN*((selIntNx{1}(:,2))-1)); %jj + (maxNperts*((selIntNx{1}(:,2))-1)); %scan numb
|
||||
selIntN= cell2mat(selIntNx);
|
||||
end
|
||||
|
||||
if strcmp(Exp(expN).DexpType, 'single') || strcmp(Exp(expN).DexpType,'multi')
|
||||
d1= DexpN;
|
||||
elseif strcmp(Exp(expN).DexpType, 'chrono')
|
||||
d1= daysSel(1); %Dexps2use(1);
|
||||
end
|
||||
if ~isempty(InterslstPos{1})
|
||||
for i=1:size(selIntP,1)
|
||||
IPgene(i)=Exp(expN).Dexp(d1).MP(selIntP(i,2)).genename{1}(selIntP(i,3));
|
||||
IPorf(i)= Exp(expN).Dexp(d1).MP(selIntP(i,2)).orf{1}(selIntP(i,3));
|
||||
IPstrain(i)= Exp(expN).Dexp(d1).MP(selIntP(i,2)).strain{1}(selIntP(i,3));
|
||||
IPspecifics(i)=Exp(expN).Dexp(d1).MP(selIntP(i,2)).specifics{1}(selIntP(i,3));
|
||||
IPorfRep(i)=Exp(expN).Dexp(d1).MP(selIntP(i,2)).orfRep{1}(selIntP(i,3));
|
||||
|
||||
%Bad this is the L data for only the last selected DM perturbation
|
||||
%Would need to calculate each scan# for each perts2use value
|
||||
ipL(i)= Exp(expN).Dexp(d1).scan(selIntP(i,1)).plate(1).CFout(selIntP(i,3),5);
|
||||
ipLlower(i)= Exp(expN).Dexp(d1).scan(selIntP(i,1)).plate(1).CFout(selIntP(i,3),11);
|
||||
ipLupper(i)= Exp(expN).Dexp(d1).scan(selIntP(i,1)).plate(1).CFout(selIntP(i,3),12);
|
||||
%*************************************************************************
|
||||
end
|
||||
end
|
||||
if ~isempty(InterslstNeg{1})
|
||||
for i=1:size(selIntN,1)
|
||||
i
|
||||
INgene(i)=Exp(expN).Dexp(d1).MP(selIntN(i,2)).genename{1}(selIntN(i,3));
|
||||
INorf(i)= Exp(expN).Dexp(d1).MP(selIntN(i,2)).orf{1}(selIntN(i,3));
|
||||
INstrain(i)= Exp(expN).Dexp(d1).MP(selIntN(i,2)).strain{1}(selIntN(i,3));
|
||||
INspecifics(i)=Exp(expN).Dexp(d1).MP(selIntN(i,2)).specifics{1}(selIntN(i,3));
|
||||
INorfRep(i)=Exp(expN).Dexp(d1).MP(selIntN(i,2)).orfRep{1}(selIntN(i,3));
|
||||
|
||||
%Bad this is the L data for only the last selected DM perturbation
|
||||
%Would need to calculate each scan# for each perts2use value
|
||||
inL(i)= Exp(expN).Dexp(d1).scan(selIntN(i,1)).plate(1).CFout(selIntN(i,3),5);
|
||||
inLlower(i)= Exp(expN).Dexp(d1).scan(selIntN(i,1)).plate(1).CFout(selIntN(i,3),11);
|
||||
inLupper(i)= Exp(expN).Dexp(d1).scan(selIntN(i,1)).plate(1).CFout(selIntN(i,3),12);
|
||||
%*************************************************************************
|
||||
end
|
||||
end
|
||||
%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
%**************************************************************************************
|
||||
%ADJUSTED with STD and curve fit boundaries to produce more conservative interaction values
|
||||
|
||||
%Build 'genelist' data sheet for interactors
|
||||
selIntPxAdj{1}(:,2)=ceil((InterslstPosAdj{1})/(384)); %mp plate numb column
|
||||
selIntPxAdj{1}(:,3)=(rem(InterslstPosAdj{1},(384)));
|
||||
tmpMovV1=(selIntPxAdj{1}(:,3)==0);
|
||||
selIntPxAdj{1}(tmpMovV1,3)= 384;
|
||||
selIntPxAdj{1}(:,4)= ceil(selIntPxAdj{1}(:,3)/24); %row numb
|
||||
selIntPxAdj{1}(:,5)= rem(selIntPxAdj{1}(:,3),24);
|
||||
tmpMovV2=(selIntPxAdj{1}(:,5)==0);
|
||||
selIntPxAdj{1}(tmpMovV2,5)= 24;
|
||||
|
||||
selIntPxAdj{1}(:,1)= pertSel + (dmN*((selIntPxAdj{1}(:,2))-1)); %scan numb column %intLposDIndx(:,2)* intLposDIndx(:,3);
|
||||
selIntPAdj= cell2mat(selIntPxAdj);
|
||||
|
||||
if ~isempty(InterslstNegAdj{1})
|
||||
selIntNxAdj{1}(:,2)=ceil((InterslstNegAdj{1})/(384)); %mp plate numb column
|
||||
selIntNxAdj{1}(:,3)= rem(InterslstNegAdj{1},(384));
|
||||
tmpMovV1=(selIntNxAdj{1}(:,3)==0);
|
||||
selIntNxAdj{1}(tmpMovV1,3)= 384;
|
||||
selIntNxAdj{1}(:,4)= ceil(selIntNxAdj{1}(:,3)/24); %row numb
|
||||
selIntNxAdj{1}(:,5)= rem(selIntNxAdj{1}(:,3),24);
|
||||
tmpMovV2=(selIntNxAdj{1}(:,5)==0);
|
||||
selIntNxAdj{1}(tmpMovV2,5)= 24;
|
||||
|
||||
selIntNxAdj{1}(:,1)= pertSel + (dmN*((selIntNxAdj{1}(:,2))-1)); %scan numb
|
||||
selIntNAdj= cell2mat(selIntNxAdj);
|
||||
end
|
||||
for i=1:size(selIntPAdj,1)
|
||||
IPgeneAdj(i)=Exp(expN).Dexp(d1).MP(selIntPAdj(i,2)).genename{1}(selIntPAdj(i,3));
|
||||
IPorfAdj(i)= Exp(expN).Dexp(d1).MP(selIntPAdj(i,2)).orf{1}(selIntPAdj(i,3));
|
||||
IPstrainAdj(i)= Exp(expN).Dexp(d1).MP(selIntPAdj(i,2)).strain{1}(selIntPAdj(i,3));
|
||||
IPspecificsAdj(i)=Exp(expN).Dexp(d1).MP(selIntPAdj(i,2)).specifics{1}(selIntPAdj(i,3));
|
||||
IPorfRepAdj(i)=Exp(expN).Dexp(d1).MP(selIntPAdj(i,2)).orfRep{1}(selIntPAdj(i,3));
|
||||
|
||||
%Bad this is the L data for only the last selected DM perturbation
|
||||
%Would need to calculate each scan# for each perts2use value
|
||||
ipLAdj(i)= Exp(expN).Dexp(d1).scan(selIntPAdj(i,1)).plate(1).CFout(selIntPAdj(i,3),5);
|
||||
ipLlowerAdj(i)= Exp(expN).Dexp(d1).scan(selIntPAdj(i,1)).plate(1).CFout(selIntPAdj(i,3),11);
|
||||
ipLupperAdj(i)= Exp(expN).Dexp(d1).scan(selIntPAdj(i,1)).plate(1).CFout(selIntPAdj(i,3),12);
|
||||
%************************************************************************************
|
||||
end
|
||||
if ~isempty(InterslstNegAdj{1})
|
||||
for i=1:size(selIntNAdj,1)
|
||||
INgeneAdj(i)=Exp(expN).Dexp(d1).MP(selIntNAdj(i,2)).genename{1}(selIntNAdj(i,3));
|
||||
INorfAdj(i)= Exp(expN).Dexp(d1).MP(selIntNAdj(i,2)).orf{1}(selIntNAdj(i,3));
|
||||
INstrainAdj(i)= Exp(expN).Dexp(d1).MP(selIntNAdj(i,2)).strain{1}(selIntNAdj(i,3));
|
||||
INspecificsAdj(i)=Exp(expN).Dexp(d1).MP(selIntNAdj(i,2)).specifics{1}(selIntNAdj(i,3));
|
||||
INorfRepAdj(i)=Exp(expN).Dexp(d1).MP(selIntNAdj(i,2)).orfRep{1}(selIntNAdj(i,3));
|
||||
|
||||
%Bad this is the L data for only the last selected DM perturbation
|
||||
%Would need to calculate each scan# for each perts2use value
|
||||
inLAdj(i)= Exp(expN).Dexp(d1).scan(selIntNAdj(i,1)).plate(1).CFout(selIntNAdj(i,3),5);
|
||||
inLlowerAdj(i)= Exp(expN).Dexp(d1).scan(selIntNAdj(i,1)).plate(1).CFout(selIntNAdj(i,3),11);
|
||||
inLupperAdj(i)= Exp(expN).Dexp(d1).scan(selIntNAdj(i,1)).plate(1).CFout(selIntNAdj(i,3),12);
|
||||
%*************************************************************************************
|
||||
end
|
||||
end
|
||||
%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
%Plot Histogram******************************************************
|
||||
|
||||
%subplotX=1;
|
||||
figure
|
||||
RFstds=', ';
|
||||
for jj=1:DexpLen,
|
||||
RFstds=strcat(RFstds,'Rs',num2str(jj),'_',num2str(Rs(jj)));
|
||||
if jj~=DexpLen, strcat(RFstds,', ');end
|
||||
end
|
||||
histName= strcat('ExpZone ',num2str(expN),'-',Exp(expN).Dexp(DexpN).ExpFoldr,', Interaction Values ', ...
|
||||
', LfFilter-',num2str(negPercent),', RtFilter-',num2str(posPercent),', RemoveNoGrowth-',char(removInfinL), ...
|
||||
RFstds)
|
||||
histAdjName= strcat('ExpZone ',num2str(expN),'-',Exp(expN).Dexp(DexpN).ExpFoldr,', Interaction Compensated by Reference Standard Deviation @',num2str(percentRs),'%', '& Upper/Lower Curvefit Boundaries', ...
|
||||
', LfFilter-',num2str(negPercent),', RtFilter-',num2str(posPercent),', RemoveNoGrowth-',char(removInfinL), ...
|
||||
RFstds)
|
||||
if strcmpi(subplotX,'Y')
|
||||
for jj=1:DexpLen
|
||||
histLdata= intLwoRFsorted{jj}(:,1); %intLcmp(385:(mpN-1)*384,jj);
|
||||
%histLadjData= intLadjcmp(385:(mpN-1)*384,jj);
|
||||
hgLdat{jj}=histfitJR(histLdata,numBins,'kernel');
|
||||
|
||||
x{jj}= get(hgLdat{jj}(2),'xdata');
|
||||
y{jj}= get(hgLdat{jj}(2),'ydata');
|
||||
xb{jj}=get(hgLdat{jj}(1),'xdata');
|
||||
yb{jj}=get(hgLdat{jj}(1),'ydata');
|
||||
ybpostot{jj}=sum(yb{jj}(2,(xb{jj}(1,:)>=0)));
|
||||
ybnegtot{jj}=sum(yb{jj}(2,(xb{jj}(1,:) <0)));
|
||||
xbb(jj,:)=xb{jj}(2,:);
|
||||
ybb(jj,:)=yb{jj}(2,:);
|
||||
clf
|
||||
end
|
||||
|
||||
% figure
|
||||
|
||||
|
||||
if strcmpi(removInfinL,'N')
|
||||
histLadjData= intLwoRFsortedAdj{jj}(:,1); %intLadjcmp(385:(mpN-1)*384,jj);
|
||||
else
|
||||
intLwoRFsortedAdj4HisW0{jj}= sortrows(intLadjwoRFs100{jj}',1); %Data including with 0's indeterminate within STD
|
||||
histLadjData= intLwoRFsortedAdj4HisW0{jj}(:,1)
|
||||
end
|
||||
for jj=1:DexpLen
|
||||
histLdata= intLwoRFsorted{jj}(:,1); %intLcmp(385:(mpN-1)*384,jj);
|
||||
hgL{jj}=subplot(2, 4, jj), histfitJR(histLdata,numBins,'kernel') ; hold %hgL{jj}=histfit(intLcmp(:,jj),31,'kernel')
|
||||
subplot(2, 4, jj),plot(posIntboundryCentralVal(jj), 1:3000,'--r')
|
||||
subplot(2, 4, jj),plot(negIntboundryCentralVal(jj), 1:3000,'--g')
|
||||
hold off
|
||||
end
|
||||
scnsize=get(0,'screensize')
|
||||
pos1= [round(scnsize(3)/40), round(scnsize(4)/2 +(scnsize(3)/80)),...
|
||||
round(scnsize(3) -round(scnsize(3)/80)),round(scnsize(4)/2 -round(scnsize(4)/80))]
|
||||
set(gcf,'outerposition',pos1)
|
||||
set(gcf,'Name', histName);
|
||||
|
||||
figure
|
||||
|
||||
|
||||
for jj=1:DexpLen
|
||||
if strcmpi(removInfinL,'N')
|
||||
histLadjData= intLwoRFsortedAdj{jj}(:,1); %intLadjcmp(385:(mpN-1)*384,jj);
|
||||
else
|
||||
intLwoRFsortedAdj4HisW0{jj}= sortrows(intLadjwoRFs100{jj}',1); %Data including with 0's indeterminate within STD
|
||||
histLadjData= intLwoRFsortedAdj4HisW0{jj}(:,1)
|
||||
end
|
||||
hgLadj{jj}=subplot(2, 4, jj),histfitJR(histLadjData,numBins,'kernel') ; hold %hgLadj{jj}=histfit(intLadjcmp(:,jj),31,'kernel')
|
||||
subplot(2, 4, jj),plot(posIntboundryCentralValAdj(jj), 1:3000,'--r')
|
||||
subplot(2, 4, jj),plot(negIntboundryCentralValAdj(jj), 1:3000,'--g')
|
||||
hold off
|
||||
end
|
||||
pos2= [round(scnsize(3)/40), round(scnsize(4)/30),...
|
||||
round(scnsize(3) -scnsize(3)/80),round(scnsize(4)/2 -scnsize(4)/80)]
|
||||
set(gcf,'outerposition',pos2)
|
||||
set(gcf,'Name', histAdjName)
|
||||
%set(gcf,'Name', 'Interaction Compensated by Standard Deviation and Upper/Lower Curvefit boundaries')
|
||||
|
||||
elseif strcmpi(subplotX,'N')
|
||||
for jj=1:DexpLen
|
||||
|
||||
histLdata= intLwoRFsorted{jj}(:,1); %intLcmp(385:(mpN-1)*384,jj);
|
||||
%intLwoRFsortedAdj4HisW0{jj}= sortrows(intLadjwoRFs100{jj}',1); %Data including with 0's indeterminate within STD
|
||||
%histLadjData= intLwoRFsortedAdj4HisW0{jj}(:,1);
|
||||
%histLadjData= intLwoRFsortedAdj{jj}(:,1); %intLadjcmp(385:(mpN-1)*384,jj);%intLadjcmp(385:(mpN-1)*384,jj); %intLcmp(:,jj); %intLadjcmp(:,jj);
|
||||
if strcmpi(removInfinL,'N')
|
||||
histLadjData= intLwoRFsortedAdj{jj}(:,1); %intLadjcmp(385:(mpN-1)*384,jj);
|
||||
else
|
||||
intLwoRFsortedAdj4HisW0{jj}= sortrows(intLadjwoRFs100{jj}',1); %Data including with 0's indeterminate within STD
|
||||
histLadjData= intLwoRFsortedAdj4HisW0{jj}(:,1)
|
||||
end
|
||||
figure
|
||||
hgL{jj}=histfitJR(histLdata,numBins,'kernel') ; hold %hgL{jj}=histfit(intLcmp(:,jj),31,'kernel')
|
||||
plot(posIntboundryCentralVal(jj), 1:3000,'--r')
|
||||
plot(negIntboundryCentralVal(jj), 1:3000,'--g')
|
||||
set(gcf,'Name', strcat('DM-',num2str(jj),'-',histName));
|
||||
hold off
|
||||
|
||||
figure
|
||||
hgLadj{jj}=histfitJR(histLadjData,numBins,'kernel') ; hold %hgLadj{jj}=histfit(intLadjcmp(:,jj),31,'kernel')
|
||||
plot(posIntboundryCentralValAdj(jj), 1:3000,'--r')
|
||||
plot(negIntboundryCentralValAdj(jj), 1:3000,'--g')
|
||||
set(gcf,'Name', strcat('DM-',num2str(jj),'-',histAdjName));
|
||||
hold off
|
||||
|
||||
x{jj}= get(hgL{jj}(2),'xdata')
|
||||
y{jj}= get(hgL{jj}(2),'ydata');
|
||||
xb{jj}=get(hgL{jj}(1),'xdata')
|
||||
yb{jj}=get(hgL{jj}(1),'ydata')
|
||||
ybpostot{jj}=sum(yb{jj}(2,(xb{jj}(1,:)>=0)))
|
||||
ybnegtot{jj}=sum(yb{jj}(2,(xb{jj}(1,:) <0)))
|
||||
|
||||
xbb(jj,:)=xb{jj}(2,:);
|
||||
ybb(jj,:)=yb{jj}(2,:);
|
||||
end % for jj= when subplotX~=1 standard one plot per figure
|
||||
|
||||
|
||||
|
||||
end %if subplotX==1 histograms placed in subplot figure else multiple histogram plots
|
||||
|
||||
|
||||
|
||||
if strcmpi(subplotX,'Y')
|
||||
%{
|
||||
figure
|
||||
bar3(ybb);
|
||||
set(gcf,'Name', 'Unfiltered Interaction Histogram for all DrugMedias; NoGrowth Interactors set to 100hr (highest bin)')
|
||||
%}
|
||||
%xxbb=yb{1}(2,:);
|
||||
%figure
|
||||
end
|
||||
|
||||
EZintPrint
|
||||
a=1
|
||||
|
||||
%{
|
||||
if methCalc==0
|
||||
deltaXR{m,j}= zeros(1,384);
|
||||
deltaXR{m,j}(Xn{m,j} >=(Rn(j)+Rs(j)))= ( Xln{m,j}(Xn{m,j} >=(Rn(j)+Rs(j))))- (Rn(j)+Rs(j));
|
||||
deltaXR{m,j}(Xn{m,j} < (Rn(j)-Rs(j)))= ( Xhn{m,j}(Xn{m,j} < (Rn(j)-Rs(j))))- (Rn(j)-Rs(j));
|
||||
Xneg= Xhn{m,j}- (Rn(j)-Rs(j));
|
||||
Xpos= Xln{m,j}- (Rn(j)+Rs(j));
|
||||
|
||||
|
||||
for i=1:length(Xpos(:)),
|
||||
%deltaXR{m,j}(i)= Xpos(i);
|
||||
if deltaXR{m,j}(i)==0
|
||||
try
|
||||
if abs(Xpos(i))<abs(Xneg(i)), deltaXR{m,j}(i)= Xpos(i);end
|
||||
catch, end
|
||||
end
|
||||
end
|
||||
for i=1:length(Xneg(:)),
|
||||
if deltaXR{m,j}(i)==0, deltaXR{m,j}(i)= Xneg(i); end
|
||||
try
|
||||
if abs(Xpos(i))>abs(Xneg(i)), deltaXR{m,j}(i)= Xneg(i); end
|
||||
catch
|
||||
end
|
||||
end
|
||||
%else else else else
|
||||
else %if methCalc~=0
|
||||
%percentRs= 100;
|
||||
RsReduced(j)= percentRs/100* Rs(j)
|
||||
%{
|
||||
Yn{m,j}= Xn{m,j}-Xn{m,1}; %Yn is deltaXn
|
||||
Yn{m,j}(Yn{m,j}==0)=-0.5;
|
||||
Yln{m,j}= Xln{m,j}-Xln{m,1};
|
||||
Yln{m,j}(Yln{m,j}==0)=-0.5;
|
||||
Yhn{m,j}= Xhn{m,j}-Xhn{m,1};
|
||||
Yhn{m,j}(Yhn{m,j}==0)=-0.5;
|
||||
%}
|
||||
|
||||
%deltaRp(j)= (Rn(j)+RsReduced(j))-Rn(1); %
|
||||
deltaRp(j)= (Rn(j)+RsReduced(j))-(Rn(1)+RsReduced(1));
|
||||
%deltaRn(j)= (Rn(j)-RsReduced(j))-Rn(1); %
|
||||
deltaRn(j)=(Rn(j)-RsReduced(j))-(Rn(1)-RsReduced(1));
|
||||
if deltaRp(j)==0, deltaRp(j)=0.2; end
|
||||
if deltaRn(j)==0, deltaRn(j)=0.2; end
|
||||
|
||||
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
|
||||
|
||||
%**************************************************************************
|
||||
end %if methCalc==0
|
||||
%}
|
||||
|
||||
590
workflow/apps/matlab/ezview/TempBU/EZvDatatip0424.m
Executable file
590
workflow/apps/matlab/ezview/TempBU/EZvDatatip0424.m
Executable file
@@ -0,0 +1,590 @@
|
||||
%EZvDatatip
|
||||
%Calls to EZdestComp.m EZmDayTrend.m
|
||||
|
||||
global ghandles
|
||||
global Exp
|
||||
|
||||
RFcmpGFlg=0; %Test 180105 as it goes to EZmDayTrend.m
|
||||
lstBoxCmpFlg=0;
|
||||
%datacursormode(gcf)
|
||||
%{
|
||||
[output_txt]=datatipp(obj,event_obj);
|
||||
clkPos=getCursorInfo(datacursormode(gcf));
|
||||
cpos=clkPos.Position;
|
||||
htargetAxes= clkPos.Target;
|
||||
%}
|
||||
%pause(1)
|
||||
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;
|
||||
%x2ypos= [1400-cpos(2) cpos(1)] %for HorzRotatedImage
|
||||
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)<coord(4)
|
||||
picLoc1= [n,m];
|
||||
%indx=(picLoc1(1)-1)*24+picLoc1(2)
|
||||
%spotFrm= Exp(expN).Dexp(DexpN).FexpScanSpots{1}{m,n,tPtSel};
|
||||
spotFrm= Exp(expN).Dexp(DexpN).FexpScanSpots{plateNum}{m,n,tPtSel}; %20160108
|
||||
end
|
||||
end
|
||||
end %for n=1:16
|
||||
end %for m=1:24
|
||||
destcompMsg= 'GoodDataTip';
|
||||
catch
|
||||
destcompMsg= 'BadDataTip';
|
||||
m
|
||||
n
|
||||
end
|
||||
|
||||
plateLoc= [(17-picLoc1(1)) picLoc1(2)];
|
||||
indx=(plateLoc(1)-1)*24+plateLoc(2);
|
||||
elseif htMapFg==1 %Comes from HeatMap image Haxes
|
||||
plateLoc= ptrPos;
|
||||
indx=(plateLoc(1)-1)*24+plateLoc(2);
|
||||
end
|
||||
Exp(expN).Dexp(DexpN).spotIndx=indx;
|
||||
|
||||
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 expN==1, plotAxes=ghandles.Paxes1; OLaxes=ghandles.OLaxes1;
|
||||
Exp(1).traceN=Exp(1).traceN+1;
|
||||
traceN=Exp(1).traceN;
|
||||
end
|
||||
if expN==2, plotAxes=ghandles.Paxes2; OLaxes=ghandles.OLaxes2;
|
||||
Exp(2).traceN=Exp(2).traceN+1;
|
||||
traceN=Exp(2).traceN;
|
||||
end
|
||||
if expN==3, plotAxes=ghandles.Paxes3; OLaxes=ghandles.OLaxes3;
|
||||
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 for i=1:length(Exp(expN).hOL(:)),set(Exp(expN).hOL(i),'color',[0 0 1]); end, catch, end %ZoneRelated
|
||||
Exp(expN).hOL(traceN)=plot(OLaxes,t,g);hold on;
|
||||
set(Exp(expN).hOL(traceN),'color',[1 0 0])
|
||||
Exp(expN).hOLb(traceN)=plot(OLaxes,tser,rawData,'g*');
|
||||
|
||||
%Added for Composite Plot utility [C] 170419
|
||||
Exp(expN).ll(traceN)= l; Exp(expN).rr(traceN)= r; Exp(expN).kk(traceN)= K;
|
||||
%************************************************
|
||||
|
||||
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 %trycatch
|
||||
%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
|
||||
|
||||
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=',num2str(l),'_','r=',num2str(r),'_','K=',num2str(K));
|
||||
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)};
|
||||
|
||||
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
|
||||
|
||||
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'
|
||||
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
|
||||
end
|
||||
catch
|
||||
msg='Not from an OLay selected trace'
|
||||
end
|
||||
|
||||
|
||||
catch
|
||||
msg='Not in OLay frame-axis 0'
|
||||
end %=> try for Write Selected Trace Info to OLAY header******
|
||||
|
||||
%HIDE HIDE HIDE ---------------------------------------------------
|
||||
%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
|
||||
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
|
||||
end
|
||||
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
|
||||
|
||||
end
|
||||
|
||||
%------HIDE 22222222222222222-----
|
||||
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
|
||||
end
|
||||
|
||||
for i=1:length(Exp(OLay).hOL(:))
|
||||
if htargetAxes==Exp(OLay).hOL(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
|
||||
end
|
||||
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
|
||||
|
||||
%------HIDE 33333333333333-----
|
||||
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
|
||||
end
|
||||
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';
|
||||
|
||||
catch
|
||||
msg='Not in OLay frame-axis 1'
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
%**********************************************************************************
|
||||
|
||||
NoOLay=0;
|
||||
try
|
||||
OLay
|
||||
expN=OLay
|
||||
EZdatatip= 2
|
||||
catch
|
||||
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)
|
||||
end
|
||||
|
||||
%*****GraphicPertibationComparison**15_821*OR Chrono Day Comparison******************
|
||||
%EZdatatip=1;
|
||||
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
|
||||
catch
|
||||
end
|
||||
[output_txt]=datatipp(obj,event_obj);
|
||||
%*********************HeatMap Text Field*********************************
|
||||
try
|
||||
ll=num2str(l);
|
||||
if length(ll)>5,htl= ll(1:5);else htl=ll;end
|
||||
catch
|
||||
htl=' ';
|
||||
end
|
||||
try
|
||||
kk=num2str(K);
|
||||
if length(kk)>5,htk= kk(1:5);else htk=kk;end
|
||||
catch
|
||||
htk=' ';
|
||||
end
|
||||
try
|
||||
rr=num2str(r);
|
||||
if length(rr)>5,htr= rr(1:5);else htr=rr;end
|
||||
catch
|
||||
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
|
||||
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=' ';
|
||||
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
|
||||
catch
|
||||
end
|
||||
|
||||
try
|
||||
if Exp(expN).htmapPBsel==1 || 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
|
||||
|
||||
%datacursormode(gcf)
|
||||
%**********************************************Test Area
|
||||
%Added 18_0105 to define RFcmpGFlg for EZmDayTrend.m when an Image spot
|
||||
%is clicked
|
||||
%try
|
||||
%listboxGnOrf=get(handles.listboxGnOrf,'string');
|
||||
%selGnOrf=listboxGnOrf(usrInxSel);
|
||||
tempLB= str2mat(selGnOrf)
|
||||
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
|
||||
end
|
||||
%catch
|
||||
%end
|
||||
BIN
workflow/apps/matlab/ezview/TempBU/EZviewFigBUs/EZviewGui - Copy230821-2.fig
Executable file
BIN
workflow/apps/matlab/ezview/TempBU/EZviewFigBUs/EZviewGui - Copy230821-2.fig
Executable file
Binary file not shown.
BIN
workflow/apps/matlab/ezview/TempBU/EZviewFigBUs/EZviewGui - Copy230821.fig
Executable file
BIN
workflow/apps/matlab/ezview/TempBU/EZviewFigBUs/EZviewGui - Copy230821.fig
Executable file
Binary file not shown.
BIN
workflow/apps/matlab/ezview/TempBU/EZviewFigBUs/EZviewGui2.fig
Executable file
BIN
workflow/apps/matlab/ezview/TempBU/EZviewFigBUs/EZviewGui2.fig
Executable file
Binary file not shown.
BIN
workflow/apps/matlab/ezview/TempBU/EZviewFigBUs/EZviewGui3.fig
Executable file
BIN
workflow/apps/matlab/ezview/TempBU/EZviewFigBUs/EZviewGui3.fig
Executable file
Binary file not shown.
BIN
workflow/apps/matlab/ezview/TempBU/EZviewFigBUs/EZviewGui4.fig
Executable file
BIN
workflow/apps/matlab/ezview/TempBU/EZviewFigBUs/EZviewGui4.fig
Executable file
Binary file not shown.
BIN
workflow/apps/matlab/ezview/TempBU/EZviewFigBUs/EZviewGui4ok.fig
Executable file
BIN
workflow/apps/matlab/ezview/TempBU/EZviewFigBUs/EZviewGui4ok.fig
Executable file
Binary file not shown.
BIN
workflow/apps/matlab/ezview/TempBU/EZviewFigBUs/EZviewGuiBU.fig
Executable file
BIN
workflow/apps/matlab/ezview/TempBU/EZviewFigBUs/EZviewGuiBU.fig
Executable file
Binary file not shown.
BIN
workflow/apps/matlab/ezview/TempBU/EZviewFigBUs/EZviewGuiBU230815.fig
Executable file
BIN
workflow/apps/matlab/ezview/TempBU/EZviewFigBUs/EZviewGuiBU230815.fig
Executable file
Binary file not shown.
BIN
workflow/apps/matlab/ezview/TempBU/EZviewFigBUs/EZviewGui_Copy.fig
Executable file
BIN
workflow/apps/matlab/ezview/TempBU/EZviewFigBUs/EZviewGui_Copy.fig
Executable file
Binary file not shown.
BIN
workflow/apps/matlab/ezview/TempBU/EZviewFigBUs/EZviewGui_RadioRemoved.fig
Executable file
BIN
workflow/apps/matlab/ezview/TempBU/EZviewFigBUs/EZviewGui_RadioRemoved.fig
Executable file
Binary file not shown.
2030
workflow/apps/matlab/ezview/TempBU/EZviewGui - BUcopy230821.m
Executable file
2030
workflow/apps/matlab/ezview/TempBU/EZviewGui - BUcopy230821.m
Executable file
File diff suppressed because it is too large
Load Diff
1914
workflow/apps/matlab/ezview/TempBU/EZviewGui - Copy.m
Executable file
1914
workflow/apps/matlab/ezview/TempBU/EZviewGui - Copy.m
Executable file
File diff suppressed because it is too large
Load Diff
BIN
workflow/apps/matlab/ezview/TempBU/EZviewGui_App230913.mlapp
Executable file
BIN
workflow/apps/matlab/ezview/TempBU/EZviewGui_App230913.mlapp
Executable file
Binary file not shown.
BIN
workflow/apps/matlab/ezview/TempBU/EZviewGui_App230918-2x.mlapp
Executable file
BIN
workflow/apps/matlab/ezview/TempBU/EZviewGui_App230918-2x.mlapp
Executable file
Binary file not shown.
BIN
workflow/apps/matlab/ezview/TempBU/EZviewGui_App230918.mlapp
Executable file
BIN
workflow/apps/matlab/ezview/TempBU/EZviewGui_App230918.mlapp
Executable file
Binary file not shown.
BIN
workflow/apps/matlab/ezview/TempBU/EZviewGui_AppX.mlapp
Executable file
BIN
workflow/apps/matlab/ezview/TempBU/EZviewGui_AppX.mlapp
Executable file
Binary file not shown.
144
workflow/apps/matlab/ezview/TempBU/EZviewGui_App_1_report.html
Executable file
144
workflow/apps/matlab/ezview/TempBU/EZviewGui_App_1_report.html
Executable file
@@ -0,0 +1,144 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Migration Report for EZviewGui</title>
|
||||
<style type="text/css">
|
||||
html body {
|
||||
height: 100%;
|
||||
padding: 0; margin: 0;
|
||||
color: #474747;
|
||||
font: 13px/1.384 Arial, Helvetica, sans-serif;
|
||||
}
|
||||
/*Report Title Header*/
|
||||
h1 {
|
||||
font-family: Futura, Arial, Helvetica, sans-serif;
|
||||
font-size: 28px;
|
||||
font-weight: 400;
|
||||
color: #fff;
|
||||
margin: 0;
|
||||
padding: 15px;
|
||||
}
|
||||
/*Report Section Headers*/
|
||||
h2 {
|
||||
padding-bottom: 2px;
|
||||
margin: 20px 0 17px 0;
|
||||
border-bottom: 1px solid #cbcbcb;
|
||||
color: #c45400;
|
||||
font: normal normal 22px/1.136 Arial,Helvetica,sans-serif;
|
||||
}
|
||||
/*Report Subsection Headers*/
|
||||
h3 {
|
||||
margin: 20px 0 20px 0;
|
||||
font: normal bold 17px/1.35 Arial, Helvetica, sans-serif;
|
||||
}
|
||||
ul.childHasIcon {
|
||||
padding-left: 20px;
|
||||
}
|
||||
ul > li.success {
|
||||
list-style: none;
|
||||
/*Check-mark image*/
|
||||
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAK2SURBVHjaVJNPaFRXFMZ/b96MmUZGURMyHaoTa0QrRReD4KIlwriRRhPpoi1ddeNG4krFRbAbceOf0qJuSoWWWlooIiKlCSkp1ARksEmpi8GSQjKJUSYk/p1J5r17vi7ee609cFf3+33n3HvO8SgdJYn+oZFODw4DBxB7hYoSMzJVZBo12a2fzr9X55XwEoOBoZGyYNCDfgEyIQkMzIRkBKupYXN89svVg8OJgU+hxMDQSBk45+GVJSJQQk5IYGbIhIfrcSF78ttrC3P336wC+ANXlzqBs0A5EgtkSMJMMRxXFN11mSm/pr05sTSXX0qBDkvqj0Qx6MBC/QuVt77Pp/uvkV9bxJzhZ5r7cx2LHwGZtMQBGUhRmSaB/Zd9rb+OD98+zub1Paxbs5FjNw9GJm2NXuDLtMz2RuUC8VsVG2T9di4fGqaQ6+ZubZTvJ69goWEy/PTKTmBDykxFc0LOOLHvMu+8cQjnjDRtXDsyTiHXTaU2xpmfP6EyO4Y5Q6EgFXQBubRMM+a0zcx4t9hHb3c/j5/Ncbr3Cpva80w9HOfU7Q8IwhbmonaagQv8x0A25ZxVzAxz4tupS0jG5323eT1XZHL+DoM3+mgFLZwzEp2c0WpmqsBKypxGLb785vcLfH3vAgCT878xeKMvAp1FM5Ecg5Wn6+8Bz1Pm3K1W0xu2UFhofDf5BX8t/snFsZPxDMSZzaLOSKw2suOPHuyaAJb9v+c+bmze/aBuTnuE6wrCgJt/fMVyox6NcNwRCTARtjLV5fkt1+vTb1WAmk+hxOzUjumOrTMLkuVTXtCdgMmHJTux2nxt/Ml88Xptat+vwCzw0qdQAmCh2lPNZBsTJluU8ySsDazdhf6j1sts5cVS548P75d+qE/vrMTw8v+28ZXIAB3ABiAHZIEV4HkMLQJBIv5nAPq180UQOlmCAAAAAElFTkSuQmCC') no-repeat;
|
||||
padding-left: 20px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
ul.verifications > li {
|
||||
margin: 7px 0 7px 0;
|
||||
}
|
||||
table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
table,th,tr,td {
|
||||
border: 1px solid #ccc;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
padding: 8px 15px;
|
||||
}
|
||||
tr:nth-child(odd) {
|
||||
background-color: #fafafa;
|
||||
}
|
||||
a { color: #187dbb; text-decoration: none; }
|
||||
a:visited { color: #004b87; text-decoration: none; }
|
||||
a:hover { color: #004b87; text-decoration: underline;}
|
||||
code {
|
||||
font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
|
||||
}
|
||||
.reportTitle {
|
||||
min-height: 52px;
|
||||
background: #2f7eb2;
|
||||
}
|
||||
.reportBody {
|
||||
padding: 0 15px 0 15px;
|
||||
}
|
||||
/*Classes that are used by HTML that is added dynamically by the report generator */
|
||||
.detailsWorkaround {
|
||||
padding: 10px 0px;
|
||||
}
|
||||
.detailsWorkaroundHeader {
|
||||
padding-right: 5px;
|
||||
font-weight: bold;
|
||||
}
|
||||
.hidden {
|
||||
display: none;
|
||||
}
|
||||
.visible {
|
||||
display: block;
|
||||
}
|
||||
.showMore {
|
||||
margin-top: 5px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="reportTitle">
|
||||
<h1>Migration Report for <code>EZviewGui</code></h1>
|
||||
</div>
|
||||
<div class="reportBody">
|
||||
<section>
|
||||
<h3>Your GUIDE app was migrated to App Designer and is ready for validation.</h3>
|
||||
<h2>Migration Results</h2>
|
||||
<ul class="childHasIcon">
|
||||
<li class="success"><b>EZviewGui_App_1.mlapp</b> file created</li>
|
||||
<li class="success"><b>2069</b> lines of code analyzed in EZviewGui.m</li>
|
||||
<li class="success"><b>151</b> components created and initialized</li>
|
||||
<li class="success"><b>76</b> callbacks and utility functions configured and enabled to function in App Designer</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>Validate Your Migrated App</h2>
|
||||
<p>The migration tool enables most of your app code to execute. Now, you need to fully validate your migrated app to make sure it behaves as expected. Consider doing the following verifications:</p>
|
||||
<ul>
|
||||
<li>Verify Layout
|
||||
<ul class="verifications">
|
||||
<li>Run your app and verify the initial layout of all components is as expected.</li>
|
||||
<li>If your app dynamically shows, hides, or enables additional components or options in response to selections made within the app, confirm these behave as expected.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Verify Callbacks
|
||||
<ul class="verifications">
|
||||
<li>Run and close your app to confirm there are no startup or termination errors.</li>
|
||||
<li>Exercise the workflows specific to your app, starting with the most basic, and gradually proceeding to the more complex ones.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p>If unexpected errors occur, either within the app or at the MATLAB command line, address those issues before continuing with the validation. For troubleshooting assistance and additional information, see <a href="matlab:helpview(fullfile(docroot,'matlab', 'creating_guis', 'differences-between-app-designer-and-guide.html#mw_7f306e19-74d0-4c0b-989d-74ed63e32ddd'));">GUIDE Migration Strategies</a>.</p>
|
||||
</section>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
// Toggles showing the "Show More (10)" hyperlink with the "Show less" hyperlink
|
||||
function toggleShowMore(selectedHyperlink) {
|
||||
// Find the parent td for the selected hyperlink ("Show more" or "Show less")
|
||||
var td = selectedHyperlink.parentElement.parentElement;
|
||||
|
||||
// Toggle the "hidden" class on all of the elements but the first 3. The first 3 we want to always be
|
||||
// visible.
|
||||
var tags = td.children;
|
||||
for (var i=3; i<tags.length; i++) {
|
||||
tags[i].classList.toggle("hidden");
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
144
workflow/apps/matlab/ezview/TempBU/EZviewGui_App_2_report.html
Executable file
144
workflow/apps/matlab/ezview/TempBU/EZviewGui_App_2_report.html
Executable file
@@ -0,0 +1,144 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Migration Report for EZviewGui</title>
|
||||
<style type="text/css">
|
||||
html body {
|
||||
height: 100%;
|
||||
padding: 0; margin: 0;
|
||||
color: #474747;
|
||||
font: 13px/1.384 Arial, Helvetica, sans-serif;
|
||||
}
|
||||
/*Report Title Header*/
|
||||
h1 {
|
||||
font-family: Futura, Arial, Helvetica, sans-serif;
|
||||
font-size: 28px;
|
||||
font-weight: 400;
|
||||
color: #fff;
|
||||
margin: 0;
|
||||
padding: 15px;
|
||||
}
|
||||
/*Report Section Headers*/
|
||||
h2 {
|
||||
padding-bottom: 2px;
|
||||
margin: 20px 0 17px 0;
|
||||
border-bottom: 1px solid #cbcbcb;
|
||||
color: #c45400;
|
||||
font: normal normal 22px/1.136 Arial,Helvetica,sans-serif;
|
||||
}
|
||||
/*Report Subsection Headers*/
|
||||
h3 {
|
||||
margin: 20px 0 20px 0;
|
||||
font: normal bold 17px/1.35 Arial, Helvetica, sans-serif;
|
||||
}
|
||||
ul.childHasIcon {
|
||||
padding-left: 20px;
|
||||
}
|
||||
ul > li.success {
|
||||
list-style: none;
|
||||
/*Check-mark image*/
|
||||
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAK2SURBVHjaVJNPaFRXFMZ/b96MmUZGURMyHaoTa0QrRReD4KIlwriRRhPpoi1ddeNG4krFRbAbceOf0qJuSoWWWlooIiKlCSkp1ARksEmpi8GSQjKJUSYk/p1J5r17vi7ee609cFf3+33n3HvO8SgdJYn+oZFODw4DBxB7hYoSMzJVZBo12a2fzr9X55XwEoOBoZGyYNCDfgEyIQkMzIRkBKupYXN89svVg8OJgU+hxMDQSBk45+GVJSJQQk5IYGbIhIfrcSF78ttrC3P336wC+ANXlzqBs0A5EgtkSMJMMRxXFN11mSm/pr05sTSXX0qBDkvqj0Qx6MBC/QuVt77Pp/uvkV9bxJzhZ5r7cx2LHwGZtMQBGUhRmSaB/Zd9rb+OD98+zub1Paxbs5FjNw9GJm2NXuDLtMz2RuUC8VsVG2T9di4fGqaQ6+ZubZTvJ69goWEy/PTKTmBDykxFc0LOOLHvMu+8cQjnjDRtXDsyTiHXTaU2xpmfP6EyO4Y5Q6EgFXQBubRMM+a0zcx4t9hHb3c/j5/Ncbr3Cpva80w9HOfU7Q8IwhbmonaagQv8x0A25ZxVzAxz4tupS0jG5323eT1XZHL+DoM3+mgFLZwzEp2c0WpmqsBKypxGLb785vcLfH3vAgCT878xeKMvAp1FM5Ecg5Wn6+8Bz1Pm3K1W0xu2UFhofDf5BX8t/snFsZPxDMSZzaLOSKw2suOPHuyaAJb9v+c+bmze/aBuTnuE6wrCgJt/fMVyox6NcNwRCTARtjLV5fkt1+vTb1WAmk+hxOzUjumOrTMLkuVTXtCdgMmHJTux2nxt/Ml88Xptat+vwCzw0qdQAmCh2lPNZBsTJluU8ySsDazdhf6j1sts5cVS548P75d+qE/vrMTw8v+28ZXIAB3ABiAHZIEV4HkMLQJBIv5nAPq180UQOlmCAAAAAElFTkSuQmCC') no-repeat;
|
||||
padding-left: 20px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
ul.verifications > li {
|
||||
margin: 7px 0 7px 0;
|
||||
}
|
||||
table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
table,th,tr,td {
|
||||
border: 1px solid #ccc;
|
||||
text-align: left;
|
||||
vertical-align: top;
|
||||
padding: 8px 15px;
|
||||
}
|
||||
tr:nth-child(odd) {
|
||||
background-color: #fafafa;
|
||||
}
|
||||
a { color: #187dbb; text-decoration: none; }
|
||||
a:visited { color: #004b87; text-decoration: none; }
|
||||
a:hover { color: #004b87; text-decoration: underline;}
|
||||
code {
|
||||
font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
|
||||
}
|
||||
.reportTitle {
|
||||
min-height: 52px;
|
||||
background: #2f7eb2;
|
||||
}
|
||||
.reportBody {
|
||||
padding: 0 15px 0 15px;
|
||||
}
|
||||
/*Classes that are used by HTML that is added dynamically by the report generator */
|
||||
.detailsWorkaround {
|
||||
padding: 10px 0px;
|
||||
}
|
||||
.detailsWorkaroundHeader {
|
||||
padding-right: 5px;
|
||||
font-weight: bold;
|
||||
}
|
||||
.hidden {
|
||||
display: none;
|
||||
}
|
||||
.visible {
|
||||
display: block;
|
||||
}
|
||||
.showMore {
|
||||
margin-top: 5px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="reportTitle">
|
||||
<h1>Migration Report for <code>EZviewGui</code></h1>
|
||||
</div>
|
||||
<div class="reportBody">
|
||||
<section>
|
||||
<h3>Your GUIDE app was migrated to App Designer and is ready for validation.</h3>
|
||||
<h2>Migration Results</h2>
|
||||
<ul class="childHasIcon">
|
||||
<li class="success"><b>EZviewGui_App_2.mlapp</b> file created</li>
|
||||
<li class="success"><b>2105</b> lines of code analyzed in EZviewGui.m</li>
|
||||
<li class="success"><b>160</b> components created and initialized</li>
|
||||
<li class="success"><b>75</b> callbacks and utility functions configured and enabled to function in App Designer</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>Validate Your Migrated App</h2>
|
||||
<p>The migration tool enables most of your app code to execute. Now, you need to fully validate your migrated app to make sure it behaves as expected. Consider doing the following verifications:</p>
|
||||
<ul>
|
||||
<li>Verify Layout
|
||||
<ul class="verifications">
|
||||
<li>Run your app and verify the initial layout of all components is as expected.</li>
|
||||
<li>If your app dynamically shows, hides, or enables additional components or options in response to selections made within the app, confirm these behave as expected.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Verify Callbacks
|
||||
<ul class="verifications">
|
||||
<li>Run and close your app to confirm there are no startup or termination errors.</li>
|
||||
<li>Exercise the workflows specific to your app, starting with the most basic, and gradually proceeding to the more complex ones.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p>If unexpected errors occur, either within the app or at the MATLAB command line, address those issues before continuing with the validation. For troubleshooting assistance and additional information, see <a href="matlab:helpview(fullfile(docroot,'matlab', 'creating_guis', 'differences-between-app-designer-and-guide.html#mw_7f306e19-74d0-4c0b-989d-74ed63e32ddd'));">GUIDE Migration Strategies</a>.</p>
|
||||
</section>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
// Toggles showing the "Show More (10)" hyperlink with the "Show less" hyperlink
|
||||
function toggleShowMore(selectedHyperlink) {
|
||||
// Find the parent td for the selected hyperlink ("Show more" or "Show less")
|
||||
var td = selectedHyperlink.parentElement.parentElement;
|
||||
|
||||
// Toggle the "hidden" class on all of the elements but the first 3. The first 3 we want to always be
|
||||
// visible.
|
||||
var tags = td.children;
|
||||
for (var i=3; i<tags.length; i++) {
|
||||
tags[i].classList.toggle("hidden");
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user