LeafCutter及rstan的安裝

? ? ? ? 最近在分析sQTL,用到了一款軟件叫LeafCutter,?這個軟件在做的第三步鑒定Differential Splicing時锯蛀,是用封裝好的leafcutter包來進行后續(xù)分析的价说。至此歹啼,我就開始了一個很crushing的安裝過程。

? ? ? ? 原軟件的安裝過程參見https://davidaknowles.github.io/leafcutter/articles/Installation.html晋涣。

1仪媒、安裝rstan包

? ? ? ? Stan是由哥倫比亞大學應(yīng)用統(tǒng)計系的研究人員在2012年開發(fā)的一款基于貝葉斯統(tǒng)計的計算軟件。由C++編譯而來的Stan谢鹊,可在Windows算吩、Linux、Mac平臺進行安裝佃扼,而且它提供了不同語言的接口偎巢,如R、Python兼耀、Matlab压昼、Julia、Scala等翠订,但目前大多數(shù)Stan使用者及資源來自R社群巢音。


? ? ? ? 首先在服務(wù)器上進行安裝,基于RedHat內(nèi)核尽超。

module load r

R

install.packages("rstan")

運行一段時間后報錯官撼,c++14 standard requested but cxx14 is not defined windows

============================================================================================================================

于是按照官網(wǎng)給的安裝提示進行排查(https://github.com/stan-dev/rstan/wiki/RStan-Getting-Started),如下添加dotR<-file.path(Sys.getenv("HOME"),".R")

if(!file.exists(dotR)) dir.create(dotR)

M<-file.path(dotR, ifelse(.Platform$OS.type=="windows","Makevars.win","Makevars"))

if(!file.exists(M)) file.create(M)

cat("\nCXX14FLAGS=-O3 -march=native -mtune=native",if( grepl("^darwin",R.version$os))"CXX14FLAGS += -arch x86_64 -ftemplate-depth-256"elseif(.Platform$OS.type=="windows")"CXX11FLAGS=-O3 -march=corei7 -mtune=corei7"else"CXX14FLAGS += -fPIC",file=M,sep="\n",append=TRUE)

M<-file.path(Sys.getenv("HOME"),".R",ifelse(.Platform$OS.type=="windows","Makevars.win","Makevars"))

file.edit(M)

之后再添加CXX14=g++似谁,保存傲绣,運行

install.packages("rstan",repos="https://cloud.r-project.org/",dependencies=TRUE)

但依舊報錯c++14 standard requested but cxx14 is not defined windows。

============================================================================================================================

于是又開始排查巩踏,發(fā)現(xiàn)rstan網(wǎng)站上安裝時用的是gcc 4.9(https://github.com/stan-dev/rstan/wiki/Installing-RStan-on-Linux)秃诵,而在服務(wù)器上的gcc?版本是4.8(cat /proc/version),因此對gcc進行了升級安裝(在https://ftp.gnu.org/gnu/gcc/文件夾下選擇下載)塞琼。由于是非root用戶菠净,只能在自己的目錄下安裝,安裝過程如下:

cd /home/myname/software/

tar -zxvf gcc-4.9.4.tar.gz

cd gcc-4.9.4/

./contrib/download_prerequisites

mkdir gcc_compile

cd gcc_compile/

../configure --disable-checking --enable-languages=c,c++ --disable-multilib --prefix=/home/myname/software/gcc-4.9.4/gcc_compile --enable-threads=posix

make -j12

make install

g++ -v

之后再安裝仍舊未成功

============================================================================================================================

再搜索彪杉,參考https://medium.com/@samstatsinn/r-and-stan-%E5%AE%89%E8%A3%9D%E8%88%87%E8%A8%AD%E5%AE%9A-f63b764279a7中的linux部分對Makevars進行再次編輯毅往,但是仍出錯

============================================================================================================================

接著搜索,最后在這個網(wǎng)站又找到了一個提示(https://discourse.mc-stan.org/t/rstan-installation-on-rhel-6/6558/8)派近,即在Makevars中添加CXX14 = g++ -std=c++1y攀唯,照做。最終Makevars的內(nèi)容為

CXXFLAGS=-O3 -mtune=native -march=native -Wno-unused-variable -Wno-unused-function -Wno-macro-redefined

CXXFLAGS+=-flto -Wno-unused-local-typedefs

CXX14FLAGS=-O3 -march=native -mtune=native -fPIC

CXX14=g++ -std=c++1y

保存渴丸,運行install.packages("rstan",repos="https://cloud.r-project.org/",dependencies=TRUE)侯嘀,仍舊有錯誤另凌,但這次的錯誤不一樣,

unable to load shared object '/home/myname/R/x86_64-pc-linux-gnu-library/3.4/rstan/libs/rstan.so':

/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /home/myname/R/x86_64-pc-linux-gnu-library/3.4/rstan/libs/rstan.so)

============================================================================================================================

google一下“version glibcxx_3.4.20' not found (required by”的錯誤戒幔。按照https://itbilu.com/linux/management/NymXRUieg.html上的進行查看吠谢。

strings /usr/lib64/libstdc++.so.6 | grep GLIBC之后的確在系統(tǒng)路徑中沒有找到GLIBCXX_3.4.20,但在自己目錄下安裝的gcc文件夾中是有的诗茎。

cd?/home/myname/software/gcc-4.9.4/gcc_compile/lib64

ls ##發(fā)現(xiàn)libstdc++.so.6.0.20

strings libstdc++.so.6 | grep GLIBC ##發(fā)現(xiàn)GLIBCXX_3.4.20

于是按照官網(wǎng)的提示(https://github.com/stan-dev/rstan/wiki/Installing-RStan-on-Linux的Special Note: CentOS 7.0部分)囊卜,退出R,并將export LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:/usr/local/lib64:/usr/lib64改為export LD_LIBRARY_PATH=/home/myname/software/gcc-4.9.4/gcc_compile/lib64错沃,然后打開R栅组,運行install.packages("rstan",repos="https://cloud.r-project.org/",dependencies=TRUE)

至此,linux上的rstan安裝成功枢析。

============================================================================================================================

最近又出現(xiàn)了新的問題玉掸。前段時間由于需要重新安裝了一版R,把之前的文件覆蓋掉了醒叁,rstan和leafcutter都不可以用了司浪。下面是安裝過程。

export LD_LIBRARY_PATH=/home/myname/software/gcc-9.1.0/gcc_compile/lib64把沼,然后打開R啊易,運行install.packages("rstan",repos="https://cloud.r-project.org/",dependencies=TRUE)

之后出現(xiàn)了下問題。g++: error: unrecognized command line option ‘-std=gnu++14’饮睬。這是由于系統(tǒng)默認的gcc版本太低租谈,只有4.8.5(gcc --version,或者在R下system('g++ -v')查看)捆愁,但安裝rstan需要更高版本割去,而之前已經(jīng)在自己的home目錄下安裝了新版本gcc,現(xiàn)在只需要在安裝的時候指定gcc的版本即可昼丑,此時就需要更改R的配置文件呻逆。即更改/home/.R/Makevars文件,更改后的內(nèi)容如下:

CXXFLAGS=-O3 -mtune=native -march=native -Wno-unused-variable -Wno-unused-function -Wno-macro-redefined

CXXFLAGS+=-flto -Wno-unused-local-typedefs

CXX14FLAGS=-O3 -march=native -mtune=native -fPIC

CC=/home/myname/software/gcc-9.1.0/gcc_compile/bin/gcc

CXX=/home/myname/software/gcc-9.1.0/gcc_compile/bin/g++

保存后退出菩帝。


之后下載rstan包(https://cran.r-project.org/src/contrib/rstan_2.21.2.tar.gz)到/home/myname/software/R-3.6.2/library咖城。

現(xiàn)在開始安裝如下

cd?home/myname/software/R-3.6.2/library

/home/myname/software/R-3.6.2/bin/R CMD INSTALL rstan_2.21.2.tar.gz

安裝成功


過程中如果遇到00LOCK-*類似的問題,直接 cd /home/myanme/software/R-3.6.2/library下刪除


在windows上安裝rstan開始也有錯誤呼奢,但比較好解決宜雀。

參照官網(wǎng)即可,https://github.com/stan-dev/rstan/wiki/Installing-RStan-from-source-on-Windows


在Mac上安裝完全沒問題控妻。


2州袒、安裝leafcutter包


首先是在服務(wù)器上

if (!require("devtools"))

install.packages("devtools", repos='http://cran.us.r-project.org')

devtools::install_github("stan-dev/rstantools")

沒問題揭绑,安裝成功


在windows上

比較坑的是弓候,需要的一個包doMC的新版本只能使用與Linux版的R郎哭,在windows上的R不適用,但是可以在https://cran.r-project.org/src/contrib/Archive/doMC/下到舊版的菇存,這里我下的是1.3.5夸研。下載下來存放到C:\Program Files\R\R-3.6.1\library下,然后從Rstudio里安裝依鸥。之后按以下步驟進行l(wèi)eafcutter的安裝即可亥至,注意中間要求是否更新,選擇不更新即可贱迟,或者直接回車姐扮。

if (!require("devtools")) install.packages("devtools", repos='http://cran.us.r-project.org')

devtools::install_github("stan-dev/rstantools")

devtools::install_github("davidaknowles/leafcutter/leafcutter")


在Mac上安裝完全沒問題

============================================================================================================================

總之,要注意的是需要修改Makevars.win中內(nèi)容衣吠,且windows和Linux下的內(nèi)容不一樣茶敏。

一般windows下Makevars.win文件存放在C:\Users\Myname\Documents\.R文件下,服務(wù)器上該文件存放于自己的根目錄下./R缚俏。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末惊搏,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子忧换,更是在濱河造成了極大的恐慌恬惯,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件亚茬,死亡現(xiàn)場離奇詭異酪耳,居然都是意外死亡,警方通過查閱死者的電腦和手機刹缝,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進店門葡兑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人赞草,你說我怎么就攤上這事讹堤。” “怎么了厨疙?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵洲守,是天一觀的道長。 經(jīng)常有香客問我沾凄,道長梗醇,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任撒蟀,我火速辦了婚禮叙谨,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘保屯。我一直安慰自己手负,他們只是感情好涤垫,可當我...
    茶點故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著竟终,像睡著了一般蝠猬。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上统捶,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天榆芦,我揣著相機與錄音,去河邊找鬼喘鸟。 笑死匆绣,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的什黑。 我是一名探鬼主播犬绒,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼兑凿!你這毒婦竟也來了凯力?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤礼华,失蹤者是張志新(化名)和其女友劉穎咐鹤,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體圣絮,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡祈惶,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了扮匠。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片捧请。...
    茶點故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖棒搜,靈堂內(nèi)的尸體忽然破棺而出疹蛉,到底是詐尸還是另有隱情,我是刑警寧澤力麸,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布可款,位于F島的核電站,受9級特大地震影響克蚂,放射性物質(zhì)發(fā)生泄漏闺鲸。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一埃叭、第九天 我趴在偏房一處隱蔽的房頂上張望摸恍。 院中可真熱鬧,春花似錦赤屋、人聲如沸立镶。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谜慌。三九已至,卻和暖如春莺奔,著一層夾襖步出監(jiān)牢的瞬間欣范,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工令哟, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留恼琼,地道東北人。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓屏富,卻偏偏與公主長得像晴竞,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子狠半,可洞房花燭夜當晚...
    茶點故事閱讀 42,877評論 2 345

推薦閱讀更多精彩內(nèi)容