拟时序分析是单细胞测序高级分析之一,其中引用量最多的一是Monocle,其次就是velocyto。velocyto分为python版本和R版本,python版本用于分析得到上游loom文件,而R版本则用于下游分析及可视化。不得不说,velocyto.R是我安装的所有R包中最为复杂的,花了一下午去研究各个教程及github中各位大神的解答,终于在我的Mac M1中成功加载。以下内容参考了多种来源资料,如有侵权请联系我删除,谢谢。
velocyto.R的安装语法
首先我参考了生信技能树的一篇帖子《在Mac或者Linux上面安装velocyto.R的成功经验分享》,代码很简单:
remotes::install_github("velocyto-team/velocyto.R")
由于没有配置相应的语言环境,运行这段代码会出现报错,提示缺少boost文件系统
#ld: library not found for -lboost_filesystem
boost安装
因此我们继续依照生信技能树的帖子的方法安装boost,即在Mac的终端中运行:
brew install boost
如果之前没有安装过Homebrew的话,这段代码在终端中是运行不了的,因此需要先安装Homebrew。关于Homebrew的简介、安装、卸载,看这篇帖子足够https://www.jianshu.com/p/de6f1d2d37bf。安装的代码如下,在终端中运行:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
gcc编译器安装与文件路径修改
安装完Homebrew后,可以按照之前的代码安装boost,然后我们再继续生信技能树的帖子,在终端中运行以下代码:
new_gcc=/usr/local/gfortran/lib/gcc/x86_64-apple-darwin18/8.2.0
sudo mkdir -p $new_gcc
sudo cp -r /usr/local/Cellar/gcc/11.2.0_3/lib/gcc/11/* $new_gcc
这段代码的大致意思是,在/usr/local/这个文件夹中创建一个gcc的目录,然后再将另一个文件夹中gcc的内容拷贝进来。但是我找了半天都没找到gcc在哪,后面搜索才知道gcc是一个编译器,需要安装···代码如下:
brew install gcc
在终端运行结束后,你会发现安装的gcc版本是12.2.0,同时你还会发现gcc并不在usr/local/这个文件夹中,而是在opt/homebrew/Cellar/中,因此上述的文件路径需要改一下:
new_gcc=/usr/local/gfortran/lib/gcc/x86_64-apple-darwin18/8.2.0
sudo mkdir -p $new_gcc
sudo cp -r /opt/homebrew/Cellar/gcc/12.2.0/lib/gcc/12/* $new_gcc
至此,第一个帖子的大致内容到此,目的主要是将gcc编译器拷贝到velocyto.R调用的固定位置,再次运行:
remotes::install_github("velocyto-team/velocyto.R")
结果仍然报错,报错依然是boost环境没有搭建好。
修改Makevars文件
接着,去github中找答案https://github.com/velocyto-team/velocyto.R/issues/167,截图如下:
boost我们已经安装完成,记住它的版本号为1.76.0,在后续修改中有用。
紧接着在github中下载velocyto.R的包,然后解压,Makevars文件就藏在其中的src文件夹中,打开后进行修改R包调用boost的路径,注意修改其中的版本号:
CXX_STD = CXX11
PKG_CXXFLAGS= $(SHLIB_OPENMP_CXXFLAGS)
PKG_CFLAGS=$(SHLIB_OPENMP_CFLAGS)
PKG_LIBS=-lboost_filesystem -lboost_system -lstdc++ $(LAPACK_LIBS) $(BLAS_LIBS) $(SHLIB_OPENMP_CFLAGS) $(FLIBS) -L /opt/homebrew/Cellar/boost/1.76.0/lib/
修改完成后,如果按照帖子中的“install_github("ssun1116/velocyto.R")”是无法完成安装的,我们应该将修改后的文件重新打包,然后在本地安装:
devtools::install_local("/Users/myapple/Downloads/velocyto.R-master.zip")
最后
library(velocyto.R)
image.png
网友评论