1. 程式人生 > 其它 >一行命令批量修改染色體和位置為RS號

一行命令批量修改染色體和位置為RS號

鑑於太多人問我怎麼批量根據chr:pos查詢RS號,在這裡出一個教程。

注意以下教程展示的是修改hg19基因組版本的RS號,如果你的資料是其他版本的,請修改為對應版本的資料。

假定資料是test.txt,內容如下:

現在希望根據第一列chr:pos找到對應的RS號,實現以下的效果:

則可以用dplyr::left_join引數,具體實現過程如下所示:

install.packages(dplyr)
library(dplyr)
tes = read.table("test.txt",header=T,check.names=F,sep="\t") #注意這裡我設定的是製表符分隔符,如果你的檔案不是製表符的話,需要修改成對應的分隔符
match = read.table("snp150_hg19.txt",header=T,check.names=F,sep="\t") 
need=dplyr::left_join(tes,match,by="chromosome:start") #如果snp150_hg19.txt檔案中有對應的RS號,則比對到test.txt檔案中,如果沒有的話,就變為NA
write.table(need, file ="clean.txt", sep ="\t", row.names =FALSE, col.names =TRUE, quote =FALSE) #儲存檔案

上述命令需要用到snp150_hg19.txt檔案,其內容如下所示:

snp150_hg19.txt檔案可以從https://hgdownload.soe.ucsc.edu/downloads.html網站 下載,也可以通過後臺回覆RS號修改獲取,下載後請解壓後再使用;

這個檔案很大,總共有234104111個位點,解壓後5G左右,只能通過網盤傳輸;

另外,我也提供了hg38的基因組版本snp151_hg38.txt.gz,需要的同樣後臺回覆RS號修改

由於本人只做人類,所以只提供了人類基因組版本的教程,做其他物種的小夥伴們需要自行從https://hgdownload.soe.ucsc.edu/downloads.html

網站 下載。


致謝橙子牛奶糖(陳文燕),請用參考模版:We thank the blogger (orange_milk_sugar, Wenyan Chen)for XXX

感謝小可愛們多年來的陪伴, 我與你們一起成長~