水稻泛基因組matrix格式文件與VCF文件的轉(zhuǎn)換,并計算SNP多態(tài)性Pi值
數(shù)據(jù)來源:https://www.nature.com/articles/s41588-018-0041-z#Sec18
Pan-genome analysis highlights the extent of genomic variation in cultivated and wild rice
之前我在網(wǎng)上沒有找到如何將上述文章發(fā)表的matrix格式SNP文件如何轉(zhuǎn)換為VCF文件的方法,就自己用R和linux寫了一個很簡陋的,還望諸位讀者和我一起改進。
下載原始數(shù)據(jù)文件SNP.matrix
linux部分:
首先篩選自己需要的數(shù)據(jù)部分,不然文件太大了R里容易卡死。
R部分:
#作為VCF文件里ALT替代堿基的來源
#由于不知道真實的VCF文件里ALT項是如何表達(dá)多種SNP的,就只好選擇第一個SNP堿基了,實際應(yīng)根據(jù)SNP類型,后續(xù)轉(zhuǎn)變?yōu)閂CF格式的時候選擇0/1或者0/2。我也不知道這0/1或者0/2對于最終結(jié)果有沒有影響,知道的朋友還請留言哈。
各個亞種的代稱在文章supplementary data 1里面,比如篩選aus亞種
關(guān)于R代碼的優(yōu)化可以參考https://www.cnblogs.com/purple5252/p/11189791.html
我嘗試過優(yōu)化這個判斷,但是可能是由于覆寫次數(shù)太多,運行效率還不如if else
轉(zhuǎn)換為VCF
這時候得到的是沒有描述行的VCF文件,需要手動寫入描述
描述是我隨便找的
linux部分計算Pi值
所學(xué)不精,還請大家多多指教
標(biāo)簽: