まず第一に、私はプログラマーではないことを指摘しなければなりません。したがって、これはおそらくばかげた質問ですが、ここで何が起こっているのかを理解したいと思います。
プログラムは文字列 (ゲノム) を通過し、任意の長さのウィンドウ (この場合は 'l') をスライドする必要があります。指定された長さ (k) の文字の繰り返しシーケンスを検索し、シーケンスの出現回数を記録します。文字列全体で繰り返しシーケンスを見つけることができましたが、上記のウィンドウが私を悩ませています。ネストされたループを使用してみました:
for i in range(len(genome) - k + 1):
for c in range(len(genome))[c:c+l]:
kmer = genome[i:i+k]
if kmer in d:
d[kmer] += 1
else:
d[kmer] = 1
「NameError: 名前 'c' が定義されていません」というエラーが表示されます。この問題の原因は何ですか。わかりやすい修正方法はありますか? 効率はそれほど重要ではないので、同様の構造を維持したいと思います (ネストされた for ループの使用を回避する方法を説明する多くのトピックを見つけましたが、現在はかなり混乱しています)。
前もって感謝します。