美文网首页
python实战

python实战

作者: M78_a | 来源:发表于2020-04-07 13:13 被阅读0次

目的:
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)

相关文章

网友评论

      本文标题:python实战

      本文链接:https://www.haomeiwen.com/subject/hsngphtx.html