Organize old files

This commit is contained in:
2024-07-29 18:12:57 -04:00
parent d2a5d9e69f
commit 39672a6ca0
98 changed files with 57004 additions and 19259 deletions

View File

@@ -1,879 +0,0 @@
YAL025C
YKR008W
YKR037C
YBL097W
YKR083C
YLL003W
YLL008W
YLL034C
YLR008C
YCL004W
YDL058W
YLR116W
YLR163C
YDL132W
YLR175W
YDL126C
YBL041W
YDL139C
YBL050W
YBL073W
YDL143W
YBL074C
YBL076C
YDL147W
YDL148C
YBL084C
YDL150W
YBL092W
YDL152W
YBL105C
YDL153C
YBR004C
YDL163W
YBR011C
YDL164C
YBR029C
YDL140C
YLR215C
YLR272C
YDR050C
YLR277C
YDR088C
YLR298C
YDR145W
YML015C
YDR303C
YML046W
YDR325W
YML049C
YDR394W
YML092C
YML098W
YML114C
YEL055C
YMR005W
YDL165W
YBR038W
YBR055C
YDL193W
YBR060C
YDL195W
YBR070C
YBR079C
YDL205C
YBR080C
YDL207W
YBR087W
YDL208W
YBR088C
YDL209C
YBR089W
YDL212W
YBR091C
YDL217C
YBR102C
YDL220C
YBR109C
YER006W
YMR043W
YER021W
YMR061W
YER022W
YMR146C
YMR197C
YMR203W
YMR227C
YER168C
YMR239C
YMR270C
YMR277W
YNL007C
YNL026W
YBR110W
YDL235C
YBR121C
YDR002W
YDR013W
YBR124W
YDR021W
YBR135W
YBR140C
YDR037W
YBR142W
YDR041W
YBR143C
YDR044W
YBR152W
YDR045C
YBR153W
YDR047W
YBR154C
YDR052C
YBR155W
YFL038C
YNL062C
YFR002W
YNL188W
YFR004W
YNL189W
YFR031C
YNL221C
YFR051C
YNL251C
YGL044C
YNL261W
YGL055W
YNR016C
YGL065C
YNR035C
YGL073W
YNR043W
YGL075C
YNR053C
YOL123W
YGL098W
YOL149W
YDR053W
YBR160W
YDR054C
YBR167C
YDR060W
YBR190W
YDR062W
YBR192W
YBR193C
YBR196C
YDR082W
YBR202W
YDR087C
YBR234C
YDR091C
YBR236C
YDR113C
YBR237W
YDR118W
YBR243C
YGL099W
YOR046C
YOR056C
YGL120C
YOR057W
YOR145C
YOR151C
YGR075C
YOR194C
YGR098C
YOR232W
YOR260W
YGR116W
YOR281C
YGR147C
YOR341W
YOR373W
YGR158C
YPL011C
YDR141C
YBR247C
YDR160W
YBR252W
YDR164C
YBR254C
YDR166C
YBR256C
YDR167W
YBR257W
YDR168W
YBR265W
YDR170C
YCL017C
YDR172W
YCL031C
YDR177W
YCL041C
YDR180W
YCL043C
YDR182W
YCL052C
YDR187C
YCL054W
YPL016W
YPL028W
YPL043W
YGR245C
YPL076W
YGR246C
YPL124W
YPL169C
YPL175W
YHR083W
YPL233W
YHR170W
YPL235W
YPL242C
YPL252C
YIL021W
YCL059C
YDR189W
YCR012W
YDR190C
YDR196C
YCR035C
YDR201W
YCR052W
YDR208W
YCR054C
YDR211W
YCR057C
YDR212W
YCR072C
YDR224C
YCR093W
YDR228C
YDL003W
YDR232W
YDL004W
YDR235W
YDL007W
YIL046W
YPR034W
YIL078W
YPR041W
YPR086W
YIL126W
YPR161C
YIL142W
YPR178W
YIR010W
YAL003W
YIR012W
YAL032C
YJL014W
YAL033W
YAL038W
YAL041W
YAL043C
YDL008W
YDR238C
YDL014W
YDR240C
YDL015C
YDR243C
YDR246W
YDL017W
YDR267C
YDL028C
YDL029W
YDR288W
YDL030W
YDR292C
YDL031W
YDR299W
YDL043C
YDR301W
YDL045C
YDR302W
YDL055C
YJL050W
YAR007C
YJL076W
YAR008W
YAR019C
YJR112W
YBL004W
YKL042W
YBL014C
YBL018C
YKL059C
YBL020W
YKL125W
YBL023C
YKL165C
YBL030C
YKL173W
YBL035C
YDR308C
YDL060W
YDR311W
YDR324C
YDL087C
YDR331W
YDL097C
YDR339C
YDL098C
YDR341C
YDL102W
YDR355C
YDL105W
YDR356W
YDL108W
YDR361C
YDL111C
YDR362C
YDL120W
YGL097W
YDR367W
YDR373W
YDR376W
YDR381W
YDR390C
YGL116W
YDR397C
YGL123W
YDR398W
YDR404C
YGL130W
YDR407C
YGL137W
YDR412W
YGL142C
YJR141W
YHR166C
YKL012W
YHR186C
YKL014C
YHR196W
YHR197W
YKL019W
YIL003W
YKL021C
YIL019W
YKL022C
YIL022W
YIL026C
YKL028W
YIL031W
YKL033W
YGL145W
YDR429C
YGL169W
YDR434W
YGL171W
YDR437W
YGL201C
YDR454C
YDR460W
YGL225W
YDR464W
YGL233W
YDR468C
YGL238W
YDR472W
YGL239C
YKL035W
YIL051C
YIL061C
YKL045W
YIL062C
YKL049C
YIL063C
YKL052C
YIL068C
YKL060C
YIL075C
YKL078W
YIL083C
YKL082C
YKL083W
YIL104C
YKL088W
YIL115C
YKL095W
YIL118W
YDR473C
YGL245W
YDR478W
YDR487C
YDR498C
YGR013W
YDR499W
YDR510W
YGR030C
YDR526C
YGR046W
YDR527W
YDR531W
YGR048W
YEL002C
YGR060W
YGR065C
YIL129C
YIL144W
YKL108W
YIL147C
YIL150C
YKL112W
YIL171W
YKL122C
YIR006C
YKL141W
YIR008C
YKL144C
YKL145W
YIR015W
YIR022W
YJL001W
YKL154W
YJL002C
YEL032W
YGR073C
YEL035C
YGR074W
YEL058W
YER003C
YGR083C
YER008C
YGR090W
YGR091W
YER012W
YGR094W
YER013W
YGR095C
YER023W
YGR099W
YER025W
YGR113W
YER036C
YGR114C
YER038C
YJL005W
YKL182W
YJL008C
YKL186C
YJL009W
YKL189W
YJL010C
YKL192C
YJL011C
YKL193C
YJL015C
YKL195W
YJL018W
YKL203C
YJL025W
YKL210W
YJL026W
YKR002W
YJL031C
YKR004C
YJL032W
YKR022C
YJL033W
YER043C
YGR120C
YGR140W
YER112W
YGR145W
YER125W
YGR175C
YER126C
YGR185C
YER133W
YGR186W
YGR190C
YER147C
YGR191W
YGR198W
YKR025W
YJL034W
YKR038C
YJL035C
YKR062W
YJL054W
YKR063C
YJL061W
YKR068C
YKR071C
YJL072C
YKR079C
YJL074C
YKR081C
YJL081C
YLL004W
YJL085W
YLL011W
YJL087C
YLL031C
YJL090C
YER159C
YGR211W
YFL002C
YGR251W
YFL005W
YFL008W
YGR264C
YFL009W
YGR265W
YFL017C
YGR267C
YFL022C
YFL024C
YGR278W
YFL037W
YHL015W
YHR005C
YLL035W
YJL091C
YJL097W
YLL037W
YJL109C
YLL050C
YLR002C
YJL125C
YLR005W
YJL143W
YLR007W
YLR009W
YJL167W
YLR010C
YLR022C
YJL174W
YLR026C
YJL194W
YJL195C
YFR003C
YHR007C
YFR005C
YFR027W
YFR028C
YFR029W
YHR036W
YFR037C
YHR040W
YHR042W
YFR050C
YHR058C
YFR052W
YHR062C
YGL001C
YHR065C
YGL008C
YGL011C
YLR033W
YJL203W
YLR066W
YJR007W
YLR071C
YJR012C
YLR076C
YJR013W
YLR078C
YJR016C
YLR086W
YJR017C
YLR088W
YJR022W
YGL018C
YHR070W
YGL022W
YGL040C
YHR085W
YGL047W
YGL048C
YHR101C
YGL061C
YGL068W
YHR118C
YGL069C
YGL074C
YGL091C
YGL092W
YHR164C
YLR103C
YLR105C
YJR045C
YLR106C
YJR046W
YLR115W
YJR057W
YLR117C
YLR127C
YJR065C
YLR129W
YJR067C
YLR132C
YJR068W
YLR140W
YJR072C
YLR141W
YJR076C
YLR145W
YJR093C
YLR153C
YMR301C
YLR166C
YMR308C
YLR167W
YMR309C
YMR314W
YLR195C
YNL002C
YLR196W
YNL006W
YLR197W
YNL038W
YLR198C
YNL039W
YNL061W
YLR212C
YNL075W
YLR222C
YNL088W
YLR223C
YNL102W
YOR075W
YPR016C
YOR077W
YPR025C
YOR095C
YPR033C
YOR098C
YPR035W
YPR048W
YOR103C
YOR110W
YPR056W
YOR116C
YPR082C
YOR117W
YPR085C
YOR119C
YPR088C
YOR122C
YLR229C
YNL103W
YLR230W
YNL110C
YLR243W
YNL112W
YLR249W
YNL113W
YLR259C
YNL114C
YLR274W
YNL124W
YLR276C
YLR291C
YNL131W
YLR305C
YNL132W
YLR310C
YNL137C
YLR314C
YPR103W
YPR104C
YOR148C
YPR105C
YOR149C
YPR107C
YOR157C
YPR108W
YOR159C
YPR110C
YOR160W
YPR112C
YOR168W
YPR113W
YPR133C
YOR174W
YOR176W
YPR137W
YOR181W
YPR142C
YLR316C
YLR317W
YNL151C
YLR321C
YLR323C
YNL158W
YLR336C
YNL161W
YLR339C
YNL162W
YNL163C
YLR347C
YNL172W
YLR355C
YLR359W
YNL181W
YLR378C
YNL182C
YLR379W
YNL207W
YPR143W
YOR204W
YPR144C
YOR206W
YOR207C
YPR168W
YOR217W
YPR169W
YOR218C
YPR175W
YOR224C
YPR176C
YOR236W
YOR244W
YPR180W
YOR249C
YOR254C
YLR397C
YNL216W
YLR409C
YNL222W
YLR424W
YNL232W
YLR430W
YNL240C
YLR440C
YNL244C
YLR457C
YNL245C
YLR458W
YNL247W
YNL256W
YML010W
YNL258C
YML023C
YNL260C
YML025C
YNL262W
YML031W
YNL263C
YPR183W
YOR256C
YPR186C
YOR257W
YPR190C
YOR261C
YAL034W-A
YOR262W
YER048W-A
YOR272W
YHR005C-A
YOR278W
YOR287C
YLR438C-A
YOR294W
YOR310C
YOR319W
YML043C
YNL267W
YML064C
YNL272C
YML065W
YNL282W
YML069W
YNL287W
YML077W
YNL290W
YML091C
YNL306W
YML093W
YNL308C
YNL310C
YML125C
YNL312W
YML126C
YNL313C
YNL317W
YNR003C
YOR326W
YOR329C
YOR335C
YOR336W
YOR340C
YOR353C
YOR361C
YOR370C
YPL010W
YMR001C
YNR011C
YMR013C
YNR017W
YMR028W
YNR026C
YMR047C
YNR038W
YMR049C
YNR046W
YMR059W
YNR054C
YMR076C
YOL005C
YMR079W
YOL010W
YMR093W
YOL021C
YMR094W
YOL022C
YOL026C
YMR113W
YOL034W
YPL012W
YPL020C
YPL063W
YPL075W
YPL083C
YPL085W
YPL093W
YPL094C
YPL117C
YPL122C
YMR117C
YOL038W
YMR128W
YMR131C
YOL066C
YMR134W
YOL069W
YMR149W
YOL077C
YMR168C
YOL078W
YMR185W
YOL094C
YMR200W
YOL097C
YMR208W
YOL102C
YMR211W
YMR213W
YMR218C
YOL130W
YPL128C
YPL143W
YPL146C
YPL151C
YPL160W
YPL209C
YMR220W
YOL133W
YMR229C
YOL134C
YMR235C
YOL135C
YMR236W
YOL139C
YMR240C
YOL144W
YMR260C
YOL146W
YMR268C
YOR004W
YMR281W
YOR020C
YMR288W
YOR048C
YMR290C
YOR060C
YMR298W
YOR074C
YPL210C
YPL218W
YPL228W
YPL231W
YPL238C
YPL243W
YPL255W
YPL266W

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

