再现这一点的一个最起码的例子是:
import numpy
numpy.loadtxt("data.txt", delimiter='\t')
当data.txt
是:
A R N D C Q
A 5 -2 -1 -2 -1 -1
R -2 7 -1 -2 -4 1
N -1 -1 7 2 -2 0
运行代码时,我得到一个值错误:
[root@mycomp]$ python Needleman-Wunsch.py
Traceback (most recent call last):
File "Needleman-Wunsch.py", line 92, in <module>
(alignedSeq1, alignedSeq2) = computeFMatrix(seq1, seq2, -6)
File "Needleman-Wunsch.py", line 34, in computeFMatrix
similarityMatrixMap = readBLOSUM50("BLOSUM50.txt")
File "Needleman-Wunsch.py", line 16, in readBLOSUM50
similarityMatrix = np.loadtxt(fileName, delimiter='\t')
File "/usr/local/lib/python2.7/site-packages/numpy/lib/npyio.py", line 827, in loadtxt
items = [conv(val) for (conv, val) in zip(converters, vals)]
ValueError: could not convert string to float: A R N D C Q E G H I L K M F P S T W Y V
您还可以拥有the original ^{
删除BLOSUM50.txt
的第一行也会产生同样的错误。
问题是您正在从文件中读取非数值。 需要指定要使用的列和要跳过的行:
这对我来说和你之前发布的代码是一样的。:天
您只需将
loadtxt
替换为这将跳过标题,将列名转换为
nan
,然后将它们切掉。相关问题 更多 >
编程相关推荐