项目场景:
在绘制微生物相互作用网络时,需要用R语言的igraph计算相关的参数。其中需要用到bioconductor的各类包,尤其是WGCNA是函数计算使用的前提。
问题描述
在R4.0.3安装bioconductor的常用包时,所使用的代码是:
package_list <- c("digest","AnnotationDbi", "impute", "GO.db", "preprocessCore","WGCNA","multtest")
for(p in package_list){
if(!suppressWarnings(suppressMessages(require(p, character.only = TRUE, quietly = TRUE, warn.conflicts = FALSE)))){
source("https://bioconductor.org/biocLite.R")
biocLite(p)
suppressWarnings(suppressMessages(library(p, character.only = TRUE, quietly = TRUE, warn.conflicts = FALSE)))
}
}
出现报错,很多包无法安装。
原因分析:
R版本目前已经更新到4.1.3了,bioconductor也已经进行了更新升级。安装代码已经不符合新版本的安装指令了。
解决方案:
通过查阅 http://www.bioconductor.org/ 网站,发现最新的bioconductor常用包安装指令为:
if (!require(“BiocManager”, quietly = TRUE))
+ install.packages(“BiocManager”)
BiocManager::install(" package")
所以将代码修改为:
package_list <- c("digest","AnnotationDbi", "impute", "GO.db", "preprocessCore","WGCNA","multtest")
for(p in package_list){
if(!suppressWarnings(suppressMessages(require(p, character.only = TRUE, quietly = TRUE, warn.conflicts = FALSE)))){
if (!require("BiocManager", quietly = TRUE))
+ install.packages("BiocManager")
BiocManager::install(p)
suppressWarnings(suppressMessages(library(p, character.only = TRUE, quietly = TRUE, warn.conflicts = FALSE)))
}
}