| import random | |
| BASES = ["A", "T", "C", "G"] | |
| def perform_edit(sequence, cut_site): | |
| sequence = list(sequence) | |
| mode = random.choice([ | |
| "substitution", | |
| "deletion", | |
| "insertion" | |
| ]) | |
| if mode == "substitution": | |
| sequence[cut_site] = random.choice(BASES) | |
| elif mode == "deletion": | |
| del sequence[cut_site] | |
| elif mode == "insertion": | |
| sequence.insert(cut_site, random.choice(BASES)) | |
| return "".join(sequence) |