python生物信息学数据管理:自测题

2020-04-11  本文已影响0人  M78_a

6.1

#思路
#1,先把fasta存为一个字典;
#2,对这个字典遍历,把key和value分别存进2个list;
#3,取出符合条件的value的list的index,根据这个index再取出key

#!/usr/bin/env python
import sys
fname = sys.argv[1]
f = open(fname,'r')
o = open("swiss_id.txt",'w')
lines = f.readlines()
aDict={}
id=[]
seq=[]
id_index=0
print(lines)
for i in lines:
    if i.startswith(">"):
        a= i.strip()
        aDict[a]=''
    else:
        i=i.strip()
        aDict[a]=aDict[a]+i
print(aDict)

for k,v in aDict.items():
    id.append(k)
    seq.append(v)

for i in seq:
    if i.startswith("M"):
        id_index = seq.index(i)
        print(id_index)
        print(id[id_index])
        o.write(id[id_index])
f.close()
o.close()
#自测题6.1,此题写得有点繁琐了
#学会根据字典的value值取出key:把key和value分别存进2个list。
# 取出符合条件的value的list的index,根据这个index再取出key。
#取出列表index的函数:list.index(列表的某个元素)
上一篇 下一篇

猜你喜欢

热点阅读