% \VignetteIndexEntry{Transformation and other Factors of the pairwise Mass Spectrometry peak-list Comparison Process}
% \VignetteDepends{}
% \VignetteKeywords{Mass Spectrometry}
% \VignettePackage{msbase} 
\documentclass[a4paper]{article}

\title{Transformation and other Factors of the pairwise Mass Spectrometry peak-list Comparison Process.(PRELIMINARY!!!)}
\author{Peter Martus and Witold Eryk Wolski}

\begin{document}

\maketitle

\setkeys{Gin}{width=0.6\textwidth}

\section*{Anova analysis of the PMF dataset}

We analyse here the 4 datasets (pmf.binary ,pmf.intensity, msms.binary, msms.intensity).
The datasets provide results of evaluating the sensitivity and specificity of the pairwise peak-list comparison
performed on an dataset of identified Tandem MS data (msms) and on an dataset of identified Peptide Mass Fingerprint spectra.
(publication submitted).

Load the results for the binary measures.

<<Readingandpreparing>>=
#binary based measures#
rm(list=ls())
library(msbase)
data("pmf.binary")
range(pmf.binary$TPPAUC)
range(pmf.binary$FPPAUC)
@
 
The minimal linear model (containing as few factors as possible) which sufficiently describes the outcome the specificity-PAUC (given small FP rates)
 of the experiment is given by.


Specificity PAUC  -- FACTORS

<<>>=

tplm <- lm(FPPAUC ~ Measure + Theta + Length + Weight + Noncross ,data=pmf.binary)
summary(tplm)$adj.r
anova(tplm)
dr <- anova(tplm)
ddd <- apply(anova(tplm),2,sum)
round(sweep(as.matrix(dr),2,ddd,"/")*100,digits=1)

@ 

Sensitivity PAUC -- FACTORS

<<anovamodel1PMFbinary>>=

tplm <- lm(TPPAUC ~ Measure + Theta + Length + Weight + Noncross  ,data=pmf.binary)
summary(tplm)$adj.r
anova(tplm)
dr <- anova(tplm)
ddd <- apply(anova(tplm),2,sum)
round(sweep(as.matrix(dr),2,ddd,"/")*100,digits=1)


@ 

Specificity PAUC -- FINAL

<<>>=

tplm <- lm(FPPAUC ~ Measure + Theta + Length + Measure*Theta + Measure*Length + Theta*Length + Measure*Theta*Length ,data=pmf.binary)
summary(tplm)$adj.r
anova(tplm)
dr <- anova(tplm)
ddd <- apply(anova(tplm),2,sum)
tmp1 <- round(sweep(as.matrix(dr),2,ddd,"/")*100,digits=1)[,2:3]


@


Sensitivity PAUC -- FINAL

<<>>=

tplm <- lm(TPPAUC ~ Measure + Theta + Length + Measure*Theta + Measure*Length + Theta*Length + Measure*Theta*Length ,data=pmf.binary)
summary(tplm)$adj.r
anova(tplm)
dr <- anova(tplm)
ddd <- apply(anova(tplm),2,sum)
round(sweep(as.matrix(dr),2,ddd,"/")*100,digits=1)
tmp2 <- cbind(round(sweep(as.matrix(dr),2,ddd,"/")*100,digits=1)[,2:3])
@


To identify the best measure we compute the average Sensitivity-PAUC for each CP having the same length , theta and measure factor.

<<tapplyTP>>=

with(pmf.binary,tapply(TPPAUC,list(Length=Length,Theta=Theta,Measure=Measure),mean))

@
 
The average given this three factors is computed for the Specificitiy-PAUC.

<<tapplyFPPAUCbinaryPMF>>=

with(pmf.binary,tapply(FPPAUC,list(Length=Length,Theta=Theta,Measure=Measure),mean))

@

Looking at the output of the tapply function we identified the Fowlkes Mallows statistics as the best measure.


Study the interaction between length and measure.

<<Boxplot1,fig=TRUE>>=

boxplot(FPPAUC~Length*Measure,data=pmf.binary)
par(mar=c(6,3,3,3))
boxplot(TPPAUC~Length*Theta*Measure,data=pmf.binary,las=2,ylim=c(95,100))
abline(v=1:50,col="gray")

@ 


\subsubsection*{Fowlkes mallows}


Take a look on which other factors the performance of the fm measure depends.

<<fig=TRUE>>=
bingow <- pmf.binary[pmf.binary$Measure=="gower",]

