我參考了github上的安裝指南:GitHub - broadinstitute/picard: A set of command line tools (in Java) for manipulating high-throughput sequencing (HTS) data and formats such as SAM/BAM/CRAM and VCF.在Ubuntu22.04上安裝picard,在此記錄過程以便日后復(fù)現(xiàn)。文中提到注意事項(xiàng)是有用的鳍征。本來想把遇到的問題集中在文末以便提高安裝流程在閱讀上的連貫性篇梭,考慮到各種報(bào)錯(cuò)要需要及時(shí)提醒和解決蚂子,最終還是把問題和解決方法放到對(duì)應(yīng)流程的位置泛粹。該記錄會(huì)放置所參考安裝指南的關(guān)鍵步驟的截圖和便于復(fù)制的代碼埃儿。卡睦。
①自選一個(gè)目錄下載程序包
git clone https://github.com/broadinstitute/picard.git
cd picard/
我在~/software/目錄下執(zhí)行上述命令宴胧,clone后會(huì)在該目錄下產(chǎn)生一個(gè)picard目錄。
問題:在執(zhí)行g(shù)it clone命令時(shí)表锻,出現(xiàn)報(bào)錯(cuò):
使用[SOLVED] Git pull error: RPC failed; curl 16 Error in the HTTP2 framing layer. fatal: expected flush after ref listing - JTuto中的方法成功解決恕齐。該方法使用了如下命令:
git config --global http.version HTTP/1.1
設(shè)置HTTP之后就能夠成功執(zhí)行上述git clone。
注意:
程序包下載成功后瞬逊,建議使用如下命令改回HTTP2显歧,否則可能會(huì)導(dǎo)致下一步gradlew安裝依賴包失敗
git config --global http.version HTTP/2
我不知如何解決上圖中shadow 5.1.0的安裝仪或,嘗試先安裝gradle未果后發(fā)現(xiàn)各種安裝包下載速度似乎不太對(duì)勁,才想到嘗試改回HTTP2追迟,然后就可行了溶其。
( 這段話無關(guān)緊要可以不看 ) 由于參考安裝指南中提到picard是通過gradle來配置,所以我當(dāng)時(shí)考慮了先安裝gradle再安裝picard敦间。Gradle官網(wǎng)又提到安裝gradle可以通過sdkman安裝或者手動(dòng)安裝瓶逃。作為一個(gè)小白我不建議通過sdkman安裝gradle再安裝picard,sdkman的安裝過程也有些折騰廓块,需要用到openssl的CA等厢绝。
②構(gòu)建包含所有依賴項(xiàng)的完全打包、可運(yùn)行的picard.jar
首先上一步的改回HTTP2要做一下带猴,其次最好能升級(jí)到j(luò)ava17昔汉,才能順利完成這一步
運(yùn)行命令:
./gradlew shadowJar
問題:java版本過低
這里我參考了Debian/Ubuntu 升級(jí)java版本 - 知乎 (zhihu.com)
對(duì)java進(jìn)行了升級(jí),遇到了這樣的問題:
我嘗試先安裝Libasound2拴清,卻提示:
嘗試了提示中建議的命令:
sudo apt --fix-broken install
jdk-17安裝成功靶病。剩下的也是跟著文章中教程走,沒遇到別的情況口予。
接下來只需要重新執(zhí)行
./gradlew shadowJar
就可以了娄周。
注意:
上述方法升級(jí)的java版本并不適用于先前已有的自建環(huán)境,只有base和新建的環(huán)境中才是java17沪停。在base下通過
java -version
能夠看到
切換到以前建立的環(huán)境中后煤辨,java版本依舊是當(dāng)時(shí)創(chuàng)建環(huán)境使用的java8。
所以木张,我新建了環(huán)境來專門使用picard众辨,新環(huán)境設(shè)置的python版本對(duì)此沒有影響。
③使用picard
cd到picard安裝目錄下可以使用命令運(yùn)行picard
java -jar build/libs/picard.jar
安裝教程中提到的測(cè)試等其他部分可做可不做舷礼,我做了測(cè)試有幾個(gè)小模塊沒通過鹃彻,應(yīng)該也無傷大雅,自己要用的功能正常就可以妻献。
每次都要使用上述命令運(yùn)行picard有點(diǎn)麻煩浮声,我嘗試把picard加入到環(huán)境變量,在.bashrc中做了添加并source旋奢,但仍然無法通過"java -jar picard.jar"來運(yùn)行泳挥。
④創(chuàng)建快捷鍵以方便使用picard
創(chuàng)建快捷鍵 alias picard='java -jar /home/gyspace/software/picard_file/picard/build/libs/picard.jar' 并source,能夠以"picard ViewSam -h"的方式來使用picard的ViewSam功能至朗。linux創(chuàng)建快捷鍵的方法參見Linux 自定義alias快捷命令 - 簡(jiǎn)書 (jianshu.com)
至此屉符,picard算是安裝成功,可以使用了。