擅长:python、mysql、java
<p>这是<code>zip</code>函数的作业。我们并行地迭代引用和测试序列,看看其中一个在当前位置是否包含<code>-</code>。我们使用该测试的结果来更新字典中插入、删除和未更改的计数。在</p>
<pre><code>def kind(u, v):
if u == '-':
if v != '-':
return 'I' # insertion
else:
if v == '-':
return 'D' # deletion
return 'U' # unchanged
reference = 'AGCAGGCAAGGCAA GGAA-CCA'
sequences = [
'AGCA -AAGGCAATTGGAA-CCA',
'AGCAGGCAAGGCAA GGAAACCA',
]
print('Reference')
print(reference)
for seq in sequences:
print(seq)
counts = dict.fromkeys('DIU', 0)
for u, v in zip(reference, seq):
counts[kind(u, v)] += 1
print(counts)
</code></pre>
<p><strong>输出</strong></p>
^{pr2}$
<hr/>
<p>这是一个更新版本,它也检查多态性。在</p>
^{3}$
<p><strong>输出</strong></p>
<pre><code>Reference
AGCAGGCAAGGCAA GGAA-CCA
AAAA -AAAGCAATTGGAA-CCA
{'D': 3, 'P': 3, 'I': 2, 'U': 16}
AGCAGGCAAAACAA GGAAACCA
{'D': 0, 'P': 2, 'I': 1, 'U': 21}
</code></pre>