擬時序分析是單細胞測序高級分析之一考抄,其中引用量最多的一是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")
由于沒有配置相應的語言環(huán)境中狂,運行這段代碼會出現報錯凫碌,提示缺少boost文件系統
#ld: library not found for -lboost_filesystem
boost安裝
因此我們繼續(xù)依照生信技能樹的帖子的方法安裝boost,即在Mac的終端中運行:
brew install boost
如果之前沒有安裝過Homebrew的話胃榕,這段代碼在終端中是運行不了的盛险,因此需要先安裝Homebrew。關于Homebrew的簡介勋又、安裝苦掘、卸載,看這篇帖子足夠http://www.reibang.com/p/de6f1d2d37bf楔壤。安裝的代碼如下鹤啡,在終端中運行:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
gcc編譯器安裝與文件路徑修改
安裝完Homebrew后,可以按照之前的代碼安裝boost蹲嚣,然后我們再繼續(xù)生信技能樹的帖子递瑰,在終端中運行以下代碼:
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/這個文件夾中創(chuàng)建一個gcc的目錄隙畜,然后再將另一個文件夾中gcc的內容拷貝進來抖部。但是我找了半天都沒找到gcc在哪,后面搜索才知道gcc是一個編譯器议惰,需要安裝···代碼如下:
brew install gcc
在終端運行結束后慎颗,你會發(fā)現安裝的gcc版本是12.2.0,同時你還會發(fā)現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環(huán)境沒有搭建好。
修改Makevars文件
接著涮母,去github中找答案https://github.com/velocyto-team/velocyto.R/issues/167谆趾,截圖如下:
boost我們已經安裝完成,記住它的版本號為1.76.0叛本,在后續(xù)修改中有用沪蓬。
緊接著在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)