From 233a652161c657ffbf3c975f375ed775dc0a928a Mon Sep 17 00:00:00 2001 From: rpoplin Date: Wed, 3 Feb 2010 22:23:09 +0000 Subject: [PATCH] Making the dotted quartile lines more clear. git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@2772 348d0f76-0448-11de-a6fe-93d51630548a --- R/plot_Annotations_BinnedTruthMetrics.R | 62 ++++++++++++++++++++----- 1 file changed, 50 insertions(+), 12 deletions(-) diff --git a/R/plot_Annotations_BinnedTruthMetrics.R b/R/plot_Annotations_BinnedTruthMetrics.R index 9c0eee3e9..4748defb2 100644 --- a/R/plot_Annotations_BinnedTruthMetrics.R +++ b/R/plot_Annotations_BinnedTruthMetrics.R @@ -31,9 +31,11 @@ m75 = weighted.mean(ma$value,ma$numVariants/sum(ma$numVariants)) m25 = weighted.mean(mb$value,mb$numVariants/sum(mb$numVariants)) if(medianNumVariants == "true") { vc = cumsum( all$numVariants/sum(all$numVariants) ) +m10 = all$value[ max(which(vc<=0.10)) ] m25 = all$value[ max(which(vc<=0.25)) ] m = all$value[ max(which(vc<=0.5)) ] m75 = all$value[ min(which(vc>=0.75)) ] +m90 = all$value[ min(which(vc>=0.90)) ] } # @@ -45,9 +47,18 @@ pdf(outfile, height=7, width=7) par(cex=1.1) plot(all$value,all$titv,xlab=annotationName,ylab="Ti/Tv Ratio",pch=20,ylim=c(ymin,ymax),xaxt="n",ps=14); axis(1,axTicks(1), format(axTicks(1), scientific=F)) -abline(v=m,lty=2) -abline(v=m75,lty=2) -abline(v=m25,lty=2) +abline(v=m,lty=2,col="red") +abline(v=m75,lty=3) +abline(v=m25,lty=3) +text(m, ymin, "50", col="red", cex=0.6); +text(m75, ymin, "75", col="black", cex=0.6); +text(m25, ymin, "25", col="black", cex=0.6); +if(medianNumVariants == "true") { +abline(v=m90,lty=3) +abline(v=m10,lty=3) +text(m10, ymin, "10", col="black", cex=0.6); +text(m90, ymin, "90", col="black", cex=0.6); +} points(novel$value,novel$titv,col="green",pch=20) points(dbsnp$value,dbsnp$titv,col="blue",pch=20) if( sum(all$truePositive==0) != length(all$truePositive) ) { @@ -67,9 +78,18 @@ pdf(outfile, height=7, width=7) par(cex=1.1) plot(all$value,all$titv,xlab=annotationName,log="x",ylab="Ti/Tv Ratio",pch=20,ylim=c(ymin,ymax),xaxt="n",ps=14); axis(1,axTicks(1), format(axTicks(1), scientific=F)) -abline(v=m,lty=2) -abline(v=m75,lty=2) -abline(v=m25,lty=2) +abline(v=m,lty=2,col="red") +abline(v=m75,lty=3) +abline(v=m25,lty=3) +text(m, ymin, "50", col="red", cex=0.6); +text(m75, ymin, "75", col="black", cex=0.6); +text(m25, ymin, "25", col="black", cex=0.6); +if(medianNumVariants == "true") { +abline(v=m90,lty=3) +abline(v=m10,lty=3) +text(m10, ymin, "10", col="black", cex=0.6); +text(m90, ymin, "90", col="black", cex=0.6); +} points(novel$value,novel$titv,col="green",pch=20) points(dbsnp$value,dbsnp$titv,col="blue",pch=20) if( sum(all$truePositive==0) != length(all$truePositive) ) { @@ -98,9 +118,18 @@ ymax = max(max(all$dbsnp),max(t$truePositive)) } plot(all$value,all$dbsnp,xlab=annotationName,ylab=yLabel,pch=20,ylim=c(ymin,ymax),xaxt="n",ps=14); axis(1,axTicks(1), format(axTicks(1), scientific=F)) -abline(v=m,lty=2) -abline(v=m75,lty=2) -abline(v=m25,lty=2) +abline(v=m,lty=2,col="red") +abline(v=m75,lty=3) +abline(v=m25,lty=3) +text(m, ymin, "50", col="red", cex=0.6); +text(m75, ymin, "75", col="black", cex=0.6); +text(m25, ymin, "25", col="black", cex=0.6); +if(medianNumVariants == "true") { +abline(v=m90,lty=3) +abline(v=m10,lty=3) +text(m10, ymin, "10", col="black", cex=0.6); +text(m90, ymin, "90", col="black", cex=0.6); +} if( sum(all$truePositive==0) != length(all$truePositive) ) { points(t$value,t$truePositive,col="magenta",pch=20); legend("topleft", c("dbsnp","truth"),col=c("black","magenta"),pch=c(20,20)) @@ -120,9 +149,18 @@ yLabel = "DBsnp/Truth Rate" } plot(all$value,all$dbsnp,xlab=annotationName,log="x",ylab=yLabel,ylim=c(ymin,ymax),pch=20,xaxt="n",ps=14); axis(1,axTicks(1), format(axTicks(1), scientific=F)) -abline(v=m,lty=2) -abline(v=m75,lty=2) -abline(v=m25,lty=2) +abline(v=m,lty=2,col="red") +abline(v=m75,lty=3) +abline(v=m25,lty=3) +text(m, ymin, "50", col="red", cex=0.6); +text(m75, ymin, "75", col="black", cex=0.6); +text(m25, ymin, "25", col="black", cex=0.6); +if(medianNumVariants == "true") { +abline(v=m90,lty=3) +abline(v=m10,lty=3) +text(m10, ymin, "10", col="black", cex=0.6); +text(m90, ymin, "90", col="black", cex=0.6); +} if( sum(all$truePositive==0) != length(all$truePositive) ) { points(t$value,t$truePositive,col="magenta",pch=20); legend("topleft", c("dbsnp","truth"),col=c("black","magenta"),pch=c(20,20))