題外音:speedseq是一套流程,套用了大量三方軟件,但是居然也能發(fā)到Nature Methods上!驚訝之余查看了一下代碼,非常佩服,簡(jiǎn)直是教科書(shū)一樣的模式,太贊了!
1. speedseq的安裝
1.1?安裝前先需安裝好python?(建議升級(jí)到2.7最新版2.7.13),而且需要安裝pysam庫(kù)(需升級(jí)到最新版,這里升級(jí)到0.11.2版本),如果沒(méi)有升級(jí),可能在speedseq sv方法中報(bào)如下錯(cuò):

1.2?再安裝root,只有安裝了它c(diǎn)nvnator才可以正常安裝。
從官網(wǎng)〔1〕下載root,有Binary distributions但是需要注意下載對(duì)應(yīng)系統(tǒng)的版本(例如我這里下載的Ubuntu 14版本的)。
wget https://root.cern.ch/download/root_v6.10.08.Linux-ubuntu14-x86_64-gcc4.8.tar.gz
tar -zxvf root_v6.10.08.Linux-ubuntu14-x86_64-gcc4.8.tar.gz
#?解壓為文件夾root
再修改\$HOME/.bashrc,添加以下兩行
export PATH=/Path/to/rootdir/bin:$PATHexport LD_LIBRARY_PATH=/Path/to/rootdir/lib:$LD_LIBRARY_PATH
注意:/Path/to/rootdir即上一步安裝root包時(shí)壓縮后root文件夾的位置,請(qǐng)用絕對(duì)路徑!
如果后期運(yùn)行cnvnator時(shí)報(bào)錯(cuò)如下,則表明此處LD_LIBRARY_PATH設(shè)置有誤。
error while loading shared libraries: libCore.so: cannot open sh
〔出現(xiàn)這種報(bào)錯(cuò),可查看http://blog.sciencenet.cn/blog-653020-626976.html〕
再運(yùn)行以下代碼
cd root. bin/thisroot.sh
以上安裝過(guò)程參考[2]
再按照官網(wǎng)[3]上的步驟下載安裝speedseq
git clone --recursive https://github.com/hall-lab/speedseq
cd speedseq
make
#?經(jīng)測(cè)試gcc 4.4.7版安裝會(huì)有報(bào)錯(cuò),gcc 4.8.5可正常安裝
1.3?如果想用VEP做注釋,還需先手動(dòng)安裝
正確安裝方法如下:
curl -OL https://github.com/Ensembl/ensembl-tools/archive/release/76.zip
SPEEDSEQ_DIR=$PWD
#?注意:這里是speedseq安裝目錄(也是我的當(dāng)前目錄),以下操作我都在speedseq目錄下完成!
unzip 76.zip
注意:因?yàn)閎ioperl下載地址改變,按照speedseq官網(wǎng)上安裝會(huì)報(bào)錯(cuò)!一定要修改INSTALL.pl再運(yùn)行。
vim ensembl-tools-release-76/scripts/variant_effect_predictor/INSTALL.pl
將第61行的BIOPERL_URL修改為以下地址,INSTALL.pl中的地址已失效,
http://www.cpan.org/authors/id/C/CJ/CJFIELDS/BioPerl-1.6.924.tar.gz
截圖如下:

如果你研究的是人,可以用以下代碼在本地建立人的數(shù)據(jù)庫(kù)
perl ensembl-tools-release-76/scripts/variant_effect_predictor/INSTALL.pl \
-c?$SPEEDSEQ_DIR/annotations/vep_cache \
-a ac -s?homo_sapiens?-y?GRCh38
# 它會(huì)自動(dòng)下載人的全基因組序列,具體地址如下:ftp://ftp.ensembl.org/pub/release-76/variation/VEP/homo_sapiens_vep_76_GRCh38.tar.gz,大小約3.1G
cp ensembl-tools-release-76/scripts/variant_effect_predictor/variant_effect_predictor.pl?$SPEEDSEQ_DIR/bin
cp -r Bio?$SPEEDSEQ_DIR/bin
speedseq非常贊的原因之一是它幾乎集成了所有需要的三方軟件(注:其中有些比較難安裝),而且在/Path/to/speedseq/bin/目錄下有個(gè)speedseq.config,其中記錄了所有三方軟件可執(zhí)行程序的路徑。這樣就可以完全獨(dú)立了(比方你系統(tǒng)環(huán)境變量中有多個(gè)samtools,或者多個(gè)python,你想用哪一個(gè),就可以直接在這里指定)
安裝完后進(jìn)行測(cè)試,查看是否安裝完整,建議將speedseq.config中每一行都測(cè)一下,看路徑中的程序是否能正常運(yùn)行。
我的/Path/to/speedseq/bin/下的程序如下:

2. speedseq的使用
像所有的好軟件一樣,speedseq也提供了example,在/Path/to/speedseq/example/目錄下,該目錄下有一個(gè)data目錄(注意:data目錄中的reference是bwa index過(guò)的)。
建議按/Path/to/speedseq/bin/run_speedseq.sh中代碼一句句運(yùn)行
2.1 speedseq align
注意:speedseq調(diào)用bwa-mem后,還生成了discordants.bam和splitters.bam,這兩個(gè)文件是lumpyexpress必須的(這個(gè)已整合在speedseq中),那么這兩個(gè)bam是怎么來(lái)的?
按照l(shuí)umpy github官網(wǎng)[4]上的描述
speedseq align -R "@RG\tID:id\tSM:sample\tLB:lib" \
? ?human_g1k_v37.fasta \
? ?sample.1.fq \
? ?sample.2.fq
注意:使用speedseq align時(shí)建議加上-o選項(xiàng),它指定輸出文件(夾)前綴;-t選項(xiàng),它指定線程數(shù)(默認(rèn)單線程)
以上等價(jià)于
# Align the data
bwa mem -R "@RG\tID:id\tSM:sample\tLB:lib" human_g1k_v37.fasta sample.1.fq sample.2.fq | samblaster --excludeDups --addMateTags --maxSplitCount 2 --minNonOverlap 20 | samtools view -S -b - > sample.bam
# Extract the discordant paired-end alignments.
samtools view -b -F 1294 sample.bam > sample.discordants.unsorted.bam
# Extract the split-read alignments
samtools view -h sample.bam \
? ?| scripts/extractSplitReads_BwaMem -i stdin \
? ?| samtools view -Sb - \
? ?> sample.splitters.unsorted.bam
# Sort both alignments
samtools sort sample.discordants.unsorted.bam sample.discordants
samtools sort sample.splitters.unsorted.bam sample.splitters
2.2 speedseq var
這里調(diào)用的是freebayes,它的精確度與GATK不相伯仲,具體可能查看speedseq的引文[5]。
speedseq var除例子中的-o選項(xiàng)(指定輸出文件前綴)外,還有以下幾個(gè)選項(xiàng)值得注意:
-q?指定最低變異質(zhì)量值(質(zhì)量值小于這個(gè)值的將認(rèn)為是不可信結(jié)果)
-A?使用VEP對(duì)變異檢測(cè)結(jié)果進(jìn)行注釋,當(dāng)然前提是安裝好了vep,speedseq/bin中variant_effect_predictor.pl可用
2.3 speedseq的sv方法
建議加上以下選項(xiàng)
-g表示使用svtyper對(duì)SV breakends進(jìn)行分型
-d表示使用CNVnator來(lái)計(jì)算read深度
-P?在vcf中輸出LUMPY的概率曲線
參考材料
[1]?https://root.cern.ch/content/release-61008
[2] http://www.cpp.edu/~pbsiegel/phy499/rootinstall.html
[3]?https://github.com/hall-lab/speedseq
[4]?https://github.com/arq5x/lumpy-sv
[5] chiang C., Layer RM., Faust GG, et al.?SpeedSeq: ultra-fast personal genome analysis and interpretation.Nature Methods.?2015 Oct;12(10):966-968
轉(zhuǎn)載本文請(qǐng)聯(lián)系原作者獲取授權(quán),同時(shí)請(qǐng)注明本文來(lái)自盧銳科學(xué)網(wǎng)博客。
鏈接地址: