将dada2安装到通过condas

时间:2017-08-07 22:18:18

标签: r installation conda

我有一个通过condas安装R的环境(我目前使用R和jupyter笔记本,所以这在某一点上是有意义的)。我想在这个版本的R中使用dada2。

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

 conda install -c bioconda bioconductor-dada2 

给了我以下错误

获取包元数据............. 解决包装规格:。

  

不满意错误:发现以下规格   冲突:      - bioconductor-dada2 - > bioconductor-biostrings> = 2.32.1 - > bioconductor-biocgenerics> = 0.15.6 - > r 3.3.1 * - > r-base 3.3.1      - r-glue使用“conda info”查看每个包的依赖关系。

如果我运行conda info package r-glue,我可以看到它取决于r-base 3.4.1。

替代方法也不起作用:

我也试过进入R并从那里安装,但我无法使用R软件包安装任何软件包

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

给了我一个非常长的输出,但缺点是一堆依赖项返回错误

  

错误:包'RcppParallel'的编译失败   *删除'/ home / jacob / anaconda3 / lib / R / library / RcppParallel'错误:依赖'S4Vectors'不适用于'IRanges'包   *删除'/ home / jacob / anaconda3 / lib / R / library / IRanges'ERROR:依赖'S4Vectors','IRanges','matrixStats'不可用   包'DelayedArray'

然后更多的东西,最后

错误:依赖项'Biostrings','ShortRead','RcppParallel'不适用于'dada2'包 *删除'/ home / jacob / anaconda3 / lib / R / library / dada2'

  

下载的源包在     '/ tmp / Rtmptx8OqE / downloaded_pa​​ckages'更新包的HTML索引   在'.Library'制作'packages.html'...完成旧包装:'curl',   'dplyr','外国','避风港','httpuv','mgcv','purrr','Rcpp',   'TTR','xts'更新全部/部分/无? [A / S / N]:

然后所有更新都失败了。

正确的答案是不尝试在R中使用带有condas的dada2,而只是使用一个condas独立版本的R,或者是否有某种方式我缺少?

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

2 个答案:

答案 0 :(得分:1)

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

.condarc

channels:
  - conda-forge
  - bioconda
  - defaults

万一它对任何人都有帮助,可以在这里查看:https://github.com/abalter/dada2-tools

答案 1 :(得分:0)

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

 conda remove r

选中以确保使用conda list

然后我重新安装了旧版本的r      conda install r == 3.3.1

其次是dada2

 conda install -c bioconda bioconductor-dada2 

哪个有效。最后我添加了r-essentials(我需要特别让jupyter笔记本工作)

 conda install -c bioconda bioconductor-dada2 

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