第一:mapping record
https://www.biostars.org/p/138116/
18839435 – 146997 = 18692438 #clean_read
18726872 – 146997 = 18579875 #exclude segmentunmapped and secondary alignment
即samtools flagstat 統(tǒng)計中的得到的mapping read 包含secondary alignment and supplementary,因此可能大于read num
samtools flagstat mapped = pysam.mapped
第二:比對
samtools view -F 256(過濾掉secondary alignment)
samtools view? -F 2048 (過濾掉supplementary alignment)
1徐伐、-M與-Y比較
bwa mem -M -K 100000000 -t 10 -R @RG\tID:havem\tSM:havem\tPL:illumina\tPU:illumina\tLB:illumina ref fq1 fq2 > sam
bwa mem -Y -K 100000000 -t 10 -R @RG\tID:havem\tSM:havem\tPL:illumina\tPU:illumina\tLB:illumina ref fq1 fq2 > sam
bwa mem 與bwa mem -Y 結(jié)果一致 呈現(xiàn)于samtools flagstat 中的 146997 + 0 supplementary
bwa mem -M 與 bwa mem -M -Y 結(jié)果一致 呈現(xiàn)于samtools flagstat 中的 146997 + 0 secondary
2嗜傅、bwa mem -M
3、bwa mem -Y
bwa mem -p 忽略輸入中的reads2菩混,如果雙端reads PE比對,如果加上-p 則bam文件中相同reads只有一條記錄(reads1)
4、bwa mem -K?
https://gatkforums.broadinstitute.org/gatk/discussion/11554/bwa-parameters-in-gatk4-data-processing-workflow
默認(rèn)情況下德崭,bwa-mem會將一批reads操作加載到RAM中進(jìn)行處理常潮。加載的基數(shù)的數(shù)量與線程的數(shù)量成比例弟胀,因此使用不同數(shù)量的線程可能會產(chǎn)生稍微不同的映射結(jié)果。K參數(shù)要求工具將固定數(shù)量的堿基加載到RAM中喊式,從而實現(xiàn)可再現(xiàn)性孵户。
第三:bam文件格式解釋
1、術(shù)語和概念
鏈接:http://www.reibang.com/p/8d01019f33f2
在學(xué)習(xí)SAM格式之前岔留,請確認(rèn)自己是否對如下概念有清楚的認(rèn)識|
read: 測序儀返回的原始序列.一個read可以包括多個segment夏哭。read之間的先后順序表示被測序儀讀到的時間前后關(guān)系.
segment:? 一段連續(xù)的序列或子序列
linear alignment: 線性聯(lián)配表示一個read比對到單個參考序列,可以存在插入献联,缺失竖配,跳過(skip),剪切(clip), 但是不存在方向改變的情況(比如說一部分和正向鏈聯(lián)配,另一個位置則是和負(fù)向鏈聯(lián)配)里逆。最簡單的判斷的方式就是进胯,一個linear alignment只用一行記錄。
chimeric alignment: 嵌合聯(lián)配需要多行記錄原押。比如說r003第一個記錄是后6個匹配胁镐,第二個記錄則是反向序列的后5個匹配。第一個被稱之為"representative",其他都是"supplementary"
read alignment: 無論是linear alignment, 還是chimeric alignment, 只要能完整表示一個read,都成為是read alignment
multiple mapping: 由于存在重復(fù)區(qū)盯漂,一個read 可能比對到參考基因組的不同區(qū)域颇玷。其中一個被認(rèn)為是primary,其他都是secondary.
兩個系統(tǒng)|1-based coordinate system(SAM,VCF,GFF,wiggle)和0-based coordinate system(BAM, BCFv2, BED, PSL).自行用R和Python感受一下兩者的不同就缆。
chimeric alignment 可能是結(jié)構(gòu)變異帖渠,基因融合,參考序列誤組裝违崇,RNA-Seq阿弃,實驗protocol等因素造成。對于chimeric alignment的里面每一個linear alignment而言羞延,由于相互之前不存在重疊渣淳,故而聯(lián)配質(zhì)量較高,適合用于SNP/INDEL calling.相反, multiple mapping則是因為重復(fù)造成(read越長出現(xiàn)的概率越低), 相互之間存在重疊伴箩,僅有其中一條有最優(yōu)的匹配入愧,其他聯(lián)配質(zhì)量過低會被SNP/INDEL caller忽略。