不用biocLite安装Bioconductor包
Bioconductor包的标准安装方法是:
source("https://bioconductor.org/biocLite.R")
biocLite(pkg_name)
这其实是非常不好的,多年以来,一直没有改进,试想一下,bioconductor的网站如果被人黑了,放一段危险的代码,然后你却傻傻地去source
它,真的是画面太美!
Bioconductor终于是想要改变了,往CRAN上扔了一个叫BiocManager
的包,以后通过CRAN安装这个包,再通过这个包来安装Bioconductor的包,显得安全多了,也不用大家费辣么多口水说你得先source
一段网上的代码,当然这个BiocManager
还不成熟,起码还没有在BiocInstaller
加载的时候提示大家转而用BiocManager
,也没有在Bioconductor的网页上介绍使用它来安装。
个人的经验嘛,我安装之后,加载出错,认不出我用的Bioconductor版本。
> require(BiocManager)
Loading required package: BiocManager
Error: package or namespace load failed for ‘BiocManager’:
.onAttach failed in attachNamespace() for 'BiocManager', details:
call: NULL
error: invalid version specification ‘Bioconductor version cannot be validated; no internet connection?’
希望以后会好起来,然而现在你还只能傻傻地去source
一段网上的代码。
今天要告诉大家一个小贴士,让你用install.packages
来安装CRAN和Bioconductor所有的包,我最近就这么干,因为我回到广州之后,发现library(BiocInstaller)
有些慢,而我是个没耐心的人。
你要做的很简单,在~/.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包了。
当然Bioconductor这帮人搞BiocInstaller
或者BiocManager
是有原因的,因为Bioconductor和R版本绑定,为了确保用户不把包安装在错误的版本上。而你自己强搞的话,是有可能乱搞的,所以如果你要用我这个小贴士的话,请确保你一直在使用最新版本的R。能力越大,责任越大。自己瞎搞得有能力解决搞出的各种问题。