123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393 |
- function EZinterAgingDev0
- global Exp
- global matFile
- [matFile,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(matFile,2)
- ExpOutmat{i}=fullfile(scansDir,matFile{i});
- EScan{i}=load(ExpOutmat{1});
- end
-
-
-
-
-
- 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)'};
-
-
- name='Interaction User Input';
- numlines=1;
- defaultanswer={'80','60','1','N','39','Y'};
- answer=inputdlg(prompt,name,numlines,defaultanswer);
- negPercent=str2double(cell2mat(answer(1)));
- posPercent=str2double(cell2mat(answer(2)));
- DMstr=cell2mat(answer(3));
- DMcomas=strfind((cell2mat(answer(3))),',');
- removInfinL=answer(4);
- numBins=str2double(cell2mat(answer(5)));
- subplotX=answer(6);
-
- 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).RFmean;
- Rs=Exp(expN).RFstd;
- dmN=length(Exp(expN).DM.drug);
- mpN=length(Exp(expN).MP);
-
-
-
- for j=1:dmN
- for m=1:mpN
- scnN=j + (dmN*(m-1))
- Xn{m,j,:}=Exp(expN).scan(scnN).plate(1).CFout(:,5);
- Xn{m,j,:}(Xn{m,j,:}==0)=140;
- Xln{m,j,:}=Exp(expN).scan(scnN).plate(1).CFout(:,11);
- Xhn{m,j,:}=Exp(expN).scan(scnN).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(:))
-
- 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
-
- 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;
-
-
- addend=(1+((m-1)*384))
- intLcmp(addend:addend+383,j)=cell2mat(intL(m,j,:));
- intLadjcmp(addend:addend+383,j)=cell2mat(deltaXR(m,j,:));
- end
-
-
- intLc{j}=intLcmp(:,j);
- intLwoRFs{j}(1,:)=intLcmp(Exp(expN).mutSpotIndx.woRFs,j);
- intLwoRFs{j}(2,:)=Exp(expN).mutSpotIndx.woRFs;
- if strcmpi(removInfinL,'Y')
- intLwoRFs0{j}(1,:)=intLwoRFs{j}(1,(intLwoRFs{j}(1,:)~=100));
- intLwoRFs0{j}(2,:)=intLwoRFs{j}(2,(intLwoRFs{j}(1,:)~=100));
- 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);
- intLcmpSortLT0=tempIntL((tempIntL) <0);
- centPosCnt=round(posPercent/100 * length(intLcmpSortGT0));
- centNegCnt=round(negPercent/100 * length(intLcmpSortLT0));
- intLposSel{j}=intLwoRFsorted{j}((length(intLcmpSortLT0)+centPosCnt): end,:);
- intLnegSel{j}=intLwoRFsorted{j}((1:(length(intLcmpSortLT0)-centNegCnt)),:);
- posIntboundryCentralVal(j)=intLcmpSortGT0((centPosCnt),:);
- negIntboundryCentralVal(j)=intLcmpSortLT0(((length(intLcmpSortLT0))-(centNegCnt)),:);
-
-
- if j==DMsel(1)
- InterslstPos{1}=intLposSel{DMsel(1)}(:,2)
- InterslstNeg{1}=intLnegSel{DMsel(1)}(:,2)
- elseif sum(ismember(DMsel,j))==1
- InterslstPos{1}=(intersect(InterslstPos{1},intLposSel{j}(:,2)));
- InterslstNeg{1}=(intersect(InterslstNeg{1},intLnegSel{j}(:,2)));
- end
-
-
-
- intLposDIndx{j}(:,2)=ceil((intLposSel{j}(:,2))/384);
- 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));
-
- intLnegDIndx{j}(:,2)=ceil((intLnegSel{j}(:,2))/384);
- intLnegDIndx{j}(:,3)=(rem(intLnegSel{j}(:,2),384));
- nn=(intLposDIndx{j}(:,3)==0);
- intLnegDIndx{j}(nn,3)=384;
- intLnegDIndx{j}(:,1)=j + (dmN*((intLnegDIndx{j}(:,2))-1));
-
-
- intLadjwoRFs{j}(1,:)=intLadjcmp(Exp(expN).mutSpotIndx.woRFs,j);
- intLadjwoRFs{j}(2,:)=Exp(expN).mutSpotIndx.woRFs;
-
- if strcmpi(removInfinL,'Y')
- intLadjwoRFs0{j}(1,:)=intLadjwoRFs{j}(1,(intLadjwoRFs{j}(1,:)~=100)) ;
- intLadjwoRFs0{j}(2,:)=intLadjwoRFs{j}(2,(intLadjwoRFs{j}(1,:)~=100)) ;
- clear intLadjwoRFs
- intLadjwoRFs{j}(1,:)=intLadjwoRFs0{j}(1,:);
- intLadjwoRFs{j}(2,:)=intLadjwoRFs0{j}(2,:);
- end
-
- intLwoRFsortedAdj{j}=sortrows(intLadjwoRFs{j}',1);
- clear intLadjSortGT0 intLadjSortLT0
- 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,:);
- intLnegSelAdj{j}=intLwoRFsortedAdj{j}((1:(length(intLadjSortLT0)-centNegCntAdj)),:);
- posIntboundryCentralValAdj(j)=intLadjSortGT0((centPosCntAdj),:);
- negIntboundryCentralValAdj(j)=intLadjSortLT0(((length(intLadjSortLT0))-(centNegCntAdj)),:);
- if j==DMsel(1)
- InterslstPosAdj{1}=intLposSelAdj{DMsel(1)}(:,2)
- InterslstNegAdj{1}=intLnegSelAdj{DMsel(1)}(:,2)
- elseif sum(ismember(DMsel,j))==1
- InterslstPosAdj{1}=(intersect(InterslstPosAdj{1},intLposSelAdj{j}(:,2)));
- InterslstNegAdj{1}=(intersect(InterslstNegAdj{1},intLnegSelAdj{j}(:,2)));
- end
-
-
-
- intLposDIndxAdj{j}(:,2)=ceil((intLposSelAdj{j}(:,2))/384);
- 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));
-
- intLnegDIndxAdj{j}(:,2)=ceil((intLnegSelAdj{j}(:,2))/384);
- intLnegDIndxAdj{j}(:,3)=(rem(intLnegSelAdj{j}(:,2),384));
- nn=(intLposDIndxAdj{j}(:,3)==0);
- intLnegDIndxAdj{j}(nn,3)=384;
- intLnegDIndxAdj{j}(:,1)=j + (dmN*((intLnegDIndxAdj{j}(:,2))-1));
- end
-
- IntersValsPos=intLcmp(InterslstPos{1},DMsel);
- IntersValsNeg=intLcmp(InterslstNeg{1},DMsel);
- IntersValsPosAdj=intLadjcmp(InterslstPosAdj{1},DMsel);
- IntersValsNegAdj=intLadjcmp(InterslstNegAdj{1},DMsel);
-
- selIntPx{1}(:,6)=InterslstPos{1};
- selIntPx{1}(:,2)=ceil((InterslstPos{1})/384);
- 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);
- 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));
- selIntP=cell2mat(selIntPx);
- selIntNx{1}(:,6)=InterslstNeg{1};
- selIntNx{1}(:,2)=ceil((InterslstNeg{1})/384);
- 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);
- 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));
- selIntN=cell2mat(selIntNx);
- for i=1:size(selIntP,1)
- IPgene(i)=Exp(expN).MP(selIntP(i,2)).genename{1}(selIntP(i,3));
- IPorf(i)=Exp(expN).MP(selIntP(i,2)).orf{1}(selIntP(i,3));
- IPstrain(i)=Exp(expN).MP(selIntP(i,2)).strain{1}(selIntP(i,3));
- IPspecifics(i)=Exp(expN).MP(selIntP(i,2)).specifics{1}(selIntP(i,3));
- IPorfRep(i)=Exp(expN).MP(selIntP(i,2)).orfRep{1}(selIntP(i,3));
-
-
-
- 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)
- INgene(i)=Exp(expN).MP(selIntN(i,2)).genename{1}(selIntN(i,3));
- INorf(i)=Exp(expN).MP(selIntN(i,2)).orf{1}(selIntN(i,3));
- INstrain(i)=Exp(expN).MP(selIntN(i,2)).strain{1}(selIntN(i,3));
- INspecifics(i)=Exp(expN).MP(selIntN(i,2)).specifics{1}(selIntN(i,3));
- INorfRep(i)=Exp(expN).MP(selIntN(i,2)).orfRep{1}(selIntN(i,3));
-
-
-
- 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
-
-
- selIntPxAdj{1}(:,2)=ceil((InterslstPosAdj{1})/384);
- 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);
- 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));
- selIntPAdj=cell2mat(selIntPxAdj);
- selIntNxAdj{1}(:,2)=ceil((InterslstNegAdj{1})/384);
- 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);
- 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));
- selIntNAdj=cell2mat(selIntNxAdj);
- for i=1:size(selIntPAdj,1)
- IPgeneAdj(i)=Exp(expN).MP(selIntPAdj(i,2)).genename{1}(selIntPAdj(i,3));
- IPorfAdj(i)=Exp(expN).MP(selIntPAdj(i,2)).orf{1}(selIntPAdj(i,3));
- 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));
-
-
- 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)
- INgeneAdj(i)=Exp(expN).MP(selIntNAdj(i,2)).genename{1}(selIntNAdj(i,3));
- INorfAdj(i)=Exp(expN).MP(selIntNAdj(i,2)).orf{1}(selIntNAdj(i,3));
- 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));
-
-
- 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
-
-
- figure
- if strcmpi(subplotX,'Y')
- for j=1:dmN
- histLdata=intLwoRFsorted{j}(:,1);
-
- 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
-
-
- for j=1:dmN
- histLdata=intLwoRFsorted{j}(:,1);
- hgL{j}=subplot(2, 4, j), histfitJR(histLdata,numBins,'kernel') ; hold
- 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', 'Interaction Values ');
-
- figure
- for j=1:dmN
- histLadjData=intLwoRFsortedAdj{j}(:,1);
- hgLadj{j}=subplot(2, 4, j),histfitJR(histLadjData,numBins,'kernel') ; hold
- 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', 'Interaction Compensated by Standard Deviation and Upper/Lower Curvefit boundaries')
- elseif strcmpi(subplotX,'N')
- for j=1:dmN
- histLdata=intLwoRFsorted{j}(:,1);
- histLadjData=intLwoRFsortedAdj{j}(:,1);
- figure
- hgL{j}=histfitJR(histLdata,numBins,'kernel') ; hold
- plot(posIntboundryCentralVal(j), 1:3000,'--r')
- plot(negIntboundryCentralVal(j), 1:3000,'--g')
- hold off
- figure
- hgLadj{j}=histfitJR(histLadjData,numBins,'kernel') ; hold
- 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
- if strcmpi(subplotX,'N')
- figure
- bar3(ybb);
-
-
- end
- else
- end
-
- if strcmpi(subplotX,'Y')
- figure
- bar3(ybb);
- set(gcf,'Name', 'Unfiltered Interaction Histogram for all DrugMedias; NoGrowth Interactors set to 100hr (highest bin)')
-
-
- end
- EZintPrint
- a=1
- end
|