%% 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 %{ if size(raw,2)>17 ; Future MP field 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 % end if ispc else %if not ispc 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 %end of if ispc for MP while loop choice PC or Linux-other (ln~48) 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 %scan().plate().LocInd().gene cd(MPdir); excLnNum=1; %w=pwd %cd('D:\EASY\Experiments\'); %cd(ExpPath); % 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'); if ispc DMdir= fullfile(pathname,'\'); else DMdir=fullfile(pathname,'/'); end clear infile; infile= Scanfiles(1,:); cd(DMdir) %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: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; %fields= {txt(2,1:5)}; %Linked= num(1,1); 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'])