一行命令批量修改染色體和位置為RS號
阿新 • • 發佈:2021-12-01
鑑於太多人問我怎麼批量根據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
感謝小可愛們多年來的陪伴, 我與你們一起成長~