Harvard:Biophysics 101/2007/Notebook:Kaull/2007-2-20

My project - still alpha, heh - is an attempt to evaluate the selective pressures on synonymous codon frequency in ApoE.

There was some discussion earlier in this course about synonymous codons and their distribution; some call codon distribution a random process, biased by co-evolution between tRNA and codon levels, while others say that rare codons may be an advantage at some sites (such as domain boundaries). If the abundance or scarcity of a codon is an advantage, it should be conserved - if it is random, it should not be. Thus, my project.

GenBank says that ApoE is directly conserved in eutherian mammals, so I'm using chimp, dog, rat and mouse ApoE as comparison samples for the human version. I aligned them with Clustalw, compared the codons at each aligned site, and I'm now playing with the data to see if anything interesting falls out. Will report back in a bit.

PS: Big thanks to the TAs for helping me teach Python and Clustalw to get along.


 * 1) Project 1, HST.510
 * 2) Katherine Aull


 * 1) Description:
 * 2)  This program aims to test whether synonymous
 * 3)  codons are selected for their abundance or
 * 4)  scarcity in the overall genome.
 * 1)  scarcity in the overall genome.


 * 1) header collection

import os, sys from Bio import Clustalw, GenBank, Seq, Translate from Bio.Alphabet import IUPAC
 * 1) !/usr/bin/env python


 * 1) import sequence datafiles in GenBank format
 * 2) convert them to useful data structure:
 * 3)  db['name'] = {'rawdata', 'dnaseq', proseq', 'orfpos', 'codons'}

db = {} inputs = sys.argv[1:len(sys.argv)]

for filename in inputs: handle = open(filename, 'r') parser = GenBank.FeatureParser iterator = GenBank.Iterator(handle, parser) name = filename[0:filename.find('.')] rawdata = iterator.next db[name] = {'rawdata': rawdata}

for feature in db[name]['rawdata'].features: if feature.type == 'CDS': db[name]['proseq'] = feature.qualifiers['translation'][0] db[name]['orfpos'] = feature.location break

rawseq = rawdata.seq.tostring start = db[name]['orfpos'].start.position end = db[name]['orfpos'].end.position db[name]['dnaseq'] = rawseq[start:end]

db[name]['codons'] = [] rnaseq = db[name]['dnaseq'].replace('T', 'U') for x in range(0, len(rnaseq), 3): db[name]['codons'].append(rnaseq[x:x+3])

geneticCode = {'GGG':'G', 'GGA':'G', 'GGC':'G', 'GGU':'G', 'GAG':'E', 'GAA':'E', 'GAC':'D', 'GAU':'D', 'GCG':'A', 'GCA':'A', 'GCC':'A', 'GCU':'A', 'GUG':'V', 'GUA':'V', 'GUC':'V', 'GUU':'V', 'AGG':'R', 'AGA':'R', 'AGC':'S', 'AGU':'S', 'AAG':'K', 'AAA':'K', 'AAC':'N', 'AAU':'N', 'ACG':'T', 'ACA':'T', 'ACC':'T', 'ACU':'T', 'AUG':'M', 'AUA':'I', 'AUC':'I', 'AUU':'I', 'CGG':'R', 'CGA':'R', 'CGC':'R', 'CGU':'R', 'CAG':'Q', 'CAA':'Q', 'CAC':'H', 'CAU':'H', 'CCG':'P', 'CCA':'P', 'CCC':'P', 'CCU':'P', 'CUG':'L', 'CUA':'L', 'CUC':'L', 'CUU':'L', 'UGG':'W', 'UGA':'*', 'UGC':'C', 'UGU':'C', 'UAG':'*', 'UAA':'*', 'UAC':'Y', 'UAU':'Y', 'UCG':'S', 'UCA':'S', 'UCC':'S', 'UCU':'S', 'UUG':'L', 'UUA':'L', 'UUC':'F', 'UUU':'F'}
 * 1) prepare codon frequency data for comparisons
 * 1) import codon tables - ain't pretty, but it works
 * 2) I know there's built-in data for this.  It wouldn't
 * 3) work for me...though I think I know why now.

kfile = open('kazusa.txt', 'r').read kentries = kfile.replace("'",'').split('\n')
 * 1) frequency data from Kazusa

raw_obsfreq = {} total = 0.0

