我有两个这样的档案, 蛋白质列表-
TRIUR3_05947-P1
TRIUR3_06394-P1
Traes_1BL_EB95F4919.2
还有一本用制表符分隔的单词和蛋白质的字典-
^{pr2}$我想要的结果是它能找到所有常见的蛋白质然后打印出这样的结果
contig22 TRIUR3_05947-P1
contig15 TRIUR3_05947-P1
contig1 Traes_1BL_EB95F4919.2
contig67 Traes_1BL_EB95F4919.2
contig98 Traes_1BL_EB95F4919.2
这是我下面的脚本,但它给我的结果只有一个,我猜重写了一遍,这怎么解决呢?在
f1=open('mydict.txt','r')
f2=open('mylist.txt','r')
output = open('result.txt','w')
dictA= dict()
for line1 in f1:
listA = line1.rstrip('\r\n').split('\t')
dictA[listA[1]] = listA[0]
for line1 in f2:
new_list=line1.rstrip('\n').split()
query=new_list[0]
if query in dictA:
listA[0] = dictA[query]
output.write(query+'\t'+str(listA[0])+'\n')
在第一个for循环中,将txt文件转换为python字典时,将丢失信息:
例如,如果你有线条
^{pr2}$在您的txt文件中,生成的字典将只有最后一个条目的键值对,颠倒。在
为了实现您的目标,只需对程序进行最少的修改,请尝试
你这样做是不对的。如果你把“字典文件”存储在字典结构中,使用蛋白质名称作为键,你将丢失信息。在
一个更好的方法是首先阅读蛋白质列表,然后将所有蛋白质名称存储在一个集合中。然后,阅读字典文件并打印所有蛋白质名称在集合中的行。在
相关问题 更多 >
编程相关推荐