View 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

File diff suppressed because it is too large Load Diff

View 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
%***********************************************************************************************************************

View 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

View 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

View 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
%}

View 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
%}

View 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'};

View File

@@ -0,0 +1,4 @@
%EZviewGui.m startup
EZviewGui

View File

@@ -0,0 +1,4 @@
%EZviewGui_export.m startup
EZviewGui_export

View File

@@ -0,0 +1,4 @@
%EZviewGui_App.mlapp startup
EZviewGui_App
EZviewGui_App

View File

@@ -0,0 +1,4 @@
%EZviewGui_App.mlapp startup
EZviewGui_App_7

View File

@@ -0,0 +1,4 @@
%EZviewGui_App.mlapp startup
EZviewGui_App

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

View 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>

File diff suppressed because it is too large Load Diff

View 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
%************* *****

View 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

View 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
%}

View 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

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

View 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>

View 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>

View 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_4.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>

View 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_5.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>

View 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_6.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>

View 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>

View 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.mlapp</b> file created</li>
<li class="success"><b>2105</b> lines of code analyzed in EZviewGui.m</li>
<li class="success"><b>161</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>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,240 @@
%Quickview of Exp Images one from each folder at selected timept
function QkVexps %QkviewImages
w=pwd;
[Selfile, pathname]=uigetfile({'*.bmp';'*.tif';'*.*'},'Select timepoint file','MultiSelect','off');
cd(pathname)
flist=dir
cd ..
ExpFdr=pwd
cd ..
EstudyDir=pwd
ExpList= dir;
cd(w)
day=[];
Dpos=[];
%Determine if Exps grouped into Day folders
studyNum=1;
dayIndx=0;
studyIndx=0;
for i=1:size(ExpList,1)
if ~isequal(ExpList(i).name,'.DS_Store') %|| ~strfind(ExpList(i),'DS')
Dpos=max(strfind(ExpList(i).name,'D'));
if ~isempty(Dpos)
tmpExpName=ExpList(i).name;
if isempty(day)
if isnumeric(str2double(tmpExpName((Dpos+1):end)))
dayIndx=dayIndx+1;
day(dayIndx)= str2double(tmpExpName((Dpos+1):end));
daytx{dayIndx}= strcat('D',(tmpExpName((Dpos+1):end)));
studyIndx=studyIndx+1;
dayLst(dayIndx).study{studyIndx}= tmpExpName;
end
elseif sum(day==(str2double(tmpExpName((Dpos+1):end))))>0 %capture the experimentNames into studyLst sets
studyIndx=studyIndx+1;
dayLst(dayIndx).study{studyIndx}= tmpExpName;
elseif sum(day==(str2double(tmpExpName((Dpos+1):end))))==0 %capture the daynumber as a number
dayIndx=dayIndx+1;
day(dayIndx)= str2num(tmpExpName((Dpos+1):end)); %if the daynumber is unique store in day vector
daytx{dayIndx}= strcat('D',(tmpExpName((Dpos+1):end)));
studyIndx=1;
dayLst(dayIndx).study{studyIndx}= tmpExpName;
end %if isempty(day)
end %if ~isempty(Dpos)
end %if ~isequal(ExpList(i),'.DS_Store')
end %for i=1:size(ExpList,1)
nonstdDdirFlg=0
if length(day)==1
nonstdDirFlg=1;
else
nonstdDirFlg=0;
end
if nonstdDirFlg==0
cd(EstudyDir)
%for i=1:size(ExpList,1)
for i=1:length(dayLst)
for j=1:length(dayLst(i).study)
curDay= daytx(i)
curExp= char(dayLst(i).study(j))
curExpNumName= strcat('StudyExp',num2str(j));
cd (fullfile(EstudyDir,curExp))
curExpDir=pwd;
plateDir=dir;
for k=1:length(plateDir)
if ~isequal(plateDir(k).name,'.DS_Store') %if .DS_Store Apple indiosyncratic fix
if isnumeric(str2double(plateDir(k).name)) && ~isnan(str2double(plateDir(k).name)),
curPlate= plateDir(k).name;
cd (fullfile(curExpDir,curPlate))
curPlateDir=pwd;
%end
try
dotPos= strfind(Selfile,'.')
tptx= (Selfile(1:dotPos-1));
dstFileName= char(strcat('T',tptx,curDay,'_',curExp,'P',curPlate,'_',Selfile))
curPlateName=strcat('Plate',curPlate)
mkdir(fullfile(EstudyDir,'QkVstudySets',curExpNumName,curPlateName))
copyfile(fullfile(curPlateDir,Selfile),fullfile(EstudyDir,'QkVstudySets',curExpNumName,curPlateName,dstFileName))
catch
end
end %if isnumeric(str2double(plateDirNonstd(k).name)),
end %if .DS_Store Apple indiosyncratic fix
end %for k=1:length(plateDir)
end %j=1:length(dayLst(i).study) for i=1:length(dayDirLst)
end %i=1:length(dayLst) for i=1:size(ExpList,1)
end %if nonstdDirFlg==0
%****************************************************************************
% Begin nonstandard Directory structure code
%****************************************************************************
if nonstdDirFlg==1
cd(EstudyDir)
cd ..
studyDirNonstd=pwd;
%mkdir(fullfile(studyDirNonstd,'QuikView'))
dayDirLst=dir;
for i=1:length(dayDirLst)
if ~isequal(dayDirLst(i).name,'.DS_Store') %if .DS_Store Apple indiosyncratic fix
if (strfind(dayDirLst(i).name,'Day')),
curDay= dayDirLst(i).name;
cd (fullfile(studyDirNonstd,curDay))
%curStudyDaynonStd=pwd
expDirNonstd=dir
expNum=0;
for j=1:length(expDirNonstd)
if ~isequal(expDirNonstd(j).name,'.DS_Store') %if .DS_Store Apple indiosyncratic fix
if (strfind(expDirNonstd(j).name,'D')),
curExp= expDirNonstd(j).name;
expNum=expNum+1;
curExpNumName= strcat('StudyExp',num2str(expNum));
cd (fullfile(studyDirNonstd,curDay,curExp))
curExpDir=pwd;
%end
plateDirNonstd=dir;
for k=1:length(plateDirNonstd)
if ~isequal(plateDirNonstd(k).name,'.DS_Store') %if .DS_Store Apple indiosyncratic fix
if isnumeric(str2double(plateDirNonstd(k).name)) && ~isnan(str2double(plateDirNonstd(k).name)),
curPlate= plateDirNonstd(k).name;
cd (fullfile(curExpDir,curPlate))
curPlateDir=pwd;
try
dotPos= strfind(Selfile,'.')
tptx= (Selfile(1:dotPos-1));
dstFileName= strcat('T',tptx,curDay,'_',curExp,'P',curPlate,'_',Selfile)
curPlateName=strcat('Plate',curPlate)
mkdir(fullfile(studyDirNonstd,'QkVstudySets',curExpNumName,curPlateName))
copyfile(fullfile(curPlateDir,Selfile),fullfile(studyDirNonstd,'QkVstudySets',curExpNumName,curPlateName,dstFileName))
catch
end
end %if isnumeric(str2double(plateDirNonstd(k).name)),
end %if (k) .DS_Store Apple indiosyncratic fix
end %for k=1:length(plateDirNonstd)
end%if (strfind(expDirNonstd(j).name,'D'))
end %if (j).DS_Store Apple indiosyncratic fix
end %for j=1:length(expDirNonstd)
end %if (strfind(dayDirLst(i).name,'Day')),
end %if (i).DS_Store Apple indiosyncratic fix
end %for i=1:length(dayDirLst)
end %if nonstdFlg
cd(w)
end
%{
nonstdDdirFlg=0
if length(day)==1
nonstdDirFlg=1;
%mkdir(fullfile(ExpFdr,'QkVstudySets'))
%Experiments are grouped together in subfolders by the day
%What if experiment are run on approximately the same day
%but differ by say a day or two???
else
nonstdDirFlg=0;
%Experiments are all together in the standard way
%What if experiment are run on approximately the same day
%but differ by say a day or two???
%The user will have to label experiments the same which are
%to be grouped together even if not on the same day.
end
%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
cd(w)
m=1;
for i=1:size(flist,1)
if isequal(Selfile,flist(i).name)
fnum=m
break
end
m=m+1
end
%Select Image folders ++++++++++++++++++++++++
d = dir(ExpFdr);
Scname={};
n=1;
for i=1:size(d,1)
if ~isempty(str2num(d(i).name))...
||~isempty(strfind(d(i).name,'Scan'))
Scname{n}=d(i).name
n=n+1
end
end
Srtnum=sort(str2double(Scname))
clear Srtname
for i=1:length(Srtnum)
Srtname{i}=num2str(Srtnum(i));
end
%str = {Scname};
[s,v] = listdlg('PromptString','Select a file:',...
'SelectionMode','multiple',...
'ListString',Srtname)
%*********************************************************************
%+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
%++++++++++++++++++++++++++++++
%Copy selected files to \QuikView Dir
mkdir(fullfile(ExpFdr,'QuikView'))
for j=1:size(s,2)
srcDir= fullfile(ExpFdr,num2str(s(j)))
%if Scan dir then must do something else to select '002' etc.
try
dstFileName= strcat(num2str(s(j)),'_',Selfile)
copyfile(fullfile(srcDir,Selfile),fullfile(ExpFdr,'QuikView',dstFileName))
catch
sFileLst= dir(srcDir)
selNumFile=sFileLst(fnum).name
dstFileName= strcat(num2str(s(j)),'_',selNumFile)
copyfile(fullfile(srcDir,selNumFile),fullfile(ExpFdr,'QuikView',dstFileName))
end
end
cd(w)
end
%}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,20 @@
[0114/114914.583:ERROR:directory_reader_win.cc(43)] FindFirstFile: The system cannot find the path specified. (0x3)
[0115/114914.592:ERROR:directory_reader_win.cc(43)] FindFirstFile: The system cannot find the path specified. (0x3)
[0117/124905.500:ERROR:directory_reader_win.cc(43)] FindFirstFile: The system cannot find the path specified. (0x3)
[0118/124910.053:ERROR:directory_reader_win.cc(43)] FindFirstFile: The system cannot find the path specified. (0x3)
[0119/124908.617:ERROR:directory_reader_win.cc(43)] FindFirstFile: The system cannot find the path specified. (0x3)
[0120/124908.618:ERROR:directory_reader_win.cc(43)] FindFirstFile: The system cannot find the path specified. (0x3)
[0121/124908.623:ERROR:directory_reader_win.cc(43)] FindFirstFile: The system cannot find the path specified. (0x3)
[0122/124908.625:ERROR:directory_reader_win.cc(43)] FindFirstFile: The system cannot find the path specified. (0x3)
[0123/124908.633:ERROR:directory_reader_win.cc(43)] FindFirstFile: The system cannot find the path specified. (0x3)
[0124/124911.115:ERROR:directory_reader_win.cc(43)] FindFirstFile: The system cannot find the path specified. (0x3)
[0125/124911.117:ERROR:directory_reader_win.cc(43)] FindFirstFile: The system cannot find the path specified. (0x3)
[0126/124909.914:ERROR:directory_reader_win.cc(43)] FindFirstFile: The system cannot find the path specified. (0x3)
[0127/124909.914:ERROR:directory_reader_win.cc(43)] FindFirstFile: The system cannot find the path specified. (0x3)
[0128/124909.916:ERROR:directory_reader_win.cc(43)] FindFirstFile: The system cannot find the path specified. (0x3)
[0129/124909.917:ERROR:directory_reader_win.cc(43)] FindFirstFile: The system cannot find the path specified. (0x3)
[0130/124906.192:ERROR:directory_reader_win.cc(43)] FindFirstFile: The system cannot find the path specified. (0x3)
[0131/124911.061:ERROR:directory_reader_win.cc(43)] FindFirstFile: The system cannot find the path specified. (0x3)
[0201/124909.461:ERROR:directory_reader_win.cc(43)] FindFirstFile: The system cannot find the path specified. (0x3)
[0202/124909.461:ERROR:directory_reader_win.cc(43)] FindFirstFile: The system cannot find the path specified. (0x3)
[0203/124909.461:ERROR:directory_reader_win.cc(43)] FindFirstFile: The system cannot find the path specified. (0x3)

