354 lines
12 KiB
Matlab
Executable File
354 lines
12 KiB
Matlab
Executable File
%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;
|
|
|
|
%*******************************************************************
|
|
|