R包的安装的多种方式整理(R包与R版本或者bioconductor版本不适配)soft-01

背景:在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! #'保存文件

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,294评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,493评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,790评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,595评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,718评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,906评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,053评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,797评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,250评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,570评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,711评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,388评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,018评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,796评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,023评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,461评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,595评论 2 350

推荐阅读更多精彩内容