Residual Disease Paper ======================================================== Comparing RD Results ------------------------------------------------------- by Shelley Herbrich ## 1 Executive Summary ### 1.1 Introduction Using the true residual disease (RD) status for the validation cohort, we are interested to check our predictions using FABP4 and ADH1B. ### 1.2 Data and Methods We work with the results dataset, *PCRResults*. For both target genes, we define our subset of patients with enriched proportion of residual disease as those with the top 25% of expression (this corresponds to the top 35 samples). ### 1.3 Results We plot the sorted log2 FABP4 and ADH1B values based on our quantification method. We also plot ADH1B against FABP4. ## 2 Loading Libraries and Quantification Data We load the PCR results, containing our quantification summaries and true RD status. ```r library(qpcR) library(gdata) ``` ```r load(file.path("RDataObjects", "PCRResults.RData")) load(file.path("RDataObjects", "rawPCRData.RData")) ``` ```r sampleID <- PCRResults$Sample.Name rd <- PCRResults$RDStatus names(rd) <- sampleID ``` ## 3 Flagging RD Using FABP4 First, we graphically examine our cutoff of the top 25th percentile based on levels of FABP4. ```r plot(rev(PCRResults$FABP4), ylab = "Initial Amount (log2)", xlab = "", pch = 21, bg = c("grey", "red")[rev(factor(rd))], main = "Sorted FABP4 Concentrations") abline(h = -20.05, lty = 2) mtext("25%", side = 4, at = -16.5, las = 2, line = 0.5, cex = 0.8) legend("topleft", c("Yes", "No"), pch = 19, col = c("red", "grey"), bty = "n", title = "RD Status") ``` ![plot of chunk plotSortedFABP4](figure/RDValidation-plotSortedFABP4.png) We do see a subgroup with an enriched proportion of residual disease that is associated with high FABP4. In our cohort where the overall percentage of patients with residual disease is 60%, we are able to identify a subgroup with 86% residual disease. ```r table(rd[1:35])/sum(table(rd[1:35])) ``` ``` ## ## No Yes ## 0.1429 0.8571 ``` ```r table(rd[36:139])/sum(table(rd[36:139])) ``` ``` ## ## No Yes ## 0.4808 0.5192 ``` ```r fisher.test(matrix(c(30, 5, 54, 50), ncol = 2), alternative = "greater") ``` ``` ## ## Fisher's Exact Test for Count Data ## ## data: matrix(c(30, 5, 54, 50), ncol = 2) ## p-value = 0.0002489 ## alternative hypothesis: true odds ratio is greater than 1 ## 95 percent confidence interval: ## 2.191 Inf ## sample estimates: ## odds ratio ## 5.494 ``` Based on a one-sided Fisher's Exact test, the difference in proportion of residual disease is significantly higher for those with elevated FABP4. ## 4 Flagging RD Using ADH1B Now, we look at the top 25th percentile based on ADH1B. ```r orderADH1B <- order(PCRResults$ADH1B) plot(PCRResults$ADH1B[orderADH1B], ylab = "Initial Amount (log2)", xlab = "", pch = 21, bg = c("grey", "red")[factor(rd[orderADH1B])], main = "Sorted ADH1B Concentrations") abline(h = -19.15, lty = 2) mtext("25%", side = 4, at = -16.5, las = 2, line = 0.5, cex = 0.8) legend("topleft", c("Yes", "No"), pch = 19, col = c("red", "grey"), bty = "n", title = "RD Status") ``` ![plot of chunk plotSortedADH1B](figure/RDValidation-plotSortedADH1B.png) Using ADH1B alone, we are also able to define a subgroup with an enriched proportion (86%) of residual disease. ```r table(rd[rev(orderADH1B)[1:35]])/sum(table(rd[rev(orderADH1B)[1:35]])) ``` ``` ## ## No Yes ## 0.1429 0.8571 ``` ```r table(rd[rev(orderADH1B)[36:139]])/sum(table(rd[rev(orderADH1B)[36:139]])) ``` ``` ## ## No Yes ## 0.4808 0.5192 ``` ```r fisher.test(matrix(c(30, 5, 54, 50), ncol = 2), alternative = "greater") ``` ``` ## ## Fisher's Exact Test for Count Data ## ## data: matrix(c(30, 5, 54, 50), ncol = 2) ## p-value = 0.0002489 ## alternative hypothesis: true odds ratio is greater than 1 ## 95 percent confidence interval: ## 2.191 Inf ## sample estimates: ## odds ratio ## 5.494 ``` Again, we see the difference in proportion of residual disease is significantly higher for those with elevated ADH1B. ```r byBoth <- intersect(PCRResults$Sample.Name[1:35], PCRResults$Sample.Name[rev(orderADH1B)[1:35]]) rd[byBoth] ``` ``` ## W20 W46 M80 M71 M61 M22 W38 M64 M24 W34 M54 W4 ## "No" "Yes" "Yes" "Yes" "Yes" "Yes" "Yes" "Yes" "Yes" "Yes" "Yes" "Yes" ## W44 M52 W28 W55 M81 M32 W22 M76 M18 W16 M40 ## "Yes" "Yes" "Yes" "Yes" "Yes" "Yes" "Yes" "Yes" "Yes" "Yes" "Yes" ``` Of the 35 samples flagged by either marker, 23 were flagged by both (22 RD, 1 no RD). ```r rawPCRData[which(rawPCRData$Sample.Name == "W20"), 1:5] ``` ``` ## Source Plate Well Sample.Name Target.Name ## 205 Washington Plate.4 C1 W20 ADH1B ## 208 Washington Plate.4 C4 W20 FABP4 ## 211 Washington Plate.4 C7 W20 18S ## 212 Washington Plate.4 C8 W20 18S ## 213 Washington Plate.4 C9 W20 18S ``` Here, we note that for the single sample with RD two wells for both ADH1B and FABP4 were removed due to poor PCR quality leaving only a single replicate to quantify each target gene. ## 5 Flagging RD Using Both ADH1B and FABP4 ```r plot(PCRResults$FABP4, PCRResults$ADH1B, ylab = "ADH1B", xlab = "FABP4", pch = 21, bg = c("grey", "red")[factor(rd)], main = "") abline(a = -39.5, b = -1) ``` ![plot of chunk both](figure/RDValidation-both.png) ```r sum(-39.5 - PCRResults$FABP4 < PCRResults$ADH1B, na.rm = TRUE) ``` ``` ## [1] 35 ``` ```r byBothSim <- PCRResults$Sample.Name[which(-39.5 - PCRResults$FABP4 < PCRResults$ADH1B)] table(rd[byBothSim]) ``` ``` ## ## No Yes ## 4 31 ``` By using both markers simultaneously, we improve our enriched subgroup to 89% residual disease. ## Appendix ```r getwd() ``` ``` ## [1] "/Users/slt/SLT WORKSPACE/EXEMPT/OVARIAN/Ovarian residual disease study 2012/RD manuscript/Web page for paper/Webpage" ``` ```r sessionInfo() ``` ``` ## R version 3.0.2 (2013-09-25) ## Platform: x86_64-apple-darwin10.8.0 (64-bit) ## ## locale: ## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8 ## ## attached base packages: ## [1] stats graphics grDevices utils datasets methods base ## ## other attached packages: ## [1] gdata_2.13.2 qpcR_1.3-7.1 robustbase_0.9-10 rgl_0.93.963 ## [5] minpack.lm_1.1-8 MASS_7.3-29 knitr_1.5 ## ## loaded via a namespace (and not attached): ## [1] evaluate_0.5.1 formatR_0.9 gtools_3.1.0 stringr_0.6.2 ## [5] tools_3.0.2 ```