Add ezview

This commit is contained in:
2024-07-29 12:31:26 -04:00
parent 1c0c84f3e6
commit c323eef935
122 changed files with 57619 additions and 0 deletions

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.

Binary file not shown.

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

Binary file not shown.

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