for k in kentries: entry = k.split(" ") codon = entry[0] value = float(entry[1]) total += value raw_obsfreq[codon] = value

obsfreq = {} for key in raw_obsfreq.keys: obsfreq[key] = raw_obsfreq[key] / total

reverseCode = {} for key in geneticCode.values: reverseCode[key] = [] for key in geneticCode.keys: reverseCode[geneticCode[key]].append(key)

expfreq = {} for key in reverseCode.keys: expvalue = 0.0 synonyms = reverseCode[key] for codon in synonyms: expvalue += obsfreq[codon] avg_expvalue = expvalue / len(synonyms) for codon in synonyms: expfreq[codon] = avg_expvalue

for key in obsfreq.keys: obsfreq[key] *= 1000.0 expfreq[key] *= 1000.0
 * 1) frequency per thousand

FASTAfile = open('synalign.fasta', 'w') for dbkey in db.keys: FASTAfile.write('>' + dbkey + '\n' + str(db[dbkey]['proseq']) + '\n') FASTAfile.close
 * 1) create FASTA file for alignment

cline = Clustalw.MultipleAlignCL('synalign.fasta') cline.set_output('synalign.aln') cline.set_type('PROTEIN')
 * 1) run Clustalw in Python

alignment = Clustalw.do_alignment(cline)


 * 1) align the list of codons

dbkeys = [] for x in alignment.get_all_seqs: name = x.description dbkeys.append(name) db[name]['proseq'] = x.seq

lenseqs = alignment.get_alignment_length numseqs = len(dbkeys)

for x in range(lenseqs): col = alignment.get_column(x) for y in range(numseqs): if col[y] == '-': db[dbkeys[y]]['codons'][x:x] = ['gap']

aln = [[] for i in range(lenseqs)]
 * 1) make simpler data structure for sequence of columns

for length in range(lenseqs): for width in range(numseqs): aln[length].append(db[dbkeys[width]]['codons'][length])

validsites = [0.0 for n in range(lenseqs)] obs1 = [0.0 for n in range(lenseqs)] exp1 = [0.0 for n in range(lenseqs)]
 * 1) find simple sum of observed and expected codon freq's at each site
 * 1) find simple sum of observed and expected codon freq's at each site

for length in range(lenseqs): for width in range(numseqs): codon = aln[length][width] if codon is not 'gap': obs1[length] += obsfreq[codon] exp1[length] += expfreq[codon] validsites[length] += 1.0

obs1[length] /= validsites[length] exp1[length] /= validsites[length]

stderror = [] for x in range(lenseqs): stderror.append((obs1[x]-exp1[x])/exp1[x])

outfile = open('outfile.txt', 'w') outfile.write(str(obs1) + '\n' + str(exp1) + '\n' + str(stderror)) outfile.close

