Repository: harvardinformatics/bioinformatics-coffee-hour Branch: master Commit: 17531934f410 Files: 107 Total size: 3.8 MB Directory structure: gitextract_0onxtofe/ ├── LICENSE ├── README.md ├── bedtools/ │ ├── binder/ │ │ └── environment.yml │ ├── data/ │ │ ├── H1-hESC-H3K27Ac_chr22.bed │ │ ├── hg38.genome │ │ ├── human_enhancers_chr22.bed │ │ └── ucscGenes_chr22.bed │ └── index.ipynb ├── differential-expression-analysis/ │ ├── binder/ │ │ └── Dockerfile │ ├── data/ │ │ ├── dme_elev_samples.tab │ │ └── dme_elevgrad_rsem_bt2_gene_counts.matrix.bz2 │ └── index.Rmd ├── enrichment-analysis/ │ ├── binder/ │ │ └── Dockerfile │ ├── data/ │ │ ├── dme_mapk_ensembl_geneids.txt │ │ └── heatshockprotein_ensembl_gene_ids.txt │ └── index.Rmd ├── ggplot-basics/ │ ├── binder/ │ │ └── Dockerfile │ └── index.Rmd ├── intro-to-awk/ │ ├── binder/ │ │ └── environment.yml │ ├── data/ │ │ ├── Homo_sapiens.GRCh38.subset.gff3 │ │ ├── Homo_sapiens_ucscGenes.subset.bed │ │ ├── enhancers.csv │ │ ├── example.fastq │ │ └── hg38.genome │ └── index.ipynb ├── intro-to-r/ │ ├── binder/ │ │ └── Dockerfile │ ├── data/ │ │ └── mbta_bus.tsv │ ├── index.Rmd │ └── instructor_copy.Rmd ├── intro_awk_spring2021/ │ ├── .ipynb_checkpoints/ │ │ └── index-checkpoint.ipynb │ ├── binder/ │ │ ├── .ipynb_checkpoints/ │ │ │ └── environment-checkpoint.yml │ │ └── environment.yml │ ├── data/ │ │ ├── .ipynb_checkpoints/ │ │ │ ├── Homo_sapiens.GRCh38.subset-checkpoint.gff3 │ │ │ ├── Homo_sapiens_ucscGenes.subset-checkpoint.bed │ │ │ ├── example-checkpoint.fastq │ │ │ └── hg38-checkpoint.genome │ │ ├── Homo_sapiens.GRCh38.subset.gff3 │ │ ├── Homo_sapiens_ucscGenes.subset.bed │ │ ├── dmel-subset-chromosomes.fasta │ │ ├── enhancers.csv │ │ ├── example.fastq │ │ ├── hg38.genome │ │ └── sample.txt │ └── index.ipynb ├── intro_data_science/ │ ├── part_1/ │ │ ├── binder/ │ │ │ └── requirements.txt │ │ ├── ds_part_1.ipynb │ │ └── ds_part_1_complete.ipynb │ ├── part_2/ │ │ ├── binder/ │ │ │ └── requirements.txt │ │ ├── ds_part_2.ipynb │ │ └── ds_part_2_complete.ipynb │ ├── part_3/ │ │ ├── binder/ │ │ │ └── requirements.txt │ │ ├── data/ │ │ │ ├── complete/ │ │ │ │ └── eur_data_final.csv │ │ │ ├── gdp_2016.csv │ │ │ ├── misc_data.xlsx │ │ │ ├── out/ │ │ │ │ ├── eur_data_sorted.csv │ │ │ │ ├── eur_data_sorted.html │ │ │ │ ├── eur_data_sorted.json │ │ │ │ └── eur_data_sorted.xlsx │ │ │ ├── unemployment_2016.csv │ │ │ └── ~$misc_data.xlsx │ │ ├── ds_part_3.ipynb │ │ └── ds_part_3_complete.ipynb │ └── part_4/ │ ├── binder/ │ │ └── requirements.txt │ ├── data/ │ │ └── complete/ │ │ ├── eur_data_final.csv │ │ └── un_world_data.csv │ ├── ds_part_4.ipynb │ └── ds_part_4_complete.ipynb ├── samtools/ │ ├── binder/ │ │ └── environment.yml │ ├── data/ │ │ ├── file.sorted.bam │ │ └── subset.bed │ ├── index.ipynb │ └── introduction.md ├── singularity/ │ ├── images/ │ │ ├── singularity_container.drawio │ │ ├── singularity_image.drawio │ │ └── trinity.drawio │ ├── part1.html │ └── part1.md ├── snakemake/ │ ├── LICENSE │ ├── README.md │ ├── Snakefile │ ├── binder/ │ │ ├── README.md │ │ └── environment.yml │ ├── data/ │ │ └── .gitignore │ └── index.ipynb ├── taste-of-conda/ │ ├── binder/ │ │ └── environment.yml │ └── index.ipynb ├── tidyverse/ │ ├── part1/ │ │ ├── binder/ │ │ │ └── Dockerfile │ │ └── index.Rmd │ ├── part1_winter2021/ │ │ ├── binder/ │ │ │ └── Dockerfile │ │ └── index.Rmd │ ├── part2/ │ │ ├── binder/ │ │ │ └── Dockerfile │ │ └── index.Rmd │ └── part2_winter2021/ │ ├── binder/ │ │ └── Dockerfile │ ├── co-est2019-annres.csv.xz │ ├── mask-use-by-county.csv │ ├── tidyverse_part2_winter2021.Rmd │ └── tidyverse_part2_winter2021.nb.html ├── tidyverse_covid_data/ │ ├── part1/ │ │ ├── binder/ │ │ │ └── Dockerfile │ │ ├── tidyverse_1.R │ │ └── tidyverse_1.Rmd │ └── part2/ │ ├── binder/ │ │ └── Dockerfile │ ├── co-est2019-annres.csv.xz │ ├── mask-use-by-county.csv │ ├── tidyverse_2.R │ └── tidyverse_2.Rmd └── unix-pipes/ ├── binder/ │ └── environment.yml └── index.ipynb ================================================ FILE CONTENTS ================================================ ================================================ FILE: LICENSE ================================================ MIT License Copyright (c) 2020 President and Fellows of Harvard College Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: README.md ================================================ # Bioinformatics Coffee Hour | Date | Topic | Launch | | --- | --- | --- | | Tues, April 14, 2020 | [Intro to AWK](/intro-to-awk/index.ipynb) | [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/harvardinformatics/bioinformatics-coffee-hour/2020-04-14_intro-to-awk?urlpath=lab/tree/intro-to-awk/index.ipynb) | | Tues, April 21, 2020 | [Differential Expression Analysis with limma-voom](/differential-expression-analysis/index.Rmd) | [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/harvardinformatics/bioinformatics-coffee-hour/2020-04-21_differential-expression-analysis?urlpath=rstudio) | | Tues, April 28, 2020 | [A Taste of Conda](/taste-of-conda/index.ipynb) | [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/harvardinformatics/bioinformatics-coffee-hour/2020-04-28_taste-of-conda?urlpath=lab/tree/taste-of-conda/index.ipynb) | | Tues, May 5, 2020 | [Tidyverse (part 1)](/tidyverse/part1/index.Rmd) | [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/harvardinformatics/bioinformatics-coffee-hour/2020-05-05_tidyverse_part1?urlpath=rstudio) | | Tues, May 12, 2020 | [Tidyverse (part 2)](/tidyverse/part2/index.Rmd) | [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/harvardinformatics/bioinformatics-coffee-hour/2020-05-12_tidyverse_part2?urlpath=rstudio) | | Tues, May 19, 2020 | [Intro to bedtools](/bedtools/index.ipynb) | [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/harvardinformatics/bioinformatics-coffee-hour/2020-05-19_bedtools?urlpath=lab/tree/bedtools/index.ipynb) | | Tues, May 26, 2020 | [Snakemake](/snakemake/index.ipynb) | [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/harvardinformatics/bioinformatics-coffee-hour/2020-05-26_snakemake?urlpath=lab/tree/snakemake/index.ipynb) | | Tues, June 16, 2020 | [Unix Pipes](/unix-pipes/index.ipynb) | [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/harvardinformatics/bioinformatics-coffee-hour/2020-06-16_unix-pipes?urlpath=lab/tree/unix-pipes/index.ipynb) | | Tues, June 23, 2020 | [Samtools](/samtools/index.ipynb) | [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/harvardinformatics/bioinformatics-coffee-hour/2020-06-23_samtools?urlpath=lab/tree/samtools/index.ipynb) | | Tues, June 30, 2020 | [Enrichment Analysis for Bulk RNA-Seq with Camera and ROAST](/enrichment-analysis/index.Rmd) | [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/harvardinformatics/bioinformatics-coffee-hour/2020-06-30_enrichment-analysis?urlpath=rstudio) | | Tues, Aug 4, 2020 | [Intro to R](/intro-to-r/index.Rmd) | [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/harvardinformatics/bioinformatics-coffee-hour/2020-08-04_intro-to-r?urlpath=rstudio) | | Tues, Aug 11, 2020 | [Tidyverse with covid data 1](/tidyverse_covid_data/part1/tidyverse_1.Rmd) | [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/harvardinformatics/bioinformatics-coffee-hour/2020-08-11_tidyverse-with-covid-data-1?urlpath=rstudio) | | Tues, Aug 18, 2020 | [Tidyverse with covid data 2](/tidyverse_covid_data/part2/tidyverse_2.Rmd) | [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/harvardinformatics/bioinformatics-coffee-hour/2020-08-18_tidyverse-with-covid-data-2?urlpath=rstudio) | | Tues, Aug 25, 2020 | [ggplot basics](/ggplot-basics/index.Rmd) | [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/harvardinformatics/bioinformatics-coffee-hour/2020-08-25_ggplot-basics?urlpath=rstudio) | | Tues, January 19, 2021 | [Intro to Data Science - Part 1](/intro_data_science/part_1/ds_part_1.ipynb) | [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/harvardinformatics/bioinformatics-coffee-hour/2021-01-19_intro_data_science_1?urlpath=lab/tree/intro_data_science/part_1/ds_part_1.ipynb) | | Tues, January 26, 2021 | [Intro to Data Science - Part 2](/intro_data_science/part_2/ds_part_2.ipynb) | [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/harvardinformatics/bioinformatics-coffee-hour/2021-01-26_intro_data_science_2?urlpath=lab/tree/intro_data_science/part_2/ds_part_2.ipynb) | | Tues, February 2, 2021 | [Intro to Data Science - Part 3](/intro_data_science/part_3/ds_part_3.ipynb) | [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/harvardinformatics/bioinformatics-coffee-hour/2021-02-02_intro_data_science_3?urlpath=lab/tree/intro_data_science/part_3/ds_part_3.ipynb) | | Tues, February 9, 2021 | [Intro to Data Science - Part 4](/intro_data_science/part_4/ds_part_4.ipynb) | [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/harvardinformatics/bioinformatics-coffee-hour/2021-02-09_intro_data_science_4?urlpath=lab/tree/intro_data_science/part_4/ds_part_4.ipynb) | | Tues, March 2, 2021 | [Tidyverse (part 1) Winter 2021](/tidyverse/part1/index.Rmd) | [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/harvardinformatics/bioinformatics-coffee-hour/2021-03-02_tidyverse_part1?urlpath=rstudio) | | Tues, March 9, 2021 | [Tidyverse (part 2) Winter 2021](/tidyverse/part2_winter2021/tidyverse_part2_winter2021.Rmd) | [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/harvardinformatics/bioinformatics-coffee-hour/2021-03-09_tidyverse_part2?urlpath=rstudio) | | Tues, April 20, 2021 | [Intro to AWK and Grep Spring 2021](/intro_awk_spring2021/index.ipynb) | [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/harvardinformatics/bioinformatics-coffee-hour/2021-04-20_intro_awk?urlpath=lab/tree/intro_awk_spring2021/index.ipynb) | | Tues, April 27, 2021 | [Singularity (part 1): Finding and Running Containers](/singularity/part1.md) ================================================ FILE: bedtools/binder/environment.yml ================================================ channels: - conda-forge - bioconda - defaults dependencies: - bash_kernel - bedtools=2.29.2 ================================================ FILE: bedtools/data/H1-hESC-H3K27Ac_chr22.bed ================================================ chr22 16846128 16866063 . 295 chr22 16849975 16850195 . 703 chr22 16850703 16850930 . 1000 chr22 16861726 16861890 . 837 chr22 17047932 17048173 . 722 chr22 17306180 17306362 . 857 chr22 17535824 17546861 . 281 chr22 17573289 17612560 . 288 chr22 17617573 17634154 . 297 chr22 17639228 17640854 . 594 chr22 17651864 17653784 . 598 chr22 17667916 17686364 . 521 chr22 17674950 17675707 . 707 chr22 17678957 17680889 . 1000 chr22 17681072 17681213 . 1000 chr22 17695293 17695896 . 495 chr22 17698340 17699734 . 407 chr22 17708995 17726307 . 341 chr22 17736801 17743349 . 625 chr22 17743875 17751576 . 625 chr22 17753338 17754400 . 766 chr22 17766210 17774384 . 292 chr22 17778642 17802961 . 281 chr22 17788505 17788634 . 957 chr22 17790395 17790912 . 519 chr22 17790463 17790589 . 914 chr22 17819638 17820672 . 398 chr22 17838213 18003151 . 335 chr22 17847872 17848297 . 667 chr22 17848575 17851798 . 1000 chr22 17859322 17859430 . 1000 chr22 17860044 17860967 . 755 chr22 17861170 17861746 . 713 chr22 17867255 17867642 . 655 chr22 17902253 17902355 . 1000 chr22 17903643 17903828 . 846 chr22 17909361 17909563 . 751 chr22 17930036 17930459 . 651 chr22 17963184 17963387 . 748 chr22 17971197 17971631 . 693 chr22 18015938 18016806 . 450 chr22 18020970 18022774 . 392 chr22 18026816 18056024 . 327 chr22 18041519 18044898 . 596 chr22 18049468 18049844 . 690 chr22 18050131 18050360 . 682 chr22 18050888 18051455 . 667 chr22 18056377 18057052 . 472 chr22 18063774 18064791 . 402 chr22 18065891 18066447 . 480 chr22 18070477 18071089 . 503 chr22 18072197 18074022 . 390 chr22 18086083 18087196 . 396 chr22 18110918 18112258 . 1000 chr22 18119703 18123278 . 983 chr22 18161634 18161752 . 964 chr22 18188968 18190408 . 383 chr22 18206524 18235419 . 285 chr22 18236445 18237620 . 384 chr22 18255747 18257600 . 576 chr22 18256484 18256718 . 905 chr22 18256895 18257107 . 907 chr22 18257137 18257267 . 1000 chr22 18267051 18281658 . 320 chr22 18286923 18287900 . 483 chr22 18297863 18299181 . 391 chr22 18302879 18330299 . 288 chr22 18377158 18415796 . 307 chr22 18419875 18439132 . 330 chr22 18439474 18460598 . 314 chr22 18483896 18484765 . 1000 chr22 18560313 18560422 . 1000 chr22 18560331 18560545 . 755 chr22 18560660 18561449 . 962 chr22 18604230 18605238 . 404 chr22 18718146 18718292 . 1000 chr22 18876360 18876975 . 489 chr22 18876660 18876984 . 605 chr22 18876760 18876992 . 676 chr22 18878238 18878848 . 1000 chr22 18879886 18880128 . 1000 chr22 18880556 18880895 . 931 chr22 18881929 18882179 . 1000 chr22 18883666 18883770 . 1000 chr22 18884043 18884168 . 920 chr22 18893121 18893822 . 461 chr22 18900742 18900998 . 659 chr22 18907281 18907801 . 502 chr22 18907301 18907401 . 1000 chr22 18911818 18919831 . 784 chr22 18921106 18922484 . 506 chr22 18923452 18923997 . 515 chr22 18926058 18926176 . 964 chr22 18935176 18945475 . 282 chr22 18935447 18935560 . 1000 chr22 18935655 18935869 . 827 chr22 18935873 18935985 . 1000 chr22 18952384 18968131 . 276 chr22 18978030 18988144 . 281 chr22 19023738 19026095 . 390 chr22 19040443 19063280 . 306 chr22 19088604 19119947 . 331 chr22 19092021 19092427 . 652 chr22 19097321 19097538 . 711 chr22 19109205 19110085 . 960 chr22 19110512 19110746 . 938 chr22 19131778 19132114 . 1000 chr22 19153745 19177358 . 444 chr22 19188646 19190188 . 394 chr22 19195700 19216040 . 329 chr22 19197845 19197950 . 1000 chr22 19201513 19201697 . 892 chr22 19204195 19204427 . 709 chr22 19253116 19288464 . 300 chr22 19273182 19273643 . 1000 chr22 19274064 19275659 . 494 chr22 19278727 19278827 . 1000 chr22 19279804 19279973 . 818 chr22 19334044 19334576 . 509 chr22 19336737 19350056 . 299 chr22 19389305 19404840 . 299 chr22 19405354 19425112 . 359 chr22 19410269 19410369 . 1000 chr22 19410703 19410906 . 748 chr22 19417307 19421222 . 616 chr22 19434330 19436322 . 931 chr22 19465158 19468827 . 1000 chr22 19479273 19513263 . 285 chr22 19542526 19542637 . 1000 chr22 19586300 19587331 . 399 chr22 19592902 19603477 . 317 chr22 19608472 19609960 . 560 chr22 19679560 19679808 . 769 chr22 19679699 19679818 . 958 chr22 19692121 19693889 . 525 chr22 19778616 19820959 . 297 chr22 19799693 19799833 . 896 chr22 19811163 19811386 . 731 chr22 19823001 19909709 . 325 chr22 19929629 19930860 . 495 chr22 19937259 20010920 . 343 chr22 19950145 19950376 . 914 chr22 19950802 19950950 . 909 chr22 20013136 20030424 . 277 chr22 20035500 20151405 . 340 chr22 20066277 20070013 . 718 chr22 20072574 20072895 . 658 chr22 20087969 20088187 . 708 chr22 20089831 20090029 . 880 chr22 20103392 20107026 . 914 chr22 20107461 20107570 . 1000 chr22 20107659 20107842 . 853 chr22 20115059 20115324 . 643 chr22 20115505 20115720 . 752 chr22 20123657 20123766 . 1000 chr22 20132503 20132718 . 716 chr22 20152168 20259365 . 302 chr22 20303364 20305168 . 388 chr22 20306733 20308884 . 411 chr22 20326078 20326227 . 1000 chr22 20747879 20748834 . 711 chr22 20771845 20782827 . 303 chr22 20810818 20811884 . 406 chr22 20812810 20814147 . 394 chr22 20843076 20843668 . 475 chr22 20850204 20850526 . 1000 chr22 20851190 20851312 . 1000 chr22 20857339 20873174 . 312 chr22 20861747 20862572 . 824 chr22 20863412 20863762 . 662 chr22 20879749 20892778 . 340 chr22 20884742 20884885 . 989 chr22 20886960 20887144 . 977 chr22 20898333 20915030 . 328 chr22 20917448 20948974 . 319 chr22 20956581 20967725 . 303 chr22 20979336 21012452 . 283 chr22 21056144 21057322 . 423 chr22 21057113 21057329 . 713 chr22 21103262 21104302 . 397 chr22 21104717 21104999 . 669 chr22 21104730 21105241 . 508 chr22 21119342 21120344 . 405 chr22 21129107 21146106 . 300 chr22 21148469 21149212 . 466 chr22 21151608 21151832 . 694 chr22 21158141 21159177 . 413 chr22 21158969 21159197 . 685 chr22 21211335 21214026 . 436 chr22 21212316 21212534 . 958 chr22 21213398 21213501 . 1000 chr22 21220011 21222374 . 406 chr22 21240025 21240240 . 716 chr22 21270705 21272892 . 1000 chr22 21273319 21273546 . 687 chr22 21275195 21275351 . 871 chr22 21279013 21279139 . 914 chr22 21285406 21285936 . 525 chr22 21286847 21313108 . 313 chr22 21291729 21292095 . 704 chr22 21300608 21300718 . 1000 chr22 21301260 21301416 . 921 chr22 21323969 21378797 . 325 chr22 21333308 21333514 . 853 chr22 21333897 21334118 . 842 chr22 21335549 21337055 . 845 chr22 21355063 21357183 . 709 chr22 21363912 21365364 . 553 chr22 21797119 21798545 . 533 chr22 21802209 21804193 . 396 chr22 21809730 21810330 . 471 chr22 21921797 21922925 . 1000 chr22 21926773 21929001 . 420 chr22 21936982 21938209 . 382 chr22 21945343 21945861 . 503 chr22 21955943 21971241 . 306 chr22 21972578 21989164 . 344 chr22 21978272 21979522 . 515 chr22 21982299 21982849 . 498 chr22 21983464 21984505 . 891 chr22 21996096 21996323 . 721 chr22 21996684 21996796 . 1000 chr22 22004734 22009010 . 546 chr22 22010296 22013520 . 457 chr22 22020266 22020948 . 846 chr22 22046509 22060116 . 298 chr22 22079431 22100078 . 293 chr22 22080193 22081145 . 491 chr22 22088813 22091105 . 471 chr22 22093784 22095185 . 389 chr22 22103688 22129118 . 284 chr22 22151630 22163383 . 279 chr22 22170523 22201957 . 287 chr22 22172749 22173368 . 512 chr22 22191517 22192444 . 491 chr22 22209484 22227169 . 326 chr22 22264055 22344964 . 312 chr22 22271999 22272146 . 914 chr22 22272214 22272317 . 1000 chr22 22272456 22272568 . 1000 chr22 22275213 22278033 . 700 chr22 22281323 22281707 . 679 chr22 22384793 22394870 . 280 chr22 22385307 22385416 . 1000 chr22 22670074 22672050 . 397 chr22 22813717 22814465 . 714 chr22 22814767 22815023 . 689 chr22 22839297 22844312 . 301 chr22 22862782 22862949 . 965 chr22 23371407 23376888 . 299 chr22 23411812 23471758 . 307 chr22 23481296 23649321 . 362 chr22 23559141 23559258 . 971 chr22 23576250 23576474 . 729 chr22 23580772 23590814 . 749 chr22 23593534 23594088 . 721 chr22 23602376 23602573 . 805 chr22 23602786 23602919 . 992 chr22 23604165 23604371 . 777 chr22 23609041 23609159 . 964 chr22 23609065 23609295 . 714 chr22 23610160 23610347 . 922 chr22 23736761 23747803 . 281 chr22 23874917 23875717 . 474 chr22 23878003 23878110 . 1000 chr22 23933375 23934521 . 396 chr22 24013062 24023096 . 300 chr22 24023478 24036105 . 300 chr22 24040000 24050797 . 302 chr22 24058895 24059952 . 806 chr22 24092450 24095447 . 515 chr22 24104778 24105792 . 487 chr22 24107257 24107992 . 480 chr22 24108999 24111054 . 403 chr22 24123456 24124481 . 400 chr22 24128298 24130301 . 1000 chr22 24131389 24132721 . 394 chr22 24134620 24135923 . 393 chr22 24142861 24144004 . 397 chr22 24144277 24145718 . 405 chr22 24158002 24159024 . 401 chr22 24161313 24193849 . 342 chr22 24163255 24163364 . 1000 chr22 24171193 24171627 . 675 chr22 24180903 24181326 . 909 chr22 24181665 24181773 . 1000 chr22 24188801 24188916 . 1000 chr22 24198925 24199032 . 1000 chr22 24199211 24199731 . 966 chr22 24199995 24200126 . 945 chr22 24200241 24200538 . 959 chr22 24215947 24224051 . 292 chr22 24234838 24239204 . 802 chr22 24240096 24240305 . 731 chr22 24255457 24256336 . 1000 chr22 24297002 24297140 . 963 chr22 24298777 24299006 . 887 chr22 24372408 24372642 . 938 chr22 24373074 24373466 . 1000 chr22 24373507 24373650 . 880 chr22 24383543 24384949 . 516 chr22 24398117 24592198 . 305 chr22 24498760 24498867 . 1000 chr22 24514393 24514522 . 897 chr22 24514407 24514932 . 706 chr22 24525425 24525644 . 706 chr22 24525979 24526108 . 957 chr22 24525985 24526201 . 713 chr22 24526792 24526900 . 1000 chr22 24585492 24585705 . 721 chr22 24666356 24668086 . 1000 chr22 24685989 24686791 . 483 chr22 24717757 24728383 . 297 chr22 24728411 24745114 . 347 chr22 24734250 24734432 . 814 chr22 24734683 24735506 . 769 chr22 24735643 24735754 . 1000 chr22 24754939 24755461 . 500 chr22 24755063 24756078 . 402 chr22 24757981 24758574 . 501 chr22 24758784 24759299 . 505 chr22 24781223 24850303 . 318 chr22 24861766 24862288 . 515 chr22 24889709 24923347 . 284 chr22 24934960 24999994 . 332 chr22 24950322 24950544 . 944 chr22 24950630 24951088 . 1000 chr22 24951213 24952731 . 1000 chr22 24988551 24988808 . 687 chr22 24989299 24989460 . 946 chr22 25079483 25098398 . 370 chr22 25084127 25084394 . 727 chr22 25086731 25087192 . 747 chr22 25102150 25102697 . 514 chr22 25120458 25130276 . 296 chr22 25153765 25154809 . 403 chr22 25157628 25159014 . 386 chr22 25195835 25240004 . 288 chr22 25231160 25231322 . 990 chr22 25231410 25231559 . 1000 chr22 25258005 25268039 . 300 chr22 25290413 25291481 . 500 chr22 25321347 25322611 . 554 chr22 25334390 25572903 . 321 chr22 25363082 25363186 . 1000 chr22 25363467 25363614 . 1000 chr22 25363918 25364869 . 811 chr22 25365804 25366451 . 678 chr22 25372062 25372270 . 809 chr22 25373638 25373754 . 978 chr22 25378329 25378556 . 756 chr22 25390676 25390990 . 693 chr22 25391320 25393626 . 581 chr22 25391733 25391848 . 985 chr22 25392147 25392376 . 921 chr22 25392378 25392599 . 842 chr22 25392844 25393173 . 859 chr22 25402503 25402803 . 951 chr22 25402905 25403187 . 973 chr22 25505988 25507808 . 784 chr22 25511156 25511361 . 742 chr22 25539035 25539307 . 688 chr22 25556519 25556722 . 748 chr22 25586369 25600591 . 297 chr22 25747992 25809688 . 314 chr22 25757940 25758053 . 1000 chr22 25775871 25776024 . 936 chr22 25781750 25783611 . 674 chr22 25782162 25782283 . 945 chr22 25782479 25783323 . 966 chr22 25833402 25834434 . 489 chr22 25843463 25844543 . 497 chr22 25873656 25873757 . 1000 chr22 25886366 25895154 . 298 chr22 25903856 25904049 . 858 chr22 25910192 25910837 . 498 chr22 25939721 25946584 . 300 chr22 25959915 25969748 . 297 chr22 25960598 25960846 . 706 chr22 26015702 26015948 . 964 chr22 26022735 26028532 . 306 chr22 26036825 26037863 . 397 chr22 26041021 26041646 . 459 chr22 26071085 26101031 . 292 chr22 26104812 26128110 . 276 chr22 26170155 26171805 . 385 chr22 26199126 26205787 . 293 chr22 26234468 26246280 . 281 chr22 26286257 26286773 . 504 chr22 26291290 26296301 . 301 chr22 26299039 26299255 . 749 chr22 26323899 26324198 . 954 chr22 26334631 26342884 . 289 chr22 26353852 26377649 . 303 chr22 26366117 26368088 . 571 chr22 26368348 26368464 . 1000 chr22 26427494 26436110 . 291 chr22 26458211 26467977 . 295 chr22 26497096 26502508 . 300 chr22 26621689 26629535 . 296 chr22 26634220 26645457 . 280 chr22 26667695 26676668 . 292 chr22 26689733 26692573 . 375 chr22 26717309 26717516 . 737 chr22 26723456 26723660 . 745 chr22 26747023 26761397 . 274 chr22 26770351 26780934 . 282 chr22 26800673 26802117 . 377 chr22 26824052 26825084 . 399 chr22 26824530 26825134 . 469 chr22 26833084 26834148 . 399 chr22 26834948 26851016 . 314 chr22 26855660 26863945 . 295 chr22 26876652 26882077 . 596 chr22 26889308 26890619 . 392 chr22 26897783 26900455 . 417 chr22 26899323 26899431 . 1000 chr22 26899446 26899555 . 1000 chr22 26907519 26909390 . 668 chr22 26922592 26990700 . 377 chr22 26945067 26945233 . 1000 chr22 26948474 26948685 . 726 chr22 26962653 26966998 . 753 chr22 26975185 26975303 . 964 chr22 26975484 26975688 . 745 chr22 26976752 26976865 . 1000 chr22 26977035 26977231 . 967 chr22 26996494 27022403 . 282 chr22 27027359 27090433 . 400 chr22 27095171 27095287 . 978 chr22 27102635 27121337 . 297 chr22 27125158 27131927 . 302 chr22 27138668 27153935 . 339 chr22 27171399 27214448 . 291 chr22 27210798 27215881 . 301 chr22 27278837 27309132 . 277 chr22 27341369 27359713 . 279 chr22 27395737 27410591 . 303 chr22 27422278 27422432 . 880 chr22 27449391 27470234 . 282 chr22 27474870 27516049 . 280 chr22 27528441 27549365 . 281 chr22 27595766 27605119 . 297 chr22 27635088 27635642 . 496 chr22 27651302 27669294 . 278 chr22 27706666 27712045 . 298 chr22 27718359 27734120 . 280 chr22 27748784 27748907 . 932 chr22 27768324 27769425 . 399 chr22 27774641 27775655 . 403 chr22 27800922 27818350 . 305 chr22 27832252 27832768 . 504 chr22 27832592 27832745 . 885 chr22 27841369 27851314 . 296 chr22 27856298 27859339 . 446 chr22 27874412 27880124 . 299 chr22 27887733 27898616 . 279 chr22 27925013 27940197 . 278 chr22 27946261 27947262 . 406 chr22 27951881 27953549 . 373 chr22 27956444 27957479 . 398 chr22 27966561 27976681 . 281 chr22 27978190 27995497 . 277 chr22 27995753 28043530 . 290 chr22 28055522 28190000 . 318 chr22 28065715 28065945 . 917 chr22 28066838 28067717 . 1000 chr22 28077485 28077599 . 992 chr22 28124871 28125340 . 704 chr22 28125541 28125660 . 1000 chr22 28145080 28145217 . 1000 chr22 28157015 28157219 . 745 chr22 28195061 28208496 . 284 chr22 28214472 28304615 . 314 chr22 28313796 28317074 . 567 chr22 28326587 28326880 . 943 chr22 28352507 28433142 . 303 chr22 28441564 28448575 . 291 chr22 28465612 28477064 . 278 chr22 28496349 28513667 . 296 chr22 28524971 28526048 . 490 chr22 28530342 28539768 . 297 chr22 28583446 28584048 . 509 chr22 28711250 28716270 . 301 chr22 28711897 28712059 . 845 chr22 28772743 28772983 . 724 chr22 28837663 28839652 . 399 chr22 28865062 28865202 . 896 chr22 28961875 28962419 . 502 chr22 28978240 28979349 . 397 chr22 29025504 29026881 . 478 chr22 29125712 29143485 . 349 chr22 29130531 29130743 . 760 chr22 29137433 29137759 . 961 chr22 29137906 29138669 . 928 chr22 29138891 29139087 . 808 chr22 29155811 29157036 . 1000 chr22 29157461 29157684 . 731 chr22 29157564 29157691 . 908 chr22 29168597 29169051 . 1000 chr22 29169288 29169494 . 739 chr22 29183976 29201905 . 379 chr22 29188743 29188976 . 741 chr22 29194414 29197937 . 780 chr22 29214039 29219625 . 300 chr22 29225002 29226308 . 381 chr22 29227004 29228221 . 383 chr22 29269285 29462725 . 340 chr22 29278667 29279305 . 856 chr22 29279866 29280094 . 753 chr22 29288168 29288349 . 904 chr22 29291091 29291321 . 680 chr22 29292365 29294136 . 682 chr22 29301822 29301927 . 1000 chr22 29331438 29331601 . 889 chr22 29335961 29336189 . 753 chr22 29379222 29379391 . 910 chr22 29379443 29379671 . 890 chr22 29383903 29387116 . 693 chr22 29391570 29391756 . 884 chr22 29393498 29393604 . 1000 chr22 29394799 29394996 . 805 chr22 29395381 29396197 . 860 chr22 29396491 29396917 . 1000 chr22 29450258 29450477 . 706 chr22 29492163 29493310 . 389 chr22 29497612 29498670 . 393 chr22 29507731 29513245 . 302 chr22 29527184 29558521 . 299 chr22 29586000 29586201 . 754 chr22 29590998 29591822 . 475 chr22 29594964 29618109 . 309 chr22 29646300 29715631 . 404 chr22 29653731 29653964 . 674 chr22 29661374 29667114 . 1000 chr22 29706362 29706464 . 1000 chr22 29706830 29706946 . 978 chr22 29717326 29757795 . 291 chr22 29762117 29786218 . 283 chr22 29865998 29866506 . 525 chr22 29873088 29878165 . 301 chr22 29877146 29877655 . 524 chr22 29899678 29900373 . 464 chr22 29916853 29918071 . 390 chr22 29949144 29949668 . 767 chr22 29949678 29950462 . 838 chr22 29966221 29967734 . 383 chr22 29974535 29975156 . 461 chr22 29975464 29977501 . 1000 chr22 29999004 29999184 . 865 chr22 29999545 30000234 . 839 chr22 30011779 30038456 . 297 chr22 30047323 30047991 . 487 chr22 30053783 30054464 . 492 chr22 30063018 30115200 . 293 chr22 30129698 30130287 . 503 chr22 30130844 30132162 . 391 chr22 30142572 30143760 . 395 chr22 30161653 30165107 . 842 chr22 30176843 30177356 . 506 chr22 30186846 30204728 . 319 chr22 30195181 30195597 . 678 chr22 30197496 30197596 . 1000 chr22 30199765 30199988 . 766 chr22 30208809 30215795 . 291 chr22 30219513 30244434 . 278 chr22 30267425 30269448 . 392 chr22 30279135 30279542 . 995 chr22 30300068 30322249 . 285 chr22 30339090 30347178 . 292 chr22 30370000 30371004 . 405 chr22 30374622 30444811 . 293 chr22 30470272 30478572 . 287 chr22 30582017 30667997 . 295 chr22 30670403 30731753 . 302 chr22 30685962 30686086 . 989 chr22 30723333 30723435 . 1000 chr22 30746777 30778155 . 378 chr22 30751688 30753801 . 1000 chr22 30764409 30764604 . 811 chr22 30769892 30770130 . 991 chr22 30770305 30770451 . 866 chr22 30771471 30771686 . 716 chr22 30782371 30784117 . 409 chr22 30788408 30789959 . 388 chr22 30798329 30798442 . 1000 chr22 30813359 30833891 . 395 chr22 30817650 30820813 . 854 chr22 30821782 30822042 . 921 chr22 30851619 30880617 . 276 chr22 30880932 30894801 . 275 chr22 30947649 30973416 . 300 chr22 30976337 30993157 . 364 chr22 31000549 31006906 . 605 chr22 31030276 31071819 . 285 chr22 31031677 31031888 . 763 chr22 31051447 31052860 . 481 chr22 31063305 31063416 . 1000 chr22 31064026 31064260 . 738 chr22 31089833 31100306 . 282 chr22 31090192 31090706 . 687 chr22 31116187 31116842 . 481 chr22 31140079 31140183 . 1000 chr22 31148996 31150385 . 391 chr22 31164674 31174492 . 295 chr22 31174234 31174440 . 739 chr22 31174334 31174452 . 964 chr22 31222730 31231098 . 289 chr22 31249831 31295983 . 291 chr22 31321674 31322177 . 513 chr22 31327016 31329035 . 396 chr22 31338535 31351926 . 305 chr22 31359375 31373925 . 458 chr22 31415587 31416765 . 397 chr22 31471912 31490026 . 426 chr22 31476595 31477481 . 1000 chr22 31479887 31482421 . 907 chr22 31484681 31485038 . 652 chr22 31497835 31504888 . 307 chr22 31509386 31546907 . 310 chr22 31556326 31556574 . 989 chr22 31565879 31576116 . 282 chr22 31607825 31609288 . 689 chr22 31620927 31632143 . 296 chr22 31633249 31659062 . 346 chr22 31659552 31690628 . 326 chr22 31662290 31662505 . 716 chr22 31665584 31667385 . 574 chr22 31668558 31668784 . 689 chr22 31668909 31669133 . 729 chr22 31680458 31680585 . 908 chr22 31688081 31688302 . 736 chr22 31709446 31710064 . 1000 chr22 31716283 31748626 . 526 chr22 31731030 31731135 . 1000 chr22 31733343 31733450 . 1000 chr22 31734585 31744649 . 981 chr22 31794250 31797232 . 593 chr22 31826838 31850982 . 289 chr22 31837644 31837765 . 945 chr22 31839095 31839391 . 672 chr22 31881216 31893380 . 328 chr22 31891841 31893064 . 491 chr22 31928178 31929197 . 401 chr22 31999304 32034845 . 367 chr22 32013865 32014008 . 880 chr22 32015552 32015660 . 1000 chr22 32042250 32042397 . 914 chr22 32042253 32042868 . 539 chr22 32043872 32043973 . 1000 chr22 32057123 32059174 . 848 chr22 32077721 32079965 . 384 chr22 32105792 32114116 . 303 chr22 32118732 32160250 . 358 chr22 32142844 32147338 . 734 chr22 32147936 32151582 . 670 chr22 32175384 32176627 . 385 chr22 32213872 32219027 . 302 chr22 32220991 32226807 . 299 chr22 32236153 32243042 . 310 chr22 32253139 32254198 . 415 chr22 32258326 32271196 . 319 chr22 32261854 32261968 . 992 chr22 32263153 32263560 . 651 chr22 32277891 32303383 . 285 chr22 32307963 32308163 . 756 chr22 32320115 32370525 . 344 chr22 32338806 32343652 . 735 chr22 32356391 32356502 . 1000 chr22 32711252 32742155 . 313 chr22 32750256 32751029 . 474 chr22 32790604 32791782 . 390 chr22 32807281 32808598 . 592 chr22 32870614 32871213 . 757 chr22 32871436 32871541 . 1000 chr22 32898557 32898696 . 845 chr22 32927854 32928680 . 880 chr22 33007715 33028950 . 300 chr22 33136906 33150298 . 274 chr22 33160304 33160804 . 515 chr22 33194233 33203204 . 297 chr22 33203701 33217102 . 297 chr22 33221753 33235799 . 302 chr22 33247738 33249086 . 380 chr22 33269727 33281483 . 280 chr22 33286852 33291977 . 300 chr22 33289876 33317190 . 278 chr22 33345639 33346793 . 402 chr22 33353902 33354538 . 478 chr22 33359386 33368660 . 296 chr22 33376932 33399196 . 313 chr22 33390507 33390614 . 1000 chr22 33390821 33391028 . 737 chr22 33411707 33468426 . 309 chr22 33518529 33518729 . 1000 chr22 33605107 34418634 . 289 chr22 34221739 34221871 . 939 chr22 34233643 34234198 . 677 chr22 34235264 34235490 . 827 chr22 34240186 34240602 . 697 chr22 34242621 34250761 . 743 chr22 34256502 34256936 . 693 chr22 34257137 34257457 . 683 chr22 34279325 34279532 . 737 chr22 34280120 34280416 . 962 chr22 34291182 34294692 . 847 chr22 34294963 34295071 . 1000 chr22 34295877 34295987 . 1000 chr22 34296337 34296439 . 1000 chr22 34297132 34297232 . 1000 chr22 34298520 34298621 . 1000 chr22 34316213 34316359 . 973 chr22 34317540 34317847 . 680 chr22 34318151 34318836 . 820 chr22 34382782 34383290 . 510 chr22 34412022 34412182 . 805 chr22 34450188 34460926 . 279 chr22 35165347 35166396 . 395 chr22 35236571 35236790 . 919 chr22 35237049 35238437 . 1000 chr22 35346387 35347388 . 406 chr22 35368387 35370217 . 385 chr22 35409408 35420149 . 279 chr22 35427168 35452729 . 282 chr22 35461176 35471450 . 280 chr22 35523491 35556239 . 281 chr22 35568100 35568702 . 496 chr22 35619229 35630164 . 305 chr22 35652389 35655601 . 713 chr22 35658134 35658438 . 659 chr22 35690888 35719166 . 324 chr22 35695348 35695518 . 905 chr22 35695881 35696185 . 915 chr22 35696329 35696773 . 716 chr22 35726298 35756818 . 314 chr22 35751724 35752003 . 647 chr22 35752458 35752596 . 906 chr22 35765222 35765928 . 459 chr22 35765234 35766428 . 394 chr22 35768042 35768546 . 744 chr22 35768476 35768577 . 1000 chr22 35771680 35775684 . 731 chr22 35777191 35777414 . 696 chr22 35785866 35834644 . 392 chr22 35794791 35798129 . 1000 chr22 35795128 35796884 . 1000 chr22 35797120 35797227 . 1000 chr22 35798826 35799043 . 818 chr22 35804481 35804600 . 1000 chr22 35808002 35808145 . 1000 chr22 35838272 35850507 . 301 chr22 35863525 35864419 . 503 chr22 35866533 35866754 . 736 chr22 35876294 35877466 . 385 chr22 35906452 35907768 . 391 chr22 35913486 35914649 . 407 chr22 35922335 35967725 . 292 chr22 35983728 35991867 . 292 chr22 35992650 36005763 . 300 chr22 36008659 36034624 . 307 chr22 36038249 36039255 . 412 chr22 36044401 36045203 . 512 chr22 36070555 36071631 . 498 chr22 36073670 36074268 . 472 chr22 36126739 36153068 . 328 chr22 36142407 36142618 . 726 chr22 36143302 36143405 . 1000 chr22 36144773 36145158 . 698 chr22 36145867 36146073 . 853 chr22 36162618 36163458 . 478 chr22 36175429 36184279 . 295 chr22 36210662 36217276 . 299 chr22 36222494 36244094 . 354 chr22 36230090 36233987 . 544 chr22 36235182 36236727 . 510 chr22 36238787 36239837 . 521 chr22 36251183 36257255 . 294 chr22 36260693 36267837 . 294 chr22 36274467 36284348 . 296 chr22 36292363 36292879 . 504 chr22 36296370 36297389 . 401 chr22 36299231 36300583 . 380 chr22 36305639 36322743 . 366 chr22 36327076 36335877 . 297 chr22 36344776 36436523 . 316 chr22 36448359 36448908 . 513 chr22 36461350 36462578 . 788 chr22 36506365 36506941 . 483 chr22 36525604 36526716 . 396 chr22 36539767 36540805 . 405 chr22 36542999 36544352 . 374 chr22 36552248 36553425 . 490 chr22 36573444 36573561 . 1000 chr22 36583601 36599365 . 312 chr22 36606046 36613027 . 294 chr22 36624794 36629980 . 303 chr22 36634533 36636541 . 576 chr22 36634997 36635114 . 1000 chr22 36635121 36635354 . 908 chr22 36635547 36635691 . 984 chr22 36635965 36636199 . 938 chr22 36654283 36656253 . 623 chr22 36671682 36793888 . 467 chr22 36717414 36734209 . 885 chr22 36750594 36772325 . 639 chr22 36775593 36775790 . 884 chr22 36779281 36779493 . 760 chr22 36780783 36783110 . 895 chr22 36783754 36784082 . 980 chr22 36791287 36791536 . 704 chr22 36805253 36805471 . 887 chr22 36805738 36807221 . 1000 chr22 36815295 36815955 . 455 chr22 36828028 36830035 . 393 chr22 36832286 36832517 . 712 chr22 36845262 36845768 . 511 chr22 36845953 36871172 . 353 chr22 36850628 36851983 . 1000 chr22 36853883 36854482 . 692 chr22 36855433 36856109 . 818 chr22 36866108 36866210 . 1000 chr22 36866301 36866414 . 1000 chr22 36877246 36878108 . 949 chr22 36878018 36878131 . 1000 chr22 36902893 36903209 . 936 chr22 36906545 36908579 . 398 chr22 36924183 36926478 . 885 chr22 36931280 36939678 . 295 chr22 36939757 36948527 . 304 chr22 36950069 36963914 . 323 chr22 36972587 36987046 . 300 chr22 36982117 36982239 . 938 chr22 36982167 36982378 . 726 chr22 37000220 37014616 . 324 chr22 37005212 37005427 . 969 chr22 37005671 37006190 . 698 chr22 37009987 37010194 . 737 chr22 37024321 37038743 . 319 chr22 37051072 37065324 . 278 chr22 37082778 37083320 . 488 chr22 37082819 37083820 . 406 chr22 37092543 37093622 . 410 chr22 37151325 37173660 . 289 chr22 37193528 37193757 . 682 chr22 37213819 37225459 . 303 chr22 37245098 37261604 . 281 chr22 37267552 37268189 . 453 chr22 37296139 37298199 . 603 chr22 37314205 37341734 . 282 chr22 37317827 37318393 . 530 chr22 37318227 37318396 . 910 chr22 37401741 37407402 . 301 chr22 37410136 37431624 . 339 chr22 37442226 37443465 . 386 chr22 37447713 37448383 . 474 chr22 37499837 37527204 . 279 chr22 37562246 37563649 . 394 chr22 37568409 37578606 . 301 chr22 37583311 37585772 . 628 chr22 37593444 37593627 . 768 chr22 37593514 37593716 . 751 chr22 37594947 37595486 . 750 chr22 37595664 37595972 . 678 chr22 37604392 37611570 . 300 chr22 37617089 37646538 . 282 chr22 37650635 37666126 . 280 chr22 37673840 37685252 . 298 chr22 37697914 37717681 . 310 chr22 37725557 37726569 . 403 chr22 37753447 37766078 . 300 chr22 37767822 37776647 . 298 chr22 37777746 37787557 . 299 chr22 37788593 37807679 . 295 chr22 37811857 37818634 . 297 chr22 37875816 37885354 . 295 chr22 37893419 37909292 . 303 chr22 37941218 37943259 . 634 chr22 37941615 37941849 . 938 chr22 37941983 37942099 . 978 chr22 37942177 37942952 . 816 chr22 37948244 37949307 . 414 chr22 37949028 37949130 . 1000 chr22 37954430 37968905 . 320 chr22 37997310 37997744 . 693 chr22 37997949 37998341 . 629 chr22 38002413 38006596 . 710 chr22 38014359 38042118 . 316 chr22 38019361 38019493 . 1000 chr22 38029304 38031019 . 563 chr22 38053326 38056059 . 434 chr22 38056575 38057651 . 404 chr22 38081802 38083448 . 849 chr22 38084212 38085406 . 387 chr22 38093105 38093387 . 946 chr22 38093441 38093679 . 958 chr22 38106164 38107434 . 387 chr22 38141343 38144070 . 526 chr22 38142328 38142815 . 1000 chr22 38142996 38143099 . 1000 chr22 38166759 38176433 . 304 chr22 38199501 38202065 . 579 chr22 38203454 38204311 . 518 chr22 38213507 38215259 . 568 chr22 38231492 38269420 . 328 chr22 38239956 38240322 . 938 chr22 38243808 38246918 . 781 chr22 38248451 38248995 . 516 chr22 38259325 38259427 . 1000 chr22 38259367 38259770 . 694 chr22 38276129 38402207 . 308 chr22 38290571 38290799 . 719 chr22 38290939 38291772 . 846 chr22 38292310 38292428 . 1000 chr22 38292575 38292710 . 1000 chr22 38294088 38294301 . 904 chr22 38294860 38295234 . 693 chr22 38309655 38309765 . 1000 chr22 38411822 38441097 . 312 chr22 38447846 38448885 . 397 chr22 38452014 38455034 . 758 chr22 38464122 38464781 . 479 chr22 38465822 38466325 . 513 chr22 38493058 38494295 . 500 chr22 38501646 38511638 . 298 chr22 38515065 38515720 . 469 chr22 38521967 38522971 . 405 chr22 38541547 38541751 . 783 chr22 38544177 38544834 . 469 chr22 38554077 38588110 . 341 chr22 38576528 38577910 . 1000 chr22 38578010 38578364 . 964 chr22 38588318 38756907 . 361 chr22 38624851 38625035 . 850 chr22 38636595 38637443 . 806 chr22 38776145 38804522 . 340 chr22 38811089 38829303 . 304 chr22 38839162 38840165 . 405 chr22 38856325 38857589 . 382 chr22 38870568 38870802 . 905 chr22 38872867 38914751 . 465 chr22 38877220 38877471 . 700 chr22 38882078 38882283 . 742 chr22 38899794 38904002 . 1000 chr22 38964844 38968008 . 726 chr22 39004996 39005652 . 457 chr22 39005090 39015171 . 283 chr22 39051668 39053281 . 1000 chr22 39077734 39078540 . 1000 chr22 39088597 39141542 . 395 chr22 39095824 39098129 . 1000 chr22 39099753 39103529 . 952 chr22 39104572 39104773 . 754 chr22 39147424 39155383 . 289 chr22 39161673 39200095 . 284 chr22 39161814 39162017 . 748 chr22 39210475 39236756 . 285 chr22 39255285 39256753 . 395 chr22 39258647 39262190 . 524 chr22 39263487 39266217 . 415 chr22 39266723 39270035 . 534 chr22 39342485 39344131 . 380 chr22 39359035 39368318 . 292 chr22 39377252 39378905 . 606 chr22 39377652 39378008 . 1000 chr22 39378135 39378431 . 856 chr22 39381369 39381480 . 1000 chr22 39393239 39393777 . 505 chr22 39405593 39420200 . 345 chr22 39410201 39410435 . 938 chr22 39413332 39415062 . 708 chr22 39427767 39428577 . 855 chr22 39435984 39438189 . 426 chr22 39448121 39448985 . 470 chr22 39480622 39481223 . 483 chr22 39483986 39484627 . 512 chr22 39493369 39493587 . 708 chr22 39494112 39494307 . 851 chr22 39527170 39527732 . 491 chr22 39532507 39532688 . 861 chr22 39535832 39551084 . 382 chr22 39541229 39541446 . 854 chr22 39541454 39541676 . 944 chr22 39541902 39542124 . 839 chr22 39542138 39542292 . 1000 chr22 39543747 39546535 . 586 chr22 39566744 39577693 . 793 chr22 39580388 39580588 . 756 chr22 39593987 39640326 . 319 chr22 39609602 39609745 . 935 chr22 39609633 39611279 . 911 chr22 39611749 39611936 . 922 chr22 39645228 39651251 . 303 chr22 39666357 39726316 . 390 chr22 39738755 39785227 . 294 chr22 39747505 39747752 . 708 chr22 39747827 39748250 . 669 chr22 39756772 39757287 . 671 chr22 39795056 39796716 . 646 chr22 39819038 39835155 . 367 chr22 39822636 39822888 . 698 chr22 39823838 39824598 . 756 chr22 39824754 39825511 . 831 chr22 39825797 39825897 . 1000 chr22 39825828 39826047 . 777 chr22 39837193 39855079 . 306 chr22 39841390 39841491 . 1000 chr22 39843844 39844015 . 764 chr22 39843855 39844076 . 701 chr22 39843906 39844443 . 520 chr22 39866075 39868109 . 398 chr22 39869947 39872071 . 396 chr22 39897505 39899510 . 394 chr22 39905835 39940529 . 433 chr22 39914891 39918144 . 1000 chr22 39918960 39919060 . 1000 chr22 39919224 39919481 . 748 chr22 39928154 39928872 . 964 chr22 40014016 40014249 . 707 chr22 40019808 40020326 . 503 chr22 40026756 40032267 . 301 chr22 40046566 40055579 . 299 chr22 40056424 40066274 . 299 chr22 40125156 40135158 . 281 chr22 40300716 40348180 . 281 chr22 40352699 40374280 . 280 chr22 40383148 40460543 . 331 chr22 40397914 40398203 . 873 chr22 40402443 40402552 . 1000 chr22 40416127 40416327 . 756 chr22 40420370 40420575 . 742 chr22 40424068 40424281 . 721 chr22 40438788 40442703 . 783 chr22 40480482 40480888 . 652 chr22 40497273 40507420 . 281 chr22 40497350 40498461 . 404 chr22 40514055 40521890 . 291 chr22 40562698 40695511 . 338 chr22 40571071 40577679 . 778 chr22 40587861 40591908 . 646 chr22 40605254 40605742 . 683 chr22 40621239 40621444 . 742 chr22 40701031 40701148 . 1000 chr22 40701403 40701557 . 830 chr22 40707910 40709077 . 386 chr22 40714999 40733272 . 346 chr22 40720492 40720630 . 963 chr22 40728376 40728558 . 771 chr22 40728395 40728649 . 663 chr22 40741164 40744626 . 561 chr22 40757021 40771858 . 312 chr22 40766554 40766737 . 938 chr22 40766737 40766976 . 954 chr22 40783594 40785361 . 388 chr22 40788053 40839040 . 325 chr22 40842571 40843573 . 405 chr22 40845847 40846059 . 723 chr22 40867538 40868552 . 403 chr22 40879822 40885749 . 294 chr22 40895022 40895667 . 462 chr22 40904912 40907873 . 419 chr22 40929503 40930214 . 512 chr22 40930679 40930782 . 1000 chr22 40930906 40931154 . 989 chr22 40937317 40937582 . 701 chr22 40947824 40957958 . 280 chr22 40973876 40985185 . 280 chr22 40982531 40984086 . 383 chr22 40988224 41012502 . 286 chr22 41023921 41025117 . 394 chr22 41032009 41033570 . 521 chr22 41032405 41032648 . 1000 chr22 41032985 41033111 . 976 chr22 41047571 41048844 . 552 chr22 41050764 41050982 . 708 chr22 41060580 41091330 . 305 chr22 41065012 41065231 . 706 chr22 41079287 41079402 . 985 chr22 41080764 41081321 . 732 chr22 41096170 41133855 . 300 chr22 41107563 41108124 . 478 chr22 41110106 41111152 . 902 chr22 41123045 41124079 . 496 chr22 41128703 41128905 . 751 chr22 41177720 41178800 . 417 chr22 41178693 41178809 . 978 chr22 41191979 41203401 . 280 chr22 41204733 41238221 . 297 chr22 41207644 41207755 . 1000 chr22 41213924 41214025 . 1000 chr22 41214703 41215850 . 770 chr22 41225247 41225378 . 886 chr22 41240077 41266905 . 409 chr22 41304346 41305495 . 389 chr22 41345822 41349413 . 671 chr22 41416275 41420041 . 838 chr22 41445038 41445730 . 499 chr22 41482102 41500159 . 520 chr22 41510413 41512311 . 390 chr22 41550558 41560305 . 299 chr22 41564267 41583039 . 313 chr22 41577907 41578052 . 871 chr22 41581125 41581356 . 880 chr22 41587948 41588171 . 696 chr22 41601141 41601951 . 1000 chr22 41608460 41624807 . 308 chr22 41628410 41672106 . 319 chr22 41633804 41633904 . 1000 chr22 41633854 41634057 . 748 chr22 41634100 41634676 . 673 chr22 41641877 41642083 . 739 chr22 41651117 41651325 . 734 chr22 41666673 41666798 . 982 chr22 41676160 41677020 . 480 chr22 41677094 41677684 . 476 chr22 41681009 41683403 . 719 chr22 41684178 41684815 . 637 chr22 41685793 41686055 . 678 chr22 41686474 41686809 . 1000 chr22 41687145 41687266 . 1000 chr22 41697365 41699568 . 409 chr22 41703833 41704922 . 422 chr22 41714581 41769304 . 322 chr22 41719581 41719783 . 751 chr22 41734716 41735049 . 687 chr22 41755681 41755904 . 871 chr22 41756185 41756748 . 739 chr22 41776329 41778603 . 929 chr22 41793500 41795481 . 381 chr22 41808772 41808971 . 955 chr22 41809413 41809873 . 1000 chr22 41809999 41810354 . 918 chr22 41810459 41810594 . 922 chr22 41826642 41849709 . 539 chr22 41858910 41890653 . 460 chr22 41862825 41866657 . 1000 chr22 41869802 41870028 . 758 chr22 41874573 41879677 . 563 chr22 41883962 41884853 . 513 chr22 41895419 41934216 . 362 chr22 41919650 41919767 . 1000 chr22 41920826 41920948 . 938 chr22 41920833 41921084 . 731 chr22 41939889 41940580 . 916 chr22 41953007 41954283 . 392 chr22 41956946 41957684 . 510 chr22 41970838 41971072 . 871 chr22 41972419 41974955 . 396 chr22 41985354 41985658 . 685 chr22 41986136 41986368 . 911 chr22 42015178 42019196 . 1000 chr22 42051295 42096838 . 312 chr22 42061101 42061632 . 510 chr22 42062818 42063249 . 1000 chr22 42063380 42063564 . 765 chr22 42063402 42063836 . 693 chr22 42077955 42078989 . 865 chr22 42084400 42085223 . 835 chr22 42093641 42093748 . 1000 chr22 42093645 42093848 . 786 chr22 42147119 42147277 . 862 chr22 42194818 42198054 . 613 chr22 42204315 42205964 . 380 chr22 42213648 42247901 . 431 chr22 42222190 42222409 . 741 chr22 42226902 42231180 . 939 chr22 42232319 42232630 . 949 chr22 42232738 42232868 . 951 chr22 42234920 42235107 . 839 chr22 42236336 42236549 . 721 chr22 42236990 42237227 . 665 chr22 42239359 42239583 . 694 chr22 42240297 42240818 . 696 chr22 42241588 42241689 . 1000 chr22 42242118 42242326 . 921 chr22 42242721 42242946 . 934 chr22 42243226 42243372 . 919 chr22 42252378 42253479 . 406 chr22 42257722 42259966 . 408 chr22 42261093 42263661 . 394 chr22 42270167 42280189 . 300 chr22 42284776 42305800 . 301 chr22 42329048 42330055 . 404 chr22 42329548 42330110 . 491 chr22 42332217 42348186 . 363 chr22 42357201 42375102 . 276 chr22 42371079 42377969 . 292 chr22 42393212 42394219 . 404 chr22 42452385 42481027 . 373 chr22 42461221 42461345 . 989 chr22 42461765 42461866 . 1000 chr22 42466160 42466622 . 729 chr22 42466728 42467374 . 920 chr22 42470293 42470509 . 713 chr22 42474303 42476737 . 921 chr22 42474703 42474811 . 1000 chr22 42475072 42476249 . 1000 chr22 42485751 42487501 . 991 chr22 42542842 42635829 . 295 chr22 42656137 42789282 . 306 chr22 42688486 42688741 . 722 chr22 42689360 42689659 . 745 chr22 42792610 42819305 . 290 chr22 42795828 42796064 . 733 chr22 42808410 42809208 . 748 chr22 42820312 42847283 . 286 chr22 42868566 42869771 . 385 chr22 42894888 42896058 . 532 chr22 42908584 42909018 . 693 chr22 42915319 42915528 . 769 chr22 42915644 42915857 . 904 chr22 42966353 42966968 . 476 chr22 42977780 42978100 . 1000 chr22 43003682 43029076 . 448 chr22 43008333 43012683 . 1000 chr22 43017284 43017525 . 657 chr22 43017376 43017535 . 809 chr22 43038792 43040919 . 472 chr22 43044598 43046360 . 636 chr22 43087604 43100707 . 317 chr22 43122725 43122857 . 880 chr22 43155208 43155376 . 1000 chr22 43179080 43219326 . 289 chr22 43252255 43254086 . 381 chr22 43263491 43263721 . 850 chr22 43264639 43265150 . 508 chr22 43266919 43267530 . 491 chr22 43273550 43274491 . 454 chr22 43276674 43279961 . 428 chr22 43282618 43284779 . 410 chr22 43288003 43288831 . 492 chr22 43290725 43292199 . 479 chr22 43295409 43295985 . 470 chr22 43296995 43297497 . 514 chr22 43299183 43299688 . 512 chr22 43300023 43300675 . 459 chr22 43301448 43302809 . 395 chr22 43310663 43314134 . 491 chr22 43318814 43318990 . 836 chr22 43321959 43322961 . 405 chr22 43327148 43327528 . 664 chr22 43330295 43330824 . 511 chr22 43333585 43333782 . 963 chr22 43334708 43335376 . 487 chr22 43335463 43335977 . 506 chr22 43341314 43344547 . 418 chr22 43347838 43348103 . 672 chr22 43354865 43357322 . 413 chr22 43360673 43361341 . 475 chr22 43368667 43369811 . 404 chr22 43373849 43374956 . 397 chr22 43377260 43416030 . 325 chr22 43380560 43380806 . 679 chr22 43386327 43386446 . 1000 chr22 43403895 43404013 . 1000 chr22 43438160 43438957 . 485 chr22 43439593 43440397 . 482 chr22 43446842 43448161 . 391 chr22 43484893 43485174 . 921 chr22 43491571 43491772 . 754 chr22 43513102 43535149 . 287 chr22 43536865 43733213 . 300 chr22 43582765 43583135 . 1000 chr22 43583789 43584033 . 1000 chr22 43779591 43801567 . 279 chr22 43820196 43827102 . 291 chr22 43829170 43839893 . 279 chr22 43871265 43882831 . 277 chr22 43879812 43881288 . 404 chr22 43928975 43940640 . 278 chr22 43933832 43940863 . 291 chr22 43957494 43977003 . 279 chr22 43994529 44006362 . 279 chr22 44022222 44028244 . 298 chr22 44131015 44141559 . 300 chr22 44142540 44152122 . 295 chr22 44163380 44173528 . 281 chr22 44169811 44171284 . 378 chr22 44185266 44192575 . 303 chr22 44198567 44266739 . 316 chr22 44208149 44209079 . 1000 chr22 44229486 44229603 . 971 chr22 44268223 44297204 . 291 chr22 44287666 44287910 . 715 chr22 44287844 44287947 . 1000 chr22 44314247 44335301 . 344 chr22 44319225 44319386 . 898 chr22 44319776 44320138 . 925 chr22 44320260 44320491 . 914 chr22 44320874 44321553 . 792 chr22 44321929 44322086 . 867 chr22 44340686 44342869 . 411 chr22 44350792 44351937 . 832 chr22 44383768 44397802 . 320 chr22 44425811 44431278 . 300 chr22 44457399 44513537 . 306 chr22 44494042 44494200 . 912 chr22 44503476 44503788 . 921 chr22 44504041 44504243 . 944 chr22 44526954 44596679 . 345 chr22 44540471 44546435 . 844 chr22 44568174 44568386 . 723 chr22 44648549 44768612 . 300 chr22 44785845 44793586 . 302 chr22 44798689 44808048 . 294 chr22 44816493 44822275 . 296 chr22 44816849 44827273 . 281 chr22 44830147 44838103 . 294 chr22 44846305 44846520 . 716 chr22 44887492 44888932 . 378 chr22 44892367 44894891 . 416 chr22 44933824 44934979 . 395 chr22 44961684 44980292 . 280 chr22 44981334 45025872 . 296 chr22 44992886 44993004 . 1000 chr22 44993010 44993110 . 1000 chr22 45013834 45014038 . 860 chr22 45015750 45015898 . 909 chr22 45016535 45016639 . 1000 chr22 45079505 45081539 . 398 chr22 45095161 45095817 . 505 chr22 45106322 45108337 . 396 chr22 45113625 45138809 . 314 chr22 45128587 45128833 . 679 chr22 45134100 45134301 . 754 chr22 45162280 45162403 . 932 chr22 45162948 45163215 . 697 chr22 45178221 45179719 . 385 chr22 45180420 45181520 . 392 chr22 45191778 45192344 . 723 chr22 45199022 45206039 . 295 chr22 45215340 45216704 . 372 chr22 45228495 45249686 . 301 chr22 45232469 45232710 . 689 chr22 45244676 45244901 . 726 chr22 45258911 45259914 . 413 chr22 45271131 45299423 . 292 chr22 45308713 45318080 . 299 chr22 45318921 45411379 . 389 chr22 45339109 45339214 . 1000 chr22 45397039 45397147 . 1000 chr22 45397395 45397501 . 1000 chr22 45403798 45403918 . 1000 chr22 45404051 45404438 . 857 chr22 45404478 45404676 . 959 chr22 45404849 45405819 . 823 chr22 45405961 45406409 . 1000 chr22 45419236 45433846 . 349 chr22 45419487 45419628 . 1000 chr22 45426996 45427612 . 767 chr22 45428150 45428775 . 795 chr22 45435961 45440970 . 301 chr22 45448148 45448410 . 678 chr22 45448854 45449006 . 941 chr22 45449388 45449693 . 1000 chr22 45466862 45467867 . 405 chr22 45467867 45470624 . 393 chr22 45541995 45641841 . 316 chr22 45558430 45558635 . 894 chr22 45558978 45560473 . 881 chr22 45560561 45560784 . 731 chr22 45663756 45665092 . 405 chr22 45664556 45664835 . 703 chr22 45686338 45686468 . 891 chr22 45694232 45695641 . 399 chr22 45700170 45720108 . 335 chr22 45704538 45706476 . 586 chr22 45713287 45714835 . 524 chr22 45726491 45727747 . 408 chr22 45727408 45727509 . 1000 chr22 45809604 45809705 . 1000 chr22 45865567 45866118 . 511 chr22 45888396 45956690 . 334 chr22 45897998 45898209 . 948 chr22 45898780 45899993 . 808 chr22 45900116 45901568 . 827 chr22 45910422 45910927 . 697 chr22 45912296 45912421 . 920 chr22 45913328 45913499 . 992 chr22 45917157 45917361 . 745 chr22 45921262 45921519 . 657 chr22 45934472 45934733 . 709 chr22 45974808 45990990 . 307 chr22 45992426 46003084 . 310 chr22 46024897 46026173 . 380 chr22 46027337 46027567 . 714 chr22 46035349 46037422 . 405 chr22 46062733 46092924 . 338 chr22 46067047 46069027 . 880 chr22 46079214 46079333 . 1000 chr22 46087797 46087982 . 930 chr22 46089722 46089934 . 723 chr22 46100878 46110893 . 299 chr22 46116443 46117484 . 404 chr22 46124984 46191701 . 307 chr22 46156003 46156273 . 865 chr22 46166550 46166685 . 1000 chr22 46203132 46203673 . 503 chr22 46209619 46219224 . 299 chr22 46225384 46246487 . 319 chr22 46256235 46256351 . 1000 chr22 46291222 46293661 . 393 chr22 46325775 46333159 . 301 chr22 46336163 46343350 . 292 chr22 46350484 46366735 . 302 chr22 46375226 46376020 . 486 chr22 46382865 46383866 . 406 chr22 46387626 46396403 . 294 chr22 46407822 46410882 . 493 chr22 46421990 46441523 . 320 chr22 46431359 46431527 . 961 chr22 46432048 46432261 . 867 chr22 46459880 46517995 . 311 chr22 46474222 46474427 . 818 chr22 46475017 46475325 . 703 chr22 46521167 46551705 . 275 chr22 46597192 46597305 . 1000 chr22 46668092 46702885 . 286 chr22 46731547 46732312 . 763 chr22 46732552 46732752 . 756 chr22 46732667 46732770 . 1000 chr22 46741093 46768625 . 314 chr22 46751649 46751875 . 896 chr22 46751915 46752096 . 732 chr22 46756234 46756443 . 731 chr22 46768865 46780947 . 331 chr22 46785715 46787943 . 392 chr22 46789694 46790810 . 389 chr22 46797966 46888125 . 299 chr22 46893505 46915963 . 341 chr22 46918312 46925208 . 295 chr22 46942789 46943812 . 401 chr22 46959599 46959817 . 815 chr22 46959938 46960157 . 741 chr22 46970979 46990811 . 305 chr22 47005159 47100482 . 300 chr22 47120587 47138699 . 302 chr22 47147951 47473713 . 306 chr22 47157462 47159623 . 944 chr22 47165500 47165703 . 748 chr22 47348738 47348940 . 751 chr22 47352776 47352995 . 706 chr22 47391395 47391783 . 654 chr22 47392162 47392418 . 659 chr22 47444067 47444317 . 671 chr22 47463708 47463809 . 1000 chr22 47482922 47492046 . 299 chr22 47497710 47499755 . 568 chr22 47503745 47513724 . 300 chr22 47519261 47520322 . 400 chr22 47523281 47537384 . 303 chr22 47541835 47564319 . 321 chr22 48073635 48074666 . 399 chr22 48143629 48145111 . 393 chr22 48155432 48164149 . 295 chr22 48168500 48178684 . 302 chr22 48197988 48214081 . 279 chr22 48232647 48233756 . 390 chr22 48440528 48441531 . 405 chr22 48456692 48486742 . 287 chr22 48601235 48615308 . 278 chr22 48617781 48625213 . 298 chr22 48650142 48655150 . 301 chr22 48657511 48662540 . 301 chr22 48725211 48732803 . 295 chr22 48743168 48750057 . 298 chr22 48763914 48767852 . 797 chr22 48792770 48794166 . 390 chr22 48818396 48826871 . 295 chr22 48871465 48872800 . 394 chr22 48881455 48965324 . 299 chr22 48967669 49123498 . 303 chr22 49023162 49023373 . 726 chr22 49029223 49029457 . 1000 chr22 49036033 49036150 . 971 chr22 49038472 49038715 . 685 chr22 49127834 49159718 . 291 chr22 49171118 49204757 . 287 chr22 49234591 49235898 . 399 chr22 49277378 49278497 . 388 chr22 49333820 49343344 . 298 chr22 49350390 49360810 . 280 chr22 49433488 49444980 . 277 chr22 49456636 49462001 . 301 chr22 49479676 49487960 . 298 chr22 49490559 49498690 . 297 chr22 49499320 49505311 . 298 chr22 49514770 49515281 . 508 chr22 49515359 49516056 . 474 chr22 49556730 49566946 . 281 chr22 49625848 49626357 . 509 chr22 49662255 49672892 . 283 chr22 49698702 49699847 . 403 chr22 49717004 49724575 . 288 chr22 49839643 49861996 . 279 chr22 49867864 49889021 . 278 chr22 49875027 49875232 . 742 chr22 49881682 49881943 . 709 chr22 49906310 49908249 . 506 chr22 49914192 49938949 . 424 chr22 49922026 49922129 . 1000 chr22 49928582 49931585 . 1000 chr22 49940692 49950680 . 300 chr22 49979717 49980924 . 398 chr22 50020237 50020754 . 504 chr22 50050406 50055922 . 296 chr22 50153017 50229266 . 311 chr22 50170109 50170344 . 703 chr22 50170263 50170364 . 1000 chr22 50201781 50202000 . 741 chr22 50247925 50248435 . 508 chr22 50250644 50251237 . 527 chr22 50273802 50274092 . 709 chr22 50290584 50325193 . 296 chr22 50327905 50368905 . 333 chr22 50340587 50340715 . 903 chr22 50353631 50354797 . 834 chr22 50355178 50357326 . 658 chr22 50436873 50438027 . 388 chr22 50446864 50447086 . 734 chr22 50590403 50590504 . 1000 chr22 50609870 50622694 . 297 chr22 50624101 50642785 . 309 chr22 50643012 50659816 . 297 chr22 50665429 50665644 . 716 chr22 50675082 50676275 . 394 chr22 50682716 50684719 . 701 chr22 50685821 50686782 . 480 chr22 50686896 50687414 . 518 chr22 50687296 50687431 . 922 chr22 50689137 50690616 . 483 chr22 50710863 50758741 . 326 chr22 50765746 50765863 . 971 chr22 50775374 50776843 . 390 chr22 50777027 50778848 . 382 chr22 50781062 50781620 . 647 chr22 50781848 50782025 . 876 chr22 50800035 50802202 . 399 chr22 50837822 50838373 . 511 chr22 50842036 50842228 . 903 chr22 50849340 50866179 . 280 chr22 50883182 50883382 . 756 chr22 50883190 50884175 . 488 chr22 50892206 50900217 . 292 chr22 50901979 50926563 . 314 chr22 50936619 50973523 . 304 chr22 50946454 50947103 . 1000 chr22 50954879 50955086 . 737 chr22 50963725 50963851 . 976 chr22 50964158 50964699 . 748 chr22 51020055 51021891 . 910 chr22 51066775 51067051 . 652 chr22 51079429 51081163 . 626 chr22 51079788 51080345 . 885 chr22 51080516 51080755 . 954 chr22 51111403 51112407 . 405 chr22 51113494 51113604 . 1000 chr22 51138607 51146485 . 289 ================================================ FILE: bedtools/data/hg38.genome ================================================ chr22 50818468 ================================================ FILE: bedtools/data/human_enhancers_chr22.bed ================================================ chr22 17679527 17679727 chr22 17739387 17739587 chr22 17745713 17745913 chr22 17915832 17916032 chr22 18546219 18546419 chr22 18647319 18647519 chr22 19163890 19164090 chr22 20232781 20232981 chr22 20778172 20778372 chr22 21369089 21369289 chr22 21387111 21387311 chr22 21469748 21469948 chr22 22292550 22292750 chr22 23652997 23653198 chr22 23863155 23863381 chr22 23875629 23875829 chr22 24360109 24360309 chr22 24632724 24632925 chr22 24659983 24660183 chr22 24803357 24803557 chr22 24960321 24960521 chr22 25784797 25784997 chr22 25800344 25800546 chr22 27283558 27283758 chr22 27290889 27291089 chr22 27298926 27299134 chr22 27506951 27507151 chr22 27530972 27531172 chr22 27530972 27531172 chr22 27606258 27606458 chr22 27613121 27613321 chr22 27693820 27694021 chr22 27709015 27709215 chr22 27831915 27832116 chr22 27832768 27832968 chr22 27914585 27914785 chr22 27933520 27933720 chr22 27937956 27938156 chr22 28035355 28035555 chr22 28172650 28172851 chr22 28445903 28446103 chr22 28644061 28644261 chr22 29489680 29489880 chr22 29492979 29493179 chr22 29511856 29512056 chr22 30592147 30592347 chr22 30744663 30744863 chr22 30938555 30938755 chr22 32226067 32226268 chr22 32272405 32272605 chr22 32294774 32294974 chr22 32927996 32928196 chr22 33018401 33018602 chr22 33271098 33271300 chr22 33276991 33277191 chr22 33279168 33279368 chr22 33353284 33353484 chr22 34367910 34368110 chr22 35746004 35746204 chr22 36311233 36311433 chr22 36334366 36334568 chr22 36367739 36367940 chr22 36413878 36414079 chr22 36417865 36418065 chr22 36432422 36432622 chr22 36452060 36452260 chr22 36461930 36462130 chr22 36553203 36553403 chr22 37194381 37194581 chr22 37584170 37584370 chr22 37608742 37608942 chr22 37760842 37761042 chr22 37905135 37905335 chr22 37942364 37942564 chr22 37948567 37948767 chr22 38029686 38029886 chr22 38137371 38137571 chr22 38213774 38213975 chr22 38364064 38364264 chr22 38538661 38538861 chr22 38539451 38539651 chr22 38582586 38582786 chr22 38875187 38875387 chr22 38875187 38875387 chr22 39728704 39728904 chr22 40342734 40342934 chr22 40394063 40394263 chr22 40706171 40706371 chr22 40874874 40875074 chr22 40881354 40881554 chr22 40905737 40905937 chr22 42750158 42750358 chr22 42761554 42761754 chr22 43355816 43356016 chr22 43660295 43660495 chr22 43688083 43688284 chr22 43698741 43698941 chr22 43709395 43709595 chr22 43726574 43726774 chr22 43727717 43727917 chr22 44766437 44766637 chr22 44867874 44868075 chr22 45034999 45035200 chr22 45034999 45035200 chr22 45520293 45520493 chr22 45850286 45850486 chr22 45856325 45856525 chr22 45865748 45865948 chr22 45869692 45869895 chr22 45874052 45874252 chr22 45878144 45878344 chr22 45900932 45901132 chr22 47560535 47560735 chr22 49263785 49263985 chr22 51080418 51080618 ================================================ FILE: bedtools/data/ucscGenes_chr22.bed ================================================ chr22 10736170 10736283 ENST00000615943.1 0 - chr22 10939387 10961338 ENST00000635667.1 0 - chr22 11066417 11068174 ENST00000624155.2 0 + chr22 11124336 11125705 ENST00000422332.1 0 + chr22 11249808 11249959 ENST00000612732.1 0 - chr22 11474743 11479643 ENST00000672261.1 0 + chr22 11827522 11910358 ENST00000657566.1 0 + chr22 11883601 11904000 ENST00000657645.1 0 + chr22 12602465 12626642 ENST00000634617.1 0 + chr22 15273854 15273961 ENST00000613107.1 0 + chr22 15282556 15288670 ENST00000623391.1 0 - chr22 15290717 15297196 ENST00000448473.1 0 + chr22 15298377 15304556 ENST00000623199.1 0 - chr22 15326036 15343065 ENST00000425869.1 0 - chr22 15349466 15350043 ENST00000441221.1 0 + chr22 15489989 15492564 ENST00000429435.1 0 + chr22 15528158 15529139 ENST00000252835.5 0 + chr22 15528191 15529139 ENST00000643195.1 0 + chr22 15541435 15578006 ENST00000412729.1 0 + chr22 15550903 15553838 ENST00000443989.1 0 - chr22 15557576 15560694 ENST00000444162.1 0 - chr22 15562016 15564276 ENST00000417863.1 0 - chr22 15572088 15573265 ENST00000456143.1 0 - chr22 15588360 15588478 ENST00000447704.1 0 + chr22 15600907 15604882 ENST00000428118.1 0 - chr22 15611758 15613096 ENST00000438441.1 0 - chr22 15615401 15615578 ENST00000440999.1 0 - chr22 15622600 15632051 ENST00000426025.1 0 - chr22 15635179 15644330 ENST00000435410.1 0 - chr22 15690025 15721631 ENST00000343518.11 0 + chr22 15690077 15721631 ENST00000621704.4 0 + chr22 15690245 15721522 ENST00000452800.1 0 + chr22 15699360 15703403 ENST00000422014.1 0 - chr22 15701458 15701565 ENST00000390914.1 0 + chr22 15721485 15722608 ENST00000417657.1 0 + chr22 15746629 15778297 ENST00000453395.5 0 + chr22 15749155 15750825 ENST00000423297.1 0 - chr22 15765686 15778297 ENST00000438574.1 0 + chr22 15784958 15827434 ENST00000413768.5 0 + chr22 15784962 15827708 ENST00000437781.5 0 + chr22 15784967 15819165 ENST00000383038.7 0 + chr22 15784976 15791387 ENST00000661115.1 0 + chr22 15784982 15798258 ENST00000603308.2 0 + chr22 15784991 15829984 ENST00000447898.5 0 + chr22 15787699 15790573 ENST00000661156.1 0 + chr22 15790708 15791814 ENST00000458623.1 0 + chr22 15794900 15797909 ENST00000657965.1 0 + chr22 15805262 15815897 ENST00000440946.5 0 - chr22 15805811 15820884 ENST00000609679.1 0 - chr22 15805846 15806503 ENST00000414726.1 0 - chr22 15818492 15819134 ENST00000607933.1 0 + chr22 15823196 15823890 ENST00000608286.1 0 + chr22 15826565 15827187 ENST00000456786.2 0 + chr22 15852989 15893942 ENST00000420638.2 0 + chr22 15854194 15855243 ENST00000398242.2 0 - chr22 15901790 15901911 ENST00000448070.1 0 + chr22 15914720 15915800 ENST00000424770.1 0 - chr22 16141766 16141872 ENST00000612550.1 0 + chr22 16387693 16390887 ENST00000399687.3 0 + chr22 16405329 16405417 ENST00000427602.1 0 + chr22 16423942 16426031 ENST00000426076.1 0 + chr22 16428946 16476870 ENST00000421957.1 0 - chr22 16486984 16488322 ENST00000623630.1 0 + chr22 16503303 16509475 ENST00000450340.1 0 + chr22 16521058 16527237 ENST00000609641.1 0 + chr22 16572026 16574637 ENST00000454360.1 0 + chr22 16575362 16582707 ENST00000493696.2 0 - chr22 16581076 16582602 ENST00000472972.1 0 - chr22 16590750 16592810 ENST00000359963.4 0 - chr22 16592894 16600110 ENST00000656324.1 0 + chr22 16595088 16595485 ENST00000430910.1 0 - chr22 16601886 16698742 ENST00000558085.6 0 + chr22 16601910 16615111 ENST00000592918.5 0 + chr22 16601910 16648830 ENST00000400593.6 0 + chr22 16601947 16615111 ENST00000592107.5 0 + chr22 16602043 16653809 ENST00000426585.5 0 + chr22 16602049 16614333 ENST00000591299.1 0 + chr22 16612581 16615104 ENST00000588548.1 0 + chr22 16616169 16617114 ENST00000438850.1 0 + chr22 16619614 16653692 ENST00000383140.7 0 + chr22 16637019 16638980 ENST00000585784.1 0 + chr22 16637039 16638740 ENST00000636884.1 0 + chr22 16638578 16640737 ENST00000588424.1 0 + chr22 16645694 16646581 ENST00000508033.1 0 - chr22 16649929 16653805 ENST00000415121.1 0 + chr22 16653891 16659628 ENST00000510265.2 0 - chr22 16654065 16675540 ENST00000456726.5 0 - chr22 16669463 16675452 ENST00000457060.1 0 - chr22 16671089 16679493 ENST00000434304.2 0 - chr22 16676015 16694648 ENST00000423580.2 0 - chr22 16690102 16704477 ENST00000457911.1 0 - chr22 16725071 16747761 ENST00000670988.1 0 + chr22 16746627 16748549 ENST00000665507.1 0 - chr22 16746868 16748645 ENST00000422917.1 0 - chr22 16783411 16821699 ENST00000331428.5 0 - chr22 16827473 16829335 ENST00000425038.1 0 + chr22 16827550 16829209 ENST00000423928.2 0 + chr22 16837521 16837666 ENST00000442797.1 0 + chr22 16844398 16846357 ENST00000637740.1 0 + chr22 16855803 16856162 ENST00000422608.1 0 + chr22 16857618 16860718 ENST00000404435.1 0 - chr22 16869477 16871126 ENST00000442403.1 0 + chr22 16876217 16876421 ENST00000448961.1 0 - chr22 16876551 16876902 ENST00000412238.1 0 - chr22 16897444 16897546 ENST00000427470.1 0 + chr22 16904218 16904696 ENST00000458718.2 0 - chr22 16914234 16914981 ENST00000523309.2 0 - chr22 16921442 16922173 ENST00000521969.2 0 - chr22 16925951 16926444 ENST00000517943.2 0 - chr22 16933520 16934003 ENST00000521497.2 0 - chr22 16953894 16956808 ENST00000643267.1 0 + chr22 16961935 17008222 ENST00000400588.5 0 - chr22 16962458 17007999 ENST00000651146.1 0 - chr22 16962459 17007999 ENST00000465611.1 0 - chr22 16962732 17008114 ENST00000643316.1 0 - chr22 16966099 16968383 ENST00000520505.5 0 - chr22 16967300 17007999 ENST00000523144.1 0 - chr22 17012403 17012932 ENST00000605217.1 0 + chr22 17021397 17022570 ENST00000614184.1 0 - chr22 17036569 17058792 ENST00000441006.5 0 + chr22 17037211 17056558 ENST00000414401.5 0 + chr22 17037238 17060825 ENST00000609932.5 0 + chr22 17037285 17060003 ENST00000609596.1 0 + chr22 17044872 17047426 ENST00000636648.1 0 + chr22 17067820 17070675 ENST00000608373.1 0 + chr22 17080700 17081456 ENST00000609791.1 0 + chr22 17084953 17100469 ENST00000477874.1 0 + chr22 17084958 17115693 ENST00000319363.10 0 + chr22 17084958 17115694 ENST00000612619.1 0 + chr22 17085056 17097509 ENST00000459971.1 0 + chr22 17093611 17093939 ENST00000429106.1 0 - chr22 17116296 17121360 ENST00000331437.4 0 - chr22 17116298 17121367 ENST00000399875.1 0 - chr22 17121559 17132102 ENST00000662102.1 0 + chr22 17121585 17130443 ENST00000428078.4 0 + chr22 17121591 17132102 ENST00000654656.1 0 + chr22 17121594 17132104 ENST00000441544.2 0 + chr22 17121613 17125043 ENST00000668330.1 0 + chr22 17137510 17165287 ENST00000155674.9 0 - chr22 17137519 17159277 ENST00000336737.8 0 - chr22 17137521 17143647 ENST00000477157.5 0 - chr22 17137578 17159255 ENST00000399852.3 0 - chr22 17137581 17141843 ENST00000486462.1 0 - chr22 17148447 17158986 ENST00000463033.1 0 - chr22 17148448 17159168 ENST00000480451.1 0 - chr22 17159383 17165439 ENST00000329743.3 0 + chr22 17159398 17165445 ENST00000431923.1 0 + chr22 17178789 17219435 ENST00000399837.8 0 - chr22 17178789 17219585 ENST00000610390.4 0 - chr22 17179303 17221989 ENST00000399839.5 0 - chr22 17179305 17199783 ENST00000330232.8 0 - chr22 17179305 17209889 ENST00000262607.3 0 - chr22 17179316 17198789 ENST00000648668.1 0 - chr22 17179321 17199596 ENST00000648061.1 0 - chr22 17180989 17221848 ENST00000449907.7 0 - chr22 17181086 17219434 ENST00000649540.1 0 - chr22 17181382 17209504 ENST00000649915.1 0 - chr22 17182640 17188727 ENST00000469063.1 0 - chr22 17189783 17198791 ENST00000480276.1 0 - chr22 17191594 17219434 ENST00000650635.1 0 - chr22 17192935 17193308 ENST00000428401.1 0 + chr22 17198856 17199595 ENST00000648343.1 0 - chr22 17207156 17219435 ENST00000543038.1 0 - chr22 17207205 17221854 ENST00000441548.1 0 - chr22 17209605 17258235 ENST00000649310.1 0 - chr22 17209605 17258235 ENST00000649746.1 0 - chr22 17213515 17214155 ENST00000344033.5 0 + chr22 17256858 17266733 ENST00000428828.1 0 - chr22 17329033 17329232 ENST00000453421.1 0 + chr22 17352880 17353177 ENST00000485262.3 0 - chr22 17359948 17553332 ENST00000400585.6 0 + chr22 17369365 17554145 ENST00000342247.9 0 + chr22 17369887 17553332 ENST00000262608.12 0 + chr22 17418696 17419828 ENST00000455617.1 0 + chr22 17424387 17424775 ENST00000455251.1 0 - chr22 17428272 17499458 ENST00000497534.1 0 + chr22 17477092 17558149 ENST00000612582.1 0 + chr22 17518675 17519029 ENST00000437347.1 0 - chr22 17521513 17570078 ENST00000651475.1 0 - chr22 17548998 17554133 ENST00000355219.3 0 + chr22 17563449 17590881 ENST00000399813.1 0 + chr22 17563463 17570256 ENST00000496051.1 0 + chr22 17563497 17590995 ENST00000327451.11 0 + chr22 17563588 17582208 ENST00000467228.1 0 + chr22 17569700 17583484 ENST00000497401.1 0 + chr22 17569706 17570393 ENST00000469889.1 0 + chr22 17580156 17589192 ENST00000443935.5 0 - chr22 17580313 17588018 ENST00000611039.1 0 - chr22 17592135 17628749 ENST00000253413.10 0 - chr22 17592168 17628747 ENST00000399796.6 0 - chr22 17592408 17628749 ENST00000399798.6 0 - chr22 17592668 17595292 ENST00000473248.1 0 - chr22 17594538 17628733 ENST00000413576.1 0 - chr22 17598000 17619528 ENST00000481365.5 0 - chr22 17600679 17619528 ENST00000484653.5 0 - chr22 17612613 17628748 ENST00000478963.5 0 - chr22 17612975 17628749 ENST00000460085.1 0 - chr22 17628854 17696209 ENST00000399781.5 0 + chr22 17628915 17702428 ENST00000399782.5 0 + chr22 17638583 17730855 ENST00000337612.9 0 + chr22 17638583 17730855 ENST00000418951.6 0 + chr22 17638583 17730855 ENST00000538149.5 0 + chr22 17638583 17730855 ENST00000543133.5 0 + chr22 17638583 17730855 ENST00000611738.4 0 + chr22 17638583 17730855 ENST00000616863.4 0 + chr22 17638583 17730855 ENST00000618481.4 0 + chr22 17638740 17728699 ENST00000498133.5 0 + chr22 17638756 17692395 ENST00000464649.1 0 + chr22 17638756 17730855 ENST00000317582.10 0 + chr22 17638771 17703733 ENST00000493680.5 0 + chr22 17638810 17730622 ENST00000355028.4 0 + chr22 17689073 17729140 ENST00000399777.1 0 + chr22 17695737 17702363 ENST00000479296.1 0 + chr22 17706709 17727670 ENST00000485631.1 0 + chr22 17734137 17774016 ENST00000317361.11 0 - chr22 17734141 17774042 ENST00000615414.4 0 - chr22 17734141 17774495 ENST00000399767.5 0 - chr22 17734141 17774495 ENST00000614949.4 0 - chr22 17734141 17774495 ENST00000622694.4 0 - chr22 17734170 17774492 ENST00000399774.7 0 - chr22 17734174 17774489 ENST00000399765.5 0 - chr22 17735221 17741194 ENST00000494097.5 0 - chr22 17735498 17774412 ENST00000342111.9 0 - chr22 17735551 17774412 ENST00000550946.5 0 - chr22 17735551 17774665 ENST00000551952.5 0 - chr22 17735551 17774665 ENST00000611040.1 0 - chr22 17738057 17774495 ENST00000473439.5 0 - chr22 17739447 17774770 ENST00000552886.1 0 - chr22 17740030 17774495 ENST00000617586.1 0 - chr22 17764179 17764259 ENST00000583102.1 0 - chr22 17777321 17779481 ENST00000600723.1 0 + chr22 17787648 18024561 ENST00000441493.7 0 - chr22 17787648 18024561 ENST00000672019.1 0 - chr22 17787651 17811497 ENST00000476405.1 0 - chr22 17790539 17791667 ENST00000252134.11 0 - chr22 17790836 17815669 ENST00000580469.1 0 - chr22 17790945 17817489 ENST00000577821.5 0 - chr22 17791263 17817425 ENST00000579997.5 0 - chr22 17800721 17802035 ENST00000657505.1 0 + chr22 17803553 17810736 ENST00000584751.1 0 - chr22 17819021 17832000 ENST00000498573.5 0 - chr22 17819035 17831927 ENST00000578984.1 0 - chr22 17834327 17906835 ENST00000400561.6 0 - chr22 17839591 18001501 ENST00000495076.5 0 - chr22 17839950 17842482 ENST00000578905.1 0 - chr22 17839950 17906812 ENST00000414725.6 0 - chr22 17841674 17906827 ENST00000383094.7 0 - chr22 17860162 17895288 ENST00000461307.5 0 - chr22 17864614 17906874 ENST00000585038.1 0 - chr22 17865923 17876703 ENST00000462645.1 0 - chr22 17871929 17876872 ENST00000465886.1 0 - chr22 17871933 17876739 ENST00000498345.1 0 - chr22 17904727 18001180 ENST00000424046.1 0 - chr22 17980867 17980961 ENST00000385046.1 0 - chr22 17983204 17983619 ENST00000429618.1 0 - chr22 18004269 18007308 ENST00000441167.1 0 - chr22 18019213 18020200 ENST00000411920.1 0 + chr22 18029384 18037968 ENST00000443243.1 0 + chr22 18076526 18077797 ENST00000426483.1 0 - chr22 18077185 18078884 ENST00000607927.1 0 - chr22 18077919 18091019 ENST00000610387.4 0 + chr22 18077922 18105396 ENST00000329627.11 0 + chr22 18078007 18088460 ENST00000399744.7 0 + chr22 18078014 18131138 ENST00000474897.5 0 + chr22 18078054 18078775 ENST00000622035.1 0 - chr22 18078376 18088119 ENST00000428061.2 0 + chr22 18081465 18081675 ENST00000427227.2 0 - chr22 18101611 18101888 ENST00000450866.1 0 + chr22 18102456 18103649 ENST00000446487.1 0 - chr22 18110330 18124268 ENST00000426208.5 0 + chr22 18110686 18131154 ENST00000316027.10 0 + chr22 18110758 18131154 ENST00000623543.1 0 - chr22 18110808 18131732 ENST00000330423.8 0 + chr22 18121106 18131117 ENST00000416740.1 0 + chr22 18126706 18146554 ENST00000608634.1 0 + chr22 18150169 18177397 ENST00000215794.8 0 + chr22 18178037 18205915 ENST00000434390.1 0 - chr22 18340144 18345899 ENST00000617623.1 0 + chr22 18361819 18386597 ENST00000619172.5 0 - chr22 18361829 18386526 ENST00000618517.4 0 - chr22 18370584 18386480 ENST00000613790.4 0 - chr22 18370665 18391105 ENST00000615974.1 0 - chr22 18374105 18375689 ENST00000622906.1 0 + chr22 18400406 18404206 ENST00000612861.1 0 - chr22 18422243 18500594 ENST00000624459.2 0 + chr22 18424976 18490146 ENST00000624001.2 0 + chr22 18486998 18488582 ENST00000614584.1 0 - chr22 18487125 18489905 ENST00000615181.4 0 + chr22 18487868 18491247 ENST00000620909.1 0 - chr22 18501793 18512187 ENST00000621762.1 0 - chr22 18516343 18518161 ENST00000619998.1 0 - chr22 18524619 18524935 ENST00000618466.1 0 + chr22 18527156 18527626 ENST00000359859.4 0 + chr22 18527801 18530571 ENST00000614395.4 0 + chr22 18527801 18530573 ENST00000612978.5 0 + chr22 18528946 18530222 ENST00000620199.4 0 + chr22 18529041 18530178 ENST00000613577.4 0 + chr22 18529065 18530204 ENST00000621725.4 0 + chr22 18529408 18530573 ENST00000618859.1 0 + chr22 18529809 18530459 ENST00000613597.1 0 + chr22 18533645 18537791 ENST00000610959.4 0 - chr22 18533655 18552527 ENST00000652586.1 0 - chr22 18533656 18537865 ENST00000619742.4 0 - chr22 18533656 18548353 ENST00000617243.4 0 - chr22 18533670 18548828 ENST00000618794.4 0 - chr22 18534004 18548798 ENST00000612579.4 0 - chr22 18538022 18574700 ENST00000612500.4 0 - chr22 18538055 18577968 ENST00000611748.1 0 - chr22 18548010 18548770 ENST00000616531.1 0 - chr22 18605354 18605497 ENST00000614296.1 0 + chr22 18605801 18606102 ENST00000410698.2 0 - chr22 18605814 18611919 ENST00000619918.1 0 - chr22 18615580 18615900 ENST00000611762.1 0 + chr22 18623338 18625289 ENST00000611186.1 0 - chr22 18633983 18634682 ENST00000652395.1 0 + chr22 18636444 18638405 ENST00000611168.1 0 - chr22 18650022 18653617 ENST00000611403.1 0 - chr22 18715814 18719341 ENST00000619065.1 0 + chr22 18733913 18757894 ENST00000342888.3 0 + chr22 18756347 18757906 ENST00000611876.1 0 + chr22 18773664 18805479 ENST00000412448.5 0 - chr22 18773824 18791223 ENST00000453783.2 0 - chr22 18794413 18794804 ENST00000437537.1 0 - chr22 18794530 18843399 ENST00000445651.1 0 - chr22 18794597 18825001 ENST00000430306.1 0 - chr22 18833693 18834438 ENST00000428850.2 0 + chr22 18846810 18856684 ENST00000419447.5 0 + chr22 18846931 18848320 ENST00000342005.5 0 + chr22 18850117 18861049 ENST00000412938.5 0 + chr22 18852875 18854933 ENST00000416498.1 0 + chr22 18855620 18858640 ENST00000511549.1 0 - chr22 18873542 18894407 ENST00000614596.2 0 - chr22 18883501 18884682 ENST00000623570.1 0 - chr22 18906027 18912088 ENST00000413981.5 0 + chr22 18906237 18947732 ENST00000638240.1 0 + chr22 18906319 18914238 ENST00000331444.11 0 + chr22 18906324 18914238 ENST00000483718.5 0 + chr22 18906350 18912082 ENST00000427407.5 0 + chr22 18906352 18908269 ENST00000608842.1 0 + chr22 18906354 18912087 ENST00000480608.5 0 + chr22 18906780 18910389 ENST00000477156.1 0 + chr22 18908662 18912078 ENST00000436645.1 0 + chr22 18912776 18936553 ENST00000610940.4 0 - chr22 18912780 18936295 ENST00000491604.5 0 - chr22 18912780 18936296 ENST00000420436.5 0 - chr22 18912781 18921574 ENST00000313755.9 0 - chr22 18912781 18924002 ENST00000429300.5 0 - chr22 18912781 18936142 ENST00000482858.5 0 - chr22 18912781 18936451 ENST00000334029.6 0 - chr22 18912781 18936553 ENST00000357068.10 0 - chr22 18914529 18921554 ENST00000609229.1 0 - chr22 18919555 18921539 ENST00000446371.1 0 - chr22 18921380 18936142 ENST00000438924.5 0 - chr22 18922245 18923310 ENST00000399694.1 0 - chr22 18922371 18934828 ENST00000450579.1 0 - chr22 18922879 18936266 ENST00000457083.1 0 - chr22 18924724 18931110 ENST00000496625.1 0 - chr22 18936410 18947741 ENST00000640084.1 0 + chr22 18939445 18947692 ENST00000638287.1 0 + chr22 18945122 18946971 ENST00000623496.1 0 + chr22 18951933 18959512 ENST00000624224.1 0 - chr22 18970513 18994628 ENST00000438934.5 0 + chr22 18970524 19031242 ENST00000440005.6 0 + chr22 18970582 18990883 ENST00000421572.1 0 + chr22 18980694 18981325 ENST00000636418.1 0 - chr22 18985835 18994501 ENST00000399539.4 0 + chr22 18989918 19020248 ENST00000609630.2 0 + chr22 18997137 18997595 ENST00000604539.1 0 - chr22 18998273 19014786 ENST00000424407.1 0 + chr22 19014352 19014506 ENST00000637415.1 0 + chr22 19018042 19018916 ENST00000603208.1 0 - chr22 19023055 19023550 ENST00000609839.1 0 + chr22 19029523 19031242 ENST00000652053.1 0 + chr22 19031563 19034564 ENST00000481698.1 0 - chr22 19036281 19122454 ENST00000537045.5 0 - chr22 19036281 19122454 ENST00000545799.5 0 - chr22 19036285 19122407 ENST00000389262.8 0 - chr22 19036285 19122412 ENST00000263196.12 0 - chr22 19037836 19057053 ENST00000467659.1 0 - chr22 19045255 19045367 ENST00000384012.1 0 + chr22 19046161 19048375 ENST00000609958.1 0 - chr22 19048378 19063277 ENST00000608548.1 0 - chr22 19055800 19056512 ENST00000412461.2 0 + chr22 19056993 19065904 ENST00000473832.1 0 - chr22 19061040 19061843 ENST00000629517.1 0 - chr22 19121528 19124503 ENST00000456035.1 0 + chr22 19124308 19128449 ENST00000609936.1 0 - chr22 19124878 19125646 ENST00000450724.1 0 + chr22 19130278 19144651 ENST00000252137.11 0 - chr22 19131307 19132622 ENST00000399635.4 0 + chr22 19133936 19144684 ENST00000434568.5 0 - chr22 19133967 19144633 ENST00000472073.1 0 - chr22 19142849 19144659 ENST00000469466.1 0 - chr22 19148575 19150283 ENST00000086933.2 0 - chr22 19171394 19172839 ENST00000565162.2 0 + chr22 19175580 19178736 ENST00000215882.10 0 - chr22 19175592 19178521 ENST00000451283.5 0 - chr22 19175609 19178739 ENST00000470922.5 0 - chr22 19176666 19178480 ENST00000461267.1 0 - chr22 19177989 19178635 ENST00000468824.1 0 - chr22 19179472 19291685 ENST00000621271.4 0 - chr22 19179472 19291719 ENST00000427926.6 0 - chr22 19179475 19184831 ENST00000412649.5 0 - chr22 19179475 19207676 ENST00000622493.4 0 - chr22 19179774 19207674 ENST00000617926.4 0 - chr22 19180732 19291661 ENST00000615606.4 0 - chr22 19180732 19291661 ENST00000617103.4 0 - chr22 19183475 19187728 ENST00000538828.1 0 - chr22 19196362 19209327 ENST00000611723.1 0 - chr22 19196401 19200083 ENST00000658236.1 0 + chr22 19221572 19226320 ENST00000458188.2 0 - chr22 19229844 19232821 ENST00000540896.1 0 - chr22 19238442 19238739 ENST00000433141.1 0 - chr22 19249872 19249966 ENST00000516131.1 0 + chr22 19254033 19291716 ENST00000449918.1 0 - chr22 19257519 19258806 ENST00000446618.1 0 + chr22 19291968 19328901 ENST00000664918.1 0 + chr22 19330697 19431696 ENST00000340170.8 0 - chr22 19330697 19431733 ENST00000263208.5 0 - chr22 19351367 19447691 ENST00000509549.5 0 - chr22 19365765 19366044 ENST00000463821.3 0 + chr22 19398060 19430263 ENST00000464189.5 0 - chr22 19398067 19447450 ENST00000452818.1 0 - chr22 19431901 19436075 ENST00000333130.3 0 + chr22 19432578 19436067 ENST00000443660.5 0 + chr22 19432938 19436010 ENST00000471259.1 0 + chr22 19440885 19447692 ENST00000399568.5 0 - chr22 19440907 19448232 ENST00000542103.5 0 - chr22 19441776 19448232 ENST00000399562.8 0 - chr22 19443149 19448232 ENST00000611555.4 0 - chr22 19443370 19447697 ENST00000333059.5 0 - chr22 19447892 19450105 ENST00000431090.1 0 + chr22 19449910 19479193 ENST00000263202.15 0 - chr22 19450620 19479172 ENST00000399523.5 0 - chr22 19450620 19479172 ENST00000459854.5 0 - chr22 19450624 19467716 ENST00000466373.1 0 - chr22 19454178 19454605 ENST00000607934.1 0 + chr22 19455679 19479202 ENST00000447868.5 0 - chr22 19456502 19456962 ENST00000608816.1 0 + chr22 19456879 19479185 ENST00000421968.6 0 - chr22 19465201 19479083 ENST00000484101.5 0 - chr22 19467402 19479187 ENST00000489406.1 0 - chr22 19467872 19478931 ENST00000494054.1 0 - chr22 19467894 19479144 ENST00000474226.1 0 - chr22 19479456 19520612 ENST00000407835.6 0 + chr22 19479458 19482766 ENST00000455750.6 0 + chr22 19479737 19483873 ENST00000491520.5 0 + chr22 19479825 19520611 ENST00000437685.6 0 + chr22 19479900 19495986 ENST00000483431.5 0 + chr22 19479909 19520601 ENST00000438587.6 0 + chr22 19479915 19520605 ENST00000672837.1 0 + chr22 19479919 19520608 ENST00000263201.6 0 + chr22 19479937 19520578 ENST00000404724.7 0 + chr22 19480149 19497444 ENST00000487669.5 0 + chr22 19482750 19505370 ENST00000428937.1 0 + chr22 19505053 19514784 ENST00000471470.1 0 + chr22 19505412 19520601 ENST00000671972.1 0 + chr22 19516433 19520594 ENST00000493724.1 0 + chr22 19520571 19522769 ENST00000661478.1 0 - chr22 19523023 19527545 ENST00000406028.1 0 - chr22 19523026 19524400 ENST00000618236.1 0 - chr22 19523026 19525383 ENST00000403084.1 0 - chr22 19523051 19525423 ENST00000413119.2 0 - chr22 19565202 19566839 ENST00000629028.1 0 - chr22 19630749 19633574 ENST00000420012.1 0 - chr22 19667022 19667555 ENST00000452326.1 0 + chr22 19714502 19723319 ENST00000455784.7 0 + chr22 19714503 19723274 ENST00000406395.5 0 + chr22 19714528 19723319 ENST00000406172.6 0 + chr22 19714674 19722331 ENST00000412544.5 0 + chr22 19717219 19724216 ENST00000455843.5 0 + chr22 19717269 19721720 ENST00000431124.5 0 + chr22 19718158 19719055 ENST00000490204.1 0 + chr22 19718431 19722629 ENST00000383045.7 0 + chr22 19718457 19723319 ENST00000438754.6 0 + chr22 19718468 19724772 ENST00000431044.5 0 + chr22 19719434 19720833 ENST00000395109.6 0 + chr22 19719529 19720213 ENST00000477238.1 0 + chr22 19720187 19720874 ENST00000413258.1 0 + chr22 19720341 19721869 ENST00000480423.5 0 + chr22 19720553 19724224 ENST00000470814.1 0 + chr22 19722944 19724771 ENST00000366425.3 0 + chr22 19756702 19767334 ENST00000332710.8 0 + chr22 19756702 19779546 ENST00000329705.11 0 + chr22 19756702 19783593 ENST00000359500.7 0 + chr22 19760820 19767332 ENST00000649276.1 0 + chr22 19761196 19763702 ENST00000475303.1 0 + chr22 19765078 19766327 ENST00000484336.1 0 + chr22 19783222 19854874 ENST00000329517.11 0 - chr22 19788414 19854843 ENST00000403325.5 0 - chr22 19788417 19854939 ENST00000405009.5 0 - chr22 19788463 19854806 ENST00000460402.5 0 - chr22 19792293 19793094 ENST00000424559.2 0 + chr22 19801998 19854816 ENST00000481086.1 0 - chr22 19812294 19854843 ENST00000453108.1 0 - chr22 19846137 19854896 ENST00000407472.5 0 - chr22 19846145 19854863 ENST00000484072.5 0 - chr22 19846145 19854874 ENST00000328554.9 0 - chr22 19846145 19854886 ENST00000405640.1 0 - chr22 19851988 19854816 ENST00000416337.1 0 - chr22 19875516 19932553 ENST00000400518.5 0 - chr22 19875517 19916366 ENST00000494454.5 0 - chr22 19875517 19938179 ENST00000542719.6 0 - chr22 19875518 19941807 ENST00000474308.5 0 - chr22 19875521 19881369 ENST00000462330.5 0 - chr22 19875521 19884504 ENST00000487165.5 0 - chr22 19875521 19898041 ENST00000634537.1 0 - chr22 19875521 19941803 ENST00000400519.6 0 - chr22 19875521 19941818 ENST00000400521.7 0 - chr22 19875521 19941820 ENST00000400525.6 0 - chr22 19875523 19881347 ENST00000495655.2 0 - chr22 19875640 19881164 ENST00000485358.5 0 - chr22 19875691 19881154 ENST00000462843.2 0 - chr22 19875760 19883567 ENST00000634471.1 0 - chr22 19887288 19887970 ENST00000420617.1 0 + chr22 19891437 19918177 ENST00000635155.1 0 - chr22 19893901 19933526 ENST00000491939.6 0 - chr22 19894257 19941804 ENST00000334363.14 0 - chr22 19895015 19915789 ENST00000475995.3 0 - chr22 19910934 19918221 ENST00000484672.5 0 - chr22 19911257 19915837 ENST00000471835.1 0 - chr22 19914899 19941808 ENST00000496729.2 0 - chr22 19941606 19969975 ENST00000361682.10 0 + chr22 19941732 19965645 ENST00000403184.5 0 + chr22 19941772 19968958 ENST00000403710.5 0 + chr22 19941787 19968998 ENST00000407537.5 0 + chr22 19941792 19962876 ENST00000467943.5 0 + chr22 19950941 19968589 ENST00000412786.5 0 + chr22 19950978 19969016 ENST00000207636.9 0 + chr22 19951502 19969016 ENST00000406520.7 0 + chr22 19962569 19968998 ENST00000449653.5 0 + chr22 19963344 19964300 ENST00000493893.1 0 + chr22 19963698 19967694 ENST00000428707.1 0 + chr22 19963752 19963834 ENST00000585066.1 0 + chr22 19969895 20016823 ENST00000263207.8 0 - chr22 19969897 19979416 ENST00000495096.5 0 - chr22 19971227 19987093 ENST00000401994.5 0 - chr22 19971227 19987093 ENST00000406522.5 0 - chr22 19971227 19990794 ENST00000406259.1 0 - chr22 19973161 19975762 ENST00000480792.1 0 - chr22 19979996 19990792 ENST00000473551.5 0 - chr22 19981151 19987190 ENST00000487793.5 0 - chr22 19981381 19987155 ENST00000492625.5 0 - chr22 19981544 19983753 ENST00000462319.1 0 - chr22 19981990 20016745 ENST00000467828.1 0 - chr22 20017013 20056204 ENST00000471707.5 0 + chr22 20017013 20065358 ENST00000401886.5 0 + chr22 20017030 20048180 ENST00000475446.5 0 + chr22 20017030 20052584 ENST00000432198.5 0 + chr22 20021068 20061656 ENST00000411907.5 0 + chr22 20021068 20065925 ENST00000420290.6 0 + chr22 20021068 20065925 ENST00000432883.5 0 + chr22 20021068 20065925 ENST00000434570.6 0 + chr22 20021068 20065925 ENST00000447208.6 0 + chr22 20021068 20065925 ENST00000456048.5 0 + chr22 20021071 20065926 ENST00000398042.6 0 + chr22 20021088 20065862 ENST00000399807.7 0 + chr22 20021101 20061576 ENST00000450664.5 0 + chr22 20021106 20065264 ENST00000450019.5 0 + chr22 20021109 20067164 ENST00000327374.9 0 + chr22 20021121 20053542 ENST00000479679.5 0 + chr22 20021126 20063421 ENST00000430807.5 0 + chr22 20021138 20065364 ENST00000401833.5 0 + chr22 20021154 20063411 ENST00000434168.5 0 + chr22 20033138 20033220 ENST00000385288.3 0 + chr22 20036758 20061802 ENST00000462579.5 0 + chr22 20036758 20064907 ENST00000444651.5 0 + chr22 20036759 20056241 ENST00000484373.5 0 + chr22 20036759 20063383 ENST00000485715.2 0 + chr22 20053434 20064959 ENST00000490583.5 0 + chr22 20055942 20061227 ENST00000490121.1 0 + chr22 20058029 20065251 ENST00000628442.1 0 - chr22 20062979 20066077 ENST00000415503.5 0 - chr22 20063010 20066434 ENST00000608610.5 0 - chr22 20063010 20069162 ENST00000600937.5 0 - chr22 20063010 20070261 ENST00000595864.5 0 - chr22 20063010 20070454 ENST00000600617.5 0 - chr22 20063010 20070500 ENST00000601746.5 0 - chr22 20063010 20070522 ENST00000598339.5 0 - chr22 20063010 20070569 ENST00000596334.5 0 - chr22 20063033 20069165 ENST00000609644.5 0 - chr22 20063033 20070543 ENST00000609191.1 0 - chr22 20063572 20064929 ENST00000476940.1 0 + chr22 20064551 20065705 ENST00000600090.1 0 - chr22 20070715 20070965 ENST00000619837.1 0 + chr22 20080231 20111875 ENST00000383024.6 0 + chr22 20080240 20111872 ENST00000351989.8 0 + chr22 20080568 20086339 ENST00000457069.1 0 + chr22 20085745 20085833 ENST00000580330.1 0 + chr22 20085819 20111872 ENST00000495826.5 0 + chr22 20085821 20111872 ENST00000407755.1 0 + chr22 20086057 20086142 ENST00000408439.3 0 + chr22 20087035 20111877 ENST00000498171.5 0 + chr22 20094711 20107036 ENST00000491892.1 0 + chr22 20106181 20107575 ENST00000495351.1 0 + chr22 20106566 20109184 ENST00000485802.1 0 + chr22 20107571 20111261 ENST00000475941.1 0 + chr22 20110820 20111875 ENST00000412713.1 0 - chr22 20111874 20117226 ENST00000252136.12 0 - chr22 20111874 20117392 ENST00000403707.7 0 - chr22 20112300 20113178 ENST00000480339.1 0 - chr22 20112300 20113507 ENST00000444845.5 0 - chr22 20112303 20117245 ENST00000404751.7 0 - chr22 20112327 20113798 ENST00000487668.5 0 - chr22 20112337 20117222 ENST00000439169.2 0 - chr22 20112498 20113378 ENST00000487378.1 0 - chr22 20112567 20113808 ENST00000444256.1 0 - chr22 20112891 20115812 ENST00000494820.5 0 - chr22 20113117 20115688 ENST00000492988.5 0 - chr22 20113485 20115439 ENST00000471040.5 0 - chr22 20113649 20114868 ENST00000488335.1 0 - chr22 20113703 20115392 ENST00000463710.1 0 - chr22 20114685 20114751 ENST00000620368.1 0 - chr22 20114766 20115622 ENST00000459644.1 0 - chr22 20115336 20116550 ENST00000468917.1 0 - chr22 20115348 20116100 ENST00000480460.1 0 - chr22 20115576 20117183 ENST00000494641.1 0 - chr22 20115609 20117203 ENST00000464535.1 0 - chr22 20115937 20122377 ENST00000432879.5 0 + chr22 20115937 20127181 ENST00000435265.5 0 + chr22 20116103 20127355 ENST00000430524.6 0 + chr22 20116241 20117239 ENST00000445045.1 0 - chr22 20117423 20127355 ENST00000402752.5 0 + chr22 20117523 20122684 ENST00000488484.1 0 + chr22 20117547 20127181 ENST00000331821.7 0 + chr22 20117556 20125488 ENST00000411892.5 0 + chr22 20117652 20119529 ENST00000467920.1 0 + chr22 20117781 20122421 ENST00000416427.5 0 + chr22 20117874 20122421 ENST00000421656.5 0 + chr22 20117933 20126627 ENST00000423859.5 0 + chr22 20117952 20127035 ENST00000418705.2 0 + chr22 20122606 20127353 ENST00000448394.2 0 + chr22 20124138 20127181 ENST00000486575.1 0 + chr22 20126401 20126526 ENST00000578179.1 0 + chr22 20129455 20139909 ENST00000436518.5 0 + chr22 20131806 20148007 ENST00000334554.11 0 + chr22 20131947 20146450 ENST00000320602.11 0 + chr22 20131947 20148006 ENST00000405930.3 0 + chr22 20131994 20141532 ENST00000468112.5 0 + chr22 20139936 20141326 ENST00000469212.5 0 + chr22 20140404 20142987 ENST00000472497.1 0 + chr22 20148415 20151055 ENST00000439765.4 0 - chr22 20148585 20149903 ENST00000444532.2 0 - chr22 20198728 20204918 ENST00000506039.1 0 - chr22 20206396 20208524 ENST00000609602.1 0 + chr22 20206576 20207183 ENST00000423736.1 0 + chr22 20241414 20267689 ENST00000416372.5 0 - chr22 20241414 20268318 ENST00000043402.8 0 - chr22 20241416 20243684 ENST00000425986.1 0 - chr22 20242596 20271747 ENST00000469601.1 0 - chr22 20242848 20283246 ENST00000474642.1 0 - chr22 20243019 20269365 ENST00000463936.1 0 - chr22 20249133 20249211 ENST00000408112.3 0 - chr22 20299759 20313216 ENST00000438948.1 0 + chr22 20314237 20320060 ENST00000248879.8 0 - chr22 20314282 20320009 ENST00000405465.3 0 - chr22 20314393 20320080 ENST00000443409.1 0 - chr22 20318118 20318749 ENST00000608275.1 0 - chr22 20320738 20321203 ENST00000609632.1 0 + chr22 20338804 20354372 ENST00000617303.4 0 + chr22 20340995 20352255 ENST00000583722.5 0 + chr22 20340996 20354047 ENST00000610338.1 0 + chr22 20343202 20344365 ENST00000458154.1 0 - chr22 20348757 20354387 ENST00000667786.1 0 - chr22 20350577 20372696 ENST00000486536.6 0 - chr22 20363620 20377251 ENST00000292729.12 0 - chr22 20363620 20390758 ENST00000454608.3 0 - chr22 20363624 20364317 ENST00000470202.1 0 - chr22 20394114 20408461 ENST00000611540.4 0 + chr22 20394127 20407407 ENST00000403682.7 0 + chr22 20394150 20408455 ENST00000400451.7 0 + chr22 20394160 20407681 ENST00000357502.5 0 + chr22 20394187 20407680 ENST00000493734.5 0 + chr22 20394188 20405493 ENST00000420626.1 0 + chr22 20394402 20408455 ENST00000437275.5 0 + chr22 20394628 20406968 ENST00000405993.2 0 + chr22 20399510 20407393 ENST00000476678.1 0 + chr22 20416796 20416899 ENST00000384613.1 0 - chr22 20424814 20437825 ENST00000622235.4 0 - chr22 20424814 20437826 ENST00000623402.1 0 - chr22 20426086 20429926 ENST00000494535.1 0 - chr22 20429240 20446620 ENST00000429594.1 0 - chr22 20441518 20495795 ENST00000328879.9 0 - chr22 20450121 20451824 ENST00000426448.1 0 + chr22 20456217 20465486 ENST00000487090.1 0 - chr22 20457789 20495792 ENST00000479601.5 0 - chr22 20465061 20495802 ENST00000451553.1 0 - chr22 20465179 20495798 ENST00000444967.5 0 - chr22 20465264 20495795 ENST00000458248.5 0 - chr22 20465316 20495795 ENST00000443285.5 0 - chr22 20465391 20495817 ENST00000494929.5 0 - chr22 20465541 20495823 ENST00000431430.1 0 - chr22 20475202 20475311 ENST00000532431.1 0 - chr22 20481157 20481268 ENST00000365046.1 0 + chr22 20481934 20482213 ENST00000493791.3 0 - chr22 20482814 20484105 ENST00000436075.1 0 - chr22 20483627 20495844 ENST00000470335.1 0 - chr22 20488530 20492053 ENST00000490556.1 0 - chr22 20488984 20491557 ENST00000423364.1 0 - chr22 20495912 20555135 ENST00000445987.5 0 + chr22 20507540 20564493 ENST00000444094.5 0 + chr22 20507581 20551748 ENST00000486656.5 0 + chr22 20507581 20564500 ENST00000414658.5 0 + chr22 20507584 20587619 ENST00000433831.5 0 + chr22 20507593 20564606 ENST00000432052.5 0 + chr22 20507601 20587632 ENST00000292733.11 0 + chr22 20507609 20587619 ENST00000263205.11 0 + chr22 20507611 20564466 ENST00000477824.5 0 + chr22 20507617 20587617 ENST00000406969.5 0 + chr22 20507640 20586867 ENST00000382974.6 0 + chr22 20508047 20564509 ENST00000441501.5 0 + chr22 20508056 20537183 ENST00000438962.1 0 + chr22 20522069 20523870 ENST00000420225.1 0 - chr22 20523642 20555148 ENST00000445189.5 0 + chr22 20524274 20555091 ENST00000451058.5 0 + chr22 20524286 20564624 ENST00000473028.5 0 + chr22 20550986 20564597 ENST00000457322.5 0 + chr22 20551006 20564598 ENST00000428629.5 0 + chr22 20551240 20564636 ENST00000424287.5 0 + chr22 20551289 20566536 ENST00000423862.5 0 + chr22 20551312 20555077 ENST00000420849.5 0 + chr22 20551406 20566490 ENST00000487550.5 0 + chr22 20553096 20566526 ENST00000476767.5 0 + chr22 20554238 20587617 ENST00000492381.5 0 + chr22 20566464 20583227 ENST00000478831.5 0 + chr22 20573677 20587617 ENST00000489651.5 0 + chr22 20581900 20587632 ENST00000473244.5 0 + chr22 20582093 20587617 ENST00000493216.1 0 + chr22 20582929 20583749 ENST00000476187.1 0 + chr22 20583337 20585803 ENST00000461076.1 0 + chr22 20584945 20585423 ENST00000436496.2 0 + chr22 20587495 20592218 ENST00000508880.1 0 - chr22 20602594 20626134 ENST00000416717.6 0 - chr22 20616229 20656914 ENST00000443839.1 0 - chr22 20632618 20632751 ENST00000614590.1 0 + chr22 20638360 20639135 ENST00000433066.1 0 - chr22 20652729 20654750 ENST00000447821.1 0 + chr22 20667835 20670984 ENST00000411545.2 0 - chr22 20689928 20698938 ENST00000427789.3 0 + chr22 20690030 20691317 ENST00000412250.3 0 + chr22 20697961 20698934 ENST00000514371.1 0 - chr22 20701113 20704606 ENST00000450925.6 0 + chr22 20702006 20704490 ENST00000637163.1 0 + chr22 20702311 20704340 ENST00000436618.5 0 + chr22 20702676 20704602 ENST00000442222.5 0 + chr22 20702840 20704505 ENST00000445836.5 0 + chr22 20702920 20704606 ENST00000452055.5 0 + chr22 20702972 20704254 ENST00000414022.5 0 + chr22 20702974 20704119 ENST00000454833.5 0 + chr22 20703051 20704606 ENST00000419950.5 0 + chr22 20703094 20704234 ENST00000422715.1 0 + chr22 20703715 20704558 ENST00000428752.1 0 + chr22 20707690 20858811 ENST00000255882.11 0 - chr22 20707692 20722009 ENST00000492581.5 0 - chr22 20707702 20734667 ENST00000477245.5 0 - chr22 20707703 20727357 ENST00000466772.5 0 - chr22 20707718 20721418 ENST00000399213.2 0 - chr22 20710751 20712993 ENST00000482030.5 0 - chr22 20711301 20717844 ENST00000466394.1 0 - chr22 20726315 20727293 ENST00000489966.1 0 - chr22 20727568 20729471 ENST00000485123.1 0 - chr22 20733735 20734495 ENST00000462210.1 0 - chr22 20734476 20736866 ENST00000477368.5 0 - chr22 20734476 20742917 ENST00000494113.1 0 - chr22 20747483 20751680 ENST00000475414.1 0 - chr22 20753145 20793374 ENST00000466162.5 0 - chr22 20764614 20796158 ENST00000484220.1 0 - chr22 20774112 20787720 ENST00000215727.10 0 + chr22 20779180 20787232 ENST00000406799.1 0 + chr22 20798477 20858812 ENST00000485963.5 0 - chr22 20798939 20802018 ENST00000485950.1 0 - chr22 20824346 20859417 ENST00000449120.1 0 - chr22 20859006 20891214 ENST00000215730.12 0 + chr22 20859080 20871041 ENST00000490458.1 0 + chr22 20859482 20887819 ENST00000439214.1 0 + chr22 20889205 20891214 ENST00000608856.1 0 - chr22 20917406 20953747 ENST00000354336.8 0 + chr22 20917433 20953747 ENST00000411769.1 0 + chr22 20957091 20964679 ENST00000444039.1 0 + chr22 20965107 20981360 ENST00000399167.6 0 + chr22 20965162 20981358 ENST00000399163.6 0 + chr22 20965166 20974814 ENST00000417515.5 0 + chr22 20965171 20973645 ENST00000467926.5 0 + chr22 20965171 20974096 ENST00000441376.6 0 + chr22 20965176 20967036 ENST00000479523.5 0 + chr22 20965176 20973619 ENST00000472575.5 0 + chr22 20965267 20966798 ENST00000495869.1 0 + chr22 20967158 20975778 ENST00000434714.5 0 + chr22 20967247 20974096 ENST00000426113.5 0 + chr22 20967248 20974297 ENST00000468124.5 0 + chr22 20967254 20973678 ENST00000484206.5 0 + chr22 20967254 20981360 ENST00000405089.5 0 + chr22 20967262 20974267 ENST00000496097.1 0 + chr22 20967723 20981360 ENST00000440238.3 0 + chr22 20974512 20981348 ENST00000465606.5 0 + chr22 20975691 20981356 ENST00000483107.5 0 + chr22 20976872 20981355 ENST00000486003.1 0 + chr22 20979461 20998121 ENST00000479606.5 0 + chr22 20981360 20981755 ENST00000610278.1 0 - chr22 20982268 20991685 ENST00000414985.5 0 + chr22 20982296 20987162 ENST00000493460.2 0 + chr22 20982296 20999032 ENST00000646124.2 0 + chr22 20982322 20989675 ENST00000443265.5 0 + chr22 20982330 20988113 ENST00000645935.1 0 + chr22 20982465 20990474 ENST00000644435.1 0 + chr22 20982493 20998659 ENST00000642151.1 0 + chr22 20986078 20991679 ENST00000480895.1 0 + chr22 20988030 20999016 ENST00000646506.1 0 + chr22 20989648 20992848 ENST00000497716.5 0 + chr22 20990814 20999016 ENST00000643578.1 0 + chr22 20991491 20998972 ENST00000495142.6 0 + chr22 20991735 20992532 ENST00000461510.1 0 + chr22 20991780 20994300 ENST00000492480.1 0 + chr22 20993347 20998821 ENST00000643710.1 0 + chr22 20994226 20996112 ENST00000415354.6 0 + chr22 20994476 20995999 ENST00000491432.5 0 + chr22 20994585 20998924 ENST00000415817.2 0 + chr22 20994660 20996712 ENST00000439171.5 0 + chr22 20994905 20997541 ENST00000452988.5 0 + chr22 20995088 20999032 ENST00000463909.1 0 + chr22 20995787 20997769 ENST00000498649.1 0 + chr22 20999103 21001742 ENST00000498406.1 0 - chr22 20999103 21002118 ENST00000215742.9 0 - chr22 20999772 21001795 ENST00000471073.1 0 - chr22 20999776 21002196 ENST00000399133.2 0 - chr22 20999801 21002106 ENST00000476667.5 0 - chr22 21000229 21002117 ENST00000466670.1 0 - chr22 21000271 21001518 ENST00000488975.1 0 - chr22 21001291 21002118 ENST00000471723.1 0 - chr22 21001885 21010125 ENST00000436079.1 0 + chr22 21001921 21003272 ENST00000429962.1 0 + chr22 21002207 21010342 ENST00000452284.1 0 + chr22 21002244 21003264 ENST00000662660.1 0 + chr22 21002894 21009453 ENST00000442739.1 0 - chr22 21008192 21014287 ENST00000422086.5 0 - chr22 21008636 21014292 ENST00000292748.7 0 - chr22 21009807 21017942 ENST00000591411.5 0 + chr22 21011383 21014217 ENST00000640124.1 0 - chr22 21015026 21028830 ENST00000413302.6 0 + chr22 21015152 21028008 ENST00000442475.5 0 + chr22 21015169 21027198 ENST00000401443.5 0 + chr22 21015174 21018791 ENST00000469722.2 0 + chr22 21015182 21023152 ENST00000452228.5 0 + chr22 21015186 21028008 ENST00000432930.5 0 + chr22 21015189 21028013 ENST00000422210.5 0 + chr22 21023348 21026597 ENST00000487342.1 0 + chr22 21028717 21032549 ENST00000403586.5 0 - chr22 21028717 21032561 ENST00000382932.3 0 - chr22 21031353 21044117 ENST00000450652.2 0 + chr22 21031567 21032840 ENST00000426145.1 0 - chr22 21034175 21034272 ENST00000384843.1 0 - chr22 21035242 21045012 ENST00000439119.5 0 - chr22 21042342 21045017 ENST00000450626.1 0 - chr22 21045959 21064168 ENST00000497328.5 0 + chr22 21045980 21062276 ENST00000473769.1 0 + chr22 21045986 21060528 ENST00000442047.2 0 + chr22 21056529 21060397 ENST00000469766.1 0 + chr22 21065461 21070097 ENST00000410028.3 0 + chr22 21071081 21081018 ENST00000641915.1 0 - chr22 21103015 21121784 ENST00000461808.5 0 + chr22 21114489 21117524 ENST00000624908.1 0 + chr22 21114606 21124451 ENST00000420508.1 0 - chr22 21115928 21119758 ENST00000447763.1 0 + chr22 21118589 21122285 ENST00000398241.3 0 + chr22 21125659 21128063 ENST00000329949.3 0 - chr22 21141623 21142371 ENST00000420708.1 0 - chr22 21167757 21192156 ENST00000451257.5 0 + chr22 21167828 21192149 ENST00000415376.5 0 + chr22 21167852 21170852 ENST00000420583.5 0 + chr22 21167852 21173530 ENST00000415704.5 0 + chr22 21167884 21183322 ENST00000421576.5 0 + chr22 21169812 21181056 ENST00000446717.5 0 + chr22 21169864 21170655 ENST00000430463.1 0 + chr22 21169945 21182974 ENST00000424410.1 0 + chr22 21177891 21179875 ENST00000417463.1 0 - chr22 21193359 21203755 ENST00000639507.1 0 - chr22 21203453 21203631 ENST00000639755.1 0 - chr22 21207972 21225554 ENST00000405188.8 0 - chr22 21207973 21227637 ENST00000401924.5 0 - chr22 21228759 21229138 ENST00000637734.1 0 - chr22 21268160 21268903 ENST00000441743.1 0 + chr22 21282880 21284161 ENST00000417732.1 0 + chr22 21290759 21294586 ENST00000510112.1 0 - chr22 21300989 21325042 ENST00000447720.5 0 - chr22 21300990 21309881 ENST00000436681.5 0 - chr22 21300996 21325042 ENST00000416615.5 0 - chr22 21309820 21322854 ENST00000416405.5 0 - chr22 21311739 21324937 ENST00000453273.5 0 - chr22 21311739 21325042 ENST00000431488.5 0 - chr22 21312919 21314904 ENST00000434730.1 0 + chr22 21319269 21324967 ENST00000451574.5 0 - chr22 21321947 21324967 ENST00000452952.1 0 - chr22 21322140 21322935 ENST00000411581.1 0 - chr22 21341594 21345258 ENST00000416640.2 0 + chr22 21354562 21355763 ENST00000624642.1 0 + chr22 21354612 21358067 ENST00000666255.1 0 + chr22 21360600 21361299 ENST00000652479.1 0 - chr22 21370063 21371945 ENST00000422450.1 0 + chr22 21379381 21379701 ENST00000617743.1 0 - chr22 21383373 21389478 ENST00000620804.1 0 + chr22 21389190 21389491 ENST00000363187.1 0 + chr22 21389795 21389938 ENST00000516211.1 0 - chr22 21396272 21396590 ENST00000621315.1 0 - chr22 21417370 21451463 ENST00000407464.7 0 + chr22 21420635 21449434 ENST00000407598.2 0 + chr22 21442459 21451463 ENST00000443632.2 0 + chr22 21463962 21464279 ENST00000612964.1 0 + chr22 21466422 21469935 ENST00000456303.6 0 + chr22 21466449 21467023 ENST00000545656.2 0 + chr22 21467139 21469935 ENST00000621561.4 0 + chr22 21467261 21469933 ENST00000415764.5 0 + chr22 21467318 21469925 ENST00000432134.7 0 + chr22 21467390 21471269 ENST00000449424.5 0 + chr22 21467391 21469933 ENST00000456153.5 0 + chr22 21467464 21469925 ENST00000453397.5 0 + chr22 21467619 21469267 ENST00000413877.5 0 + chr22 21468097 21469925 ENST00000417708.5 0 + chr22 21468287 21469919 ENST00000427147.5 0 + chr22 21468746 21469935 ENST00000425458.5 0 + chr22 21468755 21469717 ENST00000446867.5 0 + chr22 21469147 21469935 ENST00000536718.2 0 + chr22 21472999 21484134 ENST00000486209.5 0 - chr22 21473008 21477143 ENST00000470274.5 0 - chr22 21473008 21477217 ENST00000477296.5 0 - chr22 21473010 21484134 ENST00000463608.5 0 - chr22 21473022 21488382 ENST00000462560.6 0 - chr22 21473034 21517533 ENST00000450651.5 0 - chr22 21473058 21488358 ENST00000360806.9 0 - chr22 21473075 21487907 ENST00000494740.5 0 - chr22 21477379 21490611 ENST00000480319.5 0 - chr22 21477379 21514255 ENST00000467443.5 0 - chr22 21477412 21517520 ENST00000479693.1 0 - chr22 21491975 21514223 ENST00000491562.5 0 - chr22 21491975 21517481 ENST00000476537.1 0 - chr22 21544896 21545039 ENST00000516334.1 0 + chr22 21545343 21545644 ENST00000410420.1 0 - chr22 21545356 21550831 ENST00000331505.5 0 - chr22 21545677 21551461 ENST00000433039.1 0 - chr22 21549446 21624034 ENST00000458578.6 0 + chr22 21555137 21555457 ENST00000619894.1 0 + chr22 21567546 21624034 ENST00000342192.8 0 + chr22 21567546 21624034 ENST00000545681.2 0 + chr22 21567729 21624034 ENST00000496722.1 0 + chr22 21628088 21630012 ENST00000464015.5 0 - chr22 21628088 21630031 ENST00000468686.5 0 - chr22 21628088 21630064 ENST00000292778.10 0 - chr22 21628088 21630064 ENST00000415762.6 0 - chr22 21628113 21630038 ENST00000473985.1 0 - chr22 21628121 21630014 ENST00000482998.1 0 - chr22 21628166 21630035 ENST00000398873.4 0 - chr22 21632715 21635802 ENST00000607942.5 0 + chr22 21632717 21634209 ENST00000425975.1 0 + chr22 21632759 21637329 ENST00000292779.4 0 + chr22 21640843 21641284 ENST00000609038.1 0 + chr22 21642301 21644299 ENST00000248958.5 0 + chr22 21642353 21643292 ENST00000466935.1 0 + chr22 21652269 21670237 ENST00000498589.1 0 + chr22 21652980 21653058 ENST00000390813.1 0 + chr22 21653303 21653385 ENST00000385018.1 0 + chr22 21657810 21661021 ENST00000641967.1 0 + chr22 21661241 21661295 ENST00000641933.1 0 - chr22 21661475 21661593 ENST00000641242.1 0 - chr22 21661858 21661929 ENST00000641337.1 0 - chr22 21661933 21662363 ENST00000610143.1 0 + chr22 21666008 21670283 ENST00000496819.1 0 + chr22 21666008 21700015 ENST00000335025.12 0 + chr22 21666011 21697907 ENST00000398831.8 0 + chr22 21666021 21697866 ENST00000626352.2 0 + chr22 21666022 21681390 ENST00000458567.5 0 + chr22 21666022 21697912 ENST00000417788.5 0 + chr22 21666028 21684878 ENST00000484439.5 0 + chr22 21666039 21698276 ENST00000406385.1 0 + chr22 21666078 21671025 ENST00000498109.1 0 + chr22 21672329 21673609 ENST00000485930.1 0 + chr22 21685672 21697901 ENST00000446951.1 0 + chr22 21694660 21697902 ENST00000462188.1 0 + chr22 21697535 21735794 ENST00000339468.8 0 - chr22 21700864 21735761 ENST00000477675.1 0 - chr22 21701128 21710849 ENST00000672036.1 0 - chr22 21704081 21735755 ENST00000403503.1 0 - chr22 21712760 21714013 ENST00000662004.1 0 + chr22 21722894 21723182 ENST00000496490.3 0 - chr22 21737447 21744108 ENST00000652589.1 0 - chr22 21754499 21867629 ENST00000215832.10 0 - chr22 21763983 21769428 ENST00000491588.1 0 - chr22 21769039 21867680 ENST00000398822.7 0 - chr22 21769203 21867440 ENST00000544786.1 0 - chr22 21792433 21792524 ENST00000364115.1 0 + chr22 21885281 21885673 ENST00000435222.1 0 - chr22 21919424 21952848 ENST00000263212.10 0 - chr22 21919426 21938584 ENST00000407142.5 0 - chr22 21923124 21926062 ENST00000496143.5 0 - chr22 21924875 21931248 ENST00000484588.1 0 - chr22 21924875 21952831 ENST00000397495.8 0 - chr22 21931265 21940657 ENST00000445205.1 0 - chr22 21932713 21936929 ENST00000623652.1 0 - chr22 21934023 21938576 ENST00000424647.1 0 - chr22 21936961 21938531 ENST00000486259.1 0 - chr22 21938268 21943372 ENST00000653280.1 0 + chr22 21938292 21977632 ENST00000458178.2 0 + chr22 21952019 21952821 ENST00000497072.1 0 - chr22 21957024 21982816 ENST00000357179.9 0 - chr22 21957026 21968740 ENST00000457270.5 0 - chr22 21957026 21982790 ENST00000457179.5 0 - chr22 21957030 21982750 ENST00000398793.6 0 - chr22 21957030 21982790 ENST00000444502.5 0 - chr22 21957031 21967650 ENST00000436282.1 0 - chr22 21962127 21962895 ENST00000470338.1 0 - chr22 21968618 21982780 ENST00000424393.5 0 - chr22 21970334 21971632 ENST00000487485.1 0 - chr22 21971894 21982766 ENST00000437929.5 0 - chr22 21971896 21982813 ENST00000430142.5 0 - chr22 21972218 21975796 ENST00000489581.1 0 - chr22 21974375 21982766 ENST00000456075.5 0 - chr22 21974378 21982787 ENST00000449704.5 0 - chr22 21974418 21975969 ENST00000442653.1 0 - chr22 21974432 21982793 ENST00000437103.1 0 - chr22 21975645 21982773 ENST00000434517.1 0 - chr22 21991098 22043858 ENST00000419303.5 0 - chr22 21991099 22043934 ENST00000337471.8 0 - chr22 21991235 21995428 ENST00000548391.1 0 - chr22 22026075 22026593 ENST00000523272.1 0 + chr22 22030933 22031472 ENST00000390282.2 0 + chr22 22032744 22033194 ENST00000519525.1 0 + chr22 22036343 22040065 ENST00000620649.1 0 + chr22 22038642 22215269 ENST00000640991.1 0 + chr22 22038642 22039126 ENST00000423821.2 0 + chr22 22043617 22043942 ENST00000519446.1 0 + chr22 22046429 22046591 ENST00000413294.1 0 + chr22 22058432 22058892 ENST00000521832.1 0 + chr22 22061076 22061538 ENST00000523818.1 0 + chr22 22070224 22070707 ENST00000517313.1 0 + chr22 22075365 22075666 ENST00000518581.1 0 + chr22 22079769 22080263 ENST00000524184.1 0 + chr22 22086560 22087110 ENST00000518003.1 0 + chr22 22087923 22088085 ENST00000611529.1 0 + chr22 22098699 22099212 ENST00000390283.2 0 + chr22 22103218 22104857 ENST00000444224.1 0 + chr22 22114843 22118005 ENST00000580133.2 0 - chr22 22155581 22155942 ENST00000448601.1 0 + chr22 22157381 22157631 ENST00000440562.1 0 + chr22 22162198 22162681 ENST00000390284.2 0 + chr22 22168288 22168634 ENST00000442890.1 0 + chr22 22170982 22171556 ENST00000458366.1 0 - chr22 22179227 22179477 ENST00000520218.1 0 + chr22 22182581 22182885 ENST00000520445.1 0 + chr22 22185940 22186619 ENST00000431230.1 0 + chr22 22195798 22196276 ENST00000390285.4 0 + chr22 22198559 22199011 ENST00000521342.1 0 + chr22 22201662 22202161 ENST00000390286.3 0 + chr22 22214793 22215270 ENST00000390287.2 0 + chr22 22219646 22220133 ENST00000520107.1 0 + chr22 22223186 22224566 ENST00000420768.1 0 - chr22 22228718 22230469 ENST00000432623.1 0 - chr22 22244779 22245505 ENST00000302273.2 0 + chr22 22244785 22245515 ENST00000403807.4 0 + chr22 22264600 22273020 ENST00000624350.1 0 + chr22 22283927 22287220 ENST00000610778.1 0 - chr22 22293732 22294794 ENST00000412149.1 0 + chr22 22298123 22329122 ENST00000652112.1 0 + chr22 22303223 22310401 ENST00000413293.1 0 + chr22 22318726 22319226 ENST00000390289.2 0 + chr22 22322471 22322969 ENST00000390290.3 0 + chr22 22327299 22327814 ENST00000390291.2 0 + chr22 22339572 22341214 ENST00000436538.1 0 + chr22 22343186 22343732 ENST00000427632.2 0 + chr22 22347806 22348164 ENST00000440829.1 0 + chr22 22352939 22353433 ENST00000390293.1 0 + chr22 22357738 22358260 ENST00000390294.2 0 + chr22 22366209 22367770 ENST00000453999.1 0 + chr22 22369613 22370087 ENST00000390295.3 0 + chr22 22370828 22371120 ENST00000443400.1 0 + chr22 22375985 22376505 ENST00000390296.2 0 + chr22 22380765 22381347 ENST00000390297.3 0 + chr22 22395017 22395489 ENST00000390298.2 0 + chr22 22397031 22397524 ENST00000522485.1 0 + chr22 22398848 22398999 ENST00000518405.1 0 + chr22 22404206 22404721 ENST00000519790.1 0 + chr22 22409765 22410282 ENST00000390299.2 0 + chr22 22420325 22421310 ENST00000438037.1 0 + chr22 22425820 22426314 ENST00000519982.1 0 + chr22 22427539 22428035 ENST00000390300.2 0 + chr22 22431957 22432465 ENST00000390301.3 0 + chr22 22446685 22448336 ENST00000451224.1 0 + chr22 22450201 22450652 ENST00000523314.1 0 + chr22 22465658 22465986 ENST00000419501.1 0 + chr22 22484420 22508742 ENST00000626650.3 0 - chr22 22484857 22508733 ENST00000619852.2 0 - chr22 22484872 22489468 ENST00000613655.1 0 - chr22 22513735 22520270 ENST00000302097.3 0 - chr22 22547700 22559265 ENST00000405655.8 0 - chr22 22547700 22559340 ENST00000398743.6 0 - chr22 22547700 22559361 ENST00000492657.5 0 - chr22 22547701 22559143 ENST00000398741.5 0 - chr22 22547701 22559289 ENST00000543184.5 0 - chr22 22547766 22559288 ENST00000402697.5 0 - chr22 22550073 22559279 ENST00000439106.5 0 - chr22 22550182 22555926 ENST00000438888.5 0 - chr22 22550220 22559083 ENST00000420709.5 0 - chr22 22550245 22557721 ENST00000476336.5 0 - chr22 22550298 22554179 ENST00000485532.1 0 - chr22 22550753 22559267 ENST00000406503.1 0 - chr22 22550818 22557592 ENST00000442481.5 0 - chr22 22550851 22557754 ENST00000403441.1 0 - chr22 22559342 22566602 ENST00000407120.1 0 + chr22 22580013 22580296 ENST00000490007.2 0 + chr22 22588154 22588688 ENST00000390302.3 0 + chr22 22594527 22595056 ENST00000390303.3 0 + chr22 22604444 22605165 ENST00000523713.1 0 + chr22 22618571 22619163 ENST00000524362.1 0 + chr22 22630064 22636153 ENST00000506079.2 0 + chr22 22630545 22633849 ENST00000661466.1 0 - chr22 22639176 22644473 ENST00000402027.1 0 - chr22 22642250 22644085 ENST00000605258.1 0 - chr22 22644474 22647903 ENST00000618722.4 0 + chr22 22644617 22647087 ENST00000652219.1 0 + chr22 22644639 22647898 ENST00000480559.6 0 + chr22 22644655 22647898 ENST00000448514.2 0 + chr22 22644657 22647072 ENST00000652249.1 0 + chr22 22644668 22646879 ENST00000651213.1 0 + chr22 22646081 22647903 ENST00000613850.4 0 + chr22 22646309 22647898 ENST00000417145.2 0 + chr22 22646777 22647878 ENST00000652467.1 0 + chr22 22661298 22661542 ENST00000520084.1 0 + chr22 22664472 22664907 ENST00000520681.1 0 + chr22 22668287 22668806 ENST00000390304.2 0 + chr22 22673151 22673602 ENST00000520756.1 0 + chr22 22679096 22679345 ENST00000521893.1 0 + chr22 22686725 22687271 ENST00000390305.2 0 + chr22 22689830 22689978 ENST00000418731.1 0 + chr22 22692777 22693312 ENST00000438185.1 0 - chr22 22694438 22694952 ENST00000517477.1 0 + chr22 22697788 22698407 ENST00000390306.2 0 + chr22 22700759 22700970 ENST00000521183.1 0 + chr22 22704264 22704822 ENST00000390307.2 0 + chr22 22711688 22713203 ENST00000390308.2 0 + chr22 22715289 22715419 ENST00000519296.1 0 + chr22 22720622 22721145 ENST00000390309.2 0 + chr22 22730724 22731090 ENST00000620749.1 0 - chr22 22734606 22735089 ENST00000390310.3 0 + chr22 22738943 22739187 ENST00000519099.1 0 + chr22 22747382 22747921 ENST00000390311.3 0 + chr22 22755553 22755797 ENST00000518356.1 0 + chr22 22758699 22759218 ENST00000390312.2 0 + chr22 22762293 22762516 ENST00000518475.1 0 + chr22 22771823 22772582 ENST00000390313.3 0 + chr22 22774528 22774691 ENST00000415642.1 0 + chr22 22785642 22787268 ENST00000616239.1 0 - chr22 22792490 22793007 ENST00000390314.2 0 + chr22 22803075 22803360 ENST00000618197.1 0 + chr22 22811746 22812281 ENST00000390315.3 0 + chr22 22814670 22814926 ENST00000423259.1 0 + chr22 22819009 22819756 ENST00000390316.2 0 + chr22 22822657 22823289 ENST00000620395.2 0 + chr22 22822775 22822871 ENST00000385101.1 0 + chr22 22834864 22835117 ENST00000458673.1 0 + chr22 22838601 22838872 ENST00000522952.1 0 + chr22 22850374 22850624 ENST00000523937.1 0 + chr22 22856761 22857038 ENST00000522922.1 0 + chr22 22858024 22858268 ENST00000432300.1 0 + chr22 22871506 22872035 ENST00000390318.2 0 + chr22 22873211 22873440 ENST00000519345.1 0 + chr22 22880705 22881396 ENST00000390319.2 0 + chr22 22886266 22886379 ENST00000577998.1 0 + chr22 22887779 22896107 ENST00000532223.2 0 + chr22 22887815 22896111 ENST00000526893.6 0 + chr22 22887828 22895825 ENST00000531372.1 0 + chr22 22893691 22893818 ENST00000390320.2 0 + chr22 22895374 22895834 ENST00000390321.2 0 + chr22 22899480 22899655 ENST00000390322.2 0 + chr22 22900975 22901437 ENST00000390323.2 0 + chr22 22904849 22905025 ENST00000390324.2 0 + chr22 22906341 22906803 ENST00000390325.2 0 + chr22 22910573 22910606 ENST00000390326.2 0 + chr22 22910827 22911075 ENST00000517690.1 0 + chr22 22914236 22914308 ENST00000390327.2 0 + chr22 22915634 22915927 ENST00000519670.1 0 + chr22 22918131 22918201 ENST00000390328.2 0 + chr22 22919534 22919851 ENST00000410078.2 0 + chr22 22921389 22921435 ENST00000390330.2 0 + chr22 22922593 22923034 ENST00000390331.3 0 + chr22 22988262 22988581 ENST00000415639.1 0 + chr22 22990689 23008356 ENST00000420944.1 0 + chr22 23059414 23141990 ENST00000216036.9 0 - chr22 23070518 23125032 ENST00000615612.2 0 + chr22 23070573 23095716 ENST00000492538.1 0 + chr22 23122377 23123342 ENST00000479571.1 0 + chr22 23124226 23134074 ENST00000421213.1 0 - chr22 23131176 23138914 ENST00000439064.1 0 - chr22 23132729 23133005 ENST00000635920.1 0 - chr22 23135992 23140300 ENST00000452757.5 0 - chr22 23136197 23145021 ENST00000406876.1 0 - chr22 23137804 23137864 ENST00000459276.2 0 - chr22 23145325 23164350 ENST00000263116.6 0 + chr22 23145365 23161564 ENST00000341989.8 0 + chr22 23150112 23156311 ENST00000420895.1 0 + chr22 23179703 23261428 ENST00000479188.5 0 + chr22 23179917 23180172 ENST00000412037.2 0 - chr22 23180364 23315950 ENST00000359540.7 0 + chr22 23180508 23318037 ENST00000305877.13 0 + chr22 23198252 23253833 ENST00000463770.5 0 + chr22 23198331 23253833 ENST00000487679.1 0 + chr22 23251031 23261393 ENST00000480973.1 0 + chr22 23253959 23285114 ENST00000427791.1 0 + chr22 23261781 23262071 ENST00000467969.3 0 - chr22 23262766 23265005 ENST00000426721.2 0 + chr22 23283208 23291131 ENST00000487968.5 0 + chr22 23283787 23287173 ENST00000466076.1 0 + chr22 23289614 23310433 ENST00000419722.6 0 + chr22 23295040 23302863 ENST00000471452.1 0 + chr22 23306153 23310433 ENST00000478978.5 0 + chr22 23306744 23313999 ENST00000475025.5 0 + chr22 23309473 23318034 ENST00000436990.2 0 + chr22 23312387 23314695 ENST00000458056.2 0 + chr22 23322542 23322927 ENST00000440602.1 0 - chr22 23326615 23328493 ENST00000450776.1 0 + chr22 23359602 23377014 ENST00000400418.7 0 - chr22 23366301 23376896 ENST00000422151.6 0 - chr22 23370094 23380752 ENST00000431237.5 0 - chr22 23370094 23387731 ENST00000415114.1 0 - chr22 23373647 23377071 ENST00000424029.1 0 - chr22 23390605 23402567 ENST00000255890.8 0 - chr22 23390605 23402726 ENST00000433168.5 0 - chr22 23391376 23402572 ENST00000420968.5 0 - chr22 23392552 23394792 ENST00000512987.2 0 + chr22 23392584 23399608 ENST00000456279.1 0 - chr22 23397937 23402157 ENST00000418264.1 0 - chr22 23433563 23435071 ENST00000449711.1 0 + chr22 23434170 23434731 ENST00000428415.1 0 + chr22 23446597 23460788 ENST00000454268.1 0 + chr22 23458378 23460833 ENST00000457193.1 0 + chr22 23460348 23460511 ENST00000426024.1 0 + chr22 23462085 23486980 ENST00000320372.9 0 - chr22 23510153 23512662 ENST00000653461.1 0 + chr22 23512493 23513602 ENST00000432249.2 0 - chr22 23536880 23539480 ENST00000629869.1 0 + chr22 23536898 23547167 ENST00000626825.1 0 + chr22 23543862 23547797 ENST00000627127.1 0 + chr22 23567063 23573122 ENST00000454863.4 0 + chr22 23567063 23573507 ENST00000458318.2 0 + chr22 23573124 23580239 ENST00000249053.3 0 - chr22 23573124 23580290 ENST00000330377.3 0 - chr22 23573368 23580302 ENST00000438703.1 0 - chr22 23580879 23583859 ENST00000608615.1 0 - chr22 23607040 23608407 ENST00000614827.1 0 + chr22 23608451 23632321 ENST00000317749.9 0 - chr22 23610328 23610538 ENST00000622821.1 0 + chr22 23613286 23632023 ENST00000614553.1 0 - chr22 23630617 23638941 ENST00000390329.3 0 - chr22 23638486 23652886 ENST00000430357.4 0 - chr22 23638486 23693151 ENST00000455485.5 0 - chr22 23638486 23717321 ENST00000451837.5 0 - chr22 23638486 23717321 ENST00000452737.5 0 - chr22 23638486 23717356 ENST00000422506.5 0 - chr22 23638486 23717356 ENST00000445682.2 0 - chr22 23638491 23640762 ENST00000430707.2 0 - chr22 23638677 23640425 ENST00000425948.2 0 - chr22 23649212 23653334 ENST00000428790.1 0 - chr22 23652859 23690293 ENST00000423913.5 0 - chr22 23653168 23717347 ENST00000421064.5 0 - chr22 23653169 23686914 ENST00000434893.1 0 - chr22 23653183 23700843 ENST00000651432.1 0 - chr22 23658093 23693185 ENST00000417194.5 0 - chr22 23659868 23717295 ENST00000435868.1 0 - chr22 23659875 23690491 ENST00000438858.1 0 - chr22 23678609 23690297 ENST00000458554.5 0 - chr22 23683724 23687980 ENST00000451919.1 0 - chr22 23683743 23687819 ENST00000437862.1 0 - chr22 23688135 23699176 ENST00000441897.5 0 + chr22 23688141 23699176 ENST00000401461.5 0 + chr22 23690860 23698651 ENST00000612432.4 0 + chr22 23690860 23699171 ENST00000615003.4 0 + chr22 23690860 23699176 ENST00000290691.9 0 + chr22 23691305 23698978 ENST00000423392.5 0 + chr22 23691305 23698978 ENST00000460003.4 0 + chr22 23691305 23699176 ENST00000467354.2 0 + chr22 23696483 23699176 ENST00000452208.1 0 + chr22 23698069 23698544 ENST00000460167.1 0 + chr22 23700788 23717267 ENST00000432595.1 0 - chr22 23709840 23717327 ENST00000444220.2 0 - chr22 23714185 23717356 ENST00000437294.1 0 - chr22 23738681 23751112 ENST00000341976.5 0 - chr22 23752742 23754409 ENST00000398465.3 0 - chr22 23752742 23754425 ENST00000248948.4 0 - chr22 23763020 23764363 ENST00000498542.5 0 + chr22 23763020 23765861 ENST00000477921.1 0 + chr22 23763053 23765861 ENST00000402217.7 0 + chr22 23763206 23765861 ENST00000305199.9 0 + chr22 23763222 23765861 ENST00000382821.3 0 + chr22 23765833 23767876 ENST00000520222.1 0 - chr22 23765833 23767942 ENST00000401675.7 0 - chr22 23765833 23768443 ENST00000484558.2 0 - chr22 23765873 23766464 ENST00000523865.1 0 - chr22 23765934 23767920 ENST00000517886.1 0 - chr22 23768225 23784316 ENST00000465385.5 0 + chr22 23768642 23781007 ENST00000477567.5 0 + chr22 23768659 23780666 ENST00000489582.5 0 + chr22 23772845 23779697 ENST00000465730.1 0 + chr22 23772845 23780484 ENST00000428253.1 0 + chr22 23772848 23784316 ENST00000215743.8 0 + chr22 23772848 23784316 ENST00000437086.5 0 + chr22 23777640 23781100 ENST00000460352.1 0 + chr22 23780879 23783441 ENST00000434318.1 0 + chr22 23780940 23782315 ENST00000493132.1 0 + chr22 23780956 23781751 ENST00000492464.1 0 + chr22 23781263 23782628 ENST00000488363.1 0 + chr22 23781813 23782483 ENST00000480185.1 0 + chr22 23786930 23834540 ENST00000407422.8 0 + chr22 23786945 23838008 ENST00000644036.1 0 + chr22 23786962 23834505 ENST00000344921.11 0 + chr22 23786977 23802275 ENST00000646421.1 0 + chr22 23786979 23802060 ENST00000491967.2 0 + chr22 23786982 23834505 ENST00000647057.1 0 + chr22 23787000 23816927 ENST00000644619.1 0 + chr22 23787010 23834501 ENST00000263121.12 0 + chr22 23787016 23803401 ENST00000407082.4 0 + chr22 23787026 23816833 ENST00000417137.6 0 + chr22 23787181 23834270 ENST00000646723.1 0 + chr22 23787201 23804383 ENST00000643421.1 0 + chr22 23787257 23826248 ENST00000646911.1 0 + chr22 23791800 23834358 ENST00000644462.1 0 + chr22 23791810 23803322 ENST00000634926.1 0 + chr22 23791810 23803322 ENST00000635578.1 0 + chr22 23801298 23803629 ENST00000642727.1 0 + chr22 23802000 23818669 ENST00000644467.1 0 + chr22 23802546 23818580 ENST00000642275.1 0 + chr22 23814990 23833587 ENST00000477836.2 0 + chr22 23823107 23834353 ENST00000645799.1 0 + chr22 23834502 23836514 ENST00000464023.1 0 - chr22 23834502 23839006 ENST00000404056.1 0 - chr22 23834502 23839006 ENST00000406855.7 0 - chr22 23834502 23839128 ENST00000290730.11 0 - chr22 23836464 23837684 ENST00000493596.5 0 - chr22 23836733 23837698 ENST00000464034.5 0 - chr22 23836733 23838203 ENST00000488272.5 0 - chr22 23836733 23839004 ENST00000318109.11 0 - chr22 23836733 23839012 ENST00000476077.1 0 - chr22 23836766 23839004 ENST00000464110.1 0 - chr22 23856426 23857039 ENST00000609825.1 0 - chr22 23856702 23886309 ENST00000345044.10 0 + chr22 23856862 23870182 ENST00000403208.7 0 + chr22 23856871 23885536 ENST00000398356.6 0 + chr22 23856933 23877328 ENST00000405847.5 0 + chr22 23856945 23882952 ENST00000467660.5 0 + chr22 23856950 23882951 ENST00000405286.6 0 + chr22 23856956 23884933 ENST00000255830.7 0 + chr22 23856956 23885551 ENST00000489322.5 0 + chr22 23856961 23866806 ENST00000440493.5 0 + chr22 23856999 23875211 ENST00000473740.5 0 + chr22 23856999 23886112 ENST00000611880.4 0 + chr22 23857335 23862325 ENST00000492516.1 0 + chr22 23857416 23877287 ENST00000423972.5 0 + chr22 23857470 23875189 ENST00000418102.5 0 + chr22 23857874 23868796 ENST00000491948.5 0 + chr22 23857894 23877172 ENST00000436643.5 0 + chr22 23857918 23885553 ENST00000405340.6 0 + chr22 23857960 23885536 ENST00000461809.5 0 + chr22 23857962 23884867 ENST00000316185.8 0 + chr22 23862187 23895223 ENST00000433835.3 0 + chr22 23865247 23873277 ENST00000624923.1 0 - chr22 23875159 23882952 ENST00000482576.1 0 + chr22 23877857 23884784 ENST00000472526.1 0 + chr22 23879492 23879790 ENST00000491172.3 0 - chr22 23880408 23883307 ENST00000473357.1 0 + chr22 23882959 23885536 ENST00000486907.1 0 + chr22 23894382 23895223 ENST00000215754.8 0 + chr22 23894425 23898930 ENST00000406213.1 0 - chr22 23894449 23895227 ENST00000465752.1 0 + chr22 23894697 23895227 ENST00000498385.1 0 + chr22 23901431 23907068 ENST00000609510.1 0 - chr22 23926899 23929574 ENST00000439492.1 0 + chr22 23939997 23942798 ENST00000443377.1 0 + chr22 23949917 23954042 ENST00000440099.1 0 + chr22 23957413 23961186 ENST00000290765.8 0 - chr22 23957618 23961153 ENST00000404172.3 0 - chr22 23963779 23964374 ENST00000423307.1 0 + chr22 23966887 23972556 ENST00000215770.6 0 + chr22 23969210 23969873 ENST00000609736.1 0 + chr22 23971364 23974584 ENST00000398344.8 0 - chr22 23971364 23979828 ENST00000350608.7 0 - chr22 23971369 23973183 ENST00000428792.1 0 - chr22 23971377 23980469 ENST00000404092.5 0 - chr22 23973080 23974491 ENST00000444947.2 0 - chr22 23973103 23974459 ENST00000403754.7 0 - chr22 23973103 23974459 ENST00000430101.2 0 - chr22 23976871 23991421 ENST00000437021.2 0 - chr22 23976903 23977585 ENST00000506097.1 0 - chr22 23980057 23983710 ENST00000402588.6 0 + chr22 23980057 23983915 ENST00000634759.1 0 + chr22 23980122 23983911 ENST00000621118.4 0 + chr22 23998400 24005361 ENST00000611600.4 0 - chr22 23998400 24005409 ENST00000621179.5 0 - chr22 23998489 24005453 ENST00000612717.4 0 - chr22 24000149 24005361 ENST00000617532.4 0 - chr22 24006304 24008258 ENST00000440539.1 0 - chr22 24011191 24056304 ENST00000454754.5 0 + chr22 24011303 24178628 ENST00000263119.10 0 + chr22 24011314 24178628 ENST00000617531.4 0 + chr22 24011347 24178628 ENST00000405822.6 0 + chr22 24011415 24056318 ENST00000445422.5 0 + chr22 24011417 24178628 ENST00000398319.6 0 + chr22 24055067 24056525 ENST00000474981.1 0 + chr22 24067004 24071183 ENST00000484593.1 0 + chr22 24087587 24092013 ENST00000496016.1 0 + chr22 24098112 24119606 ENST00000467937.1 0 + chr22 24101688 24103354 ENST00000444093.1 0 + chr22 24155837 24178627 ENST00000337989.11 0 + chr22 24156532 24164489 ENST00000495121.1 0 + chr22 24167222 24173398 ENST00000485008.1 0 + chr22 24175778 24177538 ENST00000459824.1 0 + chr22 24181486 24189106 ENST00000358321.4 0 + chr22 24182576 24189106 ENST00000463101.1 0 + chr22 24219653 24245078 ENST00000263112.11 0 - chr22 24219653 24245142 ENST00000327365.8 0 - chr22 24219659 24226112 ENST00000425408.5 0 - chr22 24219659 24245059 ENST00000398292.3 0 - chr22 24232972 24245082 ENST00000424217.1 0 - chr22 24241088 24245108 ENST00000623756.1 0 - chr22 24248073 24249466 ENST00000402176.3 0 - chr22 24251827 24265525 ENST00000414583.6 0 + chr22 24252004 24253289 ENST00000441984.1 0 + chr22 24256633 24261900 ENST00000419222.1 0 + chr22 24259928 24263764 ENST00000444246.1 0 - chr22 24269345 24270134 ENST00000396982.3 0 - chr22 24270816 24417739 ENST00000437398.5 0 + chr22 24270821 24330401 ENST00000421374.5 0 + chr22 24270830 24417738 ENST00000314328.14 0 + chr22 24270836 24417206 ENST00000651059.1 0 + chr22 24270882 24324304 ENST00000416735.5 0 + chr22 24270882 24414773 ENST00000541492.1 0 + chr22 24270897 24442356 ENST00000358654.2 0 + chr22 24304395 24321688 ENST00000440893.1 0 + chr22 24412159 24414752 ENST00000472799.1 0 + chr22 24417878 24433192 ENST00000467385.5 0 + chr22 24422487 24433208 ENST00000486351.1 0 + chr22 24423596 24433667 ENST00000424232.5 0 + chr22 24423596 24442356 ENST00000611543.4 0 + chr22 24423630 24433729 ENST00000486108.1 0 + chr22 24424397 24433423 ENST00000464977.5 0 + chr22 24424408 24441345 ENST00000444262.6 0 + chr22 24427561 24433654 ENST00000496258.1 0 + chr22 24427598 24442357 ENST00000337539.12 0 + chr22 24427626 24441173 ENST00000496497.1 0 + chr22 24429205 24494800 ENST00000326341.8 0 - chr22 24432118 24433492 ENST00000472248.5 0 + chr22 24432118 24442356 ENST00000610595.4 0 + chr22 24432118 24442356 ENST00000618076.3 0 + chr22 24432166 24433597 ENST00000436735.1 0 + chr22 24432839 24433634 ENST00000439591.1 0 + chr22 24438269 24494800 ENST00000650766.1 0 - chr22 24438275 24495074 ENST00000427813.6 0 - chr22 24438279 24494815 ENST00000412790.2 0 - chr22 24494106 24526668 ENST00000415388.5 0 + chr22 24495241 24503738 ENST00000382760.2 0 + chr22 24495331 24528390 ENST00000326010.10 0 + chr22 24516507 24518386 ENST00000432032.1 0 + chr22 24519800 24528390 ENST00000498140.1 0 + chr22 24520173 24523700 ENST00000486043.1 0 + chr22 24540422 24555935 ENST00000621833.4 0 - chr22 24540437 24555182 ENST00000407471.7 0 - chr22 24540437 24555316 ENST00000435822.5 0 - chr22 24540441 24555171 ENST00000398245.8 0 - chr22 24540531 24548032 ENST00000490922.1 0 - chr22 24542397 24555935 ENST00000404664.7 0 - chr22 24542686 24555089 ENST00000447813.6 0 - chr22 24542755 24555125 ENST00000402766.5 0 - chr22 24542829 24544083 ENST00000493099.1 0 - chr22 24544044 24547390 ENST00000480272.1 0 - chr22 24546916 24555859 ENST00000407973.2 0 - chr22 24547715 24555124 ENST00000468170.1 0 - chr22 24547772 24548961 ENST00000490810.1 0 - chr22 24555957 24558086 ENST00000468770.1 0 + chr22 24555998 24574971 ENST00000215829.8 0 + chr22 24556006 24582052 ENST00000402849.5 0 + chr22 24556006 24628987 ENST00000652248.1 0 + chr22 24556008 24609980 ENST00000404603.5 0 + chr22 24556031 24609150 ENST00000439775.1 0 + chr22 24583749 24628968 ENST00000651180.1 0 + chr22 24583749 24629005 ENST00000248923.9 0 + chr22 24585619 24593066 ENST00000446942.5 0 - chr22 24585634 24593073 ENST00000318753.13 0 - chr22 24585634 24593073 ENST00000491910.5 0 - chr22 24585648 24593064 ENST00000404045.6 0 - chr22 24585661 24593079 ENST00000460524.5 0 - chr22 24588681 24592285 ENST00000495297.5 0 - chr22 24589164 24593034 ENST00000465334.1 0 - chr22 24589405 24593208 ENST00000464490.1 0 - chr22 24594810 24611171 ENST00000456869.5 0 + chr22 24594813 24615107 ENST00000411974.5 0 + chr22 24598053 24599398 ENST00000438893.2 0 + chr22 24603146 24628134 ENST00000412658.5 0 + chr22 24603183 24614814 ENST00000445029.5 0 + chr22 24603192 24628996 ENST00000400382.6 0 + chr22 24603197 24620468 ENST00000419133.5 0 + chr22 24603212 24611192 ENST00000438643.6 0 + chr22 24603212 24615127 ENST00000452551.5 0 + chr22 24603214 24614851 ENST00000412898.5 0 + chr22 24603215 24629001 ENST00000400380.5 0 + chr22 24603216 24614904 ENST00000455483.5 0 + chr22 24603234 24615071 ENST00000430289.5 0 + chr22 24607620 24615125 ENST00000447416.5 0 + chr22 24607638 24615078 ENST00000432867.5 0 + chr22 24607658 24615093 ENST00000451366.5 0 + chr22 24607663 24615125 ENST00000428855.5 0 + chr22 24609461 24628996 ENST00000425895.5 0 + chr22 24610365 24615972 ENST00000474191.6 0 + chr22 24614861 24620833 ENST00000487766.1 0 + chr22 24620407 24628976 ENST00000466310.5 0 + chr22 24627179 24628996 ENST00000401885.5 0 + chr22 24627251 24628975 ENST00000404532.5 0 + chr22 24627254 24629005 ENST00000403838.5 0 + chr22 24627407 24628996 ENST00000404223.5 0 + chr22 24627443 24628839 ENST00000404920.1 0 + chr22 24627875 24628976 ENST00000490087.1 0 + chr22 24632914 24647760 ENST00000447261.6 0 + chr22 24632953 24650012 ENST00000621462.4 0 + chr22 24633271 24633443 ENST00000639500.1 0 + chr22 24644790 24650832 ENST00000382243.5 0 + chr22 24645170 24651657 ENST00000639904.1 0 - chr22 24647698 24650003 ENST00000611425.1 0 + chr22 24648245 24653356 ENST00000614808.1 0 + chr22 24657480 24658765 ENST00000436994.1 0 - chr22 24686167 24686679 ENST00000430731.1 0 + chr22 24686922 24688087 ENST00000409926.2 0 + chr22 24691121 24696003 ENST00000633827.1 0 - chr22 24703347 24703503 ENST00000456260.1 0 + chr22 24712291 24712520 ENST00000442565.1 0 + chr22 24719033 24762523 ENST00000616349.4 0 - chr22 24719033 24774716 ENST00000332271.9 0 - chr22 24719249 24774477 ENST00000527701.5 0 - chr22 24719249 24774477 ENST00000533313.5 0 - chr22 24719471 24774720 ENST00000532537.2 0 - chr22 24806168 24926844 ENST00000610372.4 0 + chr22 24806268 24927578 ENST00000400358.8 0 + chr22 24806306 24814192 ENST00000470591.1 0 + chr22 24806318 24925137 ENST00000400359.4 0 + chr22 24843459 24925137 ENST00000473458.5 0 + chr22 24844740 24924593 ENST00000480523.1 0 + chr22 24901146 24901214 ENST00000362913.1 0 - chr22 24934953 24946694 ENST00000640159.1 0 - chr22 24935109 24946695 ENST00000407886.1 0 - chr22 24935240 24939535 ENST00000423535.1 0 - chr22 24952729 25194457 ENST00000406486.8 0 + chr22 25009684 25015072 ENST00000623888.1 0 - chr22 25022593 25024652 ENST00000624101.1 0 - chr22 25027973 25197444 ENST00000358431.7 0 + chr22 25040580 25186451 ENST00000494730.2 0 + chr22 25041312 25049689 ENST00000461374.1 0 + chr22 25048966 25051966 ENST00000623239.1 0 - chr22 25052121 25065241 ENST00000623980.1 0 - chr22 25069968 25197448 ENST00000401395.1 0 + chr22 25102432 25112692 ENST00000366110.4 0 - chr22 25111841 25197399 ENST00000637069.1 0 + chr22 25179308 25179554 ENST00000604037.1 0 - chr22 25199857 25207359 ENST00000215855.7 0 + chr22 25199872 25207267 ENST00000404334.1 0 + chr22 25212084 25213826 ENST00000454253.2 0 + chr22 25212104 25213777 ENST00000651679.1 0 + chr22 25212563 25231870 ENST00000651629.1 0 + chr22 25219638 25231869 ENST00000398215.3 0 + chr22 25251522 25252602 ENST00000623422.1 0 - chr22 25279528 25282291 ENST00000411511.5 0 - chr22 25281285 25282674 ENST00000432495.1 0 - chr22 25282612 25320086 ENST00000650352.1 0 + chr22 25282942 25300791 ENST00000649082.1 0 + chr22 25318255 25320080 ENST00000412472.2 0 + chr22 25327251 25339975 ENST00000433457.2 0 + chr22 25349542 25350322 ENST00000434827.1 0 - chr22 25351417 25362557 ENST00000467672.5 0 - chr22 25351420 25362557 ENST00000610821.4 0 - chr22 25351420 25381577 ENST00000402859.6 0 - chr22 25351456 25405377 ENST00000444995.7 0 - chr22 25351456 25405377 ENST00000650168.1 0 - chr22 25351461 25360189 ENST00000402785.2 0 - chr22 25351611 25405274 ENST00000650500.2 0 - chr22 25351787 25360225 ENST00000474163.1 0 - chr22 25354756 25357806 ENST00000484509.1 0 - chr22 25360081 25381531 ENST00000468442.1 0 - chr22 25434323 25435070 ENST00000609330.1 0 - chr22 25436311 25436915 ENST00000609964.1 0 + chr22 25437305 25437823 ENST00000603243.1 0 - chr22 25448104 25461678 ENST00000382734.9 0 + chr22 25455645 25455711 ENST00000615588.1 0 + chr22 25455711 25459681 ENST00000415709.5 0 + chr22 25455717 25511628 ENST00000354451.6 0 + chr22 25455795 25520854 ENST00000509460.2 0 + chr22 25459975 25461668 ENST00000609084.1 0 + chr22 25476217 25479971 ENST00000609475.1 0 + chr22 25518034 25520853 ENST00000609513.1 0 + chr22 25561116 25564462 ENST00000412773.1 0 - chr22 25561116 25564715 ENST00000668059.1 0 - chr22 25561123 25564150 ENST00000422876.1 0 - chr22 25562640 25564181 ENST00000666865.1 0 - chr22 25563100 25564259 ENST00000453811.1 0 - chr22 25563100 25564719 ENST00000661676.1 0 - chr22 25564674 25729294 ENST00000324198.11 0 + chr22 25564911 25723018 ENST00000619906.4 0 + chr22 25565106 25684568 ENST00000455558.2 0 + chr22 25580240 25581382 ENST00000413494.1 0 - chr22 25647260 25649232 ENST00000418510.1 0 + chr22 25715040 25715169 ENST00000410653.1 0 - chr22 25742143 26027766 ENST00000536101.5 0 + chr22 25742152 26031041 ENST00000335473.11 0 + chr22 25742233 26030644 ENST00000407587.6 0 + chr22 25756317 25756669 ENST00000624255.1 0 - chr22 25761033 26030586 ENST00000539302.5 0 + chr22 25770026 26027766 ENST00000418374.6 0 + chr22 25876853 25901042 ENST00000453457.7 0 - chr22 25883395 25901050 ENST00000600211.5 0 - chr22 25892225 25901033 ENST00000597284.5 0 - chr22 25892362 25898998 ENST00000595102.5 0 - chr22 25892397 25895595 ENST00000593715.5 0 - chr22 25892397 25900622 ENST00000594585.5 0 - chr22 25892397 25901010 ENST00000609157.5 0 - chr22 25892399 25896847 ENST00000597614.6 0 - chr22 25892399 25901067 ENST00000599080.5 0 - chr22 25892404 25900630 ENST00000597548.5 0 - chr22 25892413 25895643 ENST00000596813.1 0 - chr22 25892436 25896744 ENST00000609820.5 0 - chr22 25892436 25896756 ENST00000608921.5 0 - chr22 25892436 25898994 ENST00000608507.5 0 - chr22 25892436 25901016 ENST00000608115.5 0 - chr22 25892436 25901036 ENST00000609570.5 0 - chr22 25892436 25901067 ENST00000609275.5 0 - chr22 25892436 25903246 ENST00000609889.5 0 - chr22 25892436 25903247 ENST00000608257.5 0 - chr22 25892437 25897596 ENST00000609809.1 0 - chr22 25892443 25900473 ENST00000609823.1 0 - chr22 25892444 25900537 ENST00000607895.1 0 - chr22 25892464 25898916 ENST00000594542.1 0 - chr22 25894693 25899820 ENST00000600269.1 0 - chr22 25894849 25899827 ENST00000599792.5 0 - chr22 25895141 25898752 ENST00000594856.1 0 - chr22 25897463 25898633 ENST00000600903.1 0 - chr22 25898932 25899827 ENST00000595093.1 0 - chr22 25901177 25903764 ENST00000534908.5 0 + chr22 25901177 25903797 ENST00000536204.1 0 + chr22 25953534 25965071 ENST00000539544.1 0 + chr22 25955314 26030645 ENST00000543971.1 0 + chr22 25959073 25983526 ENST00000436423.1 0 - chr22 25963982 25964273 ENST00000411124.1 0 - chr22 26006388 26006532 ENST00000440996.1 0 - chr22 26027048 26030644 ENST00000540454.1 0 + chr22 26161833 26164303 ENST00000420391.1 0 + chr22 26161904 26168753 ENST00000652418.1 0 - chr22 26161909 26169083 ENST00000650717.1 0 - chr22 26161911 26169341 ENST00000434510.2 0 - chr22 26169461 26383596 ENST00000248933.11 0 + chr22 26169473 26380471 ENST00000404234.7 0 + chr22 26169473 26383597 ENST00000529632.6 0 + chr22 26169513 26383596 ENST00000360929.7 0 + chr22 26169574 26380373 ENST00000629590.2 0 + chr22 26169657 26380334 ENST00000343706.8 0 + chr22 26241330 26254092 ENST00000414989.2 0 - chr22 26292250 26380468 ENST00000402979.1 0 + chr22 26292250 26380468 ENST00000403121.5 0 + chr22 26347788 26351456 ENST00000483291.1 0 + chr22 26364748 26377720 ENST00000494013.1 0 + chr22 26390666 26390776 ENST00000516458.1 0 - chr22 26422070 26423193 ENST00000450463.1 0 - chr22 26429259 26445015 ENST00000215906.6 0 + chr22 26443422 26464015 ENST00000519774.5 0 - chr22 26444226 26464192 ENST00000493455.6 0 - chr22 26451479 26452892 ENST00000491142.1 0 - chr22 26451479 26483812 ENST00000398145.6 0 - chr22 26452082 26479448 ENST00000429411.5 0 - chr22 26452082 26479546 ENST00000464362.5 0 - chr22 26452082 26479681 ENST00000402105.7 0 - chr22 26452082 26483795 ENST00000336873.9 0 - chr22 26452082 26483836 ENST00000439453.5 0 - chr22 26452082 26483837 ENST00000466781.5 0 - chr22 26453111 26479488 ENST00000496385.5 0 - chr22 26453645 26472950 ENST00000485842.5 0 - chr22 26464238 26483783 ENST00000422379.2 0 - chr22 26465520 26477011 ENST00000459918.1 0 - chr22 26475369 26479411 ENST00000481910.1 0 - chr22 26476990 26483836 ENST00000483631.1 0 - chr22 26481834 26483836 ENST00000479064.5 0 - chr22 26481857 26483828 ENST00000473782.1 0 - chr22 26483876 26494658 ENST00000215917.11 0 + chr22 26487981 26491070 ENST00000477945.1 0 + chr22 26490772 26491832 ENST00000471799.1 0 + chr22 26491224 26510707 ENST00000619735.4 0 - chr22 26491239 26512473 ENST00000407690.6 0 - chr22 26491926 26494619 ENST00000492137.1 0 - chr22 26491926 26512377 ENST00000407431.5 0 - chr22 26491926 26512496 ENST00000407148.5 0 - chr22 26491985 26512499 ENST00000405938.5 0 - chr22 26498702 26499391 ENST00000481357.1 0 - chr22 26499413 26506332 ENST00000450493.1 0 - chr22 26499536 26506105 ENST00000496523.5 0 - chr22 26502035 26506712 ENST00000493698.1 0 - chr22 26506672 26512505 ENST00000479489.5 0 - chr22 26506737 26512478 ENST00000472918.5 0 - chr22 26506773 26512460 ENST00000455080.5 0 - chr22 26506873 26512478 ENST00000418876.5 0 - chr22 26506877 26512496 ENST00000420242.5 0 - chr22 26510144 26512489 ENST00000440258.1 0 - chr22 26511688 26512495 ENST00000464449.1 0 - chr22 26512536 26514568 ENST00000566814.1 0 + chr22 26512554 26513912 ENST00000565764.1 0 + chr22 26521995 26590132 ENST00000338754.9 0 - chr22 26525745 26565368 ENST00000398110.6 0 - chr22 26525745 26596717 ENST00000403880.5 0 - chr22 26535894 26540871 ENST00000445720.1 0 - chr22 26541205 26590125 ENST00000442495.5 0 - chr22 26541270 26550653 ENST00000454778.5 0 - chr22 26541438 26590125 ENST00000440953.5 0 - chr22 26541484 26565726 ENST00000453117.1 0 - chr22 26541489 26590125 ENST00000450022.1 0 - chr22 26555211 26555323 ENST00000408833.1 0 - chr22 26560525 26561088 ENST00000395823.2 0 + chr22 26597027 26611453 ENST00000668614.1 0 + chr22 26599277 26618027 ENST00000647684.1 0 - chr22 26601948 26608329 ENST00000647569.1 0 - chr22 26621962 26630669 ENST00000354760.4 0 + chr22 26621982 26630641 ENST00000466315.1 0 + chr22 26644888 26645336 ENST00000425548.1 0 - chr22 26646410 26666225 ENST00000668051.1 0 + chr22 26646420 26666225 ENST00000421867.6 0 + chr22 26646438 26647382 ENST00000656640.1 0 + chr22 26646451 26669655 ENST00000643270.1 0 + chr22 26646470 26664333 ENST00000669142.1 0 + chr22 26646473 26650519 ENST00000643002.1 0 + chr22 26646639 26665639 ENST00000418918.5 0 + chr22 26646814 26665190 ENST00000660931.1 0 + chr22 26647210 26665737 ENST00000440347.5 0 + chr22 26647223 26665909 ENST00000450203.5 0 + chr22 26647227 26665809 ENST00000430483.5 0 + chr22 26657220 26666549 ENST00000436238.6 0 + chr22 26657225 26665872 ENST00000439738.5 0 + chr22 26657255 26665769 ENST00000422403.5 0 + chr22 26657266 26665815 ENST00000425476.5 0 + chr22 26657279 26665918 ENST00000455640.5 0 + chr22 26657279 26665949 ENST00000451141.1 0 + chr22 26657283 26666023 ENST00000452429.5 0 + chr22 26657457 26666180 ENST00000413665.5 0 + chr22 26657467 26676475 ENST00000616469.4 0 + chr22 26657519 26676475 ENST00000613780.4 0 + chr22 26657519 26676475 ENST00000616213.4 0 + chr22 26657519 26676475 ENST00000620145.4 0 + chr22 26657520 26657655 ENST00000617016.1 0 + chr22 26657587 26665214 ENST00000670887.1 0 + chr22 26657587 26665852 ENST00000458302.5 0 + chr22 26657588 26666038 ENST00000419237.1 0 + chr22 26657610 26665679 ENST00000449717.1 0 + chr22 26657613 26665793 ENST00000453023.1 0 + chr22 26665360 26670599 ENST00000665574.1 0 + chr22 26667692 26672654 ENST00000382641.1 0 - chr22 26671401 26671550 ENST00000618919.1 0 + chr22 26672163 26672248 ENST00000613562.1 0 + chr22 26672746 26719282 ENST00000651474.1 0 + chr22 26672766 26734455 ENST00000444388.5 0 + chr22 26672776 26776848 ENST00000450963.5 0 + chr22 26672790 26780100 ENST00000449017.6 0 + chr22 26672804 26778635 ENST00000435162.5 0 + chr22 26672804 26780207 ENST00000437071.5 0 + chr22 26672813 26776882 ENST00000440816.5 0 + chr22 26672855 26718392 ENST00000421253.1 0 + chr22 26673253 26673630 ENST00000613656.1 0 + chr22 26677661 26743965 ENST00000653953.1 0 + chr22 26693692 26719686 ENST00000668496.1 0 + chr22 26717251 26742838 ENST00000446336.1 0 + chr22 26717368 26722172 ENST00000417083.1 0 + chr22 26735073 26738240 ENST00000662474.1 0 + chr22 26775522 26780100 ENST00000664301.1 0 + chr22 26779186 26780893 ENST00000669899.1 0 + chr22 26858633 26865786 ENST00000434868.1 0 + chr22 26858667 26870212 ENST00000653531.1 0 + chr22 26860525 26886182 ENST00000671424.1 0 + chr22 26860547 26885691 ENST00000658323.1 0 + chr22 26860552 26881803 ENST00000664041.1 0 + chr22 26860552 26968763 ENST00000670559.1 0 + chr22 26860567 26881431 ENST00000664057.1 0 + chr22 26886908 26887548 ENST00000422915.1 0 - chr22 26903291 26908113 ENST00000447149.5 0 + chr22 26903339 26920935 ENST00000438113.2 0 + chr22 27019368 27024550 ENST00000623027.1 0 + chr22 27035886 27035991 ENST00000363573.1 0 + chr22 27040196 27041494 ENST00000623814.1 0 + chr22 27044000 27045315 ENST00000624792.1 0 + chr22 27048143 27060518 ENST00000453934.1 0 - chr22 27057512 27061247 ENST00000658755.1 0 - chr22 27102765 27107019 ENST00000623947.1 0 + chr22 27143477 27159878 ENST00000430468.1 0 + chr22 27204210 27205126 ENST00000427360.1 0 + chr22 27221348 27224727 ENST00000444114.5 0 - chr22 27223294 27224651 ENST00000660027.1 0 - chr22 27223296 27224657 ENST00000418271.1 0 - chr22 27223296 27225134 ENST00000659538.1 0 - chr22 27223298 27224478 ENST00000650737.1 0 - chr22 27276239 27286349 ENST00000449126.1 0 + chr22 27307482 27318538 ENST00000454387.1 0 - chr22 27307776 27312015 ENST00000662296.1 0 + chr22 27307801 27317456 ENST00000657960.1 0 + chr22 27307801 27318501 ENST00000665304.1 0 + chr22 27310650 27317456 ENST00000426467.1 0 + chr22 27331633 27357627 ENST00000668323.1 0 + chr22 27331694 27357622 ENST00000669277.1 0 + chr22 27331786 27379265 ENST00000413244.1 0 + chr22 27414461 27415205 ENST00000625043.1 0 - chr22 27414492 27419713 ENST00000623572.1 0 - chr22 27436291 27441774 ENST00000654206.1 0 + chr22 27457246 27460060 ENST00000440477.1 0 - chr22 27563838 27573573 ENST00000415655.1 0 - chr22 27676558 27714970 ENST00000440255.1 0 - chr22 27707579 27709931 ENST00000422833.1 0 + chr22 27716479 27721677 ENST00000417957.1 0 + chr22 27748276 27801756 ENST00000302326.5 0 - chr22 27750063 27796896 ENST00000424656.1 0 - chr22 27750677 27791883 ENST00000497225.1 0 - chr22 27851668 27919256 ENST00000335272.10 0 - chr22 27851669 27919255 ENST00000320996.14 0 - chr22 27851669 27919306 ENST00000455418.7 0 - chr22 27853578 27919199 ENST00000634017.1 0 - chr22 27854905 27898073 ENST00000477861.1 0 - chr22 27858430 27860615 ENST00000493007.1 0 - chr22 27860195 27920134 ENST00000415296.5 0 - chr22 27873774 27919214 ENST00000436663.1 0 - chr22 27894160 27896702 ENST00000465179.1 0 - chr22 27896899 27919256 ENST00000460566.5 0 - chr22 27910447 27919244 ENST00000471825.1 0 - chr22 27919375 27993292 ENST00000430853.5 0 + chr22 27919383 27919545 ENST00000614690.1 0 + chr22 27919387 27924916 ENST00000662329.1 0 + chr22 27919387 28002595 ENST00000417497.6 0 + chr22 27919387 28002612 ENST00000434221.6 0 + chr22 27919391 28002588 ENST00000424161.6 0 + chr22 27919400 27986392 ENST00000419253.1 0 + chr22 27919420 28002679 ENST00000454741.5 0 + chr22 27919422 28002588 ENST00000453632.6 0 + chr22 27919422 28002640 ENST00000665376.1 0 + chr22 27919422 28002641 ENST00000659843.1 0 + chr22 27919425 27924963 ENST00000437713.6 0 + chr22 27919428 28002588 ENST00000662682.1 0 + chr22 27919432 28002588 ENST00000655332.1 0 + chr22 27919436 27922570 ENST00000436996.1 0 + chr22 27919437 28002636 ENST00000665505.1 0 + chr22 27919439 27986379 ENST00000454996.6 0 + chr22 27919456 27924963 ENST00000428818.5 0 + chr22 27919456 28002640 ENST00000435348.6 0 + chr22 27919465 28002666 ENST00000664946.1 0 + chr22 27919467 27923011 ENST00000417381.6 0 + chr22 27919469 27973089 ENST00000654553.1 0 + chr22 27919471 27922087 ENST00000428858.1 0 + chr22 27919483 27924950 ENST00000670661.1 0 + chr22 27919483 28002588 ENST00000669227.1 0 + chr22 27919490 27999476 ENST00000452612.5 0 + chr22 27919497 27924714 ENST00000670585.1 0 + chr22 27919498 27986392 ENST00000662424.1 0 + chr22 27919517 27986229 ENST00000425112.1 0 + chr22 27920524 27920612 ENST00000582434.1 0 - chr22 27920525 27920611 ENST00000636243.1 0 + chr22 27922021 27922178 ENST00000611117.1 0 + chr22 27940017 27986176 ENST00000654619.1 0 + chr22 27978013 28306645 ENST00000612946.4 0 - chr22 27978013 28679865 ENST00000397906.6 0 - chr22 27983598 27996239 ENST00000431039.1 0 - chr22 27983751 27990076 ENST00000480563.1 0 - chr22 27991469 28002588 ENST00000655196.1 0 + chr22 27992468 28008581 ENST00000428584.5 0 + chr22 27992611 27996424 ENST00000469670.1 0 - chr22 27992927 27997423 ENST00000540665.5 0 + chr22 27993112 28000723 ENST00000433317.1 0 + chr22 27994473 27994654 ENST00000615579.1 0 + chr22 27994559 28002602 ENST00000665529.1 0 + chr22 27997410 28002588 ENST00000663167.1 0 + chr22 27999394 28002612 ENST00000654312.1 0 + chr22 28002483 28002595 ENST00000619378.1 0 + chr22 28028814 28094135 ENST00000442232.1 0 - chr22 28056152 28056453 ENST00000466709.3 0 - chr22 28232755 28232823 ENST00000364339.1 0 - chr22 28296213 28443073 ENST00000490475.1 0 - chr22 28303753 28303850 ENST00000362927.1 0 + chr22 28459868 28459948 ENST00000619803.1 0 + chr22 28629427 28679812 ENST00000468807.1 0 - chr22 28642978 28643270 ENST00000579233.2 0 - chr22 28687742 28711931 ENST00000434810.5 0 - chr22 28687742 28711955 ENST00000456369.5 0 - chr22 28687742 28741820 ENST00000404276.6 0 - chr22 28687742 28741834 ENST00000348295.7 0 - chr22 28687742 28742422 ENST00000416671.5 0 - chr22 28687743 28712495 ENST00000648295.1 0 - chr22 28687748 28689410 ENST00000472807.1 0 - chr22 28687750 28741806 ENST00000649563.1 0 - chr22 28687761 28741800 ENST00000405598.5 0 - chr22 28687762 28741838 ENST00000382580.6 0 - chr22 28687765 28741806 ENST00000650281.1 0 - chr22 28687886 28734721 ENST00000417588.5 0 - chr22 28687886 28734721 ENST00000433728.5 0 - chr22 28687886 28734721 ENST00000448511.5 0 - chr22 28687896 28734721 ENST00000402731.5 0 - chr22 28687896 28734721 ENST00000403642.5 0 - chr22 28696900 28734727 ENST00000447421.5 0 - chr22 28696901 28741806 ENST00000433028.6 0 - chr22 28696922 28712146 ENST00000464581.5 0 - chr22 28696943 28712257 ENST00000491919.5 0 - chr22 28696967 28741811 ENST00000425190.6 0 - chr22 28699763 28725248 ENST00000439346.5 0 - chr22 28711908 28741783 ENST00000439200.5 0 - chr22 28721599 28741834 ENST00000382565.5 0 - chr22 28724964 28730501 ENST00000454252.1 0 - chr22 28725040 28741820 ENST00000650233.1 0 - chr22 28725082 28741802 ENST00000398017.3 0 - chr22 28742038 28757510 ENST00000216027.8 0 + chr22 28742041 28757510 ENST00000450178.5 0 + chr22 28742054 28757515 ENST00000398941.6 0 + chr22 28742060 28757213 ENST00000420442.5 0 + chr22 28742095 28745867 ENST00000651322.1 0 + chr22 28742150 28745543 ENST00000485599.5 0 + chr22 28742678 28757210 ENST00000483861.5 0 + chr22 28742700 28757510 ENST00000495977.1 0 + chr22 28772673 28789301 ENST00000421503.6 0 + chr22 28772673 28789301 ENST00000448492.6 0 + chr22 28772694 28789295 ENST00000249064.9 0 + chr22 28772703 28786177 ENST00000453543.5 0 + chr22 28772727 28781103 ENST00000444523.1 0 + chr22 28773240 28786093 ENST00000432510.1 0 + chr22 28794554 28800597 ENST00000216037.10 0 - chr22 28794556 28800558 ENST00000403532.7 0 - chr22 28794558 28797045 ENST00000484256.1 0 - chr22 28794559 28800572 ENST00000611155.4 0 - chr22 28794588 28800133 ENST00000405219.7 0 - chr22 28795174 28800524 ENST00000344347.5 0 - chr22 28798905 28800569 ENST00000482720.1 0 - chr22 28800682 28848559 ENST00000458080.1 0 + chr22 28800703 28839033 ENST00000418292.1 0 + chr22 28800708 28801224 ENST00000585003.1 0 + chr22 28801891 28822215 ENST00000451486.5 0 + chr22 28814913 28815662 ENST00000607919.1 0 + chr22 28818330 28822215 ENST00000422972.1 0 + chr22 28835892 28836137 ENST00000447099.1 0 - chr22 28883571 29057488 ENST00000544604.7 0 + chr22 28917388 29053685 ENST00000402174.5 0 + chr22 28987051 29053965 ENST00000406323.3 0 + chr22 28992720 29018620 ENST00000412798.1 0 + chr22 29024998 29031476 ENST00000325660.3 0 - chr22 29058671 29061844 ENST00000216071.4 0 - chr22 29073077 29146820 ENST00000400335.8 0 + chr22 29073117 29168333 ENST00000327813.9 0 + chr22 29073130 29142112 ENST00000407188.5 0 + chr22 29099040 29111683 ENST00000456740.1 0 - chr22 29121440 29138771 ENST00000453585.1 0 + chr22 29125196 29138642 ENST00000474001.1 0 + chr22 29134013 29134120 ENST00000364001.1 0 + chr22 29142029 29154769 ENST00000479755.1 0 + chr22 29191696 29191808 ENST00000516143.1 0 - chr22 29205895 29259597 ENST00000334018.11 0 + chr22 29205905 29233428 ENST00000429226.5 0 + chr22 29205911 29259597 ENST00000404755.7 0 + chr22 29205911 29259597 ENST00000404820.7 0 + chr22 29205922 29231615 ENST00000430127.1 0 + chr22 29205958 29232345 ENST00000435427.5 0 + chr22 29215576 29233667 ENST00000484039.5 0 + chr22 29231017 29243489 ENST00000433143.1 0 + chr22 29231681 29233862 ENST00000473933.1 0 + chr22 29232335 29255612 ENST00000488820.6 0 + chr22 29233345 29254805 ENST00000487477.1 0 + chr22 29259871 29267981 ENST00000216085.12 0 - chr22 29259903 29267945 ENST00000413137.6 0 - chr22 29260498 29264401 ENST00000496342.1 0 - chr22 29260811 29268209 ENST00000414672.5 0 - chr22 29260888 29262037 ENST00000433125.1 0 + chr22 29263956 29267728 ENST00000406335.1 0 - chr22 29265034 29267960 ENST00000493894.1 0 - chr22 29265445 29267921 ENST00000488106.1 0 - chr22 29268008 29278041 ENST00000444626.5 0 + chr22 29268008 29300522 ENST00000332050.10 0 + chr22 29268008 29300524 ENST00000629659.2 0 + chr22 29268017 29300525 ENST00000397938.6 0 + chr22 29268252 29282424 ENST00000436425.5 0 + chr22 29268252 29282456 ENST00000447973.5 0 + chr22 29268272 29274453 ENST00000485037.5 0 + chr22 29268272 29300336 ENST00000406548.5 0 + chr22 29268281 29288687 ENST00000437155.6 0 + chr22 29268289 29287106 ENST00000415761.5 0 + chr22 29268290 29300525 ENST00000331029.11 0 + chr22 29268312 29291019 ENST00000483415.5 0 + chr22 29268315 29300343 ENST00000414183.6 0 + chr22 29268317 29290684 ENST00000333395.10 0 + chr22 29268325 29288679 ENST00000455726.5 0 + chr22 29268325 29300336 ENST00000332035.10 0 + chr22 29269222 29273792 ENST00000493426.1 0 + chr22 29275628 29300525 ENST00000479135.5 0 + chr22 29290829 29300525 ENST00000469669.5 0 + chr22 29291928 29300525 ENST00000483629.5 0 + chr22 29292158 29300525 ENST00000360091.3 0 + chr22 29295525 29300336 ENST00000610553.1 0 + chr22 29306581 29312785 ENST00000616432.4 0 + chr22 29306617 29308520 ENST00000416823.1 0 + chr22 29306649 29308535 ENST00000428622.1 0 + chr22 29307022 29312785 ENST00000406549.7 0 + chr22 29307040 29312094 ENST00000610653.4 0 + chr22 29307051 29312785 ENST00000621062.4 0 + chr22 29307057 29307799 ENST00000487341.1 0 + chr22 29307057 29312785 ENST00000611648.2 0 + chr22 29307057 29312785 ENST00000618518.3 0 + chr22 29310278 29311107 ENST00000491016.1 0 + chr22 29312932 29315692 ENST00000401450.3 0 - chr22 29312932 29315697 ENST00000216101.7 0 - chr22 29313502 29319679 ENST00000608559.1 0 - chr22 29313534 29314306 ENST00000474590.1 0 - chr22 29316743 29317220 ENST00000608014.1 0 - chr22 29327679 29332321 ENST00000482818.1 0 - chr22 29327681 29388583 ENST00000357586.6 0 - chr22 29327681 29388583 ENST00000432560.6 0 - chr22 29327864 29367275 ENST00000405198.5 0 - chr22 29327864 29388583 ENST00000317368.11 0 - chr22 29328737 29367275 ENST00000402502.5 0 - chr22 29328820 29423179 ENST00000415447.5 0 - chr22 29331456 29340837 ENST00000472057.1 0 - chr22 29333157 29333267 ENST00000625572.1 0 - chr22 29333162 29333258 ENST00000459538.1 0 - chr22 29341562 29370659 ENST00000421126.5 0 - chr22 29349272 29351747 ENST00000415756.1 0 - chr22 29359672 29388529 ENST00000473606.1 0 - chr22 29387908 29417757 ENST00000650462.1 0 + chr22 29406802 29410767 ENST00000649455.1 0 + chr22 29419154 29423193 ENST00000439655.1 0 - chr22 29432943 29435005 ENST00000616792.1 0 + chr22 29436533 29478175 ENST00000461286.4 0 - chr22 29438421 29478136 ENST00000248980.9 0 - chr22 29438582 29442455 ENST00000354373.2 0 + chr22 29440766 29478138 ENST00000661328.1 0 - chr22 29440766 29478868 ENST00000658349.1 0 - chr22 29440791 29478602 ENST00000657516.1 0 - chr22 29441339 29441678 ENST00000539579.2 0 - chr22 29470264 29478156 ENST00000669415.1 0 - chr22 29471940 29478070 ENST00000419368.1 0 - chr22 29480217 29491390 ENST00000310624.7 0 + chr22 29480219 29481113 ENST00000634116.1 0 - chr22 29505878 29553782 ENST00000490103.5 0 - chr22 29508167 29553655 ENST00000397871.5 0 - chr22 29508167 29553655 ENST00000397872.5 0 - chr22 29508326 29554254 ENST00000442555.5 0 - chr22 29508328 29511442 ENST00000472164.1 0 - chr22 29508330 29549157 ENST00000358079.8 0 - chr22 29508357 29553766 ENST00000397873.6 0 - chr22 29513888 29535390 ENST00000411969.1 0 - chr22 29519005 29536738 ENST00000484924.5 0 - chr22 29525837 29542888 ENST00000443089.5 0 - chr22 29528382 29539469 ENST00000492707.5 0 - chr22 29531552 29536738 ENST00000488052.1 0 - chr22 29534537 29549144 ENST00000475187.5 0 - chr22 29536666 29553655 ENST00000440771.5 0 - chr22 29539337 29545144 ENST00000455450.5 0 - chr22 29539443 29553680 ENST00000428374.5 0 - chr22 29542953 29553741 ENST00000414902.5 0 - chr22 29543502 29555216 ENST00000418021.1 0 - chr22 29554807 29581113 ENST00000216121.12 0 - chr22 29560807 29581327 ENST00000437094.5 0 - chr22 29561169 29581074 ENST00000415100.5 0 - chr22 29561629 29581093 ENST00000455496.1 0 - chr22 29569865 29581100 ENST00000496944.1 0 - chr22 29579756 29581026 ENST00000494966.1 0 - chr22 29603555 29698594 ENST00000413209.6 0 + chr22 29603567 29694945 ENST00000672805.1 0 + chr22 29603587 29684162 ENST00000403435.5 0 + chr22 29603602 29697525 ENST00000672461.1 0 + chr22 29603616 29698594 ENST00000361452.8 0 + chr22 29603632 29683915 ENST00000403999.7 0 + chr22 29603632 29698598 ENST00000338641.9 0 + chr22 29603632 29698598 ENST00000672896.1 0 + chr22 29603726 29683915 ENST00000334961.11 0 + chr22 29603746 29694811 ENST00000353887.8 0 + chr22 29603948 29694945 ENST00000432151.5 0 + chr22 29603998 29694811 ENST00000361676.8 0 + chr22 29603998 29694811 ENST00000397789.3 0 + chr22 29604085 29695058 ENST00000673312.1 0 + chr22 29608899 29609501 ENST00000437636.1 0 + chr22 29654656 29695059 ENST00000361166.9 0 + chr22 29705255 29719859 ENST00000416352.1 0 - chr22 29711812 29719748 ENST00000451180.1 0 - chr22 29711819 29719714 ENST00000420180.1 0 - chr22 29720002 29731833 ENST00000216144.4 0 + chr22 29730955 29767007 ENST00000344318.4 0 - chr22 29746166 29767011 ENST00000489010.1 0 - chr22 29758757 29758859 ENST00000364106.1 0 + chr22 29767090 29768096 ENST00000668996.1 0 - chr22 29767368 29770413 ENST00000330029.6 0 + chr22 29767373 29770027 ENST00000401406.3 0 + chr22 29788608 29838304 ENST00000542393.5 0 - chr22 29788610 29804824 ENST00000487486.5 0 - chr22 29788610 29838274 ENST00000307790.8 0 - chr22 29788612 29813542 ENST00000472433.5 0 - chr22 29788615 29834550 ENST00000458594.5 0 - chr22 29788641 29838276 ENST00000397771.6 0 - chr22 29793576 29802102 ENST00000411532.1 0 - chr22 29793586 29799302 ENST00000483380.1 0 - chr22 29806213 29816740 ENST00000478812.5 0 - chr22 29806835 29810288 ENST00000464287.1 0 - chr22 29813470 29838272 ENST00000449900.6 0 - chr22 29814656 29834550 ENST00000431535.5 0 - chr22 29815205 29838274 ENST00000495967.5 0 - chr22 29821891 29832342 ENST00000412689.5 0 - chr22 29822141 29838228 ENST00000465667.6 0 - chr22 29822351 29825358 ENST00000463203.1 0 - chr22 29825086 29838274 ENST00000495681.5 0 - chr22 29825102 29832580 ENST00000462454.1 0 - chr22 29825107 29838261 ENST00000453160.5 0 - chr22 29825160 29838282 ENST00000460313.1 0 - chr22 29825213 29826131 ENST00000477074.1 0 - chr22 29825693 29838274 ENST00000454854.5 0 - chr22 29834085 29838274 ENST00000492821.1 0 - chr22 29883154 30027880 ENST00000401950.6 0 + chr22 29883168 30030866 ENST00000333027.7 0 + chr22 29883178 29978968 ENST00000495098.5 0 + chr22 29883196 29991628 ENST00000445401.5 0 + chr22 29883197 30027858 ENST00000323630.9 0 + chr22 29883212 30026495 ENST00000351488.7 0 + chr22 29883268 29991669 ENST00000415511.1 0 + chr22 29899586 29899693 ENST00000384724.1 0 - chr22 29971050 30026037 ENST00000406629.1 0 + chr22 29978086 29979037 ENST00000480776.1 0 + chr22 29978949 30028236 ENST00000624945.1 0 - chr22 30003894 30007975 ENST00000487907.1 0 + chr22 30007048 30007113 ENST00000621576.1 0 + chr22 30008741 30080230 ENST00000429350.5 0 - chr22 30017682 30019651 ENST00000492087.1 0 + chr22 30018631 30080480 ENST00000453743.6 0 - chr22 30022462 30025963 ENST00000491251.1 0 + chr22 30046275 30047193 ENST00000453616.1 0 - chr22 30047624 30080438 ENST00000432568.1 0 - chr22 30080173 30177075 ENST00000336726.10 0 + chr22 30080471 30122033 ENST00000450612.5 0 + chr22 30081010 30177073 ENST00000403975.1 0 + chr22 30093957 30104577 ENST00000491605.1 0 + chr22 30105093 30105408 ENST00000423857.1 0 - chr22 30136672 30137681 ENST00000451219.1 0 - chr22 30182817 30207195 ENST00000432360.2 0 - chr22 30239193 30240538 ENST00000447565.1 0 + chr22 30240452 30246759 ENST00000249075.4 0 - chr22 30243532 30246739 ENST00000403987.3 0 - chr22 30246204 30246998 ENST00000608354.1 0 + chr22 30262828 30266851 ENST00000215781.3 0 - chr22 30263867 30265818 ENST00000403389.1 0 - chr22 30264074 30266839 ENST00000403463.1 0 - chr22 30275214 30276951 ENST00000623328.1 0 - chr22 30285116 30287390 ENST00000459785.1 0 - chr22 30285116 30289627 ENST00000407689.7 0 - chr22 30285145 30289607 ENST00000404953.7 0 - chr22 30285237 30295843 ENST00000330168.9 0 - chr22 30285237 30299476 ENST00000434987.5 0 - chr22 30285244 30299482 ENST00000434291.5 0 - chr22 30285246 30299482 ENST00000418047.5 0 - chr22 30285246 30299482 ENST00000447976.1 0 - chr22 30285496 30289569 ENST00000440839.5 0 - chr22 30285831 30289622 ENST00000421236.5 0 - chr22 30286273 30289531 ENST00000497605.6 0 - chr22 30286346 30289505 ENST00000415484.5 0 - chr22 30286346 30289540 ENST00000425691.5 0 - chr22 30286541 30289531 ENST00000463795.5 0 - chr22 30286671 30289546 ENST00000471480.6 0 - chr22 30287084 30289179 ENST00000492159.5 0 - chr22 30287166 30289496 ENST00000440704.5 0 - chr22 30287197 30287950 ENST00000464854.1 0 - chr22 30287438 30289546 ENST00000498572.1 0 - chr22 30291989 30327046 ENST00000215790.11 0 - chr22 30291990 30297480 ENST00000467596.5 0 - chr22 30291990 30299796 ENST00000462073.5 0 - chr22 30291992 30326901 ENST00000403477.7 0 - chr22 30292007 30307890 ENST00000403362.5 0 - chr22 30292009 30318835 ENST00000433426.5 0 - chr22 30293398 30294849 ENST00000466666.5 0 - chr22 30293920 30326947 ENST00000437122.1 0 - chr22 30294088 30305631 ENST00000393906.2 0 - chr22 30300470 30326901 ENST00000490449.1 0 - chr22 30331987 30356894 ENST00000215793.13 0 - chr22 30337800 30356884 ENST00000411423.1 0 - chr22 30337816 30341850 ENST00000444440.1 0 - chr22 30338839 30340471 ENST00000485618.1 0 - chr22 30338960 30340779 ENST00000498259.1 0 - chr22 30342319 30356919 ENST00000447376.1 0 - chr22 30342546 30345154 ENST00000471037.1 0 - chr22 30344909 30346489 ENST00000471342.1 0 - chr22 30346220 30356891 ENST00000463818.1 0 - chr22 30352544 30356894 ENST00000496189.1 0 - chr22 30356634 30367096 ENST00000399824.6 0 + chr22 30356634 30376829 ENST00000405659.5 0 + chr22 30356637 30376827 ENST00000338306.7 0 + chr22 30357000 30370494 ENST00000445005.5 0 + chr22 30357006 30370508 ENST00000430839.5 0 + chr22 30357113 30378658 ENST00000475975.5 0 + chr22 30368810 30379780 ENST00000332468.5 0 - chr22 30373691 30376827 ENST00000482413.1 0 + chr22 30374323 30374878 ENST00000619645.1 0 - chr22 30377819 30379780 ENST00000630264.1 0 - chr22 30377819 30379780 ENST00000631046.2 0 - chr22 30377845 30379774 ENST00000421022.1 0 - chr22 30378820 30387411 ENST00000382363.8 0 - chr22 30378982 30387125 ENST00000215798.10 0 - chr22 30379589 30384834 ENST00000463319.1 0 - chr22 30384369 30386886 ENST00000473077.1 0 - chr22 30385906 30421771 ENST00000431544.2 0 - chr22 30396940 30415865 ENST00000428195.5 0 + chr22 30396991 30423838 ENST00000617837.4 0 + chr22 30396994 30423840 ENST00000619483.4 0 + chr22 30397017 30409136 ENST00000416523.5 0 + chr22 30397017 30409249 ENST00000437022.5 0 + chr22 30397017 30409477 ENST00000452649.1 0 + chr22 30397017 30425303 ENST00000615189.5 0 + chr22 30397036 30416975 ENST00000405717.7 0 + chr22 30397044 30422601 ENST00000402592.7 0 + chr22 30397050 30409282 ENST00000459728.5 0 + chr22 30397537 30407542 ENST00000429917.5 0 + chr22 30398576 30407477 ENST00000415072.1 0 + chr22 30399683 30400467 ENST00000484486.5 0 + chr22 30399683 30400467 ENST00000485482.5 0 + chr22 30399683 30416673 ENST00000464335.5 0 + chr22 30409021 30416007 ENST00000483116.5 0 + chr22 30409114 30423838 ENST00000620251.1 0 + chr22 30409254 30428990 ENST00000454552.5 0 + chr22 30409261 30428987 ENST00000439838.5 0 + chr22 30409262 30428990 ENST00000439023.3 0 + chr22 30420511 30420912 ENST00000608677.1 0 + chr22 30421044 30421148 ENST00000410983.1 0 + chr22 30421205 30421536 ENST00000608952.1 0 - chr22 30425622 30427151 ENST00000629597.2 0 + chr22 30425767 30429054 ENST00000266263.10 0 + chr22 30425774 30427192 ENST00000614920.1 0 + chr22 30425775 30429053 ENST00000355143.8 0 + chr22 30425779 30428643 ENST00000412752.5 0 + chr22 30425816 30428951 ENST00000407550.3 0 + chr22 30435543 30436247 ENST00000607893.1 0 + chr22 30435543 30436244 ENST00000366413.5 0 + chr22 30439836 30440318 ENST00000426397.1 0 + chr22 30447958 30472017 ENST00000403066.5 0 - chr22 30459228 30472049 ENST00000215812.8 0 - chr22 30459229 30470585 ENST00000540910.5 0 - chr22 30459505 30471986 ENST00000401751.5 0 - chr22 30459505 30471986 ENST00000402286.5 0 - chr22 30459505 30471986 ENST00000434642.5 0 - chr22 30461669 30470577 ENST00000435069.1 0 - chr22 30475363 30492616 ENST00000610936.4 0 + chr22 30481310 30481911 ENST00000453285.1 0 - chr22 30483138 30486366 ENST00000628773.1 0 + chr22 30483353 30492768 ENST00000610156.1 0 + chr22 30483412 30492788 ENST00000610737.1 0 + chr22 30488901 30505695 ENST00000255858.12 0 - chr22 30488912 30505711 ENST00000320982.3 0 - chr22 30488912 30505711 ENST00000321205.9 0 - chr22 30489395 30505650 ENST00000381982.3 0 - chr22 30491801 30492804 ENST00000442126.1 0 + chr22 30522798 30546682 ENST00000402034.6 0 - chr22 30524645 30529163 ENST00000437871.1 0 - chr22 30542535 30544305 ENST00000448467.1 0 + chr22 30554634 30560776 ENST00000406955.5 0 - chr22 30554634 30565133 ENST00000402321.5 0 - chr22 30554634 30574578 ENST00000402369.5 0 - chr22 30554634 30574665 ENST00000406361.6 0 - chr22 30554636 30557586 ENST00000338911.6 0 - chr22 30554636 30564889 ENST00000401975.5 0 - chr22 30555387 30566161 ENST00000441967.5 0 - chr22 30555431 30574511 ENST00000431313.5 0 - chr22 30555497 30560776 ENST00000452827.5 0 - chr22 30555626 30560759 ENST00000437282.5 0 - chr22 30555713 30572864 ENST00000416358.5 0 - chr22 30555736 30560773 ENST00000427899.5 0 - chr22 30555777 30564914 ENST00000423299.5 0 - chr22 30555793 30572830 ENST00000443136.5 0 - chr22 30555889 30572868 ENST00000423371.5 0 - chr22 30555916 30564901 ENST00000428682.5 0 - chr22 30555923 30557730 ENST00000453479.1 0 - chr22 30555928 30572834 ENST00000426220.5 0 - chr22 30555937 30560759 ENST00000447224.5 0 - chr22 30555969 30572869 ENST00000411821.5 0 - chr22 30555997 30572858 ENST00000445645.5 0 - chr22 30556009 30572869 ENST00000448604.1 0 - chr22 30576624 30591910 ENST00000354694.12 0 - chr22 30576627 30607083 ENST00000402281.5 0 - chr22 30576629 30579923 ENST00000441668.5 0 - chr22 30576631 30606988 ENST00000405677.5 0 - chr22 30576635 30580074 ENST00000488719.1 0 - chr22 30576664 30591880 ENST00000402284.7 0 - chr22 30576834 30591858 ENST00000335214.8 0 - chr22 30581333 30591866 ENST00000406208.7 0 - chr22 30584226 30588023 ENST00000477762.5 0 - chr22 30585223 30591878 ENST00000433575.5 0 - chr22 30586997 30591890 ENST00000466614.1 0 - chr22 30598308 30606687 ENST00000432130.1 0 + chr22 30603777 30606869 ENST00000467368.1 0 - chr22 30603779 30607058 ENST00000492986.1 0 - chr22 30607002 30611114 ENST00000423350.1 0 + chr22 30607082 30627046 ENST00000450638.5 0 + chr22 30607151 30627005 ENST00000405742.7 0 + chr22 30607173 30627271 ENST00000215838.8 0 + chr22 30607203 30627060 ENST00000407817.3 0 + chr22 30615691 30617717 ENST00000471659.1 0 + chr22 30615715 30623296 ENST00000493542.1 0 + chr22 30635780 30647893 ENST00000343605.5 0 + chr22 30636322 30663299 ENST00000406566.1 0 + chr22 30636522 30669016 ENST00000451479.1 0 + chr22 30652050 30663506 ENST00000430175.5 0 - chr22 30652050 30667843 ENST00000404885.5 0 - chr22 30652050 30667860 ENST00000407308.1 0 - chr22 30652095 30667887 ENST00000461301.1 0 - chr22 30653876 30654814 ENST00000510957.1 0 - chr22 30654145 30667809 ENST00000377087.3 0 - chr22 30654183 30663457 ENST00000412865.1 0 - chr22 30661444 30667855 ENST00000403268.1 0 - chr22 30662030 30667890 ENST00000334679.3 0 - chr22 30663514 30667885 ENST00000342474.4 0 - chr22 30663970 30667353 ENST00000442752.1 0 - chr22 30664960 30674134 ENST00000673554.1 0 + chr22 30693781 30906554 ENST00000438716.3 0 + chr22 30694075 30907632 ENST00000407373.5 0 + chr22 30694205 30907824 ENST00000403222.7 0 + chr22 30694873 30907813 ENST00000332585.11 0 + chr22 30694888 30906406 ENST00000446658.6 0 + chr22 30731556 30731641 ENST00000580767.3 0 + chr22 30764252 30870613 ENST00000477355.5 0 + chr22 30764252 30887491 ENST00000445781.5 0 + chr22 30764252 30906772 ENST00000401475.5 0 + chr22 30764335 30844687 ENST00000464341.1 0 + chr22 30770659 30872523 ENST00000496367.1 0 + chr22 30803085 30889635 ENST00000424224.5 0 + chr22 30822515 30907824 ENST00000437268.6 0 + chr22 30881680 30889617 ENST00000454145.5 0 + chr22 30881680 30893135 ENST00000453621.5 0 + chr22 30881680 30907623 ENST00000431368.5 0 + chr22 30881680 30907824 ENST00000535268.5 0 + chr22 30887425 30907643 ENST00000452656.5 0 + chr22 30890948 30894261 ENST00000496575.1 0 + chr22 30893462 30894463 ENST00000433183.2 0 + chr22 30902218 30902781 ENST00000424380.1 0 + chr22 30922307 30926550 ENST00000432624.2 0 + chr22 30922313 30926586 ENST00000668983.1 0 + chr22 30922344 30926654 ENST00000422995.2 0 + chr22 30922369 30925709 ENST00000655707.1 0 + chr22 30922409 30925192 ENST00000609557.1 0 + chr22 30922448 30932449 ENST00000441558.1 0 + chr22 30925129 30968774 ENST00000397641.8 0 - chr22 30926610 30928228 ENST00000429468.5 0 - chr22 30926610 30932894 ENST00000445980.5 0 - chr22 30926610 30968201 ENST00000215862.8 0 - chr22 30936577 30942251 ENST00000469915.1 0 - chr22 30941899 30958884 ENST00000476152.2 0 - chr22 30969244 30971483 ENST00000646021.1 0 + chr22 30969268 30978843 ENST00000646496.1 0 + chr22 30969269 30979395 ENST00000644773.1 0 + chr22 30969271 30978578 ENST00000569384.2 0 + chr22 30969277 30978831 ENST00000643920.1 0 + chr22 30969294 30976022 ENST00000602971.2 0 + chr22 30969471 30978848 ENST00000519077.4 0 + chr22 30969852 30975997 ENST00000643280.1 0 + chr22 30969931 30974103 ENST00000643877.1 0 + chr22 30969958 30978824 ENST00000643071.1 0 + chr22 30970093 30976058 ENST00000540687.6 0 + chr22 30970181 30978847 ENST00000644027.1 0 + chr22 30970301 30978819 ENST00000647354.1 0 + chr22 30970689 30978823 ENST00000643553.1 0 + chr22 30970757 30976039 ENST00000569149.2 0 + chr22 30971004 30971149 ENST00000610654.1 0 + chr22 30971063 30976114 ENST00000563812.2 0 + chr22 30971196 30973372 ENST00000566220.2 0 + chr22 30971295 30971382 ENST00000614234.1 0 + chr22 30971366 30976063 ENST00000521091.6 0 + chr22 30971438 30978722 ENST00000643077.1 0 + chr22 30972262 30976063 ENST00000602393.1 0 + chr22 30972856 30973093 ENST00000616187.1 0 + chr22 30973416 30973597 ENST00000619464.1 0 + chr22 30976514 30978848 ENST00000602847.1 0 - chr22 30977515 30977858 ENST00000602955.1 0 - chr22 31051629 31068327 ENST00000623789.1 0 + chr22 31059988 31060285 ENST00000488974.3 0 + chr22 31064104 31088025 ENST00000432777.5 0 + chr22 31064117 31088024 ENST00000422839.5 0 + chr22 31081317 31088574 ENST00000426927.5 0 + chr22 31081317 31088591 ENST00000482444.5 0 + chr22 31081317 31088605 ENST00000440425.5 0 + chr22 31081317 31088724 ENST00000475548.5 0 + chr22 31081318 31088253 ENST00000497697.5 0 + chr22 31081318 31104623 ENST00000358743.5 0 + chr22 31081318 31104624 ENST00000333137.11 0 + chr22 31081318 31104624 ENST00000347557.6 0 + chr22 31081319 31104623 ENST00000489337.5 0 + chr22 31082155 31083565 ENST00000609017.1 0 - chr22 31082484 31088880 ENST00000438223.5 0 + chr22 31082859 31104623 ENST00000619644.4 0 + chr22 31084995 31104623 ENST00000612341.4 0 + chr22 31085093 31089785 ENST00000416786.5 0 + chr22 31087877 31089725 ENST00000431481.1 0 + chr22 31088101 31101783 ENST00000460658.5 0 + chr22 31089655 31091027 ENST00000466272.1 0 + chr22 31092467 31099173 ENST00000455608.5 0 + chr22 31093357 31104623 ENST00000404574.5 0 + chr22 31093367 31104623 ENST00000493335.5 0 + chr22 31095559 31104624 ENST00000624247.1 0 + chr22 31099661 31104623 ENST00000472911.1 0 + chr22 31101875 31104757 ENST00000504335.1 0 + chr22 31104771 31120069 ENST00000402395.5 0 - chr22 31104776 31107533 ENST00000490967.5 0 - chr22 31104776 31107568 ENST00000400299.6 0 - chr22 31104778 31107568 ENST00000611680.1 0 - chr22 31104925 31107528 ENST00000465536.5 0 - chr22 31105000 31107553 ENST00000491958.5 0 - chr22 31105012 31105764 ENST00000495533.1 0 - chr22 31105024 31107541 ENST00000460642.5 0 - chr22 31105113 31107466 ENST00000469262.1 0 - chr22 31105438 31107556 ENST00000465447.1 0 - chr22 31113016 31113396 ENST00000420779.2 0 + chr22 31122730 31124881 ENST00000463528.5 0 + chr22 31122922 31134696 ENST00000412277.6 0 + chr22 31122922 31134696 ENST00000620191.4 0 + chr22 31122965 31125373 ENST00000412985.5 0 + chr22 31122965 31134697 ENST00000331075.10 0 + chr22 31122974 31134696 ENST00000461241.1 0 + chr22 31122983 31127037 ENST00000420017.5 0 + chr22 31122993 31134696 ENST00000400294.6 0 + chr22 31122993 31134696 ENST00000404390.7 0 + chr22 31122993 31134696 ENST00000405300.5 0 + chr22 31127759 31134636 ENST00000402238.5 0 + chr22 31127788 31134636 ENST00000404453.5 0 + chr22 31127801 31134636 ENST00000401755.1 0 + chr22 31134806 31140508 ENST00000215885.4 0 - chr22 31155965 31156647 ENST00000397595.2 0 - chr22 31160061 31160119 ENST00000583386.1 0 - chr22 31160181 31207019 ENST00000326132.11 0 + chr22 31160182 31204571 ENST00000494514.5 0 + chr22 31160207 31207013 ENST00000471384.5 0 + chr22 31160210 31207013 ENST00000426256.6 0 + chr22 31160210 31207013 ENST00000518626.5 0 + chr22 31160242 31197045 ENST00000468921.5 0 + chr22 31160242 31207012 ENST00000266252.8 0 + chr22 31205263 31205616 ENST00000526089.1 0 - chr22 31212238 31259046 ENST00000462625.1 0 + chr22 31212273 31277638 ENST00000406516.5 0 + chr22 31212297 31280080 ENST00000331728.9 0 + chr22 31222744 31222853 ENST00000362825.1 0 - chr22 31230070 31230172 ENST00000365149.1 0 - chr22 31248357 31258484 ENST00000425203.1 0 + chr22 31248401 31279734 ENST00000333611.8 0 + chr22 31248486 31277638 ENST00000340552.4 0 + chr22 31258958 31266132 ENST00000465937.1 0 + chr22 31272470 31275665 ENST00000482270.5 0 + chr22 31272673 31278586 ENST00000467301.1 0 + chr22 31281593 31290754 ENST00000480654.5 0 - chr22 31281599 31292488 ENST00000215912.10 0 - chr22 31281612 31292534 ENST00000441972.5 0 - chr22 31281678 31290726 ENST00000493034.1 0 - chr22 31289037 31292479 ENST00000402249.7 0 - chr22 31289640 31292488 ENST00000443175.1 0 - chr22 31292498 31338021 ENST00000440456.5 0 + chr22 31305403 31305512 ENST00000391240.1 0 + chr22 31325803 31346346 ENST00000266269.10 0 - chr22 31325808 31346232 ENST00000351933.8 0 - chr22 31325808 31346232 ENST00000405309.7 0 - chr22 31335348 31338021 ENST00000451161.1 0 + chr22 31335417 31343285 ENST00000494109.1 0 - chr22 31340676 31343591 ENST00000465287.1 0 - chr22 31340676 31345776 ENST00000215919.3 0 - chr22 31346776 31348719 ENST00000504184.3 0 + chr22 31346885 31347406 ENST00000614284.1 0 + chr22 31388732 31388837 ENST00000383888.1 0 - chr22 31399603 31434452 ENST00000331457.9 0 + chr22 31399609 31423319 ENST00000416465.5 0 + chr22 31399616 31423346 ENST00000433341.5 0 + chr22 31399632 31411060 ENST00000486584.1 0 + chr22 31426512 31434155 ENST00000469673.1 0 + chr22 31426740 31528740 ENST00000548143.1 0 + chr22 31436976 31439907 ENST00000441289.1 0 - chr22 31439358 31489824 ENST00000344710.9 0 - chr22 31439364 31451260 ENST00000495101.5 0 - chr22 31439366 31489587 ENST00000397525.5 0 - chr22 31439366 31489842 ENST00000330125.10 0 - chr22 31439372 31488745 ENST00000397523.5 0 - chr22 31441802 31449383 ENST00000445424.5 0 - chr22 31442034 31443419 ENST00000475437.1 0 - chr22 31444437 31449490 ENST00000487671.1 0 - chr22 31444631 31455208 ENST00000418321.1 0 - chr22 31452880 31464304 ENST00000655902.1 0 + chr22 31454250 31464056 ENST00000464523.1 0 + chr22 31461663 31464204 ENST00000483736.1 0 + chr22 31463699 31489242 ENST00000423097.5 0 - chr22 31468281 31489937 ENST00000397518.5 0 - chr22 31468281 31496108 ENST00000397520.1 0 - chr22 31479382 31479489 ENST00000362378.1 0 - chr22 31488687 31529067 ENST00000465646.5 0 + chr22 31490149 31491022 ENST00000665497.1 0 + chr22 31496138 31618551 ENST00000540643.5 0 + chr22 31496274 31618551 ENST00000432498.5 0 + chr22 31496386 31618446 ENST00000443011.5 0 + chr22 31496463 31528866 ENST00000465437.5 0 + chr22 31496518 31531105 ENST00000411518.5 0 + chr22 31496535 31618588 ENST00000400288.7 0 + chr22 31496537 31618548 ENST00000400289.5 0 + chr22 31496557 31528835 ENST00000444859.5 0 + chr22 31496582 31618548 ENST00000382162.7 0 + chr22 31508254 31613453 ENST00000524296.5 0 + chr22 31508284 31530634 ENST00000629688.1 0 + chr22 31521198 31521592 ENST00000444403.1 0 - chr22 31528744 31561333 ENST00000450787.1 0 + chr22 31528819 31550677 ENST00000486708.1 0 + chr22 31538351 31538589 ENST00000416920.1 0 - chr22 31559482 31559939 ENST00000445477.1 0 + chr22 31572762 31583934 ENST00000476010.5 0 + chr22 31572976 31583877 ENST00000484806.1 0 + chr22 31573173 31618547 ENST00000452250.5 0 + chr22 31577947 31585126 ENST00000478887.1 0 + chr22 31580087 31583969 ENST00000467357.1 0 + chr22 31580271 31614860 ENST00000417682.6 0 + chr22 31583905 31587912 ENST00000425671.1 0 + chr22 31604313 31606726 ENST00000488883.5 0 + chr22 31604568 31611769 ENST00000466991.5 0 + chr22 31607650 31611801 ENST00000491973.1 0 + chr22 31611765 31612442 ENST00000463436.1 0 + chr22 31612772 31613715 ENST00000495107.1 0 + chr22 31613834 31618548 ENST00000474741.5 0 + chr22 31614166 31618548 ENST00000476577.5 0 + chr22 31614370 31618547 ENST00000464333.5 0 + chr22 31614385 31618548 ENST00000357852.3 0 + chr22 31618490 31628221 ENST00000382151.6 0 - chr22 31618490 31662215 ENST00000460723.5 0 - chr22 31618510 31662221 ENST00000437808.5 0 - chr22 31618514 31630824 ENST00000266095.9 0 - chr22 31618558 31630862 ENST00000473770.5 0 - chr22 31618613 31630831 ENST00000397500.5 0 - chr22 31618976 31662180 ENST00000435900.5 0 - chr22 31619102 31662432 ENST00000439502.6 0 - chr22 31619443 31662203 ENST00000474017.5 0 - chr22 31620552 31625786 ENST00000478893.5 0 - chr22 31620577 31638398 ENST00000491342.1 0 - chr22 31621053 31628982 ENST00000422020.5 0 - chr22 31621466 31621531 ENST00000613748.1 0 - chr22 31621861 31626294 ENST00000442379.1 0 - chr22 31623683 31638405 ENST00000431201.5 0 - chr22 31623683 31638445 ENST00000429683.1 0 - chr22 31625821 31630006 ENST00000486675.5 0 - chr22 31625877 31630799 ENST00000479851.1 0 - chr22 31676255 31712745 ENST00000330495.8 0 - chr22 31681346 31750132 ENST00000327423.11 0 - chr22 31681349 31703718 ENST00000432485.1 0 - chr22 31685041 31713845 ENST00000431684.1 0 - chr22 31704443 31712347 ENST00000492705.1 0 - chr22 31716726 31750072 ENST00000461722.1 0 - chr22 31725543 31750140 ENST00000412743.1 0 - chr22 31753866 31906992 ENST00000535622.6 0 + chr22 31753897 31837279 ENST00000645693.1 0 + chr22 31753897 31837324 ENST00000642974.1 0 + chr22 31753899 31907005 ENST00000645711.1 0 + chr22 31753911 31906989 ENST00000644331.1 0 + chr22 31753931 31907001 ENST00000645560.1 0 + chr22 31753943 31784788 ENST00000437411.6 0 + chr22 31753954 31769772 ENST00000643948.1 0 + chr22 31753954 31906989 ENST00000645755.1 0 + chr22 31753954 31906998 ENST00000433147.2 0 + chr22 31753957 31907015 ENST00000400246.7 0 + chr22 31753963 31815973 ENST00000646755.1 0 + chr22 31753963 31906970 ENST00000644162.1 0 + chr22 31753967 31755511 ENST00000469969.2 0 + chr22 31753970 31906989 ENST00000382112.8 0 + chr22 31753973 31815971 ENST00000647438.1 0 + chr22 31753973 31907014 ENST00000400248.7 0 + chr22 31753974 31906976 ENST00000642771.1 0 + chr22 31753976 31906994 ENST00000646515.1 0 + chr22 31753978 31778137 ENST00000456178.6 0 + chr22 31753981 31906997 ENST00000643751.2 0 + chr22 31753994 31906975 ENST00000646969.1 0 + chr22 31754000 31908033 ENST00000642696.1 0 + chr22 31754013 31906222 ENST00000647343.1 0 + chr22 31754014 31906975 ENST00000642684.1 0 + chr22 31754018 31815991 ENST00000400242.8 0 + chr22 31754018 31907015 ENST00000651528.1 0 + chr22 31754027 31784504 ENST00000645015.1 0 + chr22 31754042 31906980 ENST00000646998.1 0 + chr22 31754053 31834257 ENST00000643166.1 0 + chr22 31754058 31906989 ENST00000645494.1 0 + chr22 31754067 31837279 ENST00000645564.1 0 + chr22 31754067 31906992 ENST00000646465.1 0 + chr22 31754108 31906768 ENST00000643395.1 0 + chr22 31754132 31907009 ENST00000400249.7 0 + chr22 31754861 31819040 ENST00000645967.1 0 + chr22 31754861 31906898 ENST00000382111.6 0 + chr22 31754898 31956243 ENST00000646701.1 0 + chr22 31754914 31906730 ENST00000645407.1 0 + chr22 31757201 31757498 ENST00000488827.3 0 + chr22 31758577 31784511 ENST00000458532.2 0 + chr22 31760643 31792768 ENST00000645785.1 0 + chr22 31765045 31859069 ENST00000642551.1 0 + chr22 31766638 31802738 ENST00000469974.6 0 + chr22 31778025 31784504 ENST00000642605.1 0 + chr22 31792686 31804219 ENST00000473802.1 0 + chr22 31804135 31805109 ENST00000643075.1 0 + chr22 31804841 31880237 ENST00000645893.1 0 + chr22 31813915 31823167 ENST00000647289.1 0 + chr22 31816378 31817491 ENST00000429025.1 0 - chr22 31819065 31906994 ENST00000448753.6 0 + chr22 31833848 31838721 ENST00000462414.1 0 + chr22 31833865 31843662 ENST00000471914.5 0 + chr22 31836847 31843659 ENST00000490731.1 0 + chr22 31837237 31837298 ENST00000517100.1 0 + chr22 31844744 31906989 ENST00000646135.1 0 + chr22 31846938 31875443 ENST00000494060.1 0 + chr22 31852906 31906338 ENST00000646830.1 0 + chr22 31852906 31906965 ENST00000643097.1 0 + chr22 31852915 31906798 ENST00000644690.1 0 + chr22 31853247 31906975 ENST00000643021.1 0 + chr22 31861363 31906342 ENST00000642956.1 0 + chr22 31861370 31906966 ENST00000645547.1 0 + chr22 31873826 31906975 ENST00000479261.2 0 + chr22 31873867 31906975 ENST00000646383.1 0 + chr22 31875738 31907587 ENST00000642212.1 0 + chr22 31875750 31894902 ENST00000642915.1 0 + chr22 31890343 31891434 ENST00000454534.1 0 - chr22 31897634 31907012 ENST00000497340.1 0 + chr22 31926213 31928407 ENST00000654264.1 0 - chr22 31932713 31938524 ENST00000670472.1 0 - chr22 31932729 31938396 ENST00000667186.1 0 - chr22 31933520 31945350 ENST00000623735.1 0 - chr22 31934010 31938417 ENST00000641789.1 0 - chr22 31934039 31945518 ENST00000486651.1 0 - chr22 31934347 31938454 ENST00000484682.1 0 - chr22 31944521 31956482 ENST00000443669.5 0 + chr22 31944521 31957603 ENST00000397492.1 0 + chr22 31944534 31957603 ENST00000248975.6 0 + chr22 31944746 31956604 ENST00000479649.1 0 + chr22 31944965 31957603 ENST00000471374.1 0 + chr22 31947421 31956576 ENST00000420430.1 0 + chr22 31963356 31970400 ENST00000430449.1 0 + chr22 31970822 32006886 ENST00000416995.2 0 + chr22 31970827 32037995 ENST00000658411.1 0 + chr22 31970860 31973475 ENST00000436395.1 0 + chr22 31981146 31981427 ENST00000464862.3 0 - chr22 32039489 32039896 ENST00000423610.1 0 + chr22 32043260 32113029 ENST00000266088.9 0 + chr22 32059169 32113002 ENST00000543737.2 0 + chr22 32083050 32086326 ENST00000486394.1 0 + chr22 32084848 32102207 ENST00000477969.1 0 + chr22 32121976 32133469 ENST00000432373.1 0 + chr22 32129688 32130612 ENST00000423412.1 0 + chr22 32132316 32132507 ENST00000448124.1 0 + chr22 32134027 32134133 ENST00000416196.1 0 + chr22 32141266 32143272 ENST00000436294.1 0 + chr22 32149005 32159303 ENST00000382097.4 0 - chr22 32149005 32159322 ENST00000467813.1 0 - chr22 32149179 32149926 ENST00000490640.1 0 - chr22 32159453 32160392 ENST00000426354.1 0 - chr22 32188399 32188487 ENST00000618747.1 0 - chr22 32190434 32202451 ENST00000248983.8 0 - chr22 32190437 32202571 ENST00000626996.2 0 - chr22 32190437 32203477 ENST00000400237.2 0 - chr22 32190541 32205001 ENST00000652607.1 0 - chr22 32190703 32193401 ENST00000489846.1 0 - chr22 32190705 32202511 ENST00000628378.1 0 - chr22 32199918 32200234 ENST00000523725.1 0 + chr22 32205114 32278382 ENST00000452181.2 0 + chr22 32205164 32273615 ENST00000434942.2 0 + chr22 32218475 32255341 ENST00000266086.5 0 - chr22 32269380 32273110 ENST00000397477.2 0 + chr22 32284682 32285131 ENST00000608926.1 0 + chr22 32327063 32343062 ENST00000667569.1 0 - chr22 32327167 32334260 ENST00000668765.1 0 - chr22 32327170 32343105 ENST00000446543.1 0 - chr22 32354884 32361161 ENST00000397468.5 0 + chr22 32356675 32356988 ENST00000605398.1 0 - chr22 32357866 32361161 ENST00000249007.4 0 + chr22 32359885 32371076 ENST00000400234.6 0 - chr22 32359887 32371002 ENST00000382084.9 0 - chr22 32359905 32366557 ENST00000658273.1 0 - chr22 32359907 32370165 ENST00000659039.1 0 - chr22 32359917 32382106 ENST00000655996.1 0 - chr22 32360003 32360436 ENST00000621921.2 0 - chr22 32360085 32368959 ENST00000657380.1 0 - chr22 32360629 32364426 ENST00000657810.1 0 - chr22 32360651 32363117 ENST00000461833.1 0 - chr22 32362800 32370999 ENST00000382086.6 0 - chr22 32362971 32363059 ENST00000617561.1 0 + chr22 32362973 32382052 ENST00000577714.1 0 - chr22 32368496 32368567 ENST00000617624.1 0 + chr22 32376663 32384343 ENST00000420171.1 0 + chr22 32376681 32377135 ENST00000430579.1 0 + chr22 32383785 32385631 ENST00000444848.1 0 + chr22 32386667 32386868 ENST00000453679.1 0 + chr22 32387581 32412247 ENST00000216038.6 0 - chr22 32397947 32399985 ENST00000498434.1 0 - chr22 32398041 32407526 ENST00000476619.5 0 - chr22 32398047 32407409 ENST00000485373.5 0 - chr22 32401561 32412241 ENST00000487704.5 0 - chr22 32407878 32412248 ENST00000463455.1 0 - chr22 32413846 32457386 ENST00000300399.7 0 - chr22 32413846 32457386 ENST00000534972.3 0 - chr22 32413846 32464484 ENST00000397452.5 0 - chr22 32453333 32464449 ENST00000397450.2 0 - chr22 32474675 32498829 ENST00000420700.5 0 + chr22 32474797 32498829 ENST00000425028.5 0 + chr22 32474810 32498829 ENST00000266087.12 0 + chr22 32475014 32498829 ENST00000492535.1 0 + chr22 32475236 32498608 ENST00000452138.3 0 + chr22 32475256 32498829 ENST00000397426.5 0 + chr22 32475592 32483983 ENST00000444207.1 0 + chr22 32478034 32479231 ENST00000465418.1 0 + chr22 32487287 32491113 ENST00000484607.1 0 + chr22 32512551 33058372 ENST00000358763.6 0 - chr22 32513575 32529071 ENST00000483062.5 0 - chr22 32513674 32519686 ENST00000467095.5 0 - chr22 32513691 32541716 ENST00000332840.9 0 - chr22 32514438 32529082 ENST00000461446.1 0 - chr22 32518051 32530202 ENST00000459990.5 0 - chr22 32518192 32530188 ENST00000468922.1 0 - chr22 32527671 32541716 ENST00000619146.1 0 - chr22 32583299 32584204 ENST00000428201.1 0 + chr22 32629605 32869100 ENST00000462268.1 0 - chr22 32635101 32635198 ENST00000516081.1 0 - chr22 32783176 32784982 ENST00000444982.1 0 + chr22 32801700 32863043 ENST00000266085.6 0 + chr22 32864574 32869058 ENST00000467824.1 0 - chr22 32930994 32947579 ENST00000472027.1 0 - chr22 32980644 33057858 ENST00000441821.5 0 - chr22 32980672 33014529 ENST00000412575.1 0 - chr22 33014979 33015461 ENST00000446798.1 0 + chr22 33104329 33145861 ENST00000653890.1 0 + chr22 33105382 33106059 ENST00000447396.1 0 - chr22 33108528 33116294 ENST00000452505.1 0 + chr22 33108533 33145740 ENST00000670696.1 0 + chr22 33115857 33145859 ENST00000659583.1 0 + chr22 33137139 33137338 ENST00000421145.1 0 + chr22 33162225 33384227 ENST00000608642.5 0 - chr22 33164062 33166439 ENST00000434741.1 0 + chr22 33166004 33384227 ENST00000610186.5 0 - chr22 33166386 33221751 ENST00000421232.1 0 - chr22 33166733 33384227 ENST00000609799.5 0 - chr22 33272860 33920421 ENST00000354992.6 0 - chr22 33273075 33920428 ENST00000397394.6 0 - chr22 33273088 33920414 ENST00000402320.5 0 - chr22 33320864 33322813 ENST00000453924.1 0 + chr22 33337768 33572253 ENST00000421768.1 0 - chr22 33436581 33436669 ENST00000580680.1 0 - chr22 33562912 33565019 ENST00000476315.1 0 - chr22 33650366 33861624 ENST00000430220.6 0 - chr22 33650367 33922841 ENST00000413114.5 0 - chr22 33650374 33657216 ENST00000462606.1 0 - chr22 33650439 33922596 ENST00000494763.1 0 - chr22 33650448 33889228 ENST00000434071.5 0 - chr22 33650594 33873405 ENST00000432776.5 0 - chr22 33650631 33873387 ENST00000423375.1 0 - chr22 33704785 33704920 ENST00000517198.2 0 - chr22 33704785 33704922 ENST00000630737.1 0 - chr22 33723831 33724912 ENST00000445391.1 0 - chr22 33725006 33750723 ENST00000448275.6 0 + chr22 33725007 33750729 ENST00000664675.1 0 + chr22 33725013 33737775 ENST00000453336.5 0 + chr22 33725026 33750843 ENST00000424291.5 0 + chr22 33725032 33750742 ENST00000663088.1 0 + chr22 33725039 33750742 ENST00000438159.5 0 + chr22 33725044 33750811 ENST00000661135.1 0 + chr22 33725071 33744192 ENST00000450974.1 0 + chr22 33744008 33750657 ENST00000445892.5 0 + chr22 33744128 33750683 ENST00000416275.1 0 + chr22 33922421 33922766 ENST00000610170.1 0 + chr22 34017421 34206653 ENST00000655904.1 0 + chr22 34017425 34207090 ENST00000665701.1 0 + chr22 34017425 34218794 ENST00000652942.1 0 + chr22 34017425 34218794 ENST00000664480.1 0 + chr22 34017431 34218790 ENST00000669802.1 0 + chr22 34017431 34218794 ENST00000656244.1 0 + chr22 34017431 34218794 ENST00000667570.1 0 + chr22 34017431 34218796 ENST00000655455.1 0 + chr22 34017431 34218796 ENST00000656434.1 0 + chr22 34017431 34218796 ENST00000658589.1 0 + chr22 34017431 34218796 ENST00000658699.1 0 + chr22 34017431 34218796 ENST00000664743.1 0 + chr22 34017437 34218792 ENST00000654009.1 0 + chr22 34017437 34218794 ENST00000664028.1 0 + chr22 34017437 34218796 ENST00000661903.1 0 + chr22 34017450 34175779 ENST00000658014.1 0 + chr22 34017450 34218796 ENST00000663820.1 0 + chr22 34017450 34218796 ENST00000665392.1 0 + chr22 34017450 34218796 ENST00000669488.1 0 + chr22 34017451 34218796 ENST00000658055.1 0 + chr22 34017469 34206631 ENST00000670742.1 0 + chr22 34017469 34206637 ENST00000665458.1 0 + chr22 34017472 34175779 ENST00000668175.1 0 + chr22 34017472 34175780 ENST00000668901.1 0 + chr22 34017472 34188425 ENST00000412218.1 0 + chr22 34017472 34218794 ENST00000671554.1 0 + chr22 34017472 34218796 ENST00000653369.1 0 + chr22 34017472 34218796 ENST00000659067.1 0 + chr22 34017472 34218796 ENST00000661800.1 0 + chr22 34017472 34218796 ENST00000670329.1 0 + chr22 34017477 34218796 ENST00000657115.1 0 + chr22 34191193 34210564 ENST00000661218.1 0 - chr22 34207858 34209534 ENST00000658408.1 0 - chr22 34208140 34209262 ENST00000450365.1 0 - chr22 34589084 34591278 ENST00000457251.1 0 - chr22 34641178 34651862 ENST00000624442.1 0 + chr22 34703125 34704885 ENST00000423712.1 0 - chr22 34711907 34724919 ENST00000440858.1 0 - chr22 34756675 35002862 ENST00000668433.1 0 - chr22 34873404 34893847 ENST00000665218.1 0 - chr22 35066135 35087387 ENST00000308700.6 0 + chr22 35066157 35087387 ENST00000404699.7 0 + chr22 35119823 35231056 ENST00000423311.1 0 - chr22 35122660 35127419 ENST00000610215.1 0 + chr22 35164303 35165347 ENST00000414048.1 0 + chr22 35194698 35194942 ENST00000458450.1 0 - chr22 35249771 35249833 ENST00000459160.1 0 + chr22 35257451 35265570 ENST00000420166.5 0 + chr22 35257486 35295807 ENST00000418170.5 0 + chr22 35257488 35258588 ENST00000466438.1 0 + chr22 35257492 35295807 ENST00000216106.6 0 + chr22 35257495 35265567 ENST00000455359.5 0 + chr22 35261853 35264052 ENST00000498325.5 0 + chr22 35262762 35264663 ENST00000464480.1 0 + chr22 35286881 35293028 ENST00000498212.1 0 + chr22 35298837 35299541 ENST00000609073.1 0 - chr22 35299274 35323630 ENST00000608749.5 0 + chr22 35299274 35347992 ENST00000447733.5 0 + chr22 35299375 35323603 ENST00000608674.5 0 + chr22 35299799 35333492 ENST00000456128.5 0 + chr22 35299803 35347992 ENST00000411850.5 0 + chr22 35299803 35347992 ENST00000425375.5 0 + chr22 35299855 35347973 ENST00000404284.6 0 + chr22 35299865 35318316 ENST00000465529.1 0 + chr22 35299868 35347972 ENST00000382034.9 0 + chr22 35299870 35322612 ENST00000487670.1 0 + chr22 35299873 35327338 ENST00000439512.5 0 + chr22 35299883 35347981 ENST00000424387.5 0 + chr22 35299889 35323810 ENST00000395736.7 0 + chr22 35299893 35323874 ENST00000449508.1 0 + chr22 35299893 35347973 ENST00000449058.7 0 + chr22 35311061 35323819 ENST00000443206.2 0 + chr22 35323339 35323914 ENST00000497448.1 0 + chr22 35323867 35338788 ENST00000491987.1 0 + chr22 35335639 35335758 ENST00000579518.1 0 + chr22 35336720 35336799 ENST00000620069.1 0 - chr22 35344185 35347983 ENST00000492723.1 0 + chr22 35372173 35372621 ENST00000632196.1 0 + chr22 35376421 35377261 ENST00000631502.1 0 + chr22 35380360 35387101 ENST00000412893.5 0 + chr22 35381092 35386908 ENST00000481190.1 0 + chr22 35381095 35394207 ENST00000216117.9 0 + chr22 35387039 35390293 ENST00000494998.1 0 + chr22 35400133 35403257 ENST00000451351.5 0 + chr22 35400136 35424501 ENST00000382011.9 0 + chr22 35400139 35425431 ENST00000216122.9 0 + chr22 35400141 35410008 ENST00000417343.1 0 + chr22 35400169 35406725 ENST00000416905.1 0 + chr22 35400430 35410872 ENST00000444778.1 0 + chr22 35410358 35415908 ENST00000464908.5 0 + chr22 35410408 35424501 ENST00000493076.5 0 + chr22 35411243 35415965 ENST00000493569.5 0 + chr22 35411438 35416672 ENST00000465557.1 0 + chr22 35501860 35503586 ENST00000417397.2 0 - chr22 35526931 35527415 ENST00000610000.1 0 + chr22 35540830 35553999 ENST00000216127.5 0 + chr22 35606763 35615713 ENST00000401702.5 0 - chr22 35606763 35617329 ENST00000397326.7 0 - chr22 35606763 35617508 ENST00000397328.5 0 - chr22 35606763 35623354 ENST00000359787.5 0 - chr22 35607271 35622561 ENST00000406324.5 0 - chr22 35607332 35623401 ENST00000443033.5 0 - chr22 35607374 35617329 ENST00000442617.1 0 - chr22 35610883 35617586 ENST00000451685.5 0 - chr22 35610883 35637951 ENST00000447607.5 0 - chr22 35610969 35622524 ENST00000419229.1 0 - chr22 35626987 35635134 ENST00000472240.1 0 - chr22 35648445 35668404 ENST00000409652.5 0 + chr22 35685939 35689373 ENST00000417782.1 0 + chr22 35703802 35704176 ENST00000415961.2 0 + chr22 35717871 35729483 ENST00000249044.2 0 + chr22 35738735 35840587 ENST00000405409.6 0 - chr22 35738735 36028824 ENST00000438146.7 0 - chr22 35743601 35840218 ENST00000414461.6 0 - chr22 35743601 35840407 ENST00000449924.6 0 - chr22 35743932 35840407 ENST00000262829.11 0 - chr22 35743957 35810004 ENST00000397303.6 0 - chr22 35743982 35938897 ENST00000359369.8 0 - chr22 35744086 35748632 ENST00000463509.1 0 - chr22 35744147 35840284 ENST00000416721.6 0 - chr22 35744163 35778032 ENST00000495377.6 0 - chr22 35760009 35824373 ENST00000473487.6 0 - chr22 35768267 35961666 ENST00000408983.2 0 - chr22 35777655 35840403 ENST00000491982.1 0 - chr22 35778027 35840413 ENST00000397305.3 0 - chr22 35897269 35898404 ENST00000436210.1 0 - chr22 35992320 36000469 ENST00000625157.1 0 + chr22 36066532 36070110 ENST00000623420.1 0 + chr22 36070999 36085573 ENST00000624264.1 0 + chr22 36091147 36093352 ENST00000623490.1 0 + chr22 36137429 36139350 ENST00000624395.1 0 - chr22 36140329 36160929 ENST00000349314.6 0 - chr22 36140329 36160929 ENST00000397289.6 0 - chr22 36140329 36160929 ENST00000397293.6 0 - chr22 36140329 36160929 ENST00000422426.5 0 - chr22 36140329 36160929 ENST00000432700.5 0 - chr22 36140329 36166177 ENST00000361710.6 0 - chr22 36140329 36166177 ENST00000397287.6 0 - chr22 36141026 36149126 ENST00000424878.3 0 - chr22 36141527 36160755 ENST00000487355.5 0 - chr22 36141702 36156936 ENST00000487423.5 0 - chr22 36141715 36160754 ENST00000426939.6 0 - chr22 36141862 36156949 ENST00000534251.1 0 - chr22 36145482 36160754 ENST00000531195.1 0 - chr22 36145488 36160755 ENST00000487783.5 0 - chr22 36145506 36156885 ENST00000525184.1 0 - chr22 36145543 36156938 ENST00000485453.1 0 - chr22 36146258 36160755 ENST00000530895.5 0 - chr22 36149074 36160755 ENST00000472303.1 0 - chr22 36154448 36160783 ENST00000531095.1 0 - chr22 36155719 36156886 ENST00000528740.1 0 - chr22 36159229 36160755 ENST00000533061.1 0 - chr22 36172421 36172779 ENST00000425366.1 0 + chr22 36172933 36173948 ENST00000437339.1 0 + chr22 36174260 36174822 ENST00000414147.1 0 + chr22 36175166 36175854 ENST00000454926.1 0 + chr22 36175856 36176526 ENST00000439552.1 0 + chr22 36178553 36179385 ENST00000426108.1 0 + chr22 36189123 36204806 ENST00000613247.4 0 - chr22 36189128 36204833 ENST00000352371.5 0 - chr22 36189128 36204840 ENST00000616056.4 0 - chr22 36190796 36204806 ENST00000332987.5 0 - chr22 36191258 36204808 ENST00000449084.2 0 - chr22 36191864 36201877 ENST00000493203.6 0 - chr22 36191905 36204806 ENST00000457630.6 0 - chr22 36195325 36204806 ENST00000419360.5 0 - chr22 36197454 36204743 ENST00000397275.6 0 - chr22 36197455 36204743 ENST00000328429.8 0 - chr22 36199334 36204806 ENST00000436763.1 0 - chr22 36201583 36204715 ENST00000480236.2 0 - chr22 36226208 36239527 ENST00000358502.10 0 - chr22 36226209 36239954 ENST00000249066.10 0 - chr22 36227341 36239527 ENST00000451256.6 0 - chr22 36228031 36239227 ENST00000529194.5 0 - chr22 36228194 36239561 ENST00000454728.5 0 - chr22 36236884 36239239 ENST00000476579.1 0 - chr22 36236926 36239582 ENST00000489186.1 0 - chr22 36236932 36239673 ENST00000473549.1 0 - chr22 36236963 36239570 ENST00000484830.1 0 - chr22 36253009 36267525 ENST00000397278.7 0 + chr22 36253070 36267530 ENST00000422706.5 0 + chr22 36253070 36267530 ENST00000426053.5 0 + chr22 36253077 36267521 ENST00000319136.8 0 + chr22 36253130 36261673 ENST00000422471.5 0 + chr22 36253132 36257560 ENST00000475519.5 0 + chr22 36253132 36261675 ENST00000438034.5 0 + chr22 36253132 36261699 ENST00000439680.5 0 + chr22 36253132 36265315 ENST00000427990.5 0 + chr22 36253140 36267083 ENST00000397279.8 0 + chr22 36253160 36261644 ENST00000433768.5 0 + chr22 36253163 36261633 ENST00000431184.1 0 + chr22 36281276 36388067 ENST00000216181.10 0 - chr22 36284161 36286044 ENST00000475726.5 0 - chr22 36284213 36286021 ENST00000486218.1 0 - chr22 36286846 36286907 ENST00000622122.1 0 - chr22 36295511 36297323 ENST00000459960.1 0 - chr22 36300909 36301714 ENST00000495928.1 0 - chr22 36302307 36304025 ENST00000473022.1 0 - chr22 36316512 36319835 ENST00000477189.1 0 - chr22 36320240 36321922 ENST00000472210.5 0 - chr22 36320273 36328952 ENST00000463027.1 0 - chr22 36325032 36365112 ENST00000401701.1 0 - chr22 36335420 36343530 ENST00000663925.1 0 + chr22 36348927 36365111 ENST00000456729.1 0 - chr22 36388625 36396517 ENST00000424761.1 0 + chr22 36421272 36421644 ENST00000413110.1 0 - chr22 36440879 36440970 ENST00000516416.1 0 - chr22 36445394 36454944 ENST00000442579.1 0 - chr22 36467045 36481634 ENST00000416967.1 0 - chr22 36467045 36481640 ENST00000216185.7 0 - chr22 36467548 36481632 ENST00000487725.1 0 - chr22 36467590 36481340 ENST00000403313.5 0 - chr22 36467883 36481596 ENST00000411915.1 0 - chr22 36487189 36507101 ENST00000397224.8 0 - chr22 36488241 36507022 ENST00000216187.10 0 - chr22 36488598 36498397 ENST00000366463.6 0 - chr22 36489986 36506530 ENST00000397223.4 0 - chr22 36506163 36507043 ENST00000423980.1 0 - chr22 36510854 36529166 ENST00000216190.13 0 - chr22 36510855 36511641 ENST00000478547.1 0 - chr22 36510867 36512929 ENST00000462641.1 0 - chr22 36510898 36528897 ENST00000405442.5 0 - chr22 36511576 36516931 ENST00000426531.5 0 - chr22 36511700 36519501 ENST00000458572.1 0 - chr22 36516062 36516923 ENST00000462794.1 0 - chr22 36518812 36529166 ENST00000455547.5 0 - chr22 36520632 36529077 ENST00000457241.5 0 - chr22 36523114 36529184 ENST00000432675.4 0 - chr22 36523915 36528942 ENST00000402116.2 0 - chr22 36524694 36529173 ENST00000496875.1 0 - chr22 36536655 36537604 ENST00000339367.4 0 - chr22 36552164 36552700 ENST00000433970.1 0 + chr22 36560869 36562915 ENST00000562756.1 0 - chr22 36563920 36703558 ENST00000300105.6 0 - chr22 36584488 36585454 ENST00000480002.1 0 - chr22 36703917 36721472 ENST00000430281.1 0 + chr22 36754085 36755731 ENST00000656882.1 0 - chr22 36758201 36776153 ENST00000340630.9 0 - chr22 36758210 36760907 ENST00000495987.5 0 - chr22 36758210 36761102 ENST00000474616.5 0 - chr22 36758210 36766454 ENST00000495555.6 0 - chr22 36758210 36767819 ENST00000415653.5 0 - chr22 36758210 36776119 ENST00000433985.7 0 - chr22 36758210 36776125 ENST00000471809.5 0 - chr22 36762932 36776103 ENST00000417951.6 0 - chr22 36763918 36776125 ENST00000430701.5 0 - chr22 36763995 36768554 ENST00000440696.2 0 - chr22 36766477 36769022 ENST00000667675.1 0 + chr22 36767062 36775699 ENST00000465023.1 0 - chr22 36772402 36776256 ENST00000476548.1 0 - chr22 36800683 36819479 ENST00000216200.9 0 - chr22 36800700 36817001 ENST00000406910.6 0 - chr22 36800702 36817035 ENST00000417718.7 0 - chr22 36800766 36815391 ENST00000404171.1 0 - chr22 36813449 36817035 ENST00000467935.1 0 - chr22 36813645 36817514 ENST00000443735.1 0 - chr22 36816325 36819736 ENST00000417792.1 0 + chr22 36847371 36870441 ENST00000619915.1 0 - chr22 36858020 36870380 ENST00000431290.1 0 - chr22 36860987 36875832 ENST00000447071.5 0 + chr22 36860987 36878017 ENST00000397147.7 0 + chr22 36861005 36878015 ENST00000248899.11 0 + chr22 36862302 36878010 ENST00000650827.1 0 + chr22 36862523 36878010 ENST00000651053.1 0 + chr22 36863090 36878014 ENST00000650698.1 0 + chr22 36872136 36877764 ENST00000415063.2 0 + chr22 36913627 36940439 ENST00000403662.8 0 + chr22 36913632 36940433 ENST00000262825.9 0 + chr22 36922133 36938611 ENST00000406230.5 0 + chr22 36922611 36930744 ENST00000421539.1 0 + chr22 36950528 36953723 ENST00000447905.1 0 - chr22 36965247 36968172 ENST00000400221.1 0 + chr22 36991119 37002256 ENST00000442538.5 0 - chr22 36991124 37007798 ENST00000402860.7 0 - chr22 36991124 37007841 ENST00000405091.6 0 - chr22 36991124 37007851 ENST00000381821.2 0 - chr22 37010858 37019467 ENST00000403892.7 0 - chr22 37010858 37020183 ENST00000622841.1 0 - chr22 37010864 37019447 ENST00000249042.8 0 - chr22 37013224 37013319 ENST00000516603.1 0 + chr22 37018360 37019640 ENST00000438203.1 0 - chr22 37019634 37029801 ENST00000401419.7 0 + chr22 37019695 37029794 ENST00000404802.7 0 + chr22 37019767 37029819 ENST00000341116.7 0 + chr22 37019767 37029822 ENST00000429360.5 0 + chr22 37019771 37029796 ENST00000404393.5 0 + chr22 37019797 37029812 ENST00000485587.1 0 + chr22 37023036 37029821 ENST00000397225.2 0 + chr22 37024192 37025081 ENST00000628507.1 0 + chr22 37033123 37035513 ENST00000666567.1 0 + chr22 37051735 37063389 ENST00000610767.4 0 + chr22 37051738 37063390 ENST00000402077.7 0 + chr22 37051738 37063390 ENST00000403888.7 0 + chr22 37051851 37059338 ENST00000421900.5 0 + chr22 37051875 37063374 ENST00000456470.1 0 + chr22 37051904 37059516 ENST00000483389.5 0 + chr22 37052169 37053195 ENST00000431531.1 0 + chr22 37053064 37061564 ENST00000478231.5 0 + chr22 37055032 37055347 ENST00000364208.1 0 - chr22 37057397 37061408 ENST00000462640.1 0 + chr22 37065435 37103653 ENST00000346753.8 0 - chr22 37065435 37103653 ENST00000381792.6 0 - chr22 37065435 37109409 ENST00000406725.6 0 - chr22 37065435 37109713 ENST00000406856.7 0 - chr22 37080067 37082847 ENST00000414203.2 0 + chr22 37082849 37084825 ENST00000429068.1 0 - chr22 37083939 37103656 ENST00000442782.6 0 - chr22 37096069 37103518 ENST00000423761.1 0 - chr22 37125842 37149916 ENST00000216223.10 0 - chr22 37128521 37136408 ENST00000483573.1 0 - chr22 37136364 37175054 ENST00000453962.5 0 - chr22 37137684 37175054 ENST00000429622.5 0 - chr22 37139071 37175054 ENST00000461607.5 0 - chr22 37139142 37143621 ENST00000440958.1 0 - chr22 37142449 37175054 ENST00000445595.1 0 - chr22 37166756 37182850 ENST00000419128.1 0 + chr22 37180165 37188247 ENST00000337843.7 0 - chr22 37180166 37188286 ENST00000397110.6 0 - chr22 37180166 37198301 ENST00000470655.5 0 - chr22 37180170 37185948 ENST00000493023.1 0 - chr22 37182173 37188236 ENST00000434784.1 0 - chr22 37190552 37197748 ENST00000467564.5 0 - chr22 37190552 37199385 ENST00000497071.1 0 - chr22 37204236 37212477 ENST00000610913.2 0 - chr22 37206479 37210965 ENST00000617123.1 0 - chr22 37215737 37215891 ENST00000436709.1 0 - chr22 37225269 37244269 ENST00000249071.11 0 - chr22 37225851 37244448 ENST00000406508.5 0 - chr22 37225965 37231503 ENST00000481215.1 0 - chr22 37226672 37244432 ENST00000405484.5 0 - chr22 37226752 37244441 ENST00000441619.5 0 - chr22 37232403 37244278 ENST00000469532.1 0 - chr22 37240804 37244248 ENST00000401529.3 0 - chr22 37282026 37297682 ENST00000457992.5 0 + chr22 37282474 37300173 ENST00000402997.5 0 + chr22 37282486 37300271 ENST00000405206.3 0 + chr22 37282507 37315341 ENST00000248901.11 0 + chr22 37282514 37298402 ENST00000469886.5 0 + chr22 37282524 37315341 ENST00000462927.5 0 + chr22 37282526 37296603 ENST00000480510.5 0 + chr22 37282530 37302019 ENST00000439667.1 0 + chr22 37292143 37294692 ENST00000467664.1 0 + chr22 37300881 37303295 ENST00000447919.1 0 + chr22 37309967 37313638 ENST00000446506.1 0 + chr22 37339582 37385283 ENST00000430883.5 0 - chr22 37340643 37427445 ENST00000452946.1 0 - chr22 37352189 37354839 ENST00000445088.1 0 - chr22 37352189 37355002 ENST00000666674.1 0 - chr22 37367959 37427479 ENST00000402918.7 0 - chr22 37367960 37427470 ENST00000613079.4 0 - chr22 37371683 37372858 ENST00000609322.1 0 + chr22 37375704 37418953 ENST00000414347.5 0 - chr22 37375704 37420491 ENST00000424973.5 0 - chr22 37375730 37420445 ENST00000435824.5 0 - chr22 37375762 37427003 ENST00000451509.5 0 - chr22 37375762 37427470 ENST00000415408.1 0 - chr22 37469062 37486384 ENST00000356998.8 0 - chr22 37469062 37486387 ENST00000416983.7 0 - chr22 37469067 37472724 ENST00000489515.1 0 - chr22 37469512 37474564 ENST00000454291.1 0 - chr22 37474511 37486379 ENST00000438891.5 0 - chr22 37474562 37481371 ENST00000436341.5 0 - chr22 37476895 37486387 ENST00000430411.1 0 - chr22 37479411 37484629 ENST00000442496.1 0 - chr22 37480210 37481067 ENST00000466943.1 0 - chr22 37480278 37486393 ENST00000424765.2 0 - chr22 37490361 37496780 ENST00000488141.5 0 - chr22 37490361 37519415 ENST00000251973.10 0 - chr22 37490361 37519542 ENST00000403299.5 0 - chr22 37490362 37494576 ENST00000467812.1 0 - chr22 37490363 37509149 ENST00000406271.7 0 - chr22 37492760 37512241 ENST00000437756.5 0 - chr22 37495849 37497235 ENST00000486118.1 0 - chr22 37495900 37504080 ENST00000433485.1 0 - chr22 37507881 37510565 ENST00000476871.5 0 - chr22 37508526 37514805 ENST00000494166.1 0 - chr22 37550025 37551735 ENST00000428838.1 0 + chr22 37560479 37566559 ENST00000430687.1 0 + chr22 37560479 37569405 ENST00000249014.5 0 + chr22 37563653 37566530 ENST00000415670.1 0 + chr22 37564405 37566495 ENST00000434728.1 0 + chr22 37570247 37580087 ENST00000215886.6 0 - chr22 37571848 37582616 ENST00000416480.1 0 - chr22 37578668 37578922 ENST00000615981.1 0 + chr22 37608724 37632711 ENST00000381756.9 0 + chr22 37608829 37618146 ENST00000489772.5 0 + chr22 37608833 37620044 ENST00000405147.7 0 + chr22 37608833 37633564 ENST00000343632.9 0 + chr22 37608834 37621631 ENST00000429218.5 0 + chr22 37608844 37633564 ENST00000325180.12 0 + chr22 37608934 37620332 ENST00000439161.5 0 + chr22 37608947 37623564 ENST00000449944.5 0 + chr22 37608959 37620275 ENST00000411501.5 0 + chr22 37608976 37620816 ENST00000453208.5 0 + chr22 37609039 37618546 ENST00000447515.5 0 + chr22 37609039 37633563 ENST00000406772.5 0 + chr22 37609059 37618515 ENST00000431745.5 0 + chr22 37609065 37614274 ENST00000484804.5 0 + chr22 37610141 37614195 ENST00000488672.1 0 + chr22 37612535 37620267 ENST00000326597.6 0 + chr22 37613969 37621632 ENST00000413251.5 0 + chr22 37614132 37621632 ENST00000423024.1 0 + chr22 37618402 37620249 ENST00000491295.1 0 + chr22 37620853 37623916 ENST00000481613.1 0 + chr22 37623828 37627162 ENST00000475445.1 0 + chr22 37629461 37630299 ENST00000463672.1 0 + chr22 37630667 37632677 ENST00000460957.1 0 + chr22 37634653 37656042 ENST00000417536.5 0 + chr22 37639668 37656119 ENST00000649765.1 0 + chr22 37639692 37666932 ENST00000451997.6 0 + chr22 37639694 37650614 ENST00000644149.1 0 + chr22 37640385 37656041 ENST00000469947.5 0 + chr22 37641381 37647291 ENST00000495174.5 0 + chr22 37641831 37658377 ENST00000456099.1 0 - chr22 37643454 37647506 ENST00000471650.5 0 + chr22 37643713 37645055 ENST00000459646.1 0 + chr22 37646767 37650778 ENST00000466097.1 0 + chr22 37646817 37655684 ENST00000643339.1 0 + chr22 37647512 37656038 ENST00000649107.1 0 + chr22 37658722 37666932 ENST00000215904.7 0 + chr22 37664910 37666932 ENST00000403251.1 0 + chr22 37669463 37669739 ENST00000468873.3 0 - chr22 37675635 37679802 ENST00000215909.10 0 + chr22 37675651 37677228 ENST00000464120.1 0 + chr22 37675656 37679802 ENST00000425542.5 0 + chr22 37675681 37677596 ENST00000480207.5 0 + chr22 37675687 37679640 ENST00000454173.1 0 + chr22 37676124 37679802 ENST00000489315.5 0 + chr22 37676998 37679802 ENST00000472321.1 0 + chr22 37681672 37693475 ENST00000493862.5 0 + chr22 37686322 37693476 ENST00000438329.5 0 + chr22 37686342 37688299 ENST00000474032.1 0 + chr22 37686342 37693474 ENST00000359114.9 0 + chr22 37686345 37690900 ENST00000468597.5 0 + chr22 37686359 37693471 ENST00000611699.1 0 + chr22 37686413 37726503 ENST00000455236.4 0 + chr22 37687784 37691465 ENST00000484650.1 0 + chr22 37697047 37776556 ENST00000644935.1 0 + chr22 37697620 37726570 ENST00000492485.5 0 + chr22 37697620 37774048 ENST00000344404.10 0 + chr22 37746232 37774140 ENST00000403663.6 0 + chr22 37746237 37760346 ENST00000407319.7 0 + chr22 37746269 37758135 ENST00000428075.5 0 + chr22 37746321 37757963 ENST00000413051.2 0 + chr22 37750996 37757982 ENST00000418339.5 0 + chr22 37751384 37755574 ENST00000452519.5 0 + chr22 37751397 37758047 ENST00000417857.1 0 + chr22 37754881 37755510 ENST00000331103.5 0 + chr22 37805092 37807436 ENST00000340857.3 0 + chr22 37807904 37817176 ENST00000323205.10 0 + chr22 37807911 37816899 ENST00000248924.10 0 + chr22 37807915 37813300 ENST00000445195.5 0 + chr22 37807922 37813485 ENST00000415371.1 0 + chr22 37807933 37813076 ENST00000478203.1 0 + chr22 37807937 37815208 ENST00000426858.1 0 + chr22 37808013 37813609 ENST00000451984.1 0 + chr22 37823381 37825485 ENST00000249041.3 0 + chr22 37830854 37844334 ENST00000215941.9 0 - chr22 37830855 37834728 ENST00000498417.5 0 - chr22 37831824 37843882 ENST00000406423.5 0 - chr22 37831859 37849327 ENST00000609454.5 0 - chr22 37831934 37844321 ENST00000411961.6 0 - chr22 37831969 37844006 ENST00000458278.6 0 - chr22 37831978 37844170 ENST00000407117.6 0 - chr22 37832675 37840234 ENST00000464849.5 0 - chr22 37832992 37844276 ENST00000413497.5 0 - chr22 37833008 37843882 ENST00000424350.5 0 - chr22 37833040 37844323 ENST00000434930.1 0 - chr22 37844271 37844371 ENST00000385210.1 0 - chr22 37847677 37847774 ENST00000384963.1 0 - chr22 37848178 37849318 ENST00000609706.1 0 - chr22 37848867 37889407 ENST00000412331.6 0 + chr22 37849371 37888782 ENST00000624234.3 0 + chr22 37849410 37870273 ENST00000439997.5 0 + chr22 37849416 37871284 ENST00000476955.5 0 + chr22 37849416 37888479 ENST00000381683.10 0 + chr22 37849418 37889407 ENST00000652021.1 0 + chr22 37849419 37863033 ENST00000414316.5 0 + chr22 37849419 37870189 ENST00000436452.6 0 + chr22 37849420 37886868 ENST00000477256.5 0 + chr22 37849480 37888630 ENST00000406934.5 0 + chr22 37849619 37863288 ENST00000451427.1 0 + chr22 37858564 37871290 ENST00000464790.1 0 + chr22 37870164 37888631 ENST00000482600.5 0 + chr22 37876147 37895563 ENST00000623726.1 0 + chr22 37878060 37888631 ENST00000450376.1 0 + chr22 37886703 37888631 ENST00000460638.1 0 + chr22 37891346 37891448 ENST00000384498.1 0 + chr22 37905656 37922286 ENST00000445494.5 0 + chr22 37906296 37942822 ENST00000215957.10 0 + chr22 37906881 37922036 ENST00000489812.1 0 + chr22 37925846 37937153 ENST00000454685.5 0 + chr22 37926562 37942009 ENST00000402631.1 0 + chr22 37932594 37941187 ENST00000424008.1 0 + chr22 37943049 37944898 ENST00000624344.1 0 + chr22 37943049 37953601 ENST00000403305.6 0 - chr22 37943049 37953669 ENST00000619227.4 0 - chr22 37943525 37953596 ENST00000249079.6 0 - chr22 37944124 37953669 ENST00000403026.5 0 - chr22 37944512 37953601 ENST00000418863.5 0 - chr22 37945160 37953545 ENST00000422191.1 0 - chr22 37950964 37951778 ENST00000609976.1 0 + chr22 37952606 37972298 ENST00000484894.5 0 + chr22 37953696 37967376 ENST00000460648.5 0 + chr22 37953696 38041106 ENST00000407936.5 0 + chr22 37953698 37967293 ENST00000488684.5 0 + chr22 37953698 37967694 ENST00000492213.5 0 + chr22 37953698 37967798 ENST00000483713.5 0 + chr22 37953698 37969312 ENST00000442738.7 0 + chr22 37953698 37988334 ENST00000443002.5 0 + chr22 37953710 37967560 ENST00000606538.5 0 + chr22 37953710 38025768 ENST00000405557.5 0 + chr22 37953726 37967801 ENST00000470701.1 0 + chr22 37953787 37972272 ENST00000651769.1 0 + chr22 37967562 37967624 ENST00000611508.1 0 + chr22 37970685 37978031 ENST00000651746.1 0 - chr22 37970685 37983414 ENST00000446929.5 0 - chr22 37972293 37984555 ENST00000396884.7 0 - chr22 37972299 37987422 ENST00000360880.6 0 - chr22 37977922 37984346 ENST00000427770.1 0 - chr22 37978081 37984408 ENST00000470555.1 0 - chr22 37982997 37984543 ENST00000652356.1 0 - chr22 37986192 38026685 ENST00000333418.4 0 + chr22 37986198 38026637 ENST00000427034.1 0 + chr22 37988793 37988853 ENST00000578108.1 0 + chr22 38032164 38034228 ENST00000410099.1 0 - chr22 38040303 38041915 ENST00000608713.1 0 + chr22 38043229 38043920 ENST00000609265.1 0 + chr22 38056310 38059306 ENST00000445628.5 0 + chr22 38057179 38073940 ENST00000445483.1 0 - chr22 38057199 38075701 ENST00000404072.7 0 + chr22 38057227 38072608 ENST00000424694.5 0 + chr22 38057254 38075693 ENST00000484021.5 0 + chr22 38057394 38068114 ENST00000437453.5 0 + chr22 38057403 38058158 ENST00000476157.5 0 + chr22 38057403 38070891 ENST00000426258.5 0 + chr22 38057403 38070891 ENST00000468288.5 0 + chr22 38057403 38075701 ENST00000356976.8 0 + chr22 38057406 38065226 ENST00000469819.5 0 + chr22 38057482 38068085 ENST00000466374.1 0 + chr22 38057652 38069085 ENST00000435166.1 0 + chr22 38057655 38071728 ENST00000432756.6 0 + chr22 38065112 38072007 ENST00000472724.5 0 + chr22 38067476 38072534 ENST00000494434.1 0 + chr22 38078133 38083142 ENST00000320521.9 0 - chr22 38078133 38084093 ENST00000469516.5 0 - chr22 38081954 38084093 ENST00000427592.1 0 - chr22 38084899 38110684 ENST00000381669.8 0 - chr22 38084902 38110645 ENST00000332536.9 0 - chr22 38085164 38088938 ENST00000428572.1 0 - chr22 38090126 38091559 ENST00000609162.1 0 + chr22 38111494 38181826 ENST00000663895.1 0 - chr22 38111494 38181830 ENST00000332509.8 0 - chr22 38111495 38181754 ENST00000335539.7 0 - chr22 38111499 38181829 ENST00000402064.5 0 - chr22 38111539 38181820 ENST00000668499.1 0 - chr22 38111581 38181835 ENST00000664587.1 0 - chr22 38111606 38181825 ENST00000655142.1 0 - chr22 38111753 38214778 ENST00000660610.1 0 - chr22 38111826 38181830 ENST00000665987.1 0 - chr22 38111830 38181800 ENST00000667521.1 0 - chr22 38111871 38112855 ENST00000463287.1 0 - chr22 38111872 38181820 ENST00000673413.1 0 - chr22 38111875 38168077 ENST00000671093.1 0 - chr22 38111882 38181707 ENST00000668949.1 0 - chr22 38112167 38181842 ENST00000436218.6 0 - chr22 38113537 38121040 ENST00000496409.1 0 - chr22 38115547 38168076 ENST00000427114.6 0 - chr22 38115555 38126442 ENST00000454670.1 0 - chr22 38116093 38135063 ENST00000448094.5 0 - chr22 38119016 38181868 ENST00000668208.1 0 - chr22 38120758 38126755 ENST00000491986.1 0 - chr22 38123203 38127228 ENST00000490473.1 0 - chr22 38126370 38181814 ENST00000471636.5 0 - chr22 38126995 38132877 ENST00000452794.5 0 - chr22 38128160 38129506 ENST00000480154.1 0 - chr22 38129517 38140033 ENST00000427453.5 0 - chr22 38129540 38143214 ENST00000452542.5 0 - chr22 38130215 38150612 ENST00000624072.1 0 + chr22 38134987 38143494 ENST00000498338.1 0 - chr22 38140064 38181780 ENST00000430886.5 0 - chr22 38140133 38168077 ENST00000479641.5 0 - chr22 38143228 38163672 ENST00000445591.5 0 - chr22 38143236 38168090 ENST00000452972.1 0 - chr22 38145492 38181808 ENST00000447598.6 0 - chr22 38145591 38181828 ENST00000435484.5 0 - chr22 38145605 38192100 ENST00000417303.6 0 - chr22 38145623 38180404 ENST00000455341.2 0 - chr22 38147367 38181829 ENST00000420435.5 0 - chr22 38147378 38181783 ENST00000426674.1 0 - chr22 38169274 38205690 ENST00000594306.1 0 - chr22 38200766 38204050 ENST00000624676.1 0 + chr22 38201931 38216503 ENST00000538320.5 0 + chr22 38201931 38216503 ENST00000538999.1 0 + chr22 38201993 38216507 ENST00000338483.7 0 + chr22 38201995 38214750 ENST00000441709.1 0 + chr22 38202795 38214760 ENST00000417948.5 0 + chr22 38203019 38216503 ENST00000426621.6 0 + chr22 38213534 38216505 ENST00000407965.1 0 + chr22 38219290 38273010 ENST00000361906.8 0 - chr22 38219311 38224103 ENST00000633056.1 0 - chr22 38219311 38273010 ENST00000436674.5 0 - chr22 38219323 38272664 ENST00000361684.8 0 - chr22 38220974 38222932 ENST00000504337.1 0 - chr22 38221144 38246092 ENST00000633438.1 0 - chr22 38225519 38239502 ENST00000464059.5 0 - chr22 38225577 38246738 ENST00000403210.2 0 - chr22 38226379 38231318 ENST00000488844.1 0 - chr22 38226598 38231456 ENST00000474416.1 0 - chr22 38230717 38273005 ENST00000457534.5 0 - chr22 38231319 38232248 ENST00000420172.1 0 + chr22 38231330 38272938 ENST00000411679.2 0 - chr22 38231719 38231993 ENST00000478699.2 0 + chr22 38246715 38273005 ENST00000466117.1 0 - chr22 38281027 38281289 ENST00000622344.1 0 - chr22 38290690 38317433 ENST00000396832.6 0 - chr22 38290690 38318084 ENST00000359867.7 0 - chr22 38291917 38398522 ENST00000400206.7 0 - chr22 38291929 38294527 ENST00000366216.6 0 - chr22 38292313 38298852 ENST00000431632.5 0 - chr22 38292908 38294459 ENST00000495232.5 0 - chr22 38293249 38317439 ENST00000403904.5 0 - chr22 38293259 38300763 ENST00000431611.5 0 - chr22 38293902 38294534 ENST00000494610.1 0 - chr22 38296204 38317411 ENST00000413574.6 0 - chr22 38296205 38317439 ENST00000405675.7 0 - chr22 38296625 38300065 ENST00000498529.5 0 - chr22 38297601 38300025 ENST00000442216.1 0 - chr22 38298028 38303009 ENST00000451964.5 0 - chr22 38298579 38302990 ENST00000612795.1 0 - chr22 38299955 38316973 ENST00000430335.1 0 - chr22 38335761 38398916 ENST00000428294.5 0 - chr22 38336336 38344434 ENST00000428606.1 0 - chr22 38344531 38398873 ENST00000407491.6 0 - chr22 38344623 38398873 ENST00000443042.5 0 - chr22 38350376 38398860 ENST00000457665.5 0 - chr22 38360398 38397445 ENST00000381645.7 0 - chr22 38361139 38398929 ENST00000443658.5 0 - chr22 38361380 38384096 ENST00000381646.6 0 - chr22 38368897 38398921 ENST00000455209.5 0 - chr22 38380150 38398920 ENST00000454577.1 0 - chr22 38387917 38388857 ENST00000454123.1 0 - chr22 38416564 38423933 ENST00000652019.1 0 - chr22 38424287 38427336 ENST00000433230.1 0 + chr22 38426326 38455199 ENST00000303592.3 0 - chr22 38434306 38436686 ENST00000662373.1 0 + chr22 38468077 38481635 ENST00000409006.3 0 + chr22 38468095 38483447 ENST00000216014.9 0 + chr22 38474328 38482922 ENST00000471268.1 0 + chr22 38483437 38506311 ENST00000403230.2 0 - chr22 38483439 38506337 ENST00000396821.7 0 - chr22 38485676 38488961 ENST00000431312.2 0 - chr22 38485680 38506294 ENST00000216019.11 0 - chr22 38485934 38506237 ENST00000640332.1 0 - chr22 38485934 38506237 ENST00000640668.1 0 - chr22 38488025 38493771 ENST00000475004.6 0 - chr22 38490312 38507660 ENST00000432525.5 0 - chr22 38493360 38495046 ENST00000497196.5 0 - chr22 38494309 38495046 ENST00000477112.1 0 - chr22 38498552 38505901 ENST00000467279.1 0 - chr22 38505164 38506306 ENST00000479734.1 0 - chr22 38518947 38570183 ENST00000216024.7 0 - chr22 38518948 38568409 ENST00000428462.6 0 - chr22 38538294 38570131 ENST00000439567.5 0 - chr22 38545767 38570184 ENST00000616615.4 0 - chr22 38549497 38570184 ENST00000478820.1 0 - chr22 38552670 38568409 ENST00000415483.1 0 - chr22 38569283 38570204 ENST00000464842.1 0 - chr22 38574930 38575431 ENST00000446147.2 0 - chr22 38578119 38656629 ENST00000535113.5 0 - chr22 38578119 38656629 ENST00000540952.6 0 - chr22 38582168 38586145 ENST00000543828.1 0 - chr22 38582168 38656303 ENST00000355830.11 0 - chr22 38591433 38656303 ENST00000544346.5 0 - chr22 38597206 38636551 ENST00000541689.6 0 - chr22 38620215 38629002 ENST00000543295.1 0 - chr22 38636545 38653853 ENST00000608409.5 0 - chr22 38636556 38656278 ENST00000424706.5 0 - chr22 38638771 38656281 ENST00000484582.1 0 - chr22 38649944 38656362 ENST00000490082.1 0 - chr22 38656635 38668467 ENST00000475924.5 0 + chr22 38656635 38671235 ENST00000485501.5 0 + chr22 38656639 38670989 ENST00000411557.5 0 + chr22 38656650 38673846 ENST00000396811.6 0 + chr22 38656654 38673854 ENST00000216029.7 0 + chr22 38656670 38671309 ENST00000492537.5 0 + chr22 38656675 38671136 ENST00000492576.5 0 + chr22 38656675 38671188 ENST00000416285.5 0 + chr22 38656687 38673413 ENST00000489847.1 0 + chr22 38665594 38673844 ENST00000619293.1 0 + chr22 38666507 38668750 ENST00000423346.1 0 - chr22 38667584 38681770 ENST00000431924.2 0 - chr22 38667627 38670354 ENST00000653554.1 0 - chr22 38667861 38670303 ENST00000422408.2 0 - chr22 38667895 38670945 ENST00000467118.1 0 + chr22 38670397 38681812 ENST00000666365.1 0 - chr22 38670467 38681820 ENST00000444381.1 0 - chr22 38674874 38681847 ENST00000656432.1 0 - chr22 38675813 38681787 ENST00000412067.1 0 - chr22 38675875 38677800 ENST00000666731.1 0 + chr22 38681956 38685421 ENST00000216034.6 0 + chr22 38682171 38684160 ENST00000492561.1 0 + chr22 38685542 38700667 ENST00000216039.9 0 - chr22 38687717 38699970 ENST00000545590.1 0 - chr22 38687923 38689323 ENST00000482442.1 0 - chr22 38689073 38701030 ENST00000427389.5 0 - chr22 38689295 38700940 ENST00000412832.1 0 - chr22 38699800 38701556 ENST00000417712.1 0 - chr22 38699802 38700930 ENST00000456626.1 0 - chr22 38700160 38701032 ENST00000462610.1 0 - chr22 38700275 38701418 ENST00000490169.1 0 - chr22 38700281 38700942 ENST00000493939.1 0 - chr22 38705741 38716867 ENST00000484657.5 0 + chr22 38705943 38733587 ENST00000216044.10 0 + chr22 38705948 38721822 ENST00000418601.1 0 + chr22 38706117 38716240 ENST00000461428.1 0 + chr22 38706510 38716669 ENST00000488787.5 0 + chr22 38706519 38715962 ENST00000470836.1 0 + chr22 38722742 38723505 ENST00000418695.1 0 - chr22 38725175 38726428 ENST00000460605.1 0 + chr22 38725806 38726388 ENST00000475959.1 0 + chr22 38726305 38738299 ENST00000458073.5 0 + chr22 38728255 38732239 ENST00000462332.1 0 + chr22 38730612 38736184 ENST00000484971.1 0 + chr22 38734323 38736175 ENST00000487538.1 0 + chr22 38734324 38738295 ENST00000489527.1 0 + chr22 38734724 38738765 ENST00000420118.1 0 + chr22 38734724 38755528 ENST00000405510.5 0 - chr22 38734729 38738990 ENST00000418803.1 0 + chr22 38734735 38755999 ENST00000405018.5 0 - chr22 38735908 38794143 ENST00000406622.5 0 - chr22 38736609 38736792 ENST00000609428.1 0 - chr22 38737759 38739423 ENST00000455125.1 0 - chr22 38738237 38739247 ENST00000470642.1 0 - chr22 38738925 38742438 ENST00000477262.5 0 - chr22 38739002 38749041 ENST00000416406.1 0 + chr22 38739340 38742481 ENST00000469086.5 0 - chr22 38740291 38742578 ENST00000464202.1 0 - chr22 38742624 38743115 ENST00000609212.1 0 + chr22 38743494 38743910 ENST00000607991.1 0 + chr22 38745074 38750314 ENST00000430185.5 0 - chr22 38745686 38756000 ENST00000438058.5 0 - chr22 38748712 38754993 ENST00000456894.5 0 - chr22 38749765 38751441 ENST00000480307.1 0 - chr22 38750224 38754951 ENST00000420859.5 0 - chr22 38750887 38754982 ENST00000452294.5 0 - chr22 38750897 38754943 ENST00000494273.1 0 - chr22 38750991 38755634 ENST00000433561.5 0 - chr22 38751006 38754775 ENST00000417332.5 0 - chr22 38751019 38755429 ENST00000439339.1 0 - chr22 38778507 38794143 ENST00000216068.9 0 - chr22 38778852 38794148 ENST00000486019.1 0 - chr22 38780717 38794198 ENST00000406199.3 0 - chr22 38785304 38794132 ENST00000475512.2 0 - chr22 38818451 38844028 ENST00000333039.3 0 - chr22 38822608 38843858 ENST00000640136.1 0 - chr22 38861421 38872216 ENST00000407418.8 0 - chr22 38864228 38872216 ENST00000216083.6 0 - chr22 38869571 38872249 ENST00000469420.1 0 - chr22 38886836 38903794 ENST00000656940.1 0 + chr22 38921226 38924708 ENST00000450216.1 0 + chr22 38952740 38953416 ENST00000495988.1 0 + chr22 38952750 38963183 ENST00000402255.5 0 + chr22 38957521 38959686 ENST00000488758.1 0 + chr22 38957521 38992778 ENST00000618553.1 0 + chr22 38957608 38963184 ENST00000249116.7 0 + chr22 38982346 38992546 ENST00000407298.7 0 + chr22 38982346 38992779 ENST00000333467.4 0 + chr22 38982398 38992804 ENST00000402182.7 0 + chr22 38982405 38992761 ENST00000335760.9 0 + chr22 38991558 38998209 ENST00000513758.2 0 - chr22 39014256 39020352 ENST00000361441.5 0 + chr22 39014261 39018926 ENST00000428892.1 0 + chr22 39014362 39033276 ENST00000381568.9 0 + chr22 39021112 39033261 ENST00000427494.6 0 + chr22 39021126 39033277 ENST00000216099.13 0 + chr22 39021501 39032316 ENST00000622217.1 0 + chr22 39040603 39045192 ENST00000491387.1 0 + chr22 39040856 39044423 ENST00000381565.2 0 + chr22 39040863 39055972 ENST00000308521.10 0 + chr22 39045183 39052287 ENST00000476513.1 0 + chr22 39070413 39070671 ENST00000558766.1 0 + chr22 39077066 39079700 ENST00000463934.1 0 + chr22 39077078 39081687 ENST00000480000.5 0 + chr22 39077083 39083884 ENST00000461827.5 0 + chr22 39077274 39087743 ENST00000407997.4 0 + chr22 39078511 39081194 ENST00000486357.1 0 + chr22 39079661 39082679 ENST00000494150.1 0 + chr22 39080634 39083214 ENST00000481958.1 0 + chr22 39091585 39092110 ENST00000560933.5 0 + chr22 39091633 39092855 ENST00000424436.1 0 + chr22 39097223 39102558 ENST00000421988.6 0 + chr22 39097223 39102571 ENST00000613677.4 0 + chr22 39097223 39104067 ENST00000348946.8 0 + chr22 39097270 39100536 ENST00000474235.1 0 + chr22 39097274 39103998 ENST00000401756.5 0 + chr22 39097284 39104067 ENST00000442487.7 0 + chr22 39100278 39102558 ENST00000613996.1 0 + chr22 39120166 39149832 ENST00000475962.5 0 - chr22 39120292 39120566 ENST00000414780.1 0 - chr22 39130771 39152680 ENST00000216133.10 0 - chr22 39133089 39136760 ENST00000624656.1 0 + chr22 39133583 39152444 ENST00000401405.7 0 - chr22 39133690 39134779 ENST00000490741.1 0 - chr22 39134568 39152552 ENST00000434260.1 0 - chr22 39141119 39152540 ENST00000477827.1 0 - chr22 39147117 39152674 ENST00000482294.1 0 - chr22 39155524 39155945 ENST00000441207.1 0 + chr22 39223358 39244982 ENST00000331163.11 0 - chr22 39224934 39240909 ENST00000381551.8 0 - chr22 39230158 39243016 ENST00000455790.5 0 - chr22 39230183 39241130 ENST00000440375.1 0 - chr22 39242187 39279897 ENST00000641859.1 0 + chr22 39242224 39251814 ENST00000641466.1 0 + chr22 39264986 39279897 ENST00000642075.1 0 + chr22 39292987 39295563 ENST00000434516.1 0 + chr22 39294141 39295589 ENST00000641533.1 0 + chr22 39312881 39318614 ENST00000401609.5 0 - chr22 39312881 39319623 ENST00000216146.9 0 - chr22 39312883 39313705 ENST00000464182.5 0 - chr22 39312883 39313729 ENST00000473638.5 0 - chr22 39312883 39320389 ENST00000465618.5 0 - chr22 39312886 39314965 ENST00000467105.1 0 - chr22 39313706 39319623 ENST00000402527.5 0 - chr22 39313818 39313911 ENST00000386745.1 0 - chr22 39313930 39315486 ENST00000481985.5 0 - chr22 39314149 39315429 ENST00000471290.1 0 - chr22 39314699 39319111 ENST00000453303.5 0 - chr22 39315212 39315307 ENST00000386747.1 0 - chr22 39315361 39317068 ENST00000484358.1 0 - chr22 39315368 39319595 ENST00000427905.5 0 - chr22 39315551 39319623 ENST00000420536.1 0 - chr22 39317050 39319649 ENST00000484615.5 0 - chr22 39317395 39319592 ENST00000460589.5 0 - chr22 39317854 39319623 ENST00000461967.1 0 - chr22 39318111 39319577 ENST00000498462.1 0 - chr22 39318399 39319625 ENST00000459859.1 0 - chr22 39319049 39319113 ENST00000583861.1 0 - chr22 39349924 39378389 ENST00000318801.8 0 + chr22 39349948 39376033 ENST00000216155.11 0 + chr22 39349986 39377911 ENST00000415332.1 0 + chr22 39349990 39377075 ENST00000406293.7 0 + chr22 39349990 39385575 ENST00000328933.10 0 + chr22 39350005 39376210 ENST00000489206.1 0 + chr22 39364169 39378381 ENST00000381535.4 0 + chr22 39379609 39380015 ENST00000623458.1 0 + chr22 39399777 39416849 ENST00000473613.5 0 + chr22 39399779 39431882 ENST00000216160.11 0 + chr22 39399783 39436823 ENST00000331454.3 0 + chr22 39414729 39416796 ENST00000461775.1 0 + chr22 39416743 39417816 ENST00000490819.1 0 + chr22 39421734 39428134 ENST00000473491.1 0 + chr22 39432430 39437060 ENST00000488859.1 0 + chr22 39457011 39492194 ENST00000341184.7 0 + chr22 39472787 39487830 ENST00000429402.1 0 + chr22 39475806 39476822 ENST00000432239.1 0 - chr22 39477512 39487588 ENST00000418314.1 0 + chr22 39499431 39504302 ENST00000464629.5 0 + chr22 39500099 39515708 ENST00000402881.5 0 + chr22 39500346 39504454 ENST00000467866.1 0 + chr22 39501730 39502385 ENST00000465564.1 0 + chr22 39502210 39503862 ENST00000489792.1 0 + chr22 39502251 39504534 ENST00000478342.5 0 + chr22 39502255 39504485 ENST00000481746.1 0 + chr22 39502289 39518132 ENST00000325301.7 0 + chr22 39502301 39516380 ENST00000433117.6 0 + chr22 39502354 39504711 ENST00000494219.1 0 + chr22 39502376 39516178 ENST00000404569.5 0 + chr22 39502394 39511422 ENST00000434364.5 0 + chr22 39502396 39513866 ENST00000428069.1 0 + chr22 39503456 39504510 ENST00000479514.1 0 + chr22 39504230 39504443 ENST00000637854.1 0 + chr22 39519694 39522683 ENST00000404241.6 0 + chr22 39520563 39522683 ENST00000337304.2 0 + chr22 39520563 39522685 ENST00000396680.2 0 + chr22 39529092 39532748 ENST00000334678.8 0 - chr22 39529096 39532093 ENST00000488602.1 0 - chr22 39529155 39532761 ENST00000420879.5 0 - chr22 39529213 39532738 ENST00000459956.1 0 - chr22 39529445 39532732 ENST00000491966.1 0 - chr22 39531728 39532760 ENST00000472291.1 0 - chr22 39570752 39684528 ENST00000407673.5 0 + chr22 39570752 39685211 ENST00000401624.5 0 + chr22 39570752 39689730 ENST00000404898.5 0 + chr22 39570752 39689735 ENST00000402142.4 0 + chr22 39642796 39643512 ENST00000471970.1 0 + chr22 39743043 39893760 ENST00000325157.7 0 - chr22 39750126 39751293 ENST00000458183.1 0 + chr22 39874254 39874515 ENST00000459176.1 0 - chr22 39875288 39876108 ENST00000435169.1 0 + chr22 39893214 39893864 ENST00000490326.1 0 - chr22 39901083 39973721 ENST00000344138.9 0 + chr22 39926590 39960175 ENST00000420971.5 0 + chr22 39926602 39966109 ENST00000478445.1 0 + chr22 39926648 39948481 ENST00000461082.1 0 + chr22 39946816 39971105 ENST00000407075.3 0 + chr22 39960396 39964718 ENST00000424496.2 0 + chr22 39966049 39968696 ENST00000481263.1 0 + chr22 39969374 39971187 ENST00000460449.1 0 + chr22 39994953 40043534 ENST00000333407.11 0 + chr22 39995361 39999125 ENST00000488874.1 0 + chr22 40009687 40030031 ENST00000473717.1 0 + chr22 40043067 40044530 ENST00000569912.1 0 - chr22 40044816 40156182 ENST00000441751.5 0 + chr22 40044816 40335807 ENST00000301923.13 0 + chr22 40045473 40323360 ENST00000402203.5 0 + chr22 40106324 40107066 ENST00000449200.1 0 - chr22 40177924 40246362 ENST00000489500.1 0 + chr22 40177924 40335808 ENST00000454349.7 0 + chr22 40177941 40335808 ENST00000335727.13 0 + chr22 40265002 40321799 ENST00000446273.1 0 + chr22 40276839 40300498 ENST00000497559.1 0 + chr22 40300855 40301495 ENST00000467658.1 0 + chr22 40346499 40361313 ENST00000623632.3 0 + chr22 40346499 40369367 ENST00000623063.3 0 + chr22 40346502 40366996 ENST00000342312.9 0 + chr22 40346513 40387476 ENST00000636714.1 0 + chr22 40346517 40350323 ENST00000466863.1 0 + chr22 40346517 40352055 ENST00000624503.1 0 + chr22 40346523 40387489 ENST00000637669.1 0 + chr22 40346527 40366614 ENST00000216194.11 0 + chr22 40346528 40359302 ENST00000477111.2 0 + chr22 40346528 40361566 ENST00000623978.3 0 + chr22 40346528 40364362 ENST00000636265.1 0 + chr22 40346528 40410054 ENST00000639722.1 0 + chr22 40346529 40361577 ENST00000623287.3 0 + chr22 40346531 40360431 ENST00000624474.1 0 + chr22 40346554 40363014 ENST00000637666.1 0 + chr22 40347303 40358969 ENST00000636124.1 0 + chr22 40348638 40358912 ENST00000638161.1 0 + chr22 40353823 40366489 ENST00000636433.1 0 + chr22 40354258 40366517 ENST00000625194.3 0 + chr22 40358967 40363053 ENST00000480775.2 0 + chr22 40364557 40366556 ENST00000623387.1 0 + chr22 40364961 40368038 ENST00000423176.6 0 + chr22 40364961 40368105 ENST00000624027.1 0 + chr22 40365030 40390463 ENST00000498234.2 0 + chr22 40370590 40406223 ENST00000457767.5 0 + chr22 40370593 40410289 ENST00000248929.14 0 + chr22 40370638 40410108 ENST00000485962.5 0 + chr22 40372663 40388290 ENST00000414261.1 0 - chr22 40372731 40388217 ENST00000607915.5 0 - chr22 40372736 40388217 ENST00000608572.1 0 - chr22 40404112 40410103 ENST00000478085.5 0 + chr22 40406112 40408409 ENST00000480830.5 0 + chr22 40406437 40408429 ENST00000481408.5 0 + chr22 40407250 40407701 ENST00000481028.1 0 + chr22 40407276 40409116 ENST00000470518.5 0 + chr22 40407338 40408687 ENST00000467915.1 0 + chr22 40408312 40409811 ENST00000427834.5 0 + chr22 40408387 40410047 ENST00000469719.5 0 + chr22 40408626 40409785 ENST00000462457.1 0 + chr22 40408793 40410118 ENST00000417424.1 0 + chr22 40410280 40636685 ENST00000651595.1 0 - chr22 40410281 40436310 ENST00000614754.4 0 - chr22 40410281 40436310 ENST00000620651.4 0 - chr22 40410281 40636685 ENST00000396617.7 0 - chr22 40410288 40463440 ENST00000407029.7 0 - chr22 40410288 40533827 ENST00000652095.2 0 - chr22 40410288 40636719 ENST00000355630.9 0 - chr22 40410289 40636691 ENST00000402042.6 0 - chr22 40411143 40552311 ENST00000618417.1 0 - chr22 40411389 40463227 ENST00000618196.6 0 - chr22 40411838 40417734 ENST00000477468.1 0 - chr22 40415002 40415445 ENST00000609279.1 0 + chr22 40429350 40463418 ENST00000402630.5 0 - chr22 40429640 40533822 ENST00000651694.1 0 - chr22 40431404 40533811 ENST00000422851.1 0 - chr22 40433135 40433641 ENST00000442557.1 0 + chr22 40463227 40636687 ENST00000463769.6 0 - chr22 40519127 40636649 ENST00000650658.1 0 - chr22 40519584 40636702 ENST00000466278.1 0 - chr22 40521799 40526707 ENST00000417123.1 0 + chr22 40569285 40569895 ENST00000312310.3 0 + chr22 40586699 40588003 ENST00000438116.2 0 - chr22 40587142 40636698 ENST00000651158.1 0 - chr22 40673483 40674451 ENST00000442317.2 0 - chr22 40678749 40682814 ENST00000249016.4 0 + chr22 40679272 40682083 ENST00000381433.2 0 + chr22 40679272 40682083 ENST00000498400.1 0 + chr22 40680106 40681412 ENST00000465662.1 0 + chr22 40769629 40819330 ENST00000263255.10 0 - chr22 40769629 40819338 ENST00000491545.5 0 - chr22 40769629 40819346 ENST00000435456.7 0 - chr22 40769629 40819399 ENST00000544408.5 0 - chr22 40770087 40780194 ENST00000402844.7 0 - chr22 40770488 40819350 ENST00000447566.5 0 - chr22 40770894 40819326 ENST00000420970.5 0 - chr22 40773936 40819316 ENST00000430221.5 0 - chr22 40777059 40819367 ENST00000427084.5 0 - chr22 40777227 40819399 ENST00000458600.5 0 - chr22 40777298 40819380 ENST00000443810.5 0 - chr22 40777337 40819389 ENST00000412879.5 0 - chr22 40777359 40819332 ENST00000426396.5 0 - chr22 40779033 40819337 ENST00000434193.5 0 - chr22 40779061 40780255 ENST00000478550.1 0 - chr22 40779077 40819346 ENST00000449676.5 0 - chr22 40788776 40789267 ENST00000424746.1 0 - chr22 40792531 40819375 ENST00000434185.1 0 - chr22 40798038 40798285 ENST00000441314.1 0 + chr22 40813882 40813958 ENST00000584704.1 0 - chr22 40824534 40856639 ENST00000216218.8 0 - chr22 40826420 40856565 ENST00000620312.4 0 - chr22 40827149 40835905 ENST00000480048.5 0 - chr22 40827220 40856616 ENST00000455824.1 0 - chr22 40830874 40844890 ENST00000413424.5 0 - chr22 40832651 40854598 ENST00000411695.1 0 - chr22 40835392 40835949 ENST00000495652.1 0 - chr22 40857076 40870343 ENST00000417688.5 0 + chr22 40857096 40862770 ENST00000482652.1 0 + chr22 40857119 40860781 ENST00000614001.1 0 + chr22 40857130 40927505 ENST00000428799.1 0 + chr22 40857147 40932815 ENST00000357137.9 0 + chr22 40859548 40862113 ENST00000307221.5 0 - chr22 40862265 40881924 ENST00000465258.1 0 + chr22 40917110 40917381 ENST00000616394.1 0 + chr22 40917742 40917846 ENST00000363813.1 0 + chr22 40951346 40964411 ENST00000476110.1 0 + chr22 40951377 40973309 ENST00000216225.9 0 + chr22 40966200 40972662 ENST00000467617.1 0 + chr22 41045496 41045591 ENST00000410766.1 0 + chr22 41064051 41064633 ENST00000418783.1 0 + chr22 41065553 41065646 ENST00000362645.1 0 - chr22 41074179 41075239 ENST00000423293.1 0 - chr22 41092512 41092566 ENST00000408233.1 0 + chr22 41092591 41180077 ENST00000263253.9 0 + chr22 41108024 41117212 ENST00000637592.1 0 + chr22 41117770 41126308 ENST00000634787.1 0 + chr22 41125851 41127725 ENST00000634860.1 0 + chr22 41131532 41146809 ENST00000634690.1 0 + chr22 41141047 41149153 ENST00000634728.1 0 + chr22 41146552 41147890 ENST00000635538.1 0 + chr22 41148818 41149891 ENST00000634422.1 0 + chr22 41157199 41158604 ENST00000635691.1 0 + chr22 41158467 41160419 ENST00000635552.1 0 + chr22 41162726 41169329 ENST00000635584.1 0 + chr22 41168216 41168316 ENST00000517050.1 0 + chr22 41169189 41183144 ENST00000415054.1 0 - chr22 41174590 41197456 ENST00000420537.1 0 - chr22 41176058 41176915 ENST00000635083.1 0 + chr22 41189726 41190188 ENST00000452297.1 0 - chr22 41205281 41227810 ENST00000481902.5 0 + chr22 41205301 41217173 ENST00000489136.5 0 + chr22 41205308 41230654 ENST00000466589.5 0 + chr22 41205311 41210008 ENST00000453659.1 0 + chr22 41205311 41231271 ENST00000216237.10 0 + chr22 41205320 41231270 ENST00000479978.5 0 + chr22 41205323 41231271 ENST00000452106.5 0 + chr22 41207591 41217910 ENST00000658453.1 0 - chr22 41208551 41217646 ENST00000441316.2 0 - chr22 41209100 41228500 ENST00000657161.1 0 - chr22 41209681 41217623 ENST00000451176.1 0 - chr22 41209695 41221367 ENST00000449635.5 0 + chr22 41209695 41224165 ENST00000450939.1 0 + chr22 41229509 41239621 ENST00000417999.5 0 - chr22 41229512 41240931 ENST00000216241.14 0 - chr22 41235139 41240894 ENST00000455425.1 0 - chr22 41245610 41285965 ENST00000405486.5 0 - chr22 41245610 41286251 ENST00000356244.7 0 - chr22 41245614 41282514 ENST00000455915.6 0 - chr22 41252991 41253050 ENST00000613185.1 0 - chr22 41256020 41274660 ENST00000446258.5 0 - chr22 41264743 41281621 ENST00000452543.5 0 - chr22 41268096 41281638 ENST00000418067.1 0 - chr22 41280932 41285905 ENST00000422838.1 0 - chr22 41301524 41360147 ENST00000352645.5 0 + chr22 41301714 41336843 ENST00000486331.1 0 + chr22 41367332 41399324 ENST00000406644.7 0 + chr22 41377176 41377283 ENST00000362995.1 0 - chr22 41381941 41399326 ENST00000266304.9 0 + chr22 41382934 41394274 ENST00000413942.1 0 + chr22 41430933 41431375 ENST00000609612.1 0 + chr22 41433493 41446801 ENST00000327492.4 0 - chr22 41437041 41446785 ENST00000434408.1 0 - chr22 41459716 41468692 ENST00000216252.4 0 - chr22 41460302 41468625 ENST00000459687.5 0 - chr22 41460431 41468499 ENST00000491254.1 0 - chr22 41469116 41528974 ENST00000216254.9 0 + chr22 41469129 41528989 ENST00000396512.3 0 + chr22 41469159 41511966 ENST00000471094.1 0 + chr22 41507837 41512287 ENST00000482208.1 0 + chr22 41508014 41516123 ENST00000478010.1 0 + chr22 41515512 41517452 ENST00000481310.1 0 + chr22 41515765 41521590 ENST00000466237.1 0 + chr22 41525798 41544470 ENST00000355209.9 0 - chr22 41525803 41544489 ENST00000396504.6 0 - chr22 41528841 41544462 ENST00000337566.9 0 - chr22 41528842 41544455 ENST00000431534.5 0 - chr22 41528864 41544427 ENST00000432789.1 0 - chr22 41529211 41544606 ENST00000407461.5 0 - chr22 41532118 41544460 ENST00000442616.1 0 - chr22 41532624 41544386 ENST00000420561.1 0 - chr22 41539142 41544472 ENST00000483837.1 0 - chr22 41551709 41560905 ENST00000664614.1 0 - chr22 41561009 41576666 ENST00000306149.12 0 + chr22 41572016 41577741 ENST00000460790.1 0 + chr22 41576899 41589840 ENST00000216259.8 0 - chr22 41576902 41580689 ENST00000463617.5 0 - chr22 41576902 41585402 ENST00000482178.5 0 - chr22 41576930 41589871 ENST00000472620.5 0 - chr22 41576936 41589818 ENST00000485648.5 0 - chr22 41583982 41589796 ENST00000466645.5 0 - chr22 41584005 41589825 ENST00000478337.1 0 - chr22 41584019 41589847 ENST00000414636.1 0 - chr22 41586105 41589829 ENST00000493389.1 0 - chr22 41598027 41621043 ENST00000263256.7 0 - chr22 41600892 41602523 ENST00000468151.1 0 - chr22 41602000 41604225 ENST00000463886.1 0 - chr22 41602974 41604087 ENST00000482612.1 0 - chr22 41621118 41664039 ENST00000360079.7 0 + chr22 41621162 41664048 ENST00000428575.6 0 + chr22 41621284 41628318 ENST00000464116.2 0 + chr22 41621294 41664048 ENST00000402580.7 0 + chr22 41621349 41664039 ENST00000359308.8 0 + chr22 41621460 41664039 ENST00000405878.5 0 + chr22 41621982 41664034 ENST00000405506.2 0 + chr22 41648088 41648190 ENST00000363462.1 0 - chr22 41656952 41661699 ENST00000478914.1 0 + chr22 41673932 41688867 ENST00000401959.6 0 - chr22 41673933 41676323 ENST00000648161.1 0 - chr22 41674614 41688895 ENST00000648674.1 0 - chr22 41674706 41682622 ENST00000215956.10 0 - chr22 41674788 41688804 ENST00000463675.6 0 - chr22 41674816 41688825 ENST00000649479.1 0 - chr22 41674816 41690462 ENST00000648350.1 0 - chr22 41674924 41690504 ENST00000402458.1 0 - chr22 41675030 41688799 ENST00000469028.2 0 - chr22 41675032 41690504 ENST00000649722.1 0 - chr22 41675151 41682456 ENST00000488571.2 0 - chr22 41676744 41677125 ENST00000647971.1 0 - chr22 41679710 41679817 ENST00000384726.1 0 + chr22 41687741 41688847 ENST00000469522.1 0 - chr22 41688876 41697774 ENST00000664954.1 0 + chr22 41688936 41697886 ENST00000472110.3 0 + chr22 41688938 41698136 ENST00000656592.1 0 + chr22 41688983 41698127 ENST00000660688.1 0 + chr22 41690542 41698136 ENST00000668666.1 0 + chr22 41690627 41698136 ENST00000654032.1 0 + chr22 41699502 41799454 ENST00000401548.8 0 + chr22 41699513 41767608 ENST00000540833.1 0 + chr22 41709224 41709489 ENST00000448085.1 0 - chr22 41722042 41722131 ENST00000516794.1 0 - chr22 41731055 41799414 ENST00000651135.1 0 + chr22 41747311 41747413 ENST00000384086.1 0 + chr22 41752459 41763249 ENST00000492484.5 0 + chr22 41752503 41770809 ENST00000482055.5 0 + chr22 41752516 41770706 ENST00000476614.1 0 + chr22 41753582 41758478 ENST00000460702.1 0 + chr22 41774179 41781737 ENST00000462246.5 0 + chr22 41776046 41781363 ENST00000473736.5 0 + chr22 41776048 41781824 ENST00000462450.5 0 + chr22 41776110 41784360 ENST00000498456.1 0 + chr22 41781350 41799340 ENST00000487535.5 0 + chr22 41781398 41799305 ENST00000476893.5 0 + chr22 41781445 41795773 ENST00000484966.1 0 + chr22 41781734 41799456 ENST00000403492.5 0 + chr22 41795421 41799455 ENST00000423900.1 0 + chr22 41800678 41825893 ENST00000402061.7 0 + chr22 41800678 41826299 ENST00000255784.5 0 + chr22 41831214 41834665 ENST00000333487.2 0 - chr22 41833078 41907307 ENST00000612482.4 0 + chr22 41833104 41907305 ENST00000361204.9 0 + chr22 41833163 41907306 ENST00000424354.5 0 + chr22 41873688 41877396 ENST00000462539.1 0 + chr22 41875430 41877366 ENST00000464119.1 0 + chr22 41885595 41907306 ENST00000491541.1 0 + chr22 41897067 41899188 ENST00000463741.1 0 + chr22 41898675 41904973 ENST00000435061.1 0 + chr22 41900082 41903003 ENST00000490262.1 0 + chr22 41900943 41901012 ENST00000385197.1 0 + chr22 41909553 41914667 ENST00000621082.1 0 - chr22 41911292 41914566 ENST00000457093.1 0 - chr22 41922022 41926818 ENST00000291232.4 0 - chr22 41923221 41923297 ENST00000582688.1 0 - chr22 41938736 41940219 ENST00000472374.6 0 - chr22 41938736 41946688 ENST00000404067.5 0 - chr22 41938736 41946693 ENST00000402338.5 0 - chr22 41938736 41947152 ENST00000215980.10 0 - chr22 41938748 41947136 ENST00000407253.7 0 - chr22 41939171 41946729 ENST00000402420.1 0 - chr22 41944920 41947151 ENST00000396437.3 0 - chr22 41946307 41947133 ENST00000460824.1 0 - chr22 41952173 41958933 ENST00000381348.4 0 + chr22 41958215 41958540 ENST00000669957.1 0 + chr22 41969474 41998221 ENST00000644076.1 0 + chr22 41976271 41989589 ENST00000449288.5 0 + chr22 41976809 41998221 ENST00000396426.7 0 + chr22 41976844 41997728 ENST00000406029.5 0 + chr22 41976933 41998221 ENST00000396425.7 0 + chr22 41977049 41998066 ENST00000396417.2 0 + chr22 41981303 41982217 ENST00000424613.1 0 - chr22 41985641 41987689 ENST00000460267.1 0 + chr22 41998724 42032769 ENST00000412113.5 0 + chr22 41998724 42032929 ENST00000329620.9 0 + chr22 41998771 42058456 ENST00000436265.5 0 + chr22 41998787 42027040 ENST00000475341.5 0 + chr22 41998787 42028475 ENST00000328823.13 0 + chr22 41998792 42003463 ENST00000461730.1 0 + chr22 41998792 42026794 ENST00000445185.1 0 + chr22 42000445 42001991 ENST00000652665.1 0 - chr22 42001068 42001966 ENST00000450250.1 0 - chr22 42019712 42032650 ENST00000543212.5 0 + chr22 42027162 42032769 ENST00000487176.1 0 + chr22 42030545 42032931 ENST00000470812.1 0 + chr22 42058333 42070812 ENST00000396398.8 0 - chr22 42059795 42070830 ENST00000403363.5 0 - chr22 42059801 42070842 ENST00000402937.1 0 - chr22 42070948 42071488 ENST00000662963.1 0 + chr22 42074247 42079438 ENST00000321753.8 0 + chr22 42074356 42077618 ENST00000419475.1 0 + chr22 42076057 42076161 ENST00000458891.1 0 - chr22 42079690 42083353 ENST00000422252.1 0 + chr22 42079699 42082225 ENST00000484235.1 0 + chr22 42079699 42084284 ENST00000331479.4 0 + chr22 42085525 42090772 ENST00000498737.8 0 - chr22 42085526 42090884 ENST00000617763.1 0 - chr22 42086115 42087335 ENST00000470753.1 0 - chr22 42089629 42090028 ENST00000602718.1 0 - chr22 42090930 42137742 ENST00000439129.5 0 + chr22 42090955 42125349 ENST00000417327.5 0 + chr22 42090966 42091596 ENST00000608974.5 0 + chr22 42090966 42124959 ENST00000536447.6 0 + chr22 42091203 42124959 ENST00000595777.5 0 + chr22 42091351 42124959 ENST00000600968.5 0 + chr22 42091401 42125002 ENST00000434834.5 0 + chr22 42107764 42108953 ENST00000396387.2 0 - chr22 42118255 42124899 ENST00000610250.5 0 + chr22 42118325 42124899 ENST00000547929.6 0 + chr22 42118346 42124562 ENST00000617396.4 0 + chr22 42118346 42124899 ENST00000609499.5 0 + chr22 42118498 42124899 ENST00000609833.5 0 + chr22 42121196 42124884 ENST00000608643.5 0 + chr22 42123733 42125028 ENST00000451451.1 0 + chr22 42126498 42129909 ENST00000360124.9 0 - chr22 42126498 42130810 ENST00000645361.2 0 - chr22 42126500 42130881 ENST00000389970.7 0 - chr22 42126534 42130813 ENST00000488442.1 0 - chr22 42126555 42130865 ENST00000359033.4 0 - chr22 42132030 42135239 ENST00000617009.4 0 + chr22 42132030 42137050 ENST00000621190.1 0 + chr22 42132542 42132998 ENST00000417586.1 0 + chr22 42136432 42139927 ENST00000428786.1 0 - chr22 42138059 42139726 ENST00000626627.1 0 + chr22 42140202 42141924 ENST00000435101.1 0 - chr22 42140202 42144549 ENST00000358097.8 0 - chr22 42140202 42144577 ENST00000433992.2 0 - chr22 42140204 42144554 ENST00000614967.4 0 - chr22 42140204 42144577 ENST00000612115.1 0 - chr22 42140216 42149455 ENST00000651010.1 0 - chr22 42141241 42144549 ENST00000610593.4 0 - chr22 42142736 42143999 ENST00000424775.1 0 - chr22 42143283 42144549 ENST00000435688.1 0 - chr22 42149885 42155001 ENST00000433633.1 0 - chr22 42160012 42215442 ENST00000359486.7 0 - chr22 42161055 42215440 ENST00000335626.8 0 - chr22 42161097 42210208 ENST00000404876.1 0 - chr22 42214846 42343616 ENST00000515426.1 0 - chr22 42269702 42279493 ENST00000609564.2 0 + chr22 42269743 42279534 ENST00000332965.4 0 + chr22 42269767 42275033 ENST00000446578.1 0 + chr22 42269784 42277001 ENST00000415205.2 0 + chr22 42276354 42277052 ENST00000420096.2 0 + chr22 42364389 42369284 ENST00000653912.1 0 - chr22 42364399 42369168 ENST00000432473.1 0 - chr22 42364401 42369208 ENST00000412060.1 0 - chr22 42364402 42369249 ENST00000669665.1 0 - chr22 42364524 42369236 ENST00000424852.1 0 - chr22 42380409 42432395 ENST00000329021.9 0 - chr22 42410276 42432362 ENST00000355469.4 0 - chr22 42438022 42446195 ENST00000428765.1 0 + chr22 42500567 42512544 ENST00000652221.1 0 + chr22 42500578 42512559 ENST00000455578.5 0 + chr22 42500589 42512560 ENST00000359906.6 0 + chr22 42500670 42512237 ENST00000642172.1 0 + chr22 42501595 42502653 ENST00000434218.1 0 + chr22 42508343 42519796 ENST00000323013.7 0 - chr22 42514676 42519794 ENST00000416699.5 0 - chr22 42515200 42519796 ENST00000483303.1 0 - chr22 42553616 42558412 ENST00000447870.6 0 + chr22 42553858 42574381 ENST00000477564.5 0 + chr22 42553861 42574381 ENST00000340239.8 0 + chr22 42553884 42571664 ENST00000534080.5 0 + chr22 42553917 42573997 ENST00000416156.6 0 + chr22 42553934 42574381 ENST00000527167.5 0 + chr22 42553955 42574382 ENST00000327678.10 0 + chr22 42554014 42574165 ENST00000407614.8 0 + chr22 42554020 42574055 ENST00000335879.5 0 + chr22 42554908 42555966 ENST00000472589.1 0 + chr22 42555222 42582038 ENST00000357802.6 0 - chr22 42565047 42565330 ENST00000365188.1 0 - chr22 42569128 42582009 ENST00000437211.5 0 - chr22 42569146 42569250 ENST00000516104.1 0 - chr22 42573243 42582011 ENST00000458605.5 0 - chr22 42574732 42582001 ENST00000566851.5 0 - chr22 42577097 42581997 ENST00000421116.1 0 - chr22 42583720 42614869 ENST00000445215.5 0 - chr22 42583720 42614883 ENST00000252115.10 0 - chr22 42583720 42614931 ENST00000348657.6 0 - chr22 42583721 42614911 ENST00000617178.4 0 - chr22 42583721 42614962 ENST00000451060.6 0 - chr22 42584983 42614857 ENST00000339677.10 0 - chr22 42585886 42603012 ENST00000491021.1 0 - chr22 42597707 42614860 ENST00000454057.1 0 - chr22 42602767 42614877 ENST00000463133.1 0 - chr22 42615243 42615393 ENST00000362512.1 0 + chr22 42615243 42615907 ENST00000602478.1 0 + chr22 42617839 42644509 ENST00000361740.8 0 - chr22 42617839 42649392 ENST00000352397.10 0 - chr22 42618841 42646977 ENST00000407623.7 0 - chr22 42618852 42636890 ENST00000407332.5 0 - chr22 42618874 42633348 ENST00000470741.1 0 - chr22 42619743 42646960 ENST00000402438.5 0 - chr22 42627640 42647070 ENST00000438270.1 0 - chr22 42631040 42646679 ENST00000466276.1 0 - chr22 42639802 42640601 ENST00000505920.1 0 - chr22 42692120 42694986 ENST00000401850.5 0 - chr22 42692120 42720870 ENST00000642412.2 0 - chr22 42692121 42695633 ENST00000249005.3 0 - chr22 42692121 42720819 ENST00000381278.4 0 - chr22 42693970 42720829 ENST00000483026.2 0 - chr22 42695170 42721298 ENST00000465765.2 0 - chr22 42718245 42720862 ENST00000647439.1 0 - chr22 42762859 42762959 ENST00000363578.1 0 - chr22 42776405 42777296 ENST00000426545.1 0 - chr22 42784461 42787100 ENST00000441462.1 0 + chr22 42791813 42794313 ENST00000616842.1 0 - chr22 42796501 42857273 ENST00000263245.10 0 - chr22 42797413 42857239 ENST00000437119.6 0 - chr22 42807073 42831652 ENST00000453516.5 0 - chr22 42823655 42857268 ENST00000454099.5 0 - chr22 42835411 42876207 ENST00000507586.1 0 - chr22 42835412 42858106 ENST00000435208.1 0 - chr22 42847233 42857294 ENST00000493606.1 0 - chr22 42853402 42853799 ENST00000423154.1 0 - chr22 42869767 42947041 ENST00000337959.8 0 - chr22 42869772 43015149 ENST00000263246.8 0 - chr22 42869774 42959881 ENST00000407585.5 0 - chr22 42870929 42947041 ENST00000403744.7 0 - chr22 42871127 42959878 ENST00000402229.5 0 - chr22 42876136 42912157 ENST00000634914.1 0 - chr22 42890934 43015135 ENST00000453643.5 0 - chr22 42890943 42945873 ENST00000418133.5 0 - chr22 42890943 43002440 ENST00000422336.5 0 - chr22 42893456 43015098 ENST00000445706.5 0 - chr22 42893573 42959899 ENST00000453079.1 0 - chr22 43038584 43052366 ENST00000443063.1 0 + chr22 43039515 43089391 ENST00000266254.12 0 - chr22 43039643 43089338 ENST00000439248.5 0 - chr22 43039668 43089419 ENST00000440761.1 0 - chr22 43039775 43075586 ENST00000331018.8 0 - chr22 43092166 43092524 ENST00000446663.1 0 + chr22 43110749 43129712 ENST00000216115.3 0 + chr22 43132208 43143398 ENST00000290429.11 0 - chr22 43132879 43143364 ENST00000327555.5 0 - chr22 43140829 43142964 ENST00000608052.1 0 - chr22 43141055 43143280 ENST00000464244.1 0 - chr22 43151546 43163241 ENST00000583777.5 0 + chr22 43151558 43163242 ENST00000337554.8 0 + chr22 43151572 43159672 ENST00000472378.1 0 + chr22 43151898 43161190 ENST00000428336.5 0 + chr22 43151930 43163210 ENST00000329563.8 0 + chr22 43151934 43163241 ENST00000396265.4 0 + chr22 43166621 43187134 ENST00000216129.7 0 - chr22 43166622 43170274 ENST00000484711.1 0 - chr22 43167602 43171750 ENST00000494035.1 0 - chr22 43174292 43175678 ENST00000484118.1 0 - chr22 43197279 43343372 ENST00000360835.9 0 - chr22 43203991 43343283 ENST00000615096.4 0 - chr22 43212673 43213661 ENST00000420269.1 0 + chr22 43231755 43262799 ENST00000449304.5 0 - chr22 43232140 43239010 ENST00000419643.1 0 + chr22 43237575 43343323 ENST00000290460.7 0 - chr22 43270131 43272539 ENST00000477991.1 0 - chr22 43270136 43272514 ENST00000470433.1 0 - chr22 43275954 43283830 ENST00000458463.1 0 + chr22 43316836 43320065 ENST00000461595.5 0 - chr22 43316957 43320065 ENST00000480833.1 0 - chr22 43400330 43409681 ENST00000450750.1 0 + chr22 43411195 43507848 ENST00000417669.6 0 + chr22 43412012 43435167 ENST00000334209.9 0 + chr22 43412013 43507848 ENST00000443721.2 0 + chr22 43416454 43425209 ENST00000447567.1 0 + chr22 43416615 43419200 ENST00000465861.1 0 + chr22 43416754 43425225 ENST00000480239.1 0 + chr22 43507823 43513727 ENST00000667077.1 0 - chr22 43516106 43537117 ENST00000431327.4 0 + chr22 43516249 43560063 ENST00000656483.1 0 + chr22 43528743 43570143 ENST00000461800.5 0 - chr22 43528743 43812190 ENST00000396231.6 0 - chr22 43528777 43533505 ENST00000483324.5 0 - chr22 43528777 43812305 ENST00000262726.12 0 - chr22 43528779 43532061 ENST00000477145.1 0 - chr22 43551845 43672270 ENST00000468552.1 0 - chr22 43683663 43812337 ENST00000404038.5 0 - chr22 43716670 43812305 ENST00000356087.8 0 - chr22 43759198 43759910 ENST00000419730.1 0 - chr22 43765304 43812253 ENST00000476600.5 0 - chr22 43782209 43812274 ENST00000485142.1 0 - chr22 43802543 43802772 ENST00000476875.1 0 + chr22 43812455 43817394 ENST00000563715.1 0 + chr22 43812492 43813955 ENST00000564696.1 0 + chr22 43824508 43862513 ENST00000330884.9 0 - chr22 43824509 43862406 ENST00000432404.5 0 - chr22 43824509 43862470 ENST00000422525.1 0 - chr22 43828805 43838913 ENST00000475131.1 0 - chr22 43879677 43892010 ENST00000597664.5 0 - chr22 43879678 43892013 ENST00000216177.8 0 - chr22 43879678 43892013 ENST00000593866.5 0 - chr22 43879875 43892013 ENST00000381198.6 0 - chr22 43884212 43891995 ENST00000438734.1 0 - chr22 43923791 43964488 ENST00000406117.6 0 + chr22 43923802 43947061 ENST00000423180.2 0 + chr22 43923804 43947582 ENST00000216180.8 0 + chr22 43924113 43933087 ENST00000478713.1 0 + chr22 43933006 43939393 ENST00000497129.1 0 + chr22 43955441 43973322 ENST00000493161.1 0 + chr22 43955441 43996529 ENST00000350028.5 0 + chr22 43957026 43957348 ENST00000430869.2 0 + chr22 43974594 43996529 ENST00000474323.5 0 + chr22 43986343 43996529 ENST00000494795.1 0 + chr22 43990327 44010531 ENST00000465768.1 0 + chr22 43995390 43996376 ENST00000493621.1 0 + chr22 43999210 44168923 ENST00000406477.7 0 + chr22 44024276 44172949 ENST00000338758.11 0 + chr22 44024301 44119934 ENST00000402876.3 0 + chr22 44026303 44169221 ENST00000619710.4 0 + chr22 44031364 44132965 ENST00000444029.5 0 + chr22 44069060 44169184 ENST00000404989.1 0 + chr22 44086683 44100089 ENST00000477795.1 0 + chr22 44102778 44116232 ENST00000623440.1 0 + chr22 44136463 44139124 ENST00000495824.1 0 + chr22 44139364 44153626 ENST00000624919.1 0 + chr22 44162733 44168243 ENST00000484345.1 0 + chr22 44168178 44168927 ENST00000477438.1 0 + chr22 44172955 44208468 ENST00000422871.5 0 + chr22 44172983 44187172 ENST00000453888.7 0 + chr22 44180924 44208469 ENST00000444313.8 0 + chr22 44181021 44183408 ENST00000416291.5 0 + chr22 44181335 44206622 ENST00000475485.6 0 + chr22 44181397 44183419 ENST00000417767.1 0 + chr22 44181399 44206635 ENST00000356909.7 0 + chr22 44181738 44198717 ENST00000415224.5 0 + chr22 44181749 44186114 ENST00000471836.1 0 + chr22 44181860 44184261 ENST00000466375.2 0 + chr22 44183030 44187739 ENST00000623969.1 0 - chr22 44185525 44207155 ENST00000468564.6 0 + chr22 44196097 44219533 ENST00000472551.1 0 + chr22 44210441 44229512 ENST00000624215.1 0 - chr22 44243664 44312951 ENST00000381176.5 0 - chr22 44365550 44366284 ENST00000406912.1 0 + chr22 44413484 44414814 ENST00000434327.1 0 - chr22 44443326 44444788 ENST00000415702.1 0 + chr22 44483494 44483717 ENST00000423587.1 0 - chr22 44486294 44486914 ENST00000624619.1 0 - chr22 44492582 44498233 ENST00000341255.4 0 - chr22 44566964 44568247 ENST00000435622.1 0 + chr22 44569294 44572453 ENST00000657777.1 0 + chr22 44569338 44572210 ENST00000334566.9 0 + chr22 44569351 44572341 ENST00000603530.5 0 + chr22 44569351 44572341 ENST00000605505.1 0 + chr22 44570050 44571028 ENST00000460077.1 0 + chr22 44571042 44572453 ENST00000666755.1 0 + chr22 44606938 44625419 ENST00000443783.1 0 - chr22 44651834 44652379 ENST00000454525.1 0 + chr22 44668546 44737681 ENST00000611394.4 0 + chr22 44668546 44737681 ENST00000617066.4 0 + chr22 44668712 44736909 ENST00000432186.5 0 + chr22 44676807 44737681 ENST00000624862.3 0 + chr22 44676980 44736874 ENST00000492475.5 0 + chr22 44677056 44737680 ENST00000006251.11 0 + chr22 44677084 44729408 ENST00000459857.5 0 + chr22 44677084 44737681 ENST00000403581.5 0 + chr22 44677133 44730932 ENST00000492289.5 0 + chr22 44702203 44737681 ENST00000336985.11 0 + chr22 44702217 44732317 ENST00000403696.5 0 + chr22 44702217 44736786 ENST00000457960.5 0 + chr22 44702218 44737441 ENST00000431834.5 0 + chr22 44702232 44862671 ENST00000361473.9 0 + chr22 44702474 44862706 ENST00000352766.11 0 + chr22 44702485 44737662 ENST00000432916.5 0 + chr22 44702519 44737215 ENST00000477331.5 0 + chr22 44725245 44809801 ENST00000495250.2 0 + chr22 44725260 44862671 ENST00000515632.2 0 + chr22 44730803 44737632 ENST00000455389.3 0 + chr22 44730883 44737681 ENST00000495017.5 0 + chr22 44734107 44737681 ENST00000475850.1 0 + chr22 44752557 44862784 ENST00000389774.6 0 + chr22 44752573 44850963 ENST00000460809.5 0 + chr22 44752585 44809098 ENST00000396119.6 0 + chr22 44752585 44825591 ENST00000447333.5 0 + chr22 44752602 44862788 ENST00000336963.8 0 + chr22 44752605 44862784 ENST00000356099.10 0 + chr22 44752704 44814718 ENST00000412433.5 0 + chr22 44765228 44786508 ENST00000469872.1 0 + chr22 44786456 44862784 ENST00000389772.8 0 + chr22 44786551 44808809 ENST00000495219.1 0 + chr22 44801819 44825551 ENST00000498310.1 0 + chr22 44859660 44862463 ENST00000469342.1 0 + chr22 44881161 45008993 ENST00000396103.7 0 - chr22 44881161 45008993 ENST00000403565.5 0 - chr22 44881161 45010005 ENST00000313237.10 0 - chr22 44881164 45009649 ENST00000629843.2 0 - chr22 44889772 45009999 ENST00000414269.1 0 - chr22 44901546 44902471 ENST00000431036.1 0 + chr22 44901591 44902430 ENST00000456225.1 0 + chr22 44913915 45008986 ENST00000420689.1 0 - chr22 44916320 45009321 ENST00000490679.5 0 - chr22 44916454 44969083 ENST00000460507.5 0 - chr22 44916594 45009592 ENST00000474327.5 0 - chr22 44968987 44971470 ENST00000462631.1 0 - chr22 44989121 45009547 ENST00000495348.1 0 - chr22 45000564 45003619 ENST00000424580.1 0 - chr22 45008152 45009612 ENST00000491522.1 0 - chr22 45133019 45163781 ENST00000426282.6 0 - chr22 45133700 45139757 ENST00000665704.1 0 - chr22 45133705 45152623 ENST00000609284.2 0 - chr22 45134289 45163659 ENST00000432502.1 0 - chr22 45155538 45156011 ENST00000609432.1 0 - chr22 45163924 45188017 ENST00000347635.9 0 + chr22 45163985 45184830 ENST00000407019.6 0 + chr22 45163986 45171667 ENST00000424634.5 0 + chr22 45163996 45171639 ENST00000417702.5 0 + chr22 45163996 45172206 ENST00000497960.5 0 + chr22 45163998 45171019 ENST00000461437.5 0 + chr22 45163999 45176006 ENST00000434760.5 0 + chr22 45163999 45178314 ENST00000430547.5 0 + chr22 45164281 45171746 ENST00000484186.5 0 + chr22 45164607 45168207 ENST00000445721.5 0 + chr22 45164634 45184504 ENST00000493456.5 0 + chr22 45164645 45184830 ENST00000396096.6 0 + chr22 45164665 45171143 ENST00000461194.5 0 + chr22 45164679 45168190 ENST00000432340.1 0 + chr22 45168165 45178900 ENST00000419387.5 0 + chr22 45168170 45183515 ENST00000422489.1 0 + chr22 45171049 45178430 ENST00000486184.1 0 + chr22 45175817 45178467 ENST00000491860.1 0 + chr22 45177698 45185624 ENST00000469163.1 0 + chr22 45178989 45179310 ENST00000610217.1 0 + chr22 45190337 45240769 ENST00000336156.9 0 - chr22 45195827 45205849 ENST00000423262.5 0 - chr22 45195827 45212488 ENST00000251993.11 0 - chr22 45195827 45226903 ENST00000391627.6 0 - chr22 45196037 45212457 ENST00000488038.5 0 - chr22 45196701 45198033 ENST00000483374.1 0 - chr22 45196748 45200209 ENST00000498418.5 0 - chr22 45196963 45202684 ENST00000474515.5 0 - chr22 45197105 45202715 ENST00000493003.1 0 - chr22 45200953 45201019 ENST00000408671.3 0 - chr22 45203130 45212081 ENST00000440039.5 0 - chr22 45205220 45236277 ENST00000414854.5 0 - chr22 45205222 45213499 ENST00000424508.5 0 - chr22 45205259 45235413 ENST00000486640.5 0 - chr22 45205883 45240742 ENST00000417906.1 0 - chr22 45211333 45212445 ENST00000496226.1 0 - chr22 45211334 45212417 ENST00000492273.1 0 - chr22 45262272 45263585 ENST00000609206.2 0 - chr22 45275598 45276085 ENST00000445867.1 0 + chr22 45284948 45295874 ENST00000216211.9 0 + chr22 45284990 45295822 ENST00000396082.2 0 + chr22 45308967 45310173 ENST00000491671.1 0 + chr22 45308981 45341955 ENST00000216214.7 0 + chr22 45309040 45310100 ENST00000481447.1 0 + chr22 45309933 45341955 ENST00000441876.7 0 + chr22 45310123 45329412 ENST00000405673.5 0 + chr22 45310136 45328241 ENST00000477714.1 0 + chr22 45318419 45327960 ENST00000427777.1 0 + chr22 45318479 45322426 ENST00000452238.5 0 + chr22 45318790 45322383 ENST00000424557.1 0 + chr22 45329147 45330719 ENST00000476478.1 0 + chr22 45329634 45332691 ENST00000459849.1 0 + chr22 45329643 45332655 ENST00000476754.1 0 + chr22 45330456 45336410 ENST00000487732.5 0 + chr22 45335024 45340761 ENST00000483102.5 0 + chr22 45335215 45340846 ENST00000462361.1 0 + chr22 45336394 45340882 ENST00000479180.1 0 + chr22 45344062 45413599 ENST00000357450.9 0 - chr22 45344457 45413619 ENST00000404354.3 0 - chr22 45413692 45432509 ENST00000614167.2 0 + chr22 45414322 45422506 ENST00000621287.1 0 + chr22 45418006 45431016 ENST00000466226.1 0 + chr22 45435863 45448743 ENST00000454439.1 0 - chr22 45502237 45531324 ENST00000411478.5 0 + chr22 45502276 45525678 ENST00000445110.5 0 + chr22 45502831 45533095 ENST00000455233.5 0 + chr22 45502882 45563352 ENST00000402984.7 0 + chr22 45502882 45563362 ENST00000262722.11 0 + chr22 45502882 45601135 ENST00000327858.11 0 + chr22 45502969 45565701 ENST00000442170.6 0 + chr22 45502975 45558711 ENST00000340923.9 0 + chr22 45503045 45525563 ENST00000439835.1 0 + chr22 45517344 45518786 ENST00000450975.1 0 + chr22 45518581 45531324 ENST00000454279.5 0 + chr22 45518782 45533898 ENST00000451475.5 0 + chr22 45525674 45542214 ENST00000437711.1 0 + chr22 45532892 45541279 ENST00000460538.5 0 + chr22 45533150 45535584 ENST00000465578.1 0 + chr22 45533780 45535431 ENST00000484531.1 0 + chr22 45541228 45551129 ENST00000476366.1 0 + chr22 45577038 45578434 ENST00000460300.2 0 + chr22 45604431 45605621 ENST00000422971.1 0 - chr22 45624530 45624632 ENST00000516176.1 0 - chr22 45657018 45680130 ENST00000623075.1 0 + chr22 45671797 45845304 ENST00000381061.8 0 + chr22 45671833 45845307 ENST00000252934.10 0 + chr22 45672063 45740541 ENST00000640901.1 0 + chr22 45672187 45718464 ENST00000498009.5 0 + chr22 45689465 45700322 ENST00000470722.1 0 + chr22 45703972 45738839 ENST00000476998.5 0 + chr22 45718422 45740800 ENST00000483549.5 0 + chr22 45729440 45823277 ENST00000435026.5 0 + chr22 45738473 45843671 ENST00000493643.3 0 + chr22 45738738 45811794 ENST00000451241.2 0 + chr22 45740509 45744817 ENST00000464482.1 0 + chr22 45760523 45760598 ENST00000585261.1 0 + chr22 45792417 45793636 ENST00000438230.1 0 - chr22 45793595 45843797 ENST00000402380.3 0 + chr22 45875931 45879247 ENST00000623717.1 0 + chr22 45875998 45887748 ENST00000451118.1 0 - chr22 45876127 45891438 ENST00000650444.1 0 - chr22 45920365 45977162 ENST00000339464.9 0 - chr22 45922110 45972715 ENST00000409496.7 0 - chr22 45922110 45976022 ENST00000410089.5 0 - chr22 45927481 45976805 ENST00000410058.1 0 - chr22 45931295 45975909 ENST00000428540.1 0 - chr22 46006615 46010777 ENST00000624893.1 0 + chr22 46013605 46015498 ENST00000608290.1 0 + chr22 46039906 46044064 ENST00000609737.1 0 - chr22 46040265 46044610 ENST00000421538.1 0 - chr22 46041008 46044853 ENST00000444890.1 0 - chr22 46049477 46054144 ENST00000649288.1 0 - chr22 46053092 46053560 ENST00000608644.1 0 + chr22 46053704 46057210 ENST00000416202.5 0 + chr22 46053868 46106023 ENST00000381051.6 0 + chr22 46054459 46057210 ENST00000451166.5 0 + chr22 46054914 46057210 ENST00000445441.1 0 + chr22 46055739 46058160 ENST00000439423.1 0 - chr22 46067355 46069891 ENST00000412643.1 0 - chr22 46080311 46098558 ENST00000443490.5 0 + chr22 46085996 46111475 ENST00000435439.5 0 + chr22 46086002 46113928 ENST00000360737.4 0 + chr22 46091043 46091126 ENST00000579667.1 0 + chr22 46112748 46112822 ENST00000362116.3 0 + chr22 46113565 46113657 ENST00000581461.1 0 + chr22 46113685 46113768 ENST00000385140.1 0 + chr22 46150520 46198410 ENST00000440343.5 0 + chr22 46150551 46198591 ENST00000415785.5 0 + chr22 46150595 46243756 ENST00000262735.9 0 + chr22 46150605 46215364 ENST00000420804.5 0 + chr22 46150827 46151970 ENST00000460086.1 0 + chr22 46151883 46243755 ENST00000407236.5 0 + chr22 46151885 46156593 ENST00000496865.1 0 + chr22 46154996 46156552 ENST00000624793.1 0 + chr22 46163302 46165347 ENST00000624818.1 0 + chr22 46171283 46198410 ENST00000484619.1 0 + chr22 46171331 46198410 ENST00000481567.5 0 + chr22 46176747 46235403 ENST00000402126.1 0 + chr22 46176765 46220657 ENST00000493286.1 0 + chr22 46244010 46248285 ENST00000404583.5 0 - chr22 46244012 46250293 ENST00000314567.8 0 - chr22 46244020 46250289 ENST00000381037.4 0 - chr22 46244050 46248285 ENST00000404744.1 0 - chr22 46244622 46250294 ENST00000475605.1 0 - chr22 46244908 46250311 ENST00000474256.1 0 - chr22 46255662 46263343 ENST00000253255.7 0 - chr22 46267960 46275285 ENST00000417709.5 0 + chr22 46268007 46268927 ENST00000475467.1 0 + chr22 46268007 46280242 ENST00000421359.5 0 + chr22 46268007 46294008 ENST00000381031.8 0 + chr22 46268039 46269192 ENST00000629918.1 0 + chr22 46272371 46284032 ENST00000422713.1 0 + chr22 46288509 46292933 ENST00000451998.1 0 + chr22 46295142 46296660 ENST00000623117.1 0 - chr22 46295694 46296000 ENST00000617229.1 0 - chr22 46296869 46330810 ENST00000454366.2 0 + chr22 46316036 46327316 ENST00000466510.5 0 + chr22 46316036 46329130 ENST00000479645.1 0 + chr22 46328922 46330152 ENST00000491863.1 0 + chr22 46330874 46333699 ENST00000476901.1 0 + chr22 46331446 46352330 ENST00000486620.5 0 + chr22 46335400 46357335 ENST00000441818.5 0 + chr22 46335424 46357337 ENST00000381021.7 0 + chr22 46335424 46357337 ENST00000453630.5 0 + chr22 46335424 46357337 ENST00000456595.5 0 + chr22 46335424 46357337 ENST00000457572.5 0 + chr22 46335688 46338211 ENST00000493556.2 0 + chr22 46335713 46354319 ENST00000645026.1 0 + chr22 46335713 46357340 ENST00000645190.1 0 + chr22 46335715 46357311 ENST00000647301.1 0 + chr22 46335724 46350392 ENST00000642562.1 0 + chr22 46335744 46357184 ENST00000381019.3 0 + chr22 46335892 46356071 ENST00000642923.1 0 + chr22 46335894 46350420 ENST00000496831.5 0 + chr22 46335921 46352911 ENST00000465378.6 0 + chr22 46335950 46356979 ENST00000644006.1 0 + chr22 46335957 46352329 ENST00000485175.5 0 + chr22 46336144 46357016 ENST00000643137.1 0 + chr22 46350344 46352841 ENST00000463785.1 0 + chr22 46351649 46352312 ENST00000479648.1 0 + chr22 46352828 46357337 ENST00000491612.1 0 + chr22 46353516 46357339 ENST00000485559.1 0 + chr22 46354709 46357338 ENST00000470831.1 0 + chr22 46360833 46537170 ENST00000262738.7 0 - chr22 46361173 46365380 ENST00000473624.1 0 - chr22 46372912 46377624 ENST00000468025.1 0 - chr22 46462779 46535294 ENST00000454637.1 0 - chr22 46481328 46481760 ENST00000447383.1 0 - chr22 46530307 46534200 ENST00000497509.1 0 - chr22 46541494 46548196 ENST00000426112.1 0 + chr22 46576011 46637936 ENST00000447351.5 0 + chr22 46577128 46626899 ENST00000431155.1 0 + chr22 46620385 46679785 ENST00000406902.6 0 + chr22 46626760 46679790 ENST00000361034.7 0 + chr22 46626842 46637958 ENST00000490378.1 0 + chr22 46663106 46671167 ENST00000456069.1 0 + chr22 46674607 46679683 ENST00000408031.1 0 + chr22 46684409 46738252 ENST00000216264.13 0 - chr22 46686982 46738207 ENST00000443629.5 0 - chr22 46690054 46693812 ENST00000471929.1 0 - chr22 46735158 46738090 ENST00000460254.1 0 - chr22 46761893 46762563 ENST00000564152.1 0 - chr22 46762616 47175699 ENST00000380995.5 0 + chr22 46762649 47175693 ENST00000337137.9 0 + chr22 46762650 46793675 ENST00000441936.5 0 + chr22 46762658 46793671 ENST00000486163.5 0 + chr22 46762671 47174083 ENST00000407381.7 0 + chr22 46762680 47174086 ENST00000355704.7 0 + chr22 46762682 47174087 ENST00000394449.6 0 + chr22 46762686 46793616 ENST00000496139.5 0 + chr22 46763265 46793775 ENST00000472791.5 0 + chr22 46763741 47174092 ENST00000441162.5 0 + chr22 46773926 47174092 ENST00000406733.1 0 + chr22 46914091 46916042 ENST00000640274.1 0 - chr22 46915327 46915908 ENST00000625149.1 0 - chr22 47115837 47117215 ENST00000639527.1 0 - chr22 47115837 47117217 ENST00000623531.1 0 - chr22 47259365 47261007 ENST00000624605.1 0 + chr22 47345568 47373541 ENST00000434707.1 0 + chr22 47461298 47487111 ENST00000405369.3 0 - chr22 47463466 47487088 ENST00000481625.1 0 - chr22 47612230 47630511 ENST00000669762.1 0 - chr22 47621042 47631569 ENST00000380990.5 0 - chr22 47622377 47630551 ENST00000660125.1 0 - chr22 47625229 47629902 ENST00000609786.5 0 - chr22 47625234 47629902 ENST00000610069.1 0 - chr22 47630826 47635565 ENST00000652442.1 0 + chr22 47631193 47691494 ENST00000650947.2 0 + chr22 47631255 47638150 ENST00000426452.2 0 + chr22 47631405 47976455 ENST00000664761.1 0 + chr22 47631504 47691484 ENST00000665418.1 0 + chr22 47631654 47739115 ENST00000651071.1 0 + chr22 47631658 47729028 ENST00000652499.1 0 + chr22 47631658 47929010 ENST00000651536.1 0 + chr22 47631658 47929020 ENST00000650683.1 0 + chr22 47631662 47799280 ENST00000652072.1 0 + chr22 47631662 47855601 ENST00000652656.1 0 + chr22 47631669 47976347 ENST00000651445.1 0 + chr22 47631673 47707583 ENST00000650834.1 0 + chr22 47631673 47855600 ENST00000423737.5 0 + chr22 47631677 47691501 ENST00000651381.1 0 + chr22 47631677 47929010 ENST00000650660.1 0 + chr22 47631678 47863015 ENST00000651056.1 0 + chr22 47631679 47841255 ENST00000652611.1 0 + chr22 47631689 47863750 ENST00000652399.1 0 + chr22 47631693 47643298 ENST00000651394.1 0 + chr22 47631696 47689670 ENST00000650749.1 0 + chr22 47631696 47739105 ENST00000651458.1 0 + chr22 47631696 47778979 ENST00000651311.1 0 + chr22 47631696 47864662 ENST00000652123.1 0 + chr22 47631700 47643918 ENST00000651884.1 0 + chr22 47631701 47643918 ENST00000652597.1 0 + chr22 47631702 47752718 ENST00000652702.2 0 + chr22 47631702 47856478 ENST00000652505.1 0 + chr22 47631707 47689670 ENST00000650895.1 0 + chr22 47631707 47729030 ENST00000652334.1 0 + chr22 47631709 47863018 ENST00000652030.2 0 + chr22 47631710 47704856 ENST00000651754.1 0 + chr22 47631710 47778987 ENST00000651985.1 0 + chr22 47631710 47823939 ENST00000650972.1 0 + chr22 47631710 47947902 ENST00000651124.1 0 + chr22 47631710 48013818 ENST00000652228.1 0 + chr22 47631710 48023004 ENST00000651403.1 0 + chr22 47631713 47642797 ENST00000652206.2 0 + chr22 47631713 47643939 ENST00000651308.1 0 + chr22 47631714 47831077 ENST00000651637.1 0 + chr22 47631715 47778987 ENST00000650924.1 0 + chr22 47631721 47687333 ENST00000651104.1 0 + chr22 47631726 47739105 ENST00000652168.1 0 + chr22 47631726 47947838 ENST00000651003.1 0 + chr22 47631727 47862423 ENST00000651293.1 0 + chr22 47631727 47863775 ENST00000651948.2 0 + chr22 47631732 47739107 ENST00000652690.1 0 + chr22 47631732 47823943 ENST00000651662.1 0 + chr22 47631732 47847606 ENST00000651517.1 0 + chr22 47631732 47855445 ENST00000650787.1 0 + chr22 47631732 47947782 ENST00000651939.1 0 + chr22 47631744 47739120 ENST00000652750.1 0 + chr22 47631744 47864167 ENST00000651638.1 0 + chr22 47631744 47864167 ENST00000670853.1 0 + chr22 47631746 47637215 ENST00000651037.1 0 + chr22 47631750 47941077 ENST00000652080.1 0 + chr22 47631770 47863015 ENST00000651294.1 0 + chr22 47631775 47844141 ENST00000652164.1 0 + chr22 47631786 47662817 ENST00000651625.1 0 + chr22 47631805 47638099 ENST00000651924.2 0 + chr22 47631991 47638225 ENST00000670886.1 0 + chr22 47631991 47691012 ENST00000651938.2 0 + chr22 47631991 47729032 ENST00000650775.1 0 + chr22 47631991 47864492 ENST00000651538.1 0 + chr22 47635180 47691012 ENST00000652675.1 0 + chr22 47662558 47663603 ENST00000413815.2 0 - chr22 47686199 47730421 ENST00000651983.1 0 + chr22 47686240 47690847 ENST00000438810.1 0 + chr22 47686602 48015839 ENST00000651033.1 0 + chr22 47686878 47928994 ENST00000651584.1 0 + chr22 47699141 47739102 ENST00000650884.1 0 + chr22 47699193 47730785 ENST00000651270.1 0 + chr22 47860609 47863018 ENST00000449941.2 0 + chr22 47916727 47926264 ENST00000623760.1 0 + chr22 48044709 48048549 ENST00000457518.1 0 - chr22 48052645 48058275 ENST00000624219.1 0 + chr22 48139460 48141001 ENST00000414483.1 0 - chr22 48141541 48143229 ENST00000446364.1 0 + chr22 48254902 48259116 ENST00000648313.1 0 - chr22 48274363 48274415 ENST00000578320.1 0 + chr22 48403461 48415571 ENST00000648629.1 0 + chr22 48448889 48451217 ENST00000453866.1 0 + chr22 48474134 48489267 ENST00000667577.1 0 - chr22 48474155 48488425 ENST00000666116.1 0 - chr22 48474155 48489324 ENST00000663363.1 0 - chr22 48474223 48488866 ENST00000659917.1 0 - chr22 48475084 48487743 ENST00000662490.1 0 - chr22 48475488 48489180 ENST00000669310.1 0 - chr22 48489459 48750823 ENST00000402357.5 0 + chr22 48489591 48850912 ENST00000336769.9 0 + chr22 48538899 48547387 ENST00000626321.1 0 - chr22 48538901 48547342 ENST00000630584.1 0 - chr22 48543320 48547348 ENST00000625694.1 0 - chr22 48576305 48751932 ENST00000358295.9 0 + chr22 48576452 48750488 ENST00000473898.1 0 + chr22 48693246 48750408 ENST00000406880.1 0 + chr22 48780294 48780353 ENST00000580946.1 0 + chr22 48866769 48898386 ENST00000380981.3 0 + chr22 48892712 48897220 ENST00000660776.1 0 + chr22 49047483 49052413 ENST00000657875.1 0 - chr22 49047490 49052549 ENST00000667851.1 0 - chr22 49047650 49052069 ENST00000665699.1 0 - chr22 49047782 49052403 ENST00000669789.1 0 - chr22 49166420 49188062 ENST00000647629.1 0 - chr22 49213910 49214247 ENST00000433284.1 0 - chr22 49264200 49266080 ENST00000623446.1 0 + chr22 49372923 49377119 ENST00000649077.1 0 + chr22 49414523 49657504 ENST00000414287.5 0 - chr22 49415775 49425437 ENST00000498829.1 0 - chr22 49436223 49657457 ENST00000416411.1 0 - chr22 49500567 49501585 ENST00000625038.1 0 + chr22 49534061 49534926 ENST00000623197.1 0 + chr22 49543392 49543466 ENST00000581025.1 0 - chr22 49548680 49556473 ENST00000391625.2 0 + chr22 49572263 49575426 ENST00000393264.2 0 - chr22 49612656 49615716 ENST00000420902.1 0 - chr22 49619641 49624920 ENST00000343999.1 0 - chr22 49619643 49657542 ENST00000400023.5 0 - chr22 49620470 49657430 ENST00000405854.5 0 - chr22 49624166 49626894 ENST00000444628.2 0 - chr22 49662311 49664968 ENST00000662299.1 0 - chr22 49718052 49724506 ENST00000447372.1 0 - chr22 49738676 49739003 ENST00000411210.1 0 + chr22 49757626 49758980 ENST00000398869.2 0 - chr22 49773282 49823213 ENST00000438393.5 0 - chr22 49773282 49824804 ENST00000216267.12 0 - chr22 49773282 49825900 ENST00000404034.5 0 - chr22 49773282 49827512 ENST00000404760.5 0 - chr22 49773292 49824804 ENST00000457780.3 0 - chr22 49775260 49776115 ENST00000479985.1 0 - chr22 49805451 49807208 ENST00000624882.1 0 + chr22 49817247 49817712 ENST00000444011.1 0 + chr22 49818211 49823301 ENST00000459821.1 0 - chr22 49820832 49823205 ENST00000494833.1 0 - chr22 49832448 49838901 ENST00000666898.1 0 - chr22 49832615 49837786 ENST00000565177.1 0 - chr22 49833127 49838901 ENST00000661712.1 0 - chr22 49845928 49846090 ENST00000422315.1 0 + chr22 49846455 49846720 ENST00000621807.1 0 + chr22 49851424 49853364 ENST00000624617.1 0 + chr22 49853843 49890080 ENST00000216268.6 0 + chr22 49900228 49918438 ENST00000330817.11 0 - chr22 49902227 49904576 ENST00000610245.1 0 + chr22 49903649 49907918 ENST00000486602.1 0 - chr22 49903960 49910088 ENST00000492791.1 0 - chr22 49918166 49922707 ENST00000450207.5 0 + chr22 49918634 49927540 ENST00000404488.7 0 + chr22 49918695 49927528 ENST00000328268.8 0 + chr22 49918732 49926505 ENST00000483652.5 0 + chr22 49918732 49927534 ENST00000403427.3 0 + chr22 49918732 49927534 ENST00000407217.7 0 + chr22 49918769 49923400 ENST00000482956.5 0 + chr22 49921288 49922033 ENST00000498354.5 0 + chr22 49921306 49923264 ENST00000462253.5 0 + chr22 49921583 49925129 ENST00000444954.1 0 + chr22 49923209 49927528 ENST00000487969.1 0 + chr22 49933197 49934074 ENST00000623759.1 0 - chr22 49960767 49961646 ENST00000467480.1 0 + chr22 49960771 49964072 ENST00000360612.5 0 + chr22 49962865 49962939 ENST00000617625.1 0 + chr22 49994512 50008692 ENST00000341280.5 0 - chr22 49994512 50012659 ENST00000389983.6 0 - chr22 50015122 50054626 ENST00000266182.10 0 - chr22 50015126 50056935 ENST00000433387.1 0 - chr22 50047167 50050218 ENST00000477219.1 0 - chr22 50059390 50085354 ENST00000395876.6 0 - chr22 50059390 50085902 ENST00000311597.9 0 - chr22 50061460 50072815 ENST00000483836.1 0 - chr22 50070538 50085384 ENST00000442311.1 0 - chr22 50070541 50074684 ENST00000470008.1 0 - chr22 50089878 50161618 ENST00000545383.5 0 + chr22 50090005 50161687 ENST00000262794.10 0 + chr22 50090044 50108375 ENST00000419054.5 0 + chr22 50090053 50108375 ENST00000395854.6 0 + chr22 50090064 50161690 ENST00000395858.7 0 + chr22 50090255 50108184 ENST00000475190.1 0 + chr22 50090255 50161686 ENST00000540615.5 0 + chr22 50092744 50096437 ENST00000623740.1 0 + chr22 50114457 50142186 ENST00000434497.1 0 + chr22 50146964 50161677 ENST00000395852.5 0 + chr22 50149388 50159257 ENST00000354853.2 0 + chr22 50170730 50180292 ENST00000159647.9 0 + chr22 50170730 50180295 ENST00000395842.3 0 + chr22 50170760 50179598 ENST00000402472.2 0 + chr22 50185914 50199564 ENST00000380909.8 0 + chr22 50185916 50199598 ENST00000303434.8 0 + chr22 50185917 50199595 ENST00000463233.1 0 + chr22 50190597 50199475 ENST00000395827.5 0 + chr22 50191723 50192402 ENST00000607943.1 0 - chr22 50193013 50199569 ENST00000395829.1 0 + chr22 50196892 50198711 ENST00000472677.1 0 + chr22 50199089 50200837 ENST00000608025.2 0 - chr22 50200978 50217615 ENST00000611222.1 0 + chr22 50201010 50217616 ENST00000380903.7 0 + chr22 50205584 50206062 ENST00000610050.1 0 - chr22 50206441 50217616 ENST00000492092.1 0 + chr22 50208460 50209542 ENST00000608016.1 0 - chr22 50217688 50244971 ENST00000439308.6 0 - chr22 50217688 50244992 ENST00000498611.5 0 - chr22 50217693 50220416 ENST00000425018.1 0 - chr22 50217693 50226189 ENST00000491449.5 0 - chr22 50217693 50245023 ENST00000248846.10 0 - chr22 50221759 50224592 ENST00000489511.5 0 - chr22 50222986 50226191 ENST00000473946.1 0 - chr22 50226734 50240360 ENST00000434349.1 0 - chr22 50245182 50251261 ENST00000415993.5 0 - chr22 50245182 50251265 ENST00000216271.10 0 - chr22 50245185 50251405 ENST00000626012.2 0 - chr22 50245404 50251079 ENST00000429374.5 0 - chr22 50245441 50251032 ENST00000454936.5 0 - chr22 50245441 50251240 ENST00000448072.5 0 - chr22 50245441 50251242 ENST00000483222.5 0 - chr22 50245441 50251366 ENST00000498366.5 0 - chr22 50245449 50249208 ENST00000477814.5 0 - chr22 50245449 50261143 ENST00000497036.5 0 - chr22 50245506 50251032 ENST00000349505.4 0 - chr22 50245790 50247948 ENST00000497952.5 0 - chr22 50245978 50248372 ENST00000496235.5 0 - chr22 50246328 50249040 ENST00000471375.5 0 - chr22 50247137 50248455 ENST00000475965.1 0 - chr22 50247695 50249075 ENST00000476310.5 0 - chr22 50247907 50249203 ENST00000470378.1 0 - chr22 50248694 50250890 ENST00000496909.5 0 - chr22 50249286 50250255 ENST00000488270.1 0 - chr22 50249858 50251228 ENST00000489424.5 0 - chr22 50249867 50251385 ENST00000470965.1 0 - chr22 50250118 50251405 ENST00000497483.1 0 - chr22 50250256 50250972 ENST00000482213.1 0 - chr22 50252900 50261683 ENST00000215659.13 0 - chr22 50252902 50261308 ENST00000395780.5 0 - chr22 50252902 50261545 ENST00000488504.5 0 - chr22 50252902 50261716 ENST00000622558.4 0 - chr22 50252919 50261708 ENST00000467891.5 0 - chr22 50253780 50257107 ENST00000496942.5 0 - chr22 50253787 50261231 ENST00000482969.5 0 - chr22 50253852 50256153 ENST00000497738.1 0 - chr22 50257562 50261169 ENST00000492218.1 0 - chr22 50257688 50261543 ENST00000395778.3 0 - chr22 50263712 50270380 ENST00000330651.11 0 - chr22 50263714 50270393 ENST00000395764.5 0 - chr22 50263738 50270393 ENST00000417877.1 0 - chr22 50267137 50270767 ENST00000495277.1 0 - chr22 50274978 50278840 ENST00000479818.5 0 - chr22 50274978 50282562 ENST00000479701.5 0 - chr22 50274978 50283068 ENST00000610984.4 0 - chr22 50274978 50307627 ENST00000449103.5 0 - chr22 50274978 50307646 ENST00000359337.9 0 - chr22 50274984 50281934 ENST00000463165.1 0 - chr22 50277634 50280978 ENST00000614805.1 0 - chr22 50277852 50289561 ENST00000411680.1 0 - chr22 50281126 50282006 ENST00000492578.1 0 - chr22 50281573 50282880 ENST00000427829.1 0 - chr22 50283337 50286253 ENST00000496720.1 0 - chr22 50284166 50285843 ENST00000434732.1 0 - chr22 50287986 50301462 ENST00000432455.5 0 - chr22 50290099 50307603 ENST00000425954.1 0 - chr22 50309029 50327012 ENST00000413817.8 0 - chr22 50311965 50326977 ENST00000495607.5 0 - chr22 50314202 50318967 ENST00000471942.6 0 - chr22 50314630 50316008 ENST00000453835.1 0 + chr22 50314821 50319095 ENST00000433760.1 0 - chr22 50316034 50317025 ENST00000623684.1 0 + chr22 50316653 50318970 ENST00000460087.1 0 - chr22 50343303 50445090 ENST00000359139.7 0 + chr22 50343322 50444374 ENST00000395741.7 0 + chr22 50343326 50445090 ENST00000612753.5 0 + chr22 50343330 50444374 ENST00000395744.7 0 + chr22 50372071 50444391 ENST00000216061.9 0 + chr22 50419441 50444390 ENST00000401672.7 0 + chr22 50423604 50444371 ENST00000427222.2 0 + chr22 50439752 50441074 ENST00000473283.1 0 + chr22 50443086 50444378 ENST00000470046.1 0 + chr22 50444999 50475035 ENST00000380817.8 0 - chr22 50446805 50474942 ENST00000348911.10 0 - chr22 50446809 50455377 ENST00000418590.3 0 - chr22 50446825 50455989 ENST00000470434.1 0 - chr22 50447082 50447609 ENST00000473724.1 0 - chr22 50456588 50457347 ENST00000476293.1 0 - chr22 50466195 50467355 ENST00000477234.1 0 - chr22 50466430 50474849 ENST00000399627.3 0 - chr22 50481542 50486437 ENST00000395737.2 0 + chr22 50481555 50486440 ENST00000395738.2 0 + chr22 50486783 50490036 ENST00000395733.7 0 + chr22 50486858 50490648 ENST00000216075.11 0 + chr22 50486875 50490648 ENST00000395732.7 0 + chr22 50487384 50489976 ENST00000451761.1 0 + chr22 50502948 50507702 ENST00000474879.7 0 - chr22 50502950 50507684 ENST00000216080.5 0 - chr22 50503260 50505257 ENST00000504717.1 0 - chr22 50504833 50506220 ENST00000514938.1 0 - chr22 50505695 50507166 ENST00000505981.5 0 - chr22 50506395 50507250 ENST00000507607.1 0 - chr22 50508223 50524780 ENST00000420993.7 0 + chr22 50508242 50519752 ENST00000395698.7 0 + chr22 50508243 50523472 ENST00000395701.7 0 + chr22 50508244 50518276 ENST00000518394.5 0 + chr22 50508245 50521589 ENST00000523045.5 0 + chr22 50508258 50518058 ENST00000418794.1 0 + chr22 50508259 50523472 ENST00000299821.15 0 + chr22 50519546 50522418 ENST00000520297.5 0 + chr22 50520409 50522569 ENST00000522048.1 0 + chr22 50522524 50523471 ENST00000522304.1 0 + chr22 50523567 50525606 ENST00000395693.7 0 - chr22 50523567 50526145 ENST00000535425.5 0 - chr22 50523572 50526461 ENST00000543927.6 0 - chr22 50523595 50525604 ENST00000252785.3 0 - chr22 50523905 50526145 ENST00000638598.2 0 - chr22 50523925 50524780 ENST00000608319.1 0 + chr22 50525751 50526337 ENST00000651490.1 0 - chr22 50525751 50530012 ENST00000252029.8 0 - chr22 50525751 50530012 ENST00000395680.6 0 - chr22 50525751 50530012 ENST00000395681.6 0 - chr22 50525754 50529996 ENST00000487577.5 0 - chr22 50525755 50530032 ENST00000395678.7 0 - chr22 50525756 50530018 ENST00000476284.1 0 - chr22 50525784 50529990 ENST00000425169.1 0 - chr22 50525853 50527689 ENST00000652401.1 0 - chr22 50526309 50530018 ENST00000650719.1 0 - chr22 50526380 50530011 ENST00000651401.1 0 - chr22 50526689 50529300 ENST00000652352.1 0 - chr22 50527196 50530012 ENST00000651906.1 0 - chr22 50527791 50530012 ENST00000487162.1 0 - chr22 50528684 50530012 ENST00000652237.1 0 - chr22 50528955 50529848 ENST00000651095.1 0 - chr22 50529140 50530012 ENST00000651196.1 0 - chr22 50529709 50531822 ENST00000468249.1 0 - chr22 50530408 50532184 ENST00000401779.5 0 - chr22 50530408 50532579 ENST00000329363.8 0 - chr22 50530425 50532108 ENST00000403326.5 0 - chr22 50530440 50532147 ENST00000405135.5 0 - chr22 50530479 50532077 ENST00000428989.2 0 - chr22 50530538 50531423 ENST00000463472.1 0 - chr22 50530637 50531679 ENST00000469660.1 0 - chr22 50531744 50532580 ENST00000437588.1 0 - chr22 50541107 50543011 ENST00000609268.2 0 + chr22 50542304 50542906 ENST00000609178.1 0 - chr22 50545898 50551023 ENST00000648057.3 0 + chr22 50546414 50547652 ENST00000434237.1 0 + chr22 50548032 50551022 ENST00000395676.4 0 + chr22 50551111 50562919 ENST00000406915.4 0 - chr22 50551196 50556432 ENST00000402753.1 0 - chr22 50568860 50578020 ENST00000405237.7 0 - chr22 50568861 50578417 ENST00000312108.11 0 - chr22 50568868 50582965 ENST00000492556.5 0 - chr22 50568994 50579752 ENST00000453634.5 0 - chr22 50569083 50578455 ENST00000395650.6 0 - chr22 50569337 50577915 ENST00000360719.6 0 - chr22 50569337 50577915 ENST00000457250.5 0 - chr22 50570347 50572297 ENST00000497224.1 0 - chr22 50571882 50573100 ENST00000475238.1 0 - chr22 50572874 50576064 ENST00000423069.1 0 - chr22 50574364 50574982 ENST00000479886.1 0 - chr22 50576055 50576903 ENST00000476790.1 0 - chr22 50576625 50578465 ENST00000460853.1 0 - chr22 50576706 50577868 ENST00000461117.1 0 - chr22 50576939 50578246 ENST00000417176.1 0 - chr22 50577818 50579999 ENST00000452668.1 0 - chr22 50578948 50582999 ENST00000406938.2 0 - chr22 50578958 50582854 ENST00000492582.5 0 - chr22 50578962 50580253 ENST00000464225.5 0 - chr22 50578962 50580603 ENST00000471515.5 0 - chr22 50578962 50582824 ENST00000484266.5 0 - chr22 50578962 50582845 ENST00000481673.5 0 - chr22 50578965 50582820 ENST00000479003.5 0 - chr22 50579449 50582458 ENST00000468532.5 0 - chr22 50579803 50580780 ENST00000489453.1 0 - chr22 50580356 50582854 ENST00000476289.5 0 - chr22 50580356 50601455 ENST00000463053.1 0 - chr22 50581606 50582420 ENST00000465842.1 0 - chr22 50583025 50583877 ENST00000380711.3 0 + chr22 50583119 50584333 ENST00000656328.1 0 + chr22 50583155 50587640 ENST00000648558.1 0 + chr22 50583178 50584182 ENST00000666183.1 0 + chr22 50584342 50588029 ENST00000654355.1 0 + chr22 50584404 50588035 ENST00000662119.1 0 + chr22 50584553 50588027 ENST00000652967.1 0 + chr22 50586872 50595634 ENST00000654727.1 0 + chr22 50597151 50597599 ENST00000609758.1 0 + chr22 50600792 50613978 ENST00000329492.6 0 + chr22 50603132 50613981 ENST00000008876.7 0 + chr22 50622753 50623326 ENST00000610191.1 0 - chr22 50622753 50625656 ENST00000608497.1 0 - chr22 50622753 50628152 ENST00000216124.10 0 - chr22 50625017 50628170 ENST00000356098.9 0 - chr22 50625027 50628155 ENST00000395621.7 0 - chr22 50625028 50628173 ENST00000453344.6 0 - chr22 50625032 50628159 ENST00000395619.3 0 - chr22 50626590 50628170 ENST00000551731.1 0 - chr22 50669803 50669901 ENST00000391267.1 0 + chr22 50672713 50674174 ENST00000661649.1 0 + chr22 50674414 50733298 ENST00000414786.6 0 + chr22 50674641 50731312 ENST00000445220.5 0 + chr22 50674641 50733210 ENST00000262795.5 0 + chr22 50691259 50691363 ENST00000384114.1 0 - chr22 50705495 50733298 ENST00000664402.1 0 + chr22 50729571 50731518 ENST00000659388.1 0 + chr22 50735824 50738139 ENST00000449652.1 0 - chr22 50738195 50740359 ENST00000533930.1 0 + chr22 50738203 50745339 ENST00000216139.10 0 + chr22 50738229 50740757 ENST00000529621.1 0 + chr22 50740592 50743520 ENST00000532913.1 0 - chr22 50744143 50744910 ENST00000527761.1 0 + chr22 50754674 50755434 ENST00000395613.2 0 - chr22 50756947 50789186 ENST00000496652.5 0 + chr22 50767500 50783662 ENST00000435118.5 0 - chr22 50767503 50783621 ENST00000354869.7 0 - chr22 50767505 50782314 ENST00000425098.5 0 - chr22 50767505 50783642 ENST00000395593.7 0 - chr22 50767505 50783659 ENST00000395598.7 0 - chr22 50767505 50783662 ENST00000395591.5 0 - chr22 50767505 50783663 ENST00000395595.7 0 - chr22 50767508 50770502 ENST00000465063.5 0 - chr22 50767529 50783638 ENST00000436958.5 0 - chr22 50769526 50775833 ENST00000482308.1 0 - chr22 50769781 50783286 ENST00000464678.5 0 - chr22 50771209 50783630 ENST00000395590.5 0 - chr22 50775770 50783600 ENST00000468451.1 0 - chr22 50777659 50783630 ENST00000464740.1 0 - chr22 50782233 50783045 ENST00000413505.1 0 - chr22 50783253 50799305 ENST00000467796.5 0 + chr22 50783756 50799434 ENST00000462238.5 0 + chr22 50783774 50788954 ENST00000463325.5 0 + chr22 50783796 50789353 ENST00000494075.5 0 + chr22 50783811 50789172 ENST00000423888.5 0 + chr22 50783849 50799441 ENST00000651346.1 0 + chr22 50783861 50801309 ENST00000480246.1 0 + chr22 50798654 50799123 ENST00000427528.1 0 + ================================================ FILE: bedtools/index.ipynb ================================================ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Manipulating files with bedtoools\n", "### Bioinformatics Coffee Hour - May 18, 2020\n", "\n", "### Genomic Intervals\n", "Many types of bioinformatics data are stored as genomic intervals, that is ranges (potentially discontinuous) along a sequence. Of course this includes things like gene models, but also the output of peak callers, enhancer predictions, and many other things. This genomic interval information is typically stored in either GFF or bed files. Today we are going to focus on bed files. \n", "\n", "Bed files use a 0-based start (first base of a chromosome is 0), and a 1-based end. This means the interval from the first base to the hundredth base of a chromosome would be represented as start = 0, end = 100 in a bed file. Another way to think about this is that bed files are 0-based, half-open (the start is included in the interval but not the end). Note that GFF files use a different convention, just to make things more confusing. \n", "\n", "Bed files are just tab-delimited files with a fixed set of fields: \n", "\n", "|col|field|meaning|\n", "|:---|:---|:--|\n", "|1|seqname|chr or scaffold id interval is on|\n", "|2|start|start position (0-based) of interval|\n", "|3|end|end position (1-based) of interval|\n", "|4|name|name of interval|\n", "|5|score|score, e.g. for peak calls or other intervals with scores; can be .|\n", "|6|strand|strand interval is on for strand-specific intervals|\n", "|7|thickStart|graphical parameter for genome browser display|\n", "|8|thickEnd|graphical parameter for genome browser display|\n", "|9|itermRgb|graphical parameter for genome browser display|\n", "|10|blockCount|for multi-exon genes and similar|\n", "|11|blockSizes|for multi-exon genes and similar|\n", "|12|blockStarts| for multi-exon genes and similar|\n", "\n", "Only the first three fields are required, but you cannot skip fields (so if you want to include strand, you need to also include name and score in that order). This means that you can manipulate bed files with standard Unix tools (such as awk that we introduced a few weeks ago). However, many operations on intervals can get quite complicated, and so there are specialized tools for dealing with this specific kind of data. One of the most popular and useful is bedtools, which will be the focus of our demo today.\n", "\n", "First, we'll just look at an example bed file:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "head data/human_enhancers_chr22.bed" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Finding the closest gene to something\n", "\n", "One very common task in interval manipulation is trying to find the closest interval from one file to intervals in another file, e.g. you have a list of putative ehnancers (as a bed file) and you want to know the closest gene to each one. In bedtools, this can be done very simply with the `closest` option:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "bedtools closest -a data/human_enhancers_chr22.bed -b data/ucscGenes_chr22.bed | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note we pipe the output to head with the `|` operator so that we only see the first few lines of the output.\n", "\n", "Many bedtools commands for comparing things use `-a` and `-b` to indicate the two files to compare. Although the exact meaning varies, usually this can be read as \"for each element in a, compare to all elements in b.\" So in this case, we get the closest gene to each enhancer. We could also do this in reverse, to get the closest enhancer for each gene." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "bedtools closest -a data/ucscGenes_chr22.bed -b data/human_enhancers_chr22.bed | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice that each element in the `-a` file only appears once, but elements in `-b` can appear many times. \n", "\n", "We might want to list not just the closest element, but how far away it is. We can do this using the `-d` option to bedtools closest, like so:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "bedtools closest -a data/human_enhancers_chr22.bed -b data/ucscGenes_chr22.bed -d | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, the last column is the distance between the element in the A file and the element in the B file. Notice that some of these distances are 0, which means that the closest element in B overlaps the element in A. We might want to find the closest non-overlapping element, instead of the closest element. We can do this with the `-io` option:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "bedtools closest -a data/human_enhancers_chr22.bed -b data/ucscGenes_chr22.bed -d -io | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Like most bedtools tools, `closest` has a number of additional options to control filtering, reporting, and what is considered closest (e.g., requiring the same or different strand, or looking only at upstream or downstream features). You can see all the options with `-h` to display the help:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "bedtools closest -h" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As an exercise, look through the help display and think about how you would find the closest **upstream** enhancer to each gene." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Finding overlaps\n", "\n", "Another common task is finding overlaps between two sets of intervals. For example, we might want to know which of our enhancers identified in neural crest cells are shared with enhancers identified in some other cell type. In your directory you should see another bed file, H1-hESC-H3K27Ac_chr22.bed, which has H3K27Ac peaks from human embryonic stem cells. We'll use bedtools to get the overlaps between this file and our human enhancers file.\n", "\n", "Intersect can be a little tricky to sort out the options, so we'll use this figure as reference:\n", "\n", "
", "\n", "\n", "Like `closest`, `bedtools intersect` uses a `-a` and a `-b` file. Each feature in A is compared to all features in B to identify overlaps. The simplest option is:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "bedtools intersect -a data/human_enhancers_chr22.bed -b data/H1-hESC-H3K27Ac_chr22.bed | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that this only lists the features in `A` that have an overlap in `B`, and it doesn't tell us what they overlap. If we wanted to list all features in `A` and indicate what they overlap, we could use the `-wao` option:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "bedtools intersect -a data/human_enhancers_chr22.bed -b data/H1-hESC-H3K27Ac_chr22.bed -wao | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This output is a little complicated, so let's walk through it. The first 5 columns are the elements in A, and would look the same as `head data/human_enhancers_chr22.bed`. Next we have the element in B that overlaps, or `.` if no elements overlap. This is also a five-column bed file, ending with a score that is between 0 and 1000. Finally, we have an additional column that is the number of base pairs that overlap. Note that in this case, most of the elements in B are much bigger than the elements in A, so the overlap is typically the length of the element in A." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's say now we want to split our human_enhancers file into two separate files, one for those that overlap a H1-hESC-H3K27Ac and one for those that don't. We could do this using `awk` or `grep` on the output we just produced, but we can also do this with bedtools itself. There is an option, `-wa` that writes the original entry in A if it overlaps any entry in B, and other option `-v` that only reports elements in A with no overlap in B:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "bedtools intersect -a data/human_enhancers_chr22.bed -b data/H1-hESC-H3K27Ac_chr22.bed -wa -v | head" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "bedtools intersect -a data/human_enhancers_chr22.bed -b data/H1-hESC-H3K27Ac_chr22.bed -wa | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Bedtools intersect has **lots** of options, and usually there is a way to do anything that involves comparing to sets of intervals and finding overlaps with it." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Computing promoter intervals \n", "\n", "So far we've looked at examples of comparing two different files, but some bedtools options work with a single bed file. An example is the `flank` command, which creates a new interval adjacent to existing intervals. We can use this to, for example, compute promoter intervals for each gene, where we define promoters as the 2kb upstream of the start site:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "bedtools flank -i data/ucscGenes_chr22.bed -g data/hg38.genome -l 2000 -r 0 -s | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "One of the powerful features of bedtools is that you can combine different tools with the Unix `|`, to allow the output of one tool to be the input to another. We can use this to identify all the enhancers that fall within promoter regions of genes:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "bedtools flank -i data/ucscGenes_chr22.bed -g data/hg38.genome -l 2000 -r 0 -s | bedtools intersect -a data/human_enhancers_chr22.bed -b - -u | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Quick hits\n", "\n", "There are many other possibilities for what bedtools can do. We'll end with just a couple of more examples of how to solve common problems with bedtools." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Make a bed file of intergenic regions from a bed file of genes" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "bedtools complement -i data/ucscGenes_chr22.bed -g data/hg38.genome | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Randomly shuffle the location of enhancers, avoiding placing them in genes" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "bedtools shuffle -i data/human_enhancers_chr22.bed -g data/hg38.genome -excl data/ucscGenes_chr22.bed | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Compute a single metric to measure similarity between two sets of intervals" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "bedtools flank -i data/ucscGenes_chr22.bed -g data/hg38.genome -l 2000 -r 0 -s | bedtools sort -i - | bedtools jaccard -a data/H1-hESC-H3K27Ac_chr22.bed -b -" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "bedtools random -n 743 -l 2000 -g data/hg38.genome | bedtools sort -i - | bedtools jaccard -a data/H1-hESC-H3K27Ac_chr22.bed -b -" ] } ], "metadata": { "kernelspec": { "display_name": "Bash", "language": "bash", "name": "bash" }, "language_info": { "codemirror_mode": "shell", "file_extension": ".sh", "mimetype": "text/x-sh", "name": "bash" } }, "nbformat": 4, "nbformat_minor": 4 } ================================================ FILE: differential-expression-analysis/binder/Dockerfile ================================================ FROM rocker/binder:3.6.2 ARG NB_USER ARG NB_UID USER root # install dependencies RUN install2.r statmod \ && Rscript -e 'BiocManager::install("edgeR", update=FALSE)' \ && rm -rf /tmp/downloaded_files # copy files COPY ./differential-expression-analysis/ ${HOME} RUN chown -R ${NB_USER} ${HOME} USER ${NB_USER} ================================================ FILE: differential-expression-analysis/data/dme_elev_samples.tab ================================================ sample population temp SRR1576457 maine low SRR1576458 maine low SRR1576459 maine low SRR1576460 maine high SRR1576461 maine high SRR1576462 maine high SRR1576463 panama low SRR1576464 panama low SRR1576465 panama low SRR1576514 panama high SRR1576515 panama high SRR1576516 panama high ================================================ FILE: differential-expression-analysis/index.Rmd ================================================ --- title: 'Differential Expression Analysis with limma-voom' output: html_document: default --- # I. Preliminaries This tutorial consists of a workflow demostration for differential expression analyses using RNA-seq data using limma voom. While there are now many published methods for tackling specific steps, as well as full-blown pipelines, limma voom has been show to be one of the top performers with respect to controlling the false discovery rate. In our daylong differential expression workshop, we also cover DE testing with sleuth, another top performer with respect to FDR control, and which is designed explicitly to handle psueduo-alignment based estimates of abundance derived from kallisto. Our limma voom workflow will use a gene-level count matrix derived from estimates of RNA abundance in each samples. These estimates have been generated with RSEM, using bowtie2 read alignments. Our limma voom workflow will use a gene-level count matrix derived from estimates of RNA abundance in each samples. These estimates have been generated with RSEM, using bowtie2 read alignments. These alignments were to transcripts derived from an annotated reference genome. Specific topics covered today include: * Importing and pre-processing a count matrix * Using a sample table to define factors used in DE analysis * Analysis of single-factor designs * Analysis of 2-factor designs ## Sample data Our sample data comprises 12 paired-end RNA-seq libraries for whole body samples of *Drosophila melanogaster* from two geographic regions (Panama and Maine), with two temperature treatments ("low" ane "high") for each region, featuring three biological replicates for each region x treatment combination. Previously, these data were used to look for parallel gene expression patterns between high and low latitude populations (Zhao et al, 2015, *PLoS Genetics*) ## Loading required R libraries First, load all the R libraries that will be used for today's analyses: ```{r, echo=TRUE} library(edgeR) library(limma) ``` ## Data management 1. Load and view the table that associates sample IDs and treatments (dme_elev_samples.tab): ```{r, echo=TRUE} s2c<-read.table("data/dme_elev_samples.tab",header = TRUE, stringsAsFactors=FALSE) s2c ``` 2. Open RSEM matrix ```{r,echo=TRUE} rsem_gene_data<-read.table("data/dme_elevgrad_rsem_bt2_gene_counts.matrix.bz2",header=TRUE,row.names=1) ``` ## Pre-processing and filtering ### Handling non-integer RSEM estimates 3. Round the expression matrix ```{r,echo=TRUE} rnaseqMatrix=round(rsem_gene_data) ``` ### Filtering out lowly expressed genes 4. Create a boolean variable that classifies samples according to whether CPM>=1: ```{r,echo=TRUE} filter=rowSums(cpm(rnaseqMatrix)>=1)>=6 ``` 5. Apply the filter to the expression matrix: ```{r,echo=TRUE} cpm_filtered_matrix=rnaseqMatrix[filter,] ``` This operation filters out ~5000 genes, which reduces our multiple testing burden as well (although limma might not atually try and conduct tests on a subset of these). ## Creating a Digital Gene Expression list object To run limma, we need to transform the expression matrix into a DGElist ("digital gene expression list") which is an object class that comes from edgeR 6. Create the DGE object and normalized expression matrix: ```{r,echo=TRUE} DGE<-DGEList(cpm_filtered_matrix) ``` ## Normalization using TMM method 7. Calculate normalization factors and do MDS plot: ```{r,echo=TRUE} DGE<-calcNormFactors(DGE,method =c("TMM")) ``` ## Quick and dirty outlier check 8. Generate an MDS plot ```{r,echo=TRUE} tempvals<-s2c$temp plotMDS(DGE,top=500,col=ifelse(tempvals=="low","blue","red"),gene.selection="common") ``` ## The vanilla one factor, two treatment DE analysis A fundamental step of DE analysis is to construct a design matrix that will be used to fit the linear model. In our simple vanilla 2-condition, example we can simply use the temp variable in the s2c table to create a matrix. which represents binary 0/1 encodings of the temp conditions. 9. Create design matrix: ```{r,echo=TRUE} design_temp=model.matrix(~temp, data=s2c) design_temp ``` After creating the design matrix object, the standard approach is to next run limma voom on the DGE object, e.g.: ```{r,echo=TRUE,eval=FALSE} v <- voom(DGE, design=design_temp, plot=TRUE) ``` **However** ... while this works fine under an ideal scenario, it becomes a problem if there is variation in sample quality, or more generally, there is some indication that a subset of samples appear as outliers via MDS, PCA, etc. Particularly for RNA-seq experiments where researchers may only have a few repicates per sample, discarding outlier samples is not feasible because it may lead to few if any biological replciates for some subset of treatments. A better solution to this problem is to apply weights to samples such that outlier samples are downweighted during differential expression calcuations. Limma voom does this by calculating "empirical quality weights" for each sample. 10. Run limma voom with sample quality weights: ```{r,echo=TRUE} vwts <- voomWithQualityWeights(DGE, design=design_temp,normalize.method="none", plot=TRUE) ``` **Note:** we have already applied TMM normalization, thus can set the normalization argument to none. This above command will also generate a plot with two panels showing the mean-variance relationship fit on the left, and a barplot of weights assigned to individual samples. 11. Then, run the linear model fitting procedure 1st step: ```{r,echo=TRUE} fit=lmFit(vwts,design_temp) ``` 12. Then apply the empirical bayes procedure: ```{r,echo=TRUE} fit=eBayes(fit,robust=TRUE) ``` We use the robust=TRUE setting to leverage the quality weights such that the analysis is robust to outliers. One can then get a quick and dirty summary of how many genes are differentially expressed, setting the FDR threshold,where the "fdr" and "BH" methods are synonymous for Benjamini Hochberg adjusted p-values. 13. Get summary table: ```{r,echo=TRUE} summary(decideTests(fit,adjust.method="fdr",p.value = 0.05)) ``` One piece of important info is the factor relative to which logfold change is being calculated, i.e. low will be the numerator for logfold change calculations. 14. Explore the data by extracting the top 10 DE genes (sorted by p-value): ```{r,echo=TRUE} topTable(fit, adjust="BH",resort.by="P") ``` The full table will be useful for many purposes, such as creating custom MA or volcano plots with color-coding and symbols to meet your needs. 15. Create a table of all genes (significant and not) ```{r,echo=TRUE} all_genes<-topTable(fit, adjust="BH",coef="templow", p.value=1, number=Inf ,resort.by="P") ``` coeff = the coefficient or contrast you want to extract number = the max number of genes to list adjust = the P value adjustment method resort.by determines what criteria with which to sort the table ## Analysis of a 2-factor design Extending limma to analyze more complex designs is relatively straightforward. A key part is to specify the design matrix properly. For the 2-factor design, one would do this as follows: 16. Construct the design matrix to incorporate temperate and population effects ```{r,echo=TRUE} population <- factor(s2c$population) temperature <- factor(s2c$temp, levels=c("low","high")) design_2factor<- model.matrix(~population+temperature) design_2factor ``` Then, you would proceed with DE analysis in a similar fashion as with the single factor experiment described above. ================================================ FILE: enrichment-analysis/binder/Dockerfile ================================================ FROM rocker/binder:3.6.3 USER root # install dependencies RUN install2.r statmod \ && Rscript -e 'BiocManager::install("edgeR", update=FALSE)' \ && rm -rf /tmp/downloaded_files # copy files COPY --chown=rstudio:rstudio ./differential-expression-analysis/data ${HOME}/data/ COPY --chown=rstudio:rstudio ./enrichment-analysis/data ${HOME}/data/ COPY --chown=rstudio:rstudio ./enrichment-analysis/index.Rmd ${HOME} USER rstudio ================================================ FILE: enrichment-analysis/data/dme_mapk_ensembl_geneids.txt ================================================ geneid FBgn0261434 FBgn0015402 FBgn0243512 FBgn0024326 FBgn0014380 FBgn0003205 FBgn0004595 FBgn0011217 FBgn0024329 FBgn0014006 FBgn0262582 FBgn0046689 FBgn0003867 FBgn0039015 FBgn0003118 FBgn0267339 FBgn0015765 FBgn0000206 FBgn0001139 FBgn0039421 FBgn0039532 FBgn0086361 FBgn0001297 FBgn0003720 FBgn0003870 FBgn0010333 FBgn0010909 FBgn0016794 FBgn0014388 FBgn0262733 FBgn0003984 FBgn0014011 FBgn0026252 FBgn0015296 FBgn0004390 FBgn0004569 FBgn0003410 FBgn0259794 FBgn0052179 FBgn0003997 FBgn0003256 FBgn0264959 FBgn0003733 FBgn0011656 FBgn0033483 FBgn0001291 FBgn0004907 FBgn0004638 FBgn0013725 FBgn0015295 FBgn0010213 FBgn0021818 FBgn0023214 FBgn0086358 FBgn0003731 FBgn0016641 FBgn0265193 FBgn0004650 FBgn0000382 FBgn0003079 FBgn0000179 FBgn0003053 FBgn0005390 FBgn0029944 FBgn0265464 FBgn0030018 FBgn0010269 FBgn0002576 FBgn0003366 FBgn0010303 FBgn0261524 FBgn0003969 FBgn0030941 FBgn0026323 FBgn0263933 FBgn0000097 FBgn0000490 FBgn0283531 FBgn0003716 FBgn0000308 FBgn0004177 FBgn0044323 FBgn0003502 FBgn0020497 FBgn0001137 FBgn0003209 FBgn0003751 FBgn0032210 FBgn0015399 FBgn0024846 FBgn0001965 FBgn0000153 FBgn0005672 ================================================ FILE: enrichment-analysis/data/heatshockprotein_ensembl_gene_ids.txt ================================================ geneid FBgn0010247 FBgn0010173 FBgn0024330 FBgn0037878 FBgn0013275 FBgn0013276 FBgn0013277 FBgn0051354 FBgn0013278 FBgn0013279 FBgn0026207 FBgn0001217 FBgn0038145 FBgn0004237 FBgn0038274 FBgn0266599 FBgn0038578 FBgn0020238 FBgn0263738 FBgn0263757 FBgn0038609 FBgn0038722 FBgn0028396 FBgn0044812 FBgn0038838 FBgn0044809 FBgn0044810 FBgn0039004 FBgn0024509 FBgn0039120 FBgn0039125 FBgn0001230 FBgn0039301 FBgn0039562 FBgn0035110 FBgn0035243 FBgn0011573 FBgn0001233 FBgn0263106 FBgn0035852 FBgn0001229 FBgn0001223 FBgn0001225 FBgn0001227 FBgn0001224 FBgn0001226 FBgn0036263 FBgn0086708 FBgn0001216 FBgn0026418 FBgn0263606 FBgn0004401 FBgn0266580 FBgn0033247 FBgn0033264 FBgn0013756 FBgn0033737 FBgn0028683 FBgn0001220 FBgn0034091 FBgn0034118 FBgn0001222 FBgn0034310 FBgn0040273 FBgn0034646 FBgn0034707 FBgn0034722 FBgn0034795 FBgn0010660 FBgn0011296 FBgn0013548 FBgn0002174 FBgn0034939 FBgn0023529 FBgn0003371 FBgn0029676 FBgn0260484 FBgn0013987 FBgn0028982 FBgn0011661 FBgn0266421 FBgn0001218 FBgn0061200 FBgn0010602 FBgn0011244 FBgn0031701 FBgn0031728 FBgn0027868 FBgn0021761 FBgn0262647 FBgn0032474 FBgn0032525 FBgn0086691 FBgn0032586 FBgn0044811 FBgn0053117 FBgn0032906 ================================================ FILE: enrichment-analysis/index.Rmd ================================================ --- title: 'Enrichment analysis for bulk RNA-seq with Camera and Roast' output: html_document: default --- # I. Preliminaries This tutorial builds on a workflow presented in our last office hours tutorial on conducting bulk RNA-seq analyses with limma voom. In that tutorial, we analyzed gene-level expression estimates for an experiment looking at parallel climate adaptation in *Drosophila melanogaster*. Today, we introduce methods available in the limma voom R package for conducting enrichment tests, specifically evaluating the extent of DE in a set of features (isoforms or genes), that typically correspond to a pathway of interest. These methods have been developed specifically for expression analyses, including RNA-seq, in order to explicitly account for the correlation among expression levels across assayed features, i.e. isoforms or genes. CAMERA performs competitive tests, that compare the extent of DE in a feature set compared to a background set. ROAST performs focused tests on feature sets, to test the hypothesis that there is a significant level of DE observed in features within the set. We will specifically use mROAST that performs multiple single-set tests while adjusting for multiple comparisons. These methods are more appropriate for RNA-seq experiments than GSEA, because GSEA calculates P-values by permuting sample ids. When there are few samples, as is the case in most bulk RNA-seq experiments, sample permutations lead to elevated false discovery rates. Specific topics covered today include: * Quick review of steps for obtaining DE results with limma voom * Running CAMERA on limma voom results for MAPK pathway genes involved in stress response and heat shock proteins * Running mROAST on limma voom DE results on two gene sets: MAPK pathway genes and heat shock proteins ## Sample data Our sample data comprises 12 paired-end RNA-seq libraries for whole body samples of *Drosophila melanogaster* from two geographic regions (Panama and Maine), with two temperature treatments ("low" and "high") for each region, featuring three biological replicates for each region x treatment combination. Previously, these data were used to look for parallel gene expression patterns between high and low latitude populations (Zhao et al, 2015, *PLoS Genetics*) ## Loading required R libraries First, load all the R libraries that will be used for today's analyses: ```{r, echo=TRUE} library(edgeR) library(limma) library(statmod) ``` ## Data management 1. Load and view the table that associates sample IDs and treatments (dme_elev_samples.tab): ```{r, echo=TRUE} s2c<-read.table("data/dme_elev_samples.tab",header = TRUE, stringsAsFactors=FALSE) s2c ``` 2. Open RSEM matrix ```{r,echo=TRUE} rsem_gene_data<-read.table("data/dme_elevgrad_rsem_bt2_gene_counts.matrix.bz2",header=TRUE,row.names=1) ``` ## Pre-processing and filtering ### Handling non-integer RSEM estimates 3. Round the expression matrix ```{r,echo=TRUE} rnaseqMatrix=round(rsem_gene_data) ``` ### Filtering out lowly expressed genes 4. Create a boolean variable that classifies samples according to whether CPM>=1: ```{r,echo=TRUE} filter=rowSums(cpm(rnaseqMatrix)>=1)>=6 ``` 5. Apply the filter to the expression matrix: ```{r,echo=TRUE} cpm_filtered_matrix=rnaseqMatrix[filter,] ``` ## Creating a Digital Gene Expression list object To run limma, we need to transform the expression matrix into a DGElist ("digital gene expression list") which is an object class that comes from edgeR 6. Create the DGE object and normalized expression matrix: ```{r,echo=TRUE} DGE<-DGEList(cpm_filtered_matrix) ``` ## Normalization using TMM method 7. Calculate normalization factors and do MDS plot: ```{r,echo=TRUE} DGE<-calcNormFactors(DGE,method =c("TMM")) ``` ## Analysis of a 2-factor design Extending limma to analyze more complex designs is relatively straightforward. A key part is to specify the design matrix properly. For the 2-factor design, one would do this as follows: 8. Construct the design matrix to incorporate temperate and population effects ```{r,echo=TRUE} population <- factor(s2c$population) temperature <- factor(s2c$temp, levels=c("low","high")) design_2factor<- model.matrix(~population+temperature) design_2factor ``` 9. Run limma voom with sample quality weights: ```{r,echo=TRUE} vwts <- voomWithQualityWeights(DGE, design=design_2factor,normalize.method="none", plot=TRUE) ``` 10. Then, run the linear model fitting procedure 1st step: ```{r,echo=TRUE} fit=lmFit(vwts,design_2factor) ``` 11. Then apply the empirical bayes procedure: ```{r,echo=TRUE} fit=eBayes(fit,robust=TRUE) ``` 12. Get summary table of all tests, including NS results: ```{r,echo=TRUE} all_genes<-topTable(fit, adjust="BH",coef="temperaturehigh", p.value=1, number=Inf ,resort.by="P") ``` II. Running Camera 13. load table of KEGG-classfied MAPK pathway genes ```{r} mapk<-read.table("data/dme_mapk_ensembl_geneids.txt",header=TRUE) head(mapk) ``` 14. create vector of row (gene) indices for the heat shock protein genes: ```{r,echo=TRUE} mapk_indices<-ids2indices(mapk,row.names(cpm_filtered_matrix)) ``` CameraPR runs camera on precomputed test statistics such at the t-statistics in the limma fit object, so is directly applicable to our limma pipeline. 15. run Camera on the precomputed limma fit object It is important to use the correct column of the design matrix. ```{r,echo=TRUE} colnames(design_2factor) ``` As we can see, column 3 is for the temperature factor that we are interested in ```{r,echo=TRUE} temp_camera_pr<-cameraPR(fit$t[,3],mapk_indices) temp_camera_pr ``` **Note:** The current default for inter.gene.cor is 0.01, because in the words of the authors, with this value "camera will rank biologically interpretable sets more highly. This gives a useful compromise between strict error rate control and interpretable gene set rankings." This is particularly applicable to relative rankings when one supplies several sets for testing. As it turns out, one can't change this setting in cameraPR. If one wants the rigorous error rate control that results from estimating the inter-gene correlation, and if one isn't worried about relative rankings of different sets, one could call camera, and set inter.gene.cor to NULL, which makes it estimate that correlation. With camera, you need to be careful to specify the relevant expression matrix. The raw input is not necessarily appropriate in this case, as DE testing is done on TMM normalized, quality-weighted data, which we can access via the vmwts object: 16. Run Camera with inter-gene correlation estimation ```{r,echo=TRUE} temp_camera_wcorest<-camera(vwts$E,mapk_indices,design_2factor,contrast="temperaturehigh",inter.gene.cor=NA) temp_camera_wcorest ``` When camera is asked to do estimation, it returns the estimated correlation in the output. The estimated correlation coefficient is substantially larger than the default used with cameraPR, leading to a more conservative P-value, and a non-significant result. With either cameraPR, or camera, if you provide multiple gene sets, an FDR value will also be provided. 17. Load the heat shock proteins table ```{r,echo=TRUE} hsps<-read.table("data/heatshockprotein_ensembl_gene_ids.txt",header=TRUE) ``` 18. Create heat shock protein indices ```{r,ech=TRUE} hsps_indices<-ids2indices(hsps,row.names(cpm_filtered_matrix)) ``` 19. Run Camera with inter-gene correlation estimation for both gene sets ```{r,echo=TRUE} temp_camera_wcorest_2sets<-camera(vwts$E,index=list(mapk=mapk_indices$geneid,heatshock=hsps_indices$geneid),design_2factor,contrast="temperaturehigh",inter.gene.cor=NA) temp_camera_wcorest_2sets ``` Our results demonstrate a potential pitfall of using default behavior of an enrichment tool, by assuming a weak correlation among pathway genes! **NOTE:** it is entirely possible to run camera on expression data or differential expression test results derived from another pipeline. For example, one could supply an expression matrix derived from kallisto estimates, and a design matrix, and use camera. Perhaps more ideal, to take advantage of the advantages sleuth offers for kallisto-derived estimates, one could supply test statistics obtained from sleuth and run cameraPR. III. Running targeted enrichment analyses with mRoast 20. Run mRoast on heat shock protein and MAPK pathway gene sets ```{r,echo=TRUE} roast_results<-mroast(vwts$E,index=list(mapk = mapk_indices$geneid, heatshock = hsps_indices$geneid),design=design_2factor,contrast="temperaturehigh",adjust.method="BH",set.statistic="mean50") roast_results ``` Roast provides P-values and adjusted P-values (FDR) for the direction with the strongest signal, as well as the significance of the combination of both up and down regulation relative to the factor-level that the coefficient in the design describes, in our case "temperaturehigh". There are a number of arguments one can change, but perhaps the most important is "set.statistic" which defines the summary statistic on which significant testing is performed. The right option depends in part on prior knowledge of the extent of DE in the gene set. "mean.50" performs well under a variety of conditions, representing a balance between power and false discovery and will detect as few as 25% differentially expressed genes. When it is expected that only a small fraction of genes in the set will be differentially expressed, "msq" is thought to perform better. "Mean" should only be used when a majority of genes are expected to be differentially expressed.For out data set, choosing between these two statistics only has minimal effect on P-values, and resulting test-specific FDR estimates. In the big picture, Camera competitive tests show there is not significant enrichment of DE signals in the two pathways relative ot overall patterns of DE. However, there are so many differentially expressed genes in this experiment, that this may obscure interesting biology! In contrast, Roast detects DE in both pathways. Perhaps more informative would be an analysis of a larger set of pathway gene sets, and examining how the fractions of DE genes differ amongst pathways to highlight pathways with particularly strong signal. ================================================ FILE: ggplot-basics/binder/Dockerfile ================================================ FROM rocker/binder:3.6.3 ARG NB_USER USER root RUN install2.r dslabs \ && rm -rf /tmp/downloaded_packages USER ${NB_USER} COPY --chown=${NB_USER} ./ggplot-basics/ ${HOME} ================================================ FILE: ggplot-basics/index.Rmd ================================================ --- title: "ggplot basics" subtitle: "Bioinformatics Coffee Hour" date: "August 25, 2020" author: "Tim Sackton" output: html_document --- ```{r setup, include=FALSE} knitr::opts_chunk$set(echo = TRUE) ``` The goal of this workshop is to teach the grammar of graphics in R, with a focus on **ggplot2**. The consistent grammar implemented in ggplot2 is advantageous both because it is easily extendible - that is you can both produce simple plots, but then develop them into complex publication-ready figures. In addition to the basic ggplot2 R package, many extensions for different types of data have been written using the same standardized grammar. ggplot2 is part of the tidyverse package, and to make it easier to load our dataset and manipulate it prior to plotting, we will load the entire tidyverse package. ```{r, echo=FALSE} library(tidyverse) library(dslabs) ``` # Basic grammar of ggplot Today we will be introducing the basics of ggplot, using a variety of datasets from the 'dslabs' package, which includes data that has already been cleaned and tidied, and is appropriate for various plotting tasks. There are three key components that make up every ggplot: 1. **data** 2. **aesthetic mappings** (which variables in your data map to which visual properties) 3. **geometric object (geom) function** (a layer describing how to render each observation) There are other optional components that control the visualization of the plots, but for now, we will focus on getting these three key elements down. The basic formula for these options is: `ggplot(data=, aes()) + ()` Let's make a basic plot using this grammar. You can see that this is really not much more complicated than the base R *plot* function. We'll use a dataset from the website [Spurious Correlations](https://www.tylervigen.com/spurious-correlations), which is amusing to browse and demonstrates the limitations of inference from correlations along. ```{r, echo=FALSE} data(divorce_margarine) ggplot(data=divorce_margarine, aes(x=divorce_rate_maine, y=margarine_consumption_per_capita)) + geom_point() ``` Let's break down what this is actually doing a little bit, to try to get an inuititive understanding for how the 'grammer of graphics' works. The initial ggplot plot command sets up a coordinate axis. We can just run this, without the geom_point() command, to see what happens: ```{r fig.show='asis'} ggplot(divorce_margarine, aes(x=divorce_rate_maine, y=margarine_consumption_per_capita)) ``` Note that this just sets up the coordinate system: no points are plotted. The plotting happens only when we *add* geom_point() to the plot. So each ggplot is set up as layers: first, a coordinate system, and then one or more overlays plotting data on that coordinate system. This has a few implications for how to think about plots. First, it means that you can layer multiple plots on single coordinate system -- we'll see how to do this in a minute. Second, it means that you can save a coordinate system as an object, and then add different plots to it. We'll do both these things now. ```{r echo=TRUE} spurCor <- ggplot(divorce_margarine, aes(x=divorce_rate_maine, y=margarine_consumption_per_capita)) spurCor + geom_point() spurCor + geom_point() + geom_smooth() ``` Note, this adds a y ~ x line to our plot, on top of the scatterplot. If we take our spurCor coordinate system, we can also just add a line, without the scatterplot, by adding geom_smooth(). We'll also add some options here, instead of using the defaults. In this case, we are using a linear model (method="lm"), with a simple y = x formula. ```{r echo=FALSE} spurCor + geom_smooth(method = "lm", formula = y ~ x) ``` Again, remember the basic framework is: 1. **data** 2. **aesthetic mappings** (which variables in your data map to which visual properties) 3. **geometric object (geom) function** (a layer describing how to render each observation) In this case, we've stored the data and aesthetic mappings/coordinate system in the spurCor object. As an aside: ggplot includes a huge number of options for controlling how plots look - colors, background, axis, labels, titles, legends, and more. In addition, these options can be wrapped in themes that apply a consistent look to all your graphs. While we will see a few of these in operation in the next few examples, in the interest of time we won't be able to cover all the possible options for controlling the look of graphics today. However, you can look at some [other](http://r-statistics.co/Complete-Ggplot2-Tutorial-Part2-Customizing-Theme-With-R-Code.html) [tutorials](http://zevross.com/blog/2014/08/04/beautiful-plotting-in-r-a-ggplot2-cheatsheet-3/). Next, let's look at a slightly more complicated dataset and see some basic customization options. We'll use another dataset available from the dslabs package, the gapminder package. ```{r} data(gapminder) ggplot(gapminder, aes(x=life_expectancy, y=gdp/population)) + geom_point() ``` A few things to note. First of all, we can define new variables in the aes statement, using syntax like the tidyverse mutate() command. This can be very useful. Second, though, this plot doesn't look so good. There are lots of points, they are overplotted on top of each other, just plain black is boring, and there is a lot more data in our dataset we might want to know about. Let's do this again, but introduce some customization options. ```{r} gapminder %>% filter(year == 2000, !is.na(gdp)) %>% # let's just look at one year mutate(gdpPerCap = gdp/population) %>% ggplot(aes(x = life_expectancy, y=gdpPerCap, color=continent)) + geom_point() ``` We've added a few things here. First, we did some filtering and rearranging with tidyverse before sending the data to ggplot. Second, we added a color = to the aes() code, which tells ggplot to color each point based on the value of that variable. Let's try these two changes. First, we'll keep the same plot as above, but make all the points red. Second, we'll look at Europe by year, and color the points by GDP ```{r} gapminder %>% filter(year==2000, !is.na(gdp)) %>% mutate(gdpPerCap = gdp/population) %>% ggplot(aes(x = life_expectancy, y=gdpPerCap)) + geom_point(color="red") gapminder %>% filter(continent == "Europe", !is.na(gdp)) %>% mutate(gdpPerCap = gdp/population) %>% ggplot(aes(y = life_expectancy, x=year, color=gdpPerCap)) + geom_point() ``` Note that we put the color option in geom_point() if we wanted everything to be the same color. This sets the color for that layer only. This means we can do things like this: ```{r} gapminder %>% filter(year==2000, !is.na(gdp)) %>% mutate(gdpPerCap = gdp/population) %>% ggplot(aes(x = life_expectancy, y=log10(gdpPerCap), color=continent)) + geom_point(color="black", alpha = 0.2) + geom_smooth(method="lm", formula = y ~ x, se = FALSE) ``` In this case, this may not be a particularly useful graph, but note two things: * The update to the aesthetics (changing color to "black") in a geom statement override the default aes we call in the ggplot command * This doesn't persist to the next layer, which goes back to using the default aesthetics This means we can change certain parts of the aesthetic on a layer by layer basis. Another way to change the aesthetic is by using themes, which replace a bunch of aesthetics. Here are few examples; there are tons more available in other packages, e.g. the ggthemes package, to help you customize your plots. You can also make your own, but that is beyond the scope of this tutorial. I will also add a command to scale the y axis to be log10 scale. ```{r} gdp_v_le <- gapminder %>% filter(year==2000, !is.na(gdp)) %>% mutate(gdpPerCap = gdp/population) %>% ggplot(aes(x = life_expectancy, y=gdpPerCap, color=continent)) + geom_point(color="black", alpha = 0.2) + geom_smooth(method="lm", formula = y ~ x, se = FALSE) + scale_y_log10() gdp_v_le + theme_dark() gdp_v_le + theme_classic() gdp_v_le + theme_minimal() ``` So far, we've only looked at plots involving two dimensional continous data, such as scatter and line plots. Let's now look at some additional types of plots. ## 1-d plots The simplest kind of one-dimensional plots are those that summarize the distribution of a single continuous variable, such as histograms and density plots. These are very useful, so let's look at how to make them with ggplot. ```{r} gapminder %>% ggplot(aes(life_expectancy)) + geom_histogram(binwidth=2) ``` ```{r} le_dist <- gapminder %>% mutate(decade = as.factor(floor(year/10))) %>% ggplot(aes(life_expectancy, color=decade)) le_dist + geom_histogram(binwidth = 3) le_dist + geom_freqpoly(binwidth = 3) le_dist + geom_density() ``` ## Categorical data Sometimes we want to plot categorical data, either bar plots with counts of each discrete value, or boxplots or similar that summarize the distribution of a continuous variable by category. For example, we might want to look at a summary of the plot we just made. ```{r} gapminder %>% mutate(decade = as.factor(floor(year/10))) %>% ggplot(aes(x=decade, y=life_expectancy)) + geom_boxplot() gapminder %>% mutate(decade = as.factor(floor(year/10))) %>% ggplot(aes(x=decade, y=life_expectancy, fill=continent)) + geom_boxplot() gapminder %>% mutate(decade = as.factor(floor(year/10))) %>% ggplot(aes(x=continent, y=life_expectancy)) + geom_boxplot(aes(color=decade)) ``` Notice that the 'color' argument here in aes() functions like a group_by argument, and groups points by default; fill does the same thing but colors the inside of the boxplot instead of the outside. Note also that we can put the aes() argument either in the ggplot call or the geom. For this plot, it doesn't make a difference, but if we wanted to include multiple geoms in one plot, it could. Finally, let's end with something a bit more complicated: ```{r} gapminder %>% mutate(decade = as.factor(floor(year/10)), log_gdpPerCap = log10(gdp/population)) %>% filter(!is.na(log_gdpPerCap)) %>% ggplot(aes(x=log_gdpPerCap, y=life_expectancy)) + geom_point(alpha=0.2, color="gray50") + geom_smooth(color="red", method="loess", formula = y~x) + facet_grid(cols=vars(decade), rows=vars(continent)) ``` ## Review We've covered a lot of material here, so let's just touch on the basics. A plot in ggplot is built up from a dataset, a set of aesthetics establishing a coordinate system and axis, and geoms mapping data to the aesthetics. For many simple plots, the default options for the geom call work fine, as we've seen. There are geoms for almost any way of plotting data you could imagine. Grouping is available as well, which lets you naturally summarize subsets of your data. While we didn't talk about it today, facet_grid and facet_wrap can help you create grids of plots each summarizing a different subset of the data. ================================================ FILE: intro-to-awk/binder/environment.yml ================================================ dependencies: - bash_kernel ================================================ FILE: intro-to-awk/data/Homo_sapiens.GRCh38.subset.gff3 ================================================ ##gff-version 3 ##sequence-region 1 1 248956422 1 Ensembl chromosome 1 248956422 . . . ID=chromosome:1 1 . biological_region 10469 11240 1.3e+03 . . external_name=oe %3D 0.79 1 . biological_region 10650 10657 0.999 + . logic_name=eponine 1 . biological_region 10655 10657 0.999 - . logic_name=eponine 1 . biological_region 10678 10687 0.999 + . logic_name=eponine 1 . biological_region 10681 10688 0.999 - . logic_name=eponine 1 . biological_region 10707 10716 0.999 + . logic_name=eponine 1 . biological_region 10708 10718 0.999 - . logic_name=eponine 1 . biological_region 10735 10747 0.999 - . logic_name=eponine 1 . biological_region 10737 10744 0.999 + . logic_name=eponine 1 . biological_region 10766 10773 0.999 + . logic_name=eponine 1 . biological_region 10770 10779 0.999 - . logic_name=eponine 1 . biological_region 10796 10801 0.999 + . logic_name=eponine 1 . biological_region 10810 10819 0.999 - . logic_name=eponine 1 . biological_region 10870 10872 0.999 + . logic_name=eponine 1 . biological_region 10889 10893 0.999 - . logic_name=eponine 1 havana pseudogene 11869 14409 . + . ID=gene:ENSG00000223972 1 havana lnc_RNA 11869 14409 . + . ID=transcript:ENST00000456328 1 havana exon 11869 12227 . + . Parent=transcript:ENST00000456328 1 havana exon 12613 12721 . + . Parent=transcript:ENST00000456328 1 havana exon 13221 14409 . + . Parent=transcript:ENST00000456328 1 havana pseudogenic_transcript 12010 13670 . + . ID=transcript:ENST00000450305 1 havana exon 12010 12057 . + . Parent=transcript:ENST00000450305 1 havana exon 12179 12227 . + . Parent=transcript:ENST00000450305 1 havana exon 12613 12697 . + . Parent=transcript:ENST00000450305 1 havana exon 12975 13052 . + . Parent=transcript:ENST00000450305 1 havana exon 13221 13374 . + . Parent=transcript:ENST00000450305 1 havana exon 13453 13670 . + . Parent=transcript:ENST00000450305 1 havana pseudogene 14404 29570 . - . ID=gene:ENSG00000227232 1 havana pseudogenic_transcript 14404 29570 . - . ID=transcript:ENST00000488147 1 havana exon 14404 14501 . - . Parent=transcript:ENST00000488147 1 havana exon 15005 15038 . - . Parent=transcript:ENST00000488147 1 havana exon 15796 15947 . - . Parent=transcript:ENST00000488147 1 havana exon 16607 16765 . - . Parent=transcript:ENST00000488147 1 havana exon 16858 17055 . - . Parent=transcript:ENST00000488147 1 havana exon 17233 17368 . - . Parent=transcript:ENST00000488147 1 havana exon 17606 17742 . - . Parent=transcript:ENST00000488147 1 havana exon 17915 18061 . - . Parent=transcript:ENST00000488147 1 havana exon 18268 18366 . - . Parent=transcript:ENST00000488147 1 havana exon 24738 24891 . - . Parent=transcript:ENST00000488147 1 havana exon 29534 29570 . - . Parent=transcript:ENST00000488147 1 . biological_region 15796 16060 0.999 - . external_name=rank %3D 1 1 mirbase ncRNA_gene 17369 17436 . - . ID=gene:ENSG00000278267 1 mirbase miRNA 17369 17436 . - . ID=transcript:ENST00000619216 1 mirbase exon 17369 17436 . - . Parent=transcript:ENST00000619216 1 . biological_region 28736 29810 1.01e+03 . . external_name=oe %3D 0.88 1 . biological_region 29116 29118 0.999 + . logic_name=eponine 1 . biological_region 29127 29206 1 + . external_name=rank %3D 1 1 . biological_region 29321 29395 1 - . external_name=rank %3D 1 1 . biological_region 29394 29396 0.999 - . logic_name=eponine 1 . biological_region 29448 29451 0.999 + . logic_name=eponine 1 havana ncRNA_gene 29554 31109 . + . ID=gene:ENSG00000243485 1 havana lnc_RNA 29554 31097 . + . ID=transcript:ENST00000473358 1 havana exon 29554 30039 . + . Parent=transcript:ENST00000473358 1 havana exon 30564 30667 . + . Parent=transcript:ENST00000473358 1 havana exon 30976 31097 . + . Parent=transcript:ENST00000473358 1 havana lnc_RNA 30267 31109 . + . ID=transcript:ENST00000469289 1 havana exon 30267 30667 . + . Parent=transcript:ENST00000469289 1 havana exon 30976 31109 . + . Parent=transcript:ENST00000469289 1 . biological_region 29583 29584 0.999 - . logic_name=eponine 1 mirbase ncRNA_gene 30366 30503 . + . ID=gene:ENSG00000284332 1 mirbase miRNA 30366 30503 . + . ID=transcript:ENST00000607096 1 mirbase exon 30366 30503 . + . Parent=transcript:ENST00000607096 1 havana ncRNA_gene 34554 36081 . - . ID=gene:ENSG00000237613 1 havana lnc_RNA 34554 36081 . - . ID=transcript:ENST00000417324 1 havana exon 34554 35174 . - . Parent=transcript:ENST00000417324 1 havana exon 35277 35481 . - . Parent=transcript:ENST00000417324 1 havana exon 35721 36081 . - . Parent=transcript:ENST00000417324 1 havana lnc_RNA 35245 36073 . - . ID=transcript:ENST00000461467 1 havana exon 35245 35481 . - . Parent=transcript:ENST00000461467 1 havana exon 35721 36073 . - . Parent=transcript:ENST00000461467 1 . biological_region 35904 36086 0.879 - . external_name=rank %3D 1 1 havana pseudogene 52473 53312 . + . ID=gene:ENSG00000268020 1 havana pseudogenic_transcript 52473 53312 . + . ID=transcript:ENST00000606857 1 havana exon 52473 53312 . + . Parent=transcript:ENST00000606857 1 havana pseudogene 57598 64116 . + . ID=gene:ENSG00000240361 1 havana lnc_RNA 57598 64116 . + . ID=transcript:ENST00000642116 1 havana exon 57598 57653 . + . Parent=transcript:ENST00000642116 1 havana exon 58700 58856 . + . Parent=transcript:ENST00000642116 1 havana exon 62916 64116 . + . Parent=transcript:ENST00000642116 1 havana pseudogenic_transcript 62949 63887 . + . ID=transcript:ENST00000492842 1 havana exon 62949 63887 . + . Parent=transcript:ENST00000492842 1 ensembl_havana gene 65419 71585 . + . ID=gene:ENSG00000186092 1 havana mRNA 65419 71585 . + . ID=transcript:ENST00000641515 1 havana exon 65419 65433 . + . Parent=transcript:ENST00000641515 1 havana five_prime_UTR 65419 65433 . + . Parent=transcript:ENST00000641515 1 havana exon 65520 65573 . + . Parent=transcript:ENST00000641515 1 havana five_prime_UTR 65520 65573 . + . Parent=transcript:ENST00000641515 1 havana five_prime_UTR 69037 69090 . + . Parent=transcript:ENST00000641515 1 havana exon 69037 71585 . + . Parent=transcript:ENST00000641515 1 havana CDS 69091 70008 . + 0 ID=CDS:ENSP00000493376 1 havana three_prime_UTR 70009 71585 . + . Parent=transcript:ENST00000641515 1 ensembl mRNA 69055 70108 . + . ID=transcript:ENST00000335137 1 ensembl five_prime_UTR 69055 69090 . + . Parent=transcript:ENST00000335137 1 ensembl exon 69055 70108 . + . Parent=transcript:ENST00000335137 1 ensembl CDS 69091 70008 . + 0 ID=CDS:ENSP00000334393 1 ensembl three_prime_UTR 70009 70108 . + . Parent=transcript:ENST00000335137 1 ensembl_havana ncRNA_gene 89295 133723 . - . ID=gene:ENSG00000238009 1 havana lnc_RNA 89295 120932 . - . ID=transcript:ENST00000466430 1 havana exon 89295 91629 . - . Parent=transcript:ENST00000466430 ================================================ FILE: intro-to-awk/data/Homo_sapiens_ucscGenes.subset.bed ================================================ chr1 11873 14409 uc010nxq.1 chr1 14361 19759 uc009viu.3 chr1 14406 29370 uc009viw.2 chr1 34610 36081 uc001aak.3 chr1 69090 70008 uc001aal.1 chr1 134772 140566 uc021oeg.2 chr1 321083 321115 uc001aaq.2 chr1 321145 321207 uc001aar.2 chr1 322036 326938 uc009vjk.2 chr1 327545 328439 uc021oei.1 chr1 367658 368597 uc010nxu.2 chr1 420205 421839 uc001aax.1 chr1 566092 566115 uc021oej.1 chr1 566134 566155 uc021oek.1 chr1 566239 566263 uc021oel.1 chr1 568843 568913 uc001abb.3 chr1 621095 622034 uc010nxv.2 chr1 661138 670994 uc009vjm.3 chr1 668417 668479 uc001abi.2 chr1 668509 668541 uc001abj.3 chr1 671823 671885 uc010nxw.2 chr1 671915 671947 uc001abl.3 chr1 674239 679736 uc001abm.2 chr1 700244 714068 uc001abo.3 chr1 761585 762902 uc010nxx.2 chr1 762970 794826 uc001abp.2 chr1 803450 812182 uc001abt.4 chr1 846814 850328 uc001abu.1 chr1 852952 854817 uc010nxy.1 chr1 861120 879961 uc001abw.1 chr1 879582 894679 uc001abz.4 chr1 895966 901099 uc001aca.2 chr1 901876 910484 uc001acd.3 chr1 910578 917473 uc001ach.2 chr1 934341 935552 uc001aci.2 chr1 948846 949919 uc001acj.4 chr1 955502 991499 uc001ack.2 chr1 995116 1001833 uc001acl.1 chr1 1007125 1009687 uc021oen.1 chr1 1017197 1051736 uc001acu.2 chr1 1072396 1079434 uc001acv.3 chr1 1102483 1102578 uc001acw.2 chr1 1103242 1103332 uc010nye.1 chr1 1103295 1103317 uc031pkr.1 chr1 1104384 1104467 uc010nyf.1 chr1 1104434 1104456 uc031pks.1 chr1 1108435 1114935 uc001acx.1 chr1 1109285 1133313 uc001acy.2 chr1 1138887 1142089 uc001add.3 chr1 1146705 1149548 uc001ade.3 chr1 1152287 1167447 uc001adh.4 chr1 1167628 1170420 uc001adk.3 chr1 1177825 1182102 uc001adl.2 chr1 1189291 1209234 uc001ado.3 chr1 1215815 1227409 uc001adt.1 chr1 1227763 1243269 uc001aeb.2 chr1 1243993 1247057 uc001aed.3 chr1 1246964 1260067 uc001aee.2 chr1 1260142 1264276 uc001aeo.3 chr1 1266725 1269844 uc010nyk.2 chr1 1270657 1284492 uc001aer.4 chr1 1288070 1293915 uc001aew.3 chr1 1309109 1310562 uc009vkb.1 chr1 1321090 1334718 uc001afi.2 chr1 1334909 1337426 uc001afm.3 chr1 1337275 1342693 uc001afo.4 chr1 1353799 1356824 uc010nyo.2 chr1 1361507 1363167 uc010nyp.2 chr1 1370902 1378262 uc001afs.3 chr1 1385068 1405538 uc001aft.2 chr1 1407163 1431582 uc001afv.3 chr1 1447522 1470067 uc001afz.2 chr1 1470157 1475740 uc009vkf.3 chr1 1477052 1510262 uc001agd.3 chr1 1510354 1510644 uc021oer.1 chr1 1533387 1535476 uc021oes.1 chr1 1535818 1543166 uc001agf.1 chr1 1550794 1565990 uc001agg.3 chr1 1567559 1570030 uc001agp.3 chr1 1571099 1655775 uc001agv.1 chr1 1586822 1590469 uc001ahc.1 chr1 1592938 1624243 uc001ahg.4 chr1 1631377 1633247 uc001ahi.1 chr1 1656053 1663343 uc001ahx.2 chr1 1658823 1677438 uc001aia.2 chr1 1682670 1711508 uc001aie.3 chr1 1716724 1822526 uc001aif.3 chr1 1846265 1848733 uc001aih.1 chr1 1849028 1850740 uc001aij.2 chr1 1853395 1858842 uc001aik.3 chr1 1884751 1935276 uc001aim.1 chr1 1944651 1946969 uc001aio.1 chr1 1950767 1962192 uc001aip.2 chr1 1981908 2116834 uc001aiq.3 chr1 2112574 2114663 uc001aiu.1 chr1 2115898 2126214 uc031pkt.1 chr1 2121236 2123179 uc001aiz.2 chr1 2160133 2241652 uc001aja.4 chr1 2252695 2322993 uc001ajb.1 chr1 2281852 2284100 uc001ajc.3 chr1 2309493 2322993 uc010nyy.2 chr1 2323213 2336885 uc001aje.2 chr1 2336240 2344010 uc001ajg.3 chr1 2407753 2436964 uc001aji.1 chr1 2439974 2458035 uc001ajm.1 chr1 2460183 2461684 uc001ajn.3 chr1 2481358 2484284 uc001ajo.2 chr1 2486162 2488450 uc021oev.1 chr1 2487804 2495188 uc001ajt.1 chr1 2487804 2495267 uc001ajr.3 chr1 2518188 2522908 uc001ajv.2 chr1 2522080 2564481 uc001ajy.2 chr1 2572806 2706230 uc021oey.1 chr1 2938045 2939467 uc001ajz.3 chr1 2976180 2980350 uc001aka.3 chr1 2980635 2984289 uc010nzg.1 chr1 2985741 3355185 uc001akf.3 chr1 3044538 3044599 uc021oez.1 chr1 3371146 3397677 uc001akg.4 chr1 3404505 3528059 uc001akl.3 chr1 3477259 3477354 uc021ofa.1 chr1 3541555 3546694 uc001akm.3 chr1 3547330 3566671 uc001ako.3 chr1 3569128 3652765 uc001akp.3 chr1 3652547 3663937 uc009vlm.3 chr1 3668964 3688209 uc001akv.2 chr1 3689351 3692546 uc001akw.4 chr1 3696783 3713068 uc001akx.1 chr1 3728644 3773797 uc001aky.2 chr1 3773844 3801993 uc001alc.3 chr1 3805696 3816857 uc001alf.3 chr1 3816967 3832011 uc001alg.3 chr1 4000671 4012643 uc001ali.2 chr1 4472110 4484744 uc001alj.2 chr1 4715104 4843851 uc001aln.3 chr1 4847557 4852183 uc001alo.4 chr1 5621768 5728315 uc001alp.1 chr1 5624130 5624203 uc021ofm.1 chr1 5922731 5922801 uc021ofn.1 chr1 5922869 6052533 uc001alq.2 chr1 6105980 6161253 uc001aly.2 chr1 6161846 6240194 uc001amb.2 chr1 6245079 6259679 uc001amd.3 chr1 6266188 6281359 uc001amg.3 chr1 6281252 6296044 uc001amk.3 chr1 6297870 6299502 uc001amm.3 chr1 6304251 6305638 uc009vly.2 chr1 6307405 6321035 uc001amp.2 chr1 6324331 6453826 uc001amt.3 chr1 6475293 6479979 uc001amx.3 chr1 6484847 6521004 uc001amy.3 chr1 6489893 6489956 uc021ofo.1 chr1 6521213 6526255 uc001anh.3 chr1 6526151 6545529 uc010nzr.1 chr1 6581406 6614658 uc001ans.3 chr1 6615337 6639817 uc001ant.3 chr1 6640062 6649340 uc001anx.3 chr1 6650783 6662929 uc001aoa.3 chr1 6673755 6684093 uc001aob.4 chr1 6685209 6693642 uc001aod.3 chr1 6694227 6761966 uc001aof.2 chr1 6845383 7829766 uc001aoi.3 chr1 7831328 7841492 uc001aol.3 chr1 7844713 7905237 uc001aoo.3 chr1 7907671 7913565 uc001aos.3 chr1 7975930 8003225 uc001aot.3 chr1 7990338 7990408 uc021ofs.1 chr1 8021713 8045342 uc001aox.4 chr1 8071778 8086393 uc001aoz.3 chr1 8384389 8404227 uc001apb.3 chr1 8412463 8877699 uc001apf.3 chr1 8440651 8441235 uc001apg.1 chr1 8921058 8939151 uc001apj.2 chr1 8938893 8939943 uc021oft.1 chr1 9005892 9034503 uc031plc.1 chr1 9063358 9086404 uc009vmo.1 chr1 9097004 9129887 uc001apo.3 chr1 9164475 9189229 uc001apq.1 chr1 9186983 9189250 uc001aps.3 chr1 9208345 9242451 uc009vmq.3 chr1 9294862 9331394 uc001apt.3 chr1 9352940 9429590 uc010oae.2 chr1 9497727 9497837 uc021ofx.1 chr1 9599527 9642831 uc001apw.3 chr1 9648931 9674935 uc021ofy.1 chr1 9711789 9789172 uc001aqb.4 chr1 9712667 9714644 uc001aqc.4 chr1 9740902 9747627 uc021oga.1 chr1 9789078 9884550 uc001aqh.3 chr1 9908333 9970316 uc001aql.1 chr1 9989775 10002840 uc001aqm.3 chr1 10003485 10045556 uc001aqp.3 chr1 10057254 10076078 uc001aqq.3 chr1 10093040 10241296 uc001aqs.4 chr1 10270763 10441661 uc001aqw.4 chr1 10459084 10480201 uc001arc.3 chr1 10490158 10512060 uc021ogd.1 chr1 10520602 10532613 uc001arj.3 chr1 10535002 10690815 uc001arn.3 chr1 10696665 10856733 uc001aro.4 chr1 10744633 10744736 uc021ogh.1 chr1 11006529 11042094 uc010oao.2 chr1 11072678 11085549 uc001art.3 chr1 11086579 11107296 uc001aru.3 chr1 11114648 11120091 uc001arz.1 chr1 11126675 11159938 uc001asa.3 chr1 11166587 11322608 uc001asd.3 chr1 11203954 11209595 uc031plf.1 chr1 11249345 11256038 uc001ase.4 chr1 11333254 11348491 uc001asg.3 chr1 11539294 11597640 uc001ash.4 chr1 11708417 11714888 uc001asj.3 chr1 11714913 11723384 uc001asm.3 chr1 11724149 11734409 uc001aso.3 chr1 11734536 11751678 uc009vnc.3 chr1 11751780 11780336 uc001asr.1 chr1 11782186 11785914 uc001ass.2 chr1 11796141 11810828 uc001asv.3 chr1 11824461 11826573 uc001asy.1 chr1 11832138 11849642 uc001asz.3 chr1 11845786 11866160 uc001atc.2 chr1 11866152 11903201 uc001ate.5 chr1 11905766 11907840 uc001ati.3 chr1 11917520 11918992 uc001atj.3 chr1 11979644 11986485 uc001atk.3 chr1 11994723 12035599 uc001atm.3 chr1 12040237 12073572 uc009vni.3 chr1 12079298 12092106 uc001ato.2 chr1 12123433 12204264 uc001atq.3 chr1 12227059 12269277 uc001att.3 chr1 12251761 12251839 uc021ogi.1 chr1 12290112 12572098 uc001atv.3 chr1 12567299 12567451 uc001atz.1 chr1 12627938 12677820 uc001auc.3 chr1 12704565 12727097 uc001auf.3 chr1 12776117 12788726 uc009vnn.1 chr1 12806162 12821102 uc001auh.3 chr1 12834983 12838048 uc001aui.3 chr1 12851545 12856777 uc001auj.2 chr1 12884467 12891264 uc001auk.2 chr1 12907235 12908237 uc009vno.2 chr1 12916940 12921764 uc001aum.1 chr1 12939032 12946025 uc001aun.2 chr1 12952726 12958094 uc001auo.3 chr1 12976449 12980568 uc001aup.3 chr1 12998301 13007406 uc001auq.2 chr1 13035542 13038381 uc009vnq.1 chr1 13182959 13184326 uc010obg.2 chr1 13328195 13331692 uc001aut.1 chr1 13359818 13369057 uc001auu.1 chr1 13386646 13390765 uc001auv.3 chr1 13421175 13428191 uc001auw.1 chr1 13447413 13452656 uc010obi.1 chr1 13474052 13477569 uc009vnu.1 chr1 13495253 13498259 uc001aux.3 chr1 13516065 13526943 uc009vnv.1 chr1 13607430 13611550 uc001auy.2 chr1 13629937 13635299 uc001auz.4 chr1 13641972 13648988 uc001ava.1 chr1 13694888 13698405 uc009vny.1 chr1 13716087 13719064 uc009vnz.1 chr1 13736906 13747803 uc009voa.1 chr1 13801444 13840242 uc001avb.3 chr1 13910251 13944452 uc001avd.3 chr1 14031349 14151574 uc001avi.3 chr1 14925212 15444544 uc001avm.4 chr1 15438310 15478960 uc009voh.3 chr1 15480228 15546974 uc001avx.3 chr1 15573767 15724622 uc001awb.2 chr1 15653175 15670372 uc001awc.1 chr1 15736390 15756839 uc001awh.2 chr1 15764937 15773153 uc001awi.1 chr1 15783222 15798586 uc001awk.3 chr1 15802595 15817895 uc001awl.3 chr1 15817895 15850940 uc001awn.4 chr1 15853351 15898228 uc001aws.3 chr1 15898193 15911605 uc001awv.2 chr1 15943952 15987552 uc001awx.2 chr1 15986363 15988217 uc010obn.2 chr1 15992765 15995537 uc001awz.3 chr1 16010826 16061264 uc010obo.2 chr1 16062808 16067884 uc001axb.1 chr1 16068986 16074292 uc001axc.4 chr1 16085254 16113084 uc001axe.1 chr1 16133656 16134194 uc009vol.1 chr1 16160709 16174642 uc001axj.2 chr1 16174358 16266950 uc001axk.1 chr1 16268363 16302627 uc001axl.4 chr1 16317618 16317647 uc001axm.1 chr1 16330730 16333184 uc001axn.3 chr1 16340522 16345285 uc001axo.2 chr1 16348485 16360545 uc001axu.3 chr1 16384263 16400127 uc001axz.4 chr1 16450831 16482582 uc001aya.2 chr1 16524598 16539104 uc001ayc.1 chr1 16558181 16563659 uc001ayd.3 chr1 16576558 16678948 uc001ayg.3 chr1 16693524 16724643 uc001aym.5 chr1 16725137 16763919 uc001ayn.3 chr1 16767166 16786584 uc001ayq.3 chr1 16793930 16819196 uc001ayt.2 chr1 16847079 16847153 uc021ogp.1 chr1 16858892 16858966 uc021ogq.1 chr1 16860349 16862144 uc021ogr.1 chr1 16862254 16864669 uc001ayv.2 chr1 16872433 16872504 uc021ogs.1 chr1 16874159 16874232 uc021ogt.1 chr1 16875408 16875482 uc021ogu.1 chr1 16888921 16940100 uc001ayw.4 chr1 16944756 16959841 uc001azf.3 chr1 16972068 16976915 uc010och.2 chr1 17004765 17004836 uc021ogw.1 chr1 17006500 17006573 uc021ogx.1 chr1 17007749 17007823 uc021ogy.1 chr1 17017712 17046652 uc001azn.1 chr1 17052060 17052133 uc021ogz.1 chr1 17053779 17053850 uc021oha.1 chr1 17081128 17090975 uc010ock.3 chr1 17180899 17180971 uc021ohb.1 chr1 17185443 17185516 uc021ohc.1 chr1 17186692 17186765 uc021ohd.1 chr1 17188415 17188486 uc021ohe.1 chr1 17197439 17200574 uc021ohf.2 chr1 17201957 17202031 uc021ohg.1 chr1 17215040 17216161 uc001azs.1 chr1 17216171 17216245 uc021ohh.1 chr1 17222645 17222720 uc021ohi.1 chr1 17248444 17299474 uc001azt.2 chr1 17300998 17307173 uc001azw.3 chr1 17312452 17338423 uc001baa.2 chr1 17345224 17380665 uc001bae.3 chr1 17393255 17445948 uc001baf.3 chr1 17531620 17572501 uc001bah.1 chr1 17566189 17572501 uc009vpb.1 chr1 17575592 17610727 uc001bai.3 chr1 17581660 17581778 uc021ohk.1 chr1 17634689 17690495 uc001baj.2 chr1 17698740 17728195 uc001bak.1 chr1 17733250 17765059 uc001bal.3 chr1 17866329 18024370 uc001ban.3 chr1 18081807 18153558 uc001bat.3 chr1 18434239 18704977 uc001bau.2 chr1 18701063 18702174 uc001baw.1 chr1 18807423 18812480 uc001bax.3 chr1 18957499 19062632 uc001bay.3 chr1 19166092 19186155 uc001bba.1 chr1 19197923 19229293 uc001bbc.3 chr1 19209695 19209769 uc021ohm.2 chr1 19230773 19282826 uc001bbd.2 chr1 19400999 19536746 uc001bbi.3 chr1 19542157 19578053 uc001bbo.4 chr1 19578074 19586622 uc001bbs.3 chr1 19592475 19600568 uc021ohn.1 chr1 19609056 19615280 uc001bbv.1 chr1 19619740 19622230 uc021ohp.1 chr1 19629201 19638640 uc001bbw.3 chr1 19638739 19655794 uc001bby.3 chr1 19665266 19812066 uc021ohr.1 chr1 19673334 19675427 uc001bcf.2 chr1 19750877 19751182 uc021ohs.1 chr1 19923470 19956315 uc021ohu.1 chr1 19934300 19935138 uc021ohx.2 chr1 19969722 19984949 uc001bcj.2 chr1 19991779 20006055 uc001bcl.3 chr1 20008705 20126410 uc001bcn.3 chr1 20140521 20141771 uc001bcr.3 chr1 20208887 20239437 uc001bcs.4 chr1 20246799 20250110 uc001bct.1 chr1 20301923 20306932 uc010odb.2 chr1 20396700 20418394 uc001bcy.3 chr1 20439142 20446059 uc001bcz.4 chr1 20465822 20476879 uc009vpp.1 chr1 20490483 20501687 uc009vpq.1 chr1 20512577 20519942 uc001bdb.3 chr1 20617411 20681387 uc009vps.2 chr1 20686293 20755287 uc001bdf.2 chr1 20808883 20812728 uc001bdh.3 chr1 20825940 20834674 uc001bdi.4 chr1 20878931 20881513 uc001bdj.3 chr1 20915443 20945400 uc001bdk.3 chr1 20959947 20978004 uc001bdm.3 chr1 20978259 20988037 uc001bdo.1 chr1 20990506 21044317 uc001bdr.4 chr1 21046224 21059133 uc009vpy.1 chr1 21069170 21113181 uc001bdw.1 chr1 21132784 21503381 uc001bef.3 chr1 21543739 21616766 uc001bei.2 chr1 21602542 21604868 uc001ben.1 chr1 21619782 21626362 uc001beo.2 chr1 21749600 21754300 uc001bep.1 chr1 21761832 21762609 uc001beq.1 chr1 21766582 21811393 uc001ber.4 chr1 21835857 21904905 uc001bet.3 chr1 21922707 21978348 uc001bew.3 chr1 22004791 22109688 uc001bfb.3 chr1 22138757 22151714 uc001bfg.1 chr1 22148736 22263750 uc001bfj.3 chr1 22303417 22315847 uc001bfk.3 chr1 22351706 22357715 uc001bfm.4 chr1 22379119 22419436 uc001bfr.3 chr1 22443797 22469519 uc001bfs.4 chr1 22778343 22857650 uc001bfu.2 chr1 22890003 22930087 uc001bfx.1 chr1 22963117 22966175 uc001bfy.3 chr1 22970117 22974603 uc001bga.4 chr1 22979681 22988029 uc001bgd.3 chr1 23037330 23241823 uc001bge.3 chr1 23046009 23046091 uc021oib.1 chr1 23189651 23189719 uc021oic.1 chr1 23243782 23247347 uc001bgg.1 chr1 23337326 23342343 uc001bgh.1 chr1 23345940 23410184 uc001bgj.2 chr1 23370797 23370865 uc021oid.1 chr1 23410515 23495517 uc010odv.1 chr1 23490445 23490546 uc021oie.1 chr1 23518387 23521222 uc001bgn.3 chr1 23636275 23670853 uc001bgp.4 chr1 23685940 23694879 uc001bgt.3 chr1 23695463 23698330 uc001bgw.3 chr1 23707554 23751261 uc021oig.1 chr1 23755055 23810750 uc001bha.2 chr1 23801092 23803135 uc001bhd.4 chr1 23832919 23857712 uc001bhe.2 chr1 23853364 23855542 uc001bhf.1 chr1 23884420 23886285 uc001bhh.4 chr1 23907984 23967056 uc001bhi.3 chr1 24018268 24022915 uc001bhk.3 chr1 24069855 24088549 uc001bho.3 chr1 24086871 24104787 uc001bhp.2 chr1 24104875 24114722 uc001bhq.3 chr1 24117645 24122029 uc001bht.3 chr1 24122088 24126060 uc009vqo.1 chr1 24128366 24151949 uc001bib.3 chr1 24171571 24194859 uc001bie.3 chr1 24200459 24239817 uc001bif.3 chr1 24255559 24255637 uc021oik.1 chr1 24286300 24289949 uc001big.3 chr1 24295572 24306953 uc021oir.1 chr1 24320925 24320957 uc021oit.1 chr1 24382530 24438665 uc001bin.4 chr1 24446260 24469775 uc001biq.2 chr1 24480646 24513765 uc001bis.3 chr1 24526729 24538180 uc010oei.1 chr1 24578722 24578758 uc021oiu.1 chr1 24579767 24579803 uc021oiv.1 chr1 24645811 24690970 uc021oiw.1 chr1 24683488 24740262 uc001bjc.3 chr1 24742244 24799473 uc001bjh.3 chr1 24822822 24828850 uc021oiz.1 chr1 24829386 24863510 uc001bjj.3 chr1 24882566 24935818 uc001bjk.2 chr1 24969593 24999772 uc001bjm.3 chr1 25071759 25170815 uc001bjo.2 chr1 25226001 25256770 uc001bjq.3 chr1 25548766 25559013 uc001bjt.1 chr1 25568739 25573985 uc001bjw.3 chr1 25598980 25656936 uc001bjz.3 chr1 25629228 25631643 uc001bkd.1 chr1 25664788 25688852 uc001bke.3 chr1 25688739 25747363 uc001bkf.3 chr1 25757387 25826698 uc001bkk.3 chr1 25870075 25895377 uc001bkl.4 chr1 25943958 26111258 uc001bkm.2 chr1 26126666 26144713 uc021ojl.1 chr1 26146396 26159433 uc001bkq.4 chr1 26146444 26150097 uc010oeu.1 chr1 26160496 26185848 uc001bkw.1 chr1 26187974 26197744 uc001bkx.3 chr1 26210676 26232993 uc010oev.2 chr1 26286257 26324648 uc001bld.4 chr1 26348270 26362954 uc001blf.3 chr1 26364513 26372604 uc001blg.1 chr1 26377795 26394125 uc001bli.2 chr1 26438267 26452039 uc009vsb.3 chr1 26485510 26489119 uc001blk.3 chr1 26496387 26497364 uc001bll.4 chr1 26503980 26516375 uc001blm.4 chr1 26517118 26529033 uc010oez.2 chr1 26551810 26556331 uc001blq.3 chr1 26560692 26605299 uc001bls.1 chr1 26606212 26608013 uc001blu.3 chr1 26608772 26633195 uc001blw.3 chr1 26644410 26647014 uc001bmc.3 chr1 26648349 26680621 uc001bmd.4 chr1 26688124 26699266 uc009vsj.1 chr1 26737268 26756219 uc001bmj.3 chr1 26758772 26797795 uc001bmk.3 chr1 26789254 26794028 uc001bmo.1 chr1 26798901 26803133 uc001bmp.4 chr1 26872342 26901520 uc001bms.1 chr1 26881032 26881084 uc021ojp.1 chr1 27022521 27108601 uc001bmv.1 chr1 27114453 27124894 uc001bmz.3 chr1 27145536 27392034 uc021ojq.1 chr1 27153200 27182211 uc001bnb.3 chr1 27189632 27190947 uc001bnc.1 chr1 27189786 27190449 uc010ofi.1 chr1 27205872 27216869 uc001bnd.1 chr1 27216978 27226962 uc001bne.3 chr1 27237974 27240567 uc001bnf.3 chr1 27248212 27273362 uc001bng.2 chr1 27276046 27286901 uc001bni.2 chr1 27320194 27327377 uc001bnj.4 chr1 27331510 27339333 uc010ofj.2 chr1 27425299 27481621 uc001bnm.4 chr1 27533765 27533868 uc021ojs.1 chr1 27561006 27635124 uc009vst.3 chr1 27648635 27662891 uc001bnr.4 chr1 27650364 27653016 uc021oju.1 chr1 27668482 27680423 uc001bnw.2 chr1 27681669 27693337 uc001bny.1 chr1 27695600 27701315 uc001boa.3 chr1 27705595 27709805 uc001boc.3 chr1 27719147 27722317 uc001bod.4 chr1 27730733 27816678 uc001bof.2 chr1 27860755 27930143 uc009vsy.3 chr1 27938800 27961727 uc001bom.3 chr1 27992571 27998724 uc001bon.1 chr1 28052489 28089423 uc001bor.3 chr1 28099693 28150963 uc001bou.4 chr1 28157251 28178183 uc001bov.2 chr1 28160911 28161077 uc001boy.1 chr1 28199054 28213193 uc001bpc.4 chr1 28218048 28241236 uc001bpe.1 chr1 28261503 28285663 uc001bpg.3 chr1 28286503 28294604 uc001bph.1 chr1 28296854 28415148 uc001bpi.2 chr1 28473676 28503455 uc001bpl.3 chr1 28526789 28559542 uc001bpn.3 chr1 28562601 28564616 uc001bpq.3 chr1 28567542 28567564 uc021okb.1 chr1 28585962 28609002 uc001bps.3 chr1 28655512 28662478 uc009vtg.3 chr1 28764660 28826881 uc001bpy.3 chr1 28832454 28837404 uc001bqd.3 chr1 28844744 28865708 uc001bqf.2 chr1 28879528 28905057 uc001bqi.3 chr1 28905049 28908383 uc001bqo.3 chr1 28905254 28905334 uc001bqq.1 chr1 28919006 28921088 uc001bqv.3 chr1 28929608 28969604 uc001bqy.3 chr1 28975111 28975246 uc009vtj.1 chr1 28995239 29042115 uc001bra.3 chr1 29016176 29016306 uc021oke.1 chr1 29063132 29096287 uc021okf.1 chr1 29138653 29190208 uc001brf.1 chr1 29213602 29446558 uc001brm.2 chr1 29445936 29450421 uc001brn.2 chr1 29474249 29508637 uc001bro.3 chr1 29519384 29557454 uc001brq.1 chr1 29563027 29653325 uc001bru.3 chr1 30486798 30510456 uc001bry.3 chr1 31184123 31196432 uc001brz.3 chr1 31191618 31199593 uc001bsb.1 chr1 31205314 31230683 uc001bsc.2 chr1 31212002 31212079 uc021okj.1 chr1 31342312 31381480 uc001bse.2 chr1 31404352 31538564 uc001bsh.1 chr1 31408535 31408623 uc021okk.1 chr1 31421964 31422052 uc021okl.1 chr1 31441009 31441084 uc001bsl.1 chr1 31652591 31712734 uc010ogd.2 chr1 31732414 31742513 uc009vtt.3 chr1 31732414 31769644 uc001bso.3 chr1 31769841 31837780 uc001bsp.1 chr1 31838099 31845923 uc001bss.1 chr1 31886659 31907527 uc010ogh.2 chr1 31971838 31974167 uc021okn.1 chr1 31984035 31989846 uc001bsy.1 chr1 32042085 32053287 uc001bta.3 chr1 32083300 32092919 uc009vtx.2 chr1 32095462 32110838 uc001bth.2 chr1 32117847 32169768 uc001btk.1 chr1 32192717 32229648 uc001btn.3 chr1 32224260 32224336 uc021okr.1 chr1 32256024 32281580 uc001bts.1 chr1 32372021 32403988 uc001bty.2 chr1 32479294 32509482 uc001bub.4 chr1 32538502 32568467 uc010ogv.2 chr1 32573643 32642168 uc001bug.3 chr1 32645344 32663886 uc001bui.3 chr1 32666201 32670991 uc001bul.1 chr1 32671235 32674288 uc001bum.2 chr1 32674694 32681797 uc001bun.2 chr1 32681797 32687926 uc001buq.4 chr1 32687958 32697205 uc009vuc.3 chr1 32697260 32707311 uc001buv.4 chr1 32712817 32714461 uc001buw.3 chr1 32739711 32751766 uc001buy.3 chr1 32757707 32799224 uc001bvb.1 chr1 32799429 32801840 uc001bvd.4 chr1 32826870 32827844 uc021oku.1 chr1 32827861 32829924 uc001bvf.3 chr1 32830704 32860062 uc010ohg.2 chr1 32930657 32953459 uc001bvl.4 chr1 33004771 33071542 uc001bvn.3 chr1 33087306 33116185 uc001bvp.3 chr1 33116748 33151812 uc001bvr.3 chr1 33145506 33168361 uc001bvt.2 chr1 33207511 33240571 uc001bvu.1 chr1 33240839 33283633 uc001bvy.1 chr1 33283118 33324480 uc001bwc.4 chr1 33327868 33338082 uc001bwg.3 chr1 33352097 33360247 uc001bwh.3 chr1 33360195 33366953 uc001bwi.1 chr1 33402049 33430286 uc010oho.2 chr1 33452675 33498070 uc001bwn.3 chr1 33476825 33502512 uc001bwp.2 chr1 33546713 33585995 uc001bwr.3 chr1 33607471 33608831 uc001bxa.1 chr1 33611002 33647671 uc001bxb.3 chr1 33722173 33766320 uc001bxc.1 chr1 33772366 33786699 uc031plq.1 chr1 33789223 33841194 uc001bxg.1 chr1 33797993 33798093 uc021okw.1 chr1 33802166 33802465 uc021okx.1 chr1 33938231 33961995 uc001bxj.4 chr1 33979608 34631443 uc001bxn.1 chr1 34326075 34330392 uc001bxp.3 chr1 34334556 34351059 uc001bxr.3 chr1 34642552 34684731 uc001bxt.3 chr1 35220647 35224113 uc001bxu.4 chr1 35225341 35229325 uc001bxv.1 chr1 35244163 35244247 uc021ola.1 chr1 35247910 35251967 uc001bxy.3 chr1 35258598 35261348 uc001bya.3 chr1 35315962 35325417 uc001byb.3 chr1 35331036 35370984 uc001byc.3 chr1 35441299 35444307 uc021olf.1 chr1 35447126 35450948 uc001bye.3 chr1 35451766 35497569 uc001byh.3 chr1 35544971 35581455 uc001bym.3 chr1 35641980 35646083 uc001byq.3 chr1 35649200 35658743 uc001bys.3 chr1 35734567 35887545 uc001byt.3 chr1 35833677 35835012 uc031plr.1 chr1 35899090 36023037 uc001byx.3 chr1 36023392 36032380 uc001bza.3 chr1 36038970 36060927 uc010ohy.2 chr1 36065142 36107445 uc001bzf.2 chr1 36179476 36184790 uc001bzh.1 chr1 36197712 36235551 uc001bzi.3 chr1 36273827 36323490 uc001bzj.2 chr1 36348809 36389899 uc001bzl.3 chr1 36391432 36395210 uc001bzm.1 chr1 36396682 36522063 uc001bzp.3 chr1 36549675 36553876 uc001bzr.3 chr1 36554452 36559533 uc001bzt.3 chr1 36560843 36565850 uc001bzv.2 chr1 36602169 36615115 uc031pls.1 chr1 36621802 36646441 uc001bzz.3 chr1 36690016 36770957 uc001cae.4 chr1 36771993 36787379 uc010oia.1 chr1 36787631 36789755 uc001caj.1 chr1 36805224 36851485 uc001cak.1 chr1 36859030 36863493 uc001cao.1 chr1 36883506 36916086 uc001caq.3 chr1 36921361 36930040 uc001cas.2 chr1 36931643 36948915 uc001cax.2 chr1 37261127 37499844 uc001caz.2 chr1 37627163 37627235 uc021oll.1 chr1 37920479 37940044 uc021olm.1 chr1 37940118 37949978 uc001cbb.4 chr1 37955560 37980420 uc001cbe.2 chr1 37966535 37966595 uc031pma.1 chr1 38000049 38019945 uc001cbi.4 chr1 38022519 38032458 uc001cbj.3 chr1 38032412 38061586 uc001cbk.3 chr1 38076950 38100595 uc001cbm.2 chr1 38147241 38156192 uc001cbp.3 chr1 38147242 38149864 uc031pmb.1 chr1 38158072 38175391 uc001cbs.4 chr1 38181645 38230824 uc009vvi.3 chr1 38259773 38267278 uc001cby.2 chr1 38268613 38273865 uc001cca.1 chr1 38273472 38275126 uc001ccd.2 chr1 38275238 38325292 uc001cce.1 chr1 38326368 38412729 uc001ccg.1 chr1 38349908 38349989 uc021oln.1 chr1 38422651 38455761 uc001cci.3 chr1 38462441 38471187 uc001cck.3 chr1 38478383 38490497 uc001ccn.4 chr1 38509522 38512450 uc001ccp.1 chr1 38554902 38555001 uc021olo.1 chr1 38674705 38680439 uc021olp.1 chr1 39303868 39325495 uc001ccq.3 chr1 39328161 39339050 uc001ccs.3 chr1 39340222 39341770 uc021olr.1 chr1 39351478 39407456 uc001ccu.1 chr1 39456915 39471737 uc001ccw.3 chr1 39491966 39500308 uc001ccy.3 chr1 39549838 39952810 uc031pmc.1 chr1 39619835 39619968 uc021olu.1 chr1 39648409 39648505 uc021olv.1 chr1 39875175 39882154 uc009vvt.1 chr1 39957317 39995541 uc001cdi.3 chr1 39970194 39970267 uc021olx.1 chr1 39987951 40025370 uc001cdk.3 chr1 40026484 40042521 uc001cdl.2 chr1 40033045 40033182 uc001cdo.1 chr1 40089102 40105348 uc001cdp.3 chr1 40124792 40137710 uc001cdq.1 chr1 40144644 40157089 uc001cdr.3 chr1 40204516 40229586 uc001cdw.3 chr1 40223902 40254533 uc001cdz.1 chr1 40235196 40237020 uc001ceb.1 chr1 40306705 40349177 uc021olz.1 chr1 40361095 40367687 uc001cer.2 chr1 40420783 40435628 uc001cev.3 chr1 40506254 40538321 uc001cey.4 chr1 40538381 40563142 uc001cfb.2 chr1 40627040 40706593 uc001cfc.4 chr1 40713572 40717365 uc001cfe.2 chr1 40723721 40759856 uc001cfg.4 chr1 40766162 40782981 uc001cfh.1 chr1 40839377 40888998 uc001cfj.3 chr1 40916336 40929390 uc001cfn.2 chr1 40943301 40962015 uc001cfo.3 chr1 40974432 40982214 uc001cfp.3 chr1 40997232 41013841 uc001cft.2 chr1 41086351 41131324 uc001cfu.1 chr1 41154751 41157933 uc010ojl.1 chr1 41157241 41237275 uc009vwd.3 chr1 41220026 41220118 uc001cgf.2 chr1 41222955 41223044 uc001cgg.3 chr1 41249683 41306124 uc001cgh.2 chr1 41326727 41328018 uc001cgj.3 chr1 41347313 41347427 uc021omc.1 chr1 41445006 41478235 uc001cgk.4 chr1 41480261 41509562 uc021omd.1 chr1 41481268 41487427 uc001cgm.2 chr1 41492870 41707815 uc001cgs.3 chr1 41932607 41932699 uc021ome.1 chr1 41944445 41949874 uc009vwh.3 chr1 41944445 41950344 uc001cgx.3 chr1 41972035 42384496 uc001cha.4 chr1 42619091 42621495 uc001chc.1 chr1 42628361 42630395 uc001chd.1 chr1 42642209 42800903 uc001chf.3 chr1 42846467 42889900 uc001chi.2 chr1 42896000 42921938 uc001chj.3 chr1 42922172 42926086 uc001chl.3 chr1 43000559 43120335 uc009vwk.1 chr1 43124047 43142429 uc001chq.3 chr1 43144356 43147330 uc001chr.3 chr1 43148065 43168020 uc001chs.3 chr1 43198763 43205925 uc001cht.1 chr1 43212005 43232755 uc001chx.4 chr1 43232915 43241413 uc001cia.4 chr1 43253660 43263901 uc021omg.1 chr1 43272722 43283059 uc001cib.2 chr1 43291248 43310660 uc001cie.1 chr1 43312243 43318146 uc021omh.1 chr1 43323292 43354460 uc001cij.1 chr1 43391045 43424847 uc001cik.2 chr1 43424719 43449029 uc001cil.3 chr1 43489219 43489308 uc021omj.1 chr1 43585818 43611958 uc009vwn.1 chr1 43613593 43622067 uc009vwo.3 chr1 43629844 43638241 uc010ojx.2 chr1 43638000 43720029 uc021omk.1 chr1 43735664 43739673 uc021oml.1 chr1 43747556 43751250 uc001cit.4 chr1 43766565 43788781 uc001ciu.3 chr1 43803474 43820135 uc001ciw.3 chr1 43824625 43828873 uc001cix.3 chr1 43829067 43833409 uc031pmf.1 chr1 43849578 43855483 uc001cje.2 chr1 43855555 43919918 uc001cjk.3 chr1 43916673 43919660 uc001cjo.3 chr1 43996546 44089343 uc001cjr.3 chr1 44115796 44171189 uc001cjx.3 chr1 44165355 44173012 uc001cjy.4 chr1 44173203 44396837 uc001cjz.4 chr1 44182137 44182227 uc021oms.1 chr1 44398991 44402912 uc001ckt.3 chr1 44412477 44433694 uc001ckx.3 chr1 44435652 44439043 uc001ckz.3 chr1 44440601 44443972 uc001cld.3 chr1 44445607 44456843 uc010okl.2 chr1 44457279 44462198 uc001clj.3 chr1 44462154 44483012 uc001cll.4 chr1 44584521 44600809 uc001clp.3 chr1 44679124 44686351 uc001clq.1 chr1 44686741 44820939 uc001clt.3 chr1 44870959 45117396 uc001clv.1 chr1 45011164 45011224 uc031pmh.1 chr1 45119500 45140099 uc001cmc.3 chr1 45140393 45191263 uc001cmf.2 chr1 45205489 45233438 uc001cmg.4 chr1 45241245 45244412 uc001cmi.3 chr1 45241536 45241610 uc001cmj.1 chr1 45242163 45242261 uc001cmk.1 chr1 45243513 45243584 uc009vxi.3 chr1 45244061 45244130 uc001cml.3 chr1 45249256 45253426 uc001cmm.3 chr1 45266035 45271667 uc001cmn.3 chr1 45271585 45272957 uc001cmp.3 chr1 45274153 45279801 uc010ole.1 chr1 45287937 45308616 uc010olf.2 chr1 45316193 45452394 uc001cmt.3 chr1 45468219 45477027 uc009vxk.3 chr1 45477804 45481341 uc001cna.2 chr1 45482075 45672250 uc001cnd.2 chr1 45769581 45771291 uc010olk.2 chr1 45792544 45794346 uc001cne.3 chr1 45794913 45806142 uc009vxp.3 chr1 45805341 45809650 uc009vxq.3 chr1 45809554 45956840 uc001cns.1 chr1 45959597 45965751 uc001cnw.3 chr1 45965855 45976739 uc009vxv.3 chr1 45976706 45988562 uc021omw.1 chr1 46016454 46035723 uc001coe.3 chr1 46049659 46084578 uc001coi.2 chr1 46085715 46089731 uc010olt.2 chr1 46092975 46152302 uc001coq.3 chr1 46111451 46112357 uc010olu.1 chr1 46153846 46160108 uc001cor.1 chr1 46164406 46216485 uc001cou.3 chr1 46269284 46501796 uc001cov.3 chr1 46505811 46598380 uc001cpb.4 chr1 46640748 46651634 uc001cpd.3 chr1 46654352 46685977 uc001cpg.3 chr1 46669005 46686928 uc010oma.2 chr1 46713366 46744145 uc009vye.2 chr1 46744071 46769038 uc001cpn.3 chr1 46769379 46782447 uc001cpp.3 chr1 46805848 46830824 uc001cpr.2 chr1 46859938 46879520 uc001cpu.2 chr1 46899498 46911374 uc021ona.1 chr1 46972667 46979886 uc001cpx.3 chr1 47004367 47035927 uc021onb.1 chr1 47011315 47015678 uc001cpy.2 chr1 47011315 47016887 uc009vyh.1 chr1 47023078 47069966 uc001cqb.4 chr1 47073386 47080805 uc001cqe.4 chr1 47100710 47134099 uc001cqh.4 chr1 47137496 47139256 uc001cqj.3 chr1 47139707 47157769 uc021ond.1 chr1 47140830 47184736 uc001cqk.4 chr1 47264669 47285021 uc001cqn.4 chr1 47308766 47366147 uc031pmm.1 chr1 47394845 47407156 uc001cqp.4 chr1 47489239 47516423 uc001cqt.3 chr1 47533159 47583992 uc001cqu.1 chr1 47603106 47614526 uc001cqv.1 chr1 47644921 47646011 uc031pmn.1 chr1 47649260 47655771 uc001cqw.3 chr1 47681962 47689770 uc009vyq.2 chr1 47681962 47695443 uc001cqx.2 chr1 47691628 47691655 uc021onf.1 chr1 47715810 47779819 uc001crd.1 chr1 47799468 47844511 uc001cri.3 chr1 47859449 47861215 uc001crj.1 chr1 47881743 47883724 uc001crk.3 chr1 47897806 47900313 uc001crl.3 chr1 47901688 47906363 uc001crm.3 chr1 48226199 48462562 uc021ong.1 chr1 48567386 48648100 uc010omr.1 chr1 48688356 48714316 uc001crn.2 chr1 48761043 48937876 uc001crr.2 chr1 48998526 50489626 uc001cru.2 chr1 49193539 49242547 uc001crx.4 chr1 50574593 50667540 uc001csb.2 chr1 50883222 50889119 uc010onb.2 chr1 50906934 51425936 uc001cse.1 chr1 51048075 51048183 uc021onh.1 chr1 51435641 51440309 uc001csg.3 chr1 51567905 51613754 uc001csh.3 chr1 51701944 51739119 uc001csi.4 chr1 51752929 51810785 uc010onf.2 chr1 51819934 51984995 uc001csq.1 chr1 52004296 52004401 uc021oni.1 chr1 52082545 52254891 uc001csu.3 chr1 52254865 52344609 uc001ctc.4 chr1 52373627 52456436 uc001cth.3 chr1 52461412 52461712 uc021onk.1 chr1 52485803 52521843 uc001cti.4 chr1 52497776 52499472 uc001ctj.1 chr1 52521856 52556388 uc001ctk.3 chr1 52607765 52812358 uc001cto.4 chr1 52816264 52831877 uc001ctq.2 chr1 52838500 52870143 uc001ctu.3 chr1 52870218 52883992 uc001ctv.4 chr1 52870218 52883992 uc001ctw.4 chr1 52888947 53018762 uc001cty.2 chr1 53068042 53074723 uc001cue.3 chr1 53099065 53122737 uc001cuf.3 chr1 53152013 53164038 uc001cui.2 chr1 53192130 53293013 uc001cuj.3 chr1 53308182 53360247 uc001cuk.2 chr1 53361581 53387591 uc001cup.4 chr1 53392900 53517289 uc001cur.2 chr1 53527723 53551174 uc010onr.2 chr1 53552854 53608289 uc001cuy.3 chr1 53580247 53584281 uc001cva.1 chr1 53662100 53679869 uc001cvb.4 chr1 53679771 53686289 uc001cvd.3 chr1 53692563 53704282 uc001cvf.2 chr1 53704281 53708455 uc001cvg.3 chr1 53708040 53793821 uc001cvi.2 chr1 53793904 53802889 uc001cvn.1 chr1 53904042 53905693 uc009vzj.3 chr1 53925071 53933158 uc001cvq.1 chr1 53971905 54199877 uc001cvr.1 chr1 54231133 54304225 uc001cvs.3 chr1 54317391 54355487 uc001cvu.3 chr1 54359860 54376759 uc001cwb.3 chr1 54387233 54411288 uc001cwh.3 chr1 54411998 54433841 uc001cwj.2 chr1 54472970 54483859 uc001cwm.2 chr1 54497348 54519111 uc001cwp.3 chr1 54519273 54565416 uc001cwt.1 chr1 54519751 54519827 uc021ons.1 chr1 54604667 54618679 uc001cwv.2 chr1 54638026 54665746 uc009vzo.3 chr1 54665839 54684056 uc001cxa.4 chr1 54691103 54872068 uc001cxe.4 chr1 55013806 55076005 uc001cxl.2 chr1 55074849 55089200 uc001cxn.3 chr1 55107426 55175939 uc010ooe.1 chr1 55181494 55208328 uc001cxx.4 chr1 55222570 55230226 uc001cxy.3 chr1 55246751 55266941 uc009vzt.1 chr1 55271735 55307937 uc001cyb.4 chr1 55315299 55352921 uc001cyc.1 chr1 55352654 55353883 uc021onu.1 chr1 55423541 55423614 uc021onv.1 chr1 55446464 55457966 uc001cyd.3 chr1 55464616 55474465 uc001cye.3 chr1 55505148 55530526 uc001cyf.2 chr1 55532031 55681039 uc021onw.1 chr1 55681080 55683128 uc021onx.1 chr1 55691313 55691396 uc021ony.1 chr1 55842198 55842525 uc021onz.1 chr1 55950543 55950645 uc021ooa.1 chr1 56046709 56200675 uc001cyi.1 chr1 56960418 57045257 uc001cyj.2 chr1 57110989 57181008 uc001cyk.4 chr1 57184476 57285369 uc001cym.4 chr1 57289353 57292593 uc001cyn.3 chr1 57320442 57383894 uc001cyo.2 chr1 57394882 57431688 uc001cyp.3 chr1 57463578 58716211 uc001cys.1 chr1 58326214 58328786 uc001cyu.1 chr1 58933598 58934677 uc001cyw.1 chr1 58946390 59012446 uc001cyy.3 chr1 59041094 59043166 uc001cyz.4 chr1 59120410 59165747 uc009wab.2 chr1 59246462 59249785 uc001cze.3 chr1 59250822 59365384 uc010oop.1 chr1 59597607 59612479 uc010ooq.2 chr1 59762624 60228402 uc009wac.3 chr1 60198898 60198968 uc021oob.1 chr1 60238466 60254501 uc001czn.3 chr1 60280532 60342050 uc001czo.3 chr1 60358979 60392423 uc001czq.3 chr1 60454823 60539442 uc001czs.2 chr1 61125302 61291256 uc001czt.1 chr1 61405915 61436448 uc001czu.3 chr1 61547533 61928460 uc010oos.2 chr1 62119913 62121800 uc031pmt.1 chr1 62146718 62191095 uc001czz.1 chr1 62208148 62629591 uc001dab.3 chr1 62318170 62318274 uc031pmu.1 chr1 62660473 62678001 uc001dae.4 chr1 62701836 62785083 uc001dah.4 chr1 62901974 62917475 uc001dak.2 chr1 62920396 63154039 uc001daq.4 chr1 63063157 63071976 uc001das.2 chr1 63249776 63330941 uc001dau.3 chr1 63624753 63782901 uc001daw.2 chr1 63704613 63704845 uc021ood.1 chr1 63788729 63790797 uc001dax.2 chr1 63799429 63799491 uc021ooe.1 chr1 63833260 63904233 uc021oof.1 chr1 63906440 63988944 uc001dbb.2 chr1 63989012 64038364 uc001dbf.3 chr1 64014650 64016307 uc001dbg.1 chr1 64088886 64125916 uc010ooz.2 chr1 64239689 64647179 uc001dbj.3 chr1 64262024 64262128 uc021oog.1 chr1 64571005 64636980 uc001dbl.3 chr1 64669489 64710027 uc001dbn.1 chr1 64936475 65158741 uc001dbo.1 chr1 65045529 65045604 uc021ooh.1 chr1 65210777 65298914 uc001dbs.2 chr1 65298905 65432187 uc001dbu.1 chr1 65445259 65468159 uc001dbw.3 chr1 65488650 65488757 uc021ooj.1 chr1 65523437 65523525 uc021ook.1 chr1 65524116 65524191 uc001dbx.3 chr1 65613231 65697828 uc001dby.3 chr1 65775217 65881552 uc001dce.2 chr1 65886130 66103176 uc001dci.3 chr1 65886130 65901690 uc001dcf.3 chr1 66258855 66840262 uc001dco.3 chr1 66560143 66560229 uc021oom.1 chr1 66999824 67210768 uc001dcr.3 chr1 67094122 67094200 uc021oon.1 chr1 67132271 67142710 uc010ope.1 chr1 67218139 67244730 uc001dcv.3 chr1 67263423 67266942 uc001dcw.3 chr1 67278571 67390570 uc001dcx.3 chr1 67390577 67454302 uc001dde.2 chr1 67465014 67520080 uc001ddk.2 chr1 67557858 67600654 uc001ddm.2 chr1 67632168 67725650 uc001ddo.3 chr1 67661822 67661926 uc021ooo.1 chr1 67773046 67862583 uc001ddu.3 chr1 67873492 67896123 uc001ddv.3 chr1 68150859 68154021 uc001ddz.2 chr1 68167148 68299155 uc001dea.2 chr1 68238275 68238336 uc021oop.1 chr1 68297970 68668670 uc001deb.2 chr1 68511644 68516481 uc001ded.3 chr1 68564141 68698284 uc001dee.3 chr1 68649200 68649293 uc021oos.1 chr1 68649301 68649321 uc021oot.1 chr1 68894506 68915642 uc001dei.1 chr1 68939834 68962799 uc001dem.4 chr1 68962358 69004310 uc001den.3 chr1 70225857 70589171 uc001dep.3 chr1 70385004 70386000 uc009wbh.2 chr1 70610484 70671361 uc001der.2 chr1 70671364 70717701 uc001des.3 chr1 70724684 70820417 uc001dex.4 chr1 70820492 70833705 uc001dfa.3 chr1 70876900 70905534 uc001dfd.3 chr1 71172135 71252151 uc001dff.3 chr1 71418114 71513491 uc001dfo.3 chr1 71512188 71532865 uc001dfr.3 chr1 71528973 71546972 uc001dft.3 chr1 71533313 71533399 uc010oqr.1 chr1 71547006 71703406 uc001dfu.2 chr1 71868624 72748405 uc001dfw.3 chr1 72259914 72302695 uc031pmw.1 chr1 73771852 73804560 uc001dfx.3 chr1 74491701 74663871 uc001dfy.4 chr1 74663895 75010116 uc001dge.2 chr1 75033794 75139422 uc001dgg.3 chr1 75043113 75091782 uc001dgh.3 chr1 75171171 75199092 uc001dgj.3 chr1 75198835 75232360 uc001dgn.3 chr1 75595658 75598261 uc001dgp.1 chr1 75600566 75627218 uc031pmx.1 chr1 75672074 76076799 uc001dgu.3 chr1 76103850 76188721 uc001dgv.3 chr1 76190042 76229355 uc009wbp.3 chr1 76251878 76260775 uc001dgy.2 chr1 76252756 76252834 uc001dgz.2 chr1 76253573 76253657 uc009wbu.1 chr1 76255161 76255232 uc009wbv.1 chr1 76262555 76378923 uc001dhd.2 chr1 76384557 76398116 uc001dhe.2 chr1 76540388 77096669 uc001dhh.2 chr1 77333185 77529737 uc001dhi.3 chr1 77554666 77685132 uc001dhk.3 chr1 77747661 78025654 uc001dhn.3 chr1 78030189 78148343 uc001dhq.3 chr1 78161673 78225564 uc001dht.4 chr1 78245308 78345225 uc010ork.3 chr1 78354199 78409578 uc001dic.4 chr1 78413590 78444777 uc001dii.3 chr1 78470635 78482995 uc001dij.3 chr1 78511588 78603112 uc001dik.3 chr1 78560490 78560599 uc021oov.1 chr1 78695282 78759574 uc001dil.1 chr1 78956727 79006386 uc001din.3 chr1 79086087 79111830 uc010oro.2 chr1 79115476 79129763 uc001dip.4 chr1 79152744 79152828 uc021oow.1 chr1 79355448 79472495 uc001diq.4 chr1 82266081 82458107 uc001diu.3 chr1 82312940 82313045 uc021oox.1 chr1 83439565 83451891 uc001dix.4 chr1 83911736 83920454 uc001diy.3 chr1 84041470 84326679 uc001diz.4 chr1 84259583 84259634 uc021ooy.1 chr1 84259597 84379059 uc031pmy.1 chr1 84267442 84326229 uc001dja.1 chr1 84335056 84464833 uc001djc.3 chr1 84379036 84379062 uc021ooz.1 chr1 84609951 84704181 uc001djl.3 chr1 84743003 84743140 uc021opa.1 chr1 84764048 84816481 uc001djr.3 chr1 84810360 84816481 uc001djs.3 chr1 84830640 84863576 uc009wcg.3 chr1 84864214 84880691 uc001djt.1 chr1 84944919 84964033 uc001djv.4 chr1 84964005 84972262 uc001djw.4 chr1 84972012 85014647 uc021opb.1 chr1 85018803 85040163 uc001dka.2 chr1 85093912 85097429 uc010ory.1 chr1 85109389 85156240 uc001dkj.3 chr1 85279085 85358896 uc009wcj.1 chr1 85391265 85462796 uc001dkm.3 chr1 85483764 85514223 uc001dkp.3 chr1 85527992 85598821 uc001dkt.3 chr1 85599476 85599556 uc021opc.1 chr1 85623355 85666728 uc009wcm.3 chr1 85715636 85725355 uc001dkv.3 chr1 85731459 85742587 uc021opd.1 chr1 85742040 85865646 uc001dla.2 chr1 85784167 85930889 uc001dlb.3 chr1 86046443 86049648 uc001dle.3 chr1 86115105 86174116 uc001dlh.3 chr1 86194915 86622154 uc001dlj.3 chr1 86815776 86862025 uc001dll.2 chr1 86889768 86922240 uc001dlr.4 chr1 86934394 86965974 uc001dlt.3 chr1 87012758 87046432 uc009wcs.3 chr1 87099958 87121059 uc010osh.2 chr1 87170252 87213867 uc001dly.3 chr1 87328127 87380107 uc021opi.1 chr1 87380334 87575681 uc010osk.2 chr1 87597679 87598718 uc021opj.1 chr1 87777576 87777676 uc021opk.1 chr1 87794150 87814607 uc001dmi.3 chr1 87819209 87837338 uc001dmk.3 chr1 87918922 87919056 uc021opl.1 chr1 88943510 88943810 uc021opm.1 chr1 89004735 89150887 uc021opn.1 chr1 89149921 89301938 uc001dmn.3 chr1 89318320 89357301 uc001dmo.4 chr1 89401455 89458643 uc001dmp.2 chr1 89445138 89458643 uc001dms.3 chr1 89472359 89488549 uc001dmt.3 chr1 89517986 89531043 uc001dmx.2 chr1 89573309 89591799 uc001dmz.1 chr1 89597433 89641723 uc001dna.2 chr1 89646830 89664633 uc001dnb.3 chr1 89724633 89738544 uc001dnd.3 chr1 89754940 89756045 uc031pna.1 chr1 89829435 89853719 uc001dnf.2 chr1 89873237 89890493 uc009wcy.1 chr1 89990396 90063420 uc001dni.3 chr1 90090407 90098453 uc001dnk.1 chr1 90098643 90185094 uc001dnl.4 chr1 90287479 90401989 uc001dnn.3 chr1 90453271 90453503 uc021opr.1 chr1 90458823 90460525 uc001dno.3 chr1 90460677 90494094 uc001dnq.2 chr1 91177578 91182794 uc001dns.3 chr1 91295103 91317175 uc001dnu.2 chr1 91380856 91487812 uc001dnw.3 chr1 91726322 91870426 uc001doa.4 chr1 91966403 91991321 uc001dof.3 chr1 92145899 92351836 uc001doh.3 chr1 92295329 92295626 uc021ops.1 chr1 92414927 92479985 uc010osz.2 chr1 92495532 92529093 uc001don.2 chr1 92545861 92613401 uc001doo.3 chr1 92632608 92650280 uc010otd.2 chr1 92683572 92711367 uc001doq.3 chr1 92711954 92764566 uc001dor.3 chr1 92764521 92853732 uc001dot.2 chr1 92940317 92951628 uc001dov.4 chr1 92974252 93257961 uc001dox.3 chr1 93297593 93307481 uc001doz.3 chr1 93302845 93302940 uc001dpe.2 chr1 93303574 93303627 uc021opt.1 chr1 93307716 93427079 uc001dpg.3 chr1 93544791 93604638 uc009wdj.3 chr1 93615298 93646246 uc001dpn.3 chr1 93646280 93744287 uc021opx.1 chr1 93775665 93811368 uc001dpt.2 chr1 93811477 93828148 uc001dpu.3 chr1 93913687 94020218 uc010otk.2 chr1 93981833 93981906 uc021opz.1 chr1 94027342 94146926 uc001dpz.4 chr1 94057524 94065587 uc009wdn.3 chr1 94219111 94240930 uc001dqd.1 chr1 94312387 94312467 uc021oqa.1 chr1 94313128 94313213 uc021oqb.1 chr1 94317792 94319887 uc001dqe.1 chr1 94335013 94344762 uc001dqf.3 chr1 94352589 94375012 uc001dqg.1 chr1 94458393 94586705 uc001dqh.3 chr1 94634462 94703307 uc001dqj.4 chr1 94883932 94984219 uc001dqn.4 chr1 94994731 95007413 uc001dqr.3 chr1 95123088 95285834 uc001dqu.3 chr1 95285897 95360803 uc001dqv.5 chr1 95362506 95392735 uc001dqz.4 chr1 95393583 95428826 uc021oqc.2 chr1 95448278 95538507 uc001dra.2 chr1 95550007 95550119 uc021oqd.1 chr1 95582893 95663161 uc001drb.3 chr1 95628774 95699538 uc001dre.1 chr1 95699710 95712781 uc009wdu.3 chr1 95940292 95944912 uc021oqf.1 chr1 95970531 95970615 uc021oqg.1 chr1 95975895 95981020 uc001drl.3 chr1 97161411 97161723 uc021oqh.1 chr1 97187174 97280605 uc001drq.3 chr1 97543299 98386615 uc001drv.3 chr1 97561478 97788511 uc031pne.1 chr1 98453555 98515249 uc001drx.2 chr1 98510798 98510907 uc021oqj.1 chr1 98676266 98738214 uc031pnf.1 chr1 99127235 99226056 uc010ouc.2 chr1 99207463 99207540 uc021oql.1 chr1 99355800 99470449 uc001dsb.3 chr1 99469831 99614408 uc001dsd.1 chr1 99729847 99775138 uc001dse.3 chr1 100111430 100160097 uc001dsg.3 chr1 100174258 100231349 uc001dsh.1 chr1 100178485 100178513 uc021oqn.1 chr1 100178485 100178513 uc021oqm.1 chr1 100315639 100389579 uc001dsi.1 chr1 100434000 100435404 uc001dso.2 chr1 100435991 100492534 uc001dsr.2 chr1 100503788 100548929 uc001dst.3 chr1 100549101 100598511 uc001dsu.3 chr1 100598705 100616054 uc001dsv.3 chr1 100614003 100643829 uc001dsx.2 chr1 100652477 100715409 uc001dta.3 chr1 100731713 100758325 uc001dtd.3 chr1 100746796 100746864 uc021oqp.1 chr1 100818022 100965021 uc001dtf.2 chr1 101003727 101007583 uc001dth.3 chr1 101092605 101112560 uc021oqr.1 chr1 101185195 101204601 uc001dti.3 chr1 101337927 101360735 uc001dtk.2 chr1 101361631 101447311 uc001dto.2 chr1 101455179 101491362 uc001dtt.2 chr1 101491408 101552819 uc001dua.3 chr1 101702304 101707076 uc001dud.2 chr1 101746453 101746573 uc021oqu.1 chr1 101806424 101806451 uc031pni.1 chr1 102268126 102462790 uc001dug.2 chr1 102337566 102360299 uc021oqv.1 chr1 103342022 103574052 uc001dul.3 chr1 104068577 104097859 uc010oun.2 chr1 104095895 104122149 uc001duq.3 chr1 104159998 104168400 uc001dut.3 chr1 104198301 104207173 uc001duv.3 chr1 104230039 104238912 uc001duw.1 chr1 104257374 104262492 uc010our.1 chr1 104292439 104301311 uc001duz.3 chr1 104615644 104619693 uc021oqw.1 chr1 106144773 106161557 uc001dva.3 chr1 107599266 107601916 uc010ous.2 chr1 107682628 108024475 uc001dvh.4 chr1 107937775 108024475 uc001dvi.3 chr1 107937775 108024475 uc009wem.3 chr1 108113781 108507545 uc001dvk.1 chr1 108496274 108496345 uc021oqx.1 chr1 108507064 108537229 uc031pnj.1 chr1 108677343 108742980 uc001dvn.5 chr1 108765962 108786703 uc009weo.2 chr1 108803819 108816311 uc001dvp.2 chr1 108918459 108953434 uc001dvq.3 chr1 108963310 108975804 uc001dvr.2 chr1 108992903 109013260 uc009wep.3 chr1 109102970 109181949 uc010ouy.2 chr1 109190909 109203744 uc001dvt.4 chr1 109234931 109244422 uc001dvv.4 chr1 109255555 109285367 uc001dvx.3 chr1 109289284 109352148 uc001dvy.3 chr1 109358519 109399726 uc001dwa.4 chr1 109399838 109401146 uc001dwc.3 chr1 109419602 109473044 uc010ovc.2 chr1 109472129 109506121 uc001dwf.2 chr1 109512837 109584850 uc001dwl.3 chr1 109606997 109618624 uc001dwm.1 chr1 109633402 109639554 uc001dwn.3 chr1 109642814 109643234 uc001dwo.1 chr1 109648572 109656479 uc009wew.3 chr1 109656584 109749403 uc021orb.1 chr1 109756514 109780804 uc001dwu.2 chr1 109792640 109818378 uc001dxa.4 chr1 109822175 109825790 uc001dxd.3 chr1 109834986 109849663 uc001dxk.1 chr1 109852187 109940563 uc001dxm.2 chr1 109941652 109969070 uc001dxn.3 chr1 109965120 109966952 uc021orf.1 chr1 110009099 110024764 uc001dxp.3 chr1 110026560 110035420 uc001dxr.3 chr1 110036700 110043063 uc010ovo.2 chr1 110049445 110052336 uc001dxx.4 chr1 110082493 110088455 uc001dxy.2 chr1 110091185 110138454 uc001dxz.3 chr1 110141514 110141589 uc010ovq.1 chr1 110145888 110155705 uc001dya.3 chr1 110162434 110174677 uc009wfh.2 chr1 110198697 110204331 uc001dyf.3 chr1 110230417 110236367 uc001dyk.3 chr1 110254863 110260890 uc001dyn.3 chr1 110276553 110283660 uc001dyo.2 chr1 110292701 110306644 uc001dyq.2 chr1 110453232 110473616 uc001dyw.4 chr1 110527386 110566364 uc001dyx.3 chr1 110577222 110597424 uc001dza.2 chr1 110602996 110613322 uc001dzb.3 chr1 110603303 110603368 uc021orl.1 chr1 110655061 110656569 uc001dzc.3 chr1 110693131 110744823 uc009wfq.3 chr1 110753335 110776674 uc001dzh.3 chr1 110815105 110815229 uc021orm.1 chr1 110828998 110881793 uc001dzj.3 chr1 110881944 110889303 uc001dzl.1 chr1 110887099 110888734 uc001dzn.1 chr1 110905472 110933704 uc001dzo.2 chr1 110943876 110950546 uc001dzr.3 chr1 110950430 110958896 uc031pnm.1 chr1 110993787 110999976 uc001dzs.3 chr1 111023387 111033891 uc009wfu.1 chr1 111059838 111061797 uc001dzt.1 chr1 111145775 111148975 uc009wfw.3 chr1 111214309 111217655 uc001dzv.1 chr1 111413820 111442558 uc001dzw.3 chr1 111489811 111506566 uc001eaa.3 chr1 111659953 111682838 uc001ead.4 chr1 111682248 111727724 uc001eah.1 chr1 111728590 111747160 uc001eal.2 chr1 111770280 111786062 uc001eam.3 chr1 111823145 111828730 uc009wgb.3 chr1 111833473 111863188 uc001eas.4 chr1 111889194 111895639 uc001eaw.2 chr1 111927140 111932473 uc021orp.1 chr1 111956936 111970399 uc001eba.3 chr1 111982511 111991830 uc001ebb.3 chr1 111991742 112004525 uc001ebc.3 chr1 112016603 112021134 uc001ebe.3 chr1 112025969 112046743 uc001ebf.3 chr1 112032938 112033045 uc021orr.1 chr1 112141628 112150940 uc001ebj.2 chr1 112162404 112256101 uc001ebl.3 chr1 112256829 112259310 uc001ebn.1 chr1 112264685 112282046 uc001ebo.2 chr1 112282462 112290420 uc001ebq.1 chr1 112287934 112298131 uc001ebr.3 chr1 112298189 112310199 uc001ebs.3 chr1 112318453 112531777 uc001ebu.1 chr1 112533189 112541463 uc001ebw.4 chr1 112913625 112913729 uc021oru.1 chr1 112938799 113003786 uc001ebx.3 chr1 112938880 112941439 uc001eby.1 chr1 113004391 113004455 uc021orv.1 chr1 113051369 113063910 uc001ecb.3 chr1 113066140 113162040 uc001ecd.3 chr1 113162074 113214241 uc001ecj.1 chr1 113217047 113243368 uc001eck.3 chr1 113243748 113249678 uc001ecp.1 chr1 113252615 113257950 uc001ect.1 chr1 113263188 113269856 uc001ecu.3 chr1 113362795 113393265 uc001ecw.1 chr1 113392521 113420491 uc021orw.1 chr1 113454469 113498975 uc001ecy.3 chr1 113465971 113467295 uc001eda.1 chr1 113499070 113511603 uc001edd.3 chr1 113554308 113615724 uc001ede.1 chr1 113615830 113667342 uc001edf.1 chr1 113739403 113748875 uc001edg.2 chr1 113933474 114228545 uc001edk.3 chr1 114239823 114301777 uc009wgp.1 chr1 114304453 114355070 uc001edq.3 chr1 114356432 114414375 uc001eds.3 chr1 114399256 114443859 uc001edv.2 chr1 114419435 114430169 uc001edw.3 chr1 114437370 114447525 uc001eeb.3 chr1 114447914 114456708 uc001eeg.3 chr1 114466622 114471880 uc001eek.3 chr1 114471995 114520491 uc001eem.3 chr1 114522029 114524875 uc001eer.1 chr1 114631913 114695062 uc021orz.1 chr1 114935398 115053781 uc001eew.3 chr1 115110180 115124265 uc001efa.3 chr1 115125468 115126223 uc021osb.1 chr1 115127195 115212732 uc001efd.1 chr1 115215719 115238239 uc001efe.2 chr1 115247084 115259515 uc009wgu.3 chr1 115259533 115300671 uc001efi.3 chr1 115312104 115323308 uc001efp.4 chr1 115397454 115537990 uc001efr.3 chr1 115572444 115576930 uc001efs.2 chr1 115590632 115632121 uc001eft.3 chr1 115828536 115880857 uc001efu.1 chr1 116184573 116240845 uc001efv.1 chr1 116242625 116311426 uc001efx.4 chr1 116378998 116383747 uc001efy.3 chr1 116461996 116468529 uc001efz.3 chr1 116519118 116612675 uc001egb.4 chr1 116654375 116677861 uc001egc.1 chr1 116821227 116821443 uc021osg.1 chr1 116915794 116947396 uc001ege.3 chr1 116947335 116961244 uc001egj.3 chr1 116956387 116956491 uc021osh.1 chr1 116995157 116995249 uc021osi.1 chr1 117057155 117113715 uc001egm.3 chr1 117117019 117209578 uc031pnr.1 chr1 117134723 117134827 uc021osj.1 chr1 117214370 117214449 uc021osk.1 chr1 117297085 117311851 uc001egu.4 chr1 117452688 117532972 uc001egv.1 chr1 117504968 117505093 uc021osl.1 chr1 117544371 117579173 uc010oxb.2 chr1 117602948 117645491 uc001egy.3 chr1 117637264 117637350 uc021osm.1 chr1 117653676 117664411 uc001egz.2 chr1 117686208 117753582 uc001ehb.3 chr1 117785831 117786130 uc021osp.1 chr1 117910084 118068320 uc001ehd.1 chr1 118148603 118171011 uc001ehe.3 chr1 118406106 118472302 uc001ehf.3 chr1 118472371 118503049 uc010oxe.1 chr1 118496287 118727848 uc001ehk.2 chr1 119425665 119532179 uc001ehl.1 chr1 119573838 119683295 uc001ehn.3 chr1 119683047 119726446 uc009whk.2 chr1 119911401 119936751 uc001ehr.1 chr1 119957742 119965662 uc001eht.3 chr1 120049825 120057681 uc001ehv.1 chr1 120106502 120115199 uc021osu.1 chr1 120140324 120141914 uc021osv.1 chr1 120161999 120190390 uc001ehy.1 chr1 120254418 120286849 uc001ehz.3 chr1 120290618 120311555 uc001eid.3 chr1 120336640 120354203 uc001eif.3 chr1 120377387 120387503 uc010oxk.3 chr1 120436155 120439147 uc001eij.3 chr1 120454175 120612317 uc001eik.3 chr1 120839004 120855681 uc009whp.3 chr1 120906033 120914842 uc001eio.2 chr1 120906460 120906507 uc021osz.1 chr1 120926127 120935944 uc001eip.3 chr1 121107151 121129827 uc031pnu.1 chr1 121306423 121313686 uc009wht.1 chr1 142618798 143257763 uc001eiw.1 chr1 142660105 142660135 uc001eiy.2 chr1 142672190 142672219 uc001eiz.2 chr1 142688238 142688268 uc021ota.1 chr1 142689205 142689235 uc021otb.1 chr1 142689523 142689553 uc021otc.1 chr1 142697420 142713605 uc031pnv.1 chr1 142803223 142888797 uc001ejb.3 chr1 142803530 142826645 uc001ejc.4 chr1 142851394 142851424 uc001eje.3 chr1 142853227 142855999 uc009whu.1 chr1 143168647 143168675 uc001ejg.1 chr1 143184707 143184737 uc001ejh.1 chr1 143185980 143186010 uc001ejj.3 chr1 143286955 143286985 uc021otd.1 chr1 143289062 143289092 uc001ejk.3 chr1 143402283 143402313 uc001ejl.1 chr1 143403553 143403583 uc002zkn.1 chr1 143419286 143419314 uc021ote.1 chr1 143424332 143467651 uc001ejn.1 chr1 143431367 143431397 uc001ejo.2 chr1 143647638 143744587 uc001ejp.3 chr1 143687129 143714180 uc001ejq.3 chr1 143690027 143690101 uc021otf.1 chr1 143702303 143702331 uc031pnw.1 chr1 143767143 143767881 uc001ejt.3 chr1 143879831 143879905 uc021otg.1 chr1 143896451 143913143 uc002qvn.1 chr1 143915747 144094477 uc010oxm.1 chr1 144146810 146467744 uc021ott.2 chr1 144171303 144172451 uc021otn.1 chr1 144209457 144212180 uc021otx.1 chr1 144275887 144290006 uc001ekq.1 chr1 144300511 144340773 uc001ekt.4 chr1 144301610 144301684 uc021oty.1 chr1 144308613 144308687 uc021otz.1 chr1 144340773 144341077 uc021oua.1 chr1 144363461 144364246 uc001ekw.3 chr1 144456162 144470244 uc021oub.1 chr1 144480744 144521009 uc001ela.4 chr1 144481839 144481913 uc021ouc.1 chr1 144488842 144488916 uc021oud.1 chr1 144514872 144519720 uc001elb.4 chr1 144610814 144612727 uc001elf.4 chr1 144832199 144833038 uc001els.1 chr1 144833046 144833912 uc001elt.1 chr1 144833912 144834808 uc001elu.1 chr1 144839435 144839507 uc021oug.1 chr1 144851423 144995033 uc021ouh.1 chr1 144944671 144944750 uc031pnz.1 chr1 145004780 145005287 uc001emi.4 chr1 145013718 145018395 uc001emj.3 chr1 145096406 145116997 uc031poa.1 chr1 145209110 145285912 uc001emn.4 chr1 145372087 145373798 uc001eng.1 chr1 145373798 145374694 uc001enh.1 chr1 145379319 145379391 uc021our.1 chr1 145385728 145385804 uc021ous.1 chr1 145395521 145395594 uc021out.1 chr1 145396880 145396952 uc021ouu.1 chr1 145397863 145397935 uc021ouv.1 chr1 145399232 145399304 uc021ouw.1 chr1 145413190 145417545 uc001eni.2 chr1 145438461 145442628 uc001enn.4 chr1 145456235 145470387 uc001enp.1 chr1 145470507 145475647 uc001enq.1 chr1 145477084 145499091 uc001enr.3 chr1 145500506 145501669 uc021ouz.1 chr1 145507556 145513535 uc001ent.2 chr1 145509751 145515899 uc009wiv.3 chr1 145514173 145515899 uc001enx.4 chr1 145516164 145523732 uc001eny.2 chr1 145524989 145543868 uc001eoa.3 chr1 145549208 145568526 uc001eob.1 chr1 145575987 145586546 uc001eoc.1 chr1 145586492 145589435 uc001eoe.3 chr1 145592604 145610884 uc001eoh.3 chr1 145611035 145688776 uc001eoj.3 chr1 145695797 145715565 uc001eol.1 chr1 145727665 145764206 uc001eoo.2 chr1 145764594 145827103 uc001eot.2 chr1 145883867 145924049 uc001eou.4 chr1 145924387 145934507 uc010ozf.2 chr1 145963303 145963375 uc021ova.1 chr1 145979033 145979107 uc021ovb.1 chr1 146032541 146057734 uc010ozg.2 chr1 146124160 146124283 uc021ovd.1 chr1 146215990 146217136 uc021ove.1 chr1 146476759 146476831 uc021ovh.1 chr1 146490894 146514599 uc001epd.3 chr1 146544772 146544844 uc021ovi.1 chr1 146550177 146550249 uc021ovj.1 chr1 146571065 146585928 uc031poj.1 chr1 146626684 146644129 uc001epe.3 chr1 146649429 146651528 uc001epg.1 chr1 146657837 146697230 uc001epi.2 chr1 146714290 146767447 uc001epm.5 chr1 146853913 146989699 uc021ovk.1 chr1 147013181 147098015 uc001epq.3 chr1 147119167 147142634 uc001epr.2 chr1 147228331 147232714 uc001eps.1 chr1 147374945 147381395 uc001epu.2 chr1 147400505 147465755 uc001epv.4 chr1 147466093 147484331 uc001epz.1 chr1 147505037 147505109 uc021ovn.1 chr1 147520766 147520840 uc021ovo.1 chr1 147574322 147599571 uc010ozx.2 chr1 147665992 147666115 uc021ovp.1 chr1 147680370 147691166 uc001eqh.1 chr1 147719028 147719102 uc021ovq.1 chr1 147737381 147737453 uc021ovr.1 chr1 147751385 147763966 uc001eqi.1 chr1 147753470 147753542 uc021ovs.1 chr1 147774844 147774916 uc021ovt.1 chr1 147781029 147781101 uc021ovu.1 chr1 147800936 147801008 uc021ovv.1 chr1 147801123 147816764 uc001eqk.1 chr1 147806602 147806678 uc031pom.1 chr1 147825688 147825760 uc021ovw.1 chr1 147835126 147931980 uc001eql.2 chr1 147874654 147893482 uc010paa.1 chr1 147877536 147877610 uc021ovx.1 chr1 147925822 147930669 uc009wka.2 chr1 147954634 147955419 uc001eqp.3 chr1 148000804 148000878 uc021ovy.1 chr1 148201751 148202536 uc010pag.2 chr1 148248114 148248188 uc021owi.1 chr1 148250248 148346791 uc021owp.2 chr1 148556107 148556133 uc010pay.2 chr1 148560846 148596267 uc001esc.2 chr1 148598313 148598387 uc021oxb.1 chr1 148644010 148644795 uc010paz.2 chr1 148739441 148758311 uc010pba.1 chr1 148760355 148760429 uc021oxc.1 chr1 148806014 148806799 uc010pbb.2 chr1 148876039 148902123 uc009wkv.1 chr1 148930404 148953054 uc009wkw.1 chr1 149079363 149079435 uc021oxd.1 chr1 149155827 149155899 uc021oxe.1 chr1 149161627 149161699 uc021oxf.1 chr1 149186124 149186196 uc021oxg.1 chr1 149211947 149212021 uc021oxh.1 chr1 149230569 149230643 uc021oxi.1 chr1 149230715 149232553 uc010pbe.1 chr1 149278784 149278857 uc021oxj.1 chr1 149279475 149291742 uc010pbf.2 chr1 149294665 149294736 uc021oxk.1 chr1 149298554 149298627 uc021oxl.1 chr1 149326271 149326345 uc021oxm.1 chr1 149334271 149334340 uc021oxn.1 chr1 149343080 149343151 uc021oxo.1 chr1 149369293 149378297 uc010pbh.2 chr1 149398714 149398761 uc010pbi.2 chr1 149400063 149400109 uc021oxp.1 chr1 149553002 149553787 uc001esj.3 chr1 149576261 149616786 uc001esk.5 chr1 149577754 149582605 uc009wle.2 chr1 149608608 149608682 uc021oxq.1 chr1 149615616 149615690 uc021oxr.1 chr1 149627308 149651107 uc001eso.1 chr1 149664354 149664427 uc021oxs.1 chr1 149670056 149670130 uc021oxt.1 chr1 149672904 149672976 uc031poq.1 chr1 149680209 149680280 uc021oxu.1 chr1 149684087 149684161 uc021oxv.1 chr1 149711797 149711871 uc021oxw.1 chr1 149719801 149719870 uc021oxx.1 chr1 149728270 149728341 uc021oxy.1 chr1 149754244 149783928 uc010pbj.2 chr1 149754249 149764074 uc001esp.4 chr1 149763335 149765367 uc001esq.1 chr1 149784779 149785236 uc010pbl.2 chr1 149804220 149804616 uc001ess.3 chr1 149812258 149812765 uc001esv.3 chr1 149813784 149814318 uc001esw.3 chr1 149821758 149822340 uc021oxz.1 chr1 149822627 149823161 uc001esx.3 chr1 149824180 149824687 uc001esy.3 chr1 149832329 149832725 uc001etb.3 chr1 149856009 149858232 uc001etc.3 chr1 149858524 149858961 uc001etd.3 chr1 149859018 149859466 uc001ete.3 chr1 149871154 149872348 uc001etf.3 chr1 149874871 149889434 uc001etg.3 chr1 149895208 149900144 uc001etk.2 chr1 149900542 149908791 uc001etl.4 chr1 149912231 149982686 uc001etn.3 chr1 150017381 150017452 uc021oyb.1 chr1 150039341 150117505 uc001etp.3 chr1 150122169 150131825 uc001ett.3 chr1 150190716 150208504 uc001etw.3 chr1 150230217 150237480 uc001etx.3 chr1 150237798 150241609 uc001ety.2 chr1 150245182 150253335 uc001eud.3 chr1 150255228 150259501 uc001euj.3 chr1 150266268 150280819 uc001euk.3 chr1 150293927 150325704 uc001eum.4 chr1 150336989 150449041 uc009wlr.3 chr1 150459839 150480085 uc001euq.4 chr1 150480486 150486265 uc001eus.3 chr1 150488232 150490508 uc031pos.1 chr1 150521897 150533412 uc001eux.3 chr1 150524404 150524490 uc021oye.1 chr1 150547026 150552214 uc001euz.3 chr1 150594598 150602098 uc001eve.3 chr1 150618700 150669672 uc001evj.2 chr1 150670534 150693364 uc001evk.2 chr1 150702671 150738433 uc001evn.3 chr1 150768683 150780917 uc001evp.2 chr1 150782180 150849244 uc001evr.2 chr1 150785066 150785174 uc021oyg.1 chr1 150898814 150937220 uc001evu.2 chr1 150937648 150947479 uc001evz.3 chr1 150954498 150968114 uc001ewa.2 chr1 150969300 150980854 uc010pcn.2 chr1 150980972 151008189 uc001ewh.1 chr1 150995221 150995328 uc021oyh.1 chr1 151009028 151020076 uc001ewl.2 chr1 151020258 151023871 uc001ewn.3 chr1 151023446 151032125 uc001ewp.3 chr1 151032150 151040973 uc001ewq.3 chr1 151043079 151091007 uc001ewr.2 chr1 151104162 151119140 uc001ewv.3 chr1 151129104 151132225 uc001ewx.2 chr1 151132223 151138370 uc001ewy.3 chr1 151138497 151142773 uc001ewz.3 chr1 151142462 151148547 uc001exc.4 chr1 151148775 151162689 uc001exe.2 chr1 151171020 151222007 uc001exj.3 chr1 151227196 151239954 uc001exl.3 chr1 151252499 151254405 uc001exo.3 chr1 151254790 151264381 uc001exq.3 chr1 151264272 151300191 uc001exu.3 chr1 151265261 151265284 uc031pov.1 chr1 151265461 151265487 uc031pow.1 chr1 151266582 151266606 uc031pox.1 chr1 151271387 151271414 uc031poy.1 chr1 151271499 151271523 uc031poz.1 chr1 151273139 151273440 uc021oyp.1 chr1 151274383 151274409 uc031ppa.1 chr1 151278732 151278766 uc031ppb.1 chr1 151313115 151319769 uc001exw.1 chr1 151336777 151345210 uc010pcy.3 chr1 151372040 151374412 uc001eyc.1 chr1 151375199 151431941 uc001eyd.2 chr1 151483861 151511167 uc009wmw.3 chr1 151512780 151556059 uc001eyl.3 chr1 151518271 151518367 uc021oyr.1 chr1 151584661 151671559 uc001eyn.1 chr1 151670318 151670850 uc001eyq.1 chr1 151672533 151689290 uc001eys.2 chr1 151694012 151702082 uc010pdj.1 chr1 151732122 151736040 uc001eyv.3 chr1 151739130 151743806 uc010pdm.2 chr1 151745954 151763010 uc001eza.4 chr1 151763317 151766878 uc001eze.3 chr1 151772764 151777882 uc001ezf.1 chr1 151778546 151804348 uc001ezh.3 chr1 151810338 151813033 uc010pdq.1 chr1 151810944 151816641 uc010pdr.2 chr1 151819576 151826173 uc021oyw.1 chr1 151843342 151882361 uc001ezj.2 chr1 151955385 151966714 uc001ezl.3 chr1 151967006 152015250 uc001ezm.1 chr1 152004981 152009511 uc001ezn.3 chr1 152056619 152061540 uc001ezo.1 chr1 152078792 152087930 uc001ezp.3 chr1 152126070 152131704 uc001ezs.1 chr1 152184551 152196672 uc001ezt.2 chr1 152274650 152297679 uc001ezu.1 chr1 152285934 152339168 uc001ezv.3 chr1 152321212 152332482 uc001ezw.4 chr1 152381718 152386750 uc001ezx.2 chr1 152483319 152484653 uc001ezy.3 chr1 152486977 152488481 uc001ezz.3 chr1 152538174 152539229 uc001faa.4 chr1 152551859 152552980 uc001fab.3 chr1 152573137 152573562 uc001fac.2 chr1 152586286 152586574 uc010pds.2 chr1 152595309 152595579 uc010pdt.2 chr1 152635886 152637135 uc001fag.4 chr1 152647790 152649049 uc001fah.4 chr1 152658598 152659876 uc001fai.3 chr1 152670839 152671918 uc001faj.3 chr1 152681522 152681910 uc001fak.2 chr1 152691997 152692905 uc010pdu.2 chr1 152730505 152734529 uc001fal.1 chr1 152748847 152749445 uc010pdv.2 chr1 152758752 152760901 uc001fan.3 chr1 152769226 152770657 uc009wnp.3 chr1 152777310 152779107 uc001fap.1 chr1 152784446 152785585 uc001faq.3 chr1 152799948 152800573 uc010pdw.2 chr1 152815329 152816459 uc001fas.4 chr1 152850797 152857523 uc001fat.3 chr1 152881038 152884362 uc001fau.3 chr1 152943127 152945069 uc001fav.1 chr1 152956563 152958290 uc001faw.3 chr1 152974222 152976332 uc001faz.4 chr1 153003678 153005376 uc001fba.3 chr1 153012200 153013594 uc001fbb.2 chr1 153028595 153029988 uc001fbd.3 chr1 153042717 153044084 uc001fbg.3 chr1 153065610 153067001 uc001fbh.3 chr1 153084612 153085989 uc001fbi.3 chr1 153112593 153113969 uc001fbj.3 chr1 153122057 153123427 uc009wod.2 chr1 153175905 153177601 uc001fbl.4 chr1 153190059 153191793 uc021ozw.1 chr1 153195064 153195185 uc021ozx.1 chr1 153232178 153234600 uc001fbm.3 chr1 153270337 153283194 uc001fbn.1 chr1 153302596 153321022 uc001fbo.3 chr1 153330329 153333503 uc001fbq.3 chr1 153346183 153348075 uc001fbr.1 chr1 153362507 153363664 uc001fbs.3 chr1 153388999 153395701 uc001fbt.1 chr1 153409470 153412503 uc010pdx.2 chr1 153430219 153433137 uc001fbv.1 chr1 153507075 153508717 uc001fbw.1 chr1 153509622 153514241 uc001fbx.3 chr1 153516094 153518282 uc001fbz.3 chr1 153518229 153524245 uc009wog.1 chr1 153519808 153521734 uc001fca.1 chr1 153533584 153538306 uc001fcb.3 chr1 153579366 153585514 uc001fcd.1 chr1 153586731 153588808 uc001fce.3 chr1 153591275 153600117 uc001fch.3 chr1 153600872 153604513 uc001fck.1 chr1 153606457 153618782 uc001fcn.2 chr1 153631129 153634328 uc001fcq.4 chr1 153634263 153643504 uc001fcr.4 chr1 153643725 153643797 uc021paa.1 chr1 153651163 153666468 uc001fcs.4 chr1 153700566 153746555 uc001fct.3 chr1 153747767 153752633 uc001fcz.3 chr1 153777202 153895451 uc001fdb.4 chr1 153901976 153919154 uc001fdd.1 chr1 153920147 153931132 uc021pab.1 chr1 153931574 153940660 uc031ppi.1 chr1 153940674 153946840 uc001fdr.3 chr1 153946744 153950451 uc001fds.3 chr1 153954092 153958853 uc001fdt.2 chr1 153963238 153964631 uc001fdv.3 chr1 153965167 154127592 uc001fdw.3 chr1 154134288 154164611 uc001fec.2 chr1 154166140 154166219 uc021pac.1 chr1 154171561 154178841 uc001fee.2 chr1 154179182 154193273 uc001fei.2 chr1 154193324 154243329 uc001fep.4 chr1 154232202 154232338 uc021pae.1 chr1 154245038 154248355 uc001fes.3 chr1 154293591 154297801 uc001feu.3 chr1 154300275 154323780 uc001fex.3 chr1 154377668 154441926 uc001fez.2 chr1 154451953 154474526 uc001ffb.3 chr1 154474694 154520623 uc009wow.3 chr1 154521050 154531120 uc001fff.1 chr1 154540256 154552353 uc001ffg.3 chr1 154554533 154580724 uc001ffh.3 chr1 154669941 154842754 uc021pah.1 chr1 154897207 154909484 uc001ffq.3 chr1 154916558 154928567 uc001ffr.3 chr1 154929501 154934258 uc001fft.3 chr1 154934773 154943223 uc001ffw.3 chr1 154947117 154951725 uc001fgb.3 chr1 154948168 154948259 uc021pai.1 chr1 154955769 154965587 uc001fgf.2 chr1 154966061 154966791 uc001fgi.3 chr1 154975105 154991001 uc010peq.3 chr1 154979449 154979509 uc021pal.1 chr1 154991002 155006257 uc001fgm.3 chr1 155006281 155023406 uc001fgn.2 chr1 155017667 155036467 uc021pan.2 chr1 155023747 155035252 uc001fgr.2 chr1 155051347 155060014 uc001fhf.3 chr1 155100348 155107386 uc001fhh.3 chr1 155108287 155111334 uc001fhj.4 chr1 155112366 155112883 uc001fhm.3 chr1 155141883 155145804 uc001fho.3 chr1 155146262 155157447 uc001fhs.2 chr1 155155666 155157427 uc021pao.2 chr1 155158299 155162706 uc031ppv.1 chr1 155161986 155162007 uc021par.1 chr1 155164967 155165063 uc021pas.1 chr1 155165378 155177772 uc001fix.3 chr1 155178489 155183624 uc001fjb.3 chr1 155183615 155188809 uc001fjd.3 chr1 155203712 155204236 uc021pav.1 chr1 155204238 155214653 uc001fjl.3 chr1 155216995 155225274 uc001fjm.3 chr1 155225769 155232176 uc001fjs.3 chr1 155232658 155243281 uc001fjw.3 chr1 155247217 155259639 uc001fjz.2 chr1 155259083 155271225 uc001fkb.4 chr1 155278538 155290457 uc001fkc.2 chr1 155290250 155293938 uc001fki.3 chr1 155290639 155300909 uc001fkj.2 chr1 155305051 155532324 uc001fkt.3 chr1 155402970 155404053 uc010pgd.2 chr1 155403092 155403473 uc010pgc.1 chr1 155531771 155533735 uc010pge.2 chr1 155531863 155533735 uc001fkv.3 chr1 155579960 155584758 uc001fky.4 chr1 155596545 155618335 uc001flf.3 chr1 155658881 155708800 uc001flr.3 chr1 155715558 155718322 uc010pgo.2 chr1 155716586 155720673 uc031pqb.1 chr1 155719509 155826972 uc001fly.1 chr1 155829259 155854990 uc001fmg.3 chr1 155867598 155880706 uc031pqc.1 chr1 155882835 155904188 uc001fmi.1 chr1 155889699 155889833 uc001fmk.1 chr1 155895748 155895877 uc001fmn.1 chr1 155911479 155912625 uc010pgs.2 chr1 155916629 155948336 uc001fmt.2 chr1 155978838 155990758 uc001fmx.3 chr1 156005091 156023516 uc001fna.3 chr1 156024516 156028605 uc001fnb.3 chr1 156030965 156040295 uc001fnc.3 chr1 156041803 156051789 uc001fnd.4 chr1 156084460 156109880 uc001fni.3 chr1 156104903 156107058 uc009wrp.3 chr1 156123321 156147542 uc009wrq.3 chr1 156163729 156182587 uc001fnp.3 chr1 156182778 156213123 uc021pbb.1 chr1 156211950 156213123 uc001fnt.3 chr1 156213111 156217908 uc010phh.2 chr1 156219014 156252620 uc001foc.4 chr1 156254069 156262234 uc009wrw.3 chr1 156262477 156265480 uc001foh.4 chr1 156268414 156269428 uc001fok.3 chr1 156278751 156308206 uc001fol.2 chr1 156307104 156316785 uc001foo.3 chr1 156338979 156355013 uc010pho.3 chr1 156374048 156377645 uc001fot.1 chr1 156374054 156399340 uc001fou.1 chr1 156390132 156390221 uc001foz.1 chr1 156433512 156460391 uc001fpb.4 chr1 156453889 156454002 uc021pbe.1 chr1 156495196 156542396 uc001fpf.3 chr1 156549518 156556562 uc021pbf.1 chr1 156561557 156564091 uc001fph.3 chr1 156564099 156571279 uc001fpl.3 chr1 156589085 156595517 uc001fpn.1 chr1 156589085 156594259 uc031pqq.1 chr1 156611456 156613427 uc021pbg.1 chr1 156611739 156629324 uc001fpp.3 chr1 156638555 156647189 uc001fpq.3 chr1 156669399 156675459 uc001fpr.3 chr1 156692412 156697705 uc001fps.1 chr1 156698262 156706752 uc001fpu.3 chr1 156707093 156710923 uc001fpx.1 chr1 156711898 156721543 uc001fpy.4 chr1 156737273 156770609 uc001fqa.3 chr1 156776034 156786640 uc009wsh.2 chr1 156810664 156828712 uc010pht.2 chr1 156830670 156851642 uc001fqh.1 chr1 156863522 156886226 uc001fqj.1 chr1 156890423 156902880 uc001fqm.2 chr1 156904631 157015162 uc001fqn.3 chr1 156905922 156906036 uc021pbj.1 chr1 157061834 157069600 uc001fqq.2 chr1 157094458 157108383 uc001fqr.2 chr1 157098153 157098463 uc001fqs.3 chr1 157483166 157522310 uc009wsm.3 chr1 157543538 157567870 uc001fqw.3 chr1 157647977 157670647 uc001frb.3 chr1 157715522 157746922 uc001fre.2 chr1 157764193 157789940 uc001frg.3 chr1 157800703 157811634 uc001frk.4 chr1 157895763 157918861 uc001frl.1 chr1 157963062 158065844 uc001frn.4 chr1 158066315 158069836 uc001frp.2 chr1 158101833 158110430 uc001frq.3 chr1 158149736 158156216 uc001frr.3 chr1 158169170 158173667 uc001frs.1 chr1 158223926 158228058 uc001frt.3 chr1 158259562 158264564 uc001fru.3 chr1 158297739 158301321 uc001frx.3 chr1 158323485 158327343 uc001fse.3 chr1 158368311 158369256 uc010pih.2 chr1 158389717 158390656 uc010pii.2 chr1 158435351 158436293 uc010pij.2 chr1 158444244 158464676 uc001fso.1 chr1 158449667 158450675 uc010pik.2 chr1 158516917 158517895 uc010pil.2 chr1 158532440 158533394 uc010pim.2 chr1 158548708 158549689 uc010pin.2 chr1 158576228 158577170 uc010pio.2 chr1 158580495 158656506 uc001fst.1 chr1 158669467 158670442 uc001fsu.1 chr1 158686957 158687905 uc021pbn.1 chr1 158724605 158725637 uc001fsw.1 chr1 158735533 158736472 uc010piq.2 chr1 158746471 158747425 uc010pir.2 chr1 158801167 158819270 uc001fsz.1 chr1 158901336 158946849 uc001ftb.3 chr1 158979681 159024945 uc010pis.2 chr1 159032274 159046647 uc001ftj.1 chr1 159111400 159111474 uc021pbo.1 chr1 159141376 159172932 uc001ftk.2 chr1 159165774 159172212 uc001ftm.2 chr1 159175048 159176290 uc001ftp.4 chr1 159259505 159278014 uc001ftq.3 chr1 159283459 159284449 uc010piu.2 chr1 159315958 159438858 uc001fts.4 chr1 159409511 159410600 uc010piv.2 chr1 159504867 159505797 uc010piw.2 chr1 159557615 159558661 uc001ftv.3 chr1 159682078 159684379 uc001ftw.3 chr1 159750758 159752333 uc001ftz.1 chr1 159772172 159786047 uc001fud.4 chr1 159796478 159807282 uc001fue.4 chr1 159824105 159832447 uc001fuh.3 chr1 159842153 159869906 uc001fui.3 chr1 159887896 159894341 uc031pqu.1 chr1 159896828 159915386 uc001fur.2 chr1 159921281 159924044 uc001fus.3 chr1 159931013 159948876 uc001fuu.3 chr1 159997461 160001783 uc001fuv.1 chr1 160007256 160040051 uc001fuw.2 chr1 160051359 160059212 uc001fuy.1 chr1 160061128 160068618 uc009wtf.3 chr1 160085519 160113374 uc001fvc.3 chr1 160121351 160156767 uc001fve.4 chr1 160160284 160171676 uc010pja.2 chr1 160171988 160178659 uc001fvj.1 chr1 160175124 160185162 uc001fvk.3 chr1 160185504 160232350 uc010pjb.1 chr1 160258376 160313354 uc001fvv.4 chr1 160287054 160288260 uc001fvw.3 chr1 160295893 160296006 uc021pbr.1 chr1 160313062 160328742 uc001fvx.3 chr1 160336860 160342638 uc001fwa.2 chr1 160370363 160398468 uc001fwc.2 chr1 160454819 160493052 uc001fwe.2 chr1 160510883 160549306 uc001fwh.4 chr1 160579890 160617081 uc001fwl.4 chr1 160650211 160681641 uc001fwo.2 chr1 160709076 160724601 uc001fwq.3 chr1 160765863 160798045 uc001fwu.4 chr1 160799949 160832692 uc009wtq.3 chr1 160846329 160854960 uc001fxc.3 chr1 160914815 160924589 uc001fxd.3 chr1 160965000 160991133 uc009wtt.3 chr1 161009040 161014727 uc031pqv.1 chr1 161016731 161039760 uc001fxl.3 chr1 161040780 161059385 uc001fxo.2 chr1 161068180 161070138 uc001fxr.3 chr1 161070345 161087866 uc001fxu.3 chr1 161087861 161090984 uc001fxv.2 chr1 161090768 161102256 uc001fxz.3 chr1 161123533 161128646 uc001fyd.4 chr1 161129253 161135516 uc010pkd.2 chr1 161136180 161141010 uc001fyg.2 chr1 161141099 161147758 uc001fys.2 chr1 161159537 161168845 uc001fyt.4 chr1 161171936 161184184 uc001fyw.3 chr1 161185086 161189038 uc001fyz.1 chr1 161192082 161193418 uc001fzc.1 chr1 161195832 161200407 uc001fzd.3 chr1 161196975 161197051 uc031pqw.1 chr1 161199455 161208000 uc001fzp.3 chr1 161228516 161255240 uc001gad.3 chr1 161274524 161279762 uc001gaf.4 chr1 161284165 161334535 uc001gag.3 chr1 161334520 161337673 uc001gal.4 chr1 161369489 161369562 uc021pbx.1 chr1 161390660 161390733 uc021pby.1 chr1 161391882 161391954 uc021pbz.1 chr1 161397866 161397940 uc021pca.1 chr1 161409960 161410032 uc021pcb.1 chr1 161410614 161410686 uc021pcc.1 chr1 161411322 161411405 uc021pcd.1 chr1 161413093 161413164 uc021pce.1 chr1 161417017 161417089 uc021pcf.1 chr1 161417374 161417446 uc021pcg.1 chr1 161418032 161418104 uc021pch.1 chr1 161418740 161418823 uc021pci.1 chr1 161420466 161420537 uc021pcj.1 chr1 161424397 161424469 uc021pck.1 chr1 161424755 161424827 uc021pcl.1 chr1 161425413 161425485 uc021pcm.1 chr1 161426121 161426204 uc021pcn.1 chr1 161427897 161427968 uc021pco.1 chr1 161431808 161431880 uc021pcp.1 chr1 161432165 161432237 uc021pcq.1 chr1 161432823 161432895 uc021pcr.1 chr1 161433531 161433614 uc021pcs.1 chr1 161435257 161435328 uc021pct.1 chr1 161439188 161439260 uc021pcu.1 chr1 161439546 161439618 uc021pcv.1 chr1 161440204 161440276 uc021pcw.1 chr1 161440912 161440995 uc021pcx.1 chr1 161450355 161450426 uc021pcy.1 chr1 161475204 161489360 uc001gan.3 chr1 161492934 161493006 uc021pdb.1 chr1 161493636 161493707 uc021pdc.1 chr1 161494035 161496687 uc001gaq.3 chr1 161500131 161500214 uc021pdd.1 chr1 161500902 161500974 uc021pde.1 chr1 161501914 161501986 uc021pdf.1 chr1 161510030 161510104 uc021pdg.1 chr1 161511550 161519818 uc001gar.3 chr1 161551128 161571010 uc021pdi.2 chr1 161574587 161574659 uc021pdk.1 chr1 161575848 161578341 uc010pkp.1 chr1 161581735 161581819 uc021pdl.1 chr1 161582507 161582579 uc021pdm.1 chr1 161591464 161591538 uc021pdn.1 chr1 161592987 161601252 uc009wul.3 chr1 161632904 161648444 uc001gaz.2 chr1 161653494 161655042 uc001gbc.3 chr1 161676761 161684142 uc001gbe.3 chr1 161692442 161697933 uc001gbi.3 chr1 161719580 161726952 uc001gbo.3 chr1 161736033 161933860 uc001gbs.3 chr1 161952981 161993644 uc001gbu.3 chr1 162039580 162339813 uc001gbv.2 chr1 162126896 162126972 uc021pdp.1 chr1 162308432 162308532 uc021pdq.1 chr1 162312335 162312430 uc021pdr.1 chr1 162343514 162346644 uc001gbx.2 chr1 162348695 162356608 uc010pkt.1 chr1 162365055 162381928 uc001gbz.1 chr1 162467594 162499419 uc001gcc.2 chr1 162531295 162569633 uc001gce.4 chr1 162602227 162750247 uc001gcg.3 chr1 162747518 162747805 uc021pds.1 chr1 162751900 162756362 uc001gch.1 chr1 162760495 162782608 uc001gci.3 chr1 162824086 162838605 uc001gck.2 chr1 163038395 163046592 uc001gcl.4 chr1 163112088 163172963 uc021pdt.1 chr1 163291722 163325553 uc001gcr.1 chr1 163438285 163438395 uc021pdv.1 chr1 163479273 163479385 uc021pdw.1 chr1 164528596 164821060 uc001gct.3 chr1 164595272 164651720 uc001gcu.1 chr1 164738352 164743878 uc021pdx.1 chr1 165171103 165325478 uc001gcz.2 chr1 165370158 165414592 uc001gda.3 chr1 165446078 165551341 uc001gdc.2 chr1 165513477 165533185 uc001gde.2 chr1 165566149 165566222 uc021peb.1 chr1 165600109 165625372 uc001gdf.3 chr1 165631448 165667900 uc001gdh.1 chr1 165667986 165679199 uc001gdi.3 chr1 165693527 165738159 uc001gdj.5 chr1 165738165 165744685 uc001gdo.3 chr1 165796731 165880855 uc001gdp.3 chr1 166011480 166011587 uc021ped.1 chr1 166026689 166135958 uc021pee.1 chr1 166039068 166135958 uc021pef.1 chr1 166123979 166124035 uc021peg.1 chr1 166573152 166594473 uc010pld.2 chr1 166808723 166823709 uc001gdt.1 chr1 166825748 166845654 uc001gdw.3 chr1 166882440 166944561 uc001gdx.2 chr1 166958518 166991447 uc001gdy.1 chr1 167022081 167059868 uc001gea.1 chr1 167064070 167098402 uc001geb.1 chr1 167144598 167165042 uc021pei.1 chr1 167190065 167396582 uc001gee.3 chr1 167399876 167487847 uc001gei.4 chr1 167510250 167523056 uc001gel.3 chr1 167599473 167675486 uc001gem.3 chr1 167683961 167684033 uc021pej.1 chr1 167684724 167684796 uc021pek.1 chr1 167691186 167761156 uc001geo.3 chr1 167778624 167883453 uc001ger.3 chr1 167885912 167906307 uc001get.3 chr1 167905796 168045083 uc001gex.3 chr1 168048779 168106811 uc009wvo.4 chr1 168148170 168171351 uc001gfg.3 chr1 168195254 168212088 uc001gfi.4 chr1 168214818 168216668 uc010plo.2 chr1 168218461 168220378 uc001gfk.2 chr1 168250277 168283664 uc001gfl.3 chr1 168344761 168344859 uc021pel.1 chr1 168369426 168391894 uc021pem.1 chr1 168510002 168513235 uc001gfn.4 chr1 168545710 168551315 uc001gfo.2 chr1 168664694 168698442 uc001gfp.3 chr1 168756178 168762126 uc001gfq.3 chr1 169075946 169101960 uc001gfr.1 chr1 169101768 169337186 uc001gfu.3 chr1 169337193 169365780 uc001gfy.3 chr1 169364113 169396670 uc001gfz.1 chr1 169433148 169455208 uc001gge.4 chr1 169481191 169555769 uc001ggg.1 chr1 169558087 169599377 uc001ggi.4 chr1 169659805 169680843 uc001ggk.3 chr1 169691780 169703220 uc001ggm.4 chr1 169761669 169764061 uc001ggn.4 chr1 169764549 169822229 uc001ggq.3 chr1 169822214 169863100 uc001ggs.3 chr1 169828896 169829193 uc021peo.1 chr1 169890469 170043879 uc001ggv.3 chr1 170115187 170136923 uc009wvv.1 chr1 170120518 170120603 uc021per.1 chr1 170120518 170120603 uc021peq.1 chr1 170240545 170253349 uc001ggx.3 chr1 170429593 170489887 uc001ggy.1 chr1 170501262 170522974 uc001gha.2 chr1 170633312 170708541 uc001ghf.3 chr1 170904611 171033906 uc010plz.2 chr1 171060017 171086959 uc001ghh.3 chr1 171070868 171070947 uc021pes.1 chr1 171070879 171070939 uc031prg.1 chr1 171106878 171130702 uc001ghj.1 chr1 171154387 171181822 uc001ghk.1 chr1 171217662 171255113 uc001ghl.3 chr1 171223044 171223161 uc021pet.1 chr1 171283485 171311223 uc001gho.3 chr1 171308034 171310463 uc010pmf.2 chr1 171454665 171562650 uc010pmg.2 chr1 171604556 171621773 uc001ghu.3 chr1 171669295 171711379 uc001ghx.2 chr1 171750760 171766856 uc001ghz.3 chr1 171810617 172381857 uc001gie.4 chr1 171964791 171964994 uc021peu.1 chr1 172106018 172113975 uc021pev.2 chr1 172107947 172108028 uc021pew.1 chr1 172157538 172157607 uc021pex.1 chr1 172389827 172437969 uc001gik.3 chr1 172410596 172413230 uc001gio.3 chr1 172502259 172580973 uc001giq.4 chr1 172628184 172636012 uc001gis.3 chr1 173010359 173020103 uc001giu.2 chr1 173152869 173176471 uc001giw.3 chr1 173204198 173446294 uc001gix.1 chr1 173387087 173430501 uc010pmp.1 chr1 173446485 173457946 uc001giy.1 chr1 173469603 173572233 uc001giz.2 chr1 173577474 173639001 uc001gja.1 chr1 173604660 173606272 uc021pez.1 chr1 173684079 173755840 uc001gjc.3 chr1 173768687 173793270 uc001gje.4 chr1 173793796 173827682 uc001gjh.2 chr1 173832385 173833079 uc021pfa.1 chr1 173833038 173837125 uc001gjk.3 chr1 173833312 173833355 uc009wwi.1 chr1 173834487 173834568 uc009wwk.1 chr1 173834770 173834824 uc009wwl.3 chr1 173835105 173835166 uc001gjn.1 chr1 173835448 173835509 uc009wwm.1 chr1 173836016 173836076 uc009wwo.1 chr1 173836811 173836883 uc001gjo.1 chr1 173837492 173855774 uc009wwp.1 chr1 173867684 173867712 uc021pfb.1 chr1 173872941 173886516 uc001gjt.3 chr1 173900351 173962210 uc001gju.4 chr1 174128551 174927327 uc001gjx.3 chr1 174417211 174418683 uc001gka.1 chr1 174417553 174418334 uc010pmu.1 chr1 174968891 174981163 uc001gkj.1 chr1 174982093 174992591 uc001gkk.3 chr1 175036993 175117202 uc001gkl.1 chr1 175126122 175161949 uc001gkn.3 chr1 175291934 175712752 uc009wwu.1 chr1 175526123 175533005 uc001gkr.1 chr1 175913966 176176370 uc001gku.1 chr1 175937532 175937676 uc001gkx.1 chr1 176432306 176811970 uc001gkz.3 chr1 176830202 177134024 uc001glc.3 chr1 176998498 176998581 uc021pfc.1 chr1 177140632 177251558 uc001glf.3 chr1 177897488 177939050 uc001gli.1 chr1 178060642 178062735 uc001gln.1 chr1 178062863 178448648 uc001glq.3 chr1 178482211 178491789 uc001glt.2 chr1 178511930 178518024 uc001glx.1 chr1 178530047 178530164 uc021pff.1 chr1 178646883 178646969 uc021pfg.1 chr1 178678037 178678110 uc021pfh.1 chr1 178694299 178889237 uc001glz.3 chr1 178818669 178840215 uc001gma.3 chr1 178995073 179045702 uc001gmc.3 chr1 179051111 179065129 uc001gmd.3 chr1 179068461 179112224 uc001gmi.4 chr1 179170962 179170982 uc021pfi.1 chr1 179262848 179327814 uc001gml.3 chr1 179334854 179523870 uc001gmo.3 chr1 179519673 179545084 uc001gmq.4 chr1 179556206 179556240 uc021pfk.1 chr1 179556492 179556554 uc001gmt.3 chr1 179556689 179556738 uc010pnm.1 chr1 179556805 179556836 uc001gmu.3 chr1 179556860 179556891 uc001gmv.3 chr1 179557007 179557111 uc001gmw.3 chr1 179557405 179557438 uc001gmx.3 chr1 179557454 179557483 uc021pfl.1 chr1 179557496 179557540 uc001gmz.1 chr1 179557562 179557602 uc001gna.3 chr1 179557656 179557734 uc001gnb.3 chr1 179557814 179557850 uc001gnc.1 chr1 179558162 179558192 uc010pnn.1 chr1 179558664 179558701 uc001gnd.3 chr1 179558711 179558760 uc001gne.3 chr1 179558972 179559006 uc010pno.2 chr1 179560756 179660407 uc010pnp.2 chr1 179712297 179785333 uc001gnj.3 chr1 179809101 179846941 uc001gnk.3 chr1 179828164 179846941 uc001gnn.3 chr1 179851176 179889212 uc001gnp.2 chr1 179923907 180084015 uc001gnt.3 chr1 180123967 180167169 uc001gnz.3 chr1 180167143 180169859 uc001god.4 chr1 180184275 180184348 uc021pfo.1 chr1 180199432 180244188 uc001goe.2 chr1 180238797 180243816 uc001gof.2 chr1 180257351 180472022 uc001gog.3 chr1 180318292 180318386 uc021pfp.1 chr1 180407448 180407525 uc021pfq.1 chr1 180528109 180535654 uc001goh.1 chr1 180601145 180859415 uc001goi.3 chr1 180882312 180915239 uc001gok.2 chr1 180942175 180992046 uc021pfr.1 chr1 181002560 181031074 uc001goq.2 chr1 181057637 181059979 uc001got.4 chr1 181143619 181151342 uc009wxq.3 chr1 181205523 181207740 uc031pri.1 chr1 181382578 181382716 uc001gov.3 chr1 181452685 181775921 uc009wxt.3 chr1 181456006 181456111 uc021pfs.1 chr1 181740701 181740780 uc021pft.1 chr1 182023704 182030847 uc001goz.3 chr1 182350838 182360539 uc001gpa.2 chr1 182367251 182369751 uc001gpe.3 chr1 182376755 182383948 uc009wxv.1 chr1 182419255 182529732 uc009wxw.3 chr1 182542768 182558394 uc009wxz.2 chr1 182567757 182573548 uc001gpl.4 chr1 182584274 182585764 uc021pfy.1 chr1 182615791 182642067 uc001gpm.1 chr1 182758583 182799519 uc009wyb.3 chr1 182808438 182857117 uc001gpr.3 chr1 182868999 182922553 uc001gpu.3 chr1 182992594 183114727 uc001gpy.4 chr1 183155173 183214262 uc001gqa.2 chr1 183217371 183387634 uc001gqc.2 chr1 183430010 183441117 uc001gqe.3 chr1 183441505 183523328 uc001gqf.3 chr1 183524696 183560056 uc001gqk.4 chr1 183595327 183605076 uc021pgb.2 chr1 183605207 183897666 uc001gqm.3 chr1 183615410 183622448 uc001gqn.3 chr1 183904965 184006863 uc001gqr.3 chr1 184020810 184043344 uc001gqt.4 chr1 184356149 184598155 uc001gqv.1 chr1 184659624 184724041 uc010pok.2 chr1 184727265 184730133 uc001gqz.1 chr1 184760158 184943718 uc001gra.4 chr1 185014550 185071740 uc001grc.1 chr1 185087217 185126116 uc001grf.4 chr1 185126191 185260913 uc001grg.4 chr1 185220508 185220534 uc021pgd.1 chr1 185265521 185286461 uc001grl.3 chr1 185292978 185304171 uc001grn.4 chr1 185405427 185405453 uc021pge.1 chr1 185527511 185597620 uc001gro.3 chr1 185576315 185591914 uc001grp.1 chr1 185703682 186160085 uc001grq.1 chr1 186029866 186446655 uc021pgf.1 chr1 186265404 186283688 uc001gru.4 chr1 186280785 186344457 uc001grv.3 chr1 186348898 186390503 uc021pgj.1 chr1 186369703 186370587 uc001gry.3 chr1 186412697 186430240 uc001gsa.4 chr1 186640943 186649559 uc001gsb.3 chr1 186798031 186958113 uc001gsc.3 chr1 187610357 187612988 uc001gsd.3 chr1 190066796 190446759 uc001gse.1 chr1 190447389 190450524 uc001gsf.3 chr1 190594019 190770788 uc021pgm.2 chr1 192127591 192154945 uc001gsg.3 chr1 192286121 192336414 uc001gsh.3 chr1 192544856 192549159 uc001gsi.1 chr1 192605267 192629440 uc001gsk.3 chr1 192778168 192781407 uc001gsl.3 chr1 192844815 192845115 uc021pgn.1 chr1 192981495 193028523 uc001gsm.3 chr1 193026410 193026545 uc021pgo.1 chr1 193027466 193029189 uc001gsr.1 chr1 193028551 193055115 uc001gss.3 chr1 193065594 193074608 uc001gsz.2 chr1 193091087 193223942 uc001gtb.3 chr1 193105632 193105713 uc021pgq.1 chr1 193147859 193155743 uc001gtc.4 chr1 196194912 196577499 uc001gtd.1 chr1 196551542 196551611 uc021pgs.1 chr1 196621007 196716634 uc001gtj.4 chr1 196743929 196763203 uc001gtl.3 chr1 196912933 196928356 uc001gtq.1 chr1 196946666 196978803 uc001gts.4 chr1 197008320 197036397 uc001gtt.1 chr1 197053256 197115824 uc001gtu.3 chr1 197122813 197169672 uc001gtx.1 chr1 197237333 197447585 uc001gtz.3 chr1 197473878 197744623 uc021pgu.1 chr1 197871681 197876497 uc001guh.3 chr1 197886516 197899273 uc001guk.1 chr1 198126107 198291548 uc001gun.4 chr1 198492351 198510075 uc001gup.3 chr1 198608097 198726605 uc001gur.2 chr1 198777131 198906558 uc021pgz.1 chr1 198828001 198828111 uc001gux.1 chr1 198828172 198828282 uc001guy.3 chr1 198975168 198990166 uc001gva.4 chr1 199996729 200146550 uc001gvb.4 chr1 200023188 200023293 uc021pha.1 chr1 200311671 200342920 uc001gvd.1 chr1 200375419 200379166 uc001gve.3 chr1 200380927 200444641 uc010ppi.1 chr1 200520624 200589862 uc010ppk.1 chr1 200613164 200639126 uc009wzk.3 chr1 200708685 200829831 uc001gvk.3 chr1 200842082 200843306 uc001gvn.2 chr1 200860626 200884864 uc001gvo.4 chr1 200898071 200935796 uc001gvp.1 chr1 200938513 200992828 uc001gvs.2 chr1 200993076 200997920 uc001gvu.3 chr1 201008639 201081694 uc001gvv.3 chr1 201083080 201084500 uc031prl.1 chr1 201103899 201123632 uc001gvy.3 chr1 201159952 201198080 uc001gwc.3 chr1 201252579 201302121 uc001gwd.3 chr1 201328135 201346828 uc001gwf.4 chr1 201349965 201368669 uc001gwm.3 chr1 201372894 201390874 uc021phd.1 chr1 201434606 201438299 uc031prm.1 chr1 201434606 201438299 uc001gwq.4 chr1 201452657 201475967 uc021phh.1 chr1 201489031 201489720 uc010ppt.3 chr1 201604354 201606516 uc001gwt.1 chr1 201617449 201796102 uc001gwu.3 chr1 201688635 201688755 uc031prn.1 chr1 201777738 201777830 uc021phj.1 chr1 201798287 201853422 uc001gwz.3 chr1 201857804 201861715 uc001gxa.3 chr1 201865583 201915716 uc021phl.1 chr1 201924618 201939789 uc001gxc.3 chr1 201951765 201975275 uc001gxd.3 chr1 201979689 201986315 uc001gxh.4 chr1 202092028 202098634 uc001gxj.3 chr1 202102531 202113871 uc001gxk.2 chr1 202116140 202130716 uc010ppx.2 chr1 202152694 202156267 uc009xaa.2 chr1 202156130 202158577 uc001gxs.3 chr1 202163117 202288889 uc001gxu.3 chr1 202300784 202311094 uc001gxx.4 chr1 202317829 202557697 uc001gya.2 chr1 202379235 202379335 uc021phn.1 chr1 202559724 202679551 uc010pqb.2 chr1 202696531 202777549 uc001gyf.3 chr1 202780073 202781041 uc031prp.1 chr1 202794328 202795421 uc021php.1 chr1 202827080 202830736 uc001gyj.3 chr1 202830881 202844369 uc001gyk.1 chr1 202847409 202858385 uc001gyl.3 chr1 202860229 202896371 uc001gyo.1 chr1 202909959 202927524 uc001gyq.5 chr1 202931000 202936404 uc001gyt.2 chr1 202955579 202976393 uc021phr.1 chr1 202976533 202993197 uc001gyu.1 chr1 203003611 203047864 uc009xaj.3 chr1 203052256 203055166 uc001gzd.4 chr1 203096835 203136533 uc001gzf.1 chr1 203097405 203136533 uc009xak.1 chr1 203136938 203144942 uc001gzh.1 chr1 203148058 203155922 uc001gzi.2 chr1 203185206 203198860 uc001gzn.2 chr1 203267885 203274453 uc009xao.2 chr1 203274663 203278729 uc001gzq.3 chr1 203309751 203320289 uc001gzr.3 chr1 203444882 203460479 uc001gzt.3 chr1 203463270 203478077 uc001gzu.1 chr1 203595914 203713209 uc001gzw.3 chr1 203696748 203696784 uc010pqk.1 chr1 203698708 203698833 uc001gzy.1 chr1 203699704 203700979 uc031prr.1 chr1 203734283 203745480 uc001haa.3 chr1 203764750 203823256 uc001hac.3 chr1 203766650 203769590 uc021phs.1 chr1 203830739 203840280 uc001hai.3 chr1 203968378 203968471 uc021pht.1 chr1 204001574 204010392 uc010pqo.1 chr1 204042245 204096871 uc001ham.3 chr1 204100189 204121307 uc001hao.4 chr1 204110535 204112137 uc001hap.3 chr1 204123943 204135465 uc001haq.2 chr1 204159468 204165619 uc001har.3 chr1 204167287 204183220 uc001has.1 chr1 204187978 204329057 uc001hau.4 chr1 204337557 204338847 uc010pqu.1 chr1 204372491 204380944 uc001hav.4 chr1 204379010 204380945 uc031prt.1 chr1 204391757 204459474 uc001haw.3 chr1 204475654 204475727 uc021phv.1 chr1 204476157 204476230 uc021phw.1 chr1 204485506 204527248 uc001hba.3 chr1 204586302 204654597 uc001hbf.1 chr1 204595902 204598840 uc031pru.1 chr1 204676447 204676558 uc021phz.1 chr1 204797781 204991950 uc001hbj.3 chr1 204981852 204991950 uc001hbo.2 chr1 204989426 204991950 uc001hbp.1 chr1 205012339 205047171 uc001hbr.3 chr1 205052256 205053588 uc001hbt.3 chr1 205055269 205091150 uc001hbu.2 chr1 205111630 205180727 uc001hbw.3 chr1 205197037 205242471 uc021pia.1 chr1 205271190 205290883 uc001hce.3 chr1 205305192 205326218 uc031prx.1 chr1 205342379 205356568 uc001hch.1 chr1 205350505 205391214 uc001hcj.2 chr1 205417429 205417526 uc010prh.1 chr1 205425185 205438152 uc001hco.2 chr1 205443270 205443343 uc021pib.1 chr1 205473683 205495965 uc010pri.2 chr1 205473683 205501921 uc001hcr.3 chr1 205523400 205525763 uc001hcu.2 chr1 205538111 205572046 uc001hcv.4 chr1 205564168 205564275 uc021pic.1 chr1 205626980 205649630 uc001hda.1 chr1 205681946 205719372 uc001hdb.3 chr1 205737113 205744610 uc001hde.4 chr1 205758220 205782161 uc001hdh.1 chr1 205765004 205765744 uc001hdi.1 chr1 205797149 205819276 uc001hdj.3 chr1 205831206 205865215 uc001hdk.1 chr1 205882176 205912588 uc001hdp.3 chr1 206138910 206155074 uc001hdr.4 chr1 206224282 206231482 uc001hds.2 chr1 206238881 206288236 uc001hdt.2 chr1 206317458 206332104 uc001hdu.3 chr1 206516199 206637783 uc001hdy.3 chr1 206643585 206670223 uc001hdz.2 chr1 206680878 206762616 uc001hed.3 chr1 206764973 206785904 uc001heh.2 chr1 206808880 206822542 uc001hej.3 chr1 206858364 206907630 uc001hem.2 chr1 206940947 206945839 uc001hen.1 chr1 206972214 207016326 uc001heo.3 chr1 207039153 207042568 uc001her.3 chr1 207070787 207077484 uc001heu.2 chr1 207076630 207095378 uc001hey.3 chr1 207101866 207119811 uc001hez.3 chr1 207131311 207143970 uc001hfa.4 chr1 207178153 207178230 uc021pih.1 chr1 207191865 207206101 uc001hfd.2 chr1 207217193 207224422 uc001hfe.1 chr1 207226619 207251162 uc001hfg.3 chr1 207262211 207273337 uc001hfj.3 chr1 207277510 207277617 uc001hfn.1 chr1 207277606 207318317 uc001hfo.3 chr1 207494816 207534311 uc001hfr.4 chr1 207627644 207663240 uc001hfv.3 chr1 207669472 207815110 uc001hfx.3 chr1 207818457 207897036 uc001hga.4 chr1 207925382 207968861 uc001hgj.3 chr1 207975196 207975868 uc021pik.2 chr1 207991723 207995941 uc010psi.2 chr1 208039465 208042417 uc001hgu.2 chr1 208059882 208084683 uc001hgw.1 chr1 208195587 208417665 uc001hgz.3 chr1 209602167 209605892 uc009xcn.3 chr1 209757044 209787284 uc001hhd.3 chr1 209788217 209825820 uc001hhh.3 chr1 209796788 209796855 uc021pil.1 chr1 209848669 209849735 uc001hhi.4 chr1 209878135 209908295 uc001hhk.3 chr1 209929393 209955668 uc001hho.3 chr1 209955661 209957890 uc001hhp.1 chr1 209958967 209979520 uc001hhq.2 chr1 210001311 210030910 uc001hhr.2 chr1 210111518 210337633 uc001hhs.5 chr1 210404803 210407466 uc001hhx.4 chr1 210406194 210416440 uc001hhy.3 chr1 210501595 210849638 uc009xcx.3 chr1 210851656 211307457 uc001hib.2 chr1 211432707 211489725 uc010psw.2 chr1 211500147 211548286 uc001hii.3 chr1 211556096 211605877 uc001hil.4 chr1 211649863 211666259 uc001hin.2 chr1 211748380 211752099 uc001hio.1 chr1 211836113 211848972 uc001hir.2 chr1 211916798 212004114 uc001hiv.3 chr1 212113740 212209002 uc001hiw.2 chr1 212208918 212278187 uc009xdc.3 chr1 212250954 212251027 uc021pis.1 chr1 212317864 212318301 uc010ptc.1 chr1 212458878 212535205 uc001hjb.3 chr1 212526159 212526292 uc009xdf.1 chr1 212537815 212588267 uc010pte.2 chr1 212606228 212619721 uc001hjd.3 chr1 212781969 212794119 uc021pit.1 chr1 212797625 212800113 uc010pth.1 chr1 212797788 212800120 uc001hjk.3 chr1 212859758 212873327 uc001hjl.2 chr1 212899494 212965139 uc001hjn.3 chr1 212965169 212990167 uc001hjo.2 chr1 213003484 213020991 uc001hjq.3 chr1 213029945 213031480 uc001hjs.5 chr1 213031596 213072705 uc001hjt.3 chr1 213123886 213164927 uc001hjw.3 chr1 213165523 213189168 uc001hjz.3 chr1 213224587 213446808 uc010ptr.2 chr1 213992977 214139607 uc031psa.1 chr1 214098091 214099996 uc031psb.1 chr1 214161277 214214847 uc001hkg.2 chr1 214454564 214510477 uc021pix.1 chr1 214522038 214725024 uc001hkk.2 chr1 214655881 214656819 uc010ptz.1 chr1 214776531 214837914 uc001hkm.3 chr1 215256559 215410436 uc001hkr.4 chr1 215740734 215795149 uc001hks.3 chr1 215796235 216596738 uc001hku.1 chr1 216676587 216896814 uc001hkw.2 chr1 216825011 216825068 uc021pjb.1 chr1 217603833 217804409 uc001hlf.1 chr1 217804694 218040484 uc001hlh.1 chr1 218066241 218094146 uc031psc.1 chr1 218458628 218511325 uc001hlj.3 chr1 218517537 218519020 uc031psd.1 chr1 218518675 218617961 uc001hln.3 chr1 219254316 219347130 uc001hlp.3 chr1 219347191 219386207 uc001hlq.4 chr1 220046618 220292777 uc021pjd.1 chr1 220087605 220101993 uc001hlw.3 chr1 220141941 220220000 uc001hly.1 chr1 220230823 220263191 uc001hma.3 chr1 220267454 220321383 uc001hmc.3 chr1 220291194 220291304 uc010pui.2 chr1 220291498 220291583 uc010puj.2 chr1 220291547 220291569 uc021pje.1 chr1 220321609 220445843 uc010puk.1 chr1 220373883 220374018 uc010pul.2 chr1 220439520 220441057 uc001hmj.2 chr1 220701567 220837799 uc001hmn.4 chr1 220863627 220872499 uc001hmp.1 chr1 220921675 220957596 uc001hmq.3 chr1 220960038 220987741 uc001hms.3 chr1 220999117 220999235 uc021pjg.1 chr1 221002596 221005770 uc001hmu.3 chr1 221052742 221058400 uc001hmv.4 chr1 221503269 221509638 uc001hmw.1 chr1 221874763 221915516 uc001hmy.2 chr1 222638346 222638419 uc021pjh.1 chr1 222646009 222646043 uc010puo.1 chr1 222646722 222646767 uc001hna.1 chr1 222646839 222646870 uc001hnb.3 chr1 222647751 222647786 uc010pup.1 chr1 222648391 222648423 uc021pji.1 chr1 222648536 222648596 uc001hnd.3 chr1 222648680 222648717 uc021pjj.1 chr1 222649002 222649064 uc010puq.2 chr1 222649161 222649251 uc021pjk.1 chr1 222650319 222650381 uc001hnf.3 chr1 222650411 222650443 uc001hng.2 chr1 222695601 222721444 uc001hnh.1 chr1 222731243 222763275 uc009xdz.2 chr1 222791443 222841351 uc001hnl.3 chr1 222841354 222885864 uc001hnn.3 chr1 222885905 222906106 uc001hnq.1 chr1 222900275 222946483 uc001hnr.1 chr1 222906202 222908533 uc001hns.1 chr1 222910557 222924002 uc001hnt.3 chr1 222988430 223179337 uc001hnu.2 chr1 223282747 223316624 uc001hnw.2 chr1 223394160 223537544 uc001hny.4 chr1 223566714 223568812 uc001hoa.2 chr1 223714971 223853436 uc009xee.2 chr1 223900118 223963720 uc001hob.4 chr1 223967594 224033674 uc010pvb.2 chr1 224051997 224052306 uc021pjm.1 chr1 224139721 224139941 uc001hof.1 chr1 224189608 224197818 uc001hog.1 chr1 224294983 224295243 uc021pjn.1 chr1 224301788 224349749 uc001hoh.3 chr1 224370909 224381142 uc001hoj.3 chr1 224415035 224517891 uc001hok.3 chr1 224444705 224444843 uc021pjo.1 chr1 224544512 224566223 uc001hom.2 chr1 224572844 224622001 uc001hop.4 chr1 224585928 224586013 uc021pjq.1 chr1 224586541 224586601 uc021pjr.1 chr1 224804178 224928249 uc001hos.1 chr1 225117355 225586996 uc001how.2 chr1 225589203 225615815 uc001hoy.3 chr1 225674533 225840845 uc001hpc.1 chr1 225888305 225939945 uc001hpe.1 chr1 225965514 225978168 uc001hpg.3 chr1 225997796 226033262 uc001hpk.3 chr1 226033232 226070420 uc001hpm.2 chr1 226073981 226076846 uc001hpo.3 chr1 226107576 226112040 uc001hpq.4 chr1 226124297 226129083 uc001hpt.2 chr1 226170402 226187066 uc001hpu.4 chr1 226250407 226259703 uc001hpw.3 chr1 226271655 226277994 uc001hpx.3 chr1 226332379 226374423 uc001hpy.3 chr1 226374532 226385086 uc031psl.1 chr1 226411382 226413513 uc010pvm.2 chr1 226418849 226497204 uc001hqa.3 chr1 226548391 226595801 uc001hqd.4 chr1 226723318 226730469 uc001hqe.2 chr1 226736500 226796915 uc021pjw.1 chr1 226819390 226926876 uc010pvo.2 chr1 227058272 227083804 uc009xeo.1 chr1 227127937 227175246 uc001hqn.1 chr1 227177565 227505826 uc001hqr.3 chr1 227581291 227618723 uc001hqv.3 chr1 227751219 227850164 uc021pjy.1 chr1 227884732 227885408 uc021pjz.1 chr1 227918889 227923112 uc001hrb.3 chr1 227922696 227968932 uc001hrf.2 chr1 228003417 228034171 uc001hrh.3 chr1 228109164 228135676 uc001hri.2 chr1 228129290 228129384 uc031psm.1 chr1 228155293 228155325 uc001hrj.3 chr1 228155355 228155417 uc001hrk.3 chr1 228156485 228156575 uc021pka.1 chr1 228156672 228156704 uc021pkb.1 chr1 228157022 228157062 uc010pvt.1 chr1 228157172 228157203 uc010pvu.2 chr1 228160064 228160098 uc001hrn.2 chr1 228160168 228160213 uc021pkc.1 chr1 228194722 228248972 uc001hrq.2 chr1 228270360 228286913 uc001hrr.3 chr1 228284963 228285042 uc021pkd.1 chr1 228288427 228291022 uc001hrx.3 chr1 228294379 228297013 uc001hrz.4 chr1 228327928 228336655 uc021pkf.1 chr1 228337414 228347527 uc001hsk.3 chr1 228353428 228369958 uc001hsl.4 chr1 228391206 228401365 uc031psn.1 chr1 228395830 228566575 uc001hsq.2 chr1 228581376 228594517 uc001hss.3 chr1 228595635 228604583 uc001hsv.3 chr1 228612545 228613026 uc001hsx.1 chr1 228645064 228645560 uc001hsy.3 chr1 228645807 228646259 uc001hsz.3 chr1 228649774 228649853 uc021pkh.1 chr1 228651845 228651891 uc021pki.1 chr1 228673888 228674821 uc001hta.3 chr1 228675067 228683889 uc001htb.3 chr1 228780393 228788159 uc001htd.2 chr1 228870823 228882416 uc001htf.3 chr1 229050379 229052954 uc001htg.2 chr1 229406808 229441640 uc001hth.4 chr1 229440128 229441250 uc001htk.4 chr1 229456751 229478688 uc001htl.4 chr1 229566992 229569843 uc001htm.3 chr1 229577043 229644088 uc001htn.3 chr1 229589676 229591617 uc001hto.1 chr1 229652328 229694442 uc001htp.4 chr1 229728865 229761794 uc001htq.3 chr1 229761980 229795946 uc001hts.1 chr1 230202955 230417875 uc010pwa.1 chr1 230457391 230561674 uc031psq.1 chr1 230778201 230829731 uc001htw.3 chr1 230838271 230850336 uc001hty.4 chr1 230883129 230937749 uc001htz.1 chr1 230972864 231004302 uc001hub.3 chr1 231010591 231014761 uc001hue.1 chr1 231041986 231114618 uc001huf.4 chr1 231114822 231136479 uc001huh.3 chr1 231154703 231175995 uc001hui.2 chr1 231298673 231357314 uc009xfn.1 chr1 231319844 231323373 uc031pss.1 chr1 231359508 231376924 uc001hul.3 chr1 231376918 231413719 uc001hup.4 chr1 231468481 231473578 uc001huq.3 chr1 231473681 231490769 uc001hur.4 chr1 231499496 231560790 uc001huv.2 chr1 231611509 231612271 uc021pkl.1 chr1 231664398 231702269 uc001huw.3 chr1 231727037 231747836 uc021pkm.2 chr1 231762560 232177019 uc010pxh.2 chr1 231950371 231954263 uc001hvd.3 chr1 232533711 232651243 uc001hvg.3 chr1 232940637 232946092 uc001hvh.2 chr1 233086369 233114219 uc001hvj.1 chr1 233119881 233431459 uc001hvl.2 chr1 233463513 233520894 uc001hvt.4 chr1 233584371 233584527 uc021pko.1 chr1 233749749 233808258 uc010pxo.1 chr1 233759897 233759965 uc021pkp.1 chr1 234040678 234460262 uc001hvy.1 chr1 234348351 234350834 uc001hvz.1 chr1 234442212 234442285 uc021pkq.1 chr1 234509428 234519795 uc001hwc.3 chr1 234527058 234614849 uc001hwd.3 chr1 234663636 234667525 uc001hwe.3 chr1 234740014 234745271 uc001hwg.3 chr1 234765056 234770526 uc021pkr.1 chr1 234782034 234796670 uc001hwh.3 chr1 234859788 234867390 uc001hwj.2 chr1 235093089 235099746 uc001hwk.4 chr1 235272657 235292256 uc001hwl.3 chr1 235291117 235291252 uc001hwm.1 chr1 235294497 235324772 uc001hwn.3 chr1 235330209 235491532 uc001hwq.3 chr1 235353348 235353431 uc021pkt.1 chr1 235491752 235507844 uc001hwv.3 chr1 235530727 235612280 uc001hxa.1 chr1 235610504 235667781 uc001hxc.3 chr1 235710984 235814054 uc001hxh.4 chr1 235712454 235714587 uc021pku.1 chr1 235824330 236030227 uc001hxj.3 chr1 236016299 236016360 uc021pkv.1 chr1 236139131 236228481 uc001hxo.3 chr1 236227659 236229779 uc001hxp.1 chr1 236305831 236372209 uc001hxq.3 chr1 236378421 236445339 uc001hxt.3 chr1 236557679 236648008 uc001hxu.1 chr1 236686368 236687808 uc001hxx.3 chr1 236686738 236716279 uc001hxy.2 chr1 236712304 236767841 uc001hyd.2 chr1 236849769 236927558 uc001hyf.2 chr1 236958580 237067281 uc001hyi.4 chr1 236973802 236992568 uc009xgj.1 chr1 237167402 237167718 uc001hyk.2 chr1 237205701 237997288 uc001hyl.1 chr1 237284106 237284409 uc021pkw.1 chr1 238025474 238091619 uc010pyc.2 chr1 238041163 238054222 uc001hym.3 chr1 238105861 238105933 uc021pla.1 chr1 238106955 238107030 uc021plb.1 chr1 238643683 238649317 uc001hyn.3 chr1 239792372 240072717 uc001hyp.3 chr1 240170823 240176560 uc021pld.1 chr1 240255184 240638489 uc010pyd.2 chr1 240317950 240318072 uc021ple.1 chr1 240652872 240775462 uc001hys.3 chr1 240938816 241520478 uc001hyv.2 chr1 241295571 241295646 uc021plg.1 chr1 241660856 241683085 uc001hyx.3 chr1 241695433 241758949 uc009xgp.3 chr1 241756451 241803701 uc001hza.3 chr1 241792166 241799232 uc001hzd.3 chr1 241815579 241965434 uc001hzg.2 chr1 242011492 242053241 uc001hzh.3 chr1 242158791 242162385 uc001hzk.2 chr1 242251688 242687998 uc001hzn.2 chr1 243218732 243218763 uc021plm.1 chr1 243219238 243219328 uc021pln.1 chr1 243219615 243265046 uc001hzq.2 chr1 243287729 243418708 uc021plo.1 chr1 243351942 243352032 uc021plr.1 chr1 243419306 243663393 uc001hzw.3 chr1 243509477 243509557 uc021plt.1 chr1 243663020 244006584 uc001iab.2 chr1 243729624 243729741 uc021plv.1 chr1 244080703 244210619 uc001iac.3 chr1 244212240 244220780 uc031psv.1 chr1 244515936 244552388 uc001iah.4 chr1 244571793 244615436 uc001iaj.3 chr1 244624672 244803662 uc001iam.3 chr1 244816351 244872334 uc001iao.3 chr1 244998638 245008359 uc001iar.3 chr1 245003939 245010243 uc001iav.3 chr1 245013601 245027827 uc001iaz.1 chr1 245133170 245251148 uc001ibc.2 chr1 245318286 245866428 uc001ibf.1 chr1 245533635 245533719 uc021plw.1 chr1 245912641 246670644 uc001ibl.3 chr1 246679340 246687589 uc021plx.1 chr1 246703862 246729565 uc001ibn.3 chr1 246729638 246831884 uc001ibp.3 chr1 246887377 246931440 uc001ibr.3 chr1 246939314 246955685 uc001ibs.1 chr1 246970416 246970487 uc021ply.1 chr1 247002401 247094726 uc001ibv.2 chr1 247148624 247171395 uc009xgu.3 chr1 247197939 247242115 uc001icd.2 chr1 247263263 247267674 uc001ice.2 chr1 247273461 247275719 uc001icg.1 chr1 247319202 247335318 uc001icj.1 chr1 247337903 247338870 uc001icl.1 chr1 247365268 247365362 uc021pma.1 chr1 247419373 247420447 uc010pyu.2 chr1 247463621 247495045 uc001ico.3 chr1 247579457 247612406 uc001icr.3 chr1 247614330 247615284 uc010pyx.2 chr1 247654369 247655711 uc001icz.2 chr1 247681594 247683942 uc001idc.3 chr1 247693433 247697141 uc009xgy.3 chr1 247712346 247739848 uc001idf.3 chr1 247751661 247752615 uc010pyy.2 chr1 247768887 247769817 uc010pyz.2 chr1 247835419 247836343 uc001idi.1 chr1 247875130 247876057 uc001idj.1 chr1 247920763 247921708 uc010pza.2 chr1 247978101 247979031 uc001idm.1 chr1 248004229 248005198 uc001idn.1 chr1 248020500 248043438 uc001ido.3 chr1 248058888 248059833 uc010pzb.2 chr1 248084319 248085258 uc010pzc.2 chr1 248100492 248264224 uc001ids.3 chr1 248112159 248113098 uc001idt.1 chr1 248128633 248129641 uc010pzd.2 chr1 248153568 248154493 uc001idv.1 chr1 248185249 248186188 uc031psy.1 chr1 248201473 248202607 uc001idw.3 chr1 248223983 248224922 uc001idx.1 chr1 248285437 248286082 uc001idy.1 chr1 248308449 248309388 uc010pze.2 chr1 248343287 248344331 uc010pzf.2 chr1 248366369 248367308 uc010pzg.2 chr1 248402230 248403166 uc010pzh.2 chr1 248436153 248437116 uc010pzi.2 chr1 248457917 248458880 uc010pzj.2 chr1 248486931 248487870 uc010pzk.2 chr1 248512076 248513015 uc010pzl.2 chr1 248524882 248525929 uc001ieh.1 chr1 248550909 248551836 uc001iei.1 chr1 248569295 248570405 uc010pzm.2 chr1 248616098 248617073 uc001iek.1 chr1 248636651 248637608 uc001iel.1 chr1 248651889 248652837 uc001iem.1 chr1 248684947 248685898 uc001ien.1 chr1 248721844 248722792 uc001ieo.2 chr1 248737101 248738058 uc001iep.1 chr1 248756130 248757069 uc010pzn.2 chr1 248789478 248790429 uc001ier.1 chr1 248801587 248802559 uc001ies.1 chr1 248813231 248814185 uc010pzo.2 chr1 248844669 248845605 uc001ieu.1 chr1 248881947 248885507 uc031psz.1 chr1 248902716 248903151 uc009xhb.3 chr1 249104650 249120154 uc001iew.1 chr1 249120575 249120642 uc021pmd.1 chr1 249132529 249143714 uc001iex.3 chr1 249144202 249153315 uc001ifc.2 chr1 249168053 249168159 uc021pmf.1 chr1 249168446 249168518 uc021pmg.1 chr1 249200441 249213345 uc001ifh.3 ================================================ FILE: intro-to-awk/data/enhancers.csv ================================================ chr1,1015066,1015266,HSE897,9.5706324138 chr1,1590473,1590673,HSE853,17.3206898329 chr1,2120861,2121064,HSE86,66.0424471614 chr1,6336418,6336624,HSE394,14.8892086906 chr1,7404594,7404794,HSE315,24.228051023 chr1,11941325,11941525,HSE322,17.5192630328 chr1,15055555,15055755,HSE962,11.7065788965 chr1,15478024,15478224,HSE354,17.5771586196 chr1,16065307,16065508,HSE264,23.9092446094 chr1,23244249,23244449,HSE434,17.1331422162 chr1,24621426,24621626,HSE638,11.9517576968 chr1,24710189,24710389,HSE537,14.6283754801 chr1,26216838,26217042,HSE237,39.9988740347 chr1,28931703,28931903,HSE150,37.3158468645 chr1,29139636,29139836,HSE696,9.3933913885 chr1,29301011,29301211,HSE837,15.2711109524 chr1,30644209,30644410,HSE452,13.1331424716 chr1,37323436,37323636,HSE144,24.6337166989 chr1,39114092,39114292,HSE642,13.5250552809 chr1,40887095,40887295,HSE715,14.4526764769 chr1,43259581,43259781,HSE285,23.3546182652 chr1,48180470,48180671,HSE581,14.0513005602 chr1,51911123,51911323,HSE728,10.9727627129 chr1,58868480,58868680,HSE744,10.9393507729 chr1,61907580,61907780,HSE219,24.9065022738 chr1,62649216,62649416,HSE160,31.6287882019 chr1,64297272,64297472,HSE542,16.032234097 chr1,71842002,71842202,HSE525,13.177872984 chr1,76529679,76529879,HSE217,28.2285409421 chr1,77034610,77034811,HSE117,36.8686336226 chr1,77861083,77861283,HSE95,33.1051379887 chr1,81139876,81140076,HSE648,14.2447596506 chr1,84078697,84078897,HSE229,19.6626071807 chr1,85040012,85040217,HSE554,18.2435809591 chr1,85294189,85294389,HSE649,12.4198070103 chr1,86952858,86953058,HSE227,20.0246313683 chr1,87198821,87199021,HSE396,14.181885534 chr1,87568855,87569055,HSE187,27.2483801299 chr1,87718281,87718481,HSE761,10.7346086388 chr1,90228438,90228639,HSE725,10.8919859879 chr1,90567852,90568052,HSE750,11.3840777324 chr1,101544928,101545128,HSE344,15.9279633229 chr1,105180209,105180409,HSE319,15.9878097581 chr1,112056258,112056458,HSE234,20.4981560995 chr1,113265359,113265559,HSE675,15.7764663556 chr1,120009313,120009513,HSE287,17.3492427166 chr1,120096931,120097131,HSE391,16.3648875858 chr1,145474303,145474503,HSE568,15.9686715881 chr1,146037814,146038014,HSE867,8.3915764216 chr1,149294554,149294754,HSE758,13.8367903871 chr1,149298520,149298734,HSE549,19.9633772792 chr1,161893534,161893734,HSE511,14.2318525715 chr1,165509248,165509448,HSE683,13.7673640003 chr1,167774457,167774657,HSE42,47.5183173 chr1,170555465,170555665,HSE348,25.4137901578 chr1,171264616,171264816,HSE405,18.0971419626 chr1,182113250,182113450,HSE687,17.1842942374 chr1,182635108,182635309,HSE247,28.4610896172 chr1,183573285,183573486,HSE44,36.1099998528 chr1,183681289,183681489,HSE77,46.3313570709 chr1,190550474,190550674,HSE461,24.1417645601 chr1,192030096,192030296,HSE839,8.898236823 chr1,192602518,192602718,HSE747,12.1928710846 chr1,193387547,193387747,HSE251,22.6738118926 chr1,201469917,201470118,HSE286,21.167260695 chr1,205411096,205411296,HSE399,15.4863010561 chr1,207682168,207682368,HSE389,14.4420873863 chr1,208751067,208751267,HSE250,28.3356979117 chr1,211556044,211556244,HSE913,10.1071053671 chr1,215227649,215227849,HSE643,12.2289936805 chr1,222946396,222946596,HSE136,28.3288830309 chr1,224716721,224716921,HSE669,11.1939548835 chr1,224767352,224767552,HSE659,12.7072133153 chr1,229007236,229007436,HSE259,25.6576825275 chr1,231831560,231831760,HSE103,34.1933527171 chr1,234707634,234707834,HSE458,16.2547381587 chr1,240192775,240192976,HSE192,23.6438756614 chr1,240751207,240751408,HSE41,39.1665180557 chr1,242513807,242514007,HSE29,41.8646049022 chr1,243428176,243428376,HSE909,8.9768456445 chr1,245362206,245362406,HSE514,20.8510241208 chr1,245748622,245748822,HSE400,15.8809014188 chr1,245751245,245751445,HSE614,11.9977672181 chr10,1796728,1796928,HSE887,8.8759918247 chr10,2188344,2188544,HSE210,17.5664225697 chr10,2435771,2435971,HSE331,14.4636659658 chr10,3441348,3441548,HSE787,8.9210657436 chr10,4012461,4012661,HSE959,9.8681000165 chr10,4659880,4660080,HSE109,39.294649348 chr10,5734710,5734910,HSE80,39.253086776 chr10,5918486,5918686,HSE902,13.4688692863 chr10,11575356,11575556,HSE741,13.0848348743 chr10,13005187,13005387,HSE721,10.6222160126 chr10,14195913,14196113,HSE544,13.1977478994 chr10,14227600,14227810,HSE569,12.7906533757 chr10,14364637,14364837,HSE882,8.5664694124 chr10,17825468,17825668,HSE300,17.0051022824 chr10,22748482,22748683,HSE737,14.6364554664 chr10,25811340,25811541,HSE58,31.2099871039 chr10,30602601,30602801,HSE23,49.0758646578 chr10,31080176,31080376,HSE918,9.2503197227 chr10,33270658,33270858,HSE949,11.4436365263 chr10,33294606,33294809,HSE995,12.672352369 chr10,38534930,38535130,HSE430,15.2638491526 chr10,44435726,44435926,HSE655,14.2956522267 chr10,44729078,44729278,HSE392,17.4461418303 chr10,46168148,46168348,HSE152,37.019176366 chr10,47640802,47641002,HSE244,20.7338411549 chr10,52710256,52710456,HSE489,16.0012334733 chr10,64400190,64400390,HSE143,23.5037143277 chr10,71081718,71081918,HSE723,10.7476600785 chr10,71470586,71470786,HSE37,54.1450393752 chr10,71536580,71536780,HSE664,12.2052671593 chr10,72471766,72471966,HSE783,17.3113965123 chr10,73599983,73600183,HSE403,21.5414372314 chr10,75126686,75126888,HSE71,29.3819259713 chr10,79473783,79473983,HSE43,45.6987326408 chr10,83728971,83729171,HSE212,18.9337565568 chr10,87807719,87807919,HSE859,8.6435515636 chr10,87872095,87872295,HSE481,12.756492704 chr10,88160082,88160282,HSE845,11.0856156511 chr10,88600426,88600626,HSE424,15.9686715881 chr10,90683407,90683607,HSE476,14.8937152174 chr10,90686708,90686908,HSE479,15.6187716761 chr10,93044375,93044575,HSE777,9.7964029914 chr10,94521429,94521629,HSE151,31.5694945963 chr10,97443603,97443803,HSE419,12.9499575441 chr10,97620593,97620793,HSE886,12.518441498 chr10,97667629,97667829,HSE201,34.3491300983 chr10,99223587,99223788,HSE446,23.975955174 chr10,104629190,104629462,HSE784,14.8155161441 chr10,105527665,105527865,HSE467,20.6230257395 chr10,106258325,106258525,HSE665,10.9578861725 chr10,107102583,107102783,HSE216,19.2077151804 chr10,108788448,108788648,HSE699,10.646721976 chr10,108792229,108792429,HSE432,17.1288876915 chr10,109186134,109186334,HSE960,11.8900697742 chr10,115258601,115258801,HSE108,28.6223256015 chr10,120523320,120523520,HSE531,21.3827794751 chr10,121452806,121453006,HSE989,8.0812359893 chr10,123179381,123179581,HSE732,9.5557622755 chr10,124108496,124108696,HSE927,8.9214956882 chr10,129573104,129573305,HSE54,44.0543064465 chr11,353431,353635,HSE551,15.321918756 chr11,3181559,3181759,HSE793,14.7046892301 chr11,6947739,6947942,HSE92,27.9827053442 chr11,13157034,13157234,HSE241,21.0632306147 chr11,15139410,15139611,HSE456,12.2189043207 chr11,15910292,15910492,HSE724,13.7294254547 chr11,16795802,16796002,HSE799,12.802186876 chr11,17550965,17551165,HSE639,14.1086468033 chr11,17943304,17943504,HSE891,11.4856542942 chr11,21656183,21656383,HSE700,14.9043957142 chr11,21662095,21662295,HSE440,17.2950629632 chr11,21673343,21673543,HSE894,8.2797517913 chr11,23447019,23447219,HSE6,75.8807514012 chr11,24085949,24086149,HSE492,15.300706048 chr11,24275024,24275224,HSE651,11.4443945585 chr11,25505910,25506110,HSE186,21.8909002434 chr11,31021450,31021650,HSE877,9.1198497163 chr11,31706283,31706483,HSE74,40.630635226 chr11,33868837,33869038,HSE857,11.3116139483 chr11,35595495,35595695,HSE183,19.9118859606 chr11,38009596,38009796,HSE907,9.9148121335 chr11,39564123,39564323,HSE936,9.1935010973 chr11,41468242,41468442,HSE36,44.9449175171 chr11,42922737,42922937,HSE200,32.2091247664 chr11,44407611,44407811,HSE657,10.3471228352 chr11,44747886,44748086,HSE475,15.1102404858 chr11,44986217,44986417,HSE619,10.668936584 chr11,45047769,45047969,HSE851,10.1383014015 chr11,45111276,45111476,HSE866,10.220733306 chr11,45369052,45369252,HSE627,12.2239177674 chr11,48016992,48017192,HSE767,10.1950143759 chr11,49411924,49412124,HSE512,18.574232402 chr11,63859735,63859935,HSE770,14.6837739902 chr11,63865941,63866141,HSE184,35.4114322006 chr11,65244823,65245023,HSE265,23.3441037512 chr11,67784892,67785092,HSE824,9.8386696158 chr11,73249610,73249812,HSE762,9.9839312996 chr11,73694258,73694459,HSE176,22.3483349613 chr11,76842280,76842482,HSE919,11.0703469831 chr11,78306590,78306790,HSE113,25.2078122498 chr11,79767266,79767466,HSE69,30.2148994861 chr11,81284367,81284567,HSE695,9.8185385502 chr11,92228348,92228548,HSE539,20.2344657972 chr11,100340586,100340786,HSE388,15.4919091437 chr11,104561099,104561299,HSE812,15.176333042 chr11,108070756,108070956,HSE809,9.4991448266 chr11,111156211,111156411,HSE714,10.0243534212 chr11,115147624,115147824,HSE134,28.6194026789 chr11,115846389,115846603,HSE722,16.8886385104 chr11,117592848,117593048,HSE705,13.7637540477 chr11,120106662,120106862,HSE937,10.9173422723 chr11,123178915,123179115,HSE672,11.3022531999 chr11,124816687,124816887,HSE601,14.6082914089 chr11,125805553,125805756,HSE945,20.5577441884 chr11,126357947,126358147,HSE493,15.3602555927 chr11,126976167,126976367,HSE968,9.1843932734 chr11,128052898,128053098,HSE911,12.5881181856 chr11,129137803,129138003,HSE311,18.8031509882 chr11,131335724,131335924,HSE517,23.7420612884 chr11,131510396,131510597,HSE406,27.563239098 chr11,131526809,131527010,HSE398,14.0540782683 chr11,132029024,132029225,HSE232,18.1785539558 chr11,132863261,132863461,HSE792,9.4066623256 chr12,1619367,1619567,HSE271,19.5724460831 chr12,2393824,2394024,HSE153,38.5409899219 chr12,4310999,4311199,HSE612,13.3477965884 chr12,4715838,4716038,HSE124,22.969040262 chr12,5977983,5978183,HSE981,8.9923072646 chr12,6649669,6649869,HSE666,18.8465977854 chr12,8983842,8984042,HSE206,21.6055505061 chr12,10253851,10254051,HSE850,13.368224383 chr12,12009176,12009379,HSE996,8.2025875972 chr12,14088837,14089037,HSE361,16.6852824277 chr12,15118302,15118502,HSE158,36.7485762947 chr12,15186700,15186902,HSE472,17.2685676671 chr12,15283754,15283954,HSE862,11.6244209976 chr12,16064197,16064397,HSE796,18.7455509923 chr12,23364365,23364565,HSE716,12.767223137 chr12,29608107,29608307,HSE84,29.4815974061 chr12,30672107,30672307,HSE459,16.6113321667 chr12,31079386,31079586,HSE928,15.5521683508 chr12,31233235,31233435,HSE817,14.0452336182 chr12,32029945,32030149,HSE3,134.4896822737 chr12,32418004,32418204,HSE443,14.9171957071 chr12,32715083,32715283,HSE566,11.7700863315 chr12,41442900,41443100,HSE448,15.8907964207 chr12,44547984,44548184,HSE595,19.5258881951 chr12,47299063,47299263,HSE710,17.9511083583 chr12,51318352,51318553,HSE278,38.5126987285 chr12,51714654,51714854,HSE105,36.1187300648 chr12,60334522,60334722,HSE296,18.4243312773 chr12,64388551,64388751,HSE411,16.4173206854 chr12,64960555,64960755,HSE893,11.4399085223 chr12,65100062,65100262,HSE677,12.0906755698 chr12,67180805,67181005,HSE302,18.0232362712 chr12,67820036,67820236,HSE693,28.0050105025 chr12,67824724,67824924,HSE562,19.9790499282 chr12,70590594,70590798,HSE938,10.4065399522 chr12,72665258,72665458,HSE870,9.4908568562 chr12,72843735,72843935,HSE352,14.6912721831 chr12,72903763,72903963,HSE622,12.4776159762 chr12,76258547,76258747,HSE366,15.4992304899 chr12,81139497,81139697,HSE263,19.1724365769 chr12,83358298,83358498,HSE956,10.9748220911 chr12,88826891,88827091,HSE470,14.4491790975 chr12,93693111,93693311,HSE337,17.5773205057 chr12,93793026,93793226,HSE231,36.7866454534 chr12,93964730,93964930,HSE701,14.9318726929 chr12,94680437,94680638,HSE800,10.1294106105 chr12,95448207,95448407,HSE85,41.328100082 chr12,98833530,98833731,HSE572,21.9773288843 chr12,102047388,102047588,HSE177,36.6536035992 chr12,105121890,105122090,HSE733,12.9059778339 chr12,106581316,106581516,HSE974,11.9119885347 chr12,108780634,108780834,HSE195,21.1967998006 chr12,110145174,110145374,HSE326,19.9633772792 chr12,110147281,110147481,HSE269,19.4570397688 chr12,116307853,116308063,HSE340,22.419418574 chr12,117846190,117846392,HSE393,15.5403001234 chr12,117850284,117850484,HSE557,16.5566891443 chr12,123543660,123543860,HSE861,10.4781563732 chr12,128314695,128314895,HSE528,13.3821736799 chr12,128455126,128455326,HSE906,9.3701763362 chr12,131041357,131041557,HSE827,8.9137558728 chr12,131261218,131261419,HSE39,40.7349907933 chr12,131596799,131596999,HSE61,38.7314139499 chr12,131622505,131622705,HSE735,9.6402688286 chr12,133175461,133175661,HSE560,17.0748830696 chr13,21347729,21347929,HSE450,18.700409108 chr13,24148647,24148847,HSE923,12.1565857536 chr13,29459319,29459519,HSE4,83.6939521234 chr13,29464970,29465170,HSE235,21.5042630726 chr13,33536518,33536718,HSE484,11.9616526488 chr13,36045055,36045255,HSE466,15.1339680818 chr13,37089667,37089867,HSE53,34.1508321281 chr13,38195831,38196031,HSE63,29.4908349793 chr13,47090817,47091017,HSE240,20.9194834678 chr13,47169753,47169953,HSE795,10.6129192636 chr13,48685195,48685395,HSE383,17.4161328951 chr13,52195812,52196012,HSE804,33.9458114683 chr13,52928037,52928237,HSE971,10.2210243551 chr13,58387875,58388075,HSE898,9.7709738074 chr13,63964002,63964202,HSE155,21.8968073472 chr13,63982654,63982855,HSE755,10.6894623919 chr13,66918963,66919163,HSE942,8.137382847 chr13,78382044,78382244,HSE709,13.2425052878 chr13,79968085,79968285,HSE207,19.0520301367 chr13,81969573,81969773,HSE464,17.1316537183 chr13,88325009,88325225,HSE169,22.404724465 chr13,94551722,94551922,HSE47,39.9300964523 chr13,96720972,96721172,HSE242,17.6289298545 chr13,99193496,99193696,HSE775,11.8286452332 chr13,102857806,102858006,HSE175,26.1349566103 chr13,103659347,103659547,HSE879,9.4672756235 chr13,106860061,106860261,HSE523,15.2219187287 chr13,107025740,107025940,HSE545,22.9167462321 chr13,107144094,107144294,HSE826,10.0932827937 chr13,111223922,111224122,HSE55,37.6150776113 chr14,21439340,21439545,HSE697,14.9749639521 chr14,24505425,24505632,HSE598,21.3172605404 chr14,25814644,25814844,HSE884,8.4198607932 chr14,26543395,26543598,HSE239,19.7243319678 chr14,31281660,31281860,HSE64,42.0539122341 chr14,33531812,33532012,HSE374,13.6641312978 chr14,59129293,59129493,HSE803,12.357054467 chr14,59386085,59386285,HSE932,9.6556661977 chr14,61083031,61083231,HSE780,12.1130184536 chr14,65539073,65539273,HSE324,18.8187496116 chr14,76804206,76804406,HSE129,28.6611225834 chr14,81636859,81637059,HSE65,73.8674420954 chr14,81790696,81790896,HSE209,42.4669581462 chr14,91091974,91092174,HSE480,17.813206233 chr14,91716580,91716780,HSE469,17.2797598596 chr14,93949158,93949358,HSE746,9.1621125053 chr14,95071723,95071923,HSE924,8.9302006066 chr14,102783279,102783479,HSE816,24.4849615987 chr14,105147964,105148164,HSE939,11.1238681848 chr15,27524028,27524228,HSE431,15.0234209239 chr15,28817788,28817988,HSE191,21.3327480149 chr15,29247425,29247625,HSE279,18.2157833949 chr15,30182592,30182792,HSE840,10.1016943223 chr15,31792516,31792716,HSE429,15.2456002355 chr15,33752266,33752466,HSE806,7.7973232785 chr15,33958947,33959147,HSE650,11.2642323912 chr15,39474262,39474462,HSE703,12.786143498 chr15,52554008,52554208,HSE832,10.0325076389 chr15,54967526,54967726,HSE230,24.1378839612 chr15,55510355,55510555,HSE339,18.1931930527 chr15,61269359,61269560,HSE1,89.2659435972 chr15,61979890,61980090,HSE922,8.1022018494 chr15,62752114,62752314,HSE611,14.5613676786 chr15,62917755,62917955,HSE305,28.6662298913 chr15,68723591,68723791,HSE462,23.2304619822 chr15,69830362,69830562,HSE757,10.8328824475 chr15,72203345,72203545,HSE147,31.2986371967 chr15,74076783,74076983,HSE771,12.0826546194 chr15,74596170,74596370,HSE993,12.6758156277 chr15,74641836,74642036,HSE221,25.8164928998 chr15,75523071,75523271,HSE874,9.5089830845 chr15,80478573,80478773,HSE211,20.487080964 chr15,80828906,80829107,HSE277,17.6534731911 chr15,81616460,81616661,HSE101,37.8792330626 chr15,81861640,81861840,HSE987,12.411938064 chr15,81868202,81868403,HSE587,14.0269438152 chr15,82201705,82201905,HSE376,27.8796005059 chr15,86374626,86374826,HSE588,14.9950787059 chr15,88418444,88418645,HSE580,12.4183759864 chr15,88670015,88670215,HSE521,11.1843930949 chr15,92692436,92692637,HSE26,72.0593711439 chr15,98775365,98775565,HSE381,14.9440294085 chr15,102501629,102501829,HSE592,17.8647492194 chr16,626697,626897,HSE208,23.3415017382 chr16,970811,971011,HSE408,18.879805744 chr16,3137379,3137579,HSE656,13.1191220261 chr16,11114848,11115048,HSE998,11.8718870193 chr16,11173789,11173989,HSE128,39.6118207734 chr16,19756698,19756898,HSE349,18.1890890859 chr16,22776292,22776492,HSE631,10.2281468082 chr16,23037379,23037579,HSE661,11.5338091882 chr16,24508521,24508721,HSE731,10.9292976321 chr16,27323049,27323272,HSE62,34.6319360162 chr16,30204374,30204574,HSE426,34.9445834473 chr16,31885117,31885317,HSE805,17.0726534038 chr16,48565689,48565889,HSE914,14.4461848582 chr16,52484957,52485157,HSE999,9.9367824367 chr16,56581581,56581781,HSE386,14.3620121795 chr16,59736519,59736719,HSE342,19.0406902327 chr16,66545956,66546156,HSE905,9.2931748668 chr16,68484705,68484905,HSE218,20.7512770405 chr16,68507748,68507957,HSE548,18.0413570871 chr16,73322142,73322343,HSE702,12.5680470461 chr16,78355884,78356084,HSE303,20.3741349926 chr16,89307265,89307465,HSE18,70.9382862202 chr16,89679724,89679939,HSE578,17.1619789211 chr16,89988292,89988493,HSE347,20.0128724894 chr17,999331,999532,HSE482,15.5034626446 chr17,5579439,5579642,HSE48,43.9178228518 chr17,6111243,6111443,HSE198,30.4698391934 chr17,8279924,8280124,HSE45,65.9896646322 chr17,8759325,8759525,HSE422,15.0545562099 chr17,9340019,9340219,HSE948,9.8219471135 chr17,11166409,11166610,HSE122,22.963059202 chr17,12830908,12831108,HSE145,27.0976894901 chr17,13298874,13299074,HSE156,34.5395597863 chr17,17002215,17002415,HSE654,16.2936251743 chr17,17302370,17302570,HSE372,29.9282249338 chr17,21030152,21030352,HSE903,14.116644535 chr17,21367528,21367728,HSE833,9.7516907593 chr17,30088186,30088386,HSE678,13.3589311568 chr17,33774498,33774698,HSE818,9.4607428819 chr17,34541456,34541656,HSE553,11.9696962671 chr17,42385237,42385437,HSE149,30.3729032338 chr17,43419034,43419235,HSE437,27.2450803684 chr17,45681996,45682196,HSE438,15.031012053 chr17,49008988,49009188,HSE538,15.8789561003 chr17,49433023,49433224,HSE11,58.5889197596 chr17,49687897,49688097,HSE413,16.1529684506 chr17,49807832,49808032,HSE2,84.3204244342 chr17,50624462,50624662,HSE20,42.9975194309 chr17,50767466,50767666,HSE258,24.1676282047 chr17,53412056,53412256,HSE243,26.149501739 chr17,53828393,53828601,HSE617,14.5154098498 chr17,55785272,55785472,HSE892,10.3430074886 chr17,57998741,57998941,HSE978,10.1861279752 chr17,59327373,59327573,HSE774,9.3428992552 chr17,59589126,59589326,HSE529,18.5934605421 chr17,62254441,62254641,HSE133,33.7747197413 chr17,64370576,64370776,HSE964,7.825535696 chr17,72113540,72113740,HSE607,21.5911019025 chr17,72967433,72967633,HSE377,16.2493907656 chr17,73966346,73966547,HSE881,9.5338664732 chr17,75125788,75125988,HSE407,21.4349393235 chr17,75279445,75279646,HSE527,11.5655867334 chr17,79050003,79050203,HSE445,15.299617834 chr17,80189664,80189864,HSE957,8.575676987 chr18,2847905,2848105,HSE680,16.1823388257 chr18,3297314,3297514,HSE51,55.4969408846 chr18,4107882,4108082,HSE756,10.6509843928 chr18,4455211,4455413,HSE173,26.658560462 chr18,5960317,5960517,HSE404,17.5337872123 chr18,6610590,6610790,HSE5,67.4765594962 chr18,6878970,6879170,HSE21,114.4591803017 chr18,6941554,6941754,HSE925,8.8831899962 chr18,8067140,8067340,HSE515,15.8060479397 chr18,8982773,8982973,HSE674,10.8336659886 chr18,8991089,8991289,HSE871,9.2212572719 chr18,11092726,11092926,HSE603,14.5685707705 chr18,20949254,20949454,HSE940,10.1089249342 chr18,22006557,22006757,HSE575,21.5810391792 chr18,24341571,24341772,HSE865,12.220860758 chr18,30186665,30186865,HSE96,29.1942230497 chr18,33597390,33597591,HSE935,14.2979081707 chr18,38116709,38116909,HSE94,27.5166517092 chr18,38614509,38614709,HSE516,22.9528532124 chr18,41456364,41456564,HSE483,22.2977384345 chr18,43802028,43802228,HSE508,12.8490635247 chr18,46386532,46386733,HSE676,14.0371357841 chr18,47441756,47441956,HSE282,17.402175324 chr18,48344045,48344245,HSE640,26.5533837237 chr18,57865414,57865614,HSE637,12.1799986999 chr18,60810573,60810773,HSE712,10.7941794086 chr18,66106367,66106567,HSE78,34.0539230971 chr18,67067626,67067826,HSE748,20.3756153543 chr18,67206189,67206389,HSE707,14.8194102675 chr18,77862401,77862601,HSE778,8.9773592552 chr19,1855466,1855666,HSE615,21.0205633353 chr19,7864445,7864654,HSE420,22.2334775436 chr19,7936518,7936718,HSE1000,9.890269251 chr19,14134468,14134668,HSE552,19.247739132 chr19,16568459,16568659,HSE690,12.8248560895 chr19,22053766,22053966,HSE325,15.1569835215 chr19,28284760,28284962,HSE35,44.2571129827 chr19,28609278,28609478,HSE262,25.334253518 chr19,28660492,28660692,HSE644,23.3221045263 chr19,30811887,30812087,HSE120,27.7702458019 chr19,35800455,35800659,HSE498,13.5519561083 chr19,36792015,36792215,HSE953,7.5220582555 chr19,39122462,39122662,HSE582,17.8131880246 chr19,39167150,39167350,HSE395,15.4118441749 chr19,42905988,42906189,HSE934,12.7825653114 chr19,43059635,43059838,HSE535,11.755421727 chr19,44711537,44711737,HSE798,18.193542685 chr19,50175593,50175793,HSE781,13.7950661987 chr19,51289242,51289442,HSE917,9.3858171773 chr19,51900838,51901038,HSE453,18.6017463436 chr19,53039209,53039409,HSE463,19.5962420571 chr2,4564065,4564265,HSE689,11.0832062757 chr2,9136176,9136376,HSE166,25.108740724 chr2,11761490,11761690,HSE955,9.1404770745 chr2,14359777,14359977,HSE729,9.1222131108 chr2,15208167,15208367,HSE751,11.003441743 chr2,17699479,17699679,HSE759,12.4462128012 chr2,17721672,17721872,HSE742,14.1970571736 chr2,20024086,20024286,HSE83,28.7067393754 chr2,23725997,23726197,HSE449,24.6822465458 chr2,25752130,25752330,HSE346,16.6877757619 chr2,29434845,29435045,HSE841,9.2654187933 chr2,29840944,29841144,HSE785,11.1516309255 chr2,33308933,33309133,HSE810,10.6180361689 chr2,40274443,40274643,HSE543,16.5775325601 chr2,40277040,40277240,HSE901,17.7522146515 chr2,43020786,43020986,HSE536,13.7021711702 chr2,43525771,43525971,HSE140,23.6931498342 chr2,45907824,45908024,HSE790,12.332179446 chr2,49482822,49483023,HSE764,11.6109483119 chr2,49776850,49777050,HSE382,20.4425087695 chr2,49829759,49829959,HSE559,13.8791198577 chr2,50199950,50200150,HSE306,21.1830037687 chr2,50522255,50522455,HSE294,20.4771502209 chr2,50573272,50573472,HSE520,11.3849059039 chr2,53710769,53710969,HSE673,11.4462899835 chr2,54846090,54846291,HSE652,12.3643734532 chr2,55381344,55381548,HSE333,16.5384641969 chr2,55649064,55649265,HSE161,26.4627203219 chr2,65290575,65290775,HSE860,14.2637154595 chr2,65615621,65615821,HSE811,10.640516431 chr2,68546802,68547002,HSE585,12.806795592 chr2,72975882,72976082,HSE506,11.8250162965 chr2,74234353,74234554,HSE447,19.3111885875 chr2,76692583,76692783,HSE308,24.5495576527 chr2,84914260,84914460,HSE273,18.7931730309 chr2,85289844,85290044,HSE490,17.6255300394 chr2,85378807,85379007,HSE442,18.4954416724 chr2,87051461,87051665,HSE139,28.4199186304 chr2,87064810,87065010,HSE708,10.458886264 chr2,87067122,87067449,HSE379,30.0280259634 chr2,87069310,87069510,HSE885,16.1725172352 chr2,88316314,88316515,HSE214,34.3179189629 chr2,88414573,88414773,HSE220,18.6297613359 chr2,89034794,89034994,HSE641,10.882267071 chr2,91750589,91750877,HSE327,20.2352669039 chr2,91762380,91762580,HSE468,12.6786942321 chr2,97019268,97019468,HSE786,8.3601047373 chr2,98758986,98759186,HSE679,16.1171102076 chr2,100697871,100698071,HSE706,13.479967802 chr2,100699949,100700149,HSE163,38.236433871 chr2,104094111,104094311,HSE59,33.1831421211 chr2,106095656,106095858,HSE390,15.6220351252 chr2,106554244,106554444,HSE497,18.2333367245 chr2,109968022,109968222,HSE763,10.4860988331 chr2,110515113,110515315,HSE19,48.1747064465 chr2,110806206,110806406,HSE977,8.2999349047 chr2,111400651,111400851,HSE808,9.0427754883 chr2,112020360,112020560,HSE444,14.0773788267 chr2,112221956,112222156,HSE720,15.6782160603 chr2,114395544,114395744,HSE67,33.2899481068 chr2,119068189,119068389,HSE104,27.8409422337 chr2,119071047,119071247,HSE25,58.9652879287 chr2,121088717,121088917,HSE726,14.2115751447 chr2,122336997,122337197,HSE249,20.8047512788 chr2,124279519,124279719,HSE495,11.9685617057 chr2,124730178,124730378,HSE30,48.1797064921 chr2,131094775,131094975,HSE988,12.5951506631 chr2,131484996,131485196,HSE76,33.2819734412 chr2,133300942,133301142,HSE997,7.8669044953 chr2,134090771,134090971,HSE180,24.5244184665 chr2,137008268,137008468,HSE307,16.6788740279 chr2,137015528,137015728,HSE947,7.5774875118 chr2,142934541,142934741,HSE345,21.8622427277 chr2,150036853,150037053,HSE807,12.9999546517 chr2,165778793,165778993,HSE358,17.0239953486 chr2,177391858,177392058,HSE260,19.1403997668 chr2,182327537,182327737,HSE681,17.5160573028 chr2,182393251,182393451,HSE40,38.4626716079 chr2,194117851,194118051,HSE321,18.0633419546 chr2,202563650,202563850,HSE626,12.3289416007 chr2,202741843,202742043,HSE359,20.9626551138 chr2,207294294,207294494,HSE670,11.1162813392 chr2,210363875,210364075,HSE734,12.3968615154 chr2,216306316,216306516,HSE868,14.1928417965 chr2,217522315,217522515,HSE293,35.0627763697 chr2,218641534,218641734,HSE82,37.7257060365 chr2,225243534,225243734,HSE416,20.099420911 chr2,229706577,229706777,HSE943,10.1343101996 chr2,231797519,231797723,HSE719,12.2696761634 chr2,232478862,232479063,HSE856,8.5861916221 chr2,236011384,236011584,HSE496,11.7277379839 chr2,238512362,238512563,HSE608,13.5849351928 chr2,240078429,240078629,HSE174,24.7169603423 chr2,241308943,241309143,HSE590,12.5097816417 chr2,241406758,241406958,HSE727,15.8620577497 chr20,1791874,1792074,HSE487,14.0309392186 chr20,1864025,1864225,HSE950,9.0977150918 chr20,1871245,1871445,HSE16,56.7490572952 chr20,2012791,2012991,HSE87,31.037092624 chr20,3629754,3629958,HSE215,20.9130441286 chr20,3660554,3660754,HSE193,24.974343769 chr20,4063903,4064104,HSE111,56.1553976804 chr20,14705232,14705432,HSE33,47.5410662718 chr20,16719908,16720108,HSE270,16.3543605271 chr20,32774062,32774262,HSE309,18.1246253801 chr20,34463418,34463619,HSE367,15.2757490918 chr20,34681486,34681692,HSE753,9.3728031841 chr20,34961484,34961684,HSE355,27.5542266393 chr20,36875508,36875708,HSE12,88.6429013544 chr20,39492043,39492243,HSE616,13.836833653 chr20,39504403,39504603,HSE791,11.0391746143 chr20,39522366,39522566,HSE522,15.4476576681 chr20,41278899,41279099,HSE130,24.1052112576 chr20,41281047,41281248,HSE138,25.1054094538 chr20,43678567,43678767,HSE118,27.5802502403 chr20,47354941,47355141,HSE829,10.0084428 chr20,48196544,48196744,HSE13,62.2017999936 chr20,48391843,48392070,HSE343,17.2886280147 chr20,48451672,48451872,HSE658,15.2435487162 chr20,57999712,57999912,HSE593,11.851459255 chr20,58010717,58010917,HSE888,8.4178547638 chr20,58028998,58029198,HSE589,11.8594187455 chr20,62892549,62892749,HSE22,49.3467939523 chr21,18183390,18183590,HSE846,12.0921264014 chr21,25470304,25470504,HSE848,9.043990116 chr21,29314093,29314293,HSE540,11.1333587451 chr21,29522195,29522395,HSE90,42.5669364456 chr21,30279211,30279411,HSE802,8.9817364292 chr21,31599287,31599487,HSE255,25.8534564105 chr21,34305184,34305384,HSE75,34.8701267573 chr21,40357115,40357316,HSE931,14.2521728213 chr21,40369917,40370117,HSE596,13.6512982833 chr21,42458559,42458759,HSE941,7.986093663 chr21,42461230,42461430,HSE46,32.6233218231 chr21,45610526,45610726,HSE373,19.1339980285 chr22,18647319,18647519,HSE600,15.4170005372 chr22,21387111,21387311,HSE465,16.7936897957 chr22,25800344,25800546,HSE855,15.133649847 chr22,27530972,27531172,HSE91,32.8296818218 chr22,27613121,27613321,HSE878,9.9026827262 chr22,30938555,30938755,HSE991,12.3953908195 chr22,37608742,37608942,HSE199,25.5079108823 chr22,38213774,38213975,HSE336,29.8698643259 chr22,38875187,38875387,HSE31,75.0968010157 chr22,45034999,45035200,HSE944,11.0058314418 chr22,47560535,47560735,HSE820,9.6159416626 chr22,49263785,49263985,HSE123,27.4756435262 chr3,1033708,1033908,HSE547,11.8167271684 chr3,4648618,4648819,HSE594,13.1354478948 chr3,6170925,6171125,HSE274,19.6422205175 chr3,9861617,9861817,HSE561,16.1351899583 chr3,20581162,20581362,HSE88,84.6550501758 chr3,22766006,22766206,HSE926,7.4746803691 chr3,25039886,25040088,HSE745,12.5677664568 chr3,32452491,32452691,HSE958,8.8781271039 chr3,34337067,34337267,HSE238,23.4517631822 chr3,44106796,44106996,HSE645,14.6078435944 chr3,45454944,45455144,HSE213,19.0172183728 chr3,50468482,50468682,HSE70,32.3982070336 chr3,50553584,50553784,HSE409,31.7674822371 chr3,50759518,50759718,HSE556,12.7286106999 chr3,51312927,51313129,HSE179,22.7291813917 chr3,54024155,54024359,HSE606,12.4118581011 chr3,55583333,55583544,HSE895,20.4730234134 chr3,57432272,57432472,HSE170,23.9015532829 chr3,57731978,57732178,HSE979,13.0317416952 chr3,58143711,58143912,HSE488,21.4279391783 chr3,59117232,59117432,HSE310,21.6692936097 chr3,59537533,59537733,HSE831,10.4335147498 chr3,60313490,60313690,HSE797,11.4508642018 chr3,60739661,60739861,HSE222,37.1649368806 chr3,61899965,61900165,HSE972,9.9582764633 chr3,62859461,62859661,HSE671,12.0850192866 chr3,62874394,62874594,HSE454,12.2791253714 chr3,63748080,63748280,HSE387,14.5767368616 chr3,74103231,74103431,HSE633,15.5075880796 chr3,85652655,85652855,HSE203,18.8184809601 chr3,97829189,97829389,HSE776,9.1102578423 chr3,103166013,103166213,HSE896,9.9523912683 chr3,105602785,105602985,HSE433,40.5785957197 chr3,107148262,107148462,HSE261,18.4043131499 chr3,109288204,109288404,HSE356,14.9310679943 chr3,111197315,111197518,HSE370,15.859503117 chr3,112219616,112219816,HSE368,15.0704271372 chr3,123405019,123405220,HSE115,27.2314354098 chr3,124880427,124880628,HSE579,14.8608441809 chr3,127740739,127740949,HSE314,26.0837216172 chr3,128256027,128256227,HSE630,13.9854481485 chr3,132829089,132829289,HSE474,15.9443427668 chr3,133123857,133124057,HSE471,13.3464634396 chr3,136537878,136538084,HSE505,14.6728277902 chr3,136915437,136915640,HSE584,13.4830219375 chr3,136922639,136922839,HSE304,16.1133399857 chr3,143048781,143048981,HSE663,12.6197529914 chr3,145155998,145156198,HSE963,7.937403129 chr3,150102651,150102851,HSE441,27.9319328699 chr3,152314041,152314241,HSE863,9.389594265 chr3,152446287,152446487,HSE202,21.6487393195 chr3,152497432,152497632,HSE782,15.2232552726 chr3,153501047,153501247,HSE973,8.9058148252 chr3,156106412,156106612,HSE298,17.4725292847 chr3,156467111,156467311,HSE984,12.8714197176 chr3,159583162,159583362,HSE245,24.3670741479 chr3,167647788,167647988,HSE162,23.142026511 chr3,167754605,167754805,HSE157,25.5019260862 chr3,168309609,168309809,HSE985,8.3878224111 chr3,170459966,170460166,HSE299,23.2572944826 chr3,171083365,171083565,HSE329,19.6170760846 chr3,171622769,171622969,HSE141,35.5269780554 chr3,173303292,173303492,HSE635,12.8762248581 chr3,173340053,173340253,HSE910,13.8353115715 chr3,175722586,175722786,HSE154,26.1510590855 chr3,177471354,177471554,HSE332,24.5244184665 chr3,184084866,184085066,HSE428,17.9640764471 chr3,192869895,192870095,HSE246,22.5875292012 chr3,194592300,194592501,HSE362,36.8838467218 chr3,196346498,196346699,HSE280,19.4679975855 chr3,197199171,197199371,HSE876,13.6753444396 chr4,1209278,1209519,HSE564,13.9004104602 chr4,1682431,1682632,HSE233,22.8144061287 chr4,2673293,2673493,HSE435,15.7039657822 chr4,5205616,5205843,HSE875,9.1366703212 chr4,5774976,5775176,HSE248,21.1824928836 chr4,7153027,7153227,HSE983,9.7283332501 chr4,7158073,7158273,HSE164,31.8768175016 chr4,7987860,7988060,HSE685,14.8308227861 chr4,8317712,8317912,HSE912,11.2750910314 chr4,10298688,10298888,HSE7,56.3001544011 chr4,10307533,10307733,HSE478,12.8133414228 chr4,10410626,10410826,HSE197,21.3709305662 chr4,16325714,16325914,HSE351,19.7714522278 chr4,16843354,16843554,HSE872,11.1479071197 chr4,17189915,17190115,HSE794,12.4374877889 chr4,17399671,17399871,HSE698,12.9259482624 chr4,18421836,18422036,HSE418,18.6650288814 chr4,20654001,20654201,HSE842,9.8868805638 chr4,35935735,35935935,HSE864,11.6965490821 chr4,37141687,37141887,HSE384,14.5996824189 chr4,37189108,37189308,HSE188,35.9761823699 chr4,38192503,38192704,HSE513,20.6670228424 chr4,41059770,41059970,HSE550,14.2940364222 chr4,41146900,41147100,HSE920,10.9173925032 chr4,42598985,42599185,HSE834,12.2213134666 chr4,43551753,43551953,HSE613,10.9664468122 chr4,52918093,52918293,HSE813,10.8199181309 chr4,67296659,67296859,HSE330,17.1184863176 chr4,68783414,68783614,HSE194,27.8865779207 chr4,73531199,73531399,HSE485,16.0641880211 chr4,79442149,79442349,HSE254,31.3053467034 chr4,96027806,96028006,HSE60,38.0420908281 chr4,98417455,98417655,HSE773,12.7094671878 chr4,102826820,102827020,HSE954,9.8953082642 chr4,108956348,108956548,HSE196,28.1854857987 chr4,109035842,109036042,HSE574,15.4815826792 chr4,109331833,109332033,HSE880,8.5800439974 chr4,112855557,112855758,HSE873,8.9177752517 chr4,113045048,113045248,HSE718,12.9338359083 chr4,115673675,115673875,HSE908,9.0213984225 chr4,126033815,126034015,HSE266,27.8144026005 chr4,126926133,126926333,HSE624,13.8939469933 chr4,134018135,134018335,HSE591,13.1426859966 chr4,135498284,135498484,HSE289,16.9047451361 chr4,139144837,139145037,HSE858,11.0683425726 chr4,142822079,142822279,HSE291,16.8719939446 chr4,143883214,143883420,HSE125,23.7564028153 chr4,155022297,155022497,HSE486,24.4008504204 chr4,155876015,155876219,HSE567,14.3792053309 chr4,156523530,156523730,HSE335,17.9101352191 chr4,163926681,163926881,HSE583,13.7123935 chr4,165404029,165404229,HSE965,10.3169505717 chr4,171168842,171169042,HSE500,12.3708601884 chr4,176356648,176356848,HSE586,12.5175850781 chr4,181756449,181756649,HSE116,25.0123586931 chr4,185517517,185517717,HSE768,10.7243756024 chr4,186037200,186037400,HSE849,9.15728802 chr4,187112549,187112749,HSE73,29.6147089784 chr4,188809131,188809331,HSE127,26.3736706202 chr5,9015815,9016015,HSE754,10.9860464939 chr5,9140785,9140986,HSE34,39.8342153912 chr5,9284766,9284966,HSE159,44.8345695381 chr5,9423793,9423993,HSE397,23.9014518508 chr5,9544694,9544894,HSE976,18.4787378901 chr5,13572514,13572715,HSE970,7.981996643 chr5,14844977,14845178,HSE623,11.8533435499 chr5,26843843,26844043,HSE609,10.9929164023 chr5,35374800,35375000,HSE992,11.2155834064 chr5,36059728,36059928,HSE743,9.7015183684 chr5,38011944,38012144,HSE182,23.9400859933 chr5,39421419,39421619,HSE825,14.5866459668 chr5,39533959,39534159,HSE760,9.9360929783 chr5,43066506,43066706,HSE288,64.294192312 chr5,50917138,50917340,HSE313,22.7435698695 chr5,51008092,51008292,HSE766,10.2876577874 chr5,58130163,58130363,HSE686,14.7084178919 chr5,68296916,68297116,HSE57,43.9761647554 chr5,70529394,70529594,HSE292,16.3167607327 chr5,73557824,73558024,HSE283,26.1537486394 chr5,81951100,81951300,HSE838,11.1124928906 chr5,82305319,82305520,HSE256,21.9987593589 chr5,93459233,93459433,HSE79,88.077239222 chr5,96180256,96180457,HSE112,28.97133338 chr5,98859253,98859453,HSE457,16.1598314579 chr5,102729064,102729264,HSE89,35.4121997783 chr5,107225179,107225379,HSE752,12.8723311418 chr5,108006706,108006906,HSE167,20.5736395644 chr5,112562162,112562362,HSE146,28.4736858728 chr5,115731439,115731639,HSE662,14.441740722 chr5,115870785,115870985,HSE889,11.1682472441 chr5,121403180,121403380,HSE738,10.4404525204 chr5,123709637,123709837,HSE385,34.5371219842 chr5,124534387,124534587,HSE189,41.4113583783 chr5,126015956,126016156,HSE350,48.9260098909 chr5,130651056,130651256,HSE353,19.9406119279 chr5,131054387,131054588,HSE275,16.8672736168 chr5,138872592,138872792,HSE97,33.7294648775 chr5,139113346,139113546,HSE499,24.5461507056 chr5,139503491,139503691,HSE135,22.5832471238 chr5,140365894,140366094,HSE477,22.7804027056 chr5,152496425,152496625,HSE297,23.9517433229 chr5,153157431,153157632,HSE994,7.2712465887 chr5,154985156,154985356,HSE27,47.3698229496 chr5,156798061,156798261,HSE421,18.0953061141 chr5,159614141,159614341,HSE504,16.644367563 chr5,169678151,169678351,HSE205,23.5872306039 chr5,169969996,169970196,HSE252,26.7061548422 chr5,170556363,170556585,HSE81,53.3489093817 chr5,170880119,170880319,HSE533,21.0213665516 chr5,176794222,176794423,HSE599,23.2425155735 chr5,177712082,177712283,HSE921,9.6878527385 chr6,1720956,1721156,HSE961,13.9546110024 chr6,2908962,2909162,HSE900,9.4385437272 chr6,3624882,3625082,HSE49,38.6547390654 chr6,6477697,6477897,HSE425,14.0308308131 chr6,6927996,6928198,HSE573,13.2644125542 chr6,7261536,7261736,HSE899,20.57594766 chr6,8857485,8857685,HSE226,19.7424552164 chr6,11764188,11764388,HSE423,13.6453117051 chr6,12657164,12657364,HSE541,24.5587040398 chr6,13069178,13069378,HSE148,25.4358868167 chr6,13071666,13071866,HSE328,21.7306804565 chr6,13440803,13441003,HSE854,11.7878221637 chr6,13605303,13605503,HSE439,16.0336294076 chr6,15357986,15358186,HSE772,12.1002596677 chr6,15953729,15953929,HSE223,22.2692616975 chr6,20879847,20880047,HSE789,11.3511396601 chr6,22074016,22074216,HSE830,17.8828299952 chr6,22223835,22224035,HSE847,11.3189534245 chr6,22754318,22754518,HSE765,10.933963726 chr6,24191674,24191874,HSE17,64.4494432065 chr6,24355724,24355924,HSE822,12.2330307591 chr6,24684045,24684245,HSE68,40.6121039818 chr6,24908692,24908892,HSE52,36.3357402285 chr6,24981608,24981808,HSE460,14.7455299562 chr6,26866614,26866814,HSE316,17.4817827982 chr6,26987817,26988017,HSE301,17.0996119934 chr6,28953271,28953471,HSE532,18.2243327433 chr6,30163047,30163247,HSE668,9.9208283821 chr6,32862428,32862628,HSE883,10.9304672886 chr6,33048550,33048750,HSE100,28.3569655356 chr6,37190063,37190263,HSE225,25.1598854782 chr6,37752532,37752732,HSE190,21.4887428904 chr6,37839872,37840072,HSE692,15.9827010242 chr6,42104428,42104628,HSE107,67.5217188687 chr6,42125896,42126096,HSE836,11.8802206566 chr6,48152098,48152298,HSE317,16.53498743 chr6,48440896,48441096,HSE410,20.2304692131 chr6,48531624,48531824,HSE14,56.1553976804 chr6,48595126,48595327,HSE8,86.3398854446 chr6,57207153,57207353,HSE779,15.3463418546 chr6,58265076,58265285,HSE632,13.3681109557 chr6,68599806,68600006,HSE526,12.8237395122 chr6,71584109,71584310,HSE114,27.0742020553 chr6,77915769,77915969,HSE236,16.9378739354 chr6,87169783,87169984,HSE546,11.573392587 chr6,89894075,89894277,HSE647,13.1942619616 chr6,90904900,90905100,HSE491,25.8304194594 chr6,92350596,92350796,HSE653,17.364572389 chr6,101840815,101841015,HSE131,28.2436702832 chr6,105240470,105240670,HSE604,18.8779663264 chr6,107221861,107222061,HSE844,13.1640641167 chr6,107611759,107611959,HSE904,13.5023269104 chr6,112619369,112619569,HSE369,17.0366032561 chr6,114999140,114999341,HSE821,10.3959314865 chr6,116138273,116138476,HSE730,13.0350910622 chr6,116621676,116621877,HSE929,9.2537035432 chr6,131428060,131428260,HSE284,18.8889226922 chr6,132596060,132596260,HSE990,8.2742348935 chr6,138104942,138105142,HSE253,23.0468563465 chr6,140757614,140757815,HSE967,10.1788738588 chr6,143968529,143968729,HSE852,8.5873299746 chr6,147322278,147322478,HSE268,19.7936739006 chr6,151695336,151695536,HSE519,19.0160524829 chr6,157265666,157265866,HSE119,24.7735526841 chr6,161392326,161392526,HSE334,18.7149756358 chr6,161740337,161740537,HSE713,9.6675137739 chr6,162838242,162838442,HSE132,26.1781329147 chr6,166188920,166189120,HSE417,14.5239466546 chr6,167892584,167892784,HSE814,8.7865263368 chr6,169077927,169078127,HSE110,27.1403888015 chr6,170794092,170794292,HSE524,13.6109134035 chr7,4198833,4199033,HSE801,11.1292518601 chr7,4949917,4950117,HSE172,21.4927855963 chr7,13461438,13461638,HSE228,17.5121934963 chr7,22122623,22122823,HSE930,12.3048991783 chr7,23062178,23062378,HSE509,25.1202244572 chr7,23246200,23246400,HSE257,22.9981606665 chr7,25559731,25559931,HSE966,8.5262161829 chr7,36664999,36665199,HSE605,16.0994530522 chr7,37372863,37373063,HSE204,19.2684485089 chr7,38492364,38492564,HSE597,12.8932215725 chr7,40616066,40616266,HSE380,17.182635963 chr7,47064486,47064686,HSE577,13.0570408987 chr7,47084856,47085056,HSE576,16.6838216652 chr7,48031471,48031671,HSE740,11.7452011534 chr7,48748205,48748405,HSE98,30.5044348782 chr7,66050120,66050320,HSE276,21.6755649273 chr7,66213153,66213353,HSE534,13.7182502443 chr7,66223024,66223224,HSE364,16.185690078 chr7,74867660,74867860,HSE618,16.9538639948 chr7,77015807,77016008,HSE415,18.6613812869 chr7,78390011,78390211,HSE602,16.2431492916 chr7,100434184,100434384,HSE869,13.0394840372 chr7,101616503,101616703,HSE951,9.2324134965 chr7,102153402,102153602,HSE975,9.0245761817 chr7,110397521,110397721,HSE916,12.3054838817 chr7,110400563,110400763,HSE338,16.3230063175 chr7,116607477,116607678,HSE621,18.3522646727 chr7,118072236,118072438,HSE694,11.1158534833 chr7,125587404,125587604,HSE455,17.556648341 chr7,145100201,145100414,HSE401,15.6280338065 chr7,145839272,145839472,HSE171,20.1680033829 chr7,145844066,145844266,HSE9,54.1909479525 chr7,147449071,147449271,HSE704,10.2463146144 chr7,148178409,148178609,HSE835,10.6172870294 chr7,151235436,151235636,HSE365,18.0341069228 chr8,2377506,2377706,HSE181,20.7659351902 chr8,2511126,2511326,HSE320,15.27069181 chr8,7266669,7266869,HSE819,8.435349452 chr8,13356648,13356848,HSE281,18.4464980795 chr8,14336890,14337104,HSE66,46.656249178 chr8,23032626,23032826,HSE412,26.2529950816 chr8,26601555,26601755,HSE890,11.220125934 chr8,26628311,26628511,HSE788,10.9551178433 chr8,28009163,28009363,HSE510,15.0235522925 chr8,30385906,30386106,HSE629,17.1134130395 chr8,34312488,34312688,HSE178,30.2724339491 chr8,49930877,49931077,HSE507,18.1489727778 chr8,50149648,50149848,HSE518,13.7760589052 chr8,52875070,52875270,HSE501,15.5123958666 chr8,53660034,53660234,HSE93,37.3464806395 chr8,54605619,54605820,HSE684,14.2519866729 chr8,62892804,62893004,HSE121,31.87775364 chr8,73254670,73254870,HSE185,23.4900882124 chr8,73412628,73412828,HSE38,37.3035911391 chr8,75862050,75862250,HSE620,13.858825618 chr8,88877867,88878069,HSE563,12.7713866408 chr8,92115315,92115515,HSE530,14.8449505644 chr8,92248603,92248804,HSE691,15.9124555229 chr8,93852146,93852346,HSE290,32.7317983798 chr8,95213282,95213482,HSE494,13.4997136969 chr8,98387996,98388197,HSE628,12.1439641326 chr8,105236101,105236301,HSE969,9.7479394792 chr8,115779521,115779721,HSE688,12.8255728825 chr8,122167781,122167981,HSE371,17.391031161 chr8,125610826,125611026,HSE165,35.3095256409 chr8,131652848,131653048,HSE363,19.456186422 chr8,134045654,134045854,HSE168,31.8082809938 chr8,134829150,134829350,HSE646,10.9003096576 chr8,144094801,144095001,HSE717,15.3147108573 chr8,144343458,144343659,HSE72,32.0323018157 chr8,145987786,145988059,HSE451,17.6753394576 chr9,7510288,7510488,HSE312,33.7426439062 chr9,10593086,10593286,HSE414,16.6788740279 chr9,11458448,11458648,HSE843,9.0784819552 chr9,12117105,12117305,HSE142,27.950209127 chr9,14993242,14993442,HSE634,14.4731722458 chr9,16301282,16301482,HSE102,50.9103305769 chr9,17765448,17765655,HSE739,18.2392565514 chr9,20825252,20825452,HSE946,12.4789871155 chr9,33402443,33402643,HSE555,16.1608716083 chr9,33523607,33523818,HSE224,19.2005783714 chr9,34170779,34170979,HSE341,24.6371580044 chr9,41824106,41824306,HSE769,10.5181109381 chr9,42019392,42019592,HSE28,41.4263636489 chr9,44245346,44245546,HSE32,37.5468627247 chr9,46661510,46661710,HSE378,18.5997971629 chr9,67872401,67872601,HSE272,19.7212214429 chr9,69651218,69651418,HSE15,56.5573849515 chr9,69654841,69655041,HSE50,50.1850231356 chr9,69723884,69724084,HSE126,32.6894006406 chr9,70077265,70077469,HSE357,19.5503409497 chr9,70090005,70090205,HSE56,47.863549167 chr9,72158059,72158265,HSE736,10.8002448051 chr9,72749929,72750129,HSE667,9.6151470352 chr9,81641307,81641507,HSE565,12.5343408216 chr9,85896509,85896709,HSE360,15.976780491 chr9,87992926,87993126,HSE682,10.0728691654 chr9,91288879,91289079,HSE570,20.1264215633 chr9,93232164,93232364,HSE267,16.2689597218 chr9,97610366,97610566,HSE571,14.362464282 chr9,97933380,97933580,HSE660,11.3259473431 chr9,100000625,100000826,HSE473,16.0316421967 chr9,100937326,100937526,HSE502,14.7363484454 chr9,112871691,112871891,HSE427,20.2200008236 chr9,116605468,116605668,HSE24,44.0402200911 chr9,118163144,118163344,HSE10,116.5676393698 chr9,136738864,136739065,HSE828,21.7259174217 chr9,136826692,136826892,HSE823,8.8396928196 chr9,138884709,138884909,HSE749,21.506795832 chr9,140320110,140320310,HSE558,17.6159627193 chrX,191631,191831,HSE375,22.299626784 chrX,197891,198101,HSE318,51.9353250981 chrX,199983,200184,HSE711,18.1602756116 chrX,9247138,9247338,HSE915,8.9889411466 chrX,9294553,9294753,HSE636,15.8583274764 chrX,13467472,13467672,HSE625,13.3123255447 chrX,22410208,22410409,HSE982,9.6853480348 chrX,29231637,29231837,HSE610,12.7761366615 chrX,30489623,30489824,HSE137,24.5548014378 chrX,31825117,31825317,HSE99,25.9398284883 chrX,36439734,36439934,HSE323,16.5354248431 chrX,36467884,36468084,HSE402,16.6156581564 chrX,40432956,40433156,HSE933,11.0828028555 chrX,40810144,40810344,HSE106,48.7539914758 chrX,49953599,49953799,HSE295,25.7542688302 chrX,57163623,57163823,HSE503,22.7827962324 chrX,114733851,114734051,HSE986,7.9927176453 chrX,124903682,124903882,HSE436,12.6648421132 chrX,128211486,128211686,HSE815,14.3611432709 chrX,128270781,128270981,HSE952,10.1358588237 chrX,130964620,130964822,HSE980,11.9103854587 ================================================ FILE: intro-to-awk/data/example.fastq ================================================ @ERR117184_2.14044282 CTGGTGCTCAGTCATTTTGCTAGATTGTAGCTCACCATTGCCTCTCTGCCTGCATTGTGCACTCCAATCCCTCAGCAGCTACAAAAACACTTTGTCAACTCCAGATCGG + IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII @ERR117185_2.23793537 TTGTTCAATTTTTTTAGTAGTTTTAGAGTAATTAATGAGCTTTGAGGTCACTTAACAATAAAAGCATATTTTAAAGTAAAGGTTGCTGATCAACAGTCTAATTTTCATA + IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII @ERR117166_2.4649205 ACTTAACAATAAAAGCATATTTTAAAGTAAAGGTT + IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII @ERR117185_2.949669 ATGCTTTTATTGTTAAGTGACCTCAAAGCTCATTAATTACTCTAAAACTACTAAAAAAATTGAACAAAAAAGTATTTCCAGTAATCAAGATTTTCTTCATGCCCTAGAT + IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII @ERR117163_2.2292219 AAATCGTAAGTGAAGCAACAGAATTCAGAACTAAA + IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII @ERR117165_2.36526615 AACGCTAAGGTTATATTAAAATGTTTCTTATGTTG + IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII @ERR117174_2.23007391 GCAAGTGGTTGGACTCAAGGAAGTTATAAATACCT + IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII @ERR117175_2.11345437 GCAAGTGGTTGGACTCAAGGAAGTTATAAATACCT + IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII @ERR117176_2.30285510 GCAAGTGGTTGGACTCAAGGAAGTTATAAATACCT + IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII @ERR117177_2.33680511 GCAAGTGGTTGGACTCAAGGAAGTTATAAATACCT + IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII ================================================ FILE: intro-to-awk/data/hg38.genome ================================================ chrom size 1 248956422 2 242193529 3 198295559 4 190214555 5 181538259 6 170805979 7 159345973 X 156040895 8 145138636 9 138394717 11 135086622 10 133797422 12 133275309 13 114364328 14 107043718 15 101991189 16 90338345 17 83257441 18 80373285 20 64444167 19 58617616 Y 57227415 22 50818468 21 46709983 15_KI270905v1_alt 5161414 6_GL000256v2_alt 4929269 6_GL000254v2_alt 4827813 6_GL000251v2_alt 4795265 6_GL000253v2_alt 4677643 6_GL000250v2_alt 4672374 6_GL000255v2_alt 4606388 6_GL000252v2_alt 4604811 17_KI270857v1_alt 2877074 16_KI270853v1_alt 2659700 16_KI270728v1_random 1872759 17_GL000258v2_alt 1821992 5_GL339449v2_alt 1612928 14_KI270847v1_alt 1511111 17_KI270908v1_alt 1423190 14_KI270846v1_alt 1351393 5_KI270897v1_alt 1144418 7_KI270803v1_alt 1111570 19_GL949749v2_alt 1091841 19_KI270938v1_alt 1066800 19_GL949750v2_alt 1066390 19_GL949748v2_alt 1064304 19_GL949751v2_alt 1002683 19_GL949746v1_alt 987716 19_GL949752v1_alt 987100 8_KI270821v1_alt 985506 1_KI270763v1_alt 911658 6_KI270801v1_alt 870480 19_GL949753v2_alt 796479 19_GL949747v2_alt 729520 8_KI270822v1_alt 624492 4_GL000257v2_alt 586476 12_KI270904v1_alt 572349 4_KI270925v1_alt 555799 15_KI270852v1_alt 478999 15_KI270727v1_random 448248 9_KI270823v1_alt 439082 15_KI270850v1_alt 430880 1_KI270759v1_alt 425601 12_GL877876v1_alt 408271 Un_KI270442v1 392061 17_KI270862v1_alt 391357 15_GL383555v2_alt 388773 19_GL383573v1_alt 385657 4_KI270896v1_alt 378547 4_GL383528v1_alt 376187 17_GL383563v3_alt 375691 8_KI270810v1_alt 374415 1_GL383520v2_alt 366580 1_KI270762v1_alt 354444 15_KI270848v1_alt 327382 17_KI270909v1_alt 325800 14_KI270844v1_alt 322166 8_KI270900v1_alt 318687 10_GL383546v1_alt 309802 13_KI270838v1_alt 306913 8_KI270816v1_alt 305841 22_KI270879v1_alt 304135 8_KI270813v1_alt 300230 11_KI270831v1_alt 296895 15_GL383554v1_alt 296527 8_KI270811v1_alt 292436 18_GL383567v1_alt 289831 X_KI270880v1_alt 284869 8_KI270812v1_alt 282736 19_KI270921v1_alt 282224 17_KI270729v1_random 280839 17_JH159146v1_alt 278131 X_KI270913v1_alt 274009 6_KI270798v1_alt 271782 7_KI270808v1_alt 271455 22_KI270876v1_alt 263666 15_KI270851v1_alt 263054 22_KI270875v1_alt 259914 1_KI270766v1_alt 256271 19_KI270882v1_alt 248807 3_KI270778v1_alt 248252 15_KI270849v1_alt 244917 4_KI270786v1_alt 244096 12_KI270835v1_alt 238139 17_KI270858v1_alt 235827 19_KI270867v1_alt 233762 16_KI270855v1_alt 232857 8_KI270926v1_alt 229282 5_GL949742v1_alt 226852 3_KI270780v1_alt 224108 17_GL383565v1_alt 223995 2_KI270774v1_alt 223625 4_KI270790v1_alt 220246 11_KI270927v1_alt 218612 19_KI270932v1_alt 215732 11_KI270903v1_alt 214625 2_KI270894v1_alt 214158 14_GL000225v1_random 211173 Un_KI270743v1 210658 11_KI270832v1_alt 210133 7_KI270805v1_alt 209988 4_GL000008v2_random 209709 7_KI270809v1_alt 209586 19_KI270887v1_alt 209512 4_KI270789v1_alt 205944 3_KI270779v1_alt 205312 19_KI270914v1_alt 205194 19_KI270886v1_alt 204239 11_KI270829v1_alt 204059 14_GL000009v2_random 201709 21_GL383579v2_alt 201197 11_JH159136v1_alt 200998 19_KI270930v1_alt 200773 Un_KI270747v1 198735 18_GL383571v1_alt 198278 19_KI270920v1_alt 198005 6_KI270797v1_alt 197536 3_KI270935v1_alt 197351 17_KI270861v1_alt 196688 15_KI270906v1_alt 196384 5_KI270791v1_alt 195710 14_KI270722v1_random 194050 16_GL383556v1_alt 192462 13_KI270840v1_alt 191684 14_GL000194v1_random 191469 11_JH159137v1_alt 191409 19_KI270917v1_alt 190932 7_KI270899v1_alt 190869 19_KI270923v1_alt 189352 10_KI270825v1_alt 188315 19_GL383576v1_alt 188024 19_KI270922v1_alt 187935 Un_KI270742v1 186739 22_KI270878v1_alt 186262 19_KI270929v1_alt 186203 11_KI270826v1_alt 186169 6_KB021644v2_alt 185823 17_GL000205v2_random 185591 1_KI270765v1_alt 185285 19_KI270916v1_alt 184516 19_KI270890v1_alt 184499 3_KI270784v1_alt 184404 12_GL383551v1_alt 184319 20_KI270870v1_alt 183433 Un_GL000195v1 182896 1_GL383518v1_alt 182439 22_KI270736v1_random 181920 10_KI270824v1_alt 181496 14_KI270845v1_alt 180703 3_GL383526v1_alt 180671 13_KI270839v1_alt 180306 22_KI270733v1_random 179772 Un_GL000224v1 179693 10_GL383545v1_alt 179254 Un_GL000219v1 179198 5_KI270792v1_alt 179043 17_KI270860v1_alt 178921 19_GL000209v2_alt 177381 11_KI270830v1_alt 177092 9_KI270719v1_random 176845 Un_GL000216v2 176608 22_KI270928v1_alt 176103 1_KI270712v1_random 176043 6_KI270800v1_alt 175808 1_KI270706v1_random 175055 2_KI270776v1_alt 174166 18_KI270912v1_alt 174061 3_KI270777v1_alt 173649 5_GL383531v1_alt 173459 3_JH636055v2_alt 173151 14_KI270725v1_random 172810 5_KI270796v1_alt 172708 9_GL383541v1_alt 171286 19_KI270885v1_alt 171027 19_KI270919v1_alt 170701 19_KI270889v1_alt 170698 19_KI270891v1_alt 170680 19_KI270915v1_alt 170665 19_KI270933v1_alt 170537 19_KI270883v1_alt 170399 19_GL383575v2_alt 170222 19_KI270931v1_alt 170148 12_GL383550v2_alt 169178 13_KI270841v1_alt 169134 Un_KI270744v1 168472 18_KI270863v1_alt 167999 18_GL383569v1_alt 167950 12_GL877875v1_alt 167313 21_KI270874v1_alt 166743 3_KI270924v1_alt 166540 1_KI270761v1_alt 165834 3_KI270937v1_alt 165607 22_KI270734v1_random 165050 18_GL383570v1_alt 164789 5_KI270794v1_alt 164558 4_GL383527v1_alt 164536 Un_GL000213v1 164239 3_KI270936v1_alt 164170 3_KI270934v1_alt 163458 9_GL383539v1_alt 162988 3_KI270895v1_alt 162896 22_GL383582v2_alt 162811 3_KI270782v1_alt 162429 1_KI270892v1_alt 162212 Un_GL000220v1 161802 2_KI270767v1_alt 161578 2_KI270715v1_random 161471 2_KI270893v1_alt 161218 Un_GL000218v1 161147 18_GL383572v1_alt 159547 8_KI270817v1_alt 158983 4_KI270788v1_alt 158965 Un_KI270749v1 158759 7_KI270806v1_alt 158166 7_KI270804v1_alt 157952 18_KI270911v1_alt 157710 Un_KI270741v1 157432 17_KI270910v1_alt 157099 19_KI270884v1_alt 157053 19_GL383574v1_alt 155864 19_KI270888v1_alt 155532 3_GL000221v1_random 155397 11_GL383547v1_alt 154407 2_KI270716v1_random 153799 12_GL383553v2_alt 152874 6_KI270799v1_alt 152148 22_KI270731v1_random 150754 Un_KI270751v1 150742 Un_KI270750v1 148850 8_KI270818v1_alt 145606 X_KI270881v1_alt 144206 21_KI270873v1_alt 143900 2_GL383521v1_alt 143390 8_KI270814v1_alt 141812 12_GL383552v1_alt 138655 Un_KI270519v1 138126 2_KI270775v1_alt 138019 17_KI270907v1_alt 137721 Un_GL000214v1 137718 8_KI270901v1_alt 136959 2_KI270770v1_alt 136240 16_KI270854v1_alt 134193 8_KI270819v1_alt 133535 17_GL383564v2_alt 133151 2_KI270772v1_alt 133041 8_KI270815v1_alt 132244 5_KI270795v1_alt 131892 5_KI270898v1_alt 130957 20_GL383577v2_alt 128386 1_KI270708v1_random 127682 7_KI270807v1_alt 126434 5_KI270793v1_alt 126136 6_GL383533v1_alt 124736 2_GL383522v1_alt 123821 19_KI270918v1_alt 123111 12_GL383549v1_alt 120804 2_KI270769v1_alt 120616 4_KI270785v1_alt 119912 12_KI270834v1_alt 119498 7_GL383534v2_alt 119183 20_KI270869v1_alt 118774 21_GL383581v2_alt 116689 3_KI270781v1_alt 113034 17_KI270730v1_random 112551 Un_KI270438v1 112505 4_KI270787v1_alt 111943 18_KI270864v1_alt 111737 2_KI270771v1_alt 110395 1_GL383519v1_alt 110268 2_KI270768v1_alt 110099 1_KI270760v1_alt 109528 3_KI270783v1_alt 109187 17_KI270859v1_alt 108763 11_KI270902v1_alt 106711 18_GL383568v1_alt 104552 22_KI270737v1_random 103838 13_KI270843v1_alt 103832 22_KI270877v1_alt 101331 5_GL383530v1_alt 101241 11_KI270721v1_random 100316 22_KI270738v1_random 99375 22_GL383583v2_alt 96924 2_GL582966v2_alt 96131 Un_KI270748v1 93321 Un_KI270435v1 92983 5_GL000208v1_random 92689 Un_KI270538v1 91309 17_GL383566v1_alt 90219 16_GL383557v1_alt 89672 17_JH159148v1_alt 88070 5_GL383532v1_alt 82728 21_KI270872v1_alt 82692 Un_KI270756v1 79590 6_KI270758v1_alt 76752 12_KI270833v1_alt 76061 6_KI270802v1_alt 75005 21_GL383580v2_alt 74653 22_KB663609v1_alt 74013 22_KI270739v1_random 73985 9_GL383540v1_alt 71551 Un_KI270757v1 71251 2_KI270773v1_alt 70887 17_JH159147v1_alt 70345 11_KI270827v1_alt 67707 1_KI270709v1_random 66860 Un_KI270746v1 66486 16_KI270856v1_alt 63982 21_GL383578v2_alt 63917 Un_KI270753v1 62944 19_KI270868v1_alt 61734 9_GL383542v1_alt 60032 20_KI270871v1_alt 58661 12_KI270836v1_alt 56134 19_KI270865v1_alt 52969 1_KI270764v1_alt 50258 Un_KI270589v1 44474 14_KI270726v1_random 43739 19_KI270866v1_alt 43156 22_KI270735v1_random 42811 1_KI270711v1_random 42210 Un_KI270745v1 41891 1_KI270714v1_random 41717 22_KI270732v1_random 41543 1_KI270713v1_random 40745 Un_KI270754v1 40191 1_KI270710v1_random 40176 12_KI270837v1_alt 40090 9_KI270717v1_random 40062 14_KI270724v1_random 39555 9_KI270720v1_random 39050 14_KI270723v1_random 38115 9_KI270718v1_random 38054 Un_KI270317v1 37690 13_KI270842v1_alt 37287 Y_KI270740v1_random 37240 Un_KI270755v1 36723 8_KI270820v1_alt 36640 1_KI270707v1_random 32032 Un_KI270579v1 31033 Un_KI270752v1 27745 Un_KI270512v1 22689 Un_KI270322v1 21476 M 16569 Un_GL000226v1 15008 Un_KI270311v1 12399 Un_KI270366v1 8320 Un_KI270511v1 8127 Un_KI270448v1 7992 Un_KI270521v1 7642 Un_KI270581v1 7046 Un_KI270582v1 6504 Un_KI270515v1 6361 Un_KI270588v1 6158 Un_KI270591v1 5796 Un_KI270522v1 5674 Un_KI270507v1 5353 Un_KI270590v1 4685 Un_KI270584v1 4513 Un_KI270320v1 4416 Un_KI270382v1 4215 Un_KI270468v1 4055 Un_KI270467v1 3920 Un_KI270362v1 3530 Un_KI270517v1 3253 Un_KI270593v1 3041 Un_KI270528v1 2983 Un_KI270587v1 2969 Un_KI270364v1 2855 Un_KI270371v1 2805 Un_KI270333v1 2699 Un_KI270374v1 2656 Un_KI270411v1 2646 Un_KI270414v1 2489 Un_KI270510v1 2415 Un_KI270390v1 2387 Un_KI270375v1 2378 Un_KI270420v1 2321 Un_KI270509v1 2318 Un_KI270315v1 2276 Un_KI270302v1 2274 Un_KI270518v1 2186 Un_KI270530v1 2168 Un_KI270304v1 2165 Un_KI270418v1 2145 Un_KI270424v1 2140 Un_KI270417v1 2043 Un_KI270508v1 1951 Un_KI270303v1 1942 Un_KI270381v1 1930 Un_KI270529v1 1899 Un_KI270425v1 1884 Un_KI270396v1 1880 Un_KI270363v1 1803 Un_KI270386v1 1788 Un_KI270465v1 1774 Un_KI270383v1 1750 Un_KI270384v1 1658 Un_KI270330v1 1652 Un_KI270372v1 1650 Un_KI270548v1 1599 Un_KI270580v1 1553 Un_KI270387v1 1537 Un_KI270391v1 1484 Un_KI270305v1 1472 Un_KI270373v1 1451 Un_KI270422v1 1445 Un_KI270316v1 1444 Un_KI270338v1 1428 Un_KI270340v1 1428 Un_KI270583v1 1400 Un_KI270334v1 1368 Un_KI270429v1 1361 Un_KI270393v1 1308 Un_KI270516v1 1300 Un_KI270389v1 1298 Un_KI270466v1 1233 Un_KI270388v1 1216 Un_KI270544v1 1202 Un_KI270310v1 1201 Un_KI270412v1 1179 Un_KI270395v1 1143 Un_KI270376v1 1136 Un_KI270337v1 1121 Un_KI270335v1 1048 Un_KI270378v1 1048 Un_KI270379v1 1045 Un_KI270329v1 1040 Un_KI270419v1 1029 Un_KI270336v1 1026 Un_KI270312v1 998 Un_KI270539v1 993 Un_KI270385v1 990 Un_KI270423v1 981 Un_KI270392v1 971 Un_KI270394v1 970 ================================================ FILE: intro-to-awk/index.ipynb ================================================ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Manipulating files with AWK\n", "### Bioinformatics Coffee Hour - April 14, 2020\n", "\n", "### What is awk?\n", "Invented in the 1970's, [awk](https://en.wikipedia.org/wiki/AWK) is a scripting language included in most Unix-like operating systems. It specializes in one-liner programs and manipulating text files.\n", "\n", "In many cases, if you're parsing information from a text file (such as a [BED](https://en.wikipedia.org/wiki/BED_(file_format)) file, [FASTA](https://en.wikipedia.org/wiki/FASTA) file, etc.), you could write a Python script...or you could do it with awk in a single line!\n", "\n", "### Syntax\n", "awk scripts are organized as:\n", "\n", "`awk 'pattern { action; other action }' file`\n", "\n", "Meaning that every time that the pattern is true, awk will execute the action in the brackets.\n", "If no pattern is specified, the action will be taken for every line in the input file, e.g. the following command prints every line:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "awk '{print}' data/hg38.genome | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The two most important patterns are `BEGIN` and `END`, which tell the action to take place before any lines are read and after the last line." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "awk 'BEGIN{sum=0} {sum+=1} END {print sum}' data/hg38.genome" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " The above line sets a variable at the start of the script, adds 1 to it every line, then prints its value at the end." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If a variable hasn't been initialized, it is treated as 0 in numeric expressions, and an empty string in string expressions—awk will not print an error!\n", "So the following awk script also prints the number of lines in the file data/hg38.genome:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "awk '{sum+=1} END {print sum}' data/hg38.genome" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Input and output\n", "Input to awk is split into **records** and **fields**.\n", "- By default, **records** are separated by newline character, i.e # of records = # of lines in input file\n", "- Each record is subdivided into **fields**, i.e. columns, as determined by the field separator (see below)\n", "\n", "There are several important built-in variable in awk.\n", "The fields (columns) of each record are referred to by `$number`, so the first column would be `$1`, second would be `$2`, etc. `$0` refers to the entire record.\n", "\n", "So to print the second column of each line in the file, we'd use:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "awk '{print $2}' data/hg38.genome | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And if we wanted to print the second then the first:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "awk '{print $2,$1}' data/hg38.genome | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that when the different fields are separated with commas in the `print` statement, they are joined by the output field separator (the **OFS** variable, described below), which is by default a space.\n", "If the comma is omitted between fields (e.g., `awk '{print $2 $1}'`, they are concatenated without a separator.\n", "\n", "We can also print strings using using quotation marks:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "awk '{print \"First column:\" $1}' data/hg38.genome | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Which for every line of the file will print the text \"First column:\" followed by the value in the first field." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "awk has several other built-in variables that are very useful for parsing text, including:\n", "\n", "| | |\n", "---|---|\n", "| **FS** | field separator (default: white space) |\n", "| **OFS** | output field separator, i.e. what character separates fields when printing|\n", "| **RS** | record separator, i.e. what character records are split on (default: new line) |\n", "| **ORS** | output record separator |\n", "| **NR** | number of records in input (# lines by default) |\n", "\n", "Assigning to a field causes the entire record ($0) to be recomputed using **OFS**. We can use this to convert between file formats, e.g. make a comma-separated text file into a tab-separated file. First, let's look at the first few lines on our comma-separated file using `head`:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "head data/enhancers.csv" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let's convert the file:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "awk 'BEGIN{FS=\",\" ; OFS=\"\\t\"} {$1 = $1; print $0}' data/enhancers.csv | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Conditionals and pattern matching\n", "Like other programming languages, awk allows conditional matching with if/else statements.\n", "\n", "`awk '{if(condition) action; else other_action}'`\n", "\n", "awk uses the following conditional operators:\n", "\n", "| | |\n", "|-|-|\n", "|==|equal to|\n", "|!=|not equal to|\n", "|>|greater than|\n", "|>=|greater than or equal to|\n", "|<|less than|\n", "|<=|less than or equal to|\n", "|&&|AND|\n", "| \\|\\| |OR|\n", "| ! | NOT |\n", "\n", "In addition, awk also supports string matching using regular expressions, using the following expressions:\n", "\n", "| | |\n", "|-|-|\n", "|\\~|matches|\n", "|!~|does not match|\n", "\n", "For string matching, the pattern being matched must be enclosed by slashes, like so:\n", "\n", "`awk '{if($1 ~ /pattern/) print}'`\n", "\n", "Note that if an action isn't specified, the default action is `{print}`, so the previous awk command is equivalent to the following, which specifies only a pattern expression:\n", "\n", "`awk '$1 ~ /pattern/'`\n", "\n", "---\n", "### Example uses:\n", "\n", "- Count number of sequences in a FASTQ file:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "awk 'END{print NR/4}' data/example.fastq" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Note**: this is technically safer than using grep, as you don't have to worry about accidentally counting the quality line.\n", "\n", "- Only print annotations on a specific scaffold (chr1) that fall between 1Mb and 2Mb from a BED annotation file. First let's look at the first few lines of the file using `head`:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "head data/Homo_sapiens_ucscGenes.subset.bed" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now subset the file:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "awk 'BEGIN{FS=\"\\t\";OFS=\"\\t\"} {if($1 == \"chr1\" && $2 >=1000000 && $2 <= 2000000) print}' data/Homo_sapiens_ucscGenes.subset.bed | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Note**: when we specify that we only want annotations from chr1, we're using exact match (`== \"chr1\"`) and not pattern match (`~ /chr1/`)...why is this??" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Only print lines of GFF annotation file that match the string \"exon\" in their third column. Again, let's look at the first few lines of the file:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "head data/Homo_sapiens.GRCh38.subset.gff3" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Then subset the file:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "awk 'BEGIN{FS=\"\\t\"} {if($3 ~ /exon/) print $0}' data/Homo_sapiens.GRCh38.subset.gff3 | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Convert from GFF (genome feature file) to BED file " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "grep -v '^#' data/Homo_sapiens.GRCh38.subset.gff3 | awk 'BEGIN{FS=\"\\t\"; OFS=\"\\t\"} {print $1,$4-1,$5}' | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Note**: remember that BED and GFF files have different coordinate systems, i.e. BED start coordinate is 0 based, half-open, GFF is 1-based inclusive! Also, we are first using grep to skip the header lines in the GFF file.\n", "\n", "Alternatively, you could do the whole thing with only awk, no grep required:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "awk 'BEGIN{FS=\"\\t\"; OFS=\"\\t\"} !/^#/ {print $1,$4-1,$5}' data/Homo_sapiens.GRCh38.subset.gff3 | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "With this command, `!/^#/` is a pattern (like `BEGIN` or `END`) that tell awk to execute the print statement when the start of the line does not match a `#`. Use whichever makes the most sense to you!\n", "\n", "### Practice\n", "Using awk:\n", "\n", "* Pull out only the CDS annotations (i.e. has \"CDS\" in the 3rd column) from the GFF file data/Homo_sapiens.GRCh38.subset.gff3 and output them in BED format" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*Try it*" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "awk '...' data/Homo_sapiens.GRCh38.subset.gff3 | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*Solution*" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "jupyter": { "source_hidden": true } }, "outputs": [], "source": [ "awk 'BEGIN{FS=\"\\t\"; OFS=\"\\t\"} {if($3 ~ /CDS/) print $1,$4-1,$5}' data/Homo_sapiens.GRCh38.subset.gff3" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Calculate the average length of gene annotations from the file data/Homo_sapiens_ucscGenes.subset.bed" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*Try it*" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "awk '...' data/Homo_sapiens_ucscGenes.subset.bed" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*Solution*" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "jupyter": { "source_hidden": true } }, "outputs": [], "source": [ "awk 'BEGIN{FS=\"\\t\"; sum=0} {len=$3-$2; sum=sum+len} END{print sum/NR}' data/Homo_sapiens_ucscGenes.subset.bed" ] } ], "metadata": { "kernelspec": { "display_name": "Bash", "language": "bash", "name": "bash" }, "language_info": { "codemirror_mode": "shell", "file_extension": ".sh", "mimetype": "text/x-sh", "name": "bash" } }, "nbformat": 4, "nbformat_minor": 4 } ================================================ FILE: intro-to-r/binder/Dockerfile ================================================ FROM rocker/binder:3.6.3 COPY --chown=rstudio:rstudio ./intro-to-r ${HOME} ================================================ FILE: intro-to-r/data/mbta_bus.tsv ================================================ route type cost.per.pax ridership pax.per.trip 1 Key 0.63 13306 416 4 Commuter 4.38 459 21 5 Community 2.99 156 5 7 Local 1.52 3893 177 8 Local 2.02 3844 85 9 Local 1.21 5980 187 10 Local 1.75 3184 398 11 Local 1.84 3312 237 14 Local 2.66 1285 22 15 Key 1.11 6227 111 16 Local 0.99 5100 2550 17 Local 0.71 3461 115 18 Local 2.71 630 16 19 Local 1.07 3591 211 21 Local 0.57 4696 90 22 Key 1.05 8151 170 23 Key 1 11687 899 24 Local 1.3 1725 21 26 Local 0.8 1960 41 27 Local 1.13 929 22 28 Key 0.8 13550 387 29 Local 1.71 2242 90 30 Local 1.17 2230 60 31 Local 1.07 4506 90 32 Key 1.02 10130 103 33 Local 1.67 1206 33 34 Local 2.43 5959 60 35 Local 1.75 2368 103 36 Local 1.47 3245 54 37 Local 2.1 1481 53 38 Local 2.29 1074 21 39 Key 0.72 15018 406 40 Local 1.54 1360 22 41 Local 1.84 2336 10 42 Local 0.8 2995 73 43 Local 1.93 1885 209 44 Local 1.28 3440 63 45 Local 1.53 3326 47 47 Local 1.41 4539 60 50 Local 1.74 1226 19 51 Local 1.95 1956 29 52 Local 4.97 747 22 55 Local 2.34 956 7 57 Key 0.86 12081 263 59 Local 2.71 1363 17 60 Local 2.99 1418 709 62 Local 2.53 1609 34 64 Local 2.33 1826 37 65 Local 1.43 2250 30 66 Key 0.79 13630 147 67 Local 2.98 666 4 68 Local 2.23 491 8 69 Local 0.82 3131 10 70 Local 1.96 7021 195 71 Key 1.35 5488 157 72 Local 3.05 808 31 73 Key 1.75 5834 46 74 Local 2.34 1144 29 75 Local 1.88 556 4 76 Local 3.67 1156 17 77 Key 1.95 7253 165 78 Local 3.6 1550 20 79 Local 3.05 1054 12 80 Local 2.35 1932 23 83 Local 1.49 2257 9 84 Commuter 2 356 9 85 Local 1.82 599 33 86 Local 1.07 5844 76 87 Local 1.17 3612 82 88 Local 0.89 3883 75 89 Local 1.01 3801 29 90 Local 1.75 1225 7 91 Local 1.01 1840 22 92 Local 2.68 1251 13 93 Local 1.03 4632 39 94 Local 2.02 1429 33 95 Local 2.2 1737 25 96 Local 2.09 1850 19 97 Local 2.12 841 4 99 Local 2.45 1452 12 100 Local 2.31 953 5 101 Local 1.04 4878 49 104 Local 0.9 4008 43 105 Local 1.91 983 11 106 Local 1.52 2682 47 108 Local 1.17 3166 15 109 Local 1.04 3697 127 110 Local 1.51 2885 40 111 Key 1.06 11695 38 112 Local 2.98 1367 13 114 Local 0.83 483 1 116 Key 0.88 5077 26 117 Key 0.73 4584 38 119 Local 2.16 1101 10 120 Local 1.18 3071 20 121 Commuter 1.1 443 1 131 Local 3.12 633 5 132 Local 2.49 796 3 134 Local 2.21 2186 18 136 Local 3.18 1076 16 137 Local 2.91 1028 11 170 Commuter 5.56 87 22 171 Commuter 3.23 38 0 210 Local 3.06 807 6 211 Local 2.72 890 3 212 Local 2.62 268 3 214 Local 1.35 1371 6 215 Local 2.3 1668 8 216 Local 2.65 1204 13 217 Local 7.19 223 8 220 Local 3.92 1512 6 221 Local 3.55 105 1 222 Local 2.99 1605 7 225 Local 1.86 2859 15 230 Local 3.3 1532 12 236 Local 3.56 597 2 238 Local 2.15 1894 7 240 Local 2.68 2840 13 245 Local 4.2 551 28 325 Express 7.17 289 8 326 Express 3.87 471 8 350 Local 3.36 1849 21 351 Commuter 6.33 246 11 352 Express 3.14 382 11 354 Express 5.16 764 40 411 Local 1.91 1181 39 424 Commuter 2.35 225 3 426 Local 2.14 2006 334 428 Commuter 3.5 171 7 429 Local 3.11 1559 16 430 Local 2.37 1228 26 431 Local 1.74 141 2 434 Express 2.17 75 1 435 Local 4.22 767 11 436 Local 4.44 790 790 439 Commuter 9.76 88 5 441 Local 1.86 1442 8 442 Local 1.8 2112 45 448 Commuter 4.47 162 9 449 Commuter 4.71 181 7 450 Local 2.6 1549 20 451 Local 6.34 323 25 455 Local 1.47 1797 20 456 Local 3.38 259 3 459 Local 2.75 1085 16 465 Local 4.9 348 87 468 Local 5.89 30 3 501 Express 2.68 1639 18 502 Express 1.34 1180 16 503 Express 3.45 347 9 504 Express 3.23 1452 19 505 Express 3.95 1042 15 553 Local 3.23 789 34 554 Local 4.95 618 14 556 Commuter 3.66 490 4 558 Commuter 4.11 407 7 714 Local 2.55 228 4 716 Local 4.19 106 1 201.202 Local 2.26 1582 22 712.713 Local 2.72 1597 27 CT1 Local 0.94 2261 33 CT2 Local 1.8 2580 31 CT3 Local 5.11 708 17 ================================================ FILE: intro-to-r/index.Rmd ================================================ --- title: "Intro to R" subtitle: "Bioinformatics Coffee Hour" date: "Augus 4, 2020" author: "Danielle Khost" output: html_document --- ##Setting up our working directory and saving objects vs files R is a functional programming language, which means that most of what one does is apply functions to objects. We will begin with a very brief introduction to R objects and how functions work, and then focus on getting data into R, manipulating that data in R, plotting, and analysis. First, we need to make sure we are working out of the correct directory. You can see the working directory above the console in RStudio, or use the `getwd()` function to see the current working directory. If you are not currently working in a good location to read and save files, you can use `setwd()` to change the working directory to the location of your choice. ```{r} getwd() ``` ## Vectors Let's start by creating one of the simplest R objects, a vector of numbers. ```{r} ``` v1 is an *object* which we created by using the ```<-``` operator (less followed by a dash). v1 now contains the output of the *function* ```c(1,2,3,4,5)``` (c, for **c**ombined, combines elements into a vector Let's display the contents of v1: ```{r} ``` We can also just type the name of an object (in this case ```v1```) to display it. Let's make a few more objects: ```{r} ``` With this last variable, we had to use ```""``` to specify that we want to create a character vector. Otherwise it thinks we are looking for variables to combine called a,b,c and d. ```{r, eval=FALSE} ``` We might want to get a list of all the objects we've created at this point. In R, the function ls() returns a character vector with the names of all the objects in a specified environment (by default, the set of user-defined objects and functions). ```{r} ls() ``` ## Getting Help R has very good built-in documentation that describes what functions do. To get help about a particular function, use ? followed by the function name, like so: ?ls If you are not exactly sure of the function name, you can perform a search: ??mean We can manipulate objects like so: ```{r} ``` Note that the value of ```x``` is not modified here. We did not save the output to a new object, so it is printed to the screen. If we want to update the value of ```x```, we need to use our assignment operator: ```{r} ``` R handles vector math for us automatically: ```{r} ``` > **Vector exercises:** > >1. Create a new vector, (called nums), that contains any 5 numbers you like > >2. There are a number of functions that operate on vectors, including length(), max(), min(), and mean(), all of which do exactly what they sound like they do. So for example length(nums) should return 5, because nums is a 5-element vector. Use these functions to get the minimum, maximum, and mean value for the nums vector you created. ```{r} ``` ## Object Types All objects have a type. Object types are a complex topic and we are only going to scratch the surface today. To slightly simplify, all data objects in R are either atomic vectors (contain only a single type of data), or data structures that combine atomic vectors in various ways. We'll walk through a few examples. First, let's consider a couple of the vectors that we've already made. ```{r} ``` *Numeric* and *character* data types are two of the most common we'll encounter, and are just what they sound like. Another useful type is *logical* data, as in TRUE/FALSE. We can create a logical vector directly like so: ```{r} ``` Or we can use logical tests. ```{r} ``` Note that the logical test here (>2) is applied independently to each element in the vector. We'll come back to this when we talk about data subsets. > **Object type exercises:** > >1. Construct a logical vector with the same number of elements as your nums vector, that is TRUE if the corresponding element in the nums vector is less than the mean of the nums vector, and FALSE otherwise. Call this vector big_nums ```{r} ``` ## Subsetting and Logical Vectors We can also extract portions of vectors that we've created using ```[]``` following the vector, with the positions we wish to extract. For example, we can extract portions of the nums vector: ```{r} ``` Now it can be useful to specify which positions you would like to include, but often it is more useful to create new objects based on some sort of rule. That is where logical vectors come in, and really how you will mostly be using logical vectors going forward. For example, in the last exercise, we constructed a logical vector that was the same length as our nums vector that was ```TRUE``` with if the corresponding element in the nums vector is less than the mean of the nums vector, and ```FALSE``` otherwise. Let's take a look at both of these vectors again. ```{r} ``` Let's say we actually want to extract all of the numbers that are bigger than the mean (so all of the ```TRUE```) values. All we have to do is put the logical vector in brackets. ```{r} ``` We don't necessarily have to define this vector ahead of time, but can put the rule in the brackets as well. ```{r} ``` > **Vector Subsetting Data exercises:** > > 1. Subset nums for all numbers that are larger than the minimum. > > Hints -- logical tests in R - greater than, less than, equal to, not equal to > > > '> , < , == , !=' ```{r} ``` ## Data Frames So far we've been talking about atomic vectors, which only contain a single data type (every element is logical, or character, or numeric). However, data sets will usually have multiple different data types: numeric for continunous data, character for categorical data and sample labels. Depending on how underlying types are combined, we can have four different "higher-level" data types in R: **Dimensions** | **Homogeneous** | **Heterogeneous** ---------------|-----------------|------------------- 1-D | atomic vector | list 2-D | matrix | data frame / tibble We'll focus on data frames for today, but lists and matrices can also be very powerful. A data frame is a collection of vectors, which can be (but don't have to be) different types, but all have to have the same length. Let's make a couple of toy data frames. One way to do this is with the data.frame() function. ```{r} ``` str() gives lots of information about the data type of the constituent parts of a data frame ```{r} ``` We can use the function head() to look at part of a a dataframe (or any R object). This can be very useful if you have a very large or long dataframe. You also can control how many lines of the dataframe you view with ```n=#```, although the default is 6. ```{r} ``` The summary() function can also be very useful to get a snapshot of the data in your dataframe. ```{r} ``` ###Reading files into R So far we have been working with small objects we created by hand. A more common way to create dataframes is by reading from a file. There are a few functions to do this in R: read.table() and read.csv() make this easy. ```{r} ``` > **File reading exercise** > >1. Try using head() to see the first 20 rows and summary() to see some information about the data. ```{r} ``` Again, summary() is a good way to see some basic information about a dataframe ```{r} ``` The view function can be useful for viewing dataframes in a spread-sheet like format. ```{r, eval=FALSE} ``` ### Subsetting and Manipulating Dataframes We learned about how to subset vectors earlier, now let's look at ways to get subsets of data from two-dimensional data. R uses ```[]``` to index rows and columns, like so: ```{r, eval=FALSE} ``` The first number refers to rows, and the second to columns in the case for 2-dimensional objects. Notice that when you are extracting data from a single column, the data are returned as a vector of the same type as the column. However, if you extract more than one column, the data are returend as a data frame. ```{r, eval=FALSE} ``` Often we want to select a set of rows from a data frame matching some criteria. We can use the subset() function for this. Let's start by just getting the data for key bus routes. ```{r} ``` Sometimes we might want something more complicated. Let's say we want to get data for all "local" bus routes with at least 1000 daily riders. ```{r} ``` > **Subsetting Data exercises:** > > 1. Subset bus when ridership is greater than 2500. > > 2. Subset bus when bus routes are NOT classified as Key. > > 3. Subset bus using the conditions of both #1 and #2, save as bus_2500_notKey > > Hints -- logical tests in R > > > '> , < , == , !=' > > > '& is and -->> z <- x & y TRUE only when both x and y are true' > > > '| is or -->> z <- x | y TRUE if either x or y is true' > ```{r} ``` We can add and manipulate the data frame as well, but we will save that for the next session, and use some packages specifically built for that purpose. ## Writing Data We've added several variables now, and we might want to write our updated dataset to a file. We do this with the write.table() function, which writes out a data.frame. ```{r} ``` But where did R put the file on our computer? R does all file operations without a full path in a working directory. RStudio has a preference to set the default working directory, which is typically something like /Users/Danielle/R. To see the current working directory, use: ```{r} getwd() ``` We can change the working directory with ```setwd()```. >**File operators exercises:** > >1. Write a copy of bus_2500_notKey, but **be sure to give it a different name than the original!** Otherwise you will overwrite your original data. > ```{r} ``` ================================================ FILE: intro-to-r/instructor_copy.Rmd ================================================ --- title: "Intro to R" subtitle: "Bioinformatics Coffee Hour" date: "Augus 4, 2020" author: "Danielle Khost" output: html_document --- ##Setting up our working directory and saving objects vs files R is a functional programming language, which means that most of what one does is apply functions to objects. We will begin with a very brief introduction to R objects and how functions work, and then focus on getting data into R, manipulating that data in R, plotting, and analysis. First, we need to make sure we are working out of the correct directory. You can see the working directory above the console in RStudio, or use the `getwd()` function to see the current working directory. If you are not currently working in a good location to read and save files, you can use `setwd()` to change the working directory to the location of your choice. ```{r} getwd() ``` ## Vectors Let's start by creating one of the simplest R objects, a vector of numbers. ```{r} v1<-c(1,2,3,4,5) ``` v1 is an *object* which we created by using the ```<-``` operator (less followed by a dash). v1 now contains the output of the *function* ```c(1,2,3,4,5)``` (c, for **c**ombined, combines elements into a vector Let's display the contents of v1: ```{r} print(v1) ``` We can also just type the name of an object (in this case ```v1```) to display it. Let's make a few more objects: ```{r} x<-10 x y<-11 y some_letters<-c("a", "b", "c", "d") ``` With this last variable, we had to use ```""``` to specify that we want to create a character vector. Otherwise it thinks we are looking for variables to combine called a,b,c and d. ```{r, eval=FALSE} some_letters <- c(a,b,c,d) ``` We might want to get a list of all the objects we've created at this point. In R, the function ls() returns a character vector with the names of all the objects in a specified environment (by default, the set of user-defined objects and functions). ```{r} ls() ``` ## Getting Help R has very good built-in documentation that describes what functions do. To get help about a particular function, use ? followed by the function name, like so: ?ls If you are not exactly sure of the function name, you can perform a search: ??mean We can manipulate objects like so: ```{r} x+5 x*2 x ``` Note that the value of ```x``` is not modified here. We did not save the output to a new object, so it is printed to the screen. If we want to update the value of ```x```, we need to use our assignment operator: ```{r} x<-x+5 x ``` R handles vector math for us automatically: ```{r} v1*x v2<-v1*x v2 ``` > **Vector exercises:** > >1. Create a new vector, (called nums), that contains any 5 numbers you like > >2. There are a number of functions that operate on vectors, including length(), max(), min(), and mean(), all of which do exactly what they sound like they do. So for example length(nums) should return 5, because nums is a 5-element vector. Use these functions to get the minimum, maximum, and mean value for the nums vector you created. ```{r} #1 nums <- c(33, 22, 41, 54, 91) #2 length(nums) min(nums) max(nums) mean(nums) ``` ## Object Types All objects have a type. Object types are a complex topic and we are only going to scratch the surface today. To slightly simplify, all data objects in R are either atomic vectors (contain only a single type of data), or data structures that combine atomic vectors in various ways. We'll walk through a few examples. First, let's consider a couple of the vectors that we've already made. ```{r} nums <- c(33, 22, 41, 54, 91) class(nums) class(some_letters) ``` *Numeric* and *character* data types are two of the most common we'll encounter, and are just what they sound like. Another useful type is *logical* data, as in TRUE/FALSE. We can create a logical vector directly like so: ```{r} logic1<-c(TRUE, TRUE, FALSE, FALSE) logic1 class(logic1) ``` Or we can use logical tests. ```{r} logic2<-v1>2 logic2 ``` Note that the logical test here (>2) is applied independently to each element in the vector. We'll come back to this when we talk about data subsets. > **Object type exercises:** > >1. Construct a logical vector with the same number of elements as your nums vector, that is TRUE if the corresponding element in the nums vector is less than the mean of the nums vector, and FALSE otherwise. Call this vector big_nums ```{r} #1 big_nums <- nums>mean(nums) ``` ## Subsetting and Logical Vectors We can also extract portions of vectors that we've created using ```[]``` following the vector, with the positions we wish to extract. For example, we can extract portions of the nums vector: ```{r} nums[1] nums[1:5] nums[c(1,4,5)] ``` Now it can be useful to specify which positions you would like to include, but often it is more useful to create new objects based on some sort of rule. That is where logical vectors come in, and really how you will mostly be using logical vectors going forward. For example, in the last exercise, we constructed a logical vector that was the same length as our nums vector that was ```TRUE``` with if the corresponding element in the nums vector is less than the mean of the nums vector, and ```FALSE``` otherwise. Let's take a look at both of these vectors again. ```{r} nums big_nums ``` Let's say we actually want to extract all of the numbers that are bigger than the mean (so all of the ```TRUE```) values. All we have to do is put the logical vector in brackets. ```{r} nums[big_nums] ``` We don't necessarily have to define this vector ahead of time, but can put the rule in the brackets as well. ```{r} nums[nums>mean(nums)] ``` > **Vector Subsetting Data exercises:** > > 1. Subset nums for all numbers that are larger than the minimum. > > Hints -- logical tests in R - greater than, less than, equal to, not equal to > > > '> , < , == , !=' ```{r} #1 nums[nums>min(nums)] ``` ## Data Frames So far we've been talking about atomic vectors, which only contain a single data type (every element is logical, or character, or numeric). However, data sets will usually have multiple different data types: numeric for continunous data, character for categorical data and sample labels. Depending on how underlying types are combined, we can have four different "higher-level" data types in R: **Dimensions** | **Homogeneous** | **Heterogeneous** ---------------|-----------------|------------------- 1-D | atomic vector | list 2-D | matrix | data frame / tibble We'll focus on data frames for today, but lists and matrices can also be very powerful. A data frame is a collection of vectors, which can be (but don't have to be) different types, but all have to have the same length. Let's make a couple of toy data frames. One way to do this is with the data.frame() function. ```{r} df1<-data.frame(label=c("rep1", "rep2", "rep3", "rep4"), data=c(23, 34, 15, 19)) df1 class(df1) ``` str() gives lots of information about the data type of the consituent parts of a data frame ```{r} str(df1) ``` We can use the function head() to look at part of a a dataframe (or any R object). This can be very useful if you have a very large or long dataframe. You also can control how many lines of the dataframe you view with ```n=#```, although the default is 6. ```{r} head(df1) head(df1, n=2) ``` The summary() function can also be very useful to get a snapshot of the data in your dataframe. ```{r} summary(df1) ``` ###Reading files into R So far we have been working with small objects we created by hand. A more common way to create dataframes is by reading from a file. There are a few functions to do this in R: read.table() and read.csv() make this easy. ```{r} bus<-read.table(file="/home/rstudio/data/mbta_bus.tsv", sep="\t", header=TRUE) ``` > **File reading exercise** > >1. Try using head() to see the first 20 rows and summary() to see some information about the data. ```{r} #2 head(bus, n=20) ``` Again, summary() is a good way to see some basic information about a dataframe ```{r} summary(bus) ``` The view function can be useful for viewing dataframes in a spread-sheet like format. ```{r, eval=FALSE} View(bus) ``` ### Subsetting and Manipulating Dataframes We learned about how to subset vectors earlier, now let's look at ways to get subsets of data from two-dimensional data. R uses ```[]``` to index rows and columns, like so: ```{r, eval=FALSE} bus[1,1] bus[1,] bus[1:5,] bus[1:5,4] bus[c(1,3,5),c(2,3)] ``` The first number refers to rows, and the second to columns in the case for 2-dimensional objects. Notice that when you are extracting data from a single column, the data are returned as a vector of the same type as the column. However, if you extract more than one column, the data are returend as a data frame. ```{r, eval=FALSE} str(bus[1,1]) str(bus[1:5,3]) str(bus[1:3,1:3]) ``` Often we want to select a set of rows from a data frame matching some criteria. We can use the subset() function for this. Let's start by just getting the data for key bus routes. ```{r} key.bus<-subset(bus,type=="Key") View(key.bus) ``` Sometimes we might want something more complicated. Let's say we want to get data for all "local" bus routes with at least 1000 daily riders. ```{r} local.bus<-subset(bus, type=="Local" & ridership > 1000) View(local.bus) ``` > **Subsetting Data exercises:** > > 1. Subset bus when ridership is greater than 2500. > > 2. Subset bus when bus routes are NOT classified as Key. > > 3. Subset bus using the conditions of both #1 and #2, save as bus_2500_notKey > > Hints -- logical tests in R > > > '> , < , == , !=' > > > '& is and -->> z <- x & y TRUE only when both x and y are true' > > > '| is or -->> z <- x | y TRUE if either x or y is true' > ```{r} #1 subset(bus,ridership>2500) #2 subset(bus,type!="Key") #3 bus_2500_notKey <- subset(bus, ridership>2500 & type != "Key") ``` We can add and manipulate the data frame as well, but we will save that for the next session, and use some packages specifically built for that purpose. ## Writing Data We've added several variables now, and we might want to write our updated dataset to a file. We do this with the write.table() function, which writes out a data.frame. ```{r} write.table(bus, file="mbta_bus_data.tsv", quote=F, sep="\t", row.names=F, col.names=T) ``` But where did R put the file on our computer? R does all file operations without a full path in a working directory. RStudio has a preference to set the default working directory, which is typically something like /Users/Danielle/R. To see the current working directory, use: ```{r} getwd() ``` We can change the working directory with ```setwd()```. >**File operators exercises:** > >1. Write a copy of bus_2500_notKey, but **be sure to give it a different name than the original!** Otherwise you will overwrite your original data. > ```{r} write.table(bus_2500_notKey,file="bus_2500_notKey.tsv",quote=F,sep="\t",row.names=F,col.names=F) ``` ================================================ FILE: intro_awk_spring2021/.ipynb_checkpoints/index-checkpoint.ipynb ================================================ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Manipulating files with AWK\n", "### Bioinformatics Coffee Hour - April 14, 2020\n", "\n", "### What is awk?\n", "Invented in the 1970's, [awk](https://en.wikipedia.org/wiki/AWK) is a scripting language included in most Unix-like operating systems. It specializes in one-liner programs and manipulating text files.\n", "\n", "In many cases, if you're parsing information from a text file (such as a [BED](https://en.wikipedia.org/wiki/BED_(file_format)) file, [FASTA](https://en.wikipedia.org/wiki/FASTA) file, etc.), you could write a Python script...or you could do it with awk in a single line!\n", "\n", "### Syntax\n", "awk scripts are organized as:\n", "\n", "`awk 'pattern { action; other action }' file`\n", "\n", "Meaning that every time that the pattern is true, awk will execute the action in the brackets.\n", "If no pattern is specified, the action will be taken for every line in the input file, e.g. the following command prints every line:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "awk '{print}' data/hg38.genome | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The two most important patterns are `BEGIN` and `END`, which tell the action to take place before any lines are read and after the last line." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "awk 'BEGIN{sum=0} {sum+=1} END {print sum}' data/hg38.genome" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " The above line sets a variable at the start of the script, adds 1 to it every line, then prints its value at the end." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If a variable hasn't been initialized, it is treated as 0 in numeric expressions, and an empty string in string expressions—awk will not print an error!\n", "So the following awk script also prints the number of lines in the file data/hg38.genome:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "awk '{sum+=1} END {print sum}' data/hg38.genome" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Input and output\n", "Input to awk is split into **records** and **fields**.\n", "- By default, **records** are separated by newline character, i.e # of records = # of lines in input file\n", "- Each record is subdivided into **fields**, i.e. columns, as determined by the field separator (see below)\n", "\n", "There are several important built-in variable in awk.\n", "The fields (columns) of each record are referred to by `$number`, so the first column would be `$1`, second would be `$2`, etc. `$0` refers to the entire record.\n", "\n", "So to print the second column of each line in the file, we'd use:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "awk '{print $2}' data/hg38.genome | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And if we wanted to print the second then the first:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "awk '{print $2,$1}' data/hg38.genome | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that when the different fields are separated with commas in the `print` statement, they are joined by the output field separator (the **OFS** variable, described below), which is by default a space.\n", "If the comma is omitted between fields (e.g., `awk '{print $2 $1}'`, they are concatenated without a separator.\n", "\n", "We can also print strings using using quotation marks:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "awk '{print \"First column:\" $1}' data/hg38.genome | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Which for every line of the file will print the text \"First column:\" followed by the value in the first field." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "awk has several other built-in variables that are very useful for parsing text, including:\n", "\n", "| | |\n", "---|---|\n", "| **FS** | field separator (default: white space) |\n", "| **OFS** | output field separator, i.e. what character separates fields when printing|\n", "| **RS** | record separator, i.e. what character records are split on (default: new line) |\n", "| **ORS** | output record separator |\n", "| **NR** | number of records in input (# lines by default) |\n", "\n", "Assigning to a field causes the entire record ($0) to be recomputed using **OFS**. We can use this to convert between file formats, e.g. make a comma-separated text file into a tab-separated file. First, let's look at the first few lines on our comma-separated file using `head`:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "head data/enhancers.csv" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let's convert the file:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "awk 'BEGIN{FS=\",\" ; OFS=\"\\t\"} {$1 = $1; print $0}' data/enhancers.csv | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Conditionals and pattern matching\n", "Like other programming languages, awk allows conditional matching with if/else statements.\n", "\n", "`awk '{if(condition) action; else other_action}'`\n", "\n", "awk uses the following conditional operators:\n", "\n", "| | |\n", "|-|-|\n", "|==|equal to|\n", "|!=|not equal to|\n", "|>|greater than|\n", "|>=|greater than or equal to|\n", "|<|less than|\n", "|<=|less than or equal to|\n", "|&&|AND|\n", "| \\|\\| |OR|\n", "| ! | NOT |\n", "\n", "In addition, awk also supports string matching using regular expressions, using the following expressions:\n", "\n", "| | |\n", "|-|-|\n", "|\\~|matches|\n", "|!~|does not match|\n", "\n", "For string matching, the pattern being matched must be enclosed by slashes, like so:\n", "\n", "`awk '{if($1 ~ /pattern/) print}'`\n", "\n", "Note that if an action isn't specified, the default action is `{print}`, so the previous awk command is equivalent to the following, which specifies only a pattern expression:\n", "\n", "`awk '$1 ~ /pattern/'`\n", "\n", "---\n", "### Example uses:\n", "\n", "- Count number of sequences in a FASTQ file:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "awk 'END{print NR/4}' data/example.fastq" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Note**: this is technically safer than using grep, as you don't have to worry about accidentally counting the quality line.\n", "\n", "- Only print annotations on a specific scaffold (chr1) that fall between 1Mb and 2Mb from a BED annotation file. First let's look at the first few lines of the file using `head`:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "head data/Homo_sapiens_ucscGenes.subset.bed" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now subset the file:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "awk 'BEGIN{FS=\"\\t\";OFS=\"\\t\"} {if($1 == \"chr1\" && $2 >=1000000 && $2 <= 2000000) print}' data/Homo_sapiens_ucscGenes.subset.bed | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Note**: when we specify that we only want annotations from chr1, we're using exact match (`== \"chr1\"`) and not pattern match (`~ /chr1/`)...why is this??" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Only print lines of GFF annotation file that match the string \"exon\" in their third column. Again, let's look at the first few lines of the file:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "head data/Homo_sapiens.GRCh38.subset.gff3" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Then subset the file:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "awk 'BEGIN{FS=\"\\t\"} {if($3 ~ /exon/) print $0}' data/Homo_sapiens.GRCh38.subset.gff3 | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Convert from GFF (genome feature file) to BED file " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "grep -v '^#' data/Homo_sapiens.GRCh38.subset.gff3 | awk 'BEGIN{FS=\"\\t\"; OFS=\"\\t\"} {print $1,$4-1,$5}' | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Note**: remember that BED and GFF files have different coordinate systems, i.e. BED start coordinate is 0 based, half-open, GFF is 1-based inclusive! Also, we are first using grep to skip the header lines in the GFF file.\n", "\n", "Alternatively, you could do the whole thing with only awk, no grep required:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "awk 'BEGIN{FS=\"\\t\"; OFS=\"\\t\"} !/^#/ {print $1,$4-1,$5}' data/Homo_sapiens.GRCh38.subset.gff3 | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "With this command, `!/^#/` is a pattern (like `BEGIN` or `END`) that tell awk to execute the print statement when the start of the line does not match a `#`. Use whichever makes the most sense to you!\n", "\n", "### Practice\n", "Using awk:\n", "\n", "* Pull out only the CDS annotations (i.e. has \"CDS\" in the 3rd column) from the GFF file data/Homo_sapiens.GRCh38.subset.gff3 and output them in BED format" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*Try it*" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "awk '...' data/Homo_sapiens.GRCh38.subset.gff3 | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*Solution*" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "jupyter": { "source_hidden": true } }, "outputs": [], "source": [ "awk 'BEGIN{FS=\"\\t\"; OFS=\"\\t\"} {if($3 ~ /CDS/) print $1,$4-1,$5}' data/Homo_sapiens.GRCh38.subset.gff3" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Calculate the average length of gene annotations from the file data/Homo_sapiens_ucscGenes.subset.bed" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*Try it*" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "awk '...' data/Homo_sapiens_ucscGenes.subset.bed" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*Solution*" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "jupyter": { "source_hidden": true } }, "outputs": [], "source": [ "awk 'BEGIN{FS=\"\\t\"; sum=0} {len=$3-$2; sum=sum+len} END{print sum/NR}' data/Homo_sapiens_ucscGenes.subset.bed" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.1" } }, "nbformat": 4, "nbformat_minor": 4 } ================================================ FILE: intro_awk_spring2021/binder/.ipynb_checkpoints/environment-checkpoint.yml ================================================ dependencies: - bash_kernel ================================================ FILE: intro_awk_spring2021/binder/environment.yml ================================================ dependencies: - bash_kernel ================================================ FILE: intro_awk_spring2021/data/.ipynb_checkpoints/Homo_sapiens.GRCh38.subset-checkpoint.gff3 ================================================ ##gff-version 3 ##sequence-region 1 1 248956422 1 Ensembl chromosome 1 248956422 . . . ID=chromosome:1 1 . biological_region 10469 11240 1.3e+03 . . external_name=oe %3D 0.79 1 . biological_region 10650 10657 0.999 + . logic_name=eponine 1 . biological_region 10655 10657 0.999 - . logic_name=eponine 1 . biological_region 10678 10687 0.999 + . logic_name=eponine 1 . biological_region 10681 10688 0.999 - . logic_name=eponine 1 . biological_region 10707 10716 0.999 + . logic_name=eponine 1 . biological_region 10708 10718 0.999 - . logic_name=eponine 1 . biological_region 10735 10747 0.999 - . logic_name=eponine 1 . biological_region 10737 10744 0.999 + . logic_name=eponine 1 . biological_region 10766 10773 0.999 + . logic_name=eponine 1 . biological_region 10770 10779 0.999 - . logic_name=eponine 1 . biological_region 10796 10801 0.999 + . logic_name=eponine 1 . biological_region 10810 10819 0.999 - . logic_name=eponine 1 . biological_region 10870 10872 0.999 + . logic_name=eponine 1 . biological_region 10889 10893 0.999 - . logic_name=eponine 1 havana pseudogene 11869 14409 . + . ID=gene:ENSG00000223972 1 havana lnc_RNA 11869 14409 . + . ID=transcript:ENST00000456328 1 havana exon 11869 12227 . + . Parent=transcript:ENST00000456328 1 havana exon 12613 12721 . + . Parent=transcript:ENST00000456328 1 havana exon 13221 14409 . + . Parent=transcript:ENST00000456328 1 havana pseudogenic_transcript 12010 13670 . + . ID=transcript:ENST00000450305 1 havana exon 12010 12057 . + . Parent=transcript:ENST00000450305 1 havana exon 12179 12227 . + . Parent=transcript:ENST00000450305 1 havana exon 12613 12697 . + . Parent=transcript:ENST00000450305 1 havana exon 12975 13052 . + . Parent=transcript:ENST00000450305 1 havana exon 13221 13374 . + . Parent=transcript:ENST00000450305 1 havana exon 13453 13670 . + . Parent=transcript:ENST00000450305 1 havana pseudogene 14404 29570 . - . ID=gene:ENSG00000227232 1 havana pseudogenic_transcript 14404 29570 . - . ID=transcript:ENST00000488147 1 havana exon 14404 14501 . - . Parent=transcript:ENST00000488147 1 havana exon 15005 15038 . - . Parent=transcript:ENST00000488147 1 havana exon 15796 15947 . - . Parent=transcript:ENST00000488147 1 havana exon 16607 16765 . - . Parent=transcript:ENST00000488147 1 havana exon 16858 17055 . - . Parent=transcript:ENST00000488147 1 havana exon 17233 17368 . - . Parent=transcript:ENST00000488147 1 havana exon 17606 17742 . - . Parent=transcript:ENST00000488147 1 havana exon 17915 18061 . - . Parent=transcript:ENST00000488147 1 havana exon 18268 18366 . - . Parent=transcript:ENST00000488147 1 havana exon 24738 24891 . - . Parent=transcript:ENST00000488147 1 havana exon 29534 29570 . - . Parent=transcript:ENST00000488147 1 . biological_region 15796 16060 0.999 - . external_name=rank %3D 1 1 mirbase ncRNA_gene 17369 17436 . - . ID=gene:ENSG00000278267 1 mirbase miRNA 17369 17436 . - . ID=transcript:ENST00000619216 1 mirbase exon 17369 17436 . - . Parent=transcript:ENST00000619216 1 . biological_region 28736 29810 1.01e+03 . . external_name=oe %3D 0.88 1 . biological_region 29116 29118 0.999 + . logic_name=eponine 1 . biological_region 29127 29206 1 + . external_name=rank %3D 1 1 . biological_region 29321 29395 1 - . external_name=rank %3D 1 1 . biological_region 29394 29396 0.999 - . logic_name=eponine 1 . biological_region 29448 29451 0.999 + . logic_name=eponine 1 havana ncRNA_gene 29554 31109 . + . ID=gene:ENSG00000243485 1 havana lnc_RNA 29554 31097 . + . ID=transcript:ENST00000473358 1 havana exon 29554 30039 . + . Parent=transcript:ENST00000473358 1 havana exon 30564 30667 . + . Parent=transcript:ENST00000473358 1 havana exon 30976 31097 . + . Parent=transcript:ENST00000473358 1 havana lnc_RNA 30267 31109 . + . ID=transcript:ENST00000469289 1 havana exon 30267 30667 . + . Parent=transcript:ENST00000469289 1 havana exon 30976 31109 . + . Parent=transcript:ENST00000469289 1 . biological_region 29583 29584 0.999 - . logic_name=eponine 1 mirbase ncRNA_gene 30366 30503 . + . ID=gene:ENSG00000284332 1 mirbase miRNA 30366 30503 . + . ID=transcript:ENST00000607096 1 mirbase exon 30366 30503 . + . Parent=transcript:ENST00000607096 1 havana ncRNA_gene 34554 36081 . - . ID=gene:ENSG00000237613 1 havana lnc_RNA 34554 36081 . - . ID=transcript:ENST00000417324 1 havana exon 34554 35174 . - . Parent=transcript:ENST00000417324 1 havana exon 35277 35481 . - . Parent=transcript:ENST00000417324 1 havana exon 35721 36081 . - . Parent=transcript:ENST00000417324 1 havana lnc_RNA 35245 36073 . - . ID=transcript:ENST00000461467 1 havana exon 35245 35481 . - . Parent=transcript:ENST00000461467 1 havana exon 35721 36073 . - . Parent=transcript:ENST00000461467 1 . biological_region 35904 36086 0.879 - . external_name=rank %3D 1 1 havana pseudogene 52473 53312 . + . ID=gene:ENSG00000268020 1 havana pseudogenic_transcript 52473 53312 . + . ID=transcript:ENST00000606857 1 havana exon 52473 53312 . + . Parent=transcript:ENST00000606857 1 havana pseudogene 57598 64116 . + . ID=gene:ENSG00000240361 1 havana lnc_RNA 57598 64116 . + . ID=transcript:ENST00000642116 1 havana exon 57598 57653 . + . Parent=transcript:ENST00000642116 1 havana exon 58700 58856 . + . Parent=transcript:ENST00000642116 1 havana exon 62916 64116 . + . Parent=transcript:ENST00000642116 1 havana pseudogenic_transcript 62949 63887 . + . ID=transcript:ENST00000492842 1 havana exon 62949 63887 . + . Parent=transcript:ENST00000492842 1 ensembl_havana gene 65419 71585 . + . ID=gene:ENSG00000186092 1 havana mRNA 65419 71585 . + . ID=transcript:ENST00000641515 1 havana exon 65419 65433 . + . Parent=transcript:ENST00000641515 1 havana five_prime_UTR 65419 65433 . + . Parent=transcript:ENST00000641515 1 havana exon 65520 65573 . + . Parent=transcript:ENST00000641515 1 havana five_prime_UTR 65520 65573 . + . Parent=transcript:ENST00000641515 1 havana five_prime_UTR 69037 69090 . + . Parent=transcript:ENST00000641515 1 havana exon 69037 71585 . + . Parent=transcript:ENST00000641515 1 havana CDS 69091 70008 . + 0 ID=CDS:ENSP00000493376 1 havana three_prime_UTR 70009 71585 . + . Parent=transcript:ENST00000641515 1 ensembl mRNA 69055 70108 . + . ID=transcript:ENST00000335137 1 ensembl five_prime_UTR 69055 69090 . + . Parent=transcript:ENST00000335137 1 ensembl exon 69055 70108 . + . Parent=transcript:ENST00000335137 1 ensembl CDS 69091 70008 . + 0 ID=CDS:ENSP00000334393 1 ensembl three_prime_UTR 70009 70108 . + . Parent=transcript:ENST00000335137 1 ensembl_havana ncRNA_gene 89295 133723 . - . ID=gene:ENSG00000238009 1 havana lnc_RNA 89295 120932 . - . ID=transcript:ENST00000466430 1 havana exon 89295 91629 . - . Parent=transcript:ENST00000466430 ================================================ FILE: intro_awk_spring2021/data/.ipynb_checkpoints/Homo_sapiens_ucscGenes.subset-checkpoint.bed ================================================ chr1 11873 14409 uc010nxq.1 chr1 14361 19759 uc009viu.3 chr1 14406 29370 uc009viw.2 chr1 34610 36081 uc001aak.3 chr1 69090 70008 uc001aal.1 chr1 134772 140566 uc021oeg.2 chr1 321083 321115 uc001aaq.2 chr1 321145 321207 uc001aar.2 chr1 322036 326938 uc009vjk.2 chr1 327545 328439 uc021oei.1 chr1 367658 368597 uc010nxu.2 chr1 420205 421839 uc001aax.1 chr1 566092 566115 uc021oej.1 chr1 566134 566155 uc021oek.1 chr1 566239 566263 uc021oel.1 chr1 568843 568913 uc001abb.3 chr1 621095 622034 uc010nxv.2 chr1 661138 670994 uc009vjm.3 chr1 668417 668479 uc001abi.2 chr1 668509 668541 uc001abj.3 chr1 671823 671885 uc010nxw.2 chr1 671915 671947 uc001abl.3 chr1 674239 679736 uc001abm.2 chr1 700244 714068 uc001abo.3 chr1 761585 762902 uc010nxx.2 chr1 762970 794826 uc001abp.2 chr1 803450 812182 uc001abt.4 chr1 846814 850328 uc001abu.1 chr1 852952 854817 uc010nxy.1 chr1 861120 879961 uc001abw.1 chr1 879582 894679 uc001abz.4 chr1 895966 901099 uc001aca.2 chr1 901876 910484 uc001acd.3 chr1 910578 917473 uc001ach.2 chr1 934341 935552 uc001aci.2 chr1 948846 949919 uc001acj.4 chr1 955502 991499 uc001ack.2 chr1 995116 1001833 uc001acl.1 chr1 1007125 1009687 uc021oen.1 chr1 1017197 1051736 uc001acu.2 chr1 1072396 1079434 uc001acv.3 chr1 1102483 1102578 uc001acw.2 chr1 1103242 1103332 uc010nye.1 chr1 1103295 1103317 uc031pkr.1 chr1 1104384 1104467 uc010nyf.1 chr1 1104434 1104456 uc031pks.1 chr1 1108435 1114935 uc001acx.1 chr1 1109285 1133313 uc001acy.2 chr1 1138887 1142089 uc001add.3 chr1 1146705 1149548 uc001ade.3 chr1 1152287 1167447 uc001adh.4 chr1 1167628 1170420 uc001adk.3 chr1 1177825 1182102 uc001adl.2 chr1 1189291 1209234 uc001ado.3 chr1 1215815 1227409 uc001adt.1 chr1 1227763 1243269 uc001aeb.2 chr1 1243993 1247057 uc001aed.3 chr1 1246964 1260067 uc001aee.2 chr1 1260142 1264276 uc001aeo.3 chr1 1266725 1269844 uc010nyk.2 chr1 1270657 1284492 uc001aer.4 chr1 1288070 1293915 uc001aew.3 chr1 1309109 1310562 uc009vkb.1 chr1 1321090 1334718 uc001afi.2 chr1 1334909 1337426 uc001afm.3 chr1 1337275 1342693 uc001afo.4 chr1 1353799 1356824 uc010nyo.2 chr1 1361507 1363167 uc010nyp.2 chr1 1370902 1378262 uc001afs.3 chr1 1385068 1405538 uc001aft.2 chr1 1407163 1431582 uc001afv.3 chr1 1447522 1470067 uc001afz.2 chr1 1470157 1475740 uc009vkf.3 chr1 1477052 1510262 uc001agd.3 chr1 1510354 1510644 uc021oer.1 chr1 1533387 1535476 uc021oes.1 chr1 1535818 1543166 uc001agf.1 chr1 1550794 1565990 uc001agg.3 chr1 1567559 1570030 uc001agp.3 chr1 1571099 1655775 uc001agv.1 chr1 1586822 1590469 uc001ahc.1 chr1 1592938 1624243 uc001ahg.4 chr1 1631377 1633247 uc001ahi.1 chr1 1656053 1663343 uc001ahx.2 chr1 1658823 1677438 uc001aia.2 chr1 1682670 1711508 uc001aie.3 chr1 1716724 1822526 uc001aif.3 chr1 1846265 1848733 uc001aih.1 chr1 1849028 1850740 uc001aij.2 chr1 1853395 1858842 uc001aik.3 chr1 1884751 1935276 uc001aim.1 chr1 1944651 1946969 uc001aio.1 chr1 1950767 1962192 uc001aip.2 chr1 1981908 2116834 uc001aiq.3 chr1 2112574 2114663 uc001aiu.1 chr1 2115898 2126214 uc031pkt.1 chr1 2121236 2123179 uc001aiz.2 chr1 2160133 2241652 uc001aja.4 chr1 2252695 2322993 uc001ajb.1 chr1 2281852 2284100 uc001ajc.3 chr1 2309493 2322993 uc010nyy.2 chr1 2323213 2336885 uc001aje.2 chr1 2336240 2344010 uc001ajg.3 chr1 2407753 2436964 uc001aji.1 chr1 2439974 2458035 uc001ajm.1 chr1 2460183 2461684 uc001ajn.3 chr1 2481358 2484284 uc001ajo.2 chr1 2486162 2488450 uc021oev.1 chr1 2487804 2495188 uc001ajt.1 chr1 2487804 2495267 uc001ajr.3 chr1 2518188 2522908 uc001ajv.2 chr1 2522080 2564481 uc001ajy.2 chr1 2572806 2706230 uc021oey.1 chr1 2938045 2939467 uc001ajz.3 chr1 2976180 2980350 uc001aka.3 chr1 2980635 2984289 uc010nzg.1 chr1 2985741 3355185 uc001akf.3 chr1 3044538 3044599 uc021oez.1 chr1 3371146 3397677 uc001akg.4 chr1 3404505 3528059 uc001akl.3 chr1 3477259 3477354 uc021ofa.1 chr1 3541555 3546694 uc001akm.3 chr1 3547330 3566671 uc001ako.3 chr1 3569128 3652765 uc001akp.3 chr1 3652547 3663937 uc009vlm.3 chr1 3668964 3688209 uc001akv.2 chr1 3689351 3692546 uc001akw.4 chr1 3696783 3713068 uc001akx.1 chr1 3728644 3773797 uc001aky.2 chr1 3773844 3801993 uc001alc.3 chr1 3805696 3816857 uc001alf.3 chr1 3816967 3832011 uc001alg.3 chr1 4000671 4012643 uc001ali.2 chr1 4472110 4484744 uc001alj.2 chr1 4715104 4843851 uc001aln.3 chr1 4847557 4852183 uc001alo.4 chr1 5621768 5728315 uc001alp.1 chr1 5624130 5624203 uc021ofm.1 chr1 5922731 5922801 uc021ofn.1 chr1 5922869 6052533 uc001alq.2 chr1 6105980 6161253 uc001aly.2 chr1 6161846 6240194 uc001amb.2 chr1 6245079 6259679 uc001amd.3 chr1 6266188 6281359 uc001amg.3 chr1 6281252 6296044 uc001amk.3 chr1 6297870 6299502 uc001amm.3 chr1 6304251 6305638 uc009vly.2 chr1 6307405 6321035 uc001amp.2 chr1 6324331 6453826 uc001amt.3 chr1 6475293 6479979 uc001amx.3 chr1 6484847 6521004 uc001amy.3 chr1 6489893 6489956 uc021ofo.1 chr1 6521213 6526255 uc001anh.3 chr1 6526151 6545529 uc010nzr.1 chr1 6581406 6614658 uc001ans.3 chr1 6615337 6639817 uc001ant.3 chr1 6640062 6649340 uc001anx.3 chr1 6650783 6662929 uc001aoa.3 chr1 6673755 6684093 uc001aob.4 chr1 6685209 6693642 uc001aod.3 chr1 6694227 6761966 uc001aof.2 chr1 6845383 7829766 uc001aoi.3 chr1 7831328 7841492 uc001aol.3 chr1 7844713 7905237 uc001aoo.3 chr1 7907671 7913565 uc001aos.3 chr1 7975930 8003225 uc001aot.3 chr1 7990338 7990408 uc021ofs.1 chr1 8021713 8045342 uc001aox.4 chr1 8071778 8086393 uc001aoz.3 chr1 8384389 8404227 uc001apb.3 chr1 8412463 8877699 uc001apf.3 chr1 8440651 8441235 uc001apg.1 chr1 8921058 8939151 uc001apj.2 chr1 8938893 8939943 uc021oft.1 chr1 9005892 9034503 uc031plc.1 chr1 9063358 9086404 uc009vmo.1 chr1 9097004 9129887 uc001apo.3 chr1 9164475 9189229 uc001apq.1 chr1 9186983 9189250 uc001aps.3 chr1 9208345 9242451 uc009vmq.3 chr1 9294862 9331394 uc001apt.3 chr1 9352940 9429590 uc010oae.2 chr1 9497727 9497837 uc021ofx.1 chr1 9599527 9642831 uc001apw.3 chr1 9648931 9674935 uc021ofy.1 chr1 9711789 9789172 uc001aqb.4 chr1 9712667 9714644 uc001aqc.4 chr1 9740902 9747627 uc021oga.1 chr1 9789078 9884550 uc001aqh.3 chr1 9908333 9970316 uc001aql.1 chr1 9989775 10002840 uc001aqm.3 chr1 10003485 10045556 uc001aqp.3 chr1 10057254 10076078 uc001aqq.3 chr1 10093040 10241296 uc001aqs.4 chr1 10270763 10441661 uc001aqw.4 chr1 10459084 10480201 uc001arc.3 chr1 10490158 10512060 uc021ogd.1 chr1 10520602 10532613 uc001arj.3 chr1 10535002 10690815 uc001arn.3 chr1 10696665 10856733 uc001aro.4 chr1 10744633 10744736 uc021ogh.1 chr1 11006529 11042094 uc010oao.2 chr1 11072678 11085549 uc001art.3 chr1 11086579 11107296 uc001aru.3 chr1 11114648 11120091 uc001arz.1 chr1 11126675 11159938 uc001asa.3 chr1 11166587 11322608 uc001asd.3 chr1 11203954 11209595 uc031plf.1 chr1 11249345 11256038 uc001ase.4 chr1 11333254 11348491 uc001asg.3 chr1 11539294 11597640 uc001ash.4 chr1 11708417 11714888 uc001asj.3 chr1 11714913 11723384 uc001asm.3 chr1 11724149 11734409 uc001aso.3 chr1 11734536 11751678 uc009vnc.3 chr1 11751780 11780336 uc001asr.1 chr1 11782186 11785914 uc001ass.2 chr1 11796141 11810828 uc001asv.3 chr1 11824461 11826573 uc001asy.1 chr1 11832138 11849642 uc001asz.3 chr1 11845786 11866160 uc001atc.2 chr1 11866152 11903201 uc001ate.5 chr1 11905766 11907840 uc001ati.3 chr1 11917520 11918992 uc001atj.3 chr1 11979644 11986485 uc001atk.3 chr1 11994723 12035599 uc001atm.3 chr1 12040237 12073572 uc009vni.3 chr1 12079298 12092106 uc001ato.2 chr1 12123433 12204264 uc001atq.3 chr1 12227059 12269277 uc001att.3 chr1 12251761 12251839 uc021ogi.1 chr1 12290112 12572098 uc001atv.3 chr1 12567299 12567451 uc001atz.1 chr1 12627938 12677820 uc001auc.3 chr1 12704565 12727097 uc001auf.3 chr1 12776117 12788726 uc009vnn.1 chr1 12806162 12821102 uc001auh.3 chr1 12834983 12838048 uc001aui.3 chr1 12851545 12856777 uc001auj.2 chr1 12884467 12891264 uc001auk.2 chr1 12907235 12908237 uc009vno.2 chr1 12916940 12921764 uc001aum.1 chr1 12939032 12946025 uc001aun.2 chr1 12952726 12958094 uc001auo.3 chr1 12976449 12980568 uc001aup.3 chr1 12998301 13007406 uc001auq.2 chr1 13035542 13038381 uc009vnq.1 chr1 13182959 13184326 uc010obg.2 chr1 13328195 13331692 uc001aut.1 chr1 13359818 13369057 uc001auu.1 chr1 13386646 13390765 uc001auv.3 chr1 13421175 13428191 uc001auw.1 chr1 13447413 13452656 uc010obi.1 chr1 13474052 13477569 uc009vnu.1 chr1 13495253 13498259 uc001aux.3 chr1 13516065 13526943 uc009vnv.1 chr1 13607430 13611550 uc001auy.2 chr1 13629937 13635299 uc001auz.4 chr1 13641972 13648988 uc001ava.1 chr1 13694888 13698405 uc009vny.1 chr1 13716087 13719064 uc009vnz.1 chr1 13736906 13747803 uc009voa.1 chr1 13801444 13840242 uc001avb.3 chr1 13910251 13944452 uc001avd.3 chr1 14031349 14151574 uc001avi.3 chr1 14925212 15444544 uc001avm.4 chr1 15438310 15478960 uc009voh.3 chr1 15480228 15546974 uc001avx.3 chr1 15573767 15724622 uc001awb.2 chr1 15653175 15670372 uc001awc.1 chr1 15736390 15756839 uc001awh.2 chr1 15764937 15773153 uc001awi.1 chr1 15783222 15798586 uc001awk.3 chr1 15802595 15817895 uc001awl.3 chr1 15817895 15850940 uc001awn.4 chr1 15853351 15898228 uc001aws.3 chr1 15898193 15911605 uc001awv.2 chr1 15943952 15987552 uc001awx.2 chr1 15986363 15988217 uc010obn.2 chr1 15992765 15995537 uc001awz.3 chr1 16010826 16061264 uc010obo.2 chr1 16062808 16067884 uc001axb.1 chr1 16068986 16074292 uc001axc.4 chr1 16085254 16113084 uc001axe.1 chr1 16133656 16134194 uc009vol.1 chr1 16160709 16174642 uc001axj.2 chr1 16174358 16266950 uc001axk.1 chr1 16268363 16302627 uc001axl.4 chr1 16317618 16317647 uc001axm.1 chr1 16330730 16333184 uc001axn.3 chr1 16340522 16345285 uc001axo.2 chr1 16348485 16360545 uc001axu.3 chr1 16384263 16400127 uc001axz.4 chr1 16450831 16482582 uc001aya.2 chr1 16524598 16539104 uc001ayc.1 chr1 16558181 16563659 uc001ayd.3 chr1 16576558 16678948 uc001ayg.3 chr1 16693524 16724643 uc001aym.5 chr1 16725137 16763919 uc001ayn.3 chr1 16767166 16786584 uc001ayq.3 chr1 16793930 16819196 uc001ayt.2 chr1 16847079 16847153 uc021ogp.1 chr1 16858892 16858966 uc021ogq.1 chr1 16860349 16862144 uc021ogr.1 chr1 16862254 16864669 uc001ayv.2 chr1 16872433 16872504 uc021ogs.1 chr1 16874159 16874232 uc021ogt.1 chr1 16875408 16875482 uc021ogu.1 chr1 16888921 16940100 uc001ayw.4 chr1 16944756 16959841 uc001azf.3 chr1 16972068 16976915 uc010och.2 chr1 17004765 17004836 uc021ogw.1 chr1 17006500 17006573 uc021ogx.1 chr1 17007749 17007823 uc021ogy.1 chr1 17017712 17046652 uc001azn.1 chr1 17052060 17052133 uc021ogz.1 chr1 17053779 17053850 uc021oha.1 chr1 17081128 17090975 uc010ock.3 chr1 17180899 17180971 uc021ohb.1 chr1 17185443 17185516 uc021ohc.1 chr1 17186692 17186765 uc021ohd.1 chr1 17188415 17188486 uc021ohe.1 chr1 17197439 17200574 uc021ohf.2 chr1 17201957 17202031 uc021ohg.1 chr1 17215040 17216161 uc001azs.1 chr1 17216171 17216245 uc021ohh.1 chr1 17222645 17222720 uc021ohi.1 chr1 17248444 17299474 uc001azt.2 chr1 17300998 17307173 uc001azw.3 chr1 17312452 17338423 uc001baa.2 chr1 17345224 17380665 uc001bae.3 chr1 17393255 17445948 uc001baf.3 chr1 17531620 17572501 uc001bah.1 chr1 17566189 17572501 uc009vpb.1 chr1 17575592 17610727 uc001bai.3 chr1 17581660 17581778 uc021ohk.1 chr1 17634689 17690495 uc001baj.2 chr1 17698740 17728195 uc001bak.1 chr1 17733250 17765059 uc001bal.3 chr1 17866329 18024370 uc001ban.3 chr1 18081807 18153558 uc001bat.3 chr1 18434239 18704977 uc001bau.2 chr1 18701063 18702174 uc001baw.1 chr1 18807423 18812480 uc001bax.3 chr1 18957499 19062632 uc001bay.3 chr1 19166092 19186155 uc001bba.1 chr1 19197923 19229293 uc001bbc.3 chr1 19209695 19209769 uc021ohm.2 chr1 19230773 19282826 uc001bbd.2 chr1 19400999 19536746 uc001bbi.3 chr1 19542157 19578053 uc001bbo.4 chr1 19578074 19586622 uc001bbs.3 chr1 19592475 19600568 uc021ohn.1 chr1 19609056 19615280 uc001bbv.1 chr1 19619740 19622230 uc021ohp.1 chr1 19629201 19638640 uc001bbw.3 chr1 19638739 19655794 uc001bby.3 chr1 19665266 19812066 uc021ohr.1 chr1 19673334 19675427 uc001bcf.2 chr1 19750877 19751182 uc021ohs.1 chr1 19923470 19956315 uc021ohu.1 chr1 19934300 19935138 uc021ohx.2 chr1 19969722 19984949 uc001bcj.2 chr1 19991779 20006055 uc001bcl.3 chr1 20008705 20126410 uc001bcn.3 chr1 20140521 20141771 uc001bcr.3 chr1 20208887 20239437 uc001bcs.4 chr1 20246799 20250110 uc001bct.1 chr1 20301923 20306932 uc010odb.2 chr1 20396700 20418394 uc001bcy.3 chr1 20439142 20446059 uc001bcz.4 chr1 20465822 20476879 uc009vpp.1 chr1 20490483 20501687 uc009vpq.1 chr1 20512577 20519942 uc001bdb.3 chr1 20617411 20681387 uc009vps.2 chr1 20686293 20755287 uc001bdf.2 chr1 20808883 20812728 uc001bdh.3 chr1 20825940 20834674 uc001bdi.4 chr1 20878931 20881513 uc001bdj.3 chr1 20915443 20945400 uc001bdk.3 chr1 20959947 20978004 uc001bdm.3 chr1 20978259 20988037 uc001bdo.1 chr1 20990506 21044317 uc001bdr.4 chr1 21046224 21059133 uc009vpy.1 chr1 21069170 21113181 uc001bdw.1 chr1 21132784 21503381 uc001bef.3 chr1 21543739 21616766 uc001bei.2 chr1 21602542 21604868 uc001ben.1 chr1 21619782 21626362 uc001beo.2 chr1 21749600 21754300 uc001bep.1 chr1 21761832 21762609 uc001beq.1 chr1 21766582 21811393 uc001ber.4 chr1 21835857 21904905 uc001bet.3 chr1 21922707 21978348 uc001bew.3 chr1 22004791 22109688 uc001bfb.3 chr1 22138757 22151714 uc001bfg.1 chr1 22148736 22263750 uc001bfj.3 chr1 22303417 22315847 uc001bfk.3 chr1 22351706 22357715 uc001bfm.4 chr1 22379119 22419436 uc001bfr.3 chr1 22443797 22469519 uc001bfs.4 chr1 22778343 22857650 uc001bfu.2 chr1 22890003 22930087 uc001bfx.1 chr1 22963117 22966175 uc001bfy.3 chr1 22970117 22974603 uc001bga.4 chr1 22979681 22988029 uc001bgd.3 chr1 23037330 23241823 uc001bge.3 chr1 23046009 23046091 uc021oib.1 chr1 23189651 23189719 uc021oic.1 chr1 23243782 23247347 uc001bgg.1 chr1 23337326 23342343 uc001bgh.1 chr1 23345940 23410184 uc001bgj.2 chr1 23370797 23370865 uc021oid.1 chr1 23410515 23495517 uc010odv.1 chr1 23490445 23490546 uc021oie.1 chr1 23518387 23521222 uc001bgn.3 chr1 23636275 23670853 uc001bgp.4 chr1 23685940 23694879 uc001bgt.3 chr1 23695463 23698330 uc001bgw.3 chr1 23707554 23751261 uc021oig.1 chr1 23755055 23810750 uc001bha.2 chr1 23801092 23803135 uc001bhd.4 chr1 23832919 23857712 uc001bhe.2 chr1 23853364 23855542 uc001bhf.1 chr1 23884420 23886285 uc001bhh.4 chr1 23907984 23967056 uc001bhi.3 chr1 24018268 24022915 uc001bhk.3 chr1 24069855 24088549 uc001bho.3 chr1 24086871 24104787 uc001bhp.2 chr1 24104875 24114722 uc001bhq.3 chr1 24117645 24122029 uc001bht.3 chr1 24122088 24126060 uc009vqo.1 chr1 24128366 24151949 uc001bib.3 chr1 24171571 24194859 uc001bie.3 chr1 24200459 24239817 uc001bif.3 chr1 24255559 24255637 uc021oik.1 chr1 24286300 24289949 uc001big.3 chr1 24295572 24306953 uc021oir.1 chr1 24320925 24320957 uc021oit.1 chr1 24382530 24438665 uc001bin.4 chr1 24446260 24469775 uc001biq.2 chr1 24480646 24513765 uc001bis.3 chr1 24526729 24538180 uc010oei.1 chr1 24578722 24578758 uc021oiu.1 chr1 24579767 24579803 uc021oiv.1 chr1 24645811 24690970 uc021oiw.1 chr1 24683488 24740262 uc001bjc.3 chr1 24742244 24799473 uc001bjh.3 chr1 24822822 24828850 uc021oiz.1 chr1 24829386 24863510 uc001bjj.3 chr1 24882566 24935818 uc001bjk.2 chr1 24969593 24999772 uc001bjm.3 chr1 25071759 25170815 uc001bjo.2 chr1 25226001 25256770 uc001bjq.3 chr1 25548766 25559013 uc001bjt.1 chr1 25568739 25573985 uc001bjw.3 chr1 25598980 25656936 uc001bjz.3 chr1 25629228 25631643 uc001bkd.1 chr1 25664788 25688852 uc001bke.3 chr1 25688739 25747363 uc001bkf.3 chr1 25757387 25826698 uc001bkk.3 chr1 25870075 25895377 uc001bkl.4 chr1 25943958 26111258 uc001bkm.2 chr1 26126666 26144713 uc021ojl.1 chr1 26146396 26159433 uc001bkq.4 chr1 26146444 26150097 uc010oeu.1 chr1 26160496 26185848 uc001bkw.1 chr1 26187974 26197744 uc001bkx.3 chr1 26210676 26232993 uc010oev.2 chr1 26286257 26324648 uc001bld.4 chr1 26348270 26362954 uc001blf.3 chr1 26364513 26372604 uc001blg.1 chr1 26377795 26394125 uc001bli.2 chr1 26438267 26452039 uc009vsb.3 chr1 26485510 26489119 uc001blk.3 chr1 26496387 26497364 uc001bll.4 chr1 26503980 26516375 uc001blm.4 chr1 26517118 26529033 uc010oez.2 chr1 26551810 26556331 uc001blq.3 chr1 26560692 26605299 uc001bls.1 chr1 26606212 26608013 uc001blu.3 chr1 26608772 26633195 uc001blw.3 chr1 26644410 26647014 uc001bmc.3 chr1 26648349 26680621 uc001bmd.4 chr1 26688124 26699266 uc009vsj.1 chr1 26737268 26756219 uc001bmj.3 chr1 26758772 26797795 uc001bmk.3 chr1 26789254 26794028 uc001bmo.1 chr1 26798901 26803133 uc001bmp.4 chr1 26872342 26901520 uc001bms.1 chr1 26881032 26881084 uc021ojp.1 chr1 27022521 27108601 uc001bmv.1 chr1 27114453 27124894 uc001bmz.3 chr1 27145536 27392034 uc021ojq.1 chr1 27153200 27182211 uc001bnb.3 chr1 27189632 27190947 uc001bnc.1 chr1 27189786 27190449 uc010ofi.1 chr1 27205872 27216869 uc001bnd.1 chr1 27216978 27226962 uc001bne.3 chr1 27237974 27240567 uc001bnf.3 chr1 27248212 27273362 uc001bng.2 chr1 27276046 27286901 uc001bni.2 chr1 27320194 27327377 uc001bnj.4 chr1 27331510 27339333 uc010ofj.2 chr1 27425299 27481621 uc001bnm.4 chr1 27533765 27533868 uc021ojs.1 chr1 27561006 27635124 uc009vst.3 chr1 27648635 27662891 uc001bnr.4 chr1 27650364 27653016 uc021oju.1 chr1 27668482 27680423 uc001bnw.2 chr1 27681669 27693337 uc001bny.1 chr1 27695600 27701315 uc001boa.3 chr1 27705595 27709805 uc001boc.3 chr1 27719147 27722317 uc001bod.4 chr1 27730733 27816678 uc001bof.2 chr1 27860755 27930143 uc009vsy.3 chr1 27938800 27961727 uc001bom.3 chr1 27992571 27998724 uc001bon.1 chr1 28052489 28089423 uc001bor.3 chr1 28099693 28150963 uc001bou.4 chr1 28157251 28178183 uc001bov.2 chr1 28160911 28161077 uc001boy.1 chr1 28199054 28213193 uc001bpc.4 chr1 28218048 28241236 uc001bpe.1 chr1 28261503 28285663 uc001bpg.3 chr1 28286503 28294604 uc001bph.1 chr1 28296854 28415148 uc001bpi.2 chr1 28473676 28503455 uc001bpl.3 chr1 28526789 28559542 uc001bpn.3 chr1 28562601 28564616 uc001bpq.3 chr1 28567542 28567564 uc021okb.1 chr1 28585962 28609002 uc001bps.3 chr1 28655512 28662478 uc009vtg.3 chr1 28764660 28826881 uc001bpy.3 chr1 28832454 28837404 uc001bqd.3 chr1 28844744 28865708 uc001bqf.2 chr1 28879528 28905057 uc001bqi.3 chr1 28905049 28908383 uc001bqo.3 chr1 28905254 28905334 uc001bqq.1 chr1 28919006 28921088 uc001bqv.3 chr1 28929608 28969604 uc001bqy.3 chr1 28975111 28975246 uc009vtj.1 chr1 28995239 29042115 uc001bra.3 chr1 29016176 29016306 uc021oke.1 chr1 29063132 29096287 uc021okf.1 chr1 29138653 29190208 uc001brf.1 chr1 29213602 29446558 uc001brm.2 chr1 29445936 29450421 uc001brn.2 chr1 29474249 29508637 uc001bro.3 chr1 29519384 29557454 uc001brq.1 chr1 29563027 29653325 uc001bru.3 chr1 30486798 30510456 uc001bry.3 chr1 31184123 31196432 uc001brz.3 chr1 31191618 31199593 uc001bsb.1 chr1 31205314 31230683 uc001bsc.2 chr1 31212002 31212079 uc021okj.1 chr1 31342312 31381480 uc001bse.2 chr1 31404352 31538564 uc001bsh.1 chr1 31408535 31408623 uc021okk.1 chr1 31421964 31422052 uc021okl.1 chr1 31441009 31441084 uc001bsl.1 chr1 31652591 31712734 uc010ogd.2 chr1 31732414 31742513 uc009vtt.3 chr1 31732414 31769644 uc001bso.3 chr1 31769841 31837780 uc001bsp.1 chr1 31838099 31845923 uc001bss.1 chr1 31886659 31907527 uc010ogh.2 chr1 31971838 31974167 uc021okn.1 chr1 31984035 31989846 uc001bsy.1 chr1 32042085 32053287 uc001bta.3 chr1 32083300 32092919 uc009vtx.2 chr1 32095462 32110838 uc001bth.2 chr1 32117847 32169768 uc001btk.1 chr1 32192717 32229648 uc001btn.3 chr1 32224260 32224336 uc021okr.1 chr1 32256024 32281580 uc001bts.1 chr1 32372021 32403988 uc001bty.2 chr1 32479294 32509482 uc001bub.4 chr1 32538502 32568467 uc010ogv.2 chr1 32573643 32642168 uc001bug.3 chr1 32645344 32663886 uc001bui.3 chr1 32666201 32670991 uc001bul.1 chr1 32671235 32674288 uc001bum.2 chr1 32674694 32681797 uc001bun.2 chr1 32681797 32687926 uc001buq.4 chr1 32687958 32697205 uc009vuc.3 chr1 32697260 32707311 uc001buv.4 chr1 32712817 32714461 uc001buw.3 chr1 32739711 32751766 uc001buy.3 chr1 32757707 32799224 uc001bvb.1 chr1 32799429 32801840 uc001bvd.4 chr1 32826870 32827844 uc021oku.1 chr1 32827861 32829924 uc001bvf.3 chr1 32830704 32860062 uc010ohg.2 chr1 32930657 32953459 uc001bvl.4 chr1 33004771 33071542 uc001bvn.3 chr1 33087306 33116185 uc001bvp.3 chr1 33116748 33151812 uc001bvr.3 chr1 33145506 33168361 uc001bvt.2 chr1 33207511 33240571 uc001bvu.1 chr1 33240839 33283633 uc001bvy.1 chr1 33283118 33324480 uc001bwc.4 chr1 33327868 33338082 uc001bwg.3 chr1 33352097 33360247 uc001bwh.3 chr1 33360195 33366953 uc001bwi.1 chr1 33402049 33430286 uc010oho.2 chr1 33452675 33498070 uc001bwn.3 chr1 33476825 33502512 uc001bwp.2 chr1 33546713 33585995 uc001bwr.3 chr1 33607471 33608831 uc001bxa.1 chr1 33611002 33647671 uc001bxb.3 chr1 33722173 33766320 uc001bxc.1 chr1 33772366 33786699 uc031plq.1 chr1 33789223 33841194 uc001bxg.1 chr1 33797993 33798093 uc021okw.1 chr1 33802166 33802465 uc021okx.1 chr1 33938231 33961995 uc001bxj.4 chr1 33979608 34631443 uc001bxn.1 chr1 34326075 34330392 uc001bxp.3 chr1 34334556 34351059 uc001bxr.3 chr1 34642552 34684731 uc001bxt.3 chr1 35220647 35224113 uc001bxu.4 chr1 35225341 35229325 uc001bxv.1 chr1 35244163 35244247 uc021ola.1 chr1 35247910 35251967 uc001bxy.3 chr1 35258598 35261348 uc001bya.3 chr1 35315962 35325417 uc001byb.3 chr1 35331036 35370984 uc001byc.3 chr1 35441299 35444307 uc021olf.1 chr1 35447126 35450948 uc001bye.3 chr1 35451766 35497569 uc001byh.3 chr1 35544971 35581455 uc001bym.3 chr1 35641980 35646083 uc001byq.3 chr1 35649200 35658743 uc001bys.3 chr1 35734567 35887545 uc001byt.3 chr1 35833677 35835012 uc031plr.1 chr1 35899090 36023037 uc001byx.3 chr1 36023392 36032380 uc001bza.3 chr1 36038970 36060927 uc010ohy.2 chr1 36065142 36107445 uc001bzf.2 chr1 36179476 36184790 uc001bzh.1 chr1 36197712 36235551 uc001bzi.3 chr1 36273827 36323490 uc001bzj.2 chr1 36348809 36389899 uc001bzl.3 chr1 36391432 36395210 uc001bzm.1 chr1 36396682 36522063 uc001bzp.3 chr1 36549675 36553876 uc001bzr.3 chr1 36554452 36559533 uc001bzt.3 chr1 36560843 36565850 uc001bzv.2 chr1 36602169 36615115 uc031pls.1 chr1 36621802 36646441 uc001bzz.3 chr1 36690016 36770957 uc001cae.4 chr1 36771993 36787379 uc010oia.1 chr1 36787631 36789755 uc001caj.1 chr1 36805224 36851485 uc001cak.1 chr1 36859030 36863493 uc001cao.1 chr1 36883506 36916086 uc001caq.3 chr1 36921361 36930040 uc001cas.2 chr1 36931643 36948915 uc001cax.2 chr1 37261127 37499844 uc001caz.2 chr1 37627163 37627235 uc021oll.1 chr1 37920479 37940044 uc021olm.1 chr1 37940118 37949978 uc001cbb.4 chr1 37955560 37980420 uc001cbe.2 chr1 37966535 37966595 uc031pma.1 chr1 38000049 38019945 uc001cbi.4 chr1 38022519 38032458 uc001cbj.3 chr1 38032412 38061586 uc001cbk.3 chr1 38076950 38100595 uc001cbm.2 chr1 38147241 38156192 uc001cbp.3 chr1 38147242 38149864 uc031pmb.1 chr1 38158072 38175391 uc001cbs.4 chr1 38181645 38230824 uc009vvi.3 chr1 38259773 38267278 uc001cby.2 chr1 38268613 38273865 uc001cca.1 chr1 38273472 38275126 uc001ccd.2 chr1 38275238 38325292 uc001cce.1 chr1 38326368 38412729 uc001ccg.1 chr1 38349908 38349989 uc021oln.1 chr1 38422651 38455761 uc001cci.3 chr1 38462441 38471187 uc001cck.3 chr1 38478383 38490497 uc001ccn.4 chr1 38509522 38512450 uc001ccp.1 chr1 38554902 38555001 uc021olo.1 chr1 38674705 38680439 uc021olp.1 chr1 39303868 39325495 uc001ccq.3 chr1 39328161 39339050 uc001ccs.3 chr1 39340222 39341770 uc021olr.1 chr1 39351478 39407456 uc001ccu.1 chr1 39456915 39471737 uc001ccw.3 chr1 39491966 39500308 uc001ccy.3 chr1 39549838 39952810 uc031pmc.1 chr1 39619835 39619968 uc021olu.1 chr1 39648409 39648505 uc021olv.1 chr1 39875175 39882154 uc009vvt.1 chr1 39957317 39995541 uc001cdi.3 chr1 39970194 39970267 uc021olx.1 chr1 39987951 40025370 uc001cdk.3 chr1 40026484 40042521 uc001cdl.2 chr1 40033045 40033182 uc001cdo.1 chr1 40089102 40105348 uc001cdp.3 chr1 40124792 40137710 uc001cdq.1 chr1 40144644 40157089 uc001cdr.3 chr1 40204516 40229586 uc001cdw.3 chr1 40223902 40254533 uc001cdz.1 chr1 40235196 40237020 uc001ceb.1 chr1 40306705 40349177 uc021olz.1 chr1 40361095 40367687 uc001cer.2 chr1 40420783 40435628 uc001cev.3 chr1 40506254 40538321 uc001cey.4 chr1 40538381 40563142 uc001cfb.2 chr1 40627040 40706593 uc001cfc.4 chr1 40713572 40717365 uc001cfe.2 chr1 40723721 40759856 uc001cfg.4 chr1 40766162 40782981 uc001cfh.1 chr1 40839377 40888998 uc001cfj.3 chr1 40916336 40929390 uc001cfn.2 chr1 40943301 40962015 uc001cfo.3 chr1 40974432 40982214 uc001cfp.3 chr1 40997232 41013841 uc001cft.2 chr1 41086351 41131324 uc001cfu.1 chr1 41154751 41157933 uc010ojl.1 chr1 41157241 41237275 uc009vwd.3 chr1 41220026 41220118 uc001cgf.2 chr1 41222955 41223044 uc001cgg.3 chr1 41249683 41306124 uc001cgh.2 chr1 41326727 41328018 uc001cgj.3 chr1 41347313 41347427 uc021omc.1 chr1 41445006 41478235 uc001cgk.4 chr1 41480261 41509562 uc021omd.1 chr1 41481268 41487427 uc001cgm.2 chr1 41492870 41707815 uc001cgs.3 chr1 41932607 41932699 uc021ome.1 chr1 41944445 41949874 uc009vwh.3 chr1 41944445 41950344 uc001cgx.3 chr1 41972035 42384496 uc001cha.4 chr1 42619091 42621495 uc001chc.1 chr1 42628361 42630395 uc001chd.1 chr1 42642209 42800903 uc001chf.3 chr1 42846467 42889900 uc001chi.2 chr1 42896000 42921938 uc001chj.3 chr1 42922172 42926086 uc001chl.3 chr1 43000559 43120335 uc009vwk.1 chr1 43124047 43142429 uc001chq.3 chr1 43144356 43147330 uc001chr.3 chr1 43148065 43168020 uc001chs.3 chr1 43198763 43205925 uc001cht.1 chr1 43212005 43232755 uc001chx.4 chr1 43232915 43241413 uc001cia.4 chr1 43253660 43263901 uc021omg.1 chr1 43272722 43283059 uc001cib.2 chr1 43291248 43310660 uc001cie.1 chr1 43312243 43318146 uc021omh.1 chr1 43323292 43354460 uc001cij.1 chr1 43391045 43424847 uc001cik.2 chr1 43424719 43449029 uc001cil.3 chr1 43489219 43489308 uc021omj.1 chr1 43585818 43611958 uc009vwn.1 chr1 43613593 43622067 uc009vwo.3 chr1 43629844 43638241 uc010ojx.2 chr1 43638000 43720029 uc021omk.1 chr1 43735664 43739673 uc021oml.1 chr1 43747556 43751250 uc001cit.4 chr1 43766565 43788781 uc001ciu.3 chr1 43803474 43820135 uc001ciw.3 chr1 43824625 43828873 uc001cix.3 chr1 43829067 43833409 uc031pmf.1 chr1 43849578 43855483 uc001cje.2 chr1 43855555 43919918 uc001cjk.3 chr1 43916673 43919660 uc001cjo.3 chr1 43996546 44089343 uc001cjr.3 chr1 44115796 44171189 uc001cjx.3 chr1 44165355 44173012 uc001cjy.4 chr1 44173203 44396837 uc001cjz.4 chr1 44182137 44182227 uc021oms.1 chr1 44398991 44402912 uc001ckt.3 chr1 44412477 44433694 uc001ckx.3 chr1 44435652 44439043 uc001ckz.3 chr1 44440601 44443972 uc001cld.3 chr1 44445607 44456843 uc010okl.2 chr1 44457279 44462198 uc001clj.3 chr1 44462154 44483012 uc001cll.4 chr1 44584521 44600809 uc001clp.3 chr1 44679124 44686351 uc001clq.1 chr1 44686741 44820939 uc001clt.3 chr1 44870959 45117396 uc001clv.1 chr1 45011164 45011224 uc031pmh.1 chr1 45119500 45140099 uc001cmc.3 chr1 45140393 45191263 uc001cmf.2 chr1 45205489 45233438 uc001cmg.4 chr1 45241245 45244412 uc001cmi.3 chr1 45241536 45241610 uc001cmj.1 chr1 45242163 45242261 uc001cmk.1 chr1 45243513 45243584 uc009vxi.3 chr1 45244061 45244130 uc001cml.3 chr1 45249256 45253426 uc001cmm.3 chr1 45266035 45271667 uc001cmn.3 chr1 45271585 45272957 uc001cmp.3 chr1 45274153 45279801 uc010ole.1 chr1 45287937 45308616 uc010olf.2 chr1 45316193 45452394 uc001cmt.3 chr1 45468219 45477027 uc009vxk.3 chr1 45477804 45481341 uc001cna.2 chr1 45482075 45672250 uc001cnd.2 chr1 45769581 45771291 uc010olk.2 chr1 45792544 45794346 uc001cne.3 chr1 45794913 45806142 uc009vxp.3 chr1 45805341 45809650 uc009vxq.3 chr1 45809554 45956840 uc001cns.1 chr1 45959597 45965751 uc001cnw.3 chr1 45965855 45976739 uc009vxv.3 chr1 45976706 45988562 uc021omw.1 chr1 46016454 46035723 uc001coe.3 chr1 46049659 46084578 uc001coi.2 chr1 46085715 46089731 uc010olt.2 chr1 46092975 46152302 uc001coq.3 chr1 46111451 46112357 uc010olu.1 chr1 46153846 46160108 uc001cor.1 chr1 46164406 46216485 uc001cou.3 chr1 46269284 46501796 uc001cov.3 chr1 46505811 46598380 uc001cpb.4 chr1 46640748 46651634 uc001cpd.3 chr1 46654352 46685977 uc001cpg.3 chr1 46669005 46686928 uc010oma.2 chr1 46713366 46744145 uc009vye.2 chr1 46744071 46769038 uc001cpn.3 chr1 46769379 46782447 uc001cpp.3 chr1 46805848 46830824 uc001cpr.2 chr1 46859938 46879520 uc001cpu.2 chr1 46899498 46911374 uc021ona.1 chr1 46972667 46979886 uc001cpx.3 chr1 47004367 47035927 uc021onb.1 chr1 47011315 47015678 uc001cpy.2 chr1 47011315 47016887 uc009vyh.1 chr1 47023078 47069966 uc001cqb.4 chr1 47073386 47080805 uc001cqe.4 chr1 47100710 47134099 uc001cqh.4 chr1 47137496 47139256 uc001cqj.3 chr1 47139707 47157769 uc021ond.1 chr1 47140830 47184736 uc001cqk.4 chr1 47264669 47285021 uc001cqn.4 chr1 47308766 47366147 uc031pmm.1 chr1 47394845 47407156 uc001cqp.4 chr1 47489239 47516423 uc001cqt.3 chr1 47533159 47583992 uc001cqu.1 chr1 47603106 47614526 uc001cqv.1 chr1 47644921 47646011 uc031pmn.1 chr1 47649260 47655771 uc001cqw.3 chr1 47681962 47689770 uc009vyq.2 chr1 47681962 47695443 uc001cqx.2 chr1 47691628 47691655 uc021onf.1 chr1 47715810 47779819 uc001crd.1 chr1 47799468 47844511 uc001cri.3 chr1 47859449 47861215 uc001crj.1 chr1 47881743 47883724 uc001crk.3 chr1 47897806 47900313 uc001crl.3 chr1 47901688 47906363 uc001crm.3 chr1 48226199 48462562 uc021ong.1 chr1 48567386 48648100 uc010omr.1 chr1 48688356 48714316 uc001crn.2 chr1 48761043 48937876 uc001crr.2 chr1 48998526 50489626 uc001cru.2 chr1 49193539 49242547 uc001crx.4 chr1 50574593 50667540 uc001csb.2 chr1 50883222 50889119 uc010onb.2 chr1 50906934 51425936 uc001cse.1 chr1 51048075 51048183 uc021onh.1 chr1 51435641 51440309 uc001csg.3 chr1 51567905 51613754 uc001csh.3 chr1 51701944 51739119 uc001csi.4 chr1 51752929 51810785 uc010onf.2 chr1 51819934 51984995 uc001csq.1 chr1 52004296 52004401 uc021oni.1 chr1 52082545 52254891 uc001csu.3 chr1 52254865 52344609 uc001ctc.4 chr1 52373627 52456436 uc001cth.3 chr1 52461412 52461712 uc021onk.1 chr1 52485803 52521843 uc001cti.4 chr1 52497776 52499472 uc001ctj.1 chr1 52521856 52556388 uc001ctk.3 chr1 52607765 52812358 uc001cto.4 chr1 52816264 52831877 uc001ctq.2 chr1 52838500 52870143 uc001ctu.3 chr1 52870218 52883992 uc001ctv.4 chr1 52870218 52883992 uc001ctw.4 chr1 52888947 53018762 uc001cty.2 chr1 53068042 53074723 uc001cue.3 chr1 53099065 53122737 uc001cuf.3 chr1 53152013 53164038 uc001cui.2 chr1 53192130 53293013 uc001cuj.3 chr1 53308182 53360247 uc001cuk.2 chr1 53361581 53387591 uc001cup.4 chr1 53392900 53517289 uc001cur.2 chr1 53527723 53551174 uc010onr.2 chr1 53552854 53608289 uc001cuy.3 chr1 53580247 53584281 uc001cva.1 chr1 53662100 53679869 uc001cvb.4 chr1 53679771 53686289 uc001cvd.3 chr1 53692563 53704282 uc001cvf.2 chr1 53704281 53708455 uc001cvg.3 chr1 53708040 53793821 uc001cvi.2 chr1 53793904 53802889 uc001cvn.1 chr1 53904042 53905693 uc009vzj.3 chr1 53925071 53933158 uc001cvq.1 chr1 53971905 54199877 uc001cvr.1 chr1 54231133 54304225 uc001cvs.3 chr1 54317391 54355487 uc001cvu.3 chr1 54359860 54376759 uc001cwb.3 chr1 54387233 54411288 uc001cwh.3 chr1 54411998 54433841 uc001cwj.2 chr1 54472970 54483859 uc001cwm.2 chr1 54497348 54519111 uc001cwp.3 chr1 54519273 54565416 uc001cwt.1 chr1 54519751 54519827 uc021ons.1 chr1 54604667 54618679 uc001cwv.2 chr1 54638026 54665746 uc009vzo.3 chr1 54665839 54684056 uc001cxa.4 chr1 54691103 54872068 uc001cxe.4 chr1 55013806 55076005 uc001cxl.2 chr1 55074849 55089200 uc001cxn.3 chr1 55107426 55175939 uc010ooe.1 chr1 55181494 55208328 uc001cxx.4 chr1 55222570 55230226 uc001cxy.3 chr1 55246751 55266941 uc009vzt.1 chr1 55271735 55307937 uc001cyb.4 chr1 55315299 55352921 uc001cyc.1 chr1 55352654 55353883 uc021onu.1 chr1 55423541 55423614 uc021onv.1 chr1 55446464 55457966 uc001cyd.3 chr1 55464616 55474465 uc001cye.3 chr1 55505148 55530526 uc001cyf.2 chr1 55532031 55681039 uc021onw.1 chr1 55681080 55683128 uc021onx.1 chr1 55691313 55691396 uc021ony.1 chr1 55842198 55842525 uc021onz.1 chr1 55950543 55950645 uc021ooa.1 chr1 56046709 56200675 uc001cyi.1 chr1 56960418 57045257 uc001cyj.2 chr1 57110989 57181008 uc001cyk.4 chr1 57184476 57285369 uc001cym.4 chr1 57289353 57292593 uc001cyn.3 chr1 57320442 57383894 uc001cyo.2 chr1 57394882 57431688 uc001cyp.3 chr1 57463578 58716211 uc001cys.1 chr1 58326214 58328786 uc001cyu.1 chr1 58933598 58934677 uc001cyw.1 chr1 58946390 59012446 uc001cyy.3 chr1 59041094 59043166 uc001cyz.4 chr1 59120410 59165747 uc009wab.2 chr1 59246462 59249785 uc001cze.3 chr1 59250822 59365384 uc010oop.1 chr1 59597607 59612479 uc010ooq.2 chr1 59762624 60228402 uc009wac.3 chr1 60198898 60198968 uc021oob.1 chr1 60238466 60254501 uc001czn.3 chr1 60280532 60342050 uc001czo.3 chr1 60358979 60392423 uc001czq.3 chr1 60454823 60539442 uc001czs.2 chr1 61125302 61291256 uc001czt.1 chr1 61405915 61436448 uc001czu.3 chr1 61547533 61928460 uc010oos.2 chr1 62119913 62121800 uc031pmt.1 chr1 62146718 62191095 uc001czz.1 chr1 62208148 62629591 uc001dab.3 chr1 62318170 62318274 uc031pmu.1 chr1 62660473 62678001 uc001dae.4 chr1 62701836 62785083 uc001dah.4 chr1 62901974 62917475 uc001dak.2 chr1 62920396 63154039 uc001daq.4 chr1 63063157 63071976 uc001das.2 chr1 63249776 63330941 uc001dau.3 chr1 63624753 63782901 uc001daw.2 chr1 63704613 63704845 uc021ood.1 chr1 63788729 63790797 uc001dax.2 chr1 63799429 63799491 uc021ooe.1 chr1 63833260 63904233 uc021oof.1 chr1 63906440 63988944 uc001dbb.2 chr1 63989012 64038364 uc001dbf.3 chr1 64014650 64016307 uc001dbg.1 chr1 64088886 64125916 uc010ooz.2 chr1 64239689 64647179 uc001dbj.3 chr1 64262024 64262128 uc021oog.1 chr1 64571005 64636980 uc001dbl.3 chr1 64669489 64710027 uc001dbn.1 chr1 64936475 65158741 uc001dbo.1 chr1 65045529 65045604 uc021ooh.1 chr1 65210777 65298914 uc001dbs.2 chr1 65298905 65432187 uc001dbu.1 chr1 65445259 65468159 uc001dbw.3 chr1 65488650 65488757 uc021ooj.1 chr1 65523437 65523525 uc021ook.1 chr1 65524116 65524191 uc001dbx.3 chr1 65613231 65697828 uc001dby.3 chr1 65775217 65881552 uc001dce.2 chr1 65886130 66103176 uc001dci.3 chr1 65886130 65901690 uc001dcf.3 chr1 66258855 66840262 uc001dco.3 chr1 66560143 66560229 uc021oom.1 chr1 66999824 67210768 uc001dcr.3 chr1 67094122 67094200 uc021oon.1 chr1 67132271 67142710 uc010ope.1 chr1 67218139 67244730 uc001dcv.3 chr1 67263423 67266942 uc001dcw.3 chr1 67278571 67390570 uc001dcx.3 chr1 67390577 67454302 uc001dde.2 chr1 67465014 67520080 uc001ddk.2 chr1 67557858 67600654 uc001ddm.2 chr1 67632168 67725650 uc001ddo.3 chr1 67661822 67661926 uc021ooo.1 chr1 67773046 67862583 uc001ddu.3 chr1 67873492 67896123 uc001ddv.3 chr1 68150859 68154021 uc001ddz.2 chr1 68167148 68299155 uc001dea.2 chr1 68238275 68238336 uc021oop.1 chr1 68297970 68668670 uc001deb.2 chr1 68511644 68516481 uc001ded.3 chr1 68564141 68698284 uc001dee.3 chr1 68649200 68649293 uc021oos.1 chr1 68649301 68649321 uc021oot.1 chr1 68894506 68915642 uc001dei.1 chr1 68939834 68962799 uc001dem.4 chr1 68962358 69004310 uc001den.3 chr1 70225857 70589171 uc001dep.3 chr1 70385004 70386000 uc009wbh.2 chr1 70610484 70671361 uc001der.2 chr1 70671364 70717701 uc001des.3 chr1 70724684 70820417 uc001dex.4 chr1 70820492 70833705 uc001dfa.3 chr1 70876900 70905534 uc001dfd.3 chr1 71172135 71252151 uc001dff.3 chr1 71418114 71513491 uc001dfo.3 chr1 71512188 71532865 uc001dfr.3 chr1 71528973 71546972 uc001dft.3 chr1 71533313 71533399 uc010oqr.1 chr1 71547006 71703406 uc001dfu.2 chr1 71868624 72748405 uc001dfw.3 chr1 72259914 72302695 uc031pmw.1 chr1 73771852 73804560 uc001dfx.3 chr1 74491701 74663871 uc001dfy.4 chr1 74663895 75010116 uc001dge.2 chr1 75033794 75139422 uc001dgg.3 chr1 75043113 75091782 uc001dgh.3 chr1 75171171 75199092 uc001dgj.3 chr1 75198835 75232360 uc001dgn.3 chr1 75595658 75598261 uc001dgp.1 chr1 75600566 75627218 uc031pmx.1 chr1 75672074 76076799 uc001dgu.3 chr1 76103850 76188721 uc001dgv.3 chr1 76190042 76229355 uc009wbp.3 chr1 76251878 76260775 uc001dgy.2 chr1 76252756 76252834 uc001dgz.2 chr1 76253573 76253657 uc009wbu.1 chr1 76255161 76255232 uc009wbv.1 chr1 76262555 76378923 uc001dhd.2 chr1 76384557 76398116 uc001dhe.2 chr1 76540388 77096669 uc001dhh.2 chr1 77333185 77529737 uc001dhi.3 chr1 77554666 77685132 uc001dhk.3 chr1 77747661 78025654 uc001dhn.3 chr1 78030189 78148343 uc001dhq.3 chr1 78161673 78225564 uc001dht.4 chr1 78245308 78345225 uc010ork.3 chr1 78354199 78409578 uc001dic.4 chr1 78413590 78444777 uc001dii.3 chr1 78470635 78482995 uc001dij.3 chr1 78511588 78603112 uc001dik.3 chr1 78560490 78560599 uc021oov.1 chr1 78695282 78759574 uc001dil.1 chr1 78956727 79006386 uc001din.3 chr1 79086087 79111830 uc010oro.2 chr1 79115476 79129763 uc001dip.4 chr1 79152744 79152828 uc021oow.1 chr1 79355448 79472495 uc001diq.4 chr1 82266081 82458107 uc001diu.3 chr1 82312940 82313045 uc021oox.1 chr1 83439565 83451891 uc001dix.4 chr1 83911736 83920454 uc001diy.3 chr1 84041470 84326679 uc001diz.4 chr1 84259583 84259634 uc021ooy.1 chr1 84259597 84379059 uc031pmy.1 chr1 84267442 84326229 uc001dja.1 chr1 84335056 84464833 uc001djc.3 chr1 84379036 84379062 uc021ooz.1 chr1 84609951 84704181 uc001djl.3 chr1 84743003 84743140 uc021opa.1 chr1 84764048 84816481 uc001djr.3 chr1 84810360 84816481 uc001djs.3 chr1 84830640 84863576 uc009wcg.3 chr1 84864214 84880691 uc001djt.1 chr1 84944919 84964033 uc001djv.4 chr1 84964005 84972262 uc001djw.4 chr1 84972012 85014647 uc021opb.1 chr1 85018803 85040163 uc001dka.2 chr1 85093912 85097429 uc010ory.1 chr1 85109389 85156240 uc001dkj.3 chr1 85279085 85358896 uc009wcj.1 chr1 85391265 85462796 uc001dkm.3 chr1 85483764 85514223 uc001dkp.3 chr1 85527992 85598821 uc001dkt.3 chr1 85599476 85599556 uc021opc.1 chr1 85623355 85666728 uc009wcm.3 chr1 85715636 85725355 uc001dkv.3 chr1 85731459 85742587 uc021opd.1 chr1 85742040 85865646 uc001dla.2 chr1 85784167 85930889 uc001dlb.3 chr1 86046443 86049648 uc001dle.3 chr1 86115105 86174116 uc001dlh.3 chr1 86194915 86622154 uc001dlj.3 chr1 86815776 86862025 uc001dll.2 chr1 86889768 86922240 uc001dlr.4 chr1 86934394 86965974 uc001dlt.3 chr1 87012758 87046432 uc009wcs.3 chr1 87099958 87121059 uc010osh.2 chr1 87170252 87213867 uc001dly.3 chr1 87328127 87380107 uc021opi.1 chr1 87380334 87575681 uc010osk.2 chr1 87597679 87598718 uc021opj.1 chr1 87777576 87777676 uc021opk.1 chr1 87794150 87814607 uc001dmi.3 chr1 87819209 87837338 uc001dmk.3 chr1 87918922 87919056 uc021opl.1 chr1 88943510 88943810 uc021opm.1 chr1 89004735 89150887 uc021opn.1 chr1 89149921 89301938 uc001dmn.3 chr1 89318320 89357301 uc001dmo.4 chr1 89401455 89458643 uc001dmp.2 chr1 89445138 89458643 uc001dms.3 chr1 89472359 89488549 uc001dmt.3 chr1 89517986 89531043 uc001dmx.2 chr1 89573309 89591799 uc001dmz.1 chr1 89597433 89641723 uc001dna.2 chr1 89646830 89664633 uc001dnb.3 chr1 89724633 89738544 uc001dnd.3 chr1 89754940 89756045 uc031pna.1 chr1 89829435 89853719 uc001dnf.2 chr1 89873237 89890493 uc009wcy.1 chr1 89990396 90063420 uc001dni.3 chr1 90090407 90098453 uc001dnk.1 chr1 90098643 90185094 uc001dnl.4 chr1 90287479 90401989 uc001dnn.3 chr1 90453271 90453503 uc021opr.1 chr1 90458823 90460525 uc001dno.3 chr1 90460677 90494094 uc001dnq.2 chr1 91177578 91182794 uc001dns.3 chr1 91295103 91317175 uc001dnu.2 chr1 91380856 91487812 uc001dnw.3 chr1 91726322 91870426 uc001doa.4 chr1 91966403 91991321 uc001dof.3 chr1 92145899 92351836 uc001doh.3 chr1 92295329 92295626 uc021ops.1 chr1 92414927 92479985 uc010osz.2 chr1 92495532 92529093 uc001don.2 chr1 92545861 92613401 uc001doo.3 chr1 92632608 92650280 uc010otd.2 chr1 92683572 92711367 uc001doq.3 chr1 92711954 92764566 uc001dor.3 chr1 92764521 92853732 uc001dot.2 chr1 92940317 92951628 uc001dov.4 chr1 92974252 93257961 uc001dox.3 chr1 93297593 93307481 uc001doz.3 chr1 93302845 93302940 uc001dpe.2 chr1 93303574 93303627 uc021opt.1 chr1 93307716 93427079 uc001dpg.3 chr1 93544791 93604638 uc009wdj.3 chr1 93615298 93646246 uc001dpn.3 chr1 93646280 93744287 uc021opx.1 chr1 93775665 93811368 uc001dpt.2 chr1 93811477 93828148 uc001dpu.3 chr1 93913687 94020218 uc010otk.2 chr1 93981833 93981906 uc021opz.1 chr1 94027342 94146926 uc001dpz.4 chr1 94057524 94065587 uc009wdn.3 chr1 94219111 94240930 uc001dqd.1 chr1 94312387 94312467 uc021oqa.1 chr1 94313128 94313213 uc021oqb.1 chr1 94317792 94319887 uc001dqe.1 chr1 94335013 94344762 uc001dqf.3 chr1 94352589 94375012 uc001dqg.1 chr1 94458393 94586705 uc001dqh.3 chr1 94634462 94703307 uc001dqj.4 chr1 94883932 94984219 uc001dqn.4 chr1 94994731 95007413 uc001dqr.3 chr1 95123088 95285834 uc001dqu.3 chr1 95285897 95360803 uc001dqv.5 chr1 95362506 95392735 uc001dqz.4 chr1 95393583 95428826 uc021oqc.2 chr1 95448278 95538507 uc001dra.2 chr1 95550007 95550119 uc021oqd.1 chr1 95582893 95663161 uc001drb.3 chr1 95628774 95699538 uc001dre.1 chr1 95699710 95712781 uc009wdu.3 chr1 95940292 95944912 uc021oqf.1 chr1 95970531 95970615 uc021oqg.1 chr1 95975895 95981020 uc001drl.3 chr1 97161411 97161723 uc021oqh.1 chr1 97187174 97280605 uc001drq.3 chr1 97543299 98386615 uc001drv.3 chr1 97561478 97788511 uc031pne.1 chr1 98453555 98515249 uc001drx.2 chr1 98510798 98510907 uc021oqj.1 chr1 98676266 98738214 uc031pnf.1 chr1 99127235 99226056 uc010ouc.2 chr1 99207463 99207540 uc021oql.1 chr1 99355800 99470449 uc001dsb.3 chr1 99469831 99614408 uc001dsd.1 chr1 99729847 99775138 uc001dse.3 chr1 100111430 100160097 uc001dsg.3 chr1 100174258 100231349 uc001dsh.1 chr1 100178485 100178513 uc021oqn.1 chr1 100178485 100178513 uc021oqm.1 chr1 100315639 100389579 uc001dsi.1 chr1 100434000 100435404 uc001dso.2 chr1 100435991 100492534 uc001dsr.2 chr1 100503788 100548929 uc001dst.3 chr1 100549101 100598511 uc001dsu.3 chr1 100598705 100616054 uc001dsv.3 chr1 100614003 100643829 uc001dsx.2 chr1 100652477 100715409 uc001dta.3 chr1 100731713 100758325 uc001dtd.3 chr1 100746796 100746864 uc021oqp.1 chr1 100818022 100965021 uc001dtf.2 chr1 101003727 101007583 uc001dth.3 chr1 101092605 101112560 uc021oqr.1 chr1 101185195 101204601 uc001dti.3 chr1 101337927 101360735 uc001dtk.2 chr1 101361631 101447311 uc001dto.2 chr1 101455179 101491362 uc001dtt.2 chr1 101491408 101552819 uc001dua.3 chr1 101702304 101707076 uc001dud.2 chr1 101746453 101746573 uc021oqu.1 chr1 101806424 101806451 uc031pni.1 chr1 102268126 102462790 uc001dug.2 chr1 102337566 102360299 uc021oqv.1 chr1 103342022 103574052 uc001dul.3 chr1 104068577 104097859 uc010oun.2 chr1 104095895 104122149 uc001duq.3 chr1 104159998 104168400 uc001dut.3 chr1 104198301 104207173 uc001duv.3 chr1 104230039 104238912 uc001duw.1 chr1 104257374 104262492 uc010our.1 chr1 104292439 104301311 uc001duz.3 chr1 104615644 104619693 uc021oqw.1 chr1 106144773 106161557 uc001dva.3 chr1 107599266 107601916 uc010ous.2 chr1 107682628 108024475 uc001dvh.4 chr1 107937775 108024475 uc001dvi.3 chr1 107937775 108024475 uc009wem.3 chr1 108113781 108507545 uc001dvk.1 chr1 108496274 108496345 uc021oqx.1 chr1 108507064 108537229 uc031pnj.1 chr1 108677343 108742980 uc001dvn.5 chr1 108765962 108786703 uc009weo.2 chr1 108803819 108816311 uc001dvp.2 chr1 108918459 108953434 uc001dvq.3 chr1 108963310 108975804 uc001dvr.2 chr1 108992903 109013260 uc009wep.3 chr1 109102970 109181949 uc010ouy.2 chr1 109190909 109203744 uc001dvt.4 chr1 109234931 109244422 uc001dvv.4 chr1 109255555 109285367 uc001dvx.3 chr1 109289284 109352148 uc001dvy.3 chr1 109358519 109399726 uc001dwa.4 chr1 109399838 109401146 uc001dwc.3 chr1 109419602 109473044 uc010ovc.2 chr1 109472129 109506121 uc001dwf.2 chr1 109512837 109584850 uc001dwl.3 chr1 109606997 109618624 uc001dwm.1 chr1 109633402 109639554 uc001dwn.3 chr1 109642814 109643234 uc001dwo.1 chr1 109648572 109656479 uc009wew.3 chr1 109656584 109749403 uc021orb.1 chr1 109756514 109780804 uc001dwu.2 chr1 109792640 109818378 uc001dxa.4 chr1 109822175 109825790 uc001dxd.3 chr1 109834986 109849663 uc001dxk.1 chr1 109852187 109940563 uc001dxm.2 chr1 109941652 109969070 uc001dxn.3 chr1 109965120 109966952 uc021orf.1 chr1 110009099 110024764 uc001dxp.3 chr1 110026560 110035420 uc001dxr.3 chr1 110036700 110043063 uc010ovo.2 chr1 110049445 110052336 uc001dxx.4 chr1 110082493 110088455 uc001dxy.2 chr1 110091185 110138454 uc001dxz.3 chr1 110141514 110141589 uc010ovq.1 chr1 110145888 110155705 uc001dya.3 chr1 110162434 110174677 uc009wfh.2 chr1 110198697 110204331 uc001dyf.3 chr1 110230417 110236367 uc001dyk.3 chr1 110254863 110260890 uc001dyn.3 chr1 110276553 110283660 uc001dyo.2 chr1 110292701 110306644 uc001dyq.2 chr1 110453232 110473616 uc001dyw.4 chr1 110527386 110566364 uc001dyx.3 chr1 110577222 110597424 uc001dza.2 chr1 110602996 110613322 uc001dzb.3 chr1 110603303 110603368 uc021orl.1 chr1 110655061 110656569 uc001dzc.3 chr1 110693131 110744823 uc009wfq.3 chr1 110753335 110776674 uc001dzh.3 chr1 110815105 110815229 uc021orm.1 chr1 110828998 110881793 uc001dzj.3 chr1 110881944 110889303 uc001dzl.1 chr1 110887099 110888734 uc001dzn.1 chr1 110905472 110933704 uc001dzo.2 chr1 110943876 110950546 uc001dzr.3 chr1 110950430 110958896 uc031pnm.1 chr1 110993787 110999976 uc001dzs.3 chr1 111023387 111033891 uc009wfu.1 chr1 111059838 111061797 uc001dzt.1 chr1 111145775 111148975 uc009wfw.3 chr1 111214309 111217655 uc001dzv.1 chr1 111413820 111442558 uc001dzw.3 chr1 111489811 111506566 uc001eaa.3 chr1 111659953 111682838 uc001ead.4 chr1 111682248 111727724 uc001eah.1 chr1 111728590 111747160 uc001eal.2 chr1 111770280 111786062 uc001eam.3 chr1 111823145 111828730 uc009wgb.3 chr1 111833473 111863188 uc001eas.4 chr1 111889194 111895639 uc001eaw.2 chr1 111927140 111932473 uc021orp.1 chr1 111956936 111970399 uc001eba.3 chr1 111982511 111991830 uc001ebb.3 chr1 111991742 112004525 uc001ebc.3 chr1 112016603 112021134 uc001ebe.3 chr1 112025969 112046743 uc001ebf.3 chr1 112032938 112033045 uc021orr.1 chr1 112141628 112150940 uc001ebj.2 chr1 112162404 112256101 uc001ebl.3 chr1 112256829 112259310 uc001ebn.1 chr1 112264685 112282046 uc001ebo.2 chr1 112282462 112290420 uc001ebq.1 chr1 112287934 112298131 uc001ebr.3 chr1 112298189 112310199 uc001ebs.3 chr1 112318453 112531777 uc001ebu.1 chr1 112533189 112541463 uc001ebw.4 chr1 112913625 112913729 uc021oru.1 chr1 112938799 113003786 uc001ebx.3 chr1 112938880 112941439 uc001eby.1 chr1 113004391 113004455 uc021orv.1 chr1 113051369 113063910 uc001ecb.3 chr1 113066140 113162040 uc001ecd.3 chr1 113162074 113214241 uc001ecj.1 chr1 113217047 113243368 uc001eck.3 chr1 113243748 113249678 uc001ecp.1 chr1 113252615 113257950 uc001ect.1 chr1 113263188 113269856 uc001ecu.3 chr1 113362795 113393265 uc001ecw.1 chr1 113392521 113420491 uc021orw.1 chr1 113454469 113498975 uc001ecy.3 chr1 113465971 113467295 uc001eda.1 chr1 113499070 113511603 uc001edd.3 chr1 113554308 113615724 uc001ede.1 chr1 113615830 113667342 uc001edf.1 chr1 113739403 113748875 uc001edg.2 chr1 113933474 114228545 uc001edk.3 chr1 114239823 114301777 uc009wgp.1 chr1 114304453 114355070 uc001edq.3 chr1 114356432 114414375 uc001eds.3 chr1 114399256 114443859 uc001edv.2 chr1 114419435 114430169 uc001edw.3 chr1 114437370 114447525 uc001eeb.3 chr1 114447914 114456708 uc001eeg.3 chr1 114466622 114471880 uc001eek.3 chr1 114471995 114520491 uc001eem.3 chr1 114522029 114524875 uc001eer.1 chr1 114631913 114695062 uc021orz.1 chr1 114935398 115053781 uc001eew.3 chr1 115110180 115124265 uc001efa.3 chr1 115125468 115126223 uc021osb.1 chr1 115127195 115212732 uc001efd.1 chr1 115215719 115238239 uc001efe.2 chr1 115247084 115259515 uc009wgu.3 chr1 115259533 115300671 uc001efi.3 chr1 115312104 115323308 uc001efp.4 chr1 115397454 115537990 uc001efr.3 chr1 115572444 115576930 uc001efs.2 chr1 115590632 115632121 uc001eft.3 chr1 115828536 115880857 uc001efu.1 chr1 116184573 116240845 uc001efv.1 chr1 116242625 116311426 uc001efx.4 chr1 116378998 116383747 uc001efy.3 chr1 116461996 116468529 uc001efz.3 chr1 116519118 116612675 uc001egb.4 chr1 116654375 116677861 uc001egc.1 chr1 116821227 116821443 uc021osg.1 chr1 116915794 116947396 uc001ege.3 chr1 116947335 116961244 uc001egj.3 chr1 116956387 116956491 uc021osh.1 chr1 116995157 116995249 uc021osi.1 chr1 117057155 117113715 uc001egm.3 chr1 117117019 117209578 uc031pnr.1 chr1 117134723 117134827 uc021osj.1 chr1 117214370 117214449 uc021osk.1 chr1 117297085 117311851 uc001egu.4 chr1 117452688 117532972 uc001egv.1 chr1 117504968 117505093 uc021osl.1 chr1 117544371 117579173 uc010oxb.2 chr1 117602948 117645491 uc001egy.3 chr1 117637264 117637350 uc021osm.1 chr1 117653676 117664411 uc001egz.2 chr1 117686208 117753582 uc001ehb.3 chr1 117785831 117786130 uc021osp.1 chr1 117910084 118068320 uc001ehd.1 chr1 118148603 118171011 uc001ehe.3 chr1 118406106 118472302 uc001ehf.3 chr1 118472371 118503049 uc010oxe.1 chr1 118496287 118727848 uc001ehk.2 chr1 119425665 119532179 uc001ehl.1 chr1 119573838 119683295 uc001ehn.3 chr1 119683047 119726446 uc009whk.2 chr1 119911401 119936751 uc001ehr.1 chr1 119957742 119965662 uc001eht.3 chr1 120049825 120057681 uc001ehv.1 chr1 120106502 120115199 uc021osu.1 chr1 120140324 120141914 uc021osv.1 chr1 120161999 120190390 uc001ehy.1 chr1 120254418 120286849 uc001ehz.3 chr1 120290618 120311555 uc001eid.3 chr1 120336640 120354203 uc001eif.3 chr1 120377387 120387503 uc010oxk.3 chr1 120436155 120439147 uc001eij.3 chr1 120454175 120612317 uc001eik.3 chr1 120839004 120855681 uc009whp.3 chr1 120906033 120914842 uc001eio.2 chr1 120906460 120906507 uc021osz.1 chr1 120926127 120935944 uc001eip.3 chr1 121107151 121129827 uc031pnu.1 chr1 121306423 121313686 uc009wht.1 chr1 142618798 143257763 uc001eiw.1 chr1 142660105 142660135 uc001eiy.2 chr1 142672190 142672219 uc001eiz.2 chr1 142688238 142688268 uc021ota.1 chr1 142689205 142689235 uc021otb.1 chr1 142689523 142689553 uc021otc.1 chr1 142697420 142713605 uc031pnv.1 chr1 142803223 142888797 uc001ejb.3 chr1 142803530 142826645 uc001ejc.4 chr1 142851394 142851424 uc001eje.3 chr1 142853227 142855999 uc009whu.1 chr1 143168647 143168675 uc001ejg.1 chr1 143184707 143184737 uc001ejh.1 chr1 143185980 143186010 uc001ejj.3 chr1 143286955 143286985 uc021otd.1 chr1 143289062 143289092 uc001ejk.3 chr1 143402283 143402313 uc001ejl.1 chr1 143403553 143403583 uc002zkn.1 chr1 143419286 143419314 uc021ote.1 chr1 143424332 143467651 uc001ejn.1 chr1 143431367 143431397 uc001ejo.2 chr1 143647638 143744587 uc001ejp.3 chr1 143687129 143714180 uc001ejq.3 chr1 143690027 143690101 uc021otf.1 chr1 143702303 143702331 uc031pnw.1 chr1 143767143 143767881 uc001ejt.3 chr1 143879831 143879905 uc021otg.1 chr1 143896451 143913143 uc002qvn.1 chr1 143915747 144094477 uc010oxm.1 chr1 144146810 146467744 uc021ott.2 chr1 144171303 144172451 uc021otn.1 chr1 144209457 144212180 uc021otx.1 chr1 144275887 144290006 uc001ekq.1 chr1 144300511 144340773 uc001ekt.4 chr1 144301610 144301684 uc021oty.1 chr1 144308613 144308687 uc021otz.1 chr1 144340773 144341077 uc021oua.1 chr1 144363461 144364246 uc001ekw.3 chr1 144456162 144470244 uc021oub.1 chr1 144480744 144521009 uc001ela.4 chr1 144481839 144481913 uc021ouc.1 chr1 144488842 144488916 uc021oud.1 chr1 144514872 144519720 uc001elb.4 chr1 144610814 144612727 uc001elf.4 chr1 144832199 144833038 uc001els.1 chr1 144833046 144833912 uc001elt.1 chr1 144833912 144834808 uc001elu.1 chr1 144839435 144839507 uc021oug.1 chr1 144851423 144995033 uc021ouh.1 chr1 144944671 144944750 uc031pnz.1 chr1 145004780 145005287 uc001emi.4 chr1 145013718 145018395 uc001emj.3 chr1 145096406 145116997 uc031poa.1 chr1 145209110 145285912 uc001emn.4 chr1 145372087 145373798 uc001eng.1 chr1 145373798 145374694 uc001enh.1 chr1 145379319 145379391 uc021our.1 chr1 145385728 145385804 uc021ous.1 chr1 145395521 145395594 uc021out.1 chr1 145396880 145396952 uc021ouu.1 chr1 145397863 145397935 uc021ouv.1 chr1 145399232 145399304 uc021ouw.1 chr1 145413190 145417545 uc001eni.2 chr1 145438461 145442628 uc001enn.4 chr1 145456235 145470387 uc001enp.1 chr1 145470507 145475647 uc001enq.1 chr1 145477084 145499091 uc001enr.3 chr1 145500506 145501669 uc021ouz.1 chr1 145507556 145513535 uc001ent.2 chr1 145509751 145515899 uc009wiv.3 chr1 145514173 145515899 uc001enx.4 chr1 145516164 145523732 uc001eny.2 chr1 145524989 145543868 uc001eoa.3 chr1 145549208 145568526 uc001eob.1 chr1 145575987 145586546 uc001eoc.1 chr1 145586492 145589435 uc001eoe.3 chr1 145592604 145610884 uc001eoh.3 chr1 145611035 145688776 uc001eoj.3 chr1 145695797 145715565 uc001eol.1 chr1 145727665 145764206 uc001eoo.2 chr1 145764594 145827103 uc001eot.2 chr1 145883867 145924049 uc001eou.4 chr1 145924387 145934507 uc010ozf.2 chr1 145963303 145963375 uc021ova.1 chr1 145979033 145979107 uc021ovb.1 chr1 146032541 146057734 uc010ozg.2 chr1 146124160 146124283 uc021ovd.1 chr1 146215990 146217136 uc021ove.1 chr1 146476759 146476831 uc021ovh.1 chr1 146490894 146514599 uc001epd.3 chr1 146544772 146544844 uc021ovi.1 chr1 146550177 146550249 uc021ovj.1 chr1 146571065 146585928 uc031poj.1 chr1 146626684 146644129 uc001epe.3 chr1 146649429 146651528 uc001epg.1 chr1 146657837 146697230 uc001epi.2 chr1 146714290 146767447 uc001epm.5 chr1 146853913 146989699 uc021ovk.1 chr1 147013181 147098015 uc001epq.3 chr1 147119167 147142634 uc001epr.2 chr1 147228331 147232714 uc001eps.1 chr1 147374945 147381395 uc001epu.2 chr1 147400505 147465755 uc001epv.4 chr1 147466093 147484331 uc001epz.1 chr1 147505037 147505109 uc021ovn.1 chr1 147520766 147520840 uc021ovo.1 chr1 147574322 147599571 uc010ozx.2 chr1 147665992 147666115 uc021ovp.1 chr1 147680370 147691166 uc001eqh.1 chr1 147719028 147719102 uc021ovq.1 chr1 147737381 147737453 uc021ovr.1 chr1 147751385 147763966 uc001eqi.1 chr1 147753470 147753542 uc021ovs.1 chr1 147774844 147774916 uc021ovt.1 chr1 147781029 147781101 uc021ovu.1 chr1 147800936 147801008 uc021ovv.1 chr1 147801123 147816764 uc001eqk.1 chr1 147806602 147806678 uc031pom.1 chr1 147825688 147825760 uc021ovw.1 chr1 147835126 147931980 uc001eql.2 chr1 147874654 147893482 uc010paa.1 chr1 147877536 147877610 uc021ovx.1 chr1 147925822 147930669 uc009wka.2 chr1 147954634 147955419 uc001eqp.3 chr1 148000804 148000878 uc021ovy.1 chr1 148201751 148202536 uc010pag.2 chr1 148248114 148248188 uc021owi.1 chr1 148250248 148346791 uc021owp.2 chr1 148556107 148556133 uc010pay.2 chr1 148560846 148596267 uc001esc.2 chr1 148598313 148598387 uc021oxb.1 chr1 148644010 148644795 uc010paz.2 chr1 148739441 148758311 uc010pba.1 chr1 148760355 148760429 uc021oxc.1 chr1 148806014 148806799 uc010pbb.2 chr1 148876039 148902123 uc009wkv.1 chr1 148930404 148953054 uc009wkw.1 chr1 149079363 149079435 uc021oxd.1 chr1 149155827 149155899 uc021oxe.1 chr1 149161627 149161699 uc021oxf.1 chr1 149186124 149186196 uc021oxg.1 chr1 149211947 149212021 uc021oxh.1 chr1 149230569 149230643 uc021oxi.1 chr1 149230715 149232553 uc010pbe.1 chr1 149278784 149278857 uc021oxj.1 chr1 149279475 149291742 uc010pbf.2 chr1 149294665 149294736 uc021oxk.1 chr1 149298554 149298627 uc021oxl.1 chr1 149326271 149326345 uc021oxm.1 chr1 149334271 149334340 uc021oxn.1 chr1 149343080 149343151 uc021oxo.1 chr1 149369293 149378297 uc010pbh.2 chr1 149398714 149398761 uc010pbi.2 chr1 149400063 149400109 uc021oxp.1 chr1 149553002 149553787 uc001esj.3 chr1 149576261 149616786 uc001esk.5 chr1 149577754 149582605 uc009wle.2 chr1 149608608 149608682 uc021oxq.1 chr1 149615616 149615690 uc021oxr.1 chr1 149627308 149651107 uc001eso.1 chr1 149664354 149664427 uc021oxs.1 chr1 149670056 149670130 uc021oxt.1 chr1 149672904 149672976 uc031poq.1 chr1 149680209 149680280 uc021oxu.1 chr1 149684087 149684161 uc021oxv.1 chr1 149711797 149711871 uc021oxw.1 chr1 149719801 149719870 uc021oxx.1 chr1 149728270 149728341 uc021oxy.1 chr1 149754244 149783928 uc010pbj.2 chr1 149754249 149764074 uc001esp.4 chr1 149763335 149765367 uc001esq.1 chr1 149784779 149785236 uc010pbl.2 chr1 149804220 149804616 uc001ess.3 chr1 149812258 149812765 uc001esv.3 chr1 149813784 149814318 uc001esw.3 chr1 149821758 149822340 uc021oxz.1 chr1 149822627 149823161 uc001esx.3 chr1 149824180 149824687 uc001esy.3 chr1 149832329 149832725 uc001etb.3 chr1 149856009 149858232 uc001etc.3 chr1 149858524 149858961 uc001etd.3 chr1 149859018 149859466 uc001ete.3 chr1 149871154 149872348 uc001etf.3 chr1 149874871 149889434 uc001etg.3 chr1 149895208 149900144 uc001etk.2 chr1 149900542 149908791 uc001etl.4 chr1 149912231 149982686 uc001etn.3 chr1 150017381 150017452 uc021oyb.1 chr1 150039341 150117505 uc001etp.3 chr1 150122169 150131825 uc001ett.3 chr1 150190716 150208504 uc001etw.3 chr1 150230217 150237480 uc001etx.3 chr1 150237798 150241609 uc001ety.2 chr1 150245182 150253335 uc001eud.3 chr1 150255228 150259501 uc001euj.3 chr1 150266268 150280819 uc001euk.3 chr1 150293927 150325704 uc001eum.4 chr1 150336989 150449041 uc009wlr.3 chr1 150459839 150480085 uc001euq.4 chr1 150480486 150486265 uc001eus.3 chr1 150488232 150490508 uc031pos.1 chr1 150521897 150533412 uc001eux.3 chr1 150524404 150524490 uc021oye.1 chr1 150547026 150552214 uc001euz.3 chr1 150594598 150602098 uc001eve.3 chr1 150618700 150669672 uc001evj.2 chr1 150670534 150693364 uc001evk.2 chr1 150702671 150738433 uc001evn.3 chr1 150768683 150780917 uc001evp.2 chr1 150782180 150849244 uc001evr.2 chr1 150785066 150785174 uc021oyg.1 chr1 150898814 150937220 uc001evu.2 chr1 150937648 150947479 uc001evz.3 chr1 150954498 150968114 uc001ewa.2 chr1 150969300 150980854 uc010pcn.2 chr1 150980972 151008189 uc001ewh.1 chr1 150995221 150995328 uc021oyh.1 chr1 151009028 151020076 uc001ewl.2 chr1 151020258 151023871 uc001ewn.3 chr1 151023446 151032125 uc001ewp.3 chr1 151032150 151040973 uc001ewq.3 chr1 151043079 151091007 uc001ewr.2 chr1 151104162 151119140 uc001ewv.3 chr1 151129104 151132225 uc001ewx.2 chr1 151132223 151138370 uc001ewy.3 chr1 151138497 151142773 uc001ewz.3 chr1 151142462 151148547 uc001exc.4 chr1 151148775 151162689 uc001exe.2 chr1 151171020 151222007 uc001exj.3 chr1 151227196 151239954 uc001exl.3 chr1 151252499 151254405 uc001exo.3 chr1 151254790 151264381 uc001exq.3 chr1 151264272 151300191 uc001exu.3 chr1 151265261 151265284 uc031pov.1 chr1 151265461 151265487 uc031pow.1 chr1 151266582 151266606 uc031pox.1 chr1 151271387 151271414 uc031poy.1 chr1 151271499 151271523 uc031poz.1 chr1 151273139 151273440 uc021oyp.1 chr1 151274383 151274409 uc031ppa.1 chr1 151278732 151278766 uc031ppb.1 chr1 151313115 151319769 uc001exw.1 chr1 151336777 151345210 uc010pcy.3 chr1 151372040 151374412 uc001eyc.1 chr1 151375199 151431941 uc001eyd.2 chr1 151483861 151511167 uc009wmw.3 chr1 151512780 151556059 uc001eyl.3 chr1 151518271 151518367 uc021oyr.1 chr1 151584661 151671559 uc001eyn.1 chr1 151670318 151670850 uc001eyq.1 chr1 151672533 151689290 uc001eys.2 chr1 151694012 151702082 uc010pdj.1 chr1 151732122 151736040 uc001eyv.3 chr1 151739130 151743806 uc010pdm.2 chr1 151745954 151763010 uc001eza.4 chr1 151763317 151766878 uc001eze.3 chr1 151772764 151777882 uc001ezf.1 chr1 151778546 151804348 uc001ezh.3 chr1 151810338 151813033 uc010pdq.1 chr1 151810944 151816641 uc010pdr.2 chr1 151819576 151826173 uc021oyw.1 chr1 151843342 151882361 uc001ezj.2 chr1 151955385 151966714 uc001ezl.3 chr1 151967006 152015250 uc001ezm.1 chr1 152004981 152009511 uc001ezn.3 chr1 152056619 152061540 uc001ezo.1 chr1 152078792 152087930 uc001ezp.3 chr1 152126070 152131704 uc001ezs.1 chr1 152184551 152196672 uc001ezt.2 chr1 152274650 152297679 uc001ezu.1 chr1 152285934 152339168 uc001ezv.3 chr1 152321212 152332482 uc001ezw.4 chr1 152381718 152386750 uc001ezx.2 chr1 152483319 152484653 uc001ezy.3 chr1 152486977 152488481 uc001ezz.3 chr1 152538174 152539229 uc001faa.4 chr1 152551859 152552980 uc001fab.3 chr1 152573137 152573562 uc001fac.2 chr1 152586286 152586574 uc010pds.2 chr1 152595309 152595579 uc010pdt.2 chr1 152635886 152637135 uc001fag.4 chr1 152647790 152649049 uc001fah.4 chr1 152658598 152659876 uc001fai.3 chr1 152670839 152671918 uc001faj.3 chr1 152681522 152681910 uc001fak.2 chr1 152691997 152692905 uc010pdu.2 chr1 152730505 152734529 uc001fal.1 chr1 152748847 152749445 uc010pdv.2 chr1 152758752 152760901 uc001fan.3 chr1 152769226 152770657 uc009wnp.3 chr1 152777310 152779107 uc001fap.1 chr1 152784446 152785585 uc001faq.3 chr1 152799948 152800573 uc010pdw.2 chr1 152815329 152816459 uc001fas.4 chr1 152850797 152857523 uc001fat.3 chr1 152881038 152884362 uc001fau.3 chr1 152943127 152945069 uc001fav.1 chr1 152956563 152958290 uc001faw.3 chr1 152974222 152976332 uc001faz.4 chr1 153003678 153005376 uc001fba.3 chr1 153012200 153013594 uc001fbb.2 chr1 153028595 153029988 uc001fbd.3 chr1 153042717 153044084 uc001fbg.3 chr1 153065610 153067001 uc001fbh.3 chr1 153084612 153085989 uc001fbi.3 chr1 153112593 153113969 uc001fbj.3 chr1 153122057 153123427 uc009wod.2 chr1 153175905 153177601 uc001fbl.4 chr1 153190059 153191793 uc021ozw.1 chr1 153195064 153195185 uc021ozx.1 chr1 153232178 153234600 uc001fbm.3 chr1 153270337 153283194 uc001fbn.1 chr1 153302596 153321022 uc001fbo.3 chr1 153330329 153333503 uc001fbq.3 chr1 153346183 153348075 uc001fbr.1 chr1 153362507 153363664 uc001fbs.3 chr1 153388999 153395701 uc001fbt.1 chr1 153409470 153412503 uc010pdx.2 chr1 153430219 153433137 uc001fbv.1 chr1 153507075 153508717 uc001fbw.1 chr1 153509622 153514241 uc001fbx.3 chr1 153516094 153518282 uc001fbz.3 chr1 153518229 153524245 uc009wog.1 chr1 153519808 153521734 uc001fca.1 chr1 153533584 153538306 uc001fcb.3 chr1 153579366 153585514 uc001fcd.1 chr1 153586731 153588808 uc001fce.3 chr1 153591275 153600117 uc001fch.3 chr1 153600872 153604513 uc001fck.1 chr1 153606457 153618782 uc001fcn.2 chr1 153631129 153634328 uc001fcq.4 chr1 153634263 153643504 uc001fcr.4 chr1 153643725 153643797 uc021paa.1 chr1 153651163 153666468 uc001fcs.4 chr1 153700566 153746555 uc001fct.3 chr1 153747767 153752633 uc001fcz.3 chr1 153777202 153895451 uc001fdb.4 chr1 153901976 153919154 uc001fdd.1 chr1 153920147 153931132 uc021pab.1 chr1 153931574 153940660 uc031ppi.1 chr1 153940674 153946840 uc001fdr.3 chr1 153946744 153950451 uc001fds.3 chr1 153954092 153958853 uc001fdt.2 chr1 153963238 153964631 uc001fdv.3 chr1 153965167 154127592 uc001fdw.3 chr1 154134288 154164611 uc001fec.2 chr1 154166140 154166219 uc021pac.1 chr1 154171561 154178841 uc001fee.2 chr1 154179182 154193273 uc001fei.2 chr1 154193324 154243329 uc001fep.4 chr1 154232202 154232338 uc021pae.1 chr1 154245038 154248355 uc001fes.3 chr1 154293591 154297801 uc001feu.3 chr1 154300275 154323780 uc001fex.3 chr1 154377668 154441926 uc001fez.2 chr1 154451953 154474526 uc001ffb.3 chr1 154474694 154520623 uc009wow.3 chr1 154521050 154531120 uc001fff.1 chr1 154540256 154552353 uc001ffg.3 chr1 154554533 154580724 uc001ffh.3 chr1 154669941 154842754 uc021pah.1 chr1 154897207 154909484 uc001ffq.3 chr1 154916558 154928567 uc001ffr.3 chr1 154929501 154934258 uc001fft.3 chr1 154934773 154943223 uc001ffw.3 chr1 154947117 154951725 uc001fgb.3 chr1 154948168 154948259 uc021pai.1 chr1 154955769 154965587 uc001fgf.2 chr1 154966061 154966791 uc001fgi.3 chr1 154975105 154991001 uc010peq.3 chr1 154979449 154979509 uc021pal.1 chr1 154991002 155006257 uc001fgm.3 chr1 155006281 155023406 uc001fgn.2 chr1 155017667 155036467 uc021pan.2 chr1 155023747 155035252 uc001fgr.2 chr1 155051347 155060014 uc001fhf.3 chr1 155100348 155107386 uc001fhh.3 chr1 155108287 155111334 uc001fhj.4 chr1 155112366 155112883 uc001fhm.3 chr1 155141883 155145804 uc001fho.3 chr1 155146262 155157447 uc001fhs.2 chr1 155155666 155157427 uc021pao.2 chr1 155158299 155162706 uc031ppv.1 chr1 155161986 155162007 uc021par.1 chr1 155164967 155165063 uc021pas.1 chr1 155165378 155177772 uc001fix.3 chr1 155178489 155183624 uc001fjb.3 chr1 155183615 155188809 uc001fjd.3 chr1 155203712 155204236 uc021pav.1 chr1 155204238 155214653 uc001fjl.3 chr1 155216995 155225274 uc001fjm.3 chr1 155225769 155232176 uc001fjs.3 chr1 155232658 155243281 uc001fjw.3 chr1 155247217 155259639 uc001fjz.2 chr1 155259083 155271225 uc001fkb.4 chr1 155278538 155290457 uc001fkc.2 chr1 155290250 155293938 uc001fki.3 chr1 155290639 155300909 uc001fkj.2 chr1 155305051 155532324 uc001fkt.3 chr1 155402970 155404053 uc010pgd.2 chr1 155403092 155403473 uc010pgc.1 chr1 155531771 155533735 uc010pge.2 chr1 155531863 155533735 uc001fkv.3 chr1 155579960 155584758 uc001fky.4 chr1 155596545 155618335 uc001flf.3 chr1 155658881 155708800 uc001flr.3 chr1 155715558 155718322 uc010pgo.2 chr1 155716586 155720673 uc031pqb.1 chr1 155719509 155826972 uc001fly.1 chr1 155829259 155854990 uc001fmg.3 chr1 155867598 155880706 uc031pqc.1 chr1 155882835 155904188 uc001fmi.1 chr1 155889699 155889833 uc001fmk.1 chr1 155895748 155895877 uc001fmn.1 chr1 155911479 155912625 uc010pgs.2 chr1 155916629 155948336 uc001fmt.2 chr1 155978838 155990758 uc001fmx.3 chr1 156005091 156023516 uc001fna.3 chr1 156024516 156028605 uc001fnb.3 chr1 156030965 156040295 uc001fnc.3 chr1 156041803 156051789 uc001fnd.4 chr1 156084460 156109880 uc001fni.3 chr1 156104903 156107058 uc009wrp.3 chr1 156123321 156147542 uc009wrq.3 chr1 156163729 156182587 uc001fnp.3 chr1 156182778 156213123 uc021pbb.1 chr1 156211950 156213123 uc001fnt.3 chr1 156213111 156217908 uc010phh.2 chr1 156219014 156252620 uc001foc.4 chr1 156254069 156262234 uc009wrw.3 chr1 156262477 156265480 uc001foh.4 chr1 156268414 156269428 uc001fok.3 chr1 156278751 156308206 uc001fol.2 chr1 156307104 156316785 uc001foo.3 chr1 156338979 156355013 uc010pho.3 chr1 156374048 156377645 uc001fot.1 chr1 156374054 156399340 uc001fou.1 chr1 156390132 156390221 uc001foz.1 chr1 156433512 156460391 uc001fpb.4 chr1 156453889 156454002 uc021pbe.1 chr1 156495196 156542396 uc001fpf.3 chr1 156549518 156556562 uc021pbf.1 chr1 156561557 156564091 uc001fph.3 chr1 156564099 156571279 uc001fpl.3 chr1 156589085 156595517 uc001fpn.1 chr1 156589085 156594259 uc031pqq.1 chr1 156611456 156613427 uc021pbg.1 chr1 156611739 156629324 uc001fpp.3 chr1 156638555 156647189 uc001fpq.3 chr1 156669399 156675459 uc001fpr.3 chr1 156692412 156697705 uc001fps.1 chr1 156698262 156706752 uc001fpu.3 chr1 156707093 156710923 uc001fpx.1 chr1 156711898 156721543 uc001fpy.4 chr1 156737273 156770609 uc001fqa.3 chr1 156776034 156786640 uc009wsh.2 chr1 156810664 156828712 uc010pht.2 chr1 156830670 156851642 uc001fqh.1 chr1 156863522 156886226 uc001fqj.1 chr1 156890423 156902880 uc001fqm.2 chr1 156904631 157015162 uc001fqn.3 chr1 156905922 156906036 uc021pbj.1 chr1 157061834 157069600 uc001fqq.2 chr1 157094458 157108383 uc001fqr.2 chr1 157098153 157098463 uc001fqs.3 chr1 157483166 157522310 uc009wsm.3 chr1 157543538 157567870 uc001fqw.3 chr1 157647977 157670647 uc001frb.3 chr1 157715522 157746922 uc001fre.2 chr1 157764193 157789940 uc001frg.3 chr1 157800703 157811634 uc001frk.4 chr1 157895763 157918861 uc001frl.1 chr1 157963062 158065844 uc001frn.4 chr1 158066315 158069836 uc001frp.2 chr1 158101833 158110430 uc001frq.3 chr1 158149736 158156216 uc001frr.3 chr1 158169170 158173667 uc001frs.1 chr1 158223926 158228058 uc001frt.3 chr1 158259562 158264564 uc001fru.3 chr1 158297739 158301321 uc001frx.3 chr1 158323485 158327343 uc001fse.3 chr1 158368311 158369256 uc010pih.2 chr1 158389717 158390656 uc010pii.2 chr1 158435351 158436293 uc010pij.2 chr1 158444244 158464676 uc001fso.1 chr1 158449667 158450675 uc010pik.2 chr1 158516917 158517895 uc010pil.2 chr1 158532440 158533394 uc010pim.2 chr1 158548708 158549689 uc010pin.2 chr1 158576228 158577170 uc010pio.2 chr1 158580495 158656506 uc001fst.1 chr1 158669467 158670442 uc001fsu.1 chr1 158686957 158687905 uc021pbn.1 chr1 158724605 158725637 uc001fsw.1 chr1 158735533 158736472 uc010piq.2 chr1 158746471 158747425 uc010pir.2 chr1 158801167 158819270 uc001fsz.1 chr1 158901336 158946849 uc001ftb.3 chr1 158979681 159024945 uc010pis.2 chr1 159032274 159046647 uc001ftj.1 chr1 159111400 159111474 uc021pbo.1 chr1 159141376 159172932 uc001ftk.2 chr1 159165774 159172212 uc001ftm.2 chr1 159175048 159176290 uc001ftp.4 chr1 159259505 159278014 uc001ftq.3 chr1 159283459 159284449 uc010piu.2 chr1 159315958 159438858 uc001fts.4 chr1 159409511 159410600 uc010piv.2 chr1 159504867 159505797 uc010piw.2 chr1 159557615 159558661 uc001ftv.3 chr1 159682078 159684379 uc001ftw.3 chr1 159750758 159752333 uc001ftz.1 chr1 159772172 159786047 uc001fud.4 chr1 159796478 159807282 uc001fue.4 chr1 159824105 159832447 uc001fuh.3 chr1 159842153 159869906 uc001fui.3 chr1 159887896 159894341 uc031pqu.1 chr1 159896828 159915386 uc001fur.2 chr1 159921281 159924044 uc001fus.3 chr1 159931013 159948876 uc001fuu.3 chr1 159997461 160001783 uc001fuv.1 chr1 160007256 160040051 uc001fuw.2 chr1 160051359 160059212 uc001fuy.1 chr1 160061128 160068618 uc009wtf.3 chr1 160085519 160113374 uc001fvc.3 chr1 160121351 160156767 uc001fve.4 chr1 160160284 160171676 uc010pja.2 chr1 160171988 160178659 uc001fvj.1 chr1 160175124 160185162 uc001fvk.3 chr1 160185504 160232350 uc010pjb.1 chr1 160258376 160313354 uc001fvv.4 chr1 160287054 160288260 uc001fvw.3 chr1 160295893 160296006 uc021pbr.1 chr1 160313062 160328742 uc001fvx.3 chr1 160336860 160342638 uc001fwa.2 chr1 160370363 160398468 uc001fwc.2 chr1 160454819 160493052 uc001fwe.2 chr1 160510883 160549306 uc001fwh.4 chr1 160579890 160617081 uc001fwl.4 chr1 160650211 160681641 uc001fwo.2 chr1 160709076 160724601 uc001fwq.3 chr1 160765863 160798045 uc001fwu.4 chr1 160799949 160832692 uc009wtq.3 chr1 160846329 160854960 uc001fxc.3 chr1 160914815 160924589 uc001fxd.3 chr1 160965000 160991133 uc009wtt.3 chr1 161009040 161014727 uc031pqv.1 chr1 161016731 161039760 uc001fxl.3 chr1 161040780 161059385 uc001fxo.2 chr1 161068180 161070138 uc001fxr.3 chr1 161070345 161087866 uc001fxu.3 chr1 161087861 161090984 uc001fxv.2 chr1 161090768 161102256 uc001fxz.3 chr1 161123533 161128646 uc001fyd.4 chr1 161129253 161135516 uc010pkd.2 chr1 161136180 161141010 uc001fyg.2 chr1 161141099 161147758 uc001fys.2 chr1 161159537 161168845 uc001fyt.4 chr1 161171936 161184184 uc001fyw.3 chr1 161185086 161189038 uc001fyz.1 chr1 161192082 161193418 uc001fzc.1 chr1 161195832 161200407 uc001fzd.3 chr1 161196975 161197051 uc031pqw.1 chr1 161199455 161208000 uc001fzp.3 chr1 161228516 161255240 uc001gad.3 chr1 161274524 161279762 uc001gaf.4 chr1 161284165 161334535 uc001gag.3 chr1 161334520 161337673 uc001gal.4 chr1 161369489 161369562 uc021pbx.1 chr1 161390660 161390733 uc021pby.1 chr1 161391882 161391954 uc021pbz.1 chr1 161397866 161397940 uc021pca.1 chr1 161409960 161410032 uc021pcb.1 chr1 161410614 161410686 uc021pcc.1 chr1 161411322 161411405 uc021pcd.1 chr1 161413093 161413164 uc021pce.1 chr1 161417017 161417089 uc021pcf.1 chr1 161417374 161417446 uc021pcg.1 chr1 161418032 161418104 uc021pch.1 chr1 161418740 161418823 uc021pci.1 chr1 161420466 161420537 uc021pcj.1 chr1 161424397 161424469 uc021pck.1 chr1 161424755 161424827 uc021pcl.1 chr1 161425413 161425485 uc021pcm.1 chr1 161426121 161426204 uc021pcn.1 chr1 161427897 161427968 uc021pco.1 chr1 161431808 161431880 uc021pcp.1 chr1 161432165 161432237 uc021pcq.1 chr1 161432823 161432895 uc021pcr.1 chr1 161433531 161433614 uc021pcs.1 chr1 161435257 161435328 uc021pct.1 chr1 161439188 161439260 uc021pcu.1 chr1 161439546 161439618 uc021pcv.1 chr1 161440204 161440276 uc021pcw.1 chr1 161440912 161440995 uc021pcx.1 chr1 161450355 161450426 uc021pcy.1 chr1 161475204 161489360 uc001gan.3 chr1 161492934 161493006 uc021pdb.1 chr1 161493636 161493707 uc021pdc.1 chr1 161494035 161496687 uc001gaq.3 chr1 161500131 161500214 uc021pdd.1 chr1 161500902 161500974 uc021pde.1 chr1 161501914 161501986 uc021pdf.1 chr1 161510030 161510104 uc021pdg.1 chr1 161511550 161519818 uc001gar.3 chr1 161551128 161571010 uc021pdi.2 chr1 161574587 161574659 uc021pdk.1 chr1 161575848 161578341 uc010pkp.1 chr1 161581735 161581819 uc021pdl.1 chr1 161582507 161582579 uc021pdm.1 chr1 161591464 161591538 uc021pdn.1 chr1 161592987 161601252 uc009wul.3 chr1 161632904 161648444 uc001gaz.2 chr1 161653494 161655042 uc001gbc.3 chr1 161676761 161684142 uc001gbe.3 chr1 161692442 161697933 uc001gbi.3 chr1 161719580 161726952 uc001gbo.3 chr1 161736033 161933860 uc001gbs.3 chr1 161952981 161993644 uc001gbu.3 chr1 162039580 162339813 uc001gbv.2 chr1 162126896 162126972 uc021pdp.1 chr1 162308432 162308532 uc021pdq.1 chr1 162312335 162312430 uc021pdr.1 chr1 162343514 162346644 uc001gbx.2 chr1 162348695 162356608 uc010pkt.1 chr1 162365055 162381928 uc001gbz.1 chr1 162467594 162499419 uc001gcc.2 chr1 162531295 162569633 uc001gce.4 chr1 162602227 162750247 uc001gcg.3 chr1 162747518 162747805 uc021pds.1 chr1 162751900 162756362 uc001gch.1 chr1 162760495 162782608 uc001gci.3 chr1 162824086 162838605 uc001gck.2 chr1 163038395 163046592 uc001gcl.4 chr1 163112088 163172963 uc021pdt.1 chr1 163291722 163325553 uc001gcr.1 chr1 163438285 163438395 uc021pdv.1 chr1 163479273 163479385 uc021pdw.1 chr1 164528596 164821060 uc001gct.3 chr1 164595272 164651720 uc001gcu.1 chr1 164738352 164743878 uc021pdx.1 chr1 165171103 165325478 uc001gcz.2 chr1 165370158 165414592 uc001gda.3 chr1 165446078 165551341 uc001gdc.2 chr1 165513477 165533185 uc001gde.2 chr1 165566149 165566222 uc021peb.1 chr1 165600109 165625372 uc001gdf.3 chr1 165631448 165667900 uc001gdh.1 chr1 165667986 165679199 uc001gdi.3 chr1 165693527 165738159 uc001gdj.5 chr1 165738165 165744685 uc001gdo.3 chr1 165796731 165880855 uc001gdp.3 chr1 166011480 166011587 uc021ped.1 chr1 166026689 166135958 uc021pee.1 chr1 166039068 166135958 uc021pef.1 chr1 166123979 166124035 uc021peg.1 chr1 166573152 166594473 uc010pld.2 chr1 166808723 166823709 uc001gdt.1 chr1 166825748 166845654 uc001gdw.3 chr1 166882440 166944561 uc001gdx.2 chr1 166958518 166991447 uc001gdy.1 chr1 167022081 167059868 uc001gea.1 chr1 167064070 167098402 uc001geb.1 chr1 167144598 167165042 uc021pei.1 chr1 167190065 167396582 uc001gee.3 chr1 167399876 167487847 uc001gei.4 chr1 167510250 167523056 uc001gel.3 chr1 167599473 167675486 uc001gem.3 chr1 167683961 167684033 uc021pej.1 chr1 167684724 167684796 uc021pek.1 chr1 167691186 167761156 uc001geo.3 chr1 167778624 167883453 uc001ger.3 chr1 167885912 167906307 uc001get.3 chr1 167905796 168045083 uc001gex.3 chr1 168048779 168106811 uc009wvo.4 chr1 168148170 168171351 uc001gfg.3 chr1 168195254 168212088 uc001gfi.4 chr1 168214818 168216668 uc010plo.2 chr1 168218461 168220378 uc001gfk.2 chr1 168250277 168283664 uc001gfl.3 chr1 168344761 168344859 uc021pel.1 chr1 168369426 168391894 uc021pem.1 chr1 168510002 168513235 uc001gfn.4 chr1 168545710 168551315 uc001gfo.2 chr1 168664694 168698442 uc001gfp.3 chr1 168756178 168762126 uc001gfq.3 chr1 169075946 169101960 uc001gfr.1 chr1 169101768 169337186 uc001gfu.3 chr1 169337193 169365780 uc001gfy.3 chr1 169364113 169396670 uc001gfz.1 chr1 169433148 169455208 uc001gge.4 chr1 169481191 169555769 uc001ggg.1 chr1 169558087 169599377 uc001ggi.4 chr1 169659805 169680843 uc001ggk.3 chr1 169691780 169703220 uc001ggm.4 chr1 169761669 169764061 uc001ggn.4 chr1 169764549 169822229 uc001ggq.3 chr1 169822214 169863100 uc001ggs.3 chr1 169828896 169829193 uc021peo.1 chr1 169890469 170043879 uc001ggv.3 chr1 170115187 170136923 uc009wvv.1 chr1 170120518 170120603 uc021per.1 chr1 170120518 170120603 uc021peq.1 chr1 170240545 170253349 uc001ggx.3 chr1 170429593 170489887 uc001ggy.1 chr1 170501262 170522974 uc001gha.2 chr1 170633312 170708541 uc001ghf.3 chr1 170904611 171033906 uc010plz.2 chr1 171060017 171086959 uc001ghh.3 chr1 171070868 171070947 uc021pes.1 chr1 171070879 171070939 uc031prg.1 chr1 171106878 171130702 uc001ghj.1 chr1 171154387 171181822 uc001ghk.1 chr1 171217662 171255113 uc001ghl.3 chr1 171223044 171223161 uc021pet.1 chr1 171283485 171311223 uc001gho.3 chr1 171308034 171310463 uc010pmf.2 chr1 171454665 171562650 uc010pmg.2 chr1 171604556 171621773 uc001ghu.3 chr1 171669295 171711379 uc001ghx.2 chr1 171750760 171766856 uc001ghz.3 chr1 171810617 172381857 uc001gie.4 chr1 171964791 171964994 uc021peu.1 chr1 172106018 172113975 uc021pev.2 chr1 172107947 172108028 uc021pew.1 chr1 172157538 172157607 uc021pex.1 chr1 172389827 172437969 uc001gik.3 chr1 172410596 172413230 uc001gio.3 chr1 172502259 172580973 uc001giq.4 chr1 172628184 172636012 uc001gis.3 chr1 173010359 173020103 uc001giu.2 chr1 173152869 173176471 uc001giw.3 chr1 173204198 173446294 uc001gix.1 chr1 173387087 173430501 uc010pmp.1 chr1 173446485 173457946 uc001giy.1 chr1 173469603 173572233 uc001giz.2 chr1 173577474 173639001 uc001gja.1 chr1 173604660 173606272 uc021pez.1 chr1 173684079 173755840 uc001gjc.3 chr1 173768687 173793270 uc001gje.4 chr1 173793796 173827682 uc001gjh.2 chr1 173832385 173833079 uc021pfa.1 chr1 173833038 173837125 uc001gjk.3 chr1 173833312 173833355 uc009wwi.1 chr1 173834487 173834568 uc009wwk.1 chr1 173834770 173834824 uc009wwl.3 chr1 173835105 173835166 uc001gjn.1 chr1 173835448 173835509 uc009wwm.1 chr1 173836016 173836076 uc009wwo.1 chr1 173836811 173836883 uc001gjo.1 chr1 173837492 173855774 uc009wwp.1 chr1 173867684 173867712 uc021pfb.1 chr1 173872941 173886516 uc001gjt.3 chr1 173900351 173962210 uc001gju.4 chr1 174128551 174927327 uc001gjx.3 chr1 174417211 174418683 uc001gka.1 chr1 174417553 174418334 uc010pmu.1 chr1 174968891 174981163 uc001gkj.1 chr1 174982093 174992591 uc001gkk.3 chr1 175036993 175117202 uc001gkl.1 chr1 175126122 175161949 uc001gkn.3 chr1 175291934 175712752 uc009wwu.1 chr1 175526123 175533005 uc001gkr.1 chr1 175913966 176176370 uc001gku.1 chr1 175937532 175937676 uc001gkx.1 chr1 176432306 176811970 uc001gkz.3 chr1 176830202 177134024 uc001glc.3 chr1 176998498 176998581 uc021pfc.1 chr1 177140632 177251558 uc001glf.3 chr1 177897488 177939050 uc001gli.1 chr1 178060642 178062735 uc001gln.1 chr1 178062863 178448648 uc001glq.3 chr1 178482211 178491789 uc001glt.2 chr1 178511930 178518024 uc001glx.1 chr1 178530047 178530164 uc021pff.1 chr1 178646883 178646969 uc021pfg.1 chr1 178678037 178678110 uc021pfh.1 chr1 178694299 178889237 uc001glz.3 chr1 178818669 178840215 uc001gma.3 chr1 178995073 179045702 uc001gmc.3 chr1 179051111 179065129 uc001gmd.3 chr1 179068461 179112224 uc001gmi.4 chr1 179170962 179170982 uc021pfi.1 chr1 179262848 179327814 uc001gml.3 chr1 179334854 179523870 uc001gmo.3 chr1 179519673 179545084 uc001gmq.4 chr1 179556206 179556240 uc021pfk.1 chr1 179556492 179556554 uc001gmt.3 chr1 179556689 179556738 uc010pnm.1 chr1 179556805 179556836 uc001gmu.3 chr1 179556860 179556891 uc001gmv.3 chr1 179557007 179557111 uc001gmw.3 chr1 179557405 179557438 uc001gmx.3 chr1 179557454 179557483 uc021pfl.1 chr1 179557496 179557540 uc001gmz.1 chr1 179557562 179557602 uc001gna.3 chr1 179557656 179557734 uc001gnb.3 chr1 179557814 179557850 uc001gnc.1 chr1 179558162 179558192 uc010pnn.1 chr1 179558664 179558701 uc001gnd.3 chr1 179558711 179558760 uc001gne.3 chr1 179558972 179559006 uc010pno.2 chr1 179560756 179660407 uc010pnp.2 chr1 179712297 179785333 uc001gnj.3 chr1 179809101 179846941 uc001gnk.3 chr1 179828164 179846941 uc001gnn.3 chr1 179851176 179889212 uc001gnp.2 chr1 179923907 180084015 uc001gnt.3 chr1 180123967 180167169 uc001gnz.3 chr1 180167143 180169859 uc001god.4 chr1 180184275 180184348 uc021pfo.1 chr1 180199432 180244188 uc001goe.2 chr1 180238797 180243816 uc001gof.2 chr1 180257351 180472022 uc001gog.3 chr1 180318292 180318386 uc021pfp.1 chr1 180407448 180407525 uc021pfq.1 chr1 180528109 180535654 uc001goh.1 chr1 180601145 180859415 uc001goi.3 chr1 180882312 180915239 uc001gok.2 chr1 180942175 180992046 uc021pfr.1 chr1 181002560 181031074 uc001goq.2 chr1 181057637 181059979 uc001got.4 chr1 181143619 181151342 uc009wxq.3 chr1 181205523 181207740 uc031pri.1 chr1 181382578 181382716 uc001gov.3 chr1 181452685 181775921 uc009wxt.3 chr1 181456006 181456111 uc021pfs.1 chr1 181740701 181740780 uc021pft.1 chr1 182023704 182030847 uc001goz.3 chr1 182350838 182360539 uc001gpa.2 chr1 182367251 182369751 uc001gpe.3 chr1 182376755 182383948 uc009wxv.1 chr1 182419255 182529732 uc009wxw.3 chr1 182542768 182558394 uc009wxz.2 chr1 182567757 182573548 uc001gpl.4 chr1 182584274 182585764 uc021pfy.1 chr1 182615791 182642067 uc001gpm.1 chr1 182758583 182799519 uc009wyb.3 chr1 182808438 182857117 uc001gpr.3 chr1 182868999 182922553 uc001gpu.3 chr1 182992594 183114727 uc001gpy.4 chr1 183155173 183214262 uc001gqa.2 chr1 183217371 183387634 uc001gqc.2 chr1 183430010 183441117 uc001gqe.3 chr1 183441505 183523328 uc001gqf.3 chr1 183524696 183560056 uc001gqk.4 chr1 183595327 183605076 uc021pgb.2 chr1 183605207 183897666 uc001gqm.3 chr1 183615410 183622448 uc001gqn.3 chr1 183904965 184006863 uc001gqr.3 chr1 184020810 184043344 uc001gqt.4 chr1 184356149 184598155 uc001gqv.1 chr1 184659624 184724041 uc010pok.2 chr1 184727265 184730133 uc001gqz.1 chr1 184760158 184943718 uc001gra.4 chr1 185014550 185071740 uc001grc.1 chr1 185087217 185126116 uc001grf.4 chr1 185126191 185260913 uc001grg.4 chr1 185220508 185220534 uc021pgd.1 chr1 185265521 185286461 uc001grl.3 chr1 185292978 185304171 uc001grn.4 chr1 185405427 185405453 uc021pge.1 chr1 185527511 185597620 uc001gro.3 chr1 185576315 185591914 uc001grp.1 chr1 185703682 186160085 uc001grq.1 chr1 186029866 186446655 uc021pgf.1 chr1 186265404 186283688 uc001gru.4 chr1 186280785 186344457 uc001grv.3 chr1 186348898 186390503 uc021pgj.1 chr1 186369703 186370587 uc001gry.3 chr1 186412697 186430240 uc001gsa.4 chr1 186640943 186649559 uc001gsb.3 chr1 186798031 186958113 uc001gsc.3 chr1 187610357 187612988 uc001gsd.3 chr1 190066796 190446759 uc001gse.1 chr1 190447389 190450524 uc001gsf.3 chr1 190594019 190770788 uc021pgm.2 chr1 192127591 192154945 uc001gsg.3 chr1 192286121 192336414 uc001gsh.3 chr1 192544856 192549159 uc001gsi.1 chr1 192605267 192629440 uc001gsk.3 chr1 192778168 192781407 uc001gsl.3 chr1 192844815 192845115 uc021pgn.1 chr1 192981495 193028523 uc001gsm.3 chr1 193026410 193026545 uc021pgo.1 chr1 193027466 193029189 uc001gsr.1 chr1 193028551 193055115 uc001gss.3 chr1 193065594 193074608 uc001gsz.2 chr1 193091087 193223942 uc001gtb.3 chr1 193105632 193105713 uc021pgq.1 chr1 193147859 193155743 uc001gtc.4 chr1 196194912 196577499 uc001gtd.1 chr1 196551542 196551611 uc021pgs.1 chr1 196621007 196716634 uc001gtj.4 chr1 196743929 196763203 uc001gtl.3 chr1 196912933 196928356 uc001gtq.1 chr1 196946666 196978803 uc001gts.4 chr1 197008320 197036397 uc001gtt.1 chr1 197053256 197115824 uc001gtu.3 chr1 197122813 197169672 uc001gtx.1 chr1 197237333 197447585 uc001gtz.3 chr1 197473878 197744623 uc021pgu.1 chr1 197871681 197876497 uc001guh.3 chr1 197886516 197899273 uc001guk.1 chr1 198126107 198291548 uc001gun.4 chr1 198492351 198510075 uc001gup.3 chr1 198608097 198726605 uc001gur.2 chr1 198777131 198906558 uc021pgz.1 chr1 198828001 198828111 uc001gux.1 chr1 198828172 198828282 uc001guy.3 chr1 198975168 198990166 uc001gva.4 chr1 199996729 200146550 uc001gvb.4 chr1 200023188 200023293 uc021pha.1 chr1 200311671 200342920 uc001gvd.1 chr1 200375419 200379166 uc001gve.3 chr1 200380927 200444641 uc010ppi.1 chr1 200520624 200589862 uc010ppk.1 chr1 200613164 200639126 uc009wzk.3 chr1 200708685 200829831 uc001gvk.3 chr1 200842082 200843306 uc001gvn.2 chr1 200860626 200884864 uc001gvo.4 chr1 200898071 200935796 uc001gvp.1 chr1 200938513 200992828 uc001gvs.2 chr1 200993076 200997920 uc001gvu.3 chr1 201008639 201081694 uc001gvv.3 chr1 201083080 201084500 uc031prl.1 chr1 201103899 201123632 uc001gvy.3 chr1 201159952 201198080 uc001gwc.3 chr1 201252579 201302121 uc001gwd.3 chr1 201328135 201346828 uc001gwf.4 chr1 201349965 201368669 uc001gwm.3 chr1 201372894 201390874 uc021phd.1 chr1 201434606 201438299 uc031prm.1 chr1 201434606 201438299 uc001gwq.4 chr1 201452657 201475967 uc021phh.1 chr1 201489031 201489720 uc010ppt.3 chr1 201604354 201606516 uc001gwt.1 chr1 201617449 201796102 uc001gwu.3 chr1 201688635 201688755 uc031prn.1 chr1 201777738 201777830 uc021phj.1 chr1 201798287 201853422 uc001gwz.3 chr1 201857804 201861715 uc001gxa.3 chr1 201865583 201915716 uc021phl.1 chr1 201924618 201939789 uc001gxc.3 chr1 201951765 201975275 uc001gxd.3 chr1 201979689 201986315 uc001gxh.4 chr1 202092028 202098634 uc001gxj.3 chr1 202102531 202113871 uc001gxk.2 chr1 202116140 202130716 uc010ppx.2 chr1 202152694 202156267 uc009xaa.2 chr1 202156130 202158577 uc001gxs.3 chr1 202163117 202288889 uc001gxu.3 chr1 202300784 202311094 uc001gxx.4 chr1 202317829 202557697 uc001gya.2 chr1 202379235 202379335 uc021phn.1 chr1 202559724 202679551 uc010pqb.2 chr1 202696531 202777549 uc001gyf.3 chr1 202780073 202781041 uc031prp.1 chr1 202794328 202795421 uc021php.1 chr1 202827080 202830736 uc001gyj.3 chr1 202830881 202844369 uc001gyk.1 chr1 202847409 202858385 uc001gyl.3 chr1 202860229 202896371 uc001gyo.1 chr1 202909959 202927524 uc001gyq.5 chr1 202931000 202936404 uc001gyt.2 chr1 202955579 202976393 uc021phr.1 chr1 202976533 202993197 uc001gyu.1 chr1 203003611 203047864 uc009xaj.3 chr1 203052256 203055166 uc001gzd.4 chr1 203096835 203136533 uc001gzf.1 chr1 203097405 203136533 uc009xak.1 chr1 203136938 203144942 uc001gzh.1 chr1 203148058 203155922 uc001gzi.2 chr1 203185206 203198860 uc001gzn.2 chr1 203267885 203274453 uc009xao.2 chr1 203274663 203278729 uc001gzq.3 chr1 203309751 203320289 uc001gzr.3 chr1 203444882 203460479 uc001gzt.3 chr1 203463270 203478077 uc001gzu.1 chr1 203595914 203713209 uc001gzw.3 chr1 203696748 203696784 uc010pqk.1 chr1 203698708 203698833 uc001gzy.1 chr1 203699704 203700979 uc031prr.1 chr1 203734283 203745480 uc001haa.3 chr1 203764750 203823256 uc001hac.3 chr1 203766650 203769590 uc021phs.1 chr1 203830739 203840280 uc001hai.3 chr1 203968378 203968471 uc021pht.1 chr1 204001574 204010392 uc010pqo.1 chr1 204042245 204096871 uc001ham.3 chr1 204100189 204121307 uc001hao.4 chr1 204110535 204112137 uc001hap.3 chr1 204123943 204135465 uc001haq.2 chr1 204159468 204165619 uc001har.3 chr1 204167287 204183220 uc001has.1 chr1 204187978 204329057 uc001hau.4 chr1 204337557 204338847 uc010pqu.1 chr1 204372491 204380944 uc001hav.4 chr1 204379010 204380945 uc031prt.1 chr1 204391757 204459474 uc001haw.3 chr1 204475654 204475727 uc021phv.1 chr1 204476157 204476230 uc021phw.1 chr1 204485506 204527248 uc001hba.3 chr1 204586302 204654597 uc001hbf.1 chr1 204595902 204598840 uc031pru.1 chr1 204676447 204676558 uc021phz.1 chr1 204797781 204991950 uc001hbj.3 chr1 204981852 204991950 uc001hbo.2 chr1 204989426 204991950 uc001hbp.1 chr1 205012339 205047171 uc001hbr.3 chr1 205052256 205053588 uc001hbt.3 chr1 205055269 205091150 uc001hbu.2 chr1 205111630 205180727 uc001hbw.3 chr1 205197037 205242471 uc021pia.1 chr1 205271190 205290883 uc001hce.3 chr1 205305192 205326218 uc031prx.1 chr1 205342379 205356568 uc001hch.1 chr1 205350505 205391214 uc001hcj.2 chr1 205417429 205417526 uc010prh.1 chr1 205425185 205438152 uc001hco.2 chr1 205443270 205443343 uc021pib.1 chr1 205473683 205495965 uc010pri.2 chr1 205473683 205501921 uc001hcr.3 chr1 205523400 205525763 uc001hcu.2 chr1 205538111 205572046 uc001hcv.4 chr1 205564168 205564275 uc021pic.1 chr1 205626980 205649630 uc001hda.1 chr1 205681946 205719372 uc001hdb.3 chr1 205737113 205744610 uc001hde.4 chr1 205758220 205782161 uc001hdh.1 chr1 205765004 205765744 uc001hdi.1 chr1 205797149 205819276 uc001hdj.3 chr1 205831206 205865215 uc001hdk.1 chr1 205882176 205912588 uc001hdp.3 chr1 206138910 206155074 uc001hdr.4 chr1 206224282 206231482 uc001hds.2 chr1 206238881 206288236 uc001hdt.2 chr1 206317458 206332104 uc001hdu.3 chr1 206516199 206637783 uc001hdy.3 chr1 206643585 206670223 uc001hdz.2 chr1 206680878 206762616 uc001hed.3 chr1 206764973 206785904 uc001heh.2 chr1 206808880 206822542 uc001hej.3 chr1 206858364 206907630 uc001hem.2 chr1 206940947 206945839 uc001hen.1 chr1 206972214 207016326 uc001heo.3 chr1 207039153 207042568 uc001her.3 chr1 207070787 207077484 uc001heu.2 chr1 207076630 207095378 uc001hey.3 chr1 207101866 207119811 uc001hez.3 chr1 207131311 207143970 uc001hfa.4 chr1 207178153 207178230 uc021pih.1 chr1 207191865 207206101 uc001hfd.2 chr1 207217193 207224422 uc001hfe.1 chr1 207226619 207251162 uc001hfg.3 chr1 207262211 207273337 uc001hfj.3 chr1 207277510 207277617 uc001hfn.1 chr1 207277606 207318317 uc001hfo.3 chr1 207494816 207534311 uc001hfr.4 chr1 207627644 207663240 uc001hfv.3 chr1 207669472 207815110 uc001hfx.3 chr1 207818457 207897036 uc001hga.4 chr1 207925382 207968861 uc001hgj.3 chr1 207975196 207975868 uc021pik.2 chr1 207991723 207995941 uc010psi.2 chr1 208039465 208042417 uc001hgu.2 chr1 208059882 208084683 uc001hgw.1 chr1 208195587 208417665 uc001hgz.3 chr1 209602167 209605892 uc009xcn.3 chr1 209757044 209787284 uc001hhd.3 chr1 209788217 209825820 uc001hhh.3 chr1 209796788 209796855 uc021pil.1 chr1 209848669 209849735 uc001hhi.4 chr1 209878135 209908295 uc001hhk.3 chr1 209929393 209955668 uc001hho.3 chr1 209955661 209957890 uc001hhp.1 chr1 209958967 209979520 uc001hhq.2 chr1 210001311 210030910 uc001hhr.2 chr1 210111518 210337633 uc001hhs.5 chr1 210404803 210407466 uc001hhx.4 chr1 210406194 210416440 uc001hhy.3 chr1 210501595 210849638 uc009xcx.3 chr1 210851656 211307457 uc001hib.2 chr1 211432707 211489725 uc010psw.2 chr1 211500147 211548286 uc001hii.3 chr1 211556096 211605877 uc001hil.4 chr1 211649863 211666259 uc001hin.2 chr1 211748380 211752099 uc001hio.1 chr1 211836113 211848972 uc001hir.2 chr1 211916798 212004114 uc001hiv.3 chr1 212113740 212209002 uc001hiw.2 chr1 212208918 212278187 uc009xdc.3 chr1 212250954 212251027 uc021pis.1 chr1 212317864 212318301 uc010ptc.1 chr1 212458878 212535205 uc001hjb.3 chr1 212526159 212526292 uc009xdf.1 chr1 212537815 212588267 uc010pte.2 chr1 212606228 212619721 uc001hjd.3 chr1 212781969 212794119 uc021pit.1 chr1 212797625 212800113 uc010pth.1 chr1 212797788 212800120 uc001hjk.3 chr1 212859758 212873327 uc001hjl.2 chr1 212899494 212965139 uc001hjn.3 chr1 212965169 212990167 uc001hjo.2 chr1 213003484 213020991 uc001hjq.3 chr1 213029945 213031480 uc001hjs.5 chr1 213031596 213072705 uc001hjt.3 chr1 213123886 213164927 uc001hjw.3 chr1 213165523 213189168 uc001hjz.3 chr1 213224587 213446808 uc010ptr.2 chr1 213992977 214139607 uc031psa.1 chr1 214098091 214099996 uc031psb.1 chr1 214161277 214214847 uc001hkg.2 chr1 214454564 214510477 uc021pix.1 chr1 214522038 214725024 uc001hkk.2 chr1 214655881 214656819 uc010ptz.1 chr1 214776531 214837914 uc001hkm.3 chr1 215256559 215410436 uc001hkr.4 chr1 215740734 215795149 uc001hks.3 chr1 215796235 216596738 uc001hku.1 chr1 216676587 216896814 uc001hkw.2 chr1 216825011 216825068 uc021pjb.1 chr1 217603833 217804409 uc001hlf.1 chr1 217804694 218040484 uc001hlh.1 chr1 218066241 218094146 uc031psc.1 chr1 218458628 218511325 uc001hlj.3 chr1 218517537 218519020 uc031psd.1 chr1 218518675 218617961 uc001hln.3 chr1 219254316 219347130 uc001hlp.3 chr1 219347191 219386207 uc001hlq.4 chr1 220046618 220292777 uc021pjd.1 chr1 220087605 220101993 uc001hlw.3 chr1 220141941 220220000 uc001hly.1 chr1 220230823 220263191 uc001hma.3 chr1 220267454 220321383 uc001hmc.3 chr1 220291194 220291304 uc010pui.2 chr1 220291498 220291583 uc010puj.2 chr1 220291547 220291569 uc021pje.1 chr1 220321609 220445843 uc010puk.1 chr1 220373883 220374018 uc010pul.2 chr1 220439520 220441057 uc001hmj.2 chr1 220701567 220837799 uc001hmn.4 chr1 220863627 220872499 uc001hmp.1 chr1 220921675 220957596 uc001hmq.3 chr1 220960038 220987741 uc001hms.3 chr1 220999117 220999235 uc021pjg.1 chr1 221002596 221005770 uc001hmu.3 chr1 221052742 221058400 uc001hmv.4 chr1 221503269 221509638 uc001hmw.1 chr1 221874763 221915516 uc001hmy.2 chr1 222638346 222638419 uc021pjh.1 chr1 222646009 222646043 uc010puo.1 chr1 222646722 222646767 uc001hna.1 chr1 222646839 222646870 uc001hnb.3 chr1 222647751 222647786 uc010pup.1 chr1 222648391 222648423 uc021pji.1 chr1 222648536 222648596 uc001hnd.3 chr1 222648680 222648717 uc021pjj.1 chr1 222649002 222649064 uc010puq.2 chr1 222649161 222649251 uc021pjk.1 chr1 222650319 222650381 uc001hnf.3 chr1 222650411 222650443 uc001hng.2 chr1 222695601 222721444 uc001hnh.1 chr1 222731243 222763275 uc009xdz.2 chr1 222791443 222841351 uc001hnl.3 chr1 222841354 222885864 uc001hnn.3 chr1 222885905 222906106 uc001hnq.1 chr1 222900275 222946483 uc001hnr.1 chr1 222906202 222908533 uc001hns.1 chr1 222910557 222924002 uc001hnt.3 chr1 222988430 223179337 uc001hnu.2 chr1 223282747 223316624 uc001hnw.2 chr1 223394160 223537544 uc001hny.4 chr1 223566714 223568812 uc001hoa.2 chr1 223714971 223853436 uc009xee.2 chr1 223900118 223963720 uc001hob.4 chr1 223967594 224033674 uc010pvb.2 chr1 224051997 224052306 uc021pjm.1 chr1 224139721 224139941 uc001hof.1 chr1 224189608 224197818 uc001hog.1 chr1 224294983 224295243 uc021pjn.1 chr1 224301788 224349749 uc001hoh.3 chr1 224370909 224381142 uc001hoj.3 chr1 224415035 224517891 uc001hok.3 chr1 224444705 224444843 uc021pjo.1 chr1 224544512 224566223 uc001hom.2 chr1 224572844 224622001 uc001hop.4 chr1 224585928 224586013 uc021pjq.1 chr1 224586541 224586601 uc021pjr.1 chr1 224804178 224928249 uc001hos.1 chr1 225117355 225586996 uc001how.2 chr1 225589203 225615815 uc001hoy.3 chr1 225674533 225840845 uc001hpc.1 chr1 225888305 225939945 uc001hpe.1 chr1 225965514 225978168 uc001hpg.3 chr1 225997796 226033262 uc001hpk.3 chr1 226033232 226070420 uc001hpm.2 chr1 226073981 226076846 uc001hpo.3 chr1 226107576 226112040 uc001hpq.4 chr1 226124297 226129083 uc001hpt.2 chr1 226170402 226187066 uc001hpu.4 chr1 226250407 226259703 uc001hpw.3 chr1 226271655 226277994 uc001hpx.3 chr1 226332379 226374423 uc001hpy.3 chr1 226374532 226385086 uc031psl.1 chr1 226411382 226413513 uc010pvm.2 chr1 226418849 226497204 uc001hqa.3 chr1 226548391 226595801 uc001hqd.4 chr1 226723318 226730469 uc001hqe.2 chr1 226736500 226796915 uc021pjw.1 chr1 226819390 226926876 uc010pvo.2 chr1 227058272 227083804 uc009xeo.1 chr1 227127937 227175246 uc001hqn.1 chr1 227177565 227505826 uc001hqr.3 chr1 227581291 227618723 uc001hqv.3 chr1 227751219 227850164 uc021pjy.1 chr1 227884732 227885408 uc021pjz.1 chr1 227918889 227923112 uc001hrb.3 chr1 227922696 227968932 uc001hrf.2 chr1 228003417 228034171 uc001hrh.3 chr1 228109164 228135676 uc001hri.2 chr1 228129290 228129384 uc031psm.1 chr1 228155293 228155325 uc001hrj.3 chr1 228155355 228155417 uc001hrk.3 chr1 228156485 228156575 uc021pka.1 chr1 228156672 228156704 uc021pkb.1 chr1 228157022 228157062 uc010pvt.1 chr1 228157172 228157203 uc010pvu.2 chr1 228160064 228160098 uc001hrn.2 chr1 228160168 228160213 uc021pkc.1 chr1 228194722 228248972 uc001hrq.2 chr1 228270360 228286913 uc001hrr.3 chr1 228284963 228285042 uc021pkd.1 chr1 228288427 228291022 uc001hrx.3 chr1 228294379 228297013 uc001hrz.4 chr1 228327928 228336655 uc021pkf.1 chr1 228337414 228347527 uc001hsk.3 chr1 228353428 228369958 uc001hsl.4 chr1 228391206 228401365 uc031psn.1 chr1 228395830 228566575 uc001hsq.2 chr1 228581376 228594517 uc001hss.3 chr1 228595635 228604583 uc001hsv.3 chr1 228612545 228613026 uc001hsx.1 chr1 228645064 228645560 uc001hsy.3 chr1 228645807 228646259 uc001hsz.3 chr1 228649774 228649853 uc021pkh.1 chr1 228651845 228651891 uc021pki.1 chr1 228673888 228674821 uc001hta.3 chr1 228675067 228683889 uc001htb.3 chr1 228780393 228788159 uc001htd.2 chr1 228870823 228882416 uc001htf.3 chr1 229050379 229052954 uc001htg.2 chr1 229406808 229441640 uc001hth.4 chr1 229440128 229441250 uc001htk.4 chr1 229456751 229478688 uc001htl.4 chr1 229566992 229569843 uc001htm.3 chr1 229577043 229644088 uc001htn.3 chr1 229589676 229591617 uc001hto.1 chr1 229652328 229694442 uc001htp.4 chr1 229728865 229761794 uc001htq.3 chr1 229761980 229795946 uc001hts.1 chr1 230202955 230417875 uc010pwa.1 chr1 230457391 230561674 uc031psq.1 chr1 230778201 230829731 uc001htw.3 chr1 230838271 230850336 uc001hty.4 chr1 230883129 230937749 uc001htz.1 chr1 230972864 231004302 uc001hub.3 chr1 231010591 231014761 uc001hue.1 chr1 231041986 231114618 uc001huf.4 chr1 231114822 231136479 uc001huh.3 chr1 231154703 231175995 uc001hui.2 chr1 231298673 231357314 uc009xfn.1 chr1 231319844 231323373 uc031pss.1 chr1 231359508 231376924 uc001hul.3 chr1 231376918 231413719 uc001hup.4 chr1 231468481 231473578 uc001huq.3 chr1 231473681 231490769 uc001hur.4 chr1 231499496 231560790 uc001huv.2 chr1 231611509 231612271 uc021pkl.1 chr1 231664398 231702269 uc001huw.3 chr1 231727037 231747836 uc021pkm.2 chr1 231762560 232177019 uc010pxh.2 chr1 231950371 231954263 uc001hvd.3 chr1 232533711 232651243 uc001hvg.3 chr1 232940637 232946092 uc001hvh.2 chr1 233086369 233114219 uc001hvj.1 chr1 233119881 233431459 uc001hvl.2 chr1 233463513 233520894 uc001hvt.4 chr1 233584371 233584527 uc021pko.1 chr1 233749749 233808258 uc010pxo.1 chr1 233759897 233759965 uc021pkp.1 chr1 234040678 234460262 uc001hvy.1 chr1 234348351 234350834 uc001hvz.1 chr1 234442212 234442285 uc021pkq.1 chr1 234509428 234519795 uc001hwc.3 chr1 234527058 234614849 uc001hwd.3 chr1 234663636 234667525 uc001hwe.3 chr1 234740014 234745271 uc001hwg.3 chr1 234765056 234770526 uc021pkr.1 chr1 234782034 234796670 uc001hwh.3 chr1 234859788 234867390 uc001hwj.2 chr1 235093089 235099746 uc001hwk.4 chr1 235272657 235292256 uc001hwl.3 chr1 235291117 235291252 uc001hwm.1 chr1 235294497 235324772 uc001hwn.3 chr1 235330209 235491532 uc001hwq.3 chr1 235353348 235353431 uc021pkt.1 chr1 235491752 235507844 uc001hwv.3 chr1 235530727 235612280 uc001hxa.1 chr1 235610504 235667781 uc001hxc.3 chr1 235710984 235814054 uc001hxh.4 chr1 235712454 235714587 uc021pku.1 chr1 235824330 236030227 uc001hxj.3 chr1 236016299 236016360 uc021pkv.1 chr1 236139131 236228481 uc001hxo.3 chr1 236227659 236229779 uc001hxp.1 chr1 236305831 236372209 uc001hxq.3 chr1 236378421 236445339 uc001hxt.3 chr1 236557679 236648008 uc001hxu.1 chr1 236686368 236687808 uc001hxx.3 chr1 236686738 236716279 uc001hxy.2 chr1 236712304 236767841 uc001hyd.2 chr1 236849769 236927558 uc001hyf.2 chr1 236958580 237067281 uc001hyi.4 chr1 236973802 236992568 uc009xgj.1 chr1 237167402 237167718 uc001hyk.2 chr1 237205701 237997288 uc001hyl.1 chr1 237284106 237284409 uc021pkw.1 chr1 238025474 238091619 uc010pyc.2 chr1 238041163 238054222 uc001hym.3 chr1 238105861 238105933 uc021pla.1 chr1 238106955 238107030 uc021plb.1 chr1 238643683 238649317 uc001hyn.3 chr1 239792372 240072717 uc001hyp.3 chr1 240170823 240176560 uc021pld.1 chr1 240255184 240638489 uc010pyd.2 chr1 240317950 240318072 uc021ple.1 chr1 240652872 240775462 uc001hys.3 chr1 240938816 241520478 uc001hyv.2 chr1 241295571 241295646 uc021plg.1 chr1 241660856 241683085 uc001hyx.3 chr1 241695433 241758949 uc009xgp.3 chr1 241756451 241803701 uc001hza.3 chr1 241792166 241799232 uc001hzd.3 chr1 241815579 241965434 uc001hzg.2 chr1 242011492 242053241 uc001hzh.3 chr1 242158791 242162385 uc001hzk.2 chr1 242251688 242687998 uc001hzn.2 chr1 243218732 243218763 uc021plm.1 chr1 243219238 243219328 uc021pln.1 chr1 243219615 243265046 uc001hzq.2 chr1 243287729 243418708 uc021plo.1 chr1 243351942 243352032 uc021plr.1 chr1 243419306 243663393 uc001hzw.3 chr1 243509477 243509557 uc021plt.1 chr1 243663020 244006584 uc001iab.2 chr1 243729624 243729741 uc021plv.1 chr1 244080703 244210619 uc001iac.3 chr1 244212240 244220780 uc031psv.1 chr1 244515936 244552388 uc001iah.4 chr1 244571793 244615436 uc001iaj.3 chr1 244624672 244803662 uc001iam.3 chr1 244816351 244872334 uc001iao.3 chr1 244998638 245008359 uc001iar.3 chr1 245003939 245010243 uc001iav.3 chr1 245013601 245027827 uc001iaz.1 chr1 245133170 245251148 uc001ibc.2 chr1 245318286 245866428 uc001ibf.1 chr1 245533635 245533719 uc021plw.1 chr1 245912641 246670644 uc001ibl.3 chr1 246679340 246687589 uc021plx.1 chr1 246703862 246729565 uc001ibn.3 chr1 246729638 246831884 uc001ibp.3 chr1 246887377 246931440 uc001ibr.3 chr1 246939314 246955685 uc001ibs.1 chr1 246970416 246970487 uc021ply.1 chr1 247002401 247094726 uc001ibv.2 chr1 247148624 247171395 uc009xgu.3 chr1 247197939 247242115 uc001icd.2 chr1 247263263 247267674 uc001ice.2 chr1 247273461 247275719 uc001icg.1 chr1 247319202 247335318 uc001icj.1 chr1 247337903 247338870 uc001icl.1 chr1 247365268 247365362 uc021pma.1 chr1 247419373 247420447 uc010pyu.2 chr1 247463621 247495045 uc001ico.3 chr1 247579457 247612406 uc001icr.3 chr1 247614330 247615284 uc010pyx.2 chr1 247654369 247655711 uc001icz.2 chr1 247681594 247683942 uc001idc.3 chr1 247693433 247697141 uc009xgy.3 chr1 247712346 247739848 uc001idf.3 chr1 247751661 247752615 uc010pyy.2 chr1 247768887 247769817 uc010pyz.2 chr1 247835419 247836343 uc001idi.1 chr1 247875130 247876057 uc001idj.1 chr1 247920763 247921708 uc010pza.2 chr1 247978101 247979031 uc001idm.1 chr1 248004229 248005198 uc001idn.1 chr1 248020500 248043438 uc001ido.3 chr1 248058888 248059833 uc010pzb.2 chr1 248084319 248085258 uc010pzc.2 chr1 248100492 248264224 uc001ids.3 chr1 248112159 248113098 uc001idt.1 chr1 248128633 248129641 uc010pzd.2 chr1 248153568 248154493 uc001idv.1 chr1 248185249 248186188 uc031psy.1 chr1 248201473 248202607 uc001idw.3 chr1 248223983 248224922 uc001idx.1 chr1 248285437 248286082 uc001idy.1 chr1 248308449 248309388 uc010pze.2 chr1 248343287 248344331 uc010pzf.2 chr1 248366369 248367308 uc010pzg.2 chr1 248402230 248403166 uc010pzh.2 chr1 248436153 248437116 uc010pzi.2 chr1 248457917 248458880 uc010pzj.2 chr1 248486931 248487870 uc010pzk.2 chr1 248512076 248513015 uc010pzl.2 chr1 248524882 248525929 uc001ieh.1 chr1 248550909 248551836 uc001iei.1 chr1 248569295 248570405 uc010pzm.2 chr1 248616098 248617073 uc001iek.1 chr1 248636651 248637608 uc001iel.1 chr1 248651889 248652837 uc001iem.1 chr1 248684947 248685898 uc001ien.1 chr1 248721844 248722792 uc001ieo.2 chr1 248737101 248738058 uc001iep.1 chr1 248756130 248757069 uc010pzn.2 chr1 248789478 248790429 uc001ier.1 chr1 248801587 248802559 uc001ies.1 chr1 248813231 248814185 uc010pzo.2 chr1 248844669 248845605 uc001ieu.1 chr1 248881947 248885507 uc031psz.1 chr1 248902716 248903151 uc009xhb.3 chr1 249104650 249120154 uc001iew.1 chr1 249120575 249120642 uc021pmd.1 chr1 249132529 249143714 uc001iex.3 chr1 249144202 249153315 uc001ifc.2 chr1 249168053 249168159 uc021pmf.1 chr1 249168446 249168518 uc021pmg.1 chr1 249200441 249213345 uc001ifh.3 ================================================ FILE: intro_awk_spring2021/data/.ipynb_checkpoints/example-checkpoint.fastq ================================================ @ERR117184_2.14044282 CTGGTGCTCAGTCATTTTGCTAGATTGTAGCTCACCATTGCCTCTCTGCCTGCATTGTGCACTCCAATCCCTCAGCAGCTACAAAAACACTTTGTCAACTCCAGATCGG + IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII @ERR117185_2.23793537 TTGTTCAATTTTTTTAGTAGTTTTAGAGTAATTAATGAGCTTTGAGGTCACTTAACAATAAAAGCATATTTTAAAGTAAAGGTTGCTGATCAACAGTCTAATTTTCATA + IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII @ERR117166_2.4649205 ACTTAACAATAAAAGCATATTTTAAAGTAAAGGTT + IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII @ERR117185_2.949669 ATGCTTTTATTGTTAAGTGACCTCAAAGCTCATTAATTACTCTAAAACTACTAAAAAAATTGAACAAAAAAGTATTTCCAGTAATCAAGATTTTCTTCATGCCCTAGAT + IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII @ERR117163_2.2292219 AAATCGTAAGTGAAGCAACAGAATTCAGAACTAAA + IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII @ERR117165_2.36526615 AACGCTAAGGTTATATTAAAATGTTTCTTATGTTG + IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII @ERR117174_2.23007391 GCAAGTGGTTGGACTCAAGGAAGTTATAAATACCT + IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII @ERR117175_2.11345437 GCAAGTGGTTGGACTCAAGGAAGTTATAAATACCT + IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII @ERR117176_2.30285510 GCAAGTGGTTGGACTCAAGGAAGTTATAAATACCT + IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII @ERR117177_2.33680511 GCAAGTGGTTGGACTCAAGGAAGTTATAAATACCT + IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII ================================================ FILE: intro_awk_spring2021/data/.ipynb_checkpoints/hg38-checkpoint.genome ================================================ chrom size 1 248956422 2 242193529 3 198295559 4 190214555 5 181538259 6 170805979 7 159345973 X 156040895 8 145138636 9 138394717 11 135086622 10 133797422 12 133275309 13 114364328 14 107043718 15 101991189 16 90338345 17 83257441 18 80373285 20 64444167 19 58617616 Y 57227415 22 50818468 21 46709983 15_KI270905v1_alt 5161414 6_GL000256v2_alt 4929269 6_GL000254v2_alt 4827813 6_GL000251v2_alt 4795265 6_GL000253v2_alt 4677643 6_GL000250v2_alt 4672374 6_GL000255v2_alt 4606388 6_GL000252v2_alt 4604811 17_KI270857v1_alt 2877074 16_KI270853v1_alt 2659700 16_KI270728v1_random 1872759 17_GL000258v2_alt 1821992 5_GL339449v2_alt 1612928 14_KI270847v1_alt 1511111 17_KI270908v1_alt 1423190 14_KI270846v1_alt 1351393 5_KI270897v1_alt 1144418 7_KI270803v1_alt 1111570 19_GL949749v2_alt 1091841 19_KI270938v1_alt 1066800 19_GL949750v2_alt 1066390 19_GL949748v2_alt 1064304 19_GL949751v2_alt 1002683 19_GL949746v1_alt 987716 19_GL949752v1_alt 987100 8_KI270821v1_alt 985506 1_KI270763v1_alt 911658 6_KI270801v1_alt 870480 19_GL949753v2_alt 796479 19_GL949747v2_alt 729520 8_KI270822v1_alt 624492 4_GL000257v2_alt 586476 12_KI270904v1_alt 572349 4_KI270925v1_alt 555799 15_KI270852v1_alt 478999 15_KI270727v1_random 448248 9_KI270823v1_alt 439082 15_KI270850v1_alt 430880 1_KI270759v1_alt 425601 12_GL877876v1_alt 408271 Un_KI270442v1 392061 17_KI270862v1_alt 391357 15_GL383555v2_alt 388773 19_GL383573v1_alt 385657 4_KI270896v1_alt 378547 4_GL383528v1_alt 376187 17_GL383563v3_alt 375691 8_KI270810v1_alt 374415 1_GL383520v2_alt 366580 1_KI270762v1_alt 354444 15_KI270848v1_alt 327382 17_KI270909v1_alt 325800 14_KI270844v1_alt 322166 8_KI270900v1_alt 318687 10_GL383546v1_alt 309802 13_KI270838v1_alt 306913 8_KI270816v1_alt 305841 22_KI270879v1_alt 304135 8_KI270813v1_alt 300230 11_KI270831v1_alt 296895 15_GL383554v1_alt 296527 8_KI270811v1_alt 292436 18_GL383567v1_alt 289831 X_KI270880v1_alt 284869 8_KI270812v1_alt 282736 19_KI270921v1_alt 282224 17_KI270729v1_random 280839 17_JH159146v1_alt 278131 X_KI270913v1_alt 274009 6_KI270798v1_alt 271782 7_KI270808v1_alt 271455 22_KI270876v1_alt 263666 15_KI270851v1_alt 263054 22_KI270875v1_alt 259914 1_KI270766v1_alt 256271 19_KI270882v1_alt 248807 3_KI270778v1_alt 248252 15_KI270849v1_alt 244917 4_KI270786v1_alt 244096 12_KI270835v1_alt 238139 17_KI270858v1_alt 235827 19_KI270867v1_alt 233762 16_KI270855v1_alt 232857 8_KI270926v1_alt 229282 5_GL949742v1_alt 226852 3_KI270780v1_alt 224108 17_GL383565v1_alt 223995 2_KI270774v1_alt 223625 4_KI270790v1_alt 220246 11_KI270927v1_alt 218612 19_KI270932v1_alt 215732 11_KI270903v1_alt 214625 2_KI270894v1_alt 214158 14_GL000225v1_random 211173 Un_KI270743v1 210658 11_KI270832v1_alt 210133 7_KI270805v1_alt 209988 4_GL000008v2_random 209709 7_KI270809v1_alt 209586 19_KI270887v1_alt 209512 4_KI270789v1_alt 205944 3_KI270779v1_alt 205312 19_KI270914v1_alt 205194 19_KI270886v1_alt 204239 11_KI270829v1_alt 204059 14_GL000009v2_random 201709 21_GL383579v2_alt 201197 11_JH159136v1_alt 200998 19_KI270930v1_alt 200773 Un_KI270747v1 198735 18_GL383571v1_alt 198278 19_KI270920v1_alt 198005 6_KI270797v1_alt 197536 3_KI270935v1_alt 197351 17_KI270861v1_alt 196688 15_KI270906v1_alt 196384 5_KI270791v1_alt 195710 14_KI270722v1_random 194050 16_GL383556v1_alt 192462 13_KI270840v1_alt 191684 14_GL000194v1_random 191469 11_JH159137v1_alt 191409 19_KI270917v1_alt 190932 7_KI270899v1_alt 190869 19_KI270923v1_alt 189352 10_KI270825v1_alt 188315 19_GL383576v1_alt 188024 19_KI270922v1_alt 187935 Un_KI270742v1 186739 22_KI270878v1_alt 186262 19_KI270929v1_alt 186203 11_KI270826v1_alt 186169 6_KB021644v2_alt 185823 17_GL000205v2_random 185591 1_KI270765v1_alt 185285 19_KI270916v1_alt 184516 19_KI270890v1_alt 184499 3_KI270784v1_alt 184404 12_GL383551v1_alt 184319 20_KI270870v1_alt 183433 Un_GL000195v1 182896 1_GL383518v1_alt 182439 22_KI270736v1_random 181920 10_KI270824v1_alt 181496 14_KI270845v1_alt 180703 3_GL383526v1_alt 180671 13_KI270839v1_alt 180306 22_KI270733v1_random 179772 Un_GL000224v1 179693 10_GL383545v1_alt 179254 Un_GL000219v1 179198 5_KI270792v1_alt 179043 17_KI270860v1_alt 178921 19_GL000209v2_alt 177381 11_KI270830v1_alt 177092 9_KI270719v1_random 176845 Un_GL000216v2 176608 22_KI270928v1_alt 176103 1_KI270712v1_random 176043 6_KI270800v1_alt 175808 1_KI270706v1_random 175055 2_KI270776v1_alt 174166 18_KI270912v1_alt 174061 3_KI270777v1_alt 173649 5_GL383531v1_alt 173459 3_JH636055v2_alt 173151 14_KI270725v1_random 172810 5_KI270796v1_alt 172708 9_GL383541v1_alt 171286 19_KI270885v1_alt 171027 19_KI270919v1_alt 170701 19_KI270889v1_alt 170698 19_KI270891v1_alt 170680 19_KI270915v1_alt 170665 19_KI270933v1_alt 170537 19_KI270883v1_alt 170399 19_GL383575v2_alt 170222 19_KI270931v1_alt 170148 12_GL383550v2_alt 169178 13_KI270841v1_alt 169134 Un_KI270744v1 168472 18_KI270863v1_alt 167999 18_GL383569v1_alt 167950 12_GL877875v1_alt 167313 21_KI270874v1_alt 166743 3_KI270924v1_alt 166540 1_KI270761v1_alt 165834 3_KI270937v1_alt 165607 22_KI270734v1_random 165050 18_GL383570v1_alt 164789 5_KI270794v1_alt 164558 4_GL383527v1_alt 164536 Un_GL000213v1 164239 3_KI270936v1_alt 164170 3_KI270934v1_alt 163458 9_GL383539v1_alt 162988 3_KI270895v1_alt 162896 22_GL383582v2_alt 162811 3_KI270782v1_alt 162429 1_KI270892v1_alt 162212 Un_GL000220v1 161802 2_KI270767v1_alt 161578 2_KI270715v1_random 161471 2_KI270893v1_alt 161218 Un_GL000218v1 161147 18_GL383572v1_alt 159547 8_KI270817v1_alt 158983 4_KI270788v1_alt 158965 Un_KI270749v1 158759 7_KI270806v1_alt 158166 7_KI270804v1_alt 157952 18_KI270911v1_alt 157710 Un_KI270741v1 157432 17_KI270910v1_alt 157099 19_KI270884v1_alt 157053 19_GL383574v1_alt 155864 19_KI270888v1_alt 155532 3_GL000221v1_random 155397 11_GL383547v1_alt 154407 2_KI270716v1_random 153799 12_GL383553v2_alt 152874 6_KI270799v1_alt 152148 22_KI270731v1_random 150754 Un_KI270751v1 150742 Un_KI270750v1 148850 8_KI270818v1_alt 145606 X_KI270881v1_alt 144206 21_KI270873v1_alt 143900 2_GL383521v1_alt 143390 8_KI270814v1_alt 141812 12_GL383552v1_alt 138655 Un_KI270519v1 138126 2_KI270775v1_alt 138019 17_KI270907v1_alt 137721 Un_GL000214v1 137718 8_KI270901v1_alt 136959 2_KI270770v1_alt 136240 16_KI270854v1_alt 134193 8_KI270819v1_alt 133535 17_GL383564v2_alt 133151 2_KI270772v1_alt 133041 8_KI270815v1_alt 132244 5_KI270795v1_alt 131892 5_KI270898v1_alt 130957 20_GL383577v2_alt 128386 1_KI270708v1_random 127682 7_KI270807v1_alt 126434 5_KI270793v1_alt 126136 6_GL383533v1_alt 124736 2_GL383522v1_alt 123821 19_KI270918v1_alt 123111 12_GL383549v1_alt 120804 2_KI270769v1_alt 120616 4_KI270785v1_alt 119912 12_KI270834v1_alt 119498 7_GL383534v2_alt 119183 20_KI270869v1_alt 118774 21_GL383581v2_alt 116689 3_KI270781v1_alt 113034 17_KI270730v1_random 112551 Un_KI270438v1 112505 4_KI270787v1_alt 111943 18_KI270864v1_alt 111737 2_KI270771v1_alt 110395 1_GL383519v1_alt 110268 2_KI270768v1_alt 110099 1_KI270760v1_alt 109528 3_KI270783v1_alt 109187 17_KI270859v1_alt 108763 11_KI270902v1_alt 106711 18_GL383568v1_alt 104552 22_KI270737v1_random 103838 13_KI270843v1_alt 103832 22_KI270877v1_alt 101331 5_GL383530v1_alt 101241 11_KI270721v1_random 100316 22_KI270738v1_random 99375 22_GL383583v2_alt 96924 2_GL582966v2_alt 96131 Un_KI270748v1 93321 Un_KI270435v1 92983 5_GL000208v1_random 92689 Un_KI270538v1 91309 17_GL383566v1_alt 90219 16_GL383557v1_alt 89672 17_JH159148v1_alt 88070 5_GL383532v1_alt 82728 21_KI270872v1_alt 82692 Un_KI270756v1 79590 6_KI270758v1_alt 76752 12_KI270833v1_alt 76061 6_KI270802v1_alt 75005 21_GL383580v2_alt 74653 22_KB663609v1_alt 74013 22_KI270739v1_random 73985 9_GL383540v1_alt 71551 Un_KI270757v1 71251 2_KI270773v1_alt 70887 17_JH159147v1_alt 70345 11_KI270827v1_alt 67707 1_KI270709v1_random 66860 Un_KI270746v1 66486 16_KI270856v1_alt 63982 21_GL383578v2_alt 63917 Un_KI270753v1 62944 19_KI270868v1_alt 61734 9_GL383542v1_alt 60032 20_KI270871v1_alt 58661 12_KI270836v1_alt 56134 19_KI270865v1_alt 52969 1_KI270764v1_alt 50258 Un_KI270589v1 44474 14_KI270726v1_random 43739 19_KI270866v1_alt 43156 22_KI270735v1_random 42811 1_KI270711v1_random 42210 Un_KI270745v1 41891 1_KI270714v1_random 41717 22_KI270732v1_random 41543 1_KI270713v1_random 40745 Un_KI270754v1 40191 1_KI270710v1_random 40176 12_KI270837v1_alt 40090 9_KI270717v1_random 40062 14_KI270724v1_random 39555 9_KI270720v1_random 39050 14_KI270723v1_random 38115 9_KI270718v1_random 38054 Un_KI270317v1 37690 13_KI270842v1_alt 37287 Y_KI270740v1_random 37240 Un_KI270755v1 36723 8_KI270820v1_alt 36640 1_KI270707v1_random 32032 Un_KI270579v1 31033 Un_KI270752v1 27745 Un_KI270512v1 22689 Un_KI270322v1 21476 M 16569 Un_GL000226v1 15008 Un_KI270311v1 12399 Un_KI270366v1 8320 Un_KI270511v1 8127 Un_KI270448v1 7992 Un_KI270521v1 7642 Un_KI270581v1 7046 Un_KI270582v1 6504 Un_KI270515v1 6361 Un_KI270588v1 6158 Un_KI270591v1 5796 Un_KI270522v1 5674 Un_KI270507v1 5353 Un_KI270590v1 4685 Un_KI270584v1 4513 Un_KI270320v1 4416 Un_KI270382v1 4215 Un_KI270468v1 4055 Un_KI270467v1 3920 Un_KI270362v1 3530 Un_KI270517v1 3253 Un_KI270593v1 3041 Un_KI270528v1 2983 Un_KI270587v1 2969 Un_KI270364v1 2855 Un_KI270371v1 2805 Un_KI270333v1 2699 Un_KI270374v1 2656 Un_KI270411v1 2646 Un_KI270414v1 2489 Un_KI270510v1 2415 Un_KI270390v1 2387 Un_KI270375v1 2378 Un_KI270420v1 2321 Un_KI270509v1 2318 Un_KI270315v1 2276 Un_KI270302v1 2274 Un_KI270518v1 2186 Un_KI270530v1 2168 Un_KI270304v1 2165 Un_KI270418v1 2145 Un_KI270424v1 2140 Un_KI270417v1 2043 Un_KI270508v1 1951 Un_KI270303v1 1942 Un_KI270381v1 1930 Un_KI270529v1 1899 Un_KI270425v1 1884 Un_KI270396v1 1880 Un_KI270363v1 1803 Un_KI270386v1 1788 Un_KI270465v1 1774 Un_KI270383v1 1750 Un_KI270384v1 1658 Un_KI270330v1 1652 Un_KI270372v1 1650 Un_KI270548v1 1599 Un_KI270580v1 1553 Un_KI270387v1 1537 Un_KI270391v1 1484 Un_KI270305v1 1472 Un_KI270373v1 1451 Un_KI270422v1 1445 Un_KI270316v1 1444 Un_KI270338v1 1428 Un_KI270340v1 1428 Un_KI270583v1 1400 Un_KI270334v1 1368 Un_KI270429v1 1361 Un_KI270393v1 1308 Un_KI270516v1 1300 Un_KI270389v1 1298 Un_KI270466v1 1233 Un_KI270388v1 1216 Un_KI270544v1 1202 Un_KI270310v1 1201 Un_KI270412v1 1179 Un_KI270395v1 1143 Un_KI270376v1 1136 Un_KI270337v1 1121 Un_KI270335v1 1048 Un_KI270378v1 1048 Un_KI270379v1 1045 Un_KI270329v1 1040 Un_KI270419v1 1029 Un_KI270336v1 1026 Un_KI270312v1 998 Un_KI270539v1 993 Un_KI270385v1 990 Un_KI270423v1 981 Un_KI270392v1 971 Un_KI270394v1 970 ================================================ FILE: intro_awk_spring2021/data/Homo_sapiens.GRCh38.subset.gff3 ================================================ ##gff-version 3 ##sequence-region 1 1 248956422 1 Ensembl chromosome 1 248956422 . . . ID=chromosome:1 1 . biological_region 10469 11240 1.3e+03 . . external_name=oe %3D 0.79 1 . biological_region 10650 10657 0.999 + . logic_name=eponine 1 . biological_region 10655 10657 0.999 - . logic_name=eponine 1 . biological_region 10678 10687 0.999 + . logic_name=eponine 1 . biological_region 10681 10688 0.999 - . logic_name=eponine 1 . biological_region 10707 10716 0.999 + . logic_name=eponine 1 . biological_region 10708 10718 0.999 - . logic_name=eponine 1 . biological_region 10735 10747 0.999 - . logic_name=eponine 1 . biological_region 10737 10744 0.999 + . logic_name=eponine 1 . biological_region 10766 10773 0.999 + . logic_name=eponine 1 . biological_region 10770 10779 0.999 - . logic_name=eponine 1 . biological_region 10796 10801 0.999 + . logic_name=eponine 1 . biological_region 10810 10819 0.999 - . logic_name=eponine 1 . biological_region 10870 10872 0.999 + . logic_name=eponine 1 . biological_region 10889 10893 0.999 - . logic_name=eponine 1 havana pseudogene 11869 14409 . + . ID=gene:ENSG00000223972 1 havana lnc_RNA 11869 14409 . + . ID=transcript:ENST00000456328 1 havana exon 11869 12227 . + . Parent=transcript:ENST00000456328 1 havana exon 12613 12721 . + . Parent=transcript:ENST00000456328 1 havana exon 13221 14409 . + . Parent=transcript:ENST00000456328 1 havana pseudogenic_transcript 12010 13670 . + . ID=transcript:ENST00000450305 1 havana exon 12010 12057 . + . Parent=transcript:ENST00000450305 1 havana exon 12179 12227 . + . Parent=transcript:ENST00000450305 1 havana exon 12613 12697 . + . Parent=transcript:ENST00000450305 1 havana exon 12975 13052 . + . Parent=transcript:ENST00000450305 1 havana exon 13221 13374 . + . Parent=transcript:ENST00000450305 1 havana exon 13453 13670 . + . Parent=transcript:ENST00000450305 1 havana pseudogene 14404 29570 . - . ID=gene:ENSG00000227232 1 havana pseudogenic_transcript 14404 29570 . - . ID=transcript:ENST00000488147 1 havana exon 14404 14501 . - . Parent=transcript:ENST00000488147 1 havana exon 15005 15038 . - . Parent=transcript:ENST00000488147 1 havana exon 15796 15947 . - . Parent=transcript:ENST00000488147 1 havana exon 16607 16765 . - . Parent=transcript:ENST00000488147 1 havana exon 16858 17055 . - . Parent=transcript:ENST00000488147 1 havana exon 17233 17368 . - . Parent=transcript:ENST00000488147 1 havana exon 17606 17742 . - . Parent=transcript:ENST00000488147 1 havana exon 17915 18061 . - . Parent=transcript:ENST00000488147 1 havana exon 18268 18366 . - . Parent=transcript:ENST00000488147 1 havana exon 24738 24891 . - . Parent=transcript:ENST00000488147 1 havana exon 29534 29570 . - . Parent=transcript:ENST00000488147 1 . biological_region 15796 16060 0.999 - . external_name=rank %3D 1 1 mirbase ncRNA_gene 17369 17436 . - . ID=gene:ENSG00000278267 1 mirbase miRNA 17369 17436 . - . ID=transcript:ENST00000619216 1 mirbase exon 17369 17436 . - . Parent=transcript:ENST00000619216 1 . biological_region 28736 29810 1.01e+03 . . external_name=oe %3D 0.88 1 . biological_region 29116 29118 0.999 + . logic_name=eponine 1 . biological_region 29127 29206 1 + . external_name=rank %3D 1 1 . biological_region 29321 29395 1 - . external_name=rank %3D 1 1 . biological_region 29394 29396 0.999 - . logic_name=eponine 1 . biological_region 29448 29451 0.999 + . logic_name=eponine 1 havana ncRNA_gene 29554 31109 . + . ID=gene:ENSG00000243485 1 havana lnc_RNA 29554 31097 . + . ID=transcript:ENST00000473358 1 havana exon 29554 30039 . + . Parent=transcript:ENST00000473358 1 havana exon 30564 30667 . + . Parent=transcript:ENST00000473358 1 havana exon 30976 31097 . + . Parent=transcript:ENST00000473358 1 havana lnc_RNA 30267 31109 . + . ID=transcript:ENST00000469289 1 havana exon 30267 30667 . + . Parent=transcript:ENST00000469289 1 havana exon 30976 31109 . + . Parent=transcript:ENST00000469289 1 . biological_region 29583 29584 0.999 - . logic_name=eponine 1 mirbase ncRNA_gene 30366 30503 . + . ID=gene:ENSG00000284332 1 mirbase miRNA 30366 30503 . + . ID=transcript:ENST00000607096 1 mirbase exon 30366 30503 . + . Parent=transcript:ENST00000607096 1 havana ncRNA_gene 34554 36081 . - . ID=gene:ENSG00000237613 1 havana lnc_RNA 34554 36081 . - . ID=transcript:ENST00000417324 1 havana exon 34554 35174 . - . Parent=transcript:ENST00000417324 1 havana exon 35277 35481 . - . Parent=transcript:ENST00000417324 1 havana exon 35721 36081 . - . Parent=transcript:ENST00000417324 1 havana lnc_RNA 35245 36073 . - . ID=transcript:ENST00000461467 1 havana exon 35245 35481 . - . Parent=transcript:ENST00000461467 1 havana exon 35721 36073 . - . Parent=transcript:ENST00000461467 1 . biological_region 35904 36086 0.879 - . external_name=rank %3D 1 1 havana pseudogene 52473 53312 . + . ID=gene:ENSG00000268020 1 havana pseudogenic_transcript 52473 53312 . + . ID=transcript:ENST00000606857 1 havana exon 52473 53312 . + . Parent=transcript:ENST00000606857 1 havana pseudogene 57598 64116 . + . ID=gene:ENSG00000240361 1 havana lnc_RNA 57598 64116 . + . ID=transcript:ENST00000642116 1 havana exon 57598 57653 . + . Parent=transcript:ENST00000642116 1 havana exon 58700 58856 . + . Parent=transcript:ENST00000642116 1 havana exon 62916 64116 . + . Parent=transcript:ENST00000642116 1 havana pseudogenic_transcript 62949 63887 . + . ID=transcript:ENST00000492842 1 havana exon 62949 63887 . + . Parent=transcript:ENST00000492842 1 ensembl_havana gene 65419 71585 . + . ID=gene:ENSG00000186092 1 havana mRNA 65419 71585 . + . ID=transcript:ENST00000641515 1 havana exon 65419 65433 . + . Parent=transcript:ENST00000641515 1 havana five_prime_UTR 65419 65433 . + . Parent=transcript:ENST00000641515 1 havana exon 65520 65573 . + . Parent=transcript:ENST00000641515 1 havana five_prime_UTR 65520 65573 . + . Parent=transcript:ENST00000641515 1 havana five_prime_UTR 69037 69090 . + . Parent=transcript:ENST00000641515 1 havana exon 69037 71585 . + . Parent=transcript:ENST00000641515 1 havana CDS 69091 70008 . + 0 ID=CDS:ENSP00000493376 1 havana three_prime_UTR 70009 71585 . + . Parent=transcript:ENST00000641515 1 ensembl mRNA 69055 70108 . + . ID=transcript:ENST00000335137 1 ensembl five_prime_UTR 69055 69090 . + . Parent=transcript:ENST00000335137 1 ensembl exon 69055 70108 . + . Parent=transcript:ENST00000335137 1 ensembl CDS 69091 70008 . + 0 ID=CDS:ENSP00000334393 1 ensembl three_prime_UTR 70009 70108 . + . Parent=transcript:ENST00000335137 1 ensembl_havana ncRNA_gene 89295 133723 . - . ID=gene:ENSG00000238009 1 havana lnc_RNA 89295 120932 . - . ID=transcript:ENST00000466430 1 havana exon 89295 91629 . - . Parent=transcript:ENST00000466430 ================================================ FILE: intro_awk_spring2021/data/Homo_sapiens_ucscGenes.subset.bed ================================================ chr1 11873 14409 uc010nxq.1 chr1 14361 19759 uc009viu.3 chr1 14406 29370 uc009viw.2 chr1 34610 36081 uc001aak.3 chr1 69090 70008 uc001aal.1 chr1 134772 140566 uc021oeg.2 chr1 321083 321115 uc001aaq.2 chr1 321145 321207 uc001aar.2 chr1 322036 326938 uc009vjk.2 chr1 327545 328439 uc021oei.1 chr1 367658 368597 uc010nxu.2 chr1 420205 421839 uc001aax.1 chr1 566092 566115 uc021oej.1 chr1 566134 566155 uc021oek.1 chr1 566239 566263 uc021oel.1 chr1 568843 568913 uc001abb.3 chr1 621095 622034 uc010nxv.2 chr1 661138 670994 uc009vjm.3 chr1 668417 668479 uc001abi.2 chr1 668509 668541 uc001abj.3 chr1 671823 671885 uc010nxw.2 chr1 671915 671947 uc001abl.3 chr1 674239 679736 uc001abm.2 chr1 700244 714068 uc001abo.3 chr1 761585 762902 uc010nxx.2 chr1 762970 794826 uc001abp.2 chr1 803450 812182 uc001abt.4 chr1 846814 850328 uc001abu.1 chr1 852952 854817 uc010nxy.1 chr1 861120 879961 uc001abw.1 chr1 879582 894679 uc001abz.4 chr1 895966 901099 uc001aca.2 chr1 901876 910484 uc001acd.3 chr1 910578 917473 uc001ach.2 chr1 934341 935552 uc001aci.2 chr1 948846 949919 uc001acj.4 chr1 955502 991499 uc001ack.2 chr1 995116 1001833 uc001acl.1 chr1 1007125 1009687 uc021oen.1 chr1 1017197 1051736 uc001acu.2 chr1 1072396 1079434 uc001acv.3 chr1 1102483 1102578 uc001acw.2 chr1 1103242 1103332 uc010nye.1 chr1 1103295 1103317 uc031pkr.1 chr1 1104384 1104467 uc010nyf.1 chr1 1104434 1104456 uc031pks.1 chr1 1108435 1114935 uc001acx.1 chr1 1109285 1133313 uc001acy.2 chr1 1138887 1142089 uc001add.3 chr1 1146705 1149548 uc001ade.3 chr1 1152287 1167447 uc001adh.4 chr1 1167628 1170420 uc001adk.3 chr1 1177825 1182102 uc001adl.2 chr1 1189291 1209234 uc001ado.3 chr1 1215815 1227409 uc001adt.1 chr1 1227763 1243269 uc001aeb.2 chr1 1243993 1247057 uc001aed.3 chr1 1246964 1260067 uc001aee.2 chr1 1260142 1264276 uc001aeo.3 chr1 1266725 1269844 uc010nyk.2 chr1 1270657 1284492 uc001aer.4 chr1 1288070 1293915 uc001aew.3 chr1 1309109 1310562 uc009vkb.1 chr1 1321090 1334718 uc001afi.2 chr1 1334909 1337426 uc001afm.3 chr1 1337275 1342693 uc001afo.4 chr1 1353799 1356824 uc010nyo.2 chr1 1361507 1363167 uc010nyp.2 chr1 1370902 1378262 uc001afs.3 chr1 1385068 1405538 uc001aft.2 chr1 1407163 1431582 uc001afv.3 chr1 1447522 1470067 uc001afz.2 chr1 1470157 1475740 uc009vkf.3 chr1 1477052 1510262 uc001agd.3 chr1 1510354 1510644 uc021oer.1 chr1 1533387 1535476 uc021oes.1 chr1 1535818 1543166 uc001agf.1 chr1 1550794 1565990 uc001agg.3 chr1 1567559 1570030 uc001agp.3 chr1 1571099 1655775 uc001agv.1 chr1 1586822 1590469 uc001ahc.1 chr1 1592938 1624243 uc001ahg.4 chr1 1631377 1633247 uc001ahi.1 chr1 1656053 1663343 uc001ahx.2 chr1 1658823 1677438 uc001aia.2 chr1 1682670 1711508 uc001aie.3 chr1 1716724 1822526 uc001aif.3 chr1 1846265 1848733 uc001aih.1 chr1 1849028 1850740 uc001aij.2 chr1 1853395 1858842 uc001aik.3 chr1 1884751 1935276 uc001aim.1 chr1 1944651 1946969 uc001aio.1 chr1 1950767 1962192 uc001aip.2 chr1 1981908 2116834 uc001aiq.3 chr1 2112574 2114663 uc001aiu.1 chr1 2115898 2126214 uc031pkt.1 chr1 2121236 2123179 uc001aiz.2 chr1 2160133 2241652 uc001aja.4 chr1 2252695 2322993 uc001ajb.1 chr1 2281852 2284100 uc001ajc.3 chr1 2309493 2322993 uc010nyy.2 chr1 2323213 2336885 uc001aje.2 chr1 2336240 2344010 uc001ajg.3 chr1 2407753 2436964 uc001aji.1 chr1 2439974 2458035 uc001ajm.1 chr1 2460183 2461684 uc001ajn.3 chr1 2481358 2484284 uc001ajo.2 chr1 2486162 2488450 uc021oev.1 chr1 2487804 2495188 uc001ajt.1 chr1 2487804 2495267 uc001ajr.3 chr1 2518188 2522908 uc001ajv.2 chr1 2522080 2564481 uc001ajy.2 chr1 2572806 2706230 uc021oey.1 chr1 2938045 2939467 uc001ajz.3 chr1 2976180 2980350 uc001aka.3 chr1 2980635 2984289 uc010nzg.1 chr1 2985741 3355185 uc001akf.3 chr1 3044538 3044599 uc021oez.1 chr1 3371146 3397677 uc001akg.4 chr1 3404505 3528059 uc001akl.3 chr1 3477259 3477354 uc021ofa.1 chr1 3541555 3546694 uc001akm.3 chr1 3547330 3566671 uc001ako.3 chr1 3569128 3652765 uc001akp.3 chr1 3652547 3663937 uc009vlm.3 chr1 3668964 3688209 uc001akv.2 chr1 3689351 3692546 uc001akw.4 chr1 3696783 3713068 uc001akx.1 chr1 3728644 3773797 uc001aky.2 chr1 3773844 3801993 uc001alc.3 chr1 3805696 3816857 uc001alf.3 chr1 3816967 3832011 uc001alg.3 chr1 4000671 4012643 uc001ali.2 chr1 4472110 4484744 uc001alj.2 chr1 4715104 4843851 uc001aln.3 chr1 4847557 4852183 uc001alo.4 chr1 5621768 5728315 uc001alp.1 chr1 5624130 5624203 uc021ofm.1 chr1 5922731 5922801 uc021ofn.1 chr1 5922869 6052533 uc001alq.2 chr1 6105980 6161253 uc001aly.2 chr1 6161846 6240194 uc001amb.2 chr1 6245079 6259679 uc001amd.3 chr1 6266188 6281359 uc001amg.3 chr1 6281252 6296044 uc001amk.3 chr1 6297870 6299502 uc001amm.3 chr1 6304251 6305638 uc009vly.2 chr1 6307405 6321035 uc001amp.2 chr1 6324331 6453826 uc001amt.3 chr1 6475293 6479979 uc001amx.3 chr1 6484847 6521004 uc001amy.3 chr1 6489893 6489956 uc021ofo.1 chr1 6521213 6526255 uc001anh.3 chr1 6526151 6545529 uc010nzr.1 chr1 6581406 6614658 uc001ans.3 chr1 6615337 6639817 uc001ant.3 chr1 6640062 6649340 uc001anx.3 chr1 6650783 6662929 uc001aoa.3 chr1 6673755 6684093 uc001aob.4 chr1 6685209 6693642 uc001aod.3 chr1 6694227 6761966 uc001aof.2 chr1 6845383 7829766 uc001aoi.3 chr1 7831328 7841492 uc001aol.3 chr1 7844713 7905237 uc001aoo.3 chr1 7907671 7913565 uc001aos.3 chr1 7975930 8003225 uc001aot.3 chr1 7990338 7990408 uc021ofs.1 chr1 8021713 8045342 uc001aox.4 chr1 8071778 8086393 uc001aoz.3 chr1 8384389 8404227 uc001apb.3 chr1 8412463 8877699 uc001apf.3 chr1 8440651 8441235 uc001apg.1 chr1 8921058 8939151 uc001apj.2 chr1 8938893 8939943 uc021oft.1 chr1 9005892 9034503 uc031plc.1 chr1 9063358 9086404 uc009vmo.1 chr1 9097004 9129887 uc001apo.3 chr1 9164475 9189229 uc001apq.1 chr1 9186983 9189250 uc001aps.3 chr1 9208345 9242451 uc009vmq.3 chr1 9294862 9331394 uc001apt.3 chr1 9352940 9429590 uc010oae.2 chr1 9497727 9497837 uc021ofx.1 chr1 9599527 9642831 uc001apw.3 chr1 9648931 9674935 uc021ofy.1 chr1 9711789 9789172 uc001aqb.4 chr1 9712667 9714644 uc001aqc.4 chr1 9740902 9747627 uc021oga.1 chr1 9789078 9884550 uc001aqh.3 chr1 9908333 9970316 uc001aql.1 chr1 9989775 10002840 uc001aqm.3 chr1 10003485 10045556 uc001aqp.3 chr1 10057254 10076078 uc001aqq.3 chr1 10093040 10241296 uc001aqs.4 chr1 10270763 10441661 uc001aqw.4 chr1 10459084 10480201 uc001arc.3 chr1 10490158 10512060 uc021ogd.1 chr1 10520602 10532613 uc001arj.3 chr1 10535002 10690815 uc001arn.3 chr1 10696665 10856733 uc001aro.4 chr1 10744633 10744736 uc021ogh.1 chr1 11006529 11042094 uc010oao.2 chr1 11072678 11085549 uc001art.3 chr1 11086579 11107296 uc001aru.3 chr1 11114648 11120091 uc001arz.1 chr1 11126675 11159938 uc001asa.3 chr1 11166587 11322608 uc001asd.3 chr1 11203954 11209595 uc031plf.1 chr1 11249345 11256038 uc001ase.4 chr1 11333254 11348491 uc001asg.3 chr1 11539294 11597640 uc001ash.4 chr1 11708417 11714888 uc001asj.3 chr1 11714913 11723384 uc001asm.3 chr1 11724149 11734409 uc001aso.3 chr1 11734536 11751678 uc009vnc.3 chr1 11751780 11780336 uc001asr.1 chr1 11782186 11785914 uc001ass.2 chr1 11796141 11810828 uc001asv.3 chr1 11824461 11826573 uc001asy.1 chr1 11832138 11849642 uc001asz.3 chr1 11845786 11866160 uc001atc.2 chr1 11866152 11903201 uc001ate.5 chr1 11905766 11907840 uc001ati.3 chr1 11917520 11918992 uc001atj.3 chr1 11979644 11986485 uc001atk.3 chr1 11994723 12035599 uc001atm.3 chr1 12040237 12073572 uc009vni.3 chr1 12079298 12092106 uc001ato.2 chr1 12123433 12204264 uc001atq.3 chr1 12227059 12269277 uc001att.3 chr1 12251761 12251839 uc021ogi.1 chr1 12290112 12572098 uc001atv.3 chr1 12567299 12567451 uc001atz.1 chr1 12627938 12677820 uc001auc.3 chr1 12704565 12727097 uc001auf.3 chr1 12776117 12788726 uc009vnn.1 chr1 12806162 12821102 uc001auh.3 chr1 12834983 12838048 uc001aui.3 chr1 12851545 12856777 uc001auj.2 chr1 12884467 12891264 uc001auk.2 chr1 12907235 12908237 uc009vno.2 chr1 12916940 12921764 uc001aum.1 chr1 12939032 12946025 uc001aun.2 chr1 12952726 12958094 uc001auo.3 chr1 12976449 12980568 uc001aup.3 chr1 12998301 13007406 uc001auq.2 chr1 13035542 13038381 uc009vnq.1 chr1 13182959 13184326 uc010obg.2 chr1 13328195 13331692 uc001aut.1 chr1 13359818 13369057 uc001auu.1 chr1 13386646 13390765 uc001auv.3 chr1 13421175 13428191 uc001auw.1 chr1 13447413 13452656 uc010obi.1 chr1 13474052 13477569 uc009vnu.1 chr1 13495253 13498259 uc001aux.3 chr1 13516065 13526943 uc009vnv.1 chr1 13607430 13611550 uc001auy.2 chr1 13629937 13635299 uc001auz.4 chr1 13641972 13648988 uc001ava.1 chr1 13694888 13698405 uc009vny.1 chr1 13716087 13719064 uc009vnz.1 chr1 13736906 13747803 uc009voa.1 chr1 13801444 13840242 uc001avb.3 chr1 13910251 13944452 uc001avd.3 chr1 14031349 14151574 uc001avi.3 chr1 14925212 15444544 uc001avm.4 chr1 15438310 15478960 uc009voh.3 chr1 15480228 15546974 uc001avx.3 chr1 15573767 15724622 uc001awb.2 chr1 15653175 15670372 uc001awc.1 chr1 15736390 15756839 uc001awh.2 chr1 15764937 15773153 uc001awi.1 chr1 15783222 15798586 uc001awk.3 chr1 15802595 15817895 uc001awl.3 chr1 15817895 15850940 uc001awn.4 chr1 15853351 15898228 uc001aws.3 chr1 15898193 15911605 uc001awv.2 chr1 15943952 15987552 uc001awx.2 chr1 15986363 15988217 uc010obn.2 chr1 15992765 15995537 uc001awz.3 chr1 16010826 16061264 uc010obo.2 chr1 16062808 16067884 uc001axb.1 chr1 16068986 16074292 uc001axc.4 chr1 16085254 16113084 uc001axe.1 chr1 16133656 16134194 uc009vol.1 chr1 16160709 16174642 uc001axj.2 chr1 16174358 16266950 uc001axk.1 chr1 16268363 16302627 uc001axl.4 chr1 16317618 16317647 uc001axm.1 chr1 16330730 16333184 uc001axn.3 chr1 16340522 16345285 uc001axo.2 chr1 16348485 16360545 uc001axu.3 chr1 16384263 16400127 uc001axz.4 chr1 16450831 16482582 uc001aya.2 chr1 16524598 16539104 uc001ayc.1 chr1 16558181 16563659 uc001ayd.3 chr1 16576558 16678948 uc001ayg.3 chr1 16693524 16724643 uc001aym.5 chr1 16725137 16763919 uc001ayn.3 chr1 16767166 16786584 uc001ayq.3 chr1 16793930 16819196 uc001ayt.2 chr1 16847079 16847153 uc021ogp.1 chr1 16858892 16858966 uc021ogq.1 chr1 16860349 16862144 uc021ogr.1 chr1 16862254 16864669 uc001ayv.2 chr1 16872433 16872504 uc021ogs.1 chr1 16874159 16874232 uc021ogt.1 chr1 16875408 16875482 uc021ogu.1 chr1 16888921 16940100 uc001ayw.4 chr1 16944756 16959841 uc001azf.3 chr1 16972068 16976915 uc010och.2 chr1 17004765 17004836 uc021ogw.1 chr1 17006500 17006573 uc021ogx.1 chr1 17007749 17007823 uc021ogy.1 chr1 17017712 17046652 uc001azn.1 chr1 17052060 17052133 uc021ogz.1 chr1 17053779 17053850 uc021oha.1 chr1 17081128 17090975 uc010ock.3 chr1 17180899 17180971 uc021ohb.1 chr1 17185443 17185516 uc021ohc.1 chr1 17186692 17186765 uc021ohd.1 chr1 17188415 17188486 uc021ohe.1 chr1 17197439 17200574 uc021ohf.2 chr1 17201957 17202031 uc021ohg.1 chr1 17215040 17216161 uc001azs.1 chr1 17216171 17216245 uc021ohh.1 chr1 17222645 17222720 uc021ohi.1 chr1 17248444 17299474 uc001azt.2 chr1 17300998 17307173 uc001azw.3 chr1 17312452 17338423 uc001baa.2 chr1 17345224 17380665 uc001bae.3 chr1 17393255 17445948 uc001baf.3 chr1 17531620 17572501 uc001bah.1 chr1 17566189 17572501 uc009vpb.1 chr1 17575592 17610727 uc001bai.3 chr1 17581660 17581778 uc021ohk.1 chr1 17634689 17690495 uc001baj.2 chr1 17698740 17728195 uc001bak.1 chr1 17733250 17765059 uc001bal.3 chr1 17866329 18024370 uc001ban.3 chr1 18081807 18153558 uc001bat.3 chr1 18434239 18704977 uc001bau.2 chr1 18701063 18702174 uc001baw.1 chr1 18807423 18812480 uc001bax.3 chr1 18957499 19062632 uc001bay.3 chr1 19166092 19186155 uc001bba.1 chr1 19197923 19229293 uc001bbc.3 chr1 19209695 19209769 uc021ohm.2 chr1 19230773 19282826 uc001bbd.2 chr1 19400999 19536746 uc001bbi.3 chr1 19542157 19578053 uc001bbo.4 chr1 19578074 19586622 uc001bbs.3 chr1 19592475 19600568 uc021ohn.1 chr1 19609056 19615280 uc001bbv.1 chr1 19619740 19622230 uc021ohp.1 chr1 19629201 19638640 uc001bbw.3 chr1 19638739 19655794 uc001bby.3 chr1 19665266 19812066 uc021ohr.1 chr1 19673334 19675427 uc001bcf.2 chr1 19750877 19751182 uc021ohs.1 chr1 19923470 19956315 uc021ohu.1 chr1 19934300 19935138 uc021ohx.2 chr1 19969722 19984949 uc001bcj.2 chr1 19991779 20006055 uc001bcl.3 chr1 20008705 20126410 uc001bcn.3 chr1 20140521 20141771 uc001bcr.3 chr1 20208887 20239437 uc001bcs.4 chr1 20246799 20250110 uc001bct.1 chr1 20301923 20306932 uc010odb.2 chr1 20396700 20418394 uc001bcy.3 chr1 20439142 20446059 uc001bcz.4 chr1 20465822 20476879 uc009vpp.1 chr1 20490483 20501687 uc009vpq.1 chr1 20512577 20519942 uc001bdb.3 chr1 20617411 20681387 uc009vps.2 chr1 20686293 20755287 uc001bdf.2 chr1 20808883 20812728 uc001bdh.3 chr1 20825940 20834674 uc001bdi.4 chr1 20878931 20881513 uc001bdj.3 chr1 20915443 20945400 uc001bdk.3 chr1 20959947 20978004 uc001bdm.3 chr1 20978259 20988037 uc001bdo.1 chr1 20990506 21044317 uc001bdr.4 chr1 21046224 21059133 uc009vpy.1 chr1 21069170 21113181 uc001bdw.1 chr1 21132784 21503381 uc001bef.3 chr1 21543739 21616766 uc001bei.2 chr1 21602542 21604868 uc001ben.1 chr1 21619782 21626362 uc001beo.2 chr1 21749600 21754300 uc001bep.1 chr1 21761832 21762609 uc001beq.1 chr1 21766582 21811393 uc001ber.4 chr1 21835857 21904905 uc001bet.3 chr1 21922707 21978348 uc001bew.3 chr1 22004791 22109688 uc001bfb.3 chr1 22138757 22151714 uc001bfg.1 chr1 22148736 22263750 uc001bfj.3 chr1 22303417 22315847 uc001bfk.3 chr1 22351706 22357715 uc001bfm.4 chr1 22379119 22419436 uc001bfr.3 chr1 22443797 22469519 uc001bfs.4 chr1 22778343 22857650 uc001bfu.2 chr1 22890003 22930087 uc001bfx.1 chr1 22963117 22966175 uc001bfy.3 chr1 22970117 22974603 uc001bga.4 chr1 22979681 22988029 uc001bgd.3 chr1 23037330 23241823 uc001bge.3 chr1 23046009 23046091 uc021oib.1 chr1 23189651 23189719 uc021oic.1 chr1 23243782 23247347 uc001bgg.1 chr1 23337326 23342343 uc001bgh.1 chr1 23345940 23410184 uc001bgj.2 chr1 23370797 23370865 uc021oid.1 chr1 23410515 23495517 uc010odv.1 chr1 23490445 23490546 uc021oie.1 chr1 23518387 23521222 uc001bgn.3 chr1 23636275 23670853 uc001bgp.4 chr1 23685940 23694879 uc001bgt.3 chr1 23695463 23698330 uc001bgw.3 chr1 23707554 23751261 uc021oig.1 chr1 23755055 23810750 uc001bha.2 chr1 23801092 23803135 uc001bhd.4 chr1 23832919 23857712 uc001bhe.2 chr1 23853364 23855542 uc001bhf.1 chr1 23884420 23886285 uc001bhh.4 chr1 23907984 23967056 uc001bhi.3 chr1 24018268 24022915 uc001bhk.3 chr1 24069855 24088549 uc001bho.3 chr1 24086871 24104787 uc001bhp.2 chr1 24104875 24114722 uc001bhq.3 chr1 24117645 24122029 uc001bht.3 chr1 24122088 24126060 uc009vqo.1 chr1 24128366 24151949 uc001bib.3 chr1 24171571 24194859 uc001bie.3 chr1 24200459 24239817 uc001bif.3 chr1 24255559 24255637 uc021oik.1 chr1 24286300 24289949 uc001big.3 chr1 24295572 24306953 uc021oir.1 chr1 24320925 24320957 uc021oit.1 chr1 24382530 24438665 uc001bin.4 chr1 24446260 24469775 uc001biq.2 chr1 24480646 24513765 uc001bis.3 chr1 24526729 24538180 uc010oei.1 chr1 24578722 24578758 uc021oiu.1 chr1 24579767 24579803 uc021oiv.1 chr1 24645811 24690970 uc021oiw.1 chr1 24683488 24740262 uc001bjc.3 chr1 24742244 24799473 uc001bjh.3 chr1 24822822 24828850 uc021oiz.1 chr1 24829386 24863510 uc001bjj.3 chr1 24882566 24935818 uc001bjk.2 chr1 24969593 24999772 uc001bjm.3 chr1 25071759 25170815 uc001bjo.2 chr1 25226001 25256770 uc001bjq.3 chr1 25548766 25559013 uc001bjt.1 chr1 25568739 25573985 uc001bjw.3 chr1 25598980 25656936 uc001bjz.3 chr1 25629228 25631643 uc001bkd.1 chr1 25664788 25688852 uc001bke.3 chr1 25688739 25747363 uc001bkf.3 chr1 25757387 25826698 uc001bkk.3 chr1 25870075 25895377 uc001bkl.4 chr1 25943958 26111258 uc001bkm.2 chr1 26126666 26144713 uc021ojl.1 chr1 26146396 26159433 uc001bkq.4 chr1 26146444 26150097 uc010oeu.1 chr1 26160496 26185848 uc001bkw.1 chr1 26187974 26197744 uc001bkx.3 chr1 26210676 26232993 uc010oev.2 chr1 26286257 26324648 uc001bld.4 chr1 26348270 26362954 uc001blf.3 chr1 26364513 26372604 uc001blg.1 chr1 26377795 26394125 uc001bli.2 chr1 26438267 26452039 uc009vsb.3 chr1 26485510 26489119 uc001blk.3 chr1 26496387 26497364 uc001bll.4 chr1 26503980 26516375 uc001blm.4 chr1 26517118 26529033 uc010oez.2 chr1 26551810 26556331 uc001blq.3 chr1 26560692 26605299 uc001bls.1 chr1 26606212 26608013 uc001blu.3 chr1 26608772 26633195 uc001blw.3 chr1 26644410 26647014 uc001bmc.3 chr1 26648349 26680621 uc001bmd.4 chr1 26688124 26699266 uc009vsj.1 chr1 26737268 26756219 uc001bmj.3 chr1 26758772 26797795 uc001bmk.3 chr1 26789254 26794028 uc001bmo.1 chr1 26798901 26803133 uc001bmp.4 chr1 26872342 26901520 uc001bms.1 chr1 26881032 26881084 uc021ojp.1 chr1 27022521 27108601 uc001bmv.1 chr1 27114453 27124894 uc001bmz.3 chr1 27145536 27392034 uc021ojq.1 chr1 27153200 27182211 uc001bnb.3 chr1 27189632 27190947 uc001bnc.1 chr1 27189786 27190449 uc010ofi.1 chr1 27205872 27216869 uc001bnd.1 chr1 27216978 27226962 uc001bne.3 chr1 27237974 27240567 uc001bnf.3 chr1 27248212 27273362 uc001bng.2 chr1 27276046 27286901 uc001bni.2 chr1 27320194 27327377 uc001bnj.4 chr1 27331510 27339333 uc010ofj.2 chr1 27425299 27481621 uc001bnm.4 chr1 27533765 27533868 uc021ojs.1 chr1 27561006 27635124 uc009vst.3 chr1 27648635 27662891 uc001bnr.4 chr1 27650364 27653016 uc021oju.1 chr1 27668482 27680423 uc001bnw.2 chr1 27681669 27693337 uc001bny.1 chr1 27695600 27701315 uc001boa.3 chr1 27705595 27709805 uc001boc.3 chr1 27719147 27722317 uc001bod.4 chr1 27730733 27816678 uc001bof.2 chr1 27860755 27930143 uc009vsy.3 chr1 27938800 27961727 uc001bom.3 chr1 27992571 27998724 uc001bon.1 chr1 28052489 28089423 uc001bor.3 chr1 28099693 28150963 uc001bou.4 chr1 28157251 28178183 uc001bov.2 chr1 28160911 28161077 uc001boy.1 chr1 28199054 28213193 uc001bpc.4 chr1 28218048 28241236 uc001bpe.1 chr1 28261503 28285663 uc001bpg.3 chr1 28286503 28294604 uc001bph.1 chr1 28296854 28415148 uc001bpi.2 chr1 28473676 28503455 uc001bpl.3 chr1 28526789 28559542 uc001bpn.3 chr1 28562601 28564616 uc001bpq.3 chr1 28567542 28567564 uc021okb.1 chr1 28585962 28609002 uc001bps.3 chr1 28655512 28662478 uc009vtg.3 chr1 28764660 28826881 uc001bpy.3 chr1 28832454 28837404 uc001bqd.3 chr1 28844744 28865708 uc001bqf.2 chr1 28879528 28905057 uc001bqi.3 chr1 28905049 28908383 uc001bqo.3 chr1 28905254 28905334 uc001bqq.1 chr1 28919006 28921088 uc001bqv.3 chr1 28929608 28969604 uc001bqy.3 chr1 28975111 28975246 uc009vtj.1 chr1 28995239 29042115 uc001bra.3 chr1 29016176 29016306 uc021oke.1 chr1 29063132 29096287 uc021okf.1 chr1 29138653 29190208 uc001brf.1 chr1 29213602 29446558 uc001brm.2 chr1 29445936 29450421 uc001brn.2 chr1 29474249 29508637 uc001bro.3 chr1 29519384 29557454 uc001brq.1 chr1 29563027 29653325 uc001bru.3 chr1 30486798 30510456 uc001bry.3 chr1 31184123 31196432 uc001brz.3 chr1 31191618 31199593 uc001bsb.1 chr1 31205314 31230683 uc001bsc.2 chr1 31212002 31212079 uc021okj.1 chr1 31342312 31381480 uc001bse.2 chr1 31404352 31538564 uc001bsh.1 chr1 31408535 31408623 uc021okk.1 chr1 31421964 31422052 uc021okl.1 chr1 31441009 31441084 uc001bsl.1 chr1 31652591 31712734 uc010ogd.2 chr1 31732414 31742513 uc009vtt.3 chr1 31732414 31769644 uc001bso.3 chr1 31769841 31837780 uc001bsp.1 chr1 31838099 31845923 uc001bss.1 chr1 31886659 31907527 uc010ogh.2 chr1 31971838 31974167 uc021okn.1 chr1 31984035 31989846 uc001bsy.1 chr1 32042085 32053287 uc001bta.3 chr1 32083300 32092919 uc009vtx.2 chr1 32095462 32110838 uc001bth.2 chr1 32117847 32169768 uc001btk.1 chr1 32192717 32229648 uc001btn.3 chr1 32224260 32224336 uc021okr.1 chr1 32256024 32281580 uc001bts.1 chr1 32372021 32403988 uc001bty.2 chr1 32479294 32509482 uc001bub.4 chr1 32538502 32568467 uc010ogv.2 chr1 32573643 32642168 uc001bug.3 chr1 32645344 32663886 uc001bui.3 chr1 32666201 32670991 uc001bul.1 chr1 32671235 32674288 uc001bum.2 chr1 32674694 32681797 uc001bun.2 chr1 32681797 32687926 uc001buq.4 chr1 32687958 32697205 uc009vuc.3 chr1 32697260 32707311 uc001buv.4 chr1 32712817 32714461 uc001buw.3 chr1 32739711 32751766 uc001buy.3 chr1 32757707 32799224 uc001bvb.1 chr1 32799429 32801840 uc001bvd.4 chr1 32826870 32827844 uc021oku.1 chr1 32827861 32829924 uc001bvf.3 chr1 32830704 32860062 uc010ohg.2 chr1 32930657 32953459 uc001bvl.4 chr1 33004771 33071542 uc001bvn.3 chr1 33087306 33116185 uc001bvp.3 chr1 33116748 33151812 uc001bvr.3 chr1 33145506 33168361 uc001bvt.2 chr1 33207511 33240571 uc001bvu.1 chr1 33240839 33283633 uc001bvy.1 chr1 33283118 33324480 uc001bwc.4 chr1 33327868 33338082 uc001bwg.3 chr1 33352097 33360247 uc001bwh.3 chr1 33360195 33366953 uc001bwi.1 chr1 33402049 33430286 uc010oho.2 chr1 33452675 33498070 uc001bwn.3 chr1 33476825 33502512 uc001bwp.2 chr1 33546713 33585995 uc001bwr.3 chr1 33607471 33608831 uc001bxa.1 chr1 33611002 33647671 uc001bxb.3 chr1 33722173 33766320 uc001bxc.1 chr1 33772366 33786699 uc031plq.1 chr1 33789223 33841194 uc001bxg.1 chr1 33797993 33798093 uc021okw.1 chr1 33802166 33802465 uc021okx.1 chr1 33938231 33961995 uc001bxj.4 chr1 33979608 34631443 uc001bxn.1 chr1 34326075 34330392 uc001bxp.3 chr1 34334556 34351059 uc001bxr.3 chr1 34642552 34684731 uc001bxt.3 chr1 35220647 35224113 uc001bxu.4 chr1 35225341 35229325 uc001bxv.1 chr1 35244163 35244247 uc021ola.1 chr1 35247910 35251967 uc001bxy.3 chr1 35258598 35261348 uc001bya.3 chr1 35315962 35325417 uc001byb.3 chr1 35331036 35370984 uc001byc.3 chr1 35441299 35444307 uc021olf.1 chr1 35447126 35450948 uc001bye.3 chr1 35451766 35497569 uc001byh.3 chr1 35544971 35581455 uc001bym.3 chr1 35641980 35646083 uc001byq.3 chr1 35649200 35658743 uc001bys.3 chr1 35734567 35887545 uc001byt.3 chr1 35833677 35835012 uc031plr.1 chr1 35899090 36023037 uc001byx.3 chr1 36023392 36032380 uc001bza.3 chr1 36038970 36060927 uc010ohy.2 chr1 36065142 36107445 uc001bzf.2 chr1 36179476 36184790 uc001bzh.1 chr1 36197712 36235551 uc001bzi.3 chr1 36273827 36323490 uc001bzj.2 chr1 36348809 36389899 uc001bzl.3 chr1 36391432 36395210 uc001bzm.1 chr1 36396682 36522063 uc001bzp.3 chr1 36549675 36553876 uc001bzr.3 chr1 36554452 36559533 uc001bzt.3 chr1 36560843 36565850 uc001bzv.2 chr1 36602169 36615115 uc031pls.1 chr1 36621802 36646441 uc001bzz.3 chr1 36690016 36770957 uc001cae.4 chr1 36771993 36787379 uc010oia.1 chr1 36787631 36789755 uc001caj.1 chr1 36805224 36851485 uc001cak.1 chr1 36859030 36863493 uc001cao.1 chr1 36883506 36916086 uc001caq.3 chr1 36921361 36930040 uc001cas.2 chr1 36931643 36948915 uc001cax.2 chr1 37261127 37499844 uc001caz.2 chr1 37627163 37627235 uc021oll.1 chr1 37920479 37940044 uc021olm.1 chr1 37940118 37949978 uc001cbb.4 chr1 37955560 37980420 uc001cbe.2 chr1 37966535 37966595 uc031pma.1 chr1 38000049 38019945 uc001cbi.4 chr1 38022519 38032458 uc001cbj.3 chr1 38032412 38061586 uc001cbk.3 chr1 38076950 38100595 uc001cbm.2 chr1 38147241 38156192 uc001cbp.3 chr1 38147242 38149864 uc031pmb.1 chr1 38158072 38175391 uc001cbs.4 chr1 38181645 38230824 uc009vvi.3 chr1 38259773 38267278 uc001cby.2 chr1 38268613 38273865 uc001cca.1 chr1 38273472 38275126 uc001ccd.2 chr1 38275238 38325292 uc001cce.1 chr1 38326368 38412729 uc001ccg.1 chr1 38349908 38349989 uc021oln.1 chr1 38422651 38455761 uc001cci.3 chr1 38462441 38471187 uc001cck.3 chr1 38478383 38490497 uc001ccn.4 chr1 38509522 38512450 uc001ccp.1 chr1 38554902 38555001 uc021olo.1 chr1 38674705 38680439 uc021olp.1 chr1 39303868 39325495 uc001ccq.3 chr1 39328161 39339050 uc001ccs.3 chr1 39340222 39341770 uc021olr.1 chr1 39351478 39407456 uc001ccu.1 chr1 39456915 39471737 uc001ccw.3 chr1 39491966 39500308 uc001ccy.3 chr1 39549838 39952810 uc031pmc.1 chr1 39619835 39619968 uc021olu.1 chr1 39648409 39648505 uc021olv.1 chr1 39875175 39882154 uc009vvt.1 chr1 39957317 39995541 uc001cdi.3 chr1 39970194 39970267 uc021olx.1 chr1 39987951 40025370 uc001cdk.3 chr1 40026484 40042521 uc001cdl.2 chr1 40033045 40033182 uc001cdo.1 chr1 40089102 40105348 uc001cdp.3 chr1 40124792 40137710 uc001cdq.1 chr1 40144644 40157089 uc001cdr.3 chr1 40204516 40229586 uc001cdw.3 chr1 40223902 40254533 uc001cdz.1 chr1 40235196 40237020 uc001ceb.1 chr1 40306705 40349177 uc021olz.1 chr1 40361095 40367687 uc001cer.2 chr1 40420783 40435628 uc001cev.3 chr1 40506254 40538321 uc001cey.4 chr1 40538381 40563142 uc001cfb.2 chr1 40627040 40706593 uc001cfc.4 chr1 40713572 40717365 uc001cfe.2 chr1 40723721 40759856 uc001cfg.4 chr1 40766162 40782981 uc001cfh.1 chr1 40839377 40888998 uc001cfj.3 chr1 40916336 40929390 uc001cfn.2 chr1 40943301 40962015 uc001cfo.3 chr1 40974432 40982214 uc001cfp.3 chr1 40997232 41013841 uc001cft.2 chr1 41086351 41131324 uc001cfu.1 chr1 41154751 41157933 uc010ojl.1 chr1 41157241 41237275 uc009vwd.3 chr1 41220026 41220118 uc001cgf.2 chr1 41222955 41223044 uc001cgg.3 chr1 41249683 41306124 uc001cgh.2 chr1 41326727 41328018 uc001cgj.3 chr1 41347313 41347427 uc021omc.1 chr1 41445006 41478235 uc001cgk.4 chr1 41480261 41509562 uc021omd.1 chr1 41481268 41487427 uc001cgm.2 chr1 41492870 41707815 uc001cgs.3 chr1 41932607 41932699 uc021ome.1 chr1 41944445 41949874 uc009vwh.3 chr1 41944445 41950344 uc001cgx.3 chr1 41972035 42384496 uc001cha.4 chr1 42619091 42621495 uc001chc.1 chr1 42628361 42630395 uc001chd.1 chr1 42642209 42800903 uc001chf.3 chr1 42846467 42889900 uc001chi.2 chr1 42896000 42921938 uc001chj.3 chr1 42922172 42926086 uc001chl.3 chr1 43000559 43120335 uc009vwk.1 chr1 43124047 43142429 uc001chq.3 chr1 43144356 43147330 uc001chr.3 chr1 43148065 43168020 uc001chs.3 chr1 43198763 43205925 uc001cht.1 chr1 43212005 43232755 uc001chx.4 chr1 43232915 43241413 uc001cia.4 chr1 43253660 43263901 uc021omg.1 chr1 43272722 43283059 uc001cib.2 chr1 43291248 43310660 uc001cie.1 chr1 43312243 43318146 uc021omh.1 chr1 43323292 43354460 uc001cij.1 chr1 43391045 43424847 uc001cik.2 chr1 43424719 43449029 uc001cil.3 chr1 43489219 43489308 uc021omj.1 chr1 43585818 43611958 uc009vwn.1 chr1 43613593 43622067 uc009vwo.3 chr1 43629844 43638241 uc010ojx.2 chr1 43638000 43720029 uc021omk.1 chr1 43735664 43739673 uc021oml.1 chr1 43747556 43751250 uc001cit.4 chr1 43766565 43788781 uc001ciu.3 chr1 43803474 43820135 uc001ciw.3 chr1 43824625 43828873 uc001cix.3 chr1 43829067 43833409 uc031pmf.1 chr1 43849578 43855483 uc001cje.2 chr1 43855555 43919918 uc001cjk.3 chr1 43916673 43919660 uc001cjo.3 chr1 43996546 44089343 uc001cjr.3 chr1 44115796 44171189 uc001cjx.3 chr1 44165355 44173012 uc001cjy.4 chr1 44173203 44396837 uc001cjz.4 chr1 44182137 44182227 uc021oms.1 chr1 44398991 44402912 uc001ckt.3 chr1 44412477 44433694 uc001ckx.3 chr1 44435652 44439043 uc001ckz.3 chr1 44440601 44443972 uc001cld.3 chr1 44445607 44456843 uc010okl.2 chr1 44457279 44462198 uc001clj.3 chr1 44462154 44483012 uc001cll.4 chr1 44584521 44600809 uc001clp.3 chr1 44679124 44686351 uc001clq.1 chr1 44686741 44820939 uc001clt.3 chr1 44870959 45117396 uc001clv.1 chr1 45011164 45011224 uc031pmh.1 chr1 45119500 45140099 uc001cmc.3 chr1 45140393 45191263 uc001cmf.2 chr1 45205489 45233438 uc001cmg.4 chr1 45241245 45244412 uc001cmi.3 chr1 45241536 45241610 uc001cmj.1 chr1 45242163 45242261 uc001cmk.1 chr1 45243513 45243584 uc009vxi.3 chr1 45244061 45244130 uc001cml.3 chr1 45249256 45253426 uc001cmm.3 chr1 45266035 45271667 uc001cmn.3 chr1 45271585 45272957 uc001cmp.3 chr1 45274153 45279801 uc010ole.1 chr1 45287937 45308616 uc010olf.2 chr1 45316193 45452394 uc001cmt.3 chr1 45468219 45477027 uc009vxk.3 chr1 45477804 45481341 uc001cna.2 chr1 45482075 45672250 uc001cnd.2 chr1 45769581 45771291 uc010olk.2 chr1 45792544 45794346 uc001cne.3 chr1 45794913 45806142 uc009vxp.3 chr1 45805341 45809650 uc009vxq.3 chr1 45809554 45956840 uc001cns.1 chr1 45959597 45965751 uc001cnw.3 chr1 45965855 45976739 uc009vxv.3 chr1 45976706 45988562 uc021omw.1 chr1 46016454 46035723 uc001coe.3 chr1 46049659 46084578 uc001coi.2 chr1 46085715 46089731 uc010olt.2 chr1 46092975 46152302 uc001coq.3 chr1 46111451 46112357 uc010olu.1 chr1 46153846 46160108 uc001cor.1 chr1 46164406 46216485 uc001cou.3 chr1 46269284 46501796 uc001cov.3 chr1 46505811 46598380 uc001cpb.4 chr1 46640748 46651634 uc001cpd.3 chr1 46654352 46685977 uc001cpg.3 chr1 46669005 46686928 uc010oma.2 chr1 46713366 46744145 uc009vye.2 chr1 46744071 46769038 uc001cpn.3 chr1 46769379 46782447 uc001cpp.3 chr1 46805848 46830824 uc001cpr.2 chr1 46859938 46879520 uc001cpu.2 chr1 46899498 46911374 uc021ona.1 chr1 46972667 46979886 uc001cpx.3 chr1 47004367 47035927 uc021onb.1 chr1 47011315 47015678 uc001cpy.2 chr1 47011315 47016887 uc009vyh.1 chr1 47023078 47069966 uc001cqb.4 chr1 47073386 47080805 uc001cqe.4 chr1 47100710 47134099 uc001cqh.4 chr1 47137496 47139256 uc001cqj.3 chr1 47139707 47157769 uc021ond.1 chr1 47140830 47184736 uc001cqk.4 chr1 47264669 47285021 uc001cqn.4 chr1 47308766 47366147 uc031pmm.1 chr1 47394845 47407156 uc001cqp.4 chr1 47489239 47516423 uc001cqt.3 chr1 47533159 47583992 uc001cqu.1 chr1 47603106 47614526 uc001cqv.1 chr1 47644921 47646011 uc031pmn.1 chr1 47649260 47655771 uc001cqw.3 chr1 47681962 47689770 uc009vyq.2 chr1 47681962 47695443 uc001cqx.2 chr1 47691628 47691655 uc021onf.1 chr1 47715810 47779819 uc001crd.1 chr1 47799468 47844511 uc001cri.3 chr1 47859449 47861215 uc001crj.1 chr1 47881743 47883724 uc001crk.3 chr1 47897806 47900313 uc001crl.3 chr1 47901688 47906363 uc001crm.3 chr1 48226199 48462562 uc021ong.1 chr1 48567386 48648100 uc010omr.1 chr1 48688356 48714316 uc001crn.2 chr1 48761043 48937876 uc001crr.2 chr1 48998526 50489626 uc001cru.2 chr1 49193539 49242547 uc001crx.4 chr1 50574593 50667540 uc001csb.2 chr1 50883222 50889119 uc010onb.2 chr1 50906934 51425936 uc001cse.1 chr1 51048075 51048183 uc021onh.1 chr1 51435641 51440309 uc001csg.3 chr1 51567905 51613754 uc001csh.3 chr1 51701944 51739119 uc001csi.4 chr1 51752929 51810785 uc010onf.2 chr1 51819934 51984995 uc001csq.1 chr1 52004296 52004401 uc021oni.1 chr1 52082545 52254891 uc001csu.3 chr1 52254865 52344609 uc001ctc.4 chr1 52373627 52456436 uc001cth.3 chr1 52461412 52461712 uc021onk.1 chr1 52485803 52521843 uc001cti.4 chr1 52497776 52499472 uc001ctj.1 chr1 52521856 52556388 uc001ctk.3 chr1 52607765 52812358 uc001cto.4 chr1 52816264 52831877 uc001ctq.2 chr1 52838500 52870143 uc001ctu.3 chr1 52870218 52883992 uc001ctv.4 chr1 52870218 52883992 uc001ctw.4 chr1 52888947 53018762 uc001cty.2 chr1 53068042 53074723 uc001cue.3 chr1 53099065 53122737 uc001cuf.3 chr1 53152013 53164038 uc001cui.2 chr1 53192130 53293013 uc001cuj.3 chr1 53308182 53360247 uc001cuk.2 chr1 53361581 53387591 uc001cup.4 chr1 53392900 53517289 uc001cur.2 chr1 53527723 53551174 uc010onr.2 chr1 53552854 53608289 uc001cuy.3 chr1 53580247 53584281 uc001cva.1 chr1 53662100 53679869 uc001cvb.4 chr1 53679771 53686289 uc001cvd.3 chr1 53692563 53704282 uc001cvf.2 chr1 53704281 53708455 uc001cvg.3 chr1 53708040 53793821 uc001cvi.2 chr1 53793904 53802889 uc001cvn.1 chr1 53904042 53905693 uc009vzj.3 chr1 53925071 53933158 uc001cvq.1 chr1 53971905 54199877 uc001cvr.1 chr1 54231133 54304225 uc001cvs.3 chr1 54317391 54355487 uc001cvu.3 chr1 54359860 54376759 uc001cwb.3 chr1 54387233 54411288 uc001cwh.3 chr1 54411998 54433841 uc001cwj.2 chr1 54472970 54483859 uc001cwm.2 chr1 54497348 54519111 uc001cwp.3 chr1 54519273 54565416 uc001cwt.1 chr1 54519751 54519827 uc021ons.1 chr1 54604667 54618679 uc001cwv.2 chr1 54638026 54665746 uc009vzo.3 chr1 54665839 54684056 uc001cxa.4 chr1 54691103 54872068 uc001cxe.4 chr1 55013806 55076005 uc001cxl.2 chr1 55074849 55089200 uc001cxn.3 chr1 55107426 55175939 uc010ooe.1 chr1 55181494 55208328 uc001cxx.4 chr1 55222570 55230226 uc001cxy.3 chr1 55246751 55266941 uc009vzt.1 chr1 55271735 55307937 uc001cyb.4 chr1 55315299 55352921 uc001cyc.1 chr1 55352654 55353883 uc021onu.1 chr1 55423541 55423614 uc021onv.1 chr1 55446464 55457966 uc001cyd.3 chr1 55464616 55474465 uc001cye.3 chr1 55505148 55530526 uc001cyf.2 chr1 55532031 55681039 uc021onw.1 chr1 55681080 55683128 uc021onx.1 chr1 55691313 55691396 uc021ony.1 chr1 55842198 55842525 uc021onz.1 chr1 55950543 55950645 uc021ooa.1 chr1 56046709 56200675 uc001cyi.1 chr1 56960418 57045257 uc001cyj.2 chr1 57110989 57181008 uc001cyk.4 chr1 57184476 57285369 uc001cym.4 chr1 57289353 57292593 uc001cyn.3 chr1 57320442 57383894 uc001cyo.2 chr1 57394882 57431688 uc001cyp.3 chr1 57463578 58716211 uc001cys.1 chr1 58326214 58328786 uc001cyu.1 chr1 58933598 58934677 uc001cyw.1 chr1 58946390 59012446 uc001cyy.3 chr1 59041094 59043166 uc001cyz.4 chr1 59120410 59165747 uc009wab.2 chr1 59246462 59249785 uc001cze.3 chr1 59250822 59365384 uc010oop.1 chr1 59597607 59612479 uc010ooq.2 chr1 59762624 60228402 uc009wac.3 chr1 60198898 60198968 uc021oob.1 chr1 60238466 60254501 uc001czn.3 chr1 60280532 60342050 uc001czo.3 chr1 60358979 60392423 uc001czq.3 chr1 60454823 60539442 uc001czs.2 chr1 61125302 61291256 uc001czt.1 chr1 61405915 61436448 uc001czu.3 chr1 61547533 61928460 uc010oos.2 chr1 62119913 62121800 uc031pmt.1 chr1 62146718 62191095 uc001czz.1 chr1 62208148 62629591 uc001dab.3 chr1 62318170 62318274 uc031pmu.1 chr1 62660473 62678001 uc001dae.4 chr1 62701836 62785083 uc001dah.4 chr1 62901974 62917475 uc001dak.2 chr1 62920396 63154039 uc001daq.4 chr1 63063157 63071976 uc001das.2 chr1 63249776 63330941 uc001dau.3 chr1 63624753 63782901 uc001daw.2 chr1 63704613 63704845 uc021ood.1 chr1 63788729 63790797 uc001dax.2 chr1 63799429 63799491 uc021ooe.1 chr1 63833260 63904233 uc021oof.1 chr1 63906440 63988944 uc001dbb.2 chr1 63989012 64038364 uc001dbf.3 chr1 64014650 64016307 uc001dbg.1 chr1 64088886 64125916 uc010ooz.2 chr1 64239689 64647179 uc001dbj.3 chr1 64262024 64262128 uc021oog.1 chr1 64571005 64636980 uc001dbl.3 chr1 64669489 64710027 uc001dbn.1 chr1 64936475 65158741 uc001dbo.1 chr1 65045529 65045604 uc021ooh.1 chr1 65210777 65298914 uc001dbs.2 chr1 65298905 65432187 uc001dbu.1 chr1 65445259 65468159 uc001dbw.3 chr1 65488650 65488757 uc021ooj.1 chr1 65523437 65523525 uc021ook.1 chr1 65524116 65524191 uc001dbx.3 chr1 65613231 65697828 uc001dby.3 chr1 65775217 65881552 uc001dce.2 chr1 65886130 66103176 uc001dci.3 chr1 65886130 65901690 uc001dcf.3 chr1 66258855 66840262 uc001dco.3 chr1 66560143 66560229 uc021oom.1 chr1 66999824 67210768 uc001dcr.3 chr1 67094122 67094200 uc021oon.1 chr1 67132271 67142710 uc010ope.1 chr1 67218139 67244730 uc001dcv.3 chr1 67263423 67266942 uc001dcw.3 chr1 67278571 67390570 uc001dcx.3 chr1 67390577 67454302 uc001dde.2 chr1 67465014 67520080 uc001ddk.2 chr1 67557858 67600654 uc001ddm.2 chr1 67632168 67725650 uc001ddo.3 chr1 67661822 67661926 uc021ooo.1 chr1 67773046 67862583 uc001ddu.3 chr1 67873492 67896123 uc001ddv.3 chr1 68150859 68154021 uc001ddz.2 chr1 68167148 68299155 uc001dea.2 chr1 68238275 68238336 uc021oop.1 chr1 68297970 68668670 uc001deb.2 chr1 68511644 68516481 uc001ded.3 chr1 68564141 68698284 uc001dee.3 chr1 68649200 68649293 uc021oos.1 chr1 68649301 68649321 uc021oot.1 chr1 68894506 68915642 uc001dei.1 chr1 68939834 68962799 uc001dem.4 chr1 68962358 69004310 uc001den.3 chr1 70225857 70589171 uc001dep.3 chr1 70385004 70386000 uc009wbh.2 chr1 70610484 70671361 uc001der.2 chr1 70671364 70717701 uc001des.3 chr1 70724684 70820417 uc001dex.4 chr1 70820492 70833705 uc001dfa.3 chr1 70876900 70905534 uc001dfd.3 chr1 71172135 71252151 uc001dff.3 chr1 71418114 71513491 uc001dfo.3 chr1 71512188 71532865 uc001dfr.3 chr1 71528973 71546972 uc001dft.3 chr1 71533313 71533399 uc010oqr.1 chr1 71547006 71703406 uc001dfu.2 chr1 71868624 72748405 uc001dfw.3 chr1 72259914 72302695 uc031pmw.1 chr1 73771852 73804560 uc001dfx.3 chr1 74491701 74663871 uc001dfy.4 chr1 74663895 75010116 uc001dge.2 chr1 75033794 75139422 uc001dgg.3 chr1 75043113 75091782 uc001dgh.3 chr1 75171171 75199092 uc001dgj.3 chr1 75198835 75232360 uc001dgn.3 chr1 75595658 75598261 uc001dgp.1 chr1 75600566 75627218 uc031pmx.1 chr1 75672074 76076799 uc001dgu.3 chr1 76103850 76188721 uc001dgv.3 chr1 76190042 76229355 uc009wbp.3 chr1 76251878 76260775 uc001dgy.2 chr1 76252756 76252834 uc001dgz.2 chr1 76253573 76253657 uc009wbu.1 chr1 76255161 76255232 uc009wbv.1 chr1 76262555 76378923 uc001dhd.2 chr1 76384557 76398116 uc001dhe.2 chr1 76540388 77096669 uc001dhh.2 chr1 77333185 77529737 uc001dhi.3 chr1 77554666 77685132 uc001dhk.3 chr1 77747661 78025654 uc001dhn.3 chr1 78030189 78148343 uc001dhq.3 chr1 78161673 78225564 uc001dht.4 chr1 78245308 78345225 uc010ork.3 chr1 78354199 78409578 uc001dic.4 chr1 78413590 78444777 uc001dii.3 chr1 78470635 78482995 uc001dij.3 chr1 78511588 78603112 uc001dik.3 chr1 78560490 78560599 uc021oov.1 chr1 78695282 78759574 uc001dil.1 chr1 78956727 79006386 uc001din.3 chr1 79086087 79111830 uc010oro.2 chr1 79115476 79129763 uc001dip.4 chr1 79152744 79152828 uc021oow.1 chr1 79355448 79472495 uc001diq.4 chr1 82266081 82458107 uc001diu.3 chr1 82312940 82313045 uc021oox.1 chr1 83439565 83451891 uc001dix.4 chr1 83911736 83920454 uc001diy.3 chr1 84041470 84326679 uc001diz.4 chr1 84259583 84259634 uc021ooy.1 chr1 84259597 84379059 uc031pmy.1 chr1 84267442 84326229 uc001dja.1 chr1 84335056 84464833 uc001djc.3 chr1 84379036 84379062 uc021ooz.1 chr1 84609951 84704181 uc001djl.3 chr1 84743003 84743140 uc021opa.1 chr1 84764048 84816481 uc001djr.3 chr1 84810360 84816481 uc001djs.3 chr1 84830640 84863576 uc009wcg.3 chr1 84864214 84880691 uc001djt.1 chr1 84944919 84964033 uc001djv.4 chr1 84964005 84972262 uc001djw.4 chr1 84972012 85014647 uc021opb.1 chr1 85018803 85040163 uc001dka.2 chr1 85093912 85097429 uc010ory.1 chr1 85109389 85156240 uc001dkj.3 chr1 85279085 85358896 uc009wcj.1 chr1 85391265 85462796 uc001dkm.3 chr1 85483764 85514223 uc001dkp.3 chr1 85527992 85598821 uc001dkt.3 chr1 85599476 85599556 uc021opc.1 chr1 85623355 85666728 uc009wcm.3 chr1 85715636 85725355 uc001dkv.3 chr1 85731459 85742587 uc021opd.1 chr1 85742040 85865646 uc001dla.2 chr1 85784167 85930889 uc001dlb.3 chr1 86046443 86049648 uc001dle.3 chr1 86115105 86174116 uc001dlh.3 chr1 86194915 86622154 uc001dlj.3 chr1 86815776 86862025 uc001dll.2 chr1 86889768 86922240 uc001dlr.4 chr1 86934394 86965974 uc001dlt.3 chr1 87012758 87046432 uc009wcs.3 chr1 87099958 87121059 uc010osh.2 chr1 87170252 87213867 uc001dly.3 chr1 87328127 87380107 uc021opi.1 chr1 87380334 87575681 uc010osk.2 chr1 87597679 87598718 uc021opj.1 chr1 87777576 87777676 uc021opk.1 chr1 87794150 87814607 uc001dmi.3 chr1 87819209 87837338 uc001dmk.3 chr1 87918922 87919056 uc021opl.1 chr1 88943510 88943810 uc021opm.1 chr1 89004735 89150887 uc021opn.1 chr1 89149921 89301938 uc001dmn.3 chr1 89318320 89357301 uc001dmo.4 chr1 89401455 89458643 uc001dmp.2 chr1 89445138 89458643 uc001dms.3 chr1 89472359 89488549 uc001dmt.3 chr1 89517986 89531043 uc001dmx.2 chr1 89573309 89591799 uc001dmz.1 chr1 89597433 89641723 uc001dna.2 chr1 89646830 89664633 uc001dnb.3 chr1 89724633 89738544 uc001dnd.3 chr1 89754940 89756045 uc031pna.1 chr1 89829435 89853719 uc001dnf.2 chr1 89873237 89890493 uc009wcy.1 chr1 89990396 90063420 uc001dni.3 chr1 90090407 90098453 uc001dnk.1 chr1 90098643 90185094 uc001dnl.4 chr1 90287479 90401989 uc001dnn.3 chr1 90453271 90453503 uc021opr.1 chr1 90458823 90460525 uc001dno.3 chr1 90460677 90494094 uc001dnq.2 chr1 91177578 91182794 uc001dns.3 chr1 91295103 91317175 uc001dnu.2 chr1 91380856 91487812 uc001dnw.3 chr1 91726322 91870426 uc001doa.4 chr1 91966403 91991321 uc001dof.3 chr1 92145899 92351836 uc001doh.3 chr1 92295329 92295626 uc021ops.1 chr1 92414927 92479985 uc010osz.2 chr1 92495532 92529093 uc001don.2 chr1 92545861 92613401 uc001doo.3 chr1 92632608 92650280 uc010otd.2 chr1 92683572 92711367 uc001doq.3 chr1 92711954 92764566 uc001dor.3 chr1 92764521 92853732 uc001dot.2 chr1 92940317 92951628 uc001dov.4 chr1 92974252 93257961 uc001dox.3 chr1 93297593 93307481 uc001doz.3 chr1 93302845 93302940 uc001dpe.2 chr1 93303574 93303627 uc021opt.1 chr1 93307716 93427079 uc001dpg.3 chr1 93544791 93604638 uc009wdj.3 chr1 93615298 93646246 uc001dpn.3 chr1 93646280 93744287 uc021opx.1 chr1 93775665 93811368 uc001dpt.2 chr1 93811477 93828148 uc001dpu.3 chr1 93913687 94020218 uc010otk.2 chr1 93981833 93981906 uc021opz.1 chr1 94027342 94146926 uc001dpz.4 chr1 94057524 94065587 uc009wdn.3 chr1 94219111 94240930 uc001dqd.1 chr1 94312387 94312467 uc021oqa.1 chr1 94313128 94313213 uc021oqb.1 chr1 94317792 94319887 uc001dqe.1 chr1 94335013 94344762 uc001dqf.3 chr1 94352589 94375012 uc001dqg.1 chr1 94458393 94586705 uc001dqh.3 chr1 94634462 94703307 uc001dqj.4 chr1 94883932 94984219 uc001dqn.4 chr1 94994731 95007413 uc001dqr.3 chr1 95123088 95285834 uc001dqu.3 chr1 95285897 95360803 uc001dqv.5 chr1 95362506 95392735 uc001dqz.4 chr1 95393583 95428826 uc021oqc.2 chr1 95448278 95538507 uc001dra.2 chr1 95550007 95550119 uc021oqd.1 chr1 95582893 95663161 uc001drb.3 chr1 95628774 95699538 uc001dre.1 chr1 95699710 95712781 uc009wdu.3 chr1 95940292 95944912 uc021oqf.1 chr1 95970531 95970615 uc021oqg.1 chr1 95975895 95981020 uc001drl.3 chr1 97161411 97161723 uc021oqh.1 chr1 97187174 97280605 uc001drq.3 chr1 97543299 98386615 uc001drv.3 chr1 97561478 97788511 uc031pne.1 chr1 98453555 98515249 uc001drx.2 chr1 98510798 98510907 uc021oqj.1 chr1 98676266 98738214 uc031pnf.1 chr1 99127235 99226056 uc010ouc.2 chr1 99207463 99207540 uc021oql.1 chr1 99355800 99470449 uc001dsb.3 chr1 99469831 99614408 uc001dsd.1 chr1 99729847 99775138 uc001dse.3 chr1 100111430 100160097 uc001dsg.3 chr1 100174258 100231349 uc001dsh.1 chr1 100178485 100178513 uc021oqn.1 chr1 100178485 100178513 uc021oqm.1 chr1 100315639 100389579 uc001dsi.1 chr1 100434000 100435404 uc001dso.2 chr1 100435991 100492534 uc001dsr.2 chr1 100503788 100548929 uc001dst.3 chr1 100549101 100598511 uc001dsu.3 chr1 100598705 100616054 uc001dsv.3 chr1 100614003 100643829 uc001dsx.2 chr1 100652477 100715409 uc001dta.3 chr1 100731713 100758325 uc001dtd.3 chr1 100746796 100746864 uc021oqp.1 chr1 100818022 100965021 uc001dtf.2 chr1 101003727 101007583 uc001dth.3 chr1 101092605 101112560 uc021oqr.1 chr1 101185195 101204601 uc001dti.3 chr1 101337927 101360735 uc001dtk.2 chr1 101361631 101447311 uc001dto.2 chr1 101455179 101491362 uc001dtt.2 chr1 101491408 101552819 uc001dua.3 chr1 101702304 101707076 uc001dud.2 chr1 101746453 101746573 uc021oqu.1 chr1 101806424 101806451 uc031pni.1 chr1 102268126 102462790 uc001dug.2 chr1 102337566 102360299 uc021oqv.1 chr1 103342022 103574052 uc001dul.3 chr1 104068577 104097859 uc010oun.2 chr1 104095895 104122149 uc001duq.3 chr1 104159998 104168400 uc001dut.3 chr1 104198301 104207173 uc001duv.3 chr1 104230039 104238912 uc001duw.1 chr1 104257374 104262492 uc010our.1 chr1 104292439 104301311 uc001duz.3 chr1 104615644 104619693 uc021oqw.1 chr1 106144773 106161557 uc001dva.3 chr1 107599266 107601916 uc010ous.2 chr1 107682628 108024475 uc001dvh.4 chr1 107937775 108024475 uc001dvi.3 chr1 107937775 108024475 uc009wem.3 chr1 108113781 108507545 uc001dvk.1 chr1 108496274 108496345 uc021oqx.1 chr1 108507064 108537229 uc031pnj.1 chr1 108677343 108742980 uc001dvn.5 chr1 108765962 108786703 uc009weo.2 chr1 108803819 108816311 uc001dvp.2 chr1 108918459 108953434 uc001dvq.3 chr1 108963310 108975804 uc001dvr.2 chr1 108992903 109013260 uc009wep.3 chr1 109102970 109181949 uc010ouy.2 chr1 109190909 109203744 uc001dvt.4 chr1 109234931 109244422 uc001dvv.4 chr1 109255555 109285367 uc001dvx.3 chr1 109289284 109352148 uc001dvy.3 chr1 109358519 109399726 uc001dwa.4 chr1 109399838 109401146 uc001dwc.3 chr1 109419602 109473044 uc010ovc.2 chr1 109472129 109506121 uc001dwf.2 chr1 109512837 109584850 uc001dwl.3 chr1 109606997 109618624 uc001dwm.1 chr1 109633402 109639554 uc001dwn.3 chr1 109642814 109643234 uc001dwo.1 chr1 109648572 109656479 uc009wew.3 chr1 109656584 109749403 uc021orb.1 chr1 109756514 109780804 uc001dwu.2 chr1 109792640 109818378 uc001dxa.4 chr1 109822175 109825790 uc001dxd.3 chr1 109834986 109849663 uc001dxk.1 chr1 109852187 109940563 uc001dxm.2 chr1 109941652 109969070 uc001dxn.3 chr1 109965120 109966952 uc021orf.1 chr1 110009099 110024764 uc001dxp.3 chr1 110026560 110035420 uc001dxr.3 chr1 110036700 110043063 uc010ovo.2 chr1 110049445 110052336 uc001dxx.4 chr1 110082493 110088455 uc001dxy.2 chr1 110091185 110138454 uc001dxz.3 chr1 110141514 110141589 uc010ovq.1 chr1 110145888 110155705 uc001dya.3 chr1 110162434 110174677 uc009wfh.2 chr1 110198697 110204331 uc001dyf.3 chr1 110230417 110236367 uc001dyk.3 chr1 110254863 110260890 uc001dyn.3 chr1 110276553 110283660 uc001dyo.2 chr1 110292701 110306644 uc001dyq.2 chr1 110453232 110473616 uc001dyw.4 chr1 110527386 110566364 uc001dyx.3 chr1 110577222 110597424 uc001dza.2 chr1 110602996 110613322 uc001dzb.3 chr1 110603303 110603368 uc021orl.1 chr1 110655061 110656569 uc001dzc.3 chr1 110693131 110744823 uc009wfq.3 chr1 110753335 110776674 uc001dzh.3 chr1 110815105 110815229 uc021orm.1 chr1 110828998 110881793 uc001dzj.3 chr1 110881944 110889303 uc001dzl.1 chr1 110887099 110888734 uc001dzn.1 chr1 110905472 110933704 uc001dzo.2 chr1 110943876 110950546 uc001dzr.3 chr1 110950430 110958896 uc031pnm.1 chr1 110993787 110999976 uc001dzs.3 chr1 111023387 111033891 uc009wfu.1 chr1 111059838 111061797 uc001dzt.1 chr1 111145775 111148975 uc009wfw.3 chr1 111214309 111217655 uc001dzv.1 chr1 111413820 111442558 uc001dzw.3 chr1 111489811 111506566 uc001eaa.3 chr1 111659953 111682838 uc001ead.4 chr1 111682248 111727724 uc001eah.1 chr1 111728590 111747160 uc001eal.2 chr1 111770280 111786062 uc001eam.3 chr1 111823145 111828730 uc009wgb.3 chr1 111833473 111863188 uc001eas.4 chr1 111889194 111895639 uc001eaw.2 chr1 111927140 111932473 uc021orp.1 chr1 111956936 111970399 uc001eba.3 chr1 111982511 111991830 uc001ebb.3 chr1 111991742 112004525 uc001ebc.3 chr1 112016603 112021134 uc001ebe.3 chr1 112025969 112046743 uc001ebf.3 chr1 112032938 112033045 uc021orr.1 chr1 112141628 112150940 uc001ebj.2 chr1 112162404 112256101 uc001ebl.3 chr1 112256829 112259310 uc001ebn.1 chr1 112264685 112282046 uc001ebo.2 chr1 112282462 112290420 uc001ebq.1 chr1 112287934 112298131 uc001ebr.3 chr1 112298189 112310199 uc001ebs.3 chr1 112318453 112531777 uc001ebu.1 chr1 112533189 112541463 uc001ebw.4 chr1 112913625 112913729 uc021oru.1 chr1 112938799 113003786 uc001ebx.3 chr1 112938880 112941439 uc001eby.1 chr1 113004391 113004455 uc021orv.1 chr1 113051369 113063910 uc001ecb.3 chr1 113066140 113162040 uc001ecd.3 chr1 113162074 113214241 uc001ecj.1 chr1 113217047 113243368 uc001eck.3 chr1 113243748 113249678 uc001ecp.1 chr1 113252615 113257950 uc001ect.1 chr1 113263188 113269856 uc001ecu.3 chr1 113362795 113393265 uc001ecw.1 chr1 113392521 113420491 uc021orw.1 chr1 113454469 113498975 uc001ecy.3 chr1 113465971 113467295 uc001eda.1 chr1 113499070 113511603 uc001edd.3 chr1 113554308 113615724 uc001ede.1 chr1 113615830 113667342 uc001edf.1 chr1 113739403 113748875 uc001edg.2 chr1 113933474 114228545 uc001edk.3 chr1 114239823 114301777 uc009wgp.1 chr1 114304453 114355070 uc001edq.3 chr1 114356432 114414375 uc001eds.3 chr1 114399256 114443859 uc001edv.2 chr1 114419435 114430169 uc001edw.3 chr1 114437370 114447525 uc001eeb.3 chr1 114447914 114456708 uc001eeg.3 chr1 114466622 114471880 uc001eek.3 chr1 114471995 114520491 uc001eem.3 chr1 114522029 114524875 uc001eer.1 chr1 114631913 114695062 uc021orz.1 chr1 114935398 115053781 uc001eew.3 chr1 115110180 115124265 uc001efa.3 chr1 115125468 115126223 uc021osb.1 chr1 115127195 115212732 uc001efd.1 chr1 115215719 115238239 uc001efe.2 chr1 115247084 115259515 uc009wgu.3 chr1 115259533 115300671 uc001efi.3 chr1 115312104 115323308 uc001efp.4 chr1 115397454 115537990 uc001efr.3 chr1 115572444 115576930 uc001efs.2 chr1 115590632 115632121 uc001eft.3 chr1 115828536 115880857 uc001efu.1 chr1 116184573 116240845 uc001efv.1 chr1 116242625 116311426 uc001efx.4 chr1 116378998 116383747 uc001efy.3 chr1 116461996 116468529 uc001efz.3 chr1 116519118 116612675 uc001egb.4 chr1 116654375 116677861 uc001egc.1 chr1 116821227 116821443 uc021osg.1 chr1 116915794 116947396 uc001ege.3 chr1 116947335 116961244 uc001egj.3 chr1 116956387 116956491 uc021osh.1 chr1 116995157 116995249 uc021osi.1 chr1 117057155 117113715 uc001egm.3 chr1 117117019 117209578 uc031pnr.1 chr1 117134723 117134827 uc021osj.1 chr1 117214370 117214449 uc021osk.1 chr1 117297085 117311851 uc001egu.4 chr1 117452688 117532972 uc001egv.1 chr1 117504968 117505093 uc021osl.1 chr1 117544371 117579173 uc010oxb.2 chr1 117602948 117645491 uc001egy.3 chr1 117637264 117637350 uc021osm.1 chr1 117653676 117664411 uc001egz.2 chr1 117686208 117753582 uc001ehb.3 chr1 117785831 117786130 uc021osp.1 chr1 117910084 118068320 uc001ehd.1 chr1 118148603 118171011 uc001ehe.3 chr1 118406106 118472302 uc001ehf.3 chr1 118472371 118503049 uc010oxe.1 chr1 118496287 118727848 uc001ehk.2 chr1 119425665 119532179 uc001ehl.1 chr1 119573838 119683295 uc001ehn.3 chr1 119683047 119726446 uc009whk.2 chr1 119911401 119936751 uc001ehr.1 chr1 119957742 119965662 uc001eht.3 chr1 120049825 120057681 uc001ehv.1 chr1 120106502 120115199 uc021osu.1 chr1 120140324 120141914 uc021osv.1 chr1 120161999 120190390 uc001ehy.1 chr1 120254418 120286849 uc001ehz.3 chr1 120290618 120311555 uc001eid.3 chr1 120336640 120354203 uc001eif.3 chr1 120377387 120387503 uc010oxk.3 chr1 120436155 120439147 uc001eij.3 chr1 120454175 120612317 uc001eik.3 chr1 120839004 120855681 uc009whp.3 chr1 120906033 120914842 uc001eio.2 chr1 120906460 120906507 uc021osz.1 chr1 120926127 120935944 uc001eip.3 chr1 121107151 121129827 uc031pnu.1 chr1 121306423 121313686 uc009wht.1 chr1 142618798 143257763 uc001eiw.1 chr1 142660105 142660135 uc001eiy.2 chr1 142672190 142672219 uc001eiz.2 chr1 142688238 142688268 uc021ota.1 chr1 142689205 142689235 uc021otb.1 chr1 142689523 142689553 uc021otc.1 chr1 142697420 142713605 uc031pnv.1 chr1 142803223 142888797 uc001ejb.3 chr1 142803530 142826645 uc001ejc.4 chr1 142851394 142851424 uc001eje.3 chr1 142853227 142855999 uc009whu.1 chr1 143168647 143168675 uc001ejg.1 chr1 143184707 143184737 uc001ejh.1 chr1 143185980 143186010 uc001ejj.3 chr1 143286955 143286985 uc021otd.1 chr1 143289062 143289092 uc001ejk.3 chr1 143402283 143402313 uc001ejl.1 chr1 143403553 143403583 uc002zkn.1 chr1 143419286 143419314 uc021ote.1 chr1 143424332 143467651 uc001ejn.1 chr1 143431367 143431397 uc001ejo.2 chr1 143647638 143744587 uc001ejp.3 chr1 143687129 143714180 uc001ejq.3 chr1 143690027 143690101 uc021otf.1 chr1 143702303 143702331 uc031pnw.1 chr1 143767143 143767881 uc001ejt.3 chr1 143879831 143879905 uc021otg.1 chr1 143896451 143913143 uc002qvn.1 chr1 143915747 144094477 uc010oxm.1 chr1 144146810 146467744 uc021ott.2 chr1 144171303 144172451 uc021otn.1 chr1 144209457 144212180 uc021otx.1 chr1 144275887 144290006 uc001ekq.1 chr1 144300511 144340773 uc001ekt.4 chr1 144301610 144301684 uc021oty.1 chr1 144308613 144308687 uc021otz.1 chr1 144340773 144341077 uc021oua.1 chr1 144363461 144364246 uc001ekw.3 chr1 144456162 144470244 uc021oub.1 chr1 144480744 144521009 uc001ela.4 chr1 144481839 144481913 uc021ouc.1 chr1 144488842 144488916 uc021oud.1 chr1 144514872 144519720 uc001elb.4 chr1 144610814 144612727 uc001elf.4 chr1 144832199 144833038 uc001els.1 chr1 144833046 144833912 uc001elt.1 chr1 144833912 144834808 uc001elu.1 chr1 144839435 144839507 uc021oug.1 chr1 144851423 144995033 uc021ouh.1 chr1 144944671 144944750 uc031pnz.1 chr1 145004780 145005287 uc001emi.4 chr1 145013718 145018395 uc001emj.3 chr1 145096406 145116997 uc031poa.1 chr1 145209110 145285912 uc001emn.4 chr1 145372087 145373798 uc001eng.1 chr1 145373798 145374694 uc001enh.1 chr1 145379319 145379391 uc021our.1 chr1 145385728 145385804 uc021ous.1 chr1 145395521 145395594 uc021out.1 chr1 145396880 145396952 uc021ouu.1 chr1 145397863 145397935 uc021ouv.1 chr1 145399232 145399304 uc021ouw.1 chr1 145413190 145417545 uc001eni.2 chr1 145438461 145442628 uc001enn.4 chr1 145456235 145470387 uc001enp.1 chr1 145470507 145475647 uc001enq.1 chr1 145477084 145499091 uc001enr.3 chr1 145500506 145501669 uc021ouz.1 chr1 145507556 145513535 uc001ent.2 chr1 145509751 145515899 uc009wiv.3 chr1 145514173 145515899 uc001enx.4 chr1 145516164 145523732 uc001eny.2 chr1 145524989 145543868 uc001eoa.3 chr1 145549208 145568526 uc001eob.1 chr1 145575987 145586546 uc001eoc.1 chr1 145586492 145589435 uc001eoe.3 chr1 145592604 145610884 uc001eoh.3 chr1 145611035 145688776 uc001eoj.3 chr1 145695797 145715565 uc001eol.1 chr1 145727665 145764206 uc001eoo.2 chr1 145764594 145827103 uc001eot.2 chr1 145883867 145924049 uc001eou.4 chr1 145924387 145934507 uc010ozf.2 chr1 145963303 145963375 uc021ova.1 chr1 145979033 145979107 uc021ovb.1 chr1 146032541 146057734 uc010ozg.2 chr1 146124160 146124283 uc021ovd.1 chr1 146215990 146217136 uc021ove.1 chr1 146476759 146476831 uc021ovh.1 chr1 146490894 146514599 uc001epd.3 chr1 146544772 146544844 uc021ovi.1 chr1 146550177 146550249 uc021ovj.1 chr1 146571065 146585928 uc031poj.1 chr1 146626684 146644129 uc001epe.3 chr1 146649429 146651528 uc001epg.1 chr1 146657837 146697230 uc001epi.2 chr1 146714290 146767447 uc001epm.5 chr1 146853913 146989699 uc021ovk.1 chr1 147013181 147098015 uc001epq.3 chr1 147119167 147142634 uc001epr.2 chr1 147228331 147232714 uc001eps.1 chr1 147374945 147381395 uc001epu.2 chr1 147400505 147465755 uc001epv.4 chr1 147466093 147484331 uc001epz.1 chr1 147505037 147505109 uc021ovn.1 chr1 147520766 147520840 uc021ovo.1 chr1 147574322 147599571 uc010ozx.2 chr1 147665992 147666115 uc021ovp.1 chr1 147680370 147691166 uc001eqh.1 chr1 147719028 147719102 uc021ovq.1 chr1 147737381 147737453 uc021ovr.1 chr1 147751385 147763966 uc001eqi.1 chr1 147753470 147753542 uc021ovs.1 chr1 147774844 147774916 uc021ovt.1 chr1 147781029 147781101 uc021ovu.1 chr1 147800936 147801008 uc021ovv.1 chr1 147801123 147816764 uc001eqk.1 chr1 147806602 147806678 uc031pom.1 chr1 147825688 147825760 uc021ovw.1 chr1 147835126 147931980 uc001eql.2 chr1 147874654 147893482 uc010paa.1 chr1 147877536 147877610 uc021ovx.1 chr1 147925822 147930669 uc009wka.2 chr1 147954634 147955419 uc001eqp.3 chr1 148000804 148000878 uc021ovy.1 chr1 148201751 148202536 uc010pag.2 chr1 148248114 148248188 uc021owi.1 chr1 148250248 148346791 uc021owp.2 chr1 148556107 148556133 uc010pay.2 chr1 148560846 148596267 uc001esc.2 chr1 148598313 148598387 uc021oxb.1 chr1 148644010 148644795 uc010paz.2 chr1 148739441 148758311 uc010pba.1 chr1 148760355 148760429 uc021oxc.1 chr1 148806014 148806799 uc010pbb.2 chr1 148876039 148902123 uc009wkv.1 chr1 148930404 148953054 uc009wkw.1 chr1 149079363 149079435 uc021oxd.1 chr1 149155827 149155899 uc021oxe.1 chr1 149161627 149161699 uc021oxf.1 chr1 149186124 149186196 uc021oxg.1 chr1 149211947 149212021 uc021oxh.1 chr1 149230569 149230643 uc021oxi.1 chr1 149230715 149232553 uc010pbe.1 chr1 149278784 149278857 uc021oxj.1 chr1 149279475 149291742 uc010pbf.2 chr1 149294665 149294736 uc021oxk.1 chr1 149298554 149298627 uc021oxl.1 chr1 149326271 149326345 uc021oxm.1 chr1 149334271 149334340 uc021oxn.1 chr1 149343080 149343151 uc021oxo.1 chr1 149369293 149378297 uc010pbh.2 chr1 149398714 149398761 uc010pbi.2 chr1 149400063 149400109 uc021oxp.1 chr1 149553002 149553787 uc001esj.3 chr1 149576261 149616786 uc001esk.5 chr1 149577754 149582605 uc009wle.2 chr1 149608608 149608682 uc021oxq.1 chr1 149615616 149615690 uc021oxr.1 chr1 149627308 149651107 uc001eso.1 chr1 149664354 149664427 uc021oxs.1 chr1 149670056 149670130 uc021oxt.1 chr1 149672904 149672976 uc031poq.1 chr1 149680209 149680280 uc021oxu.1 chr1 149684087 149684161 uc021oxv.1 chr1 149711797 149711871 uc021oxw.1 chr1 149719801 149719870 uc021oxx.1 chr1 149728270 149728341 uc021oxy.1 chr1 149754244 149783928 uc010pbj.2 chr1 149754249 149764074 uc001esp.4 chr1 149763335 149765367 uc001esq.1 chr1 149784779 149785236 uc010pbl.2 chr1 149804220 149804616 uc001ess.3 chr1 149812258 149812765 uc001esv.3 chr1 149813784 149814318 uc001esw.3 chr1 149821758 149822340 uc021oxz.1 chr1 149822627 149823161 uc001esx.3 chr1 149824180 149824687 uc001esy.3 chr1 149832329 149832725 uc001etb.3 chr1 149856009 149858232 uc001etc.3 chr1 149858524 149858961 uc001etd.3 chr1 149859018 149859466 uc001ete.3 chr1 149871154 149872348 uc001etf.3 chr1 149874871 149889434 uc001etg.3 chr1 149895208 149900144 uc001etk.2 chr1 149900542 149908791 uc001etl.4 chr1 149912231 149982686 uc001etn.3 chr1 150017381 150017452 uc021oyb.1 chr1 150039341 150117505 uc001etp.3 chr1 150122169 150131825 uc001ett.3 chr1 150190716 150208504 uc001etw.3 chr1 150230217 150237480 uc001etx.3 chr1 150237798 150241609 uc001ety.2 chr1 150245182 150253335 uc001eud.3 chr1 150255228 150259501 uc001euj.3 chr1 150266268 150280819 uc001euk.3 chr1 150293927 150325704 uc001eum.4 chr1 150336989 150449041 uc009wlr.3 chr1 150459839 150480085 uc001euq.4 chr1 150480486 150486265 uc001eus.3 chr1 150488232 150490508 uc031pos.1 chr1 150521897 150533412 uc001eux.3 chr1 150524404 150524490 uc021oye.1 chr1 150547026 150552214 uc001euz.3 chr1 150594598 150602098 uc001eve.3 chr1 150618700 150669672 uc001evj.2 chr1 150670534 150693364 uc001evk.2 chr1 150702671 150738433 uc001evn.3 chr1 150768683 150780917 uc001evp.2 chr1 150782180 150849244 uc001evr.2 chr1 150785066 150785174 uc021oyg.1 chr1 150898814 150937220 uc001evu.2 chr1 150937648 150947479 uc001evz.3 chr1 150954498 150968114 uc001ewa.2 chr1 150969300 150980854 uc010pcn.2 chr1 150980972 151008189 uc001ewh.1 chr1 150995221 150995328 uc021oyh.1 chr1 151009028 151020076 uc001ewl.2 chr1 151020258 151023871 uc001ewn.3 chr1 151023446 151032125 uc001ewp.3 chr1 151032150 151040973 uc001ewq.3 chr1 151043079 151091007 uc001ewr.2 chr1 151104162 151119140 uc001ewv.3 chr1 151129104 151132225 uc001ewx.2 chr1 151132223 151138370 uc001ewy.3 chr1 151138497 151142773 uc001ewz.3 chr1 151142462 151148547 uc001exc.4 chr1 151148775 151162689 uc001exe.2 chr1 151171020 151222007 uc001exj.3 chr1 151227196 151239954 uc001exl.3 chr1 151252499 151254405 uc001exo.3 chr1 151254790 151264381 uc001exq.3 chr1 151264272 151300191 uc001exu.3 chr1 151265261 151265284 uc031pov.1 chr1 151265461 151265487 uc031pow.1 chr1 151266582 151266606 uc031pox.1 chr1 151271387 151271414 uc031poy.1 chr1 151271499 151271523 uc031poz.1 chr1 151273139 151273440 uc021oyp.1 chr1 151274383 151274409 uc031ppa.1 chr1 151278732 151278766 uc031ppb.1 chr1 151313115 151319769 uc001exw.1 chr1 151336777 151345210 uc010pcy.3 chr1 151372040 151374412 uc001eyc.1 chr1 151375199 151431941 uc001eyd.2 chr1 151483861 151511167 uc009wmw.3 chr1 151512780 151556059 uc001eyl.3 chr1 151518271 151518367 uc021oyr.1 chr1 151584661 151671559 uc001eyn.1 chr1 151670318 151670850 uc001eyq.1 chr1 151672533 151689290 uc001eys.2 chr1 151694012 151702082 uc010pdj.1 chr1 151732122 151736040 uc001eyv.3 chr1 151739130 151743806 uc010pdm.2 chr1 151745954 151763010 uc001eza.4 chr1 151763317 151766878 uc001eze.3 chr1 151772764 151777882 uc001ezf.1 chr1 151778546 151804348 uc001ezh.3 chr1 151810338 151813033 uc010pdq.1 chr1 151810944 151816641 uc010pdr.2 chr1 151819576 151826173 uc021oyw.1 chr1 151843342 151882361 uc001ezj.2 chr1 151955385 151966714 uc001ezl.3 chr1 151967006 152015250 uc001ezm.1 chr1 152004981 152009511 uc001ezn.3 chr1 152056619 152061540 uc001ezo.1 chr1 152078792 152087930 uc001ezp.3 chr1 152126070 152131704 uc001ezs.1 chr1 152184551 152196672 uc001ezt.2 chr1 152274650 152297679 uc001ezu.1 chr1 152285934 152339168 uc001ezv.3 chr1 152321212 152332482 uc001ezw.4 chr1 152381718 152386750 uc001ezx.2 chr1 152483319 152484653 uc001ezy.3 chr1 152486977 152488481 uc001ezz.3 chr1 152538174 152539229 uc001faa.4 chr1 152551859 152552980 uc001fab.3 chr1 152573137 152573562 uc001fac.2 chr1 152586286 152586574 uc010pds.2 chr1 152595309 152595579 uc010pdt.2 chr1 152635886 152637135 uc001fag.4 chr1 152647790 152649049 uc001fah.4 chr1 152658598 152659876 uc001fai.3 chr1 152670839 152671918 uc001faj.3 chr1 152681522 152681910 uc001fak.2 chr1 152691997 152692905 uc010pdu.2 chr1 152730505 152734529 uc001fal.1 chr1 152748847 152749445 uc010pdv.2 chr1 152758752 152760901 uc001fan.3 chr1 152769226 152770657 uc009wnp.3 chr1 152777310 152779107 uc001fap.1 chr1 152784446 152785585 uc001faq.3 chr1 152799948 152800573 uc010pdw.2 chr1 152815329 152816459 uc001fas.4 chr1 152850797 152857523 uc001fat.3 chr1 152881038 152884362 uc001fau.3 chr1 152943127 152945069 uc001fav.1 chr1 152956563 152958290 uc001faw.3 chr1 152974222 152976332 uc001faz.4 chr1 153003678 153005376 uc001fba.3 chr1 153012200 153013594 uc001fbb.2 chr1 153028595 153029988 uc001fbd.3 chr1 153042717 153044084 uc001fbg.3 chr1 153065610 153067001 uc001fbh.3 chr1 153084612 153085989 uc001fbi.3 chr1 153112593 153113969 uc001fbj.3 chr1 153122057 153123427 uc009wod.2 chr1 153175905 153177601 uc001fbl.4 chr1 153190059 153191793 uc021ozw.1 chr1 153195064 153195185 uc021ozx.1 chr1 153232178 153234600 uc001fbm.3 chr1 153270337 153283194 uc001fbn.1 chr1 153302596 153321022 uc001fbo.3 chr1 153330329 153333503 uc001fbq.3 chr1 153346183 153348075 uc001fbr.1 chr1 153362507 153363664 uc001fbs.3 chr1 153388999 153395701 uc001fbt.1 chr1 153409470 153412503 uc010pdx.2 chr1 153430219 153433137 uc001fbv.1 chr1 153507075 153508717 uc001fbw.1 chr1 153509622 153514241 uc001fbx.3 chr1 153516094 153518282 uc001fbz.3 chr1 153518229 153524245 uc009wog.1 chr1 153519808 153521734 uc001fca.1 chr1 153533584 153538306 uc001fcb.3 chr1 153579366 153585514 uc001fcd.1 chr1 153586731 153588808 uc001fce.3 chr1 153591275 153600117 uc001fch.3 chr1 153600872 153604513 uc001fck.1 chr1 153606457 153618782 uc001fcn.2 chr1 153631129 153634328 uc001fcq.4 chr1 153634263 153643504 uc001fcr.4 chr1 153643725 153643797 uc021paa.1 chr1 153651163 153666468 uc001fcs.4 chr1 153700566 153746555 uc001fct.3 chr1 153747767 153752633 uc001fcz.3 chr1 153777202 153895451 uc001fdb.4 chr1 153901976 153919154 uc001fdd.1 chr1 153920147 153931132 uc021pab.1 chr1 153931574 153940660 uc031ppi.1 chr1 153940674 153946840 uc001fdr.3 chr1 153946744 153950451 uc001fds.3 chr1 153954092 153958853 uc001fdt.2 chr1 153963238 153964631 uc001fdv.3 chr1 153965167 154127592 uc001fdw.3 chr1 154134288 154164611 uc001fec.2 chr1 154166140 154166219 uc021pac.1 chr1 154171561 154178841 uc001fee.2 chr1 154179182 154193273 uc001fei.2 chr1 154193324 154243329 uc001fep.4 chr1 154232202 154232338 uc021pae.1 chr1 154245038 154248355 uc001fes.3 chr1 154293591 154297801 uc001feu.3 chr1 154300275 154323780 uc001fex.3 chr1 154377668 154441926 uc001fez.2 chr1 154451953 154474526 uc001ffb.3 chr1 154474694 154520623 uc009wow.3 chr1 154521050 154531120 uc001fff.1 chr1 154540256 154552353 uc001ffg.3 chr1 154554533 154580724 uc001ffh.3 chr1 154669941 154842754 uc021pah.1 chr1 154897207 154909484 uc001ffq.3 chr1 154916558 154928567 uc001ffr.3 chr1 154929501 154934258 uc001fft.3 chr1 154934773 154943223 uc001ffw.3 chr1 154947117 154951725 uc001fgb.3 chr1 154948168 154948259 uc021pai.1 chr1 154955769 154965587 uc001fgf.2 chr1 154966061 154966791 uc001fgi.3 chr1 154975105 154991001 uc010peq.3 chr1 154979449 154979509 uc021pal.1 chr1 154991002 155006257 uc001fgm.3 chr1 155006281 155023406 uc001fgn.2 chr1 155017667 155036467 uc021pan.2 chr1 155023747 155035252 uc001fgr.2 chr1 155051347 155060014 uc001fhf.3 chr1 155100348 155107386 uc001fhh.3 chr1 155108287 155111334 uc001fhj.4 chr1 155112366 155112883 uc001fhm.3 chr1 155141883 155145804 uc001fho.3 chr1 155146262 155157447 uc001fhs.2 chr1 155155666 155157427 uc021pao.2 chr1 155158299 155162706 uc031ppv.1 chr1 155161986 155162007 uc021par.1 chr1 155164967 155165063 uc021pas.1 chr1 155165378 155177772 uc001fix.3 chr1 155178489 155183624 uc001fjb.3 chr1 155183615 155188809 uc001fjd.3 chr1 155203712 155204236 uc021pav.1 chr1 155204238 155214653 uc001fjl.3 chr1 155216995 155225274 uc001fjm.3 chr1 155225769 155232176 uc001fjs.3 chr1 155232658 155243281 uc001fjw.3 chr1 155247217 155259639 uc001fjz.2 chr1 155259083 155271225 uc001fkb.4 chr1 155278538 155290457 uc001fkc.2 chr1 155290250 155293938 uc001fki.3 chr1 155290639 155300909 uc001fkj.2 chr1 155305051 155532324 uc001fkt.3 chr1 155402970 155404053 uc010pgd.2 chr1 155403092 155403473 uc010pgc.1 chr1 155531771 155533735 uc010pge.2 chr1 155531863 155533735 uc001fkv.3 chr1 155579960 155584758 uc001fky.4 chr1 155596545 155618335 uc001flf.3 chr1 155658881 155708800 uc001flr.3 chr1 155715558 155718322 uc010pgo.2 chr1 155716586 155720673 uc031pqb.1 chr1 155719509 155826972 uc001fly.1 chr1 155829259 155854990 uc001fmg.3 chr1 155867598 155880706 uc031pqc.1 chr1 155882835 155904188 uc001fmi.1 chr1 155889699 155889833 uc001fmk.1 chr1 155895748 155895877 uc001fmn.1 chr1 155911479 155912625 uc010pgs.2 chr1 155916629 155948336 uc001fmt.2 chr1 155978838 155990758 uc001fmx.3 chr1 156005091 156023516 uc001fna.3 chr1 156024516 156028605 uc001fnb.3 chr1 156030965 156040295 uc001fnc.3 chr1 156041803 156051789 uc001fnd.4 chr1 156084460 156109880 uc001fni.3 chr1 156104903 156107058 uc009wrp.3 chr1 156123321 156147542 uc009wrq.3 chr1 156163729 156182587 uc001fnp.3 chr1 156182778 156213123 uc021pbb.1 chr1 156211950 156213123 uc001fnt.3 chr1 156213111 156217908 uc010phh.2 chr1 156219014 156252620 uc001foc.4 chr1 156254069 156262234 uc009wrw.3 chr1 156262477 156265480 uc001foh.4 chr1 156268414 156269428 uc001fok.3 chr1 156278751 156308206 uc001fol.2 chr1 156307104 156316785 uc001foo.3 chr1 156338979 156355013 uc010pho.3 chr1 156374048 156377645 uc001fot.1 chr1 156374054 156399340 uc001fou.1 chr1 156390132 156390221 uc001foz.1 chr1 156433512 156460391 uc001fpb.4 chr1 156453889 156454002 uc021pbe.1 chr1 156495196 156542396 uc001fpf.3 chr1 156549518 156556562 uc021pbf.1 chr1 156561557 156564091 uc001fph.3 chr1 156564099 156571279 uc001fpl.3 chr1 156589085 156595517 uc001fpn.1 chr1 156589085 156594259 uc031pqq.1 chr1 156611456 156613427 uc021pbg.1 chr1 156611739 156629324 uc001fpp.3 chr1 156638555 156647189 uc001fpq.3 chr1 156669399 156675459 uc001fpr.3 chr1 156692412 156697705 uc001fps.1 chr1 156698262 156706752 uc001fpu.3 chr1 156707093 156710923 uc001fpx.1 chr1 156711898 156721543 uc001fpy.4 chr1 156737273 156770609 uc001fqa.3 chr1 156776034 156786640 uc009wsh.2 chr1 156810664 156828712 uc010pht.2 chr1 156830670 156851642 uc001fqh.1 chr1 156863522 156886226 uc001fqj.1 chr1 156890423 156902880 uc001fqm.2 chr1 156904631 157015162 uc001fqn.3 chr1 156905922 156906036 uc021pbj.1 chr1 157061834 157069600 uc001fqq.2 chr1 157094458 157108383 uc001fqr.2 chr1 157098153 157098463 uc001fqs.3 chr1 157483166 157522310 uc009wsm.3 chr1 157543538 157567870 uc001fqw.3 chr1 157647977 157670647 uc001frb.3 chr1 157715522 157746922 uc001fre.2 chr1 157764193 157789940 uc001frg.3 chr1 157800703 157811634 uc001frk.4 chr1 157895763 157918861 uc001frl.1 chr1 157963062 158065844 uc001frn.4 chr1 158066315 158069836 uc001frp.2 chr1 158101833 158110430 uc001frq.3 chr1 158149736 158156216 uc001frr.3 chr1 158169170 158173667 uc001frs.1 chr1 158223926 158228058 uc001frt.3 chr1 158259562 158264564 uc001fru.3 chr1 158297739 158301321 uc001frx.3 chr1 158323485 158327343 uc001fse.3 chr1 158368311 158369256 uc010pih.2 chr1 158389717 158390656 uc010pii.2 chr1 158435351 158436293 uc010pij.2 chr1 158444244 158464676 uc001fso.1 chr1 158449667 158450675 uc010pik.2 chr1 158516917 158517895 uc010pil.2 chr1 158532440 158533394 uc010pim.2 chr1 158548708 158549689 uc010pin.2 chr1 158576228 158577170 uc010pio.2 chr1 158580495 158656506 uc001fst.1 chr1 158669467 158670442 uc001fsu.1 chr1 158686957 158687905 uc021pbn.1 chr1 158724605 158725637 uc001fsw.1 chr1 158735533 158736472 uc010piq.2 chr1 158746471 158747425 uc010pir.2 chr1 158801167 158819270 uc001fsz.1 chr1 158901336 158946849 uc001ftb.3 chr1 158979681 159024945 uc010pis.2 chr1 159032274 159046647 uc001ftj.1 chr1 159111400 159111474 uc021pbo.1 chr1 159141376 159172932 uc001ftk.2 chr1 159165774 159172212 uc001ftm.2 chr1 159175048 159176290 uc001ftp.4 chr1 159259505 159278014 uc001ftq.3 chr1 159283459 159284449 uc010piu.2 chr1 159315958 159438858 uc001fts.4 chr1 159409511 159410600 uc010piv.2 chr1 159504867 159505797 uc010piw.2 chr1 159557615 159558661 uc001ftv.3 chr1 159682078 159684379 uc001ftw.3 chr1 159750758 159752333 uc001ftz.1 chr1 159772172 159786047 uc001fud.4 chr1 159796478 159807282 uc001fue.4 chr1 159824105 159832447 uc001fuh.3 chr1 159842153 159869906 uc001fui.3 chr1 159887896 159894341 uc031pqu.1 chr1 159896828 159915386 uc001fur.2 chr1 159921281 159924044 uc001fus.3 chr1 159931013 159948876 uc001fuu.3 chr1 159997461 160001783 uc001fuv.1 chr1 160007256 160040051 uc001fuw.2 chr1 160051359 160059212 uc001fuy.1 chr1 160061128 160068618 uc009wtf.3 chr1 160085519 160113374 uc001fvc.3 chr1 160121351 160156767 uc001fve.4 chr1 160160284 160171676 uc010pja.2 chr1 160171988 160178659 uc001fvj.1 chr1 160175124 160185162 uc001fvk.3 chr1 160185504 160232350 uc010pjb.1 chr1 160258376 160313354 uc001fvv.4 chr1 160287054 160288260 uc001fvw.3 chr1 160295893 160296006 uc021pbr.1 chr1 160313062 160328742 uc001fvx.3 chr1 160336860 160342638 uc001fwa.2 chr1 160370363 160398468 uc001fwc.2 chr1 160454819 160493052 uc001fwe.2 chr1 160510883 160549306 uc001fwh.4 chr1 160579890 160617081 uc001fwl.4 chr1 160650211 160681641 uc001fwo.2 chr1 160709076 160724601 uc001fwq.3 chr1 160765863 160798045 uc001fwu.4 chr1 160799949 160832692 uc009wtq.3 chr1 160846329 160854960 uc001fxc.3 chr1 160914815 160924589 uc001fxd.3 chr1 160965000 160991133 uc009wtt.3 chr1 161009040 161014727 uc031pqv.1 chr1 161016731 161039760 uc001fxl.3 chr1 161040780 161059385 uc001fxo.2 chr1 161068180 161070138 uc001fxr.3 chr1 161070345 161087866 uc001fxu.3 chr1 161087861 161090984 uc001fxv.2 chr1 161090768 161102256 uc001fxz.3 chr1 161123533 161128646 uc001fyd.4 chr1 161129253 161135516 uc010pkd.2 chr1 161136180 161141010 uc001fyg.2 chr1 161141099 161147758 uc001fys.2 chr1 161159537 161168845 uc001fyt.4 chr1 161171936 161184184 uc001fyw.3 chr1 161185086 161189038 uc001fyz.1 chr1 161192082 161193418 uc001fzc.1 chr1 161195832 161200407 uc001fzd.3 chr1 161196975 161197051 uc031pqw.1 chr1 161199455 161208000 uc001fzp.3 chr1 161228516 161255240 uc001gad.3 chr1 161274524 161279762 uc001gaf.4 chr1 161284165 161334535 uc001gag.3 chr1 161334520 161337673 uc001gal.4 chr1 161369489 161369562 uc021pbx.1 chr1 161390660 161390733 uc021pby.1 chr1 161391882 161391954 uc021pbz.1 chr1 161397866 161397940 uc021pca.1 chr1 161409960 161410032 uc021pcb.1 chr1 161410614 161410686 uc021pcc.1 chr1 161411322 161411405 uc021pcd.1 chr1 161413093 161413164 uc021pce.1 chr1 161417017 161417089 uc021pcf.1 chr1 161417374 161417446 uc021pcg.1 chr1 161418032 161418104 uc021pch.1 chr1 161418740 161418823 uc021pci.1 chr1 161420466 161420537 uc021pcj.1 chr1 161424397 161424469 uc021pck.1 chr1 161424755 161424827 uc021pcl.1 chr1 161425413 161425485 uc021pcm.1 chr1 161426121 161426204 uc021pcn.1 chr1 161427897 161427968 uc021pco.1 chr1 161431808 161431880 uc021pcp.1 chr1 161432165 161432237 uc021pcq.1 chr1 161432823 161432895 uc021pcr.1 chr1 161433531 161433614 uc021pcs.1 chr1 161435257 161435328 uc021pct.1 chr1 161439188 161439260 uc021pcu.1 chr1 161439546 161439618 uc021pcv.1 chr1 161440204 161440276 uc021pcw.1 chr1 161440912 161440995 uc021pcx.1 chr1 161450355 161450426 uc021pcy.1 chr1 161475204 161489360 uc001gan.3 chr1 161492934 161493006 uc021pdb.1 chr1 161493636 161493707 uc021pdc.1 chr1 161494035 161496687 uc001gaq.3 chr1 161500131 161500214 uc021pdd.1 chr1 161500902 161500974 uc021pde.1 chr1 161501914 161501986 uc021pdf.1 chr1 161510030 161510104 uc021pdg.1 chr1 161511550 161519818 uc001gar.3 chr1 161551128 161571010 uc021pdi.2 chr1 161574587 161574659 uc021pdk.1 chr1 161575848 161578341 uc010pkp.1 chr1 161581735 161581819 uc021pdl.1 chr1 161582507 161582579 uc021pdm.1 chr1 161591464 161591538 uc021pdn.1 chr1 161592987 161601252 uc009wul.3 chr1 161632904 161648444 uc001gaz.2 chr1 161653494 161655042 uc001gbc.3 chr1 161676761 161684142 uc001gbe.3 chr1 161692442 161697933 uc001gbi.3 chr1 161719580 161726952 uc001gbo.3 chr1 161736033 161933860 uc001gbs.3 chr1 161952981 161993644 uc001gbu.3 chr1 162039580 162339813 uc001gbv.2 chr1 162126896 162126972 uc021pdp.1 chr1 162308432 162308532 uc021pdq.1 chr1 162312335 162312430 uc021pdr.1 chr1 162343514 162346644 uc001gbx.2 chr1 162348695 162356608 uc010pkt.1 chr1 162365055 162381928 uc001gbz.1 chr1 162467594 162499419 uc001gcc.2 chr1 162531295 162569633 uc001gce.4 chr1 162602227 162750247 uc001gcg.3 chr1 162747518 162747805 uc021pds.1 chr1 162751900 162756362 uc001gch.1 chr1 162760495 162782608 uc001gci.3 chr1 162824086 162838605 uc001gck.2 chr1 163038395 163046592 uc001gcl.4 chr1 163112088 163172963 uc021pdt.1 chr1 163291722 163325553 uc001gcr.1 chr1 163438285 163438395 uc021pdv.1 chr1 163479273 163479385 uc021pdw.1 chr1 164528596 164821060 uc001gct.3 chr1 164595272 164651720 uc001gcu.1 chr1 164738352 164743878 uc021pdx.1 chr1 165171103 165325478 uc001gcz.2 chr1 165370158 165414592 uc001gda.3 chr1 165446078 165551341 uc001gdc.2 chr1 165513477 165533185 uc001gde.2 chr1 165566149 165566222 uc021peb.1 chr1 165600109 165625372 uc001gdf.3 chr1 165631448 165667900 uc001gdh.1 chr1 165667986 165679199 uc001gdi.3 chr1 165693527 165738159 uc001gdj.5 chr1 165738165 165744685 uc001gdo.3 chr1 165796731 165880855 uc001gdp.3 chr1 166011480 166011587 uc021ped.1 chr1 166026689 166135958 uc021pee.1 chr1 166039068 166135958 uc021pef.1 chr1 166123979 166124035 uc021peg.1 chr1 166573152 166594473 uc010pld.2 chr1 166808723 166823709 uc001gdt.1 chr1 166825748 166845654 uc001gdw.3 chr1 166882440 166944561 uc001gdx.2 chr1 166958518 166991447 uc001gdy.1 chr1 167022081 167059868 uc001gea.1 chr1 167064070 167098402 uc001geb.1 chr1 167144598 167165042 uc021pei.1 chr1 167190065 167396582 uc001gee.3 chr1 167399876 167487847 uc001gei.4 chr1 167510250 167523056 uc001gel.3 chr1 167599473 167675486 uc001gem.3 chr1 167683961 167684033 uc021pej.1 chr1 167684724 167684796 uc021pek.1 chr1 167691186 167761156 uc001geo.3 chr1 167778624 167883453 uc001ger.3 chr1 167885912 167906307 uc001get.3 chr1 167905796 168045083 uc001gex.3 chr1 168048779 168106811 uc009wvo.4 chr1 168148170 168171351 uc001gfg.3 chr1 168195254 168212088 uc001gfi.4 chr1 168214818 168216668 uc010plo.2 chr1 168218461 168220378 uc001gfk.2 chr1 168250277 168283664 uc001gfl.3 chr1 168344761 168344859 uc021pel.1 chr1 168369426 168391894 uc021pem.1 chr1 168510002 168513235 uc001gfn.4 chr1 168545710 168551315 uc001gfo.2 chr1 168664694 168698442 uc001gfp.3 chr1 168756178 168762126 uc001gfq.3 chr1 169075946 169101960 uc001gfr.1 chr1 169101768 169337186 uc001gfu.3 chr1 169337193 169365780 uc001gfy.3 chr1 169364113 169396670 uc001gfz.1 chr1 169433148 169455208 uc001gge.4 chr1 169481191 169555769 uc001ggg.1 chr1 169558087 169599377 uc001ggi.4 chr1 169659805 169680843 uc001ggk.3 chr1 169691780 169703220 uc001ggm.4 chr1 169761669 169764061 uc001ggn.4 chr1 169764549 169822229 uc001ggq.3 chr1 169822214 169863100 uc001ggs.3 chr1 169828896 169829193 uc021peo.1 chr1 169890469 170043879 uc001ggv.3 chr1 170115187 170136923 uc009wvv.1 chr1 170120518 170120603 uc021per.1 chr1 170120518 170120603 uc021peq.1 chr1 170240545 170253349 uc001ggx.3 chr1 170429593 170489887 uc001ggy.1 chr1 170501262 170522974 uc001gha.2 chr1 170633312 170708541 uc001ghf.3 chr1 170904611 171033906 uc010plz.2 chr1 171060017 171086959 uc001ghh.3 chr1 171070868 171070947 uc021pes.1 chr1 171070879 171070939 uc031prg.1 chr1 171106878 171130702 uc001ghj.1 chr1 171154387 171181822 uc001ghk.1 chr1 171217662 171255113 uc001ghl.3 chr1 171223044 171223161 uc021pet.1 chr1 171283485 171311223 uc001gho.3 chr1 171308034 171310463 uc010pmf.2 chr1 171454665 171562650 uc010pmg.2 chr1 171604556 171621773 uc001ghu.3 chr1 171669295 171711379 uc001ghx.2 chr1 171750760 171766856 uc001ghz.3 chr1 171810617 172381857 uc001gie.4 chr1 171964791 171964994 uc021peu.1 chr1 172106018 172113975 uc021pev.2 chr1 172107947 172108028 uc021pew.1 chr1 172157538 172157607 uc021pex.1 chr1 172389827 172437969 uc001gik.3 chr1 172410596 172413230 uc001gio.3 chr1 172502259 172580973 uc001giq.4 chr1 172628184 172636012 uc001gis.3 chr1 173010359 173020103 uc001giu.2 chr1 173152869 173176471 uc001giw.3 chr1 173204198 173446294 uc001gix.1 chr1 173387087 173430501 uc010pmp.1 chr1 173446485 173457946 uc001giy.1 chr1 173469603 173572233 uc001giz.2 chr1 173577474 173639001 uc001gja.1 chr1 173604660 173606272 uc021pez.1 chr1 173684079 173755840 uc001gjc.3 chr1 173768687 173793270 uc001gje.4 chr1 173793796 173827682 uc001gjh.2 chr1 173832385 173833079 uc021pfa.1 chr1 173833038 173837125 uc001gjk.3 chr1 173833312 173833355 uc009wwi.1 chr1 173834487 173834568 uc009wwk.1 chr1 173834770 173834824 uc009wwl.3 chr1 173835105 173835166 uc001gjn.1 chr1 173835448 173835509 uc009wwm.1 chr1 173836016 173836076 uc009wwo.1 chr1 173836811 173836883 uc001gjo.1 chr1 173837492 173855774 uc009wwp.1 chr1 173867684 173867712 uc021pfb.1 chr1 173872941 173886516 uc001gjt.3 chr1 173900351 173962210 uc001gju.4 chr1 174128551 174927327 uc001gjx.3 chr1 174417211 174418683 uc001gka.1 chr1 174417553 174418334 uc010pmu.1 chr1 174968891 174981163 uc001gkj.1 chr1 174982093 174992591 uc001gkk.3 chr1 175036993 175117202 uc001gkl.1 chr1 175126122 175161949 uc001gkn.3 chr1 175291934 175712752 uc009wwu.1 chr1 175526123 175533005 uc001gkr.1 chr1 175913966 176176370 uc001gku.1 chr1 175937532 175937676 uc001gkx.1 chr1 176432306 176811970 uc001gkz.3 chr1 176830202 177134024 uc001glc.3 chr1 176998498 176998581 uc021pfc.1 chr1 177140632 177251558 uc001glf.3 chr1 177897488 177939050 uc001gli.1 chr1 178060642 178062735 uc001gln.1 chr1 178062863 178448648 uc001glq.3 chr1 178482211 178491789 uc001glt.2 chr1 178511930 178518024 uc001glx.1 chr1 178530047 178530164 uc021pff.1 chr1 178646883 178646969 uc021pfg.1 chr1 178678037 178678110 uc021pfh.1 chr1 178694299 178889237 uc001glz.3 chr1 178818669 178840215 uc001gma.3 chr1 178995073 179045702 uc001gmc.3 chr1 179051111 179065129 uc001gmd.3 chr1 179068461 179112224 uc001gmi.4 chr1 179170962 179170982 uc021pfi.1 chr1 179262848 179327814 uc001gml.3 chr1 179334854 179523870 uc001gmo.3 chr1 179519673 179545084 uc001gmq.4 chr1 179556206 179556240 uc021pfk.1 chr1 179556492 179556554 uc001gmt.3 chr1 179556689 179556738 uc010pnm.1 chr1 179556805 179556836 uc001gmu.3 chr1 179556860 179556891 uc001gmv.3 chr1 179557007 179557111 uc001gmw.3 chr1 179557405 179557438 uc001gmx.3 chr1 179557454 179557483 uc021pfl.1 chr1 179557496 179557540 uc001gmz.1 chr1 179557562 179557602 uc001gna.3 chr1 179557656 179557734 uc001gnb.3 chr1 179557814 179557850 uc001gnc.1 chr1 179558162 179558192 uc010pnn.1 chr1 179558664 179558701 uc001gnd.3 chr1 179558711 179558760 uc001gne.3 chr1 179558972 179559006 uc010pno.2 chr1 179560756 179660407 uc010pnp.2 chr1 179712297 179785333 uc001gnj.3 chr1 179809101 179846941 uc001gnk.3 chr1 179828164 179846941 uc001gnn.3 chr1 179851176 179889212 uc001gnp.2 chr1 179923907 180084015 uc001gnt.3 chr1 180123967 180167169 uc001gnz.3 chr1 180167143 180169859 uc001god.4 chr1 180184275 180184348 uc021pfo.1 chr1 180199432 180244188 uc001goe.2 chr1 180238797 180243816 uc001gof.2 chr1 180257351 180472022 uc001gog.3 chr1 180318292 180318386 uc021pfp.1 chr1 180407448 180407525 uc021pfq.1 chr1 180528109 180535654 uc001goh.1 chr1 180601145 180859415 uc001goi.3 chr1 180882312 180915239 uc001gok.2 chr1 180942175 180992046 uc021pfr.1 chr1 181002560 181031074 uc001goq.2 chr1 181057637 181059979 uc001got.4 chr1 181143619 181151342 uc009wxq.3 chr1 181205523 181207740 uc031pri.1 chr1 181382578 181382716 uc001gov.3 chr1 181452685 181775921 uc009wxt.3 chr1 181456006 181456111 uc021pfs.1 chr1 181740701 181740780 uc021pft.1 chr1 182023704 182030847 uc001goz.3 chr1 182350838 182360539 uc001gpa.2 chr1 182367251 182369751 uc001gpe.3 chr1 182376755 182383948 uc009wxv.1 chr1 182419255 182529732 uc009wxw.3 chr1 182542768 182558394 uc009wxz.2 chr1 182567757 182573548 uc001gpl.4 chr1 182584274 182585764 uc021pfy.1 chr1 182615791 182642067 uc001gpm.1 chr1 182758583 182799519 uc009wyb.3 chr1 182808438 182857117 uc001gpr.3 chr1 182868999 182922553 uc001gpu.3 chr1 182992594 183114727 uc001gpy.4 chr1 183155173 183214262 uc001gqa.2 chr1 183217371 183387634 uc001gqc.2 chr1 183430010 183441117 uc001gqe.3 chr1 183441505 183523328 uc001gqf.3 chr1 183524696 183560056 uc001gqk.4 chr1 183595327 183605076 uc021pgb.2 chr1 183605207 183897666 uc001gqm.3 chr1 183615410 183622448 uc001gqn.3 chr1 183904965 184006863 uc001gqr.3 chr1 184020810 184043344 uc001gqt.4 chr1 184356149 184598155 uc001gqv.1 chr1 184659624 184724041 uc010pok.2 chr1 184727265 184730133 uc001gqz.1 chr1 184760158 184943718 uc001gra.4 chr1 185014550 185071740 uc001grc.1 chr1 185087217 185126116 uc001grf.4 chr1 185126191 185260913 uc001grg.4 chr1 185220508 185220534 uc021pgd.1 chr1 185265521 185286461 uc001grl.3 chr1 185292978 185304171 uc001grn.4 chr1 185405427 185405453 uc021pge.1 chr1 185527511 185597620 uc001gro.3 chr1 185576315 185591914 uc001grp.1 chr1 185703682 186160085 uc001grq.1 chr1 186029866 186446655 uc021pgf.1 chr1 186265404 186283688 uc001gru.4 chr1 186280785 186344457 uc001grv.3 chr1 186348898 186390503 uc021pgj.1 chr1 186369703 186370587 uc001gry.3 chr1 186412697 186430240 uc001gsa.4 chr1 186640943 186649559 uc001gsb.3 chr1 186798031 186958113 uc001gsc.3 chr1 187610357 187612988 uc001gsd.3 chr1 190066796 190446759 uc001gse.1 chr1 190447389 190450524 uc001gsf.3 chr1 190594019 190770788 uc021pgm.2 chr1 192127591 192154945 uc001gsg.3 chr1 192286121 192336414 uc001gsh.3 chr1 192544856 192549159 uc001gsi.1 chr1 192605267 192629440 uc001gsk.3 chr1 192778168 192781407 uc001gsl.3 chr1 192844815 192845115 uc021pgn.1 chr1 192981495 193028523 uc001gsm.3 chr1 193026410 193026545 uc021pgo.1 chr1 193027466 193029189 uc001gsr.1 chr1 193028551 193055115 uc001gss.3 chr1 193065594 193074608 uc001gsz.2 chr1 193091087 193223942 uc001gtb.3 chr1 193105632 193105713 uc021pgq.1 chr1 193147859 193155743 uc001gtc.4 chr1 196194912 196577499 uc001gtd.1 chr1 196551542 196551611 uc021pgs.1 chr1 196621007 196716634 uc001gtj.4 chr1 196743929 196763203 uc001gtl.3 chr1 196912933 196928356 uc001gtq.1 chr1 196946666 196978803 uc001gts.4 chr1 197008320 197036397 uc001gtt.1 chr1 197053256 197115824 uc001gtu.3 chr1 197122813 197169672 uc001gtx.1 chr1 197237333 197447585 uc001gtz.3 chr1 197473878 197744623 uc021pgu.1 chr1 197871681 197876497 uc001guh.3 chr1 197886516 197899273 uc001guk.1 chr1 198126107 198291548 uc001gun.4 chr1 198492351 198510075 uc001gup.3 chr1 198608097 198726605 uc001gur.2 chr1 198777131 198906558 uc021pgz.1 chr1 198828001 198828111 uc001gux.1 chr1 198828172 198828282 uc001guy.3 chr1 198975168 198990166 uc001gva.4 chr1 199996729 200146550 uc001gvb.4 chr1 200023188 200023293 uc021pha.1 chr1 200311671 200342920 uc001gvd.1 chr1 200375419 200379166 uc001gve.3 chr1 200380927 200444641 uc010ppi.1 chr1 200520624 200589862 uc010ppk.1 chr1 200613164 200639126 uc009wzk.3 chr1 200708685 200829831 uc001gvk.3 chr1 200842082 200843306 uc001gvn.2 chr1 200860626 200884864 uc001gvo.4 chr1 200898071 200935796 uc001gvp.1 chr1 200938513 200992828 uc001gvs.2 chr1 200993076 200997920 uc001gvu.3 chr1 201008639 201081694 uc001gvv.3 chr1 201083080 201084500 uc031prl.1 chr1 201103899 201123632 uc001gvy.3 chr1 201159952 201198080 uc001gwc.3 chr1 201252579 201302121 uc001gwd.3 chr1 201328135 201346828 uc001gwf.4 chr1 201349965 201368669 uc001gwm.3 chr1 201372894 201390874 uc021phd.1 chr1 201434606 201438299 uc031prm.1 chr1 201434606 201438299 uc001gwq.4 chr1 201452657 201475967 uc021phh.1 chr1 201489031 201489720 uc010ppt.3 chr1 201604354 201606516 uc001gwt.1 chr1 201617449 201796102 uc001gwu.3 chr1 201688635 201688755 uc031prn.1 chr1 201777738 201777830 uc021phj.1 chr1 201798287 201853422 uc001gwz.3 chr1 201857804 201861715 uc001gxa.3 chr1 201865583 201915716 uc021phl.1 chr1 201924618 201939789 uc001gxc.3 chr1 201951765 201975275 uc001gxd.3 chr1 201979689 201986315 uc001gxh.4 chr1 202092028 202098634 uc001gxj.3 chr1 202102531 202113871 uc001gxk.2 chr1 202116140 202130716 uc010ppx.2 chr1 202152694 202156267 uc009xaa.2 chr1 202156130 202158577 uc001gxs.3 chr1 202163117 202288889 uc001gxu.3 chr1 202300784 202311094 uc001gxx.4 chr1 202317829 202557697 uc001gya.2 chr1 202379235 202379335 uc021phn.1 chr1 202559724 202679551 uc010pqb.2 chr1 202696531 202777549 uc001gyf.3 chr1 202780073 202781041 uc031prp.1 chr1 202794328 202795421 uc021php.1 chr1 202827080 202830736 uc001gyj.3 chr1 202830881 202844369 uc001gyk.1 chr1 202847409 202858385 uc001gyl.3 chr1 202860229 202896371 uc001gyo.1 chr1 202909959 202927524 uc001gyq.5 chr1 202931000 202936404 uc001gyt.2 chr1 202955579 202976393 uc021phr.1 chr1 202976533 202993197 uc001gyu.1 chr1 203003611 203047864 uc009xaj.3 chr1 203052256 203055166 uc001gzd.4 chr1 203096835 203136533 uc001gzf.1 chr1 203097405 203136533 uc009xak.1 chr1 203136938 203144942 uc001gzh.1 chr1 203148058 203155922 uc001gzi.2 chr1 203185206 203198860 uc001gzn.2 chr1 203267885 203274453 uc009xao.2 chr1 203274663 203278729 uc001gzq.3 chr1 203309751 203320289 uc001gzr.3 chr1 203444882 203460479 uc001gzt.3 chr1 203463270 203478077 uc001gzu.1 chr1 203595914 203713209 uc001gzw.3 chr1 203696748 203696784 uc010pqk.1 chr1 203698708 203698833 uc001gzy.1 chr1 203699704 203700979 uc031prr.1 chr1 203734283 203745480 uc001haa.3 chr1 203764750 203823256 uc001hac.3 chr1 203766650 203769590 uc021phs.1 chr1 203830739 203840280 uc001hai.3 chr1 203968378 203968471 uc021pht.1 chr1 204001574 204010392 uc010pqo.1 chr1 204042245 204096871 uc001ham.3 chr1 204100189 204121307 uc001hao.4 chr1 204110535 204112137 uc001hap.3 chr1 204123943 204135465 uc001haq.2 chr1 204159468 204165619 uc001har.3 chr1 204167287 204183220 uc001has.1 chr1 204187978 204329057 uc001hau.4 chr1 204337557 204338847 uc010pqu.1 chr1 204372491 204380944 uc001hav.4 chr1 204379010 204380945 uc031prt.1 chr1 204391757 204459474 uc001haw.3 chr1 204475654 204475727 uc021phv.1 chr1 204476157 204476230 uc021phw.1 chr1 204485506 204527248 uc001hba.3 chr1 204586302 204654597 uc001hbf.1 chr1 204595902 204598840 uc031pru.1 chr1 204676447 204676558 uc021phz.1 chr1 204797781 204991950 uc001hbj.3 chr1 204981852 204991950 uc001hbo.2 chr1 204989426 204991950 uc001hbp.1 chr1 205012339 205047171 uc001hbr.3 chr1 205052256 205053588 uc001hbt.3 chr1 205055269 205091150 uc001hbu.2 chr1 205111630 205180727 uc001hbw.3 chr1 205197037 205242471 uc021pia.1 chr1 205271190 205290883 uc001hce.3 chr1 205305192 205326218 uc031prx.1 chr1 205342379 205356568 uc001hch.1 chr1 205350505 205391214 uc001hcj.2 chr1 205417429 205417526 uc010prh.1 chr1 205425185 205438152 uc001hco.2 chr1 205443270 205443343 uc021pib.1 chr1 205473683 205495965 uc010pri.2 chr1 205473683 205501921 uc001hcr.3 chr1 205523400 205525763 uc001hcu.2 chr1 205538111 205572046 uc001hcv.4 chr1 205564168 205564275 uc021pic.1 chr1 205626980 205649630 uc001hda.1 chr1 205681946 205719372 uc001hdb.3 chr1 205737113 205744610 uc001hde.4 chr1 205758220 205782161 uc001hdh.1 chr1 205765004 205765744 uc001hdi.1 chr1 205797149 205819276 uc001hdj.3 chr1 205831206 205865215 uc001hdk.1 chr1 205882176 205912588 uc001hdp.3 chr1 206138910 206155074 uc001hdr.4 chr1 206224282 206231482 uc001hds.2 chr1 206238881 206288236 uc001hdt.2 chr1 206317458 206332104 uc001hdu.3 chr1 206516199 206637783 uc001hdy.3 chr1 206643585 206670223 uc001hdz.2 chr1 206680878 206762616 uc001hed.3 chr1 206764973 206785904 uc001heh.2 chr1 206808880 206822542 uc001hej.3 chr1 206858364 206907630 uc001hem.2 chr1 206940947 206945839 uc001hen.1 chr1 206972214 207016326 uc001heo.3 chr1 207039153 207042568 uc001her.3 chr1 207070787 207077484 uc001heu.2 chr1 207076630 207095378 uc001hey.3 chr1 207101866 207119811 uc001hez.3 chr1 207131311 207143970 uc001hfa.4 chr1 207178153 207178230 uc021pih.1 chr1 207191865 207206101 uc001hfd.2 chr1 207217193 207224422 uc001hfe.1 chr1 207226619 207251162 uc001hfg.3 chr1 207262211 207273337 uc001hfj.3 chr1 207277510 207277617 uc001hfn.1 chr1 207277606 207318317 uc001hfo.3 chr1 207494816 207534311 uc001hfr.4 chr1 207627644 207663240 uc001hfv.3 chr1 207669472 207815110 uc001hfx.3 chr1 207818457 207897036 uc001hga.4 chr1 207925382 207968861 uc001hgj.3 chr1 207975196 207975868 uc021pik.2 chr1 207991723 207995941 uc010psi.2 chr1 208039465 208042417 uc001hgu.2 chr1 208059882 208084683 uc001hgw.1 chr1 208195587 208417665 uc001hgz.3 chr1 209602167 209605892 uc009xcn.3 chr1 209757044 209787284 uc001hhd.3 chr1 209788217 209825820 uc001hhh.3 chr1 209796788 209796855 uc021pil.1 chr1 209848669 209849735 uc001hhi.4 chr1 209878135 209908295 uc001hhk.3 chr1 209929393 209955668 uc001hho.3 chr1 209955661 209957890 uc001hhp.1 chr1 209958967 209979520 uc001hhq.2 chr1 210001311 210030910 uc001hhr.2 chr1 210111518 210337633 uc001hhs.5 chr1 210404803 210407466 uc001hhx.4 chr1 210406194 210416440 uc001hhy.3 chr1 210501595 210849638 uc009xcx.3 chr1 210851656 211307457 uc001hib.2 chr1 211432707 211489725 uc010psw.2 chr1 211500147 211548286 uc001hii.3 chr1 211556096 211605877 uc001hil.4 chr1 211649863 211666259 uc001hin.2 chr1 211748380 211752099 uc001hio.1 chr1 211836113 211848972 uc001hir.2 chr1 211916798 212004114 uc001hiv.3 chr1 212113740 212209002 uc001hiw.2 chr1 212208918 212278187 uc009xdc.3 chr1 212250954 212251027 uc021pis.1 chr1 212317864 212318301 uc010ptc.1 chr1 212458878 212535205 uc001hjb.3 chr1 212526159 212526292 uc009xdf.1 chr1 212537815 212588267 uc010pte.2 chr1 212606228 212619721 uc001hjd.3 chr1 212781969 212794119 uc021pit.1 chr1 212797625 212800113 uc010pth.1 chr1 212797788 212800120 uc001hjk.3 chr1 212859758 212873327 uc001hjl.2 chr1 212899494 212965139 uc001hjn.3 chr1 212965169 212990167 uc001hjo.2 chr1 213003484 213020991 uc001hjq.3 chr1 213029945 213031480 uc001hjs.5 chr1 213031596 213072705 uc001hjt.3 chr1 213123886 213164927 uc001hjw.3 chr1 213165523 213189168 uc001hjz.3 chr1 213224587 213446808 uc010ptr.2 chr1 213992977 214139607 uc031psa.1 chr1 214098091 214099996 uc031psb.1 chr1 214161277 214214847 uc001hkg.2 chr1 214454564 214510477 uc021pix.1 chr1 214522038 214725024 uc001hkk.2 chr1 214655881 214656819 uc010ptz.1 chr1 214776531 214837914 uc001hkm.3 chr1 215256559 215410436 uc001hkr.4 chr1 215740734 215795149 uc001hks.3 chr1 215796235 216596738 uc001hku.1 chr1 216676587 216896814 uc001hkw.2 chr1 216825011 216825068 uc021pjb.1 chr1 217603833 217804409 uc001hlf.1 chr1 217804694 218040484 uc001hlh.1 chr1 218066241 218094146 uc031psc.1 chr1 218458628 218511325 uc001hlj.3 chr1 218517537 218519020 uc031psd.1 chr1 218518675 218617961 uc001hln.3 chr1 219254316 219347130 uc001hlp.3 chr1 219347191 219386207 uc001hlq.4 chr1 220046618 220292777 uc021pjd.1 chr1 220087605 220101993 uc001hlw.3 chr1 220141941 220220000 uc001hly.1 chr1 220230823 220263191 uc001hma.3 chr1 220267454 220321383 uc001hmc.3 chr1 220291194 220291304 uc010pui.2 chr1 220291498 220291583 uc010puj.2 chr1 220291547 220291569 uc021pje.1 chr1 220321609 220445843 uc010puk.1 chr1 220373883 220374018 uc010pul.2 chr1 220439520 220441057 uc001hmj.2 chr1 220701567 220837799 uc001hmn.4 chr1 220863627 220872499 uc001hmp.1 chr1 220921675 220957596 uc001hmq.3 chr1 220960038 220987741 uc001hms.3 chr1 220999117 220999235 uc021pjg.1 chr1 221002596 221005770 uc001hmu.3 chr1 221052742 221058400 uc001hmv.4 chr1 221503269 221509638 uc001hmw.1 chr1 221874763 221915516 uc001hmy.2 chr1 222638346 222638419 uc021pjh.1 chr1 222646009 222646043 uc010puo.1 chr1 222646722 222646767 uc001hna.1 chr1 222646839 222646870 uc001hnb.3 chr1 222647751 222647786 uc010pup.1 chr1 222648391 222648423 uc021pji.1 chr1 222648536 222648596 uc001hnd.3 chr1 222648680 222648717 uc021pjj.1 chr1 222649002 222649064 uc010puq.2 chr1 222649161 222649251 uc021pjk.1 chr1 222650319 222650381 uc001hnf.3 chr1 222650411 222650443 uc001hng.2 chr1 222695601 222721444 uc001hnh.1 chr1 222731243 222763275 uc009xdz.2 chr1 222791443 222841351 uc001hnl.3 chr1 222841354 222885864 uc001hnn.3 chr1 222885905 222906106 uc001hnq.1 chr1 222900275 222946483 uc001hnr.1 chr1 222906202 222908533 uc001hns.1 chr1 222910557 222924002 uc001hnt.3 chr1 222988430 223179337 uc001hnu.2 chr1 223282747 223316624 uc001hnw.2 chr1 223394160 223537544 uc001hny.4 chr1 223566714 223568812 uc001hoa.2 chr1 223714971 223853436 uc009xee.2 chr1 223900118 223963720 uc001hob.4 chr1 223967594 224033674 uc010pvb.2 chr1 224051997 224052306 uc021pjm.1 chr1 224139721 224139941 uc001hof.1 chr1 224189608 224197818 uc001hog.1 chr1 224294983 224295243 uc021pjn.1 chr1 224301788 224349749 uc001hoh.3 chr1 224370909 224381142 uc001hoj.3 chr1 224415035 224517891 uc001hok.3 chr1 224444705 224444843 uc021pjo.1 chr1 224544512 224566223 uc001hom.2 chr1 224572844 224622001 uc001hop.4 chr1 224585928 224586013 uc021pjq.1 chr1 224586541 224586601 uc021pjr.1 chr1 224804178 224928249 uc001hos.1 chr1 225117355 225586996 uc001how.2 chr1 225589203 225615815 uc001hoy.3 chr1 225674533 225840845 uc001hpc.1 chr1 225888305 225939945 uc001hpe.1 chr1 225965514 225978168 uc001hpg.3 chr1 225997796 226033262 uc001hpk.3 chr1 226033232 226070420 uc001hpm.2 chr1 226073981 226076846 uc001hpo.3 chr1 226107576 226112040 uc001hpq.4 chr1 226124297 226129083 uc001hpt.2 chr1 226170402 226187066 uc001hpu.4 chr1 226250407 226259703 uc001hpw.3 chr1 226271655 226277994 uc001hpx.3 chr1 226332379 226374423 uc001hpy.3 chr1 226374532 226385086 uc031psl.1 chr1 226411382 226413513 uc010pvm.2 chr1 226418849 226497204 uc001hqa.3 chr1 226548391 226595801 uc001hqd.4 chr1 226723318 226730469 uc001hqe.2 chr1 226736500 226796915 uc021pjw.1 chr1 226819390 226926876 uc010pvo.2 chr1 227058272 227083804 uc009xeo.1 chr1 227127937 227175246 uc001hqn.1 chr1 227177565 227505826 uc001hqr.3 chr1 227581291 227618723 uc001hqv.3 chr1 227751219 227850164 uc021pjy.1 chr1 227884732 227885408 uc021pjz.1 chr1 227918889 227923112 uc001hrb.3 chr1 227922696 227968932 uc001hrf.2 chr1 228003417 228034171 uc001hrh.3 chr1 228109164 228135676 uc001hri.2 chr1 228129290 228129384 uc031psm.1 chr1 228155293 228155325 uc001hrj.3 chr1 228155355 228155417 uc001hrk.3 chr1 228156485 228156575 uc021pka.1 chr1 228156672 228156704 uc021pkb.1 chr1 228157022 228157062 uc010pvt.1 chr1 228157172 228157203 uc010pvu.2 chr1 228160064 228160098 uc001hrn.2 chr1 228160168 228160213 uc021pkc.1 chr1 228194722 228248972 uc001hrq.2 chr1 228270360 228286913 uc001hrr.3 chr1 228284963 228285042 uc021pkd.1 chr1 228288427 228291022 uc001hrx.3 chr1 228294379 228297013 uc001hrz.4 chr1 228327928 228336655 uc021pkf.1 chr1 228337414 228347527 uc001hsk.3 chr1 228353428 228369958 uc001hsl.4 chr1 228391206 228401365 uc031psn.1 chr1 228395830 228566575 uc001hsq.2 chr1 228581376 228594517 uc001hss.3 chr1 228595635 228604583 uc001hsv.3 chr1 228612545 228613026 uc001hsx.1 chr1 228645064 228645560 uc001hsy.3 chr1 228645807 228646259 uc001hsz.3 chr1 228649774 228649853 uc021pkh.1 chr1 228651845 228651891 uc021pki.1 chr1 228673888 228674821 uc001hta.3 chr1 228675067 228683889 uc001htb.3 chr1 228780393 228788159 uc001htd.2 chr1 228870823 228882416 uc001htf.3 chr1 229050379 229052954 uc001htg.2 chr1 229406808 229441640 uc001hth.4 chr1 229440128 229441250 uc001htk.4 chr1 229456751 229478688 uc001htl.4 chr1 229566992 229569843 uc001htm.3 chr1 229577043 229644088 uc001htn.3 chr1 229589676 229591617 uc001hto.1 chr1 229652328 229694442 uc001htp.4 chr1 229728865 229761794 uc001htq.3 chr1 229761980 229795946 uc001hts.1 chr1 230202955 230417875 uc010pwa.1 chr1 230457391 230561674 uc031psq.1 chr1 230778201 230829731 uc001htw.3 chr1 230838271 230850336 uc001hty.4 chr1 230883129 230937749 uc001htz.1 chr1 230972864 231004302 uc001hub.3 chr1 231010591 231014761 uc001hue.1 chr1 231041986 231114618 uc001huf.4 chr1 231114822 231136479 uc001huh.3 chr1 231154703 231175995 uc001hui.2 chr1 231298673 231357314 uc009xfn.1 chr1 231319844 231323373 uc031pss.1 chr1 231359508 231376924 uc001hul.3 chr1 231376918 231413719 uc001hup.4 chr1 231468481 231473578 uc001huq.3 chr1 231473681 231490769 uc001hur.4 chr1 231499496 231560790 uc001huv.2 chr1 231611509 231612271 uc021pkl.1 chr1 231664398 231702269 uc001huw.3 chr1 231727037 231747836 uc021pkm.2 chr1 231762560 232177019 uc010pxh.2 chr1 231950371 231954263 uc001hvd.3 chr1 232533711 232651243 uc001hvg.3 chr1 232940637 232946092 uc001hvh.2 chr1 233086369 233114219 uc001hvj.1 chr1 233119881 233431459 uc001hvl.2 chr1 233463513 233520894 uc001hvt.4 chr1 233584371 233584527 uc021pko.1 chr1 233749749 233808258 uc010pxo.1 chr1 233759897 233759965 uc021pkp.1 chr1 234040678 234460262 uc001hvy.1 chr1 234348351 234350834 uc001hvz.1 chr1 234442212 234442285 uc021pkq.1 chr1 234509428 234519795 uc001hwc.3 chr1 234527058 234614849 uc001hwd.3 chr1 234663636 234667525 uc001hwe.3 chr1 234740014 234745271 uc001hwg.3 chr1 234765056 234770526 uc021pkr.1 chr1 234782034 234796670 uc001hwh.3 chr1 234859788 234867390 uc001hwj.2 chr1 235093089 235099746 uc001hwk.4 chr1 235272657 235292256 uc001hwl.3 chr1 235291117 235291252 uc001hwm.1 chr1 235294497 235324772 uc001hwn.3 chr1 235330209 235491532 uc001hwq.3 chr1 235353348 235353431 uc021pkt.1 chr1 235491752 235507844 uc001hwv.3 chr1 235530727 235612280 uc001hxa.1 chr1 235610504 235667781 uc001hxc.3 chr1 235710984 235814054 uc001hxh.4 chr1 235712454 235714587 uc021pku.1 chr1 235824330 236030227 uc001hxj.3 chr1 236016299 236016360 uc021pkv.1 chr1 236139131 236228481 uc001hxo.3 chr1 236227659 236229779 uc001hxp.1 chr1 236305831 236372209 uc001hxq.3 chr1 236378421 236445339 uc001hxt.3 chr1 236557679 236648008 uc001hxu.1 chr1 236686368 236687808 uc001hxx.3 chr1 236686738 236716279 uc001hxy.2 chr1 236712304 236767841 uc001hyd.2 chr1 236849769 236927558 uc001hyf.2 chr1 236958580 237067281 uc001hyi.4 chr1 236973802 236992568 uc009xgj.1 chr1 237167402 237167718 uc001hyk.2 chr1 237205701 237997288 uc001hyl.1 chr1 237284106 237284409 uc021pkw.1 chr1 238025474 238091619 uc010pyc.2 chr1 238041163 238054222 uc001hym.3 chr1 238105861 238105933 uc021pla.1 chr1 238106955 238107030 uc021plb.1 chr1 238643683 238649317 uc001hyn.3 chr1 239792372 240072717 uc001hyp.3 chr1 240170823 240176560 uc021pld.1 chr1 240255184 240638489 uc010pyd.2 chr1 240317950 240318072 uc021ple.1 chr1 240652872 240775462 uc001hys.3 chr1 240938816 241520478 uc001hyv.2 chr1 241295571 241295646 uc021plg.1 chr1 241660856 241683085 uc001hyx.3 chr1 241695433 241758949 uc009xgp.3 chr1 241756451 241803701 uc001hza.3 chr1 241792166 241799232 uc001hzd.3 chr1 241815579 241965434 uc001hzg.2 chr1 242011492 242053241 uc001hzh.3 chr1 242158791 242162385 uc001hzk.2 chr1 242251688 242687998 uc001hzn.2 chr1 243218732 243218763 uc021plm.1 chr1 243219238 243219328 uc021pln.1 chr1 243219615 243265046 uc001hzq.2 chr1 243287729 243418708 uc021plo.1 chr1 243351942 243352032 uc021plr.1 chr1 243419306 243663393 uc001hzw.3 chr1 243509477 243509557 uc021plt.1 chr1 243663020 244006584 uc001iab.2 chr1 243729624 243729741 uc021plv.1 chr1 244080703 244210619 uc001iac.3 chr1 244212240 244220780 uc031psv.1 chr1 244515936 244552388 uc001iah.4 chr1 244571793 244615436 uc001iaj.3 chr1 244624672 244803662 uc001iam.3 chr1 244816351 244872334 uc001iao.3 chr1 244998638 245008359 uc001iar.3 chr1 245003939 245010243 uc001iav.3 chr1 245013601 245027827 uc001iaz.1 chr1 245133170 245251148 uc001ibc.2 chr1 245318286 245866428 uc001ibf.1 chr1 245533635 245533719 uc021plw.1 chr1 245912641 246670644 uc001ibl.3 chr1 246679340 246687589 uc021plx.1 chr1 246703862 246729565 uc001ibn.3 chr1 246729638 246831884 uc001ibp.3 chr1 246887377 246931440 uc001ibr.3 chr1 246939314 246955685 uc001ibs.1 chr1 246970416 246970487 uc021ply.1 chr1 247002401 247094726 uc001ibv.2 chr1 247148624 247171395 uc009xgu.3 chr1 247197939 247242115 uc001icd.2 chr1 247263263 247267674 uc001ice.2 chr1 247273461 247275719 uc001icg.1 chr1 247319202 247335318 uc001icj.1 chr1 247337903 247338870 uc001icl.1 chr1 247365268 247365362 uc021pma.1 chr1 247419373 247420447 uc010pyu.2 chr1 247463621 247495045 uc001ico.3 chr1 247579457 247612406 uc001icr.3 chr1 247614330 247615284 uc010pyx.2 chr1 247654369 247655711 uc001icz.2 chr1 247681594 247683942 uc001idc.3 chr1 247693433 247697141 uc009xgy.3 chr1 247712346 247739848 uc001idf.3 chr1 247751661 247752615 uc010pyy.2 chr1 247768887 247769817 uc010pyz.2 chr1 247835419 247836343 uc001idi.1 chr1 247875130 247876057 uc001idj.1 chr1 247920763 247921708 uc010pza.2 chr1 247978101 247979031 uc001idm.1 chr1 248004229 248005198 uc001idn.1 chr1 248020500 248043438 uc001ido.3 chr1 248058888 248059833 uc010pzb.2 chr1 248084319 248085258 uc010pzc.2 chr1 248100492 248264224 uc001ids.3 chr1 248112159 248113098 uc001idt.1 chr1 248128633 248129641 uc010pzd.2 chr1 248153568 248154493 uc001idv.1 chr1 248185249 248186188 uc031psy.1 chr1 248201473 248202607 uc001idw.3 chr1 248223983 248224922 uc001idx.1 chr1 248285437 248286082 uc001idy.1 chr1 248308449 248309388 uc010pze.2 chr1 248343287 248344331 uc010pzf.2 chr1 248366369 248367308 uc010pzg.2 chr1 248402230 248403166 uc010pzh.2 chr1 248436153 248437116 uc010pzi.2 chr1 248457917 248458880 uc010pzj.2 chr1 248486931 248487870 uc010pzk.2 chr1 248512076 248513015 uc010pzl.2 chr1 248524882 248525929 uc001ieh.1 chr1 248550909 248551836 uc001iei.1 chr1 248569295 248570405 uc010pzm.2 chr1 248616098 248617073 uc001iek.1 chr1 248636651 248637608 uc001iel.1 chr1 248651889 248652837 uc001iem.1 chr1 248684947 248685898 uc001ien.1 chr1 248721844 248722792 uc001ieo.2 chr1 248737101 248738058 uc001iep.1 chr1 248756130 248757069 uc010pzn.2 chr1 248789478 248790429 uc001ier.1 chr1 248801587 248802559 uc001ies.1 chr1 248813231 248814185 uc010pzo.2 chr1 248844669 248845605 uc001ieu.1 chr1 248881947 248885507 uc031psz.1 chr1 248902716 248903151 uc009xhb.3 chr1 249104650 249120154 uc001iew.1 chr1 249120575 249120642 uc021pmd.1 chr1 249132529 249143714 uc001iex.3 chr1 249144202 249153315 uc001ifc.2 chr1 249168053 249168159 uc021pmf.1 chr1 249168446 249168518 uc021pmg.1 chr1 249200441 249213345 uc001ifh.3 ================================================ FILE: intro_awk_spring2021/data/dmel-subset-chromosomes.fasta ================================================ >X GAATTCGTCAGAAATGAGCTAAACAAATTTAAATCATTAAATGCGAGCGGCGAATCCGGAAACAGCAACTTCAAACCAGT >2L CGACAATGCACGACAGAGGAAGCAGAACAGATATTTAGATTGCCTCTCATTTTCTCTCCCATATTATAGGGAGAAATATG >2R CTCAAGATACCTTCTACAGATTATTTAAAGCTAGTGCACAACAACAATAAATTGACTAAGTTATGTCATTTTAAGCGGTC >3L TAGGGAGAAATATGATCGCGTATGCGAGAGTAGTGCCAACATATTGTGCTCTTTGATTTTTTGGCAACCCAAAATGGTGG >3R ACGGGACCGAGTATAGTACCAGTACGCGACCAGTACGGGAGCAGTACGGAACCAATACGGGTCCAGTACGGGTCCAGTAC ================================================ FILE: intro_awk_spring2021/data/enhancers.csv ================================================ chr1,1015066,1015266,HSE897,9.5706324138 chr1,1590473,1590673,HSE853,17.3206898329 chr1,2120861,2121064,HSE86,66.0424471614 chr1,6336418,6336624,HSE394,14.8892086906 chr1,7404594,7404794,HSE315,24.228051023 chr1,11941325,11941525,HSE322,17.5192630328 chr1,15055555,15055755,HSE962,11.7065788965 chr1,15478024,15478224,HSE354,17.5771586196 chr1,16065307,16065508,HSE264,23.9092446094 chr1,23244249,23244449,HSE434,17.1331422162 chr1,24621426,24621626,HSE638,11.9517576968 chr1,24710189,24710389,HSE537,14.6283754801 chr1,26216838,26217042,HSE237,39.9988740347 chr1,28931703,28931903,HSE150,37.3158468645 chr1,29139636,29139836,HSE696,9.3933913885 chr1,29301011,29301211,HSE837,15.2711109524 chr1,30644209,30644410,HSE452,13.1331424716 chr1,37323436,37323636,HSE144,24.6337166989 chr1,39114092,39114292,HSE642,13.5250552809 chr1,40887095,40887295,HSE715,14.4526764769 chr1,43259581,43259781,HSE285,23.3546182652 chr1,48180470,48180671,HSE581,14.0513005602 chr1,51911123,51911323,HSE728,10.9727627129 chr1,58868480,58868680,HSE744,10.9393507729 chr1,61907580,61907780,HSE219,24.9065022738 chr1,62649216,62649416,HSE160,31.6287882019 chr1,64297272,64297472,HSE542,16.032234097 chr1,71842002,71842202,HSE525,13.177872984 chr1,76529679,76529879,HSE217,28.2285409421 chr1,77034610,77034811,HSE117,36.8686336226 chr1,77861083,77861283,HSE95,33.1051379887 chr1,81139876,81140076,HSE648,14.2447596506 chr1,84078697,84078897,HSE229,19.6626071807 chr1,85040012,85040217,HSE554,18.2435809591 chr1,85294189,85294389,HSE649,12.4198070103 chr1,86952858,86953058,HSE227,20.0246313683 chr1,87198821,87199021,HSE396,14.181885534 chr1,87568855,87569055,HSE187,27.2483801299 chr1,87718281,87718481,HSE761,10.7346086388 chr1,90228438,90228639,HSE725,10.8919859879 chr1,90567852,90568052,HSE750,11.3840777324 chr1,101544928,101545128,HSE344,15.9279633229 chr1,105180209,105180409,HSE319,15.9878097581 chr1,112056258,112056458,HSE234,20.4981560995 chr1,113265359,113265559,HSE675,15.7764663556 chr1,120009313,120009513,HSE287,17.3492427166 chr1,120096931,120097131,HSE391,16.3648875858 chr1,145474303,145474503,HSE568,15.9686715881 chr1,146037814,146038014,HSE867,8.3915764216 chr1,149294554,149294754,HSE758,13.8367903871 chr1,149298520,149298734,HSE549,19.9633772792 chr1,161893534,161893734,HSE511,14.2318525715 chr1,165509248,165509448,HSE683,13.7673640003 chr1,167774457,167774657,HSE42,47.5183173 chr1,170555465,170555665,HSE348,25.4137901578 chr1,171264616,171264816,HSE405,18.0971419626 chr1,182113250,182113450,HSE687,17.1842942374 chr1,182635108,182635309,HSE247,28.4610896172 chr1,183573285,183573486,HSE44,36.1099998528 chr1,183681289,183681489,HSE77,46.3313570709 chr1,190550474,190550674,HSE461,24.1417645601 chr1,192030096,192030296,HSE839,8.898236823 chr1,192602518,192602718,HSE747,12.1928710846 chr1,193387547,193387747,HSE251,22.6738118926 chr1,201469917,201470118,HSE286,21.167260695 chr1,205411096,205411296,HSE399,15.4863010561 chr1,207682168,207682368,HSE389,14.4420873863 chr1,208751067,208751267,HSE250,28.3356979117 chr1,211556044,211556244,HSE913,10.1071053671 chr1,215227649,215227849,HSE643,12.2289936805 chr1,222946396,222946596,HSE136,28.3288830309 chr1,224716721,224716921,HSE669,11.1939548835 chr1,224767352,224767552,HSE659,12.7072133153 chr1,229007236,229007436,HSE259,25.6576825275 chr1,231831560,231831760,HSE103,34.1933527171 chr1,234707634,234707834,HSE458,16.2547381587 chr1,240192775,240192976,HSE192,23.6438756614 chr1,240751207,240751408,HSE41,39.1665180557 chr1,242513807,242514007,HSE29,41.8646049022 chr1,243428176,243428376,HSE909,8.9768456445 chr1,245362206,245362406,HSE514,20.8510241208 chr1,245748622,245748822,HSE400,15.8809014188 chr1,245751245,245751445,HSE614,11.9977672181 chr10,1796728,1796928,HSE887,8.8759918247 chr10,2188344,2188544,HSE210,17.5664225697 chr10,2435771,2435971,HSE331,14.4636659658 chr10,3441348,3441548,HSE787,8.9210657436 chr10,4012461,4012661,HSE959,9.8681000165 chr10,4659880,4660080,HSE109,39.294649348 chr10,5734710,5734910,HSE80,39.253086776 chr10,5918486,5918686,HSE902,13.4688692863 chr10,11575356,11575556,HSE741,13.0848348743 chr10,13005187,13005387,HSE721,10.6222160126 chr10,14195913,14196113,HSE544,13.1977478994 chr10,14227600,14227810,HSE569,12.7906533757 chr10,14364637,14364837,HSE882,8.5664694124 chr10,17825468,17825668,HSE300,17.0051022824 chr10,22748482,22748683,HSE737,14.6364554664 chr10,25811340,25811541,HSE58,31.2099871039 chr10,30602601,30602801,HSE23,49.0758646578 chr10,31080176,31080376,HSE918,9.2503197227 chr10,33270658,33270858,HSE949,11.4436365263 chr10,33294606,33294809,HSE995,12.672352369 chr10,38534930,38535130,HSE430,15.2638491526 chr10,44435726,44435926,HSE655,14.2956522267 chr10,44729078,44729278,HSE392,17.4461418303 chr10,46168148,46168348,HSE152,37.019176366 chr10,47640802,47641002,HSE244,20.7338411549 chr10,52710256,52710456,HSE489,16.0012334733 chr10,64400190,64400390,HSE143,23.5037143277 chr10,71081718,71081918,HSE723,10.7476600785 chr10,71470586,71470786,HSE37,54.1450393752 chr10,71536580,71536780,HSE664,12.2052671593 chr10,72471766,72471966,HSE783,17.3113965123 chr10,73599983,73600183,HSE403,21.5414372314 chr10,75126686,75126888,HSE71,29.3819259713 chr10,79473783,79473983,HSE43,45.6987326408 chr10,83728971,83729171,HSE212,18.9337565568 chr10,87807719,87807919,HSE859,8.6435515636 chr10,87872095,87872295,HSE481,12.756492704 chr10,88160082,88160282,HSE845,11.0856156511 chr10,88600426,88600626,HSE424,15.9686715881 chr10,90683407,90683607,HSE476,14.8937152174 chr10,90686708,90686908,HSE479,15.6187716761 chr10,93044375,93044575,HSE777,9.7964029914 chr10,94521429,94521629,HSE151,31.5694945963 chr10,97443603,97443803,HSE419,12.9499575441 chr10,97620593,97620793,HSE886,12.518441498 chr10,97667629,97667829,HSE201,34.3491300983 chr10,99223587,99223788,HSE446,23.975955174 chr10,104629190,104629462,HSE784,14.8155161441 chr10,105527665,105527865,HSE467,20.6230257395 chr10,106258325,106258525,HSE665,10.9578861725 chr10,107102583,107102783,HSE216,19.2077151804 chr10,108788448,108788648,HSE699,10.646721976 chr10,108792229,108792429,HSE432,17.1288876915 chr10,109186134,109186334,HSE960,11.8900697742 chr10,115258601,115258801,HSE108,28.6223256015 chr10,120523320,120523520,HSE531,21.3827794751 chr10,121452806,121453006,HSE989,8.0812359893 chr10,123179381,123179581,HSE732,9.5557622755 chr10,124108496,124108696,HSE927,8.9214956882 chr10,129573104,129573305,HSE54,44.0543064465 chr11,353431,353635,HSE551,15.321918756 chr11,3181559,3181759,HSE793,14.7046892301 chr11,6947739,6947942,HSE92,27.9827053442 chr11,13157034,13157234,HSE241,21.0632306147 chr11,15139410,15139611,HSE456,12.2189043207 chr11,15910292,15910492,HSE724,13.7294254547 chr11,16795802,16796002,HSE799,12.802186876 chr11,17550965,17551165,HSE639,14.1086468033 chr11,17943304,17943504,HSE891,11.4856542942 chr11,21656183,21656383,HSE700,14.9043957142 chr11,21662095,21662295,HSE440,17.2950629632 chr11,21673343,21673543,HSE894,8.2797517913 chr11,23447019,23447219,HSE6,75.8807514012 chr11,24085949,24086149,HSE492,15.300706048 chr11,24275024,24275224,HSE651,11.4443945585 chr11,25505910,25506110,HSE186,21.8909002434 chr11,31021450,31021650,HSE877,9.1198497163 chr11,31706283,31706483,HSE74,40.630635226 chr11,33868837,33869038,HSE857,11.3116139483 chr11,35595495,35595695,HSE183,19.9118859606 chr11,38009596,38009796,HSE907,9.9148121335 chr11,39564123,39564323,HSE936,9.1935010973 chr11,41468242,41468442,HSE36,44.9449175171 chr11,42922737,42922937,HSE200,32.2091247664 chr11,44407611,44407811,HSE657,10.3471228352 chr11,44747886,44748086,HSE475,15.1102404858 chr11,44986217,44986417,HSE619,10.668936584 chr11,45047769,45047969,HSE851,10.1383014015 chr11,45111276,45111476,HSE866,10.220733306 chr11,45369052,45369252,HSE627,12.2239177674 chr11,48016992,48017192,HSE767,10.1950143759 chr11,49411924,49412124,HSE512,18.574232402 chr11,63859735,63859935,HSE770,14.6837739902 chr11,63865941,63866141,HSE184,35.4114322006 chr11,65244823,65245023,HSE265,23.3441037512 chr11,67784892,67785092,HSE824,9.8386696158 chr11,73249610,73249812,HSE762,9.9839312996 chr11,73694258,73694459,HSE176,22.3483349613 chr11,76842280,76842482,HSE919,11.0703469831 chr11,78306590,78306790,HSE113,25.2078122498 chr11,79767266,79767466,HSE69,30.2148994861 chr11,81284367,81284567,HSE695,9.8185385502 chr11,92228348,92228548,HSE539,20.2344657972 chr11,100340586,100340786,HSE388,15.4919091437 chr11,104561099,104561299,HSE812,15.176333042 chr11,108070756,108070956,HSE809,9.4991448266 chr11,111156211,111156411,HSE714,10.0243534212 chr11,115147624,115147824,HSE134,28.6194026789 chr11,115846389,115846603,HSE722,16.8886385104 chr11,117592848,117593048,HSE705,13.7637540477 chr11,120106662,120106862,HSE937,10.9173422723 chr11,123178915,123179115,HSE672,11.3022531999 chr11,124816687,124816887,HSE601,14.6082914089 chr11,125805553,125805756,HSE945,20.5577441884 chr11,126357947,126358147,HSE493,15.3602555927 chr11,126976167,126976367,HSE968,9.1843932734 chr11,128052898,128053098,HSE911,12.5881181856 chr11,129137803,129138003,HSE311,18.8031509882 chr11,131335724,131335924,HSE517,23.7420612884 chr11,131510396,131510597,HSE406,27.563239098 chr11,131526809,131527010,HSE398,14.0540782683 chr11,132029024,132029225,HSE232,18.1785539558 chr11,132863261,132863461,HSE792,9.4066623256 chr12,1619367,1619567,HSE271,19.5724460831 chr12,2393824,2394024,HSE153,38.5409899219 chr12,4310999,4311199,HSE612,13.3477965884 chr12,4715838,4716038,HSE124,22.969040262 chr12,5977983,5978183,HSE981,8.9923072646 chr12,6649669,6649869,HSE666,18.8465977854 chr12,8983842,8984042,HSE206,21.6055505061 chr12,10253851,10254051,HSE850,13.368224383 chr12,12009176,12009379,HSE996,8.2025875972 chr12,14088837,14089037,HSE361,16.6852824277 chr12,15118302,15118502,HSE158,36.7485762947 chr12,15186700,15186902,HSE472,17.2685676671 chr12,15283754,15283954,HSE862,11.6244209976 chr12,16064197,16064397,HSE796,18.7455509923 chr12,23364365,23364565,HSE716,12.767223137 chr12,29608107,29608307,HSE84,29.4815974061 chr12,30672107,30672307,HSE459,16.6113321667 chr12,31079386,31079586,HSE928,15.5521683508 chr12,31233235,31233435,HSE817,14.0452336182 chr12,32029945,32030149,HSE3,134.4896822737 chr12,32418004,32418204,HSE443,14.9171957071 chr12,32715083,32715283,HSE566,11.7700863315 chr12,41442900,41443100,HSE448,15.8907964207 chr12,44547984,44548184,HSE595,19.5258881951 chr12,47299063,47299263,HSE710,17.9511083583 chr12,51318352,51318553,HSE278,38.5126987285 chr12,51714654,51714854,HSE105,36.1187300648 chr12,60334522,60334722,HSE296,18.4243312773 chr12,64388551,64388751,HSE411,16.4173206854 chr12,64960555,64960755,HSE893,11.4399085223 chr12,65100062,65100262,HSE677,12.0906755698 chr12,67180805,67181005,HSE302,18.0232362712 chr12,67820036,67820236,HSE693,28.0050105025 chr12,67824724,67824924,HSE562,19.9790499282 chr12,70590594,70590798,HSE938,10.4065399522 chr12,72665258,72665458,HSE870,9.4908568562 chr12,72843735,72843935,HSE352,14.6912721831 chr12,72903763,72903963,HSE622,12.4776159762 chr12,76258547,76258747,HSE366,15.4992304899 chr12,81139497,81139697,HSE263,19.1724365769 chr12,83358298,83358498,HSE956,10.9748220911 chr12,88826891,88827091,HSE470,14.4491790975 chr12,93693111,93693311,HSE337,17.5773205057 chr12,93793026,93793226,HSE231,36.7866454534 chr12,93964730,93964930,HSE701,14.9318726929 chr12,94680437,94680638,HSE800,10.1294106105 chr12,95448207,95448407,HSE85,41.328100082 chr12,98833530,98833731,HSE572,21.9773288843 chr12,102047388,102047588,HSE177,36.6536035992 chr12,105121890,105122090,HSE733,12.9059778339 chr12,106581316,106581516,HSE974,11.9119885347 chr12,108780634,108780834,HSE195,21.1967998006 chr12,110145174,110145374,HSE326,19.9633772792 chr12,110147281,110147481,HSE269,19.4570397688 chr12,116307853,116308063,HSE340,22.419418574 chr12,117846190,117846392,HSE393,15.5403001234 chr12,117850284,117850484,HSE557,16.5566891443 chr12,123543660,123543860,HSE861,10.4781563732 chr12,128314695,128314895,HSE528,13.3821736799 chr12,128455126,128455326,HSE906,9.3701763362 chr12,131041357,131041557,HSE827,8.9137558728 chr12,131261218,131261419,HSE39,40.7349907933 chr12,131596799,131596999,HSE61,38.7314139499 chr12,131622505,131622705,HSE735,9.6402688286 chr12,133175461,133175661,HSE560,17.0748830696 chr13,21347729,21347929,HSE450,18.700409108 chr13,24148647,24148847,HSE923,12.1565857536 chr13,29459319,29459519,HSE4,83.6939521234 chr13,29464970,29465170,HSE235,21.5042630726 chr13,33536518,33536718,HSE484,11.9616526488 chr13,36045055,36045255,HSE466,15.1339680818 chr13,37089667,37089867,HSE53,34.1508321281 chr13,38195831,38196031,HSE63,29.4908349793 chr13,47090817,47091017,HSE240,20.9194834678 chr13,47169753,47169953,HSE795,10.6129192636 chr13,48685195,48685395,HSE383,17.4161328951 chr13,52195812,52196012,HSE804,33.9458114683 chr13,52928037,52928237,HSE971,10.2210243551 chr13,58387875,58388075,HSE898,9.7709738074 chr13,63964002,63964202,HSE155,21.8968073472 chr13,63982654,63982855,HSE755,10.6894623919 chr13,66918963,66919163,HSE942,8.137382847 chr13,78382044,78382244,HSE709,13.2425052878 chr13,79968085,79968285,HSE207,19.0520301367 chr13,81969573,81969773,HSE464,17.1316537183 chr13,88325009,88325225,HSE169,22.404724465 chr13,94551722,94551922,HSE47,39.9300964523 chr13,96720972,96721172,HSE242,17.6289298545 chr13,99193496,99193696,HSE775,11.8286452332 chr13,102857806,102858006,HSE175,26.1349566103 chr13,103659347,103659547,HSE879,9.4672756235 chr13,106860061,106860261,HSE523,15.2219187287 chr13,107025740,107025940,HSE545,22.9167462321 chr13,107144094,107144294,HSE826,10.0932827937 chr13,111223922,111224122,HSE55,37.6150776113 chr14,21439340,21439545,HSE697,14.9749639521 chr14,24505425,24505632,HSE598,21.3172605404 chr14,25814644,25814844,HSE884,8.4198607932 chr14,26543395,26543598,HSE239,19.7243319678 chr14,31281660,31281860,HSE64,42.0539122341 chr14,33531812,33532012,HSE374,13.6641312978 chr14,59129293,59129493,HSE803,12.357054467 chr14,59386085,59386285,HSE932,9.6556661977 chr14,61083031,61083231,HSE780,12.1130184536 chr14,65539073,65539273,HSE324,18.8187496116 chr14,76804206,76804406,HSE129,28.6611225834 chr14,81636859,81637059,HSE65,73.8674420954 chr14,81790696,81790896,HSE209,42.4669581462 chr14,91091974,91092174,HSE480,17.813206233 chr14,91716580,91716780,HSE469,17.2797598596 chr14,93949158,93949358,HSE746,9.1621125053 chr14,95071723,95071923,HSE924,8.9302006066 chr14,102783279,102783479,HSE816,24.4849615987 chr14,105147964,105148164,HSE939,11.1238681848 chr15,27524028,27524228,HSE431,15.0234209239 chr15,28817788,28817988,HSE191,21.3327480149 chr15,29247425,29247625,HSE279,18.2157833949 chr15,30182592,30182792,HSE840,10.1016943223 chr15,31792516,31792716,HSE429,15.2456002355 chr15,33752266,33752466,HSE806,7.7973232785 chr15,33958947,33959147,HSE650,11.2642323912 chr15,39474262,39474462,HSE703,12.786143498 chr15,52554008,52554208,HSE832,10.0325076389 chr15,54967526,54967726,HSE230,24.1378839612 chr15,55510355,55510555,HSE339,18.1931930527 chr15,61269359,61269560,HSE1,89.2659435972 chr15,61979890,61980090,HSE922,8.1022018494 chr15,62752114,62752314,HSE611,14.5613676786 chr15,62917755,62917955,HSE305,28.6662298913 chr15,68723591,68723791,HSE462,23.2304619822 chr15,69830362,69830562,HSE757,10.8328824475 chr15,72203345,72203545,HSE147,31.2986371967 chr15,74076783,74076983,HSE771,12.0826546194 chr15,74596170,74596370,HSE993,12.6758156277 chr15,74641836,74642036,HSE221,25.8164928998 chr15,75523071,75523271,HSE874,9.5089830845 chr15,80478573,80478773,HSE211,20.487080964 chr15,80828906,80829107,HSE277,17.6534731911 chr15,81616460,81616661,HSE101,37.8792330626 chr15,81861640,81861840,HSE987,12.411938064 chr15,81868202,81868403,HSE587,14.0269438152 chr15,82201705,82201905,HSE376,27.8796005059 chr15,86374626,86374826,HSE588,14.9950787059 chr15,88418444,88418645,HSE580,12.4183759864 chr15,88670015,88670215,HSE521,11.1843930949 chr15,92692436,92692637,HSE26,72.0593711439 chr15,98775365,98775565,HSE381,14.9440294085 chr15,102501629,102501829,HSE592,17.8647492194 chr16,626697,626897,HSE208,23.3415017382 chr16,970811,971011,HSE408,18.879805744 chr16,3137379,3137579,HSE656,13.1191220261 chr16,11114848,11115048,HSE998,11.8718870193 chr16,11173789,11173989,HSE128,39.6118207734 chr16,19756698,19756898,HSE349,18.1890890859 chr16,22776292,22776492,HSE631,10.2281468082 chr16,23037379,23037579,HSE661,11.5338091882 chr16,24508521,24508721,HSE731,10.9292976321 chr16,27323049,27323272,HSE62,34.6319360162 chr16,30204374,30204574,HSE426,34.9445834473 chr16,31885117,31885317,HSE805,17.0726534038 chr16,48565689,48565889,HSE914,14.4461848582 chr16,52484957,52485157,HSE999,9.9367824367 chr16,56581581,56581781,HSE386,14.3620121795 chr16,59736519,59736719,HSE342,19.0406902327 chr16,66545956,66546156,HSE905,9.2931748668 chr16,68484705,68484905,HSE218,20.7512770405 chr16,68507748,68507957,HSE548,18.0413570871 chr16,73322142,73322343,HSE702,12.5680470461 chr16,78355884,78356084,HSE303,20.3741349926 chr16,89307265,89307465,HSE18,70.9382862202 chr16,89679724,89679939,HSE578,17.1619789211 chr16,89988292,89988493,HSE347,20.0128724894 chr17,999331,999532,HSE482,15.5034626446 chr17,5579439,5579642,HSE48,43.9178228518 chr17,6111243,6111443,HSE198,30.4698391934 chr17,8279924,8280124,HSE45,65.9896646322 chr17,8759325,8759525,HSE422,15.0545562099 chr17,9340019,9340219,HSE948,9.8219471135 chr17,11166409,11166610,HSE122,22.963059202 chr17,12830908,12831108,HSE145,27.0976894901 chr17,13298874,13299074,HSE156,34.5395597863 chr17,17002215,17002415,HSE654,16.2936251743 chr17,17302370,17302570,HSE372,29.9282249338 chr17,21030152,21030352,HSE903,14.116644535 chr17,21367528,21367728,HSE833,9.7516907593 chr17,30088186,30088386,HSE678,13.3589311568 chr17,33774498,33774698,HSE818,9.4607428819 chr17,34541456,34541656,HSE553,11.9696962671 chr17,42385237,42385437,HSE149,30.3729032338 chr17,43419034,43419235,HSE437,27.2450803684 chr17,45681996,45682196,HSE438,15.031012053 chr17,49008988,49009188,HSE538,15.8789561003 chr17,49433023,49433224,HSE11,58.5889197596 chr17,49687897,49688097,HSE413,16.1529684506 chr17,49807832,49808032,HSE2,84.3204244342 chr17,50624462,50624662,HSE20,42.9975194309 chr17,50767466,50767666,HSE258,24.1676282047 chr17,53412056,53412256,HSE243,26.149501739 chr17,53828393,53828601,HSE617,14.5154098498 chr17,55785272,55785472,HSE892,10.3430074886 chr17,57998741,57998941,HSE978,10.1861279752 chr17,59327373,59327573,HSE774,9.3428992552 chr17,59589126,59589326,HSE529,18.5934605421 chr17,62254441,62254641,HSE133,33.7747197413 chr17,64370576,64370776,HSE964,7.825535696 chr17,72113540,72113740,HSE607,21.5911019025 chr17,72967433,72967633,HSE377,16.2493907656 chr17,73966346,73966547,HSE881,9.5338664732 chr17,75125788,75125988,HSE407,21.4349393235 chr17,75279445,75279646,HSE527,11.5655867334 chr17,79050003,79050203,HSE445,15.299617834 chr17,80189664,80189864,HSE957,8.575676987 chr18,2847905,2848105,HSE680,16.1823388257 chr18,3297314,3297514,HSE51,55.4969408846 chr18,4107882,4108082,HSE756,10.6509843928 chr18,4455211,4455413,HSE173,26.658560462 chr18,5960317,5960517,HSE404,17.5337872123 chr18,6610590,6610790,HSE5,67.4765594962 chr18,6878970,6879170,HSE21,114.4591803017 chr18,6941554,6941754,HSE925,8.8831899962 chr18,8067140,8067340,HSE515,15.8060479397 chr18,8982773,8982973,HSE674,10.8336659886 chr18,8991089,8991289,HSE871,9.2212572719 chr18,11092726,11092926,HSE603,14.5685707705 chr18,20949254,20949454,HSE940,10.1089249342 chr18,22006557,22006757,HSE575,21.5810391792 chr18,24341571,24341772,HSE865,12.220860758 chr18,30186665,30186865,HSE96,29.1942230497 chr18,33597390,33597591,HSE935,14.2979081707 chr18,38116709,38116909,HSE94,27.5166517092 chr18,38614509,38614709,HSE516,22.9528532124 chr18,41456364,41456564,HSE483,22.2977384345 chr18,43802028,43802228,HSE508,12.8490635247 chr18,46386532,46386733,HSE676,14.0371357841 chr18,47441756,47441956,HSE282,17.402175324 chr18,48344045,48344245,HSE640,26.5533837237 chr18,57865414,57865614,HSE637,12.1799986999 chr18,60810573,60810773,HSE712,10.7941794086 chr18,66106367,66106567,HSE78,34.0539230971 chr18,67067626,67067826,HSE748,20.3756153543 chr18,67206189,67206389,HSE707,14.8194102675 chr18,77862401,77862601,HSE778,8.9773592552 chr19,1855466,1855666,HSE615,21.0205633353 chr19,7864445,7864654,HSE420,22.2334775436 chr19,7936518,7936718,HSE1000,9.890269251 chr19,14134468,14134668,HSE552,19.247739132 chr19,16568459,16568659,HSE690,12.8248560895 chr19,22053766,22053966,HSE325,15.1569835215 chr19,28284760,28284962,HSE35,44.2571129827 chr19,28609278,28609478,HSE262,25.334253518 chr19,28660492,28660692,HSE644,23.3221045263 chr19,30811887,30812087,HSE120,27.7702458019 chr19,35800455,35800659,HSE498,13.5519561083 chr19,36792015,36792215,HSE953,7.5220582555 chr19,39122462,39122662,HSE582,17.8131880246 chr19,39167150,39167350,HSE395,15.4118441749 chr19,42905988,42906189,HSE934,12.7825653114 chr19,43059635,43059838,HSE535,11.755421727 chr19,44711537,44711737,HSE798,18.193542685 chr19,50175593,50175793,HSE781,13.7950661987 chr19,51289242,51289442,HSE917,9.3858171773 chr19,51900838,51901038,HSE453,18.6017463436 chr19,53039209,53039409,HSE463,19.5962420571 chr2,4564065,4564265,HSE689,11.0832062757 chr2,9136176,9136376,HSE166,25.108740724 chr2,11761490,11761690,HSE955,9.1404770745 chr2,14359777,14359977,HSE729,9.1222131108 chr2,15208167,15208367,HSE751,11.003441743 chr2,17699479,17699679,HSE759,12.4462128012 chr2,17721672,17721872,HSE742,14.1970571736 chr2,20024086,20024286,HSE83,28.7067393754 chr2,23725997,23726197,HSE449,24.6822465458 chr2,25752130,25752330,HSE346,16.6877757619 chr2,29434845,29435045,HSE841,9.2654187933 chr2,29840944,29841144,HSE785,11.1516309255 chr2,33308933,33309133,HSE810,10.6180361689 chr2,40274443,40274643,HSE543,16.5775325601 chr2,40277040,40277240,HSE901,17.7522146515 chr2,43020786,43020986,HSE536,13.7021711702 chr2,43525771,43525971,HSE140,23.6931498342 chr2,45907824,45908024,HSE790,12.332179446 chr2,49482822,49483023,HSE764,11.6109483119 chr2,49776850,49777050,HSE382,20.4425087695 chr2,49829759,49829959,HSE559,13.8791198577 chr2,50199950,50200150,HSE306,21.1830037687 chr2,50522255,50522455,HSE294,20.4771502209 chr2,50573272,50573472,HSE520,11.3849059039 chr2,53710769,53710969,HSE673,11.4462899835 chr2,54846090,54846291,HSE652,12.3643734532 chr2,55381344,55381548,HSE333,16.5384641969 chr2,55649064,55649265,HSE161,26.4627203219 chr2,65290575,65290775,HSE860,14.2637154595 chr2,65615621,65615821,HSE811,10.640516431 chr2,68546802,68547002,HSE585,12.806795592 chr2,72975882,72976082,HSE506,11.8250162965 chr2,74234353,74234554,HSE447,19.3111885875 chr2,76692583,76692783,HSE308,24.5495576527 chr2,84914260,84914460,HSE273,18.7931730309 chr2,85289844,85290044,HSE490,17.6255300394 chr2,85378807,85379007,HSE442,18.4954416724 chr2,87051461,87051665,HSE139,28.4199186304 chr2,87064810,87065010,HSE708,10.458886264 chr2,87067122,87067449,HSE379,30.0280259634 chr2,87069310,87069510,HSE885,16.1725172352 chr2,88316314,88316515,HSE214,34.3179189629 chr2,88414573,88414773,HSE220,18.6297613359 chr2,89034794,89034994,HSE641,10.882267071 chr2,91750589,91750877,HSE327,20.2352669039 chr2,91762380,91762580,HSE468,12.6786942321 chr2,97019268,97019468,HSE786,8.3601047373 chr2,98758986,98759186,HSE679,16.1171102076 chr2,100697871,100698071,HSE706,13.479967802 chr2,100699949,100700149,HSE163,38.236433871 chr2,104094111,104094311,HSE59,33.1831421211 chr2,106095656,106095858,HSE390,15.6220351252 chr2,106554244,106554444,HSE497,18.2333367245 chr2,109968022,109968222,HSE763,10.4860988331 chr2,110515113,110515315,HSE19,48.1747064465 chr2,110806206,110806406,HSE977,8.2999349047 chr2,111400651,111400851,HSE808,9.0427754883 chr2,112020360,112020560,HSE444,14.0773788267 chr2,112221956,112222156,HSE720,15.6782160603 chr2,114395544,114395744,HSE67,33.2899481068 chr2,119068189,119068389,HSE104,27.8409422337 chr2,119071047,119071247,HSE25,58.9652879287 chr2,121088717,121088917,HSE726,14.2115751447 chr2,122336997,122337197,HSE249,20.8047512788 chr2,124279519,124279719,HSE495,11.9685617057 chr2,124730178,124730378,HSE30,48.1797064921 chr2,131094775,131094975,HSE988,12.5951506631 chr2,131484996,131485196,HSE76,33.2819734412 chr2,133300942,133301142,HSE997,7.8669044953 chr2,134090771,134090971,HSE180,24.5244184665 chr2,137008268,137008468,HSE307,16.6788740279 chr2,137015528,137015728,HSE947,7.5774875118 chr2,142934541,142934741,HSE345,21.8622427277 chr2,150036853,150037053,HSE807,12.9999546517 chr2,165778793,165778993,HSE358,17.0239953486 chr2,177391858,177392058,HSE260,19.1403997668 chr2,182327537,182327737,HSE681,17.5160573028 chr2,182393251,182393451,HSE40,38.4626716079 chr2,194117851,194118051,HSE321,18.0633419546 chr2,202563650,202563850,HSE626,12.3289416007 chr2,202741843,202742043,HSE359,20.9626551138 chr2,207294294,207294494,HSE670,11.1162813392 chr2,210363875,210364075,HSE734,12.3968615154 chr2,216306316,216306516,HSE868,14.1928417965 chr2,217522315,217522515,HSE293,35.0627763697 chr2,218641534,218641734,HSE82,37.7257060365 chr2,225243534,225243734,HSE416,20.099420911 chr2,229706577,229706777,HSE943,10.1343101996 chr2,231797519,231797723,HSE719,12.2696761634 chr2,232478862,232479063,HSE856,8.5861916221 chr2,236011384,236011584,HSE496,11.7277379839 chr2,238512362,238512563,HSE608,13.5849351928 chr2,240078429,240078629,HSE174,24.7169603423 chr2,241308943,241309143,HSE590,12.5097816417 chr2,241406758,241406958,HSE727,15.8620577497 chr20,1791874,1792074,HSE487,14.0309392186 chr20,1864025,1864225,HSE950,9.0977150918 chr20,1871245,1871445,HSE16,56.7490572952 chr20,2012791,2012991,HSE87,31.037092624 chr20,3629754,3629958,HSE215,20.9130441286 chr20,3660554,3660754,HSE193,24.974343769 chr20,4063903,4064104,HSE111,56.1553976804 chr20,14705232,14705432,HSE33,47.5410662718 chr20,16719908,16720108,HSE270,16.3543605271 chr20,32774062,32774262,HSE309,18.1246253801 chr20,34463418,34463619,HSE367,15.2757490918 chr20,34681486,34681692,HSE753,9.3728031841 chr20,34961484,34961684,HSE355,27.5542266393 chr20,36875508,36875708,HSE12,88.6429013544 chr20,39492043,39492243,HSE616,13.836833653 chr20,39504403,39504603,HSE791,11.0391746143 chr20,39522366,39522566,HSE522,15.4476576681 chr20,41278899,41279099,HSE130,24.1052112576 chr20,41281047,41281248,HSE138,25.1054094538 chr20,43678567,43678767,HSE118,27.5802502403 chr20,47354941,47355141,HSE829,10.0084428 chr20,48196544,48196744,HSE13,62.2017999936 chr20,48391843,48392070,HSE343,17.2886280147 chr20,48451672,48451872,HSE658,15.2435487162 chr20,57999712,57999912,HSE593,11.851459255 chr20,58010717,58010917,HSE888,8.4178547638 chr20,58028998,58029198,HSE589,11.8594187455 chr20,62892549,62892749,HSE22,49.3467939523 chr21,18183390,18183590,HSE846,12.0921264014 chr21,25470304,25470504,HSE848,9.043990116 chr21,29314093,29314293,HSE540,11.1333587451 chr21,29522195,29522395,HSE90,42.5669364456 chr21,30279211,30279411,HSE802,8.9817364292 chr21,31599287,31599487,HSE255,25.8534564105 chr21,34305184,34305384,HSE75,34.8701267573 chr21,40357115,40357316,HSE931,14.2521728213 chr21,40369917,40370117,HSE596,13.6512982833 chr21,42458559,42458759,HSE941,7.986093663 chr21,42461230,42461430,HSE46,32.6233218231 chr21,45610526,45610726,HSE373,19.1339980285 chr22,18647319,18647519,HSE600,15.4170005372 chr22,21387111,21387311,HSE465,16.7936897957 chr22,25800344,25800546,HSE855,15.133649847 chr22,27530972,27531172,HSE91,32.8296818218 chr22,27613121,27613321,HSE878,9.9026827262 chr22,30938555,30938755,HSE991,12.3953908195 chr22,37608742,37608942,HSE199,25.5079108823 chr22,38213774,38213975,HSE336,29.8698643259 chr22,38875187,38875387,HSE31,75.0968010157 chr22,45034999,45035200,HSE944,11.0058314418 chr22,47560535,47560735,HSE820,9.6159416626 chr22,49263785,49263985,HSE123,27.4756435262 chr3,1033708,1033908,HSE547,11.8167271684 chr3,4648618,4648819,HSE594,13.1354478948 chr3,6170925,6171125,HSE274,19.6422205175 chr3,9861617,9861817,HSE561,16.1351899583 chr3,20581162,20581362,HSE88,84.6550501758 chr3,22766006,22766206,HSE926,7.4746803691 chr3,25039886,25040088,HSE745,12.5677664568 chr3,32452491,32452691,HSE958,8.8781271039 chr3,34337067,34337267,HSE238,23.4517631822 chr3,44106796,44106996,HSE645,14.6078435944 chr3,45454944,45455144,HSE213,19.0172183728 chr3,50468482,50468682,HSE70,32.3982070336 chr3,50553584,50553784,HSE409,31.7674822371 chr3,50759518,50759718,HSE556,12.7286106999 chr3,51312927,51313129,HSE179,22.7291813917 chr3,54024155,54024359,HSE606,12.4118581011 chr3,55583333,55583544,HSE895,20.4730234134 chr3,57432272,57432472,HSE170,23.9015532829 chr3,57731978,57732178,HSE979,13.0317416952 chr3,58143711,58143912,HSE488,21.4279391783 chr3,59117232,59117432,HSE310,21.6692936097 chr3,59537533,59537733,HSE831,10.4335147498 chr3,60313490,60313690,HSE797,11.4508642018 chr3,60739661,60739861,HSE222,37.1649368806 chr3,61899965,61900165,HSE972,9.9582764633 chr3,62859461,62859661,HSE671,12.0850192866 chr3,62874394,62874594,HSE454,12.2791253714 chr3,63748080,63748280,HSE387,14.5767368616 chr3,74103231,74103431,HSE633,15.5075880796 chr3,85652655,85652855,HSE203,18.8184809601 chr3,97829189,97829389,HSE776,9.1102578423 chr3,103166013,103166213,HSE896,9.9523912683 chr3,105602785,105602985,HSE433,40.5785957197 chr3,107148262,107148462,HSE261,18.4043131499 chr3,109288204,109288404,HSE356,14.9310679943 chr3,111197315,111197518,HSE370,15.859503117 chr3,112219616,112219816,HSE368,15.0704271372 chr3,123405019,123405220,HSE115,27.2314354098 chr3,124880427,124880628,HSE579,14.8608441809 chr3,127740739,127740949,HSE314,26.0837216172 chr3,128256027,128256227,HSE630,13.9854481485 chr3,132829089,132829289,HSE474,15.9443427668 chr3,133123857,133124057,HSE471,13.3464634396 chr3,136537878,136538084,HSE505,14.6728277902 chr3,136915437,136915640,HSE584,13.4830219375 chr3,136922639,136922839,HSE304,16.1133399857 chr3,143048781,143048981,HSE663,12.6197529914 chr3,145155998,145156198,HSE963,7.937403129 chr3,150102651,150102851,HSE441,27.9319328699 chr3,152314041,152314241,HSE863,9.389594265 chr3,152446287,152446487,HSE202,21.6487393195 chr3,152497432,152497632,HSE782,15.2232552726 chr3,153501047,153501247,HSE973,8.9058148252 chr3,156106412,156106612,HSE298,17.4725292847 chr3,156467111,156467311,HSE984,12.8714197176 chr3,159583162,159583362,HSE245,24.3670741479 chr3,167647788,167647988,HSE162,23.142026511 chr3,167754605,167754805,HSE157,25.5019260862 chr3,168309609,168309809,HSE985,8.3878224111 chr3,170459966,170460166,HSE299,23.2572944826 chr3,171083365,171083565,HSE329,19.6170760846 chr3,171622769,171622969,HSE141,35.5269780554 chr3,173303292,173303492,HSE635,12.8762248581 chr3,173340053,173340253,HSE910,13.8353115715 chr3,175722586,175722786,HSE154,26.1510590855 chr3,177471354,177471554,HSE332,24.5244184665 chr3,184084866,184085066,HSE428,17.9640764471 chr3,192869895,192870095,HSE246,22.5875292012 chr3,194592300,194592501,HSE362,36.8838467218 chr3,196346498,196346699,HSE280,19.4679975855 chr3,197199171,197199371,HSE876,13.6753444396 chr4,1209278,1209519,HSE564,13.9004104602 chr4,1682431,1682632,HSE233,22.8144061287 chr4,2673293,2673493,HSE435,15.7039657822 chr4,5205616,5205843,HSE875,9.1366703212 chr4,5774976,5775176,HSE248,21.1824928836 chr4,7153027,7153227,HSE983,9.7283332501 chr4,7158073,7158273,HSE164,31.8768175016 chr4,7987860,7988060,HSE685,14.8308227861 chr4,8317712,8317912,HSE912,11.2750910314 chr4,10298688,10298888,HSE7,56.3001544011 chr4,10307533,10307733,HSE478,12.8133414228 chr4,10410626,10410826,HSE197,21.3709305662 chr4,16325714,16325914,HSE351,19.7714522278 chr4,16843354,16843554,HSE872,11.1479071197 chr4,17189915,17190115,HSE794,12.4374877889 chr4,17399671,17399871,HSE698,12.9259482624 chr4,18421836,18422036,HSE418,18.6650288814 chr4,20654001,20654201,HSE842,9.8868805638 chr4,35935735,35935935,HSE864,11.6965490821 chr4,37141687,37141887,HSE384,14.5996824189 chr4,37189108,37189308,HSE188,35.9761823699 chr4,38192503,38192704,HSE513,20.6670228424 chr4,41059770,41059970,HSE550,14.2940364222 chr4,41146900,41147100,HSE920,10.9173925032 chr4,42598985,42599185,HSE834,12.2213134666 chr4,43551753,43551953,HSE613,10.9664468122 chr4,52918093,52918293,HSE813,10.8199181309 chr4,67296659,67296859,HSE330,17.1184863176 chr4,68783414,68783614,HSE194,27.8865779207 chr4,73531199,73531399,HSE485,16.0641880211 chr4,79442149,79442349,HSE254,31.3053467034 chr4,96027806,96028006,HSE60,38.0420908281 chr4,98417455,98417655,HSE773,12.7094671878 chr4,102826820,102827020,HSE954,9.8953082642 chr4,108956348,108956548,HSE196,28.1854857987 chr4,109035842,109036042,HSE574,15.4815826792 chr4,109331833,109332033,HSE880,8.5800439974 chr4,112855557,112855758,HSE873,8.9177752517 chr4,113045048,113045248,HSE718,12.9338359083 chr4,115673675,115673875,HSE908,9.0213984225 chr4,126033815,126034015,HSE266,27.8144026005 chr4,126926133,126926333,HSE624,13.8939469933 chr4,134018135,134018335,HSE591,13.1426859966 chr4,135498284,135498484,HSE289,16.9047451361 chr4,139144837,139145037,HSE858,11.0683425726 chr4,142822079,142822279,HSE291,16.8719939446 chr4,143883214,143883420,HSE125,23.7564028153 chr4,155022297,155022497,HSE486,24.4008504204 chr4,155876015,155876219,HSE567,14.3792053309 chr4,156523530,156523730,HSE335,17.9101352191 chr4,163926681,163926881,HSE583,13.7123935 chr4,165404029,165404229,HSE965,10.3169505717 chr4,171168842,171169042,HSE500,12.3708601884 chr4,176356648,176356848,HSE586,12.5175850781 chr4,181756449,181756649,HSE116,25.0123586931 chr4,185517517,185517717,HSE768,10.7243756024 chr4,186037200,186037400,HSE849,9.15728802 chr4,187112549,187112749,HSE73,29.6147089784 chr4,188809131,188809331,HSE127,26.3736706202 chr5,9015815,9016015,HSE754,10.9860464939 chr5,9140785,9140986,HSE34,39.8342153912 chr5,9284766,9284966,HSE159,44.8345695381 chr5,9423793,9423993,HSE397,23.9014518508 chr5,9544694,9544894,HSE976,18.4787378901 chr5,13572514,13572715,HSE970,7.981996643 chr5,14844977,14845178,HSE623,11.8533435499 chr5,26843843,26844043,HSE609,10.9929164023 chr5,35374800,35375000,HSE992,11.2155834064 chr5,36059728,36059928,HSE743,9.7015183684 chr5,38011944,38012144,HSE182,23.9400859933 chr5,39421419,39421619,HSE825,14.5866459668 chr5,39533959,39534159,HSE760,9.9360929783 chr5,43066506,43066706,HSE288,64.294192312 chr5,50917138,50917340,HSE313,22.7435698695 chr5,51008092,51008292,HSE766,10.2876577874 chr5,58130163,58130363,HSE686,14.7084178919 chr5,68296916,68297116,HSE57,43.9761647554 chr5,70529394,70529594,HSE292,16.3167607327 chr5,73557824,73558024,HSE283,26.1537486394 chr5,81951100,81951300,HSE838,11.1124928906 chr5,82305319,82305520,HSE256,21.9987593589 chr5,93459233,93459433,HSE79,88.077239222 chr5,96180256,96180457,HSE112,28.97133338 chr5,98859253,98859453,HSE457,16.1598314579 chr5,102729064,102729264,HSE89,35.4121997783 chr5,107225179,107225379,HSE752,12.8723311418 chr5,108006706,108006906,HSE167,20.5736395644 chr5,112562162,112562362,HSE146,28.4736858728 chr5,115731439,115731639,HSE662,14.441740722 chr5,115870785,115870985,HSE889,11.1682472441 chr5,121403180,121403380,HSE738,10.4404525204 chr5,123709637,123709837,HSE385,34.5371219842 chr5,124534387,124534587,HSE189,41.4113583783 chr5,126015956,126016156,HSE350,48.9260098909 chr5,130651056,130651256,HSE353,19.9406119279 chr5,131054387,131054588,HSE275,16.8672736168 chr5,138872592,138872792,HSE97,33.7294648775 chr5,139113346,139113546,HSE499,24.5461507056 chr5,139503491,139503691,HSE135,22.5832471238 chr5,140365894,140366094,HSE477,22.7804027056 chr5,152496425,152496625,HSE297,23.9517433229 chr5,153157431,153157632,HSE994,7.2712465887 chr5,154985156,154985356,HSE27,47.3698229496 chr5,156798061,156798261,HSE421,18.0953061141 chr5,159614141,159614341,HSE504,16.644367563 chr5,169678151,169678351,HSE205,23.5872306039 chr5,169969996,169970196,HSE252,26.7061548422 chr5,170556363,170556585,HSE81,53.3489093817 chr5,170880119,170880319,HSE533,21.0213665516 chr5,176794222,176794423,HSE599,23.2425155735 chr5,177712082,177712283,HSE921,9.6878527385 chr6,1720956,1721156,HSE961,13.9546110024 chr6,2908962,2909162,HSE900,9.4385437272 chr6,3624882,3625082,HSE49,38.6547390654 chr6,6477697,6477897,HSE425,14.0308308131 chr6,6927996,6928198,HSE573,13.2644125542 chr6,7261536,7261736,HSE899,20.57594766 chr6,8857485,8857685,HSE226,19.7424552164 chr6,11764188,11764388,HSE423,13.6453117051 chr6,12657164,12657364,HSE541,24.5587040398 chr6,13069178,13069378,HSE148,25.4358868167 chr6,13071666,13071866,HSE328,21.7306804565 chr6,13440803,13441003,HSE854,11.7878221637 chr6,13605303,13605503,HSE439,16.0336294076 chr6,15357986,15358186,HSE772,12.1002596677 chr6,15953729,15953929,HSE223,22.2692616975 chr6,20879847,20880047,HSE789,11.3511396601 chr6,22074016,22074216,HSE830,17.8828299952 chr6,22223835,22224035,HSE847,11.3189534245 chr6,22754318,22754518,HSE765,10.933963726 chr6,24191674,24191874,HSE17,64.4494432065 chr6,24355724,24355924,HSE822,12.2330307591 chr6,24684045,24684245,HSE68,40.6121039818 chr6,24908692,24908892,HSE52,36.3357402285 chr6,24981608,24981808,HSE460,14.7455299562 chr6,26866614,26866814,HSE316,17.4817827982 chr6,26987817,26988017,HSE301,17.0996119934 chr6,28953271,28953471,HSE532,18.2243327433 chr6,30163047,30163247,HSE668,9.9208283821 chr6,32862428,32862628,HSE883,10.9304672886 chr6,33048550,33048750,HSE100,28.3569655356 chr6,37190063,37190263,HSE225,25.1598854782 chr6,37752532,37752732,HSE190,21.4887428904 chr6,37839872,37840072,HSE692,15.9827010242 chr6,42104428,42104628,HSE107,67.5217188687 chr6,42125896,42126096,HSE836,11.8802206566 chr6,48152098,48152298,HSE317,16.53498743 chr6,48440896,48441096,HSE410,20.2304692131 chr6,48531624,48531824,HSE14,56.1553976804 chr6,48595126,48595327,HSE8,86.3398854446 chr6,57207153,57207353,HSE779,15.3463418546 chr6,58265076,58265285,HSE632,13.3681109557 chr6,68599806,68600006,HSE526,12.8237395122 chr6,71584109,71584310,HSE114,27.0742020553 chr6,77915769,77915969,HSE236,16.9378739354 chr6,87169783,87169984,HSE546,11.573392587 chr6,89894075,89894277,HSE647,13.1942619616 chr6,90904900,90905100,HSE491,25.8304194594 chr6,92350596,92350796,HSE653,17.364572389 chr6,101840815,101841015,HSE131,28.2436702832 chr6,105240470,105240670,HSE604,18.8779663264 chr6,107221861,107222061,HSE844,13.1640641167 chr6,107611759,107611959,HSE904,13.5023269104 chr6,112619369,112619569,HSE369,17.0366032561 chr6,114999140,114999341,HSE821,10.3959314865 chr6,116138273,116138476,HSE730,13.0350910622 chr6,116621676,116621877,HSE929,9.2537035432 chr6,131428060,131428260,HSE284,18.8889226922 chr6,132596060,132596260,HSE990,8.2742348935 chr6,138104942,138105142,HSE253,23.0468563465 chr6,140757614,140757815,HSE967,10.1788738588 chr6,143968529,143968729,HSE852,8.5873299746 chr6,147322278,147322478,HSE268,19.7936739006 chr6,151695336,151695536,HSE519,19.0160524829 chr6,157265666,157265866,HSE119,24.7735526841 chr6,161392326,161392526,HSE334,18.7149756358 chr6,161740337,161740537,HSE713,9.6675137739 chr6,162838242,162838442,HSE132,26.1781329147 chr6,166188920,166189120,HSE417,14.5239466546 chr6,167892584,167892784,HSE814,8.7865263368 chr6,169077927,169078127,HSE110,27.1403888015 chr6,170794092,170794292,HSE524,13.6109134035 chr7,4198833,4199033,HSE801,11.1292518601 chr7,4949917,4950117,HSE172,21.4927855963 chr7,13461438,13461638,HSE228,17.5121934963 chr7,22122623,22122823,HSE930,12.3048991783 chr7,23062178,23062378,HSE509,25.1202244572 chr7,23246200,23246400,HSE257,22.9981606665 chr7,25559731,25559931,HSE966,8.5262161829 chr7,36664999,36665199,HSE605,16.0994530522 chr7,37372863,37373063,HSE204,19.2684485089 chr7,38492364,38492564,HSE597,12.8932215725 chr7,40616066,40616266,HSE380,17.182635963 chr7,47064486,47064686,HSE577,13.0570408987 chr7,47084856,47085056,HSE576,16.6838216652 chr7,48031471,48031671,HSE740,11.7452011534 chr7,48748205,48748405,HSE98,30.5044348782 chr7,66050120,66050320,HSE276,21.6755649273 chr7,66213153,66213353,HSE534,13.7182502443 chr7,66223024,66223224,HSE364,16.185690078 chr7,74867660,74867860,HSE618,16.9538639948 chr7,77015807,77016008,HSE415,18.6613812869 chr7,78390011,78390211,HSE602,16.2431492916 chr7,100434184,100434384,HSE869,13.0394840372 chr7,101616503,101616703,HSE951,9.2324134965 chr7,102153402,102153602,HSE975,9.0245761817 chr7,110397521,110397721,HSE916,12.3054838817 chr7,110400563,110400763,HSE338,16.3230063175 chr7,116607477,116607678,HSE621,18.3522646727 chr7,118072236,118072438,HSE694,11.1158534833 chr7,125587404,125587604,HSE455,17.556648341 chr7,145100201,145100414,HSE401,15.6280338065 chr7,145839272,145839472,HSE171,20.1680033829 chr7,145844066,145844266,HSE9,54.1909479525 chr7,147449071,147449271,HSE704,10.2463146144 chr7,148178409,148178609,HSE835,10.6172870294 chr7,151235436,151235636,HSE365,18.0341069228 chr8,2377506,2377706,HSE181,20.7659351902 chr8,2511126,2511326,HSE320,15.27069181 chr8,7266669,7266869,HSE819,8.435349452 chr8,13356648,13356848,HSE281,18.4464980795 chr8,14336890,14337104,HSE66,46.656249178 chr8,23032626,23032826,HSE412,26.2529950816 chr8,26601555,26601755,HSE890,11.220125934 chr8,26628311,26628511,HSE788,10.9551178433 chr8,28009163,28009363,HSE510,15.0235522925 chr8,30385906,30386106,HSE629,17.1134130395 chr8,34312488,34312688,HSE178,30.2724339491 chr8,49930877,49931077,HSE507,18.1489727778 chr8,50149648,50149848,HSE518,13.7760589052 chr8,52875070,52875270,HSE501,15.5123958666 chr8,53660034,53660234,HSE93,37.3464806395 chr8,54605619,54605820,HSE684,14.2519866729 chr8,62892804,62893004,HSE121,31.87775364 chr8,73254670,73254870,HSE185,23.4900882124 chr8,73412628,73412828,HSE38,37.3035911391 chr8,75862050,75862250,HSE620,13.858825618 chr8,88877867,88878069,HSE563,12.7713866408 chr8,92115315,92115515,HSE530,14.8449505644 chr8,92248603,92248804,HSE691,15.9124555229 chr8,93852146,93852346,HSE290,32.7317983798 chr8,95213282,95213482,HSE494,13.4997136969 chr8,98387996,98388197,HSE628,12.1439641326 chr8,105236101,105236301,HSE969,9.7479394792 chr8,115779521,115779721,HSE688,12.8255728825 chr8,122167781,122167981,HSE371,17.391031161 chr8,125610826,125611026,HSE165,35.3095256409 chr8,131652848,131653048,HSE363,19.456186422 chr8,134045654,134045854,HSE168,31.8082809938 chr8,134829150,134829350,HSE646,10.9003096576 chr8,144094801,144095001,HSE717,15.3147108573 chr8,144343458,144343659,HSE72,32.0323018157 chr8,145987786,145988059,HSE451,17.6753394576 chr9,7510288,7510488,HSE312,33.7426439062 chr9,10593086,10593286,HSE414,16.6788740279 chr9,11458448,11458648,HSE843,9.0784819552 chr9,12117105,12117305,HSE142,27.950209127 chr9,14993242,14993442,HSE634,14.4731722458 chr9,16301282,16301482,HSE102,50.9103305769 chr9,17765448,17765655,HSE739,18.2392565514 chr9,20825252,20825452,HSE946,12.4789871155 chr9,33402443,33402643,HSE555,16.1608716083 chr9,33523607,33523818,HSE224,19.2005783714 chr9,34170779,34170979,HSE341,24.6371580044 chr9,41824106,41824306,HSE769,10.5181109381 chr9,42019392,42019592,HSE28,41.4263636489 chr9,44245346,44245546,HSE32,37.5468627247 chr9,46661510,46661710,HSE378,18.5997971629 chr9,67872401,67872601,HSE272,19.7212214429 chr9,69651218,69651418,HSE15,56.5573849515 chr9,69654841,69655041,HSE50,50.1850231356 chr9,69723884,69724084,HSE126,32.6894006406 chr9,70077265,70077469,HSE357,19.5503409497 chr9,70090005,70090205,HSE56,47.863549167 chr9,72158059,72158265,HSE736,10.8002448051 chr9,72749929,72750129,HSE667,9.6151470352 chr9,81641307,81641507,HSE565,12.5343408216 chr9,85896509,85896709,HSE360,15.976780491 chr9,87992926,87993126,HSE682,10.0728691654 chr9,91288879,91289079,HSE570,20.1264215633 chr9,93232164,93232364,HSE267,16.2689597218 chr9,97610366,97610566,HSE571,14.362464282 chr9,97933380,97933580,HSE660,11.3259473431 chr9,100000625,100000826,HSE473,16.0316421967 chr9,100937326,100937526,HSE502,14.7363484454 chr9,112871691,112871891,HSE427,20.2200008236 chr9,116605468,116605668,HSE24,44.0402200911 chr9,118163144,118163344,HSE10,116.5676393698 chr9,136738864,136739065,HSE828,21.7259174217 chr9,136826692,136826892,HSE823,8.8396928196 chr9,138884709,138884909,HSE749,21.506795832 chr9,140320110,140320310,HSE558,17.6159627193 chrX,191631,191831,HSE375,22.299626784 chrX,197891,198101,HSE318,51.9353250981 chrX,199983,200184,HSE711,18.1602756116 chrX,9247138,9247338,HSE915,8.9889411466 chrX,9294553,9294753,HSE636,15.8583274764 chrX,13467472,13467672,HSE625,13.3123255447 chrX,22410208,22410409,HSE982,9.6853480348 chrX,29231637,29231837,HSE610,12.7761366615 chrX,30489623,30489824,HSE137,24.5548014378 chrX,31825117,31825317,HSE99,25.9398284883 chrX,36439734,36439934,HSE323,16.5354248431 chrX,36467884,36468084,HSE402,16.6156581564 chrX,40432956,40433156,HSE933,11.0828028555 chrX,40810144,40810344,HSE106,48.7539914758 chrX,49953599,49953799,HSE295,25.7542688302 chrX,57163623,57163823,HSE503,22.7827962324 chrX,114733851,114734051,HSE986,7.9927176453 chrX,124903682,124903882,HSE436,12.6648421132 chrX,128211486,128211686,HSE815,14.3611432709 chrX,128270781,128270981,HSE952,10.1358588237 chrX,130964620,130964822,HSE980,11.9103854587 ================================================ FILE: intro_awk_spring2021/data/example.fastq ================================================ @ERR117184_2.14044282 CTGGTGCTCAGTCATTTTGCTAGATTGTAGCTCACCATTGCCTCTCTGCCTGCATTGTGCACTCCAATCCCTCAGCAGCTACAAAAACACTTTGTCAACTCCAGATCGG + IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII @ERR117185_2.23793537 TTGTTCAATTTTTTTAGTAGTTTTAGAGTAATTAATGAGCTTTGAGGTCACTTAACAATAAAAGCATATTTTAAAGTAAAGGTTGCTGATCAACAGTCTAATTTTCATA + IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII @ERR117166_2.4649205 ACTTAACAATAAAAGCATATTTTAAAGTAAAGGTT + IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII @ERR117185_2.949669 ATGCTTTTATTGTTAAGTGACCTCAAAGCTCATTAATTACTCTAAAACTACTAAAAAAATTGAACAAAAAAGTATTTCCAGTAATCAAGATTTTCTTCATGCCCTAGAT + IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII @ERR117163_2.2292219 AAATCGTAAGTGAAGCAACAGAATTCAGAACTAAA + IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII @ERR117165_2.36526615 AACGCTAAGGTTATATTAAAATGTTTCTTATGTTG + IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII @ERR117174_2.23007391 GCAAGTGGTTGGACTCAAGGAAGTTATAAATACCT + IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII @ERR117175_2.11345437 GCAAGTGGTTGGACTCAAGGAAGTTATAAATACCT + IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII @ERR117176_2.30285510 GCAAGTGGTTGGACTCAAGGAAGTTATAAATACCT + IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII @ERR117177_2.33680511 GCAAGTGGTTGGACTCAAGGAAGTTATAAATACCT + IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII ================================================ FILE: intro_awk_spring2021/data/hg38.genome ================================================ chrom size 1 248956422 2 242193529 3 198295559 4 190214555 5 181538259 6 170805979 7 159345973 X 156040895 8 145138636 9 138394717 11 135086622 10 133797422 12 133275309 13 114364328 14 107043718 15 101991189 16 90338345 17 83257441 18 80373285 20 64444167 19 58617616 Y 57227415 22 50818468 21 46709983 15_KI270905v1_alt 5161414 6_GL000256v2_alt 4929269 6_GL000254v2_alt 4827813 6_GL000251v2_alt 4795265 6_GL000253v2_alt 4677643 6_GL000250v2_alt 4672374 6_GL000255v2_alt 4606388 6_GL000252v2_alt 4604811 17_KI270857v1_alt 2877074 16_KI270853v1_alt 2659700 16_KI270728v1_random 1872759 17_GL000258v2_alt 1821992 5_GL339449v2_alt 1612928 14_KI270847v1_alt 1511111 17_KI270908v1_alt 1423190 14_KI270846v1_alt 1351393 5_KI270897v1_alt 1144418 7_KI270803v1_alt 1111570 19_GL949749v2_alt 1091841 19_KI270938v1_alt 1066800 19_GL949750v2_alt 1066390 19_GL949748v2_alt 1064304 19_GL949751v2_alt 1002683 19_GL949746v1_alt 987716 19_GL949752v1_alt 987100 8_KI270821v1_alt 985506 1_KI270763v1_alt 911658 6_KI270801v1_alt 870480 19_GL949753v2_alt 796479 19_GL949747v2_alt 729520 8_KI270822v1_alt 624492 4_GL000257v2_alt 586476 12_KI270904v1_alt 572349 4_KI270925v1_alt 555799 15_KI270852v1_alt 478999 15_KI270727v1_random 448248 9_KI270823v1_alt 439082 15_KI270850v1_alt 430880 1_KI270759v1_alt 425601 12_GL877876v1_alt 408271 Un_KI270442v1 392061 17_KI270862v1_alt 391357 15_GL383555v2_alt 388773 19_GL383573v1_alt 385657 4_KI270896v1_alt 378547 4_GL383528v1_alt 376187 17_GL383563v3_alt 375691 8_KI270810v1_alt 374415 1_GL383520v2_alt 366580 1_KI270762v1_alt 354444 15_KI270848v1_alt 327382 17_KI270909v1_alt 325800 14_KI270844v1_alt 322166 8_KI270900v1_alt 318687 10_GL383546v1_alt 309802 13_KI270838v1_alt 306913 8_KI270816v1_alt 305841 22_KI270879v1_alt 304135 8_KI270813v1_alt 300230 11_KI270831v1_alt 296895 15_GL383554v1_alt 296527 8_KI270811v1_alt 292436 18_GL383567v1_alt 289831 X_KI270880v1_alt 284869 8_KI270812v1_alt 282736 19_KI270921v1_alt 282224 17_KI270729v1_random 280839 17_JH159146v1_alt 278131 X_KI270913v1_alt 274009 6_KI270798v1_alt 271782 7_KI270808v1_alt 271455 22_KI270876v1_alt 263666 15_KI270851v1_alt 263054 22_KI270875v1_alt 259914 1_KI270766v1_alt 256271 19_KI270882v1_alt 248807 3_KI270778v1_alt 248252 15_KI270849v1_alt 244917 4_KI270786v1_alt 244096 12_KI270835v1_alt 238139 17_KI270858v1_alt 235827 19_KI270867v1_alt 233762 16_KI270855v1_alt 232857 8_KI270926v1_alt 229282 5_GL949742v1_alt 226852 3_KI270780v1_alt 224108 17_GL383565v1_alt 223995 2_KI270774v1_alt 223625 4_KI270790v1_alt 220246 11_KI270927v1_alt 218612 19_KI270932v1_alt 215732 11_KI270903v1_alt 214625 2_KI270894v1_alt 214158 14_GL000225v1_random 211173 Un_KI270743v1 210658 11_KI270832v1_alt 210133 7_KI270805v1_alt 209988 4_GL000008v2_random 209709 7_KI270809v1_alt 209586 19_KI270887v1_alt 209512 4_KI270789v1_alt 205944 3_KI270779v1_alt 205312 19_KI270914v1_alt 205194 19_KI270886v1_alt 204239 11_KI270829v1_alt 204059 14_GL000009v2_random 201709 21_GL383579v2_alt 201197 11_JH159136v1_alt 200998 19_KI270930v1_alt 200773 Un_KI270747v1 198735 18_GL383571v1_alt 198278 19_KI270920v1_alt 198005 6_KI270797v1_alt 197536 3_KI270935v1_alt 197351 17_KI270861v1_alt 196688 15_KI270906v1_alt 196384 5_KI270791v1_alt 195710 14_KI270722v1_random 194050 16_GL383556v1_alt 192462 13_KI270840v1_alt 191684 14_GL000194v1_random 191469 11_JH159137v1_alt 191409 19_KI270917v1_alt 190932 7_KI270899v1_alt 190869 19_KI270923v1_alt 189352 10_KI270825v1_alt 188315 19_GL383576v1_alt 188024 19_KI270922v1_alt 187935 Un_KI270742v1 186739 22_KI270878v1_alt 186262 19_KI270929v1_alt 186203 11_KI270826v1_alt 186169 6_KB021644v2_alt 185823 17_GL000205v2_random 185591 1_KI270765v1_alt 185285 19_KI270916v1_alt 184516 19_KI270890v1_alt 184499 3_KI270784v1_alt 184404 12_GL383551v1_alt 184319 20_KI270870v1_alt 183433 Un_GL000195v1 182896 1_GL383518v1_alt 182439 22_KI270736v1_random 181920 10_KI270824v1_alt 181496 14_KI270845v1_alt 180703 3_GL383526v1_alt 180671 13_KI270839v1_alt 180306 22_KI270733v1_random 179772 Un_GL000224v1 179693 10_GL383545v1_alt 179254 Un_GL000219v1 179198 5_KI270792v1_alt 179043 17_KI270860v1_alt 178921 19_GL000209v2_alt 177381 11_KI270830v1_alt 177092 9_KI270719v1_random 176845 Un_GL000216v2 176608 22_KI270928v1_alt 176103 1_KI270712v1_random 176043 6_KI270800v1_alt 175808 1_KI270706v1_random 175055 2_KI270776v1_alt 174166 18_KI270912v1_alt 174061 3_KI270777v1_alt 173649 5_GL383531v1_alt 173459 3_JH636055v2_alt 173151 14_KI270725v1_random 172810 5_KI270796v1_alt 172708 9_GL383541v1_alt 171286 19_KI270885v1_alt 171027 19_KI270919v1_alt 170701 19_KI270889v1_alt 170698 19_KI270891v1_alt 170680 19_KI270915v1_alt 170665 19_KI270933v1_alt 170537 19_KI270883v1_alt 170399 19_GL383575v2_alt 170222 19_KI270931v1_alt 170148 12_GL383550v2_alt 169178 13_KI270841v1_alt 169134 Un_KI270744v1 168472 18_KI270863v1_alt 167999 18_GL383569v1_alt 167950 12_GL877875v1_alt 167313 21_KI270874v1_alt 166743 3_KI270924v1_alt 166540 1_KI270761v1_alt 165834 3_KI270937v1_alt 165607 22_KI270734v1_random 165050 18_GL383570v1_alt 164789 5_KI270794v1_alt 164558 4_GL383527v1_alt 164536 Un_GL000213v1 164239 3_KI270936v1_alt 164170 3_KI270934v1_alt 163458 9_GL383539v1_alt 162988 3_KI270895v1_alt 162896 22_GL383582v2_alt 162811 3_KI270782v1_alt 162429 1_KI270892v1_alt 162212 Un_GL000220v1 161802 2_KI270767v1_alt 161578 2_KI270715v1_random 161471 2_KI270893v1_alt 161218 Un_GL000218v1 161147 18_GL383572v1_alt 159547 8_KI270817v1_alt 158983 4_KI270788v1_alt 158965 Un_KI270749v1 158759 7_KI270806v1_alt 158166 7_KI270804v1_alt 157952 18_KI270911v1_alt 157710 Un_KI270741v1 157432 17_KI270910v1_alt 157099 19_KI270884v1_alt 157053 19_GL383574v1_alt 155864 19_KI270888v1_alt 155532 3_GL000221v1_random 155397 11_GL383547v1_alt 154407 2_KI270716v1_random 153799 12_GL383553v2_alt 152874 6_KI270799v1_alt 152148 22_KI270731v1_random 150754 Un_KI270751v1 150742 Un_KI270750v1 148850 8_KI270818v1_alt 145606 X_KI270881v1_alt 144206 21_KI270873v1_alt 143900 2_GL383521v1_alt 143390 8_KI270814v1_alt 141812 12_GL383552v1_alt 138655 Un_KI270519v1 138126 2_KI270775v1_alt 138019 17_KI270907v1_alt 137721 Un_GL000214v1 137718 8_KI270901v1_alt 136959 2_KI270770v1_alt 136240 16_KI270854v1_alt 134193 8_KI270819v1_alt 133535 17_GL383564v2_alt 133151 2_KI270772v1_alt 133041 8_KI270815v1_alt 132244 5_KI270795v1_alt 131892 5_KI270898v1_alt 130957 20_GL383577v2_alt 128386 1_KI270708v1_random 127682 7_KI270807v1_alt 126434 5_KI270793v1_alt 126136 6_GL383533v1_alt 124736 2_GL383522v1_alt 123821 19_KI270918v1_alt 123111 12_GL383549v1_alt 120804 2_KI270769v1_alt 120616 4_KI270785v1_alt 119912 12_KI270834v1_alt 119498 7_GL383534v2_alt 119183 20_KI270869v1_alt 118774 21_GL383581v2_alt 116689 3_KI270781v1_alt 113034 17_KI270730v1_random 112551 Un_KI270438v1 112505 4_KI270787v1_alt 111943 18_KI270864v1_alt 111737 2_KI270771v1_alt 110395 1_GL383519v1_alt 110268 2_KI270768v1_alt 110099 1_KI270760v1_alt 109528 3_KI270783v1_alt 109187 17_KI270859v1_alt 108763 11_KI270902v1_alt 106711 18_GL383568v1_alt 104552 22_KI270737v1_random 103838 13_KI270843v1_alt 103832 22_KI270877v1_alt 101331 5_GL383530v1_alt 101241 11_KI270721v1_random 100316 22_KI270738v1_random 99375 22_GL383583v2_alt 96924 2_GL582966v2_alt 96131 Un_KI270748v1 93321 Un_KI270435v1 92983 5_GL000208v1_random 92689 Un_KI270538v1 91309 17_GL383566v1_alt 90219 16_GL383557v1_alt 89672 17_JH159148v1_alt 88070 5_GL383532v1_alt 82728 21_KI270872v1_alt 82692 Un_KI270756v1 79590 6_KI270758v1_alt 76752 12_KI270833v1_alt 76061 6_KI270802v1_alt 75005 21_GL383580v2_alt 74653 22_KB663609v1_alt 74013 22_KI270739v1_random 73985 9_GL383540v1_alt 71551 Un_KI270757v1 71251 2_KI270773v1_alt 70887 17_JH159147v1_alt 70345 11_KI270827v1_alt 67707 1_KI270709v1_random 66860 Un_KI270746v1 66486 16_KI270856v1_alt 63982 21_GL383578v2_alt 63917 Un_KI270753v1 62944 19_KI270868v1_alt 61734 9_GL383542v1_alt 60032 20_KI270871v1_alt 58661 12_KI270836v1_alt 56134 19_KI270865v1_alt 52969 1_KI270764v1_alt 50258 Un_KI270589v1 44474 14_KI270726v1_random 43739 19_KI270866v1_alt 43156 22_KI270735v1_random 42811 1_KI270711v1_random 42210 Un_KI270745v1 41891 1_KI270714v1_random 41717 22_KI270732v1_random 41543 1_KI270713v1_random 40745 Un_KI270754v1 40191 1_KI270710v1_random 40176 12_KI270837v1_alt 40090 9_KI270717v1_random 40062 14_KI270724v1_random 39555 9_KI270720v1_random 39050 14_KI270723v1_random 38115 9_KI270718v1_random 38054 Un_KI270317v1 37690 13_KI270842v1_alt 37287 Y_KI270740v1_random 37240 Un_KI270755v1 36723 8_KI270820v1_alt 36640 1_KI270707v1_random 32032 Un_KI270579v1 31033 Un_KI270752v1 27745 Un_KI270512v1 22689 Un_KI270322v1 21476 M 16569 Un_GL000226v1 15008 Un_KI270311v1 12399 Un_KI270366v1 8320 Un_KI270511v1 8127 Un_KI270448v1 7992 Un_KI270521v1 7642 Un_KI270581v1 7046 Un_KI270582v1 6504 Un_KI270515v1 6361 Un_KI270588v1 6158 Un_KI270591v1 5796 Un_KI270522v1 5674 Un_KI270507v1 5353 Un_KI270590v1 4685 Un_KI270584v1 4513 Un_KI270320v1 4416 Un_KI270382v1 4215 Un_KI270468v1 4055 Un_KI270467v1 3920 Un_KI270362v1 3530 Un_KI270517v1 3253 Un_KI270593v1 3041 Un_KI270528v1 2983 Un_KI270587v1 2969 Un_KI270364v1 2855 Un_KI270371v1 2805 Un_KI270333v1 2699 Un_KI270374v1 2656 Un_KI270411v1 2646 Un_KI270414v1 2489 Un_KI270510v1 2415 Un_KI270390v1 2387 Un_KI270375v1 2378 Un_KI270420v1 2321 Un_KI270509v1 2318 Un_KI270315v1 2276 Un_KI270302v1 2274 Un_KI270518v1 2186 Un_KI270530v1 2168 Un_KI270304v1 2165 Un_KI270418v1 2145 Un_KI270424v1 2140 Un_KI270417v1 2043 Un_KI270508v1 1951 Un_KI270303v1 1942 Un_KI270381v1 1930 Un_KI270529v1 1899 Un_KI270425v1 1884 Un_KI270396v1 1880 Un_KI270363v1 1803 Un_KI270386v1 1788 Un_KI270465v1 1774 Un_KI270383v1 1750 Un_KI270384v1 1658 Un_KI270330v1 1652 Un_KI270372v1 1650 Un_KI270548v1 1599 Un_KI270580v1 1553 Un_KI270387v1 1537 Un_KI270391v1 1484 Un_KI270305v1 1472 Un_KI270373v1 1451 Un_KI270422v1 1445 Un_KI270316v1 1444 Un_KI270338v1 1428 Un_KI270340v1 1428 Un_KI270583v1 1400 Un_KI270334v1 1368 Un_KI270429v1 1361 Un_KI270393v1 1308 Un_KI270516v1 1300 Un_KI270389v1 1298 Un_KI270466v1 1233 Un_KI270388v1 1216 Un_KI270544v1 1202 Un_KI270310v1 1201 Un_KI270412v1 1179 Un_KI270395v1 1143 Un_KI270376v1 1136 Un_KI270337v1 1121 Un_KI270335v1 1048 Un_KI270378v1 1048 Un_KI270379v1 1045 Un_KI270329v1 1040 Un_KI270419v1 1029 Un_KI270336v1 1026 Un_KI270312v1 998 Un_KI270539v1 993 Un_KI270385v1 990 Un_KI270423v1 981 Un_KI270392v1 971 Un_KI270394v1 970 ================================================ FILE: intro_awk_spring2021/data/sample.txt ================================================ my dog is brown ================================================ FILE: intro_awk_spring2021/index.ipynb ================================================ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Manipulating files with AWK and grep\n", "### Bioinformatics Coffee Hour - April 20, 2021\n", "### Author: Danielle Khost\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "## Manipulating files with grep\n", "--------\n", "In this lesson, we will explore how we can use basic command line tools to parse, subset, and rearrange common file types you will come across in bioinformatics.\n", "\n", "**grep** is a powerful command-line search tools that is included as part of most Unix-like systems. It is one of the most useful tools in bioinformatics! At the most basic level, grep searches for a string of characters that match a pattern and will print lines containing a match. Basic syntax is: \n", "\n", "`grep 'pattern' file_to_search` \n", "\n", "By default, grep will match any part of the string, so for example:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "grep 'dog' data/sample.txt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This will match the line, as will:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "grep 'do' data/sample.txt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It is important to be mindful of partial matching, as you can end up selecting lines that you do not intend! This is just the most basic use of grep however, and there are a huge number of ways to modify its behavior. Here are just a few useful examples:\n", "\n", "`grep -w` matches *entire words*.\n", "- So in the above example: \n", "`grep -w 'dog' data/sample.txt` would match the string, but `grep -w 'do' data/sample.txt` would not.\n", "\n", "`grep -i` allows case-insensitive matches\n", "- In the above example, `grep -i 'DOG'` would still match the line\n", "\n", "`grep -v` *inverts*, returning lines that *do not* match the pattern.\n", "\n", "`grep -o` returns only the matching words, not the entire line.\n", "\n", "`grep -c` counts the number of lines that match the pattern.\n", "- Equivalent to `grep 'pattern' file | wc -l`\n", "\n", "Print lines before/after a match:\n", "- `grep -A [n]` returns matching line and *n* lines after match\n", "- `grep -B [n]` returns matching line and *n* lines before match\n", "- `grep -C [n]` returns matching line and *n* lines before *and* after match\n", "\n", "---\n", "\n", "The real strength of grep is that we can combine these different arguments together. For instance, let's say we have a single-line fasta file and we want to quickly pull out the X chromosome:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "grep -w -A 1 '>X' data/dmel-subset-chromosomes.fasta" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This code will match line that start with \">X\" (using the -w flag to match whole word only) and will also print the line *after* the match as well using the `-A 1` flag (i.e. the sequence line of our fasta file; note this will not work if fasta file is multi-line!).\n", "\n", "There are many other functions of grep! When in doubt, remember you can check the help page using `man grep`...or just by using google :)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Pattern matching with regular expressions\n", "Regular expressions, aka \"regex\", are patterns that describe sets of strings. In other words, they allow you to match complex patterns with grep, not just exact matches. Regex is extremely powerful, but can also get (very) complicated, so we'll just stick to a few basic uses.\n", "\n", "Regex has certain meta-characters that are reserved for special uses:\n", "\n", "```\n", "^: matches pattern at start of string\n", "$: matches pattern at end of string\n", ".: matches any character except new lines\n", "[]: matches any of enclose characters\n", "[^]: matches any characters *except* ones enclosed (note: is different from ^)\n", "\\: \"escapes\" meta-characters, allows literal matching\n", "```\n", "\n", "Note that if we want to match any of these special characters literally, we would need to use a \"\\\\\" to escape it first. So if we wanted to literally match a period (\".\") character we would run:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "grep '\\.' data/Homo_sapiens.GRCh38.subset.gff3 | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "One example of how regex can come in handy is using the ^ special character to quickly count how many sequences are in a FASTA file, which we would do as follows:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "grep -c '^>' data/dmel-subset-chromosomes.fasta" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This command matches lines in the FASTA file that start with a \">\" character, i.e. the header lines, and uses the -c argument to count how many matches!\n", "\n", "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## What is awk?\n", "Invented in the 1970's, [awk](https://en.wikipedia.org/wiki/AWK) is a scripting language included in most Unix-like operating systems. It specializes in one-liner programs and manipulating text files.\n", "\n", "In many cases, if you're parsing information from a text file (such as a [BED](https://en.wikipedia.org/wiki/BED_(file_format)) file, [FASTA](https://en.wikipedia.org/wiki/FASTA) file, etc.), you could write a Python script...or you could do it with awk in a single line!\n", "\n", "### Syntax\n", "awk scripts are organized as:\n", "\n", "`awk 'pattern { action; other action }' file`\n", "\n", "Meaning that every time that the pattern is true, awk will execute the action in the brackets.\n", "If no pattern is specified, the action will be taken for every line in the input file, e.g. the following command prints every line:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "awk '{print}' data/hg38.genome | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The two most important patterns are `BEGIN` and `END`, which tell the action to take place before any lines are read and after the last line." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "awk 'BEGIN{sum=0} {sum+=1} END {print sum}' data/hg38.genome" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " The above line sets a variable at the start of the script, adds 1 to it every line, then prints its value at the end." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If a variable hasn't been initialized, it is treated as 0 in numeric expressions, and an empty string in string expressions—awk will not print an error!\n", "So the following awk script also prints the number of lines in the file data/hg38.genome:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "awk '{sum+=1} END {print sum}' data/hg38.genome" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Input and output\n", "Input to awk is split into **records** and **fields**.\n", "- By default, **records** are separated by newline character, i.e # of records = # of lines in input file\n", "- Each record is subdivided into **fields**, i.e. columns, as determined by the field separator (see below)\n", "\n", "There are several important built-in variable in awk.\n", "The fields (columns) of each record are referred to by `$number`, so the first column would be `$1`, second would be `$2`, etc. `$0` refers to the entire record.\n", "\n", "So to print the second column of each line in the file, we'd use:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "awk '{print $2}' data/hg38.genome | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And if we wanted to print the second then the first:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "awk '{print $2,$1}' data/hg38.genome | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that when the different fields are separated with commas in the `print` statement, they are joined by the output field separator (the **OFS** variable, described below), which is by default a space.\n", "If the comma is omitted between fields (e.g., `awk '{print $2 $1}'`, they are concatenated without a separator.\n", "\n", "We can also print strings using using quotation marks:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "awk '{print \"First column:\" $1}' data/hg38.genome | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Which for every line of the file will print the text \"First column:\" followed by the value in the first field." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "awk has several other built-in variables that are very useful for parsing text, including:\n", "\n", "| | |\n", "---|---|\n", "| **FS** | field separator (default: white space) |\n", "| **OFS** | output field separator, i.e. what character separates fields when printing|\n", "| **RS** | record separator, i.e. what character records are split on (default: new line) |\n", "| **ORS** | output record separator |\n", "| **NR** | number of records in input (# lines by default) |\n", "\n", "Assigning to a field causes the entire record ($0) to be recomputed using **OFS**. We can use this to convert between file formats, e.g. make a comma-separated text file into a tab-separated file. First, let's look at the first few lines on our comma-separated file using `head`:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "head data/enhancers.csv" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let's convert the file:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "awk 'BEGIN{FS=\",\" ; OFS=\"\\t\"} {$1 = $1; print $0}' data/enhancers.csv | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Conditionals and pattern matching\n", "Like other programming languages, awk allows conditional matching with if/else statements.\n", "\n", "`awk '{if(condition) action; else other_action}'`\n", "\n", "awk uses the following conditional operators:\n", "\n", "| | |\n", "|-|-|\n", "|==|equal to|\n", "|!=|not equal to|\n", "|>|greater than|\n", "|>=|greater than or equal to|\n", "|<|less than|\n", "|<=|less than or equal to|\n", "|&&|AND|\n", "| \\|\\| |OR|\n", "| ! | NOT |\n", "\n", "In addition, awk also supports string matching using regular expressions, using the following expressions:\n", "\n", "| | |\n", "|-|-|\n", "|\\~|matches|\n", "|!~|does not match|\n", "\n", "For string matching, the pattern being matched must be enclosed by slashes, like so:\n", "\n", "`awk '{if($1 ~ /pattern/) print}'`\n", "\n", "Note that if an action isn't specified, the default action is `{print}`, so the previous awk command is equivalent to the following, which specifies only a pattern expression:\n", "\n", "`awk '$1 ~ /pattern/'`\n", "\n", "---\n", "### Example uses:\n", "\n", "- Count number of sequences in a FASTQ file:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "awk 'END{print NR/4}' data/example.fastq" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Note**: this is technically safer than using grep, as you don't have to worry about accidentally counting the quality line.\n", "\n", "- Only print annotations on a specific scaffold (chr1) that fall between 1Mb and 2Mb from a BED annotation file (a common file type that lists genomic coordinates of certain features). First let's look at the first few lines of the file using `head`:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "head data/Homo_sapiens_ucscGenes.subset.bed" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now subset the file:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "awk 'BEGIN{FS=\"\\t\";OFS=\"\\t\"} {if($1 == \"chr1\" && $2 >=1000000 && $2 <= 2000000) print}' data/Homo_sapiens_ucscGenes.subset.bed | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Note**: when we specify that we only want annotations from chr1, we're using exact match (`== \"chr1\"`) and not pattern match (`~ /chr1/`)...why is this??" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Another common type of annotation file is a Genome Feature File (GFF), which also lists coordinates. Let's look at the first few lines of the file:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "head data/Homo_sapiens.GRCh38.subset.gff3" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let's subset the file and only print lines that match the string \"exon\" in their third column:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "awk 'BEGIN{FS=\"\\t\"} {if($3 ~ /exon/) print $0}' data/Homo_sapiens.GRCh38.subset.gff3 | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Convert from GFF (genome feature file) to BED file " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "grep -v '^#' data/Homo_sapiens.GRCh38.subset.gff3 | awk 'BEGIN{FS=\"\\t\"; OFS=\"\\t\"} {print $1,$4-1,$5}' | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Note**: Annoyingly, BED and GFF files have different coordinate systems, i.e. BED start coordinate is 0 based, half-open, GFF is 1-based inclusive! Also, we are first using grep to skip the header lines in the GFF file.\n", "\n", "Alternatively, you could do the whole thing with only awk, no grep required:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "awk 'BEGIN{FS=\"\\t\"; OFS=\"\\t\"} !/^#/ {print $1,$4-1,$5}' data/Homo_sapiens.GRCh38.subset.gff3 | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "With this command, `!/^#/` is a pattern (like `BEGIN` or `END`) that tell awk to execute the print statement when the start of the line does not match a `#`. Use whichever makes the most sense to you!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Practice\n", "Using awk:\n", "\n", "* Pull out only the CDS annotations (i.e. has \"CDS\" in the 3rd column) from the GFF file data/Homo_sapiens.GRCh38.subset.gff3 and output them in BED format" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*Try it*" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "awk '...' data/Homo_sapiens.GRCh38.subset.gff3 | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*Solution*" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "tags": [] }, "outputs": [], "source": [ "awk 'BEGIN{FS=\"\\t\"; OFS=\"\\t\"} {if($3 ~ /CDS/) print $1,$4-1,$5}' data/Homo_sapiens.GRCh38.subset.gff3" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "- Calculate the average length of gene annotations from the file data/Homo_sapiens_ucscGenes.subset.bed" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*Try it*" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "awk '...' data/Homo_sapiens_ucscGenes.subset.bed" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*Solution*" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "tags": [] }, "outputs": [], "source": [ "awk 'BEGIN{FS=\"\\t\"; sum=0} {len=$3-$2; sum=sum+len} END{print sum/NR}' data/Homo_sapiens_ucscGenes.subset.bed" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.1" } }, "nbformat": 4, "nbformat_minor": 4 } ================================================ FILE: intro_data_science/part_1/binder/requirements.txt ================================================ pandas==1.2.0 matplotlib==3.3.3 numpy==1.19.5 ================================================ FILE: intro_data_science/part_1/ds_part_1.ipynb ================================================ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# A Brief Introduction to NumPy\n", "### \"...the fundamental package for scientific computing with Python.\" - numpy.org\n", "\n", "In this notebook, we will cover the basics of NumPy, a package that is the basis for many other libraries in the data science ecosystem. Let's get started." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "from IPython.display import Image\n", "import time\n", "from sys import getsizeof" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 1. NumPy Arrays\n", "The array data structure is the backbone of the NumPy library. They can be single-dimensional (vectors), two-dimensional (matrices), or multi-dimensional for more complex tasks.\n", "\n", "In many ways, they are similar to Python lists." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "a\n['b' 'c']\na\nb\nc\nd\ne\nf\n" ] } ], "source": [ "a = ['a', 'b', 'c', 'd', 'e', 'f']\n", "b = np.array(['a', 'b', 'c', 'd', 'e', 'f'])\n", "\n", "# Accessible by index\n", "print(b[0])\n", "\n", "# Sliceable\n", "print(b[1:3])\n", "\n", "# Iterable\n", "for letter in b:\n", " print(letter)" ] }, { "source": [ "So why use NumPy arrays at all? One word: performance! Generally speaking, Python lists take up more space and require more computation than NumPy arrays. Let's take a look at the size differences." ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "8697456\n8000096\n" ] } ], "source": [ "n_elements = 1_000_000\n", "# Create using list comprehension\n", "python_list = [x for x in range(n_elements)]\n", "print(getsizeof(python_list))\n", "\n", "# Create with existing python list\n", "np_arr = np.array(python_list)\n", "print(getsizeof(np_arr))" ] }, { "source": [ "Now let's look at the speed differences." ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "0.07268199999999991\n0.004588999999999954\n" ] } ], "source": [ "start = time.process_time()\n", "# Add 100 to every element in the Python list\n", "python_list_mod = [x + 100 for x in python_list]\n", "python_time = time.process_time() - start\n", "print(python_time)\n", "\n", "# Add 100 to every element in the Numpy array\n", "start = time.process_time()\n", "np_arr_mod = np_arr + 100\n", "np_time = time.process_time() - start\n", "print(np_time)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "execution_count": 7 } ], "source": [ "Image('python_memory1.png')" ] }, { "source": [ "If NumPy arrays are more efficient computationally and in regards to space, why not use them all the time? There are some constraints, most notably, all of their items must be of the same type. [NumPy Array](https://numpy.org/doc/stable/reference/generated/numpy.array.html#numpy.array)" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "[1, 'a', 0.222, 'hello from inside the list!']\n['1' 'a' '0.222' 'hello from inside the list!']\n" ] } ], "source": [ "python_list = [1, 'a', 0.222, 'hello from inside the list!']\n", "np_arr = np.array(python_list)\n", "print(python_list)\n", "print(np_arr)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 1.1 Creating\n", "NumPy arrays are created with existing data (standard python lists or lists of lists) or by using a collection of built-in methods." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1.1.1 Existing Data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### .array()\n", "Use python lists (or lists of lists) as input." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "array([1, 2, 3, 4, 5])" ] }, "metadata": {}, "execution_count": 2 } ], "source": [ "std_list = [1, 2, 3, 4, 5]" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "array([[1, 2, 3],\n", " [4, 5, 6],\n", " [7, 8, 9]])" ] }, "metadata": {}, "execution_count": 3 } ], "source": [ "std_matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note: the .array() method is a convenience function for constructing objects of the class ndarray. While it is possible to call .ndarray() directly, it is specifically regarded as an anti-pattern by the NumPy documentation." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1.1.2 Fixed Values" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### .zeros(), .ones()\n", "Return a new array of given shape and type, filled with zeros or ones." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "array([0., 0., 0.])" ] }, "metadata": {}, "execution_count": 4 } ], "source": [] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "array([1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.])" ] }, "metadata": {}, "execution_count": 5 } ], "source": [] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "array([[0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.]])" ] }, "metadata": {}, "execution_count": 8 } ], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note: the numbers have periods after them to indicate that these are floating point numbers." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### .full()\n", "Return a new array of given shape and type, filled with fill_value." ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "scrolled": true }, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "array([[72, 72, 72, 72],\n", " [72, 72, 72, 72],\n", " [72, 72, 72, 72],\n", " [72, 72, 72, 72]])" ] }, "metadata": {}, "execution_count": 10 } ], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1.1.3 Range" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### .arange()\n", "Return evenly spaced values within a given interval. Notice that the output is inclusive of the first number parameter and exclusive of the second." ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0, 2, 4, 6, 8])" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 0, 5, 10, 15])" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### .linspace()\n", "Return evenly spaced numbers over a specified interval. Notice that the output is inclusive of both the first and second number parameters." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 0., 5., 10., 15., 20.])" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [] }, { "cell_type": "code", "execution_count": 14, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "array([0. , 0.05263158, 0.10526316, 0.15789474, 0.21052632,\n", " 0.26315789, 0.31578947, 0.36842105, 0.42105263, 0.47368421,\n", " 0.52631579, 0.57894737, 0.63157895, 0.68421053, 0.73684211,\n", " 0.78947368, 0.84210526, 0.89473684, 0.94736842, 1. ])" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note: the main difference between .linspace() and .arange() is that with .linspace() you have precise control over the end value, whereas with .arange() you can specify the increments explicitly." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### .logspace()\n", "Return numbers spaced evenly on a log scale." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 100. , 215.443469 , 464.15888336, 1000. ])" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [] }, { "cell_type": "code", "execution_count": 25, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "array([4. , 5.0396842 , 6.34960421, 8. ])" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1.1.4 Random" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### .rand()\n", "Create an array of the given shape and populate it with random samples from a uniform distribution over 0,1." ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.7125801811390514" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0.91155984, 0.98323076, 0.60797164, 0.48538736])" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[0.56443505, 0.13692564, 0.4367128 ],\n", " [0.66786468, 0.86782966, 0.88696338],\n", " [0.05537221, 0.54016645, 0.9654299 ],\n", " [0.19105141, 0.63037385, 0.51600478],\n", " [0.53737417, 0.76494641, 0.61205375],\n", " [0.09621612, 0.37848038, 0.60698676],\n", " [0.47772402, 0.61733058, 0.75352393]])" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### .randn()\n", "Return a sample (or samples) from the “standard normal” distribution." ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.36910179629879897" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([-0.08320502, -0.69825957, 0.80139519, 0.53540454, 0.78953503])" ] }, "execution_count": 46, "metadata": {}, "output_type": "execute_result" } ], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note: .rand() is from a uniform distribution, whereas .randn() is from the standard **normal** distribution." ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 1.33667905, 0.46529544, 1.51069451, 0.69167808, 1.60270943],\n", " [ 1.62614154, -0.10463841, -0.999014 , -0.70942201, -0.15136812],\n", " [-0.70328834, -0.48982338, 2.03118893, 2.32867839, 2.08885297]])" ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### .randint()\n", "Return random integers from low (inclusive) to high (exclusive)." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "5" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [] }, { "cell_type": "code", "execution_count": 66, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([4, 5, 5, 6, 1, 2, 1])" ] }, "execution_count": 66, "metadata": {}, "output_type": "execute_result" } ], "source": [] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[9, 3],\n", " [6, 8],\n", " [7, 6]])" ] }, "execution_count": 67, "metadata": {}, "output_type": "execute_result" } ], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1.2 Attributes and Methods" ] }, { "cell_type": "code", "execution_count": 82, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[2, 0, 8, 7, 8, 4, 6],\n", " [3, 5, 6, 6, 7, 6, 2]])" ] }, "execution_count": 82, "metadata": {}, "output_type": "execute_result" } ], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### .shape\n", "Tuple of array dimensions. Note: this is an attribute NOT a method." ] }, { "cell_type": "code", "execution_count": 83, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(2, 7)" ] }, "execution_count": 83, "metadata": {}, "output_type": "execute_result" } ], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### .reshape()\n", "Gives a new shape to an array without changing its data. Note: this happens 'in place' (does not return new values)." ] }, { "cell_type": "code", "execution_count": 88, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[2, 0],\n", " [8, 7],\n", " [8, 4],\n", " [6, 3],\n", " [5, 6],\n", " [6, 7],\n", " [6, 2]])" ] }, "execution_count": 88, "metadata": {}, "output_type": "execute_result" } ], "source": [] }, { "cell_type": "code", "execution_count": 85, "metadata": {}, "outputs": [ { "ename": "ValueError", "evalue": "cannot reshape array of size 14 into shape (12,4)", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0marr\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreshape\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m12\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m4\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;31mValueError\u001b[0m: cannot reshape array of size 14 into shape (12,4)" ] } ], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### .newaxis\n", "Alternate syntax." ] }, { "cell_type": "code", "execution_count": 92, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[[2, 0, 8, 7, 8, 4, 6],\n", " [3, 5, 6, 6, 7, 6, 2]]])" ] }, "execution_count": 92, "metadata": {}, "output_type": "execute_result" } ], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### .dtype\n", "The type of data in the array." ] }, { "cell_type": "code", "execution_count": 80, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "dtype('int64')" ] }, "execution_count": 80, "metadata": {}, "output_type": "execute_result" } ], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### .astype()\n", "Casts values to a specified type." ] }, { "cell_type": "code", "execution_count": 83, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[9, 5, 7, 3, 6, 8, 9],\n", " [9, 6, 1, 1, 4, 2, 3]], dtype=int8)" ] }, "execution_count": 83, "metadata": {}, "output_type": "execute_result" } ], "source": [] }, { "cell_type": "code", "execution_count": 81, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[9.+0.j, 5.+0.j, 7.+0.j, 3.+0.j, 6.+0.j, 8.+0.j, 9.+0.j],\n", " [9.+0.j, 6.+0.j, 1.+0.j, 1.+0.j, 4.+0.j, 2.+0.j, 3.+0.j]])" ] }, "execution_count": 81, "metadata": {}, "output_type": "execute_result" } ], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note: in mathematics i is used to denote imaginary numbers, but in Python (and many other languages) j is used because i tends to indicate the current value in a system. " ] }, { "cell_type": "code", "execution_count": 114, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 115, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ True, True, True, True],\n", " [ True, True, True, True],\n", " [ True, True, True, True],\n", " [ True, True, True, True]])" ] }, "execution_count": 115, "metadata": {}, "output_type": "execute_result" } ], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1.3 Indexing" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.3.1 One-dimensional" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20])" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "10" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Get the value at index 5 (the sixth element)" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([2, 4, 6, 8])" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Get a slice of the array from index 1 (inclusive) to index 5 (exclusive)" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 8, 10, 12, 14, 16, 18, 20])" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Get a slice of the array from index 4 to the end" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "20" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Get the last element in the array" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# Reverse the array" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.3.2 Two-dimensional" ] }, { "cell_type": "code", "execution_count": 66, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 0, 1, 2, 3],\n", " [ 4, 5, 6, 7],\n", " [ 8, 9, 10, 11]])" ] }, "execution_count": 66, "metadata": {}, "output_type": "execute_result" } ], "source": [] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0, 1, 2, 3])" ] }, "execution_count": 67, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Get the first row" ] }, { "cell_type": "code", "execution_count": 69, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "5" ] }, "execution_count": 69, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Get the second element of the second row" ] }, { "cell_type": "code", "execution_count": 70, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "5" ] }, "execution_count": 70, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Alternative syntax" ] }, { "cell_type": "code", "execution_count": 71, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[0, 1, 2, 3],\n", " [4, 5, 6, 7]])" ] }, "execution_count": 71, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Get first and second rows" ] }, { "cell_type": "code", "execution_count": 72, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0, 4])" ] }, "execution_count": 72, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Get first element of both first and second rows" ] }, { "cell_type": "code", "execution_count": 73, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[0],\n", " [4]])" ] }, "execution_count": 73, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Maintain shape" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.3.3 Fancy Indexing" ] }, { "cell_type": "code", "execution_count": 86, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[4, 6, 14, 16]" ] }, "execution_count": 86, "metadata": {}, "output_type": "execute_result" } ], "source": [] }, { "cell_type": "code", "execution_count": 87, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 4, 6, 14, 16])" ] }, "execution_count": 87, "metadata": {}, "output_type": "execute_result" } ], "source": [] }, { "cell_type": "code", "execution_count": 88, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 4, 6],\n", " [14, 16]])" ] }, "execution_count": 88, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Output of fancy indexing" ] }, { "cell_type": "code", "execution_count": 94, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([2, 7])" ] }, "execution_count": 94, "metadata": {}, "output_type": "execute_result" } ], "source": [] }, { "cell_type": "code", "execution_count": 96, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([2, 3])" ] }, "execution_count": 96, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Notice if second row value is not provided, NumPy compensates" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1.4 Selection\n", "We will see this syntax mirrored in the Pandas library." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([1, 2, 3, 4])" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([False, False, True, True])" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([3, 4])" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,\n", " 17, 18, 19])" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([12, 13, 14, 15, 16, 17, 18, 19])" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0, 1, 2, 3, 4])" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 2. Operations\n", "One of the most powerful features of NumPy arrays is that operations are vectorized." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2.1 Arithmetic\n", "Arithmetic operations work on NumPy arrays." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2.1.1 One-dimensional" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "arr_1d = np.arange(0,11)" ] }, { "cell_type": "code", "execution_count": 63, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])" ] }, "execution_count": 63, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Add five to each item" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "array([-12, -11, -10, -9, -8, -7, -6, -5, -4, -3, -2])" ] }, "metadata": {}, "execution_count": 6 } ], "source": [ "# Subtract 12 from each item" ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20])" ] }, "execution_count": 64, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Multiply each item by 2" ] }, { "cell_type": "code", "execution_count": 101, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0. , 0.25, 0.5 , 0.75, 1. , 1.25, 1.5 , 1.75, 2. , 2.25, 2.5 ])" ] }, "execution_count": 101, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Divide each item by 4" ] }, { "cell_type": "code", "execution_count": 102, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2])" ] }, "execution_count": 102, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Floor division on each item" ] }, { "cell_type": "code", "execution_count": 103, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 0, 1, 8, 27, 64, 125, 216, 343, 512, 729, 1000])" ] }, "execution_count": 103, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Raise each item to the third power" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2.1.2 Two-dimensional" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 0, 1, 2, 3, 4],\n", " [ 5, 6, 7, 8, 9],\n", " [10, 11, 12, 13, 14]])" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr_2d = np.arange(15).reshape((3,5))" ] }, { "cell_type": "code", "execution_count": 110, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 0, 2, 4, 6, 8],\n", " [10, 12, 14, 16, 18],\n", " [20, 22, 24, 26, 28]])" ] }, "execution_count": 110, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Multiply each item by 2" ] }, { "cell_type": "code", "execution_count": 111, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "array([[ 0, 1, 4, 9, 16],\n", " [ 25, 36, 49, 64, 81],\n", " [100, 121, 144, 169, 196]])" ] }, "execution_count": 111, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Raise each item to the power of 2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2.1.3 Multiple values\n", "These operations work with multiple values." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "array([1, 2, 3, 4, 5])" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr_mult = np.array([1,2,3,4,5])" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "array([[ 0, 2, 6, 12, 20],\n", " [ 5, 12, 21, 32, 45],\n", " [10, 22, 36, 52, 70]])" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr_2d * arr_mult" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [], "source": [ "arr_mult_2 = np.array([1,2,3])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2.2 Ufuncs\n", "Universal functions. For more information, visit: https://docs.scipy.org/doc/numpy/reference/ufuncs.html" ] }, { "cell_type": "code", "execution_count": 75, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])" ] }, "execution_count": 75, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr = np.arange(1,11)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### .sum()\n", "Sum of array elements over a given axis." ] }, { "cell_type": "code", "execution_count": 105, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "70" ] }, "execution_count": 105, "metadata": {}, "output_type": "execute_result" } ], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### .sqrt()\n", "Return the non-negative square-root of an array, element-wise." ] }, { "cell_type": "code", "execution_count": 76, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "3.0" ] }, "execution_count": 76, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.sqrt(9)" ] }, { "cell_type": "code", "execution_count": 77, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([1. , 1.41421356, 1.73205081, 2. , 2.23606798,\n", " 2.44948974, 2.64575131, 2.82842712, 3. , 3.16227766])" ] }, "execution_count": 77, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.sqrt(arr)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### .power()\n", "First array elements raised to powers from second array, element-wise." ] }, { "cell_type": "code", "execution_count": 79, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "9" ] }, "execution_count": 79, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.power(3,2)" ] }, { "cell_type": "code", "execution_count": 81, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 1, 4, 9, 16, 25, 36, 49, 64, 81, 100])" ] }, "execution_count": 81, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.power(arr, 2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### .min(), .max()" ] }, { "cell_type": "code", "execution_count": 65, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([3, 5, 4, 0, 3, 5, 5, 9, 7, 7])" ] }, "execution_count": 65, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr = np.random.randint(0,10, 10)" ] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0" ] }, "execution_count": 67, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.min(arr)" ] }, { "cell_type": "code", "execution_count": 68, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0" ] }, "execution_count": 68, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr.min()" ] }, { "cell_type": "code", "execution_count": 69, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "9" ] }, "execution_count": 69, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.max(arr)" ] }, { "cell_type": "code", "execution_count": 70, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "9" ] }, "execution_count": 70, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr.max()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2.3 Broadcasting\n", "The term broadcasting describes how numpy treats arrays with different shapes during arithmetic operations. Subject to certain constraints, the smaller array is “broadcast” across the larger array so that they have compatible shapes. (NumPy documentation) " ] }, { "cell_type": "code", "execution_count": 93, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 0, 1, 2, 3, 4],\n", " [ 5, 6, 7, 8, 9],\n", " [10, 11, 12, 13, 14],\n", " [15, 16, 17, 18, 19]])" ] }, "execution_count": 93, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr_one = np.arange(0,20).reshape(4,5)" ] }, { "cell_type": "code", "execution_count": 94, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[10, 11, 12, 13, 14],\n", " [15, 16, 17, 18, 19],\n", " [20, 21, 22, 23, 24],\n", " [25, 26, 27, 28, 29]])" ] }, "execution_count": 94, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr_one + 10" ] }, { "cell_type": "code", "execution_count": 96, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[10, 11, 12, 13, 14],\n", " [15, 16, 17, 18, 19],\n", " [20, 21, 22, 23, 24],\n", " [25, 26, 27, 28, 29]])" ] }, "execution_count": 96, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr_one + np.array([10])" ] }, { "cell_type": "code", "execution_count": 97, "metadata": {}, "outputs": [ { "ename": "ValueError", "evalue": "operands could not be broadcast together with shapes (4,5) (2,) ", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0marr_one\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0marray\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m10\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m20\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;31mValueError\u001b[0m: operands could not be broadcast together with shapes (4,5) (2,) " ] } ], "source": [ "arr_one + np.array([10, 20])" ] }, { "cell_type": "code", "execution_count": 99, "metadata": {}, "outputs": [], "source": [ "arr_two = np.array([10,20,30,40,50])" ] }, { "cell_type": "code", "execution_count": 100, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[10, 21, 32, 43, 54],\n", " [15, 26, 37, 48, 59],\n", " [20, 31, 42, 53, 64],\n", " [25, 36, 47, 58, 69]])" ] }, "execution_count": 100, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr_one + arr_two" ] }, { "cell_type": "code", "execution_count": 101, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(4, 5)" ] }, "execution_count": 101, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr_one.shape" ] }, { "cell_type": "code", "execution_count": 102, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(5,)" ] }, "execution_count": 102, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr_two.shape" ] }, { "cell_type": "code", "execution_count": 103, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[10],\n", " [20],\n", " [30],\n", " [40],\n", " [50]])" ] }, "execution_count": 103, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr_two.reshape(5,1)" ] }, { "cell_type": "code", "execution_count": 104, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[10, 21, 32, 43, 54],\n", " [15, 26, 37, 48, 59],\n", " [20, 31, 42, 53, 64],\n", " [25, 36, 47, 58, 69]])" ] }, "execution_count": 104, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr_one + arr_two" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Array comparison begins with the trailing dimensions and subsequently works its way foward. Two array dimensions are compatible when:\n", "- they are equal, or\n", "- one of them is 1\n", "(NumPy documentation)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "https://jakevdp.github.io/PythonDataScienceHandbook/02.05-computation-on-arrays-broadcasting.html" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Plot sin and cos on the same graph, using matplotlib\n", "# Compute the x and y coordinates for points on sine and cosine curves \n", "\n", "# Set up a subplot grid that has height 2 and width 1, \n", "# and set the first such subplot as active. \n", "\n", "# Make the first plot \n", " \n", "# Set the second subplot as active, and make the second plot. \n", "\n", "# Ensure tight layout\n", " \n", "# Show the figure. " ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.2-final" } }, "nbformat": 4, "nbformat_minor": 2 } ================================================ FILE: intro_data_science/part_1/ds_part_1_complete.ipynb ================================================ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# A Brief Introduction to NumPy\n", "### \"...the fundamental package for scientific computing with Python.\" - numpy.org\n", "\n", "In this notebook, we will cover the basics of NumPy, a package that is the basis for many other libraries in the data science ecosystem. Let's get started." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "from IPython.display import Image\n", "import time\n", "from sys import getsizeof\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 1. NumPy Arrays\n", "The array data structure is the backbone of the NumPy library. They can be single-dimensional (vectors), two-dimensional (matrices), or multi-dimensional for more complex tasks.\n", "\n", "In many ways, they are similar to Python lists." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "a\n['b' 'c']\na\nb\nc\nd\ne\nf\n" ] } ], "source": [ "a = ['a', 'b', 'c', 'd', 'e', 'f']\n", "b = np.array(['a', 'b', 'c', 'd', 'e', 'f'])\n", "\n", "# Accessible by index\n", "print(b[0])\n", "\n", "# Sliceable\n", "print(b[1:3])\n", "\n", "# Iterable\n", "for letter in b:\n", " print(letter)" ] }, { "source": [ "So why use NumPy arrays at all? One word: performance! Generally speaking, Python lists take up more space and require more computation than NumPy arrays. Let's take a look at the size differences." ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "8697456\n8000096\n" ] } ], "source": [ "n_elements = 1_000_000\n", "# Create using list comprehension\n", "python_list = [x for x in range(n_elements)]\n", "print(getsizeof(python_list))\n", "\n", "# Create with existing python list\n", "np_arr = np.array(python_list)\n", "print(getsizeof(np_arr))" ] }, { "source": [ "Now let's look at the speed differences." ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "0.07268199999999991\n0.004588999999999954\n" ] } ], "source": [ "start = time.process_time()\n", "# Add 100 to every element in the Python list\n", "python_list_mod = [x + 100 for x in python_list]\n", "python_time = time.process_time() - start\n", "print(python_time)\n", "\n", "# Add 100 to every element in the Numpy array\n", "start = time.process_time()\n", "np_arr_mod = np_arr + 100\n", "np_time = time.process_time() - start\n", "print(np_time)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "execution_count": 7 } ], "source": [ "Image('python_memory1.png')" ] }, { "source": [ "If NumPy arrays are more efficient computationally and in regards to space, why not use them all the time? There are some constraints, most notably, all of their items must be of the same type. [NumPy Array](https://numpy.org/doc/stable/reference/generated/numpy.array.html#numpy.array)" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "[1, 'a', 0.222, 'hello from inside the list!']\n['1' 'a' '0.222' 'hello from inside the list!']\n" ] } ], "source": [ "python_list = [1, 'a', 0.222, 'hello from inside the list!']\n", "np_arr = np.array(python_list)\n", "print(python_list)\n", "print(np_arr)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 1.1 Creating\n", "NumPy arrays are created with existing data (standard python lists or lists of lists) or by using a collection of built-in methods." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1.1.1 Existing Data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### .array()\n", "Use python lists (or lists of lists) as input." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "array([1, 2, 3, 4, 5])" ] }, "metadata": {}, "execution_count": 2 } ], "source": [ "std_list = [1, 2, 3, 4, 5]\n", "np.array(std_list)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "array([[1, 2, 3],\n", " [4, 5, 6],\n", " [7, 8, 9]])" ] }, "metadata": {}, "execution_count": 3 } ], "source": [ "std_matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]\n", "np.array(std_matrix)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note: the .array() method is a convenience function for constructing objects of the class ndarray. While it is possible to call .ndarray() directly, it is specifically regarded as an anti-pattern by the NumPy documentation." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1.1.2 Fixed Values" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### .zeros(), .ones()\n", "Return a new array of given shape and type, filled with zeros or ones." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "array([0., 0., 0.])" ] }, "metadata": {}, "execution_count": 4 } ], "source": [ "np.zeros(3)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "array([1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.])" ] }, "metadata": {}, "execution_count": 5 } ], "source": [ "np.ones(17)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "array([[0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.]])" ] }, "metadata": {}, "execution_count": 8 } ], "source": [ "# Notice the shape represented as a tuple\n", "np.zeros((5,5))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note: the numbers have periods after them to indicate that these are floating point numbers." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### .full()\n", "Return a new array of given shape and type, filled with fill_value." ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "scrolled": true }, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "array([[72, 72, 72, 72],\n", " [72, 72, 72, 72],\n", " [72, 72, 72, 72],\n", " [72, 72, 72, 72]])" ] }, "metadata": {}, "execution_count": 10 } ], "source": [ "np.full((4,4), 72)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1.1.3 Range" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### .arange()\n", "Return evenly spaced values within a given interval. Notice that the output is inclusive of the first number parameter and exclusive of the second." ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.arange(0,10)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0, 2, 4, 6, 8])" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.arange(0,10,2)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 0, 5, 10, 15])" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.arange(0,20,5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### .linspace()\n", "Return evenly spaced numbers over a specified interval. Notice that the output is inclusive of both the first and second number parameters." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 0., 5., 10., 15., 20.])" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.linspace(0,20,5)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "array([0. , 0.05263158, 0.10526316, 0.15789474, 0.21052632,\n", " 0.26315789, 0.31578947, 0.36842105, 0.42105263, 0.47368421,\n", " 0.52631579, 0.57894737, 0.63157895, 0.68421053, 0.73684211,\n", " 0.78947368, 0.84210526, 0.89473684, 0.94736842, 1. ])" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.linspace(0,1, 20)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note: the main difference between .linspace() and .arange() is that with .linspace() you have precise control over the end value, whereas with .arange() you can specify the increments explicitly." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### .logspace()\n", "Return numbers spaced evenly on a log scale." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 100. , 215.443469 , 464.15888336, 1000. ])" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.logspace(2.0, 3.0, num=4)" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "array([4. , 5.0396842 , 6.34960421, 8. ])" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.logspace(2.0, 3.0, num=4, base=2.0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1.1.4 Random" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### .rand()\n", "Create an array of the given shape and populate it with random samples from a uniform distribution over 0,1." ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.7125801811390514" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.random.rand()" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0.91155984, 0.98323076, 0.60797164, 0.48538736])" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.random.rand(4)" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[0.56443505, 0.13692564, 0.4367128 ],\n", " [0.66786468, 0.86782966, 0.88696338],\n", " [0.05537221, 0.54016645, 0.9654299 ],\n", " [0.19105141, 0.63037385, 0.51600478],\n", " [0.53737417, 0.76494641, 0.61205375],\n", " [0.09621612, 0.37848038, 0.60698676],\n", " [0.47772402, 0.61733058, 0.75352393]])" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.random.rand(7,3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### .randn()\n", "Return a sample (or samples) from the “standard normal” distribution." ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.36910179629879897" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.random.randn()" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([-0.08320502, -0.69825957, 0.80139519, 0.53540454, 0.78953503])" ] }, "execution_count": 46, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.random.randn(5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note: .rand() is from a uniform distribution, whereas .randn() is from the standard **normal** distribution." ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 1.33667905, 0.46529544, 1.51069451, 0.69167808, 1.60270943],\n", " [ 1.62614154, -0.10463841, -0.999014 , -0.70942201, -0.15136812],\n", " [-0.70328834, -0.48982338, 2.03118893, 2.32867839, 2.08885297]])" ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.random.randn(3, 5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### .randint()\n", "Return random integers from low (inclusive) to high (exclusive)." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "5" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.random.randint(0,10)" ] }, { "cell_type": "code", "execution_count": 66, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([4, 5, 5, 6, 1, 2, 1])" ] }, "execution_count": 66, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.random.randint(0,10,size=7)" ] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[9, 3],\n", " [6, 8],\n", " [7, 6]])" ] }, "execution_count": 67, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.random.randint(0,10,size=(3,2))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1.2 Attributes and Methods" ] }, { "cell_type": "code", "execution_count": 82, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[2, 0, 8, 7, 8, 4, 6],\n", " [3, 5, 6, 6, 7, 6, 2]])" ] }, "execution_count": 82, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr = np.random.randint(0,10,size=(2,7))\n", "arr" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### .shape\n", "Tuple of array dimensions. Note: this is an attribute NOT a method." ] }, { "cell_type": "code", "execution_count": 83, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(2, 7)" ] }, "execution_count": 83, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr.shape" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### .reshape()\n", "Gives a new shape to an array without changing its data. Note: this happens 'in place' (does not return new values)." ] }, { "cell_type": "code", "execution_count": 88, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[2, 0],\n", " [8, 7],\n", " [8, 4],\n", " [6, 3],\n", " [5, 6],\n", " [6, 7],\n", " [6, 2]])" ] }, "execution_count": 88, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr.reshape(7,2)" ] }, { "cell_type": "code", "execution_count": 85, "metadata": {}, "outputs": [ { "ename": "ValueError", "evalue": "cannot reshape array of size 14 into shape (12,4)", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0marr\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreshape\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m12\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;36m4\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;31mValueError\u001b[0m: cannot reshape array of size 14 into shape (12,4)" ] } ], "source": [ "arr.reshape(12,4)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### .newaxis\n", "Alternate syntax." ] }, { "cell_type": "code", "execution_count": 92, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[[2, 0, 8, 7, 8, 4, 6],\n", " [3, 5, 6, 6, 7, 6, 2]]])" ] }, "execution_count": 92, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr[np.newaxis, :]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### .dtype\n", "The type of data in the array." ] }, { "cell_type": "code", "execution_count": 80, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "dtype('int64')" ] }, "execution_count": 80, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr.dtype" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### .astype()\n", "Casts values to a specified type." ] }, { "cell_type": "code", "execution_count": 83, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[9, 5, 7, 3, 6, 8, 9],\n", " [9, 6, 1, 1, 4, 2, 3]], dtype=int8)" ] }, "execution_count": 83, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr.astype('int8')" ] }, { "cell_type": "code", "execution_count": 81, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[9.+0.j, 5.+0.j, 7.+0.j, 3.+0.j, 6.+0.j, 8.+0.j, 9.+0.j],\n", " [9.+0.j, 6.+0.j, 1.+0.j, 1.+0.j, 4.+0.j, 2.+0.j, 3.+0.j]])" ] }, "execution_count": 81, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Complex numbers are the combination of a real and an imaginary number.\n", "arr.astype('complex')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note: in mathematics i is used to denote imaginary numbers, but in Python (and many other languages) j is used because i tends to indicate the current value in a system. " ] }, { "cell_type": "code", "execution_count": 114, "metadata": {}, "outputs": [], "source": [ "arr2 = np.full((4,4), 199)" ] }, { "cell_type": "code", "execution_count": 115, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ True, True, True, True],\n", " [ True, True, True, True],\n", " [ True, True, True, True],\n", " [ True, True, True, True]])" ] }, "execution_count": 115, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr2.astype('bool')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1.3 Indexing" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.3.1 One-dimensional" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20])" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr_1d = np.arange(0,21, 2)\n", "arr_1d" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "10" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Get the value at index 5 (the sixth element)\n", "arr_1d[5]" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([2, 4, 6, 8])" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Get a slice of the array from index 1 (inclusive) to index 5 (exclusive)\n", "arr_1d[1:5]" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 8, 10, 12, 14, 16, 18, 20])" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Get a slice of the array from index 4 to the end\n", "arr_1d[4:]" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "20" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Get the last element in the array\n", "arr_1d[-1]" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "ename": "NameError", "evalue": "name 'arr_1d' is not defined", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m# Reverse the array\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0marr_1d\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;31mNameError\u001b[0m: name 'arr_1d' is not defined" ] } ], "source": [ "# Reverse the array\n", "arr_1d[::-1]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.3.2 Two-dimensional" ] }, { "cell_type": "code", "execution_count": 66, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 0, 1, 2, 3],\n", " [ 4, 5, 6, 7],\n", " [ 8, 9, 10, 11]])" ] }, "execution_count": 66, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr_2d = np.arange(12).reshape((3, 4))\n", "arr_2d" ] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0, 1, 2, 3])" ] }, "execution_count": 67, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Get the first row\n", "arr_2d[0]" ] }, { "cell_type": "code", "execution_count": 69, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "5" ] }, "execution_count": 69, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Get the second element of the second row\n", "arr_2d[1][1]" ] }, { "cell_type": "code", "execution_count": 70, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "5" ] }, "execution_count": 70, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Alternative syntax\n", "arr_2d[1,1]" ] }, { "cell_type": "code", "execution_count": 71, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[0, 1, 2, 3],\n", " [4, 5, 6, 7]])" ] }, "execution_count": 71, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Get first and second rows\n", "arr_2d[:2]" ] }, { "cell_type": "code", "execution_count": 72, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0, 4])" ] }, "execution_count": 72, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Get first element of both first and second rows\n", "arr_2d[:2,0]" ] }, { "cell_type": "code", "execution_count": 73, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[0],\n", " [4]])" ] }, "execution_count": 73, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Maintain shape\n", "arr_2d[:2,0:1]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.3.3 Fancy Indexing" ] }, { "cell_type": "code", "execution_count": 86, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[4, 6, 14, 16]" ] }, "execution_count": 86, "metadata": {}, "output_type": "execute_result" } ], "source": [ "[arr_1d[2], arr_1d[3], arr_1d[7], arr_1d[8]]" ] }, { "cell_type": "code", "execution_count": 87, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 4, 6, 14, 16])" ] }, "execution_count": 87, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr_1d[[2,3,7,8]]" ] }, { "cell_type": "code", "execution_count": 88, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 4, 6],\n", " [14, 16]])" ] }, "execution_count": 88, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Output of fancy indexing\n", "ind = np.array([[2, 3],\n", " [7, 8]])\n", "arr_1d[ind]" ] }, { "cell_type": "code", "execution_count": 94, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([2, 7])" ] }, "execution_count": 94, "metadata": {}, "output_type": "execute_result" } ], "source": [ "row = [0, 1]\n", "col = [2, 3]\n", "arr_2d[(row, col)]" ] }, { "cell_type": "code", "execution_count": 96, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([2, 3])" ] }, "execution_count": 96, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Notice if second row value is not provided, NumPy compensates\n", "row = [0]\n", "col = [2, 3]\n", "arr_2d[(row, col)]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1.4 Selection" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([1, 2, 3, 4])" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr = np.arange(1,5)\n", "arr" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([False, False, True, True])" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bool_arr = np.array([False, False, True, True])\n", "bool_arr" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([3, 4])" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr[bool_arr]" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,\n", " 17, 18, 19])" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr_long = np.arange(0,20)\n", "arr_long" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([12, 13, 14, 15, 16, 17, 18, 19])" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bool_arr_long = arr_long > 11\n", "arr_long[bool_arr_long]" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0, 1, 2, 3, 4])" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr_long[arr_long < 5]" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [], "source": [ "## TODO add exercise" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 2. Operations\n", "One of the most powerful features of NumPy arrays is that operations are vectorized." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2.1 Arithmetic\n", "Arithmetic operations work on NumPy arrays." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2.1.1 One-dimensional" ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])" ] }, "execution_count": 59, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr_1d = np.arange(0,11)\n", "arr_1d" ] }, { "cell_type": "code", "execution_count": 63, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])" ] }, "execution_count": 63, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr_1d + 5" ] }, { "cell_type": "code", "execution_count": 105, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([-12, -11, -10, -9, -8, -7, -6, -5, -4, -3, -2])" ] }, "execution_count": 105, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr_1d - 12" ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20])" ] }, "execution_count": 64, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr_1d * 2" ] }, { "cell_type": "code", "execution_count": 101, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0. , 0.25, 0.5 , 0.75, 1. , 1.25, 1.5 , 1.75, 2. , 2.25, 2.5 ])" ] }, "execution_count": 101, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr_1d / 4" ] }, { "cell_type": "code", "execution_count": 102, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2])" ] }, "execution_count": 102, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr_1d // 4" ] }, { "cell_type": "code", "execution_count": 103, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 0, 1, 8, 27, 64, 125, 216, 343, 512, 729, 1000])" ] }, "execution_count": 103, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr_1d ** 3" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2.1.2 Two-dimensional" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 0, 1, 2, 3, 4],\n", " [ 5, 6, 7, 8, 9],\n", " [10, 11, 12, 13, 14]])" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr_2d = np.arange(15).reshape((3,5))\n", "arr_2d" ] }, { "cell_type": "code", "execution_count": 110, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 0, 2, 4, 6, 8],\n", " [10, 12, 14, 16, 18],\n", " [20, 22, 24, 26, 28]])" ] }, "execution_count": 110, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr_2d * 2" ] }, { "cell_type": "code", "execution_count": 111, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "array([[ 0, 1, 4, 9, 16],\n", " [ 25, 36, 49, 64, 81],\n", " [100, 121, 144, 169, 196]])" ] }, "execution_count": 111, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr_2d ** 2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2.1.3 Multiple values" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "array([1, 2, 3, 4, 5])" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr_mult = np.array([1,2,3,4,5])\n", "arr_mult" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "array([[ 0, 2, 6, 12, 20],\n", " [ 5, 12, 21, 32, 45],\n", " [10, 22, 36, 52, 70]])" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr_2d * arr_mult" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [], "source": [ "arr_mult_2 = np.array([1,2,3])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2.2 Ufuncs\n", "Universal functions. For more information, visit: https://docs.scipy.org/doc/numpy/reference/ufuncs.html" ] }, { "cell_type": "code", "execution_count": 75, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])" ] }, "execution_count": 75, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr = np.arange(1,11)\n", "arr" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### .sum()\n", "Sum of array elements over a given axis." ] }, { "cell_type": "code", "execution_count": 105, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "70" ] }, "execution_count": 105, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.sum(arr)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### .sqrt()\n", "Return the non-negative square-root of an array, element-wise." ] }, { "cell_type": "code", "execution_count": 76, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "3.0" ] }, "execution_count": 76, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.sqrt(9)" ] }, { "cell_type": "code", "execution_count": 77, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([1. , 1.41421356, 1.73205081, 2. , 2.23606798,\n", " 2.44948974, 2.64575131, 2.82842712, 3. , 3.16227766])" ] }, "execution_count": 77, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.sqrt(arr)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### .power()\n", "First array elements raised to powers from second array, element-wise." ] }, { "cell_type": "code", "execution_count": 79, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "9" ] }, "execution_count": 79, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.power(3,2)" ] }, { "cell_type": "code", "execution_count": 81, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 1, 4, 9, 16, 25, 36, 49, 64, 81, 100])" ] }, "execution_count": 81, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.power(arr, 2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### .min(), .max()" ] }, { "cell_type": "code", "execution_count": 65, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([3, 5, 4, 0, 3, 5, 5, 9, 7, 7])" ] }, "execution_count": 65, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr = np.random.randint(0,10, 10)\n", "arr" ] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0" ] }, "execution_count": 67, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.min(arr)" ] }, { "cell_type": "code", "execution_count": 68, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0" ] }, "execution_count": 68, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr.min()" ] }, { "cell_type": "code", "execution_count": 69, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "9" ] }, "execution_count": 69, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.max(arr)" ] }, { "cell_type": "code", "execution_count": 70, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "9" ] }, "execution_count": 70, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr.max()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2.3 Broadcasting\n", "The term broadcasting describes how numpy treats arrays with different shapes during arithmetic operations. Subject to certain constraints, the smaller array is “broadcast” across the larger array so that they have compatible shapes. (NumPy documentation) " ] }, { "cell_type": "code", "execution_count": 93, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 0, 1, 2, 3, 4],\n", " [ 5, 6, 7, 8, 9],\n", " [10, 11, 12, 13, 14],\n", " [15, 16, 17, 18, 19]])" ] }, "execution_count": 93, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr_one = np.arange(0,20).reshape(4,5)\n", "arr_one" ] }, { "cell_type": "code", "execution_count": 94, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[10, 11, 12, 13, 14],\n", " [15, 16, 17, 18, 19],\n", " [20, 21, 22, 23, 24],\n", " [25, 26, 27, 28, 29]])" ] }, "execution_count": 94, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr_one + 10" ] }, { "cell_type": "code", "execution_count": 96, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[10, 11, 12, 13, 14],\n", " [15, 16, 17, 18, 19],\n", " [20, 21, 22, 23, 24],\n", " [25, 26, 27, 28, 29]])" ] }, "execution_count": 96, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr_one + np.array([10])" ] }, { "cell_type": "code", "execution_count": 97, "metadata": {}, "outputs": [ { "ename": "ValueError", "evalue": "operands could not be broadcast together with shapes (4,5) (2,) ", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0marr_one\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0marray\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m10\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m20\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;31mValueError\u001b[0m: operands could not be broadcast together with shapes (4,5) (2,) " ] } ], "source": [ "arr_one + np.array([10, 20])" ] }, { "cell_type": "code", "execution_count": 99, "metadata": {}, "outputs": [], "source": [ "arr_two = np.array([10,20,30,40,50])" ] }, { "cell_type": "code", "execution_count": 100, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[10, 21, 32, 43, 54],\n", " [15, 26, 37, 48, 59],\n", " [20, 31, 42, 53, 64],\n", " [25, 36, 47, 58, 69]])" ] }, "execution_count": 100, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr_one + arr_two" ] }, { "cell_type": "code", "execution_count": 101, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(4, 5)" ] }, "execution_count": 101, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr_one.shape" ] }, { "cell_type": "code", "execution_count": 102, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(5,)" ] }, "execution_count": 102, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr_two.shape" ] }, { "cell_type": "code", "execution_count": 103, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[10],\n", " [20],\n", " [30],\n", " [40],\n", " [50]])" ] }, "execution_count": 103, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr_two.reshape(5,1)" ] }, { "cell_type": "code", "execution_count": 104, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[10, 21, 32, 43, 54],\n", " [15, 26, 37, 48, 59],\n", " [20, 31, 42, 53, 64],\n", " [25, 36, 47, 58, 69]])" ] }, "execution_count": 104, "metadata": {}, "output_type": "execute_result" } ], "source": [ "arr_one + arr_two" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Array comparison begins with the trailing dimensions and subsequently works its way foward. Two array dimensions are compatible when:\n", "- they are equal, or\n", "- one of them is 1\n", "(NumPy documentation)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "https://jakevdp.github.io/PythonDataScienceHandbook/02.05-computation-on-arrays-broadcasting.html" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "output_type": "display_data", "data": { "text/plain": "
", "image/svg+xml": "\n\n\n\n \n \n \n \n 2021-01-19T11:06:42.342137\n image/svg+xml\n \n \n Matplotlib v3.3.3, https://matplotlib.org/\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", "image/png": "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\n" }, "metadata": { "needs_background": "light" } } ], "source": [ "# Plot sin and cos on the same graph, using matplotlib\n", "# Compute the x and y coordinates for points on sine and cosine curves \n", "x = np.arange(0, 20 * np.pi, 0.2) \n", "\n", "y_sin = np.sin(x) \n", "y_cos = np.cos(x) \n", " \n", "# Set up a subplot grid that has height 2 and width 1, \n", "# and set the first such subplot as active. \n", "plt.subplot(2, 1, 1)\n", " \n", "# Make the first plot \n", "plt.plot(x, y_sin) \n", "plt.title('Sine') \n", " \n", "# Set the second subplot as active, and make the second plot. \n", "plt.subplot(2, 1, 2) \n", "plt.plot(x, y_cos) \n", "plt.title('Cosine') \n", "\n", "# Ensure tight layout\n", "plt.tight_layout()\n", " \n", "# Show the figure. \n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.2-final" } }, "nbformat": 4, "nbformat_minor": 2 } ================================================ FILE: intro_data_science/part_2/binder/requirements.txt ================================================ pandas==1.2.0 matplotlib==3.3.3 numpy==1.19.5 ================================================ FILE: intro_data_science/part_2/ds_part_2.ipynb ================================================ { "metadata": { "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.2-final" }, "orig_nbformat": 2, "kernelspec": { "name": "python3", "display_name": "Python 3", "language": "python" } }, "nbformat": 4, "nbformat_minor": 2, "cells": [ { "source": [ "# A Brief Introduction to Matplotlib\n", "\n", "In this notebook, we will cover the basics of Matplotlib, a powerful, prolific library \n", "for organizing and visualizing data of all kinds. If you work in science, chances are you'll\n", "find a use case for this. Enjoy!" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np" ] }, { "source": [ "Now, let's make our first plot - a line graph! We're going to visualize data related to CO2 emissions." ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Use numpy to generate range of years to cover\n", "\n", "# Emissions data for China\n", "china_emissions = [8500.543, 9388.199, 9633.899, 9796.527, 9820.36, 9716.468, 9704.479, 9838.754, 10064.686]\n", "\n", "# Emissions data for USA\n", "us_emissions = [5700.108, 5572.585, 5371.777, 5522.908, 5572.106, 5422.966, 5306.662, 5270.749, 5416.278]\n", "\n", "# Emissions data for India\n", "india_emissions = [1700.027, 1811.961, 1979.047, 1994.101, 2199.4, 2298.17, 2371.752, 2456.954, 2654.101]\n", "\n", "# Emissions data for Russia\n", "russia_emissions = [1613.523, 1613.523, 1679.385, 1618.434, 1617.678, 1622.498, 1617.653, 1647.041, 1710.688]\n", "\n", "# Add style to the x ticks\n", "\n", "# Add labels\n", "\n", "# Add a legend\n", "\n", "# Ensure a tight, uncluttered layout\n", "\n", "# Save the figure as png, jpg, and svg\n", "\n", "# Annotate with source\n", "\n", "# Set the plot style\n", "\n", "# Show the figure" ] }, { "source": [ "Looks pretty good! But it's hard to see the relationship between Russia and the other countries. Let's transform this into a bar graph." ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Simple bar graph" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Stacked bar graph" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Grouped bar graph" ] }, { "source": [ "Great! Now let's explore this data as a percentage of the total global emissions." ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Total global emissions for those years\n", "world_emissions = [33066.651, 34357.366, 34919.289, 35207.886, 35505.827, 35462.747, 35675.099, 36153.262, 36572.754]" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Plot multiple years on the same figure" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ] } ================================================ FILE: intro_data_science/part_2/ds_part_2_complete.ipynb ================================================ { "metadata": { "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.2-final" }, "orig_nbformat": 2, "kernelspec": { "name": "python3", "display_name": "Python 3", "language": "python" } }, "nbformat": 4, "nbformat_minor": 2, "cells": [ { "source": [ "# A Brief Introduction to Matplotlib\n", "\n", "In this notebook, we will cover the basics of Matplotlib, a powerful, prolific library \n", "for organizing and visualizing data of all kinds. If you work in science, chances are you'll\n", "find a use case for this. Enjoy!" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 226, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np" ] }, { "source": [ "Now, let's make our first plot - a line graph! We're going to visualize data related to CO2 emissions." ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 191, "metadata": {}, "outputs": [ { "output_type": "display_data", "data": { "text/plain": "
", "image/svg+xml": "\n\n\n\n \n \n \n \n 2021-01-25T11:39:10.077039\n image/svg+xml\n \n \n Matplotlib v3.3.3, https://matplotlib.org/\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", "image/png": "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coTGjRtja2t7x8fo168f7du3L1Jvxn///UePHj1o1KgRn376KQDvv/8+Fy5coE2bNrz99tu8//77HDx4kDZt2rBs2TJWr17N4MGD6dGjB02bNlWPsZCWlsbTTz9N69atadmyJT/99JPZx9y9ezdPPPEEAPv376dNmzYAHD16lM6dO9O6dWs6dOhASkoKGRkZvPDCCwQHBzNkyBAyMzPV9TRo0ID4+HgAnnnmGdq1a0dISAhff/212mbXrl089thjtG7dml69epmtZ8mSJbRv355WrVoxe/bsOz6X9957jxYtWtCqVSumT59udn3ffvstjz76KB06dODQoUPqdGNP1JkzZ0y+wCMjI2nVqhUAf/31F927d6ddu3b069eP69evm32MvH799Vcef/xxHn30UbZv337Htnq9ntdee43mzZvTp08fnnrqKbVn5bfffqNt27a0atWKcePGkZWVxa5duxg2bJi6fN4el+TkZHJycvD29i60RiGEECXnrseMnDp1isaNG5tMc3d3p3Llypw/f54WLVowc+ZMAMLDw5k6dSrr168nJSWF8PBwgoODi/Q4jRo1IiIiAoBZs2bRpEkTunfvnq9dREQEmzdvJjU1lWbNmvHiiy/y7rvvcurUKXVb9r59+/jkk0/UzUWrV6/m6NGjHDx4ECcnJzp06ECXLl24dOkS/v7+arf9jRs38j2+TqcjIiKCOnXqALBz50569OhBdnY2w4cP56uvvqJp06YkJyfj5OTEp59+ipOTE+Hh4fz777+0a9fO7PNdtmwZ5cqVIyMjgw4dOtCrVy/0ej0TJ05k69atVK1alcTExHzL7dmzh3PnzrFnzx4URWHw4MH8/vvvxMXF5XsuCQkJbNmyhcOHD6PRaMxuIrp+/Tpz587l119/xd3dnZ49e9KwYUOTNrVq1SI7O5uLFy9StWpVNmzYQN++fcnJyWHKlCl89913eHt789NPPzFjxgyWLVt2x//rS5cusWfPHi5cuEDPnj3vuJvp5s2buXTpEocOHSI2Npbg4GCeffZZMjMzGTt2LBs3bqRmzZqMGjWKL774gpEjR/LKK6+QlpaGi4sLGzZsoF+/foAhBD322GN3rE0IIUTJK/ZdewMCAsjJySE6OpozZ84QFBRE06ZNOXLkCOHh4YSEhBRpPXl3I3zrrbfMBhGAzp074+DggJeXFz4+PsTE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\n" }, "metadata": {} } ], "source": [ "# Use numpy to generate range of years to cover\n", "years = np.arange(2010, 2019)\n", "\n", "# Emissions data for China\n", "china_emissions = [8500.543, 9388.199, 9633.899, 9796.527, 9820.36, 9716.468, 9704.479, 9838.754, 10064.686]\n", "plt.plot(years, china_emissions, label='China', color='red')\n", "\n", "# Emissions data for USA\n", "us_emissions = [5700.108, 5572.585, 5371.777, 5522.908, 5572.106, 5422.966, 5306.662, 5270.749, 5416.278]\n", "plt.plot(years, us_emissions, label='USA', color='blue')\n", "\n", "# Emissions data for India\n", "india_emissions = [1700.027, 1811.961, 1979.047, 1994.101, 2199.4, 2298.17, 2371.752, 2456.954, 2654.101]\n", "plt.plot(years, india_emissions, marker=\"o\", label='India', color='#228B22')\n", "\n", "russia_emissions = [1613.523, 1613.523, 1679.385, 1618.434, 1617.678, 1622.498, 1617.653, 1647.041, 1710.688]\n", "plt.plot(years, russia_emissions, label='Russia', color='purple')\n", "\n", "# Add style to the x ticks\n", "plt.xticks(ticks=years, labels=years, rotation=45)\n", "\n", "# Change scaling for y axis\n", "# plt.axis([2010, 2018, 0, 30])\n", "\n", "# Add labels\n", "plt.xlabel('Year')\n", "plt.ylabel('CO2')\n", "plt.title('CO2 Emissions')\n", "\n", "# Add a legend\n", "plt.legend(bbox_to_anchor=(1, 1), prop={'size': 12})\n", "\n", "# Ensure a tight, uncluttered layout\n", "# plt.tight_layout()\n", "\n", "# Save the figure\n", "plt.savefig('./out/co2_plot1.png')\n", "plt.savefig('./out/co2_plot2.jpg')\n", "plt.savefig('./out/co2_plot3.svg')\n", "\n", "# Annotate with source\n", "# Placement of annotation is fraction of the axes coordinate system\n", "# Placement of text is an offset in points\n", "plt.annotate('OWID: https://cdiac.ess-dive.lbl.gov/', (0,0), (-65,-65), fontsize=10, \n", " xycoords='axes fraction', textcoords='offset points')\n", "\n", "# Set the plot style\n", "plt.style.use('fivethirtyeight')\n", "\n", "# Show the figure\n", "plt.show()" ] }, { "source": [ "Looks pretty good! But it's hard to see the relationship between Russia and the other countries. Let's transform this into a bar graph." ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 229, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "Text(0.5, 1.0, 'CO2 Emissions - 2010')" ] }, "metadata": {}, "execution_count": 229 }, { "output_type": "display_data", "data": { "text/plain": "
", "image/svg+xml": "\n\n\n\n \n \n \n \n 2021-01-25T12:30:41.408505\n image/svg+xml\n \n \n Matplotlib v3.3.3, https://matplotlib.org/\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbcAAAEeCAYAAAAJhFvNAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAAAorklEQVR4nO3de1zOd/8H8Ne1ahRtl1OXlAqdlEOhAzklZoqUUxtjup0q3b/dDGm7DRUqpzIzlvO53RhNM0ONUop7o6b7TkSIObQuUzHR9fvDo+veta6OOn68no9Hj4fr+/18vt/P963H9erzPVyXRC6XK0BERCSQNxp6AERERLWN4UZERMJhuBERkXAYbkREJByGGxERCYfhRkREwmG4EdWxFStWQCqVIiEhoc73JZVK4ebmVuf7IWrsGG5UJVlZWQgICEC/fv1gZGSEdu3awdzcHOPGjcPWrVtRWFiotl9aWhr+/ve/o1evXujQoQMMDAzg4OCA+fPnIzs7W22fO3fu4KuvvsKECRPQs2dPyGQyGBsbw9XVFXv37oVCUb1HM7t37w6pVFrhz549e6pdE2p4CoUCp06dwoIFCzBw4EB06tQJenp6sLGxwZw5c3Djxo1y+z558gQrVqxAnz59IJPJYGpqiqlTpyIzM1Nt+/j4eHz66adwd3dHp06dIJVKMXTo0ErHmJubC39/f1haWkJPTw/du3fHwoULIZfLa3jUVBUSPsRNlQkPD0doaChKSkrQp08f9OrVC7q6urh//z6SkpJw7do1dOrUCT///LOyj0KhwLJly7B69Wq88cYbGDRoEKytrVFSUoKffvoJycnJ0NTURGhoKKZPn66yvyVLliAiIgKGhobo378/OnTogLt37+Lo0aN4/PgxPDw8sH379iqPv3v37rh16xZ8fHzw9ttvq23j5uaGHj161Kg+lcnLy0NeXh4MDQ2ho6NTJ/sodeXKFWhra6Njx451up/G4unTp2jfvj20tLTg6OiI7t27QyKRICUlBRcuXEDLli3xzTffwM7OTqXfH3/8AQ8PDyQnJ8PW1hYDBw5Ebm4uDh8+jDfffBMxMTHo06ePSp+JEyfiu+++Q/PmzdG5c2dkZGSgT58+OHnyZLnju3HjBt555x3cv38frq6uMDc3x7///W8kJCTAzMwMx48fR+vWreukNq87hhtVaPXq1QgODoaBgQG2bdsGe3v7Mm3i4+MREhKCU6dOKZetWrUKISEhMDQ0xN69e8sEx5kzZzBlyhTI5XJERUVh/PjxynUxMTGQSqUYMGAAJBKJcvndu3cxdOhQ5ObmYufOnXB3d6/SMZSG26VLl2BsbFzdElAjVlxcjIiICEybNq1MSISHh2P58uWwsrJCUlKSyro1a9YgKCgIo0ePxrZt2/DGGy9PYsXGxmLSpEmwtLREUlKScjkApKamQldXF+bm5rh9+zZ69uxZabiNGTMGcXFxCAsLw6xZs5TLP/nkE2zYsAHe3t5Yu3ZtbZSC/oKnJalcOTk5CA0NhZaWFqKjo9UGGwA4Ozvju+++U76+efMmQkNDoampiX379qmdEQ0cOBCbNm0CAAQEBKCgoEC5zt3dHQMHDlQJNgDQ19fH3/72NwCo0+tXCQkJkEql8PX1xfXr1zFlyhR06tQJhoaG8PT0REZGBgDg4cOH+Oijj2BpaQmZTIbBgwfjzJkzZbZX3jW3pKQkvPfee7C2toaenh5MTU0xePBgfPrppyqnXh8/foyVK1cqTwkbGBigR48e+OCDD8pss7xrbo8fP0ZISAjs7Owgk8lgZGSEUaNGITY2tkzbnJwc5Xby8vLw0UcfwcLCAnp6enB0dMTu3bvL9FEoFNi3bx+GDx8OU1NTyGQyWFlZYdSoUdixY0fVCl8DWlpamD9/vtrZz9y5c6GtrY2MjAz89ttvKmPdunUrAGDp0qUqAebm5oa+ffviv//9LxITE1W2Z29vj65du0JDQ6NKY7t+/Tri4uJgZGSEGTNmqKwLDAxEixYtEB0dXe4pfXo1DDcq1549e1BcXIxRo0ahW7duFbZt1qyZ8t+7d+/G8+fPMXLkSHTv3r3cPsOHD4etrS1+++03HDlypEpj0tLSAgBoampWqf2ruHnzJlxcXJCfn49Jkyahb9++iI+Px6hRo3Dt2jUMHToUaWlp8PT0hKurKy5duoTx48fj1q1blW775MmTGDlyJJKSktC/f3/4+/vD3d0db7/9NjZt2oQXL14AePlGPG7cOCxbtgza2tqYNGkSpk+fDkdHR1y8eBGnT5+udF+PHj3C8OHDsWrVKmhra8PHxwdjxoxBeno6Jk2ahLCwsAr7nT9/Hu7u7nj//fdx9+5d+Pv7Y+/evSptg4OD4evri7t372L06NGYPXs2nJ2d8fvvv2P//v1VqHbte+ONN5S/J38OsOvXr+P27dswNTWFiYlJmX7Dhg0DALV/qFRH6R8eQ4YMUdk/AOjq6sLBwQFFRUW4cOHCK+2H1Kv7dwhqss6dOwcAGDx4cI36OTs7V9rW2dkZP//8M86dO4dJkyZV2Pb58+fKN8qqXMj/qy+//LLca26+vr6QSqUqy86ePYvg4GD8/e9/Vy776KOPsGPHDri4uMDLywuhoaHKGWa3bt0QHByMDRs2YMWKFRWOZceOHSgpKcHRo0fLzGx/++035ZtyRkYGUlJSlDfT/JlCoUB+fn6lx7106VJkZGRg0qRJWL9+vXK88+fPx5AhQxAaGophw4ahV69eKv1++eUXTJ48GREREcrZiq+vL5ycnBAZGYmJEycq227btg36+vpITk5GixYtVLaTl5dX6RjrwjfffIPHjx/Dzs5O5f82KysLANClSxe1/UqXX7t27ZX2X5X9xMXF4erVqxg0aNAr7YvKYrhRue7duwcA6NChQ436GRgYVNq2tM2vv/5aadt//vOfyMjIwPDhw+Hi4lKtMQHAxo0by103ceLEMuFmbGyM2bNnqyzz8vLCjh07UFxcjM8++0zl1OmECRMQHByM9PT0Ko9JW1u7zDJ1p9jUtZNIJJXejFBcXIz9+/dDR0cHQUFBKuM1MDDA3LlzERAQgJ07d5YJNx0dHSxbtkzlNJylpSUcHByQlJSEgoICtGzZUrlOS0tL7Yy6TZs2FY6xLmRnZ2PBggXQ1NTE8uXLVdb9/vvvAFDuHzpvvfUWgJcz11dRX/sh9Rhu1CSsWbMGGzduRNeuXZXX6qqrujeUdOvWrczppPbt2wMAOnfuXGaGoq+vD+DlowyVGT9+PL799lu4uLjA09MTAwYMgJ2dXZnxWVpaonv37jh48CBu3rwJV1dXODg4oFevXmjevHml+7ly5QqKiorQp08ftSFTOiu/dOlSmXWdO3dWvgH/maGhIQBALpcrw238+PH46quvYG9vDw8PD/Tt2xcODg5o1apVpWMEXl7n++vMFHh5baq6cnNzMWbMGOTl5SEiIqLMnZL0emC4UblkMhkyMzOr9Gb9Z3p6esjMzERubm6lbUvblIaGOqV3XlpbW+PIkSNlZlh1Rd0be+ksRt260llLcXFxpdt2d3fH119/jS+++AL79u1T3nRhZWWFgIAAjB49Wrm/b7/9FitXrkRMTAyWLl0K4OWsytPTE0FBQRXOjEpnD3p6emrXy2QyAOpnD+XNOEprUHpdEHh500znzp2xd+9erFu3DpGRkcpHQIKCgiq89gq8vL6p7tpfdcPt1q1bcHd3R05ODlavXo2pU6eWaVPZjKmyGVdV1dd+SD3eUELlcnR0BIAq3bSgrl98fHylbX/88UeVPn8VEhKCkJAQ2NjY4OjRo2jbtm21xtKYvfPOOzhy5AhycnIQGxuLOXPm4NatW5g6darKnXpSqRTLli1Deno6Ll68iA0bNsDGxgZ79uxR++b9Z6VvsPfv31e7vvQUsrqwrg4NDQ34+PjgzJkzuHbtGvbu3YsJEybgxx9/hKenp8rdiuoMGDAAcrm8zE91XL9+Ha6ursjJycG6deswbdo0te3MzMwAlH9NrXR5edfKqqqq+zE1NX2l/ZB6DDcq16RJk6ClpYWYmBjl7e/l+eOPP1T6aWpqIjY2FpcvXy63z4kTJ/DTTz+hdevWypnKn33yySdYtWoV7OzscOTIkSqf4mpqtLW14eTkhMWLFyM4OBgKhULtLfoAYGJigokTJyImJgaGhoZISEio8JqNubk5dHR0kJGRofbGjtI/XGxsbGrlWICX1wxdXV2xceNGjB07Fg8fPkRycnKtbV+dzMxMuLq64s6dO9i0aRMmT55cbtvSxzquXr2q9hNMTpw4AeDl4yqvYsCAAQCAuLg4lJSUqKx7/PgxUlJSoKOjU+ZhcaodDDcql7GxMRYuXIji4mJMmDCh3FuWz5w5g5EjRypfm5iYYN68eSguLsZ7772HX375pUyfxMREzJw5EwAQGhqqcmOCQqHA3LlzsWHDBvTr1w/ffPONcKduEhMT8fz58zLLS2dSpZ9kcuPGDbVvwAUFBSgsLCz3Jo5SWlpa8PLyQlFREZYuXary/Nzdu3exdu1aSCQSfPDBBzU+lj/++ENteCkUCjx48EDleOrCL7/8Ajc3Nzx8+BBbt25V+UAAdSQSifJ5ycWLF6sET2xsLJKTk2FpaYn+/fu/0rg6deqEIUOG4ObNm4iKilJZt2LFChQWFsLLy6vMtVuqHbzmRhX6+OOP8fz5c4SFhWHo0KGwt7eHra0tdHV18eDBA5w7dw6ZmZllTuEEBATg6dOniIiIwKBBgzB48GDlx2/9/PPPOHv2LDQ1NbFy5UpMmDBBpW9YWBi2bt2KN998E3369MHnn39eZlxGRkaVPjrwVxU9CmBnZ1ejxwtqauHChcjNzYWjoyOMjIzQvHlzXL58GadOnULr1q3x4YcfAvjf7fg2NjawsLCAvr4+5HI5jh8/jvz8fPj7+1f65rh48WIkJydj586dSEtLw+DBg/Ho0SMcPnwY+fn5WLBgwSvNHp48eYIRI0bAxMQEtra26NixI4qLi5GYmIj09HTY2dkpZzG1TS6XY9SoUcjPz0ffvn2RkZGh9izDxIkTVW7WmT17Nn744QccOXIELi4uGDRoEG7fvo3Dhw9DR0cH69evL3MzUWkNASgfvL5+/Tp8fX2VbUJCQlSuga5evRrvvPMOAgICcPr0aVhYWODChQtISEiAqakpFi1aVKv1oP9huFGlAgIC4Onpic2bNyMxMRH79u1DUVERWrVqhW7dumHmzJl4//33VfpIJBIsWbIEHh4eiIqKwtmzZ5GUlASJRAIDAwPMmDEDPj4+aq9r5OTkAACePXuGdevWqR2Tk5NTtcOtokcBfHx86jXcPv74Y8TGxuLnn39WPuzboUMH+Pr6ws/PT3lHoq2tLebOnYvExETEx8cjPz8frVu3hrm5OZYvXw4PD49K9yWVSnH8+HFERkYiJiYGGzZsQLNmzdCjRw/MmjWryh9jVp4WLVogKCgICQkJOH/+PI4dOwZtbW0YGxsjJCQE3t7edfbQ/aNHj5TP+iUnJ5d7+rN///4q4dasWTN88803WLt2LQ4ePIgNGzZAV1cXbm5uCAwMhKWlZZltZGdnY9++fSrL8vLyVJYtXLhQJdw6deqEH3/8EcuXL8fJkydx4sQJyGQy+Pj4YOHChfV2c9TriJ8tSUREwuE1NyIiEg7DjYiIhMNwIyIi4TDciIhIOAw3IiISDsONiIiEw3AjIiLhMNyoWkq/gJFqD2tau1jP2tVU68lwIyIi4TDciIhIOAw3IiISDsONiIiEw3AjIiLhMNyIiEg4DDciIhIOw42IiITz2nwTt3RbbkMPoVGQexs09BCIiOocZ25ERCQchhsREQmH4UZERMJhuBERkXAYbkREJByGGxERCYfhRkREwmG4ERGRcBhuREQkHIYbEREJh+FGRETCYbgREZFwGG5ERCQchhsREQmH4UZERMJhuBERkXCaRLi5ublh/vz5DT0MIiJqIqr0Tdy+vr7Yt28fAEBDQwP6+vp455138Nlnn0Eqldbl+AAAu3fvhqbma/Ol4URE9IqqnBiDBw/Gpk2b8Pz5c2RmZsLf3x+PHj3Cli1b6nJ8AIBWrVrV+T6IiEgcVT4t2axZM8hkMhgYGGDIkCHw9PREXFwcgJczOy8vL5X2K1asQN++fZWvL1++DHd3d3Ts2BEGBgZwcnLCmTNnAADFxcVYsGABLC0toaenB2trayxZskTZ96+nJaOjo+Hs7AxDQ0OYmpriww8/xJ07d2pUACIiEk+NzvXduHEDp06dgpaWVpX7zJgxA926dcOpU6egqamJy5cvo3nz5gCAjRs3IjY2Flu2bIGRkRHu3LmDrKyscrf17NkzBAYGwtzcHHl5eVi8eDGmTZuGY8eO1eRwiIhIMFUOt5MnT8LAwAAvXrzA06dPAQDLli2r8o5u3boFf39/mJubAwA6d+6ssq5Lly7o168fJBIJOnbsCAcHh3K3NXnyZOW/TUxMsGbNGtjb2yM3NxcGBgZVHtPrqKI/GupzG6SKNa1drGftaoz1NDMzq3B9lcOtX79+iIyMxJMnT7Bjxw7cuHEDPj4+VR6In58f/u///g/79u3DoEGD4O7urgy6iRMnwtPTE71798aQIUMwbNgwDBs2DG+8of6s6cWLFxEWFob09HTI5XIoFAoAwO3btxlulajsF6IyWVlZr7wNUsWa1i7Ws3Y11XpW+Zqbjo4OOnfuDGtra4SHh6OoqAjh4eEvN/LGG8qAKfX8+XOV14GBgUhJSYGbmxtSU1Ph5OSEXbt2AQBsbGyQlpaGxYsXo6SkBL6+vvDw8EBJSUmZcRQWFmLs2LHQ0dHBpk2bEBcXhwMHDgB4ebqSiIioxs+5BQQEIDIyEnfv3kXbtm3x66+/qqxPT08v06dLly7w8fHB119/jcmTJyvDDQB0dXUxevRorFmzBl9//TXOnDmD7OzsMtvIyspCXl4eFi1aBCcnJ5ibm+PBgwc1PQwiIhJQjcNtwIABsLCwwKpVqzBw4ECkpaVh165dyM7ORmRkJM6dO6ds++TJE8ybNw8JCQnIycnBhQsXcO7cOVhYWAAA1q9fjwMHDiAzMxPZ2dn417/+hbfeegsdOnQos19DQ0M0a9YMUVFRuHHjBo4fP47ly5fX9DCIiEhAr/QJJf7+/ti1axfMzMwQEBCAkJAQDB48GDdv3sT06dOV7TQ0NCCXy+Hn5wc7Ozt88MEHsLOzU96Qoquri3Xr1sHFxQWDBg1Ceno6/vWvf0FHR6fMPtu2bYsvv/wSsbGxcHBwQFhYWLVubCEiIvFJ5HK5ovJmTZ90W25DD6FRkHu/2g03TfXicmPGmtYu1rN2NdV6NonPliQiIqoOhhsREQmH4UZERMJhuBERkXAYbkREJByGGxERCYfhRkREwmG4ERGRcBhuREQkHIYbEREJh+FGRETCYbgREZFwGG5ERCQchhsREQmH4UZERMLRbOgB1JdX/R4zIiJqOjhzIyIi4TDciIhIOAw3IiISDsONiIiEw3AjIiLhMNyIiEg4DDciIhIOw42IiITDcCMiIuEw3IiISDivzcdvSbflNvQQGiV+LBkRiYgzNyIiEg7DjYiIhMNwIyIi4TDciIhIOAw3IiISDsONiIiEw3AjIiLhMNyIiEg4DDciIhIOw42IiITDcCMiIuEw3IiISDgMNyIiEg7DjYiIhMNwIyIi4TDciIhIOI0y3Ly8vODr66t87ebmhvnz5zfgiIiIqCmp9W/i9vX1xW+//Ybo6Oha2+bu3buhqfnafGk4ERG9oiaRGK1atWroIRARURNSp6clfX194eXlhS+//BJdu3aFsbEx/Pz8UFRUpGxTVFQEX19fGBgYwMzMDKtXry6znb+eloyOjoazszMMDQ1hamqKDz/8EHfu3KnLQyEioiakzq+5JScn4z//+Q8OHz6Mbdu24ejRo9i4caNy/aJFi/Djjz9i586dOHLkCNLS0pCUlFThNp89e4bAwEAkJiYiOjoaeXl5mDZtWl0fChERNRF1flpSV1cXa9euhYaGBiwsLODh4YHTp09j7ty5KCgowK5du7B+/Xq4uLgAAL744gtYWVlVuM3Jkycr/21iYoI1a9bA3t4eubm5MDAwqNPjISKixq/Ow83CwgIaGhrK1+3bt8eFCxcAANevX8ezZ89gb2+vXN+yZUtYW1tXuM2LFy8iLCwM6enpkMvlUCgUAIDbt28z3KopKyurXvpQxVjT2sV61q7GWE8zM7MK19d5uGlpaam8lkgkyjCqicLCQowdOxaDBw/Gpk2b0K5dO+Tl5WHEiBF49uzZqw73tVPZL8hfZWVlVbsPVYw1rV2sZ+1qqvVs0OfcOnXqBC0tLZw/f165rLCwEBkZGeX2ycrKQl5eHhYtWgQnJyeYm5vjwYMH9TFcIiJqIhr0UYCWLVti8uTJWLJkCdq2bYv27dsjPDwcJSUl5fYxNDREs2bNEBUVhRkzZiAzMxPLly+vx1ETEVFj1+DPuQUHB6OwsBAffPABtLW1MXPmTJVHBf6qbdu2+PLLLxEUFITNmzfD2toay5Ytw9ixY+tx1ERE1JhJ5HJ5zS+ANSHSbbkNPYRGSe5dvRtwmur598aMNa1drGftaqr1bJSfLUlERPQqGG5ERCQchhsREQmH4UZERMJhuBERkXAYbkREJByGGxERCYfhRkREwmG4ERGRcBhuREQkHIYbEREJh+FGRETCYbgREZFwGG5ERCQchhsREQmH4UZERMJp8G/iri/V/VJOIiJqujhzIyIi4TDciIhIOAw3IiISDsONiIiEw3AjIiLhMNyIiEg4DDciIhIOw42IiITDcCMiIuEw3IiISDivzcdvSbflNvQQBKEDJLKWtYs1LQ8/No9qijM3IiISDsONiIiEw3AjIiLhMNyIiEg4DDciIhIOw42IiITDcCMiIuEw3IiISDgMNyIiEg7DjYiIhMNwIyIi4TDciIhIOAw3IiISDsONiIiEw3AjIiLhMNyIiEg4DDciIhJOvYSbm5sb5s+fX2b5nj17YGDw8pt2i4qKEBQUBFtbW8hkMnTu3BnDhw/HgQMHyvR79uwZunTpAgMDAzx69KjOx09ERE2LZkMPoNScOXOQkpKC0NBQdO3aFXK5HBcuXEB+fn6ZtrGxsTA2NsZbb72FAwcOYNq0aQ0wYiIiaqwaTbgdO3YMISEhePfddwEAxsbG6Nmzp9q2u3btgpeXF95++21s3LiR4UZERCoazTU3mUyGkydPVnqa8ebNm0hMTMTYsWMxatQoZGVlIT09vZ5GSURETUGjCbeIiAj8+9//RpcuXTBw4EDMnz8f8fHxZdrt2bMHzs7OaNu2LVq0aIGRI0di586dDTBiIiJqrBrNaUknJydcvHgR58+fR0pKCs6cOQNPT09MnToVERERAICSkhLs2bMHQUFByn7vvfcepk6diuDgYDRv3ryBRk9EdSErK6te+5F6jbGeZmZmFa6vl3DT1dVVe7rx0aNHeOutt5SvtbS00K9fP/Tr1w9z5szBypUrsWzZMsyZMwfGxsaIi4vD7du3MWPGDMyYMUPZ78WLF4iJicGECRPq43CIqJ5U9gamTlZWVo36kXpNtZ71Em5mZmY4ceIEFAoFJBKJcvmlS5dgampabj8LCwsAQGFhIYCXN5KMGjUKgYGBKu02bdqEXbt2MdyIiAhAPYXbtGnTEBUVhQULFmDKlClo3rw5fvjhBxw8eBD79u0D8PJZuHHjxsHW1hatWrVCZmYmgoODYW5uDgsLCzx8+BDHjh3D9u3bYWVlpbL9yZMnY9iwYbh+/To6depUH4dERESNWL3cUGJiYoLvvvsO165dw5gxY+Di4oJDhw5h+/btGDZsGADAxcUF0dHRGDNmDOzt7fHxxx+jb9++OHToEDQ0NLB//340a9YMLi4uZbbfu3dvGBgYYNeuXfVxOERE1MhJ5HK5oqEHUR+k23IbeghEVE1yb4Nq92mq14gaq6Zaz0bzKAAREVFtYbgREZFwGG5ERCQchhsREQmH4UZERMJhuBERkXAYbkREJByGGxERCYfhRkREwmG4ERGRcBhuREQkHIYbEREJh+FGRETCYbgREZFwGG5ERCQchhsREQlHs6EHUF9q8qWHVFZT/eLCxow1Jap9nLkREZFwGG5ERCQchhsREQmH4UZERMJhuBERkXAYbkREJByGGxERCYfhRkREwmG4ERGRcBhuREQkHIlcLlc09CDqg3RbbkMPgYiIUD8fh8iZGxERCYfhRkREwmG4ERGRcBhuREQkHIYbEREJh+FGRETCYbgREZFwGG5ERCQchhsREQmH4UZERMJhuBERkXAYbkREJByGGxERCYfhRkREwmG4ERGRcBhuREQknDoNN6lUiiNHjrxyGyIioup4pXC7f/8+AgICYGNjAz09PXTt2hXjxo3DDz/8UOVtZGZm4t13332VYRAREanQrGnHnJwcvPvuu2jZsiUWL16Mbt26oaSkBKdPn8bcuXPxyy+/VGk7MpmspkMgIiJSq8Yzt3nz5gEA4uPj4enpCTMzM1hYWGDmzJlITExUtsvPz8eHH36IDh06oGfPnoiOjlbZzp9PS+bk5Chfe3h4QF9fHw4ODoiPj1e2f/HiBfz9/dGjRw+0b98evXr1QmRkJEpKSmp6KEREJJgahVt+fj5OnjyJ6dOno2XLlmXWS6VS5b/Dw8Ph6uqKxMREjBkzBv7+/rh161aF2w8JCcGsWbOQmJgIW1tb/O1vf0NBQQEAoKSkBPr6+ti+fTtSUlKwaNEirF69Grt3767JoRARkYBqdFoyOzsbCoUC5ubmlbb18vKCl5cXAODTTz/Fxo0bkZSUpFymjp+fH0aMGAEA+Oyzz7B//36kp6ejb9++0NLSwqeffqpsa2xsjEuXLuHgwYOYMmVKTQ6HiIjqUVZW1itvw8zMrML1NQo3hUJR5bbW1tb/25mmJtq0aYMHDx5UuY++vj4AqPTZunUrdu7ciVu3buHp06coLi5Gx44dqzwmIiJqOJUFU22o0WnJLl26QCKR4MqVK5W21dLSUnktkUgqDcc/95FIJAD+F6iHDh1CYGAgJk6ciIMHDyIhIQHTpk3Ds2fPqnsYREQkqBqFW6tWreDi4oKoqCjltbA/k8vlrzquciUnJ6N3796YOXMmbGxs0LlzZ1y/fr3O9kdERE1Pje+WXLVqFRQKBZydnXH48GFkZWXhypUr2LJlC/r371+bY1RhamqKtLQ0nDhxAteuXUN4eDiSkpLqbH9ERNT01Pg5NxMTE5w+fRqrV6/G4sWLcffuXbRu3RrdunVDRERELQ5Rlbe3N9LT0zF9+nQoFAq4u7tj9uzZvFuSiIiUJHK5vOp3hzRh0m25DT0EIiICIPc2qPN98IOTiYhIOAw3IiISDsONiIiEw3AjIiLhMNyIiEg4DDciIhIOw42IiITDcCMiIuEw3IiISDgMNyIiEg7DjYiIhMNwIyIi4TDciIhIOAw3IiISDsONiIiEw3AjIiLhvDZfVkq1IysrC2ZmZg09DKGwprWL9axdTbWenLkREZFwGG5ERCQchhsREQmH4UZERMJhuBERkXAYbkREJByGGxERCYfhRkREwuFD3EREJBzO3IiISDgMNyIiEg7DjYiIhMNwIyIi4TDciIhIOEKH2+bNm9GjRw/IZDIMGjQISUlJDT2kBrdmzRo4OzujY8eO6NKlC7y8vJCRkaHSRqFQYMWKFbC0tET79u3h5uaG//znPypt5HI5Zs6cCSMjIxgZGWHmzJmQy+UqbS5fvgxXV1e0b98eXbt2RVhYGBQKsW/OXbNmDaRSKebPn69cxnpWz6+//gofHx906dIFMpkMDg4OSExMVK5nPavnxYsXCAkJUb4X9ujRAyEhIXj+/LmyjYg1FTbcDh06hIULF+Ljjz/GmTNnYG9vj/Hjx+PWrVsNPbQGlZiYiGnTpuH48eOIiYmBpqYmPDw8kJ+fr2wTGRmJL774AmFhYYiLi0O7du3g6emJx48fK9tMnz4daWlpOHDgAA4cOIC0tDTMmjVLuf7333+Hp6cn9PT0EBcXh9DQUHz++edYv359vR5vfTp//jy2b98Oa2trleWsZ9XJ5XIMHz4cCoUCX3/9NVJSUhAeHo527dop27Ce1RMREYHNmzcjLCwMqampCA0NRVRUFNasWaNsI2JNhX3OzcXFBdbW1li3bp1yWa9evTB69GgsXry4AUfWuBQUFMDIyAh79uzBiBEjoFAoYGlpiRkzZmDevHkAgCdPnsDMzAzBwcHw9vZGZmYmHBwc8P3338PR0REAkJycjBEjRuD8+fMwMzPDli1bsGTJEly5cgXa2toAgJUrV2Lr1q3IyMiARCJpsGOuC48ePcKgQYOwbt06hIWFwcrKCitXrmQ9qykoKAhnz57F8ePH1a5nPavPy8sLrVq1wsaNG5XLfHx8kJ+fj+joaGFrKuTM7dmzZ7h48SKGDBmisnzIkCFISUlpoFE1TgUFBSgpKYFUKgUA5OTk4N69eyq109bWRr9+/ZS1S01NRcuWLeHg4KBs4+joiBYtWqi06du3r/KXHHj5B8fdu3eRk5NTD0dWv/7xj39g9OjRGDhwoMpy1rN6YmNj0bt3b3h7e8PU1BT9+/fHV199pTy1xXpWn6OjIxITE3HlyhUAwH//+18kJCRg2LBhAMStqZDhlpeXhxcvXqicygCAdu3a4f79+w00qsZp4cKF6N69O+zt7QEA9+7dA4AKa3f//n20adNG5S8xiUSCtm3bqrRRt43SdSLZsWMHsrOz8c9//rPMOtazem7cuIEtW7bAxMQEBw8ehI+PD5YuXYqoqCgArGdN/OMf/4CXlxccHBzQtm1bODo64v3338f06dMBiFtTzXrfIzUan3zyCc6dO4fvv/8eGhoaDT2cJikrKwtBQUH4/vvvoaWl1dDDafJKSkpga2urvHTQs2dPZGdnY/PmzZg5c2YDj65pOnToEPbv34/NmzfD0tIS6enpWLhwIYyMjDBlypSGHl6dEXLm1qZNG2hoaODBgwcqyx88eAA9Pb0GGlXjEhgYiIMHDyImJgYmJibK5TKZDAAqrJ2enh7y8vJU7oJSKBR4+PChSht12yhdJ4rU1FTk5eXB0dERbdq0QZs2bXD27Fls3rwZbdq0QevWrQGwnlUlk8lgYWGhsszc3By3b99WrgdYz+r47LPP4O/vj7Fjx8La2hrvvfceZs+ejbVr1wIQt6ZChtubb74JGxsbxMfHqyyPj49XOWf8ugoICFAGm7m5uco6Y2NjyGQyldo9ffoUycnJytrZ29ujoKAAqampyjapqakoLCxUaZOcnIynT58q28THx0NfXx/GxsZ1eXj1ys3NDUlJSUhISFD+2NraYuzYsUhISICpqSnrWQ2Ojo64evWqyrKrV6+iY8eOAPj7WRNFRUVlzsxoaGigpKQEgLg1FTLcAGD27NnYu3cvdu7ciczMTAQEBODXX3+Ft7d3Qw+tQc2bNw979+5FVFQUpFIp7t27h3v37qGgoADAy/Povr6+iIyMRExMDDIyMuDn54cWLVpg3LhxAAALCwsMHToUc+bMQWpqKlJTUzFnzhwMHz4cZmZmAIBx48ZBW1sbfn5+yMjIQExMDCIiIuDn5yfUnWhSqRRWVlYqPzo6OmjVqhWsrKxYz2ry8/PD+fPnsWrVKmRnZ+Pw4cP46quvlNeHWM/qe/fddxEREYHjx48jJycH3377Lb744guMHDkSgLg1FfZRAODlQ9yRkZG4d+8eunbtiuXLl8PJyamhh9WgSu+K/KuAgAAEBgYCeHm6ITQ0FNu3b4dcLkfv3r2xatUqWFlZKdvL5XIsWLAAx44dAwCMGDEC4eHhKtu/fPky5s2bh59++glSqRTe3t4ICAgQ7s3jr9zc3JSPAgCsZ3UdP34cQUFBuHr1KgwNDTFjxgzMmjVLeZysZ/U8fvwYy5Ytw9GjR/Hw4UPIZDKMHTsWCxYsQPPmzQGIWVOhw42IiF5Pwp6WJCKi1xfDjYiIhMNwIyIi4TDciIhIOAw3IiISDsONiIiEw3AjIiLhMNyIiEg4DDciIhLO/wNGS+XKxoT5NAAAAABJRU5ErkJggg==\n" }, "metadata": {} } ], "source": [ "emissions_arr = [china_emissions[0], us_emissions[0], india_emissions[0], russia_emissions[0]]\n", "countries = ['China', 'USA', 'India', 'Russia']\n", "# plt.bar(countries, emissions_arr)\n", "plt.barh(countries, emissions_arr)\n", "plt.title('CO2 Emissions - 2010')" ] }, { "cell_type": "code", "execution_count": 230, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "Text(0.5, 1.0, 'CO2 Emissions by Year')" ] }, "metadata": {}, "execution_count": 230 }, { "output_type": "display_data", "data": { "text/plain": "
", "image/svg+xml": "\n\n\n\n \n \n \n \n 2021-01-25T12:30:45.251643\n image/svg+xml\n \n \n Matplotlib v3.3.3, https://matplotlib.org/\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", "image/png": "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YgQtW7a8oXaIVDSaUhF27doFQOfOnW/pOH9//xJj/f39+f7779m1axf9+/e/buzFixetb15du3a9qZwAEhISrrmGIywsDLPZbLPtq6++YsqUKfzzn/+0bhs1ahTvvfceAQEB9OvXj+joaOtITPPmzZkyZQrz588v8U6L9957j8uXL7N+/foiI0C///67taDat28fu3fvti6YvZrFYuHkyZMltvv1119n37599O/fn7lz51rzHTduHF26dCE6OprHH3+cVq1a2Rz3n//8hwEDBjB79mwqV65s7aeOHTsSHx9v8xf3u+++S926dUlJScHR0dHmPDk5OSXmeLUtW7YwY8YMhg4dat22bt06Bg4cSEREBKmpqZhMJjw8PHj88cfZvHkz//nPf2yK4oKCAlauXMm9995L7969b+i6Li4uzJkzh2eeeYahQ4dStWpV8vPzWbJkCc7OzgC89NJLfPvtt7z22muMHj3aeuwff/zBgAEDWLlyJT179iQoKMi6LyUlhfvuu8/mWufPnyc0NJT4+HgGDx5M/fr1i+STlpbGtm3bymQaUKQ0aYRDOHbsGAD16tW7peOK+yX6Z4Ux//vf/0qMfeWVV9i3bx+BgYEEBATcVE4ACxYsICYmpth/p06dKhLv4eHByJEjbbb169cPgAsXLjBx4kSbaZ+nn34agPT09BvOycHBoci2e++994biTCZTsbFXu3DhAh9++CHVq1dn8uTJNvnWr1+fF154AYvFwvvvv1/k2OrVqzNt2jRrsQHQtGlT/Pz82L9/v800GFwZfSpu5Olm16/cf//9DB482GZbr1698PX1JSMjw2aUozDuz6Mca9euJTc3l2effdZm9K0kTz75JIMHDyY9PZ3vvvuOIUOGEBgYCMDJkyetU4RXFxtwZYRv4sSJAKxatcpm35+LDYC77rqLIUOGcOnSpWKn4QD+9a9/qdiQvwSNcEi5MnPmTBYsWECzZs2saz9u1g8//HBTv8CbN29OpUq2tbebmxtw5U3xz3/J161bF7hyW29JnnrqKT799FMCAgIICQmhU6dOtG3btkh+TZs2pUWLFnz88cf8/PPPdOvWDT8/P1q1asXdd99d4nUOHDjA2bNnadOmTbFv/IWjVz/88EORfffffz/33HNPke0NGjQAIDc3lxo1aljbs2jRInx9fenduzft27fHz8+P2rVrl5jj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h4cTFBQEwMSJE/nwww9JT0+nffv2VK1alZdfftka6+HhwQ8//MDHH39c+gWHiPy1aWSoeBoZEnuxWCw3HOvj42P9f5UqVXBycipyQ8X1jqlbty6AzTFLlizh/fff5+jRoxQUFHDhwoXrjpjcCn1arIiISBl74IEHMJlMHDhwoMTYqlWr2rw2mUwlFixXH3P13aIAa9asISoqimeffZaPP/6Y7du3M3jwYM6fP3+zzbgujXCI3ekphiIiN6d27doEBATw9ttvM3z48CLrOHJzcw271TUlJYXWrVvbPMn7p59+svt1NMIhIiJSDsTFxWGxWPD39+eTTz4hIyODAwcO8M477/DII48Ydt3GjRuTlpbGZ599xqFDh4iNjWXnzp12v45GOERERMqBRo0a8eWXX/Lmm28yadIksrKyuPfee2nevLn1kRJGGDRoEOnp6QwZMgSLxULPnj0ZOXIky5cvt+t1VHCIiMgdr6JMt7q5uTFjxgxmzJhR7P7i7hhNT0+/ZoyHh0exx1y97a677mLu3LnMnTvXJmbChAk3nPeN0JSKiIiIGE4jHBWUnmIoIiIViUY4RERExHAqOERERMRwKjhERETEcCo4RERExHAqOERERMRwKjhERETEcCo4RERExHAqOERERMRwevCXiIjc8WoM7Fyq18t774ubig8ODsbb27vII81XrFjB+PHj+fXXXzl79ixxcXGsXbuW3377DUdHRzw9PRk6dCihoaE2x50/f55mzZpRUFDAvn37qFWr1u026bap4BAREakAxowZw+7du4mOjqZZs2bk5ubyzTffcPLkySKxGzZswMPDg3vuuYfExEQGDx5cBhnbUsEhIiJSAWzcuJGpU6fy5JNPAlc+mO2hhx4qNnbZsmX069ePWrVqsWDBgnJRcGgNh4iISAXg6urKli1bOHXq1HXjfv75Z3bs2EHfvn3p0aMHGRkZRT5Rtiyo4BAREakAZs+ezbfffssDDzzAo48+yrhx40hOTi4St2LFCvz9/alTpw6Ojo50796d999/vwwytqWCQ0REpALo2LEje/bsISkpiZCQEA4ePEhISAijR4+2xly+fJkVK1bQr18/67ZnnnmGjz76iIKCgjLI+v+o4BARESljNWvWLHaq5NSpU9xzzz3W11WrVqVDhw6MGTOGtWvX8vLLL7N06VIyMzMB2Lp1K7/88gtD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WeYF5Te3kr7W9cpwncRvJeVWSnkUp8R+K6U8ilNRcyvLvKD85nY7v48BPD097ZSJlDa7FxwvvfQSu3btYtOmTVSuXNnep78lFfUbtDznfb3cynLxY0l9ln+0lBIphnK7NRU1t7LMC8pvbuX595oYy65TKlFRUXz88cckJSXZjDa4uroCcPz4cZv448eP4+LiAoCLiws5OTlYLBbrfovFwokTJ2xiijtH4T4REREpn+xWcEyYMMFabDRp0sRmn4eHB66uriQnJ1u3FRQUkJKSYl2z4evrS15eHqmpqdaY1NRU8vPzbWJSUlIoKCiwxiQnJ1O3bl08PDzs1RQRERGxM7tMqURGRrJq1SqWL1+O2Wy2rtlwdHSkRo0amEwmwsLCmDlzJp6enjRu3Ji4uDgcHR0JDQ0FwMvLi65duzJmzBhmz54NwJgxYwgMDLQOwYWGhhITE0N4eDiRkZEcPHiQ2bNn/yWfw6FPohQRkYrELgXH4sWLAay3vBaaMGECUVFRAIwaNYpz584xbtw464O/1qxZQ82aNW3OM378ePr27QtAUFAQsbGx1v21atVi7dq1REZG4u/vj9lsZuTIkURERNijGSIiImIQuxQcubm5JcaYTCaioqKsBUhxzGYzixYtuu55fHx82Lhx482mKCIiImVIH95WAj1u+uZF/+xaZteeUmZXFqk49DMqZUEFh4iUSG9QN68s+wwqbr/JnUsFRwnK6y9a/TK7NeX16wnlO7fyTP0mUjHo4+lFRETEcCo4RERExHAqOERERMRwKjhERETEcCo4RERExHAqOERERMRwKjhERETEcCo4RERExHAqOERERMRwKjhERETEcCo4RERExHAqOERERMRwKjhERETEcCo4RERExHAqOERERMRwKjhERETEcCo4RERExHAqOERERMRwKjhERETEcCo4RERExHAqOERERMRwKjhERETEcCo4RERExHAqOERERMRwKjhERETEcCo4RERExHAqOERERMRwKjhERETEcCo4RERExHAqOERERMRwFbLgWLx4MQ8++CCurq489thj7Ny5s6xTEhERkeuocAXHmjVrePHFFxk7dizbtm3D19eXp556iqNHj5Z1aiIiInINFa7gmDdvHs8++ywDBw7Ey8uLGTNm4OrqypIlS8o6NREREbkGU25urqWsk7hR58+fp27durzzzjv0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\n" }, "metadata": {} } ], "source": [ "# Stacked bar chart\n", "plt.bar(years, china_emissions)\n", "plt.bar(years, us_emissions)\n", "plt.bar(years, india_emissions)\n", "plt.bar(years, russia_emissions)\n", "plt.legend(['China', 'USA', 'India', 'Russia'], bbox_to_anchor=(1, 1))\n", "plt.title('CO2 Emissions by Year')" ] }, { "cell_type": "code", "execution_count": 231, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "Text(0.5, 1.0, 'CO2 Emissions by Year')" ] }, "metadata": {}, "execution_count": 231 }, { "output_type": "display_data", "data": { "text/plain": "
", "image/svg+xml": "\n\n\n\n \n \n \n \n 2021-01-25T12:30:47.039843\n image/svg+xml\n \n \n Matplotlib v3.3.3, https://matplotlib.org/\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhwAAAEeCAYAAADB3szqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAABAA0lEQVR4nO3deVxV1f7/8ddxuIZoHkMGJ7ASUVHLCRyyRCxCnFDKe/NaeVUU5F41UaNByyFBSSUH1MwsNTNJk/Sqv0xKTZQmgytdJU2y4oqSqKDkwPn94YPz9QQ4ns1g7+fj4ePh2fuz9/6s5cHzYa219zHl5uZaEBERETFQlfJOQERERO58KjhERETEcCo4RERExHAqOERERMRwKjhERETEcCo4RERExHAqOETsZObMmZjNZnbt2mX4tcxmM0FBQYZfxwirV6/GbDYzc+bM8k5FRMqQCg6xkZGRwaRJk+jSpQvu7u44OzvTrFkzQkJCWL58Ofn5+SUel5qayj//+U/atWtHgwYNaNiwIb6+vkyYMIEjR46UeMyvv/7K0qVLefLJJ3nggQdwdXXFw8ODXr168d5772Gx3NwjYlq3bo3ZbL7mn9WrV990n0jld+HCBbp164bZbObf//53qXHbtm3DbDbz8MMPc+HChTLMUOTOZ9KDv6TIrFmziI6OprCwkA4dOtCuXTtq165NdnY2e/bs4fDhw9x77718++231mMsFgszZszg9ddfp0qVKjzyyCN4e3tTWFjIN998Q3JyMtWqVSM6Oprhw4fbXO+VV15h3rx5NGrUiIceeogGDRqQlZXFpk2bOHv2LP3792fFihU3nH/r1q05duwYo0aNok6dOiXGBAUF0aZNm1vqn+vJyckhJyeHRo0aUbNmTUOuUeTQoUM4ODjQuHFjQ69jhNWrVzN69GgmTZpEVFRUmV334MGDdO/eHUdHR/bs2YOLi4vN/pMnT9KlSxfOnj3LZ599hpeXV5nlJvJnUK28E5CK4fXXX+e1116jYcOGvP322/j4+BSLSUpKYvr06cWOi42NpVGjRrz33nvFPsx37tzJ008/TWRkJHXq1OGJJ56w7mvXrh2JiYl069YNk8lk3T558mR69uzJRx99RGJiIn379r2ptoSFheHh4XFTx9iDk5MTTk5OZXKtZs2alcl17iReXl5MnTqVCRMmMHr0aNatW2ezPyIiguzsbGJjY1VsiBhAUypCZmYm0dHRVK9enbVr15ZYbAD4+fnZDEf/9NNPREdHU61aNdasWVPiyMHDDz/MkiVLAJg0aRJ5eXnWfX379uXhhx+2KTYA6tevzz/+8Q8AQ9dD7Nq1C7PZTFhYGD/++CNPP/009957L40aNSI4OJj09HTgym++Y8aMoXnz5ri6utK9e3d27txZ7HylreHYs2cPf/3rX/H29sbFxYWmTZvSvXt3XnzxRZtpo7NnzzJ79mzrdFbDhg1p06YNf//734uds7Q1HGfPnmX69Ol07NgRV1dX3N3d6dOnD5s3by4Wm5mZaT1PTk4OY8aMwcvLCxcXFzp16sSqVauKHWOxWFizZg0BAQE0bdoUV1dXWrZsSZ8+fXjnnXdurOOvsnfvXvr27Uvjxo1p3LgxISEh7N+/3ybm1VdfxWw2895775V4jkOHDmE2m3n88ceve70RI0bw6KOP8sknn7B06VLr9rfffputW7cSEBBgHYkrKChg/vz5PPLIIzRs2JAGDRrQvXt3li9fXuJ03+rVqxkyZAgPPPAAbm5uNG7cmICAANasWVNiLkFBQZjNZo4ePUp8fDydO3fG1dWVp5566rrtEKmMVHAIq1ev5uLFi/Tp04dWrVpdM7ZGjRrWv69atYpLly7Ru3dvWrduXeoxAQEBtG3blt9++42NGzfeUE7Vq1cHoFo14wfhfvrpJ/z9/Tl16hSDBw+mc+fOJCUl0adPHw4fPkzPnj1JTU0lODiYXr168d133/HEE09w7Nix6557+/bt9O7dmz179vDQQw8RERFB3759qVOnDkuWLOHy5cvAlQ/ykJAQZsyYgYODA4MHD2b48OF06tSJ/fv38/nnn1/3WqdPnyYgIIDY2FgcHBwYNWoUAwYMIC0tjcGDBxMTE3PN47788kv69u3L3/72N7KysoiIiCj2IT9t2jTCwsLIysqiX79+jB49Gj8/P86cOcP7779/A739f77++mv69u2Lg4MDI0aMoEePHuzYsYPAwED27dtnjXv22WepUqVKqdNrb7/9NgBDhw69oesuXLgQZ2dnpkyZwn//+18OHz7MSy+9hLOzMwsWLACuFG5BQUG8/PLLWCwWnnrqKQYPHsyZM2d47rnnCA8PL3be8ePHc+zYMbp06UJYWBgDBgzg2LFjhIWFMXXq1FLzmTRpEtHR0bRu3ZpRo0bRtm3bG2qHSGWjKRVh7969AHTv3v2WjvPz87turJ+fH99++y179+5l8ODB14y9dOmS9cOrZ8+eN5UTQHx8fKlrOMLCwjCbzTbbvvjiC6ZNm8Y///lP67YxY8bwzjvv4O/vz6BBg4iOjraOxLRq1Ypp06axaNGi695p8c4771BYWMimTZuKjQD99ttv1oIqPT2dffv2WRfMXs1isXDq1KnrtvvVV18lPT2dwYMHs2DBAmu+EyZMoEePHkRHR/Poo4/Srl07m+P+85//MGTIEObNm0fVqlWt/dS1a1fi4uJsfuN+++23qV+/PsnJyTg6OtqcJycn57o5Xm379u3Mnj2bESNGWLdt3LiRZ555hoiICFJSUjCZTHh4ePDoo4+ybds2/vOf/9gUxQUFBaxZs4Z77rmH/v3739B1XVxcmD9/Pn/9618ZMWIE1atXJz8/n+XLl+Ps7AzACy+8wNdff80rr7zC2LFjrcf+/vvvDBkyhDVr1tC3b18CAwOt+5KTk7n33nttrnXhwgVCQkKIi4tj2LBhNGzYsFg+qamp7Ny5s1ymAUXKkkY4hOPHjwPQoEGDWzqupP9E/6go5n//+991Y1966SXS09MJCAjA39//pnICWLx4MTExMSX+OX36dLF4Dw8PRo8ebbNt0KBBAFy8eJHJkyfbTPs8+eSTAKSlpd1wTg4ODsW23XPPPTcUZzKZSoy92sWLF3n//fepWbMmU6dOtcm3YcOGPPfcc1gsFt59991ix9asWZMZM2ZYiw2A5s2b4+vry8GDB22mweDK6FNJI083u37lvvvuY9iwYTbb+vXrh4+PDxkZGTajHEVxfxzl2LBhA7m5uTz11FM2o2/X8/jjjzNs2DDS0tL45ptvGD58OAEBAQCcOnXKOkV4dbEBV0b4Jk+eDMDatWtt9v2x2AD4y1/+wvDhw7l8+XKJ03AA//rXv1RsyJ+CRjikQpkzZw6LFy+mRYsW1rUfN+u77767qf/AW7VqRZUqtrW3m5sbcOVD8Y+/ydevXx+4clvv9TzxxBN8/PHH+Pv7ExwcTLdu3ejYsWOx/Jo3b07r1q358MMP+emnn+jVqxe+vr60a9eOu+6667rXOXToEOfOnaNDhw4lfvAXjV599913xfbdd9993H333cW2N2rUCIDc3Fxq1aplbc/SpUvx8fGhf//+dO7cGV9fX+rWrXvdHP+oc+fOxfodoGvXrqSkpJCamkqnTp2AKyNdTZo04YMPPuDVV1+1/pusWLECk8l0w9MpV5s+fTpvvfUWcGWqqMjXX3/NpUuXqFKlSokjWJcuXQKu9PnVjh07RlxcHJ9//jk///wz58+ft9mflZVVYh7t27e/6dxFKiMVHIKrqysHDx68oQ/Qq7m4uHDw4EF++eWX68YWxRR9kJckNjaW6dOn4+3tzcaNG4tNfRilpA/bot/2S9pX9Nv9xYsXr3vuvn378sEHH7Bw4ULWrFljXVjZsmVLJk2aRL9+/azX+/jjj5k9ezaJiYm8+uqrwJXRh+DgYKZOnXrNEYQzZ84AFLvVs4irqytAiSM8pU0/FfVB0ToTuLIw9r777uO9997jjTfeIC4uzno79NSpU6+5luePSsu1aFqjqE0AVapUYejQoUyZMoUPP/yQp59+mgMHDrBv3z4eeeQR7r///hu+bpGrR5Ou/vtvv/0GwP79+4stYL3a1SM/R48epUePHuTm5tK5c2f8/Py4++67qVq1Kj/99BNr1qzh999/L/E8pfWDyJ1GUypi/S3yRhYmlnRcUlLSdWM/++wzm2P+aPr06UyfPp0HH3yQTZs2Ua9evZvKpSJ77LHH2LhxI5mZmWzevJlx48Zx7Ngxnn32WXbv3m2NM5vNzJgxg7S0NPbv38+iRYt48MEHWb16Nc8+++w1r1FUGGVnZ5e4v2j6q6QC6mZUrVqVUaNGsXPnTg4fPsx7773Hk08+yWeffUZwcLD1w/pGlJbriRMnSsx1yJAh1KhRw7pItGh6peiOJnspum5oaCi5ubml/klNTbUes3DhQn777Tfmz5/P5s2bmTVrFi+99BJRUVHXnRb8411aIncqFRzC4MGDqV69OomJidZbQUtz9W9pgwcPplq1amzevJkDBw6Ueswnn3zCN998wz333GP9jf5qL7zwArGxsXTs2JGNGzfe0vB8ZeDg4EDXrl2ZMmUK06ZNw2KxlHi7KkCTJk146qmnSExMpFGjRuzatavE0YkizZo1o2bNmqSnp5e4eLOomHzwwQft0ha4sgalV69eLF68mIEDB3Ly5EmSk5Nv+Pi9e/dSWFhYbPsXX3wBUGyRbdHC0G+//ZY9e/awdu1aXF1d7f6I9w4dOlClSpWbakvR03RLemZMUXtE/uxUcAgeHh48//zzXLx4kSeffJKvvvqqxLidO3fSu3dv6+smTZoQGRnJxYsX+etf/8p//vOfYsfs3r2b0NBQAKKjo61rAeDK3RfPPfccixYtokuXLmzYsKHU4f3Kavfu3dY5/6sVjTgUPZH06NGjHD16tFhcXl4e+fn5pS7ULFK9enUGDRrEuXPnePXVV22eE5GVlcXcuXMxmUz8/e9/v+W2/P777yV+CFssFuuoxM08YfXw4cPWNRRFNm7cSEpKCp6envj6+hY7pugZGcOHD+fMmTMMGTLE7rdO16tXj0GDBpGWlsbMmTNL/Pf75ZdfbNZwuLu7A9iMWAF8+umnJS7UFfkz0hoOAa48Q+DSpUvExMTQs2dPfHx8aNu2LbVr1+bEiRPs3buXgwcPFpsrnzRpEgUFBcybN49HHnmE7t27Wx9t/u233/LFF19QrVo1Zs+ebb27o0hMTAzLly/nL3/5Cx06dGD+/PnF8nJ3d7/ubbR/dK3bYjt27HhLt9requeff55ffvmFTp064e7uzl133cWBAwf49NNPueeee3jmmWeA/7s19cEHH8TLy4v69euTm5vLtm3bOHXqFBEREcUWr/7RlClTSE5O5t133yU1NZXu3btz+vRpPvroI06dOsXEiRPp0KHDLbfl/PnzBAYG0qRJE9q2bUvjxo25ePEiu3fvJi0tjY4dO9KtW7cbPp+/vz8vvvgi27dvx9vbm8OHD/Pxxx/j4ODA/PnzS5xq6NixI23atCE1NZUqVapY+8/eZs2axZEjR4iJiWHt2rV06dIFV1dXjh8/zg8//MCXX37JjBkzrE98HTZsmHXqq1+/fri5ufH999+zfft2goODWb9+vSF5ilQmKjjEatKkSQQHB7Ns2TJ2797NmjVrOHfuHHXr1qVVq1aEhobyt7/9zeYYk8nEK6+8Qv/+/XnzzTf54osv2LNnDyaTiYYNGzJixAhGjRpV4qK+zMxM4MqzCt54440Sc+ratetNFxyLFy8udd+oUaPKtOAYP348mzdv5ttvv7U+LbRBgwaEhYURHh5uvROkbdu2PPfcc+zevZukpCROnTrFPffcQ7NmzXjttddu6BkTZrOZbdu2ERcXR2JiIosWLaJGjRq0adOGkSNH3vQj4v/I0dGRqVOnsmvXLr788ku2bNmCg4MDHh4eTJ8+naFDh97UaEOHDh2YMGECM2bMsD7108/Pj5dffvmaUz9DhgxhwoQJPProo4Z9l0zt2rXZtGkTK1euZN26dWzatImCggKcnZ3x8PBgypQpBAcHW+NbtWrFxx9/zPTp09m2bRuXL1+mVatWrFy5kjp16qjgEEFf3iYilczYsWNZsWIF77///g09zlxEKgYVHCJSaWRlZdGuXTtcXV355ptvSnyOh4hUTJpSEZEKb926dRw+fJj169dz/vx5XnjhBRUbIpWMRjhEpMILCgpiz549NGjQgNDQUMaMGVPeKYnITVLBISIiIobTmKSIiIgYTgWHiIiIGE4Fh4iIiBhOBUcZysjIKO8UKiX1281Tn90a9dutUb/JjVDBISIiIoZTwSEiIiKGU8EhIiIihlPBISIiIobTo81FROSOcunSJfLz88s7jT+datWq4ejoWPr+GznJF198wfz58/nuu+/Iyspi4cKFNl8ZbrFYiI6O5p133iE3N5f27dsTGxtLixYtrDG5ublMnDiRrVu3AvD4448za9YszGazNebAgQNMmDCBb775hrp16/Lss88yceJETCaTNWbjxo289tpr/Pjjj9x777289NJL9OnT54Y7RERE7lyXLl3i7NmzmM1mm88OMV5+fj6///47NWrUKHH/DU2p5Ofn07JlS6Kjo3FwcCi2Py4ujoULFxITE8OOHTtwdnYmODiYs2fPWmOGDx9OamoqCQkJJCQkkJqaysiRI637z5w5Q3BwMC4uLuzYsYPo6Gjmz5/PggULrDEpKSn84x//4IknnmDXrl088cQTPPvss3z11Vc33CEiInLnys/PV7FRTmrWrElBQUGp+29ohOOxxx7jscceAyA8PNxmn8ViIT4+nrFjx9KvXz8A4uPj8fT0JCEhgaFDh3Lw4EG2b9/O1q1b8fHxAWDu3LkEBgaSkZGBp6cn69at4/z588THx+Pg4EDLli05dOgQixYtIiIiApPJRHx8PN26dSMyMhIALy8vdu3aRXx8PG+99dbN946IiNxxVGyUj+v1+20vGs3MzOT48eP06NHDus3BwYEuXbqwb98+4MrIRK1atfD19bXGdOrUCUdHR5uYzp0724yg+Pv7k5WVRWZmJgBffvmlzXWKYorOISIi12d++5dr/hExwm0XHMePHwfA2dnZZruzszPZ2dkAZGdn4+TkZFP9mEwm6tWrZxNT0jmK9hVd61rXERERkYrpT3GXSkV67G5FyqUyUb/dPPXZ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3ea1yWS6rSdr5+fnM3DgQLp3786SJUtwdnYmJyeHwMBALly4cLvpXpe+S0VERKSSuffee6levTpffvmldVt+fj7p6emlHpORkUFOTg4vv/wyXbt2pVmzZsVuxDBSxbg5V0RERG5YrVq1GDJkCK+88gr16tXDzc2NWbNmWW/WKEmjRo2oUaMGb775JiNGjODgwYO89tprZZazCg4REZFKaNq0aeTn5/P3v/8dBwcHQkNDOXfuXKnx9erVIz4+nqlTp7Js2TK8vb2ZMWOGdd2k0VRwiIjIHe9WnvxZ1uLj40v8e5E/roN0dHRkyZIl1zzn5s2bbV4PGDCAAQMG2Gz747eyG0VrOERERMRwKjhERETEcCo4RERExHAqOERERMRwKjhERETEcCo4RERExHAqOERERMRwKjhERETEcCo4RERExHAqOERERISgoCAmTJhg2Pn1aHMREbnjvbzimTK93rRn37npY8LCwlizZg0AVatWpX79+jz22GNMnjwZs9ls5wyLW7VqFdWqGVcWqOAQERGpILp3786SJUu4dOkSBw8eJCIigtOnT/PWW28Zfu26desaen5NqYiIiFQQNWrUwNXVlYYNG9KjRw+Cg4PZsWMHcGUEZNCgQTbxM2fOpHPnztbXBw4coG/fvjRu3JiGDRvStWtXdu7cCcDFixeZOHEizZs3x8XFBW9vb1555RXrsX+cUlm7di1+fn40atSIpk2b8swzz/Drr7/ects0wiEiIlIBHT16lE8//ZTq1avf8DEjRoygVatWfPrpp1SrVo0DBw5w1113AbB48WI2b97MW2+9hbu7O7/++isZGRmlnuvChQtERUXRrFkzcnJymDJlCsOGDWPLli231B4VHCIiIhXE9u3badiwIZcvX6agoACAGTNm3PDxx44dIyIigmbNmgFw33332ey7//776dKlCyaTicaNG+Pr61vquYYMGWL9e5MmTZgzZw4+Pj788ssvNGzY8GabpikVERGRiqJLly7s2rWLTz/9lNDQUB577DFGjRp1w8eHh4fzr3/9iz59+hAbG8uhQ4es+5566inS0tJo3749kZGRbNu2jcLCwlLPtX//fv72t7/RqlUrGjVqhJ+fHwA///zzLbVNBYeIiEgFUbNmTe677z68vb2ZNWsW586dY9asWQBUqVIFi8ViE3/p0iWb11FRUezbt4+goCBS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Luzbt++Gz5uSkoKXl5e12ADw9/fn999/Z//+/fZKv9wY1W8lOXv27HWnESoLI/vtu+++Iy4ujsWLF1Olyp3zX4JRfZaUlMTly5fJzs7G19eXFi1aMHjwYI4ePWrnFpQPo/qtadOm1KtXj1WrVvH777/z+++/8+6779KoUSOaN29u72ZIBXTn/O9Sxp5//nlat26Nj48PAMePHwe47YeSZWdnFztH0e3Ad8LDzYzqtz/av38/7733Hv/4xz9uPdkKxKh+y8/PZ9iwYcTExNCgQQP7JVwBGNVnR48epbCwkNjYWGbMmMGqVau4dOkSvXv35ty5c/ZrQDkxqt9q167Npk2b2LBhA/Xr16d+/fqsX7+ejz76CAcHB/s1QCosFRy34IUXXmDv3r2sXLmSqlWrlnc6lUZZ9VtGRgaDBg0iLCyMfv36GXadsmJkv02aNIlOnTrdEf10NSP7rLCwkIsXLxITE0PPnj1p3749S5cu5eTJk2zdutWu1yprRvbb+fPniYiIoEOHDmzfvp1t27bRpk0bnnrqKfLz8+16LamYVHDcpKioKD788EMSExOt85AArq6uALf9UDIXF5di5yh6pHtlfriZ0f1W5NChQ/Tu3ZsBAwbwyiuv3E7KFYLR/fb555/z3nvv4eTkhJOTk7XwaNasGdOmTbv9BpQDo/us6DxeXl7WbXXq1MHNzY2ff/75NjIvX0b327p16/jxxx9ZtGgR7dq1o2PHjixbtoyff/6ZTZs22aUNUrGp4LgJkyZNsv5ANmvWzGafh4cHrq6uNg8lKygoIDk5+aYeSubj48PBgwf55ZdfrNuSkpKoUaMGDz744G23oTyURb8B/Pe//6V3797069ePmTNn2iX38lQW/bZhwwZ2797Nrl272LVrF2+88QYAmzZtqpS3eZZFn3Xq1AmAH374wbotLy+P48eP07hx49tsQfkoi347f/48JpPJZp1QlSpVMJlMlfb2dbk5le7BX+UlMjKStWvXsmrVKsxms3Ve09HRkVq1amEymQgLC2POnDl4enrStGlTYmNjcXR0JCQkxHqeY8eOcerUKX766ScAUlNTAbjvvvuoVasWPXr0oEWLFowaNYrp06dz6tQpJk+ezNNPP10p71Apq377/vvv6du3L926dWP8+PHW68D//YZWmZRVvzVt2tTmukXP32jWrFmlu0ulLPusV69ePP/888ydOxez2czMmTOpV68eAQEBZd/w21RW/ebn58fkyZMZP348I0eOpLCwkLlz51K1alUefvjhsm+4lDndFnuDSrvbYdKkSURFRQFXHo4THR3NihUryM3NpX379sTGxtKyZUtrfFhYGGvWrCl2no8//phu3boBV35wIyMj2blzJ3fddRdPPPEE06ZNo0aNGvZvmMHKqt9mzpxJTExMide6kVtoK5qyfL9dbdeuXfTp06dS3hZbln129uxZXnzxRRITE7FYLHTq1Ino6Gjuvfde+zfMYGXZb0lJScTExJCeno7JZKJ169a8/PLL+mqKPwkVHCIiImI4reEQERERw6ngEBEREcOp4BARERHDqeAQERERw6ngEBEREcOp4BARERHDqeAQERERw6ngEBEREcOp4BARERHD/X/BoN/IA6KVnwAAAABJRU5ErkJggg==\n" }, "metadata": {} } ], "source": [ "# Grouped bar chart\n", "width = 0.2\n", "plt.bar(years - (width * 2), china_emissions, width=width)\n", "plt.bar(years - width, us_emissions, width=width)\n", "plt.bar(years, india_emissions, width=width)\n", "plt.bar(years + width, russia_emissions, width=width)\n", "plt.legend(['China', 'USA', 'India', 'Russia'], bbox_to_anchor=(1, 1))\n", "plt.title('CO2 Emissions by Year')" ] }, { "source": [ "Great! Now let's explore this data as a percentage of the total global emissions." ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 232, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "Text(-65, -65, 'OWID: https://cdiac.ess-dive.lbl.gov/')" ] }, "metadata": {}, "execution_count": 232 }, { "output_type": "display_data", "data": { "text/plain": "
", "image/svg+xml": "\n\n\n\n \n \n \n \n 2021-01-25T12:30:56.468951\n image/svg+xml\n \n \n Matplotlib v3.3.3, https://matplotlib.org/\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", "image/png": "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N24UK0NVnbtz58589NFHLFq0iMWLF9O9e3f++9//8vLLL1f6GipKTNUSBMFmiT44QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBslgg4QRBsVrkBl5yczLhx4wgNDSUkJISZM2ei0+kA6NGjB8ePHwfAYDDg5+fHmjVrzPv26tWLo0ePsmrVKl566SUAFi5cSMuWLenevTuhoaE88sgj/P333+UWdOHChXz00Ucl3s/MzOSrr74yv05ISOCnn34q93gVde3aNSIjI82vR40aRXJycoX2HTJkCLGxsQCMHj2azMzMKitXdbj9+/TNN9+wevXqKj3m5MmTWb9+fYltoqKiGDt27D2fqzzvv/8+P/74Y7WfR7AeZQacJElMmDCBIUOGcOTIEQ4fPkxeXh7z5s0DoGvXrhw4cACAkydP0qRJE/PrvLw8Ll68SNu2bUscd8qUKURHR3PkyBFGjhzJsGHDSE1NvasLyMrK4uuvvza/TkxMZO3atXd1rNJs3bqVvn37AqDVaklPT8fPz6/Sx/npp59wc3OrsnJVtyeeeIJx48ZZuhhVatu2bebvpVA3lBlwu3fvRq1W88gjjwCgUCh48803WblyJfn5+YSFhZkDbf/+/TzxxBOcOHECgMOHDxMSEoJCoSizACNHjqRPnz4VqnX9/fffDBkyhPbt27N06VIAXn/9dS5evEj37t2ZM2cOr7/+OjExMXTv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irm/zcfHB6PRWGb/26effsqaNWvIz8+nZcuWbNiwwdz5W1YfXGk8PDzo2rUr3bp1o3///rz66qsoFAoiIiIYP348bm5uhIaGMmHCBK5cucKYMWPo0KED27ZtY86cOcjlcuzs7My/3W+ePywsDLVaba4BbN26lcWLFwOgUqlYtmwZL7/8MlqtFo1Gw7p163jyySeZOnUqYWFhBAcHl+i/BOjfvz/Lli0jLCyMpk2bmpvAXl5efPDBB0yYMAGTyUS9evVYt24dsbGxfPPNN3z00Uf07duXs2fPMnDgQAAcHR354osvuHDhQolryc3NZfz48eba4YIFC0qUxcfHh//+978MGDAAV1fXUu943zRy5EjmzJlj/kWgUqlYvnw5M2fOJDs7G6PRyOTJk2nZsiXffPMNUHQn9t/8/f3NN2Xee+897O3ti31++/UOGzaMXbt20aVLF/z8/Gjfvj0uLi7Y29vzySefMHHiRIxGIx06dDCfS6FQcN999/H999/z2Wefmb93N2viQt0iy8zMlMrfrPZatWoVR48e5e23367UfmvWrOHKlSu88MILFBYWMmjQIHbu3Fk9hRTuKDc3FycnJ9LT0+nbty+bN2/G29u7UscYMWIES5cuxcfHp5pKKVirMmtwddntA0/VarUINwsZO3YsWVlZ6PV6XnrppUqHG8C6deuqvmBCrWDzNThBEOouMRdVEASbJQJOEASbJQJOEASbJQJOEASbJQJOEASbJQJOEASb9f84SFiks2pJ/AAAAABJRU5ErkJggg==\n" }, "metadata": {} } ], "source": [ "# Total global emissions for those years\n", "world_emissions = [33066.651, 34357.366, 34919.289, 35207.886, 35505.827, 35462.747, 35675.099, 36153.262, 36572.754]\n", "\n", "year_idx = 0\n", "\n", "# Get percentage of total emissions contributed by China for 2010\n", "china_prct = (china_emissions[year_idx] / world_emissions[year_idx]) * 100\n", "us_prct = (us_emissions[year_idx] / world_emissions[year_idx]) * 100\n", "india_prct = (india_emissions[year_idx] / world_emissions[year_idx]) * 100\n", "russia_prct = (russia_emissions[year_idx] / world_emissions[year_idx]) * 100\n", "world_prct = 100\n", "other_prct = (world_prct - (china_prct + us_prct + india_prct + russia_prct)) / world_prct * 100\n", "\n", "percentages = [china_prct, us_prct, india_prct, russia_prct, other_prct]\n", "\n", "plt.pie(\n", " x=percentages, \n", " shadow=True, \n", " labels=['China', 'USA', 'India', 'Russia', 'Rest of World'], \n", " autopct='%1.1f%%',\n", " # explode=[0,0.1,0.2,0.3,0.1],\n", " # startangle=90\n", " )\n", "\n", "plt.title('CO2 Emissions')\n", "plt.annotate('OWID: https://cdiac.ess-dive.lbl.gov/', (0,0), (-65,-65), fontsize=10, \n", " xycoords='axes fraction', textcoords='offset points')" ] }, { "cell_type": "code", "execution_count": 233, "metadata": {}, "outputs": [ { "output_type": "display_data", "data": { "text/plain": "
", "image/svg+xml": "\n\n\n\n \n \n \n \n 2021-01-25T12:30:59.092616\n image/svg+xml\n \n \n Matplotlib v3.3.3, https://matplotlib.org/\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlEAAAQhCAYAAAANjtolAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAAEAAElEQVR4nOzdd3xT1fvA8U92070HBTooZZWNIHsJoogsFfQrglsU90R/gBtFRXEh4EZUEFAUcIAMARmyN5RVKKt7p00zfn+UBkJbOkibtH3er1dfkJube086Tp77nOeeo8jIyLAihBBCCCEqRensBgghhBBC1EYSRAkhhBBCVIEEUUIIIYQQVSBBlBBCCCFEFUgQJYQQQghRBRJECSGEEEJUgQRRQohq5evry9SpU53djKsyePBgrrnmGmc3QwjhYiSIEnWCr69vhb7mzZtXY23atGkT48aNo3nz5gQFBREVFcWwYcOYN28eZrPZbt/CwkI+++wz+vbtS3h4OOHh4fTt25fPPvuMwsJCu30tFgvz5s1j9OjRtGrVigYNGtC1a1feeecd8vPzK9S2wYMHl/k9io2Nddj3oDQHDx5k6tSpJCQklHjup59+4tNPP63W87uyy38uoaGhdO/enU8//RSLxeLs5l21v/76q9YH1EJcSu3sBgjhCLNmzbJ7/PXXX7N161Y+/vhju+1dunSpkfa88847vPHGG0RGRnLnnXcSERFBZmYm//zzDxMmTODcuXM8/fTTAOTm5nLbbbexYcMGrr/+ev73v/8BsHLlSl544QV+++03FixYgIeHBwB5eXk88sgjXHPNNdx9990EBQWxZcsWpk6dypo1a1i6dCkKhaLcNoaGhvLKK6+U2O7m5ubA7wScO3cOtfpiV3Po0CHefvttevToQUREhN2+CxcuZP/+/Tz88MMObUNtcunPJSUlhfnz5/Piiy+SlJTEyy+/7NzGXaUVK1YwZ84cJk6c6OymCOEQEkSJOmHUqFF2j9esWcP27dtLbK8Jv/76K2+88QY33XQTX3zxBTqdzvbchAkT2L59OwcOHLBte+mll9iwYQPvvPMO999/v237fffdx+zZs3nuueeYNGkS06dPB0Cr1fLnn3/aBYRjx46lcePGTJ06lVWrVtG/f/9y2+nl5VUj3x9HB2VVkZeXh7u7u7ObUSGX/1zuvvturrnmGubMmcNLL72ERqOp8rHNZjMmk8nud1IIUXUynCfqDbPZzLvvvkv79u0JDg4mLi6OyZMnYzAY7PZr3bo1I0eOZO3atfTu3ZuQkBA6duzIDz/8UKHzvPnmm/j6+vLpp5+W+mHVoUMHW7bp9OnTzJ07l169etkFUMUeeOABevbsybfffsvp06eBoiCqtIzaTTfdBBQNlznKvHnz8PX1Zd26dTz33HM0adKExo0b8+ijj1JQUEBmZibjx48nIiKCiIgIXnrppRLDTpfWRM2bN4+xY8cCMGTIELth1sGDB/Pnn39y6tQpuyGtYlarlVmzZtGtWzdCQkKIiYlhwoQJpKam2p3v0p9f//79CQkJYcaMGQDs3LmTW2+9lSZNmhASEkJcXBwPPPBAid+BsuzZs4cbbriBsLAw4uLi+Oijj2zPWSwW4uLiGD16dInXmUwmmjZtyt13312h81zK3d2dTp06kZubS0pKCgCZmZm8+OKLxMXFERQURNu2bZk2bZrdMHFCQgK+vr68//77zJ49mw4dOhAcHMyWLVuAogzhE088QcuWLQkODqZ169Y89thjZGdn245R2fN88803tGvXjuDgYPr27cv27dtt+40fP545c+YA9sPvxcO68+bNY+jQocTGxhIcHEyHDh2YPn16qcOYc+bMoW3btoSGhtKvXz82bNjA4MGDGTx4sN1+BQUFvPXWW7b33qJFCyZOnEheXl6lfw5ClEYyUaLeeOKJJ5g7dy5DhgzhkUceYceOHXz44YccOHCABQsW2A2BnThxgrvuuouxY8cyevRofvrpJ8aPH49Op2PEiBFlnuPYsWMcPHiQ//3vf3h7e5fbppUrV2I2m0v94C02evRo1q1bx99//81dd91V5n5JSUkABAQElHteKAoqLw9AoChI8/Lysts2ceJEgoODeeGFF9i6dStz587Fx8eHHTt2EBoayuTJk/nrr7/45JNPaN68OWPGjCn1nN27d+fBBx9k1qxZPP3007b6qy5dutCgQQOysrI4c+YMb775ZonXPvXUU8ydO5fbb7+d+++/n9OnTzN79my2b9/OqlWr7DJex44ds/38xowZQ8OGDUlJSWH48OEEBATw+OOP4+vrS2JiIr///jt5eXno9forfr+ysrIYOXIkN910E8OHD2f58uVMmjQJs9nME088gVKp5LbbbuOjjz4iLS0Nf39/22tXrVpF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TadOnSo8VFqWjh070rFjR1566SVWrFjBrbfeyjfffFPqMOalkpKSyMrKsstGlfY74efnx/XXX8+CBQsYN24c//zzT4XrrioiKiqKnJycCmcRLxcYGIi3t7fdNBvVcZ7KWL58OQUFBfz4449238vLJ2Rt1KgRUDTk2bdvX9t2k8nEyZMn7f62o6Ki2LlzJ71795YCclFtpCZK1AvFxdYzZ8602/7ZZ59hNptLBFHJycksXrzY9thgMPDtt98SHh5+xSJwKCpUTk9PZ8KECSWGJaDoNvvvv/8eKBoC+d///seaNWtKzbJ8+eWX/PPPP4wZM8Zu6OzQoUPcdtttNG7cmPnz51c52+AMxUNnpQ3zeHh4kJmZWSJ7MXz4cCwWC9OmTSvxmuIamvJkZGSUOG7btm2Bolv5y2OxWPj888/tHs+ZMwe9Xm9XIA9FQ3rHjh1j4sSJWCwWbrvttnKPX1HDhw9n+/btJer4oGjot6Cg4IqvVyqVDB48mBUrVrB169YSzxd/j672PKUp62dfnMW69OdTUFDA7Nmz7fZr3749/v7+fPPNN3Z1bQsWLChxzOHDh5OUlMQXX3xRoh0FBQVXHEIXoqLq7qWrEJeIi4tjzJgxzJ07l6ysLHr16sWuXbv47rvvuO6660rc0dakSROefvppdu/eTYMGDViwYAHx8fHMmTOnzDvzig0bNoznn3+et99+m927d3PLLbcQERFBVlYW69at488//+T//u//bPu/+eabxMfH89RTT7FixQquu+46AP7++2+WL19O9+7def311237Z2dnM3LkSDIyMnjsscf4888/7c4fFRVF586dy/2eZGdn2xVAX6qiRdBV0aZNG1QqFe+//z6ZmZno9Xo6duxIZGQk7du3Z/Hixbzwwgt06tQJpVLJyJEj6d69O/fffz8ffvgh+/bto1+/fuh0Oo4dO8avv/7KxIkTbXNvleX777/n888/56abbiIqKgqDwcC8efNQqVQMHTq03HaHhITw2WefkZiYSIsWLVi2bBnr169n8uTJ+Pj42O07YMAAAgMD+fnnn+nRo4ctg+IIjz32GH/88Qd33HEHt99+O+3atcNgMHDgwAGWLFnChg0bSq0Ju9SUKVNYs2YNN910k21poqSkJH777Te+++47IiIiHHKeyxUPaT777LNcd911qNVqBg0aRP/+/dFqtYwePZpx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LmrPnj32+/6OvPa//vUv1q1bx4IFCzh27BiffvopP/zwQ7PbLwiCexGdy5Zf29GdS3E7T3B7s2fP5u677+bee+/ln//8J15eXrz++us8/fTTaLVaUlNTuf322wHw9/dn1apVzJ8/H71eT8eOHXn99dcZPHgwADNnzmTDhg2MHDmSyspKvv/++zoJTK0777yTyspKnnjiCfLz80lMTOSzzz6z1xE0R//+/dHpdBiNRgYMGGB/PikpCT8/P/Lz8+u0wVHX7t+/P2+88QYvvPAC8+fPZ+jQofzf//0fDz/8cLM/gyAI7uPszuUrr7zCnDlzePjhh/H392fs2LGYzWb27NnDiRMneOCBB/j555/JyMhg8ODBBAYGsn79+vM6l7/99htpaWkEBQXh5+dX724S99xzD/PmzaNz58706tWLpUuXsnnzZv74448WfYYXXniBH3/8sc6ttCFDhvDf//4Xk8lUp+PoqGv/61//YuzYsSxYsIBJkyaxYcOGi+pcim1fBEEQBMFNNbTLwrJly7j77rvZsWMHcXFxLF++nNdff53Dhw/X6VxOmzaNzZs389xzz3HgwAF75/Luu+/mxhtvBGrqqm6//Xa2b99+wc6lzWbj5Zdf5tNPP7V38P773//WmfU7aNAgrrrqKubMmXPBz2UymejQoQNWq5XMzEz77TyoGS3Kz88nLS3NvtZUY9fOysqiZ8+e/P7773XqoupbsXzx4sW88MILFBYWMnToUMaOHcvDDz/cogVMRRIlCIIgCILQAqImShAEQRAEoQVEEiUIgiAIgtACIokSBEEQBEFoAZFECYIgCIIgtIBIogRBEARBEFpAJFGCIAiCIAgtIJIoQRAEQRCEFhBJlCAIgiAIQguIJEoQBEEQBKEFRBIlCIIgCILQAiKJEgRBEARBaAGRRAmCIAiCILSASKIEQRAEQRBaQCRRgiAIgiAILSCSqDZi4sSJdOzYkcLCwvNeq6yspFu3bgwZMgSLxeKC1jUsJyeHF154gVGjRtGhQwc6derE+PHjWbduXb3Hl5aWct9999G5c2eioqIYP348u3btOu+4tWvXcs899zBkyBCCg4MJDw9vUns2b95MQEAAAQEBnDp16mI+miAIbkDExrqaGhuzsrLssfDcrxUrVjjyo7ZrIolqI1577TX0ej3//e9/z3vt+eefJy8vj9dffx2lUumC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AMLtJk2ahNVqxWq1EhYWRnJyMo888kiD/sGfNGkSN998c4Oc64UXXsBsNvPNN9+wfv36Gq+vXbsWq9XK8ePHXY5369aNVq1a4XA4nMdKS0uJiIjg73//e4PEJoRoHiQvekdelCJKeIR+/fqRl5fHrl27mDt3Lp9++imPPvqou8Oq1cGDB7nuuuto3bo1NputxuvXXXcder2eTZs2OY8dO3aM48ePYzKZ2LVrl/N4Tk4OlZWV9OnTp16xVFVV1etzQgjPJ3nR8/OiFFHCIxiNRiIjI4mJiSErK4sxY8awbt06l/f84x//oFevXkRGRpKWlsbrr7+OoijO1//2t7+RlpZGZGQk8fHx3HjjjdjtdmbMmMHixYv57LPPnC27jRs31hqHoijMmjWLpKQkIiIiSE9P5+OPP3a+brVa+eGHH5g1axZWq5UZM2bUOIe/vz+pqaku19i4cSOpqan07du3xvFWrVrRpk2bq1778OHDWK1Wli9fzsiRI4mKiuJvf/tbrfexePFikpOTiY6O5uabb6agoOAq/wJCCE8jedHz86IUUcLjHDp0iLVr17oMrly4cCHPP/88TzzxBDk5ObzwwgvMmTOHv/71rwDs2LGDxx57jGnTpvHtt9+yatUqBgwYAMADDzzAmDFjnK26vLw8evXqVeu133jjDebNm8czzzzDli1bGDFiBLfffruzlZSXl0e7du24//77ycvL44EHHqj1PJmZmTWSQu/evendu3eN45mZmXW6drVnn32W3//+92zbto0RI0bUuPZ3333H5MmTueOOO9i4cSNDhw7lpZdeuurPXQjhuSQvemZelCJKeIQvv/ySmJgYoqKiSElJ4eeff2bq1KnO1//0pz/x7LPPkp2dTZs2bRg2bBgPPfQQb7/9NgBHjx7F39+fYcOG0apVKzp37syUKVPQ6XQEBARgMpmcrbrIyEiX/bN+af78+dx///2MGzeOhIQEnnzySa6//nrmz58PQGRkJDqdDn9/fyIjI6+4flVmZiaHDx/myJEjwL+TRUZGBlu3bsVut1NcXMyOHTucXdZXu3a1e+65x/lziImJqXHtv/zlL/Tt25fHHnuMhIQE7rzzTm644YZr/BcRQrib5EXPz4u6q79FiMaXnp7OnDlzKCsrY+HChRw6dIj77rsPgDNnznDs2DEefvhhl/EAdrvdudBd//79admyJV27dmXAgAH079+fkSNHEhgYWOcYLl68yMmTJ7nuuutcjl9//fV8/vnn13Q/vXr1wmg0snHjRjIyMjh9+jQ9e/bEYrEQEBDAjh07KCoqwm63k5mZeU3X7tat269eOy8vj6FDh7oc69GjB4sWLbqmexBCuJfkRc/Pi1JECY9gsViIj48HYNasWdxwww3MmjWLxx9/3Pl8f/bs2Vfsbg4MDOTrr79m8+bNbNiwgddee43nn3+edevWER0d/Zvju9bFP00mE927d2fTpk2oqkpqaioWiwWAjIwMNm3aRFFREQkJCbRo0YKLFy/W+dqymagQvkHyoufnRXmcJzzStGnTmDNnDidPniQiIoLo6Gjy8/OJj4+v8VVNp9PRt29fnn76aTZv3kxJSQmfffYZAAaDwWUKbW2CgoKIjo5m27ZtLse3bt1KYmLiNd9D9fP/6i7ratXP/zdu3Ojssm7IaycmJvLdd9+5HPvP74UQ3kfyYv2v3Vh5UXqihEfKzMwkMTGRV155hVdffZXHH3+cP/zhDwQHBzN48GCqqqrYuXMnJ0+e5JFHHuHTTz8lPz+f9PR0QkJC2LhxI8XFxbRv3x6AVq1a8eWXX7Jv3z5CQ0MJCgqqdVXgBx54gBkzZtC2bVtSUlJYsmQJW7du5auvvqrXPcycOZNPPvnEpcs4IyODJ554gsrKSpcBmA117XvvvZfBgwcze/ZssrOz2bRpEx999NE1xy+E8CySFz0vL0oRJTzW/fffz5QpU5g6dSq/+93vsFgszJ07l+eeew6TyUTHjh25++67AQgODubjjz9m1qxZlJWVERcXx9y5c0lPTwdg4sSJbNq0if79+1NcXMzq1audsz9+6b777qO4uJinn36agoIC2rVrx9///nc6d+58zfH36NEDs9lMRUUFPXv2dB5v3749QUFBFBQUuMTQUNfu0aMH8+bNY+bMmcyaNYvevXvzxz/+kT/84Q/XfA9CCM8iedGz8qJs+yKEEEIIUQ8yJkoIIYQQoh6kiBJCCCGEqAcpooQQQggh6kGKKCGEEEKIepAiSgghhBCiHqSIEkIIIYSoBymihBBCCCHqQYooIYQQQoh6kCJKCCGEEKIepIgSQgghhKgHKaKEEEIIIepBiighhBBCiHqQIkoIIYQQoh6kiPISI0eOJC4ujjNnztR4rbi4mOTkZDIyMrDb7W6I7sqOHTvGzJkzycrKonXr1sTHxzNixAg2bNhQ6/uLiop46KGHaNu2LS1atGDEiBHs2LGjxvvWrVvHAw88QEZGBmFhYURGRv5qHIcOHeKee+6hXbt2REZG0q1bN5588smGuEUhhBtJbnRV19w4Y8YMrFbrFb+WLl3akLfbbGmKiopUdwchru7AgQNkZGQwatQo3nrrLZfXnnjiCf7yl7/wxRdfkJaW5qYIa/fWW2/x9NNPM2LECHr16oXdbueDDz5g586dzJs3j9tvv935XkVRGDZsGD/88AP3338/4eHhvP322xw9epR169bRvn1753snTZrEhx9+SOfOnTl79iwnTpzg9OnTtcawa9cuRo4cSVRUFBMmTCA0NJTjx4+zf/9+3n777Ub/GQghGo/kxvrlxh9++IEff/yxxvHXXnuNffv28dNPP121cSqkiPIqr7zyCi+88AIrV66kf//+AOzcuZOsrCz++7//m1mzZjXq9R0OB3a7HaPRWOfP7Nmzh4iICMLCwpzHKioqyMzM5OLFi+zZsweNRgPAypUrufPOO3nnnXe48cYbAThz5gxpaWn079+fd99913mOkydPEhYWhsFgcCaN2hKFoij07t0bi8XC6tWrMZvN9bx7IYSnktz4rvMcdc2NtSkqKiIxMZHevXuzYsWKOt+LL5PHeV5k6tSpdOrUiYcffpiysjIUReGRRx4hKiqK6dOns3//fu644w7i4uKIjIwkMzOTVatWuZzj/PnzTJ8+nfT0dFq2bElMTAwjRoxgy5YtLu87fPgwVquV1157jbfeeovU1FQiIiL45ptvAMjPzyc/P/+qMXfs2NElSQAYjUYGDRrEqVOnuHDhgvP4qlWrCAsLY/To0c5jNpuNMWPG8Omnn1JWVuY8Hh0djcFguOr1161bx08//cS0adMwm82UlpZ6XLe+EOK3kdx47bmxNqtWraKiooLx48fX6/O+SOfuAETd6fV6/vznPzN06FBmzZpFTEwM27dv5/333+fEiRMMHjyYyMhIpk6dir+/Px999BETJ07kzTff5OabbwYujw1atWoVY8aMoU2bNly4cIFFixYxevRo1q1bR3Jysss1lyxZQklJCXfccQcBAQFERUUBMGrUKAB2795dr3spKCjAZDLh7+/vPLZr1y66dOmCn59rbZ+amsq7777L3r176dq16zVdp3p8gcFgoF+/fuTm5mIwGBg2bBivvvoqNputXvELITyH5MZrz421WbJkCf7+/txwww2/+Vy+QoooL9OzZ0/uuusu5s2bh9lsZtSoUQwfPpwxY8YQHR3N+vXrnY+s7r77bsaMGcOzzz7L+PHj0Wg0dOrUidzcXJdfxjvuuIMePXrw5ptvMm/ePJfrHT16lO3btzsTREM4ePAgq1evZuTIkej1eufx06dP07Nnzxrvr772qVOnrjlRHDhwAIA777yTAQMG8PDDD/Pzzz/z6quvcvjwYdauXYtWq/0NdyOE8ASSG39bEXX06FG2bt3KuHHjXAo48evkcZ4XeuqppwgLC0NVVWbNmsX58+fZsGEDo0ePprS0lLNnzzq/BgwYwIkTJ9i/fz9wubu4OkmUl5dz7tw5HA4Hqamp5Obm1rjWiBEjak0Su3fvrldLq7S0lIkTJ2IymXjmmWdcXisrK6t1TEH1sfLy8mu+XklJCXC5xbZgwQKys7OZNm0azz33HLm5uXz66afXfE4hhGeS3Fh/y5cvR1VVZ8+cqBvpifJCQUFBJCQkUFBQQFRUFNu3b0dVVWbOnMnMmTNr/UxhYSHt2rVDURTmzJnDu+++y+HDh13e07p16xqfa9OmTYPF7XA4uOuuu8jLy2PZsmXExMS4vG42m6moqKjxuepjJpPpmq9Z3fIcO3asy/Hx48fzxz/+kZycHEaMGHHN5xVCeB7JjfW3bNkyIiMj6dev328+ly+RIqoZUBQFgMmTJzN48OBa39OpUycAZs+ezQsvvMCECRP4f//v/xEaGopWq2X27Nm1DoZsyNlsDz74IJ999hkLFiygb9++NV6PjIysdRbJqVOnAOrVbV79mYiICJfjoaGh6HQ6ioqKrvmcQgjvILmxbnbt2sVPP/3EpEmTZHjDNZIiqhmobhHpdLqrtiL++c9/0rt3b9544w2X4zNmzGik6C6bPn067733HjNmzOCmm26q9T2dO3dm06ZNKIriMi5h+/btmEwml7VQ6iolJYWFCxdy4sQJl+OnT5/GbrfLwHIhmjHJjXWzbNkyAHmUVw8yJqoZCA8PJzMzs9ZiAXBZyVer1aKqrkuD5eTkOKfn1lVdp/ECzJ07l3nz5vHoo48yadKkK74vOzubs2fP8s9//tN5rPr7wYMH16vlN3z4cIxGI++//76zVQqwcOFCAOm6FqIZk9x4dYqisGLFChITE0lJSan3eXyV9EQ1E7Nnz2bIkCFkZGQwceJE4uLiKCws5LvvviMvL8+5PcCwYcOYOXMm9957L+np6Rw4cIB3332XDh06UFxcXOfr1XUa7+rVq3nqqado27Yt7du3Z8mSJS6v9+/f3/moLTs7mx49evDAAw+wd+9ebDYbb7/9Nna7vcYWLT/88ANr1qwB4Mcff8ThcPCnP/0JgOTkZIYNGwZc7gZ/9NFHeemllxg7diwjRoxgz549vPPOOwwbNow+ffrU+Z6FEN5HcmPtubHaxo0bOXHiBNOnT6/zPYp/kyKqmWjXrh3r16/n5Zdf5oMPPuDs2bPYbDaSk5NdfskeeeQRysrKWLZsGatWraJjx4688847rFixgk2bNjV4XD/88ANweamBe++9t8brq1evdiYKrVbLsmXLeOqpp3jrrbcoKyujW7duzJ8/n8TERJfP7dy5kxdffNHlWPX3EyZMcEkU//M//4PVamXBggU88cQThIeH8+CDD/LEE0806L0KITyP5MYr50aApUuXotFoGDduXIPdmy+RbV+EEEIIIepBxkQJIYQQQtSDFFFCCCGEEPUgRZQQQgghRD1IESWEEEIIUQ9SRAkhhBBC1IMUUUIIIYQQ9SBFlBBCCCFEPUgRJYQQQghRD1JECSGEEELUgxRRQgghhBD18P8BCMVD0ggzvA0AAAAASUVORK5CYII=\n" }, "metadata": {} } ], "source": [ "year_idx = 0\n", "fig, axes = plt.subplots(nrows=4, ncols=2)\n", "for row in axes:\n", " for col in row:\n", " china_prct = (china_emissions[year_idx] / world_emissions[year_idx]) * 100\n", " us_prct = (us_emissions[year_idx] / world_emissions[year_idx]) * 100\n", " india_prct = (india_emissions[year_idx] / world_emissions[year_idx]) * 100\n", " russia_prct = (russia_emissions[year_idx] / world_emissions[year_idx]) * 100\n", " world_prct = 100\n", " other_prct = (world_prct - (china_prct + us_prct + india_prct + russia_prct)) / world_prct * 100\n", " percentages = [china_prct, us_prct, india_prct, russia_prct, other_prct]\n", "\n", " col.pie(\n", " x=percentages, \n", " shadow=True, \n", " labels=['China', 'USA', 'India', 'Russia', 'Rest of World'], \n", " autopct='%1.1f%%',\n", " # explode=[0,0.1,0.2,0.3,0.1],\n", " # startangle=90\n", " )\n", " col.set_xlabel(f'Year: {years[year_idx]}')\n", " year_idx = year_idx + 1\n", "\n", "fig.set_size_inches(10, 15)\n", "fig.suptitle('Top CO2 Emitters by Percentage')\n", "fig.tight_layout()\n", "fig.show()" ] } ] } ================================================ FILE: intro_data_science/part_3/binder/requirements.txt ================================================ pandas==1.2.0 matplotlib==3.3.3 numpy==1.19.5 openpyxl==3.0.6 ================================================ FILE: intro_data_science/part_3/data/complete/eur_data_final.csv ================================================ ,country,unemp_rate,gdp,median_income,total_pop 0,Austria,6.0,356237.6,23071,8401940 1,Belgium,7.8,424660.3,21335,11000638 2,Bulgaria,7.6,48128.6,6742,7364570 3,Croatia,13.1,46639.5,8985,4284889 4,Cyprus,13.0,18490.2,16173,840407 5,Czechia,4.0,176370.1,12478,10436560 6,Denmark,6.2,282089.9,21355,5560628 7,Estonia,6.8,21682.6,11867,1294455 8,Finland,8.8,216073.0,19997,5375276 9,France,10.1,2228568.0,20621,64933400 10,Germany,4.1,3159750.0,21152,80219695 11,Greece,23.6,176487.9,9048,10816286 12,Hungary,5.1,113903.8,8267,9937628 13,Iceland,3.0,18646.1,22193,315556 14,Ireland,8.4,273238.2,18286,4574888 15,Italy,11.7,1689824.0,16237,59433744 16,Latvia,9.6,25037.7,9257,2070371 17,Lithuania,7.9,38849.4,9364,3043429 18,Luxembourg,6.3,53303.0,28663,512353 19,Malta,4.7,10344.1,17264,417432 20,Netherlands,6.0,708337.0,21189,16655799 21,Norway,4.7,335747.5,27670,4979954 22,Poland,6.2,426547.5,10865,38044565 23,Portugal,11.2,186480.5,10805,10562178 24,Romania,5.9,170393.6,4724,20121641 25,Slovakia,9.7,81226.1,10466,5397036 26,Slovenia,8.0,40357.2,15250,2050189 27,Spain,19.6,1118743.0,15347,46815910 28,Sweden,7.0,463147.5,20955,9482855 29,Switzerland,5.0,605753.7,27692,7954662 30,Turkey,10.9,780224.9,6501,7954662 31,United Kingdom,4.8,2403382.6,17296,63182180 ================================================ FILE: intro_data_science/part_3/data/gdp_2016.csv ================================================ country,gdp Cyprus,18490.2 Latvia,25037.7 Lithuania,38849.4 Luxembourg,53303 Hungary,113903.8 Malta,10344.1 Netherlands,708337 Austria,356237.6 Poland,426547.5 Portugal,186480.5 Romania,170393.6 Slovenia,40357.2 Slovakia,81226.1 Finland,216073 Sweden,463147.5 United Kingdom,2403382.6 Iceland,18646.1 Norway,335747.5 Switzerland,605753.7 Turkey,780224.9 Belgium,424660.3 Bulgaria,48128.6 Czechia,176370.1 Denmark,282089.9 Germany,3159750 Estonia,21682.6 Ireland,273238.2 Greece,176487.9 Spain,1118743 France,2228568 Croatia,46639.5 Italy,1689824 ================================================ FILE: intro_data_science/part_3/data/out/eur_data_sorted.csv ================================================ ,country,unemp_rate,gdp,total_pop 0,Austria,6.0,356237.6,8401940 1,Belgium,7.8,424660.3,11000638 2,Bulgaria,7.6,48128.6,7364570 13,Croatia,13.1,46639.5,4284889 4,Cyprus,13.0,18490.2,840407 5,Czechia,4.0,176370.1,10436560 7,Denmark,6.2,282089.9,5560628 8,Estonia,6.8,21682.6,1294455 11,Finland,8.8,216073.0,5375276 12,France,10.1,2228568.0,64933400 6,Germany,4.1,3159750.0,80219695 9,Greece,23.6,176487.9,10816286 14,Hungary,5.1,113903.8,9937628 16,Iceland,3.0,18646.1,315556 15,Ireland,8.4,273238.2,4574888 17,Italy,11.7,1689824.0,59433744 20,Latvia,9.6,25037.7,2070371 18,Lithuania,7.9,38849.4,3043429 19,Luxembourg,6.3,53303.0,512353 21,Malta,4.7,10344.1,417432 22,Netherlands,6.0,708337.0,16655799 23,Norway,4.7,335747.5,4979954 24,Poland,6.2,426547.5,38044565 25,Portugal,11.2,186480.5,10562178 26,Romania,5.9,170393.6,20121641 29,Slovakia,9.7,81226.1,5397036 28,Slovenia,8.0,40357.2,2050189 10,Spain,19.6,1118743.0,46815910 27,Sweden,7.0,463147.5,9482855 3,Switzerland,5.0,605753.7,7954662 30,Turkey,10.9,780224.9,7954662 31,United Kingdom,4.8,2403382.6,63182180 ================================================ FILE: intro_data_science/part_3/data/out/eur_data_sorted.html ================================================
country unemp_rate gdp total_pop
0 Austria 6.0 356237.6 8401940
1 Belgium 7.8 424660.3 11000638
2 Bulgaria 7.6 48128.6 7364570
13 Croatia 13.1 46639.5 4284889
4 Cyprus 13.0 18490.2 840407
5 Czechia 4.0 176370.1 10436560
7 Denmark 6.2 282089.9 5560628
8 Estonia 6.8 21682.6 1294455
11 Finland 8.8 216073.0 5375276
12 France 10.1 2228568.0 64933400
6 Germany 4.1 3159750.0 80219695
9 Greece 23.6 176487.9 10816286
14 Hungary 5.1 113903.8 9937628
16 Iceland 3.0 18646.1 315556
15 Ireland 8.4 273238.2 4574888
17 Italy 11.7 1689824.0 59433744
20 Latvia 9.6 25037.7 2070371
18 Lithuania 7.9 38849.4 3043429
19 Luxembourg 6.3 53303.0 512353
21 Malta 4.7 10344.1 417432
22 Netherlands 6.0 708337.0 16655799
23 Norway 4.7 335747.5 4979954
24 Poland 6.2 426547.5 38044565
25 Portugal 11.2 186480.5 10562178
26 Romania 5.9 170393.6 20121641
29 Slovakia 9.7 81226.1 5397036
28 Slovenia 8.0 40357.2 2050189
10 Spain 19.6 1118743.0 46815910
27 Sweden 7.0 463147.5 9482855
3 Switzerland 5.0 605753.7 7954662
30 Turkey 10.9 780224.9 7954662
31 United Kingdom 4.8 2403382.6 63182180
================================================ FILE: intro_data_science/part_3/data/out/eur_data_sorted.json ================================================ {"country":{"0":"Austria","1":"Belgium","2":"Bulgaria","13":"Croatia","4":"Cyprus","5":"Czechia","7":"Denmark","8":"Estonia","11":"Finland","12":"France","6":"Germany","9":"Greece","14":"Hungary","16":"Iceland","15":"Ireland","17":"Italy","20":"Latvia","18":"Lithuania","19":"Luxembourg","21":"Malta","22":"Netherlands","23":"Norway","24":"Poland","25":"Portugal","26":"Romania","29":"Slovakia","28":"Slovenia","10":"Spain","27":"Sweden","3":"Switzerland","30":"Turkey","31":"United Kingdom"},"unemp_rate":{"0":6.0,"1":7.8,"2":7.6,"13":13.1,"4":13.0,"5":4.0,"7":6.2,"8":6.8,"11":8.8,"12":10.1,"6":4.1,"9":23.6,"14":5.1,"16":3.0,"15":8.4,"17":11.7,"20":9.6,"18":7.9,"19":6.3,"21":4.7,"22":6.0,"23":4.7,"24":6.2,"25":11.2,"26":5.9,"29":9.7,"28":8.0,"10":19.6,"27":7.0,"3":5.0,"30":10.9,"31":4.8},"gdp":{"0":356237.6,"1":424660.3,"2":48128.6,"13":46639.5,"4":18490.2,"5":176370.1,"7":282089.9,"8":21682.6,"11":216073.0,"12":2228568.0,"6":3159750.0,"9":176487.9,"14":113903.8,"16":18646.1,"15":273238.2,"17":1689824.0,"20":25037.7,"18":38849.4,"19":53303.0,"21":10344.1,"22":708337.0,"23":335747.5,"24":426547.5,"25":186480.5,"26":170393.6,"29":81226.1,"28":40357.2,"10":1118743.0,"27":463147.5,"3":605753.7,"30":780224.9,"31":2403382.6000000001},"total_pop":{"0":8401940,"1":11000638,"2":7364570,"13":4284889,"4":840407,"5":10436560,"7":5560628,"8":1294455,"11":5375276,"12":64933400,"6":80219695,"9":10816286,"14":9937628,"16":315556,"15":4574888,"17":59433744,"20":2070371,"18":3043429,"19":512353,"21":417432,"22":16655799,"23":4979954,"24":38044565,"25":10562178,"26":20121641,"29":5397036,"28":2050189,"10":46815910,"27":9482855,"3":7954662,"30":7954662,"31":63182180}} ================================================ FILE: intro_data_science/part_3/data/unemployment_2016.csv ================================================ country,unemp_rate Austria,6 Belgium,7.8 Bulgaria,7.6 Switzerland,5 Cyprus,13 Czechia,4 Germany,4.1 Denmark,6.2 Estonia,6.8 Greece,23.6 Spain,19.6 Finland,8.8 France,10.1 Croatia,13.1 Hungary,5.1 Ireland,8.4 Iceland,3 Italy,11.7 Lithuania,7.9 Luxembourg,6.3 Latvia,9.6 Malta,4.7 Netherlands,6 Norway,4.7 Poland,6.2 Portugal,11.2 Romania,5.9 Sweden,7 Slovenia,8 Slovakia,9.7 Turkey,10.9 United Kingdom,4.8 ================================================ FILE: intro_data_science/part_3/ds_part_3.ipynb ================================================ { "metadata": { "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.2-final" }, "orig_nbformat": 2, "kernelspec": { "name": "python3", "display_name": "Python 3", "language": "python" } }, "nbformat": 4, "nbformat_minor": 2, "cells": [ { "source": [ "# A Brief Introduction to Pandas\n", "### Part 1\n", "\n", "In this notebook, we will cover the basics of Pandas, a dynamic, powerful Python library that is ubiquitous in the field of Data Science. It has robust I/O functionality and makes working with data a lot simpler than doing so in Excel. Let's get stared." ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 198, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import matplotlib.pyplot as plt" ] }, { "source": [ "## 1.1 DataFrames\n", "Let's read in some existing data using Pandas convenient read_csv method." ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 94, "metadata": {}, "outputs": [], "source": [ "unemployment_df = pd.read_csv('./data/unemployment_2016.csv')" ] }, { "cell_type": "code", "execution_count": 95, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "pandas.core.frame.DataFrame" ] }, "metadata": {}, "execution_count": 95 } ], "source": [ "# Check the type\n", "# https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "# Use .info() and .describe to inspect dataframe" ] }, { "cell_type": "code", "execution_count": 98, "metadata": {}, "outputs": [], "source": [ "# Select a single column\n", "# Using bracket notation\n", "\n", "# Using dot notation" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# Access by numeric index" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# Check the type\n", "# https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.html" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "output_type": "error", "ename": "NameError", "evalue": "name 'countries' is not defined", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m# Series objects do not have the same methods as dataframes\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mcountries\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0minfo\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3\u001b[0m \u001b[0mcountries\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdescribe\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mNameError\u001b[0m: name 'countries' is not defined" ] } ], "source": [ "# Series objects do not have the same methods as dataframes\n", "countries.info()\n", "countries.describe()" ] }, { "source": [ "## 1.2 Vectorized Operations\n", "In Pandas, operations work on each value in most data structures, such as dataframes and series." ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "# Add a string to the countries series" ] }, { "cell_type": "code", "execution_count": 103, "metadata": {}, "outputs": [ { "output_type": "error", "ename": "TypeError", "evalue": "can only concatenate str (not \"int\") to str", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m~/Library/Python/3.8/lib/python/site-packages/pandas/core/ops/array_ops.py\u001b[0m in \u001b[0;36m_na_arithmetic_op\u001b[0;34m(left, right, op, is_cmp)\u001b[0m\n\u001b[1;32m 141\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 142\u001b[0;31m \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mexpressions\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mevaluate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mop\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mleft\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mright\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 143\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mTypeError\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/Library/Python/3.8/lib/python/site-packages/pandas/core/computation/expressions.py\u001b[0m in \u001b[0;36mevaluate\u001b[0;34m(op, a, b, use_numexpr)\u001b[0m\n\u001b[1;32m 234\u001b[0m \u001b[0;31m# error: \"None\" not callable\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 235\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0m_evaluate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mop\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mop_str\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0ma\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mb\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m# type: ignore[misc]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 236\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0m_evaluate_standard\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mop\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mop_str\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0ma\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mb\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/Library/Python/3.8/lib/python/site-packages/pandas/core/computation/expressions.py\u001b[0m in \u001b[0;36m_evaluate_standard\u001b[0;34m(op, op_str, a, b)\u001b[0m\n\u001b[1;32m 68\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0merrstate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mall\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"ignore\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 69\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mop\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ma\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mb\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 70\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mTypeError\u001b[0m: can only concatenate str (not \"int\") to str", "\nDuring handling of the above exception, another exception occurred:\n", "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m# Add a number to the countries series\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mcountries\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;36m12\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m~/Library/Python/3.8/lib/python/site-packages/pandas/core/ops/common.py\u001b[0m in \u001b[0;36mnew_method\u001b[0;34m(self, other)\u001b[0m\n\u001b[1;32m 63\u001b[0m \u001b[0mother\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mitem_from_zerodim\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mother\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 64\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 65\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mmethod\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mother\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 66\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 67\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mnew_method\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/Library/Python/3.8/lib/python/site-packages/pandas/core/arraylike.py\u001b[0m in \u001b[0;36m__add__\u001b[0;34m(self, other)\u001b[0m\n\u001b[1;32m 87\u001b[0m \u001b[0;34m@\u001b[0m\u001b[0munpack_zerodim_and_defer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"__add__\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 88\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m__add__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mother\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 89\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_arith_method\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mother\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0moperator\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0madd\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 90\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 91\u001b[0m \u001b[0;34m@\u001b[0m\u001b[0munpack_zerodim_and_defer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"__radd__\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/Library/Python/3.8/lib/python/site-packages/pandas/core/series.py\u001b[0m in \u001b[0;36m_arith_method\u001b[0;34m(self, other, op)\u001b[0m\n\u001b[1;32m 4957\u001b[0m \u001b[0mlvalues\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mextract_array\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mextract_numpy\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4958\u001b[0m \u001b[0mrvalues\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mextract_array\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mother\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mextract_numpy\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 4959\u001b[0;31m \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mops\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0marithmetic_op\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlvalues\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrvalues\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mop\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 4960\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4961\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_construct_result\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mresult\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mres_name\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/Library/Python/3.8/lib/python/site-packages/pandas/core/ops/array_ops.py\u001b[0m in \u001b[0;36marithmetic_op\u001b[0;34m(left, right, op)\u001b[0m\n\u001b[1;32m 187\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 188\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0merrstate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mall\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"ignore\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 189\u001b[0;31m \u001b[0mres_values\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_na_arithmetic_op\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlvalues\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrvalues\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mop\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 190\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 191\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mres_values\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/Library/Python/3.8/lib/python/site-packages/pandas/core/ops/array_ops.py\u001b[0m in \u001b[0;36m_na_arithmetic_op\u001b[0;34m(left, right, op, is_cmp)\u001b[0m\n\u001b[1;32m 147\u001b[0m \u001b[0;31m# will handle complex numbers incorrectly, see GH#32047\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 148\u001b[0m \u001b[0;32mraise\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 149\u001b[0;31m \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_masked_arith_op\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mleft\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mright\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mop\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 150\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 151\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mis_cmp\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mis_scalar\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mresult\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0mresult\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0mNotImplemented\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/Library/Python/3.8/lib/python/site-packages/pandas/core/ops/array_ops.py\u001b[0m in \u001b[0;36m_masked_arith_op\u001b[0;34m(x, y, op)\u001b[0m\n\u001b[1;32m 109\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mmask\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0many\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 110\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0merrstate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mall\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"ignore\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 111\u001b[0;31m \u001b[0mresult\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mmask\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mop\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mxrav\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mmask\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 112\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 113\u001b[0m \u001b[0mresult\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0m_\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mmaybe_upcast_putmask\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mresult\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m~\u001b[0m\u001b[0mmask\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mnan\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mTypeError\u001b[0m: can only concatenate str (not \"int\") to str" ] } ], "source": [ "# Add a number to the countries series\n", "countries + 12" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# Select the unemployment rates as a series" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# Sort the dataframe by rate" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "# Use .head() to get the top five values" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "# Use .tail() to get the five values" ] }, { "source": [ "### Exercise - What is the average unemployment of the seven countries with the highest unemployment in europe?" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "# Sort the values of the unemployment_df - descending or ascending?\n", "\n", "# Get the first seven rows in the returned series\n", "\n", "# Get the average of those rows" ] }, { "source": [ "### Extra - explore these methods:\n", ".min(), .max(), .sum(), .unique(), .nunique(), .count(), .duplicated()" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "# " ] }, { "source": [ "## 1.3 Merging DataFrames\n", "Data can come from a variety of different sources and it can be helpful to put them all in one place." ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "gdp_filepath = './data/gdp_2016.csv'\n", "# Read in data using this filepath" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "# Inspect the GDP data" ] }, { "source": [ "Let's create a new dataframe by merging two existing dataframes. This is the one we'll use for the rest of section 2." ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "# Merge unemployment df with gdp df\n", "# https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.merge.html" ] }, { "source": [ "What other data can we include? Are there other file types that we can work with?" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "# Read in misc data from excel\n", "misc_filepath = './data/misc_data.xlsx'" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "# .read_excel() gets the first sheet in the excel file. Instead, get the \"Income\" sheet" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "# Get \"Population\" sheet" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "# Get \"Population\" sheet with proper rows" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "# Do we need all of these columns?" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "# Select total population column" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "# Merge totial population df with eur_data df" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "# Select population with country names, so pandas can perform merge" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "# Perform merge and sort values by country name" ] }, { "source": [ "It looks like there's an issue with our indexes. What is an index, anyway?" ], "cell_type": "markdown", "metadata": {} }, { "source": [ "## 1.4 Indexes\n", "https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Index.html" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "# Our data is indexed by integer values" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "# Indexes are immutable. And for good reason..." ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [], "source": [ "# Dataframes can also be indexed by labels, rather than numbers.\n", "# Use the .set_index() method to set the index for our dataframe" ] }, { "source": [ "## 1.5 Exporting Data\n", "Pandas has robust I/O functionality." ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 128, "metadata": {}, "outputs": [], "source": [ "# Helper function for generating a filepath\n", "def get_filepath(filename, extension):\n", " return './data/out/' + filename + '.' + extension" ] }, { "cell_type": "code", "execution_count": 129, "metadata": {}, "outputs": [], "source": [ "# Write df to csv using helper function" ] }, { "source": [ "### Exercise - Write this dataframe to Excel, JSON, and HTML" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 131, "metadata": {}, "outputs": [], "source": [ "# Excel (.xlsx)" ] }, { "cell_type": "code", "execution_count": 132, "metadata": {}, "outputs": [], "source": [ "# JSON (.json)" ] }, { "cell_type": "code", "execution_count": 133, "metadata": {}, "outputs": [], "source": [ "# HTML (.html)" ] }, { "source": [ "## 2.1 Working with DataFrames\n", "Let's work with an existing dataframe that includes a lot of the same data from the previous sections." ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "# Read in the complete version of the europe data, using the first column as the index" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [], "source": [ "# Inspect the data" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [], "source": [ "# Get the average of all the columns" ] }, { "source": [ "## 2.2 Boolean Indexing\n", "First of all, what is the boolean data type? It is data type that represents one of two possible values. For example, True False, On Off, etc." ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": [ "# Select all rows with the country name equal to Austria" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [], "source": [ "# Now do the same with bracket notation for the country of Greece" ] }, { "source": [ "Queries can also be generated using partial matches." ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [], "source": [ "# Get all countries with the letter l in their name" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# Notice that there is one country missing: Luxembourg. Why is that?" ] }, { "source": [ "## 2.3 Multiple queries\n", "So far, we've looked at queries with a single condition. Let's look at multiple query conditions." ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [], "source": [ "# Create bool series for countries with unemployment less than 7" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [], "source": [ "# Combine with this l_names series" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [], "source": [ "# In set theory, this is intersection. i.e. 'and'" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [], "source": [ "# In set theory, this is union. i.e. 'or'" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [], "source": [ "# In set theory, this is complement. i.e. 'not'" ] }, { "source": [ "### Exercise - What countries have an unemployment rate greater than 9% and a GDP less than 280000?" ], "cell_type": "markdown", "metadata": {} }, { "source": [ "### Exercise - What countries have a median income between 10,000 and 20,000?" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [], "source": [ "# Create a bool series from the df that combines these two conditions" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [], "source": [ "# Alternative, using .between()" ] }, { "source": [ "## 3.1 Selection\n", "Using .loc(), .iloc()" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 159, "metadata": {}, "outputs": [], "source": [ "# Data from the eur_data_final df, represented as a python dictionary\n", "countries_dict = {\n", " 15: {'country': 'Italy', \n", " 'unemp_rate': 11.7, \n", " 'gdp': 1689824.0, \n", " 'median_income': 16237, \n", " 'total_pop': 59433744\n", " }\n", "}" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [], "source": [ "# With vanilla python, how do we get the word 'Italy' from a dictionary?" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [], "source": [ "# How do we do this with a dataframe?" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [], "source": [ "# We can also get multiple columns" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [], "source": [ "# Or an entire row/entry" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [], "source": [ "# Or multiple rows and columns" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [], "source": [ "# We can also use python's index slicing syntax" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [], "source": [ "# Select by column value (Pandas is smart!)" ] }, { "source": [ "### Exercise - What countries have a higher unemployment rate than Slovenia and have a lowercase 't' in their name?" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [], "source": [ "# Select slovenia unemployment values\n", "\n", "# Generate comparison query\n", "\n", "# Generate 'contains' query\n", "\n", "# Make selection using queries" ] }, { "source": [ "### Exercise - Generate a correlation matrix for the various columns and plot them using matplotlib" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [], "source": [ "# Select columns\n", "\n", "# Make subplot and figure\n", "\n", "# Generate correlation matrix\n", "\n", "# Generate matplotlib plot\n", "\n", "# Add colorbar to figure\n", "\n", "# Set tick labels" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ] } ================================================ FILE: intro_data_science/part_3/ds_part_3_complete.ipynb ================================================ { "metadata": { "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.2-final" }, "orig_nbformat": 2, "kernelspec": { "name": "python3", "display_name": "Python 3", "language": "python" } }, "nbformat": 4, "nbformat_minor": 2, "cells": [ { "source": [ "# A Brief Introduction to Pandas\n", "### Part 1\n", "\n", "In this notebook, we will cover the basics of Pandas, a dynamic, powerful Python library that is ubiquitous in the field of Data Science. It has robust I/O functionality and makes working with data a lot simpler than doing so in Excel. Let's get stared." ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import matplotlib.pyplot as plt" ] }, { "source": [ "## 1.1 DataFrames\n", "Let's read in some existing data using Pandas convenient read_csv method." ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "unemployment_df = pd.read_csv('./data/unemployment_2016.csv')" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "pandas.core.frame.DataFrame" ] }, "metadata": {}, "execution_count": 3 } ], "source": [ "# Check the type\n", "# https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html\n", "type(unemployment_df)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "\nRangeIndex: 32 entries, 0 to 31\nData columns (total 2 columns):\n # Column Non-Null Count Dtype \n--- ------ -------------- ----- \n 0 country 32 non-null object \n 1 unemp_rate 32 non-null float64\ndtypes: float64(1), object(1)\nmemory usage: 640.0+ bytes\n" ] } ], "source": [ "unemployment_df.info()" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " unemp_rate\n", "count 32.000000\n", "mean 8.337500\n", "std 4.393378\n", "min 3.000000\n", "25% 5.700000\n", "50% 7.300000\n", "75% 9.800000\n", "max 23.600000" ], "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
unemp_rate
count32.000000
mean8.337500
std4.393378
min3.000000
25%5.700000
50%7.300000
75%9.800000
max23.600000
\n
" }, "metadata": {}, "execution_count": 5 } ], "source": [ "unemployment_df.describe()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "# Select a single column\n", "# Using bracket notation\n", "countries = unemployment_df['country']\n", "# Using dot notation\n", "countries = unemployment_df.country" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "output_type": "error", "ename": "KeyError", "evalue": "0", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m~/Library/Python/3.8/lib/python/site-packages/pandas/core/indexes/base.py\u001b[0m in \u001b[0;36mget_loc\u001b[0;34m(self, key, method, tolerance)\u001b[0m\n\u001b[1;32m 3079\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 3080\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_engine\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcasted_key\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3081\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0merr\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32mpandas/_libs/index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[0;34m()\u001b[0m\n", "\u001b[0;32mpandas/_libs/index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[0;34m()\u001b[0m\n", "\u001b[0;32mpandas/_libs/hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[0;34m()\u001b[0m\n", "\u001b[0;32mpandas/_libs/hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[0;34m()\u001b[0m\n", "\u001b[0;31mKeyError\u001b[0m: 0", "\nThe above exception was the direct cause of the following exception:\n", "\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m# Access by numeric index\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0munemployment_df\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m~/Library/Python/3.8/lib/python/site-packages/pandas/core/frame.py\u001b[0m in \u001b[0;36m__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 3022\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcolumns\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mnlevels\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3023\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_getitem_multilevel\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 3024\u001b[0;31m \u001b[0mindexer\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcolumns\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3025\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mis_integer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mindexer\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3026\u001b[0m \u001b[0mindexer\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0mindexer\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/Library/Python/3.8/lib/python/site-packages/pandas/core/indexes/base.py\u001b[0m in \u001b[0;36mget_loc\u001b[0;34m(self, key, method, tolerance)\u001b[0m\n\u001b[1;32m 3080\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_engine\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcasted_key\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3081\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0merr\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 3082\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0merr\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3083\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3084\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mtolerance\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mKeyError\u001b[0m: 0" ] } ], "source": [ "# Access by numeric index\n", "unemployment_df[0]" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "pandas.core.series.Series" ] }, "metadata": {}, "execution_count": 8 } ], "source": [ "# Check the type\n", "# https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.html\n", "type(countries)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "output_type": "error", "ename": "AttributeError", "evalue": "'Series' object has no attribute 'info'", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m# Series objects do not have the same methods as dataframes\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mcountries\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0minfo\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3\u001b[0m \u001b[0mcountries\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdescribe\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/Library/Python/3.8/lib/python/site-packages/pandas/core/generic.py\u001b[0m in \u001b[0;36m__getattr__\u001b[0;34m(self, name)\u001b[0m\n\u001b[1;32m 5458\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_info_axis\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_can_hold_identifiers_and_holds_name\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5459\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 5460\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mobject\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__getattribute__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 5461\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5462\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m__setattr__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mstr\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvalue\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m->\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mAttributeError\u001b[0m: 'Series' object has no attribute 'info'" ] } ], "source": [ "# Series objects do not have the same methods as dataframes\n", "countries.info()\n", "countries.describe()" ] }, { "source": [ "## 1.2 Vectorized Operations\n", "In Pandas, operations work on each value in most data structures, such as dataframes and series." ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "0 Austria is in Europe.\n", "1 Belgium is in Europe.\n", "2 Bulgaria is in Europe.\n", "3 Switzerland is in Europe.\n", "4 Cyprus is in Europe.\n", "5 Czechia is in Europe.\n", "6 Germany is in Europe.\n", "7 Denmark is in Europe.\n", "8 Estonia is in Europe.\n", "9 Greece is in Europe.\n", "10 Spain is in Europe.\n", "11 Finland is in Europe.\n", "12 France is in Europe.\n", "13 Croatia is in Europe.\n", "14 Hungary is in Europe.\n", "15 Ireland is in Europe.\n", "16 Iceland is in Europe.\n", "17 Italy is in Europe.\n", "18 Lithuania is in Europe.\n", "19 Luxembourg is in Europe.\n", "20 Latvia is in Europe.\n", "21 Malta is in Europe.\n", "22 Netherlands is in Europe.\n", "23 Norway is in Europe.\n", "24 Poland is in Europe.\n", "25 Portugal is in Europe.\n", "26 Romania is in Europe.\n", "27 Sweden is in Europe.\n", "28 Slovenia is in Europe.\n", "29 Slovakia is in Europe.\n", "30 Turkey is in Europe.\n", "31 United Kingdom is in Europe.\n", "Name: country, dtype: object" ] }, "metadata": {}, "execution_count": 10 } ], "source": [ "# Add a string to the countries series\n", "countries + \" is in Europe.\"" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "output_type": "error", "ename": "TypeError", "evalue": "can only concatenate str (not \"int\") to str", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m~/Library/Python/3.8/lib/python/site-packages/pandas/core/ops/array_ops.py\u001b[0m in \u001b[0;36m_na_arithmetic_op\u001b[0;34m(left, right, op, is_cmp)\u001b[0m\n\u001b[1;32m 141\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 142\u001b[0;31m \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mexpressions\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mevaluate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mop\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mleft\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mright\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 143\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mTypeError\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/Library/Python/3.8/lib/python/site-packages/pandas/core/computation/expressions.py\u001b[0m in \u001b[0;36mevaluate\u001b[0;34m(op, a, b, use_numexpr)\u001b[0m\n\u001b[1;32m 234\u001b[0m \u001b[0;31m# error: \"None\" not callable\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 235\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0m_evaluate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mop\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mop_str\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0ma\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mb\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m# type: ignore[misc]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 236\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0m_evaluate_standard\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mop\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mop_str\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0ma\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mb\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/Library/Python/3.8/lib/python/site-packages/pandas/core/computation/expressions.py\u001b[0m in \u001b[0;36m_evaluate_standard\u001b[0;34m(op, op_str, a, b)\u001b[0m\n\u001b[1;32m 68\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0merrstate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mall\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"ignore\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 69\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mop\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ma\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mb\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 70\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mTypeError\u001b[0m: can only concatenate str (not \"int\") to str", "\nDuring handling of the above exception, another exception occurred:\n", "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m# Add a number to the countries series\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mcountries\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;36m12\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m~/Library/Python/3.8/lib/python/site-packages/pandas/core/ops/common.py\u001b[0m in \u001b[0;36mnew_method\u001b[0;34m(self, other)\u001b[0m\n\u001b[1;32m 63\u001b[0m \u001b[0mother\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mitem_from_zerodim\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mother\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 64\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 65\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mmethod\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mother\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 66\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 67\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mnew_method\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/Library/Python/3.8/lib/python/site-packages/pandas/core/arraylike.py\u001b[0m in \u001b[0;36m__add__\u001b[0;34m(self, other)\u001b[0m\n\u001b[1;32m 87\u001b[0m \u001b[0;34m@\u001b[0m\u001b[0munpack_zerodim_and_defer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"__add__\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 88\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m__add__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mother\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 89\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_arith_method\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mother\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0moperator\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0madd\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 90\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 91\u001b[0m \u001b[0;34m@\u001b[0m\u001b[0munpack_zerodim_and_defer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"__radd__\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/Library/Python/3.8/lib/python/site-packages/pandas/core/series.py\u001b[0m in \u001b[0;36m_arith_method\u001b[0;34m(self, other, op)\u001b[0m\n\u001b[1;32m 4957\u001b[0m \u001b[0mlvalues\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mextract_array\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mextract_numpy\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4958\u001b[0m \u001b[0mrvalues\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mextract_array\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mother\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mextract_numpy\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 4959\u001b[0;31m \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mops\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0marithmetic_op\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlvalues\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrvalues\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mop\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 4960\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4961\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_construct_result\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mresult\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mres_name\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/Library/Python/3.8/lib/python/site-packages/pandas/core/ops/array_ops.py\u001b[0m in \u001b[0;36marithmetic_op\u001b[0;34m(left, right, op)\u001b[0m\n\u001b[1;32m 187\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 188\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0merrstate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mall\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"ignore\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 189\u001b[0;31m \u001b[0mres_values\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_na_arithmetic_op\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlvalues\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrvalues\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mop\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 190\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 191\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mres_values\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/Library/Python/3.8/lib/python/site-packages/pandas/core/ops/array_ops.py\u001b[0m in \u001b[0;36m_na_arithmetic_op\u001b[0;34m(left, right, op, is_cmp)\u001b[0m\n\u001b[1;32m 147\u001b[0m \u001b[0;31m# will handle complex numbers incorrectly, see GH#32047\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 148\u001b[0m \u001b[0;32mraise\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 149\u001b[0;31m \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_masked_arith_op\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mleft\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mright\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mop\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 150\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 151\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mis_cmp\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mis_scalar\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mresult\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0mresult\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0mNotImplemented\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/Library/Python/3.8/lib/python/site-packages/pandas/core/ops/array_ops.py\u001b[0m in \u001b[0;36m_masked_arith_op\u001b[0;34m(x, y, op)\u001b[0m\n\u001b[1;32m 109\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mmask\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0many\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 110\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0merrstate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mall\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"ignore\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 111\u001b[0;31m \u001b[0mresult\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mmask\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mop\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mxrav\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mmask\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 112\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 113\u001b[0m \u001b[0mresult\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0m_\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mmaybe_upcast_putmask\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mresult\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m~\u001b[0m\u001b[0mmask\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mnan\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mTypeError\u001b[0m: can only concatenate str (not \"int\") to str" ] } ], "source": [ "# Add a number to the countries series\n", "countries + 12" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "0 6.0\n1 7.8\n2 7.6\n3 5.0\n4 13.0\n5 4.0\n6 4.1\n7 6.2\n8 6.8\n9 23.6\n10 19.6\n11 8.8\n12 10.1\n13 13.1\n14 5.1\n15 8.4\n16 3.0\n17 11.7\n18 7.9\n19 6.3\n20 9.6\n21 4.7\n22 6.0\n23 4.7\n24 6.2\n25 11.2\n26 5.9\n27 7.0\n28 8.0\n29 9.7\n30 10.9\n31 4.8\nName: unemp_rate, dtype: float64\n" ] } ], "source": [ "# Select the unemployment rates as a series\n", "unemployment_rates = unemployment_df['unemp_rate']\n", "print(unemployment_rates)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "# Sort the dataframe by rate\n", "unemployment_sorted_asc = unemployment_df.sort_values('unemp_rate', ascending=True)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " country unemp_rate\n", "16 Iceland 3.0\n", "5 Czechia 4.0\n", "6 Germany 4.1\n", "23 Norway 4.7\n", "21 Malta 4.7" ], "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
countryunemp_rate
16Iceland3.0
5Czechia4.0
6Germany4.1
23Norway4.7
21Malta4.7
\n
" }, "metadata": {}, "execution_count": 14 } ], "source": [ "# Use .head() to get the top five values\n", "unemployment_sorted_asc.head()" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " country unemp_rate\n", "17 Italy 11.7\n", "4 Cyprus 13.0\n", "13 Croatia 13.1\n", "10 Spain 19.6\n", "9 Greece 23.6" ], "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
countryunemp_rate
17Italy11.7
4Cyprus13.0
13Croatia13.1
10Spain19.6
9Greece23.6
\n
" }, "metadata": {}, "execution_count": 15 } ], "source": [ "# Use .tail() to get the five values\n", "unemployment_sorted_asc.tail()" ] }, { "source": [ "### Exercise - What is the average unemployment of the seven countries with the highest unemployment in europe?" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "# Sort the values of the unemployment_df - descending or ascending?\n", "unemployment_sorted_desc = unemployment_df.sort_values('unemp_rate', ascending=False)\n", "# Get the first seven rows in the returned series\n", "highest_unemployment = unemployment_sorted_desc.head(7)\n", "# Get the average of those rows\n", "highest_unemployment_avg = highest_unemployment['unemp_rate'].mean()" ] }, { "source": [ "### Extra - explore these methods:\n", ".min(), .max(), .sum(), .unique(), .nunique(), .count(), .duplicated()" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " country unemp_rate\n", "0 Austria 6.0\n", "7 Denmark 6.2\n", "21 Malta 4.7\n", "22 Netherlands 6.0\n", "23 Norway 4.7\n", "24 Poland 6.2" ], "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
countryunemp_rate
0Austria6.0
7Denmark6.2
21Malta4.7
22Netherlands6.0
23Norway4.7
24Poland6.2
\n
" }, "metadata": {}, "execution_count": 17 } ], "source": [ "unemployment_rates.min()\n", "unemployment_rates.max()\n", "unemployment_rates.sum()\n", "unemployment_rates.unique()\n", "unemployment_rates.nunique()\n", "unemployment_rates.count()\n", "dups = unemployment_rates.duplicated()\n", "dups_no_keep = unemployment_rates.duplicated(keep=False)\n", "unemployment_df[dups_no_keep]" ] }, { "source": [ "## 1.3 Merging DataFrames\n", "Data can come from a variety of different sources and it can be helpful to put them all in one place." ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "gdp_filepath = './data/gdp_2016.csv'\n", "# Read in data using this filepath\n", "gdp_df = pd.read_csv(gdp_filepath)" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "\nRangeIndex: 32 entries, 0 to 31\nData columns (total 2 columns):\n # Column Non-Null Count Dtype \n--- ------ -------------- ----- \n 0 country 32 non-null object \n 1 gdp 32 non-null float64\ndtypes: float64(1), object(1)\nmemory usage: 640.0+ bytes\n" ] }, { "output_type": "execute_result", "data": { "text/plain": [ " country gdp\n", "0 Cyprus 18490.2\n", "1 Latvia 25037.7\n", "2 Lithuania 38849.4\n", "3 Luxembourg 53303.0\n", "4 Hungary 113903.8" ], "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
countrygdp
0Cyprus18490.2
1Latvia25037.7
2Lithuania38849.4
3Luxembourg53303.0
4Hungary113903.8
\n
" }, "metadata": {}, "execution_count": 19 } ], "source": [ "# Inspect the GDP data\n", "gdp_df.info()\n", "gdp_df.describe()\n", "gdp_df.head()" ] }, { "source": [ "Let's create a new dataframe by merging two existing dataframes. This is the one we'll use for the rest of section 2." ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " country unemp_rate gdp\n", "0 Austria 6.0 356237.6\n", "1 Belgium 7.8 424660.3\n", "2 Bulgaria 7.6 48128.6\n", "3 Switzerland 5.0 605753.7\n", "4 Cyprus 13.0 18490.2" ], "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
countryunemp_rategdp
0Austria6.0356237.6
1Belgium7.8424660.3
2Bulgaria7.648128.6
3Switzerland5.0605753.7
4Cyprus13.018490.2
\n
" }, "metadata": {}, "execution_count": 20 } ], "source": [ "# Merge unemployment df with gdp df\n", "# https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.merge.html\n", "eur_data = pd.merge(unemployment_df, gdp_df)\n", "eur_data.head()" ] }, { "source": [ "What other data can we include? Are there other file types that we can work with?" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " country avg_hrs_worked\n", "0 Austria 36.5\n", "1 Belgium 37.0\n", "2 Bulgaria 40.8\n", "3 Switzerland 34.7\n", "4 Cyprus 39.2" ], "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
countryavg_hrs_worked
0Austria36.5
1Belgium37.0
2Bulgaria40.8
3Switzerland34.7
4Cyprus39.2
\n
" }, "metadata": {}, "execution_count": 21 } ], "source": [ "# Read in misc data from excel\n", "misc_filepath = './data/misc_data.xlsx'\n", "misc_data = pd.read_excel(misc_filepath)\n", "misc_data.head()" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " country median_income\n", "0 Belgium 21335\n", "1 Bulgaria 6742\n", "2 Czechia 12478\n", "3 Denmark 21355\n", "4 Germany 21152" ], "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
countrymedian_income
0Belgium21335
1Bulgaria6742
2Czechia12478
3Denmark21355
4Germany21152
\n
" }, "metadata": {}, "execution_count": 22 } ], "source": [ "# .read_excel() gets the first sheet in the excel file. Instead, get the \"Income\" sheet\n", "income_df = pd.read_excel('./data/misc_data.xlsx', \"Income\")\n", "income_df.head()" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Unnamed: 0 Unnamed: 1 \\\n", "0 This is an overview of the population data for... NaN \n", "1 NaN NaN \n", "2 country total_pop \n", "3 Belgium 11000638 \n", "4 Bulgaria 7364570 \n", "\n", " Unnamed: 2 \n", "0 NaN \n", "1 NaN \n", "2 prct_yng_adt_pop \n", "3 18.485146 \n", "4 18.432577 " ], "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Unnamed: 0Unnamed: 1Unnamed: 2
0This is an overview of the population data for...NaNNaN
1NaNNaNNaN
2countrytotal_popprct_yng_adt_pop
3Belgium1100063818.485146
4Bulgaria736457018.432577
\n
" }, "metadata": {}, "execution_count": 23 } ], "source": [ "pop_df = pd.read_excel('./data/misc_data.xlsx', 'Population')\n", "pop_df.head()" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " country total_pop prct_yng_adt_pop\n", "0 Belgium 11000638 18.485146\n", "1 Bulgaria 7364570 18.432577\n", "2 Estonia 1294455 19.688363\n", "3 Ireland 4574888 20.601335\n", "4 Greece 10816286 17.604416" ], "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
countrytotal_popprct_yng_adt_pop
0Belgium1100063818.485146
1Bulgaria736457018.432577
2Estonia129445519.688363
3Ireland457488820.601335
4Greece1081628617.604416
\n
" }, "metadata": {}, "execution_count": 24 } ], "source": [ "pop_df = pd.read_excel('./data/misc_data.xlsx', 'Population', skiprows=3)\n", "pop_df.head()" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "['country', 'total_pop', 'prct_yng_adt_pop']" ] }, "metadata": {}, "execution_count": 25 } ], "source": [ "# Do we need all of these columns?\n", "pop_df_col_names = pop_df.columns\n", "list(pop_df_col_names)" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [], "source": [ "# Select total population column\n", "total_pop = pop_df['total_pop']" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "output_type": "error", "ename": "MergeError", "evalue": "No common columns to perform merge on. Merge options: left_on=None, right_on=None, left_index=False, right_index=False", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mMergeError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0meur_data\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmerge\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0meur_data\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtotal_pop\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m~/Library/Python/3.8/lib/python/site-packages/pandas/core/reshape/merge.py\u001b[0m in \u001b[0;36mmerge\u001b[0;34m(left, right, how, on, left_on, right_on, left_index, right_index, sort, suffixes, copy, indicator, validate)\u001b[0m\n\u001b[1;32m 72\u001b[0m \u001b[0mvalidate\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 73\u001b[0m ) -> \"DataFrame\":\n\u001b[0;32m---> 74\u001b[0;31m op = _MergeOperation(\n\u001b[0m\u001b[1;32m 75\u001b[0m \u001b[0mleft\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 76\u001b[0m \u001b[0mright\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/Library/Python/3.8/lib/python/site-packages/pandas/core/reshape/merge.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, left, right, how, on, left_on, right_on, axis, left_index, right_index, sort, suffixes, copy, indicator, validate)\u001b[0m\n\u001b[1;32m 648\u001b[0m \u001b[0mwarnings\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwarn\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmsg\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mUserWarning\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 649\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 650\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_validate_specification\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 651\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 652\u001b[0m \u001b[0mcross_col\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/Library/Python/3.8/lib/python/site-packages/pandas/core/reshape/merge.py\u001b[0m in \u001b[0;36m_validate_specification\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 1281\u001b[0m \u001b[0mcommon_cols\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mleft_cols\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mintersection\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mright_cols\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1282\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcommon_cols\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1283\u001b[0;31m raise MergeError(\n\u001b[0m\u001b[1;32m 1284\u001b[0m \u001b[0;34m\"No common columns to perform merge on. \"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1285\u001b[0m \u001b[0;34mf\"Merge options: left_on={self.left_on}, \"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mMergeError\u001b[0m: No common columns to perform merge on. Merge options: left_on=None, right_on=None, left_index=False, right_index=False" ] } ], "source": [ "eur_data = pd.merge(eur_data, total_pop)" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [], "source": [ "# Select population with country names, so pandas can perform merge\n", "total_pop_with_countries = pop_df[['country', 'total_pop']]" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " country unemp_rate gdp total_pop\n", "0 Austria 6.0 356237.6 8401940\n", "1 Belgium 7.8 424660.3 11000638\n", "2 Bulgaria 7.6 48128.6 7364570\n", "13 Croatia 13.1 46639.5 4284889\n", "4 Cyprus 13.0 18490.2 840407" ], "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
countryunemp_rategdptotal_pop
0Austria6.0356237.68401940
1Belgium7.8424660.311000638
2Bulgaria7.648128.67364570
13Croatia13.146639.54284889
4Cyprus13.018490.2840407
\n
" }, "metadata": {}, "execution_count": 29 } ], "source": [ "# Perform merge and sort values by country name\n", "eur_data = pd.merge(eur_data, total_pop_with_countries)\n", "eur_data_sorted = eur_data.sort_values('country')\n", "eur_data_sorted.head()" ] }, { "source": [ "It looks like there's an issue with our indexes. What is an index, anyway?" ], "cell_type": "markdown", "metadata": {} }, { "source": [ "## 1.4 Indexes\n", "https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Index.html" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "pandas.core.indexes.numeric.Int64Index" ] }, "metadata": {}, "execution_count": 30 } ], "source": [ "# Our data is indexed by integer values\n", "eur_index = eur_data.index\n", "type(eur_index)" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "output_type": "error", "ename": "TypeError", "evalue": "Index does not support mutable operations", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m# Indexes are immutable. And for good reason...\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0meur_index\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m12\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m~/Library/Python/3.8/lib/python/site-packages/pandas/core/indexes/base.py\u001b[0m in \u001b[0;36m__setitem__\u001b[0;34m(self, key, value)\u001b[0m\n\u001b[1;32m 4275\u001b[0m \u001b[0;34m@\u001b[0m\u001b[0mfinal\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4276\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m__setitem__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkey\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvalue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 4277\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mTypeError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"Index does not support mutable operations\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 4278\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4279\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m__getitem__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mTypeError\u001b[0m: Index does not support mutable operations" ] } ], "source": [ "# Indexes are immutable. And for good reason...\n", "eur_index[0] = 12" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " unemp_rate gdp total_pop\n", "country \n", "Austria 6.0 356237.6 8401940\n", "Belgium 7.8 424660.3 11000638\n", "Bulgaria 7.6 48128.6 7364570\n", "Croatia 13.1 46639.5 4284889\n", "Cyprus 13.0 18490.2 840407" ], "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
unemp_rategdptotal_pop
country
Austria6.0356237.68401940
Belgium7.8424660.311000638
Bulgaria7.648128.67364570
Croatia13.146639.54284889
Cyprus13.018490.2840407
\n
" }, "metadata": {}, "execution_count": 32 } ], "source": [ "# Dataframes can also be indexed by labels, rather than numbers.\n", "# Use the .set_index() method to set the index for our dataframe\n", "eur_data_country_index = eur_data_sorted.set_index('country')\n", "eur_data_country_index.head()" ] }, { "source": [ "## 1.5 Exporting Data\n", "Pandas has robust I/O functionality." ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [], "source": [ "# Helper function for generating a filepath\n", "def get_filepath(filename, extension):\n", " return './data/out/' + filename + '.' + extension" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [], "source": [ "filepath = get_filepath('eur_data_sorted', 'csv')\n", "eur_data_sorted.to_csv(filepath)" ] }, { "source": [ "### Exercise - Write this dataframe to Excel, JSON, and HTML" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [], "source": [ "# Excel (.xlsx)\n", "eur_data_sorted.to_excel(get_filepath('eur_data_sorted', 'xlsx'))" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [], "source": [ "# JSON (.json)\n", "eur_data_sorted.to_json(get_filepath('eur_data_sorted', 'json'))" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [], "source": [ "# HTML (.html)\n", "eur_data_sorted.to_html(get_filepath('eur_data_sorted', 'html'))" ] }, { "source": [ "## 2.1 Working with DataFrames\n", "Let's work with an existing dataframe that includes a lot of the same data from the previous sections." ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [], "source": [ "# Read in the complete version of the europe data, using the first column as the index\n", "eur_data_final = pd.read_csv('./data/complete/eur_data_final.csv', index_col=0)" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " unemp_rate gdp median_income total_pop\n", "count 32.000000 3.200000e+01 32.000000 3.200000e+01\n", "mean 8.337500 5.218333e+05 15972.343750 1.637612e+07\n", "std 4.393378 7.781849e+05 6640.636617 2.198819e+07\n", "min 3.000000 1.034410e+04 4724.000000 3.155560e+05\n", "25% 5.700000 4.775632e+04 10190.500000 3.974524e+06\n", "50% 7.300000 2.012768e+05 16205.000000 7.954662e+06\n", "75% 9.800000 4.987990e+05 21161.250000 1.241443e+07\n", "max 23.600000 3.159750e+06 28663.000000 8.021970e+07" ], "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
unemp_rategdpmedian_incometotal_pop
count32.0000003.200000e+0132.0000003.200000e+01
mean8.3375005.218333e+0515972.3437501.637612e+07
std4.3933787.781849e+056640.6366172.198819e+07
min3.0000001.034410e+044724.0000003.155560e+05
25%5.7000004.775632e+0410190.5000003.974524e+06
50%7.3000002.012768e+0516205.0000007.954662e+06
75%9.8000004.987990e+0521161.2500001.241443e+07
max23.6000003.159750e+0628663.0000008.021970e+07
\n
" }, "metadata": {}, "execution_count": 39 } ], "source": [ "# Inspect the data\n", "eur_data_final.head()\n", "eur_data_final.tail()\n", "eur_data_final.describe()" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "unemp_rate 8.337500e+00\n", "gdp 5.218333e+05\n", "median_income 1.597234e+04\n", "total_pop 1.637612e+07\n", "dtype: float64" ] }, "metadata": {}, "execution_count": 40 } ], "source": [ "eur_data_final.mean()" ] }, { "source": [ "## 2.2 Boolean Indexing\n", "First of all, what is the boolean data type? It is data type that represents one of two possible values. For example, True False, On Off, etc." ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " country unemp_rate gdp median_income total_pop\n", "0 Austria 6.0 356237.6 23071 8401940" ], "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
countryunemp_rategdpmedian_incometotal_pop
0Austria6.0356237.6230718401940
\n
" }, "metadata": {}, "execution_count": 41 } ], "source": [ "# Select all rows with the country name equal to Austria\n", "eur_data_final.country\n", "austria_bool = eur_data_final.country == 'Austria'\n", "eur_data_final[austria_bool]" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " country unemp_rate gdp median_income total_pop\n", "11 Greece 23.6 176487.9 9048 10816286" ], "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
countryunemp_rategdpmedian_incometotal_pop
11Greece23.6176487.9904810816286
\n
" }, "metadata": {}, "execution_count": 42 } ], "source": [ "# Now do the same with bracket notation for the country of Greece\n", "greece_bool = eur_data_final['country'] == 'Greece'\n", "eur_data_final[greece_bool]" ] }, { "source": [ "Queries can also be generated using partial matches." ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " country unemp_rate gdp median_income total_pop\n", "1 Belgium 7.8 424660.3 21335 11000638\n", "2 Bulgaria 7.6 48128.6 6742 7364570\n", "8 Finland 8.8 216073.0 19997 5375276\n", "13 Iceland 3.0 18646.1 22193 315556\n", "14 Ireland 8.4 273238.2 18286 4574888\n", "15 Italy 11.7 1689824.0 16237 59433744\n", "19 Malta 4.7 10344.1 17264 417432\n", "20 Netherlands 6.0 708337.0 21189 16655799\n", "22 Poland 6.2 426547.5 10865 38044565\n", "23 Portugal 11.2 186480.5 10805 10562178\n", "25 Slovakia 9.7 81226.1 10466 5397036\n", "26 Slovenia 8.0 40357.2 15250 2050189\n", "29 Switzerland 5.0 605753.7 27692 7954662" ], "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
countryunemp_rategdpmedian_incometotal_pop
1Belgium7.8424660.32133511000638
2Bulgaria7.648128.667427364570
8Finland8.8216073.0199975375276
13Iceland3.018646.122193315556
14Ireland8.4273238.2182864574888
15Italy11.71689824.01623759433744
19Malta4.710344.117264417432
20Netherlands6.0708337.02118916655799
22Poland6.2426547.51086538044565
23Portugal11.2186480.51080510562178
25Slovakia9.781226.1104665397036
26Slovenia8.040357.2152502050189
29Switzerland5.0605753.7276927954662
\n
" }, "metadata": {}, "execution_count": 43 } ], "source": [ "# Get all countries with the letter l in their name\n", "l_names = eur_data_final['country'].str.contains('l')\n", "eur_data_final[l_names]" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " country unemp_rate gdp median_income total_pop\n", "1 Belgium 7.8 424660.3 21335 11000638\n", "2 Bulgaria 7.6 48128.6 6742 7364570\n", "8 Finland 8.8 216073.0 19997 5375276\n", "13 Iceland 3.0 18646.1 22193 315556\n", "14 Ireland 8.4 273238.2 18286 4574888\n", "15 Italy 11.7 1689824.0 16237 59433744\n", "16 Latvia 9.6 25037.7 9257 2070371\n", "17 Lithuania 7.9 38849.4 9364 3043429\n", "18 Luxembourg 6.3 53303.0 28663 512353\n", "19 Malta 4.7 10344.1 17264 417432\n", "20 Netherlands 6.0 708337.0 21189 16655799\n", "22 Poland 6.2 426547.5 10865 38044565\n", "23 Portugal 11.2 186480.5 10805 10562178\n", "25 Slovakia 9.7 81226.1 10466 5397036\n", "26 Slovenia 8.0 40357.2 15250 2050189\n", "29 Switzerland 5.0 605753.7 27692 7954662" ], "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
countryunemp_rategdpmedian_incometotal_pop
1Belgium7.8424660.32133511000638
2Bulgaria7.648128.667427364570
8Finland8.8216073.0199975375276
13Iceland3.018646.122193315556
14Ireland8.4273238.2182864574888
15Italy11.71689824.01623759433744
16Latvia9.625037.792572070371
17Lithuania7.938849.493643043429
18Luxembourg6.353303.028663512353
19Malta4.710344.117264417432
20Netherlands6.0708337.02118916655799
22Poland6.2426547.51086538044565
23Portugal11.2186480.51080510562178
25Slovakia9.781226.1104665397036
26Slovenia8.040357.2152502050189
29Switzerland5.0605753.7276927954662
\n
" }, "metadata": {}, "execution_count": 44 } ], "source": [ "# Notice that there is one country missing: Luxembourg. Why is that?\n", "l_names_insensitive = eur_data_final.country.str.contains('l', case=False)\n", "eur_data_final[l_names_insensitive]" ] }, { "source": [ "## 2.3 Multiple queries\n", "So far, we've looked at queries with a single condition. Let's look at multiple query conditions." ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [], "source": [ "# Create bool series for countries with unemployment less than 7\n", "low_unemployment = eur_data_final.unemp_rate < 7" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [ { "output_type": "error", "ename": "ValueError", "evalue": "The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m# Combine with this l_names series\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0meur_data_final\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0ml_names_insensitive\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0mlow_unemployment\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[0;32m~/Library/Python/3.8/lib/python/site-packages/pandas/core/generic.py\u001b[0m in \u001b[0;36m__nonzero__\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 1437\u001b[0m \u001b[0;34m@\u001b[0m\u001b[0mfinal\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1438\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m__nonzero__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1439\u001b[0;31m raise ValueError(\n\u001b[0m\u001b[1;32m 1440\u001b[0m \u001b[0;34mf\"The truth value of a {type(self).__name__} is ambiguous. \"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1441\u001b[0m \u001b[0;34m\"Use a.empty, a.bool(), a.item(), a.any() or a.all().\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mValueError\u001b[0m: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all()." ] } ], "source": [ "# Combine with this l_names series\n", "eur_data_final[l_names_insensitive and low_unemployment]" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " country unemp_rate gdp median_income total_pop\n", "13 Iceland 3.0 18646.1 22193 315556\n", "18 Luxembourg 6.3 53303.0 28663 512353\n", "19 Malta 4.7 10344.1 17264 417432\n", "20 Netherlands 6.0 708337.0 21189 16655799\n", "22 Poland 6.2 426547.5 10865 38044565\n", "29 Switzerland 5.0 605753.7 27692 7954662" ], "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
countryunemp_rategdpmedian_incometotal_pop
13Iceland3.018646.122193315556
18Luxembourg6.353303.028663512353
19Malta4.710344.117264417432
20Netherlands6.0708337.02118916655799
22Poland6.2426547.51086538044565
29Switzerland5.0605753.7276927954662
\n
" }, "metadata": {}, "execution_count": 47 } ], "source": [ "# In set theory, this is intersection. i.e. 'and'\n", "eur_data_final[l_names_insensitive & low_unemployment]" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " country unemp_rate gdp median_income total_pop\n", "0 Austria 6.0 356237.6 23071 8401940\n", "1 Belgium 7.8 424660.3 21335 11000638\n", "2 Bulgaria 7.6 48128.6 6742 7364570\n", "5 Czechia 4.0 176370.1 12478 10436560\n", "6 Denmark 6.2 282089.9 21355 5560628\n", "7 Estonia 6.8 21682.6 11867 1294455\n", "8 Finland 8.8 216073.0 19997 5375276\n", "10 Germany 4.1 3159750.0 21152 80219695\n", "12 Hungary 5.1 113903.8 8267 9937628\n", "13 Iceland 3.0 18646.1 22193 315556\n", "14 Ireland 8.4 273238.2 18286 4574888\n", "15 Italy 11.7 1689824.0 16237 59433744\n", "18 Luxembourg 6.3 53303.0 28663 512353\n", "19 Malta 4.7 10344.1 17264 417432\n", "20 Netherlands 6.0 708337.0 21189 16655799\n", "21 Norway 4.7 335747.5 27670 4979954\n", "22 Poland 6.2 426547.5 10865 38044565\n", "23 Portugal 11.2 186480.5 10805 10562178\n", "24 Romania 5.9 170393.6 4724 20121641\n", "25 Slovakia 9.7 81226.1 10466 5397036\n", "26 Slovenia 8.0 40357.2 15250 2050189\n", "29 Switzerland 5.0 605753.7 27692 7954662\n", "31 United Kingdom 4.8 2403382.6 17296 63182180" ], "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
countryunemp_rategdpmedian_incometotal_pop
0Austria6.0356237.6230718401940
1Belgium7.8424660.32133511000638
2Bulgaria7.648128.667427364570
5Czechia4.0176370.11247810436560
6Denmark6.2282089.9213555560628
7Estonia6.821682.6118671294455
8Finland8.8216073.0199975375276
10Germany4.13159750.02115280219695
12Hungary5.1113903.882679937628
13Iceland3.018646.122193315556
14Ireland8.4273238.2182864574888
15Italy11.71689824.01623759433744
18Luxembourg6.353303.028663512353
19Malta4.710344.117264417432
20Netherlands6.0708337.02118916655799
21Norway4.7335747.5276704979954
22Poland6.2426547.51086538044565
23Portugal11.2186480.51080510562178
24Romania5.9170393.6472420121641
25Slovakia9.781226.1104665397036
26Slovenia8.040357.2152502050189
29Switzerland5.0605753.7276927954662
31United Kingdom4.82403382.61729663182180
\n
" }, "metadata": {}, "execution_count": 48 } ], "source": [ "# In set theory, this is union. i.e. 'or'\n", "eur_data_final[l_names | low_unemployment]" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " country unemp_rate gdp median_income total_pop\n", "1 Belgium 7.8 424660.3 21335 11000638\n", "2 Bulgaria 7.6 48128.6 6742 7364570\n", "3 Croatia 13.1 46639.5 8985 4284889\n", "4 Cyprus 13.0 18490.2 16173 840407\n", "8 Finland 8.8 216073.0 19997 5375276\n", "9 France 10.1 2228568.0 20621 64933400\n", "11 Greece 23.6 176487.9 9048 10816286\n", "14 Ireland 8.4 273238.2 18286 4574888\n", "15 Italy 11.7 1689824.0 16237 59433744\n", "16 Latvia 9.6 25037.7 9257 2070371\n", "17 Lithuania 7.9 38849.4 9364 3043429\n", "23 Portugal 11.2 186480.5 10805 10562178\n", "25 Slovakia 9.7 81226.1 10466 5397036\n", "26 Slovenia 8.0 40357.2 15250 2050189\n", "27 Spain 19.6 1118743.0 15347 46815910\n", "28 Sweden 7.0 463147.5 20955 9482855\n", "30 Turkey 10.9 780224.9 6501 7954662" ], "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
countryunemp_rategdpmedian_incometotal_pop
1Belgium7.8424660.32133511000638
2Bulgaria7.648128.667427364570
3Croatia13.146639.589854284889
4Cyprus13.018490.216173840407
8Finland8.8216073.0199975375276
9France10.12228568.02062164933400
11Greece23.6176487.9904810816286
14Ireland8.4273238.2182864574888
15Italy11.71689824.01623759433744
16Latvia9.625037.792572070371
17Lithuania7.938849.493643043429
23Portugal11.2186480.51080510562178
25Slovakia9.781226.1104665397036
26Slovenia8.040357.2152502050189
27Spain19.61118743.01534746815910
28Sweden7.0463147.5209559482855
30Turkey10.9780224.965017954662
\n
" }, "metadata": {}, "execution_count": 49 } ], "source": [ "# In set theory, this is complement. i.e. 'not'\n", "eur_data_final[~low_unemployment]" ] }, { "source": [ "### Exercise - What countries have an unemployment rate greater than 9% and a GDP less than 280000?" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " country unemp_rate gdp median_income total_pop\n", "9 France 10.1 2228568.0 20621 64933400\n", "15 Italy 11.7 1689824.0 16237 59433744\n", "27 Spain 19.6 1118743.0 15347 46815910\n", "30 Turkey 10.9 780224.9 6501 7954662" ], "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
countryunemp_rategdpmedian_incometotal_pop
9France10.12228568.02062164933400
15Italy11.71689824.01623759433744
27Spain19.61118743.01534746815910
30Turkey10.9780224.965017954662
\n
" }, "metadata": {}, "execution_count": 62 } ], "source": [ "unemp_gt_9 = eur_data_final.unemp_rate > 9\n", "gdp_lt_280 = eur_data_final.gdp > 280_000\n", "final = eur_data_final[unemp_gt_9 & gdp_lt_280]\n", "final" ] }, { "source": [ "### Exercise - What countries have a median income between 10,000 and 20,000?" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 63, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " country unemp_rate gdp median_income total_pop\n", "4 Cyprus 13.0 18490.2 16173 840407\n", "5 Czechia 4.0 176370.1 12478 10436560\n", "7 Estonia 6.8 21682.6 11867 1294455\n", "8 Finland 8.8 216073.0 19997 5375276\n", "14 Ireland 8.4 273238.2 18286 4574888\n", "15 Italy 11.7 1689824.0 16237 59433744\n", "19 Malta 4.7 10344.1 17264 417432\n", "22 Poland 6.2 426547.5 10865 38044565\n", "23 Portugal 11.2 186480.5 10805 10562178\n", "25 Slovakia 9.7 81226.1 10466 5397036\n", "26 Slovenia 8.0 40357.2 15250 2050189\n", "27 Spain 19.6 1118743.0 15347 46815910\n", "31 United Kingdom 4.8 2403382.6 17296 63182180" ], "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
countryunemp_rategdpmedian_incometotal_pop
4Cyprus13.018490.216173840407
5Czechia4.0176370.11247810436560
7Estonia6.821682.6118671294455
8Finland8.8216073.0199975375276
14Ireland8.4273238.2182864574888
15Italy11.71689824.01623759433744
19Malta4.710344.117264417432
22Poland6.2426547.51086538044565
23Portugal11.2186480.51080510562178
25Slovakia9.781226.1104665397036
26Slovenia8.040357.2152502050189
27Spain19.61118743.01534746815910
31United Kingdom4.82403382.61729663182180
\n
" }, "metadata": {}, "execution_count": 63 } ], "source": [ "# Create a bool series from the df that combines these two conditions\n", "income_query = (eur_data_final['median_income'] > 10_000) & (eur_data_final['median_income'].mean() < 20_000)\n", "eur_data_final[income_query]" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " country unemp_rate gdp median_income total_pop\n", "4 Cyprus 13.0 18490.2 16173 840407\n", "5 Czechia 4.0 176370.1 12478 10436560\n", "7 Estonia 6.8 21682.6 11867 1294455\n", "8 Finland 8.8 216073.0 19997 5375276\n", "14 Ireland 8.4 273238.2 18286 4574888\n", "15 Italy 11.7 1689824.0 16237 59433744\n", "19 Malta 4.7 10344.1 17264 417432\n", "22 Poland 6.2 426547.5 10865 38044565\n", "23 Portugal 11.2 186480.5 10805 10562178\n", "25 Slovakia 9.7 81226.1 10466 5397036\n", "26 Slovenia 8.0 40357.2 15250 2050189\n", "27 Spain 19.6 1118743.0 15347 46815910\n", "31 United Kingdom 4.8 2403382.6 17296 63182180" ], "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
countryunemp_rategdpmedian_incometotal_pop
4Cyprus13.018490.216173840407
5Czechia4.0176370.11247810436560
7Estonia6.821682.6118671294455
8Finland8.8216073.0199975375276
14Ireland8.4273238.2182864574888
15Italy11.71689824.01623759433744
19Malta4.710344.117264417432
22Poland6.2426547.51086538044565
23Portugal11.2186480.51080510562178
25Slovakia9.781226.1104665397036
26Slovenia8.040357.2152502050189
27Spain19.61118743.01534746815910
31United Kingdom4.82403382.61729663182180
\n
" }, "metadata": {}, "execution_count": 51 } ], "source": [ "# Alternative, using .between()\n", "income_query_alt = eur_data_final.median_income.between(10_000, 20_000, inclusive=True)\n", "eur_data_final[income_query_alt]" ] } ] } ================================================ FILE: intro_data_science/part_4/binder/requirements.txt ================================================ pandas==1.2.0 matplotlib==3.3.3 numpy==1.19.5 scipy==1.6.0 ================================================ FILE: intro_data_science/part_4/data/complete/eur_data_final.csv ================================================ ,country,unemp_rate,gdp,median_income,total_pop 0,Austria,6.0,356237.6,23071,8401940 1,Belgium,7.8,424660.3,21335,11000638 2,Bulgaria,7.6,48128.6,6742,7364570 3,Croatia,13.1,46639.5,8985,4284889 4,Cyprus,13.0,18490.2,16173,840407 5,Czechia,4.0,176370.1,12478,10436560 6,Denmark,6.2,282089.9,21355,5560628 7,Estonia,6.8,21682.6,11867,1294455 8,Finland,8.8,216073.0,19997,5375276 9,France,10.1,2228568.0,20621,64933400 10,Germany,4.1,3159750.0,21152,80219695 11,Greece,23.6,176487.9,9048,10816286 12,Hungary,5.1,113903.8,8267,9937628 13,Iceland,3.0,18646.1,22193,315556 14,Ireland,8.4,273238.2,18286,4574888 15,Italy,11.7,1689824.0,16237,59433744 16,Latvia,9.6,25037.7,9257,2070371 17,Lithuania,7.9,38849.4,9364,3043429 18,Luxembourg,6.3,53303.0,28663,512353 19,Malta,4.7,10344.1,17264,417432 20,Netherlands,6.0,708337.0,21189,16655799 21,Norway,4.7,335747.5,27670,4979954 22,Poland,6.2,426547.5,10865,38044565 23,Portugal,11.2,186480.5,10805,10562178 24,Romania,5.9,170393.6,4724,20121641 25,Slovakia,9.7,81226.1,10466,5397036 26,Slovenia,8.0,40357.2,15250,2050189 27,Spain,19.6,1118743.0,15347,46815910 28,Sweden,7.0,463147.5,20955,9482855 29,Switzerland,5.0,605753.7,27692,7954662 30,Turkey,10.9,780224.9,6501,7954662 31,United Kingdom,4.8,2403382.6,17296,63182180 ================================================ FILE: intro_data_science/part_4/data/complete/un_world_data.csv ================================================ country,Region,Surface area (km2),Population in thousands (2017),"Population density (per km2, 2017)","Sex ratio (m per 100 f, 2017)",GDP: Gross domestic product (million current US$),"GDP growth rate (annual %, const. 2005 prices)",GDP per capita (current US$),Economy: Agriculture (% of GVA),Economy: Industry (% of GVA),Economy: Services and other activity (% of GVA),Employment: Agriculture (% of employed),Employment: Industry (% of employed),Employment: Services (% of employed),Unemployment (% of labour force),Labour force participation (female/male pop. %),Agricultural production index (2004-2006=100),Food production index (2004-2006=100),International trade: Exports (million US$),International trade: Imports (million US$),International trade: Balance (million US$),"Balance of payments, current account (million US$)",Population growth rate (average annual %),Urban population (% of total population),Urban population growth rate (average annual %),"Fertility rate, total (live births per woman)","Life expectancy at birth (females/males, years)","Population age distribution (0-14 / 60+ years, %)",International migrant stock (000/% of total pop.),Refugees and others of concern to UNHCR (in thousands),Infant mortality rate (per 1000 live births,Health: Total expenditure (% of GDP),Health: Physicians (per 1000 pop.),Education: Government expenditure (% of GDP),Education: Primary gross enrol. ratio (f/m per 100 pop.),Education: Secondary gross enrol. ratio (f/m per 100 pop.),Education: Tertiary gross enrol. ratio (f/m per 100 pop.),Seats held by women in national parliaments %,Mobile-cellular subscriptions (per 100 inhabitants),Mobile-cellular subscriptions (per 100 inhabitants),Individuals using the Internet (per 100 inhabitants),Threatened species (number),Forested area (% of land area),CO2 emission estimates (million tons/tons per capita),"Energy production, primary (Petajoules)",Energy supply per capita (Gigajoules),"Pop. using improved drinking water (urban/rural, %)","Pop. using improved sanitation facilities (urban/rural, %)",Net Official Development Assist. received (% of GNI) Afghanistan,SouthernAsia,652864,35530,54.4,106.3,20270,-2.4,623.2,23.3,23.3,53.3,61.6,10.0,28.5,8.6,19.3/83.6,125,125,1458,3568,-2110,-5121,3.2,26.7,4.0,5.3,63.5/61.0,43.2/4.1,382.4/1.2,1513.1,68.6,8.2,0.3,3.3,91.1/131.6,39.7/70.7,3.7/13.3,27.7,61.6,8.3,42,2.1,9.8/0.3,63,5,78.2/47.0,45.1/27.0,21.43,-99 Albania,SouthernEurope,28748,2930,106.9,101.9,11541,2.6,3984.2,22.4,26.0,51.7,41.4,18.3,40.3,15.8,40.2/61.0,134,134,1962,4669,-2707,-1222,-0.1,57.4,2.2,1.7,79.9/75.6,17.4/19.0,57.6/2.0,8.8,14.6,5.9,1.3,3.5,111.7/115.5,92.5/98.8,68.1/48.7,22.9,106.4,63.3,130,28.2,5.7/2.0,84,36,94.9/95.2,95.5/90.2,2.96,-99 Armenia,WesternAsia,29743,2930,102.9,88.8,10529,3.0,3489.1,19.0,28.3,52.8,35.0,15.7,49.3,16.6,55.3/74.2,135,135,1776,3230,-1455,-279,0.3,62.7,-0.1,1.6,77.0/70.6,20.0/16.9,191.2/6.3,19.3,13.2,4.5,2.8,2.8,98.5/98.5,89.0/88.1,46.9/41.6,9.9,115.2,58.2,114,11.7,5.5/1.8,48,46,100.0/100.0,96.2/78.2,3.17,-99 Azerbaijan,WesternAsia,86600,9828,118.9,99.3,53049,0.7,5438.7,6.7,49.9,43.4,36.7,14.2,49.1,5.2,62.0/68.8,131,136,9143,8532,611,-222,1.3,54.6,1.6,2.1,74.6/68.6,23.3/10.1,264.2/2.7,623.3,31.4,6.0,3.4,2.6,105.6/107.4,-99,27.5/23.6,16.8,111.3,77.0,97,13.5,37.5/3.9,2459,61,94.7/77.8,91.6/86.6,0.14,-99 Belize,CentralAmerica,22966,375,16.4,99.2,1721,1.2,4789.4,14.6,18.5,66.9,16.1,15.9,67.9,11.5,56.7/83.8,97,97,246,952,-706,-175,2.2,44.0,1.9,2.6,72.7/67.2,31.4/6.2,53.9/15.0,3.1,14.3,5.8,...,6.4,110.4/115.8,81.8/79.8,28.7/17.9,9.4,48.9,41.6,117,60.1,0.5/1.4,9,36,98.9/100.0,93.5/88.2,1.68,-99 Benin,WesternAfrica,114763,11176,99.1,99.5,8476,5.2,779.1,23.2,24.9,51.9,43.2,10.2,46.6,1.0,70.0/73.4,152,158,410,2630,-2220,-885,2.8,44.0,3.7,5.2,61.4/58.5,42.7/5.0,245.4/2.3,0.8,67.7,4.6,0.1,4.4,123.7/134.2,46.8/66.7,8.4/22.4,7.2,85.6,6.8,88,38.7,6.3/0.6,96,17,85.2/72.1,35.6/7.3,5.09,-99 Bhutan,SouthernAsia,38394,808,21.2,113.1,2074,5.2,2677.1,17.2,43.9,38.8,56.6,9.7,33.7,2.4,59.4/73.5,98,98,616,1688,-1072,-579,1.6,38.6,3.7,2.2,68.9/68.6,26.5/7.3,51.1/6.6,-99,30.5,3.6,0.3,7.4,96.9/96.6,87.1/81.4,9.2/12.6,8.5,87.1,39.8,71,72.0,1.0/1.3,75,82,100.0/100.0,77.9/33.1,5.26,-99 Bolivia,SouthAmerica,1098581,11052,10.2,100.2,32998,4.8,3076.8,12.6,31.0,56.5,29.5,21.1,49.4,3.8,64.1/82.6,142,143,6969,8374,-1405,-1854,1.6,68.5,2.3,3.0,70.2/65.3,31.6/9.5,143.0/1.3,0.8,42.9,6.3,0.5,7.3,95.7/98.5,85.7/87.1,.../...,53.1,92.2,45.1,231,50.8,20.4/1.9,962,32,96.7/75.6,60.8/27.5,2.38,-99 Brazil,SouthAmerica,8515767,209288,25.0,96.6,1772591,-3.8,8528.3,5.2,22.7,72.0,15.2,21.5,63.2,12.4,56.0/78.2,135,136,185235,137552,47683,-58882,0.9,85.7,1.2,1.8,78.4/71.0,21.7/12.6,713.6/0.3,41.1,15.8,8.3,1.9,6.0,113.8/116.8,102.2/97.2,59.3/42.4,10.7,126.6,59.1,990,59.2,529.8/2.6,10948,61,100.0/87.0,88.0/51.5,0.06,-99 Burkina Faso,WesternAfrica,272967,19193,70.2,99.5,11065,4.1,611.1,34.5,21.8,43.7,80.0,4.9,15.1,2.9,76.5/90.5,131,134,2019,3699,-1680,-998,3.0,29.9,5.9,5.6,59.3/58.0,45.2/3.9,704.7/3.9,32.7,64.8,5.0,~0.0,4.1,86.1/89.9,32.2/35.1,3.8/7.3,11.0,80.6,11.4,31,19.8,2.8/0.1,123,9,97.5/75.8,50.4/6.7,9.11,-99 Burundi,EasternAfrica,27830,10864,423.1,96.9,2735,-4.1,244.6,36.3,13.9,49.8,91.1,2.6,6.3,1.7,84.6/82.7,109,122,123,625,-502,-375,3.0,12.1,5.7,6.0,58.0/54.2,45.0/4.4,286.8/2.6,103.2,77.8,7.5,...,5.4,124.5/123.1,40.5/44.5,2.4/7.7,36.4,46.2,4.9,61,10.6,0.4/~0.0,56,6,91.1/73.8,43.8/48.6,11.91,-99 Cambodia,South-easternAsia,181035,16005,90.7,95.3,18050,7.0,1158.7,28.2,29.4,42.3,42.4,19.6,38.0,0.3,75.6/87.0,175,177,13204,15313,-2109,-1657,1.6,20.7,2.6,2.7,69.6/65.5,31.3/7.1,74.0/0.5,0.3,29.9,5.7,0.2,1.9,116.2/117.1,.../...,11.8/14.3,20.3,133.0,19.0,255,54.3,6.7/0.4,178,17,100.0/69.1,88.1/30.5,3.97,-99 Cameroon,MiddleAfrica,475650,24054,50.9,100.2,28416,5.8,1217.3,22.7,28.3,49.1,61.8,8.7,29.5,4.6,71.1/81.2,155,160,2130,4899,-2768,-1173,2.7,54.4,3.6,5.0,57.7/55.1,42.7/4.8,382.0/1.6,544.9,67.5,4.1,...,3.0,110.7/123.5,53.5/62.6,15.2/19.7,31.1,71.8,20.7,775,40.3,7.0/0.3,408,14,94.8/52.7,61.8/26.8,2.31,-99 Chile,SouthAmerica,756102,18055,24.3,98.2,240796,2.3,13416.2,3.9,32.8,63.3,9.6,22.9,67.5,6.8,50.7/74.7,111,111,59884,58804,1080,-4761,0.9,89.5,1.1,1.8,81.3/76.2,20.3/16.0,469.4/2.6,3.7,7.4,7.8,...,4.9,100.0/103.3,101.3/100.0,94.4/83.0,15.8,129.5,64.3,197,23.4,82.6/4.7,540,85,99.7/93.3,100.0/90.9,0.02,-99 China,EasternAsia,9600000,1409517,150.1,106.3,11158457,6.9,8109.1,9.2,41.1,49.7,27.0,23.9,49.1,4.6,63.0/77.7,132,133,2118981,1588696,530285,330602,0.5,55.6,3.0,1.6,77.2/74.2,17.7/16.2,978.0/0.1,301.7,11.6,5.5,1.5,-99,104.3/104.0,95.6/93.2,47.3/39.9,23.7,93.2,50.3,1080,22.0,10291.9/7.5,101394,87,97.5/93.0,86.6/63.7,0.00,-99 Colombia,SouthAmerica,1141748,49066,44.2,96.8,292080,3.1,6056.1,6.8,34.0,59.2,13.5,16.6,69.9,10.5,58.0/79.8,114,115,31045,44831,-13786,-18922,1.0,76.4,1.7,1.9,77.4/70.2,23.5/11.6,133.1/0.3,7127.0,17.9,7.2,...,4.5,111.6/115.4,101.5/94.8,59.9/51.5,18.7,115.7,55.9,835,52.8,84.1/1.8,5380,31,96.8/73.8,85.2/67.9,0.47,-99 Congo,MiddleAfrica,342000,5261,15.4,100.1,8493,1.2,1838.1,4.7,70.0,25.3,40.7,25.8,33.5,11.5,67.1/72.6,106,106,2540,9793,-7253,...,2.6,65.4,3.2,4.9,64.1/61.0,42.3/5.2,393.0/8.5,54.9,46.5,5.2,...,...,114.8/107.0,50.6/58.4,8.3/11.1,7.4,111.7,7.6,134,65.4,3.1/0.7,648,24,95.8/40.0,20.0/5.6,1.05,-99 Costa Rica,CentralAmerica,51100,4906,96.1,100.1,52958,3.7,11015.0,5.1,21.5,73.4,11.6,19.1,69.3,8.6,46.9/76.5,127,129,9908,15322,-5414,-2493,1.1,76.8,2.7,1.9,81.7/76.7,21.6/13.6,421.7/8.8,10.1,9.3,9.3,1.2,7.2,109.5/110.1,125.6/120.7,60.9/46.6,35.1,150.7,59.8,340,53.4,7.8/1.6,110,44,99.6/91.9,95.2/92.3,0.22,-99 Cote D'Ivoire,WesternAfrica,322463,24295,76.4,102.7,32076,9.5,1412.9,23.7,28.3,48.1,56.0,5.7,38.4,9.3,52.6/80.9,122,123,10661,8380,2281,-633,2.5,54.2,3.7,5.1,53.2/50.4,42.4/4.8,2175.4/9.6,1023.0,71.6,5.7,...,5.0,88.0/99.2,36.6/51.0,7.3/11.0,11.5,119.3,21.0,249,32.7,11.0/0.5,540,26,93.1/68.8,32.8/10.3,2.22,-99 Dominican Republic,Caribbean,48671,10767,222.8,99.2,67103,7.0,6373.6,6.6,28.0,65.4,13.1,16.9,70.0,14.4,52.3/78.6,136,138,3747,22725,-18978,-1335,1.2,79.0,2.6,2.5,76.4/70.2,29.3/10.2,415.6/3.9,1.3,25.1,4.4,1.5,...,98.7/108.1,81.7/74.1,65.0/35.4,26.8,82.6,51.9,184,40.4,21.5/2.1,28,28,85.4/81.9,86.2/75.7,0.43,-99 Ecuador,SouthAmerica,257217,16625,66.9,99.9,100177,0.2,6205.1,10.1,34.1,55.8,25.7,19.2,55.1,5.8,49.1/79.9,118,119,16798,16189,609,-2201,1.6,63.7,1.9,2.6,78.4/72.8,28.4/10.5,387.5/2.4,133.1,21.1,9.2,1.7,5.0,107.9/107.4,109.2/105.3,45.3/34.6,41.6,79.4,48.9,2358,50.8,43.9/2.8,1247,42,93.4/75.5,87.0/80.7,0.31,-99 Egypt,NorthernAfrica,1002000,97553,98.0,102.3,315917,4.2,3452.3,11.2,36.3,52.5,25.4,25.3,49.3,11.5,23.1/76.2,120,122,22507,58053,-35545,-16786,2.2,43.1,1.7,3.4,73.0/68.7,33.5/7.9,491.6/0.5,256.5,18.9,5.6,0.8,...,103.8/104.1,85.9/86.3,35.6/36.9,14.9,111.0,35.9,156,0.1,201.9/2.2,3509,36,100.0/99.0,96.8/93.1,0.78,-99 El Salvador,CentralAmerica,21041,6378,307.8,88.5,25850,2.5,4219.4,10.8,25.8,63.3,18.6,20.2,61.2,6.4,49.5/79.5,111,117,5335,9855,-4519,-920,0.5,66.7,1.4,2.2,77.1/67.9,27.4/11.6,42.0/0.7,4.7,17.0,6.8,...,3.5,106.8/111.4,79.7/79.2,30.5/27.7,32.1,145.3,26.9,86,13.0,6.3/1.0,86,28,97.5/86.5,82.4/60.0,0.36,-99 Georgia,WesternAsia,69700,3912,56.3,91.4,13965,2.8,3491.4,9.0,24.1,66.9,44.7,11.2,44.1,11.4,57.9/79.0,85,86,2114,7236,-5122,-1775,-1.4,53.6,-0.1,2.0,77.0/68.5,19.2/20.8,168.8/4.2,274.1,11.2,7.4,4.8,2.0,118.2/115.5,103.8/103.6,47.8/39.2,16.0,129.0,45.2,120,40.6,9.0/2.2,61,47,100.0/100.0,95.2/75.9,3.30,-99 Ghana,WesternAfrica,238537,28834,126.7,99.3,37156,3.9,1355.6,19.0,26.9,54.1,41.9,14.2,43.8,5.9,75.7/78.8,144,144,7221,11939,-4718,-2809,2.4,54.0,3.4,4.2,62.6/60.7,38.5/5.3,399.5/1.5,27.3,46.5,3.6,...,6.2,108.7/107.3,61.1/63.1,13.2/19.1,12.7,129.7,23.5,238,40.9,14.5/0.6,410,14,92.6/84.0,20.2/8.6,4.81,-99 Guam,Micronesia,549,164,304.1,102.6,-99,-99,-99,-99,-99,-99,0.2,14.0,85.7,10.7,55.2/68.7,88,88,-99,-99,-99,-99,0.3,94.5,1.4,2.4,81.5/76.4,24.7/14.0,76.1/44.8,-99,9.6,-99,-99,-99,-99,-99,-99,-99,...,73.1,99,46.3,-99,-99,-99,99.5/99.5,89.8/89.8,-99,-99 Guatemala,CentralAmerica,108889,16914,157.8,96.9,63794,4.1,3903.5,10.8,27.2,62.0,32.0,18.5,49.4,2.4,41.7/84.0,158,158,10572,16987,-6415,-96,2.1,51.6,3.4,3.2,75.6/69.2,35.1/6.9,76.4/0.5,1.8,26.9,6.2,...,3.0,99.8/103.8,63.3/67.9,23.5/20.2,12.7,111.5,27.1,290,33.4,18.3/1.1,327,32,98.4/86.8,77.5/49.3,0.66,-99 Haiti,Caribbean,27750,10981,398.4,97.8,8501,1.7,793.7,16.7,38.2,45.1,46.9,12.6,40.6,12.9,62.0/71.7,163,166,984,3316,-2332,-723,1.4,58.6,3.8,3.1,64.4/60.2,33.0/7.3,39.5/0.4,1.9,46.9,7.6,-99,-99,-99,-99,-99,2.6,69.9,12.2,205,3.5,2.9/0.3,136,16,64.9/47.6,33.6/19.2,11.73,-99 Honduras,CentralAmerica,112492,9265,82.8,99.4,20365,3.6,2521.9,13.0,25.1,61.9,29.4,21.6,49.0,5.6,47.6/84.5,122,119,3657,8448,-4791,-1291,1.8,54.7,3.1,2.6,75.4/70.4,31.6/7.0,28.1/0.3,176.2,27.8,8.7,...,5.9,110.1/111.3,77.0/64.8,25.4/18.8,25.8,95.5,20.4,301,42.1,9.5/1.2,105,28,97.4/83.8,86.7/77.7,2.86,-99 India,SouthernAsia,3287263,1339180,450.4,107.6,2116239,7.6,1614.2,17.0,29.7,53.2,44.3,24.5,31.2,3.4,27.0/79.1,143,142,260327,356705,-96378,-22457,1.2,32.7,2.4,2.4,69.1/66.2,27.8/9.4,5241.0/0.4,211.1,41.3,4.7,0.7,3.8,115.1/102.8,74.5/73.5,26.7/27.0,11.8,78.8,26.0,1052,23.7,2238.4/1.7,23103,27,97.1/92.6,62.6/28.5,0.16,-99 Indonesia,South-easternAsia,1910931,263991,145.7,101.4,861934,4.8,3346.5,14.0,41.3,44.7,31.4,22.4,46.2,5.8,51.0/83.7,139,140,144490,135653,8837,-17697,1.2,53.7,2.7,2.4,70.7/66.6,27.4/8.6,328.8/0.1,13.8,25.0,2.8,0.2,3.6,104.4/107.2,86.0/85.7,25.7/22.9,19.8,132.4,22.0,1281,50.6,464.2/1.8,19481,35,94.2/79.5,72.3/47.5,0.00,-99 Iraq,WesternAsia,435052,38275,88.1,102.5,164234,-2.4,4509.0,4.6,58.0,37.4,20.4,21.0,58.6,16.1,15.3/69.9,123,123,27341,45831,-18490,4121,3.2,69.5,3.0,4.6,71.4/67.0,40.4/5.0,353.9/1.0,4736.2,32.1,5.5,0.9,-99,.../...,.../...,.../...,25.3,93.8,17.2,72,1.9,168.4/4.8,6744,58,93.8/70.1,86.4/83.8,0.88,-99 Israel,WesternAsia,22072,8322,384.5,98.7,299413,2.5,37129.4,1.3,21.2,77.5,1.0,17.9,81.0,5.9,58.5/69.0,112,112,60571,65803,-5232,13642,1.6,92.1,1.4,3.0,83.7/80.0,27.9/16.1,2011.7/24.9,44.7,3.4,7.8,3.6,5.8,105.1/104.4,103.0/102.0,75.5/54.6,27.5,133.5,78.9,174,7.5,64.6/8.1,313,119,100.0/100.0,100.0/100.0,-99,-99 Jordan,WesternAsia,89318,9702,109.3,102.6,37517,2.4,4940.1,4.0,27.7,68.4,2.0,17.8,80.2,13.4,14.5/64.5,134,135,7509,19207,-11698,-3332,4.9,83.7,3.8,3.6,75.5/72.2,35.5/5.7,3112.0/41.0,721.4,17.1,7.5,2.6,-99,97.6/97.1,84.8/80.2,47.3/42.5,15.4,179.4,53.4,113,1.1,26.5/3.6,7,47,97.8/92.3,98.6/98.9,5.80,-99 Kenya,EasternAfrica,591958,49700,87.3,98.8,63399,5.6,1376.7,32.0,19.0,49.0,61.9,8.6,29.5,10.8,62.4/72.4,126,126,5688,14109,-8420,-6339,2.7,25.6,4.3,4.1,67.8/63.0,40.5/4.3,1084.4/2.4,582.4,39.4,5.7,0.2,5.3,108.7/109.3,.../...,.../...,19.4,80.7,45.6,480,7.7,14.3/0.3,750,20,81.6/56.8,31.2/29.7,3.93,-99 Kyrgyzstan,CentralAsia,199949,6045,31.5,98.4,6572,3.5,1106.4,15.4,25.9,58.7,29.2,21.0,49.8,7.7,49.7/77.5,108,110,1423,3844,-2421,-721,1.6,35.7,1.6,3.1,74.3/66.4,31.8/7.6,204.4/3.4,8.2,19.6,6.5,1.9,5.5,106.8/107.9,92.8/91.4,53.3/40.8,19.2,132.8,30.2,44,3.4,9.6/1.7,80,27,96.7/86.2,89.1/95.6,12.16,-99 Lao People's Democratic Republic,South-easternAsia,236800,6858,29.7,99.5,12585,7.6,1850.2,23.6,32.8,43.6,78.3,4.0,17.7,1.5,77.9/77.8,193,186,2066,4513,-2447,-2264,1.3,38.6,4.9,2.9,66.8/63.9,32.9/6.3,22.2/0.3,-99,47.3,1.9,0.2,3.3,109.1/113.5,59.3/64.1,16.5/17.3,27.5,53.1,18.2,209,80.5,2.0/0.3,72,12,85.6/69.4,94.5/56.0,4.03,-99 Lebanon,WesternAsia,10452,6082,594.6,100.6,50149,1.5,8571.4,3.2,19.6,77.2,8.2,22.4,69.4,7.0,23.8/70.6,95,95,3402,20409,-17007,-8146,6.0,87.8,3.2,1.7,80.9/77.3,23.1/12.0,1997.8/34.1,1054.2,9.2,6.4,2.4,2.6,88.3/96.6,61.0/61.5,45.7/39.5,3.1,87.1,74.0,87,13.4,24.1/4.3,7,55,99.0/99.0,80.7/80.7,2.04,-99 Lesotho,SouthernAfrica,30355,2233,73.6,94.4,2008,2.8,940.6,7.7,31.3,61.0,39.7,20.0,40.3,27.5,59.7/74.6,101,100,648,1727,-1079,-168,1.3,27.3,3.0,3.3,54.7/50.1,35.4/6.7,6.6/0.3,~0.0,59.8,10.6,...,...,104.0/107.0,62.0/45.7,11.7/8.0,25.0,105.5,16.1,18,1.6,2.5/1.2,31,28,94.6/77.0,37.3/27.6,4.11,-99 Liberia,WesternAfrica,111369,4732,49.1,101.8,2053,0.3,455.9,70.8,11.4,17.9,45.3,11.7,43.0,4.1,57.9/64.1,104,121,641,727,-86,-860,2.6,49.7,3.4,4.8,61.6/59.8,41.8/4.9,113.8/2.5,22.1,59.0,10.0,...,2.8,89.1/98.5,32.5/41.9,9.0/14.2,12.3,81.1,5.9,172,43.7,0.9/0.2,73,19,88.6/62.6,28.0/5.9,61.73,-99 Madagascar,EasternAfrica,587295,25571,44.0,99.5,9739,3.1,401.8,24.9,18.4,56.7,74.2,9.4,16.5,2.3,83.8/89.0,119,120,2256,2965,-709,-622,2.7,35.1,4.7,4.4,66.0/63.0,41.0/4.8,32.1/0.1,0.1,36.8,3.0,0.1,2.1,148.9/148.9,38.1/38.8,4.6/5.0,19.2,46.0,4.2,1324,21.5,3.1/0.1,129,7,81.6/35.3,18.0/8.7,7.05,-99 Malawi,EasternAfrica,118484,18622,197.5,98.2,6420,3.0,372.9,26.1,16.6,57.3,69.9,4.8,25.4,6.8,81.3/81.0,149,150,875,1649,-774,-710,2.9,16.3,3.8,4.9,63.1/58.2,44.0/4.3,215.2/1.2,25.7,66.5,11.4,...,5.6,147.0/144.0,41.0/45.8,0.6/1.0,16.7,35.3,9.3,176,33.6,1.3/0.1,89,6,95.7/89.1,47.3/39.8,16.53,-99 Mali,WesternAfrica,1240192,18542,15.2,100.2,13100,7.6,744.3,39.9,19.6,40.5,56.7,14.7,28.6,8.1,50.5/82.3,154,157,3030,2510,520,-676,2.9,39.9,5.1,6.4,56.9/55.6,47.7/4.0,363.1/2.1,90.8,78.5,7.0,...,3.7,72.1/79.3,36.8/45.6,4.1/9.6,8.8,139.6,10.3,42,3.9,1.4/0.1,55,4,96.5/64.1,37.5/16.1,9.45,-99 Mauritania,WesternAfrica,1030700,4420,4.3,101.6,5023,1.2,1235.0,20.9,41.7,37.4,40.3,9.5,50.2,12.0,29.3/65.5,125,125,1623,2174,-551,-1066,2.9,59.9,3.5,4.9,64.1/61.2,39.9/5.0,138.2/3.4,69.0,68.0,3.8,...,2.9,105.0/100.0,29.5/31.7,3.6/7.1,25.2,89.3,15.2,86,0.2,2.7/0.7,31,13,58.4/57.1,57.5/13.8,5.02,-99 Mexico,CentralAmerica,1964375,129163,66.4,99.2,1140724,2.5,8980.9,3.6,36.0,60.4,13.4,25.2,61.3,4.1,45.5/79.5,120,120,373883,387064,-13181,-33216,1.4,79.2,1.6,2.3,78.9/74.0,26.7/10.1,1193.2/0.9,5.9,18.8,6.3,2.1,5.3,103.2/103.6,93.5/87.7,30.0/29.9,42.6,85.3,57.4,1162,34.0,480.3/3.8,8514,62,97.2/92.1,88.0/74.5,0.03,-99 Moldova,EasternEurope,33846,4051,123.3,92.2,6475,-0.7,1591.4,13.4,20.8,65.8,28.8,30.9,40.3,5.0,39.1/46.5,109,109,2045,4020,-1975,-415,-0.1,45.0,-0.7,1.3,75.2/66.7,15.7/17.6,142.9/3.5,5.5,14.3,10.3,2.5,7.5,91.9/92.9,86.5/85.8,47.4/35.3,22.8,108.0,49.8,35,12.3,4.9/1.2,15,23,96.9/81.4,87.8/67.1,4.49,-99 Mongolia,EasternAsia,1564116,3076,2.0,97.9,11758,2.3,3973.4,14.8,34.1,51.1,28.4,20.7,51.0,6.3,56.8/69.3,147,149,4917,3358,1559,-948,1.9,72.0,2.8,2.8,72.7/64.5,29.7/6.6,17.6/0.6,~0.0,22.8,4.7,2.9,4.6,100.0/101.8,92.4/90.5,79.7/57.7,17.1,105.0,21.4,41,8.1,20.8/7.2,677,84,66.4/59.2,66.4/42.6,2.21,-99 Mozambique,EasternAfrica,799380,29669,37.7,95.5,14806,6.6,529.2,24.6,21.0,54.4,75.0,4.1,21.0,24.1,82.2/75.6,137,137,3352,5295,-1943,-5833,2.9,32.2,3.3,5.4,58.1/54.0,44.8/4.8,222.9/0.8,24.0,67.3,7.0,0.1,6.5,101.2/110.4,31.1/33.8,5.4/7.4,39.6,74.2,9.0,309,48.5,8.4/0.3,779,20,80.6/37.0,42.4/10.1,12.54,-99 Myanmar (Burma),South-easternAsia,676577,53371,81.7,95.5,62601,7.3,1161.5,26.7,34.5,38.7,23.6,14.6,61.7,0.8,74.7/80.8,130,128,11673,15696,-4023,-3921,0.9,34.1,2.5,2.3,68.3/63.7,26.8/9.4,73.3/0.1,1392.1,45.0,2.3,0.6,-99,98.3/101.0,52.0/50.6,14.9/12.1,10.2,76.7,21.8,321,45.3,21.6/0.4,1078,15,92.7/74.4,84.3/77.1,2.23,-99 Namibia,SouthernAfrica,824116,2534,3.1,94.7,11491,5.3,4673.6,6.6,30.6,62.8,29.1,14.6,56.3,24.9,56.4/64.3,88,89,4816,6721,-1905,-1700,2.2,46.7,4.2,3.6,64.3/59.1,36.7/5.5,93.9/3.8,4.8,36.4,-99,...,...,109.5/113.3,.../...,.../...,41.3,102.1,22.3,115,8.5,3.8/1.6,19,31,98.2/84.6,54.5/16.8,1.24,-99 Nepal,SouthernAsia,147181,29305,204.4,94.3,20658,2.7,724.5,31.8,14.9,53.3,72.6,10.9,16.5,3.0,79.7/86.7,139,139,703,5249,-4547,2447,1.2,18.6,3.2,2.3,70.4/67.4,30.9/8.8,518.3/1.8,30.7,32.8,5.8,...,3.7,141.2/130.7,72.2/67.1,15.1/14.8,29.6,96.8,17.6,104,25.4,8.0/0.3,451,19,90.9/91.8,56.0/43.5,5.73,-99 Nicaragua,CentralAmerica,130373,6218,51.7,97.2,12693,4.9,2086.9,18.8,26.8,54.4,24.1,14.5,61.4,6.1,49.6/80.6,130,130,2225,5927,-3701,-1045,1.2,58.8,2.0,2.3,77.5/71.4,29.0/8.4,40.3/0.7,0.6,20.0,9.0,0.9,...,.../...,.../...,.../...,45.7,116.1,19.7,144,25.9,4.9/0.8,91,26,99.3/69.4,76.5/55.7,3.68,-99 Nigeria,WesternAfrica,923768,190886,209.6,102.7,494583,2.7,2714.5,20.9,20.4,58.8,27.9,14.7,57.4,5.4,48.5/64.3,116,117,104084,36533,67551,-15763,2.7,47.8,4.7,5.7,52.6/51.2,44.0/4.5,1199.1/0.7,2437.5,76.3,3.7,...,-99,92.8/94.5,53.5/57.8,8.3/11.8,5.6,82.2,47.4,361,8.1,96.3/0.6,10851,32,80.8/57.3,32.8/25.4,0.52,-99 Pakistan,SouthernAsia,796095,197016,255.6,105.6,266458,5.5,1410.4,25.5,19.0,55.5,42.1,19.8,38.1,5.9,24.8/82.5,135,138,20534,46998,-26464,-1603,2.1,38.8,2.8,3.7,66.8/65.0,34.8/6.7,3629.0/1.9,2739.4,69.8,2.6,0.8,2.6,85.2/99.7,39.2/49.5,9.2/10.6,20.6,66.9,18.0,140,2.0,166.3/0.9,2202,17,93.9/89.9,83.1/51.1,1.32,-99 Palestine,WesternAsia,6020,4921,817.4,102.9,12677,3.5,2715.5,4.8,23.4,71.9,8.7,29.8,61.5,24.2,18.4/69.7,90,90,929,5058,-4128,-1713,2.7,75.3,2.8,4.2,74.8/71.1,39.6/4.6,255.5/5.5,~0.0,20.0,-99,-99,1.3,94.3/94.4,87.0/79.2,54.4/34.5,-99,77.6,57.4,31,1.5,2.8/0.6,9,15,50.7/81.5,93.0/90.2,17.52,-99 Panama,CentralAmerica,75320,4099,55.1,100.4,52132,5.8,13268.1,2.8,27.1,70.0,14.5,19.6,65.9,6.2,50.5/80.4,117,118,636,11697,-11061,-3377,1.7,66.6,2.1,2.6,80.5/74.3,27.4/11.4,184.7/4.7,21.5,15.2,8.0,1.6,3.2,100.9/103.5,78.3/72.9,46.5/31.2,18.3,174.2,51.2,383,62.3,8.8/2.3,31,35,97.7/88.6,83.5/58.0,0.02,-99 Paraguay,SouthAmerica,406752,6811,17.1,102.9,27714,3.1,4174.4,19.0,29.5,51.6,19.6,19.5,61.0,5.5,58.3/84.7,160,166,8494,9753,-1259,-462,1.3,59.7,2.1,2.6,74.9/70.7,29.4/9.4,156.5/2.4,0.2,28.8,9.8,1.3,5.0,104.3/107.6,79.1/74.2,.../...,13.8,105.4,44.4,59,39.4,5.7/0.9,325,38,100.0/94.9,95.5/78.4,0.22,-99 Peru,SouthAmerica,1285216,32166,25.1,99.8,190428,3.3,6069.1,7.6,33.3,59.2,24.4,17.3,58.3,5.3,66.1/82.8,145,148,36040,36185,-145,-9210,1.3,78.6,1.7,2.5,76.8/71.5,27.4/10.4,90.9/0.3,2.5,18.6,5.5,1.1,4.0,101.7/101.7,95.8/95.7,.../...,27.7,109.9,40.9,685,57.9,61.7/2.0,1020,30,91.4/69.2,82.5/53.2,0.18,-99 Philippines,South-easternAsia,300000,104918,351.9,101.3,292449,5.9,2904.2,10.5,31.3,58.2,27.7,16.3,56.1,5.9,50.8/78.9,122,120,56313,85909,-29596,7694,1.6,44.4,1.3,3.0,72.1/65.4,31.7/7.6,211.9/0.2,240.2,22.2,4.7,...,...,116.9/116.8,92.7/84.4,40.3/31.4,29.5,118.1,40.7,783,26.2,105.7/1.1,991,19,93.7/90.3,77.9/70.8,0.15,-99 Puerto Rico,Caribbean,8868,3663,413.0,92.6,102906,-~0.0,27939.0,0.8,50.0,49.1,2.0,17.5,80.5,12.8,34.4/51.7,110,111,-99,-99,-99,-99,-0.2,93.6,-0.2,1.5,83.2/75.2,17.9/20.4,275.0/7.5,-99,6.3,-99,-99,6.4,90.4/89.1,83.9/78.8,98.8/70.1,-99,87.1,79.5,126,55.5,-99,1,16,.../...,99.3/99.3,-99,-99 Rwanda,EasternAfrica,26338,12208,494.9,96.2,8096,6.9,697.3,34.6,15.1,50.3,75.0,7.2,17.8,2.4,86.1/83.3,139,139,622,1778,-1157,-1099,2.5,28.8,6.4,4.2,67.1/63.1,40.1/4.9,441.5/3.8,155.1,44.0,7.5,...,3.6,133.4/131.7,38.2/35.2,6.9/9.1,61.3,70.5,18.0,62,19.2,0.8/0.1,84,8,86.6/71.9,58.5/62.9,13.67,-99 Saint Vincent and the Grenadines,Caribbean,389,110,281.8,101.7,738,1.6,6739.2,7.5,17.2,75.3,22.1,16.1,61.8,19.1,56.4/76.9,115,115,47,335,-288,-210,~0.0,50.6,0.7,2.0,74.9/70.7,23.8/11.7,4.6/4.2,-99,16.5,8.6,...,...,103.2/105.8,105.0/107.9,-99,13.0,103.6,51.8,58,69.2,0.2/1.9,0,29,95.1/95.1,.../...,1.80,-99 Samoa,Polynesia,2842,196,69.4,106.6,774,2.8,4006.0,9.3,24.2,66.6,5.3,14.8,79.8,6.5,23.3/58.2,107,107,56,350,-294,-44,0.8,19.1,-0.2,4.2,77.4/71.1,36.6/8.5,4.9/2.6,~0.0,18.0,7.2,...,...,106.7/106.7,89.5/80.7,.../...,10.0,58.5,25.4,93,60.4,0.2/1.0,2,24,97.5/99.3,93.3/91.1,12.75,-99 Senegal,WesternAfrica,196712,15851,82.3,96.6,13633,6.5,901.1,15.5,24.1,60.4,51.4,20.7,27.9,9.3,45.3/70.5,126,127,2640,5478,-2838,-1348,3.0,43.7,3.6,5.0,67.5/63.8,42.9/4.7,263.2/1.7,17.6,43.9,4.7,...,7.4,86.9/77.6,49.1/50.2,7.8/12.9,42.7,100.0,21.7,123,43.2,8.9/0.6,77,11,92.9/67.3,65.4/33.8,6.49,-99 Sierra Leone,WesternAfrica,72300,7557,104.7,98.1,4483,-20.3,694.8,51.4,17.6,31.1,68.0,6.5,25.5,3.1,65.1/68.8,168,168,466,958,-492,-1317,2.3,39.9,2.7,4.8,50.7/49.6,42.1/4.2,91.2/1.4,0.8,94.4,11.1,...,2.7,128.2/127.0,40.1/46.5,.../...,12.4,89.5,2.5,177,41.3,1.3/0.2,53,11,84.9/47.8,22.8/6.9,21.56,-99 Solomon Islands,Melanesia,28896,611,21.8,103.4,1075,3.2,1841.6,28.2,15.6,56.3,48.1,2.4,49.5,31.4,61.1/73.5,118,118,437,454,-17,-36,2.1,22.3,4.2,4.1,71.1/68.3,38.8/5.4,2.6/0.4,~0.0,30.0,5.1,0.2,...,113.6/115.0,47.0/49.8,-99,2.0,72.7,10.0,245,78.3,0.2/0.4,3,11,93.2/77.2,81.4/15.0,16.47,-99 Somalia,EasternAfrica,637657,14742,23.5,99.3,1559,2.7,144.5,60.2,7.4,32.5,72.0,4.8,23.2,6.6,33.3/75.9,112,112,925,530,394,-99,2.9,39.6,4.1,6.6,56.5/53.3,46.4/4.4,25.3/0.2,1168.4,79.5,-99,~0.0,-99,.../...,.../...,-99,24.2,52.5,1.8,175,10.3,0.6/0.1,129,12,69.6/8.8,52.0/6.3,22.85,-99 South Africa,SouthernAfrica,1221037,56717,46.8,96.4,314571,1.3,5773.0,2.4,28.9,68.7,6.1,26.2,67.7,26.0,46.4/61.1,125,126,74111,74744,-633,-13644,1.4,64.8,1.6,2.6,63.0/56.1,29.0/8.4,3142.5/5.8,1201.9,36.5,8.8,0.8,6.0,97.3/102.2,111.5/88.0,23.3/15.7,42.2,159.3,51.9,581,7.6,489.8/9.1,7102,122,99.6/81.4,69.6/60.5,0.47,-99 South Sudan,EasternAfrica,658841,12576,20.6,100.4,13167,2.0,1067.0,4.6,58.0,37.4,-99,-99,-99,...,.../...,-99,-99,2389,750,1640,-935,3.3,18.8,5.1,5.2,56.0/54.1,41.7/5.1,824.1/6.7,2231.2,77.7,2.7,-99,1.8,53.1/74.9,6.6/12.3,-99,28.5,23.9,17.9,49,-99,1.5/0.1,337,2,66.7/56.9,16.4/4.5,21.07,-99 Suriname,SouthAmerica,163820,563,3.6,100.7,4879,-2.7,8985.3,11.4,27.4,61.1,3.4,22.3,74.3,9.9,40.5/68.6,152,152,1437,1244,193,-808,1.0,66.0,0.8,2.5,74.2/67.8,26.4/10.4,46.8/8.6,~0.0,17.4,5.7,...,-99,121.4/124.2,90.9/71.7,.../...,25.5,180.7,42.8,83,98.3,2.0/3.7,44,62,98.1/88.4,88.4/61.4,0.32,-99 Tajikistan,CentralAsia,142600,8921,63.7,100.9,7853,4.2,925.9,25.0,28.0,47.1,57.2,13.4,29.4,10.8,59.6/77.9,155,172,899,3030,-2132,-472,2.2,26.8,2.6,3.5,73.5/67.7,35.3/5.8,275.1/3.2,21.8,38.9,6.9,1.7,5.2,101.2/99.8,83.1/92.5,24.0/33.6,19.0,98.6,19.0,45,3.0,5.2/0.6,76,14,93.1/66.7,93.8/95.5,4.55,-99 Tanzania,EasternAfrica,947303,57310,64.7,97.8,45628,7.0,877.3,31.1,26.1,42.9,66.9,6.4,26.7,2.7,73.9/83.2,176,180,4742,7876,-3134,-3312,3.1,31.6,5.4,5.2,64.8/60.8,44.9/4.7,261.2/0.5,402.1,44.0,5.6,~0.0,3.5,82.9/80.5,30.8/33.7,2.5/4.9,36.4,75.9,5.4,1082,52.4,11.6/0.2,935,20,77.2/45.5,31.3/8.3,5.85,-99 Thailand,South-easternAsia,513120,69038,135.1,95.2,395168,2.8,5814.8,9.1,35.7,55.1,34.0,22.7,43.3,0.6,62.7/79.8,129,126,213927,195666,18260,32149,0.4,50.4,3.0,1.5,78.4/70.8,17.3/16.9,3913.3/5.8,554.1,11.2,4.1,...,4.1,99.2/106.1,125.3/132.6,57.3/40.5,4.9,125.8,39.3,611,32.0,316.2/4.7,3338,83,97.6/98.0,89.9/96.1,0.02,-99 The Democratic Republic of the Congo,MiddleAfrica,2344858,81340,35.9,99.6,37569,7.0,486.2,19.9,44.2,35.9,65.3,5.9,28.9,3.6,70.4/71.8,104,104,5103,5906,-803,-1546,3.3,42.5,4.0,6.4,59.5/56.7,46.3/4.7,545.7/0.7,2163.3,73.2,4.3,...,2.2,101.8/112.0,33.3/53.6,4.2/9.1,8.9,53.0,3.8,349,67.4,4.7/0.1,1179,16,81.1/31.2,28.5/28.7,8.01,-99 Timor-Leste,South-easternAsia,14919,1296,87.2,103.2,2873,4.3,2425.4,5.2,79.9,14.9,50.8,2.0,47.2,4.3,26.9/55.6,111,117,94,647,-553,238,2.2,32.8,3.8,5.9,69.5/66.1,43.6/5.4,10.8/0.9,~0.0,43.9,1.5,0.1,7.8,136.2/137.5,79.6/74.1,.../...,38.5,117.4,13.4,24,46.9,0.5/0.4,143,7,95.2/60.5,69.0/26.8,8.89,-99 Togo,WesternAfrica,56785,7798,143.4,99.4,4086,5.5,559.4,45.7,19.7,34.6,62.5,8.7,28.7,6.8,81.0/80.7,140,143,715,1716,-1001,-461,2.6,40.0,3.8,4.7,59.8/58.3,41.6/4.6,276.8/3.8,13.8,55.7,5.2,...,5.2,118.5/125.1,.../...,6.4/14.9,17.6,65.0,7.1,80,3.8,2.6/0.4,111,20,91.4/44.2,24.7/2.9,5.51,-99 Turkey,WesternAsia,783562,80745,104.9,97.0,717888,4.0,9125.8,8.6,26.4,65.0,19.6,27.5,52.9,10.8,30.4/71.4,120,122,142606,198602,-55996,-32278,1.6,73.4,2.0,2.1,78.1/71.5,25.0/12.0,2964.9/3.8,3006.3,12.6,5.4,1.7,4.8,102.1/102.8,101.1/103.8,88.3/101.0,14.9,96.0,53.7,388,15.1,346.0/4.5,1303,65,100.0/100.0,98.3/85.5,0.30,-99 Uganda,EasternAfrica,241550,42863,214.5,99.0,25282,5.4,647.7,25.6,21.5,52.9,72.0,7.4,20.5,2.4,82.3/87.7,93,90,2755,3750,-996,-2353,3.4,16.1,5.4,5.9,60.7/56.5,47.7/3.3,749.5/1.9,727.1,60.2,7.2,...,2.2,110.9/108.9,22.1/24.3,4.2/5.4,34.3,50.4,19.2,196,11.0,5.2/0.1,409,12,95.5/75.8,28.5/17.3,6.35,-99 Ukraine,EasternEurope,603500,44223,76.3,86.0,90615,-9.9,2021.6,14.0,26.3,59.7,15.7,24.6,59.7,8.8,52.3/67.5,137,137,36369,39184,-2815,-189,-0.5,69.7,-0.3,1.5,76.0/66.1,15.5/23.2,4834.9/10.8,1644.8,8.8,7.1,3.0,5.9,105.1/102.8,98.2/100.2,88.4/76.5,12.3,144.0,49.3,102,16.6,227.3/5.1,3203,98,95.5/97.8,97.4/92.6,1.63,-99 United States,NorthernAmerica,9833517,324460,35.5,98.0,18036648,2.6,56053.8,1.0,19.7,79.3,1.5,17.2,81.3,4.9,55.7/68.1,111,113,1453167,2249661,-796494,-462961,0.7,81.6,1.0,1.9,81.2/76.5,18.9/21.5,46627.1/14.5,616.5,6.0,17.1,2.6,5.4,100.0/100.3,98.5/96.7,99.6/72.8,19.1,117.6,74.6,1513,33.9,5254.3/16.2,83887,289,99.4/98.2,100.0/100.0,-99,-99 Vanuatu,Melanesia,12189,276,22.7,102.4,737,-1.0,2783.0,26.7,8.4,64.9,61.4,6.8,31.8,5.3,61.7/80.5,123,122,50,416,-366,-82,2.3,26.1,3.4,3.4,73.6/69.4,35.9/6.7,3.2/1.2,~0.0,24.3,5.0,0.2,5.5,118.7/120.6,56.4/53.4,.../...,0.0,66.2,22.4,137,36.1,0.2/0.6,1,12,98.9/92.9,65.1/55.4,12.32,-99 Vietnam,South-easternAsia,330967,95541,308.1,98.0,193241,6.7,2067.9,18.9,37.0,44.2,41.8,22.9,35.2,2.2,73.9/83.3,136,134,176632,174111,2520,906,1.1,33.6,3.0,2.0,80.3/70.7,23.1/11.1,72.8/0.1,11.0,19.3,7.1,1.2,5.7,108.4/109.3,-99,28.9/28.8,26.7,130.6,52.7,616,47.2,166.9/1.8,2977,30,99.1/96.9,94.4/69.7,1.73,-99 Virgin Islands,Caribbean,347,105,299.7,91.1,-99,-99,-99,-99,-99,-99,10.9,24.0,65.2,9.0,52.5/70.7,109,109,-99,-99,-99,-99,-0.2,95.3,0.3,2.3,81.5/76.7,20.1/25.3,56.7/53.4,-99,9.3,-99,-99,-99,-99,-99,-99,-99,...,54.8,58,50.6,-99,-99,-99,100.0/100.0,96.4/96.4,-99,-99 Yemen,WesternAsia,527968,28250,53.5,102.1,29688,-28.1,1106.4,14.7,36.9,48.4,32.9,17.9,49.2,16.1,26.2/73.7,136,137,570,6861,-6291,-3026,2.6,34.6,4.0,4.4,65.6/62.8,39.9/4.6,344.1/1.3,3371.4,47.2,5.6,0.3,...,88.9/105.7,39.5/57.4,6.1/13.7,0.0,68.0,25.1,298,1.0,22.7/0.9,668,12,72.0/46.5,92.5/34.1,2.99,-99 Zambia,EasternAfrica,752612,17094,23.0,98.5,21255,2.9,1311.1,8.2,32.3,59.5,54.8,9.9,35.3,7.4,69.9/80.9,179,180,6505,7442,-937,-768,3.0,40.9,4.3,5.2,61.9/57.5,44.8/3.7,127.9/0.8,55.3,53.8,5.0,0.2,...,104.0/103.3,-99,3.4/4.5,18.0,74.5,21.0,88,65.6,4.5/0.3,374,26,85.6/51.3,55.6/35.7,3.96,-99 Zimbabwe,EasternAfrica,390757,16530,42.7,95.0,13893,1.1,890.4,13.0,30.5,56.5,67.5,7.3,25.2,5.0,78.0/87.5,99,98,2832,5212,-2379,-1521,2.3,32.4,2.3,4.0,59.0/56.1,41.2/4.2,398.9/2.6,308.6,46.5,6.0,0.1,8.4,99.1/100.8,47.1/48.1,8.0/8.9,32.6,84.8,16.4,89,37.2,12.0/0.8,482,30,97.0/67.3,49.3/30.8,6.00,-99 ================================================ FILE: intro_data_science/part_4/ds_part_4.ipynb ================================================ { "metadata": { "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.2-final" }, "orig_nbformat": 2, "kernelspec": { "name": "python3", "display_name": "Python 3", "language": "python" } }, "nbformat": 4, "nbformat_minor": 2, "cells": [ { "source": [ "# A Brief Introduction to Pandas\n", "### Part 2" ], "cell_type": "markdown", "metadata": {} }, { "source": [ "## 3.1 Selection\n", "Using .loc(), .iloc()\n", "https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.loc.html" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "from scipy import stats" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Read in the complete version of the europe data, using the first column as the index\n", "eur_data_final = pd.read_csv('./data/complete/eur_data_final.csv', index_col=0)\n", "eur_data_final.head()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Data from the eur_data_final df, represented as a python dictionary\n", "countries_dict = {\n", " 15: {\n", " 'country': 'Italy', \n", " 'unemp_rate': 11.7, \n", " 'gdp': 1689824, \n", " 'median_income': 16237, \n", " 'total_pop': 59433744\n", " }\n", "}" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# With vanilla python, how do we get the word 'Italy' from a dictionary?" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# How do we do this with a dataframe?" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# We can also get multiple columns" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Or an entire row/entry" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Or multiple rows and columns" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# We can also use python's index slicing syntax" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Select by column value (Pandas is smart!)\n", "# DF must be indexed by country name" ] }, { "source": [ "### Exercise - Use .loc() to create a new dataframe with all countries from Cypress to France (alphabetically) with gdp and total_pop columns." ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "source": [ "### Exercise - What countries have a higher unemployment rate than Slovenia and have a lowercase 't' in their name?" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Select slovenia unemployment values\n", "\n", "# Generate comparison query\n", "\n", "# Generate 'contains' query\n", "\n", "# Make selection using queries\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Explore .iloc()\n", "# https://stackoverflow.com/questions/31593201/how-are-iloc-and-loc-different\n" ] }, { "source": [ "## 4.1 MultiIndexes (hierarchical indexes)\n", "Pandas also supports multindexes, which allow users to index by multiple values or groups of values.\n", "https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.MultiIndex.html" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "parent_array = ['bar', 'bar', 'baz', 'baz', 'foo', 'foo', 'qux', 'qux']\n", "child_array = ['one', 'two', 'one', 'two', 'one', 'two', 'one', 'two']\n", "# Add arrays to one array" ] }, { "source": [ "We want a multidimensional array of random numbers. Numpy for the win!" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Set the seed for number generation\n", "np.random.seed(42)\n", "# Create multidimensional array of pseudorandom numbers with shape 8,4" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Convert md array to dataframe\n", "multi_df = pd.DataFrame(md_array)\n", "\n", "# https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.RangeIndex.html\n", "multi_df.index" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Add multindex\n", "multi_df = pd.DataFrame(md_array, index=arrays)\n", "multi_df.index" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Update column names of multi_df\n", "col_names = ['var1', 'var2', 'var3', 'var4']\n", "multi_df.columns = col_names" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Select all columns and rows for 'bar'" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Select all rows for index foo and column var1\n", "# Using loc, fancy indexing\n", "\n", "# # Using loc, bracket notation\n", "\n", "# # Using loc, dot notation\n", "\n", "# # Without loc\n" ] }, { "source": [ "## 4.2 Groupby\n", "From the documentation: \"A groupby operation involves some combination of splitting the object, applying a function, and combining the results.\"\n", "https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.groupby.html\n", "\n", "This is tied closely to the split-apply-combine strategy: https://pandas.pydata.org/pandas-docs/stable/user_guide/groupby.html. This was approach outlined by Hadley Wickcham in this paper: https://www.jstatsoft.org/article/view/v040i01.\n" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Read in the UN world data\n", "un_data = pd.read_csv('./data/complete/un_world_data.csv')" ] }, { "source": [ "This data is wide! Let's get rid of some of the columns." ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# This data is wide! Let's get rid of some of the columns.\n", "columns_to_keep = [\n", " 'country',\n", " 'Region',\n", " 'Surface area (km2)',\n", " 'GDP: Gross domestic product (million current US$)', \n", " 'Population in thousands (2017)', \n", " 'Population density (per km2, 2017)'\n", " ]" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Rename the columns \n", "columns = {\n", " \"Surface area (km2)\": \"\", \n", " \"GDP: Gross domestic product (million current US$)\": \"\",\n", " \"Population in thousands (2017)\": \"\",\n", " \"Population density (per km2, 2017)\": ''\n", " }" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Group the data by region\n", "un_region = un_data.groupby('Region', as_index=False)\n", "# The groupby object is iterable" ] }, { "source": [ "Note: generally speaking, you want to avoid iteration with Pandas. It's best to leverage the power of vectorized operations. If you find yourself looping through a dataframe or a series, you might be doing unecessary work. https://towardsdatascience.com/you-dont-always-have-to-loop-through-rows-in-pandas-22a970b347ac" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Select Caribbean group\n", "carib = un_region.get_group('Caribbean')\n", "\n", "# Get the head and tail" ] }, { "source": [ "### Exercise - Get the average surface area of all the countries in CentralAmerica" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "source": [ "We can do vectorized operations on each group object." ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# .min(), .max(), .mean(), .count()" ] }, { "source": [ "Let's take a look at aggregating the data using the .agg() method: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.agg.html" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "\n", "# Get the mean of each column for each region" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Get mean, median, and sum" ] }, { "source": [ "We can also pass in other functions or define our own. These are referred to as higher-order functions, i.e. functions that take in other functions as arguments. \n", "\n" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Example of higher-order function\n", "def do_calculation(val, func):\n", " return func(val)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Example of filtering" ] }, { "source": [ "Let's use the statistics module from scipy to calculate some new values: https://docs.scipy.org/doc/scipy/reference/stats.html" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# stats.tsem(), stats.tstd(), stats.skew()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Use a lambda function\n", "# https://www.geeksforgeeks.org/python-lambda-anonymous-functions-filter-map-reduce/" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Get the max of each column in each region" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Select a single column" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Get sum and mean of surface area, mean of population for each region" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Define custom column names" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# .filter()\n", "# https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.core.groupby.DataFrameGroupBy.filter.html\n", "# https://pandas.pydata.org/pandas-docs/stable/reference/groupby.html" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Filter by population" ] }, { "source": [ "### Exercise - Get standard deviation of gdp for each region using np.std for all regions with a population density over 100" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "source": [ "### Exercise - Generate corr plot for the UN data" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Select columns\n", "\n", "# Make subplot and figure\n", "\n", "# Generate correlation matrix\n", "\n", "# Generate matplotlib plot\n", "\n", "# Add colorbar to figure\n", "\n", "# Set tick labels" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ] } ================================================ FILE: intro_data_science/part_4/ds_part_4_complete.ipynb ================================================ { "metadata": { "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.2-final" }, "orig_nbformat": 2, "kernelspec": { "name": "python3", "display_name": "Python 3", "language": "python" } }, "nbformat": 4, "nbformat_minor": 2, "cells": [ { "source": [ "# A Brief Introduction to Pandas\n", "### Part 2" ], "cell_type": "markdown", "metadata": {} }, { "source": [ "## 3.1 Selection\n", "Using .loc(), .iloc()\n", "https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.loc.html" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "from scipy import stats" ] }, { "cell_type": "code", "execution_count": 201, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " country unemp_rate gdp median_income total_pop\n", "0 Austria 6.0 356237.6 23071 8401940\n", "1 Belgium 7.8 424660.3 21335 11000638\n", "2 Bulgaria 7.6 48128.6 6742 7364570\n", "3 Croatia 13.1 46639.5 8985 4284889\n", "4 Cyprus 13.0 18490.2 16173 840407" ], "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
countryunemp_rategdpmedian_incometotal_pop
0Austria6.0356237.6230718401940
1Belgium7.8424660.32133511000638
2Bulgaria7.648128.667427364570
3Croatia13.146639.589854284889
4Cyprus13.018490.216173840407
\n
" }, "metadata": {}, "execution_count": 201 } ], "source": [ "# Read in the complete version of the europe data, using the first column as the index\n", "eur_data_final = pd.read_csv('./data/complete/eur_data_final.csv', index_col=0)\n", "eur_data_final.head()" ] }, { "cell_type": "code", "execution_count": 132, "metadata": {}, "outputs": [], "source": [ "# Data from the eur_data_final df, represented as a python dictionary\n", "countries_dict = {\n", " 15: {\n", " 'country': 'Italy', \n", " 'unemp_rate': 11.7, \n", " 'gdp': 1689824, \n", " 'median_income': 16237, \n", " 'total_pop': 59433744\n", " }\n", "}" ] }, { "cell_type": "code", "execution_count": 133, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "'Italy'" ] }, "metadata": {}, "execution_count": 133 } ], "source": [ "# With vanilla python, how do we get the word 'Italy' from a dictionary?\n", "countries_dict[15]['country']" ] }, { "cell_type": "code", "execution_count": 134, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "'Italy'" ] }, "metadata": {}, "execution_count": 134 } ], "source": [ "# How do we do this with a dataframe?\n", "eur_data_final.loc[15, 'country']" ] }, { "cell_type": "code", "execution_count": 136, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "country Italy\n", "unemp_rate 11.7\n", "gdp 1689824.0\n", "median_income 16237\n", "Name: 15, dtype: object" ] }, "metadata": {}, "execution_count": 136 } ], "source": [ "# We can also get multiple columns\n", "eur_data_final.loc[15, ['country', 'gdp']]" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "country Hungary\n", "unemp_rate 5.1\n", "gdp 113903.8\n", "median_income 8267\n", "total_pop 9937628\n", "Name: 12, dtype: object" ] }, "metadata": {}, "execution_count": 9 } ], "source": [ "# Or an entire row/entry\n", "eur_data_final.loc[12]" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " country gdp\n", "9 France 2228568.0\n", "10 Germany 3159750.0" ], "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
countrygdp
9France2228568.0
10Germany3159750.0
\n
" }, "metadata": {}, "execution_count": 10 } ], "source": [ "# Or multiple rows and columns\n", "eur_data_final.loc[[9,10], ['country','gdp']]" ] }, { "cell_type": "code", "execution_count": 137, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " country unemp_rate gdp median_income\n", "9 France 10.1 2228568.0 20621\n", "10 Germany 4.1 3159750.0 21152\n", "11 Greece 23.6 176487.9 9048\n", "12 Hungary 5.1 113903.8 8267\n", "13 Iceland 3.0 18646.1 22193\n", "14 Ireland 8.4 273238.2 18286" ], "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
countryunemp_rategdpmedian_income
9France10.12228568.020621
10Germany4.13159750.021152
11Greece23.6176487.99048
12Hungary5.1113903.88267
13Iceland3.018646.122193
14Ireland8.4273238.218286
\n
" }, "metadata": {}, "execution_count": 137 } ], "source": [ "# We can also use python's index slicing syntax\n", "eur_data_final.loc[9:14, 'country':'median_income']" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "unemp_rate 8.0\n", "gdp 40357.2\n", "median_income 15250.0\n", "total_pop 2050189.0\n", "Name: Slovenia, dtype: float64" ] }, "metadata": {}, "execution_count": 11 } ], "source": [ "# Select by column value (Pandas is smart!)\n", "# DF must be indexed by country name\n", "eur_data_country_index = eur_data_final.sort_values('country').set_index('country')\n", "eur_data_country_index.loc['Slovenia']" ] }, { "source": [ "### Exercise - Use .loc() to create a new dataframe with all countries from Cypress to France (alphabetically) with gdp and total_pop columns." ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 144, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " gdp total_pop\n", "country \n", "Cyprus 18490.2 840407\n", "Czechia 176370.1 10436560\n", "Denmark 282089.9 5560628\n", "Estonia 21682.6 1294455\n", "Finland 216073.0 5375276\n", "France 2228568.0 64933400" ], "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
gdptotal_pop
country
Cyprus18490.2840407
Czechia176370.110436560
Denmark282089.95560628
Estonia21682.61294455
Finland216073.05375276
France2228568.064933400
\n
" }, "metadata": {}, "execution_count": 144 } ], "source": [ "eur_data_country_index.loc['Cypress': 'France', ['gdp', 'total_pop']]" ] }, { "source": [ "### Exercise - What countries have a higher unemployment rate than Slovenia and have a lowercase 't' in their name?" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " country unemp_rate gdp median_income total_pop\n", "3 Croatia 13.1 46639.5 8985 4284889\n", "15 Italy 11.7 1689824.0 16237 59433744\n", "16 Latvia 9.6 25037.7 9257 2070371\n", "23 Portugal 11.2 186480.5 10805 10562178" ], "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
countryunemp_rategdpmedian_incometotal_pop
3Croatia13.146639.589854284889
15Italy11.71689824.01623759433744
16Latvia9.625037.792572070371
23Portugal11.2186480.51080510562178
\n
" }, "metadata": {}, "execution_count": 20 } ], "source": [ "# Select slovenia unemployment values\n", "slovenia_unemployment = eur_data_country_index.loc['Slovenia', 'unemp_rate']\n", "# Generate comparison query\n", "gt_slov = eur_data_final.unemp_rate > slovenia_unemployment\n", "# Generate 'contains' query\n", "t_names = eur_data_final.country.str.contains('t')\n", "# Make selection using queries\n", "eur_data_final[gt_slov & t_names]" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "country Austria\n", "unemp_rate 6.0\n", "gdp 356237.6\n", "median_income 23071\n", "total_pop 8401940\n", "Name: 0, dtype: object" ] }, "metadata": {}, "execution_count": 14 } ], "source": [ "# Explore .iloc()\n", "# https://stackoverflow.com/questions/31593201/how-are-iloc-and-loc-different\n", "eur_data_final.iloc[0]" ] }, { "source": [ "## 4.1 MultiIndexes (hierarchical indexes)\n", "Pandas also supports multindexes, which allow users to index by multiple values or groups of values.\n", "https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.MultiIndex.html" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "parent_array = ['bar', 'bar', 'baz', 'baz', 'foo', 'foo', 'qux', 'qux']\n", "child_array = ['one', 'two', 'one', 'two', 'one', 'two', 'one', 'two']\n", "arrays = [parent_array, child_array]" ] }, { "source": [ "We want a multidimensional array of random numbers. Numpy for the win!" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "array([[6, 3, 7, 4],\n", " [6, 9, 2, 6],\n", " [7, 4, 3, 7],\n", " [7, 2, 5, 4],\n", " [1, 7, 5, 1],\n", " [4, 0, 9, 5],\n", " [8, 0, 9, 2],\n", " [6, 3, 8, 2]])" ] }, "metadata": {}, "execution_count": 7 } ], "source": [ "# Set the seed for number generation\n", "np.random.seed(42)\n", "# Create multidimensional array with shape 8,4\n", "md_array = np.random.randint(10,size=(8,4))\n", "md_array" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "RangeIndex(start=0, stop=8, step=1)" ] }, "metadata": {}, "execution_count": 10 } ], "source": [ "# Convert md array to dataframe\n", "multi_df = pd.DataFrame(md_array)\n", "\n", "# https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.RangeIndex.html\n", "multi_df.index" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "MultiIndex([('bar', 'one'),\n", " ('bar', 'two'),\n", " ('baz', 'one'),\n", " ('baz', 'two'),\n", " ('foo', 'one'),\n", " ('foo', 'two'),\n", " ('qux', 'one'),\n", " ('qux', 'two')],\n", " )" ] }, "metadata": {}, "execution_count": 12 } ], "source": [ "# Add multindex\n", "multi_df = pd.DataFrame(md_array, index=arrays)\n", "multi_df.index" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "# Update column names of multi_df\n", "multi_df.columns = ['var1', 'var2', 'var3', 'var4']" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " var1 var2 var3 var4\n", "one 6 3 7 4\n", "two 6 9 2 6" ], "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
var1var2var3var4
one6374
two6926
\n
" }, "metadata": {}, "execution_count": 18 } ], "source": [ "# Select all columns and rows for 'bar'\n", "multi_df.loc['bar']" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "one 1\n", "two 4\n", "Name: var1, dtype: int64" ] }, "metadata": {}, "execution_count": 34 } ], "source": [ "# Select all rows for index foo and column var1\n", "# Using loc, fancy indexing\n", "multi_df.loc['foo', 'var1']\n", "# # Using loc, bracket notation\n", "# multi_df.loc['foo']['var1']\n", "# # Using loc, dot notation\n", "# multi_df.loc['foo'].var1\n", "# # Without loc\n", "# multi_df.var1.foo.one" ] }, { "source": [ "## 4.2 Groupby\n", "From the documentation: \"A groupby operation involves some combination of splitting the object, applying a function, and combining the results.\"\n", "https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.groupby.html\n", "\n", "This is tied closely to the split-apply-combine strategy: https://pandas.pydata.org/pandas-docs/stable/user_guide/groupby.html. This was approach outlined by Hadley Wickcham in this paper: https://www.jstatsoft.org/article/view/v040i01.\n" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 204, "metadata": {}, "outputs": [], "source": [ "# Read in the UN world data\n", "un_data = pd.read_csv('./data/complete/un_world_data.csv')" ] }, { "source": [ "This data is wide! Let's get rid of some of the columns." ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [], "source": [ "# This data is wide! Let's get rid of some of the columns.\n", "columns_to_keep = [\n", " 'country',\n", " 'Region',\n", " 'Surface area (km2)',\n", " 'GDP: Gross domestic product (million current US$)', \n", " 'Population in thousands (2017)', \n", " 'Population density (per km2, 2017)'\n", " ]\n", "un_data = un_data[columns_to_keep]" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [], "source": [ "# Rename the columns \n", "columns = {\n", " \"Surface area (km2)\": \"surface_area\", \n", " \"GDP: Gross domestic product (million current US$)\": \"gdp\",\n", " \"Population in thousands (2017)\": 'population',\n", " \"Population density (per km2, 2017)\": 'population_density'\n", " }\n", "\n", "un_data = un_data.rename(columns=columns)" ] }, { "cell_type": "code", "execution_count": 202, "metadata": {}, "outputs": [], "source": [ "# Group the data by region\n", "un_region = un_data.groupby('Region', as_index=False)\n", "# The groupby object is iterable\n", "for region, region_df in un_region:\n", " print(region)\n", " print(region_df)" ] }, { "source": [ "Note: generally speaking, you want to avoid iteration with Pandas. It's best to leverage the power of vectorized operations. If you find yourself looping through a dataframe or a series, you might be doing unecessary work. https://towardsdatascience.com/you-dont-always-have-to-loop-through-rows-in-pandas-22a970b347ac" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 203, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " country Region surface_area gdp \\\n", "19 Dominican Republic Caribbean 48671 67103 \n", "27 Haiti Caribbean 27750 8501 \n", "59 Puerto Rico Caribbean 8868 102906 \n", "61 Saint Vincent and the Grenadines Caribbean 389 738 \n", "82 Virgin Islands Caribbean 347 -99 \n", "\n", " population population_density \n", "19 10767 222.8 \n", "27 10981 398.4 \n", "59 3663 413.0 \n", "61 110 281.8 \n", "82 105 299.7 " ], "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
countryRegionsurface_areagdppopulationpopulation_density
19Dominican RepublicCaribbean486716710310767222.8
27HaitiCaribbean27750850110981398.4
59Puerto RicoCaribbean88681029063663413.0
61Saint Vincent and the GrenadinesCaribbean389738110281.8
82Virgin IslandsCaribbean347-99105299.7
\n
" }, "metadata": {}, "execution_count": 203 } ], "source": [ "# Select Caribbean group\n", "carib = un_region.get_group('Caribbean')\n", "\n", "# Get the head and tail\n", "carib.head()\n", "carib.tail()" ] }, { "source": [ "### Exercise - Get the average surface area of all the countries in CentralAmerica" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "310819.5" ] }, "metadata": {}, "execution_count": 46 } ], "source": [ "central_america = un_region.get_group('CentralAmerica')\n", "central_america['surface_area'].mean()" ] }, { "source": [ "We can do vectorized operations on each group object." ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 76, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Region surface_area gdp population \\\n", "0 Caribbean 1.720500e+04 3.582980e+04 5125.200000 \n", "1 CentralAmerica 3.108195e+05 1.712796e+05 22164.750000 \n", "2 CentralAsia 1.712745e+05 7.212500e+03 7483.000000 \n", "3 EasternAfrica 4.816671e+05 1.883158e+04 25645.750000 \n", "4 EasternAsia 5.582058e+06 5.585108e+06 706296.500000 \n", "5 EasternEurope 3.186730e+05 4.854500e+04 24137.000000 \n", "6 Melanesia 2.054250e+04 9.060000e+02 443.500000 \n", "7 Micronesia 5.490000e+02 -9.900000e+01 164.000000 \n", "8 MiddleAfrica 1.054169e+06 2.482600e+04 36885.000000 \n", "9 NorthernAfrica 1.002000e+06 3.159170e+05 97553.000000 \n", "10 NorthernAmerica 9.833517e+06 1.803665e+07 324460.000000 \n", "11 Polynesia 2.842000e+03 7.740000e+02 196.000000 \n", "12 South-easternAsia 5.205436e+05 2.298626e+05 76377.250000 \n", "13 SouthAmerica 1.703150e+06 3.327079e+05 42953.250000 \n", "14 SouthernAfrica 6.918360e+05 1.093567e+05 20494.666667 \n", "15 SouthernAsia 9.843594e+05 4.851398e+05 320367.800000 \n", "16 SouthernEurope 2.874800e+04 1.154100e+04 2930.000000 \n", "17 WesternAfrica 4.164142e+05 5.688491e+04 30298.545455 \n", "18 WesternAsia 2.060487e+05 1.389109e+05 19296.700000 \n", "\n", " population_density \n", "0 323.140000 \n", "1 104.262500 \n", "2 47.600000 \n", "3 139.458333 \n", "4 76.050000 \n", "5 99.800000 \n", "6 22.250000 \n", "7 304.100000 \n", "8 34.066667 \n", "9 98.000000 \n", "10 35.500000 \n", "11 69.400000 \n", "12 153.762500 \n", "13 27.050000 \n", "14 41.166667 \n", "15 197.200000 \n", "16 106.900000 \n", "17 89.181818 \n", "18 243.040000 " ], "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Regionsurface_areagdppopulationpopulation_density
0Caribbean1.720500e+043.582980e+045125.200000323.140000
1CentralAmerica3.108195e+051.712796e+0522164.750000104.262500
2CentralAsia1.712745e+057.212500e+037483.00000047.600000
3EasternAfrica4.816671e+051.883158e+0425645.750000139.458333
4EasternAsia5.582058e+065.585108e+06706296.50000076.050000
5EasternEurope3.186730e+054.854500e+0424137.00000099.800000
6Melanesia2.054250e+049.060000e+02443.50000022.250000
7Micronesia5.490000e+02-9.900000e+01164.000000304.100000
8MiddleAfrica1.054169e+062.482600e+0436885.00000034.066667
9NorthernAfrica1.002000e+063.159170e+0597553.00000098.000000
10NorthernAmerica9.833517e+061.803665e+07324460.00000035.500000
11Polynesia2.842000e+037.740000e+02196.00000069.400000
12South-easternAsia5.205436e+052.298626e+0576377.250000153.762500
13SouthAmerica1.703150e+063.327079e+0542953.25000027.050000
14SouthernAfrica6.918360e+051.093567e+0520494.66666741.166667
15SouthernAsia9.843594e+054.851398e+05320367.800000197.200000
16SouthernEurope2.874800e+041.154100e+042930.000000106.900000
17WesternAfrica4.164142e+055.688491e+0430298.54545589.181818
18WesternAsia2.060487e+051.389109e+0519296.700000243.040000
\n
" }, "metadata": {}, "execution_count": 76 } ], "source": [ "# .min(), .max(), .mean(), .count()\n", "un_region.min()\n", "un_region.max()\n", "un_region.mean()\n", "un_region.count()" ] }, { "source": [ "Let's take a look at aggregating the data using the .agg() method: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.agg.html" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 85, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " surface_area gdp population \\\n", " mean mean mean \n", "Region \n", "Caribbean 1.720500e+04 3.582980e+04 5125.200000 \n", "CentralAmerica 3.108195e+05 1.712796e+05 22164.750000 \n", "CentralAsia 1.712745e+05 7.212500e+03 7483.000000 \n", "EasternAfrica 4.816671e+05 1.883158e+04 25645.750000 \n", "EasternAsia 5.582058e+06 5.585108e+06 706296.500000 \n", "EasternEurope 3.186730e+05 4.854500e+04 24137.000000 \n", "Melanesia 2.054250e+04 9.060000e+02 443.500000 \n", "Micronesia 5.490000e+02 -9.900000e+01 164.000000 \n", "MiddleAfrica 1.054169e+06 2.482600e+04 36885.000000 \n", "NorthernAfrica 1.002000e+06 3.159170e+05 97553.000000 \n", "NorthernAmerica 9.833517e+06 1.803665e+07 324460.000000 \n", "Polynesia 2.842000e+03 7.740000e+02 196.000000 \n", "South-easternAsia 5.205436e+05 2.298626e+05 76377.250000 \n", "SouthAmerica 1.703150e+06 3.327079e+05 42953.250000 \n", "SouthernAfrica 6.918360e+05 1.093567e+05 20494.666667 \n", "SouthernAsia 9.843594e+05 4.851398e+05 320367.800000 \n", "SouthernEurope 2.874800e+04 1.154100e+04 2930.000000 \n", "WesternAfrica 4.164142e+05 5.688491e+04 30298.545455 \n", "WesternAsia 2.060487e+05 1.389109e+05 19296.700000 \n", "\n", " population_density \n", " mean \n", "Region \n", "Caribbean 323.140000 \n", "CentralAmerica 104.262500 \n", "CentralAsia 47.600000 \n", "EasternAfrica 139.458333 \n", "EasternAsia 76.050000 \n", "EasternEurope 99.800000 \n", "Melanesia 22.250000 \n", "Micronesia 304.100000 \n", "MiddleAfrica 34.066667 \n", "NorthernAfrica 98.000000 \n", "NorthernAmerica 35.500000 \n", "Polynesia 69.400000 \n", "South-easternAsia 153.762500 \n", "SouthAmerica 27.050000 \n", "SouthernAfrica 41.166667 \n", "SouthernAsia 197.200000 \n", "SouthernEurope 106.900000 \n", "WesternAfrica 89.181818 \n", "WesternAsia 243.040000 " ], "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
surface_areagdppopulationpopulation_density
meanmeanmeanmean
Region
Caribbean1.720500e+043.582980e+045125.200000323.140000
CentralAmerica3.108195e+051.712796e+0522164.750000104.262500
CentralAsia1.712745e+057.212500e+037483.00000047.600000
EasternAfrica4.816671e+051.883158e+0425645.750000139.458333
EasternAsia5.582058e+065.585108e+06706296.50000076.050000
EasternEurope3.186730e+054.854500e+0424137.00000099.800000
Melanesia2.054250e+049.060000e+02443.50000022.250000
Micronesia5.490000e+02-9.900000e+01164.000000304.100000
MiddleAfrica1.054169e+062.482600e+0436885.00000034.066667
NorthernAfrica1.002000e+063.159170e+0597553.00000098.000000
NorthernAmerica9.833517e+061.803665e+07324460.00000035.500000
Polynesia2.842000e+037.740000e+02196.00000069.400000
South-easternAsia5.205436e+052.298626e+0576377.250000153.762500
SouthAmerica1.703150e+063.327079e+0542953.25000027.050000
SouthernAfrica6.918360e+051.093567e+0520494.66666741.166667
SouthernAsia9.843594e+054.851398e+05320367.800000197.200000
SouthernEurope2.874800e+041.154100e+042930.000000106.900000
WesternAfrica4.164142e+055.688491e+0430298.54545589.181818
WesternAsia2.060487e+051.389109e+0519296.700000243.040000
\n
" }, "metadata": {}, "execution_count": 85 } ], "source": [ "\n", "# Get the mean of each column for each region\n", "un_region.agg(['mean'])" ] }, { "cell_type": "code", "execution_count": 86, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " surface_area gdp \\\n", " mean median sum mean \n", "Region \n", "Caribbean 1.720500e+04 8868.0 86025 3.582980e+04 \n", "CentralAmerica 3.108195e+05 92104.5 2486556 1.712796e+05 \n", "CentralAsia 1.712745e+05 171274.5 342549 7.212500e+03 \n", "EasternAfrica 4.816671e+05 589626.5 5780005 1.883158e+04 \n", "EasternAsia 5.582058e+06 5582058.0 11164116 5.585108e+06 \n", "EasternEurope 3.186730e+05 318673.0 637346 4.854500e+04 \n", "Melanesia 2.054250e+04 20542.5 41085 9.060000e+02 \n", "Micronesia 5.490000e+02 549.0 549 -9.900000e+01 \n", "MiddleAfrica 1.054169e+06 475650.0 3162508 2.482600e+04 \n", "NorthernAfrica 1.002000e+06 1002000.0 1002000 3.159170e+05 \n", "NorthernAmerica 9.833517e+06 9833517.0 9833517 1.803665e+07 \n", "Polynesia 2.842000e+03 2842.0 2842 7.740000e+02 \n", "South-easternAsia 5.205436e+05 315483.5 4164349 2.298626e+05 \n", "SouthAmerica 1.703150e+06 927341.5 13625203 3.327079e+05 \n", "SouthernAfrica 6.918360e+05 824116.0 2075508 1.093567e+05 \n", "SouthernAsia 9.843594e+05 652864.0 4921797 4.851398e+05 \n", "SouthernEurope 2.874800e+04 28748.0 28748 1.154100e+04 \n", "WesternAfrica 4.164142e+05 238537.0 4580556 5.688491e+04 \n", "WesternAsia 2.060487e+05 78150.0 2060487 1.389109e+05 \n", "\n", " population \\\n", " median sum mean median sum \n", "Region \n", "Caribbean 8501.0 179149 5125.200000 3663.0 25626 \n", "CentralAmerica 38991.0 1370237 22164.750000 6298.0 177318 \n", "CentralAsia 7212.5 14425 7483.000000 7483.0 14966 \n", "EasternAfrica 13530.0 225979 25645.750000 17858.0 307749 \n", "EasternAsia 5585107.5 11170215 706296.500000 706296.5 1412593 \n", "EasternEurope 48545.0 97090 24137.000000 24137.0 48274 \n", "Melanesia 906.0 1812 443.500000 443.5 887 \n", "Micronesia -99.0 -99 164.000000 164.0 164 \n", "MiddleAfrica 28416.0 74478 36885.000000 24054.0 110655 \n", "NorthernAfrica 315917.0 315917 97553.000000 97553.0 97553 \n", "NorthernAmerica 18036648.0 18036648 324460.000000 324460.0 324460 \n", "Polynesia 774.0 774 196.000000 196.0 196 \n", "South-easternAsia 127921.0 1838901 76377.250000 61204.5 611018 \n", "SouthAmerica 145302.5 2661663 42953.250000 17340.0 343626 \n", "SouthernAfrica 11491.0 328070 20494.666667 2534.0 61484 \n", "SouthernAsia 20658.0 2425699 320367.800000 35530.0 1601839 \n", "SouthernEurope 11541.0 11541 2930.000000 2930.0 2930 \n", "WesternAfrica 11065.0 625734 30298.545455 15851.0 333284 \n", "WesternAsia 43833.0 1389109 19296.700000 9012.0 192967 \n", "\n", " population_density \n", " mean median sum \n", "Region \n", "Caribbean 323.140000 299.70 1615.7 \n", "CentralAmerica 104.262500 74.60 834.1 \n", "CentralAsia 47.600000 47.60 95.2 \n", "EasternAfrica 139.458333 54.35 1673.5 \n", "EasternAsia 76.050000 76.05 152.1 \n", "EasternEurope 99.800000 99.80 199.6 \n", "Melanesia 22.250000 22.25 44.5 \n", "Micronesia 304.100000 304.10 304.1 \n", "MiddleAfrica 34.066667 35.90 102.2 \n", "NorthernAfrica 98.000000 98.00 98.0 \n", "NorthernAmerica 35.500000 35.50 35.5 \n", "Polynesia 69.400000 69.40 69.4 \n", "South-easternAsia 153.762500 112.90 1230.1 \n", "SouthAmerica 27.050000 24.65 216.4 \n", "SouthernAfrica 41.166667 46.80 123.5 \n", "SouthernAsia 197.200000 204.40 986.0 \n", "SouthernEurope 106.900000 106.90 106.9 \n", "WesternAfrica 89.181818 82.30 981.0 \n", "WesternAsia 243.040000 107.10 2430.4 " ], "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
surface_areagdppopulationpopulation_density
meanmediansummeanmediansummeanmediansummeanmediansum
Region
Caribbean1.720500e+048868.0860253.582980e+048501.01791495125.2000003663.025626323.140000299.701615.7
CentralAmerica3.108195e+0592104.524865561.712796e+0538991.0137023722164.7500006298.0177318104.26250074.60834.1
CentralAsia1.712745e+05171274.53425497.212500e+037212.5144257483.0000007483.01496647.60000047.6095.2
EasternAfrica4.816671e+05589626.557800051.883158e+0413530.022597925645.75000017858.0307749139.45833354.351673.5
EasternAsia5.582058e+065582058.0111641165.585108e+065585107.511170215706296.500000706296.5141259376.05000076.05152.1
EasternEurope3.186730e+05318673.06373464.854500e+0448545.09709024137.00000024137.04827499.80000099.80199.6
Melanesia2.054250e+0420542.5410859.060000e+02906.01812443.500000443.588722.25000022.2544.5
Micronesia5.490000e+02549.0549-9.900000e+01-99.0-99164.000000164.0164304.100000304.10304.1
MiddleAfrica1.054169e+06475650.031625082.482600e+0428416.07447836885.00000024054.011065534.06666735.90102.2
NorthernAfrica1.002000e+061002000.010020003.159170e+05315917.031591797553.00000097553.09755398.00000098.0098.0
NorthernAmerica9.833517e+069833517.098335171.803665e+0718036648.018036648324460.000000324460.032446035.50000035.5035.5
Polynesia2.842000e+032842.028427.740000e+02774.0774196.000000196.019669.40000069.4069.4
South-easternAsia5.205436e+05315483.541643492.298626e+05127921.0183890176377.25000061204.5611018153.762500112.901230.1
SouthAmerica1.703150e+06927341.5136252033.327079e+05145302.5266166342953.25000017340.034362627.05000024.65216.4
SouthernAfrica6.918360e+05824116.020755081.093567e+0511491.032807020494.6666672534.06148441.16666746.80123.5
SouthernAsia9.843594e+05652864.049217974.851398e+0520658.02425699320367.80000035530.01601839197.200000204.40986.0
SouthernEurope2.874800e+0428748.0287481.154100e+0411541.0115412930.0000002930.02930106.900000106.90106.9
WesternAfrica4.164142e+05238537.045805565.688491e+0411065.062573430298.54545515851.033328489.18181882.30981.0
WesternAsia2.060487e+0578150.020604871.389109e+0543833.0138910919296.7000009012.0192967243.040000107.102430.4
\n
" }, "metadata": {}, "execution_count": 86 } ], "source": [ "# Get mean, median, and sum\n", "un_region.agg(['mean', 'median', 'sum'])" ] }, { "source": [ "We can also pass in other functions or define our own. These are referred to as higher-order functions, i.e. functions that take in other functions as arguments. \n", "\n" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 101, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "6" ] }, "metadata": {}, "execution_count": 101 } ], "source": [ "# Example of higher-order function\n", "def add_two(val):\n", " return val + 2\n", "\n", "def do_calculation(val, func):\n", " return func(val)\n", "\n", "def subtract_nine(val):\n", " return val - 9\n", "\n", "do_calculation(12, add_two)\n", "do_calculation(15, subtract_nine)" ] }, { "cell_type": "code", "execution_count": 96, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "[1, 2, 6, 11]" ] }, "metadata": {}, "execution_count": 96 } ], "source": [ "# Example of filtering\n", "def is_nine(val):\n", " return val is not 9\n", "\n", "values = [1, 2, 6, 9, 9, 11]\n", "res = list(filter(is_nine, values))" ] }, { "source": [ "Let's use the statistics module from scipy to calculate some new values: https://docs.scipy.org/doc/scipy/reference/stats.html" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 100, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " surface_area gdp \\\n", " tsem tstd skew tsem \n", "Region \n", "Caribbean 9.321432e+03 2.084335e+04 0.685299 2.091220e+04 \n", "CentralAmerica 2.366682e+05 6.693987e+05 2.250712 1.387055e+05 \n", "CentralAsia 2.867450e+04 4.055187e+04 0.000000 6.405000e+02 \n", "EasternAfrica 9.050907e+04 3.135326e+05 -0.263652 5.318552e+03 \n", "EasternAsia 4.017942e+06 5.682228e+06 0.000000 5.573349e+06 \n", "EasternEurope 2.848270e+05 4.028062e+05 0.000000 4.207000e+04 \n", "Melanesia 8.353500e+03 1.181363e+04 0.000000 1.690000e+02 \n", "Micronesia NaN NaN 0.000000 NaN \n", "MiddleAfrica 6.464966e+05 1.119765e+06 0.695791 8.583308e+03 \n", "NorthernAfrica NaN NaN 0.000000 NaN \n", "NorthernAmerica NaN NaN 0.000000 NaN \n", "Polynesia NaN NaN 0.000000 NaN \n", "South-easternAsia 2.110175e+05 5.968477e+05 1.783458 1.038262e+05 \n", "SouthAmerica 9.847489e+05 2.785290e+06 2.162869 2.090794e+05 \n", "SouthernAfrica 3.500259e+05 6.062627e+05 -0.381757 1.026437e+05 \n", "SouthernAsia 5.934819e+05 1.327066e+06 1.284080 4.107010e+05 \n", "SouthernEurope NaN NaN 0.000000 NaN \n", "WesternAfrica 1.298416e+05 4.306358e+05 0.995896 4.390537e+04 \n", "WesternAsia 8.687679e+04 2.747285e+05 1.157696 7.048297e+04 \n", "\n", " population \\\n", " tstd skew tsem tstd \n", "Region \n", "Caribbean 4.676111e+04 0.607884 2435.292270 5445.479061 \n", "CentralAmerica 3.923185e+05 2.253862 15379.223415 43499.012664 \n", "CentralAsia 9.058038e+02 0.000000 1438.000000 2033.639103 \n", "EasternAfrica 1.842400e+04 1.434065 4595.949529 15920.836188 \n", "EasternAsia 7.881906e+06 0.000000 703220.500000 994503.968439 \n", "EasternEurope 5.949596e+04 0.000000 20086.000000 28405.893614 \n", "Melanesia 2.390021e+02 0.000000 167.500000 236.880772 \n", "Micronesia NaN 0.000000 NaN NaN \n", "MiddleAfrica 1.486673e+04 -0.417756 22879.972909 39629.275555 \n", "NorthernAfrica NaN 0.000000 NaN NaN \n", "NorthernAmerica NaN 0.000000 NaN NaN \n", "Polynesia NaN 0.000000 NaN NaN \n", "South-easternAsia 2.936648e+05 1.333305 30201.355172 85422.332172 \n", "SouthAmerica 5.913659e+05 2.125620 24368.804859 68925.388662 \n", "SouthernAfrica 1.777841e+05 0.704844 18111.375103 31369.821873 \n", "SouthernAsia 9.183553e+05 1.449172 257017.757855 574709.177989 \n", "SouthernEurope NaN 0.000000 NaN NaN \n", "WesternAfrica 1.456176e+05 2.814527 16239.477886 53860.254939 \n", "WesternAsia 2.228867e+05 1.993615 7749.004611 24504.504171 \n", "\n", " population_density \n", " skew tsem tstd skew \n", "Region \n", "Caribbean 0.215651 36.100853 80.723962 0.030881 \n", "CentralAmerica 2.214198 32.501153 91.927144 1.489869 \n", "CentralAsia 0.000000 16.100000 22.768838 0.000000 \n", "EasternAfrica 0.939269 47.199301 163.503175 1.306365 \n", "EasternAsia 0.000000 74.050000 104.722514 0.000000 \n", "EasternEurope 0.000000 23.500000 33.234019 0.000000 \n", "Melanesia 0.000000 0.450000 0.636396 0.000000 \n", "Micronesia 0.000000 NaN NaN 0.000000 \n", "MiddleAfrica 0.532459 10.288883 17.820868 -0.186994 \n", "NorthernAfrica 0.000000 NaN NaN 0.000000 \n", "NorthernAmerica 0.000000 NaN NaN 0.000000 \n", "Polynesia 0.000000 NaN NaN 0.000000 \n", "South-easternAsia 1.382405 40.638603 114.943327 0.866714 \n", "SouthAmerica 2.057515 7.109526 20.108776 0.932068 \n", "SouthernAfrica 0.707034 20.545586 35.585999 -0.283531 \n", "SouthernAsia 1.436007 77.116950 172.438743 0.439830 \n", "SouthernEurope 0.000000 NaN NaN 0.000000 \n", "WesternAfrica 2.732611 17.592038 58.346188 0.460914 \n", "WesternAsia 1.776751 84.348314 266.732788 1.290031 " ], "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
surface_areagdppopulationpopulation_density
tsemtstdskewtsemtstdskewtsemtstdskewtsemtstdskew
Region
Caribbean9.321432e+032.084335e+040.6852992.091220e+044.676111e+040.6078842435.2922705445.4790610.21565136.10085380.7239620.030881
CentralAmerica2.366682e+056.693987e+052.2507121.387055e+053.923185e+052.25386215379.22341543499.0126642.21419832.50115391.9271441.489869
CentralAsia2.867450e+044.055187e+040.0000006.405000e+029.058038e+020.0000001438.0000002033.6391030.00000016.10000022.7688380.000000
EasternAfrica9.050907e+043.135326e+05-0.2636525.318552e+031.842400e+041.4340654595.94952915920.8361880.93926947.199301163.5031751.306365
EasternAsia4.017942e+065.682228e+060.0000005.573349e+067.881906e+060.000000703220.500000994503.9684390.00000074.050000104.7225140.000000
EasternEurope2.848270e+054.028062e+050.0000004.207000e+045.949596e+040.00000020086.00000028405.8936140.00000023.50000033.2340190.000000
Melanesia8.353500e+031.181363e+040.0000001.690000e+022.390021e+020.000000167.500000236.8807720.0000000.4500000.6363960.000000
MicronesiaNaNNaN0.000000NaNNaN0.000000NaNNaN0.000000NaNNaN0.000000
MiddleAfrica6.464966e+051.119765e+060.6957918.583308e+031.486673e+04-0.41775622879.97290939629.2755550.53245910.28888317.820868-0.186994
NorthernAfricaNaNNaN0.000000NaNNaN0.000000NaNNaN0.000000NaNNaN0.000000
NorthernAmericaNaNNaN0.000000NaNNaN0.000000NaNNaN0.000000NaNNaN0.000000
PolynesiaNaNNaN0.000000NaNNaN0.000000NaNNaN0.000000NaNNaN0.000000
South-easternAsia2.110175e+055.968477e+051.7834581.038262e+052.936648e+051.33330530201.35517285422.3321721.38240540.638603114.9433270.866714
SouthAmerica9.847489e+052.785290e+062.1628692.090794e+055.913659e+052.12562024368.80485968925.3886622.0575157.10952620.1087760.932068
SouthernAfrica3.500259e+056.062627e+05-0.3817571.026437e+051.777841e+050.70484418111.37510331369.8218730.70703420.54558635.585999-0.283531
SouthernAsia5.934819e+051.327066e+061.2840804.107010e+059.183553e+051.449172257017.757855574709.1779891.43600777.116950172.4387430.439830
SouthernEuropeNaNNaN0.000000NaNNaN0.000000NaNNaN0.000000NaNNaN0.000000
WesternAfrica1.298416e+054.306358e+050.9958964.390537e+041.456176e+052.81452716239.47788653860.2549392.73261117.59203858.3461880.460914
WesternAsia8.687679e+042.747285e+051.1576967.048297e+042.228867e+051.9936157749.00461124504.5041711.77675184.348314266.7327881.290031
\n
" }, "metadata": {}, "execution_count": 100 } ], "source": [ "# stats.tsem(), stats.tstd(), stats.skew()\n", "un_region.agg([stats.tsem, stats.tstd, stats.skew])" ] }, { "cell_type": "code", "execution_count": 102, "metadata": {}, "outputs": [], "source": [ "# Use a lambda function\n", "# https://www.geeksforgeeks.org/python-lambda-anonymous-functions-filter-map-reduce/\n", "\n", "get_max = lambda x : x.max()\n", "def get_max_alt(x):\n", " return x.max()" ] }, { "cell_type": "code", "execution_count": 107, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " country surface_area \\\n", " get_max_alt get_max_alt \n", "Region \n", "Caribbean Virgin Islands 48671 \n", "CentralAmerica Panama 1964375 \n", "CentralAsia Tajikistan 199949 \n", "EasternAfrica Zimbabwe 947303 \n", "EasternAsia Mongolia 9600000 \n", "EasternEurope Ukraine 603500 \n", "Melanesia Vanuatu 28896 \n", "Micronesia Guam 549 \n", "MiddleAfrica The Democratic Republic of the Congo 2344858 \n", "NorthernAfrica Egypt 1002000 \n", "NorthernAmerica United States 9833517 \n", "Polynesia Samoa 2842 \n", "South-easternAsia Vietnam 1910931 \n", "SouthAmerica Suriname 8515767 \n", "SouthernAfrica South Africa 1221037 \n", "SouthernAsia Pakistan 3287263 \n", "SouthernEurope Albania 28748 \n", "WesternAfrica Togo 1240192 \n", "WesternAsia Yemen 783562 \n", "\n", " gdp population population_density \n", " get_max_alt get_max_alt get_max_alt \n", "Region \n", "Caribbean 102906 10981 413.0 \n", "CentralAmerica 1140724 129163 307.8 \n", "CentralAsia 7853 8921 63.7 \n", "EasternAfrica 63399 57310 494.9 \n", "EasternAsia 11158457 1409517 150.1 \n", "EasternEurope 90615 44223 123.3 \n", "Melanesia 1075 611 22.7 \n", "Micronesia -99 164 304.1 \n", "MiddleAfrica 37569 81340 50.9 \n", "NorthernAfrica 315917 97553 98.0 \n", "NorthernAmerica 18036648 324460 35.5 \n", "Polynesia 774 196 69.4 \n", "South-easternAsia 861934 263991 351.9 \n", "SouthAmerica 1772591 209288 66.9 \n", "SouthernAfrica 314571 56717 73.6 \n", "SouthernAsia 2116239 1339180 450.4 \n", "SouthernEurope 11541 2930 106.9 \n", "WesternAfrica 494583 190886 209.6 \n", "WesternAsia 717888 80745 817.4 " ], "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
countrysurface_areagdppopulationpopulation_density
get_max_altget_max_altget_max_altget_max_altget_max_alt
Region
CaribbeanVirgin Islands4867110290610981413.0
CentralAmericaPanama19643751140724129163307.8
CentralAsiaTajikistan1999497853892163.7
EasternAfricaZimbabwe9473036339957310494.9
EasternAsiaMongolia9600000111584571409517150.1
EasternEuropeUkraine6035009061544223123.3
MelanesiaVanuatu28896107561122.7
MicronesiaGuam549-99164304.1
MiddleAfricaThe Democratic Republic of the Congo2344858375698134050.9
NorthernAfricaEgypt10020003159179755398.0
NorthernAmericaUnited States98335171803664832446035.5
PolynesiaSamoa284277419669.4
South-easternAsiaVietnam1910931861934263991351.9
SouthAmericaSuriname8515767177259120928866.9
SouthernAfricaSouth Africa12210373145715671773.6
SouthernAsiaPakistan328726321162391339180450.4
SouthernEuropeAlbania28748115412930106.9
WesternAfricaTogo1240192494583190886209.6
WesternAsiaYemen78356271788880745817.4
\n
" }, "metadata": {}, "execution_count": 107 } ], "source": [ "# Get the max of each column in each region\n", "un_region.agg([get_max_alt])" ] }, { "cell_type": "code", "execution_count": 127, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " get_max_alt\n", "Region \n", "Caribbean 48671\n", "CentralAmerica 1964375\n", "CentralAsia 199949\n", "EasternAfrica 947303\n", "EasternAsia 9600000\n", "EasternEurope 603500\n", "Melanesia 28896\n", "Micronesia 549\n", "MiddleAfrica 2344858\n", "NorthernAfrica 1002000\n", "NorthernAmerica 9833517\n", "Polynesia 2842\n", "South-easternAsia 1910931\n", "SouthAmerica 8515767\n", "SouthernAfrica 1221037\n", "SouthernAsia 3287263\n", "SouthernEurope 28748\n", "WesternAfrica 1240192\n", "WesternAsia 783562" ], "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
get_max_alt
Region
Caribbean48671
CentralAmerica1964375
CentralAsia199949
EasternAfrica947303
EasternAsia9600000
EasternEurope603500
Melanesia28896
Micronesia549
MiddleAfrica2344858
NorthernAfrica1002000
NorthernAmerica9833517
Polynesia2842
South-easternAsia1910931
SouthAmerica8515767
SouthernAfrica1221037
SouthernAsia3287263
SouthernEurope28748
WesternAfrica1240192
WesternAsia783562
\n
" }, "metadata": {}, "execution_count": 127 } ], "source": [ "# Select a single column\n", "un_region['surface_area'].agg([get_max_alt])" ] }, { "cell_type": "code", "execution_count": 159, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Region surface_area population\n", " sum mean mean\n", "0 Caribbean 86025 1.720500e+04 5125.200000\n", "1 CentralAmerica 2486556 3.108195e+05 22164.750000\n", "2 CentralAsia 342549 1.712745e+05 7483.000000\n", "3 EasternAfrica 5780005 4.816671e+05 25645.750000\n", "4 EasternAsia 11164116 5.582058e+06 706296.500000\n", "5 EasternEurope 637346 3.186730e+05 24137.000000\n", "6 Melanesia 41085 2.054250e+04 443.500000\n", "7 Micronesia 549 5.490000e+02 164.000000\n", "8 MiddleAfrica 3162508 1.054169e+06 36885.000000\n", "9 NorthernAfrica 1002000 1.002000e+06 97553.000000\n", "10 NorthernAmerica 9833517 9.833517e+06 324460.000000\n", "11 Polynesia 2842 2.842000e+03 196.000000\n", "12 South-easternAsia 4164349 5.205436e+05 76377.250000\n", "13 SouthAmerica 13625203 1.703150e+06 42953.250000\n", "14 SouthernAfrica 2075508 6.918360e+05 20494.666667\n", "15 SouthernAsia 4921797 9.843594e+05 320367.800000\n", "16 SouthernEurope 28748 2.874800e+04 2930.000000\n", "17 WesternAfrica 4580556 4.164142e+05 30298.545455\n", "18 WesternAsia 2060487 2.060487e+05 19296.700000" ], "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Regionsurface_areapopulation
summeanmean
0Caribbean860251.720500e+045125.200000
1CentralAmerica24865563.108195e+0522164.750000
2CentralAsia3425491.712745e+057483.000000
3EasternAfrica57800054.816671e+0525645.750000
4EasternAsia111641165.582058e+06706296.500000
5EasternEurope6373463.186730e+0524137.000000
6Melanesia410852.054250e+04443.500000
7Micronesia5495.490000e+02164.000000
8MiddleAfrica31625081.054169e+0636885.000000
9NorthernAfrica10020001.002000e+0697553.000000
10NorthernAmerica98335179.833517e+06324460.000000
11Polynesia28422.842000e+03196.000000
12South-easternAsia41643495.205436e+0576377.250000
13SouthAmerica136252031.703150e+0642953.250000
14SouthernAfrica20755086.918360e+0520494.666667
15SouthernAsia49217979.843594e+05320367.800000
16SouthernEurope287482.874800e+042930.000000
17WesternAfrica45805564.164142e+0530298.545455
18WesternAsia20604872.060487e+0519296.700000
\n
" }, "metadata": {}, "execution_count": 159 } ], "source": [ "# Get sum and mean of surface area, mean of population for each region\n", "un_region.agg({'surface_area':['sum', 'mean'], 'population': 'mean'})" ] }, { "cell_type": "code", "execution_count": 160, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " Region sum_surface_area mean_population\n", "0 Caribbean 86025 5125.200000\n", "1 CentralAmerica 2486556 22164.750000\n", "2 CentralAsia 342549 7483.000000\n", "3 EasternAfrica 5780005 25645.750000\n", "4 EasternAsia 11164116 706296.500000\n", "5 EasternEurope 637346 24137.000000\n", "6 Melanesia 41085 443.500000\n", "7 Micronesia 549 164.000000\n", "8 MiddleAfrica 3162508 36885.000000\n", "9 NorthernAfrica 1002000 97553.000000\n", "10 NorthernAmerica 9833517 324460.000000\n", "11 Polynesia 2842 196.000000\n", "12 South-easternAsia 4164349 76377.250000\n", "13 SouthAmerica 13625203 42953.250000\n", "14 SouthernAfrica 2075508 20494.666667\n", "15 SouthernAsia 4921797 320367.800000\n", "16 SouthernEurope 28748 2930.000000\n", "17 WesternAfrica 4580556 30298.545455\n", "18 WesternAsia 2060487 19296.700000" ], "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Regionsum_surface_areamean_population
0Caribbean860255125.200000
1CentralAmerica248655622164.750000
2CentralAsia3425497483.000000
3EasternAfrica578000525645.750000
4EasternAsia11164116706296.500000
5EasternEurope63734624137.000000
6Melanesia41085443.500000
7Micronesia549164.000000
8MiddleAfrica316250836885.000000
9NorthernAfrica100200097553.000000
10NorthernAmerica9833517324460.000000
11Polynesia2842196.000000
12South-easternAsia416434976377.250000
13SouthAmerica1362520342953.250000
14SouthernAfrica207550820494.666667
15SouthernAsia4921797320367.800000
16SouthernEurope287482930.000000
17WesternAfrica458055630298.545455
18WesternAsia206048719296.700000
\n
" }, "metadata": {}, "execution_count": 160 } ], "source": [ "# Define custom column names\n", "un_region.agg(sum_surface_area=('surface_area','sum'), mean_population=('population', 'mean'))" ] }, { "cell_type": "code", "execution_count": 167, "metadata": {}, "outputs": [], "source": [ "def inspect(df):\n", " print(df['population_density'] > 100)" ] }, { "cell_type": "code", "execution_count": 170, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " country Region surface_area gdp \\\n", "1 Albania SouthernEurope 28748 11541 \n", "19 Dominican Republic Caribbean 48671 67103 \n", "25 Guam Micronesia 549 -99 \n", "27 Haiti Caribbean 27750 8501 \n", "59 Puerto Rico Caribbean 8868 102906 \n", "61 Saint Vincent and the Grenadines Caribbean 389 738 \n", "82 Virgin Islands Caribbean 347 -99 \n", "\n", " population population_density \n", "1 2930 106.9 \n", "19 10767 222.8 \n", "25 164 304.1 \n", "27 10981 398.4 \n", "59 3663 413.0 \n", "61 110 281.8 \n", "82 105 299.7 " ], "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
countryRegionsurface_areagdppopulationpopulation_density
1AlbaniaSouthernEurope28748115412930106.9
19Dominican RepublicCaribbean486716710310767222.8
25GuamMicronesia549-99164304.1
27HaitiCaribbean27750850110981398.4
59Puerto RicoCaribbean88681029063663413.0
61Saint Vincent and the GrenadinesCaribbean389738110281.8
82Virgin IslandsCaribbean347-99105299.7
\n
" }, "metadata": {}, "execution_count": 170 } ], "source": [ "# .filter()\n", "# https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.core.groupby.DataFrameGroupBy.filter.html\n", "# https://pandas.pydata.org/pandas-docs/stable/reference/groupby.html\n", "un_region.filter(lambda x: (x['population_density'] > 100).all())\n", "# un_region.filter(inspect)" ] }, { "cell_type": "code", "execution_count": 97, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ " country Region surface_area gdp population \\\n", "10 Burundi EasternAfrica 27830 2735 10864 \n", "21 Egypt NorthernAfrica 1002000 315917 97553 \n", "34 Kenya EasternAfrica 591958 63399 49700 \n", "40 Madagascar EasternAfrica 587295 9739 25571 \n", "41 Malawi EasternAfrica 118484 6420 18622 \n", "47 Mozambique EasternAfrica 799380 14806 29669 \n", "60 Rwanda EasternAfrica 26338 8096 12208 \n", "66 Somalia EasternAfrica 637657 1559 14742 \n", "68 South Sudan EasternAfrica 658841 13167 12576 \n", "71 Tanzania EasternAfrica 947303 45628 57310 \n", "77 Uganda EasternAfrica 241550 25282 42863 \n", "79 United States NorthernAmerica 9833517 18036648 324460 \n", "84 Zambia EasternAfrica 752612 21255 17094 \n", "85 Zimbabwe EasternAfrica 390757 13893 16530 \n", "\n", " population_density \n", "10 423.1 \n", "21 98.0 \n", "34 87.3 \n", "40 44.0 \n", "41 197.5 \n", "47 37.7 \n", "60 494.9 \n", "66 23.5 \n", "68 20.6 \n", "71 64.7 \n", "77 214.5 \n", "79 35.5 \n", "84 23.0 \n", "85 42.7 " ], "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
countryRegionsurface_areagdppopulationpopulation_density
10BurundiEasternAfrica27830273510864423.1
21EgyptNorthernAfrica10020003159179755398.0
34KenyaEasternAfrica591958633994970087.3
40MadagascarEasternAfrica58729597392557144.0
41MalawiEasternAfrica118484642018622197.5
47MozambiqueEasternAfrica799380148062966937.7
60RwandaEasternAfrica26338809612208494.9
66SomaliaEasternAfrica63765715591474223.5
68South SudanEasternAfrica658841131671257620.6
71TanzaniaEasternAfrica947303456285731064.7
77UgandaEasternAfrica2415502528242863214.5
79United StatesNorthernAmerica98335171803664832446035.5
84ZambiaEasternAfrica752612212551709423.0
85ZimbabweEasternAfrica390757138931653042.7
\n
" }, "metadata": {}, "execution_count": 97 } ], "source": [ "un_region.filter(lambda x: (x.population > 10000).all())" ] }, { "source": [ "### Exercise - Get standard deviation of gdp for each region using np.std for all regions with a population density over 100" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 196, "metadata": {}, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "gdp 27227.285714\n", "dtype: float64" ] }, "metadata": {}, "execution_count": 196 } ], "source": [ "un_region.filter(lambda x: (x.population_density > 100).all()).agg({'gdp': np.mean})" ] }, { "source": [ "### Exercise - Generate corr plot for the UN data" ], "cell_type": "markdown", "metadata": {} }, { "cell_type": "code", "execution_count": 200, "metadata": {}, "outputs": [ { "output_type": "display_data", "data": { "text/plain": "
", "image/svg+xml": "\n\n\n\n \n \n \n \n 2021-02-09T09:10:20.788735\n image/svg+xml\n \n \n Matplotlib v3.3.3, https://matplotlib.org/\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n", "image/png": "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\n" }, "metadata": { "needs_background": "light" } } ], "source": [ "# Select columns\n", "cols = un_data.columns\n", "\n", "# Make subplot and figure\n", "fig, ax = plt.subplots(1, 1)\n", "\n", "# Generate correlation matrix\n", "corr_data = un_data.corr()\n", "\n", "# Generate matplotlib plot\n", "cax = ax.matshow(corr_data) \n", "\n", "# Add colorbar to figure\n", "fig.colorbar(cax)\n", "\n", "# Set tick labels\n", "ax.set_xticklabels(cols)\n", "ax.set_yticklabels(cols)\n", "\n", "fig.tight_layout()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ] } ================================================ FILE: samtools/binder/environment.yml ================================================ channels: - conda-forge - bioconda - defaults dependencies: - bash_kernel - samtools ================================================ FILE: samtools/data/subset.bed ================================================ 1 1 100 2 1 100 3 1 100 ================================================ FILE: samtools/index.ipynb ================================================ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "## Intro to SAM/BAM format\n", "SAM (Sequence Alignment/Map) format is one of the most common file formats produced by many different pieces of alignment software, both for long and short read sequence data. It is a tab delineated text file, with 11 mandatory fields (listed below), plus header lines denoted with an `@` at the start of the line.\n", "\n", "SAM files are human readable, but can be quite large. An alternate format is the Binary Alignment/Map (BAM) file, which is binary compressed and not human readable, but is more compact and easy to work with. Most pipelines will use BAM format over SAM.\n", "\n", "\n", "## SAMtools\n", "[SAMtools](http://www.htslib.org/doc/samtools.html) is a suite of programs that are extremely useful for processing mapped reads and for downstream analysis. It has a ton of functions (which you can check out on the manual page), but we will go through several of the most common uses.\n", "\n", "### General pipeline\n", "Once you've obtained your mapped reads in BAM/SAM format (from BWA, bowtie, minimap, etc.), there are several steps needed before starting downstream analysis.\n", "\n", "*Filter*: generally this means removing unmapped reads from your file, which we will discuss below.\n", "\n", "*Sort*: sort the mapped reads by contig/scaffold and by coordinates. This can be done using `samtools sort`:\n", "\n", "`samtools sort -o data/file.sorted.bam data/file.bam`" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*Index*: creates a searchable index of your sorted BAM file, which is required for some programs." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "samtools index data/file.sorted.bam" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "One of the most useful tools for the first processing of mapped reads is `samtools view`, which allows you to view the contents of a BAM/SAM file in SAM format:" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [ "samtools view data/file.sorted.bam | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "| **Column**| **Description** |\n", "|-----|---|\n", "| 1 | Read name |\n", "| 2 | Bitwise flag |\n", "| 3 | Reference name |\n", "| 4 | Leftmost mapping position |\n", "| 5 | MAPQ quality score |\n", "| 6 | CIGAR string |\n", "| 7 | Name of 2nd read in pair |\n", "| 8 | Position of 2nd read in pair |\n", "| 9 | Length of mapping segment |\n", "| 10 | Sequence of segment |\n", "| 11 | Phred33 quality score at each position |\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "### Viewing specific regions\n", "By default `samtools view` prints all alignments, but you can specify a specific chromosome or subregion to only print alignments in that window:\n", "\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "samtools view data/file.sorted.bam 1 | head\n", "samtools view data/file.sorted.bam 1:100-200 | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If you have numerous regions of interest, you can format them as a BED file and pass that to `samtools view`. This can be slow with large BAM files, as it does not does not use the index.\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "cat data/subset.bed" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "samtools view -h -o data/file.subset.sam -L data/subset.bed data/file.sorted.bam" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `-o` option specifies an output file, rather than printing to screen. The `-h` option is important to remember, as it adds a header to the output. This is important, as many programs require a header to parse BAM/SAM files!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Converting between formats\n", "By default `samtools view` outputs in SAM format, so converting from BAM --> SAM is as easy as running `samtools view -h -o outfile.sam file.bam`.\n", "\n", "For SAM --> BAM, include the `-b` option:\n", "`samtools view -b -h -o outfile.bam file.sam`\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### SAM flags\n", "The second column in a BAM/SAM file is the *bitwise flag*. The flag value is an integer, which is the sum of a series of decimal values that give information about how a read is mapped\n", "\n", "| **Integer**| **Description** |\n", "|-----|---|\n", "| 1 | read is paired |\n", "| 2 | read mapped in proper pair |\n", "| 4 | read unmapped |\n", "| 8 | mate is unmapped |\n", "| 16 | read on reverse strand |\n", "| 32 | mate on reverse strand |\n", "| 64 | first read in pair |\n", "| 128 | second read in pair |\n", "| 256 | not primary alignment |\n", "| 512 | alignment fails quality checks |\n", "| 1024 | PCR or optical duplicate |\n", "| 2048 | supplementary alignment |\n", "\n", "So e.g., for a paired-end mapping data set, a flag = **99** (1+2+32+64) means the read is mapped along with its mate (1 and 2) and in the proper orientation (32 and 64)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Filtering reads\n", "Probably the most important flag to remember is **4**, which means the read is **unmapped**. Unmapped reads are most often filtered out. You can filter reads containing a given flag using the `-f` (only take reads that match given flags) and `-F` (only take reads that do **NOT** match given flag) options in `samtools view`.\n", "\n", "So to remove unmapped reads, you would run:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "samtools view -F 4 data/file.sorted.bam | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This removes any read that contains the 4 flag (e.g. 77, 141, etc.). You can filter on any other criteria using flags as well, e.g. only gets reads that map in proper pair:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "samtools view -f 2 data/file.sorted.bam | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "(Note this uses `-f`, not `-F`!)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Downstream analysis\n", "\n", "### Calculating coverage\n", "One of the most common things you will want to know about your mapped reads is their coverage and depth, as this can impact your confidence in the assembly, the validity of your SNP calls, etc. There are many approaches you can take to calculate depth, several of which you can do with SAMtools. \n", "\n", "`samtools coverage`: for each contig/scaffold in the BAM/SAM file, outputs several useful summary stats as a table:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "samtools coverage data/file.sorted.bam" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Like with `samtools view`, can also specify coordinates:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "samtools coverage data/file.sorted.bam -r 1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As a quick way to visualize coverage, you can use the `-m` option create a histogram of coverage over a contig:\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "samtools coverage -m data/file.sorted.bam -r 1:1-1000" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You might also want to look at per-base coverage rather than the average. For this you can use `samtools depth`:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "samtools depth -a data/file.sorted.bam -r 1:1-1000 | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This outputs a three column list, where the 1st column is the contig name, the 2nd is the position, and the 3rd is the depth over that base. This list is convenient for importing to programs like R, where you can plot e.g. a histogram showing the distribution of per-base depth, or distribution of depth over a contig." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Stats\n", "Another useful function built into SAMtools is `samtools stats`, which gives some quick summary statistics about your mapping reads. The amount of information it generates is somewhat overkill in most cases, so we will just look at the summary:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "samtools stats data/file.sorted.bam | grep ^SN | cut -f 2-" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Other tricks\n", "\n", "### BAM to FASTQ/A\n", "If you want to extract the sequence info from the reads you can use `samtools fastq` or `samtools fasta`:\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "samtools fastq data/file.sorted.bam | head" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can also output the pairs to different files.\n", "\n", "### Merge BAM files\n", "You can combine multiple sorted BAM/SAM files, which can be useful if you have done multiple rounds of mapping:\n", "\n", "`samtools merge file.bam file2.bam ...`\n", "\n", "Unless otherwise specified, the headers will also be merged.\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Bash", "language": "bash", "name": "bash" }, "language_info": { "codemirror_mode": "shell", "file_extension": ".sh", "mimetype": "text/x-sh", "name": "bash" } }, "nbformat": 4, "nbformat_minor": 2 } ================================================ FILE: samtools/introduction.md ================================================ ## Intro to SAM/BAM format SAM (Sequence Alignment/Map) format is one of the most common file formats produced by many different pieces of alignment software, both for long and short read sequence data. It is a tab delineated text file, with 11 mandatory fields (listed below), plus header lines denoted with an `@` at the start of the line. SAM files are human readable, but can be quite large. An alternate format is the Binary Alignment/Map (BAM) file, which is binary compressed and not human readable, but is more compact and easy to work with. Most pipelines will use BAM format over SAM. ## SAMtools [SAMtools](http://www.htslib.org/doc/samtools.html) is a suite of programs that are extremely useful for processing mapped reads and for downstream analysis. It has a ton of functions (which you can check out on the manual page), but we will go through several of the most common uses. ### General pipeline Once you've obtained your mapped reads in BAM/SAM format (from BWA, bowtie, minimap, etc.), there are several steps needed before starting downstream analysis. *Filter*: generally this means removing unmapped reads from your file, which we will discuss below. *Sort*: sort the mapped reads by contig/scaffold and by coordinates. This can be done using `samtools sort`: `samtools sort -o file.sorted.bam file.bam` *Index*: creates a searchable index of your sorted BAM file, which is required for some programs. `samtools index file.sorted.bam` ___ One of the most useful tools for the first processing of mapped reads is `samtools view`, which allows you to view the contents of a BAM/SAM file in SAM format: `samtools view data/file.sorted.bam | head` | **Column**| **Description** | |-----|---| | 1 | Read name | | 2 | Bitwise flag | | 3 | Reference name | | 4 | Leftmost mapping position | | 5 | MAPQ quality score | | 6 | CIGAR string | | 7 | Name of 2nd read in pair | | 8 | Position of 2nd read in pair | | 9 | Length of mapping segment | | 10 | Sequence of segment | | 11 | Phred33 quality score at each position | ### Viewing specific regions By default `samtools view` prints all alignments, but you can specify a specific chromosome or subregion to only print alignments in that window: `samtools view data/file.sorted.bam 1 | head` `samtools view data/file.sorted.bam 1:1-1000 | head` If you have numerous regions of interest, you can format them as a BED file and pass that to `samtools view`. This can be slow with large BAM files, as it does not does not use the index. `samtools view -h -o file.subset.bam -L subset.bed file.bam` The `-o` option specifies an output file, rather than printing to screen. The `-h` option is important to remember, as it adds a header to the output. This is important, as many programs require a header to parse BAM/SAM files! ### Converting between formats By default `samtools view` outputs in SAM format, so converting from BAM --> SAM is as easy as running `samtools view -h -o outfile.sam file.bam`. For SAM --> BAM, include the `-b` option: `samtools view -b -h -o outfile.bam file.sam` ### SAM flags The second column in a BAM/SAM file is the *bitwise flag*. The flag value is an integer, which is the sum of a series of decimal values that give information about how a read is mapped | **Integer**| **Description** | |-----|---| | 1 | read is paired | | 2 | read mapped in proper pair | | 4 | read unmapped | | 8 | mate is unmapped | | 16 | read on reverse strand | | 32 | mate on reverse strand | | 64 | first read in pair | | 128 | second read in pair | | 256 | not primary alignment | | 512 | alignment fails quality checks | | 1024 | PCR or optical duplicate | | 2048 | supplementary alignment | So e.g., for a paired-end mapping data set, a flag = **99** (1+2+32+64) means the read is mapped along with its mate (1 and 2) and in the proper orientation (32 and 64). ### Filtering reads Probably the most important flag to remember is **4**, which means the read is **unmapped**. Unmapped reads are most often filtered out. You can filter reads containing a given flag using the `-f` (only take reads that match given flags) and `-F` (only take reads that do **NOT** match given flag) options in `samtools view`. So to remove unmapped reads, you would run: `samtools view -F 4 -h file.sorted.bam | head` This removes any read that contains the 4 flag (e.g. 77, 141, etc.). You can filter on any other criteria using flags as well, e.g. only gets reads that map in proper pair: `samtools view -f 2 -h file.sorted.bam` (Note this uses `-f`, not `-F`!) ## Downstream analysis ### Calculating coverage One of the most common things you will want to know about your mapped reads is their coverage and depth, as this can impact your confidence in the assembly, the validity of your SNP calls, etc. There are many approaches you can take to calculate depth, several of which you can do with SAMtools. `samtools coverage`: for each contig/scaffold in the BAM/SAM file, outputs several useful summary stats as a table: `samtools coverage file.sorted.bam` Like with `samtools view`, can also specify coordinates: `samtools coverage file.sorted.bam -r 1` As a quick way to visualize coverage, you can use the `-m` option create a histogram of coverage over a contig: `samtools coverage -m ERR1013163.sorted.bam -r 1:1-1000` You might also want to look at per-base coverage rather than the average. For this you can use `samtools depth`: `samtools depth -a file.sorted.bam -r 1:1-1000 | head` This outputs a three column list, where the 1st column is the contig name, the 2nd is the position, and the 3rd is the depth over that base. This list is convenient for importing to programs like R, where you can plot e.g. a histogram showing the distribution of per-base depth, or distribution of depth over a contig. ### Stats/flagstats Another useful function built into SAMtools is `samtools stats`, which gives some quick summary statistics about your mapping reads. The amount of information it generates is somewhat overkill in most cases, so we will just look at the summary: `samtools stats ERR1013163.sorted.subset.bam | grep ^SN | cut -f 2-` ## Other tricks ### BAM to FASTQ/A If you want to extract the sequence info from the reads you can use `samtools fastq` or `samtools fasta`: `samtools fastq file.bam | head` You can also output the pairs to different files. ### Merge BAM files You can combine multiple sorted BAM/SAM files, which can be useful if you have done multiple rounds of mapping: `samtools merge file.bam file2.bam ...` Unless otherwise specified, the headers will also be merged. ================================================ FILE: singularity/images/singularity_container.drawio ================================================ 7Zpbc9soFIB/TWa2D/bobvsxduLsbNvZbNPubp46WMISGyRUhHzpr1+QQLIkEidxbLd2/WCJAwJ0vgOcA7qwJ/HqhoI0+kgCiC8sI1hd2FcXljUaDvm/EKxLgWtLQUhRUIrMWnCHvkMpNKQ0RwHMGgUZIZihtCn0SZJAnzVkgFKybBabE9xsNQUh7AjufIC70n9QwKJSOnSNWv47RGGkWjYNmRMDVVgKsggEZLkhsq8v7AklhJV38WoCsdCd0kv53PSR3KpjFCbsOQ9MvpBPPd+DiZHhyfuV+ecQfO45ZS0LgHP5wrKzbK00wPudilsUF6oaRyzGPGny2wWkDHFdXWIUJlzGSLoh/QBmEN+SDDFERO6MMEZiXgCLjDHwH0JK8iSYEExo0ZY9L368SNHYZZaWSA0uASoxRysYqCI8HTEmbOFSvLk19YPE6iNuDXOUBJD2fd6iNQ0AA/wi5Bm/pjiP095s3fsOKTfYr1xkWtwup5OrnijTT5Owq16pcfF6cLUhkuq+gSSGjK55EZlrK/TK9mVyWRuSpcwl2jCiSgik8YZV1TVffiMRvwD3QIN72iHOX4/3ZJwxSh6gopOQRNCfI4xbog2DmJOEyTFsOSotK9YZTIyCQGSOgRT4XNuQ1z1+C/UPm+r3uuofabW/J+UPdcrPM3qy+jcGDf1XU+MGAFNn/86+CIx0BGYoOVUCjt0m4ByZgGnqEJCUnSyC1howOPYYMC0dAYxmp0rAtn80AraOAJ+EphHB68yngPmRYYq619xVElMUBhn7avVNo2/0MzQ/VVSV179uOVAbrJzhQVl5GlYt5W/1dyvPX/ixAcgi4b+WTm1biVud6xKxCkXcsvbCP49XoYjA+jHxH/K0HwMqLn5O8XpMgQ879sH97VHxE9gxSv+WDb/FmDPdBsgK0Kbra7ldkIO9gey6vhSCoEcSLPodIMqjC0IRjzUtD4vBNOOOmReKu9+Eh2CwCJZxJgMo4bB4gyICeXeqg9H1ts6b9r7mzS+f6P1ff9ymd59v8OIju/82eE96OtehRCX0VLBRhu19y0VYPS5CSsMQ3axFJVTeBRanqgaeKitRmT8s0w5ADebnu+TOAR1CLVSdN7IT1OTckHpWc6rVRFneIYnqvJudiEqP6Oy4Os2hOugO1YNy1XlCO3EN4OLMmDqu15p+jzxWdfuBOzFNKfHPDmrTTzr6QNXtM+4Elebntqg6Vit+Ofaiqtu5fD3TIvJZUsTg1tBnhpKgF5Oc6zbghedUnKfIWCgiGXt3ZpbhjraP9gOHRUbHNiZ1kNqikC1RjEGh4TdQhtlWhkYXA40uLMfblzJ0QeJL92s6R43P3JVpmXDH/EjOMKcyqY6qDc32jY8YRau+WEhhlj2X0xOW8UQw2ICnfJMNeK7VZafCjbdHpwsFf6HTr0/D5rhzR0dm93jQh+oVobFg1VTV6iQyelkx0V/yAuYwXXWXrhnIHo8EKzH6+Zeh15hF66zJNJ/ntdh7m411n5eUkLIUJK+3Ao1xlYck6jy3TCV6k6hkZSfO0lKagahldCeQw+4DqgODxz3cHU0lf7yKpXxBUUlCaAxwt5rbclKvfWTx7YbGpE7DB36RSanZpus/HNaEbLejcBiEUKmJUBaRkCQAX9fSsZ/TRXEcJ7RYfI5WHc7VD3wgwlUoivwHGVtLEiBnpIkJrhD7Vzzed2XqfiPnaiVrLhJrmSg7LXr6tBfOX4zk1Idbl+EuIQoxYGjRbECnf/noLUHFkFOTRXuHY9RCyAANIZNPtShW3dCBFZsL1QeQZfH6K1L7+n8= ================================================ FILE: singularity/images/singularity_image.drawio ================================================ 3Zhdb5swFIZ/TS6D+MgHuWxo00nbtGmfl5VjG7BqbGRMC/31OwZDIDB1k9p1Si4Kfn1im/c5OMddBFFW3SqUpx8loXzhu6RaBNcL3/e8cAMXo9Stsg53rZAoRmzQSfjKnqgVXauWjNBiFKil5JrlYxFLISjWIw0pJR/HYbHk41lzlNCJ8BUjPlV/MqLTVg3X7kl/R1mSdjN7ru3JUBdshSJFRD4OpOBmEURKSt3eZVVEuTGv86X93uE3vf3CFBX6T74QfZdflnhDhVvw6H3lfQrRt+WqHeUB8dI+sF2srjsHYN25uWVZY9U+1RmHpge3D1RpBl5dcZYI0LTMB+oHdKT8syyYZtL0HqXWMoMAbjr2CN8nSpaCRJJL1cwVxM0HQprJroq8ReqCgrpGzCpKuhBop1qbXLgyT+4fMBG+wyAbYiYIVQ6GGf0DQRrBxegFXHNeZvnyWC+fqIKMvQPJ80P4G10vTYyTi2Rqr3XcPB6tBpK1+5bKjGpVQ4jtDTr0Xe7b5uMpkfwuXdJBEvUissmb9EOf+MKNRfwXuLczuA8T4vB4sJJ9oZW8px0dIYWhHzPOz6RBQsRSaPsO+6uubQeeS5iMEWI698gKGNymMPb+JewPx/ZvpvbvZt1/JfPDOfPLQl2s/+525H+/NQ4AeHP5v3otArs5AkcmLpXAKjgnsHpjAp43h0Dm+mIRnP0GbN/6HfD8OQKcHS+VQBD8bwSCOQKwCR1SyesCK6Rx6npm7BpKJbNFcVToO9/xXMd1ChZfKqq+6q/PCqgBq1X4T1ltZlidmf9svdtX/qaOJahITf3aFrXnJj5bXLeIu6PIuh29qc+zKjFHMCeT+L7MnQwpc8Gl4vVeIUwn+QH19q75GOyc5T/sxC/xznnrEcge0LD09ddTkNtXAzktfRVFZCkFN+smTMHpQioGZ80LfbnW7rP7YPBC+yA0T+fapm/w34Hg5hc= ================================================ FILE: singularity/images/trinity.drawio ================================================ 1VjZcpswFP0az6QPYVhs7DwmpGk74zZt006fBcigiZCoEDHu1/cKJMzmxunY6dQPGM7Ves5dBDMvyKp3AuXpRx5jOnPtuJp5tzPXXa5WcFXArgEWngYSQeIGcvbAA/mFNWhrtCQxLnoNJedUkrwPRpwxHMkehoTg236zDaf9WXOU4BHwECE6Rn+QWKYNulrYe/w9JklqZnZsbcmQaayBIkUx33Yg7+3MCwTnsrnLqgBTxZ3hpel3d8DaLkxgJo/p8PX9tf05vfr1ZfPh/inZrG/XXnW5aEZ5QrTUGw44k4gwLPSq5c5QUWxJRhGDp5vx3Ho5T1hIXHUgvZZ3mGdYih000VbP17xs97Q6K42lXUqXGkRayqQda79buNEbfsHm/dHmZ65PYdqbDZDQ27z/s+TGcFnUXnoNDZx5Xu2NcJc0/3dlAfzdUQ6OBP8hYXD9JggjcmfmAKSZxnQa0A08KryQgj/igFMuAGe85n9DKB1Aqcxg87eOXqSOJHdunvXAyq5EIrCya0oSBlhG4lgZb5AGIpAVHGBK5z960dHiG+11UliOXcGf8IT5uRzhasIRBmoYztYoxPQzL4gkXFEVcil5prgr8ib/bEiF474gQ8Ilzw8pO5KAl5JCOAZtfrNV1xTlamFZlaisa0VEClJZueARLoozCrd0rUVPOu/Kuur9Rkp6iwklHWvpnUlMZ3UwrEMTbN/DkslSBfDKsuetWRj7RVlgAbkunrmwCJtxuKwJKyHY7UcsGKZvxp06gR0ejGrBSxYr/6h13KZE4occRcq6BSn7fnNyFbVojndk7j1bxHkHNSpyxI5Kvf5U6g0Qg0ACc8CzvJQY7j7BkQT+LgIg8f4B7pbW6k1Hq2bCA3KZQIvKED+vV9iIuw5bAEWPSS35fRPGGo+ReLyHYVQ5AE+w7EUfdGt02gVeXGldu59tW1W7QepOqO+fS/356xZeMzg5PPJWb/u6jnaRqd7D0S/MOKVB6rwwLuutvetmZCJN/If1/+XeNx94nz2Re+zXzD3OEeW+PazbdWAWaZuyOzzTwVmgpe3Zw8L0geDvav8TxiizvNiK4tMoNnf8ZxXzV2PBXP9MgpncdPJ8Ee3fdWySqTfBfxqb7mvH5txZDpRe/tuDuDt+H/1DSRZ0dyOgwmL5fGnen7ucQ8I1oHnLd09FcT/9Oe44mKZqb9vu9BxPvfaejWNDZ33AIQLSWJMKocgq/CRfEhYDiie+LLgnqjDwuP9iU9s6n728t78B ================================================ FILE: singularity/part1.html ================================================ Title ================================================ FILE: singularity/part1.md ================================================ class: middle, center # Singularity ## Finding & Using Containers ### FAS Bioinformatics Workshop #### April 27, 2021 #### Your Host: Nathan Weeks --- # Roadmap ### Part 1 (this presentation) * What are (Singularity) containers? * Finding container images * Using Singularity on Cannon ### Part 2 (next week) * Building Singularity container images * Common pitfalls * Useful tips & tricks --- ### Prerequisites (to follow along with the exercises)... 1. Log into Cannon (either via [SSH](https://docs.rc.fas.harvard.edu/kb/terminal-access/), or a web browser using the [FASRC VDI portal](https://docs.rc.fas.harvard.edu/kb/virtual-desktop/) ([FASRC VPN](https://docs.rc.fas.harvard.edu/kb/vpn-setup/) connection required) 2. Launch an [interactive job](https://docs.rc.fas.harvard.edu/kb/running-jobs/#Interactive_jobs_and_salloc) on a compute node: ``` salloc -p test,shared -t 2:00:00 --mem=4g ``` *NOTE:* the `singularity` *command is not available on Cannon login nodes* --- # What is a *container*? A set of one or more processes (*running programs*) that share (at least) a different root file system ("/"; usually provided by a *container image*) than processes running outside of the container on the same host operating system kernel (*typically Linux*). --- # What is Singularity? * An open-source container platform for Linux - https://github.com/hpcng/singularity - [Old beta for macOS](https://sylabs.io/singularity-desktop-macos/) (don't bother) * Started in 2015 by Greg Kurtzer from Lawrence Berkeley National Laboratory; now commercially developed/supported by [Sylabs](https://sylabs.io/) * Provides software tooling for both building *container images* and creating *containers* in which commands are run * Used: - Primarily for HPC clusters - Cannon: [FASRC VDI portal](https://docs.rc.fas.harvard.edu/kb/virtual-desktop/) (Open OnDemand) to run JupyterLab, RStudio Server, and other interactive apps - Workflow management systems, such as [Snakemake](https://snakemake.readthedocs.io/en/stable/snakefiles/deployment.html#running-jobs-in-containers), [NextFlow](https://www.nextflow.io/docs/latest/singularity.html), and [Galaxy](https://docs.galaxyproject.org/en/master/admin/special_topics/mulled_containers.html) - [Open Science Grid](https://support.opensciencegrid.org/support/solutions/articles/12000024676-docker-and-singularity-containers) --- # Singularity Image * A Singularity *image* is a file containing a (compressed, read-only [SquashFS](https://en.wikipedia.org/wiki/SquashFS)) file system, usually containing: * A base (Linux) operating system (e.g., Ubuntu, CentOS, Alpine) * Target software (e.g., NCBI BLAST+) and all software dependencies * Typical file extension: *.sif* ([Singularity Image Format]()); older (pre Singularity 3.x) may use ".simg" * Since it's a *file*, can be copied to other hosts (e.g., `scp`), or archived/shared (e.g., alongside code and research data) ![singularity image](images/singularity_image.jpeg) --- # Singularity Container * A Singularity *container* runs user processes with a software environment reflecting the (read-only) file system within the Singularity image file, plus select (generally-writable) directories from the host that are *bind-mounted* onto this file system. * On Cannon, this includes **/n/** (network) file systems, like **/n/holyscratch01** and **/n/home* ** --- # Why use containers? --- # Why use containers? * Save time - (Re)creating a complex software environment on a different host can be difficult * Portability - A container image can run on another (Linux) host, or... - Easily shared with other users on the same system (e.g., on Cannon with other members of the same lab) * Reproducibility - Guarantees software environment (including exact versions) recorded & reproduced faithfully #### SEE ALSO * [Introduction to Singularity - Use Cases](https://sylabs.io/guides/3.7/user-guide/introduction.html#use-cases) --- ## Example: [Trinity](https://trinityrnaseq.github.io/) de novo transcriptome assembler * Difficult to install; many software dependencies - Bespoke environment modules for a couple older versions exist on Cannon (see `module-query trinityrnaseq`) * "Official" *container image* encapsulates Trinity & dependencies (see the [Dockerfile](https://github.com/trinityrnaseq/trinityrnaseq/blob/v2.12.0/Docker/Dockerfile) container image "recipe") - Can be used on Cannon
--- ## Running a command in a Singularity container [singularity exec](https://sylabs.io/guides/3.7/user-guide/quick_start.html#executing-commands) is the most common mechanism to run a command in singularity container, both for batch and interactive jobs: ``` singularity exec [...options...] singularity_image.sif command [...command arguments...] ``` e.g.: ``` $ image=/n/singularity_images/informatics/braker2/braker2_2.1.6.sif $ singularity exec ${image} which braker.pl /usr/local/bin/braker.pl $ singularity exec ${image} braker.pl --version braker.pl version 2.1.6 ``` *NOTE: It is good practice to use the `singularity exec --cleanenv` option; this will be discussed in more detail in part 2* --- ## Running a command in a Singularity container [singularity shell](https://sylabs.io/guides/3.7/user-guide/quick_start.html#shell) is used to get a "shell" in the container (almost like logging into a virtual machine) for interactive exploration and (short) interactive work: ``` $ singularity shell /n/singularity_images/informatics/maker/maker:3.01.03-repbase.sif Singularity> type maker maker is /usr/local/bin/maker Singularity> cat /etc/os-release PRETTY_NAME="Debian GNU/Linux 8 (jessie)" NAME="Debian GNU/Linux" VERSION_ID="8" VERSION="8 (jessie)" ID=debian HOME_URL="http://www.debian.org/" SUPPORT_URL="http://www.debian.org/support" BUG_REPORT_URL="https://bugs.debian.org/" ``` *The shell prompt changes to `Singularity>` to indicate the shell is in a container* --- ## Your Turn 1. Start a shell in an NCBI BLAST container using the `singularity shell` command: ``` singularity shell /n/singularity_images/informatics/ncbi-blast/ncbi-blast:2.10.0.sif ``` 2. Answer the following questions: 1. What is the base operating system of the container image? (*hint*: `cat /etc/os-release`) 2. Where is the location of the `blastn` executable? (*hint*: `type blastn` or `which blastn` or `command -v blastn`) --- ## Finding Container Images - Container Registries * Container images are typically hosted in a *container registry* - Hosting service for container *repositories*, analogous to git repositories * Many container registries have bad (or no) search interfaces, and may not be your first stop when looking for container images - Notable possible exception: NVIDIA GPU Accelerated Container Registry (NGC) for GPU-accelerated container images --- ## Singularity container registries 1. (*Update: now defunct?*) Singularity Hub (https://singularity-hub.org/) - The first Singularity container registry - Requires(d) exessive privileges to your GitHub account to be able to search / use 2. Sylabs Cloud Library (https://cloud.sylabs.io/library) - [singularity search](https://sylabs.io/guides/3.7/user-guide/cli/singularity_search.html) command can be used to search---but is not too useful (except for custom-built images) --- ### Container Registries - Docker / OCI (Open Container Image) Singularity can build SIF images from Docker / OCI images in container other registries. The most popular: * DockerHub - https://hub.docker.com/ - The original and most popular (public) container registry - [Image "pull" limits](https://www.docker.com/increase-rate-limits) - 100 anonymous image pulls per 6 hours per public IP address - 200 anonymous images pulls per (free) Docker account (see [singularity remote login](https://sylabs.io/guides/3.7/user-guide/cli/singularity_remote_login.html) to authenticate) * Quay - https://quay.io/search - *Caveat: looks like search will required RedHat SSO on July 1, 2021...* --- ## Other OCI Container Registries * GitHub Container Registry - https://docs.github.com/en/packages/guides/about-github-container-registry - Newish, but looks promising for continuous integration / automated builds of GitHub-hosted projects * GitLab Container Registry - https://docs.gitlab.com/ee/user/packages/container_registry/ - More mature than GitHub Container Registry; images hosted per-project / repository * NVIDIA GPU Accelerated Container Registry (NGC) - https://ngc.nvidia.com/ - singularity `--nv` option to use host GPU in container (see Singularity [GPU Support (NVIDIA CUDA & AMD ROCm](https://sylabs.io/guides/3.7/user-guide/gpu.html)) --- ## Other OCI Container Registries Mainly for paying customers: * Azure Container Registry - https://azure.microsoft.com/en-us/services/container-registry/ - Hosts some "native" Singularity images * Amazon Elastic Container Registry (ECR) - https://gallery.ecr.aws/ * Oracle Container Registry - https://container-registry.oracle.com/ --- # BioContainers * [Bioconda](https://bioconda.github.io/) is a bioinformatics-focused channel of software packages for the [conda](https://docs.rc.fas.harvard.edu/kb/python/) package manager - See earlier [conda tutorial](https://github.com/harvardinformatics/bioinformatics-coffee-hour/blob/master/taste-of-conda/index.ipynb) * [BioContainers](https://biocontainers.pro/) provides container images for (mostly) [Bioconda](https://bioconda.github.io/) packages (including dependencies) * Can search for BioContainers images: - [BioContainers registry](https://biocontainers.pro/registry) - [Bioconda Package Index](https://bioconda.github.io/conda-package_index.html) - Click on a package name > "container" link > tag > Fetch Tag (download icon) --- ## Generating a Singularity image from a Docker image Many container registries assume [Docker](https://docker.com), and suggest syntax like: ``` docker pull registry/user/repository:tag ``` To adapt to Singularity, replace with: ``` singularity pull docker://registry/user/repository:tag ``` ### Example ``` singularity pull --disable-cache docker://quay.io/biocontainers/samtools:1.12--h9aed4be_1 ``` * *The `--disable-cache` option prevents image layers from being cached in ${HOME}/.singularity/cache* --- ## Finding container images for bioinformatics Prefer "official" container images provided by the project; e.g. * Check docs, or for existence of Dockerfile in git repo * Examples: - [Trinity](https://github.com/trinityrnaseq/trinityrnaseq/wiki/Trinity-in-Docker#running-trinity-using-singularity) ``` curl -O https://data.broadinstitute.org/Trinity/TRINITY_SINGULARITY/\ trinityrnaseq.v2.12.0.simg ``` - FAS Informatics [Best Practices for De Novo Transcriptome Assembly with Trinity](https://informatics.fas.harvard.edu/best-practices-for-de-novo-transcriptome-assembly-with-trinity.html) illustrates optimized use on Cannon - [QIIME 2](https://docs.qiime2.org/2021.2/install/virtual/docker/) - `singularity pull --disable-cache docker://quay.io/qiime2/core:2021.2` - [MultiQC](https://github.com/ewels/MultiQC) - https://github.com/ewels/MultiQC - Links to: https://hub.docker.com/r/ewels/multiqc - `singularity pull --disable-cache docker://ewels/multiqc:1.10.1` * Existence of Dockerfile doesn't mean an image is avialable in a container registry (like Docker Hub) - e.g., [Augustus](https://github.com/Gaius-Augustus/Augustus) provides a Dockerfile, but needs to be built --- # CernVM-FS (CVMFS) * https://cernvm.cern.ch/fs/ * Singularity images of Biocontainers (maintained by the Galaxy Project) available at: ``` /cvmfs/singularity.galaxyproject.org/FIRST_LETTER/SECOND_LETTER/\ PACKAGE_NAME:VERSION--CONDA_BUILD ``` ex. ``` $ singularity exec --cleanenv \ /cvmfs/singularity.galaxyproject.org/b/l/blast:2.11.0--pl526he19e7b1_0 \ blastn -version WARNING: Skipping mount /var/singularity/mnt/session/etc/resolv.conf [files]: /etc/resolv.conf doesn't exist in container blastn: 2.11.0+ Package: blast 2.11.0, build Mar 12 2021 10:19:58 ``` * `/etc/resolv.conf` warning is a known issue: https://github.com/bioconda/bioconda-recipes/issues/11583 * https://docs.rc.fas.harvard.edu/kb/singularity-on-the-cluster/#BioContainers --- # CVMFS Caveats * Delay (up to a minute or so) when auto-mounting `/cvmfs/singularity.galaxyproject.org` on a given compute node * Further delay when fetching a container images ## Recommendations * Don't use for a [large number of jobs](https://docs.rc.fas.harvard.edu/kb/submitting-large-numbers-of-jobs/) * Copy frequently-used containers to [high-performance shared storage](https://docs.rc.fas.harvard.edu/kb/cluster-storage/#Networked_High-performance_Shared_Scratch_Storage) --- ## Exercise - Biocontainers & CVMFS 1. Choose a Biocontainers image, using your favorite interface: * [Bioconda package index](https://bioconda.github.io/conda-package_index.html) * [BioContainers Registry](https://biocontainers.pro/registry) `ls /cvmfs/singularity.galaxyproject.org/FIRST_LETTER/SECOND_LETTER/` 2. Find the container image in CVMFS, and execute a command in the container ``` singularity exec --cleanenv \ /cvmfs/singularity.galaxyproject.org/b/l/blast:2.11.0--pl526he19e7b1_0 \ blastn -version ``` 3. Copy & paste the `singularity exec` command into the chat --- # Miscellanea - Pipelines of Containers Processes in a Singularity container behave the same as processes on the host outside of a container w.r.t. I/O (including stdin/stdout/stderr). As such, they can be used with (unix) pipes: ``` singularity pull --disable-cache docker://quay.io/biocontainers/samtools:1.12--h9aed4be_1 singularity pull --disable-cache docker://quay.io/biocontainers/bwa-mem2:2.2.1--h9a82719_1 singularity exec --cleanenv bwa-mem2_2.2.1--h9a82719_1.sif bwa-mem2 index reference.fa.gz singularity exec --cleanenv bwa-mem2_2.2.1--h9a82719_1.sif \ bwa-mem2 mem reference.fa.gz left.fastq.gz right.fastq.gz | singularity exec --cleanenv samtools_1.12--h9aed4be_1.sif \ samtools sort --output-fmt bam > output.bam ``` ### SEE ALSO For a more detailed tutorial on Unix pipes, see [harvardinformatics/bioinformatics-coffee-hour/unix-pipes](https://github.com/harvardinformatics/bioinformatics-coffee-hour/blob/master/unix-pipes/index.ipynb) --- ## Links to other useful resources * Singularity User Guide - https://sylabs.io/guides/latest/user-guide/ * Software Carpentries - Introduction to Singularity (alpha) - https://carpentries-incubator.github.io/singularity-introduction * Creating and running software containers with Singularity (originally NIH) - https://singulari)ty-tutorial.github.io/ * Singularity Containers for Bioinformatics (Pawsey Supercomputing Centre) - https://pawseysc.github.io/containers-bioinformatics-workshop/ * BioContainers Registry: searching for bioinformatics tools, packages and containers - https://dx.doi.org/10.1021/acs.jproteome.0c00904 ================================================ FILE: snakemake/LICENSE ================================================ BSD 3-Clause License Copyright (c) 2019, C. Titus Brown All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ================================================ FILE: snakemake/README.md ================================================ # 2020-snakemake-Harvard-informatics-coffee-hour-demo Intro to workflows for efficient automated data analysis, using snakemake. See [the tutorial](tutorial.md) for more information! ================================================ FILE: snakemake/Snakefile ================================================ #my first Snakefile ================================================ FILE: snakemake/binder/README.md ================================================ # binder directory Configuration files for [mybinder](https://mybinder.org). ================================================ FILE: snakemake/binder/environment.yml ================================================ channels: - conda-forge - bioconda - defaults dependencies: - bash_kernel - snakemake>=5.2, <5.11 - fastqc - multiqc ================================================ FILE: snakemake/data/.gitignore ================================================ * !.gitignore ================================================ FILE: snakemake/index.ipynb ================================================ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Intro to workflows for data analysis, using snakemake\n", "### Authors: Meghan Correa and Ming Tang\n", "### Bioinformatics Coffee Hour - May 26, 2020\n", "\n", "Modified from https://github.com/ctb/2019-snakemake-ucdavis\n", "\n", "No license; the below content is under CC0. (Do with it what you will, and I hope it's useful!)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Introduction and thoughts\n", "\n", "Hi! I'm Meghan Correa, I a member of the Software Operations team at FAS informatics. I support data analysis for the Bauer core among other things.\n", "\n", "This 25min teaser meant to show you how to get started using snakemake.\n", "\n", "Note, the only way you'll really learn to do all of this is by applying it to your own research and spending time on it :)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Why use a workflow management tool?\n", "\n", "* Dependency management\n", "* Reentrancy - start back up where you left off\n", "* Reusable\n", "* Documented\n", "* Portable\n", "\n", "There are many to choose from:\n", "https://github.com/pditommaso/awesome-pipeline\n", "\n", "FAS Informatics choose to use snakemake for the post sequencing pipeline and other workflows mainly because it is written in python and is popular in the bioinformatics community." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Tasks we are going to do\n", "\n", "Inside the `data` folder, there are 4 fastq.gz files. We will use `Snakemake` do `fastqc` on each fastq files and compile multiple html files into a single one using `multiQC`." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Software we're going to use\n", "\n", "We're going to be using [conda](https://conda.io/en/latest/) and [snakemake](https://snakemake.readthedocs.io/en/stable/), a well as packages from [bioconda](https://bioconda.github.io). If you wanted to run all of this on your own computer, you'll need to follow the bioconda install instructions.\n", "\n", "We'll be implementing a short read quality check pipeline, using [fastqc](https://www.bioinformatics.babraham.ac.uk/projects/fastqc/) and [multiqc](https://multiqc.info/). No worries if you don't know what any of this means, it's not super critical to the snakemake side of things :)\n", "\n", "You can see the full set of installed software requirements for python in `environment.yml` file and installs from apt repository in `apt.txt` in the binder folder of the repository.\n", "\n", "**Note we have installed all the required tools in the binder container**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Download some data\n", "\n", "Execute the below cell to fetch some data." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "curl -L https://github.com/ctb/2019-snakemake-ucdavis/raw/9db09bc0b6a3469f8a0d4996d4b2995bf36e5d27/data/0Hour_001_1.fq.gz > data/0Hour_001_1.fq.gz\n", "curl -L https://github.com/ctb/2019-snakemake-ucdavis/raw/9db09bc0b6a3469f8a0d4996d4b2995bf36e5d27/data/6Hour_001_1.fq.gz > data/6Hour_001_1.fq.gz\n", "curl -L https://github.com/ctb/2019-snakemake-ucdavis/raw/9db09bc0b6a3469f8a0d4996d4b2995bf36e5d27/data/0Hour_001_2.fq.gz > data/0Hour_001_2.fq.gz\n", "curl -L https://github.com/ctb/2019-snakemake-ucdavis/raw/9db09bc0b6a3469f8a0d4996d4b2995bf36e5d27/data/6Hour_001_2.fq.gz > data/6Hour_001_2.fq.gz" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Running snakemake!\n", "\n", "### Getting started - your first Snakefile\n", "\n", "Open the `Snakemake` file with a text editor and paste the below into it:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "rule fastqc_a_file:\n", " shell:\n", " \"fastqc data/0Hour_001_1.fq.gz\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "(I suggest copy/pasting this into the Snakefile.)\n", "\n", "remember to click `File` --> `Save File`." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "snakemake" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "and you should see:\n", "```\n", "Building DAG of jobs...\n", "Using shell: /bin/bash\n", "Provided cores: 1\n", "Rules claiming more threads will be scaled down.\n", "...\n", "Approx 95% complete for 0Hour_001_1.fq.gz\n", "Analysis complete for 0Hour_001_1.fq.gz\n", "[Wed Feb 27 13:09:51 2019]\n", "Finished job 0.\n", "1 of 1 steps (100%) done\n", "Complete log: /home/jovyan/.snakemake/log/2019-02-27T130941.260352.snakemake.log\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "and there will be two new files,\n", "\n", "Points to make:\n", "* the snakemake configuration file is by default called `Snakefile`" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Updating the Snakefile to track inputs and outputs\n", "\n", "At the moment this is basically just a shell script with extra syntax... what's the point?\n", "\n", "Well, shell scripts will rerun the command every time you run the file, even if there's no reason to do so because the file hasn't changed but with snakemake, you can annotate the rule with input and output files!\n", "\n", "**Digression:** This is particularly important for large or long workflows, where you're dealing with 10s to 100s of files that may take hours to days to process! It can be hard to figure out which files to rerun, but (spoiler alert) snakemake can really help you do this!\n", "\n", "Change your snakefile to look like this:\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "rule fastqc_a_file:\n", " input:\n", " \"data/0Hour_001_1.fq.gz\"\n", " output:\n", " \"data/0Hour_001_1_fastqc.html\",\n", " \"data/0Hour_001_1_fastqc.zip\"\n", " shell:\n", " \"fastqc data/0Hour_001_1.fq.gz\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "here, we've annotated the rule with the required\n", "**input** file, as well as the expected **output** files.\n", "\n", "Question: how do we know what the output files are?\n", "\n", "Now run:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "snakemake" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "and you should see:\n", "```\n", "Building DAG of jobs...\n", "Nothing to be done.\n", "Complete log: /home/jovyan/.snakemake/log/2019-02-27T132031.813143.snakemake.log\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "What happened??\n", "\n", "snakemake looked at the file, saw that the output files existed, and figured out that it didn't need to do anything!\n", "\n", "### Forcibly re-running things\n", "\n", "You can tell snakemake to run all the rules no matter what with `-F`:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "snakemake -F" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can also remove an output file and it will automatically re-run:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "rm data/*.html\n", "snakemake" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "note that you don't need to remove *all* the output files to rerun a command - just remove *one* of them.\n", "\n", "You can *also* update the timestamp on an *input* file, and snakemake will figure out that the output file is older than the input file, and rerun things." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "touch data/*.fq.gz\n", "snakemake" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Another usefule snakemake option is the --dryrun option, this will show you what snakemake would do but won't actually run any of the rules. I highly recommend running this to check that was will be run is what you expect." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "snakemake --dryrun" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Multiple rules\n", "\n", "Let's add a rule to run fastqc on a second file:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "rule fastqc_a_file:\n", " input:\n", " \"data/0Hour_001_1.fq.gz\"\n", " output:\n", " \"data/0Hour_001_1_fastqc.html\",\n", " \"data/0Hour_001_1_fastqc.zip\"\n", " shell:\n", " \"fastqc data/0Hour_001_1.fq.gz\"\n", "\n", "rule fastqc_a_file2:\n", " input:\n", " \"data/6Hour_001_1.fq.gz\"\n", " output:\n", " \"data/6Hour_001_1_fastqc.html\",\n", " \"data/6Hour_001_1_fastqc.zip\"\n", " shell:\n", " \"fastqc data/6Hour_001_1.fq.gz\"" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "snakemake" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, if you run this, the Right Thing won't happen: snakemake will do nothing. Why?\n", "\n", "Well, snakemake only runs the *first* rule in a Snakefile, by default. You can give a rule name on the command line, if you like, **or** you can tell snakemake what output file(s) you want. " ] }, { "cell_type": "raw", "metadata": {}, "source": [ "snakemake data/0Hour_001_1_fastqc.html data/6Hour_001_1_fastqc.html" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "But the conventional way to do this in snakemake is to add an \"all\" rule as the first rule, let's try it. \n", "\n", "\n", "### A first refactoring: adding a better default rule\n", "\n", "Let's start refactoring (cleaning up) this Snakefile.\n", "\n", "First, let's add a rule at the top:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "rule all:\n", " input:\n", " \"data/0Hour_001_1_fastqc.html\",\n", " \"data/6Hour_001_1_fastqc.html\"\n", "\n", "rule fastqc_a_file:\n", " input:\n", " \"data/0Hour_001_1.fq.gz\"\n", " output:\n", " \"data/0Hour_001_1_fastqc.html\",\n", " \"data/0Hour_001_1_fastqc.zip\"\n", " shell:\n", " \"fastqc data/0Hour_001_1.fq.gz\"\n", "\n", "rule fastqc_a_file2:\n", " input:\n", " \"data/6Hour_001_1.fq.gz\"\n", " output:\n", " \"data/6Hour_001_1_fastqc.html\",\n", " \"data/6Hour_001_1_fastqc.zip\"\n", " shell:\n", " \"fastqc data/6Hour_001_1.fq.gz\"" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "snakemake" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This is a blank rule that gathers together all of the various files you want produced, and says \"hey, snakemake, I depend on all of these files for my input - make them for me!\"\n", "\n", "Let's run snakemake again and now you should see the second fastqc command run, with the appropriate output files!\n", "\n", "Note that snakemake only runs the second rule, because it looks at the output files and sees that the first file you wanted, `0Hour_001_1_fastqc.html` already exists!\n", "\n", "This is a blank rule that gathers together all of the various files you want produced, and says \"hey, snakemake, I depend on all of these files for my input - make them for me!\"\n", "\n", "### A second refactoring: doing a bit of templating\n", "\n", "There's a lot of repetition in each of these rules. Let's collapse it down a little bit by replacing the filename in the fastqc command with a magic variable, `{input}`." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "rule all:\n", " input:\n", " \"data/0Hour_001_1_fastqc.html\",\n", " \"data/6Hour_001_1_fastqc.html\"\n", "\n", "rule fastqc_a_file:\n", " input:\n", " \"data/0Hour_001_1.fq.gz\"\n", " output:\n", " \"data/0Hour_001_1_fastqc.html\",\n", " \"data/0Hour_001_1_fastqc.zip\"\n", " shell:\n", " \"fastqc {input}\"\n", "\n", "rule fastqc_a_file2:\n", " input:\n", " \"data/6Hour_001_1.fq.gz\"\n", " output:\n", " \"data/6Hour_001_1_fastqc.html\",\n", " \"data/6Hour_001_1_fastqc.zip\"\n", " shell:\n", " \"fastqc {input}\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This all works as before, but now the rule is a bit more generic and will work with any input file. Sort of.\n", "\n", "### Refactoring 3: templating output files, too\n", "\n", "The output filenames ALSO depend on the input file names in some way - specifically, fastqc replace part of the filename with `_fastqc.html` and `_fastqc.zip` to make its two output files.\n", "\n", "Let's rewrite the rule using some snakemake pattern matching:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "rule all:\n", " input:\n", " \"data/0Hour_001_1_fastqc.html\",\n", " \"data/6Hour_001_1_fastqc.html\"\n", "\n", "rule fastqc_a_file:\n", " input:\n", " \"{filename}.fq.gz\"\n", " output:\n", " \"{filename}_fastqc.html\",\n", " \"{filename}_fastqc.zip\"\n", " shell:\n", " \"fastqc {input}\"\n", "\n", "rule fastqc_a_file2:\n", " input:\n", " \"{filename}.fq.gz\"\n", " output:\n", " \"{filename}_fastqc.html\",\n", " \"{filename}_fastqc.zip\"\n", " shell:\n", " \"fastqc {input}\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "What we've done here is tell snakemake that anytime we say we *want* a file that ends with `_fastqc.html`, it should look for a file that ends in `.fq.gz` and then run `fastqc` on it." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If you look at the rule above, they are now identical rules! \n", "\n", "Let's remove one, to get a trimmer, leaner, and above all *functional* snakefile:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "rule all:\n", " input:\n", " \"data/0Hour_001_1_fastqc.html\",\n", " \"data/6Hour_001_1_fastqc.html\"\n", "\n", "rule fastqc_a_file:\n", " input:\n", " \"{filename}.fq.gz\"\n", " output:\n", " \"{filename}_fastqc.html\",\n", " \"{filename}_fastqc.zip\"\n", " shell:\n", " \"fastqc {input}\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that the variable name in input and output does not have to be \"filename\", it can be anything as long as you're consistant. So let's run snakemake again." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "rm data/*.html\n", "snakemake" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Building out the workflow\n", "\n", "So, we've gotten fastqc sorted out. What's next?\n", "\n", "Let's add in a new rule - multiqc, to summarize our fastqc results.\n", "\n", "multiqc takes a directory name under which there are one or more fastqc reports, and then summarizes them.\n", "\n", "Running it on the command line," ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "multiqc data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "you can see that it creates two outputs, `multiqc_report.html` and the directory `multiqc_data/` which contains a bunch of files. Let's create a snakemake rule for this; add:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "rule all:\n", " input:\n", " \"data/0Hour_001_1_fastqc.html\",\n", " \"data/6Hour_001_1_fastqc.html\"\n", "\n", "rule fastqc_a_file:\n", " input:\n", " \"{filename}.fq.gz\"\n", " output:\n", " \"{filename}_fastqc.html\",\n", " \"{filename}_fastqc.zip\"\n", " shell:\n", " \"fastqc {input}\"\n", "\n", "rule run_multiqc:\n", " input:\n", " \"data/0Hour_001_1_fastqc.html\",\n", " \"data/6Hour_001_1_fastqc.html\",\n", " output:\n", " \"multiqc_report.html\",\n", " directory(\"multiqc_data\")\n", " shell:\n", " \"multiqc data/\"" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "snakemake" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This ...doesn't really do what we want, for a few reasons.\n", "\n", "First of all, the output of run_multiqc is not specified in the all rule so snakemake doesn't look for a rule to create this. \n", "\n", "Second of all, `multiqc_report.html` already exists, so snakemake won't run the rule. \n", "\n", "Let's fix the first two things first:\n", "\n", "* add `multiqc_report.html` to the inputs for the first all.\n", "* then remove `multiqc_report.html` and re-run snakemake.\n", "\n", "Your snakefile should look like:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "rule all:\n", " input:\n", " \"data/0Hour_001_1_fastqc.html\",\n", " \"data/6Hour_001_1_fastqc.html\",\n", " \"multiqc_report.html\"\n", "\n", "rule fastqc_a_file:\n", " input:\n", " \"{filename}.fq.gz\"\n", " output:\n", " \"{filename}_fastqc.html\",\n", " \"{filename}_fastqc.zip\"\n", " shell:\n", " \"fastqc {input}\"\n", "\n", "rule run_multiqc:\n", " input:\n", " \"data/0Hour_001_1_fastqc.html\",\n", " \"data/6Hour_001_1_fastqc.html\",\n", " output:\n", " \"multiqc_report.html\",\n", " directory(\"multiqc_data\")\n", " shell:\n", " \"multiqc data/\"" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "rm multiqc_report.html\n", "snakemake" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Yay, that seems to work!\n", "\n", "Points to make:\n", "\n", "* other than the first rule, rules can be in any order\n", "* the rule name doesn't really matter, it's mostly for debugging. It just needs to be \"boring\" (text, underscores, etc. only)\n", "\n", "\n", "But providing input files explicitly to the multiqc rule is not great because those are the same files we have in the all rule and to add new files we'd now have to add them to two places. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can fix the first issue by using **variables**. \n", "\n", "To use variables, let's make a Python list at the very top, containing all of our expected output files from fastqc:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "fastqc_output = [\"data/0Hour_001_1_fastqc.html\", \"data/6Hour_001_1_fastqc.html\",\n", " \"data/0Hour_001_2_fastqc.html\", \"data/6Hour_001_2_fastqc.html\"]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "and modify the `all` and `multiqc` rules to contain this list. The final snakefile looks like this:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "fastqc_output = [\"data/0Hour_001_1_fastqc.html\", \"data/6Hour_001_1_fastqc.html\",\n", " \"data/0Hour_001_2_fastqc.html\", \"data/6Hour_001_2_fastqc.html\"]\n", "\n", "rule all:\n", " input:\n", " fastqc_output,\n", " \"multiqc_report.html\"\n", "\n", "rule fastqc_a_file:\n", " input:\n", " \"{filename}.fq.gz\"\n", " output:\n", " \"{filename}_fastqc.html\",\n", " \"{filename}_fastqc.zip\"\n", " shell:\n", " \"fastqc {input}\"\n", "\n", "rule run_multiqc:\n", " input:\n", " fastqc_output\n", " output:\n", " \"multiqc_report.html\",\n", " directory(\"multiqc_data\")\n", " shell:\n", " \"multiqc data/\"" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "snakemake" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Refactoring this to make it slightly more concise --\n", "\n", "We've got one more redundancy in this file - the `fastqc_output` is listed in the `all` rule, but you don't need it there! Why?\n", "\n", "Well, `multiqc_report.html` is already in the all rule, and the multiqc rule depends on `fastqc_output`, so `fastqc_output` already needs to be created to satisfy the all rule, so... specifying it in the all rule is redundant! And you can remove it!\n", "\n", "(It's not a big deal and I usually leave it in. But I wanted to talk about dependencies!)\n", "\n", "The Snakefile now looks like this:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "fastqc_output = [\"data/0Hour_001_1_fastqc.html\", \"data/6Hour_001_1_fastqc.html\",\n", " \"data/0Hour_001_2_fastqc.html\", \"data/6Hour_001_2_fastqc.html\"]\n", "\n", "rule all:\n", " input:\n", " \"multiqc_report.html\"\n", "\n", "rule fastqc_a_file:\n", " input:\n", " \"{filename}.fq.gz\"\n", " output:\n", " \"{filename}_fastqc.html\",\n", " \"{filename}_fastqc.zip\"\n", " shell:\n", " \"fastqc {input}\"\n", "\n", "rule run_multiqc:\n", " input:\n", " fastqc_output\n", " output:\n", " \"multiqc_report.html\",\n", " directory(\"multiqc_data\")\n", " shell:\n", " \"multiqc data/\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "and we can rerun it from scratch by doing:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "rm data/*.html multiqc_report.html\n", "snakemake" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Recap\n", "\n", "So, we've put all this work into making this snakefile with its input rules and its output rules... and there are a lot of advantages to our current approach already! Let's list a few of them --\n", "\n", "* we've completely automated our analysis!\n", "* we can easily add new data files into fastqc and multiqc!\n", "* we can rerun things easily, and (even better) by default only things that *need* to be run will be run.\n", "* the snakefile is actually pretty reusable - we could drop this into a new project, and, with little effort, run all of these things on new data!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## More advanced snakemake" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Running things in parallel\n", "\n", "You can use `snakemake --cores 4` to run four jobs in parallel. If you are running on a cluster then --cores becomes the number of jobs that can be submitted at a time. \n", "\n", "### Specifying software required for a rule\n", "\n", "You can specify software on a per-rule basis! This is really helpful when you have incompatible software requirements for different rules, or want to run on a cluster, or just want to pin your snakemake workflow to a specific version.\n", "\n", "For example, if you create a file `env_fastqc.yml` with the following content," ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "channels:\n", " - bioconda\n", " - defaults\n", " - conda-forge\n", "dependencies:\n", " - fastqc==0.11.8" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "and then change the fastqc rule to look like this:" ] }, { "cell_type": "raw", "metadata": {}, "source": [ "rule fastqc_a_file:\n", " input:\n", " \"{filename}.fq.gz\"\n", " output:\n", " \"{filename}_fastqc.html\",\n", " \"{filename}_fastqc.zip\"\n", " conda:\n", " \"env_fastqc.yml\"\n", " shell:\n", " \"fastqc {input}\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "you can now run snakemake like so," ] }, { "cell_type": "raw", "metadata": {}, "source": [ "snakemake --use-conda" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "and for that rule, snakemake will install just that software, with the specified version.\n", "\n", "This aids in reproducibility, in addition to the practical advantages of isolating software installs from each other.\n", "\n", "(You can also do this with docker and singularity containers, too!)\n", "\n", "### Running on a cluster\n", "\n", "You can specify a cluster submit command:\n", "\n", "snakemake --cluster sbatch -j 32\n", "\n", "You can also specify per rule cluster config in a file (example below):\n", "\n", "snakemake --cluster sbatch --cluster-config cluster-config.json -j 32 \n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "{\n", " \"default\":{\n", " \"time\":\"12:00:00\",\n", " \"nodes\":1,\n", " \"cores\":24,\n", " \"mem\":100,\n", " \"partition\":\"shared\",\n", " \"job-name\":\"{rule}\",\n", " \"output\":\"log/{rule}-%j.out\",\n", " \"error\":\"log/{rule}-%j.err\"\n", " },\n", " \"fastqc\":{\n", " \"time\":\"4-12:00:00\",\n", " \"mem\":32000\n", " },\n", " \"multiqc\":{\n", " \"mem\":64000\n", " }\n", "}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Or you can use snakemake profiles and bundle cluster config files in a directory:\n", "\n", "snakemake --profile slurm -j 32\n", "\n", "https://snakemake.readthedocs.io/en/v5.18.1/executing/cli.html#profiles" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Adding in some Python...\n", "\n", "You can add in some Python to load in the input files, like so:" ] }, { "cell_type": "raw", "metadata": {}, "source": [ "import glob, sys\n", "fastqc_input = glob.glob('data/?Hour_00?_?.fq.gz')\n", "\n", "fastqc_output = []\n", "for filename in fastqc_input:\n", " new_filename = filename.split('.')[0] + '_fastqc.html'\n", " fastqc_output.append(new_filename)\n", "\n", "rule all:\n", " input:\n", " \"multiqc_report.html\"\n", "\n", "rule clean:\n", " shell:\n", " \"rm -f {fastqc_output} multiqc_report.html\"\n", "\n", "rule fastqc_a_file:\n", " input:\n", " \"{arglebarf}.fq.gz\"\n", " output:\n", " \"{arglebarf}_fastqc.html\",\n", " \"{arglebarf}_fastqc.zip\"\n", " conda:\n", " \"env_fastqc.yml\"\n", " shell:\n", " \"fastqc {input}\"\n", "\n", "\n", "rule run_multiqc:\n", " input:\n", " fastqc_output\n", " output:\n", " \"multiqc_report.html\",\n", " directory(\"multiqc_data\")\n", " shell:\n", " \"multiqc data/\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Go forth and workflow!" ] } ], "metadata": { "kernelspec": { "display_name": "Bash", "language": "bash", "name": "bash" }, "language_info": { "codemirror_mode": "shell", "file_extension": ".sh", "mimetype": "text/x-sh", "name": "bash" } }, "nbformat": 4, "nbformat_minor": 4 } ================================================ FILE: taste-of-conda/binder/environment.yml ================================================ dependencies: - bash_kernel ================================================ FILE: taste-of-conda/index.ipynb ================================================ {"metadata":{"kernelspec":{"display_name":"Bash","language":"bash","name":"bash"},"language_info":{"codemirror_mode":"shell","file_extension":".sh","mimetype":"text/x-sh","name":"bash"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"# A Taste of Conda\n## Bioinformatics Coffee Hour - April 28, 2020\n#### Your Host: Nathan Weeks","metadata":{"slideshow":{"slide_type":"slide"}}},{"cell_type":"markdown","source":"## Problems\n#### How do I install scientific software on _INSERT LINUX SERVER OR CLUSTER NAME HERE_ as an unprivileged user?\n##### (and how do I get the same software on my workstation?)\n#### How do I create a reproducible software environment for data analysis?","metadata":{"slideshow":{"slide_type":"slide"}}},{"cell_type":"markdown","source":"### Possible solutions\n* [Environment modules](https://docs.rc.fas.harvard.edu/kb/modules-intro/)\n - (+) Maintained by FAS RC staff\n - (+) Easy to use\n - (-) New / updated software requests: submit ticket (wait...)\n - (-) Not reproducible outside of Cannon (mostly)\n* language-specific (e.g., [pip](https://pip.pypa.io/) (Python))\n* [Singularity containers](https://docs.rc.fas.harvard.edu/kb/singularity-on-the-cluster/) (future topic...)","metadata":{"slideshow":{"slide_type":"slide"}}},{"cell_type":"markdown","source":"### Conda is...\n> Package, dependency and environment management for any language--Python, R, Ruby, Lua, Scala, Java, JavaScript, C/ C++, FORTRAN, and more. (source: https://docs.conda.io)","metadata":{"slideshow":{"slide_type":"slide"}}},{"cell_type":"markdown","source":"### Where can I get conda... for my workstation?\n* [Anaconda Python](https://www.anaconda.com/distribution/)\n - 100s of bundled scientific packages\n - Anaconda Navigator (GUI for launching apps & installing packages)\n![Anaconda Navigator](https://docs.anaconda.com/_images/nav-defaults.png)","metadata":{"slideshow":{"slide_type":"slide"}}},{"cell_type":"markdown","source":"* [Miniconda](https://docs.conda.io/en/latest/miniconda.html)\n - Minimal python+conda environment\n - Can be installed in your home directory on a Linux cluster (not necessary on Cannon...)","metadata":{"slideshow":{"slide_type":"fragment"}}},{"cell_type":"markdown","source":"#### Cannon\nFind latest version with `module-query Anaconda3`, or searching the [FAS RC Application Portal](https://portal.rc.fas.harvard.edu/p3/build-reports/Anaconda3)\n```\n$ module load Anaconda3/2019.10\n```\n\n*For this lesson, we'll use the conda bundled with this Jupyter Lab Binder image*","metadata":{"slideshow":{"slide_type":"subslide"}}},{"cell_type":"markdown","source":"## Channel\n* Package set maintained by an organization\n* Main ones a computational biologist will use:\n","metadata":{"slideshow":{"slide_type":"slide"}}},{"cell_type":"markdown","source":"#### 1. [defaults](https://anaconda.org/anaconda/repo)\n - Maintained by Anaconda, Inc.","metadata":{"slideshow":{"slide_type":"fragment"}}},{"cell_type":"markdown","source":"#### 2. [conda-forge](https://conda-forge.org/)\n - Large community-led package collection\n - *Well-curated, up-to-date*","metadata":{"slideshow":{"slide_type":"fragment"}}},{"cell_type":"markdown","source":"#### 3. [bioconda](https://bioconda.github.io)\n - Specializes in bioinformatics software","metadata":{"slideshow":{"slide_type":"fragment"}}},{"cell_type":"markdown","source":"## Where to find Conda packages\n- [anaconda.org](https://anaconda.org/)\n- [Bioconda recipe index](https://bioconda.github.io/conda-recipe_index.html)","metadata":{"slideshow":{"slide_type":"slide"}}},{"cell_type":"markdown","source":"## An interactive walkthrough...","metadata":{"slideshow":{"slide_type":"slide"}}},{"cell_type":"markdown","source":"---","metadata":{"slideshow":{"slide_type":"slide"}}},{"cell_type":"markdown","source":"#### Getting help\nInvoke `conda` with the `-h` or `--help` option to display a list of subcommands.\n- Displays usage for subcommands (e.g., `conda list -h`)","metadata":{}},{"cell_type":"code","source":"conda --help","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"## Setting conda channels for bioinformatics\n\nbioconda packages may have dependencies on packages in the *conda-forge* and *defaults* channels.\nWe can specify channels to search as command-line arguments for conda operations, e.g.:\n\n`conda search -c conda-forge -c bioconda bwa`\n\nHowever, it is convenient to configure a default list of channels.\nPer [the bioconda documentation](https://bioconda.github.io/user/install.html#set-up-channels):","metadata":{}},{"cell_type":"code","source":"conda config --add channels defaults\nconda config --add channels bioconda\nconda config --add channels conda-forge","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"---\n*Pro tip:* Set `channel_priority` to `strict` to [speed up conda package searches](https://docs.conda.io/projects/conda/en/latest/user-guide/concepts/conda-performance.html#set-strict-channel-priority)","metadata":{}},{"cell_type":"code","source":"conda config --set channel_priority strict","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"*Note:* strict channel priority will be the [default in conda 5.0](https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-channels.html#strict-channel-priority)","metadata":{}},{"cell_type":"markdown","source":"We can verify the list of channels:","metadata":{}},{"cell_type":"code","source":"conda info","metadata":{"scrolled":true,"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"#### Searching for packages with conda","metadata":{}},{"cell_type":"markdown","source":"Use `conda search` to search for packages by name.\n\nE.g., to search for the package `bwa` (exact match)","metadata":{}},{"cell_type":"code","source":"conda search bwa","metadata":{"scrolled":true,"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"The `*` character can be used as a wildcard.\n\nE.g., to search for all packages *beginning* with the string \"bwa\":","metadata":{}},{"cell_type":"code","source":"conda search 'bwa*'","metadata":{"scrolled":true,"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"### Environments","metadata":{}},{"cell_type":"markdown","source":"Conda packages can be installed into separate *environments* (directories containing separate sets of conda packages).\n\nconda is installed into a \"base\" environment.","metadata":{}},{"cell_type":"code","source":"conda env list","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"#### Listing packages installed in an environment\nWe can see what packages are already installed in our current environment using `conda list`","metadata":{}},{"cell_type":"code","source":"conda list","metadata":{"scrolled":true,"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"*Never install packages into the base environment*. Always create a new environment.\n- base environment is read-only on Cannon","metadata":{}},{"cell_type":"markdown","source":"#### Creating a new environment","metadata":{}},{"cell_type":"code","source":"conda create -h","metadata":{"scrolled":true,"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"The `-n/--name ENVIRONMENT` option creates a \"named\" conda environment in your \"envs\" directory (by default `${HOME}/.conda/envs`).\n\nLet's create an environment called *bwa*:","metadata":{}},{"cell_type":"code","source":"conda create -y -n bwa","metadata":{"scrolled":true,"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"Verify the new environment was created:","metadata":{}},{"cell_type":"code","source":"conda env list","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"---","metadata":{}},{"cell_type":"markdown","source":"*Pro tip (Jupyter notebooks & conda via environment module)*: activate the _base_ environment before issuing any subsequent `conda activate` / `conda deactivate` commands ([gory details...](https://github.com/conda/conda/issues/7980))","metadata":{}},{"cell_type":"code","source":"source activate","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"*Note: currently slightly-incompatible with Jupyter notebooks; will cause subsequent commands to display error exit status `: 1`*","metadata":{}},{"cell_type":"markdown","source":"---","metadata":{}},{"cell_type":"markdown","source":"Before we activate the new *bwa* environment, let's check our PATH environment variable (list of directories your shell searches for commands)","metadata":{}},{"cell_type":"code","source":"echo ${PATH}","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"Activate the new \"bwa\" environment.\nSubsequent \nNotice that the `/srv/conda/envs/bwa/bin` directory was prepended to your PATH.\nIn addition, in an interactive shell, the shell prompt would be prefixed with `(bwa)`.","metadata":{}},{"cell_type":"code","source":"conda activate bwa\necho ${PATH}","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"conda install -y bwa","metadata":{"scrolled":true,"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"In addition to named environments, we can also create an environment in an arbitrary directory using the `-p PATH` option. This can be useful for installing software in a shared directory that is accessible by your lab/group.\n\nSuppose we want to install samtools at `/srv/shiny-server/sample-apps/samtools` (*Note: this directory is just for illustration*).\nFurthermore, suppose we need an old version of samtools (0.1.19).\nWe'll select the version using the `=` operator.\n\n","metadata":{}},{"cell_type":"code","source":"conda create -y -p /srv/shiny-server/sample-apps/samtools samtools=0.1.19 ","metadata":{"scrolled":true,"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"Note the directory structure in `/srv/shiny-server/sample-apps/samtools`:","metadata":{}},{"cell_type":"code","source":"ls /srv/shiny-server/sample-apps/samtools","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"`conda list -p` treats that directory as a conda environment, and lists installed packages:","metadata":{}},{"cell_type":"code","source":"conda list -p /srv/shiny-server/sample-apps/samtools","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"### Nested (aka \"stacked\") environments","metadata":{}},{"cell_type":"markdown","source":"Normally, when a conda environment is activated, it replaces the previous environment.\nWe can use the `--stack` option to instead nest the environment so that we have access to packages in both.","metadata":{}},{"cell_type":"code","source":"conda activate --stack /srv/shiny-server/sample-apps/samtools","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"`conda env list` shows only the most recently-activated directory (on the top of the environment \"stack\"):","metadata":{}},{"cell_type":"code","source":"conda env list","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"But both `samtools` and `bwa` are in our PATH:","metadata":{}},{"cell_type":"code","source":"type samtools; type bwa","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"To deactivate the current environment, use `conda deactivate`.\n\nAfter this is executed, we're back to the *bwa* environment (only).\nIf executed a second time, we would be back to the *base* environment.","metadata":{}},{"cell_type":"code","source":"conda deactivate\nconda env list","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"### Sharing environments","metadata":{}},{"cell_type":"markdown","source":"OK, we used *bwa* to cure COVID-19. Way to go!\n\nNow for the important part (in academia): publish our work.\n\nWe'll use `conda env export` to export our current conda environment (*bwa*) to a [YAML](https://en.wikipedia.org/wiki/YAML) file that will record and can be used to recreate our (conda) environment:","metadata":{}},{"cell_type":"code","source":"conda env export","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"Redirect this output to a file to save it (let's call the file `environment.yaml`)","metadata":{}},{"cell_type":"code","source":"conda env export > environment.yml\ncat environment.yml","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"To show that this suffices to recreate the *bwa* environment, we'll delete our current bwa environment... ","metadata":{}},{"cell_type":"code","source":"conda deactivate\nconda env remove -n bwa\nconda env list","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"...and recreate the environment using `conda env create`:","metadata":{}},{"cell_type":"code","source":"conda env create -f environment.yml\nconda env list","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"And there's our *bwa* environment:","metadata":{}},{"cell_type":"code","source":"conda list -n bwa","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"### Your turn!\nSearch for a package at [bioconda.io]([Bioconda recipe index](https://bioconda.github.io/conda-recipe_index.html)), [Anaconda.org](https://anaconda.org), or using `conda search`, and try to install it into a new environment:","metadata":{}},{"cell_type":"code","source":"conda create -y -n myenv PACKAGE1 [PACKAGE2...]","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"conda activate myenv","metadata":{},"execution_count":null,"outputs":[]}]} ================================================ FILE: tidyverse/part1/binder/Dockerfile ================================================ FROM rocker/binder:3.6.2 ARG NB_USER ARG NB_UID USER root COPY ./tidyverse/part1/ ${HOME} RUN chown -R ${NB_USER} ${HOME} USER ${NB_USER} ================================================ FILE: tidyverse/part1/index.Rmd ================================================ --- title: "Tidyverse Tibbles and Bits" subtitle: "Bioinformatics Coffee Hour" date: "Mar 2, 2021" author: "Danielle Khost; Brian Arnold" output: html_document --- ```{r setup, include=FALSE} knitr::opts_chunk$set(echo = TRUE) ``` # Introduction One of the reasons R is so useful is because many people have built extensions for R in the form of R packages that you can install. These packages may do broad statistical analyses or analyze specific data types (e.g. comparative phylogenetics). This lesson will introduce some data manipulation tools within the [tidyverse](https://www.tidyverse.org), which contains several R packages. These packages include: * tidyr to convert long vs. wide form objects (not covered here) * dplyr to transform and filter data objects, as well as to summarize their contents For an overview of how to manipulate data with tidyverse, this [cheat sheet](https://rstudio.com/wp-content/uploads/2015/02/data-wrangling-cheatsheet.pdf) is particularly helpful. To install new packages you have never used before in R, use the command `install.packages()`: ```{r} # NOTE that tidyverse is already installed, this is just to illustrate installation # install.packages("tidyverse") ``` For packages that are already installed, we need to load them every session (i.e. if you restart R). It's good practice to load all packages at the top of your R script. More generally, the [tidyverse style guide](http://style.tidyverse.org) offers some good advice on coding style to help make your code easier to read and write. ```{r} library(tidyverse) ``` # Data tables: wide format vs long format When using tidyverse, you will usually want your data to be "tidy". Tidy data is data where: 1. Every column is variable. 2. Every row is an observation. 3. Every cell is a single value. This is also referred to as **"long format"** (in contrast to "wide format"). Most of the functions in tidyverse assume that your data is in long format; if it isn't, you will want to pre-process it before doing further analysis! Let's load in some data to use: ```{r} housing<-read.csv("https://raw.githubusercontent.com/datasets/house-prices-us/master/data/cities-month.csv", stringsAsFactors=F, strip.white = T) housing=housing[c(1:(length(housing)-3),length(housing))] View(housing) ``` ### Tibbles The tidyverse uses its own version of the data frame (from base R) that is similar but has several properties that make it superior. This object is a **tibble**. Let's make a data frame called 'df1' and change it into a tibble to see what it looks like. ```{r} df1<-data.frame(label=c("rep1", "rep2", "rep3", "rep4"), data=c(23, 34, 15, 19)) tbdf1 <- as_tibble(df1) tbdf1 class(tbdf1) ``` You see here that just printing the tibble to screen displays the data types in each of the columns and the dimensions. Although not apparent with this small dataset, another very handy feature of tibbles is that by default they will only print out the first 10 rows and as many columns as fit in your window. Many packages will accept tibbles instead of data frames with no problems, but if you come across an older package that requires a data frame, it is easy to revert with the `as.data.frame()` function. #### Side Note: %>% One important piece of syntax is the %>% operator, which acts like a Unix pipe in R. This means you can pass the output of one command to another in linear fashion, as opposed to having to use either nested operations or temporary objects. This makes your code much easier to read! --- If we look at the dataset we just downloaded, we can see that it is not in proper long, tidy format. ```{r, echo = TRUE} View(housing) ``` Let's polish it using some tidyr functions so that it is easier to work with. ## Going from wide to long: pivot_longer() The pivot_longer() function takes a tibble (or data frame) and lengthens it, i.e. increases the number of rows and decreases number of columns: ```{r, echo = TRUE} housing_clean <- housing %>% as_tibble %>% pivot_longer(cols=c(-Date, -National.US), names_to="location", values_to="local_index") View(housing_clean) ``` The **cols** argument describes what columns need to be reshaped, i.e. which need to be converted into columns. For us, we want to keep the US national average and the date as columns. We give it a list using the **c** ombine function, and by putting an **-** in front of the column names, we tell it to reshape every column *except* Date and National.US The **names_to** argument gives a name for the new variable (i.e. column) that stores the data that formerly was in the column names. In our case, we make a variable called "location" that holds all the city names. The **values_to** argument gives a name for the new variable (i.e. column) that stores the data that was in the cell values, which for us was the local index values in each city. ## Turning a column into multiple columns: separate() The separate() function separates a single character column into several, splitting on a given regular expression. In the following command we run the function twice, separating two different columns: ```{r, echo = TRUE} housing_clean2 <- housing_clean %>% separate(Date, into=c("year", "month"), extra="drop", remove=F) %>% separate(location, into=c("state", "city"),extra="merge") View(housing_clean2) ``` The first argument is the name of the column in the tibble that we are separating ("location" for the first command, "Date" for the second). The **into** argument gives the names (as a character vector) of the columns that we are separating into, i.e. what the names of the new columns will be. Note that the number of elements in the vector determine how many columns the target column will be split into (in this case, two). The **extra** argument tells the function what to do with the "pieces" that are leftover after splitting. "Merge" tells the function to add the leftover pieces back to the final column; "drop" discards them. To better understand this, we should look at how separate() splits a character column. You might be wondering how separate() "knows" to split our columns on a period ("."). This is because by default, separate() splits on every non-alphanumeric character (e.g. space, period, dash, etc.) given a character vector. This is controlled by the **sep** argument, which we did not included in our code so separate() just uses the default (remember to get the whole list of arguments for a function, you can type ?functionname, e.g. ?separate). Finally, the **remove** argument determines whether the original column is retained or not (defaults to TRUE). So for our data, the original "location" column is discarded and we keep only the split columns, while the original "Date" column is retained along with its children. Now let's put it all together. We could do things one function at a time, as above, but it is much cleaner and easier to read if we create our final, cleaned dataset in a single pipeline: ```{r, echo = TRUE} housing_clean <- housing %>% as_tibble %>% pivot_longer(cols=c(-Date, -National.US), names_to="location", values_to="local_index") %>% separate(Date, c("year", "month"), extra="drop", remove=F) %>% separate(location, c("state", "city"),extra="merge") View(housing_clean) ``` We can observe the differences between housing and housing_clean to see what's being done here, and a more in-depth description of what these functions do can be found in the cheat sheet. ## Subsetting and Manipulating Data with dplyr Dplyr is a package included in tidyverse, and is useful for manipulating our data. Each action gets its own (verb) function -- so for example filtering data by rows is done with the filter() function. All of these functions have a very similar syntax to tidyr functions. arrange(), rename(), select(), mutate() are used to sort data, rename columns, and update/create columns We'll use the housing dataset to look at how these functions work. arrange() sorts by one or more columns, with subsequent columns used to break ties in earlier columns. E.g., ```{r} housing_clean %>% arrange(year, month) housing_clean %>% arrange(city, year) housing_clean %>% arrange(month,state) housing_clean %>% arrange(desc(year)) ``` rename() renames a column: ```{r} housing_clean %>% arrange(year, month, state, city) %>% rename(national_index = National.US) ``` select() selects columns to keep. Note that we can simultaneously rename and reorder columns: ```{r} housing_clean %>% arrange(year, month, state, city) %>% select(year, month, city, state, local_index, national_index = National.US) ``` distinct() can be used to identify all unique values in your call set: ```{r} housing_clean %>% select(state,city) %>% distinct ``` mutate() is an especially useful function that can do a variety of things, usually in combination with other functions. It can create new columns or update existing ones, while keeping everthing else unchanged. For instance, say we want to change our "month" column from the integer value to the three letter abbreviation: ```{r} housing_clean %>% arrange(year, month, state, city) %>% select(year, month, city, state, local_index, national_index = National.US) %>% mutate(month = month.abb[as.integer(month)]) ``` R has several built-in constants, one of which is this "month.abb" function, which has the three letter abbreviations of the months in the Gregorian calendar. What this mutate() call is doing is passing the values of the month column as integers to the month.abb function, which then automatically converts them to their appropriate abbreviations. Let's look at some other things mutate() can do. We can include several mutate calls at once: ```{r} housing_clean %>% arrange(year, month, state, city) %>% select(year, month, city, state, local_index, national_index = National.US) %>% mutate(month = month.abb[as.integer(month)], city=sub(".", "_", city, fixed=TRUE), rel_index=local_index/national_index) ``` This command uses mutate() three times: 1) The first changes the months, as above 2) In the second mutate() call, we are pairing mutate() with the sub() function, which substitutes characters in a string; we are telling substitute to replace all "." characters with a "_" character for the "city" character vector (i.e. our city column) 3) In the third mutate() call, we are using mutate to create an entirely new column called "rel_index", whose value is local_index / national_index Now that we've gone through all the dplyr functions, let's update our nice clean housing dataset. ```{r} housing_clean <- housing_clean %>% arrange(year, month, state, city) %>% select(year, month, city, state, local_index, national_index = National.US) %>% mutate(month = month.abb[as.integer(month)], city=sub(".", "_", city, fixed=TRUE), rel_index=local_index/national_index) ``` ## Filtering functions Sometimes we need to filter datasets, and we can do this by selecting rows that meet logical conditions. We set these up with logical tests. The filter() function can be used to select rows meeting these conditions: ```{r} housing_clean %>% filter(city == "Boston") ``` We can give filter many logical tests, all separated by commas. These are linked by logical and (all must be true to select that row): ```{r} housing_clean %>% filter(city=="Boston", month=="Aug") ``` If we want to use other booleans, just put them in one statement, e.g.: ```{r} housing_clean %>% filter(city=="Boston", month == "Aug" | month == "Jan") ``` Note that we can combine filters and the other statements to get useful subsets, for example let's say we want to see three years when the relative index in Boston was the highest (as of Jan): ```{r} housing_clean %>% filter(city=="Boston", month=="Jan") %>% arrange(desc(rel_index)) %>% select(year,rel_index) %>% head(n=3) ``` Finally, many times you want to filter out missing data (typically indicated by `NA` in R), prior to conducting any analyses. To do this, we an use the `is.na()` fuction, which will return a vector with TRUE if NA is present, and FALSE otherwise. For example, let's identify all rows that are missing the local_index in housing_clean. ```{r} housing_clean %>% filter(is.na(local_index)) ``` To get the inverse for this (or any logical statement), simply add a `!` to the front. ```{r} housing_clean %>% filter(!is.na(local_index)) ``` ================================================ FILE: tidyverse/part1_winter2021/binder/Dockerfile ================================================ FROM rocker/binder:3.6.2 ARG NB_USER ARG NB_UID USER root COPY ./tidyverse/part1/ ${HOME} RUN chown -R ${NB_USER} ${HOME} USER ${NB_USER} ================================================ FILE: tidyverse/part1_winter2021/index.Rmd ================================================ --- title: "Tidyverse Tibbles and Bits" subtitle: "Bioinformatics Coffee Hour" date: "Mar 2, 2021" author: "Danielle Khost; Brian Arnold" output: html_document --- ```{r setup, include=FALSE} knitr::opts_chunk$set(echo = TRUE) ``` # Introduction One of the reasons R is so useful is because many people have built extensions for R in the form of R packages that you can install. These packages may do broad statistical analyses or analyze specific data types (e.g. comparative phylogenetics). This lesson will introduce some data manipulation tools within the [tidyverse](https://www.tidyverse.org), which contains several R packages. These packages include: * tidyr to convert long vs. wide form objects (not covered here) * dplyr to transform and filter data objects, as well as to summarize their contents For an overview of how to manipulate data with tidyverse, this [cheat sheet](https://rstudio.com/wp-content/uploads/2015/02/data-wrangling-cheatsheet.pdf) is particularly helpful. To install new packages you have never used before in R, use the command `install.packages()`: ```{r} # NOTE that tidyverse is already installed, this is just to illustrate installation # install.packages("tidyverse") ``` For packages that are already installed, we need to load them every session (i.e. if you restart R). It's good practice to load all packages at the top of your R script. More generally, the [tidyverse style guide](http://style.tidyverse.org) offers some good advice on coding style to help make your code easier to read and write. ```{r} library(tidyverse) ``` # Data tables: wide format vs long format When using tidyverse, you will usually want your data to be "tidy". Tidy data is data where: 1. Every column is variable. 2. Every row is an observation. 3. Every cell is a single value. This is also referred to as **"long format"** (in contrast to "wide format"). Most of the functions in tidyverse assume that your data is in long format; if it isn't, you will want to pre-process it before doing further analysis! Let's load in some data to use: ```{r} housing<-read.csv("https://raw.githubusercontent.com/datasets/house-prices-us/master/data/cities-month.csv", stringsAsFactors=F, strip.white = T) housing=housing[c(1:(length(housing)-3),length(housing))] View(housing) ``` ### Tibbles The tidyverse uses its own version of the data frame (from base R) that is similar but has several properties that make it superior. This object is a **tibble**. Let's make a data frame called 'df1' and change it into a tibble to see what it looks like. ```{r} df1<-data.frame(label=c("rep1", "rep2", "rep3", "rep4"), data=c(23, 34, 15, 19)) tbdf1 <- as_tibble(df1) tbdf1 class(tbdf1) ``` You see here that just printing the tibble to screen displays the data types in each of the columns and the dimensions. Although not apparent with this small dataset, another very handy feature of tibbles is that by default they will only print out the first 10 rows and as many columns as fit in your window. Many packages will accept tibbles instead of data frames with no problems, but if you come across an older package that requires a data frame, it is easy to revert with the `as.data.frame()` function. #### Side Note: %>% One important piece of syntax is the %>% operator, which acts like a Unix pipe in R. This means you can pass the output of one command to another in linear fashion, as opposed to having to use either nested operations or temporary objects. This makes your code much easier to read! --- If we look at the dataset we just downloaded, we can see that it is not in proper long, tidy format. ```{r, echo = TRUE} View(housing) ``` Let's polish it using some tidyr functions so that it is easier to work with. ## Going from wide to long: pivot_longer() The pivot_longer() function takes a tibble (or data frame) and lengthens it, i.e. increases the number of rows and decreases number of columns: ```{r, echo = TRUE} housing_clean <- housing %>% as_tibble %>% pivot_longer(cols=c(-Date, -National.US), names_to="location", values_to="local_index") View(housing_clean) ``` The **cols** argument describes what columns need to be reshaped, i.e. which need to be converted into columns. For us, we want to keep the US national average and the date as columns. We give it a list using the **c** ombine function, and by putting an **-** in front of the column names, we tell it to reshape every column *except* Date and National.US The **names_to** argument gives a name for the new variable (i.e. column) that stores the data that formerly was in the column names. In our case, we make a variable called "location" that holds all the city names. The **values_to** argument gives a name for the new variable (i.e. column) that stores the data that was in the cell values, which for us was the local index values in each city. ## Turning a column into multiple columns: separate() The separate() function separates a single character column into several, splitting on a given regular expression. In the following command we run the function twice, separating two different columns: ```{r, echo = TRUE} housing_clean2 <- housing_clean %>% separate(Date, into=c("year", "month"), extra="drop", remove=F) %>% separate(location, into=c("state", "city"),extra="merge") View(housing_clean2) ``` The first argument is the name of the column in the tibble that we are separating ("location" for the first command, "Date" for the second). The **into** argument gives the names (as a character vector) of the columns that we are separating into, i.e. what the names of the new columns will be. Note that the number of elements in the vector determine how many columns the target column will be split into (in this case, two). The **extra** argument tells the function what to do with the "pieces" that are leftover after splitting. "Merge" tells the function to add the leftover pieces back to the final column; "drop" discards them. To better understand this, we should look at how separate() splits a character column. You might be wondering how separate() "knows" to split our columns on a period ("."). This is because by default, separate() splits on every non-alphanumeric character (e.g. space, period, dash, etc.) given a character vector. This is controlled by the **sep** argument, which we did not included in our code so separate() just uses the default (remember to get the whole list of arguments for a function, you can type ?functionname, e.g. ?separate). Finally, the **remove** argument determines whether the original column is retained or not (defaults to TRUE). So for our data, the original "location" column is discarded and we keep only the split columns, while the original "Date" column is retained along with its children. Now let's put it all together. We could do things one function at a time, as above, but it is much cleaner and easier to read if we create our final, cleaned dataset in a single pipeline: ```{r, echo = TRUE} housing_clean <- housing %>% as_tibble %>% pivot_longer(cols=c(-Date, -National.US), names_to="location", values_to="local_index") %>% separate(Date, c("year", "month"), extra="drop", remove=F) %>% separate(location, c("state", "city"),extra="merge") View(housing_clean) ``` We can observe the differences between housing and housing_clean to see what's being done here, and a more in-depth description of what these functions do can be found in the cheat sheet. ## Subsetting and Manipulating Data with dplyr Dplyr is a package included in tidyverse, and is useful for manipulating our data. Each action gets its own (verb) function -- so for example filtering data by rows is done with the filter() function. All of these functions have a very similar syntax to tidyr functions. arrange(), rename(), select(), mutate() are used to sort data, rename columns, and update/create columns We'll use the housing dataset to look at how these functions work. arrange() sorts by one or more columns, with subsequent columns used to break ties in earlier columns. E.g., ```{r} housing_clean %>% arrange(year, month) housing_clean %>% arrange(city, year) housing_clean %>% arrange(month,state) housing_clean %>% arrange(desc(year)) ``` rename() renames a column: ```{r} housing_clean %>% arrange(year, month, state, city) %>% rename(national_index = National.US) ``` select() selects columns to keep. Note that we can simultaneously rename and reorder columns: ```{r} housing_clean %>% arrange(year, month, state, city) %>% select(year, month, city, state, local_index, national_index = National.US) ``` distinct() can be used to identify all unique values in your call set: ```{r} housing_clean %>% select(state,city) %>% distinct ``` mutate() is an especially useful function that can do a variety of things, usually in combination with other functions. It can create new columns or update existing ones, while keeping everthing else unchanged. For instance, say we want to change our "month" column from the integer value to the three letter abbreviation: ```{r} housing_clean %>% arrange(year, month, state, city) %>% select(year, month, city, state, local_index, national_index = National.US) %>% mutate(month = month.abb[as.integer(month)]) ``` R has several built-in constants, one of which is this "month.abb" function, which has the three letter abbreviations of the months in the Gregorian calendar. What this mutate() call is doing is passing the values of the month column as integers to the month.abb function, which then automatically converts them to their appropriate abbreviations. Let's look at some other things mutate() can do. We can include several mutate calls at once: ```{r} housing_clean %>% arrange(year, month, state, city) %>% select(year, month, city, state, local_index, national_index = National.US) %>% mutate(month = month.abb[as.integer(month)], city=sub(".", "_", city, fixed=TRUE), rel_index=local_index/national_index) ``` This command uses mutate() three times: 1) The first changes the months, as above 2) In the second mutate() call, we are pairing mutate() with the sub() function, which substitutes characters in a string; we are telling substitute to replace all "." characters with a "_" character for the "city" character vector (i.e. our city column) 3) In the third mutate() call, we are using mutate to create an entirely new column called "rel_index", whose value is local_index / national_index Now that we've gone through all the dplyr functions, let's update our nice clean housing dataset. ```{r} housing_clean <- housing_clean %>% arrange(year, month, state, city) %>% select(year, month, city, state, local_index, national_index = National.US) %>% mutate(month = month.abb[as.integer(month)], city=sub(".", "_", city, fixed=TRUE), rel_index=local_index/national_index) ``` ## Filtering functions Sometimes we need to filter datasets, and we can do this by selecting rows that meet logical conditions. We set these up with logical tests. The filter() function can be used to select rows meeting these conditions: ```{r} housing_clean %>% filter(city == "Boston") ``` We can give filter many logical tests, all separated by commas. These are linked by logical and (all must be true to select that row): ```{r} housing_clean %>% filter(city=="Boston", month=="Aug") ``` If we want to use other booleans, just put them in one statement, e.g.: ```{r} housing_clean %>% filter(city=="Boston", month == "Aug" | month == "Jan") ``` Note that we can combine filters and the other statements to get useful subsets, for example let's say we want to see three years when the relative index in Boston was the highest (as of Jan): ```{r} housing_clean %>% filter(city=="Boston", month=="Jan") %>% arrange(desc(rel_index)) %>% select(year,rel_index) %>% head(n=3) ``` Finally, many times you want to filter out missing data (typically indicated by `NA` in R), prior to conducting any analyses. To do this, we an use the `is.na()` fuction, which will return a vector with TRUE if NA is present, and FALSE otherwise. For example, let's identify all rows that are missing the local_index in housing_clean. ```{r} housing_clean %>% filter(is.na(local_index)) ``` To get the inverse for this (or any logical statement), simply add a `!` to the front. ```{r} housing_clean %>% filter(!is.na(local_index)) ``` ================================================ FILE: tidyverse/part2/binder/Dockerfile ================================================ FROM rocker/binder:3.6.2 ARG NB_USER ARG NB_UID USER root COPY ./tidyverse/part2/ ${HOME} RUN chown -R ${NB_USER} ${HOME} USER ${NB_USER} ================================================ FILE: tidyverse/part2/index.Rmd ================================================ --- title: "Tidyverse Tibbles and Bits" subtitle: "Bioinformatics Coffee Hour" date: "May 11 2020" author: "Brian Arnold" output: html_document --- ```{r setup, include=FALSE} knitr::opts_chunk$set(echo = TRUE) ``` ### Making data tidy with tidyr The goal of tidyr is to convert between 'wide' data and 'long' data. Long data is tidy data: each row is an observation, each column is a variable. Wide data has many columns for the same variable, one for each level of a classification variable. For example, we will use some data on M&Ms to illustrate the differences between these two different formats and why you should care about knowing how to convert between them. ```{r} library(tidyverse) mms_wide <-read.table("http://www.randomservices.org/random/data/MM.txt", header=TRUE,stringsAsFactors=F) mms_wide$BagID = seq(1:length(mms_wide$Red)) ``` mms_wide is in wide format: there are many columns for the various colors. This data would be more tidy if instead we had 1.) a column representing color as a variable that could take on one of the 6 values and 2.) a corresponding column that contained the count data for each of these colors. We can use the pivot_longer() function to convert from wide format to long format: ```{r} mms_long <- mms_wide %>% as_tibble %>% pivot_longer(cols=c(-Weight, -BagID), names_to="color", values_to="count") %>% arrange(BagID,color) ``` We need to select which columns to use for this operation. One way to do this would be to list all the columns. An alternative way (that we used here) would be to list all the columns you DO NOT want to use by preceding their names with "-". However, say we inherited our data table in long format but would like it in wide format, we may also convert our data from long back to (the original) wide format using pivot_wider(): ```{r} mms_wide2 <- mms_long %>% pivot_wider(names_from="color", values_from="count") ``` While it may sound pointless at first to transform our data table in a way that makes it have either more columns or rows (at least it did to me!), it actually is extremely useful for analyzing features of these data using relatively little code. To illustrate, let's use the 'summarize' function from dplyr. Say we wanted to know the total number of M&Ms in the dataset. In wide format, we'd have to go across all the columns, one for each color. In long format, these data are now in a single column named 'count': ```{r} mms_long %>% summarize(total_mms=sum(count)) ``` However, it gets even more interesting when we also use the group_by() function (also from dplyr), which is able to communicate to the summarize function to tell it how to summarize the data. For instance, group_by is able to analyze our data as a function of the "color" variable we created when we converted to long format. Here, we can see how many observations there are per color. ```{r} mms_long %>% group_by(color) %>% summarize( mms_per_color=sum(count) ) ``` Note 1: the summarize function outputs a new tibble, which contains a new column we created (named 'mms_per_color') that contains the summed count data. You can continue to do calculations on this tibble (for example, calculate the variance of colors), but you cannot call your original tibble again within the same set of pipes. Note 2: we could have also done this by hand with the data in wide format, summing all the values underneath a column that corresponds to 'Red', 'Blue', etc... but it would be much more tedious and involve more code. Using less code is preferable because it can get difficult to read and understand code that is unecessarily long, especially if it involves many complex procedures. Writing clean code can also help the author understand their own code faster when they come back to it after not having thought about it for months (or however long it takes reviews to come back from a journal!). Instead of summing over all bags of M&Ms for a each color, we can use the mean() function within summarize() to get the mean number of M&Ms for a each color. ```{r} mms_long %>% group_by(color) %>% summarize( mean_mms_per_color=mean(count) ) ``` Let's instead combine the group_by function with mutate. Here, mutate() creates a new column for the current tibble, instead of the summarize() function above which creates an entirely new tibble. Let's compute the fraction of each color in each bag and store this in a new column: ```{r} mms_long %>% group_by(BagID) %>% mutate( percent = 100*(count/sum(count)) ) ``` Note there is some subtle stuff going on here. The group_by function communicates to the mutate function. Here we use mutate on a grouped tibble (by BagID), so operations within the mutate function like sum() work **within the grouping**. So sum(count) computes the group-wise sum, which means it is easy to get frequencies or percents. To more easily visualize these data (all percentages for a particular BagID on the same line/row), lets convert it to wide format just for printing to screen: ```{r} mms_long %>% group_by(BagID) %>% mutate(percent = 100*(count/sum(count))) %>% pivot_wider(names_from=color, values_from=percent) ``` We can then use this insight to explore the data. For example, let's get the 5 bags of M&Ms with the highest percentage of red candies, conditioning on a weight of at least 47g: ```{r} mms_long %>% group_by(BagID) %>% mutate(percent = 100*(count/sum(count))) %>% select(-count) %>% filter(color == "Red", Weight > 47) %>% arrange(desc(percent)) %>% head(n=5) ``` ## Bonus material Let's do a problem to help commit these concepts to memory (and to get used to thinking of which functions we need based on how a problem/question is phrased). We will reload the housing dataset from before, and processes it in a few ways that I'll skip for the moment: ```{r} housing<-read.csv("https://raw.githubusercontent.com/datasets/house-prices-us/master/data/cities-month.csv", stringsAsFactors=F, strip.white = T) housing=housing[c(1:(length(housing)-3),length(housing))] housing_clean <- housing %>% as_tibble %>% pivot_longer(cols=c(-Date, -National.US), names_to="location", values_to="local_index") %>% separate(location, c("state", "city"),extra="merge") %>% separate(Date, c("year", "month"), extra="drop", remove=F) %>% select(year, month, city, state, local_index, national_index=National.US) %>% arrange(year, month, state, city) %>% mutate(year = as.integer(year), month = month.abb[as.integer(month)], city = sub(".", "_", city, fixed=TRUE), rel_index = local_index/national_index) ``` ### Exercises with summarize and group_by ### Problem Using the housing_clean dataset, find the three cities with the highest relative index in February, averaged across the years. Get rid of missing data for this analysis too! 1.) This question is asking us to analyze **cities**, so we should probably group by that variable. 2.) It only wants us to consider February, so we should probably filter on that. While we're doing that, we might as well filter on missing data too using !is.na(). 3.) We want to study the *averaged* relative index for each city, so we can probably put that variable into the summarize function with mean(). 4.) It also asks us for the cities with the 3 highest mean relative indices, so lets just arrange our results by the mean relative index and peek at the first 3 ```{r, echo=TRUE} housing_clean %>% filter(month=="Feb", !is.na(rel_index)) %>% group_by(city) %>% summarize(mean_rel_index = mean(rel_index)) %>% arrange(desc(mean_rel_index)) %>% head(n=3) ``` Let's understand how this works more by breaking it :). Let's switch around the functions to see why their order is important. Let's use the filter function second, after grouping by city: ```{r, echo=TRUE} housing_clean %>% group_by(city) %>% filter(month=="Feb", !is.na(rel_index)) %>% summarize(mean_rel_index = mean(rel_index)) %>% arrange(desc(mean_rel_index)) %>% head(n=3) ``` We get the same results! How about if we move the filter statement down again, making it the third operation: ```{r, echo=TRUE} housing_clean %>% group_by(city) %>% summarize(mean_rel_index = mean(rel_index)) %>% filter(month=="Feb", !is.na(rel_index)) %>% arrange(desc(mean_rel_index)) %>% head(n=3) ``` This breaks because at the point summarize() is used, we've created a new tibble with two columns: city and mean_rel_index, which is an average across all months and all years for each city (because we grouped by city). Since we had not filtered on the particular month of February by that part of the code, the mean is now calculated for all data so these numbers will be different than before (and not what the question asked for!). Then, when we try to filter on the month of February, our tibble at that point no onger has a column corresponding to months! This breaking emphasizes that we cannot just selecting a bunch of operations that we want to do and expect R to figure everything out. Because of the use of pipes and the flow of information, the sequence of operations matters here. We must use logic and our understanding of these functions (that summarize produces a new tibble) to figure out what order of operations is needed to get what we want. Try running each line of the code, starting with the first 2 lines, then the first 3 lines etc to see exactly where the code breaks. This will give us an idea of how to fix our code! ================================================ FILE: tidyverse/part2_winter2021/binder/Dockerfile ================================================ FROM rocker/binder:3.6.2 ARG NB_USER ARG NB_UID USER root COPY ./tidyverse/part2_winter2021/ ${HOME} RUN chown -R ${NB_USER} ${HOME} USER ${NB_USER} ================================================ FILE: tidyverse/part2_winter2021/mask-use-by-county.csv ================================================ COUNTYFP,NEVER,RARELY,SOMETIMES,FREQUENTLY,ALWAYS 01001,0.053,0.074,0.134,0.295,0.444 01003,0.083,0.059,0.098,0.323,0.436 01005,0.067,0.121,0.12,0.201,0.491 01007,0.02,0.034,0.096,0.278,0.572 01009,0.053,0.114,0.18,0.194,0.459 01011,0.031,0.04,0.144,0.286,0.5 01013,0.102,0.053,0.257,0.137,0.451 01015,0.152,0.108,0.13,0.167,0.442 01017,0.117,0.037,0.15,0.136,0.56 01019,0.135,0.027,0.161,0.158,0.52 01021,0.06,0.07,0.058,0.194,0.618 01023,0.049,0.038,0.126,0.219,0.568 01025,0.049,0.088,0.164,0.268,0.43 01027,0.148,0.158,0.195,0.169,0.329 01029,0.151,0.125,0.138,0.217,0.368 01031,0.101,0.152,0.094,0.186,0.466 01033,0.082,0.096,0.152,0.159,0.51 01035,0.099,0.052,0.259,0.192,0.399 01037,0.055,0.131,0.167,0.263,0.384 01039,0.187,0.128,0.129,0.201,0.356 01041,0.06,0.091,0.199,0.233,0.416 01043,0.13,0.024,0.249,0.217,0.379 01045,0.089,0.113,0.118,0.22,0.46 01047,0.095,0.1,0.159,0.122,0.524 01049,0.084,0.051,0.106,0.179,0.58 01051,0.042,0.095,0.127,0.252,0.485 01053,0.114,0.026,0.188,0.285,0.387 01055,0.096,0.103,0.178,0.122,0.501 01057,0.138,0.048,0.151,0.233,0.429 01059,0.065,0.071,0.223,0.156,0.484 01061,0.176,0.131,0.089,0.158,0.445 01063,0.03,0.053,0.127,0.167,0.623 01065,0.026,0.061,0.084,0.191,0.639 01067,0.066,0.068,0.17,0.258,0.438 01069,0.085,0.079,0.135,0.268,0.433 01071,0.092,0.089,0.11,0.249,0.46 01073,0.049,0.037,0.107,0.179,0.628 01075,0.107,0.045,0.132,0.189,0.527 01077,0.093,0.119,0.141,0.179,0.469 01079,0.162,0.08,0.088,0.251,0.419 01081,0.053,0.064,0.138,0.183,0.562 01083,0.102,0.034,0.133,0.336,0.395 01085,0.12,0.073,0.145,0.199,0.464 01087,0.008,0.033,0.241,0.172,0.545 01089,0.062,0.05,0.123,0.177,0.589 01091,0.033,0.151,0.118,0.186,0.512 01093,0.129,0.064,0.246,0.207,0.353 01095,0.075,0.064,0.129,0.253,0.479 01097,0.077,0.07,0.102,0.244,0.506 01099,0.112,0.041,0.182,0.288,0.378 01101,0.056,0.095,0.123,0.212,0.513 01103,0.078,0.077,0.082,0.304,0.459 01105,0.025,0.084,0.087,0.187,0.618 01107,0.031,0.06,0.169,0.157,0.584 01109,0.06,0.131,0.145,0.333,0.33 01111,0.158,0.226,0.105,0.144,0.368 01113,0.069,0.067,0.08,0.213,0.57 01115,0.027,0.134,0.144,0.2,0.495 01117,0.022,0.075,0.118,0.24,0.545 01119,0.055,0.068,0.118,0.197,0.562 01121,0.113,0.15,0.208,0.169,0.361 01123,0.067,0.095,0.136,0.296,0.406 01125,0.041,0.036,0.144,0.247,0.532 01127,0.09,0.081,0.145,0.256,0.429 01129,0.018,0.077,0.102,0.307,0.495 01131,0.061,0.098,0.199,0.187,0.455 01133,0.13,0.046,0.328,0.183,0.312 02013,0.067,0.032,0.034,0.316,0.551 02016,0.078,0.031,0.03,0.337,0.524 02020,0.042,0.05,0.049,0.196,0.663 02050,0.101,0.022,0.014,0.45,0.413 02060,0.048,0.037,0.042,0.308,0.564 02068,0.062,0.081,0.067,0.225,0.565 02070,0.072,0.025,0.027,0.391,0.484 02090,0.094,0.084,0.175,0.234,0.413 02100,0.055,0.05,0.123,0.419,0.352 02105,0.051,0.064,0.13,0.399,0.356 02110,0.051,0.067,0.133,0.396,0.353 02122,0.043,0.047,0.051,0.197,0.662 02130,0.025,0.149,0.174,0.256,0.396 02150,0.042,0.043,0.049,0.233,0.633 02158,0.103,0.022,0.007,0.521,0.347 02164,0.055,0.036,0.04,0.299,0.571 02170,0.042,0.051,0.048,0.198,0.66 02180,0.086,0.061,0.009,0.544,0.3 02185,0.036,0.059,0.235,0.215,0.455 02188,0.035,0.188,0.051,0.474,0.252 02195,0.042,0.095,0.148,0.349,0.365 02198,0.033,0.125,0.161,0.3,0.38 02220,0.048,0.077,0.137,0.381,0.357 02230,0.058,0.038,0.116,0.435,0.354 02240,0.064,0.071,0.14,0.272,0.453 02261,0.04,0.049,0.052,0.197,0.663 02275,0.035,0.119,0.16,0.312,0.374 02282,0.047,0.012,0.078,0.381,0.481 02290,0.044,0.047,0.126,0.425,0.358 04001,0.055,0.063,0.031,0.15,0.701 04003,0.053,0.025,0.147,0.194,0.581 04005,0.039,0.08,0.07,0.11,0.702 04007,0.073,0.014,0.03,0.336,0.547 04009,0.095,0.067,0.237,0.049,0.553 04011,0.111,0.089,0.167,0.089,0.544 04012,0.031,0.064,0.162,0.173,0.57 04013,0.023,0.025,0.059,0.158,0.734 04015,0.051,0.096,0.104,0.164,0.585 04017,0.091,0.108,0.059,0.139,0.602 04019,0.023,0.024,0.073,0.121,0.759 04021,0.033,0.055,0.096,0.148,0.667 04023,0.028,0.002,0.058,0.074,0.837 04025,0.031,0.073,0.081,0.176,0.639 04027,0.008,0.013,0.046,0.129,0.804 05001,0.019,0.073,0.134,0.216,0.557 05003,0.023,0.103,0.163,0.117,0.595 05005,0.15,0.104,0.108,0.104,0.534 05007,0.081,0.034,0.083,0.16,0.643 05009,0.129,0.145,0.122,0.189,0.416 05011,0.094,0.102,0.175,0.184,0.445 05013,0.145,0.132,0.108,0.211,0.404 05015,0.111,0.068,0.115,0.129,0.577 05017,0.104,0.074,0.193,0.097,0.531 05019,0.08,0.091,0.08,0.231,0.518 05021,0.082,0.124,0.157,0.242,0.395 05023,0.036,0.065,0.093,0.259,0.546 05025,0.107,0.03,0.16,0.231,0.472 05027,0.241,0.072,0.054,0.25,0.383 05029,0.071,0.12,0.137,0.347,0.325 05031,0.078,0.123,0.138,0.341,0.32 05033,0.155,0.1,0.167,0.211,0.367 05035,0.059,0.017,0.11,0.306,0.508 05037,0.097,0.017,0.163,0.319,0.404 05039,0.197,0.055,0.093,0.196,0.459 05041,0.078,0.033,0.19,0.189,0.509 05043,0.063,0.049,0.207,0.159,0.523 05045,0.066,0.027,0.077,0.403,0.426 05047,0.149,0.079,0.245,0.187,0.34 05049,0.105,0.121,0.226,0.197,0.351 05051,0.025,0.102,0.068,0.21,0.596 05053,0.082,0.043,0.127,0.258,0.489 05055,0.062,0.141,0.154,0.346,0.297 05057,0.098,0.073,0.096,0.179,0.554 05059,0.059,0.086,0.079,0.216,0.56 05061,0.081,0.07,0.145,0.145,0.56 05063,0.137,0.156,0.088,0.179,0.44 05065,0.086,0.121,0.133,0.23,0.43 05067,0.116,0.103,0.135,0.179,0.468 05069,0.042,0.036,0.172,0.173,0.577 05071,0.144,0.103,0.205,0.221,0.328 05073,0.12,0.082,0.078,0.234,0.486 05075,0.085,0.128,0.153,0.298,0.337 05077,0.103,0.032,0.195,0.263,0.407 05079,0.035,0.016,0.194,0.201,0.554 05081,0.074,0.121,0.106,0.201,0.499 05083,0.148,0.11,0.12,0.143,0.479 05085,0.048,0.045,0.136,0.297,0.474 05087,0.075,0.088,0.159,0.114,0.564 05089,0.171,0.112,0.119,0.108,0.49 05091,0.064,0.124,0.106,0.219,0.487 05093,0.033,0.109,0.134,0.284,0.44 05095,0.068,0.128,0.127,0.271,0.406 05097,0.081,0.095,0.136,0.166,0.521 05099,0.143,0.048,0.084,0.224,0.501 05101,0.107,0.14,0.084,0.261,0.408 05103,0.151,0.097,0.06,0.242,0.449 05105,0.098,0.051,0.08,0.367,0.404 05107,0.052,0.061,0.134,0.276,0.477 05109,0.064,0.061,0.2,0.176,0.501 05111,0.077,0.098,0.141,0.287,0.397 05113,0.18,0.08,0.217,0.076,0.446 05115,0.082,0.151,0.181,0.285,0.302 05117,0.062,0.17,0.103,0.273,0.391 05119,0.028,0.027,0.126,0.175,0.644 05121,0.051,0.145,0.203,0.289,0.311 05123,0.087,0.007,0.289,0.267,0.35 05125,0.066,0.044,0.154,0.212,0.524 05127,0.155,0.14,0.124,0.123,0.458 05129,0.1,0.088,0.125,0.149,0.538 05131,0.121,0.142,0.157,0.208,0.372 05133,0.12,0.093,0.155,0.165,0.467 05135,0.067,0.158,0.22,0.222,0.333 05137,0.067,0.092,0.11,0.234,0.498 05139,0.116,0.179,0.098,0.262,0.344 05141,0.033,0.06,0.096,0.272,0.539 05143,0.034,0.028,0.101,0.186,0.651 05145,0.026,0.054,0.152,0.277,0.491 05147,0.059,0.048,0.208,0.231,0.454 05149,0.116,0.1,0.112,0.198,0.474 06001,0.019,0.008,0.055,0.123,0.795 06003,0.025,0.085,0.088,0.19,0.612 06005,0.045,0.013,0.099,0.188,0.655 06007,0.015,0.043,0.111,0.204,0.626 06009,0.045,0.019,0.098,0.276,0.562 06011,0.027,0.031,0.092,0.151,0.7 06013,0.018,0.016,0.039,0.121,0.806 06015,0.01,0.135,0.112,0.196,0.547 06017,0.028,0.042,0.072,0.183,0.675 06019,0.021,0.022,0.059,0.156,0.741 06021,0.028,0.026,0.146,0.206,0.594 06023,0.042,0.006,0.018,0.069,0.865 06025,0.001,0.005,0.03,0.128,0.836 06027,0.033,0.011,0.008,0.058,0.889 06029,0.022,0.028,0.105,0.177,0.668 06031,0.075,0.016,0.049,0.094,0.766 06033,0.003,0.004,0.007,0.136,0.849 06035,0.064,0.068,0.162,0.225,0.482 06037,0.021,0.013,0.049,0.131,0.786 06039,0.019,0.059,0.048,0.124,0.751 06041,0.011,0,0.046,0.141,0.802 06043,0.01,0.094,0.049,0.186,0.661 06045,0.002,0.003,0.004,0.222,0.77 06047,0.026,0.036,0.089,0.146,0.703 06049,0.068,0.019,0.095,0.204,0.615 06051,0.011,0.026,0.012,0.07,0.88 06053,0.023,0.006,0.066,0.141,0.763 06055,0.017,0.026,0.033,0.149,0.773 06057,0.003,0.054,0.084,0.177,0.682 06059,0.023,0.021,0.046,0.156,0.754 06061,0.012,0.023,0.072,0.201,0.693 06063,0.063,0.067,0.053,0.146,0.671 06065,0.026,0.014,0.041,0.116,0.803 06067,0.025,0.028,0.062,0.164,0.722 06069,0.018,0.004,0.063,0.175,0.739 06071,0.027,0.022,0.048,0.134,0.768 06073,0.017,0.023,0.034,0.126,0.8 06075,0.017,0.011,0.035,0.121,0.817 06077,0.054,0.019,0.081,0.165,0.68 06079,0.025,0.024,0.037,0.169,0.745 06081,0.016,0.013,0.058,0.126,0.786 06083,0.015,0.02,0.075,0.153,0.737 06085,0.015,0.014,0.04,0.168,0.764 06087,0.008,0,0.086,0.109,0.797 06089,0.095,0.056,0.071,0.232,0.547 06091,0.14,0.053,0.047,0.143,0.617 06093,0.132,0.074,0.082,0.167,0.546 06095,0.043,0.046,0.035,0.148,0.728 06097,0.022,0.012,0.022,0.149,0.795 06099,0.032,0.028,0.062,0.173,0.705 06101,0.058,0.031,0.08,0.163,0.669 06103,0.057,0.062,0.141,0.195,0.545 06105,0.081,0.07,0.055,0.201,0.592 06107,0.025,0.039,0.115,0.136,0.685 06109,0.008,0.043,0.084,0.212,0.653 06111,0.024,0.011,0.033,0.156,0.777 06113,0.007,0.005,0.04,0.156,0.791 06115,0.057,0.035,0.071,0.167,0.669 08001,0.032,0.027,0.071,0.185,0.685 08003,0.052,0.133,0.094,0.228,0.493 08005,0.013,0.026,0.065,0.193,0.703 08007,0.041,0.041,0.155,0.276,0.488 08009,0.113,0.053,0.194,0.206,0.435 08011,0.033,0.036,0.172,0.191,0.567 08013,0.008,0.015,0.032,0.195,0.75 08014,0.018,0.005,0.042,0.201,0.734 08015,0.038,0.045,0.134,0.138,0.645 08017,0.016,0.187,0.106,0.398,0.292 08019,0.002,0.015,0.138,0.123,0.723 08021,0.06,0.106,0.093,0.195,0.545 08023,0.034,0.072,0.076,0.175,0.644 08025,0.002,0.034,0.08,0.294,0.59 08027,0.017,0.098,0.153,0.234,0.498 08029,0.087,0.094,0.074,0.295,0.45 08031,0.02,0.018,0.062,0.194,0.707 08033,0.052,0.039,0.066,0.252,0.591 08035,0.013,0.041,0.081,0.192,0.673 08037,0.008,0.003,0.033,0.269,0.687 08039,0.016,0.044,0.19,0.246,0.505 08041,0.031,0.089,0.081,0.196,0.603 08043,0.006,0.069,0.062,0.2,0.663 08045,0.065,0.04,0.037,0.326,0.532 08047,0.001,0.027,0.017,0.17,0.785 08049,0.006,0.002,0.05,0.187,0.754 08051,0.057,0.039,0.043,0.281,0.581 08053,0.043,0.05,0.117,0.271,0.519 08055,0.028,0.051,0.051,0.275,0.595 08057,0.021,0.027,0.09,0.342,0.52 08059,0.028,0.031,0.075,0.194,0.673 08061,0.028,0.051,0.159,0.27,0.492 08063,0.024,0.323,0.119,0.344,0.19 08065,0.002,0.016,0.036,0.193,0.753 08067,0.043,0.02,0.122,0.274,0.541 08069,0.013,0.037,0.06,0.231,0.659 08071,0.052,0.03,0.101,0.17,0.648 08073,0.013,0.068,0.196,0.403,0.321 08075,0.078,0.202,0.101,0.368,0.251 08077,0.075,0.105,0.098,0.222,0.499 08079,0.049,0.072,0.138,0.264,0.478 08081,0.041,0.142,0.162,0.284,0.371 08083,0.057,0.019,0.081,0.257,0.586 08085,0.085,0.092,0.074,0.314,0.436 08087,0.083,0.161,0.116,0.245,0.396 08089,0.004,0.047,0.102,0.194,0.653 08091,0.06,0.08,0.069,0.295,0.495 08093,0.021,0.018,0.103,0.137,0.722 08095,0.05,0.19,0.137,0.255,0.368 08097,0.019,0.014,0.016,0.318,0.633 08099,0.079,0.046,0.205,0.201,0.469 08101,0.018,0.044,0.074,0.28,0.584 08103,0.111,0.092,0.074,0.265,0.458 08105,0.061,0.144,0.11,0.242,0.444 08107,0.008,0.036,0.092,0.375,0.489 08109,0.065,0.122,0.138,0.232,0.443 08111,0.032,0.038,0.097,0.27,0.563 08113,0.043,0.058,0.074,0.26,0.565 08115,0.065,0.162,0.138,0.267,0.368 08117,0,0.001,0.064,0.151,0.784 08119,0.105,0.087,0.066,0.145,0.597 08121,0.077,0.208,0.101,0.303,0.31 08123,0.046,0.038,0.135,0.231,0.55 08125,0.038,0.284,0.133,0.255,0.29 09001,0.027,0.019,0.06,0.114,0.78 09003,0.015,0.023,0.065,0.13,0.767 09005,0.017,0.051,0.021,0.098,0.812 09007,0.003,0.007,0.055,0.128,0.807 09009,0.023,0.014,0.053,0.115,0.795 09011,0.025,0.021,0.066,0.142,0.747 09013,0.008,0.008,0.027,0.147,0.81 09015,0.022,0.041,0.082,0.137,0.718 10001,0.026,0.006,0.106,0.051,0.811 10003,0.027,0.013,0.041,0.133,0.786 10005,0.005,0.001,0.035,0.103,0.856 11001,0.012,0.013,0.069,0.164,0.743 12001,0.001,0.024,0.053,0.17,0.751 12003,0.087,0.076,0.18,0.215,0.442 12005,0.065,0.109,0.076,0.202,0.548 12007,0.106,0.168,0.172,0.173,0.381 12009,0.068,0.073,0.096,0.157,0.607 12011,0.026,0.023,0.043,0.117,0.791 12013,0.034,0.055,0.138,0.267,0.507 12015,0.051,0.049,0.101,0.158,0.64 12017,0.09,0.036,0.087,0.178,0.609 12019,0.055,0.067,0.15,0.209,0.52 12021,0.04,0.023,0.067,0.212,0.658 12023,0.047,0.026,0.288,0.254,0.385 12027,0.023,0.064,0.056,0.142,0.715 12029,0.071,0.095,0.119,0.318,0.397 12031,0.049,0.042,0.086,0.194,0.629 12033,0.019,0.052,0.095,0.31,0.524 12035,0.079,0.05,0.113,0.157,0.602 12037,0.022,0.101,0.237,0.228,0.412 12039,0.06,0.033,0.104,0.227,0.575 12041,0.016,0.151,0.069,0.324,0.44 12043,0.047,0.082,0.098,0.096,0.677 12045,0.046,0.125,0.12,0.249,0.46 12047,0.101,0.071,0.235,0.227,0.365 12049,0.114,0.041,0.179,0.186,0.48 12051,0.046,0.042,0.112,0.15,0.65 12053,0.09,0.04,0.091,0.19,0.589 12055,0.025,0.056,0.145,0.138,0.635 12057,0.023,0.031,0.069,0.155,0.722 12059,0.17,0.077,0.081,0.111,0.562 12061,0.054,0.065,0.082,0.193,0.607 12063,0.064,0.108,0.129,0.174,0.526 12065,0.019,0.017,0.099,0.183,0.682 12067,0.102,0.081,0.22,0.208,0.389 12069,0.047,0.062,0.074,0.185,0.632 12071,0.052,0.05,0.073,0.176,0.648 12073,0.051,0.022,0.071,0.156,0.7 12075,0.017,0.132,0.072,0.187,0.592 12077,0.022,0.023,0.205,0.268,0.482 12079,0.164,0.085,0.148,0.264,0.34 12081,0.074,0.037,0.062,0.201,0.626 12083,0.046,0.087,0.121,0.203,0.543 12085,0.027,0.018,0.066,0.169,0.719 12086,0.032,0.023,0.06,0.128,0.756 12087,0.007,0.001,0.014,0.159,0.819 12089,0.09,0.07,0.147,0.223,0.47 12091,0.091,0.083,0.147,0.21,0.469 12093,0.016,0.034,0.064,0.171,0.715 12095,0.02,0.02,0.072,0.164,0.724 12097,0.025,0.022,0.058,0.176,0.72 12099,0.03,0.02,0.05,0.116,0.784 12101,0.027,0.029,0.055,0.179,0.709 12103,0.025,0.019,0.074,0.133,0.75 12105,0.05,0.063,0.085,0.172,0.63 12107,0.068,0.05,0.114,0.186,0.581 12109,0.047,0.071,0.097,0.223,0.561 12111,0.077,0.022,0.08,0.173,0.648 12113,0.047,0.068,0.166,0.265,0.453 12115,0.017,0.031,0.073,0.175,0.704 12117,0.037,0.039,0.066,0.141,0.717 12119,0.037,0.036,0.064,0.235,0.628 12121,0.105,0.055,0.244,0.227,0.369 12123,0.103,0.086,0.19,0.145,0.476 12125,0.044,0.04,0.176,0.267,0.473 12127,0.035,0.066,0.089,0.192,0.618 12129,0.032,0.092,0.172,0.275,0.429 12131,0.092,0.06,0.092,0.244,0.512 12133,0.138,0.085,0.062,0.158,0.557 13001,0.085,0.117,0.23,0.152,0.416 13003,0.059,0.1,0.179,0.217,0.445 13005,0.071,0.132,0.187,0.188,0.421 13007,0.027,0.048,0.054,0.127,0.743 13009,0.02,0.089,0.107,0.29,0.494 13011,0.136,0.103,0.125,0.238,0.399 13013,0.063,0.086,0.092,0.19,0.568 13015,0.215,0.05,0.123,0.143,0.47 13017,0.129,0.078,0.109,0.202,0.483 13019,0.073,0.098,0.156,0.214,0.46 13021,0.043,0.094,0.176,0.201,0.487 13023,0.089,0.031,0.117,0.256,0.508 13025,0.047,0.129,0.15,0.164,0.51 13027,0.092,0.165,0.124,0.235,0.385 13029,0.033,0.039,0.095,0.238,0.595 13031,0.053,0.049,0.163,0.31,0.424 13033,0.105,0.109,0.087,0.208,0.492 13035,0.125,0.037,0.144,0.163,0.53 13037,0.013,0.035,0.043,0.172,0.737 13039,0.136,0.125,0.17,0.113,0.456 13043,0.037,0.045,0.177,0.264,0.477 13045,0.089,0.133,0.154,0.168,0.457 13047,0.143,0.152,0.114,0.217,0.375 13049,0.065,0.094,0.15,0.196,0.495 13051,0.035,0.04,0.144,0.158,0.624 13053,0.061,0.072,0.108,0.214,0.545 13055,0.116,0.102,0.187,0.143,0.451 13057,0.049,0.054,0.1,0.213,0.584 13059,0.054,0.057,0.06,0.226,0.603 13061,0.028,0.066,0.12,0.223,0.562 13063,0.038,0.054,0.125,0.159,0.624 13065,0.06,0.058,0.134,0.168,0.58 13067,0.039,0.049,0.116,0.225,0.572 13069,0.085,0.124,0.164,0.222,0.404 13071,0.108,0.191,0.074,0.233,0.394 13073,0.061,0.064,0.095,0.234,0.547 13075,0.098,0.134,0.123,0.203,0.441 13077,0.105,0.053,0.183,0.204,0.455 13079,0.057,0.051,0.231,0.192,0.468 13081,0.119,0.023,0.06,0.163,0.635 13083,0.128,0.222,0.13,0.249,0.27 13085,0.049,0.09,0.128,0.162,0.571 13087,0.093,0.04,0.171,0.18,0.516 13089,0.036,0.028,0.075,0.156,0.704 13091,0.145,0.025,0.15,0.236,0.443 13093,0.077,0.034,0.058,0.204,0.627 13095,0.033,0.037,0.045,0.159,0.726 13097,0.083,0.037,0.09,0.198,0.591 13099,0.045,0.062,0.156,0.253,0.485 13101,0.097,0.073,0.182,0.202,0.446 13103,0.044,0.064,0.145,0.272,0.475 13105,0.132,0.177,0.081,0.107,0.503 13107,0.062,0.044,0.142,0.252,0.5 13109,0.03,0.078,0.229,0.29,0.372 13111,0.075,0.088,0.125,0.112,0.6 13113,0.06,0.086,0.131,0.218,0.505 13115,0.186,0.036,0.234,0.148,0.395 13117,0.035,0.048,0.083,0.193,0.641 13119,0.168,0.074,0.117,0.215,0.425 13121,0.026,0.036,0.089,0.187,0.662 13123,0.128,0.042,0.087,0.198,0.545 13125,0.156,0.066,0.107,0.13,0.541 13127,0.048,0.071,0.145,0.251,0.485 13129,0.172,0.1,0.201,0.157,0.369 13131,0.063,0.139,0.116,0.264,0.417 13133,0.062,0.046,0.057,0.176,0.658 13135,0.036,0.054,0.081,0.19,0.639 13137,0.063,0.1,0.116,0.292,0.43 13139,0.061,0.069,0.128,0.198,0.545 13141,0.043,0.111,0.102,0.168,0.575 13143,0.184,0.123,0.165,0.184,0.345 13145,0.093,0.081,0.061,0.213,0.551 13147,0.092,0.061,0.14,0.207,0.5 13149,0.126,0.094,0.166,0.144,0.471 13151,0.103,0.048,0.091,0.181,0.578 13153,0.032,0.079,0.136,0.172,0.581 13155,0.098,0.091,0.126,0.224,0.46 13157,0.125,0.085,0.117,0.24,0.434 13159,0.082,0.059,0.181,0.118,0.56 13161,0.124,0.138,0.165,0.183,0.39 13163,0.251,0.055,0.099,0.102,0.493 13165,0.114,0.053,0.084,0.261,0.488 13167,0.119,0.053,0.109,0.251,0.468 13169,0.049,0.087,0.226,0.209,0.43 13171,0.07,0.06,0.171,0.293,0.406 13173,0.102,0.07,0.145,0.181,0.502 13175,0.122,0.056,0.141,0.291,0.391 13177,0.035,0.033,0.039,0.162,0.732 13179,0.007,0.099,0.066,0.215,0.614 13181,0.073,0.104,0.111,0.233,0.479 13183,0.014,0.119,0.086,0.159,0.621 13185,0.108,0.101,0.149,0.208,0.435 13187,0.035,0.086,0.13,0.245,0.504 13189,0.072,0.053,0.123,0.265,0.488 13191,0.034,0.076,0.188,0.221,0.481 13193,0.078,0.049,0.113,0.21,0.55 13195,0.165,0.084,0.055,0.186,0.511 13197,0.084,0.12,0.167,0.196,0.433 13199,0.109,0.086,0.138,0.15,0.517 13201,0.064,0.056,0.182,0.159,0.539 13205,0.044,0.112,0.055,0.159,0.63 13207,0.072,0.035,0.184,0.253,0.455 13209,0.114,0.083,0.174,0.228,0.401 13211,0.061,0.064,0.093,0.168,0.614 13213,0.193,0.03,0.182,0.177,0.417 13215,0.063,0.073,0.083,0.225,0.555 13217,0.094,0.076,0.123,0.207,0.5 13219,0.049,0.063,0.095,0.181,0.611 13221,0.056,0.082,0.054,0.181,0.627 13223,0.097,0.068,0.108,0.233,0.494 13225,0.027,0.074,0.172,0.16,0.567 13227,0.038,0.118,0.101,0.188,0.555 13229,0.05,0.143,0.127,0.157,0.522 13231,0.059,0.06,0.147,0.192,0.542 13233,0.106,0.071,0.192,0.145,0.485 13235,0.079,0.031,0.098,0.218,0.575 13237,0.059,0.093,0.118,0.214,0.516 13239,0.053,0.15,0.095,0.163,0.538 13241,0.1,0.083,0.124,0.229,0.464 13243,0.016,0.065,0.05,0.2,0.669 13245,0.068,0.059,0.114,0.18,0.578 13247,0.058,0.078,0.115,0.216,0.534 13249,0.07,0.102,0.117,0.214,0.497 13251,0.198,0.069,0.081,0.242,0.41 13253,0.073,0.079,0.202,0.135,0.51 13255,0.072,0.038,0.179,0.202,0.509 13257,0.087,0.116,0.116,0.31,0.37 13259,0.055,0.092,0.133,0.203,0.517 13261,0.055,0.056,0.046,0.202,0.641 13263,0.168,0.08,0.089,0.171,0.492 13265,0.065,0.048,0.086,0.158,0.644 13267,0.051,0.076,0.214,0.224,0.434 13269,0.126,0.069,0.182,0.201,0.422 13271,0.156,0.075,0.134,0.208,0.427 13273,0.019,0.029,0.03,0.167,0.755 13275,0.026,0.096,0.12,0.228,0.53 13277,0.066,0.088,0.122,0.227,0.496 13279,0.097,0.069,0.179,0.226,0.429 13281,0.076,0.096,0.098,0.199,0.531 13283,0.096,0.07,0.168,0.267,0.399 13285,0.175,0.031,0.119,0.178,0.497 13287,0.141,0.042,0.094,0.175,0.547 13289,0.04,0.077,0.188,0.148,0.547 13291,0.065,0.119,0.087,0.168,0.56 13293,0.16,0.1,0.114,0.206,0.421 13295,0.144,0.164,0.117,0.21,0.366 13297,0.106,0.127,0.184,0.141,0.442 13299,0.061,0.108,0.109,0.166,0.556 13301,0.095,0.065,0.14,0.226,0.474 13303,0.104,0.07,0.053,0.157,0.617 13305,0.029,0.139,0.143,0.139,0.55 13307,0.019,0.064,0.103,0.21,0.603 13309,0.135,0.078,0.162,0.23,0.395 13311,0.057,0.064,0.099,0.347,0.433 13313,0.185,0.068,0.203,0.142,0.403 13315,0.173,0.017,0.083,0.157,0.569 13317,0.08,0.086,0.114,0.172,0.548 13319,0.039,0.062,0.141,0.224,0.534 13321,0.069,0.056,0.083,0.187,0.605 15001,0.01,0.032,0.037,0.122,0.799 15003,0.011,0.012,0.027,0.151,0.798 15005,0.026,0.013,0.032,0.08,0.85 15007,0,0.021,0.046,0.108,0.825 15009,0.034,0.016,0.025,0.122,0.803 16001,0.118,0.078,0.084,0.194,0.526 16003,0.094,0.216,0.218,0.218,0.254 16005,0.084,0.193,0.176,0.195,0.352 16007,0.151,0.12,0.102,0.243,0.385 16009,0.038,0.059,0.15,0.152,0.601 16011,0.095,0.197,0.175,0.229,0.304 16013,0.155,0.107,0.102,0.13,0.506 16015,0.057,0.038,0.038,0.549,0.318 16017,0.088,0.116,0.119,0.241,0.436 16019,0.096,0.202,0.188,0.247,0.268 16021,0.045,0.171,0.061,0.185,0.537 16023,0.107,0.213,0.159,0.222,0.298 16025,0.186,0.03,0.047,0.098,0.639 16027,0.113,0.095,0.17,0.24,0.381 16029,0.1,0.181,0.191,0.202,0.326 16031,0.134,0.223,0.102,0.149,0.392 16033,0.119,0.228,0.196,0.239,0.218 16035,0.037,0.112,0.127,0.25,0.475 16037,0.069,0.029,0.199,0.244,0.458 16039,0.206,0.044,0.038,0.173,0.539 16041,0.131,0.118,0.085,0.256,0.41 16043,0.111,0.206,0.202,0.247,0.233 16045,0.119,0.136,0.111,0.198,0.436 16047,0.211,0.202,0.089,0.153,0.345 16049,0.045,0.094,0.164,0.275,0.423 16051,0.099,0.208,0.192,0.249,0.252 16053,0.175,0.219,0.096,0.167,0.343 16055,0.146,0.105,0.17,0.22,0.359 16057,0.002,0.012,0.066,0.328,0.592 16059,0.109,0.173,0.231,0.125,0.362 16061,0.027,0.073,0.157,0.285,0.459 16063,0.18,0.2,0.105,0.135,0.379 16065,0.101,0.207,0.196,0.25,0.245 16067,0.134,0.219,0.106,0.152,0.39 16069,0.009,0.03,0.117,0.326,0.517 16071,0.083,0.173,0.153,0.185,0.406 16073,0.123,0.137,0.146,0.171,0.423 16075,0.081,0.199,0.174,0.242,0.304 16077,0.078,0.205,0.152,0.185,0.381 16079,0.068,0.144,0.299,0.147,0.342 16081,0.099,0.189,0.19,0.25,0.272 16083,0.166,0.222,0.101,0.177,0.335 16085,0.041,0.118,0.102,0.378,0.361 16087,0.136,0.13,0.324,0.172,0.239 17001,0.18,0.092,0.189,0.19,0.35 17003,0.11,0.082,0.148,0.262,0.398 17005,0.07,0.055,0.108,0.218,0.549 17007,0.025,0.006,0.065,0.244,0.66 17009,0.18,0.099,0.136,0.2,0.385 17011,0.012,0.019,0.156,0.208,0.605 17013,0.082,0.06,0.219,0.366,0.273 17015,0.03,0.064,0.12,0.19,0.596 17017,0.103,0.08,0.19,0.187,0.441 17019,0,0.067,0.08,0.192,0.661 17021,0.059,0.057,0.091,0.19,0.603 17023,0.127,0.089,0.107,0.226,0.451 17025,0.062,0.115,0.145,0.306,0.372 17027,0.102,0.063,0.083,0.166,0.587 17029,0.112,0.055,0.201,0.221,0.411 17031,0.023,0.021,0.072,0.162,0.722 17033,0.146,0.196,0.047,0.219,0.392 17035,0.095,0.075,0.194,0.212,0.424 17037,0.007,0.012,0.034,0.191,0.756 17039,0.035,0.106,0.073,0.28,0.507 17041,0.048,0.061,0.105,0.191,0.594 17043,0.01,0.01,0.056,0.163,0.76 17045,0.174,0.09,0.131,0.208,0.398 17047,0.086,0.148,0.233,0.306,0.228 17049,0.072,0.072,0.214,0.232,0.41 17051,0.069,0.076,0.156,0.229,0.47 17053,0.011,0.082,0.167,0.172,0.567 17055,0.099,0.166,0.119,0.211,0.405 17057,0.016,0.03,0.311,0.199,0.444 17059,0.201,0.06,0.128,0.238,0.373 17061,0.136,0.029,0.109,0.217,0.508 17063,0.056,0.056,0.105,0.183,0.599 17065,0.138,0.179,0.1,0.21,0.373 17067,0.147,0.154,0.125,0.163,0.411 17069,0.163,0.072,0.235,0.191,0.34 17071,0.096,0.044,0.101,0.155,0.604 17073,0.067,0.072,0.061,0.203,0.597 17075,0.097,0.168,0.069,0.242,0.424 17077,0.066,0.078,0.151,0.209,0.496 17079,0.099,0.135,0.131,0.254,0.38 17081,0.122,0.126,0.08,0.279,0.393 17083,0.074,0.079,0.124,0.185,0.537 17085,0.034,0.104,0.22,0.178,0.465 17087,0.124,0.05,0.189,0.141,0.496 17089,0.013,0.026,0.048,0.165,0.748 17091,0.044,0.084,0.096,0.249,0.527 17093,0.001,0.009,0.065,0.136,0.788 17095,0.035,0.031,0.194,0.246,0.494 17097,0.02,0.018,0.046,0.146,0.769 17099,0.018,0.046,0.113,0.267,0.556 17101,0.197,0.157,0.105,0.281,0.26 17103,0.013,0.054,0.058,0.224,0.65 17105,0.03,0.147,0.08,0.234,0.51 17107,0.046,0.045,0.23,0.128,0.551 17109,0.041,0.091,0.097,0.182,0.59 17111,0.03,0.012,0.066,0.176,0.716 17113,0.085,0.062,0.091,0.201,0.561 17115,0.016,0.062,0.088,0.286,0.549 17117,0.015,0.05,0.147,0.227,0.561 17119,0.035,0.045,0.083,0.189,0.648 17121,0.1,0.093,0.101,0.302,0.404 17123,0.048,0.083,0.133,0.198,0.538 17125,0.238,0.031,0.292,0.126,0.313 17127,0.097,0.043,0.232,0.256,0.373 17129,0.102,0.047,0.138,0.172,0.54 17131,0.039,0.066,0.11,0.215,0.571 17133,0.003,0.04,0.112,0.174,0.67 17135,0.018,0.05,0.091,0.316,0.525 17137,0.05,0.062,0.177,0.178,0.533 17139,0.081,0.073,0.213,0.243,0.39 17141,0.053,0.045,0.129,0.184,0.589 17143,0.039,0.036,0.096,0.251,0.577 17145,0.055,0.092,0.104,0.358,0.392 17147,0.003,0.052,0.06,0.198,0.688 17149,0.138,0.079,0.218,0.205,0.36 17151,0.104,0.054,0.213,0.214,0.415 17153,0.117,0.064,0.189,0.225,0.405 17155,0.021,0.025,0.168,0.251,0.535 17157,0.008,0.032,0.117,0.391,0.452 17159,0.111,0.151,0.107,0.3,0.331 17161,0.078,0.025,0.066,0.235,0.596 17163,0.032,0.027,0.037,0.138,0.767 17165,0.117,0.106,0.111,0.204,0.462 17167,0.017,0.03,0.155,0.233,0.564 17169,0.132,0.1,0.152,0.198,0.417 17171,0.113,0.057,0.148,0.162,0.52 17173,0.07,0.047,0.168,0.245,0.469 17175,0.013,0.101,0.058,0.155,0.672 17177,0.036,0.059,0.041,0.222,0.644 17179,0.044,0.04,0.141,0.215,0.56 17181,0.1,0.078,0.162,0.195,0.466 17183,0.023,0.119,0.088,0.266,0.504 17185,0.078,0.113,0.271,0.325,0.212 17187,0.042,0.02,0.141,0.276,0.522 17189,0.118,0.046,0.053,0.327,0.456 17191,0.086,0.142,0.128,0.3,0.345 17193,0.19,0.144,0.095,0.239,0.332 17195,0.025,0.066,0.042,0.218,0.649 17197,0.041,0.024,0.062,0.134,0.739 17199,0.095,0.122,0.136,0.183,0.464 17201,0.031,0.03,0.089,0.193,0.657 17203,0.062,0.067,0.112,0.242,0.517 18001,0.136,0.047,0.16,0.348,0.309 18003,0.07,0.14,0.099,0.228,0.464 18005,0.138,0.084,0.085,0.286,0.406 18007,0.082,0.126,0.112,0.183,0.496 18009,0.093,0.152,0.106,0.203,0.447 18011,0.052,0.085,0.142,0.308,0.413 18013,0.055,0.061,0.041,0.184,0.66 18015,0.059,0.104,0.17,0.22,0.447 18017,0.037,0.192,0.283,0.206,0.283 18019,0.068,0.06,0.141,0.228,0.501 18021,0.122,0.073,0.112,0.226,0.466 18023,0.088,0.033,0.132,0.285,0.462 18025,0.067,0.089,0.118,0.261,0.465 18027,0.049,0.061,0.13,0.214,0.546 18029,0.083,0.1,0.168,0.277,0.371 18031,0.175,0.083,0.101,0.204,0.437 18033,0.109,0.074,0.118,0.149,0.55 18035,0.095,0.109,0.124,0.197,0.475 18037,0.01,0.105,0.086,0.25,0.55 18039,0.03,0.097,0.094,0.252,0.528 18041,0.161,0.041,0.048,0.237,0.514 18043,0.053,0.086,0.154,0.233,0.474 18045,0.077,0.089,0.147,0.212,0.474 18047,0.07,0.082,0.104,0.199,0.545 18049,0.142,0.114,0.128,0.217,0.399 18051,0.09,0.1,0.204,0.255,0.351 18053,0.053,0.108,0.133,0.311,0.393 18055,0.099,0.027,0.081,0.235,0.558 18057,0.07,0.051,0.049,0.234,0.596 18059,0.068,0.04,0.166,0.306,0.42 18061,0.094,0.084,0.205,0.258,0.359 18063,0.054,0.052,0.113,0.257,0.523 18065,0.183,0.148,0.125,0.111,0.434 18067,0.008,0.083,0.183,0.301,0.426 18069,0.15,0.182,0.053,0.199,0.416 18071,0.097,0.098,0.105,0.388,0.312 18073,0.186,0.1,0.065,0.328,0.321 18075,0.141,0.139,0.157,0.235,0.328 18077,0.083,0.219,0.218,0.225,0.255 18079,0.095,0.105,0.172,0.308,0.319 18081,0.057,0.094,0.1,0.192,0.557 18083,0.158,0.125,0.121,0.259,0.338 18085,0.073,0.147,0.089,0.195,0.496 18087,0.059,0.082,0.171,0.236,0.452 18089,0.043,0.057,0.088,0.219,0.592 18091,0.084,0.075,0.168,0.206,0.466 18093,0.092,0.117,0.109,0.191,0.491 18095,0.062,0.084,0.15,0.145,0.559 18097,0.051,0.053,0.116,0.232,0.548 18099,0.12,0.103,0.159,0.229,0.389 18101,0.041,0.064,0.123,0.223,0.55 18103,0.054,0.125,0.253,0.226,0.343 18105,0.037,0.037,0.094,0.242,0.591 18107,0.07,0.116,0.168,0.156,0.49 18109,0.06,0.131,0.136,0.188,0.485 18111,0.102,0.153,0.092,0.338,0.316 18113,0.057,0.11,0.135,0.197,0.5 18115,0.06,0.078,0.18,0.223,0.459 18117,0.096,0.086,0.073,0.315,0.43 18119,0.094,0.038,0.087,0.282,0.5 18121,0.116,0.111,0.174,0.195,0.405 18123,0.01,0.109,0.087,0.252,0.542 18125,0.052,0.089,0.163,0.2,0.495 18127,0.05,0.1,0.108,0.231,0.512 18129,0.132,0.056,0.115,0.226,0.472 18131,0.135,0.219,0.171,0.253,0.223 18133,0.075,0.162,0.204,0.194,0.366 18135,0.128,0.13,0.228,0.179,0.336 18137,0.054,0.074,0.15,0.294,0.429 18139,0.133,0.118,0.063,0.279,0.408 18141,0.031,0.04,0.102,0.228,0.598 18143,0.036,0.073,0.168,0.263,0.46 18145,0.16,0.057,0.177,0.193,0.413 18147,0.017,0.134,0.104,0.216,0.529 18149,0.177,0.151,0.088,0.219,0.365 18151,0.04,0.089,0.17,0.169,0.532 18153,0.127,0.071,0.077,0.207,0.517 18155,0.089,0.125,0.209,0.234,0.344 18157,0.093,0.083,0.102,0.204,0.518 18159,0.033,0.082,0.089,0.444,0.352 18161,0.095,0.053,0.106,0.178,0.569 18163,0.07,0.039,0.115,0.234,0.542 18165,0.113,0.105,0.134,0.223,0.426 18167,0.118,0.064,0.102,0.25,0.466 18169,0.07,0.11,0.237,0.202,0.381 18171,0.079,0.115,0.092,0.223,0.492 18173,0.045,0.038,0.117,0.252,0.548 18175,0.097,0.074,0.062,0.356,0.411 18177,0.162,0.09,0.138,0.261,0.348 18179,0.205,0.05,0.077,0.337,0.332 18181,0.056,0.177,0.194,0.189,0.384 18183,0.061,0.186,0.132,0.16,0.46 19001,0.073,0.128,0.128,0.307,0.364 19003,0.148,0.11,0.15,0.311,0.281 19005,0.138,0.049,0.132,0.212,0.469 19007,0.044,0.11,0.239,0.193,0.413 19009,0.224,0.073,0.194,0.187,0.322 19011,0.098,0.067,0.13,0.2,0.504 19013,0.032,0.053,0.18,0.289,0.447 19015,0.09,0.08,0.1,0.197,0.533 19017,0.048,0.062,0.197,0.268,0.424 19019,0.021,0.124,0.087,0.394,0.373 19021,0.183,0.062,0.26,0.207,0.288 19023,0.052,0.094,0.208,0.23,0.417 19025,0.212,0.117,0.213,0.153,0.304 19027,0.153,0.11,0.241,0.139,0.358 19029,0.341,0.07,0.124,0.238,0.227 19031,0.026,0.096,0.142,0.355,0.381 19033,0.061,0.365,0.146,0.213,0.215 19035,0.183,0.105,0.221,0.182,0.309 19037,0.075,0.136,0.197,0.236,0.356 19039,0.078,0.167,0.143,0.194,0.418 19041,0.224,0.035,0.112,0.189,0.441 19043,0.123,0.084,0.137,0.284,0.371 19045,0.092,0.13,0.079,0.269,0.43 19047,0.089,0.045,0.141,0.064,0.66 19049,0.036,0.102,0.118,0.26,0.485 19051,0.038,0.101,0.249,0.201,0.411 19053,0.248,0.132,0.258,0.068,0.294 19055,0.035,0.137,0.137,0.408,0.283 19057,0.135,0.081,0.109,0.122,0.553 19059,0.276,0.027,0.091,0.173,0.433 19061,0.037,0.155,0.189,0.189,0.43 19063,0.241,0.083,0.067,0.181,0.428 19065,0.054,0.075,0.128,0.349,0.394 19067,0.063,0.271,0.148,0.25,0.268 19069,0.088,0.278,0.187,0.186,0.261 19071,0.048,0.061,0.071,0.209,0.611 19073,0.116,0.141,0.235,0.153,0.354 19075,0.038,0.042,0.203,0.238,0.48 19077,0.162,0.073,0.143,0.283,0.34 19079,0.143,0.118,0.129,0.153,0.457 19081,0.08,0.384,0.146,0.174,0.216 19083,0.074,0.075,0.195,0.214,0.441 19085,0.118,0.044,0.094,0.178,0.565 19087,0.123,0.142,0.091,0.183,0.461 19089,0.077,0.151,0.176,0.183,0.413 19091,0.243,0.268,0.147,0.102,0.24 19093,0.153,0.094,0.246,0.128,0.38 19095,0.027,0.149,0.135,0.239,0.45 19097,0.032,0.096,0.229,0.232,0.411 19099,0.102,0.105,0.233,0.212,0.347 19101,0.074,0.116,0.221,0.191,0.398 19103,0.014,0.044,0.069,0.2,0.673 19105,0.04,0.105,0.165,0.336,0.355 19107,0.035,0.126,0.287,0.28,0.272 19109,0.135,0.318,0.101,0.173,0.272 19111,0.17,0.146,0.131,0.161,0.392 19113,0.039,0.081,0.115,0.201,0.563 19115,0.097,0.058,0.15,0.214,0.482 19117,0.032,0.204,0.196,0.185,0.384 19119,0.078,0.173,0.157,0.247,0.344 19121,0.01,0.102,0.136,0.268,0.484 19123,0.069,0.067,0.294,0.283,0.287 19125,0.053,0.049,0.209,0.26,0.429 19127,0.077,0.064,0.153,0.226,0.48 19129,0.064,0.084,0.091,0.281,0.481 19131,0.046,0.282,0.149,0.26,0.263 19133,0.078,0.069,0.087,0.127,0.64 19135,0.034,0.078,0.256,0.247,0.385 19137,0.218,0.034,0.084,0.378,0.286 19139,0.12,0.022,0.221,0.273,0.364 19141,0.173,0.054,0.267,0.187,0.319 19143,0.195,0.051,0.233,0.199,0.322 19145,0.088,0.053,0.068,0.31,0.481 19147,0.199,0.116,0.088,0.179,0.419 19149,0.125,0.145,0.166,0.162,0.402 19151,0.214,0.124,0.162,0.165,0.335 19153,0.044,0.089,0.136,0.259,0.473 19155,0.115,0.083,0.147,0.264,0.39 19157,0.121,0.145,0.187,0.164,0.383 19159,0.144,0.138,0.281,0.162,0.275 19161,0.18,0.071,0.286,0.159,0.303 19163,0.075,0.027,0.126,0.277,0.494 19165,0.099,0.059,0.182,0.145,0.516 19167,0.12,0.06,0.285,0.2,0.335 19169,0.045,0.075,0.071,0.235,0.574 19171,0.066,0.053,0.209,0.181,0.491 19173,0.09,0.151,0.185,0.282,0.292 19175,0.03,0.125,0.172,0.21,0.462 19177,0.107,0.128,0.175,0.218,0.372 19179,0.034,0.082,0.293,0.221,0.37 19181,0.055,0.182,0.181,0.245,0.337 19183,0.035,0.102,0.123,0.151,0.589 19185,0.138,0.148,0.252,0.12,0.342 19187,0.209,0.167,0.161,0.101,0.362 19189,0.07,0.329,0.176,0.197,0.228 19191,0.122,0.044,0.151,0.177,0.505 19193,0.113,0.165,0.137,0.16,0.425 19195,0.072,0.271,0.175,0.231,0.251 19197,0.172,0.299,0.173,0.125,0.232 20001,0.153,0.212,0.126,0.167,0.341 20003,0.189,0.063,0.137,0.267,0.344 20005,0.137,0.122,0.169,0.256,0.316 20007,0.069,0.147,0.118,0.329,0.336 20009,0.107,0.131,0.12,0.211,0.43 20011,0.167,0.146,0.077,0.12,0.49 20013,0.089,0.149,0.183,0.197,0.382 20015,0.053,0.133,0.122,0.222,0.47 20017,0.151,0.082,0.212,0.225,0.331 20019,0.128,0.137,0.185,0.214,0.337 20021,0.131,0.121,0.164,0.174,0.41 20023,0.065,0.27,0.174,0.235,0.256 20025,0.163,0.13,0.126,0.232,0.348 20027,0.081,0.069,0.115,0.229,0.507 20029,0.154,0.077,0.118,0.217,0.434 20031,0.085,0.119,0.165,0.404,0.227 20033,0.112,0.144,0.128,0.271,0.346 20035,0.075,0.093,0.28,0.131,0.421 20037,0.108,0.143,0.118,0.139,0.492 20039,0.163,0.118,0.211,0.235,0.273 20041,0.106,0.118,0.148,0.243,0.385 20043,0.137,0.193,0.184,0.214,0.272 20045,0.006,0.009,0.024,0.227,0.734 20047,0.052,0.086,0.135,0.221,0.506 20049,0.061,0.05,0.295,0.282,0.312 20051,0.154,0.154,0.224,0.148,0.32 20053,0.174,0.133,0.133,0.187,0.373 20055,0.166,0.089,0.163,0.239,0.343 20057,0.143,0.084,0.143,0.232,0.399 20059,0.063,0.06,0.159,0.354,0.364 20061,0.05,0.068,0.113,0.27,0.499 20063,0.24,0.089,0.234,0.151,0.287 20065,0.218,0.156,0.247,0.129,0.25 20067,0.14,0.108,0.15,0.231,0.37 20069,0.158,0.092,0.146,0.24,0.364 20071,0.135,0.131,0.181,0.229,0.323 20073,0.034,0.079,0.256,0.302,0.33 20075,0.131,0.095,0.189,0.217,0.368 20077,0.079,0.118,0.21,0.193,0.4 20079,0.075,0.058,0.121,0.323,0.423 20081,0.153,0.107,0.137,0.239,0.364 20083,0.126,0.075,0.163,0.225,0.412 20085,0.01,0.116,0.161,0.136,0.577 20087,0.026,0.069,0.09,0.182,0.634 20089,0.171,0.142,0.087,0.259,0.34 20091,0.029,0.019,0.075,0.224,0.654 20093,0.155,0.098,0.172,0.229,0.346 20095,0.081,0.212,0.114,0.128,0.464 20097,0.062,0.107,0.128,0.233,0.469 20099,0.168,0.123,0.091,0.147,0.471 20101,0.197,0.075,0.197,0.204,0.326 20103,0.087,0.135,0.092,0.142,0.544 20105,0.171,0.132,0.16,0.163,0.375 20107,0.14,0.053,0.121,0.285,0.4 20109,0.206,0.131,0.194,0.189,0.28 20111,0.113,0.111,0.133,0.3,0.344 20113,0.12,0.065,0.106,0.313,0.396 20115,0.101,0.068,0.209,0.279,0.343 20117,0.048,0.049,0.233,0.263,0.407 20119,0.164,0.123,0.115,0.235,0.362 20121,0.071,0.044,0.095,0.25,0.54 20123,0.173,0.116,0.144,0.18,0.388 20125,0.164,0.132,0.102,0.195,0.407 20127,0.11,0.094,0.148,0.244,0.404 20129,0.12,0.113,0.144,0.218,0.405 20131,0.035,0.094,0.203,0.236,0.432 20133,0.133,0.204,0.12,0.127,0.416 20135,0.15,0.083,0.199,0.198,0.371 20137,0.161,0.163,0.177,0.225,0.275 20139,0.018,0.09,0.088,0.24,0.564 20141,0.174,0.233,0.163,0.136,0.293 20143,0.131,0.117,0.164,0.191,0.396 20145,0.053,0.096,0.137,0.217,0.497 20147,0.15,0.244,0.126,0.19,0.29 20149,0.012,0.057,0.145,0.236,0.55 20151,0.02,0.183,0.101,0.309,0.387 20153,0.128,0.174,0.209,0.22,0.268 20155,0.135,0.077,0.143,0.191,0.454 20157,0.183,0.073,0.076,0.295,0.373 20159,0.153,0.086,0.11,0.241,0.41 20161,0.03,0.05,0.124,0.261,0.535 20163,0.179,0.22,0.218,0.123,0.26 20165,0.11,0.122,0.182,0.183,0.403 20167,0.16,0.174,0.174,0.157,0.335 20169,0.126,0.133,0.175,0.209,0.357 20171,0.197,0.09,0.19,0.21,0.313 20173,0.06,0.055,0.126,0.26,0.499 20175,0.138,0.14,0.092,0.226,0.403 20177,0.009,0.078,0.095,0.184,0.633 20179,0.231,0.112,0.236,0.154,0.267 20181,0.1,0.27,0.159,0.24,0.231 20183,0.142,0.257,0.088,0.195,0.319 20185,0.041,0.125,0.109,0.252,0.472 20187,0.127,0.098,0.172,0.216,0.388 20189,0.122,0.132,0.112,0.225,0.408 20191,0.104,0.039,0.115,0.298,0.444 20193,0.188,0.157,0.208,0.184,0.263 20195,0.203,0.115,0.256,0.137,0.291 20197,0.011,0.077,0.12,0.201,0.591 20199,0.128,0.21,0.154,0.246,0.262 20201,0.148,0.075,0.111,0.234,0.432 20203,0.173,0.112,0.184,0.219,0.313 20205,0.125,0.148,0.145,0.184,0.398 20207,0.092,0.175,0.171,0.247,0.314 20209,0.025,0.056,0.076,0.178,0.665 21001,0.076,0.115,0.167,0.243,0.399 21003,0.101,0.072,0.097,0.211,0.519 21005,0.062,0.01,0.044,0.483,0.401 21007,0.107,0.033,0.198,0.257,0.404 21009,0.053,0.093,0.09,0.176,0.588 21011,0.076,0.058,0.084,0.339,0.443 21013,0.146,0.094,0.12,0.199,0.44 21015,0.08,0.087,0.081,0.232,0.52 21017,0.024,0.037,0.042,0.129,0.769 21019,0.084,0.125,0.202,0.235,0.354 21021,0.092,0.037,0.112,0.161,0.598 21023,0.056,0.249,0.065,0.238,0.392 21025,0.114,0.081,0.126,0.241,0.438 21027,0.023,0.146,0.177,0.138,0.517 21029,0.037,0.091,0.156,0.181,0.535 21031,0.066,0.097,0.133,0.17,0.535 21033,0.059,0.067,0.26,0.177,0.438 21035,0.066,0.084,0.248,0.17,0.432 21037,0.073,0.085,0.134,0.278,0.43 21039,0.104,0.045,0.188,0.236,0.428 21041,0.155,0.171,0.12,0.208,0.346 21043,0.069,0.102,0.122,0.324,0.383 21045,0.164,0.076,0.161,0.154,0.444 21047,0.06,0.118,0.178,0.279,0.365 21049,0.083,0.093,0.11,0.233,0.48 21051,0.153,0.082,0.165,0.16,0.44 21053,0.096,0.115,0.248,0.165,0.375 21055,0.121,0.117,0.29,0.153,0.319 21057,0.067,0.106,0.224,0.229,0.374 21059,0.055,0.057,0.122,0.236,0.531 21061,0.055,0.057,0.086,0.179,0.624 21063,0.117,0.1,0.051,0.289,0.443 21065,0.082,0.151,0.09,0.275,0.402 21067,0.031,0.051,0.066,0.202,0.65 21069,0.068,0.069,0.075,0.287,0.502 21071,0.131,0.066,0.129,0.134,0.54 21073,0.088,0.036,0.142,0.214,0.521 21075,0.1,0.102,0.202,0.217,0.38 21077,0.076,0.048,0.198,0.211,0.466 21079,0.077,0.043,0.063,0.276,0.54 21081,0.047,0.056,0.183,0.106,0.608 21083,0.103,0.069,0.266,0.222,0.34 21085,0.043,0.042,0.134,0.154,0.627 21087,0.063,0.076,0.127,0.247,0.488 21089,0.092,0.101,0.236,0.228,0.342 21091,0.019,0.08,0.121,0.235,0.546 21093,0.057,0.062,0.106,0.217,0.558 21095,0.076,0.093,0.098,0.126,0.606 21097,0.073,0.044,0.031,0.047,0.804 21099,0.053,0.034,0.118,0.185,0.61 21101,0.072,0.061,0.136,0.229,0.501 21103,0.093,0.082,0.174,0.254,0.398 21105,0.097,0.065,0.221,0.202,0.415 21107,0.04,0.067,0.174,0.217,0.502 21109,0.183,0.068,0.092,0.235,0.421 21111,0.036,0.048,0.083,0.23,0.602 21113,0.022,0.036,0.104,0.21,0.628 21115,0.102,0.053,0.106,0.127,0.612 21117,0.052,0.056,0.146,0.245,0.5 21119,0.157,0.073,0.13,0.142,0.497 21121,0.187,0.073,0.103,0.165,0.471 21123,0.074,0.053,0.09,0.213,0.57 21125,0.201,0.047,0.083,0.152,0.517 21127,0.155,0.091,0.151,0.125,0.479 21129,0.129,0.069,0.129,0.273,0.399 21131,0.094,0.103,0.142,0.174,0.487 21133,0.078,0.05,0.127,0.122,0.624 21135,0.057,0.081,0.21,0.296,0.357 21137,0.172,0.054,0.093,0.172,0.509 21139,0.08,0.1,0.29,0.191,0.339 21141,0.099,0.1,0.08,0.198,0.523 21143,0.052,0.11,0.316,0.138,0.384 21145,0.085,0.058,0.232,0.255,0.37 21147,0.096,0.116,0.143,0.203,0.441 21149,0.081,0.105,0.107,0.249,0.459 21151,0.088,0.094,0.114,0.233,0.471 21153,0.107,0.078,0.111,0.164,0.54 21155,0.046,0.082,0.074,0.144,0.654 21157,0.061,0.083,0.28,0.18,0.395 21159,0.108,0.055,0.096,0.104,0.637 21161,0.056,0.119,0.061,0.284,0.479 21163,0.018,0.154,0.115,0.154,0.559 21165,0.161,0.088,0.067,0.215,0.468 21167,0.047,0.012,0.178,0.195,0.567 21169,0.048,0.109,0.134,0.222,0.487 21171,0.082,0.134,0.185,0.15,0.448 21173,0.03,0.041,0.085,0.392,0.452 21175,0.133,0.116,0.071,0.182,0.498 21177,0.035,0.154,0.123,0.2,0.488 21179,0.033,0.106,0.068,0.244,0.548 21181,0.023,0.025,0.09,0.271,0.591 21183,0.064,0.145,0.109,0.19,0.492 21185,0.025,0.039,0.098,0.278,0.56 21187,0.091,0.039,0.114,0.198,0.558 21189,0.121,0.058,0.157,0.282,0.382 21191,0.035,0.121,0.103,0.129,0.613 21193,0.123,0.093,0.111,0.171,0.502 21195,0.096,0.088,0.123,0.148,0.545 21197,0.112,0.099,0.102,0.232,0.455 21199,0.13,0.123,0.096,0.164,0.487 21201,0.048,0.123,0.039,0.204,0.586 21203,0.215,0.079,0.075,0.157,0.474 21205,0.159,0.097,0.047,0.231,0.467 21207,0.096,0.138,0.195,0.206,0.365 21209,0.04,0.044,0.076,0.081,0.759 21211,0.092,0.107,0.054,0.261,0.487 21213,0.137,0.066,0.162,0.208,0.426 21215,0.032,0.058,0.047,0.41,0.453 21217,0.073,0.073,0.111,0.21,0.533 21219,0.058,0.147,0.135,0.266,0.394 21221,0.066,0.053,0.131,0.152,0.597 21223,0.134,0.172,0.135,0.217,0.342 21225,0.211,0.079,0.229,0.172,0.309 21227,0.076,0.067,0.063,0.185,0.609 21229,0.035,0.066,0.116,0.221,0.562 21231,0.102,0.151,0.16,0.169,0.417 21233,0.088,0.084,0.167,0.21,0.451 21235,0.176,0.062,0.113,0.174,0.476 21237,0.14,0.095,0.114,0.203,0.448 21239,0.042,0.017,0.049,0.193,0.698 22001,0.122,0.111,0.138,0.265,0.362 22003,0.196,0.07,0.118,0.2,0.416 22005,0.049,0.092,0.142,0.148,0.569 22007,0.079,0.034,0.213,0.206,0.468 22009,0.13,0.092,0.073,0.246,0.459 22011,0.086,0.069,0.169,0.191,0.486 22013,0.078,0.052,0.17,0.291,0.409 22015,0.068,0.096,0.144,0.225,0.468 22017,0.058,0.079,0.158,0.209,0.497 22019,0.102,0.139,0.077,0.212,0.471 22021,0.102,0.061,0.098,0.241,0.498 22023,0.089,0.127,0.079,0.201,0.505 22025,0.11,0.056,0.086,0.147,0.6 22027,0.146,0.068,0.04,0.273,0.473 22029,0.11,0.104,0.112,0.095,0.579 22031,0.035,0.075,0.132,0.162,0.596 22033,0.052,0.031,0.09,0.183,0.642 22035,0.022,0.046,0.121,0.137,0.674 22037,0.067,0.053,0.095,0.366,0.42 22039,0.215,0.077,0.111,0.211,0.387 22041,0.123,0.054,0.102,0.156,0.565 22043,0.086,0.041,0.109,0.229,0.535 22045,0.112,0.084,0.085,0.253,0.467 22047,0.061,0.021,0.084,0.19,0.644 22049,0.116,0.083,0.127,0.29,0.383 22051,0.044,0.031,0.066,0.174,0.685 22053,0.249,0.111,0.09,0.196,0.354 22055,0.062,0.083,0.105,0.217,0.533 22057,0.078,0.039,0.159,0.151,0.573 22059,0.082,0.035,0.089,0.223,0.571 22061,0.102,0.08,0.111,0.29,0.417 22063,0.06,0.043,0.144,0.29,0.463 22065,0.034,0.068,0.109,0.172,0.617 22067,0.039,0.105,0.124,0.166,0.566 22069,0.096,0.063,0.113,0.167,0.561 22071,0.019,0.034,0.087,0.206,0.654 22073,0.076,0.098,0.121,0.229,0.476 22075,0.065,0.035,0.165,0.222,0.513 22077,0.044,0.082,0.068,0.198,0.608 22079,0.106,0.046,0.087,0.236,0.524 22081,0.068,0.081,0.135,0.189,0.527 22083,0.066,0.08,0.126,0.194,0.534 22085,0.098,0.08,0.113,0.145,0.564 22087,0.035,0.075,0.136,0.23,0.524 22089,0.093,0.048,0.027,0.165,0.667 22091,0.064,0.126,0.138,0.237,0.434 22093,0.034,0.099,0.202,0.061,0.603 22095,0.096,0.059,0.19,0.079,0.577 22097,0.064,0.105,0.117,0.199,0.515 22099,0.069,0.11,0.096,0.178,0.548 22101,0.066,0.02,0.179,0.28,0.454 22103,0.031,0.073,0.074,0.211,0.611 22105,0.066,0.072,0.103,0.193,0.566 22107,0.081,0.064,0.097,0.134,0.625 22109,0.068,0.052,0.14,0.221,0.519 22111,0.071,0.142,0.106,0.244,0.436 22113,0.076,0.088,0.115,0.271,0.449 22115,0.092,0.066,0.145,0.244,0.453 22117,0.103,0.046,0.148,0.242,0.461 22119,0.134,0.044,0.063,0.265,0.494 22121,0.044,0.04,0.07,0.197,0.649 22123,0.022,0.063,0.124,0.114,0.677 22125,0.072,0.13,0.037,0.265,0.496 22127,0.086,0.106,0.13,0.236,0.443 23001,0.083,0.099,0.041,0.199,0.577 23003,0.143,0.047,0.12,0.243,0.447 23005,0.05,0.053,0.046,0.182,0.669 23007,0.006,0.063,0.191,0.161,0.579 23009,0.034,0.052,0.118,0.202,0.594 23011,0.016,0.074,0.125,0.245,0.54 23013,0.007,0.01,0.111,0.248,0.625 23015,0.031,0.014,0.065,0.204,0.688 23017,0.069,0.065,0.064,0.213,0.589 23019,0.038,0.071,0.085,0.189,0.617 23021,0.062,0.146,0.123,0.189,0.479 23023,0.061,0.026,0.033,0.216,0.664 23025,0.035,0.095,0.142,0.17,0.558 23027,0.023,0.06,0.15,0.182,0.585 23029,0.026,0.032,0.126,0.204,0.612 23031,0.076,0.036,0.061,0.173,0.655 24001,0.007,0.01,0.035,0.213,0.736 24003,0.018,0.022,0.067,0.154,0.739 24005,0.013,0.024,0.043,0.142,0.777 24009,0.049,0.049,0.071,0.11,0.72 24011,0.009,0.019,0.033,0.168,0.77 24013,0.014,0.008,0.062,0.17,0.746 24015,0.009,0.018,0.054,0.182,0.738 24017,0.035,0.034,0.107,0.157,0.667 24019,0.02,0.006,0.011,0.119,0.844 24021,0.028,0.036,0.062,0.113,0.762 24023,0.077,0.008,0.04,0.305,0.571 24025,0.008,0.009,0.037,0.168,0.778 24027,0.024,0.015,0.067,0.17,0.723 24029,0.005,0.014,0.06,0.207,0.714 24031,0.025,0.029,0.041,0.128,0.777 24033,0.087,0.034,0.064,0.094,0.72 24035,0.002,0.042,0.041,0.309,0.605 24037,0.04,0.009,0.036,0.152,0.763 24039,0.004,0.01,0.047,0.128,0.812 24041,0.012,0.012,0.006,0.127,0.843 24043,0.031,0.047,0.085,0.194,0.642 24045,0.006,0.011,0.063,0.116,0.804 24047,0.003,0.004,0.042,0.11,0.842 24510,0.024,0.032,0.063,0.148,0.733 25001,0.019,0.007,0.026,0.109,0.839 25003,0.03,0.004,0.049,0.082,0.834 25005,0.016,0.02,0.056,0.161,0.747 25007,0.006,0.01,0.037,0.16,0.786 25009,0.023,0.01,0.047,0.131,0.788 25011,0.043,0.011,0.028,0.156,0.762 25013,0.013,0.017,0.055,0.13,0.786 25015,0.011,0.006,0.017,0.109,0.857 25017,0.023,0.011,0.041,0.127,0.798 25019,0.015,0.003,0.034,0.156,0.792 25021,0.02,0.015,0.035,0.125,0.805 25023,0.014,0.017,0.045,0.112,0.812 25025,0.02,0.007,0.049,0.136,0.788 25027,0.02,0.027,0.043,0.142,0.768 26001,0.065,0.046,0.133,0.18,0.576 26003,0.025,0.034,0.118,0.229,0.595 26005,0.05,0.035,0.133,0.283,0.5 26007,0.025,0.04,0.144,0.18,0.612 26009,0.027,0.042,0.088,0.218,0.625 26011,0.052,0.136,0.076,0.252,0.484 26013,0.012,0.063,0.109,0.257,0.558 26015,0.043,0.121,0.121,0.211,0.504 26017,0.014,0.055,0.103,0.202,0.627 26019,0.01,0.049,0.062,0.164,0.715 26021,0.039,0.037,0.122,0.247,0.555 26023,0.072,0.091,0.205,0.234,0.399 26025,0.063,0.121,0.078,0.178,0.559 26027,0.046,0.076,0.123,0.274,0.48 26029,0.027,0.057,0.085,0.205,0.626 26031,0.027,0.052,0.086,0.252,0.584 26033,0.03,0.022,0.068,0.287,0.593 26035,0.05,0.026,0.102,0.308,0.514 26037,0.033,0.056,0.046,0.263,0.603 26039,0.043,0.05,0.061,0.181,0.666 26041,0.058,0.023,0.17,0.217,0.532 26043,0.043,0.065,0.127,0.249,0.516 26045,0.047,0.039,0.147,0.247,0.52 26047,0.025,0.062,0.075,0.219,0.618 26049,0.032,0.043,0.104,0.288,0.533 26051,0.025,0.024,0.109,0.338,0.503 26053,0.039,0.064,0.139,0.257,0.501 26055,0.004,0.041,0.082,0.2,0.672 26057,0.057,0.074,0.105,0.169,0.596 26059,0.135,0.075,0.119,0.247,0.424 26061,0.008,0.078,0.129,0.281,0.505 26063,0.08,0.072,0.032,0.271,0.544 26065,0.062,0.03,0.076,0.237,0.595 26067,0.035,0.203,0.139,0.229,0.394 26069,0.1,0.084,0.099,0.206,0.511 26071,0.046,0.068,0.126,0.227,0.533 26073,0.096,0.057,0.112,0.191,0.544 26075,0.11,0.08,0.133,0.166,0.511 26077,0.02,0.059,0.062,0.167,0.693 26079,0.018,0.037,0.07,0.228,0.646 26081,0.019,0.061,0.063,0.215,0.641 26083,0.006,0.071,0.129,0.277,0.518 26085,0.052,0.122,0.073,0.204,0.548 26087,0.036,0.105,0.104,0.133,0.622 26089,0.003,0.038,0.092,0.203,0.663 26091,0.018,0.027,0.083,0.26,0.612 26093,0.042,0.021,0.052,0.198,0.687 26095,0.028,0.03,0.088,0.237,0.617 26097,0.032,0.04,0.073,0.256,0.599 26099,0.034,0.043,0.09,0.145,0.688 26101,0.035,0.05,0.087,0.121,0.707 26103,0.016,0.045,0.11,0.251,0.578 26105,0.046,0.054,0.199,0.14,0.561 26107,0.091,0.104,0.087,0.243,0.475 26109,0.059,0.073,0.068,0.253,0.547 26111,0.031,0.03,0.098,0.214,0.626 26113,0.025,0.036,0.082,0.191,0.666 26115,0.066,0.035,0.054,0.183,0.663 26117,0.028,0.137,0.167,0.21,0.458 26119,0.044,0.071,0.126,0.186,0.574 26121,0.084,0.045,0.1,0.16,0.611 26123,0.099,0.121,0.027,0.3,0.454 26125,0.028,0.027,0.049,0.169,0.727 26127,0.074,0.033,0.114,0.163,0.616 26129,0.061,0.117,0.106,0.259,0.458 26131,0.025,0.086,0.123,0.265,0.501 26133,0.07,0.073,0.089,0.238,0.531 26135,0.057,0.073,0.096,0.181,0.593 26137,0.06,0.068,0.097,0.172,0.602 26139,0.042,0.057,0.12,0.251,0.531 26141,0.02,0.04,0.143,0.223,0.575 26143,0.012,0.037,0.097,0.217,0.637 26145,0.031,0.073,0.082,0.197,0.616 26147,0.051,0.069,0.046,0.194,0.64 26149,0.048,0.079,0.197,0.189,0.488 26151,0.078,0.112,0.077,0.21,0.522 26153,0.041,0.021,0.14,0.187,0.611 26155,0.116,0.046,0.065,0.297,0.475 26157,0.091,0.05,0.078,0.246,0.536 26159,0.025,0.068,0.137,0.183,0.587 26161,0.019,0.022,0.046,0.18,0.733 26163,0.046,0.032,0.075,0.156,0.69 26165,0.036,0.056,0.077,0.171,0.659 27001,0.187,0.115,0.075,0.247,0.375 27003,0.054,0.078,0.132,0.245,0.492 27005,0.052,0.28,0.175,0.24,0.252 27007,0.094,0.155,0.225,0.185,0.34 27009,0.084,0.139,0.209,0.147,0.42 27011,0.256,0.121,0.185,0.146,0.292 27013,0.065,0.078,0.146,0.276,0.435 27015,0.101,0.061,0.251,0.265,0.322 27017,0.058,0.054,0.09,0.329,0.469 27019,0.024,0.128,0.183,0.296,0.368 27021,0.105,0.127,0.107,0.235,0.426 27023,0.108,0.106,0.244,0.224,0.318 27025,0.064,0.104,0.165,0.253,0.414 27027,0.092,0.121,0.138,0.23,0.419 27029,0.065,0.21,0.203,0.172,0.351 27031,0.184,0.02,0.038,0.257,0.5 27033,0.216,0.045,0.262,0.215,0.263 27035,0.147,0.112,0.081,0.249,0.411 27037,0.072,0.076,0.129,0.236,0.488 27039,0.035,0.096,0.071,0.325,0.473 27041,0.099,0.178,0.148,0.225,0.35 27043,0.078,0.158,0.163,0.261,0.34 27045,0.026,0.102,0.099,0.29,0.483 27047,0.135,0.085,0.206,0.283,0.291 27049,0.03,0.039,0.138,0.28,0.513 27051,0.11,0.137,0.193,0.165,0.396 27053,0.021,0.044,0.096,0.243,0.596 27055,0.072,0.08,0.086,0.283,0.478 27057,0.078,0.15,0.164,0.227,0.38 27059,0.104,0.099,0.215,0.14,0.442 27061,0.162,0.142,0.151,0.209,0.336 27063,0.325,0.024,0.14,0.171,0.34 27065,0.223,0.148,0.137,0.146,0.346 27067,0.109,0.107,0.182,0.29,0.312 27069,0.068,0.168,0.221,0.251,0.292 27071,0.159,0.183,0.087,0.255,0.316 27073,0.184,0.096,0.248,0.179,0.293 27075,0.087,0.033,0.075,0.341,0.464 27077,0.091,0.171,0.176,0.249,0.313 27079,0.055,0.168,0.147,0.254,0.377 27081,0.11,0.078,0.203,0.292,0.317 27083,0.134,0.075,0.242,0.21,0.339 27085,0.061,0.176,0.193,0.383,0.186 27087,0.07,0.279,0.083,0.185,0.382 27089,0.078,0.152,0.221,0.234,0.315 27091,0.18,0.115,0.134,0.205,0.366 27093,0.072,0.144,0.094,0.323,0.367 27095,0.224,0.122,0.159,0.146,0.349 27097,0.14,0.126,0.121,0.24,0.373 27099,0.071,0.107,0.113,0.262,0.448 27101,0.131,0.071,0.224,0.27,0.303 27103,0.063,0.085,0.164,0.296,0.392 27105,0.244,0.078,0.18,0.215,0.284 27107,0.122,0.154,0.109,0.186,0.428 27109,0.023,0.101,0.057,0.333,0.485 27111,0.078,0.182,0.278,0.17,0.291 27113,0.081,0.197,0.211,0.205,0.306 27115,0.178,0.143,0.074,0.242,0.364 27117,0.088,0.182,0.132,0.281,0.317 27119,0.104,0.208,0.197,0.196,0.295 27121,0.139,0.147,0.103,0.216,0.395 27123,0.044,0.046,0.086,0.259,0.564 27125,0.095,0.241,0.194,0.184,0.286 27127,0.081,0.123,0.248,0.255,0.293 27129,0.05,0.136,0.193,0.374,0.247 27131,0.089,0.038,0.117,0.301,0.454 27133,0.095,0.22,0.11,0.247,0.328 27135,0.077,0.151,0.211,0.234,0.327 27137,0.095,0.052,0.098,0.297,0.457 27139,0.021,0.057,0.12,0.319,0.482 27141,0.064,0.175,0.175,0.239,0.346 27143,0.04,0.175,0.172,0.38,0.233 27145,0.082,0.142,0.187,0.174,0.415 27147,0.074,0.062,0.144,0.354,0.365 27149,0.169,0.126,0.117,0.192,0.397 27151,0.17,0.113,0.152,0.212,0.353 27153,0.097,0.198,0.146,0.196,0.363 27155,0.196,0.139,0.16,0.11,0.395 27157,0.041,0.085,0.129,0.318,0.427 27159,0.061,0.211,0.157,0.203,0.367 27161,0.074,0.048,0.117,0.332,0.429 27163,0.044,0.088,0.103,0.262,0.503 27165,0.149,0.053,0.225,0.221,0.352 27167,0.166,0.148,0.239,0.096,0.352 27169,0.029,0.151,0.057,0.328,0.435 27171,0.083,0.109,0.162,0.259,0.387 27173,0.122,0.096,0.254,0.202,0.326 28001,0.113,0.112,0.131,0.084,0.56 28003,0.069,0.131,0.15,0.222,0.428 28005,0.11,0.092,0.122,0.204,0.473 28007,0.065,0.104,0.092,0.139,0.601 28009,0.018,0.014,0.246,0.233,0.489 28011,0.123,0.046,0.127,0.249,0.456 28013,0.074,0.161,0.092,0.179,0.494 28015,0.08,0.144,0.119,0.12,0.537 28017,0.07,0.134,0.088,0.182,0.525 28019,0.035,0.094,0.064,0.219,0.588 28021,0.038,0.061,0.088,0.214,0.598 28023,0.044,0.021,0.133,0.205,0.597 28025,0.029,0.082,0.098,0.214,0.577 28027,0.038,0.056,0.118,0.33,0.459 28029,0.073,0.084,0.134,0.157,0.552 28031,0.11,0.105,0.085,0.193,0.506 28033,0.055,0.078,0.088,0.236,0.543 28035,0.072,0.042,0.091,0.267,0.527 28037,0.087,0.112,0.154,0.138,0.509 28039,0.037,0.102,0.088,0.346,0.428 28041,0.015,0.112,0.07,0.262,0.541 28043,0.056,0.135,0.133,0.189,0.486 28045,0.063,0.09,0.089,0.254,0.503 28047,0.093,0.071,0.142,0.237,0.457 28049,0.019,0.096,0.115,0.183,0.588 28051,0.062,0.072,0.095,0.099,0.672 28053,0.117,0.071,0.098,0.104,0.61 28055,0.03,0.06,0.137,0.162,0.612 28057,0.116,0.074,0.155,0.191,0.464 28059,0.077,0.092,0.12,0.24,0.472 28061,0.066,0.09,0.144,0.167,0.533 28063,0.076,0.083,0.137,0.15,0.555 28065,0.141,0.132,0.101,0.181,0.445 28067,0.069,0.079,0.118,0.169,0.565 28069,0.032,0.021,0.082,0.177,0.687 28071,0.019,0.059,0.161,0.2,0.56 28073,0.087,0.045,0.08,0.27,0.517 28075,0.036,0.018,0.105,0.197,0.643 28077,0.119,0.133,0.142,0.135,0.471 28079,0.031,0.04,0.139,0.158,0.633 28081,0.094,0.092,0.13,0.18,0.505 28083,0.122,0.093,0.119,0.129,0.537 28085,0.077,0.129,0.136,0.142,0.516 28087,0.018,0.052,0.148,0.193,0.59 28089,0.029,0.043,0.184,0.242,0.502 28091,0.137,0.096,0.103,0.255,0.408 28093,0.013,0.006,0.13,0.301,0.55 28095,0.087,0.064,0.139,0.171,0.539 28097,0.058,0.176,0.109,0.147,0.51 28099,0.017,0.018,0.066,0.171,0.729 28101,0.01,0.025,0.1,0.203,0.662 28103,0.009,0.034,0.112,0.203,0.642 28105,0.015,0.07,0.081,0.242,0.591 28107,0.061,0.158,0.113,0.269,0.399 28109,0.05,0.124,0.088,0.251,0.487 28111,0.057,0.056,0.11,0.273,0.503 28113,0.116,0.092,0.106,0.155,0.531 28115,0.06,0.113,0.114,0.197,0.516 28117,0.103,0.104,0.17,0.234,0.389 28119,0.041,0.101,0.1,0.312,0.446 28121,0.031,0.103,0.127,0.179,0.561 28123,0.026,0.049,0.129,0.252,0.543 28125,0.066,0.068,0.148,0.128,0.59 28127,0.081,0.124,0.149,0.154,0.491 28129,0.106,0.172,0.111,0.194,0.417 28131,0.109,0.064,0.124,0.224,0.479 28133,0.137,0.064,0.118,0.182,0.498 28135,0.061,0.086,0.118,0.274,0.461 28137,0.097,0.052,0.149,0.265,0.437 28139,0.068,0.069,0.217,0.213,0.434 28141,0.072,0.179,0.155,0.225,0.37 28143,0.131,0.036,0.089,0.176,0.568 28145,0.078,0.085,0.148,0.219,0.47 28147,0.158,0.086,0.134,0.213,0.409 28149,0.021,0.079,0.095,0.217,0.586 28151,0.138,0.084,0.164,0.114,0.5 28153,0.037,0.062,0.121,0.194,0.587 28155,0.052,0.145,0.079,0.222,0.502 28157,0.146,0.143,0.075,0.155,0.481 28159,0.029,0.038,0.057,0.199,0.676 28161,0.029,0.108,0.121,0.217,0.523 28163,0.05,0.038,0.145,0.159,0.608 29001,0.067,0.098,0.187,0.253,0.395 29003,0.133,0.197,0.164,0.234,0.272 29005,0.09,0.144,0.097,0.287,0.382 29007,0.11,0.078,0.203,0.281,0.327 29009,0.106,0.06,0.256,0.235,0.343 29011,0.15,0.131,0.134,0.111,0.474 29013,0.138,0.068,0.112,0.237,0.444 29015,0.188,0.122,0.168,0.277,0.245 29017,0.097,0.152,0.132,0.268,0.35 29019,0.073,0.075,0.113,0.224,0.515 29021,0.121,0.183,0.175,0.219,0.302 29023,0.189,0.175,0.16,0.135,0.342 29025,0.109,0.133,0.211,0.18,0.367 29027,0.123,0.12,0.217,0.196,0.344 29029,0.266,0.093,0.147,0.124,0.371 29031,0.08,0.109,0.137,0.285,0.389 29033,0.155,0.13,0.078,0.286,0.351 29035,0.159,0.285,0.151,0.125,0.281 29037,0.027,0.082,0.17,0.185,0.535 29039,0.275,0.056,0.173,0.155,0.341 29041,0.117,0.141,0.084,0.278,0.38 29043,0.13,0.113,0.053,0.253,0.451 29045,0.154,0.138,0.165,0.223,0.32 29047,0.033,0.037,0.076,0.199,0.655 29049,0.066,0.103,0.106,0.209,0.517 29051,0.087,0.185,0.107,0.187,0.434 29053,0.06,0.09,0.127,0.183,0.54 29055,0.167,0.148,0.136,0.159,0.391 29057,0.312,0.044,0.138,0.136,0.369 29059,0.165,0.143,0.167,0.154,0.371 29061,0.124,0.166,0.172,0.247,0.291 29063,0.144,0.133,0.159,0.241,0.323 29065,0.167,0.169,0.175,0.196,0.293 29067,0.285,0.149,0.07,0.167,0.328 29069,0.068,0.085,0.154,0.215,0.478 29071,0.122,0.086,0.1,0.233,0.458 29073,0.086,0.207,0.168,0.135,0.404 29075,0.101,0.166,0.182,0.299,0.251 29077,0.099,0.082,0.128,0.272,0.418 29079,0.195,0.193,0.129,0.247,0.236 29081,0.173,0.128,0.215,0.248,0.236 29083,0.128,0.147,0.117,0.345,0.262 29085,0.182,0.18,0.159,0.164,0.316 29087,0.129,0.223,0.156,0.232,0.26 29089,0.076,0.096,0.107,0.191,0.531 29091,0.301,0.142,0.208,0.107,0.242 29093,0.133,0.091,0.072,0.28,0.423 29095,0.027,0.066,0.088,0.21,0.609 29097,0.138,0.152,0.147,0.176,0.388 29099,0.042,0.117,0.178,0.216,0.447 29101,0.168,0.107,0.026,0.189,0.511 29103,0.082,0.112,0.182,0.271,0.353 29105,0.313,0.121,0.172,0.107,0.287 29107,0.033,0.098,0.052,0.247,0.571 29109,0.241,0.05,0.251,0.222,0.237 29111,0.164,0.109,0.177,0.23,0.32 29113,0.063,0.119,0.236,0.282,0.299 29115,0.126,0.156,0.118,0.274,0.326 29117,0.15,0.228,0.111,0.25,0.26 29119,0.152,0.145,0.089,0.138,0.476 29121,0.118,0.127,0.158,0.258,0.338 29123,0.082,0.124,0.092,0.296,0.406 29125,0.098,0.158,0.121,0.198,0.424 29127,0.178,0.093,0.212,0.185,0.332 29129,0.23,0.13,0.216,0.162,0.261 29131,0.2,0.126,0.137,0.147,0.39 29133,0.129,0.097,0.141,0.221,0.413 29135,0.102,0.268,0.11,0.202,0.318 29137,0.164,0.105,0.182,0.203,0.346 29139,0.062,0.077,0.161,0.307,0.392 29141,0.211,0.118,0.175,0.193,0.304 29143,0.098,0.112,0.149,0.18,0.461 29145,0.156,0.121,0.14,0.211,0.373 29147,0.093,0.193,0.16,0.283,0.272 29149,0.142,0.196,0.293,0.129,0.241 29151,0.067,0.133,0.171,0.16,0.469 29153,0.179,0.128,0.128,0.13,0.435 29155,0.079,0.134,0.175,0.204,0.407 29157,0.032,0.102,0.156,0.302,0.408 29159,0.185,0.111,0.156,0.254,0.294 29161,0.139,0.177,0.119,0.244,0.32 29163,0.082,0.128,0.363,0.263,0.164 29165,0.044,0.04,0.088,0.189,0.638 29167,0.183,0.109,0.103,0.189,0.416 29169,0.208,0.103,0.16,0.175,0.354 29171,0.107,0.111,0.209,0.191,0.382 29173,0.16,0.106,0.248,0.196,0.29 29175,0.163,0.088,0.145,0.194,0.41 29177,0.073,0.124,0.233,0.184,0.386 29179,0.137,0.183,0.085,0.229,0.366 29181,0.126,0.254,0.161,0.15,0.308 29183,0.041,0.05,0.091,0.286,0.532 29185,0.163,0.145,0.182,0.279,0.23 29186,0.025,0.14,0.144,0.311,0.38 29187,0.103,0.12,0.085,0.264,0.428 29189,0.024,0.028,0.069,0.182,0.697 29195,0.083,0.23,0.112,0.186,0.389 29197,0.05,0.101,0.211,0.222,0.416 29199,0.073,0.112,0.209,0.246,0.361 29201,0.125,0.115,0.128,0.247,0.385 29203,0.212,0.25,0.198,0.098,0.243 29205,0.142,0.144,0.16,0.238,0.317 29207,0.137,0.12,0.156,0.176,0.411 29209,0.056,0.093,0.171,0.247,0.434 29211,0.136,0.127,0.174,0.223,0.341 29213,0.053,0.079,0.214,0.155,0.499 29215,0.309,0.171,0.231,0.106,0.183 29217,0.164,0.105,0.11,0.125,0.496 29219,0.11,0.083,0.111,0.25,0.446 29221,0.181,0.092,0.118,0.191,0.418 29223,0.191,0.171,0.13,0.196,0.313 29225,0.297,0.09,0.162,0.137,0.313 29227,0.098,0.17,0.218,0.272,0.241 29229,0.419,0.139,0.187,0.1,0.155 29510,0.039,0.017,0.08,0.137,0.726 30001,0.165,0.127,0.102,0.18,0.425 30003,0.136,0.196,0.147,0.25,0.271 30005,0.287,0.08,0.188,0.252,0.192 30007,0.165,0.098,0.099,0.199,0.439 30009,0.14,0.169,0.163,0.26,0.267 30011,0.123,0.121,0.127,0.212,0.417 30013,0.17,0.143,0.16,0.145,0.382 30015,0.196,0.135,0.171,0.152,0.346 30017,0.085,0.261,0.144,0.28,0.23 30019,0.172,0.244,0.186,0.269,0.129 30021,0.139,0.249,0.176,0.274,0.161 30023,0.141,0.173,0.064,0.133,0.489 30025,0.118,0.199,0.146,0.296,0.24 30027,0.284,0.111,0.157,0.187,0.261 30029,0.076,0.167,0.159,0.224,0.374 30031,0.132,0.093,0.115,0.213,0.448 30033,0.134,0.199,0.18,0.265,0.221 30035,0.084,0.154,0.17,0.196,0.396 30037,0.134,0.181,0.168,0.246,0.271 30039,0.116,0.17,0.109,0.183,0.422 30041,0.27,0.106,0.159,0.192,0.273 30043,0.158,0.111,0.076,0.169,0.487 30045,0.233,0.11,0.17,0.139,0.349 30047,0.087,0.23,0.128,0.206,0.349 30049,0.149,0.107,0.08,0.185,0.479 30051,0.188,0.146,0.167,0.147,0.352 30053,0.118,0.174,0.118,0.188,0.402 30055,0.142,0.274,0.179,0.267,0.139 30057,0.172,0.113,0.105,0.21,0.4 30059,0.188,0.093,0.12,0.203,0.396 30061,0.097,0.278,0.119,0.183,0.323 30063,0.091,0.2,0.128,0.209,0.372 30065,0.128,0.178,0.169,0.257,0.268 30067,0.114,0.099,0.106,0.214,0.467 30069,0.157,0.154,0.174,0.247,0.269 30071,0.229,0.114,0.214,0.296,0.147 30073,0.123,0.175,0.17,0.142,0.39 30075,0.193,0.24,0.106,0.188,0.273 30077,0.118,0.144,0.069,0.14,0.53 30079,0.101,0.27,0.171,0.283,0.176 30081,0.121,0.177,0.114,0.195,0.393 30083,0.176,0.216,0.162,0.255,0.191 30085,0.169,0.246,0.178,0.261,0.146 30087,0.126,0.214,0.143,0.248,0.269 30089,0.15,0.204,0.191,0.172,0.283 30091,0.179,0.203,0.178,0.256,0.185 30093,0.158,0.138,0.059,0.143,0.503 30095,0.126,0.173,0.16,0.255,0.286 30097,0.116,0.157,0.126,0.227,0.374 30099,0.134,0.176,0.147,0.152,0.391 30101,0.138,0.165,0.178,0.135,0.384 30103,0.122,0.188,0.16,0.259,0.27 30105,0.172,0.235,0.187,0.291,0.115 30107,0.214,0.135,0.144,0.189,0.318 30109,0.165,0.219,0.161,0.267,0.187 30111,0.129,0.177,0.167,0.262,0.265 31001,0.057,0.128,0.089,0.291,0.435 31003,0.198,0.096,0.191,0.161,0.354 31005,0.144,0.135,0.117,0.248,0.356 31007,0.249,0.128,0.134,0.216,0.272 31009,0.176,0.103,0.123,0.305,0.293 31011,0.156,0.08,0.151,0.197,0.415 31013,0.303,0.112,0.096,0.285,0.203 31015,0.081,0.159,0.267,0.184,0.309 31017,0.141,0.082,0.167,0.275,0.335 31019,0.065,0.113,0.104,0.327,0.391 31021,0.066,0.063,0.09,0.321,0.46 31023,0.027,0.105,0.263,0.238,0.365 31025,0.042,0.049,0.119,0.24,0.55 31027,0.207,0.163,0.161,0.177,0.293 31029,0.055,0.192,0.156,0.232,0.364 31031,0.158,0.042,0.095,0.377,0.328 31033,0.116,0.159,0.164,0.338,0.223 31035,0.064,0.132,0.124,0.28,0.4 31037,0.054,0.089,0.228,0.287,0.341 31039,0.147,0.066,0.122,0.347,0.317 31041,0.143,0.104,0.112,0.328,0.314 31043,0.113,0.167,0.131,0.163,0.425 31045,0.224,0.103,0.11,0.321,0.242 31047,0.096,0.114,0.115,0.348,0.328 31049,0.093,0.147,0.138,0.267,0.355 31051,0.163,0.16,0.131,0.162,0.383 31053,0.14,0.036,0.136,0.374,0.314 31055,0.091,0.069,0.095,0.263,0.482 31057,0.053,0.232,0.173,0.231,0.311 31059,0.053,0.096,0.263,0.375,0.213 31061,0.083,0.168,0.083,0.288,0.378 31063,0.094,0.121,0.136,0.336,0.313 31065,0.101,0.135,0.129,0.319,0.315 31067,0.127,0.03,0.103,0.26,0.48 31069,0.202,0.124,0.119,0.268,0.288 31071,0.168,0.084,0.142,0.236,0.37 31073,0.086,0.12,0.115,0.347,0.333 31075,0.199,0.116,0.102,0.27,0.313 31077,0.122,0.091,0.122,0.245,0.421 31079,0.048,0.114,0.103,0.284,0.451 31081,0.04,0.124,0.157,0.252,0.427 31083,0.089,0.158,0.102,0.302,0.348 31085,0.072,0.151,0.161,0.273,0.343 31087,0.085,0.162,0.19,0.263,0.301 31089,0.113,0.134,0.234,0.154,0.365 31091,0.151,0.123,0.11,0.279,0.337 31093,0.073,0.104,0.108,0.281,0.433 31095,0.206,0.05,0.055,0.306,0.384 31097,0.061,0.175,0.247,0.207,0.31 31099,0.062,0.127,0.094,0.318,0.399 31101,0.093,0.15,0.13,0.235,0.393 31103,0.124,0.09,0.183,0.273,0.331 31105,0.187,0.173,0.161,0.228,0.25 31107,0.171,0.178,0.195,0.157,0.299 31109,0.093,0.061,0.112,0.264,0.47 31111,0.103,0.145,0.123,0.287,0.341 31113,0.14,0.133,0.115,0.308,0.304 31115,0.193,0.084,0.129,0.276,0.318 31117,0.121,0.147,0.115,0.257,0.361 31119,0.251,0.082,0.194,0.156,0.317 31121,0.05,0.125,0.137,0.234,0.454 31123,0.261,0.119,0.124,0.273,0.223 31125,0.091,0.111,0.131,0.207,0.459 31127,0.09,0.148,0.137,0.293,0.333 31129,0.138,0.132,0.064,0.349,0.318 31131,0.11,0.097,0.09,0.275,0.428 31133,0.067,0.147,0.215,0.254,0.316 31135,0.069,0.164,0.142,0.233,0.393 31137,0.072,0.126,0.103,0.336,0.363 31139,0.253,0.11,0.185,0.142,0.311 31141,0.044,0.094,0.176,0.254,0.432 31143,0.029,0.167,0.277,0.174,0.353 31145,0.102,0.123,0.169,0.308,0.298 31147,0.098,0.185,0.166,0.252,0.298 31149,0.13,0.102,0.198,0.222,0.349 31151,0.021,0.07,0.186,0.217,0.507 31153,0.094,0.069,0.144,0.26,0.433 31155,0.108,0.09,0.28,0.223,0.3 31157,0.256,0.132,0.113,0.245,0.255 31159,0.028,0.046,0.216,0.109,0.601 31161,0.248,0.083,0.094,0.333,0.242 31163,0.093,0.099,0.11,0.307,0.39 31165,0.241,0.161,0.101,0.292,0.205 31167,0.265,0.08,0.192,0.154,0.309 31169,0.185,0.071,0.066,0.429,0.249 31171,0.152,0.12,0.118,0.302,0.308 31173,0.123,0.153,0.119,0.187,0.418 31175,0.135,0.09,0.118,0.278,0.38 31177,0.086,0.116,0.15,0.261,0.386 31179,0.245,0.12,0.155,0.141,0.34 31181,0.091,0.167,0.068,0.286,0.389 31183,0.162,0.084,0.155,0.201,0.399 31185,0.044,0.168,0.422,0.184,0.182 32001,0.022,0.093,0.058,0.153,0.674 32003,0.027,0.032,0.054,0.145,0.742 32005,0.029,0.055,0.091,0.238,0.588 32007,0.021,0.046,0.19,0.364,0.379 32009,0.086,0.004,0.006,0.032,0.872 32011,0.002,0.054,0.17,0.386,0.387 32013,0.008,0.042,0.156,0.069,0.725 32015,0.004,0.085,0.142,0.182,0.588 32017,0.048,0.019,0.147,0.177,0.61 32019,0.037,0.069,0.05,0.173,0.671 32021,0.022,0.018,0.09,0.115,0.755 32023,0.061,0.038,0.052,0.183,0.666 32027,0.01,0.013,0.248,0.038,0.691 32029,0.015,0.038,0.039,0.126,0.782 32031,0.024,0.025,0.06,0.215,0.676 32033,0.059,0.016,0.208,0.421,0.296 32510,0.023,0.064,0.054,0.274,0.585 33001,0.114,0.02,0.11,0.158,0.598 33003,0.088,0.035,0.107,0.172,0.598 33005,0.02,0.075,0.093,0.202,0.609 33007,0.017,0.05,0.068,0.169,0.697 33009,0.039,0.026,0.032,0.199,0.705 33011,0.03,0.069,0.066,0.164,0.67 33013,0.085,0.067,0.075,0.158,0.615 33015,0.018,0.057,0.074,0.212,0.639 33017,0.08,0.074,0.098,0.19,0.558 33019,0.06,0.103,0.012,0.252,0.574 34001,0.019,0.041,0.03,0.176,0.734 34003,0.02,0.014,0.053,0.151,0.762 34005,0.023,0.02,0.043,0.134,0.779 34007,0.028,0.005,0.027,0.137,0.802 34009,0.013,0.011,0.022,0.214,0.74 34011,0.032,0.006,0.058,0.142,0.762 34013,0.035,0.014,0.085,0.183,0.682 34015,0.047,0.01,0.052,0.145,0.746 34017,0.022,0.019,0.077,0.211,0.67 34019,0.007,0.038,0.065,0.085,0.804 34021,0.017,0.014,0.05,0.162,0.757 34023,0.02,0.016,0.054,0.146,0.765 34025,0.01,0.022,0.041,0.164,0.764 34027,0.023,0.018,0.049,0.191,0.72 34029,0.012,0.056,0.055,0.104,0.772 34031,0.029,0.015,0.063,0.138,0.756 34033,0.041,0.043,0.036,0.154,0.726 34035,0.016,0.027,0.046,0.12,0.791 34037,0.02,0.026,0.029,0.205,0.72 34039,0.012,0.011,0.059,0.202,0.716 34041,0.035,0.02,0.044,0.152,0.749 35001,0.036,0.014,0.057,0.135,0.758 35003,0.054,0.039,0.036,0.109,0.762 35005,0.074,0.04,0.108,0.144,0.634 35006,0.003,0.059,0.014,0.085,0.839 35007,0.041,0.019,0.091,0.106,0.743 35009,0.011,0.129,0.111,0.209,0.54 35011,0.036,0.069,0.085,0.098,0.712 35013,0.011,0.044,0.036,0.097,0.812 35015,0.2,0.07,0.092,0.239,0.399 35017,0.043,0.031,0.15,0.205,0.572 35019,0.014,0.049,0.072,0.098,0.766 35021,0.057,0.152,0.062,0.115,0.614 35023,0.056,0.037,0.186,0.153,0.569 35025,0.112,0.024,0.115,0.331,0.418 35027,0.04,0.012,0.055,0.162,0.731 35028,0.001,0.041,0.076,0.173,0.709 35029,0.105,0.046,0.024,0.11,0.715 35031,0.01,0.06,0.008,0.202,0.721 35033,0.002,0.027,0.067,0.098,0.806 35035,0.074,0.03,0.143,0.158,0.595 35037,0.049,0.152,0.07,0.159,0.571 35039,0.007,0.054,0.102,0.162,0.675 35041,0.009,0.154,0.089,0.146,0.602 35043,0.017,0.015,0.096,0.11,0.762 35045,0.057,0.015,0.118,0.255,0.555 35047,0.004,0.02,0.057,0.119,0.8 35049,0.008,0.016,0.031,0.143,0.803 35051,0.03,0.039,0.033,0.239,0.659 35053,0.002,0.008,0.05,0.193,0.746 35055,0.006,0.041,0.055,0.113,0.785 35057,0.097,0.005,0.035,0.167,0.696 35059,0.12,0.118,0.127,0.242,0.393 35061,0.006,0.009,0.143,0.195,0.648 36001,0.006,0.012,0.052,0.142,0.788 36003,0.062,0.015,0.028,0.124,0.771 36005,0.043,0.013,0.066,0.136,0.742 36007,0.044,0.028,0.051,0.066,0.812 36009,0.015,0.013,0.024,0.156,0.793 36011,0,0.033,0.072,0.162,0.732 36013,0.029,0.024,0.038,0.206,0.703 36015,0.012,0.046,0.092,0.256,0.594 36017,0.048,0.045,0.015,0.156,0.735 36019,0.017,0.024,0.102,0.084,0.773 36021,0.014,0.004,0.029,0.104,0.848 36023,0.001,0.062,0.015,0.118,0.803 36025,0.057,0.053,0.034,0.112,0.744 36027,0.007,0.009,0.031,0.099,0.854 36029,0.018,0.014,0.04,0.161,0.766 36031,0.05,0.05,0.057,0.107,0.736 36033,0.026,0.027,0.117,0.097,0.733 36035,0.078,0.015,0.06,0.118,0.729 36037,0.001,0.017,0.015,0.187,0.781 36039,0.022,0.014,0.03,0.146,0.788 36041,0.042,0.024,0.053,0.229,0.653 36043,0.015,0.026,0.042,0.158,0.758 36045,0.008,0.058,0.038,0.116,0.78 36047,0.035,0.034,0.058,0.141,0.732 36049,0.069,0.036,0.02,0.11,0.765 36051,0.011,0.034,0.009,0.111,0.835 36053,0.003,0.015,0.043,0.107,0.832 36055,0.018,0.012,0.056,0.129,0.785 36057,0.102,0.005,0.054,0.09,0.749 36059,0.017,0.018,0.043,0.142,0.779 36061,0.02,0.016,0.04,0.121,0.803 36063,0.001,0.028,0.037,0.204,0.73 36065,0.016,0.025,0.033,0.153,0.774 36067,0.019,0.008,0.054,0.163,0.756 36069,0.001,0.012,0.031,0.107,0.849 36071,0.023,0.008,0.042,0.18,0.746 36073,0.001,0.033,0.059,0.213,0.693 36075,0.017,0.003,0.094,0.119,0.766 36077,0.032,0.065,0.027,0.096,0.779 36079,0.003,0.018,0.022,0.105,0.852 36081,0.022,0.023,0.068,0.136,0.751 36083,0.018,0.018,0.073,0.14,0.751 36085,0.033,0.015,0.046,0.178,0.728 36087,0.011,0.018,0.054,0.195,0.722 36089,0.027,0.029,0.095,0.149,0.701 36091,0.02,0.012,0.062,0.156,0.751 36093,0.04,0.007,0.051,0.06,0.841 36095,0.007,0.02,0.04,0.108,0.825 36097,0.01,0.009,0.071,0.239,0.67 36099,0.001,0.012,0.042,0.082,0.864 36101,0.036,0.031,0.057,0.201,0.674 36103,0.04,0.019,0.053,0.106,0.782 36105,0.024,0.03,0.043,0.085,0.817 36107,0.019,0.011,0.018,0.114,0.839 36109,0.012,0.01,0.046,0.098,0.833 36111,0.014,0.023,0.045,0.1,0.818 36113,0.026,0.018,0.104,0.13,0.723 36115,0.026,0.027,0.135,0.138,0.673 36117,0.001,0.016,0.061,0.132,0.789 36119,0.025,0.018,0.044,0.115,0.798 36121,0.001,0.024,0.008,0.107,0.861 36123,0,0.006,0.023,0.087,0.884 37001,0.04,0.073,0.126,0.175,0.586 37003,0.027,0.023,0.103,0.272,0.575 37005,0.153,0.067,0.067,0.21,0.504 37007,0.053,0.062,0.08,0.163,0.641 37009,0.149,0.026,0.083,0.287,0.455 37011,0.096,0.01,0.212,0.173,0.509 37013,0.037,0.08,0.041,0.219,0.623 37015,0.1,0.04,0.064,0.214,0.582 37017,0.073,0.023,0.076,0.104,0.724 37019,0.024,0.018,0.036,0.248,0.673 37021,0.009,0.023,0.044,0.23,0.693 37023,0.091,0.056,0.124,0.189,0.54 37025,0.04,0.022,0.092,0.27,0.576 37027,0.028,0.031,0.072,0.199,0.67 37029,0.091,0.025,0.121,0.188,0.575 37031,0.01,0.067,0.167,0.197,0.56 37033,0.06,0.035,0.199,0.179,0.527 37035,0.035,0.07,0.13,0.214,0.551 37037,0.007,0.025,0.063,0.139,0.766 37039,0.085,0.109,0.101,0.147,0.557 37041,0.044,0.011,0.152,0.296,0.497 37043,0.099,0.091,0.095,0.169,0.546 37045,0.062,0.121,0.094,0.151,0.573 37047,0.179,0.043,0.113,0.155,0.511 37049,0.034,0.068,0.212,0.215,0.47 37051,0.028,0.047,0.1,0.175,0.649 37053,0.157,0.021,0.131,0.167,0.524 37055,0.028,0.005,0.102,0.194,0.671 37057,0.058,0.085,0.169,0.134,0.554 37059,0.074,0.067,0.037,0.14,0.681 37061,0.068,0.044,0.143,0.126,0.62 37063,0.017,0.014,0.033,0.104,0.832 37065,0.021,0.037,0.055,0.184,0.703 37067,0.02,0.022,0.068,0.183,0.706 37069,0.038,0.03,0.061,0.127,0.745 37071,0.038,0.079,0.054,0.197,0.632 37073,0.008,0.022,0.19,0.21,0.57 37075,0.095,0.072,0.096,0.236,0.502 37077,0.042,0.033,0.082,0.107,0.736 37079,0.072,0.061,0.127,0.24,0.501 37081,0.04,0.055,0.117,0.199,0.588 37083,0.014,0.007,0.068,0.2,0.711 37085,0.031,0.069,0.06,0.129,0.711 37087,0.077,0.039,0.03,0.188,0.666 37089,0.014,0.028,0.042,0.201,0.715 37091,0.02,0.007,0.06,0.217,0.696 37093,0.009,0.047,0.092,0.236,0.616 37095,0.133,0.03,0.08,0.259,0.498 37097,0.08,0.051,0.106,0.219,0.544 37099,0.077,0.065,0.067,0.176,0.616 37101,0.032,0.022,0.113,0.151,0.682 37103,0.064,0.051,0.208,0.233,0.445 37105,0.066,0.102,0.081,0.115,0.636 37107,0.109,0.041,0.112,0.228,0.51 37109,0.029,0.09,0.084,0.234,0.563 37111,0.075,0.114,0.105,0.143,0.563 37113,0.153,0.039,0.085,0.182,0.541 37115,0.016,0.034,0.08,0.178,0.692 37117,0.084,0.089,0.071,0.15,0.605 37119,0.029,0.037,0.075,0.166,0.694 37121,0.096,0.035,0.146,0.154,0.569 37123,0.027,0.056,0.078,0.184,0.655 37125,0.039,0.105,0.041,0.237,0.578 37127,0.044,0.032,0.038,0.212,0.673 37129,0.019,0.032,0.032,0.25,0.667 37131,0.017,0.003,0.067,0.201,0.712 37133,0.039,0.039,0.159,0.254,0.509 37135,0.01,0.02,0.028,0.142,0.801 37137,0.036,0.057,0.181,0.243,0.482 37139,0.067,0.021,0.11,0.238,0.563 37141,0.05,0.035,0.142,0.169,0.603 37143,0.036,0.014,0.154,0.299,0.498 37145,0.01,0.008,0.07,0.166,0.746 37147,0.034,0.065,0.085,0.204,0.612 37149,0.018,0.115,0.105,0.263,0.499 37151,0.066,0.078,0.105,0.138,0.613 37153,0.05,0.039,0.145,0.153,0.612 37155,0.062,0.031,0.116,0.165,0.626 37157,0.125,0.094,0.124,0.111,0.546 37159,0.086,0.065,0.131,0.175,0.542 37161,0.045,0.17,0.098,0.156,0.532 37163,0.006,0.005,0.084,0.197,0.708 37165,0.137,0.029,0.178,0.199,0.458 37167,0.029,0.083,0.097,0.217,0.574 37169,0.015,0.034,0.116,0.247,0.588 37171,0.019,0.041,0.1,0.382,0.458 37173,0.079,0.061,0.086,0.247,0.528 37175,0.025,0.013,0.047,0.224,0.691 37177,0.054,0.016,0.103,0.301,0.527 37179,0.06,0.045,0.067,0.213,0.615 37181,0.042,0.031,0.137,0.159,0.631 37183,0.015,0.02,0.07,0.168,0.727 37185,0.027,0.024,0.105,0.158,0.686 37187,0.113,0.053,0.057,0.301,0.476 37189,0.062,0.01,0.072,0.363,0.493 37191,0.017,0.018,0.09,0.132,0.744 37193,0.046,0.071,0.164,0.208,0.511 37195,0.013,0.067,0.081,0.248,0.59 37197,0.073,0.027,0.08,0.199,0.621 37199,0.028,0.019,0.063,0.224,0.665 38001,0.219,0.166,0.189,0.233,0.193 38003,0.111,0.079,0.137,0.248,0.425 38005,0.289,0.194,0.118,0.195,0.204 38007,0.2,0.201,0.137,0.244,0.218 38009,0.206,0.119,0.142,0.259,0.274 38011,0.188,0.141,0.146,0.262,0.263 38013,0.191,0.147,0.151,0.258,0.253 38015,0.172,0.233,0.091,0.297,0.207 38017,0.09,0.113,0.142,0.233,0.423 38019,0.146,0.272,0.165,0.222,0.195 38021,0.151,0.077,0.227,0.277,0.267 38023,0.186,0.168,0.163,0.255,0.227 38025,0.195,0.189,0.125,0.252,0.239 38027,0.269,0.159,0.117,0.209,0.246 38029,0.16,0.221,0.094,0.302,0.222 38031,0.265,0.081,0.081,0.27,0.304 38033,0.187,0.206,0.149,0.256,0.203 38035,0.097,0.122,0.222,0.253,0.305 38037,0.177,0.233,0.125,0.275,0.19 38039,0.162,0.054,0.197,0.217,0.37 38041,0.218,0.207,0.15,0.232,0.193 38043,0.193,0.206,0.074,0.301,0.226 38045,0.115,0.07,0.193,0.307,0.315 38047,0.172,0.156,0.104,0.295,0.272 38049,0.206,0.132,0.124,0.263,0.275 38051,0.169,0.128,0.136,0.275,0.291 38053,0.19,0.182,0.142,0.253,0.232 38055,0.189,0.185,0.107,0.273,0.246 38057,0.189,0.197,0.111,0.266,0.237 38059,0.172,0.235,0.096,0.293,0.205 38061,0.192,0.16,0.134,0.258,0.256 38063,0.133,0.183,0.193,0.218,0.274 38065,0.181,0.217,0.102,0.28,0.221 38067,0.08,0.216,0.202,0.256,0.247 38069,0.253,0.136,0.12,0.246,0.246 38071,0.242,0.25,0.138,0.175,0.195 38073,0.073,0.114,0.223,0.236,0.354 38075,0.193,0.13,0.141,0.262,0.274 38077,0.155,0.174,0.189,0.116,0.366 38079,0.248,0.154,0.135,0.235,0.228 38081,0.081,0.163,0.249,0.251,0.257 38083,0.203,0.186,0.091,0.285,0.235 38085,0.157,0.228,0.108,0.295,0.211 38087,0.217,0.179,0.142,0.246,0.215 38089,0.207,0.205,0.129,0.24,0.219 38091,0.172,0.061,0.302,0.182,0.283 38093,0.202,0.053,0.076,0.314,0.354 38095,0.263,0.232,0.127,0.198,0.18 38097,0.144,0.115,0.205,0.233,0.303 38099,0.087,0.181,0.208,0.253,0.271 38101,0.195,0.138,0.127,0.263,0.276 38103,0.254,0.163,0.083,0.275,0.226 38105,0.186,0.182,0.155,0.254,0.223 39001,0.074,0.116,0.149,0.222,0.439 39003,0.085,0.104,0.114,0.382,0.314 39005,0.068,0.035,0.268,0.19,0.438 39007,0.144,0.008,0.099,0.257,0.492 39009,0.071,0.115,0.164,0.236,0.413 39011,0.131,0.089,0.153,0.342,0.285 39013,0.082,0.086,0.118,0.25,0.464 39015,0.177,0.177,0.101,0.128,0.417 39017,0.047,0.072,0.106,0.244,0.531 39019,0.147,0.261,0.052,0.15,0.39 39021,0.084,0.051,0.274,0.269,0.321 39023,0.066,0.027,0.19,0.247,0.471 39025,0.082,0.069,0.074,0.192,0.584 39027,0.171,0.198,0.071,0.105,0.455 39029,0.098,0.08,0.115,0.156,0.551 39031,0.077,0.194,0.294,0.178,0.258 39033,0.101,0.107,0.126,0.184,0.482 39035,0.042,0.052,0.084,0.213,0.609 39037,0.216,0.084,0.15,0.28,0.271 39039,0.052,0.114,0.152,0.221,0.462 39041,0.018,0.081,0.084,0.177,0.64 39043,0.078,0.022,0.091,0.179,0.63 39045,0.1,0.095,0.135,0.142,0.527 39047,0.157,0.055,0.328,0.158,0.302 39049,0.042,0.054,0.09,0.198,0.617 39051,0.029,0.046,0.318,0.272,0.335 39053,0.074,0.082,0.203,0.178,0.463 39055,0.03,0.057,0.064,0.218,0.631 39057,0.041,0.082,0.095,0.264,0.519 39059,0.101,0.162,0.137,0.181,0.419 39061,0.069,0.056,0.102,0.224,0.549 39063,0.076,0.127,0.122,0.302,0.373 39065,0.149,0.121,0.134,0.227,0.368 39067,0.107,0.141,0.153,0.233,0.365 39069,0.038,0.111,0.189,0.197,0.465 39071,0.157,0.144,0.068,0.162,0.468 39073,0.169,0.137,0.21,0.104,0.38 39075,0.05,0.087,0.134,0.271,0.457 39077,0.191,0.064,0.204,0.172,0.369 39079,0.166,0.141,0.247,0.105,0.341 39081,0.076,0.142,0.152,0.209,0.42 39083,0.138,0.1,0.065,0.17,0.526 39085,0.067,0.039,0.104,0.246,0.544 39087,0.089,0.097,0.185,0.23,0.399 39089,0.056,0.102,0.176,0.127,0.539 39091,0.136,0.117,0.314,0.248,0.186 39093,0.089,0.097,0.099,0.207,0.508 39095,0.078,0.056,0.111,0.189,0.566 39097,0.037,0.087,0.167,0.262,0.447 39099,0.046,0.099,0.099,0.231,0.525 39101,0.084,0.18,0.115,0.159,0.462 39103,0.068,0.077,0.125,0.227,0.503 39105,0.072,0.137,0.182,0.177,0.432 39107,0.102,0.105,0.245,0.314,0.233 39109,0.077,0.07,0.19,0.227,0.436 39111,0.04,0.144,0.139,0.291,0.386 39113,0.041,0.065,0.065,0.222,0.607 39115,0.142,0.114,0.153,0.259,0.332 39117,0.059,0.094,0.075,0.31,0.462 39119,0.136,0.145,0.121,0.182,0.416 39121,0.109,0.176,0.139,0.219,0.357 39123,0.052,0.035,0.084,0.219,0.609 39125,0.095,0.061,0.24,0.314,0.29 39127,0.138,0.149,0.214,0.19,0.309 39129,0.067,0.087,0.092,0.244,0.51 39131,0.186,0.124,0.124,0.158,0.409 39133,0.028,0.078,0.126,0.213,0.555 39135,0.045,0.146,0.186,0.248,0.375 39137,0.041,0.118,0.253,0.307,0.28 39139,0.066,0.08,0.213,0.221,0.419 39141,0.181,0.103,0.101,0.168,0.447 39143,0.139,0.074,0.109,0.209,0.469 39145,0.121,0.096,0.242,0.156,0.387 39147,0.119,0.195,0.243,0.164,0.279 39149,0.182,0.119,0.216,0.283,0.2 39151,0.065,0.11,0.102,0.198,0.525 39153,0.048,0.056,0.125,0.207,0.565 39155,0.054,0.059,0.121,0.23,0.535 39157,0.126,0.204,0.116,0.215,0.339 39159,0.175,0.018,0.099,0.245,0.463 39161,0.069,0.084,0.223,0.412,0.212 39163,0.09,0.165,0.218,0.147,0.38 39165,0.062,0.044,0.085,0.162,0.647 39167,0.072,0.121,0.142,0.29,0.375 39169,0.064,0.082,0.144,0.245,0.466 39171,0.035,0.133,0.199,0.208,0.425 39173,0.029,0.061,0.086,0.252,0.572 39175,0.1,0.201,0.138,0.135,0.426 40001,0.105,0.068,0.258,0.213,0.356 40003,0.203,0.096,0.188,0.25,0.262 40005,0.076,0.184,0.111,0.284,0.345 40007,0.153,0.154,0.085,0.223,0.384 40009,0.088,0.265,0.187,0.121,0.339 40011,0.029,0.081,0.244,0.32,0.326 40013,0.094,0.087,0.125,0.237,0.457 40015,0.013,0.111,0.194,0.239,0.444 40017,0.043,0.073,0.103,0.309,0.472 40019,0.128,0.169,0.138,0.213,0.351 40021,0.099,0.121,0.212,0.24,0.327 40023,0.064,0.113,0.119,0.251,0.454 40025,0.14,0.089,0.153,0.26,0.358 40027,0.046,0.101,0.079,0.25,0.524 40029,0.075,0.12,0.105,0.307,0.394 40031,0.054,0.179,0.127,0.226,0.413 40033,0.06,0.117,0.102,0.173,0.548 40035,0.247,0.113,0.236,0.112,0.292 40037,0.154,0.074,0.145,0.212,0.415 40039,0.006,0.274,0.413,0.13,0.177 40041,0.188,0.187,0.202,0.107,0.316 40043,0.066,0.185,0.286,0.219,0.244 40045,0.132,0.22,0.135,0.207,0.306 40047,0.233,0.103,0.127,0.28,0.258 40049,0.075,0.087,0.157,0.249,0.433 40051,0.047,0.098,0.185,0.249,0.422 40053,0.205,0.136,0.145,0.255,0.257 40055,0.073,0.19,0.148,0.225,0.365 40057,0.105,0.158,0.16,0.239,0.338 40059,0.158,0.189,0.118,0.257,0.278 40061,0.146,0.09,0.203,0.258,0.303 40063,0.089,0.037,0.146,0.213,0.514 40065,0.021,0.127,0.148,0.291,0.411 40067,0.084,0.108,0.163,0.14,0.505 40069,0.088,0.137,0.157,0.244,0.374 40071,0.099,0.12,0.135,0.225,0.419 40073,0.046,0.093,0.05,0.192,0.619 40075,0.025,0.19,0.131,0.239,0.415 40077,0.159,0.136,0.184,0.277,0.245 40079,0.142,0.152,0.156,0.196,0.354 40081,0.135,0.103,0.204,0.222,0.337 40083,0.03,0.027,0.114,0.31,0.519 40085,0.188,0.08,0.103,0.195,0.435 40087,0.092,0.099,0.068,0.197,0.545 40089,0.131,0.141,0.117,0.187,0.423 40091,0.085,0.057,0.265,0.221,0.373 40093,0.169,0.072,0.212,0.285,0.261 40095,0.13,0.074,0.114,0.256,0.425 40097,0.173,0.175,0.213,0.135,0.303 40099,0.042,0.154,0.247,0.218,0.34 40101,0.063,0.088,0.262,0.198,0.388 40103,0.069,0.085,0.1,0.253,0.493 40105,0.148,0.121,0.164,0.181,0.386 40107,0.112,0.035,0.241,0.193,0.419 40109,0.096,0.064,0.097,0.225,0.518 40111,0.078,0.052,0.204,0.276,0.39 40113,0.077,0.103,0.23,0.218,0.372 40115,0.154,0.13,0.229,0.151,0.337 40117,0.178,0.085,0.159,0.213,0.365 40119,0.083,0.068,0.129,0.207,0.514 40121,0.117,0.112,0.153,0.36,0.258 40123,0.029,0.033,0.102,0.235,0.601 40125,0.042,0.052,0.278,0.236,0.392 40127,0.077,0.152,0.122,0.261,0.388 40129,0.109,0.248,0.192,0.091,0.36 40131,0.097,0.105,0.164,0.201,0.433 40133,0.095,0.034,0.225,0.169,0.478 40135,0.106,0.11,0.209,0.212,0.362 40137,0.041,0.088,0.21,0.286,0.375 40139,0.123,0.12,0.102,0.225,0.43 40141,0.042,0.142,0.11,0.225,0.48 40143,0.074,0.061,0.141,0.243,0.482 40145,0.032,0.112,0.175,0.306,0.375 40147,0.118,0.183,0.162,0.192,0.345 40149,0.024,0.256,0.243,0.164,0.313 40151,0.165,0.116,0.166,0.281,0.272 40153,0.146,0.232,0.145,0.247,0.229 41001,0.051,0.189,0.179,0.189,0.392 41003,0.007,0.007,0.059,0.156,0.77 41005,0.016,0.024,0.071,0.168,0.721 41007,0.052,0.027,0.051,0.073,0.797 41009,0.048,0.015,0.158,0.174,0.604 41011,0.128,0.061,0.136,0.099,0.577 41013,0.019,0.075,0.027,0.246,0.633 41015,0.025,0.058,0.1,0.162,0.655 41017,0.01,0.061,0.014,0.25,0.666 41019,0.082,0.052,0.116,0.239,0.511 41021,0.008,0.003,0.049,0.332,0.607 41023,0.014,0.062,0.132,0.12,0.671 41025,0.032,0.099,0.114,0.157,0.598 41027,0.03,0.071,0.127,0.162,0.61 41029,0.044,0.077,0.075,0.138,0.665 41031,0.018,0.062,0.012,0.25,0.657 41033,0.028,0.056,0.072,0.192,0.652 41035,0.097,0.031,0.062,0.227,0.583 41037,0.05,0.017,0.127,0.247,0.558 41039,0.031,0.036,0.077,0.137,0.719 41041,0.001,0.012,0.047,0.131,0.81 41043,0.057,0.025,0.096,0.159,0.664 41045,0.071,0.206,0.213,0.206,0.305 41047,0.029,0.013,0.053,0.196,0.71 41049,0.026,0.004,0.083,0.197,0.69 41051,0.013,0.016,0.054,0.178,0.738 41053,0.013,0.022,0.078,0.242,0.645 41055,0.008,0.014,0.046,0.271,0.66 41057,0.125,0.04,0.092,0.163,0.581 41059,0.043,0.01,0.081,0.155,0.71 41061,0.034,0.088,0.086,0.189,0.603 41063,0.041,0.083,0.146,0.229,0.501 41065,0.019,0.034,0.069,0.197,0.681 41067,0.006,0.009,0.059,0.169,0.756 41069,0.023,0.07,0.049,0.232,0.626 41071,0.021,0.035,0.072,0.143,0.729 42001,0.039,0.034,0.083,0.238,0.606 42003,0.017,0.022,0.035,0.165,0.761 42005,0.027,0.074,0.159,0.173,0.568 42007,0.015,0.023,0.1,0.137,0.725 42009,0.014,0.111,0.1,0.205,0.57 42011,0.036,0.012,0.06,0.174,0.719 42013,0.041,0.132,0.083,0.249,0.495 42015,0.042,0.017,0.051,0.194,0.697 42017,0.014,0.018,0.032,0.131,0.805 42019,0.035,0.062,0.062,0.194,0.647 42021,0.026,0.062,0.153,0.228,0.53 42023,0.147,0.014,0.048,0.142,0.649 42025,0.013,0.062,0.015,0.145,0.764 42027,0.017,0.013,0.076,0.101,0.792 42029,0.006,0.022,0.038,0.113,0.82 42031,0.057,0.03,0.152,0.155,0.605 42033,0.051,0.055,0.176,0.206,0.512 42035,0.014,0.024,0.077,0.19,0.696 42037,0.02,0.046,0.05,0.163,0.721 42039,0.024,0.016,0.136,0.266,0.558 42041,0.031,0.032,0.183,0.192,0.562 42043,0.032,0.023,0.258,0.147,0.539 42045,0.01,0.01,0.044,0.123,0.814 42047,0.055,0.016,0.084,0.15,0.695 42049,0.016,0.025,0.057,0.136,0.766 42051,0.053,0.064,0.144,0.161,0.578 42053,0.016,0.008,0.158,0.196,0.622 42055,0.023,0.04,0.082,0.248,0.607 42057,0.013,0.145,0.053,0.23,0.559 42059,0.104,0.11,0.187,0.124,0.475 42061,0.07,0.06,0.155,0.232,0.483 42063,0.015,0.047,0.066,0.22,0.652 42065,0.083,0.046,0.142,0.197,0.531 42067,0.065,0.068,0.093,0.214,0.56 42069,0.007,0.006,0.039,0.106,0.843 42071,0.037,0.013,0.054,0.172,0.724 42073,0.034,0.07,0.093,0.301,0.503 42075,0.026,0.008,0.062,0.178,0.725 42077,0.014,0.004,0.053,0.103,0.826 42079,0.016,0.024,0.045,0.136,0.779 42081,0.062,0.057,0.06,0.207,0.614 42083,0.012,0.004,0.03,0.134,0.82 42085,0.028,0.044,0.094,0.215,0.62 42087,0.084,0.049,0.129,0.171,0.567 42089,0.019,0.047,0.052,0.061,0.822 42091,0.016,0.019,0.044,0.16,0.761 42093,0.042,0.022,0.079,0.143,0.714 42095,0.015,0.012,0.034,0.118,0.822 42097,0.064,0.013,0.078,0.197,0.649 42099,0.035,0.017,0.1,0.199,0.649 42101,0.023,0.012,0.051,0.12,0.794 42103,0.01,0.013,0.036,0.165,0.777 42105,0.061,0.011,0.061,0.12,0.747 42107,0.066,0.002,0.048,0.173,0.711 42109,0.062,0.036,0.104,0.226,0.572 42111,0.041,0.04,0.188,0.267,0.464 42113,0.025,0.035,0.038,0.141,0.76 42115,0.046,0.029,0.038,0.065,0.822 42117,0.098,0.044,0.111,0.183,0.565 42119,0.078,0.032,0.103,0.211,0.576 42121,0.004,0.015,0.115,0.152,0.714 42123,0.009,0.019,0.114,0.224,0.634 42125,0.052,0.02,0.045,0.149,0.735 42127,0.004,0.009,0.08,0.08,0.828 42129,0.017,0.07,0.069,0.172,0.673 42131,0.035,0.008,0.049,0.072,0.836 42133,0.018,0.024,0.091,0.174,0.693 44001,0.007,0.003,0.02,0.143,0.827 44003,0.016,0.003,0.05,0.123,0.807 44005,0.004,0.006,0.046,0.129,0.815 44007,0.022,0.014,0.05,0.159,0.754 44009,0.012,0.022,0.034,0.126,0.807 45001,0.117,0.102,0.243,0.166,0.371 45003,0.1,0.086,0.116,0.193,0.505 45005,0.172,0.211,0.012,0.22,0.384 45007,0.069,0.065,0.138,0.26,0.468 45009,0.167,0.031,0.053,0.235,0.515 45011,0.169,0.067,0.035,0.281,0.447 45013,0.038,0.027,0.055,0.147,0.733 45015,0.05,0.074,0.107,0.171,0.597 45017,0.06,0.047,0.129,0.173,0.592 45019,0.036,0.059,0.062,0.186,0.657 45021,0.088,0.083,0.121,0.179,0.528 45023,0.151,0.065,0.055,0.23,0.5 45025,0.117,0.079,0.148,0.129,0.526 45027,0.083,0.147,0.128,0.157,0.486 45029,0.088,0.077,0.094,0.1,0.641 45031,0.153,0.083,0.114,0.103,0.548 45033,0.156,0.056,0.188,0.17,0.43 45035,0.071,0.071,0.123,0.16,0.576 45037,0.099,0.084,0.083,0.165,0.569 45039,0.046,0.032,0.046,0.31,0.566 45041,0.114,0.08,0.133,0.109,0.564 45043,0.04,0.014,0.079,0.191,0.675 45045,0.049,0.079,0.153,0.206,0.513 45047,0.074,0.087,0.226,0.151,0.463 45049,0.13,0.156,0.025,0.148,0.542 45051,0.086,0.052,0.081,0.19,0.591 45053,0.129,0.055,0.056,0.201,0.559 45055,0.062,0.019,0.114,0.189,0.616 45057,0.067,0.068,0.048,0.224,0.594 45059,0.09,0.102,0.164,0.214,0.43 45061,0.123,0.06,0.154,0.157,0.506 45063,0.044,0.038,0.129,0.214,0.576 45065,0.072,0.115,0.106,0.202,0.505 45067,0.28,0.036,0.182,0.127,0.376 45069,0.155,0.027,0.153,0.149,0.515 45071,0.078,0.128,0.062,0.202,0.529 45073,0.142,0.061,0.103,0.221,0.472 45075,0.135,0.056,0.111,0.169,0.529 45077,0.066,0.059,0.146,0.236,0.493 45079,0.03,0.016,0.099,0.235,0.62 45081,0.053,0.095,0.117,0.206,0.529 45083,0.06,0.091,0.126,0.227,0.496 45085,0.128,0.054,0.154,0.182,0.483 45087,0.14,0.02,0.074,0.305,0.462 45089,0.034,0.057,0.12,0.158,0.631 45091,0.057,0.074,0.062,0.204,0.602 46003,0.239,0.073,0.236,0.15,0.302 46005,0.234,0.104,0.147,0.173,0.342 46007,0.147,0.052,0.117,0.327,0.356 46009,0.108,0.205,0.198,0.193,0.295 46011,0.04,0.124,0.263,0.229,0.345 46013,0.256,0.098,0.142,0.166,0.338 46015,0.163,0.075,0.168,0.264,0.33 46017,0.161,0.059,0.157,0.253,0.371 46019,0.12,0.085,0.153,0.204,0.438 46021,0.155,0.167,0.122,0.277,0.278 46023,0.117,0.149,0.254,0.192,0.288 46025,0.211,0.147,0.172,0.125,0.345 46027,0.091,0.178,0.116,0.243,0.373 46029,0.185,0.144,0.25,0.117,0.305 46031,0.144,0.19,0.134,0.285,0.247 46033,0.132,0.088,0.156,0.229,0.396 46035,0.249,0.074,0.303,0.107,0.267 46037,0.256,0.14,0.175,0.118,0.311 46039,0.136,0.111,0.275,0.169,0.309 46041,0.069,0.057,0.141,0.237,0.497 46043,0.189,0.108,0.269,0.146,0.289 46045,0.217,0.088,0.15,0.197,0.348 46047,0.141,0.093,0.152,0.25,0.364 46049,0.205,0.079,0.146,0.198,0.372 46051,0.259,0.129,0.232,0.12,0.26 46053,0.113,0.118,0.206,0.264,0.299 46055,0.117,0.051,0.151,0.241,0.44 46057,0.119,0.143,0.256,0.137,0.345 46059,0.182,0.071,0.147,0.225,0.376 46061,0.185,0.107,0.269,0.148,0.29 46063,0.105,0.068,0.145,0.235,0.446 46065,0.091,0.027,0.109,0.251,0.523 46067,0.129,0.163,0.199,0.188,0.321 46069,0.142,0.053,0.142,0.234,0.43 46071,0.129,0.052,0.136,0.281,0.401 46073,0.233,0.073,0.185,0.184,0.326 46075,0.115,0.03,0.101,0.293,0.462 46077,0.128,0.13,0.217,0.184,0.341 46079,0.11,0.144,0.183,0.237,0.326 46081,0.124,0.089,0.154,0.205,0.428 46083,0.078,0.181,0.106,0.25,0.385 46085,0.13,0.046,0.119,0.287,0.419 46087,0.113,0.154,0.144,0.238,0.35 46089,0.204,0.091,0.161,0.22,0.323 46091,0.196,0.146,0.183,0.161,0.313 46093,0.123,0.078,0.161,0.214,0.425 46095,0.136,0.028,0.091,0.34,0.405 46097,0.16,0.123,0.216,0.218,0.284 46099,0.087,0.187,0.106,0.251,0.369 46101,0.078,0.183,0.165,0.245,0.329 46102,0.15,0.075,0.139,0.281,0.355 46103,0.127,0.078,0.159,0.222,0.414 46105,0.132,0.081,0.185,0.243,0.36 46107,0.131,0.067,0.147,0.225,0.431 46109,0.241,0.175,0.164,0.094,0.326 46111,0.252,0.095,0.222,0.155,0.276 46115,0.232,0.103,0.132,0.173,0.36 46117,0.08,0.024,0.104,0.245,0.546 46119,0.084,0.031,0.128,0.228,0.528 46121,0.147,0.031,0.097,0.368,0.357 46123,0.142,0.066,0.138,0.311,0.343 46125,0.084,0.176,0.115,0.251,0.375 46127,0.082,0.177,0.12,0.204,0.418 46129,0.14,0.144,0.132,0.265,0.318 46135,0.109,0.205,0.167,0.26,0.259 46137,0.105,0.053,0.172,0.235,0.434 47001,0.088,0.105,0.112,0.215,0.48 47003,0.164,0.093,0.246,0.248,0.249 47005,0.169,0.109,0.206,0.21,0.306 47007,0.082,0.122,0.131,0.251,0.415 47009,0.069,0.089,0.097,0.183,0.562 47011,0.121,0.098,0.126,0.282,0.373 47013,0.059,0.075,0.204,0.109,0.554 47015,0.209,0.089,0.238,0.182,0.282 47017,0.179,0.088,0.163,0.234,0.337 47019,0.115,0.031,0.151,0.215,0.487 47021,0.018,0.067,0.155,0.28,0.48 47023,0.108,0.068,0.122,0.362,0.34 47025,0.163,0.114,0.091,0.236,0.397 47027,0.099,0.105,0.264,0.126,0.406 47029,0.197,0.118,0.082,0.171,0.431 47031,0.165,0.09,0.174,0.208,0.363 47033,0.14,0.078,0.123,0.226,0.432 47035,0.096,0.093,0.201,0.214,0.395 47037,0.02,0.037,0.086,0.181,0.677 47039,0.175,0.171,0.168,0.168,0.318 47041,0.157,0.152,0.231,0.132,0.328 47043,0.054,0.076,0.079,0.336,0.455 47045,0.175,0.17,0.12,0.204,0.331 47047,0.022,0.001,0.089,0.205,0.682 47049,0.123,0.122,0.157,0.162,0.437 47051,0.166,0.092,0.13,0.201,0.411 47053,0.182,0.086,0.111,0.26,0.361 47055,0.061,0.068,0.192,0.237,0.441 47057,0.126,0.134,0.129,0.221,0.39 47059,0.125,0.178,0.033,0.254,0.41 47061,0.142,0.165,0.151,0.212,0.33 47063,0.157,0.113,0.121,0.189,0.42 47065,0.116,0.116,0.129,0.229,0.411 47067,0.148,0.243,0.059,0.14,0.41 47069,0.035,0.056,0.215,0.261,0.434 47071,0.142,0.14,0.107,0.241,0.371 47073,0.118,0.146,0.132,0.196,0.407 47075,0.086,0.026,0.169,0.155,0.565 47077,0.127,0.107,0.156,0.282,0.327 47079,0.092,0.09,0.264,0.207,0.347 47081,0.063,0.057,0.082,0.217,0.581 47083,0.108,0.049,0.116,0.337,0.39 47085,0.121,0.095,0.156,0.267,0.36 47087,0.138,0.128,0.249,0.093,0.392 47089,0.151,0.092,0.149,0.176,0.431 47091,0.107,0.079,0.141,0.261,0.412 47093,0.036,0.032,0.144,0.209,0.579 47095,0.133,0.143,0.166,0.201,0.357 47097,0.064,0.094,0.191,0.142,0.508 47099,0.074,0.129,0.156,0.192,0.45 47101,0.098,0.084,0.198,0.236,0.385 47103,0.126,0.187,0.106,0.214,0.367 47105,0.041,0.06,0.107,0.219,0.573 47107,0.077,0.087,0.155,0.298,0.384 47109,0.107,0.105,0.115,0.274,0.4 47111,0.146,0.085,0.215,0.083,0.47 47113,0.1,0.056,0.129,0.334,0.381 47115,0.115,0.122,0.135,0.247,0.381 47117,0.219,0.129,0.139,0.164,0.349 47119,0.119,0.07,0.19,0.156,0.466 47121,0.08,0.118,0.136,0.214,0.453 47123,0.07,0.138,0.165,0.229,0.397 47125,0.083,0.063,0.203,0.228,0.423 47127,0.173,0.101,0.176,0.235,0.316 47129,0.08,0.113,0.077,0.318,0.413 47131,0.117,0.125,0.187,0.246,0.325 47133,0.12,0.131,0.228,0.128,0.393 47135,0.18,0.148,0.137,0.159,0.376 47137,0.105,0.128,0.219,0.133,0.416 47139,0.089,0.069,0.15,0.24,0.452 47141,0.16,0.164,0.207,0.099,0.369 47143,0.096,0.154,0.113,0.154,0.483 47145,0.074,0.142,0.105,0.274,0.405 47147,0.187,0.069,0.081,0.159,0.504 47149,0.081,0.073,0.121,0.215,0.51 47151,0.121,0.144,0.154,0.219,0.362 47153,0.108,0.087,0.177,0.289,0.339 47155,0.039,0.072,0.15,0.183,0.556 47157,0.034,0.025,0.105,0.184,0.653 47159,0.088,0.091,0.202,0.113,0.507 47161,0.071,0.045,0.15,0.214,0.521 47163,0.096,0.091,0.143,0.187,0.483 47165,0.104,0.069,0.14,0.196,0.49 47167,0.081,0.025,0.223,0.138,0.533 47169,0.112,0.063,0.241,0.133,0.452 47171,0.049,0.041,0.108,0.306,0.497 47173,0.086,0.145,0.167,0.181,0.421 47175,0.145,0.147,0.147,0.239,0.323 47177,0.14,0.107,0.189,0.212,0.352 47179,0.061,0.074,0.166,0.218,0.48 47181,0.089,0.215,0.136,0.147,0.414 47183,0.093,0.135,0.228,0.251,0.292 47185,0.185,0.205,0.162,0.115,0.333 47187,0.019,0.073,0.091,0.212,0.604 47189,0.105,0.035,0.099,0.192,0.568 48001,0.172,0.104,0.095,0.088,0.541 48003,0.09,0.044,0.067,0.202,0.597 48005,0.121,0.064,0.079,0.2,0.536 48007,0.006,0.005,0.17,0.074,0.746 48009,0.081,0.053,0.099,0.091,0.676 48011,0.08,0.066,0.116,0.25,0.488 48013,0.001,0.01,0.032,0.156,0.802 48015,0.006,0.024,0.054,0.224,0.692 48017,0.018,0.106,0.06,0.217,0.598 48019,0.073,0.018,0.07,0.09,0.749 48021,0.007,0.02,0.084,0.161,0.729 48023,0.066,0.075,0.134,0.104,0.62 48025,0.001,0.003,0.052,0.19,0.753 48027,0.01,0.035,0.078,0.205,0.672 48029,0.015,0.016,0.057,0.09,0.822 48031,0.005,0.019,0.115,0.074,0.788 48033,0.039,0.115,0.125,0.107,0.614 48035,0.031,0.154,0.102,0.248,0.465 48037,0.058,0.134,0.114,0.221,0.473 48039,0.021,0.042,0.075,0.17,0.691 48041,0.012,0.038,0.067,0.347,0.537 48043,0.011,0.012,0.077,0.172,0.728 48045,0.105,0.077,0.113,0.187,0.518 48047,0.061,0.004,0.166,0.09,0.678 48049,0.085,0.077,0.066,0.239,0.534 48051,0.02,0.072,0.071,0.281,0.555 48053,0.031,0.039,0.055,0.194,0.682 48055,0.001,0.001,0.063,0.185,0.751 48057,0.019,0.028,0.179,0.071,0.703 48059,0.049,0.06,0.119,0.205,0.567 48061,0.035,0.061,0.034,0.056,0.813 48063,0.017,0.064,0.213,0.235,0.471 48065,0.099,0.064,0.124,0.252,0.462 48067,0.034,0.145,0.17,0.209,0.441 48069,0.057,0.051,0.043,0.296,0.553 48071,0.027,0.094,0.078,0.201,0.6 48073,0.123,0.063,0.148,0.192,0.475 48075,0.147,0.124,0.189,0.206,0.334 48077,0.066,0.049,0.105,0.087,0.693 48079,0.029,0.078,0.068,0.229,0.595 48081,0.039,0.056,0.093,0.241,0.572 48083,0.053,0.048,0.084,0.259,0.556 48085,0.021,0.026,0.054,0.181,0.719 48087,0.239,0.142,0.176,0.16,0.284 48089,0.004,0.044,0.078,0.228,0.645 48091,0.007,0.044,0.063,0.146,0.74 48093,0.045,0.075,0.059,0.2,0.621 48095,0.012,0.029,0.072,0.279,0.607 48097,0.118,0.026,0.056,0.207,0.594 48099,0.015,0.027,0.142,0.194,0.622 48101,0.107,0.106,0.188,0.176,0.423 48103,0.08,0.056,0.096,0.199,0.57 48105,0.026,0.071,0.072,0.225,0.606 48107,0.031,0.071,0.058,0.227,0.613 48109,0.125,0.006,0.039,0.176,0.654 48111,0.119,0.074,0.123,0.289,0.396 48113,0.024,0.019,0.059,0.141,0.757 48115,0.03,0.023,0.074,0.115,0.759 48117,0.063,0.063,0.095,0.284,0.494 48119,0.04,0.074,0.094,0.285,0.507 48121,0.016,0.025,0.046,0.204,0.709 48123,0.003,0.019,0.091,0.061,0.827 48125,0.032,0.071,0.111,0.254,0.532 48127,0.021,0.059,0.097,0.133,0.69 48129,0.139,0.065,0.147,0.21,0.439 48131,0.122,0.003,0.132,0.053,0.691 48133,0.055,0.089,0.104,0.195,0.557 48135,0.085,0.047,0.076,0.204,0.588 48137,0.016,0.047,0.145,0.101,0.691 48139,0.027,0.017,0.044,0.19,0.722 48141,0.007,0.007,0.033,0.075,0.877 48143,0.017,0.096,0.075,0.202,0.609 48145,0.009,0.029,0.061,0.187,0.715 48147,0.117,0.126,0.131,0.226,0.4 48149,0.006,0.05,0.259,0.142,0.543 48151,0.097,0.097,0.109,0.186,0.51 48153,0.049,0.063,0.043,0.216,0.629 48155,0.045,0.101,0.23,0.147,0.477 48157,0.024,0.03,0.057,0.115,0.774 48159,0.013,0.055,0.131,0.327,0.474 48161,0.025,0.121,0.085,0.137,0.632 48163,0.136,0.007,0.038,0.108,0.71 48165,0.121,0.034,0.033,0.176,0.636 48167,0.033,0.037,0.105,0.207,0.617 48169,0.034,0.079,0.067,0.207,0.612 48171,0.095,0.091,0.107,0.114,0.592 48173,0.069,0.054,0.058,0.234,0.586 48175,0.001,0.025,0.16,0.077,0.737 48177,0.001,0.001,0.091,0.078,0.828 48179,0.139,0.069,0.134,0.222,0.436 48181,0.064,0.063,0.095,0.247,0.53 48183,0.053,0.064,0.074,0.186,0.623 48185,0.025,0.047,0.04,0.348,0.54 48187,0.027,0.022,0.032,0.125,0.794 48189,0.066,0.058,0.028,0.239,0.609 48191,0.179,0.065,0.19,0.157,0.41 48193,0.019,0.085,0.137,0.267,0.493 48195,0.136,0.076,0.126,0.234,0.428 48197,0.042,0.116,0.237,0.223,0.381 48199,0.021,0.054,0.102,0.187,0.636 48201,0.019,0.024,0.069,0.152,0.736 48203,0.086,0.037,0.088,0.19,0.599 48205,0.1,0.07,0.116,0.28,0.434 48207,0.087,0.128,0.137,0.209,0.439 48209,0,0.007,0.022,0.115,0.855 48211,0.189,0.125,0.139,0.138,0.409 48213,0.043,0.072,0.127,0.197,0.56 48215,0.055,0.003,0.033,0.084,0.826 48217,0.047,0.083,0.029,0.242,0.599 48219,0.031,0.072,0.06,0.237,0.6 48221,0.009,0.122,0.135,0.124,0.61 48223,0.054,0.026,0.062,0.369,0.488 48225,0.182,0.09,0.104,0.15,0.474 48227,0.063,0.063,0.061,0.218,0.596 48229,0.013,0.003,0.076,0.029,0.88 48231,0.069,0.072,0.082,0.285,0.492 48233,0.112,0.064,0.128,0.249,0.447 48235,0.009,0.047,0.058,0.276,0.61 48237,0.009,0.018,0.012,0.37,0.592 48239,0.02,0.062,0.146,0.075,0.696 48241,0.04,0.055,0.068,0.125,0.712 48243,0.009,0.005,0.038,0.186,0.763 48245,0.036,0.075,0.11,0.171,0.608 48247,0.071,0.003,0.079,0.099,0.748 48249,0.057,0.007,0.137,0.051,0.748 48251,0.024,0.079,0.056,0.199,0.642 48253,0.064,0.079,0.121,0.193,0.543 48255,0,0.001,0.104,0.145,0.75 48257,0.063,0.058,0.041,0.155,0.682 48259,0.002,0.059,0.076,0.158,0.705 48261,0.04,0.01,0.08,0.098,0.772 48263,0.069,0.168,0.172,0.167,0.424 48265,0.059,0.149,0.167,0.154,0.472 48267,0.036,0.126,0.165,0.207,0.466 48269,0.065,0.108,0.177,0.254,0.397 48271,0.004,0.059,0.121,0.084,0.733 48273,0.063,0.015,0.075,0.121,0.726 48275,0.063,0.105,0.184,0.145,0.502 48277,0.054,0.095,0.135,0.238,0.478 48279,0.038,0.065,0.046,0.255,0.597 48281,0.024,0.019,0.077,0.233,0.648 48283,0.152,0.002,0.083,0.097,0.667 48285,0.008,0.029,0.114,0.114,0.736 48287,0.035,0.122,0.148,0.142,0.553 48289,0.089,0.078,0.111,0.192,0.531 48291,0.019,0.034,0.114,0.182,0.65 48293,0.005,0.086,0.061,0.087,0.762 48295,0.147,0.143,0.099,0.195,0.415 48297,0.005,0.003,0.081,0.189,0.722 48299,0.08,0.036,0.056,0.214,0.615 48301,0.109,0.047,0.081,0.221,0.543 48303,0.031,0.072,0.056,0.232,0.61 48305,0.032,0.068,0.054,0.222,0.624 48307,0.031,0.053,0.09,0.34,0.486 48309,0.022,0.049,0.046,0.161,0.721 48311,0.043,0.002,0.21,0.203,0.542 48313,0.065,0.032,0.097,0.337,0.469 48315,0.076,0.067,0.118,0.211,0.528 48317,0.075,0.043,0.056,0.235,0.591 48319,0.043,0.091,0.163,0.247,0.456 48321,0.004,0.051,0.113,0.161,0.67 48323,0.005,0.091,0.129,0.13,0.645 48325,0.006,0.017,0.07,0.155,0.753 48327,0.013,0.048,0.088,0.289,0.562 48329,0.083,0.044,0.066,0.219,0.588 48331,0.006,0.019,0.07,0.228,0.679 48333,0.041,0.117,0.062,0.261,0.518 48335,0.168,0.131,0.087,0.126,0.489 48337,0.041,0.08,0.129,0.22,0.529 48339,0.031,0.073,0.061,0.145,0.69 48341,0.101,0.064,0.123,0.27,0.441 48343,0.038,0.116,0.21,0.176,0.46 48345,0.067,0.053,0.084,0.206,0.591 48347,0.094,0.06,0.097,0.221,0.528 48349,0.006,0.024,0.114,0.217,0.639 48351,0.057,0.049,0.11,0.152,0.631 48353,0.09,0.072,0.108,0.187,0.544 48355,0.024,0.034,0.028,0.079,0.835 48357,0.15,0.104,0.105,0.201,0.439 48359,0.084,0.065,0.109,0.278,0.464 48361,0.051,0.07,0.105,0.157,0.618 48363,0.027,0.023,0.029,0.181,0.74 48365,0.027,0.033,0.211,0.281,0.448 48367,0.02,0.048,0.055,0.206,0.671 48369,0.033,0.081,0.089,0.277,0.521 48371,0.05,0.051,0.15,0.197,0.551 48373,0.016,0.099,0.052,0.144,0.689 48375,0.067,0.063,0.113,0.272,0.485 48377,0.003,0.003,0.032,0.174,0.789 48379,0.143,0.062,0.038,0.245,0.512 48381,0.063,0.063,0.109,0.274,0.491 48383,0.058,0.061,0.064,0.237,0.58 48385,0.03,0.065,0.164,0.187,0.554 48387,0.059,0.136,0.098,0.254,0.452 48389,0.07,0.04,0.086,0.204,0.6 48391,0.002,0.011,0.235,0.073,0.678 48393,0.16,0.074,0.133,0.205,0.427 48395,0.014,0.041,0.055,0.334,0.555 48397,0.033,0.041,0.101,0.18,0.645 48399,0.033,0.039,0.104,0.228,0.596 48401,0.038,0.04,0.101,0.331,0.491 48403,0.105,0.046,0.103,0.15,0.596 48405,0.096,0.033,0.07,0.222,0.58 48407,0.009,0.064,0.082,0.112,0.733 48409,0.015,0.02,0.053,0.074,0.838 48411,0.026,0.101,0.099,0.255,0.519 48413,0.002,0.029,0.054,0.271,0.644 48415,0.143,0.177,0.127,0.09,0.463 48417,0.061,0.099,0.14,0.183,0.518 48419,0.025,0.035,0.117,0.369,0.453 48421,0.125,0.073,0.129,0.267,0.406 48423,0.108,0.091,0.104,0.168,0.529 48425,0.027,0.161,0.133,0.201,0.477 48427,0.039,0.008,0.023,0.1,0.831 48429,0.058,0.149,0.221,0.127,0.445 48431,0.032,0.077,0.067,0.252,0.572 48433,0.084,0.122,0.12,0.224,0.449 48435,0.009,0.042,0.08,0.209,0.659 48437,0.084,0.075,0.053,0.255,0.532 48439,0.023,0.034,0.077,0.144,0.722 48441,0.054,0.059,0.12,0.191,0.575 48443,0.021,0.061,0.167,0.154,0.597 48445,0.034,0.066,0.061,0.226,0.613 48447,0.073,0.135,0.172,0.118,0.501 48449,0.019,0.117,0.191,0.264,0.409 48451,0.007,0.038,0.071,0.271,0.613 48453,0.015,0.008,0.024,0.158,0.795 48455,0.052,0.077,0.065,0.181,0.625 48457,0.021,0.066,0.054,0.155,0.703 48459,0.051,0.076,0.104,0.179,0.59 48461,0.077,0.058,0.088,0.21,0.567 48463,0.014,0.022,0.136,0.081,0.747 48465,0.003,0.05,0.09,0.072,0.784 48467,0.138,0.143,0.151,0.161,0.407 48469,0.008,0.039,0.138,0.058,0.757 48471,0.029,0.058,0.079,0.179,0.655 48473,0.016,0.06,0.07,0.236,0.618 48475,0.08,0.052,0.094,0.197,0.577 48477,0.02,0.031,0.087,0.328,0.534 48479,0.033,0,0.064,0.136,0.767 48481,0.011,0.072,0.076,0.216,0.625 48483,0.23,0.139,0.158,0.126,0.346 48485,0.073,0.046,0.096,0.092,0.692 48487,0.046,0.081,0.171,0.168,0.535 48489,0.034,0.015,0.067,0.064,0.82 48491,0.016,0.033,0.065,0.177,0.708 48493,0,0.003,0.072,0.208,0.716 48495,0.087,0.05,0.086,0.196,0.581 48497,0.008,0.127,0.046,0.17,0.649 48499,0.046,0.073,0.071,0.283,0.526 48501,0.084,0.035,0.065,0.254,0.561 48503,0.062,0.063,0.086,0.144,0.645 48505,0.047,0.001,0.035,0.138,0.779 48507,0.036,0.075,0.115,0.138,0.635 49001,0.099,0.026,0.271,0.283,0.32 49003,0.084,0.116,0.111,0.27,0.419 49005,0.09,0.108,0.08,0.31,0.411 49007,0.107,0.134,0.114,0.293,0.353 49009,0.091,0.296,0.102,0.33,0.181 49011,0.035,0.055,0.077,0.314,0.518 49013,0.051,0.259,0.033,0.469,0.188 49015,0.122,0.109,0.106,0.239,0.424 49017,0.062,0.056,0.232,0.264,0.386 49019,0.056,0.111,0.098,0.176,0.558 49021,0.065,0.036,0.22,0.262,0.417 49023,0.335,0.023,0.079,0.193,0.369 49025,0.061,0.041,0.226,0.227,0.445 49027,0.432,0.023,0.088,0.171,0.286 49029,0.092,0.155,0.053,0.37,0.33 49031,0.097,0.061,0.266,0.3,0.276 49033,0.077,0.113,0.062,0.327,0.421 49035,0.028,0.032,0.094,0.202,0.644 49037,0.04,0.064,0.042,0.21,0.644 49039,0.107,0.043,0.104,0.273,0.473 49041,0.152,0.096,0.171,0.3,0.282 49043,0.018,0.1,0.054,0.177,0.651 49045,0.002,0.114,0.141,0.212,0.532 49047,0.121,0.269,0.046,0.389,0.175 49049,0.068,0.035,0.195,0.244,0.458 49051,0.039,0.063,0.056,0.254,0.588 49053,0.034,0.056,0.123,0.269,0.518 49055,0.068,0.129,0.114,0.269,0.42 49057,0.066,0.089,0.072,0.287,0.486 50001,0.029,0.045,0.086,0.139,0.702 50003,0.028,0.058,0.061,0.084,0.77 50005,0.076,0.121,0.078,0.154,0.57 50007,0.031,0.07,0.065,0.115,0.718 50009,0.054,0.075,0.083,0.158,0.631 50011,0.042,0.058,0.056,0.134,0.71 50013,0.031,0.039,0.088,0.113,0.729 50015,0.027,0.181,0.062,0.141,0.59 50017,0.029,0.095,0.073,0.107,0.696 50019,0.07,0.174,0.061,0.149,0.546 50021,0.031,0.037,0.088,0.205,0.639 50023,0.051,0.19,0.104,0.05,0.604 50025,0.075,0.031,0.035,0.151,0.708 50027,0.061,0.055,0.03,0.227,0.627 51001,0.001,0.019,0.055,0.1,0.824 51003,0.023,0.022,0.054,0.093,0.81 51005,0.145,0.034,0.123,0.174,0.525 51007,0.013,0.069,0.116,0.13,0.672 51009,0.064,0.033,0.074,0.204,0.625 51011,0.063,0.018,0.105,0.204,0.61 51013,0.01,0.018,0.035,0.187,0.75 51015,0.029,0.037,0.061,0.173,0.701 51017,0.099,0.045,0.121,0.165,0.57 51019,0.052,0.09,0.115,0.248,0.495 51021,0.081,0.114,0.2,0.166,0.44 51023,0.043,0.079,0.106,0.221,0.551 51025,0.006,0.003,0.158,0.145,0.688 51027,0.037,0.099,0.219,0.181,0.463 51029,0.02,0.01,0.124,0.132,0.714 51031,0.07,0.04,0.083,0.222,0.585 51033,0.047,0.032,0.031,0.14,0.75 51035,0.064,0.073,0.084,0.285,0.496 51036,0.017,0.02,0.103,0.177,0.683 51037,0.084,0.025,0.148,0.133,0.61 51041,0.026,0.03,0.08,0.216,0.649 51043,0.013,0.036,0.057,0.154,0.74 51045,0.017,0.022,0.148,0.182,0.632 51047,0.053,0.068,0.013,0.213,0.653 51049,0.012,0.055,0.098,0.137,0.699 51051,0.031,0.129,0.129,0.182,0.528 51053,0.022,0.016,0.104,0.193,0.664 51057,0.016,0.081,0.181,0.16,0.563 51059,0.018,0.016,0.054,0.163,0.748 51061,0.04,0.013,0.042,0.133,0.772 51063,0.079,0.063,0.092,0.256,0.51 51065,0.037,0.014,0.077,0.1,0.772 51067,0.074,0.098,0.069,0.189,0.57 51069,0.026,0.048,0.048,0.264,0.614 51071,0.066,0.09,0.14,0.137,0.567 51073,0.003,0.004,0.035,0.234,0.724 51075,0.034,0.043,0.065,0.097,0.761 51077,0.141,0.065,0.07,0.196,0.527 51079,0.011,0.038,0.052,0.153,0.747 51081,0.014,0.002,0.145,0.158,0.681 51083,0.092,0.028,0.072,0.165,0.643 51085,0.043,0.052,0.087,0.25,0.568 51087,0.04,0.037,0.071,0.191,0.662 51089,0.063,0.085,0.132,0.154,0.566 51091,0.059,0.041,0.103,0.197,0.599 51093,0.039,0.055,0.059,0.277,0.569 51095,0.006,0.008,0.005,0.231,0.75 51097,0.007,0.041,0.149,0.191,0.612 51099,0.151,0.044,0.086,0.053,0.666 51101,0.012,0.072,0.201,0.169,0.546 51103,0.001,0.022,0.121,0.178,0.678 51105,0.107,0.135,0.072,0.104,0.582 51107,0.014,0.012,0.038,0.173,0.763 51109,0.025,0.045,0.036,0.146,0.748 51111,0.068,0.006,0.134,0.143,0.649 51113,0.017,0.097,0.064,0.154,0.668 51115,0.001,0.001,0.049,0.19,0.76 51117,0.063,0.022,0.128,0.14,0.648 51119,0.001,0.004,0.103,0.237,0.654 51121,0.056,0.042,0.09,0.171,0.64 51125,0.011,0.015,0.106,0.167,0.701 51127,0.008,0.035,0.079,0.17,0.708 51131,0.001,0.037,0.089,0.112,0.761 51133,0.017,0.038,0.095,0.141,0.71 51135,0.044,0.014,0.099,0.182,0.661 51137,0.033,0.132,0.038,0.153,0.643 51139,0.025,0.052,0.237,0.166,0.52 51141,0.042,0.098,0.166,0.203,0.491 51143,0.106,0.045,0.147,0.135,0.567 51145,0.012,0.092,0.074,0.162,0.66 51147,0.059,0.009,0.138,0.154,0.64 51149,0.033,0.033,0.127,0.189,0.619 51153,0.047,0.027,0.055,0.11,0.761 51155,0.083,0.055,0.166,0.173,0.523 51157,0.023,0.019,0.077,0.164,0.717 51159,0.015,0.07,0.109,0.167,0.64 51161,0.065,0.045,0.077,0.205,0.607 51163,0.015,0.112,0.068,0.13,0.675 51165,0.034,0.062,0.139,0.212,0.553 51167,0.082,0.137,0.212,0.24,0.329 51169,0.074,0.124,0.121,0.157,0.523 51171,0.023,0.039,0.136,0.288,0.514 51173,0.087,0.079,0.237,0.182,0.415 51175,0.019,0.013,0.063,0.216,0.69 51177,0.05,0.019,0.03,0.115,0.785 51179,0.045,0.035,0.097,0.095,0.728 51181,0.006,0.021,0.003,0.249,0.721 51183,0.012,0.012,0.06,0.218,0.698 51185,0.062,0.104,0.264,0.16,0.41 51187,0.027,0.017,0.088,0.2,0.669 51191,0.123,0.099,0.144,0.266,0.368 51193,0.079,0.036,0.127,0.127,0.631 51195,0.025,0.075,0.099,0.158,0.643 51197,0.096,0.075,0.172,0.21,0.447 51199,0.006,0.021,0.024,0.162,0.786 51510,0.032,0.02,0.065,0.17,0.712 51520,0.174,0.125,0.075,0.273,0.352 51530,0.018,0.15,0.068,0.125,0.639 51540,0.023,0.019,0.05,0.075,0.833 51550,0.018,0.025,0.095,0.182,0.68 51570,0.044,0.045,0.126,0.177,0.608 51580,0.184,0.017,0.133,0.188,0.478 51590,0.087,0.043,0.209,0.127,0.534 51595,0.015,0.001,0.148,0.148,0.687 51600,0.025,0.015,0.075,0.173,0.712 51610,0.007,0.033,0.038,0.158,0.765 51620,0.01,0.027,0.115,0.192,0.656 51630,0.038,0.007,0.034,0.136,0.784 51640,0.071,0.086,0.049,0.243,0.551 51650,0.008,0.025,0.078,0.118,0.771 51660,0.029,0.066,0.129,0.205,0.571 51670,0.038,0.038,0.149,0.187,0.588 51678,0.01,0.146,0.059,0.121,0.663 51680,0.07,0.031,0.073,0.222,0.603 51683,0.033,0.023,0.027,0.175,0.742 51685,0.071,0.025,0.017,0.167,0.72 51690,0.063,0.076,0.134,0.163,0.564 51700,0.01,0.038,0.035,0.145,0.772 51710,0.004,0.03,0.087,0.215,0.664 51720,0.017,0.056,0.085,0.155,0.687 51730,0.034,0.033,0.116,0.177,0.64 51735,0.004,0.014,0.073,0.219,0.69 51740,0,0.019,0.122,0.225,0.634 51750,0.075,0.045,0.11,0.177,0.593 51760,0.06,0.031,0.092,0.275,0.541 51770,0.07,0.05,0.088,0.212,0.58 51775,0.064,0.039,0.068,0.199,0.63 51790,0.027,0.039,0.057,0.158,0.718 51800,0.007,0.048,0.171,0.208,0.565 51810,0.017,0.041,0.062,0.202,0.678 51820,0.027,0.028,0.049,0.186,0.71 51830,0.005,0.009,0.001,0.249,0.737 51840,0.025,0.056,0.032,0.277,0.611 53001,0.077,0.051,0.072,0.076,0.724 53003,0.014,0.029,0.115,0.32,0.522 53005,0.084,0.011,0.064,0.08,0.761 53007,0.062,0.048,0.029,0.297,0.564 53009,0.001,0,0.028,0.225,0.746 53011,0.02,0.021,0.048,0.17,0.741 53013,0.08,0.031,0.079,0.223,0.586 53015,0.041,0.02,0.098,0.216,0.625 53017,0.067,0.047,0.042,0.271,0.573 53019,0.082,0.066,0.082,0.204,0.565 53021,0.106,0.013,0.059,0.069,0.753 53023,0.031,0.029,0.085,0.292,0.563 53025,0.032,0.052,0.108,0.146,0.661 53027,0.03,0.009,0.087,0.213,0.662 53029,0.015,0.009,0.066,0.15,0.759 53031,0.011,0,0.064,0.171,0.754 53033,0.016,0.02,0.05,0.191,0.724 53035,0.024,0.003,0.051,0.136,0.786 53037,0.032,0.084,0.033,0.179,0.672 53039,0.038,0.029,0.113,0.288,0.532 53041,0.033,0.112,0.128,0.111,0.616 53043,0.017,0.086,0.023,0.108,0.765 53045,0.011,0.024,0.091,0.152,0.721 53047,0.042,0.066,0.075,0.199,0.617 53049,0.082,0.016,0.128,0.063,0.712 53051,0.027,0.122,0.052,0.212,0.587 53053,0.028,0.057,0.103,0.206,0.606 53055,0.015,0.004,0.021,0.229,0.73 53057,0.035,0.097,0.037,0.177,0.653 53059,0.019,0.048,0.092,0.08,0.76 53061,0.017,0.014,0.056,0.191,0.721 53063,0.033,0.057,0.08,0.151,0.679 53065,0.05,0.039,0.069,0.257,0.585 53067,0.022,0.051,0.109,0.132,0.685 53069,0.045,0.057,0.079,0.161,0.658 53071,0.083,0.022,0.061,0.193,0.641 53073,0.042,0.028,0.061,0.122,0.747 53075,0.002,0.009,0.049,0.31,0.629 53077,0.012,0.035,0.069,0.143,0.74 54001,0.092,0.031,0.071,0.287,0.519 54003,0.065,0.049,0.196,0.166,0.524 54005,0.097,0.138,0.093,0.197,0.475 54007,0.102,0.131,0.167,0.202,0.398 54009,0.067,0.11,0.195,0.192,0.436 54011,0.092,0.09,0.154,0.186,0.476 54013,0.085,0.07,0.227,0.21,0.408 54015,0.098,0.097,0.162,0.152,0.491 54017,0.187,0.011,0.075,0.307,0.42 54019,0.14,0.088,0.226,0.137,0.409 54021,0.141,0.076,0.144,0.236,0.403 54023,0.1,0.232,0.067,0.193,0.407 54025,0.07,0.03,0.113,0.233,0.554 54027,0.021,0.035,0.088,0.236,0.619 54029,0.072,0.128,0.151,0.19,0.459 54031,0.039,0.152,0.103,0.23,0.476 54033,0.132,0.021,0.071,0.319,0.457 54035,0.111,0.055,0.097,0.216,0.522 54037,0.041,0.038,0.2,0.169,0.552 54039,0.145,0.039,0.064,0.147,0.605 54041,0.161,0.029,0.068,0.288,0.454 54043,0.091,0.077,0.164,0.167,0.501 54045,0.082,0.11,0.116,0.247,0.445 54047,0.07,0.095,0.189,0.226,0.42 54049,0.069,0.06,0.111,0.281,0.479 54051,0.075,0.095,0.077,0.256,0.497 54053,0.081,0.095,0.195,0.149,0.481 54055,0.076,0.152,0.174,0.103,0.495 54057,0.033,0.016,0.042,0.234,0.674 54059,0.084,0.093,0.093,0.172,0.558 54061,0.046,0.077,0.139,0.221,0.517 54063,0.048,0.063,0.116,0.14,0.634 54065,0.025,0.085,0.169,0.258,0.463 54067,0.06,0.088,0.166,0.143,0.542 54069,0.108,0.068,0.092,0.243,0.49 54071,0.06,0.142,0.128,0.214,0.456 54073,0.088,0.108,0.17,0.287,0.346 54075,0.075,0.03,0.17,0.227,0.499 54077,0.057,0.028,0.087,0.247,0.58 54079,0.087,0.048,0.088,0.184,0.593 54081,0.087,0.083,0.257,0.148,0.426 54083,0.098,0.05,0.14,0.265,0.447 54085,0.141,0.059,0.183,0.262,0.356 54087,0.082,0.024,0.191,0.21,0.493 54089,0.053,0.104,0.166,0.111,0.567 54091,0.072,0.032,0.092,0.288,0.517 54093,0.108,0.087,0.048,0.292,0.465 54095,0.083,0.056,0.137,0.272,0.452 54097,0.131,0.039,0.077,0.278,0.475 54099,0.111,0.119,0.186,0.162,0.423 54101,0.065,0.083,0.163,0.211,0.479 54103,0.051,0.067,0.081,0.279,0.521 54105,0.112,0.059,0.219,0.222,0.389 54107,0.094,0.099,0.149,0.277,0.381 54109,0.073,0.098,0.176,0.245,0.408 55001,0.163,0.189,0.227,0.213,0.208 55003,0.078,0.038,0.118,0.363,0.403 55005,0.138,0.163,0.07,0.259,0.37 55007,0.067,0.039,0.107,0.392,0.395 55009,0.069,0.053,0.184,0.208,0.486 55011,0.039,0.106,0.172,0.269,0.414 55013,0.097,0.163,0.082,0.236,0.422 55015,0.064,0.1,0.141,0.33,0.365 55017,0.059,0.098,0.184,0.246,0.414 55019,0.162,0.149,0.158,0.146,0.384 55021,0.035,0.073,0.082,0.222,0.589 55023,0.202,0.033,0.11,0.158,0.497 55025,0.017,0.02,0.092,0.23,0.641 55027,0.11,0.138,0.166,0.2,0.386 55029,0.021,0.03,0.059,0.264,0.627 55031,0.044,0.042,0.092,0.327,0.495 55033,0.062,0.076,0.179,0.266,0.417 55035,0.042,0.076,0.203,0.255,0.424 55037,0.053,0.073,0.143,0.238,0.494 55039,0.121,0.155,0.158,0.244,0.322 55041,0.085,0.053,0.162,0.215,0.484 55043,0.103,0.102,0.18,0.166,0.449 55045,0.092,0.084,0.119,0.269,0.436 55047,0.092,0.122,0.184,0.117,0.486 55049,0.065,0.077,0.092,0.333,0.433 55051,0.04,0.052,0.142,0.248,0.518 55053,0.027,0.1,0.14,0.329,0.404 55055,0.114,0.093,0.096,0.179,0.518 55057,0.113,0.124,0.18,0.232,0.352 55059,0.077,0.083,0.097,0.155,0.589 55061,0.033,0.035,0.112,0.208,0.612 55063,0.064,0.072,0.076,0.289,0.498 55065,0.056,0.098,0.197,0.253,0.396 55067,0.085,0.102,0.142,0.239,0.432 55069,0.101,0.105,0.132,0.204,0.459 55071,0.175,0.089,0.259,0.133,0.345 55073,0.123,0.136,0.165,0.236,0.34 55075,0.093,0.104,0.066,0.258,0.479 55077,0.174,0.191,0.2,0.163,0.271 55078,0.042,0.103,0.31,0.246,0.3 55079,0.053,0.067,0.119,0.264,0.497 55081,0.073,0.03,0.154,0.284,0.46 55083,0.07,0.082,0.186,0.215,0.447 55085,0.057,0.05,0.155,0.186,0.552 55087,0.085,0.124,0.135,0.302,0.353 55089,0.076,0.113,0.091,0.3,0.42 55091,0.071,0.056,0.198,0.233,0.443 55093,0.063,0.094,0.144,0.25,0.449 55095,0.081,0.113,0.154,0.253,0.399 55097,0.157,0.159,0.215,0.188,0.28 55099,0.059,0.081,0.079,0.15,0.631 55101,0.061,0.067,0.167,0.193,0.512 55103,0.312,0.074,0.055,0.116,0.443 55105,0.023,0.139,0.096,0.277,0.464 55107,0.095,0.135,0.106,0.168,0.496 55109,0.101,0.102,0.085,0.342,0.37 55111,0.063,0.163,0.113,0.193,0.468 55113,0.058,0.126,0.133,0.256,0.427 55115,0.05,0.121,0.355,0.188,0.286 55117,0.128,0.114,0.174,0.199,0.385 55119,0.201,0.165,0.09,0.12,0.424 55121,0.02,0.126,0.085,0.381,0.387 55123,0.157,0.052,0.093,0.244,0.454 55125,0.051,0.047,0.138,0.231,0.533 55127,0.116,0.146,0.137,0.191,0.41 55129,0.082,0.168,0.117,0.243,0.39 55131,0.031,0.142,0.22,0.298,0.309 55133,0.071,0.165,0.145,0.258,0.361 55135,0.076,0.069,0.206,0.143,0.506 55137,0.109,0.147,0.202,0.186,0.356 55139,0.074,0.194,0.126,0.156,0.45 55141,0.131,0.177,0.215,0.181,0.296 56001,0.136,0.1,0.151,0.181,0.432 56003,0.182,0.187,0.12,0.257,0.253 56005,0.216,0.164,0.131,0.201,0.289 56007,0.044,0.137,0.087,0.278,0.454 56009,0.138,0.113,0.121,0.293,0.335 56011,0.145,0.115,0.143,0.192,0.404 56013,0.16,0.062,0.06,0.294,0.424 56015,0.201,0.169,0.111,0.223,0.296 56017,0.208,0.093,0.068,0.307,0.324 56019,0.183,0.208,0.103,0.216,0.29 56021,0.143,0.127,0.1,0.221,0.409 56023,0.131,0.183,0.128,0.235,0.324 56025,0.1,0.084,0.094,0.325,0.398 56027,0.169,0.191,0.177,0.222,0.241 56029,0.189,0.153,0.191,0.205,0.262 56031,0.149,0.149,0.123,0.16,0.418 56033,0.17,0.251,0.099,0.203,0.278 56035,0.223,0.111,0.061,0.231,0.374 56037,0.061,0.295,0.23,0.146,0.268 56039,0.095,0.157,0.16,0.247,0.34 56041,0.098,0.278,0.154,0.207,0.264 56043,0.204,0.155,0.069,0.285,0.287 56045,0.142,0.129,0.148,0.207,0.374 ================================================ FILE: tidyverse/part2_winter2021/tidyverse_part2_winter2021.Rmd ================================================ --- title: "Tidyverse Tibbles and Bits" subtitle: "Bioinformatics Coffee Hour" date: "Mar 9, 2021" author: "Brian Arnold; Danielle Khost" output: html_document --- ```{r setup, include=FALSE} knitr::opts_chunk$set(echo = TRUE) ``` This is the second session covering tidyverse commands. We will show you how to use some new functions, but we will also use some of the functions we previously used last week which will be good for extra practice. If you missed the previous session, that should not be a problem. From last time, we looked at this [cheat sheet](https://rstudio.com/wp-content/uploads/2015/02/data-wrangling-cheatsheet.pdf) to occasionally guide us. It's typical to load all the libraries you need at the top of your code. ```{r} library(tidyverse) ``` ------ For this week, rather than use an example dataset, we are going to use several publically available datasets from the NYT github repository on the COVID-19 pandemic. This is because "wild-caught" datasets are often much messier than example datasets, so it will help us become more familiar with how you would actually go about processing data. We are going to keep our analysis purely descriptive, as it would be irresponsible to make any conclusive claims after fiddling around with R for only an hour! ## Dataset 1: mask useage Let's load in the first data set on mask usage in the US, which is in the form of a comma separated list. This data is from a NYT survey where they asked the question: "How often do you wear a mask in public when you expect to be within six feet of another person?" (As a note, this survey was done several months ago, so these numbers are not the most up-to-date.) ```{r} <<<<<<< HEAD mask_use_wide <- read_delim(file="mask-use-by-county.csv", delim=",") ======= mask_use_wide <- read_delim(file="https://raw.githubusercontent.com/nytimes/covid-19-data/bde13b021e99c6b4a63fb66a6144e889cc635e31/mask-use/mask-use-by-county.csv", delim=",") >>>>>>> bfb375bc22239322d6e6089bdac1ac5be52372c1 mask_use_wide ``` It looks like for all the counties are represented with a 5-digit FIPS code, which is not exactly ideal because we don't know what these numbers mean. We'll get the names in a moment by combining these data with another file that also has these FIPS codes AND county names. We can thus match these data tables based on shared FIPS codes to combine them. ## Dataset 2: US case counts In addition to the mask data, let's also load in data on COVID-19 case counts across the US, also supplied by the NYT, and combine it with our mask use data. Unlike the previous data that we loaded in from our local file system, these data we will directly download because they are so large. This will also show how you can specify web addresses instead of file names for read_delim(). This file is also comma separated, so we will let read_delim() know this. ```{r, include=FALSE} cases <- read_delim(file="https://github.com/nytimes/covid-19-data/raw/master/us-counties.csv", delim=",") %>% arrange(fips) ``` <<<<<<< HEAD This is a lot of data. For ~3000 US counties, there's an estimate of cumulative COVID-19 cases and deaths for each day since last March (it's now March again!!!). For now, let's just look at the start of this month. ======= This is a lot of data. For ~3000 US counties, there's an estimate of cumulative COVID-19 cases and deaths for each day since last March (it's now March again!!!). For now, let's just look at the start of this month. >>>>>>> bfb375bc22239322d6e6089bdac1ac5be52372c1 ```{r, include=FALSE} cases_latest <- cases %>% filter(date == "2021-03-01") %>% arrange(fips) ``` As a refresher, we are using the filter() function to select only the rows that match the string "2021-03-01" in the date column, then using the arrange() function to sort the counties by FIPS code. ----- ## Dataset 3: census data Let's load in some additional data on population size by county, which are obtained from www.census.gov. ```{r, include=FALSE} pop_sizes <- read_delim(file="co-est2019-annres.csv.xz", delim=",") ``` When I'm working with larger files and I want to make sure they looks like I expect them to, instead of opening up the file and scrolling through all the lines, checking each by eye, I typically use various commands to just get an idea of what it looks like before proceeding. Oftentimes, this is sufficient; we don't need to check every line. These are just a few commands I might use to look at the first and last few lines, how many rows there are overall, and also get an idea of how much missing data there might be: ```{r} head(pop_sizes) nrow(pop_sizes) sum(!is.na(pop_sizes$'2019')) tail(pop_sizes) ``` Ok so these data are a little messy and need to be cleaned up. From these commands, we can see that the county names are all preceded with a ".", something we'll deal with in a moment. The number of rows (i.e. the number of counties) in the table is very similar to what we expect (3,142 according to wikipedia), but maybe larger by 7 rows or so. We can see that the entire US was included in this table, which is not a county so we should remove that. Looking at the bottom of the table, we see some footnotes were left in. These are also contributing to the extra number of rows and should absolutely be removed. Let's remove these rows at the beginning and end with the **slice()** function, which pulls out rows from a data frame/tibble based on their ordinal position. It keeps all the columns, in contrast to the select() function that we discussed last week. ```{r, include=FALSE} pop_sizes <- pop_sizes %>% dplyr::slice(2:3143) ``` With this command, we are slicing out the middle of the data frame to remove the row with data from the whole US, as well as the footnotes at the bottom. The 'Geographic Area' column has two pieces of info in it: county and state. We should split this column into two columns so that we can separately access the info. For instance, later on we will do an analysis not by county but by state, summing up across a state's counties, and this requires having this information in it's own separate column. To separate this info into 2 seperate columns, we will use the separate() function: ```{r, include=FALSE} pop_sizes <- pop_sizes %>% separate(col = 'Geographic Area', into = c("County", "State"), sep = ", ") ``` Note that unlike last time we are specifying what we want to separate on with the "sep=" argument, which is a comma followed by a white space. Let's get rid of extra characters in the new 'County' column. We don't need the "." that precedes each name, and it's pointless that each individual county name is followed by "County"... we know they're counties based on the name of the column. We can use the mutate() function to add new rows with new names, but if the name of the new row we want is the same as an existing one, it just replaces it! ```{r, include=FALSE} pop_sizes <- pop_sizes %>% mutate(County = str_remove(string = County,pattern = ".")) %>% mutate(County = str_remove(string = County,pattern = " County")) ``` We are combining the mutate() function with **str_remove()** which, as the name suggests, will remove a given string that matches a pattern from a character column, the County column in this case. This table includes population size data for quite a few years. Let's just get the most recent population estimate, selecting the 2019 column with the select() function, which as mentioned above pulls out specific columns: ```{r, include=FALSE} pop_sizes <- pop_sizes %>% select(County, State, "2019") ``` As we did above for the data sets we used last week, we can also combine all of these individual commands into one compact command that might look something like this: ```{r, include=FALSE} pop_sizes <- read_delim(file="co-est2019-annres.csv.xz", delim=",") %>% slice(2:3143) %>% separate(col = 'Geographic Area', into = c("County", "State"), sep = ", ") %>% mutate(County = str_remove(string = County,pattern = ".")) %>% mutate(County = str_remove(string = County,pattern = " County")) %>% select(County, State, "2019") ``` We can take a quick peek at these population size data, now that they're cleaned, using the summary() function, which shows there's a ton of variability in county sizes! ```{r} summary(pop_sizes) ``` ## Merging data sets with inner_join() Let's combine these data on population sizes with our previous data on case counts and mask usage, as it may reveal interesting dynamics that vary by county size. We will first use the join command on the case count data and the county population size data, joining by BOTH county and state. There are many different types of joining functions and it can get fairly confusing, so today we will focus just on **inner_join**. ```{r, include=FALSE} cases_popsize <- inner_join(x=cases_latest, y=pop_sizes, by=c("county"="County", "state"="State")) ``` The "x=" and "y=" arguments specify which datasets we want to merge. Inner_join() returns all rows in dataset x that has matching values in dataset y, and all the columns in both x and y. The "by=" arugment tells what variables the function should merge by, as a character vector. In other words we tell the function what columns we want to match: it compares the values in the columns in x and y, and if they match it merges them. We are matching the "county" coumn in cases_latest with the "County" column in pop_sizes, and the "state" and "State" columns in the same. Note that because the column names (i.e. variable names) are slightly different between datasets, we have to specify which we are matching using an "="; if they had the same names, we could just list them. ## More merging Now let's merge this table that has case counts and population size with the mask data! For now, let's not add in all the mask data. Let's only incorporate the the proportion of people who are "ALWAYS" masked for each county. ```{r, include=FALSE} cases_popsize_masked <- inner_join(x=cases_popsize, y=select(mask_use_wide, c(COUNTYFP, ALWAYS)), by=c("fips" = "COUNTYFP")) ``` Note that we are nesting the select() function within our inner_join() call, allowing us to subset the mask useage dataset without making an entirely new data frame. Looking at this data table, for each county we now have cases, deaths, population size, and the proportion of people who are always masked. You may also notice the population size data had a column entitled "2019" for size estimates during that year. Let's make this more informative and change it to "pop_size", and rename the ALWAYS column so that we know it's referring to always masked. ```{r, include=FALSE} cases_popsize_masked <- cases_popsize_masked %>% rename("pop_size" = "2019", "AlwaysMasked" = ALWAYS) ``` ## Visualizing data Let's quickly probe these data just to get an idea of what they look like. The main goal here is to teach you how to use R/tidyverse commands to quickly and easily explore your data. Again, due to the context of these data, let's keep any results as fairly descriptive observations. We can't say anything conclusive without more complicated analyses that we'll leave to the public health officials. Let's assume these case count data are accurately measuring the number of people who are getting coronavirus infections (which is obviously an underestimate, as many cases can be asymptomatic!). Assuming this, what fraction of a county's population is testing positive, and how does this fraction vary with population size? Let's use the mutate() function to add a new column with number of cases normalized by population size: ```{r} cases_popsize_masked <- cases_popsize_masked %>% mutate(FracPos = cases/pop_size) ``` Do counties with large populations have a higher proportion of case counts? Let's use a simple plotting function to plot population size on the x axis and proportion of cases on y axis. Since we will look at the proportion of cases by dividing the data in the case counts column by the data in the population size column, let's just make a new column called 'FracPos' that contains this information We can make a quick plot of these data using a base R (i.e. not tidyverse) plotting function: ```{r} cases_popsize_masked <- cases_popsize_masked %>% mutate(FracPos = cases/pop_size) plot(x=cases_popsize_masked$pop_size, y=cases_popsize_masked$FracPos, log="x", ylab="Fraction of cases", xlab="pop size") # DON'T RUN CORRELATION ANALYSES WITH HETEROSCEDASTICITY ``` Looks interesting. Counties with larger population sizes may look like they have higher proportion of cases, but it's a little complicated because there's a lot of variability for counties with smaller population sizes. One thing we might be interested in are those outliers with very high rates of positive cases. What counties are these, and in what states? We can easily check this with the following: ```{r} cases_popsize_masked %>% filter(FracPos > 0.08) %>% arrange(desc(FracPos)) ``` Let's add another column for death rate, and visualize the relationship between the fraction of positive cases and the death rate: ```{r} cases_popsize_masked <- cases_popsize_masked %>% mutate(FracDeaths = deaths/cases) plot(x=cases_popsize_masked$FracPos, y=cases_popsize_masked$FracDeaths, log="", xlab="FracCases", ylab="FracDeaths") ``` What are these counties that have been severely impacted by deaths? Is this just noise from counties with small sizes and/or small case counts? ```{r} cases_popsize_masked %>% filter(FracDeaths > 0.06) %>% arrange(desc(FracDeaths)) ``` # Using group_by() and summarize() functions to evaluate data The use of the group_by() and summarize() functions allows us to quickly get extremely informative information from our data. We'll show how they're useful in many ways, but first we need to do a little more reshaping of our data. Let's go back to our original mask use data table, not the combined one. What if we wanted to quickly get the overall mean values of ALWAYS, ... , NEVER across all the counties? We could use the original data in wide format, and calculate the mean for each of these columns. We could also use the simple summary() function which outputs a table: ```{r} mean(mask_use_wide$NEVER) mean(mask_use_wide$RARELY) mean(mask_use_wide$SOMETIMES) mean(mask_use_wide$FREQUENTLY) mean(mask_use_wide$ALWAYS) summary(mask_use_wide) ``` You can do it with way, but it is kind of clunky, and it wouldn't be practical if your dataset has too many variables. It is easier to first convert the data in long format: ```{r, include=FALSE} mask_use_long <- mask_use_wide %>% pivot_longer(cols = -COUNTYFP, names_to = "MaskUseResponse", values_to = "MaskUseProportion") %>% rename("fips" = COUNTYFP) %>% arrange(fips) ``` As a reminder, the "cols=" argument specifies which columns we are reshaping into rows (all *except* the "COUNTYFP" column), the "names_to=" argument specifies the name of the column that will hold the names of the reshaped columns, and the "values_to=" argument gives the name of the column that will hold the values of the reshaped columns. We can now use the **group_by()** function, which takes our existing dataset and converts it to a grouped dataset based on a given variable, and combine it with the **summarize()** function (different from summary used above!) to get mean for each group: ```{r} mask_use_long %>% group_by(MaskUseResponse) %>% summarize(mean(MaskUseProportion)) ``` ## More data analysis and visualization Let's explore another example of group_by() and summarize() using our tibble that has all our combined information. Instead of focusing on counties as our unit of analysis, we can use group_by() to easily switch to a state level analysis by telling the summarize() function to perform analyses for each state, combining all the rows that have the same value under the "state" column. When we combine the group_by() function with summarize(), we can easily do some pretty powerful analyses that would take a lot of effort using other programs. ```{r} cases_popsize_masked %>% group_by(state) %>% summarize(MeanMasked = mean(AlwaysMasked)) %>% arrange(desc(MeanMasked)) ``` This is potentially a bad analysis because we are calculating a mean for a state based on it's counties, and some of these counties may be represented by fewer people. So if we truly wanted the average behavior of a state, we should weight each county by its population size. Why should a county with a size of 400 contribute equally to the mean as a county of size 40,000? The following code calculates a custom mean value, where each county is weighted by its population size: ```{r} cases_popsize_masked %>% group_by(state) %>% summarize(WeightedMeanMasked = sum(AlwaysMasked*pop_size)/sum(pop_size)) %>% arrange(desc(WeightedMeanMasked)) ``` Did this weighting by county size actually make a difference? Let's store these analyses as 'x' and 'y' and compare them: ```{r} x <- cases_popsize_masked %>% group_by(state) %>% summarize(MeanMasked = mean(AlwaysMasked)) %>% arrange(state) y <- cases_popsize_masked %>% group_by(state) %>% summarize(WeightedMeanMasked = sum(AlwaysMasked*pop_size)/sum(pop_size)) %>% arrange(state) hist(x$MeanMasked - y$WeightedMeanMasked) ``` It looks like on average, AlwaysMasked estimates that don't take pop_size into account are systematically lower than those that do. When we don't take county size into account, we effectively give more weight to smaller counties. # Summary: ## New tidyverse functions used today: - slice() to select specific rows by index number - inner_join() to merge datasets based on given variable(s) - mutate() with str_remove to get rid of characters or words we don't want, there are many similar functions in the stringr package, which has its own cheat sheet - group_by() to categorize our data by the values in a particular column (here, by state) - summarize() to calculate simple but very informative statistics, such as mean and variance ================================================ FILE: tidyverse/part2_winter2021/tidyverse_part2_winter2021.nb.html ================================================ R Notebook

NEW FXNS: slice(), inner_join(), summarize(), group_by()

This is the second session covering tidyverse commands. We will show you how to use some new functions, but we will also use some of the functions we previously used last week which will be good for extra practice. If you missed the previous session, that should not be a problem.

From last time, we looked at this cheat sheet to occasionally guide us.

It’s typical to load all the libraries you need at the top of your code.

library(tidyverse)

For this week, rather than use an example dataset, we are going to use several publically available datasets from the NYT github repository on the COVID-19 pandemic. This is because “wild-caught” datasets are often much messier than example datasets, so it will help us become more familiar with how you would actually go about processing data. We are going to keep our analysis purely descriptive, as it would be irresponsible to make any conclusive claims after fiddling around with R for only an hour!

Dataset 1: mask useage

Let’s load in the first data set on mask usage in the US, which is in the form of a comma separated list. This data is from a NYT survey where they asked the question: “How often do you wear a mask in public when you expect to be within six feet of another person?” (As a note, this survey was done several months ago, so these numbers are not the most up-to-date.)

mask_use_wide <- read_delim(file="~/Documents/GitHub/bioinformatics-coffee-hour/tidyverse/part2_winter2021/mask-use-by-county.csv", delim=",")
Parsed with column specification:
cols(
  COUNTYFP = col_character(),
  NEVER = col_double(),
  RARELY = col_double(),
  SOMETIMES = col_double(),
  FREQUENTLY = col_double(),
  ALWAYS = col_double()
)
mask_use

It looks like for all the counties are represented with a 5-digit FIPS code, which is not exactly ideal because we don’t know what these numbers mean. We’ll get the names in a moment by combining these data with another file that also has these FIPS codes AND county names. We can thus match these data tables based on shared FIPS codes to combine them.

Dataset 2: US case counts

In addition to the mask data, let’s also load in data on COVID-19 case counts across the US, also supplied by the NYT, and combine it with our mask use data. Unlike the previous data that we loaded in from our local file system, these data we will directly download because they are so large. This will also show how you can specify web addresses instead of file names for read_delim(). This file is also comma separated, so we will let read_delim() know this.

This is a lot of data. For ~3000 US counties, there’s an estimate of cumulative COVID-19 cases and deaths for each day since late January (it’s now March again!!!). For now, let’s just look at the start of this month.

As a refresher, we are using the filter() function to select only the rows that match the string “2021-03-01” in the date column, then using the arrange() function to sort the counties by FIPS code.


Dataset 3: census data

Let’s load in some additional data on population size by county, which are obtained from www.census.gov.

When I’m working with larger files and I want to make sure they looks like I expect them to, instead of opening up the file and scrolling through all the lines, checking each by eye, I typically use various commands to just get an idea of what it looks like before proceeding. Oftentimes, this is sufficient; we don’t need to check every line.

These are just a few commands I might use to look at the first and last few lines, how many rows there are overall, and also get an idea of how much missing data there might be:

head(pop_sizes) 
nrow(pop_sizes) 
[1] 3149
sum(!is.na(pop_sizes$'2019')) # how many counties have size estimates for 2019? it's even closer to the 3142 we expect!
[1] 3143
tail(pop_sizes)

Ok so these data are a little messy and need to be cleaned up.

From these commands, we can see that the entire US was included in this table, which is not a county. We should remove that. Also, county names are all preceded with a “.”, something we’ll deal with in a moment. The number of rows in the table is very similar to what we expect (3,142 according to wikipedia), but maybe larger by 7 rows or so. The row containing the entire US contributes to this excess of rows beyond our expectation.

Looking at the bottom of the table, we see some footnotes were left in. These are probably contributing to the extra number of rows and should absolutely be removed.

Let’s remove these rows at the beginning and end with the slice() function, which pulls out rows from a data frame/tibble based on their ordinal position. It keeps all the columns, in contrast to the select() function that we discussed last week.

With this command, we are slicing out the middle of the data frame to remove the row with data from the whole US, as well as the footnotes at the bottom.

The ‘Geographic Area’ column has two pieces of info in it: county and state. We should split this column into two columns so that we can separately access the info. For instance, later on we will do an analysis not by county but by state, summing up across a state’s counties, and this requires having this information in it’s own separate column. To separate this info into 2 seperate columns, we will use the separate() function:

Note that unlike last time we are specifying what we want to separate on with the “sep=” argument, which is a comma followed by a white space.

Let’s get rid of extra characters in the new ‘County’ column. We don’t need the “.” that precedes each name, and it’s pointless that each individual county name is followed by “County”… we know they’re counties based on the name of the column. We can use the mutate() function to add new rows with new names, but if the name of the new row we want is the same as an existing one, it just replaces it!

We are combining the mutate() function with str_remove() which, as the name suggests, will remove a given pattern from a character column, the County column in this case.

This table includes population size data for quite a few years. Let’s just get the most recent population estimate, selecting the 2019 column with the select() function, which as mentioned above pulls out specific columns:

As we did above for the data sets we used last week, we can also combine all of these individual commands into one compact command that might look something like this:

We can take a quick peek at these population size data, now that they’re cleaned, using the summary() function, which shows there’s a ton of variability in county sizes!

summary(pop_sizes)
    County             State                2019         
 Length:3142        Length:3142        Min.   :      86  
 Class :character   Class :character   1st Qu.:   10902  
 Mode  :character   Mode  :character   Median :   25726  
                                       Mean   :  104468  
                                       3rd Qu.:   68073  
                                       Max.   :10039107  

Merging data sets with inner_join()

Let’s combine these data on population sizes with our previous data on case counts and mask usage, as it may reveal interesting dynamics that vary by county size.

We will first use the join command on the case count data and the county population size data, joining by BOTH county and state. There are many different types of joining functions and it can get fairly confusing, so today we will focus just on inner_join.

The “x=” and “y=” arguments specify which datasets we want to merge. Inner_join() returns all rows in dataset x that has matching values in dataset y, and all the columns in both x and y.

The “by=” arugment tells what variables the function should merge by, as a character vector. In other words we tell the function what columns we want to match: it compares the values in the columns in x and y, and if they match it merges them. We are matching the “county” coumn in cases_latest with the “County” column in pop_sizes, and the “state” and “State” columns in the same.

Note that because the column names (i.e. variable names) are slightly different between datasets, we have to specify which we are matching using an “=”; if they had the same names, we could just list them.

More merging

Now let’s merge this table that has case counts and population size with the mask data! For now, let’s not add in all the mask data. Let’s only incorporate the the proportion of people who are “ALWAYS” masked for each county.

Note that we are nesting the select() function within our inner_join() call, allowing us to subset the mask useage dataset without making an entirely new data frame.

Looking at this data table, for each county we now have cases, deaths, population size, and the proportion of people who are always masked.

You may also notice the population size data had a column entitled “2019” for size estimates during that year. Let’s make this more informative and change it to “pop_size”, and rename the ALWAYS column so that we know it’s referring to always masked.

Visualizing data

Let’s quickly probe these data just to get an idea of what they look like. The main goal here is to teach you how to use R/tidyverse commands to quickly and easily explore your data. Again, due to the context of these data, let’s keep any results as fairly descriptive observations. We can’t say anything conclusive without more complicated analyses that we’ll leave to the public health officials.

Let’s assume these case count data are accurately measuring the number of people who are getting coronavirus infections (which is obviously an underestimate, as many cases can be asymptomatic!). Assuming this, what fraction of a county’s population is testing positive, and how does this fraction vary with population size? Let’s use the mutate() function to add a new column with number of cases normalized by population size:

cases_popsize_masked <- cases_popsize_masked %>%
  mutate(FracPos = cases/pop_size)

Do counties with large populations have a higher proportion of case counts? Let’s use a simple plotting function to plot population size on the x axis and proportion of cases on y axis. Since we will look at the proportion of cases by dividing the data in the case counts column by the data in the population size column, let’s just make a new column called ‘FracPos’ that contains this information

We can make a quick plot of these data using a base R (i.e. not tidyverse) plotting function:

cases_popsize_masked <- cases_popsize_masked %>%
  mutate(FracPos = cases/pop_size)
plot(x=cases_popsize_masked$pop_size,
     y=cases_popsize_masked$FracPos,
     log="x",
     ylab="Fraction of cases",
     xlab="pop size")

# DON'T RUN CORRELATION ANALYSES WITH HETEROSCEDASTICITY

Looks interesting. Counties with larger population sizes may look like they have higher proportion of cases, but it’s a little complicated because there’s a lot of variability for counties with smaller population sizes.

One thing we might be interested in are those outliers with very high rates of positive cases. What counties are theses, and in what states? We can very easily check this with the following:

cases_popsize_masked %>%
  filter(FracPos > 0.08) %>%
  arrange(desc(FracPos))

Let’s add another column for death rate, and visualize the relationship between the fraction of positive cases and the death rate:

cases_popsize_masked <- cases_popsize_masked %>%
  mutate(FracDeaths = deaths/cases)
plot(x=cases_popsize_masked$FracPos,
     y=cases_popsize_masked$FracDeaths,
     log="",
     xlab="FracCases",
     ylab="FracDeaths")

What are these counties that have been severely impacted by deaths? Is this just noise from counties with small sizes and/or small case counts?

cases_popsize_masked %>%
  filter(FracDeaths > 0.06) %>%
  arrange(desc(FracDeaths))

Using group_by() and summarize() functions to evaluate data

The use of the group_by() and summarize() functions allows us to quickly get extremely informative information from our data.

We’ll show how they’re useful in many ways, but first we need to do a little more reshaping of our data.

Let’s go back to our original mask use data table, not the combined one. What if we wanted to quickly get the overall mean values of ALWAYS, … , NEVER across all the counties? We could use the original data in wide format, and calculate the mean for each of these columns. We could also use the simple summary() function which outputs a table:

mean(mask_use_wide$NEVER)
[1] 0.07993953
mean(mask_use_wide$RARELY)
[1] 0.08291852
mean(mask_use_wide$SOMETIMES)
[1] 0.121318
mean(mask_use_wide$FREQUENTLY)
[1] 0.2077247
mean(mask_use_wide$ALWAYS)
[1] 0.5080936
summary(mask_use_wide)
   COUNTYFP             NEVER             RARELY          SOMETIMES        FREQUENTLY    
 Length:3142        Min.   :0.00000   Min.   :0.00000   Min.   :0.0010   Min.   :0.0290  
 Class :character   1st Qu.:0.03400   1st Qu.:0.04000   1st Qu.:0.0790   1st Qu.:0.1640  
 Mode  :character   Median :0.06800   Median :0.07300   Median :0.1150   Median :0.2040  
                    Mean   :0.07994   Mean   :0.08292   Mean   :0.1213   Mean   :0.2077  
                    3rd Qu.:0.11300   3rd Qu.:0.11500   3rd Qu.:0.1560   3rd Qu.:0.2470  
                    Max.   :0.43200   Max.   :0.38400   Max.   :0.4220   Max.   :0.5490  
     ALWAYS      
 Min.   :0.1150  
 1st Qu.:0.3932  
 Median :0.4970  
 Mean   :0.5081  
 3rd Qu.:0.6138  
 Max.   :0.8890  

You can do it with way, but it is kind of clunky, and it wouldn’t be practical if your dataset has too many variables. It is easier to first convert the data in long format:

As a reminder, the “cols=” argument specifies which columns we are reshaping into rows (all except the “COUNTYFP” column), the “names_to=” argument specifies the name of the column that will hold the names of the reshaped columns, and the “values_to=” argument gives the name of the column that will hold the values of the reshaped columns.

We can now use the group_by() function, which takes our existing dataset and converts it to a grouped dataset based on a given variable, and combine it with the summarize() function (different from summary used above!) to get mean for each group:

mask_use_long %>% 
  group_by(MaskUseResponse) %>% 
  summarize(mean(MaskUseProportion))

More data analysis and visualization

Let’s explore another example of group_by() and summarize() using our tibble that has all our combined information.

Instead of focusing on counties as our unit of analysis, we can use group_by() to easily switch to a state level analysis by telling the summarize() function to perform analyses for each state, combining all the rows that have the same value under the “state” column. When we combine the group_by() function with summarize(), we can easily do some pretty powerful analyses that would take a lot of effort using other programs.

cases_popsize_masked %>%
  group_by(state) %>%
  summarize(MeanMasked = mean(AlwaysMasked)) %>%
  arrange(desc(MeanMasked))

This is potentially a bad analysis because we are calculating a mean for a state based on it’s counties, and some of these counties may be represented by fewer people. So if we truly wanted the average behavior of a state, we should weight each county by its population size. Why should a county with a size of 400 contribute equally to the mean as a county of size 40,000?

The following code calculates a custom mean value, where each county is weighted by its population size:

cases_popsize_masked %>%
  group_by(state) %>%
  summarize(WeightedMeanMasked = sum(AlwaysMasked*pop_size)/sum(pop_size)) %>%
  arrange(desc(WeightedMeanMasked))

Did this weighting by county size actually make a difference? Let’s store these analyses as ‘x’ and ‘y’ and compare them:

x <- cases_popsize_masked %>%
  group_by(state) %>%
  summarize(MeanMasked = mean(AlwaysMasked)) %>%
  arrange(state)
y <- cases_popsize_masked %>%
  group_by(state) %>%
  summarize(WeightedMeanMasked = sum(AlwaysMasked*pop_size)/sum(pop_size)) %>%
  arrange(state)
hist(x$MeanMasked - y$WeightedMeanMasked)

It looks like on average, AlwaysMasked estimates that don’t take pop_size into account are systematically lower than those that do. When we don’t take county size into account, we effectively give more weight to smaller counties.

Summary:

New tidyverse functions used today:

  • slice() to select specific rows by index number
  • inner_join() to merge datasets based on given variable(s)
  • mutate() with str_remove to get rid of characters or words we don’t want, there are many similar functions in the stringr package, which has its own cheat sheet
  • group_by() to categorize our data by the values in a particular column (here, by state)
  • summarize() to calculate simple but very informative statistics, such as mean and variance
LS0tCnRpdGxlOiAiUiBOb3RlYm9vayIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKIyBORVcgRlhOUzogc2xpY2UoKSwgaW5uZXJfam9pbigpLCBzdW1tYXJpemUoKSwgZ3JvdXBfYnkoKQoKYGBge3Igc2V0dXAsIGluY2x1ZGU9RkFMU0V9CmtuaXRyOjpvcHRzX2NodW5rJHNldChlY2hvID0gVFJVRSkKYGBgCgoKVGhpcyBpcyB0aGUgc2Vjb25kIHNlc3Npb24gY292ZXJpbmcgdGlkeXZlcnNlIGNvbW1hbmRzLiBXZSB3aWxsIHNob3cgeW91IGhvdyB0byB1c2Ugc29tZSBuZXcgZnVuY3Rpb25zLCBidXQgd2Ugd2lsbCBhbHNvIHVzZSBzb21lIG9mIHRoZSBmdW5jdGlvbnMgd2UgcHJldmlvdXNseSB1c2VkIGxhc3Qgd2VlayB3aGljaCB3aWxsIGJlIGdvb2QgZm9yIGV4dHJhIHByYWN0aWNlLiBJZiB5b3UgbWlzc2VkIHRoZSBwcmV2aW91cyBzZXNzaW9uLCB0aGF0IHNob3VsZCBub3QgYmUgYSBwcm9ibGVtLgoKRnJvbSBsYXN0IHRpbWUsIHdlIGxvb2tlZCBhdCB0aGlzIFtjaGVhdCBzaGVldF0oaHR0cHM6Ly9yc3R1ZGlvLmNvbS93cC1jb250ZW50L3VwbG9hZHMvMjAxNS8wMi9kYXRhLXdyYW5nbGluZy1jaGVhdHNoZWV0LnBkZikgdG8gb2NjYXNpb25hbGx5IGd1aWRlIHVzLgoKSXQncyB0eXBpY2FsIHRvIGxvYWQgYWxsIHRoZSBsaWJyYXJpZXMgeW91IG5lZWQgYXQgdGhlIHRvcCBvZiB5b3VyIGNvZGUuCmBgYHtyfQpsaWJyYXJ5KHRpZHl2ZXJzZSkKYGBgCgotLS0tLS0KRm9yIHRoaXMgd2VlaywgcmF0aGVyIHRoYW4gdXNlIGFuIGV4YW1wbGUgZGF0YXNldCwgd2UgYXJlIGdvaW5nIHRvIHVzZSBzZXZlcmFsIHB1YmxpY2FsbHkgYXZhaWxhYmxlIGRhdGFzZXRzIGZyb20gdGhlIE5ZVCBnaXRodWIgcmVwb3NpdG9yeSBvbiB0aGUgQ09WSUQtMTkgcGFuZGVtaWMuIFRoaXMgaXMgYmVjYXVzZSAid2lsZC1jYXVnaHQiIGRhdGFzZXRzIGFyZSBvZnRlbiBtdWNoIG1lc3NpZXIgdGhhbiBleGFtcGxlIGRhdGFzZXRzLCBzbyBpdCB3aWxsIGhlbHAgdXMgYmVjb21lIG1vcmUgZmFtaWxpYXIgd2l0aCBob3cgeW91IHdvdWxkIGFjdHVhbGx5IGdvIGFib3V0IHByb2Nlc3NpbmcgZGF0YS4gV2UgYXJlIGdvaW5nIHRvIGtlZXAgb3VyIGFuYWx5c2lzIHB1cmVseSBkZXNjcmlwdGl2ZSwgYXMgaXQgd291bGQgYmUgaXJyZXNwb25zaWJsZSB0byBtYWtlIGFueSBjb25jbHVzaXZlIGNsYWltcyBhZnRlciBmaWRkbGluZyBhcm91bmQgd2l0aCBSIGZvciBvbmx5IGFuIGhvdXIhCgoKIyMgRGF0YXNldCAxOiBtYXNrIHVzZWFnZQoKTGV0J3MgbG9hZCBpbiB0aGUgZmlyc3QgZGF0YSBzZXQgb24gbWFzayB1c2FnZSBpbiB0aGUgVVMsIHdoaWNoIGlzIGluIHRoZSBmb3JtIG9mIGEgY29tbWEgc2VwYXJhdGVkIGxpc3QuIFRoaXMgZGF0YSBpcyBmcm9tIGEgTllUIHN1cnZleSB3aGVyZSB0aGV5IGFza2VkIHRoZSBxdWVzdGlvbjogIkhvdyBvZnRlbiBkbyB5b3Ugd2VhciBhIG1hc2sgaW4gcHVibGljIHdoZW4geW91IGV4cGVjdCB0byBiZSB3aXRoaW4gc2l4IGZlZXQgb2YgYW5vdGhlciBwZXJzb24/IiAoQXMgYSBub3RlLCB0aGlzIHN1cnZleSB3YXMgZG9uZSBzZXZlcmFsIG1vbnRocyBhZ28sIHNvIHRoZXNlIG51bWJlcnMgYXJlIG5vdCB0aGUgbW9zdCB1cC10by1kYXRlLikgCgpgYGB7cn0KbWFza191c2Vfd2lkZSA8LSByZWFkX2RlbGltKGZpbGU9In4vRG9jdW1lbnRzL0dpdEh1Yi9iaW9pbmZvcm1hdGljcy1jb2ZmZWUtaG91ci90aWR5dmVyc2UvcGFydDJfd2ludGVyMjAyMS9tYXNrLXVzZS1ieS1jb3VudHkuY3N2IiwgZGVsaW09IiwiKQptYXNrX3VzZQpgYGAKCgpJdCBsb29rcyBsaWtlIGZvciBhbGwgdGhlIGNvdW50aWVzIGFyZSByZXByZXNlbnRlZCB3aXRoIGEgNS1kaWdpdCBGSVBTIGNvZGUsIHdoaWNoIGlzIG5vdCBleGFjdGx5IGlkZWFsIGJlY2F1c2Ugd2UgZG9uJ3Qga25vdyB3aGF0IHRoZXNlIG51bWJlcnMgbWVhbi4gV2UnbGwgZ2V0IHRoZSBuYW1lcyBpbiBhIG1vbWVudCBieSBjb21iaW5pbmcgdGhlc2UgZGF0YSB3aXRoIGFub3RoZXIgZmlsZSB0aGF0IGFsc28gaGFzIHRoZXNlIEZJUFMgY29kZXMgQU5EIGNvdW50eSBuYW1lcy4gV2UgY2FuIHRodXMgbWF0Y2ggdGhlc2UgZGF0YSB0YWJsZXMgYmFzZWQgb24gc2hhcmVkIEZJUFMgY29kZXMgdG8gY29tYmluZSB0aGVtLgoKCiMjIERhdGFzZXQgMjogVVMgY2FzZSBjb3VudHMKCkluIGFkZGl0aW9uIHRvIHRoZSBtYXNrIGRhdGEsIGxldCdzIGFsc28gbG9hZCBpbiBkYXRhIG9uIENPVklELTE5IGNhc2UgY291bnRzIGFjcm9zcyB0aGUgVVMsIGFsc28gc3VwcGxpZWQgYnkgdGhlIE5ZVCwgYW5kIGNvbWJpbmUgaXQgd2l0aCBvdXIgbWFzayB1c2UgZGF0YS4gVW5saWtlIHRoZSBwcmV2aW91cyBkYXRhIHRoYXQgd2UgbG9hZGVkIGluIGZyb20gb3VyIGxvY2FsIGZpbGUgc3lzdGVtLCB0aGVzZSBkYXRhIHdlIHdpbGwgZGlyZWN0bHkgZG93bmxvYWQgYmVjYXVzZSB0aGV5IGFyZSBzbyBsYXJnZS4gVGhpcyB3aWxsIGFsc28gc2hvdyBob3cgeW91IGNhbiBzcGVjaWZ5IHdlYiBhZGRyZXNzZXMgaW5zdGVhZCBvZiBmaWxlIG5hbWVzIGZvciByZWFkX2RlbGltKCkuIFRoaXMgZmlsZSBpcyBhbHNvIGNvbW1hIHNlcGFyYXRlZCwgc28gd2Ugd2lsbCBsZXQgcmVhZF9kZWxpbSgpIGtub3cgdGhpcy4KCmBgYHtyLCBpbmNsdWRlPUZBTFNFfQpjYXNlcyA8LSByZWFkX2RlbGltKGZpbGU9Imh0dHBzOi8vZ2l0aHViLmNvbS9ueXRpbWVzL2NvdmlkLTE5LWRhdGEvcmF3L21hc3Rlci91cy1jb3VudGllcy5jc3YiLCBkZWxpbT0iLCIpICU+JQogIGFycmFuZ2UoZmlwcykKYGBgCgpUaGlzIGlzIGEgbG90IG9mIGRhdGEuIEZvciB+MzAwMCBVUyBjb3VudGllcywgdGhlcmUncyBhbiBlc3RpbWF0ZSBvZiBjdW11bGF0aXZlIENPVklELTE5IGNhc2VzIGFuZCBkZWF0aHMgZm9yIGVhY2ggZGF5IHNpbmNlIGxhdGUgSmFudWFyeSAoaXQncyBub3cgTWFyY2ggYWdhaW4hISEpLiBGb3Igbm93LCBsZXQncyBqdXN0IGxvb2sgYXQgdGhlIHN0YXJ0IG9mIHRoaXMgbW9udGguIAoKYGBge3IsIGluY2x1ZGU9RkFMU0V9CmNhc2VzX2xhdGVzdCA8LSBjYXNlcyAlPiUgCiAgZmlsdGVyKGRhdGUgPT0gIjIwMjEtMDMtMDEiKSAlPiUKICBhcnJhbmdlKGZpcHMpCmBgYAoKQXMgYSByZWZyZXNoZXIsIHdlIGFyZSB1c2luZyB0aGUgZmlsdGVyKCkgZnVuY3Rpb24gdG8gc2VsZWN0IG9ubHkgdGhlIHJvd3MgdGhhdCBtYXRjaCB0aGUgc3RyaW5nICIyMDIxLTAzLTAxIiBpbiB0aGUgZGF0ZSBjb2x1bW4sIHRoZW4gdXNpbmcgdGhlIGFycmFuZ2UoKSBmdW5jdGlvbiB0byBzb3J0IHRoZSBjb3VudGllcyBieSBGSVBTIGNvZGUuCgotLS0tLQoKIyMgRGF0YXNldCAzOiBjZW5zdXMgZGF0YQoKTGV0J3MgbG9hZCBpbiBzb21lIGFkZGl0aW9uYWwgZGF0YSBvbiBwb3B1bGF0aW9uIHNpemUgYnkgY291bnR5LCB3aGljaCBhcmUgb2J0YWluZWQgZnJvbSB3d3cuY2Vuc3VzLmdvdi4KCmBgYHtyLCBpbmNsdWRlPUZBTFNFfQpwb3Bfc2l6ZXMgPC0gcmVhZF9kZWxpbShmaWxlPSJ+L0RvY3VtZW50cy9HaXRIdWIvYmlvaW5mb3JtYXRpY3MtY29mZmVlLWhvdXIvdGlkeXZlcnNlL3BhcnQyX3dpbnRlcjIwMjEvY28tZXN0MjAxOS1hbm5yZXMuY3N2Lnh6IiwgZGVsaW09IiwiKQpgYGAKCldoZW4gSSdtIHdvcmtpbmcgd2l0aCBsYXJnZXIgZmlsZXMgYW5kIEkgd2FudCB0byBtYWtlIHN1cmUgdGhleSBsb29rcyBsaWtlIEkgZXhwZWN0IHRoZW0gdG8sIGluc3RlYWQgb2Ygb3BlbmluZyB1cCB0aGUgZmlsZSBhbmQgc2Nyb2xsaW5nIHRocm91Z2ggYWxsIHRoZSBsaW5lcywgY2hlY2tpbmcgZWFjaCBieSBleWUsIEkgdHlwaWNhbGx5IHVzZSB2YXJpb3VzIGNvbW1hbmRzIHRvIGp1c3QgZ2V0IGFuIGlkZWEgb2Ygd2hhdCBpdCBsb29rcyBsaWtlIGJlZm9yZSBwcm9jZWVkaW5nLiBPZnRlbnRpbWVzLCB0aGlzIGlzIHN1ZmZpY2llbnQ7IHdlIGRvbid0IG5lZWQgdG8gY2hlY2sgZXZlcnkgbGluZS4KClRoZXNlIGFyZSBqdXN0IGEgZmV3IGNvbW1hbmRzIEkgbWlnaHQgdXNlIHRvIGxvb2sgYXQgdGhlIGZpcnN0IGFuZCBsYXN0IGZldyBsaW5lcywgaG93IG1hbnkgcm93cyB0aGVyZSBhcmUgb3ZlcmFsbCwgYW5kIGFsc28gZ2V0IGFuIGlkZWEgb2YgaG93IG11Y2ggbWlzc2luZyBkYXRhIHRoZXJlIG1pZ2h0IGJlOgpgYGB7cn0KaGVhZChwb3Bfc2l6ZXMpIApucm93KHBvcF9zaXplcykgCnN1bSghaXMubmEocG9wX3NpemVzJCcyMDE5JykpICMgaG93IG1hbnkgY291bnRpZXMgaGF2ZSBzaXplIGVzdGltYXRlcyBmb3IgMjAxOT8gaXQncyBldmVuIGNsb3NlciB0byB0aGUgMzE0MiB3ZSBleHBlY3QhCnRhaWwocG9wX3NpemVzKQpgYGAKCk9rIHNvIHRoZXNlIGRhdGEgYXJlIGEgbGl0dGxlIG1lc3N5IGFuZCBuZWVkIHRvIGJlIGNsZWFuZWQgdXAuCgpGcm9tIHRoZXNlIGNvbW1hbmRzLCB3ZSBjYW4gc2VlIHRoYXQgdGhlIGVudGlyZSBVUyB3YXMgaW5jbHVkZWQgaW4gdGhpcyB0YWJsZSwgd2hpY2ggaXMgbm90IGEgY291bnR5LiBXZSBzaG91bGQgcmVtb3ZlIHRoYXQuIEFsc28sIGNvdW50eSBuYW1lcyBhcmUgYWxsIHByZWNlZGVkIHdpdGggYSAiLiIsIHNvbWV0aGluZyB3ZSdsbCBkZWFsIHdpdGggaW4gYSBtb21lbnQuIFRoZSBudW1iZXIgb2Ygcm93cyBpbiB0aGUgdGFibGUgaXMgdmVyeSBzaW1pbGFyIHRvIHdoYXQgd2UgZXhwZWN0ICgzLDE0MiBhY2NvcmRpbmcgdG8gd2lraXBlZGlhKSwgYnV0IG1heWJlIGxhcmdlciBieSA3IHJvd3Mgb3Igc28uIFRoZSByb3cgY29udGFpbmluZyB0aGUgZW50aXJlIFVTIGNvbnRyaWJ1dGVzIHRvIHRoaXMgZXhjZXNzIG9mIHJvd3MgYmV5b25kIG91ciBleHBlY3RhdGlvbi4gCgpMb29raW5nIGF0IHRoZSBib3R0b20gb2YgdGhlIHRhYmxlLCB3ZSBzZWUgc29tZSBmb290bm90ZXMgd2VyZSBsZWZ0IGluLiBUaGVzZSBhcmUgcHJvYmFibHkgY29udHJpYnV0aW5nIHRvIHRoZSBleHRyYSBudW1iZXIgb2Ygcm93cyBhbmQgc2hvdWxkIGFic29sdXRlbHkgYmUgcmVtb3ZlZC4KCkxldCdzIHJlbW92ZSB0aGVzZSByb3dzIGF0IHRoZSBiZWdpbm5pbmcgYW5kIGVuZCB3aXRoIHRoZSAqKnNsaWNlKCkqKiBmdW5jdGlvbiwgd2hpY2ggcHVsbHMgb3V0IHJvd3MgZnJvbSBhIGRhdGEgZnJhbWUvdGliYmxlIGJhc2VkIG9uIHRoZWlyIG9yZGluYWwgcG9zaXRpb24uIEl0IGtlZXBzIGFsbCB0aGUgY29sdW1ucywgaW4gY29udHJhc3QgdG8gdGhlIHNlbGVjdCgpIGZ1bmN0aW9uIHRoYXQgd2UgZGlzY3Vzc2VkIGxhc3Qgd2Vlay4KCmBgYHtyLCBpbmNsdWRlPUZBTFNFfQpwb3Bfc2l6ZXMgPC0gcG9wX3NpemVzICU+JSBkcGx5cjo6c2xpY2UoMjozMTQzKSAKYGBgCgpXaXRoIHRoaXMgY29tbWFuZCwgd2UgYXJlIHNsaWNpbmcgb3V0IHRoZSBtaWRkbGUgb2YgdGhlIGRhdGEgZnJhbWUgdG8gcmVtb3ZlIHRoZSByb3cgd2l0aCBkYXRhIGZyb20gdGhlIHdob2xlIFVTLCBhcyB3ZWxsIGFzIHRoZSBmb290bm90ZXMgYXQgdGhlIGJvdHRvbS4KClRoZSAnR2VvZ3JhcGhpYyBBcmVhJyBjb2x1bW4gaGFzIHR3byBwaWVjZXMgb2YgaW5mbyBpbiBpdDogY291bnR5IGFuZCBzdGF0ZS4gV2Ugc2hvdWxkIHNwbGl0IHRoaXMgY29sdW1uIGludG8gdHdvIGNvbHVtbnMgc28gdGhhdCB3ZSBjYW4gc2VwYXJhdGVseSBhY2Nlc3MgdGhlIGluZm8uIEZvciBpbnN0YW5jZSwgbGF0ZXIgb24gd2Ugd2lsbCBkbyBhbiBhbmFseXNpcyBub3QgYnkgY291bnR5IGJ1dCBieSBzdGF0ZSwgc3VtbWluZyB1cCBhY3Jvc3MgYSBzdGF0ZSdzIGNvdW50aWVzLCBhbmQgdGhpcyByZXF1aXJlcyBoYXZpbmcgdGhpcyBpbmZvcm1hdGlvbiBpbiBpdCdzIG93biBzZXBhcmF0ZSBjb2x1bW4uIFRvIHNlcGFyYXRlIHRoaXMgaW5mbyBpbnRvIDIgc2VwZXJhdGUgY29sdW1ucywgd2Ugd2lsbCB1c2UgdGhlIHNlcGFyYXRlKCkgZnVuY3Rpb246CgpgYGB7ciwgaW5jbHVkZT1GQUxTRX0KcG9wX3NpemVzIDwtIHBvcF9zaXplcyAlPiUgc2VwYXJhdGUoY29sID0gJ0dlb2dyYXBoaWMgQXJlYScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludG8gPSBjKCJDb3VudHkiLCAiU3RhdGUiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VwID0gIiwgIikKYGBgCgpOb3RlIHRoYXQgdW5saWtlIGxhc3QgdGltZSB3ZSBhcmUgc3BlY2lmeWluZyB3aGF0IHdlIHdhbnQgdG8gc2VwYXJhdGUgb24gd2l0aCB0aGUgInNlcD0iIGFyZ3VtZW50LCB3aGljaCBpcyBhIGNvbW1hIGZvbGxvd2VkIGJ5IGEgd2hpdGUgc3BhY2UuCgoKTGV0J3MgZ2V0IHJpZCBvZiBleHRyYSBjaGFyYWN0ZXJzIGluIHRoZSBuZXcgJ0NvdW50eScgY29sdW1uLiBXZSBkb24ndCBuZWVkIHRoZSAiLiIgdGhhdCBwcmVjZWRlcyBlYWNoIG5hbWUsIGFuZCBpdCdzIHBvaW50bGVzcyB0aGF0IGVhY2ggaW5kaXZpZHVhbCBjb3VudHkgbmFtZSBpcyBmb2xsb3dlZCBieSAiQ291bnR5Ii4uLiB3ZSBrbm93IHRoZXkncmUgY291bnRpZXMgYmFzZWQgb24gdGhlIG5hbWUgb2YgdGhlIGNvbHVtbi4gV2UgY2FuIHVzZSB0aGUgbXV0YXRlKCkgZnVuY3Rpb24gdG8gYWRkIG5ldyByb3dzIHdpdGggbmV3IG5hbWVzLCBidXQgaWYgdGhlIG5hbWUgb2YgdGhlIG5ldyByb3cgd2Ugd2FudCBpcyB0aGUgc2FtZSBhcyBhbiBleGlzdGluZyBvbmUsIGl0IGp1c3QgcmVwbGFjZXMgaXQhCgpgYGB7ciwgaW5jbHVkZT1GQUxTRX0KcG9wX3NpemVzIDwtIHBvcF9zaXplcyAlPiUgCiAgbXV0YXRlKENvdW50eSA9IHN0cl9yZW1vdmUoc3RyaW5nID0gQ291bnR5LHBhdHRlcm4gPSAiLiIpKSAlPiUKICBtdXRhdGUoQ291bnR5ID0gc3RyX3JlbW92ZShzdHJpbmcgPSBDb3VudHkscGF0dGVybiA9ICIgQ291bnR5IikpCmBgYAoKV2UgYXJlIGNvbWJpbmluZyB0aGUgbXV0YXRlKCkgZnVuY3Rpb24gd2l0aCAqKnN0cl9yZW1vdmUoKSoqIHdoaWNoLCBhcyB0aGUgbmFtZSBzdWdnZXN0cywgd2lsbCByZW1vdmUgYSBnaXZlbiBwYXR0ZXJuIGZyb20gYSBjaGFyYWN0ZXIgY29sdW1uLCB0aGUgQ291bnR5IGNvbHVtbiBpbiB0aGlzIGNhc2UuCgoKVGhpcyB0YWJsZSBpbmNsdWRlcyBwb3B1bGF0aW9uIHNpemUgZGF0YSBmb3IgcXVpdGUgYSBmZXcgeWVhcnMuIExldCdzIGp1c3QgZ2V0IHRoZSBtb3N0IHJlY2VudCBwb3B1bGF0aW9uIGVzdGltYXRlLCBzZWxlY3RpbmcgdGhlIDIwMTkgY29sdW1uIHdpdGggdGhlIHNlbGVjdCgpIGZ1bmN0aW9uLCB3aGljaCBhcyBtZW50aW9uZWQgYWJvdmUgcHVsbHMgb3V0IHNwZWNpZmljIGNvbHVtbnM6CgpgYGB7ciwgaW5jbHVkZT1GQUxTRX0KcG9wX3NpemVzIDwtIHBvcF9zaXplcyAlPiUKICBzZWxlY3QoQ291bnR5LCBTdGF0ZSwgIjIwMTkiKQpgYGAKCgpBcyB3ZSBkaWQgYWJvdmUgZm9yIHRoZSBkYXRhIHNldHMgd2UgdXNlZCBsYXN0IHdlZWssIHdlIGNhbiBhbHNvIGNvbWJpbmUgYWxsIG9mIHRoZXNlIGluZGl2aWR1YWwgY29tbWFuZHMgaW50byBvbmUgY29tcGFjdCBjb21tYW5kIHRoYXQgbWlnaHQgbG9vayBzb21ldGhpbmcgbGlrZSB0aGlzOgpgYGB7ciwgaW5jbHVkZT1GQUxTRX0KcG9wX3NpemVzIDwtIHJlYWRfZGVsaW0oZmlsZT0ifi9Eb2N1bWVudHMvR2l0SHViL2Jpb2luZm9ybWF0aWNzLWNvZmZlZS1ob3VyL3RpZHl2ZXJzZS9wYXJ0Ml93aW50ZXIyMDIxL2NvLWVzdDIwMTktYW5ucmVzLmNzdi54eiIsIGRlbGltPSIsIikgJT4lIAogIHNsaWNlKDI6MzE0MykgJT4lCiAgc2VwYXJhdGUoY29sID0gJ0dlb2dyYXBoaWMgQXJlYScsIGludG8gPSBjKCJDb3VudHkiLCAiU3RhdGUiKSwgc2VwID0gIiwgIikgJT4lCiAgbXV0YXRlKENvdW50eSA9IHN0cl9yZW1vdmUoc3RyaW5nID0gQ291bnR5LHBhdHRlcm4gPSAiLiIpKSAlPiUKICBtdXRhdGUoQ291bnR5ID0gc3RyX3JlbW92ZShzdHJpbmcgPSBDb3VudHkscGF0dGVybiA9ICIgQ291bnR5IikpICU+JQogIHNlbGVjdChDb3VudHksIFN0YXRlLCAiMjAxOSIpCmBgYAoKCldlIGNhbiB0YWtlIGEgcXVpY2sgcGVlayBhdCB0aGVzZSBwb3B1bGF0aW9uIHNpemUgZGF0YSwgbm93IHRoYXQgdGhleSdyZSBjbGVhbmVkLCB1c2luZyB0aGUgc3VtbWFyeSgpIGZ1bmN0aW9uLCB3aGljaCBzaG93cyB0aGVyZSdzIGEgdG9uIG9mIHZhcmlhYmlsaXR5IGluIGNvdW50eSBzaXplcyEKYGBge3J9CnN1bW1hcnkocG9wX3NpemVzKQpgYGAKCgoKIyMgTWVyZ2luZyBkYXRhIHNldHMgd2l0aCBpbm5lcl9qb2luKCkKCkxldCdzIGNvbWJpbmUgdGhlc2UgZGF0YSBvbiBwb3B1bGF0aW9uIHNpemVzIHdpdGggb3VyIHByZXZpb3VzIGRhdGEgb24gY2FzZSBjb3VudHMgYW5kIG1hc2sgdXNhZ2UsIGFzIGl0IG1heSByZXZlYWwgaW50ZXJlc3RpbmcgZHluYW1pY3MgdGhhdCB2YXJ5IGJ5IGNvdW50eSBzaXplLgoKV2Ugd2lsbCBmaXJzdCB1c2UgdGhlIGpvaW4gY29tbWFuZCBvbiB0aGUgY2FzZSBjb3VudCBkYXRhIGFuZCB0aGUgY291bnR5IHBvcHVsYXRpb24gc2l6ZSBkYXRhLCBqb2luaW5nIGJ5IEJPVEggY291bnR5IGFuZCBzdGF0ZS4gVGhlcmUgYXJlIG1hbnkgZGlmZmVyZW50IHR5cGVzIG9mIGpvaW5pbmcgZnVuY3Rpb25zIGFuZCBpdCBjYW4gZ2V0IGZhaXJseSBjb25mdXNpbmcsIHNvIHRvZGF5IHdlIHdpbGwgZm9jdXMganVzdCBvbiAqKmlubmVyX2pvaW4qKi4gCgpgYGB7ciwgaW5jbHVkZT1GQUxTRX0KY2FzZXNfcG9wc2l6ZSA8LSBpbm5lcl9qb2luKHg9Y2FzZXNfbGF0ZXN0LCB5PXBvcF9zaXplcywgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieT1jKCJjb3VudHkiPSJDb3VudHkiLCAic3RhdGUiPSJTdGF0ZSIpKQpgYGAKClRoZSAieD0iIGFuZCAieT0iIGFyZ3VtZW50cyBzcGVjaWZ5IHdoaWNoIGRhdGFzZXRzIHdlIHdhbnQgdG8gbWVyZ2UuIElubmVyX2pvaW4oKSByZXR1cm5zIGFsbCByb3dzIGluIGRhdGFzZXQgeCB0aGF0IGhhcyBtYXRjaGluZyB2YWx1ZXMgaW4gZGF0YXNldCB5LCBhbmQgYWxsIHRoZSBjb2x1bW5zIGluIGJvdGggeCBhbmQgeS4KClRoZSAiYnk9IiBhcnVnbWVudCB0ZWxscyB3aGF0IHZhcmlhYmxlcyB0aGUgZnVuY3Rpb24gc2hvdWxkIG1lcmdlIGJ5LCBhcyBhIGNoYXJhY3RlciB2ZWN0b3IuIEluIG90aGVyIHdvcmRzIHdlIHRlbGwgdGhlIGZ1bmN0aW9uIHdoYXQgY29sdW1ucyB3ZSB3YW50IHRvIG1hdGNoOiBpdCBjb21wYXJlcyB0aGUgdmFsdWVzIGluIHRoZSBjb2x1bW5zIGluIHggYW5kIHksIGFuZCBpZiB0aGV5IG1hdGNoIGl0IG1lcmdlcyB0aGVtLiBXZSBhcmUgbWF0Y2hpbmcgdGhlICJjb3VudHkiIGNvdW1uIGluIGNhc2VzX2xhdGVzdCB3aXRoIHRoZSAiQ291bnR5IiBjb2x1bW4gaW4gcG9wX3NpemVzLCBhbmQgdGhlICJzdGF0ZSIgYW5kICJTdGF0ZSIgY29sdW1ucyBpbiB0aGUgc2FtZS4KCk5vdGUgdGhhdCBiZWNhdXNlIHRoZSBjb2x1bW4gbmFtZXMgKGkuZS4gdmFyaWFibGUgbmFtZXMpIGFyZSBzbGlnaHRseSBkaWZmZXJlbnQgYmV0d2VlbiBkYXRhc2V0cywgd2UgaGF2ZSB0byBzcGVjaWZ5IHdoaWNoIHdlIGFyZSBtYXRjaGluZyB1c2luZyBhbiAiPSI7IGlmIHRoZXkgaGFkIHRoZSBzYW1lIG5hbWVzLCB3ZSBjb3VsZCBqdXN0IGxpc3QgdGhlbS4gCgoKIyMgTW9yZSBtZXJnaW5nIAoKTm93IGxldCdzIG1lcmdlIHRoaXMgdGFibGUgdGhhdCBoYXMgY2FzZSBjb3VudHMgYW5kIHBvcHVsYXRpb24gc2l6ZSB3aXRoIHRoZSBtYXNrIGRhdGEhIEZvciBub3csIGxldCdzIG5vdCBhZGQgaW4gYWxsIHRoZSBtYXNrIGRhdGEuIExldCdzIG9ubHkgaW5jb3Jwb3JhdGUgdGhlIHRoZSBwcm9wb3J0aW9uIG9mIHBlb3BsZSB3aG8gYXJlICJBTFdBWVMiIG1hc2tlZCBmb3IgZWFjaCBjb3VudHkuCgpgYGB7ciwgaW5jbHVkZT1GQUxTRX0KY2FzZXNfcG9wc2l6ZV9tYXNrZWQgPC0gaW5uZXJfam9pbih4PWNhc2VzX3BvcHNpemUsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgeT1zZWxlY3QobWFza191c2Vfd2lkZSwgYyhDT1VOVFlGUCwgQUxXQVlTKSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBieT1jKCJmaXBzIiA9ICJDT1VOVFlGUCIpKQpgYGAKCk5vdGUgdGhhdCB3ZSBhcmUgbmVzdGluZyB0aGUgc2VsZWN0KCkgZnVuY3Rpb24gd2l0aGluIG91ciBpbm5lcl9qb2luKCkgY2FsbCwgYWxsb3dpbmcgdXMgdG8gc3Vic2V0IHRoZSBtYXNrIHVzZWFnZSBkYXRhc2V0IHdpdGhvdXQgbWFraW5nIGFuIGVudGlyZWx5IG5ldyBkYXRhIGZyYW1lLgoKCkxvb2tpbmcgYXQgdGhpcyBkYXRhIHRhYmxlLCBmb3IgZWFjaCBjb3VudHkgd2Ugbm93IGhhdmUgY2FzZXMsIGRlYXRocywgcG9wdWxhdGlvbiBzaXplLCBhbmQgdGhlIHByb3BvcnRpb24gb2YgcGVvcGxlIHdobyBhcmUgYWx3YXlzIG1hc2tlZC4KCllvdSBtYXkgYWxzbyBub3RpY2UgdGhlIHBvcHVsYXRpb24gc2l6ZSBkYXRhIGhhZCBhIGNvbHVtbiBlbnRpdGxlZCAiMjAxOSIgZm9yIHNpemUgZXN0aW1hdGVzIGR1cmluZyB0aGF0IHllYXIuIExldCdzIG1ha2UgdGhpcyBtb3JlIGluZm9ybWF0aXZlIGFuZCBjaGFuZ2UgaXQgdG8gInBvcF9zaXplIiwgYW5kIHJlbmFtZSB0aGUgQUxXQVlTIGNvbHVtbiBzbyB0aGF0IHdlIGtub3cgaXQncyByZWZlcnJpbmcgdG8gYWx3YXlzIG1hc2tlZC4KCmBgYHtyLCBpbmNsdWRlPUZBTFNFfQpjYXNlc19wb3BzaXplX21hc2tlZCA8LSBjYXNlc19wb3BzaXplX21hc2tlZCAlPiUKICByZW5hbWUoInBvcF9zaXplIiA9ICIyMDE5IiwgIkFsd2F5c01hc2tlZCIgPSBBTFdBWVMpCmBgYAoKCiMjIFZpc3VhbGl6aW5nIGRhdGEKCkxldCdzIHF1aWNrbHkgcHJvYmUgdGhlc2UgZGF0YSBqdXN0IHRvIGdldCBhbiBpZGVhIG9mIHdoYXQgdGhleSBsb29rIGxpa2UuIFRoZSBtYWluIGdvYWwgaGVyZSBpcyB0byB0ZWFjaCB5b3UgaG93IHRvIHVzZSBSL3RpZHl2ZXJzZSBjb21tYW5kcyB0byBxdWlja2x5IGFuZCBlYXNpbHkgZXhwbG9yZSB5b3VyIGRhdGEuIEFnYWluLCBkdWUgdG8gdGhlIGNvbnRleHQgb2YgdGhlc2UgZGF0YSwgbGV0J3Mga2VlcCBhbnkgcmVzdWx0cyBhcyBmYWlybHkgZGVzY3JpcHRpdmUgb2JzZXJ2YXRpb25zLiBXZSBjYW4ndCBzYXkgYW55dGhpbmcgY29uY2x1c2l2ZSB3aXRob3V0IG1vcmUgY29tcGxpY2F0ZWQgYW5hbHlzZXMgdGhhdCB3ZSdsbCBsZWF2ZSB0byB0aGUgcHVibGljIGhlYWx0aCBvZmZpY2lhbHMuCgpMZXQncyBhc3N1bWUgdGhlc2UgY2FzZSBjb3VudCBkYXRhIGFyZSBhY2N1cmF0ZWx5IG1lYXN1cmluZyB0aGUgbnVtYmVyIG9mIHBlb3BsZSB3aG8gYXJlIGdldHRpbmcgY29yb25hdmlydXMgaW5mZWN0aW9ucyAod2hpY2ggaXMgb2J2aW91c2x5IGFuIHVuZGVyZXN0aW1hdGUsIGFzIG1hbnkgY2FzZXMgY2FuIGJlIGFzeW1wdG9tYXRpYyEpLiBBc3N1bWluZyB0aGlzLCB3aGF0IGZyYWN0aW9uIG9mIGEgY291bnR5J3MgcG9wdWxhdGlvbiBpcyB0ZXN0aW5nIHBvc2l0aXZlLCBhbmQgaG93IGRvZXMgdGhpcyBmcmFjdGlvbiB2YXJ5IHdpdGggcG9wdWxhdGlvbiBzaXplPyBMZXQncyB1c2UgdGhlIG11dGF0ZSgpIGZ1bmN0aW9uIHRvIGFkZCBhIG5ldyBjb2x1bW4gd2l0aCBudW1iZXIgb2YgY2FzZXMgbm9ybWFsaXplZCBieSBwb3B1bGF0aW9uIHNpemU6CgpgYGB7cn0KY2FzZXNfcG9wc2l6ZV9tYXNrZWQgPC0gY2FzZXNfcG9wc2l6ZV9tYXNrZWQgJT4lCiAgbXV0YXRlKEZyYWNQb3MgPSBjYXNlcy9wb3Bfc2l6ZSkKYGBgCgoKRG8gY291bnRpZXMgd2l0aCBsYXJnZSBwb3B1bGF0aW9ucyBoYXZlIGEgaGlnaGVyIHByb3BvcnRpb24gb2YgY2FzZSBjb3VudHM/IExldCdzIHVzZSBhIHNpbXBsZSBwbG90dGluZyBmdW5jdGlvbiB0byBwbG90IHBvcHVsYXRpb24gc2l6ZSBvbiB0aGUgeCBheGlzIGFuZCBwcm9wb3J0aW9uIG9mIGNhc2VzIG9uIHkgYXhpcy4gU2luY2Ugd2Ugd2lsbCBsb29rIGF0IHRoZSBwcm9wb3J0aW9uIG9mIGNhc2VzIGJ5IGRpdmlkaW5nIHRoZSBkYXRhIGluIHRoZSBjYXNlIGNvdW50cyBjb2x1bW4gYnkgdGhlIGRhdGEgaW4gdGhlIHBvcHVsYXRpb24gc2l6ZSBjb2x1bW4sIGxldCdzIGp1c3QgbWFrZSBhIG5ldyBjb2x1bW4gY2FsbGVkICdGcmFjUG9zJyB0aGF0IGNvbnRhaW5zIHRoaXMgaW5mb3JtYXRpb24KCldlIGNhbiBtYWtlIGEgcXVpY2sgcGxvdCBvZiB0aGVzZSBkYXRhIHVzaW5nIGEgYmFzZSBSIChpLmUuIG5vdCB0aWR5dmVyc2UpIHBsb3R0aW5nIGZ1bmN0aW9uOgpgYGB7cn0KY2FzZXNfcG9wc2l6ZV9tYXNrZWQgPC0gY2FzZXNfcG9wc2l6ZV9tYXNrZWQgJT4lCiAgbXV0YXRlKEZyYWNQb3MgPSBjYXNlcy9wb3Bfc2l6ZSkKcGxvdCh4PWNhc2VzX3BvcHNpemVfbWFza2VkJHBvcF9zaXplLAogICAgIHk9Y2FzZXNfcG9wc2l6ZV9tYXNrZWQkRnJhY1BvcywKICAgICBsb2c9IngiLAogICAgIHlsYWI9IkZyYWN0aW9uIG9mIGNhc2VzIiwKICAgICB4bGFiPSJwb3Agc2l6ZSIpCiMgRE9OJ1QgUlVOIENPUlJFTEFUSU9OIEFOQUxZU0VTIFdJVEggSEVURVJPU0NFREFTVElDSVRZCmBgYAoKTG9va3MgaW50ZXJlc3RpbmcuIENvdW50aWVzIHdpdGggbGFyZ2VyIHBvcHVsYXRpb24gc2l6ZXMgbWF5IGxvb2sgbGlrZSB0aGV5IGhhdmUgaGlnaGVyIHByb3BvcnRpb24gb2YgY2FzZXMsIGJ1dCBpdCdzIGEgbGl0dGxlIGNvbXBsaWNhdGVkIGJlY2F1c2UgdGhlcmUncyBhIGxvdCBvZiB2YXJpYWJpbGl0eSBmb3IgY291bnRpZXMgd2l0aCBzbWFsbGVyIHBvcHVsYXRpb24gc2l6ZXMuIAoKCk9uZSB0aGluZyB3ZSBtaWdodCBiZSBpbnRlcmVzdGVkIGluIGFyZSB0aG9zZSBvdXRsaWVycyB3aXRoIHZlcnkgaGlnaCByYXRlcyBvZiBwb3NpdGl2ZSBjYXNlcy4gV2hhdCBjb3VudGllcyBhcmUgdGhlc2VzLCBhbmQgaW4gd2hhdCBzdGF0ZXM/IFdlIGNhbiB2ZXJ5IGVhc2lseSBjaGVjayB0aGlzIHdpdGggdGhlIGZvbGxvd2luZzoKCmBgYHtyfQpjYXNlc19wb3BzaXplX21hc2tlZCAlPiUKICBmaWx0ZXIoRnJhY1BvcyA+IDAuMDgpICU+JQogIGFycmFuZ2UoZGVzYyhGcmFjUG9zKSkKYGBgCgoKTGV0J3MgYWRkIGFub3RoZXIgY29sdW1uIGZvciBkZWF0aCByYXRlLCBhbmQgdmlzdWFsaXplIHRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiB0aGUgZnJhY3Rpb24gb2YgcG9zaXRpdmUgY2FzZXMgYW5kIHRoZSBkZWF0aCByYXRlOgpgYGB7cn0KY2FzZXNfcG9wc2l6ZV9tYXNrZWQgPC0gY2FzZXNfcG9wc2l6ZV9tYXNrZWQgJT4lCiAgbXV0YXRlKEZyYWNEZWF0aHMgPSBkZWF0aHMvY2FzZXMpCnBsb3QoeD1jYXNlc19wb3BzaXplX21hc2tlZCRGcmFjUG9zLAogICAgIHk9Y2FzZXNfcG9wc2l6ZV9tYXNrZWQkRnJhY0RlYXRocywKICAgICBsb2c9IiIsCiAgICAgeGxhYj0iRnJhY0Nhc2VzIiwKICAgICB5bGFiPSJGcmFjRGVhdGhzIikKYGBgCgoKV2hhdCBhcmUgdGhlc2UgY291bnRpZXMgdGhhdCBoYXZlIGJlZW4gc2V2ZXJlbHkgaW1wYWN0ZWQgYnkgZGVhdGhzPyBJcyB0aGlzIGp1c3Qgbm9pc2UgZnJvbSBjb3VudGllcyB3aXRoIHNtYWxsIHNpemVzIGFuZC9vciBzbWFsbCBjYXNlIGNvdW50cz8KCmBgYHtyfQpjYXNlc19wb3BzaXplX21hc2tlZCAlPiUKICBmaWx0ZXIoRnJhY0RlYXRocyA+IDAuMDYpICU+JQogIGFycmFuZ2UoZGVzYyhGcmFjRGVhdGhzKSkKYGBgCgoKIyBVc2luZyBncm91cF9ieSgpIGFuZCBzdW1tYXJpemUoKSBmdW5jdGlvbnMgdG8gZXZhbHVhdGUgZGF0YQoKVGhlIHVzZSBvZiB0aGUgZ3JvdXBfYnkoKSBhbmQgc3VtbWFyaXplKCkgZnVuY3Rpb25zIGFsbG93cyB1cyB0byBxdWlja2x5IGdldCBleHRyZW1lbHkgaW5mb3JtYXRpdmUgaW5mb3JtYXRpb24gZnJvbSBvdXIgZGF0YS4gCgpXZSdsbCBzaG93IGhvdyB0aGV5J3JlIHVzZWZ1bCBpbiBtYW55IHdheXMsIGJ1dCBmaXJzdCB3ZSBuZWVkIHRvIGRvIGEgbGl0dGxlIG1vcmUgcmVzaGFwaW5nIG9mIG91ciBkYXRhLgoKTGV0J3MgZ28gYmFjayB0byBvdXIgb3JpZ2luYWwgbWFzayB1c2UgZGF0YSB0YWJsZSwgbm90IHRoZSBjb21iaW5lZCBvbmUuIFdoYXQgaWYgd2Ugd2FudGVkIHRvIHF1aWNrbHkgZ2V0IHRoZSBvdmVyYWxsIG1lYW4gdmFsdWVzIG9mIEFMV0FZUywgLi4uICwgTkVWRVIgYWNyb3NzIGFsbCB0aGUgY291bnRpZXM/IFdlIGNvdWxkIHVzZSB0aGUgb3JpZ2luYWwgZGF0YSBpbiB3aWRlIGZvcm1hdCwgYW5kIGNhbGN1bGF0ZSB0aGUgbWVhbiBmb3IgZWFjaCBvZiB0aGVzZSBjb2x1bW5zLiBXZSBjb3VsZCBhbHNvIHVzZSB0aGUgc2ltcGxlIHN1bW1hcnkoKSBmdW5jdGlvbiB3aGljaCBvdXRwdXRzIGEgdGFibGU6CgpgYGB7cn0KbWVhbihtYXNrX3VzZV93aWRlJE5FVkVSKQptZWFuKG1hc2tfdXNlX3dpZGUkUkFSRUxZKQptZWFuKG1hc2tfdXNlX3dpZGUkU09NRVRJTUVTKQptZWFuKG1hc2tfdXNlX3dpZGUkRlJFUVVFTlRMWSkKbWVhbihtYXNrX3VzZV93aWRlJEFMV0FZUykKc3VtbWFyeShtYXNrX3VzZV93aWRlKQpgYGAKCllvdSBjYW4gZG8gaXQgd2l0aCB3YXksIGJ1dCBpdCBpcyBraW5kIG9mIGNsdW5reSwgYW5kIGl0IHdvdWxkbid0IGJlIHByYWN0aWNhbCBpZiB5b3VyIGRhdGFzZXQgaGFzIHRvbyBtYW55IHZhcmlhYmxlcy4gSXQgaXMgZWFzaWVyIHRvIGZpcnN0IGNvbnZlcnQgdGhlIGRhdGEgaW4gbG9uZyBmb3JtYXQ6CgpgYGB7ciwgaW5jbHVkZT1GQUxTRX0KbWFza191c2VfbG9uZyA8LSBtYXNrX3VzZSAlPiUKICBwaXZvdF9sb25nZXIoY29scyA9IC1DT1VOVFlGUCwgbmFtZXNfdG8gPSAiTWFza1VzZVJlc3BvbnNlIiwgdmFsdWVzX3RvID0gIk1hc2tVc2VQcm9wb3J0aW9uIikgJT4lCiAgcmVuYW1lKCJmaXBzIiA9IENPVU5UWUZQKSAlPiUKICBhcnJhbmdlKGZpcHMpCmBgYAoKQXMgYSByZW1pbmRlciwgdGhlICJjb2xzPSIgYXJndW1lbnQgc3BlY2lmaWVzIHdoaWNoIGNvbHVtbnMgd2UgYXJlIHJlc2hhcGluZyBpbnRvIHJvd3MgKGFsbCAqZXhjZXB0KiB0aGUgIkNPVU5UWUZQIiBjb2x1bW4pLCB0aGUgIm5hbWVzX3RvPSIgYXJndW1lbnQgc3BlY2lmaWVzIHRoZSBuYW1lIG9mIHRoZSBjb2x1bW4gdGhhdCB3aWxsIGhvbGQgdGhlIG5hbWVzIG9mIHRoZSByZXNoYXBlZCBjb2x1bW5zLCBhbmQgdGhlICJ2YWx1ZXNfdG89IiBhcmd1bWVudCBnaXZlcyB0aGUgbmFtZSBvZiB0aGUgY29sdW1uIHRoYXQgd2lsbCBob2xkIHRoZSB2YWx1ZXMgb2YgdGhlIHJlc2hhcGVkIGNvbHVtbnMuCgpXZSBjYW4gbm93IHVzZSB0aGUgKipncm91cF9ieSgpKiogZnVuY3Rpb24sIHdoaWNoIHRha2VzIG91ciBleGlzdGluZyBkYXRhc2V0IGFuZCBjb252ZXJ0cyBpdCB0byBhIGdyb3VwZWQgZGF0YXNldCBiYXNlZCBvbiBhIGdpdmVuIHZhcmlhYmxlLCBhbmQgY29tYmluZSBpdCB3aXRoIHRoZSAqKnN1bW1hcml6ZSgpKiogZnVuY3Rpb24gKGRpZmZlcmVudCBmcm9tIHN1bW1hcnkgdXNlZCBhYm92ZSEpIHRvIGdldCBtZWFuIGZvciBlYWNoIGdyb3VwOgoKYGBge3J9Cm1hc2tfdXNlX2xvbmcgJT4lIAogIGdyb3VwX2J5KE1hc2tVc2VSZXNwb25zZSkgJT4lIAogIHN1bW1hcml6ZShtZWFuKE1hc2tVc2VQcm9wb3J0aW9uKSkKYGBgCgoKIyMgTW9yZSBkYXRhIGFuYWx5c2lzIGFuZCB2aXN1YWxpemF0aW9uCgpMZXQncyBleHBsb3JlIGFub3RoZXIgZXhhbXBsZSBvZiBncm91cF9ieSgpIGFuZCBzdW1tYXJpemUoKSB1c2luZyBvdXIgdGliYmxlIHRoYXQgaGFzIGFsbCBvdXIgY29tYmluZWQgaW5mb3JtYXRpb24uCgpJbnN0ZWFkIG9mIGZvY3VzaW5nIG9uIGNvdW50aWVzIGFzIG91ciB1bml0IG9mIGFuYWx5c2lzLCB3ZSBjYW4gdXNlIGdyb3VwX2J5KCkgdG8gZWFzaWx5IHN3aXRjaCB0byBhIHN0YXRlIGxldmVsIGFuYWx5c2lzIGJ5IHRlbGxpbmcgdGhlIHN1bW1hcml6ZSgpIGZ1bmN0aW9uIHRvIHBlcmZvcm0gYW5hbHlzZXMgZm9yIGVhY2ggc3RhdGUsIGNvbWJpbmluZyBhbGwgdGhlIHJvd3MgdGhhdCBoYXZlIHRoZSBzYW1lIHZhbHVlIHVuZGVyIHRoZSAic3RhdGUiIGNvbHVtbi4gV2hlbiB3ZSBjb21iaW5lIHRoZSBncm91cF9ieSgpIGZ1bmN0aW9uIHdpdGggc3VtbWFyaXplKCksIHdlIGNhbiBlYXNpbHkgZG8gc29tZSBwcmV0dHkgcG93ZXJmdWwgYW5hbHlzZXMgdGhhdCB3b3VsZCB0YWtlIGEgbG90IG9mIGVmZm9ydCB1c2luZyBvdGhlciBwcm9ncmFtcy4KCmBgYHtyfQpjYXNlc19wb3BzaXplX21hc2tlZCAlPiUKICBncm91cF9ieShzdGF0ZSkgJT4lCiAgc3VtbWFyaXplKE1lYW5NYXNrZWQgPSBtZWFuKEFsd2F5c01hc2tlZCkpICU+JQogIGFycmFuZ2UoZGVzYyhNZWFuTWFza2VkKSkKYGBgCgoKVGhpcyBpcyBwb3RlbnRpYWxseSBhIGJhZCBhbmFseXNpcyBiZWNhdXNlIHdlIGFyZSBjYWxjdWxhdGluZyBhIG1lYW4gZm9yIGEgc3RhdGUgYmFzZWQgb24gaXQncyBjb3VudGllcywgYW5kIHNvbWUgb2YgdGhlc2UgY291bnRpZXMgbWF5IGJlIHJlcHJlc2VudGVkIGJ5IGZld2VyIHBlb3BsZS4gU28gaWYgd2UgdHJ1bHkgd2FudGVkIHRoZSBhdmVyYWdlIGJlaGF2aW9yIG9mIGEgc3RhdGUsIHdlIHNob3VsZCB3ZWlnaHQgZWFjaCBjb3VudHkgYnkgaXRzIHBvcHVsYXRpb24gc2l6ZS4gV2h5IHNob3VsZCBhIGNvdW50eSB3aXRoIGEgc2l6ZSBvZiA0MDAgY29udHJpYnV0ZSBlcXVhbGx5IHRvIHRoZSBtZWFuIGFzIGEgY291bnR5IG9mIHNpemUgNDAsMDAwPwoKVGhlIGZvbGxvd2luZyBjb2RlIGNhbGN1bGF0ZXMgYSBjdXN0b20gbWVhbiB2YWx1ZSwgd2hlcmUgZWFjaCBjb3VudHkgaXMgd2VpZ2h0ZWQgYnkgaXRzIHBvcHVsYXRpb24gc2l6ZToKCmBgYHtyfQpjYXNlc19wb3BzaXplX21hc2tlZCAlPiUKICBncm91cF9ieShzdGF0ZSkgJT4lCiAgc3VtbWFyaXplKFdlaWdodGVkTWVhbk1hc2tlZCA9IHN1bShBbHdheXNNYXNrZWQqcG9wX3NpemUpL3N1bShwb3Bfc2l6ZSkpICU+JQogIGFycmFuZ2UoZGVzYyhXZWlnaHRlZE1lYW5NYXNrZWQpKQpgYGAKCgpEaWQgdGhpcyB3ZWlnaHRpbmcgYnkgY291bnR5IHNpemUgYWN0dWFsbHkgbWFrZSBhIGRpZmZlcmVuY2U/IExldCdzIHN0b3JlIHRoZXNlIGFuYWx5c2VzIGFzICd4JyBhbmQgJ3knIGFuZCBjb21wYXJlIHRoZW06CmBgYHtyfQp4IDwtIGNhc2VzX3BvcHNpemVfbWFza2VkICU+JQogIGdyb3VwX2J5KHN0YXRlKSAlPiUKICBzdW1tYXJpemUoTWVhbk1hc2tlZCA9IG1lYW4oQWx3YXlzTWFza2VkKSkgJT4lCiAgYXJyYW5nZShzdGF0ZSkKeSA8LSBjYXNlc19wb3BzaXplX21hc2tlZCAlPiUKICBncm91cF9ieShzdGF0ZSkgJT4lCiAgc3VtbWFyaXplKFdlaWdodGVkTWVhbk1hc2tlZCA9IHN1bShBbHdheXNNYXNrZWQqcG9wX3NpemUpL3N1bShwb3Bfc2l6ZSkpICU+JQogIGFycmFuZ2Uoc3RhdGUpCmhpc3QoeCRNZWFuTWFza2VkIC0geSRXZWlnaHRlZE1lYW5NYXNrZWQpCmBgYAoKSXQgbG9va3MgbGlrZSBvbiBhdmVyYWdlLCBBbHdheXNNYXNrZWQgZXN0aW1hdGVzIHRoYXQgZG9uJ3QgdGFrZSBwb3Bfc2l6ZSBpbnRvIGFjY291bnQgYXJlIHN5c3RlbWF0aWNhbGx5IGxvd2VyIHRoYW4gdGhvc2UgdGhhdCBkby4gV2hlbiB3ZSBkb24ndCB0YWtlIGNvdW50eSBzaXplIGludG8gYWNjb3VudCwgd2UgZWZmZWN0aXZlbHkgZ2l2ZSBtb3JlIHdlaWdodCB0byBzbWFsbGVyIGNvdW50aWVzLiAKCgojIFN1bW1hcnk6CiMjIE5ldyB0aWR5dmVyc2UgZnVuY3Rpb25zIHVzZWQgdG9kYXk6Ci0gc2xpY2UoKSB0byBzZWxlY3Qgc3BlY2lmaWMgcm93cyBieSBpbmRleCBudW1iZXIKLSBpbm5lcl9qb2luKCkgdG8gbWVyZ2UgZGF0YXNldHMgYmFzZWQgb24gZ2l2ZW4gdmFyaWFibGUocykKLSBtdXRhdGUoKSB3aXRoIHN0cl9yZW1vdmUgdG8gZ2V0IHJpZCBvZiBjaGFyYWN0ZXJzIG9yIHdvcmRzIHdlIGRvbid0IHdhbnQsIHRoZXJlIGFyZSBtYW55IHNpbWlsYXIgZnVuY3Rpb25zIGluIHRoZSBzdHJpbmdyIHBhY2thZ2UsIHdoaWNoIGhhcyBpdHMgb3duIGNoZWF0IHNoZWV0Ci0gZ3JvdXBfYnkoKSB0byBjYXRlZ29yaXplIG91ciBkYXRhIGJ5IHRoZSB2YWx1ZXMgaW4gYSBwYXJ0aWN1bGFyIGNvbHVtbiAoaGVyZSwgYnkgc3RhdGUpCi0gc3VtbWFyaXplKCkgdG8gY2FsY3VsYXRlIHNpbXBsZSBidXQgdmVyeSBpbmZvcm1hdGl2ZSBzdGF0aXN0aWNzLCBzdWNoIGFzIG1lYW4gYW5kIHZhcmlhbmNlCg==
================================================ FILE: tidyverse_covid_data/part1/binder/Dockerfile ================================================ FROM rocker/binder:3.6.3 COPY --chown=rstudio:rstudio ./tidyverse_covid_data/part1/ ${HOME} ================================================ FILE: tidyverse_covid_data/part1/tidyverse_1.R ================================================ # always make sure you're in the correct working directory for loading/saving files! setwd("./") # previous workshop: basic R # today's workshop: tidyverse, a collection of packages # see cheat sheet here: https://rstudio.com/wp-content/uploads/2015/02/data-wrangling-cheatsheet.pdf # At the top of your code, always load required packages, install if necessary #install.packages("tidyverse") library(tidyverse) # within "tidyverse", the data table used is called a "tibble" # load data using read_delim() function, which crates a tibble. mask_use <- read_delim(file="https://github.com/nytimes/covid-19-data/raw/bde13b021e99c6b4a63fb66a6144e889cc635e31/mask-use/mask-use-by-county.csv", delim=",") mask_use # oftentimes it's useful to perform various sanity checks on your data to make sure they look like you expect sum(mask_use[1,2:6]) sum(mask_use[2,2:6]) sum(mask_use[3,2:6]) # Data tables: wide format vs long format # long format is tidy, where every column is a variable, every row is an observation # mask data looks like it's in WIDE format, let's convert it to LONG format using pivot_longer(), see cheat sheet! mask_use_long <- pivot_longer(data = mask_use, cols = -COUNTYFP, names_to = "MaskUseResponse", values_to = "MaskUseProportion") # stringing functions together: pivot_longer() to convert to long format -> rename() to change column name -> arrange() to sort based on column # option 1: do each operation on a separate line mask_use_long <- pivot_longer(data = mask_use, cols = -COUNTYFP, names_to = "MaskUseResponse", values_to = "MaskUseProportion") mask_use_long2 <- rename(mask_use_long, "fips" = COUNTYFP) mask_use_long3 <- arrange(mask_use_long2, "fips") # option 2: do all operations on a single line (not preferred method) mask_use_long <- pivot_longer(data = arrange(rename(mask_use, "fips" = COUNTYFP), "fips"), cols = -"fips", names_to = "MaskUseResponse", values_to = "MaskUseProportion") # option 3: the tidyverse way using the %>% pipe operator mask_use_long <- mask_use %>% pivot_longer(cols = -COUNTYFP, names_to = "MaskUseResponse", values_to = "MaskUseProportion") %>% rename("fips" = COUNTYFP) %>% arrange(fips) # Let's load in case count data, also from NYT github repository cases <- read_delim(file="https://github.com/nytimes/covid-19-data/raw/ccc8c7988a089fed287a9005e5335d8716d8db57/us-counties.csv", delim=",") %>% arrange(fips) # too much data! let's look at a particular date, August 3rd, by selecting rows using the filter() function cases_latest <- cases %>% filter(date == "2020-08-03") %>% arrange(fips) # let's combine mask data with case count data! type '?join' in console to see options # the different functions depend on how we want to treat missing data... do we have missing data? or "NA"s? cases_latest %>% filter(is.na(fips)) %>% nrow mask_use_long %>% filter(is.na(fips)) %>% nrow cases_NAs <- cases_latest %>% filter(is.na(fips)) %>% arrange() # NYC is missing FIPS number 36061! let's fix this particular cell using mutate() function, which add new columns or modifies existing ones (as we do here) cases_latest <- cases_latest %>% mutate(fips = if_else(county == "New York City", true = "36061", false = fips)) # Now that NYC FIPS data is entered, let's combine the tables with inner_join(): cases_masks <- inner_join(x=cases_latest, y=mask_use_long, by="fips") # data under "date" column all the same, not informative, and we don't need FIPS codes # we can remove columns with the select() function cases_masks <- cases_masks %>% dplyr::select(-date, -fips) # simple commands to get an idea of what the data look like! # Which counties use masks most frequently? cases_masks %>% filter(MaskUseResponse == "ALWAYS") %>% arrange(desc(MaskUseProportion), county) %>% head(n=20) # Which counties use masks least frequently? cases_masks %>% filter(MaskUseResponse == "NEVER") %>% arrange(desc(MaskUseProportion), county) %>% head(n=10) # For the counties with the most cases, how frequently are people ALWAYS wearing masks? cases_masks %>% filter(MaskUseResponse == "ALWAYS") %>% arrange(desc(cases), county) %>% head(n=10) # Summary # Key tidyverse functions used today: # - read_delim() to read files in and convert them to a tibble, a special kind of data table # - pivot_longer()/pivot_wider() to convert data between long and wide format # - rename() to change the names of particular columns # - arrange() to sort the tibble according to values in particular columns # - filter() to select particular rows that meet specific conditions # - mutate(), with if_else() to modify particular cells in a table! # - select() to select specific columns to keep ================================================ FILE: tidyverse_covid_data/part1/tidyverse_1.Rmd ================================================ --- title: "Untitled" output: html_document --- ```{r setup, include=FALSE} knitr::opts_chunk$set(echo = TRUE) ``` ```{r} setwd("./") ``` The previous workshop gave a basic introduction to data structures in R. Today we will talk about the 'tidyverse' package, which is a collection of packages that contain many useful functions with intuitive names that are used to clean and process data sets. You don't need to use the tidyverse paclages to necessarily analyze your data in R, but it has rapidly become the industry standard. Tidyverse has many functions, especially when you see them all in a [cheat sheet](https://rstudio.com/wp-content/uploads/2015/02/data-wrangling-cheatsheet.pdf). Don't worry about necessarily memorizing them all. We'll go through several of the more important ones, and as you analyze data yourselves, you can quickly find what functions may be useful based on how they're categorized here. Alternatively, google searches that include 'tidyverse' in the search may also be fast and informative. The Tidyverse package is already installed in this environment we're working in, but when you use R studio on your own computers, you'll need to install these libraries (if they aren't already installed), and then load them using the install.packages() and library() functions, respectivey: ```{r} #install.packages("tidyverse") library(tidyverse) ``` Many of the tidyverse functions operate on a data table. At the end of the previous workshop, we introduced the 'data frame', which is essentially a table with rows and columns, and the columns have informative names. When we use the functions within tidyverse, we will instead use a 'tibble', which is a table that is very similar to a data frame but has a few differences that I won't discuss in detail. Just know that when you see the word "tibble", that's basically a data table. For these next two workshops on tidyverse, we will grab data from different sources. Downloading, cleaning, and combining a data sets are very common tasks for all sorts of scientists, and these skills will be valuable for you regardless of what kind of data you want to analyze. Let's load in the first data set on mask usage in the US, recently provided by the New York Times. Let's take a peek at the raw file to get an idea of what it looks like using the head command on terminal. As you can see, it looks like a bunch of information separated by commas. Let's read in these data with the read_delim() function and let R know that our data are separated, or delimited, by commas. ```{r} mask_use <- read_delim(file="https://github.com/nytimes/covid-19-data/raw/bde13b021e99c6b4a63fb66a6144e889cc635e31/mask-use/mask-use-by-county.csv", delim=",") mask_use ``` From the NYT github repo re. these data, they asked the question: "How often do you wear a mask in public when you expect to be within six feet of another person?" It looks like for all the counties are represented with a 5-digit FIPS code, which is not exactly ideal because we don't know what these numbers mean. We'll get the names in a moment by combining these data with another file that also has these FIPS codes AND county names. We can thus match these data tables based on shared FIPS codes to combine them. When I download other peoples data, I typically like to do many sanity checks on them to make sure they make sense. Even if you trust your source, it's always good to verify. One question that immediately came to my mind is whether these values sum to 1 for each row, as it seems like they should. We can quick check this for a few rows using the bracket notation to access particular parts of the table ```{r} sum(mask_use[1,2:6]) sum(mask_use[2,2:6]) sum(mask_use[3,2:6]) ``` # Data tables: wide format vs long format Oftentimes, it is ideal to make our data "tidy". Tidy data is data where: 1. Every column is variable. 2. Every row is an observation. 3. Every cell is a single value. When we look at this mask use data, is each column it's own variable? It doesn't seem like it. The most basic unit of analysis here is a person within a county. This person was asked a question, and they replied with one of five responses. So, we could define a single categorical variable "MaskUseResponse" that takes on one of these five values measuring approximate frequency. This could be a new column, entitled "MaskUseResponse", and in the rows beneath would be one of these five responses. Then, we could have another column that, for each of these responses, has the value of how many people wore masks that frequently. Here we are gathering the data across five columns into two columns. This used to be done with a function called gather(), which you may encounter frequently, but we'll use its newer version: pivot_longer(). (SEE CHEAT SHEET!) Also, see [here](https://en.wikipedia.org/wiki/Wide_and_narrow_data) for another simple example wide vs long format. ```{r} mask_use_long <- pivot_longer(data = mask_use, cols = -COUNTYFP, names_to = "MaskUseResponse", values_to = "MaskUseProportion") ``` As you can see, the tibble is much longer and each county is represented by 5 rows, once for each value of the MaskUseResponse categorical variable. If we wanted to go from this long format back to wide format, we could use the spread() function, or its newer version pivot_wider(), to spread out these two columns into the 5 original columns, but we will not do this today. I'd also like to note that long format is not more correct or better than wide format. It completely depends on what analyses you're doing and both may be acceptable. If you load in your data set, you don't NEED to convert it to long format, but in the next workshop session I'll show you how converting to long format can potentially allow you to do some powerful stuff. Let's say right after we convert these data to long format, we want to polish it by renaming one of the columns, "COUNTYFP", to "fips", and arrange the table such that it is sorted by this column. To do this, we will use the rename() and arrange() functions, respectively. In R, we can easily do multiple operations in a row, but like all problems in coding, there are multiple, technically correct ways of doing something: ```{r, include=FALSE} # do each operation on a separate line mask_use_long <- pivot_longer(data = mask_use, cols = -COUNTYFP, names_to = "MaskUseResponse", values_to = "MaskUseProportion") mask_use_long <- rename(mask_use_long, "fips" = COUNTYFP) mask_use_long <- arrange(mask_use_long, "fips") # most dense: do all operations on a single line mask_use_long <- pivot_longer(data = arrange(rename(mask_use, "fips" = COUNTYFP), "fips"), cols = -"fips", names_to = "MaskUseResponse", values_to = "MaskUseProportion") ``` When we want to do multiple operations in a row, it is generally considered better to string together multiple commands using the pipe operator in tidyverse, which is specified by %>%. This piping together of commands allows us to do many complicated things while keeping our code very easy to read. ```{r, include=FALSE} mask_use_long <- mask_use %>% pivot_longer(cols = -COUNTYFP, names_to = "MaskUseResponse", values_to = "MaskUseProportion") %>% rename("fips" = COUNTYFP) %>% arrange(fips) ``` In addition to the mask data, let's also load in data on covid19 case counts across the US, also supplied by the NYT, and combine it with our mask use data. Unlike the previous data that we loaded in from our local file system, these data we will directly download because they are so large. This will also show how you can specify web addresses instead of file names for read_delim(). This file is also comma separated, so we will let read_delim() know this. ```{r, include=FALSE} cases <- read_delim(file="https://github.com/nytimes/covid-19-data/raw/ccc8c7988a089fed287a9005e5335d8716d8db57/us-counties.csv", delim=",") %>% arrange(fips) ``` This is a lot of data. For some 3 thousand counties, there's an estimate of cumulative covid19 cases and deaths for each day since late January (it's now early August). For now, let's just look at the most recent date: 2020-08-03 in the date column. We can use the filter() function to filter our data table by row ```{r, include=FALSE} cases_latest <- cases %>% filter(date == "2020-08-03") %>% arrange(fips) ``` You'll notice that these data have both a county name and a county FIPS number, whereas the mask data only had an FIPS number. We can combine these two tables in order to get an actual county name and state for the mask data. There are several flavors of join functions (type ?join) that combine data sets based on values in a column. Here, we want to match 2 tables, 'cases_latest' and 'mask_use_long', based on FIPS number, such that rows in either table that have a matching FIPS number are combined. Which join function we choose depends on how we want to deal with missing data. For instance, what if one table doesn't have an FIPS code? If we use inner_join(), we are more conservative and the joined/combined table doesn't include any rows where either 'cases_latest' OR 'mask_use_long' had missing data. If we use left_join(), we include all the rows in the 'left' table (specified as x), and if there isn't a FIPS code in the 'right' table (specified as y), then we just fill in the gaps with NAs as needed. The other join functions follow a similar logic and you can see them in the help page. Since the outcome of using a join function depends on missing data, let's take a quick peek at how complete our data are. ```{r} cases_latest %>% filter(is.na(fips)) %>% nrow mask_use_long %>% filter(is.na(fips)) %>% nrow ``` Ok so it looks like there are 29 rows in the case count data that don't have FIPS codes... do we care about them? Let's take a peek: ```{r} cases_NAs <- cases_latest %>% filter(is.na(fips)) %>% arrange() ``` Oof, the FIPS number for New York City, perhaps one of the most important counties given the context, is missing in the case count data, yet it appears to be present in the mask use data (using a FIPS code of 36061 for Manhattan). In cases like this, we can modify the 'fips' column in the case count data to include the number 36061. Specifically, we can use the mutate() function, which allows us to change columns, and supply it with an if_else() function so that it ONLY changes values in the fips column (from NA to 36061) if the value for county in the same row is "New York City": ```{r} cases_latest <- cases_latest %>% mutate(fips = if_else(county == "New York City", true = "36061", false = fips)) ``` Now that we've modified our data table to incorporate New York City, let's use inner_join() so that we know each county has BOTH case counts and mask data. ```{r, include=FALSE} cases_masks <- inner_join(x=cases_latest, y=mask_use_long, by="fips") ``` Another thing you will notice is that there are only one cases and deaths value for each county, but these get replicated 5 times because we have 5 mask use responses for each county. This kind of looks awkward, but it's not necessarily bad to have it this way as long as we analyze our data appropriately and take this into account as we do below. Again, depending on the analysis, we could also just keep these data in wide format so that the data don't get duplicated. Since these data are all from the same date, we don't need this column anymore as it's not informative. Also, we can get rid of the county FIPS code column since we only used that information to combine the cases data and the mask data. Now that we've done that, we don't need that information either ```{r, include=FALSE} cases_masks <- cases_masks %>% dplyr::select(-date, -fips) ``` Let's use some basic tidyverse functions to superficially explore these data, just scratching the surface. Which counties use masks most frequently? ```{r} cases_masks %>% filter(MaskUseResponse == "ALWAYS") %>% arrange(desc(MaskUseProportion), county) %>% head(n=20) ``` Which counties use masks least frequently? ```{r} cases_masks %>% filter(MaskUseResponse == "NEVER") %>% arrange(desc(MaskUseProportion), county) %>% head(n=10) ``` For the counties with the most cases, how frequently are people ALWAYS wearing masks? ```{r} cases_masks %>% filter(MaskUseResponse == "ALWAYS") %>% arrange(desc(cases), county) %>% head(n=10) ``` # Summary Key tidyverse functions used today: - read_delim() to read files in and convert them to a tibble, a special kind of data table - pivot_longer()/pivot_wider() to convert data between long and wide format - rename() to change the names of particular columns - arrange() to sort the tibble according to values in particular columns - filter() to select particular rows that meet specific conditions - mutate(), with if_else() to modify particular cells in a table! - select() to select specific columns to keep This is just taking quick peeks at these data. In the next session, we'll review and learn some more tidyverse tools to manipulate data, but we'll also learn some easy-to-use functions that allow us to analyze these data in more complex ways, using relatively little code! END OF WORKSHOP, PERSONAL NOTES: What is mask use behavior like in places with many cases? Let's first quickly peek at the distributions for cases and mask-wearing ```{r} cases_masks %>% ggplot(aes(cases)) + geom_histogram() cases_masks %>% filter(MaskUseResponse == "ALWAYS") %>% ggplot(aes(MaskUseProportion)) + geom_histogram() ``` ```{r} mask_wearers <- cases_masks %>% filter(MaskUseResponse == "ALWAYS") %>% arrange(desc(MaskUseProportion), county) %>% head(n=50) mean(mask_wearers$cases) live_free_or_die <- cases_masks %>% filter(MaskUseResponse == "NEVER") %>% arrange(desc(MaskUseProportion), county) %>% head(n=50) mean(live_free_or_die$cases) ``` ================================================ FILE: tidyverse_covid_data/part2/binder/Dockerfile ================================================ FROM rocker/binder:3.6.3 COPY --chown=rstudio:rstudio ./tidyverse_covid_data/part2/ ${HOME} ================================================ FILE: tidyverse_covid_data/part2/mask-use-by-county.csv ================================================ COUNTYFP,NEVER,RARELY,SOMETIMES,FREQUENTLY,ALWAYS 01001,0.053,0.074,0.134,0.295,0.444 01003,0.083,0.059,0.098,0.323,0.436 01005,0.067,0.121,0.12,0.201,0.491 01007,0.02,0.034,0.096,0.278,0.572 01009,0.053,0.114,0.18,0.194,0.459 01011,0.031,0.04,0.144,0.286,0.5 01013,0.102,0.053,0.257,0.137,0.451 01015,0.152,0.108,0.13,0.167,0.442 01017,0.117,0.037,0.15,0.136,0.56 01019,0.135,0.027,0.161,0.158,0.52 01021,0.06,0.07,0.058,0.194,0.618 01023,0.049,0.038,0.126,0.219,0.568 01025,0.049,0.088,0.164,0.268,0.43 01027,0.148,0.158,0.195,0.169,0.329 01029,0.151,0.125,0.138,0.217,0.368 01031,0.101,0.152,0.094,0.186,0.466 01033,0.082,0.096,0.152,0.159,0.51 01035,0.099,0.052,0.259,0.192,0.399 01037,0.055,0.131,0.167,0.263,0.384 01039,0.187,0.128,0.129,0.201,0.356 01041,0.06,0.091,0.199,0.233,0.416 01043,0.13,0.024,0.249,0.217,0.379 01045,0.089,0.113,0.118,0.22,0.46 01047,0.095,0.1,0.159,0.122,0.524 01049,0.084,0.051,0.106,0.179,0.58 01051,0.042,0.095,0.127,0.252,0.485 01053,0.114,0.026,0.188,0.285,0.387 01055,0.096,0.103,0.178,0.122,0.501 01057,0.138,0.048,0.151,0.233,0.429 01059,0.065,0.071,0.223,0.156,0.484 01061,0.176,0.131,0.089,0.158,0.445 01063,0.03,0.053,0.127,0.167,0.623 01065,0.026,0.061,0.084,0.191,0.639 01067,0.066,0.068,0.17,0.258,0.438 01069,0.085,0.079,0.135,0.268,0.433 01071,0.092,0.089,0.11,0.249,0.46 01073,0.049,0.037,0.107,0.179,0.628 01075,0.107,0.045,0.132,0.189,0.527 01077,0.093,0.119,0.141,0.179,0.469 01079,0.162,0.08,0.088,0.251,0.419 01081,0.053,0.064,0.138,0.183,0.562 01083,0.102,0.034,0.133,0.336,0.395 01085,0.12,0.073,0.145,0.199,0.464 01087,0.008,0.033,0.241,0.172,0.545 01089,0.062,0.05,0.123,0.177,0.589 01091,0.033,0.151,0.118,0.186,0.512 01093,0.129,0.064,0.246,0.207,0.353 01095,0.075,0.064,0.129,0.253,0.479 01097,0.077,0.07,0.102,0.244,0.506 01099,0.112,0.041,0.182,0.288,0.378 01101,0.056,0.095,0.123,0.212,0.513 01103,0.078,0.077,0.082,0.304,0.459 01105,0.025,0.084,0.087,0.187,0.618 01107,0.031,0.06,0.169,0.157,0.584 01109,0.06,0.131,0.145,0.333,0.33 01111,0.158,0.226,0.105,0.144,0.368 01113,0.069,0.067,0.08,0.213,0.57 01115,0.027,0.134,0.144,0.2,0.495 01117,0.022,0.075,0.118,0.24,0.545 01119,0.055,0.068,0.118,0.197,0.562 01121,0.113,0.15,0.208,0.169,0.361 01123,0.067,0.095,0.136,0.296,0.406 01125,0.041,0.036,0.144,0.247,0.532 01127,0.09,0.081,0.145,0.256,0.429 01129,0.018,0.077,0.102,0.307,0.495 01131,0.061,0.098,0.199,0.187,0.455 01133,0.13,0.046,0.328,0.183,0.312 02013,0.067,0.032,0.034,0.316,0.551 02016,0.078,0.031,0.03,0.337,0.524 02020,0.042,0.05,0.049,0.196,0.663 02050,0.101,0.022,0.014,0.45,0.413 02060,0.048,0.037,0.042,0.308,0.564 02068,0.062,0.081,0.067,0.225,0.565 02070,0.072,0.025,0.027,0.391,0.484 02090,0.094,0.084,0.175,0.234,0.413 02100,0.055,0.05,0.123,0.419,0.352 02105,0.051,0.064,0.13,0.399,0.356 02110,0.051,0.067,0.133,0.396,0.353 02122,0.043,0.047,0.051,0.197,0.662 02130,0.025,0.149,0.174,0.256,0.396 02150,0.042,0.043,0.049,0.233,0.633 02158,0.103,0.022,0.007,0.521,0.347 02164,0.055,0.036,0.04,0.299,0.571 02170,0.042,0.051,0.048,0.198,0.66 02180,0.086,0.061,0.009,0.544,0.3 02185,0.036,0.059,0.235,0.215,0.455 02188,0.035,0.188,0.051,0.474,0.252 02195,0.042,0.095,0.148,0.349,0.365 02198,0.033,0.125,0.161,0.3,0.38 02220,0.048,0.077,0.137,0.381,0.357 02230,0.058,0.038,0.116,0.435,0.354 02240,0.064,0.071,0.14,0.272,0.453 02261,0.04,0.049,0.052,0.197,0.663 02275,0.035,0.119,0.16,0.312,0.374 02282,0.047,0.012,0.078,0.381,0.481 02290,0.044,0.047,0.126,0.425,0.358 04001,0.055,0.063,0.031,0.15,0.701 04003,0.053,0.025,0.147,0.194,0.581 04005,0.039,0.08,0.07,0.11,0.702 04007,0.073,0.014,0.03,0.336,0.547 04009,0.095,0.067,0.237,0.049,0.553 04011,0.111,0.089,0.167,0.089,0.544 04012,0.031,0.064,0.162,0.173,0.57 04013,0.023,0.025,0.059,0.158,0.734 04015,0.051,0.096,0.104,0.164,0.585 04017,0.091,0.108,0.059,0.139,0.602 04019,0.023,0.024,0.073,0.121,0.759 04021,0.033,0.055,0.096,0.148,0.667 04023,0.028,0.002,0.058,0.074,0.837 04025,0.031,0.073,0.081,0.176,0.639 04027,0.008,0.013,0.046,0.129,0.804 05001,0.019,0.073,0.134,0.216,0.557 05003,0.023,0.103,0.163,0.117,0.595 05005,0.15,0.104,0.108,0.104,0.534 05007,0.081,0.034,0.083,0.16,0.643 05009,0.129,0.145,0.122,0.189,0.416 05011,0.094,0.102,0.175,0.184,0.445 05013,0.145,0.132,0.108,0.211,0.404 05015,0.111,0.068,0.115,0.129,0.577 05017,0.104,0.074,0.193,0.097,0.531 05019,0.08,0.091,0.08,0.231,0.518 05021,0.082,0.124,0.157,0.242,0.395 05023,0.036,0.065,0.093,0.259,0.546 05025,0.107,0.03,0.16,0.231,0.472 05027,0.241,0.072,0.054,0.25,0.383 05029,0.071,0.12,0.137,0.347,0.325 05031,0.078,0.123,0.138,0.341,0.32 05033,0.155,0.1,0.167,0.211,0.367 05035,0.059,0.017,0.11,0.306,0.508 05037,0.097,0.017,0.163,0.319,0.404 05039,0.197,0.055,0.093,0.196,0.459 05041,0.078,0.033,0.19,0.189,0.509 05043,0.063,0.049,0.207,0.159,0.523 05045,0.066,0.027,0.077,0.403,0.426 05047,0.149,0.079,0.245,0.187,0.34 05049,0.105,0.121,0.226,0.197,0.351 05051,0.025,0.102,0.068,0.21,0.596 05053,0.082,0.043,0.127,0.258,0.489 05055,0.062,0.141,0.154,0.346,0.297 05057,0.098,0.073,0.096,0.179,0.554 05059,0.059,0.086,0.079,0.216,0.56 05061,0.081,0.07,0.145,0.145,0.56 05063,0.137,0.156,0.088,0.179,0.44 05065,0.086,0.121,0.133,0.23,0.43 05067,0.116,0.103,0.135,0.179,0.468 05069,0.042,0.036,0.172,0.173,0.577 05071,0.144,0.103,0.205,0.221,0.328 05073,0.12,0.082,0.078,0.234,0.486 05075,0.085,0.128,0.153,0.298,0.337 05077,0.103,0.032,0.195,0.263,0.407 05079,0.035,0.016,0.194,0.201,0.554 05081,0.074,0.121,0.106,0.201,0.499 05083,0.148,0.11,0.12,0.143,0.479 05085,0.048,0.045,0.136,0.297,0.474 05087,0.075,0.088,0.159,0.114,0.564 05089,0.171,0.112,0.119,0.108,0.49 05091,0.064,0.124,0.106,0.219,0.487 05093,0.033,0.109,0.134,0.284,0.44 05095,0.068,0.128,0.127,0.271,0.406 05097,0.081,0.095,0.136,0.166,0.521 05099,0.143,0.048,0.084,0.224,0.501 05101,0.107,0.14,0.084,0.261,0.408 05103,0.151,0.097,0.06,0.242,0.449 05105,0.098,0.051,0.08,0.367,0.404 05107,0.052,0.061,0.134,0.276,0.477 05109,0.064,0.061,0.2,0.176,0.501 05111,0.077,0.098,0.141,0.287,0.397 05113,0.18,0.08,0.217,0.076,0.446 05115,0.082,0.151,0.181,0.285,0.302 05117,0.062,0.17,0.103,0.273,0.391 05119,0.028,0.027,0.126,0.175,0.644 05121,0.051,0.145,0.203,0.289,0.311 05123,0.087,0.007,0.289,0.267,0.35 05125,0.066,0.044,0.154,0.212,0.524 05127,0.155,0.14,0.124,0.123,0.458 05129,0.1,0.088,0.125,0.149,0.538 05131,0.121,0.142,0.157,0.208,0.372 05133,0.12,0.093,0.155,0.165,0.467 05135,0.067,0.158,0.22,0.222,0.333 05137,0.067,0.092,0.11,0.234,0.498 05139,0.116,0.179,0.098,0.262,0.344 05141,0.033,0.06,0.096,0.272,0.539 05143,0.034,0.028,0.101,0.186,0.651 05145,0.026,0.054,0.152,0.277,0.491 05147,0.059,0.048,0.208,0.231,0.454 05149,0.116,0.1,0.112,0.198,0.474 06001,0.019,0.008,0.055,0.123,0.795 06003,0.025,0.085,0.088,0.19,0.612 06005,0.045,0.013,0.099,0.188,0.655 06007,0.015,0.043,0.111,0.204,0.626 06009,0.045,0.019,0.098,0.276,0.562 06011,0.027,0.031,0.092,0.151,0.7 06013,0.018,0.016,0.039,0.121,0.806 06015,0.01,0.135,0.112,0.196,0.547 06017,0.028,0.042,0.072,0.183,0.675 06019,0.021,0.022,0.059,0.156,0.741 06021,0.028,0.026,0.146,0.206,0.594 06023,0.042,0.006,0.018,0.069,0.865 06025,0.001,0.005,0.03,0.128,0.836 06027,0.033,0.011,0.008,0.058,0.889 06029,0.022,0.028,0.105,0.177,0.668 06031,0.075,0.016,0.049,0.094,0.766 06033,0.003,0.004,0.007,0.136,0.849 06035,0.064,0.068,0.162,0.225,0.482 06037,0.021,0.013,0.049,0.131,0.786 06039,0.019,0.059,0.048,0.124,0.751 06041,0.011,0,0.046,0.141,0.802 06043,0.01,0.094,0.049,0.186,0.661 06045,0.002,0.003,0.004,0.222,0.77 06047,0.026,0.036,0.089,0.146,0.703 06049,0.068,0.019,0.095,0.204,0.615 06051,0.011,0.026,0.012,0.07,0.88 06053,0.023,0.006,0.066,0.141,0.763 06055,0.017,0.026,0.033,0.149,0.773 06057,0.003,0.054,0.084,0.177,0.682 06059,0.023,0.021,0.046,0.156,0.754 06061,0.012,0.023,0.072,0.201,0.693 06063,0.063,0.067,0.053,0.146,0.671 06065,0.026,0.014,0.041,0.116,0.803 06067,0.025,0.028,0.062,0.164,0.722 06069,0.018,0.004,0.063,0.175,0.739 06071,0.027,0.022,0.048,0.134,0.768 06073,0.017,0.023,0.034,0.126,0.8 06075,0.017,0.011,0.035,0.121,0.817 06077,0.054,0.019,0.081,0.165,0.68 06079,0.025,0.024,0.037,0.169,0.745 06081,0.016,0.013,0.058,0.126,0.786 06083,0.015,0.02,0.075,0.153,0.737 06085,0.015,0.014,0.04,0.168,0.764 06087,0.008,0,0.086,0.109,0.797 06089,0.095,0.056,0.071,0.232,0.547 06091,0.14,0.053,0.047,0.143,0.617 06093,0.132,0.074,0.082,0.167,0.546 06095,0.043,0.046,0.035,0.148,0.728 06097,0.022,0.012,0.022,0.149,0.795 06099,0.032,0.028,0.062,0.173,0.705 06101,0.058,0.031,0.08,0.163,0.669 06103,0.057,0.062,0.141,0.195,0.545 06105,0.081,0.07,0.055,0.201,0.592 06107,0.025,0.039,0.115,0.136,0.685 06109,0.008,0.043,0.084,0.212,0.653 06111,0.024,0.011,0.033,0.156,0.777 06113,0.007,0.005,0.04,0.156,0.791 06115,0.057,0.035,0.071,0.167,0.669 08001,0.032,0.027,0.071,0.185,0.685 08003,0.052,0.133,0.094,0.228,0.493 08005,0.013,0.026,0.065,0.193,0.703 08007,0.041,0.041,0.155,0.276,0.488 08009,0.113,0.053,0.194,0.206,0.435 08011,0.033,0.036,0.172,0.191,0.567 08013,0.008,0.015,0.032,0.195,0.75 08014,0.018,0.005,0.042,0.201,0.734 08015,0.038,0.045,0.134,0.138,0.645 08017,0.016,0.187,0.106,0.398,0.292 08019,0.002,0.015,0.138,0.123,0.723 08021,0.06,0.106,0.093,0.195,0.545 08023,0.034,0.072,0.076,0.175,0.644 08025,0.002,0.034,0.08,0.294,0.59 08027,0.017,0.098,0.153,0.234,0.498 08029,0.087,0.094,0.074,0.295,0.45 08031,0.02,0.018,0.062,0.194,0.707 08033,0.052,0.039,0.066,0.252,0.591 08035,0.013,0.041,0.081,0.192,0.673 08037,0.008,0.003,0.033,0.269,0.687 08039,0.016,0.044,0.19,0.246,0.505 08041,0.031,0.089,0.081,0.196,0.603 08043,0.006,0.069,0.062,0.2,0.663 08045,0.065,0.04,0.037,0.326,0.532 08047,0.001,0.027,0.017,0.17,0.785 08049,0.006,0.002,0.05,0.187,0.754 08051,0.057,0.039,0.043,0.281,0.581 08053,0.043,0.05,0.117,0.271,0.519 08055,0.028,0.051,0.051,0.275,0.595 08057,0.021,0.027,0.09,0.342,0.52 08059,0.028,0.031,0.075,0.194,0.673 08061,0.028,0.051,0.159,0.27,0.492 08063,0.024,0.323,0.119,0.344,0.19 08065,0.002,0.016,0.036,0.193,0.753 08067,0.043,0.02,0.122,0.274,0.541 08069,0.013,0.037,0.06,0.231,0.659 08071,0.052,0.03,0.101,0.17,0.648 08073,0.013,0.068,0.196,0.403,0.321 08075,0.078,0.202,0.101,0.368,0.251 08077,0.075,0.105,0.098,0.222,0.499 08079,0.049,0.072,0.138,0.264,0.478 08081,0.041,0.142,0.162,0.284,0.371 08083,0.057,0.019,0.081,0.257,0.586 08085,0.085,0.092,0.074,0.314,0.436 08087,0.083,0.161,0.116,0.245,0.396 08089,0.004,0.047,0.102,0.194,0.653 08091,0.06,0.08,0.069,0.295,0.495 08093,0.021,0.018,0.103,0.137,0.722 08095,0.05,0.19,0.137,0.255,0.368 08097,0.019,0.014,0.016,0.318,0.633 08099,0.079,0.046,0.205,0.201,0.469 08101,0.018,0.044,0.074,0.28,0.584 08103,0.111,0.092,0.074,0.265,0.458 08105,0.061,0.144,0.11,0.242,0.444 08107,0.008,0.036,0.092,0.375,0.489 08109,0.065,0.122,0.138,0.232,0.443 08111,0.032,0.038,0.097,0.27,0.563 08113,0.043,0.058,0.074,0.26,0.565 08115,0.065,0.162,0.138,0.267,0.368 08117,0,0.001,0.064,0.151,0.784 08119,0.105,0.087,0.066,0.145,0.597 08121,0.077,0.208,0.101,0.303,0.31 08123,0.046,0.038,0.135,0.231,0.55 08125,0.038,0.284,0.133,0.255,0.29 09001,0.027,0.019,0.06,0.114,0.78 09003,0.015,0.023,0.065,0.13,0.767 09005,0.017,0.051,0.021,0.098,0.812 09007,0.003,0.007,0.055,0.128,0.807 09009,0.023,0.014,0.053,0.115,0.795 09011,0.025,0.021,0.066,0.142,0.747 09013,0.008,0.008,0.027,0.147,0.81 09015,0.022,0.041,0.082,0.137,0.718 10001,0.026,0.006,0.106,0.051,0.811 10003,0.027,0.013,0.041,0.133,0.786 10005,0.005,0.001,0.035,0.103,0.856 11001,0.012,0.013,0.069,0.164,0.743 12001,0.001,0.024,0.053,0.17,0.751 12003,0.087,0.076,0.18,0.215,0.442 12005,0.065,0.109,0.076,0.202,0.548 12007,0.106,0.168,0.172,0.173,0.381 12009,0.068,0.073,0.096,0.157,0.607 12011,0.026,0.023,0.043,0.117,0.791 12013,0.034,0.055,0.138,0.267,0.507 12015,0.051,0.049,0.101,0.158,0.64 12017,0.09,0.036,0.087,0.178,0.609 12019,0.055,0.067,0.15,0.209,0.52 12021,0.04,0.023,0.067,0.212,0.658 12023,0.047,0.026,0.288,0.254,0.385 12027,0.023,0.064,0.056,0.142,0.715 12029,0.071,0.095,0.119,0.318,0.397 12031,0.049,0.042,0.086,0.194,0.629 12033,0.019,0.052,0.095,0.31,0.524 12035,0.079,0.05,0.113,0.157,0.602 12037,0.022,0.101,0.237,0.228,0.412 12039,0.06,0.033,0.104,0.227,0.575 12041,0.016,0.151,0.069,0.324,0.44 12043,0.047,0.082,0.098,0.096,0.677 12045,0.046,0.125,0.12,0.249,0.46 12047,0.101,0.071,0.235,0.227,0.365 12049,0.114,0.041,0.179,0.186,0.48 12051,0.046,0.042,0.112,0.15,0.65 12053,0.09,0.04,0.091,0.19,0.589 12055,0.025,0.056,0.145,0.138,0.635 12057,0.023,0.031,0.069,0.155,0.722 12059,0.17,0.077,0.081,0.111,0.562 12061,0.054,0.065,0.082,0.193,0.607 12063,0.064,0.108,0.129,0.174,0.526 12065,0.019,0.017,0.099,0.183,0.682 12067,0.102,0.081,0.22,0.208,0.389 12069,0.047,0.062,0.074,0.185,0.632 12071,0.052,0.05,0.073,0.176,0.648 12073,0.051,0.022,0.071,0.156,0.7 12075,0.017,0.132,0.072,0.187,0.592 12077,0.022,0.023,0.205,0.268,0.482 12079,0.164,0.085,0.148,0.264,0.34 12081,0.074,0.037,0.062,0.201,0.626 12083,0.046,0.087,0.121,0.203,0.543 12085,0.027,0.018,0.066,0.169,0.719 12086,0.032,0.023,0.06,0.128,0.756 12087,0.007,0.001,0.014,0.159,0.819 12089,0.09,0.07,0.147,0.223,0.47 12091,0.091,0.083,0.147,0.21,0.469 12093,0.016,0.034,0.064,0.171,0.715 12095,0.02,0.02,0.072,0.164,0.724 12097,0.025,0.022,0.058,0.176,0.72 12099,0.03,0.02,0.05,0.116,0.784 12101,0.027,0.029,0.055,0.179,0.709 12103,0.025,0.019,0.074,0.133,0.75 12105,0.05,0.063,0.085,0.172,0.63 12107,0.068,0.05,0.114,0.186,0.581 12109,0.047,0.071,0.097,0.223,0.561 12111,0.077,0.022,0.08,0.173,0.648 12113,0.047,0.068,0.166,0.265,0.453 12115,0.017,0.031,0.073,0.175,0.704 12117,0.037,0.039,0.066,0.141,0.717 12119,0.037,0.036,0.064,0.235,0.628 12121,0.105,0.055,0.244,0.227,0.369 12123,0.103,0.086,0.19,0.145,0.476 12125,0.044,0.04,0.176,0.267,0.473 12127,0.035,0.066,0.089,0.192,0.618 12129,0.032,0.092,0.172,0.275,0.429 12131,0.092,0.06,0.092,0.244,0.512 12133,0.138,0.085,0.062,0.158,0.557 13001,0.085,0.117,0.23,0.152,0.416 13003,0.059,0.1,0.179,0.217,0.445 13005,0.071,0.132,0.187,0.188,0.421 13007,0.027,0.048,0.054,0.127,0.743 13009,0.02,0.089,0.107,0.29,0.494 13011,0.136,0.103,0.125,0.238,0.399 13013,0.063,0.086,0.092,0.19,0.568 13015,0.215,0.05,0.123,0.143,0.47 13017,0.129,0.078,0.109,0.202,0.483 13019,0.073,0.098,0.156,0.214,0.46 13021,0.043,0.094,0.176,0.201,0.487 13023,0.089,0.031,0.117,0.256,0.508 13025,0.047,0.129,0.15,0.164,0.51 13027,0.092,0.165,0.124,0.235,0.385 13029,0.033,0.039,0.095,0.238,0.595 13031,0.053,0.049,0.163,0.31,0.424 13033,0.105,0.109,0.087,0.208,0.492 13035,0.125,0.037,0.144,0.163,0.53 13037,0.013,0.035,0.043,0.172,0.737 13039,0.136,0.125,0.17,0.113,0.456 13043,0.037,0.045,0.177,0.264,0.477 13045,0.089,0.133,0.154,0.168,0.457 13047,0.143,0.152,0.114,0.217,0.375 13049,0.065,0.094,0.15,0.196,0.495 13051,0.035,0.04,0.144,0.158,0.624 13053,0.061,0.072,0.108,0.214,0.545 13055,0.116,0.102,0.187,0.143,0.451 13057,0.049,0.054,0.1,0.213,0.584 13059,0.054,0.057,0.06,0.226,0.603 13061,0.028,0.066,0.12,0.223,0.562 13063,0.038,0.054,0.125,0.159,0.624 13065,0.06,0.058,0.134,0.168,0.58 13067,0.039,0.049,0.116,0.225,0.572 13069,0.085,0.124,0.164,0.222,0.404 13071,0.108,0.191,0.074,0.233,0.394 13073,0.061,0.064,0.095,0.234,0.547 13075,0.098,0.134,0.123,0.203,0.441 13077,0.105,0.053,0.183,0.204,0.455 13079,0.057,0.051,0.231,0.192,0.468 13081,0.119,0.023,0.06,0.163,0.635 13083,0.128,0.222,0.13,0.249,0.27 13085,0.049,0.09,0.128,0.162,0.571 13087,0.093,0.04,0.171,0.18,0.516 13089,0.036,0.028,0.075,0.156,0.704 13091,0.145,0.025,0.15,0.236,0.443 13093,0.077,0.034,0.058,0.204,0.627 13095,0.033,0.037,0.045,0.159,0.726 13097,0.083,0.037,0.09,0.198,0.591 13099,0.045,0.062,0.156,0.253,0.485 13101,0.097,0.073,0.182,0.202,0.446 13103,0.044,0.064,0.145,0.272,0.475 13105,0.132,0.177,0.081,0.107,0.503 13107,0.062,0.044,0.142,0.252,0.5 13109,0.03,0.078,0.229,0.29,0.372 13111,0.075,0.088,0.125,0.112,0.6 13113,0.06,0.086,0.131,0.218,0.505 13115,0.186,0.036,0.234,0.148,0.395 13117,0.035,0.048,0.083,0.193,0.641 13119,0.168,0.074,0.117,0.215,0.425 13121,0.026,0.036,0.089,0.187,0.662 13123,0.128,0.042,0.087,0.198,0.545 13125,0.156,0.066,0.107,0.13,0.541 13127,0.048,0.071,0.145,0.251,0.485 13129,0.172,0.1,0.201,0.157,0.369 13131,0.063,0.139,0.116,0.264,0.417 13133,0.062,0.046,0.057,0.176,0.658 13135,0.036,0.054,0.081,0.19,0.639 13137,0.063,0.1,0.116,0.292,0.43 13139,0.061,0.069,0.128,0.198,0.545 13141,0.043,0.111,0.102,0.168,0.575 13143,0.184,0.123,0.165,0.184,0.345 13145,0.093,0.081,0.061,0.213,0.551 13147,0.092,0.061,0.14,0.207,0.5 13149,0.126,0.094,0.166,0.144,0.471 13151,0.103,0.048,0.091,0.181,0.578 13153,0.032,0.079,0.136,0.172,0.581 13155,0.098,0.091,0.126,0.224,0.46 13157,0.125,0.085,0.117,0.24,0.434 13159,0.082,0.059,0.181,0.118,0.56 13161,0.124,0.138,0.165,0.183,0.39 13163,0.251,0.055,0.099,0.102,0.493 13165,0.114,0.053,0.084,0.261,0.488 13167,0.119,0.053,0.109,0.251,0.468 13169,0.049,0.087,0.226,0.209,0.43 13171,0.07,0.06,0.171,0.293,0.406 13173,0.102,0.07,0.145,0.181,0.502 13175,0.122,0.056,0.141,0.291,0.391 13177,0.035,0.033,0.039,0.162,0.732 13179,0.007,0.099,0.066,0.215,0.614 13181,0.073,0.104,0.111,0.233,0.479 13183,0.014,0.119,0.086,0.159,0.621 13185,0.108,0.101,0.149,0.208,0.435 13187,0.035,0.086,0.13,0.245,0.504 13189,0.072,0.053,0.123,0.265,0.488 13191,0.034,0.076,0.188,0.221,0.481 13193,0.078,0.049,0.113,0.21,0.55 13195,0.165,0.084,0.055,0.186,0.511 13197,0.084,0.12,0.167,0.196,0.433 13199,0.109,0.086,0.138,0.15,0.517 13201,0.064,0.056,0.182,0.159,0.539 13205,0.044,0.112,0.055,0.159,0.63 13207,0.072,0.035,0.184,0.253,0.455 13209,0.114,0.083,0.174,0.228,0.401 13211,0.061,0.064,0.093,0.168,0.614 13213,0.193,0.03,0.182,0.177,0.417 13215,0.063,0.073,0.083,0.225,0.555 13217,0.094,0.076,0.123,0.207,0.5 13219,0.049,0.063,0.095,0.181,0.611 13221,0.056,0.082,0.054,0.181,0.627 13223,0.097,0.068,0.108,0.233,0.494 13225,0.027,0.074,0.172,0.16,0.567 13227,0.038,0.118,0.101,0.188,0.555 13229,0.05,0.143,0.127,0.157,0.522 13231,0.059,0.06,0.147,0.192,0.542 13233,0.106,0.071,0.192,0.145,0.485 13235,0.079,0.031,0.098,0.218,0.575 13237,0.059,0.093,0.118,0.214,0.516 13239,0.053,0.15,0.095,0.163,0.538 13241,0.1,0.083,0.124,0.229,0.464 13243,0.016,0.065,0.05,0.2,0.669 13245,0.068,0.059,0.114,0.18,0.578 13247,0.058,0.078,0.115,0.216,0.534 13249,0.07,0.102,0.117,0.214,0.497 13251,0.198,0.069,0.081,0.242,0.41 13253,0.073,0.079,0.202,0.135,0.51 13255,0.072,0.038,0.179,0.202,0.509 13257,0.087,0.116,0.116,0.31,0.37 13259,0.055,0.092,0.133,0.203,0.517 13261,0.055,0.056,0.046,0.202,0.641 13263,0.168,0.08,0.089,0.171,0.492 13265,0.065,0.048,0.086,0.158,0.644 13267,0.051,0.076,0.214,0.224,0.434 13269,0.126,0.069,0.182,0.201,0.422 13271,0.156,0.075,0.134,0.208,0.427 13273,0.019,0.029,0.03,0.167,0.755 13275,0.026,0.096,0.12,0.228,0.53 13277,0.066,0.088,0.122,0.227,0.496 13279,0.097,0.069,0.179,0.226,0.429 13281,0.076,0.096,0.098,0.199,0.531 13283,0.096,0.07,0.168,0.267,0.399 13285,0.175,0.031,0.119,0.178,0.497 13287,0.141,0.042,0.094,0.175,0.547 13289,0.04,0.077,0.188,0.148,0.547 13291,0.065,0.119,0.087,0.168,0.56 13293,0.16,0.1,0.114,0.206,0.421 13295,0.144,0.164,0.117,0.21,0.366 13297,0.106,0.127,0.184,0.141,0.442 13299,0.061,0.108,0.109,0.166,0.556 13301,0.095,0.065,0.14,0.226,0.474 13303,0.104,0.07,0.053,0.157,0.617 13305,0.029,0.139,0.143,0.139,0.55 13307,0.019,0.064,0.103,0.21,0.603 13309,0.135,0.078,0.162,0.23,0.395 13311,0.057,0.064,0.099,0.347,0.433 13313,0.185,0.068,0.203,0.142,0.403 13315,0.173,0.017,0.083,0.157,0.569 13317,0.08,0.086,0.114,0.172,0.548 13319,0.039,0.062,0.141,0.224,0.534 13321,0.069,0.056,0.083,0.187,0.605 15001,0.01,0.032,0.037,0.122,0.799 15003,0.011,0.012,0.027,0.151,0.798 15005,0.026,0.013,0.032,0.08,0.85 15007,0,0.021,0.046,0.108,0.825 15009,0.034,0.016,0.025,0.122,0.803 16001,0.118,0.078,0.084,0.194,0.526 16003,0.094,0.216,0.218,0.218,0.254 16005,0.084,0.193,0.176,0.195,0.352 16007,0.151,0.12,0.102,0.243,0.385 16009,0.038,0.059,0.15,0.152,0.601 16011,0.095,0.197,0.175,0.229,0.304 16013,0.155,0.107,0.102,0.13,0.506 16015,0.057,0.038,0.038,0.549,0.318 16017,0.088,0.116,0.119,0.241,0.436 16019,0.096,0.202,0.188,0.247,0.268 16021,0.045,0.171,0.061,0.185,0.537 16023,0.107,0.213,0.159,0.222,0.298 16025,0.186,0.03,0.047,0.098,0.639 16027,0.113,0.095,0.17,0.24,0.381 16029,0.1,0.181,0.191,0.202,0.326 16031,0.134,0.223,0.102,0.149,0.392 16033,0.119,0.228,0.196,0.239,0.218 16035,0.037,0.112,0.127,0.25,0.475 16037,0.069,0.029,0.199,0.244,0.458 16039,0.206,0.044,0.038,0.173,0.539 16041,0.131,0.118,0.085,0.256,0.41 16043,0.111,0.206,0.202,0.247,0.233 16045,0.119,0.136,0.111,0.198,0.436 16047,0.211,0.202,0.089,0.153,0.345 16049,0.045,0.094,0.164,0.275,0.423 16051,0.099,0.208,0.192,0.249,0.252 16053,0.175,0.219,0.096,0.167,0.343 16055,0.146,0.105,0.17,0.22,0.359 16057,0.002,0.012,0.066,0.328,0.592 16059,0.109,0.173,0.231,0.125,0.362 16061,0.027,0.073,0.157,0.285,0.459 16063,0.18,0.2,0.105,0.135,0.379 16065,0.101,0.207,0.196,0.25,0.245 16067,0.134,0.219,0.106,0.152,0.39 16069,0.009,0.03,0.117,0.326,0.517 16071,0.083,0.173,0.153,0.185,0.406 16073,0.123,0.137,0.146,0.171,0.423 16075,0.081,0.199,0.174,0.242,0.304 16077,0.078,0.205,0.152,0.185,0.381 16079,0.068,0.144,0.299,0.147,0.342 16081,0.099,0.189,0.19,0.25,0.272 16083,0.166,0.222,0.101,0.177,0.335 16085,0.041,0.118,0.102,0.378,0.361 16087,0.136,0.13,0.324,0.172,0.239 17001,0.18,0.092,0.189,0.19,0.35 17003,0.11,0.082,0.148,0.262,0.398 17005,0.07,0.055,0.108,0.218,0.549 17007,0.025,0.006,0.065,0.244,0.66 17009,0.18,0.099,0.136,0.2,0.385 17011,0.012,0.019,0.156,0.208,0.605 17013,0.082,0.06,0.219,0.366,0.273 17015,0.03,0.064,0.12,0.19,0.596 17017,0.103,0.08,0.19,0.187,0.441 17019,0,0.067,0.08,0.192,0.661 17021,0.059,0.057,0.091,0.19,0.603 17023,0.127,0.089,0.107,0.226,0.451 17025,0.062,0.115,0.145,0.306,0.372 17027,0.102,0.063,0.083,0.166,0.587 17029,0.112,0.055,0.201,0.221,0.411 17031,0.023,0.021,0.072,0.162,0.722 17033,0.146,0.196,0.047,0.219,0.392 17035,0.095,0.075,0.194,0.212,0.424 17037,0.007,0.012,0.034,0.191,0.756 17039,0.035,0.106,0.073,0.28,0.507 17041,0.048,0.061,0.105,0.191,0.594 17043,0.01,0.01,0.056,0.163,0.76 17045,0.174,0.09,0.131,0.208,0.398 17047,0.086,0.148,0.233,0.306,0.228 17049,0.072,0.072,0.214,0.232,0.41 17051,0.069,0.076,0.156,0.229,0.47 17053,0.011,0.082,0.167,0.172,0.567 17055,0.099,0.166,0.119,0.211,0.405 17057,0.016,0.03,0.311,0.199,0.444 17059,0.201,0.06,0.128,0.238,0.373 17061,0.136,0.029,0.109,0.217,0.508 17063,0.056,0.056,0.105,0.183,0.599 17065,0.138,0.179,0.1,0.21,0.373 17067,0.147,0.154,0.125,0.163,0.411 17069,0.163,0.072,0.235,0.191,0.34 17071,0.096,0.044,0.101,0.155,0.604 17073,0.067,0.072,0.061,0.203,0.597 17075,0.097,0.168,0.069,0.242,0.424 17077,0.066,0.078,0.151,0.209,0.496 17079,0.099,0.135,0.131,0.254,0.38 17081,0.122,0.126,0.08,0.279,0.393 17083,0.074,0.079,0.124,0.185,0.537 17085,0.034,0.104,0.22,0.178,0.465 17087,0.124,0.05,0.189,0.141,0.496 17089,0.013,0.026,0.048,0.165,0.748 17091,0.044,0.084,0.096,0.249,0.527 17093,0.001,0.009,0.065,0.136,0.788 17095,0.035,0.031,0.194,0.246,0.494 17097,0.02,0.018,0.046,0.146,0.769 17099,0.018,0.046,0.113,0.267,0.556 17101,0.197,0.157,0.105,0.281,0.26 17103,0.013,0.054,0.058,0.224,0.65 17105,0.03,0.147,0.08,0.234,0.51 17107,0.046,0.045,0.23,0.128,0.551 17109,0.041,0.091,0.097,0.182,0.59 17111,0.03,0.012,0.066,0.176,0.716 17113,0.085,0.062,0.091,0.201,0.561 17115,0.016,0.062,0.088,0.286,0.549 17117,0.015,0.05,0.147,0.227,0.561 17119,0.035,0.045,0.083,0.189,0.648 17121,0.1,0.093,0.101,0.302,0.404 17123,0.048,0.083,0.133,0.198,0.538 17125,0.238,0.031,0.292,0.126,0.313 17127,0.097,0.043,0.232,0.256,0.373 17129,0.102,0.047,0.138,0.172,0.54 17131,0.039,0.066,0.11,0.215,0.571 17133,0.003,0.04,0.112,0.174,0.67 17135,0.018,0.05,0.091,0.316,0.525 17137,0.05,0.062,0.177,0.178,0.533 17139,0.081,0.073,0.213,0.243,0.39 17141,0.053,0.045,0.129,0.184,0.589 17143,0.039,0.036,0.096,0.251,0.577 17145,0.055,0.092,0.104,0.358,0.392 17147,0.003,0.052,0.06,0.198,0.688 17149,0.138,0.079,0.218,0.205,0.36 17151,0.104,0.054,0.213,0.214,0.415 17153,0.117,0.064,0.189,0.225,0.405 17155,0.021,0.025,0.168,0.251,0.535 17157,0.008,0.032,0.117,0.391,0.452 17159,0.111,0.151,0.107,0.3,0.331 17161,0.078,0.025,0.066,0.235,0.596 17163,0.032,0.027,0.037,0.138,0.767 17165,0.117,0.106,0.111,0.204,0.462 17167,0.017,0.03,0.155,0.233,0.564 17169,0.132,0.1,0.152,0.198,0.417 17171,0.113,0.057,0.148,0.162,0.52 17173,0.07,0.047,0.168,0.245,0.469 17175,0.013,0.101,0.058,0.155,0.672 17177,0.036,0.059,0.041,0.222,0.644 17179,0.044,0.04,0.141,0.215,0.56 17181,0.1,0.078,0.162,0.195,0.466 17183,0.023,0.119,0.088,0.266,0.504 17185,0.078,0.113,0.271,0.325,0.212 17187,0.042,0.02,0.141,0.276,0.522 17189,0.118,0.046,0.053,0.327,0.456 17191,0.086,0.142,0.128,0.3,0.345 17193,0.19,0.144,0.095,0.239,0.332 17195,0.025,0.066,0.042,0.218,0.649 17197,0.041,0.024,0.062,0.134,0.739 17199,0.095,0.122,0.136,0.183,0.464 17201,0.031,0.03,0.089,0.193,0.657 17203,0.062,0.067,0.112,0.242,0.517 18001,0.136,0.047,0.16,0.348,0.309 18003,0.07,0.14,0.099,0.228,0.464 18005,0.138,0.084,0.085,0.286,0.406 18007,0.082,0.126,0.112,0.183,0.496 18009,0.093,0.152,0.106,0.203,0.447 18011,0.052,0.085,0.142,0.308,0.413 18013,0.055,0.061,0.041,0.184,0.66 18015,0.059,0.104,0.17,0.22,0.447 18017,0.037,0.192,0.283,0.206,0.283 18019,0.068,0.06,0.141,0.228,0.501 18021,0.122,0.073,0.112,0.226,0.466 18023,0.088,0.033,0.132,0.285,0.462 18025,0.067,0.089,0.118,0.261,0.465 18027,0.049,0.061,0.13,0.214,0.546 18029,0.083,0.1,0.168,0.277,0.371 18031,0.175,0.083,0.101,0.204,0.437 18033,0.109,0.074,0.118,0.149,0.55 18035,0.095,0.109,0.124,0.197,0.475 18037,0.01,0.105,0.086,0.25,0.55 18039,0.03,0.097,0.094,0.252,0.528 18041,0.161,0.041,0.048,0.237,0.514 18043,0.053,0.086,0.154,0.233,0.474 18045,0.077,0.089,0.147,0.212,0.474 18047,0.07,0.082,0.104,0.199,0.545 18049,0.142,0.114,0.128,0.217,0.399 18051,0.09,0.1,0.204,0.255,0.351 18053,0.053,0.108,0.133,0.311,0.393 18055,0.099,0.027,0.081,0.235,0.558 18057,0.07,0.051,0.049,0.234,0.596 18059,0.068,0.04,0.166,0.306,0.42 18061,0.094,0.084,0.205,0.258,0.359 18063,0.054,0.052,0.113,0.257,0.523 18065,0.183,0.148,0.125,0.111,0.434 18067,0.008,0.083,0.183,0.301,0.426 18069,0.15,0.182,0.053,0.199,0.416 18071,0.097,0.098,0.105,0.388,0.312 18073,0.186,0.1,0.065,0.328,0.321 18075,0.141,0.139,0.157,0.235,0.328 18077,0.083,0.219,0.218,0.225,0.255 18079,0.095,0.105,0.172,0.308,0.319 18081,0.057,0.094,0.1,0.192,0.557 18083,0.158,0.125,0.121,0.259,0.338 18085,0.073,0.147,0.089,0.195,0.496 18087,0.059,0.082,0.171,0.236,0.452 18089,0.043,0.057,0.088,0.219,0.592 18091,0.084,0.075,0.168,0.206,0.466 18093,0.092,0.117,0.109,0.191,0.491 18095,0.062,0.084,0.15,0.145,0.559 18097,0.051,0.053,0.116,0.232,0.548 18099,0.12,0.103,0.159,0.229,0.389 18101,0.041,0.064,0.123,0.223,0.55 18103,0.054,0.125,0.253,0.226,0.343 18105,0.037,0.037,0.094,0.242,0.591 18107,0.07,0.116,0.168,0.156,0.49 18109,0.06,0.131,0.136,0.188,0.485 18111,0.102,0.153,0.092,0.338,0.316 18113,0.057,0.11,0.135,0.197,0.5 18115,0.06,0.078,0.18,0.223,0.459 18117,0.096,0.086,0.073,0.315,0.43 18119,0.094,0.038,0.087,0.282,0.5 18121,0.116,0.111,0.174,0.195,0.405 18123,0.01,0.109,0.087,0.252,0.542 18125,0.052,0.089,0.163,0.2,0.495 18127,0.05,0.1,0.108,0.231,0.512 18129,0.132,0.056,0.115,0.226,0.472 18131,0.135,0.219,0.171,0.253,0.223 18133,0.075,0.162,0.204,0.194,0.366 18135,0.128,0.13,0.228,0.179,0.336 18137,0.054,0.074,0.15,0.294,0.429 18139,0.133,0.118,0.063,0.279,0.408 18141,0.031,0.04,0.102,0.228,0.598 18143,0.036,0.073,0.168,0.263,0.46 18145,0.16,0.057,0.177,0.193,0.413 18147,0.017,0.134,0.104,0.216,0.529 18149,0.177,0.151,0.088,0.219,0.365 18151,0.04,0.089,0.17,0.169,0.532 18153,0.127,0.071,0.077,0.207,0.517 18155,0.089,0.125,0.209,0.234,0.344 18157,0.093,0.083,0.102,0.204,0.518 18159,0.033,0.082,0.089,0.444,0.352 18161,0.095,0.053,0.106,0.178,0.569 18163,0.07,0.039,0.115,0.234,0.542 18165,0.113,0.105,0.134,0.223,0.426 18167,0.118,0.064,0.102,0.25,0.466 18169,0.07,0.11,0.237,0.202,0.381 18171,0.079,0.115,0.092,0.223,0.492 18173,0.045,0.038,0.117,0.252,0.548 18175,0.097,0.074,0.062,0.356,0.411 18177,0.162,0.09,0.138,0.261,0.348 18179,0.205,0.05,0.077,0.337,0.332 18181,0.056,0.177,0.194,0.189,0.384 18183,0.061,0.186,0.132,0.16,0.46 19001,0.073,0.128,0.128,0.307,0.364 19003,0.148,0.11,0.15,0.311,0.281 19005,0.138,0.049,0.132,0.212,0.469 19007,0.044,0.11,0.239,0.193,0.413 19009,0.224,0.073,0.194,0.187,0.322 19011,0.098,0.067,0.13,0.2,0.504 19013,0.032,0.053,0.18,0.289,0.447 19015,0.09,0.08,0.1,0.197,0.533 19017,0.048,0.062,0.197,0.268,0.424 19019,0.021,0.124,0.087,0.394,0.373 19021,0.183,0.062,0.26,0.207,0.288 19023,0.052,0.094,0.208,0.23,0.417 19025,0.212,0.117,0.213,0.153,0.304 19027,0.153,0.11,0.241,0.139,0.358 19029,0.341,0.07,0.124,0.238,0.227 19031,0.026,0.096,0.142,0.355,0.381 19033,0.061,0.365,0.146,0.213,0.215 19035,0.183,0.105,0.221,0.182,0.309 19037,0.075,0.136,0.197,0.236,0.356 19039,0.078,0.167,0.143,0.194,0.418 19041,0.224,0.035,0.112,0.189,0.441 19043,0.123,0.084,0.137,0.284,0.371 19045,0.092,0.13,0.079,0.269,0.43 19047,0.089,0.045,0.141,0.064,0.66 19049,0.036,0.102,0.118,0.26,0.485 19051,0.038,0.101,0.249,0.201,0.411 19053,0.248,0.132,0.258,0.068,0.294 19055,0.035,0.137,0.137,0.408,0.283 19057,0.135,0.081,0.109,0.122,0.553 19059,0.276,0.027,0.091,0.173,0.433 19061,0.037,0.155,0.189,0.189,0.43 19063,0.241,0.083,0.067,0.181,0.428 19065,0.054,0.075,0.128,0.349,0.394 19067,0.063,0.271,0.148,0.25,0.268 19069,0.088,0.278,0.187,0.186,0.261 19071,0.048,0.061,0.071,0.209,0.611 19073,0.116,0.141,0.235,0.153,0.354 19075,0.038,0.042,0.203,0.238,0.48 19077,0.162,0.073,0.143,0.283,0.34 19079,0.143,0.118,0.129,0.153,0.457 19081,0.08,0.384,0.146,0.174,0.216 19083,0.074,0.075,0.195,0.214,0.441 19085,0.118,0.044,0.094,0.178,0.565 19087,0.123,0.142,0.091,0.183,0.461 19089,0.077,0.151,0.176,0.183,0.413 19091,0.243,0.268,0.147,0.102,0.24 19093,0.153,0.094,0.246,0.128,0.38 19095,0.027,0.149,0.135,0.239,0.45 19097,0.032,0.096,0.229,0.232,0.411 19099,0.102,0.105,0.233,0.212,0.347 19101,0.074,0.116,0.221,0.191,0.398 19103,0.014,0.044,0.069,0.2,0.673 19105,0.04,0.105,0.165,0.336,0.355 19107,0.035,0.126,0.287,0.28,0.272 19109,0.135,0.318,0.101,0.173,0.272 19111,0.17,0.146,0.131,0.161,0.392 19113,0.039,0.081,0.115,0.201,0.563 19115,0.097,0.058,0.15,0.214,0.482 19117,0.032,0.204,0.196,0.185,0.384 19119,0.078,0.173,0.157,0.247,0.344 19121,0.01,0.102,0.136,0.268,0.484 19123,0.069,0.067,0.294,0.283,0.287 19125,0.053,0.049,0.209,0.26,0.429 19127,0.077,0.064,0.153,0.226,0.48 19129,0.064,0.084,0.091,0.281,0.481 19131,0.046,0.282,0.149,0.26,0.263 19133,0.078,0.069,0.087,0.127,0.64 19135,0.034,0.078,0.256,0.247,0.385 19137,0.218,0.034,0.084,0.378,0.286 19139,0.12,0.022,0.221,0.273,0.364 19141,0.173,0.054,0.267,0.187,0.319 19143,0.195,0.051,0.233,0.199,0.322 19145,0.088,0.053,0.068,0.31,0.481 19147,0.199,0.116,0.088,0.179,0.419 19149,0.125,0.145,0.166,0.162,0.402 19151,0.214,0.124,0.162,0.165,0.335 19153,0.044,0.089,0.136,0.259,0.473 19155,0.115,0.083,0.147,0.264,0.39 19157,0.121,0.145,0.187,0.164,0.383 19159,0.144,0.138,0.281,0.162,0.275 19161,0.18,0.071,0.286,0.159,0.303 19163,0.075,0.027,0.126,0.277,0.494 19165,0.099,0.059,0.182,0.145,0.516 19167,0.12,0.06,0.285,0.2,0.335 19169,0.045,0.075,0.071,0.235,0.574 19171,0.066,0.053,0.209,0.181,0.491 19173,0.09,0.151,0.185,0.282,0.292 19175,0.03,0.125,0.172,0.21,0.462 19177,0.107,0.128,0.175,0.218,0.372 19179,0.034,0.082,0.293,0.221,0.37 19181,0.055,0.182,0.181,0.245,0.337 19183,0.035,0.102,0.123,0.151,0.589 19185,0.138,0.148,0.252,0.12,0.342 19187,0.209,0.167,0.161,0.101,0.362 19189,0.07,0.329,0.176,0.197,0.228 19191,0.122,0.044,0.151,0.177,0.505 19193,0.113,0.165,0.137,0.16,0.425 19195,0.072,0.271,0.175,0.231,0.251 19197,0.172,0.299,0.173,0.125,0.232 20001,0.153,0.212,0.126,0.167,0.341 20003,0.189,0.063,0.137,0.267,0.344 20005,0.137,0.122,0.169,0.256,0.316 20007,0.069,0.147,0.118,0.329,0.336 20009,0.107,0.131,0.12,0.211,0.43 20011,0.167,0.146,0.077,0.12,0.49 20013,0.089,0.149,0.183,0.197,0.382 20015,0.053,0.133,0.122,0.222,0.47 20017,0.151,0.082,0.212,0.225,0.331 20019,0.128,0.137,0.185,0.214,0.337 20021,0.131,0.121,0.164,0.174,0.41 20023,0.065,0.27,0.174,0.235,0.256 20025,0.163,0.13,0.126,0.232,0.348 20027,0.081,0.069,0.115,0.229,0.507 20029,0.154,0.077,0.118,0.217,0.434 20031,0.085,0.119,0.165,0.404,0.227 20033,0.112,0.144,0.128,0.271,0.346 20035,0.075,0.093,0.28,0.131,0.421 20037,0.108,0.143,0.118,0.139,0.492 20039,0.163,0.118,0.211,0.235,0.273 20041,0.106,0.118,0.148,0.243,0.385 20043,0.137,0.193,0.184,0.214,0.272 20045,0.006,0.009,0.024,0.227,0.734 20047,0.052,0.086,0.135,0.221,0.506 20049,0.061,0.05,0.295,0.282,0.312 20051,0.154,0.154,0.224,0.148,0.32 20053,0.174,0.133,0.133,0.187,0.373 20055,0.166,0.089,0.163,0.239,0.343 20057,0.143,0.084,0.143,0.232,0.399 20059,0.063,0.06,0.159,0.354,0.364 20061,0.05,0.068,0.113,0.27,0.499 20063,0.24,0.089,0.234,0.151,0.287 20065,0.218,0.156,0.247,0.129,0.25 20067,0.14,0.108,0.15,0.231,0.37 20069,0.158,0.092,0.146,0.24,0.364 20071,0.135,0.131,0.181,0.229,0.323 20073,0.034,0.079,0.256,0.302,0.33 20075,0.131,0.095,0.189,0.217,0.368 20077,0.079,0.118,0.21,0.193,0.4 20079,0.075,0.058,0.121,0.323,0.423 20081,0.153,0.107,0.137,0.239,0.364 20083,0.126,0.075,0.163,0.225,0.412 20085,0.01,0.116,0.161,0.136,0.577 20087,0.026,0.069,0.09,0.182,0.634 20089,0.171,0.142,0.087,0.259,0.34 20091,0.029,0.019,0.075,0.224,0.654 20093,0.155,0.098,0.172,0.229,0.346 20095,0.081,0.212,0.114,0.128,0.464 20097,0.062,0.107,0.128,0.233,0.469 20099,0.168,0.123,0.091,0.147,0.471 20101,0.197,0.075,0.197,0.204,0.326 20103,0.087,0.135,0.092,0.142,0.544 20105,0.171,0.132,0.16,0.163,0.375 20107,0.14,0.053,0.121,0.285,0.4 20109,0.206,0.131,0.194,0.189,0.28 20111,0.113,0.111,0.133,0.3,0.344 20113,0.12,0.065,0.106,0.313,0.396 20115,0.101,0.068,0.209,0.279,0.343 20117,0.048,0.049,0.233,0.263,0.407 20119,0.164,0.123,0.115,0.235,0.362 20121,0.071,0.044,0.095,0.25,0.54 20123,0.173,0.116,0.144,0.18,0.388 20125,0.164,0.132,0.102,0.195,0.407 20127,0.11,0.094,0.148,0.244,0.404 20129,0.12,0.113,0.144,0.218,0.405 20131,0.035,0.094,0.203,0.236,0.432 20133,0.133,0.204,0.12,0.127,0.416 20135,0.15,0.083,0.199,0.198,0.371 20137,0.161,0.163,0.177,0.225,0.275 20139,0.018,0.09,0.088,0.24,0.564 20141,0.174,0.233,0.163,0.136,0.293 20143,0.131,0.117,0.164,0.191,0.396 20145,0.053,0.096,0.137,0.217,0.497 20147,0.15,0.244,0.126,0.19,0.29 20149,0.012,0.057,0.145,0.236,0.55 20151,0.02,0.183,0.101,0.309,0.387 20153,0.128,0.174,0.209,0.22,0.268 20155,0.135,0.077,0.143,0.191,0.454 20157,0.183,0.073,0.076,0.295,0.373 20159,0.153,0.086,0.11,0.241,0.41 20161,0.03,0.05,0.124,0.261,0.535 20163,0.179,0.22,0.218,0.123,0.26 20165,0.11,0.122,0.182,0.183,0.403 20167,0.16,0.174,0.174,0.157,0.335 20169,0.126,0.133,0.175,0.209,0.357 20171,0.197,0.09,0.19,0.21,0.313 20173,0.06,0.055,0.126,0.26,0.499 20175,0.138,0.14,0.092,0.226,0.403 20177,0.009,0.078,0.095,0.184,0.633 20179,0.231,0.112,0.236,0.154,0.267 20181,0.1,0.27,0.159,0.24,0.231 20183,0.142,0.257,0.088,0.195,0.319 20185,0.041,0.125,0.109,0.252,0.472 20187,0.127,0.098,0.172,0.216,0.388 20189,0.122,0.132,0.112,0.225,0.408 20191,0.104,0.039,0.115,0.298,0.444 20193,0.188,0.157,0.208,0.184,0.263 20195,0.203,0.115,0.256,0.137,0.291 20197,0.011,0.077,0.12,0.201,0.591 20199,0.128,0.21,0.154,0.246,0.262 20201,0.148,0.075,0.111,0.234,0.432 20203,0.173,0.112,0.184,0.219,0.313 20205,0.125,0.148,0.145,0.184,0.398 20207,0.092,0.175,0.171,0.247,0.314 20209,0.025,0.056,0.076,0.178,0.665 21001,0.076,0.115,0.167,0.243,0.399 21003,0.101,0.072,0.097,0.211,0.519 21005,0.062,0.01,0.044,0.483,0.401 21007,0.107,0.033,0.198,0.257,0.404 21009,0.053,0.093,0.09,0.176,0.588 21011,0.076,0.058,0.084,0.339,0.443 21013,0.146,0.094,0.12,0.199,0.44 21015,0.08,0.087,0.081,0.232,0.52 21017,0.024,0.037,0.042,0.129,0.769 21019,0.084,0.125,0.202,0.235,0.354 21021,0.092,0.037,0.112,0.161,0.598 21023,0.056,0.249,0.065,0.238,0.392 21025,0.114,0.081,0.126,0.241,0.438 21027,0.023,0.146,0.177,0.138,0.517 21029,0.037,0.091,0.156,0.181,0.535 21031,0.066,0.097,0.133,0.17,0.535 21033,0.059,0.067,0.26,0.177,0.438 21035,0.066,0.084,0.248,0.17,0.432 21037,0.073,0.085,0.134,0.278,0.43 21039,0.104,0.045,0.188,0.236,0.428 21041,0.155,0.171,0.12,0.208,0.346 21043,0.069,0.102,0.122,0.324,0.383 21045,0.164,0.076,0.161,0.154,0.444 21047,0.06,0.118,0.178,0.279,0.365 21049,0.083,0.093,0.11,0.233,0.48 21051,0.153,0.082,0.165,0.16,0.44 21053,0.096,0.115,0.248,0.165,0.375 21055,0.121,0.117,0.29,0.153,0.319 21057,0.067,0.106,0.224,0.229,0.374 21059,0.055,0.057,0.122,0.236,0.531 21061,0.055,0.057,0.086,0.179,0.624 21063,0.117,0.1,0.051,0.289,0.443 21065,0.082,0.151,0.09,0.275,0.402 21067,0.031,0.051,0.066,0.202,0.65 21069,0.068,0.069,0.075,0.287,0.502 21071,0.131,0.066,0.129,0.134,0.54 21073,0.088,0.036,0.142,0.214,0.521 21075,0.1,0.102,0.202,0.217,0.38 21077,0.076,0.048,0.198,0.211,0.466 21079,0.077,0.043,0.063,0.276,0.54 21081,0.047,0.056,0.183,0.106,0.608 21083,0.103,0.069,0.266,0.222,0.34 21085,0.043,0.042,0.134,0.154,0.627 21087,0.063,0.076,0.127,0.247,0.488 21089,0.092,0.101,0.236,0.228,0.342 21091,0.019,0.08,0.121,0.235,0.546 21093,0.057,0.062,0.106,0.217,0.558 21095,0.076,0.093,0.098,0.126,0.606 21097,0.073,0.044,0.031,0.047,0.804 21099,0.053,0.034,0.118,0.185,0.61 21101,0.072,0.061,0.136,0.229,0.501 21103,0.093,0.082,0.174,0.254,0.398 21105,0.097,0.065,0.221,0.202,0.415 21107,0.04,0.067,0.174,0.217,0.502 21109,0.183,0.068,0.092,0.235,0.421 21111,0.036,0.048,0.083,0.23,0.602 21113,0.022,0.036,0.104,0.21,0.628 21115,0.102,0.053,0.106,0.127,0.612 21117,0.052,0.056,0.146,0.245,0.5 21119,0.157,0.073,0.13,0.142,0.497 21121,0.187,0.073,0.103,0.165,0.471 21123,0.074,0.053,0.09,0.213,0.57 21125,0.201,0.047,0.083,0.152,0.517 21127,0.155,0.091,0.151,0.125,0.479 21129,0.129,0.069,0.129,0.273,0.399 21131,0.094,0.103,0.142,0.174,0.487 21133,0.078,0.05,0.127,0.122,0.624 21135,0.057,0.081,0.21,0.296,0.357 21137,0.172,0.054,0.093,0.172,0.509 21139,0.08,0.1,0.29,0.191,0.339 21141,0.099,0.1,0.08,0.198,0.523 21143,0.052,0.11,0.316,0.138,0.384 21145,0.085,0.058,0.232,0.255,0.37 21147,0.096,0.116,0.143,0.203,0.441 21149,0.081,0.105,0.107,0.249,0.459 21151,0.088,0.094,0.114,0.233,0.471 21153,0.107,0.078,0.111,0.164,0.54 21155,0.046,0.082,0.074,0.144,0.654 21157,0.061,0.083,0.28,0.18,0.395 21159,0.108,0.055,0.096,0.104,0.637 21161,0.056,0.119,0.061,0.284,0.479 21163,0.018,0.154,0.115,0.154,0.559 21165,0.161,0.088,0.067,0.215,0.468 21167,0.047,0.012,0.178,0.195,0.567 21169,0.048,0.109,0.134,0.222,0.487 21171,0.082,0.134,0.185,0.15,0.448 21173,0.03,0.041,0.085,0.392,0.452 21175,0.133,0.116,0.071,0.182,0.498 21177,0.035,0.154,0.123,0.2,0.488 21179,0.033,0.106,0.068,0.244,0.548 21181,0.023,0.025,0.09,0.271,0.591 21183,0.064,0.145,0.109,0.19,0.492 21185,0.025,0.039,0.098,0.278,0.56 21187,0.091,0.039,0.114,0.198,0.558 21189,0.121,0.058,0.157,0.282,0.382 21191,0.035,0.121,0.103,0.129,0.613 21193,0.123,0.093,0.111,0.171,0.502 21195,0.096,0.088,0.123,0.148,0.545 21197,0.112,0.099,0.102,0.232,0.455 21199,0.13,0.123,0.096,0.164,0.487 21201,0.048,0.123,0.039,0.204,0.586 21203,0.215,0.079,0.075,0.157,0.474 21205,0.159,0.097,0.047,0.231,0.467 21207,0.096,0.138,0.195,0.206,0.365 21209,0.04,0.044,0.076,0.081,0.759 21211,0.092,0.107,0.054,0.261,0.487 21213,0.137,0.066,0.162,0.208,0.426 21215,0.032,0.058,0.047,0.41,0.453 21217,0.073,0.073,0.111,0.21,0.533 21219,0.058,0.147,0.135,0.266,0.394 21221,0.066,0.053,0.131,0.152,0.597 21223,0.134,0.172,0.135,0.217,0.342 21225,0.211,0.079,0.229,0.172,0.309 21227,0.076,0.067,0.063,0.185,0.609 21229,0.035,0.066,0.116,0.221,0.562 21231,0.102,0.151,0.16,0.169,0.417 21233,0.088,0.084,0.167,0.21,0.451 21235,0.176,0.062,0.113,0.174,0.476 21237,0.14,0.095,0.114,0.203,0.448 21239,0.042,0.017,0.049,0.193,0.698 22001,0.122,0.111,0.138,0.265,0.362 22003,0.196,0.07,0.118,0.2,0.416 22005,0.049,0.092,0.142,0.148,0.569 22007,0.079,0.034,0.213,0.206,0.468 22009,0.13,0.092,0.073,0.246,0.459 22011,0.086,0.069,0.169,0.191,0.486 22013,0.078,0.052,0.17,0.291,0.409 22015,0.068,0.096,0.144,0.225,0.468 22017,0.058,0.079,0.158,0.209,0.497 22019,0.102,0.139,0.077,0.212,0.471 22021,0.102,0.061,0.098,0.241,0.498 22023,0.089,0.127,0.079,0.201,0.505 22025,0.11,0.056,0.086,0.147,0.6 22027,0.146,0.068,0.04,0.273,0.473 22029,0.11,0.104,0.112,0.095,0.579 22031,0.035,0.075,0.132,0.162,0.596 22033,0.052,0.031,0.09,0.183,0.642 22035,0.022,0.046,0.121,0.137,0.674 22037,0.067,0.053,0.095,0.366,0.42 22039,0.215,0.077,0.111,0.211,0.387 22041,0.123,0.054,0.102,0.156,0.565 22043,0.086,0.041,0.109,0.229,0.535 22045,0.112,0.084,0.085,0.253,0.467 22047,0.061,0.021,0.084,0.19,0.644 22049,0.116,0.083,0.127,0.29,0.383 22051,0.044,0.031,0.066,0.174,0.685 22053,0.249,0.111,0.09,0.196,0.354 22055,0.062,0.083,0.105,0.217,0.533 22057,0.078,0.039,0.159,0.151,0.573 22059,0.082,0.035,0.089,0.223,0.571 22061,0.102,0.08,0.111,0.29,0.417 22063,0.06,0.043,0.144,0.29,0.463 22065,0.034,0.068,0.109,0.172,0.617 22067,0.039,0.105,0.124,0.166,0.566 22069,0.096,0.063,0.113,0.167,0.561 22071,0.019,0.034,0.087,0.206,0.654 22073,0.076,0.098,0.121,0.229,0.476 22075,0.065,0.035,0.165,0.222,0.513 22077,0.044,0.082,0.068,0.198,0.608 22079,0.106,0.046,0.087,0.236,0.524 22081,0.068,0.081,0.135,0.189,0.527 22083,0.066,0.08,0.126,0.194,0.534 22085,0.098,0.08,0.113,0.145,0.564 22087,0.035,0.075,0.136,0.23,0.524 22089,0.093,0.048,0.027,0.165,0.667 22091,0.064,0.126,0.138,0.237,0.434 22093,0.034,0.099,0.202,0.061,0.603 22095,0.096,0.059,0.19,0.079,0.577 22097,0.064,0.105,0.117,0.199,0.515 22099,0.069,0.11,0.096,0.178,0.548 22101,0.066,0.02,0.179,0.28,0.454 22103,0.031,0.073,0.074,0.211,0.611 22105,0.066,0.072,0.103,0.193,0.566 22107,0.081,0.064,0.097,0.134,0.625 22109,0.068,0.052,0.14,0.221,0.519 22111,0.071,0.142,0.106,0.244,0.436 22113,0.076,0.088,0.115,0.271,0.449 22115,0.092,0.066,0.145,0.244,0.453 22117,0.103,0.046,0.148,0.242,0.461 22119,0.134,0.044,0.063,0.265,0.494 22121,0.044,0.04,0.07,0.197,0.649 22123,0.022,0.063,0.124,0.114,0.677 22125,0.072,0.13,0.037,0.265,0.496 22127,0.086,0.106,0.13,0.236,0.443 23001,0.083,0.099,0.041,0.199,0.577 23003,0.143,0.047,0.12,0.243,0.447 23005,0.05,0.053,0.046,0.182,0.669 23007,0.006,0.063,0.191,0.161,0.579 23009,0.034,0.052,0.118,0.202,0.594 23011,0.016,0.074,0.125,0.245,0.54 23013,0.007,0.01,0.111,0.248,0.625 23015,0.031,0.014,0.065,0.204,0.688 23017,0.069,0.065,0.064,0.213,0.589 23019,0.038,0.071,0.085,0.189,0.617 23021,0.062,0.146,0.123,0.189,0.479 23023,0.061,0.026,0.033,0.216,0.664 23025,0.035,0.095,0.142,0.17,0.558 23027,0.023,0.06,0.15,0.182,0.585 23029,0.026,0.032,0.126,0.204,0.612 23031,0.076,0.036,0.061,0.173,0.655 24001,0.007,0.01,0.035,0.213,0.736 24003,0.018,0.022,0.067,0.154,0.739 24005,0.013,0.024,0.043,0.142,0.777 24009,0.049,0.049,0.071,0.11,0.72 24011,0.009,0.019,0.033,0.168,0.77 24013,0.014,0.008,0.062,0.17,0.746 24015,0.009,0.018,0.054,0.182,0.738 24017,0.035,0.034,0.107,0.157,0.667 24019,0.02,0.006,0.011,0.119,0.844 24021,0.028,0.036,0.062,0.113,0.762 24023,0.077,0.008,0.04,0.305,0.571 24025,0.008,0.009,0.037,0.168,0.778 24027,0.024,0.015,0.067,0.17,0.723 24029,0.005,0.014,0.06,0.207,0.714 24031,0.025,0.029,0.041,0.128,0.777 24033,0.087,0.034,0.064,0.094,0.72 24035,0.002,0.042,0.041,0.309,0.605 24037,0.04,0.009,0.036,0.152,0.763 24039,0.004,0.01,0.047,0.128,0.812 24041,0.012,0.012,0.006,0.127,0.843 24043,0.031,0.047,0.085,0.194,0.642 24045,0.006,0.011,0.063,0.116,0.804 24047,0.003,0.004,0.042,0.11,0.842 24510,0.024,0.032,0.063,0.148,0.733 25001,0.019,0.007,0.026,0.109,0.839 25003,0.03,0.004,0.049,0.082,0.834 25005,0.016,0.02,0.056,0.161,0.747 25007,0.006,0.01,0.037,0.16,0.786 25009,0.023,0.01,0.047,0.131,0.788 25011,0.043,0.011,0.028,0.156,0.762 25013,0.013,0.017,0.055,0.13,0.786 25015,0.011,0.006,0.017,0.109,0.857 25017,0.023,0.011,0.041,0.127,0.798 25019,0.015,0.003,0.034,0.156,0.792 25021,0.02,0.015,0.035,0.125,0.805 25023,0.014,0.017,0.045,0.112,0.812 25025,0.02,0.007,0.049,0.136,0.788 25027,0.02,0.027,0.043,0.142,0.768 26001,0.065,0.046,0.133,0.18,0.576 26003,0.025,0.034,0.118,0.229,0.595 26005,0.05,0.035,0.133,0.283,0.5 26007,0.025,0.04,0.144,0.18,0.612 26009,0.027,0.042,0.088,0.218,0.625 26011,0.052,0.136,0.076,0.252,0.484 26013,0.012,0.063,0.109,0.257,0.558 26015,0.043,0.121,0.121,0.211,0.504 26017,0.014,0.055,0.103,0.202,0.627 26019,0.01,0.049,0.062,0.164,0.715 26021,0.039,0.037,0.122,0.247,0.555 26023,0.072,0.091,0.205,0.234,0.399 26025,0.063,0.121,0.078,0.178,0.559 26027,0.046,0.076,0.123,0.274,0.48 26029,0.027,0.057,0.085,0.205,0.626 26031,0.027,0.052,0.086,0.252,0.584 26033,0.03,0.022,0.068,0.287,0.593 26035,0.05,0.026,0.102,0.308,0.514 26037,0.033,0.056,0.046,0.263,0.603 26039,0.043,0.05,0.061,0.181,0.666 26041,0.058,0.023,0.17,0.217,0.532 26043,0.043,0.065,0.127,0.249,0.516 26045,0.047,0.039,0.147,0.247,0.52 26047,0.025,0.062,0.075,0.219,0.618 26049,0.032,0.043,0.104,0.288,0.533 26051,0.025,0.024,0.109,0.338,0.503 26053,0.039,0.064,0.139,0.257,0.501 26055,0.004,0.041,0.082,0.2,0.672 26057,0.057,0.074,0.105,0.169,0.596 26059,0.135,0.075,0.119,0.247,0.424 26061,0.008,0.078,0.129,0.281,0.505 26063,0.08,0.072,0.032,0.271,0.544 26065,0.062,0.03,0.076,0.237,0.595 26067,0.035,0.203,0.139,0.229,0.394 26069,0.1,0.084,0.099,0.206,0.511 26071,0.046,0.068,0.126,0.227,0.533 26073,0.096,0.057,0.112,0.191,0.544 26075,0.11,0.08,0.133,0.166,0.511 26077,0.02,0.059,0.062,0.167,0.693 26079,0.018,0.037,0.07,0.228,0.646 26081,0.019,0.061,0.063,0.215,0.641 26083,0.006,0.071,0.129,0.277,0.518 26085,0.052,0.122,0.073,0.204,0.548 26087,0.036,0.105,0.104,0.133,0.622 26089,0.003,0.038,0.092,0.203,0.663 26091,0.018,0.027,0.083,0.26,0.612 26093,0.042,0.021,0.052,0.198,0.687 26095,0.028,0.03,0.088,0.237,0.617 26097,0.032,0.04,0.073,0.256,0.599 26099,0.034,0.043,0.09,0.145,0.688 26101,0.035,0.05,0.087,0.121,0.707 26103,0.016,0.045,0.11,0.251,0.578 26105,0.046,0.054,0.199,0.14,0.561 26107,0.091,0.104,0.087,0.243,0.475 26109,0.059,0.073,0.068,0.253,0.547 26111,0.031,0.03,0.098,0.214,0.626 26113,0.025,0.036,0.082,0.191,0.666 26115,0.066,0.035,0.054,0.183,0.663 26117,0.028,0.137,0.167,0.21,0.458 26119,0.044,0.071,0.126,0.186,0.574 26121,0.084,0.045,0.1,0.16,0.611 26123,0.099,0.121,0.027,0.3,0.454 26125,0.028,0.027,0.049,0.169,0.727 26127,0.074,0.033,0.114,0.163,0.616 26129,0.061,0.117,0.106,0.259,0.458 26131,0.025,0.086,0.123,0.265,0.501 26133,0.07,0.073,0.089,0.238,0.531 26135,0.057,0.073,0.096,0.181,0.593 26137,0.06,0.068,0.097,0.172,0.602 26139,0.042,0.057,0.12,0.251,0.531 26141,0.02,0.04,0.143,0.223,0.575 26143,0.012,0.037,0.097,0.217,0.637 26145,0.031,0.073,0.082,0.197,0.616 26147,0.051,0.069,0.046,0.194,0.64 26149,0.048,0.079,0.197,0.189,0.488 26151,0.078,0.112,0.077,0.21,0.522 26153,0.041,0.021,0.14,0.187,0.611 26155,0.116,0.046,0.065,0.297,0.475 26157,0.091,0.05,0.078,0.246,0.536 26159,0.025,0.068,0.137,0.183,0.587 26161,0.019,0.022,0.046,0.18,0.733 26163,0.046,0.032,0.075,0.156,0.69 26165,0.036,0.056,0.077,0.171,0.659 27001,0.187,0.115,0.075,0.247,0.375 27003,0.054,0.078,0.132,0.245,0.492 27005,0.052,0.28,0.175,0.24,0.252 27007,0.094,0.155,0.225,0.185,0.34 27009,0.084,0.139,0.209,0.147,0.42 27011,0.256,0.121,0.185,0.146,0.292 27013,0.065,0.078,0.146,0.276,0.435 27015,0.101,0.061,0.251,0.265,0.322 27017,0.058,0.054,0.09,0.329,0.469 27019,0.024,0.128,0.183,0.296,0.368 27021,0.105,0.127,0.107,0.235,0.426 27023,0.108,0.106,0.244,0.224,0.318 27025,0.064,0.104,0.165,0.253,0.414 27027,0.092,0.121,0.138,0.23,0.419 27029,0.065,0.21,0.203,0.172,0.351 27031,0.184,0.02,0.038,0.257,0.5 27033,0.216,0.045,0.262,0.215,0.263 27035,0.147,0.112,0.081,0.249,0.411 27037,0.072,0.076,0.129,0.236,0.488 27039,0.035,0.096,0.071,0.325,0.473 27041,0.099,0.178,0.148,0.225,0.35 27043,0.078,0.158,0.163,0.261,0.34 27045,0.026,0.102,0.099,0.29,0.483 27047,0.135,0.085,0.206,0.283,0.291 27049,0.03,0.039,0.138,0.28,0.513 27051,0.11,0.137,0.193,0.165,0.396 27053,0.021,0.044,0.096,0.243,0.596 27055,0.072,0.08,0.086,0.283,0.478 27057,0.078,0.15,0.164,0.227,0.38 27059,0.104,0.099,0.215,0.14,0.442 27061,0.162,0.142,0.151,0.209,0.336 27063,0.325,0.024,0.14,0.171,0.34 27065,0.223,0.148,0.137,0.146,0.346 27067,0.109,0.107,0.182,0.29,0.312 27069,0.068,0.168,0.221,0.251,0.292 27071,0.159,0.183,0.087,0.255,0.316 27073,0.184,0.096,0.248,0.179,0.293 27075,0.087,0.033,0.075,0.341,0.464 27077,0.091,0.171,0.176,0.249,0.313 27079,0.055,0.168,0.147,0.254,0.377 27081,0.11,0.078,0.203,0.292,0.317 27083,0.134,0.075,0.242,0.21,0.339 27085,0.061,0.176,0.193,0.383,0.186 27087,0.07,0.279,0.083,0.185,0.382 27089,0.078,0.152,0.221,0.234,0.315 27091,0.18,0.115,0.134,0.205,0.366 27093,0.072,0.144,0.094,0.323,0.367 27095,0.224,0.122,0.159,0.146,0.349 27097,0.14,0.126,0.121,0.24,0.373 27099,0.071,0.107,0.113,0.262,0.448 27101,0.131,0.071,0.224,0.27,0.303 27103,0.063,0.085,0.164,0.296,0.392 27105,0.244,0.078,0.18,0.215,0.284 27107,0.122,0.154,0.109,0.186,0.428 27109,0.023,0.101,0.057,0.333,0.485 27111,0.078,0.182,0.278,0.17,0.291 27113,0.081,0.197,0.211,0.205,0.306 27115,0.178,0.143,0.074,0.242,0.364 27117,0.088,0.182,0.132,0.281,0.317 27119,0.104,0.208,0.197,0.196,0.295 27121,0.139,0.147,0.103,0.216,0.395 27123,0.044,0.046,0.086,0.259,0.564 27125,0.095,0.241,0.194,0.184,0.286 27127,0.081,0.123,0.248,0.255,0.293 27129,0.05,0.136,0.193,0.374,0.247 27131,0.089,0.038,0.117,0.301,0.454 27133,0.095,0.22,0.11,0.247,0.328 27135,0.077,0.151,0.211,0.234,0.327 27137,0.095,0.052,0.098,0.297,0.457 27139,0.021,0.057,0.12,0.319,0.482 27141,0.064,0.175,0.175,0.239,0.346 27143,0.04,0.175,0.172,0.38,0.233 27145,0.082,0.142,0.187,0.174,0.415 27147,0.074,0.062,0.144,0.354,0.365 27149,0.169,0.126,0.117,0.192,0.397 27151,0.17,0.113,0.152,0.212,0.353 27153,0.097,0.198,0.146,0.196,0.363 27155,0.196,0.139,0.16,0.11,0.395 27157,0.041,0.085,0.129,0.318,0.427 27159,0.061,0.211,0.157,0.203,0.367 27161,0.074,0.048,0.117,0.332,0.429 27163,0.044,0.088,0.103,0.262,0.503 27165,0.149,0.053,0.225,0.221,0.352 27167,0.166,0.148,0.239,0.096,0.352 27169,0.029,0.151,0.057,0.328,0.435 27171,0.083,0.109,0.162,0.259,0.387 27173,0.122,0.096,0.254,0.202,0.326 28001,0.113,0.112,0.131,0.084,0.56 28003,0.069,0.131,0.15,0.222,0.428 28005,0.11,0.092,0.122,0.204,0.473 28007,0.065,0.104,0.092,0.139,0.601 28009,0.018,0.014,0.246,0.233,0.489 28011,0.123,0.046,0.127,0.249,0.456 28013,0.074,0.161,0.092,0.179,0.494 28015,0.08,0.144,0.119,0.12,0.537 28017,0.07,0.134,0.088,0.182,0.525 28019,0.035,0.094,0.064,0.219,0.588 28021,0.038,0.061,0.088,0.214,0.598 28023,0.044,0.021,0.133,0.205,0.597 28025,0.029,0.082,0.098,0.214,0.577 28027,0.038,0.056,0.118,0.33,0.459 28029,0.073,0.084,0.134,0.157,0.552 28031,0.11,0.105,0.085,0.193,0.506 28033,0.055,0.078,0.088,0.236,0.543 28035,0.072,0.042,0.091,0.267,0.527 28037,0.087,0.112,0.154,0.138,0.509 28039,0.037,0.102,0.088,0.346,0.428 28041,0.015,0.112,0.07,0.262,0.541 28043,0.056,0.135,0.133,0.189,0.486 28045,0.063,0.09,0.089,0.254,0.503 28047,0.093,0.071,0.142,0.237,0.457 28049,0.019,0.096,0.115,0.183,0.588 28051,0.062,0.072,0.095,0.099,0.672 28053,0.117,0.071,0.098,0.104,0.61 28055,0.03,0.06,0.137,0.162,0.612 28057,0.116,0.074,0.155,0.191,0.464 28059,0.077,0.092,0.12,0.24,0.472 28061,0.066,0.09,0.144,0.167,0.533 28063,0.076,0.083,0.137,0.15,0.555 28065,0.141,0.132,0.101,0.181,0.445 28067,0.069,0.079,0.118,0.169,0.565 28069,0.032,0.021,0.082,0.177,0.687 28071,0.019,0.059,0.161,0.2,0.56 28073,0.087,0.045,0.08,0.27,0.517 28075,0.036,0.018,0.105,0.197,0.643 28077,0.119,0.133,0.142,0.135,0.471 28079,0.031,0.04,0.139,0.158,0.633 28081,0.094,0.092,0.13,0.18,0.505 28083,0.122,0.093,0.119,0.129,0.537 28085,0.077,0.129,0.136,0.142,0.516 28087,0.018,0.052,0.148,0.193,0.59 28089,0.029,0.043,0.184,0.242,0.502 28091,0.137,0.096,0.103,0.255,0.408 28093,0.013,0.006,0.13,0.301,0.55 28095,0.087,0.064,0.139,0.171,0.539 28097,0.058,0.176,0.109,0.147,0.51 28099,0.017,0.018,0.066,0.171,0.729 28101,0.01,0.025,0.1,0.203,0.662 28103,0.009,0.034,0.112,0.203,0.642 28105,0.015,0.07,0.081,0.242,0.591 28107,0.061,0.158,0.113,0.269,0.399 28109,0.05,0.124,0.088,0.251,0.487 28111,0.057,0.056,0.11,0.273,0.503 28113,0.116,0.092,0.106,0.155,0.531 28115,0.06,0.113,0.114,0.197,0.516 28117,0.103,0.104,0.17,0.234,0.389 28119,0.041,0.101,0.1,0.312,0.446 28121,0.031,0.103,0.127,0.179,0.561 28123,0.026,0.049,0.129,0.252,0.543 28125,0.066,0.068,0.148,0.128,0.59 28127,0.081,0.124,0.149,0.154,0.491 28129,0.106,0.172,0.111,0.194,0.417 28131,0.109,0.064,0.124,0.224,0.479 28133,0.137,0.064,0.118,0.182,0.498 28135,0.061,0.086,0.118,0.274,0.461 28137,0.097,0.052,0.149,0.265,0.437 28139,0.068,0.069,0.217,0.213,0.434 28141,0.072,0.179,0.155,0.225,0.37 28143,0.131,0.036,0.089,0.176,0.568 28145,0.078,0.085,0.148,0.219,0.47 28147,0.158,0.086,0.134,0.213,0.409 28149,0.021,0.079,0.095,0.217,0.586 28151,0.138,0.084,0.164,0.114,0.5 28153,0.037,0.062,0.121,0.194,0.587 28155,0.052,0.145,0.079,0.222,0.502 28157,0.146,0.143,0.075,0.155,0.481 28159,0.029,0.038,0.057,0.199,0.676 28161,0.029,0.108,0.121,0.217,0.523 28163,0.05,0.038,0.145,0.159,0.608 29001,0.067,0.098,0.187,0.253,0.395 29003,0.133,0.197,0.164,0.234,0.272 29005,0.09,0.144,0.097,0.287,0.382 29007,0.11,0.078,0.203,0.281,0.327 29009,0.106,0.06,0.256,0.235,0.343 29011,0.15,0.131,0.134,0.111,0.474 29013,0.138,0.068,0.112,0.237,0.444 29015,0.188,0.122,0.168,0.277,0.245 29017,0.097,0.152,0.132,0.268,0.35 29019,0.073,0.075,0.113,0.224,0.515 29021,0.121,0.183,0.175,0.219,0.302 29023,0.189,0.175,0.16,0.135,0.342 29025,0.109,0.133,0.211,0.18,0.367 29027,0.123,0.12,0.217,0.196,0.344 29029,0.266,0.093,0.147,0.124,0.371 29031,0.08,0.109,0.137,0.285,0.389 29033,0.155,0.13,0.078,0.286,0.351 29035,0.159,0.285,0.151,0.125,0.281 29037,0.027,0.082,0.17,0.185,0.535 29039,0.275,0.056,0.173,0.155,0.341 29041,0.117,0.141,0.084,0.278,0.38 29043,0.13,0.113,0.053,0.253,0.451 29045,0.154,0.138,0.165,0.223,0.32 29047,0.033,0.037,0.076,0.199,0.655 29049,0.066,0.103,0.106,0.209,0.517 29051,0.087,0.185,0.107,0.187,0.434 29053,0.06,0.09,0.127,0.183,0.54 29055,0.167,0.148,0.136,0.159,0.391 29057,0.312,0.044,0.138,0.136,0.369 29059,0.165,0.143,0.167,0.154,0.371 29061,0.124,0.166,0.172,0.247,0.291 29063,0.144,0.133,0.159,0.241,0.323 29065,0.167,0.169,0.175,0.196,0.293 29067,0.285,0.149,0.07,0.167,0.328 29069,0.068,0.085,0.154,0.215,0.478 29071,0.122,0.086,0.1,0.233,0.458 29073,0.086,0.207,0.168,0.135,0.404 29075,0.101,0.166,0.182,0.299,0.251 29077,0.099,0.082,0.128,0.272,0.418 29079,0.195,0.193,0.129,0.247,0.236 29081,0.173,0.128,0.215,0.248,0.236 29083,0.128,0.147,0.117,0.345,0.262 29085,0.182,0.18,0.159,0.164,0.316 29087,0.129,0.223,0.156,0.232,0.26 29089,0.076,0.096,0.107,0.191,0.531 29091,0.301,0.142,0.208,0.107,0.242 29093,0.133,0.091,0.072,0.28,0.423 29095,0.027,0.066,0.088,0.21,0.609 29097,0.138,0.152,0.147,0.176,0.388 29099,0.042,0.117,0.178,0.216,0.447 29101,0.168,0.107,0.026,0.189,0.511 29103,0.082,0.112,0.182,0.271,0.353 29105,0.313,0.121,0.172,0.107,0.287 29107,0.033,0.098,0.052,0.247,0.571 29109,0.241,0.05,0.251,0.222,0.237 29111,0.164,0.109,0.177,0.23,0.32 29113,0.063,0.119,0.236,0.282,0.299 29115,0.126,0.156,0.118,0.274,0.326 29117,0.15,0.228,0.111,0.25,0.26 29119,0.152,0.145,0.089,0.138,0.476 29121,0.118,0.127,0.158,0.258,0.338 29123,0.082,0.124,0.092,0.296,0.406 29125,0.098,0.158,0.121,0.198,0.424 29127,0.178,0.093,0.212,0.185,0.332 29129,0.23,0.13,0.216,0.162,0.261 29131,0.2,0.126,0.137,0.147,0.39 29133,0.129,0.097,0.141,0.221,0.413 29135,0.102,0.268,0.11,0.202,0.318 29137,0.164,0.105,0.182,0.203,0.346 29139,0.062,0.077,0.161,0.307,0.392 29141,0.211,0.118,0.175,0.193,0.304 29143,0.098,0.112,0.149,0.18,0.461 29145,0.156,0.121,0.14,0.211,0.373 29147,0.093,0.193,0.16,0.283,0.272 29149,0.142,0.196,0.293,0.129,0.241 29151,0.067,0.133,0.171,0.16,0.469 29153,0.179,0.128,0.128,0.13,0.435 29155,0.079,0.134,0.175,0.204,0.407 29157,0.032,0.102,0.156,0.302,0.408 29159,0.185,0.111,0.156,0.254,0.294 29161,0.139,0.177,0.119,0.244,0.32 29163,0.082,0.128,0.363,0.263,0.164 29165,0.044,0.04,0.088,0.189,0.638 29167,0.183,0.109,0.103,0.189,0.416 29169,0.208,0.103,0.16,0.175,0.354 29171,0.107,0.111,0.209,0.191,0.382 29173,0.16,0.106,0.248,0.196,0.29 29175,0.163,0.088,0.145,0.194,0.41 29177,0.073,0.124,0.233,0.184,0.386 29179,0.137,0.183,0.085,0.229,0.366 29181,0.126,0.254,0.161,0.15,0.308 29183,0.041,0.05,0.091,0.286,0.532 29185,0.163,0.145,0.182,0.279,0.23 29186,0.025,0.14,0.144,0.311,0.38 29187,0.103,0.12,0.085,0.264,0.428 29189,0.024,0.028,0.069,0.182,0.697 29195,0.083,0.23,0.112,0.186,0.389 29197,0.05,0.101,0.211,0.222,0.416 29199,0.073,0.112,0.209,0.246,0.361 29201,0.125,0.115,0.128,0.247,0.385 29203,0.212,0.25,0.198,0.098,0.243 29205,0.142,0.144,0.16,0.238,0.317 29207,0.137,0.12,0.156,0.176,0.411 29209,0.056,0.093,0.171,0.247,0.434 29211,0.136,0.127,0.174,0.223,0.341 29213,0.053,0.079,0.214,0.155,0.499 29215,0.309,0.171,0.231,0.106,0.183 29217,0.164,0.105,0.11,0.125,0.496 29219,0.11,0.083,0.111,0.25,0.446 29221,0.181,0.092,0.118,0.191,0.418 29223,0.191,0.171,0.13,0.196,0.313 29225,0.297,0.09,0.162,0.137,0.313 29227,0.098,0.17,0.218,0.272,0.241 29229,0.419,0.139,0.187,0.1,0.155 29510,0.039,0.017,0.08,0.137,0.726 30001,0.165,0.127,0.102,0.18,0.425 30003,0.136,0.196,0.147,0.25,0.271 30005,0.287,0.08,0.188,0.252,0.192 30007,0.165,0.098,0.099,0.199,0.439 30009,0.14,0.169,0.163,0.26,0.267 30011,0.123,0.121,0.127,0.212,0.417 30013,0.17,0.143,0.16,0.145,0.382 30015,0.196,0.135,0.171,0.152,0.346 30017,0.085,0.261,0.144,0.28,0.23 30019,0.172,0.244,0.186,0.269,0.129 30021,0.139,0.249,0.176,0.274,0.161 30023,0.141,0.173,0.064,0.133,0.489 30025,0.118,0.199,0.146,0.296,0.24 30027,0.284,0.111,0.157,0.187,0.261 30029,0.076,0.167,0.159,0.224,0.374 30031,0.132,0.093,0.115,0.213,0.448 30033,0.134,0.199,0.18,0.265,0.221 30035,0.084,0.154,0.17,0.196,0.396 30037,0.134,0.181,0.168,0.246,0.271 30039,0.116,0.17,0.109,0.183,0.422 30041,0.27,0.106,0.159,0.192,0.273 30043,0.158,0.111,0.076,0.169,0.487 30045,0.233,0.11,0.17,0.139,0.349 30047,0.087,0.23,0.128,0.206,0.349 30049,0.149,0.107,0.08,0.185,0.479 30051,0.188,0.146,0.167,0.147,0.352 30053,0.118,0.174,0.118,0.188,0.402 30055,0.142,0.274,0.179,0.267,0.139 30057,0.172,0.113,0.105,0.21,0.4 30059,0.188,0.093,0.12,0.203,0.396 30061,0.097,0.278,0.119,0.183,0.323 30063,0.091,0.2,0.128,0.209,0.372 30065,0.128,0.178,0.169,0.257,0.268 30067,0.114,0.099,0.106,0.214,0.467 30069,0.157,0.154,0.174,0.247,0.269 30071,0.229,0.114,0.214,0.296,0.147 30073,0.123,0.175,0.17,0.142,0.39 30075,0.193,0.24,0.106,0.188,0.273 30077,0.118,0.144,0.069,0.14,0.53 30079,0.101,0.27,0.171,0.283,0.176 30081,0.121,0.177,0.114,0.195,0.393 30083,0.176,0.216,0.162,0.255,0.191 30085,0.169,0.246,0.178,0.261,0.146 30087,0.126,0.214,0.143,0.248,0.269 30089,0.15,0.204,0.191,0.172,0.283 30091,0.179,0.203,0.178,0.256,0.185 30093,0.158,0.138,0.059,0.143,0.503 30095,0.126,0.173,0.16,0.255,0.286 30097,0.116,0.157,0.126,0.227,0.374 30099,0.134,0.176,0.147,0.152,0.391 30101,0.138,0.165,0.178,0.135,0.384 30103,0.122,0.188,0.16,0.259,0.27 30105,0.172,0.235,0.187,0.291,0.115 30107,0.214,0.135,0.144,0.189,0.318 30109,0.165,0.219,0.161,0.267,0.187 30111,0.129,0.177,0.167,0.262,0.265 31001,0.057,0.128,0.089,0.291,0.435 31003,0.198,0.096,0.191,0.161,0.354 31005,0.144,0.135,0.117,0.248,0.356 31007,0.249,0.128,0.134,0.216,0.272 31009,0.176,0.103,0.123,0.305,0.293 31011,0.156,0.08,0.151,0.197,0.415 31013,0.303,0.112,0.096,0.285,0.203 31015,0.081,0.159,0.267,0.184,0.309 31017,0.141,0.082,0.167,0.275,0.335 31019,0.065,0.113,0.104,0.327,0.391 31021,0.066,0.063,0.09,0.321,0.46 31023,0.027,0.105,0.263,0.238,0.365 31025,0.042,0.049,0.119,0.24,0.55 31027,0.207,0.163,0.161,0.177,0.293 31029,0.055,0.192,0.156,0.232,0.364 31031,0.158,0.042,0.095,0.377,0.328 31033,0.116,0.159,0.164,0.338,0.223 31035,0.064,0.132,0.124,0.28,0.4 31037,0.054,0.089,0.228,0.287,0.341 31039,0.147,0.066,0.122,0.347,0.317 31041,0.143,0.104,0.112,0.328,0.314 31043,0.113,0.167,0.131,0.163,0.425 31045,0.224,0.103,0.11,0.321,0.242 31047,0.096,0.114,0.115,0.348,0.328 31049,0.093,0.147,0.138,0.267,0.355 31051,0.163,0.16,0.131,0.162,0.383 31053,0.14,0.036,0.136,0.374,0.314 31055,0.091,0.069,0.095,0.263,0.482 31057,0.053,0.232,0.173,0.231,0.311 31059,0.053,0.096,0.263,0.375,0.213 31061,0.083,0.168,0.083,0.288,0.378 31063,0.094,0.121,0.136,0.336,0.313 31065,0.101,0.135,0.129,0.319,0.315 31067,0.127,0.03,0.103,0.26,0.48 31069,0.202,0.124,0.119,0.268,0.288 31071,0.168,0.084,0.142,0.236,0.37 31073,0.086,0.12,0.115,0.347,0.333 31075,0.199,0.116,0.102,0.27,0.313 31077,0.122,0.091,0.122,0.245,0.421 31079,0.048,0.114,0.103,0.284,0.451 31081,0.04,0.124,0.157,0.252,0.427 31083,0.089,0.158,0.102,0.302,0.348 31085,0.072,0.151,0.161,0.273,0.343 31087,0.085,0.162,0.19,0.263,0.301 31089,0.113,0.134,0.234,0.154,0.365 31091,0.151,0.123,0.11,0.279,0.337 31093,0.073,0.104,0.108,0.281,0.433 31095,0.206,0.05,0.055,0.306,0.384 31097,0.061,0.175,0.247,0.207,0.31 31099,0.062,0.127,0.094,0.318,0.399 31101,0.093,0.15,0.13,0.235,0.393 31103,0.124,0.09,0.183,0.273,0.331 31105,0.187,0.173,0.161,0.228,0.25 31107,0.171,0.178,0.195,0.157,0.299 31109,0.093,0.061,0.112,0.264,0.47 31111,0.103,0.145,0.123,0.287,0.341 31113,0.14,0.133,0.115,0.308,0.304 31115,0.193,0.084,0.129,0.276,0.318 31117,0.121,0.147,0.115,0.257,0.361 31119,0.251,0.082,0.194,0.156,0.317 31121,0.05,0.125,0.137,0.234,0.454 31123,0.261,0.119,0.124,0.273,0.223 31125,0.091,0.111,0.131,0.207,0.459 31127,0.09,0.148,0.137,0.293,0.333 31129,0.138,0.132,0.064,0.349,0.318 31131,0.11,0.097,0.09,0.275,0.428 31133,0.067,0.147,0.215,0.254,0.316 31135,0.069,0.164,0.142,0.233,0.393 31137,0.072,0.126,0.103,0.336,0.363 31139,0.253,0.11,0.185,0.142,0.311 31141,0.044,0.094,0.176,0.254,0.432 31143,0.029,0.167,0.277,0.174,0.353 31145,0.102,0.123,0.169,0.308,0.298 31147,0.098,0.185,0.166,0.252,0.298 31149,0.13,0.102,0.198,0.222,0.349 31151,0.021,0.07,0.186,0.217,0.507 31153,0.094,0.069,0.144,0.26,0.433 31155,0.108,0.09,0.28,0.223,0.3 31157,0.256,0.132,0.113,0.245,0.255 31159,0.028,0.046,0.216,0.109,0.601 31161,0.248,0.083,0.094,0.333,0.242 31163,0.093,0.099,0.11,0.307,0.39 31165,0.241,0.161,0.101,0.292,0.205 31167,0.265,0.08,0.192,0.154,0.309 31169,0.185,0.071,0.066,0.429,0.249 31171,0.152,0.12,0.118,0.302,0.308 31173,0.123,0.153,0.119,0.187,0.418 31175,0.135,0.09,0.118,0.278,0.38 31177,0.086,0.116,0.15,0.261,0.386 31179,0.245,0.12,0.155,0.141,0.34 31181,0.091,0.167,0.068,0.286,0.389 31183,0.162,0.084,0.155,0.201,0.399 31185,0.044,0.168,0.422,0.184,0.182 32001,0.022,0.093,0.058,0.153,0.674 32003,0.027,0.032,0.054,0.145,0.742 32005,0.029,0.055,0.091,0.238,0.588 32007,0.021,0.046,0.19,0.364,0.379 32009,0.086,0.004,0.006,0.032,0.872 32011,0.002,0.054,0.17,0.386,0.387 32013,0.008,0.042,0.156,0.069,0.725 32015,0.004,0.085,0.142,0.182,0.588 32017,0.048,0.019,0.147,0.177,0.61 32019,0.037,0.069,0.05,0.173,0.671 32021,0.022,0.018,0.09,0.115,0.755 32023,0.061,0.038,0.052,0.183,0.666 32027,0.01,0.013,0.248,0.038,0.691 32029,0.015,0.038,0.039,0.126,0.782 32031,0.024,0.025,0.06,0.215,0.676 32033,0.059,0.016,0.208,0.421,0.296 32510,0.023,0.064,0.054,0.274,0.585 33001,0.114,0.02,0.11,0.158,0.598 33003,0.088,0.035,0.107,0.172,0.598 33005,0.02,0.075,0.093,0.202,0.609 33007,0.017,0.05,0.068,0.169,0.697 33009,0.039,0.026,0.032,0.199,0.705 33011,0.03,0.069,0.066,0.164,0.67 33013,0.085,0.067,0.075,0.158,0.615 33015,0.018,0.057,0.074,0.212,0.639 33017,0.08,0.074,0.098,0.19,0.558 33019,0.06,0.103,0.012,0.252,0.574 34001,0.019,0.041,0.03,0.176,0.734 34003,0.02,0.014,0.053,0.151,0.762 34005,0.023,0.02,0.043,0.134,0.779 34007,0.028,0.005,0.027,0.137,0.802 34009,0.013,0.011,0.022,0.214,0.74 34011,0.032,0.006,0.058,0.142,0.762 34013,0.035,0.014,0.085,0.183,0.682 34015,0.047,0.01,0.052,0.145,0.746 34017,0.022,0.019,0.077,0.211,0.67 34019,0.007,0.038,0.065,0.085,0.804 34021,0.017,0.014,0.05,0.162,0.757 34023,0.02,0.016,0.054,0.146,0.765 34025,0.01,0.022,0.041,0.164,0.764 34027,0.023,0.018,0.049,0.191,0.72 34029,0.012,0.056,0.055,0.104,0.772 34031,0.029,0.015,0.063,0.138,0.756 34033,0.041,0.043,0.036,0.154,0.726 34035,0.016,0.027,0.046,0.12,0.791 34037,0.02,0.026,0.029,0.205,0.72 34039,0.012,0.011,0.059,0.202,0.716 34041,0.035,0.02,0.044,0.152,0.749 35001,0.036,0.014,0.057,0.135,0.758 35003,0.054,0.039,0.036,0.109,0.762 35005,0.074,0.04,0.108,0.144,0.634 35006,0.003,0.059,0.014,0.085,0.839 35007,0.041,0.019,0.091,0.106,0.743 35009,0.011,0.129,0.111,0.209,0.54 35011,0.036,0.069,0.085,0.098,0.712 35013,0.011,0.044,0.036,0.097,0.812 35015,0.2,0.07,0.092,0.239,0.399 35017,0.043,0.031,0.15,0.205,0.572 35019,0.014,0.049,0.072,0.098,0.766 35021,0.057,0.152,0.062,0.115,0.614 35023,0.056,0.037,0.186,0.153,0.569 35025,0.112,0.024,0.115,0.331,0.418 35027,0.04,0.012,0.055,0.162,0.731 35028,0.001,0.041,0.076,0.173,0.709 35029,0.105,0.046,0.024,0.11,0.715 35031,0.01,0.06,0.008,0.202,0.721 35033,0.002,0.027,0.067,0.098,0.806 35035,0.074,0.03,0.143,0.158,0.595 35037,0.049,0.152,0.07,0.159,0.571 35039,0.007,0.054,0.102,0.162,0.675 35041,0.009,0.154,0.089,0.146,0.602 35043,0.017,0.015,0.096,0.11,0.762 35045,0.057,0.015,0.118,0.255,0.555 35047,0.004,0.02,0.057,0.119,0.8 35049,0.008,0.016,0.031,0.143,0.803 35051,0.03,0.039,0.033,0.239,0.659 35053,0.002,0.008,0.05,0.193,0.746 35055,0.006,0.041,0.055,0.113,0.785 35057,0.097,0.005,0.035,0.167,0.696 35059,0.12,0.118,0.127,0.242,0.393 35061,0.006,0.009,0.143,0.195,0.648 36001,0.006,0.012,0.052,0.142,0.788 36003,0.062,0.015,0.028,0.124,0.771 36005,0.043,0.013,0.066,0.136,0.742 36007,0.044,0.028,0.051,0.066,0.812 36009,0.015,0.013,0.024,0.156,0.793 36011,0,0.033,0.072,0.162,0.732 36013,0.029,0.024,0.038,0.206,0.703 36015,0.012,0.046,0.092,0.256,0.594 36017,0.048,0.045,0.015,0.156,0.735 36019,0.017,0.024,0.102,0.084,0.773 36021,0.014,0.004,0.029,0.104,0.848 36023,0.001,0.062,0.015,0.118,0.803 36025,0.057,0.053,0.034,0.112,0.744 36027,0.007,0.009,0.031,0.099,0.854 36029,0.018,0.014,0.04,0.161,0.766 36031,0.05,0.05,0.057,0.107,0.736 36033,0.026,0.027,0.117,0.097,0.733 36035,0.078,0.015,0.06,0.118,0.729 36037,0.001,0.017,0.015,0.187,0.781 36039,0.022,0.014,0.03,0.146,0.788 36041,0.042,0.024,0.053,0.229,0.653 36043,0.015,0.026,0.042,0.158,0.758 36045,0.008,0.058,0.038,0.116,0.78 36047,0.035,0.034,0.058,0.141,0.732 36049,0.069,0.036,0.02,0.11,0.765 36051,0.011,0.034,0.009,0.111,0.835 36053,0.003,0.015,0.043,0.107,0.832 36055,0.018,0.012,0.056,0.129,0.785 36057,0.102,0.005,0.054,0.09,0.749 36059,0.017,0.018,0.043,0.142,0.779 36061,0.02,0.016,0.04,0.121,0.803 36063,0.001,0.028,0.037,0.204,0.73 36065,0.016,0.025,0.033,0.153,0.774 36067,0.019,0.008,0.054,0.163,0.756 36069,0.001,0.012,0.031,0.107,0.849 36071,0.023,0.008,0.042,0.18,0.746 36073,0.001,0.033,0.059,0.213,0.693 36075,0.017,0.003,0.094,0.119,0.766 36077,0.032,0.065,0.027,0.096,0.779 36079,0.003,0.018,0.022,0.105,0.852 36081,0.022,0.023,0.068,0.136,0.751 36083,0.018,0.018,0.073,0.14,0.751 36085,0.033,0.015,0.046,0.178,0.728 36087,0.011,0.018,0.054,0.195,0.722 36089,0.027,0.029,0.095,0.149,0.701 36091,0.02,0.012,0.062,0.156,0.751 36093,0.04,0.007,0.051,0.06,0.841 36095,0.007,0.02,0.04,0.108,0.825 36097,0.01,0.009,0.071,0.239,0.67 36099,0.001,0.012,0.042,0.082,0.864 36101,0.036,0.031,0.057,0.201,0.674 36103,0.04,0.019,0.053,0.106,0.782 36105,0.024,0.03,0.043,0.085,0.817 36107,0.019,0.011,0.018,0.114,0.839 36109,0.012,0.01,0.046,0.098,0.833 36111,0.014,0.023,0.045,0.1,0.818 36113,0.026,0.018,0.104,0.13,0.723 36115,0.026,0.027,0.135,0.138,0.673 36117,0.001,0.016,0.061,0.132,0.789 36119,0.025,0.018,0.044,0.115,0.798 36121,0.001,0.024,0.008,0.107,0.861 36123,0,0.006,0.023,0.087,0.884 37001,0.04,0.073,0.126,0.175,0.586 37003,0.027,0.023,0.103,0.272,0.575 37005,0.153,0.067,0.067,0.21,0.504 37007,0.053,0.062,0.08,0.163,0.641 37009,0.149,0.026,0.083,0.287,0.455 37011,0.096,0.01,0.212,0.173,0.509 37013,0.037,0.08,0.041,0.219,0.623 37015,0.1,0.04,0.064,0.214,0.582 37017,0.073,0.023,0.076,0.104,0.724 37019,0.024,0.018,0.036,0.248,0.673 37021,0.009,0.023,0.044,0.23,0.693 37023,0.091,0.056,0.124,0.189,0.54 37025,0.04,0.022,0.092,0.27,0.576 37027,0.028,0.031,0.072,0.199,0.67 37029,0.091,0.025,0.121,0.188,0.575 37031,0.01,0.067,0.167,0.197,0.56 37033,0.06,0.035,0.199,0.179,0.527 37035,0.035,0.07,0.13,0.214,0.551 37037,0.007,0.025,0.063,0.139,0.766 37039,0.085,0.109,0.101,0.147,0.557 37041,0.044,0.011,0.152,0.296,0.497 37043,0.099,0.091,0.095,0.169,0.546 37045,0.062,0.121,0.094,0.151,0.573 37047,0.179,0.043,0.113,0.155,0.511 37049,0.034,0.068,0.212,0.215,0.47 37051,0.028,0.047,0.1,0.175,0.649 37053,0.157,0.021,0.131,0.167,0.524 37055,0.028,0.005,0.102,0.194,0.671 37057,0.058,0.085,0.169,0.134,0.554 37059,0.074,0.067,0.037,0.14,0.681 37061,0.068,0.044,0.143,0.126,0.62 37063,0.017,0.014,0.033,0.104,0.832 37065,0.021,0.037,0.055,0.184,0.703 37067,0.02,0.022,0.068,0.183,0.706 37069,0.038,0.03,0.061,0.127,0.745 37071,0.038,0.079,0.054,0.197,0.632 37073,0.008,0.022,0.19,0.21,0.57 37075,0.095,0.072,0.096,0.236,0.502 37077,0.042,0.033,0.082,0.107,0.736 37079,0.072,0.061,0.127,0.24,0.501 37081,0.04,0.055,0.117,0.199,0.588 37083,0.014,0.007,0.068,0.2,0.711 37085,0.031,0.069,0.06,0.129,0.711 37087,0.077,0.039,0.03,0.188,0.666 37089,0.014,0.028,0.042,0.201,0.715 37091,0.02,0.007,0.06,0.217,0.696 37093,0.009,0.047,0.092,0.236,0.616 37095,0.133,0.03,0.08,0.259,0.498 37097,0.08,0.051,0.106,0.219,0.544 37099,0.077,0.065,0.067,0.176,0.616 37101,0.032,0.022,0.113,0.151,0.682 37103,0.064,0.051,0.208,0.233,0.445 37105,0.066,0.102,0.081,0.115,0.636 37107,0.109,0.041,0.112,0.228,0.51 37109,0.029,0.09,0.084,0.234,0.563 37111,0.075,0.114,0.105,0.143,0.563 37113,0.153,0.039,0.085,0.182,0.541 37115,0.016,0.034,0.08,0.178,0.692 37117,0.084,0.089,0.071,0.15,0.605 37119,0.029,0.037,0.075,0.166,0.694 37121,0.096,0.035,0.146,0.154,0.569 37123,0.027,0.056,0.078,0.184,0.655 37125,0.039,0.105,0.041,0.237,0.578 37127,0.044,0.032,0.038,0.212,0.673 37129,0.019,0.032,0.032,0.25,0.667 37131,0.017,0.003,0.067,0.201,0.712 37133,0.039,0.039,0.159,0.254,0.509 37135,0.01,0.02,0.028,0.142,0.801 37137,0.036,0.057,0.181,0.243,0.482 37139,0.067,0.021,0.11,0.238,0.563 37141,0.05,0.035,0.142,0.169,0.603 37143,0.036,0.014,0.154,0.299,0.498 37145,0.01,0.008,0.07,0.166,0.746 37147,0.034,0.065,0.085,0.204,0.612 37149,0.018,0.115,0.105,0.263,0.499 37151,0.066,0.078,0.105,0.138,0.613 37153,0.05,0.039,0.145,0.153,0.612 37155,0.062,0.031,0.116,0.165,0.626 37157,0.125,0.094,0.124,0.111,0.546 37159,0.086,0.065,0.131,0.175,0.542 37161,0.045,0.17,0.098,0.156,0.532 37163,0.006,0.005,0.084,0.197,0.708 37165,0.137,0.029,0.178,0.199,0.458 37167,0.029,0.083,0.097,0.217,0.574 37169,0.015,0.034,0.116,0.247,0.588 37171,0.019,0.041,0.1,0.382,0.458 37173,0.079,0.061,0.086,0.247,0.528 37175,0.025,0.013,0.047,0.224,0.691 37177,0.054,0.016,0.103,0.301,0.527 37179,0.06,0.045,0.067,0.213,0.615 37181,0.042,0.031,0.137,0.159,0.631 37183,0.015,0.02,0.07,0.168,0.727 37185,0.027,0.024,0.105,0.158,0.686 37187,0.113,0.053,0.057,0.301,0.476 37189,0.062,0.01,0.072,0.363,0.493 37191,0.017,0.018,0.09,0.132,0.744 37193,0.046,0.071,0.164,0.208,0.511 37195,0.013,0.067,0.081,0.248,0.59 37197,0.073,0.027,0.08,0.199,0.621 37199,0.028,0.019,0.063,0.224,0.665 38001,0.219,0.166,0.189,0.233,0.193 38003,0.111,0.079,0.137,0.248,0.425 38005,0.289,0.194,0.118,0.195,0.204 38007,0.2,0.201,0.137,0.244,0.218 38009,0.206,0.119,0.142,0.259,0.274 38011,0.188,0.141,0.146,0.262,0.263 38013,0.191,0.147,0.151,0.258,0.253 38015,0.172,0.233,0.091,0.297,0.207 38017,0.09,0.113,0.142,0.233,0.423 38019,0.146,0.272,0.165,0.222,0.195 38021,0.151,0.077,0.227,0.277,0.267 38023,0.186,0.168,0.163,0.255,0.227 38025,0.195,0.189,0.125,0.252,0.239 38027,0.269,0.159,0.117,0.209,0.246 38029,0.16,0.221,0.094,0.302,0.222 38031,0.265,0.081,0.081,0.27,0.304 38033,0.187,0.206,0.149,0.256,0.203 38035,0.097,0.122,0.222,0.253,0.305 38037,0.177,0.233,0.125,0.275,0.19 38039,0.162,0.054,0.197,0.217,0.37 38041,0.218,0.207,0.15,0.232,0.193 38043,0.193,0.206,0.074,0.301,0.226 38045,0.115,0.07,0.193,0.307,0.315 38047,0.172,0.156,0.104,0.295,0.272 38049,0.206,0.132,0.124,0.263,0.275 38051,0.169,0.128,0.136,0.275,0.291 38053,0.19,0.182,0.142,0.253,0.232 38055,0.189,0.185,0.107,0.273,0.246 38057,0.189,0.197,0.111,0.266,0.237 38059,0.172,0.235,0.096,0.293,0.205 38061,0.192,0.16,0.134,0.258,0.256 38063,0.133,0.183,0.193,0.218,0.274 38065,0.181,0.217,0.102,0.28,0.221 38067,0.08,0.216,0.202,0.256,0.247 38069,0.253,0.136,0.12,0.246,0.246 38071,0.242,0.25,0.138,0.175,0.195 38073,0.073,0.114,0.223,0.236,0.354 38075,0.193,0.13,0.141,0.262,0.274 38077,0.155,0.174,0.189,0.116,0.366 38079,0.248,0.154,0.135,0.235,0.228 38081,0.081,0.163,0.249,0.251,0.257 38083,0.203,0.186,0.091,0.285,0.235 38085,0.157,0.228,0.108,0.295,0.211 38087,0.217,0.179,0.142,0.246,0.215 38089,0.207,0.205,0.129,0.24,0.219 38091,0.172,0.061,0.302,0.182,0.283 38093,0.202,0.053,0.076,0.314,0.354 38095,0.263,0.232,0.127,0.198,0.18 38097,0.144,0.115,0.205,0.233,0.303 38099,0.087,0.181,0.208,0.253,0.271 38101,0.195,0.138,0.127,0.263,0.276 38103,0.254,0.163,0.083,0.275,0.226 38105,0.186,0.182,0.155,0.254,0.223 39001,0.074,0.116,0.149,0.222,0.439 39003,0.085,0.104,0.114,0.382,0.314 39005,0.068,0.035,0.268,0.19,0.438 39007,0.144,0.008,0.099,0.257,0.492 39009,0.071,0.115,0.164,0.236,0.413 39011,0.131,0.089,0.153,0.342,0.285 39013,0.082,0.086,0.118,0.25,0.464 39015,0.177,0.177,0.101,0.128,0.417 39017,0.047,0.072,0.106,0.244,0.531 39019,0.147,0.261,0.052,0.15,0.39 39021,0.084,0.051,0.274,0.269,0.321 39023,0.066,0.027,0.19,0.247,0.471 39025,0.082,0.069,0.074,0.192,0.584 39027,0.171,0.198,0.071,0.105,0.455 39029,0.098,0.08,0.115,0.156,0.551 39031,0.077,0.194,0.294,0.178,0.258 39033,0.101,0.107,0.126,0.184,0.482 39035,0.042,0.052,0.084,0.213,0.609 39037,0.216,0.084,0.15,0.28,0.271 39039,0.052,0.114,0.152,0.221,0.462 39041,0.018,0.081,0.084,0.177,0.64 39043,0.078,0.022,0.091,0.179,0.63 39045,0.1,0.095,0.135,0.142,0.527 39047,0.157,0.055,0.328,0.158,0.302 39049,0.042,0.054,0.09,0.198,0.617 39051,0.029,0.046,0.318,0.272,0.335 39053,0.074,0.082,0.203,0.178,0.463 39055,0.03,0.057,0.064,0.218,0.631 39057,0.041,0.082,0.095,0.264,0.519 39059,0.101,0.162,0.137,0.181,0.419 39061,0.069,0.056,0.102,0.224,0.549 39063,0.076,0.127,0.122,0.302,0.373 39065,0.149,0.121,0.134,0.227,0.368 39067,0.107,0.141,0.153,0.233,0.365 39069,0.038,0.111,0.189,0.197,0.465 39071,0.157,0.144,0.068,0.162,0.468 39073,0.169,0.137,0.21,0.104,0.38 39075,0.05,0.087,0.134,0.271,0.457 39077,0.191,0.064,0.204,0.172,0.369 39079,0.166,0.141,0.247,0.105,0.341 39081,0.076,0.142,0.152,0.209,0.42 39083,0.138,0.1,0.065,0.17,0.526 39085,0.067,0.039,0.104,0.246,0.544 39087,0.089,0.097,0.185,0.23,0.399 39089,0.056,0.102,0.176,0.127,0.539 39091,0.136,0.117,0.314,0.248,0.186 39093,0.089,0.097,0.099,0.207,0.508 39095,0.078,0.056,0.111,0.189,0.566 39097,0.037,0.087,0.167,0.262,0.447 39099,0.046,0.099,0.099,0.231,0.525 39101,0.084,0.18,0.115,0.159,0.462 39103,0.068,0.077,0.125,0.227,0.503 39105,0.072,0.137,0.182,0.177,0.432 39107,0.102,0.105,0.245,0.314,0.233 39109,0.077,0.07,0.19,0.227,0.436 39111,0.04,0.144,0.139,0.291,0.386 39113,0.041,0.065,0.065,0.222,0.607 39115,0.142,0.114,0.153,0.259,0.332 39117,0.059,0.094,0.075,0.31,0.462 39119,0.136,0.145,0.121,0.182,0.416 39121,0.109,0.176,0.139,0.219,0.357 39123,0.052,0.035,0.084,0.219,0.609 39125,0.095,0.061,0.24,0.314,0.29 39127,0.138,0.149,0.214,0.19,0.309 39129,0.067,0.087,0.092,0.244,0.51 39131,0.186,0.124,0.124,0.158,0.409 39133,0.028,0.078,0.126,0.213,0.555 39135,0.045,0.146,0.186,0.248,0.375 39137,0.041,0.118,0.253,0.307,0.28 39139,0.066,0.08,0.213,0.221,0.419 39141,0.181,0.103,0.101,0.168,0.447 39143,0.139,0.074,0.109,0.209,0.469 39145,0.121,0.096,0.242,0.156,0.387 39147,0.119,0.195,0.243,0.164,0.279 39149,0.182,0.119,0.216,0.283,0.2 39151,0.065,0.11,0.102,0.198,0.525 39153,0.048,0.056,0.125,0.207,0.565 39155,0.054,0.059,0.121,0.23,0.535 39157,0.126,0.204,0.116,0.215,0.339 39159,0.175,0.018,0.099,0.245,0.463 39161,0.069,0.084,0.223,0.412,0.212 39163,0.09,0.165,0.218,0.147,0.38 39165,0.062,0.044,0.085,0.162,0.647 39167,0.072,0.121,0.142,0.29,0.375 39169,0.064,0.082,0.144,0.245,0.466 39171,0.035,0.133,0.199,0.208,0.425 39173,0.029,0.061,0.086,0.252,0.572 39175,0.1,0.201,0.138,0.135,0.426 40001,0.105,0.068,0.258,0.213,0.356 40003,0.203,0.096,0.188,0.25,0.262 40005,0.076,0.184,0.111,0.284,0.345 40007,0.153,0.154,0.085,0.223,0.384 40009,0.088,0.265,0.187,0.121,0.339 40011,0.029,0.081,0.244,0.32,0.326 40013,0.094,0.087,0.125,0.237,0.457 40015,0.013,0.111,0.194,0.239,0.444 40017,0.043,0.073,0.103,0.309,0.472 40019,0.128,0.169,0.138,0.213,0.351 40021,0.099,0.121,0.212,0.24,0.327 40023,0.064,0.113,0.119,0.251,0.454 40025,0.14,0.089,0.153,0.26,0.358 40027,0.046,0.101,0.079,0.25,0.524 40029,0.075,0.12,0.105,0.307,0.394 40031,0.054,0.179,0.127,0.226,0.413 40033,0.06,0.117,0.102,0.173,0.548 40035,0.247,0.113,0.236,0.112,0.292 40037,0.154,0.074,0.145,0.212,0.415 40039,0.006,0.274,0.413,0.13,0.177 40041,0.188,0.187,0.202,0.107,0.316 40043,0.066,0.185,0.286,0.219,0.244 40045,0.132,0.22,0.135,0.207,0.306 40047,0.233,0.103,0.127,0.28,0.258 40049,0.075,0.087,0.157,0.249,0.433 40051,0.047,0.098,0.185,0.249,0.422 40053,0.205,0.136,0.145,0.255,0.257 40055,0.073,0.19,0.148,0.225,0.365 40057,0.105,0.158,0.16,0.239,0.338 40059,0.158,0.189,0.118,0.257,0.278 40061,0.146,0.09,0.203,0.258,0.303 40063,0.089,0.037,0.146,0.213,0.514 40065,0.021,0.127,0.148,0.291,0.411 40067,0.084,0.108,0.163,0.14,0.505 40069,0.088,0.137,0.157,0.244,0.374 40071,0.099,0.12,0.135,0.225,0.419 40073,0.046,0.093,0.05,0.192,0.619 40075,0.025,0.19,0.131,0.239,0.415 40077,0.159,0.136,0.184,0.277,0.245 40079,0.142,0.152,0.156,0.196,0.354 40081,0.135,0.103,0.204,0.222,0.337 40083,0.03,0.027,0.114,0.31,0.519 40085,0.188,0.08,0.103,0.195,0.435 40087,0.092,0.099,0.068,0.197,0.545 40089,0.131,0.141,0.117,0.187,0.423 40091,0.085,0.057,0.265,0.221,0.373 40093,0.169,0.072,0.212,0.285,0.261 40095,0.13,0.074,0.114,0.256,0.425 40097,0.173,0.175,0.213,0.135,0.303 40099,0.042,0.154,0.247,0.218,0.34 40101,0.063,0.088,0.262,0.198,0.388 40103,0.069,0.085,0.1,0.253,0.493 40105,0.148,0.121,0.164,0.181,0.386 40107,0.112,0.035,0.241,0.193,0.419 40109,0.096,0.064,0.097,0.225,0.518 40111,0.078,0.052,0.204,0.276,0.39 40113,0.077,0.103,0.23,0.218,0.372 40115,0.154,0.13,0.229,0.151,0.337 40117,0.178,0.085,0.159,0.213,0.365 40119,0.083,0.068,0.129,0.207,0.514 40121,0.117,0.112,0.153,0.36,0.258 40123,0.029,0.033,0.102,0.235,0.601 40125,0.042,0.052,0.278,0.236,0.392 40127,0.077,0.152,0.122,0.261,0.388 40129,0.109,0.248,0.192,0.091,0.36 40131,0.097,0.105,0.164,0.201,0.433 40133,0.095,0.034,0.225,0.169,0.478 40135,0.106,0.11,0.209,0.212,0.362 40137,0.041,0.088,0.21,0.286,0.375 40139,0.123,0.12,0.102,0.225,0.43 40141,0.042,0.142,0.11,0.225,0.48 40143,0.074,0.061,0.141,0.243,0.482 40145,0.032,0.112,0.175,0.306,0.375 40147,0.118,0.183,0.162,0.192,0.345 40149,0.024,0.256,0.243,0.164,0.313 40151,0.165,0.116,0.166,0.281,0.272 40153,0.146,0.232,0.145,0.247,0.229 41001,0.051,0.189,0.179,0.189,0.392 41003,0.007,0.007,0.059,0.156,0.77 41005,0.016,0.024,0.071,0.168,0.721 41007,0.052,0.027,0.051,0.073,0.797 41009,0.048,0.015,0.158,0.174,0.604 41011,0.128,0.061,0.136,0.099,0.577 41013,0.019,0.075,0.027,0.246,0.633 41015,0.025,0.058,0.1,0.162,0.655 41017,0.01,0.061,0.014,0.25,0.666 41019,0.082,0.052,0.116,0.239,0.511 41021,0.008,0.003,0.049,0.332,0.607 41023,0.014,0.062,0.132,0.12,0.671 41025,0.032,0.099,0.114,0.157,0.598 41027,0.03,0.071,0.127,0.162,0.61 41029,0.044,0.077,0.075,0.138,0.665 41031,0.018,0.062,0.012,0.25,0.657 41033,0.028,0.056,0.072,0.192,0.652 41035,0.097,0.031,0.062,0.227,0.583 41037,0.05,0.017,0.127,0.247,0.558 41039,0.031,0.036,0.077,0.137,0.719 41041,0.001,0.012,0.047,0.131,0.81 41043,0.057,0.025,0.096,0.159,0.664 41045,0.071,0.206,0.213,0.206,0.305 41047,0.029,0.013,0.053,0.196,0.71 41049,0.026,0.004,0.083,0.197,0.69 41051,0.013,0.016,0.054,0.178,0.738 41053,0.013,0.022,0.078,0.242,0.645 41055,0.008,0.014,0.046,0.271,0.66 41057,0.125,0.04,0.092,0.163,0.581 41059,0.043,0.01,0.081,0.155,0.71 41061,0.034,0.088,0.086,0.189,0.603 41063,0.041,0.083,0.146,0.229,0.501 41065,0.019,0.034,0.069,0.197,0.681 41067,0.006,0.009,0.059,0.169,0.756 41069,0.023,0.07,0.049,0.232,0.626 41071,0.021,0.035,0.072,0.143,0.729 42001,0.039,0.034,0.083,0.238,0.606 42003,0.017,0.022,0.035,0.165,0.761 42005,0.027,0.074,0.159,0.173,0.568 42007,0.015,0.023,0.1,0.137,0.725 42009,0.014,0.111,0.1,0.205,0.57 42011,0.036,0.012,0.06,0.174,0.719 42013,0.041,0.132,0.083,0.249,0.495 42015,0.042,0.017,0.051,0.194,0.697 42017,0.014,0.018,0.032,0.131,0.805 42019,0.035,0.062,0.062,0.194,0.647 42021,0.026,0.062,0.153,0.228,0.53 42023,0.147,0.014,0.048,0.142,0.649 42025,0.013,0.062,0.015,0.145,0.764 42027,0.017,0.013,0.076,0.101,0.792 42029,0.006,0.022,0.038,0.113,0.82 42031,0.057,0.03,0.152,0.155,0.605 42033,0.051,0.055,0.176,0.206,0.512 42035,0.014,0.024,0.077,0.19,0.696 42037,0.02,0.046,0.05,0.163,0.721 42039,0.024,0.016,0.136,0.266,0.558 42041,0.031,0.032,0.183,0.192,0.562 42043,0.032,0.023,0.258,0.147,0.539 42045,0.01,0.01,0.044,0.123,0.814 42047,0.055,0.016,0.084,0.15,0.695 42049,0.016,0.025,0.057,0.136,0.766 42051,0.053,0.064,0.144,0.161,0.578 42053,0.016,0.008,0.158,0.196,0.622 42055,0.023,0.04,0.082,0.248,0.607 42057,0.013,0.145,0.053,0.23,0.559 42059,0.104,0.11,0.187,0.124,0.475 42061,0.07,0.06,0.155,0.232,0.483 42063,0.015,0.047,0.066,0.22,0.652 42065,0.083,0.046,0.142,0.197,0.531 42067,0.065,0.068,0.093,0.214,0.56 42069,0.007,0.006,0.039,0.106,0.843 42071,0.037,0.013,0.054,0.172,0.724 42073,0.034,0.07,0.093,0.301,0.503 42075,0.026,0.008,0.062,0.178,0.725 42077,0.014,0.004,0.053,0.103,0.826 42079,0.016,0.024,0.045,0.136,0.779 42081,0.062,0.057,0.06,0.207,0.614 42083,0.012,0.004,0.03,0.134,0.82 42085,0.028,0.044,0.094,0.215,0.62 42087,0.084,0.049,0.129,0.171,0.567 42089,0.019,0.047,0.052,0.061,0.822 42091,0.016,0.019,0.044,0.16,0.761 42093,0.042,0.022,0.079,0.143,0.714 42095,0.015,0.012,0.034,0.118,0.822 42097,0.064,0.013,0.078,0.197,0.649 42099,0.035,0.017,0.1,0.199,0.649 42101,0.023,0.012,0.051,0.12,0.794 42103,0.01,0.013,0.036,0.165,0.777 42105,0.061,0.011,0.061,0.12,0.747 42107,0.066,0.002,0.048,0.173,0.711 42109,0.062,0.036,0.104,0.226,0.572 42111,0.041,0.04,0.188,0.267,0.464 42113,0.025,0.035,0.038,0.141,0.76 42115,0.046,0.029,0.038,0.065,0.822 42117,0.098,0.044,0.111,0.183,0.565 42119,0.078,0.032,0.103,0.211,0.576 42121,0.004,0.015,0.115,0.152,0.714 42123,0.009,0.019,0.114,0.224,0.634 42125,0.052,0.02,0.045,0.149,0.735 42127,0.004,0.009,0.08,0.08,0.828 42129,0.017,0.07,0.069,0.172,0.673 42131,0.035,0.008,0.049,0.072,0.836 42133,0.018,0.024,0.091,0.174,0.693 44001,0.007,0.003,0.02,0.143,0.827 44003,0.016,0.003,0.05,0.123,0.807 44005,0.004,0.006,0.046,0.129,0.815 44007,0.022,0.014,0.05,0.159,0.754 44009,0.012,0.022,0.034,0.126,0.807 45001,0.117,0.102,0.243,0.166,0.371 45003,0.1,0.086,0.116,0.193,0.505 45005,0.172,0.211,0.012,0.22,0.384 45007,0.069,0.065,0.138,0.26,0.468 45009,0.167,0.031,0.053,0.235,0.515 45011,0.169,0.067,0.035,0.281,0.447 45013,0.038,0.027,0.055,0.147,0.733 45015,0.05,0.074,0.107,0.171,0.597 45017,0.06,0.047,0.129,0.173,0.592 45019,0.036,0.059,0.062,0.186,0.657 45021,0.088,0.083,0.121,0.179,0.528 45023,0.151,0.065,0.055,0.23,0.5 45025,0.117,0.079,0.148,0.129,0.526 45027,0.083,0.147,0.128,0.157,0.486 45029,0.088,0.077,0.094,0.1,0.641 45031,0.153,0.083,0.114,0.103,0.548 45033,0.156,0.056,0.188,0.17,0.43 45035,0.071,0.071,0.123,0.16,0.576 45037,0.099,0.084,0.083,0.165,0.569 45039,0.046,0.032,0.046,0.31,0.566 45041,0.114,0.08,0.133,0.109,0.564 45043,0.04,0.014,0.079,0.191,0.675 45045,0.049,0.079,0.153,0.206,0.513 45047,0.074,0.087,0.226,0.151,0.463 45049,0.13,0.156,0.025,0.148,0.542 45051,0.086,0.052,0.081,0.19,0.591 45053,0.129,0.055,0.056,0.201,0.559 45055,0.062,0.019,0.114,0.189,0.616 45057,0.067,0.068,0.048,0.224,0.594 45059,0.09,0.102,0.164,0.214,0.43 45061,0.123,0.06,0.154,0.157,0.506 45063,0.044,0.038,0.129,0.214,0.576 45065,0.072,0.115,0.106,0.202,0.505 45067,0.28,0.036,0.182,0.127,0.376 45069,0.155,0.027,0.153,0.149,0.515 45071,0.078,0.128,0.062,0.202,0.529 45073,0.142,0.061,0.103,0.221,0.472 45075,0.135,0.056,0.111,0.169,0.529 45077,0.066,0.059,0.146,0.236,0.493 45079,0.03,0.016,0.099,0.235,0.62 45081,0.053,0.095,0.117,0.206,0.529 45083,0.06,0.091,0.126,0.227,0.496 45085,0.128,0.054,0.154,0.182,0.483 45087,0.14,0.02,0.074,0.305,0.462 45089,0.034,0.057,0.12,0.158,0.631 45091,0.057,0.074,0.062,0.204,0.602 46003,0.239,0.073,0.236,0.15,0.302 46005,0.234,0.104,0.147,0.173,0.342 46007,0.147,0.052,0.117,0.327,0.356 46009,0.108,0.205,0.198,0.193,0.295 46011,0.04,0.124,0.263,0.229,0.345 46013,0.256,0.098,0.142,0.166,0.338 46015,0.163,0.075,0.168,0.264,0.33 46017,0.161,0.059,0.157,0.253,0.371 46019,0.12,0.085,0.153,0.204,0.438 46021,0.155,0.167,0.122,0.277,0.278 46023,0.117,0.149,0.254,0.192,0.288 46025,0.211,0.147,0.172,0.125,0.345 46027,0.091,0.178,0.116,0.243,0.373 46029,0.185,0.144,0.25,0.117,0.305 46031,0.144,0.19,0.134,0.285,0.247 46033,0.132,0.088,0.156,0.229,0.396 46035,0.249,0.074,0.303,0.107,0.267 46037,0.256,0.14,0.175,0.118,0.311 46039,0.136,0.111,0.275,0.169,0.309 46041,0.069,0.057,0.141,0.237,0.497 46043,0.189,0.108,0.269,0.146,0.289 46045,0.217,0.088,0.15,0.197,0.348 46047,0.141,0.093,0.152,0.25,0.364 46049,0.205,0.079,0.146,0.198,0.372 46051,0.259,0.129,0.232,0.12,0.26 46053,0.113,0.118,0.206,0.264,0.299 46055,0.117,0.051,0.151,0.241,0.44 46057,0.119,0.143,0.256,0.137,0.345 46059,0.182,0.071,0.147,0.225,0.376 46061,0.185,0.107,0.269,0.148,0.29 46063,0.105,0.068,0.145,0.235,0.446 46065,0.091,0.027,0.109,0.251,0.523 46067,0.129,0.163,0.199,0.188,0.321 46069,0.142,0.053,0.142,0.234,0.43 46071,0.129,0.052,0.136,0.281,0.401 46073,0.233,0.073,0.185,0.184,0.326 46075,0.115,0.03,0.101,0.293,0.462 46077,0.128,0.13,0.217,0.184,0.341 46079,0.11,0.144,0.183,0.237,0.326 46081,0.124,0.089,0.154,0.205,0.428 46083,0.078,0.181,0.106,0.25,0.385 46085,0.13,0.046,0.119,0.287,0.419 46087,0.113,0.154,0.144,0.238,0.35 46089,0.204,0.091,0.161,0.22,0.323 46091,0.196,0.146,0.183,0.161,0.313 46093,0.123,0.078,0.161,0.214,0.425 46095,0.136,0.028,0.091,0.34,0.405 46097,0.16,0.123,0.216,0.218,0.284 46099,0.087,0.187,0.106,0.251,0.369 46101,0.078,0.183,0.165,0.245,0.329 46102,0.15,0.075,0.139,0.281,0.355 46103,0.127,0.078,0.159,0.222,0.414 46105,0.132,0.081,0.185,0.243,0.36 46107,0.131,0.067,0.147,0.225,0.431 46109,0.241,0.175,0.164,0.094,0.326 46111,0.252,0.095,0.222,0.155,0.276 46115,0.232,0.103,0.132,0.173,0.36 46117,0.08,0.024,0.104,0.245,0.546 46119,0.084,0.031,0.128,0.228,0.528 46121,0.147,0.031,0.097,0.368,0.357 46123,0.142,0.066,0.138,0.311,0.343 46125,0.084,0.176,0.115,0.251,0.375 46127,0.082,0.177,0.12,0.204,0.418 46129,0.14,0.144,0.132,0.265,0.318 46135,0.109,0.205,0.167,0.26,0.259 46137,0.105,0.053,0.172,0.235,0.434 47001,0.088,0.105,0.112,0.215,0.48 47003,0.164,0.093,0.246,0.248,0.249 47005,0.169,0.109,0.206,0.21,0.306 47007,0.082,0.122,0.131,0.251,0.415 47009,0.069,0.089,0.097,0.183,0.562 47011,0.121,0.098,0.126,0.282,0.373 47013,0.059,0.075,0.204,0.109,0.554 47015,0.209,0.089,0.238,0.182,0.282 47017,0.179,0.088,0.163,0.234,0.337 47019,0.115,0.031,0.151,0.215,0.487 47021,0.018,0.067,0.155,0.28,0.48 47023,0.108,0.068,0.122,0.362,0.34 47025,0.163,0.114,0.091,0.236,0.397 47027,0.099,0.105,0.264,0.126,0.406 47029,0.197,0.118,0.082,0.171,0.431 47031,0.165,0.09,0.174,0.208,0.363 47033,0.14,0.078,0.123,0.226,0.432 47035,0.096,0.093,0.201,0.214,0.395 47037,0.02,0.037,0.086,0.181,0.677 47039,0.175,0.171,0.168,0.168,0.318 47041,0.157,0.152,0.231,0.132,0.328 47043,0.054,0.076,0.079,0.336,0.455 47045,0.175,0.17,0.12,0.204,0.331 47047,0.022,0.001,0.089,0.205,0.682 47049,0.123,0.122,0.157,0.162,0.437 47051,0.166,0.092,0.13,0.201,0.411 47053,0.182,0.086,0.111,0.26,0.361 47055,0.061,0.068,0.192,0.237,0.441 47057,0.126,0.134,0.129,0.221,0.39 47059,0.125,0.178,0.033,0.254,0.41 47061,0.142,0.165,0.151,0.212,0.33 47063,0.157,0.113,0.121,0.189,0.42 47065,0.116,0.116,0.129,0.229,0.411 47067,0.148,0.243,0.059,0.14,0.41 47069,0.035,0.056,0.215,0.261,0.434 47071,0.142,0.14,0.107,0.241,0.371 47073,0.118,0.146,0.132,0.196,0.407 47075,0.086,0.026,0.169,0.155,0.565 47077,0.127,0.107,0.156,0.282,0.327 47079,0.092,0.09,0.264,0.207,0.347 47081,0.063,0.057,0.082,0.217,0.581 47083,0.108,0.049,0.116,0.337,0.39 47085,0.121,0.095,0.156,0.267,0.36 47087,0.138,0.128,0.249,0.093,0.392 47089,0.151,0.092,0.149,0.176,0.431 47091,0.107,0.079,0.141,0.261,0.412 47093,0.036,0.032,0.144,0.209,0.579 47095,0.133,0.143,0.166,0.201,0.357 47097,0.064,0.094,0.191,0.142,0.508 47099,0.074,0.129,0.156,0.192,0.45 47101,0.098,0.084,0.198,0.236,0.385 47103,0.126,0.187,0.106,0.214,0.367 47105,0.041,0.06,0.107,0.219,0.573 47107,0.077,0.087,0.155,0.298,0.384 47109,0.107,0.105,0.115,0.274,0.4 47111,0.146,0.085,0.215,0.083,0.47 47113,0.1,0.056,0.129,0.334,0.381 47115,0.115,0.122,0.135,0.247,0.381 47117,0.219,0.129,0.139,0.164,0.349 47119,0.119,0.07,0.19,0.156,0.466 47121,0.08,0.118,0.136,0.214,0.453 47123,0.07,0.138,0.165,0.229,0.397 47125,0.083,0.063,0.203,0.228,0.423 47127,0.173,0.101,0.176,0.235,0.316 47129,0.08,0.113,0.077,0.318,0.413 47131,0.117,0.125,0.187,0.246,0.325 47133,0.12,0.131,0.228,0.128,0.393 47135,0.18,0.148,0.137,0.159,0.376 47137,0.105,0.128,0.219,0.133,0.416 47139,0.089,0.069,0.15,0.24,0.452 47141,0.16,0.164,0.207,0.099,0.369 47143,0.096,0.154,0.113,0.154,0.483 47145,0.074,0.142,0.105,0.274,0.405 47147,0.187,0.069,0.081,0.159,0.504 47149,0.081,0.073,0.121,0.215,0.51 47151,0.121,0.144,0.154,0.219,0.362 47153,0.108,0.087,0.177,0.289,0.339 47155,0.039,0.072,0.15,0.183,0.556 47157,0.034,0.025,0.105,0.184,0.653 47159,0.088,0.091,0.202,0.113,0.507 47161,0.071,0.045,0.15,0.214,0.521 47163,0.096,0.091,0.143,0.187,0.483 47165,0.104,0.069,0.14,0.196,0.49 47167,0.081,0.025,0.223,0.138,0.533 47169,0.112,0.063,0.241,0.133,0.452 47171,0.049,0.041,0.108,0.306,0.497 47173,0.086,0.145,0.167,0.181,0.421 47175,0.145,0.147,0.147,0.239,0.323 47177,0.14,0.107,0.189,0.212,0.352 47179,0.061,0.074,0.166,0.218,0.48 47181,0.089,0.215,0.136,0.147,0.414 47183,0.093,0.135,0.228,0.251,0.292 47185,0.185,0.205,0.162,0.115,0.333 47187,0.019,0.073,0.091,0.212,0.604 47189,0.105,0.035,0.099,0.192,0.568 48001,0.172,0.104,0.095,0.088,0.541 48003,0.09,0.044,0.067,0.202,0.597 48005,0.121,0.064,0.079,0.2,0.536 48007,0.006,0.005,0.17,0.074,0.746 48009,0.081,0.053,0.099,0.091,0.676 48011,0.08,0.066,0.116,0.25,0.488 48013,0.001,0.01,0.032,0.156,0.802 48015,0.006,0.024,0.054,0.224,0.692 48017,0.018,0.106,0.06,0.217,0.598 48019,0.073,0.018,0.07,0.09,0.749 48021,0.007,0.02,0.084,0.161,0.729 48023,0.066,0.075,0.134,0.104,0.62 48025,0.001,0.003,0.052,0.19,0.753 48027,0.01,0.035,0.078,0.205,0.672 48029,0.015,0.016,0.057,0.09,0.822 48031,0.005,0.019,0.115,0.074,0.788 48033,0.039,0.115,0.125,0.107,0.614 48035,0.031,0.154,0.102,0.248,0.465 48037,0.058,0.134,0.114,0.221,0.473 48039,0.021,0.042,0.075,0.17,0.691 48041,0.012,0.038,0.067,0.347,0.537 48043,0.011,0.012,0.077,0.172,0.728 48045,0.105,0.077,0.113,0.187,0.518 48047,0.061,0.004,0.166,0.09,0.678 48049,0.085,0.077,0.066,0.239,0.534 48051,0.02,0.072,0.071,0.281,0.555 48053,0.031,0.039,0.055,0.194,0.682 48055,0.001,0.001,0.063,0.185,0.751 48057,0.019,0.028,0.179,0.071,0.703 48059,0.049,0.06,0.119,0.205,0.567 48061,0.035,0.061,0.034,0.056,0.813 48063,0.017,0.064,0.213,0.235,0.471 48065,0.099,0.064,0.124,0.252,0.462 48067,0.034,0.145,0.17,0.209,0.441 48069,0.057,0.051,0.043,0.296,0.553 48071,0.027,0.094,0.078,0.201,0.6 48073,0.123,0.063,0.148,0.192,0.475 48075,0.147,0.124,0.189,0.206,0.334 48077,0.066,0.049,0.105,0.087,0.693 48079,0.029,0.078,0.068,0.229,0.595 48081,0.039,0.056,0.093,0.241,0.572 48083,0.053,0.048,0.084,0.259,0.556 48085,0.021,0.026,0.054,0.181,0.719 48087,0.239,0.142,0.176,0.16,0.284 48089,0.004,0.044,0.078,0.228,0.645 48091,0.007,0.044,0.063,0.146,0.74 48093,0.045,0.075,0.059,0.2,0.621 48095,0.012,0.029,0.072,0.279,0.607 48097,0.118,0.026,0.056,0.207,0.594 48099,0.015,0.027,0.142,0.194,0.622 48101,0.107,0.106,0.188,0.176,0.423 48103,0.08,0.056,0.096,0.199,0.57 48105,0.026,0.071,0.072,0.225,0.606 48107,0.031,0.071,0.058,0.227,0.613 48109,0.125,0.006,0.039,0.176,0.654 48111,0.119,0.074,0.123,0.289,0.396 48113,0.024,0.019,0.059,0.141,0.757 48115,0.03,0.023,0.074,0.115,0.759 48117,0.063,0.063,0.095,0.284,0.494 48119,0.04,0.074,0.094,0.285,0.507 48121,0.016,0.025,0.046,0.204,0.709 48123,0.003,0.019,0.091,0.061,0.827 48125,0.032,0.071,0.111,0.254,0.532 48127,0.021,0.059,0.097,0.133,0.69 48129,0.139,0.065,0.147,0.21,0.439 48131,0.122,0.003,0.132,0.053,0.691 48133,0.055,0.089,0.104,0.195,0.557 48135,0.085,0.047,0.076,0.204,0.588 48137,0.016,0.047,0.145,0.101,0.691 48139,0.027,0.017,0.044,0.19,0.722 48141,0.007,0.007,0.033,0.075,0.877 48143,0.017,0.096,0.075,0.202,0.609 48145,0.009,0.029,0.061,0.187,0.715 48147,0.117,0.126,0.131,0.226,0.4 48149,0.006,0.05,0.259,0.142,0.543 48151,0.097,0.097,0.109,0.186,0.51 48153,0.049,0.063,0.043,0.216,0.629 48155,0.045,0.101,0.23,0.147,0.477 48157,0.024,0.03,0.057,0.115,0.774 48159,0.013,0.055,0.131,0.327,0.474 48161,0.025,0.121,0.085,0.137,0.632 48163,0.136,0.007,0.038,0.108,0.71 48165,0.121,0.034,0.033,0.176,0.636 48167,0.033,0.037,0.105,0.207,0.617 48169,0.034,0.079,0.067,0.207,0.612 48171,0.095,0.091,0.107,0.114,0.592 48173,0.069,0.054,0.058,0.234,0.586 48175,0.001,0.025,0.16,0.077,0.737 48177,0.001,0.001,0.091,0.078,0.828 48179,0.139,0.069,0.134,0.222,0.436 48181,0.064,0.063,0.095,0.247,0.53 48183,0.053,0.064,0.074,0.186,0.623 48185,0.025,0.047,0.04,0.348,0.54 48187,0.027,0.022,0.032,0.125,0.794 48189,0.066,0.058,0.028,0.239,0.609 48191,0.179,0.065,0.19,0.157,0.41 48193,0.019,0.085,0.137,0.267,0.493 48195,0.136,0.076,0.126,0.234,0.428 48197,0.042,0.116,0.237,0.223,0.381 48199,0.021,0.054,0.102,0.187,0.636 48201,0.019,0.024,0.069,0.152,0.736 48203,0.086,0.037,0.088,0.19,0.599 48205,0.1,0.07,0.116,0.28,0.434 48207,0.087,0.128,0.137,0.209,0.439 48209,0,0.007,0.022,0.115,0.855 48211,0.189,0.125,0.139,0.138,0.409 48213,0.043,0.072,0.127,0.197,0.56 48215,0.055,0.003,0.033,0.084,0.826 48217,0.047,0.083,0.029,0.242,0.599 48219,0.031,0.072,0.06,0.237,0.6 48221,0.009,0.122,0.135,0.124,0.61 48223,0.054,0.026,0.062,0.369,0.488 48225,0.182,0.09,0.104,0.15,0.474 48227,0.063,0.063,0.061,0.218,0.596 48229,0.013,0.003,0.076,0.029,0.88 48231,0.069,0.072,0.082,0.285,0.492 48233,0.112,0.064,0.128,0.249,0.447 48235,0.009,0.047,0.058,0.276,0.61 48237,0.009,0.018,0.012,0.37,0.592 48239,0.02,0.062,0.146,0.075,0.696 48241,0.04,0.055,0.068,0.125,0.712 48243,0.009,0.005,0.038,0.186,0.763 48245,0.036,0.075,0.11,0.171,0.608 48247,0.071,0.003,0.079,0.099,0.748 48249,0.057,0.007,0.137,0.051,0.748 48251,0.024,0.079,0.056,0.199,0.642 48253,0.064,0.079,0.121,0.193,0.543 48255,0,0.001,0.104,0.145,0.75 48257,0.063,0.058,0.041,0.155,0.682 48259,0.002,0.059,0.076,0.158,0.705 48261,0.04,0.01,0.08,0.098,0.772 48263,0.069,0.168,0.172,0.167,0.424 48265,0.059,0.149,0.167,0.154,0.472 48267,0.036,0.126,0.165,0.207,0.466 48269,0.065,0.108,0.177,0.254,0.397 48271,0.004,0.059,0.121,0.084,0.733 48273,0.063,0.015,0.075,0.121,0.726 48275,0.063,0.105,0.184,0.145,0.502 48277,0.054,0.095,0.135,0.238,0.478 48279,0.038,0.065,0.046,0.255,0.597 48281,0.024,0.019,0.077,0.233,0.648 48283,0.152,0.002,0.083,0.097,0.667 48285,0.008,0.029,0.114,0.114,0.736 48287,0.035,0.122,0.148,0.142,0.553 48289,0.089,0.078,0.111,0.192,0.531 48291,0.019,0.034,0.114,0.182,0.65 48293,0.005,0.086,0.061,0.087,0.762 48295,0.147,0.143,0.099,0.195,0.415 48297,0.005,0.003,0.081,0.189,0.722 48299,0.08,0.036,0.056,0.214,0.615 48301,0.109,0.047,0.081,0.221,0.543 48303,0.031,0.072,0.056,0.232,0.61 48305,0.032,0.068,0.054,0.222,0.624 48307,0.031,0.053,0.09,0.34,0.486 48309,0.022,0.049,0.046,0.161,0.721 48311,0.043,0.002,0.21,0.203,0.542 48313,0.065,0.032,0.097,0.337,0.469 48315,0.076,0.067,0.118,0.211,0.528 48317,0.075,0.043,0.056,0.235,0.591 48319,0.043,0.091,0.163,0.247,0.456 48321,0.004,0.051,0.113,0.161,0.67 48323,0.005,0.091,0.129,0.13,0.645 48325,0.006,0.017,0.07,0.155,0.753 48327,0.013,0.048,0.088,0.289,0.562 48329,0.083,0.044,0.066,0.219,0.588 48331,0.006,0.019,0.07,0.228,0.679 48333,0.041,0.117,0.062,0.261,0.518 48335,0.168,0.131,0.087,0.126,0.489 48337,0.041,0.08,0.129,0.22,0.529 48339,0.031,0.073,0.061,0.145,0.69 48341,0.101,0.064,0.123,0.27,0.441 48343,0.038,0.116,0.21,0.176,0.46 48345,0.067,0.053,0.084,0.206,0.591 48347,0.094,0.06,0.097,0.221,0.528 48349,0.006,0.024,0.114,0.217,0.639 48351,0.057,0.049,0.11,0.152,0.631 48353,0.09,0.072,0.108,0.187,0.544 48355,0.024,0.034,0.028,0.079,0.835 48357,0.15,0.104,0.105,0.201,0.439 48359,0.084,0.065,0.109,0.278,0.464 48361,0.051,0.07,0.105,0.157,0.618 48363,0.027,0.023,0.029,0.181,0.74 48365,0.027,0.033,0.211,0.281,0.448 48367,0.02,0.048,0.055,0.206,0.671 48369,0.033,0.081,0.089,0.277,0.521 48371,0.05,0.051,0.15,0.197,0.551 48373,0.016,0.099,0.052,0.144,0.689 48375,0.067,0.063,0.113,0.272,0.485 48377,0.003,0.003,0.032,0.174,0.789 48379,0.143,0.062,0.038,0.245,0.512 48381,0.063,0.063,0.109,0.274,0.491 48383,0.058,0.061,0.064,0.237,0.58 48385,0.03,0.065,0.164,0.187,0.554 48387,0.059,0.136,0.098,0.254,0.452 48389,0.07,0.04,0.086,0.204,0.6 48391,0.002,0.011,0.235,0.073,0.678 48393,0.16,0.074,0.133,0.205,0.427 48395,0.014,0.041,0.055,0.334,0.555 48397,0.033,0.041,0.101,0.18,0.645 48399,0.033,0.039,0.104,0.228,0.596 48401,0.038,0.04,0.101,0.331,0.491 48403,0.105,0.046,0.103,0.15,0.596 48405,0.096,0.033,0.07,0.222,0.58 48407,0.009,0.064,0.082,0.112,0.733 48409,0.015,0.02,0.053,0.074,0.838 48411,0.026,0.101,0.099,0.255,0.519 48413,0.002,0.029,0.054,0.271,0.644 48415,0.143,0.177,0.127,0.09,0.463 48417,0.061,0.099,0.14,0.183,0.518 48419,0.025,0.035,0.117,0.369,0.453 48421,0.125,0.073,0.129,0.267,0.406 48423,0.108,0.091,0.104,0.168,0.529 48425,0.027,0.161,0.133,0.201,0.477 48427,0.039,0.008,0.023,0.1,0.831 48429,0.058,0.149,0.221,0.127,0.445 48431,0.032,0.077,0.067,0.252,0.572 48433,0.084,0.122,0.12,0.224,0.449 48435,0.009,0.042,0.08,0.209,0.659 48437,0.084,0.075,0.053,0.255,0.532 48439,0.023,0.034,0.077,0.144,0.722 48441,0.054,0.059,0.12,0.191,0.575 48443,0.021,0.061,0.167,0.154,0.597 48445,0.034,0.066,0.061,0.226,0.613 48447,0.073,0.135,0.172,0.118,0.501 48449,0.019,0.117,0.191,0.264,0.409 48451,0.007,0.038,0.071,0.271,0.613 48453,0.015,0.008,0.024,0.158,0.795 48455,0.052,0.077,0.065,0.181,0.625 48457,0.021,0.066,0.054,0.155,0.703 48459,0.051,0.076,0.104,0.179,0.59 48461,0.077,0.058,0.088,0.21,0.567 48463,0.014,0.022,0.136,0.081,0.747 48465,0.003,0.05,0.09,0.072,0.784 48467,0.138,0.143,0.151,0.161,0.407 48469,0.008,0.039,0.138,0.058,0.757 48471,0.029,0.058,0.079,0.179,0.655 48473,0.016,0.06,0.07,0.236,0.618 48475,0.08,0.052,0.094,0.197,0.577 48477,0.02,0.031,0.087,0.328,0.534 48479,0.033,0,0.064,0.136,0.767 48481,0.011,0.072,0.076,0.216,0.625 48483,0.23,0.139,0.158,0.126,0.346 48485,0.073,0.046,0.096,0.092,0.692 48487,0.046,0.081,0.171,0.168,0.535 48489,0.034,0.015,0.067,0.064,0.82 48491,0.016,0.033,0.065,0.177,0.708 48493,0,0.003,0.072,0.208,0.716 48495,0.087,0.05,0.086,0.196,0.581 48497,0.008,0.127,0.046,0.17,0.649 48499,0.046,0.073,0.071,0.283,0.526 48501,0.084,0.035,0.065,0.254,0.561 48503,0.062,0.063,0.086,0.144,0.645 48505,0.047,0.001,0.035,0.138,0.779 48507,0.036,0.075,0.115,0.138,0.635 49001,0.099,0.026,0.271,0.283,0.32 49003,0.084,0.116,0.111,0.27,0.419 49005,0.09,0.108,0.08,0.31,0.411 49007,0.107,0.134,0.114,0.293,0.353 49009,0.091,0.296,0.102,0.33,0.181 49011,0.035,0.055,0.077,0.314,0.518 49013,0.051,0.259,0.033,0.469,0.188 49015,0.122,0.109,0.106,0.239,0.424 49017,0.062,0.056,0.232,0.264,0.386 49019,0.056,0.111,0.098,0.176,0.558 49021,0.065,0.036,0.22,0.262,0.417 49023,0.335,0.023,0.079,0.193,0.369 49025,0.061,0.041,0.226,0.227,0.445 49027,0.432,0.023,0.088,0.171,0.286 49029,0.092,0.155,0.053,0.37,0.33 49031,0.097,0.061,0.266,0.3,0.276 49033,0.077,0.113,0.062,0.327,0.421 49035,0.028,0.032,0.094,0.202,0.644 49037,0.04,0.064,0.042,0.21,0.644 49039,0.107,0.043,0.104,0.273,0.473 49041,0.152,0.096,0.171,0.3,0.282 49043,0.018,0.1,0.054,0.177,0.651 49045,0.002,0.114,0.141,0.212,0.532 49047,0.121,0.269,0.046,0.389,0.175 49049,0.068,0.035,0.195,0.244,0.458 49051,0.039,0.063,0.056,0.254,0.588 49053,0.034,0.056,0.123,0.269,0.518 49055,0.068,0.129,0.114,0.269,0.42 49057,0.066,0.089,0.072,0.287,0.486 50001,0.029,0.045,0.086,0.139,0.702 50003,0.028,0.058,0.061,0.084,0.77 50005,0.076,0.121,0.078,0.154,0.57 50007,0.031,0.07,0.065,0.115,0.718 50009,0.054,0.075,0.083,0.158,0.631 50011,0.042,0.058,0.056,0.134,0.71 50013,0.031,0.039,0.088,0.113,0.729 50015,0.027,0.181,0.062,0.141,0.59 50017,0.029,0.095,0.073,0.107,0.696 50019,0.07,0.174,0.061,0.149,0.546 50021,0.031,0.037,0.088,0.205,0.639 50023,0.051,0.19,0.104,0.05,0.604 50025,0.075,0.031,0.035,0.151,0.708 50027,0.061,0.055,0.03,0.227,0.627 51001,0.001,0.019,0.055,0.1,0.824 51003,0.023,0.022,0.054,0.093,0.81 51005,0.145,0.034,0.123,0.174,0.525 51007,0.013,0.069,0.116,0.13,0.672 51009,0.064,0.033,0.074,0.204,0.625 51011,0.063,0.018,0.105,0.204,0.61 51013,0.01,0.018,0.035,0.187,0.75 51015,0.029,0.037,0.061,0.173,0.701 51017,0.099,0.045,0.121,0.165,0.57 51019,0.052,0.09,0.115,0.248,0.495 51021,0.081,0.114,0.2,0.166,0.44 51023,0.043,0.079,0.106,0.221,0.551 51025,0.006,0.003,0.158,0.145,0.688 51027,0.037,0.099,0.219,0.181,0.463 51029,0.02,0.01,0.124,0.132,0.714 51031,0.07,0.04,0.083,0.222,0.585 51033,0.047,0.032,0.031,0.14,0.75 51035,0.064,0.073,0.084,0.285,0.496 51036,0.017,0.02,0.103,0.177,0.683 51037,0.084,0.025,0.148,0.133,0.61 51041,0.026,0.03,0.08,0.216,0.649 51043,0.013,0.036,0.057,0.154,0.74 51045,0.017,0.022,0.148,0.182,0.632 51047,0.053,0.068,0.013,0.213,0.653 51049,0.012,0.055,0.098,0.137,0.699 51051,0.031,0.129,0.129,0.182,0.528 51053,0.022,0.016,0.104,0.193,0.664 51057,0.016,0.081,0.181,0.16,0.563 51059,0.018,0.016,0.054,0.163,0.748 51061,0.04,0.013,0.042,0.133,0.772 51063,0.079,0.063,0.092,0.256,0.51 51065,0.037,0.014,0.077,0.1,0.772 51067,0.074,0.098,0.069,0.189,0.57 51069,0.026,0.048,0.048,0.264,0.614 51071,0.066,0.09,0.14,0.137,0.567 51073,0.003,0.004,0.035,0.234,0.724 51075,0.034,0.043,0.065,0.097,0.761 51077,0.141,0.065,0.07,0.196,0.527 51079,0.011,0.038,0.052,0.153,0.747 51081,0.014,0.002,0.145,0.158,0.681 51083,0.092,0.028,0.072,0.165,0.643 51085,0.043,0.052,0.087,0.25,0.568 51087,0.04,0.037,0.071,0.191,0.662 51089,0.063,0.085,0.132,0.154,0.566 51091,0.059,0.041,0.103,0.197,0.599 51093,0.039,0.055,0.059,0.277,0.569 51095,0.006,0.008,0.005,0.231,0.75 51097,0.007,0.041,0.149,0.191,0.612 51099,0.151,0.044,0.086,0.053,0.666 51101,0.012,0.072,0.201,0.169,0.546 51103,0.001,0.022,0.121,0.178,0.678 51105,0.107,0.135,0.072,0.104,0.582 51107,0.014,0.012,0.038,0.173,0.763 51109,0.025,0.045,0.036,0.146,0.748 51111,0.068,0.006,0.134,0.143,0.649 51113,0.017,0.097,0.064,0.154,0.668 51115,0.001,0.001,0.049,0.19,0.76 51117,0.063,0.022,0.128,0.14,0.648 51119,0.001,0.004,0.103,0.237,0.654 51121,0.056,0.042,0.09,0.171,0.64 51125,0.011,0.015,0.106,0.167,0.701 51127,0.008,0.035,0.079,0.17,0.708 51131,0.001,0.037,0.089,0.112,0.761 51133,0.017,0.038,0.095,0.141,0.71 51135,0.044,0.014,0.099,0.182,0.661 51137,0.033,0.132,0.038,0.153,0.643 51139,0.025,0.052,0.237,0.166,0.52 51141,0.042,0.098,0.166,0.203,0.491 51143,0.106,0.045,0.147,0.135,0.567 51145,0.012,0.092,0.074,0.162,0.66 51147,0.059,0.009,0.138,0.154,0.64 51149,0.033,0.033,0.127,0.189,0.619 51153,0.047,0.027,0.055,0.11,0.761 51155,0.083,0.055,0.166,0.173,0.523 51157,0.023,0.019,0.077,0.164,0.717 51159,0.015,0.07,0.109,0.167,0.64 51161,0.065,0.045,0.077,0.205,0.607 51163,0.015,0.112,0.068,0.13,0.675 51165,0.034,0.062,0.139,0.212,0.553 51167,0.082,0.137,0.212,0.24,0.329 51169,0.074,0.124,0.121,0.157,0.523 51171,0.023,0.039,0.136,0.288,0.514 51173,0.087,0.079,0.237,0.182,0.415 51175,0.019,0.013,0.063,0.216,0.69 51177,0.05,0.019,0.03,0.115,0.785 51179,0.045,0.035,0.097,0.095,0.728 51181,0.006,0.021,0.003,0.249,0.721 51183,0.012,0.012,0.06,0.218,0.698 51185,0.062,0.104,0.264,0.16,0.41 51187,0.027,0.017,0.088,0.2,0.669 51191,0.123,0.099,0.144,0.266,0.368 51193,0.079,0.036,0.127,0.127,0.631 51195,0.025,0.075,0.099,0.158,0.643 51197,0.096,0.075,0.172,0.21,0.447 51199,0.006,0.021,0.024,0.162,0.786 51510,0.032,0.02,0.065,0.17,0.712 51520,0.174,0.125,0.075,0.273,0.352 51530,0.018,0.15,0.068,0.125,0.639 51540,0.023,0.019,0.05,0.075,0.833 51550,0.018,0.025,0.095,0.182,0.68 51570,0.044,0.045,0.126,0.177,0.608 51580,0.184,0.017,0.133,0.188,0.478 51590,0.087,0.043,0.209,0.127,0.534 51595,0.015,0.001,0.148,0.148,0.687 51600,0.025,0.015,0.075,0.173,0.712 51610,0.007,0.033,0.038,0.158,0.765 51620,0.01,0.027,0.115,0.192,0.656 51630,0.038,0.007,0.034,0.136,0.784 51640,0.071,0.086,0.049,0.243,0.551 51650,0.008,0.025,0.078,0.118,0.771 51660,0.029,0.066,0.129,0.205,0.571 51670,0.038,0.038,0.149,0.187,0.588 51678,0.01,0.146,0.059,0.121,0.663 51680,0.07,0.031,0.073,0.222,0.603 51683,0.033,0.023,0.027,0.175,0.742 51685,0.071,0.025,0.017,0.167,0.72 51690,0.063,0.076,0.134,0.163,0.564 51700,0.01,0.038,0.035,0.145,0.772 51710,0.004,0.03,0.087,0.215,0.664 51720,0.017,0.056,0.085,0.155,0.687 51730,0.034,0.033,0.116,0.177,0.64 51735,0.004,0.014,0.073,0.219,0.69 51740,0,0.019,0.122,0.225,0.634 51750,0.075,0.045,0.11,0.177,0.593 51760,0.06,0.031,0.092,0.275,0.541 51770,0.07,0.05,0.088,0.212,0.58 51775,0.064,0.039,0.068,0.199,0.63 51790,0.027,0.039,0.057,0.158,0.718 51800,0.007,0.048,0.171,0.208,0.565 51810,0.017,0.041,0.062,0.202,0.678 51820,0.027,0.028,0.049,0.186,0.71 51830,0.005,0.009,0.001,0.249,0.737 51840,0.025,0.056,0.032,0.277,0.611 53001,0.077,0.051,0.072,0.076,0.724 53003,0.014,0.029,0.115,0.32,0.522 53005,0.084,0.011,0.064,0.08,0.761 53007,0.062,0.048,0.029,0.297,0.564 53009,0.001,0,0.028,0.225,0.746 53011,0.02,0.021,0.048,0.17,0.741 53013,0.08,0.031,0.079,0.223,0.586 53015,0.041,0.02,0.098,0.216,0.625 53017,0.067,0.047,0.042,0.271,0.573 53019,0.082,0.066,0.082,0.204,0.565 53021,0.106,0.013,0.059,0.069,0.753 53023,0.031,0.029,0.085,0.292,0.563 53025,0.032,0.052,0.108,0.146,0.661 53027,0.03,0.009,0.087,0.213,0.662 53029,0.015,0.009,0.066,0.15,0.759 53031,0.011,0,0.064,0.171,0.754 53033,0.016,0.02,0.05,0.191,0.724 53035,0.024,0.003,0.051,0.136,0.786 53037,0.032,0.084,0.033,0.179,0.672 53039,0.038,0.029,0.113,0.288,0.532 53041,0.033,0.112,0.128,0.111,0.616 53043,0.017,0.086,0.023,0.108,0.765 53045,0.011,0.024,0.091,0.152,0.721 53047,0.042,0.066,0.075,0.199,0.617 53049,0.082,0.016,0.128,0.063,0.712 53051,0.027,0.122,0.052,0.212,0.587 53053,0.028,0.057,0.103,0.206,0.606 53055,0.015,0.004,0.021,0.229,0.73 53057,0.035,0.097,0.037,0.177,0.653 53059,0.019,0.048,0.092,0.08,0.76 53061,0.017,0.014,0.056,0.191,0.721 53063,0.033,0.057,0.08,0.151,0.679 53065,0.05,0.039,0.069,0.257,0.585 53067,0.022,0.051,0.109,0.132,0.685 53069,0.045,0.057,0.079,0.161,0.658 53071,0.083,0.022,0.061,0.193,0.641 53073,0.042,0.028,0.061,0.122,0.747 53075,0.002,0.009,0.049,0.31,0.629 53077,0.012,0.035,0.069,0.143,0.74 54001,0.092,0.031,0.071,0.287,0.519 54003,0.065,0.049,0.196,0.166,0.524 54005,0.097,0.138,0.093,0.197,0.475 54007,0.102,0.131,0.167,0.202,0.398 54009,0.067,0.11,0.195,0.192,0.436 54011,0.092,0.09,0.154,0.186,0.476 54013,0.085,0.07,0.227,0.21,0.408 54015,0.098,0.097,0.162,0.152,0.491 54017,0.187,0.011,0.075,0.307,0.42 54019,0.14,0.088,0.226,0.137,0.409 54021,0.141,0.076,0.144,0.236,0.403 54023,0.1,0.232,0.067,0.193,0.407 54025,0.07,0.03,0.113,0.233,0.554 54027,0.021,0.035,0.088,0.236,0.619 54029,0.072,0.128,0.151,0.19,0.459 54031,0.039,0.152,0.103,0.23,0.476 54033,0.132,0.021,0.071,0.319,0.457 54035,0.111,0.055,0.097,0.216,0.522 54037,0.041,0.038,0.2,0.169,0.552 54039,0.145,0.039,0.064,0.147,0.605 54041,0.161,0.029,0.068,0.288,0.454 54043,0.091,0.077,0.164,0.167,0.501 54045,0.082,0.11,0.116,0.247,0.445 54047,0.07,0.095,0.189,0.226,0.42 54049,0.069,0.06,0.111,0.281,0.479 54051,0.075,0.095,0.077,0.256,0.497 54053,0.081,0.095,0.195,0.149,0.481 54055,0.076,0.152,0.174,0.103,0.495 54057,0.033,0.016,0.042,0.234,0.674 54059,0.084,0.093,0.093,0.172,0.558 54061,0.046,0.077,0.139,0.221,0.517 54063,0.048,0.063,0.116,0.14,0.634 54065,0.025,0.085,0.169,0.258,0.463 54067,0.06,0.088,0.166,0.143,0.542 54069,0.108,0.068,0.092,0.243,0.49 54071,0.06,0.142,0.128,0.214,0.456 54073,0.088,0.108,0.17,0.287,0.346 54075,0.075,0.03,0.17,0.227,0.499 54077,0.057,0.028,0.087,0.247,0.58 54079,0.087,0.048,0.088,0.184,0.593 54081,0.087,0.083,0.257,0.148,0.426 54083,0.098,0.05,0.14,0.265,0.447 54085,0.141,0.059,0.183,0.262,0.356 54087,0.082,0.024,0.191,0.21,0.493 54089,0.053,0.104,0.166,0.111,0.567 54091,0.072,0.032,0.092,0.288,0.517 54093,0.108,0.087,0.048,0.292,0.465 54095,0.083,0.056,0.137,0.272,0.452 54097,0.131,0.039,0.077,0.278,0.475 54099,0.111,0.119,0.186,0.162,0.423 54101,0.065,0.083,0.163,0.211,0.479 54103,0.051,0.067,0.081,0.279,0.521 54105,0.112,0.059,0.219,0.222,0.389 54107,0.094,0.099,0.149,0.277,0.381 54109,0.073,0.098,0.176,0.245,0.408 55001,0.163,0.189,0.227,0.213,0.208 55003,0.078,0.038,0.118,0.363,0.403 55005,0.138,0.163,0.07,0.259,0.37 55007,0.067,0.039,0.107,0.392,0.395 55009,0.069,0.053,0.184,0.208,0.486 55011,0.039,0.106,0.172,0.269,0.414 55013,0.097,0.163,0.082,0.236,0.422 55015,0.064,0.1,0.141,0.33,0.365 55017,0.059,0.098,0.184,0.246,0.414 55019,0.162,0.149,0.158,0.146,0.384 55021,0.035,0.073,0.082,0.222,0.589 55023,0.202,0.033,0.11,0.158,0.497 55025,0.017,0.02,0.092,0.23,0.641 55027,0.11,0.138,0.166,0.2,0.386 55029,0.021,0.03,0.059,0.264,0.627 55031,0.044,0.042,0.092,0.327,0.495 55033,0.062,0.076,0.179,0.266,0.417 55035,0.042,0.076,0.203,0.255,0.424 55037,0.053,0.073,0.143,0.238,0.494 55039,0.121,0.155,0.158,0.244,0.322 55041,0.085,0.053,0.162,0.215,0.484 55043,0.103,0.102,0.18,0.166,0.449 55045,0.092,0.084,0.119,0.269,0.436 55047,0.092,0.122,0.184,0.117,0.486 55049,0.065,0.077,0.092,0.333,0.433 55051,0.04,0.052,0.142,0.248,0.518 55053,0.027,0.1,0.14,0.329,0.404 55055,0.114,0.093,0.096,0.179,0.518 55057,0.113,0.124,0.18,0.232,0.352 55059,0.077,0.083,0.097,0.155,0.589 55061,0.033,0.035,0.112,0.208,0.612 55063,0.064,0.072,0.076,0.289,0.498 55065,0.056,0.098,0.197,0.253,0.396 55067,0.085,0.102,0.142,0.239,0.432 55069,0.101,0.105,0.132,0.204,0.459 55071,0.175,0.089,0.259,0.133,0.345 55073,0.123,0.136,0.165,0.236,0.34 55075,0.093,0.104,0.066,0.258,0.479 55077,0.174,0.191,0.2,0.163,0.271 55078,0.042,0.103,0.31,0.246,0.3 55079,0.053,0.067,0.119,0.264,0.497 55081,0.073,0.03,0.154,0.284,0.46 55083,0.07,0.082,0.186,0.215,0.447 55085,0.057,0.05,0.155,0.186,0.552 55087,0.085,0.124,0.135,0.302,0.353 55089,0.076,0.113,0.091,0.3,0.42 55091,0.071,0.056,0.198,0.233,0.443 55093,0.063,0.094,0.144,0.25,0.449 55095,0.081,0.113,0.154,0.253,0.399 55097,0.157,0.159,0.215,0.188,0.28 55099,0.059,0.081,0.079,0.15,0.631 55101,0.061,0.067,0.167,0.193,0.512 55103,0.312,0.074,0.055,0.116,0.443 55105,0.023,0.139,0.096,0.277,0.464 55107,0.095,0.135,0.106,0.168,0.496 55109,0.101,0.102,0.085,0.342,0.37 55111,0.063,0.163,0.113,0.193,0.468 55113,0.058,0.126,0.133,0.256,0.427 55115,0.05,0.121,0.355,0.188,0.286 55117,0.128,0.114,0.174,0.199,0.385 55119,0.201,0.165,0.09,0.12,0.424 55121,0.02,0.126,0.085,0.381,0.387 55123,0.157,0.052,0.093,0.244,0.454 55125,0.051,0.047,0.138,0.231,0.533 55127,0.116,0.146,0.137,0.191,0.41 55129,0.082,0.168,0.117,0.243,0.39 55131,0.031,0.142,0.22,0.298,0.309 55133,0.071,0.165,0.145,0.258,0.361 55135,0.076,0.069,0.206,0.143,0.506 55137,0.109,0.147,0.202,0.186,0.356 55139,0.074,0.194,0.126,0.156,0.45 55141,0.131,0.177,0.215,0.181,0.296 56001,0.136,0.1,0.151,0.181,0.432 56003,0.182,0.187,0.12,0.257,0.253 56005,0.216,0.164,0.131,0.201,0.289 56007,0.044,0.137,0.087,0.278,0.454 56009,0.138,0.113,0.121,0.293,0.335 56011,0.145,0.115,0.143,0.192,0.404 56013,0.16,0.062,0.06,0.294,0.424 56015,0.201,0.169,0.111,0.223,0.296 56017,0.208,0.093,0.068,0.307,0.324 56019,0.183,0.208,0.103,0.216,0.29 56021,0.143,0.127,0.1,0.221,0.409 56023,0.131,0.183,0.128,0.235,0.324 56025,0.1,0.084,0.094,0.325,0.398 56027,0.169,0.191,0.177,0.222,0.241 56029,0.189,0.153,0.191,0.205,0.262 56031,0.149,0.149,0.123,0.16,0.418 56033,0.17,0.251,0.099,0.203,0.278 56035,0.223,0.111,0.061,0.231,0.374 56037,0.061,0.295,0.23,0.146,0.268 56039,0.095,0.157,0.16,0.247,0.34 56041,0.098,0.278,0.154,0.207,0.264 56043,0.204,0.155,0.069,0.285,0.287 56045,0.142,0.129,0.148,0.207,0.374 ================================================ FILE: tidyverse_covid_data/part2/tidyverse_2.R ================================================ # This is the second session covering tidyverse commands. # From last time, we looked at this cheat sheet: https://rstudio.com/wp-content/uploads/2015/02/data-wrangling-cheatsheet.pdf # Let's quickly reload the two data sets we used last time and clean them up. # load mask data mask_use_wide <- read_delim(file="mask-use-by-county.csv", delim=",") mask_use_long <- mask_use_wide %>% pivot_longer(cols = -COUNTYFP, names_to = "MaskUseResponse", values_to = "MaskUseProportion") %>% rename("fips" = COUNTYFP) %>% arrange(fips) # load case count data, filter based on most recent date cases <- read_delim(file="https://github.com/nytimes/covid-19-data/raw/master/us-counties.csv", delim=",") cases_latest <- cases %>% filter(date == "2020-08-03") %>% dplyr::select(-date) %>% arrange(fips) # These data from last time are all at the county level, which vary considerably by size. # Let's load in some additional data on population size by county, obtained from www.census.gov. pop_sizes <- read_delim(file="co-est2019-annres.csv.xz", delim=",") # Always double check file to make sure it looks alright! head(pop_sizes) nrow(pop_sizes) sum(!is.na(pop_sizes$'2019')) # how many counties have size estimates for 2019? it's even closer to the 3142 we expect! tail(pop_sizes) # These data are a little messy and need to be cleaned up! Let's do this with tidyverse commands. # Let's remove rows that we don't need using the slice() function pop_sizes <- pop_sizes %>% dplyr::slice(2:3143) # this also gets rid of the notes at the bottom # The 'Geographic Area' column has two pieces of info in it: county and state. Let's split this into 2 separate columnds using the separate() function. pop_sizes <- pop_sizes %>% separate(col = 'Geographic Area', into = c("County", "State"), sep = ", ") # Let's get rid of extra characters in the new 'County' column. We can use the mutate() function along with another function called str_remove(). pop_sizes <- pop_sizes %>% mutate(County = str_remove(string = County,pattern = ".")) %>% mutate(County = str_remove(string = County,pattern = " County")) # Let's use only the most recent estimate of county population size using the select() function. pop_sizes <- pop_sizes %>% dplyr::select(County, State, "2019") # OPTIONAL: we can combine all of our cleaning/filtering commands into one chain of commands to send to others: pop_sizes <- read_delim(file="co-est2019-annres.csv", delim=",") %>% dplyr::slice(2:3143) %>% separate(col = 'Geographic Area', into = c("County", "State"), sep = ", ") %>% mutate(County = str_remove(string = County,pattern = ".")) %>% mutate(County = str_remove(string = County,pattern = " County")) %>% dplyr::select(County, State, "2019") # The summary() function gives us a quick peek at these data. NOTE: summary() is very different from the summarize() function that we'll cover below. summary(pop_sizes) # Combining our previous data on case counts with county size cases_popsize <- inner_join(x=cases_latest, y=pop_sizes, by=c("county"="County", "state"="State")) # Combining these data with mask usage data cases_popsize_masked <- inner_join(x=cases_popsize, y=dplyr::select(mask_use_wide, c(COUNTYFP, ALWAYS)), by=c("fips" = "COUNTYFP")) # Renaming a coupe of columns to something more informative: cases_popsize_masked <- cases_popsize_masked %>% rename("pop_size" = "2019", "AlwaysMasked" = ALWAYS) ## # Visualizing data and finding outliers ## # What is the relationship between the fraction of positive cases and the population size of the county? Do counties with large populations have a higher proportion of case counts? # We will make our first plot the the "base" R function plot() cases_popsize_masked <- cases_popsize_masked %>% mutate(FracPos = cases/pop_size) plot(x=cases_popsize_masked$pop_size, y=cases_popsize_masked$FracPos, log="x", ylab="Fraction of cases", xlab="pop size") # DON'T RUN CORRELATION ANALYSES WITH HETEROSCEDASTICITY # What are those outliers with high rates of positive cases? What counties/states are these? cases_popsize_masked %>% filter(FracPos > 0.08) %>% arrange(desc(FracPos)) # Let's add another column for death rate, and visualize the relationship between the fraction of positive cases and the death rate: cases_popsize_masked <- cases_popsize_masked %>% mutate(FracDeaths = deaths/cases) plot(x=cases_popsize_masked$FracPos, y=cases_popsize_masked$FracDeaths, log="", xlab="FracCases", ylab="FracDeaths") # What are these counties that have been severely impacted by deaths rates? Is this just noise from small population sizes? cases_popsize_masked %>% filter(FracDeaths > 0.15) %>% arrange(desc(FracDeaths)) ## # group_by() and summarize() functions are extremely easy and powerful ## # The use of the group_by() and summarize() functions allows us to quickly get extremely informative information from our data. # One way to get the mean values for the different mask use frequency categories: mean(mask_use_wide$NEVER) mean(mask_use_wide$RARELY) mean(mask_use_wide$SOMETIMES) mean(mask_use_wide$FREQUENTLY) mean(mask_use_wide$ALWAYS) summary(mask_use_wide) # Alternatively, we can convert our data into long format (which we did above) and use the group_by() and summarize() functions to quickly do useful analyses: mask_use_long %>% group_by(MaskUseResponse) %>% summarize(mean(MaskUseProportion)) # Looking at the cheat sheet, you will see summarize can take a variety of functions. # Instead of analyzing data by county, we can easily switch to a state-level analysis using group_by() and sumamrize() cases_popsize_masked %>% group_by(state) %>% summarize(MeanMasked = mean(AlwaysMasked)) %>% arrange(desc(MeanMasked)) # Calculating the mean value for a state using counties of very different sizes is bad; mean() treats each county equally, but in reality they vary tremendously in size # Let's compute a custom weighted mean cases_popsize_masked %>% group_by(state) %>% summarize(WeightedMeanMasked = sum(AlwaysMasked*pop_size)/sum(pop_size)) %>% arrange(desc(WeightedMeanMasked)) # Did this weighting by county size actually make a difference? Let's store these analyses as 'x' and 'y' and compare them: x <- cases_popsize_masked %>% group_by(state) %>% summarize(MeanMasked = mean(AlwaysMasked)) %>% arrange(state) y <- cases_popsize_masked %>% group_by(state) %>% summarize(WeightedMeanMasked = sum(AlwaysMasked*pop_size)/sum(pop_size)) %>% arrange(state) hist(x$MeanMasked - y$WeightedMeanMasked) # The histogram suggests smaller counties have, on average, lower values for "AlwaysMasked"? Ploe the variables to verify: plot(x=cases_popsize_masked$pop_size, y=cases_popsize_masked$AlwaysMasked, log="x", xlab="pop size", ylab="AlwaysMasked") # Summary: ## New tidyverse functions used today: - slice() to select specific rows by index number - separate() to take a column with multiple pieces of information and split it into multiple columns - mutate() with str_remove to get rid of characters or words we don't want, there are many similar functions in the stringr package, which has its own cheat sheet - select() to - group_by() to categorize our data by the values in a particular column (here, by state) - summarize() to calculate simple but very informative statistics, such as mean and variance ================================================ FILE: tidyverse_covid_data/part2/tidyverse_2.Rmd ================================================ --- title: "Untitled" output: html_document --- ```{r setup, include=FALSE} knitr::opts_chunk$set(echo = TRUE) ``` This is the second session covering tidyverse commands. We will show you how to use some new functions, but we will also use some of the functions we previously used last week which will be good for extra practice. If you missed the previous session, that should not be a problem. From last time, we looked at this [cheat sheet](https://rstudio.com/wp-content/uploads/2015/02/data-wrangling-cheatsheet.pdf) to occasionally guide us. It's typical to load all the libraries you need at the top of your code. ```{r} library(tidyverse) ``` Let's quickly reload the two data sets we used last time and clean them up. As a reminder, we converted the mask use data from wide format into long format, but let's keep the data in both versions today. ```{r, include=FALSE} # load mask data mask_use_wide <- read_delim(file="mask-use-by-county.csv", delim=",") mask_use_long <- mask_use_wide %>% pivot_longer(cols = -COUNTYFP, names_to = "MaskUseResponse", values_to = "MaskUseProportion") %>% rename("fips" = COUNTYFP) %>% arrange(fips) # load case count data, filter based on most recent date cases <- read_delim(file="https://github.com/nytimes/covid-19-data/raw/master/us-counties.csv", delim=",") cases_latest <- cases %>% filter(date == "2020-08-03") %>% dplyr::select(-date) %>% arrange(fips) ``` These data from last time are all at the county level, which vary considerably by size. So for instance if we wanted to know the fraction of positive cases in a state, or if we wanted to know what mask-wearing behavior was in a particular state, we should really take this variability in county size into account. It's also useful to see which counties have been hit particularly hard, since any positive cases may be expected if the county is quite large. Let's load in some additional data on population size by county, which I obtained from www.census.gov. ```{r, include=FALSE} pop_sizes <- read_delim(file="co-est2019-annres.csv.xz", delim=",") ``` When I'm working with larger files and I want to make sure they looks like I expect them to, instead of opening up the file and scrolling through all the lines, checking each by eye, I typically use various commands to just get an idea of what it looks like before proceeding. Oftentimes, this is sufficient; we don't need to check every line. These are just a few commands I might use to look at the first and last few lines, how many rows there are overall, and also get an idea of how much missing data there might be: ```{r} head(pop_sizes) nrow(pop_sizes) sum(!is.na(pop_sizes$'2019')) # how many counties have size estimates for 2019? it's even closer to the 3142 we expect! tail(pop_sizes) ``` Ok so these data are a little messy and need to be cleaned up. From these commands, we can see that the entire US was included in this table, which is not a county. We should remove that. Also, county names are all preceded with a ".", something we'll deal with in a moment. The number of rows in the table is very similar to what we expect (3,142 according to wikipedia), but maybe larger by 7 rows or so. The row containing the entire US contributes to this excess of rows beyond our expectation. Looking at the number of entries for the year 2019, they're extremely close to what we expect. Looking at the bottom of the table, we see some footnotes were left in. These are probably contributing to the extra number of rows and should absolutely be removed. Let's remove these rows at the beginning and end with the slice() function (unlike the select() function that removes columns). ```{r, include=FALSE} pop_sizes <- pop_sizes %>% dplyr::slice(2:3143) # this also gets rid of the notes at the bottom ``` As you can see in the cheat sheet, there are many ways to select rows, even at random! We won't do this, but this could be useful if you wanted to set up an analysis on a smaller subset of your data to make sure everything runs correctly but quickly. Then, after everything is set up, run your analyses on the entire data, which could take a while with huge data sets. The 'Geographic Area' column has two pieces of info in it: county and state. We should split this column into two columns so that we can separately access the info. For instance, later on we will do an analysis not by county but by state, summing up across a state's counties, and this requires having this information in it's own separate column. To separate this info into 2 seperate columns, we will use the separate() function: ```{r, include=FALSE} pop_sizes <- pop_sizes %>% separate(col = 'Geographic Area', into = c("County", "State"), sep = ", ") ``` This illustrates how even though we split our data up by commas when we loaded it in above, we can further split columns based on specific characters. Above, we asked the read_delim() function to split by commas, so you would think this column/field would also get separated, but when you look at the raw data file you can see that data from each column is contained within quotes, and this info within quotes is separated by commas. And just so you know, there's a related function called unite() that does just the opposite: combining columns into a single column. Let's get rid of extra characters in the new 'County' column. We don't need the "." that precedes each name, and it's pointless that each individual county name is followed by "County"... we know they're counties based on the name of the column. We can use the mutate() function to add new rows with new names, but if the name of the new row we want is the same as an existing one, it just replaces it! ```{r, include=FALSE} pop_sizes <- pop_sizes %>% mutate(County = str_remove(string = County,pattern = ".")) %>% mutate(County = str_remove(string = County,pattern = " County")) ``` This table includes population size data for quite a few years. Let's just get the most recent population estimate, selecting the 2019 column with the select() function: ```{r, include=FALSE} pop_sizes <- pop_sizes %>% dplyr::select(County, State, "2019") ``` As we did above for the data sets we used last week, we can also combine all of these individual commands into one compact command that might look something like this: ```{r, include=FALSE} pop_sizes <- read_delim(file="co-est2019-annres.csv", delim=",") %>% dplyr::slice(2:3143) %>% separate(col = 'Geographic Area', into = c("County", "State"), sep = ", ") %>% mutate(County = str_remove(string = County,pattern = ".")) %>% mutate(County = str_remove(string = County,pattern = " County")) %>% dplyr::select(County, State, "2019") ``` We can take a quick peek at these population size data, now that they're cleaned, using the summary() function, which shows there's a ton of variability in county sizes! ```{r} summary(pop_sizes) ``` Let's combine these data on population sizes with our previous data on case counts and mask usage, as it may reveal interesting dynamics that vary by county size. We will first use the join command on the case count data and the county population size data, joining by BOTH county and state. Why can't we just join by county? ```{r, include=FALSE} cases_popsize <- inner_join(x=cases_latest, y=pop_sizes, by=c("county"="County", "state"="State")) ``` Using this table with case counts and population size, let's add in the mask data. For now, let's not add in all the mask data. Let's only incorporate the the proportion of people who are "ALWAYS" masked for each county ```{r, include=FALSE} cases_popsize_masked <- inner_join(x=cases_popsize, y=dplyr::select(mask_use_wide, c(COUNTYFP, ALWAYS)), by=c("fips" = "COUNTYFP")) ``` Looking at this data table, for each county we now have cases, deaths, population size, and the proportion of people who are always masked. You may also notice the population size data had a column entitled "2019" for size estimates during that year. Let's make this more informative and change it to "pop_size", and rename the ALWAYS column so that we know it's referring to always masked. ```{r, include=FALSE} cases_popsize_masked <- cases_popsize_masked %>% rename("pop_size" = "2019", "AlwaysMasked" = ALWAYS) ``` # Visualizing data and finding outliers Let's quickly probe these data just to get an idea of what they look like. The main goal here is to teach you how to use R/tidyverse commands to quickly and easily explore your data. Again, due to the context of these data, let's keep any results as descriptive observations. We can't say anything conclusive without more complicated analyses that we'll leave to the public health officials. Let's assume these case count data are accurately measuring the number of people who are getting coronavirus infections (which is a horrible assumption because TONS of younger people may be completely asymptomatic and never get tested). Assuming this, what fraction of a county's population is testing positive, and how does this fraction vary with population size? ```{r} cases_popsize_masked <- cases_popsize_masked %>% mutate(FracPos = cases/pop_size) ``` Do counties with large populations have a higher proportion of case counts? Let's use a simple plotting function to plot population size on the x axis and proportion of cases on y axis. Since we will look at the proportion of cases by dividing the data in the case counts column by the data in the population size column, let's just make a new column called 'FracPos' that contains this information We can make a quick plot of these data using a base R (i.e. not tidyverse) plotting function: ```{r} cases_popsize_masked <- cases_popsize_masked %>% mutate(FracPos = cases/pop_size) plot(x=cases_popsize_masked$pop_size, y=cases_popsize_masked$FracPos, log="x", ylab="Fraction of cases", xlab="pop size") # DON'T RUN CORRELATION ANALYSES WITH HETEROSCEDASTICITY ``` Looks interesting. Counties with larger population sizes may look like they have higher proportion of cases, but it's a little complicated because there's a lot of variability for counties with smaller population sizes. One thing that might catch our eye are those outliers with very high rates of positive cases? What counties are theses, and in what states? We can very easily check this with the following: ```{r} cases_popsize_masked %>% filter(FracPos > 0.08) %>% arrange(desc(FracPos)) ``` Let's add another column for death rate, and visualize the relationship between the fraction of positive cases and the death rate: ```{r} cases_popsize_masked <- cases_popsize_masked %>% mutate(FracDeaths = deaths/cases) plot(x=cases_popsize_masked$FracPos, y=cases_popsize_masked$FracDeaths, log="", xlab="FracCases", ylab="FracDeaths") ``` What are these counties that have been severely impacted by deaths? Is this something to be concerned about, or is this just noise from counties with small sizes and/or small case counts? ```{r} cases_popsize_masked %>% filter(FracDeaths > 0.15) %>% arrange(desc(FracDeaths)) ``` # group_by() and summarize() functions are extremely easy and powerful The use of the group_by() and summarize() functions allows us to quickly get extremely informative information from our data. We'll show how they're useful in many ways, but I'd like to start with showing the importance of changing your data from long format to wide format. Let's go back to our original mask use data table, not the combined one. What if we wanted to quickly get the overall mean values of ALWAYS, ... , NEVER across all the counties? We could use the original data in wide format, and calculate the mean for each of these columns. We could also use the simple summary() function which outputs a table: ```{r} mean(mask_use_wide$NEVER) mean(mask_use_wide$RARELY) mean(mask_use_wide$SOMETIMES) mean(mask_use_wide$FREQUENTLY) mean(mask_use_wide$ALWAYS) summary(mask_use_wide) ``` There's nothing wrong with doing it this way, but it's not very elegant and would get more difficult if our data were more complicated. Also, the summary function outputs a table that is not the easiest to analyze. Another way of calculating these values is to convert our mask data into long format where these mask-wearing frequency categories (NEVER, ... , ALWAYS) are different values of a categorical variable (MaskUseResponse), and we tell R that we want to do an analysis separately for each of these different categorical variable values, where here this analysis is just calculating the mean. In other words, for all the rows with values of NEVER for MaskUseResponse, calculate a mean separately, and repeat for all the other possible MaskUseResponse values. We tell R to treat these different categorical variable values separately using group_by(), and the summarize() function can then use these groupings to perform analyses, here calculating the mean. ```{r} mask_use_long %>% group_by(MaskUseResponse) %>% summarize(mean(MaskUseProportion)) ``` As you can see, this also outputs a tibble, which we can use for other downstream analyses. Looking at the cheat sheet, you will see summarize can take a variety of functions. Let's explore another example of group_by() and summarize() using our tibble that has all our combined information. Instead of focusing on counties as our unit of analysis, we can use group_by() to easily switch to a state level analysis by telling the summarize() function to perform analyses for each state, combining all the rows that have the same value under the "state" column. When we combine the group_by() function with summarize(), we can easily do some pretty powerful analyses that would take a lot of effort using other programs. ```{r} cases_popsize_masked %>% group_by(state) %>% summarize(MeanMasked = mean(AlwaysMasked)) %>% arrange(desc(MeanMasked)) ``` You can comment out the line containing the group_by() statement to see it's effect. Note that this creates a new tibble, and that a new column is created called "MeanMasked" that calculates the mean as a function of whatever variable was put into group_by(). So what is happening here is because we gave "state" to group_by(), R goes through all the rows of AlwaysMasked and if they have the same value for "state", from different counties from the same state, it uses all that data for the state to calculate a mean. I'd like to point out that this is potentially a bad analysis because we are calculating a mean for a state based on it's counties, and some of these counties may be represented by fewer people. So if we truly wanted the average behavior of a state, we should weight each county by its population size. Why should a county with a size of 400 contribute equally to the mean as a county of size 40,000? The following code calculates a custom mean value, where each county is weighted by its population size: ```{r} cases_popsize_masked %>% group_by(state) %>% summarize(WeightedMeanMasked = sum(AlwaysMasked*pop_size)/sum(pop_size)) %>% arrange(desc(WeightedMeanMasked)) ``` See the element-wise vector math figure provided in the github repository for a graphical explanation of what's being done here: Did this weighting by county size actually make a difference? Let's store these analyses as 'x' and 'y' and compare them: ```{r} x <- cases_popsize_masked %>% group_by(state) %>% summarize(MeanMasked = mean(AlwaysMasked)) %>% arrange(state) y <- cases_popsize_masked %>% group_by(state) %>% summarize(WeightedMeanMasked = sum(AlwaysMasked*pop_size)/sum(pop_size)) %>% arrange(state) hist(x$MeanMasked - y$WeightedMeanMasked) ``` It looks like on average, AlwaysMasked estimates that don't take pop_size into account are systematically lower than those that do. When we don't take county size into account, we effectively give more weight to smaller counties. Thus, if by doing this we produce lower estimates of AlwaysMasked by state, this suggests that smaller counties in general have lower values for AlwaysMasked. Is this true? ```{r} plot(x=cases_popsize_masked$pop_size, y=cases_popsize_masked$AlwaysMasked, log="x", xlab="pop size", ylab="AlwaysMasked") ``` # Summary: ## New tidyverse functions used today: - slice() to select specific rows by index number - separate() to take a column with multiple pieces of information and split it into multiple columns - mutate() with str_remove to get rid of characters or words we don't want, there are many similar functions in the stringr package, which has its own cheat sheet - select() to - group_by() to categorize our data by the values in a particular column (here, by state) - summarize() to calculate simple but very informative statistics, such as mean and variance ================================================ FILE: unix-pipes/binder/environment.yml ================================================ channels: - conda-forge - bioconda - defaults dependencies: - bash_kernel - bwa - fastp - samtools - time ================================================ FILE: unix-pipes/index.ipynb ================================================ { "cells": [ { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Unix Pipes\n", "### Bioinformatics Coffee Hour - June 16, 2020\n", "#### Your Host: Nathan Weeks" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## What this lesson will cover\n", "* Unix pipes in shell scripts to improve efficiency of simple bioinformatics workflows\n", "* _Example:_ Short-read (FASTQ) alignment to BAM " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "### Software Utilities Used" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "#### curl\n", " https://curl.haxx.se/\n", "command line tool and library for transferring data with URLs" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "#### gzip\n", " https://www.gnu.org/software/gzip/\n", "popular data compression program" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "#### fastp\n", " https://github.com/OpenGene/fastp\n", "all-in-one FASTQ preprocessor (QC/adapters/trimming/filtering/splitting/merging...)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "#### bwa\n", " http://bio-bwa.sourceforge.net/\n", "software package for mapping low-divergent sequences against a large reference genome" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "#### samtools\n", " https://github.com/samtools/samtools\n", "tools... for manipulating [Reading/writing/editing/indexing/viewing] next-generation sequencing data [SAM/BAM/CRAM format]" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Motivation\n", "Bioinformatics workflows are usually *big*...\n", " - big input files\n", " - many workflow **stages**\n", " + each workflow stage usually takes as input a file(s) from the previous stage, and produces output file(s) for the next stage\n", " + each stage may use a different software tool" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Example: 1/2 of a variant-calling pipeline\n", "\n", "\n", "*source: Brian Arnold, https://github.com/harvardinformatics/shortRead_mapping_variantCalling/ *" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Definition\n", "
\n", "
file
\n", "
An object that can be written to, or read from, or both.
\n", "
\n", "\n", "*source: POSIX.1-2018*" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "#### Unix processes start with 3 open \"files\" (connected to a terminal in an interactive shell)\n", "
\n", "
standard input (\"stdin\")
\n", "
An input stream usually intended to be used for primary data input.
\n", "
standard output (\"stdout\")
\n", "
An output stream usually intended to be used for primary data output.
\n", "
standard error (\"stderr\")
\n", "
An output stream usually intended to be used for diagnostic messages.
\n", "
\n", "\n", "![process](images/process.svg)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "
\n", "
filter
\n", "
A command whose operation consists of reading data from standard input or a list of input files and writing data to standard output.\n", " Typically, its function is to perform some transformation on the data stream.
\n", "
\n", "\n", "source: POSIX.1-2018_\n", "\n", "_Many unix programs act as filters_" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "## Example: grep\n", "\n", "When given only a pattern argument (no file arguments), grep operates as a _filter_, reading input from stdin, and writing output to stdout (_enter CTRL-D to indicate end of input_)\n", "\n", "```\n", "$ grep PATTERN\n", "```" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "### Redirect stdout to a file\n", "\n", "To write grep's output to a file (instead of a terminal), use the shell redirection operator (`>`)\n", "\n", "```\n", "$ grep PATTERN > matched.txt\n", "```" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Introducing Pipes\n", "Pipes are a form of [Interprocess Communication](https://en.wikipedia.org/wiki/Inter-process_communication) with the following properties:\n", "* One-way commmunication channel between two _processes_\n", " - **process**: a running program\n", "* Data written (sequentially) by one process (usually to its stdout) is read (sequentially) by another (usually from its stdin)\n", "* Operating system kernel blocks writer (process in a \"sleep\" state) until data is read by reader\n", " + Similarly, reader blocks until writer writes data" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Pipes in Programming Languages \n", "* The (Unix/Linux/POSIX) shell command language (understood by bash, zsh, sh, and others) has a construct called a pipe (`|` operator)\n", "* Many other programming languages allow use of pipes in some fashion:\n", " - AWK: `command | getline [var]` to read, `print ... > command` to \n", " - Python: [subprocess.Popen()](https://docs.python.org/3/library/subprocess.html#replacing-shell-pipeline)\n", " - R: `pipe()`\n", " + Not to be confused with the pipe `%>%` operator from the magrittr package" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### (shell) Pipeline\n", "* A sequence of commands separated by the `|` (pipe) operator\n", "* standard output of the command on the left of the `|` is connected to the standard input of the command to the right of the `|`" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Why use pipes?\n", "\n", "1. I/O efficiency\n", " - Data flows between processes without being written to disk\n", "2. Concurrency\n", " - Processes in a pipeline execute concurrently\n", " - e.g., utilizing multicore processors" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "### Example: Sequential Laundry\n", "![laundry1](images/laundry1.gif)\n", "*source: https://cs.stanford.edu/people/eroberts/courses/soco/projects/risc/pipelining/index.html*" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "### Example: Pipelined Laundry\n", "![laundry2](images/laundry2.gif)\n", "*source: https://cs.stanford.edu/people/eroberts/courses/soco/projects/risc/pipelining/index.html*" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "---\n", "## Examples\n", "---" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "#### Example 1: download FASTA file and compress on-the-fly" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "mkdir -p input\n", "GENOME_FASTA_URL=https://github.com/harvardinformatics/shortRead_mapping_variantCalling/raw/b120a823c23b1eaf1cfb95ea5d5ca0ce26a50c32/data/genome/Tgut_subseg_renamed.fa\n", "curl -sL ${GENOME_FASTA_URL} | gzip -v -9 > input/Tgut_subseg_renamed.fa.gz\n", "ls -lh input/Tgut_subseg_renamed.fa.gz" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### Explanation: \n", "* `curl` downloads the FASTA file from the specified URL and writes it to its stdout.\n", "* `gzip`, when not given a file argument, reads (uncompressed) data from stdin and writes compressed data to stdout.\n", " - The `gzip -v` option prints the compression ratio to stderr_, the `-9` option specififies maximal compression (==more run time, but better compression)\n", "* The shell output redirection operator (`>`) writes the stdout of `gzip` to a file (Tgut_subseg_renamed.fa.gz)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Example 2: Print the length of each sequence in the compressed FASTA file\n", "Our FASTA file has one sequence per line. [AWK](https://en.wikipedia.org/wiki/AWK) can generate a tab-separated list of sequence ID and sequence length (\n", "\n", "_Problem:_ AWK cannot read a gzip file directly.\n", "\n", "_Solution:_ Combine `gzip` options`-d` (decompress) and `-c` (write to stdout), and pipe to awk's stdin:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "gzip -dc input/Tgut_subseg_renamed.fa.gz |\n", " awk '/^>/ { if (len) print len; len = 0; printf(\"%s\\t\", substr($1,2)) }\n", " !/^>/ { len+=length }\n", " END { printf(\"%i\\n\", len) }'" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Fetch sequence reads to align:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "(cd input && curl -LO 'https://github.com/harvardinformatics/shortRead_mapping_variantCalling/raw/5530f1991da66af82d0213bc3492da8a431a1a92/data/fastq/ERR1013163_[1-2].fastq.gz')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next, index the genome file so `bwa` can align reads to it:\n", "\n", "_Note: `bwa` can index (gzip-)compressed reference sequences_" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "bwa index input/Tgut_subseg_renamed.fa.gz" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Sequence alignment workflow (sequential)\n", "\n", "* Output of each stage written as file(s)\n", "* Command in each stage must be run to completion before next stage is executed" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "set -o xtrace\n", "mkdir -p orig\n", "time (\n", "cd orig\n", "ln -sf ../input\n", "# trim reads, generate HTML report\n", "fastp --in1 input/ERR1013163_1.fastq.gz --in2 input/ERR1013163_2.fastq.gz --out1 ERR1013163_1.fastq-trimmed.gz --out2 ERR1013163_2.fastq-trimmed.gz\n", "# align reads\n", "bwa mem input/Tgut_subseg_renamed.fa.gz ERR1013163_1.fastq-trimmed.gz ERR1013163_2.fastq-trimmed.gz > ERR1013163.sam\n", "# sort alignments by read name\n", "samtools sort -n --output-fmt bam -o ERR1013163.bam ERR1013163.sam \n", "# fill in mate coordinates and insert size in BAM records\n", "samtools fixmate -m ERR1013163.bam ERR1013163-fixmate.bam\n", "# sort by alignment coordinate\n", "samtools sort -o ERR1013163-fixmate-sort.bam ERR1013163-fixmate.bam\n", "# mark duplicate alignments\n", "samtools markdup -f markdup.stats --output-fmt-option level=9 ERR1013163-fixmate-sort.bam out.bam\n", "# index resulting bam file \n", "samtools index out.bam\n", "samtools stats out.bam > out.bam.stats.txt\n", ")\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Check files created :" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "ls -lh orig" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## A special \"file\": /dev/stdin\n", "\n", "* Some utilities either accept an optional file argument (e.g., gzip, awk, most other unix utilities), reading from stdin if no input file is specified\n", "* Some utilities accept \"-\" in place of either an input or output file argument to mean stdin (or stdout) respectively\n", "* Other utilities require an actual file argument; e.g. `bwa mem`:\n", "```\n", " bwa mem [options] db.prefix reads.fq [mates.fq]\n", "```\n", " - **reads.fq** is required. However, `bwa mem` reads **reads.fq** sequentially, and can conceptually use a pipe.\n", " \n", "```\n", " fastp reads.fq | bwa mem db.prefix /dev/stdin\n", "```\n", " \n", "**Note: this works only if the utility reads (or writes) the file sequentially**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Sequence alignment workflow (pipeline)\n", "\n", "* Process in each stage writes output directly to input of another process(es)\n", "* Processes execute concurrently" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "mkdir -p ex-pipe\n", "time (\n", "cd ex-pipe\n", "ln -s ../input\n", "# fastp supports interleaved (https://github.com/OpenGene/fastp#output-to-stdout) output\n", "fastp --in1 input/ERR1013163_1.fastq.gz --in2 input/ERR1013163_2.fastq.gz --stdout 2>/dev/null |\n", " # bwa mem requires a FASTQ file operand (will not take reads from stdin).\n", " # /dev/stdin is a special file that represents a process's standard input\n", " bwa mem input/Tgut_subseg_renamed.fa.gz /dev/stdin 2> /dev/null |\n", " # sort input SAM records by read name (\"-n\"), write uncompressed BAM ((compression) level=0) to stdout\n", " # (otherwise, samtools will detect input format & use same output format)\n", " samtools sort -n --output-fmt bam --output-fmt-option level=0 |\n", " # Usage: samtools fixmate \n", " # samtools allows \"-\" to be used in place of \n", " samtools fixmate -m - - |\n", " # samtools sort reads from stdin and writes to stdout by default\n", " samtools sort |\n", " samtools markdup -f markdup.stats --output-fmt-option level=9 - - |\n", " # samtools index requires an input bam file argument; use /dev/stdin\n", " tee out.bam >(samtools index /dev/stdin out.bam.bai) |\n", " # samtools stats reads from stdin and writes to stdout by default\n", " samtools stats > out.bam.stats.txt\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Much less data written to / read from disk:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "ls -lh ex-pipe" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's take a closer look at the last stages of the pipeline.\n", "\n", "Two additional tools are being introduced: the [tee](https://en.wikipedia.org/wiki/Tee_(command)) command, and [process substitution](https://en.wikipedia.org/wiki/Process_substitution) ( `>(...)` )\n", "\n", "### tee\n", "\n", "`tee` duplicates its stdin to one or more files in addition to stdout:\n", "\n", "![tee](https://upload.wikimedia.org/wikipedia/commons/2/24/Tee.svg)\n", "\n", "*source: Wikipedia*" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "```\n", "... |\n", " samtools markdup -f markdup.stats --output-fmt-option level=9 - - |\n", " tee out.bam >(samtools index /dev/stdin out.bam.bai) |\n", " samtools stats > out.bam.stats.txt\n", "```\n", "![pipe](images/pipe.svg)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# The End!\n", "## Questions, comments...?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "## Bonus material\n", "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### pipefail\n", "By convention, processes return an exit status of 0 to indicate success, and > 0 to indicate failure.\n", "\n", "By default, the exit status of a pipeline is the exit status of the last command in the pipeline:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "samtools sort foo/bar.sam | head\n", "echo \"exit status: $?\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This is inconvenient when trying to determine if a (Slurm) job script ran successfully, or if it's desired to terminate the script if any command fails (e.g., using `set -o errexit`).\n", "\n", "The `pipefail` option causes the exit status of a pipeline to be the exit status of the last command in the pipeline to have a non-zero exit status:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "set -o pipefail\n", "samtools sort foo/bar.sam | head\n", "echo \"exit status: $?\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Other Terms\n", "\n", "### Regular File\n", "> A file that is a _**randomly accessible**_ sequence of bytes.\n", "```\n", "$ ls -lh ERR1013163_1.fastq.gz\n", "-rw-r--r-- 1 jovyan root 3.8M Jun 10 16:00 ERR1013163_1.fastq.gz\n", "\n", "### FIFO (aka \"named pipe\")\n", "**F**irst **I**n **F**irst **O**ut\n", "\n", "> A type of file with the property that data written to such a file is read on a first-in-first-out basis.\n", "\n", "_In other words, data are written / read **sequentially**_\n", "\n", "### FIFO Example" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "set -o xtrace\n", "mkfifo test.fifo\n", "printf 'line1\\nline2\\nline3\\n' > test.fifo &\n", "sleep 5\n", "jobs\n", "sleep 5\n", "cat test.fifo" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Process Substitution\n", "`command1 >(command2)` is loosely analogous to:\n", "```\n", "mkfifo tmp.fifo\n", "command1 > tmp.fifo &\n", "command2 < tmp.fifo\n", "rm tmp.fifo\n", "```" ] } ], "metadata": { "kernelspec": { "display_name": "Bash", "language": "bash", "name": "bash" }, "language_info": { "codemirror_mode": "shell", "file_extension": ".sh", "mimetype": "text/x-sh", "name": "bash" } }, "nbformat": 4, "nbformat_minor": 4 }