View File

@@ -0,0 +1,22 @@
%tif2jpeg converter
[Scanfiles, pathname]=uigetfile('*', 'Select a Folder File');
path=pathname;
dirLst=dir(path);
for i=1:size(dirLst,1)
if ~isempty(str2num(dirLst(i).name))
selDir=fullfile(path,dirLst(i).name);
filelst=dir(selDir);
for n=1:size(filelst,1)
try
if ~isempty(strfind(filelst(n).name,'bmp'))
inFile=filelst(n).name;
a=imread(fullfile(selDir,inFile)); %(inFile{1});
outFile= strrep(inFile,'.bmp','.jpg');
imwrite(a,fullfile(selDir,outFile), 'quality',95)
end
catch
end
end
end %if ~isempty(str2num(dirLst(i).name))
end %for all numeric folders

View File

@@ -0,0 +1,310 @@
function varargout = gui_mainfcn(gui_State, varargin)
% GUI_MAINFCN Support function for creation and callback dispatch of GUIDE GUIs.
% GUI_MAINFCN is called from inside M-files generated by GUIDE to handle
% GUI creation, layout, and callback dispatch.
%
% See also: GUIDE.
% GUI_MAINFCN provides these command line APIs for dealing with GUIs
%
% UNTITLED, by itself, creates a new UNTITLED or raises the existing
% singleton*.
%
% H = UNTITLED returns the handle to a new UNTITLED or the handle to
% the existing singleton*.
%
% UNTITLED('CALLBACK',hObject,eventData,handles,...) calls the local
% function named CALLBACK in UNTITLED.M with the given input arguments.
%
% UNTITLED('Property','Value',...) creates a new UNTITLED or raises the
% existing singleton*. Starting from the left, property value pairs
% are
% applied to the GUI before untitled_OpeningFunction gets called. An
% unrecognized property name or invalid value makes property application
% stop. All inputs are passed to untitled_OpeningFcn via varargin.
%
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one
% instance to run (singleton)".
% Copyright 1984-2006 The MathWorks, Inc.
% $Revision: 1.1.6.9 $ $Date: 2010/07/27 21:08:12 $
global ghandles
gui_StateFields = {'gui_Name'
'gui_Singleton'
'gui_OpeningFcn'
'gui_OutputFcn'
'gui_LayoutFcn'
'gui_Callback'};
gui_Mfile = '';
for i=1:length(gui_StateFields)
if ~isfield(gui_State, gui_StateFields{i})
error('MATLAB:gui_mainfcn:FieldNotFound', 'Could not find field %s in the gui_State struct in GUI M-file %s', gui_StateFields{i}, gui_Mfile);
elseif isequal(gui_StateFields{i}, 'gui_Name')
gui_Mfile = [gui_State.(gui_StateFields{i}), '.m'];
end
end
numargin = length(varargin);
if numargin == 0
% UNTITLED
% create the GUI only if we are not in the process of loading it
% already
gui_Create = true;
elseif local_isInvokeActiveXCallback(gui_State, varargin{:})
% UNTITLED(ACTIVEX,...)
vin{1} = gui_State.gui_Name;
vin{2} = [get(varargin{1}.Peer, 'Tag'), '_', varargin{end}];
vin{3} = varargin{1};
vin{4} = varargin{end-1};
vin{5} = guidata(varargin{1}.Peer);
feval(vin{:});
return;
elseif local_isInvokeHGCallback(gui_State, varargin{:})
% UNTITLED('CALLBACK',hObject,eventData,handles,...)
gui_Create = false;
else
% UNTITLED(...)
% create the GUI and hand varargin to the openingfcn
gui_Create = true;
end
if ~gui_Create
% In design time, we need to mark all components possibly created in
% the coming callback evaluation as non-serializable. This way, they
% will not be brought into GUIDE and not be saved in the figure file
% when running/saving the GUI from GUIDE.
designEval = false;
if (numargin>1 && ishghandle(varargin{2}))
fig = varargin{2};
while ~isempty(fig) && ~ishghandle(fig,'figure')
fig = get(fig,'parent');
end
designEval = isappdata(0,'CreatingGUIDEFigure') || isprop(fig,'__GUIDEFigure');
end
if designEval
beforeChildren = findall(fig);
end
% evaluate the callback now
varargin{1} = gui_State.gui_Callback;
if nargout
[varargout{1:nargout}] = feval(varargin{:});
else
feval(varargin{:});
end
% Set serializable of objects created in the above callback to off in
% design time. Need to check whether figure handle is still valid in
% case the figure is deleted during the callback dispatching.
if designEval && ishghandle(fig)
set(setdiff(findall(fig),beforeChildren), 'Serializable','off');
end
else
if gui_State.gui_Singleton
gui_SingletonOpt = 'reuse';
else
gui_SingletonOpt = 'new';
end
% Check user passing 'visible' P/V pair first so that its value can be
% used by oepnfig to prevent flickering
gui_Visible = 'auto';
gui_VisibleInput = '';
for index=1:2:length(varargin)
if length(varargin) == index || ~ischar(varargin{index})
break;
end
% Recognize 'visible' P/V pair
len1 = min(length('visible'),length(varargin{index}));
len2 = min(length('off'),length(varargin{index+1}));
if ischar(varargin{index+1}) && strncmpi(varargin{index},'visible',len1) && len2 > 1
if strncmpi(varargin{index+1},'off',len2)
gui_Visible = 'invisible';
gui_VisibleInput = 'off';
elseif strncmpi(varargin{index+1},'on',len2)
gui_Visible = 'visible';
gui_VisibleInput = 'on';
end
end
end
% Open fig file with stored settings. Note: This executes all component
% specific CreateFunctions with an empty HANDLES structure.
% Do feval on layout code in m-file if it exists
gui_Exported = ~isempty(gui_State.gui_LayoutFcn);
% this application data is used to indicate the running mode of a GUIDE
% GUI to distinguish it from the design mode of the GUI in GUIDE. it is
% only used by actxproxy at this time.
setappdata(0,genvarname(['OpenGuiWhenRunning_', gui_State.gui_Name]),1);
if gui_Exported
gui_hFigure = feval(gui_State.gui_LayoutFcn, gui_SingletonOpt);
% make figure invisible here so that the visibility of figure is
% consistent in OpeningFcn in the exported GUI case
if isempty(gui_VisibleInput)
gui_VisibleInput = get(gui_hFigure,'Visible');
end
set(gui_hFigure,'Visible','off')
% openfig (called by local_openfig below) does this for guis without
% the LayoutFcn. Be sure to do it here so guis show up on screen.
movegui(gui_hFigure,'onscreen');
else
gui_hFigure = local_openfig(gui_State.gui_Name, gui_SingletonOpt, gui_Visible);
% If the figure has InGUIInitialization it was not completely created
% on the last pass. Delete this handle and try again.
if isappdata(gui_hFigure, 'InGUIInitialization')
delete(gui_hFigure);
gui_hFigure = local_openfig(gui_State.gui_Name, gui_SingletonOpt, gui_Visible);
end
end
if isappdata(0, genvarname(['OpenGuiWhenRunning_', gui_State.gui_Name]))
rmappdata(0,genvarname(['OpenGuiWhenRunning_', gui_State.gui_Name]));
end
% Set flag to indicate starting GUI initialization
setappdata(gui_hFigure,'InGUIInitialization',1);
% Fetch GUIDE Application options
gui_Options = getappdata(gui_hFigure,'GUIDEOptions');
% Singleton setting in the GUI M-file takes priority if different
gui_Options.singleton = gui_State.gui_Singleton;
if ~isappdata(gui_hFigure,'GUIOnScreen')
% Adjust background color
if gui_Options.syscolorfig
set(gui_hFigure,'Color', get(0,'DefaultUicontrolBackgroundColor'));
end
% Generate HANDLES structure and store with GUIDATA. If there is
% user set GUI data already, keep that also.
data = guidata(gui_hFigure);
handles = guihandles(gui_hFigure);
if ~isempty(handles)
if isempty(data)
data = handles;
else
names = fieldnames(handles);
for k=1:length(names)
data.(char(names(k)))=handles.(char(names(k)));
end
end
end
guidata(gui_hFigure, data);
end
% Apply input P/V pairs other than 'visible'
for index=1:2:length(varargin)
if length(varargin) == index || ~ischar(varargin{index})
break;
end
len1 = min(length('visible'),length(varargin{index}));
if ~strncmpi(varargin{index},'visible',len1)
try set(gui_hFigure, varargin{index}, varargin{index+1}), catch break, end
end
end
% If handle visibility is set to 'callback', turn it on until finished
% with OpeningFcn
gui_HandleVisibility = get(gui_hFigure,'HandleVisibility');
if strcmp(gui_HandleVisibility, 'callback')
set(gui_hFigure,'HandleVisibility', 'on');
end
feval(gui_State.gui_OpeningFcn, gui_hFigure, [], guidata(gui_hFigure), varargin{:});
if isscalar(gui_hFigure) && ishghandle(gui_hFigure)
% Handle the default callbacks of predefined toolbar tools in this
% GUI, if any
guidemfile('restoreToolbarToolPredefinedCallback',gui_hFigure);
% Update handle visibility
set(gui_hFigure,'HandleVisibility', gui_HandleVisibility);
% Call openfig again to pick up the saved visibility or apply the
% one passed in from the P/V pairs
if ~gui_Exported
gui_hFigure = local_openfig(gui_State.gui_Name, 'reuse',gui_Visible);
elseif ~isempty(gui_VisibleInput)
set(gui_hFigure,'Visible',gui_VisibleInput);
end
if strcmpi(get(gui_hFigure, 'Visible'), 'on')
figure(gui_hFigure);
if gui_Options.singleton
setappdata(gui_hFigure,'GUIOnScreen', 1);
end
end
% Done with GUI initialization
if isappdata(gui_hFigure,'InGUIInitialization')
rmappdata(gui_hFigure,'InGUIInitialization');
end
% If handle visibility is set to 'callback', turn it on until
% finished with OutputFcn
gui_HandleVisibility = get(gui_hFigure,'HandleVisibility');
if strcmp(gui_HandleVisibility, 'callback')
set(gui_hFigure,'HandleVisibility', 'on');
end
gui_Handles = guidata(gui_hFigure);
else
gui_Handles = [];
end
if nargout
[varargout{1:nargout}] = feval(gui_State.gui_OutputFcn, gui_hFigure, [], gui_Handles);
else
feval(gui_State.gui_OutputFcn, gui_hFigure, [], gui_Handles);
end
if isscalar(gui_hFigure) && ishghandle(gui_hFigure)
set(gui_hFigure,'HandleVisibility', gui_HandleVisibility);
end
end
function gui_hFigure = local_openfig(name, singleton, visible)
% openfig with three arguments was new from R13. Try to call that first, if
% failed, try the old openfig.
if nargin('openfig') == 2
% OPENFIG did not accept 3rd input argument until R13,
% toggle default figure visible to prevent the figure
% from showing up too soon.
gui_OldDefaultVisible = get(0,'defaultFigureVisible');
set(0,'defaultFigureVisible','off');
gui_hFigure = openfig(name, singleton);
set(0,'defaultFigureVisible',gui_OldDefaultVisible);
else
gui_hFigure = openfig(name, singleton, visible);
end
function result = local_isInvokeActiveXCallback(gui_State, varargin)
try
result = ispc && iscom(varargin{1}) ...
&& isequal(varargin{1},gcbo);
catch
result = false;
end
function result = local_isInvokeHGCallback(gui_State, varargin)
try
fhandle = functions(gui_State.gui_Callback);
result = ~isempty(findstr(gui_State.gui_Name,fhandle.file)) || ...
(ischar(varargin{1}) ...
&& isequal(ishghandle(varargin{2}), 1) ...
&& (~isempty(strfind(varargin{1},[get(varargin{2}, 'Tag'), '_'])) || ...
~isempty(strfind(varargin{1}, '_CreateFcn'))) );
catch
result = false;
end

