318 lines
11 KiB
Matlab
Executable File
318 lines
11 KiB
Matlab
Executable File
% EZmultiExLoad
|
|
% Calls to EZVimDisplay (ln 185) EZmultiGeneRFsLst (ln213) EZdiagRFsSheet(ln218)
|
|
% TODO this file could use some elseif's
|
|
|
|
global Exp
|
|
global zonePB
|
|
global Expaa
|
|
global Expbb
|
|
global exDlst
|
|
global exFolder
|
|
|
|
% Load .mat file
|
|
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)
|
|
load(char(ExpOutmat));
|
|
%cd(scansDir)
|
|
%cd ..;
|
|
%resDir=pwd;
|
|
Exp(expN).Dexp(n).resDir=cell2mat(resDir(n));
|
|
cd(Exp(expN).Dexp(n).resDir)
|
|
cd ..;
|
|
ExpPath=pwd;
|
|
Exp(expN).Dexp(n).ExpFoldr=ExpPath;
|
|
cd(w)
|
|
% Experiment LOADs
|
|
load(fullfile(Exp(expN).Dexp(n).ExpFoldr,'MasterPlateFiles','MPDMmat.mat'))
|
|
load(fullfile(Exp(expN).Dexp(n).resDir,'Fotos','Coordinates'))
|
|
load(fullfile(Exp(expN).Dexp(n).resDir,'Fotos','anlZones'))
|
|
load(fullfile(Exp(expN).Dexp(n).resDir,'Fotos','BGatTpts'))
|
|
load(fullfile(Exp(expN).Dexp(n).resDir,'PTmats','NImParameters'))
|
|
% Backup for cond. sothat failure to load is recovered back prev. ExpJob data
|
|
% test in temp
|
|
Exp(expN).Dexp(n).temp.DM=DM;
|
|
Exp(expN).Dexp(n).temp.MP=MP;
|
|
Exp(expN).Dexp(n).temp.scan=scan;
|
|
Exp(expN).Dexp(n).temp.FexpScanSpots=FexpScanSpots;
|
|
Exp(expN).Dexp(n).temp.FexpScanBMtp=FexpScanBMtp;
|
|
Exp(expN).Dexp(n).temp.anlZoneRefs=anlZoneRefs;
|
|
Exp(expN).Dexp(n).temp.ImParMat=ImParMat;
|
|
Exp(expN).Dexp(n).DM=Exp(expN).Dexp(n).temp.DM;
|
|
Exp(expN).Dexp(n).MP=Exp(expN).Dexp(n).temp.MP;
|
|
Exp(expN).Dexp(n).scan=Exp(expN).Dexp(n).temp.scan;
|
|
Exp(expN).Dexp(n).FexpScanSpots=Exp(expN).Dexp(n).temp.FexpScanSpots;
|
|
Exp(expN).Dexp(n).FexpScanBMtp=Exp(expN).Dexp(n).temp.FexpScanBMtp;
|
|
Exp(expN).Dexp(n).anlZoneRefs=Exp(expN).Dexp(n).temp.anlZoneRefs;
|
|
Exp(expN).Dexp(n).ImParMat=Exp(expN).Dexp(n).temp.ImParMat;
|
|
Exp(expN).Dexp((Exp(expN).DexpLength+1):end)=[];
|
|
Exp(expN).Dexp(n).temp=[];
|
|
end
|
|
|
|
% 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;
|
|
|