Harvard:Biophysics 101/2007/Notebook:HRH/2007-2-8
From OpenWetWare
Script in progress:
#!/usr/bin/env python # Hetmann Hsieh # Assignment 2 # 2/8/07 import random # make a list of values for each tally = [0 for i in range(11)] # Generate the random 10-mer of H's and T's for i in range(10000): coinflip = ''.join([random.choice(['H','T']) for n in range (10)]) # Use this loop to tally up instances of each k-mer (from 2 to 10) for k in range(2,11): # store a k-mer of H's H = ''.join(['H' for n in range(k)]) Hcount = 0 pos = coinflip.find(H,0) while not pos == -1: Hcount = Hcount + 1 pos = coinflip.find(H,pos+1) # Update the tally for this k-mer tally[k] = tally[k] + Hcount # Use this loop to tally up instances of each k-mer (from 2 to 10) for k in range(2,11): # store a k-mer of T's Tcount = 0 T = ''.join(['T' for n in range(k)]) pos = coinflip.find(T,0) while not pos == -1: Tcount = Tcount + 1 pos = coinflip.find(T,pos+1) # Update the tally for this k-mer tally[k] = tally[k] + Hcount # print out the results for i in range(2,11): print i, tally[i]
Output:
2 22791 3 10172 4 4412 5 1860 6 792 7 336 8 147 9 66 10 28