213 Zeilen
7.1 KiB
Matlab
Ausführbare Datei
213 Zeilen
7.1 KiB
Matlab
Ausführbare Datei
%% CALLED BY EASYconsole.m %%
|
|
w=pwd
|
|
numOfMPs=0;
|
|
%GUI input for selecting a MasterPlate Excel file
|
|
questdlg('\fontsize{20} Select Master Plate File','File Selection','OK', struct('Default','OK','Interpreter','tex'))
|
|
[Scanfiles, pathname]=uigetfile('*.*','MultiSelect','off');
|
|
if ispc
|
|
MPdir= fullfile(pathname,'\');
|
|
else
|
|
MPdir=fullfile(pathname,'/');
|
|
end
|
|
|
|
infile= Scanfiles(1,:);
|
|
|
|
cd(MPdir)
|
|
|
|
%fid=fopen(infile)%('exp23PrintTimes.xls'); % textread puts date and time sequentially into vector
|
|
|
|
if ispc
|
|
[num, txt, raw] = xlsread(infile); %,'Yor1HitsMPsetFinal');
|
|
fields= {txt(2,1:15)}; %or 1:17 for later but dont wish to exceed and cause error ? if used
|
|
else
|
|
clear MPtbl
|
|
opts = detectImportOptions(infile);
|
|
MPtbl = readtable(infile,opts);
|
|
MPtbl= readtable(infile);
|
|
fields= {opts.VariableNames}; %? if used anywhere although 'saved' to MPDMmat
|
|
MPcell= readcell(infile);
|
|
end
|
|
|
|
cd(w)
|
|
numb=0;
|
|
clear MP;
|
|
try
|
|
if ispc
|
|
excLnNum=3;
|
|
while (isequal(txt{excLnNum,1},'###'))
|
|
numb=numb+1;
|
|
MP(numb).head = {raw(excLnNum,2:6)};
|
|
MP(numb).recNum = {raw((excLnNum+1):(excLnNum+384),1)};
|
|
MP(numb).orf = {raw((excLnNum+1):(excLnNum+384),2)};
|
|
MP(numb).strain = {raw((excLnNum+1):(excLnNum+384),3)};
|
|
MP(numb).genename= {raw((excLnNum+1):(excLnNum+384),12)};
|
|
MP(numb).drug= {raw((excLnNum+1):(excLnNum+384),8)};
|
|
MP(numb).media= {raw((excLnNum+1):(excLnNum+384),7)};
|
|
if size(raw,2)>15
|
|
MP(numb).orfRep= {raw((excLnNum+1):(excLnNum+384),16)}; %added 12_1005 to specify replicates Orfs in MP
|
|
MP(numb).specifics= {raw((excLnNum+1):(excLnNum+384),17)}; %added 12_1008 to specify replicates Specific details in MP
|
|
else
|
|
MP(numb).orfRep= ' ';
|
|
MP(numb).specifics= ' ';
|
|
end
|
|
|
|
% Future MP field
|
|
% if size(raw,2)>17
|
|
% MP(numb).specifics2= {raw((excLnNum+1):(excLnNum+384),18)}; %added 12_1008 to specify strain Bkground in MP
|
|
% else
|
|
% MP(numb).specifics2=' ';
|
|
% end
|
|
|
|
excLnNum=excLnNum+385;
|
|
|
|
msg=strcat('NumberOfMP = ',num2str(numb), ' lastLineNo. = ',num2str(excLnNum));
|
|
|
|
end
|
|
else
|
|
excLnNum=1;
|
|
while (isequal(MPcell{(excLnNum+2),1},'###'))
|
|
numb=numb+1;
|
|
MP(numb).head={MPtbl(excLnNum,2:6)};
|
|
MP(numb).head{1}=table2cell(MP(numb).head{1});
|
|
MP(numb).recNum={MPtbl((excLnNum+1):(excLnNum+384),1)};
|
|
MP(numb).recNum{1}=table2cell(MP(numb).recNum{1});
|
|
MP(numb).orf={MPtbl((excLnNum+1):(excLnNum+384),2)};
|
|
MP(numb).orf{1}=table2cell(MP(numb).orf{1});
|
|
MP(numb).strain={MPtbl((excLnNum+1):(excLnNum+384),3)};
|
|
MP(numb).strain{1}=table2cell(MP(numb).strain{1});
|
|
MP(numb).genename={MPtbl((excLnNum+1):(excLnNum+384),12)};
|
|
MP(numb).genename{1}= table2cell(MP(numb).genename{1});
|
|
MP(numb).media= {MPtbl((excLnNum+1):(excLnNum+384),7)};
|
|
MP(numb).media{1}= table2cell(MP(numb).media{1});
|
|
if size(MPtbl,2)>15
|
|
MP(numb).orfRep= {MPtbl((excLnNum+1):(excLnNum+384),16)}; %added 12_1005 to specify replicates Orfs in MP
|
|
MP(numb).orfRep{1}=table2cell(MP(numb).orfRep{1});
|
|
MP(numb).specifics={MPtbl((excLnNum+1):(excLnNum+384),17)}; %added 12_1008 to specify replicates Specific details in MP
|
|
MP(numb).specifics{1}=table2cell(MP(numb).specifics{1});
|
|
else
|
|
MP(numb).orfRep= ' ';
|
|
MP(numb).specifics= ' ';
|
|
end
|
|
|
|
excLnNum=excLnNum+385;
|
|
msg=strcat('NumberOfMP = ',num2str(numb), 'lastLineNo. = ',num2str(excLnNum))
|
|
end
|
|
end
|
|
catch ME
|
|
h = msgbox(msg,'Check Number of Master Plates and Excel Lines')
|
|
uiwait(h);
|
|
end %end for try MP excel sheet input
|
|
|
|
%DMupload
|
|
%Drug and Media Plate setup Upload from Excel
|
|
cd(MPdir);
|
|
excLnNum=1;
|
|
numOfDrugs=0;
|
|
numOfMedias=0;
|
|
|
|
%GUI input for selecting a MasterPlate Excel file
|
|
questdlg('\fontsize{20} Select DrugMedia File','File Selection','OK', struct('Default','OK','Interpreter','tex'));
|
|
[Scanfiles, pathname]=uigetfile('*.*', 'MultiSelect','off');
|
|
DMdir=fullfile(pathname);
|
|
clear infile;
|
|
infile= Scanfiles(1,:);
|
|
cd(DMdir)
|
|
|
|
if ispc
|
|
[num, txt, raw] = xlsread(infile); %,'Yor1HitsMPsetFinal');
|
|
fields= {txt(2,1:5)};
|
|
Linked= num(1,1);
|
|
else
|
|
opts = detectImportOptions(infile);
|
|
DMtbl= readtable(infile,opts);
|
|
fields= opts.VariableOptions;
|
|
Linked= DMtbl{1,1};
|
|
DMcell= readcell(infile);
|
|
end
|
|
|
|
cd(w)
|
|
numb=0;
|
|
|
|
if isequal(Linked,1) %Drugs and Media are linked 1 to 1; else they are combinatorial
|
|
clear DM;
|
|
%try
|
|
excLnNum=2;
|
|
if ispc
|
|
while (~isequal(txt{excLnNum,2},'###'))
|
|
numb=numb+1;
|
|
DM.drug(numb) = {raw(excLnNum,2)};
|
|
DM.conc(numb) = {raw(excLnNum,3)};
|
|
DM.media(numb) = {raw(excLnNum,4)};
|
|
DM.mod1(numb) = {raw(excLnNum,5)};
|
|
DM.conc1(numb) = {raw(excLnNum,6)};
|
|
DM.mod2(numb) = {raw(excLnNum,7)};
|
|
DM.conc2(numb) = {raw(excLnNum,8)};
|
|
excLnNum=excLnNum+1;
|
|
msg=strcat('NumberOf1:1DrugMediaPlates = ',num2str(numb), ' lastLineNo. = ',num2str(excLnNum))
|
|
end
|
|
else
|
|
clear DM
|
|
excLnNum=1;
|
|
while (~isequal(DMcell{excLnNum+1,2},'###'))
|
|
numb=numb+1;
|
|
DM.drug(numb) = {DMtbl(excLnNum,2)};
|
|
DM.drug(numb)= table2cell(DM.drug{numb});
|
|
DM.conc(numb) = {DMtbl(excLnNum,3)};
|
|
DM.conc(numb)= table2cell(DM.conc{numb});
|
|
DM.media(numb) = {DMtbl(excLnNum,4)};
|
|
DM.media(numb)= table2cell(DM.media{numb});
|
|
DM.mod1(numb) = {DMtbl(excLnNum,5)};
|
|
DM.mod1(numb)= table2cell(DM.mod1{numb});
|
|
DM.conc1(numb) = {DMtbl(excLnNum,6)};
|
|
DM.conc1(numb)= table2cell(DM.conc1{numb});
|
|
DM.mod2(numb) = {DMtbl(excLnNum,7)};
|
|
DM.mod2(numb)= table2cell(DM.mod2{numb});
|
|
DM.conc2(numb) = {DMtbl(excLnNum,8)};
|
|
DM.conc2(numb)= table2cell(DM.conc2{numb});
|
|
excLnNum=excLnNum+1;
|
|
msg=strcat('NumberOf1:1DrugMediaPlates = ',num2str(numb), ' lastLineNo. = ',num2str(excLnNum))
|
|
end
|
|
end
|
|
end
|
|
%Legacy contengency -Not ever used!!
|
|
if isequal(Linked,0) %0 indicates Drugs and Media are combinatorial
|
|
clear DM;
|
|
excLnNum=2;
|
|
drgCnt=0;
|
|
medCnt=0;
|
|
if ispc
|
|
while (~isequal(txt{excLnNum,2},'###'))
|
|
drgCnt=drgCnt+1;
|
|
DM.drug(drgCnt) = {raw(excLnNum,2)};
|
|
DM.conc(drgCnt) = {raw(excLnNum,3)};
|
|
excLnNum=excLnNum+1;
|
|
end
|
|
|
|
while (~isequal(txt{excLnNum,4},'###'))
|
|
medCnt=medCnt+1;
|
|
DM.media(medCnt) = {raw(excLnNum,4)};
|
|
excLnNum=excLnNum+1;
|
|
end
|
|
else %else if not PC (Then linux or other)
|
|
excLnNum=1;
|
|
while (~isequal(DMcell{excLnNum+1,2},'###'))
|
|
drgCnt=drgCnt+1;
|
|
DM.drug(drgCnt) = {DMtbl(excLnNum,2)};
|
|
DM.conc(drgCnt) = {DMtbl(excLnNum,3)};
|
|
excLnNum=excLnNum+1;
|
|
end
|
|
|
|
while (~isequal(DMcel{excLnNum+1,4},'###'))
|
|
medCnt=medCnt+1;
|
|
DM.media(medCnt) = {DMtbl(excLnNum,4)};
|
|
excLnNum=excLnNum+1;
|
|
end
|
|
end
|
|
msg=strcat('NumberOfDrugs = ',num2str(drgCnt), ' NumberOfMedias = ',num2str(medCnt) )
|
|
end
|
|
|
|
save (fullfile(MPdir,'MPDMmat'), 'fields','MP','DM','Linked');
|
|
|
|
cd(w)
|
|
msgbox(['Drug-Media-MasterPlate Annotation File Generation Complete'])
|