R安装WGCNA包(MacOS M1芯片)及impute包安装报错的解决方法【已成功】

R安装WGCNA包(MacOS M1芯片)

  • WGCNA
    • R安装WGCNA包
    • 安装impute时的错误
    • impute包安装报错的解决方法

WGCNA

加权基因共表达网络分析 (WGCNA, Weighted correlation network analysis)是用来描述不同样品之间基因关联模式的系统生物学方法,可以用来鉴定高度协同变化的基因集, 并根据基因集的内连性和基因集与表型之间的关联鉴定候补生物标记基因或治疗靶点。
具体内容可参考如下链接:
http://blog.genesino.com/2018/04/wgcna/
https://horvath.genetics.ucla.edu/html/CoexpressionNetwork/Rpackages/WGCNA/
在此不叙述,因为博主也不懂(~ ̄▽ ̄)~

R安装WGCNA包

首先,列一下我的电脑版本和芯片,以及我所使用的R和Rstudio的版本,如下表所示。

变量
版本 macOS Monterey Version 12.2
芯片 Apple M1 Max
R R version 4.1.3 (2022-03-10) “One Push-Up” Copyright © 2022 The R Foundation for Statistical Computing Platform: aarch64-apple-darwin20 (64-bit)
RStudio RStudio-2022.02.1-461.dmg

对于Intel芯片的Mac电脑或者Windows电脑,可以尝试如下两行代码:
一般而言,第一行代码安装BiocManager是不会报错的,错误往往会出现在第三行代码上。

install.packages("BiocManager")
BioManager::install("WGCNA")
BioManager::install("impute")
BioManager::install("preprocessCore")

其中,impute和preprocessCore是成功调用WGCNA包的依赖。

需要注意的是,这四行代码是需要输入到R或者是Rstudio编辑器中,而且一定不要省略双引号,可以输入到Console中直接执行,如下图所示。


如果可以通过以上四行代码直接安装成功的话,那么恭喜你,不需要再继续往下阅读了。

如果你和可怜的博主一样,卡在了第三步安装impute上,那么请往下看叭~~

安装impute时的错误

博主是第一次使用WGCNA,第二次接触R语言,所以在输入第二行代码后以为WGCNA已经安装完成了,于是直接就运行了下面的代码进行导入,R中的library(XXX)类似于Python中的import XXX。

library(WGCNA)

接着就遇到了如下所示的错误,

Loading required package: dynamicTreeCut
Loading required package: fastcluster

Attaching package: ‘fastcluster’

The following object is masked from ‘package:stats’:

    hclust


Error: package or namespace load failed for ‘WGCNA’ in loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]):
 there is no package called ‘impute’

这个Error的意思是加载WGCNA时出错,没有impute包,那么既然没有这个包,我们下意识地举动当然是安装一下了,于是我又输入了这行代码,

BioManager::install("impute")

接着就遇到了折磨了我近三个小时的巨大Trouble!!!我尝试过的无效方法在这里就不叙述了,只提供我最终成功解决问题的方法。

impute包安装报错的解决方法

我忘记截图自己当时遇到的错误了,所以借用一下在其他帖子里提问人发出的错误内容,如下所示,这只是部分报错的内容,并非全部。

Installing package(s) 'impute'
Package which is only available in source form, and may need compilation of C/C++/Fortran: ‘impute’
Do you want to attempt to install these from sources? (Yes/no/cancel) yes
installing the source package ‘impute’

trying URL 'https://bioconductor.org/packages/3.13/bioc/src/contrib/impute_1.66.0.tar.gz'
Content type 'application/x-gzip' length 641577 bytes (626 KB)
==================================================
downloaded 626 KB

* installing *source* package ‘impute’ ...
** using staged installation
** libs
/opt/R/arm64/bin/gfortran -mtune=native -fno-optimize-sibling-calls  -fPIC  -Wall -g -O2  -c knnimpute.f -o knnimpute.o
make: /opt/R/arm64/bin/gfortran: No such file or directory
make: *** [knnimpute.o] Error 1
ERROR: compilation failed for package ‘impute’
* removing ‘/Library/Frameworks/R.framework/Versions/4.1-arm64/Resources/library/impute’

这次,Error的意思是编译impute包失败。但为什么会失败呢?我们往前看,看到这句话了嘛?

make: /opt/R/arm64/bin/gfortran: No such file or directory

这就是编译失败的根本原因,所以接下来就是找到这个系统为什么找不到/opt/R/arm64/bin/gfortran这个文件或者目录的原因并解决。

从最后成功的经历来看,/opt/R/arm64/bin/gfortran是一个文件,而非目录。

首先,我们需要来检查一下,/opt/R/arm64/bin/gfortran是否真的不存在。

一般而言,我们寻找一个文件或目录是否存在,往往会通过点开终端(Terminal),并输入该目录,例如通过“open Desktop/”来打开桌面文件夹,但当我们输入“open /opt/R/arm64/bin/gfortran”或者“/opt/R/arm64/bin”时,都会出现这样的错误,

The file /opt/R/arm64/bin does not exist.
The file /opt/R/arm64/bin/gfortran does not exist.

那么经过检查,我们可以确定这个文件的确不存在于我们的电脑中。

那么接下来的任务就是在自己的电脑里安装这个文件,我使用的是下面这行代码来在终端中进行安装,

sudo tar fvxz https://mac.r-project.org/libs-arm64/gfortran-f51f1da0-darwin20.0-arm64.tar.gz -C /

注意:不建议直接从这个网址下载并解压gfortran-f51f1da0-darwin20.0-arm64.tar.gz,因为这样依赖,解压后的opt文件夹会保存在Downloads目录下,需要再挪动到根目录下,比较麻烦,而且容易出错。

最后,重启Rstudio,并输入

BiocManager::install("impute")

可以成功安装impute,之后再安装preprocessCore,再运行library(WGCNA)就可以正确导入WGCNA包啦!

R安装WGCNA包(MacOS M1芯片)及impute包安装报错的解决方法【已成功】_第1张图片

谢谢大家看到这里,希望这篇帖子可以帮助到大家☆´∀`☆

你可能感兴趣的:(r语言)