大火的seurat分析软件,我没法安装,怎么办?
单细胞分析的文章在近几年如雨后春笋一般,热度一直有增无减。而用于分析单细胞转录组的基于R的Seurat安装包,很多人表示安装总是出问题,甚至你无论尝试什么类型的R版本,都不能正常安装,到最后不得不采用下载到本地进行加载安装包方法,甚至有些缺省安装包的安装还需要root权限。巧妇难为无米之炊,码农最恨bug常追。在这里推荐大家使用Anaconda进行安装,安装教程得益于尧小飞大神的指导,该方法完美的解决了Seurat安装包版本的问题,甚至,你都不用担心镜像的选择。如此方便的方法,你也来试试吧。
第一步:Anaconda下载和安装
Anaconda可从官网下载所需要的版本:https://repo.anaconda.com/archive/
Anaconda安装:Anaconda安装较为简单,我下载的文件最新版本的Anaconda:Anaconda3-2019.10-Linux-x86_64.sh
接下来,放心的安装吧:命令行如下:
sh Anaconda3-2019.10-Linux-x86_64.sh
接下来是交互界面,一直回车,到出现是否接受许可协议。
输入:yes
接下来会提示选择安装路径,默认是在个人home目录下,也可以选择指定安装目录。需要注意的是,当你指定的安装目录已经存在了,就会出现以下报错,甚至你删掉了该目录还是会报同样的错误。
不用慌,根据界面显示使用sh Anaconda3-2019.10-Linux-x86_64.sh -u 进行安装。然后选择你自己要安装的位置。安装最后会提示是否将Anaconda3添加到~/bashrc文件中,可以根据自己需要选择。
接下来,设置环境变量:export PATH=/my/home/Anaconda3/bin/:$PATH
第二步:安装R
安装R之前,首先需要配置conda:
conda config --add channels conda-forge
conda config --add channels defaults
conda config --add channels r
conda config --add channels bioconda
安装R
conda install r
anaconda会随着其版本安装默认的R版本号,我的是3.6.1,如果要升级或安装之前的版本,可使用 conda update r r=3.5.2
anaconda装的R中其镜像没有清华的镜像,但对于国人来说,清华镜像能满足你大部分的需求。
# 添加Anaconda的TUNA镜像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
# 设置搜索时显示通道地址
conda config --set show_channel_urls yes
conda安装R包有两种方式:
一种是使用conda命令安装:conda install -c r package-name,需要注意的是conda下面的r包的名称与普通R包的名称不一样,具体名称可以在官网上面查询(http://docs.anaconda.com/anaconda/packages/r-language-pkg-docs/);
另外一种是直接进入conda下面的R交互界面,安装普通安装R包的方式进行安装,比如bioconductor或者install.packages方式。
Anaconda安装的R自身带的R包比较少, 用命令(.packages(all.available=T))查看自带的基础包,可用的包只有52个,像常用的ggplot都没有,因此需要安装很多基础包,如果一个一个的安装,实在是太麻烦,Anaconda提供了一个快捷安装很多基础包的命令:conda install -c r r-essentials,里面自带了100个常用的科学计数包。查询conda官网的R包的链接如下:http://docs.anaconda.com/anaconda/packages/r-language-pkg-docs/。
上述描叙来源于尧小飞的描述。在此做一个搬运工。吼吼吼。。。
第三步:安装seurat包
安装Seurat时,我直接使用R进行安装,发现所选择的镜像似乎都不能正常安装,无奈采用 conda install -c r package-name的方式进行安装。
seurat的安装方式是conda install -c conda-forge r-seurat
该方法速度很快哦,比R的交互界面安装包速度大概提升了10倍~当然,这个数字也得看个人网络问题。
又双叒叕,导入包还是报错了。
> library(Seurat)
Error: package or namespace load failed for ‘Seurat’ in dyn.load(file, DLLpath = DLLpath, ...):
unable to load shared object '/annoroad/data1/bioinfo/PMO/chenjing/anaconda3/lib/R/library/Rtsne/libs/Rtsne.so':
libopenblas.so.0: cannot open shared object file: No such file or directory
系统告诉我,没有libopenblas包。没关系,方法总比困难多嘛。
根据官方网站 https://anaconda.org/conda-forge/libopenblas提供的方法安装libopenblas,选其中之一即可。两种方法均不需要root权限哦~
To install this package with conda run one of the following:
1: conda install -c conda-forge libopenblas
2: conda install -c conda-forge/label/broken libopenblas
导入包后,提示默认的R版本中装globals和listenv的版本比较低,根据提示的版本信息,采用conda升级即可。
conda install -c r r-globals=0.12.5
conda install -c r r-listenv=0.8.0
终于装好了啦,此处应该有掌声!!
踩坑太多,且行且珍惜~~~
参考:
1. https://www.jianshu.com/u/231bf959a6fd
2. https://anaconda.org/conda-forge/libopenblas