par(mfrow=c(2,2))
boxplot(TPPAUC~Noncross,data=bingow,main="S-PAUC noncross")
boxplot(TPPAUC~Weight,data=bingow,main="S-PAUC weight")
boxplot(FPPAUC~Noncross,data=bingow,main="Sp-PAUC noncross")
boxplot(FPPAUC~Weight,data=bingow,main="Sp-PAUC weight")

@ 

Make some more boxplots on what the outcome of the comparison depends.

<<fig=TRUE>>=
par(mfcol=c(2,3))
boxplot(TPPAUC~Measure*Theta,data=pmf.binary,main="S-PAUC meausure",las=2)
boxplot(FPPAUC~Measure,data=pmf.binary,main="Sp-PAUC meausure")
boxplot(TPPAUC~Theta,data=pmf.binary,main="S-PAUC theta")
boxplot(FPPAUC~Theta,data=pmf.binary,main="Sp-PAUC theta")
boxplot(TPPAUC~Length,data=pmf.binary,main="S-PAUC length")
boxplot(FPPAUC~Length,data=pmf.binary,main="Sp-PAUC length")
@ 


The figure makes it clear that the measure rmi and hg strongly depend on the choice of the theta.


\section*{PMF data - intensity based maesures}

Load the evaluation results.

<<LOADANDPREPARE>>=
data("pmf.intensity")
@ 


The minimal model explaining as much as possible variance is:

Specificity PAUC

<<>>=

intlm<-lm(FPPAUC ~ Measure + Scale + Theta +  Length + Weight + Noncross  + Trans ,data=pmf.intensity)
anova(intlm)
apply(anova(intlm),2,sum)
summary(intlm)$adj.r
dr <- anova(intlm)
ddd <- apply(anova(intlm),2,sum)
round(sweep(as.matrix(dr),2,ddd,"/")*100,digits=1)

@ 

Sensitivity PAUC

<<>>=

intlm<-lm(TPPAUC ~ Measure + Scale + Theta + Weight + Noncross + Length + Trans ,data=pmf.intensity)
anova(intlm)
apply(anova(intlm),2,sum)
summary(intlm)$adj.r
dr <- anova(intlm)
ddd <- apply(anova(intlm),2,sum)
round(sweep(as.matrix(dr),2,ddd,"/")*100,digits=1)

@ 

Specificity PAUC

<<>>=
intlm<-lm(FPPAUC ~ Measure + Scale + Theta + Length + Measure:Scale + Measure:Theta + Measure:Length , data=pmf.intensity)
anova(intlm)
apply(anova(intlm),2,sum)
summary(intlm)$adj.r
dr <- anova(intlm)
ddd <- apply(anova(intlm),2,sum)
round(sweep(as.matrix(dr),2,ddd,"/")*100,digits=1)

@ 

Sensitivity PAUC

<<>>=
intlm<-lm(TPPAUC ~ Measure + Scale + Theta + Length + Measure:Scale + Measure:Theta + Measure:Length , data=pmf.intensity)
anova(intlm)
apply(anova(intlm),2,sum)
summary(intlm)$adj.r
dr <- anova(intlm)
ddd <- apply(anova(intlm),2,sum)
round(sweep(as.matrix(dr),2,ddd,"/")*100,digits=1)

@ 

Now comes the code to generate a quite complex image.

<<IntensityPMFBoxplot,fig=TRUE,width=7,height=6>>=

nf <- layout(matrix(c(1,2,3,4),2,2,byrow=TRUE), c(1.5,2.4),c(1,3), TRUE)
par(mar=c(1,3.5,3,1))
boxplot(TPPAUC~Theta+Measure,data=pmf.binary,las=2,axes=F,ylim=c(97.5,98.5),cex.axis=0.9)
axis(2,cex.axis=0.9,col=3)
box(,col=3)
abline(v=c(3.5,6.5,9.5),col="gray70")
abline(h=max(pmf.intensity$TPPAUC),lty=2,col="gray50")
abline(h=max(pmf.binary$TPPAUC),lty=4,col="gray50")
mtext("S-PAUC",side=2,line=2,cex=1)
mtext("Measure + Theta (Bin.)",side=3,line=1)
mtext("A",side=3,line=1,at=-3,cex=1.5)

