閑言一下:一般不太喜歡寫這種類型的帖子的(大部分安裝步驟網(wǎng)上重復(fù)的帖子都很多)崖瞭,之所以要寫下這個(gè)包的安裝栽烂,是因?yàn)檫@個(gè)包比較小眾,帖子不多延窜,再者我沒想到做生信這么多年恋腕,裝包無數(shù)的情況下,折騰這個(gè)包還是折騰了兩天逆瑞,今天終于給裝上了荠藤,一時(shí)興奮不已伙单。
關(guān)于Peer這個(gè)包
先說下這個(gè)包的功能,Peer 是一個(gè)貝葉斯方法合集,主要用于在高維數(shù)據(jù)分析時(shí)推斷隱含的干擾因子哈肖。最近很多高水平的文章如nature上的吻育,nature genetics上面的做eQTL, aQTL相關(guān)的文章都有用到。也說明這個(gè)包的重要性淤井,特別是像發(fā)大文章的哈布疼。官方文檔在這里, 里面還有一個(gè)簡(jiǎn)單的使用教程。
開始說安裝的過程....
上面的官方文檔里提供了兩種安裝方式币狠,一種是直接用R CMD INSTALL R_peer_source_1.3.tgz來安裝; 另一種方法是源碼編譯缎除。我的系統(tǒng)是Ubuntu 18.04.5 版本,R語言版本是3.6.2总寻, 上述兩種方法我都嘗試了器罐,均沒有成功。(其實(shí)我有在另外的CentOS系統(tǒng)上面嘗試過第一種方法渐行,是成功了的)
第一種方式轰坊,報(bào)了一下錯(cuò)誤:
/usr/lib/R/etc/Makeconf:168: recipe for target 'array_helper.o' failed
make: *** [array_helper.o] Error 1
去網(wǎng)上搜索好一陣,有遇到類似問題的祟印,主要用的是蘋果系統(tǒng)肴沫。解答也是建議換個(gè)電腦,換個(gè)系統(tǒng)試試蕴忆。折騰嘗試好久之后颤芬,我鎖定問題可能處在c語言編譯器的版本上面了(我的系統(tǒng)里是gcc-7 和 g++-7). 因?yàn)槲抑皣L試成功的CentOS系統(tǒng)里面是gcc-4.8.5版本。
成功解決方案:
于是我給ubuntu系統(tǒng)裝上了舊版本的gcc g++之后套鹅,再次安裝就順利地編譯通過了站蝠。下面給一下具體安裝過程:
# 安裝4.8版本的gcc, g++
sudo apt-get install gcc-4.8 # 依賴的包和建議的包也裝上
sudo apt-get install g++-4.8
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 40 # 40 表示優(yōu)先級(jí), 數(shù)值越大,優(yōu)先級(jí)越高
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 60 # 系統(tǒng)里原來的版本卓鹿,優(yōu)先級(jí)設(shè)置更大
sudo update-alternatives --config gcc #跳出來多個(gè)版本的gcc, 當(dāng)前默認(rèn)的是前面帶有星號(hào)的菱魔,選擇對(duì)應(yīng)的版本就可以
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 40 # 跟gcc的設(shè)置一樣
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 60
sudo update-alternatives --config g++ #這個(gè)也跟gcc一樣,選擇對(duì)應(yīng)的版本
# 安裝Peer
sudo R CMD INSTALL R_peer_source_1.3.tgz # 等待編譯完成就可以了