View File

@@ -0,0 +1,105 @@
function h = histfitJR(data,nbins,dist)
%HISTFIT Histogram with superimposed fitted normal density.
% HISTFIT(DATA,NBINS) plots a histogram of the values in the vector DATA,
% along with a normal density function with parameters estimated from the
% data. NBINS is the number of bars in the histogram. With one input
% argument, NBINS is set to the square root of the number of elements in
% DATA.
%
% HISTFIT(DATA,NBINS,DIST) plots a histogram with a density from the DIST
% distribution. DIST can take the following values:
%
% 'beta' Beta
% 'birnbaumsaunders' Birnbaum-Saunders
% 'exponential' Exponential
% 'extreme value' or 'ev' Extreme value
% 'gamma' Gamma
% 'generalized extreme value' 'gev' Generalized extreme value
% 'generalized pareto' or 'gp' Generalized Pareto (threshold 0)
% 'inverse gaussian' Inverse Gaussian
% 'logistic' Logistic
% 'loglogistic' Log logistic
% 'lognormal' Lognormal
% 'negative binomial' or 'nbin' Negative binomial
% 'nakagami' Nakagami
% 'normal' Normal
% 'poisson' Poisson
% 'rayleigh' Rayleigh
% 'rician' Rician
% 'tlocationscale' t location-scale
% 'weibull' or 'wbl' Weibull
%
% H = HISTFIT(...) returns a vector of handles to the plotted lines.
% H(1) is a handle to the histogram, H(2) is a handle to the density curve.
% Copyright 1993-2008 The MathWorks, Inc.
% $Revision: 1.1.8.2.2.1 $ $Date: 2010/12/13 15:00:40 $
if ~isvector(data)
error(message('stats:histfit:VectorRequired'));
end
data = data(:);
data(isnan(data)) = [];
n = numel(data);
if nargin<2 || isempty(nbins)
nbins = ceil(sqrt(n));
elseif ~isscalar(nbins) || ~isnumeric(nbins) || ~isfinite(nbins) ...
|| nbins~=round(nbins)
error(message('stats:histfit:BadNumBins'))
end
% Do histogram calculations
[bincounts,bincenters]=hist(data,nbins);
% Fit distribution to data
if nargin<3 || isempty(dist)
dist = 'normal';
end
try
pd = fitdist(data,dist);
catch myException
if isequal(myException.identifier,'stats:ProbDistUnivParam:fit:NRequired')
% Binomial is not allowed because we have no N parameter
error(message('stats:histfit:BadDistribution'))
else
% Pass along another other errors
throw(myException)
end
end
% Find range for plotting
q = icdf(pd,[0.0013499 0.99865]); % three-sigma range for normal distribution
x = linspace(q(1),q(2));
if ~pd.Support.iscontinuous
% For discrete distribution use only integers
x = round(x);
x(diff(x)==0) = [];
end
% Plot the histogram with no gap between bars.
%if min(data)==0, neglim=-50; else neglim= min(data); end
%hh = bar(bincenters,bincounts,[neglim,max(data)],'hist');
hh = bar(bincenters,bincounts,[min(data),max(data)],'hist');
% Normalize the density to match the total area of the histogram
xd = get(hh,'Xdata'); % Gets the x-data of the bins.
if min(xd(:))==0, neglim = -50; else neglim= min(xd(:)); end
%rangex = max(xd(:)) - min(xd(:)); % Finds the range of this data.
rangex = max(xd(:)) - (neglim); % Finds the range of this data.
binwidth = rangex/nbins; % Finds the width of each bin.
area = n * binwidth;
y = area * pdf(pd,x);
% Overlay the density
np = get(gca,'NextPlot');
set(gca,'NextPlot','add')
hh1 = plot(x,y,'r-','LineWidth',2);
set(hh1,'visible','off')
if nargout == 1
h = [hh; hh1];
end
set(gca,'NextPlot',np)

