R包的安装的多种方式整理(R包与R版本或者bioconducto

2023-08-24  本文已影响0人  一车小面包人

背景:在liunx服务器上安装生信分析所需要的各种R包

install.packages("包名")
options(BioC_mirror="http://mirrors.ustc.edu.cn/bioc/") #'更改生信包的镜像
#'还可以更改CRAN仓库的镜像
#'options(CRAN="https://mirrors.ustc.edu.cn/CRAN/") #'将CRAN包的下载镜像设置为清华镜像
library("BiocManager")
BiocManager::install('包名') #'一般情况下使用这个命令可以下载大多数生信R包
#方法一
install.packages("xx.gz", repos = NULL)
#方法二
library(devtools)
devtools::install_local("xx.zip")

在这里,xx.gz通常在包的官网上,举个例子,我准备装biomaRt这个常用的数据库包
首先使用简单的BiocManager方法,报错如下

error.png
那么就去浏览器直接搜索包名biomaRt,进入官网如下
biomaRt.png
从官网可以看见这个包所需要的R版本信息,它和我的R是不匹配的,因此传统方法版本不适配,所以本地化安装,将页面拉到底端
biomaRt.png
点击上图红框中的biomaRt_2.56.1.tar.gz进行下载,在网络没有防火墙的服务器上,可以先右键保存下载链接,直接使用wget 网络链接 进行下载
软件的压缩包下载完成后,将它上传到linux服务器的软件目录下,这个软件目录是自己创建的目录,用来保存除了conda管理包以外的别的软件,例如,我在我的home目录下创建了一个01.software,进入该目录是一些软件包
software.png
在这个路径下,mkdir biomart_soft创建一个目录保存与biomaRt有关的本地压缩包,进入该目录,可以看见我有两个压缩包
software.png
这是因为biomaRt的包下载到服务器上后,我使用本地安装命令
install.packages("/home/***/01.software/biomart_soft/biomaRt_2.56.1.tar.gz/", repos = NULL)
#' 第一个参数就是服务器上保存biomaRt压缩包的完整路径

出现了这样的报错ERROR: dependency ‘BiocFileCache’ is not available for package ‘biomaRt’
而报错中的BiocFileCache包和我的bioconductor版本不适配,使用简单方法也无法下载,因此也需要到这个包的官网,将它的压缩包直接下载并上传到服务器上

BiocFileCache.png
biomaRt.png
至此,biomaRt被成功安装
#'方法一 在线模式
install.packages("githubinstall")
library(githubinstall)
githubinstall("包的github子路径名字") 
library(devtools)
devtools::install_github("包的github子路径名字")
#'方法二 离线模式
install.packages("xx.gz", repos = NULL)
library(devtools)
devtools::install_local("xx.zip")

在线模式的关键是找到包的github子路径,通常情况下我们只知道包的名字,不知道它在github上的子路径是什么,在这里我找到两种方法,举个例子:我准备下载我的环境下简单方法下不了的差异分析包DESeq2
首先,可以进入github网站的首页面,搜索DESeq2
其次,可以使用命令githubinstall("DESeq2")

DESeq2.png
红框中就是提示我这个包在github中的子路径,于是可以继续使用命令
githubinstall("mikelove/DESeq2")

或者命令

library(devtools)
devtools::install_github("mikelove/DESeq2")

完成DESeq2的在线github安装
除此以外,github也能离线安装,例如安装DESeq2就是进入到这个包的github页面,下载离线文件夹*.zip,再使用本地安装

install.packages("xx.zip", repos = NULL)

或者

library(devtools)
devtools::install_local("xx.zip")

这里就小结一下devtools这个工具的两个功能,一是github在线安装功能devtools::install_github("")另外一个是local本地安装功能```devtools::install_local("")

.libPaths(c("自己的conda包路径","别人的路径1","别人的路径2"))

临时的方法只在当前打开的R终端起作用,也就是说当q()退出R终端后,就没有使用别人的包路径,还有一种方法是永久的

cd ~ #'回到自己的home路径
vim .Rprofile #'编辑一个R的配置文档,其实这个文档的意思就是每次启动R时会自动执行的脚本
.libPaths(c("自己的conda包路径","别人的路径1","别人的路径2")) #'在配置文件中输入这句话
:wq! #'保存文件

这样就能偷懒地使用别人千辛万苦下载的包啦

上一篇下一篇

猜你喜欢

热点阅读