Bewildering PCA plot at DiffBind
1
0
Entering edit mode
Sam ▴ 10
@sam-21502
Last seen 1 day ago
Jerusalem

I got a strange PCA (for DiffBind version 2.12.0 which is not the newest version).

The first PC explains 90% of the variance. Nevertheless, the distances on the first PC (which are supposed to be a measure of the distances between the samples) are smaller than those of the second PC. Furthermore, the correlation plot conforms with the clustering as it is according to the second PC (which explains only 6% of the variance). It's a bit hard to discern the labels, but you can see that S1, S2 and S3 form a separate cluster in the hierachical clustering of the distance heatmap. That corresponds to the 2nd PC , not the first (which explains a much larger percentage of variance).

How to make sense of it?

library(DiffBind)

design_i <- read.csv("design_vs_Input.csv")

dbObj_i <- dba(sampleSheet = design_i)
dbObj_i <- dba.count(dbObj_i)

plot(dbObj_i)
dba.plotPCA(dbObj_i)

sessionInfo( )

PCA Heatmap

R version 3.6.3 (2020-02-29)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 18.04.5 LTS

Matrix products: default
BLAS:   /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.7.1
LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.7.1

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C               LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8     LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                  LC_ADDRESS=C               LC_TELEPHONE=C             LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] parallel  stats4    stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] DiffBind_2.12.0             SummarizedExperiment_1.14.1 DelayedArray_0.10.0         BiocParallel_1.18.1         matrixStats_0.57.0         
 [6] Biobase_2.44.0              GenomicRanges_1.36.1        GenomeInfoDb_1.20.0         IRanges_2.18.3              S4Vectors_0.22.1           
[11] BiocGenerics_0.30.0        

loaded via a namespace (and not attached):
  [1] amap_0.8-18              colorspace_2.0-0         rjson_0.2.20             hwriter_1.3.2            ellipsis_0.3.1           XVector_0.24.0          
  [7] base64enc_0.1-3          rstudioapi_0.13          ggrepel_0.8.2            bit64_4.0.5              AnnotationDbi_1.46.1     splines_3.6.3           
 [13] knitr_1.28               jsonlite_1.7.1           Rsamtools_2.0.3          annotate_1.62.0          GO.db_3.8.2              png_0.1-7               
 [19] pheatmap_1.0.12          graph_1.62.0             compiler_3.6.3           httr_1.4.2               GOstats_2.50.0           backports_1.2.0         
 [25] Matrix_1.2-18            limma_3.40.6             htmltools_0.5.0          prettyunits_1.1.1        tools_3.6.3              gtable_0.3.0            
 [31] glue_1.4.2               GenomeInfoDbData_1.2.1   Category_2.50.0          systemPipeR_1.18.2       dplyr_1.0.2              batchtools_0.9.14       
 [37] rappdirs_0.3.1           ShortRead_1.42.0         Rcpp_1.0.5               vctrs_0.3.5              Biostrings_2.52.0        rtracklayer_1.44.4      
 [43] xfun_0.13                stringr_1.4.0            lifecycle_0.2.0          gtools_3.8.2             XML_3.99-0.3             edgeR_3.26.8            
 [49] zlibbioc_1.30.0          scales_1.1.1             BSgenome_1.52.0          VariantAnnotation_1.30.1 hms_0.5.3                RBGL_1.60.0             
 [55] RColorBrewer_1.1-2       yaml_2.2.1               memoise_1.1.0            ggplot2_3.3.2            biomaRt_2.40.5           latticeExtra_0.6-29     
 [61] stringi_1.5.3            RSQLite_2.2.1            genefilter_1.66.0        checkmate_2.0.0          GenomicFeatures_1.36.4   caTools_1.18.0          
 [67] rlang_0.4.8              pkgconfig_2.0.3          bitops_1.0-6             evaluate_0.14            lattice_0.20-41          purrr_0.3.4             
 [73] GenomicAlignments_1.20.1 bit_4.0.4                tidyselect_1.1.0         GSEABase_1.46.0          AnnotationForge_1.26.0   magrittr_2.0.1          
 [79] R6_2.5.0                 gplots_3.1.0             generics_0.1.0           base64url_1.4            DBI_1.1.0                pillar_1.4.6            
 [85] withr_2.3.0              survival_3.2-7           RCurl_1.98-1.2           tibble_3.0.4             crayon_1.3.4             KernSmooth_2.23-18      
 [91] rmarkdown_2.1            jpeg_0.1-8.1             progress_1.2.2           locfit_1.5-9.4           grid_3.6.3               data.table_1.13.2       
 [97] blob_1.2.1               Rgraphviz_2.28.0         digest_0.6.27            xtable_1.8-4             brew_1.0-6               munsell_0.5.0
DiffBind • 913 views
ADD COMMENT
2
Entering edit mode
Rory Stark ★ 5.2k
@rory-stark-5741
Last seen 14 days ago
Cambridge, UK

There was a bug in the PCA plots in DiffBind_2.12, fixed in any version after that!

ADD COMMENT

Login before adding your answer.

Traffic: 1050 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6