par(mar=c(1,3,3,1))
boxplot(TPPAUC ~ Scale+Measure,data=pmf.intensity,las=2,axes=F,ylim=c(97.5,98.5),cex.axis=0.9)
abline(v=c(4.5,8.5,12.5,16.5,20.5,24.5),col="gray70")
abline(v=max(pmf.binary$TPPAUC))
axis(2,cex.axis=0.9,col=3)
box(,col=3)
abline(h=max(pmf.intensity$TPPAUC),lty=2,col="gray50")
abline(h=max(pmf.binary$TPPAUC),lty=4,col="gray50")
mtext("S-PAUC",side=2,line=2,cex=1)
mtext("Measure+Scaling (Int.)",side=3,line=1)
mtext("B",side=3,line=1,at=-1,cex=1.5)

par(mar=c(6,3.5,0,1))
plot(1,1,xlim=c(0,13),ylim=c(0,100),type="n",axes=F,ylab="",xlab="",main="")
#abline(h=c(97.5,98.5),col=3)
rect(-1,97.5,14,98.5,col="lightgreen",border="lightgreen")
par(new=TRUE)
boxplot(TPPAUC~Theta+Measure,data=pmf.binary,las=2,ylim=c(0,100),ylab="",cex.axis=0.9)
mtext("S-PAUC",side=2,line=2)
abline(v=c(3.5,6.5,9.5),col="gray70")

par(mar=c(6,3,0,1))
plot(1,1,xlim=c(0,25),ylim=c(0,100),type="n",axes=F,ylab="",xlab="",main="")
rect(-4,97.5,30,98.5,col="lightgreen",border="lightgreen")
par(new=TRUE)
boxplot(TPPAUC ~ Scale+Measure,data=pmf.intensity,las=2,type="n",ylim=c(0,100),cex.axis=0.9)
mtext("S-PAUC",side=2,line=2,cex=1)
abline(v=c(4.5,8.5,12.5,16.5,20.5,24.5),col="gray70")

@ 

Now we tabulate the scores for the Specificity-PAUC according to the identified factors.

<<>>=
with(pmf.intensity,tapply(FPPAUC,list(Length=Length,Theta=Theta,Scale=Scale,Measure=Measure),mean,data=pmf.intensity))
@ 

We tabulated the scores for the Sensitivity-PAUC accroding to the identified factors.

<<>>=
with(pmf.intensity,tapply(TPPAUC,list(Length=Length,Theta=Theta,Scale=Scale,Measure=Measure),mean))
@
 
By analysing the table we identify the dotproduct measure computed on vector norm scaled data as having small variance and relatively high scores.
Also the euclidean and manhatten distances perform well but only with a sensible parameter choice.

<<>>=

intsoai <- pmf.intensity[(pmf.intensity$Measure == "soai" | pmf.intensity$Measure == "dotprod") & pmf.intensity$Scale == "N",]
intdp <- pmf.intensity[pmf.intensity$Measure == "soai" & pmf.intensity$Scale == "S",]

lmdp <-lm(FPPAUC~Length+Theta+Trans+Noncross+Weight,data=intdp)
anova(lmdp)
summary(lmdp)$adj.r

@ 

By the anova anlysis above we identify the intensity transformation as the only parameter influencing the DP measure. 
We can how the factor transformation influences the performance of the measures sum of agrein intensities and dot product on the boxplot belove.

<<TransformIntensity,fig=TRUE,width=5,height=5>>=

par(mfrow=c(1,2))
par(mar=c(6,4,1,1))
boxplot(FPPAUC~Trans+Measure,data=intsoai,main="",las=2)
mtext("Specificity-PAUC",side=2,line=3)
mtext("A",side=3,line=-1,at=-3,cex=2)
abline(v=4.5,col="gray")
boxplot(TPPAUC~Trans+Measure,data=intsoai,main="",las=2)
mtext("Sensitivity-PAUC",side=2,line=3)
mtext("B",side=3,line=-1,at=-3,cex=2)
abline(v=4.5,col="gray")

@ 

The boxplot shows that the log transformation gives highest sensitivities given small FP-rates as well highest specificities given high sensitivities.

\section{Analysing the MS/MS dataset}

We are going to analyse the MS/MS dataset in a similar way like the PMF dataset and will discuss the differences.
The MSMS dataset we use to examine if the conclusion drawn anylysing the PMF dataset can be generalized.

\subsection{Binary measure}

<<ReadTHERESULTS>>=
data("msms.binary")
range(msms.binary$FPPAUC)
range(msms.binary$TPPAUC)


@ 


