+++ /dev/null
-TPFDRplot <-
-function(DESeqP, EBZ, TrueDE, main, FDR=NULL){
- Seq=seq(0.001,0.5,by=0.001)
- DETPR=rep(0,length(Seq))
- EBTPR=rep(0,length(Seq))
- DEFDR=rep(0,length(Seq))
- EBFDR=rep(0,length(Seq))
- DETPNum=rep(0,length(Seq))
- EBTPNum=rep(0,length(Seq))
- DEFDNum=rep(0,length(Seq))
- EBFDNum=rep(0,length(Seq))
- for (i in 1:length(Seq)){
- DESeqOnes=names(DESeqP)[DESeqP<=Seq[i]]
- if (length(FDR)==0) EBOnes=names(EBZ)[EBZ>=crit.fun(1-EBZ, Seq[i])]
- else if (FDR=="H") EBOnes=names(EBZ)[EBZ>=(1-Seq[i])]
- else EBOnes=names(EBZ)[EBZ>=FDR[i]]
-
- DETPNum[i]=sum(DESeqOnes%in%TrueDE)
- EBTPNum[i]=sum(EBOnes%in%TrueDE)
- DEFDNum[i]=sum(!DESeqOnes%in%TrueDE)
- EBFDNum[i]=sum(!EBOnes%in%TrueDE)
-
- DETPR[i]=DETPNum[i]/length(TrueDE)
- EBTPR[i]=EBTPNum[i]/length(TrueDE)
- DEFDR[i]=DEFDNum[i]/length(TrueDE)
- EBFDR[i]=EBFDNum[i]/length(TrueDE)
- }
- plot(Seq,DETPR,ylim=c(0,1),xlim=c(0,.5),type="l",col="red", main=paste(main, "TPR"),xlab="controled FDR level", ylab="TPR",lwd=2)
- lines(Seq,EBTPR,col="blue",lwd=2)
- legend("bottomright",lwd=2, col=c("red","blue"), c("DESeq","EBSeq"))
-
- plot(Seq,DEFDR,ylim=c(0,1),xlim=c(0,.5),type="l",col="red", main=paste(main, "FDR"),xlab="controled FDR level", ylab="TPR",lwd=2)
- lines(Seq,EBFDR,col="blue",lwd=2)
- legend("topleft", lwd=2, col=c("red","blue"), c("DESeq","EBSeq"))
-
-
- output=cbind( DETPR,EBTPR, DEFDR,EBFDR,DETPNum,EBTPNum,DEFDNum,EBFDNum)
-}
-