% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/biocPkgList.R
\name{biocPkgList}
\alias{biocPkgList}
\title{Get full Bioconductor software package listing, with details}
\usage{
biocPkgList(
  version = BiocManager::version(),
  repo = c("BioCsoft", "BioCexp", "BioCworkflows", "BioCann", "CRAN"),
  addBiocViewParents = TRUE
)
}
\arguments{
\item{version}{\code{character(1)} or \code{package_version} indicating the
\emph{Bioconductor} version (e.g., "3.22"). Defaults to the "current version"
provided by \code{BiocManager::version()}. The keywords "release" and "devel"
are also accepted.}

\item{repo}{\code{character(1)} The requested Bioconductor repository. The default
is to pull from the "BioCsoft" repository. Possible repositories include
"BioCsoft", "BioCexp", "BioCworkflows", "BioCann", and "CRAN". Note that
not all repos are available for all versions, particularly older versions.}

\item{addBiocViewParents}{\code{logical(1)} whether to add all biocViews
parents to biocViews annotations.}
}
\value{
An object of class \code{tbl_df} with one row per package. The result
always includes a \code{fnd} list-column whose elements are character vectors
of funder names extracted from persons with role \code{"fnd"} in the
formatted \code{Author} field. Elements are \code{NA_character_} for packages
that declare no funder (or whose \code{Author} field contains no \verb{[fnd]}
role tag).
}
\description{
The BiocViews-generated \code{VIEWS} file is available
for Bioconductor release and devel repositories. It
contains quite a bit more information from the
package \code{DESCRIPTION} files than the \code{PACKAGES}
file. In particular, it contains \code{biocViews} annotations
and URLs for vignettes and developer URLs.
}
\details{
Since packages are annotated with the most specific
views, the default functionality here is to add parent terms
for all views for each package. For example, in the bioCsoft
repository, all packages will have at least "Software" added
to their biocViews. If one wants to stick to only the most
specific terms, set \code{addBiocViewParents} to \code{FALSE}.
}
\examples{
bpkgl <- biocPkgList(repo = "BioCsoft")
bpkgl
unlist(bpkgl[1,'Depends'], use.names = FALSE)

# Get a list of all packages that
# import "GEOquery"
library(dplyr)
bpkgl |>
  filter(Package == 'GEOquery') |>
  pull('importsMe') |>
  unlist()

}