View File

@@ -0,0 +1,37 @@
%Determine ankle Inflection Point for S curve
K=132.9
r=.144
l=52.71
syms t;
ff= K / (1 + exp(-r* (t - l )));
f3= diff(diff(diff(ff)));
sInfPts= double(solve(f3))
%InflectPts=double(sInfPts)
InflectPt1= min(double(sInfPts))
f1=diff(ff)
f4= diff(diff(diff(diff(ff))))
sInfPts4= double(solve(f4))
InflectPt41= min(double(sInfPts4))
%{
f5= diff(diff(diff(diff(diff(ff)))));
sInfPts5= double(solve(f5))
InflectPt51= min(double(sInfPts5))
f6= diff(diff(diff(diff(diff(diff(ff))))));
sInfPts6= double(solve(f6))
InflectPt61= min(double(sInfPts6))
f7= diff(diff(diff(diff(diff(ff)))));
sInfPts7= double(solve(f7))
InflectPt71= min(double(sInfPts7))
%}

View File

@@ -0,0 +1,137 @@
function axReturn = newplot(hsave)
%NEWPLOT Prepares figure, axes for graphics according to NextPlot.
% H = NEWPLOT returns the handle of the prepared axes.
% H = NEWPLOT(HSAVE) prepares and returns an axes, but does not
% delete any objects whose handles appear in HSAVE. If HSAVE is
% specified, the figure and axes containing HSAVE are prepared
% instead of the current axes of the current figure. If HSAVE is
% empty, NEWPLOT behaves as if it were called without any inputs.
%
% NEWPLOT is a standard preamble command that is put at
% the beginning of graphics functions that draw graphs
% using only low-level object creation commands. NEWPLOT
% "does the right thing" in terms of determining which axes and/or
% figure to draw the plot in, based upon the setting of the
% NextPlot property of axes and figure objects, and returns a
% handle to the appropriate axes.
%
% The "right thing" is:
%
% First, prepare a figure for graphics:
% Clear and reset the current figure using CLF RESET if its NextPlot
% is 'replace', or clear the current figure using CLF if its
% NextPlot is 'replacechildren', or reuse the current figure as-is
% if its NextPlot is 'add', or if no figures exist, create a figure.
% When the figure is prepared, set its NextPlot to 'add', and then
% prepare an axes in that figure:
% Clear and reset the current axes using CLA RESET if its NextPlot
% is 'replace', or clear the current axes using CLA if its NextPlot
% is 'replacechildren', or reuse the current axes as-is if its
% NextPlot is 'add', or if no axes exist, create an axes.
%
% See also HOLD, ISHOLD, FIGURE, AXES, CLA, CLF.
% Copyright 1984-2010 The MathWorks, Inc.
% Built-in function.
if nargin == 0 || isempty(hsave)
hsave = [];
elseif ~isscalar(hsave) || ~ishghandle(hsave)
error(message('MATLAB:newplot:InvalidHandle'))
end
fig = [];
ax = [];
if ~isempty(hsave)
obj = hsave;
while ~isempty(obj)
if strcmp(get(obj,'type'),'figure')
fig = obj;
elseif strcmp(get(obj,'type'),'axes')
ax = obj;
end
obj = get(obj,'parent');
end
end
if isempty(fig)
fig = gcf;
end
fig = ObserveFigureNextPlot(fig, hsave);
% for clay
set(fig,'nextplot','add');
if isempty(ax)
ax = gca(fig);
elseif ~any(ishghandle(ax))
error(message('MATLAB:newplot:NoAxesParent'))
end
ax = ObserveAxesNextPlot(ax, hsave);
if nargout
axReturn = ax;
end
function fig = ObserveFigureNextPlot(fig, hsave)
%
% Helper fcn for preparing figure for nextplot, optionally
% preserving specific existing descendants.
% GUARANTEED to return a figure, even if some crazy combination
% of create / delete fcns deletes it.
%
switch get(fig,'nextplot')
case 'new'
% if someone calls plot(x,y,'parent',h) and h is an axes
% in a figure with NextPlot 'new', ignore the 'new' and
% treat it as 'add' - just add the axes to that figure.
if isempty(hsave)
fig = figure;
end
case 'replace'
clf(fig, 'reset', hsave);
case 'replacechildren'
clf(fig, hsave);
case 'add'
% nothing
end
if ~any(ishghandle(fig)) && isempty(hsave)
fig = figure;
end
function ax = ObserveAxesNextPlot(ax, hsave)
%
% Helper fcn for preparing axes for nextplot, optionally
% preserving specific existing descendants
% GUARANTEED to return an axes in the same figure as the passed-in
% axes, even if that axes gets deleted by an overzealous create or
% delete fcn anywhere in the figure.
%
% for performance only call ancestor when needed
fig = get(ax,'Parent');
if ~strcmp(get(fig,'Type'),'figure')
fig = ancestor(fig,'figure');
end
switch get(ax,'nextplot')
case 'replace'
cla(ax, 'reset',hsave);
case 'replacechildren'
cla(ax, hsave);
case 'add'
% nothing
end
if ~any(ishghandle(ax)) && isempty(hsave)
if ~any(ishghandle(fig))
ax = axes;
else
ax = axes('parent',fig);
end
end

View File

