我有一个变体位置文件和一个外显子区域文件。
1 242600263
12 54757526
11 45853978
外显子区域文件如下所示。
1:11861218-11861456 MTHFR-001_2
22:44280101-44280243 PNPLA5-201_7
这两个文件大约有100,000行。
现在,我将外显区域文件写入一个字典,使用区域作为键。
循环变量文件时,检查此位置是否位于外显词词典的任何键中。
for i in F1: <- loop through exon file
chrpos, exon, check=i
exondict[chrpos]=exon
for j in F2: <- loop through variant file
chr=j[0]
if chr=="11": <- get chr 11 first
variant=j[1]
for chrpos in exondict.keys():
chr, pos= chrpos.split(':')
start, stop= pos.split('-')
chr, start, stop
if int(start)<=int(variant)<=int(stop):
newlist=[exondict[chrpos]]+ j
W.writerow(newlist)
基本上,我得到了我想要的东西。
只是想知道是否有更优雅的方法来做到这一点。
谢谢!
例如,变体位置是chr11:108164047,其位于11:108164040-108164204 ATM-201_31内。