最近很多人問我的問題都是R包安裝的問題。在之前R包只要更新到最新版本,且能夠聯(lián)網(wǎng),就可以輕松安裝。,但現(xiàn)在隨著R的功能越來越多,越來越強大。R包也越來越難安裝了。并且什么人都可以開發(fā)發(fā)布R包,很多垃圾包也占用很多戲份。目前R包安裝牽扯到配置依賴環(huán)境,越來越走向開源軟件的通病了,所以,我一般都推薦使用bioconda來安裝。但是有涉及到很多版本問題。這次內(nèi)容,我們介紹一種解決方法。如果能用就用,用不了就別做了。不要問我實驗室網(wǎng)速慢怎么解決,難道我還得去幫你辦個前兆網(wǎng)絡(luò)嗎。
利用bioconda安裝R R的包一般都是以r-開頭的,比如R語言本身為r-base。 利用bioconda安裝R與R包
1、配置R源 #查看當前配置哪些源 $ conda config --show channels #添加R源 $ conda config --add channels r
2、安裝R #查看系統(tǒng)當前R版本 $ which R /usr/bin/R #利用conda搜索R $ conda search r-base Loading channels: done # Name Version Build Channel r-base 3.1.2 0 pkgs/r conda-forge r-base 3.6.3 h7ed4ef7_0 conda-forge r-base 3.6.3 h7ed4ef7_1 conda-forge r-base 4.0.0 hdca8982_2 conda-forge r-base 4.0.0 hdca8982_3 conda-forge #安裝R語言 $ conda install -c conda-forge -y r-base=4.0.0 #再次搜索默認R $ which R ~/miniconda3/bin/R
3、安裝R包 #搜索deseq2包 $ conda search deseq2 Loading channels: done No match found for: deseq2. Search: *deseq2* # Name Version Build Channel bioconductor-deseq2 1.8.2 r3.2.2_0 bioconda bioconductor-deseq2 1.10.0 r3.2.2_0 bioconda bioconductor-deseq2 1.10.0 r3.2.2_1 bioconda bioconductor-deseq2 1.10.1 r3.2.2_0 bioconda #安裝deseq2包 $ conda install -y bioconductor-deseq2
R包遷移 R包一般都是一個完整文件,只需要將R包整個文件夾遷移走,一般就可以運行。對R包進行遷移時,盡量保證R版本一致。 該方法只是一種方案,絕大部分包是可以的。但是注意不能將windows系統(tǒng)安裝的遷移到Linux下。該方法也不是萬無一失,比如R包需要系統(tǒng)一些配置,缺少了還是無法運行。 (base) wangtong 10:24:06 ~ #使用自己安裝的R $ /ifs1/Software/biosoft/R-4.1.1/bin/R
#列出當前R包目錄,有兩個 > .libPaths() [1] '/home/wangtong/R/x86_64-pc-linux-gnu-library/4.1' [2] '/ifs1/Software/biosoft/R-4.1.1/library' #通過new選項增加新的目錄 > .libPaths(new='/ifs1/Software/miniconda3/lib/R/library') #新的目錄增加進來了,這樣一下子就多了很多包可以使用 > .libPaths() [1] '/ifs1/Software/miniconda3/lib/R/library' [2] '/ifs1/Software/biosoft/R-4.1.1/library'
new選項會去掉之前默認的,可以通過在函數(shù)中增加一個向量增加多個目錄。 > .libPaths() [1] '/home/wangtong/R/x86_64-pc-linux-gnu-library/4.1' [2] '/ifs1/Software/biosoft/R-4.1.1/library' > .libPaths(c(.libPaths(),'/ifs1/Software/miniconda3/lib/R/library')) > .libPaths() [1] '/home/wangtong/R/x86_64-pc-linux-gnu-library/4.1' [2] '/ifs1/Software/biosoft/R-4.1.1/library' [3] '/ifs1/Software/miniconda3/lib/R/library'
注意事項 1、bioconda最好升級到最新版本 conda update -n base -c defaults conda 2、R的名字為r-base
3、R包的名字在bioconda中以r-為前綴 4、一些Bioconductor包的名字為bioconductor-前綴 5、如果bioconda安裝終端了,再多試幾次
|