buildPkgDependencyDataFrame {BiocPkgTools} | R Documentation

## Work with Bioconductor package dependencies

### Description

Bioconductor is built using an extensive set of core capabilities and data structures. This leads to package developers depending on other packages for interoperability and functionality. This function extracts package dependency information from `biocPkgList` and returns a tidy `data.frame` that can be used for analysis and to build graph structures of package dependencies.

### Usage

    buildPkgDependencyDataFrame(
      dependencies = c("Depends", "Imports", "Suggests"),
      ...
    )

### Arguments

`dependencies` | character() vector including one or more of "Depends", "Imports", or "Suggests". Default is to include all possibilities.
`...` | parameters passed along to `biocPkgList`

### Value

A `data.frame` (also a `tbl_df`) of S3 class "biocDepDF" including columns "Package", "dependency", and "edgetype".

### Note

This function requires network access.

### See Also

See `buildPkgDependencyIgraph`, `biocPkgList`.

### Examples

    # performs a network call, so must be online.
    library(BiocPkgTools)
    depdf = buildPkgDependencyDataFrame()
    head(depdf)
    library(dplyr)
    # filter to include only "Imports" type
    # dependencies
    imports_only = depdf %>% filter(edgetype=='Imports')

    # top ten most imported packages
    imports_only %>% select(dependency) %>%
      group_by(dependency) %>% tally() %>%
      arrange(desc(n))

    # Bioconductor packages doing the largest
    # amount of importing
    largest_importers = imports_only %>%
      select(Package) %>%
      group_by(Package) %>% tally() %>%
      arrange(desc(n))

    # not sure what these packages do. Join
    # to their descriptions
    biocPkgList() %>% select(Package, Description) %>%
      left_join(largest_importers) %>% arrange(desc(n)) %>%
      head()

[Package BiocPkgTools version 1.8.2 Index]