| def mismatch(a, b): | |
| return sum(x != y for x, y in zip(a, b)) | |
| def calculate_offtargets(genome, guide): | |
| hits = 0 | |
| for i in range(len(genome) - len(guide)): | |
| target = genome[i:i+len(guide)] | |
| mm = mismatch(guide, target) | |
| if mm <= 2: | |
| hits += 1 | |
| return hits * 0.1 |