EASY rewrite
This commit is contained in:
727
workflow/templates/easy/DgenResults.m
Executable file
727
workflow/templates/easy/DgenResults.m
Executable file
@@ -0,0 +1,727 @@
|
||||
%% CALLED BY EASYconsole.m %%
|
||||
%to 'Fotos' from 'PTmaps'
|
||||
%Console globals*******
|
||||
global ExpPath
|
||||
global resDir
|
||||
global ExpOutmat
|
||||
global ImParMat
|
||||
|
||||
w=pwd;
|
||||
ln=1;
|
||||
|
||||
|
||||
%******Version compatability fixes*******assoc'd with diff and solve v11a='7.12.0.635 (R2011a)';
|
||||
if verLessThan('matlab','8.3') %original work 23_0227 updated 23_0525 (8.4 changed to 8.3)
|
||||
fd4=diff(sym('K / (1 + exp(-r* (t - l )))'),4);
|
||||
sols= solve(fd4);
|
||||
else %accomodate new matlab changes after 2014a fix 2nd update 23_0227
|
||||
syms t K r l;
|
||||
fd4= diff(K / (1 + exp(-r* (t - l ))),t,4);
|
||||
sols= solve(fd4);
|
||||
tmpswap= sols(1);
|
||||
sols(1)= sols(3);
|
||||
sols(3)= tmpswap;
|
||||
end
|
||||
|
||||
%MPnum=ImParMat(1);
|
||||
%opt = questdlg('Print Results Only (RES), DB Only (DB), or Both','Results Printout Options','Res','DB','Both','Both');
|
||||
opt='Res';
|
||||
|
||||
if ~exist('ImParMat','var') || isempty(ImParMat)
|
||||
load ImParameters
|
||||
end
|
||||
destPerMP=ImParMat(2);
|
||||
load (ExpOutmat);
|
||||
load (fullfile(ExpPath,'MasterPlateFiles','MPDMmat.mat'))
|
||||
numOfDrgs= length(DM.drug);
|
||||
numOfMeds= length(DM.media);
|
||||
destPerMP=numOfDrgs;
|
||||
|
||||
%Determine the longest set of intensity(tPts) for the Experiment Data Set
|
||||
maxNumIntens=0;
|
||||
for n=1:size(scan,2)
|
||||
for m=1:size(scan(n).plate,2)
|
||||
maxNumIntens= max(maxNumIntens,size(scan(n).plate(m).intens,2));
|
||||
end
|
||||
end
|
||||
if length(ExpPath)== max(strfind(ExpPath,'\'))
|
||||
localExpPath=ExpPath(1:end-1);
|
||||
else
|
||||
localExpPath=ExpPath;
|
||||
end
|
||||
if ispc %Linux accommodation
|
||||
expNm=localExpPath(max(strfind(localExpPath,'\'))+1:end);
|
||||
else
|
||||
if isunix,expNm=localExpPath(max(strfind(localExpPath,'/'))+1:end);end
|
||||
if ismac,expNm=localExpPath(max(strfind(localExpPath,'/'))+1:end);end
|
||||
end
|
||||
if ispc
|
||||
drivePos=min(strfind(localExpPath,'\'));
|
||||
else
|
||||
drivePos= min(strfind(localExpPath,'/'));
|
||||
end
|
||||
drive= localExpPath(1:(drivePos-1));
|
||||
|
||||
DBupload=fullfile(drive,'EZdbFiles','DBupLOADfiles');
|
||||
%DBupload=['G:\EZdbFiles\DBupLOADfiles']
|
||||
%resultsFilename= strcat(resDir,'\PrintResults\!!Results_Output.txt') %'\PrintResults\zDevelCFitOutIndxSelectedRawDatTimesDrugMedia.txt'
|
||||
%DBfilename= strcat(resDir,'\PrintResults\!!Dbase_Output.txt') % Print !Dbase file in PrintResults dir
|
||||
%resultsFilename= strcat(resDir,'\PrintResults\!!Results_',expNm,'.txt')
|
||||
%DBfilename= strcat(resDir,'\PrintResults\!!Dbase_',expNm,'.txt')
|
||||
|
||||
%Added to allow backward compatability************************************
|
||||
%Test for CFoutStd as indication of 2018version with r_refined fit code;If
|
||||
%earlier version with only a standard composite fite, Print results to
|
||||
%!!ResultsStd_...txt only
|
||||
%***********************
|
||||
try
|
||||
scan(1).plate(1).CFoutStd(1,1);
|
||||
resultsFilename= fullfile(resDir,'PrintResults', strcat('!!ResultsELr_',expNm,'.txt'));
|
||||
DBfilename= fullfile(resDir,'PrintResults', strcat('!!DbaseELr_',expNm,'.txt'));
|
||||
catch
|
||||
resultsFilename= fullfile(resDir,'PrintResults', strcat('!!ResultsStd_',expNm,'.txt'));
|
||||
DBfilename= fullfile(resDir,'PrintResults', strcat('!!DbaseStd_',expNm,'.txt'));
|
||||
end
|
||||
%**************************************************************************
|
||||
|
||||
if isequal(opt,'Res')||isequal(opt,'Both'),fid = fopen(resultsFilename,'w');end
|
||||
if isequal(opt,'DB')||isequal(opt,'Both'),fid2 = fopen(DBfilename,'w');end %121012 Combo
|
||||
|
||||
if isequal(opt,'Res')||isequal(opt,'Both') %print Results
|
||||
fprintf(fid,'%d\t',ln); %Results header
|
||||
fprintf(fid,'%s\t\n',localExpPath);
|
||||
ln=ln+1;
|
||||
fprintf(fid,'%d\t',ln);
|
||||
end
|
||||
|
||||
mpCnt=0;
|
||||
totPlCnt=0;
|
||||
drgCnt=0;
|
||||
medCnt=0;
|
||||
%load(fullfile(resDir,'PTmats','Nbdg')) %Convolute scan array data into plates
|
||||
try
|
||||
load(fullfile(resDir,'Fotos','Nbdg')) %Convolute scan array data into plates
|
||||
catch
|
||||
load(fullfile(resDir,'PTmats','Nbdg')) %Convolute scan array data into plates
|
||||
end
|
||||
for s=1:size(scan,2)
|
||||
%Convolute scan array data into plates DconB for DBcombo
|
||||
clear Diag
|
||||
try
|
||||
Diag(:,:,:,1)= sbdg{s}(1:1:24,16:-1:1,:);
|
||||
catch
|
||||
sbdg{s};
|
||||
end
|
||||
%*****************************************************
|
||||
for p=1:size((scan(s).plate),2)
|
||||
totPlCnt=totPlCnt+1;
|
||||
|
||||
if destPerMP>1 &&rem(totPlCnt,destPerMP)==1, mpCnt=mpCnt+1; end
|
||||
if destPerMP==1,mpCnt=mpCnt+1; end
|
||||
pertCnt= rem(totPlCnt,destPerMP);
|
||||
if pertCnt==0, pertCnt= destPerMP;end
|
||||
pert= strcat('Perturb_',num2str(pertCnt));
|
||||
s
|
||||
p
|
||||
clear outCmat
|
||||
outCmat=scan(s).plate(p).CFout;
|
||||
%Print Time Point HEADER for each plate for newly added intensity data
|
||||
if isequal(opt,'Res')||isequal(opt,'Both')
|
||||
fprintf(fid, '\n');
|
||||
ln=ln+1;
|
||||
fprintf(fid,'%d\t',ln);
|
||||
fprintf(fid,'Scan\tPlate\tRow\tCol\t');
|
||||
try
|
||||
asd=cell2mat(scan(s).plate(1).CFparameters(1));
|
||||
aucEndPt= strcat('AUC',num2str(asd(9)));
|
||||
catch
|
||||
asd=cell2mat(scan(s).plate(1).CFparameters{1,1}(1,384));
|
||||
aucEndPt= strcat('AUC',num2str(asd(9)));
|
||||
end
|
||||
|
||||
fprintf(fid, 'Num.\tDiagnostics\tDrug\tConc\tMedia\tModifier1\tConc1\tModifier2\tConc2\tORF\tGene');
|
||||
fprintf(fid, '\t %s',aucEndPt);
|
||||
fprintf(fid, '\triseTm\tK\tr\tl\tR-squared\tK-lower\tK-upper\tr-lower\tr-upper\tl-lower\tl-upper\tArea\tLastInten\tSplineMaxRateTm\tLastFitTm\t1stFitTm\tMedianBase\tFitBase\tMinTm\tThreshTm');
|
||||
|
||||
if size(outCmat,2)==27
|
||||
fprintf(fid, '\ttc11Cut\ttc12Cut\ttc21Cut\ttc22Cut'); %'\tEarly1\tEarly2\tLate1\tLate2'); 17_0629 MinBaseIntens update for MedianBase label
|
||||
end
|
||||
fprintf(fid, '\tTotFitPts\tPostThreshFitPts\t1stBackgrd\tLstBackgrd\t1stMeanTotBackgrd\tLstMeanTotBackgrd');
|
||||
|
||||
|
||||
end
|
||||
clear outTseries
|
||||
outTseries=[];
|
||||
outTseries=scan(s).plate(p).tSeries;
|
||||
TseriesSize= size(outTseries,1);
|
||||
|
||||
%***************************************************************
|
||||
%clear outCmat
|
||||
%outCmat=scan(s).plate(p).CFout;
|
||||
clear outIntens
|
||||
outIntens=[];
|
||||
RawIntens=[];
|
||||
RawIntens=scan(s).plate(p).intens;
|
||||
RawIntensSize= size(RawIntens,2)
|
||||
|
||||
clear Ag; %Ag is Growth Area
|
||||
Ag=scan(s).plate(p).Ag;
|
||||
AgSize= size(Ag);
|
||||
%***************************************
|
||||
dataLength= min(TseriesSize,RawIntensSize);
|
||||
%for j=1:length(outTseries)%(size(outTseries,2)
|
||||
if isequal(opt,'Res')||isequal(opt,'Both')
|
||||
for j=1:dataLength
|
||||
fprintf(fid, '\t%.5f', outTseries(j));
|
||||
end
|
||||
end
|
||||
%numBlkColTm=(maxNumIntens - size(outTseries,1));
|
||||
numBlkCol=(maxNumIntens - dataLength); %size(outTseries,1));
|
||||
%for nn=1:numBlkColTm %extend to col beyond longest rawDataSet
|
||||
if isequal(opt,'Res')||isequal(opt,'Both')
|
||||
for nn=1:numBlkCol %extend to col beyond longest rawDataSet
|
||||
fprintf(fid, '\t');
|
||||
end
|
||||
|
||||
fprintf(fid,'\tOrfRep');
|
||||
fprintf(fid,'\tSpecifics');
|
||||
fprintf(fid,'\tStrainBkGrd');
|
||||
fprintf(fid, '\n');
|
||||
ln=ln+1;
|
||||
fprintf(fid,'%d\t',ln);
|
||||
end
|
||||
%*****************************************Begin Data Section
|
||||
|
||||
n=0;
|
||||
for r=1:16
|
||||
|
||||
for c=1:24
|
||||
n=n+1;
|
||||
clear selcode;
|
||||
Kval=outCmat(n,3);
|
||||
rSq=outCmat(n,6);
|
||||
lval=outCmat(n,5);
|
||||
if Kval>160, selcode='K_Hi'; else selcode=' ';end
|
||||
if Kval<40, selcode=strcat(selcode,' K_Lo'); end %12_1030
|
||||
if rSq<.97 && rSq>0, selcode=strcat(selcode,' rSqLo'); end
|
||||
if lval>(0.85*(max(outTseries))), selcode=strcat(selcode,' late');end
|
||||
if isnan(outCmat(n,7))||isnan(outCmat(n,8))||isnan(outCmat(n,9))...
|
||||
||isnan(outCmat(n,10))||isnan(outCmat(n,11))...
|
||||
||isnan(outCmat(n,12)), selcode=strcat(selcode,' NaN');
|
||||
end
|
||||
|
||||
%*************RiseTime Calculation*****************************************
|
||||
K= (outCmat(n,3));
|
||||
R= (outCmat(n,4));
|
||||
L= (outCmat(n,5));
|
||||
|
||||
if R>0 && L>0 && K>0
|
||||
rr=R; ll=L;
|
||||
tc1= eval(sols(2));
|
||||
tc2= eval(sols(3));
|
||||
LL= eval(sols(1));
|
||||
riseTm= LL-tc1;
|
||||
else
|
||||
riseTm=0;
|
||||
end
|
||||
%*************************************************************************
|
||||
|
||||
if Ag(n)< .30*(scan(s).Awindow),selcode=strcat(selcode,' smArea'); end %12_1030
|
||||
if outCmat(n,3)==0,selcode=strcat('0 ',selcode); end
|
||||
|
||||
orf=cell2mat(MP(mpCnt).orf{1}(n));
|
||||
gene=cell2mat(MP(mpCnt).genename{1}(n));
|
||||
orfRep=cell2mat(MP(mpCnt).orfRep{1}(n));
|
||||
specifics=cell2mat(MP(mpCnt).specifics{1}(n));
|
||||
strain=cell2mat(MP(mpCnt).strain{1}(n));
|
||||
drug= char(DM.drug{pertCnt});
|
||||
conc= char(DM.conc{pertCnt});
|
||||
media= char(DM.media{pertCnt});
|
||||
try
|
||||
mod1= char(DM.mod1{pertCnt});
|
||||
conc1= char(DM.conc1{pertCnt});
|
||||
catch
|
||||
mod1= ' ';
|
||||
conc1= ' ';
|
||||
end
|
||||
try
|
||||
mod2= char(DM.mod2{pertCnt});
|
||||
conc2= char(DM.conc2{pertCnt});
|
||||
catch
|
||||
mod2= ' ';
|
||||
conc2= ' ';
|
||||
end
|
||||
|
||||
if ~isempty(outCmat)
|
||||
if isequal(opt,'Res')||isequal(opt,'Both')
|
||||
fprintf(fid,'%d\t %d\t %d\t %d\t %d\t %s\t %s\t %s\t %s\t %s\t %s\t %s\t %s\t %s\t %s\t',s,p,r,c,n,selcode,drug,conc,media,mod1,conc1,mod2,conc2,orf,gene);
|
||||
fprintf(fid, '%.5f\t %.5f\t %.5f\t %.5f\t %.5f\t %.5f\t%.5f\t%.5f\t%.5f\t%.5f\t%.5f\t%.5f\t%.5f\t%.5f\t%.5f\t%.5f',...
|
||||
outCmat(n,1),riseTm,outCmat(n,3),outCmat(n,4),...
|
||||
outCmat(n,5),outCmat(n,6),outCmat(n,7),outCmat(n,8),...
|
||||
outCmat(n,9),outCmat(n,10),outCmat(n,11),outCmat(n,12),...
|
||||
outCmat(n,13),outCmat(n,14),outCmat(n,15),outCmat(n,16));
|
||||
|
||||
fprintf(fid, '\t%.5f\t%.5f\t%.5f\t%.5f\t%.5f',...
|
||||
outCmat(n,17),outCmat(n,18),outCmat(n,19),...
|
||||
outCmat(n,20),outCmat(n,21));
|
||||
%failPt= [s n r c]
|
||||
|
||||
%Added for data cut times used in 'r'optomized method 06/14/2018
|
||||
if size(outCmat,2)==27
|
||||
fprintf(fid, '\t%.5f\t%.5f\t%.5f\t%.5f',...
|
||||
outCmat(n,24),outCmat(n,25),outCmat(n,26),outCmat(n,27));
|
||||
end
|
||||
fprintf(fid, '\t%d\t%d\t%d\t%d\t%d\t%d',...
|
||||
outCmat(n,22),outCmat(n,23),Diag(c,r,1,p),Diag(c,r,2,p),Diag(c,r,3,p),Diag(c,r,4,p)); %,Diag(r,c,3,p),Diag(r,c,4,p));
|
||||
end %Results print
|
||||
%DBfile*******************************************
|
||||
%riseTm calc*****
|
||||
if isequal(opt,'DB')||isequal(opt,'Both')
|
||||
dbRsq= 0;dbKup= 0; dbKlo= 0; dbrup= 0; dbrlo= 0; dbLlo= 0; dbLup= 0;
|
||||
if isnumeric(outCmat(n,6)), dbRsq= outCmat(n,6);end
|
||||
if isnumeric(outCmat(n,7)), dbKup= outCmat(n,7);end
|
||||
if isnumeric(outCmat(n,8)), dbKlo= outCmat(n,8);end
|
||||
if isnumeric(outCmat(n,9)), dbrup= outCmat(n,9);end
|
||||
if isnumeric(outCmat(n,10)), dbrlo= outCmat(n,10);end
|
||||
if isnumeric(outCmat(n,11)), dbLlo= outCmat(n,11);end
|
||||
if isnumeric(outCmat(n,12)), dbLup= outCmat(n,12);end
|
||||
end
|
||||
|
||||
%****************
|
||||
if isequal(opt,'DB')||isequal(opt,'Both')
|
||||
fprintf(fid2,'%s\t %d\t %d\t %d\t %d\t %d\t %s\t %s\t %s\t %s\t %s\t %s\t %s\t %s\t %s\t %s\t',expNm,s,p,r,c,n,selcode,drug,conc,media,mod1,conc1,mod2,conc2,orf,gene);
|
||||
fprintf(fid2, '%.5f\t %.5f\t %.5f\t %.5f\t %.5f\t %.5f\t%.5f\t%.5f\t%.5f\t%.5f\t%.5f\t%.5f',...
|
||||
outCmat(n,1),riseTm,outCmat(n,3),outCmat(n,4),...
|
||||
outCmat(n,5),dbRsq,dbKup,dbKlo,...
|
||||
dbrup,dbrlo,dbLlo,dbLup); %\t%.5f\t%.5f\t%.5f\t%.5f
|
||||
%... outCmat(n,13),outCmat(n,14),outCmat(n,15),outCmat(n,16));
|
||||
|
||||
end
|
||||
%*****DB analysis data end************************************************
|
||||
%Add Intensities series to end of curve fit data
|
||||
outIntens=[];
|
||||
outIntens=zeros(384,dataLength);
|
||||
intensBlob='';
|
||||
tmBlob ='';
|
||||
|
||||
for j=1:dataLength %size(RawIntens,2) %size(outTseries,1)
|
||||
if Ag(n)==0,Ag(n)=scan(s).Awindow;end
|
||||
outIntens(n,j)= RawIntens(n,j)/Ag(n);
|
||||
if isequal(opt,'Res')||isequal(opt,'Both')
|
||||
fprintf(fid, '\t%.5f', outIntens(n,j)); % Results print Intens
|
||||
end
|
||||
if isequal(opt,'DB')||isequal(opt,'Both')
|
||||
if j<dataLength
|
||||
intensBlob= strcat(intensBlob,num2str(outIntens(n,j)),';');
|
||||
else
|
||||
intensBlob= strcat(intensBlob,num2str(outIntens(n,j)));
|
||||
end
|
||||
if outTseries(j)<.0001,outTseries(j)=0;end
|
||||
if j<dataLength
|
||||
tmBlob= strcat(tmBlob,num2str(outTseries(j)),';');
|
||||
else
|
||||
tmBlob= strcat(tmBlob,num2str(outTseries(j)));
|
||||
end
|
||||
end %if DB
|
||||
end %j
|
||||
%***************************
|
||||
|
||||
|
||||
% Results fprint***********
|
||||
if isequal(opt,'Res')||isequal(opt,'Both')
|
||||
for nn=1:numBlkCol %extend to col beyond longest rawDataSet
|
||||
fprintf(fid, '\t');
|
||||
end
|
||||
%-----------------------------------------------
|
||||
% UPDATE 14_0626 to writein ' ' if personnel fail to in their
|
||||
% Masterplate sheet
|
||||
if ~isnan(orfRep)
|
||||
fprintf(fid, '\t%s', orfRep); %print OrfRep
|
||||
else
|
||||
fprintf(fid, '\t%s', ' ');
|
||||
end
|
||||
if ~isnan(specifics)
|
||||
fprintf(fid, '\t%s', specifics);
|
||||
else
|
||||
fprintf(fid, '\t%s', ' ');
|
||||
end
|
||||
if ~isnan(strain)
|
||||
fprintf(fid, '\t%s', strain);
|
||||
else
|
||||
fprintf(fid, '\t%s', ' ');
|
||||
end
|
||||
%-----------------------------------------------
|
||||
%****************************
|
||||
fprintf(fid, '\n');
|
||||
ln=ln+1;
|
||||
fprintf(fid,'%d\t',ln);
|
||||
end
|
||||
%****************************
|
||||
%DB Raw Intensities and Timepoints
|
||||
if isequal(opt,'DB')||isequal(opt,'Both')
|
||||
fprintf(fid2, '\t%s\t%s',intensBlob,tmBlob );
|
||||
|
||||
%-------------------------------
|
||||
% UPDATE 14_0626 to writein ' ' if personnel fail to in their
|
||||
% Masterplate sheet
|
||||
if ~isnan(orfRep)
|
||||
fprintf(fid2, '\t%s',orfRep );
|
||||
else
|
||||
fprintf(fid2, '\t%s', ' ');
|
||||
end
|
||||
if ~isnan(specifics)
|
||||
fprintf(fid2, '\t%s',specifics );
|
||||
else
|
||||
fprintf(fid2, '\t%s', ' ');
|
||||
end
|
||||
if ~isnan(strain)
|
||||
fprintf(fid2, '\t%s',strain );
|
||||
else
|
||||
fprintf(fid2, '\t%s', ' ');
|
||||
end
|
||||
%---------------------------------
|
||||
fprintf(fid2, '\n');
|
||||
end %DB print
|
||||
end %if ~isempty(outCmat)
|
||||
|
||||
end %c
|
||||
end %r
|
||||
end %p
|
||||
end %s
|
||||
|
||||
if isequal(opt,'Res')||isequal(opt,'Both')
|
||||
fclose(fid);
|
||||
end
|
||||
if isequal(opt,'DB')||isequal(opt,'Both')
|
||||
fclose(fid2);
|
||||
|
||||
try
|
||||
copyfile(DBfilename,DBupload)
|
||||
catch ME
|
||||
rep = getReport(ME, 'basic');
|
||||
rep=strcat('Failed copyfile to ',DBupload,' -', rep);
|
||||
errordlg(rep)
|
||||
end
|
||||
end %if DB
|
||||
ln;
|
||||
cd(w)
|
||||
|
||||
|
||||
%***********************************************************************
|
||||
%BEGIN PRINT RESULTS ROUTINE FOR STANDARD METHOD
|
||||
%***********************************************************************
|
||||
try
|
||||
scan(1).plate(1).CFoutStd(1,1) %Test for 2018 r_refined version
|
||||
|
||||
ln=1;
|
||||
resultsFilename= fullfile(resDir,'PrintResults', strcat('!!ResultsStd_',expNm,'.txt'));
|
||||
DBfilename= fullfile(resDir,'PrintResults', strcat('!!DbaseStd_',expNm,'.txt'));
|
||||
if isequal(opt,'Res')||isequal(opt,'Both'),fid = fopen(resultsFilename,'w');end
|
||||
if isequal(opt,'DB')||isequal(opt,'Both'),fid2 = fopen(DBfilename,'w');end %121012 Combo
|
||||
|
||||
if isequal(opt,'Res')||isequal(opt,'Both') %print Results
|
||||
fprintf(fid,'%d\t',ln); %Results header
|
||||
fprintf(fid,'%s\t\n',localExpPath);
|
||||
ln=ln+1;
|
||||
fprintf(fid,'%d\t',ln);
|
||||
end
|
||||
|
||||
mpCnt=0;
|
||||
totPlCnt=0;
|
||||
drgCnt=0;
|
||||
medCnt=0;
|
||||
|
||||
for s=1:size(scan,2)
|
||||
%Convolute scan array data into plates DconB for DBcombo
|
||||
clear Diag
|
||||
try
|
||||
Diag(:,:,:,1)= sbdg{s}(1:1:24,16:-1:1,:);
|
||||
catch
|
||||
sbdg{s};
|
||||
end
|
||||
%*****************************************************
|
||||
for p=1:size((scan(s).plate),2)
|
||||
totPlCnt=totPlCnt+1;
|
||||
|
||||
if destPerMP>1 &&rem(totPlCnt,destPerMP)==1, mpCnt=mpCnt+1; end
|
||||
if destPerMP==1,mpCnt=mpCnt+1; end
|
||||
pertCnt= rem(totPlCnt,destPerMP);
|
||||
if pertCnt==0, pertCnt= destPerMP;end
|
||||
pert= strcat('Perturb_',num2str(pertCnt));
|
||||
s
|
||||
|
||||
%Print Time Point HEADER for each plate for newly added intensity data
|
||||
if isequal(opt,'Res')||isequal(opt,'Both')
|
||||
fprintf(fid, '\n');
|
||||
ln=ln+1;
|
||||
fprintf(fid,'%d\t',ln);
|
||||
fprintf(fid,'Scan\tPlate\tRow\tCol\t');
|
||||
|
||||
try
|
||||
asd=cell2mat(scan(s).plate(1).CFparameters(1));
|
||||
aucEndPt= strcat('AUC',num2str(asd(9)));
|
||||
catch
|
||||
asd=cell2mat(scan(s).plate(1).CFparameters{1,1}(1,384));
|
||||
aucEndPt= strcat('AUC',num2str(asd(9)));
|
||||
end
|
||||
fprintf(fid, 'Num.\tDiagnostics\tDrug\tConc\tMedia\tModifier1\tConc1\tModifier2\tConc2\tORF\tGene')
|
||||
fprintf(fid, '\t %s',aucEndPt)
|
||||
fprintf(fid, '\triseTm\tK\tr\tl\tR-squared\tK-lower\tK-upper\tr-lower\tr-upper\tl-lower\tl-upper\tArea\tLastInten\tSplineMaxRateTm\tLastFitTm\t1stFitTm\tMedianBase\tFitBase\tMinTm\tThreshTm\tTotFitPts\tPostThreshFitPts\t1stBackgrd\tLstBackgrd\t1stMeanTotBackgrd\tLstMeanTotBackgrd'); %17_0629 MinBaseIntens update for MedianBase label
|
||||
end
|
||||
clear outTseries
|
||||
outTseries=[];
|
||||
outTseries=scan(s).plate(p).tSeries;
|
||||
TseriesSize= size(outTseries,1);
|
||||
|
||||
%***************************************************************
|
||||
clear outCmat
|
||||
outCmat=scan(s).plate(p).CFoutStd;
|
||||
clear outIntens
|
||||
outIntens=[];
|
||||
RawIntens=[];
|
||||
RawIntens=scan(s).plate(p).intens;
|
||||
RawIntensSize= size(RawIntens,2)
|
||||
clear Ag; %Ag is Growth Area
|
||||
Ag=scan(s).plate(p).Ag;
|
||||
AgSize= size(Ag);
|
||||
%***************************************
|
||||
dataLength= min(TseriesSize,RawIntensSize);
|
||||
if isequal(opt,'Res')||isequal(opt,'Both')
|
||||
for j=1:dataLength
|
||||
fprintf(fid, '\t%.5f', outTseries(j));
|
||||
end
|
||||
end
|
||||
|
||||
numBlkCol=(maxNumIntens - dataLength); %size(outTseries,1));
|
||||
|
||||
if isequal(opt,'Res')||isequal(opt,'Both')
|
||||
for nn=1:numBlkCol %extend to col beyond longest rawDataSet
|
||||
fprintf(fid, '\t');
|
||||
end
|
||||
|
||||
fprintf(fid,'\tOrfRep');
|
||||
fprintf(fid,'\tSpecifics');
|
||||
fprintf(fid,'\tStrainBkGrd');
|
||||
fprintf(fid, '\n');
|
||||
ln=ln+1;
|
||||
fprintf(fid,'%d\t',ln);
|
||||
end
|
||||
%*****************************************Begin Data Section
|
||||
|
||||
n=0;
|
||||
for r=1:16
|
||||
|
||||
for c=1:24
|
||||
n=n+1;
|
||||
clear selcode;
|
||||
Kval=outCmat(n,3);
|
||||
rSq=outCmat(n,6);
|
||||
lval=outCmat(n,5);
|
||||
if Kval>160, selcode='K_Hi'; else selcode=' ';end
|
||||
if Kval<40, selcode=strcat(selcode,' K_Lo'); end %12_1030
|
||||
if rSq<.97 && rSq>0, selcode=strcat(selcode,' rSqLo'); end
|
||||
if lval>(0.85*(max(outTseries))), selcode=strcat(selcode,' late');end
|
||||
if isnan(outCmat(n,7))||isnan(outCmat(n,8))||isnan(outCmat(n,9))...
|
||||
||isnan(outCmat(n,10))||isnan(outCmat(n,11))...
|
||||
||isnan(outCmat(n,12)), selcode=strcat(selcode,' NaN');
|
||||
end
|
||||
|
||||
%*************RiseTime Calculation*****************************************
|
||||
K= (outCmat(n,3));
|
||||
R= (outCmat(n,4));
|
||||
L= (outCmat(n,5));
|
||||
if R>0 && L>0 && K>0
|
||||
rr=R; ll=L;
|
||||
tc1= eval(sols(2));
|
||||
tc2= eval(sols(3));
|
||||
LL= eval(sols(1));
|
||||
riseTm= LL-tc1;
|
||||
else
|
||||
riseTm=0;
|
||||
end
|
||||
|
||||
%*************************************************************************
|
||||
|
||||
if Ag(n)< .30*(scan(s).Awindow),selcode=strcat(selcode,' smArea'); end %12_1030
|
||||
if outCmat(n,3)==0,selcode=strcat('0 ',selcode); end
|
||||
|
||||
orf=cell2mat(MP(mpCnt).orf{1}(n));
|
||||
gene=cell2mat(MP(mpCnt).genename{1}(n));
|
||||
orfRep=cell2mat(MP(mpCnt).orfRep{1}(n));
|
||||
specifics=cell2mat(MP(mpCnt).specifics{1}(n));
|
||||
strain=cell2mat(MP(mpCnt).strain{1}(n));
|
||||
drug= char(DM.drug{pertCnt});
|
||||
conc= char(DM.conc{pertCnt});
|
||||
media= char(DM.media{pertCnt});
|
||||
try
|
||||
mod1= char(DM.mod1{pertCnt});
|
||||
conc1= char(DM.conc1{pertCnt});
|
||||
catch
|
||||
mod1= ' ';
|
||||
conc1= ' ';
|
||||
end
|
||||
try
|
||||
mod2= char(DM.mod2{pertCnt});
|
||||
conc2= char(DM.conc2{pertCnt});
|
||||
catch
|
||||
mod2= ' ';
|
||||
conc2= ' ';
|
||||
end
|
||||
|
||||
if ~isempty(outCmat)
|
||||
if isequal(opt,'Res')||isequal(opt,'Both')
|
||||
fprintf(fid,'%d\t %d\t %d\t %d\t %d\t %s\t %s\t %s\t %s\t %s\t %s\t %s\t %s\t %s\t %s\t',s,p,r,c,n,selcode,drug,conc,media,mod1,conc1,mod2,conc2,orf,gene);
|
||||
fprintf(fid, '%.5f\t %.5f\t %.5f\t %.5f\t %.5f\t %.5f\t%.5f\t%.5f\t%.5f\t%.5f\t%.5f\t%.5f\t%.5f\t%.5f\t%.5f\t%.5f',...
|
||||
outCmat(n,1),riseTm,outCmat(n,3),outCmat(n,4),...
|
||||
outCmat(n,5),outCmat(n,6),outCmat(n,7),outCmat(n,8),...
|
||||
outCmat(n,9),outCmat(n,10),outCmat(n,11),outCmat(n,12),...
|
||||
outCmat(n,13),outCmat(n,14),outCmat(n,15),outCmat(n,16));
|
||||
|
||||
fprintf(fid, '\t%.5f\t%.5f\t%.5f\t%.5f\t%.5f\t%d\t%d',...
|
||||
outCmat(n,17),outCmat(n,18),outCmat(n,19),...
|
||||
outCmat(n,20),outCmat(n,21),outCmat(n,22),outCmat(n,23));
|
||||
|
||||
fprintf(fid, '\t%d\t%d\t%d\t%d',...
|
||||
Diag(c,r,1,p),Diag(c,r,2,p),Diag(c,r,3,p),Diag(c,r,4,p)); %,Diag(r,c,3,p),Diag(r,c,4,p));
|
||||
end %Results print
|
||||
%DBfile*******************************************
|
||||
%riseTm calc*****
|
||||
if isequal(opt,'DB')||isequal(opt,'Both')
|
||||
dbRsq= 0;dbKup= 0; dbKlo= 0; dbrup= 0; dbrlo= 0; dbLlo= 0; dbLup= 0;
|
||||
if isnumeric(outCmat(n,6)), dbRsq= outCmat(n,6);end
|
||||
if isnumeric(outCmat(n,7)), dbKup= outCmat(n,7);end
|
||||
if isnumeric(outCmat(n,8)), dbKlo= outCmat(n,8);end
|
||||
if isnumeric(outCmat(n,9)), dbrup= outCmat(n,9);end
|
||||
if isnumeric(outCmat(n,10)), dbrlo= outCmat(n,10);end
|
||||
if isnumeric(outCmat(n,11)), dbLlo= outCmat(n,11);end
|
||||
if isnumeric(outCmat(n,12)), dbLup= outCmat(n,12);end
|
||||
end
|
||||
|
||||
%****************
|
||||
if isequal(opt,'DB')||isequal(opt,'Both')
|
||||
fprintf(fid2,'%s\t %d\t %d\t %d\t %d\t %d\t %s\t %s\t %s\t %s\t %s\t %s\t %s\t %s\t %s\t %s\t',expNm,s,p,r,c,n,selcode,drug,conc,media,mod1,conc1,mod2,conc2,orf,gene);
|
||||
fprintf(fid2, '%.5f\t %.5f\t %.5f\t %.5f\t %.5f\t %.5f\t%.5f\t%.5f\t%.5f\t%.5f\t%.5f\t%.5f',...
|
||||
outCmat(n,1),riseTm,outCmat(n,3),outCmat(n,4),...
|
||||
outCmat(n,5),dbRsq,dbKup,dbKlo,...
|
||||
dbrup,dbrlo,dbLlo,dbLup); %\t%.5f\t%.5f\t%.5f\t%.5f
|
||||
%... outCmat(n,13),outCmat(n,14),outCmat(n,15),outCmat(n,16));
|
||||
|
||||
end
|
||||
%*****DB analysis data end************************************************
|
||||
%Add Intensities series to end of curve fit data
|
||||
outIntens=[];
|
||||
outIntens=zeros(384,dataLength);
|
||||
intensBlob='';
|
||||
tmBlob ='';
|
||||
|
||||
for j=1:dataLength %size(RawIntens,2) %size(outTseries,1)
|
||||
if Ag(n)==0,Ag(n)=scan(s).Awindow;end
|
||||
outIntens(n,j)= RawIntens(n,j)/Ag(n);
|
||||
if isequal(opt,'Res')||isequal(opt,'Both')
|
||||
fprintf(fid, '\t%.5f', outIntens(n,j)); % Results print Intens
|
||||
end
|
||||
if isequal(opt,'DB')||isequal(opt,'Both')
|
||||
if j<dataLength
|
||||
intensBlob= strcat(intensBlob,num2str(outIntens(n,j)),';');
|
||||
else
|
||||
intensBlob= strcat(intensBlob,num2str(outIntens(n,j)));
|
||||
end
|
||||
if outTseries(j)<.0001,outTseries(j)=0;end
|
||||
if j<dataLength
|
||||
tmBlob= strcat(tmBlob,num2str(outTseries(j)),';');
|
||||
else
|
||||
tmBlob= strcat(tmBlob,num2str(outTseries(j)));
|
||||
end
|
||||
end %if DB
|
||||
end %j
|
||||
%***************************
|
||||
|
||||
|
||||
% Results fprint***********
|
||||
if isequal(opt,'Res')||isequal(opt,'Both')
|
||||
for nn=1:numBlkCol %extend to col beyond longest rawDataSet
|
||||
fprintf(fid, '\t');
|
||||
end
|
||||
|
||||
%-----------------------------------------------
|
||||
% UPDATE 14_0626 to writein ' ' if personnel fail to in their
|
||||
% Masterplate sheet
|
||||
if ~isnan(orfRep)
|
||||
fprintf(fid, '\t%s', orfRep); %print OrfRep
|
||||
else
|
||||
fprintf(fid, '\t%s', ' ');
|
||||
end
|
||||
if ~isnan(specifics)
|
||||
fprintf(fid, '\t%s', specifics);
|
||||
else
|
||||
fprintf(fid, '\t%s', ' ');
|
||||
end
|
||||
if ~isnan(strain)
|
||||
fprintf(fid, '\t%s', strain);
|
||||
else
|
||||
fprintf(fid, '\t%s', ' ');
|
||||
end
|
||||
%-----------------------------------------------
|
||||
%****************************
|
||||
fprintf(fid, '\n');
|
||||
ln=ln+1;
|
||||
fprintf(fid,'%d\t',ln);
|
||||
end
|
||||
%****************************
|
||||
%DB Raw Intensities and Timepoints
|
||||
if isequal(opt,'DB')||isequal(opt,'Both')
|
||||
fprintf(fid2, '\t%s\t%s',intensBlob,tmBlob );
|
||||
|
||||
%-------------------------------
|
||||
% UPDATE 14_0626 to writein ' ' if personnel fail to in their
|
||||
% Masterplate sheet
|
||||
if ~isnan(orfRep)
|
||||
fprintf(fid2, '\t%s',orfRep );
|
||||
else
|
||||
fprintf(fid2, '\t%s', ' ');
|
||||
end
|
||||
if ~isnan(specifics)
|
||||
fprintf(fid2, '\t%s',specifics );
|
||||
else
|
||||
fprintf(fid2, '\t%s', ' ');
|
||||
end
|
||||
if ~isnan(strain)
|
||||
fprintf(fid2, '\t%s',strain );
|
||||
else
|
||||
fprintf(fid2, '\t%s', ' ');
|
||||
end
|
||||
%---------------------------------
|
||||
fprintf(fid2, '\n');
|
||||
end %DB print
|
||||
end %if ~isempty(outCmat)
|
||||
|
||||
|
||||
end %c
|
||||
end %r
|
||||
end %p
|
||||
end %s
|
||||
|
||||
if isequal(opt,'Res')||isequal(opt,'Both')
|
||||
fclose(fid);
|
||||
end
|
||||
if isequal(opt,'DB')||isequal(opt,'Both')
|
||||
fclose(fid2);
|
||||
|
||||
try
|
||||
copyfile(DBfilename,DBupload)
|
||||
catch ME
|
||||
rep = getReport(ME, 'basic');
|
||||
rep=strcat('Failed copyfile to ',DBupload,' -', rep);
|
||||
errordlg(rep)
|
||||
end
|
||||
end %if DB
|
||||
ln;
|
||||
|
||||
catch
|
||||
errorNstdResults='Catch at line720 for printing ResultsStd'
|
||||
end %try scan(1).plate(1).CFoutStd(1,1) to test for 2018 r_refined version
|
||||
|
||||
cd(w)
|
||||
|
||||
scriptComplete= "line724 "
|
||||
msgbox(['Printing Script complete. Check !!Results sheets in ../PrintResults folder.'])
|
||||
Reference in New Issue
Block a user