Bioconductor/genefilter

bioc-devel namespace issue due to S4Vectors change

Closed this issue · 2 comments

I'm seeing a namespace error for genefilter pop up in some of my Docker image builds against bioc-devel (3.10):

Error: objects ‘rowSums’, ‘colSums’, ‘rowMeans’, ‘colMeans’ are not exported by 'namespace:S4Vectors'
Execution halted
ERROR: lazy loading failed for package ‘genefilter’

This is due to the change in S4Vectors that these generics are now exported only in BiocGenerics.

Best,
Mike

Relevant session info:

> packageVersion("BiocVersion")
[1] ‘3.10.1’
> packageVersion("BiocGenerics")
[1] ‘0.31.6’
> packageVersion("S4Vectors")
[1] ‘0.23.24’

This suggests your genefilter is not current, perhaps because you cloned it from this git repository, which had become out-of-sync with the cannonical location https://git.bioconductor.org/packages/genefilter and development package https://bioconductor.org/packages/devel/genefilter

@mtmorgan I think I figured out the issue. Installing some GitHub dependencies (e.g. "hbc/bcbioRNASeq") with remotes::install_github() isn't picking up the correct Bioconductor devel repos, whereas installing with BiocManager::install() does work as expected.

The remotes package is attempting to install Bioconductor dependencies from the 3.9 URL instead of 3.10: https://bioconductor.org/packages/3.9

I'll stick with using BiocManager::install() consistently in my recipes.

In case anyone comes across this issue in the future, related Dockerfiles are here:
https://github.com/acidgenomics/docker