Files
hartman-server/qhtcp-workflow/apps/matlab/ezview/EZmultiExLoad.m

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;