IMvigor210CoreBiologies中DESeq包安装体会

2022-04-18 14:48:33 浏览数 (2)

前言

最近想研究一下IMvigor210 cohort,生信技能树已经把指南写得很清楚了IMvigor210CoreBiologies包安装指北,但是今天发现了一个bug,花了我几个小时时间,总算找出答案~~~~我把整个过程写下来,研究之后发现,R包的安装有时候真是一把辛酸泪。

首先我们按照流程来

我的R版本是4.1

代码语言:javascript复制
version                      
#platform       x86_64-w64-mingw32          
#arch           x86_64                      
#os             mingw32                     
#system         x86_64, mingw32             
#status                                     
#major          4                           
#minor          1.0                         
#year           2021                        
#month          05                          
#day            18                          
#svn rev        80317                       
#language       R                           
#version.string R version 4.1.0 (2021-05-18)
#nickname       Camp Pontanezen      

我们直接先本地安装,先按照生信技能树教程的指引,去网站下载IMvigor210CoreBiologies_1.0.0.tar.gz和DESeq_1.38.0.tar.gz两个文件,然后本地安装,接着就报错了。

代码语言:javascript复制
install.packages("IMvigor210CoreBiologies_1.0.0.tar.gz",repos=NULL)
#这个是可以安装成功的
load("cds.RData")
#Warning: namespace ‘DESeq’ is not available and has been replaced
#by .GlobalEnv when processing object ‘cds’. 载入需要的程辑包:DESeq
#Failed with error:  ‘程辑包‘DESeq’是在R版本3.0.0之前建的:你得重新安装’
#Error in .requirePackage(package) : unable to find required package ‘DESeq’.
install.packages('DESeq')
#Warning in install.packages :package ‘DESeq’ is not available for this version of R
#A version of this package for your version of R might be available elsewhere,
#see the ideas at https://cran.r-project.org/doc/manuals/r-patched/R-admin.html#Installing-packages

可以看到有2个报错,一个是当我load数据集cds.RData的时候,提示了DESeq包得重新安装,第二个是无法安装DESeq包,也就是说关键在于DESeq包是否成功安装。

那么有没有可能是devtool包的问题,我接着操作了一下,发现devtools是没问题的,我之前有安装过了。

代码语言:javascript复制
library(devtools)
#载入需要的程辑包:usethis
#Warning messages:
#1: 程辑包‘devtools’是用R版本4.1.2 来建造的 
#2: 程辑包‘usethis’是用R版本4.1.2 来建造的 
# devtools::find_rtools()
[1] TRUE

那么我们重新找安装DESep包的办法,采用最官方的语句安装

代码语言:javascript复制
if (!requireNamespace("BiocManager", quietly = TRUE))
    install.packages("BiocManager")
   BiocManager::install("DESeq")
#Warning message:
#package(s) not installed when version(s) same as current; use `force = TRUE` to
#re-install: 'DESeq' 
load("cds.RData")
#Warning: namespace ‘DESeq’ is not available and has been replaced
#by .GlobalEnv when processing object ‘cds’
#载入需要的程辑包:DESeq
#Failed with error:  ‘程辑包‘DESeq’是在R版本4.0.0之前建的:你得重新安装’
#Error in .requirePackage(package) : 
#unable to find required package ‘DESeq’