@@ -0,0 +1,20 @@
[0114/114914.583:ERROR:directory_reader_win.cc(43)] FindFirstFile: The system cannot find the path specified. (0x3)
[0115/114914.592:ERROR:directory_reader_win.cc(43)] FindFirstFile: The system cannot find the path specified. (0x3)
[0117/124905.500:ERROR:directory_reader_win.cc(43)] FindFirstFile: The system cannot find the path specified. (0x3)
[0118/124910.053:ERROR:directory_reader_win.cc(43)] FindFirstFile: The system cannot find the path specified. (0x3)
[0119/124908.617:ERROR:directory_reader_win.cc(43)] FindFirstFile: The system cannot find the path specified. (0x3)
[0120/124908.618:ERROR:directory_reader_win.cc(43)] FindFirstFile: The system cannot find the path specified. (0x3)
[0121/124908.623:ERROR:directory_reader_win.cc(43)] FindFirstFile: The system cannot find the path specified. (0x3)
[0122/124908.625:ERROR:directory_reader_win.cc(43)] FindFirstFile: The system cannot find the path specified. (0x3)
[0123/124908.633:ERROR:directory_reader_win.cc(43)] FindFirstFile: The system cannot find the path specified. (0x3)
[0124/124911.115:ERROR:directory_reader_win.cc(43)] FindFirstFile: The system cannot find the path specified. (0x3)
[0125/124911.117:ERROR:directory_reader_win.cc(43)] FindFirstFile: The system cannot find the path specified. (0x3)
[0126/124909.914:ERROR:directory_reader_win.cc(43)] FindFirstFile: The system cannot find the path specified. (0x3)
[0127/124909.914:ERROR:directory_reader_win.cc(43)] FindFirstFile: The system cannot find the path specified. (0x3)
[0128/124909.916:ERROR:directory_reader_win.cc(43)] FindFirstFile: The system cannot find the path specified. (0x3)
[0129/124909.917:ERROR:directory_reader_win.cc(43)] FindFirstFile: The system cannot find the path specified. (0x3)
[0130/124906.192:ERROR:directory_reader_win.cc(43)] FindFirstFile: The system cannot find the path specified. (0x3)
[0131/124911.061:ERROR:directory_reader_win.cc(43)] FindFirstFile: The system cannot find the path specified. (0x3)
[0201/124909.461:ERROR:directory_reader_win.cc(43)] FindFirstFile: The system cannot find the path specified. (0x3)
[0202/124909.461:ERROR:directory_reader_win.cc(43)] FindFirstFile: The system cannot find the path specified. (0x3)
[0203/124909.461:ERROR:directory_reader_win.cc(43)] FindFirstFile: The system cannot find the path specified. (0x3)

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -58,7 +58,7 @@ YAL044C
YLL062C YLL062C
YAL042W YAL042W
YLL063C YLL063C
YAL043C-A YAL042C-A
YLR001C YLR001C
YAL040C YAL040C
YLR003C YLR003C
@@ -88,7 +88,7 @@ YMR156C
YML061C YML061C
YMR157C YMR157C
YML060W YML060W
YMR158W-A YMR158W-B
YML059C YML059C
YAL036C YAL036C
YLR012C YLR012C
@@ -119,7 +119,7 @@ YML058W
YMR161W YMR161W
YML057W YML057W
YMR162C YMR162C
YML058C-A YML057C-A
YMR163C YMR163C
YML056C YML056C
YMR164C YMR164C
@@ -137,7 +137,7 @@ YML050W
YMR173W-A YMR173W-A
YML048W YML048W
YMR174C YMR174C
YML048W-A YML047W-A
YAL020C YAL020C
YLR025W YLR025W
YAL019W YAL019W
@@ -169,7 +169,7 @@ YML035C
YMR177W YMR177W
YML034W YML034W
YMR178W YMR178W
YML035C-A YML034C-A
YMR179W YMR179W
YML033W YML033W
YMR180C YMR180C
@@ -223,13 +223,13 @@ YML014W
YMR194W YMR194W
YML013W YML013W
YMR193C-A YMR193C-A
YML013C-A YML012C-A
YMR195W YMR195W
YML012W YML012W
YMR196W YMR196W
YML011C YML011C
YMR198W YMR198W
YML009c YML009C
YMR199W YMR199W
YML008C YML008C
YMR201C YMR201C
@@ -500,7 +500,7 @@ YOL051W
YOR312C YOR312C
YOL052C YOL052C
YOR313C YOR313C
YOL053C-A YOL052C-A
YOR314W YOR314W
YOL053W YOL053W
YOR315W YOR315W
@@ -1928,7 +1928,7 @@ YGL214W
YLR308W YLR308W
YJL206C YJL206C
YLR371W YLR371W
YJL206C-A YJL205C
YLR372W YLR372W
YJL204C YJL204C
YLR373C YLR373C
@@ -2225,7 +2225,7 @@ YLR285W
YLR348C YLR348C
YLR287C YLR287C
YLR349W YLR349W
YLR287-A YLR287C-A
YLR350W YLR350W
YLR288C YLR288C
YLR351C YLR351C
@@ -2674,9 +2674,9 @@ YGR290W
YIL093C YIL093C
YHR021W-A YHR021W-A
YIL095W YIL095W
YHR039C-B YHR039C-A
YIL096C YIL096C
YHR079C-B YHR079C-A
YIL097W YIL097W
YNL162W YNL162W
YDR274C YDR274C
@@ -2712,8 +2712,8 @@ YIR019C
YIL009W YIL009W
YIR020C YIR020C
YIL010W YIL010W
YIR020W-B YIR020W-A
YIL015C-A YIL014C-A
YIR021W YIR021W
YIL038C YIL038C
YIR024C YIR024C
@@ -2843,7 +2843,7 @@ YDR337W
YKR033C YKR033C
YIL001W YIL001W
YKR078W YKR078W
YFL035C-B YFL034C-A
YKR080W YKR080W
YFL036W YFL036W
YKR082W YKR082W
@@ -3103,7 +3103,7 @@ YPR063C
YGR204W YGR204W
YPR065W YPR065W
YOL122C YOL122C
YML095C-A YML094C-A
YOL124C YOL124C
YML096W YML096W
YOL126C YOL126C
@@ -3117,7 +3117,7 @@ YML100W-A
YOL132W YOL132W
YML101C YML101C
YOL136C YOL136C
YML102C-A YML101C-A
YML102W YML102W
YOL137W YOL137W
YOL138C YOL138C
@@ -3161,7 +3161,7 @@ YML116W
YER090W YER090W
YML117W YML117W
YER091C YER091C
YML117W-A YML116W-A
YER092W YER092W
YML118W YML118W
YER093C-A YER093C-A
@@ -3494,7 +3494,7 @@ YLR461W
YLR343W YLR343W
YML009C YML009C
YML067C YML067C
YML010C-B YML009C-A
YML068W YML068W
YML021C YML021C
YML072C YML072C
@@ -3527,7 +3527,7 @@ YBR297W
YDL117W YDL117W
YBR298C YBR298C
YOR300W YOR300W
YMR158C-B YMR158C-A
YMR169C YMR169C
YOR309C YOR309C
YMR174C YMR174C
@@ -3600,7 +3600,7 @@ YDL133W
YCR037C YCR037C
YDL134C YDL134C
YCR043C YCR043C
YDL134C-A YDL133C-A
YCR045C YCR045C
YDL135C YDL135C
YCR049C YCR049C
@@ -3622,7 +3622,7 @@ YAL047C
YDL225W YDL225W
YAL054C YAL054C
YDL226C YDL226C
YAL058C-A YAL056C-A
YDL227C YDL227C
YAR050W YAR050W
YDL229W YDL229W
@@ -4421,7 +4421,7 @@ YDL054C
YIR043C YIR043C
YBR085W YBR085W
YIR044C YIR044C
YBR090C-A YBR089C-A
YJR003C YJR003C
YBR092C YBR092C
YJR055W YJR055W
@@ -4673,7 +4673,7 @@ YDR523C
YER106W YER106W
YLR006C YLR006C
YER108C YER108C
YML010W-A YML009W-B
YER109C YER109C
YMR038C YMR038C
YER110C YER110C
@@ -4724,22 +4724,16 @@ YER120W
YCL038C YCL038C
YER121W YER121W
YAL024C YAL024C
YFL063W
YMR097C YMR097C
YJL103C
YMR098C YMR098C
YML073C
YOL143C YOL143C
YNL011C
YAL016W YAL016W
YNL014W
YGL218W YGL218W
YJR090C YJR090C
YLR286C YLR286C
YDL202W YDL202W
YBR279W YBR279W
YCR044C YCR044C
YCR053W
YCR063W YCR063W
YJL003W YJL003W
YER123W YER123W
@@ -4773,10 +4767,8 @@ YJL013C
YJL027C YJL027C
YJL028W YJL028W
YJR004C YJR004C
YCR053W
YJR032W YJR032W
YJR037W YJR037W
YCR053W
YJR047C YJR047C
YJR040W YJR040W
YER141W YER141W
@@ -4849,140 +4841,6 @@ YBR035C
YPR072W YPR072W
YOR008C-A YOR008C-A
YAL016C-B YAL016C-B
YAL037C-A
YAL044W-A
YAL067W-A
YAR035C-A
YBL008W-A
YCL021W-A
YBL029C-A
YCL026C-B
YBL039W-A
YBL071C-B
YBL071W-A
YBL101W-C
YBR056W-A
YBR058C-A
YBR072C-A
YER186W-A
YBR085C-A
YBR111W-A
YBRF182C-A
YBR196C-A
YBR196C-B
YBR200W-A
YBR221W-A
YBR296C-A
YCL001W-B
YCL057C-A
YCR075W-A
YDL085C-A
YDL159W-A
YDL160C-A
YDR003W-A
YDR034W-B
YDR079C-A
YDR169C-A
YDR182W-A
YDR194W-A
YDR246W-A
YDR322C-A
YDR379C-A
YDR524C-B
YLR312C-B
YDR524W-A
YLR342W-A
YEL059C-A
YLR361C-A
YER053C-A
YLR363W-A
YER087C-B
YLR406C-A
YER175W-A
YLR412C-A
YER180C-A
YML007C-A
YFL041W-A
YML054C-A
YFR012W-A
YML058W-A
YFR032C-B
YMR001C-A
YGL006W-A
YMR013W-A
YGL007C-A
YGL041C-B
YMR105W-A
YGL188C-A
YGR035W-A
YMR175W-A
YGR121W-A
YMR182W-A
YGR146C-A
YMR194C-B
YGR169C-A
YMR230W-A
YGR174W-A
YMR242W-A
YGR204C-A
YMR247W-A
YGR271C-A
YMR272W-B
YHL015W-A
YMR315W-A
YHR007C-A
YHR022C-A
YNL042W-B
YHR050W-A
YNL067W-B
YHR086W-A
YNL097C-A
YHR175W-A
YNL130C-A
YIL002W-A
YIL046W-A
YNL146C-A
YIL134C-A
YNL162W-A
YIR018C-A
YNL277W-A
YIR021W-A
YJL012C-A
YOL013W-B
YJL047C-A
YOL019W-A
YJL062W-A
YOL038C-A
YJL077W-B
YOL052C-A
YJL127C-B
YOL077W-A
YJL136W-A
YOL086W-A
YJR005C-A
YOL097W-A
YJR135W-A
YOL159C-A
YJR151W-A
YOL164W-A
YKL018C-A
YKL068W-A
YKL096C-B
YOR020W-A
YKL106C-A
YOR034C-A
YOR161C-C
YOR293C-A
YOR316C-A
YOR376W-A
YPL038W-A
YPL096C-A
YPL119C-A
YPL152W-A
YPL189C-A
YPR108W-A
YPR159C-A
YAL016C-B
YAL021C YAL021C
YAL037C-A YAL037C-A
YAL044W-A YAL044W-A
@@ -4994,13 +4852,13 @@ YBL008W-A
YCL026C-B YCL026C-B
YBL029C-A YBL029C-A
YER007W YER007W
YBL039W-A YBL039W-B
YER016W YER016W
YBL071C-B YBL071C-B
YER099C YER099C
YBL071W-A YBL071W-A
YER105C YER105C
YBL101W-C YBL100W-C
YER155C YER155C
YBR056W-A YBR056W-A
YER186W-A YER186W-A
@@ -5012,22 +4870,18 @@ YBR062C
YBL091C-A YBL091C-A
YBR105C YBR105C
YBL104C YBL104C
#N/A
YBR074W YBR074W
#N/A
YBR098W YBR098W
YBR274W YBR274W
YBR122C YBR122C
YCL005W-A YCL005W-A
YBR157C YBR157C
#N/A
YBR201W YBR201W
YCR061W YCR061W
YBR230W-A YBR230W-A
YCR095W-A YCR095W-A
YCL002C YCL002C
YDL026W YDL026W
#N/A
YDL036C YDL036C
YCL012C YCL012C
YBR072C-A YBR072C-A
@@ -5046,7 +4900,6 @@ YBR200W-A
YGL191W YGL191W
YBR221W-A YBR221W-A
YGL192W YGL192W
#N/A
YGL216W YGL216W
YBR296C-A YBR296C-A
YGR180C YGR180C
@@ -5067,7 +4920,6 @@ YDR475C
YDR179W-A YDR179W-A
YER109C YER109C
YDR315C YDR315C
#N/A
YDR433W YDR433W
YFL031W YFL031W
YDR448W YDR448W
@@ -5078,19 +4930,17 @@ YDR501W
YGL033W YGL033W
YDR518W YDR518W
YGL045W YGL045W
#N/A YDL069C
YKR099C-A YKR099C-A
YCR075W-A YCR075W-A
YLL006W-A YLL006W-A
YDL085C-A YDL085C-A
YLR264C-A YLR264C-A
YDL159W-A YDL159W-A
#N/A
YDL160C-A YDL160C-A
YLR285C-A YLR285C-A
YDR003W-A YDR003W-A
YLR307C-A YLR307C-A
#N/A
YLR312C-B YLR312C-B
YDR034W-B YDR034W-B
YLR342W-A YLR342W-A
@@ -5105,30 +4955,21 @@ YLR412C-A
YEL022W YEL022W
YGL186C YGL186C
YEL041W YEL041W
#N/A
YER015W YER015W
YGR225W YGR225W
YER026C YER026C
#N/A
#N/A
#N/A
YER076C YER076C
#N/A
YFL010W-A YFL010W-A
#N/A
YFR038W YFR038W
YJL012C YJL012C
YGL023C YGL023C
YJL016W YJL016W
YGL032C YGL032C
#N/A
#N/A
YJL020C YJL020C
YGL081W YGL081W
YJL088W YJL088W
YDR246W-A YDR246W-A
YML007C-A YML007C-A
#N/A
YML054C-A YML054C-A
YDR322C-A YDR322C-A
YML058W-A YML058W-A
@@ -5136,17 +4977,14 @@ YDR379C-A
YMR001C-A YMR001C-A
YDR524C-B YDR524C-B
YMR013W-A YMR013W-A
YDR524W-A YDR524W-C
YMR105W-A YMR105W-A
#N/A
YMR175W-A YMR175W-A
YEL059C-A YEL059C-A
YMR182W-A YMR182W-A
YER053C-A YER053C-A
YMR194C-B YMR194C-B
#N/A
YMR230W-A YMR230W-A
#N/A
YMR242W-A YMR242W-A
YER087C-B YER087C-B
YMR247W-A YMR247W-A
@@ -5154,17 +4992,14 @@ YGL101W
YJL096W YJL096W
YGL104C YGL104C
YJL160C YJL160C
#N/A
YJR060W YJR060W
YGL196W YGL196W
YJR085C YJR085C
YGL202W YGL202W
YJR086W YJR086W
YGL211W YGL211W
#N/A
YGL224C YGL224C
YJR101W YJR101W
#N/A
YJR112W-A YJR112W-A
YGL237C YGL237C
YJR114W YJR114W
@@ -5178,12 +5013,11 @@ YER175W-A
YMR272W-B YMR272W-B
YER180C-A YER180C-A
YMR315W-A YMR315W-A
#N/A
YNL042W-B YNL042W-B
YFL041W-A YFL041W-A
YNL067W-B YNL067W-B
YFR012W-A YFR012W-A
YNL097C-A YNL097C-B
YFR032C-B YFR032C-B
YNL130C-A YNL130C-A
YGL006W-A YGL006W-A
@@ -5194,34 +5028,26 @@ YGL041C-B
YNL277W-A YNL277W-A
YGL188C-A YGL188C-A
YOL013W-B YOL013W-B
#N/A
YOL019W-A YOL019W-A
YGR035W-A YGR035W-A
YOL038C-A YOL038C-A
YGR244C YGR244C
YKL033W-A YKL033W-A
YHL001W YHL001W
#N/A
YHL004W YHL004W
YKL157W YKL157W
YHR001W YHR001W
YKL198C YKL198C
#N/A
YKL201C YKL201C
YHR063C YHR063C
#N/A
YHR071W YHR071W
YKR054C YKR054C
#N/A
YKR100C YKR100C
#N/A
YLR054C YLR054C
YHR090C YHR090C
YLR194C YLR194C
YHR098C YHR098C
YLR211C YLR211C
#N/A
#N/A
YGR121W-A YGR121W-A
YOL052C-A YOL052C-A
YGR146C-A YGR146C-A
@@ -5232,7 +5058,6 @@ YGR174W-A
YOL097W-A YOL097W-A
YGR204C-A YGR204C-A
YOL159C-A YOL159C-A
#N/A
YOL164W-A YOL164W-A
YGR271C-A YGR271C-A
YOR020W-A YOR020W-A
@@ -5244,30 +5069,21 @@ YHR022C-A
YOR293C-A YOR293C-A
YHR050W-A YHR050W-A
YOR316C-A YOR316C-A
#N/A
YOR376W-A YOR376W-A
YHR141C YHR141C
YLR371W YLR371W
YHR149C YHR149C
#N/A
#N/A
YLR419W YLR419W
#N/A
YLR445W YLR445W
YHR187W YHR187W
YML034W YML034W
YHR192W YHR192W
YML104C YML104C
#N/A
YMR143W YMR143W
#N/A
YMR202W YMR202W
YHR205W YHR205W
#N/A
#N/A
YMR269W YMR269W
YIL041W YIL041W
#N/A
YIL127C YIL127C
YNL090W YNL090W
YHR086W-A YHR086W-A
@@ -5285,82 +5101,48 @@ YPR108W-A
YIR021W-A YIR021W-A
YPR159C-A YPR159C-A
YJL012C-A YJL012C-A
#N/A
YJL047C-A YJL047C-A
#N/A
YJL062W-A YJL062W-A
#N/A
YJL077W-B YJL077W-B
#N/A
YJL127C-B YJL127C-B
#N/A YHR086W-A
#N/A
YNL147W YNL147W
YJL059W YJL059W
YNL209W YNL209W
#N/A
YNL280C YNL280C
YKL065C YKL065C
#N/A
YKL137W YKL137W
YNR052C YNR052C
#N/A
YOL048C YOL048C
YKR091W YKR091W
YOL140W YOL140W
YLR084C YLR084C
#N/A
YLR118C YLR118C
YOL145C YOL145C
YLR125W YLR125W
YOL154W YOL154W
#N/A
YOL164W YOL164W
YLR251W YLR251W
YOR026W YOR026W
#N/A
#N/A
YJL136W-A YJL136W-A
#N/A
#N/A
#N/A
YJR005C-A YJR005C-A
#N/A
YJR135W-A YJR135W-A
#N/A
YJR151W-A YJR151W-A
#N/A
YKL018C-A YKL018C-A
#N/A
YKL068W-A YKL068W-A
#N/A
YKL096C-B YKL096C-B
#N/A
YKL106C-A YKL106C-A
#N/A
#N/A
#N/A
#N/A
#N/A
YLR329W YLR329W
YOR069W YOR069W
YLR332W YLR332W
YOR087W YOR087W
#N/A
YOR239W YOR239W
#N/A
#N/A
YMR032W YMR032W
YOR298C-A YOR298C-A
#N/A
YPL075W YPL075W
#N/A
YPL165C YPL165C
#N/A
YPL249C-A YPL249C-A
#N/A
YPL277C YPL277C
#N/A
YPR089W YPR089W
YNL162W YNL162W
YPR098C YPR098C
@@ -5745,8 +5527,8 @@ YKL082C
YKL083W YKL083W
YIL104C YIL104C
YKL088W YKL088W
YKL095W
YIL115C YIL115C
YKL095W
YIL118W YIL118W
YDR473C YDR473C
YGL245W YGL245W
@@ -5766,22 +5548,22 @@ YEL002C
YGR060W YGR060W
YGR065C YGR065C
YIL129C YIL129C
YKL108W
YIL144W YIL144W
YKL108W
YIL147C YIL147C
YKL112W
YIL150C YIL150C
YKL122C YKL112W
YIL171W YIL171W
YKL141W YKL122C
YIR006C YIR006C
YKL144C YKL141W
YIR008C YIR008C
YKL144C
YKL145W YKL145W
YIR015W YIR015W
YIR022W YIR022W
YKL154W
YJL001W YJL001W
YKL154W
YJL002C YJL002C
YEL032W YEL032W
YGR073C YGR073C
@@ -5804,28 +5586,28 @@ YGR113W
YER036C YER036C
YGR114C YGR114C
YER038C YER038C
YKL182W
YJL005W YJL005W
YKL186C YKL182W
YJL008C YJL008C
YKL189W YKL186C
YJL009W YJL009W
YKL192C YKL189W
YJL010C YJL010C
YKL193C YKL192C
YJL011C YJL011C
YKL195W YKL193C
YJL015C YJL015C
YKL203C YKL195W
YJL018W YJL018W
YKL210W YKL203C
YJL025W YJL025W
YKR002W YKL210W
YJL026W YJL026W
YKR004C YKR002W
YJL031C YJL031C
YKR022C YKR004C
YJL032W YJL032W
YKR022C
YJL033W YJL033W
YER043C YER043C
YGR120C YGR120C
@@ -5987,7 +5769,7 @@ YLR212C
YNL075W YNL075W
YLR222C YLR222C
YNL088W YNL088W
YLR153C YLR223C
YNL102W YNL102W
YOR075W YOR075W
YPR016C YPR016C

