目的:
9.3 搜索人类激酶中的磷酸化位点搜索在Uniprot(SwissProt)中人类激酶的苏氨酸和丝氨酸磷酸化位点。提示:为了简单起见,可以使用本章所示的正则表达式( R.[ST][-P] ')来匹配磷酸化位点。
#!/usr/bin/env python
import re
import sys
fname = sys.argv[1]
f = open(fname)
lines = f.readlines()
aDict={}
L=[]
seq=''
#print(lines)
#将fasta序列存入字典
for i in lines:
if i.startswith(">"):
#print(i)
a = i.rstrip()#注意这个赋值犹未重要
aDict[a]=''
else:
i=i.strip()
aDict[a]+=i
#print(aDict)
#筛选符合条件的字典键
for k in aDict.keys():
#print(k)
if 'kinase' and 'OS=Homo sapiens' in k:
#print(k)
L.append(k)
#print(L)
#根据筛选的键,再生成符合条件的新新字典
bDict={}
for n in L:
bDict[n]=aDict.get(n)
print(bDict)
#对新字典循环便利,正则匹配条件的位点
for ka,va in bDict.items():
pattern = re.compile(r'R.[ST][-P]')
result = pattern.findall(va)
print(ka,"\n",result)
网友评论