#按照它的要求,加上force=TRUE
if (!requireNamespace("BiocManager", force=TRUE)
    install.packages("BiocManager")
   BiocManager::install("DESeq")
#Warning message:
#package(s) not installed when version(s) same as current; use `force = TRUE` to
#re-install: 'DESeq' 
load("cds.RData")
#Warning: namespace ‘DESeq’ is not available and has been replaced
#by .GlobalEnv when processing object ‘cds’
#载入需要的程辑包:DESeq
#Failed with error:  ‘程辑包‘DESeq’是在R版本4.0.0之前建的:你得重新安装’
#Error in .requirePackage(package) : 
#unable to find required package ‘DESeq’

可以看到,这两次安装都有warning,但是没报错,不过仍然无法顺利的load("cds.RData"),所以DESeq仍没有被正确安装。我去看了一下bioconductor对这个包的注释,发现这个包还有一个本地的安装包可以用,就是红色线上的“DESeq_1.38.0.zip”,我下载下来,本地安装一下,发现成功安装了,但是仍然没作用~~

代码语言:javascript复制
install.packages("DESeq_1.38.0.zip", repos = NULL, type = "win.binary")
#package ‘DESeq’ successfully unpacked and MD5 sums checked
load("cds.RData")
#Warning: namespace ‘DESeq’ is not available and has been replaced
#by .GlobalEnv when processing object ‘cds’
#载入需要的程辑包:DESeq
#Failed with error:  ‘程辑包‘DESeq’是在R版本4.0.0之前建的:你得重新安装’
#Error in .requirePackage(package) : 
#unable to find required package ‘DESeq’

我回头去看了一下原文的代码,发现作者竟然是没有安装DESeq这个包的[TGF-b attenuates tumor response to PD-L1 blockade by contributing to exclusion of T cells (gene.com)(http://research-pub.gene.com/IMvigor210CoreBiologies/#raw-image-data)],跟他很像的是DESeq2,但是不是这个啊,这个我有library之后,仍然无效。

我们不要灰心,把各种报错信息放到网上找一下答案。试一下这个,不行~~

也有人说现在建议使用DESeq2代替DESeq,但是我已经试过了,没效果

太难了~,该怎么办?

仔细看提示信息

我回头再去细看一下waring,我总感觉肯定忽略了什么东西,可以看到warning其中比较重要的1句话是

代码语言:javascript复制
#Failed with error:  ‘程辑包‘DESeq’是在R版本4.0.0之前建的:你得重新安装

这提示着这个包或许还没有及时更新,因此用R version 4.1是没法运作的,这时候我们就得回去bioconductor看一下这个包的历史了,我们可以看到蓝色字体部分,这个包对应的R版本是3.6,那么是不是换成3.6版本就行了吗?还有其他原因吗?再仔细看一下,上面说的这句“This package is for version 3.10 of Bioconductor; for the stable, up-to-date release version, see DESeq",让我恍然大悟!

我们点开黄色线上DESeq进去看看,总算发现原因了,可以看到,在Bioconductor version 3.13 ,DESeq就已经被removed,取而代之的是DESeq2,但是IMvigor210CoreBiologies仍然需要的依赖包是DESeq!真是泪目......

成功解决

那么接下来就简单了,我把R version改成3.6,然后将Bioconductor version改为3.10

代码语言:javascript复制
if (!require("BiocManager", quietly = TRUE))
    install.packages("BiocManager")
BiocManager::install(version = "3.10")
install.packages("DESeq_1.38.0.tar.gz",repos=NULL)
install.packages("IMvigor210CoreBiologies_1.0.0.tar.gz",repos=NULL)
#因为换版本了,所以依赖包都要重新安装一下,这里我不展示了
library(IMvigor210CoreBiologies)
load("cds.RData")
cds
#CountDataSet (storageMode: environment)
#assayData: 31286 features, 348 samples 
 #element names: counts 
#protocolData: none
#phenoData
#sampleNames: SAMf2ce197162ce SAM698d8d76b934 ... SAM2de7cffb5f72 (348
# total)
#varLabels: Best Confirmed Overall Response binaryResponse ... TCGA
#Subtype (25 total) 
#varMetadata: labelDescription
#featureData
# featureNames: 1 10 ... 9997 (31286 total)
#fvarLabels: entrez_id symbol ... Symbol (6 total)
# fvarMetadata: labelDescription
#experimentData: use 'experimentData(object)'
#Annotation:  

漂亮!没报错了,有了这个文件,下面的表达矩阵,临床信息就都可以提取啦。总之包的安装很费劲,死活安装不成功的时候,不妨仔细看一看waring,然后到bioconductor仔细看一下,有时候或许是Rversion,bioconductor version在搞事情.....这些都是实战经验啊~

0 人点赞