In [1]:
%matplotlib inline
import matplotlib.pyplot as plt
import seaborn as sns
sns.set_style("white")
sns.set(style="ticks")
from matplotlib import rc
rc('text', usetex=True)
from scipy.stats import norm
from scipy import stats
import statsmodels.api as sm
# sns.despine()
import csv
import ast
import random
import numpy as np

In [2]:
motiflist = ['10000','00001']

In [3]:
biaslist = [0.9]

# numSamples = 50
# numSamples = 150
equil_start = 1000
numTrials = 2
numRounds = 40000

In [4]:
motiflist = ['10000']
# biaslist = [0.5,0.8,0.9,1.0]
biaslist = [0.9]

In [5]:
single_set_motif = []
single_set_cell = []
single_set_strands = []
for motif in range(len(motiflist)):
    single_set_motif.append([])
    single_set_cell.append([])
    single_set_strands.append([])
    for bias in range(len(biaslist)):
        single_set_motif[motif].append([])
        single_set_cell[motif].append([])
        single_set_strands[motif].append([])
        for s in range(8):
            if s == 0:
                temp_file = "../data/MotifSimulation_NewLeaf_Test2_Elong_Set1_MotifData_motif"+motiflist[motif]+"_len7_bias"+str(biaslist[bias])+"_elong0.05_2trials_numRound40000_verificationcopy.csv"
                with open(temp_file) as f:
                    handle = csv.reader(f)
                    line_counter = 0
                    for line in handle:
                #         print line_counter
                        if line_counter in range(1,2*3+1,3):
                            words = []
                            for word in line:
                                words.append(ast.literal_eval(word))
                            single_set_motif[motif][bias].append(words)
                        elif line_counter in range(2,2*3+2,3):
                            words = []
                            for word in line:
                                words.append(ast.literal_eval(word))
                            single_set_cell[motif][bias].append(words)
                        elif line_counter in range(3,2*3+3,3):
                            words = []
                            for word in line:
                                words.append(ast.literal_eval(word))
                            single_set_strands[motif][bias].append(words)
                        line_counter += 1
            elif s == 1:
                temp_file = "../data/MotifSimulation_RobustIC_all1_set2_MotifData_motif"+motiflist[motif]+"_len7_bias"+str(biaslist[bias])+"_elong0.05_2trials_numRound7000.csv"
                with open(temp_file) as f:
                    handle = csv.reader(f)
                    line_counter = 0
                    for line in handle:
                #         print line_counter
                        if line_counter in range(1,2*3+1,3):
                            words = []
                            for word in line:
                                words.append(ast.literal_eval(word))
                            single_set_motif[motif][bias].append(words)
                        elif line_counter in range(2,2*3+2,3):
                            words = []
                            for word in line:
                                words.append(ast.literal_eval(word))
                            single_set_cell[motif][bias].append(words)
                        elif line_counter in range(3,2*3+3,3):
                            words = []
                            for word in line:
                                words.append(ast.literal_eval(word))
                            single_set_strands[motif][bias].append(words)
                        line_counter += 1
            elif s == 2:
                temp_file = "../data/MotifSimulation_RobustIC_rand1_set2_MotifData_motif"+motiflist[motif]+"_len7_bias"+str(biaslist[bias])+"_elong0.05_2trials_numRound7000.csv"
                with open(temp_file) as f:
                    handle = csv.reader(f)
                    line_counter = 0
                    for line in handle:
                #         print line_counter
                        if line_counter in range(1,2*3+1,3):
                            words = []
                            for word in line:
                                words.append(ast.literal_eval(word))
                            single_set_motif[motif][bias].append(words)
                        elif line_counter in range(2,2*3+2,3):
                            words = []
                            for word in line:
                                words.append(ast.literal_eval(word))
                            single_set_cell[motif][bias].append(words)
                        elif line_counter in range(3,2*3+3,3):
                            words = []
                            for word in line:
                                words.append(ast.literal_eval(word))
                            single_set_strands[motif][bias].append(words)
                        line_counter += 1
            elif s == 3:
                temp_file = "../data/MotifSimulation_RobustIC_rand2_set2_MotifData_motif"+motiflist[motif]+"_len7_bias"+str(biaslist[bias])+"_elong0.05_2trials_numRound7000.csv"
                with open(temp_file) as f:
                    handle = csv.reader(f)
                    line_counter = 0
                    for line in handle:
                #         print line_counter
                        if line_counter in range(1,2*3+1,3):
                            words = []
                            for word in line:
                                words.append(ast.literal_eval(word))
                            single_set_motif[motif][bias].append(words)
                        elif line_counter in range(2,2*3+2,3):
                            words = []
                            for word in line:
                                words.append(ast.literal_eval(word))
                            single_set_cell[motif][bias].append(words)
                        elif line_counter in range(3,2*3+3,3):
                            words = []
                            for word in line:
                                words.append(ast.literal_eval(word))
                            single_set_strands[motif][bias].append(words)
                        line_counter += 1
            elif s == 4:
                temp_file = "../data/MotifSimulation_RobustIC_rand3_set2_MotifData_motif"+motiflist[motif]+"_len7_bias"+str(biaslist[bias])+"_elong0.05_2trials_numRound7000.csv"
                with open(temp_file) as f:
                    handle = csv.reader(f)
                    line_counter = 0
                    for line in handle:
                #         print line_counter
                        if line_counter in range(1,2*3+1,3):
                            words = []
                            for word in line:
                                words.append(ast.literal_eval(word))
                            single_set_motif[motif][bias].append(words)
                        elif line_counter in range(2,2*3+2,3):
                            words = []
                            for word in line:
                                words.append(ast.literal_eval(word))
                            single_set_cell[motif][bias].append(words)
                        elif line_counter in range(3,2*3+3,3):
                            words = []
                            for word in line:
                                words.append(ast.literal_eval(word))
                            single_set_strands[motif][bias].append(words)
                        line_counter += 1
            elif s == 5:
                temp_file = "../data/MotifSimulation_RobustIC_allmotif_set2_MotifData_motif"+motiflist[motif]+"_len7_bias"+str(biaslist[bias])+"_elong0.05_2trials_numRound7000.csv"
                with open(temp_file) as f:
                    handle = csv.reader(f)
                    line_counter = 0
                    for line in handle:
                #         print line_counter
                        if line_counter in range(1,2*3+1,3):
                            words = []
                            for word in line:
                                words.append(ast.literal_eval(word))
                            single_set_motif[motif][bias].append(words)
                        elif line_counter in range(2,2*3+2,3):
                            words = []
                            for word in line:
                                words.append(ast.literal_eval(word))
                            single_set_cell[motif][bias].append(words)
                        elif line_counter in range(3,2*3+3,3):
                            words = []
                            for word in line:
                                words.append(ast.literal_eval(word))
                            single_set_strands[motif][bias].append(words)
                        line_counter += 1
            elif s == 6:
                temp_file = "../data/MotifSimulation_RobustIC_randhalfmotif_set2_MotifData_motif"+motiflist[motif]+"_len7_bias"+str(biaslist[bias])+"_elong0.05_2trials_numRound7000.csv"
                with open(temp_file) as f:
                    handle = csv.reader(f)
                    line_counter = 0
                    for line in handle:
                #         print line_counter
                        if line_counter in range(1,2*3+1,3):
                            words = []
                            for word in line:
                                words.append(ast.literal_eval(word))
                            single_set_motif[motif][bias].append(words)
                        elif line_counter in range(2,2*3+2,3):
                            words = []
                            for word in line:
                                words.append(ast.literal_eval(word))
                            single_set_cell[motif][bias].append(words)
                        elif line_counter in range(3,2*3+3,3):
                            words = []
                            for word in line:
                                words.append(ast.literal_eval(word))
                            single_set_strands[motif][bias].append(words)
                        line_counter += 1
            elif s == 7:
                temp_file = "../data/MotifSimulation_RobustIC_halfmotifhalfrandom_set2_MotifData_motif"+motiflist[motif]+"_len7_bias"+str(biaslist[bias])+"_elong0.05_2trials_numRound7000.csv"
                with open(temp_file) as f:
                    handle = csv.reader(f)
                    line_counter = 0
                    for line in handle:
                #         print line_counter
                        if line_counter in range(1,2*3+1,3):
                            words = []
                            for word in line:
                                words.append(ast.literal_eval(word))
                            single_set_motif[motif][bias].append(words)
                        elif line_counter in range(2,2*3+2,3):
                            words = []
                            for word in line:
                                words.append(ast.literal_eval(word))
                            single_set_cell[motif][bias].append(words)
                        elif line_counter in range(3,2*3+3,3):
                            words = []
                            for word in line:
                                words.append(ast.literal_eval(word))
                            single_set_strands[motif][bias].append(words)
                        line_counter += 1

