将 dada2 安装到通过 condas 安装的 R 版本中

installing dada2 into a version of R that was installed through condas

我有一个通过 condas 安装了 R 的环境(我目前将 R 与 jupyter notebook 一起使用,所以这在某一时刻是有意义的)。我想在这个版本的 R 中使用 dada2。

根据此站点 https://anaconda.org/bioconda/bioconductor-dada2 实现此目的的正确命令是

 conda install -c bioconda bioconductor-dada2 

这给了我以下错误

正在获取包元数据 ..................... 解决包规范:.

UnsatisfiableError: The following specifications were found to be in conflict: - bioconductor-dada2 -> bioconductor-biostrings >=2.32.1 -> bioconductor-biocgenerics >=0.15.6 -> r 3.3.1* -> r-base 3.3.1 - r-glue Use "conda info " to see the dependencies for each package.

如果我运行 conda info package r-glue我可以看到它依赖于r-base 3.4.1.

同样无效的替代方法:

我也尝试进入 R 并从那里安装,但我无法获得任何要与 R 包一起安装的包

 source("https://bioconductor.org/biocLite.R")
 biocLite("dada2")

给我一个很长的输出,但缺点是一堆依赖项 return 错误

ERROR: compilation failed for package ‘RcppParallel’ * removing ‘/home/jacob/anaconda3/lib/R/library/RcppParallel’ ERROR: dependency ‘S4Vectors’ is not available for package ‘IRanges’ * removing ‘/home/jacob/anaconda3/lib/R/library/IRanges’ ERROR: dependencies ‘S4Vectors’, ‘IRanges’, ‘matrixStats’ are not available for package ‘DelayedArray’

然后是更多内容,最后

错误:依赖项“Biostrings”、“ShortRead”、“RcppParallel”不适用于包“dada2” * 移除‘/home/jacob/anaconda3/lib/R/library/dada2’

The downloaded source packages are in ‘/tmp/Rtmptx8OqE/downloaded_packages’ Updating HTML index of packages in '.Library' Making 'packages.html' ... done Old packages: 'curl', 'dplyr', 'foreign', 'haven', 'httpuv', 'mgcv', 'purrr', 'Rcpp', 'TTR', 'xts' Update all/some/none? [a/s/n]:

然后所有更新也都失败了。

正确的答案是不尝试在 R 中将 dada2 与 condas 一起使用,而只是使用 R 的 condas 独立版本,还是我遗漏了某些方法?

我在 ubuntu linux 16.04 和 conda 3.2.23 上 运行ning R 版本 3.4.1,这是值得的。

我发现将我的 R 版本降级到 3.3.1 似乎可以解决问题。 为此,我首先删除了 R

 conda remove r

检查以确保与 conda list

一起工作

然后我重新安装了一个旧版本的r 康达安装 r==3.3.1

随后是 dada2

 conda install -c bioconda bioconductor-dada2 

有效。最后我添加了 r-essentials(我特别需要它来让 jupyter notebook 工作)

 conda install -c bioconda bioconductor-dada2 

有了这个,一切似乎都按预期工作。

我也为这个问题苦苦挣扎。在参与 github 问题中包含的一些讨论后,我了解到您的频道顺序实际上需要与 bioconductor 频道文档建议的顺序不同。将此设置为我安装 dada2 的环境的 .condarc 解决了问题。

.condarc

channels:
  - conda-forge
  - bioconda
  - defaults

如果对大家有帮助,可以看这里:https://github.com/abalter/dada2-tools