这是《Bioconductor 中的 R 包安装教程》的第二篇,完整的文章可以点击阅读原文查阅。
安装新版本的 Bioconductor R 包
Bioconductor 是与特定版本的 R 绑定的,正常来说当 Bioconductor 的包都来自同一版本时,它们的效果最佳。
Bioconductor versions are associated with specific R versions, as summarized here. Attempting to install a version of Bioconductor that is not supported by the version of R in use leads to an error; using the most recent version of Bioconductor may require installing a new version of R. From:https://cran.r-project.org/web/packages/BiocManager/vignettes/BiocManager.html
所以,当有些 R 包是基于高版本的 Bioconductor 开发的,在低版本的 Bioconductor/R 中直接执行BiocManager::install("package")
,安装得到的 package 版本默认是与当前版本 Bioconductor/R 相匹配的,而并非是最新的版本。
以 DiffBind 包为例,DiffBind==3.4.0 是基于 Bioconductor==3.14(对应 R-4.1)开发的;我们在 Bioconductor==3.13(对应 R-4.0)中执行BiocManager::install("DiffBind")
,默认安装的是 DiffBind==3.0.15!
1. 源码方式安装
如果想要在 Bioconductor==3.13(对应 R-4.0)中安装 DiffBind==3.4.0,可以直接通过源码包的方式安装:
代码语言:javascript复制> packageurl <- "http://bioconductor.org/packages/release/bioc/src/contrib/DiffBind_3.4.0.tar.gz"
> install.packages(packageurl, repos=NULL, type="source")
2. BiocInstaller 安装
我们以在 R-3.4(Bioconductor==3.6)中安装最新版本的 clusterProfiler 为例。
在 Aanconda2 环境 R==3.4.3 中安装 clusterProfiler,发现package ‘clusterProfile’ is not available (for R version 3.4.3)
。
> source("https://bioconductor.org/biocLite.R")
Bioconductor version 3.6 (BiocInstaller 1.28.0), ?biocLite for help
A new version of Bioconductor is available after installing the most recent
version of R; see http://bioconductor.org/install
> biocLite("clusterProfile")
BioC_mirror: https://bioconductor.org
Using Bioconductor 3.6 (BiocInstaller 1.28.0), R 3.4.3 (2017-11-30).
Installing package(s) ‘clusterProfile’
Old packages: 'ade4', 'ape', 'backports', 'caret', ......
Update all/some/none? [a/s/n]: n
Warning message:
package ‘clusterProfile’ is not available (for R version 3.4.3)
使用 BiocInstaller
安装 clusterProfiler:
> source("https://bioconductor.org/biocLite.R")
Bioconductor version 3.6 (BiocInstaller 1.28.0), ?biocLite for help
A new version of Bioconductor is available after installing the most recent
version of R; see http://bioconductor.org/install
> BiocInstaller::biocLite("clusterProfiler")
BioC_mirror: https://bioconductor.org
Using Bioconductor 3.6 (BiocInstaller 1.28.0), R 3.4.3 (2017-11-30).
Installing package(s) ‘clusterProfiler’
trying URL 'https://bioconductor.org/packages/3.6/bioc/src/contrib/clusterProfiler_3.6.0.tar.gz'
Content type 'application/x-gzip' length 4478098 bytes (4.3 MB)
==================================================
downloaded 4.3 MB
* installing *source* package ‘clusterProfiler’ ...
** R
** data
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded
* DONE (clusterProfiler)
> packageVersion('clusterProfiler')
[1] ‘3.6.0’
install.packages 一站式方案
用install.packages
来安装 CRAN 和 Bioconductor 所有的包!这是来自于 Y 叔 2018-09-25 在公众号发表的《不用 biocLite 安装 Bioconductor 包》介绍的方法。这里截取部分内容介绍一下。
代码语言:javascript复制用 install.packages 来安装 CRAN 和 Bioconductor 所有的包,你要做的很简单,在 ~/.Rprofile 里加入以下两行内容。
options(BioC_mirror="https://mirrors.tuna.tsinghua.edu.cn/bioconductor")
utils::setRepositories(ind=1:2)
第一行,使用国内的镜像,我这里用的是清华大学的,第二行,设定
install.packages
从 CRAN 和 Bioconductor 中搜索包,其实你还可以让它支持比如 R-Forge 以及各种第三方的仓库。 然后你就可以愉快地使用install.packages
来安装 Bioconductor 包了。
安装体积比较大的 R 包
安装 CRAN 或者 Bioconductor 中一些体积比较大的 R 包,如果网络不太好,经常可能会出现包下载不完(Timeout of 60 seconds was reached),从而导致无法正常安装。
参考 How do i set a timeout for utils::download.file() in R - Stack Overflow,增加 timeout 时长的同时使用国内的镜像进行加速:
代码语言:javascript复制getOption('timeout')
# [1] 60
options(timeout=100)
以上,就是这一次 Bioconductor R 包安装和使用的全部内容,希望对大家有所帮助。