In [6]:
plt.figure()
for trial in range(14):
    plt.plot(single_set_motif[0][0][trial][1000:7000])



In [7]:
start = 0
add = 200
plt.figure()
plt.plot(single_set_motif[0][0][0][start:start+add],'r',label='Empty')
plt.plot(single_set_motif[0][0][1][start:start+add],'r')
plt.plot(single_set_motif[0][0][2][start:start+add],'b',label='All 1')
plt.plot(single_set_motif[0][0][3][start:start+add],'b')
plt.plot(single_set_motif[0][0][4][start:start+add],'g',label ='Random 1 (0.9)')
plt.plot(single_set_motif[0][0][5][start:start+add],'g')
plt.plot(single_set_motif[0][0][6][start:start+add],'y',label ='Random 2 (0.5)')
plt.plot(single_set_motif[0][0][7][start:start+add],'y')
plt.plot(single_set_motif[0][0][8][start:start+add],'c',label ='Random 3 (0.1)')
plt.plot(single_set_motif[0][0][9][start:start+add],'c')
plt.plot(single_set_motif[0][0][10][start:start+add],'m',label ='All Motif')
plt.plot(single_set_motif[0][0][11][start:start+add],'m')
plt.legend(loc='upper right')


Out[7]:
<matplotlib.legend.Legend at 0x1092d88d0>

