<p>我正在研究生物信息学的问题rosalind.org网站我遇到了一个问题,我编写的python脚本可以在较小的数据集上运行,但是当应用到更大的数据集时,我会得到<code>IndexError: list index out of range</code>消息。在</p>
<p>基本上我有一个较小的基序和一个较大的DNA序列,我必须在DNA序列中找到这个基序的实例。当我把问题中的示例数据集放入脚本中时,它工作得很好,我得到了正确的答案。然而,使用更大的基序和序列会产生前面提到的错误。在</p>
<p>这是我的代码:</p>
<pre><code>motif = "<motif around 9 characters>"
cMotif = list(motif)
motifLength = len(cMotif)
dna = "<DNA sequence around 900 characters>"
dnArray = list(dna)
locations = ""
position = 0
for nt in dnArray:
if (nt == cMotif[0]):
for x in range(0, (motifLength)):
if ((x + position) > len(dnArray)):
break
if (dnArray[position + x] == cMotif[x]):
if (x >= (motifLength - 1)):
locations += (str(position + 1) + " ")
break
else:
break
position += 1
print(locations)
</code></pre>
<p>第18行出现<code>IndexError: list index out of range</code>错误,<code>if (dnArray[position + x] == cMotif[x]):</code>因此我添加了</p>
^{pr2}$
<p>但没关系。在</p>
<p>干杯</p>