diff --git a/answers/boot.txt b/answers/boot.txt deleted file mode 100644 index d679946..0000000 --- a/answers/boot.txt +++ /dev/null @@ -1,59 +0,0 @@ -0.0 -0.0 -0.17 -0.0 -0.06 -0.13 -0.07 -0.32 -0.01 -0.41 -0.0 -0.0 -0.0 -0.0 -0.0 -0.06 -0.63 -0.0 -0.0 -0.01 -0.42 -0.0 -0.19 -0.97 -0.0 -0.0 -0.03 -0.23 -0.0 -0.0 -0.0 -0.45 -0.03 -0.15 -0.33 -0.52 -0.0 -0.0 -0.0 -0.38 -0.01 -1.0 -0.0 -0.0 -0.0 -0.38 -0.0 -0.15 -1.0 -0.8 -0.12 -0.58 -1.0 -1.0 -0.0 -0.0 -0.01 -0.23 -0.6 diff --git a/answers/bootstrap_tree.pdf b/answers/bootstrap_tree.pdf deleted file mode 100644 index 2f1f400..0000000 Binary files a/answers/bootstrap_tree.pdf and /dev/null differ diff --git a/answers/edges.txt b/answers/edges.txt deleted file mode 100644 index df94eec..0000000 --- a/answers/edges.txt +++ /dev/null @@ -1,119 +0,0 @@ -62 63 0.000959080610108 -63 73 0.00964861185682 -73 38 0.0596647814498 -73 47 0.0648305079176 -63 64 0.00376827912568 -64 69 0.0114938796716 -69 70 0.00240415262502 -70 42 0.095761467563 -70 19 0.0913179402432 -69 6 0.068928283445 -64 74 0.0138257703957 -74 43 0.0701951689325 -74 75 0.00281963591275 -75 61 0.0572854078543 -75 53 0.0954736769371 -62 72 0.00735813002246 -72 58 0.0994636314408 -72 100 0.0142644977651 -100 31 0.0805450227767 -100 32 0.0648116394037 -62 65 0.00753624506626 -65 66 0.00336721222622 -66 12 0.097762461851 -66 67 0.00536520381635 -67 68 0.00387210426656 -68 71 0.00389111736513 -71 103 0.024851971263 -103 37 0.0459632162084 -103 106 0.0112373221496 -106 46 0.0387720577239 -106 34 0.0419816434874 -71 36 0.104185713798 -68 80 0.0117075956228 -80 81 0.00338682209946 -81 24 0.0867460556338 -81 98 0.0165513871656 -98 101 0.00697756765851 -101 14 0.060210401245 -101 44 0.04678825286 -98 55 0.0431570218435 -80 99 0.0107871348319 -99 112 0.0312959330949 -112 35 0.0486748871823 -112 116 0.0135727575014 -116 30 0.0343723235042 -116 60 0.0261929524043 -99 22 0.0893299080895 -67 78 0.0120473718793 -78 79 0.00388775124005 -79 84 0.0116483249952 -84 39 0.120428860031 -84 89 0.0141606419883 -89 26 0.0822133814411 -89 49 0.0759292834311 -79 85 0.0106890635478 -85 86 0.00375090334222 -86 88 0.00561348628869 -88 96 0.0147056847708 -96 54 0.0506567246683 -96 20 0.0846057248606 -88 95 0.0132847257272 -95 21 0.0515193738372 -95 111 0.0254489976298 -111 113 0.0109189939435 -113 114 0.000565372968216 -114 25 0.0226913456411 -114 29 0.020377295005 -113 23 0.0219783686199 -111 28 0.0380379374159 -86 90 0.0100726310145 -90 11 0.0722060713208 -90 92 0.00572966219195 -92 4 0.0708603722105 -92 93 0.00135530746646 -93 97 0.00484880367808 -97 8 0.0727840632945 -97 7 0.0772832314566 -93 94 0.00415186926943 -94 52 0.0605401041029 -94 118 0.0454491287369 -118 33 0.0337801940922 -118 16 0.0476464546292 -85 56 0.0781236103481 -78 83 0.0120725313848 -83 91 0.013850279425 -91 102 0.00423269087876 -102 104 0.00461971797755 -104 51 0.0825808319509 -104 13 0.0802724654919 -102 105 0.00656803437777 -105 110 0.0177473177689 -110 50 0.0824905753015 -110 117 0.0255175000687 -117 9 0.0812659224188 -117 59 0.0762037949433 -105 115 0.0302843107641 -115 57 0.0543373959424 -115 10 0.0614095757938 -91 107 0.025745017735 -107 109 0.00510333767336 -109 40 0.094206517777 -109 27 0.0686467796658 -107 5 0.0891093137398 -83 119 0.188580743455 -119 120 0.0215198171439 -120 1 0.115587289276 -120 2 0.124654971827 -119 3 0.132248688913 -65 76 0.0120786458936 -76 77 0.00238916628989 -77 41 0.0648454483874 -77 82 0.0074964089477 -82 45 0.0704258470927 -82 87 0.00763606407822 -87 15 0.0726342497929 -87 48 0.103677997852 -76 108 0.0385765133871 -108 17 0.0352536797343 -108 18 0.0313681237651 diff --git a/answers/genetic_distances.txt b/answers/genetic_distances.txt deleted file mode 100644 index 2944646..0000000 --- a/answers/genetic_distances.txt +++ /dev/null @@ -1,62 +0,0 @@ - 152801 3855581 4345542 1009440 996519 990269 954340 947627 816087 809189 806723 720729 664158 593544 586332 565897 555079 553272 536135 523025 511006 348167 319214 286686 273179 260976 208595 197222 188674 166838 164216 146154 144260 106543 100149 11136 5364 698164 1920715 2034243 2263183 2678325 847142 779409 2963287 3148512 3183891 1136782 646961 3906666 822879 4164932 4314491 4378332 4387271 4397763 4431405 4439229 4448694 4468812 4472218 -152801 0 0.240242261104 0.268506056528 0.469044414536 0.467698519515 0.43001345895 0.469044414536 0.481830417227 0.443472409152 0.436069986541 0.471063257066 0.436069986541 0.444818304172 0.458277254374 0.464333781965 0.481830417227 0.462987886945 0.450874831763 0.446837146703 0.471063257066 0.43068640646 0.463660834455 0.446164199192 0.464333781965 0.446164199192 0.471063257066 0.445491251682 0.444145356662 0.446837146703 0.458277254374 0.452220726783 0.451547779273 0.473755047106 0.422611036339 0.442799461642 0.465679676985 0.451547779273 0.437415881561 0.478465679677 0.453566621803 0.442126514132 0.43068640646 0.43068640646 0.442126514132 0.446837146703 0.434724091521 0.43135935397 0.475773889637 0.471736204576 0.437415881561 0.436069986541 0.462314939435 0.434724091521 0.457604306864 0.436069986541 0.458277254374 0.422611036339 0.469044414536 0.466352624495 0.440107671602 0.4266487214 -3855581 0.240242261104 0 0.279273216689 0.413862718708 0.410497981157 0.482503364738 0.397711978466 0.410497981157 0.495962314939 0.489232839838 0.411843876178 0.443472409152 0.458950201884 0.488559892328 0.447510094213 0.409825033647 0.452893674293 0.468371467026 0.486541049798 0.4266487214 0.42530282638 0.512113055182 0.436742934051 0.478465679677 0.440780619112 0.442126514132 0.421265141319 0.421938088829 0.438088829071 0.485195154778 0.514131897712 0.506729475101 0.405787348587 0.491251682369 0.50269179004 0.476446837147 0.468371467026 0.493943472409 0.458277254374 0.435397039031 0.462314939435 0.491251682369 0.483849259758 0.484522207268 0.470390309556 0.486541049798 0.469044414536 0.5 0.456258411844 0.482503364738 0.468371467026 0.403095558546 0.489905787349 0.422611036339 0.42732166891 0.446164199192 0.482503364738 0.50269179004 0.449528936743 0.485868102288 0.494616419919 -4345542 0.268506056528 0.279273216689 0 0.439434724092 0.437415881561 0.450874831763 0.434724091521 0.444818304172 0.469717362046 0.455585464334 0.439434724092 0.416554508748 0.4266487214 0.464333781965 0.4266487214 0.462314939435 0.42597577389 0.422611036339 0.461641991925 0.457604306864 0.442126514132 0.467698519515 0.444818304172 0.445491251682 0.446164199192 0.434724091521 0.442126514132 0.446164199192 0.440780619112 0.460969044415 0.480484522207 0.471736204576 0.454239569314 0.447510094213 0.472409152086 0.440107671602 0.43203230148 0.448183041723 0.42799461642 0.453566621803 0.422611036339 0.446164199192 0.448183041723 0.450874831763 0.42934051144 0.458277254374 0.42732166891 0.456931359354 0.448183041723 0.468371467026 0.448183041723 0.435397039031 0.456258411844 0.415208613728 0.419919246299 0.448855989233 0.441453566622 0.465679676985 0.465006729475 0.460969044415 0.453566621803 -1009440 0.469044414536 0.413862718708 0.439434724092 0 0.21399730821 0.21534320323 0.158142664872 0.14199192463 0.300134589502 0.263122476447 0.14064602961 0.221399730821 0.248317631225 0.207940780619 0.197846567968 0.175639300135 0.197846567968 0.200538358008 0.246298788694 0.183041722746 0.164199192463 0.244952893674 0.160834454913 0.232839838493 0.168236877524 0.195154777927 0.193808882907 0.168909825034 0.160834454913 0.228129205922 0.257738896366 0.244279946164 0.162180349933 0.169582772544 0.244279946164 0.21130551817 0.134589502019 0.226110363392 0.236204576043 0.222072678331 0.205248990579 0.241588156124 0.233512786003 0.199192462988 0.223418573351 0.179676985195 0.21736204576 0.269851951548 0.189771197847 0.28398384926 0.257065948856 0.134589502019 0.255047106326 0.155450874832 0.14064602961 0.166218034993 0.264468371467 0.251682368775 0.237550471063 0.220053835801 0.21601615074 -996519 0.467698519515 0.410497981157 0.437415881561 0.21399730821 0 0.270524899058 0.2133243607 0.21399730821 0.263795423957 0.232166890983 0.187752355316 0.263795423957 0.200538358008 0.271870794078 0.231493943472 0.226783310902 0.227456258412 0.259757738896 0.300134589502 0.243606998654 0.201211305518 0.290713324361 0.21668909825 0.253028263795 0.209959623149 0.231493943472 0.168909825034 0.207940780619 0.21736204576 0.279273216689 0.292059219381 0.300134589502 0.218034993271 0.267160161507 0.292059219381 0.248317631225 0.242261103634 0.28398384926 0.246971736205 0.182368775236 0.246298788694 0.2866756393 0.273889636608 0.254374158816 0.251009421265 0.261776581427 0.267160161507 0.298115746972 0.233512786003 0.230820995962 0.220053835801 0.21399730821 0.256393001346 0.194481830417 0.204576043069 0.218707940781 0.224764468371 0.289367429341 0.203903095559 0.279273216689 0.270524899058 -990269 0.43001345895 0.482503364738 0.450874831763 0.21534320323 0.270524899058 0 0.222745625841 0.197173620458 0.251682368775 0.207940780619 0.210632570659 0.187752355316 0.230148048452 0.163526244953 0.229475100942 0.250336473755 0.199192462988 0.183041722746 0.162180349933 0.236877523553 0.200538358008 0.179676985195 0.206594885599 0.193808882907 0.210632570659 0.207940780619 0.245625841184 0.21197846568 0.209959623149 0.196500672948 0.187079407806 0.166890982503 0.240915208614 0.150740242261 0.182368775236 0.197846567968 0.171601615074 0.135935397039 0.251682368775 0.277927321669 0.185060565276 0.167563930013 0.166890982503 0.14401076716 0.199865410498 0.148048452221 0.167563930013 0.223418573351 0.220053835801 0.230820995962 0.21399730821 0.228129205922 0.198519515478 0.21265141319 0.171601615074 0.158815612382 0.207940780619 0.193808882907 0.281965006729 0.167563930013 0.154104979812 -954340 0.469044414536 0.397711978466 0.434724091521 0.158142664872 0.2133243607 0.222745625841 0 0.150067294751 0.298115746972 0.281965006729 0.177658142665 0.21130551817 0.249663526245 0.242934051144 0.21399730821 0.177658142665 0.21197846568 0.21265141319 0.244279946164 0.188425302826 0.173620457604 0.274562584118 0.181022880215 0.248317631225 0.186406460296 0.218707940781 0.201884253028 0.179676985195 0.183041722746 0.251009421265 0.267833109017 0.263795423957 0.160161507402 0.236877523553 0.267160161507 0.248990578735 0.21130551817 0.228802153432 0.238896366083 0.231493943472 0.21534320323 0.234858681023 0.246971736205 0.219380888291 0.233512786003 0.234858681023 0.21668909825 0.273889636608 0.220053835801 0.280619111709 0.263795423957 0.14602960969 0.263122476447 0.174293405114 0.172274562584 0.190444145357 0.269179004038 0.209286675639 0.243606998654 0.259084791386 0.245625841184 -947627 0.481830417227 0.410497981157 0.444818304172 0.14199192463 0.21399730821 0.197173620458 0.150067294751 0 0.307537012113 0.279946164199 0.148721399731 0.226783310902 0.247644683715 0.232166890983 0.209959623149 0.169582772544 0.200538358008 0.203903095559 0.244952893674 0.185060565276 0.172947510094 0.263795423957 0.185733512786 0.233512786003 0.186406460296 0.181022880215 0.201211305518 0.181022880215 0.183714670256 0.247644683715 0.275235531629 0.251682368775 0.152759084791 0.226783310902 0.256393001346 0.228129205922 0.203230148048 0.233512786003 0.234185733513 0.235531628533 0.209286675639 0.257065948856 0.251009421265 0.205921938089 0.225437415882 0.231493943472 0.220053835801 0.28532974428 0.205921938089 0.281292059219 0.254374158816 0.153432032301 0.261103633917 0.160161507402 0.162180349933 0.162180349933 0.272543741588 0.246298788694 0.251009421265 0.254374158816 0.241588156124 -816087 0.443472409152 0.495962314939 0.469717362046 0.300134589502 0.263795423957 0.251682368775 0.298115746972 0.307537012113 0 0.203903095559 0.28331090175 0.271870794078 0.218707940781 0.274562584118 0.28802153432 0.321668909825 0.300807537012 0.281965006729 0.242934051144 0.302153432032 0.265141318977 0.268506056528 0.270524899058 0.28802153432 0.270524899058 0.312247644684 0.242934051144 0.280619111709 0.274562584118 0.272543741588 0.269179004038 0.270524899058 0.305518169583 0.246971736205 0.259084791386 0.273216689098 0.273889636608 0.254374158816 0.318304172275 0.226110363392 0.266487213997 0.256393001346 0.242934051144 0.258411843876 0.281292059219 0.240242261104 0.268506056528 0.300134589502 0.295423956931 0.161507402423 0.21467025572 0.302826379542 0.21534320323 0.303499327052 0.266487213997 0.276581426649 0.210632570659 0.295423956931 0.157469717362 0.250336473755 0.240915208614 -809189 0.436069986541 0.489232839838 0.455585464334 0.263122476447 0.232166890983 0.207940780619 0.281965006729 0.279946164199 0.203903095559 0 0.252355316285 0.236877523553 0.171601615074 0.234185733513 0.274562584118 0.295423956931 0.265814266487 0.248990578735 0.21736204576 0.277927321669 0.236877523553 0.225437415882 0.238896366083 0.257065948856 0.239569313594 0.263122476447 0.193808882907 0.248990578735 0.237550471063 0.230820995962 0.242934051144 0.238223418573 0.281292059219 0.207267833109 0.21668909825 0.230820995962 0.230148048452 0.221399730821 0.269851951548 0.224091520861 0.233512786003 0.229475100942 0.21197846568 0.203903095559 0.253701211306 0.191117092867 0.254374158816 0.28802153432 0.265141318977 0.168236877524 0.180349932705 0.274562584118 0.186406460296 0.279273216689 0.232839838493 0.242261103634 0.115746971736 0.267833109017 0.246298788694 0.21399730821 0.206594885599 -806723 0.471063257066 0.411843876178 0.439434724092 0.14064602961 0.187752355316 0.210632570659 0.177658142665 0.148721399731 0.28331090175 0.252355316285 0 0.221399730821 0.224764468371 0.162180349933 0.198519515478 0.182368775236 0.198519515478 0.208613728129 0.243606998654 0.179676985195 0.172274562584 0.218034993271 0.170928667564 0.179004037685 0.174293405114 0.189098250336 0.185733512786 0.163526244953 0.168909825034 0.199192462988 0.265141318977 0.240242261104 0.172274562584 0.205248990579 0.207267833109 0.21130551817 0.179676985195 0.230148048452 0.222072678331 0.21601615074 0.198519515478 0.234858681023 0.230820995962 0.163526244953 0.222745625841 0.184387617766 0.227456258412 0.275908479139 0.176312247645 0.264468371467 0.238223418573 0.160834454913 0.253028263795 0.156796769852 0.107671601615 0.156796769852 0.243606998654 0.255720053836 0.235531628533 0.204576043069 0.220726783311 -720729 0.436069986541 0.443472409152 0.416554508748 0.221399730821 0.263795423957 0.187752355316 0.21130551817 0.226783310902 0.271870794078 0.236877523553 0.221399730821 0 0.21197846568 0.202557200538 0.21399730821 0.225437415882 0.195154777927 0.173620457604 0.208613728129 0.252355316285 0.21399730821 0.238896366083 0.228129205922 0.21399730821 0.230148048452 0.236877523553 0.251009421265 0.235531628533 0.233512786003 0.204576043069 0.232839838493 0.2133243607 0.21601615074 0.195827725437 0.207267833109 0.210632570659 0.177658142665 0.187079407806 0.249663526245 0.275235531629 0.183041722746 0.21265141319 0.195827725437 0.185060565276 0.181695827725 0.207267833109 0.179676985195 0.244952893674 0.21668909825 0.248990578735 0.228802153432 0.205248990579 0.221399730821 0.207267833109 0.187079407806 0.220726783311 0.241588156124 0.203903095559 0.277927321669 0.209286675639 0.200538358008 -664158 0.444818304172 0.458950201884 0.4266487214 0.248317631225 0.200538358008 0.230148048452 0.249663526245 0.247644683715 0.218707940781 0.171601615074 0.224764468371 0.21197846568 0 0.226783310902 0.236877523553 0.260430686406 0.218707940781 0.209959623149 0.236877523553 0.276581426649 0.228802153432 0.235531628533 0.234858681023 0.2133243607 0.231493943472 0.243606998654 0.152759084791 0.242934051144 0.220726783311 0.226110363392 0.253701211306 0.248990578735 0.243606998654 0.231493943472 0.240915208614 0.196500672948 0.205921938089 0.230820995962 0.239569313594 0.221399730821 0.193135935397 0.230148048452 0.224764468371 0.21534320323 0.207940780619 0.222072678331 0.222072678331 0.271197846568 0.236877523553 0.185060565276 0.162853297443 0.234185733513 0.21130551817 0.232839838493 0.21467025572 0.229475100942 0.163526244953 0.259084791386 0.247644683715 0.231493943472 0.21534320323 -593544 0.458277254374 0.488559892328 0.464333781965 0.207940780619 0.271870794078 0.163526244953 0.242934051144 0.232166890983 0.274562584118 0.234185733513 0.162180349933 0.202557200538 0.226783310902 0 0.234858681023 0.262449528937 0.21534320323 0.192462987887 0.206594885599 0.267833109017 0.231493943472 0.170255720054 0.224091520861 0.151413189771 0.237550471063 0.239569313594 0.255720053836 0.241588156124 0.224764468371 0.124495289367 0.176985195155 0.170928667564 0.242934051144 0.163526244953 0.152086137281 0.206594885599 0.150740242261 0.176312247645 0.259084791386 0.28802153432 0.199865410498 0.209959623149 0.195827725437 0.106998654105 0.202557200538 0.153432032301 0.183041722746 0.236877523553 0.185060565276 0.249663526245 0.206594885599 0.232839838493 0.223418573351 0.226783310902 0.101615074024 0.207940780619 0.219380888291 0.172947510094 0.309555854643 0.152759084791 0.187079407806 -586332 0.464333781965 0.447510094213 0.4266487214 0.197846567968 0.231493943472 0.229475100942 0.21399730821 0.209959623149 0.28802153432 0.274562584118 0.198519515478 0.21399730821 0.236877523553 0.234858681023 0 0.226110363392 0.152759084791 0.169582772544 0.247644683715 0.222072678331 0.171601615074 0.265141318977 0.185060565276 0.203903095559 0.184387617766 0.155450874832 0.251009421265 0.190444145357 0.191117092867 0.248317631225 0.229475100942 0.202557200538 0.21467025572 0.231493943472 0.261103633917 0.226110363392 0.199865410498 0.197846567968 0.209959623149 0.263122476447 0.129205921938 0.259757738896 0.199192462988 0.224091520861 0.161507402423 0.218707940781 0.171601615074 0.176312247645 0.168236877524 0.269851951548 0.250336473755 0.177658142665 0.234185733513 0.14602960969 0.189771197847 0.205248990579 0.269179004038 0.21736204576 0.271197846568 0.256393001346 0.179004037685 -565897 0.481830417227 0.409825033647 0.462314939435 0.175639300135 0.226783310902 0.250336473755 0.177658142665 0.169582772544 0.321668909825 0.295423956931 0.182368775236 0.225437415882 0.260430686406 0.262449528937 0.226110363392 0 0.218034993271 0.228802153432 0.257738896366 0.188425302826 0.175639300135 0.281292059219 0.190444145357 0.257065948856 0.192462987887 0.231493943472 0.222745625841 0.189098250336 0.184387617766 0.267160161507 0.28734858681 0.273216689098 0.0814266487214 0.257738896366 0.277927321669 0.235531628533 0.229475100942 0.238223418573 0.257065948856 0.248990578735 0.229475100942 0.278600269179 0.259084791386 0.243606998654 0.233512786003 0.257065948856 0.241588156124 0.298115746972 0.228802153432 0.28869448183 0.279946164199 0.151413189771 0.259757738896 0.191790040377 0.191790040377 0.201211305518 0.289367429341 0.280619111709 0.258411843876 0.265814266487 0.247644683715 -555079 0.462987886945 0.452893674293 0.42597577389 0.197846567968 0.227456258412 0.199192462988 0.21197846568 0.200538358008 0.300807537012 0.265814266487 0.198519515478 0.195154777927 0.218707940781 0.21534320323 0.152759084791 0.218034993271 0 0.0666218034993 0.228802153432 0.185733512786 0.172274562584 0.240915208614 0.183714670256 0.187752355316 0.178331090175 0.181022880215 0.239569313594 0.193135935397 0.183041722746 0.226110363392 0.210632570659 0.150067294751 0.203903095559 0.199865410498 0.232166890983 0.198519515478 0.180349932705 0.174966352624 0.194481830417 0.278600269179 0.146702557201 0.220053835801 0.194481830417 0.198519515478 0.151413189771 0.198519515478 0.148721399731 0.202557200538 0.170255720054 0.265141318977 0.229475100942 0.156123822342 0.244279946164 0.109690444145 0.179004037685 0.182368775236 0.248317631225 0.197173620458 0.281292059219 0.228129205922 0.175639300135 -553272 0.450874831763 0.468371467026 0.422611036339 0.200538358008 0.259757738896 0.183041722746 0.21265141319 0.203903095559 0.281965006729 0.248990578735 0.208613728129 0.173620457604 0.209959623149 0.192462987887 0.169582772544 0.228802153432 0.0666218034993 0 0.209286675639 0.188425302826 0.179676985195 0.224091520861 0.189771197847 0.193808882907 0.189098250336 0.21265141319 0.251682368775 0.203903095559 0.193135935397 0.203230148048 0.191790040377 0.121130551817 0.2133243607 0.185060565276 0.21265141319 0.189098250336 0.157469717362 0.14602960969 0.225437415882 0.279946164199 0.127187079408 0.203230148048 0.175639300135 0.179676985195 0.154104979812 0.183714670256 0.14468371467 0.200538358008 0.201884253028 0.255047106326 0.2133243607 0.164872139973 0.220053835801 0.129205921938 0.188425302826 0.197173620458 0.232839838493 0.197173620458 0.28465679677 0.21197846568 0.14535666218 -536135 0.446837146703 0.486541049798 0.461641991925 0.246298788694 0.300134589502 0.162180349933 0.244279946164 0.244952893674 0.242934051144 0.21736204576 0.243606998654 0.208613728129 0.236877523553 0.206594885599 0.247644683715 0.257738896366 0.228802153432 0.209286675639 0 0.250336473755 0.218707940781 0.202557200538 0.224091520861 0.222745625841 0.232839838493 0.263122476447 0.264468371467 0.231493943472 0.221399730821 0.218034993271 0.21601615074 0.202557200538 0.240915208614 0.173620457604 0.199865410498 0.226783310902 0.21467025572 0.167563930013 0.267160161507 0.280619111709 0.21265141319 0.187079407806 0.185060565276 0.188425302826 0.224764468371 0.174293405114 0.181695827725 0.253028263795 0.244952893674 0.231493943472 0.220726783311 0.242261103634 0.202557200538 0.250336473755 0.204576043069 0.21197846568 0.226110363392 0.21668909825 0.28532974428 0.193135935397 0.188425302826 -523025 0.471063257066 0.4266487214 0.457604306864 0.183041722746 0.243606998654 0.236877523553 0.188425302826 0.185060565276 0.302153432032 0.277927321669 0.179676985195 0.252355316285 0.276581426649 0.267833109017 0.222072678331 0.188425302826 0.185733512786 0.188425302826 0.250336473755 0 0.155450874832 0.270524899058 0.164199192463 0.269851951548 0.163526244953 0.231493943472 0.201211305518 0.152759084791 0.160834454913 0.279946164199 0.252355316285 0.203230148048 0.181022880215 0.244279946164 0.267833109017 0.261103633917 0.232839838493 0.228129205922 0.261103633917 0.226110363392 0.21534320323 0.246298788694 0.231493943472 0.229475100942 0.242934051144 0.236204576043 0.236204576043 0.292732166891 0.239569313594 0.267160161507 0.279273216689 0.157469717362 0.250336473755 0.135262449529 0.192462987887 0.185060565276 0.264468371467 0.296096904441 0.249663526245 0.246971736205 0.21130551817 -511006 0.43068640646 0.42530282638 0.442126514132 0.164199192463 0.201211305518 0.200538358008 0.173620457604 0.172947510094 0.265141318977 0.236877523553 0.172274562584 0.21399730821 0.228802153432 0.231493943472 0.171601615074 0.175639300135 0.172274562584 0.179676985195 0.218707940781 0.155450874832 0 0.246298788694 0.104979811575 0.240915208614 0.107671601615 0.192462987887 0.172947510094 0.119784656797 0.102960969044 0.244952893674 0.205248990579 0.199865410498 0.160834454913 0.201211305518 0.237550471063 0.236877523553 0.206594885599 0.184387617766 0.241588156124 0.193135935397 0.164872139973 0.21668909825 0.152759084791 0.193135935397 0.189098250336 0.202557200538 0.201884253028 0.247644683715 0.204576043069 0.244279946164 0.246971736205 0.120457604307 0.189098250336 0.136608344549 0.156796769852 0.155450874832 0.240242261104 0.252355316285 0.207940780619 0.218034993271 0.164199192463 -348167 0.463660834455 0.512113055182 0.467698519515 0.244952893674 0.290713324361 0.179676985195 0.274562584118 0.263795423957 0.268506056528 0.225437415882 0.218034993271 0.238896366083 0.235531628533 0.170255720054 0.265141318977 0.281292059219 0.240915208614 0.224091520861 0.202557200538 0.270524899058 0.246298788694 0 0.239569313594 0.188425302826 0.245625841184 0.257738896366 0.257065948856 0.248990578735 0.243606998654 0.176312247645 0.223418573351 0.206594885599 0.277927321669 0.181022880215 0.169582772544 0.222745625841 0.198519515478 0.197173620458 0.281292059219 0.28600269179 0.222745625841 0.21668909825 0.202557200538 0.14468371467 0.251009421265 0.173620457604 0.224764468371 0.271197846568 0.21736204576 0.246971736205 0.237550471063 0.268506056528 0.221399730821 0.249663526245 0.191117092867 0.223418573351 0.200538358008 0.245625841184 0.300807537012 0.152086137281 0.203230148048 -319214 0.446164199192 0.436742934051 0.444818304172 0.160834454913 0.21668909825 0.206594885599 0.181022880215 0.185733512786 0.270524899058 0.238896366083 0.170928667564 0.228129205922 0.234858681023 0.224091520861 0.185060565276 0.190444145357 0.183714670256 0.189771197847 0.224091520861 0.164199192463 0.104979811575 0.239569313594 0 0.229475100942 0.0457604306864 0.189098250336 0.180349932705 0.0740242261104 0.0423956931359 0.241588156124 0.164199192463 0.218707940781 0.169582772544 0.205248990579 0.230148048452 0.228802153432 0.197846567968 0.201211305518 0.234858681023 0.197846567968 0.184387617766 0.230820995962 0.197846567968 0.190444145357 0.207267833109 0.209959623149 0.219380888291 0.269179004038 0.204576043069 0.251682368775 0.249663526245 0.14131897712 0.202557200538 0.156123822342 0.149394347241 0.150067294751 0.226110363392 0.255720053836 0.196500672948 0.21736204576 0.181695827725 -286686 0.464333781965 0.478465679677 0.445491251682 0.232839838493 0.253028263795 0.193808882907 0.248317631225 0.233512786003 0.28802153432 0.257065948856 0.179004037685 0.21399730821 0.2133243607 0.151413189771 0.203903095559 0.257065948856 0.187752355316 0.193808882907 0.222745625841 0.269851951548 0.240915208614 0.188425302826 0.229475100942 0 0.230148048452 0.207267833109 0.263122476447 0.244279946164 0.232839838493 0.185733512786 0.237550471063 0.228129205922 0.246971736205 0.198519515478 0.179004037685 0.203230148048 0.165545087483 0.207940780619 0.242261103634 0.28331090175 0.195154777927 0.227456258412 0.21736204576 0.14199192463 0.197846567968 0.185060565276 0.195154777927 0.224091520861 0.157469717362 0.256393001346 0.219380888291 0.245625841184 0.244952893674 0.209286675639 0.163526244953 0.21130551817 0.236877523553 0.221399730821 0.302153432032 0.189098250336 0.219380888291 -273179 0.446164199192 0.440780619112 0.446164199192 0.168236877524 0.209959623149 0.210632570659 0.186406460296 0.186406460296 0.270524899058 0.239569313594 0.174293405114 0.230148048452 0.231493943472 0.237550471063 0.184387617766 0.192462987887 0.178331090175 0.189098250336 0.232839838493 0.163526244953 0.107671601615 0.245625841184 0.0457604306864 0.230148048452 0 0.190444145357 0.188425302826 0.0699865410498 0.043068640646 0.243606998654 0.168236877524 0.209959623149 0.175639300135 0.210632570659 0.235531628533 0.222072678331 0.199865410498 0.198519515478 0.233512786003 0.196500672948 0.179676985195 0.230820995962 0.197173620458 0.197173620458 0.199865410498 0.209959623149 0.21736204576 0.266487213997 0.209286675639 0.244952893674 0.253701211306 0.14535666218 0.195827725437 0.151413189771 0.162853297443 0.160161507402 0.234185733513 0.261776581427 0.203903095559 0.221399730821 0.179004037685 -260976 0.471063257066 0.442126514132 0.434724091521 0.195154777927 0.231493943472 0.207940780619 0.218707940781 0.181022880215 0.312247644684 0.263122476447 0.189098250336 0.236877523553 0.243606998654 0.239569313594 0.155450874832 0.231493943472 0.181022880215 0.21265141319 0.263122476447 0.231493943472 0.192462987887 0.257738896366 0.189098250336 0.207267833109 0.190444145357 0 0.234858681023 0.198519515478 0.195154777927 0.242261103634 0.262449528937 0.255047106326 0.21265141319 0.226783310902 0.244279946164 0.21668909825 0.191117092867 0.244279946164 0.2133243607 0.256393001346 0.202557200538 0.253028263795 0.242934051144 0.21130551817 0.21265141319 0.233512786003 0.225437415882 0.244952893674 0.158142664872 0.28802153432 0.264468371467 0.210632570659 0.247644683715 0.172947510094 0.172274562584 0.176312247645 0.253701211306 0.240915208614 0.271197846568 0.242934051144 0.236204576043 -208595 0.445491251682 0.421265141319 0.442126514132 0.193808882907 0.168909825034 0.245625841184 0.201884253028 0.201211305518 0.242934051144 0.193808882907 0.185733512786 0.251009421265 0.152759084791 0.255720053836 0.251009421265 0.222745625841 0.239569313594 0.251682368775 0.264468371467 0.201211305518 0.172947510094 0.257065948856 0.180349932705 0.263122476447 0.188425302826 0.234858681023 0 0.184387617766 0.176312247645 0.256393001346 0.272543741588 0.265141318977 0.208613728129 0.236204576043 0.250336473755 0.253701211306 0.241588156124 0.242261103634 0.247644683715 0.162853297443 0.251682368775 0.248990578735 0.253701211306 0.21601615074 0.266487213997 0.234858681023 0.267160161507 0.306864064603 0.234185733513 0.207940780619 0.2133243607 0.191790040377 0.231493943472 0.206594885599 0.181022880215 0.198519515478 0.179004037685 0.298788694482 0.191790040377 0.235531628533 0.240915208614 -197222 0.444145356662 0.421938088829 0.446164199192 0.168909825034 0.207940780619 0.21197846568 0.179676985195 0.181022880215 0.280619111709 0.248990578735 0.163526244953 0.235531628533 0.242934051144 0.241588156124 0.190444145357 0.189098250336 0.193135935397 0.203903095559 0.231493943472 0.152759084791 0.119784656797 0.248990578735 0.0740242261104 0.244279946164 0.0699865410498 0.198519515478 0.184387617766 0 0.0659488559892 0.257738896366 0.163526244953 0.209959623149 0.172274562584 0.21668909825 0.246298788694 0.224091520861 0.205248990579 0.208613728129 0.240242261104 0.209286675639 0.187752355316 0.237550471063 0.189771197847 0.200538358008 0.208613728129 0.209286675639 0.21668909825 0.268506056528 0.219380888291 0.255720053836 0.256393001346 0.14199192463 0.21399730821 0.160161507402 0.168909825034 0.160161507402 0.235531628533 0.261103633917 0.21601615074 0.228129205922 0.187079407806 -188674 0.446837146703 0.438088829071 0.440780619112 0.160834454913 0.21736204576 0.209959623149 0.183041722746 0.183714670256 0.274562584118 0.237550471063 0.168909825034 0.233512786003 0.220726783311 0.224764468371 0.191117092867 0.184387617766 0.183041722746 0.193135935397 0.221399730821 0.160834454913 0.102960969044 0.243606998654 0.0423956931359 0.232839838493 0.043068640646 0.195154777927 0.176312247645 0.0659488559892 0 0.240915208614 0.165545087483 0.21265141319 0.166890982503 0.21197846568 0.236877523553 0.218034993271 0.205248990579 0.199192462988 0.228129205922 0.197173620458 0.177658142665 0.227456258412 0.186406460296 0.195154777927 0.193135935397 0.209286675639 0.21399730821 0.267833109017 0.210632570659 0.251009421265 0.253028263795 0.14131897712 0.197173620458 0.154777927322 0.152759084791 0.147375504711 0.228802153432 0.253028263795 0.204576043069 0.2133243607 0.176312247645 -166838 0.458277254374 0.485195154778 0.460969044415 0.228129205922 0.279273216689 0.196500672948 0.251009421265 0.247644683715 0.272543741588 0.230820995962 0.199192462988 0.204576043069 0.226110363392 0.124495289367 0.248317631225 0.267160161507 0.226110363392 0.203230148048 0.218034993271 0.279946164199 0.244952893674 0.176312247645 0.241588156124 0.185733512786 0.243606998654 0.242261103634 0.256393001346 0.257738896366 0.240915208614 0 0.208613728129 0.200538358008 0.254374158816 0.181695827725 0.0962314939435 0.21197846568 0.185060565276 0.205921938089 0.257065948856 0.292059219381 0.206594885599 0.224091520861 0.203230148048 0.148721399731 0.21668909825 0.176985195155 0.210632570659 0.263795423957 0.154777927322 0.249663526245 0.198519515478 0.243606998654 0.232839838493 0.244279946164 0.173620457604 0.233512786003 0.222072678331 0.191117092867 0.310228802153 0.0605652759085 0.205248990579 -164216 0.452220726783 0.514131897712 0.480484522207 0.257738896366 0.292059219381 0.187079407806 0.267833109017 0.275235531629 0.269179004038 0.242934051144 0.265141318977 0.232839838493 0.253701211306 0.176985195155 0.229475100942 0.28734858681 0.210632570659 0.191790040377 0.21601615074 0.252355316285 0.205248990579 0.223418573351 0.164199192463 0.237550471063 0.168236877524 0.262449528937 0.272543741588 0.163526244953 0.165545087483 0.208613728129 0 0.14535666218 0.264468371467 0.182368775236 0.2133243607 0.239569313594 0.203230148048 0.169582772544 0.28869448183 0.290040376851 0.186406460296 0.220053835801 0.158142664872 0.187752355316 0.206594885599 0.188425302826 0.192462987887 0.240915208614 0.266487213997 0.242934051144 0.21467025572 0.236877523553 0.2133243607 0.236877523553 0.220726783311 0.234185733513 0.227456258412 0.195827725437 0.28734858681 0.21197846568 0.155450874832 -146154 0.451547779273 0.506729475101 0.471736204576 0.244279946164 0.300134589502 0.166890982503 0.263795423957 0.251682368775 0.270524899058 0.238223418573 0.240242261104 0.2133243607 0.248990578735 0.170928667564 0.202557200538 0.273216689098 0.150067294751 0.121130551817 0.202557200538 0.203230148048 0.199865410498 0.206594885599 0.218707940781 0.228129205922 0.209959623149 0.255047106326 0.265141318977 0.209959623149 0.21265141319 0.200538358008 0.14535666218 0 0.256393001346 0.183714670256 0.204576043069 0.233512786003 0.205248990579 0.14064602961 0.273889636608 0.297442799462 0.159488559892 0.203230148048 0.159488559892 0.193135935397 0.189771197847 0.176985195155 0.164199192463 0.219380888291 0.244279946164 0.246971736205 0.21601615074 0.218707940781 0.210632570659 0.151413189771 0.220726783311 0.21601615074 0.234185733513 0.176985195155 0.308209959623 0.203230148048 0.14064602961 -144260 0.473755047106 0.405787348587 0.454239569314 0.162180349933 0.218034993271 0.240915208614 0.160161507402 0.152759084791 0.305518169583 0.281292059219 0.172274562584 0.21601615074 0.243606998654 0.242934051144 0.21467025572 0.0814266487214 0.203903095559 0.2133243607 0.240915208614 0.181022880215 0.160834454913 0.277927321669 0.169582772544 0.246971736205 0.175639300135 0.21265141319 0.208613728129 0.172274562584 0.166890982503 0.254374158816 0.264468371467 0.256393001346 0 0.238896366083 0.263122476447 0.228802153432 0.226783310902 0.233512786003 0.244952893674 0.234185733513 0.218707940781 0.257065948856 0.238896366083 0.227456258412 0.21265141319 0.244279946164 0.221399730821 0.281965006729 0.218034993271 0.279946164199 0.264468371467 0.14199192463 0.249663526245 0.172947510094 0.172274562584 0.197846567968 0.281965006729 0.255047106326 0.239569313594 0.253028263795 0.241588156124 -106543 0.422611036339 0.491251682369 0.447510094213 0.169582772544 0.267160161507 0.150740242261 0.236877523553 0.226783310902 0.246971736205 0.207267833109 0.205248990579 0.195827725437 0.231493943472 0.163526244953 0.231493943472 0.257738896366 0.199865410498 0.185060565276 0.173620457604 0.244279946164 0.201211305518 0.181022880215 0.205248990579 0.198519515478 0.210632570659 0.226783310902 0.236204576043 0.21668909825 0.21197846568 0.181695827725 0.182368775236 0.183714670256 0.238896366083 0 0.167563930013 0.194481830417 0.103633916555 0.167563930013 0.259757738896 0.253701211306 0.193135935397 0.189771197847 0.170928667564 0.14199192463 0.199865410498 0.0807537012113 0.179004037685 0.231493943472 0.207267833109 0.222072678331 0.209959623149 0.228129205922 0.200538358008 0.218707940781 0.170255720054 0.198519515478 0.199865410498 0.210632570659 0.272543741588 0.155450874832 0.163526244953 -100149 0.442799461642 0.50269179004 0.472409152086 0.244279946164 0.292059219381 0.182368775236 0.267160161507 0.256393001346 0.259084791386 0.21668909825 0.207267833109 0.207267833109 0.240915208614 0.152086137281 0.261103633917 0.277927321669 0.232166890983 0.21265141319 0.199865410498 0.267833109017 0.237550471063 0.169582772544 0.230148048452 0.179004037685 0.235531628533 0.244279946164 0.250336473755 0.246298788694 0.236877523553 0.0962314939435 0.2133243607 0.204576043069 0.263122476447 0.167563930013 0 0.218707940781 0.189771197847 0.195827725437 0.272543741588 0.28600269179 0.21534320323 0.206594885599 0.197173620458 0.134589502019 0.234185733513 0.166890982503 0.222072678331 0.269179004038 0.158815612382 0.243606998654 0.21399730821 0.264468371467 0.228129205922 0.253701211306 0.164872139973 0.21197846568 0.21399730821 0.223418573351 0.290040376851 0.0888290713324 0.188425302826 -11136 0.465679676985 0.476446837147 0.440107671602 0.21130551817 0.248317631225 0.197846567968 0.248990578735 0.228129205922 0.273216689098 0.230820995962 0.21130551817 0.210632570659 0.196500672948 0.206594885599 0.226110363392 0.235531628533 0.198519515478 0.189098250336 0.226783310902 0.261103633917 0.236877523553 0.222745625841 0.228802153432 0.203230148048 0.222072678331 0.21668909825 0.253701211306 0.224091520861 0.218034993271 0.21197846568 0.239569313594 0.233512786003 0.228802153432 0.194481830417 0.218707940781 0 0.162180349933 0.222745625841 0.242261103634 0.257065948856 0.178331090175 0.235531628533 0.220053835801 0.188425302826 0.209959623149 0.192462987887 0.21467025572 0.263122476447 0.218034993271 0.259757738896 0.21668909825 0.239569313594 0.242934051144 0.226110363392 0.202557200538 0.21197846568 0.240242261104 0.242261103634 0.280619111709 0.206594885599 0.207940780619 -5364 0.451547779273 0.468371467026 0.43203230148 0.134589502019 0.242261103634 0.171601615074 0.21130551817 0.203230148048 0.273889636608 0.230148048452 0.179676985195 0.177658142665 0.205921938089 0.150740242261 0.199865410498 0.229475100942 0.180349932705 0.157469717362 0.21467025572 0.232839838493 0.206594885599 0.198519515478 0.197846567968 0.165545087483 0.199865410498 0.191117092867 0.241588156124 0.205248990579 0.205248990579 0.185060565276 0.203230148048 0.205248990579 0.226783310902 0.103633916555 0.189771197847 0.162180349933 0 0.185733512786 0.230820995962 0.259084791386 0.162853297443 0.207940780619 0.194481830417 0.14401076716 0.187752355316 0.0915208613728 0.173620457604 0.233512786003 0.176985195155 0.251682368775 0.210632570659 0.201211305518 0.222745625841 0.193135935397 0.14468371467 0.183714670256 0.21736204576 0.21197846568 0.273216689098 0.188425302826 0.178331090175 -698164 0.437415881561 0.493943472409 0.448183041723 0.226110363392 0.28398384926 0.135935397039 0.228802153432 0.233512786003 0.254374158816 0.221399730821 0.230148048452 0.187079407806 0.230820995962 0.176312247645 0.197846567968 0.238223418573 0.174966352624 0.14602960969 0.167563930013 0.228129205922 0.184387617766 0.197173620458 0.201211305518 0.207940780619 0.198519515478 0.244279946164 0.242261103634 0.208613728129 0.199192462988 0.205921938089 0.169582772544 0.14064602961 0.233512786003 0.167563930013 0.195827725437 0.222745625841 0.185733512786 0 0.255047106326 0.277254374159 0.161507402423 0.178331090175 0.154777927322 0.162180349933 0.185733512786 0.158142664872 0.124495289367 0.205248990579 0.238223418573 0.223418573351 0.205248990579 0.201884253028 0.190444145357 0.201211305518 0.190444145357 0.195154777927 0.21601615074 0.191790040377 0.281292059219 0.184387617766 0.127860026918 -1920715 0.478465679677 0.458277254374 0.42799461642 0.236204576043 0.246971736205 0.251682368775 0.238896366083 0.234185733513 0.318304172275 0.269851951548 0.222072678331 0.249663526245 0.239569313594 0.259084791386 0.209959623149 0.257065948856 0.194481830417 0.225437415882 0.267160161507 0.261103633917 0.241588156124 0.281292059219 0.234858681023 0.242261103634 0.233512786003 0.2133243607 0.247644683715 0.240242261104 0.228129205922 0.257065948856 0.28869448183 0.273889636608 0.244952893674 0.259757738896 0.272543741588 0.242261103634 0.230820995962 0.255047106326 0 0.290713324361 0.222072678331 0.238223418573 0.278600269179 0.250336473755 0.238223418573 0.253701211306 0.238223418573 0.293405114401 0.21399730821 0.292732166891 0.276581426649 0.230148048452 0.269851951548 0.210632570659 0.21601615074 0.232166890983 0.266487213997 0.256393001346 0.298788694482 0.265814266487 0.267160161507 -2034243 0.453566621803 0.435397039031 0.453566621803 0.222072678331 0.182368775236 0.277927321669 0.231493943472 0.235531628533 0.226110363392 0.224091520861 0.21601615074 0.275235531629 0.221399730821 0.28802153432 0.263122476447 0.248990578735 0.278600269179 0.279946164199 0.280619111709 0.226110363392 0.193135935397 0.28600269179 0.197846567968 0.28331090175 0.196500672948 0.256393001346 0.162853297443 0.209286675639 0.197173620458 0.292059219381 0.290040376851 0.297442799462 0.234185733513 0.253701211306 0.28600269179 0.257065948856 0.259084791386 0.277254374159 0.290713324361 0 0.269179004038 0.28532974428 0.263122476447 0.246298788694 0.279946164199 0.254374158816 0.300134589502 0.333109017497 0.265814266487 0.201884253028 0.251682368775 0.239569313594 0.232839838493 0.236877523553 0.21534320323 0.226783310902 0.220726783311 0.318977119785 0.167563930013 0.262449528937 0.265141318977 -2263183 0.442126514132 0.462314939435 0.422611036339 0.205248990579 0.246298788694 0.185060565276 0.21534320323 0.209286675639 0.266487213997 0.233512786003 0.198519515478 0.183041722746 0.193135935397 0.199865410498 0.129205921938 0.229475100942 0.146702557201 0.127187079408 0.21265141319 0.21534320323 0.164872139973 0.222745625841 0.184387617766 0.195154777927 0.179676985195 0.202557200538 0.251682368775 0.187752355316 0.177658142665 0.206594885599 0.186406460296 0.159488559892 0.218707940781 0.193135935397 0.21534320323 0.178331090175 0.162853297443 0.161507402423 0.222072678331 0.269179004038 0 0.220726783311 0.160161507402 0.181022880215 0.147375504711 0.178331090175 0.164199192463 0.197846567968 0.21197846568 0.239569313594 0.21197846568 0.172947510094 0.201884253028 0.164199192463 0.193135935397 0.205248990579 0.233512786003 0.204576043069 0.28263795424 0.21130551817 0.14333781965 -2678325 0.43068640646 0.491251682369 0.446164199192 0.241588156124 0.2866756393 0.167563930013 0.234858681023 0.257065948856 0.256393001346 0.229475100942 0.234858681023 0.21265141319 0.230148048452 0.209959623149 0.259757738896 0.278600269179 0.220053835801 0.203230148048 0.187079407806 0.246298788694 0.21668909825 0.21668909825 0.230820995962 0.227456258412 0.230820995962 0.253028263795 0.248990578735 0.237550471063 0.227456258412 0.224091520861 0.220053835801 0.203230148048 0.257065948856 0.189771197847 0.206594885599 0.235531628533 0.207940780619 0.178331090175 0.238223418573 0.28532974428 0.220726783311 0 0.197846567968 0.183714670256 0.230148048452 0.187752355316 0.196500672948 0.258411843876 0.251682368775 0.236877523553 0.220726783311 0.241588156124 0.205248990579 0.240915208614 0.21130551817 0.203903095559 0.224764468371 0.228802153432 0.28802153432 0.197173620458 0.184387617766 -847142 0.43068640646 0.483849259758 0.448183041723 0.233512786003 0.273889636608 0.166890982503 0.246971736205 0.251009421265 0.242934051144 0.21197846568 0.230820995962 0.195827725437 0.224764468371 0.195827725437 0.199192462988 0.259084791386 0.194481830417 0.175639300135 0.185060565276 0.231493943472 0.152759084791 0.202557200538 0.197846567968 0.21736204576 0.197173620458 0.242934051144 0.253701211306 0.189771197847 0.186406460296 0.203230148048 0.158142664872 0.159488559892 0.238896366083 0.170928667564 0.197173620458 0.220053835801 0.194481830417 0.154777927322 0.278600269179 0.263122476447 0.160161507402 0.197846567968 0 0.172947510094 0.172274562584 0.162853297443 0.175639300135 0.21197846568 0.236877523553 0.21534320323 0.218707940781 0.206594885599 0.168236877524 0.218034993271 0.201884253028 0.2133243607 0.21399730821 0.205248990579 0.270524899058 0.181022880215 0.130551816958 -779409 0.442126514132 0.484522207268 0.450874831763 0.199192462988 0.254374158816 0.14401076716 0.219380888291 0.205921938089 0.258411843876 0.203903095559 0.163526244953 0.185060565276 0.21534320323 0.106998654105 0.224091520861 0.243606998654 0.198519515478 0.179676985195 0.188425302826 0.229475100942 0.193135935397 0.14468371467 0.190444145357 0.14199192463 0.197173620458 0.21130551817 0.21601615074 0.200538358008 0.195154777927 0.148721399731 0.187752355316 0.193135935397 0.227456258412 0.14199192463 0.134589502019 0.188425302826 0.14401076716 0.162180349933 0.250336473755 0.246298788694 0.181022880215 0.183714670256 0.172947510094 0 0.195154777927 0.138627187079 0.189771197847 0.247644683715 0.181022880215 0.229475100942 0.218034993271 0.220053835801 0.201884253028 0.209286675639 0.105652759085 0.172947510094 0.190444145357 0.21197846568 0.268506056528 0.131224764468 0.171601615074 -2963287 0.446837146703 0.470390309556 0.42934051144 0.223418573351 0.251009421265 0.199865410498 0.233512786003 0.225437415882 0.281292059219 0.253701211306 0.222745625841 0.181695827725 0.207940780619 0.202557200538 0.161507402423 0.233512786003 0.151413189771 0.154104979812 0.224764468371 0.242934051144 0.189098250336 0.251009421265 0.207267833109 0.197846567968 0.199865410498 0.21265141319 0.266487213997 0.208613728129 0.193135935397 0.21668909825 0.206594885599 0.189771197847 0.21265141319 0.199865410498 0.234185733513 0.209959623149 0.187752355316 0.185733512786 0.238223418573 0.279946164199 0.147375504711 0.230148048452 0.172274562584 0.195154777927 0 0.204576043069 0.152759084791 0.170928667564 0.21130551817 0.251009421265 0.236204576043 0.200538358008 0.207940780619 0.176985195155 0.203230148048 0.218707940781 0.248317631225 0.195827725437 0.290713324361 0.21601615074 0.155450874832 -3148512 0.434724091521 0.486541049798 0.458277254374 0.179676985195 0.261776581427 0.148048452221 0.234858681023 0.231493943472 0.240242261104 0.191117092867 0.184387617766 0.207267833109 0.222072678331 0.153432032301 0.218707940781 0.257065948856 0.198519515478 0.183714670256 0.174293405114 0.236204576043 0.202557200538 0.173620457604 0.209959623149 0.185060565276 0.209959623149 0.233512786003 0.234858681023 0.209286675639 0.209286675639 0.176985195155 0.188425302826 0.176985195155 0.244279946164 0.0807537012113 0.166890982503 0.192462987887 0.0915208613728 0.158142664872 0.253701211306 0.254374158816 0.178331090175 0.187752355316 0.162853297443 0.138627187079 0.204576043069 0 0.176985195155 0.240242261104 0.21197846568 0.209959623149 0.206594885599 0.232839838493 0.191790040377 0.220726783311 0.165545087483 0.196500672948 0.193808882907 0.209286675639 0.276581426649 0.156796769852 0.14333781965 -3183891 0.43135935397 0.469044414536 0.42732166891 0.21736204576 0.267160161507 0.167563930013 0.21668909825 0.220053835801 0.268506056528 0.254374158816 0.227456258412 0.179676985195 0.222072678331 0.183041722746 0.171601615074 0.241588156124 0.148721399731 0.14468371467 0.181695827725 0.236204576043 0.201884253028 0.224764468371 0.219380888291 0.195154777927 0.21736204576 0.225437415882 0.267160161507 0.21668909825 0.21399730821 0.210632570659 0.192462987887 0.164199192463 0.221399730821 0.179004037685 0.222072678331 0.21467025572 0.173620457604 0.124495289367 0.238223418573 0.300134589502 0.164199192463 0.196500672948 0.175639300135 0.189771197847 0.152759084791 0.176985195155 0 0.192462987887 0.21130551817 0.253028263795 0.210632570659 0.181695827725 0.206594885599 0.166218034993 0.200538358008 0.204576043069 0.238896366083 0.166890982503 0.292732166891 0.21265141319 0.153432032301 -1136782 0.475773889637 0.5 0.456931359354 0.269851951548 0.298115746972 0.223418573351 0.273889636608 0.28532974428 0.300134589502 0.28802153432 0.275908479139 0.244952893674 0.271197846568 0.236877523553 0.176312247645 0.298115746972 0.202557200538 0.200538358008 0.253028263795 0.292732166891 0.247644683715 0.271197846568 0.269179004038 0.224091520861 0.266487213997 0.244952893674 0.306864064603 0.268506056528 0.267833109017 0.263795423957 0.240915208614 0.219380888291 0.281965006729 0.231493943472 0.269179004038 0.263122476447 0.233512786003 0.205248990579 0.293405114401 0.333109017497 0.197846567968 0.258411843876 0.21197846568 0.247644683715 0.170928667564 0.240242261104 0.192462987887 0 0.242261103634 0.28734858681 0.251009421265 0.245625841184 0.249663526245 0.224091520861 0.253028263795 0.264468371467 0.28532974428 0.221399730821 0.334454912517 0.253701211306 0.192462987887 -646961 0.471736204576 0.456258411844 0.448183041723 0.189771197847 0.233512786003 0.220053835801 0.220053835801 0.205921938089 0.295423956931 0.265141318977 0.176312247645 0.21668909825 0.236877523553 0.185060565276 0.168236877524 0.228802153432 0.170255720054 0.201884253028 0.244952893674 0.239569313594 0.204576043069 0.21736204576 0.204576043069 0.157469717362 0.209286675639 0.158142664872 0.234185733513 0.219380888291 0.210632570659 0.154777927322 0.266487213997 0.244279946164 0.218034993271 0.207267833109 0.158815612382 0.218034993271 0.176985195155 0.238223418573 0.21399730821 0.265814266487 0.21197846568 0.251682368775 0.236877523553 0.181022880215 0.21130551817 0.21197846568 0.21130551817 0.242261103634 0 0.276581426649 0.248317631225 0.21130551817 0.261103633917 0.183714670256 0.14333781965 0.193135935397 0.247644683715 0.227456258412 0.277927321669 0.165545087483 0.229475100942 -3906666 0.437415881561 0.482503364738 0.468371467026 0.28398384926 0.230820995962 0.230820995962 0.280619111709 0.281292059219 0.161507402423 0.168236877524 0.264468371467 0.248990578735 0.185060565276 0.249663526245 0.269851951548 0.28869448183 0.265141318977 0.255047106326 0.231493943472 0.267160161507 0.244279946164 0.246971736205 0.251682368775 0.256393001346 0.244952893674 0.28802153432 0.207940780619 0.255720053836 0.251009421265 0.249663526245 0.242934051144 0.246971736205 0.279946164199 0.222072678331 0.243606998654 0.259757738896 0.251682368775 0.223418573351 0.292732166891 0.201884253028 0.239569313594 0.236877523553 0.21534320323 0.229475100942 0.251009421265 0.209959623149 0.253028263795 0.28734858681 0.276581426649 0 0.194481830417 0.279273216689 0.177658142665 0.276581426649 0.248317631225 0.255047106326 0.175639300135 0.272543741588 0.21197846568 0.228802153432 0.21736204576 -822879 0.436069986541 0.468371467026 0.448183041723 0.257065948856 0.220053835801 0.21399730821 0.263795423957 0.254374158816 0.21467025572 0.180349932705 0.238223418573 0.228802153432 0.162853297443 0.206594885599 0.250336473755 0.279946164199 0.229475100942 0.2133243607 0.220726783311 0.279273216689 0.246971736205 0.237550471063 0.249663526245 0.219380888291 0.253701211306 0.264468371467 0.2133243607 0.256393001346 0.253028263795 0.198519515478 0.21467025572 0.21601615074 0.264468371467 0.209959623149 0.21399730821 0.21668909825 0.210632570659 0.205248990579 0.276581426649 0.251682368775 0.21197846568 0.220726783311 0.218707940781 0.218034993271 0.236204576043 0.206594885599 0.210632570659 0.251009421265 0.248317631225 0.194481830417 0 0.254374158816 0.204576043069 0.246298788694 0.222072678331 0.238896366083 0.175639300135 0.21601615074 0.253701211306 0.226110363392 0.209286675639 -4164932 0.462314939435 0.403095558546 0.435397039031 0.134589502019 0.21399730821 0.228129205922 0.14602960969 0.153432032301 0.302826379542 0.274562584118 0.160834454913 0.205248990579 0.234185733513 0.232839838493 0.177658142665 0.151413189771 0.156123822342 0.164872139973 0.242261103634 0.157469717362 0.120457604307 0.268506056528 0.14131897712 0.245625841184 0.14535666218 0.210632570659 0.191790040377 0.14199192463 0.14131897712 0.243606998654 0.236877523553 0.218707940781 0.14199192463 0.228129205922 0.264468371467 0.239569313594 0.201211305518 0.201884253028 0.230148048452 0.239569313594 0.172947510094 0.241588156124 0.206594885599 0.220053835801 0.200538358008 0.232839838493 0.181695827725 0.245625841184 0.21130551817 0.279273216689 0.254374158816 0 0.230148048452 0.133916554509 0.162853297443 0.176985195155 0.266487213997 0.248317631225 0.248317631225 0.246298788694 0.201211305518 -4314491 0.434724091521 0.489905787349 0.456258411844 0.255047106326 0.256393001346 0.198519515478 0.263122476447 0.261103633917 0.21534320323 0.186406460296 0.253028263795 0.221399730821 0.21130551817 0.223418573351 0.234185733513 0.259757738896 0.244279946164 0.220053835801 0.202557200538 0.250336473755 0.189098250336 0.221399730821 0.202557200538 0.244952893674 0.195827725437 0.247644683715 0.231493943472 0.21399730821 0.197173620458 0.232839838493 0.2133243607 0.210632570659 0.249663526245 0.200538358008 0.228129205922 0.242934051144 0.222745625841 0.190444145357 0.269851951548 0.232839838493 0.201884253028 0.205248990579 0.168236877524 0.201884253028 0.207940780619 0.191790040377 0.206594885599 0.249663526245 0.261103633917 0.177658142665 0.204576043069 0.230148048452 0 0.242261103634 0.223418573351 0.223418573351 0.194481830417 0.247644683715 0.263122476447 0.21130551817 0.152759084791 -4378332 0.457604306864 0.422611036339 0.415208613728 0.155450874832 0.194481830417 0.21265141319 0.174293405114 0.160161507402 0.303499327052 0.279273216689 0.156796769852 0.207267833109 0.232839838493 0.226783310902 0.14602960969 0.191790040377 0.109690444145 0.129205921938 0.250336473755 0.135262449529 0.136608344549 0.249663526245 0.156123822342 0.209286675639 0.151413189771 0.172947510094 0.206594885599 0.160161507402 0.154777927322 0.244279946164 0.236877523553 0.151413189771 0.172947510094 0.218707940781 0.253701211306 0.226110363392 0.193135935397 0.201211305518 0.210632570659 0.236877523553 0.164199192463 0.240915208614 0.218034993271 0.209286675639 0.176985195155 0.220726783311 0.166218034993 0.224091520861 0.183714670256 0.276581426649 0.246298788694 0.133916554509 0.242261103634 0 0.161507402423 0.169582772544 0.262449528937 0.222072678331 0.246298788694 0.239569313594 0.189098250336 -4387271 0.436069986541 0.42732166891 0.419919246299 0.14064602961 0.204576043069 0.171601615074 0.172274562584 0.162180349933 0.266487213997 0.232839838493 0.107671601615 0.187079407806 0.21467025572 0.101615074024 0.189771197847 0.191790040377 0.179004037685 0.188425302826 0.204576043069 0.192462987887 0.156796769852 0.191117092867 0.149394347241 0.163526244953 0.162853297443 0.172274562584 0.181022880215 0.168909825034 0.152759084791 0.173620457604 0.220726783311 0.220726783311 0.172274562584 0.170255720054 0.164872139973 0.202557200538 0.14468371467 0.190444145357 0.21601615074 0.21534320323 0.193135935397 0.21130551817 0.201884253028 0.105652759085 0.203230148048 0.165545087483 0.200538358008 0.253028263795 0.14333781965 0.248317631225 0.222072678331 0.162853297443 0.223418573351 0.161507402423 0 0.138627187079 0.2133243607 0.228802153432 0.228129205922 0.169582772544 0.199865410498 -4397763 0.458277254374 0.446164199192 0.448855989233 0.166218034993 0.218707940781 0.158815612382 0.190444145357 0.162180349933 0.276581426649 0.242261103634 0.156796769852 0.220726783311 0.229475100942 0.207940780619 0.205248990579 0.201211305518 0.182368775236 0.197173620458 0.21197846568 0.185060565276 0.155450874832 0.223418573351 0.150067294751 0.21130551817 0.160161507402 0.176312247645 0.198519515478 0.160161507402 0.147375504711 0.233512786003 0.234185733513 0.21601615074 0.197846567968 0.198519515478 0.21197846568 0.21197846568 0.183714670256 0.195154777927 0.232166890983 0.226783310902 0.205248990579 0.203903095559 0.2133243607 0.172947510094 0.218707940781 0.196500672948 0.204576043069 0.264468371467 0.193135935397 0.255047106326 0.238896366083 0.176985195155 0.223418573351 0.169582772544 0.138627187079 0 0.231493943472 0.246971736205 0.228802153432 0.204576043069 0.198519515478 -4431405 0.422611036339 0.482503364738 0.441453566622 0.264468371467 0.224764468371 0.207940780619 0.269179004038 0.272543741588 0.210632570659 0.115746971736 0.243606998654 0.241588156124 0.163526244953 0.219380888291 0.269179004038 0.289367429341 0.248317631225 0.232839838493 0.226110363392 0.264468371467 0.240242261104 0.200538358008 0.226110363392 0.236877523553 0.234185733513 0.253701211306 0.179004037685 0.235531628533 0.228802153432 0.222072678331 0.227456258412 0.234185733513 0.281965006729 0.199865410498 0.21399730821 0.240242261104 0.21736204576 0.21601615074 0.266487213997 0.220726783311 0.233512786003 0.224764468371 0.21399730821 0.190444145357 0.248317631225 0.193808882907 0.238896366083 0.28532974428 0.247644683715 0.175639300135 0.175639300135 0.266487213997 0.194481830417 0.262449528937 0.2133243607 0.231493943472 0 0.258411843876 0.245625841184 0.201211305518 0.203903095559 -4439229 0.469044414536 0.50269179004 0.465679676985 0.251682368775 0.289367429341 0.193808882907 0.209286675639 0.246298788694 0.295423956931 0.267833109017 0.255720053836 0.203903095559 0.259084791386 0.172947510094 0.21736204576 0.280619111709 0.197173620458 0.197173620458 0.21668909825 0.296096904441 0.252355316285 0.245625841184 0.255720053836 0.221399730821 0.261776581427 0.240915208614 0.298788694482 0.261103633917 0.253028263795 0.191117092867 0.195827725437 0.176985195155 0.255047106326 0.210632570659 0.223418573351 0.242261103634 0.21197846568 0.191790040377 0.256393001346 0.318977119785 0.204576043069 0.228802153432 0.205248990579 0.21197846568 0.195827725437 0.209286675639 0.166890982503 0.221399730821 0.227456258412 0.272543741588 0.21601615074 0.248317631225 0.247644683715 0.222072678331 0.228802153432 0.246971736205 0.258411843876 0 0.326379542396 0.220726783311 0.206594885599 -4448694 0.466352624495 0.449528936743 0.465006729475 0.237550471063 0.203903095559 0.281965006729 0.243606998654 0.251009421265 0.157469717362 0.246298788694 0.235531628533 0.277927321669 0.247644683715 0.309555854643 0.271197846568 0.258411843876 0.281292059219 0.28465679677 0.28532974428 0.249663526245 0.207940780619 0.300807537012 0.196500672948 0.302153432032 0.203903095559 0.271197846568 0.191790040377 0.21601615074 0.204576043069 0.310228802153 0.28734858681 0.308209959623 0.239569313594 0.272543741588 0.290040376851 0.280619111709 0.273216689098 0.281292059219 0.298788694482 0.167563930013 0.28263795424 0.28802153432 0.270524899058 0.268506056528 0.290713324361 0.276581426649 0.292732166891 0.334454912517 0.277927321669 0.21197846568 0.253701211306 0.248317631225 0.263122476447 0.246298788694 0.228129205922 0.228802153432 0.245625841184 0.326379542396 0 0.28263795424 0.275235531629 -4468812 0.440107671602 0.485868102288 0.460969044415 0.220053835801 0.279273216689 0.167563930013 0.259084791386 0.254374158816 0.250336473755 0.21399730821 0.204576043069 0.209286675639 0.231493943472 0.152759084791 0.256393001346 0.265814266487 0.228129205922 0.21197846568 0.193135935397 0.246971736205 0.218034993271 0.152086137281 0.21736204576 0.189098250336 0.221399730821 0.242934051144 0.235531628533 0.228129205922 0.2133243607 0.0605652759085 0.21197846568 0.203230148048 0.253028263795 0.155450874832 0.0888290713324 0.206594885599 0.188425302826 0.184387617766 0.265814266487 0.262449528937 0.21130551817 0.197173620458 0.181022880215 0.131224764468 0.21601615074 0.156796769852 0.21265141319 0.253701211306 0.165545087483 0.228802153432 0.226110363392 0.246298788694 0.21130551817 0.239569313594 0.169582772544 0.204576043069 0.201211305518 0.220726783311 0.28263795424 0 0.185060565276 -4472218 0.4266487214 0.494616419919 0.453566621803 0.21601615074 0.270524899058 0.154104979812 0.245625841184 0.241588156124 0.240915208614 0.206594885599 0.220726783311 0.200538358008 0.21534320323 0.187079407806 0.179004037685 0.247644683715 0.175639300135 0.14535666218 0.188425302826 0.21130551817 0.164199192463 0.203230148048 0.181695827725 0.219380888291 0.179004037685 0.236204576043 0.240915208614 0.187079407806 0.176312247645 0.205248990579 0.155450874832 0.14064602961 0.241588156124 0.163526244953 0.188425302826 0.207940780619 0.178331090175 0.127860026918 0.267160161507 0.265141318977 0.14333781965 0.184387617766 0.130551816958 0.171601615074 0.155450874832 0.14333781965 0.153432032301 0.192462987887 0.229475100942 0.21736204576 0.209286675639 0.201211305518 0.152759084791 0.189098250336 0.199865410498 0.198519515478 0.203903095559 0.206594885599 0.275235531629 0.185060565276 0 diff --git a/answers/tree.pdf b/answers/tree.pdf deleted file mode 100644 index a3f6d99..0000000 Binary files a/answers/tree.pdf and /dev/null differ diff --git a/answers/tree.txt b/answers/tree.txt deleted file mode 100644 index 41ee138..0000000 --- a/answers/tree.txt +++ /dev/null @@ -1 +0,0 @@ -(((4439229:0.0994636314408,(164216:0.0805450227767,146154:0.0648116394037):0.0142644977651):0.00735813002246,((720729:0.097762461851,((((5364:0.0459632162084,(3148512:0.0387720577239,106543:0.0419816434874):0.0112373221496):0.024851971263,11136:0.104185713798):0.00389111736513,((286686:0.0867460556338,((593544:0.060210401245,779409:0.04678825286):0.00697756765851,4387271:0.0431570218435):0.0165513871656):0.00338682209946,((100149:0.0486748871823,(166838:0.0343723235042,4468812:0.0261929524043):0.0135727575014):0.0312959330949,348167:0.0893299080895):0.0107871348319):0.0117075956228):0.00387210426656,(((1920715:0.120428860031,(260976:0.0822133814411,646961:0.0759292834311):0.0141606419883):0.0116483249952,((((4378332:0.0506567246683,523025:0.0846057248606):0.0147056847708,(511006:0.0515193738372,(((273179:0.0226913456411,188674:0.020377295005):0.000565372968216,319214:0.0219783686199):0.0109189939435,197222:0.0380379374159):0.0254489976298):0.0132847257272):0.00561348628869,(806723:0.0722060713208,(1009440:0.0708603722105,((947627:0.0727840632945,954340:0.0772832314566):0.00484880367808,(4164932:0.0605401041029,(144260:0.0337801940922,565897:0.0476464546292):0.0454491287369):0.00415186926943):0.00135530746646):0.00572966219195):0.0100726310145):0.00375090334222,4397763:0.0781236103481):0.0106890635478):0.00388775124005,((((822879:0.0825808319509,664158:0.0802724654919):0.00461971797755,((3906666:0.0824905753015,(816087:0.0812659224188,4448694:0.0762037949433):0.0255175000687):0.0177473177689,(4431405:0.0543373959424,809189:0.0614095757938):0.0302843107641):0.00656803437777):0.00423269087876,((2034243:0.094206517777,208595:0.0686467796658):0.00510333767336,996519:0.0891093137398):0.025745017735):0.013850279425,((152801:0.115587289276,3855581:0.124654971827):0.0215198171439,4345542:0.132248688913):0.188580743455):0.0120725313848):0.0120473718793):0.00536520381635):0.00336721222622,((2263183:0.0648454483874,(2963287:0.0704258470927,(586332:0.0726342497929,1136782:0.103677997852):0.00763606407822):0.0074964089477):0.00238916628989,(555079:0.0352536797343,553272:0.0313681237651):0.0385765133871):0.0120786458936):0.00753624506626):0.000959080610108); \ No newline at end of file diff --git a/HW3_CSci_5481.pdf b/assignment/HW3_CSci_5481.pdf similarity index 100% rename from HW3_CSci_5481.pdf rename to assignment/HW3_CSci_5481.pdf diff --git a/edges.txt b/edges.txt index a67d693..8d3aad7 100644 --- a/edges.txt +++ b/edges.txt @@ -5,8 +5,8 @@ 63 64 0.00376827912568 64 69 0.0114938796716 69 70 0.00240415262502 -70 19 0.0913179402432 70 42 0.095761467563 +70 19 0.0913179402432 69 6 0.068928283445 64 74 0.0138257703957 74 43 0.0701951689325 @@ -85,8 +85,8 @@ 83 91 0.013850279425 91 102 0.00423269087876 102 104 0.00461971797755 -104 51 0.0825808319509 104 13 0.0802724654919 +104 51 0.0825808319509 102 105 0.00656803437777 105 110 0.0177473177689 110 50 0.0824905753015 diff --git a/main.py b/main.py index e20dc5f..324932f 100644 --- a/main.py +++ b/main.py @@ -1,6 +1,6 @@ from node import Node import sys -from neighbour_joining import nei_saitou +import neighbour_joining import utils from random import randint import bootstrap @@ -18,7 +18,8 @@ def main(filename): #This is used to number the sequences/nodes in the tree to be constructed seqCounter = 120 - root = nei_saitou(ids, distMatrix, seqCounter) + Neighbour_Joining_instance = neighbour_joining.Neighbour_Joining() + root = Neighbour_Joining_instance.nei_saitou(ids, distMatrix, seqCounter) # Writing the edge file utils.write_edge_file(root) diff --git a/neighbour_joining.py b/neighbour_joining.py index 14ea102..8750ad2 100644 --- a/neighbour_joining.py +++ b/neighbour_joining.py @@ -3,85 +3,88 @@ import random import utils -#Applies nei_saitou to calculte the distances recursively and get the phylogeny tree -def nei_saitou(original_ids, original_distMatrix, seqCounter): - #Using a global root holder - global root - root = None - # Maintaining a map for the relationships between child and parent - relationship_map = {} +# Holds the methods to join neighbours +class Neighbour_Joining: - # Using a mapping for seqId and new ids. - seqId_orderId_map = {} - for i, id in enumerate(original_ids): - seqId_orderId_map[id] = str(i + 1) - - def calculate_next_neighbours(ids, distMatrix, seqCounter, seqId_orderId_map): + #Applies nei_saitou to calculte the distances recursively and get the phylogeny tree + def nei_saitou(self, original_ids, original_distMatrix, seqCounter): + #Using a global root holder global root - N = len(distMatrix) + root = None + # Maintaining a map for the relationships between child and parent + relationship_map = {} - # Base case for recursion - if N <= 2: - # Assigning the ids to these nodes according to the requirements - if ids[0] in seqId_orderId_map: - tip_1 = seqId_orderId_map[ids[0]] + # Using a mapping for seqId and new ids. + seqId_orderId_map = {} + for i, id in enumerate(original_ids): + seqId_orderId_map[id] = str(i + 1) + + def calculate_next_neighbours(ids, distMatrix, seqCounter, seqId_orderId_map): + global root + N = len(distMatrix) + + # Base case for recursion + if N <= 2: + # Assigning the ids to these nodes according to the requirements + if ids[0] in seqId_orderId_map: + tip_1 = seqId_orderId_map[ids[0]] + else: + tip_1 = ids[0] + if ids[1] in seqId_orderId_map: + tip_2 = seqId_orderId_map[ids[1]] + else: + tip_2 = ids[1] + # Adding their relationship to the tree + relationship_map[tip_1] = (tip_2, distMatrix[0][1]) + # Since these are the last two nodes, any of these can be chosen to be the root + root = tip_2 + return + + #First step is to get the closest two tips from the distance matrix + mini, minj, minVal = utils.construct_QMatrix(distMatrix) + + edge_i, edge_j = utils.calculate_edge_lengths(distMatrix, mini, minj, N) + #print(edge_i, edge_j) + tip_1 = tip_2 = None + # Setting the new ids to the tips/ internal node + if ids[mini] in seqId_orderId_map: + tip_1 = seqId_orderId_map[ids[mini]] else: - tip_1 = ids[0] - if ids[1] in seqId_orderId_map: - tip_2 = seqId_orderId_map[ids[1]] + tip_1 = ids[mini] + if ids[minj] in seqId_orderId_map: + tip_2 = seqId_orderId_map[ids[minj]] else: - tip_2 = ids[1] - # Adding their relationship to the tree - relationship_map[tip_1] = (tip_2, distMatrix[0][1]) - # Since these are the last two nodes, any of these can be chosen to be the root - root = tip_2 - return - - #First step is to get the closest two tips from the distance matrix - mini, minj, minVal = utils.construct_QMatrix(distMatrix) - - edge_i, edge_j = utils.calculate_edge_lengths(distMatrix, mini, minj, N) - #print(edge_i, edge_j) - tip_1 = tip_2 = None - # Setting the new ids to the tips/ internal node - if ids[mini] in seqId_orderId_map: - tip_1 = seqId_orderId_map[ids[mini]] - else: - tip_1 = ids[mini] - if ids[minj] in seqId_orderId_map: - tip_2 = seqId_orderId_map[ids[minj]] - else: - tip_2 = ids[minj] - - # Add them to the tree relationships - relationship_map[tip_1] = (str(seqCounter), edge_i) - relationship_map[tip_2] = (str(seqCounter), edge_j) + tip_2 = ids[minj] + + # Add them to the tree relationships + relationship_map[tip_1] = (str(seqCounter), edge_i) + relationship_map[tip_2] = (str(seqCounter), edge_j) - # Remove the used ids and add the new seqCounter - ids = [id for id in ids if id not in (ids[mini], ids[minj])] + [str(seqCounter)] + # Remove the used ids and add the new seqCounter + ids = [id for id in ids if id not in (ids[mini], ids[minj])] + [str(seqCounter)] - seqCounter -=1 - new_distMatrix = utils.calculate_new_distMatrix(distMatrix, mini, minj, N) + seqCounter -=1 + new_distMatrix = utils.calculate_new_distMatrix(distMatrix, mini, minj, N) - # recursively call with the new distance matrix - calculate_next_neighbours(ids, new_distMatrix, seqCounter, seqId_orderId_map) + # recursively call with the new distance matrix + calculate_next_neighbours(ids, new_distMatrix, seqCounter, seqId_orderId_map) - calculate_next_neighbours(original_ids, original_distMatrix, seqCounter, seqId_orderId_map) + calculate_next_neighbours(original_ids, original_distMatrix, seqCounter, seqId_orderId_map) - # construct tree from the relationship_map relations - rootNode = Node(root) - queue = [rootNode] - # bfs for tree construction - while len(queue) > 0: - nodeList = [] - for node in queue: - for child, (parent, distance) in relationship_map.items(): - if parent == node.id: - childNode = Node(child) - node.add_child(childNode, distance) - nodeList.append(childNode) - for node in nodeList: - del relationship_map[node.id] - queue = nodeList - return rootNode + # construct tree from the relationship_map relations + rootNode = Node(root) + queue = [rootNode] + # bfs for tree construction + while len(queue) > 0: + nodeList = [] + for node in queue: + for child, (parent, distance) in relationship_map.items(): + if parent == node.id: + childNode = Node(child) + node.add_child(childNode, distance) + nodeList.append(childNode) + for node in nodeList: + del relationship_map[node.id] + queue = nodeList + return rootNode diff --git a/tree.pdf b/tree.pdf new file mode 100644 index 0000000..dd7c6e9 Binary files /dev/null and b/tree.pdf differ diff --git a/tree.txt b/tree.txt index 6ae6f1a..06887a4 100644 --- a/tree.txt +++ b/tree.txt @@ -1 +1 @@ -(((4439229:0.0994636314408,(164216:0.0805450227767,146154:0.0648116394037):0.0142644977651):0.00735813002246,((720729:0.097762461851,(((((100149:0.0486748871823,(4468812:0.0261929524043,166838:0.0343723235042):0.0135727575014):0.0312959330949,348167:0.0893299080895):0.0107871348319,(286686:0.0867460556338,((779409:0.04678825286,593544:0.060210401245):0.00697756765851,4387271:0.0431570218435):0.0165513871656):0.00338682209946):0.0117075956228,(11136:0.104185713798,(5364:0.0459632162084,(3148512:0.0387720577239,106543:0.0419816434874):0.0112373221496):0.024851971263):0.00389111736513):0.00387210426656,(((1920715:0.120428860031,(260976:0.0822133814411,646961:0.0759292834311):0.0141606419883):0.0116483249952,((((4378332:0.0506567246683,523025:0.0846057248606):0.0147056847708,(511006:0.0515193738372,(((273179:0.0226913456411,188674:0.020377295005):0.000565372968216,319214:0.0219783686199):0.0109189939435,197222:0.0380379374159):0.0254489976298):0.0132847257272):0.00561348628869,(806723:0.0722060713208,(1009440:0.0708603722105,((954340:0.0772832314566,947627:0.0727840632945):0.00484880367808,(4164932:0.0605401041029,(565897:0.0476464546292,144260:0.0337801940922):0.0454491287369):0.00415186926943):0.00135530746646):0.00572966219195):0.0100726310145):0.00375090334222,4397763:0.0781236103481):0.0106890635478):0.00388775124005,((((822879:0.0825808319509,664158:0.0802724654919):0.00461971797755,((3906666:0.0824905753015,(816087:0.0812659224188,4448694:0.0762037949433):0.0255175000687):0.0177473177689,(4431405:0.0543373959424,809189:0.0614095757938):0.0302843107641):0.00656803437777):0.00423269087876,((2034243:0.094206517777,208595:0.0686467796658):0.00510333767336,996519:0.0891093137398):0.025745017735):0.013850279425,((152801:0.115587289276,3855581:0.124654971827):0.0215198171439,4345542:0.132248688913):0.188580743455):0.0120725313848):0.0120473718793):0.00536520381635):0.00336721222622,((2263183:0.0648454483874,((586332:0.0726342497929,1136782:0.103677997852):0.00763606407822,2963287:0.0704258470927):0.0074964089477):0.00238916628989,(555079:0.0352536797343,553272:0.0313681237651):0.0385765133871):0.0120786458936):0.00753624506626):0.000959080610108); \ No newline at end of file +(((4439229:0.0994636314408,(164216:0.0805450227767,146154:0.0648116394037):0.0142644977651):0.00735813002246,((720729:0.097762461851,(((((100149:0.0486748871823,(4468812:0.0261929524043,166838:0.0343723235042):0.0135727575014):0.0312959330949,348167:0.0893299080895):0.0107871348319,(286686:0.0867460556338,((779409:0.04678825286,593544:0.060210401245):0.00697756765851,4387271:0.0431570218435):0.0165513871656):0.00338682209946):0.0117075956228,(11136:0.104185713798,(5364:0.0459632162084,(3148512:0.0387720577239,106543:0.0419816434874):0.0112373221496):0.024851971263):0.00389111736513):0.00387210426656,(((1920715:0.120428860031,(260976:0.0822133814411,646961:0.0759292834311):0.0141606419883):0.0116483249952,((((4378332:0.0506567246683,523025:0.0846057248606):0.0147056847708,(511006:0.0515193738372,(((273179:0.0226913456411,188674:0.020377295005):0.000565372968216,319214:0.0219783686199):0.0109189939435,197222:0.0380379374159):0.0254489976298):0.0132847257272):0.00561348628869,(806723:0.0722060713208,(1009440:0.0708603722105,((954340:0.0772832314566,947627:0.0727840632945):0.00484880367808,(4164932:0.0605401041029,(565897:0.0476464546292,144260:0.0337801940922):0.0454491287369):0.00415186926943):0.00135530746646):0.00572966219195):0.0100726310145):0.00375090334222,4397763:0.0781236103481):0.0106890635478):0.00388775124005,((((664158:0.0802724654919,822879:0.0825808319509):0.00461971797755,((3906666:0.0824905753015,(816087:0.0812659224188,4448694:0.0762037949433):0.0255175000687):0.0177473177689,(4431405:0.0543373959424,809189:0.0614095757938):0.0302843107641):0.00656803437777):0.00423269087876,((2034243:0.094206517777,208595:0.0686467796658):0.00510333767336,996519:0.0891093137398):0.025745017735):0.013850279425,((152801:0.115587289276,3855581:0.124654971827):0.0215198171439,4345542:0.132248688913):0.188580743455):0.0120725313848):0.0120473718793):0.00536520381635):0.00336721222622,((2263183:0.0648454483874,((586332:0.0726342497929,1136782:0.103677997852):0.00763606407822,2963287:0.0704258470927):0.0074964089477):0.00238916628989,(555079:0.0352536797343,553272:0.0313681237651):0.0385765133871):0.0120786458936):0.00753624506626):0.000959080610108); \ No newline at end of file