美文网首页
R包的安装的多种方式整理(R包与R版本或者bioconducto

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

作者: 一车小面包人 | 来源:发表于2023-08-24 15:11 被阅读0次

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

    • 使用原始的装包命令install.packages("包名")
    install.packages("包名")
    
    • 对于生信软件包,常使用BioManager()
    options(BioC_mirror="http://mirrors.ustc.edu.cn/bioc/") #'更改生信包的镜像
    #'还可以更改CRAN仓库的镜像
    #'options(CRAN="https://mirrors.ustc.edu.cn/CRAN/") #'将CRAN包的下载镜像设置为清华镜像
    library("BiocManager")
    BiocManager::install('包名') #'一般情况下使用这个命令可以下载大多数生信R包
    
    • 困难包的下载-本地安装01
      常有一些顽固的包极难安装,使用简单方法装不上,那么可以先下载到本地,在本地进行安装
    #方法一
    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被成功安装
    • 困难包的下载-github安装02(待整理)
      github包的安装有两种,一种是在线模式,一种是离线模式(离线模式和前面讲的困难包下载一很像,只是包压缩文件的来源不同,这里是在github网站中找)
    #'方法一 在线模式
    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("")

    • 懒人版本:使用别人现成的包
      如果组里有许多大佬,且大佬的包所在的路径是可以访问的,那么我们可以直接使用他们下载好的包
      在R里,使用libPaths()命令,可以查看当前使用的包的路径
      比如我这里
      libs.png
      第一个是我自己conda环境下的R的包路径,也就是我使用conda命令安装的R包会保存在这里,当然,由于在这里它处于第一位,因此我使用install.packages()等命令安装的包也会在这里,如果第一位是别的路径,那么使用install.packages等方法安装的包都会保存到别的路径。而除了我自己的包路径以外,我还使用了组里公共路径中的包,几乎涵盖了常规生信分析的所有包,当然也可以添加别人的conda R中的私人包路径,添加的方法有两种,第一种是临时的
    .libPaths(c("自己的conda包路径","别人的路径1","别人的路径2"))
    

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

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

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

    相关文章

      网友评论

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

          本文链接:https://www.haomeiwen.com/subject/bagmmdtx.html