我想解析DNA字符串。ValueError:太多值太解壓(預計2)
的input.txt中包含:
Rosalind_6404CCTGCGGAAGATCGGCACTAGAATAGCCAGAACCGTTTCTCTGAGGCTTCCGGCCTTCCCTCCCACTAATAATTCTGAGG>Rosalind_5959CCATCGGTAGCGCATCCTTAGTCCAATTAAGTCCCTATCCAGGCGCTCCGCCGAAGGTCTATATCCATTTGTCAGCAGACACGC>Rosalind_0808CCACCCTCGTGGTATGGCTAGGCATTCAGGAACCGGAGAACGCTTCAGACCAGCCCGGACTGGGAACCTGCGGGCAGTAGGTGGAAT
的代碼是:
f = open('input.txt', 'r')
raw_samples = f.readlines()
f.close()
samples = {}
cur_key = ''
for elem in raw_samples:
if elem[0] == '>':
cur_key = elem[1:].rstrip()
samples[cur_key] = ''
else:
samples[cur_key] = samples[cur_key] + elem.rstrip()
print(samples)
for p_id, s in samples.values():
samples[s_id] = (s.count('G') + s.count('C'))*100
print (samples)`
我不斷收到錯誤:
File "C:/Python34/test.py", line 18, in <module> for p_id, s in samples.values(): ValueError: too many values to unpack (expected 2)
你期望在這裏得到'p_id'和's'的結果嗎?您試圖將值(字符串)解壓縮爲兩個變量,但只有一個字符串中包含2個以上的字符。你的意思是使用'samples.items()'代替嗎? –
'對於p_id,s在samples.values()中迭代一維列表,就好像它是一個二維列表。 –
此外,我不確定使用字典串接續行是正確讀取FASTA文件的方法。 –