基因型數據正負鏈怎麼翻轉(snp flip)

在合併數據過程中,常常會發現不一樣來源的數據正負鏈不是統一的,這是一件很頭疼的事。git

正負鏈沒有統一的狀況下直接合並在一塊兒會產生什麼後果呢。github

舉個最簡單的例子,假如咱們從小明和小紅分別拿到了一批基因型數據。那麼存在如下幾種可能:1)小明的基因型數據統一好正鏈或者負鏈;2)小紅的基因型數據統一好正鏈或者負鏈;3)小明和小紅都不知道他們的數據有沒有統一好,反正數據拿給你了,你本身解決。數據庫

在咱們不知道這兩人的基因型數據正負鏈是否統一的狀況下,若是直接合並這兩個不一樣來源的數據,會產生什麼狀況呢?工具

對於大多數突變位點,經過數據處理,再合併是沒有問題的。好比A/G,A/C,T/G,T/C。ip

若是好巧不巧,存在A/T,C/G這種突變,那麼結果會是什麼樣呢。get

結果就是對於同一個個體,他在小明的數據庫顯示的鹼基是A,在小紅的數據庫顯示的是T。這就是正負鏈惹的禍。it

正鏈的小明:Aio

負鏈的小紅:Tioc

若是從個體角度還不能理解,我再從羣體的角度去說明這個問題。方法

假定小明和小紅的數據都是東亞人,那麼理論上同一個突變位點的頻率是接近的。存在正負鏈混淆的狀況下,可能的結果就是小明數據的A頻率是0.4,小紅的A頻率是0.6,問題是,小明的A是小紅的T,非A,把他們直接合並的話,A和T就混在一塊兒了

因此不一樣來源的基因型數據直接合並數據,是不對的。

那麼,咱們有什麼方法解決這個問題呢?

下面我來推一個工具snpflip

這個工具很簡單,算起來很是快。分析完成後,會生成三個文件:annotated_bim、ambiguous、reverse

第一個文件是annotated_bim,這個文件是整體評估你丟進去的SNP位點是正鏈、負鏈、仍是沒法區分正負鏈(最後一列)。

chromosome 0_idx_position snp_name genetic_distance allele_1 allele_2 reference reference_re strand

1 0 snp1 0 A C A T forward

1 1 snp2 0 A T C G ambiguous

1 2 snp3 0 A G T A reverse

2 0 snp4 0 A G C G reverse

2 1 esv5 0 AA G C G reverse

25 1 snp7 0 A G ambiguous

X 1 inv1 0 A G N N ambiguous

Y 0 snp6 0 A G A T forward

第二個文件是ambiguous,這個文件是彙總全部沒法分清正負鏈的位點;

snp2

snp7

inv1

最後一個文件是reverse,這個文件是彙總全部負鏈的位點;

snp3

snp4

esv5

相關文章
相關標籤/搜索