freebayes軟件準確性驗證

介紹下freebayes軟件

FreeBayes是一種貝葉斯遺傳變異檢測器,設計用于發現小的多態性,特別是SNP(單核苷酸多態性),插入缺失(插入和缺失),MNP(多核苷酸多態性)和復雜事件(復合插入和替代事件) 短讀序列比對的長度。
FreeBayes是基于單倍型的,在某種意義上,它基于與特定目標對齊的讀取的字面序列調用變體,而不是它們的精確對齊。 該模型是基于比對檢測或報告變體的先前概述(例如PolyBayes,samtools,GATK)。 該方法避免了基于比對的變體檢測的核心問題之一 - 相同的序列可以具有多種可能的比對:
FreeBayes對來自群體和參考基因組(以FASTA格式)的任意數量的個體使用短讀比對(具有Phred + 33編碼質量評分的BAM文件,現在是標準的),以確定群體的最可能的基因型組合 參考中的每個位置。 它報告它在變體調用文件(VCF)格式中發現假定為多態的位置。 它還可以使用變體的輸入集合(VCF)作為先驗信息的來源,以及使用拷貝數變體圖譜(BED)來定義分析中的樣品的非均勻倍數變異。
以上來源于google對github上freebayes軟件簡介的翻譯。
用我自己的話來說,freebayes是用來檢測snp,indel的軟件,是目前最準確的軟件。

驗證思路

freebayesCmp.png

總體分為圖片上的幾步,其中Bwa、create bam和sort bam使用了兩個工具,bwa軟件和samtools軟件。網上學習下使用方法即可。
驗證過程我主要做的是Mutation、Reads和compere三個步驟。依次解釋下每個步驟。

Mutation 變異

根據已知的生物知識模擬DNA的變異,主要是SNP和Indel,并將模擬的結果保存,用于之后的比較。
要特殊注意的是,在模擬時不能將SNP和Ins(插入)位點選取在del(刪減)區域內,原因是,即使發生了SNP和Ins但是這也是無法觀察到的。

Reads 讀取DNA序列

這一步我是根據Illumina的測序流程來進行模擬的,具體過程在前面的文章中。在這里我遇到的一個坑是,我要根據mutation文件來進行變異的操作,然后在操作過程中不能改變位點的位置,即發生del和ins時,后面的位點位置不能發生變化。起初我將DNA序列作為字符串處理,但這樣進行del操作時,del位點之后的位置都會向前移,ins也同樣,這樣的話,結果就與mutation文件中的就完全不一樣,沒有任何價值。
糾正的方法是使用數組,將DNA序列作為數組處理。最后生成read文件。

Bwa、bam bwa比較和bam文件生產排序

這幾步主要都由現有的軟件來完成。
首先使用Bwa比對read與原始DNA的位置關系。
之后使用samtools軟件生產bam文件并對bam文件的索引進行排序。

freebayes軟件檢測

使用freebayes軟件很簡單,輸入原始的DNA序列和排序后的bam文件,即可得到檢測結果。
輸出的格式為vcf文件。

最后進行驗證比較

這一步就是最后對freebayes軟件進行驗證了,主要是用正則提取出mutation文件和vcf文件中的SNP與Indel信息,統一兩者的格式,同一位置發生同樣的變異則算為檢測成功。最后可以得到兩個信息:覆蓋度(所有真變異有多少被檢測出來了)和準確度(所有檢測到的變異有多少是正確的)。

最終結果

result.png

可以看到結果還是很不錯的,能有90%以上。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容