Single cell packages and dependencies in Bioconductor using BiocPkgTools

The Bioconductor package ecosystem continues to grow at an exponential rate (check it–I am right). We have recently completed the BiocPkgtools package that can mine package metadata, build reports, dependencies and can produce interesting plots of package dependencies. I was recently asked about the dependency structure of packages labeled by the package authors (using biocViews) as “SingleCell”. I am posting the code here, just for fun.

library(BiocPkgTools)
library(igraph)
library(visNetwork)
bpl = biocPkgList()
bpl_sc = bpl[grepl('SingleCell', bpl$biocViews),]
dep_df = buildPkgDependencyDataFrame()
dep_graph = buildPkgDependencyIgraph(dep_df)
dep_graph_sc = inducedSubgraphByPkgs(dep_graph, bpl_sc$Package )
ledges <- data.frame(color = c("green", "lightblue", "red"),
                     label = c("Depends", "Suggests", "Imports"), arrows =c("from", "from", "from"))
visnet_data = toVisNetworkData(dep_graph_sc)
visnet_data$nodes$color=NULL
visNetwork(nodes = visnet_data$nodes, edges = visnet_data$edges, height = "500px") %>% 
  visNodes(size=50, font = list(size=50)) %>% 
  visIgraphLayout("layout_with_dh", weight.node.dist=15)

Figure 1: Bioconductor packages (nodes) related to SingleCell biocViews term and their dependencies edges. The plot is interactive (zoom, pan, etc.).

The F1000Research publication is now available.

And the packages needed:

devtools::session_info()
## ─ Session info ──────────────────────────────────────────────────────────
##  setting  value                       
##  version  R version 3.6.1 (2019-07-05)
##  os       macOS Mojave 10.14.2        
##  system   x86_64, darwin15.6.0        
##  ui       X11                         
##  language (EN)                        
##  collate  en_US.UTF-8                 
##  ctype    en_US.UTF-8                 
##  tz       America/New_York            
##  date     2019-10-14                  
## 
## ─ Packages ──────────────────────────────────────────────────────────────
##  package      * version   date       lib
##  assertthat     0.2.1     2019-03-21 [1]
##  backports      1.1.4     2019-04-10 [1]
##  Biobase        2.45.0    2019-05-02 [1]
##  BiocGenerics   0.31.4    2019-06-10 [1]
##  BiocManager    1.30.4    2018-11-13 [1]
##  BiocPkgTools * 1.3.1     2019-06-25 [1]
##  biocViews      1.53.2    2019-05-28 [1]
##  bitops         1.0-6     2013-08-17 [1]
##  blogdown       0.13.1    2019-10-13 [1]
##  bookdown       0.11      2019-05-28 [1]
##  callr          3.2.0     2019-03-15 [1]
##  cli            1.1.0     2019-03-19 [1]
##  crayon         1.3.4     2017-09-16 [1]
##  desc           1.2.0     2018-05-01 [1]
##  devtools       2.0.2     2019-04-08 [1]
##  digest         0.6.19    2019-05-20 [1]
##  dplyr          0.8.1     2019-05-14 [1]
##  DT             0.7       2019-06-11 [1]
##  evaluate       0.14      2019-05-28 [1]
##  fs             1.3.1     2019-05-06 [1]
##  gh             1.0.1     2017-07-16 [1]
##  glue           1.3.1     2019-03-12 [1]
##  graph          1.63.0    2019-05-02 [1]
##  hms            0.4.2     2018-03-10 [1]
##  htmltools      0.3.6     2017-04-28 [1]
##  htmlwidgets  * 1.3       2018-09-30 [1]
##  httr           1.4.0     2018-12-11 [1]
##  igraph       * 1.2.4.1   2019-04-22 [1]
##  jsonlite       1.6       2018-12-07 [1]
##  knitr          1.23      2019-05-18 [1]
##  magrittr       1.5       2014-11-22 [1]
##  memoise        1.1.0     2017-04-21 [1]
##  pillar         1.4.2     2019-06-29 [1]
##  pkgbuild       1.0.3     2019-03-20 [1]
##  pkgconfig      2.0.2     2018-08-16 [1]
##  pkgload        1.0.2     2018-10-29 [1]
##  prettyunits    1.0.2     2015-07-13 [1]
##  processx       3.3.1     2019-05-08 [1]
##  ps             1.3.0     2018-12-21 [1]
##  purrr          0.3.2     2019-03-15 [1]
##  R6             2.4.0     2019-02-14 [1]
##  RBGL           1.61.0    2019-05-02 [1]
##  Rcpp           1.0.1     2019-03-17 [1]
##  RCurl          1.95-4.12 2019-03-04 [1]
##  readr          1.3.1     2018-12-21 [1]
##  remotes        2.1.0     2019-06-24 [1]
##  rex            1.1.2     2017-10-19 [1]
##  rlang          0.4.0     2019-06-25 [1]
##  rmarkdown      1.13      2019-05-22 [1]
##  rprojroot      1.3-2     2018-01-03 [1]
##  RUnit          0.4.32    2018-05-18 [1]
##  rvest          0.3.4     2019-05-15 [1]
##  sessioninfo    1.1.1     2018-11-05 [1]
##  stringi        1.4.3     2019-03-12 [1]
##  stringr        1.4.0     2019-02-10 [1]
##  testthat       2.1.1     2019-04-23 [1]
##  tibble         2.1.3     2019-06-06 [1]
##  tidyr          0.8.3     2019-03-01 [1]
##  tidyselect     0.2.5     2018-10-11 [1]
##  usethis        1.5.0     2019-04-07 [1]
##  visNetwork   * 2.0.7     2019-05-27 [1]
##  withr          2.1.2     2018-03-15 [1]
##  xfun           0.8       2019-06-25 [1]
##  XML            3.98-1.20 2019-06-06 [1]
##  xml2           1.2.0     2018-01-24 [1]
##  yaml           2.2.0     2018-07-25 [1]
##  source                                
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  Bioconductor                          
##  Bioconductor                          
##  CRAN (R 3.6.0)                        
##  Github (seandavi/BiocPkgTools@f6c6504)
##  Bioconductor                          
##  CRAN (R 3.6.0)                        
##  Github (seandavi/parBlogdown@d837e0e) 
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  Bioconductor                          
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  Bioconductor                          
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
##  CRAN (R 3.6.0)                        
## 
## [1] /Library/Frameworks/R.framework/Versions/3.6/Resources/library
Avatar
Sean Davis
Senior Associate Scientist

My interests include biomedical data science, open data, genomics, and cancer research.

Related

comments powered by Disqus