Problem 3.4

Random DNA Sequence

Write a function random_dna_sequence to generate a DNA sequence of given length by taking nucleotides selected at random.

>>> random_dna_sequence(4)
'TCAC'

>>> random_dna_sequence(10)
'GCTGCTGGCA'

Hint: Use of the random.choice function from random module which selects random element from a list/string.

>>> random.choice("ABCD")
'B'
>>> random.choice("ABCD")
'C'
>>> random.choice("ABCD")
'C'
>>> random.choice("ABCD")
'D'

Solution

import random

def random_dna_sequence(n):
    return "".join(random.choice("ATGC") for i in range(n))