擅长:python、mysql、java
<p>假设外显子限制是包含的并且不能重叠,并且两个列表都是按升序排列的:</p>
<pre><code>exonic = 0
snp_l = len(SNPs)
exon_l = len(exon_limits)
snp_idx = 0
exon_idx = 0
while snp_idx < snp_l and exon_idx < exon_l:
if SNPs[snp_idx] < exon_limits[exon_idx][0]:
snp_idx += 1
elif SNPs[snp_idx] > exon_limits[exon_idx][1]:
exon_idx += 1
else:
exonic += 1
snp_idx += 1
non_exonic = snp_l - exonic
</code></pre>