<<ReadINTENMSMS>>=
data("msms.intensity")
range(msms.intensity$FPPAUC)

@ 

We start by comparing the performance of the measures having a small variance and performing well in case of the PMF dataset with the performance of all other measures.
The left panel compares the FM mallows statistics with the other binary measures. The right panel compares the performance of the dot-product measure with the performance of the other intensity based measures.

<<MSMSres,fig=TRUE,width=5,height=5>>=
par(mfrow=c(1,2))
idfm <- rep("symmetric",length(pmf.binary$Measure))
idfm[which(pmf.binary$Measure=="fm" | pmf.binary$Measure=="gower")] <- "asymmetric"
par(mar=c(7,4,3,1))
#boxplot(pmf.binary$TPPAUC~as.factor(idfm),main="Sp-PAUC")
boxplot(TPPAUC~as.factor(idfm),data=pmf.binary,las=2,main="")
mtext("PMF",side=3,line=1)
mtext("sensitivity-PAUC",side=2,line=2.5,cex=1.2)
mtext("A",side=3,line=1,at=0,cex=2)

idfm <- rep("symmetric",length(msms.binary$Measure))
idfm[which(msms.binary$Measure=="fm" | msms.binary$Measure=="gower")] <- "asymmetric"
par(mar=c(7,4,3,1))
#boxplot(msms.binary$TPPAUC~as.factor(idfm),main="Sp-PAUC")
boxplot(TPPAUC~as.factor(idfm),data=msms.binary,las=2,main="")
mtext("MS/MS",side=3,line=1)
mtext("sensitivity-PAUC",side=2,line=2.5,cex=1.2)
mtext("B",side=3,line=1,at=0,cex=2)

@ 


<<>>=
par(mar=c(7,4,3,1))
ind <- rep("other CP",length(msms.intensity$Measure))
ind[msms.intensity$Measure == "dotprod" & msms.intensity$Scale == "N" & msms.intensity$Trans=="L"]<-"dot-product"
ind[msms.intensity$Measure == "dotprod"]<-"dot-product"

#ind[msms.intensity$Measure == "euclidean" & msms.intensity$Scale == "N" & msms.intensity$Trans=="L"]<-"euclidean"
#ind[msms.intensity$Measure == "manhattan" & msms.intensity$Scale == "T" & msms.intensity$Trans=="L"]<-"manhattan"
#ind[msms.intensity$Measure == "soai" & msms.intensity$Scale == "N" & msms.intensity$Trans=="L"]<-"soai"


#par(mfrow=c(1,2))
#boxplot(TPPAUC~as.factor(ind),data=msms.intensity,main="Sp-PAUC - MS/MS")
boxplot(TPPAUC~as.factor(ind),data=msms.intensity,las=2,main="",ylim=c(90,100))
mtext("intensity",side=3,line=1)
mtext("B",side=3,line=1,at=0,cex=2)
mtext("sensitivity-PAUC",side=2,line=2.5,cex=1.2)
#dev.off()

@ 

In case of the MS/MS data the fowlkes mallows statistics does not perform unambiguously better than the other binary measures.

\subsection*{Anova analysis of MSMS dataset}

\subsection{Binary Measures}

Next we apply the same anova model to the MS/MS data as we have applied it to tehe PMF data.

Specificity PAUC -- FACTORS

<<>>=

tplm <- lm(FPPAUC ~ Measure + Theta + Length + Weight + Noncross + Length ,data=msms.binary)
summary(tplm)$adj.r
anova(tplm)
apply(anova(tplm),2,sum)
dr <- anova(tplm)
ddd <- apply(anova(tplm),2,sum)
round(sweep(as.matrix(dr),2,ddd,"/")*100,digits=1)

@ 


Sensitivity PAUC -- FACTORS

<<OLDMODELBINARY>>=

tplm <- lm(TPPAUC ~ Measure + Theta + Length + Weight + Noncross + Length ,data=msms.binary)
summary(tplm)$adj.r
round(anova(tplm))
round(apply(anova(tplm),2,sum))
dr <- anova(tplm)
ddd <- apply(anova(tplm),2,sum)
round(sweep(as.matrix(dr),2,ddd,"/")*100,digits=1)


@

Specificity PAUC -- FACTORS

<<>>=

