Example #1
0
def mutateGeneInsertion(dna_sequence):
    index = randint(1, len(dna_sequence) - 1)
    random_nucleotide = corresponding_nucleotides.keys()[randint(1, 3)]
    temp_dna_sequence = list(dna_sequence)
    temp_dna_sequence[index] = random_nucleotide
    dna_sequence = "".join(str(x) for x in temp_dna_sequence)
    return dna_sequence
Example #2
0
def mutateGeneInsertion(dna_sequence):
    index = randint(1, len(dna_sequence) - 1)
    random_nucleotide = corresponding_nucleotides.keys()[randint(1, 3)]
    temp_dna_sequence = dna_sequence[:index]
    temp_dna_sequence += random_nucleotide
    temp_dna_sequence += dna_sequence[index:]
    dna_sequence = temp_dna_sequence
    return dna_sequence
Example #3
0
def mutateGeneInPlace(dna_sequence, num_nucleotides_changed):
    i = 0
    while i <= num_nucleotides_changed:
        index = randint(1, len(dna_sequence) - 1)
        random_nucleotide = corresponding_nucleotides.keys()[randint(1, 3)]
        dna_sequence = dna_sequence[:index -
                                    1] + random_nucleotide + dna_sequence[
                                        index:]
        i = i + 1
    return dna_sequence
Example #4
0
def find_complement(input_dna):
    template_dna = ""
    for nucleic_acid in input_dna:
        if (nucleic_acid not in list(corresponding_nucleotides.keys())):
            raise Exception(nucleic_acid + " is not a valid nucleotide")
        template_dna += corresponding_nucleotides[nucleic_acid]
    # print "template_dna dna = " + template_dna
    # print "template_dna (3' to 5') " + template_dna
    template_dna = template_dna[::-1]
    print "complementary (5' to 3') " + template_dna  #reverse strand to read from 5' to 3'
    return template_dna