|
大家好,我是鄧飛。前一段時間有小伙伴在星球提問:想將不同版本的SNP數(shù)據(jù)合并,不想重新call snp,想把綿羊的V2和V4版本的數(shù)據(jù)合并,具體來說,是V2轉(zhuǎn)為V4然后與V4合并。 ![]() 我建議用 ![]() 1. 不同基因組轉(zhuǎn)換對應(yīng)關(guān)系原理每一次參考基因組的更新,位置信息會有所變化,有些是插入了一些,有些是平移,有些是沒有改變。 但是,每一個版本的參考基因組,都有對應(yīng)的關(guān)系,如果我們根據(jù)對應(yīng)的關(guān)系,就可以把舊版本的更新到新版本的位置。 應(yīng)用領(lǐng)域:不同參考基因組call snp的vcf數(shù)據(jù),可以通過這種方式轉(zhuǎn)換為同一基因組版本,然后合并。有些芯片設(shè)計時是不同的基因組版本,也可以通過這種形式,進行轉(zhuǎn)換,然后合并。 2. liftOver軟件下載網(wǎng)址:http://hgdownload.cse./admin/exe/ 有蘋果系統(tǒng)和Linux系統(tǒng),這里以Linux系統(tǒng)為例進行介紹。 ![]() 3. 查找物種的基因組版本網(wǎng)址:https://hgdownload.soe./downloads.html 常見的物種都有: ![]() 比如豬的版本有:
![]() 雞的有:
牛的有:
人的有:
4. 下載不同版本的liftOver數(shù)據(jù)文件比如,這里以雞為例子,進入網(wǎng)站:https://hgdownload.soe./goldenPath/galGal6/liftOver/ 這里由V6變?yōu)閂5,V6變?yōu)閂4:,我們想把V6變?yōu)閂5,可以下載: ![]() 當(dāng)然,也可以V5變?yōu)閂6,V4變?yōu)閂6,只需要下載對應(yīng)的chain文件即可: ![]() 注意,下載的gz文件,不要解壓縮。保持壓縮狀態(tài) 5. 整理位置信息我們以plink數(shù)據(jù)為例,我們想把v5版的map變?yōu)関6版的map,首先將map數(shù)據(jù)變?yōu)閎ed的格式: 將位置信息整理為bed文件,可以根據(jù)map進行整理,染色體,開始位置,結(jié)束位置,沒有行頭。 只接受BED格式文件,BED格式文件只定義前三列:chr start end,無表頭 注:end不等于start(如果是單位點的話,建議所有end = start+1) 轉(zhuǎn)換代碼: 6. 運行l(wèi)iftOver命令行轉(zhuǎn)換liftOver的語法為: liftOver <輸入文件> <chain文件> <輸出文件> <unmapped文件> 示例代碼: 將bed的V6版本,變?yōu)閂5版本: liftOver tt.bed galGal6ToGalGal5.over.chain.gz re_map.bed re_un_map.bed
結(jié)果會輸出成功轉(zhuǎn)換的位點,和沒有轉(zhuǎn)換的位點。 為了方便我們后續(xù)使用,可以先運行一遍代碼,將沒有轉(zhuǎn)換成功的位點刪掉,然后再轉(zhuǎn)換,這樣就是一一對應(yīng)的了。 |
|
|