tplm <- lm(FPPAUC ~ Measure + Theta + Length + Measure*Theta + Measure*Length + Theta*Length + Measure*Theta*Length ,data=msms.binary)
summary(tplm)$adj.r
round(anova(tplm))
apply(anova(tplm),2,sum)
dr <- anova(tplm)
ddd <- apply(anova(tplm),2,sum)
round(sweep(as.matrix(dr),2,ddd,"/")*100,digits=1)

@

Sensitivity PAUC -- FINAL


<<>>=

tplm <- lm(TPPAUC ~ Measure + Theta + Length + Measure*Theta + Measure*Length + Theta*Length + Measure*Theta*Length ,data=msms.binary)
summary(tplm)$adj.r
round(anova(tplm))
apply(anova(tplm),2,sum)
dr <- anova(tplm)
ddd <- apply(anova(tplm),2,sum)
round(sweep(as.matrix(dr),2,ddd,"/")*100,digits=1)

@ 

 
We see that the old model is not performing as well as in case of the PMF data.
A model which includes computing the noncrossing matching performs much better.

<<SUMMARYX>>=

tplm <- lm(TPPAUC~Measure*Theta*Length*Noncross,data=msms.binary)
summary(tplm)$adj
anova(tplm)
dr <- anova(tplm)
ddd <- apply(anova(tplm),2,sum)
round(sweep(as.matrix(dr),2,ddd,"/")*100,digits=1)


@ 

Tabulate the data according to identified factors.

<<>>=
with(msms.binary,tapply(TPPAUC,list(Length=Length,Theta=Theta,Noncross=Noncross,Measure=Measure),mean))
@
 
We see that the binary measures computed with noncrossing matching perform better than they associates without. Furthermore Huberts Gamma computed with $M_{00}=0$ can be recognized as the best performing measure.
The same analysis is repeated for the Sp-PAUC.

<<SUMMARYX>>=
boxplot(FPPAUC~Measure,data=msms.binary)
tplm <- lm(FPPAUC~Measure*Theta*Length*Noncross,data=msms.binary)
summary(tplm)$adj
anova(tplm)
@ 

Tabulate the data according to identified factors.

<<>>=
with(msms.binary,tapply(TPPAUC,list(Length=Length,Theta=Theta,Noncross=Noncross,Measure=Measure),mean))
@ 

Again hg performs best.

Further we analysed how the HG measure depends on factors like e.g. Weighting of mass measurement error, noncrossing matching and theta.

<<MORBOX,fig=TRUE>>=
msms.binaryhg<-msms.binary[msms.binary$Measure=="hg",]
par(mfcol=c(2,3))
boxplot(TPPAUC ~ Weight+Noncross,data=msms.binaryhg,main="S-PAUC weight")
boxplot(FPPAUC ~ Weight,data=msms.binaryhg,main="Sp-PAUC weight")
boxplot(TPPAUC ~ Noncross,data=msms.binaryhg,main="S-PAUC noncross")
boxplot(FPPAUC ~ Noncross,data=msms.binaryhg,main="Sp-PAUC noncross")
boxplot(TPPAUC ~ Theta,data=msms.binaryhg,main="S-PAUC theta")
boxplot(FPPAUC ~ Theta,data=msms.binaryhg,main="Sp-PAUC theta")
@ 

The boxplots reveal that weighting of match accuracy and resolving unambigous matches by computing the noncrossing matching increases the performance of the HG measure. Furthermore the optimal choice of the theta is 2.


\subsubsection{MS/MS-Intensity based measures}



Specificity PAUC  -- FACTORS

<<ANOVA>>=

intlm<-lm(FPPAUC ~ Measure + Trans + Scale + Theta + Weight + Noncross +  Length ,data=msms.intensity)
anova(intlm)
summary(intlm)$adj.r
apply(anova(intlm),2,sum)
dr <- anova(intlm)
ddd <- apply(anova(intlm),2,sum)
round(sweep(as.matrix(dr),2,ddd,"/")*100,digits=1)



@ 

Sensitivity PAUC -- FACTORS

<<>>=

intlm<-lm(TPPAUC ~ Measure + Trans + Scale + Theta + Weight + Noncross +  Length ,data=msms.intensity)
anova(intlm)
summary(intlm)$adj.r
apply(anova(intlm),2,sum)
dr <- anova(intlm)
ddd <- apply(anova(intlm),2,sum)
round(sweep(as.matrix(dr),2,ddd,"/")*100,digits=1)


@ 

Specificity PAUC -- FINAL


<<>>=

intlm<-lm(FPPAUC ~ Measure + Scale + Theta + Length + Measure:Scale + Measure:Theta + Measure:Length , data=msms.intensity)
anova(intlm)
summary(intlm)$adj.r
apply(anova(intlm),2,sum)
dr <- anova(intlm)
ddd <- apply(anova(intlm),2,sum)
round(sweep(as.matrix(dr),2,ddd,"/")*100,digits=1)


@ 

Sensitivity PAUC -- FINAL

<<>>=

intlm<-lm(TPPAUC ~ Measure + Scale + Theta + Length + Measure:Scale + Measure:Theta + Measure:Length , data=msms.intensity)
anova(intlm)
summary(intlm)$adj.r
apply(anova(intlm),2,sum)
dr <- anova(intlm)
ddd <- apply(anova(intlm),2,sum)
round(sweep(as.matrix(dr),2,ddd,"/")*100,digits=1)

@ 

Again we first prove if the result obtained for the PMF data can be generalized to the MS/MS data.

<<EXPLOT2,fig=TRUE>>=
ind <- rep("other measure",length(msms.intensity$Measure))
ind[msms.intensity$Measure == "dotprod" & msms.intensity$Scale == "N" & msms.intensity$Trans=="L"]<-"dotprod ; N(log(I))"
par(mfrow=c(1,2))
boxplot(TPPAUC~as.factor(ind),data=msms.intensity,main="S-PAUC - MS/MS")
boxplot(FPPAUC~as.factor(ind),data=msms.intensity,main="Sp-PAUC - MS/MS")

@ 

This time the observation done using the PMF data can be generalized to the MS/MS data.
Because we were interested to identify the other measures which can be used to classify the data we tabulated the scores
according to theta, scaling, length and the measures.

<<MODELFPPAUCMSMS>>=

intlm <- lm(FPPAUC ~ Measure+Scale+Theta+Length+Measure:Scale+Measure:Theta+Measure:Length,data=msms.intensity)
anova(intlm)
summary(intlm)$adj.r

@

<<TABULATEINTMSMS>>=

with(msms.intensity,tapply(FPPAUC,list(Length=Length,Theta=Theta,Scale=Scale,Measure=Measure),mean))

@ 

<<MODELTPPAUCMSMS>>=

intlm <-lm(TPPAUC ~ Measure+Scale+Theta+Length+Measure*Scale+Measure*Theta+Measure*Length,data=msms.intensity)
anova(intlm)
summary(intlm)$adj.r

@

<<TabulateTheMEASURES>>=

with(msms.intensity,tapply(TPPAUC,list(Length=Length,Theta=Theta,Scale=Scale,Measure=Measure),mean))

@ 

The spectral angle measure is the highest scoring one. None of the other measures is able to obtain similar scores. This may be due to the fact that the database search of the MS/MS data is performed using the normalized crosscorelation which has a very similar mathematical property than the spectral angle.

Finally we analyse how factors like intensity transformation, weighting of mass measurement accuracy and computing the noncrossing matching influences the performance of the spectral angle.

<<EXTRACTDPMSMS>>=

intdp <- msms.intensity[(msms.intensity$Measure == "euclidean") & msms.intensity$Scale == "S" & msms.intensity$Trans=="L",]
boxplot(TPPAUC~Weight*Noncross*Measure*Trans,data=intdp,main="S-PAUC weight",las=2)
par(mar=c(8,5,2,2))
boxplot(FPPAUC~Noncross,data=intdp,main="S-PAUC weight",las=2)
boxplot(TPPAUC~Weight,data=intdp,main="S-PAUC weight",las=2)

@ 
<<>>=

boxplot(TPPAUC~Weight*Noncross*Theta*Measure,data=intdp,main="S-PAUC weight",las=2)
@ 
<<ANALYSEDPMSMS>>=
lmdp<-lm(FPPAUC~Weight+Noncross+Weight:Noncross,data=intdp)
anova(lmdp)
summary(lmdp)$adj.r
@ 

<<BOXPLOTDP,fig=TRUE>>=
par(mfcol=c(2,3))
boxplot(TPPAUC~Trans,data=intdp,main="S-PAUC trans")
boxplot(FPPAUC~Trans,data=intdp,main="Sp-PAUC trans")

boxplot(FPPAUC~Weight,data=intdp,main="Sp-PAUC weight")
boxplot(FPPAUC~Noncross,data=intdp,main="S-PAUC noncross")
boxplot(TPPAUC~Noncross,data=intdp,main="Sp-PAUC noncross")
@ 

\end{document}
