我正在尝试从blosum62
矩阵
我已完成以下代码:
from Bio.SubsMat import MatrixInfo
blosum = MatrixInfo.blosum62
blosum['N','D']
et得到以下错误:
追踪(最近的呼叫最后):
文件“< stdin>”,第1行,在< module>中 KeyError :('N','D')
但在blosum62
矩阵中,值为('N','D') = 1
为什么要提供KeyError?
答案 0 :(得分:0)
我认为Blosum62是一个较低的三角形矩阵,所以如果(' N' D' D')不起作用,那就去(' D',&# 39; N&#39)
解决方案是
pair = ('N','D')
if pair not in blosum62_matrix:
value = blosum62_matrix[(tuple(reversed(pair)))]
else:
value = blosum62_matrix[pair]
我认为它会奏效。
答案 1 :(得分:-1)
加入http://biopython.org/DIST/docs/api/Bio.SubsMat.MatrixInfo-module.html#blosum62 blosom62
会返回字典。所以试试blosum[('N','D')]
。