[22.063166944555789, 31.949163697658463, 14.00277908937745, 39.77964849841014, 13.187945514382111, 22.249147743081217, 18.050129421266512, 29.025772367080577, 26.713793105498109, 14.527530381606454, 13.592550285025563, 17.244874278680847, 39.77964849841014, 15.535473011086713, 16.466839872775878, 12.610319000826316, 25.708248960981745, 27.900247113734785, 28.557823126086916, 28.219752190497804, 37.810530250146392, 10.477691966177261, 25.082578657017795, 21.129670393631443, 39.610901641414038, 23.263563869694622, 39.610901641414038, 11.463910387019066, 39.610901641414038, 25.239433026067939, 39.610901641414038, 6.9495067998987157, 31.949163697658463, 30.105266351884474, 17.958356356505949, 29.235929273744183, 35.290010302371677, 25.173629764019836, 35.065627898680859, 16.884532927748147, 39.610901641414038, 27.900247113734789, 16.449704145070502, 13.840297240519789, 25.422586300293268, 18.198840658176323, 22.227623408189757, 25.422586300293268, 16.101251835984673, 13.187945514382111, 35.304080724940015, 31.079190814236796, 17.304686497467856, 39.77964849841014, 17.522209440927888, 11.406305394696675, 19.233802427540745, 13.187945514382111, 21.775141982943826, 15.304892798189638, 39.77964849841014, 10.48685858974615, 13.187945514382111, 28.219752190497807, 34.209787467611086, 9.6392009209561955, 34.450426843740331, 15.144752573660949, 30.938951811930043, 34.209787467611086, 22.742863466941266, 29.816186883952174, 35.304080724940015, 36.147406647178805, 37.467669236827675, 25.462238839426881, 19.401856618620553, 17.941933971311379, 25.422586300293268, 14.527530381606454, 17.358512842142396, 29.816186883952174, 28.843849350228972, 39.77964849841014, 7.2357949275713098, 9.041843767083229, 39.77964849841014, 22.063166944555789, 30.262449823397333, 33.829601755091375, 16.590346340970331, 22.063166944555789, 22.998850045350235, 35.304080724940015, 13.629613080696021, 31.949163697658463, 23.614252697087299, 15.304892798189638, 25.832282682336359, 16.035355529261246, 35.304080724940015, 39.77964849841014, 36.72025169825271, 30.997259808465987, 25.422586300293261, 39.77964849841014, 18.639283136265142, 13.502452024420814, 26.988435141309402, 9.7191004513157822, 32.574858124316009, 39.610901641414038, 9.6392009209561955, 16.01725833991086, 25.497952487305156, 11.457965866095634, 37.467669236827675, 19.734005432930285, 28.890723189997409, 39.610901641414038, 35.15568997524521, 34.209787467611086, 7.4170821391415398, 10.805758876119569, 34.209787467611086, 27.900247113734785, 9.0332061197240474, 35.749826749522263, 17.601478335154727, 13.129368722117452, 25.157651925607372, 22.063166944555789, 39.610901641414038, 23.804647948541952, 19.7934816570564, 10.911550671962182, 20.377481730871843, 8.7688920428736417, 31.720005000634387, 19.080113300501139, 34.209787467611086, 15.304892798189638, 10.48685858974615, 21.016130043993847, 39.610901641414038, 26.30162070126169, 27.36272802439197, 24.311017748245973, 22.063166944555789, 31.720005000634387, 22.29342667023786, 34.209787467611086, 19.477274497118731, 17.468533001563593, 39.610901641414038, 39.610901641414038, 33.31304356343945, 11.469126057985804, 10.980336532769263, 10.68331208339408, 19.7848233331027, 23.81839788389529, 16.619583045616366, 15.084092614498775, 36.23635218763927, 10.48685858974615, 31.949163697658463, 32.693055876868399, 9.3028289122165084, 31.949163697658463, 11.076219070689941, 28.06090942227501, 24.633412379092643, 11.076219070689941, 22.451643971476535, 23.803614118816139, 25.342293914637867, 23.804647948541952, 39.77964849841014, 34.209787467611086, 27.945802820602815, 10.48685858974615, 26.729419441803806, 17.115325075739015, 25.481307828719537, 15.304892798189638, 32.853413205639512, 25.497952487305156, 17.618448650103975, 23.159558876228125, 15.231444365319138, 39.610901641414038, 19.985784324355187, 27.900247113734785, 39.610901641414038, 10.48685858974615, 17.114911543848685, 23.763465341414125, 16.541652960884459, 24.331952800193719, 20.891269258858586, 8.1187992346868683, 39.610901641414038, 10.48685858974615, 35.749826749522263, 15.797352418932823, 16.200897514107318, 39.77964849841014, 30.531731452080273, 35.304080724940015, 29.816186883952174, 18.799506067171897, 9.3028289122165084, 32.893996191526369, 10.879765577042011, 20.598261237968195, 27.900247113734785, 19.263948902345504, 26.318596185359571, 19.932113054139517, 18.992237773806899, 29.255101646009415, 24.417569408937062, 19.086657442665548, 32.94787939683583, 9.0560227417727752, 31.623255338031178, 21.804766373737046, 32.476597778025948, 11.168865721568823, 27.900247113734785, 32.399360359210348, 24.132847533299078, 19.306413458333342, 17.954743121614225, 32.749378920330784, 15.624351352614998, 32.224296802589514, 8.7688920428736417, 12.836655342698915, 16.01725833991086, 32.693055876868399, 39.610901641414038, 35.304080724940015, 24.525801042932599, 21.730196235614034, 19.326438740122374, 20.565390621835917, 24.311017748245977, 8.4438456387802567, 24.58480687453347, 11.406305394696677, 26.729419441803806, 33.829601755091375, 39.610901641414038, 26.988435141309402, 16.703721277851795, 39.610901641414038, 30.384648496988621, 21.602492418732776, 25.653151005744451, 39.610901641414038, 28.219752190497807, 10.683312083394082, 23.882298899247893, 31.949163697658463, 29.149759566097533, 39.610901641414038, 37.457491183177027, 34.209787467611086, 24.311017748245973, 32.399360359210348, 29.816186883952174, 7.4466238235566946, 10.48685858974615, 34.272075708591416, 33.757662713620562, 23.803614118816139, 39.610901641414038, 25.096655971784308, 20.401957649630504, 34.209787467611086, 23.803614118816139, 10.48685858974615, 19.882685654948318, 31.949163697658463, 20.603735366366383, 13.187945514382111, 20.401957649630504, 39.610901641414038, 16.673316345615582, 26.78792903513628, 30.531731452080273, 28.843849350228972, 25.157651925607372, 22.063166944555789, 29.537456051575283, 10.48685858974615, 34.209787467611086, 13.187945514382111, 22.547138823250034, 17.509896528893435, 33.254533970106969, 25.757118092120997, 39.610901641414038, 31.949163697658463, 19.910500843721358, 34.209787467611086, 20.036214538380428, 22.798049297705255, 26.988435141309406, 21.890119355900303, 18.927173700012752, 19.609237692470344, 19.127995124252248, 18.402233733858786, 24.395758186296689, 23.105822991654591, 22.107874911048647, 16.278611786883964, 28.96563449192994, 20.982975124686973, 28.232747430151299, 33.829601755091375, 19.282289041681459, 14.307257451075753] [22.063166944555789, 28.126113063082141, 16.093777247067031, 16.70151491291195, 13.187945514382111, 17.421962849277108, 16.83514472793405, 16.70151491291195, 16.402875966114955, 15.208320178926979, 13.673906223011389, 17.597614396554491, 16.70151491291195, 15.761123148478802, 16.491296407227182, 11.565026687926688, 18.608509471426725, 17.421962849277108, 26.572874360146628, 15.208320178926977, 30.560179000035607, 20.580549580953061, 22.285886174675198, 15.235572361261839, 34.227375495821505, 14.413747369158216, 34.227375495821505, 14.60262777288963, 34.227375495821505, 15.854652000723714, 34.227375495821505, 15.290076725931559, 28.126113063082144, 15.805598072520969, 14.43640346042452, 23.322030386788523, 25.426103905935349, 16.15927423705886, 30.439915741843514, 15.290076725931559, 34.227375495821505, 17.421962849277108, 16.491296407227182, 13.848615692951125, 23.22578600846381, 13.463575719106327, 18.18726564210867, 23.22578600846381, 12.9542030748112, 13.187945514382111, 34.227375495821505, 19.455312938405726, 17.421962849277108, 16.70151491291195, 17.279327946580779, 10.153536378697618, 18.941763622018307, 13.187945514382111, 23.466396954275595, 13.727268636596472, 16.70151491291195, 9.4503925981306658, 13.187945514382111, 15.208320178926979, 23.22578600846381, 13.269863597281347, 16.70151491291195, 13.512003749562572, 27.770788370893957, 23.22578600846381, 15.208320178926979, 23.22578600846381, 34.227375495821505, 30.680159678102644, 16.402875966114955, 19.311223351132693, 14.408811406567299, 13.463575719106327, 23.22578600846381, 15.208320178926979, 13.269863597281347, 23.22578600846381, 34.227375495821505, 16.70151491291195, 12.50596939745121, 16.979234315207083, 16.70151491291195, 22.063166944555789, 27.770788370893957, 29.92298407920314, 13.269863597281347, 22.063166944555789, 22.183613276761825, 34.227375495821505, 15.805598072520969, 28.126113063082141, 17.421962849277108, 13.727268636596472, 28.126113063082141, 20.139639294913309, 34.227375495821505, 16.70151491291195, 32.075179787512319, 34.227375495821505, 23.22578600846381, 16.70151491291195, 15.202723283248849, 15.290076725931559, 16.579289532052741, 16.591542998877955, 30.084301146569722, 34.227375495821505, 13.269863597281347, 12.205471280197296, 17.421962849277108, 9.4503925981306658, 16.402875966114955, 14.841426070582155, 28.126113063082141, 34.227375495821505, 16.10423701931796, 23.22578600846381, 17.421962849277108, 17.421962849277108, 23.22578600846381, 17.421962849277108, 9.4503925981306658, 16.70151491291195, 15.083115645407878, 16.639971029334198, 23.466396954275595, 22.063166944555789, 34.227375495821505, 23.466396954275595, 15.805598072520969, 9.8733194160898705, 17.394143783642598, 9.4503925981306658, 16.70151491291195, 15.333819353917935, 23.22578600846381, 13.727268636596472, 9.4503925981306658, 17.093194658170795, 34.227375495821505, 15.506959125723972, 20.127902312188617, 15.761123148478802, 22.063166944555789, 16.70151491291195, 16.491296407227182, 23.22578600846381, 13.512003749562572, 13.31829162773759, 34.227375495821505, 34.227375495821505, 16.311284683081176, 9.4503925981306658, 16.197242495264174, 9.4503925981306658, 17.149564654733222, 15.857979209391294, 13.41514768865008, 12.966111500965429, 17.773845319240717, 9.4503925981306658, 28.126113063082141, 18.846175725569484, 9.4503925981306658, 28.126113063082141, 9.4503925981306658, 16.402875966114955, 18.846175725569484, 9.4503925981306658, 23.466396954275595, 17.421962849277108, 25.618592662584774, 23.466396954275595, 16.70151491291195, 23.22578600846381, 24.390968970091848, 9.4503925981306658, 16.70151491291195, 17.421962849277108, 15.208320178926979, 13.727268636596472, 26.165982241234808, 17.421962849277108, 16.491296407227182, 16.979234315207083, 12.205471280197296, 34.227375495821505, 16.491296407227182, 17.421962849277108, 34.227375495821505, 9.4503925981306658, 15.89543787569426, 15.506959125723975, 13.512003749562572, 16.639971029334198, 14.750363763758084, 9.4503925981306658, 34.227375495821505, 9.4503925981306658, 16.70151491291195, 15.830626228658167, 15.290076725931559, 16.70151491291195, 15.506959125723972, 34.227375495821505, 23.22578600846381, 16.677429695637166, 9.4503925981306658, 22.219117574120617, 9.4503925981306658, 15.875938985540623, 17.421962849277108, 18.13158486536345, 15.805598072520969, 15.083115645407878, 15.011175742412295, 15.209246748818739, 15.827648799047818, 15.792899197388873, 22.065021376626468, 15.290076725931559, 16.70151491291195, 16.410774425220179, 29.92298407920314, 9.4503925981306658, 17.421962849277108, 23.273908197626167, 17.421962849277108, 15.744136895321285, 15.895437875694261, 27.722666181731604, 12.205471280197296, 15.921054453250406, 9.4503925981306658, 16.863562984047153, 12.205471280197296, 18.846175725569484, 34.227375495821505, 34.227375495821505, 19.321228238304265, 15.89543787569426, 15.305619063572024, 14.960549962263922, 15.761123148478806, 9.4503925981306658, 22.071376844865913, 10.153536378697618, 16.70151491291195, 29.92298407920314, 34.227375495821505, 16.579289532052741, 16.920680784111255, 34.227375495821505, 21.173851106964136, 17.858667602144727, 25.304892539732208, 34.227375495821505, 15.208320178926979, 9.4503925981306658, 15.415250675321269, 28.126113063082141, 19.918506131898251, 34.227375495821505, 34.227375495821505, 23.22578600846381, 15.761123148478802, 23.273908197626167, 23.22578600846381, 14.750363763758084, 9.4503925981306658, 18.006369132022321, 24.205851419387479, 17.421962849277108, 34.227375495821505, 16.353323215069501, 18.941763622018307, 23.22578600846381, 17.421962849277108, 9.4503925981306658, 16.311284683081176, 28.126113063082141, 14.703720812628415, 13.187945514382111, 18.941763622018307, 34.227375495821505, 15.290076725931559, 16.311284683081176, 15.506959125723972, 34.227375495821505, 23.466396954275595, 22.063166944555789, 21.173851106964136, 9.4503925981306658, 23.22578600846381, 13.187945514382111, 18.630849670276806, 17.093194658170795, 16.70151491291195, 17.950258885178506, 34.227375495821505, 28.126113063082141, 15.025137612859421, 23.22578600846381, 17.421962849277108, 15.857979209391294, 16.579289532052744, 17.049696272457137, 13.269863597281347, 15.553291066411129, 14.697385733808565, 14.750363763758086, 16.086163306517598, 15.406448261349533, 15.334745923809692, 14.340505199676761, 17.791878755758013, 15.71645395060067, 16.431925719885577, 29.92298407920314, 21.242308726833265, 17.534774348958006] [0.0, 0.13592530990691329, -0.12992587915125084, 1.3817988191991177, 0.0, 0.27707468644983385, 0.07216954252353254, 0.73791254975563547, 0.62860422530069948, -0.044764299364491555, -0.0059497218028974645, -0.020044769133179124, 1.3817988191991177, -0.014316881815232028, -0.0014829964756794731, 0.090383908408171773, 0.38153187392341315, 0.60144108646704264, 0.074698308471938132, 0.85554695446245188, 0.23724832403967064, -0.49089348051841231, 0.12549164347436392, 0.38686423408391352, 0.15728714421150278, 0.61398443263080782, 0.15728714421150278, -0.21494195665917881, 0.15728714421150278, 0.59192601798613043, 0.15728714421150278, -0.54548908259482187, 0.13592530990691315, 0.90472174565949404, 0.24396331854650596, 0.25357564452474812, 0.38794407640777961, 0.55784408351013137, 0.15196205521944722, 0.10428045786797346, 0.15728714421150278, 0.60144108646704286, -0.0025220735307657505, -0.0006006703208299765, 0.094584540261798342, 0.35170931094851143, 0.22215311776864985, 0.094584540261798342, 0.2429365004546479, 0.0, 0.031457428842300642, 0.59746547961636609, -0.0067315234697632531, 1.3817988191991177, 0.01405618870699024, 0.1233825309009971, 0.015417719878151461, 0.0, -0.072071352693265575, 0.11492629767492629, 1.3817988191991177, 0.10967438451398333, 0.0, 0.85554695446245199, 0.47292270130899111, -0.27360210975107391, 1.0627126954278074, 0.1208369131892251, 0.11408258918412913, 0.47292270130899111, 0.49542245293167453, 0.28375362078539457, 0.031457428842300642, 0.1782013857306714, 1.284213409540397, 0.31852023957526249, 0.34652720971679218, 0.33262770200413833, 0.094584540261798342, -0.044764299364491555, 0.30811539356732409, 0.28375362078539457, -0.15728714421150278, 1.3817988191991177, -0.42141271119326368, -0.46747635380795133, 1.3817988191991177, 0.0, 0.089722388116098256, 0.13055575157704224, 0.25022734554477755, 0.0, 0.03674950326700839, 0.031457428842300642, -0.13767179083264394, 0.13592530990691329, 0.35543009139565052, 0.11492629767492629, -0.081555185944147554, -0.20379132443989137, 0.031457428842300642, 1.3817988191991177, 0.14481826575914739, -0.094372286526901605, 0.094584540261798036, 1.3817988191991177, 0.22604896431962776, -0.11691404389612919, 0.62784026958047023, -0.41421358749014114, 0.082785934285539028, 0.15728714421150278, -0.27360210975107391, 0.31230150579256855, 0.46355222473472019, 0.21243279018504227, 1.284213409540397, 0.32965695742984746, 0.027185061981382812, 0.15728714421150278, 1.1830087282666006, 0.47292270130899111, -0.57426828404416563, -0.37976225930432783, 0.47292270130899111, 0.60144108646704264, -0.04414488330242914, 1.1405140154013247, 0.16696568195534431, -0.21097406365840371, 0.07207135269326588, 0.0, 0.15728714421150278, 0.014414270538653236, 0.25230830027676204, 0.10515523828595855, 0.17151392930503237, -0.072113464936031157, 0.89922921160353153, 0.24431577417963979, 0.47292270130899111, 0.11492629767492629, 0.10967438451398333, 0.22950276202159978, 0.15728714421150278, 0.69611723923556479, 0.35944260857338545, 0.54246734317232792, 0.0, 0.89922921160353153, 0.35182984525509708, 0.47292270130899111, 0.44147935851107761, 0.3116196498642832, 0.15728714421150278, 0.15728714421150278, 1.0423310738971585, 0.21361371381062555, -0.32208605656303874, 0.13046225037331166, 0.15366329883144619, 0.501981908879647, 0.23886694588367496, 0.16334743946754171, 1.038745782737984, 0.10967438451398333, 0.13592530990691329, 0.73473156320580246, -0.015614556155407362, 0.13592530990691329, 0.17203798209196852, 0.71073106205541081, 0.30707750674697071, 0.17203798209196852, -0.043242811615959255, 0.36629921236480112, -0.010785086893177909, 0.014414270538653236, 1.3817988191991177, 0.47292270130899111, 0.14574385523059361, 0.10967438451398333, 0.60041885907842274, -0.017600644438913831, 0.67548470369706326, 0.11492629767492629, 0.25557729508300375, 0.46355222473472019, 0.068348310226406903, 0.36399312514850968, 0.24791939742886593, 0.15728714421150278, 0.21189892115434739, 0.60144108646704264, 0.15728714421150278, 0.10967438451398333, 0.076718469644622006, 0.53243876821689096, 0.22421909196257933, 0.46225932468869768, 0.41632230861918262, -0.14090349682479786, 0.15728714421150278, 0.10967438451398333, 1.1405140154013247, -0.0021018631382445536, 0.059569405994610282, 1.3817988191991177, 0.96890513507785114, 0.031457428842300642, 0.28375362078539457, 0.12724241146643053, -0.015614556155407362, 0.48043665918754386, 0.15125011623264017, 0.29745152439352002, 0.60144108646704264, 0.062452568012694533, 0.66514396131052544, 0.32148513097212367, 0.26520654342528188, 0.92350759568560348, 0.5427161493756425, 0.20855944207009497, 0.4932176513428444, -0.40771894712509821, 0.89343634412368322, 0.3286860088837335, 0.085339540069387751, 0.18184145320884124, 0.60144108646704264, 0.39208937682906803, 0.38519681978890374, 0.22626051759437291, 0.12955322539864414, 0.18132140341940239, 0.28011045161071707, 1.0240051874209044, -0.072113464936031157, -0.23879340594616172, 0.31230150579256855, 0.73473156320580246, 0.15728714421150278, 0.031457428842300642, 0.26937070151214754, 0.3670712568945152, 0.26270219191068583, 0.37464135166885509, 0.5424673431723277, -0.10650848088041433, 0.11387735560557986, 0.12338253090099727, 0.60041885907842274, 0.13055575157704224, 0.15728714421150278, 0.62784026958047023, -0.012822149949379585, 0.15728714421150278, 0.43500813071246303, 0.20963628978336749, 0.013762495354028044, 0.15728714421150278, 0.85554695446245199, 0.13046225037331186, 0.54926438773271269, 0.13592530990691329, 0.46345109282146424, 0.15728714421150278, 0.094372286526901702, 0.47292270130899111, 0.54246734317232792, 0.39208937682906803, 0.28375362078539457, -0.49515659797806572, 0.10967438451398333, 0.90333073021602939, 0.39460753223423645, 0.36629921236480112, 0.15728714421150278, 0.53465174275145932, 0.077088599390757684, 0.47292270130899111, 0.36629921236480112, 0.10967438451398333, 0.21895277050565889, 0.13592530990691329, 0.4012599687468692, 0.0, 0.077088599390757684, 0.15728714421150278, 0.090466493038461063, 0.64229424938686575, 0.96890513507785114, -0.15728714421150278, 0.07207135269326588, 0.0, 0.39499687148835833, 0.10967438451398333, 0.47292270130899111, 0.0, 0.21020453829441704, 0.024378232334904749, 0.99110883913877013, 0.43491624588147859, 0.15728714421150278, 0.13592530990691329, 0.32514598912430248, 0.47292270130899111, 0.150054945686662, 0.43763899527652078, 0.62784026958047012, 0.28390083941041278, 0.42632767558292323, 0.26077738844728715, 0.30145561058875264, 0.24757829898903316, 0.51656785533268268, 0.49975014355648956, 0.44168511306878383, 0.13514911505704058, 0.62802562278903495, 0.3350960204280064, 0.71816425606066436, 0.13055575157704224, -0.092269616751964031, -0.18406378283813199]