「GATK 4」如何提高HaplotyperCaller的效率

GATK的HaplotypeCaller 應(yīng)該是目前最常用的變異檢測(cè)軟件捂齐,尤其是在人類(lèi)基因組上醋粟。不過(guò)HaplotypeCaller的速度相對(duì)于其他軟件辆床,例如bcftools, freeBayes 也是最慢的乎莉,當(dāng)然這還是可以搶救一下的愚屁,只不過(guò)需要我們額外寫(xiě)一些代碼瑟由,利用--intervals參數(shù)進(jìn)行手動(dòng)并行絮重。

如下代碼僅考慮單個(gè)樣本,多個(gè)樣本的gvcf文件類(lèi)似

策略1: 按照染色體進(jìn)行運(yùn)算

最簡(jiǎn)單的方法也是最容易想到的方法歹苦,直接利把原來(lái)的任務(wù)按照染色體拆分青伤。擬南芥是5+2, 5條核基因組染色體和2條細(xì)胞器基因組染色體,那么就可以一次性投遞7個(gè)任務(wù)暂氯。

# $SM指的是你樣本名(不包括名字后綴)
# $REF指的是你的參考基因組名字
chroms=($(grep '>' $REF |sed 's/>//' | tr '\n' ' '))
for chr in ${chroms[@]}
do
        if [ ! -f ${SM}.${chr}.vcf.gz ]; then
        gatk HaplotypeCaller -R $REF -I ${SM}_mkdup.bam --genotyping-mode DISCOVERY \
                --intervals ${chr} -stand-call-conf 30 --sample-ploidy 2 \
                -O ${SM}.${chr}.vcf.gz &
        fi
done && wait

策略2: 針對(duì)染色體的NNNN區(qū)進(jìn)一步拆分

既然我們可以分成不同的染色體進(jìn)行并行運(yùn)算潮模,那能不能進(jìn)一步把染色體繼續(xù)拆分呢?這個(gè)思路也是可行痴施,畢竟真核生物的基因組大部分都不完美擎厢,也就是基因組存在著一些gap沒(méi)有被填上。gap區(qū)域肯定是沒(méi)有read能夠回貼上的辣吃,那么就可以根據(jù)這些gap進(jìn)一步的細(xì)分动遭。

GAP區(qū)域

這里用到了seqkit locate 定位染色體上NNN, 然后用bedtools complement 得到后續(xù)輸入的bed文件神得。

seqkit locate -j 20 -Pp '"N{10,}"' /data/reference/genome/TAIR10/Athaliana.fa | tail -n+2 | awk '{print $1"\t"$5"\t"$6}' > ath_n_pos.bed
bioawk -c fastx '{print $name"\t"length($seq)}' /data/reference/genome/TAIR10/Athaliana.fa > tair10.txt
bedtools complement -i ath_n_pos.bed -g tair10.txt  > tair10_interval.bed

之后就可以根據(jù)bed文件構(gòu)建出interval

BED="tair10_interval.bed"
chroms=($(awk '{print $1":"$2+1"-"$3}' $BED | tr '\n' ' '))
for chr in ${chroms[@]}
do
        if [ ! -f ${SM}.${chr}.vcf.gz ]; then
        gatk HaplotypeCaller -R $REF -I ${SM}_mkdup.bam --genotyping-mode DISCOVERY \
                --intervals ${chr} -stand-call-conf 30 --sample-ploidy 2 \
                -O ${SM}.${chr}.vcf.gz &
        fi
done && wait

策略3: 根據(jù)BAM文件特點(diǎn)進(jìn)行拆分

如果你還想追求速度厘惦,那么還可以對(duì)BAM文件進(jìn)行分析,找出在比對(duì)后結(jié)果中哪些區(qū)域是沒(méi)有read覆蓋哩簿,那么將這些區(qū)域進(jìn)行拆分宵蕉。

低覆蓋區(qū)間

我們可以用bedtools genomecov 統(tǒng)計(jì)基因組上低覆蓋度區(qū)域, 選擇其中寬度大于100 bp 或1000 bp(按照需求進(jìn)行確定閾值)的區(qū)間作為分割點(diǎn)

bedtools genomecov -bga -ibam ${SM}.bam -g tair10.txt | awk '$4 < 3' | bedtools merge -i - | awk '{if ($3-$2 > 1000) print $0}' > result.bed 
bedtools complement -i  result.bed -g tair10.txt  > tair10_interval.bed

分分鐘給你搞出上千個(gè)區(qū)間,你就可以瘋狂的投遞任務(wù)了节榜。

也可以簡(jiǎn)單粗暴的按照固定大小對(duì)染色體進(jìn)行劃分羡玛。

最后運(yùn)行結(jié)束之后,還需要對(duì)文件進(jìn)行合并宗苍,用到的是MergeVcfs稼稿。

## merge chr.vcf
merge_vcfs=""
for chr in ${chroms[@]}; do
        merge_vcfs=${merge_vcfs}" -I ${SM}.${chr}.vcf.gz"
done && gatk MergeVcfs ${merge_vcfs} -O ${SM}.HC.vcf.gz && echo "Vcfs haved been successfully merged"
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市讳窟,隨后出現(xiàn)的幾起案子让歼,更是在濱河造成了極大的恐慌,老刑警劉巖丽啡,帶你破解...
    沈念sama閱讀 221,273評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件谋右,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡补箍,警方通過(guò)查閱死者的電腦和手機(jī)倚评,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門(mén)浦徊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人天梧,你說(shuō)我怎么就攤上這事∠忌ィ” “怎么了呢岗?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,709評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀(guān)的道長(zhǎng)蛹尝。 經(jīng)常有香客問(wèn)我后豫,道長(zhǎng),這世上最難降的妖魔是什么突那? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,520評(píng)論 1 296
  • 正文 為了忘掉前任挫酿,我火速辦了婚禮,結(jié)果婚禮上愕难,老公的妹妹穿的比我還像新娘早龟。我一直安慰自己,他們只是感情好猫缭,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,515評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布葱弟。 她就那樣靜靜地躺著,像睡著了一般猜丹。 火紅的嫁衣襯著肌膚如雪芝加。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,158評(píng)論 1 308
  • 那天射窒,我揣著相機(jī)與錄音藏杖,去河邊找鬼。 笑死脉顿,一個(gè)胖子當(dāng)著我的面吹牛蝌麸,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播弊予,決...
    沈念sama閱讀 40,755評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼祥楣,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了汉柒?” 一聲冷哼從身側(cè)響起误褪,我...
    開(kāi)封第一講書(shū)人閱讀 39,660評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎碾褂,沒(méi)想到半個(gè)月后兽间,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,203評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡正塌,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,287評(píng)論 3 340
  • 正文 我和宋清朗相戀三年嘀略,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了恤溶。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,427評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡帜羊,死狀恐怖咒程,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情讼育,我是刑警寧澤帐姻,帶...
    沈念sama閱讀 36,122評(píng)論 5 349
  • 正文 年R本政府宣布,位于F島的核電站奶段,受9級(jí)特大地震影響饥瓷,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜痹籍,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,801評(píng)論 3 333
  • 文/蒙蒙 一呢铆、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蹲缠,春花似錦棺克、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,272評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至渔肩,卻和暖如春因俐,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背周偎。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,393評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工抹剩, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蓉坎。 一個(gè)月前我還...
    沈念sama閱讀 48,808評(píng)論 3 376
  • 正文 我出身青樓澳眷,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親蛉艾。 傳聞我的和親對(duì)象是個(gè)殘疾皇子钳踊,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,440評(píng)論 2 359

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