EZinterAgingDev0 debug
This commit is contained in:
@@ -86,65 +86,29 @@ if expType==1
|
||||
end
|
||||
end
|
||||
|
||||
% TODO don't want to cd here
|
||||
try
|
||||
cd(usrExpJobsDir);
|
||||
catch
|
||||
if ispc
|
||||
cd(fullfile('C:\')); %end % \Easy\Experiments'));
|
||||
else
|
||||
cd(fullfile('/mnt/data/scans'))
|
||||
end
|
||||
end
|
||||
|
||||
datacursormode off;
|
||||
|
||||
if ispc
|
||||
try
|
||||
cd(usrExpJobsDir);
|
||||
catch
|
||||
cd(fullfile('C:\')); %end % \Easy\Experiments'));
|
||||
end
|
||||
else
|
||||
try
|
||||
cd(usrExpJobsDir);
|
||||
catch
|
||||
cd(fullfile('~'));
|
||||
end
|
||||
end
|
||||
try
|
||||
[openExpfile,openExppath] = uigetfile('.mat','Open Experiment folder and data storage .mat file name','MultiSelect','off')
|
||||
catch ME
|
||||
catchissue='Ln50'
|
||||
ME
|
||||
cd(w)
|
||||
return
|
||||
end
|
||||
|
||||
% Return without execution if user cancels or doesn't select a .mat file
|
||||
try
|
||||
if openExpfile==0 || openExppath==0, cd(w), return, end
|
||||
if openExpfile==0 || scansDir==0
|
||||
return
|
||||
end
|
||||
catch
|
||||
end
|
||||
if expN==1
|
||||
|
||||
if expN==1 || expN==2 || expN==3
|
||||
orfLstSel=get(handles.GeneOrfTog,'value')
|
||||
end
|
||||
|
||||
if expN==2
|
||||
orfLstSel=get(handles.GeneOrfTog,'value')
|
||||
end
|
||||
|
||||
if expN==3
|
||||
orfLstSel=get(handles.GeneOrfTog,'value')
|
||||
end
|
||||
Exp(expN).Dexp(1).srtGnLst={('CheckMP/MPDMfile')};
|
||||
Exp(expN).Dexp(1).srtOrfLst={('CheckMP/MPDMfile')};
|
||||
set(handles.listboxGnOrf,'value',1) %Fix accomodation for bug in App Designer .. .wlapp converter 230906
|
||||
set(handles.listboxGnOrf,'string',cellstr([{'Failed To Load'}; {' '}]));
|
||||
%try
|
||||
ExpOutmat= fullfile(openExppath,openExpfile);
|
||||
ExpOutmat=fullfile(scansDir,openExpfile);
|
||||
load(ExpOutmat);
|
||||
cd(openExppath)
|
||||
cd(scansDir)
|
||||
cd ..;
|
||||
resDir=pwd;
|
||||
Exp(expN).Dexp(1).resDir=resDir;
|
||||
|
||||
@@ -1,30 +1,27 @@
|
||||
%single gene L based interaction shift display
|
||||
function EZinterAgingDev0
|
||||
global Exp
|
||||
|
||||
[openExpfile,openExppath] = uigetfile('.mat','Open Experiment folder and data storage .mat file name','MultiSelect','on');
|
||||
|
||||
AgMPDM=load (fullfile(openExppath,'MasterPlateFiles','MPDMmat.mat'));
|
||||
[openExpfile,scansDir]=uigetfile('.mat','Open Experiment folder and data storage .mat file name','MultiSelect','on');
|
||||
AgMPDM=load(fullfile(scansDir,'MasterPlateFiles','MPDMmat.mat'));
|
||||
|
||||
for i=1:size(openExpfile,2)
|
||||
ExpOutmat{i}= fullfile(openExppath,openExpfile{i});
|
||||
ExpOutmat{i}= fullfile(scansDir,openExpfile{i});
|
||||
EScan{i}=load(ExpOutmat{1});
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
% single gene L based interaction shift display
|
||||
% function EZinteractDev3
|
||||
global Exp
|
||||
% expN=1;
|
||||
|
||||
%User Input decode for application ***************************
|
||||
prompt={'Enter LeftSide Central Boundary in Percent:',...
|
||||
% User Input decode for application
|
||||
prompt={...
|
||||
'Enter LeftSide Central Boundary in Percent:',...
|
||||
'Enter RightSide Central Boundary in Percent:', ...
|
||||
'Enter Perturbation Numbers for set intersect:' ...
|
||||
'Remove No Growth Infinite Interactors:' ...
|
||||
'Number of Bins for Histograms'...
|
||||
'Subplots(Y), Multiple Plots(N), Suspend Plots(S)'};%...
|
||||
'Subplots(Y), Multiple Plots(N), Suspend Plots(S)'};
|
||||
% 'Select Experiment(zone) number:'
|
||||
|
||||
name='Interaction User Input';
|
||||
@@ -47,22 +44,15 @@ for i= DMcomas,
|
||||
if i== max(DMcomas)
|
||||
DMsel(n+1)= str2double(DMstr(i:end))
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
%**************************************************************
|
||||
|
||||
Rn=Exp(expN).RFmean;
|
||||
Rs=Exp(expN).RFstd;
|
||||
|
||||
dmN=length(Exp(expN).DM.drug);
|
||||
mpN=length(Exp(expN).MP);
|
||||
% Intc1=3; IntcLst=5;
|
||||
% Calculate Interaction values (with and without
|
||||
% standardDeviation/Upper-Lower boundary compensation
|
||||
|
||||
|
||||
|
||||
for j=1:dmN
|
||||
for m=1:mpN
|
||||
scnN=j + (dmN*(m-1)) % 1,6,11..; 2,7,12 ..; 3,8,13..;
|
||||
@@ -70,55 +60,50 @@ for j=1:dmN
|
||||
Xn{m,j,:}(Xn{m,j,:}==0)= 140;
|
||||
Xln{m,j,:}=Exp(expN).scan(scnN).plate(1).CFout(:,11); % Exp(expN).scan(DM{j}(m)).plate(1).CFout(:,11);
|
||||
Xhn{m,j,:}=Exp(expN).scan(scnN).plate(1).CFout(:,12); % Exp(expN).scan(DM{j}(m)).plate(1).CFout(:,12);
|
||||
|
||||
intL{m,j,:} = (Xn{m,j,:} - Rn(j));
|
||||
intL{m,j,:}(Xn{m,j,:}==140)= 100;
|
||||
|
||||
intLhw{m,j,:} = ((Xn{m,1,:}-Xn{m,j,:}) - Rn(1)-Rn(j));
|
||||
intLhw{m,j,:}(Xn{m,j,:}==140)= 100;
|
||||
|
||||
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));
|
||||
|
||||
deltaXR{m,j}= zeros(1,384);
|
||||
|
||||
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
|
||||
catch
|
||||
end
|
||||
end
|
||||
for i=1:length(Xneg(:)),
|
||||
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
|
||||
catch
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
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
|
||||
end
|
||||
% 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).mutSpotIndx.woRFs,j);
|
||||
intLwoRFs{j}(2,:)= Exp(expN).mutSpotIndx.woRFs;%Index of non-RF non-blank spots %Crude early intLcmp(385:(mpN-1)*384,j);
|
||||
|
||||
intLwoRFs{j}(2,:)=Exp(expN).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
|
||||
@@ -126,16 +111,11 @@ for j=1:dmN
|
||||
intLwoRFs{j}(2,:)=intLwoRFs0{j}(2,:);
|
||||
end
|
||||
|
||||
|
||||
intLwoRFsorted{j}=sortrows(intLwoRFs{j}',1);
|
||||
|
||||
clear intLcmpSortGT0 intLcmpSortLT0
|
||||
|
||||
tempIntL=intLwoRFsorted{j}(:,1);
|
||||
intLcmpSortGT0=tempIntL((tempIntL) >=0);
|
||||
intLcmpSortLT0=tempIntL((tempIntL) <0);
|
||||
|
||||
|
||||
centPosCnt=round(posPercent/100 * length(intLcmpSortGT0));
|
||||
centNegCnt=round(negPercent/100 * length(intLcmpSortLT0));
|
||||
intLposSel{j}=intLwoRFsorted{j}((length(intLcmpSortLT0)+centPosCnt): end,:);
|
||||
@@ -143,8 +123,6 @@ for j=1:dmN
|
||||
posIntboundryCentralVal(j)= intLcmpSortGT0((centPosCnt),:); % For Histogram use
|
||||
negIntboundryCentralVal(j)= intLcmpSortLT0(((length(intLcmpSortLT0))-(centNegCnt)),:); % For Histogram use
|
||||
|
||||
|
||||
|
||||
% Find potential Interactors within selected range
|
||||
if j==DMsel(1) % Intc1,
|
||||
InterslstPos{1}= intLposSel{DMsel(1)}(:,2) % intLcmpposInd{Intc1}
|
||||
@@ -154,7 +132,6 @@ for j=1:dmN
|
||||
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
|
||||
intLposDIndx{j}(:,2)=ceil((intLposSel{j}(:,2))/384); % mp plate numb column
|
||||
@@ -169,8 +146,6 @@ for j=1:dmN
|
||||
intLnegDIndx{j}(nn,3)= 384;
|
||||
intLnegDIndx{j}(:,1)= j + (dmN*((intLnegDIndx{j}(:,2))-1)); % scan numb
|
||||
|
||||
%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
%********************************************************************************************
|
||||
% ADJUSTED L for Reference Standard deviation(More conservative) Interaction List compilation
|
||||
intLadjwoRFs{j}(1,:)=intLadjcmp(Exp(expN).mutSpotIndx.woRFs,j);
|
||||
intLadjwoRFs{j}(2,:)= Exp(expN).mutSpotIndx.woRFs; % intLadjcmp(385:(mpN-1)*384,j); %intLadjcmp(Exp(expN).mutSpotIndx.woRFs,j);
|
||||
@@ -188,7 +163,6 @@ for j=1:dmN
|
||||
tempIntLadj=intLwoRFsortedAdj{j}(:,1);
|
||||
intLadjSortGT0=tempIntLadj((tempIntLadj) >=0);
|
||||
intLadjSortLT0=tempIntLadj((tempIntLadj) <0);
|
||||
|
||||
centPosCntAdj=round(posPercent/100 * length(intLadjSortGT0));
|
||||
centNegCntAdj=round(negPercent/100 * length(intLadjSortLT0));
|
||||
intLposSelAdj{j}=intLwoRFsortedAdj{j}((length(intLadjSortLT0)+centPosCntAdj): end,:);
|
||||
@@ -196,8 +170,7 @@ for j=1:dmN
|
||||
posIntboundryCentralValAdj(j)=intLadjSortGT0((centPosCntAdj),:);
|
||||
negIntboundryCentralValAdj(j)=intLadjSortLT0(((length(intLadjSortLT0))-(centNegCntAdj)),:);
|
||||
|
||||
|
||||
if j== DMsel(1) %Intc1,
|
||||
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
|
||||
@@ -205,7 +178,6 @@ for j=1:dmN
|
||||
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
|
||||
intLposDIndxAdj{j}(:,2)=ceil((intLposSelAdj{j}(:,2))/384); % mp plate numb column
|
||||
@@ -219,17 +191,13 @@ for j=1:dmN
|
||||
nn=(intLposDIndxAdj{j}(:,3)==0);
|
||||
intLnegDIndxAdj{j}(nn,3)= 384;
|
||||
intLnegDIndxAdj{j}(:,1)= j + (dmN*((intLnegDIndxAdj{j}(:,2))-1)); % scan numb
|
||||
end
|
||||
|
||||
end %j=1:dmN
|
||||
%****************************************************************************************
|
||||
|
||||
|
||||
%get interaction values for each DM drugmedia agar type
|
||||
% 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};
|
||||
@@ -243,7 +211,6 @@ selIntPx{1}(:,2)=ceil((InterslstPos{1})/384); %mp plate numb column
|
||||
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));
|
||||
@@ -253,7 +220,6 @@ selIntPx{1}(:,2)=ceil((InterslstPos{1})/384); %mp plate numb column
|
||||
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);
|
||||
|
||||
@@ -269,7 +235,6 @@ for i=1:size(selIntP,1)
|
||||
ipL(i)= Exp(expN).scan(selIntP(i,1)).plate(1).CFout(selIntP(i,3),5);
|
||||
ipLlower(i)= Exp(expN).scan(selIntP(i,1)).plate(1).CFout(selIntP(i,3),11);
|
||||
ipLupper(i)= Exp(expN).scan(selIntP(i,1)).plate(1).CFout(selIntP(i,3),12);
|
||||
%*************************************************************************
|
||||
end
|
||||
|
||||
for i=1:size(selIntN,1)
|
||||
@@ -284,13 +249,9 @@ for i=1:size(selIntN,1)
|
||||
inL(i)= Exp(expN).scan(selIntN(i,1)).plate(1).CFout(selIntN(i,3),5);
|
||||
inLlower(i)= Exp(expN).scan(selIntN(i,1)).plate(1).CFout(selIntN(i,3),11);
|
||||
inLupper(i)= Exp(expN).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));
|
||||
@@ -300,11 +261,8 @@ selIntPxAdj{1}(:,2)=ceil((InterslstPosAdj{1})/384); %mp plate numb column
|
||||
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);
|
||||
|
||||
selIntNxAdj{1}(:,2)=ceil((InterslstNegAdj{1})/384); %mp plate numb column
|
||||
selIntNxAdj{1}(:,3)=(rem(InterslstNegAdj{1},384));
|
||||
nn=(selIntNxAdj{1}(:,3)==0);
|
||||
@@ -313,8 +271,6 @@ selIntNxAdj{1}(:,2)=ceil((InterslstNegAdj{1})/384); %mp plate numb column
|
||||
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);
|
||||
|
||||
@@ -324,13 +280,11 @@ for i=1:size(selIntPAdj,1)
|
||||
IPstrainAdj(i)= Exp(expN).MP(selIntPAdj(i,2)).strain{1}(selIntPAdj(i,3));
|
||||
IPspecificsAdj(i)=Exp(expN).MP(selIntPAdj(i,2)).specifics{1}(selIntPAdj(i,3));
|
||||
IPorfRepAdj(i)=Exp(expN).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).scan(selIntPAdj(i,1)).plate(1).CFout(selIntPAdj(i,3),5);
|
||||
ipLlowerAdj(i)= Exp(expN).scan(selIntPAdj(i,1)).plate(1).CFout(selIntPAdj(i,3),11);
|
||||
ipLupperAdj(i)= Exp(expN).scan(selIntPAdj(i,1)).plate(1).CFout(selIntPAdj(i,3),12);
|
||||
%************************************************************************************
|
||||
end
|
||||
|
||||
for i=1:size(selIntNAdj,1)
|
||||
@@ -339,18 +293,15 @@ for i=1:size(selIntNAdj,1)
|
||||
INstrainAdj(i)= Exp(expN).MP(selIntNAdj(i,2)).strain{1}(selIntNAdj(i,3));
|
||||
INspecificsAdj(i)=Exp(expN).MP(selIntNAdj(i,2)).specifics{1}(selIntNAdj(i,3));
|
||||
INorfRepAdj(i)=Exp(expN).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).scan(selIntNAdj(i,1)).plate(1).CFout(selIntNAdj(i,3),5);
|
||||
inLlowerAdj(i)= Exp(expN).scan(selIntNAdj(i,1)).plate(1).CFout(selIntNAdj(i,3),11);
|
||||
inLupperAdj(i)= Exp(expN).scan(selIntNAdj(i,1)).plate(1).CFout(selIntNAdj(i,3),12);
|
||||
%*************************************************************************************
|
||||
end
|
||||
%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
%Plot Histogram******************************************************
|
||||
|
||||
% Plot Histogram
|
||||
% subplotX=1;
|
||||
figure
|
||||
if strcmpi(subplotX,'Y')
|
||||
@@ -358,7 +309,6 @@ if strcmpi(subplotX,'Y')
|
||||
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');
|
||||
@@ -370,7 +320,7 @@ if strcmpi(subplotX,'Y')
|
||||
clf
|
||||
end
|
||||
|
||||
% figure
|
||||
% Figure
|
||||
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')
|
||||
@@ -396,13 +346,10 @@ if strcmpi(subplotX,'Y')
|
||||
round(scnsize(3) -scnsize(3)/80),round(scnsize(4)/2 -scnsize(4)/80)]
|
||||
set(gcf,'outerposition',pos2)
|
||||
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);
|
||||
histLadjData=intLwoRFsortedAdj{j}(:,1); %intLadjcmp(385:(mpN-1)*384,j);%intLadjcmp(385:(mpN-1)*384,j); %intLcmp(:,j); %intLadjcmp(:,j);
|
||||
|
||||
figure
|
||||
hgL{j}=histfitJR(histLdata,numBins,'kernel') ; hold %hgL{j}=histfit(intLcmp(:,j),31,'kernel')
|
||||
plot(posIntboundryCentralVal(j), 1:3000,'--r')
|
||||
@@ -413,18 +360,15 @@ hgLadj{j}=histfitJR(histLadjData,numBins,'kernel') ; hold %hgLadj{j}=histfit(i
|
||||
plot(posIntboundryCentralValAdj(j), 1:3000,'--r')
|
||||
plot(negIntboundryCentralValAdj(j), 1:3000,'--g')
|
||||
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 strcmpi(subplotX,'N')
|
||||
figure
|
||||
bar3(ybb);
|
||||
@@ -432,22 +376,17 @@ if strcmpi(subplotX,'N')
|
||||
% figure
|
||||
end
|
||||
else
|
||||
end %if subplotX==1 histograms placed in subplot figure else multiple histogram plots
|
||||
|
||||
|
||||
end
|
||||
% 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
|
||||
|
||||
|
||||
|
||||
|
||||
a=1 % TODO what is this for
|
||||
end
|
||||
|
||||
@@ -8,22 +8,7 @@ global Expbb
|
||||
global exDlst
|
||||
global exFolder
|
||||
|
||||
%Test for Bad MP cell array (usually 384 [NaN}'s)
|
||||
%replaced length(Exp(expN).Dexp(1).MP) with MPnum
|
||||
%{
|
||||
for mx=1:length(Exp(expN).Dexp(1).MP)
|
||||
try
|
||||
char((Exp(expN).Dexp(n).MP(mx).genename{1}(384)))
|
||||
MPnum=mx;
|
||||
catch
|
||||
break
|
||||
end
|
||||
end
|
||||
%*************************************************
|
||||
%}
|
||||
%********************************************************************************
|
||||
%Begin .mat Data Loading section
|
||||
%********************************************************************************
|
||||
% Load .mat file
|
||||
expN=zonePB; % added to accomodate AppDesigner limitations 230821
|
||||
Exp(expN).UgeneCnt=0;
|
||||
Exp(expN).DexpLength= size(matFile,2); DexpLength= size(matFile,2);
|
||||
@@ -45,9 +30,9 @@ Exp(expN).Dexp(n).srtOrfLst={('CheckMP/MPDMfile')};
|
||||
set(handles.listboxGnOrf,'value',1) %Fix accomodation for bug in App Designer .. .wlapp converter 230918
|
||||
set(handles.listboxGnOrf,'string',cellstr([{'Failed To Load'}; {' '}]));
|
||||
%try
|
||||
ExpOutmat= matFile(n) %fullfile(openExppath,openExpfile);
|
||||
ExpOutmat= matFile(n) %fullfile(scansDir,openExpfile);
|
||||
load(char(ExpOutmat));
|
||||
%cd(openExppath)
|
||||
%cd(scansDir)
|
||||
%cd ..;
|
||||
%resDir=pwd;
|
||||
Exp(expN).Dexp(n).resDir= cell2mat(resDir(n));
|
||||
|
||||
@@ -6,6 +6,76 @@ global userPars
|
||||
global usrExpJobsDir
|
||||
global zonePB
|
||||
|
||||
% Initialize some variables from matlab
|
||||
ezPath=which(mfilename);
|
||||
[ezDir,ezFileName]=fileparts(ezPath);
|
||||
ezDir=fullfile(easyDir);
|
||||
[parentDir, ~]=fileparts(ezDir);
|
||||
parentDir=fullfile(parentDir); % ../easy/apps
|
||||
|
||||
debug=1;
|
||||
if debug
|
||||
disp('Running in debug mode');
|
||||
disp('Initialized variables:');
|
||||
whos;
|
||||
end
|
||||
|
||||
% Set scansDir (project scans directory) intelligently
|
||||
if exist('PROJECT', 'var') && ~isempty(getenv('PROJECT'))
|
||||
scansDir=getenv('PROJECT');
|
||||
fprintf('Using project path: %s from environment variable PROJECT\n', scansDir);
|
||||
disp('This usually indicates that we are in standalone mode');
|
||||
elseif exist('PROJECT_SCANS_DIR', 'var') && ~isempty(getenv('PROJECT_SCANS_DIR'))
|
||||
scansDir=getenv('PROJECT_SCANS_DIR');
|
||||
fprintf('Using scans directory: %s from environment variable PROJECT_SCANS_DIR\n', scansDir);
|
||||
disp('This usually indicates that we are in module mode');
|
||||
else
|
||||
% TODO Lots of this is hardcoded logic, this TODO is just a reminder to change this block
|
||||
% when changing EZ_DIR and other variables in the parent script
|
||||
fprintf('Beginning parent scans directory search\n');
|
||||
fprintf('This usually indicates that we are in stand-alone mode without PROJECT or PROJECT_SCANS_DIR environment variables\n');
|
||||
dirsToScan={
|
||||
fullfile(parentDir,'..', '..', 'scans'),
|
||||
fullfile(parentDir, '..', '..', 'ExpJobs'),
|
||||
fullfile('/mnt/data/scans'),
|
||||
fullfile('/mnt/data/ExpJobs'),
|
||||
fullfile(parentDir, '..', '..', 'templates', 'scans-demo')
|
||||
};
|
||||
for d=dirsToScan
|
||||
if exist(d, 'dir')
|
||||
subDirs=dir(d);
|
||||
if ~isempty(subDirs)
|
||||
fprintf('Found a non-empty parent scans directory in our list: %s\n', d);
|
||||
fprintf('Scanning inside for a project scan directory\n');
|
||||
[~, sortedIndices]=sort(datenum({dirs.date}), 'descend'); % sort by newest first
|
||||
sortedDirs=dirs{sortedIndices};
|
||||
scansDir=sortedDirs{1};
|
||||
fprintf('Selected newest project scans directory: %s\n', scansDir);
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
% User sanity check and warning
|
||||
if exist('PROJECT_USER', 'var') && ~isempty(getenv('PROJECT_USER'))
|
||||
if ~equal(getenv('PROJECT_USER'), userName)
|
||||
disp("WARNING: PROJECT_USER does not match the current namespace");
|
||||
end
|
||||
end
|
||||
|
||||
% Allow module to override hardcoded default EZview directory
|
||||
if exist('EZVIEW_DIR','var') && ~isempty(getenv('EZVIEW_DIR'))
|
||||
EZVIEW_DIR=fullfile(getenv('EZVIEW_DIR'));
|
||||
if ~strcmp(ezDir, EZVIEW_DIR) % sanity check
|
||||
disp("WARNING: EZVIEW_DIR does not match this script's hardcoded EZview location");
|
||||
disp("This is probably OK but if strange beahvior arises, we'll need to fix it in code");
|
||||
ezDir=EZVIEW_DIR;
|
||||
end
|
||||
fprintf('Using EZview script directory: %s from environment variable EZVIEW_DIR\n', ezDir);
|
||||
else
|
||||
fprintf('Using EZview script directory: %s from hardcoded default\n', ezDir);
|
||||
end
|
||||
|
||||
userPars.BPdefault={'on','on','0.3','8','45','1000'};
|
||||
userPars.boxplotFlg=1;
|
||||
userPars.BPoutliers='On';
|
||||
@@ -16,92 +86,54 @@ userPars.BProt=45;
|
||||
userPars.Trenddefault={'1000'};
|
||||
userPars.kfiltLim=str2double(userPars.BPdefault(6));
|
||||
|
||||
% Exp(expN).expLoadCnt=0; ??? May need to add in Future
|
||||
Exp(1).cTraceN= 1; %Added for Cummulative Composite Olay plotting
|
||||
Exp(2).cTraceN=1;
|
||||
Exp(3).cTraceN=1;
|
||||
Exp(1).cTraceIndx(1)=1;
|
||||
Exp(2).cTraceIndx(1)=1;
|
||||
Exp(3).cTraceIndx(1)=1;
|
||||
Exp(1).CompositPlot=0;Exp(2).CompositPlot=0;Exp(3).CompositPlot=0;
|
||||
w=pwd;
|
||||
Exp(1).DexpType='single';
|
||||
Exp(2).DexpType='single';
|
||||
Exp(3).DexpType='single';
|
||||
Exp(1).DexpN=1;
|
||||
Exp(2).DexpN=1;
|
||||
Exp(3).DexpN=1;
|
||||
Exp(1).DexpLength=1;
|
||||
Exp(2).DexpLength=1;
|
||||
Exp(3).DexpLength=1;
|
||||
set(handles.DN1,'value',1)
|
||||
set(handles.DN2,'value',1)
|
||||
set(handles.DN3,'value',1)
|
||||
set(handles.GeneOrfTog,'value',0)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
% Generate the Exp arrays
|
||||
numExps=3;
|
||||
for i=1:numExps
|
||||
Exp(i).cTraceN=0;
|
||||
Exp(i).cTraceIndx(1)=1;
|
||||
end
|
||||
Exp(1).CompositPlot=0;Exp(2).CompositPlot=0;Exp(3).CompositPlot=0;
|
||||
for i=1:numExps
|
||||
Exp(i).DexpType='single';
|
||||
Exp(i).DexpN=1;
|
||||
Exp(i).DexpLength=1;
|
||||
eval(['set(handles.DN' num2str(i) ', ''value'', 1);']); % MATLAB level unlocked
|
||||
end
|
||||
set(handles.GeneOrfTog,'value',0)
|
||||
try
|
||||
load('EZsgdInfo');
|
||||
catch
|
||||
disp('Fail to load EZsgdInfo file from code directory');
|
||||
end
|
||||
|
||||
Exp(4).SGDnum=SGDnum;
|
||||
Exp(4).SGDtext=SGDtext;
|
||||
Exp(4).SGDraw=SGDraw;
|
||||
Exp(4).interacPBsel=0;
|
||||
Exp(numExps+1).SGDnum=SGDnum;
|
||||
Exp(numExps+1).SGDtext=SGDtext;
|
||||
Exp(numExps+1).SGDraw=SGDraw;
|
||||
Exp(numExps+1).interacPBsel=0;
|
||||
|
||||
try %big outer loop try catch to ln844 end ln868
|
||||
|
||||
% Big outer loop try catch to ln844 end ln868
|
||||
% try to use user selected 'ExpJobs' folder otherwise use a default
|
||||
% directory in the uigetfile to load the experiment .mat file.
|
||||
%try %Linux accommodatition
|
||||
if ispc
|
||||
try
|
||||
cd(usrExpJobsDir);
|
||||
catch
|
||||
cd(fullfile('C:\')); %end % \Easy\Experiments'));
|
||||
end
|
||||
|
||||
else
|
||||
try
|
||||
cd(usrExpJobsDir);
|
||||
catch
|
||||
cd(fullfile('~'))
|
||||
end
|
||||
end
|
||||
|
||||
[openExpfile,openExppath] = uigetfile('.mat','Open Experiment folder and data storage .mat file name','MultiSelect','off')
|
||||
|
||||
try
|
||||
ExpOutmat= fullfile(openExppath,openExpfile);
|
||||
load(ExpOutmat);
|
||||
cd(openExppath)
|
||||
cd ..;
|
||||
resDir=pwd;
|
||||
Exp(1).Dexp(1).resDir=resDir;
|
||||
Exp(2).Dexp(1).resDir=resDir;
|
||||
Exp(3).Dexp(1).resDir=resDir;
|
||||
cd ..;
|
||||
try
|
||||
test4imageDir= imread(fullfile(pwd,'1','1.bmp'));
|
||||
ExpPath=pwd;
|
||||
Exp(1).Dexp(1).ExpFoldr=ExpPath;
|
||||
Exp(2).Dexp(1).ExpFoldr=ExpPath;
|
||||
Exp(3).Dexp(1).ExpFoldr=ExpPath;
|
||||
catch
|
||||
try
|
||||
cd ..
|
||||
test4imageDir= imread(fullfile(pwd,'1','1.bmp'));
|
||||
ExpPath=pwd;
|
||||
Exp(1).Dexp(1).ExpFoldr=ExpPath;
|
||||
Exp(2).Dexp(1).ExpFoldr=ExpPath;
|
||||
Exp(3).Dexp(1).ExpFoldr=ExpPath;
|
||||
catch
|
||||
cd(w)
|
||||
end
|
||||
end
|
||||
[openExpfile,scansDir] = uigetfile('.mat','Open Experiment folder and data storage .mat file name','MultiSelect','off')
|
||||
|
||||
|
||||
cd(w)
|
||||
load (fullfile(Exp(1).Dexp(1).ExpFoldr,'MasterPlateFiles','MPDMmat.mat'))
|
||||
for i=1:numExps
|
||||
Exp(i).Dexp.DM=;
|
||||
Exp(i).cTraceIndx(1)=1;
|
||||
end
|
||||
|
||||
|
||||
Exp(1).Dexp(1).DM=DM;
|
||||
Exp(2).Dexp(1).DM=DM;
|
||||
Exp(3).Dexp(1).DM=DM;
|
||||
@@ -224,7 +256,7 @@ try %big outer loop try catch to ln844 end ln868
|
||||
msg='LOADing or Setup issue'
|
||||
%if no load, then Message try SelExp PB to reload or try and different
|
||||
%Experiment
|
||||
end %nested try-catch-end from ->ExpOutmat= fullfile(openExppath,openExpfile);
|
||||
end %nested try-catch-end from ->ExpOutmat= fullfile(scansDir,openExpfile);
|
||||
|
||||
try
|
||||
DNLaxes1= handles.DNLaxes1; DNLaxes2= handles.DNLaxes2; DNLaxes3= handles.DNLaxes3;
|
||||
@@ -847,14 +879,14 @@ try %big outer loop try catch to ln844 end ln868
|
||||
Exp(2).Dexp(1).srtOrfLst=cellstr([{'Failed To Load'}; {' '}]);
|
||||
Exp(3).Dexp(1).srtOrfLst=cellstr([{'Failed To Load'}; {' '}]);
|
||||
|
||||
%[openExpfile,openExppath]
|
||||
%[openExpfile,scansDir]
|
||||
if isempty(strfind(openExpfile,'.mat'))
|
||||
|
||||
cd(openExppath)
|
||||
cd(scansDir)
|
||||
cd ..
|
||||
ExpPath=pwd;
|
||||
cd(w)
|
||||
ExpOutImFile= fullfile(openExppath,openExpfile);
|
||||
ExpOutImFile= fullfile(scansDir,openExpfile);
|
||||
EZvImagesOnly
|
||||
end
|
||||
|
||||
|
||||
@@ -84,13 +84,7 @@ function EZviewGui_OpeningFcn(hObject, eventdata, handles, varargin)
|
||||
%}
|
||||
|
||||
% Load experiment data ....
|
||||
newMLgraph=0;
|
||||
if newMLgraph==0
|
||||
clear Exp
|
||||
Exp=[];
|
||||
EZvInitLoad
|
||||
else
|
||||
end
|
||||
|
||||
% Func Call setup for @myupdatfcn
|
||||
dcm_obj=datacursormode(gcf);
|
||||
|
||||
@@ -606,6 +606,7 @@ easy() {
|
||||
DRUG_MEDIA_FILE="$PROJECT_SCANS_DIR/MasterPlateFiles/DrugMedia_$PROJECT.xls"
|
||||
MASTER_PLATE_FILE="$PROJECT_SCANS_DIR/MasterPlateFiles/MasterPlate_$PROJECT.xls"
|
||||
|
||||
|
||||
# Make EASY dirs
|
||||
debug "mkdir -p $EASY_RESULTS_DIR"
|
||||
mkdir -p "$EASY_RESULTS_DIR"
|
||||
@@ -638,6 +639,10 @@ ezview() {
|
||||
EZVIEW_DIR="$APPS_DIR/matlab/ezview"
|
||||
script="$EZVIEW_DIR/EZviewGui.m"
|
||||
|
||||
# Make EZview dirs
|
||||
debug "mkdir -p $EZVIEW_DIR"
|
||||
|
||||
|
||||
|
||||
|
||||
matlab -nosplash -r "run $script"
|
||||
|
||||
Reference in New Issue
Block a user