View File

@@ -89,8 +89,8 @@ try %Try the whole routine
maxDisp=Exp(expN).Dexp(DexpN).maxP(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\n', cell2mat(RFmdPLB),mval1Disp,mean1Disp,std1Disp,minDisp,maxDisp); fprintf(fid,'%s\t %7.2f\t %7.4f\t %7.4f\t %7.4f\t %7.4f\t\n', cell2mat(RFmdPLB),mval1Disp,mean1Disp,std1Disp,minDisp,maxDisp);
rCnt=rCnt+1; rCnt=rCnt+1;
data(rCnt,1:5)= [mval1Disp,mean1Disp,std1Disp,minDisp,maxDisp]; data(rCnt,1:5)=expjobsfld[mval1Disp,mean1Disp,std1Disp,minDisp,maxDisp];
rnames(rCnt)= RFmdPLB; rnames(rCnt)=RFmdPLB;
end end
end end
catch catch

View File

@@ -5,87 +5,15 @@ global expType
global usrExpJobsDir global usrExpJobsDir
global zonePB global zonePB
% Initialize some variables from matlab
ezPath=which(mfilename);
[ezDir,ezFileName]=fileparts(ezPath);
ezDir=fullfile(easyDir);
[parentDir, ~]=fileparts(ezDir);
parentDir=fullfile(parentDir); % ../easy/apps
debug=1;
if debug
disp('Running in debug mode');
disp('Initialized variables:');
whos;
end
% Set scansDir (project scans directory) intelligently
if exist('PROJECT', 'var') && ~isempty(getenv('PROJECT'))
scansDir=getenv('PROJECT');
fprintf('Using project path: %s from environment variable PROJECT\n', scansDir);
disp('This usually indicates that we are in standalone mode');
elseif exist('PROJECT_SCANS_DIR', 'var') && ~isempty(getenv('PROJECT_SCANS_DIR'))
scansDir=getenv('PROJECT_SCANS_DIR');
fprintf('Using scans directory: %s from environment variable PROJECT_SCANS_DIR\n', scansDir);
disp('This usually indicates that we are in module mode');
else
% TODO Lots of this is hardcoded logic, this TODO is just a reminder to change this block
% when changing EASY and other variables in the parent script
fprintf('Beginning parent scans directory search\n');
fprintf('This usually indicates that we are in stand-alone mode without PROJECT or PROJECT_SCANS_DIR environment variables\n');
dirsToScan={
fullfile(parentDir,'..', '..', 'scans'),
fullfile(parentDir, '..', '..', 'ExpJobs'),
fullfile('/mnt/data/scans'),
fullfile('/mnt/data/ExpJobs'),
fullfile(parentDir, '..', '..', 'templates', 'scans-demo')
};
for d=dirsToScan
if exist(d, 'dir')
subDirs=dir(d);
if ~isempty(subDirs)
fprintf('Found a non-empty parent scans directory in our list: %s\n', d);
fprintf('Scanning inside for a project scan directory\n');
[~, sortedIndices]=sort(datenum({dirs.date}), 'descend'); % sort by newest first
sortedDirs=dirs{sortedIndices};
scansDir=sortedDirs{1};
fprintf('Selected newest project scans directory: %s\n', scansDir);
end
end
end
end
% User sanity check and warning
if exist('PROJECT_USER', 'var') && ~isempty(getenv('PROJECT_USER'))
if ~equal(getenv('PROJECT_USER'), userName)
disp("WARNING: PROJECT_USER does not match the current namespace");
end
end
% Allow module to override hardcoded default EZview directory
if exist('EZVIEW_DIR','var') && ~isempty(getenv('EZVIEW_DIR'))
EZVIEW_DIR=fullfile(getenv('EZVIEW_DIR'));
if ~strcmp(ezDir, EZVIEW_DIR) % sanity check
disp("WARNING: EZVIEW_DIR does not match this script's hardcoded EZview location");
disp("This is probably OK but if strange beahvior arises, we'll need to fix it in code");
ezDir=EZVIEW_DIR;
end
fprintf('Using EZview script directory: %s from environment variable EZVIEW_DIR\n', ezDir);
else
fprintf('Using EZview script directory: %s from hardcoded default\n', ezDir);
end
w=pwd; w=pwd;
% Single Exp or Chronological Study % Single Exp or Chronological Study
% Construct a questdlg with three options % Construct a questdlg with three options
Exp(expN).expLoadCnt=0;
Exp(expN).expLoadCnt= 0;
% Initiation for composite plotting cPlots % Initiation for composite plotting cPlots
Exp(expN).cTraceN= 1; Exp(expN).cTraceN=1;
Exp(expN).cTraceIndx= 1; Exp(expN).cTraceIndx=1;
Exp(expN).CompositPlot= 0; Exp(expN).CompositPlot=0;
choice='Cancel'; choice='Cancel';
expType=0; expType=0;
@@ -192,6 +120,7 @@ if expType==1
cd(w) cd(w)
return return
end end
%Return without execution if user cancels or doesn't select a .mat file %Return without execution if user cancels or doesn't select a .mat file
try try
if openExpfile==0 || openExppath==0, cd(w), return, end if openExpfile==0 || openExppath==0, cd(w), return, end

File diff suppressed because it is too large Load Diff

View File

@@ -20,6 +20,11 @@ function varargout = EZviewGui(varargin)
% %
% See also: GUIDE, GUIDATA, GUIHANDLES % See also: GUIDE, GUIDATA, GUIHANDLES
gui_Singleton = 0; gui_Singleton = 0;
gui_State = struct( ... gui_State = struct( ...
'gui_Name', mfilename, ... 'gui_Name', mfilename, ...