In [8]:
start = 0
add = 1000
plt.figure()
plt.plot(single_set_motif[0][0][2][start:start+add],color='#e41a1c',label='All 1')
plt.plot(single_set_motif[0][0][3][start:start+add],color='#e41a1c')
plt.plot(single_set_motif[0][0][4][start:start+add],color='#ffff33',label ='Random w/ Bin(100,0.1) empty')
plt.plot(single_set_motif[0][0][5][start:start+add],color='#ffff33')
plt.plot(single_set_motif[0][0][6][start:start+add],color='#a65628',label ='Random w/ Bin(100,0.5) empty')
plt.plot(single_set_motif[0][0][7][start:start+add],color='#a65628')
plt.plot(single_set_motif[0][0][8][start:start+add],color='#ff7f00',label ='Random w/ Bin(100,0.9) empty')
plt.plot(single_set_motif[0][0][9][start:start+add],color='#ff7f00')
plt.plot(single_set_motif[0][0][10][start:start+add],color='#4daf4a',label ='All Motif')
plt.plot(single_set_motif[0][0][11][start:start+add],color='#4daf4a')
plt.plot(single_set_motif[0][0][12][start:start+add],color='#984ea3',label ='Half Motif, Half Empty')
plt.plot(single_set_motif[0][0][13][start:start+add],color='#984ea3')
plt.plot(single_set_motif[0][0][14][start:start+add],color='#f781bf',label ='Half Motif, Half Random')
plt.plot(single_set_motif[0][0][15][start:start+add],color='#f781bf')
plt.plot(single_set_motif[0][0][0][start:start+add],color='#377eb8',label='Empty')
plt.plot(single_set_motif[0][0][1][start:start+add],color='#377eb8')
plt.legend(loc='upper right',ncol=2,fontsize=12)
plt.xlabel('Time')
plt.ylabel('Motif Frequency')


Out[8]:
<matplotlib.text.Text at 0x1096889d0>

In [9]:
start = 0
add = 1000
plt.figure()
plt.plot(single_set_motif[0][0][2][start:start+add],color='lightgrey',label='All 1')
plt.plot(single_set_motif[0][0][3][start:start+add],color='lightgrey')
plt.plot(single_set_motif[0][0][4][start:start+add],color='lightgrey',label ='Random w/ Bin(100,0.1) empty')
plt.plot(single_set_motif[0][0][5][start:start+add],color='lightgrey')
plt.plot(single_set_motif[0][0][6][start:start+add],color='lightgrey',label ='Random w/ Bin(100,0.5) empty')
plt.plot(single_set_motif[0][0][7][start:start+add],color='lightgrey')
plt.plot(single_set_motif[0][0][8][start:start+add],color='lightgrey',label ='Random w/ Bin(100,0.9) empty')
plt.plot(single_set_motif[0][0][9][start:start+add],color='lightgrey')
plt.plot(single_set_motif[0][0][10][start:start+add],color='lightgrey',label ='All Motif')
plt.plot(single_set_motif[0][0][11][start:start+add],color='lightgrey')
plt.plot(single_set_motif[0][0][12][start:start+add],color='lightgrey',label ='Half Motif, Half Empty')
plt.plot(single_set_motif[0][0][13][start:start+add],color='lightgrey')
plt.plot(single_set_motif[0][0][14][start:start+add],color='lightgrey',label ='Half Motif, Half Random')
plt.plot(single_set_motif[0][0][15][start:start+add],color='lightgrey')
plt.plot(single_set_motif[0][0][0][start:start+add],color='k',label='Empty')
plt.plot(single_set_motif[0][0][1][start:start+add],color='k')
ax = plt.gca()
for tick in ax.xaxis.get_major_ticks():
    tick.label.set_fontsize(14) 
for tick in ax.yaxis.get_major_ticks():
    tick.label.set_fontsize(14) 

# plt.legend(loc='upper right',ncol=2,fontsize=12)
plt.xlabel('Time',fontsize=14)
plt.ylabel('Motif Frequency',fontsize=14)
# plt.savefig('convergence_initialconditions_motif10000_bias9_fontsize.pdf',rasterized=True)


Out[9]:
<matplotlib.text.Text at 0x1091ad090>

In [15]:
start = 0
end = 40000
plt.figure()

plt.plot(single_set_motif[0][0][0][start:end],color='lightgrey',label='Empty',linewidth=0.5)
plt.plot(single_set_motif[0][0][1][start:end],color='k',linewidth=0.5)
plt.xlabel('Time',fontsize=14)
plt.ylabel('Motif Frequency',fontsize=14)


Out[15]:
<matplotlib.text.Text at 0x1091d9210>

In [ ]: