diff --git a/CMakeLists.txt b/CMakeLists.txt
index de05f7a..2daf8bb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -37,6 +37,16 @@ target_include_directories(quasar PRIVATE ${EXTERN_LIBS_PATH}/cxxopts/include/)
target_include_directories(quasar PRIVATE ${EXTERN_LIBS_PATH}/eigen-3.4.0/)
target_include_directories(quasar PRIVATE ${EXTERN_LIBS_PATH}/brent/)
+set(PGEN_PATH "${EXTERN_LIBS_PATH}/pgenlib")
+add_custom_target(
+ pgenlib
+ COMMAND make
+ WORKING_DIRECTORY ${PGEN_PATH}
+)
+target_link_libraries(quasar PRIVATE ${PGEN_PATH}/pgenlib.a)
+target_include_directories(quasar PRIVATE ${PGEN_PATH} ${PGEN_PATH}/simde/ ${PGEN_PATH}/include/)
+add_dependencies(quasar pgenlib)
+
enable_testing()
add_executable(quasar_tests EXCLUDE_FROM_ALL tests/test_smoke.cpp)
diff --git a/example/chr22-n100.pgen b/example/chr22-n100.pgen
new file mode 100644
index 0000000..95833dd
Binary files /dev/null and b/example/chr22-n100.pgen differ
diff --git a/example/chr22-n100.psam b/example/chr22-n100.psam
new file mode 100644
index 0000000..7d5db2c
--- /dev/null
+++ b/example/chr22-n100.psam
@@ -0,0 +1,101 @@
+#IID SEX
+691_692 NA
+693_694 NA
+688_689 NA
+683_684 NA
+684_685 NA
+686_687 NA
+689_690 NA
+687_688 NA
+690_691 NA
+685_686 NA
+692_693 NA
+682_683 NA
+825_826 NA
+823_824 NA
+829_830 NA
+832_833 NA
+831_832 NA
+827_828 NA
+830_831 NA
+824_825 NA
+842_843 NA
+843_844 NA
+826_827 NA
+847_848 NA
+836_837 NA
+990_991 NA
+835_836 NA
+848_849 NA
+989_990 NA
+997_998 NA
+834_835 NA
+849_850 NA
+985_986 NA
+851_852 NA
+845_846 NA
+850_851 NA
+846_847 NA
+852_853 NA
+999_1000 NA
+996_997 NA
+995_996 NA
+812_813 NA
+994_995 NA
+991_992 NA
+992_993 NA
+998_999 NA
+811_812 NA
+810_811 NA
+986_987 NA
+993_994 NA
+857_858 NA
+1003_1004 NA
+1002_1003 NA
+854_855 NA
+855_856 NA
+1004_1005 NA
+858_859 NA
+1000_1001 NA
+1001_1002 NA
+987_988 NA
+856_857 NA
+853_854 NA
+988_989 NA
+859_860 NA
+802_803 NA
+804_805 NA
+891_892 NA
+865_866 NA
+1007_1008 NA
+861_862 NA
+862_863 NA
+860_861 NA
+864_865 NA
+1006_1007 NA
+803_804 NA
+863_864 NA
+890_891 NA
+1005_1006 NA
+1009_1010 NA
+805_806 NA
+1010_1011 NA
+1008_1009 NA
+807_808 NA
+893_894 NA
+806_807 NA
+892_893 NA
+1011_1012 NA
+1014_1015 NA
+808_809 NA
+809_810 NA
+1012_1013 NA
+1021_1022 NA
+1016_1017 NA
+1023_1024 NA
+1018_1019 NA
+898_899 NA
+1019_1020 NA
+894_895 NA
+899_900 NA
+896_897 NA
diff --git a/example/chr22-n100.pvar b/example/chr22-n100.pvar
new file mode 100644
index 0000000..32c4240
--- /dev/null
+++ b/example/chr22-n100.pvar
@@ -0,0 +1,69639 @@
+#CHROM POS ID REF ALT
+22 16849573 22:16849573A-G A G
+22 16849971 22:16849971A-T A T
+22 16850437 22:16850437G-A G A
+22 16851225 22:16851225C-T C T
+22 16851356 22:16851356C-T C T
+22 16851640 22:16851640C-T C T
+22 16851673 22:16851673A-G A G
+22 16851899 22:16851899C-G C G
+22 16852312 22:16852312G-A G A
+22 16852652 22:16852652G-A G A
+22 16852914 22:16852914G-A G A
+22 16853019 22:16853019A-G A G
+22 16853178 22:16853178C-T C T
+22 16853625 22:16853625A-C A C
+22 16855618 22:16855618G-A G A
+22 16858076 22:16858076A-G A G
+22 16858191 22:16858191T-C T C
+22 16858364 22:16858364C-T C T
+22 16858684 22:16858684G-A G A
+22 16858723 22:16858723G-A G A
+22 16859704 22:16859704T-G T G
+22 16860036 22:16860036T-A T A
+22 16860139 22:16860139T-G T G
+22 16860336 22:16860336T-C T C
+22 16860360 22:16860360G-A G A
+22 16860442 22:16860442G-A G A
+22 16860496 22:16860496T-C T C
+22 16860767 22:16860767A-T A T
+22 16860813 22:16860813G-C G C
+22 16860967 22:16860967A-G A G
+22 16860985 22:16860985T-C T C
+22 16861056 22:16861056G-A G A
+22 16862213 22:16862213A-G A G
+22 16862282 22:16862282G-A G A
+22 16862531 22:16862531C-T C T
+22 16863070 22:16863070A-G A G
+22 16869617 22:16869617A-G A G
+22 16871137 22:16871137A-G A G
+22 16872281 22:16872281C-G C G
+22 16873251 22:16873251A-C A C
+22 16873461 22:16873461A-G A G
+22 16877135 22:16877135G-C G C
+22 16877230 22:16877230C-G C G
+22 16879530 22:16879530A-G A G
+22 16880098 22:16880098A-G A G
+22 16881807 22:16881807A-C A C
+22 16885946 22:16885946C-G C G
+22 16886974 22:16886974C-G C G
+22 16890804 22:16890804G-T G T
+22 17051775 22:17051775T-G T G
+22 17054720 22:17054720T-C T C
+22 17055074 22:17055074T-A T A
+22 17055458 22:17055458G-A G A
+22 17055984 22:17055984C-T C T
+22 17056038 22:17056038G-A G A
+22 17057597 22:17057597G-A G A
+22 17058482 22:17058482T-C T C
+22 17060166 22:17060166T-C T C
+22 17064010 22:17064010A-G A G
+22 17065079 22:17065079T-A T A
+22 17066700 22:17066700T-C T C
+22 17067504 22:17067504G-T G T
+22 17068400 22:17068400C-T C T
+22 17069064 22:17069064T-A T A
+22 17070764 22:17070764C-G C G
+22 17071452 22:17071452G-A G A
+22 17071513 22:17071513G-A G A
+22 17074104 22:17074104G-A G A
+22 17074150 22:17074150A-G A G
+22 17074427 22:17074427A-G A G
+22 17074622 22:17074622A-C A C
+22 17075353 22:17075353C-A C A
+22 17075476 22:17075476A-G A G
+22 17075647 22:17075647G-A G A
+22 17076399 22:17076399T-C T C
+22 17169403 22:17169403T-C T C
+22 17169522 22:17169522G-A G A
+22 17169979 22:17169979G-T G T
+22 17196300 22:17196300C-T C T
+22 17197386 22:17197386A-T A T
+22 17198802 22:17198802A-G A G
+22 17200646 22:17200646T-A T A
+22 17201824 22:17201824C-G C G
+22 17202602 22:17202602T-C T C
+22 17203103 22:17203103A-G A G
+22 17203532 22:17203532A-G A G
+22 17203568 22:17203568A-G A G
+22 17203762 22:17203762C-T C T
+22 17206294 22:17206294C-A C A
+22 17207798 22:17207798G-T G T
+22 17208423 22:17208423T-G T G
+22 17208726 22:17208726C-T C T
+22 17210318 22:17210318A-T A T
+22 17211075 22:17211075G-A G A
+22 17213298 22:17213298C-T C T
+22 17214008 22:17214008C-T C T
+22 17214110 22:17214110A-G A G
+22 17214252 22:17214252C-T C T
+22 17214669 22:17214669C-T C T
+22 17216536 22:17216536A-C A C
+22 17219250 22:17219250T-A T A
+22 17220001 22:17220001C-T C T
+22 17220813 22:17220813G-A G A
+22 17221208 22:17221208C-A C A
+22 17221495 22:17221495T-C T C
+22 17221812 22:17221812G-A G A
+22 17222785 22:17222785T-A T A
+22 17222962 22:17222962C-T C T
+22 17223264 22:17223264A-G A G
+22 17223271 22:17223271G-C G C
+22 17223534 22:17223534G-A G A
+22 17223562 22:17223562A-G A G
+22 17223938 22:17223938G-A G A
+22 17224026 22:17224026G-A G A
+22 17224038 22:17224038C-T C T
+22 17224285 22:17224285C-A C A
+22 17224430 22:17224430T-A T A
+22 17224544 22:17224544C-T C T
+22 17224835 22:17224835A-G A G
+22 17225319 22:17225319A-C A C
+22 17225692 22:17225692T-G T G
+22 17225773 22:17225773T-C T C
+22 17225903 22:17225903A-G A G
+22 17226065 22:17226065G-A G A
+22 17226822 22:17226822A-G A G
+22 17226906 22:17226906T-C T C
+22 17226948 22:17226948G-A G A
+22 17227439 22:17227439G-A G A
+22 17227461 22:17227461T-C T C
+22 17230116 22:17230116T-A T A
+22 17231133 22:17231133G-C G C
+22 17231237 22:17231237G-A G A
+22 17231603 22:17231603C-T C T
+22 17232082 22:17232082G-T G T
+22 17234497 22:17234497G-A G A
+22 17238335 22:17238335C-A C A
+22 17238906 22:17238906C-T C T
+22 17239552 22:17239552C-T C T
+22 17255527 22:17255527C-T C T
+22 17256922 22:17256922C-T C T
+22 17265124 22:17265124A-C A C
+22 17276523 22:17276523A-C A C
+22 17278762 22:17278762T-C T C
+22 17278938 22:17278938C-T C T
+22 17279115 22:17279115A-T A T
+22 17279464 22:17279464G-A G A
+22 17279823 22:17279823A-C A C
+22 17280388 22:17280388T-C T C
+22 17280822 22:17280822G-A G A
+22 17281110 22:17281110C-A C A
+22 17281392 22:17281392G-A G A
+22 17281931 22:17281931G-A G A
+22 17282305 22:17282305A-G A G
+22 17282549 22:17282549A-G A G
+22 17282666 22:17282666G-A G A
+22 17282706 22:17282706T-A T A
+22 17283102 22:17283102C-T C T
+22 17284065 22:17284065T-C T C
+22 17284363 22:17284363G-A G A
+22 17284657 22:17284657A-C A C
+22 17285049 22:17285049G-C G C
+22 17285949 22:17285949T-C T C
+22 17286147 22:17286147T-A T A
+22 17286329 22:17286329T-G T G
+22 17286712 22:17286712T-A T A
+22 17287053 22:17287053A-G A G
+22 17287835 22:17287835A-T A T
+22 17288058 22:17288058A-G A G
+22 17288220 22:17288220C-T C T
+22 17288266 22:17288266C-A C A
+22 17288274 22:17288274T-C T C
+22 17288377 22:17288377A-C A C
+22 17289118 22:17289118C-T C T
+22 17290010 22:17290010G-T G T
+22 17290106 22:17290106T-C T C
+22 17290674 22:17290674G-A G A
+22 17292156 22:17292156T-C T C
+22 17292258 22:17292258C-A C A
+22 17292877 22:17292877C-T C T
+22 17293143 22:17293143A-T A T
+22 17293295 22:17293295G-A G A
+22 17293393 22:17293393C-T C T
+22 17294042 22:17294042C-T C T
+22 17294251 22:17294251T-G T G
+22 17294997 22:17294997G-A G A
+22 17295703 22:17295703T-C T C
+22 17295764 22:17295764A-G A G
+22 17295981 22:17295981G-T G T
+22 17296114 22:17296114G-C G C
+22 17296235 22:17296235A-T A T
+22 17296426 22:17296426A-G A G
+22 17296720 22:17296720G-A G A
+22 17296836 22:17296836T-C T C
+22 17297558 22:17297558A-G A G
+22 17297636 22:17297636A-G A G
+22 17299033 22:17299033T-C T C
+22 17299901 22:17299901G-T G T
+22 17300230 22:17300230G-A G A
+22 17300320 22:17300320A-G A G
+22 17300408 22:17300408A-G A G
+22 17300622 22:17300622A-G A G
+22 17301217 22:17301217A-G A G
+22 17301843 22:17301843A-G A G
+22 17301901 22:17301901C-T C T
+22 17302170 22:17302170T-C T C
+22 17302458 22:17302458C-G C G
+22 17302486 22:17302486T-A T A
+22 17302509 22:17302509C-T C T
+22 17302685 22:17302685T-A T A
+22 17302747 22:17302747A-G A G
+22 17302763 22:17302763G-C G C
+22 17302774 22:17302774G-C G C
+22 17302803 22:17302803G-A G A
+22 17302823 22:17302823T-C T C
+22 17302836 22:17302836C-T C T
+22 17302886 22:17302886C-T C T
+22 17302972 22:17302972C-A C A
+22 17303040 22:17303040T-C T C
+22 17303383 22:17303383C-T C T
+22 17303464 22:17303464C-A C A
+22 17303469 22:17303469C-T C T
+22 17303596 22:17303596T-G T G
+22 17303921 22:17303921A-T A T
+22 17304132 22:17304132G-A G A
+22 17304246 22:17304246C-T C T
+22 17304395 22:17304395G-A G A
+22 17304457 22:17304457C-T C T
+22 17304887 22:17304887G-A G A
+22 17305777 22:17305777G-A G A
+22 17306104 22:17306104T-G T G
+22 17306184 22:17306184G-T G T
+22 17306270 22:17306270G-A G A
+22 17307399 22:17307399T-C T C
+22 17307742 22:17307742G-A G A
+22 17307904 22:17307904T-C T C
+22 17307923 22:17307923C-T C T
+22 17308086 22:17308086C-T C T
+22 17308241 22:17308241A-G A G
+22 17309296 22:17309296A-G A G
+22 17309362 22:17309362G-T G T
+22 17309881 22:17309881A-G A G
+22 17310488 22:17310488T-C T C
+22 17310741 22:17310741A-G A G
+22 17311027 22:17311027C-A C A
+22 17311348 22:17311348C-A C A
+22 17312596 22:17312596T-C T C
+22 17312790 22:17312790C-T C T
+22 17313288 22:17313288C-T C T
+22 17313798 22:17313798G-C G C
+22 17313872 22:17313872C-T C T
+22 17314151 22:17314151G-A G A
+22 17314353 22:17314353A-G A G
+22 17314934 22:17314934C-G C G
+22 17314977 22:17314977A-G A G
+22 17315102 22:17315102T-C T C
+22 17315458 22:17315458T-G T G
+22 17315503 22:17315503G-A G A
+22 17315621 22:17315621G-C G C
+22 17316313 22:17316313T-C T C
+22 17316555 22:17316555C-T C T
+22 17316987 22:17316987C-T C T
+22 17316990 22:17316990T-G T G
+22 17317100 22:17317100T-C T C
+22 17317233 22:17317233A-C A C
+22 17317346 22:17317346C-T C T
+22 17318150 22:17318150T-C T C
+22 17318682 22:17318682C-T C T
+22 17318864 22:17318864C-A C A
+22 17319156 22:17319156T-C T C
+22 17320361 22:17320361A-T A T
+22 17321028 22:17321028C-T C T
+22 17322355 22:17322355G-A G A
+22 17323001 22:17323001T-A T A
+22 17323026 22:17323026T-G T G
+22 17323055 22:17323055G-A G A
+22 17323243 22:17323243G-A G A
+22 17323592 22:17323592G-A G A
+22 17324504 22:17324504T-G T G
+22 17324579 22:17324579C-A C A
+22 17326181 22:17326181C-A C A
+22 17326278 22:17326278C-T C T
+22 17326432 22:17326432C-T C T
+22 17326516 22:17326516C-T C T
+22 17326550 22:17326550A-G A G
+22 17326668 22:17326668A-G A G
+22 17326914 22:17326914G-A G A
+22 17327139 22:17327139G-C G C
+22 17327200 22:17327200T-C T C
+22 17327366 22:17327366T-C T C
+22 17327595 22:17327595C-T C T
+22 17327712 22:17327712A-G A G
+22 17328627 22:17328627T-C T C
+22 17328802 22:17328802T-C T C
+22 17329007 22:17329007T-C T C
+22 17329083 22:17329083A-G A G
+22 17330370 22:17330370T-C T C
+22 17330409 22:17330409G-T G T
+22 17331020 22:17331020A-G A G
+22 17331698 22:17331698T-G T G
+22 17332839 22:17332839G-A G A
+22 17333497 22:17333497T-C T C
+22 17333682 22:17333682G-C G C
+22 17333872 22:17333872C-T C T
+22 17334052 22:17334052T-C T C
+22 17337454 22:17337454C-T C T
+22 17337856 22:17337856A-G A G
+22 17338062 22:17338062A-T A T
+22 17338286 22:17338286T-C T C
+22 17338687 22:17338687C-G C G
+22 17338707 22:17338707G-T G T
+22 17338794 22:17338794A-G A G
+22 17339003 22:17339003G-A G A
+22 17339040 22:17339040T-C T C
+22 17339041 22:17339041G-A G A
+22 17339068 22:17339068T-C T C
+22 17339129 22:17339129C-G C G
+22 17339242 22:17339242G-A G A
+22 17339404 22:17339404G-A G A
+22 17339612 22:17339612T-C T C
+22 17339674 22:17339674T-C T C
+22 17339752 22:17339752G-A G A
+22 17339844 22:17339844T-A T A
+22 17340077 22:17340077A-G A G
+22 17340419 22:17340419T-C T C
+22 17340639 22:17340639C-T C T
+22 17340669 22:17340669C-T C T
+22 17340906 22:17340906T-C T C
+22 17341234 22:17341234A-C A C
+22 17341800 22:17341800A-G A G
+22 17341904 22:17341904T-G T G
+22 17342240 22:17342240C-T C T
+22 17342480 22:17342480C-A C A
+22 17342603 22:17342603C-A C A
+22 17342700 22:17342700T-C T C
+22 17342985 22:17342985A-C A C
+22 17343037 22:17343037T-A T A
+22 17343384 22:17343384T-C T C
+22 17344500 22:17344500T-C T C
+22 17344859 22:17344859C-T C T
+22 17344867 22:17344867A-G A G
+22 17345122 22:17345122G-A G A
+22 17345321 22:17345321A-G A G
+22 17346384 22:17346384C-G C G
+22 17346884 22:17346884A-G A G
+22 17346915 22:17346915T-A T A
+22 17350075 22:17350075A-G A G
+22 17382709 22:17382709A-G A G
+22 17387757 22:17387757G-A G A
+22 17388627 22:17388627G-A G A
+22 17394677 22:17394677C-T C T
+22 17394799 22:17394799G-A G A
+22 17394800 22:17394800G-A G A
+22 17396459 22:17396459C-T C T
+22 17396613 22:17396613G-C G C
+22 17396966 22:17396966G-C G C
+22 17398800 22:17398800T-C T C
+22 17399211 22:17399211C-A C A
+22 17399588 22:17399588T-C T C
+22 17401198 22:17401198G-T G T
+22 17401834 22:17401834G-T G T
+22 17403936 22:17403936C-G C G
+22 17405173 22:17405173T-C T C
+22 17406065 22:17406065A-T A T
+22 17406302 22:17406302A-G A G
+22 17406581 22:17406581T-C T C
+22 17407516 22:17407516T-C T C
+22 17407566 22:17407566C-T C T
+22 17409897 22:17409897G-A G A
+22 17412682 22:17412682G-A G A
+22 17412690 22:17412690T-C T C
+22 17413443 22:17413443A-G A G
+22 17413595 22:17413595A-C A C
+22 17414103 22:17414103T-C T C
+22 17414162 22:17414162A-T A T
+22 17414385 22:17414385T-C T C
+22 17414394 22:17414394T-C T C
+22 17414640 22:17414640G-A G A
+22 17414892 22:17414892G-T G T
+22 17414998 22:17414998G-A G A
+22 17415490 22:17415490G-A G A
+22 17415572 22:17415572T-C T C
+22 17415956 22:17415956T-C T C
+22 17416478 22:17416478A-G A G
+22 17416605 22:17416605A-G A G
+22 17416925 22:17416925A-G A G
+22 17417205 22:17417205A-T A T
+22 17417742 22:17417742C-T C T
+22 17419090 22:17419090G-A G A
+22 17419172 22:17419172C-T C T
+22 17419275 22:17419275A-G A G
+22 17419338 22:17419338T-C T C
+22 17419568 22:17419568T-C T C
+22 17420578 22:17420578C-G C G
+22 17421129 22:17421129T-C T C
+22 17421989 22:17421989C-T C T
+22 17422334 22:17422334T-C T C
+22 17422686 22:17422686T-C T C
+22 17422709 22:17422709C-G C G
+22 17422787 22:17422787G-A G A
+22 17422901 22:17422901T-C T C
+22 17423930 22:17423930T-C T C
+22 17423965 22:17423965C-A C A
+22 17424362 22:17424362C-T C T
+22 17424497 22:17424497G-C G C
+22 17424873 22:17424873A-T A T
+22 17426401 22:17426401C-T C T
+22 17426414 22:17426414T-C T C
+22 17426417 22:17426417C-G C G
+22 17426623 22:17426623T-C T C
+22 17427037 22:17427037G-A G A
+22 17427664 22:17427664A-C A C
+22 17428080 22:17428080T-C T C
+22 17428277 22:17428277G-A G A
+22 17428815 22:17428815G-A G A
+22 17428982 22:17428982A-G A G
+22 17429346 22:17429346T-C T C
+22 17429384 22:17429384T-C T C
+22 17429434 22:17429434A-G A G
+22 17430931 22:17430931A-T A T
+22 17432482 22:17432482T-G T G
+22 17433210 22:17433210T-G T G
+22 17433221 22:17433221A-G A G
+22 17433992 22:17433992C-T C T
+22 17434084 22:17434084A-G A G
+22 17434253 22:17434253T-C T C
+22 17434521 22:17434521T-C T C
+22 17434924 22:17434924G-C G C
+22 17434931 22:17434931C-T C T
+22 17435074 22:17435074G-T G T
+22 17435939 22:17435939C-G C G
+22 17436762 22:17436762G-T G T
+22 17436846 22:17436846G-A G A
+22 17437310 22:17437310C-T C T
+22 17437500 22:17437500T-C T C
+22 17437617 22:17437617G-C G C
+22 17439040 22:17439040T-C T C
+22 17439814 22:17439814A-G A G
+22 17439826 22:17439826G-A G A
+22 17440953 22:17440953T-C T C
+22 17441303 22:17441303A-G A G
+22 17441449 22:17441449T-C T C
+22 17441524 22:17441524A-G A G
+22 17441525 22:17441525C-G C G
+22 17442154 22:17442154T-C T C
+22 17442206 22:17442206A-C A C
+22 17442223 22:17442223T-C T C
+22 17442720 22:17442720G-A G A
+22 17442739 22:17442739T-C T C
+22 17442770 22:17442770A-G A G
+22 17442987 22:17442987C-T C T
+22 17443131 22:17443131T-C T C
+22 17443238 22:17443238T-A T A
+22 17443263 22:17443263T-A T A
+22 17443381 22:17443381G-A G A
+22 17444231 22:17444231T-C T C
+22 17445502 22:17445502A-C A C
+22 17446157 22:17446157G-T G T
+22 17446715 22:17446715G-A G A
+22 17446906 22:17446906G-A G A
+22 17446914 22:17446914T-G T G
+22 17446991 22:17446991C-T C T
+22 17447438 22:17447438G-A G A
+22 17448143 22:17448143G-A G A
+22 17449076 22:17449076C-G C G
+22 17450515 22:17450515G-A G A
+22 17451528 22:17451528G-A G A
+22 17451613 22:17451613C-T C T
+22 17451710 22:17451710T-C T C
+22 17451854 22:17451854G-C G C
+22 17451883 22:17451883C-A C A
+22 17452300 22:17452300T-G T G
+22 17452925 22:17452925G-A G A
+22 17452966 22:17452966T-C T C
+22 17453588 22:17453588A-C A C
+22 17453844 22:17453844A-T A T
+22 17453902 22:17453902G-A G A
+22 17454078 22:17454078T-C T C
+22 17454486 22:17454486T-C T C
+22 17454695 22:17454695C-T C T
+22 17454945 22:17454945G-A G A
+22 17455630 22:17455630C-A C A
+22 17455735 22:17455735G-A G A
+22 17456370 22:17456370A-G A G
+22 17456642 22:17456642C-A C A
+22 17456773 22:17456773A-C A C
+22 17457136 22:17457136T-C T C
+22 17457276 22:17457276C-T C T
+22 17457761 22:17457761T-C T C
+22 17457979 22:17457979A-G A G
+22 17458083 22:17458083G-T G T
+22 17459768 22:17459768T-C T C
+22 17461883 22:17461883A-T A T
+22 17462185 22:17462185C-A C A
+22 17463189 22:17463189T-C T C
+22 17463620 22:17463620A-C A C
+22 17464839 22:17464839A-G A G
+22 17465108 22:17465108G-A G A
+22 17465175 22:17465175A-G A G
+22 17467411 22:17467411G-A G A
+22 17467474 22:17467474C-A C A
+22 17467684 22:17467684G-A G A
+22 17469026 22:17469026G-A G A
+22 17469049 22:17469049C-A C A
+22 17469310 22:17469310C-T C T
+22 17469664 22:17469664G-A G A
+22 17470779 22:17470779C-A C A
+22 17471354 22:17471354C-T C T
+22 17472071 22:17472071A-G A G
+22 17473888 22:17473888G-C G C
+22 17474812 22:17474812A-G A G
+22 17475921 22:17475921T-C T C
+22 17476064 22:17476064T-C T C
+22 17476702 22:17476702A-C A C
+22 17477589 22:17477589A-G A G
+22 17480064 22:17480064T-A T A
+22 17480198 22:17480198C-T C T
+22 17480951 22:17480951C-T C T
+22 17481048 22:17481048T-C T C
+22 17482086 22:17482086G-T G T
+22 17482825 22:17482825A-G A G
+22 17482847 22:17482847C-T C T
+22 17484650 22:17484650A-C A C
+22 17485123 22:17485123G-T G T
+22 17485434 22:17485434T-A T A
+22 17486333 22:17486333T-C T C
+22 17486937 22:17486937T-C T C
+22 17486964 22:17486964G-A G A
+22 17488026 22:17488026G-C G C
+22 17488195 22:17488195G-A G A
+22 17488430 22:17488430T-C T C
+22 17488669 22:17488669C-T C T
+22 17488727 22:17488727A-C A C
+22 17489124 22:17489124G-C G C
+22 17489281 22:17489281A-C A C
+22 17489300 22:17489300C-G C G
+22 17489890 22:17489890T-C T C
+22 17489958 22:17489958G-T G T
+22 17490133 22:17490133C-A C A
+22 17491584 22:17491584A-G A G
+22 17492203 22:17492203G-A G A
+22 17492452 22:17492452T-C T C
+22 17492533 22:17492533A-G A G
+22 17492987 22:17492987G-T G T
+22 17492989 22:17492989T-C T C
+22 17493013 22:17493013C-T C T
+22 17493293 22:17493293A-G A G
+22 17493431 22:17493431C-G C G
+22 17493520 22:17493520A-G A G
+22 17493708 22:17493708G-T G T
+22 17493720 22:17493720C-G C G
+22 17494000 22:17494000T-C T C
+22 17494101 22:17494101G-A G A
+22 17494547 22:17494547G-A G A
+22 17499890 22:17499890C-T C T
+22 17500036 22:17500036T-C T C
+22 17502191 22:17502191A-G A G
+22 17503161 22:17503161T-C T C
+22 17504945 22:17504945C-A C A
+22 17505340 22:17505340G-A G A
+22 17506199 22:17506199T-G T G
+22 17506232 22:17506232T-A T A
+22 17508020 22:17508020T-G T G
+22 17508946 22:17508946C-G C G
+22 17511546 22:17511546T-A T A
+22 17511898 22:17511898C-G C G
+22 17512175 22:17512175G-A G A
+22 17512640 22:17512640G-C G C
+22 17512820 22:17512820G-C G C
+22 17512904 22:17512904T-C T C
+22 17513703 22:17513703G-A G A
+22 17514026 22:17514026G-A G A
+22 17516126 22:17516126G-C G C
+22 17516282 22:17516282G-A G A
+22 17517198 22:17517198C-T C T
+22 17517298 22:17517298T-C T C
+22 17517492 22:17517492C-T C T
+22 17517493 22:17517493G-A G A
+22 17519579 22:17519579A-G A G
+22 17520024 22:17520024C-T C T
+22 17521093 22:17521093C-T C T
+22 17521548 22:17521548G-A G A
+22 17522003 22:17522003C-T C T
+22 17522042 22:17522042C-T C T
+22 17522645 22:17522645A-G A G
+22 17522728 22:17522728G-A G A
+22 17522911 22:17522911G-A G A
+22 17523190 22:17523190G-A G A
+22 17524190 22:17524190C-G C G
+22 17524203 22:17524203T-C T C
+22 17524434 22:17524434A-G A G
+22 17524569 22:17524569C-T C T
+22 17524728 22:17524728A-T A T
+22 17525355 22:17525355A-G A G
+22 17525584 22:17525584A-G A G
+22 17525970 22:17525970T-G T G
+22 17526055 22:17526055C-T C T
+22 17526450 22:17526450T-C T C
+22 17526489 22:17526489G-A G A
+22 17526532 22:17526532G-A G A
+22 17526688 22:17526688A-T A T
+22 17527063 22:17527063C-T C T
+22 17527240 22:17527240G-A G A
+22 17527495 22:17527495G-C G C
+22 17527847 22:17527847C-T C T
+22 17528214 22:17528214G-C G C
+22 17529583 22:17529583T-C T C
+22 17529814 22:17529814T-C T C
+22 17530370 22:17530370A-G A G
+22 17530545 22:17530545T-A T A
+22 17530798 22:17530798T-C T C
+22 17531288 22:17531288G-A G A
+22 17531750 22:17531750T-C T C
+22 17532449 22:17532449G-A G A
+22 17532554 22:17532554A-G A G
+22 17532743 22:17532743T-C T C
+22 17532889 22:17532889C-G C G
+22 17533056 22:17533056G-A G A
+22 17533396 22:17533396A-T A T
+22 17533436 22:17533436A-G A G
+22 17533804 22:17533804A-G A G
+22 17534022 22:17534022G-A G A
+22 17534271 22:17534271C-G C G
+22 17534540 22:17534540C-G C G
+22 17534726 22:17534726G-A G A
+22 17534758 22:17534758A-G A G
+22 17535124 22:17535124C-T C T
+22 17535220 22:17535220A-G A G
+22 17535247 22:17535247C-T C T
+22 17535254 22:17535254T-C T C
+22 17535448 22:17535448A-G A G
+22 17535520 22:17535520A-C A C
+22 17535753 22:17535753G-A G A
+22 17535944 22:17535944G-A G A
+22 17536016 22:17536016G-A G A
+22 17536145 22:17536145T-C T C
+22 17536181 22:17536181T-G T G
+22 17536470 22:17536470A-G A G
+22 17536555 22:17536555A-G A G
+22 17537477 22:17537477A-G A G
+22 17537530 22:17537530C-T C T
+22 17537574 22:17537574C-T C T
+22 17537830 22:17537830A-G A G
+22 17537917 22:17537917A-G A G
+22 17538082 22:17538082C-A C A
+22 17538189 22:17538189T-C T C
+22 17538232 22:17538232C-G C G
+22 17538439 22:17538439C-T C T
+22 17538719 22:17538719T-C T C
+22 17538808 22:17538808T-C T C
+22 17538860 22:17538860A-G A G
+22 17538980 22:17538980C-G C G
+22 17539129 22:17539129G-A G A
+22 17539427 22:17539427G-T G T
+22 17539439 22:17539439T-C T C
+22 17539544 22:17539544G-A G A
+22 17539625 22:17539625C-G C G
+22 17539678 22:17539678T-C T C
+22 17541673 22:17541673T-C T C
+22 17542157 22:17542157A-T A T
+22 17542534 22:17542534G-T G T
+22 17542810 22:17542810T-C T C
+22 17543048 22:17543048G-C G C
+22 17543482 22:17543482A-G A G
+22 17544087 22:17544087T-C T C
+22 17544136 22:17544136G-A G A
+22 17544834 22:17544834T-G T G
+22 17545354 22:17545354T-G T G
+22 17545364 22:17545364G-A G A
+22 17545859 22:17545859C-T C T
+22 17547160 22:17547160C-A C A
+22 17547277 22:17547277C-G C G
+22 17548971 22:17548971T-C T C
+22 17548986 22:17548986C-T C T
+22 17549526 22:17549526C-A C A
+22 17549841 22:17549841A-T A T
+22 17550418 22:17550418G-A G A
+22 17551807 22:17551807G-A G A
+22 17553081 22:17553081T-C T C
+22 17553127 22:17553127G-C G C
+22 17554354 22:17554354T-G T G
+22 17554656 22:17554656T-C T C
+22 17554915 22:17554915G-A G A
+22 17555554 22:17555554G-A G A
+22 17556720 22:17556720C-T C T
+22 17556914 22:17556914G-A G A
+22 17557144 22:17557144A-G A G
+22 17557308 22:17557308A-G A G
+22 17557817 22:17557817G-A G A
+22 17559168 22:17559168T-C T C
+22 17559629 22:17559629A-G A G
+22 17560462 22:17560462G-A G A
+22 17560683 22:17560683T-C T C
+22 17561513 22:17561513A-T A T
+22 17561913 22:17561913A-C A C
+22 17563536 22:17563536G-A G A
+22 17564907 22:17564907G-A G A
+22 17565013 22:17565013A-G A G
+22 17565035 22:17565035G-A G A
+22 17565888 22:17565888C-A C A
+22 17565932 22:17565932T-C T C
+22 17565974 22:17565974G-C G C
+22 17566206 22:17566206G-T G T
+22 17566229 22:17566229T-A T A
+22 17566504 22:17566504C-T C T
+22 17567006 22:17567006G-C G C
+22 17567699 22:17567699A-C A C
+22 17567807 22:17567807C-T C T
+22 17567898 22:17567898A-G A G
+22 17567947 22:17567947C-T C T
+22 17568467 22:17568467T-C T C
+22 17569017 22:17569017T-A T A
+22 17569439 22:17569439G-A G A
+22 17570769 22:17570769A-C A C
+22 17570785 22:17570785A-G A G
+22 17571355 22:17571355G-A G A
+22 17572941 22:17572941G-A G A
+22 17572951 22:17572951A-G A G
+22 17573272 22:17573272A-G A G
+22 17573915 22:17573915G-T G T
+22 17574341 22:17574341C-T C T
+22 17577287 22:17577287T-C T C
+22 17577557 22:17577557G-A G A
+22 17579013 22:17579013A-C A C
+22 17581838 22:17581838A-C A C
+22 17582044 22:17582044T-A T A
+22 17582061 22:17582061A-G A G
+22 17582776 22:17582776C-T C T
+22 17582788 22:17582788C-T C T
+22 17585441 22:17585441C-T C T
+22 17585465 22:17585465G-T G T
+22 17585808 22:17585808G-C G C
+22 17586471 22:17586471C-T C T
+22 17586583 22:17586583C-G C G
+22 17586595 22:17586595G-A G A
+22 17586631 22:17586631G-A G A
+22 17587515 22:17587515T-C T C
+22 17587680 22:17587680A-G A G
+22 17587975 22:17587975G-A G A
+22 17589152 22:17589152T-G T G
+22 17589209 22:17589209C-T C T
+22 17589246 22:17589246G-A G A
+22 17589567 22:17589567C-T C T
+22 17590180 22:17590180G-A G A
+22 17590269 22:17590269C-T C T
+22 17590744 22:17590744T-C T C
+22 17591089 22:17591089G-A G A
+22 17591144 22:17591144C-T C T
+22 17591697 22:17591697G-A G A
+22 17591823 22:17591823C-G C G
+22 17593685 22:17593685G-A G A
+22 17593929 22:17593929A-G A G
+22 17594216 22:17594216A-G A G
+22 17594472 22:17594472G-A G A
+22 17594623 22:17594623C-T C T
+22 17594755 22:17594755G-A G A
+22 17594772 22:17594772T-A T A
+22 17594886 22:17594886T-C T C
+22 17594915 22:17594915G-A G A
+22 17594977 22:17594977A-G A G
+22 17595070 22:17595070T-G T G
+22 17595175 22:17595175C-T C T
+22 17595915 22:17595915C-A C A
+22 17595929 22:17595929G-C G C
+22 17596178 22:17596178T-C T C
+22 17596229 22:17596229T-C T C
+22 17596322 22:17596322A-G A G
+22 17596388 22:17596388G-C G C
+22 17597297 22:17597297G-A G A
+22 17597462 22:17597462G-A G A
+22 17597713 22:17597713G-C G C
+22 17597768 22:17597768A-G A G
+22 17597955 22:17597955C-T C T
+22 17598310 22:17598310C-T C T
+22 17598409 22:17598409G-A G A
+22 17598512 22:17598512G-A G A
+22 17598813 22:17598813G-A G A
+22 17599035 22:17599035G-A G A
+22 17599170 22:17599170A-G A G
+22 17599844 22:17599844G-T G T
+22 17599860 22:17599860A-C A C
+22 17600148 22:17600148A-G A G
+22 17600293 22:17600293G-A G A
+22 17600497 22:17600497G-A G A
+22 17600977 22:17600977G-A G A
+22 17601466 22:17601466T-C T C
+22 17601748 22:17601748C-T C T
+22 17602839 22:17602839G-A G A
+22 17603153 22:17603153C-G C G
+22 17603445 22:17603445C-T C T
+22 17603477 22:17603477A-G A G
+22 17603503 22:17603503G-A G A
+22 17603623 22:17603623T-C T C
+22 17603801 22:17603801C-A C A
+22 17603823 22:17603823G-A G A
+22 17604191 22:17604191T-C T C
+22 17604937 22:17604937G-A G A
+22 17605038 22:17605038C-T C T
+22 17605197 22:17605197G-C G C
+22 17605824 22:17605824G-A G A
+22 17605899 22:17605899T-C T C
+22 17606463 22:17606463G-A G A
+22 17606639 22:17606639G-A G A
+22 17606774 22:17606774C-G C G
+22 17606953 22:17606953A-G A G
+22 17607390 22:17607390A-C A C
+22 17607894 22:17607894A-T A T
+22 17608038 22:17608038G-T G T
+22 17608377 22:17608377A-G A G
+22 17608379 22:17608379G-C G C
+22 17608507 22:17608507G-A G A
+22 17609330 22:17609330C-T C T
+22 17609398 22:17609398T-G T G
+22 17609825 22:17609825G-T G T
+22 17609916 22:17609916G-T G T
+22 17610304 22:17610304C-T C T
+22 17610655 22:17610655T-G T G
+22 17610791 22:17610791C-G C G
+22 17610862 22:17610862T-A T A
+22 17611056 22:17611056G-A G A
+22 17611179 22:17611179C-A C A
+22 17611515 22:17611515T-C T C
+22 17612518 22:17612518C-A C A
+22 17612572 22:17612572G-A G A
+22 17612604 22:17612604T-C T C
+22 17612744 22:17612744G-A G A
+22 17612750 22:17612750C-T C T
+22 17612815 22:17612815C-G C G
+22 17613330 22:17613330G-C G C
+22 17613415 22:17613415A-G A G
+22 17613565 22:17613565C-T C T
+22 17613614 22:17613614C-T C T
+22 17613622 22:17613622A-G A G
+22 17613668 22:17613668C-T C T
+22 17614011 22:17614011C-A C A
+22 17614422 22:17614422G-A G A
+22 17614488 22:17614488G-A G A
+22 17614498 22:17614498G-A G A
+22 17614692 22:17614692T-G T G
+22 17615213 22:17615213A-G A G
+22 17615234 22:17615234G-C G C
+22 17615302 22:17615302C-T C T
+22 17615372 22:17615372G-A G A
+22 17615784 22:17615784G-A G A
+22 17615851 22:17615851G-A G A
+22 17615887 22:17615887A-G A G
+22 17616041 22:17616041G-A G A
+22 17616151 22:17616151G-A G A
+22 17616217 22:17616217C-T C T
+22 17616245 22:17616245A-G A G
+22 17616435 22:17616435G-A G A
+22 17616510 22:17616510A-C A C
+22 17616715 22:17616715C-T C T
+22 17616855 22:17616855G-A G A
+22 17618142 22:17618142G-T G T
+22 17618164 22:17618164C-G C G
+22 17619292 22:17619292C-T C T
+22 17619368 22:17619368G-A G A
+22 17619378 22:17619378T-C T C
+22 17619393 22:17619393A-G A G
+22 17619716 22:17619716A-G A G
+22 17620294 22:17620294T-G T G
+22 17620405 22:17620405A-G A G
+22 17621704 22:17621704C-T C T
+22 17622267 22:17622267C-T C T
+22 17622618 22:17622618C-T C T
+22 17623216 22:17623216G-A G A
+22 17623408 22:17623408G-A G A
+22 17623675 22:17623675T-C T C
+22 17623837 22:17623837A-G A G
+22 17624072 22:17624072G-A G A
+22 17624425 22:17624425G-A G A
+22 17625915 22:17625915G-A G A
+22 17626236 22:17626236C-T C T
+22 17626466 22:17626466C-A C A
+22 17626665 22:17626665T-C T C
+22 17627226 22:17627226T-C T C
+22 17629061 22:17629061G-A G A
+22 17630378 22:17630378G-A G A
+22 17630389 22:17630389G-C G C
+22 17630393 22:17630393C-T C T
+22 17630486 22:17630486C-A C A
+22 17631454 22:17631454A-G A G
+22 17631471 22:17631471T-C T C
+22 17631598 22:17631598G-A G A
+22 17631691 22:17631691G-C G C
+22 17631893 22:17631893T-C T C
+22 17632194 22:17632194C-T C T
+22 17632202 22:17632202A-G A G
+22 17632552 22:17632552A-G A G
+22 17632680 22:17632680G-A G A
+22 17632693 22:17632693C-G C G
+22 17632744 22:17632744A-T A T
+22 17632885 22:17632885T-C T C
+22 17633785 22:17633785T-C T C
+22 17633837 22:17633837C-T C T
+22 17634050 22:17634050A-G A G
+22 17634711 22:17634711T-C T C
+22 17634971 22:17634971C-T C T
+22 17634972 22:17634972C-G C G
+22 17635000 22:17635000C-T C T
+22 17635657 22:17635657T-C T C
+22 17635858 22:17635858G-A G A
+22 17636385 22:17636385G-T G T
+22 17637210 22:17637210A-T A T
+22 17637221 22:17637221G-C G C
+22 17637456 22:17637456G-A G A
+22 17637878 22:17637878G-A G A
+22 17638231 22:17638231C-T C T
+22 17638501 22:17638501C-A C A
+22 17639152 22:17639152A-C A C
+22 17639299 22:17639299A-C A C
+22 17639323 22:17639323G-A G A
+22 17639837 22:17639837A-G A G
+22 17639918 22:17639918T-G T G
+22 17640022 22:17640022G-C G C
+22 17640045 22:17640045G-A G A
+22 17641079 22:17641079C-T C T
+22 17641500 22:17641500A-G A G
+22 17641685 22:17641685C-T C T
+22 17641873 22:17641873G-A G A
+22 17641912 22:17641912A-G A G
+22 17642094 22:17642094C-G C G
+22 17642117 22:17642117C-T C T
+22 17642285 22:17642285C-T C T
+22 17643546 22:17643546C-T C T
+22 17643689 22:17643689G-A G A
+22 17643725 22:17643725G-A G A
+22 17643843 22:17643843G-A G A
+22 17644131 22:17644131C-T C T
+22 17644725 22:17644725T-C T C
+22 17645139 22:17645139T-C T C
+22 17645823 22:17645823C-T C T
+22 17646444 22:17646444C-T C T
+22 17646596 22:17646596G-T G T
+22 17647015 22:17647015G-A G A
+22 17647862 22:17647862T-G T G
+22 17647879 22:17647879C-T C T
+22 17648346 22:17648346G-A G A
+22 17648486 22:17648486A-G A G
+22 17649496 22:17649496T-C T C
+22 17649549 22:17649549C-T C T
+22 17649774 22:17649774T-C T C
+22 17650617 22:17650617G-A G A
+22 17650931 22:17650931C-T C T
+22 17651273 22:17651273G-A G A
+22 17651407 22:17651407G-C G C
+22 17651441 22:17651441A-C A C
+22 17651524 22:17651524C-T C T
+22 17651573 22:17651573T-G T G
+22 17651800 22:17651800G-A G A
+22 17652219 22:17652219G-C G C
+22 17652406 22:17652406T-C T C
+22 17652461 22:17652461G-A G A
+22 17652609 22:17652609G-T G T
+22 17652646 22:17652646C-T C T
+22 17652955 22:17652955C-G C G
+22 17653030 22:17653030C-T C T
+22 17653038 22:17653038C-T C T
+22 17653221 22:17653221C-G C G
+22 17653367 22:17653367C-T C T
+22 17653927 22:17653927G-A G A
+22 17653955 22:17653955C-G C G
+22 17654068 22:17654068G-A G A
+22 17654089 22:17654089C-T C T
+22 17654109 22:17654109A-C A C
+22 17654356 22:17654356T-G T G
+22 17654391 22:17654391C-T C T
+22 17654790 22:17654790G-A G A
+22 17654883 22:17654883C-T C T
+22 17654943 22:17654943A-G A G
+22 17655176 22:17655176G-C G C
+22 17655388 22:17655388A-G A G
+22 17655536 22:17655536G-A G A
+22 17655898 22:17655898A-T A T
+22 17655920 22:17655920G-A G A
+22 17655995 22:17655995C-T C T
+22 17656027 22:17656027A-G A G
+22 17656165 22:17656165T-G T G
+22 17656216 22:17656216A-T A T
+22 17656259 22:17656259A-C A C
+22 17656508 22:17656508T-A T A
+22 17656724 22:17656724C-A C A
+22 17656831 22:17656831C-T C T
+22 17656851 22:17656851G-A G A
+22 17657000 22:17657000T-C T C
+22 17657107 22:17657107A-G A G
+22 17657174 22:17657174G-A G A
+22 17657214 22:17657214A-T A T
+22 17657236 22:17657236C-T C T
+22 17657292 22:17657292G-A G A
+22 17657378 22:17657378C-T C T
+22 17658006 22:17658006A-G A G
+22 17658341 22:17658341A-G A G
+22 17658716 22:17658716T-C T C
+22 17658776 22:17658776C-A C A
+22 17658862 22:17658862A-G A G
+22 17658882 22:17658882A-G A G
+22 17659152 22:17659152T-C T C
+22 17659157 22:17659157A-G A G
+22 17659752 22:17659752G-C G C
+22 17659774 22:17659774G-A G A
+22 17660051 22:17660051G-C G C
+22 17660056 22:17660056G-A G A
+22 17660303 22:17660303A-T A T
+22 17660501 22:17660501C-G C G
+22 17660556 22:17660556T-C T C
+22 17660646 22:17660646A-G A G
+22 17661178 22:17661178A-G A G
+22 17661347 22:17661347C-G C G
+22 17661508 22:17661508C-G C G
+22 17661764 22:17661764T-C T C
+22 17661791 22:17661791C-T C T
+22 17661922 22:17661922C-G C G
+22 17661935 22:17661935A-T A T
+22 17662163 22:17662163C-G C G
+22 17662591 22:17662591C-G C G
+22 17662679 22:17662679C-T C T
+22 17662699 22:17662699A-G A G
+22 17662793 22:17662793A-G A G
+22 17662917 22:17662917G-C G C
+22 17663117 22:17663117T-C T C
+22 17663127 22:17663127G-T G T
+22 17663804 22:17663804A-G A G
+22 17663999 22:17663999C-A C A
+22 17664296 22:17664296C-G C G
+22 17664307 22:17664307C-T C T
+22 17664346 22:17664346C-A C A
+22 17664556 22:17664556C-T C T
+22 17664788 22:17664788A-G A G
+22 17665080 22:17665080A-G A G
+22 17665144 22:17665144A-G A G
+22 17665287 22:17665287T-C T C
+22 17665413 22:17665413T-C T C
+22 17665661 22:17665661A-C A C
+22 17666164 22:17666164C-T C T
+22 17666223 22:17666223G-A G A
+22 17666280 22:17666280T-G T G
+22 17666437 22:17666437A-T A T
+22 17666702 22:17666702T-C T C
+22 17666725 22:17666725T-G T G
+22 17666727 22:17666727T-C T C
+22 17667426 22:17667426C-T C T
+22 17667451 22:17667451G-A G A
+22 17667466 22:17667466T-A T A
+22 17668491 22:17668491C-T C T
+22 17668765 22:17668765A-C A C
+22 17668818 22:17668818C-A C A
+22 17669151 22:17669151C-T C T
+22 17669199 22:17669199G-A G A
+22 17669306 22:17669306T-C T C
+22 17669469 22:17669469T-C T C
+22 17670042 22:17670042G-C G C
+22 17670256 22:17670256C-T C T
+22 17670257 22:17670257G-C G C
+22 17671133 22:17671133C-G C G
+22 17674117 22:17674117C-T C T
+22 17675324 22:17675324C-T C T
+22 17675900 22:17675900C-A C A
+22 17676102 22:17676102T-A T A
+22 17676312 22:17676312G-A G A
+22 17676384 22:17676384A-T A T
+22 17676590 22:17676590A-G A G
+22 17676785 22:17676785A-G A G
+22 17676932 22:17676932C-T C T
+22 17677175 22:17677175T-C T C
+22 17677699 22:17677699C-T C T
+22 17677892 22:17677892G-A G A
+22 17677908 22:17677908C-G C G
+22 17678128 22:17678128C-G C G
+22 17678195 22:17678195C-T C T
+22 17678307 22:17678307A-G A G
+22 17678551 22:17678551G-C G C
+22 17679377 22:17679377G-C G C
+22 17680059 22:17680059C-T C T
+22 17680519 22:17680519A-C A C
+22 17680971 22:17680971G-A G A
+22 17681581 22:17681581A-G A G
+22 17681725 22:17681725T-C T C
+22 17681848 22:17681848C-T C T
+22 17681849 22:17681849A-G A G
+22 17681921 22:17681921G-A G A
+22 17682165 22:17682165G-A G A
+22 17682294 22:17682294C-A C A
+22 17683106 22:17683106A-G A G
+22 17683114 22:17683114G-A G A
+22 17683175 22:17683175G-A G A
+22 17684344 22:17684344C-T C T
+22 17684355 22:17684355A-G A G
+22 17685194 22:17685194T-A T A
+22 17685351 22:17685351C-A C A
+22 17685358 22:17685358C-T C T
+22 17685565 22:17685565T-C T C
+22 17685818 22:17685818T-G T G
+22 17686033 22:17686033G-C G C
+22 17686162 22:17686162G-A G A
+22 17687609 22:17687609G-C G C
+22 17688213 22:17688213G-A G A
+22 17688402 22:17688402G-A G A
+22 17690409 22:17690409G-A G A
+22 17690430 22:17690430C-G C G
+22 17691166 22:17691166C-T C T
+22 17691668 22:17691668A-G A G
+22 17691795 22:17691795T-A T A
+22 17691887 22:17691887C-T C T
+22 17692032 22:17692032A-G A G
+22 17692064 22:17692064A-G A G
+22 17692120 22:17692120A-G A G
+22 17692227 22:17692227C-T C T
+22 17692384 22:17692384G-A G A
+22 17692507 22:17692507T-A T A
+22 17693341 22:17693341T-C T C
+22 17694856 22:17694856T-G T G
+22 17696368 22:17696368T-C T C
+22 17697428 22:17697428A-G A G
+22 17697605 22:17697605G-A G A
+22 17697781 22:17697781A-C A C
+22 17697861 22:17697861C-T C T
+22 17698080 22:17698080T-C T C
+22 17698173 22:17698173A-G A G
+22 17699299 22:17699299G-T G T
+22 17699402 22:17699402T-A T A
+22 17699630 22:17699630T-A T A
+22 17699642 22:17699642T-C T C
+22 17699818 22:17699818A-G A G
+22 17700002 22:17700002G-A G A
+22 17700284 22:17700284C-T C T
+22 17700809 22:17700809G-A G A
+22 17700810 22:17700810C-T C T
+22 17701234 22:17701234A-G A G
+22 17701304 22:17701304C-A C A
+22 17701530 22:17701530T-C T C
+22 17701811 22:17701811C-A C A
+22 17701868 22:17701868C-T C T
+22 17701870 22:17701870C-T C T
+22 17702046 22:17702046A-G A G
+22 17702201 22:17702201A-C A C
+22 17702250 22:17702250C-T C T
+22 17702322 22:17702322C-T C T
+22 17702355 22:17702355G-A G A
+22 17702505 22:17702505G-A G A
+22 17702580 22:17702580T-C T C
+22 17702662 22:17702662T-C T C
+22 17702778 22:17702778C-T C T
+22 17702858 22:17702858C-T C T
+22 17702876 22:17702876G-T G T
+22 17703119 22:17703119T-A T A
+22 17703993 22:17703993G-T G T
+22 17704275 22:17704275T-C T C
+22 17704462 22:17704462G-A G A
+22 17704950 22:17704950T-C T C
+22 17705196 22:17705196C-G C G
+22 17705622 22:17705622T-C T C
+22 17705808 22:17705808C-T C T
+22 17706435 22:17706435A-G A G
+22 17706647 22:17706647T-C T C
+22 17706811 22:17706811G-A G A
+22 17707618 22:17707618G-A G A
+22 17707727 22:17707727G-A G A
+22 17707865 22:17707865G-T G T
+22 17708087 22:17708087T-C T C
+22 17709771 22:17709771T-C T C
+22 17709828 22:17709828G-A G A
+22 17709883 22:17709883G-A G A
+22 17709935 22:17709935T-C T C
+22 17710860 22:17710860C-T C T
+22 17711567 22:17711567C-A C A
+22 17711873 22:17711873G-A G A
+22 17712142 22:17712142G-A G A
+22 17715095 22:17715095C-A C A
+22 17717033 22:17717033C-T C T
+22 17717841 22:17717841T-C T C
+22 17719348 22:17719348A-G A G
+22 17719458 22:17719458T-C T C
+22 17720722 22:17720722A-G A G
+22 17721551 22:17721551G-C G C
+22 17721595 22:17721595T-C T C
+22 17722024 22:17722024G-A G A
+22 17722053 22:17722053G-A G A
+22 17722055 22:17722055A-G A G
+22 17722442 22:17722442A-T A T
+22 17722536 22:17722536G-A G A
+22 17722982 22:17722982G-T G T
+22 17723174 22:17723174C-G C G
+22 17724049 22:17724049C-A C A
+22 17724055 22:17724055C-T C T
+22 17724093 22:17724093G-A G A
+22 17725150 22:17725150C-T C T
+22 17725209 22:17725209C-G C G
+22 17725304 22:17725304A-G A G
+22 17725764 22:17725764A-G A G
+22 17725899 22:17725899T-C T C
+22 17726469 22:17726469T-G T G
+22 17726704 22:17726704G-C G C
+22 17727125 22:17727125A-G A G
+22 17727648 22:17727648C-T C T
+22 17728038 22:17728038C-T C T
+22 17728246 22:17728246G-A G A
+22 17728523 22:17728523A-G A G
+22 17728832 22:17728832T-G T G
+22 17728998 22:17728998T-C T C
+22 17729044 22:17729044T-G T G
+22 17729048 22:17729048C-A C A
+22 17729706 22:17729706G-A G A
+22 17729730 22:17729730C-T C T
+22 17730885 22:17730885C-T C T
+22 17731977 22:17731977T-C T C
+22 17732356 22:17732356A-C A C
+22 17732736 22:17732736A-G A G
+22 17732851 22:17732851A-G A G
+22 17733147 22:17733147G-A G A
+22 17733193 22:17733193T-C T C
+22 17733251 22:17733251A-G A G
+22 17733263 22:17733263T-C T C
+22 17733398 22:17733398G-A G A
+22 17733541 22:17733541A-G A G
+22 17733542 22:17733542C-G C G
+22 17733865 22:17733865T-A T A
+22 17733896 22:17733896T-C T C
+22 17734419 22:17734419A-G A G
+22 17734427 22:17734427A-G A G
+22 17734516 22:17734516C-T C T
+22 17735191 22:17735191T-C T C
+22 17735346 22:17735346G-A G A
+22 17735864 22:17735864C-T C T
+22 17735943 22:17735943A-T A T
+22 17737992 22:17737992T-C T C
+22 17738177 22:17738177A-G A G
+22 17738321 22:17738321G-A G A
+22 17765505 22:17765505G-A G A
+22 17766115 22:17766115T-C T C
+22 17769065 22:17769065G-A G A
+22 17770181 22:17770181T-G T G
+22 17780188 22:17780188C-G C G
+22 17781035 22:17781035G-A G A
+22 17781555 22:17781555T-C T C
+22 17782813 22:17782813C-T C T
+22 17782966 22:17782966C-T C T
+22 17783324 22:17783324C-T C T
+22 17783351 22:17783351G-A G A
+22 17783420 22:17783420G-A G A
+22 17783806 22:17783806T-C T C
+22 17783912 22:17783912T-G T G
+22 17783923 22:17783923G-A G A
+22 17783945 22:17783945C-T C T
+22 17784163 22:17784163A-G A G
+22 17784364 22:17784364G-T G T
+22 17784380 22:17784380C-A C A
+22 17784602 22:17784602G-A G A
+22 17784836 22:17784836C-T C T
+22 17784937 22:17784937G-A G A
+22 17784970 22:17784970G-A G A
+22 17784977 22:17784977G-A G A
+22 17785199 22:17785199A-G A G
+22 17785224 22:17785224T-C T C
+22 17785300 22:17785300A-G A G
+22 17785383 22:17785383C-T C T
+22 17785815 22:17785815C-A C A
+22 17785825 22:17785825C-T C T
+22 17785838 22:17785838T-A T A
+22 17785893 22:17785893T-C T C
+22 17785937 22:17785937A-G A G
+22 17786171 22:17786171A-G A G
+22 17787291 22:17787291C-T C T
+22 17787836 22:17787836G-C G C
+22 17787955 22:17787955A-C A C
+22 17787999 22:17787999T-C T C
+22 17788152 22:17788152A-G A G
+22 17788200 22:17788200C-A C A
+22 17788254 22:17788254G-A G A
+22 17788549 22:17788549G-A G A
+22 17788695 22:17788695A-G A G
+22 17788696 22:17788696G-A G A
+22 17788722 22:17788722T-C T C
+22 17788896 22:17788896A-G A G
+22 17789010 22:17789010A-G A G
+22 17789245 22:17789245G-T G T
+22 17789257 22:17789257T-A T A
+22 17789260 22:17789260C-A C A
+22 17790349 22:17790349C-T C T
+22 17790731 22:17790731A-G A G
+22 17790885 22:17790885C-T C T
+22 17791132 22:17791132T-G T G
+22 17791564 22:17791564T-C T C
+22 17791695 22:17791695T-C T C
+22 17791970 22:17791970T-G T G
+22 17792740 22:17792740G-A G A
+22 17793012 22:17793012G-A G A
+22 17796971 22:17796971C-A C A
+22 17797775 22:17797775C-G C G
+22 17797806 22:17797806C-T C T
+22 17798023 22:17798023T-C T C
+22 17798800 22:17798800T-C T C
+22 17798848 22:17798848C-G C G
+22 17799216 22:17799216C-T C T
+22 17799242 22:17799242A-G A G
+22 17799287 22:17799287C-T C T
+22 17799368 22:17799368T-G T G
+22 17799387 22:17799387T-C T C
+22 17799529 22:17799529C-T C T
+22 17800508 22:17800508C-T C T
+22 17800757 22:17800757G-A G A
+22 17803593 22:17803593A-G A G
+22 17803786 22:17803786A-G A G
+22 17803872 22:17803872G-A G A
+22 17804207 22:17804207A-T A T
+22 17804395 22:17804395T-C T C
+22 17806111 22:17806111G-A G A
+22 17807116 22:17807116C-T C T
+22 17809117 22:17809117A-T A T
+22 17817967 22:17817967G-C G C
+22 17818807 22:17818807T-C T C
+22 17824347 22:17824347G-A G A
+22 17824470 22:17824470T-G T G
+22 17825692 22:17825692T-C T C
+22 17830856 22:17830856A-G A G
+22 17830990 22:17830990T-C T C
+22 17831071 22:17831071G-A G A
+22 17831143 22:17831143A-G A G
+22 17831441 22:17831441T-C T C
+22 17831638 22:17831638C-T C T
+22 17831813 22:17831813C-T C T
+22 17832142 22:17832142G-T G T
+22 17832206 22:17832206T-A T A
+22 17833100 22:17833100T-C T C
+22 17833154 22:17833154A-G A G
+22 17833767 22:17833767T-A T A
+22 17834040 22:17834040G-A G A
+22 17834460 22:17834460C-T C T
+22 17834493 22:17834493A-G A G
+22 17834577 22:17834577T-C T C
+22 17834898 22:17834898G-A G A
+22 17835819 22:17835819C-T C T
+22 17837632 22:17837632A-G A G
+22 17837908 22:17837908G-C G C
+22 17837987 22:17837987T-C T C
+22 17838025 22:17838025C-T C T
+22 17838368 22:17838368T-C T C
+22 17838809 22:17838809A-C A C
+22 17839218 22:17839218C-G C G
+22 17839358 22:17839358C-T C T
+22 17840123 22:17840123A-G A G
+22 17840229 22:17840229C-T C T
+22 17840629 22:17840629G-C G C
+22 17840791 22:17840791T-C T C
+22 17841068 22:17841068G-T G T
+22 17841198 22:17841198C-G C G
+22 17841408 22:17841408C-T C T
+22 17841855 22:17841855T-C T C
+22 17842386 22:17842386G-A G A
+22 17842731 22:17842731G-A G A
+22 17843124 22:17843124G-A G A
+22 17843997 22:17843997A-G A G
+22 17844897 22:17844897T-C T C
+22 17844929 22:17844929G-T G T
+22 17846055 22:17846055G-A G A
+22 17846754 22:17846754C-A C A
+22 17846951 22:17846951G-A G A
+22 17850784 22:17850784T-A T A
+22 17850822 22:17850822T-C T C
+22 17851683 22:17851683T-C T C
+22 17852805 22:17852805G-T G T
+22 17853714 22:17853714A-G A G
+22 17855348 22:17855348A-G A G
+22 17856770 22:17856770T-C T C
+22 17856960 22:17856960T-C T C
+22 17858962 22:17858962T-C T C
+22 17860048 22:17860048C-T C T
+22 17860253 22:17860253C-G C G
+22 17860685 22:17860685A-G A G
+22 17867152 22:17867152T-G T G
+22 17870340 22:17870340T-C T C
+22 17873873 22:17873873G-T G T
+22 17873895 22:17873895A-G A G
+22 17875153 22:17875153G-A G A
+22 17875512 22:17875512C-G C G
+22 17876250 22:17876250A-G A G
+22 17876275 22:17876275C-T C T
+22 17880070 22:17880070A-G A G
+22 17881271 22:17881271T-C T C
+22 17881797 22:17881797G-A G A
+22 17881973 22:17881973A-C A C
+22 17882931 22:17882931C-G C G
+22 17883220 22:17883220C-T C T
+22 17883957 22:17883957G-T G T
+22 17885484 22:17885484A-C A C
+22 17885697 22:17885697T-C T C
+22 17886230 22:17886230G-A G A
+22 17886458 22:17886458A-G A G
+22 17887377 22:17887377A-G A G
+22 17887534 22:17887534G-A G A
+22 17888621 22:17888621A-G A G
+22 17888812 22:17888812G-A G A
+22 17888891 22:17888891T-A T A
+22 17889714 22:17889714C-G C G
+22 17889733 22:17889733T-C T C
+22 17890558 22:17890558A-G A G
+22 17890752 22:17890752T-C T C
+22 17891234 22:17891234A-G A G
+22 17891554 22:17891554G-A G A
+22 17892618 22:17892618G-A G A
+22 17893080 22:17893080T-C T C
+22 17893850 22:17893850C-T C T
+22 17894080 22:17894080A-G A G
+22 17894083 22:17894083A-G A G
+22 17894438 22:17894438G-A G A
+22 17894454 22:17894454A-G A G
+22 17895051 22:17895051G-A G A
+22 17896206 22:17896206G-C G C
+22 17896967 22:17896967C-A C A
+22 17897040 22:17897040A-C A C
+22 17897461 22:17897461G-C G C
+22 17897464 22:17897464G-C G C
+22 17897544 22:17897544T-C T C
+22 17897608 22:17897608T-C T C
+22 17897822 22:17897822G-A G A
+22 17897917 22:17897917C-T C T
+22 17898193 22:17898193T-G T G
+22 17898226 22:17898226T-C T C
+22 17898241 22:17898241C-T C T
+22 17899113 22:17899113C-G C G
+22 17899136 22:17899136C-T C T
+22 17899175 22:17899175A-G A G
+22 17899209 22:17899209A-G A G
+22 17899518 22:17899518G-A G A
+22 17899841 22:17899841G-A G A
+22 17900804 22:17900804C-T C T
+22 17901326 22:17901326G-A G A
+22 17901683 22:17901683C-T C T
+22 17901766 22:17901766C-T C T
+22 17901769 22:17901769T-A T A
+22 17901925 22:17901925T-C T C
+22 17901939 22:17901939T-C T C
+22 17901940 22:17901940G-A G A
+22 17902023 22:17902023C-G C G
+22 17902056 22:17902056C-G C G
+22 17902357 22:17902357C-T C T
+22 17902842 22:17902842G-A G A
+22 17903330 22:17903330A-G A G
+22 17903550 22:17903550C-G C G
+22 17905017 22:17905017G-T G T
+22 17905591 22:17905591G-A G A
+22 17905910 22:17905910A-G A G
+22 17906176 22:17906176A-C A C
+22 17906238 22:17906238C-T C T
+22 17906513 22:17906513G-A G A
+22 17906659 22:17906659A-G A G
+22 17906707 22:17906707G-A G A
+22 17906854 22:17906854A-G A G
+22 17906895 22:17906895G-T G T
+22 17906920 22:17906920C-A C A
+22 17906945 22:17906945A-G A G
+22 17907001 22:17907001T-G T G
+22 17907058 22:17907058G-A G A
+22 17907350 22:17907350G-C G C
+22 17907411 22:17907411A-G A G
+22 17907738 22:17907738G-A G A
+22 17907772 22:17907772C-T C T
+22 17908162 22:17908162G-A G A
+22 17908285 22:17908285T-C T C
+22 17909077 22:17909077G-A G A
+22 17909524 22:17909524A-G A G
+22 17909998 22:17909998C-T C T
+22 17910586 22:17910586T-G T G
+22 17910638 22:17910638T-C T C
+22 17910704 22:17910704A-G A G
+22 17910844 22:17910844T-C T C
+22 17910952 22:17910952A-G A G
+22 17911299 22:17911299A-T A T
+22 17911826 22:17911826G-A G A
+22 17911886 22:17911886C-T C T
+22 17912086 22:17912086C-T C T
+22 17912139 22:17912139C-G C G
+22 17912717 22:17912717T-C T C
+22 17915430 22:17915430T-C T C
+22 17916154 22:17916154T-C T C
+22 17916414 22:17916414G-A G A
+22 17916547 22:17916547G-A G A
+22 17917312 22:17917312G-A G A
+22 17917546 22:17917546A-G A G
+22 17918100 22:17918100G-C G C
+22 17918536 22:17918536G-A G A
+22 17919366 22:17919366G-A G A
+22 17919832 22:17919832A-C A C
+22 17920134 22:17920134A-G A G
+22 17920145 22:17920145A-G A G
+22 17920154 22:17920154G-A G A
+22 17920248 22:17920248T-C T C
+22 17920802 22:17920802A-C A C
+22 17920918 22:17920918G-C G C
+22 17921160 22:17921160T-C T C
+22 17921457 22:17921457T-C T C
+22 17921671 22:17921671C-G C G
+22 17921959 22:17921959A-G A G
+22 17922116 22:17922116T-C T C
+22 17922198 22:17922198T-C T C
+22 17922346 22:17922346A-G A G
+22 17922431 22:17922431C-T C T
+22 17922735 22:17922735C-T C T
+22 17922770 22:17922770G-A G A
+22 17923467 22:17923467C-T C T
+22 17923530 22:17923530A-G A G
+22 17923532 22:17923532G-A G A
+22 17923876 22:17923876C-T C T
+22 17923962 22:17923962C-T C T
+22 17924127 22:17924127G-A G A
+22 17924339 22:17924339G-A G A
+22 17924730 22:17924730G-A G A
+22 17924768 22:17924768T-C T C
+22 17924976 22:17924976G-A G A
+22 17925187 22:17925187A-G A G
+22 17925388 22:17925388C-T C T
+22 17925420 22:17925420T-C T C
+22 17925776 22:17925776G-T G T
+22 17925868 22:17925868G-A G A
+22 17925888 22:17925888A-T A T
+22 17926007 22:17926007T-C T C
+22 17926166 22:17926166G-A G A
+22 17926272 22:17926272G-C G C
+22 17926575 22:17926575A-C A C
+22 17926593 22:17926593A-C A C
+22 17926802 22:17926802A-C A C
+22 17926847 22:17926847G-A G A
+22 17927160 22:17927160T-C T C
+22 17927262 22:17927262A-G A G
+22 17927480 22:17927480C-T C T
+22 17927861 22:17927861G-A G A
+22 17927926 22:17927926A-T A T
+22 17927948 22:17927948C-T C T
+22 17928071 22:17928071C-T C T
+22 17928196 22:17928196T-C T C
+22 17928344 22:17928344A-T A T
+22 17928421 22:17928421T-C T C
+22 17928594 22:17928594G-C G C
+22 17928714 22:17928714C-A C A
+22 17928890 22:17928890A-G A G
+22 17929119 22:17929119T-G T G
+22 17929201 22:17929201C-T C T
+22 17929302 22:17929302A-G A G
+22 17929348 22:17929348C-T C T
+22 17929550 22:17929550T-G T G
+22 17929613 22:17929613A-G A G
+22 17929675 22:17929675G-C G C
+22 17929775 22:17929775T-C T C
+22 17929926 22:17929926T-C T C
+22 17930193 22:17930193G-A G A
+22 17930263 22:17930263T-G T G
+22 17930792 22:17930792A-G A G
+22 17931153 22:17931153A-G A G
+22 17931179 22:17931179T-A T A
+22 17931196 22:17931196A-G A G
+22 17931321 22:17931321G-A G A
+22 17931358 22:17931358G-A G A
+22 17931566 22:17931566G-A G A
+22 17931722 22:17931722G-T G T
+22 17932224 22:17932224G-A G A
+22 17932686 22:17932686T-C T C
+22 17932859 22:17932859G-A G A
+22 17933659 22:17933659C-T C T
+22 17933897 22:17933897A-G A G
+22 17936287 22:17936287C-G C G
+22 17936911 22:17936911A-G A G
+22 17937239 22:17937239A-G A G
+22 17937285 22:17937285C-G C G
+22 17937294 22:17937294A-T A T
+22 17937630 22:17937630G-A G A
+22 17938525 22:17938525G-T G T
+22 17939816 22:17939816C-T C T
+22 17940157 22:17940157G-C G C
+22 17940494 22:17940494A-G A G
+22 17940737 22:17940737T-C T C
+22 17941944 22:17941944G-A G A
+22 17942014 22:17942014G-A G A
+22 17942684 22:17942684A-C A C
+22 17942872 22:17942872A-G A G
+22 17942912 22:17942912C-G C G
+22 17943200 22:17943200C-T C T
+22 17943333 22:17943333T-C T C
+22 17943430 22:17943430A-G A G
+22 17943600 22:17943600G-C G C
+22 17943622 22:17943622A-G A G
+22 17943827 22:17943827T-C T C
+22 17944118 22:17944118C-T C T
+22 17944193 22:17944193C-T C T
+22 17944197 22:17944197G-A G A
+22 17944224 22:17944224C-T C T
+22 17944271 22:17944271T-C T C
+22 17944366 22:17944366G-A G A
+22 17944441 22:17944441T-C T C
+22 17944524 22:17944524G-A G A
+22 17944625 22:17944625C-T C T
+22 17944963 22:17944963G-T G T
+22 17945187 22:17945187G-A G A
+22 17945424 22:17945424A-G A G
+22 17945713 22:17945713G-T G T
+22 17945813 22:17945813A-G A G
+22 17945922 22:17945922A-G A G
+22 17946168 22:17946168T-C T C
+22 17946202 22:17946202C-T C T
+22 17946287 22:17946287A-T A T
+22 17946441 22:17946441T-C T C
+22 17946494 22:17946494T-G T G
+22 17946547 22:17946547T-C T C
+22 17946604 22:17946604A-G A G
+22 17946617 22:17946617C-T C T
+22 17946675 22:17946675T-C T C
+22 17947371 22:17947371C-T C T
+22 17948335 22:17948335C-T C T
+22 17948342 22:17948342A-G A G
+22 17948473 22:17948473A-C A C
+22 17948917 22:17948917T-C T C
+22 17950796 22:17950796T-C T C
+22 17951750 22:17951750A-G A G
+22 17951782 22:17951782A-G A G
+22 17952623 22:17952623A-T A T
+22 17952719 22:17952719A-G A G
+22 17953570 22:17953570A-G A G
+22 17953763 22:17953763A-G A G
+22 17953988 22:17953988T-C T C
+22 17954110 22:17954110G-T G T
+22 17954739 22:17954739G-C G C
+22 17954977 22:17954977T-C T C
+22 17955962 22:17955962G-C G C
+22 17956368 22:17956368A-G A G
+22 17961915 22:17961915G-A G A
+22 17964577 22:17964577G-A G A
+22 17964783 22:17964783C-G C G
+22 17965843 22:17965843G-A G A
+22 17965862 22:17965862A-G A G
+22 17965964 22:17965964T-C T C
+22 17966172 22:17966172T-C T C
+22 17968594 22:17968594C-T C T
+22 17971883 22:17971883T-C T C
+22 17973379 22:17973379C-T C T
+22 17977024 22:17977024T-C T C
+22 17977198 22:17977198A-G A G
+22 17978146 22:17978146C-T C T
+22 17978346 22:17978346T-C T C
+22 17978355 22:17978355C-A C A
+22 17978600 22:17978600G-C G C
+22 17979416 22:17979416C-T C T
+22 17979434 22:17979434C-T C T
+22 17979626 22:17979626C-T C T
+22 17981045 22:17981045G-A G A
+22 17981196 22:17981196C-T C T
+22 17981752 22:17981752T-G T G
+22 17982362 22:17982362G-A G A
+22 17982400 22:17982400C-T C T
+22 17982621 22:17982621A-C A C
+22 17982986 22:17982986G-A G A
+22 17983132 22:17983132A-G A G
+22 17983397 22:17983397A-T A T
+22 17983399 22:17983399G-C G C
+22 17984907 22:17984907C-T C T
+22 17984962 22:17984962G-A G A
+22 17985257 22:17985257A-C A C
+22 17985259 22:17985259T-C T C
+22 17985410 22:17985410T-C T C
+22 17985560 22:17985560G-A G A
+22 17985994 22:17985994C-T C T
+22 17986344 22:17986344G-A G A
+22 17986811 22:17986811T-C T C
+22 17987057 22:17987057T-C T C
+22 17987962 22:17987962G-A G A
+22 17988394 22:17988394A-G A G
+22 17988804 22:17988804A-G A G
+22 17989347 22:17989347C-G C G
+22 17989378 22:17989378C-T C T
+22 17990606 22:17990606A-G A G
+22 17990852 22:17990852G-A G A
+22 17991442 22:17991442C-T C T
+22 17991515 22:17991515G-T G T
+22 17992131 22:17992131A-G A G
+22 17992184 22:17992184C-T C T
+22 17992215 22:17992215C-G C G
+22 17993969 22:17993969G-A G A
+22 17993976 22:17993976C-T C T
+22 17994585 22:17994585C-T C T
+22 17994639 22:17994639A-G A G
+22 17994789 22:17994789C-T C T
+22 17995145 22:17995145C-T C T
+22 17995759 22:17995759G-A G A
+22 17996035 22:17996035G-T G T
+22 17996358 22:17996358C-T C T
+22 17996579 22:17996579T-G T G
+22 17996931 22:17996931G-A G A
+22 17997454 22:17997454T-C T C
+22 17997569 22:17997569G-T G T
+22 17997619 22:17997619T-G T G
+22 17998254 22:17998254A-G A G
+22 17998807 22:17998807T-G T G
+22 17998974 22:17998974C-T C T
+22 17999158 22:17999158A-G A G
+22 17999613 22:17999613C-A C A
+22 18000046 22:18000046C-T C T
+22 18000090 22:18000090T-C T C
+22 18000280 22:18000280G-A G A
+22 18001109 22:18001109C-T C T
+22 18001375 22:18001375G-T G T
+22 18001894 22:18001894G-A G A
+22 18002105 22:18002105G-A G A
+22 18002160 22:18002160G-A G A
+22 18002277 22:18002277G-C G C
+22 18002892 22:18002892T-C T C
+22 18004489 22:18004489C-T C T
+22 18004617 22:18004617G-A G A
+22 18004756 22:18004756G-C G C
+22 18004928 22:18004928T-C T C
+22 18005227 22:18005227G-C G C
+22 18005596 22:18005596G-A G A
+22 18005947 22:18005947G-A G A
+22 18006236 22:18006236A-G A G
+22 18006604 22:18006604A-G A G
+22 18007439 22:18007439C-G C G
+22 18007674 22:18007674G-A G A
+22 18007943 22:18007943G-A G A
+22 18009909 22:18009909T-C T C
+22 18010308 22:18010308G-A G A
+22 18010662 22:18010662A-T A T
+22 18010706 22:18010706A-G A G
+22 18010945 22:18010945T-G T G
+22 18010946 22:18010946C-T C T
+22 18011195 22:18011195T-G T G
+22 18011380 22:18011380A-G A G
+22 18011745 22:18011745A-G A G
+22 18012012 22:18012012T-G T G
+22 18012158 22:18012158C-T C T
+22 18012276 22:18012276C-A C A
+22 18012443 22:18012443A-G A G
+22 18012661 22:18012661C-T C T
+22 18012775 22:18012775G-A G A
+22 18013427 22:18013427T-C T C
+22 18013723 22:18013723T-C T C
+22 18014487 22:18014487G-T G T
+22 18014778 22:18014778C-T C T
+22 18014921 22:18014921T-C T C
+22 18016508 22:18016508G-A G A
+22 18017560 22:18017560G-A G A
+22 18018489 22:18018489G-C G C
+22 18018509 22:18018509T-C T C
+22 18018516 22:18018516C-T C T
+22 18018604 22:18018604A-C A C
+22 18018913 22:18018913A-G A G
+22 18018940 22:18018940T-C T C
+22 18019260 22:18019260T-C T C
+22 18019284 22:18019284G-A G A
+22 18019539 22:18019539T-C T C
+22 18020773 22:18020773A-G A G
+22 18020796 22:18020796T-C T C
+22 18020856 22:18020856T-A T A
+22 18021012 22:18021012G-A G A
+22 18021071 22:18021071T-C T C
+22 18021505 22:18021505T-C T C
+22 18021604 22:18021604C-T C T
+22 18021760 22:18021760A-G A G
+22 18022858 22:18022858G-T G T
+22 18022919 22:18022919T-C T C
+22 18024474 22:18024474C-G C G
+22 18024652 22:18024652G-A G A
+22 18024919 22:18024919A-G A G
+22 18025580 22:18025580G-A G A
+22 18025719 22:18025719C-T C T
+22 18025899 22:18025899C-T C T
+22 18025947 22:18025947C-T C T
+22 18026033 22:18026033A-G A G
+22 18027334 22:18027334C-A C A
+22 18029546 22:18029546A-C A C
+22 18030610 22:18030610G-A G A
+22 18030667 22:18030667C-T C T
+22 18030738 22:18030738A-G A G
+22 18030891 22:18030891T-A T A
+22 18031530 22:18031530G-A G A
+22 18031544 22:18031544A-G A G
+22 18032226 22:18032226A-G A G
+22 18032259 22:18032259C-T C T
+22 18033199 22:18033199G-A G A
+22 18034368 22:18034368C-T C T
+22 18036253 22:18036253A-G A G
+22 18036388 22:18036388C-A C A
+22 18036431 22:18036431A-G A G
+22 18036785 22:18036785C-T C T
+22 18037113 22:18037113A-G A G
+22 18038176 22:18038176T-C T C
+22 18038432 22:18038432T-C T C
+22 18038646 22:18038646C-T C T
+22 18038786 22:18038786G-A G A
+22 18038910 22:18038910A-G A G
+22 18039514 22:18039514T-C T C
+22 18039650 22:18039650C-A C A
+22 18042093 22:18042093T-A T A
+22 18042233 22:18042233T-A T A
+22 18042376 22:18042376T-G T G
+22 18043090 22:18043090C-G C G
+22 18044257 22:18044257T-A T A
+22 18044375 22:18044375T-C T C
+22 18044722 22:18044722T-C T C
+22 18044735 22:18044735T-C T C
+22 18044866 22:18044866C-G C G
+22 18045084 22:18045084A-G A G
+22 18046289 22:18046289A-G A G
+22 18046630 22:18046630G-T G T
+22 18046680 22:18046680A-T A T
+22 18046830 22:18046830A-G A G
+22 18046944 22:18046944A-G A G
+22 18047028 22:18047028G-A G A
+22 18047058 22:18047058C-A C A
+22 18047163 22:18047163G-C G C
+22 18047231 22:18047231G-A G A
+22 18048751 22:18048751G-C G C
+22 18048911 22:18048911T-C T C
+22 18049681 22:18049681T-C T C
+22 18050386 22:18050386C-T C T
+22 18050636 22:18050636T-G T G
+22 18050728 22:18050728A-G A G
+22 18051188 22:18051188T-G T G
+22 18052063 22:18052063T-C T C
+22 18053139 22:18053139C-T C T
+22 18053496 22:18053496A-G A G
+22 18054369 22:18054369T-C T C
+22 18055062 22:18055062A-G A G
+22 18055234 22:18055234G-T G T
+22 18055271 22:18055271G-A G A
+22 18055357 22:18055357G-C G C
+22 18055605 22:18055605C-G C G
+22 18056156 22:18056156A-T A T
+22 18056267 22:18056267A-G A G
+22 18056332 22:18056332G-C G C
+22 18057200 22:18057200G-A G A
+22 18057252 22:18057252T-C T C
+22 18057295 22:18057295G-A G A
+22 18057362 22:18057362C-T C T
+22 18061337 22:18061337G-A G A
+22 18062251 22:18062251A-G A G
+22 18062987 22:18062987T-C T C
+22 18065844 22:18065844A-G A G
+22 18068785 22:18068785A-G A G
+22 18068881 22:18068881C-T C T
+22 18069412 22:18069412G-T G T
+22 18071444 22:18071444G-A G A
+22 18071941 22:18071941T-C T C
+22 18072623 22:18072623C-G C G
+22 18073568 22:18073568T-C T C
+22 18073592 22:18073592G-C G C
+22 18075053 22:18075053G-A G A
+22 18075263 22:18075263T-C T C
+22 18076546 22:18076546C-A C A
+22 18077640 22:18077640T-C T C
+22 18077720 22:18077720G-T G T
+22 18079177 22:18079177T-C T C
+22 18079203 22:18079203T-C T C
+22 18079241 22:18079241C-A C A
+22 18079339 22:18079339A-G A G
+22 18079518 22:18079518T-C T C
+22 18079783 22:18079783A-G A G
+22 18079824 22:18079824A-G A G
+22 18080035 22:18080035T-G T G
+22 18080154 22:18080154A-G A G
+22 18080830 22:18080830T-C T C
+22 18081136 22:18081136G-A G A
+22 18081156 22:18081156G-T G T
+22 18081830 22:18081830A-G A G
+22 18082079 22:18082079G-A G A
+22 18082602 22:18082602A-G A G
+22 18082669 22:18082669A-G A G
+22 18082708 22:18082708A-C A C
+22 18083167 22:18083167C-T C T
+22 18083197 22:18083197T-C T C
+22 18083260 22:18083260T-C T C
+22 18083591 22:18083591T-C T C
+22 18084033 22:18084033C-T C T
+22 18084272 22:18084272A-G A G
+22 18084303 22:18084303C-A C A
+22 18084331 22:18084331G-C G C
+22 18084663 22:18084663G-A G A
+22 18084836 22:18084836C-A C A
+22 18084977 22:18084977T-C T C
+22 18085115 22:18085115T-C T C
+22 18085646 22:18085646A-G A G
+22 18085872 22:18085872C-T C T
+22 18085873 22:18085873A-G A G
+22 18086312 22:18086312G-C G C
+22 18086475 22:18086475G-T G T
+22 18086994 22:18086994G-A G A
+22 18087458 22:18087458T-A T A
+22 18087491 22:18087491A-G A G
+22 18087509 22:18087509C-T C T
+22 18087704 22:18087704G-A G A
+22 18088034 22:18088034C-T C T
+22 18088035 22:18088035G-A G A
+22 18088250 22:18088250T-C T C
+22 18088268 22:18088268G-C G C
+22 18088795 22:18088795G-A G A
+22 18088846 22:18088846C-G C G
+22 18088903 22:18088903C-A C A
+22 18088945 22:18088945C-A C A
+22 18088977 22:18088977C-G C G
+22 18089058 22:18089058G-A G A
+22 18089601 22:18089601C-G C G
+22 18089615 22:18089615T-C T C
+22 18089828 22:18089828T-C T C
+22 18089854 22:18089854C-T C T
+22 18089919 22:18089919A-G A G
+22 18090006 22:18090006A-G A G
+22 18090105 22:18090105G-T G T
+22 18090946 22:18090946G-A G A
+22 18091087 22:18091087G-T G T
+22 18091363 22:18091363T-A T A
+22 18092085 22:18092085C-T C T
+22 18092406 22:18092406T-C T C
+22 18092649 22:18092649G-A G A
+22 18092776 22:18092776T-A T A
+22 18092809 22:18092809G-T G T
+22 18093102 22:18093102C-A C A
+22 18093310 22:18093310T-C T C
+22 18093580 22:18093580T-C T C
+22 18093592 22:18093592G-T G T
+22 18094292 22:18094292A-G A G
+22 18094581 22:18094581G-A G A
+22 18094893 22:18094893G-A G A
+22 18094915 22:18094915C-T C T
+22 18095170 22:18095170C-T C T
+22 18095312 22:18095312C-T C T
+22 18095734 22:18095734C-G C G
+22 18095838 22:18095838A-G A G
+22 18095901 22:18095901T-C T C
+22 18096199 22:18096199G-A G A
+22 18096378 22:18096378G-A G A
+22 18096665 22:18096665A-G A G
+22 18096815 22:18096815C-G C G
+22 18096976 22:18096976C-T C T
+22 18097463 22:18097463G-A G A
+22 18097689 22:18097689C-A C A
+22 18097927 22:18097927C-G C G
+22 18098050 22:18098050G-C G C
+22 18098148 22:18098148G-C G C
+22 18098266 22:18098266C-T C T
+22 18098366 22:18098366A-G A G
+22 18098432 22:18098432A-G A G
+22 18098527 22:18098527G-A G A
+22 18098645 22:18098645A-C A C
+22 18098888 22:18098888A-C A C
+22 18098942 22:18098942T-C T C
+22 18099028 22:18099028T-C T C
+22 18099048 22:18099048G-A G A
+22 18099055 22:18099055G-A G A
+22 18099172 22:18099172T-C T C
+22 18099314 22:18099314A-G A G
+22 18099345 22:18099345T-C T C
+22 18099370 22:18099370G-A G A
+22 18099460 22:18099460A-G A G
+22 18100104 22:18100104A-G A G
+22 18100147 22:18100147C-T C T
+22 18100435 22:18100435C-T C T
+22 18100472 22:18100472A-G A G
+22 18100656 22:18100656A-T A T
+22 18100818 22:18100818C-T C T
+22 18101351 22:18101351G-C G C
+22 18101369 22:18101369A-G A G
+22 18101637 22:18101637C-A C A
+22 18101691 22:18101691G-A G A
+22 18101834 22:18101834C-T C T
+22 18101961 22:18101961G-A G A
+22 18102012 22:18102012C-G C G
+22 18102393 22:18102393C-T C T
+22 18102627 22:18102627A-G A G
+22 18102837 22:18102837C-A C A
+22 18103556 22:18103556A-G A G
+22 18103567 22:18103567C-T C T
+22 18103710 22:18103710T-G T G
+22 18103861 22:18103861C-T C T
+22 18103973 22:18103973G-C G C
+22 18104619 22:18104619C-T C T
+22 18104792 22:18104792C-T C T
+22 18105306 22:18105306C-G C G
+22 18105457 22:18105457T-C T C
+22 18106264 22:18106264T-C T C
+22 18106306 22:18106306G-A G A
+22 18106309 22:18106309T-C T C
+22 18106662 22:18106662T-C T C
+22 18107277 22:18107277G-A G A
+22 18107471 22:18107471C-A C A
+22 18107966 22:18107966G-A G A
+22 18108334 22:18108334G-C G C
+22 18108810 22:18108810T-C T C
+22 18108992 22:18108992T-C T C
+22 18109130 22:18109130A-T A T
+22 18109334 22:18109334G-A G A
+22 18109798 22:18109798C-T C T
+22 18109948 22:18109948G-C G C
+22 18109963 22:18109963C-T C T
+22 18110185 22:18110185A-G A G
+22 18111100 22:18111100G-C G C
+22 18111431 22:18111431T-C T C
+22 18111556 22:18111556A-C A C
+22 18111853 22:18111853C-A C A
+22 18113387 22:18113387C-T C T
+22 18114956 22:18114956G-A G A
+22 18115251 22:18115251G-C G C
+22 18115277 22:18115277C-G C G
+22 18115392 22:18115392A-G A G
+22 18115451 22:18115451G-A G A
+22 18115452 22:18115452C-A C A
+22 18115612 22:18115612C-T C T
+22 18116033 22:18116033A-G A G
+22 18117658 22:18117658A-G A G
+22 18118204 22:18118204G-A G A
+22 18118636 22:18118636C-T C T
+22 18118759 22:18118759A-G A G
+22 18119145 22:18119145T-C T C
+22 18119476 22:18119476C-T C T
+22 18119516 22:18119516C-T C T
+22 18119761 22:18119761G-A G A
+22 18119773 22:18119773G-A G A
+22 18119777 22:18119777C-G C G
+22 18120850 22:18120850C-T C T
+22 18121334 22:18121334G-C G C
+22 18122486 22:18122486G-A G A
+22 18122809 22:18122809G-A G A
+22 18122994 22:18122994G-A G A
+22 18123036 22:18123036A-G A G
+22 18123806 22:18123806G-A G A
+22 18124332 22:18124332G-A G A
+22 18124362 22:18124362G-A G A
+22 18124976 22:18124976G-A G A
+22 18125463 22:18125463G-A G A
+22 18126020 22:18126020T-C T C
+22 18126162 22:18126162G-A G A
+22 18126743 22:18126743C-T C T
+22 18127076 22:18127076G-A G A
+22 18127300 22:18127300G-A G A
+22 18127437 22:18127437G-A G A
+22 18127725 22:18127725G-A G A
+22 18128081 22:18128081C-T C T
+22 18128960 22:18128960G-A G A
+22 18129135 22:18129135C-T C T
+22 18129265 22:18129265G-T G T
+22 18129364 22:18129364G-T G T
+22 18129365 22:18129365G-A G A
+22 18129770 22:18129770T-C T C
+22 18129942 22:18129942G-A G A
+22 18130138 22:18130138T-G T G
+22 18130209 22:18130209C-T C T
+22 18131078 22:18131078C-T C T
+22 18131226 22:18131226C-T C T
+22 18131546 22:18131546A-G A G
+22 18132004 22:18132004T-C T C
+22 18132812 22:18132812G-T G T
+22 18132928 22:18132928G-A G A
+22 18132930 22:18132930C-T C T
+22 18133490 22:18133490A-T A T
+22 18133500 22:18133500A-C A C
+22 18133808 22:18133808G-A G A
+22 18134240 22:18134240C-T C T
+22 18134265 22:18134265C-T C T
+22 18134850 22:18134850T-C T C
+22 18135184 22:18135184T-C T C
+22 18135912 22:18135912A-G A G
+22 18136695 22:18136695C-T C T
+22 18136803 22:18136803A-G A G
+22 18137144 22:18137144T-C T C
+22 18137274 22:18137274C-T C T
+22 18138879 22:18138879C-T C T
+22 18139402 22:18139402G-T G T
+22 18139510 22:18139510A-T A T
+22 18140423 22:18140423A-G A G
+22 18140644 22:18140644T-G T G
+22 18140771 22:18140771A-G A G
+22 18140862 22:18140862G-C G C
+22 18141321 22:18141321A-G A G
+22 18141551 22:18141551A-G A G
+22 18143835 22:18143835C-T C T
+22 18144315 22:18144315A-C A C
+22 18144824 22:18144824T-A T A
+22 18145011 22:18145011A-G A G
+22 18146206 22:18146206G-T G T
+22 18146388 22:18146388T-C T C
+22 18147026 22:18147026C-T C T
+22 18147071 22:18147071C-T C T
+22 18147423 22:18147423C-A C A
+22 18148454 22:18148454T-C T C
+22 18149037 22:18149037A-C A C
+22 18149764 22:18149764G-A G A
+22 18150922 22:18150922G-T G T
+22 18152178 22:18152178A-G A G
+22 18153009 22:18153009T-G T G
+22 18153766 22:18153766C-T C T
+22 18153912 22:18153912A-G A G
+22 18154053 22:18154053G-A G A
+22 18154285 22:18154285A-T A T
+22 18154878 22:18154878A-G A G
+22 18156385 22:18156385C-T C T
+22 18156395 22:18156395G-A G A
+22 18156644 22:18156644A-G A G
+22 18157282 22:18157282A-G A G
+22 18158344 22:18158344C-A C A
+22 18159102 22:18159102G-A G A
+22 18159407 22:18159407T-C T C
+22 18159704 22:18159704A-G A G
+22 18159946 22:18159946A-G A G
+22 18160881 22:18160881C-T C T
+22 18161543 22:18161543G-A G A
+22 18161979 22:18161979G-A G A
+22 18162305 22:18162305G-A G A
+22 18163136 22:18163136A-C A C
+22 18163158 22:18163158C-T C T
+22 18163539 22:18163539G-A G A
+22 18163795 22:18163795C-T C T
+22 18164602 22:18164602G-A G A
+22 18164864 22:18164864A-G A G
+22 18164866 22:18164866T-C T C
+22 18165995 22:18165995T-G T G
+22 18166741 22:18166741T-C T C
+22 18166806 22:18166806C-T C T
+22 18166960 22:18166960A-G A G
+22 18167335 22:18167335T-G T G
+22 18167478 22:18167478T-C T C
+22 18167614 22:18167614T-G T G
+22 18167626 22:18167626G-A G A
+22 18167781 22:18167781A-G A G
+22 18167859 22:18167859T-C T C
+22 18168703 22:18168703C-A C A
+22 18168774 22:18168774A-G A G
+22 18169012 22:18169012T-G T G
+22 18169212 22:18169212T-G T G
+22 18169221 22:18169221T-A T A
+22 18169423 22:18169423C-G C G
+22 18169672 22:18169672G-A G A
+22 18169975 22:18169975C-G C G
+22 18170207 22:18170207A-G A G
+22 18170352 22:18170352G-A G A
+22 18170378 22:18170378G-T G T
+22 18171567 22:18171567C-T C T
+22 18171590 22:18171590G-A G A
+22 18171650 22:18171650C-T C T
+22 18172236 22:18172236C-G C G
+22 18172337 22:18172337G-A G A
+22 18172534 22:18172534G-A G A
+22 18172857 22:18172857C-T C T
+22 18172890 22:18172890G-T G T
+22 18173007 22:18173007G-A G A
+22 18174361 22:18174361G-A G A
+22 18174518 22:18174518T-C T C
+22 18174658 22:18174658A-G A G
+22 18174781 22:18174781T-C T C
+22 18175030 22:18175030A-G A G
+22 18175550 22:18175550G-A G A
+22 18175558 22:18175558A-T A T
+22 18176913 22:18176913T-A T A
+22 18177863 22:18177863G-A G A
+22 18178393 22:18178393A-T A T
+22 18178859 22:18178859C-T C T
+22 18179100 22:18179100T-C T C
+22 18179389 22:18179389G-A G A
+22 18179399 22:18179399C-T C T
+22 18180567 22:18180567G-C G C
+22 18180911 22:18180911T-C T C
+22 18181621 22:18181621T-C T C
+22 18181869 22:18181869A-G A G
+22 18182361 22:18182361G-A G A
+22 18183623 22:18183623G-C G C
+22 18184011 22:18184011G-A G A
+22 18184169 22:18184169C-T C T
+22 18184290 22:18184290T-C T C
+22 18184648 22:18184648C-T C T
+22 18186805 22:18186805C-T C T
+22 18187216 22:18187216C-T C T
+22 18188469 22:18188469T-A T A
+22 18188525 22:18188525T-C T C
+22 18188989 22:18188989T-C T C
+22 18189296 22:18189296T-C T C
+22 18189469 22:18189469G-A G A
+22 18190777 22:18190777G-A G A
+22 18191918 22:18191918C-T C T
+22 18191951 22:18191951A-G A G
+22 18192136 22:18192136A-G A G
+22 18193116 22:18193116G-A G A
+22 18193381 22:18193381G-A G A
+22 18193519 22:18193519C-T C T
+22 18193560 22:18193560A-G A G
+22 18193707 22:18193707C-T C T
+22 18194188 22:18194188T-C T C
+22 18196337 22:18196337C-G C G
+22 18197053 22:18197053C-T C T
+22 18197161 22:18197161C-T C T
+22 18197172 22:18197172G-C G C
+22 18198109 22:18198109G-A G A
+22 18198327 22:18198327C-G C G
+22 18199243 22:18199243A-C A C
+22 18199976 22:18199976A-G A G
+22 18200050 22:18200050G-A G A
+22 18200386 22:18200386G-A G A
+22 18200878 22:18200878G-T G T
+22 18201204 22:18201204C-T C T
+22 18201526 22:18201526G-C G C
+22 18201601 22:18201601G-C G C
+22 18201641 22:18201641G-T G T
+22 18201713 22:18201713T-C T C
+22 18202129 22:18202129A-G A G
+22 18202150 22:18202150C-T C T
+22 18202207 22:18202207A-G A G
+22 18202467 22:18202467C-T C T
+22 18202530 22:18202530G-C G C
+22 18202850 22:18202850A-G A G
+22 18202856 22:18202856G-A G A
+22 18203115 22:18203115T-A T A
+22 18203179 22:18203179C-G C G
+22 18203322 22:18203322G-A G A
+22 18203724 22:18203724A-G A G
+22 18203861 22:18203861G-A G A
+22 18204051 22:18204051G-A G A
+22 18204091 22:18204091A-G A G
+22 18204218 22:18204218C-G C G
+22 18204416 22:18204416A-G A G
+22 18204522 22:18204522C-G C G
+22 18204674 22:18204674G-C G C
+22 18204875 22:18204875A-G A G
+22 18204888 22:18204888A-G A G
+22 18205430 22:18205430A-T A T
+22 18205557 22:18205557C-T C T
+22 18205939 22:18205939C-T C T
+22 18206538 22:18206538A-G A G
+22 18206653 22:18206653T-C T C
+22 18207251 22:18207251T-C T C
+22 18207927 22:18207927T-G T G
+22 18208641 22:18208641G-A G A
+22 18208764 22:18208764C-T C T
+22 18209613 22:18209613A-G A G
+22 18209718 22:18209718C-T C T
+22 18209920 22:18209920C-T C T
+22 18210409 22:18210409T-G T G
+22 18210560 22:18210560T-G T G
+22 18210618 22:18210618G-A G A
+22 18210704 22:18210704G-C G C
+22 18211205 22:18211205T-C T C
+22 18212530 22:18212530C-T C T
+22 18212531 22:18212531G-A G A
+22 18212923 22:18212923A-G A G
+22 18213057 22:18213057G-A G A
+22 18214192 22:18214192C-G C G
+22 18214208 22:18214208C-A C A
+22 18214609 22:18214609G-T G T
+22 18215520 22:18215520G-C G C
+22 18215952 22:18215952G-C G C
+22 18216262 22:18216262G-C G C
+22 18218441 22:18218441A-C A C
+22 18218464 22:18218464T-C T C
+22 18218475 22:18218475C-G C G
+22 18219093 22:18219093T-C T C
+22 18219686 22:18219686T-C T C
+22 18219727 22:18219727A-G A G
+22 18219731 22:18219731A-G A G
+22 18220324 22:18220324G-C G C
+22 18220831 22:18220831A-G A G
+22 18221167 22:18221167A-G A G
+22 18221312 22:18221312G-A G A
+22 18221958 22:18221958T-G T G
+22 18221966 22:18221966A-G A G
+22 18221985 22:18221985C-T C T
+22 18222089 22:18222089C-A C A
+22 18222263 22:18222263A-G A G
+22 18222350 22:18222350G-A G A
+22 18222557 22:18222557G-A G A
+22 18222665 22:18222665T-C T C
+22 18223228 22:18223228C-T C T
+22 18223297 22:18223297G-A G A
+22 18223617 22:18223617T-C T C
+22 18223624 22:18223624A-G A G
+22 18224155 22:18224155G-A G A
+22 18224731 22:18224731C-A C A
+22 18224781 22:18224781C-T C T
+22 18225318 22:18225318C-T C T
+22 18225684 22:18225684T-C T C
+22 18226521 22:18226521C-T C T
+22 18226997 22:18226997C-G C G
+22 18227688 22:18227688C-T C T
+22 18228653 22:18228653A-C A C
+22 18229187 22:18229187T-C T C
+22 18229774 22:18229774T-C T C
+22 18230757 22:18230757G-A G A
+22 18230954 22:18230954G-T G T
+22 18230964 22:18230964A-G A G
+22 18231046 22:18231046C-T C T
+22 18231866 22:18231866G-A G A
+22 18232368 22:18232368G-A G A
+22 18232653 22:18232653A-T A T
+22 18232723 22:18232723G-C G C
+22 18233000 22:18233000G-A G A
+22 18233408 22:18233408T-C T C
+22 18233525 22:18233525G-C G C
+22 18234535 22:18234535G-A G A
+22 18234589 22:18234589G-A G A
+22 18235288 22:18235288C-G C G
+22 18235305 22:18235305T-C T C
+22 18236035 22:18236035C-G C G
+22 18236880 22:18236880G-A G A
+22 18237436 22:18237436T-A T A
+22 18238291 22:18238291G-A G A
+22 18238786 22:18238786A-G A G
+22 18239312 22:18239312C-T C T
+22 18239463 22:18239463C-T C T
+22 18240117 22:18240117T-C T C
+22 18240260 22:18240260G-A G A
+22 18240424 22:18240424A-G A G
+22 18242182 22:18242182C-T C T
+22 18242356 22:18242356G-A G A
+22 18245140 22:18245140G-A G A
+22 18245533 22:18245533G-T G T
+22 18245577 22:18245577T-C T C
+22 18245932 22:18245932T-C T C
+22 18245973 22:18245973A-G A G
+22 18246210 22:18246210G-A G A
+22 18246213 22:18246213C-T C T
+22 18246375 22:18246375A-G A G
+22 18247811 22:18247811C-T C T
+22 18249023 22:18249023T-C T C
+22 18249207 22:18249207C-T C T
+22 18250268 22:18250268A-T A T
+22 18250892 22:18250892A-G A G
+22 18250968 22:18250968T-A T A
+22 18251260 22:18251260G-T G T
+22 18251463 22:18251463C-T C T
+22 18251608 22:18251608T-C T C
+22 18252103 22:18252103G-C G C
+22 18253187 22:18253187G-A G A
+22 18254006 22:18254006T-C T C
+22 18254058 22:18254058G-T G T
+22 18254632 22:18254632C-T C T
+22 18255943 22:18255943C-T C T
+22 18255988 22:18255988C-T C T
+22 18256129 22:18256129C-T C T
+22 18257735 22:18257735A-G A G
+22 18258382 22:18258382C-T C T
+22 18259071 22:18259071C-T C T
+22 18259810 22:18259810A-G A G
+22 18261028 22:18261028A-G A G
+22 18261304 22:18261304G-A G A
+22 18261306 22:18261306G-A G A
+22 18261323 22:18261323A-G A G
+22 18261344 22:18261344A-G A G
+22 18261346 22:18261346A-G A G
+22 18261496 22:18261496G-A G A
+22 18261544 22:18261544G-A G A
+22 18261587 22:18261587T-C T C
+22 18261600 22:18261600A-T A T
+22 18262301 22:18262301T-A T A
+22 18262517 22:18262517A-G A G
+22 18262946 22:18262946C-G C G
+22 18263268 22:18263268C-T C T
+22 18263400 22:18263400G-C G C
+22 18264831 22:18264831A-G A G
+22 18265172 22:18265172C-T C T
+22 18268130 22:18268130C-T C T
+22 18268442 22:18268442C-G C G
+22 18268794 22:18268794T-C T C
+22 18270779 22:18270779C-T C T
+22 18271078 22:18271078G-A G A
+22 18271437 22:18271437C-A C A
+22 18271710 22:18271710G-A G A
+22 18271943 22:18271943G-A G A
+22 18273256 22:18273256G-C G C
+22 18273463 22:18273463G-A G A
+22 18274092 22:18274092G-C G C
+22 18276101 22:18276101G-A G A
+22 18277314 22:18277314C-T C T
+22 18278128 22:18278128T-A T A
+22 18279383 22:18279383G-A G A
+22 18280602 22:18280602C-T C T
+22 18280799 22:18280799T-C T C
+22 18281729 22:18281729G-A G A
+22 18282020 22:18282020C-T C T
+22 18282526 22:18282526C-T C T
+22 18282708 22:18282708A-G A G
+22 18283247 22:18283247A-G A G
+22 18285299 22:18285299T-C T C
+22 18286672 22:18286672T-C T C
+22 18288362 22:18288362C-T C T
+22 18288571 22:18288571C-T C T
+22 18289204 22:18289204G-A G A
+22 18289555 22:18289555G-A G A
+22 18291198 22:18291198T-C T C
+22 18291364 22:18291364G-A G A
+22 18291376 22:18291376C-T C T
+22 18291791 22:18291791C-G C G
+22 18292198 22:18292198A-G A G
+22 18292242 22:18292242A-C A C
+22 18292337 22:18292337T-G T G
+22 18292466 22:18292466A-G A G
+22 18292633 22:18292633A-G A G
+22 18293072 22:18293072G-A G A
+22 18293192 22:18293192G-A G A
+22 18293197 22:18293197G-C G C
+22 18293255 22:18293255A-G A G
+22 18293261 22:18293261A-G A G
+22 18293316 22:18293316C-T C T
+22 18293650 22:18293650A-G A G
+22 18293967 22:18293967A-T A T
+22 18294211 22:18294211T-C T C
+22 18294522 22:18294522T-A T A
+22 18294697 22:18294697C-T C T
+22 18294704 22:18294704G-A G A
+22 18294919 22:18294919T-G T G
+22 18295130 22:18295130G-A G A
+22 18295208 22:18295208G-A G A
+22 18295575 22:18295575T-C T C
+22 18296238 22:18296238A-G A G
+22 18296438 22:18296438T-C T C
+22 18296441 22:18296441C-T C T
+22 18296484 22:18296484T-C T C
+22 18296536 22:18296536T-C T C
+22 18297990 22:18297990T-C T C
+22 18298089 22:18298089A-G A G
+22 18298527 22:18298527G-T G T
+22 18298678 22:18298678T-C T C
+22 18298723 22:18298723G-C G C
+22 18299197 22:18299197A-G A G
+22 18299751 22:18299751G-A G A
+22 18299937 22:18299937A-G A G
+22 18300240 22:18300240T-C T C
+22 18300594 22:18300594G-A G A
+22 18300879 22:18300879G-A G A
+22 18301693 22:18301693T-C T C
+22 18302122 22:18302122G-C G C
+22 18302521 22:18302521T-C T C
+22 18302566 22:18302566A-G A G
+22 18302883 22:18302883T-C T C
+22 18303070 22:18303070T-C T C
+22 18303409 22:18303409C-T C T
+22 18304392 22:18304392G-T G T
+22 18304583 22:18304583T-C T C
+22 18304695 22:18304695A-G A G
+22 18304753 22:18304753T-C T C
+22 18304784 22:18304784A-C A C
+22 18304821 22:18304821G-A G A
+22 18304891 22:18304891C-T C T
+22 18304978 22:18304978G-A G A
+22 18306154 22:18306154T-C T C
+22 18306485 22:18306485C-T C T
+22 18306812 22:18306812C-T C T
+22 18307381 22:18307381C-A C A
+22 18307634 22:18307634G-A G A
+22 18308320 22:18308320C-A C A
+22 18308601 22:18308601C-T C T
+22 18308788 22:18308788A-G A G
+22 18308819 22:18308819A-G A G
+22 18308936 22:18308936C-T C T
+22 18309438 22:18309438A-T A T
+22 18309546 22:18309546C-T C T
+22 18309658 22:18309658T-C T C
+22 18309666 22:18309666C-T C T
+22 18309803 22:18309803A-G A G
+22 18309826 22:18309826G-A G A
+22 18309859 22:18309859T-C T C
+22 18309951 22:18309951C-G C G
+22 18310068 22:18310068A-G A G
+22 18310110 22:18310110C-T C T
+22 18310363 22:18310363C-T C T
+22 18310367 22:18310367T-C T C
+22 18310439 22:18310439G-A G A
+22 18311845 22:18311845A-G A G
+22 18312343 22:18312343T-C T C
+22 18313018 22:18313018G-A G A
+22 18313044 22:18313044G-A G A
+22 18313512 22:18313512A-G A G
+22 18313584 22:18313584C-G C G
+22 18313591 22:18313591G-C G C
+22 18313615 22:18313615T-C T C
+22 18313672 22:18313672C-G C G
+22 18314164 22:18314164G-A G A
+22 18314391 22:18314391G-A G A
+22 18314989 22:18314989C-T C T
+22 18315068 22:18315068G-A G A
+22 18315983 22:18315983C-T C T
+22 18316091 22:18316091C-T C T
+22 18316114 22:18316114A-G A G
+22 18316304 22:18316304C-T C T
+22 18316333 22:18316333C-T C T
+22 18316526 22:18316526T-C T C
+22 18316620 22:18316620C-T C T
+22 18317095 22:18317095T-C T C
+22 18317142 22:18317142C-T C T
+22 18317423 22:18317423C-T C T
+22 18317621 22:18317621A-G A G
+22 18317821 22:18317821C-T C T
+22 18317902 22:18317902A-G A G
+22 18318963 22:18318963C-G C G
+22 18319179 22:18319179C-T C T
+22 18320058 22:18320058C-T C T
+22 18320258 22:18320258C-G C G
+22 18320312 22:18320312C-A C A
+22 18320343 22:18320343T-C T C
+22 18320886 22:18320886G-A G A
+22 18322491 22:18322491C-T C T
+22 18322790 22:18322790A-G A G
+22 18323438 22:18323438T-C T C
+22 18323482 22:18323482G-T G T
+22 18323609 22:18323609C-T C T
+22 18324301 22:18324301G-A G A
+22 18325067 22:18325067A-G A G
+22 18325378 22:18325378G-C G C
+22 18325541 22:18325541T-C T C
+22 18326033 22:18326033G-C G C
+22 18326075 22:18326075T-A T A
+22 18326130 22:18326130T-C T C
+22 18326162 22:18326162G-A G A
+22 18326355 22:18326355T-C T C
+22 18326366 22:18326366T-A T A
+22 18326398 22:18326398A-C A C
+22 18326754 22:18326754G-A G A
+22 18326813 22:18326813C-T C T
+22 18326823 22:18326823A-C A C
+22 18327590 22:18327590G-C G C
+22 18328503 22:18328503A-G A G
+22 18329146 22:18329146A-G A G
+22 18329411 22:18329411C-A C A
+22 18331118 22:18331118C-A C A
+22 18331154 22:18331154A-C A C
+22 18331871 22:18331871T-A T A
+22 18332199 22:18332199C-T C T
+22 18333467 22:18333467C-T C T
+22 18333902 22:18333902C-T C T
+22 18337880 22:18337880C-T C T
+22 18338356 22:18338356C-T C T
+22 18339012 22:18339012A-G A G
+22 18341004 22:18341004C-G C G
+22 18342225 22:18342225C-T C T
+22 18343011 22:18343011C-A C A
+22 18343523 22:18343523C-A C A
+22 18343843 22:18343843T-C T C
+22 18343959 22:18343959G-A G A
+22 18345864 22:18345864A-C A C
+22 18347127 22:18347127C-T C T
+22 18347224 22:18347224G-A G A
+22 18347916 22:18347916A-G A G
+22 18348439 22:18348439T-C T C
+22 18348823 22:18348823G-A G A
+22 18349948 22:18349948T-C T C
+22 18350514 22:18350514C-A C A
+22 18351389 22:18351389T-C T C
+22 18351575 22:18351575A-G A G
+22 18352679 22:18352679C-T C T
+22 18352887 22:18352887G-C G C
+22 18352968 22:18352968G-A G A
+22 18352986 22:18352986G-A G A
+22 18353549 22:18353549C-T C T
+22 18353630 22:18353630G-C G C
+22 18353910 22:18353910A-G A G
+22 18354272 22:18354272C-T C T
+22 18354328 22:18354328C-T C T
+22 18354766 22:18354766C-T C T
+22 18357509 22:18357509T-C T C
+22 18357549 22:18357549C-T C T
+22 18358633 22:18358633A-G A G
+22 18359243 22:18359243C-G C G
+22 18360628 22:18360628C-T C T
+22 18360810 22:18360810A-G A G
+22 18361090 22:18361090G-A G A
+22 18361183 22:18361183T-C T C
+22 18361276 22:18361276C-T C T
+22 18361871 22:18361871G-A G A
+22 18362573 22:18362573G-A G A
+22 18362940 22:18362940G-A G A
+22 18363387 22:18363387C-T C T
+22 18364579 22:18364579C-G C G
+22 18365072 22:18365072G-A G A
+22 18365392 22:18365392T-A T A
+22 18366821 22:18366821C-T C T
+22 18367640 22:18367640T-C T C
+22 18367988 22:18367988G-A G A
+22 18368147 22:18368147C-T C T
+22 18368548 22:18368548G-A G A
+22 18369709 22:18369709G-A G A
+22 18369710 22:18369710T-C T C
+22 18369916 22:18369916A-G A G
+22 18370997 22:18370997G-A G A
+22 18371161 22:18371161A-C A C
+22 18371293 22:18371293C-T C T
+22 18371358 22:18371358T-C T C
+22 18371637 22:18371637C-T C T
+22 18372020 22:18372020A-G A G
+22 18372709 22:18372709A-G A G
+22 18373885 22:18373885C-T C T
+22 18374014 22:18374014T-C T C
+22 18374150 22:18374150T-C T C
+22 18374554 22:18374554C-T C T
+22 18374558 22:18374558G-C G C
+22 18374875 22:18374875C-T C T
+22 18374925 22:18374925G-C G C
+22 18374927 22:18374927A-T A T
+22 18377199 22:18377199A-C A C
+22 18377329 22:18377329G-A G A
+22 18378002 22:18378002T-C T C
+22 18379160 22:18379160T-A T A
+22 18379453 22:18379453G-C G C
+22 18380081 22:18380081T-C T C
+22 18380917 22:18380917C-T C T
+22 18381041 22:18381041A-G A G
+22 18381686 22:18381686G-C G C
+22 18383114 22:18383114C-T C T
+22 18383236 22:18383236A-C A C
+22 18385166 22:18385166G-C G C
+22 18385933 22:18385933C-T C T
+22 18385944 22:18385944G-A G A
+22 18386406 22:18386406T-G T G
+22 18387015 22:18387015T-C T C
+22 18388315 22:18388315T-G T G
+22 18389082 22:18389082T-C T C
+22 18389548 22:18389548G-C G C
+22 18390280 22:18390280A-C A C
+22 18391061 22:18391061G-A G A
+22 18393534 22:18393534C-A C A
+22 18393564 22:18393564C-T C T
+22 18393933 22:18393933A-G A G
+22 18394484 22:18394484T-C T C
+22 18394531 22:18394531G-A G A
+22 18394968 22:18394968C-T C T
+22 18395241 22:18395241G-A G A
+22 18395877 22:18395877C-T C T
+22 18395952 22:18395952C-T C T
+22 18396329 22:18396329A-C A C
+22 18397120 22:18397120C-T C T
+22 18397572 22:18397572C-T C T
+22 18397913 22:18397913T-G T G
+22 18398018 22:18398018T-C T C
+22 18398207 22:18398207C-A C A
+22 18398447 22:18398447A-G A G
+22 18398976 22:18398976A-C A C
+22 18398999 22:18398999T-C T C
+22 18399007 22:18399007G-A G A
+22 18400366 22:18400366T-C T C
+22 18401104 22:18401104G-A G A
+22 18401209 22:18401209G-A G A
+22 18401597 22:18401597G-C G C
+22 18401620 22:18401620G-C G C
+22 18402012 22:18402012T-C T C
+22 18402669 22:18402669G-T G T
+22 18402924 22:18402924G-A G A
+22 18403516 22:18403516A-G A G
+22 18403629 22:18403629G-A G A
+22 18406068 22:18406068T-G T G
+22 18406473 22:18406473C-T C T
+22 18406690 22:18406690C-T C T
+22 18407249 22:18407249C-T C T
+22 18407468 22:18407468G-A G A
+22 18407740 22:18407740C-T C T
+22 18408322 22:18408322C-T C T
+22 18408705 22:18408705C-A C A
+22 18411074 22:18411074G-A G A
+22 18411621 22:18411621C-T C T
+22 18412929 22:18412929G-A G A
+22 18413567 22:18413567C-T C T
+22 18413750 22:18413750G-A G A
+22 18413975 22:18413975T-C T C
+22 18414098 22:18414098G-A G A
+22 18415158 22:18415158A-G A G
+22 18415576 22:18415576A-G A G
+22 18416487 22:18416487G-C G C
+22 18416830 22:18416830T-C T C
+22 18418165 22:18418165C-T C T
+22 18418276 22:18418276C-T C T
+22 18418315 22:18418315C-T C T
+22 18419005 22:18419005T-C T C
+22 18420055 22:18420055T-C T C
+22 18420254 22:18420254A-G A G
+22 18421784 22:18421784C-A C A
+22 18421821 22:18421821C-A C A
+22 18421899 22:18421899A-G A G
+22 18421926 22:18421926T-C T C
+22 18422165 22:18422165C-G C G
+22 18422843 22:18422843T-C T C
+22 18424298 22:18424298T-C T C
+22 18426299 22:18426299T-C T C
+22 18426372 22:18426372C-A C A
+22 18426379 22:18426379T-C T C
+22 18427418 22:18427418T-C T C
+22 18428443 22:18428443T-C T C
+22 18429001 22:18429001C-T C T
+22 18429279 22:18429279T-C T C
+22 18429694 22:18429694T-G T G
+22 18430193 22:18430193C-T C T
+22 18430658 22:18430658G-A G A
+22 18431064 22:18431064G-A G A
+22 18431846 22:18431846T-C T C
+22 18432033 22:18432033C-T C T
+22 18433308 22:18433308T-G T G
+22 18433603 22:18433603A-C A C
+22 18433994 22:18433994G-T G T
+22 18434038 22:18434038C-G C G
+22 18434088 22:18434088T-C T C
+22 18434284 22:18434284A-G A G
+22 18434889 22:18434889T-G T G
+22 18435794 22:18435794C-T C T
+22 18436758 22:18436758A-C A C
+22 18436944 22:18436944G-A G A
+22 18437043 22:18437043C-T C T
+22 18437382 22:18437382A-G A G
+22 18438221 22:18438221T-C T C
+22 18438314 22:18438314A-C A C
+22 18438485 22:18438485A-G A G
+22 18438559 22:18438559A-G A G
+22 18438578 22:18438578G-A G A
+22 18438642 22:18438642G-C G C
+22 18439047 22:18439047G-T G T
+22 18439190 22:18439190C-A C A
+22 18439238 22:18439238T-C T C
+22 18439392 22:18439392G-A G A
+22 18439420 22:18439420G-A G A
+22 18439598 22:18439598A-G A G
+22 18439958 22:18439958C-T C T
+22 18440026 22:18440026C-T C T
+22 18440076 22:18440076C-A C A
+22 18440628 22:18440628C-T C T
+22 18441463 22:18441463G-T G T
+22 18441563 22:18441563G-A G A
+22 18441610 22:18441610G-C G C
+22 18442522 22:18442522T-C T C
+22 18443287 22:18443287T-C T C
+22 18443404 22:18443404G-A G A
+22 18443500 22:18443500G-A G A
+22 18443681 22:18443681T-C T C
+22 18443699 22:18443699G-T G T
+22 18443818 22:18443818C-G C G
+22 18443855 22:18443855A-G A G
+22 18444180 22:18444180A-G A G
+22 18444227 22:18444227G-A G A
+22 18444261 22:18444261C-T C T
+22 18444290 22:18444290C-T C T
+22 18444599 22:18444599C-T C T
+22 18444649 22:18444649T-A T A
+22 18444657 22:18444657T-C T C
+22 18444675 22:18444675T-C T C
+22 18444693 22:18444693A-C A C
+22 18444734 22:18444734C-T C T
+22 18444908 22:18444908G-A G A
+22 18445263 22:18445263C-T C T
+22 18445287 22:18445287A-G A G
+22 18445450 22:18445450C-G C G
+22 18445692 22:18445692A-T A T
+22 18445709 22:18445709G-C G C
+22 18445952 22:18445952C-T C T
+22 18446024 22:18446024A-G A G
+22 18446212 22:18446212T-G T G
+22 18446318 22:18446318C-A C A
+22 18446452 22:18446452G-A G A
+22 18446490 22:18446490T-C T C
+22 18446565 22:18446565G-A G A
+22 18446691 22:18446691C-G C G
+22 18446831 22:18446831A-G A G
+22 18447114 22:18447114C-T C T
+22 18447491 22:18447491G-A G A
+22 18447496 22:18447496A-G A G
+22 18447697 22:18447697G-A G A
+22 18448113 22:18448113C-T C T
+22 18448129 22:18448129T-C T C
+22 18448276 22:18448276C-T C T
+22 18448605 22:18448605G-C G C
+22 18448960 22:18448960G-A G A
+22 18449038 22:18449038A-G A G
+22 18449130 22:18449130C-G C G
+22 18449543 22:18449543A-G A G
+22 18449576 22:18449576C-G C G
+22 18449758 22:18449758C-G C G
+22 18449876 22:18449876A-G A G
+22 18449927 22:18449927T-C T C
+22 18450116 22:18450116T-C T C
+22 18450149 22:18450149A-G A G
+22 18450287 22:18450287A-T A T
+22 18450466 22:18450466G-A G A
+22 18450609 22:18450609G-A G A
+22 18450965 22:18450965G-A G A
+22 18451391 22:18451391G-A G A
+22 18451438 22:18451438A-C A C
+22 18451554 22:18451554G-A G A
+22 18451593 22:18451593C-T C T
+22 18451977 22:18451977C-T C T
+22 18452501 22:18452501C-A C A
+22 18452843 22:18452843G-C G C
+22 18453103 22:18453103G-C G C
+22 18454125 22:18454125T-C T C
+22 18454588 22:18454588G-A G A
+22 18454600 22:18454600G-A G A
+22 18455122 22:18455122C-T C T
+22 18455232 22:18455232G-A G A
+22 18455381 22:18455381T-C T C
+22 18455621 22:18455621A-G A G
+22 18455700 22:18455700C-A C A
+22 18455830 22:18455830A-G A G
+22 18455914 22:18455914G-A G A
+22 18456254 22:18456254C-T C T
+22 18456874 22:18456874T-C T C
+22 18457043 22:18457043G-T G T
+22 18457119 22:18457119C-T C T
+22 18457246 22:18457246A-G A G
+22 18457720 22:18457720G-T G T
+22 18457986 22:18457986T-C T C
+22 18458621 22:18458621A-C A C
+22 18458636 22:18458636A-G A G
+22 18458662 22:18458662C-T C T
+22 18459040 22:18459040C-T C T
+22 18459127 22:18459127G-C G C
+22 18459859 22:18459859C-T C T
+22 18459889 22:18459889C-T C T
+22 18459922 22:18459922C-T C T
+22 18460059 22:18460059G-T G T
+22 18460539 22:18460539C-T C T
+22 18460720 22:18460720G-A G A
+22 18461056 22:18461056A-T A T
+22 18461166 22:18461166A-G A G
+22 18461180 22:18461180T-C T C
+22 18461231 22:18461231T-C T C
+22 18461431 22:18461431G-C G C
+22 18461473 22:18461473C-T C T
+22 18461831 22:18461831T-C T C
+22 18462027 22:18462027C-T C T
+22 18462418 22:18462418C-A C A
+22 18463216 22:18463216A-G A G
+22 18463266 22:18463266A-G A G
+22 18463297 22:18463297A-G A G
+22 18463306 22:18463306T-C T C
+22 18463608 22:18463608C-T C T
+22 18463747 22:18463747T-C T C
+22 18464410 22:18464410G-A G A
+22 18464611 22:18464611T-C T C
+22 18465105 22:18465105G-A G A
+22 18465208 22:18465208G-A G A
+22 18465287 22:18465287A-T A T
+22 18465616 22:18465616T-C T C
+22 18465677 22:18465677G-A G A
+22 18465756 22:18465756A-C A C
+22 18465757 22:18465757A-C A C
+22 18465978 22:18465978C-T C T
+22 18466111 22:18466111G-T G T
+22 18466160 22:18466160A-G A G
+22 18466302 22:18466302C-G C G
+22 18466779 22:18466779G-A G A
+22 18466802 22:18466802G-A G A
+22 18466853 22:18466853T-G T G
+22 18467121 22:18467121G-A G A
+22 18467133 22:18467133C-T C T
+22 18467334 22:18467334G-C G C
+22 18467483 22:18467483G-A G A
+22 18467502 22:18467502T-C T C
+22 18467944 22:18467944T-C T C
+22 18468087 22:18468087T-C T C
+22 18468105 22:18468105A-G A G
+22 18468112 22:18468112G-A G A
+22 18468208 22:18468208A-G A G
+22 18468369 22:18468369A-C A C
+22 18468800 22:18468800G-T G T
+22 18469547 22:18469547C-T C T
+22 18469599 22:18469599T-C T C
+22 18470030 22:18470030T-G T G
+22 18470897 22:18470897T-G T G
+22 18470933 22:18470933G-A G A
+22 18472430 22:18472430A-G A G
+22 18473342 22:18473342C-T C T
+22 18473809 22:18473809C-T C T
+22 18474291 22:18474291C-T C T
+22 18474385 22:18474385C-T C T
+22 18474399 22:18474399G-A G A
+22 18474702 22:18474702C-T C T
+22 18474728 22:18474728G-A G A
+22 18475265 22:18475265C-T C T
+22 18475378 22:18475378G-A G A
+22 18475820 22:18475820T-G T G
+22 18476779 22:18476779C-A C A
+22 18476909 22:18476909C-T C T
+22 18477024 22:18477024T-C T C
+22 18477403 22:18477403A-G A G
+22 18477426 22:18477426C-G C G
+22 18478674 22:18478674C-A C A
+22 18479072 22:18479072T-C T C
+22 18479382 22:18479382C-T C T
+22 18479447 22:18479447A-G A G
+22 18480171 22:18480171C-T C T
+22 18480478 22:18480478C-T C T
+22 18481316 22:18481316T-A T A
+22 18481510 22:18481510A-G A G
+22 18481857 22:18481857C-T C T
+22 18482600 22:18482600G-A G A
+22 18483230 22:18483230A-G A G
+22 18483388 22:18483388A-G A G
+22 18483753 22:18483753G-A G A
+22 18483900 22:18483900G-A G A
+22 18484060 22:18484060A-G A G
+22 18484507 22:18484507T-C T C
+22 18484643 22:18484643C-A C A
+22 18485117 22:18485117G-C G C
+22 18485460 22:18485460A-T A T
+22 18485836 22:18485836T-G T G
+22 18486017 22:18486017T-C T C
+22 18486282 22:18486282A-G A G
+22 18486441 22:18486441C-T C T
+22 18486514 22:18486514G-A G A
+22 18487212 22:18487212G-A G A
+22 18487232 22:18487232G-A G A
+22 18487760 22:18487760C-T C T
+22 18488883 22:18488883G-C G C
+22 18489048 22:18489048A-C A C
+22 18489252 22:18489252G-A G A
+22 18489611 22:18489611C-A C A
+22 18489881 22:18489881C-T C T
+22 18490517 22:18490517G-A G A
+22 18491211 22:18491211C-T C T
+22 18493402 22:18493402T-A T A
+22 18493980 22:18493980A-G A G
+22 18494452 22:18494452C-T C T
+22 18495173 22:18495173G-T G T
+22 18495216 22:18495216C-T C T
+22 18495470 22:18495470G-A G A
+22 18495947 22:18495947T-C T C
+22 18496522 22:18496522T-C T C
+22 18496800 22:18496800G-C G C
+22 18496859 22:18496859G-A G A
+22 18497686 22:18497686A-G A G
+22 18498155 22:18498155G-T G T
+22 18498398 22:18498398G-A G A
+22 18498665 22:18498665C-T C T
+22 18498685 22:18498685A-G A G
+22 18498930 22:18498930T-C T C
+22 18499307 22:18499307C-G C G
+22 18499676 22:18499676G-T G T
+22 18500031 22:18500031G-A G A
+22 18500154 22:18500154T-A T A
+22 18500390 22:18500390C-T C T
+22 18500665 22:18500665C-T C T
+22 18500678 22:18500678G-A G A
+22 18500732 22:18500732G-A G A
+22 18500936 22:18500936A-G A G
+22 18501480 22:18501480T-C T C
+22 18501543 22:18501543C-T C T
+22 18501681 22:18501681G-A G A
+22 18501696 22:18501696G-A G A
+22 18501779 22:18501779G-A G A
+22 18502110 22:18502110T-G T G
+22 18502211 22:18502211G-A G A
+22 18503211 22:18503211C-T C T
+22 18503262 22:18503262A-G A G
+22 18503477 22:18503477T-C T C
+22 18503931 22:18503931A-G A G
+22 18504152 22:18504152T-G T G
+22 18504191 22:18504191A-G A G
+22 18504315 22:18504315A-G A G
+22 18504527 22:18504527T-C T C
+22 18504654 22:18504654A-G A G
+22 18504677 22:18504677C-T C T
+22 18504693 22:18504693G-A G A
+22 18504801 22:18504801T-G T G
+22 18505017 22:18505017G-A G A
+22 18505062 22:18505062G-A G A
+22 18505068 22:18505068G-A G A
+22 18505121 22:18505121A-G A G
+22 18505487 22:18505487G-A G A
+22 18505703 22:18505703A-G A G
+22 18505983 22:18505983T-A T A
+22 18506073 22:18506073A-G A G
+22 18506169 22:18506169A-G A G
+22 18506690 22:18506690G-A G A
+22 18506697 22:18506697T-G T G
+22 18506773 22:18506773T-C T C
+22 18507030 22:18507030G-A G A
+22 18507575 22:18507575T-G T G
+22 18507849 22:18507849G-A G A
+22 18509086 22:18509086A-T A T
+22 18509095 22:18509095C-T C T
+22 18509813 22:18509813A-T A T
+22 18509948 22:18509948C-A C A
+22 18510145 22:18510145G-T G T
+22 18510634 22:18510634A-G A G
+22 18510675 22:18510675T-C T C
+22 18510791 22:18510791T-C T C
+22 18510936 22:18510936C-T C T
+22 18510974 22:18510974T-A T A
+22 18510989 22:18510989A-T A T
+22 18511085 22:18511085T-C T C
+22 18511135 22:18511135G-A G A
+22 18511457 22:18511457C-G C G
+22 18512094 22:18512094C-T C T
+22 18512109 22:18512109C-G C G
+22 18512282 22:18512282T-C T C
+22 18512325 22:18512325G-A G A
+22 18512462 22:18512462A-G A G
+22 18512496 22:18512496A-G A G
+22 18512743 22:18512743T-C T C
+22 18512758 22:18512758T-G T G
+22 18513780 22:18513780G-T G T
+22 18513786 22:18513786A-G A G
+22 18514305 22:18514305T-C T C
+22 18514528 22:18514528T-C T C
+22 18514898 22:18514898C-T C T
+22 18516684 22:18516684C-A C A
+22 18516782 22:18516782A-T A T
+22 18516997 22:18516997C-T C T
+22 18517918 22:18517918G-A G A
+22 18518634 22:18518634G-A G A
+22 18518651 22:18518651T-C T C
+22 18518759 22:18518759C-T C T
+22 18518783 22:18518783T-C T C
+22 18518829 22:18518829G-A G A
+22 18519998 22:18519998T-C T C
+22 18520582 22:18520582G-A G A
+22 18520612 22:18520612G-A G A
+22 18520654 22:18520654G-A G A
+22 18520801 22:18520801T-G T G
+22 18520830 22:18520830A-G A G
+22 18521736 22:18521736T-C T C
+22 18521750 22:18521750A-T A T
+22 18521770 22:18521770A-G A G
+22 18521894 22:18521894C-T C T
+22 18522098 22:18522098G-A G A
+22 18522189 22:18522189C-T C T
+22 18522275 22:18522275A-G A G
+22 18522284 22:18522284C-G C G
+22 18522323 22:18522323C-T C T
+22 18522327 22:18522327C-G C G
+22 18522357 22:18522357C-T C T
+22 18522611 22:18522611A-G A G
+22 18523214 22:18523214C-T C T
+22 18523416 22:18523416T-C T C
+22 18523623 22:18523623G-A G A
+22 18525700 22:18525700T-C T C
+22 18526567 22:18526567C-G C G
+22 18526789 22:18526789T-G T G
+22 18527828 22:18527828C-T C T
+22 18528673 22:18528673C-T C T
+22 18528978 22:18528978A-G A G
+22 18529186 22:18529186G-A G A
+22 18529224 22:18529224C-T C T
+22 18529421 22:18529421A-G A G
+22 18530897 22:18530897G-C G C
+22 18530984 22:18530984A-G A G
+22 18531257 22:18531257G-C G C
+22 18531472 22:18531472G-T G T
+22 18531698 22:18531698C-T C T
+22 18531959 22:18531959A-G A G
+22 18532017 22:18532017C-A C A
+22 18532102 22:18532102T-C T C
+22 18532239 22:18532239C-T C T
+22 18533335 22:18533335G-A G A
+22 18533434 22:18533434C-T C T
+22 18533858 22:18533858T-C T C
+22 18534034 22:18534034A-T A T
+22 18534181 22:18534181C-T C T
+22 18534292 22:18534292C-A C A
+22 18534613 22:18534613G-T G T
+22 18534928 22:18534928C-T C T
+22 18535140 22:18535140A-C A C
+22 18535311 22:18535311G-A G A
+22 18535462 22:18535462T-A T A
+22 18535538 22:18535538C-G C G
+22 18535724 22:18535724C-T C T
+22 18536488 22:18536488T-A T A
+22 18537041 22:18537041G-A G A
+22 18537145 22:18537145A-G A G
+22 18537469 22:18537469C-T C T
+22 18537610 22:18537610T-C T C
+22 18537839 22:18537839A-G A G
+22 18537943 22:18537943C-T C T
+22 18538076 22:18538076C-T C T
+22 18539370 22:18539370T-C T C
+22 18539553 22:18539553C-T C T
+22 18539656 22:18539656A-G A G
+22 18540086 22:18540086T-C T C
+22 18540577 22:18540577T-C T C
+22 18541497 22:18541497C-G C G
+22 18542023 22:18542023G-A G A
+22 18542185 22:18542185C-T C T
+22 18542311 22:18542311A-G A G
+22 18542442 22:18542442G-A G A
+22 18543688 22:18543688A-G A G
+22 18544239 22:18544239A-G A G
+22 18544255 22:18544255T-A T A
+22 18545387 22:18545387G-A G A
+22 18545634 22:18545634C-T C T
+22 18545811 22:18545811T-G T G
+22 18545898 22:18545898T-G T G
+22 18545899 22:18545899T-A T A
+22 18546612 22:18546612G-A G A
+22 18546667 22:18546667G-A G A
+22 18546700 22:18546700C-T C T
+22 18546752 22:18546752C-T C T
+22 18547038 22:18547038A-T A T
+22 18547586 22:18547586C-G C G
+22 18548050 22:18548050G-A G A
+22 18549174 22:18549174G-A G A
+22 18549641 22:18549641G-A G A
+22 18549740 22:18549740T-C T C
+22 18549968 22:18549968T-C T C
+22 18550690 22:18550690T-G T G
+22 18551012 22:18551012C-T C T
+22 18551341 22:18551341T-C T C
+22 18551344 22:18551344T-C T C
+22 18551487 22:18551487C-T C T
+22 18551780 22:18551780A-G A G
+22 18552662 22:18552662C-T C T
+22 18553542 22:18553542G-T G T
+22 18553606 22:18553606G-A G A
+22 18554263 22:18554263G-A G A
+22 18554486 22:18554486A-G A G
+22 18554932 22:18554932G-A G A
+22 18555036 22:18555036A-G A G
+22 18555134 22:18555134A-G A G
+22 18555681 22:18555681C-T C T
+22 18556046 22:18556046G-A G A
+22 18558511 22:18558511G-T G T
+22 18562888 22:18562888C-T C T
+22 18563052 22:18563052G-A G A
+22 18563287 22:18563287A-G A G
+22 18563571 22:18563571G-A G A
+22 18564150 22:18564150G-A G A
+22 18565048 22:18565048T-C T C
+22 18565346 22:18565346A-G A G
+22 18565727 22:18565727A-G A G
+22 18566917 22:18566917C-T C T
+22 18567057 22:18567057C-T C T
+22 18567231 22:18567231A-C A C
+22 18567276 22:18567276T-C T C
+22 18569254 22:18569254T-A T A
+22 18569713 22:18569713C-G C G
+22 18569731 22:18569731T-C T C
+22 18570153 22:18570153G-A G A
+22 18570164 22:18570164C-G C G
+22 18570175 22:18570175T-G T G
+22 18570346 22:18570346G-A G A
+22 18571008 22:18571008G-A G A
+22 18571758 22:18571758C-T C T
+22 18571828 22:18571828T-C T C
+22 18572106 22:18572106T-A T A
+22 18572431 22:18572431G-A G A
+22 18572892 22:18572892A-G A G
+22 18573912 22:18573912T-C T C
+22 18573967 22:18573967A-G A G
+22 18574361 22:18574361G-A G A
+22 18574715 22:18574715C-T C T
+22 18575712 22:18575712G-C G C
+22 18575941 22:18575941A-G A G
+22 18576066 22:18576066G-A G A
+22 18576298 22:18576298C-T C T
+22 18576389 22:18576389T-G T G
+22 18577004 22:18577004G-A G A
+22 18577338 22:18577338T-C T C
+22 18578703 22:18578703C-T C T
+22 18579316 22:18579316C-G C G
+22 18579761 22:18579761C-A C A
+22 18579824 22:18579824C-T C T
+22 18580190 22:18580190C-T C T
+22 18580324 22:18580324T-C T C
+22 18580460 22:18580460T-G T G
+22 18580972 22:18580972G-A G A
+22 18581665 22:18581665C-T C T
+22 18582402 22:18582402T-A T A
+22 18582650 22:18582650A-C A C
+22 18582937 22:18582937G-A G A
+22 18583014 22:18583014T-C T C
+22 18583247 22:18583247C-T C T
+22 18583267 22:18583267T-C T C
+22 18583293 22:18583293T-C T C
+22 18583574 22:18583574T-C T C
+22 18583720 22:18583720T-C T C
+22 18583894 22:18583894C-A C A
+22 18584433 22:18584433T-C T C
+22 18584588 22:18584588G-A G A
+22 18585577 22:18585577C-T C T
+22 18585987 22:18585987G-C G C
+22 18586169 22:18586169T-C T C
+22 18587221 22:18587221C-G C G
+22 18587714 22:18587714G-A G A
+22 18587994 22:18587994A-G A G
+22 18589801 22:18589801A-G A G
+22 18589842 22:18589842G-A G A
+22 18590899 22:18590899C-A C A
+22 18591546 22:18591546G-A G A
+22 18591678 22:18591678G-A G A
+22 18591891 22:18591891A-G A G
+22 18594928 22:18594928T-G T G
+22 18594931 22:18594931T-C T C
+22 18595352 22:18595352T-G T G
+22 18596449 22:18596449G-T G T
+22 18597209 22:18597209C-T C T
+22 18597404 22:18597404G-A G A
+22 18597502 22:18597502T-C T C
+22 18599291 22:18599291A-G A G
+22 18600583 22:18600583G-A G A
+22 18600803 22:18600803G-A G A
+22 18601415 22:18601415A-G A G
+22 18603088 22:18603088C-G C G
+22 18606091 22:18606091G-C G C
+22 18607872 22:18607872G-A G A
+22 18608402 22:18608402T-C T C
+22 18608436 22:18608436G-A G A
+22 18608627 22:18608627T-C T C
+22 18609065 22:18609065G-T G T
+22 18610110 22:18610110A-G A G
+22 18610247 22:18610247A-G A G
+22 18611223 22:18611223A-G A G
+22 18612226 22:18612226G-A G A
+22 18613045 22:18613045G-A G A
+22 18614874 22:18614874A-C A C
+22 18616930 22:18616930A-G A G
+22 18617205 22:18617205C-T C T
+22 18618741 22:18618741T-C T C
+22 18618851 22:18618851G-T G T
+22 18619540 22:18619540C-A C A
+22 18619901 22:18619901G-A G A
+22 18619913 22:18619913G-T G T
+22 18620355 22:18620355A-G A G
+22 18620708 22:18620708C-T C T
+22 18622054 22:18622054T-C T C
+22 18622343 22:18622343A-G A G
+22 18622691 22:18622691C-G C G
+22 18622898 22:18622898T-C T C
+22 18623721 22:18623721A-T A T
+22 18624454 22:18624454G-A G A
+22 18625519 22:18625519G-A G A
+22 18625809 22:18625809G-C G C
+22 18626234 22:18626234G-C G C
+22 18626637 22:18626637A-G A G
+22 18627730 22:18627730C-G C G
+22 18628212 22:18628212C-A C A
+22 18628715 22:18628715C-T C T
+22 18629320 22:18629320A-G A G
+22 18630312 22:18630312A-G A G
+22 18630802 22:18630802C-A C A
+22 18631365 22:18631365C-T C T
+22 18632054 22:18632054G-C G C
+22 18633446 22:18633446G-A G A
+22 18633484 22:18633484G-A G A
+22 18633507 22:18633507A-C A C
+22 18633629 22:18633629G-A G A
+22 18633678 22:18633678G-A G A
+22 18633860 22:18633860G-A G A
+22 18633978 22:18633978A-C A C
+22 18634562 22:18634562G-A G A
+22 18634651 22:18634651A-G A G
+22 18634776 22:18634776C-G C G
+22 18635018 22:18635018G-C G C
+22 18635125 22:18635125G-A G A
+22 18635315 22:18635315C-T C T
+22 18636056 22:18636056C-T C T
+22 18636082 22:18636082A-G A G
+22 18637050 22:18637050G-T G T
+22 18637268 22:18637268T-C T C
+22 18638158 22:18638158G-A G A
+22 18638612 22:18638612C-T C T
+22 18638649 22:18638649G-A G A
+22 18638776 22:18638776A-G A G
+22 18639260 22:18639260C-T C T
+22 18639402 22:18639402G-A G A
+22 18639631 22:18639631C-T C T
+22 18639909 22:18639909C-T C T
+22 18640104 22:18640104C-T C T
+22 18640300 22:18640300G-A G A
+22 18640915 22:18640915C-T C T
+22 18641443 22:18641443G-A G A
+22 18641577 22:18641577C-G C G
+22 18641905 22:18641905A-C A C
+22 18642145 22:18642145A-G A G
+22 18642181 22:18642181A-G A G
+22 18642350 22:18642350T-C T C
+22 18642865 22:18642865G-A G A
+22 18643166 22:18643166G-A G A
+22 18643216 22:18643216C-T C T
+22 18643273 22:18643273G-A G A
+22 18643344 22:18643344T-C T C
+22 18648971 22:18648971A-G A G
+22 18649861 22:18649861A-G A G
+22 18649922 22:18649922A-G A G
+22 18650682 22:18650682C-T C T
+22 18652291 22:18652291T-C T C
+22 18876318 22:18876318T-C T C
+22 18877787 22:18877787T-G T G
+22 18880927 22:18880927C-T C T
+22 18881148 22:18881148T-C T C
+22 18882126 22:18882126G-A G A
+22 18886915 22:18886915A-C A C
+22 18888301 22:18888301G-A G A
+22 18888396 22:18888396G-A G A
+22 18888514 22:18888514C-T C T
+22 18888578 22:18888578G-A G A
+22 18889755 22:18889755G-A G A
+22 18889794 22:18889794A-G A G
+22 18890037 22:18890037G-A G A
+22 18890344 22:18890344T-C T C
+22 18890615 22:18890615G-A G A
+22 18890809 22:18890809C-A C A
+22 18890967 22:18890967T-C T C
+22 18891230 22:18891230C-T C T
+22 18891306 22:18891306C-T C T
+22 18891398 22:18891398A-G A G
+22 18892019 22:18892019C-T C T
+22 18892575 22:18892575G-A G A
+22 18892714 22:18892714G-A G A
+22 18892948 22:18892948T-C T C
+22 18893238 22:18893238G-A G A
+22 18893248 22:18893248G-A G A
+22 18893631 22:18893631T-C T C
+22 18894600 22:18894600G-C G C
+22 18895227 22:18895227C-T C T
+22 18895563 22:18895563G-A G A
+22 18895694 22:18895694T-G T G
+22 18895703 22:18895703T-C T C
+22 18895875 22:18895875A-T A T
+22 18896087 22:18896087T-C T C
+22 18896169 22:18896169C-T C T
+22 18896189 22:18896189T-C T C
+22 18896301 22:18896301G-T G T
+22 18896429 22:18896429T-C T C
+22 18896464 22:18896464C-T C T
+22 18896605 22:18896605C-T C T
+22 18896709 22:18896709T-C T C
+22 18897228 22:18897228C-A C A
+22 18897292 22:18897292G-A G A
+22 18898064 22:18898064G-A G A
+22 18898289 22:18898289G-C G C
+22 18899016 22:18899016G-A G A
+22 18899484 22:18899484G-A G A
+22 18900669 22:18900669A-G A G
+22 18900750 22:18900750G-A G A
+22 18901004 22:18901004C-T C T
+22 18901090 22:18901090A-G A G
+22 18901290 22:18901290G-A G A
+22 18901667 22:18901667C-T C T
+22 18901878 22:18901878C-G C G
+22 18902729 22:18902729C-T C T
+22 18902852 22:18902852C-T C T
+22 18904414 22:18904414A-G A G
+22 18904606 22:18904606T-G T G
+22 18904750 22:18904750T-G T G
+22 18904838 22:18904838T-G T G
+22 18904974 22:18904974T-A T A
+22 18904995 22:18904995A-G A G
+22 18905117 22:18905117A-G A G
+22 18905964 22:18905964C-T C T
+22 18905978 22:18905978G-A G A
+22 18906360 22:18906360T-C T C
+22 18906655 22:18906655T-C T C
+22 18906839 22:18906839A-G A G
+22 18907124 22:18907124G-A G A
+22 18907405 22:18907405G-T G T
+22 18907855 22:18907855G-A G A
+22 18907997 22:18907997C-T C T
+22 18908641 22:18908641C-T C T
+22 18908684 22:18908684C-T C T
+22 18908726 22:18908726T-C T C
+22 18908875 22:18908875A-G A G
+22 18909276 22:18909276T-C T C
+22 18910257 22:18910257C-T C T
+22 18910301 22:18910301A-G A G
+22 18910307 22:18910307G-A G A
+22 18910479 22:18910479C-T C T
+22 18910545 22:18910545C-T C T
+22 18910756 22:18910756C-G C G
+22 18911157 22:18911157G-A G A
+22 18911333 22:18911333C-A C A
+22 18912119 22:18912119T-C T C
+22 18912429 22:18912429A-G A G
+22 18912678 22:18912678A-G A G
+22 18912848 22:18912848A-G A G
+22 18913602 22:18913602G-A G A
+22 18915763 22:18915763T-G T G
+22 18915816 22:18915816T-C T C
+22 18915963 22:18915963G-A G A
+22 18916180 22:18916180C-T C T
+22 18916756 22:18916756C-A C A
+22 18917031 22:18917031T-C T C
+22 18917621 22:18917621A-T A T
+22 18917748 22:18917748C-T C T
+22 18917886 22:18917886T-C T C
+22 18918005 22:18918005G-C G C
+22 18918008 22:18918008G-C G C
+22 18918014 22:18918014A-G A G
+22 18918080 22:18918080G-C G C
+22 18918208 22:18918208T-C T C
+22 18918218 22:18918218G-A G A
+22 18918267 22:18918267C-T C T
+22 18918430 22:18918430T-C T C
+22 18918760 22:18918760T-C T C
+22 18918937 22:18918937G-C G C
+22 18919755 22:18919755C-A C A
+22 18919899 22:18919899T-A T A
+22 18920516 22:18920516C-T C T
+22 18921062 22:18921062G-T G T
+22 18921069 22:18921069A-G A G
+22 18921223 22:18921223T-C T C
+22 18921239 22:18921239T-C T C
+22 18921297 22:18921297G-C G C
+22 18921917 22:18921917A-G A G
+22 18922022 22:18922022T-C T C
+22 18923183 22:18923183T-G T G
+22 18923340 22:18923340T-C T C
+22 18923373 22:18923373T-G T G
+22 18923383 22:18923383C-T C T
+22 18923524 22:18923524G-A G A
+22 18923585 22:18923585C-G C G
+22 18923713 22:18923713G-A G A
+22 18923745 22:18923745G-T G T
+22 18923987 22:18923987G-C G C
+22 18924271 22:18924271T-C T C
+22 18924379 22:18924379C-T C T
+22 18924783 22:18924783T-C T C
+22 18924956 22:18924956G-T G T
+22 18925051 22:18925051C-T C T
+22 18925223 22:18925223A-G A G
+22 18935609 22:18935609G-T G T
+22 18935759 22:18935759G-A G A
+22 18935766 22:18935766G-A G A
+22 18936399 22:18936399T-A T A
+22 18936620 22:18936620A-G A G
+22 18936993 22:18936993A-G A G
+22 18937513 22:18937513T-A T A
+22 18937847 22:18937847G-A G A
+22 18937957 22:18937957G-A G A
+22 18938190 22:18938190G-A G A
+22 18938193 22:18938193T-C T C
+22 18938367 22:18938367G-T G T
+22 18939056 22:18939056C-A C A
+22 18939595 22:18939595G-C G C
+22 18940050 22:18940050A-G A G
+22 18941457 22:18941457A-G A G
+22 18941579 22:18941579A-G A G
+22 18941948 22:18941948G-A G A
+22 18942165 22:18942165C-G C G
+22 18942199 22:18942199T-C T C
+22 18942750 22:18942750C-T C T
+22 18943076 22:18943076G-A G A
+22 18944361 22:18944361G-A G A
+22 18945215 22:18945215G-A G A
+22 18946008 22:18946008T-C T C
+22 18946210 22:18946210A-G A G
+22 18946337 22:18946337C-T C T
+22 18947667 22:18947667C-T C T
+22 18947954 22:18947954C-T C T
+22 18948889 22:18948889C-T C T
+22 18948890 22:18948890G-A G A
+22 18949530 22:18949530T-C T C
+22 18949770 22:18949770C-G C G
+22 18950378 22:18950378C-A C A
+22 18951507 22:18951507T-C T C
+22 18951545 22:18951545T-C T C
+22 18951696 22:18951696C-T C T
+22 18951736 22:18951736G-A G A
+22 18952113 22:18952113G-A G A
+22 18952236 22:18952236C-G C G
+22 18952470 22:18952470T-C T C
+22 18952629 22:18952629G-A G A
+22 18952799 22:18952799A-C A C
+22 18953106 22:18953106A-G A G
+22 18953329 22:18953329C-T C T
+22 18954191 22:18954191T-C T C
+22 18954289 22:18954289C-T C T
+22 18954629 22:18954629A-G A G
+22 18954862 22:18954862A-C A C
+22 18954995 22:18954995G-A G A
+22 18955957 22:18955957A-T A T
+22 18956203 22:18956203A-G A G
+22 18956532 22:18956532C-G C G
+22 18956825 22:18956825G-T G T
+22 18957129 22:18957129C-T C T
+22 18957376 22:18957376A-G A G
+22 18957593 22:18957593T-C T C
+22 18957789 22:18957789G-C G C
+22 18958025 22:18958025C-T C T
+22 18958674 22:18958674G-C G C
+22 18958888 22:18958888G-A G A
+22 18959028 22:18959028C-T C T
+22 18959060 22:18959060G-A G A
+22 18959169 22:18959169G-A G A
+22 18959220 22:18959220A-G A G
+22 18959684 22:18959684C-A C A
+22 18959896 22:18959896C-T C T
+22 18960645 22:18960645C-T C T
+22 18960807 22:18960807T-C T C
+22 18961151 22:18961151T-C T C
+22 18961405 22:18961405A-G A G
+22 18961782 22:18961782G-A G A
+22 18962396 22:18962396G-A G A
+22 18962440 22:18962440A-G A G
+22 18963205 22:18963205C-T C T
+22 18963340 22:18963340G-A G A
+22 18964791 22:18964791G-C G C
+22 18965418 22:18965418C-T C T
+22 18965552 22:18965552G-A G A
+22 18965628 22:18965628C-T C T
+22 18966001 22:18966001C-A C A
+22 18966136 22:18966136T-C T C
+22 18966137 22:18966137C-G C G
+22 18966512 22:18966512C-A C A
+22 18966617 22:18966617G-A G A
+22 18966859 22:18966859G-A G A
+22 18966904 22:18966904G-T G T
+22 18967288 22:18967288T-A T A
+22 18967349 22:18967349A-G A G
+22 18967371 22:18967371A-G A G
+22 18967582 22:18967582G-C G C
+22 18967927 22:18967927T-C T C
+22 18968097 22:18968097C-T C T
+22 18969664 22:18969664A-G A G
+22 18969794 22:18969794C-A C A
+22 18969855 22:18969855G-T G T
+22 18970050 22:18970050C-T C T
+22 18970193 22:18970193C-T C T
+22 18970403 22:18970403T-C T C
+22 18970915 22:18970915C-T C T
+22 18971065 22:18971065C-T C T
+22 18971224 22:18971224G-A G A
+22 18971275 22:18971275A-G A G
+22 18971748 22:18971748C-T C T
+22 18971793 22:18971793A-G A G
+22 18971946 22:18971946G-A G A
+22 18972013 22:18972013G-A G A
+22 18972047 22:18972047A-G A G
+22 18972331 22:18972331A-G A G
+22 18972425 22:18972425T-C T C
+22 18972450 22:18972450A-G A G
+22 18973030 22:18973030T-C T C
+22 18973314 22:18973314G-A G A
+22 18973471 22:18973471T-C T C
+22 18973549 22:18973549G-A G A
+22 18973671 22:18973671C-T C T
+22 18973688 22:18973688A-G A G
+22 18973977 22:18973977T-C T C
+22 18974332 22:18974332C-T C T
+22 18974698 22:18974698C-T C T
+22 18974724 22:18974724T-C T C
+22 18974973 22:18974973C-T C T
+22 18974986 22:18974986G-A G A
+22 18975345 22:18975345A-C A C
+22 18975446 22:18975446G-C G C
+22 18975504 22:18975504A-C A C
+22 18975587 22:18975587A-G A G
+22 18975822 22:18975822G-A G A
+22 18976479 22:18976479C-G C G
+22 18976603 22:18976603A-G A G
+22 18978304 22:18978304G-A G A
+22 18978681 22:18978681T-C T C
+22 18979405 22:18979405A-C A C
+22 18980443 22:18980443T-C T C
+22 18981563 22:18981563T-C T C
+22 18982097 22:18982097G-A G A
+22 18982823 22:18982823C-T C T
+22 18983632 22:18983632C-A C A
+22 18983750 22:18983750G-T G T
+22 18984848 22:18984848A-G A G
+22 18985726 22:18985726T-A T A
+22 18988552 22:18988552T-A T A
+22 18989020 22:18989020A-G A G
+22 18989198 22:18989198A-C A C
+22 18989466 22:18989466T-C T C
+22 18989754 22:18989754C-T C T
+22 18990128 22:18990128A-C A C
+22 18991377 22:18991377T-G T G
+22 18992121 22:18992121C-T C T
+22 18992378 22:18992378G-A G A
+22 18993128 22:18993128C-T C T
+22 18994024 22:18994024A-C A C
+22 18994093 22:18994093C-T C T
+22 18995430 22:18995430T-G T G
+22 18995549 22:18995549T-C T C
+22 18996565 22:18996565A-G A G
+22 18997367 22:18997367T-C T C
+22 18997998 22:18997998G-A G A
+22 18999511 22:18999511A-G A G
+22 19000061 22:19000061A-G A G
+22 19001841 22:19001841C-T C T
+22 19002009 22:19002009G-T G T
+22 19002159 22:19002159C-T C T
+22 19002531 22:19002531A-G A G
+22 19003938 22:19003938C-T C T
+22 19004501 22:19004501G-A G A
+22 19004772 22:19004772G-C G C
+22 19008025 22:19008025G-A G A
+22 19008108 22:19008108G-T G T
+22 19008510 22:19008510T-G T G
+22 19008872 22:19008872C-T C T
+22 19008901 22:19008901T-A T A
+22 19008902 22:19008902G-A G A
+22 19009167 22:19009167C-T C T
+22 19009311 22:19009311A-T A T
+22 19010082 22:19010082G-A G A
+22 19010149 22:19010149T-C T C
+22 19010631 22:19010631C-T C T
+22 19010710 22:19010710G-A G A
+22 19011358 22:19011358T-G T G
+22 19012511 22:19012511A-G A G
+22 19012751 22:19012751A-G A G
+22 19012855 22:19012855G-C G C
+22 19014649 22:19014649A-G A G
+22 19016247 22:19016247C-G C G
+22 19016663 22:19016663G-T G T
+22 19016762 22:19016762G-T G T
+22 19017046 22:19017046C-T C T
+22 19017093 22:19017093G-A G A
+22 19017963 22:19017963A-G A G
+22 19018100 22:19018100G-A G A
+22 19018402 22:19018402A-T A T
+22 19018980 22:19018980G-A G A
+22 19018986 22:19018986C-T C T
+22 19019317 22:19019317G-A G A
+22 19020302 22:19020302T-C T C
+22 19021416 22:19021416T-C T C
+22 19023441 22:19023441C-T C T
+22 19023639 22:19023639A-G A G
+22 19025330 22:19025330A-C A C
+22 19025381 22:19025381C-T C T
+22 19025766 22:19025766C-T C T
+22 19025897 22:19025897C-T C T
+22 19026025 22:19026025A-G A G
+22 19026613 22:19026613A-G A G
+22 19026877 22:19026877C-A C A
+22 19027129 22:19027129C-T C T
+22 19027582 22:19027582G-A G A
+22 19027597 22:19027597C-T C T
+22 19028320 22:19028320C-G C G
+22 19028476 22:19028476T-C T C
+22 19028480 22:19028480T-C T C
+22 19030007 22:19030007A-G A G
+22 19030113 22:19030113A-G A G
+22 19030336 22:19030336A-G A G
+22 19030348 22:19030348T-C T C
+22 19030722 22:19030722A-G A G
+22 19030832 22:19030832C-G C G
+22 19031108 22:19031108G-A G A
+22 19031614 22:19031614T-C T C
+22 19031818 22:19031818T-C T C
+22 19032215 22:19032215G-A G A
+22 19032444 22:19032444T-C T C
+22 19032965 22:19032965C-T C T
+22 19033407 22:19033407T-A T A
+22 19033443 22:19033443G-A G A
+22 19033532 22:19033532T-C T C
+22 19033768 22:19033768G-C G C
+22 19034079 22:19034079A-C A C
+22 19034079 22:19034079A-T A T
+22 19034240 22:19034240A-G A G
+22 19034829 22:19034829A-G A G
+22 19034833 22:19034833T-C T C
+22 19034986 22:19034986G-A G A
+22 19035072 22:19035072A-G A G
+22 19035697 22:19035697T-C T C
+22 19035723 22:19035723G-A G A
+22 19036232 22:19036232A-G A G
+22 19036479 22:19036479C-T C T
+22 19036739 22:19036739G-C G C
+22 19036754 22:19036754G-A G A
+22 19037535 22:19037535T-C T C
+22 19037734 22:19037734G-A G A
+22 19038847 22:19038847C-T C T
+22 19039491 22:19039491G-A G A
+22 19039706 22:19039706G-T G T
+22 19039758 22:19039758A-G A G
+22 19040157 22:19040157A-G A G
+22 19040409 22:19040409C-T C T
+22 19040446 22:19040446C-T C T
+22 19040775 22:19040775A-G A G
+22 19040808 22:19040808T-A T A
+22 19040878 22:19040878A-G A G
+22 19041699 22:19041699G-A G A
+22 19041896 22:19041896C-A C A
+22 19042542 22:19042542C-T C T
+22 19042822 22:19042822G-A G A
+22 19045784 22:19045784A-G A G
+22 19045932 22:19045932A-T A T
+22 19046009 22:19046009G-A G A
+22 19046735 22:19046735A-G A G
+22 19046943 22:19046943T-A T A
+22 19047207 22:19047207G-C G C
+22 19047369 22:19047369C-A C A
+22 19047579 22:19047579C-T C T
+22 19047776 22:19047776C-A C A
+22 19048413 22:19048413A-G A G
+22 19048436 22:19048436G-A G A
+22 19048449 22:19048449G-A G A
+22 19048688 22:19048688C-G C G
+22 19049278 22:19049278T-C T C
+22 19049602 22:19049602T-G T G
+22 19049657 22:19049657T-C T C
+22 19049871 22:19049871G-A G A
+22 19050007 22:19050007C-T C T
+22 19050010 22:19050010A-G A G
+22 19050110 22:19050110A-G A G
+22 19050635 22:19050635G-A G A
+22 19050878 22:19050878A-G A G
+22 19051008 22:19051008C-A C A
+22 19051362 22:19051362G-A G A
+22 19051381 22:19051381T-C T C
+22 19052189 22:19052189C-T C T
+22 19052972 22:19052972T-C T C
+22 19053016 22:19053016A-G A G
+22 19053290 22:19053290C-G C G
+22 19053406 22:19053406G-T G T
+22 19054036 22:19054036C-T C T
+22 19054160 22:19054160G-C G C
+22 19054293 22:19054293T-C T C
+22 19055021 22:19055021G-T G T
+22 19055459 22:19055459G-A G A
+22 19055542 22:19055542T-C T C
+22 19056019 22:19056019C-A C A
+22 19056576 22:19056576T-C T C
+22 19056915 22:19056915A-G A G
+22 19056979 22:19056979C-T C T
+22 19057188 22:19057188A-G A G
+22 19057723 22:19057723A-G A G
+22 19057790 22:19057790G-A G A
+22 19057859 22:19057859C-T C T
+22 19057886 22:19057886T-C T C
+22 19058146 22:19058146C-T C T
+22 19058547 22:19058547C-T C T
+22 19058752 22:19058752A-G A G
+22 19059053 22:19059053C-T C T
+22 19059278 22:19059278C-T C T
+22 19059652 22:19059652G-A G A
+22 19061330 22:19061330T-C T C
+22 19062254 22:19062254T-C T C
+22 19062353 22:19062353A-G A G
+22 19062885 22:19062885G-A G A
+22 19063076 22:19063076G-A G A
+22 19063144 22:19063144T-C T C
+22 19063304 22:19063304T-C T C
+22 19063374 22:19063374G-A G A
+22 19063634 22:19063634A-G A G
+22 19063704 22:19063704T-C T C
+22 19064520 22:19064520A-G A G
+22 19064840 22:19064840A-G A G
+22 19064971 22:19064971T-A T A
+22 19065006 22:19065006C-T C T
+22 19065099 22:19065099C-T C T
+22 19065109 22:19065109A-G A G
+22 19065430 22:19065430G-C G C
+22 19065765 22:19065765G-A G A
+22 19067871 22:19067871C-T C T
+22 19068227 22:19068227T-C T C
+22 19069022 22:19069022T-A T A
+22 19069493 22:19069493C-T C T
+22 19069942 22:19069942G-A G A
+22 19070343 22:19070343C-T C T
+22 19070433 22:19070433T-C T C
+22 19070439 22:19070439G-A G A
+22 19070732 22:19070732T-C T C
+22 19072896 22:19072896G-C G C
+22 19073087 22:19073087C-T C T
+22 19073612 22:19073612G-A G A
+22 19073763 22:19073763A-G A G
+22 19073924 22:19073924A-G A G
+22 19074201 22:19074201G-A G A
+22 19074594 22:19074594G-A G A
+22 19074753 22:19074753T-C T C
+22 19076797 22:19076797C-A C A
+22 19077049 22:19077049C-T C T
+22 19077445 22:19077445T-C T C
+22 19077594 22:19077594C-T C T
+22 19077624 22:19077624T-C T C
+22 19077927 22:19077927C-T C T
+22 19078409 22:19078409C-T C T
+22 19078521 22:19078521A-G A G
+22 19078607 22:19078607C-A C A
+22 19078675 22:19078675C-A C A
+22 19078762 22:19078762C-T C T
+22 19079058 22:19079058G-A G A
+22 19079241 22:19079241A-G A G
+22 19079479 22:19079479G-C G C
+22 19079608 22:19079608C-A C A
+22 19079800 22:19079800G-C G C
+22 19080150 22:19080150A-G A G
+22 19080300 22:19080300T-C T C
+22 19080672 22:19080672C-T C T
+22 19080674 22:19080674A-G A G
+22 19080899 22:19080899C-A C A
+22 19081239 22:19081239A-G A G
+22 19081810 22:19081810G-A G A
+22 19082346 22:19082346T-C T C
+22 19082535 22:19082535T-C T C
+22 19082736 22:19082736G-A G A
+22 19082956 22:19082956T-C T C
+22 19082991 22:19082991G-A G A
+22 19083107 22:19083107G-C G C
+22 19083153 22:19083153A-G A G
+22 19083552 22:19083552A-T A T
+22 19083557 22:19083557T-C T C
+22 19083678 22:19083678T-C T C
+22 19084036 22:19084036T-C T C
+22 19084555 22:19084555A-G A G
+22 19084689 22:19084689G-A G A
+22 19085202 22:19085202T-C T C
+22 19085596 22:19085596T-A T A
+22 19086183 22:19086183G-A G A
+22 19086520 22:19086520T-C T C
+22 19086904 22:19086904C-G C G
+22 19087067 22:19087067A-G A G
+22 19087210 22:19087210G-A G A
+22 19087915 22:19087915T-G T G
+22 19087939 22:19087939C-T C T
+22 19088607 22:19088607C-G C G
+22 19089187 22:19089187G-A G A
+22 19090070 22:19090070C-T C T
+22 19090249 22:19090249T-C T C
+22 19090267 22:19090267G-C G C
+22 19090370 22:19090370T-G T G
+22 19091086 22:19091086C-T C T
+22 19092222 22:19092222C-G C G
+22 19093033 22:19093033T-C T C
+22 19093047 22:19093047T-C T C
+22 19093085 22:19093085A-G A G
+22 19094165 22:19094165C-T C T
+22 19094327 22:19094327A-T A T
+22 19095664 22:19095664A-T A T
+22 19095688 22:19095688G-A G A
+22 19096531 22:19096531G-A G A
+22 19097680 22:19097680G-C G C
+22 19097700 22:19097700C-T C T
+22 19097837 22:19097837T-A T A
+22 19097839 22:19097839C-T C T
+22 19098229 22:19098229A-G A G
+22 19098259 22:19098259T-G T G
+22 19098642 22:19098642G-A G A
+22 19098966 22:19098966T-C T C
+22 19099280 22:19099280C-G C G
+22 19099419 22:19099419A-G A G
+22 19099552 22:19099552C-G C G
+22 19099647 22:19099647G-A G A
+22 19100743 22:19100743T-C T C
+22 19100777 22:19100777G-A G A
+22 19100955 22:19100955C-A C A
+22 19101551 22:19101551A-G A G
+22 19101978 22:19101978A-G A G
+22 19102582 22:19102582G-C G C
+22 19103298 22:19103298T-G T G
+22 19103347 22:19103347T-C T C
+22 19103598 22:19103598C-G C G
+22 19104186 22:19104186A-T A T
+22 19104324 22:19104324C-T C T
+22 19104535 22:19104535G-T G T
+22 19104787 22:19104787G-A G A
+22 19104877 22:19104877T-G T G
+22 19104926 22:19104926C-G C G
+22 19105779 22:19105779G-C G C
+22 19105966 22:19105966G-T G T
+22 19106120 22:19106120A-C A C
+22 19106144 22:19106144C-T C T
+22 19107437 22:19107437A-G A G
+22 19107596 22:19107596A-G A G
+22 19108098 22:19108098G-T G T
+22 19108548 22:19108548T-C T C
+22 19109609 22:19109609A-C A C
+22 19109764 22:19109764A-G A G
+22 19109812 22:19109812A-G A G
+22 19110409 22:19110409A-G A G
+22 19112184 22:19112184G-A G A
+22 19112322 22:19112322T-G T G
+22 19112485 22:19112485A-G A G
+22 19113015 22:19113015C-T C T
+22 19113028 22:19113028G-A G A
+22 19113288 22:19113288G-A G A
+22 19113477 22:19113477T-C T C
+22 19113686 22:19113686A-G A G
+22 19113860 22:19113860C-A C A
+22 19114540 22:19114540G-A G A
+22 19115648 22:19115648T-C T C
+22 19115656 22:19115656G-A G A
+22 19115850 22:19115850T-G T G
+22 19116351 22:19116351G-A G A
+22 19116501 22:19116501A-T A T
+22 19117267 22:19117267T-C T C
+22 19118701 22:19118701T-C T C
+22 19119545 22:19119545C-T C T
+22 19119686 22:19119686C-T C T
+22 19119751 22:19119751C-T C T
+22 19119938 22:19119938G-A G A
+22 19120867 22:19120867T-C T C
+22 19120959 22:19120959C-A C A
+22 19121872 22:19121872G-A G A
+22 19122498 22:19122498C-T C T
+22 19122665 22:19122665C-T C T
+22 19123075 22:19123075T-C T C
+22 19123952 22:19123952T-C T C
+22 19124375 22:19124375C-T C T
+22 19124546 22:19124546C-G C G
+22 19125136 22:19125136G-A G A
+22 19125383 22:19125383A-C A C
+22 19126631 22:19126631T-C T C
+22 19128169 22:19128169G-A G A
+22 19128559 22:19128559C-T C T
+22 19129672 22:19129672A-G A G
+22 19132325 22:19132325A-G A G
+22 19132380 22:19132380A-T A T
+22 19132385 22:19132385G-A G A
+22 19132781 22:19132781G-T G T
+22 19132849 22:19132849T-A T A
+22 19132869 22:19132869G-A G A
+22 19133104 22:19133104C-A C A
+22 19133331 22:19133331A-T A T
+22 19133466 22:19133466G-A G A
+22 19133605 22:19133605G-A G A
+22 19133916 22:19133916C-T C T
+22 19134022 22:19134022G-A G A
+22 19134083 22:19134083C-T C T
+22 19134159 22:19134159C-T C T
+22 19134301 22:19134301G-A G A
+22 19134440 22:19134440A-G A G
+22 19135180 22:19135180G-A G A
+22 19135212 22:19135212C-A C A
+22 19135603 22:19135603G-A G A
+22 19136203 22:19136203G-A G A
+22 19136722 22:19136722G-A G A
+22 19136913 22:19136913G-C G C
+22 19137949 22:19137949C-G C G
+22 19138172 22:19138172C-G C G
+22 19138257 22:19138257T-C T C
+22 19138442 22:19138442T-C T C
+22 19140990 22:19140990T-C T C
+22 19141162 22:19141162T-G T G
+22 19141314 22:19141314T-C T C
+22 19141529 22:19141529A-G A G
+22 19141678 22:19141678C-T C T
+22 19141730 22:19141730G-A G A
+22 19142587 22:19142587A-T A T
+22 19142591 22:19142591G-A G A
+22 19142990 22:19142990T-C T C
+22 19143047 22:19143047A-C A C
+22 19143173 22:19143173T-C T C
+22 19144095 22:19144095G-A G A
+22 19144138 22:19144138G-A G A
+22 19144298 22:19144298T-C T C
+22 19144309 22:19144309A-T A T
+22 19144416 22:19144416C-T C T
+22 19144448 22:19144448T-C T C
+22 19144563 22:19144563G-T G T
+22 19144720 22:19144720T-C T C
+22 19144977 22:19144977C-T C T
+22 19145050 22:19145050G-A G A
+22 19145075 22:19145075G-A G A
+22 19145323 22:19145323G-A G A
+22 19146322 22:19146322G-C G C
+22 19146555 22:19146555G-A G A
+22 19146835 22:19146835A-G A G
+22 19146873 22:19146873G-A G A
+22 19146877 22:19146877C-T C T
+22 19146900 22:19146900A-G A G
+22 19146984 22:19146984G-A G A
+22 19147012 22:19147012T-G T G
+22 19147260 22:19147260A-G A G
+22 19147441 22:19147441C-T C T
+22 19148244 22:19148244T-C T C
+22 19148721 22:19148721C-A C A
+22 19148751 22:19148751G-A G A
+22 19149151 22:19149151T-G T G
+22 19149521 22:19149521A-G A G
+22 19149580 22:19149580A-G A G
+22 19149777 22:19149777G-A G A
+22 19149846 22:19149846G-C G C
+22 19149905 22:19149905T-C T C
+22 19150134 22:19150134C-T C T
+22 19150229 22:19150229T-G T G
+22 19150261 22:19150261T-A T A
+22 19150281 22:19150281C-A C A
+22 19150491 22:19150491G-A G A
+22 19150846 22:19150846T-A T A
+22 19150991 22:19150991T-C T C
+22 19151419 22:19151419G-A G A
+22 19152844 22:19152844C-T C T
+22 19152942 22:19152942C-T C T
+22 19153717 22:19153717A-T A T
+22 19154522 22:19154522T-C T C
+22 19154608 22:19154608A-C A C
+22 19155662 22:19155662G-A G A
+22 19156117 22:19156117T-C T C
+22 19156543 22:19156543A-G A G
+22 19156708 22:19156708G-C G C
+22 19157000 22:19157000G-A G A
+22 19157642 22:19157642A-C A C
+22 19157819 22:19157819C-G C G
+22 19158116 22:19158116G-A G A
+22 19158593 22:19158593C-A C A
+22 19158722 22:19158722A-G A G
+22 19158756 22:19158756G-C G C
+22 19159015 22:19159015C-T C T
+22 19160549 22:19160549C-T C T
+22 19160899 22:19160899A-G A G
+22 19161307 22:19161307G-A G A
+22 19161327 22:19161327G-A G A
+22 19161935 22:19161935C-T C T
+22 19162276 22:19162276C-T C T
+22 19162326 22:19162326A-G A G
+22 19162686 22:19162686A-G A G
+22 19162696 22:19162696G-A G A
+22 19165216 22:19165216G-A G A
+22 19165478 22:19165478A-G A G
+22 19165997 22:19165997G-A G A
+22 19166263 22:19166263G-A G A
+22 19166680 22:19166680A-G A G
+22 19166717 22:19166717G-T G T
+22 19167385 22:19167385C-A C A
+22 19167409 22:19167409T-C T C
+22 19167801 22:19167801C-T C T
+22 19168087 22:19168087G-A G A
+22 19168616 22:19168616T-C T C
+22 19169332 22:19169332C-T C T
+22 19170181 22:19170181C-T C T
+22 19170205 22:19170205C-G C G
+22 19171345 22:19171345C-T C T
+22 19172006 22:19172006T-C T C
+22 19172281 22:19172281G-A G A
+22 19172321 22:19172321G-T G T
+22 19172939 22:19172939C-T C T
+22 19173350 22:19173350G-A G A
+22 19173933 22:19173933T-A T A
+22 19174239 22:19174239A-G A G
+22 19174524 22:19174524G-A G A
+22 19174597 22:19174597C-T C T
+22 19174603 22:19174603T-C T C
+22 19176411 22:19176411G-A G A
+22 19177522 22:19177522A-G A G
+22 19179367 22:19179367T-C T C
+22 19180575 22:19180575C-T C T
+22 19180589 22:19180589A-G A G
+22 19181319 22:19181319G-C G C
+22 19181473 22:19181473G-A G A
+22 19181557 22:19181557C-T C T
+22 19182874 22:19182874C-T C T
+22 19183470 22:19183470A-G A G
+22 19183787 22:19183787A-G A G
+22 19184095 22:19184095T-C T C
+22 19184244 22:19184244C-T C T
+22 19185056 22:19185056A-G A G
+22 19185526 22:19185526C-T C T
+22 19185606 22:19185606T-C T C
+22 19185736 22:19185736G-A G A
+22 19187009 22:19187009G-A G A
+22 19187375 22:19187375G-A G A
+22 19187427 22:19187427C-G C G
+22 19188078 22:19188078G-A G A
+22 19189027 22:19189027C-T C T
+22 19189706 22:19189706T-C T C
+22 19190143 22:19190143C-T C T
+22 19191725 22:19191725T-C T C
+22 19192596 22:19192596C-G C G
+22 19192905 22:19192905A-T A T
+22 19193263 22:19193263C-T C T
+22 19194661 22:19194661A-G A G
+22 19194868 22:19194868C-T C T
+22 19195296 22:19195296C-T C T
+22 19195680 22:19195680T-C T C
+22 19196112 22:19196112C-A C A
+22 19196728 22:19196728A-G A G
+22 19196892 22:19196892G-A G A
+22 19197896 22:19197896T-C T C
+22 19197949 22:19197949G-A G A
+22 19198226 22:19198226A-G A G
+22 19198375 22:19198375T-C T C
+22 19199407 22:19199407G-T G T
+22 19200927 22:19200927C-T C T
+22 19201358 22:19201358G-A G A
+22 19201916 22:19201916C-T C T
+22 19203078 22:19203078G-A G A
+22 19204210 22:19204210A-C A C
+22 19204392 22:19204392G-C G C
+22 19204478 22:19204478A-G A G
+22 19204805 22:19204805A-T A T
+22 19204851 22:19204851C-T C T
+22 19204895 22:19204895A-T A T
+22 19204897 22:19204897G-A G A
+22 19205043 22:19205043G-T G T
+22 19205214 22:19205214A-G A G
+22 19205572 22:19205572C-T C T
+22 19205826 22:19205826A-T A T
+22 19206499 22:19206499A-G A G
+22 19207208 22:19207208G-T G T
+22 19207763 22:19207763G-C G C
+22 19207844 22:19207844C-T C T
+22 19208193 22:19208193G-A G A
+22 19208500 22:19208500T-C T C
+22 19209167 22:19209167A-G A G
+22 19211665 22:19211665C-T C T
+22 19212655 22:19212655T-G T G
+22 19212708 22:19212708C-T C T
+22 19212947 22:19212947T-C T C
+22 19214636 22:19214636G-C G C
+22 19215039 22:19215039C-T C T
+22 19215560 22:19215560T-C T C
+22 19215700 22:19215700G-A G A
+22 19215787 22:19215787C-T C T
+22 19215836 22:19215836T-C T C
+22 19215860 22:19215860G-A G A
+22 19217041 22:19217041T-C T C
+22 19217197 22:19217197G-C G C
+22 19217764 22:19217764C-T C T
+22 19219881 22:19219881C-G C G
+22 19219980 22:19219980C-T C T
+22 19220648 22:19220648G-T G T
+22 19220648 22:19220648G-A G A
+22 19221406 22:19221406T-G T G
+22 19223352 22:19223352T-C T C
+22 19223579 22:19223579C-A C A
+22 19224115 22:19224115C-T C T
+22 19225650 22:19225650C-T C T
+22 19226260 22:19226260G-A G A
+22 19226767 22:19226767T-C T C
+22 19227706 22:19227706C-T C T
+22 19228736 22:19228736C-T C T
+22 19228943 22:19228943A-G A G
+22 19230194 22:19230194C-T C T
+22 19230625 22:19230625T-G T G
+22 19231365 22:19231365C-T C T
+22 19232466 22:19232466G-A G A
+22 19233577 22:19233577G-A G A
+22 19233615 22:19233615C-T C T
+22 19233739 22:19233739T-C T C
+22 19233875 22:19233875G-A G A
+22 19235363 22:19235363T-C T C
+22 19235804 22:19235804G-A G A
+22 19236020 22:19236020A-G A G
+22 19236489 22:19236489C-T C T
+22 19238431 22:19238431A-G A G
+22 19238555 22:19238555G-A G A
+22 19238834 22:19238834A-T A T
+22 19239984 22:19239984A-G A G
+22 19240007 22:19240007T-G T G
+22 19240861 22:19240861C-T C T
+22 19241014 22:19241014A-C A C
+22 19241841 22:19241841T-C T C
+22 19242361 22:19242361G-A G A
+22 19244130 22:19244130C-T C T
+22 19244161 22:19244161G-A G A
+22 19244338 22:19244338C-T C T
+22 19245309 22:19245309C-T C T
+22 19245574 22:19245574T-C T C
+22 19247034 22:19247034C-T C T
+22 19247153 22:19247153A-T A T
+22 19247995 22:19247995C-G C G
+22 19248025 22:19248025G-A G A
+22 19248059 22:19248059A-G A G
+22 19248278 22:19248278G-A G A
+22 19248551 22:19248551T-A T A
+22 19248587 22:19248587C-T C T
+22 19248857 22:19248857C-T C T
+22 19248922 22:19248922C-T C T
+22 19249401 22:19249401C-T C T
+22 19251023 22:19251023T-C T C
+22 19251040 22:19251040C-T C T
+22 19251792 22:19251792C-T C T
+22 19252270 22:19252270C-A C A
+22 19252387 22:19252387T-C T C
+22 19252419 22:19252419G-C G C
+22 19252527 22:19252527G-T G T
+22 19252608 22:19252608A-G A G
+22 19252822 22:19252822G-A G A
+22 19253274 22:19253274T-C T C
+22 19253332 22:19253332A-G A G
+22 19253507 22:19253507A-C A C
+22 19253684 22:19253684G-A G A
+22 19253899 22:19253899A-T A T
+22 19255856 22:19255856A-C A C
+22 19256545 22:19256545A-G A G
+22 19256579 22:19256579C-T C T
+22 19256659 22:19256659T-C T C
+22 19256781 22:19256781A-G A G
+22 19256879 22:19256879T-C T C
+22 19256905 22:19256905C-T C T
+22 19256971 22:19256971C-G C G
+22 19257155 22:19257155G-A G A
+22 19258082 22:19258082C-T C T
+22 19258091 22:19258091A-C A C
+22 19258143 22:19258143A-G A G
+22 19258383 22:19258383C-G C G
+22 19259184 22:19259184C-G C G
+22 19259354 22:19259354T-G T G
+22 19259526 22:19259526A-G A G
+22 19259781 22:19259781T-A T A
+22 19259784 22:19259784G-A G A
+22 19260575 22:19260575C-A C A
+22 19261245 22:19261245G-A G A
+22 19262039 22:19262039A-G A G
+22 19262458 22:19262458T-C T C
+22 19262852 22:19262852T-C T C
+22 19263083 22:19263083T-C T C
+22 19263591 22:19263591C-G C G
+22 19263698 22:19263698C-T C T
+22 19263892 22:19263892T-C T C
+22 19263906 22:19263906G-A G A
+22 19265799 22:19265799C-T C T
+22 19266865 22:19266865A-G A G
+22 19267923 22:19267923A-G A G
+22 19268024 22:19268024A-G A G
+22 19268178 22:19268178T-C T C
+22 19268686 22:19268686T-C T C
+22 19268873 22:19268873T-C T C
+22 19269808 22:19269808C-T C T
+22 19271831 22:19271831T-C T C
+22 19272539 22:19272539C-T C T
+22 19272690 22:19272690C-T C T
+22 19272806 22:19272806G-A G A
+22 19273227 22:19273227A-G A G
+22 19273370 22:19273370G-C G C
+22 19273902 22:19273902A-G A G
+22 19274261 22:19274261T-C T C
+22 19274376 22:19274376T-C T C
+22 19275606 22:19275606C-G C G
+22 19275951 22:19275951G-A G A
+22 19277809 22:19277809G-T G T
+22 19278954 22:19278954C-A C A
+22 19278973 22:19278973G-C G C
+22 19279558 22:19279558C-T C T
+22 19279641 22:19279641C-A C A
+22 19279806 22:19279806G-C G C
+22 19280168 22:19280168A-G A G
+22 19280403 22:19280403G-T G T
+22 19280889 22:19280889C-A C A
+22 19280892 22:19280892C-T C T
+22 19281255 22:19281255G-C G C
+22 19281411 22:19281411C-T C T
+22 19281417 22:19281417T-C T C
+22 19281759 22:19281759T-C T C
+22 19281980 22:19281980G-A G A
+22 19282228 22:19282228G-A G A
+22 19282232 22:19282232T-C T C
+22 19282854 22:19282854T-G T G
+22 19283478 22:19283478A-G A G
+22 19283738 22:19283738T-C T C
+22 19283871 22:19283871T-A T A
+22 19284517 22:19284517C-T C T
+22 19284808 22:19284808G-A G A
+22 19284832 22:19284832C-T C T
+22 19285357 22:19285357G-A G A
+22 19285361 22:19285361G-T G T
+22 19285596 22:19285596T-C T C
+22 19285816 22:19285816G-A G A
+22 19286056 22:19286056G-T G T
+22 19286470 22:19286470T-C T C
+22 19288155 22:19288155C-T C T
+22 19289770 22:19289770C-T C T
+22 19292446 22:19292446T-G T G
+22 19293643 22:19293643G-A G A
+22 19293768 22:19293768C-G C G
+22 19294025 22:19294025G-C G C
+22 19294533 22:19294533C-T C T
+22 19294578 22:19294578C-G C G
+22 19296235 22:19296235G-A G A
+22 19298853 22:19298853G-A G A
+22 19299038 22:19299038G-A G A
+22 19299538 22:19299538G-A G A
+22 19299579 22:19299579G-C G C
+22 19302579 22:19302579C-T C T
+22 19304590 22:19304590T-C T C
+22 19304596 22:19304596G-A G A
+22 19305289 22:19305289C-T C T
+22 19306667 22:19306667A-G A G
+22 19308181 22:19308181C-T C T
+22 19309694 22:19309694T-C T C
+22 19310590 22:19310590A-C A C
+22 19310812 22:19310812C-T C T
+22 19312061 22:19312061C-T C T
+22 19312361 22:19312361T-C T C
+22 19312616 22:19312616C-A C A
+22 19314032 22:19314032T-C T C
+22 19316120 22:19316120G-A G A
+22 19316565 22:19316565G-A G A
+22 19316639 22:19316639G-A G A
+22 19317397 22:19317397C-T C T
+22 19317830 22:19317830C-T C T
+22 19319763 22:19319763T-C T C
+22 19320844 22:19320844T-C T C
+22 19321052 22:19321052T-C T C
+22 19322239 22:19322239C-G C G
+22 19322421 22:19322421T-G T G
+22 19323262 22:19323262G-A G A
+22 19325308 22:19325308G-A G A
+22 19325440 22:19325440A-T A T
+22 19327938 22:19327938C-T C T
+22 19329275 22:19329275A-C A C
+22 19329351 22:19329351G-A G A
+22 19334923 22:19334923C-T C T
+22 19335449 22:19335449G-A G A
+22 19338412 22:19338412T-G T G
+22 19342188 22:19342188C-T C T
+22 19342548 22:19342548C-T C T
+22 19346000 22:19346000G-T G T
+22 19347428 22:19347428T-G T G
+22 19348199 22:19348199G-A G A
+22 19349590 22:19349590G-C G C
+22 19350614 22:19350614G-A G A
+22 19357189 22:19357189G-A G A
+22 19360219 22:19360219T-G T G
+22 19362142 22:19362142C-T C T
+22 19362618 22:19362618G-T G T
+22 19364630 22:19364630T-C T C
+22 19365286 22:19365286T-C T C
+22 19366820 22:19366820C-T C T
+22 19372656 22:19372656C-T C T
+22 19372712 22:19372712C-T C T
+22 19373914 22:19373914A-G A G
+22 19376567 22:19376567A-G A G
+22 19378110 22:19378110G-A G A
+22 19378259 22:19378259C-T C T
+22 19378723 22:19378723C-T C T
+22 19379195 22:19379195G-A G A
+22 19379555 22:19379555T-G T G
+22 19380635 22:19380635A-G A G
+22 19381331 22:19381331C-T C T
+22 19382466 22:19382466C-G C G
+22 19382851 22:19382851T-C T C
+22 19383964 22:19383964A-G A G
+22 19384589 22:19384589C-G C G
+22 19386023 22:19386023C-T C T
+22 19386633 22:19386633T-C T C
+22 19388068 22:19388068G-A G A
+22 19389023 22:19389023A-G A G
+22 19390804 22:19390804T-C T C
+22 19394255 22:19394255G-A G A
+22 19397149 22:19397149G-A G A
+22 19398652 22:19398652C-G C G
+22 19398837 22:19398837T-C T C
+22 19400094 22:19400094C-T C T
+22 19403582 22:19403582C-G C G
+22 19404701 22:19404701C-T C T
+22 19405994 22:19405994A-G A G
+22 19407955 22:19407955C-T C T
+22 19411438 22:19411438A-G A G
+22 19413706 22:19413706C-T C T
+22 19414133 22:19414133A-G A G
+22 19416754 22:19416754G-A G A
+22 19419677 22:19419677A-G A G
+22 19419851 22:19419851A-C A C
+22 19420109 22:19420109T-C T C
+22 19420306 22:19420306C-G C G
+22 19420959 22:19420959T-C T C
+22 19421229 22:19421229G-A G A
+22 19421242 22:19421242C-T C T
+22 19421989 22:19421989G-A G A
+22 19422935 22:19422935T-C T C
+22 19423250 22:19423250G-A G A
+22 19423630 22:19423630A-T A T
+22 19424440 22:19424440C-T C T
+22 19426032 22:19426032G-A G A
+22 19426166 22:19426166G-T G T
+22 19428077 22:19428077A-G A G
+22 19428145 22:19428145G-T G T
+22 19428511 22:19428511A-G A G
+22 19430259 22:19430259T-A T A
+22 19430472 22:19430472C-T C T
+22 19431038 22:19431038A-G A G
+22 19431396 22:19431396T-C T C
+22 19431485 22:19431485G-A G A
+22 19432456 22:19432456G-A G A
+22 19434215 22:19434215C-T C T
+22 19437324 22:19437324G-C G C
+22 19437938 22:19437938C-T C T
+22 19437946 22:19437946G-C G C
+22 19439165 22:19439165C-T C T
+22 19439540 22:19439540G-A G A
+22 19440597 22:19440597G-A G A
+22 19441224 22:19441224C-T C T
+22 19441569 22:19441569G-A G A
+22 19441742 22:19441742T-C T C
+22 19442013 22:19442013C-T C T
+22 19443554 22:19443554G-A G A
+22 19443869 22:19443869G-A G A
+22 19444915 22:19444915G-A G A
+22 19445054 22:19445054G-A G A
+22 19445101 22:19445101C-G C G
+22 19445195 22:19445195C-G C G
+22 19445299 22:19445299A-C A C
+22 19447182 22:19447182T-C T C
+22 19447369 22:19447369C-T C T
+22 19447758 22:19447758G-A G A
+22 19448563 22:19448563A-G A G
+22 19449473 22:19449473T-G T G
+22 19449483 22:19449483T-A T A
+22 19449571 22:19449571A-G A G
+22 19450951 22:19450951A-G A G
+22 19451186 22:19451186C-A C A
+22 19451268 22:19451268G-C G C
+22 19452030 22:19452030G-C G C
+22 19452372 22:19452372C-G C G
+22 19453275 22:19453275G-A G A
+22 19453727 22:19453727C-G C G
+22 19454787 22:19454787T-C T C
+22 19455376 22:19455376C-T C T
+22 19455836 22:19455836A-G A G
+22 19455871 22:19455871A-C A C
+22 19456763 22:19456763C-T C T
+22 19457743 22:19457743T-C T C
+22 19457755 22:19457755A-G A G
+22 19458224 22:19458224C-T C T
+22 19458412 22:19458412A-G A G
+22 19459157 22:19459157A-G A G
+22 19460146 22:19460146T-A T A
+22 19460468 22:19460468G-A G A
+22 19460666 22:19460666C-G C G
+22 19461105 22:19461105G-A G A
+22 19461845 22:19461845G-A G A
+22 19462466 22:19462466C-G C G
+22 19466235 22:19466235C-T C T
+22 19466349 22:19466349T-G T G
+22 19466385 22:19466385G-A G A
+22 19466886 22:19466886T-C T C
+22 19467462 22:19467462G-T G T
+22 19467652 22:19467652T-C T C
+22 19468655 22:19468655C-T C T
+22 19469322 22:19469322C-A C A
+22 19471609 22:19471609A-G A G
+22 19472280 22:19472280T-C T C
+22 19472843 22:19472843T-G T G
+22 19473425 22:19473425A-C A C
+22 19473910 22:19473910A-G A G
+22 19475248 22:19475248A-G A G
+22 19478616 22:19478616C-G C G
+22 19478744 22:19478744G-C G C
+22 19479104 22:19479104A-T A T
+22 19479589 22:19479589A-G A G
+22 19479695 22:19479695C-T C T
+22 19483898 22:19483898T-C T C
+22 19484167 22:19484167A-G A G
+22 19485400 22:19485400A-G A G
+22 19486391 22:19486391C-T C T
+22 19486600 22:19486600C-T C T
+22 19487192 22:19487192G-A G A
+22 19487367 22:19487367G-A G A
+22 19488205 22:19488205A-G A G
+22 19489571 22:19489571A-G A G
+22 19490478 22:19490478G-T G T
+22 19490639 22:19490639A-G A G
+22 19490853 22:19490853T-C T C
+22 19491379 22:19491379A-G A G
+22 19491909 22:19491909G-A G A
+22 19491995 22:19491995T-A T A
+22 19492173 22:19492173G-T G T
+22 19492200 22:19492200T-A T A
+22 19492644 22:19492644G-A G A
+22 19492692 22:19492692C-G C G
+22 19493253 22:19493253G-C G C
+22 19493311 22:19493311C-G C G
+22 19493780 22:19493780G-A G A
+22 19494074 22:19494074G-A G A
+22 19494413 22:19494413T-C T C
+22 19495749 22:19495749A-G A G
+22 19495967 22:19495967G-A G A
+22 19496423 22:19496423T-C T C
+22 19496882 22:19496882G-A G A
+22 19498581 22:19498581C-T C T
+22 19498687 22:19498687A-T A T
+22 19499000 22:19499000T-A T A
+22 19499008 22:19499008C-T C T
+22 19499081 22:19499081G-A G A
+22 19499484 22:19499484C-T C T
+22 19500581 22:19500581C-A C A
+22 19500657 22:19500657C-G C G
+22 19501363 22:19501363T-C T C
+22 19501375 22:19501375C-T C T
+22 19501767 22:19501767G-A G A
+22 19503274 22:19503274G-C G C
+22 19503683 22:19503683G-A G A
+22 19504318 22:19504318G-A G A
+22 19504470 22:19504470T-C T C
+22 19505531 22:19505531C-T C T
+22 19505807 22:19505807C-T C T
+22 19506456 22:19506456G-T G T
+22 19506476 22:19506476C-T C T
+22 19506560 22:19506560T-A T A
+22 19506981 22:19506981G-C G C
+22 19507152 22:19507152C-A C A
+22 19509519 22:19509519C-T C T
+22 19509729 22:19509729G-A G A
+22 19510718 22:19510718C-G C G
+22 19511055 22:19511055C-A C A
+22 19511925 22:19511925G-A G A
+22 19513876 22:19513876C-T C T
+22 19513930 22:19513930G-A G A
+22 19513998 22:19513998G-C G C
+22 19514013 22:19514013A-G A G
+22 19514396 22:19514396C-T C T
+22 19515244 22:19515244A-G A G
+22 19515495 22:19515495C-T C T
+22 19515778 22:19515778A-G A G
+22 19515911 22:19515911G-A G A
+22 19516019 22:19516019T-C T C
+22 19516074 22:19516074T-C T C
+22 19516556 22:19516556A-G A G
+22 19516909 22:19516909C-T C T
+22 19517470 22:19517470G-T G T
+22 19517490 22:19517490C-T C T
+22 19517832 22:19517832C-G C G
+22 19518079 22:19518079T-C T C
+22 19518405 22:19518405C-G C G
+22 19520423 22:19520423T-G T G
+22 19520866 22:19520866C-T C T
+22 19521298 22:19521298A-G A G
+22 19521788 22:19521788G-A G A
+22 19522011 22:19522011G-A G A
+22 19522164 22:19522164G-A G A
+22 19522268 22:19522268A-C A C
+22 19522360 22:19522360A-G A G
+22 19522367 22:19522367C-A C A
+22 19522510 22:19522510T-G T G
+22 19523170 22:19523170G-A G A
+22 19523634 22:19523634A-T A T
+22 19523796 22:19523796G-A G A
+22 19524527 22:19524527C-A C A
+22 19524902 22:19524902T-C T C
+22 19525100 22:19525100C-T C T
+22 19526626 22:19526626C-T C T
+22 19527289 22:19527289A-G A G
+22 19527922 22:19527922T-G T G
+22 19528051 22:19528051T-C T C
+22 19528189 22:19528189T-C T C
+22 19528458 22:19528458A-C A C
+22 19528483 22:19528483C-T C T
+22 19528617 22:19528617T-C T C
+22 19529079 22:19529079G-A G A
+22 19529130 22:19529130A-G A G
+22 19529625 22:19529625C-A C A
+22 19531135 22:19531135A-C A C
+22 19531351 22:19531351A-G A G
+22 19531902 22:19531902C-T C T
+22 19532378 22:19532378A-G A G
+22 19534079 22:19534079G-A G A
+22 19534336 22:19534336A-G A G
+22 19534414 22:19534414C-G C G
+22 19534474 22:19534474T-C T C
+22 19534856 22:19534856A-C A C
+22 19535132 22:19535132G-A G A
+22 19535876 22:19535876C-T C T
+22 19536319 22:19536319C-G C G
+22 19536442 22:19536442A-C A C
+22 19536559 22:19536559C-G C G
+22 19536580 22:19536580A-T A T
+22 19537262 22:19537262C-T C T
+22 19537472 22:19537472G-C G C
+22 19537990 22:19537990G-A G A
+22 19538204 22:19538204A-C A C
+22 19538479 22:19538479A-T A T
+22 19538527 22:19538527A-G A G
+22 19539197 22:19539197A-G A G
+22 19540361 22:19540361A-G A G
+22 19540684 22:19540684G-A G A
+22 19541024 22:19541024A-G A G
+22 19541048 22:19541048A-G A G
+22 19541406 22:19541406T-C T C
+22 19542551 22:19542551T-G T G
+22 19543952 22:19543952C-T C T
+22 19544112 22:19544112C-G C G
+22 19545002 22:19545002G-A G A
+22 19545091 22:19545091G-A G A
+22 19546291 22:19546291C-T C T
+22 19546411 22:19546411A-G A G
+22 19546508 22:19546508C-T C T
+22 19547879 22:19547879A-G A G
+22 19548079 22:19548079G-A G A
+22 19548733 22:19548733G-A G A
+22 19549138 22:19549138G-A G A
+22 19549170 22:19549170T-C T C
+22 19550343 22:19550343T-C T C
+22 19550775 22:19550775T-G T G
+22 19550778 22:19550778C-T C T
+22 19551162 22:19551162A-G A G
+22 19551431 22:19551431C-T C T
+22 19551655 22:19551655G-A G A
+22 19551692 22:19551692A-G A G
+22 19552452 22:19552452G-A G A
+22 19552995 22:19552995C-T C T
+22 19553046 22:19553046C-T C T
+22 19554015 22:19554015C-G C G
+22 19554319 22:19554319G-T G T
+22 19555592 22:19555592C-G C G
+22 19555957 22:19555957G-C G C
+22 19556804 22:19556804C-T C T
+22 19556893 22:19556893G-A G A
+22 19557325 22:19557325T-G T G
+22 19557760 22:19557760G-A G A
+22 19557777 22:19557777A-G A G
+22 19558447 22:19558447C-A C A
+22 19558475 22:19558475A-G A G
+22 19558499 22:19558499T-A T A
+22 19559290 22:19559290A-G A G
+22 19559303 22:19559303G-A G A
+22 19559628 22:19559628A-G A G
+22 19560420 22:19560420G-A G A
+22 19560492 22:19560492A-G A G
+22 19561066 22:19561066T-G T G
+22 19561288 22:19561288G-A G A
+22 19561322 22:19561322G-A G A
+22 19561423 22:19561423G-A G A
+22 19561513 22:19561513C-A C A
+22 19562492 22:19562492T-A T A
+22 19562795 22:19562795A-G A G
+22 19562836 22:19562836A-G A G
+22 19562930 22:19562930G-T G T
+22 19563347 22:19563347T-C T C
+22 19564038 22:19564038G-C G C
+22 19564559 22:19564559A-G A G
+22 19564657 22:19564657G-A G A
+22 19565067 22:19565067G-A G A
+22 19565395 22:19565395T-C T C
+22 19565732 22:19565732G-A G A
+22 19565850 22:19565850T-A T A
+22 19566072 22:19566072A-G A G
+22 19566203 22:19566203A-G A G
+22 19566365 22:19566365T-C T C
+22 19566979 22:19566979A-T A T
+22 19567149 22:19567149A-G A G
+22 19567776 22:19567776C-T C T
+22 19567818 22:19567818C-T C T
+22 19567904 22:19567904T-C T C
+22 19568533 22:19568533C-T C T
+22 19569348 22:19569348C-T C T
+22 19569504 22:19569504G-A G A
+22 19569691 22:19569691C-T C T
+22 19569778 22:19569778A-G A G
+22 19569848 22:19569848C-T C T
+22 19569988 22:19569988T-C T C
+22 19569995 22:19569995G-A G A
+22 19570356 22:19570356T-C T C
+22 19570738 22:19570738C-T C T
+22 19571194 22:19571194C-T C T
+22 19571198 22:19571198G-T G T
+22 19571439 22:19571439G-C G C
+22 19573409 22:19573409G-C G C
+22 19573425 22:19573425G-A G A
+22 19573925 22:19573925T-G T G
+22 19574091 22:19574091C-T C T
+22 19574110 22:19574110T-G T G
+22 19574188 22:19574188A-G A G
+22 19574342 22:19574342C-T C T
+22 19574488 22:19574488G-A G A
+22 19574607 22:19574607A-G A G
+22 19574624 22:19574624C-T C T
+22 19574661 22:19574661T-C T C
+22 19574741 22:19574741A-G A G
+22 19574758 22:19574758T-C T C
+22 19574877 22:19574877C-T C T
+22 19574881 22:19574881G-C G C
+22 19575131 22:19575131A-C A C
+22 19575167 22:19575167G-A G A
+22 19575201 22:19575201C-T C T
+22 19575446 22:19575446G-A G A
+22 19575577 22:19575577G-A G A
+22 19575600 22:19575600C-T C T
+22 19575736 22:19575736A-G A G
+22 19575953 22:19575953A-G A G
+22 19576053 22:19576053C-T C T
+22 19576241 22:19576241C-T C T
+22 19576329 22:19576329C-T C T
+22 19576436 22:19576436C-T C T
+22 19576595 22:19576595A-T A T
+22 19576778 22:19576778A-C A C
+22 19577100 22:19577100A-G A G
+22 19577140 22:19577140G-T G T
+22 19577401 22:19577401G-A G A
+22 19577407 22:19577407C-A C A
+22 19578158 22:19578158T-C T C
+22 19578864 22:19578864G-A G A
+22 19579806 22:19579806T-C T C
+22 19579962 22:19579962A-C A C
+22 19580033 22:19580033C-T C T
+22 19580050 22:19580050G-A G A
+22 19580185 22:19580185A-C A C
+22 19580943 22:19580943C-A C A
+22 19581107 22:19581107T-C T C
+22 19581331 22:19581331C-T C T
+22 19581830 22:19581830A-G A G
+22 19581946 22:19581946G-T G T
+22 19581999 22:19581999C-T C T
+22 19582036 22:19582036A-G A G
+22 19582066 22:19582066C-T C T
+22 19582410 22:19582410T-C T C
+22 19582520 22:19582520A-G A G
+22 19582604 22:19582604G-A G A
+22 19582961 22:19582961G-A G A
+22 19583025 22:19583025G-A G A
+22 19583106 22:19583106G-C G C
+22 19583765 22:19583765G-A G A
+22 19584197 22:19584197A-G A G
+22 19584478 22:19584478T-C T C
+22 19584672 22:19584672A-G A G
+22 19585224 22:19585224G-A G A
+22 19585836 22:19585836A-G A G
+22 19587398 22:19587398G-C G C
+22 19587515 22:19587515A-G A G
+22 19587877 22:19587877C-T C T
+22 19587988 22:19587988C-T C T
+22 19588076 22:19588076T-C T C
+22 19588320 22:19588320A-C A C
+22 19588535 22:19588535A-G A G
+22 19588779 22:19588779C-T C T
+22 19589021 22:19589021C-A C A
+22 19589055 22:19589055T-C T C
+22 19589263 22:19589263G-A G A
+22 19589356 22:19589356A-G A G
+22 19589925 22:19589925C-T C T
+22 19590286 22:19590286C-T C T
+22 19590438 22:19590438A-G A G
+22 19590977 22:19590977T-C T C
+22 19591032 22:19591032C-T C T
+22 19591831 22:19591831C-A C A
+22 19592928 22:19592928C-G C G
+22 19593156 22:19593156T-C T C
+22 19593301 22:19593301G-A G A
+22 19593344 22:19593344G-A G A
+22 19593441 22:19593441G-T G T
+22 19593597 22:19593597G-A G A
+22 19593854 22:19593854A-C A C
+22 19593960 22:19593960C-A C A
+22 19594254 22:19594254C-T C T
+22 19594436 22:19594436A-G A G
+22 19594614 22:19594614T-G T G
+22 19594775 22:19594775T-C T C
+22 19595281 22:19595281C-A C A
+22 19595315 22:19595315C-A C A
+22 19595544 22:19595544T-C T C
+22 19596008 22:19596008C-G C G
+22 19596835 22:19596835G-A G A
+22 19597005 22:19597005G-T G T
+22 19597034 22:19597034G-A G A
+22 19597186 22:19597186A-C A C
+22 19597290 22:19597290C-T C T
+22 19597771 22:19597771C-T C T
+22 19598041 22:19598041A-G A G
+22 19598420 22:19598420T-C T C
+22 19598694 22:19598694T-C T C
+22 19600215 22:19600215C-T C T
+22 19600574 22:19600574G-A G A
+22 19600961 22:19600961A-G A G
+22 19601238 22:19601238C-T C T
+22 19601429 22:19601429G-A G A
+22 19602231 22:19602231C-G C G
+22 19603003 22:19603003C-T C T
+22 19603205 22:19603205G-A G A
+22 19603367 22:19603367T-C T C
+22 19603428 22:19603428A-G A G
+22 19603451 22:19603451T-C T C
+22 19603920 22:19603920T-A T A
+22 19603943 22:19603943C-G C G
+22 19606703 22:19606703A-G A G
+22 19608051 22:19608051A-G A G
+22 19608657 22:19608657A-G A G
+22 19609256 22:19609256A-G A G
+22 19609764 22:19609764T-C T C
+22 19609872 22:19609872C-G C G
+22 19609935 22:19609935C-T C T
+22 19609943 22:19609943A-G A G
+22 19609993 22:19609993C-G C G
+22 19610555 22:19610555G-T G T
+22 19610682 22:19610682A-G A G
+22 19612159 22:19612159A-G A G
+22 19615158 22:19615158T-A T A
+22 19615209 22:19615209C-T C T
+22 19615274 22:19615274T-C T C
+22 19615326 22:19615326G-C G C
+22 19615400 22:19615400G-C G C
+22 19616217 22:19616217T-C T C
+22 19616331 22:19616331T-C T C
+22 19616341 22:19616341A-G A G
+22 19616680 22:19616680G-A G A
+22 19617090 22:19617090T-A T A
+22 19617106 22:19617106A-G A G
+22 19617637 22:19617637G-C G C
+22 19618777 22:19618777C-A C A
+22 19618805 22:19618805A-G A G
+22 19618819 22:19618819G-T G T
+22 19618852 22:19618852C-T C T
+22 19619745 22:19619745C-T C T
+22 19620033 22:19620033G-A G A
+22 19620428 22:19620428C-G C G
+22 19620982 22:19620982T-C T C
+22 19621011 22:19621011C-T C T
+22 19621254 22:19621254A-G A G
+22 19622367 22:19622367A-G A G
+22 19622523 22:19622523G-A G A
+22 19622603 22:19622603G-A G A
+22 19622690 22:19622690T-C T C
+22 19623092 22:19623092G-A G A
+22 19623135 22:19623135T-C T C
+22 19623257 22:19623257A-G A G
+22 19623360 22:19623360G-A G A
+22 19623386 22:19623386G-T G T
+22 19623990 22:19623990A-G A G
+22 19624048 22:19624048A-G A G
+22 19624104 22:19624104C-T C T
+22 19626529 22:19626529T-C T C
+22 19627431 22:19627431C-G C G
+22 19627501 22:19627501T-C T C
+22 19627843 22:19627843T-C T C
+22 19628048 22:19628048T-C T C
+22 19628737 22:19628737A-C A C
+22 19629837 22:19629837G-A G A
+22 19631456 22:19631456T-C T C
+22 19632608 22:19632608C-T C T
+22 19633151 22:19633151C-A C A
+22 19633230 22:19633230A-T A T
+22 19633250 22:19633250C-A C A
+22 19633486 22:19633486C-T C T
+22 19633616 22:19633616C-T C T
+22 19633785 22:19633785A-C A C
+22 19633821 22:19633821T-C T C
+22 19634134 22:19634134A-G A G
+22 19634204 22:19634204C-T C T
+22 19634330 22:19634330C-T C T
+22 19634606 22:19634606G-C G C
+22 19634666 22:19634666C-G C G
+22 19634877 22:19634877C-T C T
+22 19635627 22:19635627A-G A G
+22 19635683 22:19635683T-A T A
+22 19636351 22:19636351G-A G A
+22 19636574 22:19636574T-A T A
+22 19636858 22:19636858A-G A G
+22 19636998 22:19636998T-C T C
+22 19637035 22:19637035A-T A T
+22 19637332 22:19637332G-A G A
+22 19637536 22:19637536C-A C A
+22 19638044 22:19638044C-T C T
+22 19638296 22:19638296T-C T C
+22 19638547 22:19638547T-C T C
+22 19639071 22:19639071A-T A T
+22 19639288 22:19639288A-T A T
+22 19639383 22:19639383A-G A G
+22 19639475 22:19639475A-G A G
+22 19639693 22:19639693G-A G A
+22 19639944 22:19639944C-A C A
+22 19640282 22:19640282G-A G A
+22 19640321 22:19640321C-T C T
+22 19640406 22:19640406A-G A G
+22 19640462 22:19640462T-C T C
+22 19640667 22:19640667T-C T C
+22 19640708 22:19640708C-T C T
+22 19640756 22:19640756T-C T C
+22 19641083 22:19641083T-C T C
+22 19641299 22:19641299G-A G A
+22 19641677 22:19641677T-C T C
+22 19641878 22:19641878A-T A T
+22 19642005 22:19642005G-T G T
+22 19642076 22:19642076T-C T C
+22 19642187 22:19642187T-G T G
+22 19642208 22:19642208T-C T C
+22 19642419 22:19642419C-T C T
+22 19642645 22:19642645G-C G C
+22 19642821 22:19642821G-C G C
+22 19643080 22:19643080G-C G C
+22 19643104 22:19643104T-C T C
+22 19643245 22:19643245G-A G A
+22 19643555 22:19643555A-G A G
+22 19643844 22:19643844G-A G A
+22 19644303 22:19644303T-A T A
+22 19644376 22:19644376A-G A G
+22 19644433 22:19644433C-T C T
+22 19644662 22:19644662A-C A C
+22 19644924 22:19644924A-G A G
+22 19645161 22:19645161G-A G A
+22 19645201 22:19645201A-C A C
+22 19645606 22:19645606G-C G C
+22 19645674 22:19645674G-A G A
+22 19645759 22:19645759G-A G A
+22 19645823 22:19645823G-A G A
+22 19646034 22:19646034T-C T C
+22 19647021 22:19647021A-G A G
+22 19647485 22:19647485C-T C T
+22 19648099 22:19648099T-C T C
+22 19648114 22:19648114C-A C A
+22 19648176 22:19648176G-A G A
+22 19648340 22:19648340T-G T G
+22 19648461 22:19648461C-G C G
+22 19649005 22:19649005G-A G A
+22 19649540 22:19649540T-A T A
+22 19649834 22:19649834T-C T C
+22 19651203 22:19651203G-A G A
+22 19651499 22:19651499A-T A T
+22 19651814 22:19651814G-A G A
+22 19651838 22:19651838C-A C A
+22 19651868 22:19651868A-G A G
+22 19651900 22:19651900G-A G A
+22 19652076 22:19652076G-A G A
+22 19652158 22:19652158T-C T C
+22 19652188 22:19652188G-A G A
+22 19652659 22:19652659T-C T C
+22 19652676 22:19652676C-G C G
+22 19652711 22:19652711A-G A G
+22 19652894 22:19652894C-G C G
+22 19652982 22:19652982G-A G A
+22 19653002 22:19653002T-A T A
+22 19653058 22:19653058T-G T G
+22 19653190 22:19653190G-A G A
+22 19653198 22:19653198T-G T G
+22 19653518 22:19653518A-G A G
+22 19653684 22:19653684A-G A G
+22 19654144 22:19654144G-T G T
+22 19654452 22:19654452G-A G A
+22 19654499 22:19654499T-C T C
+22 19654562 22:19654562T-G T G
+22 19658754 22:19658754A-G A G
+22 19659099 22:19659099A-G A G
+22 19661730 22:19661730T-C T C
+22 19662524 22:19662524G-A G A
+22 19664215 22:19664215T-C T C
+22 19665133 22:19665133G-A G A
+22 19665415 22:19665415C-T C T
+22 19665552 22:19665552A-G A G
+22 19668057 22:19668057G-C G C
+22 19668110 22:19668110A-G A G
+22 19668654 22:19668654T-C T C
+22 19668888 22:19668888G-A G A
+22 19669020 22:19669020T-A T A
+22 19670913 22:19670913A-G A G
+22 19670915 22:19670915C-T C T
+22 19671207 22:19671207C-T C T
+22 19671702 22:19671702C-T C T
+22 19671993 22:19671993G-A G A
+22 19672485 22:19672485T-A T A
+22 19672902 22:19672902G-C G C
+22 19673053 22:19673053A-C A C
+22 19673312 22:19673312A-G A G
+22 19673661 22:19673661G-A G A
+22 19674992 22:19674992T-C T C
+22 19675740 22:19675740T-C T C
+22 19675944 22:19675944G-T G T
+22 19676012 22:19676012A-G A G
+22 19676194 22:19676194G-A G A
+22 19676248 22:19676248A-G A G
+22 19676393 22:19676393G-A G A
+22 19676564 22:19676564A-C A C
+22 19676598 22:19676598C-T C T
+22 19676713 22:19676713G-A G A
+22 19677013 22:19677013G-C G C
+22 19677085 22:19677085T-C T C
+22 19677207 22:19677207T-C T C
+22 19677354 22:19677354G-A G A
+22 19677687 22:19677687G-A G A
+22 19677757 22:19677757G-A G A
+22 19677822 22:19677822T-C T C
+22 19677839 22:19677839G-A G A
+22 19678143 22:19678143C-A C A
+22 19678358 22:19678358G-A G A
+22 19678655 22:19678655C-T C T
+22 19678836 22:19678836C-T C T
+22 19678865 22:19678865C-T C T
+22 19679067 22:19679067A-G A G
+22 19679303 22:19679303G-A G A
+22 19679460 22:19679460G-C G C
+22 19679817 22:19679817C-T C T
+22 19679989 22:19679989A-C A C
+22 19680080 22:19680080G-C G C
+22 19680169 22:19680169T-C T C
+22 19680876 22:19680876G-A G A
+22 19681048 22:19681048T-C T C
+22 19681239 22:19681239T-C T C
+22 19681267 22:19681267T-C T C
+22 19681285 22:19681285A-G A G
+22 19681349 22:19681349G-A G A
+22 19681422 22:19681422C-A C A
+22 19681438 22:19681438A-G A G
+22 19681522 22:19681522G-A G A
+22 19681565 22:19681565G-A G A
+22 19681663 22:19681663C-T C T
+22 19681673 22:19681673G-A G A
+22 19681726 22:19681726A-G A G
+22 19681755 22:19681755C-A C A
+22 19681808 22:19681808T-A T A
+22 19681827 22:19681827G-C G C
+22 19682024 22:19682024A-G A G
+22 19682075 22:19682075A-G A G
+22 19682225 22:19682225A-T A T
+22 19682388 22:19682388G-A G A
+22 19682505 22:19682505C-G C G
+22 19682621 22:19682621C-T C T
+22 19682627 22:19682627T-G T G
+22 19682641 22:19682641G-C G C
+22 19682859 22:19682859G-C G C
+22 19682883 22:19682883G-A G A
+22 19683216 22:19683216G-A G A
+22 19683220 22:19683220A-G A G
+22 19683316 22:19683316G-C G C
+22 19683382 22:19683382C-G C G
+22 19683579 22:19683579C-G C G
+22 19684006 22:19684006C-T C T
+22 19684384 22:19684384A-G A G
+22 19685004 22:19685004A-C A C
+22 19685138 22:19685138A-G A G
+22 19685221 22:19685221C-T C T
+22 19685267 22:19685267A-G A G
+22 19685318 22:19685318A-G A G
+22 19685447 22:19685447C-A C A
+22 19685895 22:19685895T-C T C
+22 19686794 22:19686794T-C T C
+22 19686970 22:19686970G-T G T
+22 19687045 22:19687045G-C G C
+22 19687998 22:19687998C-T C T
+22 19689136 22:19689136G-A G A
+22 19689468 22:19689468G-C G C
+22 19689697 22:19689697C-G C G
+22 19689782 22:19689782G-A G A
+22 19690250 22:19690250A-G A G
+22 19690370 22:19690370C-T C T
+22 19690656 22:19690656T-C T C
+22 19691097 22:19691097T-C T C
+22 19691502 22:19691502T-C T C
+22 19692095 22:19692095C-T C T
+22 19694811 22:19694811C-G C G
+22 19696856 22:19696856G-A G A
+22 19696899 22:19696899T-A T A
+22 19696902 22:19696902C-G C G
+22 19696911 22:19696911G-A G A
+22 19696947 22:19696947A-G A G
+22 19698129 22:19698129A-C A C
+22 19699283 22:19699283A-C A C
+22 19699621 22:19699621T-C T C
+22 19712094 22:19712094C-T C T
+22 19718144 22:19718144G-A G A
+22 19718733 22:19718733C-T C T
+22 19720478 22:19720478A-G A G
+22 19721104 22:19721104C-T C T
+22 19721473 22:19721473C-A C A
+22 19721650 22:19721650A-T A T
+22 19721766 22:19721766G-A G A
+22 19721988 22:19721988G-A G A
+22 19722088 22:19722088C-T C T
+22 19722223 22:19722223C-T C T
+22 19722525 22:19722525A-T A T
+22 19722815 22:19722815C-G C G
+22 19724055 22:19724055G-A G A
+22 19724224 22:19724224T-C T C
+22 19724613 22:19724613G-A G A
+22 19726989 22:19726989C-A C A
+22 19728015 22:19728015G-C G C
+22 19728185 22:19728185A-G A G
+22 19728554 22:19728554A-G A G
+22 19729062 22:19729062C-T C T
+22 19729138 22:19729138A-G A G
+22 19729361 22:19729361A-G A G
+22 19729424 22:19729424C-T C T
+22 19735162 22:19735162T-C T C
+22 19735380 22:19735380T-C T C
+22 19735425 22:19735425G-A G A
+22 19735828 22:19735828G-C G C
+22 19735854 22:19735854T-C T C
+22 19735859 22:19735859C-A C A
+22 19736003 22:19736003T-C T C
+22 19736162 22:19736162G-T G T
+22 19736165 22:19736165C-T C T
+22 19737424 22:19737424C-G C G
+22 19737610 22:19737610T-C T C
+22 19737621 22:19737621T-C T C
+22 19738355 22:19738355C-T C T
+22 19738645 22:19738645T-C T C
+22 19739022 22:19739022G-T G T
+22 19739477 22:19739477C-T C T
+22 19739820 22:19739820A-G A G
+22 19743424 22:19743424C-T C T
+22 19745206 22:19745206G-A G A
+22 19746903 22:19746903A-T A T
+22 19747082 22:19747082G-C G C
+22 19749525 22:19749525A-G A G
+22 19750773 22:19750773T-C T C
+22 19751829 22:19751829C-T C T
+22 19752007 22:19752007T-C T C
+22 19752943 22:19752943A-C A C
+22 19752973 22:19752973C-T C T
+22 19753379 22:19753379C-T C T
+22 19753848 22:19753848A-G A G
+22 19753961 22:19753961A-G A G
+22 19754091 22:19754091A-C A C
+22 19755413 22:19755413A-G A G
+22 19757339 22:19757339T-C T C
+22 19757372 22:19757372G-A G A
+22 19757384 22:19757384T-C T C
+22 19757572 22:19757572G-A G A
+22 19757892 22:19757892G-A G A
+22 19757936 22:19757936C-T C T
+22 19758228 22:19758228A-G A G
+22 19758399 22:19758399T-G T G
+22 19759437 22:19759437G-C G C
+22 19761025 22:19761025T-C T C
+22 19761287 22:19761287G-A G A
+22 19761387 22:19761387G-T G T
+22 19761804 22:19761804T-C T C
+22 19761856 22:19761856A-C A C
+22 19761912 22:19761912A-G A G
+22 19762506 22:19762506G-A G A
+22 19762677 22:19762677C-T C T
+22 19763299 22:19763299G-A G A
+22 19763978 22:19763978A-G A G
+22 19765181 22:19765181G-C G C
+22 19765182 22:19765182G-A G A
+22 19765322 22:19765322C-T C T
+22 19765443 22:19765443C-T C T
+22 19765988 22:19765988G-A G A
+22 19766107 22:19766107G-A G A
+22 19766137 22:19766137C-T C T
+22 19766248 22:19766248G-A G A
+22 19766782 22:19766782C-T C T
+22 19767051 22:19767051G-T G T
+22 19767420 22:19767420A-G A G
+22 19767421 22:19767421G-A G A
+22 19767499 22:19767499T-C T C
+22 19768045 22:19768045T-C T C
+22 19769668 22:19769668G-C G C
+22 19770707 22:19770707C-T C T
+22 19770886 22:19770886G-A G A
+22 19771064 22:19771064C-A C A
+22 19771190 22:19771190G-A G A
+22 19771568 22:19771568A-G A G
+22 19772757 22:19772757T-C T C
+22 19773308 22:19773308T-C T C
+22 19775043 22:19775043G-A G A
+22 19775186 22:19775186C-T C T
+22 19775287 22:19775287A-G A G
+22 19776019 22:19776019G-A G A
+22 19776794 22:19776794A-G A G
+22 19777457 22:19777457G-T G T
+22 19777512 22:19777512C-T C T
+22 19779137 22:19779137G-T G T
+22 19781823 22:19781823C-T C T
+22 19782138 22:19782138C-G C G
+22 19782537 22:19782537A-G A G
+22 19783304 22:19783304G-A G A
+22 19783362 22:19783362A-G A G
+22 19783817 22:19783817C-T C T
+22 19783857 22:19783857G-C G C
+22 19783906 22:19783906C-T C T
+22 19784015 22:19784015G-A G A
+22 19784495 22:19784495T-C T C
+22 19784654 22:19784654G-A G A
+22 19784731 22:19784731G-A G A
+22 19785006 22:19785006T-C T C
+22 19785329 22:19785329T-C T C
+22 19785391 22:19785391G-A G A
+22 19785482 22:19785482C-T C T
+22 19787309 22:19787309G-A G A
+22 19787497 22:19787497C-T C T
+22 19787736 22:19787736C-T C T
+22 19788347 22:19788347A-G A G
+22 19788361 22:19788361A-T A T
+22 19789541 22:19789541A-C A C
+22 19790308 22:19790308T-G T G
+22 19791281 22:19791281C-G C G
+22 19792144 22:19792144A-G A G
+22 19792712 22:19792712T-C T C
+22 19793884 22:19793884G-A G A
+22 19795191 22:19795191C-G C G
+22 19795566 22:19795566C-A C A
+22 19795586 22:19795586T-C T C
+22 19796734 22:19796734G-A G A
+22 19796766 22:19796766C-T C T
+22 19797211 22:19797211A-G A G
+22 19797745 22:19797745G-A G A
+22 19798072 22:19798072G-C G C
+22 19798445 22:19798445G-A G A
+22 19798836 22:19798836C-G C G
+22 19800322 22:19800322T-C T C
+22 19802779 22:19802779C-T C T
+22 19803382 22:19803382C-A C A
+22 19804118 22:19804118T-C T C
+22 19804840 22:19804840G-C G C
+22 19805263 22:19805263G-A G A
+22 19807780 22:19807780C-T C T
+22 19807953 22:19807953T-C T C
+22 19808769 22:19808769C-T C T
+22 19809434 22:19809434A-G A G
+22 19810285 22:19810285G-A G A
+22 19810533 22:19810533C-T C T
+22 19810855 22:19810855C-T C T
+22 19811720 22:19811720C-T C T
+22 19812726 22:19812726G-C G C
+22 19812973 22:19812973C-T C T
+22 19814171 22:19814171C-T C T
+22 19814416 22:19814416G-A G A
+22 19814714 22:19814714C-T C T
+22 19815044 22:19815044G-A G A
+22 19815209 22:19815209T-G T G
+22 19817365 22:19817365G-T G T
+22 19817433 22:19817433T-C T C
+22 19818744 22:19818744G-A G A
+22 19819577 22:19819577G-T G T
+22 19819686 22:19819686T-C T C
+22 19819703 22:19819703T-C T C
+22 19819721 22:19819721C-T C T
+22 19820280 22:19820280A-T A T
+22 19820455 22:19820455C-T C T
+22 19821042 22:19821042C-T C T
+22 19821659 22:19821659A-C A C
+22 19821819 22:19821819T-C T C
+22 19822352 22:19822352T-C T C
+22 19824709 22:19824709T-C T C
+22 19824999 22:19824999A-T A T
+22 19825116 22:19825116G-C G C
+22 19825152 22:19825152G-A G A
+22 19825223 22:19825223A-C A C
+22 19825986 22:19825986T-A T A
+22 19826640 22:19826640G-A G A
+22 19827244 22:19827244T-A T A
+22 19827328 22:19827328A-G A G
+22 19828820 22:19828820T-C T C
+22 19829440 22:19829440G-A G A
+22 19831640 22:19831640C-T C T
+22 19832386 22:19832386C-T C T
+22 19833702 22:19833702T-C T C
+22 19833781 22:19833781G-A G A
+22 19833926 22:19833926C-G C G
+22 19833989 22:19833989G-A G A
+22 19834026 22:19834026A-G A G
+22 19835110 22:19835110C-T C T
+22 19835756 22:19835756G-A G A
+22 19836148 22:19836148C-T C T
+22 19836705 22:19836705C-A C A
+22 19836746 22:19836746G-C G C
+22 19837082 22:19837082A-G A G
+22 19837141 22:19837141T-C T C
+22 19837185 22:19837185C-T C T
+22 19837275 22:19837275T-G T G
+22 19837298 22:19837298G-A G A
+22 19837575 22:19837575C-T C T
+22 19839438 22:19839438C-T C T
+22 19840123 22:19840123A-G A G
+22 19840196 22:19840196C-G C G
+22 19840413 22:19840413A-G A G
+22 19841501 22:19841501T-C T C
+22 19841642 22:19841642C-A C A
+22 19842285 22:19842285C-T C T
+22 19842302 22:19842302G-C G C
+22 19842310 22:19842310G-A G A
+22 19842748 22:19842748A-G A G
+22 19843962 22:19843962T-G T G
+22 19844492 22:19844492A-G A G
+22 19844671 22:19844671G-A G A
+22 19845283 22:19845283G-C G C
+22 19846257 22:19846257T-G T G
+22 19846987 22:19846987G-T G T
+22 19847618 22:19847618G-A G A
+22 19847751 22:19847751T-C T C
+22 19849021 22:19849021T-A T A
+22 19849501 22:19849501C-T C T
+22 19849953 22:19849953T-A T A
+22 19850170 22:19850170G-T G T
+22 19850397 22:19850397G-A G A
+22 19850598 22:19850598A-G A G
+22 19850713 22:19850713G-A G A
+22 19851149 22:19851149A-G A G
+22 19851164 22:19851164G-A G A
+22 19852013 22:19852013G-A G A
+22 19852438 22:19852438A-G A G
+22 19852726 22:19852726T-C T C
+22 19852863 22:19852863G-A G A
+22 19852907 22:19852907A-G A G
+22 19853406 22:19853406T-C T C
+22 19853881 22:19853881A-G A G
+22 19853937 22:19853937C-T C T
+22 19853982 22:19853982T-C T C
+22 19854006 22:19854006A-G A G
+22 19854733 22:19854733A-G A G
+22 19856472 22:19856472G-A G A
+22 19856561 22:19856561G-A G A
+22 19856710 22:19856710C-T C T
+22 19857061 22:19857061A-G A G
+22 19857207 22:19857207C-T C T
+22 19857342 22:19857342G-A G A
+22 19857489 22:19857489T-C T C
+22 19857549 22:19857549T-C T C
+22 19857896 22:19857896G-A G A
+22 19857942 22:19857942C-G C G
+22 19858067 22:19858067A-G A G
+22 19858114 22:19858114A-G A G
+22 19858175 22:19858175A-C A C
+22 19858547 22:19858547A-G A G
+22 19858734 22:19858734C-T C T
+22 19858867 22:19858867G-C G C
+22 19858980 22:19858980T-C T C
+22 19859029 22:19859029A-G A G
+22 19859354 22:19859354C-T C T
+22 19859652 22:19859652G-A G A
+22 19859917 22:19859917A-G A G
+22 19860059 22:19860059G-T G T
+22 19860093 22:19860093A-G A G
+22 19860355 22:19860355T-G T G
+22 19860575 22:19860575C-T C T
+22 19860832 22:19860832G-C G C
+22 19860846 22:19860846C-T C T
+22 19860852 22:19860852T-C T C
+22 19860875 22:19860875A-G A G
+22 19860977 22:19860977G-A G A
+22 19860990 22:19860990G-T G T
+22 19861127 22:19861127T-C T C
+22 19861157 22:19861157A-G A G
+22 19861161 22:19861161C-T C T
+22 19861226 22:19861226T-C T C
+22 19862675 22:19862675C-T C T
+22 19863004 22:19863004G-A G A
+22 19863142 22:19863142T-C T C
+22 19863593 22:19863593T-C T C
+22 19863614 22:19863614G-A G A
+22 19863638 22:19863638C-T C T
+22 19863728 22:19863728G-T G T
+22 19864089 22:19864089C-T C T
+22 19864239 22:19864239C-T C T
+22 19864252 22:19864252C-G C G
+22 19864335 22:19864335G-A G A
+22 19866194 22:19866194G-C G C
+22 19866462 22:19866462C-T C T
+22 19867189 22:19867189T-C T C
+22 19867269 22:19867269G-A G A
+22 19867276 22:19867276T-C T C
+22 19867539 22:19867539C-G C G
+22 19867771 22:19867771C-T C T
+22 19867914 22:19867914C-A C A
+22 19868218 22:19868218A-G A G
+22 19868553 22:19868553G-A G A
+22 19868678 22:19868678T-C T C
+22 19868951 22:19868951C-T C T
+22 19869210 22:19869210G-A G A
+22 19869703 22:19869703C-T C T
+22 19870036 22:19870036C-G C G
+22 19870061 22:19870061G-A G A
+22 19870147 22:19870147C-T C T
+22 19870831 22:19870831C-T C T
+22 19871204 22:19871204T-C T C
+22 19871553 22:19871553C-T C T
+22 19871691 22:19871691C-T C T
+22 19871778 22:19871778A-G A G
+22 19872009 22:19872009T-C T C
+22 19872167 22:19872167C-A C A
+22 19872170 22:19872170G-T G T
+22 19872645 22:19872645C-T C T
+22 19872935 22:19872935G-A G A
+22 19873357 22:19873357C-T C T
+22 19873797 22:19873797G-A G A
+22 19874209 22:19874209T-C T C
+22 19874756 22:19874756C-T C T
+22 19876861 22:19876861T-C T C
+22 19877049 22:19877049G-A G A
+22 19877511 22:19877511A-T A T
+22 19877857 22:19877857T-C T C
+22 19878362 22:19878362T-C T C
+22 19878514 22:19878514G-A G A
+22 19878752 22:19878752A-T A T
+22 19879637 22:19879637A-G A G
+22 19879938 22:19879938T-C T C
+22 19880057 22:19880057G-C G C
+22 19880340 22:19880340G-A G A
+22 19880821 22:19880821G-T G T
+22 19881027 22:19881027C-T C T
+22 19881556 22:19881556A-G A G
+22 19881826 22:19881826A-G A G
+22 19882115 22:19882115A-G A G
+22 19882630 22:19882630G-A G A
+22 19882984 22:19882984T-G T G
+22 19884039 22:19884039C-A C A
+22 19884383 22:19884383G-A G A
+22 19884657 22:19884657C-T C T
+22 19884869 22:19884869A-G A G
+22 19885028 22:19885028G-A G A
+22 19885548 22:19885548G-T G T
+22 19885976 22:19885976C-T C T
+22 19886443 22:19886443G-A G A
+22 19886797 22:19886797G-A G A
+22 19887350 22:19887350A-T A T
+22 19887376 22:19887376A-G A G
+22 19887844 22:19887844G-A G A
+22 19887847 22:19887847C-A C A
+22 19888101 22:19888101A-G A G
+22 19888146 22:19888146G-A G A
+22 19889423 22:19889423G-A G A
+22 19889491 22:19889491G-A G A
+22 19889635 22:19889635A-G A G
+22 19889825 22:19889825G-T G T
+22 19891395 22:19891395C-T C T
+22 19891698 22:19891698C-T C T
+22 19892107 22:19892107T-G T G
+22 19892322 22:19892322G-C G C
+22 19892331 22:19892331G-C G C
+22 19892917 22:19892917G-A G A
+22 19893080 22:19893080A-G A G
+22 19893780 22:19893780G-C G C
+22 19894023 22:19894023T-G T G
+22 19895728 22:19895728A-C A C
+22 19896509 22:19896509C-A C A
+22 19896571 22:19896571C-T C T
+22 19896615 22:19896615G-A G A
+22 19898837 22:19898837A-G A G
+22 19898886 22:19898886C-T C T
+22 19899818 22:19899818G-A G A
+22 19899839 22:19899839G-A G A
+22 19899886 22:19899886A-G A G
+22 19899934 22:19899934C-T C T
+22 19899977 22:19899977G-T G T
+22 19899980 22:19899980C-T C T
+22 19900075 22:19900075A-G A G
+22 19901423 22:19901423C-T C T
+22 19902526 22:19902526T-C T C
+22 19902896 22:19902896C-T C T
+22 19903707 22:19903707T-C T C
+22 19903733 22:19903733A-G A G
+22 19905555 22:19905555C-T C T
+22 19905802 22:19905802G-A G A
+22 19905868 22:19905868G-T G T
+22 19906096 22:19906096C-T C T
+22 19906256 22:19906256G-A G A
+22 19906306 22:19906306C-G C G
+22 19906511 22:19906511G-A G A
+22 19907099 22:19907099C-A C A
+22 19907118 22:19907118G-A G A
+22 19907192 22:19907192A-G A G
+22 19907346 22:19907346T-C T C
+22 19907472 22:19907472T-C T C
+22 19907483 22:19907483A-G A G
+22 19907693 22:19907693A-G A G
+22 19907794 22:19907794G-A G A
+22 19907828 22:19907828T-C T C
+22 19907920 22:19907920G-T G T
+22 19907927 22:19907927G-A G A
+22 19907977 22:19907977A-G A G
+22 19908023 22:19908023T-C T C
+22 19908064 22:19908064C-T C T
+22 19908143 22:19908143T-C T C
+22 19908219 22:19908219C-T C T
+22 19908354 22:19908354A-G A G
+22 19908356 22:19908356C-T C T
+22 19908543 22:19908543C-T C T
+22 19908579 22:19908579G-A G A
+22 19908875 22:19908875A-T A T
+22 19909285 22:19909285G-C G C
+22 19909426 22:19909426G-A G A
+22 19909977 22:19909977A-G A G
+22 19910716 22:19910716A-C A C
+22 19911586 22:19911586C-T C T
+22 19911619 22:19911619G-A G A
+22 19911831 22:19911831A-G A G
+22 19912015 22:19912015T-C T C
+22 19912535 22:19912535T-C T C
+22 19912624 22:19912624G-A G A
+22 19912676 22:19912676A-G A G
+22 19912677 22:19912677T-G T G
+22 19913093 22:19913093A-G A G
+22 19913098 22:19913098A-C A C
+22 19913488 22:19913488A-G A G
+22 19913726 22:19913726G-A G A
+22 19913905 22:19913905T-C T C
+22 19914236 22:19914236C-G C G
+22 19914311 22:19914311A-C A C
+22 19914854 22:19914854T-C T C
+22 19915326 22:19915326A-G A G
+22 19915680 22:19915680C-T C T
+22 19915939 22:19915939G-A G A
+22 19916707 22:19916707G-A G A
+22 19916818 22:19916818C-G C G
+22 19917013 22:19917013C-T C T
+22 19917856 22:19917856C-T C T
+22 19918231 22:19918231G-A G A
+22 19919233 22:19919233C-G C G
+22 19919405 22:19919405T-C T C
+22 19919468 22:19919468G-A G A
+22 19919601 22:19919601G-A G A
+22 19919609 22:19919609G-A G A
+22 19919662 22:19919662A-C A C
+22 19920359 22:19920359C-G C G
+22 19920646 22:19920646C-G C G
+22 19920949 22:19920949G-A G A
+22 19921003 22:19921003T-C T C
+22 19921137 22:19921137C-T C T
+22 19921378 22:19921378C-T C T
+22 19921641 22:19921641G-A G A
+22 19921825 22:19921825A-G A G
+22 19921978 22:19921978A-G A G
+22 19922343 22:19922343T-A T A
+22 19922374 22:19922374C-T C T
+22 19922446 22:19922446A-G A G
+22 19922543 22:19922543C-T C T
+22 19922585 22:19922585C-T C T
+22 19923153 22:19923153T-C T C
+22 19923406 22:19923406T-C T C
+22 19923415 22:19923415A-G A G
+22 19923441 22:19923441C-G C G
+22 19923732 22:19923732G-A G A
+22 19924021 22:19924021A-G A G
+22 19924538 22:19924538T-G T G
+22 19924579 22:19924579T-C T C
+22 19924612 22:19924612G-C G C
+22 19925414 22:19925414A-G A G
+22 19926004 22:19926004T-C T C
+22 19926331 22:19926331G-A G A
+22 19927146 22:19927146A-C A C
+22 19927693 22:19927693G-A G A
+22 19928022 22:19928022G-A G A
+22 19928092 22:19928092G-A G A
+22 19928806 22:19928806G-A G A
+22 19928884 22:19928884C-T C T
+22 19929027 22:19929027C-T C T
+22 19929551 22:19929551A-G A G
+22 19929937 22:19929937C-A C A
+22 19930002 22:19930002C-G C G
+22 19930109 22:19930109T-C T C
+22 19930121 22:19930121A-G A G
+22 19930159 22:19930159C-T C T
+22 19931054 22:19931054A-G A G
+22 19931096 22:19931096C-T C T
+22 19931407 22:19931407T-C T C
+22 19931668 22:19931668A-G A G
+22 19931853 22:19931853C-T C T
+22 19931932 22:19931932G-A G A
+22 19931976 22:19931976T-C T C
+22 19932095 22:19932095C-T C T
+22 19932213 22:19932213C-T C T
+22 19933048 22:19933048T-G T G
+22 19933411 22:19933411C-A C A
+22 19933687 22:19933687C-T C T
+22 19933778 22:19933778C-G C G
+22 19934025 22:19934025A-G A G
+22 19934051 22:19934051T-C T C
+22 19934470 22:19934470A-G A G
+22 19934636 22:19934636G-A G A
+22 19934999 22:19934999T-C T C
+22 19935071 22:19935071G-A G A
+22 19935607 22:19935607G-T G T
+22 19935643 22:19935643T-C T C
+22 19935956 22:19935956C-T C T
+22 19936025 22:19936025G-A G A
+22 19936209 22:19936209G-A G A
+22 19936308 22:19936308C-T C T
+22 19936340 22:19936340T-C T C
+22 19937533 22:19937533T-G T G
+22 19937638 22:19937638T-G T G
+22 19938617 22:19938617G-T G T
+22 19938837 22:19938837A-G A G
+22 19939432 22:19939432G-A G A
+22 19939639 22:19939639A-G A G
+22 19939900 22:19939900T-C T C
+22 19940027 22:19940027G-C G C
+22 19940583 22:19940583G-A G A
+22 19940661 22:19940661C-T C T
+22 19941495 22:19941495G-A G A
+22 19941507 22:19941507A-G A G
+22 19941511 22:19941511G-A G A
+22 19941703 22:19941703C-T C T
+22 19942206 22:19942206C-A C A
+22 19942484 22:19942484C-T C T
+22 19942680 22:19942680C-G C G
+22 19942997 22:19942997A-G A G
+22 19944496 22:19944496C-T C T
+22 19944560 22:19944560G-A G A
+22 19944722 22:19944722C-T C T
+22 19945177 22:19945177A-G A G
+22 19945327 22:19945327G-C G C
+22 19946897 22:19946897A-C A C
+22 19947469 22:19947469C-T C T
+22 19947942 22:19947942C-A C A
+22 19948337 22:19948337T-C T C
+22 19948863 22:19948863G-C G C
+22 19949013 22:19949013C-T C T
+22 19949644 22:19949644G-C G C
+22 19949952 22:19949952A-G A G
+22 19950235 22:19950235C-T C T
+22 19950428 22:19950428A-G A G
+22 19950763 22:19950763T-G T G
+22 19951207 22:19951207C-G C G
+22 19951271 22:19951271G-A G A
+22 19951897 22:19951897G-C G C
+22 19952132 22:19952132C-T C T
+22 19952168 22:19952168G-A G A
+22 19952501 22:19952501C-T C T
+22 19952561 22:19952561G-A G A
+22 19953059 22:19953059T-C T C
+22 19953176 22:19953176C-T C T
+22 19953188 22:19953188A-C A C
+22 19953882 22:19953882T-C T C
+22 19954458 22:19954458C-T C T
+22 19954847 22:19954847G-A G A
+22 19955157 22:19955157G-A G A
+22 19955692 22:19955692C-T C T
+22 19956014 22:19956014G-C G C
+22 19956781 22:19956781G-A G A
+22 19957631 22:19957631C-A C A
+22 19957763 22:19957763G-A G A
+22 19957787 22:19957787C-T C T
+22 19958022 22:19958022G-A G A
+22 19959011 22:19959011G-A G A
+22 19959033 22:19959033G-A G A
+22 19959227 22:19959227G-A G A
+22 19959366 22:19959366G-A G A
+22 19959473 22:19959473C-T C T
+22 19959955 22:19959955A-G A G
+22 19960140 22:19960140G-A G A
+22 19960184 22:19960184C-G C G
+22 19960188 22:19960188T-C T C
+22 19960198 22:19960198G-C G C
+22 19961955 22:19961955A-G A G
+22 19962380 22:19962380C-T C T
+22 19962769 22:19962769C-T C T
+22 19962787 22:19962787T-C T C
+22 19962963 22:19962963G-T G T
+22 19963666 22:19963666C-T C T
+22 19964418 22:19964418T-G T G
+22 19966749 22:19966749C-T C T
+22 19967068 22:19967068G-A G A
+22 19967808 22:19967808G-T G T
+22 19967980 22:19967980C-T C T
+22 19968597 22:19968597C-T C T
+22 19968971 22:19968971G-A G A
+22 19969075 22:19969075A-G A G
+22 19969106 22:19969106A-G A G
+22 19969400 22:19969400G-A G A
+22 19969696 22:19969696C-T C T
+22 19969964 22:19969964G-T G T
+22 19970014 22:19970014C-G C G
+22 19970502 22:19970502G-A G A
+22 19970547 22:19970547G-T G T
+22 19970583 22:19970583A-G A G
+22 19971391 22:19971391C-T C T
+22 19971552 22:19971552T-C T C
+22 19972118 22:19972118C-A C A
+22 19972452 22:19972452C-G C G
+22 19972544 22:19972544G-T G T
+22 19972559 22:19972559G-A G A
+22 19972630 22:19972630C-T C T
+22 19972824 22:19972824T-C T C
+22 19973205 22:19973205T-G T G
+22 19973597 22:19973597C-T C T
+22 19974032 22:19974032T-C T C
+22 19974074 22:19974074T-C T C
+22 19974344 22:19974344A-G A G
+22 19974583 22:19974583A-G A G
+22 19974654 22:19974654G-A G A
+22 19975444 22:19975444A-G A G
+22 19976406 22:19976406G-A G A
+22 19976510 22:19976510C-A C A
+22 19976834 22:19976834C-G C G
+22 19976845 22:19976845G-A G A
+22 19977647 22:19977647C-T C T
+22 19977840 22:19977840C-T C T
+22 19978022 22:19978022C-T C T
+22 19978558 22:19978558T-C T C
+22 19979713 22:19979713G-A G A
+22 19980300 22:19980300C-T C T
+22 19980548 22:19980548A-G A G
+22 19982478 22:19982478G-A G A
+22 19982682 22:19982682T-C T C
+22 19983014 22:19983014G-A G A
+22 19983111 22:19983111C-A C A
+22 19983213 22:19983213C-T C T
+22 19983303 22:19983303C-T C T
+22 19984013 22:19984013C-T C T
+22 19984200 22:19984200C-T C T
+22 19984211 22:19984211C-T C T
+22 19984277 22:19984277C-T C T
+22 19984612 22:19984612C-G C G
+22 19985349 22:19985349G-A G A
+22 19985507 22:19985507G-A G A
+22 19986148 22:19986148C-T C T
+22 19987202 22:19987202G-T G T
+22 19987406 22:19987406C-G C G
+22 19987764 22:19987764A-C A C
+22 19988167 22:19988167G-A G A
+22 19988245 22:19988245G-A G A
+22 19988676 22:19988676T-C T C
+22 19989612 22:19989612C-G C G
+22 19989642 22:19989642A-G A G
+22 19989890 22:19989890C-T C T
+22 19990789 22:19990789G-T G T
+22 19990983 22:19990983A-G A G
+22 19991067 22:19991067T-C T C
+22 19991950 22:19991950G-A G A
+22 19992015 22:19992015A-G A G
+22 19993299 22:19993299G-A G A
+22 19994180 22:19994180G-C G C
+22 19995836 22:19995836G-C G C
+22 19995878 22:19995878C-T C T
+22 19996240 22:19996240A-G A G
+22 19996255 22:19996255A-G A G
+22 19996570 22:19996570C-T C T
+22 19996829 22:19996829G-A G A
+22 19996878 22:19996878G-C G C
+22 19998088 22:19998088G-A G A
+22 19998204 22:19998204C-T C T
+22 19998386 22:19998386T-C T C
+22 19998618 22:19998618C-G C G
+22 19998655 22:19998655G-C G C
+22 19999164 22:19999164C-T C T
+22 19999486 22:19999486C-T C T
+22 19999492 22:19999492T-C T C
+22 19999760 22:19999760A-G A G
+22 20000428 22:20000428G-T G T
+22 20001006 22:20001006G-A G A
+22 20002848 22:20002848G-T G T
+22 20003059 22:20003059C-T C T
+22 20003266 22:20003266C-G C G
+22 20003334 22:20003334G-A G A
+22 20003731 22:20003731C-T C T
+22 20003786 22:20003786G-A G A
+22 20004311 22:20004311C-T C T
+22 20004430 22:20004430G-T G T
+22 20004431 22:20004431C-T C T
+22 20004704 22:20004704C-T C T
+22 20004937 22:20004937C-G C G
+22 20005258 22:20005258G-T G T
+22 20006040 22:20006040C-T C T
+22 20006144 22:20006144T-C T C
+22 20006354 22:20006354G-C G C
+22 20006550 22:20006550T-C T C
+22 20006558 22:20006558A-G A G
+22 20006574 22:20006574G-A G A
+22 20007599 22:20007599G-A G A
+22 20007619 22:20007619C-T C T
+22 20008711 22:20008711G-T G T
+22 20008888 22:20008888C-T C T
+22 20009078 22:20009078C-T C T
+22 20009928 22:20009928T-C T C
+22 20010730 22:20010730A-G A G
+22 20010819 22:20010819T-C T C
+22 20010850 22:20010850G-A G A
+22 20010858 22:20010858C-T C T
+22 20010923 22:20010923G-A G A
+22 20011159 22:20011159C-T C T
+22 20011474 22:20011474A-G A G
+22 20011837 22:20011837T-C T C
+22 20011989 22:20011989G-A G A
+22 20012286 22:20012286A-G A G
+22 20012968 22:20012968T-C T C
+22 20013222 22:20013222A-G A G
+22 20013803 22:20013803G-C G C
+22 20013813 22:20013813T-C T C
+22 20014032 22:20014032G-C G C
+22 20014152 22:20014152A-G A G
+22 20014473 22:20014473T-C T C
+22 20015016 22:20015016C-T C T
+22 20015391 22:20015391G-A G A
+22 20015615 22:20015615C-A C A
+22 20015741 22:20015741C-T C T
+22 20015974 22:20015974T-C T C
+22 20016020 22:20016020T-C T C
+22 20016492 22:20016492G-A G A
+22 20016971 22:20016971G-A G A
+22 20017268 22:20017268A-G A G
+22 20017445 22:20017445T-C T C
+22 20018103 22:20018103C-T C T
+22 20019178 22:20019178C-T C T
+22 20019768 22:20019768A-G A G
+22 20020073 22:20020073A-G A G
+22 20020229 22:20020229C-T C T
+22 20020889 22:20020889T-C T C
+22 20021696 22:20021696T-G T G
+22 20021863 22:20021863C-T C T
+22 20021938 22:20021938G-T G T
+22 20021987 22:20021987A-G A G
+22 20022498 22:20022498C-G C G
+22 20022746 22:20022746C-T C T
+22 20022840 22:20022840C-T C T
+22 20023010 22:20023010G-C G C
+22 20023099 22:20023099G-A G A
+22 20023303 22:20023303T-G T G
+22 20025652 22:20025652C-T C T
+22 20025767 22:20025767C-T C T
+22 20025951 22:20025951C-T C T
+22 20026525 22:20026525A-G A G
+22 20026917 22:20026917T-C T C
+22 20028541 22:20028541C-A C A
+22 20029260 22:20029260T-C T C
+22 20029878 22:20029878T-C T C
+22 20030041 22:20030041G-A G A
+22 20030749 22:20030749C-A C A
+22 20030980 22:20030980C-T C T
+22 20031102 22:20031102G-A G A
+22 20031664 22:20031664G-A G A
+22 20031850 22:20031850A-G A G
+22 20031964 22:20031964G-T G T
+22 20032007 22:20032007C-G C G
+22 20032327 22:20032327T-C T C
+22 20032582 22:20032582G-A G A
+22 20032680 22:20032680C-G C G
+22 20034391 22:20034391C-T C T
+22 20035690 22:20035690C-T C T
+22 20036695 22:20036695A-G A G
+22 20037315 22:20037315G-A G A
+22 20038492 22:20038492A-G A G
+22 20039155 22:20039155G-A G A
+22 20040602 22:20040602C-T C T
+22 20041609 22:20041609C-T C T
+22 20041741 22:20041741C-T C T
+22 20042075 22:20042075T-G T G
+22 20043370 22:20043370C-T C T
+22 20044933 22:20044933G-A G A
+22 20045411 22:20045411A-G A G
+22 20045419 22:20045419T-C T C
+22 20046042 22:20046042A-G A G
+22 20046344 22:20046344A-G A G
+22 20046687 22:20046687G-A G A
+22 20049285 22:20049285G-A G A
+22 20049340 22:20049340T-C T C
+22 20049454 22:20049454A-G A G
+22 20049465 22:20049465T-C T C
+22 20049495 22:20049495G-A G A
+22 20049935 22:20049935A-C A C
+22 20050019 22:20050019C-T C T
+22 20050401 22:20050401T-C T C
+22 20051466 22:20051466G-A G A
+22 20052420 22:20052420G-A G A
+22 20052442 22:20052442A-G A G
+22 20052481 22:20052481C-A C A
+22 20052532 22:20052532C-G C G
+22 20052566 22:20052566G-A G A
+22 20052782 22:20052782C-T C T
+22 20052784 22:20052784C-T C T
+22 20055082 22:20055082G-T G T
+22 20055100 22:20055100A-G A G
+22 20055570 22:20055570G-A G A
+22 20057078 22:20057078C-T C T
+22 20057143 22:20057143A-G A G
+22 20057458 22:20057458A-G A G
+22 20057806 22:20057806C-T C T
+22 20059763 22:20059763G-A G A
+22 20059980 22:20059980C-T C T
+22 20060023 22:20060023T-A T A
+22 20060099 22:20060099C-T C T
+22 20060136 22:20060136T-C T C
+22 20060724 22:20060724G-A G A
+22 20061415 22:20061415G-C G C
+22 20061948 22:20061948G-A G A
+22 20063727 22:20063727C-G C G
+22 20064384 22:20064384G-C G C
+22 20064751 22:20064751T-C T C
+22 20064780 22:20064780G-A G A
+22 20065276 22:20065276T-C T C
+22 20065370 22:20065370G-A G A
+22 20065751 22:20065751A-G A G
+22 20066136 22:20066136C-G C G
+22 20066260 22:20066260C-T C T
+22 20066422 22:20066422T-C T C
+22 20066611 22:20066611G-C G C
+22 20066665 22:20066665G-A G A
+22 20066798 22:20066798T-G T G
+22 20067517 22:20067517T-G T G
+22 20068086 22:20068086G-C G C
+22 20068496 22:20068496C-T C T
+22 20068503 22:20068503G-T G T
+22 20069172 22:20069172A-G A G
+22 20069725 22:20069725G-A G A
+22 20069844 22:20069844G-A G A
+22 20069913 22:20069913A-G A G
+22 20070171 22:20070171T-C T C
+22 20070285 22:20070285G-A G A
+22 20070956 22:20070956C-A C A
+22 20071351 22:20071351A-G A G
+22 20071423 22:20071423T-C T C
+22 20071652 22:20071652T-G T G
+22 20071737 22:20071737T-C T C
+22 20071899 22:20071899C-T C T
+22 20074006 22:20074006A-G A G
+22 20074575 22:20074575C-T C T
+22 20075048 22:20075048G-A G A
+22 20075858 22:20075858A-G A G
+22 20079603 22:20079603A-G A G
+22 20079688 22:20079688T-C T C
+22 20079973 22:20079973G-A G A
+22 20080022 22:20080022C-G C G
+22 20080797 22:20080797G-A G A
+22 20080811 22:20080811T-C T C
+22 20080927 22:20080927A-G A G
+22 20081518 22:20081518G-A G A
+22 20081852 22:20081852T-C T C
+22 20082566 22:20082566C-T C T
+22 20082570 22:20082570G-A G A
+22 20082862 22:20082862C-T C T
+22 20082881 22:20082881C-T C T
+22 20082961 22:20082961T-C T C
+22 20084681 22:20084681G-A G A
+22 20084821 22:20084821T-C T C
+22 20085573 22:20085573C-G C G
+22 20085805 22:20085805C-T C T
+22 20086571 22:20086571G-T G T
+22 20086737 22:20086737T-C T C
+22 20086756 22:20086756A-G A G
+22 20087188 22:20087188T-A T A
+22 20087258 22:20087258C-T C T
+22 20087473 22:20087473T-A T A
+22 20087539 22:20087539A-G A G
+22 20087645 22:20087645A-G A G
+22 20087692 22:20087692C-A C A
+22 20087750 22:20087750C-T C T
+22 20088663 22:20088663C-G C G
+22 20089083 22:20089083G-A G A
+22 20089271 22:20089271A-G A G
+22 20089751 22:20089751T-C T C
+22 20089880 22:20089880T-C T C
+22 20090038 22:20090038G-T G T
+22 20090192 22:20090192A-T A T
+22 20090613 22:20090613A-G A G
+22 20090945 22:20090945T-C T C
+22 20091193 22:20091193T-C T C
+22 20091628 22:20091628C-T C T
+22 20092412 22:20092412G-A G A
+22 20092777 22:20092777C-A C A
+22 20092963 22:20092963A-G A G
+22 20092996 22:20092996C-T C T
+22 20093126 22:20093126T-C T C
+22 20093288 22:20093288C-T C T
+22 20093317 22:20093317A-G A G
+22 20093522 22:20093522C-T C T
+22 20094263 22:20094263C-T C T
+22 20095682 22:20095682T-C T C
+22 20096395 22:20096395A-G A G
+22 20097245 22:20097245A-G A G
+22 20097336 22:20097336A-G A G
+22 20097730 22:20097730C-T C T
+22 20098168 22:20098168G-C G C
+22 20098359 22:20098359T-G T G
+22 20098521 22:20098521G-A G A
+22 20098544 22:20098544G-A G A
+22 20098582 22:20098582G-A G A
+22 20098882 22:20098882T-C T C
+22 20099331 22:20099331G-A G A
+22 20099654 22:20099654C-T C T
+22 20099752 22:20099752G-T G T
+22 20099891 22:20099891C-G C G
+22 20100158 22:20100158G-C G C
+22 20100409 22:20100409C-T C T
+22 20100596 22:20100596T-C T C
+22 20102090 22:20102090T-C T C
+22 20102750 22:20102750C-T C T
+22 20103012 22:20103012G-A G A
+22 20103189 22:20103189T-C T C
+22 20104235 22:20104235C-T C T
+22 20104301 22:20104301T-C T C
+22 20104819 22:20104819A-C A C
+22 20104853 22:20104853T-G T G
+22 20105641 22:20105641A-T A T
+22 20106069 22:20106069C-A C A
+22 20106104 22:20106104T-C T C
+22 20107729 22:20107729G-A G A
+22 20107957 22:20107957T-C T C
+22 20108500 22:20108500G-A G A
+22 20108736 22:20108736A-G A G
+22 20108940 22:20108940T-G T G
+22 20109325 22:20109325A-G A G
+22 20109670 22:20109670C-T C T
+22 20109677 22:20109677G-A G A
+22 20111676 22:20111676C-T C T
+22 20111729 22:20111729G-T G T
+22 20112521 22:20112521T-C T C
+22 20113253 22:20113253T-G T G
+22 20113777 22:20113777T-C T C
+22 20114878 22:20114878G-A G A
+22 20114957 22:20114957G-T G T
+22 20115413 22:20115413G-A G A
+22 20115469 22:20115469G-A G A
+22 20115510 22:20115510T-C T C
+22 20115562 22:20115562C-T C T
+22 20115872 22:20115872C-A C A
+22 20116015 22:20116015T-G T G
+22 20116096 22:20116096G-A G A
+22 20116182 22:20116182T-G T G
+22 20116594 22:20116594G-A G A
+22 20116972 22:20116972G-C G C
+22 20117046 22:20117046T-C T C
+22 20117086 22:20117086C-T C T
+22 20117100 22:20117100G-C G C
+22 20117101 22:20117101G-T G T
+22 20117345 22:20117345T-G T G
+22 20117645 22:20117645A-G A G
+22 20118352 22:20118352G-C G C
+22 20118450 22:20118450T-C T C
+22 20118778 22:20118778G-A G A
+22 20119002 22:20119002A-G A G
+22 20119177 22:20119177G-C G C
+22 20119712 22:20119712A-G A G
+22 20119930 22:20119930A-G A G
+22 20120979 22:20120979C-T C T
+22 20121645 22:20121645G-A G A
+22 20121842 22:20121842C-T C T
+22 20122091 22:20122091A-G A G
+22 20123012 22:20123012T-G T G
+22 20123505 22:20123505T-C T C
+22 20125200 22:20125200C-T C T
+22 20125702 22:20125702T-C T C
+22 20126468 22:20126468C-T C T
+22 20126702 22:20126702C-T C T
+22 20126741 22:20126741G-T G T
+22 20127554 22:20127554A-G A G
+22 20128651 22:20128651T-G T G
+22 20128674 22:20128674T-C T C
+22 20128880 22:20128880G-A G A
+22 20128881 22:20128881A-C A C
+22 20129106 22:20129106T-C T C
+22 20129742 22:20129742G-C G C
+22 20131115 22:20131115C-T C T
+22 20131116 22:20131116G-A G A
+22 20131427 22:20131427G-C G C
+22 20132299 22:20132299T-C T C
+22 20132460 22:20132460C-T C T
+22 20132638 22:20132638T-A T A
+22 20132972 22:20132972A-G A G
+22 20133290 22:20133290T-C T C
+22 20133301 22:20133301C-T C T
+22 20134147 22:20134147A-G A G
+22 20134350 22:20134350C-A C A
+22 20134442 22:20134442T-C T C
+22 20134525 22:20134525C-T C T
+22 20134739 22:20134739C-T C T
+22 20135211 22:20135211T-C T C
+22 20135340 22:20135340T-C T C
+22 20135383 22:20135383C-T C T
+22 20135585 22:20135585T-C T C
+22 20135961 22:20135961T-C T C
+22 20136263 22:20136263G-A G A
+22 20136331 22:20136331C-T C T
+22 20136379 22:20136379C-A C A
+22 20136478 22:20136478C-G C G
+22 20136606 22:20136606T-C T C
+22 20136639 22:20136639C-T C T
+22 20136651 22:20136651A-T A T
+22 20137046 22:20137046C-A C A
+22 20137047 22:20137047C-T C T
+22 20137723 22:20137723C-T C T
+22 20138105 22:20138105T-C T C
+22 20138765 22:20138765G-T G T
+22 20138786 22:20138786G-A G A
+22 20138893 22:20138893G-A G A
+22 20139299 22:20139299C-T C T
+22 20141062 22:20141062C-A C A
+22 20141992 22:20141992C-G C G
+22 20142379 22:20142379C-G C G
+22 20142513 22:20142513C-A C A
+22 20142932 22:20142932C-T C T
+22 20143399 22:20143399C-T C T
+22 20143626 22:20143626C-T C T
+22 20143631 22:20143631G-A G A
+22 20143782 22:20143782C-T C T
+22 20143904 22:20143904C-T C T
+22 20144240 22:20144240G-C G C
+22 20144560 22:20144560C-T C T
+22 20144663 22:20144663T-G T G
+22 20144753 22:20144753G-A G A
+22 20144763 22:20144763T-C T C
+22 20144796 22:20144796G-A G A
+22 20144813 22:20144813G-T G T
+22 20144857 22:20144857G-A G A
+22 20144902 22:20144902G-C G C
+22 20145035 22:20145035C-T C T
+22 20145121 22:20145121A-G A G
+22 20145258 22:20145258C-T C T
+22 20145526 22:20145526C-T C T
+22 20146149 22:20146149G-A G A
+22 20146498 22:20146498G-A G A
+22 20146533 22:20146533G-A G A
+22 20146795 22:20146795G-C G C
+22 20146880 22:20146880G-A G A
+22 20147392 22:20147392C-A C A
+22 20148158 22:20148158T-G T G
+22 20148182 22:20148182A-C A C
+22 20148368 22:20148368G-T G T
+22 20148683 22:20148683T-C T C
+22 20148741 22:20148741C-T C T
+22 20149170 22:20149170A-G A G
+22 20149185 22:20149185C-A C A
+22 20152559 22:20152559T-C T C
+22 20152862 22:20152862G-A G A
+22 20153624 22:20153624T-C T C
+22 20153739 22:20153739C-A C A
+22 20154727 22:20154727A-G A G
+22 20154768 22:20154768A-G A G
+22 20155192 22:20155192T-C T C
+22 20155298 22:20155298G-A G A
+22 20155666 22:20155666G-A G A
+22 20155983 22:20155983T-C T C
+22 20155998 22:20155998C-T C T
+22 20156111 22:20156111A-G A G
+22 20156415 22:20156415T-C T C
+22 20156744 22:20156744G-A G A
+22 20156853 22:20156853T-C T C
+22 20156865 22:20156865C-T C T
+22 20156886 22:20156886G-A G A
+22 20157218 22:20157218G-T G T
+22 20157299 22:20157299C-T C T
+22 20157965 22:20157965G-A G A
+22 20158333 22:20158333C-A C A
+22 20158346 22:20158346C-T C T
+22 20159049 22:20159049A-G A G
+22 20159310 22:20159310G-A G A
+22 20159347 22:20159347C-T C T
+22 20159422 22:20159422T-C T C
+22 20160081 22:20160081G-A G A
+22 20160205 22:20160205C-T C T
+22 20160289 22:20160289A-G A G
+22 20160586 22:20160586A-G A G
+22 20160672 22:20160672C-T C T
+22 20160771 22:20160771G-T G T
+22 20160972 22:20160972T-C T C
+22 20161030 22:20161030C-T C T
+22 20161295 22:20161295G-A G A
+22 20161317 22:20161317G-C G C
+22 20161424 22:20161424T-C T C
+22 20161605 22:20161605G-A G A
+22 20162621 22:20162621G-A G A
+22 20162626 22:20162626G-A G A
+22 20162723 22:20162723T-C T C
+22 20163070 22:20163070G-A G A
+22 20163462 22:20163462C-G C G
+22 20164360 22:20164360T-C T C
+22 20164589 22:20164589G-A G A
+22 20164696 22:20164696C-T C T
+22 20164709 22:20164709T-C T C
+22 20164802 22:20164802G-T G T
+22 20164949 22:20164949G-A G A
+22 20165008 22:20165008C-T C T
+22 20165266 22:20165266G-A G A
+22 20165364 22:20165364T-C T C
+22 20165439 22:20165439C-A C A
+22 20165632 22:20165632C-T C T
+22 20165831 22:20165831G-A G A
+22 20165864 22:20165864C-T C T
+22 20166013 22:20166013C-T C T
+22 20166184 22:20166184C-T C T
+22 20166202 22:20166202T-C T C
+22 20166222 22:20166222C-T C T
+22 20166686 22:20166686G-A G A
+22 20166723 22:20166723T-G T G
+22 20166911 22:20166911G-A G A
+22 20167010 22:20167010G-T G T
+22 20167406 22:20167406C-T C T
+22 20167785 22:20167785G-A G A
+22 20168295 22:20168295G-T G T
+22 20168509 22:20168509G-A G A
+22 20168604 22:20168604C-T C T
+22 20168607 22:20168607C-T C T
+22 20168641 22:20168641T-G T G
+22 20169037 22:20169037T-C T C
+22 20169094 22:20169094G-T G T
+22 20169367 22:20169367G-T G T
+22 20169422 22:20169422G-A G A
+22 20169499 22:20169499A-G A G
+22 20169896 22:20169896C-T C T
+22 20169909 22:20169909C-T C T
+22 20169913 22:20169913A-G A G
+22 20170093 22:20170093G-A G A
+22 20170996 22:20170996C-A C A
+22 20171146 22:20171146C-G C G
+22 20171251 22:20171251C-T C T
+22 20171349 22:20171349A-G A G
+22 20171368 22:20171368C-T C T
+22 20171568 22:20171568C-T C T
+22 20171653 22:20171653C-T C T
+22 20171876 22:20171876C-G C G
+22 20172048 22:20172048G-A G A
+22 20172313 22:20172313C-T C T
+22 20172406 22:20172406C-T C T
+22 20172819 22:20172819C-T C T
+22 20172901 22:20172901T-C T C
+22 20173526 22:20173526G-C G C
+22 20174100 22:20174100A-G A G
+22 20174270 22:20174270G-C G C
+22 20174498 22:20174498C-T C T
+22 20174712 22:20174712G-A G A
+22 20174853 22:20174853C-A C A
+22 20174959 22:20174959C-T C T
+22 20175223 22:20175223T-C T C
+22 20175473 22:20175473T-C T C
+22 20176519 22:20176519C-A C A
+22 20176705 22:20176705C-T C T
+22 20177061 22:20177061C-T C T
+22 20177219 22:20177219G-A G A
+22 20177320 22:20177320A-T A T
+22 20177595 22:20177595C-G C G
+22 20177645 22:20177645G-T G T
+22 20177669 22:20177669A-G A G
+22 20177684 22:20177684C-T C T
+22 20177848 22:20177848A-G A G
+22 20177943 22:20177943G-A G A
+22 20178023 22:20178023T-C T C
+22 20178095 22:20178095G-A G A
+22 20178147 22:20178147A-G A G
+22 20178175 22:20178175A-G A G
+22 20178208 22:20178208C-T C T
+22 20178801 22:20178801G-A G A
+22 20178915 22:20178915C-T C T
+22 20178929 22:20178929A-G A G
+22 20178989 22:20178989C-T C T
+22 20179096 22:20179096A-C A C
+22 20179173 22:20179173G-A G A
+22 20179223 22:20179223A-T A T
+22 20179255 22:20179255T-C T C
+22 20179286 22:20179286G-A G A
+22 20179305 22:20179305T-C T C
+22 20179339 22:20179339G-A G A
+22 20179379 22:20179379G-A G A
+22 20179440 22:20179440G-T G T
+22 20179503 22:20179503T-C T C
+22 20180071 22:20180071C-T C T
+22 20180104 22:20180104C-A C A
+22 20180117 22:20180117G-A G A
+22 20180455 22:20180455G-A G A
+22 20181126 22:20181126C-T C T
+22 20181136 22:20181136G-T G T
+22 20181211 22:20181211G-A G A
+22 20182069 22:20182069G-T G T
+22 20182456 22:20182456C-T C T
+22 20183030 22:20183030G-A G A
+22 20183039 22:20183039G-C G C
+22 20183509 22:20183509A-G A G
+22 20184002 22:20184002G-A G A
+22 20184710 22:20184710A-G A G
+22 20185011 22:20185011T-C T C
+22 20185119 22:20185119C-A C A
+22 20185132 22:20185132T-C T C
+22 20185191 22:20185191T-C T C
+22 20185457 22:20185457G-A G A
+22 20185487 22:20185487C-T C T
+22 20185966 22:20185966A-C A C
+22 20185999 22:20185999C-G C G
+22 20186074 22:20186074G-C G C
+22 20186102 22:20186102T-C T C
+22 20186550 22:20186550T-C T C
+22 20187131 22:20187131A-G A G
+22 20187543 22:20187543T-C T C
+22 20187575 22:20187575C-T C T
+22 20187923 22:20187923A-G A G
+22 20188160 22:20188160T-C T C
+22 20188199 22:20188199T-C T C
+22 20188609 22:20188609C-T C T
+22 20188746 22:20188746A-T A T
+22 20189077 22:20189077C-T C T
+22 20189120 22:20189120C-T C T
+22 20189202 22:20189202G-A G A
+22 20189378 22:20189378C-T C T
+22 20189382 22:20189382G-C G C
+22 20189390 22:20189390C-T C T
+22 20189622 22:20189622C-T C T
+22 20189722 22:20189722T-C T C
+22 20190055 22:20190055C-T C T
+22 20190174 22:20190174G-T G T
+22 20190413 22:20190413C-A C A
+22 20190414 22:20190414C-A C A
+22 20190697 22:20190697G-A G A
+22 20190760 22:20190760G-C G C
+22 20191546 22:20191546A-G A G
+22 20192147 22:20192147C-G C G
+22 20192331 22:20192331C-G C G
+22 20192544 22:20192544G-A G A
+22 20192586 22:20192586A-C A C
+22 20192587 22:20192587G-C G C
+22 20193099 22:20193099C-T C T
+22 20193114 22:20193114C-A C A
+22 20193861 22:20193861G-C G C
+22 20195591 22:20195591C-T C T
+22 20195730 22:20195730C-T C T
+22 20195778 22:20195778T-C T C
+22 20195928 22:20195928G-A G A
+22 20195999 22:20195999G-C G C
+22 20196046 22:20196046C-A C A
+22 20196450 22:20196450G-A G A
+22 20196469 22:20196469G-A G A
+22 20196566 22:20196566C-A C A
+22 20196676 22:20196676C-G C G
+22 20196736 22:20196736C-G C G
+22 20196772 22:20196772A-G A G
+22 20197335 22:20197335T-A T A
+22 20198204 22:20198204C-T C T
+22 20198211 22:20198211C-T C T
+22 20198239 22:20198239T-G T G
+22 20198341 22:20198341G-C G C
+22 20198532 22:20198532G-A G A
+22 20198584 22:20198584G-T G T
+22 20199579 22:20199579C-A C A
+22 20200513 22:20200513T-G T G
+22 20200654 22:20200654G-A G A
+22 20201430 22:20201430C-T C T
+22 20201737 22:20201737G-A G A
+22 20201954 22:20201954C-T C T
+22 20202114 22:20202114T-C T C
+22 20202160 22:20202160G-A G A
+22 20202422 22:20202422G-T G T
+22 20202505 22:20202505A-G A G
+22 20202712 22:20202712G-C G C
+22 20202729 22:20202729G-A G A
+22 20202959 22:20202959C-T C T
+22 20203158 22:20203158T-C T C
+22 20203365 22:20203365G-C G C
+22 20203390 22:20203390C-T C T
+22 20203449 22:20203449A-G A G
+22 20203668 22:20203668C-T C T
+22 20203937 22:20203937C-T C T
+22 20203997 22:20203997G-A G A
+22 20204036 22:20204036C-T C T
+22 20204159 22:20204159C-T C T
+22 20204923 22:20204923C-T C T
+22 20204924 22:20204924A-G A G
+22 20205066 22:20205066G-A G A
+22 20205780 22:20205780C-A C A
+22 20205832 22:20205832G-C G C
+22 20207328 22:20207328T-C T C
+22 20207825 22:20207825C-T C T
+22 20208060 22:20208060G-C G C
+22 20208358 22:20208358G-A G A
+22 20209030 22:20209030T-C T C
+22 20209425 22:20209425G-A G A
+22 20209487 22:20209487G-A G A
+22 20209775 22:20209775A-G A G
+22 20210055 22:20210055C-A C A
+22 20210119 22:20210119G-A G A
+22 20210363 22:20210363C-T C T
+22 20211139 22:20211139T-C T C
+22 20211328 22:20211328C-G C G
+22 20211690 22:20211690C-T C T
+22 20213635 22:20213635G-A G A
+22 20213811 22:20213811C-G C G
+22 20214225 22:20214225C-T C T
+22 20214783 22:20214783G-A G A
+22 20214899 22:20214899C-T C T
+22 20215191 22:20215191G-A G A
+22 20215570 22:20215570A-G A G
+22 20215940 22:20215940T-C T C
+22 20215981 22:20215981A-C A C
+22 20216156 22:20216156T-C T C
+22 20216804 22:20216804T-G T G
+22 20216859 22:20216859A-G A G
+22 20217203 22:20217203T-A T A
+22 20217628 22:20217628T-C T C
+22 20217680 22:20217680C-T C T
+22 20218237 22:20218237G-A G A
+22 20218260 22:20218260G-A G A
+22 20218752 22:20218752T-A T A
+22 20218997 22:20218997G-A G A
+22 20219190 22:20219190C-G C G
+22 20219480 22:20219480G-C G C
+22 20219492 22:20219492G-T G T
+22 20219648 22:20219648G-A G A
+22 20219915 22:20219915G-A G A
+22 20220166 22:20220166A-C A C
+22 20220764 22:20220764T-C T C
+22 20220989 22:20220989T-A T A
+22 20221557 22:20221557T-A T A
+22 20221844 22:20221844C-A C A
+22 20221963 22:20221963A-T A T
+22 20222105 22:20222105A-G A G
+22 20222915 22:20222915A-G A G
+22 20223025 22:20223025G-T G T
+22 20223508 22:20223508C-T C T
+22 20224122 22:20224122A-T A T
+22 20225536 22:20225536A-G A G
+22 20225782 22:20225782G-A G A
+22 20226076 22:20226076T-C T C
+22 20226455 22:20226455T-C T C
+22 20226683 22:20226683C-T C T
+22 20226789 22:20226789C-T C T
+22 20227384 22:20227384G-C G C
+22 20227551 22:20227551A-G A G
+22 20227955 22:20227955C-G C G
+22 20228465 22:20228465G-T G T
+22 20228542 22:20228542A-G A G
+22 20228764 22:20228764G-A G A
+22 20233231 22:20233231C-T C T
+22 20233268 22:20233268A-C A C
+22 20233429 22:20233429T-C T C
+22 20233865 22:20233865G-A G A
+22 20234525 22:20234525C-T C T
+22 20234813 22:20234813C-G C G
+22 20234817 22:20234817C-T C T
+22 20235200 22:20235200G-A G A
+22 20240189 22:20240189C-G C G
+22 20240231 22:20240231C-T C T
+22 20240999 22:20240999G-A G A
+22 20241160 22:20241160C-T C T
+22 20241436 22:20241436G-A G A
+22 20244616 22:20244616C-T C T
+22 20244723 22:20244723C-T C T
+22 20244815 22:20244815G-A G A
+22 20245174 22:20245174T-C T C
+22 20248391 22:20248391G-A G A
+22 20248713 22:20248713A-G A G
+22 20249421 22:20249421G-A G A
+22 20249551 22:20249551A-C A C
+22 20249807 22:20249807G-A G A
+22 20249918 22:20249918T-C T C
+22 20251086 22:20251086C-T C T
+22 20252512 22:20252512G-A G A
+22 20256310 22:20256310G-T G T
+22 20256804 22:20256804C-G C G
+22 20257029 22:20257029G-A G A
+22 20258145 22:20258145C-T C T
+22 20258209 22:20258209C-G C G
+22 20258973 22:20258973G-A G A
+22 20261706 22:20261706C-T C T
+22 20263548 22:20263548C-T C T
+22 20264101 22:20264101G-A G A
+22 20264301 22:20264301T-G T G
+22 20264937 22:20264937G-A G A
+22 20266354 22:20266354G-A G A
+22 20266472 22:20266472G-A G A
+22 20266797 22:20266797T-C T C
+22 20267557 22:20267557C-T C T
+22 20267705 22:20267705C-T C T
+22 20268134 22:20268134G-C G C
+22 20268212 22:20268212C-A C A
+22 20268483 22:20268483C-T C T
+22 20268787 22:20268787A-G A G
+22 20269135 22:20269135G-A G A
+22 20269742 22:20269742A-T A T
+22 20270250 22:20270250T-C T C
+22 20270367 22:20270367C-T C T
+22 20271287 22:20271287G-A G A
+22 20272895 22:20272895C-T C T
+22 20272900 22:20272900C-T C T
+22 20273126 22:20273126G-A G A
+22 20273441 22:20273441G-A G A
+22 20273460 22:20273460C-G C G
+22 20273477 22:20273477G-A G A
+22 20275685 22:20275685T-A T A
+22 20278953 22:20278953C-T C T
+22 20279128 22:20279128G-C G C
+22 20279159 22:20279159G-A G A
+22 20279533 22:20279533G-A G A
+22 20279718 22:20279718C-T C T
+22 20281261 22:20281261A-T A T
+22 20281853 22:20281853G-C G C
+22 20282243 22:20282243T-C T C
+22 20282512 22:20282512T-C T C
+22 20282729 22:20282729T-C T C
+22 20282886 22:20282886C-T C T
+22 20283228 22:20283228C-T C T
+22 20283418 22:20283418G-A G A
+22 20284605 22:20284605G-A G A
+22 20286099 22:20286099T-G T G
+22 20290949 22:20290949G-A G A
+22 20291030 22:20291030G-C G C
+22 20292393 22:20292393G-A G A
+22 20293304 22:20293304T-C T C
+22 20293625 22:20293625G-A G A
+22 20294619 22:20294619G-A G A
+22 20295420 22:20295420G-T G T
+22 20296540 22:20296540T-C T C
+22 20298515 22:20298515A-G A G
+22 20301800 22:20301800T-G T G
+22 20303854 22:20303854G-A G A
+22 20304720 22:20304720C-G C G
+22 20306716 22:20306716A-T A T
+22 20306993 22:20306993C-T C T
+22 20307256 22:20307256G-A G A
+22 20309073 22:20309073G-A G A
+22 20309393 22:20309393T-G T G
+22 20311136 22:20311136C-T C T
+22 20311425 22:20311425G-A G A
+22 20318162 22:20318162G-A G A
+22 20732809 22:20732809C-T C T
+22 20733171 22:20733171G-T G T
+22 20733495 22:20733495T-G T G
+22 20733667 22:20733667C-T C T
+22 20733904 22:20733904C-T C T
+22 20735994 22:20735994A-T A T
+22 20735998 22:20735998T-A T A
+22 20736315 22:20736315A-G A G
+22 20737316 22:20737316C-T C T
+22 20737903 22:20737903G-A G A
+22 20738689 22:20738689G-A G A
+22 20738790 22:20738790G-T G T
+22 20738879 22:20738879G-C G C
+22 20739059 22:20739059G-C G C
+22 20739335 22:20739335G-A G A
+22 20739375 22:20739375C-A C A
+22 20739626 22:20739626C-T C T
+22 20739642 22:20739642A-G A G
+22 20740778 22:20740778T-C T C
+22 20741060 22:20741060G-A G A
+22 20741233 22:20741233G-C G C
+22 20741287 22:20741287T-C T C
+22 20741890 22:20741890T-C T C
+22 20742450 22:20742450C-A C A
+22 20742492 22:20742492G-A G A
+22 20743176 22:20743176C-T C T
+22 20743512 22:20743512C-T C T
+22 20743514 22:20743514A-C A C
+22 20743536 22:20743536A-C A C
+22 20743718 22:20743718T-G T G
+22 20743730 22:20743730G-A G A
+22 20743771 22:20743771C-T C T
+22 20744111 22:20744111A-G A G
+22 20745201 22:20745201A-G A G
+22 20745380 22:20745380T-A T A
+22 20745616 22:20745616G-C G C
+22 20747763 22:20747763T-G T G
+22 20748053 22:20748053G-A G A
+22 20748253 22:20748253T-C T C
+22 20750203 22:20750203A-G A G
+22 20750429 22:20750429G-C G C
+22 20751136 22:20751136A-G A G
+22 20751255 22:20751255C-T C T
+22 20751339 22:20751339G-C G C
+22 20752119 22:20752119A-G A G
+22 20752476 22:20752476T-G T G
+22 20752647 22:20752647C-G C G
+22 20752687 22:20752687T-G T G
+22 20753041 22:20753041T-A T A
+22 20753065 22:20753065G-T G T
+22 20753152 22:20753152C-T C T
+22 20753271 22:20753271A-T A T
+22 20753615 22:20753615G-A G A
+22 20753771 22:20753771G-T G T
+22 20753795 22:20753795T-G T G
+22 20754039 22:20754039G-A G A
+22 20754239 22:20754239T-G T G
+22 20754506 22:20754506C-G C G
+22 20754550 22:20754550T-A T A
+22 20754655 22:20754655G-T G T
+22 20754689 22:20754689C-T C T
+22 20755098 22:20755098A-G A G
+22 20755226 22:20755226A-G A G
+22 20755241 22:20755241G-A G A
+22 20755283 22:20755283A-G A G
+22 20755340 22:20755340A-G A G
+22 20756299 22:20756299C-T C T
+22 20756476 22:20756476G-A G A
+22 20756512 22:20756512A-G A G
+22 20758731 22:20758731C-T C T
+22 20758954 22:20758954C-T C T
+22 20759534 22:20759534A-G A G
+22 20761063 22:20761063G-A G A
+22 20761384 22:20761384C-A C A
+22 20761899 22:20761899C-T C T
+22 20761976 22:20761976T-G T G
+22 20762400 22:20762400C-G C G
+22 20762955 22:20762955C-T C T
+22 20763121 22:20763121A-G A G
+22 20763230 22:20763230T-C T C
+22 20763315 22:20763315C-G C G
+22 20764000 22:20764000G-A G A
+22 20764559 22:20764559T-C T C
+22 20764595 22:20764595T-G T G
+22 20764994 22:20764994T-C T C
+22 20765021 22:20765021T-C T C
+22 20765538 22:20765538A-C A C
+22 20765582 22:20765582A-C A C
+22 20765655 22:20765655A-G A G
+22 20765989 22:20765989C-A C A
+22 20766084 22:20766084T-C T C
+22 20766150 22:20766150T-C T C
+22 20766194 22:20766194C-A C A
+22 20766209 22:20766209T-C T C
+22 20766273 22:20766273G-A G A
+22 20766278 22:20766278G-A G A
+22 20766284 22:20766284C-A C A
+22 20766375 22:20766375C-T C T
+22 20766456 22:20766456G-A G A
+22 20766730 22:20766730G-A G A
+22 20766736 22:20766736G-T G T
+22 20766957 22:20766957A-G A G
+22 20767213 22:20767213A-G A G
+22 20767717 22:20767717G-A G A
+22 20767791 22:20767791C-T C T
+22 20768030 22:20768030G-A G A
+22 20768038 22:20768038G-T G T
+22 20768095 22:20768095C-T C T
+22 20768475 22:20768475T-C T C
+22 20768518 22:20768518G-A G A
+22 20768635 22:20768635T-C T C
+22 20768891 22:20768891C-T C T
+22 20769004 22:20769004C-A C A
+22 20769055 22:20769055C-T C T
+22 20769966 22:20769966C-T C T
+22 20770054 22:20770054A-G A G
+22 20770790 22:20770790C-T C T
+22 20770890 22:20770890A-C A C
+22 20770968 22:20770968T-C T C
+22 20771515 22:20771515A-G A G
+22 20772099 22:20772099C-A C A
+22 20772153 22:20772153A-G A G
+22 20772172 22:20772172G-A G A
+22 20772598 22:20772598G-A G A
+22 20772773 22:20772773G-A G A
+22 20772910 22:20772910T-C T C
+22 20772921 22:20772921C-T C T
+22 20772987 22:20772987G-A G A
+22 20773167 22:20773167A-G A G
+22 20773480 22:20773480G-C G C
+22 20773521 22:20773521G-C G C
+22 20773536 22:20773536C-T C T
+22 20773711 22:20773711C-T C T
+22 20774066 22:20774066T-C T C
+22 20774454 22:20774454A-G A G
+22 20774479 22:20774479A-G A G
+22 20774614 22:20774614G-A G A
+22 20774808 22:20774808G-A G A
+22 20775082 22:20775082G-C G C
+22 20775167 22:20775167C-T C T
+22 20775200 22:20775200T-C T C
+22 20775247 22:20775247C-T C T
+22 20775274 22:20775274C-T C T
+22 20775550 22:20775550A-G A G
+22 20775556 22:20775556G-T G T
+22 20775636 22:20775636G-A G A
+22 20775782 22:20775782G-C G C
+22 20775852 22:20775852C-T C T
+22 20776199 22:20776199G-A G A
+22 20776266 22:20776266C-G C G
+22 20776406 22:20776406A-G A G
+22 20776843 22:20776843G-A G A
+22 20777289 22:20777289G-A G A
+22 20777469 22:20777469G-A G A
+22 20777533 22:20777533C-T C T
+22 20777534 22:20777534G-A G A
+22 20777672 22:20777672A-G A G
+22 20777941 22:20777941C-T C T
+22 20778066 22:20778066A-G A G
+22 20778151 22:20778151G-A G A
+22 20778447 22:20778447G-A G A
+22 20778448 22:20778448C-A C A
+22 20778770 22:20778770C-T C T
+22 20779563 22:20779563C-T C T
+22 20779604 22:20779604T-G T G
+22 20779768 22:20779768G-C G C
+22 20779822 22:20779822G-C G C
+22 20781006 22:20781006G-T G T
+22 20781371 22:20781371C-T C T
+22 20781670 22:20781670T-C T C
+22 20782102 22:20782102G-C G C
+22 20783485 22:20783485C-A C A
+22 20783721 22:20783721C-T C T
+22 20784050 22:20784050T-A T A
+22 20784217 22:20784217C-T C T
+22 20784550 22:20784550A-G A G
+22 20784630 22:20784630C-A C A
+22 20784908 22:20784908T-G T G
+22 20784909 22:20784909T-A T A
+22 20785639 22:20785639G-A G A
+22 20786488 22:20786488A-C A C
+22 20786600 22:20786600A-G A G
+22 20786810 22:20786810G-A G A
+22 20787850 22:20787850T-C T C
+22 20788130 22:20788130C-G C G
+22 20788231 22:20788231G-A G A
+22 20788242 22:20788242C-G C G
+22 20788590 22:20788590G-A G A
+22 20788969 22:20788969A-G A G
+22 20789046 22:20789046T-A T A
+22 20789074 22:20789074T-C T C
+22 20789190 22:20789190G-C G C
+22 20789294 22:20789294C-G C G
+22 20789574 22:20789574T-C T C
+22 20789688 22:20789688G-A G A
+22 20789915 22:20789915G-A G A
+22 20789960 22:20789960G-A G A
+22 20790087 22:20790087T-C T C
+22 20790723 22:20790723C-G C G
+22 20791438 22:20791438C-A C A
+22 20791821 22:20791821G-A G A
+22 20793914 22:20793914T-C T C
+22 20793922 22:20793922A-G A G
+22 20794075 22:20794075G-C G C
+22 20794079 22:20794079T-C T C
+22 20794119 22:20794119A-G A G
+22 20794484 22:20794484T-G T G
+22 20794726 22:20794726T-C T C
+22 20794924 22:20794924C-T C T
+22 20795126 22:20795126T-G T G
+22 20795454 22:20795454T-C T C
+22 20795757 22:20795757C-T C T
+22 20796117 22:20796117G-T G T
+22 20796175 22:20796175T-C T C
+22 20797790 22:20797790G-A G A
+22 20798780 22:20798780C-T C T
+22 20799640 22:20799640G-A G A
+22 20799827 22:20799827G-A G A
+22 20799972 22:20799972A-G A G
+22 20800256 22:20800256C-T C T
+22 20800355 22:20800355T-G T G
+22 20800835 22:20800835A-G A G
+22 20800983 22:20800983G-A G A
+22 20801221 22:20801221T-C T C
+22 20801875 22:20801875G-A G A
+22 20802182 22:20802182A-C A C
+22 20802699 22:20802699T-G T G
+22 20804350 22:20804350A-T A T
+22 20805369 22:20805369T-G T G
+22 20805686 22:20805686A-G A G
+22 20806958 22:20806958A-G A G
+22 20809620 22:20809620C-T C T
+22 20809718 22:20809718G-A G A
+22 20810054 22:20810054C-T C T
+22 20811231 22:20811231A-G A G
+22 20811645 22:20811645G-C G C
+22 20811674 22:20811674G-T G T
+22 20811930 22:20811930C-A C A
+22 20813247 22:20813247T-C T C
+22 20814667 22:20814667G-A G A
+22 20814760 22:20814760G-A G A
+22 20816193 22:20816193T-C T C
+22 20816272 22:20816272C-A C A
+22 20816311 22:20816311A-G A G
+22 20816424 22:20816424C-T C T
+22 20816431 22:20816431G-A G A
+22 20817183 22:20817183C-G C G
+22 20817808 22:20817808C-T C T
+22 20818104 22:20818104G-A G A
+22 20818267 22:20818267A-G A G
+22 20818421 22:20818421G-C G C
+22 20820132 22:20820132C-T C T
+22 20820533 22:20820533C-T C T
+22 20821874 22:20821874A-T A T
+22 20822005 22:20822005G-A G A
+22 20822137 22:20822137G-A G A
+22 20822366 22:20822366G-T G T
+22 20822945 22:20822945G-T G T
+22 20824373 22:20824373C-A C A
+22 20824902 22:20824902C-T C T
+22 20825189 22:20825189A-G A G
+22 20827264 22:20827264T-C T C
+22 20827510 22:20827510G-C G C
+22 20828538 22:20828538G-A G A
+22 20828638 22:20828638A-G A G
+22 20828867 22:20828867T-C T C
+22 20832037 22:20832037T-C T C
+22 20832190 22:20832190T-C T C
+22 20832336 22:20832336C-T C T
+22 20832580 22:20832580G-C G C
+22 20833081 22:20833081G-A G A
+22 20834313 22:20834313T-C T C
+22 20834564 22:20834564G-A G A
+22 20834710 22:20834710C-T C T
+22 20834958 22:20834958T-C T C
+22 20835089 22:20835089C-T C T
+22 20835243 22:20835243C-G C G
+22 20835839 22:20835839G-A G A
+22 20838055 22:20838055T-C T C
+22 20838199 22:20838199G-A G A
+22 20838229 22:20838229T-C T C
+22 20838436 22:20838436T-C T C
+22 20838593 22:20838593G-T G T
+22 20838862 22:20838862A-G A G
+22 20839621 22:20839621A-G A G
+22 20839875 22:20839875C-A C A
+22 20839912 22:20839912T-C T C
+22 20841841 22:20841841C-A C A
+22 20842157 22:20842157A-G A G
+22 20842362 22:20842362T-C T C
+22 20842384 22:20842384C-G C G
+22 20842669 22:20842669G-C G C
+22 20843885 22:20843885T-G T G
+22 20844336 22:20844336G-C G C
+22 20846641 22:20846641A-G A G
+22 20847472 22:20847472A-T A T
+22 20850440 22:20850440A-G A G
+22 20852484 22:20852484C-T C T
+22 20853521 22:20853521C-T C T
+22 20853607 22:20853607C-T C T
+22 20853868 22:20853868G-A G A
+22 20853911 22:20853911G-A G A
+22 20854161 22:20854161T-C T C
+22 20854306 22:20854306C-A C A
+22 20855286 22:20855286G-A G A
+22 20855539 22:20855539T-C T C
+22 20855638 22:20855638G-C G C
+22 20855697 22:20855697C-T C T
+22 20855729 22:20855729C-T C T
+22 20855851 22:20855851T-A T A
+22 20856228 22:20856228T-G T G
+22 20856858 22:20856858T-C T C
+22 20857050 22:20857050C-T C T
+22 20857795 22:20857795A-G A G
+22 20858743 22:20858743G-A G A
+22 20858803 22:20858803C-T C T
+22 20859575 22:20859575G-A G A
+22 20859801 22:20859801T-C T C
+22 20860379 22:20860379T-C T C
+22 20860881 22:20860881A-G A G
+22 20861506 22:20861506A-G A G
+22 20862646 22:20862646T-G T G
+22 20863885 22:20863885G-A G A
+22 20864940 22:20864940C-T C T
+22 20865145 22:20865145A-C A C
+22 20865291 22:20865291A-C A C
+22 20866378 22:20866378C-T C T
+22 20866658 22:20866658C-T C T
+22 20866834 22:20866834G-A G A
+22 20867073 22:20867073A-T A T
+22 20868223 22:20868223C-A C A
+22 20868964 22:20868964C-T C T
+22 20869961 22:20869961C-T C T
+22 20870028 22:20870028G-A G A
+22 20871338 22:20871338T-C T C
+22 20871754 22:20871754A-G A G
+22 20872855 22:20872855C-T C T
+22 20873393 22:20873393G-A G A
+22 20873558 22:20873558A-G A G
+22 20873875 22:20873875G-A G A
+22 20875485 22:20875485G-T G T
+22 20876509 22:20876509A-G A G
+22 20881111 22:20881111G-A G A
+22 20882952 22:20882952A-T A T
+22 20883449 22:20883449T-C T C
+22 20883638 22:20883638G-A G A
+22 20884910 22:20884910C-T C T
+22 20885307 22:20885307C-T C T
+22 20886278 22:20886278G-A G A
+22 20887080 22:20887080A-G A G
+22 20887533 22:20887533C-G C G
+22 20887604 22:20887604C-G C G
+22 20888927 22:20888927A-G A G
+22 20889102 22:20889102A-G A G
+22 20889104 22:20889104T-C T C
+22 20889271 22:20889271G-C G C
+22 20889926 22:20889926C-A C A
+22 20890027 22:20890027T-A T A
+22 20890118 22:20890118C-T C T
+22 20890267 22:20890267G-A G A
+22 20891259 22:20891259C-A C A
+22 20891545 22:20891545A-G A G
+22 20891568 22:20891568G-A G A
+22 20891842 22:20891842C-T C T
+22 20891928 22:20891928G-T G T
+22 20893769 22:20893769T-C T C
+22 20895158 22:20895158T-C T C
+22 20896221 22:20896221C-T C T
+22 20896693 22:20896693G-A G A
+22 20896900 22:20896900T-C T C
+22 20896926 22:20896926G-A G A
+22 20897914 22:20897914G-A G A
+22 20898005 22:20898005C-T C T
+22 20898120 22:20898120T-C T C
+22 20898323 22:20898323T-C T C
+22 20898402 22:20898402G-A G A
+22 20898956 22:20898956A-C A C
+22 20899186 22:20899186G-A G A
+22 20899254 22:20899254G-A G A
+22 20899316 22:20899316G-A G A
+22 20899634 22:20899634C-T C T
+22 20899705 22:20899705G-A G A
+22 20899971 22:20899971G-A G A
+22 20899976 22:20899976T-A T A
+22 20900074 22:20900074T-C T C
+22 20900577 22:20900577G-T G T
+22 20900798 22:20900798G-T G T
+22 20901076 22:20901076C-T C T
+22 20901696 22:20901696G-C G C
+22 20901798 22:20901798G-A G A
+22 20901806 22:20901806C-A C A
+22 20903410 22:20903410C-T C T
+22 20903439 22:20903439T-C T C
+22 20903517 22:20903517T-C T C
+22 20903863 22:20903863C-G C G
+22 20904073 22:20904073G-C G C
+22 20905082 22:20905082A-G A G
+22 20907303 22:20907303T-C T C
+22 20908115 22:20908115G-A G A
+22 20908515 22:20908515C-T C T
+22 20908702 22:20908702A-C A C
+22 20908993 22:20908993T-C T C
+22 20909544 22:20909544G-A G A
+22 20909641 22:20909641C-T C T
+22 20909674 22:20909674G-C G C
+22 20910033 22:20910033G-T G T
+22 20910193 22:20910193A-G A G
+22 20910221 22:20910221G-A G A
+22 20910264 22:20910264C-T C T
+22 20910683 22:20910683A-G A G
+22 20910833 22:20910833C-T C T
+22 20910883 22:20910883A-G A G
+22 20911756 22:20911756A-C A C
+22 20912253 22:20912253C-T C T
+22 20912970 22:20912970A-G A G
+22 20913510 22:20913510A-G A G
+22 20913757 22:20913757G-A G A
+22 20913878 22:20913878G-A G A
+22 20914699 22:20914699G-A G A
+22 20914757 22:20914757G-A G A
+22 20914958 22:20914958C-T C T
+22 20915617 22:20915617C-G C G
+22 20916333 22:20916333A-T A T
+22 20916620 22:20916620A-G A G
+22 20916667 22:20916667A-T A T
+22 20917067 22:20917067A-G A G
+22 20917304 22:20917304C-T C T
+22 20919306 22:20919306A-G A G
+22 20919377 22:20919377G-A G A
+22 20919396 22:20919396T-C T C
+22 20919755 22:20919755C-T C T
+22 20920044 22:20920044C-T C T
+22 20920199 22:20920199G-C G C
+22 20921339 22:20921339A-G A G
+22 20921355 22:20921355G-T G T
+22 20921723 22:20921723C-G C G
+22 20921893 22:20921893G-T G T
+22 20922316 22:20922316T-C T C
+22 20924028 22:20924028A-G A G
+22 20924591 22:20924591T-G T G
+22 20925101 22:20925101G-A G A
+22 20925760 22:20925760G-T G T
+22 20926559 22:20926559G-A G A
+22 20926625 22:20926625G-A G A
+22 20926813 22:20926813C-T C T
+22 20927543 22:20927543C-T C T
+22 20927675 22:20927675G-A G A
+22 20927716 22:20927716T-C T C
+22 20927802 22:20927802G-A G A
+22 20928130 22:20928130C-T C T
+22 20928266 22:20928266G-A G A
+22 20928809 22:20928809C-T C T
+22 20929084 22:20929084T-C T C
+22 20929286 22:20929286C-G C G
+22 20929782 22:20929782C-A C A
+22 20929914 22:20929914C-T C T
+22 20929924 22:20929924C-T C T
+22 20930991 22:20930991T-G T G
+22 20931094 22:20931094T-C T C
+22 20931123 22:20931123G-C G C
+22 20931544 22:20931544G-A G A
+22 20932279 22:20932279C-T C T
+22 20932712 22:20932712C-T C T
+22 20932713 22:20932713C-G C G
+22 20933901 22:20933901T-C T C
+22 20934239 22:20934239T-A T A
+22 20934972 22:20934972T-G T G
+22 20935673 22:20935673A-C A C
+22 20935731 22:20935731G-A G A
+22 20937601 22:20937601C-T C T
+22 20938180 22:20938180G-A G A
+22 20938377 22:20938377A-G A G
+22 20938772 22:20938772T-C T C
+22 20939123 22:20939123G-A G A
+22 20939608 22:20939608C-A C A
+22 20940085 22:20940085G-A G A
+22 20940208 22:20940208T-C T C
+22 20940266 22:20940266A-G A G
+22 20940272 22:20940272C-G C G
+22 20940291 22:20940291C-T C T
+22 20940794 22:20940794G-A G A
+22 20941450 22:20941450T-C T C
+22 20943202 22:20943202G-A G A
+22 20943619 22:20943619G-C G C
+22 20943672 22:20943672G-C G C
+22 20944155 22:20944155A-G A G
+22 20944833 22:20944833T-C T C
+22 20946198 22:20946198G-A G A
+22 20946302 22:20946302G-T G T
+22 20946403 22:20946403C-T C T
+22 20946457 22:20946457G-A G A
+22 20946863 22:20946863C-T C T
+22 20946908 22:20946908G-T G T
+22 20947017 22:20947017C-G C G
+22 20947083 22:20947083A-G A G
+22 20947274 22:20947274A-G A G
+22 20947276 22:20947276G-A G A
+22 20947367 22:20947367G-A G A
+22 20947903 22:20947903C-G C G
+22 20947996 22:20947996C-T C T
+22 20948458 22:20948458G-A G A
+22 20948553 22:20948553G-A G A
+22 20949243 22:20949243A-G A G
+22 20949311 22:20949311A-T A T
+22 20949365 22:20949365C-T C T
+22 20949549 22:20949549C-T C T
+22 20950564 22:20950564C-T C T
+22 20954760 22:20954760A-G A G
+22 20956250 22:20956250A-G A G
+22 20956600 22:20956600C-T C T
+22 20956906 22:20956906C-T C T
+22 20957000 22:20957000T-C T C
+22 20957037 22:20957037G-A G A
+22 20958044 22:20958044A-T A T
+22 20959252 22:20959252A-G A G
+22 20960707 22:20960707A-G A G
+22 20961109 22:20961109C-T C T
+22 20962028 22:20962028C-T C T
+22 20962211 22:20962211A-C A C
+22 20962379 22:20962379G-A G A
+22 20962419 22:20962419G-A G A
+22 20962570 22:20962570G-C G C
+22 20962978 22:20962978C-T C T
+22 20963040 22:20963040G-A G A
+22 20963207 22:20963207G-A G A
+22 20963268 22:20963268G-A G A
+22 20963475 22:20963475T-C T C
+22 20964056 22:20964056G-A G A
+22 20965555 22:20965555T-C T C
+22 20965899 22:20965899C-T C T
+22 20966099 22:20966099C-G C G
+22 20966125 22:20966125C-A C A
+22 20966270 22:20966270T-C T C
+22 20966396 22:20966396A-G A G
+22 20966457 22:20966457G-A G A
+22 20966547 22:20966547A-G A G
+22 20966727 22:20966727A-G A G
+22 20967164 22:20967164A-G A G
+22 20967333 22:20967333A-T A T
+22 20970175 22:20970175C-T C T
+22 20975690 22:20975690A-G A G
+22 20976096 22:20976096G-A G A
+22 20976358 22:20976358A-G A G
+22 20977272 22:20977272C-T C T
+22 20977292 22:20977292C-T C T
+22 20977339 22:20977339C-T C T
+22 20977646 22:20977646G-A G A
+22 20977719 22:20977719C-G C G
+22 20978224 22:20978224T-C T C
+22 20978388 22:20978388C-G C G
+22 20978536 22:20978536G-A G A
+22 20978672 22:20978672A-G A G
+22 20978719 22:20978719T-C T C
+22 20978977 22:20978977C-T C T
+22 20979029 22:20979029C-A C A
+22 20979079 22:20979079A-G A G
+22 20979980 22:20979980A-G A G
+22 20980308 22:20980308A-G A G
+22 20980559 22:20980559G-T G T
+22 20980962 22:20980962A-G A G
+22 20982128 22:20982128G-C G C
+22 20982576 22:20982576G-C G C
+22 20982876 22:20982876C-T C T
+22 20983309 22:20983309C-G C G
+22 20983592 22:20983592T-C T C
+22 20983830 22:20983830T-G T G
+22 20986010 22:20986010A-G A G
+22 20986255 22:20986255G-C G C
+22 20986299 22:20986299C-T C T
+22 20987464 22:20987464C-T C T
+22 20988045 22:20988045C-T C T
+22 20988390 22:20988390C-T C T
+22 20988749 22:20988749T-C T C
+22 20989409 22:20989409C-T C T
+22 20989749 22:20989749A-G A G
+22 20989898 22:20989898G-A G A
+22 20990057 22:20990057T-C T C
+22 20990519 22:20990519G-A G A
+22 20990662 22:20990662C-T C T
+22 20991062 22:20991062T-C T C
+22 20991129 22:20991129A-C A C
+22 20991235 22:20991235T-C T C
+22 20991637 22:20991637G-A G A
+22 20991771 22:20991771A-G A G
+22 20993328 22:20993328A-G A G
+22 20993467 22:20993467G-A G A
+22 20993477 22:20993477T-G T G
+22 20993519 22:20993519G-A G A
+22 20993766 22:20993766C-G C G
+22 20993797 22:20993797G-A G A
+22 20994344 22:20994344G-C G C
+22 20996595 22:20996595C-T C T
+22 20997232 22:20997232A-G A G
+22 20997483 22:20997483C-T C T
+22 20997645 22:20997645A-G A G
+22 20998535 22:20998535G-A G A
+22 20998965 22:20998965G-A G A
+22 20999021 22:20999021C-T C T
+22 20999190 22:20999190A-G A G
+22 20999208 22:20999208T-C T C
+22 21000580 22:21000580C-G C G
+22 21001074 22:21001074C-T C T
+22 21001422 22:21001422G-T G T
+22 21001472 22:21001472G-A G A
+22 21002437 22:21002437T-G T G
+22 21002497 22:21002497G-C G C
+22 21002822 22:21002822C-T C T
+22 21002886 22:21002886A-T A T
+22 21003110 22:21003110T-G T G
+22 21003385 22:21003385C-T C T
+22 21003446 22:21003446T-G T G
+22 21003490 22:21003490A-G A G
+22 21003610 22:21003610T-C T C
+22 21003992 22:21003992G-A G A
+22 21003994 22:21003994A-C A C
+22 21004024 22:21004024A-T A T
+22 21004075 22:21004075G-A G A
+22 21004101 22:21004101G-A G A
+22 21004407 22:21004407T-C T C
+22 21004476 22:21004476G-A G A
+22 21004805 22:21004805A-G A G
+22 21005078 22:21005078A-G A G
+22 21005168 22:21005168A-T A T
+22 21005206 22:21005206C-T C T
+22 21005422 22:21005422A-G A G
+22 21005697 22:21005697A-G A G
+22 21006192 22:21006192A-C A C
+22 21006415 22:21006415T-C T C
+22 21006440 22:21006440A-G A G
+22 21006498 22:21006498G-A G A
+22 21007485 22:21007485A-G A G
+22 21007726 22:21007726C-A C A
+22 21008167 22:21008167A-G A G
+22 21009173 22:21009173C-T C T
+22 21009329 22:21009329G-A G A
+22 21009596 22:21009596C-A C A
+22 21009853 22:21009853C-A C A
+22 21010142 22:21010142G-A G A
+22 21010438 22:21010438G-A G A
+22 21010961 22:21010961C-T C T
+22 21011132 22:21011132C-A C A
+22 21011216 22:21011216G-C G C
+22 21011521 22:21011521G-C G C
+22 21012223 22:21012223G-A G A
+22 21012438 22:21012438A-C A C
+22 21012505 22:21012505C-G C G
+22 21012568 22:21012568G-A G A
+22 21012694 22:21012694G-C G C
+22 21012715 22:21012715A-G A G
+22 21012760 22:21012760C-T C T
+22 21012830 22:21012830G-A G A
+22 21013347 22:21013347G-A G A
+22 21013880 22:21013880C-T C T
+22 21014264 22:21014264C-T C T
+22 21014329 22:21014329A-G A G
+22 21015043 22:21015043A-G A G
+22 21015218 22:21015218A-G A G
+22 21015737 22:21015737A-T A T
+22 21016306 22:21016306C-T C T
+22 21017148 22:21017148A-G A G
+22 21017452 22:21017452T-G T G
+22 21017767 22:21017767C-A C A
+22 21017919 22:21017919A-T A T
+22 21019125 22:21019125T-C T C
+22 21019273 22:21019273T-C T C
+22 21019903 22:21019903G-A G A
+22 21020031 22:21020031G-A G A
+22 21020355 22:21020355G-A G A
+22 21020629 22:21020629T-C T C
+22 21020848 22:21020848A-G A G
+22 21021264 22:21021264A-G A G
+22 21022869 22:21022869T-C T C
+22 21024880 22:21024880A-G A G
+22 21025442 22:21025442C-G C G
+22 21025559 22:21025559C-T C T
+22 21025935 22:21025935C-G C G
+22 21026003 22:21026003A-G A G
+22 21026228 22:21026228C-T C T
+22 21027159 22:21027159G-C G C
+22 21028138 22:21028138G-A G A
+22 21028946 22:21028946T-C T C
+22 21029223 22:21029223A-T A T
+22 21030404 22:21030404C-T C T
+22 21031066 22:21031066T-C T C
+22 21031543 22:21031543C-A C A
+22 21032419 22:21032419A-G A G
+22 21033221 22:21033221G-C G C
+22 21033371 22:21033371A-G A G
+22 21034650 22:21034650G-A G A
+22 21034809 22:21034809G-A G A
+22 21036604 22:21036604G-A G A
+22 21037144 22:21037144G-C G C
+22 21039456 22:21039456G-C G C
+22 21039805 22:21039805C-T C T
+22 21040306 22:21040306C-T C T
+22 21040559 22:21040559T-C T C
+22 21040868 22:21040868A-C A C
+22 21040925 22:21040925A-G A G
+22 21044815 22:21044815C-T C T
+22 21044848 22:21044848A-T A T
+22 21045012 22:21045012T-C T C
+22 21045397 22:21045397C-T C T
+22 21045651 22:21045651C-T C T
+22 21050319 22:21050319G-A G A
+22 21051638 22:21051638G-C G C
+22 21051983 22:21051983C-A C A
+22 21052265 22:21052265G-C G C
+22 21052990 22:21052990G-C G C
+22 21053670 22:21053670C-T C T
+22 21053778 22:21053778G-A G A
+22 21054330 22:21054330T-C T C
+22 21054588 22:21054588T-C T C
+22 21059279 22:21059279T-C T C
+22 21059373 22:21059373T-C T C
+22 21059630 22:21059630A-G A G
+22 21059934 22:21059934C-T C T
+22 21060359 22:21060359A-C A C
+22 21062268 22:21062268G-T G T
+22 21065201 22:21065201A-G A G
+22 21065932 22:21065932A-T A T
+22 21067984 22:21067984G-T G T
+22 21068025 22:21068025C-A C A
+22 21068130 22:21068130C-T C T
+22 21068850 22:21068850T-G T G
+22 21068878 22:21068878C-T C T
+22 21069951 22:21069951C-T C T
+22 21073122 22:21073122G-A G A
+22 21073281 22:21073281C-T C T
+22 21074037 22:21074037G-A G A
+22 21075537 22:21075537A-C A C
+22 21076129 22:21076129C-T C T
+22 21076208 22:21076208G-T G T
+22 21076753 22:21076753T-G T G
+22 21076754 22:21076754T-C T C
+22 21077840 22:21077840T-C T C
+22 21077856 22:21077856C-T C T
+22 21078301 22:21078301C-T C T
+22 21078525 22:21078525A-G A G
+22 21079587 22:21079587C-A C A
+22 21079909 22:21079909A-G A G
+22 21080404 22:21080404G-A G A
+22 21080548 22:21080548C-A C A
+22 21084669 22:21084669C-T C T
+22 21084882 22:21084882G-T G T
+22 21084891 22:21084891C-T C T
+22 21086277 22:21086277G-A G A
+22 21086857 22:21086857T-C T C
+22 21088146 22:21088146C-G C G
+22 21090148 22:21090148G-T G T
+22 21090646 22:21090646G-C G C
+22 21091115 22:21091115A-G A G
+22 21091774 22:21091774A-G A G
+22 21091887 22:21091887A-G A G
+22 21092170 22:21092170C-T C T
+22 21093307 22:21093307A-G A G
+22 21094719 22:21094719A-G A G
+22 21094781 22:21094781C-T C T
+22 21095344 22:21095344G-A G A
+22 21095720 22:21095720C-A C A
+22 21095751 22:21095751C-T C T
+22 21096157 22:21096157G-A G A
+22 21097344 22:21097344G-A G A
+22 21097805 22:21097805G-A G A
+22 21098247 22:21098247C-A C A
+22 21099297 22:21099297T-C T C
+22 21099478 22:21099478A-G A G
+22 21100842 22:21100842C-T C T
+22 21102393 22:21102393G-C G C
+22 21102490 22:21102490A-G A G
+22 21102830 22:21102830G-A G A
+22 21102973 22:21102973G-A G A
+22 21103089 22:21103089C-T C T
+22 21103551 22:21103551G-A G A
+22 21103838 22:21103838C-T C T
+22 21104928 22:21104928G-A G A
+22 21105255 22:21105255T-C T C
+22 21105343 22:21105343T-C T C
+22 21105356 22:21105356G-A G A
+22 21106055 22:21106055G-A G A
+22 21106141 22:21106141T-C T C
+22 21106585 22:21106585T-C T C
+22 21106665 22:21106665G-A G A
+22 21107153 22:21107153T-C T C
+22 21107704 22:21107704G-A G A
+22 21107809 22:21107809T-C T C
+22 21108125 22:21108125C-G C G
+22 21108453 22:21108453G-A G A
+22 21108976 22:21108976G-A G A
+22 21109106 22:21109106T-C T C
+22 21109168 22:21109168A-C A C
+22 21110158 22:21110158G-A G A
+22 21110563 22:21110563G-A G A
+22 21110658 22:21110658G-A G A
+22 21111072 22:21111072T-C T C
+22 21111092 22:21111092T-A T A
+22 21111689 22:21111689C-G C G
+22 21111690 22:21111690C-G C G
+22 21112112 22:21112112G-A G A
+22 21112382 22:21112382A-G A G
+22 21113530 22:21113530C-T C T
+22 21113793 22:21113793G-A G A
+22 21114200 22:21114200C-A C A
+22 21114601 22:21114601T-G T G
+22 21115062 22:21115062T-C T C
+22 21115244 22:21115244T-C T C
+22 21116594 22:21116594A-C A C
+22 21117060 22:21117060G-A G A
+22 21117227 22:21117227C-T C T
+22 21117639 22:21117639C-G C G
+22 21117927 22:21117927C-T C T
+22 21118024 22:21118024A-G A G
+22 21118126 22:21118126G-C G C
+22 21118139 22:21118139C-T C T
+22 21118306 22:21118306C-T C T
+22 21118524 22:21118524C-T C T
+22 21118650 22:21118650G-A G A
+22 21118820 22:21118820C-T C T
+22 21118918 22:21118918T-G T G
+22 21119995 22:21119995A-T A T
+22 21121351 22:21121351C-G C G
+22 21122005 22:21122005C-A C A
+22 21122412 22:21122412C-T C T
+22 21123247 22:21123247C-T C T
+22 21123565 22:21123565T-C T C
+22 21125075 22:21125075A-C A C
+22 21125198 22:21125198T-C T C
+22 21126344 22:21126344T-C T C
+22 21126502 22:21126502G-C G C
+22 21127097 22:21127097G-T G T
+22 21127098 22:21127098C-T C T
+22 21127335 22:21127335C-T C T
+22 21128206 22:21128206G-A G A
+22 21128576 22:21128576G-A G A
+22 21129295 22:21129295T-C T C
+22 21129559 22:21129559T-C T C
+22 21130129 22:21130129C-T C T
+22 21130331 22:21130331T-C T C
+22 21130549 22:21130549T-C T C
+22 21132154 22:21132154C-T C T
+22 21132570 22:21132570C-T C T
+22 21132747 22:21132747G-A G A
+22 21132808 22:21132808A-G A G
+22 21132931 22:21132931G-C G C
+22 21134645 22:21134645G-T G T
+22 21134784 22:21134784G-A G A
+22 21134988 22:21134988T-C T C
+22 21135346 22:21135346T-G T G
+22 21135763 22:21135763C-A C A
+22 21136259 22:21136259G-A G A
+22 21136455 22:21136455C-G C G
+22 21136993 22:21136993T-C T C
+22 21137130 22:21137130G-A G A
+22 21137622 22:21137622T-C T C
+22 21139242 22:21139242C-T C T
+22 21139955 22:21139955C-T C T
+22 21140651 22:21140651A-G A G
+22 21141300 22:21141300T-C T C
+22 21145242 22:21145242C-T C T
+22 21145465 22:21145465G-A G A
+22 21145979 22:21145979C-T C T
+22 21147293 22:21147293A-G A G
+22 21148285 22:21148285C-A C A
+22 21149441 22:21149441T-C T C
+22 21150012 22:21150012C-A C A
+22 21150340 22:21150340T-C T C
+22 21150704 22:21150704C-G C G
+22 21151157 22:21151157C-T C T
+22 21151655 22:21151655A-G A G
+22 21152071 22:21152071A-G A G
+22 21152179 22:21152179C-A C A
+22 21152568 22:21152568C-T C T
+22 21152730 22:21152730T-C T C
+22 21153590 22:21153590C-T C T
+22 21154282 22:21154282C-A C A
+22 21154390 22:21154390T-G T G
+22 21154393 22:21154393T-G T G
+22 21154750 22:21154750C-T C T
+22 21155372 22:21155372G-A G A
+22 21156871 22:21156871C-T C T
+22 21158081 22:21158081C-T C T
+22 21158879 22:21158879T-A T A
+22 21159848 22:21159848C-T C T
+22 21160093 22:21160093G-C G C
+22 21160584 22:21160584C-T C T
+22 21160945 22:21160945G-A G A
+22 21161061 22:21161061T-C T C
+22 21161564 22:21161564G-C G C
+22 21163028 22:21163028A-G A G
+22 21163327 22:21163327C-T C T
+22 21164643 22:21164643A-C A C
+22 21164694 22:21164694A-G A G
+22 21165675 22:21165675T-C T C
+22 21165740 22:21165740T-C T C
+22 21166128 22:21166128T-C T C
+22 21166895 22:21166895T-A T A
+22 21167184 22:21167184C-T C T
+22 21167787 22:21167787G-A G A
+22 21168455 22:21168455T-C T C
+22 21168589 22:21168589G-A G A
+22 21168686 22:21168686T-C T C
+22 21168756 22:21168756G-A G A
+22 21168784 22:21168784A-T A T
+22 21169122 22:21169122A-G A G
+22 21169294 22:21169294A-T A T
+22 21169875 22:21169875A-G A G
+22 21171069 22:21171069A-G A G
+22 21171115 22:21171115T-C T C
+22 21171592 22:21171592G-A G A
+22 21173308 22:21173308C-T C T
+22 21174312 22:21174312C-A C A
+22 21174356 22:21174356A-G A G
+22 21174399 22:21174399T-C T C
+22 21174798 22:21174798T-C T C
+22 21175309 22:21175309C-A C A
+22 21176257 22:21176257G-T G T
+22 21176629 22:21176629A-G A G
+22 21177245 22:21177245A-G A G
+22 21177335 22:21177335A-G A G
+22 21178464 22:21178464G-A G A
+22 21178484 22:21178484C-G C G
+22 21179614 22:21179614G-C G C
+22 21180355 22:21180355T-C T C
+22 21180811 22:21180811C-A C A
+22 21181465 22:21181465T-C T C
+22 21181524 22:21181524G-T G T
+22 21182697 22:21182697G-A G A
+22 21183123 22:21183123G-A G A
+22 21183881 22:21183881T-A T A
+22 21185381 22:21185381G-A G A
+22 21185753 22:21185753G-A G A
+22 21186750 22:21186750T-C T C
+22 21186865 22:21186865G-C G C
+22 21187694 22:21187694A-G A G
+22 21188226 22:21188226A-G A G
+22 21188732 22:21188732C-A C A
+22 21188964 22:21188964T-C T C
+22 21189429 22:21189429T-C T C
+22 21189817 22:21189817T-C T C
+22 21190102 22:21190102T-C T C
+22 21190756 22:21190756G-C G C
+22 21191242 22:21191242T-A T A
+22 21192208 22:21192208A-T A T
+22 21192341 22:21192341A-G A G
+22 21193192 22:21193192C-T C T
+22 21193365 22:21193365C-T C T
+22 21193604 22:21193604T-C T C
+22 21196634 22:21196634T-G T G
+22 21196899 22:21196899G-A G A
+22 21197679 22:21197679G-A G A
+22 21197829 22:21197829G-C G C
+22 21198541 22:21198541T-G T G
+22 21198776 22:21198776A-G A G
+22 21198880 22:21198880A-C A C
+22 21199895 22:21199895G-A G A
+22 21200315 22:21200315G-C G C
+22 21201596 22:21201596G-T G T
+22 21202005 22:21202005A-C A C
+22 21202747 22:21202747A-G A G
+22 21203330 22:21203330A-G A G
+22 21203461 22:21203461A-G A G
+22 21203879 22:21203879A-G A G
+22 21204010 22:21204010C-T C T
+22 21204180 22:21204180C-A C A
+22 21205465 22:21205465C-G C G
+22 21205921 22:21205921C-T C T
+22 21206662 22:21206662G-A G A
+22 21207566 22:21207566C-T C T
+22 21207606 22:21207606C-A C A
+22 21207892 22:21207892G-C G C
+22 21208236 22:21208236T-G T G
+22 21209189 22:21209189T-C T C
+22 21209653 22:21209653A-G A G
+22 21210288 22:21210288A-G A G
+22 21211019 22:21211019T-C T C
+22 21211107 22:21211107A-G A G
+22 21211220 22:21211220T-C T C
+22 21211544 22:21211544C-T C T
+22 21212090 22:21212090C-G C G
+22 21212208 22:21212208A-G A G
+22 21212476 22:21212476A-G A G
+22 21212656 22:21212656T-C T C
+22 21212716 22:21212716G-A G A
+22 21213380 22:21213380C-T C T
+22 21213416 22:21213416A-G A G
+22 21215198 22:21215198A-G A G
+22 21215742 22:21215742T-C T C
+22 21215770 22:21215770G-T G T
+22 21216695 22:21216695A-C A C
+22 21217575 22:21217575A-G A G
+22 21218339 22:21218339A-G A G
+22 21218876 22:21218876A-G A G
+22 21220004 22:21220004T-C T C
+22 21220229 22:21220229A-G A G
+22 21220651 22:21220651C-G C G
+22 21220669 22:21220669T-G T G
+22 21220733 22:21220733C-T C T
+22 21221305 22:21221305A-G A G
+22 21221849 22:21221849A-G A G
+22 21222458 22:21222458G-A G A
+22 21223303 22:21223303G-A G A
+22 21223564 22:21223564T-C T C
+22 21223590 22:21223590A-G A G
+22 21226912 22:21226912C-T C T
+22 21229564 22:21229564C-T C T
+22 21229802 22:21229802A-G A G
+22 21230257 22:21230257A-G A G
+22 21230937 22:21230937G-A G A
+22 21233270 22:21233270C-T C T
+22 21233549 22:21233549C-T C T
+22 21235731 22:21235731C-A C A
+22 21236141 22:21236141C-T C T
+22 21238592 22:21238592C-T C T
+22 21239540 22:21239540C-G C G
+22 21240108 22:21240108G-A G A
+22 21240399 22:21240399T-C T C
+22 21240501 22:21240501T-C T C
+22 21241193 22:21241193A-G A G
+22 21241370 22:21241370G-A G A
+22 21241485 22:21241485C-T C T
+22 21241854 22:21241854T-C T C
+22 21242247 22:21242247G-C G C
+22 21242544 22:21242544A-G A G
+22 21243253 22:21243253T-C T C
+22 21243643 22:21243643T-C T C
+22 21243687 22:21243687T-G T G
+22 21244229 22:21244229T-G T G
+22 21244385 22:21244385G-T G T
+22 21245085 22:21245085T-C T C
+22 21246557 22:21246557C-T C T
+22 21246902 22:21246902A-G A G
+22 21247048 22:21247048T-C T C
+22 21247661 22:21247661A-T A T
+22 21247675 22:21247675T-C T C
+22 21247769 22:21247769T-A T A
+22 21247949 22:21247949A-G A G
+22 21248264 22:21248264C-T C T
+22 21249165 22:21249165G-A G A
+22 21249178 22:21249178A-C A C
+22 21249705 22:21249705G-C G C
+22 21250124 22:21250124C-T C T
+22 21250198 22:21250198C-G C G
+22 21250432 22:21250432T-G T G
+22 21251139 22:21251139C-A C A
+22 21252051 22:21252051G-A G A
+22 21252115 22:21252115G-C G C
+22 21252507 22:21252507C-T C T
+22 21252585 22:21252585C-T C T
+22 21253069 22:21253069G-A G A
+22 21253581 22:21253581C-T C T
+22 21253724 22:21253724G-A G A
+22 21254167 22:21254167G-A G A
+22 21254210 22:21254210G-A G A
+22 21255420 22:21255420G-A G A
+22 21255763 22:21255763A-T A T
+22 21255863 22:21255863C-T C T
+22 21257010 22:21257010G-T G T
+22 21257129 22:21257129T-C T C
+22 21257398 22:21257398G-A G A
+22 21258085 22:21258085A-G A G
+22 21258292 22:21258292A-C A C
+22 21260672 22:21260672G-A G A
+22 21261868 22:21261868C-G C G
+22 21262085 22:21262085G-T G T
+22 21262237 22:21262237T-C T C
+22 21263353 22:21263353G-A G A
+22 21263551 22:21263551C-T C T
+22 21263577 22:21263577T-C T C
+22 21266466 22:21266466T-C T C
+22 21266686 22:21266686C-T C T
+22 21266870 22:21266870A-G A G
+22 21267591 22:21267591T-G T G
+22 21268433 22:21268433C-A C A
+22 21268733 22:21268733C-T C T
+22 21270823 22:21270823G-C G C
+22 21272734 22:21272734T-C T C
+22 21273025 22:21273025T-G T G
+22 21273168 22:21273168A-G A G
+22 21273196 22:21273196A-G A G
+22 21273441 22:21273441G-A G A
+22 21274338 22:21274338G-A G A
+22 21274587 22:21274587A-G A G
+22 21275029 22:21275029C-T C T
+22 21275053 22:21275053T-C T C
+22 21275150 22:21275150A-C A C
+22 21275765 22:21275765C-T C T
+22 21275859 22:21275859G-A G A
+22 21276601 22:21276601C-G C G
+22 21276605 22:21276605G-A G A
+22 21276989 22:21276989G-A G A
+22 21277471 22:21277471A-G A G
+22 21277646 22:21277646G-A G A
+22 21278298 22:21278298G-A G A
+22 21279805 22:21279805A-G A G
+22 21280463 22:21280463G-C G C
+22 21281988 22:21281988G-A G A
+22 21282756 22:21282756C-A C A
+22 21283074 22:21283074T-C T C
+22 21285285 22:21285285A-G A G
+22 21285846 22:21285846T-G T G
+22 21286342 22:21286342G-A G A
+22 21286562 22:21286562C-A C A
+22 21286941 22:21286941A-C A C
+22 21287643 22:21287643A-G A G
+22 21287911 22:21287911A-G A G
+22 21288871 22:21288871T-C T C
+22 21288901 22:21288901C-T C T
+22 21290360 22:21290360A-G A G
+22 21291166 22:21291166C-T C T
+22 21291263 22:21291263T-C T C
+22 21291329 22:21291329C-A C A
+22 21292223 22:21292223T-G T G
+22 21292744 22:21292744C-T C T
+22 21293201 22:21293201A-G A G
+22 21294414 22:21294414A-G A G
+22 21296097 22:21296097C-G C G
+22 21296547 22:21296547T-C T C
+22 21297251 22:21297251T-C T C
+22 21297960 22:21297960T-C T C
+22 21298018 22:21298018C-G C G
+22 21298053 22:21298053A-G A G
+22 21298315 22:21298315C-T C T
+22 21299073 22:21299073G-A G A
+22 21299577 22:21299577G-A G A
+22 21300308 22:21300308T-C T C
+22 21300844 22:21300844C-T C T
+22 21300895 22:21300895A-C A C
+22 21301336 22:21301336A-G A G
+22 21302227 22:21302227T-C T C
+22 21302320 22:21302320T-C T C
+22 21302925 22:21302925C-T C T
+22 21303042 22:21303042T-C T C
+22 21303690 22:21303690G-T G T
+22 21303711 22:21303711G-A G A
+22 21304408 22:21304408A-G A G
+22 21304463 22:21304463T-C T C
+22 21306400 22:21306400A-G A G
+22 21306743 22:21306743A-G A G
+22 21307058 22:21307058C-T C T
+22 21308235 22:21308235G-C G C
+22 21309090 22:21309090T-G T G
+22 21309934 22:21309934C-G C G
+22 21310335 22:21310335C-T C T
+22 21310761 22:21310761A-G A G
+22 21311060 22:21311060T-C T C
+22 21311531 22:21311531C-T C T
+22 21311721 22:21311721T-G T G
+22 21312429 22:21312429G-A G A
+22 21312889 22:21312889C-T C T
+22 21313072 22:21313072A-G A G
+22 21313640 22:21313640A-G A G
+22 21316557 22:21316557C-A C A
+22 21317432 22:21317432C-T C T
+22 21317661 22:21317661A-G A G
+22 21318433 22:21318433G-A G A
+22 21318552 22:21318552G-T G T
+22 21319041 22:21319041G-A G A
+22 21320103 22:21320103G-A G A
+22 21320321 22:21320321C-T C T
+22 21320528 22:21320528C-T C T
+22 21320664 22:21320664A-G A G
+22 21320706 22:21320706T-C T C
+22 21320947 22:21320947C-G C G
+22 21321364 22:21321364T-C T C
+22 21321790 22:21321790A-G A G
+22 21321821 22:21321821G-A G A
+22 21321954 22:21321954C-T C T
+22 21322836 22:21322836T-C T C
+22 21322888 22:21322888A-G A G
+22 21323101 22:21323101C-A C A
+22 21323357 22:21323357T-C T C
+22 21323369 22:21323369C-T C T
+22 21323466 22:21323466A-G A G
+22 21324308 22:21324308G-T G T
+22 21327415 22:21327415G-A G A
+22 21327503 22:21327503G-C G C
+22 21327589 22:21327589C-T C T
+22 21329123 22:21329123A-G A G
+22 21329290 22:21329290C-T C T
+22 21329502 22:21329502C-T C T
+22 21330179 22:21330179A-G A G
+22 21330266 22:21330266T-C T C
+22 21330787 22:21330787C-T C T
+22 21331556 22:21331556T-C T C
+22 21331629 22:21331629G-A G A
+22 21331663 22:21331663T-C T C
+22 21331677 22:21331677A-G A G
+22 21331918 22:21331918C-G C G
+22 21332122 22:21332122G-A G A
+22 21332409 22:21332409G-A G A
+22 21332441 22:21332441T-C T C
+22 21332443 22:21332443G-A G A
+22 21334873 22:21334873G-C G C
+22 21334924 22:21334924G-C G C
+22 21335259 22:21335259C-A C A
+22 21336549 22:21336549A-T A T
+22 21337266 22:21337266G-A G A
+22 21337325 22:21337325G-A G A
+22 21337964 22:21337964G-T G T
+22 21338013 22:21338013G-C G C
+22 21338036 22:21338036G-T G T
+22 21338146 22:21338146G-A G A
+22 21338355 22:21338355G-A G A
+22 21338543 22:21338543T-C T C
+22 21339424 22:21339424A-G A G
+22 21339751 22:21339751T-C T C
+22 21339915 22:21339915T-G T G
+22 21340088 22:21340088T-C T C
+22 21342509 22:21342509C-T C T
+22 21342811 22:21342811C-T C T
+22 21343391 22:21343391G-C G C
+22 21344592 22:21344592A-C A C
+22 21344884 22:21344884C-T C T
+22 21344905 22:21344905A-G A G
+22 21344920 22:21344920G-C G C
+22 21346277 22:21346277C-T C T
+22 21346384 22:21346384C-T C T
+22 21346485 22:21346485T-C T C
+22 21346719 22:21346719A-C A C
+22 21347505 22:21347505C-T C T
+22 21348084 22:21348084T-C T C
+22 21348914 22:21348914C-T C T
+22 21349037 22:21349037A-G A G
+22 21349579 22:21349579C-T C T
+22 21349676 22:21349676T-A T A
+22 21349677 22:21349677C-T C T
+22 21350461 22:21350461A-G A G
+22 21350880 22:21350880T-C T C
+22 21350936 22:21350936G-A G A
+22 21350947 22:21350947A-G A G
+22 21352120 22:21352120G-A G A
+22 21352181 22:21352181T-C T C
+22 21353328 22:21353328G-A G A
+22 21353610 22:21353610C-T C T
+22 21353925 22:21353925G-A G A
+22 21354970 22:21354970C-G C G
+22 21356029 22:21356029T-C T C
+22 21356316 22:21356316C-G C G
+22 21356538 22:21356538A-T A T
+22 21356549 22:21356549T-C T C
+22 21356566 22:21356566A-G A G
+22 21356824 22:21356824G-A G A
+22 21356925 22:21356925T-A T A
+22 21357006 22:21357006C-T C T
+22 21357119 22:21357119G-A G A
+22 21357153 22:21357153C-T C T
+22 21357602 22:21357602T-C T C
+22 21358051 22:21358051A-G A G
+22 21358522 22:21358522C-T C T
+22 21358653 22:21358653A-G A G
+22 21358657 22:21358657T-G T G
+22 21359510 22:21359510A-G A G
+22 21359706 22:21359706A-G A G
+22 21360342 22:21360342A-G A G
+22 21360350 22:21360350A-C A C
+22 21360430 22:21360430C-T C T
+22 21360936 22:21360936A-G A G
+22 21361060 22:21361060T-G T G
+22 21361238 22:21361238T-A T A
+22 21361242 22:21361242T-A T A
+22 21361774 22:21361774C-T C T
+22 21361920 22:21361920T-C T C
+22 21362107 22:21362107G-A G A
+22 21362474 22:21362474A-C A C
+22 21362720 22:21362720T-C T C
+22 21362721 22:21362721G-C G C
+22 21362849 22:21362849C-A C A
+22 21363240 22:21363240C-T C T
+22 21363306 22:21363306G-A G A
+22 21363341 22:21363341T-C T C
+22 21363392 22:21363392G-A G A
+22 21363452 22:21363452A-G A G
+22 21363505 22:21363505C-T C T
+22 21363561 22:21363561T-C T C
+22 21363744 22:21363744T-C T C
+22 21363960 22:21363960G-A G A
+22 21364849 22:21364849T-C T C
+22 21364867 22:21364867T-A T A
+22 21365159 22:21365159T-C T C
+22 21365271 22:21365271G-A G A
+22 21365384 22:21365384A-G A G
+22 21365387 22:21365387G-A G A
+22 21365668 22:21365668A-G A G
+22 21365887 22:21365887A-T A T
+22 21366110 22:21366110T-C T C
+22 21366164 22:21366164A-G A G
+22 21366206 22:21366206C-T C T
+22 21366634 22:21366634A-G A G
+22 21367284 22:21367284C-T C T
+22 21367464 22:21367464C-G C G
+22 21367590 22:21367590T-C T C
+22 21367707 22:21367707T-C T C
+22 21367713 22:21367713G-C G C
+22 21369454 22:21369454A-G A G
+22 21370025 22:21370025G-A G A
+22 21370237 22:21370237T-G T G
+22 21370622 22:21370622C-T C T
+22 21370653 22:21370653A-G A G
+22 21370722 22:21370722C-T C T
+22 21370761 22:21370761G-C G C
+22 21371227 22:21371227C-A C A
+22 21372160 22:21372160G-T G T
+22 21372374 22:21372374G-A G A
+22 21372405 22:21372405G-T G T
+22 21372467 22:21372467C-G C G
+22 21373478 22:21373478C-T C T
+22 21373624 22:21373624G-C G C
+22 21373668 22:21373668G-A G A
+22 21373906 22:21373906G-A G A
+22 21374072 22:21374072T-C T C
+22 21374135 22:21374135G-T G T
+22 21374501 22:21374501G-C G C
+22 21374550 22:21374550A-G A G
+22 21374814 22:21374814T-G T G
+22 21375101 22:21375101A-G A G
+22 21375838 22:21375838C-T C T
+22 21376092 22:21376092T-C T C
+22 21377071 22:21377071C-T C T
+22 21377301 22:21377301C-A C A
+22 21377334 22:21377334C-T C T
+22 21377650 22:21377650G-A G A
+22 21377958 22:21377958A-C A C
+22 21378661 22:21378661T-G T G
+22 21378729 22:21378729G-A G A
+22 21378898 22:21378898A-G A G
+22 21379080 22:21379080G-A G A
+22 21379106 22:21379106C-G C G
+22 21379801 22:21379801T-C T C
+22 21380064 22:21380064G-A G A
+22 21381646 22:21381646T-C T C
+22 21381682 22:21381682A-G A G
+22 21382167 22:21382167C-T C T
+22 21382482 22:21382482T-C T C
+22 21382613 22:21382613G-A G A
+22 21382864 22:21382864C-T C T
+22 21382896 22:21382896A-C A C
+22 21383282 22:21383282T-C T C
+22 21383312 22:21383312G-A G A
+22 21384578 22:21384578C-T C T
+22 21385843 22:21385843G-A G A
+22 21385985 22:21385985C-T C T
+22 21386019 22:21386019G-A G A
+22 21386112 22:21386112C-T C T
+22 21386477 22:21386477C-T C T
+22 21386684 22:21386684C-T C T
+22 21387063 22:21387063G-A G A
+22 21387301 22:21387301C-G C G
+22 21387967 22:21387967C-T C T
+22 21388605 22:21388605T-C T C
+22 21388838 22:21388838C-G C G
+22 21389629 22:21389629T-C T C
+22 21389662 22:21389662A-G A G
+22 21391315 22:21391315C-T C T
+22 21391509 22:21391509A-G A G
+22 21391554 22:21391554G-A G A
+22 21391619 22:21391619G-C G C
+22 21391646 22:21391646A-G A G
+22 21392176 22:21392176A-G A G
+22 21392485 22:21392485G-A G A
+22 21392696 22:21392696C-T C T
+22 21392943 22:21392943C-A C A
+22 21393467 22:21393467C-T C T
+22 21394099 22:21394099T-G T G
+22 21394911 22:21394911A-G A G
+22 21395022 22:21395022C-T C T
+22 21395033 22:21395033T-C T C
+22 21395414 22:21395414A-C A C
+22 21395535 22:21395535A-G A G
+22 21395757 22:21395757A-G A G
+22 21395784 22:21395784C-T C T
+22 21396205 22:21396205T-C T C
+22 21396528 22:21396528G-T G T
+22 21396607 22:21396607C-T C T
+22 21396651 22:21396651T-A T A
+22 21397050 22:21397050T-C T C
+22 21398354 22:21398354C-T C T
+22 21399247 22:21399247A-G A G
+22 21399278 22:21399278T-C T C
+22 21400282 22:21400282G-C G C
+22 21400519 22:21400519C-T C T
+22 21400563 22:21400563G-A G A
+22 21400575 22:21400575A-T A T
+22 21401426 22:21401426G-T G T
+22 21401570 22:21401570G-A G A
+22 21401833 22:21401833C-T C T
+22 21402726 22:21402726C-T C T
+22 21403226 22:21403226G-C G C
+22 21403912 22:21403912G-T G T
+22 21404009 22:21404009G-T G T
+22 21404113 22:21404113A-G A G
+22 21404365 22:21404365A-G A G
+22 21405546 22:21405546C-T C T
+22 21405555 22:21405555G-C G C
+22 21406091 22:21406091C-T C T
+22 21407084 22:21407084G-C G C
+22 21408430 22:21408430T-C T C
+22 21409018 22:21409018C-T C T
+22 21409619 22:21409619C-G C G
+22 21409774 22:21409774A-G A G
+22 21410886 22:21410886C-T C T
+22 21414530 22:21414530G-A G A
+22 21415742 22:21415742A-G A G
+22 21416153 22:21416153A-C A C
+22 21416404 22:21416404G-A G A
+22 21416442 22:21416442T-C T C
+22 21417823 22:21417823T-C T C
+22 21418190 22:21418190A-G A G
+22 21418552 22:21418552T-C T C
+22 21419799 22:21419799C-T C T
+22 21420100 22:21420100T-C T C
+22 21421069 22:21421069A-G A G
+22 21421425 22:21421425A-C A C
+22 21421459 22:21421459C-T C T
+22 21421637 22:21421637C-A C A
+22 21421667 22:21421667C-T C T
+22 21421694 22:21421694G-A G A
+22 21422041 22:21422041C-T C T
+22 21422043 22:21422043T-A T A
+22 21422096 22:21422096A-C A C
+22 21423036 22:21423036C-T C T
+22 21423655 22:21423655G-C G C
+22 21423908 22:21423908C-T C T
+22 21423933 22:21423933C-T C T
+22 21423993 22:21423993C-G C G
+22 21424331 22:21424331A-T A T
+22 21424385 22:21424385G-A G A
+22 21424414 22:21424414G-A G A
+22 21424504 22:21424504A-G A G
+22 21424589 22:21424589G-A G A
+22 21425298 22:21425298C-T C T
+22 21425769 22:21425769C-T C T
+22 21426113 22:21426113A-G A G
+22 21426152 22:21426152C-T C T
+22 21426740 22:21426740T-C T C
+22 21426741 22:21426741G-A G A
+22 21427379 22:21427379C-T C T
+22 21427577 22:21427577A-G A G
+22 21428294 22:21428294A-G A G
+22 21428523 22:21428523G-A G A
+22 21429385 22:21429385C-A C A
+22 21429706 22:21429706G-A G A
+22 21430505 22:21430505G-A G A
+22 21431054 22:21431054T-C T C
+22 21431172 22:21431172G-A G A
+22 21431181 22:21431181C-A C A
+22 21431729 22:21431729G-A G A
+22 21431744 22:21431744T-C T C
+22 21431769 22:21431769C-T C T
+22 21431993 22:21431993A-G A G
+22 21432215 22:21432215T-C T C
+22 21432422 22:21432422T-C T C
+22 21433311 22:21433311A-C A C
+22 21434560 22:21434560A-C A C
+22 21434900 22:21434900G-C G C
+22 21435788 22:21435788A-G A G
+22 21437412 22:21437412G-A G A
+22 21437458 22:21437458A-G A G
+22 21437561 22:21437561G-A G A
+22 21438021 22:21438021A-T A T
+22 21438417 22:21438417C-A C A
+22 21439392 22:21439392G-A G A
+22 21439398 22:21439398T-C T C
+22 21439407 22:21439407A-G A G
+22 21439515 22:21439515C-T C T
+22 21439646 22:21439646T-G T G
+22 21439823 22:21439823T-A T A
+22 21439826 22:21439826T-A T A
+22 21440206 22:21440206G-A G A
+22 21440345 22:21440345A-G A G
+22 21440502 22:21440502C-T C T
+22 21442000 22:21442000G-T G T
+22 21443283 22:21443283G-A G A
+22 21443517 22:21443517C-T C T
+22 21443816 22:21443816A-C A C
+22 21444030 22:21444030A-C A C
+22 21444374 22:21444374C-G C G
+22 21444901 22:21444901C-T C T
+22 21445037 22:21445037T-C T C
+22 21445064 22:21445064A-G A G
+22 21445396 22:21445396T-C T C
+22 21445566 22:21445566C-G C G
+22 21445723 22:21445723C-T C T
+22 21446594 22:21446594C-A C A
+22 21446689 22:21446689A-G A G
+22 21446768 22:21446768G-A G A
+22 21447079 22:21447079T-A T A
+22 21447294 22:21447294T-C T C
+22 21447880 22:21447880C-T C T
+22 21448034 22:21448034T-G T G
+22 21448093 22:21448093T-C T C
+22 21448141 22:21448141T-A T A
+22 21448304 22:21448304C-T C T
+22 21448357 22:21448357A-G A G
+22 21448402 22:21448402C-A C A
+22 21448424 22:21448424G-C G C
+22 21448500 22:21448500G-A G A
+22 21448938 22:21448938C-T C T
+22 21449028 22:21449028A-G A G
+22 21449411 22:21449411C-G C G
+22 21449724 22:21449724T-C T C
+22 21450020 22:21450020G-A G A
+22 21450181 22:21450181T-G T G
+22 21450264 22:21450264T-C T C
+22 21450692 22:21450692A-G A G
+22 21451097 22:21451097C-T C T
+22 21451498 22:21451498G-C G C
+22 21451667 22:21451667G-A G A
+22 21451951 22:21451951G-A G A
+22 21452237 22:21452237T-C T C
+22 21453923 22:21453923T-A T A
+22 21453988 22:21453988C-A C A
+22 21457646 22:21457646G-C G C
+22 21458082 22:21458082C-T C T
+22 21458625 22:21458625T-G T G
+22 21458666 22:21458666T-C T C
+22 21458772 22:21458772G-A G A
+22 21458804 22:21458804T-G T G
+22 21458925 22:21458925A-G A G
+22 21459395 22:21459395C-T C T
+22 21460008 22:21460008A-G A G
+22 21460220 22:21460220G-T G T
+22 21461274 22:21461274G-A G A
+22 21462045 22:21462045C-T C T
+22 21462658 22:21462658C-G C G
+22 21463515 22:21463515G-A G A
+22 21465226 22:21465226T-G T G
+22 21465835 22:21465835C-G C G
+22 21798351 22:21798351G-C G C
+22 21798907 22:21798907A-G A G
+22 21802961 22:21802961T-G T G
+22 21806401 22:21806401T-C T C
+22 21809133 22:21809133G-A G A
+22 21809185 22:21809185T-C T C
+22 21809438 22:21809438G-T G T
+22 21812167 22:21812167G-A G A
+22 21912272 22:21912272A-G A G
+22 21916166 22:21916166T-C T C
+22 21917190 22:21917190G-T G T
+22 21917450 22:21917450G-A G A
+22 21917479 22:21917479C-T C T
+22 21917626 22:21917626C-G C G
+22 21919671 22:21919671A-G A G
+22 21920403 22:21920403G-A G A
+22 21920817 22:21920817G-C G C
+22 21920903 22:21920903A-G A G
+22 21921294 22:21921294G-A G A
+22 21921686 22:21921686G-T G T
+22 21922364 22:21922364T-C T C
+22 21922456 22:21922456C-G C G
+22 21922904 22:21922904G-T G T
+22 21923144 22:21923144A-C A C
+22 21925017 22:21925017A-G A G
+22 21926456 22:21926456A-G A G
+22 21927064 22:21927064G-A G A
+22 21927231 22:21927231C-T C T
+22 21928597 22:21928597C-G C G
+22 21928641 22:21928641G-A G A
+22 21928916 22:21928916T-G T G
+22 21930093 22:21930093C-T C T
+22 21930777 22:21930777C-T C T
+22 21932068 22:21932068C-T C T
+22 21932264 22:21932264A-G A G
+22 21933428 22:21933428C-T C T
+22 21933780 22:21933780C-T C T
+22 21936152 22:21936152C-G C G
+22 21936835 22:21936835C-A C A
+22 21938224 22:21938224A-C A C
+22 21938590 22:21938590C-T C T
+22 21938863 22:21938863G-C G C
+22 21939675 22:21939675G-T G T
+22 21939687 22:21939687C-A C A
+22 21940189 22:21940189T-G T G
+22 21940310 22:21940310A-G A G
+22 21941915 22:21941915C-T C T
+22 21941981 22:21941981A-G A G
+22 21942007 22:21942007G-A G A
+22 21942978 22:21942978A-T A T
+22 21943664 22:21943664C-G C G
+22 21943938 22:21943938T-C T C
+22 21944478 22:21944478T-G T G
+22 21945096 22:21945096T-A T A
+22 21945851 22:21945851G-A G A
+22 21946173 22:21946173A-G A G
+22 21947467 22:21947467C-G C G
+22 21949411 22:21949411A-C A C
+22 21950405 22:21950405A-G A G
+22 21951558 22:21951558C-T C T
+22 21951740 22:21951740C-A C A
+22 21953276 22:21953276A-G A G
+22 21953288 22:21953288T-C T C
+22 21956653 22:21956653A-G A G
+22 21957992 22:21957992T-C T C
+22 21958304 22:21958304A-G A G
+22 21958872 22:21958872T-G T G
+22 21959038 22:21959038G-C G C
+22 21963786 22:21963786A-G A G
+22 21964761 22:21964761G-A G A
+22 21964951 22:21964951C-T C T
+22 21966442 22:21966442G-A G A
+22 21968221 22:21968221G-A G A
+22 21970810 22:21970810G-C G C
+22 21971010 22:21971010G-A G A
+22 21971632 22:21971632T-G T G
+22 21972401 22:21972401T-G T G
+22 21973319 22:21973319C-T C T
+22 21974703 22:21974703G-C G C
+22 21976934 22:21976934T-C T C
+22 21977047 22:21977047C-T C T
+22 21979096 22:21979096T-C T C
+22 21979289 22:21979289T-C T C
+22 21979584 22:21979584C-T C T
+22 21979938 22:21979938C-T C T
+22 21980257 22:21980257A-G A G
+22 21980638 22:21980638T-C T C
+22 21980894 22:21980894C-T C T
+22 21982054 22:21982054T-G T G
+22 21982249 22:21982249T-C T C
+22 21982340 22:21982340C-G C G
+22 21982892 22:21982892C-T C T
+22 21983260 22:21983260A-G A G
+22 21984205 22:21984205A-G A G
+22 21984379 22:21984379G-A G A
+22 21985094 22:21985094A-G A G
+22 21988524 22:21988524C-T C T
+22 21988602 22:21988602C-T C T
+22 21991072 22:21991072T-C T C
+22 21992869 22:21992869T-C T C
+22 21993067 22:21993067T-G T G
+22 21995031 22:21995031G-A G A
+22 21998736 22:21998736G-A G A
+22 21998833 22:21998833C-T C T
+22 21999042 22:21999042C-T C T
+22 21999229 22:21999229C-G C G
+22 21999292 22:21999292A-G A G
+22 22001704 22:22001704G-T G T
+22 22002021 22:22002021C-T C T
+22 22002328 22:22002328T-C T C
+22 22002581 22:22002581T-C T C
+22 22002591 22:22002591A-G A G
+22 22002632 22:22002632A-C A C
+22 22002999 22:22002999G-T G T
+22 22003050 22:22003050G-A G A
+22 22003928 22:22003928C-G C G
+22 22003933 22:22003933C-G C G
+22 22004334 22:22004334G-T G T
+22 22004418 22:22004418G-A G A
+22 22005629 22:22005629C-T C T
+22 22005687 22:22005687G-C G C
+22 22005719 22:22005719C-G C G
+22 22006219 22:22006219G-T G T
+22 22006440 22:22006440T-C T C
+22 22007370 22:22007370T-C T C
+22 22007426 22:22007426C-T C T
+22 22007528 22:22007528C-G C G
+22 22009975 22:22009975C-T C T
+22 22010151 22:22010151G-C G C
+22 22010173 22:22010173C-T C T
+22 22010623 22:22010623G-A G A
+22 22010918 22:22010918C-T C T
+22 22012772 22:22012772G-A G A
+22 22014922 22:22014922C-G C G
+22 22015144 22:22015144A-G A G
+22 22015234 22:22015234C-T C T
+22 22015242 22:22015242C-T C T
+22 22017001 22:22017001C-T C T
+22 22017142 22:22017142A-G A G
+22 22017776 22:22017776C-T C T
+22 22018988 22:22018988A-C A C
+22 22019160 22:22019160G-A G A
+22 22019757 22:22019757C-A C A
+22 22020694 22:22020694T-C T C
+22 22020968 22:22020968G-A G A
+22 22022005 22:22022005G-A G A
+22 22023942 22:22023942C-T C T
+22 22024150 22:22024150C-T C T
+22 22024456 22:22024456T-C T C
+22 22025462 22:22025462A-G A G
+22 22025476 22:22025476A-G A G
+22 22025670 22:22025670T-C T C
+22 22025966 22:22025966A-C A C
+22 22026320 22:22026320A-T A T
+22 22027348 22:22027348C-T C T
+22 22027617 22:22027617C-T C T
+22 22027710 22:22027710A-G A G
+22 22028124 22:22028124G-T G T
+22 22028332 22:22028332G-A G A
+22 22028734 22:22028734A-G A G
+22 22028954 22:22028954T-C T C
+22 22029554 22:22029554C-T C T
+22 22031373 22:22031373C-T C T
+22 22031486 22:22031486C-T C T
+22 22032207 22:22032207C-T C T
+22 22032779 22:22032779C-T C T
+22 22032817 22:22032817A-G A G
+22 22032885 22:22032885C-T C T
+22 22032991 22:22032991C-T C T
+22 22033592 22:22033592C-T C T
+22 22033718 22:22033718G-A G A
+22 22033831 22:22033831C-T C T
+22 22034152 22:22034152A-G A G
+22 22034247 22:22034247G-A G A
+22 22034264 22:22034264A-T A T
+22 22034558 22:22034558G-A G A
+22 22034569 22:22034569A-G A G
+22 22034688 22:22034688T-C T C
+22 22034704 22:22034704C-T C T
+22 22034768 22:22034768C-T C T
+22 22035012 22:22035012G-A G A
+22 22035187 22:22035187C-T C T
+22 22035951 22:22035951C-T C T
+22 22036200 22:22036200G-A G A
+22 22036512 22:22036512C-T C T
+22 22036832 22:22036832T-C T C
+22 22037188 22:22037188T-C T C
+22 22037223 22:22037223G-A G A
+22 22038458 22:22038458C-T C T
+22 22038826 22:22038826A-G A G
+22 22039199 22:22039199C-T C T
+22 22039863 22:22039863A-C A C
+22 22040295 22:22040295C-T C T
+22 22040331 22:22040331G-A G A
+22 22040410 22:22040410A-G A G
+22 22040713 22:22040713G-A G A
+22 22041438 22:22041438C-T C T
+22 22041601 22:22041601G-T G T
+22 22042079 22:22042079G-T G T
+22 22042318 22:22042318C-T C T
+22 22042440 22:22042440C-T C T
+22 22042918 22:22042918C-T C T
+22 22044240 22:22044240G-T G T
+22 22044386 22:22044386G-A G A
+22 22044659 22:22044659A-G A G
+22 22045027 22:22045027T-C T C
+22 22045315 22:22045315G-A G A
+22 22045603 22:22045603C-T C T
+22 22046111 22:22046111G-A G A
+22 22046318 22:22046318C-T C T
+22 22046502 22:22046502C-T C T
+22 22046570 22:22046570T-G T G
+22 22046732 22:22046732T-C T C
+22 22046738 22:22046738T-C T C
+22 22046787 22:22046787G-A G A
+22 22046812 22:22046812T-C T C
+22 22047255 22:22047255G-A G A
+22 22048770 22:22048770C-G C G
+22 22048862 22:22048862C-T C T
+22 22049369 22:22049369G-T G T
+22 22049783 22:22049783C-T C T
+22 22050234 22:22050234G-A G A
+22 22051548 22:22051548G-A G A
+22 22051583 22:22051583G-T G T
+22 22051709 22:22051709A-G A G
+22 22052814 22:22052814A-G A G
+22 22053776 22:22053776T-C T C
+22 22053880 22:22053880A-G A G
+22 22053885 22:22053885G-T G T
+22 22055280 22:22055280A-G A G
+22 22055394 22:22055394A-G A G
+22 22055581 22:22055581C-A C A
+22 22057273 22:22057273G-A G A
+22 22058355 22:22058355A-G A G
+22 22058586 22:22058586T-C T C
+22 22058806 22:22058806C-T C T
+22 22059293 22:22059293C-T C T
+22 22060375 22:22060375C-T C T
+22 22060445 22:22060445C-T C T
+22 22060673 22:22060673G-A G A
+22 22061758 22:22061758A-G A G
+22 22062213 22:22062213T-C T C
+22 22062480 22:22062480C-T C T
+22 22063004 22:22063004G-A G A
+22 22063337 22:22063337T-C T C
+22 22064106 22:22064106C-T C T
+22 22064395 22:22064395G-C G C
+22 22064422 22:22064422C-T C T
+22 22065251 22:22065251C-T C T
+22 22065288 22:22065288G-A G A
+22 22065290 22:22065290G-A G A
+22 22065407 22:22065407G-C G C
+22 22065422 22:22065422T-C T C
+22 22065593 22:22065593A-T A T
+22 22066928 22:22066928T-C T C
+22 22067667 22:22067667C-T C T
+22 22067722 22:22067722C-T C T
+22 22068139 22:22068139C-T C T
+22 22068335 22:22068335G-A G A
+22 22068517 22:22068517G-A G A
+22 22068740 22:22068740C-T C T
+22 22069012 22:22069012G-A G A
+22 22069340 22:22069340T-C T C
+22 22069757 22:22069757T-C T C
+22 22069897 22:22069897T-C T C
+22 22069941 22:22069941G-A G A
+22 22070146 22:22070146G-A G A
+22 22070241 22:22070241G-A G A
+22 22070271 22:22070271A-G A G
+22 22070489 22:22070489C-T C T
+22 22070543 22:22070543A-C A C
+22 22074273 22:22074273C-T C T
+22 22074344 22:22074344G-A G A
+22 22074453 22:22074453C-T C T
+22 22075488 22:22075488G-C G C
+22 22075499 22:22075499G-A G A
+22 22075785 22:22075785T-C T C
+22 22075816 22:22075816G-A G A
+22 22076177 22:22076177C-T C T
+22 22076405 22:22076405G-A G A
+22 22076699 22:22076699G-A G A
+22 22076773 22:22076773T-C T C
+22 22077631 22:22077631G-A G A
+22 22078122 22:22078122T-C T C
+22 22080004 22:22080004G-A G A
+22 22080735 22:22080735A-G A G
+22 22080865 22:22080865T-C T C
+22 22080878 22:22080878A-T A T
+22 22081573 22:22081573C-T C T
+22 22082193 22:22082193G-C G C
+22 22082919 22:22082919G-A G A
+22 22087323 22:22087323T-C T C
+22 22087760 22:22087760C-A C A
+22 22088182 22:22088182T-C T C
+22 22090262 22:22090262G-A G A
+22 22091206 22:22091206C-G C G
+22 22091244 22:22091244C-T C T
+22 22092894 22:22092894C-T C T
+22 22093119 22:22093119T-G T G
+22 22093592 22:22093592G-A G A
+22 22095771 22:22095771C-T C T
+22 22095920 22:22095920T-C T C
+22 22096802 22:22096802G-C G C
+22 22097006 22:22097006G-A G A
+22 22097230 22:22097230G-A G A
+22 22098687 22:22098687A-G A G
+22 22100456 22:22100456G-A G A
+22 22101995 22:22101995C-G C G
+22 22102092 22:22102092C-T C T
+22 22102124 22:22102124G-A G A
+22 22103599 22:22103599T-C T C
+22 22104873 22:22104873A-C A C
+22 22106535 22:22106535T-C T C
+22 22106618 22:22106618C-A C A
+22 22107971 22:22107971G-C G C
+22 22109381 22:22109381T-C T C
+22 22109596 22:22109596C-A C A
+22 22110359 22:22110359G-A G A
+22 22111308 22:22111308A-G A G
+22 22112089 22:22112089A-G A G
+22 22112527 22:22112527T-C T C
+22 22112596 22:22112596G-C G C
+22 22112794 22:22112794G-A G A
+22 22112802 22:22112802C-T C T
+22 22113740 22:22113740A-G A G
+22 22115004 22:22115004C-G C G
+22 22115353 22:22115353G-A G A
+22 22115498 22:22115498T-C T C
+22 22115886 22:22115886C-T C T
+22 22116202 22:22116202C-G C G
+22 22116467 22:22116467C-T C T
+22 22117502 22:22117502A-C A C
+22 22120153 22:22120153C-T C T
+22 22120381 22:22120381C-A C A
+22 22121155 22:22121155A-G A G
+22 22121554 22:22121554T-C T C
+22 22122149 22:22122149T-C T C
+22 22122747 22:22122747C-G C G
+22 22123189 22:22123189A-C A C
+22 22125040 22:22125040A-C A C
+22 22125069 22:22125069A-G A G
+22 22126203 22:22126203C-T C T
+22 22126824 22:22126824C-T C T
+22 22128678 22:22128678G-A G A
+22 22128816 22:22128816A-C A C
+22 22128935 22:22128935C-T C T
+22 22129215 22:22129215A-G A G
+22 22130197 22:22130197C-T C T
+22 22130945 22:22130945C-G C G
+22 22131125 22:22131125T-G T G
+22 22132403 22:22132403G-A G A
+22 22132985 22:22132985C-A C A
+22 22136398 22:22136398T-G T G
+22 22136845 22:22136845G-A G A
+22 22137169 22:22137169C-T C T
+22 22137708 22:22137708G-A G A
+22 22138450 22:22138450C-A C A
+22 22138587 22:22138587C-A C A
+22 22138691 22:22138691G-A G A
+22 22139847 22:22139847C-T C T
+22 22139890 22:22139890T-C T C
+22 22140136 22:22140136C-T C T
+22 22140647 22:22140647T-G T G
+22 22141895 22:22141895T-C T C
+22 22143759 22:22143759A-C A C
+22 22145063 22:22145063G-C G C
+22 22145101 22:22145101T-C T C
+22 22145253 22:22145253T-C T C
+22 22145634 22:22145634A-G A G
+22 22145732 22:22145732A-T A T
+22 22146399 22:22146399A-G A G
+22 22147374 22:22147374C-T C T
+22 22147616 22:22147616G-A G A
+22 22147701 22:22147701G-A G A
+22 22148021 22:22148021A-C A C
+22 22148524 22:22148524C-T C T
+22 22148731 22:22148731T-C T C
+22 22148840 22:22148840T-C T C
+22 22148919 22:22148919T-C T C
+22 22149143 22:22149143T-C T C
+22 22149168 22:22149168C-T C T
+22 22150536 22:22150536G-A G A
+22 22150982 22:22150982G-A G A
+22 22151286 22:22151286C-G C G
+22 22151821 22:22151821G-A G A
+22 22151939 22:22151939A-C A C
+22 22152480 22:22152480T-C T C
+22 22152797 22:22152797G-C G C
+22 22152823 22:22152823C-T C T
+22 22154644 22:22154644G-A G A
+22 22156577 22:22156577T-A T A
+22 22156789 22:22156789C-A C A
+22 22157492 22:22157492T-C T C
+22 22157661 22:22157661T-C T C
+22 22162126 22:22162126A-G A G
+22 22162257 22:22162257G-C G C
+22 22162374 22:22162374A-T A T
+22 22162993 22:22162993T-C T C
+22 22163425 22:22163425A-G A G
+22 22164597 22:22164597T-G T G
+22 22164849 22:22164849C-T C T
+22 22164923 22:22164923G-A G A
+22 22165936 22:22165936T-G T G
+22 22166004 22:22166004G-A G A
+22 22166274 22:22166274C-T C T
+22 22166450 22:22166450A-G A G
+22 22167851 22:22167851G-A G A
+22 22168202 22:22168202G-A G A
+22 22168246 22:22168246A-G A G
+22 22168878 22:22168878C-T C T
+22 22168895 22:22168895G-C G C
+22 22169017 22:22169017G-A G A
+22 22171567 22:22171567G-A G A
+22 22171993 22:22171993G-C G C
+22 22173907 22:22173907G-A G A
+22 22176518 22:22176518C-A C A
+22 22177299 22:22177299A-T A T
+22 22177949 22:22177949C-T C T
+22 22178104 22:22178104A-G A G
+22 22180183 22:22180183C-T C T
+22 22180873 22:22180873A-C A C
+22 22180990 22:22180990T-C T C
+22 22181093 22:22181093G-A G A
+22 22181478 22:22181478T-C T C
+22 22183039 22:22183039A-C A C
+22 22184133 22:22184133G-C G C
+22 22185347 22:22185347T-C T C
+22 22185665 22:22185665T-C T C
+22 22186479 22:22186479A-C A C
+22 22186538 22:22186538G-A G A
+22 22186562 22:22186562T-C T C
+22 22186803 22:22186803G-A G A
+22 22187093 22:22187093G-T G T
+22 22187402 22:22187402C-T C T
+22 22187660 22:22187660A-C A C
+22 22188009 22:22188009T-C T C
+22 22188183 22:22188183G-A G A
+22 22190163 22:22190163C-A C A
+22 22190785 22:22190785T-A T A
+22 22190875 22:22190875C-T C T
+22 22191458 22:22191458T-C T C
+22 22192477 22:22192477A-G A G
+22 22192572 22:22192572G-A G A
+22 22193334 22:22193334T-A T A
+22 22194752 22:22194752G-A G A
+22 22195012 22:22195012A-T A T
+22 22195051 22:22195051C-T C T
+22 22195406 22:22195406T-C T C
+22 22195982 22:22195982A-T A T
+22 22196532 22:22196532G-A G A
+22 22196648 22:22196648C-T C T
+22 22196862 22:22196862A-C A C
+22 22199970 22:22199970C-T C T
+22 22200530 22:22200530T-C T C
+22 22201352 22:22201352C-T C T
+22 22201678 22:22201678C-A C A
+22 22202261 22:22202261A-G A G
+22 22203225 22:22203225T-C T C
+22 22204793 22:22204793G-A G A
+22 22205315 22:22205315T-G T G
+22 22205353 22:22205353C-T C T
+22 22205611 22:22205611A-C A C
+22 22205851 22:22205851C-T C T
+22 22207673 22:22207673A-G A G
+22 22208595 22:22208595C-T C T
+22 22209139 22:22209139T-C T C
+22 22210135 22:22210135A-C A C
+22 22210842 22:22210842G-A G A
+22 22211065 22:22211065C-T C T
+22 22211828 22:22211828C-T C T
+22 22212469 22:22212469T-C T C
+22 22213969 22:22213969T-C T C
+22 22214746 22:22214746G-A G A
+22 22214889 22:22214889G-A G A
+22 22215164 22:22215164G-C G C
+22 22216956 22:22216956A-T A T
+22 22218622 22:22218622G-C G C
+22 22219449 22:22219449A-T A T
+22 22220074 22:22220074C-T C T
+22 22221167 22:22221167A-G A G
+22 22221530 22:22221530G-A G A
+22 22222103 22:22222103A-T A T
+22 22222320 22:22222320T-G T G
+22 22224598 22:22224598A-G A G
+22 22227448 22:22227448T-C T C
+22 22233923 22:22233923G-A G A
+22 22234661 22:22234661T-C T C
+22 22235510 22:22235510G-A G A
+22 22235689 22:22235689T-C T C
+22 22236754 22:22236754A-G A G
+22 22236804 22:22236804G-T G T
+22 22236845 22:22236845T-C T C
+22 22237202 22:22237202A-G A G
+22 22239353 22:22239353C-T C T
+22 22240214 22:22240214T-C T C
+22 22240895 22:22240895G-T G T
+22 22241940 22:22241940A-G A G
+22 22243785 22:22243785G-C G C
+22 22244897 22:22244897A-G A G
+22 22246629 22:22246629C-T C T
+22 22246753 22:22246753C-T C T
+22 22246782 22:22246782A-C A C
+22 22248308 22:22248308C-T C T
+22 22248515 22:22248515C-T C T
+22 22250166 22:22250166C-T C T
+22 22252386 22:22252386T-C T C
+22 22252464 22:22252464G-A G A
+22 22254045 22:22254045C-G C G
+22 22254137 22:22254137G-A G A
+22 22256098 22:22256098A-G A G
+22 22256523 22:22256523C-T C T
+22 22256524 22:22256524A-G A G
+22 22256773 22:22256773C-G C G
+22 22258434 22:22258434C-T C T
+22 22260441 22:22260441C-T C T
+22 22260576 22:22260576G-A G A
+22 22261447 22:22261447T-C T C
+22 22262057 22:22262057A-G A G
+22 22262093 22:22262093C-A C A
+22 22262369 22:22262369A-G A G
+22 22263473 22:22263473G-A G A
+22 22264027 22:22264027G-A G A
+22 22264103 22:22264103A-C A C
+22 22264137 22:22264137C-T C T
+22 22264844 22:22264844T-G T G
+22 22265340 22:22265340T-A T A
+22 22265554 22:22265554T-A T A
+22 22265792 22:22265792C-T C T
+22 22265835 22:22265835G-C G C
+22 22266065 22:22266065A-G A G
+22 22266436 22:22266436A-G A G
+22 22266577 22:22266577G-A G A
+22 22266808 22:22266808G-A G A
+22 22266995 22:22266995G-C G C
+22 22267184 22:22267184A-C A C
+22 22267303 22:22267303T-A T A
+22 22267534 22:22267534G-A G A
+22 22267610 22:22267610C-T C T
+22 22268244 22:22268244A-G A G
+22 22268257 22:22268257C-T C T
+22 22268287 22:22268287G-A G A
+22 22268759 22:22268759A-G A G
+22 22268772 22:22268772G-A G A
+22 22268918 22:22268918A-G A G
+22 22272737 22:22272737A-G A G
+22 22273058 22:22273058G-A G A
+22 22273235 22:22273235G-A G A
+22 22273242 22:22273242T-C T C
+22 22273249 22:22273249G-A G A
+22 22273260 22:22273260G-T G T
+22 22273534 22:22273534T-C T C
+22 22274021 22:22274021C-T C T
+22 22274943 22:22274943C-T C T
+22 22275524 22:22275524C-T C T
+22 22278029 22:22278029C-T C T
+22 22278727 22:22278727A-G A G
+22 22278764 22:22278764C-T C T
+22 22280767 22:22280767A-G A G
+22 22280917 22:22280917C-G C G
+22 22281182 22:22281182C-T C T
+22 22281243 22:22281243C-T C T
+22 22281638 22:22281638T-C T C
+22 22281902 22:22281902G-A G A
+22 22282263 22:22282263C-T C T
+22 22282776 22:22282776A-G A G
+22 22283280 22:22283280A-G A G
+22 22284117 22:22284117G-A G A
+22 22284357 22:22284357C-T C T
+22 22284513 22:22284513G-A G A
+22 22285987 22:22285987T-C T C
+22 22286791 22:22286791A-G A G
+22 22287414 22:22287414T-C T C
+22 22287862 22:22287862G-A G A
+22 22287964 22:22287964T-C T C
+22 22288011 22:22288011G-A G A
+22 22288309 22:22288309T-C T C
+22 22288560 22:22288560G-A G A
+22 22289031 22:22289031C-T C T
+22 22289397 22:22289397G-A G A
+22 22290403 22:22290403T-C T C
+22 22290670 22:22290670C-A C A
+22 22290936 22:22290936C-T C T
+22 22291020 22:22291020G-A G A
+22 22291472 22:22291472T-C T C
+22 22291925 22:22291925G-A G A
+22 22292099 22:22292099C-T C T
+22 22292217 22:22292217C-T C T
+22 22292995 22:22292995C-A C A
+22 22296119 22:22296119C-T C T
+22 22296459 22:22296459A-G A G
+22 22297961 22:22297961C-T C T
+22 22298347 22:22298347T-G T G
+22 22298583 22:22298583G-A G A
+22 22298664 22:22298664A-G A G
+22 22298752 22:22298752T-C T C
+22 22299622 22:22299622G-C G C
+22 22299764 22:22299764T-C T C
+22 22300048 22:22300048G-A G A
+22 22300678 22:22300678A-G A G
+22 22300941 22:22300941T-C T C
+22 22301254 22:22301254G-C G C
+22 22301455 22:22301455G-A G A
+22 22301673 22:22301673C-G C G
+22 22303521 22:22303521G-C G C
+22 22304943 22:22304943G-A G A
+22 22305008 22:22305008T-C T C
+22 22305021 22:22305021G-A G A
+22 22305216 22:22305216C-A C A
+22 22305629 22:22305629A-G A G
+22 22305713 22:22305713A-G A G
+22 22307381 22:22307381C-T C T
+22 22307519 22:22307519G-C G C
+22 22308780 22:22308780C-A C A
+22 22312568 22:22312568C-T C T
+22 22312668 22:22312668C-G C G
+22 22312790 22:22312790C-G C G
+22 22313128 22:22313128C-T C T
+22 22313669 22:22313669G-A G A
+22 22313733 22:22313733G-A G A
+22 22313829 22:22313829A-C A C
+22 22314463 22:22314463T-C T C
+22 22315312 22:22315312C-T C T
+22 22315604 22:22315604G-A G A
+22 22316160 22:22316160C-T C T
+22 22316272 22:22316272G-A G A
+22 22316448 22:22316448C-T C T
+22 22316478 22:22316478C-T C T
+22 22316540 22:22316540G-A G A
+22 22316631 22:22316631G-A G A
+22 22317337 22:22317337C-T C T
+22 22318031 22:22318031C-T C T
+22 22318538 22:22318538C-T C T
+22 22318671 22:22318671G-A G A
+22 22319388 22:22319388G-A G A
+22 22320904 22:22320904G-A G A
+22 22321304 22:22321304C-T C T
+22 22322138 22:22322138G-A G A
+22 22322192 22:22322192C-A C A
+22 22322274 22:22322274A-G A G
+22 22324067 22:22324067G-C G C
+22 22324388 22:22324388T-C T C
+22 22325624 22:22325624G-A G A
+22 22326611 22:22326611T-G T G
+22 22326668 22:22326668T-C T C
+22 22327788 22:22327788G-A G A
+22 22328316 22:22328316T-C T C
+22 22328349 22:22328349T-C T C
+22 22329101 22:22329101C-T C T
+22 22329747 22:22329747G-T G T
+22 22329748 22:22329748C-A C A
+22 22329851 22:22329851G-C G C
+22 22330082 22:22330082T-C T C
+22 22330107 22:22330107T-G T G
+22 22331405 22:22331405A-G A G
+22 22331746 22:22331746C-G C G
+22 22331819 22:22331819C-T C T
+22 22332041 22:22332041T-C T C
+22 22332583 22:22332583A-G A G
+22 22333062 22:22333062G-C G C
+22 22333218 22:22333218C-T C T
+22 22333637 22:22333637T-C T C
+22 22334080 22:22334080A-G A G
+22 22334527 22:22334527C-A C A
+22 22334530 22:22334530G-A G A
+22 22334795 22:22334795C-T C T
+22 22334962 22:22334962C-T C T
+22 22335040 22:22335040G-C G C
+22 22335125 22:22335125T-C T C
+22 22336512 22:22336512G-A G A
+22 22336708 22:22336708C-T C T
+22 22338099 22:22338099G-A G A
+22 22338403 22:22338403G-A G A
+22 22338598 22:22338598G-A G A
+22 22339199 22:22339199C-T C T
+22 22339219 22:22339219C-T C T
+22 22339901 22:22339901C-T C T
+22 22340371 22:22340371C-T C T
+22 22341143 22:22341143G-C G C
+22 22341385 22:22341385A-G A G
+22 22341429 22:22341429C-T C T
+22 22341443 22:22341443G-T G T
+22 22341871 22:22341871C-T C T
+22 22342195 22:22342195G-A G A
+22 22342464 22:22342464T-G T G
+22 22342656 22:22342656A-G A G
+22 22349088 22:22349088T-C T C
+22 22349201 22:22349201G-A G A
+22 22351283 22:22351283A-G A G
+22 22352038 22:22352038C-T C T
+22 22354548 22:22354548C-T C T
+22 22354670 22:22354670T-C T C
+22 22355368 22:22355368C-T C T
+22 22355496 22:22355496A-G A G
+22 22355640 22:22355640G-C G C
+22 22357271 22:22357271T-C T C
+22 22357325 22:22357325C-A C A
+22 22360650 22:22360650G-T G T
+22 22362089 22:22362089T-C T C
+22 22362483 22:22362483G-A G A
+22 22366669 22:22366669G-C G C
+22 22367039 22:22367039G-A G A
+22 22367697 22:22367697G-A G A
+22 22368645 22:22368645T-C T C
+22 22368797 22:22368797G-A G A
+22 22369950 22:22369950A-G A G
+22 22370290 22:22370290A-G A G
+22 22371062 22:22371062G-T G T
+22 22371638 22:22371638G-A G A
+22 22371734 22:22371734A-G A G
+22 22372221 22:22372221T-C T C
+22 22372284 22:22372284T-C T C
+22 22372290 22:22372290C-T C T
+22 22372426 22:22372426G-C G C
+22 22373391 22:22373391T-G T G
+22 22373396 22:22373396G-A G A
+22 22373577 22:22373577G-A G A
+22 22374444 22:22374444G-A G A
+22 22374738 22:22374738G-A G A
+22 22375001 22:22375001C-A C A
+22 22376432 22:22376432A-T A T
+22 22377009 22:22377009G-T G T
+22 22378985 22:22378985T-A T A
+22 22379067 22:22379067C-T C T
+22 22379780 22:22379780C-T C T
+22 22381327 22:22381327T-C T C
+22 22382787 22:22382787T-C T C
+22 22386434 22:22386434A-T A T
+22 22386471 22:22386471G-C G C
+22 22386617 22:22386617C-T C T
+22 22386829 22:22386829T-G T G
+22 22387239 22:22387239T-A T A
+22 22387300 22:22387300C-G C G
+22 22387404 22:22387404G-A G A
+22 22388006 22:22388006C-G C G
+22 22388020 22:22388020A-G A G
+22 22388086 22:22388086G-C G C
+22 22388332 22:22388332A-G A G
+22 22389011 22:22389011G-A G A
+22 22391239 22:22391239T-C T C
+22 22391642 22:22391642C-T C T
+22 22392107 22:22392107C-G C G
+22 22392473 22:22392473T-G T G
+22 22392885 22:22392885T-C T C
+22 22394144 22:22394144T-C T C
+22 22394227 22:22394227T-C T C
+22 22395035 22:22395035C-T C T
+22 22395754 22:22395754C-T C T
+22 22397024 22:22397024C-T C T
+22 22397055 22:22397055G-A G A
+22 22397907 22:22397907T-C T C
+22 22398127 22:22398127C-T C T
+22 22398726 22:22398726G-C G C
+22 22398958 22:22398958C-T C T
+22 22399414 22:22399414G-C G C
+22 22399916 22:22399916C-T C T
+22 22400542 22:22400542G-C G C
+22 22400564 22:22400564C-G C G
+22 22400661 22:22400661T-A T A
+22 22400882 22:22400882T-C T C
+22 22400890 22:22400890A-G A G
+22 22401006 22:22401006A-G A G
+22 22401536 22:22401536G-A G A
+22 22401979 22:22401979T-A T A
+22 22402103 22:22402103G-T G T
+22 22402940 22:22402940C-T C T
+22 22404083 22:22404083G-A G A
+22 22404386 22:22404386C-A C A
+22 22404554 22:22404554A-G A G
+22 22405185 22:22405185T-G T G
+22 22405825 22:22405825T-C T C
+22 22406560 22:22406560T-C T C
+22 22406659 22:22406659T-C T C
+22 22406683 22:22406683T-A T A
+22 22407308 22:22407308G-A G A
+22 22408005 22:22408005T-C T C
+22 22408413 22:22408413C-A C A
+22 22408464 22:22408464G-T G T
+22 22409255 22:22409255T-C T C
+22 22409736 22:22409736C-T C T
+22 22409769 22:22409769G-A G A
+22 22409894 22:22409894C-T C T
+22 22410325 22:22410325G-T G T
+22 22411449 22:22411449A-G A G
+22 22411770 22:22411770T-C T C
+22 22411849 22:22411849T-C T C
+22 22412488 22:22412488C-G C G
+22 22412556 22:22412556C-T C T
+22 22412602 22:22412602G-C G C
+22 22412701 22:22412701C-T C T
+22 22412707 22:22412707T-C T C
+22 22413165 22:22413165G-A G A
+22 22413793 22:22413793C-T C T
+22 22414001 22:22414001G-C G C
+22 22414120 22:22414120G-A G A
+22 22414454 22:22414454T-C T C
+22 22414831 22:22414831A-G A G
+22 22414988 22:22414988A-G A G
+22 22415098 22:22415098C-A C A
+22 22415218 22:22415218G-C G C
+22 22415450 22:22415450C-T C T
+22 22415546 22:22415546G-A G A
+22 22415756 22:22415756C-T C T
+22 22415811 22:22415811G-C G C
+22 22416006 22:22416006G-A G A
+22 22416176 22:22416176C-A C A
+22 22416243 22:22416243T-C T C
+22 22416297 22:22416297A-G A G
+22 22416724 22:22416724G-T G T
+22 22417168 22:22417168C-T C T
+22 22418214 22:22418214G-C G C
+22 22418252 22:22418252G-A G A
+22 22418434 22:22418434C-T C T
+22 22418726 22:22418726T-C T C
+22 22418933 22:22418933G-C G C
+22 22419102 22:22419102C-T C T
+22 22419105 22:22419105C-T C T
+22 22419934 22:22419934T-C T C
+22 22420787 22:22420787A-G A G
+22 22420800 22:22420800C-T C T
+22 22421040 22:22421040T-A T A
+22 22421249 22:22421249G-A G A
+22 22421933 22:22421933C-T C T
+22 22422053 22:22422053C-T C T
+22 22422060 22:22422060T-C T C
+22 22422331 22:22422331C-G C G
+22 22422622 22:22422622C-T C T
+22 22422749 22:22422749G-C G C
+22 22423139 22:22423139T-C T C
+22 22424184 22:22424184G-A G A
+22 22424302 22:22424302C-A C A
+22 22424444 22:22424444G-A G A
+22 22424857 22:22424857G-A G A
+22 22425106 22:22425106T-G T G
+22 22425493 22:22425493G-T G T
+22 22426146 22:22426146G-A G A
+22 22426303 22:22426303A-T A T
+22 22426901 22:22426901G-T G T
+22 22426967 22:22426967A-T A T
+22 22427023 22:22427023A-G A G
+22 22427270 22:22427270G-T G T
+22 22427420 22:22427420C-T C T
+22 22427560 22:22427560C-G C G
+22 22428083 22:22428083T-G T G
+22 22428237 22:22428237C-T C T
+22 22428873 22:22428873A-G A G
+22 22428972 22:22428972C-T C T
+22 22429565 22:22429565T-C T C
+22 22430042 22:22430042G-A G A
+22 22430229 22:22430229A-C A C
+22 22430276 22:22430276T-C T C
+22 22430352 22:22430352T-A T A
+22 22430603 22:22430603A-G A G
+22 22430695 22:22430695T-A T A
+22 22430811 22:22430811G-A G A
+22 22430952 22:22430952A-G A G
+22 22431045 22:22431045A-G A G
+22 22431655 22:22431655C-T C T
+22 22431830 22:22431830A-G A G
+22 22432155 22:22432155T-A T A
+22 22433108 22:22433108G-A G A
+22 22433178 22:22433178G-C G C
+22 22433332 22:22433332T-G T G
+22 22433336 22:22433336G-A G A
+22 22433366 22:22433366C-A C A
+22 22433481 22:22433481A-C A C
+22 22433601 22:22433601T-C T C
+22 22433637 22:22433637A-G A G
+22 22433851 22:22433851A-G A G
+22 22434037 22:22434037G-A G A
+22 22434448 22:22434448A-G A G
+22 22434566 22:22434566C-T C T
+22 22434835 22:22434835C-T C T
+22 22434932 22:22434932G-T G T
+22 22434937 22:22434937G-T G T
+22 22435005 22:22435005T-C T C
+22 22435011 22:22435011T-C T C
+22 22435465 22:22435465A-G A G
+22 22435843 22:22435843A-G A G
+22 22435919 22:22435919T-C T C
+22 22436162 22:22436162A-G A G
+22 22436180 22:22436180A-G A G
+22 22436188 22:22436188T-A T A
+22 22436253 22:22436253C-T C T
+22 22436273 22:22436273G-A G A
+22 22436754 22:22436754G-A G A
+22 22436759 22:22436759A-G A G
+22 22436865 22:22436865T-C T C
+22 22437126 22:22437126T-C T C
+22 22437341 22:22437341A-C A C
+22 22437655 22:22437655C-T C T
+22 22437729 22:22437729C-T C T
+22 22438050 22:22438050G-T G T
+22 22438959 22:22438959T-C T C
+22 22439105 22:22439105A-C A C
+22 22439298 22:22439298A-G A G
+22 22440066 22:22440066G-C G C
+22 22440266 22:22440266C-T C T
+22 22440788 22:22440788T-C T C
+22 22444576 22:22444576C-A C A
+22 22444683 22:22444683T-C T C
+22 22445113 22:22445113A-T A T
+22 22446002 22:22446002A-G A G
+22 22446575 22:22446575G-A G A
+22 22447739 22:22447739G-C G C
+22 22451222 22:22451222C-T C T
+22 22454580 22:22454580C-T C T
+22 22455321 22:22455321C-T C T
+22 22456292 22:22456292C-T C T
+22 22456583 22:22456583A-T A T
+22 22456632 22:22456632A-G A G
+22 22456704 22:22456704G-A G A
+22 22456782 22:22456782A-G A G
+22 22457288 22:22457288T-A T A
+22 22458151 22:22458151G-A G A
+22 22458549 22:22458549T-C T C
+22 22458654 22:22458654G-A G A
+22 22459398 22:22459398C-A C A
+22 22459430 22:22459430T-C T C
+22 22459480 22:22459480T-G T G
+22 22459768 22:22459768T-C T C
+22 22460291 22:22460291C-T C T
+22 22460358 22:22460358T-C T C
+22 22460681 22:22460681C-T C T
+22 22460682 22:22460682A-G A G
+22 22462358 22:22462358G-A G A
+22 22462460 22:22462460A-C A C
+22 22463040 22:22463040A-G A G
+22 22463544 22:22463544G-A G A
+22 22463593 22:22463593T-G T G
+22 22463796 22:22463796G-A G A
+22 22465050 22:22465050T-A T A
+22 22465544 22:22465544T-C T C
+22 22466253 22:22466253T-C T C
+22 22466409 22:22466409T-C T C
+22 22466599 22:22466599C-A C A
+22 22467187 22:22467187T-C T C
+22 22467376 22:22467376C-T C T
+22 22467906 22:22467906T-C T C
+22 22468094 22:22468094T-C T C
+22 22468099 22:22468099C-T C T
+22 22468171 22:22468171A-C A C
+22 22468406 22:22468406T-C T C
+22 22468556 22:22468556G-A G A
+22 22468619 22:22468619C-G C G
+22 22468825 22:22468825T-C T C
+22 22468928 22:22468928C-T C T
+22 22468929 22:22468929A-G A G
+22 22468984 22:22468984C-T C T
+22 22469040 22:22469040A-T A T
+22 22469816 22:22469816G-A G A
+22 22471635 22:22471635G-A G A
+22 22473054 22:22473054C-T C T
+22 22473093 22:22473093G-T G T
+22 22473407 22:22473407A-G A G
+22 22473641 22:22473641G-C G C
+22 22473905 22:22473905A-C A C
+22 22474266 22:22474266G-A G A
+22 22474910 22:22474910C-T C T
+22 22476604 22:22476604C-T C T
+22 22476809 22:22476809C-G C G
+22 22476997 22:22476997C-T C T
+22 22477391 22:22477391T-C T C
+22 22477499 22:22477499C-T C T
+22 22477527 22:22477527T-C T C
+22 22477688 22:22477688C-A C A
+22 22477902 22:22477902G-T G T
+22 22478412 22:22478412C-T C T
+22 22478416 22:22478416A-G A G
+22 22478482 22:22478482G-C G C
+22 22478559 22:22478559G-A G A
+22 22478753 22:22478753G-A G A
+22 22478777 22:22478777A-G A G
+22 22478955 22:22478955A-G A G
+22 22479789 22:22479789C-A C A
+22 22479883 22:22479883C-T C T
+22 22479961 22:22479961T-C T C
+22 22480694 22:22480694C-T C T
+22 22480735 22:22480735A-G A G
+22 22481208 22:22481208A-G A G
+22 22481326 22:22481326G-C G C
+22 22481444 22:22481444A-G A G
+22 22481498 22:22481498G-A G A
+22 22481592 22:22481592C-T C T
+22 22481700 22:22481700C-T C T
+22 22482453 22:22482453G-A G A
+22 22482470 22:22482470A-T A T
+22 22482637 22:22482637A-C A C
+22 22482774 22:22482774C-T C T
+22 22482914 22:22482914C-T C T
+22 22483153 22:22483153G-A G A
+22 22483260 22:22483260A-T A T
+22 22483372 22:22483372A-G A G
+22 22483457 22:22483457A-G A G
+22 22483467 22:22483467A-G A G
+22 22483568 22:22483568A-T A T
+22 22483724 22:22483724G-A G A
+22 22483912 22:22483912A-G A G
+22 22484010 22:22484010A-G A G
+22 22484348 22:22484348C-A C A
+22 22484397 22:22484397A-G A G
+22 22484547 22:22484547A-G A G
+22 22484599 22:22484599G-T G T
+22 22485124 22:22485124T-C T C
+22 22485130 22:22485130C-T C T
+22 22485204 22:22485204A-T A T
+22 22485231 22:22485231C-G C G
+22 22485301 22:22485301C-T C T
+22 22485341 22:22485341A-G A G
+22 22485440 22:22485440A-G A G
+22 22485462 22:22485462G-A G A
+22 22485674 22:22485674T-C T C
+22 22485680 22:22485680G-A G A
+22 22485776 22:22485776T-C T C
+22 22485827 22:22485827A-G A G
+22 22485929 22:22485929T-G T G
+22 22486240 22:22486240G-A G A
+22 22486735 22:22486735A-G A G
+22 22486790 22:22486790C-T C T
+22 22486808 22:22486808G-C G C
+22 22486827 22:22486827T-C T C
+22 22486934 22:22486934T-C T C
+22 22486946 22:22486946A-G A G
+22 22487029 22:22487029T-C T C
+22 22487256 22:22487256G-A G A
+22 22487345 22:22487345C-T C T
+22 22487392 22:22487392G-A G A
+22 22487417 22:22487417T-C T C
+22 22488022 22:22488022C-T C T
+22 22488043 22:22488043T-A T A
+22 22488158 22:22488158C-G C G
+22 22488266 22:22488266T-C T C
+22 22488302 22:22488302C-T C T
+22 22488382 22:22488382G-A G A
+22 22488624 22:22488624T-C T C
+22 22488714 22:22488714G-A G A
+22 22488758 22:22488758T-C T C
+22 22488977 22:22488977T-C T C
+22 22488980 22:22488980G-T G T
+22 22489168 22:22489168G-A G A
+22 22489314 22:22489314T-G T G
+22 22489560 22:22489560T-C T C
+22 22489564 22:22489564C-A C A
+22 22489623 22:22489623T-C T C
+22 22489729 22:22489729A-G A G
+22 22489908 22:22489908C-T C T
+22 22489937 22:22489937T-A T A
+22 22490005 22:22490005T-C T C
+22 22490208 22:22490208T-C T C
+22 22490340 22:22490340G-A G A
+22 22490443 22:22490443C-G C G
+22 22490679 22:22490679A-G A G
+22 22490837 22:22490837T-C T C
+22 22490974 22:22490974G-C G C
+22 22491660 22:22491660G-C G C
+22 22491808 22:22491808A-G A G
+22 22491949 22:22491949T-C T C
+22 22492076 22:22492076A-T A T
+22 22492083 22:22492083C-T C T
+22 22492092 22:22492092C-T C T
+22 22492245 22:22492245C-G C G
+22 22492390 22:22492390T-A T A
+22 22492457 22:22492457C-T C T
+22 22492604 22:22492604G-A G A
+22 22492736 22:22492736A-G A G
+22 22492771 22:22492771G-T G T
+22 22493026 22:22493026C-T C T
+22 22493238 22:22493238A-T A T
+22 22493455 22:22493455T-C T C
+22 22493545 22:22493545A-C A C
+22 22494048 22:22494048T-C T C
+22 22494113 22:22494113A-C A C
+22 22494542 22:22494542C-T C T
+22 22494627 22:22494627T-C T C
+22 22494783 22:22494783A-G A G
+22 22494864 22:22494864C-T C T
+22 22494931 22:22494931G-T G T
+22 22494959 22:22494959A-G A G
+22 22494990 22:22494990C-T C T
+22 22495134 22:22495134A-G A G
+22 22495481 22:22495481G-A G A
+22 22495614 22:22495614A-G A G
+22 22495776 22:22495776A-T A T
+22 22495850 22:22495850T-C T C
+22 22496146 22:22496146A-G A G
+22 22496269 22:22496269G-T G T
+22 22496307 22:22496307T-C T C
+22 22496315 22:22496315T-C T C
+22 22496485 22:22496485G-C G C
+22 22496626 22:22496626C-T C T
+22 22496884 22:22496884C-G C G
+22 22497097 22:22497097C-G C G
+22 22497398 22:22497398C-T C T
+22 22497493 22:22497493A-G A G
+22 22497503 22:22497503T-G T G
+22 22497624 22:22497624A-G A G
+22 22497661 22:22497661A-G A G
+22 22497906 22:22497906G-A G A
+22 22497942 22:22497942C-T C T
+22 22498011 22:22498011C-T C T
+22 22498040 22:22498040C-T C T
+22 22498181 22:22498181T-C T C
+22 22498348 22:22498348C-G C G
+22 22498374 22:22498374T-C T C
+22 22498656 22:22498656C-T C T
+22 22498673 22:22498673A-G A G
+22 22498783 22:22498783T-C T C
+22 22498789 22:22498789G-A G A
+22 22498799 22:22498799G-A G A
+22 22498803 22:22498803A-T A T
+22 22498941 22:22498941A-G A G
+22 22499083 22:22499083C-T C T
+22 22499136 22:22499136A-G A G
+22 22499309 22:22499309A-G A G
+22 22499330 22:22499330C-T C T
+22 22499394 22:22499394A-G A G
+22 22500101 22:22500101C-T C T
+22 22500272 22:22500272G-A G A
+22 22500665 22:22500665G-A G A
+22 22500696 22:22500696G-A G A
+22 22501495 22:22501495C-G C G
+22 22501833 22:22501833C-A C A
+22 22502179 22:22502179A-G A G
+22 22503633 22:22503633A-G A G
+22 22503898 22:22503898A-G A G
+22 22504281 22:22504281G-T G T
+22 22504493 22:22504493C-T C T
+22 22504635 22:22504635G-C G C
+22 22504816 22:22504816C-T C T
+22 22504946 22:22504946T-C T C
+22 22505130 22:22505130A-G A G
+22 22505157 22:22505157G-A G A
+22 22505322 22:22505322C-T C T
+22 22505429 22:22505429G-A G A
+22 22505539 22:22505539G-T G T
+22 22505574 22:22505574A-T A T
+22 22505588 22:22505588T-C T C
+22 22505616 22:22505616G-A G A
+22 22505631 22:22505631T-C T C
+22 22506071 22:22506071G-A G A
+22 22506340 22:22506340C-T C T
+22 22506370 22:22506370A-T A T
+22 22506428 22:22506428C-T C T
+22 22506569 22:22506569A-C A C
+22 22507057 22:22507057C-G C G
+22 22507652 22:22507652C-T C T
+22 22508350 22:22508350C-T C T
+22 22508432 22:22508432G-T G T
+22 22508715 22:22508715A-G A G
+22 22509108 22:22509108C-G C G
+22 22509601 22:22509601G-A G A
+22 22511047 22:22511047G-A G A
+22 22511370 22:22511370T-C T C
+22 22511467 22:22511467C-T C T
+22 22511496 22:22511496G-C G C
+22 22511568 22:22511568G-C G C
+22 22511588 22:22511588C-T C T
+22 22511719 22:22511719T-G T G
+22 22512081 22:22512081G-A G A
+22 22512324 22:22512324C-A C A
+22 22512415 22:22512415G-A G A
+22 22512579 22:22512579T-G T G
+22 22512799 22:22512799T-C T C
+22 22512923 22:22512923T-A T A
+22 22513063 22:22513063G-A G A
+22 22513115 22:22513115A-G A G
+22 22513136 22:22513136G-T G T
+22 22513231 22:22513231C-T C T
+22 22513398 22:22513398G-A G A
+22 22513579 22:22513579T-C T C
+22 22513721 22:22513721G-C G C
+22 22514133 22:22514133C-G C G
+22 22514162 22:22514162T-C T C
+22 22514245 22:22514245T-C T C
+22 22514424 22:22514424G-A G A
+22 22516998 22:22516998C-T C T
+22 22517026 22:22517026T-C T C
+22 22517136 22:22517136C-G C G
+22 22517162 22:22517162T-A T A
+22 22517205 22:22517205A-G A G
+22 22517479 22:22517479C-A C A
+22 22518088 22:22518088A-G A G
+22 22518338 22:22518338C-T C T
+22 22518767 22:22518767C-T C T
+22 22519747 22:22519747G-T G T
+22 22519771 22:22519771T-C T C
+22 22520067 22:22520067G-A G A
+22 22520302 22:22520302G-A G A
+22 22520450 22:22520450G-A G A
+22 22520548 22:22520548T-C T C
+22 22520725 22:22520725C-T C T
+22 22520752 22:22520752A-G A G
+22 22521058 22:22521058C-G C G
+22 22521158 22:22521158G-T G T
+22 22521496 22:22521496T-C T C
+22 22521498 22:22521498G-A G A
+22 22521525 22:22521525G-T G T
+22 22521592 22:22521592C-G C G
+22 22522265 22:22522265C-T C T
+22 22522272 22:22522272G-A G A
+22 22522589 22:22522589A-C A C
+22 22522863 22:22522863G-A G A
+22 22522882 22:22522882G-A G A
+22 22522984 22:22522984T-C T C
+22 22523063 22:22523063G-C G C
+22 22523073 22:22523073T-C T C
+22 22523091 22:22523091G-T G T
+22 22523198 22:22523198A-G A G
+22 22523271 22:22523271G-A G A
+22 22523351 22:22523351G-C G C
+22 22523664 22:22523664T-C T C
+22 22523687 22:22523687A-G A G
+22 22524651 22:22524651C-T C T
+22 22524871 22:22524871A-G A G
+22 22525199 22:22525199A-C A C
+22 22525600 22:22525600G-T G T
+22 22526059 22:22526059A-C A C
+22 22526062 22:22526062G-A G A
+22 22526644 22:22526644A-G A G
+22 22527202 22:22527202A-G A G
+22 22527921 22:22527921A-G A G
+22 22528562 22:22528562C-T C T
+22 22529723 22:22529723C-T C T
+22 22529724 22:22529724G-A G A
+22 22530000 22:22530000A-G A G
+22 22530163 22:22530163A-G A G
+22 22531023 22:22531023C-T C T
+22 22531060 22:22531060C-T C T
+22 22531074 22:22531074T-C T C
+22 22531525 22:22531525T-C T C
+22 22531572 22:22531572T-C T C
+22 22531828 22:22531828A-G A G
+22 22532201 22:22532201C-T C T
+22 22532639 22:22532639A-C A C
+22 22532653 22:22532653C-T C T
+22 22532765 22:22532765T-C T C
+22 22533227 22:22533227C-T C T
+22 22533328 22:22533328C-T C T
+22 22533348 22:22533348C-A C A
+22 22533421 22:22533421G-T G T
+22 22533579 22:22533579T-C T C
+22 22533623 22:22533623C-G C G
+22 22534038 22:22534038C-T C T
+22 22534324 22:22534324C-A C A
+22 22534526 22:22534526C-T C T
+22 22534548 22:22534548C-T C T
+22 22534686 22:22534686C-A C A
+22 22534865 22:22534865A-T A T
+22 22534867 22:22534867A-G A G
+22 22534988 22:22534988T-A T A
+22 22535137 22:22535137A-G A G
+22 22535144 22:22535144A-G A G
+22 22535368 22:22535368C-A C A
+22 22535895 22:22535895C-T C T
+22 22536288 22:22536288C-A C A
+22 22536498 22:22536498A-G A G
+22 22536610 22:22536610C-T C T
+22 22536672 22:22536672G-A G A
+22 22536710 22:22536710C-G C G
+22 22536846 22:22536846G-T G T
+22 22536940 22:22536940T-C T C
+22 22536956 22:22536956C-T C T
+22 22537013 22:22537013T-C T C
+22 22537235 22:22537235G-T G T
+22 22537341 22:22537341A-G A G
+22 22537581 22:22537581C-T C T
+22 22537649 22:22537649C-T C T
+22 22537891 22:22537891T-G T G
+22 22538145 22:22538145T-C T C
+22 22538194 22:22538194A-G A G
+22 22538224 22:22538224A-G A G
+22 22538738 22:22538738A-G A G
+22 22538827 22:22538827G-T G T
+22 22538916 22:22538916G-C G C
+22 22539076 22:22539076T-C T C
+22 22539428 22:22539428C-A C A
+22 22539566 22:22539566C-G C G
+22 22539640 22:22539640G-A G A
+22 22539704 22:22539704A-G A G
+22 22539749 22:22539749T-G T G
+22 22540034 22:22540034A-G A G
+22 22540272 22:22540272T-C T C
+22 22540305 22:22540305T-C T C
+22 22540319 22:22540319G-A G A
+22 22540432 22:22540432C-T C T
+22 22541057 22:22541057C-T C T
+22 22541278 22:22541278C-T C T
+22 22541402 22:22541402G-C G C
+22 22541489 22:22541489C-A C A
+22 22541905 22:22541905C-T C T
+22 22542083 22:22542083A-G A G
+22 22542305 22:22542305T-C T C
+22 22542624 22:22542624A-G A G
+22 22542677 22:22542677C-T C T
+22 22542756 22:22542756G-T G T
+22 22543153 22:22543153G-T G T
+22 22543404 22:22543404A-G A G
+22 22543526 22:22543526T-C T C
+22 22543545 22:22543545A-C A C
+22 22543592 22:22543592T-C T C
+22 22544020 22:22544020G-A G A
+22 22544995 22:22544995A-T A T
+22 22545516 22:22545516T-C T C
+22 22545539 22:22545539C-A C A
+22 22546951 22:22546951A-T A T
+22 22548140 22:22548140A-T A T
+22 22548222 22:22548222G-C G C
+22 22548492 22:22548492T-C T C
+22 22548522 22:22548522G-A G A
+22 22548831 22:22548831A-G A G
+22 22549168 22:22549168C-A C A
+22 22549634 22:22549634C-T C T
+22 22549696 22:22549696G-C G C
+22 22549798 22:22549798G-A G A
+22 22549900 22:22549900G-A G A
+22 22549940 22:22549940A-G A G
+22 22550078 22:22550078T-C T C
+22 22550339 22:22550339G-C G C
+22 22550401 22:22550401C-G C G
+22 22550450 22:22550450C-G C G
+22 22550510 22:22550510T-G T G
+22 22550760 22:22550760A-G A G
+22 22550884 22:22550884T-C T C
+22 22550962 22:22550962G-C G C
+22 22550982 22:22550982T-A T A
+22 22551129 22:22551129T-A T A
+22 22551153 22:22551153G-C G C
+22 22551782 22:22551782G-A G A
+22 22551837 22:22551837A-G A G
+22 22551986 22:22551986A-G A G
+22 22552114 22:22552114C-T C T
+22 22552515 22:22552515C-A C A
+22 22552524 22:22552524A-G A G
+22 22552844 22:22552844T-A T A
+22 22552919 22:22552919G-T G T
+22 22553664 22:22553664C-T C T
+22 22553845 22:22553845A-G A G
+22 22554006 22:22554006A-G A G
+22 22554188 22:22554188C-T C T
+22 22554233 22:22554233C-T C T
+22 22554249 22:22554249C-T C T
+22 22554306 22:22554306T-C T C
+22 22554716 22:22554716G-A G A
+22 22554745 22:22554745A-C A C
+22 22554754 22:22554754C-T C T
+22 22554869 22:22554869A-G A G
+22 22554949 22:22554949C-T C T
+22 22554950 22:22554950A-G A G
+22 22554985 22:22554985T-C T C
+22 22555078 22:22555078A-C A C
+22 22555383 22:22555383C-T C T
+22 22555437 22:22555437G-A G A
+22 22555462 22:22555462C-T C T
+22 22555490 22:22555490G-T G T
+22 22555561 22:22555561T-C T C
+22 22555636 22:22555636G-A G A
+22 22555677 22:22555677A-G A G
+22 22555688 22:22555688C-A C A
+22 22555768 22:22555768T-C T C
+22 22555796 22:22555796C-T C T
+22 22555917 22:22555917C-T C T
+22 22555940 22:22555940G-C G C
+22 22556270 22:22556270T-C T C
+22 22556368 22:22556368C-T C T
+22 22556662 22:22556662A-T A T
+22 22557020 22:22557020C-T C T
+22 22557033 22:22557033C-T C T
+22 22557267 22:22557267G-T G T
+22 22557291 22:22557291A-G A G
+22 22557579 22:22557579A-T A T
+22 22558652 22:22558652T-C T C
+22 22558744 22:22558744C-T C T
+22 22559047 22:22559047C-T C T
+22 22559395 22:22559395A-G A G
+22 22559503 22:22559503T-C T C
+22 22559747 22:22559747T-C T C
+22 22559904 22:22559904C-T C T
+22 22560489 22:22560489A-G A G
+22 22560534 22:22560534G-A G A
+22 22560835 22:22560835G-A G A
+22 22560858 22:22560858A-G A G
+22 22560977 22:22560977C-T C T
+22 22561076 22:22561076G-T G T
+22 22561364 22:22561364A-G A G
+22 22561368 22:22561368G-A G A
+22 22561587 22:22561587C-T C T
+22 22561610 22:22561610T-C T C
+22 22561758 22:22561758C-T C T
+22 22561843 22:22561843T-C T C
+22 22561958 22:22561958C-T C T
+22 22561973 22:22561973T-C T C
+22 22562120 22:22562120C-A C A
+22 22562219 22:22562219A-G A G
+22 22562234 22:22562234C-T C T
+22 22562412 22:22562412C-A C A
+22 22562562 22:22562562G-T G T
+22 22562747 22:22562747G-C G C
+22 22562874 22:22562874T-C T C
+22 22562885 22:22562885A-G A G
+22 22563154 22:22563154C-T C T
+22 22564524 22:22564524T-A T A
+22 22564911 22:22564911G-C G C
+22 22565578 22:22565578C-T C T
+22 22568760 22:22568760G-A G A
+22 22569137 22:22569137A-G A G
+22 22573637 22:22573637A-G A G
+22 22574672 22:22574672G-A G A
+22 22579734 22:22579734C-G C G
+22 22579801 22:22579801T-C T C
+22 22579822 22:22579822C-T C T
+22 22580068 22:22580068C-T C T
+22 22580198 22:22580198T-C T C
+22 22580303 22:22580303C-T C T
+22 22580314 22:22580314G-A G A
+22 22580448 22:22580448A-G A G
+22 22580626 22:22580626G-A G A
+22 22581101 22:22581101A-G A G
+22 22581127 22:22581127C-T C T
+22 22581369 22:22581369A-G A G
+22 22581628 22:22581628T-C T C
+22 22581797 22:22581797G-A G A
+22 22582109 22:22582109A-C A C
+22 22582331 22:22582331C-T C T
+22 22582630 22:22582630T-C T C
+22 22582646 22:22582646T-C T C
+22 22582778 22:22582778G-A G A
+22 22583099 22:22583099A-G A G
+22 22583252 22:22583252C-G C G
+22 22583535 22:22583535T-C T C
+22 22583571 22:22583571G-A G A
+22 22583994 22:22583994G-A G A
+22 22584040 22:22584040G-A G A
+22 22584211 22:22584211T-C T C
+22 22584255 22:22584255C-T C T
+22 22584281 22:22584281A-G A G
+22 22584514 22:22584514G-A G A
+22 22584678 22:22584678G-A G A
+22 22584809 22:22584809T-C T C
+22 22584839 22:22584839T-C T C
+22 22584881 22:22584881T-C T C
+22 22584941 22:22584941T-G T G
+22 22584999 22:22584999C-T C T
+22 22585052 22:22585052C-T C T
+22 22585324 22:22585324T-A T A
+22 22585362 22:22585362C-G C G
+22 22585407 22:22585407A-G A G
+22 22585851 22:22585851T-C T C
+22 22585996 22:22585996C-T C T
+22 22586065 22:22586065A-G A G
+22 22586147 22:22586147C-T C T
+22 22586376 22:22586376A-G A G
+22 22587439 22:22587439C-T C T
+22 22588503 22:22588503C-T C T
+22 22588619 22:22588619G-T G T
+22 22588632 22:22588632T-C T C
+22 22588870 22:22588870G-A G A
+22 22588930 22:22588930A-G A G
+22 22589012 22:22589012G-A G A
+22 22589022 22:22589022C-T C T
+22 22589036 22:22589036G-T G T
+22 22589134 22:22589134C-A C A
+22 22589345 22:22589345A-T A T
+22 22589767 22:22589767A-G A G
+22 22589955 22:22589955T-A T A
+22 22590113 22:22590113C-T C T
+22 22590546 22:22590546C-G C G
+22 22590582 22:22590582C-T C T
+22 22590780 22:22590780T-C T C
+22 22590873 22:22590873T-C T C
+22 22590905 22:22590905T-C T C
+22 22590920 22:22590920A-T A T
+22 22591004 22:22591004A-C A C
+22 22591053 22:22591053G-A G A
+22 22591088 22:22591088G-A G A
+22 22591095 22:22591095T-C T C
+22 22591107 22:22591107A-G A G
+22 22591152 22:22591152T-C T C
+22 22591185 22:22591185C-T C T
+22 22591430 22:22591430C-T C T
+22 22591466 22:22591466G-A G A
+22 22591529 22:22591529C-G C G
+22 22591536 22:22591536C-T C T
+22 22591553 22:22591553C-A C A
+22 22591561 22:22591561T-C T C
+22 22591584 22:22591584G-A G A
+22 22591827 22:22591827G-A G A
+22 22591957 22:22591957C-T C T
+22 22591970 22:22591970C-T C T
+22 22592223 22:22592223A-T A T
+22 22592951 22:22592951T-C T C
+22 22592973 22:22592973T-C T C
+22 22593041 22:22593041G-T G T
+22 22593106 22:22593106C-T C T
+22 22593407 22:22593407A-G A G
+22 22593510 22:22593510T-C T C
+22 22593643 22:22593643A-C A C
+22 22593826 22:22593826C-T C T
+22 22593968 22:22593968C-A C A
+22 22594122 22:22594122T-C T C
+22 22594215 22:22594215T-C T C
+22 22594298 22:22594298A-T A T
+22 22594448 22:22594448T-A T A
+22 22594503 22:22594503A-G A G
+22 22594720 22:22594720T-G T G
+22 22594905 22:22594905C-A C A
+22 22595074 22:22595074G-T G T
+22 22595377 22:22595377C-T C T
+22 22595385 22:22595385A-C A C
+22 22595507 22:22595507T-A T A
+22 22595580 22:22595580C-G C G
+22 22595591 22:22595591C-T C T
+22 22595627 22:22595627G-T G T
+22 22595630 22:22595630T-C T C
+22 22595812 22:22595812C-T C T
+22 22595831 22:22595831C-T C T
+22 22596227 22:22596227A-C A C
+22 22596259 22:22596259C-T C T
+22 22596468 22:22596468C-T C T
+22 22597062 22:22597062C-G C G
+22 22597074 22:22597074A-G A G
+22 22597130 22:22597130G-C G C
+22 22597173 22:22597173T-C T C
+22 22597256 22:22597256C-G C G
+22 22597291 22:22597291C-G C G
+22 22597330 22:22597330A-G A G
+22 22597406 22:22597406G-A G A
+22 22597596 22:22597596T-C T C
+22 22597601 22:22597601A-G A G
+22 22597742 22:22597742A-G A G
+22 22597803 22:22597803A-T A T
+22 22597824 22:22597824T-C T C
+22 22597829 22:22597829G-A G A
+22 22597978 22:22597978C-A C A
+22 22598207 22:22598207C-T C T
+22 22598724 22:22598724G-T G T
+22 22598743 22:22598743T-C T C
+22 22598882 22:22598882A-G A G
+22 22599057 22:22599057A-G A G
+22 22599674 22:22599674C-T C T
+22 22599705 22:22599705G-A G A
+22 22599764 22:22599764A-G A G
+22 22599808 22:22599808C-T C T
+22 22600088 22:22600088A-C A C
+22 22600201 22:22600201G-T G T
+22 22600210 22:22600210T-C T C
+22 22600539 22:22600539G-C G C
+22 22600641 22:22600641G-A G A
+22 22600912 22:22600912G-A G A
+22 22601007 22:22601007G-A G A
+22 22601267 22:22601267A-G A G
+22 22601285 22:22601285C-T C T
+22 22601293 22:22601293C-T C T
+22 22601814 22:22601814G-A G A
+22 22602196 22:22602196G-C G C
+22 22602768 22:22602768G-C G C
+22 22603024 22:22603024A-G A G
+22 22603918 22:22603918T-C T C
+22 22604904 22:22604904A-G A G
+22 22604916 22:22604916C-T C T
+22 22604963 22:22604963T-C T C
+22 22605610 22:22605610A-G A G
+22 22608193 22:22608193C-T C T
+22 22609508 22:22609508A-G A G
+22 22609625 22:22609625C-A C A
+22 22609828 22:22609828G-A G A
+22 22611198 22:22611198G-C G C
+22 22612018 22:22612018C-T C T
+22 22612065 22:22612065C-T C T
+22 22612431 22:22612431G-A G A
+22 22613084 22:22613084T-C T C
+22 22613265 22:22613265G-A G A
+22 22615088 22:22615088A-T A T
+22 22811601 22:22811601C-T C T
+22 22866773 22:22866773T-C T C
+22 22867291 22:22867291C-A C A
+22 22867300 22:22867300A-G A G
+22 22867516 22:22867516C-T C T
+22 22867703 22:22867703G-A G A
+22 22867956 22:22867956G-C G C
+22 22868017 22:22868017G-A G A
+22 22868090 22:22868090A-G A G
+22 22868128 22:22868128T-C T C
+22 22868211 22:22868211G-A G A
+22 22868493 22:22868493G-T G T
+22 22868497 22:22868497G-C G C
+22 22868773 22:22868773G-A G A
+22 22868776 22:22868776G-A G A
+22 22869123 22:22869123T-C T C
+22 22869209 22:22869209C-G C G
+22 22869218 22:22869218T-C T C
+22 22869538 22:22869538A-G A G
+22 22869545 22:22869545T-G T G
+22 22869548 22:22869548T-C T C
+22 22869649 22:22869649G-C G C
+22 22869742 22:22869742C-A C A
+22 22878110 22:22878110G-A G A
+22 22879790 22:22879790C-T C T
+22 22991326 22:22991326G-A G A
+22 22997973 22:22997973A-G A G
+22 22998124 22:22998124C-T C T
+22 22998610 22:22998610G-T G T
+22 22998633 22:22998633A-C A C
+22 22999473 22:22999473T-C T C
+22 22999644 22:22999644G-A G A
+22 23000030 22:23000030G-A G A
+22 23000215 22:23000215C-T C T
+22 23000278 22:23000278T-C T C
+22 23000641 22:23000641A-G A G
+22 23000681 22:23000681G-A G A
+22 23000690 22:23000690A-T A T
+22 23000753 22:23000753G-T G T
+22 23000865 22:23000865C-T C T
+22 23000892 22:23000892C-T C T
+22 23002893 22:23002893T-C T C
+22 23004296 22:23004296C-A C A
+22 23006523 22:23006523G-A G A
+22 23009148 22:23009148T-A T A
+22 23009347 22:23009347C-A C A
+22 23010496 22:23010496C-A C A
+22 23011376 22:23011376G-A G A
+22 23011461 22:23011461A-T A T
+22 23011996 22:23011996G-A G A
+22 23012596 22:23012596A-G A G
+22 23012709 22:23012709G-A G A
+22 23013007 22:23013007A-G A G
+22 23013062 22:23013062G-T G T
+22 23013171 22:23013171T-C T C
+22 23013350 22:23013350A-C A C
+22 23013355 22:23013355G-A G A
+22 23013483 22:23013483A-G A G
+22 23013800 22:23013800G-T G T
+22 23013809 22:23013809C-T C T
+22 23013820 22:23013820G-A G A
+22 23014658 22:23014658C-T C T
+22 23015302 22:23015302A-G A G
+22 23015502 22:23015502C-A C A
+22 23015624 22:23015624G-A G A
+22 23015658 22:23015658G-A G A
+22 23016276 22:23016276T-G T G
+22 23016983 22:23016983A-G A G
+22 23018305 22:23018305G-C G C
+22 23018910 22:23018910C-T C T
+22 23019307 22:23019307G-T G T
+22 23019547 22:23019547T-C T C
+22 23019886 22:23019886G-A G A
+22 23020276 22:23020276G-A G A
+22 23020968 22:23020968C-T C T
+22 23021867 22:23021867A-T A T
+22 23054614 22:23054614G-A G A
+22 23054916 22:23054916G-T G T
+22 23056081 22:23056081G-T G T
+22 23056462 22:23056462T-C T C
+22 23057411 22:23057411C-T C T
+22 23057420 22:23057420C-A C A
+22 23058620 22:23058620A-G A G
+22 23059453 22:23059453G-A G A
+22 23059563 22:23059563G-A G A
+22 23059704 22:23059704C-T C T
+22 23060694 22:23060694C-T C T
+22 23061501 22:23061501G-A G A
+22 23067761 22:23067761C-T C T
+22 23078339 22:23078339T-A T A
+22 23078808 22:23078808T-G T G
+22 23080186 22:23080186A-G A G
+22 23082306 22:23082306G-A G A
+22 23084133 22:23084133T-G T G
+22 23086916 22:23086916C-T C T
+22 23087827 22:23087827T-C T C
+22 23089740 22:23089740C-T C T
+22 23090006 22:23090006G-A G A
+22 23095240 22:23095240A-G A G
+22 23097015 22:23097015A-G A G
+22 23097294 22:23097294C-T C T
+22 23098587 22:23098587G-A G A
+22 23102291 22:23102291G-A G A
+22 23104785 22:23104785C-G C G
+22 23104802 22:23104802C-T C T
+22 23105469 22:23105469G-A G A
+22 23105542 22:23105542A-G A G
+22 23106898 22:23106898G-A G A
+22 23107583 22:23107583C-T C T
+22 23110356 22:23110356G-C G C
+22 23110694 22:23110694G-A G A
+22 23200527 22:23200527C-T C T
+22 23202063 22:23202063C-T C T
+22 23202888 22:23202888T-C T C
+22 23202971 22:23202971T-C T C
+22 23203127 22:23203127C-T C T
+22 23203226 22:23203226A-C A C
+22 23203328 22:23203328C-T C T
+22 23203432 22:23203432C-T C T
+22 23203440 22:23203440C-G C G
+22 23203478 22:23203478G-A G A
+22 23203580 22:23203580T-A T A
+22 23203673 22:23203673A-T A T
+22 23203727 22:23203727T-A T A
+22 23204259 22:23204259C-G C G
+22 23204385 22:23204385C-T C T
+22 23205289 22:23205289A-C A C
+22 23205341 22:23205341G-A G A
+22 23205980 22:23205980T-C T C
+22 23206002 22:23206002G-T G T
+22 23206254 22:23206254C-T C T
+22 23206455 22:23206455G-T G T
+22 23206526 22:23206526A-G A G
+22 23206848 22:23206848C-T C T
+22 23207076 22:23207076G-A G A
+22 23207481 22:23207481G-A G A
+22 23210513 22:23210513G-A G A
+22 23212592 22:23212592C-T C T
+22 23212806 22:23212806A-C A C
+22 23216112 22:23216112A-G A G
+22 23216543 22:23216543A-G A G
+22 23216562 22:23216562C-T C T
+22 23216624 22:23216624G-A G A
+22 23217250 22:23217250C-A C A
+22 23218266 22:23218266G-A G A
+22 23239280 22:23239280A-G A G
+22 23239281 22:23239281A-C A C
+22 23239321 22:23239321T-G T G
+22 23239544 22:23239544A-G A G
+22 23239579 22:23239579A-G A G
+22 23239868 22:23239868G-C G C
+22 23240163 22:23240163T-C T C
+22 23240463 22:23240463C-T C T
+22 23240785 22:23240785G-A G A
+22 23240831 22:23240831T-C T C
+22 23243668 22:23243668C-G C G
+22 23243877 22:23243877C-T C T
+22 23244065 22:23244065A-G A G
+22 23244310 22:23244310A-G A G
+22 23245173 22:23245173A-C A C
+22 23245506 22:23245506A-T A T
+22 23245943 22:23245943C-T C T
+22 23246565 22:23246565C-A C A
+22 23249040 22:23249040T-C T C
+22 23249354 22:23249354C-T C T
+22 23249390 22:23249390A-G A G
+22 23249440 22:23249440C-A C A
+22 23250103 22:23250103G-C G C
+22 23250472 22:23250472C-A C A
+22 23250737 22:23250737T-C T C
+22 23251054 22:23251054A-C A C
+22 23251602 22:23251602C-G C G
+22 23251842 22:23251842T-C T C
+22 23251857 22:23251857C-T C T
+22 23251940 22:23251940A-G A G
+22 23253303 22:23253303G-C G C
+22 23253893 22:23253893C-T C T
+22 23254341 22:23254341G-A G A
+22 23255525 22:23255525T-C T C
+22 23255556 22:23255556T-C T C
+22 23255869 22:23255869T-C T C
+22 23255890 22:23255890A-G A G
+22 23256260 22:23256260T-G T G
+22 23256279 22:23256279C-G C G
+22 23256464 22:23256464G-C G C
+22 23257051 22:23257051T-C T C
+22 23258231 22:23258231T-C T C
+22 23258300 22:23258300C-T C T
+22 23258369 22:23258369G-A G A
+22 23258438 22:23258438A-G A G
+22 23258457 22:23258457C-G C G
+22 23258994 22:23258994G-A G A
+22 23259232 22:23259232T-C T C
+22 23259501 22:23259501C-T C T
+22 23259735 22:23259735A-G A G
+22 23259859 22:23259859G-A G A
+22 23260507 22:23260507T-A T A
+22 23260922 22:23260922A-G A G
+22 23261066 22:23261066A-G A G
+22 23261086 22:23261086C-T C T
+22 23261166 22:23261166T-C T C
+22 23261330 22:23261330G-A G A
+22 23261552 22:23261552G-A G A
+22 23261726 22:23261726C-A C A
+22 23261819 22:23261819G-A G A
+22 23261856 22:23261856G-A G A
+22 23262162 22:23262162C-A C A
+22 23262360 22:23262360C-T C T
+22 23263251 22:23263251C-A C A
+22 23263502 22:23263502A-G A G
+22 23263602 22:23263602C-T C T
+22 23263708 22:23263708T-G T G
+22 23264606 22:23264606G-A G A
+22 23264785 22:23264785C-A C A
+22 23264864 22:23264864T-A T A
+22 23265637 22:23265637C-A C A
+22 23265654 22:23265654C-G C G
+22 23266118 22:23266118A-G A G
+22 23266478 22:23266478T-C T C
+22 23266676 22:23266676C-G C G
+22 23266797 22:23266797T-C T C
+22 23267152 22:23267152C-A C A
+22 23268052 22:23268052A-G A G
+22 23268390 22:23268390G-A G A
+22 23268511 22:23268511G-A G A
+22 23268677 22:23268677G-A G A
+22 23268987 22:23268987G-A G A
+22 23269126 22:23269126G-C G C
+22 23270555 22:23270555C-T C T
+22 23271250 22:23271250A-G A G
+22 23272389 22:23272389A-T A T
+22 23272630 22:23272630C-T C T
+22 23272656 22:23272656C-T C T
+22 23273245 22:23273245C-T C T
+22 23273350 22:23273350T-C T C
+22 23273777 22:23273777C-T C T
+22 23274645 22:23274645C-T C T
+22 23275227 22:23275227T-C T C
+22 23275341 22:23275341A-G A G
+22 23276134 22:23276134C-T C T
+22 23276219 22:23276219C-T C T
+22 23276363 22:23276363G-C G C
+22 23276421 22:23276421T-C T C
+22 23276454 22:23276454T-C T C
+22 23276520 22:23276520G-T G T
+22 23276730 22:23276730T-C T C
+22 23276788 22:23276788G-A G A
+22 23277301 22:23277301G-A G A
+22 23278515 22:23278515G-C G C
+22 23278593 22:23278593T-C T C
+22 23278613 22:23278613C-T C T
+22 23278658 22:23278658C-G C G
+22 23278808 22:23278808A-G A G
+22 23279456 22:23279456G-C G C
+22 23281116 22:23281116G-A G A
+22 23281338 22:23281338T-C T C
+22 23281596 22:23281596T-C T C
+22 23282110 22:23282110C-A C A
+22 23282286 22:23282286T-C T C
+22 23282877 22:23282877T-C T C
+22 23283041 22:23283041T-G T G
+22 23283083 22:23283083T-G T G
+22 23283219 22:23283219G-A G A
+22 23283310 22:23283310A-G A G
+22 23283834 22:23283834G-A G A
+22 23284023 22:23284023C-G C G
+22 23284781 22:23284781A-G A G
+22 23284996 22:23284996T-C T C
+22 23285077 22:23285077T-A T A
+22 23285252 22:23285252G-A G A
+22 23285694 22:23285694G-A G A
+22 23285967 22:23285967C-T C T
+22 23286059 22:23286059A-G A G
+22 23288012 22:23288012T-A T A
+22 23288147 22:23288147C-T C T
+22 23288277 22:23288277A-G A G
+22 23288347 22:23288347C-T C T
+22 23288385 22:23288385C-T C T
+22 23288557 22:23288557T-C T C
+22 23289581 22:23289581C-T C T
+22 23290335 22:23290335G-A G A
+22 23290514 22:23290514T-C T C
+22 23290519 22:23290519G-A G A
+22 23291081 22:23291081C-A C A
+22 23291246 22:23291246A-G A G
+22 23291611 22:23291611G-C G C
+22 23291613 22:23291613A-C A C
+22 23292043 22:23292043T-A T A
+22 23292407 22:23292407C-T C T
+22 23293006 22:23293006C-T C T
+22 23293394 22:23293394T-C T C
+22 23294248 22:23294248T-C T C
+22 23294740 22:23294740G-A G A
+22 23295133 22:23295133G-A G A
+22 23295609 22:23295609A-G A G
+22 23296231 22:23296231G-A G A
+22 23297455 22:23297455T-C T C
+22 23297693 22:23297693A-G A G
+22 23297753 22:23297753C-A C A
+22 23297780 22:23297780C-T C T
+22 23297814 22:23297814A-G A G
+22 23297877 22:23297877C-T C T
+22 23298380 22:23298380C-T C T
+22 23298653 22:23298653T-C T C
+22 23298763 22:23298763A-G A G
+22 23299287 22:23299287T-G T G
+22 23299622 22:23299622G-A G A
+22 23299769 22:23299769G-A G A
+22 23299896 22:23299896A-G A G
+22 23300049 22:23300049T-A T A
+22 23300106 22:23300106T-A T A
+22 23301330 22:23301330T-C T C
+22 23301336 22:23301336A-G A G
+22 23301513 22:23301513G-A G A
+22 23302960 22:23302960C-T C T
+22 23303072 22:23303072A-G A G
+22 23303137 22:23303137G-C G C
+22 23303465 22:23303465A-G A G
+22 23303871 22:23303871A-T A T
+22 23304323 22:23304323C-A C A
+22 23305367 22:23305367T-G T G
+22 23305983 22:23305983T-C T C
+22 23306510 22:23306510A-G A G
+22 23306813 22:23306813C-T C T
+22 23307034 22:23307034T-C T C
+22 23307953 22:23307953G-C G C
+22 23308331 22:23308331T-C T C
+22 23308572 22:23308572G-T G T
+22 23309082 22:23309082A-G A G
+22 23310621 22:23310621G-A G A
+22 23310931 22:23310931G-T G T
+22 23310978 22:23310978T-C T C
+22 23311620 22:23311620G-T G T
+22 23311648 22:23311648C-T C T
+22 23314160 22:23314160T-A T A
+22 23314935 22:23314935C-T C T
+22 23315629 22:23315629C-T C T
+22 23315906 22:23315906C-A C A
+22 23316616 22:23316616A-G A G
+22 23317391 22:23317391C-T C T
+22 23317738 22:23317738C-T C T
+22 23319251 22:23319251G-A G A
+22 23319658 22:23319658T-C T C
+22 23319862 22:23319862A-G A G
+22 23319952 22:23319952G-C G C
+22 23319977 22:23319977A-G A G
+22 23320339 22:23320339C-T C T
+22 23320833 22:23320833A-G A G
+22 23320958 22:23320958G-T G T
+22 23322794 22:23322794T-A T A
+22 23323496 22:23323496A-G A G
+22 23324143 22:23324143C-T C T
+22 23324839 22:23324839C-T C T
+22 23325722 22:23325722T-C T C
+22 23326345 22:23326345G-A G A
+22 23326615 22:23326615T-C T C
+22 23326827 22:23326827A-G A G
+22 23327745 22:23327745C-A C A
+22 23327811 22:23327811T-C T C
+22 23327830 22:23327830G-A G A
+22 23328017 22:23328017C-T C T
+22 23329286 22:23329286G-A G A
+22 23329730 22:23329730A-G A G
+22 23329784 22:23329784G-A G A
+22 23330366 22:23330366T-A T A
+22 23330875 22:23330875A-G A G
+22 23331216 22:23331216A-G A G
+22 23331665 22:23331665G-A G A
+22 23332088 22:23332088G-A G A
+22 23332656 22:23332656A-G A G
+22 23333741 22:23333741G-C G C
+22 23333955 22:23333955T-C T C
+22 23335538 22:23335538A-G A G
+22 23335575 22:23335575T-G T G
+22 23335700 22:23335700T-A T A
+22 23336825 22:23336825A-T A T
+22 23337676 22:23337676G-C G C
+22 23337681 22:23337681T-C T C
+22 23337705 22:23337705T-C T C
+22 23338070 22:23338070G-C G C
+22 23338211 22:23338211C-T C T
+22 23338503 22:23338503G-A G A
+22 23338634 22:23338634A-G A G
+22 23339200 22:23339200C-T C T
+22 23339616 22:23339616C-T C T
+22 23340093 22:23340093A-G A G
+22 23341468 22:23341468G-A G A
+22 23342379 22:23342379C-G C G
+22 23342414 22:23342414T-C T C
+22 23342773 22:23342773G-A G A
+22 23343325 22:23343325G-T G T
+22 23343547 22:23343547G-A G A
+22 23343565 22:23343565T-C T C
+22 23343999 22:23343999T-C T C
+22 23344094 22:23344094G-T G T
+22 23345070 22:23345070G-C G C
+22 23345164 22:23345164C-A C A
+22 23345194 22:23345194A-G A G
+22 23345367 22:23345367A-G A G
+22 23346497 22:23346497C-T C T
+22 23346648 22:23346648A-G A G
+22 23348086 22:23348086T-C T C
+22 23348287 22:23348287T-A T A
+22 23348781 22:23348781T-C T C
+22 23348960 22:23348960C-T C T
+22 23350873 22:23350873G-A G A
+22 23351073 22:23351073G-A G A
+22 23351490 22:23351490C-T C T
+22 23352933 22:23352933C-T C T
+22 23353592 22:23353592G-A G A
+22 23353620 22:23353620C-G C G
+22 23354047 22:23354047C-T C T
+22 23354645 22:23354645T-G T G
+22 23354668 22:23354668G-A G A
+22 23355251 22:23355251T-A T A
+22 23355751 22:23355751A-T A T
+22 23356085 22:23356085G-C G C
+22 23356100 22:23356100T-A T A
+22 23356738 22:23356738T-C T C
+22 23356946 22:23356946G-A G A
+22 23357074 22:23357074A-G A G
+22 23357300 22:23357300T-G T G
+22 23357566 22:23357566A-G A G
+22 23358394 22:23358394T-A T A
+22 23358608 22:23358608T-C T C
+22 23359171 22:23359171G-A G A
+22 23359285 22:23359285G-A G A
+22 23359564 22:23359564T-C T C
+22 23361377 22:23361377G-A G A
+22 23361702 22:23361702C-T C T
+22 23362084 22:23362084T-C T C
+22 23362423 22:23362423G-A G A
+22 23363352 22:23363352A-G A G
+22 23363429 22:23363429G-A G A
+22 23363720 22:23363720C-T C T
+22 23363837 22:23363837T-C T C
+22 23363882 22:23363882G-A G A
+22 23363971 22:23363971T-C T C
+22 23364370 22:23364370G-A G A
+22 23364587 22:23364587C-A C A
+22 23364772 22:23364772G-A G A
+22 23364898 22:23364898T-C T C
+22 23365301 22:23365301A-G A G
+22 23365501 22:23365501T-C T C
+22 23366066 22:23366066A-G A G
+22 23366305 22:23366305C-T C T
+22 23366323 22:23366323G-T G T
+22 23367169 22:23367169A-T A T
+22 23367330 22:23367330A-G A G
+22 23367375 22:23367375A-C A C
+22 23367416 22:23367416A-C A C
+22 23367486 22:23367486G-C G C
+22 23368033 22:23368033A-G A G
+22 23368504 22:23368504A-G A G
+22 23369826 22:23369826C-T C T
+22 23370625 22:23370625G-T G T
+22 23371136 22:23371136T-G T G
+22 23371504 22:23371504C-G C G
+22 23372071 22:23372071C-T C T
+22 23372142 22:23372142A-G A G
+22 23372414 22:23372414C-T C T
+22 23372864 22:23372864C-G C G
+22 23372938 22:23372938T-C T C
+22 23373312 22:23373312T-C T C
+22 23373627 22:23373627T-C T C
+22 23373902 22:23373902A-T A T
+22 23374143 22:23374143G-T G T
+22 23374206 22:23374206G-A G A
+22 23375092 22:23375092T-G T G
+22 23376431 22:23376431T-G T G
+22 23377472 22:23377472A-C A C
+22 23377494 22:23377494A-G A G
+22 23378115 22:23378115C-T C T
+22 23378505 22:23378505G-A G A
+22 23379206 22:23379206A-G A G
+22 23379255 22:23379255G-A G A
+22 23379362 22:23379362A-G A G
+22 23379625 22:23379625T-C T C
+22 23379985 22:23379985G-A G A
+22 23380955 22:23380955G-A G A
+22 23381814 22:23381814A-C A C
+22 23382483 22:23382483T-C T C
+22 23383863 22:23383863G-A G A
+22 23385024 22:23385024A-T A T
+22 23385124 22:23385124C-T C T
+22 23387172 22:23387172A-G A G
+22 23387642 22:23387642A-G A G
+22 23388409 22:23388409G-A G A
+22 23388447 22:23388447G-A G A
+22 23389142 22:23389142T-G T G
+22 23391131 22:23391131G-A G A
+22 23391917 22:23391917A-C A C
+22 23393090 22:23393090G-A G A
+22 23395411 22:23395411A-C A C
+22 23395684 22:23395684C-T C T
+22 23398638 22:23398638C-T C T
+22 23399461 22:23399461T-C T C
+22 23399743 22:23399743A-G A G
+22 23402518 22:23402518A-G A G
+22 23405957 22:23405957G-A G A
+22 23406619 22:23406619G-A G A
+22 23407063 22:23407063G-A G A
+22 23407261 22:23407261C-A C A
+22 23407301 22:23407301A-C A C
+22 23408118 22:23408118G-T G T
+22 23410918 22:23410918T-A T A
+22 23412017 22:23412017G-A G A
+22 23412058 22:23412058G-A G A
+22 23415146 22:23415146C-T C T
+22 23416005 22:23416005G-A G A
+22 23416941 22:23416941G-A G A
+22 23417547 22:23417547A-C A C
+22 23417677 22:23417677A-G A G
+22 23417712 22:23417712G-C G C
+22 23417758 22:23417758G-A G A
+22 23418492 22:23418492C-T C T
+22 23418838 22:23418838A-G A G
+22 23420913 22:23420913G-T G T
+22 23421264 22:23421264T-A T A
+22 23422052 22:23422052G-A G A
+22 23422185 22:23422185A-G A G
+22 23422890 22:23422890T-C T C
+22 23423107 22:23423107T-G T G
+22 23423247 22:23423247G-A G A
+22 23423963 22:23423963G-A G A
+22 23424271 22:23424271C-T C T
+22 23425528 22:23425528G-C G C
+22 23425923 22:23425923A-G A G
+22 23425931 22:23425931G-C G C
+22 23426933 22:23426933A-G A G
+22 23428434 22:23428434T-C T C
+22 23428810 22:23428810A-C A C
+22 23429224 22:23429224C-T C T
+22 23429552 22:23429552C-G C G
+22 23429756 22:23429756T-C T C
+22 23430153 22:23430153A-G A G
+22 23430410 22:23430410A-G A G
+22 23430693 22:23430693A-G A G
+22 23431090 22:23431090T-C T C
+22 23431347 22:23431347G-A G A
+22 23431763 22:23431763A-C A C
+22 23432234 22:23432234C-T C T
+22 23432644 22:23432644G-A G A
+22 23433243 22:23433243C-G C G
+22 23433748 22:23433748T-C T C
+22 23433804 22:23433804T-C T C
+22 23433863 22:23433863G-A G A
+22 23434327 22:23434327G-A G A
+22 23434593 22:23434593C-G C G
+22 23436424 22:23436424T-C T C
+22 23437271 22:23437271G-A G A
+22 23438191 22:23438191C-T C T
+22 23439530 22:23439530C-T C T
+22 23440099 22:23440099A-G A G
+22 23440526 22:23440526C-G C G
+22 23441515 22:23441515C-G C G
+22 23442916 22:23442916G-T G T
+22 23443089 22:23443089G-A G A
+22 23443909 22:23443909G-A G A
+22 23444067 22:23444067G-C G C
+22 23444336 22:23444336G-C G C
+22 23444796 22:23444796A-C A C
+22 23445083 22:23445083T-C T C
+22 23446386 22:23446386G-A G A
+22 23447347 22:23447347G-C G C
+22 23449955 22:23449955A-G A G
+22 23451775 22:23451775G-C G C
+22 23454722 22:23454722C-T C T
+22 23454881 22:23454881G-A G A
+22 23455366 22:23455366T-C T C
+22 23456696 22:23456696T-C T C
+22 23456702 22:23456702T-C T C
+22 23457098 22:23457098A-G A G
+22 23457420 22:23457420T-C T C
+22 23457486 22:23457486C-T C T
+22 23458577 22:23458577G-A G A
+22 23459863 22:23459863G-A G A
+22 23460669 22:23460669A-G A G
+22 23460939 22:23460939G-T G T
+22 23461003 22:23461003G-C G C
+22 23461425 22:23461425A-G A G
+22 23461723 22:23461723A-G A G
+22 23463183 22:23463183A-G A G
+22 23464120 22:23464120G-A G A
+22 23464457 22:23464457A-G A G
+22 23464810 22:23464810G-A G A
+22 23465078 22:23465078A-G A G
+22 23466031 22:23466031G-A G A
+22 23467080 22:23467080C-T C T
+22 23467804 22:23467804G-A G A
+22 23467946 22:23467946G-C G C
+22 23467950 22:23467950A-G A G
+22 23468468 22:23468468C-T C T
+22 23468538 22:23468538T-C T C
+22 23469181 22:23469181T-C T C
+22 23469267 22:23469267C-T C T
+22 23469433 22:23469433A-G A G
+22 23469438 22:23469438G-A G A
+22 23469918 22:23469918C-T C T
+22 23470090 22:23470090G-A G A
+22 23470660 22:23470660G-A G A
+22 23471533 22:23471533C-T C T
+22 23471624 22:23471624G-A G A
+22 23472011 22:23472011T-G T G
+22 23472384 22:23472384T-G T G
+22 23472954 22:23472954T-C T C
+22 23473231 22:23473231T-C T C
+22 23474085 22:23474085G-A G A
+22 23474795 22:23474795A-G A G
+22 23474972 22:23474972A-G A G
+22 23475067 22:23475067T-A T A
+22 23475750 22:23475750G-A G A
+22 23475762 22:23475762C-T C T
+22 23477474 22:23477474C-G C G
+22 23477970 22:23477970A-G A G
+22 23478695 22:23478695C-T C T
+22 23478837 22:23478837C-T C T
+22 23480925 22:23480925G-A G A
+22 23480962 22:23480962T-G T G
+22 23482460 22:23482460A-G A G
+22 23482483 22:23482483G-A G A
+22 23482718 22:23482718C-T C T
+22 23482744 22:23482744C-A C A
+22 23483255 22:23483255G-A G A
+22 23483769 22:23483769C-A C A
+22 23484254 22:23484254A-C A C
+22 23485521 22:23485521G-A G A
+22 23486830 22:23486830A-C A C
+22 23487533 22:23487533C-T C T
+22 23489042 22:23489042G-A G A
+22 23489362 22:23489362A-G A G
+22 23489685 22:23489685T-G T G
+22 23490335 22:23490335C-A C A
+22 23490990 22:23490990A-G A G
+22 23491000 22:23491000T-C T C
+22 23491644 22:23491644C-T C T
+22 23492236 22:23492236C-T C T
+22 23494833 22:23494833T-G T G
+22 23494904 22:23494904T-G T G
+22 23495676 22:23495676G-A G A
+22 23496545 22:23496545T-C T C
+22 23497674 22:23497674T-C T C
+22 23497998 22:23497998G-A G A
+22 23499674 22:23499674C-T C T
+22 23500553 22:23500553A-T A T
+22 23501286 22:23501286T-G T G
+22 23501679 22:23501679T-G T G
+22 23502458 22:23502458C-T C T
+22 23502478 22:23502478T-C T C
+22 23502708 22:23502708T-C T C
+22 23502835 22:23502835T-G T G
+22 23502987 22:23502987A-G A G
+22 23503008 22:23503008T-C T C
+22 23503121 22:23503121G-A G A
+22 23503170 22:23503170A-G A G
+22 23503205 22:23503205G-C G C
+22 23503266 22:23503266G-A G A
+22 23503319 22:23503319A-G A G
+22 23503382 22:23503382C-T C T
+22 23503533 22:23503533G-T G T
+22 23503569 22:23503569T-C T C
+22 23503580 22:23503580C-T C T
+22 23503651 22:23503651C-T C T
+22 23503756 22:23503756G-A G A
+22 23503819 22:23503819T-C T C
+22 23503870 22:23503870A-G A G
+22 23504326 22:23504326T-C T C
+22 23504405 22:23504405C-T C T
+22 23504658 22:23504658T-C T C
+22 23504862 22:23504862C-T C T
+22 23504916 22:23504916G-A G A
+22 23504959 22:23504959C-T C T
+22 23505084 22:23505084G-C G C
+22 23505318 22:23505318G-A G A
+22 23505358 22:23505358G-A G A
+22 23505398 22:23505398A-G A G
+22 23505467 22:23505467C-A C A
+22 23505577 22:23505577G-A G A
+22 23505617 22:23505617G-A G A
+22 23505899 22:23505899C-T C T
+22 23505934 22:23505934T-C T C
+22 23505952 22:23505952T-C T C
+22 23506135 22:23506135T-G T G
+22 23506759 22:23506759T-A T A
+22 23506826 22:23506826A-C A C
+22 23507071 22:23507071C-G C G
+22 23509314 22:23509314C-G C G
+22 23509893 22:23509893A-T A T
+22 23509902 22:23509902T-A T A
+22 23510804 22:23510804C-A C A
+22 23511472 22:23511472A-G A G
+22 23511585 22:23511585G-A G A
+22 23512260 22:23512260A-G A G
+22 23512554 22:23512554C-A C A
+22 23512619 22:23512619G-A G A
+22 23512813 22:23512813G-A G A
+22 23513128 22:23513128C-G C G
+22 23513523 22:23513523A-C A C
+22 23513544 22:23513544C-T C T
+22 23513921 22:23513921C-T C T
+22 23514294 22:23514294T-C T C
+22 23514450 22:23514450A-G A G
+22 23514980 22:23514980A-G A G
+22 23515366 22:23515366G-A G A
+22 23515422 22:23515422C-T C T
+22 23515955 22:23515955A-G A G
+22 23515977 22:23515977G-C G C
+22 23516014 22:23516014C-T C T
+22 23516062 22:23516062C-T C T
+22 23516797 22:23516797C-A C A
+22 23517976 22:23517976T-C T C
+22 23518215 22:23518215A-G A G
+22 23518244 22:23518244T-G T G
+22 23518251 22:23518251A-C A C
+22 23519046 22:23519046G-A G A
+22 23519184 22:23519184T-C T C
+22 23521094 22:23521094A-G A G
+22 23523630 22:23523630C-A C A
+22 23525082 22:23525082T-C T C
+22 23526290 22:23526290T-C T C
+22 23526643 22:23526643A-C A C
+22 23527610 22:23527610A-T A T
+22 23527777 22:23527777G-A G A
+22 23527917 22:23527917G-T G T
+22 23527929 22:23527929T-G T G
+22 23528771 22:23528771C-G C G
+22 23529518 22:23529518T-A T A
+22 23530168 22:23530168T-G T G
+22 23530434 22:23530434T-C T C
+22 23532031 22:23532031C-T C T
+22 23533072 22:23533072G-T G T
+22 23533356 22:23533356G-A G A
+22 23534366 22:23534366A-G A G
+22 23535135 22:23535135A-G A G
+22 23535499 22:23535499T-C T C
+22 23535982 22:23535982G-A G A
+22 23537143 22:23537143G-C G C
+22 23537160 22:23537160A-G A G
+22 23537229 22:23537229C-T C T
+22 23537397 22:23537397C-T C T
+22 23537890 22:23537890A-G A G
+22 23538023 22:23538023C-T C T
+22 23538357 22:23538357T-C T C
+22 23538587 22:23538587G-A G A
+22 23538698 22:23538698T-C T C
+22 23538737 22:23538737T-C T C
+22 23539311 22:23539311A-G A G
+22 23539396 22:23539396G-A G A
+22 23539440 22:23539440G-A G A
+22 23539477 22:23539477A-G A G
+22 23540414 22:23540414T-G T G
+22 23540609 22:23540609A-G A G
+22 23540799 22:23540799A-G A G
+22 23540913 22:23540913C-T C T
+22 23541083 22:23541083T-G T G
+22 23541135 22:23541135G-C G C
+22 23541488 22:23541488C-T C T
+22 23542099 22:23542099G-A G A
+22 23542535 22:23542535A-G A G
+22 23542539 22:23542539C-T C T
+22 23542884 22:23542884G-A G A
+22 23543186 22:23543186T-C T C
+22 23543684 22:23543684C-G C G
+22 23543769 22:23543769T-C T C
+22 23543833 22:23543833G-A G A
+22 23544151 22:23544151T-C T C
+22 23544471 22:23544471T-G T G
+22 23544494 22:23544494A-G A G
+22 23545302 22:23545302T-C T C
+22 23545434 22:23545434C-A C A
+22 23545879 22:23545879A-G A G
+22 23546579 22:23546579T-G T G
+22 23546900 22:23546900G-A G A
+22 23547594 22:23547594G-C G C
+22 23547827 22:23547827T-G T G
+22 23548573 22:23548573T-A T A
+22 23548713 22:23548713G-A G A
+22 23552073 22:23552073C-T C T
+22 23552493 22:23552493G-T G T
+22 23553445 22:23553445C-T C T
+22 23553922 22:23553922C-T C T
+22 23558561 22:23558561A-T A T
+22 23558754 22:23558754G-C G C
+22 23560381 22:23560381C-T C T
+22 23561186 22:23561186C-T C T
+22 23562891 22:23562891A-C A C
+22 23563980 22:23563980T-C T C
+22 23566019 22:23566019C-T C T
+22 23566081 22:23566081A-G A G
+22 23568061 22:23568061C-T C T
+22 23568858 22:23568858A-G A G
+22 23569063 22:23569063G-A G A
+22 23569211 22:23569211A-G A G
+22 23571783 22:23571783G-C G C
+22 23573867 22:23573867G-C G C
+22 23574494 22:23574494A-G A G
+22 23575642 22:23575642A-G A G
+22 23575660 22:23575660C-T C T
+22 23579510 22:23579510C-G C G
+22 23579855 22:23579855T-C T C
+22 23580732 22:23580732G-A G A
+22 23580987 22:23580987A-G A G
+22 23581772 22:23581772G-A G A
+22 23583627 22:23583627C-T C T
+22 23584163 22:23584163T-C T C
+22 23585132 22:23585132A-G A G
+22 23585969 22:23585969A-G A G
+22 23586945 22:23586945C-G C G
+22 23587341 22:23587341C-T C T
+22 23587894 22:23587894C-T C T
+22 23588165 22:23588165G-A G A
+22 23588193 22:23588193G-A G A
+22 23589154 22:23589154A-G A G
+22 23589483 22:23589483C-G C G
+22 23589560 22:23589560A-T A T
+22 23589636 22:23589636A-T A T
+22 23589740 22:23589740G-A G A
+22 23589758 22:23589758T-G T G
+22 23589942 22:23589942A-G A G
+22 23590269 22:23590269G-A G A
+22 23590400 22:23590400G-A G A
+22 23591723 22:23591723G-A G A
+22 23592442 22:23592442T-G T G
+22 23593051 22:23593051G-A G A
+22 23594557 22:23594557G-A G A
+22 23595757 22:23595757C-T C T
+22 23597030 22:23597030G-A G A
+22 23597032 22:23597032A-G A G
+22 23597103 22:23597103G-A G A
+22 23597992 22:23597992A-G A G
+22 23599869 22:23599869G-A G A
+22 23599965 22:23599965G-C G C
+22 23600013 22:23600013G-A G A
+22 23602220 22:23602220G-C G C
+22 23602342 22:23602342C-T C T
+22 23603957 22:23603957T-G T G
+22 23603976 22:23603976G-A G A
+22 23606384 22:23606384C-T C T
+22 23606747 22:23606747C-A C A
+22 23606958 22:23606958A-G A G
+22 23606965 22:23606965G-A G A
+22 23607442 22:23607442C-G C G
+22 23609500 22:23609500A-G A G
+22 23610861 22:23610861G-A G A
+22 23610878 22:23610878G-A G A
+22 23611357 22:23611357A-G A G
+22 23612024 22:23612024C-T C T
+22 23612498 22:23612498G-A G A
+22 23612628 22:23612628G-A G A
+22 23613539 22:23613539A-G A G
+22 23614026 22:23614026C-T C T
+22 23614426 22:23614426G-A G A
+22 23614625 22:23614625G-A G A
+22 23615346 22:23615346G-A G A
+22 23615801 22:23615801A-G A G
+22 23616128 22:23616128G-A G A
+22 23616274 22:23616274A-T A T
+22 23616355 22:23616355C-T C T
+22 23616716 22:23616716C-A C A
+22 23616878 22:23616878G-A G A
+22 23617555 22:23617555G-C G C
+22 23617557 22:23617557G-A G A
+22 23618043 22:23618043C-T C T
+22 23618080 22:23618080G-C G C
+22 23618232 22:23618232A-G A G
+22 23618313 22:23618313G-A G A
+22 23618353 22:23618353G-A G A
+22 23618804 22:23618804G-A G A
+22 23619440 22:23619440C-G C G
+22 23619461 22:23619461C-T C T
+22 23619734 22:23619734G-A G A
+22 23619956 22:23619956A-G A G
+22 23620341 22:23620341C-T C T
+22 23620493 22:23620493A-T A T
+22 23620531 22:23620531G-A G A
+22 23620747 22:23620747C-G C G
+22 23621387 22:23621387T-G T G
+22 23621734 22:23621734G-A G A
+22 23622519 22:23622519T-A T A
+22 23622972 22:23622972T-C T C
+22 23623284 22:23623284T-C T C
+22 23624093 22:23624093T-C T C
+22 23625330 22:23625330G-T G T
+22 23625550 22:23625550C-T C T
+22 23625655 22:23625655C-T C T
+22 23626081 22:23626081G-A G A
+22 23626537 22:23626537A-G A G
+22 23626649 22:23626649G-A G A
+22 23626896 22:23626896G-A G A
+22 23627369 22:23627369A-G A G
+22 23627623 22:23627623A-G A G
+22 23628161 22:23628161A-G A G
+22 23629013 22:23629013A-G A G
+22 23629476 22:23629476G-C G C
+22 23629552 22:23629552T-C T C
+22 23629602 22:23629602A-T A T
+22 23629856 22:23629856G-A G A
+22 23630617 22:23630617C-T C T
+22 23630683 22:23630683T-C T C
+22 23630690 22:23630690C-T C T
+22 23630992 22:23630992C-T C T
+22 23631179 22:23631179A-G A G
+22 23631351 22:23631351C-T C T
+22 23631639 22:23631639T-C T C
+22 23631801 22:23631801T-C T C
+22 23631823 22:23631823T-C T C
+22 23632257 22:23632257A-G A G
+22 23632513 22:23632513A-G A G
+22 23632621 22:23632621G-C G C
+22 23632636 22:23632636C-A C A
+22 23632665 22:23632665C-A C A
+22 23632861 22:23632861A-T A T
+22 23633252 22:23633252G-A G A
+22 23633473 22:23633473T-C T C
+22 23633842 22:23633842G-A G A
+22 23633944 22:23633944A-G A G
+22 23635374 22:23635374G-A G A
+22 23635924 22:23635924G-C G C
+22 23635987 22:23635987A-C A C
+22 23636118 22:23636118A-G A G
+22 23636339 22:23636339C-T C T
+22 23636541 22:23636541G-A G A
+22 23636736 22:23636736C-G C G
+22 23637200 22:23637200T-C T C
+22 23637664 22:23637664A-G A G
+22 23638025 22:23638025A-G A G
+22 23638635 22:23638635C-T C T
+22 23639534 22:23639534A-G A G
+22 23639971 22:23639971A-G A G
+22 23639984 22:23639984A-G A G
+22 23640470 22:23640470G-C G C
+22 23641261 22:23641261G-A G A
+22 23643212 22:23643212C-T C T
+22 23643247 22:23643247T-C T C
+22 23643390 22:23643390A-G A G
+22 23643482 22:23643482G-A G A
+22 23643530 22:23643530G-T G T
+22 23644314 22:23644314G-A G A
+22 23644425 22:23644425A-G A G
+22 23644631 22:23644631C-T C T
+22 23644677 22:23644677T-G T G
+22 23644794 22:23644794C-T C T
+22 23644963 22:23644963C-A C A
+22 23645414 22:23645414G-A G A
+22 23645718 22:23645718G-T G T
+22 23646022 22:23646022A-G A G
+22 23646257 22:23646257A-T A T
+22 23646512 22:23646512C-T C T
+22 23646953 22:23646953T-A T A
+22 23647039 22:23647039C-T C T
+22 23647040 22:23647040G-A G A
+22 23647800 22:23647800A-T A T
+22 23647845 22:23647845T-C T C
+22 23648009 22:23648009G-A G A
+22 23648478 22:23648478C-T C T
+22 23648625 22:23648625T-C T C
+22 23648819 22:23648819C-G C G
+22 23648913 22:23648913T-G T G
+22 23649242 22:23649242T-G T G
+22 23649369 22:23649369A-G A G
+22 23649427 22:23649427C-T C T
+22 23649738 22:23649738C-T C T
+22 23650622 22:23650622A-T A T
+22 23650987 22:23650987G-T G T
+22 23651101 22:23651101T-G T G
+22 23651303 22:23651303G-A G A
+22 23651318 22:23651318G-A G A
+22 23652201 22:23652201A-G A G
+22 23652212 22:23652212C-T C T
+22 23652956 22:23652956C-T C T
+22 23654436 22:23654436A-G A G
+22 23654993 22:23654993A-G A G
+22 23656148 22:23656148T-G T G
+22 23657208 22:23657208A-G A G
+22 23657477 22:23657477A-G A G
+22 23657495 22:23657495C-G C G
+22 23657735 22:23657735G-A G A
+22 23657874 22:23657874A-G A G
+22 23657966 22:23657966G-A G A
+22 23658007 22:23658007G-A G A
+22 23660980 22:23660980G-A G A
+22 23661565 22:23661565A-C A C
+22 23662115 22:23662115G-A G A
+22 23662340 22:23662340A-C A C
+22 23662639 22:23662639G-A G A
+22 23662671 22:23662671G-A G A
+22 23662897 22:23662897C-T C T
+22 23663189 22:23663189T-A T A
+22 23663366 22:23663366T-G T G
+22 23663722 22:23663722T-A T A
+22 23663772 22:23663772G-C G C
+22 23663848 22:23663848T-G T G
+22 23663915 22:23663915G-A G A
+22 23664431 22:23664431C-G C G
+22 23665356 22:23665356A-C A C
+22 23665665 22:23665665A-G A G
+22 23666379 22:23666379T-G T G
+22 23667628 22:23667628G-A G A
+22 23667731 22:23667731C-T C T
+22 23667882 22:23667882T-A T A
+22 23667984 22:23667984G-C G C
+22 23668012 22:23668012A-G A G
+22 23669982 22:23669982G-A G A
+22 23670530 22:23670530G-A G A
+22 23670699 22:23670699T-C T C
+22 23671011 22:23671011C-T C T
+22 23671020 22:23671020A-G A G
+22 23672886 22:23672886G-A G A
+22 23673094 22:23673094T-C T C
+22 23673293 22:23673293A-C A C
+22 23673350 22:23673350A-G A G
+22 23673484 22:23673484A-G A G
+22 23673731 22:23673731G-A G A
+22 23673763 22:23673763G-A G A
+22 23675354 22:23675354G-A G A
+22 23676285 22:23676285A-T A T
+22 23676664 22:23676664C-T C T
+22 23676802 22:23676802A-T A T
+22 23676895 22:23676895A-G A G
+22 23677451 22:23677451T-C T C
+22 23677602 22:23677602T-C T C
+22 23677773 22:23677773A-G A G
+22 23679753 22:23679753A-G A G
+22 23680613 22:23680613C-T C T
+22 23682530 22:23682530G-A G A
+22 23683013 22:23683013C-T C T
+22 23683796 22:23683796C-T C T
+22 23685460 22:23685460C-T C T
+22 23685824 22:23685824G-A G A
+22 23687311 22:23687311G-T G T
+22 23687353 22:23687353C-T C T
+22 23687945 22:23687945C-T C T
+22 23688134 22:23688134C-T C T
+22 23688345 22:23688345A-G A G
+22 23688597 22:23688597T-C T C
+22 23689044 22:23689044T-A T A
+22 23689214 22:23689214G-C G C
+22 23689358 22:23689358G-A G A
+22 23689360 22:23689360T-C T C
+22 23689406 22:23689406G-A G A
+22 23689414 22:23689414C-T C T
+22 23689820 22:23689820A-G A G
+22 23690110 22:23690110G-C G C
+22 23690186 22:23690186A-G A G
+22 23690195 22:23690195T-C T C
+22 23690325 22:23690325G-A G A
+22 23690388 22:23690388A-G A G
+22 23690414 22:23690414G-A G A
+22 23690423 22:23690423C-T C T
+22 23690464 22:23690464G-A G A
+22 23690509 22:23690509G-A G A
+22 23690560 22:23690560C-T C T
+22 23690725 22:23690725C-T C T
+22 23690731 22:23690731T-A T A
+22 23691471 22:23691471T-C T C
+22 23691564 22:23691564G-A G A
+22 23691868 22:23691868C-T C T
+22 23691995 22:23691995C-T C T
+22 23692148 22:23692148A-T A T
+22 23692738 22:23692738C-T C T
+22 23692840 22:23692840T-C T C
+22 23693618 22:23693618A-T A T
+22 23693911 22:23693911A-G A G
+22 23693940 22:23693940G-C G C
+22 23697301 22:23697301C-T C T
+22 23698549 22:23698549C-T C T
+22 23698819 22:23698819T-G T G
+22 23699269 22:23699269C-T C T
+22 23699601 22:23699601G-A G A
+22 23699610 22:23699610C-T C T
+22 23700247 22:23700247A-G A G
+22 23700613 22:23700613T-C T C
+22 23700622 22:23700622C-T C T
+22 23700639 22:23700639T-C T C
+22 23700765 22:23700765C-T C T
+22 23700907 22:23700907G-A G A
+22 23700982 22:23700982T-G T G
+22 23701028 22:23701028G-A G A
+22 23701350 22:23701350A-G A G
+22 23701395 22:23701395G-A G A
+22 23701581 22:23701581T-C T C
+22 23701763 22:23701763C-G C G
+22 23701804 22:23701804T-C T C
+22 23702130 22:23702130T-C T C
+22 23702185 22:23702185T-C T C
+22 23702316 22:23702316A-G A G
+22 23704189 22:23704189C-A C A
+22 23704813 22:23704813T-C T C
+22 23706717 22:23706717G-C G C
+22 23706853 22:23706853C-T C T
+22 23706975 22:23706975A-G A G
+22 23707938 22:23707938G-A G A
+22 23708020 22:23708020A-G A G
+22 23708125 22:23708125G-A G A
+22 23708291 22:23708291G-A G A
+22 23708455 22:23708455C-G C G
+22 23708474 22:23708474C-A C A
+22 23708489 22:23708489G-A G A
+22 23708741 22:23708741G-A G A
+22 23708833 22:23708833C-T C T
+22 23708881 22:23708881A-G A G
+22 23709511 22:23709511T-C T C
+22 23709950 22:23709950T-C T C
+22 23710483 22:23710483T-C T C
+22 23712520 22:23712520A-G A G
+22 23712647 22:23712647A-C A C
+22 23713237 22:23713237G-A G A
+22 23713809 22:23713809C-T C T
+22 23713967 22:23713967A-G A G
+22 23715418 22:23715418T-A T A
+22 23717005 22:23717005T-C T C
+22 23717465 22:23717465C-T C T
+22 23717466 22:23717466G-A G A
+22 23717556 22:23717556G-C G C
+22 23717987 22:23717987A-G A G
+22 23723050 22:23723050G-A G A
+22 23723721 22:23723721G-T G T
+22 23724218 22:23724218C-G C G
+22 23725728 22:23725728C-T C T
+22 23725790 22:23725790G-C G C
+22 23725886 22:23725886A-C A C
+22 23726269 22:23726269T-C T C
+22 23728769 22:23728769G-A G A
+22 23728799 22:23728799C-G C G
+22 23729127 22:23729127C-G C G
+22 23729460 22:23729460G-A G A
+22 23729698 22:23729698G-A G A
+22 23730042 22:23730042G-A G A
+22 23730370 22:23730370T-C T C
+22 23730660 22:23730660G-A G A
+22 23730676 22:23730676G-C G C
+22 23730690 22:23730690G-A G A
+22 23730734 22:23730734A-G A G
+22 23730848 22:23730848A-G A G
+22 23730871 22:23730871C-T C T
+22 23731367 22:23731367T-C T C
+22 23731801 22:23731801A-G A G
+22 23731940 22:23731940G-A G A
+22 23732274 22:23732274A-T A T
+22 23732284 22:23732284A-G A G
+22 23732317 22:23732317A-G A G
+22 23732521 22:23732521G-A G A
+22 23732615 22:23732615A-T A T
+22 23732745 22:23732745A-G A G
+22 23732760 22:23732760T-C T C
+22 23732885 22:23732885C-A C A
+22 23732992 22:23732992G-A G A
+22 23733159 22:23733159A-G A G
+22 23733354 22:23733354C-T C T
+22 23733390 22:23733390C-A C A
+22 23733392 22:23733392A-G A G
+22 23733417 22:23733417G-A G A
+22 23733623 22:23733623C-T C T
+22 23733799 22:23733799T-C T C
+22 23733872 22:23733872C-T C T
+22 23733932 22:23733932T-G T G
+22 23734015 22:23734015C-T C T
+22 23734250 22:23734250C-T C T
+22 23734769 22:23734769C-T C T
+22 23734930 22:23734930G-A G A
+22 23735649 22:23735649C-A C A
+22 23735751 22:23735751T-C T C
+22 23735765 22:23735765C-T C T
+22 23736180 22:23736180C-T C T
+22 23736213 22:23736213T-C T C
+22 23736241 22:23736241G-A G A
+22 23736338 22:23736338G-A G A
+22 23737357 22:23737357A-C A C
+22 23738491 22:23738491A-T A T
+22 23738649 22:23738649C-T C T
+22 23739533 22:23739533C-T C T
+22 23740098 22:23740098C-T C T
+22 23740521 22:23740521T-C T C
+22 23740753 22:23740753A-G A G
+22 23741810 22:23741810A-G A G
+22 23742018 22:23742018A-G A G
+22 23742105 22:23742105G-A G A
+22 23742308 22:23742308C-A C A
+22 23743499 22:23743499A-C A C
+22 23744161 22:23744161C-G C G
+22 23744941 22:23744941T-G T G
+22 23746352 22:23746352G-A G A
+22 23746923 22:23746923T-C T C
+22 23746954 22:23746954C-T C T
+22 23747079 22:23747079G-A G A
+22 23747330 22:23747330C-G C G
+22 23747545 22:23747545G-A G A
+22 23747610 22:23747610G-A G A
+22 23747624 22:23747624C-T C T
+22 23747657 22:23747657G-A G A
+22 23747665 22:23747665G-A G A
+22 23747870 22:23747870G-T G T
+22 23748149 22:23748149G-C G C
+22 23748369 22:23748369G-A G A
+22 23748525 22:23748525T-C T C
+22 23748911 22:23748911T-C T C
+22 23749008 22:23749008T-C T C
+22 23749070 22:23749070C-A C A
+22 23749149 22:23749149G-A G A
+22 23750312 22:23750312C-T C T
+22 23750349 22:23750349T-C T C
+22 23750730 22:23750730T-C T C
+22 23750736 22:23750736G-A G A
+22 23750847 22:23750847C-T C T
+22 23751488 22:23751488A-G A G
+22 23752283 22:23752283A-G A G
+22 23752398 22:23752398C-T C T
+22 23753059 22:23753059T-C T C
+22 23753250 22:23753250T-C T C
+22 23753349 22:23753349G-C G C
+22 23753528 22:23753528T-C T C
+22 23753889 22:23753889A-G A G
+22 23754338 22:23754338G-A G A
+22 23754545 22:23754545C-A C A
+22 23754578 22:23754578A-G A G
+22 23754702 22:23754702A-G A G
+22 23754966 22:23754966C-T C T
+22 23755228 22:23755228A-G A G
+22 23755859 22:23755859C-G C G
+22 23755869 22:23755869A-G A G
+22 23755964 22:23755964T-C T C
+22 23756050 22:23756050A-G A G
+22 23756423 22:23756423G-A G A
+22 23756637 22:23756637A-G A G
+22 23756971 22:23756971G-A G A
+22 23757078 22:23757078C-T C T
+22 23757434 22:23757434C-G C G
+22 23757570 22:23757570G-A G A
+22 23757786 22:23757786G-A G A
+22 23757964 22:23757964C-A C A
+22 23758488 22:23758488C-G C G
+22 23758531 22:23758531C-T C T
+22 23758532 22:23758532T-A T A
+22 23759015 22:23759015A-C A C
+22 23759108 22:23759108C-T C T
+22 23759215 22:23759215C-T C T
+22 23759372 22:23759372C-T C T
+22 23759573 22:23759573C-A C A
+22 23761120 22:23761120C-A C A
+22 23761160 22:23761160C-T C T
+22 23761236 22:23761236A-C A C
+22 23761306 22:23761306C-A C A
+22 23761356 22:23761356T-C T C
+22 23761389 22:23761389G-A G A
+22 23761391 22:23761391G-T G T
+22 23761402 22:23761402T-A T A
+22 23761524 22:23761524C-G C G
+22 23761660 22:23761660A-G A G
+22 23761716 22:23761716C-A C A
+22 23761786 22:23761786A-G A G
+22 23761912 22:23761912C-T C T
+22 23762221 22:23762221G-C G C
+22 23762236 22:23762236C-G C G
+22 23762264 22:23762264T-C T C
+22 23762432 22:23762432G-A G A
+22 23762437 22:23762437A-T A T
+22 23762646 22:23762646C-T C T
+22 23762667 22:23762667C-T C T
+22 23762739 22:23762739T-C T C
+22 23762843 22:23762843A-G A G
+22 23763054 22:23763054G-A G A
+22 23763114 22:23763114A-G A G
+22 23763448 22:23763448C-G C G
+22 23763496 22:23763496T-A T A
+22 23763507 22:23763507G-C G C
+22 23763969 22:23763969G-T G T
+22 23764047 22:23764047T-C T C
+22 23764272 22:23764272C-T C T
+22 23765006 22:23765006T-C T C
+22 23765265 22:23765265A-G A G
+22 23765407 22:23765407T-C T C
+22 23765953 22:23765953A-C A C
+22 23766017 22:23766017A-G A G
+22 23766163 22:23766163G-A G A
+22 23766857 22:23766857G-A G A
+22 23769050 22:23769050G-C G C
+22 23769986 22:23769986C-T C T
+22 23770275 22:23770275G-C G C
+22 23770554 22:23770554T-C T C
+22 23770949 22:23770949C-T C T
+22 23772200 22:23772200T-C T C
+22 23773416 22:23773416T-C T C
+22 23773610 22:23773610G-T G T
+22 23774625 22:23774625G-A G A
+22 23776187 22:23776187C-A C A
+22 23776219 22:23776219G-A G A
+22 23778256 22:23778256A-C A C
+22 23778506 22:23778506A-G A G
+22 23779599 22:23779599G-C G C
+22 23779822 22:23779822C-T C T
+22 23780538 22:23780538C-T C T
+22 23780699 22:23780699C-T C T
+22 23781075 22:23781075T-C T C
+22 23781205 22:23781205A-C A C
+22 23781480 22:23781480A-G A G
+22 23781627 22:23781627T-G T G
+22 23781828 22:23781828T-C T C
+22 23782725 22:23782725G-A G A
+22 23783310 22:23783310C-G C G
+22 23783491 22:23783491C-T C T
+22 23785702 22:23785702G-A G A
+22 23786770 22:23786770C-T C T
+22 23786995 22:23786995A-G A G
+22 23788008 22:23788008A-G A G
+22 23788591 22:23788591A-C A C
+22 23788842 22:23788842C-T C T
+22 23788945 22:23788945A-C A C
+22 23789661 22:23789661G-C G C
+22 23789701 22:23789701C-T C T
+22 23789969 22:23789969G-A G A
+22 23790140 22:23790140C-T C T
+22 23790357 22:23790357A-G A G
+22 23791378 22:23791378G-A G A
+22 23791873 22:23791873C-T C T
+22 23792111 22:23792111C-G C G
+22 23792203 22:23792203A-G A G
+22 23792564 22:23792564G-A G A
+22 23792781 22:23792781G-A G A
+22 23792858 22:23792858A-G A G
+22 23793801 22:23793801C-T C T
+22 23794221 22:23794221G-A G A
+22 23794320 22:23794320A-G A G
+22 23794573 22:23794573A-G A G
+22 23794775 22:23794775C-T C T
+22 23794844 22:23794844A-G A G
+22 23794920 22:23794920G-C G C
+22 23795050 22:23795050A-G A G
+22 23795114 22:23795114G-A G A
+22 23795190 22:23795190T-C T C
+22 23795933 22:23795933G-T G T
+22 23796705 22:23796705G-T G T
+22 23796750 22:23796750G-A G A
+22 23797721 22:23797721A-G A G
+22 23798725 22:23798725A-G A G
+22 23800070 22:23800070T-A T A
+22 23800278 22:23800278A-G A G
+22 23800285 22:23800285C-G C G
+22 23800858 22:23800858G-A G A
+22 23800933 22:23800933G-A G A
+22 23801033 22:23801033C-T C T
+22 23801123 22:23801123C-T C T
+22 23801155 22:23801155G-A G A
+22 23801412 22:23801412C-T C T
+22 23801430 22:23801430G-C G C
+22 23802171 22:23802171T-C T C
+22 23802242 22:23802242C-T C T
+22 23802306 22:23802306A-T A T
+22 23803304 22:23803304A-G A G
+22 23803608 22:23803608A-G A G
+22 23803722 22:23803722G-A G A
+22 23804301 22:23804301A-C A C
+22 23804670 22:23804670T-G T G
+22 23804685 22:23804685A-G A G
+22 23805130 22:23805130A-C A C
+22 23806781 22:23806781A-G A G
+22 23807581 22:23807581A-G A G
+22 23807603 22:23807603G-T G T
+22 23807720 22:23807720G-A G A
+22 23807739 22:23807739G-C G C
+22 23808296 22:23808296A-G A G
+22 23809677 22:23809677A-G A G
+22 23809921 22:23809921C-A C A
+22 23810271 22:23810271A-G A G
+22 23810298 22:23810298G-A G A
+22 23811240 22:23811240G-A G A
+22 23811647 22:23811647A-G A G
+22 23812127 22:23812127C-T C T
+22 23812479 22:23812479A-G A G
+22 23812614 22:23812614A-G A G
+22 23812823 22:23812823C-T C T
+22 23813258 22:23813258T-G T G
+22 23813308 22:23813308G-C G C
+22 23813486 22:23813486A-G A G
+22 23814862 22:23814862C-G C G
+22 23815080 22:23815080G-A G A
+22 23815127 22:23815127T-G T G
+22 23815131 22:23815131G-C G C
+22 23815383 22:23815383C-G C G
+22 23815514 22:23815514T-C T C
+22 23815573 22:23815573G-A G A
+22 23815591 22:23815591C-T C T
+22 23815731 22:23815731G-A G A
+22 23815760 22:23815760T-C T C
+22 23815789 22:23815789A-G A G
+22 23815962 22:23815962C-A C A
+22 23816142 22:23816142C-T C T
+22 23816145 22:23816145C-T C T
+22 23816428 22:23816428A-G A G
+22 23816569 22:23816569C-T C T
+22 23817027 22:23817027T-C T C
+22 23817095 22:23817095C-A C A
+22 23817146 22:23817146C-T C T
+22 23817240 22:23817240G-A G A
+22 23817369 22:23817369A-C A C
+22 23817414 22:23817414C-T C T
+22 23817486 22:23817486G-A G A
+22 23817758 22:23817758C-A C A
+22 23817891 22:23817891G-A G A
+22 23818030 22:23818030T-A T A
+22 23818083 22:23818083C-T C T
+22 23818166 22:23818166G-A G A
+22 23818433 22:23818433A-G A G
+22 23818701 22:23818701A-T A T
+22 23819325 22:23819325A-G A G
+22 23819329 22:23819329C-T C T
+22 23819697 22:23819697G-T G T
+22 23820990 22:23820990T-C T C
+22 23821430 22:23821430C-A C A
+22 23823749 22:23823749G-A G A
+22 23824326 22:23824326A-G A G
+22 23825183 22:23825183T-C T C
+22 23825256 22:23825256A-G A G
+22 23825928 22:23825928T-C T C
+22 23826549 22:23826549A-G A G
+22 23826586 22:23826586G-A G A
+22 23826675 22:23826675C-T C T
+22 23826866 22:23826866G-A G A
+22 23827304 22:23827304G-A G A
+22 23827584 22:23827584G-A G A
+22 23827836 22:23827836A-G A G
+22 23828410 22:23828410A-T A T
+22 23829263 22:23829263C-T C T
+22 23829276 22:23829276C-T C T
+22 23829461 22:23829461G-A G A
+22 23829623 22:23829623A-G A G
+22 23829702 22:23829702G-A G A
+22 23829851 22:23829851T-C T C
+22 23830155 22:23830155T-C T C
+22 23830249 22:23830249A-G A G
+22 23830353 22:23830353C-T C T
+22 23830493 22:23830493A-G A G
+22 23830765 22:23830765T-C T C
+22 23831010 22:23831010T-C T C
+22 23832509 22:23832509G-A G A
+22 23832572 22:23832572C-A C A
+22 23832599 22:23832599T-G T G
+22 23832634 22:23832634C-T C T
+22 23833130 22:23833130C-G C G
+22 23833589 22:23833589T-C T C
+22 23833670 22:23833670G-A G A
+22 23833712 22:23833712C-T C T
+22 23833878 22:23833878A-G A G
+22 23834373 22:23834373G-C G C
+22 23834440 22:23834440T-C T C
+22 23834560 22:23834560G-T G T
+22 23834614 22:23834614C-T C T
+22 23834683 22:23834683C-A C A
+22 23834813 22:23834813C-G C G
+22 23834889 22:23834889C-A C A
+22 23835039 22:23835039A-C A C
+22 23835269 22:23835269C-T C T
+22 23835514 22:23835514A-C A C
+22 23835894 22:23835894T-A T A
+22 23836045 22:23836045A-G A G
+22 23836819 22:23836819T-C T C
+22 23836820 22:23836820G-C G C
+22 23837390 22:23837390C-T C T
+22 23837659 22:23837659C-T C T
+22 23837898 22:23837898A-C A C
+22 23838200 22:23838200G-A G A
+22 23838265 22:23838265C-T C T
+22 23838304 22:23838304A-G A G
+22 23838312 22:23838312C-A C A
+22 23838551 22:23838551G-A G A
+22 23838745 22:23838745T-C T C
+22 23838833 22:23838833G-C G C
+22 23839091 22:23839091C-T C T
+22 23839286 22:23839286G-T G T
+22 23839304 22:23839304G-A G A
+22 23839467 22:23839467T-G T G
+22 23839495 22:23839495G-A G A
+22 23839920 22:23839920A-G A G
+22 23840061 22:23840061C-T C T
+22 23840483 22:23840483G-A G A
+22 23840531 22:23840531T-A T A
+22 23841356 22:23841356C-T C T
+22 23841552 22:23841552A-G A G
+22 23842442 22:23842442C-T C T
+22 23842521 22:23842521G-T G T
+22 23842540 22:23842540T-C T C
+22 23843130 22:23843130C-T C T
+22 23843184 22:23843184C-T C T
+22 23843675 22:23843675C-T C T
+22 23843987 22:23843987C-T C T
+22 23844225 22:23844225T-C T C
+22 23844226 22:23844226T-C T C
+22 23844366 22:23844366G-A G A
+22 23845547 22:23845547A-G A G
+22 23846120 22:23846120A-G A G
+22 23846539 22:23846539T-C T C
+22 23846777 22:23846777A-G A G
+22 23847111 22:23847111A-T A T
+22 23847119 22:23847119C-G C G
+22 23847122 22:23847122A-G A G
+22 23847720 22:23847720G-T G T
+22 23848767 22:23848767C-T C T
+22 23848907 22:23848907T-C T C
+22 23849044 22:23849044A-C A C
+22 23850130 22:23850130T-C T C
+22 23850298 22:23850298T-C T C
+22 23850482 22:23850482T-A T A
+22 23851701 22:23851701C-T C T
+22 23852072 22:23852072A-C A C
+22 23852494 22:23852494A-G A G
+22 23853295 22:23853295A-T A T
+22 23853362 22:23853362A-G A G
+22 23853388 22:23853388C-T C T
+22 23853449 22:23853449T-A T A
+22 23853571 22:23853571C-A C A
+22 23853685 22:23853685C-T C T
+22 23853706 22:23853706G-T G T
+22 23853909 22:23853909C-A C A
+22 23853965 22:23853965T-C T C
+22 23853983 22:23853983C-T C T
+22 23854098 22:23854098C-T C T
+22 23854125 22:23854125G-C G C
+22 23854177 22:23854177G-T G T
+22 23854178 22:23854178C-T C T
+22 23854226 22:23854226T-C T C
+22 23854282 22:23854282G-A G A
+22 23854533 22:23854533C-T C T
+22 23854860 22:23854860T-G T G
+22 23854882 22:23854882A-G A G
+22 23854935 22:23854935A-G A G
+22 23854964 22:23854964G-A G A
+22 23855036 22:23855036G-C G C
+22 23855154 22:23855154T-C T C
+22 23855522 22:23855522A-G A G
+22 23855657 22:23855657A-G A G
+22 23856954 22:23856954T-C T C
+22 23857601 22:23857601A-G A G
+22 23858449 22:23858449C-G C G
+22 23859802 22:23859802C-T C T
+22 23860188 22:23860188T-C T C
+22 23860255 22:23860255G-A G A
+22 23860506 22:23860506C-T C T
+22 23860657 22:23860657A-G A G
+22 23860874 22:23860874A-G A G
+22 23861297 22:23861297G-T G T
+22 23861357 22:23861357G-A G A
+22 23861981 22:23861981G-A G A
+22 23862153 22:23862153C-T C T
+22 23862788 22:23862788A-G A G
+22 23862853 22:23862853C-T C T
+22 23863430 22:23863430C-T C T
+22 23864051 22:23864051A-G A G
+22 23864489 22:23864489T-G T G
+22 23864533 22:23864533G-A G A
+22 23864576 22:23864576C-T C T
+22 23865221 22:23865221A-G A G
+22 23865341 22:23865341T-G T G
+22 23865356 22:23865356G-A G A
+22 23865367 22:23865367T-C T C
+22 23865497 22:23865497A-G A G
+22 23865701 22:23865701G-A G A
+22 23865750 22:23865750G-A G A
+22 23866232 22:23866232C-G C G
+22 23866318 22:23866318G-A G A
+22 23867242 22:23867242C-T C T
+22 23867924 22:23867924C-T C T
+22 23868334 22:23868334C-T C T
+22 23868718 22:23868718G-A G A
+22 23868956 22:23868956A-G A G
+22 23868980 22:23868980G-A G A
+22 23869059 22:23869059A-T A T
+22 23869130 22:23869130C-T C T
+22 23869373 22:23869373T-C T C
+22 23869391 22:23869391C-T C T
+22 23869784 22:23869784G-A G A
+22 23869912 22:23869912G-A G A
+22 23870079 22:23870079T-C T C
+22 23870085 22:23870085A-T A T
+22 23870090 22:23870090G-A G A
+22 23870528 22:23870528G-A G A
+22 23870646 22:23870646G-A G A
+22 23870698 22:23870698A-G A G
+22 23870769 22:23870769C-T C T
+22 23870974 22:23870974A-G A G
+22 23870989 22:23870989C-T C T
+22 23871042 22:23871042G-T G T
+22 23871105 22:23871105A-G A G
+22 23871201 22:23871201T-C T C
+22 23871825 22:23871825C-T C T
+22 23871971 22:23871971C-T C T
+22 23872077 22:23872077C-G C G
+22 23872091 22:23872091T-A T A
+22 23872134 22:23872134C-G C G
+22 23872195 22:23872195A-G A G
+22 23872276 22:23872276A-T A T
+22 23872767 22:23872767C-A C A
+22 23872768 22:23872768C-T C T
+22 23872787 22:23872787T-C T C
+22 23872877 22:23872877G-A G A
+22 23872936 22:23872936A-G A G
+22 23873076 22:23873076C-T C T
+22 23873266 22:23873266A-T A T
+22 23873270 22:23873270A-C A C
+22 23873741 22:23873741C-T C T
+22 23874008 22:23874008G-C G C
+22 23874170 22:23874170G-A G A
+22 23874199 22:23874199T-A T A
+22 23874416 22:23874416G-T G T
+22 23874589 22:23874589C-T C T
+22 23874708 22:23874708G-A G A
+22 23874731 22:23874731C-G C G
+22 23874838 22:23874838C-T C T
+22 23875234 22:23875234C-G C G
+22 23878658 22:23878658C-T C T
+22 23879695 22:23879695C-T C T
+22 23884219 22:23884219T-C T C
+22 23884559 22:23884559G-A G A
+22 23884893 22:23884893C-T C T
+22 23885003 22:23885003A-G A G
+22 23885602 22:23885602A-C A C
+22 23885771 22:23885771G-A G A
+22 23889626 22:23889626T-G T G
+22 23889744 22:23889744A-G A G
+22 23889884 22:23889884C-T C T
+22 23890016 22:23890016G-A G A
+22 23890716 22:23890716T-C T C
+22 23890836 22:23890836T-C T C
+22 23891107 22:23891107T-C T C
+22 23891495 22:23891495C-T C T
+22 23891809 22:23891809T-C T C
+22 23891853 22:23891853C-T C T
+22 23891904 22:23891904T-C T C
+22 23892145 22:23892145C-T C T
+22 23892310 22:23892310C-T C T
+22 23892433 22:23892433C-T C T
+22 23894242 22:23894242G-A G A
+22 23894483 22:23894483G-C G C
+22 23894580 22:23894580C-T C T
+22 23894697 22:23894697C-T C T
+22 23895043 22:23895043A-G A G
+22 23895625 22:23895625C-T C T
+22 23895789 22:23895789A-C A C
+22 23895885 22:23895885C-T C T
+22 23896107 22:23896107T-C T C
+22 23896365 22:23896365C-A C A
+22 23896968 22:23896968T-C T C
+22 23896981 22:23896981C-T C T
+22 23897669 22:23897669G-A G A
+22 23897780 22:23897780C-T C T
+22 23898323 22:23898323G-A G A
+22 23898845 22:23898845G-A G A
+22 23898912 22:23898912G-A G A
+22 23899142 22:23899142A-G A G
+22 23899300 22:23899300C-T C T
+22 23899570 22:23899570G-C G C
+22 23899944 22:23899944G-A G A
+22 23899964 22:23899964T-C T C
+22 23900414 22:23900414T-C T C
+22 23901646 22:23901646T-C T C
+22 23903613 22:23903613G-A G A
+22 23904610 22:23904610G-A G A
+22 23908009 22:23908009G-C G C
+22 23908361 22:23908361G-T G T
+22 23910084 22:23910084G-A G A
+22 23910610 22:23910610C-T C T
+22 23910746 22:23910746G-A G A
+22 23911487 22:23911487G-C G C
+22 23912723 22:23912723A-G A G
+22 23913579 22:23913579C-T C T
+22 23914020 22:23914020C-T C T
+22 23914502 22:23914502G-A G A
+22 23914948 22:23914948G-C G C
+22 23915243 22:23915243C-T C T
+22 23915652 22:23915652G-A G A
+22 23915889 22:23915889G-A G A
+22 23916108 22:23916108T-C T C
+22 23916125 22:23916125A-G A G
+22 23916442 22:23916442G-A G A
+22 23917943 22:23917943C-T C T
+22 23918447 22:23918447A-T A T
+22 23919363 22:23919363C-A C A
+22 23920323 22:23920323C-T C T
+22 23921202 22:23921202A-G A G
+22 23921427 22:23921427A-G A G
+22 23921529 22:23921529T-G T G
+22 23921581 22:23921581C-T C T
+22 23922552 22:23922552G-A G A
+22 23922983 22:23922983A-G A G
+22 23923425 22:23923425C-A C A
+22 23923488 22:23923488G-A G A
+22 23924327 22:23924327A-G A G
+22 23925335 22:23925335T-C T C
+22 23925431 22:23925431A-G A G
+22 23925779 22:23925779T-C T C
+22 23925837 22:23925837G-A G A
+22 23926250 22:23926250C-T C T
+22 23926532 22:23926532C-G C G
+22 23927134 22:23927134G-A G A
+22 23928891 22:23928891C-T C T
+22 23928976 22:23928976C-T C T
+22 23929634 22:23929634G-T G T
+22 23929636 22:23929636A-G A G
+22 23929674 22:23929674A-G A G
+22 23929701 22:23929701A-C A C
+22 23929852 22:23929852C-T C T
+22 23930279 22:23930279A-G A G
+22 23930353 22:23930353A-G A G
+22 23930914 22:23930914G-A G A
+22 23931022 22:23931022A-G A G
+22 23931845 22:23931845T-G T G
+22 23932181 22:23932181G-A G A
+22 23932731 22:23932731G-A G A
+22 23932978 22:23932978C-T C T
+22 23933452 22:23933452T-C T C
+22 23934025 22:23934025C-T C T
+22 23934030 22:23934030G-T G T
+22 23934184 22:23934184T-C T C
+22 23934238 22:23934238G-C G C
+22 23935112 22:23935112G-A G A
+22 23935587 22:23935587A-G A G
+22 23935939 22:23935939C-T C T
+22 23936090 22:23936090G-A G A
+22 23936314 22:23936314T-G T G
+22 23936482 22:23936482G-A G A
+22 23936507 22:23936507G-A G A
+22 23936573 22:23936573C-T C T
+22 23937135 22:23937135A-G A G
+22 23937519 22:23937519G-A G A
+22 23937621 22:23937621G-A G A
+22 23937732 22:23937732C-A C A
+22 23937811 22:23937811C-T C T
+22 23938164 22:23938164C-T C T
+22 23938204 22:23938204T-C T C
+22 23938238 22:23938238C-G C G
+22 23938354 22:23938354C-T C T
+22 23938570 22:23938570G-A G A
+22 23938695 22:23938695G-A G A
+22 23938941 22:23938941A-G A G
+22 23939293 22:23939293T-C T C
+22 23940991 22:23940991G-A G A
+22 23942666 22:23942666G-A G A
+22 23942792 22:23942792C-T C T
+22 23943740 22:23943740A-C A C
+22 23944762 22:23944762C-T C T
+22 23944898 22:23944898G-C G C
+22 23944929 22:23944929G-C G C
+22 23945108 22:23945108C-T C T
+22 23945369 22:23945369G-A G A
+22 23945572 22:23945572C-T C T
+22 23945876 22:23945876C-T C T
+22 23946719 22:23946719C-G C G
+22 23946949 22:23946949T-C T C
+22 23946990 22:23946990C-G C G
+22 23947352 22:23947352A-G A G
+22 23947494 22:23947494T-C T C
+22 23947815 22:23947815A-G A G
+22 23948561 22:23948561G-A G A
+22 23949555 22:23949555A-G A G
+22 23949744 22:23949744T-C T C
+22 23949997 22:23949997T-G T G
+22 23950646 22:23950646A-G A G
+22 23951753 22:23951753C-T C T
+22 23951928 22:23951928T-C T C
+22 23952160 22:23952160G-A G A
+22 23952627 22:23952627C-T C T
+22 23953270 22:23953270G-T G T
+22 23953728 22:23953728A-G A G
+22 23954517 22:23954517G-C G C
+22 23954571 22:23954571G-A G A
+22 23955765 22:23955765T-G T G
+22 23956673 22:23956673T-G T G
+22 23958855 22:23958855C-T C T
+22 23960187 22:23960187C-T C T
+22 23961126 22:23961126C-T C T
+22 23961187 22:23961187C-T C T
+22 23962328 22:23962328C-T C T
+22 23962404 22:23962404T-C T C
+22 23963154 22:23963154G-A G A
+22 23965020 22:23965020C-T C T
+22 23965722 22:23965722T-C T C
+22 23966720 22:23966720C-T C T
+22 23967147 22:23967147C-T C T
+22 23967740 22:23967740T-C T C
+22 23967893 22:23967893A-C A C
+22 23969362 22:23969362T-C T C
+22 23969420 22:23969420T-C T C
+22 23970044 22:23970044G-A G A
+22 23970708 22:23970708C-T C T
+22 23971028 22:23971028C-T C T
+22 23971598 22:23971598A-G A G
+22 23971961 22:23971961T-C T C
+22 23971966 22:23971966A-G A G
+22 23972141 22:23972141T-C T C
+22 23972409 22:23972409A-G A G
+22 23972828 22:23972828G-A G A
+22 23973725 22:23973725C-T C T
+22 23973849 22:23973849T-C T C
+22 23973894 22:23973894A-G A G
+22 23973912 22:23973912C-T C T
+22 23974200 22:23974200A-G A G
+22 23974361 22:23974361C-T C T
+22 23974651 22:23974651C-G C G
+22 23974817 22:23974817G-A G A
+22 23976479 22:23976479G-A G A
+22 23977055 22:23977055C-T C T
+22 23977513 22:23977513A-G A G
+22 23977763 22:23977763C-T C T
+22 23978031 22:23978031G-A G A
+22 23978081 22:23978081G-A G A
+22 23979219 22:23979219T-C T C
+22 23979342 22:23979342C-T C T
+22 23979780 22:23979780A-G A G
+22 23980755 22:23980755C-G C G
+22 23980868 22:23980868C-A C A
+22 23980933 22:23980933C-T C T
+22 23980941 22:23980941T-C T C
+22 23980968 22:23980968T-A T A
+22 23982724 22:23982724T-C T C
+22 23982727 22:23982727A-G A G
+22 23982775 22:23982775C-T C T
+22 23982792 22:23982792T-C T C
+22 23983422 22:23983422C-T C T
+22 23984778 22:23984778G-A G A
+22 23985332 22:23985332C-T C T
+22 23986055 22:23986055T-C T C
+22 23987608 22:23987608C-A C A
+22 23988257 22:23988257T-C T C
+22 23988477 22:23988477T-C T C
+22 23990053 22:23990053G-A G A
+22 23990680 22:23990680C-T C T
+22 23991420 22:23991420C-T C T
+22 23991975 22:23991975C-T C T
+22 23992611 22:23992611C-T C T
+22 23992741 22:23992741C-T C T
+22 23992780 22:23992780G-T G T
+22 23993051 22:23993051G-T G T
+22 23993132 22:23993132T-G T G
+22 23993135 22:23993135G-A G A
+22 23993174 22:23993174G-A G A
+22 23993180 22:23993180A-G A G
+22 23993358 22:23993358T-C T C
+22 23993416 22:23993416A-T A T
+22 23993618 22:23993618G-A G A
+22 23993672 22:23993672T-C T C
+22 23993831 22:23993831G-C G C
+22 23993962 22:23993962C-T C T
+22 23994026 22:23994026G-A G A
+22 23994139 22:23994139G-A G A
+22 23994168 22:23994168G-T G T
+22 23994351 22:23994351G-C G C
+22 23994781 22:23994781A-G A G
+22 23994881 22:23994881T-A T A
+22 23994933 22:23994933C-T C T
+22 23995026 22:23995026A-C A C
+22 23995056 22:23995056G-A G A
+22 23995213 22:23995213C-T C T
+22 23995540 22:23995540C-G C G
+22 23995561 22:23995561T-C T C
+22 23995609 22:23995609T-C T C
+22 23995797 22:23995797G-A G A
+22 23995833 22:23995833T-G T G
+22 23995950 22:23995950G-A G A
+22 23995997 22:23995997C-T C T
+22 23996225 22:23996225C-A C A
+22 23996259 22:23996259T-C T C
+22 23996261 22:23996261A-G A G
+22 23996463 22:23996463A-G A G
+22 23996567 22:23996567A-G A G
+22 23996590 22:23996590C-T C T
+22 23996629 22:23996629G-A G A
+22 23996702 22:23996702A-G A G
+22 23996722 22:23996722T-C T C
+22 23996965 22:23996965T-C T C
+22 23997007 22:23997007T-C T C
+22 23997079 22:23997079T-C T C
+22 23997266 22:23997266G-A G A
+22 23997305 22:23997305C-T C T
+22 23997651 22:23997651T-C T C
+22 23997997 22:23997997T-C T C
+22 23998208 22:23998208G-C G C
+22 23998474 22:23998474T-G T G
+22 23998475 22:23998475A-G A G
+22 23998780 22:23998780G-A G A
+22 23998894 22:23998894G-A G A
+22 23999062 22:23999062T-C T C
+22 23999099 22:23999099T-C T C
+22 23999138 22:23999138C-T C T
+22 23999257 22:23999257T-C T C
+22 23999284 22:23999284T-A T A
+22 23999318 22:23999318C-T C T
+22 23999348 22:23999348C-T C T
+22 23999627 22:23999627T-C T C
+22 24000258 22:24000258G-C G C
+22 24000486 22:24000486C-T C T
+22 24000528 22:24000528G-T G T
+22 24000549 22:24000549T-C T C
+22 24000567 22:24000567G-A G A
+22 24000569 22:24000569C-G C G
+22 24000993 22:24000993G-A G A
+22 24001094 22:24001094C-T C T
+22 24001256 22:24001256A-C A C
+22 24001281 22:24001281G-C G C
+22 24001643 22:24001643C-T C T
+22 24001837 22:24001837T-G T G
+22 24001975 22:24001975A-T A T
+22 24002030 22:24002030T-C T C
+22 24002522 22:24002522T-G T G
+22 24003015 22:24003015C-T C T
+22 24003356 22:24003356G-C G C
+22 24004311 22:24004311G-A G A
+22 24004787 22:24004787C-A C A
+22 24004914 22:24004914G-C G C
+22 24005079 22:24005079G-T G T
+22 24005294 22:24005294C-G C G
+22 24005314 22:24005314G-T G T
+22 24005460 22:24005460C-G C G
+22 24005524 22:24005524A-C A C
+22 24005748 22:24005748C-T C T
+22 24005829 22:24005829C-T C T
+22 24005855 22:24005855A-G A G
+22 24006528 22:24006528C-T C T
+22 24007416 22:24007416G-A G A
+22 24011356 22:24011356C-T C T
+22 24011720 22:24011720G-A G A
+22 24011793 22:24011793A-G A G
+22 24011885 22:24011885A-C A C
+22 24012624 22:24012624G-A G A
+22 24013178 22:24013178C-G C G
+22 24013288 22:24013288G-A G A
+22 24013457 22:24013457T-C T C
+22 24014180 22:24014180A-G A G
+22 24014229 22:24014229C-T C T
+22 24015331 22:24015331T-C T C
+22 24015851 22:24015851A-G A G
+22 24015915 22:24015915G-A G A
+22 24016030 22:24016030C-T C T
+22 24016138 22:24016138G-A G A
+22 24016474 22:24016474T-C T C
+22 24017294 22:24017294C-G C G
+22 24017527 22:24017527C-G C G
+22 24017915 22:24017915A-G A G
+22 24017929 22:24017929C-T C T
+22 24018850 22:24018850T-C T C
+22 24018875 22:24018875T-C T C
+22 24019162 22:24019162T-C T C
+22 24020575 22:24020575C-T C T
+22 24020846 22:24020846A-G A G
+22 24021407 22:24021407C-T C T
+22 24021462 22:24021462G-A G A
+22 24021489 22:24021489C-T C T
+22 24021525 22:24021525T-A T A
+22 24021832 22:24021832C-T C T
+22 24021885 22:24021885C-T C T
+22 24021893 22:24021893T-C T C
+22 24021950 22:24021950G-A G A
+22 24022115 22:24022115C-T C T
+22 24022307 22:24022307G-A G A
+22 24022631 22:24022631C-T C T
+22 24022975 22:24022975A-T A T
+22 24023137 22:24023137C-T C T
+22 24023196 22:24023196C-T C T
+22 24023203 22:24023203G-A G A
+22 24023296 22:24023296C-T C T
+22 24024308 22:24024308C-T C T
+22 24024430 22:24024430C-T C T
+22 24024815 22:24024815C-T C T
+22 24024847 22:24024847T-C T C
+22 24024933 22:24024933T-C T C
+22 24025007 22:24025007G-C G C
+22 24025220 22:24025220C-A C A
+22 24025365 22:24025365C-T C T
+22 24025490 22:24025490T-C T C
+22 24025772 22:24025772C-T C T
+22 24026240 22:24026240G-A G A
+22 24026415 22:24026415G-C G C
+22 24026845 22:24026845C-A C A
+22 24027192 22:24027192C-T C T
+22 24027650 22:24027650C-G C G
+22 24028186 22:24028186G-A G A
+22 24028190 22:24028190T-C T C
+22 24028351 22:24028351T-C T C
+22 24028412 22:24028412T-C T C
+22 24028627 22:24028627C-T C T
+22 24029075 22:24029075A-G A G
+22 24029646 22:24029646T-G T G
+22 24029652 22:24029652T-C T C
+22 24030367 22:24030367A-G A G
+22 24030571 22:24030571C-T C T
+22 24030799 22:24030799T-C T C
+22 24030907 22:24030907G-A G A
+22 24031712 22:24031712G-T G T
+22 24032015 22:24032015C-A C A
+22 24032771 22:24032771T-A T A
+22 24033466 22:24033466G-A G A
+22 24033486 22:24033486T-C T C
+22 24033869 22:24033869A-G A G
+22 24034288 22:24034288A-G A G
+22 24035679 22:24035679T-C T C
+22 24035970 22:24035970C-T C T
+22 24036563 22:24036563G-A G A
+22 24036657 22:24036657T-C T C
+22 24037306 22:24037306T-G T G
+22 24038086 22:24038086A-C A C
+22 24038847 22:24038847T-C T C
+22 24042580 22:24042580C-G C G
+22 24044488 22:24044488C-G C G
+22 24044515 22:24044515C-T C T
+22 24045321 22:24045321C-T C T
+22 24045645 22:24045645C-T C T
+22 24045962 22:24045962A-C A C
+22 24046252 22:24046252A-C A C
+22 24047092 22:24047092T-C T C
+22 24047657 22:24047657G-T G T
+22 24048368 22:24048368T-C T C
+22 24049573 22:24049573T-C T C
+22 24049577 22:24049577G-A G A
+22 24049718 22:24049718T-C T C
+22 24049993 22:24049993A-G A G
+22 24050221 22:24050221C-T C T
+22 24050288 22:24050288G-A G A
+22 24050471 22:24050471C-A C A
+22 24050841 22:24050841C-T C T
+22 24051059 22:24051059C-T C T
+22 24052031 22:24052031C-T C T
+22 24053224 22:24053224T-C T C
+22 24054443 22:24054443A-T A T
+22 24054665 22:24054665G-C G C
+22 24055402 22:24055402C-A C A
+22 24055942 22:24055942A-G A G
+22 24056339 22:24056339C-G C G
+22 24056537 22:24056537G-A G A
+22 24057485 22:24057485C-T C T
+22 24058041 22:24058041C-G C G
+22 24058900 22:24058900G-C G C
+22 24059933 22:24059933C-T C T
+22 24060191 22:24060191T-G T G
+22 24061088 22:24061088C-A C A
+22 24061359 22:24061359G-A G A
+22 24061698 22:24061698C-T C T
+22 24062520 22:24062520G-A G A
+22 24062943 22:24062943A-G A G
+22 24063486 22:24063486G-A G A
+22 24064814 22:24064814A-G A G
+22 24064889 22:24064889C-T C T
+22 24066392 22:24066392G-C G C
+22 24066399 22:24066399T-G T G
+22 24066791 22:24066791C-T C T
+22 24068647 22:24068647T-A T A
+22 24068888 22:24068888C-T C T
+22 24070416 22:24070416T-C T C
+22 24070897 22:24070897A-G A G
+22 24071004 22:24071004G-C G C
+22 24071877 22:24071877G-A G A
+22 24072256 22:24072256G-C G C
+22 24072455 22:24072455C-T C T
+22 24072906 22:24072906C-A C A
+22 24072975 22:24072975A-T A T
+22 24073940 22:24073940C-T C T
+22 24074564 22:24074564C-T C T
+22 24075155 22:24075155T-C T C
+22 24075670 22:24075670T-A T A
+22 24075753 22:24075753T-C T C
+22 24076015 22:24076015C-T C T
+22 24077889 22:24077889C-A C A
+22 24078513 22:24078513G-A G A
+22 24078893 22:24078893T-C T C
+22 24078932 22:24078932G-A G A
+22 24079243 22:24079243A-G A G
+22 24079671 22:24079671T-C T C
+22 24080163 22:24080163C-G C G
+22 24080611 22:24080611T-C T C
+22 24081194 22:24081194C-A C A
+22 24081705 22:24081705C-T C T
+22 24082058 22:24082058A-G A G
+22 24082086 22:24082086C-T C T
+22 24082112 22:24082112T-C T C
+22 24082332 22:24082332T-C T C
+22 24082815 22:24082815A-G A G
+22 24083873 22:24083873C-T C T
+22 24085247 22:24085247G-A G A
+22 24085252 22:24085252C-T C T
+22 24085854 22:24085854G-T G T
+22 24085867 22:24085867G-A G A
+22 24086107 22:24086107A-G A G
+22 24087319 22:24087319A-C A C
+22 24087914 22:24087914G-C G C
+22 24088324 22:24088324G-A G A
+22 24088624 22:24088624T-C T C
+22 24089070 22:24089070C-A C A
+22 24089990 22:24089990A-G A G
+22 24090587 22:24090587C-T C T
+22 24090794 22:24090794C-T C T
+22 24091299 22:24091299C-A C A
+22 24091676 22:24091676C-A C A
+22 24093139 22:24093139G-A G A
+22 24093425 22:24093425A-T A T
+22 24093789 22:24093789C-A C A
+22 24093998 22:24093998A-G A G
+22 24094158 22:24094158C-G C G
+22 24094476 22:24094476T-G T G
+22 24094485 22:24094485G-A G A
+22 24094836 22:24094836C-T C T
+22 24094912 22:24094912T-C T C
+22 24096133 22:24096133A-G A G
+22 24096227 22:24096227A-G A G
+22 24096268 22:24096268G-T G T
+22 24096400 22:24096400T-G T G
+22 24096464 22:24096464C-T C T
+22 24096674 22:24096674A-C A C
+22 24096726 22:24096726T-A T A
+22 24096783 22:24096783T-C T C
+22 24097015 22:24097015C-T C T
+22 24097972 22:24097972C-T C T
+22 24098256 22:24098256C-T C T
+22 24098259 22:24098259G-A G A
+22 24098437 22:24098437T-C T C
+22 24098705 22:24098705A-G A G
+22 24098865 22:24098865A-G A G
+22 24099085 22:24099085G-C G C
+22 24099143 22:24099143C-T C T
+22 24099264 22:24099264C-T C T
+22 24099484 22:24099484T-A T A
+22 24099540 22:24099540C-T C T
+22 24099601 22:24099601A-C A C
+22 24099697 22:24099697G-T G T
+22 24099798 22:24099798T-C T C
+22 24100265 22:24100265C-T C T
+22 24100302 22:24100302A-G A G
+22 24100314 22:24100314G-C G C
+22 24100654 22:24100654A-G A G
+22 24101414 22:24101414A-T A T
+22 24101469 22:24101469C-G C G
+22 24101533 22:24101533T-C T C
+22 24101658 22:24101658T-G T G
+22 24101860 22:24101860G-C G C
+22 24101892 22:24101892C-T C T
+22 24102408 22:24102408C-T C T
+22 24103201 22:24103201G-T G T
+22 24103584 22:24103584G-A G A
+22 24103713 22:24103713C-T C T
+22 24103811 22:24103811A-G A G
+22 24103932 22:24103932C-T C T
+22 24104009 22:24104009G-A G A
+22 24104128 22:24104128A-T A T
+22 24104821 22:24104821G-C G C
+22 24104902 22:24104902T-C T C
+22 24105789 22:24105789G-A G A
+22 24106008 22:24106008C-G C G
+22 24106448 22:24106448G-A G A
+22 24106674 22:24106674G-A G A
+22 24107801 22:24107801T-C T C
+22 24108288 22:24108288C-G C G
+22 24108412 22:24108412G-A G A
+22 24108701 22:24108701G-A G A
+22 24108756 22:24108756T-C T C
+22 24108977 22:24108977A-G A G
+22 24109285 22:24109285G-A G A
+22 24109409 22:24109409C-T C T
+22 24109462 22:24109462T-C T C
+22 24109550 22:24109550T-C T C
+22 24109774 22:24109774T-G T G
+22 24109975 22:24109975A-C A C
+22 24111044 22:24111044C-A C A
+22 24112900 22:24112900A-G A G
+22 24113544 22:24113544C-T C T
+22 24115515 22:24115515C-T C T
+22 24116586 22:24116586G-T G T
+22 24116817 22:24116817T-C T C
+22 24117525 22:24117525C-T C T
+22 24117916 22:24117916A-G A G
+22 24121378 22:24121378C-T C T
+22 24122267 22:24122267A-G A G
+22 24122499 22:24122499G-A G A
+22 24124842 22:24124842A-G A G
+22 24125565 22:24125565G-A G A
+22 24126854 22:24126854A-C A C
+22 24127388 22:24127388C-A C A
+22 24127495 22:24127495T-C T C
+22 24129005 22:24129005T-G T G
+22 24129129 22:24129129G-T G T
+22 24130134 22:24130134G-A G A
+22 24132374 22:24132374A-G A G
+22 24133092 22:24133092G-A G A
+22 24133368 22:24133368C-G C G
+22 24133493 22:24133493C-T C T
+22 24133570 22:24133570G-A G A
+22 24134302 22:24134302T-C T C
+22 24134394 22:24134394T-C T C
+22 24134694 22:24134694A-T A T
+22 24134758 22:24134758G-A G A
+22 24134789 22:24134789C-T C T
+22 24135043 22:24135043C-T C T
+22 24136214 22:24136214T-C T C
+22 24136252 22:24136252C-T C T
+22 24136542 22:24136542G-A G A
+22 24136971 22:24136971G-A G A
+22 24137937 22:24137937G-A G A
+22 24138301 22:24138301C-T C T
+22 24138344 22:24138344G-A G A
+22 24138841 22:24138841G-A G A
+22 24139480 22:24139480T-C T C
+22 24139866 22:24139866G-A G A
+22 24140348 22:24140348A-G A G
+22 24141844 22:24141844T-C T C
+22 24142330 22:24142330T-A T A
+22 24142523 22:24142523T-C T C
+22 24142738 22:24142738C-A C A
+22 24142977 22:24142977G-C G C
+22 24142978 22:24142978C-T C T
+22 24143502 22:24143502C-G C G
+22 24144125 22:24144125A-C A C
+22 24144280 22:24144280C-T C T
+22 24145318 22:24145318C-T C T
+22 24145395 22:24145395A-G A G
+22 24145675 22:24145675G-C G C
+22 24145727 22:24145727C-T C T
+22 24145809 22:24145809T-C T C
+22 24146055 22:24146055T-G T G
+22 24146248 22:24146248T-C T C
+22 24146552 22:24146552A-C A C
+22 24146560 22:24146560C-T C T
+22 24146629 22:24146629C-T C T
+22 24146800 22:24146800G-A G A
+22 24147056 22:24147056A-G A G
+22 24147258 22:24147258G-A G A
+22 24147323 22:24147323G-A G A
+22 24147595 22:24147595T-C T C
+22 24147745 22:24147745T-A T A
+22 24147983 22:24147983C-T C T
+22 24148041 22:24148041C-A C A
+22 24148273 22:24148273A-G A G
+22 24148533 22:24148533A-G A G
+22 24148689 22:24148689C-T C T
+22 24148787 22:24148787G-A G A
+22 24148899 22:24148899A-G A G
+22 24149191 22:24149191A-T A T
+22 24149487 22:24149487G-T G T
+22 24149768 22:24149768T-A T A
+22 24150073 22:24150073C-T C T
+22 24150184 22:24150184T-C T C
+22 24150235 22:24150235C-T C T
+22 24150551 22:24150551G-A G A
+22 24150732 22:24150732T-C T C
+22 24151144 22:24151144T-C T C
+22 24151181 22:24151181G-C G C
+22 24151271 22:24151271T-C T C
+22 24151715 22:24151715G-A G A
+22 24151979 22:24151979A-G A G
+22 24152108 22:24152108T-A T A
+22 24152519 22:24152519C-G C G
+22 24152671 22:24152671C-T C T
+22 24153115 22:24153115C-T C T
+22 24155111 22:24155111G-C G C
+22 24155276 22:24155276A-T A T
+22 24155554 22:24155554C-T C T
+22 24155555 22:24155555G-A G A
+22 24155614 22:24155614G-A G A
+22 24155820 22:24155820G-A G A
+22 24155828 22:24155828T-G T G
+22 24155937 22:24155937T-C T C
+22 24156028 22:24156028T-A T A
+22 24156109 22:24156109C-T C T
+22 24156211 22:24156211A-T A T
+22 24157410 22:24157410G-T G T
+22 24157537 22:24157537T-C T C
+22 24157624 22:24157624A-G A G
+22 24157678 22:24157678G-A G A
+22 24157684 22:24157684G-A G A
+22 24158149 22:24158149A-G A G
+22 24158265 22:24158265C-G C G
+22 24158315 22:24158315C-A C A
+22 24158370 22:24158370G-T G T
+22 24158397 22:24158397C-T C T
+22 24158573 22:24158573G-A G A
+22 24158697 22:24158697G-C G C
+22 24158709 22:24158709A-G A G
+22 24158895 22:24158895A-G A G
+22 24158899 22:24158899C-A C A
+22 24159244 22:24159244G-A G A
+22 24159276 22:24159276A-G A G
+22 24159307 22:24159307A-T A T
+22 24159321 22:24159321T-C T C
+22 24159326 22:24159326C-T C T
+22 24159437 22:24159437G-T G T
+22 24159452 22:24159452A-G A G
+22 24159530 22:24159530A-C A C
+22 24159620 22:24159620C-T C T
+22 24159720 22:24159720A-G A G
+22 24160088 22:24160088T-C T C
+22 24160139 22:24160139A-G A G
+22 24160169 22:24160169A-T A T
+22 24160496 22:24160496C-T C T
+22 24160570 22:24160570T-C T C
+22 24160847 22:24160847C-G C G
+22 24161136 22:24161136A-T A T
+22 24161209 22:24161209G-A G A
+22 24161481 22:24161481G-A G A
+22 24161661 22:24161661A-G A G
+22 24161717 22:24161717C-T C T
+22 24161781 22:24161781C-T C T
+22 24161854 22:24161854A-C A C
+22 24161912 22:24161912T-A T A
+22 24161964 22:24161964G-T G T
+22 24161998 22:24161998C-G C G
+22 24162019 22:24162019T-C T C
+22 24162130 22:24162130C-T C T
+22 24162206 22:24162206G-A G A
+22 24162260 22:24162260A-G A G
+22 24162289 22:24162289A-G A G
+22 24162359 22:24162359G-T G T
+22 24162363 22:24162363A-T A T
+22 24162618 22:24162618G-A G A
+22 24162667 22:24162667A-C A C
+22 24162734 22:24162734C-T C T
+22 24162745 22:24162745C-T C T
+22 24163001 22:24163001G-A G A
+22 24163081 22:24163081T-C T C
+22 24163152 22:24163152C-T C T
+22 24163228 22:24163228A-G A G
+22 24163241 22:24163241A-G A G
+22 24163284 22:24163284G-A G A
+22 24163482 22:24163482G-A G A
+22 24163666 22:24163666G-C G C
+22 24163766 22:24163766G-A G A
+22 24163911 22:24163911T-G T G
+22 24164145 22:24164145C-T C T
+22 24164150 22:24164150A-G A G
+22 24164221 22:24164221G-T G T
+22 24164316 22:24164316A-G A G
+22 24164467 22:24164467G-A G A
+22 24164509 22:24164509A-G A G
+22 24164598 22:24164598C-T C T
+22 24164723 22:24164723A-G A G
+22 24164747 22:24164747C-T C T
+22 24164785 22:24164785T-C T C
+22 24165498 22:24165498A-C A C
+22 24165632 22:24165632A-G A G
+22 24165654 22:24165654A-C A C
+22 24165867 22:24165867G-A G A
+22 24165874 22:24165874C-T C T
+22 24165947 22:24165947G-A G A
+22 24166230 22:24166230G-A G A
+22 24166256 22:24166256G-C G C
+22 24166540 22:24166540T-C T C
+22 24166616 22:24166616G-C G C
+22 24166788 22:24166788G-A G A
+22 24166789 22:24166789G-A G A
+22 24167098 22:24167098G-A G A
+22 24167166 22:24167166G-A G A
+22 24167185 22:24167185C-T C T
+22 24167513 22:24167513G-A G A
+22 24167906 22:24167906T-C T C
+22 24168209 22:24168209A-G A G
+22 24168335 22:24168335A-G A G
+22 24168365 22:24168365C-A C A
+22 24168544 22:24168544G-C G C
+22 24168665 22:24168665T-C T C
+22 24168998 22:24168998A-G A G
+22 24169196 22:24169196G-C G C
+22 24169662 22:24169662T-C T C
+22 24169707 22:24169707G-C G C
+22 24169751 22:24169751C-T C T
+22 24170270 22:24170270C-T C T
+22 24170454 22:24170454G-C G C
+22 24170583 22:24170583C-T C T
+22 24170718 22:24170718G-A G A
+22 24170861 22:24170861A-G A G
+22 24170996 22:24170996T-G T G
+22 24171028 22:24171028T-C T C
+22 24171052 22:24171052C-G C G
+22 24171201 22:24171201C-T C T
+22 24171305 22:24171305A-G A G
+22 24171404 22:24171404A-G A G
+22 24171482 22:24171482G-A G A
+22 24171536 22:24171536A-G A G
+22 24171901 22:24171901G-A G A
+22 24172030 22:24172030T-C T C
+22 24172449 22:24172449G-A G A
+22 24172594 22:24172594C-G C G
+22 24173022 22:24173022G-A G A
+22 24173141 22:24173141A-C A C
+22 24173394 22:24173394A-G A G
+22 24173633 22:24173633G-A G A
+22 24173718 22:24173718A-G A G
+22 24173919 22:24173919T-G T G
+22 24174007 22:24174007A-G A G
+22 24174129 22:24174129G-A G A
+22 24174145 22:24174145T-C T C
+22 24174303 22:24174303G-A G A
+22 24174335 22:24174335T-C T C
+22 24174408 22:24174408A-G A G
+22 24174510 22:24174510G-A G A
+22 24175077 22:24175077C-A C A
+22 24175101 22:24175101T-C T C
+22 24175135 22:24175135C-T C T
+22 24175208 22:24175208G-A G A
+22 24175372 22:24175372G-A G A
+22 24175440 22:24175440G-T G T
+22 24175583 22:24175583A-C A C
+22 24175620 22:24175620G-A G A
+22 24176053 22:24176053G-T G T
+22 24176164 22:24176164G-A G A
+22 24176287 22:24176287G-A G A
+22 24177511 22:24177511A-C A C
+22 24177636 22:24177636G-A G A
+22 24177697 22:24177697A-G A G
+22 24178279 22:24178279G-A G A
+22 24178590 22:24178590C-G C G
+22 24179132 22:24179132G-A G A
+22 24179499 22:24179499C-T C T
+22 24179502 22:24179502G-A G A
+22 24179603 22:24179603C-G C G
+22 24179648 22:24179648T-C T C
+22 24179661 22:24179661A-T A T
+22 24179724 22:24179724G-C G C
+22 24179922 22:24179922G-C G C
+22 24180449 22:24180449C-T C T
+22 24181652 22:24181652A-G A G
+22 24181703 22:24181703G-A G A
+22 24182500 22:24182500G-A G A
+22 24183198 22:24183198C-T C T
+22 24183875 22:24183875A-G A G
+22 24184328 22:24184328C-T C T
+22 24184600 22:24184600G-A G A
+22 24184686 22:24184686G-A G A
+22 24184696 22:24184696G-A G A
+22 24184850 22:24184850A-G A G
+22 24184908 22:24184908C-A C A
+22 24184915 22:24184915T-G T G
+22 24185163 22:24185163G-A G A
+22 24185376 22:24185376C-T C T
+22 24185384 22:24185384A-G A G
+22 24185599 22:24185599T-C T C
+22 24185857 22:24185857G-A G A
+22 24185979 22:24185979G-A G A
+22 24186016 22:24186016T-A T A
+22 24186084 22:24186084C-T C T
+22 24186183 22:24186183T-C T C
+22 24186220 22:24186220C-G C G
+22 24186292 22:24186292G-A G A
+22 24186294 22:24186294C-T C T
+22 24186358 22:24186358T-G T G
+22 24186431 22:24186431G-A G A
+22 24186623 22:24186623T-C T C
+22 24186637 22:24186637T-C T C
+22 24186723 22:24186723T-C T C
+22 24186809 22:24186809T-C T C
+22 24186823 22:24186823T-C T C
+22 24187113 22:24187113C-T C T
+22 24187115 22:24187115G-A G A
+22 24187123 22:24187123A-G A G
+22 24187486 22:24187486T-C T C
+22 24187569 22:24187569G-A G A
+22 24187620 22:24187620G-A G A
+22 24187820 22:24187820A-G A G
+22 24187946 22:24187946G-C G C
+22 24188193 22:24188193C-G C G
+22 24188943 22:24188943A-T A T
+22 24189032 22:24189032C-G C G
+22 24189068 22:24189068T-C T C
+22 24189277 22:24189277A-G A G
+22 24189435 22:24189435T-C T C
+22 24189443 22:24189443T-C T C
+22 24190686 22:24190686C-T C T
+22 24191014 22:24191014G-A G A
+22 24191026 22:24191026G-A G A
+22 24191106 22:24191106G-C G C
+22 24191602 22:24191602G-A G A
+22 24191987 22:24191987T-C T C
+22 24192081 22:24192081A-G A G
+22 24192879 22:24192879G-A G A
+22 24193103 22:24193103T-C T C
+22 24193924 22:24193924T-G T G
+22 24193993 22:24193993T-C T C
+22 24193999 22:24193999C-G C G
+22 24194941 22:24194941T-C T C
+22 24195066 22:24195066A-G A G
+22 24195227 22:24195227G-T G T
+22 24195336 22:24195336G-A G A
+22 24198535 22:24198535T-C T C
+22 24199314 22:24199314G-T G T
+22 24199519 22:24199519C-T C T
+22 24200260 22:24200260G-A G A
+22 24200670 22:24200670A-G A G
+22 24200671 22:24200671G-T G T
+22 24200827 22:24200827G-A G A
+22 24201562 22:24201562T-G T G
+22 24201574 22:24201574C-G C G
+22 24202379 22:24202379G-A G A
+22 24202829 22:24202829G-T G T
+22 24203746 22:24203746A-G A G
+22 24203799 22:24203799C-T C T
+22 24204024 22:24204024G-A G A
+22 24204158 22:24204158A-G A G
+22 24204628 22:24204628G-A G A
+22 24204652 22:24204652C-T C T
+22 24204653 22:24204653A-G A G
+22 24204776 22:24204776C-T C T
+22 24204873 22:24204873T-C T C
+22 24204901 22:24204901A-C A C
+22 24204999 22:24204999G-A G A
+22 24205438 22:24205438G-C G C
+22 24205555 22:24205555G-A G A
+22 24205875 22:24205875T-C T C
+22 24206089 22:24206089A-G A G
+22 24206355 22:24206355G-A G A
+22 24206571 22:24206571T-C T C
+22 24206584 22:24206584C-T C T
+22 24206630 22:24206630C-T C T
+22 24206631 22:24206631G-A G A
+22 24206662 22:24206662C-T C T
+22 24206880 22:24206880G-A G A
+22 24207076 22:24207076T-C T C
+22 24207171 22:24207171G-A G A
+22 24207226 22:24207226G-A G A
+22 24207341 22:24207341C-T C T
+22 24207457 22:24207457A-G A G
+22 24207962 22:24207962A-G A G
+22 24208183 22:24208183T-C T C
+22 24208246 22:24208246T-C T C
+22 24208382 22:24208382G-A G A
+22 24209759 22:24209759G-C G C
+22 24210050 22:24210050A-C A C
+22 24211980 22:24211980G-T G T
+22 24212248 22:24212248A-G A G
+22 24212826 22:24212826A-G A G
+22 24212836 22:24212836A-G A G
+22 24212845 22:24212845C-G C G
+22 24212909 22:24212909C-T C T
+22 24213004 22:24213004C-T C T
+22 24213159 22:24213159G-A G A
+22 24213321 22:24213321A-G A G
+22 24213500 22:24213500C-T C T
+22 24214281 22:24214281A-G A G
+22 24215518 22:24215518A-G A G
+22 24217449 22:24217449A-G A G
+22 24220358 22:24220358G-A G A
+22 24221295 22:24221295T-G T G
+22 24221405 22:24221405G-C G C
+22 24221445 22:24221445C-T C T
+22 24222606 22:24222606T-C T C
+22 24222710 22:24222710C-T C T
+22 24222744 22:24222744T-C T C
+22 24223484 22:24223484T-C T C
+22 24223667 22:24223667C-T C T
+22 24224268 22:24224268C-G C G
+22 24224508 22:24224508C-G C G
+22 24224655 22:24224655G-A G A
+22 24224659 22:24224659C-A C A
+22 24226242 22:24226242A-G A G
+22 24227246 22:24227246A-C A C
+22 24227928 22:24227928A-T A T
+22 24228125 22:24228125T-C T C
+22 24228937 22:24228937T-C T C
+22 24230409 22:24230409G-A G A
+22 24230815 22:24230815G-A G A
+22 24232044 22:24232044C-T C T
+22 24232507 22:24232507G-A G A
+22 24232725 22:24232725G-A G A
+22 24232747 22:24232747G-A G A
+22 24232875 22:24232875G-A G A
+22 24233592 22:24233592C-T C T
+22 24233914 22:24233914T-G T G
+22 24233998 22:24233998G-A G A
+22 24234172 22:24234172A-G A G
+22 24234245 22:24234245C-T C T
+22 24234493 22:24234493A-G A G
+22 24234664 22:24234664T-C T C
+22 24234734 22:24234734C-G C G
+22 24234807 22:24234807T-C T C
+22 24234859 22:24234859A-G A G
+22 24234934 22:24234934A-G A G
+22 24234935 22:24234935T-C T C
+22 24235198 22:24235198G-A G A
+22 24235303 22:24235303G-C G C
+22 24235306 22:24235306G-A G A
+22 24235360 22:24235360A-G A G
+22 24235380 22:24235380A-G A G
+22 24235459 22:24235459T-G T G
+22 24235466 22:24235466C-G C G
+22 24236392 22:24236392G-C G C
+22 24236819 22:24236819T-C T C
+22 24237221 22:24237221C-G C G
+22 24237463 22:24237463T-C T C
+22 24237862 22:24237862T-G T G
+22 24238079 22:24238079T-A T A
+22 24238674 22:24238674C-T C T
+22 24238823 22:24238823G-A G A
+22 24238830 22:24238830T-C T C
+22 24238857 22:24238857T-G T G
+22 24239243 22:24239243T-G T G
+22 24239868 22:24239868T-C T C
+22 24239871 22:24239871G-C G C
+22 24239895 22:24239895T-C T C
+22 24240015 22:24240015A-C A C
+22 24240017 22:24240017T-C T C
+22 24240138 22:24240138T-C T C
+22 24240304 22:24240304G-T G T
+22 24240340 22:24240340G-A G A
+22 24240919 22:24240919A-G A G
+22 24241101 22:24241101C-T C T
+22 24241277 22:24241277G-A G A
+22 24241307 22:24241307C-T C T
+22 24241342 22:24241342A-G A G
+22 24241499 22:24241499A-G A G
+22 24241533 22:24241533A-G A G
+22 24241549 22:24241549C-T C T
+22 24241594 22:24241594A-G A G
+22 24241611 22:24241611G-T G T
+22 24242177 22:24242177A-G A G
+22 24242302 22:24242302A-G A G
+22 24242338 22:24242338T-C T C
+22 24242350 22:24242350C-G C G
+22 24242606 22:24242606T-C T C
+22 24242887 22:24242887C-T C T
+22 24242894 22:24242894G-C G C
+22 24242973 22:24242973A-G A G
+22 24243573 22:24243573G-A G A
+22 24243736 22:24243736C-T C T
+22 24245292 22:24245292A-G A G
+22 24245880 22:24245880G-T G T
+22 24245915 22:24245915C-T C T
+22 24245976 22:24245976A-G A G
+22 24246077 22:24246077T-C T C
+22 24247293 22:24247293A-G A G
+22 24247310 22:24247310A-G A G
+22 24247793 22:24247793T-C T C
+22 24247794 22:24247794G-C G C
+22 24248166 22:24248166T-G T G
+22 24248314 22:24248314A-G A G
+22 24248414 22:24248414G-A G A
+22 24248712 22:24248712T-C T C
+22 24248761 22:24248761T-C T C
+22 24248781 22:24248781A-G A G
+22 24249091 22:24249091T-C T C
+22 24249301 22:24249301C-T C T
+22 24249458 22:24249458A-C A C
+22 24249486 22:24249486A-G A G
+22 24250355 22:24250355T-C T C
+22 24250645 22:24250645C-A C A
+22 24250795 22:24250795C-G C G
+22 24250802 22:24250802A-G A G
+22 24251344 22:24251344T-C T C
+22 24251517 22:24251517C-T C T
+22 24251766 22:24251766C-A C A
+22 24252085 22:24252085A-G A G
+22 24252238 22:24252238C-T C T
+22 24252597 22:24252597T-C T C
+22 24252668 22:24252668G-T G T
+22 24252842 22:24252842T-C T C
+22 24252938 22:24252938C-G C G
+22 24254055 22:24254055C-T C T
+22 24254113 22:24254113C-T C T
+22 24254363 22:24254363C-T C T
+22 24254862 22:24254862G-T G T
+22 24255208 22:24255208G-A G A
+22 24255296 22:24255296C-T C T
+22 24256254 22:24256254C-T C T
+22 24256894 22:24256894T-C T C
+22 24257337 22:24257337G-A G A
+22 24258777 22:24258777C-T C T
+22 24259772 22:24259772C-G C G
+22 24260106 22:24260106T-C T C
+22 24260463 22:24260463C-T C T
+22 24261004 22:24261004C-T C T
+22 24261143 22:24261143A-G A G
+22 24261297 22:24261297T-A T A
+22 24261747 22:24261747T-A T A
+22 24261846 22:24261846G-A G A
+22 24262044 22:24262044G-C G C
+22 24262061 22:24262061G-A G A
+22 24263474 22:24263474C-T C T
+22 24263502 22:24263502C-G C G
+22 24263543 22:24263543G-C G C
+22 24264089 22:24264089T-G T G
+22 24264395 22:24264395C-T C T
+22 24265659 22:24265659C-T C T
+22 24266060 22:24266060T-C T C
+22 24266726 22:24266726T-C T C
+22 24266801 22:24266801T-C T C
+22 24266805 22:24266805C-T C T
+22 24266831 22:24266831G-C G C
+22 24266867 22:24266867G-A G A
+22 24266954 22:24266954A-C A C
+22 24267047 22:24267047C-T C T
+22 24267200 22:24267200C-T C T
+22 24267347 22:24267347G-C G C
+22 24267538 22:24267538C-T C T
+22 24267815 22:24267815C-T C T
+22 24267995 22:24267995G-C G C
+22 24268120 22:24268120G-T G T
+22 24268647 22:24268647C-T C T
+22 24268670 22:24268670A-G A G
+22 24268762 22:24268762C-T C T
+22 24268857 22:24268857C-A C A
+22 24268998 22:24268998C-T C T
+22 24269084 22:24269084T-C T C
+22 24269096 22:24269096C-T C T
+22 24269358 22:24269358C-T C T
+22 24269430 22:24269430C-T C T
+22 24269459 22:24269459G-T G T
+22 24269519 22:24269519A-G A G
+22 24269624 22:24269624T-C T C
+22 24269699 22:24269699C-T C T
+22 24269730 22:24269730T-C T C
+22 24269789 22:24269789A-G A G
+22 24269915 22:24269915C-A C A
+22 24269958 22:24269958G-T G T
+22 24270005 22:24270005T-C T C
+22 24270033 22:24270033A-G A G
+22 24270039 22:24270039A-C A C
+22 24270108 22:24270108A-T A T
+22 24270117 22:24270117C-A C A
+22 24270129 22:24270129T-G T G
+22 24270585 22:24270585G-A G A
+22 24270631 22:24270631A-T A T
+22 24270732 22:24270732G-C G C
+22 24270733 22:24270733G-A G A
+22 24270777 22:24270777C-T C T
+22 24271291 22:24271291C-T C T
+22 24271297 22:24271297C-T C T
+22 24271299 22:24271299C-T C T
+22 24272122 22:24272122C-T C T
+22 24272155 22:24272155G-A G A
+22 24273285 22:24273285G-T G T
+22 24273513 22:24273513T-C T C
+22 24292264 22:24292264T-C T C
+22 24293656 22:24293656C-T C T
+22 24295074 22:24295074G-A G A
+22 24295138 22:24295138G-A G A
+22 24295286 22:24295286T-C T C
+22 24295388 22:24295388G-A G A
+22 24295496 22:24295496G-A G A
+22 24295776 22:24295776A-G A G
+22 24295805 22:24295805A-T A T
+22 24296483 22:24296483C-T C T
+22 24296894 22:24296894A-G A G
+22 24297130 22:24297130T-C T C
+22 24297287 22:24297287T-C T C
+22 24298207 22:24298207G-A G A
+22 24298293 22:24298293A-C A C
+22 24298325 22:24298325G-A G A
+22 24298820 22:24298820C-T C T
+22 24311474 22:24311474G-A G A
+22 24311892 22:24311892A-G A G
+22 24312204 22:24312204G-A G A
+22 24312589 22:24312589G-A G A
+22 24312629 22:24312629C-G C G
+22 24312815 22:24312815C-T C T
+22 24313868 22:24313868C-G C G
+22 24313954 22:24313954A-G A G
+22 24314006 22:24314006G-T G T
+22 24323131 22:24323131C-T C T
+22 24323227 22:24323227G-A G A
+22 24324052 22:24324052C-G C G
+22 24324250 22:24324250G-A G A
+22 24333865 22:24333865C-A C A
+22 24334948 22:24334948A-C A C
+22 24335977 22:24335977G-A G A
+22 24336068 22:24336068T-G T G
+22 24336170 22:24336170G-A G A
+22 24336327 22:24336327T-C T C
+22 24338071 22:24338071T-G T G
+22 24338199 22:24338199T-A T A
+22 24338382 22:24338382C-T C T
+22 24338601 22:24338601T-C T C
+22 24338651 22:24338651G-A G A
+22 24338686 22:24338686A-T A T
+22 24338936 22:24338936T-C T C
+22 24339438 22:24339438G-T G T
+22 24339556 22:24339556T-A T A
+22 24340018 22:24340018A-C A C
+22 24340053 22:24340053T-C T C
+22 24340099 22:24340099G-A G A
+22 24340108 22:24340108T-C T C
+22 24340851 22:24340851G-C G C
+22 24340938 22:24340938A-G A G
+22 24341101 22:24341101G-A G A
+22 24341250 22:24341250A-G A G
+22 24398868 22:24398868C-A C A
+22 24399059 22:24399059G-A G A
+22 24399364 22:24399364C-G C G
+22 24399655 22:24399655T-G T G
+22 24399825 22:24399825T-G T G
+22 24400360 22:24400360A-C A C
+22 24401503 22:24401503C-T C T
+22 24401542 22:24401542G-A G A
+22 24402321 22:24402321G-A G A
+22 24404830 22:24404830G-C G C
+22 24405492 22:24405492A-G A G
+22 24407334 22:24407334C-G C G
+22 24407483 22:24407483T-C T C
+22 24411653 22:24411653C-T C T
+22 24414482 22:24414482T-G T G
+22 24414829 22:24414829T-G T G
+22 24415817 22:24415817A-T A T
+22 24419426 22:24419426A-G A G
+22 24419740 22:24419740A-G A G
+22 24420128 22:24420128C-T C T
+22 24420270 22:24420270C-T C T
+22 24420722 22:24420722C-T C T
+22 24422166 22:24422166A-G A G
+22 24423790 22:24423790G-A G A
+22 24425114 22:24425114C-G C G
+22 24427825 22:24427825T-C T C
+22 24427878 22:24427878G-A G A
+22 24429241 22:24429241C-T C T
+22 24433140 22:24433140A-G A G
+22 24435843 22:24435843G-A G A
+22 24435954 22:24435954G-A G A
+22 24438047 22:24438047A-G A G
+22 24440367 22:24440367T-C T C
+22 24442459 22:24442459C-T C T
+22 24443473 22:24443473T-C T C
+22 24443697 22:24443697T-G T G
+22 24444640 22:24444640T-A T A
+22 24445320 22:24445320A-G A G
+22 24446618 22:24446618G-A G A
+22 24448082 22:24448082T-C T C
+22 24448398 22:24448398C-T C T
+22 24448950 22:24448950A-C A C
+22 24450093 22:24450093C-T C T
+22 24451035 22:24451035G-A G A
+22 24452885 22:24452885A-G A G
+22 24453375 22:24453375C-T C T
+22 24453831 22:24453831G-C G C
+22 24455054 22:24455054G-A G A
+22 24457149 22:24457149A-G A G
+22 24457197 22:24457197C-T C T
+22 24458096 22:24458096A-G A G
+22 24459438 22:24459438T-C T C
+22 24460790 22:24460790T-C T C
+22 24461944 22:24461944A-G A G
+22 24462072 22:24462072A-C A C
+22 24463564 22:24463564C-A C A
+22 24463748 22:24463748C-T C T
+22 24464377 22:24464377A-G A G
+22 24465672 22:24465672A-G A G
+22 24465716 22:24465716T-G T G
+22 24465845 22:24465845A-G A G
+22 24468123 22:24468123C-A C A
+22 24468386 22:24468386G-A G A
+22 24469115 22:24469115G-A G A
+22 24470125 22:24470125C-G C G
+22 24472270 22:24472270A-G A G
+22 24473420 22:24473420G-T G T
+22 24474704 22:24474704G-A G A
+22 24475461 22:24475461A-G A G
+22 24478183 22:24478183C-T C T
+22 24478683 22:24478683G-T G T
+22 24478695 22:24478695T-G T G
+22 24480503 22:24480503G-A G A
+22 24482500 22:24482500A-C A C
+22 24488461 22:24488461T-C T C
+22 24488861 22:24488861C-T C T
+22 24489649 22:24489649T-C T C
+22 24490105 22:24490105A-C A C
+22 24491209 22:24491209C-T C T
+22 24491488 22:24491488C-G C G
+22 24492061 22:24492061T-C T C
+22 24495541 22:24495541A-G A G
+22 24497624 22:24497624C-G C G
+22 24498665 22:24498665T-C T C
+22 24499204 22:24499204G-A G A
+22 24500866 22:24500866G-C G C
+22 24503820 22:24503820C-T C T
+22 24503987 22:24503987C-T C T
+22 24510620 22:24510620C-T C T
+22 24513337 22:24513337T-A T A
+22 24513946 22:24513946A-G A G
+22 24514352 22:24514352C-T C T
+22 24514600 22:24514600G-C G C
+22 24516291 22:24516291C-T C T
+22 24518128 22:24518128A-G A G
+22 24518728 22:24518728A-G A G
+22 24520375 22:24520375A-G A G
+22 24523177 22:24523177C-T C T
+22 24525236 22:24525236G-A G A
+22 24525711 22:24525711T-C T C
+22 24527749 22:24527749T-C T C
+22 24528058 22:24528058C-T C T
+22 24530992 22:24530992C-T C T
+22 24532142 22:24532142A-G A G
+22 24532468 22:24532468T-C T C
+22 24535229 22:24535229T-C T C
+22 24535559 22:24535559T-C T C
+22 24535630 22:24535630G-A G A
+22 24535962 22:24535962G-A G A
+22 24538040 22:24538040G-T G T
+22 24538918 22:24538918G-A G A
+22 24539734 22:24539734G-A G A
+22 24540281 22:24540281C-T C T
+22 24541432 22:24541432T-C T C
+22 24542480 22:24542480C-T C T
+22 24542636 22:24542636T-A T A
+22 24544482 22:24544482G-T G T
+22 24544607 22:24544607T-C T C
+22 24544632 22:24544632T-G T G
+22 24545060 22:24545060T-C T C
+22 24546298 22:24546298G-A G A
+22 24547071 22:24547071C-T C T
+22 24548785 22:24548785T-C T C
+22 24550303 22:24550303T-C T C
+22 24551909 22:24551909T-G T G
+22 24552872 22:24552872C-A C A
+22 24553535 22:24553535G-A G A
+22 24555861 22:24555861A-G A G
+22 24555965 22:24555965G-A G A
+22 24556507 22:24556507T-C T C
+22 24556902 22:24556902G-A G A
+22 24558318 22:24558318T-C T C
+22 24559739 22:24559739C-T C T
+22 24560254 22:24560254C-G C G
+22 24561364 22:24561364A-G A G
+22 24564477 22:24564477C-T C T
+22 24564648 22:24564648G-T G T
+22 24564782 22:24564782C-T C T
+22 24566000 22:24566000C-T C T
+22 24566579 22:24566579G-A G A
+22 24566894 22:24566894G-T G T
+22 24567031 22:24567031A-G A G
+22 24570772 22:24570772G-A G A
+22 24572034 22:24572034G-A G A
+22 24572853 22:24572853C-T C T
+22 24573435 22:24573435G-A G A
+22 24575333 22:24575333C-T C T
+22 24575952 22:24575952T-C T C
+22 24576159 22:24576159G-A G A
+22 24577121 22:24577121G-C G C
+22 24577986 22:24577986T-C T C
+22 24578659 22:24578659A-G A G
+22 24579945 22:24579945G-A G A
+22 24580381 22:24580381G-C G C
+22 24580485 22:24580485A-C A C
+22 24580694 22:24580694C-T C T
+22 24580924 22:24580924T-G T G
+22 24581207 22:24581207C-T C T
+22 24582041 22:24582041A-G A G
+22 24582739 22:24582739G-A G A
+22 24583879 22:24583879T-C T C
+22 24584970 22:24584970G-A G A
+22 24585313 22:24585313A-G A G
+22 24585575 22:24585575T-C T C
+22 24585594 22:24585594T-C T C
+22 24585835 22:24585835T-C T C
+22 24586071 22:24586071T-C T C
+22 24586791 22:24586791G-T G T
+22 24587303 22:24587303G-A G A
+22 24587818 22:24587818T-C T C
+22 24588865 22:24588865T-A T A
+22 24590049 22:24590049G-C G C
+22 24591879 22:24591879A-G A G
+22 24592593 22:24592593C-T C T
+22 24593128 22:24593128G-A G A
+22 24594662 22:24594662C-T C T
+22 24597540 22:24597540A-C A C
+22 24598570 22:24598570C-T C T
+22 24600438 22:24600438A-G A G
+22 24600820 22:24600820G-T G T
+22 24600870 22:24600870C-G C G
+22 24602351 22:24602351T-G T G
+22 24602382 22:24602382A-C A C
+22 24602476 22:24602476A-G A G
+22 24604300 22:24604300T-C T C
+22 24604860 22:24604860C-T C T
+22 24604919 22:24604919G-A G A
+22 24605021 22:24605021T-G T G
+22 24605185 22:24605185C-T C T
+22 24605331 22:24605331G-A G A
+22 24605938 22:24605938A-G A G
+22 24606094 22:24606094A-G A G
+22 24606731 22:24606731C-A C A
+22 24606793 22:24606793C-T C T
+22 24607904 22:24607904C-T C T
+22 24608328 22:24608328C-T C T
+22 24608329 22:24608329A-G A G
+22 24608924 22:24608924T-C T C
+22 24609605 22:24609605A-G A G
+22 24609638 22:24609638C-T C T
+22 24609676 22:24609676C-G C G
+22 24609951 22:24609951A-G A G
+22 24610107 22:24610107A-G A G
+22 24610158 22:24610158A-G A G
+22 24610727 22:24610727G-C G C
+22 24610780 22:24610780G-A G A
+22 24611330 22:24611330T-G T G
+22 24611344 22:24611344A-G A G
+22 24611356 22:24611356T-C T C
+22 24611717 22:24611717T-C T C
+22 24612115 22:24612115C-T C T
+22 24612912 22:24612912C-T C T
+22 24612987 22:24612987A-T A T
+22 24613070 22:24613070G-C G C
+22 24613907 22:24613907T-C T C
+22 24613952 22:24613952G-A G A
+22 24614106 22:24614106A-C A C
+22 24615448 22:24615448A-G A G
+22 24615506 22:24615506A-G A G
+22 24615508 22:24615508G-A G A
+22 24616876 22:24616876A-G A G
+22 24616906 22:24616906T-C T C
+22 24617001 22:24617001C-G C G
+22 24617101 22:24617101C-T C T
+22 24617239 22:24617239C-A C A
+22 24617315 22:24617315A-G A G
+22 24617335 22:24617335T-A T A
+22 24617515 22:24617515C-G C G
+22 24617973 22:24617973G-C G C
+22 24618331 22:24618331A-G A G
+22 24618574 22:24618574C-T C T
+22 24619207 22:24619207T-C T C
+22 24619762 22:24619762T-C T C
+22 24619845 22:24619845T-C T C
+22 24619977 22:24619977C-T C T
+22 24621491 22:24621491C-T C T
+22 24621826 22:24621826A-G A G
+22 24621857 22:24621857C-A C A
+22 24622648 22:24622648T-C T C
+22 24623137 22:24623137T-C T C
+22 24624347 22:24624347T-C T C
+22 24624609 22:24624609A-G A G
+22 24624870 22:24624870G-A G A
+22 24625011 22:24625011C-T C T
+22 24625461 22:24625461A-T A T
+22 24625618 22:24625618G-A G A
+22 24625659 22:24625659A-T A T
+22 24627910 22:24627910T-A T A
+22 24628763 22:24628763G-T G T
+22 24628928 22:24628928G-A G A
+22 24629380 22:24629380C-T C T
+22 24629596 22:24629596C-T C T
+22 24629912 22:24629912G-A G A
+22 24630093 22:24630093C-A C A
+22 24631113 22:24631113G-A G A
+22 24631114 22:24631114C-A C A
+22 24631122 22:24631122A-G A G
+22 24631317 22:24631317T-C T C
+22 24631342 22:24631342G-A G A
+22 24631748 22:24631748C-T C T
+22 24631777 22:24631777T-C T C
+22 24631791 22:24631791A-G A G
+22 24632072 22:24632072T-C T C
+22 24632357 22:24632357C-T C T
+22 24632403 22:24632403C-T C T
+22 24632431 22:24632431T-A T A
+22 24632680 22:24632680A-G A G
+22 24633407 22:24633407C-T C T
+22 24633621 22:24633621T-C T C
+22 24633894 22:24633894T-A T A
+22 24634276 22:24634276T-C T C
+22 24634471 22:24634471T-C T C
+22 24635927 22:24635927A-T A T
+22 24636822 22:24636822T-C T C
+22 24638115 22:24638115A-G A G
+22 24638521 22:24638521T-C T C
+22 24638596 22:24638596G-A G A
+22 24639069 22:24639069T-C T C
+22 24639194 22:24639194A-T A T
+22 24639399 22:24639399A-C A C
+22 24639878 22:24639878G-A G A
+22 24641203 22:24641203G-A G A
+22 24642009 22:24642009C-T C T
+22 24642266 22:24642266C-T C T
+22 24642696 22:24642696C-T C T
+22 24642797 22:24642797C-G C G
+22 24642881 22:24642881A-G A G
+22 24643449 22:24643449C-G C G
+22 24644636 22:24644636G-A G A
+22 24651440 22:24651440A-G A G
+22 24655566 22:24655566A-G A G
+22 24658265 22:24658265G-T G T
+22 24663726 22:24663726C-T C T
+22 24663987 22:24663987T-C T C
+22 24666835 22:24666835C-G C G
+22 24667049 22:24667049C-T C T
+22 24669465 22:24669465G-A G A
+22 24671393 22:24671393G-A G A
+22 24675337 22:24675337A-T A T
+22 24677025 22:24677025G-A G A
+22 24681555 22:24681555C-T C T
+22 24681579 22:24681579T-C T C
+22 24683069 22:24683069G-C G C
+22 24692249 22:24692249T-C T C
+22 24694086 22:24694086A-G A G
+22 24695298 22:24695298G-A G A
+22 24695441 22:24695441T-C T C
+22 24695468 22:24695468T-C T C
+22 24696594 22:24696594C-T C T
+22 24697901 22:24697901C-A C A
+22 24700854 22:24700854C-T C T
+22 24704556 22:24704556T-C T C
+22 24705618 22:24705618T-C T C
+22 24706298 22:24706298A-G A G
+22 24707112 22:24707112T-C T C
+22 24715049 22:24715049A-G A G
+22 24717518 22:24717518G-A G A
+22 24719085 22:24719085C-G C G
+22 24719605 22:24719605T-C T C
+22 24723472 22:24723472C-T C T
+22 24724099 22:24724099G-A G A
+22 24726718 22:24726718T-G T G
+22 24726752 22:24726752G-C G C
+22 24727846 22:24727846A-C A C
+22 24730587 22:24730587C-T C T
+22 24731155 22:24731155C-T C T
+22 24732045 22:24732045A-G A G
+22 24736280 22:24736280T-C T C
+22 24737868 22:24737868A-C A C
+22 24742294 22:24742294C-T C T
+22 24742426 22:24742426C-G C G
+22 24744079 22:24744079T-C T C
+22 24745305 22:24745305C-T C T
+22 24745329 22:24745329G-A G A
+22 24745498 22:24745498A-C A C
+22 24745667 22:24745667G-T G T
+22 24745957 22:24745957C-T C T
+22 24750273 22:24750273T-A T A
+22 24750512 22:24750512T-C T C
+22 24751158 22:24751158T-C T C
+22 24755850 22:24755850A-G A G
+22 24756865 22:24756865C-T C T
+22 24757534 22:24757534C-T C T
+22 24761141 22:24761141A-G A G
+22 24766986 22:24766986G-A G A
+22 24767602 22:24767602T-G T G
+22 24771922 22:24771922C-A C A
+22 24771955 22:24771955A-C A C
+22 24772276 22:24772276A-T A T
+22 24774375 22:24774375A-G A G
+22 24774418 22:24774418C-T C T
+22 24774907 22:24774907C-T C T
+22 24775348 22:24775348C-T C T
+22 24775644 22:24775644A-G A G
+22 24777609 22:24777609T-C T C
+22 24780580 22:24780580A-G A G
+22 24781680 22:24781680T-C T C
+22 24788697 22:24788697A-C A C
+22 24789632 22:24789632T-C T C
+22 24792339 22:24792339C-T C T
+22 24792663 22:24792663A-T A T
+22 24793716 22:24793716A-G A G
+22 24796290 22:24796290G-A G A
+22 24800104 22:24800104T-C T C
+22 24801535 22:24801535C-T C T
+22 24802564 22:24802564G-A G A
+22 24804081 22:24804081G-T G T
+22 24806804 22:24806804G-T G T
+22 24807235 22:24807235C-T C T
+22 24807343 22:24807343G-T G T
+22 24808435 22:24808435G-A G A
+22 24808993 22:24808993G-A G A
+22 24809489 22:24809489G-A G A
+22 24811667 22:24811667G-A G A
+22 24812272 22:24812272G-A G A
+22 24812377 22:24812377T-C T C
+22 24813841 22:24813841C-T C T
+22 24814625 22:24814625C-T C T
+22 24815288 22:24815288G-A G A
+22 24815406 22:24815406G-A G A
+22 24818090 22:24818090G-A G A
+22 24818403 22:24818403G-T G T
+22 24818404 22:24818404G-T G T
+22 24820094 22:24820094G-T G T
+22 24820268 22:24820268G-A G A
+22 24820483 22:24820483C-A C A
+22 24822663 22:24822663T-C T C
+22 24825511 22:24825511C-T C T
+22 24826155 22:24826155G-A G A
+22 24826672 22:24826672T-C T C
+22 24830595 22:24830595T-C T C
+22 24833164 22:24833164C-T C T
+22 24833760 22:24833760T-G T G
+22 24834731 22:24834731A-G A G
+22 24836024 22:24836024T-C T C
+22 24837301 22:24837301T-C T C
+22 24839372 22:24839372G-C G C
+22 24839386 22:24839386G-A G A
+22 24840118 22:24840118T-G T G
+22 24840253 22:24840253G-A G A
+22 24840676 22:24840676C-T C T
+22 24840734 22:24840734A-G A G
+22 24842452 22:24842452T-G T G
+22 24842915 22:24842915T-C T C
+22 24843594 22:24843594C-G C G
+22 24843731 22:24843731G-C G C
+22 24843886 22:24843886C-G C G
+22 24844883 22:24844883T-C T C
+22 24845989 22:24845989C-A C A
+22 24846391 22:24846391T-C T C
+22 24846477 22:24846477C-T C T
+22 24847606 22:24847606T-A T A
+22 24848460 22:24848460A-G A G
+22 24849753 22:24849753C-T C T
+22 24850897 22:24850897C-T C T
+22 24852233 22:24852233T-A T A
+22 24853465 22:24853465G-A G A
+22 24853673 22:24853673C-T C T
+22 24855182 22:24855182C-T C T
+22 24855541 22:24855541G-A G A
+22 24856329 22:24856329T-C T C
+22 24858500 22:24858500C-T C T
+22 24859667 22:24859667A-C A C
+22 24862597 22:24862597G-A G A
+22 24862738 22:24862738A-G A G
+22 24864252 22:24864252G-C G C
+22 24864914 22:24864914T-C T C
+22 24865187 22:24865187C-T C T
+22 24867882 22:24867882G-C G C
+22 24868589 22:24868589A-G A G
+22 24869659 22:24869659A-G A G
+22 24870064 22:24870064T-A T A
+22 24870126 22:24870126T-C T C
+22 24871078 22:24871078G-A G A
+22 24871831 22:24871831A-G A G
+22 24871942 22:24871942C-T C T
+22 24873526 22:24873526G-A G A
+22 24874697 22:24874697T-C T C
+22 24875123 22:24875123T-C T C
+22 24876800 22:24876800T-C T C
+22 24876846 22:24876846C-T C T
+22 24878206 22:24878206G-A G A
+22 24878218 22:24878218T-C T C
+22 24878430 22:24878430C-T C T
+22 24878804 22:24878804T-C T C
+22 24879289 22:24879289A-G A G
+22 24879557 22:24879557T-C T C
+22 24881233 22:24881233T-C T C
+22 24881685 22:24881685A-G A G
+22 24881781 22:24881781C-T C T
+22 24881985 22:24881985G-C G C
+22 24882187 22:24882187G-A G A
+22 24883218 22:24883218T-A T A
+22 24883528 22:24883528T-C T C
+22 24884656 22:24884656T-C T C
+22 24885208 22:24885208T-C T C
+22 24885223 22:24885223C-T C T
+22 24885974 22:24885974G-A G A
+22 24886387 22:24886387A-G A G
+22 24886476 22:24886476T-C T C
+22 24887780 22:24887780A-C A C
+22 24888574 22:24888574G-A G A
+22 24888796 22:24888796A-G A G
+22 24890945 22:24890945G-T G T
+22 24891292 22:24891292C-G C G
+22 24891355 22:24891355A-T A T
+22 24892018 22:24892018A-G A G
+22 24893021 22:24893021C-G C G
+22 24894856 22:24894856G-A G A
+22 24897743 22:24897743G-A G A
+22 24898310 22:24898310C-T C T
+22 24900045 22:24900045C-G C G
+22 24901795 22:24901795C-T C T
+22 24902606 22:24902606G-A G A
+22 24905288 22:24905288T-C T C
+22 24907616 22:24907616C-G C G
+22 24908352 22:24908352A-G A G
+22 24908764 22:24908764T-C T C
+22 24911712 22:24911712A-G A G
+22 24912232 22:24912232C-T C T
+22 24912248 22:24912248A-G A G
+22 24913423 22:24913423T-C T C
+22 24914575 22:24914575C-T C T
+22 24916182 22:24916182G-A G A
+22 24917393 22:24917393C-A C A
+22 24917852 22:24917852G-A G A
+22 24918447 22:24918447G-A G A
+22 24919329 22:24919329T-C T C
+22 24920322 22:24920322T-G T G
+22 24921214 22:24921214T-C T C
+22 24921558 22:24921558C-T C T
+22 24922452 22:24922452T-G T G
+22 24925016 22:24925016G-A G A
+22 24927079 22:24927079G-A G A
+22 24928720 22:24928720G-A G A
+22 24929567 22:24929567A-G A G
+22 24929771 22:24929771A-G A G
+22 24931490 22:24931490G-A G A
+22 24931833 22:24931833A-G A G
+22 24932214 22:24932214G-A G A
+22 24932967 22:24932967C-A C A
+22 24933069 22:24933069C-T C T
+22 24934355 22:24934355C-G C G
+22 24934370 22:24934370C-T C T
+22 24935250 22:24935250T-C T C
+22 24936970 22:24936970A-G A G
+22 24937487 22:24937487A-G A G
+22 24938455 22:24938455T-A T A
+22 24938908 22:24938908A-G A G
+22 24939289 22:24939289A-C A C
+22 24940959 22:24940959C-T C T
+22 24941570 22:24941570A-C A C
+22 24943294 22:24943294C-T C T
+22 24943369 22:24943369C-T C T
+22 24943582 22:24943582G-A G A
+22 24943658 22:24943658T-C T C
+22 24944782 22:24944782A-G A G
+22 24945361 22:24945361C-A C A
+22 24945739 22:24945739C-G C G
+22 24946522 22:24946522G-C G C
+22 24946618 22:24946618G-C G C
+22 24947452 22:24947452C-T C T
+22 24948172 22:24948172A-G A G
+22 24949306 22:24949306T-C T C
+22 24949953 22:24949953G-C G C
+22 24952498 22:24952498C-A C A
+22 24953227 22:24953227A-G A G
+22 24953249 22:24953249C-A C A
+22 24954832 22:24954832C-T C T
+22 24955700 22:24955700T-C T C
+22 24963560 22:24963560C-A C A
+22 24964128 22:24964128T-C T C
+22 24965593 22:24965593C-T C T
+22 24966511 22:24966511C-A C A
+22 24968526 22:24968526C-T C T
+22 24970107 22:24970107A-G A G
+22 24970486 22:24970486A-G A G
+22 24976110 22:24976110C-A C A
+22 24976249 22:24976249G-C G C
+22 24977286 22:24977286G-A G A
+22 24977514 22:24977514A-G A G
+22 24979447 22:24979447C-T C T
+22 24982522 22:24982522A-T A T
+22 24986145 22:24986145G-A G A
+22 24986350 22:24986350G-T G T
+22 24986473 22:24986473T-C T C
+22 24986546 22:24986546G-A G A
+22 24987964 22:24987964G-A G A
+22 24988920 22:24988920C-T C T
+22 24989920 22:24989920C-T C T
+22 24990213 22:24990213A-G A G
+22 24990646 22:24990646A-G A G
+22 24990916 22:24990916G-A G A
+22 24991863 22:24991863C-T C T
+22 24991895 22:24991895A-G A G
+22 24992266 22:24992266T-C T C
+22 24993367 22:24993367G-A G A
+22 24994296 22:24994296T-C T C
+22 24994335 22:24994335G-A G A
+22 24994708 22:24994708T-C T C
+22 24994939 22:24994939T-G T G
+22 24994977 22:24994977A-T A T
+22 24995134 22:24995134G-T G T
+22 24995202 22:24995202G-A G A
+22 24995663 22:24995663C-T C T
+22 24995668 22:24995668A-G A G
+22 24995756 22:24995756C-A C A
+22 24996438 22:24996438G-A G A
+22 24996582 22:24996582G-A G A
+22 24996630 22:24996630C-T C T
+22 24997309 22:24997309G-C G C
+22 24997846 22:24997846T-C T C
+22 24998400 22:24998400T-A T A
+22 24998553 22:24998553C-T C T
+22 24998619 22:24998619A-G A G
+22 25000229 22:25000229A-T A T
+22 25003934 22:25003934G-A G A
+22 25004608 22:25004608T-C T C
+22 25005083 22:25005083G-A G A
+22 25008568 22:25008568G-A G A
+22 25008650 22:25008650C-T C T
+22 25009875 22:25009875G-A G A
+22 25011901 22:25011901A-T A T
+22 25012758 22:25012758G-T G T
+22 25012940 22:25012940T-A T A
+22 25013346 22:25013346G-A G A
+22 25018253 22:25018253C-T C T
+22 25027104 22:25027104T-G T G
+22 25027257 22:25027257C-T C T
+22 25027283 22:25027283G-T G T
+22 25030084 22:25030084G-A G A
+22 25031824 22:25031824G-A G A
+22 25032274 22:25032274G-T G T
+22 25061834 22:25061834C-T C T
+22 25064534 22:25064534T-C T C
+22 25064809 22:25064809C-T C T
+22 25064964 22:25064964C-G C G
+22 25066565 22:25066565A-G A G
+22 25067875 22:25067875T-C T C
+22 25069276 22:25069276A-G A G
+22 25069310 22:25069310G-A G A
+22 25069459 22:25069459G-A G A
+22 25069482 22:25069482T-C T C
+22 25070067 22:25070067A-G A G
+22 25071369 22:25071369C-T C T
+22 25071779 22:25071779A-G A G
+22 25071927 22:25071927T-C T C
+22 25071958 22:25071958A-G A G
+22 25072539 22:25072539A-G A G
+22 25072753 22:25072753T-G T G
+22 25072935 22:25072935T-C T C
+22 25073048 22:25073048G-T G T
+22 25073079 22:25073079A-G A G
+22 25073426 22:25073426T-C T C
+22 25073748 22:25073748G-C G C
+22 25074207 22:25074207C-T C T
+22 25074510 22:25074510C-G C G
+22 25074598 22:25074598G-A G A
+22 25074778 22:25074778G-A G A
+22 25074863 22:25074863G-T G T
+22 25075267 22:25075267A-G A G
+22 25075327 22:25075327C-G C G
+22 25075402 22:25075402A-G A G
+22 25075804 22:25075804G-A G A
+22 25075975 22:25075975G-A G A
+22 25076598 22:25076598G-T G T
+22 25076938 22:25076938A-G A G
+22 25077156 22:25077156C-T C T
+22 25077432 22:25077432G-A G A
+22 25078108 22:25078108C-G C G
+22 25079159 22:25079159A-G A G
+22 25079348 22:25079348A-C A C
+22 25079925 22:25079925G-A G A
+22 25080077 22:25080077G-A G A
+22 25080956 22:25080956T-G T G
+22 25081104 22:25081104C-G C G
+22 25081241 22:25081241C-T C T
+22 25082586 22:25082586T-G T G
+22 25082635 22:25082635C-T C T
+22 25082844 22:25082844C-G C G
+22 25083148 22:25083148A-C A C
+22 25083170 22:25083170G-A G A
+22 25083454 22:25083454G-A G A
+22 25083672 22:25083672A-G A G
+22 25083697 22:25083697G-A G A
+22 25083914 22:25083914C-T C T
+22 25084071 22:25084071G-T G T
+22 25084713 22:25084713G-A G A
+22 25084872 22:25084872A-G A G
+22 25084897 22:25084897A-C A C
+22 25085373 22:25085373C-T C T
+22 25085442 22:25085442T-C T C
+22 25085536 22:25085536T-C T C
+22 25086063 22:25086063G-A G A
+22 25086734 22:25086734T-C T C
+22 25086816 22:25086816C-G C G
+22 25087059 22:25087059G-T G T
+22 25087164 22:25087164A-C A C
+22 25087662 22:25087662T-C T C
+22 25087674 22:25087674T-C T C
+22 25087731 22:25087731C-T C T
+22 25088494 22:25088494C-A C A
+22 25088629 22:25088629T-A T A
+22 25089322 22:25089322T-A T A
+22 25089751 22:25089751G-A G A
+22 25089881 22:25089881A-G A G
+22 25089914 22:25089914A-G A G
+22 25090006 22:25090006A-G A G
+22 25090165 22:25090165G-A G A
+22 25090370 22:25090370C-T C T
+22 25090710 22:25090710G-C G C
+22 25090768 22:25090768G-A G A
+22 25090863 22:25090863G-C G C
+22 25090985 22:25090985C-T C T
+22 25090989 22:25090989G-A G A
+22 25090998 22:25090998A-T A T
+22 25091272 22:25091272C-T C T
+22 25091395 22:25091395C-T C T
+22 25092017 22:25092017C-T C T
+22 25092773 22:25092773G-A G A
+22 25093071 22:25093071A-G A G
+22 25093121 22:25093121C-T C T
+22 25093324 22:25093324A-G A G
+22 25094393 22:25094393T-C T C
+22 25094479 22:25094479T-C T C
+22 25094492 22:25094492A-G A G
+22 25095440 22:25095440C-T C T
+22 25095452 22:25095452C-A C A
+22 25096171 22:25096171T-C T C
+22 25096704 22:25096704T-G T G
+22 25096813 22:25096813G-A G A
+22 25096978 22:25096978A-G A G
+22 25097248 22:25097248T-G T G
+22 25098371 22:25098371C-T C T
+22 25098493 22:25098493G-A G A
+22 25099115 22:25099115G-A G A
+22 25099392 22:25099392G-A G A
+22 25099898 22:25099898C-T C T
+22 25100444 22:25100444T-C T C
+22 25100636 22:25100636A-G A G
+22 25100774 22:25100774C-G C G
+22 25101089 22:25101089G-A G A
+22 25101570 22:25101570G-A G A
+22 25101796 22:25101796C-T C T
+22 25101801 22:25101801C-T C T
+22 25102070 22:25102070T-C T C
+22 25102094 22:25102094A-G A G
+22 25102715 22:25102715G-T G T
+22 25103024 22:25103024T-C T C
+22 25103101 22:25103101G-A G A
+22 25103157 22:25103157C-T C T
+22 25103222 22:25103222G-A G A
+22 25103248 22:25103248C-T C T
+22 25103543 22:25103543A-G A G
+22 25103770 22:25103770C-T C T
+22 25103816 22:25103816C-T C T
+22 25104087 22:25104087T-C T C
+22 25104220 22:25104220A-G A G
+22 25104355 22:25104355T-C T C
+22 25104770 22:25104770G-T G T
+22 25105221 22:25105221G-A G A
+22 25105347 22:25105347C-T C T
+22 25105538 22:25105538T-A T A
+22 25105832 22:25105832G-C G C
+22 25106327 22:25106327A-G A G
+22 25106411 22:25106411T-A T A
+22 25106976 22:25106976G-A G A
+22 25107566 22:25107566G-C G C
+22 25108767 22:25108767A-G A G
+22 25109027 22:25109027G-A G A
+22 25109069 22:25109069T-C T C
+22 25109920 22:25109920C-T C T
+22 25110395 22:25110395T-G T G
+22 25110656 22:25110656T-G T G
+22 25111200 22:25111200C-G C G
+22 25111218 22:25111218A-T A T
+22 25111237 22:25111237A-T A T
+22 25111467 22:25111467G-T G T
+22 25112325 22:25112325G-A G A
+22 25113330 22:25113330C-T C T
+22 25113562 22:25113562A-G A G
+22 25113739 22:25113739A-G A G
+22 25114396 22:25114396A-G A G
+22 25114827 22:25114827G-A G A
+22 25115959 22:25115959C-T C T
+22 25117920 22:25117920C-T C T
+22 25117963 22:25117963T-C T C
+22 25118051 22:25118051A-G A G
+22 25118689 22:25118689G-A G A
+22 25119284 22:25119284G-A G A
+22 25119300 22:25119300T-C T C
+22 25119636 22:25119636T-C T C
+22 25119935 22:25119935A-G A G
+22 25120503 22:25120503G-A G A
+22 25122290 22:25122290C-T C T
+22 25122374 22:25122374T-C T C
+22 25122720 22:25122720A-G A G
+22 25123031 22:25123031A-G A G
+22 25123505 22:25123505T-C T C
+22 25123664 22:25123664A-G A G
+22 25123669 22:25123669A-G A G
+22 25124095 22:25124095C-T C T
+22 25124711 22:25124711C-T C T
+22 25124928 22:25124928C-G C G
+22 25125000 22:25125000A-G A G
+22 25126236 22:25126236G-A G A
+22 25127865 22:25127865T-C T C
+22 25129826 22:25129826A-C A C
+22 25129964 22:25129964A-G A G
+22 25130948 22:25130948A-G A G
+22 25131003 22:25131003G-A G A
+22 25131025 22:25131025A-T A T
+22 25131222 22:25131222T-C T C
+22 25131425 22:25131425G-T G T
+22 25131985 22:25131985A-G A G
+22 25132498 22:25132498A-G A G
+22 25132558 22:25132558C-T C T
+22 25133052 22:25133052G-T G T
+22 25133117 22:25133117T-C T C
+22 25133355 22:25133355T-A T A
+22 25133760 22:25133760G-C G C
+22 25134256 22:25134256C-A C A
+22 25134271 22:25134271C-T C T
+22 25134291 22:25134291C-T C T
+22 25134865 22:25134865T-C T C
+22 25135200 22:25135200T-C T C
+22 25135682 22:25135682A-G A G
+22 25136043 22:25136043G-A G A
+22 25136112 22:25136112G-A G A
+22 25136140 22:25136140G-A G A
+22 25136788 22:25136788C-T C T
+22 25142030 22:25142030G-A G A
+22 25142132 22:25142132A-G A G
+22 25142257 22:25142257A-G A G
+22 25142615 22:25142615A-G A G
+22 25142832 22:25142832G-A G A
+22 25142974 22:25142974C-T C T
+22 25143680 22:25143680G-A G A
+22 25144054 22:25144054A-G A G
+22 25144421 22:25144421T-C T C
+22 25144676 22:25144676T-C T C
+22 25144912 22:25144912C-T C T
+22 25145094 22:25145094C-T C T
+22 25145453 22:25145453C-T C T
+22 25145471 22:25145471A-G A G
+22 25146534 22:25146534C-A C A
+22 25146616 22:25146616C-T C T
+22 25146736 22:25146736T-C T C
+22 25146889 22:25146889G-A G A
+22 25146944 22:25146944A-T A T
+22 25146962 22:25146962G-A G A
+22 25147159 22:25147159A-G A G
+22 25147324 22:25147324A-G A G
+22 25147816 22:25147816C-T C T
+22 25148588 22:25148588C-T C T
+22 25149148 22:25149148T-C T C
+22 25149206 22:25149206T-C T C
+22 25150694 22:25150694C-T C T
+22 25151026 22:25151026C-G C G
+22 25151516 22:25151516C-A C A
+22 25151638 22:25151638T-C T C
+22 25152821 22:25152821T-C T C
+22 25152836 22:25152836C-T C T
+22 25153463 22:25153463T-C T C
+22 25153743 22:25153743G-A G A
+22 25154776 22:25154776C-T C T
+22 25155047 22:25155047G-T G T
+22 25155144 22:25155144A-G A G
+22 25156134 22:25156134A-C A C
+22 25156703 22:25156703C-T C T
+22 25157311 22:25157311A-T A T
+22 25157455 22:25157455T-C T C
+22 25158326 22:25158326A-G A G
+22 25158532 22:25158532G-C G C
+22 25158597 22:25158597G-C G C
+22 25159157 22:25159157G-A G A
+22 25159425 22:25159425G-T G T
+22 25159492 22:25159492T-C T C
+22 25159545 22:25159545G-A G A
+22 25159862 22:25159862T-C T C
+22 25159950 22:25159950G-A G A
+22 25160298 22:25160298T-C T C
+22 25160668 22:25160668G-A G A
+22 25160785 22:25160785T-C T C
+22 25161052 22:25161052T-C T C
+22 25161325 22:25161325C-G C G
+22 25161356 22:25161356C-T C T
+22 25161373 22:25161373C-T C T
+22 25161380 22:25161380A-G A G
+22 25161495 22:25161495T-A T A
+22 25161574 22:25161574T-C T C
+22 25161635 22:25161635G-A G A
+22 25161820 22:25161820T-G T G
+22 25161825 22:25161825A-G A G
+22 25161891 22:25161891G-C G C
+22 25162159 22:25162159G-T G T
+22 25162299 22:25162299G-T G T
+22 25162510 22:25162510T-C T C
+22 25162578 22:25162578C-T C T
+22 25162584 22:25162584T-C T C
+22 25162976 22:25162976T-A T A
+22 25163023 22:25163023G-A G A
+22 25163472 22:25163472C-T C T
+22 25163624 22:25163624A-G A G
+22 25163992 22:25163992G-C G C
+22 25164291 22:25164291G-T G T
+22 25164414 22:25164414T-A T A
+22 25164465 22:25164465C-T C T
+22 25164498 22:25164498C-T C T
+22 25164505 22:25164505C-A C A
+22 25164604 22:25164604T-C T C
+22 25164683 22:25164683C-T C T
+22 25164888 22:25164888T-C T C
+22 25164960 22:25164960A-G A G
+22 25165001 22:25165001C-A C A
+22 25165022 22:25165022T-G T G
+22 25165047 22:25165047A-C A C
+22 25165277 22:25165277A-G A G
+22 25165416 22:25165416A-G A G
+22 25165440 22:25165440G-T G T
+22 25165468 22:25165468A-G A G
+22 25165514 22:25165514G-A G A
+22 25165726 22:25165726G-A G A
+22 25166231 22:25166231A-G A G
+22 25166320 22:25166320C-T C T
+22 25166579 22:25166579C-G C G
+22 25166671 22:25166671A-G A G
+22 25166780 22:25166780T-C T C
+22 25166793 22:25166793C-T C T
+22 25167062 22:25167062A-T A T
+22 25167295 22:25167295G-A G A
+22 25167739 22:25167739C-T C T
+22 25167793 22:25167793C-G C G
+22 25167869 22:25167869G-C G C
+22 25167911 22:25167911T-C T C
+22 25168053 22:25168053T-A T A
+22 25168113 22:25168113A-G A G
+22 25168397 22:25168397C-A C A
+22 25168411 22:25168411T-C T C
+22 25169210 22:25169210G-C G C
+22 25169549 22:25169549C-T C T
+22 25169831 22:25169831G-A G A
+22 25169862 22:25169862C-T C T
+22 25169940 22:25169940A-G A G
+22 25170136 22:25170136C-T C T
+22 25170290 22:25170290T-C T C
+22 25170297 22:25170297T-C T C
+22 25170488 22:25170488G-C G C
+22 25170840 22:25170840T-G T G
+22 25170945 22:25170945C-A C A
+22 25171293 22:25171293G-A G A
+22 25171387 22:25171387C-A C A
+22 25171477 22:25171477G-T G T
+22 25171530 22:25171530T-C T C
+22 25171553 22:25171553C-A C A
+22 25171625 22:25171625A-G A G
+22 25171879 22:25171879A-G A G
+22 25171987 22:25171987G-A G A
+22 25172117 22:25172117C-G C G
+22 25172169 22:25172169A-C A C
+22 25172624 22:25172624G-C G C
+22 25173152 22:25173152G-A G A
+22 25173344 22:25173344T-G T G
+22 25173527 22:25173527G-A G A
+22 25173569 22:25173569C-T C T
+22 25173627 22:25173627G-A G A
+22 25173834 22:25173834A-G A G
+22 25173918 22:25173918C-T C T
+22 25173964 22:25173964G-T G T
+22 25174046 22:25174046G-C G C
+22 25174381 22:25174381C-T C T
+22 25174393 22:25174393C-T C T
+22 25174805 22:25174805C-A C A
+22 25174981 22:25174981A-G A G
+22 25175350 22:25175350A-T A T
+22 25175658 22:25175658C-T C T
+22 25176512 22:25176512T-G T G
+22 25176582 22:25176582G-A G A
+22 25176861 22:25176861T-C T C
+22 25177068 22:25177068T-C T C
+22 25177197 22:25177197T-C T C
+22 25177247 22:25177247T-C T C
+22 25177308 22:25177308G-T G T
+22 25177371 22:25177371T-A T A
+22 25177568 22:25177568C-T C T
+22 25179370 22:25179370T-G T G
+22 25179580 22:25179580C-T C T
+22 25179965 22:25179965G-C G C
+22 25180088 22:25180088C-G C G
+22 25180796 22:25180796G-A G A
+22 25181167 22:25181167T-C T C
+22 25181255 22:25181255G-A G A
+22 25181513 22:25181513T-G T G
+22 25181674 22:25181674A-G A G
+22 25182381 22:25182381C-T C T
+22 25182624 22:25182624T-C T C
+22 25182827 22:25182827A-G A G
+22 25182839 22:25182839T-C T C
+22 25183642 22:25183642T-G T G
+22 25184205 22:25184205G-A G A
+22 25184206 22:25184206C-A C A
+22 25184442 22:25184442T-C T C
+22 25185699 22:25185699A-G A G
+22 25185823 22:25185823G-A G A
+22 25185863 22:25185863T-C T C
+22 25185880 22:25185880T-G T G
+22 25186070 22:25186070C-T C T
+22 25186071 22:25186071A-G A G
+22 25186167 22:25186167C-T C T
+22 25186229 22:25186229C-T C T
+22 25186633 22:25186633G-C G C
+22 25186691 22:25186691T-C T C
+22 25187134 22:25187134C-T C T
+22 25187544 22:25187544T-C T C
+22 25187658 22:25187658G-C G C
+22 25189055 22:25189055G-T G T
+22 25190029 22:25190029A-G A G
+22 25190053 22:25190053C-T C T
+22 25190139 22:25190139T-C T C
+22 25190479 22:25190479A-G A G
+22 25191434 22:25191434C-T C T
+22 25192119 22:25192119A-C A C
+22 25192432 22:25192432G-A G A
+22 25192486 22:25192486T-A T A
+22 25193250 22:25193250A-G A G
+22 25193314 22:25193314A-G A G
+22 25194564 22:25194564C-G C G
+22 25194822 22:25194822T-C T C
+22 25195081 22:25195081G-C G C
+22 25195129 22:25195129G-C G C
+22 25195540 22:25195540G-A G A
+22 25196042 22:25196042C-T C T
+22 25196516 22:25196516C-T C T
+22 25196754 22:25196754C-T C T
+22 25196811 22:25196811G-A G A
+22 25196821 22:25196821T-C T C
+22 25197428 22:25197428A-G A G
+22 25197828 22:25197828A-G A G
+22 25198527 22:25198527C-T C T
+22 25199298 22:25199298T-C T C
+22 25199867 22:25199867G-A G A
+22 25201317 22:25201317A-G A G
+22 25201678 22:25201678A-C A C
+22 25201746 22:25201746C-T C T
+22 25202090 22:25202090G-A G A
+22 25202807 22:25202807A-G A G
+22 25203688 22:25203688T-C T C
+22 25204514 22:25204514T-C T C
+22 25204671 22:25204671G-A G A
+22 25205100 22:25205100C-T C T
+22 25205719 22:25205719C-T C T
+22 25206079 22:25206079C-G C G
+22 25206688 22:25206688T-G T G
+22 25207013 22:25207013G-T G T
+22 25208398 22:25208398A-G A G
+22 25208458 22:25208458C-G C G
+22 25208768 22:25208768G-A G A
+22 25209377 22:25209377G-A G A
+22 25209724 22:25209724T-C T C
+22 25209729 22:25209729A-C A C
+22 25209753 22:25209753C-T C T
+22 25209780 22:25209780T-C T C
+22 25210306 22:25210306A-G A G
+22 25211229 22:25211229G-A G A
+22 25211475 22:25211475C-T C T
+22 25211481 22:25211481A-G A G
+22 25211546 22:25211546A-G A G
+22 25211581 22:25211581G-A G A
+22 25211793 22:25211793A-G A G
+22 25211803 22:25211803G-T G T
+22 25212702 22:25212702G-A G A
+22 25212863 22:25212863T-C T C
+22 25212905 22:25212905C-T C T
+22 25212913 22:25212913C-G C G
+22 25212973 22:25212973T-C T C
+22 25213023 22:25213023C-T C T
+22 25213105 22:25213105A-G A G
+22 25213443 22:25213443C-G C G
+22 25213476 22:25213476C-T C T
+22 25213480 22:25213480T-C T C
+22 25213767 22:25213767A-T A T
+22 25213937 22:25213937G-A G A
+22 25214118 22:25214118C-G C G
+22 25214124 22:25214124A-G A G
+22 25214397 22:25214397C-T C T
+22 25214410 22:25214410A-C A C
+22 25214428 22:25214428A-G A G
+22 25214495 22:25214495C-T C T
+22 25214682 22:25214682C-T C T
+22 25214877 22:25214877A-G A G
+22 25214970 22:25214970C-G C G
+22 25215305 22:25215305C-T C T
+22 25215436 22:25215436G-A G A
+22 25215484 22:25215484C-T C T
+22 25215489 22:25215489T-A T A
+22 25215934 22:25215934C-T C T
+22 25216289 22:25216289C-G C G
+22 25216719 22:25216719G-A G A
+22 25217063 22:25217063G-C G C
+22 25217152 22:25217152C-T C T
+22 25217701 22:25217701C-T C T
+22 25217740 22:25217740T-C T C
+22 25217890 22:25217890G-T G T
+22 25218222 22:25218222C-T C T
+22 25218253 22:25218253G-T G T
+22 25218993 22:25218993A-G A G
+22 25219600 22:25219600A-T A T
+22 25219681 22:25219681C-A C A
+22 25219697 22:25219697G-C G C
+22 25219783 22:25219783G-A G A
+22 25219930 22:25219930T-C T C
+22 25220372 22:25220372A-T A T
+22 25220446 22:25220446C-T C T
+22 25220600 22:25220600G-A G A
+22 25220606 22:25220606C-T C T
+22 25220685 22:25220685A-T A T
+22 25220753 22:25220753G-C G C
+22 25221330 22:25221330G-T G T
+22 25221408 22:25221408A-G A G
+22 25221915 22:25221915G-C G C
+22 25221962 22:25221962C-T C T
+22 25221969 22:25221969T-G T G
+22 25222902 22:25222902A-G A G
+22 25223662 22:25223662A-G A G
+22 25223920 22:25223920C-A C A
+22 25224380 22:25224380G-A G A
+22 25224556 22:25224556G-A G A
+22 25224810 22:25224810G-C G C
+22 25224843 22:25224843A-G A G
+22 25225032 22:25225032G-A G A
+22 25225033 22:25225033G-C G C
+22 25225117 22:25225117C-T C T
+22 25225119 22:25225119T-C T C
+22 25225149 22:25225149T-A T A
+22 25225248 22:25225248G-A G A
+22 25225580 22:25225580G-A G A
+22 25225703 22:25225703T-A T A
+22 25225713 22:25225713C-T C T
+22 25225769 22:25225769G-A G A
+22 25225879 22:25225879T-C T C
+22 25226157 22:25226157C-T C T
+22 25226954 22:25226954G-T G T
+22 25227694 22:25227694G-A G A
+22 25227897 22:25227897T-C T C
+22 25227996 22:25227996C-T C T
+22 25228022 22:25228022C-T C T
+22 25228089 22:25228089A-G A G
+22 25228296 22:25228296C-T C T
+22 25228375 22:25228375T-C T C
+22 25228924 22:25228924C-T C T
+22 25229095 22:25229095T-C T C
+22 25229226 22:25229226T-C T C
+22 25229995 22:25229995A-C A C
+22 25230428 22:25230428G-T G T
+22 25230909 22:25230909G-C G C
+22 25231008 22:25231008C-T C T
+22 25231408 22:25231408G-A G A
+22 25231422 22:25231422G-A G A
+22 25231570 22:25231570G-A G A
+22 25231706 22:25231706G-A G A
+22 25231808 22:25231808C-T C T
+22 25231954 22:25231954G-C G C
+22 25232052 22:25232052C-T C T
+22 25232065 22:25232065G-A G A
+22 25232155 22:25232155G-C G C
+22 25232254 22:25232254T-C T C
+22 25232357 22:25232357T-C T C
+22 25232692 22:25232692A-G A G
+22 25232862 22:25232862T-C T C
+22 25232918 22:25232918G-A G A
+22 25233080 22:25233080G-A G A
+22 25233102 22:25233102A-G A G
+22 25233378 22:25233378G-C G C
+22 25233786 22:25233786G-A G A
+22 25233978 22:25233978A-G A G
+22 25234014 22:25234014G-A G A
+22 25234220 22:25234220C-T C T
+22 25234461 22:25234461T-C T C
+22 25234481 22:25234481G-A G A
+22 25234712 22:25234712A-C A C
+22 25234890 22:25234890T-G T G
+22 25234966 22:25234966A-G A G
+22 25235091 22:25235091T-C T C
+22 25235143 22:25235143C-T C T
+22 25235241 22:25235241G-C G C
+22 25235828 22:25235828A-T A T
+22 25235868 22:25235868G-A G A
+22 25235971 22:25235971G-A G A
+22 25236146 22:25236146C-T C T
+22 25236379 22:25236379C-T C T
+22 25236828 22:25236828T-C T C
+22 25236878 22:25236878C-T C T
+22 25237104 22:25237104A-C A C
+22 25237108 22:25237108T-C T C
+22 25237278 22:25237278C-G C G
+22 25238292 22:25238292C-T C T
+22 25238729 22:25238729G-T G T
+22 25238806 22:25238806G-A G A
+22 25239557 22:25239557C-T C T
+22 25239802 22:25239802G-A G A
+22 25240229 22:25240229G-A G A
+22 25241381 22:25241381G-A G A
+22 25241837 22:25241837G-C G C
+22 25242592 22:25242592A-G A G
+22 25242708 22:25242708A-C A C
+22 25242976 22:25242976T-G T G
+22 25244060 22:25244060C-A C A
+22 25244628 22:25244628T-A T A
+22 25244879 22:25244879A-G A G
+22 25245118 22:25245118T-C T C
+22 25245583 22:25245583C-A C A
+22 25245838 22:25245838C-T C T
+22 25246112 22:25246112G-A G A
+22 25246734 22:25246734G-A G A
+22 25246937 22:25246937A-G A G
+22 25247630 22:25247630C-T C T
+22 25248274 22:25248274G-A G A
+22 25248749 22:25248749A-G A G
+22 25248765 22:25248765A-G A G
+22 25248855 22:25248855C-T C T
+22 25249121 22:25249121T-C T C
+22 25249284 22:25249284C-T C T
+22 25249786 22:25249786G-A G A
+22 25250787 22:25250787A-G A G
+22 25252192 22:25252192A-G A G
+22 25252387 22:25252387T-C T C
+22 25252510 22:25252510A-C A C
+22 25252631 22:25252631C-A C A
+22 25252661 22:25252661T-C T C
+22 25253027 22:25253027A-G A G
+22 25253155 22:25253155A-G A G
+22 25253160 22:25253160A-G A G
+22 25253264 22:25253264A-G A G
+22 25253865 22:25253865A-G A G
+22 25254557 22:25254557C-T C T
+22 25254708 22:25254708G-A G A
+22 25254928 22:25254928G-A G A
+22 25255580 22:25255580A-G A G
+22 25255950 22:25255950C-T C T
+22 25255959 22:25255959C-T C T
+22 25256534 22:25256534G-A G A
+22 25256724 22:25256724A-G A G
+22 25258053 22:25258053C-T C T
+22 25258826 22:25258826G-C G C
+22 25258827 22:25258827G-A G A
+22 25258902 22:25258902C-T C T
+22 25258928 22:25258928C-A C A
+22 25259433 22:25259433G-A G A
+22 25260770 22:25260770A-T A T
+22 25260984 22:25260984G-A G A
+22 25261043 22:25261043G-T G T
+22 25261859 22:25261859T-C T C
+22 25261886 22:25261886G-A G A
+22 25262348 22:25262348G-A G A
+22 25262369 22:25262369C-T C T
+22 25262477 22:25262477T-C T C
+22 25262547 22:25262547C-T C T
+22 25262562 22:25262562C-G C G
+22 25262584 22:25262584A-G A G
+22 25262849 22:25262849A-G A G
+22 25263048 22:25263048G-A G A
+22 25263240 22:25263240G-A G A
+22 25263273 22:25263273C-T C T
+22 25263573 22:25263573A-G A G
+22 25265634 22:25265634T-C T C
+22 25265790 22:25265790G-T G T
+22 25265811 22:25265811A-G A G
+22 25265882 22:25265882A-G A G
+22 25265972 22:25265972G-A G A
+22 25267361 22:25267361T-A T A
+22 25268215 22:25268215G-A G A
+22 25269304 22:25269304T-C T C
+22 25269518 22:25269518C-A C A
+22 25269615 22:25269615C-T C T
+22 25269646 22:25269646T-C T C
+22 25269647 22:25269647A-G A G
+22 25269742 22:25269742T-C T C
+22 25269770 22:25269770C-T C T
+22 25269953 22:25269953C-G C G
+22 25270455 22:25270455G-C G C
+22 25271044 22:25271044G-C G C
+22 25272453 22:25272453C-T C T
+22 25274327 22:25274327T-C T C
+22 25275393 22:25275393T-C T C
+22 25275523 22:25275523C-A C A
+22 25276618 22:25276618A-G A G
+22 25277567 22:25277567C-A C A
+22 25278043 22:25278043C-G C G
+22 25278322 22:25278322G-C G C
+22 25278896 22:25278896G-A G A
+22 25280534 22:25280534T-G T G
+22 25282765 22:25282765T-C T C
+22 25283602 22:25283602G-A G A
+22 25283778 22:25283778G-C G C
+22 25283909 22:25283909G-A G A
+22 25284016 22:25284016T-G T G
+22 25284135 22:25284135T-G T G
+22 25284280 22:25284280T-G T G
+22 25284456 22:25284456C-T C T
+22 25284601 22:25284601C-T C T
+22 25284613 22:25284613G-T G T
+22 25284818 22:25284818G-A G A
+22 25284829 22:25284829A-G A G
+22 25285019 22:25285019C-G C G
+22 25285086 22:25285086G-A G A
+22 25285118 22:25285118G-A G A
+22 25285463 22:25285463G-A G A
+22 25285471 22:25285471G-A G A
+22 25285761 22:25285761C-T C T
+22 25286188 22:25286188C-G C G
+22 25286536 22:25286536C-G C G
+22 25286983 22:25286983A-C A C
+22 25287528 22:25287528T-G T G
+22 25287692 22:25287692G-A G A
+22 25287727 22:25287727G-A G A
+22 25287804 22:25287804G-A G A
+22 25287889 22:25287889A-C A C
+22 25288021 22:25288021C-T C T
+22 25288089 22:25288089A-T A T
+22 25288102 22:25288102G-A G A
+22 25288114 22:25288114C-T C T
+22 25289335 22:25289335G-C G C
+22 25290446 22:25290446A-G A G
+22 25290487 22:25290487G-T G T
+22 25290602 22:25290602C-T C T
+22 25290646 22:25290646A-G A G
+22 25290853 22:25290853A-T A T
+22 25290987 22:25290987C-T C T
+22 25291076 22:25291076C-T C T
+22 25291095 22:25291095C-A C A
+22 25291682 22:25291682T-C T C
+22 25292719 22:25292719C-G C G
+22 25292977 22:25292977G-T G T
+22 25293558 22:25293558T-C T C
+22 25294818 22:25294818A-C A C
+22 25294891 22:25294891G-A G A
+22 25297338 22:25297338A-C A C
+22 25297404 22:25297404A-G A G
+22 25297513 22:25297513C-A C A
+22 25297755 22:25297755G-A G A
+22 25297965 22:25297965T-C T C
+22 25298485 22:25298485A-T A T
+22 25298891 22:25298891G-A G A
+22 25298983 22:25298983C-T C T
+22 25299245 22:25299245G-A G A
+22 25299333 22:25299333G-A G A
+22 25299429 22:25299429A-G A G
+22 25300371 22:25300371T-C T C
+22 25300640 22:25300640C-G C G
+22 25300658 22:25300658A-G A G
+22 25301743 22:25301743A-G A G
+22 25302284 22:25302284A-G A G
+22 25302653 22:25302653G-A G A
+22 25303055 22:25303055T-C T C
+22 25303674 22:25303674G-A G A
+22 25303688 22:25303688G-A G A
+22 25303803 22:25303803C-T C T
+22 25303941 22:25303941C-T C T
+22 25304011 22:25304011G-C G C
+22 25304148 22:25304148T-C T C
+22 25304473 22:25304473G-A G A
+22 25304555 22:25304555G-T G T
+22 25304948 22:25304948G-A G A
+22 25305043 22:25305043C-T C T
+22 25305370 22:25305370A-G A G
+22 25305513 22:25305513C-A C A
+22 25305718 22:25305718T-C T C
+22 25305805 22:25305805G-A G A
+22 25306214 22:25306214A-G A G
+22 25307571 22:25307571C-T C T
+22 25308272 22:25308272T-C T C
+22 25308506 22:25308506C-T C T
+22 25309389 22:25309389C-T C T
+22 25309448 22:25309448G-A G A
+22 25309550 22:25309550A-C A C
+22 25310022 22:25310022T-C T C
+22 25310578 22:25310578A-T A T
+22 25311007 22:25311007A-G A G
+22 25311040 22:25311040G-A G A
+22 25311304 22:25311304C-G C G
+22 25313446 22:25313446C-T C T
+22 25314193 22:25314193C-T C T
+22 25314935 22:25314935T-G T G
+22 25315096 22:25315096G-A G A
+22 25315642 22:25315642C-T C T
+22 25315660 22:25315660T-C T C
+22 25315753 22:25315753G-A G A
+22 25316350 22:25316350A-G A G
+22 25317044 22:25317044T-C T C
+22 25317239 22:25317239A-G A G
+22 25317736 22:25317736A-G A G
+22 25318042 22:25318042A-G A G
+22 25318234 22:25318234A-G A G
+22 25318238 22:25318238G-C G C
+22 25318689 22:25318689C-T C T
+22 25318690 22:25318690G-A G A
+22 25319003 22:25319003G-C G C
+22 25319168 22:25319168A-G A G
+22 25319244 22:25319244T-C T C
+22 25319425 22:25319425T-G T G
+22 25319456 22:25319456C-T C T
+22 25319537 22:25319537C-T C T
+22 25319675 22:25319675C-T C T
+22 25319885 22:25319885G-A G A
+22 25320371 22:25320371C-T C T
+22 25320738 22:25320738C-T C T
+22 25320814 22:25320814C-T C T
+22 25321787 22:25321787G-A G A
+22 25322840 22:25322840T-A T A
+22 25323153 22:25323153G-C G C
+22 25324627 22:25324627T-C T C
+22 25327959 22:25327959A-G A G
+22 25328686 22:25328686G-A G A
+22 25328799 22:25328799T-C T C
+22 25329412 22:25329412C-T C T
+22 25329613 22:25329613G-A G A
+22 25331939 22:25331939C-T C T
+22 25332099 22:25332099C-T C T
+22 25334094 22:25334094T-C T C
+22 25334869 22:25334869G-A G A
+22 25334977 22:25334977C-T C T
+22 25335093 22:25335093C-T C T
+22 25335794 22:25335794T-G T G
+22 25336075 22:25336075T-C T C
+22 25336820 22:25336820A-G A G
+22 25338154 22:25338154G-A G A
+22 25338183 22:25338183G-A G A
+22 25338498 22:25338498G-A G A
+22 25339954 22:25339954T-C T C
+22 25341203 22:25341203A-G A G
+22 25343430 22:25343430C-T C T
+22 25343798 22:25343798C-T C T
+22 25345537 22:25345537T-C T C
+22 25350087 22:25350087A-G A G
+22 25351043 22:25351043T-C T C
+22 25351379 22:25351379C-A C A
+22 25351767 22:25351767A-C A C
+22 25352369 22:25352369G-C G C
+22 25352963 22:25352963A-C A C
+22 25356007 22:25356007G-A G A
+22 25357408 22:25357408C-T C T
+22 25358845 22:25358845A-G A G
+22 25359162 22:25359162C-G C G
+22 25360670 22:25360670C-G C G
+22 25361103 22:25361103G-C G C
+22 25361760 22:25361760T-C T C
+22 25361977 22:25361977T-C T C
+22 25362067 22:25362067C-T C T
+22 25362763 22:25362763T-C T C
+22 25363270 22:25363270A-G A G
+22 25363411 22:25363411G-A G A
+22 25364428 22:25364428C-T C T
+22 25364707 22:25364707T-C T C
+22 25365239 22:25365239C-A C A
+22 25365714 22:25365714C-T C T
+22 25365828 22:25365828A-C A C
+22 25366411 22:25366411T-C T C
+22 25366864 22:25366864G-C G C
+22 25367027 22:25367027T-C T C
+22 25367178 22:25367178C-G C G
+22 25367363 22:25367363G-C G C
+22 25367378 22:25367378T-G T G
+22 25367695 22:25367695G-T G T
+22 25368401 22:25368401A-G A G
+22 25368426 22:25368426C-T C T
+22 25368543 22:25368543A-C A C
+22 25369084 22:25369084G-A G A
+22 25369243 22:25369243A-G A G
+22 25369319 22:25369319C-T C T
+22 25369506 22:25369506A-G A G
+22 25369509 22:25369509T-C T C
+22 25369537 22:25369537A-T A T
+22 25370785 22:25370785G-T G T
+22 25373391 22:25373391A-G A G
+22 25373985 22:25373985A-C A C
+22 25374362 22:25374362A-G A G
+22 25374434 22:25374434C-G C G
+22 25374503 22:25374503A-C A C
+22 25374948 22:25374948A-G A G
+22 25376001 22:25376001A-G A G
+22 25376906 22:25376906C-G C G
+22 25381045 22:25381045G-A G A
+22 25381375 22:25381375C-G C G
+22 25382031 22:25382031C-T C T
+22 25383677 22:25383677A-G A G
+22 25384169 22:25384169T-C T C
+22 25385875 22:25385875A-G A G
+22 25386309 22:25386309C-T C T
+22 25386627 22:25386627A-G A G
+22 25386855 22:25386855G-A G A
+22 25386965 22:25386965G-A G A
+22 25387179 22:25387179G-A G A
+22 25388197 22:25388197T-A T A
+22 25388318 22:25388318T-C T C
+22 25388465 22:25388465G-A G A
+22 25388659 22:25388659A-G A G
+22 25388965 22:25388965G-A G A
+22 25389080 22:25389080A-C A C
+22 25389135 22:25389135C-T C T
+22 25390044 22:25390044C-T C T
+22 25390704 22:25390704C-T C T
+22 25390855 22:25390855T-C T C
+22 25391294 22:25391294T-C T C
+22 25391336 22:25391336T-C T C
+22 25392304 22:25392304C-T C T
+22 25392832 22:25392832C-A C A
+22 25393014 22:25393014C-T C T
+22 25393476 22:25393476G-A G A
+22 25393897 22:25393897T-C T C
+22 25394382 22:25394382A-G A G
+22 25394555 22:25394555G-A G A
+22 25394741 22:25394741G-A G A
+22 25395342 22:25395342T-C T C
+22 25395992 22:25395992T-C T C
+22 25396693 22:25396693G-A G A
+22 25397740 22:25397740G-A G A
+22 25399583 22:25399583G-C G C
+22 25399631 22:25399631G-A G A
+22 25399931 22:25399931C-T C T
+22 25400278 22:25400278T-C T C
+22 25400511 22:25400511T-C T C
+22 25400745 22:25400745C-G C G
+22 25401094 22:25401094G-A G A
+22 25401186 22:25401186G-T G T
+22 25401437 22:25401437T-C T C
+22 25401482 22:25401482C-T C T
+22 25401820 22:25401820C-G C G
+22 25402318 22:25402318G-A G A
+22 25403114 22:25403114A-G A G
+22 25403765 22:25403765G-T G T
+22 25404309 22:25404309T-C T C
+22 25404908 22:25404908C-G C G
+22 25406969 22:25406969T-A T A
+22 25407480 22:25407480C-T C T
+22 25408189 22:25408189A-C A C
+22 25410266 22:25410266A-G A G
+22 25410505 22:25410505G-A G A
+22 25410895 22:25410895A-G A G
+22 25411420 22:25411420T-C T C
+22 25413930 22:25413930C-T C T
+22 25414834 22:25414834G-T G T
+22 25419524 22:25419524C-T C T
+22 25420696 22:25420696G-A G A
+22 25442296 22:25442296A-G A G
+22 25449268 22:25449268C-T C T
+22 25449764 22:25449764G-A G A
+22 25451138 22:25451138G-C G C
+22 25454580 22:25454580A-G A G
+22 25454624 22:25454624A-G A G
+22 25454658 22:25454658A-C A C
+22 25454812 22:25454812A-T A T
+22 25455087 22:25455087A-C A C
+22 25455283 22:25455283A-G A G
+22 25455340 22:25455340C-T C T
+22 25456109 22:25456109G-A G A
+22 25456277 22:25456277G-A G A
+22 25456572 22:25456572C-T C T
+22 25456909 22:25456909C-T C T
+22 25456939 22:25456939T-A T A
+22 25457445 22:25457445C-T C T
+22 25457949 22:25457949C-T C T
+22 25458111 22:25458111C-T C T
+22 25458352 22:25458352A-G A G
+22 25458733 22:25458733A-G A G
+22 25459042 22:25459042C-T C T
+22 25459113 22:25459113A-T A T
+22 25459387 22:25459387G-A G A
+22 25460204 22:25460204T-C T C
+22 25460772 22:25460772A-T A T
+22 25461040 22:25461040A-C A C
+22 25461377 22:25461377A-G A G
+22 25461452 22:25461452G-A G A
+22 25461620 22:25461620T-A T A
+22 25461753 22:25461753C-T C T
+22 25462634 22:25462634C-T C T
+22 25464161 22:25464161A-G A G
+22 25464310 22:25464310A-G A G
+22 25464549 22:25464549G-A G A
+22 25464565 22:25464565G-A G A
+22 25464866 22:25464866G-C G C
+22 25465065 22:25465065T-C T C
+22 25465142 22:25465142T-C T C
+22 25465240 22:25465240T-C T C
+22 25465256 22:25465256A-C A C
+22 25465828 22:25465828T-C T C
+22 25465949 22:25465949G-C G C
+22 25465977 22:25465977G-A G A
+22 25466323 22:25466323G-C G C
+22 25466395 22:25466395G-T G T
+22 25466553 22:25466553G-A G A
+22 25466635 22:25466635G-T G T
+22 25467143 22:25467143C-T C T
+22 25467406 22:25467406C-A C A
+22 25467408 22:25467408G-C G C
+22 25467431 22:25467431C-A C A
+22 25467632 22:25467632C-T C T
+22 25467916 22:25467916G-A G A
+22 25468013 22:25468013C-G C G
+22 25468406 22:25468406A-G A G
+22 25468432 22:25468432T-C T C
+22 25468709 22:25468709C-G C G
+22 25468830 22:25468830A-G A G
+22 25469198 22:25469198C-A C A
+22 25469303 22:25469303G-A G A
+22 25469310 22:25469310C-T C T
+22 25469345 22:25469345T-A T A
+22 25469825 22:25469825T-C T C
+22 25469846 22:25469846G-A G A
+22 25470546 22:25470546G-A G A
+22 25470557 22:25470557C-T C T
+22 25471296 22:25471296A-G A G
+22 25471521 22:25471521T-C T C
+22 25471962 22:25471962C-T C T
+22 25472183 22:25472183C-A C A
+22 25472463 22:25472463G-A G A
+22 25473134 22:25473134G-A G A
+22 25473526 22:25473526C-G C G
+22 25473662 22:25473662G-A G A
+22 25473908 22:25473908G-C G C
+22 25474330 22:25474330A-G A G
+22 25474566 22:25474566A-G A G
+22 25475354 22:25475354T-C T C
+22 25476062 22:25476062C-A C A
+22 25476064 22:25476064G-A G A
+22 25476552 22:25476552G-C G C
+22 25476584 22:25476584T-C T C
+22 25476750 22:25476750A-G A G
+22 25476871 22:25476871T-C T C
+22 25477082 22:25477082T-C T C
+22 25477604 22:25477604T-C T C
+22 25477703 22:25477703C-T C T
+22 25478023 22:25478023G-A G A
+22 25478292 22:25478292C-T C T
+22 25479065 22:25479065C-T C T
+22 25479479 22:25479479T-C T C
+22 25479684 22:25479684T-G T G
+22 25480006 22:25480006G-A G A
+22 25480182 22:25480182G-A G A
+22 25480872 22:25480872G-C G C
+22 25480981 22:25480981A-G A G
+22 25481070 22:25481070G-C G C
+22 25481086 22:25481086T-C T C
+22 25481557 22:25481557T-C T C
+22 25481750 22:25481750A-G A G
+22 25482454 22:25482454A-G A G
+22 25482598 22:25482598C-G C G
+22 25482991 22:25482991G-A G A
+22 25483185 22:25483185A-C A C
+22 25483312 22:25483312G-A G A
+22 25483317 22:25483317C-T C T
+22 25483767 22:25483767C-T C T
+22 25483781 22:25483781T-C T C
+22 25483921 22:25483921C-T C T
+22 25484155 22:25484155A-G A G
+22 25484225 22:25484225C-T C T
+22 25485367 22:25485367G-A G A
+22 25485533 22:25485533A-C A C
+22 25486739 22:25486739T-C T C
+22 25487149 22:25487149C-T C T
+22 25487245 22:25487245G-A G A
+22 25487317 22:25487317A-G A G
+22 25487844 22:25487844C-T C T
+22 25488567 22:25488567T-C T C
+22 25488728 22:25488728C-T C T
+22 25489203 22:25489203G-A G A
+22 25489220 22:25489220A-G A G
+22 25489462 22:25489462A-G A G
+22 25489921 22:25489921C-T C T
+22 25490044 22:25490044A-T A T
+22 25490943 22:25490943G-A G A
+22 25491727 22:25491727C-T C T
+22 25491825 22:25491825C-G C G
+22 25492696 22:25492696C-T C T
+22 25492783 22:25492783T-C T C
+22 25492803 22:25492803T-G T G
+22 25492826 22:25492826C-T C T
+22 25493361 22:25493361G-A G A
+22 25493978 22:25493978C-T C T
+22 25494002 22:25494002C-T C T
+22 25494398 22:25494398T-A T A
+22 25494457 22:25494457G-A G A
+22 25494744 22:25494744C-T C T
+22 25495049 22:25495049T-C T C
+22 25495138 22:25495138T-C T C
+22 25495224 22:25495224C-T C T
+22 25495742 22:25495742G-A G A
+22 25495827 22:25495827G-C G C
+22 25496179 22:25496179G-A G A
+22 25496257 22:25496257G-A G A
+22 25496741 22:25496741G-A G A
+22 25497260 22:25497260G-A G A
+22 25497692 22:25497692G-A G A
+22 25497794 22:25497794G-C G C
+22 25498473 22:25498473C-G C G
+22 25498633 22:25498633C-T C T
+22 25499165 22:25499165C-T C T
+22 25499335 22:25499335A-G A G
+22 25499691 22:25499691C-T C T
+22 25499861 22:25499861G-A G A
+22 25500496 22:25500496G-T G T
+22 25501264 22:25501264C-T C T
+22 25501854 22:25501854T-C T C
+22 25501884 22:25501884T-C T C
+22 25502844 22:25502844C-T C T
+22 25503128 22:25503128C-T C T
+22 25503574 22:25503574G-A G A
+22 25503862 22:25503862A-C A C
+22 25504247 22:25504247C-T C T
+22 25504327 22:25504327C-G C G
+22 25504385 22:25504385C-T C T
+22 25504760 22:25504760A-G A G
+22 25505936 22:25505936A-C A C
+22 25506518 22:25506518G-T G T
+22 25506779 22:25506779C-T C T
+22 25506990 22:25506990C-A C A
+22 25507031 22:25507031G-A G A
+22 25507595 22:25507595G-C G C
+22 25507964 22:25507964C-T C T
+22 25509030 22:25509030G-A G A
+22 25509280 22:25509280A-C A C
+22 25509308 22:25509308A-G A G
+22 25509747 22:25509747A-G A G
+22 25510459 22:25510459C-T C T
+22 25510694 22:25510694A-G A G
+22 25511130 22:25511130A-G A G
+22 25511470 22:25511470T-G T G
+22 25511770 22:25511770G-A G A
+22 25512248 22:25512248C-A C A
+22 25512690 22:25512690C-T C T
+22 25513075 22:25513075A-G A G
+22 25514201 22:25514201T-C T C
+22 25517301 22:25517301C-T C T
+22 25518815 22:25518815G-A G A
+22 25519224 22:25519224C-T C T
+22 25520095 22:25520095T-C T C
+22 25521183 22:25521183C-A C A
+22 25521655 22:25521655C-T C T
+22 25523371 22:25523371T-C T C
+22 25523551 22:25523551A-T A T
+22 25523876 22:25523876C-T C T
+22 25524076 22:25524076G-C G C
+22 25524520 22:25524520G-A G A
+22 25524916 22:25524916T-C T C
+22 25524977 22:25524977G-A G A
+22 25526224 22:25526224A-G A G
+22 25527632 22:25527632C-T C T
+22 25528641 22:25528641C-A C A
+22 25530059 22:25530059G-A G A
+22 25530408 22:25530408C-T C T
+22 25531002 22:25531002A-G A G
+22 25531673 22:25531673T-C T C
+22 25531908 22:25531908G-A G A
+22 25531959 22:25531959G-A G A
+22 25532237 22:25532237A-C A C
+22 25532553 22:25532553G-A G A
+22 25532574 22:25532574A-G A G
+22 25533796 22:25533796G-A G A
+22 25534684 22:25534684C-T C T
+22 25536538 22:25536538G-A G A
+22 25536642 22:25536642G-A G A
+22 25537611 22:25537611T-A T A
+22 25539631 22:25539631A-G A G
+22 25539839 22:25539839G-A G A
+22 25539975 22:25539975A-C A C
+22 25540842 22:25540842A-G A G
+22 25540962 22:25540962C-T C T
+22 25541997 22:25541997G-T G T
+22 25542519 22:25542519A-G A G
+22 25542843 22:25542843G-C G C
+22 25543269 22:25543269C-T C T
+22 25543340 22:25543340G-A G A
+22 25543411 22:25543411C-T C T
+22 25544031 22:25544031T-C T C
+22 25544165 22:25544165C-G C G
+22 25544496 22:25544496A-T A T
+22 25544987 22:25544987T-C T C
+22 25545612 22:25545612G-A G A
+22 25545909 22:25545909G-C G C
+22 25546378 22:25546378G-T G T
+22 25546617 22:25546617C-T C T
+22 25546949 22:25546949G-A G A
+22 25547331 22:25547331T-A T A
+22 25547583 22:25547583G-C G C
+22 25547585 22:25547585A-G A G
+22 25547684 22:25547684G-A G A
+22 25547949 22:25547949G-A G A
+22 25548213 22:25548213A-G A G
+22 25548986 22:25548986C-T C T
+22 25549183 22:25549183C-T C T
+22 25549405 22:25549405G-A G A
+22 25549870 22:25549870C-T C T
+22 25550247 22:25550247A-G A G
+22 25552253 22:25552253A-G A G
+22 25553479 22:25553479C-A C A
+22 25553537 22:25553537A-C A C
+22 25553772 22:25553772T-C T C
+22 25555242 22:25555242A-G A G
+22 25555283 22:25555283G-A G A
+22 25555349 22:25555349G-A G A
+22 25555789 22:25555789G-A G A
+22 25555948 22:25555948G-A G A
+22 25556577 22:25556577A-G A G
+22 25557196 22:25557196G-A G A
+22 25557365 22:25557365G-A G A
+22 25557611 22:25557611C-T C T
+22 25557634 22:25557634C-A C A
+22 25558097 22:25558097T-C T C
+22 25558233 22:25558233G-T G T
+22 25558685 22:25558685C-G C G
+22 25558968 22:25558968G-A G A
+22 25559609 22:25559609A-G A G
+22 25559784 22:25559784C-A C A
+22 25560297 22:25560297C-T C T
+22 25560462 22:25560462T-G T G
+22 25560579 22:25560579A-C A C
+22 25560601 22:25560601A-C A C
+22 25560635 22:25560635G-C G C
+22 25560837 22:25560837T-C T C
+22 25561215 22:25561215A-G A G
+22 25563736 22:25563736C-T C T
+22 25563892 22:25563892G-A G A
+22 25564047 22:25564047G-A G A
+22 25565026 22:25565026C-T C T
+22 25565227 22:25565227A-T A T
+22 25565228 22:25565228T-A T A
+22 25565420 22:25565420G-A G A
+22 25565679 22:25565679G-T G T
+22 25567302 22:25567302C-T C T
+22 25567568 22:25567568A-G A G
+22 25567775 22:25567775T-C T C
+22 25568577 22:25568577C-A C A
+22 25569680 22:25569680C-T C T
+22 25569939 22:25569939C-T C T
+22 25570020 22:25570020G-A G A
+22 25570273 22:25570273G-A G A
+22 25571301 22:25571301C-T C T
+22 25571930 22:25571930G-A G A
+22 25572582 22:25572582G-A G A
+22 25572712 22:25572712G-C G C
+22 25572748 22:25572748C-A C A
+22 25572922 22:25572922A-T A T
+22 25573431 22:25573431G-A G A
+22 25573514 22:25573514C-T C T
+22 25574765 22:25574765A-T A T
+22 25575620 22:25575620T-C T C
+22 25576234 22:25576234G-A G A
+22 25576274 22:25576274G-A G A
+22 25576655 22:25576655G-A G A
+22 25576823 22:25576823T-C T C
+22 25576881 22:25576881C-T C T
+22 25576993 22:25576993T-C T C
+22 25577015 22:25577015A-G A G
+22 25577214 22:25577214T-C T C
+22 25577554 22:25577554G-A G A
+22 25577688 22:25577688G-A G A
+22 25577733 22:25577733T-C T C
+22 25577846 22:25577846T-C T C
+22 25578187 22:25578187T-G T G
+22 25578505 22:25578505C-T C T
+22 25578708 22:25578708G-A G A
+22 25578959 22:25578959G-C G C
+22 25579707 22:25579707T-C T C
+22 25580646 22:25580646A-G A G
+22 25581866 22:25581866G-A G A
+22 25583080 22:25583080C-T C T
+22 25583294 22:25583294T-C T C
+22 25583412 22:25583412G-A G A
+22 25583474 22:25583474G-T G T
+22 25583754 22:25583754C-T C T
+22 25584280 22:25584280C-A C A
+22 25585035 22:25585035T-C T C
+22 25585047 22:25585047G-A G A
+22 25585701 22:25585701T-C T C
+22 25586014 22:25586014G-C G C
+22 25586338 22:25586338A-G A G
+22 25586564 22:25586564A-G A G
+22 25586662 22:25586662G-A G A
+22 25586744 22:25586744T-G T G
+22 25587436 22:25587436G-A G A
+22 25587800 22:25587800G-C G C
+22 25587930 22:25587930A-G A G
+22 25588224 22:25588224A-G A G
+22 25589256 22:25589256G-A G A
+22 25589383 22:25589383C-T C T
+22 25589542 22:25589542T-C T C
+22 25589570 22:25589570G-A G A
+22 25589792 22:25589792T-C T C
+22 25589948 22:25589948C-T C T
+22 25591200 22:25591200A-G A G
+22 25591276 22:25591276G-A G A
+22 25591278 22:25591278T-C T C
+22 25591847 22:25591847C-T C T
+22 25591883 22:25591883A-G A G
+22 25592918 22:25592918C-T C T
+22 25593452 22:25593452A-G A G
+22 25593658 22:25593658A-G A G
+22 25593690 22:25593690G-A G A
+22 25594000 22:25594000G-A G A
+22 25595556 22:25595556G-T G T
+22 25596029 22:25596029A-G A G
+22 25596870 22:25596870T-C T C
+22 25597331 22:25597331T-C T C
+22 25598101 22:25598101T-G T G
+22 25598342 22:25598342C-T C T
+22 25599849 22:25599849G-A G A
+22 25600416 22:25600416G-A G A
+22 25600699 22:25600699A-G A G
+22 25601196 22:25601196C-G C G
+22 25601489 22:25601489C-T C T
+22 25602569 22:25602569C-T C T
+22 25602708 22:25602708G-A G A
+22 25602784 22:25602784A-G A G
+22 25602790 22:25602790G-A G A
+22 25603008 22:25603008C-T C T
+22 25603553 22:25603553G-A G A
+22 25603832 22:25603832T-C T C
+22 25603924 22:25603924G-C G C
+22 25603951 22:25603951C-T C T
+22 25604188 22:25604188G-A G A
+22 25604328 22:25604328A-G A G
+22 25604477 22:25604477G-A G A
+22 25604703 22:25604703C-T C T
+22 25604716 22:25604716T-G T G
+22 25604960 22:25604960G-A G A
+22 25604984 22:25604984A-G A G
+22 25605012 22:25605012C-T C T
+22 25605067 22:25605067C-T C T
+22 25605173 22:25605173G-A G A
+22 25605588 22:25605588G-T G T
+22 25606031 22:25606031A-G A G
+22 25606665 22:25606665T-C T C
+22 25606861 22:25606861C-G C G
+22 25606975 22:25606975C-G C G
+22 25607028 22:25607028C-T C T
+22 25607182 22:25607182T-C T C
+22 25607259 22:25607259T-C T C
+22 25607495 22:25607495T-A T A
+22 25607571 22:25607571T-C T C
+22 25607922 22:25607922G-A G A
+22 25607973 22:25607973A-T A T
+22 25608162 22:25608162G-A G A
+22 25608296 22:25608296G-A G A
+22 25608430 22:25608430T-C T C
+22 25608548 22:25608548T-C T C
+22 25608589 22:25608589G-A G A
+22 25608615 22:25608615G-C G C
+22 25608776 22:25608776G-T G T
+22 25609191 22:25609191G-A G A
+22 25609395 22:25609395G-A G A
+22 25609572 22:25609572A-G A G
+22 25609680 22:25609680C-T C T
+22 25609890 22:25609890C-T C T
+22 25610055 22:25610055A-T A T
+22 25610585 22:25610585A-G A G
+22 25610710 22:25610710G-A G A
+22 25611005 22:25611005C-T C T
+22 25611078 22:25611078A-G A G
+22 25611116 22:25611116G-A G A
+22 25611223 22:25611223T-C T C
+22 25611492 22:25611492T-C T C
+22 25611588 22:25611588T-G T G
+22 25611672 22:25611672A-G A G
+22 25611674 22:25611674G-A G A
+22 25611881 22:25611881C-T C T
+22 25611979 22:25611979C-T C T
+22 25612194 22:25612194C-T C T
+22 25612201 22:25612201C-G C G
+22 25612280 22:25612280G-A G A
+22 25612701 22:25612701C-T C T
+22 25613103 22:25613103A-G A G
+22 25613183 22:25613183G-A G A
+22 25613409 22:25613409C-G C G
+22 25613445 22:25613445C-T C T
+22 25613527 22:25613527G-A G A
+22 25613539 22:25613539T-C T C
+22 25613571 22:25613571G-A G A
+22 25613787 22:25613787G-T G T
+22 25613805 22:25613805C-T C T
+22 25614090 22:25614090T-G T G
+22 25614502 22:25614502G-A G A
+22 25614536 22:25614536G-C G C
+22 25615059 22:25615059G-T G T
+22 25615180 22:25615180C-G C G
+22 25615710 22:25615710A-G A G
+22 25616065 22:25616065C-G C G
+22 25616213 22:25616213T-C T C
+22 25616451 22:25616451T-A T A
+22 25616458 22:25616458A-G A G
+22 25617554 22:25617554G-C G C
+22 25617602 22:25617602A-G A G
+22 25618507 22:25618507C-G C G
+22 25618562 22:25618562G-T G T
+22 25618890 22:25618890G-A G A
+22 25619025 22:25619025T-G T G
+22 25619267 22:25619267A-G A G
+22 25619339 22:25619339T-C T C
+22 25619836 22:25619836T-C T C
+22 25620142 22:25620142A-C A C
+22 25621123 22:25621123C-A C A
+22 25621358 22:25621358G-A G A
+22 25621591 22:25621591C-T C T
+22 25622442 22:25622442C-T C T
+22 25622885 22:25622885C-T C T
+22 25623323 22:25623323G-A G A
+22 25623344 22:25623344A-T A T
+22 25624049 22:25624049G-A G A
+22 25624592 22:25624592G-A G A
+22 25624904 22:25624904C-T C T
+22 25624965 22:25624965G-A G A
+22 25625554 22:25625554G-A G A
+22 25626085 22:25626085G-A G A
+22 25627134 22:25627134A-C A C
+22 25627503 22:25627503G-A G A
+22 25627604 22:25627604G-A G A
+22 25627999 22:25627999C-T C T
+22 25628097 22:25628097T-C T C
+22 25628386 22:25628386A-G A G
+22 25628614 22:25628614C-T C T
+22 25628976 22:25628976T-C T C
+22 25628998 22:25628998T-G T G
+22 25629032 22:25629032G-A G A
+22 25629361 22:25629361A-G A G
+22 25629434 22:25629434G-C G C
+22 25629624 22:25629624C-T C T
+22 25629682 22:25629682T-C T C
+22 25630597 22:25630597T-C T C
+22 25631302 22:25631302T-A T A
+22 25631420 22:25631420G-A G A
+22 25632266 22:25632266A-G A G
+22 25632794 22:25632794C-T C T
+22 25634020 22:25634020G-C G C
+22 25634022 22:25634022A-G A G
+22 25634959 22:25634959T-A T A
+22 25636167 22:25636167C-T C T
+22 25636530 22:25636530T-C T C
+22 25636680 22:25636680A-G A G
+22 25637372 22:25637372T-A T A
+22 25637419 22:25637419A-G A G
+22 25637494 22:25637494G-A G A
+22 25639728 22:25639728A-G A G
+22 25639858 22:25639858C-A C A
+22 25639993 22:25639993A-G A G
+22 25640628 22:25640628T-C T C
+22 25640835 22:25640835G-A G A
+22 25640848 22:25640848A-C A C
+22 25640889 22:25640889A-G A G
+22 25640962 22:25640962T-C T C
+22 25641025 22:25641025C-A C A
+22 25641084 22:25641084C-T C T
+22 25641210 22:25641210G-C G C
+22 25641918 22:25641918A-G A G
+22 25642044 22:25642044C-T C T
+22 25642053 22:25642053C-T C T
+22 25642206 22:25642206G-T G T
+22 25642416 22:25642416T-C T C
+22 25642546 22:25642546T-C T C
+22 25642627 22:25642627C-T C T
+22 25642992 22:25642992A-T A T
+22 25643483 22:25643483G-T G T
+22 25643682 22:25643682T-C T C
+22 25643693 22:25643693C-T C T
+22 25643820 22:25643820C-T C T
+22 25643866 22:25643866G-T G T
+22 25643868 22:25643868G-C G C
+22 25644827 22:25644827A-T A T
+22 25646493 22:25646493T-C T C
+22 25647225 22:25647225G-C G C
+22 25647359 22:25647359A-G A G
+22 25647601 22:25647601C-T C T
+22 25648680 22:25648680T-C T C
+22 25648748 22:25648748C-T C T
+22 25649365 22:25649365T-C T C
+22 25650176 22:25650176T-A T A
+22 25650406 22:25650406A-G A G
+22 25650460 22:25650460G-A G A
+22 25650648 22:25650648C-T C T
+22 25651066 22:25651066T-C T C
+22 25652008 22:25652008G-C G C
+22 25652094 22:25652094G-A G A
+22 25652314 22:25652314A-G A G
+22 25652883 22:25652883G-A G A
+22 25653405 22:25653405C-T C T
+22 25653992 22:25653992G-A G A
+22 25654338 22:25654338G-A G A
+22 25654586 22:25654586T-C T C
+22 25654814 22:25654814T-G T G
+22 25655057 22:25655057T-C T C
+22 25655173 22:25655173G-A G A
+22 25655231 22:25655231A-T A T
+22 25655275 22:25655275T-C T C
+22 25655487 22:25655487A-G A G
+22 25656159 22:25656159G-A G A
+22 25656215 22:25656215C-T C T
+22 25656461 22:25656461G-A G A
+22 25657172 22:25657172G-A G A
+22 25657311 22:25657311A-G A G
+22 25658086 22:25658086T-G T G
+22 25658381 22:25658381C-T C T
+22 25658492 22:25658492C-T C T
+22 25658502 22:25658502T-C T C
+22 25658525 22:25658525T-C T C
+22 25658561 22:25658561C-A C A
+22 25658590 22:25658590A-G A G
+22 25658763 22:25658763G-T G T
+22 25658844 22:25658844A-C A C
+22 25658942 22:25658942C-A C A
+22 25659025 22:25659025C-G C G
+22 25659178 22:25659178T-C T C
+22 25659188 22:25659188C-T C T
+22 25659586 22:25659586G-C G C
+22 25659648 22:25659648A-G A G
+22 25660852 22:25660852T-C T C
+22 25662224 22:25662224C-T C T
+22 25665326 22:25665326G-A G A
+22 25668084 22:25668084A-G A G
+22 25668526 22:25668526C-A C A
+22 25668730 22:25668730C-A C A
+22 25669106 22:25669106A-C A C
+22 25671333 22:25671333C-G C G
+22 25687568 22:25687568G-A G A
+22 25703183 22:25703183G-A G A
+22 25707472 22:25707472T-G T G
+22 25709220 22:25709220A-G A G
+22 25709737 22:25709737T-C T C
+22 25710040 22:25710040T-C T C
+22 25716759 22:25716759T-C T C
+22 25791019 22:25791019C-T C T
+22 25791463 22:25791463G-A G A
+22 25792984 22:25792984G-A G A
+22 25806488 22:25806488G-A G A
+22 25818914 22:25818914G-T G T
+22 25842620 22:25842620G-A G A
+22 25845855 22:25845855C-G C G
+22 25846015 22:25846015A-C A C
+22 25846021 22:25846021G-T G T
+22 25846087 22:25846087G-T G T
+22 25848041 22:25848041C-T C T
+22 25853368 22:25853368T-C T C
+22 25855629 22:25855629G-A G A
+22 25856231 22:25856231C-T C T
+22 25856411 22:25856411C-G C G
+22 25862124 22:25862124G-A G A
+22 25862527 22:25862527T-C T C
+22 25862824 22:25862824T-G T G
+22 25869206 22:25869206T-A T A
+22 25870037 22:25870037C-G C G
+22 25872592 22:25872592A-C A C
+22 25872837 22:25872837G-A G A
+22 25874464 22:25874464G-A G A
+22 25874502 22:25874502G-A G A
+22 25874580 22:25874580A-C A C
+22 25875265 22:25875265T-C T C
+22 25875573 22:25875573C-T C T
+22 25875803 22:25875803T-C T C
+22 25875988 22:25875988T-G T G
+22 25878282 22:25878282C-G C G
+22 25878614 22:25878614G-A G A
+22 25879474 22:25879474T-G T G
+22 25881013 22:25881013T-A T A
+22 25885353 22:25885353T-C T C
+22 25889385 22:25889385A-C A C
+22 25890578 22:25890578T-C T C
+22 25896747 22:25896747G-C G C
+22 25896791 22:25896791A-G A G
+22 25896979 22:25896979G-A G A
+22 25897330 22:25897330C-A C A
+22 25897715 22:25897715C-T C T
+22 25898094 22:25898094T-C T C
+22 25898162 22:25898162C-T C T
+22 25898487 22:25898487A-G A G
+22 25898715 22:25898715G-C G C
+22 25898746 22:25898746C-T C T
+22 25898759 22:25898759C-T C T
+22 25899198 22:25899198G-A G A
+22 25899567 22:25899567G-A G A
+22 25900607 22:25900607A-G A G
+22 25900823 22:25900823G-A G A
+22 25901750 22:25901750C-G C G
+22 25903271 22:25903271T-A T A
+22 25904257 22:25904257A-G A G
+22 25904395 22:25904395G-C G C
+22 25904746 22:25904746C-T C T
+22 25905197 22:25905197A-G A G
+22 25905421 22:25905421G-C G C
+22 25905464 22:25905464C-G C G
+22 25905668 22:25905668G-T G T
+22 25905879 22:25905879G-A G A
+22 25905922 22:25905922C-T C T
+22 25906317 22:25906317T-G T G
+22 25906803 22:25906803A-G A G
+22 25906811 22:25906811C-T C T
+22 25906860 22:25906860G-C G C
+22 25906898 22:25906898A-G A G
+22 25906930 22:25906930T-G T G
+22 25907328 22:25907328G-A G A
+22 25907905 22:25907905C-A C A
+22 25908396 22:25908396C-T C T
+22 25908441 22:25908441A-G A G
+22 25908616 22:25908616C-G C G
+22 25908695 22:25908695A-G A G
+22 25908779 22:25908779C-T C T
+22 25908956 22:25908956C-T C T
+22 25909103 22:25909103A-G A G
+22 25909119 22:25909119A-G A G
+22 25909204 22:25909204C-T C T
+22 25909517 22:25909517A-G A G
+22 25909677 22:25909677A-G A G
+22 25909736 22:25909736T-C T C
+22 25909739 22:25909739G-A G A
+22 25909811 22:25909811G-A G A
+22 25910191 22:25910191G-A G A
+22 25910196 22:25910196A-G A G
+22 25910390 22:25910390T-A T A
+22 25910555 22:25910555A-C A C
+22 25910605 22:25910605C-G C G
+22 25910667 22:25910667G-A G A
+22 25910844 22:25910844G-C G C
+22 25910879 22:25910879C-T C T
+22 25911071 22:25911071C-T C T
+22 25911300 22:25911300T-G T G
+22 25911742 22:25911742T-C T C
+22 25911773 22:25911773A-G A G
+22 25912254 22:25912254T-C T C
+22 25912318 22:25912318C-T C T
+22 25912323 22:25912323A-G A G
+22 25912793 22:25912793C-A C A
+22 25913141 22:25913141G-A G A
+22 25915656 22:25915656C-T C T
+22 25915850 22:25915850C-T C T
+22 25916084 22:25916084G-C G C
+22 25916135 22:25916135G-A G A
+22 25916497 22:25916497G-C G C
+22 25917194 22:25917194C-G C G
+22 25917803 22:25917803A-G A G
+22 25918199 22:25918199T-C T C
+22 25918674 22:25918674T-C T C
+22 25918694 22:25918694A-T A T
+22 25918709 22:25918709A-G A G
+22 25919492 22:25919492A-C A C
+22 25920906 22:25920906G-T G T
+22 25921119 22:25921119G-T G T
+22 25921586 22:25921586G-T G T
+22 25921682 22:25921682T-A T A
+22 25921683 22:25921683C-G C G
+22 25921753 22:25921753G-A G A
+22 25921783 22:25921783T-C T C
+22 25922161 22:25922161C-A C A
+22 25923011 22:25923011T-G T G
+22 25923169 22:25923169G-A G A
+22 25923210 22:25923210A-G A G
+22 25923502 22:25923502G-C G C
+22 25923667 22:25923667T-C T C
+22 25923747 22:25923747A-G A G
+22 25924444 22:25924444T-C T C
+22 25924999 22:25924999G-A G A
+22 25925078 22:25925078T-C T C
+22 25925187 22:25925187A-G A G
+22 25925358 22:25925358T-C T C
+22 25925436 22:25925436A-G A G
+22 25925608 22:25925608A-G A G
+22 25925629 22:25925629G-C G C
+22 25925641 22:25925641C-G C G
+22 25925760 22:25925760C-T C T
+22 25926512 22:25926512C-T C T
+22 25927360 22:25927360G-A G A
+22 25927716 22:25927716C-T C T
+22 25928268 22:25928268C-T C T
+22 25928620 22:25928620C-T C T
+22 25930037 22:25930037C-T C T
+22 25930479 22:25930479G-A G A
+22 25931372 22:25931372T-C T C
+22 25931580 22:25931580T-C T C
+22 25931606 22:25931606G-A G A
+22 25931987 22:25931987A-T A T
+22 25933403 22:25933403A-T A T
+22 25933590 22:25933590G-A G A
+22 25934721 22:25934721G-C G C
+22 25934878 22:25934878C-A C A
+22 25937821 22:25937821C-T C T
+22 25938025 22:25938025T-C T C
+22 25938977 22:25938977C-T C T
+22 25939564 22:25939564G-A G A
+22 25939576 22:25939576T-C T C
+22 25940411 22:25940411C-T C T
+22 25940500 22:25940500T-G T G
+22 25940733 22:25940733T-C T C
+22 25941248 22:25941248T-C T C
+22 25942423 22:25942423T-G T G
+22 25942595 22:25942595C-T C T
+22 25942670 22:25942670C-T C T
+22 25942805 22:25942805A-G A G
+22 25943322 22:25943322C-T C T
+22 25944478 22:25944478G-A G A
+22 25945176 22:25945176C-T C T
+22 25945826 22:25945826C-T C T
+22 25948218 22:25948218C-T C T
+22 25950750 22:25950750C-T C T
+22 25951739 22:25951739T-C T C
+22 25952661 22:25952661A-T A T
+22 25955637 22:25955637G-A G A
+22 25958952 22:25958952T-C T C
+22 25959309 22:25959309A-G A G
+22 25962047 22:25962047T-A T A
+22 25962823 22:25962823T-G T G
+22 25972963 22:25972963G-A G A
+22 25975254 22:25975254A-C A C
+22 25975450 22:25975450T-A T A
+22 25976119 22:25976119G-A G A
+22 25980192 22:25980192T-C T C
+22 25980426 22:25980426C-T C T
+22 25985070 22:25985070G-A G A
+22 25989399 22:25989399G-T G T
+22 25990458 22:25990458G-A G A
+22 25990770 22:25990770A-G A G
+22 25994013 22:25994013G-A G A
+22 26000651 22:26000651C-A C A
+22 26012187 22:26012187G-A G A
+22 26013350 22:26013350C-T C T
+22 26018380 22:26018380A-T A T
+22 26019328 22:26019328G-T G T
+22 26022148 22:26022148A-G A G
+22 26033507 22:26033507C-T C T
+22 26033709 22:26033709A-G A G
+22 26036790 22:26036790C-A C A
+22 26042134 22:26042134T-C T C
+22 26043803 22:26043803T-C T C
+22 26046513 22:26046513C-T C T
+22 26047118 22:26047118A-C A C
+22 26048926 22:26048926G-C G C
+22 26051000 22:26051000T-C T C
+22 26054278 22:26054278A-G A G
+22 26057161 22:26057161C-A C A
+22 26058774 22:26058774A-C A C
+22 26059030 22:26059030C-G C G
+22 26059276 22:26059276A-G A G
+22 26059877 22:26059877C-A C A
+22 26063015 22:26063015C-G C G
+22 26064940 22:26064940A-G A G
+22 26066777 22:26066777A-T A T
+22 26067103 22:26067103A-G A G
+22 26067566 22:26067566A-G A G
+22 26069727 22:26069727C-T C T
+22 26071018 22:26071018C-A C A
+22 26071558 22:26071558G-A G A
+22 26072247 22:26072247C-G C G
+22 26072460 22:26072460T-C T C
+22 26074143 22:26074143C-T C T
+22 26074711 22:26074711A-T A T
+22 26075188 22:26075188C-T C T
+22 26077217 22:26077217C-G C G
+22 26080422 22:26080422G-A G A
+22 26080867 22:26080867A-C A C
+22 26081873 22:26081873C-T C T
+22 26081958 22:26081958C-T C T
+22 26082968 22:26082968A-G A G
+22 26101204 22:26101204C-T C T
+22 26101582 22:26101582C-G C G
+22 26102308 22:26102308G-T G T
+22 26102770 22:26102770G-A G A
+22 26107868 22:26107868G-A G A
+22 26111018 22:26111018G-A G A
+22 26123092 22:26123092G-C G C
+22 26126015 22:26126015T-C T C
+22 26127420 22:26127420C-T C T
+22 26128840 22:26128840G-T G T
+22 26129925 22:26129925A-G A G
+22 26130787 22:26130787A-G A G
+22 26131046 22:26131046G-C G C
+22 26131353 22:26131353T-A T A
+22 26131985 22:26131985C-T C T
+22 26132090 22:26132090T-C T C
+22 26132336 22:26132336G-A G A
+22 26132612 22:26132612G-A G A
+22 26132643 22:26132643A-G A G
+22 26132839 22:26132839A-C A C
+22 26132943 22:26132943G-A G A
+22 26133775 22:26133775C-T C T
+22 26134026 22:26134026C-T C T
+22 26134163 22:26134163G-A G A
+22 26134319 22:26134319C-G C G
+22 26134716 22:26134716C-T C T
+22 26135929 22:26135929C-T C T
+22 26136660 22:26136660C-T C T
+22 26137327 22:26137327G-C G C
+22 26137873 22:26137873C-T C T
+22 26138084 22:26138084G-A G A
+22 26139378 22:26139378A-G A G
+22 26139746 22:26139746T-C T C
+22 26140544 22:26140544A-C A C
+22 26140625 22:26140625T-C T C
+22 26141369 22:26141369C-T C T
+22 26141431 22:26141431C-T C T
+22 26141526 22:26141526T-G T G
+22 26142061 22:26142061C-T C T
+22 26142492 22:26142492A-C A C
+22 26143280 22:26143280C-G C G
+22 26143648 22:26143648G-C G C
+22 26144212 22:26144212G-A G A
+22 26144627 22:26144627C-T C T
+22 26144760 22:26144760C-T C T
+22 26145655 22:26145655C-T C T
+22 26146062 22:26146062T-C T C
+22 26146200 22:26146200G-A G A
+22 26146429 22:26146429T-G T G
+22 26147364 22:26147364T-C T C
+22 26147490 22:26147490G-A G A
+22 26147557 22:26147557A-G A G
+22 26148073 22:26148073G-A G A
+22 26148077 22:26148077C-T C T
+22 26148687 22:26148687G-A G A
+22 26148968 22:26148968T-C T C
+22 26148996 22:26148996C-T C T
+22 26149122 22:26149122C-T C T
+22 26149142 22:26149142G-C G C
+22 26149378 22:26149378T-C T C
+22 26149462 22:26149462T-C T C
+22 26149567 22:26149567T-C T C
+22 26150103 22:26150103C-T C T
+22 26150584 22:26150584T-C T C
+22 26150661 22:26150661C-A C A
+22 26150770 22:26150770G-A G A
+22 26151331 22:26151331G-A G A
+22 26152165 22:26152165T-G T G
+22 26152229 22:26152229A-C A C
+22 26152738 22:26152738A-G A G
+22 26154508 22:26154508C-T C T
+22 26155484 22:26155484C-T C T
+22 26155822 22:26155822A-G A G
+22 26156157 22:26156157C-T C T
+22 26156431 22:26156431C-G C G
+22 26156505 22:26156505T-A T A
+22 26156512 22:26156512A-G A G
+22 26156516 22:26156516A-C A C
+22 26156554 22:26156554G-A G A
+22 26156600 22:26156600C-T C T
+22 26157068 22:26157068C-G C G
+22 26157144 22:26157144A-G A G
+22 26157299 22:26157299T-C T C
+22 26158284 22:26158284G-A G A
+22 26158628 22:26158628T-C T C
+22 26158659 22:26158659A-G A G
+22 26158910 22:26158910C-G C G
+22 26159289 22:26159289G-A G A
+22 26159643 22:26159643A-C A C
+22 26159759 22:26159759G-A G A
+22 26159810 22:26159810A-C A C
+22 26160105 22:26160105G-C G C
+22 26160161 22:26160161C-G C G
+22 26160286 22:26160286A-G A G
+22 26160370 22:26160370T-A T A
+22 26160382 22:26160382C-T C T
+22 26160533 22:26160533C-T C T
+22 26160691 22:26160691A-G A G
+22 26161389 22:26161389G-A G A
+22 26161565 22:26161565T-G T G
+22 26161686 22:26161686G-A G A
+22 26161792 22:26161792G-C G C
+22 26162775 22:26162775T-C T C
+22 26162814 22:26162814T-A T A
+22 26162902 22:26162902A-G A G
+22 26163003 22:26163003C-A C A
+22 26163996 22:26163996T-C T C
+22 26164079 22:26164079C-T C T
+22 26164413 22:26164413C-T C T
+22 26165514 22:26165514T-C T C
+22 26165807 22:26165807G-A G A
+22 26166011 22:26166011C-A C A
+22 26167085 22:26167085T-C T C
+22 26167114 22:26167114G-A G A
+22 26167705 22:26167705C-T C T
+22 26167868 22:26167868G-A G A
+22 26168558 22:26168558A-G A G
+22 26168871 22:26168871G-A G A
+22 26168923 22:26168923A-G A G
+22 26169507 22:26169507T-C T C
+22 26170562 22:26170562G-C G C
+22 26170627 22:26170627C-T C T
+22 26171282 22:26171282A-T A T
+22 26172535 22:26172535G-A G A
+22 26172961 22:26172961C-T C T
+22 26173184 22:26173184C-T C T
+22 26173484 22:26173484G-A G A
+22 26173888 22:26173888G-C G C
+22 26174168 22:26174168G-T G T
+22 26174397 22:26174397T-C T C
+22 26175146 22:26175146G-A G A
+22 26175283 22:26175283A-C A C
+22 26176535 22:26176535C-T C T
+22 26176849 22:26176849C-T C T
+22 26177303 22:26177303G-A G A
+22 26177450 22:26177450G-A G A
+22 26178247 22:26178247C-T C T
+22 26179042 22:26179042T-A T A
+22 26179312 22:26179312C-T C T
+22 26179922 22:26179922G-A G A
+22 26180032 22:26180032T-G T G
+22 26180196 22:26180196T-C T C
+22 26180851 22:26180851T-C T C
+22 26180883 22:26180883C-G C G
+22 26181594 22:26181594T-C T C
+22 26181767 22:26181767T-C T C
+22 26182559 22:26182559G-T G T
+22 26183417 22:26183417T-C T C
+22 26183531 22:26183531G-A G A
+22 26185417 22:26185417A-G A G
+22 26185988 22:26185988C-T C T
+22 26187172 22:26187172C-T C T
+22 26188092 22:26188092C-G C G
+22 26188188 22:26188188T-C T C
+22 26188209 22:26188209G-C G C
+22 26188834 22:26188834A-G A G
+22 26188939 22:26188939T-C T C
+22 26188944 22:26188944G-A G A
+22 26189026 22:26189026T-C T C
+22 26189049 22:26189049T-C T C
+22 26189061 22:26189061A-G A G
+22 26189346 22:26189346G-C G C
+22 26189816 22:26189816A-G A G
+22 26189868 22:26189868T-A T A
+22 26189900 22:26189900G-C G C
+22 26190291 22:26190291A-C A C
+22 26190353 22:26190353T-A T A
+22 26190453 22:26190453A-T A T
+22 26190467 22:26190467G-T G T
+22 26190542 22:26190542T-G T G
+22 26190872 22:26190872A-G A G
+22 26190915 22:26190915A-G A G
+22 26191081 22:26191081T-C T C
+22 26191160 22:26191160C-T C T
+22 26192077 22:26192077G-A G A
+22 26192331 22:26192331T-C T C
+22 26192606 22:26192606G-A G A
+22 26192675 22:26192675A-G A G
+22 26192850 22:26192850T-C T C
+22 26192922 22:26192922T-C T C
+22 26193824 22:26193824C-T C T
+22 26193982 22:26193982C-G C G
+22 26194045 22:26194045T-C T C
+22 26194093 22:26194093G-A G A
+22 26194191 22:26194191C-T C T
+22 26194458 22:26194458C-T C T
+22 26194941 22:26194941C-T C T
+22 26195430 22:26195430T-C T C
+22 26195481 22:26195481C-T C T
+22 26195957 22:26195957A-T A T
+22 26196116 22:26196116A-G A G
+22 26196349 22:26196349A-G A G
+22 26197404 22:26197404T-C T C
+22 26199054 22:26199054G-A G A
+22 26199849 22:26199849C-G C G
+22 26201172 22:26201172C-T C T
+22 26202598 22:26202598C-G C G
+22 26203121 22:26203121C-T C T
+22 26203759 22:26203759C-T C T
+22 26203782 22:26203782G-A G A
+22 26203852 22:26203852C-T C T
+22 26204184 22:26204184A-G A G
+22 26204584 22:26204584C-T C T
+22 26204919 22:26204919G-T G T
+22 26205945 22:26205945G-A G A
+22 26206887 22:26206887G-A G A
+22 26207241 22:26207241C-T C T
+22 26207273 22:26207273A-T A T
+22 26207859 22:26207859G-A G A
+22 26208208 22:26208208T-C T C
+22 26208384 22:26208384T-C T C
+22 26209085 22:26209085T-C T C
+22 26209476 22:26209476G-A G A
+22 26209678 22:26209678G-A G A
+22 26209848 22:26209848A-G A G
+22 26210850 22:26210850G-A G A
+22 26211857 22:26211857T-C T C
+22 26215263 22:26215263T-G T G
+22 26215483 22:26215483A-G A G
+22 26216160 22:26216160C-T C T
+22 26216360 22:26216360G-T G T
+22 26216993 22:26216993A-G A G
+22 26217599 22:26217599C-A C A
+22 26217636 22:26217636C-T C T
+22 26218164 22:26218164A-G A G
+22 26218603 22:26218603T-C T C
+22 26218676 22:26218676G-A G A
+22 26218887 22:26218887T-C T C
+22 26219605 22:26219605G-A G A
+22 26220265 22:26220265A-G A G
+22 26220637 22:26220637G-A G A
+22 26221770 22:26221770C-T C T
+22 26222021 22:26222021A-G A G
+22 26222247 22:26222247T-C T C
+22 26222454 22:26222454C-T C T
+22 26222505 22:26222505G-A G A
+22 26222983 22:26222983C-G C G
+22 26223107 22:26223107G-T G T
+22 26224632 22:26224632G-A G A
+22 26225144 22:26225144G-A G A
+22 26225384 22:26225384A-G A G
+22 26226380 22:26226380G-A G A
+22 26226748 22:26226748A-G A G
+22 26226815 22:26226815A-G A G
+22 26226840 22:26226840A-G A G
+22 26226935 22:26226935A-G A G
+22 26227039 22:26227039T-C T C
+22 26227108 22:26227108C-T C T
+22 26227292 22:26227292C-G C G
+22 26227767 22:26227767C-T C T
+22 26228281 22:26228281A-G A G
+22 26228350 22:26228350G-A G A
+22 26228540 22:26228540T-C T C
+22 26228805 22:26228805C-T C T
+22 26229142 22:26229142G-A G A
+22 26229211 22:26229211G-A G A
+22 26229502 22:26229502C-T C T
+22 26230640 22:26230640C-T C T
+22 26231312 22:26231312G-C G C
+22 26231688 22:26231688G-A G A
+22 26231951 22:26231951T-C T C
+22 26232110 22:26232110T-C T C
+22 26232271 22:26232271T-C T C
+22 26232527 22:26232527G-A G A
+22 26232616 22:26232616A-C A C
+22 26233110 22:26233110G-T G T
+22 26233304 22:26233304T-C T C
+22 26233343 22:26233343A-C A C
+22 26234080 22:26234080G-T G T
+22 26234187 22:26234187T-C T C
+22 26234498 22:26234498A-C A C
+22 26234604 22:26234604T-C T C
+22 26234918 22:26234918G-A G A
+22 26235417 22:26235417C-T C T
+22 26235594 22:26235594G-A G A
+22 26235629 22:26235629G-A G A
+22 26235790 22:26235790A-T A T
+22 26236128 22:26236128C-T C T
+22 26236791 22:26236791A-G A G
+22 26236946 22:26236946G-T G T
+22 26237781 22:26237781T-C T C
+22 26237826 22:26237826T-C T C
+22 26237955 22:26237955G-A G A
+22 26238321 22:26238321T-C T C
+22 26239850 22:26239850C-A C A
+22 26239906 22:26239906A-G A G
+22 26239950 22:26239950A-G A G
+22 26240234 22:26240234A-G A G
+22 26241201 22:26241201C-T C T
+22 26241580 22:26241580G-A G A
+22 26241771 22:26241771G-C G C
+22 26241897 22:26241897C-A C A
+22 26241928 22:26241928G-A G A
+22 26241994 22:26241994T-C T C
+22 26242521 22:26242521G-C G C
+22 26242873 22:26242873C-T C T
+22 26242931 22:26242931C-G C G
+22 26243059 22:26243059T-G T G
+22 26244504 22:26244504G-C G C
+22 26245038 22:26245038G-A G A
+22 26245178 22:26245178T-C T C
+22 26245283 22:26245283A-G A G
+22 26245805 22:26245805G-A G A
+22 26245833 22:26245833A-G A G
+22 26245987 22:26245987T-C T C
+22 26246132 22:26246132C-G C G
+22 26246222 22:26246222T-C T C
+22 26246224 22:26246224T-G T G
+22 26246287 22:26246287C-T C T
+22 26246360 22:26246360A-G A G
+22 26247456 22:26247456G-A G A
+22 26247607 22:26247607C-T C T
+22 26247854 22:26247854C-T C T
+22 26248194 22:26248194C-T C T
+22 26248687 22:26248687C-G C G
+22 26249277 22:26249277A-G A G
+22 26250110 22:26250110G-T G T
+22 26250235 22:26250235A-G A G
+22 26250248 22:26250248C-T C T
+22 26250271 22:26250271T-C T C
+22 26250462 22:26250462A-C A C
+22 26250590 22:26250590C-T C T
+22 26250645 22:26250645C-T C T
+22 26251663 22:26251663G-T G T
+22 26251672 22:26251672G-A G A
+22 26252155 22:26252155C-T C T
+22 26252865 22:26252865A-G A G
+22 26252944 22:26252944T-A T A
+22 26253769 22:26253769C-T C T
+22 26254248 22:26254248A-G A G
+22 26254256 22:26254256G-A G A
+22 26254797 22:26254797C-T C T
+22 26254975 22:26254975C-G C G
+22 26255048 22:26255048A-G A G
+22 26255082 22:26255082G-T G T
+22 26257677 22:26257677A-C A C
+22 26257761 22:26257761T-A T A
+22 26259791 22:26259791G-C G C
+22 26260775 22:26260775A-C A C
+22 26262641 22:26262641G-A G A
+22 26263682 22:26263682C-T C T
+22 26263757 22:26263757C-T C T
+22 26265711 22:26265711T-C T C
+22 26265712 22:26265712A-C A C
+22 26266134 22:26266134G-A G A
+22 26266391 22:26266391C-T C T
+22 26266482 22:26266482G-A G A
+22 26266939 22:26266939A-C A C
+22 26267759 22:26267759A-C A C
+22 26268340 22:26268340G-A G A
+22 26268413 22:26268413C-A C A
+22 26268463 22:26268463T-C T C
+22 26270206 22:26270206C-G C G
+22 26271505 22:26271505A-G A G
+22 26273222 22:26273222A-G A G
+22 26273335 22:26273335G-T G T
+22 26273499 22:26273499A-G A G
+22 26273526 22:26273526C-T C T
+22 26273789 22:26273789T-C T C
+22 26273834 22:26273834A-C A C
+22 26273850 22:26273850G-C G C
+22 26273889 22:26273889C-T C T
+22 26273893 22:26273893G-C G C
+22 26274949 22:26274949T-C T C
+22 26275014 22:26275014C-T C T
+22 26275161 22:26275161A-G A G
+22 26275460 22:26275460A-G A G
+22 26275549 22:26275549A-G A G
+22 26275748 22:26275748G-A G A
+22 26275751 22:26275751A-G A G
+22 26275770 22:26275770T-C T C
+22 26275871 22:26275871A-C A C
+22 26275888 22:26275888G-A G A
+22 26275894 22:26275894G-A G A
+22 26275912 22:26275912A-G A G
+22 26275963 22:26275963T-C T C
+22 26276188 22:26276188G-A G A
+22 26276449 22:26276449C-A C A
+22 26276870 22:26276870G-A G A
+22 26277029 22:26277029A-G A G
+22 26277148 22:26277148T-C T C
+22 26277555 22:26277555T-C T C
+22 26277720 22:26277720A-G A G
+22 26278128 22:26278128T-G T G
+22 26278175 22:26278175G-A G A
+22 26278427 22:26278427A-G A G
+22 26278431 22:26278431C-G C G
+22 26278468 22:26278468C-T C T
+22 26280942 22:26280942A-G A G
+22 26282048 22:26282048C-T C T
+22 26282238 22:26282238A-G A G
+22 26282413 22:26282413A-G A G
+22 26283020 22:26283020T-C T C
+22 26283151 22:26283151T-C T C
+22 26283694 22:26283694G-A G A
+22 26283714 22:26283714G-T G T
+22 26283716 22:26283716A-G A G
+22 26284108 22:26284108T-C T C
+22 26284669 22:26284669T-C T C
+22 26285639 22:26285639A-C A C
+22 26288192 22:26288192A-C A C
+22 26290055 22:26290055A-G A G
+22 26290588 22:26290588C-T C T
+22 26290723 22:26290723G-A G A
+22 26292607 22:26292607A-G A G
+22 26292808 22:26292808T-C T C
+22 26292875 22:26292875C-A C A
+22 26293153 22:26293153G-A G A
+22 26293877 22:26293877A-T A T
+22 26294124 22:26294124T-A T A
+22 26294513 22:26294513A-G A G
+22 26295659 22:26295659G-A G A
+22 26296347 22:26296347G-A G A
+22 26297142 22:26297142C-T C T
+22 26297194 22:26297194G-A G A
+22 26297933 22:26297933C-T C T
+22 26298062 22:26298062C-G C G
+22 26298754 22:26298754G-A G A
+22 26298874 22:26298874T-C T C
+22 26298891 22:26298891T-G T G
+22 26299346 22:26299346G-C G C
+22 26300480 22:26300480C-T C T
+22 26300642 22:26300642T-C T C
+22 26300730 22:26300730G-A G A
+22 26301036 22:26301036A-G A G
+22 26301118 22:26301118A-G A G
+22 26301517 22:26301517G-C G C
+22 26302733 22:26302733C-T C T
+22 26302859 22:26302859A-G A G
+22 26303610 22:26303610A-G A G
+22 26304057 22:26304057T-C T C
+22 26304988 22:26304988A-G A G
+22 26305237 22:26305237C-T C T
+22 26305281 22:26305281T-C T C
+22 26305682 22:26305682G-A G A
+22 26305873 22:26305873G-T G T
+22 26306022 22:26306022G-A G A
+22 26306095 22:26306095A-T A T
+22 26306163 22:26306163T-C T C
+22 26306750 22:26306750T-C T C
+22 26307237 22:26307237A-G A G
+22 26307647 22:26307647C-T C T
+22 26308236 22:26308236A-G A G
+22 26308720 22:26308720C-T C T
+22 26309139 22:26309139A-G A G
+22 26309169 22:26309169C-T C T
+22 26310336 22:26310336A-C A C
+22 26311081 22:26311081A-G A G
+22 26312145 22:26312145A-G A G
+22 26312188 22:26312188A-T A T
+22 26313639 22:26313639A-G A G
+22 26313745 22:26313745G-T G T
+22 26314062 22:26314062C-T C T
+22 26314534 22:26314534C-G C G
+22 26314907 22:26314907C-T C T
+22 26315144 22:26315144G-A G A
+22 26316016 22:26316016A-G A G
+22 26316491 22:26316491G-A G A
+22 26317155 22:26317155A-G A G
+22 26317160 22:26317160G-A G A
+22 26318563 22:26318563C-T C T
+22 26319112 22:26319112C-T C T
+22 26319391 22:26319391T-C T C
+22 26320015 22:26320015T-C T C
+22 26321051 22:26321051A-C A C
+22 26323136 22:26323136A-G A G
+22 26323709 22:26323709A-C A C
+22 26323711 22:26323711G-A G A
+22 26324616 22:26324616A-T A T
+22 26325022 22:26325022A-C A C
+22 26325086 22:26325086A-G A G
+22 26325203 22:26325203G-A G A
+22 26325360 22:26325360A-G A G
+22 26326069 22:26326069C-T C T
+22 26326132 22:26326132T-C T C
+22 26326254 22:26326254C-T C T
+22 26326267 22:26326267G-A G A
+22 26326298 22:26326298T-C T C
+22 26326313 22:26326313T-C T C
+22 26326518 22:26326518T-C T C
+22 26326666 22:26326666C-T C T
+22 26326696 22:26326696G-C G C
+22 26327243 22:26327243A-G A G
+22 26327728 22:26327728C-T C T
+22 26328604 22:26328604C-T C T
+22 26330370 22:26330370T-G T G
+22 26330475 22:26330475A-G A G
+22 26331185 22:26331185G-A G A
+22 26331264 22:26331264T-C T C
+22 26331350 22:26331350C-T C T
+22 26332483 22:26332483T-C T C
+22 26332769 22:26332769G-C G C
+22 26334630 22:26334630C-A C A
+22 26334683 22:26334683A-G A G
+22 26335062 22:26335062A-G A G
+22 26335739 22:26335739A-T A T
+22 26335966 22:26335966G-A G A
+22 26335980 22:26335980G-C G C
+22 26337086 22:26337086T-C T C
+22 26337618 22:26337618A-G A G
+22 26337745 22:26337745A-C A C
+22 26337794 22:26337794A-T A T
+22 26337911 22:26337911C-T C T
+22 26338095 22:26338095A-G A G
+22 26338940 22:26338940T-C T C
+22 26338972 22:26338972G-A G A
+22 26339347 22:26339347G-C G C
+22 26339465 22:26339465C-T C T
+22 26339489 22:26339489C-T C T
+22 26340936 22:26340936C-T C T
+22 26341059 22:26341059T-G T G
+22 26341280 22:26341280G-A G A
+22 26342056 22:26342056C-T C T
+22 26342232 22:26342232T-C T C
+22 26342426 22:26342426C-G C G
+22 26342529 22:26342529C-T C T
+22 26343463 22:26343463C-G C G
+22 26343593 22:26343593A-G A G
+22 26343805 22:26343805A-G A G
+22 26344024 22:26344024C-T C T
+22 26344149 22:26344149A-G A G
+22 26344208 22:26344208T-C T C
+22 26344596 22:26344596A-G A G
+22 26345067 22:26345067A-G A G
+22 26345603 22:26345603C-T C T
+22 26345617 22:26345617A-T A T
+22 26345809 22:26345809G-T G T
+22 26346108 22:26346108A-G A G
+22 26347844 22:26347844T-C T C
+22 26349933 22:26349933A-C A C
+22 26350872 22:26350872C-G C G
+22 26368739 22:26368739T-C T C
+22 26369358 22:26369358C-T C T
+22 26369934 22:26369934A-G A G
+22 26370578 22:26370578C-T C T
+22 26371020 22:26371020G-A G A
+22 26371211 22:26371211A-C A C
+22 26375073 22:26375073C-A C A
+22 26375588 22:26375588A-G A G
+22 26376077 22:26376077G-A G A
+22 26378073 22:26378073A-T A T
+22 26378722 22:26378722C-T C T
+22 26379837 22:26379837T-C T C
+22 26379879 22:26379879A-C A C
+22 26379969 22:26379969A-G A G
+22 26380032 22:26380032G-A G A
+22 26380058 22:26380058C-T C T
+22 26380079 22:26380079T-C T C
+22 26380389 22:26380389G-A G A
+22 26380411 22:26380411A-G A G
+22 26380870 22:26380870T-G T G
+22 26381242 22:26381242G-T G T
+22 26381681 22:26381681C-T C T
+22 26381898 22:26381898T-C T C
+22 26382004 22:26382004C-T C T
+22 26382534 22:26382534G-A G A
+22 26382764 22:26382764G-A G A
+22 26383274 22:26383274G-A G A
+22 26384470 22:26384470T-C T C
+22 26385027 22:26385027C-T C T
+22 26385708 22:26385708A-G A G
+22 26385921 22:26385921G-A G A
+22 26386020 22:26386020C-T C T
+22 26386199 22:26386199A-G A G
+22 26386374 22:26386374G-A G A
+22 26386577 22:26386577C-T C T
+22 26386720 22:26386720G-A G A
+22 26386970 22:26386970C-T C T
+22 26387045 22:26387045T-C T C
+22 26387299 22:26387299C-T C T
+22 26387738 22:26387738T-C T C
+22 26388119 22:26388119G-A G A
+22 26388144 22:26388144T-A T A
+22 26388304 22:26388304G-A G A
+22 26388337 22:26388337C-T C T
+22 26388548 22:26388548A-G A G
+22 26388897 22:26388897G-A G A
+22 26389087 22:26389087A-G A G
+22 26389139 22:26389139C-T C T
+22 26389143 22:26389143C-G C G
+22 26389349 22:26389349C-T C T
+22 26389551 22:26389551T-C T C
+22 26389655 22:26389655G-A G A
+22 26389671 22:26389671T-C T C
+22 26389691 22:26389691T-A T A
+22 26389846 22:26389846T-C T C
+22 26389955 22:26389955C-G C G
+22 26390262 22:26390262A-G A G
+22 26390372 22:26390372T-C T C
+22 26390659 22:26390659C-T C T
+22 26390903 22:26390903T-C T C
+22 26390964 22:26390964G-A G A
+22 26390999 22:26390999G-T G T
+22 26391090 22:26391090G-A G A
+22 26391167 22:26391167C-T C T
+22 26391283 22:26391283A-C A C
+22 26391634 22:26391634G-A G A
+22 26391811 22:26391811G-A G A
+22 26392210 22:26392210T-C T C
+22 26392234 22:26392234A-G A G
+22 26392705 22:26392705T-C T C
+22 26392729 22:26392729C-T C T
+22 26392874 22:26392874C-T C T
+22 26392946 22:26392946G-T G T
+22 26392981 22:26392981T-C T C
+22 26393043 22:26393043C-T C T
+22 26394062 22:26394062G-A G A
+22 26394587 22:26394587C-T C T
+22 26394694 22:26394694G-A G A
+22 26394700 22:26394700T-C T C
+22 26394724 22:26394724A-G A G
+22 26394969 22:26394969G-C G C
+22 26395066 22:26395066A-G A G
+22 26395274 22:26395274C-G C G
+22 26396647 22:26396647C-T C T
+22 26398785 22:26398785G-A G A
+22 26399432 22:26399432C-A C A
+22 26400185 22:26400185C-T C T
+22 26400319 22:26400319A-G A G
+22 26400335 22:26400335C-G C G
+22 26400967 22:26400967C-T C T
+22 26401331 22:26401331A-G A G
+22 26401695 22:26401695G-C G C
+22 26402623 22:26402623C-T C T
+22 26402839 22:26402839G-A G A
+22 26403253 22:26403253A-G A G
+22 26403268 22:26403268A-G A G
+22 26404101 22:26404101G-A G A
+22 26404138 22:26404138A-G A G
+22 26404375 22:26404375A-G A G
+22 26405073 22:26405073C-G C G
+22 26407134 22:26407134T-C T C
+22 26407652 22:26407652A-G A G
+22 26408060 22:26408060T-G T G
+22 26408234 22:26408234G-A G A
+22 26408660 22:26408660A-G A G
+22 26408727 22:26408727G-A G A
+22 26409036 22:26409036G-A G A
+22 26409264 22:26409264C-T C T
+22 26410661 22:26410661G-C G C
+22 26411116 22:26411116G-A G A
+22 26411496 22:26411496C-T C T
+22 26411544 22:26411544C-T C T
+22 26411768 22:26411768A-C A C
+22 26412011 22:26412011C-G C G
+22 26412755 22:26412755C-A C A
+22 26412805 22:26412805G-A G A
+22 26412923 22:26412923G-C G C
+22 26414388 22:26414388C-T C T
+22 26414827 22:26414827C-T C T
+22 26415278 22:26415278C-T C T
+22 26415294 22:26415294T-G T G
+22 26415475 22:26415475C-T C T
+22 26416037 22:26416037A-T A T
+22 26416570 22:26416570C-A C A
+22 26416852 22:26416852G-T G T
+22 26417956 22:26417956C-T C T
+22 26418541 22:26418541G-A G A
+22 26418568 22:26418568C-T C T
+22 26419672 22:26419672A-G A G
+22 26419808 22:26419808C-T C T
+22 26420851 22:26420851T-C T C
+22 26421568 22:26421568A-C A C
+22 26421591 22:26421591A-G A G
+22 26421793 22:26421793A-G A G
+22 26422292 22:26422292G-C G C
+22 26422980 22:26422980A-G A G
+22 26424068 22:26424068A-G A G
+22 26424404 22:26424404G-A G A
+22 26424688 22:26424688A-G A G
+22 26424778 22:26424778C-T C T
+22 26425144 22:26425144G-C G C
+22 26425187 22:26425187T-C T C
+22 26425250 22:26425250C-A C A
+22 26425299 22:26425299T-C T C
+22 26425342 22:26425342T-C T C
+22 26425422 22:26425422G-A G A
+22 26426218 22:26426218C-T C T
+22 26427522 22:26427522T-G T G
+22 26427838 22:26427838T-G T G
+22 26427848 22:26427848C-T C T
+22 26428221 22:26428221C-G C G
+22 26428265 22:26428265G-A G A
+22 26428821 22:26428821G-A G A
+22 26429185 22:26429185A-G A G
+22 26429336 22:26429336G-T G T
+22 26429696 22:26429696C-G C G
+22 26429803 22:26429803T-C T C
+22 26429843 22:26429843T-C T C
+22 26430323 22:26430323A-G A G
+22 26430456 22:26430456C-T C T
+22 26430757 22:26430757C-T C T
+22 26430991 22:26430991C-A C A
+22 26431001 22:26431001C-T C T
+22 26431850 22:26431850T-C T C
+22 26431863 22:26431863T-C T C
+22 26431941 22:26431941A-G A G
+22 26431988 22:26431988G-A G A
+22 26432526 22:26432526T-G T G
+22 26432705 22:26432705T-C T C
+22 26432820 22:26432820T-C T C
+22 26433170 22:26433170C-T C T
+22 26433521 22:26433521T-G T G
+22 26434963 22:26434963A-G A G
+22 26435508 22:26435508C-T C T
+22 26435541 22:26435541A-G A G
+22 26435817 22:26435817C-G C G
+22 26435884 22:26435884G-A G A
+22 26436287 22:26436287G-A G A
+22 26436500 22:26436500C-G C G
+22 26436514 22:26436514T-A T A
+22 26436716 22:26436716G-A G A
+22 26437025 22:26437025G-A G A
+22 26437098 22:26437098A-G A G
+22 26437152 22:26437152G-C G C
+22 26437166 22:26437166C-T C T
+22 26437515 22:26437515C-T C T
+22 26437690 22:26437690G-A G A
+22 26437809 22:26437809T-C T C
+22 26437821 22:26437821C-T C T
+22 26438107 22:26438107G-A G A
+22 26438410 22:26438410G-A G A
+22 26438495 22:26438495A-G A G
+22 26440704 22:26440704C-G C G
+22 26447390 22:26447390C-A C A
+22 26447740 22:26447740T-C T C
+22 26448197 22:26448197A-G A G
+22 26448643 22:26448643T-G T G
+22 26448974 22:26448974T-C T C
+22 26449019 22:26449019C-T C T
+22 26453030 22:26453030G-A G A
+22 26454172 22:26454172G-A G A
+22 26454308 22:26454308G-A G A
+22 26454848 22:26454848A-G A G
+22 26455088 22:26455088A-C A C
+22 26455092 22:26455092G-A G A
+22 26455216 22:26455216C-T C T
+22 26455559 22:26455559G-A G A
+22 26456513 22:26456513T-C T C
+22 26458388 22:26458388A-G A G
+22 26466235 22:26466235G-A G A
+22 26466765 22:26466765C-T C T
+22 26467382 22:26467382T-G T G
+22 26470198 22:26470198T-C T C
+22 26472006 22:26472006T-C T C
+22 26472646 22:26472646T-C T C
+22 26473392 22:26473392A-C A C
+22 26474305 22:26474305C-A C A
+22 26474659 22:26474659G-T G T
+22 26475259 22:26475259G-C G C
+22 26476250 22:26476250T-G T G
+22 26476756 22:26476756A-G A G
+22 26477288 22:26477288T-A T A
+22 26479951 22:26479951A-G A G
+22 26480783 22:26480783G-A G A
+22 26482842 22:26482842A-G A G
+22 26483608 22:26483608A-G A G
+22 26484207 22:26484207T-C T C
+22 26484668 22:26484668A-G A G
+22 26484948 22:26484948A-G A G
+22 26485012 22:26485012G-T G T
+22 26485216 22:26485216C-A C A
+22 26485668 22:26485668C-T C T
+22 26485805 22:26485805C-T C T
+22 26486163 22:26486163T-G T G
+22 26487206 22:26487206G-A G A
+22 26487672 22:26487672A-G A G
+22 26489574 22:26489574G-A G A
+22 26490387 22:26490387G-A G A
+22 26491112 22:26491112G-A G A
+22 26491170 22:26491170A-C A C
+22 26492148 22:26492148C-G C G
+22 26492659 22:26492659A-T A T
+22 26492660 22:26492660T-C T C
+22 26494612 22:26494612T-G T G
+22 26494893 22:26494893C-T C T
+22 26495708 22:26495708G-A G A
+22 26495921 22:26495921G-T G T
+22 26497107 22:26497107G-A G A
+22 26498721 22:26498721G-T G T
+22 26498890 22:26498890T-C T C
+22 26499033 22:26499033C-T C T
+22 26500384 22:26500384G-C G C
+22 26500417 22:26500417A-G A G
+22 26500900 22:26500900C-T C T
+22 26500958 22:26500958G-A G A
+22 26501277 22:26501277G-A G A
+22 26501884 22:26501884C-T C T
+22 26502090 22:26502090G-A G A
+22 26502096 22:26502096G-A G A
+22 26502509 22:26502509A-G A G
+22 26503159 22:26503159G-A G A
+22 26503944 22:26503944C-T C T
+22 26504002 22:26504002A-G A G
+22 26504037 22:26504037G-A G A
+22 26504140 22:26504140A-G A G
+22 26504839 22:26504839A-G A G
+22 26504923 22:26504923T-C T C
+22 26505218 22:26505218G-A G A
+22 26505565 22:26505565A-G A G
+22 26506868 22:26506868C-T C T
+22 26507446 22:26507446C-T C T
+22 26507645 22:26507645C-T C T
+22 26507942 22:26507942C-T C T
+22 26508521 22:26508521T-C T C
+22 26509216 22:26509216G-A G A
+22 26510803 22:26510803A-G A G
+22 26512217 22:26512217C-G C G
+22 26512264 22:26512264C-G C G
+22 26512663 22:26512663C-T C T
+22 26512681 22:26512681T-C T C
+22 26512760 22:26512760A-G A G
+22 26512824 22:26512824C-T C T
+22 26512989 22:26512989T-C T C
+22 26513042 22:26513042C-T C T
+22 26513270 22:26513270G-A G A
+22 26513692 22:26513692A-G A G
+22 26513694 22:26513694G-A G A
+22 26514479 22:26514479T-C T C
+22 26515631 22:26515631A-T A T
+22 26516130 22:26516130G-A G A
+22 26516530 22:26516530A-C A C
+22 26516603 22:26516603A-G A G
+22 26516836 22:26516836C-T C T
+22 26517370 22:26517370C-T C T
+22 26518455 22:26518455T-G T G
+22 26518511 22:26518511C-T C T
+22 26518674 22:26518674G-A G A
+22 26520564 22:26520564C-T C T
+22 26520808 22:26520808T-C T C
+22 26520939 22:26520939T-A T A
+22 26521071 22:26521071A-G A G
+22 26527958 22:26527958C-G C G
+22 26528017 22:26528017T-C T C
+22 26528054 22:26528054G-A G A
+22 26528885 22:26528885T-A T A
+22 26531396 22:26531396T-C T C
+22 26531916 22:26531916A-T A T
+22 26540493 22:26540493T-A T A
+22 26541088 22:26541088T-C T C
+22 26541422 22:26541422A-G A G
+22 26543273 22:26543273A-G A G
+22 26543287 22:26543287G-T G T
+22 26544766 22:26544766C-T C T
+22 26548342 22:26548342T-C T C
+22 26548478 22:26548478T-G T G
+22 26549114 22:26549114A-T A T
+22 26549129 22:26549129A-T A T
+22 26549281 22:26549281A-G A G
+22 26550398 22:26550398C-T C T
+22 26550539 22:26550539G-A G A
+22 26551267 22:26551267A-G A G
+22 26551565 22:26551565T-C T C
+22 26551819 22:26551819A-T A T
+22 26551985 22:26551985A-G A G
+22 26551994 22:26551994T-A T A
+22 26553145 22:26553145A-G A G
+22 26553234 22:26553234G-A G A
+22 26555347 22:26555347C-A C A
+22 26555482 22:26555482T-C T C
+22 26555950 22:26555950A-G A G
+22 26557350 22:26557350G-A G A
+22 26557408 22:26557408C-G C G
+22 26557486 22:26557486A-G A G
+22 26559883 22:26559883G-T G T
+22 26561478 22:26561478G-A G A
+22 26562140 22:26562140C-T C T
+22 26562147 22:26562147G-C G C
+22 26562271 22:26562271C-T C T
+22 26565156 22:26565156C-T C T
+22 26566757 22:26566757G-T G T
+22 26568194 22:26568194C-A C A
+22 26573043 22:26573043G-T G T
+22 26573240 22:26573240G-A G A
+22 26573345 22:26573345A-G A G
+22 26574594 22:26574594T-C T C
+22 26574945 22:26574945C-A C A
+22 26574964 22:26574964A-G A G
+22 26575336 22:26575336G-A G A
+22 26575473 22:26575473A-G A G
+22 26577346 22:26577346C-T C T
+22 26577566 22:26577566C-T C T
+22 26578110 22:26578110G-A G A
+22 26578221 22:26578221C-G C G
+22 26578256 22:26578256G-A G A
+22 26581298 22:26581298G-A G A
+22 26581516 22:26581516G-A G A
+22 26582116 22:26582116G-A G A
+22 26582436 22:26582436T-C T C
+22 26586795 22:26586795G-T G T
+22 26588174 22:26588174C-A C A
+22 26588406 22:26588406C-T C T
+22 26588745 22:26588745C-T C T
+22 26589485 22:26589485G-T G T
+22 26589752 22:26589752C-T C T
+22 26590200 22:26590200T-C T C
+22 26590622 22:26590622G-A G A
+22 26590942 22:26590942G-A G A
+22 26593779 22:26593779G-A G A
+22 26594197 22:26594197A-G A G
+22 26595538 22:26595538C-T C T
+22 26597805 22:26597805A-G A G
+22 26598096 22:26598096A-G A G
+22 26598618 22:26598618T-G T G
+22 26599293 22:26599293T-C T C
+22 26602272 22:26602272T-A T A
+22 26605313 22:26605313A-T A T
+22 26606025 22:26606025C-T C T
+22 26606365 22:26606365T-C T C
+22 26608683 22:26608683C-G C G
+22 26611322 22:26611322T-C T C
+22 26611463 22:26611463C-T C T
+22 26612114 22:26612114C-G C G
+22 26612416 22:26612416G-A G A
+22 26613062 22:26613062C-T C T
+22 26613158 22:26613158G-C G C
+22 26614969 22:26614969T-A T A
+22 26615238 22:26615238G-A G A
+22 26617260 22:26617260A-T A T
+22 26617678 22:26617678A-G A G
+22 26617787 22:26617787G-A G A
+22 26617905 22:26617905G-A G A
+22 26618065 22:26618065T-G T G
+22 26618696 22:26618696A-T A T
+22 26619070 22:26619070T-C T C
+22 26619159 22:26619159C-T C T
+22 26619211 22:26619211C-A C A
+22 26619384 22:26619384A-G A G
+22 26619760 22:26619760T-C T C
+22 26619816 22:26619816A-T A T
+22 26620244 22:26620244G-A G A
+22 26620491 22:26620491C-T C T
+22 26620817 22:26620817G-C G C
+22 26621355 22:26621355C-T C T
+22 26621661 22:26621661A-G A G
+22 26621676 22:26621676C-G C G
+22 26622161 22:26622161T-C T C
+22 26622279 22:26622279C-A C A
+22 26622584 22:26622584G-A G A
+22 26623274 22:26623274T-G T G
+22 26623368 22:26623368T-A T A
+22 26624413 22:26624413T-G T G
+22 26624638 22:26624638G-A G A
+22 26624716 22:26624716A-G A G
+22 26624817 22:26624817T-C T C
+22 26625334 22:26625334T-C T C
+22 26625665 22:26625665A-G A G
+22 26626263 22:26626263A-G A G
+22 26627142 22:26627142C-T C T
+22 26627906 22:26627906A-G A G
+22 26627989 22:26627989A-C A C
+22 26628105 22:26628105G-A G A
+22 26628569 22:26628569C-G C G
+22 26629095 22:26629095G-A G A
+22 26629288 22:26629288C-T C T
+22 26629636 22:26629636C-T C T
+22 26629678 22:26629678G-A G A
+22 26629842 22:26629842A-G A G
+22 26630019 22:26630019G-A G A
+22 26630311 22:26630311A-T A T
+22 26630455 22:26630455C-T C T
+22 26630456 22:26630456G-A G A
+22 26630688 22:26630688T-C T C
+22 26631600 22:26631600G-A G A
+22 26631997 22:26631997G-T G T
+22 26632074 22:26632074G-T G T
+22 26633075 22:26633075G-A G A
+22 26633178 22:26633178C-T C T
+22 26633357 22:26633357T-A T A
+22 26633943 22:26633943T-A T A
+22 26634067 22:26634067G-A G A
+22 26634463 22:26634463C-T C T
+22 26635548 22:26635548G-A G A
+22 26635797 22:26635797A-G A G
+22 26635839 22:26635839C-G C G
+22 26636076 22:26636076A-G A G
+22 26637256 22:26637256G-A G A
+22 26637298 22:26637298A-C A C
+22 26637448 22:26637448G-A G A
+22 26638161 22:26638161G-A G A
+22 26638268 22:26638268G-T G T
+22 26638560 22:26638560T-C T C
+22 26638677 22:26638677G-T G T
+22 26638906 22:26638906T-G T G
+22 26638968 22:26638968G-A G A
+22 26638970 22:26638970A-G A G
+22 26638998 22:26638998C-G C G
+22 26639117 22:26639117T-A T A
+22 26639167 22:26639167T-G T G
+22 26639605 22:26639605T-C T C
+22 26639807 22:26639807C-T C T
+22 26639835 22:26639835G-A G A
+22 26640044 22:26640044A-G A G
+22 26640200 22:26640200A-G A G
+22 26640354 22:26640354G-A G A
+22 26640849 22:26640849A-G A G
+22 26640900 22:26640900A-T A T
+22 26641081 22:26641081G-A G A
+22 26641235 22:26641235C-T C T
+22 26641384 22:26641384C-T C T
+22 26641443 22:26641443T-G T G
+22 26642235 22:26642235T-C T C
+22 26642679 22:26642679G-A G A
+22 26642934 22:26642934G-A G A
+22 26643093 22:26643093T-A T A
+22 26643423 22:26643423G-C G C
+22 26643526 22:26643526G-A G A
+22 26643743 22:26643743T-C T C
+22 26643779 22:26643779T-C T C
+22 26644240 22:26644240C-T C T
+22 26644568 22:26644568G-A G A
+22 26644628 22:26644628A-G A G
+22 26644715 22:26644715G-A G A
+22 26645039 22:26645039A-T A T
+22 26645377 22:26645377G-A G A
+22 26645380 22:26645380T-C T C
+22 26645662 22:26645662G-T G T
+22 26645793 22:26645793G-A G A
+22 26645891 22:26645891T-G T G
+22 26645928 22:26645928A-T A T
+22 26646321 22:26646321G-A G A
+22 26646503 22:26646503T-C T C
+22 26646550 22:26646550G-A G A
+22 26646617 22:26646617T-C T C
+22 26646686 22:26646686T-C T C
+22 26646765 22:26646765G-T G T
+22 26646788 22:26646788C-T C T
+22 26647217 22:26647217C-A C A
+22 26647405 22:26647405G-C G C
+22 26647499 22:26647499G-A G A
+22 26647728 22:26647728G-C G C
+22 26648071 22:26648071G-T G T
+22 26648441 22:26648441A-G A G
+22 26648711 22:26648711G-A G A
+22 26648940 22:26648940T-C T C
+22 26649337 22:26649337A-C A C
+22 26649388 22:26649388G-T G T
+22 26649421 22:26649421C-T C T
+22 26649446 22:26649446C-T C T
+22 26649761 22:26649761A-G A G
+22 26649848 22:26649848A-T A T
+22 26650124 22:26650124G-A G A
+22 26650365 22:26650365C-G C G
+22 26650369 22:26650369G-C G C
+22 26650605 22:26650605T-C T C
+22 26650647 22:26650647T-A T A
+22 26650662 22:26650662C-T C T
+22 26650667 22:26650667T-C T C
+22 26650883 22:26650883T-C T C
+22 26651478 22:26651478G-A G A
+22 26651549 22:26651549C-T C T
+22 26651679 22:26651679C-T C T
+22 26651730 22:26651730G-C G C
+22 26651739 22:26651739A-C A C
+22 26651742 22:26651742A-C A C
+22 26651766 22:26651766T-C T C
+22 26651829 22:26651829C-T C T
+22 26651954 22:26651954T-A T A
+22 26652123 22:26652123G-A G A
+22 26652208 22:26652208T-C T C
+22 26652427 22:26652427G-A G A
+22 26652453 22:26652453C-T C T
+22 26652706 22:26652706C-A C A
+22 26652930 22:26652930G-A G A
+22 26653212 22:26653212A-C A C
+22 26653309 22:26653309T-C T C
+22 26653362 22:26653362C-G C G
+22 26653614 22:26653614G-A G A
+22 26653742 22:26653742C-T C T
+22 26654053 22:26654053C-T C T
+22 26654236 22:26654236C-T C T
+22 26654237 22:26654237A-G A G
+22 26654682 22:26654682G-A G A
+22 26654697 22:26654697A-C A C
+22 26654906 22:26654906A-G A G
+22 26655067 22:26655067A-G A G
+22 26656018 22:26656018G-T G T
+22 26657017 22:26657017A-G A G
+22 26657192 22:26657192T-C T C
+22 26657394 22:26657394C-T C T
+22 26657664 22:26657664A-G A G
+22 26657779 22:26657779G-T G T
+22 26658299 22:26658299A-T A T
+22 26658439 22:26658439T-G T G
+22 26658556 22:26658556C-T C T
+22 26658917 22:26658917C-T C T
+22 26659254 22:26659254T-G T G
+22 26659601 22:26659601C-T C T
+22 26659868 22:26659868C-T C T
+22 26660296 22:26660296C-T C T
+22 26660309 22:26660309T-C T C
+22 26660538 22:26660538C-T C T
+22 26660760 22:26660760C-T C T
+22 26661500 22:26661500G-A G A
+22 26661763 22:26661763T-A T A
+22 26661973 22:26661973T-C T C
+22 26662042 22:26662042T-G T G
+22 26662253 22:26662253A-G A G
+22 26662262 22:26662262T-C T C
+22 26662454 22:26662454G-A G A
+22 26663606 22:26663606A-G A G
+22 26664053 22:26664053A-C A C
+22 26664450 22:26664450C-T C T
+22 26664589 22:26664589G-A G A
+22 26665099 22:26665099A-G A G
+22 26665674 22:26665674G-A G A
+22 26665807 22:26665807G-A G A
+22 26666059 22:26666059T-A T A
+22 26666235 22:26666235T-C T C
+22 26666246 22:26666246G-A G A
+22 26666376 22:26666376T-C T C
+22 26666590 22:26666590A-G A G
+22 26667155 22:26667155G-A G A
+22 26667774 22:26667774G-T G T
+22 26668246 22:26668246G-C G C
+22 26668353 22:26668353A-G A G
+22 26668524 22:26668524T-C T C
+22 26668690 22:26668690T-C T C
+22 26668806 22:26668806A-G A G
+22 26669791 22:26669791T-C T C
+22 26670085 22:26670085A-C A C
+22 26670128 22:26670128G-C G C
+22 26670960 22:26670960A-G A G
+22 26671039 22:26671039C-A C A
+22 26671590 22:26671590C-A C A
+22 26671594 22:26671594C-T C T
+22 26671767 22:26671767G-C G C
+22 26672315 22:26672315A-C A C
+22 26672510 22:26672510A-T A T
+22 26672739 22:26672739T-G T G
+22 26673119 22:26673119C-T C T
+22 26673399 22:26673399G-A G A
+22 26675608 22:26675608A-G A G
+22 26675644 22:26675644C-T C T
+22 26675659 22:26675659T-A T A
+22 26675815 22:26675815C-T C T
+22 26676419 22:26676419C-G C G
+22 26676580 22:26676580C-T C T
+22 26676648 22:26676648C-A C A
+22 26677409 22:26677409C-T C T
+22 26677497 22:26677497T-C T C
+22 26678128 22:26678128C-T C T
+22 26678473 22:26678473C-T C T
+22 26679045 22:26679045A-G A G
+22 26679680 22:26679680A-G A G
+22 26679841 22:26679841G-A G A
+22 26680396 22:26680396A-T A T
+22 26680672 22:26680672T-C T C
+22 26680705 22:26680705C-A C A
+22 26681192 22:26681192G-A G A
+22 26681209 22:26681209A-G A G
+22 26681640 22:26681640C-T C T
+22 26682040 22:26682040A-T A T
+22 26682084 22:26682084T-C T C
+22 26682585 22:26682585T-G T G
+22 26683204 22:26683204C-T C T
+22 26683328 22:26683328G-A G A
+22 26683380 22:26683380T-A T A
+22 26683396 22:26683396G-T G T
+22 26683635 22:26683635T-C T C
+22 26683793 22:26683793G-A G A
+22 26684218 22:26684218T-C T C
+22 26684505 22:26684505A-G A G
+22 26684958 22:26684958C-A C A
+22 26687152 22:26687152C-T C T
+22 26687443 22:26687443A-G A G
+22 26687474 22:26687474C-T C T
+22 26687521 22:26687521A-G A G
+22 26687530 22:26687530C-G C G
+22 26688292 22:26688292A-C A C
+22 26688388 22:26688388A-C A C
+22 26688838 22:26688838C-T C T
+22 26689105 22:26689105G-A G A
+22 26689201 22:26689201A-T A T
+22 26689635 22:26689635C-T C T
+22 26689700 22:26689700C-A C A
+22 26689741 22:26689741T-G T G
+22 26690407 22:26690407T-C T C
+22 26690539 22:26690539G-A G A
+22 26690561 22:26690561T-C T C
+22 26690618 22:26690618C-T C T
+22 26691374 22:26691374G-C G C
+22 26691719 22:26691719C-A C A
+22 26691965 22:26691965G-A G A
+22 26692128 22:26692128G-T G T
+22 26692186 22:26692186G-A G A
+22 26692456 22:26692456T-C T C
+22 26693227 22:26693227G-A G A
+22 26694190 22:26694190A-T A T
+22 26694214 22:26694214A-G A G
+22 26694535 22:26694535A-T A T
+22 26694660 22:26694660T-C T C
+22 26695077 22:26695077G-T G T
+22 26695409 22:26695409C-G C G
+22 26695735 22:26695735C-A C A
+22 26695761 22:26695761C-A C A
+22 26695782 22:26695782C-T C T
+22 26696783 22:26696783T-A T A
+22 26696970 22:26696970C-T C T
+22 26697022 22:26697022G-C G C
+22 26697195 22:26697195T-C T C
+22 26697742 22:26697742T-C T C
+22 26698004 22:26698004T-C T C
+22 26698865 22:26698865C-A C A
+22 26698892 22:26698892A-G A G
+22 26700592 22:26700592T-C T C
+22 26700595 22:26700595T-A T A
+22 26700773 22:26700773G-C G C
+22 26701805 22:26701805G-A G A
+22 26702015 22:26702015A-C A C
+22 26702773 22:26702773T-G T G
+22 26703553 22:26703553G-T G T
+22 26703588 22:26703588G-A G A
+22 26704363 22:26704363G-A G A
+22 26704561 22:26704561C-T C T
+22 26704915 22:26704915A-G A G
+22 26705391 22:26705391G-A G A
+22 26705531 22:26705531A-G A G
+22 26705608 22:26705608G-A G A
+22 26705769 22:26705769T-C T C
+22 26705808 22:26705808C-G C G
+22 26705814 22:26705814A-G A G
+22 26705995 22:26705995A-C A C
+22 26706228 22:26706228G-A G A
+22 26706268 22:26706268A-G A G
+22 26706300 22:26706300G-A G A
+22 26706826 22:26706826T-C T C
+22 26706885 22:26706885T-C T C
+22 26707158 22:26707158A-C A C
+22 26707395 22:26707395G-A G A
+22 26707550 22:26707550T-C T C
+22 26707580 22:26707580T-A T A
+22 26707586 22:26707586A-G A G
+22 26708126 22:26708126G-A G A
+22 26708252 22:26708252T-C T C
+22 26708471 22:26708471T-C T C
+22 26708605 22:26708605C-T C T
+22 26708986 22:26708986C-T C T
+22 26709221 22:26709221C-T C T
+22 26709307 22:26709307C-T C T
+22 26710270 22:26710270A-G A G
+22 26710386 22:26710386C-G C G
+22 26710410 22:26710410A-G A G
+22 26710535 22:26710535G-A G A
+22 26710661 22:26710661C-A C A
+22 26710772 22:26710772C-T C T
+22 26710899 22:26710899T-C T C
+22 26711038 22:26711038C-G C G
+22 26712222 22:26712222G-A G A
+22 26712281 22:26712281G-A G A
+22 26712785 22:26712785G-C G C
+22 26713964 22:26713964G-T G T
+22 26714535 22:26714535A-G A G
+22 26714582 22:26714582T-C T C
+22 26715216 22:26715216C-T C T
+22 26715227 22:26715227C-T C T
+22 26715393 22:26715393A-G A G
+22 26715511 22:26715511C-G C G
+22 26715906 22:26715906C-T C T
+22 26715923 22:26715923G-A G A
+22 26715970 22:26715970T-C T C
+22 26716166 22:26716166A-G A G
+22 26716227 22:26716227G-A G A
+22 26716297 22:26716297C-T C T
+22 26716432 22:26716432A-G A G
+22 26717226 22:26717226C-T C T
+22 26718326 22:26718326T-C T C
+22 26718641 22:26718641A-T A T
+22 26718872 22:26718872C-G C G
+22 26718894 22:26718894A-G A G
+22 26719009 22:26719009G-A G A
+22 26719011 22:26719011C-G C G
+22 26719135 22:26719135G-A G A
+22 26719418 22:26719418G-A G A
+22 26719491 22:26719491T-C T C
+22 26719676 22:26719676C-T C T
+22 26719976 22:26719976T-A T A
+22 26720199 22:26720199A-C A C
+22 26721533 22:26721533A-C A C
+22 26721780 22:26721780C-T C T
+22 26722146 22:26722146C-T C T
+22 26722351 22:26722351G-C G C
+22 26722513 22:26722513G-A G A
+22 26722657 22:26722657A-G A G
+22 26722944 22:26722944T-C T C
+22 26722999 22:26722999G-T G T
+22 26723113 22:26723113C-T C T
+22 26723400 22:26723400A-G A G
+22 26723626 22:26723626C-A C A
+22 26723797 22:26723797A-G A G
+22 26723914 22:26723914G-T G T
+22 26724171 22:26724171A-T A T
+22 26724561 22:26724561G-A G A
+22 26724763 22:26724763G-T G T
+22 26724989 22:26724989C-T C T
+22 26725121 22:26725121G-A G A
+22 26725126 22:26725126G-A G A
+22 26725316 22:26725316T-C T C
+22 26725869 22:26725869C-T C T
+22 26726045 22:26726045T-C T C
+22 26726366 22:26726366G-A G A
+22 26726711 22:26726711T-C T C
+22 26726856 22:26726856A-G A G
+22 26726954 22:26726954T-C T C
+22 26727129 22:26727129C-T C T
+22 26727727 22:26727727T-C T C
+22 26727737 22:26727737T-A T A
+22 26728306 22:26728306G-A G A
+22 26728440 22:26728440T-C T C
+22 26728677 22:26728677A-G A G
+22 26729005 22:26729005T-G T G
+22 26729373 22:26729373C-T C T
+22 26729721 22:26729721T-C T C
+22 26729999 22:26729999T-C T C
+22 26730172 22:26730172C-T C T
+22 26730242 22:26730242C-T C T
+22 26730293 22:26730293T-C T C
+22 26730347 22:26730347G-C G C
+22 26730409 22:26730409C-T C T
+22 26730815 22:26730815C-T C T
+22 26730977 22:26730977G-A G A
+22 26731283 22:26731283C-T C T
+22 26731331 22:26731331T-C T C
+22 26731656 22:26731656G-T G T
+22 26732144 22:26732144C-A C A
+22 26732208 22:26732208T-G T G
+22 26732398 22:26732398A-G A G
+22 26732943 22:26732943T-A T A
+22 26733244 22:26733244T-G T G
+22 26733299 22:26733299G-A G A
+22 26733689 22:26733689A-G A G
+22 26733770 22:26733770G-A G A
+22 26734141 22:26734141C-T C T
+22 26734346 22:26734346T-C T C
+22 26734557 22:26734557G-A G A
+22 26734735 22:26734735A-G A G
+22 26735292 22:26735292G-A G A
+22 26735518 22:26735518T-A T A
+22 26735570 22:26735570G-A G A
+22 26735632 22:26735632C-T C T
+22 26735648 22:26735648G-A G A
+22 26735765 22:26735765G-A G A
+22 26735813 22:26735813T-C T C
+22 26735929 22:26735929A-G A G
+22 26736812 22:26736812G-A G A
+22 26737148 22:26737148T-C T C
+22 26737544 22:26737544A-G A G
+22 26737680 22:26737680C-T C T
+22 26737966 22:26737966A-G A G
+22 26738011 22:26738011A-C A C
+22 26738225 22:26738225A-G A G
+22 26738429 22:26738429G-A G A
+22 26738442 22:26738442T-G T G
+22 26738732 22:26738732G-A G A
+22 26739167 22:26739167G-A G A
+22 26739840 22:26739840A-T A T
+22 26740087 22:26740087C-G C G
+22 26740281 22:26740281T-G T G
+22 26742834 22:26742834C-T C T
+22 26743311 22:26743311C-T C T
+22 26745320 22:26745320A-G A G
+22 26745639 22:26745639A-T A T
+22 26746484 22:26746484T-C T C
+22 26746833 22:26746833A-G A G
+22 26746902 22:26746902G-A G A
+22 26747765 22:26747765G-A G A
+22 26748765 22:26748765G-C G C
+22 26748910 22:26748910T-C T C
+22 26749782 22:26749782T-A T A
+22 26749825 22:26749825C-T C T
+22 26749848 22:26749848T-C T C
+22 26750230 22:26750230T-C T C
+22 26750356 22:26750356C-T C T
+22 26751523 22:26751523C-G C G
+22 26752294 22:26752294G-T G T
+22 26752435 22:26752435C-T C T
+22 26752657 22:26752657A-G A G
+22 26752706 22:26752706T-A T A
+22 26753295 22:26753295C-T C T
+22 26753653 22:26753653G-A G A
+22 26753731 22:26753731T-C T C
+22 26754248 22:26754248G-C G C
+22 26754350 22:26754350T-C T C
+22 26754405 22:26754405T-C T C
+22 26755614 22:26755614T-A T A
+22 26757073 22:26757073G-A G A
+22 26757126 22:26757126T-A T A
+22 26757178 22:26757178C-A C A
+22 26757514 22:26757514G-A G A
+22 26757871 22:26757871G-A G A
+22 26758022 22:26758022T-G T G
+22 26758073 22:26758073C-T C T
+22 26758200 22:26758200A-G A G
+22 26758375 22:26758375G-T G T
+22 26758438 22:26758438C-T C T
+22 26758617 22:26758617A-C A C
+22 26758637 22:26758637A-C A C
+22 26758783 22:26758783G-T G T
+22 26758931 22:26758931A-G A G
+22 26759040 22:26759040T-C T C
+22 26759069 22:26759069C-T C T
+22 26759177 22:26759177C-T C T
+22 26759278 22:26759278T-A T A
+22 26761167 22:26761167G-A G A
+22 26761183 22:26761183A-G A G
+22 26762066 22:26762066T-G T G
+22 26764638 22:26764638T-C T C
+22 26765167 22:26765167G-A G A
+22 26765231 22:26765231G-A G A
+22 26765236 22:26765236T-A T A
+22 26765626 22:26765626A-T A T
+22 26765996 22:26765996A-G A G
+22 26766024 22:26766024T-C T C
+22 26766089 22:26766089C-A C A
+22 26766201 22:26766201T-A T A
+22 26766275 22:26766275T-C T C
+22 26766607 22:26766607T-G T G
+22 26766773 22:26766773C-A C A
+22 26766950 22:26766950A-G A G
+22 26767018 22:26767018T-C T C
+22 26767140 22:26767140C-G C G
+22 26767267 22:26767267A-G A G
+22 26767648 22:26767648C-G C G
+22 26767843 22:26767843C-T C T
+22 26768355 22:26768355A-G A G
+22 26768469 22:26768469G-A G A
+22 26768596 22:26768596C-T C T
+22 26768776 22:26768776G-A G A
+22 26768779 22:26768779T-C T C
+22 26768848 22:26768848A-C A C
+22 26768984 22:26768984C-T C T
+22 26769234 22:26769234T-G T G
+22 26769308 22:26769308C-T C T
+22 26769539 22:26769539A-C A C
+22 26769992 22:26769992C-A C A
+22 26770390 22:26770390A-G A G
+22 26770631 22:26770631T-C T C
+22 26770740 22:26770740C-T C T
+22 26770876 22:26770876C-T C T
+22 26770986 22:26770986C-G C G
+22 26771294 22:26771294A-G A G
+22 26771386 22:26771386T-G T G
+22 26772006 22:26772006A-G A G
+22 26772080 22:26772080A-T A T
+22 26772476 22:26772476C-G C G
+22 26772482 22:26772482T-C T C
+22 26772779 22:26772779G-A G A
+22 26772791 22:26772791A-G A G
+22 26773254 22:26773254T-C T C
+22 26774580 22:26774580A-G A G
+22 26775184 22:26775184C-T C T
+22 26777025 22:26777025A-G A G
+22 26777094 22:26777094C-T C T
+22 26777440 22:26777440G-A G A
+22 26777795 22:26777795A-T A T
+22 26777951 22:26777951T-G T G
+22 26778335 22:26778335C-T C T
+22 26778461 22:26778461A-G A G
+22 26780189 22:26780189G-A G A
+22 26780393 22:26780393G-C G C
+22 26781250 22:26781250C-T C T
+22 26781429 22:26781429T-C T C
+22 26782251 22:26782251A-G A G
+22 26782661 22:26782661T-C T C
+22 26782988 22:26782988C-T C T
+22 26785020 22:26785020C-T C T
+22 26786522 22:26786522T-C T C
+22 26787309 22:26787309T-G T G
+22 26787544 22:26787544T-C T C
+22 26787912 22:26787912T-C T C
+22 26788052 22:26788052T-C T C
+22 26788310 22:26788310A-G A G
+22 26788947 22:26788947C-T C T
+22 26789768 22:26789768A-G A G
+22 26789849 22:26789849G-A G A
+22 26789906 22:26789906T-C T C
+22 26789971 22:26789971C-T C T
+22 26790039 22:26790039T-C T C
+22 26790040 22:26790040G-T G T
+22 26790274 22:26790274T-C T C
+22 26790355 22:26790355G-A G A
+22 26790394 22:26790394T-C T C
+22 26790441 22:26790441A-C A C
+22 26790704 22:26790704G-T G T
+22 26790885 22:26790885G-C G C
+22 26790999 22:26790999G-T G T
+22 26791256 22:26791256G-T G T
+22 26791352 22:26791352G-A G A
+22 26791431 22:26791431C-T C T
+22 26792113 22:26792113A-G A G
+22 26792236 22:26792236C-T C T
+22 26792576 22:26792576T-C T C
+22 26792596 22:26792596G-A G A
+22 26792643 22:26792643T-C T C
+22 26792793 22:26792793A-G A G
+22 26793190 22:26793190T-C T C
+22 26793593 22:26793593T-C T C
+22 26793654 22:26793654T-C T C
+22 26794102 22:26794102G-A G A
+22 26794424 22:26794424T-A T A
+22 26794625 22:26794625C-A C A
+22 26794692 22:26794692C-T C T
+22 26794825 22:26794825C-T C T
+22 26794938 22:26794938T-C T C
+22 26795029 22:26795029C-T C T
+22 26795139 22:26795139C-G C G
+22 26795840 22:26795840G-A G A
+22 26796475 22:26796475A-G A G
+22 26796526 22:26796526A-G A G
+22 26796550 22:26796550C-T C T
+22 26796863 22:26796863A-G A G
+22 26797139 22:26797139C-T C T
+22 26797142 22:26797142A-T A T
+22 26797692 22:26797692C-T C T
+22 26798492 22:26798492C-A C A
+22 26798774 22:26798774T-G T G
+22 26799697 22:26799697G-A G A
+22 26799850 22:26799850T-A T A
+22 26800009 22:26800009C-T C T
+22 26800199 22:26800199A-C A C
+22 26800409 22:26800409A-G A G
+22 26800975 22:26800975G-A G A
+22 26801287 22:26801287G-A G A
+22 26801527 22:26801527A-G A G
+22 26803311 22:26803311T-C T C
+22 26803864 22:26803864T-C T C
+22 26803903 22:26803903T-C T C
+22 26804152 22:26804152G-A G A
+22 26804176 22:26804176G-A G A
+22 26804215 22:26804215C-T C T
+22 26804597 22:26804597G-C G C
+22 26804801 22:26804801C-T C T
+22 26805223 22:26805223A-G A G
+22 26805227 22:26805227T-C T C
+22 26805436 22:26805436A-G A G
+22 26806031 22:26806031C-T C T
+22 26806710 22:26806710T-G T G
+22 26807117 22:26807117C-T C T
+22 26809055 22:26809055G-A G A
+22 26809183 22:26809183C-T C T
+22 26811229 22:26811229G-A G A
+22 26811387 22:26811387G-A G A
+22 26811897 22:26811897G-C G C
+22 26812632 22:26812632T-C T C
+22 26812913 22:26812913A-G A G
+22 26813452 22:26813452C-T C T
+22 26814608 22:26814608G-A G A
+22 26818269 22:26818269G-A G A
+22 26818675 22:26818675C-T C T
+22 26821469 22:26821469C-T C T
+22 26821686 22:26821686C-T C T
+22 26821733 22:26821733T-G T G
+22 26822155 22:26822155G-A G A
+22 26822713 22:26822713C-G C G
+22 26823840 22:26823840G-C G C
+22 26823871 22:26823871G-T G T
+22 26824110 22:26824110G-T G T
+22 26825082 22:26825082C-G C G
+22 26825774 22:26825774C-T C T
+22 26825776 22:26825776C-T C T
+22 26826110 22:26826110C-T C T
+22 26826220 22:26826220A-G A G
+22 26827335 22:26827335T-G T G
+22 26829023 22:26829023G-A G A
+22 26829914 22:26829914T-C T C
+22 26830285 22:26830285A-G A G
+22 26830316 22:26830316G-A G A
+22 26831077 22:26831077A-G A G
+22 26831624 22:26831624C-T C T
+22 26832103 22:26832103G-A G A
+22 26832218 22:26832218G-A G A
+22 26832840 22:26832840T-A T A
+22 26833161 22:26833161G-C G C
+22 26833186 22:26833186G-A G A
+22 26833455 22:26833455C-T C T
+22 26833465 22:26833465C-T C T
+22 26835343 22:26835343C-T C T
+22 26835534 22:26835534A-G A G
+22 26836008 22:26836008T-C T C
+22 26836120 22:26836120G-A G A
+22 26836354 22:26836354G-T G T
+22 26836535 22:26836535C-T C T
+22 26836780 22:26836780T-C T C
+22 26837672 22:26837672C-T C T
+22 26839657 22:26839657T-A T A
+22 26840477 22:26840477C-T C T
+22 26841177 22:26841177G-A G A
+22 26841279 22:26841279G-A G A
+22 26841519 22:26841519G-A G A
+22 26842818 22:26842818T-C T C
+22 26843916 22:26843916C-T C T
+22 26844146 22:26844146G-A G A
+22 26844658 22:26844658A-T A T
+22 26844769 22:26844769T-C T C
+22 26844955 22:26844955C-A C A
+22 26845422 22:26845422G-A G A
+22 26845446 22:26845446G-A G A
+22 26846304 22:26846304G-A G A
+22 26846690 22:26846690G-A G A
+22 26847237 22:26847237G-A G A
+22 26851828 22:26851828A-G A G
+22 26852157 22:26852157A-G A G
+22 26852926 22:26852926C-A C A
+22 26853905 22:26853905C-A C A
+22 26854441 22:26854441G-A G A
+22 26854682 22:26854682T-C T C
+22 26854760 22:26854760C-T C T
+22 26856738 22:26856738C-T C T
+22 26857599 22:26857599G-A G A
+22 26857615 22:26857615G-C G C
+22 26858108 22:26858108A-G A G
+22 26858337 22:26858337G-T G T
+22 26859086 22:26859086T-C T C
+22 26859465 22:26859465G-T G T
+22 26859524 22:26859524A-C A C
+22 26859942 22:26859942C-T C T
+22 26860269 22:26860269G-C G C
+22 26861545 22:26861545A-G A G
+22 26861721 22:26861721T-C T C
+22 26862041 22:26862041G-A G A
+22 26862153 22:26862153C-A C A
+22 26862212 22:26862212T-C T C
+22 26863032 22:26863032G-T G T
+22 26863093 22:26863093C-T C T
+22 26863559 22:26863559T-C T C
+22 26863639 22:26863639A-G A G
+22 26864074 22:26864074G-A G A
+22 26864395 22:26864395T-C T C
+22 26864658 22:26864658A-G A G
+22 26865040 22:26865040T-C T C
+22 26865054 22:26865054A-G A G
+22 26865238 22:26865238T-C T C
+22 26865803 22:26865803G-A G A
+22 26865973 22:26865973G-A G A
+22 26867490 22:26867490G-A G A
+22 26867655 22:26867655C-T C T
+22 26868490 22:26868490C-T C T
+22 26869383 22:26869383G-A G A
+22 26870502 22:26870502T-C T C
+22 26870609 22:26870609C-T C T
+22 26870985 22:26870985A-G A G
+22 26871068 22:26871068C-T C T
+22 26873397 22:26873397C-A C A
+22 26873415 22:26873415G-A G A
+22 26874104 22:26874104C-T C T
+22 26874462 22:26874462G-A G A
+22 26874614 22:26874614T-C T C
+22 26875370 22:26875370C-T C T
+22 26876830 22:26876830C-T C T
+22 26876881 22:26876881C-G C G
+22 26877463 22:26877463G-A G A
+22 26877539 22:26877539C-T C T
+22 26877981 22:26877981G-A G A
+22 26878024 22:26878024A-G A G
+22 26878967 22:26878967T-C T C
+22 26879091 22:26879091G-A G A
+22 26879297 22:26879297G-C G C
+22 26879500 22:26879500G-C G C
+22 26879562 22:26879562A-G A G
+22 26879563 22:26879563T-C T C
+22 26879691 22:26879691T-C T C
+22 26879823 22:26879823C-A C A
+22 26880556 22:26880556T-C T C
+22 26880921 22:26880921G-T G T
+22 26881146 22:26881146T-C T C
+22 26882142 22:26882142G-A G A
+22 26883565 22:26883565G-A G A
+22 26884039 22:26884039G-A G A
+22 26886594 22:26886594A-G A G
+22 26886702 22:26886702T-G T G
+22 26887829 22:26887829A-G A G
+22 26888725 22:26888725T-C T C
+22 26889564 22:26889564C-T C T
+22 26890682 22:26890682C-T C T
+22 26891289 22:26891289G-C G C
+22 26891382 22:26891382G-C G C
+22 26891808 22:26891808C-T C T
+22 26891823 22:26891823C-G C G
+22 26892898 22:26892898C-T C T
+22 26893912 22:26893912G-A G A
+22 26894117 22:26894117A-G A G
+22 26894263 22:26894263T-C T C
+22 26894985 22:26894985C-T C T
+22 26895061 22:26895061G-A G A
+22 26895337 22:26895337G-A G A
+22 26895736 22:26895736T-A T A
+22 26895957 22:26895957T-C T C
+22 26896415 22:26896415A-G A G
+22 26896665 22:26896665C-T C T
+22 26896710 22:26896710T-C T C
+22 26896891 22:26896891C-G C G
+22 26898242 22:26898242A-G A G
+22 26898891 22:26898891C-T C T
+22 26898962 22:26898962G-C G C
+22 26899474 22:26899474T-C T C
+22 26901230 22:26901230G-C G C
+22 26903959 22:26903959C-T C T
+22 26904541 22:26904541G-A G A
+22 26904965 22:26904965C-T C T
+22 26905708 22:26905708C-G C G
+22 26907201 22:26907201A-G A G
+22 26907899 22:26907899C-T C T
+22 26908433 22:26908433C-T C T
+22 26909750 22:26909750A-G A G
+22 26910095 22:26910095G-A G A
+22 26910295 22:26910295A-G A G
+22 26910993 22:26910993T-C T C
+22 26911418 22:26911418A-G A G
+22 26913264 22:26913264G-A G A
+22 26914151 22:26914151T-C T C
+22 26914835 22:26914835A-C A C
+22 26914850 22:26914850G-A G A
+22 26915165 22:26915165C-T C T
+22 26915245 22:26915245G-A G A
+22 26915364 22:26915364T-C T C
+22 26915762 22:26915762T-C T C
+22 26915783 22:26915783T-G T G
+22 26915964 22:26915964T-C T C
+22 26916043 22:26916043T-C T C
+22 26916308 22:26916308A-G A G
+22 26916411 22:26916411G-A G A
+22 26916583 22:26916583G-A G A
+22 26916722 22:26916722C-T C T
+22 26916999 22:26916999A-G A G
+22 26917052 22:26917052A-T A T
+22 26917189 22:26917189T-C T C
+22 26917470 22:26917470G-A G A
+22 26917626 22:26917626A-G A G
+22 26918860 22:26918860T-C T C
+22 26919613 22:26919613T-C T C
+22 26920048 22:26920048T-C T C
+22 26920270 22:26920270T-C T C
+22 26920312 22:26920312G-A G A
+22 26921725 22:26921725A-G A G
+22 26922534 22:26922534A-T A T
+22 26922545 22:26922545A-C A C
+22 26922694 22:26922694G-A G A
+22 26922769 22:26922769T-C T C
+22 26923155 22:26923155T-C T C
+22 26923325 22:26923325G-A G A
+22 26923342 22:26923342C-T C T
+22 26923416 22:26923416C-G C G
+22 26923487 22:26923487C-G C G
+22 26923511 22:26923511C-G C G
+22 26923907 22:26923907T-C T C
+22 26924149 22:26924149C-T C T
+22 26924312 22:26924312C-T C T
+22 26924336 22:26924336C-T C T
+22 26924456 22:26924456G-A G A
+22 26924535 22:26924535C-T C T
+22 26924751 22:26924751C-T C T
+22 26924995 22:26924995A-G A G
+22 26925305 22:26925305C-T C T
+22 26925500 22:26925500A-G A G
+22 26925782 22:26925782G-C G C
+22 26925834 22:26925834T-A T A
+22 26925953 22:26925953G-A G A
+22 26926047 22:26926047A-G A G
+22 26926152 22:26926152A-G A G
+22 26927221 22:26927221T-C T C
+22 26928135 22:26928135G-A G A
+22 26928446 22:26928446C-T C T
+22 26929088 22:26929088G-A G A
+22 26929173 22:26929173C-G C G
+22 26929237 22:26929237G-T G T
+22 26929814 22:26929814A-G A G
+22 26930065 22:26930065C-T C T
+22 26931221 22:26931221C-T C T
+22 26932150 22:26932150G-A G A
+22 26933195 22:26933195C-A C A
+22 26934720 22:26934720C-T C T
+22 26934746 22:26934746A-G A G
+22 26935602 22:26935602A-C A C
+22 26935969 22:26935969C-T C T
+22 26936108 22:26936108A-G A G
+22 26936897 22:26936897G-A G A
+22 26937087 22:26937087C-A C A
+22 26937321 22:26937321G-A G A
+22 26937327 22:26937327C-G C G
+22 26939781 22:26939781T-C T C
+22 26939992 22:26939992C-T C T
+22 26940428 22:26940428G-A G A
+22 26941223 22:26941223A-G A G
+22 26941260 22:26941260G-C G C
+22 26941768 22:26941768T-G T G
+22 26941826 22:26941826A-G A G
+22 26942127 22:26942127A-G A G
+22 26942551 22:26942551C-T C T
+22 26943645 22:26943645G-A G A
+22 26944268 22:26944268G-A G A
+22 26945043 22:26945043C-T C T
+22 26945288 22:26945288C-T C T
+22 26945541 22:26945541T-C T C
+22 26945702 22:26945702C-T C T
+22 26945961 22:26945961A-G A G
+22 26945962 22:26945962T-C T C
+22 26946699 22:26946699A-C A C
+22 26947089 22:26947089C-G C G
+22 26947093 22:26947093T-C T C
+22 26947628 22:26947628G-A G A
+22 26948006 22:26948006G-A G A
+22 26948118 22:26948118G-A G A
+22 26948221 22:26948221G-A G A
+22 26948466 22:26948466C-A C A
+22 26948487 22:26948487C-T C T
+22 26948588 22:26948588G-C G C
+22 26948694 22:26948694G-A G A
+22 26948797 22:26948797A-G A G
+22 26948800 22:26948800A-C A C
+22 26948884 22:26948884C-G C G
+22 26948887 22:26948887A-G A G
+22 26948957 22:26948957C-T C T
+22 26949133 22:26949133A-C A C
+22 26949650 22:26949650G-A G A
+22 26949883 22:26949883C-T C T
+22 26949965 22:26949965C-G C G
+22 26950058 22:26950058G-A G A
+22 26950816 22:26950816A-T A T
+22 26951317 22:26951317A-G A G
+22 26951589 22:26951589G-A G A
+22 26951971 22:26951971T-G T G
+22 26952363 22:26952363A-G A G
+22 26952508 22:26952508A-G A G
+22 26953324 22:26953324T-C T C
+22 26954578 22:26954578T-C T C
+22 26954673 22:26954673G-C G C
+22 26954725 22:26954725G-A G A
+22 26954800 22:26954800C-T C T
+22 26955158 22:26955158C-T C T
+22 26955226 22:26955226A-G A G
+22 26955286 22:26955286T-C T C
+22 26955377 22:26955377T-A T A
+22 26955520 22:26955520C-T C T
+22 26955854 22:26955854C-G C G
+22 26955896 22:26955896C-T C T
+22 26955934 22:26955934T-C T C
+22 26955990 22:26955990G-T G T
+22 26956121 22:26956121G-A G A
+22 26956392 22:26956392T-C T C
+22 26956432 22:26956432G-A G A
+22 26956495 22:26956495A-G A G
+22 26957070 22:26957070T-C T C
+22 26957136 22:26957136T-C T C
+22 26957284 22:26957284C-A C A
+22 26957471 22:26957471C-T C T
+22 26957774 22:26957774T-C T C
+22 26957782 22:26957782G-A G A
+22 26958104 22:26958104A-G A G
+22 26958182 22:26958182G-A G A
+22 26958318 22:26958318C-T C T
+22 26958331 22:26958331C-T C T
+22 26958342 22:26958342G-A G A
+22 26958393 22:26958393T-C T C
+22 26958481 22:26958481C-G C G
+22 26958668 22:26958668C-T C T
+22 26958684 22:26958684G-A G A
+22 26959826 22:26959826G-A G A
+22 26959859 22:26959859G-A G A
+22 26960349 22:26960349G-C G C
+22 26960470 22:26960470A-G A G
+22 26960472 22:26960472G-A G A
+22 26960648 22:26960648C-A C A
+22 26960689 22:26960689T-C T C
+22 26960789 22:26960789A-G A G
+22 26962033 22:26962033T-C T C
+22 26962478 22:26962478C-G C G
+22 26963030 22:26963030G-C G C
+22 26963438 22:26963438A-G A G
+22 26963743 22:26963743G-T G T
+22 26964988 22:26964988T-C T C
+22 26964990 22:26964990A-G A G
+22 26965361 22:26965361T-G T G
+22 26966602 22:26966602A-G A G
+22 26966816 22:26966816C-G C G
+22 26967163 22:26967163C-T C T
+22 26967373 22:26967373A-G A G
+22 26967499 22:26967499T-C T C
+22 26968211 22:26968211T-G T G
+22 26968506 22:26968506G-T G T
+22 26969061 22:26969061A-C A C
+22 26969250 22:26969250C-T C T
+22 26969331 22:26969331A-G A G
+22 26969802 22:26969802C-T C T
+22 26969857 22:26969857T-C T C
+22 26970016 22:26970016T-C T C
+22 26970787 22:26970787G-A G A
+22 26970846 22:26970846C-T C T
+22 26970902 22:26970902G-T G T
+22 26971155 22:26971155T-G T G
+22 26971735 22:26971735C-T C T
+22 26972177 22:26972177T-C T C
+22 26973773 22:26973773G-A G A
+22 26974172 22:26974172C-G C G
+22 26974741 22:26974741G-A G A
+22 26974887 22:26974887G-T G T
+22 26975097 22:26975097G-A G A
+22 26975517 22:26975517A-G A G
+22 26976369 22:26976369C-T C T
+22 26976545 22:26976545C-T C T
+22 26976771 22:26976771G-A G A
+22 26977252 22:26977252T-C T C
+22 26978340 22:26978340G-C G C
+22 26978376 22:26978376A-G A G
+22 26978387 22:26978387A-G A G
+22 26978847 22:26978847G-A G A
+22 26979169 22:26979169C-T C T
+22 26979600 22:26979600T-A T A
+22 26979748 22:26979748G-A G A
+22 26980075 22:26980075G-A G A
+22 26980543 22:26980543C-T C T
+22 26980582 22:26980582T-C T C
+22 26981039 22:26981039A-G A G
+22 26981240 22:26981240C-A C A
+22 26981662 22:26981662T-C T C
+22 26981802 22:26981802C-G C G
+22 26981879 22:26981879T-C T C
+22 26981941 22:26981941A-G A G
+22 26981947 22:26981947G-C G C
+22 26982025 22:26982025A-C A C
+22 26982066 22:26982066C-T C T
+22 26982359 22:26982359G-A G A
+22 26983287 22:26983287G-T G T
+22 26983507 22:26983507A-G A G
+22 26984471 22:26984471T-C T C
+22 26984636 22:26984636C-A C A
+22 26985738 22:26985738G-T G T
+22 26986315 22:26986315A-C A C
+22 26986826 22:26986826A-G A G
+22 26986875 22:26986875A-T A T
+22 26990610 22:26990610G-A G A
+22 26990807 22:26990807A-G A G
+22 26992220 22:26992220C-T C T
+22 26993706 22:26993706T-G T G
+22 26994007 22:26994007C-T C T
+22 26994275 22:26994275C-T C T
+22 26995967 22:26995967C-T C T
+22 26996946 22:26996946G-A G A
+22 26997184 22:26997184G-T G T
+22 26997275 22:26997275G-C G C
+22 26997342 22:26997342A-C A C
+22 26997482 22:26997482T-C T C
+22 26997730 22:26997730A-T A T
+22 26998799 22:26998799G-A G A
+22 26998961 22:26998961A-C A C
+22 26999358 22:26999358A-G A G
+22 26999420 22:26999420G-A G A
+22 26999465 22:26999465G-A G A
+22 26999593 22:26999593G-T G T
+22 26999781 22:26999781A-G A G
+22 27001689 22:27001689G-A G A
+22 27002223 22:27002223G-A G A
+22 27002392 22:27002392C-T C T
+22 27004089 22:27004089A-C A C
+22 27004298 22:27004298A-G A G
+22 27004300 22:27004300G-T G T
+22 27004902 22:27004902C-A C A
+22 27004964 22:27004964G-A G A
+22 27005122 22:27005122G-C G C
+22 27005158 22:27005158C-T C T
+22 27005194 22:27005194A-G A G
+22 27005470 22:27005470T-A T A
+22 27006136 22:27006136G-A G A
+22 27006143 22:27006143G-C G C
+22 27006189 22:27006189G-A G A
+22 27006308 22:27006308C-G C G
+22 27006698 22:27006698C-T C T
+22 27007269 22:27007269G-A G A
+22 27009128 22:27009128G-T G T
+22 27011420 22:27011420C-T C T
+22 27011460 22:27011460G-A G A
+22 27012894 22:27012894A-G A G
+22 27014348 22:27014348G-A G A
+22 27014467 22:27014467C-T C T
+22 27017300 22:27017300G-T G T
+22 27017435 22:27017435C-G C G
+22 27019128 22:27019128C-T C T
+22 27020011 22:27020011A-G A G
+22 27020705 22:27020705C-T C T
+22 27020835 22:27020835G-A G A
+22 27021189 22:27021189A-G A G
+22 27021401 22:27021401G-A G A
+22 27021425 22:27021425A-G A G
+22 27021457 22:27021457T-C T C
+22 27021936 22:27021936A-G A G
+22 27023681 22:27023681C-T C T
+22 27024504 22:27024504C-T C T
+22 27025661 22:27025661G-T G T
+22 27025786 22:27025786G-C G C
+22 27025879 22:27025879T-C T C
+22 27026804 22:27026804C-T C T
+22 27026923 22:27026923G-A G A
+22 27027214 22:27027214C-G C G
+22 27027247 22:27027247T-C T C
+22 27027358 22:27027358T-A T A
+22 27027761 22:27027761A-C A C
+22 27027914 22:27027914T-A T A
+22 27027942 22:27027942C-T C T
+22 27028449 22:27028449C-T C T
+22 27028829 22:27028829G-A G A
+22 27028899 22:27028899T-C T C
+22 27029072 22:27029072C-T C T
+22 27029284 22:27029284G-A G A
+22 27029316 22:27029316G-A G A
+22 27029393 22:27029393C-T C T
+22 27029401 22:27029401G-A G A
+22 27029472 22:27029472G-A G A
+22 27029489 22:27029489A-G A G
+22 27029545 22:27029545A-G A G
+22 27029861 22:27029861T-C T C
+22 27030951 22:27030951G-T G T
+22 27030998 22:27030998T-C T C
+22 27031721 22:27031721A-C A C
+22 27033263 22:27033263C-T C T
+22 27033321 22:27033321T-C T C
+22 27033414 22:27033414C-G C G
+22 27033967 22:27033967C-T C T
+22 27034351 22:27034351T-G T G
+22 27035265 22:27035265A-G A G
+22 27036505 22:27036505T-C T C
+22 27037688 22:27037688G-C G C
+22 27037919 22:27037919T-C T C
+22 27038299 22:27038299G-C G C
+22 27038708 22:27038708C-G C G
+22 27038853 22:27038853A-G A G
+22 27038865 22:27038865G-T G T
+22 27039678 22:27039678A-G A G
+22 27039994 22:27039994G-A G A
+22 27040103 22:27040103T-C T C
+22 27040942 22:27040942T-C T C
+22 27041283 22:27041283C-G C G
+22 27041513 22:27041513G-C G C
+22 27042106 22:27042106C-T C T
+22 27042828 22:27042828G-A G A
+22 27043233 22:27043233C-G C G
+22 27043594 22:27043594T-C T C
+22 27043728 22:27043728G-T G T
+22 27043811 22:27043811G-A G A
+22 27043883 22:27043883T-C T C
+22 27044184 22:27044184C-T C T
+22 27044317 22:27044317T-C T C
+22 27045504 22:27045504C-A C A
+22 27045740 22:27045740G-A G A
+22 27045898 22:27045898G-T G T
+22 27046149 22:27046149A-G A G
+22 27046662 22:27046662A-T A T
+22 27046685 22:27046685A-C A C
+22 27047254 22:27047254G-A G A
+22 27048007 22:27048007G-T G T
+22 27048046 22:27048046C-T C T
+22 27048408 22:27048408A-G A G
+22 27048588 22:27048588A-G A G
+22 27048858 22:27048858T-C T C
+22 27048920 22:27048920T-C T C
+22 27049011 22:27049011C-T C T
+22 27049032 22:27049032A-G A G
+22 27049119 22:27049119A-G A G
+22 27049979 22:27049979C-T C T
+22 27050196 22:27050196G-A G A
+22 27050912 22:27050912A-G A G
+22 27050953 22:27050953G-A G A
+22 27050962 22:27050962T-C T C
+22 27050968 22:27050968G-A G A
+22 27051299 22:27051299A-G A G
+22 27051338 22:27051338G-C G C
+22 27052334 22:27052334G-C G C
+22 27052508 22:27052508T-C T C
+22 27052582 22:27052582T-C T C
+22 27052890 22:27052890A-T A T
+22 27053120 22:27053120C-T C T
+22 27054179 22:27054179G-A G A
+22 27054199 22:27054199C-T C T
+22 27054209 22:27054209T-C T C
+22 27054832 22:27054832A-G A G
+22 27054989 22:27054989G-A G A
+22 27055416 22:27055416G-A G A
+22 27055518 22:27055518T-G T G
+22 27056097 22:27056097A-G A G
+22 27056334 22:27056334G-A G A
+22 27056649 22:27056649G-T G T
+22 27056763 22:27056763C-G C G
+22 27057263 22:27057263G-A G A
+22 27057406 22:27057406G-A G A
+22 27057439 22:27057439T-G T G
+22 27057450 22:27057450T-A T A
+22 27057631 22:27057631C-T C T
+22 27057987 22:27057987C-A C A
+22 27058525 22:27058525C-T C T
+22 27058821 22:27058821C-T C T
+22 27059005 22:27059005T-G T G
+22 27059732 22:27059732A-G A G
+22 27059838 22:27059838C-T C T
+22 27060135 22:27060135C-T C T
+22 27060536 22:27060536T-C T C
+22 27060641 22:27060641C-T C T
+22 27060894 22:27060894C-A C A
+22 27060927 22:27060927G-A G A
+22 27061791 22:27061791G-A G A
+22 27061937 22:27061937C-T C T
+22 27062038 22:27062038T-C T C
+22 27062122 22:27062122G-C G C
+22 27062296 22:27062296G-A G A
+22 27062592 22:27062592G-A G A
+22 27062669 22:27062669G-A G A
+22 27062795 22:27062795C-T C T
+22 27063396 22:27063396C-T C T
+22 27063621 22:27063621G-C G C
+22 27063706 22:27063706A-T A T
+22 27063804 22:27063804G-C G C
+22 27064287 22:27064287G-A G A
+22 27064494 22:27064494C-T C T
+22 27064576 22:27064576G-A G A
+22 27064979 22:27064979T-C T C
+22 27065117 22:27065117A-G A G
+22 27065224 22:27065224G-A G A
+22 27065477 22:27065477A-T A T
+22 27065681 22:27065681G-A G A
+22 27065794 22:27065794C-T C T
+22 27066535 22:27066535A-G A G
+22 27067045 22:27067045G-T G T
+22 27067224 22:27067224G-T G T
+22 27067643 22:27067643A-G A G
+22 27067792 22:27067792C-T C T
+22 27068052 22:27068052A-T A T
+22 27068071 22:27068071G-A G A
+22 27068592 22:27068592G-A G A
+22 27068702 22:27068702C-A C A
+22 27069254 22:27069254G-T G T
+22 27069439 22:27069439G-A G A
+22 27069557 22:27069557C-T C T
+22 27069835 22:27069835G-A G A
+22 27069907 22:27069907A-T A T
+22 27070451 22:27070451C-G C G
+22 27070749 22:27070749C-T C T
+22 27071694 22:27071694G-A G A
+22 27072140 22:27072140G-A G A
+22 27072146 22:27072146C-T C T
+22 27072961 22:27072961T-C T C
+22 27073259 22:27073259T-G T G
+22 27073339 22:27073339A-G A G
+22 27073550 22:27073550T-C T C
+22 27073858 22:27073858A-C A C
+22 27074049 22:27074049A-G A G
+22 27074257 22:27074257G-A G A
+22 27074401 22:27074401C-T C T
+22 27074685 22:27074685A-G A G
+22 27074768 22:27074768A-G A G
+22 27074845 22:27074845G-A G A
+22 27075196 22:27075196C-T C T
+22 27075281 22:27075281T-C T C
+22 27075975 22:27075975G-A G A
+22 27076033 22:27076033C-T C T
+22 27076305 22:27076305C-T C T
+22 27076576 22:27076576C-T C T
+22 27076596 22:27076596T-C T C
+22 27076850 22:27076850T-C T C
+22 27076984 22:27076984C-T C T
+22 27077074 22:27077074A-G A G
+22 27077231 22:27077231C-T C T
+22 27078466 22:27078466A-G A G
+22 27078560 22:27078560T-C T C
+22 27078836 22:27078836G-A G A
+22 27078955 22:27078955G-T G T
+22 27079188 22:27079188G-T G T
+22 27080150 22:27080150T-C T C
+22 27081196 22:27081196T-G T G
+22 27081362 22:27081362T-C T C
+22 27081945 22:27081945C-T C T
+22 27081979 22:27081979A-C A C
+22 27082103 22:27082103G-A G A
+22 27082153 22:27082153G-A G A
+22 27082723 22:27082723A-T A T
+22 27082992 22:27082992C-A C A
+22 27083706 22:27083706T-C T C
+22 27084303 22:27084303C-T C T
+22 27084655 22:27084655C-T C T
+22 27084772 22:27084772A-G A G
+22 27085223 22:27085223G-A G A
+22 27085310 22:27085310A-G A G
+22 27085338 22:27085338G-A G A
+22 27085491 22:27085491G-T G T
+22 27085554 22:27085554C-T C T
+22 27086087 22:27086087C-G C G
+22 27086367 22:27086367C-T C T
+22 27086668 22:27086668C-T C T
+22 27086990 22:27086990C-T C T
+22 27087307 22:27087307T-A T A
+22 27087385 22:27087385C-T C T
+22 27087410 22:27087410A-G A G
+22 27087647 22:27087647G-C G C
+22 27088015 22:27088015G-C G C
+22 27088080 22:27088080G-C G C
+22 27088211 22:27088211T-A T A
+22 27088298 22:27088298T-C T C
+22 27088391 22:27088391G-A G A
+22 27088638 22:27088638C-T C T
+22 27088786 22:27088786G-A G A
+22 27089325 22:27089325G-C G C
+22 27089329 22:27089329G-T G T
+22 27089570 22:27089570A-G A G
+22 27089655 22:27089655G-T G T
+22 27090179 22:27090179C-T C T
+22 27090640 22:27090640A-G A G
+22 27091167 22:27091167T-C T C
+22 27091248 22:27091248T-C T C
+22 27091364 22:27091364G-C G C
+22 27091750 22:27091750G-A G A
+22 27092259 22:27092259T-C T C
+22 27092955 22:27092955C-T C T
+22 27093045 22:27093045C-T C T
+22 27093109 22:27093109T-G T G
+22 27093202 22:27093202T-A T A
+22 27093508 22:27093508A-G A G
+22 27094025 22:27094025C-T C T
+22 27094241 22:27094241A-C A C
+22 27094788 22:27094788A-G A G
+22 27095014 22:27095014C-T C T
+22 27095301 22:27095301G-A G A
+22 27095710 22:27095710G-A G A
+22 27095712 22:27095712G-A G A
+22 27095757 22:27095757A-T A T
+22 27095772 22:27095772T-C T C
+22 27095998 22:27095998C-A C A
+22 27096328 22:27096328T-C T C
+22 27096893 22:27096893T-A T A
+22 27097842 22:27097842C-G C G
+22 27098841 22:27098841A-T A T
+22 27098842 22:27098842C-G C G
+22 27099288 22:27099288G-T G T
+22 27099768 22:27099768T-A T A
+22 27099830 22:27099830G-T G T
+22 27099987 22:27099987G-A G A
+22 27100019 22:27100019A-G A G
+22 27100912 22:27100912G-T G T
+22 27101376 22:27101376C-T C T
+22 27102141 22:27102141C-T C T
+22 27102559 22:27102559G-A G A
+22 27103536 22:27103536A-T A T
+22 27103676 22:27103676A-G A G
+22 27103786 22:27103786A-G A G
+22 27104302 22:27104302C-T C T
+22 27104440 22:27104440T-C T C
+22 27104705 22:27104705A-G A G
+22 27105857 22:27105857A-C A C
+22 27107544 22:27107544A-G A G
+22 27108047 22:27108047C-T C T
+22 27108217 22:27108217G-A G A
+22 27108313 22:27108313G-A G A
+22 27108660 22:27108660A-G A G
+22 27108681 22:27108681G-A G A
+22 27109000 22:27109000A-G A G
+22 27109112 22:27109112A-G A G
+22 27109475 22:27109475T-C T C
+22 27110019 22:27110019G-T G T
+22 27110031 22:27110031T-A T A
+22 27110259 22:27110259C-T C T
+22 27110386 22:27110386C-G C G
+22 27110827 22:27110827C-T C T
+22 27110974 22:27110974C-T C T
+22 27111321 22:27111321T-C T C
+22 27111968 22:27111968C-A C A
+22 27112693 22:27112693A-G A G
+22 27112769 22:27112769C-G C G
+22 27113511 22:27113511G-T G T
+22 27113514 22:27113514G-T G T
+22 27113697 22:27113697A-G A G
+22 27113741 22:27113741G-A G A
+22 27113823 22:27113823A-G A G
+22 27114658 22:27114658T-C T C
+22 27115832 22:27115832G-A G A
+22 27115907 22:27115907C-T C T
+22 27116364 22:27116364G-A G A
+22 27116568 22:27116568A-G A G
+22 27117672 22:27117672A-G A G
+22 27117690 22:27117690A-G A G
+22 27118181 22:27118181T-G T G
+22 27118389 22:27118389G-A G A
+22 27118416 22:27118416A-G A G
+22 27119061 22:27119061C-T C T
+22 27119619 22:27119619T-C T C
+22 27119629 22:27119629A-T A T
+22 27119714 22:27119714G-C G C
+22 27119905 22:27119905C-T C T
+22 27120359 22:27120359G-A G A
+22 27120433 22:27120433A-T A T
+22 27121273 22:27121273G-T G T
+22 27121364 22:27121364A-G A G
+22 27121456 22:27121456T-C T C
+22 27122082 22:27122082C-G C G
+22 27122480 22:27122480C-T C T
+22 27122923 22:27122923G-T G T
+22 27123432 22:27123432A-C A C
+22 27123638 22:27123638G-T G T
+22 27123944 22:27123944T-C T C
+22 27124543 22:27124543T-A T A
+22 27124742 22:27124742A-G A G
+22 27124942 22:27124942C-G C G
+22 27125320 22:27125320T-C T C
+22 27125325 22:27125325C-T C T
+22 27125763 22:27125763A-T A T
+22 27127596 22:27127596T-G T G
+22 27127610 22:27127610A-G A G
+22 27127717 22:27127717C-A C A
+22 27127779 22:27127779G-A G A
+22 27128097 22:27128097C-T C T
+22 27128276 22:27128276C-A C A
+22 27129463 22:27129463C-A C A
+22 27129606 22:27129606A-G A G
+22 27129747 22:27129747A-G A G
+22 27129793 22:27129793A-G A G
+22 27130617 22:27130617A-G A G
+22 27130973 22:27130973G-T G T
+22 27132550 22:27132550C-T C T
+22 27133584 22:27133584C-A C A
+22 27133681 22:27133681A-G A G
+22 27133816 22:27133816G-A G A
+22 27134717 22:27134717C-T C T
+22 27134863 22:27134863G-T G T
+22 27135510 22:27135510C-G C G
+22 27136298 22:27136298A-G A G
+22 27136316 22:27136316G-A G A
+22 27137135 22:27137135T-C T C
+22 27137639 22:27137639A-C A C
+22 27137752 22:27137752T-C T C
+22 27137761 22:27137761T-C T C
+22 27139303 22:27139303A-G A G
+22 27140251 22:27140251T-C T C
+22 27140443 22:27140443A-G A G
+22 27141026 22:27141026G-A G A
+22 27141605 22:27141605G-T G T
+22 27141810 22:27141810A-G A G
+22 27142276 22:27142276A-G A G
+22 27142366 22:27142366C-T C T
+22 27143245 22:27143245G-A G A
+22 27143319 22:27143319A-G A G
+22 27143425 22:27143425A-G A G
+22 27144070 22:27144070T-C T C
+22 27144107 22:27144107G-A G A
+22 27144233 22:27144233T-C T C
+22 27144367 22:27144367A-G A G
+22 27144374 22:27144374C-T C T
+22 27144398 22:27144398C-T C T
+22 27144722 22:27144722G-A G A
+22 27144734 22:27144734C-T C T
+22 27145021 22:27145021G-A G A
+22 27145639 22:27145639T-A T A
+22 27145640 22:27145640G-A G A
+22 27145759 22:27145759C-G C G
+22 27145885 22:27145885T-C T C
+22 27145892 22:27145892G-T G T
+22 27145901 22:27145901C-T C T
+22 27145953 22:27145953G-A G A
+22 27146203 22:27146203C-T C T
+22 27146288 22:27146288C-T C T
+22 27146534 22:27146534C-T C T
+22 27147163 22:27147163G-A G A
+22 27148121 22:27148121T-C T C
+22 27149053 22:27149053C-T C T
+22 27149561 22:27149561T-C T C
+22 27149725 22:27149725A-G A G
+22 27149768 22:27149768G-A G A
+22 27150735 22:27150735A-G A G
+22 27152008 22:27152008C-A C A
+22 27152775 22:27152775T-G T G
+22 27152964 22:27152964G-T G T
+22 27153246 22:27153246G-T G T
+22 27153492 22:27153492A-G A G
+22 27157820 22:27157820C-T C T
+22 27158663 22:27158663T-G T G
+22 27159832 22:27159832A-G A G
+22 27159903 22:27159903T-C T C
+22 27161035 22:27161035A-G A G
+22 27161060 22:27161060G-A G A
+22 27161589 22:27161589C-T C T
+22 27161921 22:27161921G-A G A
+22 27162907 22:27162907A-G A G
+22 27163290 22:27163290G-C G C
+22 27163444 22:27163444C-T C T
+22 27163682 22:27163682T-G T G
+22 27163806 22:27163806G-A G A
+22 27163999 22:27163999T-C T C
+22 27164962 22:27164962C-T C T
+22 27166540 22:27166540A-G A G
+22 27167348 22:27167348C-A C A
+22 27167440 22:27167440G-C G C
+22 27167448 22:27167448G-A G A
+22 27167494 22:27167494T-A T A
+22 27169845 22:27169845C-A C A
+22 27169917 22:27169917T-C T C
+22 27170725 22:27170725T-G T G
+22 27170806 22:27170806G-T G T
+22 27171458 22:27171458G-A G A
+22 27171576 22:27171576C-G C G
+22 27171638 22:27171638G-A G A
+22 27171701 22:27171701T-C T C
+22 27172005 22:27172005G-A G A
+22 27172826 22:27172826A-C A C
+22 27173098 22:27173098C-G C G
+22 27173486 22:27173486G-T G T
+22 27173534 22:27173534T-C T C
+22 27173999 22:27173999A-C A C
+22 27174663 22:27174663T-A T A
+22 27174996 22:27174996G-A G A
+22 27175038 22:27175038C-T C T
+22 27175858 22:27175858G-A G A
+22 27176717 22:27176717A-T A T
+22 27177355 22:27177355A-G A G
+22 27177745 22:27177745C-T C T
+22 27178074 22:27178074G-A G A
+22 27179384 22:27179384G-A G A
+22 27179453 22:27179453G-A G A
+22 27179493 22:27179493A-G A G
+22 27179946 22:27179946G-A G A
+22 27180156 22:27180156C-T C T
+22 27180392 22:27180392C-T C T
+22 27182539 22:27182539A-G A G
+22 27183491 22:27183491A-G A G
+22 27184169 22:27184169A-G A G
+22 27185955 22:27185955T-G T G
+22 27186111 22:27186111T-C T C
+22 27186321 22:27186321G-A G A
+22 27186355 22:27186355G-A G A
+22 27186715 22:27186715A-C A C
+22 27187635 22:27187635A-G A G
+22 27187642 22:27187642A-C A C
+22 27187705 22:27187705T-C T C
+22 27187841 22:27187841C-T C T
+22 27188093 22:27188093C-A C A
+22 27188135 22:27188135T-C T C
+22 27188190 22:27188190G-A G A
+22 27188322 22:27188322T-G T G
+22 27188543 22:27188543C-T C T
+22 27188885 22:27188885G-A G A
+22 27188902 22:27188902T-G T G
+22 27188947 22:27188947G-A G A
+22 27188964 22:27188964T-C T C
+22 27189042 22:27189042T-C T C
+22 27189536 22:27189536T-C T C
+22 27189774 22:27189774G-T G T
+22 27189835 22:27189835G-A G A
+22 27190216 22:27190216G-C G C
+22 27190706 22:27190706G-A G A
+22 27190734 22:27190734G-A G A
+22 27190866 22:27190866C-T C T
+22 27191001 22:27191001T-C T C
+22 27191259 22:27191259A-G A G
+22 27191643 22:27191643C-T C T
+22 27191848 22:27191848G-C G C
+22 27191942 22:27191942C-T C T
+22 27192401 22:27192401T-C T C
+22 27192460 22:27192460C-T C T
+22 27192863 22:27192863A-G A G
+22 27193830 22:27193830C-G C G
+22 27193844 22:27193844T-G T G
+22 27194087 22:27194087A-G A G
+22 27194628 22:27194628G-A G A
+22 27194757 22:27194757G-A G A
+22 27195033 22:27195033G-A G A
+22 27196477 22:27196477G-A G A
+22 27198719 22:27198719T-G T G
+22 27198800 22:27198800G-C G C
+22 27199237 22:27199237C-T C T
+22 27201909 22:27201909T-C T C
+22 27204754 22:27204754T-C T C
+22 27204921 22:27204921C-T C T
+22 27205534 22:27205534G-A G A
+22 27205681 22:27205681G-A G A
+22 27205766 22:27205766C-T C T
+22 27205841 22:27205841C-T C T
+22 27206134 22:27206134G-A G A
+22 27206227 22:27206227T-C T C
+22 27206289 22:27206289T-C T C
+22 27206530 22:27206530C-A C A
+22 27206672 22:27206672C-T C T
+22 27206864 22:27206864A-G A G
+22 27206962 22:27206962T-C T C
+22 27207439 22:27207439A-G A G
+22 27207525 22:27207525C-G C G
+22 27207855 22:27207855C-G C G
+22 27207950 22:27207950G-A G A
+22 27208048 22:27208048G-T G T
+22 27208157 22:27208157C-T C T
+22 27208165 22:27208165C-T C T
+22 27208222 22:27208222T-C T C
+22 27208422 22:27208422T-C T C
+22 27208711 22:27208711G-A G A
+22 27208861 22:27208861C-A C A
+22 27209017 22:27209017C-T C T
+22 27209132 22:27209132C-T C T
+22 27209227 22:27209227G-A G A
+22 27210691 22:27210691A-G A G
+22 27210985 22:27210985A-C A C
+22 27211083 22:27211083G-A G A
+22 27211191 22:27211191A-G A G
+22 27211502 22:27211502G-C G C
+22 27211572 22:27211572A-G A G
+22 27211876 22:27211876C-G C G
+22 27212043 22:27212043T-C T C
+22 27212674 22:27212674G-C G C
+22 27213199 22:27213199T-C T C
+22 27213968 22:27213968T-C T C
+22 27214141 22:27214141G-A G A
+22 27214161 22:27214161G-A G A
+22 27214989 22:27214989C-T C T
+22 27215976 22:27215976T-C T C
+22 27216426 22:27216426A-G A G
+22 27217018 22:27217018G-A G A
+22 27217038 22:27217038A-G A G
+22 27217919 22:27217919A-C A C
+22 27218272 22:27218272G-A G A
+22 27219371 22:27219371A-C A C
+22 27219881 22:27219881G-A G A
+22 27219992 22:27219992C-A C A
+22 27220257 22:27220257T-C T C
+22 27221365 22:27221365A-C A C
+22 27221959 22:27221959C-T C T
+22 27222059 22:27222059A-G A G
+22 27222286 22:27222286G-A G A
+22 27224108 22:27224108G-A G A
+22 27224492 22:27224492C-G C G
+22 27225299 22:27225299G-A G A
+22 27226407 22:27226407A-G A G
+22 27227219 22:27227219T-C T C
+22 27227454 22:27227454C-T C T
+22 27227852 22:27227852C-T C T
+22 27228195 22:27228195A-G A G
+22 27228712 22:27228712T-C T C
+22 27228910 22:27228910C-T C T
+22 27228977 22:27228977G-A G A
+22 27229346 22:27229346A-C A C
+22 27229888 22:27229888C-G C G
+22 27229977 22:27229977A-G A G
+22 27230386 22:27230386G-A G A
+22 27230983 22:27230983A-C A C
+22 27231130 22:27231130G-A G A
+22 27231303 22:27231303C-T C T
+22 27231403 22:27231403G-A G A
+22 27231633 22:27231633A-T A T
+22 27231668 22:27231668C-G C G
+22 27231916 22:27231916A-C A C
+22 27232049 22:27232049G-A G A
+22 27232360 22:27232360T-C T C
+22 27232480 22:27232480T-C T C
+22 27233255 22:27233255C-T C T
+22 27233505 22:27233505C-T C T
+22 27233656 22:27233656G-A G A
+22 27233705 22:27233705G-A G A
+22 27233813 22:27233813G-A G A
+22 27233872 22:27233872C-T C T
+22 27234114 22:27234114A-G A G
+22 27234171 22:27234171C-T C T
+22 27234290 22:27234290T-C T C
+22 27234422 22:27234422C-T C T
+22 27234623 22:27234623G-A G A
+22 27235331 22:27235331T-C T C
+22 27236071 22:27236071C-G C G
+22 27236166 22:27236166T-C T C
+22 27236175 22:27236175C-G C G
+22 27236439 22:27236439T-C T C
+22 27236603 22:27236603C-T C T
+22 27237330 22:27237330G-C G C
+22 27237856 22:27237856G-A G A
+22 27237893 22:27237893G-C G C
+22 27237926 22:27237926C-T C T
+22 27238390 22:27238390T-C T C
+22 27238805 22:27238805T-C T C
+22 27239805 22:27239805T-G T G
+22 27240025 22:27240025G-T G T
+22 27240239 22:27240239T-A T A
+22 27240293 22:27240293T-C T C
+22 27240456 22:27240456G-A G A
+22 27240659 22:27240659C-A C A
+22 27241464 22:27241464G-A G A
+22 27241644 22:27241644C-T C T
+22 27242048 22:27242048T-C T C
+22 27242642 22:27242642A-G A G
+22 27242952 22:27242952T-G T G
+22 27243234 22:27243234C-T C T
+22 27243295 22:27243295C-G C G
+22 27243665 22:27243665C-T C T
+22 27243919 22:27243919A-G A G
+22 27244109 22:27244109C-T C T
+22 27244507 22:27244507T-G T G
+22 27244685 22:27244685G-A G A
+22 27244876 22:27244876C-T C T
+22 27245137 22:27245137T-C T C
+22 27245222 22:27245222A-C A C
+22 27245262 22:27245262G-C G C
+22 27245312 22:27245312T-G T G
+22 27245342 22:27245342G-T G T
+22 27245485 22:27245485G-A G A
+22 27245565 22:27245565T-C T C
+22 27245627 22:27245627C-G C G
+22 27245963 22:27245963G-A G A
+22 27246070 22:27246070T-C T C
+22 27246218 22:27246218C-T C T
+22 27246537 22:27246537C-G C G
+22 27246556 22:27246556A-G A G
+22 27246836 22:27246836A-G A G
+22 27246926 22:27246926C-A C A
+22 27247107 22:27247107T-A T A
+22 27247201 22:27247201T-G T G
+22 27247357 22:27247357A-G A G
+22 27247770 22:27247770C-T C T
+22 27247913 22:27247913C-G C G
+22 27248025 22:27248025T-C T C
+22 27248779 22:27248779A-G A G
+22 27249140 22:27249140A-G A G
+22 27249352 22:27249352G-A G A
+22 27249884 22:27249884T-C T C
+22 27250195 22:27250195G-A G A
+22 27250280 22:27250280T-C T C
+22 27250696 22:27250696C-T C T
+22 27250786 22:27250786A-T A T
+22 27250981 22:27250981G-A G A
+22 27251367 22:27251367T-C T C
+22 27251479 22:27251479C-G C G
+22 27251670 22:27251670G-C G C
+22 27252185 22:27252185A-C A C
+22 27252454 22:27252454T-C T C
+22 27252843 22:27252843T-A T A
+22 27252859 22:27252859A-C A C
+22 27253020 22:27253020G-T G T
+22 27253343 22:27253343A-G A G
+22 27253353 22:27253353C-T C T
+22 27253560 22:27253560T-C T C
+22 27253791 22:27253791G-C G C
+22 27253905 22:27253905G-T G T
+22 27254122 22:27254122C-T C T
+22 27254456 22:27254456C-T C T
+22 27255148 22:27255148A-G A G
+22 27255413 22:27255413A-T A T
+22 27255464 22:27255464C-A C A
+22 27255675 22:27255675C-T C T
+22 27255690 22:27255690G-A G A
+22 27255849 22:27255849T-C T C
+22 27255935 22:27255935T-C T C
+22 27256080 22:27256080C-T C T
+22 27256295 22:27256295A-G A G
+22 27256542 22:27256542T-C T C
+22 27256543 22:27256543A-G A G
+22 27256928 22:27256928G-A G A
+22 27256942 22:27256942G-T G T
+22 27257220 22:27257220A-G A G
+22 27257243 22:27257243C-T C T
+22 27257321 22:27257321G-C G C
+22 27257411 22:27257411C-A C A
+22 27257658 22:27257658A-T A T
+22 27258265 22:27258265A-C A C
+22 27258572 22:27258572G-T G T
+22 27258653 22:27258653A-G A G
+22 27259079 22:27259079T-C T C
+22 27259584 22:27259584T-C T C
+22 27259889 22:27259889G-T G T
+22 27260639 22:27260639G-A G A
+22 27260683 22:27260683A-G A G
+22 27261049 22:27261049C-T C T
+22 27261517 22:27261517T-C T C
+22 27261577 22:27261577C-G C G
+22 27261845 22:27261845T-C T C
+22 27262569 22:27262569G-A G A
+22 27263046 22:27263046A-G A G
+22 27264501 22:27264501T-C T C
+22 27264668 22:27264668T-A T A
+22 27264880 22:27264880T-G T G
+22 27264886 22:27264886C-T C T
+22 27265239 22:27265239C-T C T
+22 27265990 22:27265990G-A G A
+22 27266267 22:27266267C-T C T
+22 27266472 22:27266472T-C T C
+22 27266723 22:27266723C-G C G
+22 27267178 22:27267178T-C T C
+22 27267344 22:27267344A-G A G
+22 27267587 22:27267587C-T C T
+22 27267611 22:27267611T-C T C
+22 27268143 22:27268143G-A G A
+22 27268535 22:27268535T-G T G
+22 27268551 22:27268551T-A T A
+22 27269249 22:27269249A-G A G
+22 27269250 22:27269250A-G A G
+22 27269938 22:27269938T-C T C
+22 27270068 22:27270068C-T C T
+22 27271077 22:27271077C-G C G
+22 27271607 22:27271607A-T A T
+22 27271926 22:27271926T-C T C
+22 27272395 22:27272395G-A G A
+22 27272399 22:27272399A-G A G
+22 27273064 22:27273064G-A G A
+22 27273096 22:27273096A-G A G
+22 27273238 22:27273238G-A G A
+22 27273854 22:27273854A-G A G
+22 27274445 22:27274445T-C T C
+22 27274575 22:27274575C-G C G
+22 27274681 22:27274681C-T C T
+22 27274720 22:27274720G-T G T
+22 27274743 22:27274743C-T C T
+22 27274880 22:27274880A-G A G
+22 27274898 22:27274898G-A G A
+22 27275240 22:27275240G-A G A
+22 27275776 22:27275776A-T A T
+22 27276234 22:27276234G-T G T
+22 27276295 22:27276295C-T C T
+22 27276452 22:27276452G-A G A
+22 27276602 22:27276602T-A T A
+22 27276761 22:27276761A-G A G
+22 27277262 22:27277262A-T A T
+22 27278614 22:27278614T-G T G
+22 27279559 22:27279559A-G A G
+22 27279702 22:27279702T-A T A
+22 27279749 22:27279749T-C T C
+22 27280626 22:27280626A-G A G
+22 27281209 22:27281209G-T G T
+22 27281884 22:27281884G-A G A
+22 27283289 22:27283289T-C T C
+22 27283521 22:27283521T-C T C
+22 27283680 22:27283680A-G A G
+22 27284022 22:27284022T-C T C
+22 27284064 22:27284064C-A C A
+22 27284142 22:27284142G-C G C
+22 27284240 22:27284240G-A G A
+22 27284363 22:27284363A-G A G
+22 27285154 22:27285154A-G A G
+22 27285261 22:27285261A-G A G
+22 27285813 22:27285813T-G T G
+22 27286733 22:27286733G-A G A
+22 27286859 22:27286859C-T C T
+22 27286864 22:27286864A-T A T
+22 27287053 22:27287053T-C T C
+22 27287323 22:27287323G-A G A
+22 27287669 22:27287669G-C G C
+22 27287869 22:27287869A-C A C
+22 27287946 22:27287946C-T C T
+22 27288005 22:27288005T-C T C
+22 27288251 22:27288251G-C G C
+22 27288263 22:27288263A-T A T
+22 27288275 22:27288275T-G T G
+22 27290612 22:27290612G-A G A
+22 27290892 22:27290892T-C T C
+22 27292868 22:27292868G-A G A
+22 27293295 22:27293295C-T C T
+22 27293494 22:27293494G-T G T
+22 27297698 22:27297698G-A G A
+22 27297719 22:27297719C-T C T
+22 27297757 22:27297757C-T C T
+22 27298530 22:27298530C-T C T
+22 27299366 22:27299366G-C G C
+22 27299411 22:27299411G-C G C
+22 27299487 22:27299487C-T C T
+22 27299662 22:27299662G-T G T
+22 27299731 22:27299731C-G C G
+22 27300463 22:27300463A-G A G
+22 27300715 22:27300715T-G T G
+22 27301137 22:27301137A-G A G
+22 27301435 22:27301435T-C T C
+22 27301462 22:27301462C-A C A
+22 27301478 22:27301478G-A G A
+22 27301931 22:27301931A-G A G
+22 27302126 22:27302126G-C G C
+22 27302631 22:27302631T-C T C
+22 27303145 22:27303145T-C T C
+22 27303561 22:27303561C-T C T
+22 27303755 22:27303755A-T A T
+22 27303979 22:27303979G-A G A
+22 27304394 22:27304394G-A G A
+22 27304495 22:27304495T-C T C
+22 27304645 22:27304645G-A G A
+22 27304672 22:27304672T-C T C
+22 27304735 22:27304735C-T C T
+22 27304933 22:27304933G-A G A
+22 27305180 22:27305180G-A G A
+22 27305562 22:27305562G-A G A
+22 27305781 22:27305781G-A G A
+22 27306830 22:27306830C-T C T
+22 27307722 22:27307722T-C T C
+22 27309798 22:27309798A-G A G
+22 27309981 22:27309981A-G A G
+22 27310116 22:27310116C-T C T
+22 27310221 22:27310221C-G C G
+22 27310310 22:27310310C-T C T
+22 27310378 22:27310378C-T C T
+22 27311292 22:27311292T-A T A
+22 27311370 22:27311370T-C T C
+22 27312304 22:27312304C-G C G
+22 27312335 22:27312335G-A G A
+22 27312985 22:27312985T-C T C
+22 27313437 22:27313437C-T C T
+22 27313765 22:27313765A-G A G
+22 27314016 22:27314016A-C A C
+22 27314070 22:27314070T-A T A
+22 27314113 22:27314113A-G A G
+22 27315723 22:27315723G-T G T
+22 27316264 22:27316264A-G A G
+22 27316368 22:27316368G-T G T
+22 27316435 22:27316435C-T C T
+22 27316491 22:27316491A-G A G
+22 27317070 22:27317070C-T C T
+22 27317339 22:27317339G-C G C
+22 27317437 22:27317437A-G A G
+22 27317686 22:27317686C-T C T
+22 27318987 22:27318987C-G C G
+22 27319097 22:27319097A-T A T
+22 27319468 22:27319468A-G A G
+22 27319992 22:27319992C-G C G
+22 27320076 22:27320076T-C T C
+22 27320093 22:27320093T-G T G
+22 27320185 22:27320185G-A G A
+22 27320473 22:27320473A-G A G
+22 27320679 22:27320679G-C G C
+22 27320800 22:27320800G-A G A
+22 27320975 22:27320975C-T C T
+22 27321172 22:27321172T-C T C
+22 27321338 22:27321338T-C T C
+22 27321581 22:27321581C-T C T
+22 27321959 22:27321959C-T C T
+22 27322073 22:27322073C-T C T
+22 27322217 22:27322217G-C G C
+22 27322774 22:27322774G-A G A
+22 27323117 22:27323117A-G A G
+22 27323171 22:27323171C-A C A
+22 27323179 22:27323179A-G A G
+22 27323203 22:27323203T-C T C
+22 27323221 22:27323221T-C T C
+22 27323304 22:27323304A-G A G
+22 27323463 22:27323463G-T G T
+22 27323691 22:27323691C-T C T
+22 27323867 22:27323867G-A G A
+22 27323871 22:27323871A-T A T
+22 27324152 22:27324152C-T C T
+22 27324326 22:27324326A-G A G
+22 27324536 22:27324536A-C A C
+22 27325049 22:27325049G-A G A
+22 27325416 22:27325416G-A G A
+22 27325600 22:27325600G-A G A
+22 27325768 22:27325768A-T A T
+22 27326221 22:27326221T-C T C
+22 27326615 22:27326615A-T A T
+22 27327202 22:27327202C-T C T
+22 27327701 22:27327701T-C T C
+22 27327741 22:27327741G-A G A
+22 27328131 22:27328131C-G C G
+22 27328145 22:27328145G-A G A
+22 27328318 22:27328318T-C T C
+22 27328440 22:27328440T-A T A
+22 27328598 22:27328598A-T A T
+22 27328787 22:27328787T-C T C
+22 27330332 22:27330332A-T A T
+22 27330420 22:27330420A-G A G
+22 27330559 22:27330559T-C T C
+22 27330652 22:27330652T-C T C
+22 27330896 22:27330896A-G A G
+22 27331206 22:27331206A-C A C
+22 27331244 22:27331244C-G C G
+22 27331293 22:27331293C-T C T
+22 27331506 22:27331506T-A T A
+22 27331577 22:27331577A-G A G
+22 27332018 22:27332018C-A C A
+22 27332590 22:27332590G-A G A
+22 27332684 22:27332684G-A G A
+22 27333485 22:27333485C-T C T
+22 27333519 22:27333519T-A T A
+22 27333553 22:27333553C-T C T
+22 27333719 22:27333719A-G A G
+22 27333729 22:27333729A-G A G
+22 27333770 22:27333770T-A T A
+22 27333791 22:27333791T-C T C
+22 27333794 22:27333794C-T C T
+22 27334054 22:27334054C-T C T
+22 27334150 22:27334150C-T C T
+22 27334160 22:27334160T-C T C
+22 27334184 22:27334184A-G A G
+22 27334207 22:27334207T-C T C
+22 27334578 22:27334578C-G C G
+22 27334843 22:27334843G-A G A
+22 27334951 22:27334951C-T C T
+22 27334985 22:27334985A-G A G
+22 27335459 22:27335459C-T C T
+22 27335790 22:27335790A-C A C
+22 27335943 22:27335943C-T C T
+22 27336422 22:27336422A-C A C
+22 27336747 22:27336747T-C T C
+22 27337048 22:27337048C-T C T
+22 27337228 22:27337228G-T G T
+22 27337854 22:27337854T-C T C
+22 27337886 22:27337886G-A G A
+22 27338076 22:27338076G-C G C
+22 27338441 22:27338441C-G C G
+22 27338819 22:27338819C-T C T
+22 27338951 22:27338951T-A T A
+22 27339184 22:27339184C-A C A
+22 27339284 22:27339284C-T C T
+22 27339406 22:27339406T-G T G
+22 27339453 22:27339453G-A G A
+22 27339624 22:27339624G-A G A
+22 27339652 22:27339652G-A G A
+22 27339913 22:27339913A-G A G
+22 27340510 22:27340510A-C A C
+22 27340983 22:27340983G-A G A
+22 27340986 22:27340986C-A C A
+22 27341117 22:27341117A-C A C
+22 27341161 22:27341161G-T G T
+22 27341184 22:27341184T-G T G
+22 27341413 22:27341413C-T C T
+22 27341568 22:27341568A-G A G
+22 27341639 22:27341639G-C G C
+22 27341762 22:27341762G-C G C
+22 27341985 22:27341985C-G C G
+22 27342139 22:27342139A-G A G
+22 27342629 22:27342629C-T C T
+22 27343439 22:27343439C-T C T
+22 27343892 22:27343892G-A G A
+22 27344827 22:27344827A-G A G
+22 27345388 22:27345388C-T C T
+22 27346062 22:27346062G-A G A
+22 27346779 22:27346779T-C T C
+22 27346941 22:27346941A-T A T
+22 27347402 22:27347402G-A G A
+22 27347493 22:27347493A-T A T
+22 27347681 22:27347681T-C T C
+22 27348321 22:27348321C-T C T
+22 27348446 22:27348446A-G A G
+22 27348456 22:27348456A-G A G
+22 27348681 22:27348681C-A C A
+22 27348896 22:27348896A-G A G
+22 27349099 22:27349099G-A G A
+22 27349116 22:27349116T-G T G
+22 27349234 22:27349234T-G T G
+22 27349552 22:27349552G-A G A
+22 27349602 22:27349602C-T C T
+22 27349718 22:27349718T-C T C
+22 27349754 22:27349754G-A G A
+22 27349849 22:27349849G-A G A
+22 27350567 22:27350567G-A G A
+22 27350911 22:27350911G-C G C
+22 27351033 22:27351033C-T C T
+22 27351615 22:27351615A-G A G
+22 27351732 22:27351732T-C T C
+22 27352745 22:27352745C-T C T
+22 27352747 22:27352747C-T C T
+22 27352811 22:27352811T-C T C
+22 27353309 22:27353309G-A G A
+22 27353760 22:27353760A-G A G
+22 27353810 22:27353810C-T C T
+22 27353916 22:27353916A-G A G
+22 27354054 22:27354054G-C G C
+22 27354544 22:27354544A-G A G
+22 27355159 22:27355159C-T C T
+22 27355195 22:27355195T-C T C
+22 27355348 22:27355348A-G A G
+22 27355733 22:27355733T-C T C
+22 27356579 22:27356579A-G A G
+22 27357341 22:27357341T-C T C
+22 27357896 22:27357896A-G A G
+22 27357975 22:27357975A-T A T
+22 27359601 22:27359601A-G A G
+22 27359976 22:27359976T-C T C
+22 27360162 22:27360162G-A G A
+22 27360783 22:27360783C-T C T
+22 27360964 22:27360964C-G C G
+22 27360994 22:27360994C-T C T
+22 27361417 22:27361417G-A G A
+22 27361465 22:27361465A-G A G
+22 27361631 22:27361631C-G C G
+22 27361632 22:27361632C-T C T
+22 27362148 22:27362148G-T G T
+22 27362234 22:27362234G-C G C
+22 27362432 22:27362432A-G A G
+22 27362767 22:27362767A-G A G
+22 27363020 22:27363020A-G A G
+22 27363029 22:27363029T-A T A
+22 27363053 22:27363053T-C T C
+22 27363324 22:27363324A-G A G
+22 27363632 22:27363632T-C T C
+22 27364077 22:27364077A-T A T
+22 27364300 22:27364300T-C T C
+22 27364610 22:27364610C-T C T
+22 27365105 22:27365105A-C A C
+22 27366344 22:27366344G-T G T
+22 27367701 22:27367701G-A G A
+22 27367952 22:27367952G-A G A
+22 27368219 22:27368219A-G A G
+22 27368283 22:27368283A-G A G
+22 27368478 22:27368478C-T C T
+22 27368751 22:27368751T-C T C
+22 27369467 22:27369467G-T G T
+22 27369471 22:27369471G-A G A
+22 27369762 22:27369762G-A G A
+22 27369770 22:27369770T-G T G
+22 27369826 22:27369826G-T G T
+22 27370273 22:27370273C-T C T
+22 27370782 22:27370782C-T C T
+22 27371685 22:27371685T-C T C
+22 27372397 22:27372397T-C T C
+22 27372785 22:27372785G-T G T
+22 27373336 22:27373336G-C G C
+22 27373562 22:27373562G-A G A
+22 27373720 22:27373720C-A C A
+22 27374245 22:27374245C-T C T
+22 27375529 22:27375529G-A G A
+22 27376043 22:27376043C-A C A
+22 27376273 22:27376273G-C G C
+22 27376590 22:27376590T-C T C
+22 27376910 22:27376910T-C T C
+22 27376961 22:27376961A-G A G
+22 27377469 22:27377469C-T C T
+22 27377569 22:27377569G-A G A
+22 27377687 22:27377687G-T G T
+22 27377796 22:27377796C-T C T
+22 27378221 22:27378221A-G A G
+22 27378331 22:27378331C-T C T
+22 27378884 22:27378884G-A G A
+22 27379412 22:27379412G-A G A
+22 27379830 22:27379830T-C T C
+22 27380461 22:27380461A-G A G
+22 27380713 22:27380713G-A G A
+22 27380730 22:27380730G-A G A
+22 27380743 22:27380743C-T C T
+22 27381036 22:27381036T-C T C
+22 27381136 22:27381136A-G A G
+22 27381193 22:27381193C-A C A
+22 27381298 22:27381298A-G A G
+22 27381346 22:27381346G-A G A
+22 27381389 22:27381389G-A G A
+22 27381837 22:27381837T-C T C
+22 27382132 22:27382132C-G C G
+22 27382287 22:27382287A-G A G
+22 27383090 22:27383090T-G T G
+22 27383140 22:27383140T-C T C
+22 27383199 22:27383199C-T C T
+22 27383433 22:27383433A-G A G
+22 27383615 22:27383615G-T G T
+22 27383886 22:27383886G-A G A
+22 27384280 22:27384280G-A G A
+22 27384470 22:27384470C-T C T
+22 27384493 22:27384493T-C T C
+22 27384565 22:27384565T-A T A
+22 27384708 22:27384708C-G C G
+22 27384762 22:27384762G-C G C
+22 27384871 22:27384871C-T C T
+22 27384945 22:27384945T-G T G
+22 27385330 22:27385330T-C T C
+22 27385331 22:27385331G-A G A
+22 27385364 22:27385364T-C T C
+22 27385505 22:27385505C-T C T
+22 27385628 22:27385628C-T C T
+22 27385700 22:27385700T-A T A
+22 27385750 22:27385750T-C T C
+22 27385885 22:27385885C-G C G
+22 27386446 22:27386446A-G A G
+22 27386488 22:27386488C-T C T
+22 27386862 22:27386862A-G A G
+22 27387031 22:27387031C-G C G
+22 27387032 22:27387032C-T C T
+22 27387130 22:27387130A-G A G
+22 27387202 22:27387202T-C T C
+22 27387321 22:27387321G-A G A
+22 27387402 22:27387402G-A G A
+22 27387511 22:27387511G-A G A
+22 27387695 22:27387695C-T C T
+22 27388057 22:27388057T-C T C
+22 27388110 22:27388110T-C T C
+22 27388165 22:27388165G-A G A
+22 27388405 22:27388405T-C T C
+22 27388454 22:27388454A-G A G
+22 27388616 22:27388616G-T G T
+22 27388842 22:27388842G-C G C
+22 27389158 22:27389158A-T A T
+22 27389830 22:27389830T-A T A
+22 27390040 22:27390040C-T C T
+22 27390477 22:27390477G-A G A
+22 27390831 22:27390831T-C T C
+22 27391480 22:27391480T-A T A
+22 27392074 22:27392074A-G A G
+22 27392115 22:27392115C-T C T
+22 27392265 22:27392265C-T C T
+22 27392272 22:27392272C-T C T
+22 27392391 22:27392391A-G A G
+22 27393381 22:27393381G-A G A
+22 27393849 22:27393849C-T C T
+22 27393950 22:27393950T-C T C
+22 27394733 22:27394733C-T C T
+22 27394843 22:27394843C-T C T
+22 27395096 22:27395096A-G A G
+22 27395201 22:27395201C-A C A
+22 27395226 22:27395226C-A C A
+22 27395292 22:27395292T-G T G
+22 27395324 22:27395324C-T C T
+22 27395385 22:27395385C-T C T
+22 27395426 22:27395426C-T C T
+22 27395609 22:27395609A-G A G
+22 27395937 22:27395937A-G A G
+22 27396038 22:27396038C-T C T
+22 27396286 22:27396286G-A G A
+22 27397683 22:27397683C-A C A
+22 27398512 22:27398512T-C T C
+22 27398749 22:27398749T-C T C
+22 27398838 22:27398838A-T A T
+22 27398910 22:27398910C-T C T
+22 27398938 22:27398938C-T C T
+22 27399182 22:27399182C-T C T
+22 27399321 22:27399321G-A G A
+22 27399405 22:27399405T-C T C
+22 27399494 22:27399494A-G A G
+22 27399576 22:27399576T-C T C
+22 27399577 22:27399577G-C G C
+22 27400316 22:27400316C-T C T
+22 27400354 22:27400354T-C T C
+22 27400447 22:27400447C-T C T
+22 27402492 22:27402492A-G A G
+22 27403571 22:27403571T-C T C
+22 27403729 22:27403729C-T C T
+22 27405012 22:27405012C-T C T
+22 27405169 22:27405169A-G A G
+22 27405358 22:27405358C-T C T
+22 27405442 22:27405442G-C G C
+22 27405625 22:27405625A-G A G
+22 27405668 22:27405668A-G A G
+22 27405992 22:27405992A-G A G
+22 27406436 22:27406436C-A C A
+22 27406501 22:27406501C-T C T
+22 27406705 22:27406705T-C T C
+22 27406912 22:27406912C-A C A
+22 27407146 22:27407146T-G T G
+22 27407687 22:27407687C-T C T
+22 27408321 22:27408321G-A G A
+22 27408341 22:27408341G-A G A
+22 27409143 22:27409143G-C G C
+22 27409333 22:27409333T-C T C
+22 27409450 22:27409450A-G A G
+22 27409465 22:27409465A-G A G
+22 27410371 22:27410371G-A G A
+22 27410479 22:27410479C-T C T
+22 27410749 22:27410749C-T C T
+22 27411302 22:27411302T-C T C
+22 27411322 22:27411322G-A G A
+22 27411710 22:27411710C-A C A
+22 27411926 22:27411926G-C G C
+22 27412029 22:27412029C-A C A
+22 27412632 22:27412632C-T C T
+22 27413261 22:27413261G-A G A
+22 27413264 22:27413264C-T C T
+22 27413317 22:27413317G-C G C
+22 27413379 22:27413379G-A G A
+22 27413392 22:27413392G-T G T
+22 27413509 22:27413509A-G A G
+22 27413543 22:27413543G-A G A
+22 27413660 22:27413660G-A G A
+22 27413922 22:27413922T-C T C
+22 27414261 22:27414261C-G C G
+22 27414427 22:27414427A-G A G
+22 27414653 22:27414653T-G T G
+22 27415013 22:27415013A-G A G
+22 27415255 22:27415255T-C T C
+22 27415340 22:27415340A-G A G
+22 27415941 22:27415941A-T A T
+22 27416197 22:27416197C-T C T
+22 27416523 22:27416523G-A G A
+22 27416593 22:27416593T-C T C
+22 27416643 22:27416643G-C G C
+22 27416825 22:27416825T-C T C
+22 27418259 22:27418259C-T C T
+22 27418911 22:27418911G-A G A
+22 27418958 22:27418958G-A G A
+22 27419148 22:27419148G-A G A
+22 27419790 22:27419790C-T C T
+22 27420113 22:27420113A-G A G
+22 27420318 22:27420318A-G A G
+22 27420733 22:27420733G-A G A
+22 27421136 22:27421136T-G T G
+22 27421632 22:27421632A-G A G
+22 27422813 22:27422813G-A G A
+22 27422865 22:27422865G-A G A
+22 27423007 22:27423007T-A T A
+22 27423564 22:27423564C-T C T
+22 27423820 22:27423820T-C T C
+22 27423868 22:27423868G-A G A
+22 27424724 22:27424724T-A T A
+22 27424748 22:27424748C-T C T
+22 27425162 22:27425162G-T G T
+22 27425365 22:27425365C-T C T
+22 27425422 22:27425422A-C A C
+22 27425521 22:27425521C-T C T
+22 27425592 22:27425592G-A G A
+22 27425647 22:27425647T-G T G
+22 27425657 22:27425657T-G T G
+22 27425790 22:27425790T-C T C
+22 27425847 22:27425847T-C T C
+22 27425848 22:27425848G-A G A
+22 27426448 22:27426448G-C G C
+22 27426628 22:27426628C-G C G
+22 27427073 22:27427073C-T C T
+22 27427080 22:27427080C-T C T
+22 27427304 22:27427304G-A G A
+22 27427698 22:27427698A-G A G
+22 27428860 22:27428860G-A G A
+22 27428926 22:27428926C-T C T
+22 27429052 22:27429052A-G A G
+22 27429111 22:27429111C-T C T
+22 27429276 22:27429276A-G A G
+22 27429753 22:27429753C-T C T
+22 27430078 22:27430078T-G T G
+22 27430158 22:27430158A-G A G
+22 27430304 22:27430304C-T C T
+22 27430432 22:27430432C-T C T
+22 27430630 22:27430630G-A G A
+22 27430724 22:27430724G-A G A
+22 27431791 22:27431791T-C T C
+22 27431971 22:27431971T-C T C
+22 27432357 22:27432357G-A G A
+22 27432985 22:27432985G-A G A
+22 27433179 22:27433179G-A G A
+22 27433250 22:27433250A-G A G
+22 27433266 22:27433266T-C T C
+22 27433885 22:27433885C-A C A
+22 27433921 22:27433921C-T C T
+22 27433973 22:27433973C-G C G
+22 27434051 22:27434051G-A G A
+22 27434178 22:27434178C-T C T
+22 27434214 22:27434214C-T C T
+22 27434730 22:27434730C-T C T
+22 27434791 22:27434791C-T C T
+22 27434836 22:27434836C-T C T
+22 27435086 22:27435086C-T C T
+22 27435140 22:27435140G-A G A
+22 27435450 22:27435450G-T G T
+22 27435453 22:27435453G-A G A
+22 27435577 22:27435577T-C T C
+22 27435613 22:27435613T-C T C
+22 27435820 22:27435820G-A G A
+22 27435897 22:27435897A-G A G
+22 27436049 22:27436049G-A G A
+22 27436164 22:27436164A-G A G
+22 27436289 22:27436289A-G A G
+22 27436699 22:27436699G-A G A
+22 27436778 22:27436778T-C T C
+22 27436940 22:27436940A-G A G
+22 27437467 22:27437467C-T C T
+22 27437550 22:27437550G-A G A
+22 27438108 22:27438108A-G A G
+22 27438196 22:27438196A-G A G
+22 27438353 22:27438353T-C T C
+22 27438359 22:27438359C-A C A
+22 27438386 22:27438386T-C T C
+22 27438432 22:27438432A-G A G
+22 27438543 22:27438543G-A G A
+22 27438603 22:27438603C-A C A
+22 27438631 22:27438631A-G A G
+22 27439543 22:27439543G-A G A
+22 27439582 22:27439582C-G C G
+22 27439704 22:27439704G-A G A
+22 27440266 22:27440266A-G A G
+22 27440291 22:27440291T-C T C
+22 27440326 22:27440326C-T C T
+22 27440536 22:27440536C-A C A
+22 27440602 22:27440602C-T C T
+22 27440683 22:27440683T-A T A
+22 27441379 22:27441379C-A C A
+22 27441548 22:27441548C-T C T
+22 27441789 22:27441789G-A G A
+22 27442333 22:27442333T-G T G
+22 27442556 22:27442556A-G A G
+22 27442639 22:27442639T-G T G
+22 27443068 22:27443068G-A G A
+22 27443148 22:27443148G-C G C
+22 27443484 22:27443484C-T C T
+22 27443584 22:27443584T-C T C
+22 27444637 22:27444637G-A G A
+22 27444882 22:27444882T-C T C
+22 27445437 22:27445437C-A C A
+22 27445883 22:27445883C-T C T
+22 27446079 22:27446079C-A C A
+22 27446324 22:27446324C-T C T
+22 27446542 22:27446542G-A G A
+22 27446868 22:27446868G-A G A
+22 27447079 22:27447079C-T C T
+22 27447297 22:27447297C-T C T
+22 27447378 22:27447378G-A G A
+22 27447383 22:27447383C-T C T
+22 27447531 22:27447531C-T C T
+22 27447649 22:27447649T-C T C
+22 27447669 22:27447669A-G A G
+22 27448028 22:27448028T-C T C
+22 27448280 22:27448280C-T C T
+22 27448644 22:27448644T-C T C
+22 27449024 22:27449024C-A C A
+22 27449363 22:27449363A-G A G
+22 27449770 22:27449770G-A G A
+22 27449892 22:27449892A-G A G
+22 27449940 22:27449940A-G A G
+22 27450461 22:27450461G-A G A
+22 27450510 22:27450510T-A T A
+22 27450582 22:27450582G-C G C
+22 27451055 22:27451055C-T C T
+22 27451180 22:27451180C-T C T
+22 27451266 22:27451266A-G A G
+22 27451441 22:27451441C-A C A
+22 27451501 22:27451501T-C T C
+22 27451567 22:27451567G-A G A
+22 27452721 22:27452721G-A G A
+22 27452743 22:27452743A-G A G
+22 27452796 22:27452796T-C T C
+22 27453771 22:27453771A-G A G
+22 27454022 22:27454022C-A C A
+22 27454981 22:27454981T-C T C
+22 27455355 22:27455355C-T C T
+22 27455409 22:27455409G-A G A
+22 27455842 22:27455842C-T C T
+22 27456410 22:27456410A-G A G
+22 27456420 22:27456420T-C T C
+22 27456646 22:27456646G-A G A
+22 27456810 22:27456810T-C T C
+22 27457068 22:27457068T-C T C
+22 27457518 22:27457518A-C A C
+22 27457523 22:27457523A-C A C
+22 27457693 22:27457693A-G A G
+22 27458160 22:27458160C-T C T
+22 27458958 22:27458958A-G A G
+22 27459210 22:27459210A-G A G
+22 27459273 22:27459273C-G C G
+22 27459563 22:27459563C-T C T
+22 27459722 22:27459722G-C G C
+22 27460793 22:27460793G-A G A
+22 27460810 22:27460810G-A G A
+22 27460811 22:27460811A-T A T
+22 27461493 22:27461493G-C G C
+22 27461803 22:27461803G-A G A
+22 27462415 22:27462415G-A G A
+22 27463472 22:27463472A-C A C
+22 27463700 22:27463700C-T C T
+22 27463749 22:27463749T-C T C
+22 27463851 22:27463851T-C T C
+22 27463890 22:27463890G-A G A
+22 27464033 22:27464033A-C A C
+22 27464053 22:27464053A-G A G
+22 27464157 22:27464157C-T C T
+22 27464401 22:27464401A-G A G
+22 27464643 22:27464643G-A G A
+22 27465477 22:27465477A-T A T
+22 27465597 22:27465597A-G A G
+22 27465628 22:27465628T-G T G
+22 27466232 22:27466232C-T C T
+22 27466629 22:27466629A-C A C
+22 27466842 22:27466842G-A G A
+22 27467717 22:27467717G-A G A
+22 27467990 22:27467990C-T C T
+22 27468053 22:27468053C-T C T
+22 27468461 22:27468461T-C T C
+22 27468857 22:27468857T-C T C
+22 27469165 22:27469165A-G A G
+22 27469314 22:27469314C-A C A
+22 27470124 22:27470124C-T C T
+22 27470329 22:27470329A-G A G
+22 27470763 22:27470763T-C T C
+22 27471415 22:27471415T-C T C
+22 27471525 22:27471525T-C T C
+22 27471567 22:27471567T-C T C
+22 27471971 22:27471971G-C G C
+22 27472356 22:27472356G-A G A
+22 27472358 22:27472358T-C T C
+22 27472458 22:27472458A-C A C
+22 27472502 22:27472502A-G A G
+22 27472516 22:27472516G-A G A
+22 27472669 22:27472669A-G A G
+22 27472988 22:27472988A-G A G
+22 27473028 22:27473028A-G A G
+22 27473042 22:27473042G-A G A
+22 27473132 22:27473132T-C T C
+22 27473169 22:27473169G-A G A
+22 27473772 22:27473772C-T C T
+22 27473976 22:27473976C-T C T
+22 27475512 22:27475512A-G A G
+22 27475606 22:27475606G-T G T
+22 27475758 22:27475758G-A G A
+22 27475966 22:27475966A-G A G
+22 27476574 22:27476574T-C T C
+22 27476685 22:27476685G-C G C
+22 27476884 22:27476884A-G A G
+22 27477132 22:27477132A-G A G
+22 27477220 22:27477220T-C T C
+22 27477225 22:27477225C-T C T
+22 27477259 22:27477259T-C T C
+22 27477386 22:27477386T-G T G
+22 27477588 22:27477588T-C T C
+22 27478521 22:27478521C-T C T
+22 27478856 22:27478856G-T G T
+22 27478967 22:27478967G-A G A
+22 27479173 22:27479173G-C G C
+22 27479318 22:27479318G-A G A
+22 27479480 22:27479480C-T C T
+22 27480237 22:27480237G-A G A
+22 27480367 22:27480367G-A G A
+22 27480801 22:27480801T-C T C
+22 27480883 22:27480883G-T G T
+22 27481022 22:27481022G-A G A
+22 27481176 22:27481176A-G A G
+22 27481284 22:27481284C-T C T
+22 27481509 22:27481509T-C T C
+22 27481614 22:27481614T-C T C
+22 27482481 22:27482481A-G A G
+22 27482626 22:27482626C-T C T
+22 27482638 22:27482638G-T G T
+22 27483371 22:27483371T-C T C
+22 27483480 22:27483480G-C G C
+22 27483618 22:27483618C-G C G
+22 27483719 22:27483719A-G A G
+22 27484180 22:27484180G-T G T
+22 27484389 22:27484389T-C T C
+22 27484451 22:27484451T-G T G
+22 27484476 22:27484476G-A G A
+22 27485111 22:27485111C-T C T
+22 27485301 22:27485301G-A G A
+22 27485345 22:27485345C-T C T
+22 27485482 22:27485482C-G C G
+22 27485612 22:27485612T-G T G
+22 27485912 22:27485912C-T C T
+22 27485959 22:27485959A-G A G
+22 27486167 22:27486167G-C G C
+22 27486722 22:27486722A-G A G
+22 27486771 22:27486771T-C T C
+22 27486978 22:27486978G-C G C
+22 27487232 22:27487232A-G A G
+22 27487242 22:27487242A-G A G
+22 27487580 22:27487580A-G A G
+22 27487797 22:27487797A-G A G
+22 27487815 22:27487815A-G A G
+22 27488604 22:27488604C-T C T
+22 27488690 22:27488690C-T C T
+22 27488914 22:27488914C-A C A
+22 27488966 22:27488966C-G C G
+22 27488990 22:27488990C-A C A
+22 27489079 22:27489079A-G A G
+22 27489133 22:27489133T-C T C
+22 27489145 22:27489145C-T C T
+22 27489293 22:27489293T-C T C
+22 27489310 22:27489310A-C A C
+22 27489371 22:27489371C-G C G
+22 27489583 22:27489583G-A G A
+22 27489714 22:27489714C-T C T
+22 27489815 22:27489815A-G A G
+22 27490303 22:27490303C-T C T
+22 27490592 22:27490592G-A G A
+22 27490728 22:27490728C-T C T
+22 27490880 22:27490880T-C T C
+22 27491043 22:27491043G-A G A
+22 27491198 22:27491198G-C G C
+22 27491252 22:27491252G-A G A
+22 27491551 22:27491551G-T G T
+22 27491699 22:27491699T-G T G
+22 27491848 22:27491848T-C T C
+22 27491849 22:27491849G-A G A
+22 27491861 22:27491861G-A G A
+22 27491959 22:27491959A-C A C
+22 27492028 22:27492028T-C T C
+22 27492035 22:27492035C-G C G
+22 27492424 22:27492424C-T C T
+22 27492536 22:27492536T-C T C
+22 27492585 22:27492585A-G A G
+22 27492588 22:27492588G-A G A
+22 27492589 22:27492589C-T C T
+22 27492600 22:27492600C-T C T
+22 27493072 22:27493072A-T A T
+22 27493153 22:27493153C-T C T
+22 27493361 22:27493361C-A C A
+22 27493503 22:27493503A-G A G
+22 27493529 22:27493529C-T C T
+22 27493570 22:27493570C-G C G
+22 27493910 22:27493910G-A G A
+22 27493914 22:27493914G-C G C
+22 27494303 22:27494303G-A G A
+22 27494460 22:27494460T-C T C
+22 27494511 22:27494511A-G A G
+22 27494518 22:27494518A-G A G
+22 27494695 22:27494695A-T A T
+22 27494700 22:27494700A-G A G
+22 27494998 22:27494998T-C T C
+22 27495276 22:27495276C-T C T
+22 27495476 22:27495476T-C T C
+22 27495483 22:27495483A-T A T
+22 27495758 22:27495758A-T A T
+22 27496274 22:27496274A-C A C
+22 27496476 22:27496476G-T G T
+22 27496594 22:27496594G-C G C
+22 27496859 22:27496859C-T C T
+22 27496893 22:27496893G-T G T
+22 27497017 22:27497017G-T G T
+22 27497163 22:27497163A-G A G
+22 27497181 22:27497181A-G A G
+22 27497182 22:27497182G-A G A
+22 27497372 22:27497372T-C T C
+22 27497704 22:27497704G-A G A
+22 27498236 22:27498236C-T C T
+22 27498426 22:27498426G-A G A
+22 27500423 22:27500423C-T C T
+22 27500511 22:27500511G-A G A
+22 27500652 22:27500652T-C T C
+22 27500696 22:27500696C-T C T
+22 27500719 22:27500719T-C T C
+22 27501071 22:27501071T-C T C
+22 27501083 22:27501083C-T C T
+22 27501531 22:27501531C-T C T
+22 27502567 22:27502567C-T C T
+22 27502691 22:27502691C-T C T
+22 27502783 22:27502783C-A C A
+22 27502898 22:27502898C-G C G
+22 27503371 22:27503371G-A G A
+22 27503582 22:27503582A-C A C
+22 27503837 22:27503837C-T C T
+22 27504063 22:27504063A-G A G
+22 27504082 22:27504082A-C A C
+22 27504161 22:27504161G-C G C
+22 27504942 22:27504942T-C T C
+22 27506536 22:27506536T-C T C
+22 27506926 22:27506926C-T C T
+22 27507131 22:27507131C-T C T
+22 27507354 22:27507354C-A C A
+22 27507715 22:27507715G-A G A
+22 27507824 22:27507824G-A G A
+22 27507837 22:27507837C-T C T
+22 27508234 22:27508234C-T C T
+22 27508510 22:27508510G-A G A
+22 27508858 22:27508858A-G A G
+22 27509227 22:27509227G-T G T
+22 27509377 22:27509377A-C A C
+22 27509769 22:27509769C-T C T
+22 27509919 22:27509919C-T C T
+22 27510232 22:27510232G-T G T
+22 27510528 22:27510528A-G A G
+22 27510846 22:27510846G-A G A
+22 27511141 22:27511141C-G C G
+22 27511667 22:27511667C-G C G
+22 27512225 22:27512225A-G A G
+22 27512234 22:27512234A-G A G
+22 27512383 22:27512383G-A G A
+22 27512789 22:27512789G-A G A
+22 27512801 22:27512801C-T C T
+22 27514839 22:27514839C-T C T
+22 27515764 22:27515764A-G A G
+22 27516762 22:27516762G-A G A
+22 27516947 22:27516947T-C T C
+22 27516984 22:27516984A-G A G
+22 27517691 22:27517691A-C A C
+22 27517800 22:27517800T-C T C
+22 27518815 22:27518815C-T C T
+22 27518948 22:27518948G-A G A
+22 27519617 22:27519617C-T C T
+22 27519787 22:27519787T-G T G
+22 27520244 22:27520244G-A G A
+22 27520769 22:27520769G-A G A
+22 27521114 22:27521114G-T G T
+22 27521426 22:27521426A-G A G
+22 27522368 22:27522368C-G C G
+22 27522430 22:27522430C-A C A
+22 27523485 22:27523485C-A C A
+22 27523864 22:27523864C-T C T
+22 27523948 22:27523948C-T C T
+22 27524757 22:27524757C-G C G
+22 27525210 22:27525210G-T G T
+22 27525363 22:27525363T-C T C
+22 27525674 22:27525674C-T C T
+22 27526095 22:27526095A-G A G
+22 27526265 22:27526265T-C T C
+22 27526771 22:27526771T-C T C
+22 27527005 22:27527005C-T C T
+22 27527107 22:27527107C-A C A
+22 27527498 22:27527498C-T C T
+22 27528313 22:27528313C-T C T
+22 27528350 22:27528350A-G A G
+22 27530184 22:27530184G-A G A
+22 27530318 22:27530318A-T A T
+22 27530922 22:27530922A-T A T
+22 27530934 22:27530934C-T C T
+22 27532474 22:27532474G-A G A
+22 27532926 22:27532926T-C T C
+22 27533271 22:27533271C-T C T
+22 27533729 22:27533729A-G A G
+22 27533998 22:27533998G-T G T
+22 27535029 22:27535029T-C T C
+22 27535231 22:27535231G-T G T
+22 27535438 22:27535438C-T C T
+22 27535572 22:27535572A-G A G
+22 27537502 22:27537502T-C T C
+22 27539202 22:27539202T-C T C
+22 27539742 22:27539742C-T C T
+22 27540148 22:27540148C-T C T
+22 27540434 22:27540434C-G C G
+22 27540834 22:27540834G-C G C
+22 27541893 22:27541893C-G C G
+22 27542843 22:27542843A-G A G
+22 27542945 22:27542945C-G C G
+22 27544195 22:27544195G-T G T
+22 27544908 22:27544908T-C T C
+22 27545209 22:27545209A-G A G
+22 27545303 22:27545303A-G A G
+22 27546771 22:27546771C-T C T
+22 27546776 22:27546776T-G T G
+22 27546917 22:27546917T-G T G
+22 27547421 22:27547421T-C T C
+22 27547756 22:27547756G-A G A
+22 27548094 22:27548094G-A G A
+22 27548374 22:27548374T-C T C
+22 27548426 22:27548426T-C T C
+22 27549141 22:27549141C-T C T
+22 27549589 22:27549589C-T C T
+22 27549917 22:27549917T-A T A
+22 27550490 22:27550490A-G A G
+22 27550744 22:27550744C-T C T
+22 27550764 22:27550764A-G A G
+22 27551790 22:27551790T-A T A
+22 27552544 22:27552544G-A G A
+22 27552564 22:27552564T-C T C
+22 27552631 22:27552631G-A G A
+22 27553046 22:27553046C-T C T
+22 27554630 22:27554630G-T G T
+22 27555317 22:27555317T-G T G
+22 27555319 22:27555319G-A G A
+22 27556706 22:27556706A-G A G
+22 27556741 22:27556741C-A C A
+22 27557009 22:27557009T-A T A
+22 27557030 22:27557030C-A C A
+22 27557040 22:27557040A-G A G
+22 27557155 22:27557155C-G C G
+22 27557349 22:27557349C-A C A
+22 27557351 22:27557351T-G T G
+22 27557735 22:27557735G-T G T
+22 27557761 22:27557761G-A G A
+22 27557929 22:27557929A-G A G
+22 27557972 22:27557972G-A G A
+22 27559412 22:27559412T-A T A
+22 27559540 22:27559540G-A G A
+22 27559812 22:27559812G-C G C
+22 27559902 22:27559902G-A G A
+22 27560576 22:27560576A-T A T
+22 27561081 22:27561081T-A T A
+22 27561500 22:27561500G-A G A
+22 27561952 22:27561952C-T C T
+22 27561960 22:27561960G-A G A
+22 27562140 22:27562140G-A G A
+22 27562184 22:27562184G-A G A
+22 27562201 22:27562201C-T C T
+22 27562910 22:27562910A-G A G
+22 27562937 22:27562937G-A G A
+22 27562944 22:27562944A-G A G
+22 27562952 22:27562952G-C G C
+22 27562990 22:27562990C-T C T
+22 27563274 22:27563274A-C A C
+22 27563613 22:27563613C-A C A
+22 27563775 22:27563775C-T C T
+22 27564807 22:27564807G-A G A
+22 27565388 22:27565388T-C T C
+22 27565531 22:27565531G-A G A
+22 27565888 22:27565888A-G A G
+22 27565909 22:27565909T-A T A
+22 27565958 22:27565958C-T C T
+22 27566498 22:27566498C-G C G
+22 27566506 22:27566506A-G A G
+22 27566566 22:27566566T-A T A
+22 27566619 22:27566619C-G C G
+22 27567120 22:27567120G-A G A
+22 27567320 22:27567320A-G A G
+22 27567545 22:27567545C-T C T
+22 27567954 22:27567954G-A G A
+22 27568222 22:27568222A-G A G
+22 27569081 22:27569081T-C T C
+22 27569979 22:27569979G-C G C
+22 27571423 22:27571423G-A G A
+22 27571605 22:27571605C-T C T
+22 27571639 22:27571639A-G A G
+22 27572357 22:27572357C-T C T
+22 27572528 22:27572528T-C T C
+22 27573014 22:27573014T-C T C
+22 27573745 22:27573745C-T C T
+22 27573803 22:27573803G-T G T
+22 27573842 22:27573842G-A G A
+22 27573956 22:27573956G-C G C
+22 27574154 22:27574154C-T C T
+22 27574164 22:27574164G-A G A
+22 27574804 22:27574804A-G A G
+22 27574896 22:27574896A-G A G
+22 27574903 22:27574903T-A T A
+22 27575072 22:27575072C-T C T
+22 27575117 22:27575117C-A C A
+22 27575130 22:27575130C-T C T
+22 27575473 22:27575473C-A C A
+22 27575542 22:27575542A-G A G
+22 27575553 22:27575553G-A G A
+22 27576017 22:27576017C-T C T
+22 27576458 22:27576458G-A G A
+22 27577178 22:27577178C-T C T
+22 27577261 22:27577261G-A G A
+22 27579150 22:27579150C-A C A
+22 27579428 22:27579428A-G A G
+22 27580688 22:27580688A-G A G
+22 27580980 22:27580980G-A G A
+22 27581642 22:27581642C-T C T
+22 27582100 22:27582100C-A C A
+22 27583037 22:27583037A-G A G
+22 27583652 22:27583652A-G A G
+22 27583923 22:27583923C-T C T
+22 27584176 22:27584176C-T C T
+22 27584291 22:27584291G-A G A
+22 27584316 22:27584316G-A G A
+22 27584594 22:27584594C-G C G
+22 27584680 22:27584680G-A G A
+22 27585710 22:27585710G-A G A
+22 27586680 22:27586680C-T C T
+22 27586954 22:27586954G-A G A
+22 27587001 22:27587001A-G A G
+22 27587222 22:27587222G-A G A
+22 27588271 22:27588271G-A G A
+22 27588763 22:27588763T-A T A
+22 27589382 22:27589382A-G A G
+22 27589981 22:27589981C-T C T
+22 27590340 22:27590340T-C T C
+22 27590678 22:27590678G-A G A
+22 27592742 22:27592742G-T G T
+22 27592968 22:27592968A-G A G
+22 27593239 22:27593239C-T C T
+22 27594109 22:27594109T-G T G
+22 27594180 22:27594180T-A T A
+22 27595582 22:27595582G-T G T
+22 27596611 22:27596611C-T C T
+22 27596836 22:27596836A-G A G
+22 27598602 22:27598602A-T A T
+22 27599418 22:27599418T-G T G
+22 27599846 22:27599846G-T G T
+22 27600516 22:27600516T-C T C
+22 27600598 22:27600598C-T C T
+22 27600604 22:27600604C-G C G
+22 27600828 22:27600828C-T C T
+22 27601017 22:27601017T-C T C
+22 27601021 22:27601021G-A G A
+22 27603908 22:27603908C-A C A
+22 27604149 22:27604149C-A C A
+22 27604316 22:27604316C-T C T
+22 27606038 22:27606038T-G T G
+22 27606044 22:27606044C-T C T
+22 27606184 22:27606184G-A G A
+22 27606778 22:27606778T-C T C
+22 27608087 22:27608087T-C T C
+22 27608295 22:27608295G-A G A
+22 27608301 22:27608301G-A G A
+22 27609597 22:27609597A-G A G
+22 27609827 22:27609827C-A C A
+22 27609860 22:27609860C-G C G
+22 27610165 22:27610165T-C T C
+22 27610637 22:27610637A-C A C
+22 27610680 22:27610680G-C G C
+22 27610995 22:27610995T-C T C
+22 27611127 22:27611127T-G T G
+22 27611328 22:27611328G-A G A
+22 27612568 22:27612568C-T C T
+22 27613130 22:27613130C-T C T
+22 27613318 22:27613318C-T C T
+22 27614498 22:27614498C-A C A
+22 27615305 22:27615305T-C T C
+22 27615410 22:27615410C-A C A
+22 27616149 22:27616149T-C T C
+22 27616264 22:27616264G-A G A
+22 27616325 22:27616325G-A G A
+22 27618036 22:27618036T-A T A
+22 27618267 22:27618267A-G A G
+22 27619844 22:27619844C-T C T
+22 27620514 22:27620514G-T G T
+22 27620929 22:27620929A-T A T
+22 27620995 22:27620995T-C T C
+22 27621151 22:27621151G-A G A
+22 27621339 22:27621339C-T C T
+22 27621851 22:27621851A-C A C
+22 27622115 22:27622115T-C T C
+22 27622616 22:27622616A-G A G
+22 27622645 22:27622645C-T C T
+22 27622883 22:27622883T-C T C
+22 27622907 22:27622907A-G A G
+22 27623328 22:27623328C-T C T
+22 27623489 22:27623489T-C T C
+22 27624004 22:27624004G-A G A
+22 27624375 22:27624375G-T G T
+22 27624878 22:27624878A-T A T
+22 27624889 22:27624889C-T C T
+22 27625321 22:27625321G-A G A
+22 27625394 22:27625394G-A G A
+22 27625720 22:27625720C-T C T
+22 27625874 22:27625874T-A T A
+22 27626904 22:27626904C-T C T
+22 27626905 22:27626905A-G A G
+22 27627316 22:27627316T-C T C
+22 27627416 22:27627416T-C T C
+22 27627524 22:27627524A-T A T
+22 27627598 22:27627598C-T C T
+22 27628151 22:27628151G-C G C
+22 27628531 22:27628531G-A G A
+22 27628728 22:27628728T-C T C
+22 27629195 22:27629195G-C G C
+22 27629208 22:27629208C-T C T
+22 27629291 22:27629291T-A T A
+22 27630630 22:27630630G-T G T
+22 27630758 22:27630758A-G A G
+22 27631509 22:27631509C-T C T
+22 27631699 22:27631699A-T A T
+22 27631781 22:27631781G-A G A
+22 27632418 22:27632418A-G A G
+22 27632514 22:27632514G-A G A
+22 27632596 22:27632596G-C G C
+22 27633517 22:27633517A-G A G
+22 27634299 22:27634299C-G C G
+22 27634799 22:27634799G-C G C
+22 27635001 22:27635001T-C T C
+22 27636138 22:27636138G-C G C
+22 27636146 22:27636146G-A G A
+22 27636149 22:27636149A-G A G
+22 27636486 22:27636486C-T C T
+22 27636606 22:27636606A-C A C
+22 27636913 22:27636913C-T C T
+22 27636930 22:27636930A-G A G
+22 27637091 22:27637091A-G A G
+22 27637506 22:27637506A-G A G
+22 27637900 22:27637900C-T C T
+22 27638327 22:27638327A-T A T
+22 27638420 22:27638420G-A G A
+22 27638435 22:27638435C-A C A
+22 27638662 22:27638662G-A G A
+22 27638996 22:27638996G-T G T
+22 27639424 22:27639424C-T C T
+22 27639957 22:27639957C-T C T
+22 27640295 22:27640295A-G A G
+22 27640747 22:27640747G-A G A
+22 27640814 22:27640814T-C T C
+22 27640853 22:27640853C-T C T
+22 27641756 22:27641756C-T C T
+22 27642064 22:27642064G-A G A
+22 27642581 22:27642581A-C A C
+22 27642688 22:27642688G-A G A
+22 27642748 22:27642748A-T A T
+22 27643302 22:27643302A-G A G
+22 27644305 22:27644305G-A G A
+22 27645095 22:27645095T-C T C
+22 27645258 22:27645258C-T C T
+22 27645864 22:27645864C-T C T
+22 27645892 22:27645892G-A G A
+22 27646376 22:27646376A-T A T
+22 27646582 22:27646582C-T C T
+22 27646755 22:27646755C-G C G
+22 27646869 22:27646869C-A C A
+22 27647065 22:27647065C-A C A
+22 27647289 22:27647289A-G A G
+22 27647504 22:27647504G-A G A
+22 27648191 22:27648191A-C A C
+22 27648272 22:27648272T-C T C
+22 27648408 22:27648408G-C G C
+22 27649578 22:27649578G-A G A
+22 27649704 22:27649704A-G A G
+22 27650250 22:27650250T-C T C
+22 27650420 22:27650420T-C T C
+22 27650469 22:27650469C-T C T
+22 27650564 22:27650564C-T C T
+22 27650779 22:27650779C-T C T
+22 27650865 22:27650865G-T G T
+22 27651715 22:27651715T-C T C
+22 27652075 22:27652075A-G A G
+22 27652289 22:27652289A-G A G
+22 27652290 22:27652290G-T G T
+22 27653188 22:27653188A-G A G
+22 27653252 22:27653252C-T C T
+22 27653294 22:27653294G-C G C
+22 27653397 22:27653397C-T C T
+22 27653424 22:27653424C-T C T
+22 27654838 22:27654838G-T G T
+22 27655025 22:27655025G-A G A
+22 27655945 22:27655945T-G T G
+22 27656908 22:27656908T-C T C
+22 27657507 22:27657507G-A G A
+22 27657544 22:27657544C-T C T
+22 27657604 22:27657604G-A G A
+22 27658292 22:27658292G-C G C
+22 27658324 22:27658324G-A G A
+22 27659029 22:27659029T-C T C
+22 27659230 22:27659230T-C T C
+22 27659347 22:27659347C-T C T
+22 27659629 22:27659629A-C A C
+22 27659631 22:27659631G-A G A
+22 27659724 22:27659724G-A G A
+22 27659743 22:27659743G-A G A
+22 27659774 22:27659774G-A G A
+22 27659964 22:27659964G-A G A
+22 27659974 22:27659974G-A G A
+22 27660461 22:27660461C-T C T
+22 27660487 22:27660487G-A G A
+22 27660655 22:27660655T-C T C
+22 27660675 22:27660675G-A G A
+22 27660747 22:27660747G-A G A
+22 27661009 22:27661009G-T G T
+22 27661878 22:27661878A-G A G
+22 27661950 22:27661950C-T C T
+22 27661989 22:27661989C-T C T
+22 27661995 22:27661995G-A G A
+22 27662176 22:27662176G-A G A
+22 27662186 22:27662186T-C T C
+22 27662213 22:27662213G-T G T
+22 27662397 22:27662397C-T C T
+22 27662473 22:27662473C-T C T
+22 27662635 22:27662635C-T C T
+22 27662689 22:27662689C-A C A
+22 27662837 22:27662837C-T C T
+22 27662934 22:27662934C-T C T
+22 27663166 22:27663166A-G A G
+22 27663248 22:27663248G-T G T
+22 27663643 22:27663643T-C T C
+22 27664339 22:27664339T-C T C
+22 27665142 22:27665142C-T C T
+22 27665302 22:27665302A-T A T
+22 27666698 22:27666698G-A G A
+22 27666740 22:27666740T-C T C
+22 27667235 22:27667235C-T C T
+22 27667795 22:27667795G-A G A
+22 27668370 22:27668370A-G A G
+22 27668509 22:27668509C-T C T
+22 27668544 22:27668544G-A G A
+22 27668750 22:27668750T-C T C
+22 27669059 22:27669059C-T C T
+22 27669159 22:27669159A-T A T
+22 27669376 22:27669376G-A G A
+22 27669836 22:27669836C-T C T
+22 27670020 22:27670020G-A G A
+22 27670348 22:27670348G-T G T
+22 27670885 22:27670885C-T C T
+22 27671082 22:27671082G-A G A
+22 27671479 22:27671479A-C A C
+22 27672206 22:27672206T-A T A
+22 27672223 22:27672223C-A C A
+22 27673159 22:27673159A-G A G
+22 27673211 22:27673211C-T C T
+22 27674189 22:27674189G-T G T
+22 27674547 22:27674547G-A G A
+22 27674832 22:27674832T-G T G
+22 27674953 22:27674953C-A C A
+22 27675238 22:27675238A-T A T
+22 27675461 22:27675461G-A G A
+22 27677747 22:27677747T-C T C
+22 27678463 22:27678463C-T C T
+22 27679808 22:27679808G-A G A
+22 27681410 22:27681410G-A G A
+22 27681626 22:27681626T-C T C
+22 27682597 22:27682597A-G A G
+22 27682627 22:27682627G-A G A
+22 27683477 22:27683477G-A G A
+22 27684158 22:27684158T-C T C
+22 27684756 22:27684756C-T C T
+22 27685544 22:27685544A-G A G
+22 27685669 22:27685669A-G A G
+22 27686254 22:27686254A-T A T
+22 27687437 22:27687437G-A G A
+22 27688335 22:27688335C-T C T
+22 27688616 22:27688616G-A G A
+22 27688707 22:27688707A-G A G
+22 27689490 22:27689490C-T C T
+22 27689641 22:27689641G-A G A
+22 27689978 22:27689978G-A G A
+22 27690377 22:27690377G-A G A
+22 27690484 22:27690484T-C T C
+22 27690683 22:27690683A-G A G
+22 27691026 22:27691026A-G A G
+22 27691285 22:27691285G-T G T
+22 27692054 22:27692054G-A G A
+22 27693121 22:27693121C-T C T
+22 27694867 22:27694867G-A G A
+22 27695057 22:27695057C-T C T
+22 27696194 22:27696194C-T C T
+22 27696913 22:27696913T-C T C
+22 27697012 22:27697012A-G A G
+22 27697356 22:27697356A-T A T
+22 27697765 22:27697765G-T G T
+22 27698071 22:27698071A-G A G
+22 27698217 22:27698217G-A G A
+22 27698397 22:27698397T-G T G
+22 27700289 22:27700289G-A G A
+22 27700318 22:27700318C-T C T
+22 27700919 22:27700919T-C T C
+22 27701012 22:27701012C-T C T
+22 27701317 22:27701317C-T C T
+22 27701555 22:27701555C-T C T
+22 27701608 22:27701608A-G A G
+22 27702157 22:27702157G-A G A
+22 27702771 22:27702771G-T G T
+22 27702923 22:27702923T-G T G
+22 27703428 22:27703428C-G C G
+22 27703935 22:27703935A-G A G
+22 27704503 22:27704503T-C T C
+22 27704700 22:27704700A-C A C
+22 27705687 22:27705687A-C A C
+22 27705699 22:27705699G-A G A
+22 27705776 22:27705776G-C G C
+22 27705922 22:27705922G-A G A
+22 27705940 22:27705940G-A G A
+22 27706005 22:27706005T-C T C
+22 27706403 22:27706403T-A T A
+22 27706941 22:27706941C-T C T
+22 27707665 22:27707665G-A G A
+22 27708313 22:27708313A-C A C
+22 27708643 22:27708643A-T A T
+22 27708707 22:27708707C-T C T
+22 27708852 22:27708852G-A G A
+22 27709560 22:27709560G-A G A
+22 27710343 22:27710343T-C T C
+22 27710397 22:27710397C-T C T
+22 27710440 22:27710440T-C T C
+22 27710703 22:27710703G-A G A
+22 27711025 22:27711025G-T G T
+22 27711056 22:27711056T-G T G
+22 27711058 22:27711058T-C T C
+22 27711243 22:27711243C-T C T
+22 27711761 22:27711761A-G A G
+22 27711993 22:27711993C-G C G
+22 27712520 22:27712520C-T C T
+22 27712681 22:27712681A-G A G
+22 27712781 22:27712781A-G A G
+22 27712996 22:27712996T-C T C
+22 27713356 22:27713356C-T C T
+22 27713374 22:27713374A-G A G
+22 27713752 22:27713752G-A G A
+22 27713828 22:27713828G-C G C
+22 27713849 22:27713849A-C A C
+22 27714574 22:27714574A-G A G
+22 27715100 22:27715100G-T G T
+22 27715209 22:27715209G-A G A
+22 27717116 22:27717116G-A G A
+22 27717134 22:27717134G-A G A
+22 27717716 22:27717716A-G A G
+22 27718617 22:27718617A-G A G
+22 27718705 22:27718705C-A C A
+22 27718775 22:27718775G-A G A
+22 27719151 22:27719151G-C G C
+22 27719198 22:27719198A-G A G
+22 27720637 22:27720637G-A G A
+22 27722014 22:27722014C-G C G
+22 27722802 22:27722802G-A G A
+22 27723050 22:27723050C-G C G
+22 27723059 22:27723059T-C T C
+22 27723424 22:27723424T-C T C
+22 27723600 22:27723600G-A G A
+22 27724696 22:27724696C-T C T
+22 27724782 22:27724782T-C T C
+22 27724816 22:27724816C-A C A
+22 27725025 22:27725025T-C T C
+22 27725153 22:27725153A-G A G
+22 27725233 22:27725233T-C T C
+22 27725239 22:27725239G-C G C
+22 27725762 22:27725762A-G A G
+22 27726026 22:27726026C-T C T
+22 27726071 22:27726071A-G A G
+22 27726166 22:27726166G-A G A
+22 27726914 22:27726914A-T A T
+22 27726947 22:27726947C-T C T
+22 27727106 22:27727106A-C A C
+22 27727464 22:27727464C-T C T
+22 27728006 22:27728006G-C G C
+22 27728091 22:27728091C-T C T
+22 27728405 22:27728405C-T C T
+22 27729077 22:27729077C-T C T
+22 27729180 22:27729180T-C T C
+22 27729434 22:27729434C-T C T
+22 27729548 22:27729548G-T G T
+22 27729742 22:27729742A-G A G
+22 27730109 22:27730109A-G A G
+22 27730204 22:27730204C-A C A
+22 27730213 22:27730213G-T G T
+22 27730230 22:27730230G-T G T
+22 27730354 22:27730354T-A T A
+22 27730856 22:27730856G-C G C
+22 27730986 22:27730986G-C G C
+22 27730992 22:27730992C-A C A
+22 27731294 22:27731294G-A G A
+22 27731388 22:27731388A-G A G
+22 27731470 22:27731470C-T C T
+22 27732598 22:27732598C-T C T
+22 27733540 22:27733540C-T C T
+22 27733598 22:27733598C-G C G
+22 27734816 22:27734816C-G C G
+22 27735210 22:27735210T-G T G
+22 27736768 22:27736768C-T C T
+22 27737024 22:27737024T-C T C
+22 27737254 22:27737254C-A C A
+22 27737393 22:27737393T-C T C
+22 27737574 22:27737574C-A C A
+22 27737631 22:27737631C-T C T
+22 27738160 22:27738160C-A C A
+22 27738226 22:27738226G-T G T
+22 27739485 22:27739485C-G C G
+22 27740546 22:27740546C-T C T
+22 27740599 22:27740599A-G A G
+22 27740843 22:27740843T-C T C
+22 27741447 22:27741447G-T G T
+22 27741454 22:27741454T-G T G
+22 27742350 22:27742350C-T C T
+22 27742571 22:27742571A-G A G
+22 27742612 22:27742612G-A G A
+22 27742618 22:27742618C-T C T
+22 27742732 22:27742732C-T C T
+22 27743999 22:27743999T-C T C
+22 27744608 22:27744608G-A G A
+22 27744959 22:27744959G-A G A
+22 27745505 22:27745505C-T C T
+22 27745608 22:27745608T-C T C
+22 27745625 22:27745625C-A C A
+22 27746118 22:27746118T-G T G
+22 27746401 22:27746401C-T C T
+22 27746906 22:27746906A-G A G
+22 27747124 22:27747124T-C T C
+22 27747251 22:27747251A-G A G
+22 27747270 22:27747270G-A G A
+22 27747303 22:27747303C-T C T
+22 27747507 22:27747507A-T A T
+22 27747580 22:27747580T-C T C
+22 27748742 22:27748742A-G A G
+22 27748753 22:27748753T-C T C
+22 27748774 22:27748774C-T C T
+22 27749378 22:27749378T-C T C
+22 27749520 22:27749520G-A G A
+22 27749615 22:27749615T-C T C
+22 27750076 22:27750076T-C T C
+22 27750408 22:27750408G-C G C
+22 27750425 22:27750425A-G A G
+22 27750983 22:27750983T-C T C
+22 27751155 22:27751155G-T G T
+22 27751227 22:27751227A-G A G
+22 27751277 22:27751277A-G A G
+22 27751435 22:27751435A-G A G
+22 27751454 22:27751454T-A T A
+22 27751520 22:27751520A-G A G
+22 27751576 22:27751576C-T C T
+22 27751579 22:27751579T-C T C
+22 27751796 22:27751796G-A G A
+22 27751975 22:27751975A-T A T
+22 27752084 22:27752084T-C T C
+22 27752593 22:27752593G-A G A
+22 27752783 22:27752783G-A G A
+22 27754138 22:27754138A-G A G
+22 27754412 22:27754412C-T C T
+22 27754413 22:27754413A-G A G
+22 27754774 22:27754774A-G A G
+22 27754802 22:27754802G-A G A
+22 27755625 22:27755625C-T C T
+22 27755736 22:27755736G-T G T
+22 27755906 22:27755906T-C T C
+22 27756079 22:27756079T-C T C
+22 27756110 22:27756110T-C T C
+22 27756135 22:27756135G-A G A
+22 27756300 22:27756300C-T C T
+22 27756439 22:27756439C-T C T
+22 27756513 22:27756513A-G A G
+22 27757077 22:27757077C-A C A
+22 27757552 22:27757552A-G A G
+22 27758098 22:27758098C-T C T
+22 27758200 22:27758200T-C T C
+22 27758305 22:27758305A-G A G
+22 27758313 22:27758313T-C T C
+22 27758490 22:27758490T-C T C
+22 27758706 22:27758706T-G T G
+22 27758841 22:27758841T-C T C
+22 27758891 22:27758891A-G A G
+22 27758894 22:27758894A-G A G
+22 27758938 22:27758938C-G C G
+22 27759299 22:27759299G-A G A
+22 27759404 22:27759404G-A G A
+22 27759691 22:27759691T-C T C
+22 27759933 22:27759933A-G A G
+22 27760003 22:27760003T-C T C
+22 27760019 22:27760019G-A G A
+22 27760036 22:27760036T-C T C
+22 27760061 22:27760061C-G C G
+22 27760086 22:27760086T-C T C
+22 27760167 22:27760167A-C A C
+22 27760382 22:27760382A-T A T
+22 27760497 22:27760497C-T C T
+22 27760796 22:27760796A-G A G
+22 27760854 22:27760854C-T C T
+22 27760856 22:27760856T-C T C
+22 27761128 22:27761128G-A G A
+22 27761147 22:27761147C-A C A
+22 27761246 22:27761246T-G T G
+22 27761508 22:27761508C-T C T
+22 27761693 22:27761693A-T A T
+22 27761697 22:27761697T-C T C
+22 27762155 22:27762155T-C T C
+22 27762307 22:27762307T-A T A
+22 27762566 22:27762566C-T C T
+22 27762699 22:27762699G-C G C
+22 27762893 22:27762893C-T C T
+22 27762981 22:27762981A-C A C
+22 27762996 22:27762996A-G A G
+22 27763167 22:27763167T-G T G
+22 27763989 22:27763989C-G C G
+22 27764352 22:27764352A-G A G
+22 27765064 22:27765064T-C T C
+22 27765630 22:27765630G-A G A
+22 27765755 22:27765755G-A G A
+22 27766075 22:27766075G-A G A
+22 27766318 22:27766318T-C T C
+22 27766513 22:27766513C-A C A
+22 27766606 22:27766606C-T C T
+22 27766758 22:27766758G-A G A
+22 27766867 22:27766867T-A T A
+22 27767093 22:27767093G-A G A
+22 27768007 22:27768007C-G C G
+22 27768787 22:27768787A-G A G
+22 27768895 22:27768895G-A G A
+22 27769029 22:27769029C-T C T
+22 27769191 22:27769191C-T C T
+22 27769228 22:27769228T-C T C
+22 27769282 22:27769282G-C G C
+22 27769389 22:27769389G-A G A
+22 27769412 22:27769412C-G C G
+22 27769630 22:27769630A-G A G
+22 27769634 22:27769634G-T G T
+22 27769677 22:27769677C-A C A
+22 27770222 22:27770222G-A G A
+22 27771079 22:27771079C-T C T
+22 27771156 22:27771156G-A G A
+22 27771910 22:27771910G-A G A
+22 27772215 22:27772215C-T C T
+22 27772417 22:27772417G-A G A
+22 27773148 22:27773148G-A G A
+22 27773323 22:27773323A-G A G
+22 27773333 22:27773333C-A C A
+22 27773685 22:27773685T-C T C
+22 27773799 22:27773799A-G A G
+22 27774424 22:27774424T-C T C
+22 27774580 22:27774580G-C G C
+22 27774635 22:27774635C-T C T
+22 27774779 22:27774779A-G A G
+22 27774784 22:27774784A-C A C
+22 27775129 22:27775129C-T C T
+22 27775511 22:27775511G-A G A
+22 27775760 22:27775760T-C T C
+22 27775797 22:27775797T-C T C
+22 27776343 22:27776343G-A G A
+22 27776424 22:27776424T-A T A
+22 27776803 22:27776803A-G A G
+22 27777382 22:27777382G-A G A
+22 27777752 22:27777752C-T C T
+22 27777944 22:27777944A-T A T
+22 27778099 22:27778099A-G A G
+22 27778338 22:27778338G-A G A
+22 27778518 22:27778518T-C T C
+22 27778649 22:27778649C-G C G
+22 27778731 22:27778731T-C T C
+22 27779106 22:27779106C-G C G
+22 27779122 22:27779122G-A G A
+22 27779272 22:27779272T-G T G
+22 27779392 22:27779392T-C T C
+22 27779409 22:27779409T-C T C
+22 27779651 22:27779651A-C A C
+22 27779726 22:27779726G-A G A
+22 27779818 22:27779818G-A G A
+22 27779894 22:27779894T-G T G
+22 27779905 22:27779905A-G A G
+22 27780404 22:27780404G-T G T
+22 27780524 22:27780524C-T C T
+22 27780856 22:27780856A-G A G
+22 27780918 22:27780918A-C A C
+22 27781570 22:27781570C-T C T
+22 27781736 22:27781736C-A C A
+22 27781783 22:27781783C-T C T
+22 27782110 22:27782110G-A G A
+22 27782209 22:27782209A-G A G
+22 27782226 22:27782226C-T C T
+22 27782447 22:27782447G-A G A
+22 27782451 22:27782451C-G C G
+22 27783185 22:27783185G-A G A
+22 27783769 22:27783769G-A G A
+22 27784403 22:27784403G-A G A
+22 27784817 22:27784817C-T C T
+22 27784837 22:27784837G-A G A
+22 27785102 22:27785102A-C A C
+22 27785119 22:27785119G-A G A
+22 27785286 22:27785286G-T G T
+22 27785695 22:27785695A-G A G
+22 27785809 22:27785809T-C T C
+22 27785823 22:27785823A-G A G
+22 27785939 22:27785939G-A G A
+22 27786506 22:27786506C-T C T
+22 27786725 22:27786725T-C T C
+22 27786947 22:27786947T-A T A
+22 27787397 22:27787397A-G A G
+22 27787480 22:27787480C-A C A
+22 27787622 22:27787622C-A C A
+22 27788357 22:27788357C-G C G
+22 27788401 22:27788401G-T G T
+22 27788451 22:27788451C-T C T
+22 27788780 22:27788780G-T G T
+22 27788965 22:27788965G-A G A
+22 27788975 22:27788975C-A C A
+22 27789198 22:27789198A-C A C
+22 27789235 22:27789235G-A G A
+22 27790244 22:27790244G-A G A
+22 27790959 22:27790959T-G T G
+22 27791806 22:27791806T-C T C
+22 27792470 22:27792470T-C T C
+22 27792500 22:27792500C-A C A
+22 27792588 22:27792588C-T C T
+22 27792770 22:27792770T-G T G
+22 27793289 22:27793289T-C T C
+22 27793356 22:27793356C-G C G
+22 27793641 22:27793641G-A G A
+22 27793846 22:27793846A-G A G
+22 27794056 22:27794056G-C G C
+22 27796846 22:27796846A-G A G
+22 27796866 22:27796866C-T C T
+22 27797761 22:27797761G-A G A
+22 27797799 22:27797799A-C A C
+22 27797867 22:27797867C-A C A
+22 27798329 22:27798329A-G A G
+22 27798492 22:27798492G-A G A
+22 27798655 22:27798655G-A G A
+22 27798832 22:27798832G-A G A
+22 27799006 22:27799006C-T C T
+22 27799038 22:27799038A-C A C
+22 27799251 22:27799251G-A G A
+22 27799307 22:27799307C-T C T
+22 27799868 22:27799868C-T C T
+22 27800029 22:27800029C-A C A
+22 27800835 22:27800835G-C G C
+22 27801288 22:27801288G-A G A
+22 27801334 22:27801334A-C A C
+22 27802005 22:27802005T-A T A
+22 27802006 22:27802006C-A C A
+22 27802080 22:27802080A-G A G
+22 27802088 22:27802088G-T G T
+22 27802578 22:27802578G-A G A
+22 27803409 22:27803409C-T C T
+22 27804019 22:27804019G-A G A
+22 27804079 22:27804079T-C T C
+22 27805044 22:27805044C-G C G
+22 27805463 22:27805463T-C T C
+22 27806502 22:27806502T-C T C
+22 27806889 22:27806889G-T G T
+22 27807098 22:27807098C-A C A
+22 27807237 22:27807237T-C T C
+22 27807573 22:27807573T-A T A
+22 27807705 22:27807705C-T C T
+22 27807787 22:27807787C-G C G
+22 27808186 22:27808186A-G A G
+22 27808478 22:27808478C-T C T
+22 27809401 22:27809401A-C A C
+22 27809402 22:27809402C-T C T
+22 27811767 22:27811767G-T G T
+22 27813277 22:27813277C-G C G
+22 27813701 22:27813701G-A G A
+22 27813751 22:27813751G-T G T
+22 27814059 22:27814059C-A C A
+22 27814070 22:27814070G-A G A
+22 27814082 22:27814082C-T C T
+22 27814314 22:27814314G-A G A
+22 27814417 22:27814417C-T C T
+22 27814604 22:27814604T-C T C
+22 27815491 22:27815491A-G A G
+22 27815564 22:27815564T-C T C
+22 27815735 22:27815735G-A G A
+22 27816110 22:27816110C-G C G
+22 27816514 22:27816514G-A G A
+22 27816556 22:27816556T-G T G
+22 27816784 22:27816784G-A G A
+22 27817117 22:27817117C-G C G
+22 27817300 22:27817300T-C T C
+22 27817362 22:27817362A-T A T
+22 27817516 22:27817516T-G T G
+22 27817776 22:27817776T-C T C
+22 27817928 22:27817928C-T C T
+22 27818235 22:27818235C-A C A
+22 27818428 22:27818428T-C T C
+22 27818596 22:27818596C-T C T
+22 27818700 22:27818700T-C T C
+22 27818766 22:27818766T-G T G
+22 27818982 22:27818982C-G C G
+22 27819382 22:27819382G-A G A
+22 27819961 22:27819961C-T C T
+22 27820751 22:27820751T-C T C
+22 27820961 22:27820961G-A G A
+22 27821656 22:27821656T-C T C
+22 27822043 22:27822043G-A G A
+22 27822059 22:27822059A-C A C
+22 27822231 22:27822231C-T C T
+22 27822583 22:27822583G-A G A
+22 27822897 22:27822897C-T C T
+22 27823040 22:27823040T-G T G
+22 27823214 22:27823214C-T C T
+22 27823215 22:27823215A-G A G
+22 27823333 22:27823333G-C G C
+22 27823368 22:27823368A-G A G
+22 27823447 22:27823447C-T C T
+22 27823823 22:27823823C-T C T
+22 27824473 22:27824473C-T C T
+22 27825612 22:27825612A-C A C
+22 27825804 22:27825804G-A G A
+22 27829661 22:27829661T-C T C
+22 27831342 22:27831342G-A G A
+22 27831347 22:27831347C-T C T
+22 27831650 22:27831650A-G A G
+22 27837974 22:27837974C-T C T
+22 27839704 22:27839704C-T C T
+22 27840891 22:27840891G-A G A
+22 27841518 22:27841518A-G A G
+22 27841691 22:27841691T-G T G
+22 27841795 22:27841795T-A T A
+22 27841982 22:27841982T-C T C
+22 27842315 22:27842315A-T A T
+22 27843753 22:27843753G-A G A
+22 27844101 22:27844101T-G T G
+22 27844670 22:27844670G-C G C
+22 27846522 22:27846522G-C G C
+22 27846875 22:27846875A-T A T
+22 27847318 22:27847318G-A G A
+22 27850544 22:27850544T-C T C
+22 27850871 22:27850871A-T A T
+22 27852183 22:27852183T-C T C
+22 27852275 22:27852275A-G A G
+22 27852488 22:27852488C-T C T
+22 27852569 22:27852569C-T C T
+22 27852587 22:27852587G-A G A
+22 27852797 22:27852797T-C T C
+22 27852867 22:27852867C-G C G
+22 27852890 22:27852890G-A G A
+22 27853988 22:27853988T-C T C
+22 27854694 22:27854694T-C T C
+22 27854724 22:27854724T-C T C
+22 27854979 22:27854979T-C T C
+22 27855066 22:27855066G-A G A
+22 27855073 22:27855073A-G A G
+22 27855335 22:27855335C-A C A
+22 27856190 22:27856190G-A G A
+22 27856512 22:27856512A-T A T
+22 27857172 22:27857172G-A G A
+22 27857245 22:27857245C-T C T
+22 27857319 22:27857319C-T C T
+22 27857717 22:27857717G-A G A
+22 27858043 22:27858043T-G T G
+22 27858684 22:27858684A-C A C
+22 27858703 22:27858703G-A G A
+22 27858801 22:27858801G-T G T
+22 27858988 22:27858988A-C A C
+22 27859139 22:27859139C-G C G
+22 27860243 22:27860243A-G A G
+22 27860529 22:27860529A-G A G
+22 27860965 22:27860965G-C G C
+22 27861922 22:27861922G-A G A
+22 27861962 22:27861962G-A G A
+22 27862191 22:27862191T-C T C
+22 27862769 22:27862769C-T C T
+22 27862808 22:27862808C-T C T
+22 27862874 22:27862874A-G A G
+22 27862899 22:27862899A-G A G
+22 27862975 22:27862975T-C T C
+22 27863032 22:27863032T-C T C
+22 27863094 22:27863094A-T A T
+22 27863242 22:27863242A-C A C
+22 27863300 22:27863300G-A G A
+22 27863694 22:27863694C-T C T
+22 27864048 22:27864048C-T C T
+22 27864073 22:27864073G-A G A
+22 27864144 22:27864144A-G A G
+22 27864255 22:27864255T-A T A
+22 27864440 22:27864440C-T C T
+22 27864471 22:27864471C-A C A
+22 27864890 22:27864890C-T C T
+22 27865062 22:27865062G-A G A
+22 27865344 22:27865344A-C A C
+22 27865878 22:27865878T-C T C
+22 27866472 22:27866472A-G A G
+22 27867567 22:27867567G-A G A
+22 27867934 22:27867934G-A G A
+22 27868308 22:27868308T-C T C
+22 27869017 22:27869017A-G A G
+22 27869118 22:27869118A-G A G
+22 27869126 22:27869126G-A G A
+22 27869192 22:27869192T-C T C
+22 27869375 22:27869375T-C T C
+22 27870265 22:27870265A-G A G
+22 27872030 22:27872030A-G A G
+22 27872463 22:27872463C-T C T
+22 27873024 22:27873024A-G A G
+22 27873353 22:27873353G-C G C
+22 27875332 22:27875332C-A C A
+22 27876151 22:27876151G-T G T
+22 27876753 22:27876753T-C T C
+22 27876815 22:27876815A-G A G
+22 27876939 22:27876939T-C T C
+22 27876972 22:27876972A-G A G
+22 27877684 22:27877684T-C T C
+22 27878619 22:27878619G-A G A
+22 27878857 22:27878857C-T C T
+22 27879042 22:27879042G-A G A
+22 27879170 22:27879170C-T C T
+22 27879333 22:27879333G-A G A
+22 27880207 22:27880207G-A G A
+22 27880310 22:27880310T-C T C
+22 27880490 22:27880490C-A C A
+22 27880501 22:27880501A-T A T
+22 27880924 22:27880924C-T C T
+22 27880936 22:27880936G-C G C
+22 27881013 22:27881013G-A G A
+22 27881196 22:27881196T-C T C
+22 27881211 22:27881211C-T C T
+22 27881212 22:27881212C-G C G
+22 27881377 22:27881377A-T A T
+22 27881452 22:27881452G-A G A
+22 27881805 22:27881805T-A T A
+22 27881843 22:27881843A-G A G
+22 27881885 22:27881885C-T C T
+22 27882039 22:27882039T-C T C
+22 27882245 22:27882245C-T C T
+22 27882282 22:27882282C-A C A
+22 27882687 22:27882687T-G T G
+22 27882704 22:27882704A-G A G
+22 27882716 22:27882716G-T G T
+22 27882874 22:27882874A-C A C
+22 27882876 22:27882876A-G A G
+22 27882878 22:27882878A-C A C
+22 27882904 22:27882904C-G C G
+22 27883136 22:27883136C-T C T
+22 27883189 22:27883189G-A G A
+22 27883265 22:27883265A-G A G
+22 27883316 22:27883316C-T C T
+22 27883341 22:27883341C-T C T
+22 27883536 22:27883536G-A G A
+22 27883841 22:27883841T-C T C
+22 27883950 22:27883950G-A G A
+22 27883993 22:27883993C-T C T
+22 27884073 22:27884073G-A G A
+22 27884156 22:27884156C-T C T
+22 27884455 22:27884455T-A T A
+22 27884935 22:27884935G-A G A
+22 27886537 22:27886537A-G A G
+22 27886736 22:27886736G-A G A
+22 27886819 22:27886819C-T C T
+22 27887420 22:27887420C-T C T
+22 27887471 22:27887471A-C A C
+22 27887829 22:27887829G-C G C
+22 27887895 22:27887895C-A C A
+22 27888231 22:27888231A-G A G
+22 27888311 22:27888311G-A G A
+22 27888434 22:27888434G-A G A
+22 27888558 22:27888558G-A G A
+22 27889627 22:27889627G-C G C
+22 27890684 22:27890684G-A G A
+22 27891410 22:27891410G-A G A
+22 27891715 22:27891715C-G C G
+22 27892236 22:27892236C-T C T
+22 27892976 22:27892976T-G T G
+22 27892977 22:27892977A-C A C
+22 27893307 22:27893307A-G A G
+22 27893497 22:27893497C-T C T
+22 27893693 22:27893693G-A G A
+22 27893850 22:27893850G-T G T
+22 27893895 22:27893895C-T C T
+22 27893974 22:27893974G-T G T
+22 27894016 22:27894016C-T C T
+22 27894302 22:27894302A-G A G
+22 27894384 22:27894384A-T A T
+22 27894536 22:27894536A-G A G
+22 27894539 22:27894539C-A C A
+22 27894675 22:27894675C-T C T
+22 27894740 22:27894740G-T G T
+22 27894817 22:27894817G-C G C
+22 27894847 22:27894847C-T C T
+22 27895305 22:27895305G-A G A
+22 27895525 22:27895525T-C T C
+22 27895526 22:27895526G-A G A
+22 27896011 22:27896011C-T C T
+22 27896321 22:27896321G-A G A
+22 27896369 22:27896369G-A G A
+22 27896409 22:27896409C-T C T
+22 27896605 22:27896605G-A G A
+22 27896908 22:27896908G-T G T
+22 27897701 22:27897701T-A T A
+22 27897886 22:27897886G-C G C
+22 27898321 22:27898321G-T G T
+22 27898638 22:27898638T-C T C
+22 27898793 22:27898793G-A G A
+22 27899270 22:27899270C-T C T
+22 27899339 22:27899339T-C T C
+22 27899394 22:27899394C-G C G
+22 27899464 22:27899464T-G T G
+22 27899500 22:27899500A-T A T
+22 27899679 22:27899679G-A G A
+22 27899801 22:27899801G-T G T
+22 27899867 22:27899867C-T C T
+22 27900025 22:27900025T-G T G
+22 27900057 22:27900057G-A G A
+22 27900129 22:27900129C-T C T
+22 27900255 22:27900255T-C T C
+22 27900324 22:27900324A-T A T
+22 27900353 22:27900353T-A T A
+22 27900425 22:27900425G-A G A
+22 27900846 22:27900846G-A G A
+22 27900904 22:27900904A-G A G
+22 27900961 22:27900961A-C A C
+22 27901505 22:27901505G-A G A
+22 27901554 22:27901554G-C G C
+22 27901804 22:27901804A-G A G
+22 27901915 22:27901915C-T C T
+22 27902257 22:27902257C-T C T
+22 27902276 22:27902276G-A G A
+22 27902354 22:27902354C-T C T
+22 27902795 22:27902795T-C T C
+22 27902972 22:27902972T-C T C
+22 27902981 22:27902981C-T C T
+22 27903107 22:27903107G-C G C
+22 27903116 22:27903116G-T G T
+22 27903420 22:27903420C-T C T
+22 27903582 22:27903582C-T C T
+22 27903583 22:27903583A-T A T
+22 27904168 22:27904168A-G A G
+22 27904170 22:27904170C-A C A
+22 27904593 22:27904593A-G A G
+22 27904834 22:27904834T-G T G
+22 27905428 22:27905428T-C T C
+22 27905762 22:27905762C-T C T
+22 27905826 22:27905826G-T G T
+22 27905926 22:27905926C-G C G
+22 27906244 22:27906244G-C G C
+22 27906256 22:27906256G-C G C
+22 27906686 22:27906686T-C T C
+22 27906722 22:27906722A-G A G
+22 27907429 22:27907429T-C T C
+22 27908236 22:27908236G-A G A
+22 27909106 22:27909106A-G A G
+22 27910138 22:27910138C-A C A
+22 27910759 22:27910759G-A G A
+22 27911622 22:27911622G-A G A
+22 27911747 22:27911747C-T C T
+22 27911980 22:27911980G-A G A
+22 27912171 22:27912171A-G A G
+22 27912970 22:27912970G-C G C
+22 27913012 22:27913012G-A G A
+22 27913178 22:27913178A-G A G
+22 27913387 22:27913387G-A G A
+22 27913485 22:27913485T-A T A
+22 27913532 22:27913532C-T C T
+22 27913646 22:27913646T-G T G
+22 27913890 22:27913890T-G T G
+22 27914054 22:27914054G-A G A
+22 27914249 22:27914249G-A G A
+22 27914480 22:27914480C-T C T
+22 27914576 22:27914576G-A G A
+22 27914942 22:27914942G-A G A
+22 27915061 22:27915061C-G C G
+22 27915471 22:27915471G-A G A
+22 27915615 22:27915615C-T C T
+22 27915705 22:27915705C-T C T
+22 27915778 22:27915778C-T C T
+22 27915805 22:27915805A-G A G
+22 27916145 22:27916145A-G A G
+22 27916393 22:27916393A-G A G
+22 27917029 22:27917029T-A T A
+22 27917070 22:27917070G-A G A
+22 27917803 22:27917803G-C G C
+22 27917940 22:27917940C-T C T
+22 27918008 22:27918008T-C T C
+22 27918131 22:27918131C-T C T
+22 27918171 22:27918171C-T C T
+22 27918182 22:27918182A-G A G
+22 27918184 22:27918184G-A G A
+22 27918250 22:27918250G-A G A
+22 27918251 22:27918251G-A G A
+22 27918255 22:27918255T-A T A
+22 27918505 22:27918505C-T C T
+22 27918557 22:27918557T-G T G
+22 27918710 22:27918710T-C T C
+22 27919009 22:27919009G-A G A
+22 27919779 22:27919779G-A G A
+22 27919967 22:27919967A-C A C
+22 27920038 22:27920038C-T C T
+22 27920144 22:27920144T-C T C
+22 27920173 22:27920173T-C T C
+22 27920240 22:27920240C-G C G
+22 27920269 22:27920269T-G T G
+22 27920352 22:27920352C-T C T
+22 27920547 22:27920547T-G T G
+22 27921255 22:27921255G-A G A
+22 27921791 22:27921791T-C T C
+22 27922431 22:27922431G-C G C
+22 27922614 22:27922614C-T C T
+22 27922662 22:27922662C-T C T
+22 27922707 22:27922707C-T C T
+22 27922759 22:27922759C-T C T
+22 27923343 22:27923343G-A G A
+22 27923399 22:27923399C-T C T
+22 27923635 22:27923635T-C T C
+22 27923888 22:27923888A-G A G
+22 27924275 22:27924275A-C A C
+22 27924516 22:27924516T-C T C
+22 27924857 22:27924857G-A G A
+22 27924906 22:27924906A-C A C
+22 27924976 22:27924976C-T C T
+22 27925017 22:27925017T-C T C
+22 27925090 22:27925090A-G A G
+22 27925253 22:27925253A-G A G
+22 27925288 22:27925288G-A G A
+22 27925604 22:27925604C-G C G
+22 27926280 22:27926280A-C A C
+22 27927026 22:27927026G-A G A
+22 27927298 22:27927298C-T C T
+22 27928042 22:27928042C-T C T
+22 27928650 22:27928650G-A G A
+22 27928652 22:27928652G-A G A
+22 27929270 22:27929270C-T C T
+22 27929853 22:27929853T-C T C
+22 27930080 22:27930080C-A C A
+22 27930375 22:27930375A-G A G
+22 27930649 22:27930649A-G A G
+22 27930781 22:27930781C-T C T
+22 27930851 22:27930851C-A C A
+22 27930902 22:27930902T-G T G
+22 27931132 22:27931132C-A C A
+22 27931552 22:27931552A-G A G
+22 27931842 22:27931842A-C A C
+22 27931924 22:27931924A-C A C
+22 27932079 22:27932079T-C T C
+22 27932458 22:27932458G-A G A
+22 27932663 22:27932663G-C G C
+22 27934290 22:27934290A-G A G
+22 27935285 22:27935285G-A G A
+22 27935369 22:27935369C-A C A
+22 27935424 22:27935424C-T C T
+22 27935721 22:27935721T-C T C
+22 27935824 22:27935824T-A T A
+22 27935845 22:27935845C-A C A
+22 27936238 22:27936238C-T C T
+22 27936306 22:27936306A-T A T
+22 27936580 22:27936580A-G A G
+22 27936871 22:27936871C-A C A
+22 27937085 22:27937085G-A G A
+22 27940060 22:27940060G-C G C
+22 27940770 22:27940770C-A C A
+22 27941726 22:27941726T-C T C
+22 27942319 22:27942319C-T C T
+22 27943861 22:27943861G-A G A
+22 27945841 22:27945841G-A G A
+22 27946728 22:27946728A-C A C
+22 27946986 22:27946986T-C T C
+22 27947860 22:27947860A-T A T
+22 27948064 22:27948064G-A G A
+22 27948127 22:27948127T-C T C
+22 27949129 22:27949129T-A T A
+22 27949306 22:27949306G-C G C
+22 27950015 22:27950015G-A G A
+22 27950553 22:27950553G-A G A
+22 27951161 22:27951161C-G C G
+22 27951176 22:27951176G-A G A
+22 27951587 22:27951587G-A G A
+22 27952123 22:27952123C-T C T
+22 27952346 22:27952346C-T C T
+22 27952608 22:27952608T-C T C
+22 27953418 22:27953418C-T C T
+22 27953716 22:27953716C-T C T
+22 27953914 22:27953914T-C T C
+22 27954506 22:27954506C-T C T
+22 27954543 22:27954543G-A G A
+22 27955199 22:27955199G-A G A
+22 27955410 22:27955410G-A G A
+22 27956628 22:27956628A-C A C
+22 27957277 22:27957277T-C T C
+22 27957942 22:27957942G-A G A
+22 27957965 22:27957965G-A G A
+22 27958126 22:27958126G-A G A
+22 27958939 22:27958939C-T C T
+22 27959094 22:27959094G-A G A
+22 27959320 22:27959320G-C G C
+22 27959466 22:27959466G-C G C
+22 27959705 22:27959705C-T C T
+22 27959752 22:27959752G-A G A
+22 27959754 22:27959754G-A G A
+22 27959841 22:27959841C-T C T
+22 27960098 22:27960098G-A G A
+22 27960309 22:27960309G-A G A
+22 27960580 22:27960580C-T C T
+22 27960673 22:27960673G-A G A
+22 27960676 22:27960676G-A G A
+22 27960790 22:27960790C-T C T
+22 27961199 22:27961199G-C G C
+22 27961350 22:27961350C-T C T
+22 27961878 22:27961878C-T C T
+22 27962040 22:27962040A-T A T
+22 27962231 22:27962231G-A G A
+22 27962517 22:27962517A-G A G
+22 27963416 22:27963416G-A G A
+22 27963442 22:27963442C-T C T
+22 27963467 22:27963467G-A G A
+22 27963508 22:27963508A-T A T
+22 27964362 22:27964362A-C A C
+22 27964381 22:27964381G-A G A
+22 27964389 22:27964389G-A G A
+22 27964426 22:27964426A-G A G
+22 27964538 22:27964538G-A G A
+22 27965094 22:27965094G-A G A
+22 27965370 22:27965370T-C T C
+22 27965613 22:27965613G-C G C
+22 27966397 22:27966397G-A G A
+22 27966517 22:27966517C-T C T
+22 27966655 22:27966655T-C T C
+22 27967233 22:27967233G-A G A
+22 27967275 22:27967275C-T C T
+22 27967455 22:27967455G-A G A
+22 27967463 22:27967463T-C T C
+22 27967652 22:27967652G-A G A
+22 27968059 22:27968059G-C G C
+22 27968208 22:27968208T-C T C
+22 27969925 22:27969925T-A T A
+22 27970568 22:27970568T-G T G
+22 27970761 22:27970761T-A T A
+22 27971083 22:27971083G-A G A
+22 27972341 22:27972341C-T C T
+22 27972479 22:27972479A-G A G
+22 27972536 22:27972536T-G T G
+22 27973264 22:27973264C-T C T
+22 27974819 22:27974819A-C A C
+22 27975202 22:27975202T-C T C
+22 27975230 22:27975230A-T A T
+22 27975247 22:27975247A-G A G
+22 27975321 22:27975321A-T A T
+22 27975451 22:27975451A-G A G
+22 27976203 22:27976203T-C T C
+22 27977011 22:27977011C-T C T
+22 27977493 22:27977493C-G C G
+22 27977562 22:27977562A-G A G
+22 27977955 22:27977955A-T A T
+22 27978272 22:27978272G-A G A
+22 27978512 22:27978512C-T C T
+22 27978565 22:27978565C-A C A
+22 27978888 22:27978888C-G C G
+22 27979102 22:27979102A-G A G
+22 27979133 22:27979133G-A G A
+22 27979150 22:27979150G-A G A
+22 27979468 22:27979468C-G C G
+22 27979793 22:27979793T-A T A
+22 27980107 22:27980107C-G C G
+22 27980126 22:27980126G-T G T
+22 27980179 22:27980179T-C T C
+22 27980440 22:27980440A-G A G
+22 27980751 22:27980751C-T C T
+22 27980876 22:27980876T-C T C
+22 27981094 22:27981094T-C T C
+22 27981370 22:27981370G-A G A
+22 27981618 22:27981618C-T C T
+22 27981879 22:27981879A-G A G
+22 27981884 22:27981884A-G A G
+22 27983422 22:27983422G-A G A
+22 27984025 22:27984025G-C G C
+22 27984034 22:27984034G-C G C
+22 27984780 22:27984780G-A G A
+22 27985473 22:27985473G-A G A
+22 27985489 22:27985489C-A C A
+22 27985660 22:27985660C-T C T
+22 27986010 22:27986010T-C T C
+22 27986817 22:27986817A-G A G
+22 27987202 22:27987202G-A G A
+22 27987840 22:27987840G-T G T
+22 27988228 22:27988228G-A G A
+22 27988234 22:27988234G-A G A
+22 27988398 22:27988398G-A G A
+22 27989166 22:27989166T-C T C
+22 27989244 22:27989244T-G T G
+22 27989329 22:27989329C-T C T
+22 27989342 22:27989342A-G A G
+22 27989434 22:27989434T-C T C
+22 27989777 22:27989777T-C T C
+22 27989890 22:27989890T-C T C
+22 27989946 22:27989946T-C T C
+22 27990077 22:27990077G-A G A
+22 27990415 22:27990415G-A G A
+22 27991069 22:27991069A-G A G
+22 27992262 22:27992262G-A G A
+22 27992413 22:27992413T-C T C
+22 27992747 22:27992747C-T C T
+22 27993597 22:27993597A-C A C
+22 27993898 22:27993898A-G A G
+22 27994059 22:27994059T-C T C
+22 27996402 22:27996402T-C T C
+22 27996532 22:27996532T-C T C
+22 27996543 22:27996543G-C G C
+22 27997072 22:27997072G-A G A
+22 27997290 22:27997290C-T C T
+22 27997296 22:27997296C-A C A
+22 27997594 22:27997594C-A C A
+22 27998016 22:27998016A-T A T
+22 27998709 22:27998709G-A G A
+22 27998795 22:27998795G-T G T
+22 27999020 22:27999020A-T A T
+22 27999140 22:27999140T-G T G
+22 27999690 22:27999690G-A G A
+22 27999855 22:27999855T-C T C
+22 28000527 22:28000527G-A G A
+22 28000638 22:28000638A-T A T
+22 28000856 22:28000856T-C T C
+22 28001541 22:28001541C-T C T
+22 28001613 22:28001613A-G A G
+22 28002451 22:28002451G-C G C
+22 28002452 22:28002452G-A G A
+22 28003266 22:28003266T-C T C
+22 28004494 22:28004494G-A G A
+22 28004827 22:28004827G-A G A
+22 28004951 22:28004951C-G C G
+22 28005082 22:28005082G-A G A
+22 28005495 22:28005495T-C T C
+22 28005719 22:28005719C-G C G
+22 28005729 22:28005729T-G T G
+22 28007270 22:28007270T-A T A
+22 28007568 22:28007568G-A G A
+22 28007741 22:28007741T-C T C
+22 28008015 22:28008015G-A G A
+22 28008105 22:28008105T-C T C
+22 28008284 22:28008284C-T C T
+22 28008723 22:28008723C-T C T
+22 28008858 22:28008858A-G A G
+22 28009004 22:28009004G-T G T
+22 28009305 22:28009305G-A G A
+22 28009639 22:28009639G-A G A
+22 28010084 22:28010084T-G T G
+22 28010936 22:28010936C-A C A
+22 28010956 22:28010956G-T G T
+22 28011067 22:28011067G-A G A
+22 28011386 22:28011386G-A G A
+22 28011484 22:28011484G-T G T
+22 28011695 22:28011695C-T C T
+22 28011927 22:28011927A-G A G
+22 28012011 22:28012011T-G T G
+22 28012260 22:28012260A-G A G
+22 28012503 22:28012503G-A G A
+22 28012595 22:28012595G-A G A
+22 28012615 22:28012615C-T C T
+22 28012628 22:28012628G-A G A
+22 28013038 22:28013038A-G A G
+22 28013122 22:28013122T-C T C
+22 28013445 22:28013445T-C T C
+22 28013880 22:28013880T-C T C
+22 28014251 22:28014251C-T C T
+22 28014929 22:28014929T-G T G
+22 28015125 22:28015125C-T C T
+22 28015142 22:28015142C-T C T
+22 28015322 22:28015322A-C A C
+22 28015487 22:28015487A-G A G
+22 28015636 22:28015636G-C G C
+22 28015689 22:28015689C-G C G
+22 28015711 22:28015711C-G C G
+22 28015740 22:28015740G-A G A
+22 28015843 22:28015843A-G A G
+22 28015848 22:28015848G-T G T
+22 28015911 22:28015911C-A C A
+22 28015920 22:28015920G-A G A
+22 28015968 22:28015968T-C T C
+22 28015983 22:28015983G-T G T
+22 28015986 22:28015986A-G A G
+22 28016068 22:28016068A-G A G
+22 28016150 22:28016150C-T C T
+22 28016289 22:28016289T-C T C
+22 28016312 22:28016312G-C G C
+22 28016409 22:28016409C-T C T
+22 28016683 22:28016683C-T C T
+22 28016739 22:28016739G-C G C
+22 28016883 22:28016883A-C A C
+22 28016909 22:28016909G-C G C
+22 28017467 22:28017467G-A G A
+22 28017801 22:28017801C-T C T
+22 28017831 22:28017831T-G T G
+22 28017848 22:28017848G-T G T
+22 28018793 22:28018793G-A G A
+22 28018908 22:28018908C-G C G
+22 28018980 22:28018980C-G C G
+22 28019060 22:28019060A-G A G
+22 28019071 22:28019071G-A G A
+22 28019908 22:28019908T-C T C
+22 28020187 22:28020187A-T A T
+22 28020528 22:28020528G-A G A
+22 28020555 22:28020555G-A G A
+22 28020981 22:28020981A-G A G
+22 28021619 22:28021619G-A G A
+22 28021726 22:28021726G-T G T
+22 28021788 22:28021788A-G A G
+22 28022026 22:28022026G-A G A
+22 28022050 22:28022050G-T G T
+22 28022108 22:28022108C-T C T
+22 28022195 22:28022195C-T C T
+22 28022728 22:28022728A-G A G
+22 28023003 22:28023003T-C T C
+22 28023063 22:28023063A-G A G
+22 28023875 22:28023875T-G T G
+22 28023898 22:28023898C-T C T
+22 28024182 22:28024182T-C T C
+22 28024467 22:28024467T-C T C
+22 28024506 22:28024506G-C G C
+22 28024531 22:28024531A-G A G
+22 28027021 22:28027021G-A G A
+22 28027132 22:28027132C-G C G
+22 28027335 22:28027335A-T A T
+22 28027704 22:28027704G-A G A
+22 28028948 22:28028948C-G C G
+22 28029538 22:28029538C-T C T
+22 28029685 22:28029685G-T G T
+22 28030091 22:28030091A-T A T
+22 28030233 22:28030233C-T C T
+22 28030625 22:28030625C-T C T
+22 28030638 22:28030638C-T C T
+22 28030650 22:28030650G-A G A
+22 28030840 22:28030840G-C G C
+22 28030915 22:28030915C-A C A
+22 28031186 22:28031186T-G T G
+22 28032457 22:28032457C-T C T
+22 28032831 22:28032831A-G A G
+22 28033030 22:28033030A-G A G
+22 28033628 22:28033628T-C T C
+22 28033959 22:28033959T-C T C
+22 28034300 22:28034300C-G C G
+22 28034931 22:28034931G-C G C
+22 28035413 22:28035413C-T C T
+22 28035544 22:28035544T-C T C
+22 28036151 22:28036151T-C T C
+22 28036208 22:28036208T-C T C
+22 28036473 22:28036473T-G T G
+22 28036626 22:28036626C-G C G
+22 28036837 22:28036837C-T C T
+22 28036850 22:28036850T-G T G
+22 28037010 22:28037010A-C A C
+22 28038356 22:28038356G-A G A
+22 28038608 22:28038608A-G A G
+22 28039203 22:28039203G-T G T
+22 28040742 22:28040742G-A G A
+22 28040974 22:28040974A-G A G
+22 28042040 22:28042040G-A G A
+22 28042529 22:28042529C-T C T
+22 28042532 22:28042532C-T C T
+22 28042658 22:28042658T-G T G
+22 28043209 22:28043209A-C A C
+22 28043820 22:28043820C-G C G
+22 28044057 22:28044057T-G T G
+22 28044236 22:28044236G-A G A
+22 28044325 22:28044325G-A G A
+22 28044594 22:28044594A-C A C
+22 28045229 22:28045229T-C T C
+22 28046256 22:28046256T-G T G
+22 28046423 22:28046423C-T C T
+22 28046482 22:28046482C-T C T
+22 28046516 22:28046516C-T C T
+22 28046561 22:28046561C-T C T
+22 28046606 22:28046606C-T C T
+22 28047392 22:28047392T-C T C
+22 28047876 22:28047876T-C T C
+22 28047929 22:28047929G-A G A
+22 28048391 22:28048391C-T C T
+22 28048803 22:28048803C-T C T
+22 28048932 22:28048932A-C A C
+22 28049550 22:28049550A-G A G
+22 28049597 22:28049597T-C T C
+22 28050390 22:28050390C-T C T
+22 28051037 22:28051037C-G C G
+22 28051632 22:28051632G-T G T
+22 28053797 22:28053797C-T C T
+22 28054280 22:28054280G-A G A
+22 28054814 22:28054814G-A G A
+22 28055460 22:28055460A-G A G
+22 28055501 22:28055501T-C T C
+22 28056338 22:28056338T-C T C
+22 28056523 22:28056523C-A C A
+22 28057092 22:28057092T-C T C
+22 28058570 22:28058570T-C T C
+22 28058587 22:28058587G-T G T
+22 28058655 22:28058655C-T C T
+22 28059002 22:28059002G-A G A
+22 28059703 22:28059703G-A G A
+22 28059705 22:28059705C-T C T
+22 28059740 22:28059740T-C T C
+22 28060034 22:28060034G-A G A
+22 28060148 22:28060148G-T G T
+22 28060203 22:28060203C-T C T
+22 28060210 22:28060210C-A C A
+22 28060814 22:28060814T-C T C
+22 28060842 22:28060842C-T C T
+22 28060956 22:28060956G-A G A
+22 28060985 22:28060985G-C G C
+22 28061193 22:28061193G-A G A
+22 28061529 22:28061529C-T C T
+22 28062506 22:28062506C-T C T
+22 28063227 22:28063227A-G A G
+22 28063591 22:28063591C-T C T
+22 28063730 22:28063730A-C A C
+22 28065092 22:28065092G-A G A
+22 28065480 22:28065480T-C T C
+22 28065519 22:28065519C-T C T
+22 28066600 22:28066600A-G A G
+22 28066905 22:28066905G-A G A
+22 28067205 22:28067205T-C T C
+22 28067235 22:28067235T-C T C
+22 28067389 22:28067389A-G A G
+22 28067502 22:28067502G-A G A
+22 28068444 22:28068444A-T A T
+22 28068564 22:28068564T-A T A
+22 28068630 22:28068630G-A G A
+22 28069396 22:28069396A-C A C
+22 28070326 22:28070326A-G A G
+22 28070766 22:28070766T-G T G
+22 28071667 22:28071667G-T G T
+22 28071675 22:28071675T-C T C
+22 28071706 22:28071706C-T C T
+22 28072042 22:28072042C-T C T
+22 28072940 22:28072940A-G A G
+22 28073265 22:28073265A-G A G
+22 28073270 22:28073270A-C A C
+22 28073495 22:28073495A-G A G
+22 28074256 22:28074256T-C T C
+22 28074740 22:28074740G-A G A
+22 28075256 22:28075256A-G A G
+22 28075879 22:28075879T-G T G
+22 28075992 22:28075992T-C T C
+22 28076058 22:28076058T-C T C
+22 28076285 22:28076285T-C T C
+22 28077114 22:28077114C-T C T
+22 28078535 22:28078535C-T C T
+22 28078747 22:28078747C-T C T
+22 28079911 22:28079911A-G A G
+22 28081131 22:28081131A-C A C
+22 28081203 22:28081203G-C G C
+22 28082093 22:28082093T-C T C
+22 28082715 22:28082715A-G A G
+22 28083520 22:28083520G-A G A
+22 28084554 22:28084554G-A G A
+22 28085300 22:28085300G-A G A
+22 28085749 22:28085749C-T C T
+22 28086145 22:28086145C-T C T
+22 28086991 22:28086991T-C T C
+22 28087123 22:28087123C-T C T
+22 28087306 22:28087306T-A T A
+22 28088298 22:28088298G-C G C
+22 28088661 22:28088661T-C T C
+22 28088738 22:28088738C-T C T
+22 28088750 22:28088750C-G C G
+22 28089643 22:28089643A-C A C
+22 28090207 22:28090207G-A G A
+22 28090252 22:28090252A-T A T
+22 28090374 22:28090374A-G A G
+22 28091982 22:28091982A-G A G
+22 28092551 22:28092551T-C T C
+22 28092988 22:28092988T-C T C
+22 28093392 22:28093392G-T G T
+22 28093463 22:28093463C-G C G
+22 28093712 22:28093712G-A G A
+22 28093777 22:28093777C-G C G
+22 28094047 22:28094047T-C T C
+22 28094156 22:28094156T-C T C
+22 28094573 22:28094573C-T C T
+22 28094610 22:28094610G-A G A
+22 28094845 22:28094845A-G A G
+22 28095240 22:28095240T-A T A
+22 28095488 22:28095488A-G A G
+22 28095783 22:28095783A-G A G
+22 28096740 22:28096740A-G A G
+22 28098029 22:28098029A-G A G
+22 28098144 22:28098144C-A C A
+22 28098326 22:28098326G-C G C
+22 28098436 22:28098436G-A G A
+22 28098678 22:28098678G-A G A
+22 28098741 22:28098741G-A G A
+22 28098790 22:28098790G-T G T
+22 28098832 22:28098832A-C A C
+22 28098860 22:28098860C-T C T
+22 28099361 22:28099361C-T C T
+22 28099479 22:28099479G-A G A
+22 28099649 22:28099649A-G A G
+22 28099778 22:28099778C-T C T
+22 28100219 22:28100219G-A G A
+22 28100261 22:28100261G-A G A
+22 28100436 22:28100436T-C T C
+22 28100987 22:28100987G-C G C
+22 28101289 22:28101289G-A G A
+22 28101366 22:28101366G-A G A
+22 28101389 22:28101389C-A C A
+22 28101681 22:28101681A-G A G
+22 28101703 22:28101703G-T G T
+22 28101772 22:28101772A-T A T
+22 28101781 22:28101781A-G A G
+22 28101896 22:28101896A-G A G
+22 28102048 22:28102048G-T G T
+22 28102382 22:28102382G-T G T
+22 28102496 22:28102496A-G A G
+22 28102594 22:28102594C-T C T
+22 28102627 22:28102627G-A G A
+22 28102894 22:28102894A-G A G
+22 28102970 22:28102970T-C T C
+22 28103087 22:28103087C-T C T
+22 28103259 22:28103259A-G A G
+22 28103787 22:28103787A-C A C
+22 28104051 22:28104051G-A G A
+22 28104062 22:28104062G-A G A
+22 28104907 22:28104907A-G A G
+22 28104977 22:28104977G-A G A
+22 28105851 22:28105851G-A G A
+22 28106208 22:28106208T-A T A
+22 28106402 22:28106402A-G A G
+22 28107076 22:28107076G-C G C
+22 28107140 22:28107140A-G A G
+22 28107284 22:28107284C-T C T
+22 28107388 22:28107388C-G C G
+22 28108071 22:28108071C-G C G
+22 28108379 22:28108379T-C T C
+22 28108726 22:28108726C-T C T
+22 28109273 22:28109273A-G A G
+22 28109329 22:28109329G-C G C
+22 28109490 22:28109490C-T C T
+22 28109580 22:28109580T-G T G
+22 28109665 22:28109665A-G A G
+22 28110312 22:28110312T-C T C
+22 28110477 22:28110477G-C G C
+22 28110965 22:28110965G-A G A
+22 28111578 22:28111578G-A G A
+22 28111806 22:28111806C-T C T
+22 28111977 22:28111977T-C T C
+22 28112070 22:28112070T-C T C
+22 28112217 22:28112217C-G C G
+22 28113103 22:28113103A-G A G
+22 28114158 22:28114158C-G C G
+22 28114492 22:28114492A-G A G
+22 28114621 22:28114621C-T C T
+22 28115051 22:28115051T-C T C
+22 28115346 22:28115346A-T A T
+22 28115582 22:28115582T-C T C
+22 28115594 22:28115594G-A G A
+22 28115669 22:28115669G-A G A
+22 28116313 22:28116313T-A T A
+22 28116769 22:28116769C-G C G
+22 28117013 22:28117013T-C T C
+22 28117297 22:28117297A-T A T
+22 28117783 22:28117783C-T C T
+22 28117796 22:28117796G-A G A
+22 28117969 22:28117969A-G A G
+22 28118307 22:28118307T-C T C
+22 28118805 22:28118805A-G A G
+22 28119299 22:28119299C-T C T
+22 28119559 22:28119559A-G A G
+22 28120153 22:28120153G-C G C
+22 28120707 22:28120707C-T C T
+22 28121605 22:28121605G-C G C
+22 28122701 22:28122701A-G A G
+22 28123270 22:28123270A-G A G
+22 28123686 22:28123686G-A G A
+22 28124656 22:28124656A-G A G
+22 28124738 22:28124738G-A G A
+22 28125496 22:28125496G-A G A
+22 28125735 22:28125735A-G A G
+22 28125740 22:28125740G-A G A
+22 28126152 22:28126152G-A G A
+22 28126598 22:28126598C-T C T
+22 28126771 22:28126771G-C G C
+22 28127045 22:28127045G-C G C
+22 28127177 22:28127177G-C G C
+22 28127260 22:28127260A-C A C
+22 28127443 22:28127443C-T C T
+22 28127526 22:28127526C-T C T
+22 28127758 22:28127758T-C T C
+22 28128191 22:28128191T-C T C
+22 28128858 22:28128858T-C T C
+22 28129028 22:28129028C-A C A
+22 28129101 22:28129101T-A T A
+22 28129120 22:28129120G-A G A
+22 28129239 22:28129239C-A C A
+22 28129287 22:28129287T-C T C
+22 28129776 22:28129776T-C T C
+22 28130044 22:28130044G-T G T
+22 28130072 22:28130072C-T C T
+22 28130130 22:28130130T-C T C
+22 28130988 22:28130988T-G T G
+22 28131348 22:28131348C-T C T
+22 28131820 22:28131820G-A G A
+22 28133403 22:28133403G-A G A
+22 28133509 22:28133509T-A T A
+22 28134147 22:28134147G-A G A
+22 28134640 22:28134640T-C T C
+22 28134708 22:28134708T-G T G
+22 28135027 22:28135027C-T C T
+22 28135033 22:28135033A-T A T
+22 28135297 22:28135297G-A G A
+22 28136728 22:28136728T-C T C
+22 28136771 22:28136771G-A G A
+22 28136977 22:28136977C-A C A
+22 28137218 22:28137218C-T C T
+22 28137431 22:28137431T-C T C
+22 28138006 22:28138006G-A G A
+22 28139013 22:28139013T-C T C
+22 28139755 22:28139755T-G T G
+22 28140204 22:28140204G-A G A
+22 28140212 22:28140212G-A G A
+22 28140490 22:28140490G-T G T
+22 28141301 22:28141301A-G A G
+22 28141968 22:28141968A-G A G
+22 28145605 22:28145605C-T C T
+22 28147477 22:28147477G-A G A
+22 28148813 22:28148813G-A G A
+22 28149160 22:28149160A-C A C
+22 28149693 22:28149693C-A C A
+22 28149998 22:28149998C-G C G
+22 28150109 22:28150109A-G A G
+22 28150815 22:28150815G-A G A
+22 28151120 22:28151120C-G C G
+22 28151673 22:28151673A-G A G
+22 28151825 22:28151825G-A G A
+22 28152601 22:28152601G-A G A
+22 28152639 22:28152639A-G A G
+22 28153856 22:28153856A-C A C
+22 28154618 22:28154618G-T G T
+22 28155452 22:28155452G-A G A
+22 28156788 22:28156788A-G A G
+22 28157206 22:28157206T-C T C
+22 28157301 22:28157301T-C T C
+22 28159376 22:28159376G-A G A
+22 28159534 22:28159534T-G T G
+22 28159672 22:28159672G-A G A
+22 28159690 22:28159690T-C T C
+22 28159748 22:28159748T-C T C
+22 28160074 22:28160074T-C T C
+22 28160407 22:28160407C-T C T
+22 28160972 22:28160972T-G T G
+22 28160984 22:28160984G-C G C
+22 28161703 22:28161703A-G A G
+22 28163346 22:28163346G-A G A
+22 28163994 22:28163994A-G A G
+22 28164050 22:28164050T-G T G
+22 28165334 22:28165334A-G A G
+22 28165807 22:28165807G-A G A
+22 28166402 22:28166402C-G C G
+22 28166470 22:28166470C-A C A
+22 28170217 22:28170217C-T C T
+22 28170723 22:28170723A-T A T
+22 28172577 22:28172577T-G T G
+22 28173030 22:28173030G-A G A
+22 28173898 22:28173898T-C T C
+22 28174969 22:28174969G-C G C
+22 28175162 22:28175162C-T C T
+22 28175741 22:28175741G-A G A
+22 28179823 22:28179823T-C T C
+22 28181399 22:28181399C-T C T
+22 28181436 22:28181436A-C A C
+22 28185452 22:28185452T-G T G
+22 28186287 22:28186287G-A G A
+22 28186289 22:28186289A-G A G
+22 28186370 22:28186370A-G A G
+22 28186775 22:28186775T-C T C
+22 28187396 22:28187396A-G A G
+22 28188203 22:28188203T-C T C
+22 28190414 22:28190414A-T A T
+22 28191895 22:28191895G-T G T
+22 28199417 22:28199417T-G T G
+22 28201526 22:28201526A-G A G
+22 28204797 22:28204797T-C T C
+22 28206194 22:28206194A-G A G
+22 28206400 22:28206400C-A C A
+22 28206912 22:28206912A-C A C
+22 28206959 22:28206959C-T C T
+22 28207139 22:28207139T-C T C
+22 28207630 22:28207630G-T G T
+22 28208528 22:28208528C-G C G
+22 28208729 22:28208729A-G A G
+22 28208794 22:28208794C-T C T
+22 28209666 22:28209666T-A T A
+22 28210254 22:28210254G-A G A
+22 28210354 22:28210354G-A G A
+22 28210864 22:28210864A-G A G
+22 28213044 22:28213044C-T C T
+22 28213866 22:28213866C-T C T
+22 28256019 22:28256019A-G A G
+22 28257368 22:28257368C-A C A
+22 28258700 22:28258700G-T G T
+22 28260666 22:28260666C-T C T
+22 28261113 22:28261113T-C T C
+22 28261630 22:28261630G-A G A
+22 28264081 22:28264081C-T C T
+22 28266172 22:28266172T-C T C
+22 28268292 22:28268292G-A G A
+22 28270372 22:28270372T-G T G
+22 28272328 22:28272328G-A G A
+22 28273339 22:28273339G-C G C
+22 28279594 22:28279594C-T C T
+22 28281348 22:28281348G-A G A
+22 28284061 22:28284061A-T A T
+22 28284485 22:28284485T-C T C
+22 28286024 22:28286024C-T C T
+22 28287465 22:28287465A-G A G
+22 28288136 22:28288136T-C T C
+22 28288161 22:28288161C-T C T
+22 28288487 22:28288487G-A G A
+22 28288512 22:28288512G-C G C
+22 28288532 22:28288532G-A G A
+22 28289378 22:28289378C-T C T
+22 28289504 22:28289504C-G C G
+22 28293980 22:28293980G-C G C
+22 28294801 22:28294801T-C T C
+22 28296640 22:28296640C-T C T
+22 28297072 22:28297072C-T C T
+22 28298336 22:28298336G-A G A
+22 28301743 22:28301743C-T C T
+22 28303075 22:28303075T-C T C
+22 28303976 22:28303976G-A G A
+22 28304942 22:28304942T-C T C
+22 28305509 22:28305509A-G A G
+22 28305811 22:28305811C-T C T
+22 28306070 22:28306070C-T C T
+22 28306303 22:28306303C-T C T
+22 28306607 22:28306607T-C T C
+22 28308526 22:28308526T-A T A
+22 28312528 22:28312528G-A G A
+22 28312557 22:28312557A-T A T
+22 28312564 22:28312564G-A G A
+22 28313583 22:28313583A-C A C
+22 28313988 22:28313988A-G A G
+22 28314113 22:28314113C-A C A
+22 28314330 22:28314330C-G C G
+22 28315465 22:28315465T-C T C
+22 28316173 22:28316173G-A G A
+22 28316227 22:28316227A-G A G
+22 28317118 22:28317118G-T G T
+22 28317217 22:28317217A-T A T
+22 28317401 22:28317401C-A C A
+22 28317669 22:28317669G-A G A
+22 28318032 22:28318032A-G A G
+22 28318192 22:28318192G-C G C
+22 28319278 22:28319278G-A G A
+22 28319511 22:28319511G-A G A
+22 28321217 22:28321217T-C T C
+22 28321438 22:28321438C-G C G
+22 28323693 22:28323693G-A G A
+22 28324866 22:28324866G-A G A
+22 28325271 22:28325271A-C A C
+22 28326657 22:28326657G-A G A
+22 28327259 22:28327259C-T C T
+22 28327264 22:28327264A-G A G
+22 28327887 22:28327887C-T C T
+22 28328211 22:28328211G-T G T
+22 28328241 22:28328241G-T G T
+22 28328756 22:28328756G-A G A
+22 28329298 22:28329298C-T C T
+22 28329949 22:28329949G-T G T
+22 28330197 22:28330197T-C T C
+22 28330513 22:28330513C-G C G
+22 28332154 22:28332154A-G A G
+22 28333866 22:28333866T-C T C
+22 28334573 22:28334573A-G A G
+22 28335536 22:28335536G-C G C
+22 28335698 22:28335698G-A G A
+22 28336076 22:28336076C-T C T
+22 28336162 22:28336162A-G A G
+22 28336223 22:28336223C-A C A
+22 28337711 22:28337711C-A C A
+22 28338216 22:28338216T-C T C
+22 28338246 22:28338246G-A G A
+22 28338378 22:28338378C-G C G
+22 28339333 22:28339333A-G A G
+22 28339350 22:28339350C-T C T
+22 28339553 22:28339553A-G A G
+22 28340015 22:28340015G-A G A
+22 28341053 22:28341053C-T C T
+22 28341443 22:28341443C-T C T
+22 28342386 22:28342386A-C A C
+22 28344121 22:28344121A-G A G
+22 28344525 22:28344525G-A G A
+22 28344979 22:28344979A-G A G
+22 28348833 22:28348833G-A G A
+22 28349827 22:28349827C-G C G
+22 28349945 22:28349945C-A C A
+22 28350165 22:28350165C-G C G
+22 28350612 22:28350612T-C T C
+22 28350911 22:28350911G-C G C
+22 28351396 22:28351396G-T G T
+22 28352046 22:28352046G-A G A
+22 28352585 22:28352585A-G A G
+22 28353433 22:28353433T-C T C
+22 28353576 22:28353576G-A G A
+22 28354419 22:28354419T-C T C
+22 28354695 22:28354695C-T C T
+22 28355449 22:28355449C-T C T
+22 28355872 22:28355872G-A G A
+22 28356329 22:28356329T-C T C
+22 28357651 22:28357651T-A T A
+22 28357674 22:28357674A-G A G
+22 28358102 22:28358102A-G A G
+22 28358649 22:28358649T-C T C
+22 28358946 22:28358946A-G A G
+22 28359711 22:28359711A-G A G
+22 28360374 22:28360374T-C T C
+22 28360401 22:28360401A-G A G
+22 28360869 22:28360869A-G A G
+22 28361063 22:28361063T-C T C
+22 28361403 22:28361403A-G A G
+22 28362400 22:28362400A-G A G
+22 28363050 22:28363050A-G A G
+22 28364148 22:28364148A-G A G
+22 28364454 22:28364454A-G A G
+22 28365151 22:28365151C-T C T
+22 28365155 22:28365155G-A G A
+22 28366363 22:28366363T-C T C
+22 28366472 22:28366472C-T C T
+22 28366967 22:28366967A-G A G
+22 28368096 22:28368096T-C T C
+22 28368266 22:28368266T-C T C
+22 28368473 22:28368473T-C T C
+22 28369009 22:28369009G-C G C
+22 28369217 22:28369217G-A G A
+22 28370232 22:28370232C-T C T
+22 28370541 22:28370541C-T C T
+22 28370572 22:28370572C-G C G
+22 28371485 22:28371485T-C T C
+22 28371541 22:28371541C-T C T
+22 28371656 22:28371656C-T C T
+22 28372703 22:28372703C-T C T
+22 28372834 22:28372834C-T C T
+22 28373744 22:28373744C-A C A
+22 28374216 22:28374216T-C T C
+22 28374219 22:28374219G-A G A
+22 28374972 22:28374972C-T C T
+22 28375675 22:28375675A-G A G
+22 28377083 22:28377083G-T G T
+22 28378384 22:28378384G-C G C
+22 28378472 22:28378472A-G A G
+22 28378688 22:28378688C-G C G
+22 28379868 22:28379868A-G A G
+22 28380369 22:28380369A-T A T
+22 28380588 22:28380588G-A G A
+22 28380770 22:28380770T-C T C
+22 28381082 22:28381082T-C T C
+22 28381807 22:28381807T-G T G
+22 28381837 22:28381837A-G A G
+22 28382390 22:28382390G-T G T
+22 28383549 22:28383549G-C G C
+22 28386322 22:28386322C-T C T
+22 28387749 22:28387749G-A G A
+22 28388379 22:28388379G-A G A
+22 28388422 22:28388422A-C A C
+22 28388916 22:28388916T-G T G
+22 28389012 22:28389012C-A C A
+22 28389453 22:28389453T-C T C
+22 28391157 22:28391157T-C T C
+22 28391493 22:28391493C-T C T
+22 28391786 22:28391786C-G C G
+22 28393540 22:28393540C-T C T
+22 28393644 22:28393644T-C T C
+22 28395314 22:28395314C-T C T
+22 28395923 22:28395923A-T A T
+22 28396867 22:28396867A-C A C
+22 28397092 22:28397092C-T C T
+22 28397591 22:28397591G-T G T
+22 28397720 22:28397720G-T G T
+22 28397815 22:28397815A-G A G
+22 28398298 22:28398298G-A G A
+22 28398528 22:28398528A-G A G
+22 28400652 22:28400652G-A G A
+22 28402624 22:28402624T-C T C
+22 28403268 22:28403268G-C G C
+22 28404006 22:28404006C-A C A
+22 28404167 22:28404167T-C T C
+22 28404964 22:28404964A-G A G
+22 28405165 22:28405165G-A G A
+22 28405291 22:28405291A-G A G
+22 28405547 22:28405547A-G A G
+22 28405624 22:28405624A-T A T
+22 28405821 22:28405821G-C G C
+22 28406222 22:28406222T-C T C
+22 28406672 22:28406672C-G C G
+22 28407444 22:28407444T-C T C
+22 28407726 22:28407726C-G C G
+22 28407763 22:28407763A-T A T
+22 28408065 22:28408065G-A G A
+22 28408066 22:28408066C-A C A
+22 28408313 22:28408313C-T C T
+22 28408319 22:28408319C-A C A
+22 28408414 22:28408414C-T C T
+22 28408444 22:28408444A-C A C
+22 28408585 22:28408585G-A G A
+22 28409772 22:28409772T-G T G
+22 28411218 22:28411218A-G A G
+22 28411748 22:28411748T-G T G
+22 28411918 22:28411918A-G A G
+22 28412908 22:28412908T-G T G
+22 28413401 22:28413401G-A G A
+22 28413863 22:28413863C-A C A
+22 28414498 22:28414498C-A C A
+22 28414546 22:28414546C-A C A
+22 28415314 22:28415314T-C T C
+22 28415655 22:28415655G-A G A
+22 28416547 22:28416547C-G C G
+22 28417347 22:28417347G-A G A
+22 28418577 22:28418577T-C T C
+22 28421300 22:28421300A-C A C
+22 28422017 22:28422017A-G A G
+22 28423378 22:28423378C-A C A
+22 28423482 22:28423482C-T C T
+22 28423844 22:28423844G-A G A
+22 28424507 22:28424507G-A G A
+22 28424993 22:28424993C-T C T
+22 28425401 22:28425401C-T C T
+22 28426022 22:28426022G-C G C
+22 28426128 22:28426128T-C T C
+22 28427336 22:28427336A-C A C
+22 28429063 22:28429063C-T C T
+22 28429151 22:28429151C-T C T
+22 28429977 22:28429977A-G A G
+22 28430652 22:28430652C-T C T
+22 28433076 22:28433076A-G A G
+22 28433296 22:28433296G-C G C
+22 28434117 22:28434117A-G A G
+22 28436154 22:28436154G-A G A
+22 28436830 22:28436830G-A G A
+22 28437635 22:28437635C-T C T
+22 28438486 22:28438486A-G A G
+22 28438585 22:28438585A-G A G
+22 28441471 22:28441471G-A G A
+22 28442632 22:28442632T-C T C
+22 28443620 22:28443620C-A C A
+22 28444430 22:28444430A-G A G
+22 28444431 22:28444431T-C T C
+22 28444744 22:28444744G-A G A
+22 28445516 22:28445516A-G A G
+22 28446054 22:28446054A-G A G
+22 28447312 22:28447312T-C T C
+22 28448272 22:28448272C-T C T
+22 28449353 22:28449353A-C A C
+22 28449634 22:28449634C-A C A
+22 28449827 22:28449827C-T C T
+22 28450331 22:28450331A-G A G
+22 28451333 22:28451333C-T C T
+22 28452682 22:28452682T-C T C
+22 28453059 22:28453059G-A G A
+22 28453166 22:28453166T-C T C
+22 28454406 22:28454406C-A C A
+22 28454655 22:28454655T-G T G
+22 28454970 22:28454970A-G A G
+22 28455214 22:28455214A-C A C
+22 28455418 22:28455418C-T C T
+22 28456751 22:28456751T-C T C
+22 28457582 22:28457582A-G A G
+22 28459665 22:28459665G-A G A
+22 28460766 22:28460766C-T C T
+22 28462318 22:28462318C-T C T
+22 28462756 22:28462756A-G A G
+22 28463340 22:28463340G-A G A
+22 28463372 22:28463372T-A T A
+22 28463376 22:28463376A-G A G
+22 28463696 22:28463696G-A G A
+22 28464952 22:28464952C-T C T
+22 28465604 22:28465604A-G A G
+22 28466685 22:28466685T-C T C
+22 28467576 22:28467576G-C G C
+22 28468059 22:28468059C-T C T
+22 28468142 22:28468142T-C T C
+22 28469117 22:28469117C-T C T
+22 28469570 22:28469570G-C G C
+22 28469630 22:28469630A-G A G
+22 28469795 22:28469795T-C T C
+22 28470382 22:28470382G-A G A
+22 28470623 22:28470623G-T G T
+22 28471633 22:28471633T-C T C
+22 28471715 22:28471715C-T C T
+22 28472305 22:28472305A-G A G
+22 28473889 22:28473889C-T C T
+22 28475531 22:28475531T-C T C
+22 28477048 22:28477048G-A G A
+22 28477312 22:28477312G-A G A
+22 28477726 22:28477726C-T C T
+22 28477816 22:28477816T-C T C
+22 28477974 22:28477974T-C T C
+22 28478325 22:28478325C-T C T
+22 28478439 22:28478439A-G A G
+22 28478985 22:28478985G-A G A
+22 28480119 22:28480119A-C A C
+22 28480255 22:28480255C-G C G
+22 28480334 22:28480334G-A G A
+22 28480382 22:28480382A-C A C
+22 28480828 22:28480828T-C T C
+22 28481130 22:28481130A-C A C
+22 28485744 22:28485744T-C T C
+22 28485790 22:28485790C-A C A
+22 28486382 22:28486382C-T C T
+22 28486416 22:28486416T-A T A
+22 28487192 22:28487192C-T C T
+22 28487474 22:28487474T-C T C
+22 28487731 22:28487731C-G C G
+22 28488105 22:28488105G-T G T
+22 28488450 22:28488450G-A G A
+22 28488491 22:28488491C-G C G
+22 28490357 22:28490357C-A C A
+22 28490909 22:28490909G-A G A
+22 28492990 22:28492990G-A G A
+22 28493429 22:28493429A-C A C
+22 28494756 22:28494756T-C T C
+22 28497547 22:28497547C-G C G
+22 28497820 22:28497820A-G A G
+22 28498144 22:28498144C-G C G
+22 28498648 22:28498648G-A G A
+22 28500159 22:28500159C-G C G
+22 28500731 22:28500731T-C T C
+22 28502867 22:28502867A-C A C
+22 28504183 22:28504183G-A G A
+22 28504258 22:28504258A-G A G
+22 28505128 22:28505128A-G A G
+22 28507096 22:28507096C-T C T
+22 28507386 22:28507386T-C T C
+22 28508216 22:28508216C-A C A
+22 28508895 22:28508895A-G A G
+22 28509461 22:28509461C-T C T
+22 28510099 22:28510099T-A T A
+22 28510237 22:28510237T-C T C
+22 28510642 22:28510642A-G A G
+22 28510690 22:28510690C-A C A
+22 28512835 22:28512835C-T C T
+22 28513986 22:28513986C-A C A
+22 28514035 22:28514035A-G A G
+22 28514066 22:28514066T-C T C
+22 28514109 22:28514109A-G A G
+22 28514922 22:28514922T-G T G
+22 28516032 22:28516032T-C T C
+22 28518150 22:28518150T-C T C
+22 28519110 22:28519110A-G A G
+22 28519236 22:28519236T-G T G
+22 28519424 22:28519424T-C T C
+22 28519644 22:28519644C-G C G
+22 28521553 22:28521553G-C G C
+22 28524300 22:28524300C-T C T
+22 28528745 22:28528745C-A C A
+22 28529782 22:28529782G-A G A
+22 28530704 22:28530704G-A G A
+22 28531088 22:28531088T-C T C
+22 28532906 22:28532906C-A C A
+22 28537992 22:28537992C-T C T
+22 28538999 22:28538999G-A G A
+22 28539045 22:28539045T-A T A
+22 28540492 22:28540492A-G A G
+22 28541025 22:28541025C-A C A
+22 28541075 22:28541075T-G T G
+22 28541884 22:28541884T-C T C
+22 28541980 22:28541980C-T C T
+22 28543800 22:28543800T-C T C
+22 28543833 22:28543833G-A G A
+22 28545264 22:28545264A-C A C
+22 28545329 22:28545329T-C T C
+22 28545331 22:28545331C-T C T
+22 28546346 22:28546346T-G T G
+22 28548967 22:28548967C-T C T
+22 28550006 22:28550006G-A G A
+22 28550600 22:28550600T-C T C
+22 28551792 22:28551792G-A G A
+22 28552395 22:28552395C-G C G
+22 28552974 22:28552974C-T C T
+22 28553180 22:28553180G-A G A
+22 28554373 22:28554373T-C T C
+22 28554521 22:28554521C-A C A
+22 28555241 22:28555241T-C T C
+22 28558418 22:28558418C-T C T
+22 28558679 22:28558679A-G A G
+22 28558766 22:28558766T-C T C
+22 28559120 22:28559120G-C G C
+22 28560148 22:28560148C-G C G
+22 28560576 22:28560576C-T C T
+22 28560664 22:28560664A-C A C
+22 28562372 22:28562372C-T C T
+22 28567361 22:28567361C-T C T
+22 28571028 22:28571028G-T G T
+22 28575543 22:28575543A-G A G
+22 28577333 22:28577333G-C G C
+22 28578089 22:28578089C-T C T
+22 28578328 22:28578328G-C G C
+22 28579637 22:28579637C-T C T
+22 28580880 22:28580880C-G C G
+22 28581038 22:28581038G-C G C
+22 28581377 22:28581377A-T A T
+22 28583679 22:28583679C-T C T
+22 28583738 22:28583738C-T C T
+22 28583984 22:28583984C-A C A
+22 28584917 22:28584917G-T G T
+22 28586674 22:28586674G-A G A
+22 28588325 22:28588325G-A G A
+22 28588653 22:28588653T-C T C
+22 28588693 22:28588693G-A G A
+22 28589832 22:28589832T-C T C
+22 28593423 22:28593423A-G A G
+22 28593867 22:28593867A-T A T
+22 28594249 22:28594249T-C T C
+22 28598630 22:28598630T-C T C
+22 28603212 22:28603212G-A G A
+22 28603480 22:28603480A-T A T
+22 28603800 22:28603800C-T C T
+22 28604583 22:28604583C-T C T
+22 28606733 22:28606733C-T C T
+22 28612297 22:28612297A-G A G
+22 28612399 22:28612399A-T A T
+22 28612645 22:28612645T-C T C
+22 28615453 22:28615453A-G A G
+22 28616080 22:28616080T-C T C
+22 28616356 22:28616356G-C G C
+22 28618454 22:28618454A-G A G
+22 28619218 22:28619218A-C A C
+22 28619883 22:28619883C-A C A
+22 28620584 22:28620584G-A G A
+22 28620687 22:28620687G-A G A
+22 28620907 22:28620907A-G A G
+22 28620996 22:28620996G-A G A
+22 28621782 22:28621782C-T C T
+22 28623309 22:28623309T-C T C
+22 28623364 22:28623364C-A C A
+22 28624319 22:28624319T-C T C
+22 28624425 22:28624425T-C T C
+22 28625005 22:28625005A-G A G
+22 28625291 22:28625291G-A G A
+22 28628209 22:28628209T-C T C
+22 28629415 22:28629415T-C T C
+22 28629526 22:28629526C-T C T
+22 28629713 22:28629713C-T C T
+22 28630787 22:28630787T-G T G
+22 28631900 22:28631900T-A T A
+22 28633571 22:28633571T-C T C
+22 28634671 22:28634671A-G A G
+22 28634976 22:28634976T-C T C
+22 28635354 22:28635354C-T C T
+22 28635673 22:28635673T-C T C
+22 28636993 22:28636993G-A G A
+22 28637160 22:28637160G-A G A
+22 28637606 22:28637606G-T G T
+22 28638354 22:28638354T-C T C
+22 28638511 22:28638511C-G C G
+22 28641134 22:28641134A-C A C
+22 28643456 22:28643456G-A G A
+22 28643510 22:28643510G-A G A
+22 28643603 22:28643603C-G C G
+22 28643884 22:28643884G-C G C
+22 28644379 22:28644379G-A G A
+22 28644881 22:28644881A-C A C
+22 28645300 22:28645300C-T C T
+22 28647371 22:28647371T-C T C
+22 28647423 22:28647423A-G A G
+22 28648645 22:28648645G-A G A
+22 28648766 22:28648766C-G C G
+22 28652675 22:28652675T-C T C
+22 28653316 22:28653316T-G T G
+22 28653899 22:28653899T-C T C
+22 28654658 22:28654658G-A G A
+22 28657013 22:28657013T-C T C
+22 28657156 22:28657156T-C T C
+22 28660525 22:28660525A-G A G
+22 28661884 22:28661884A-T A T
+22 28663405 22:28663405A-G A G
+22 28663507 22:28663507G-A G A
+22 28666398 22:28666398T-C T C
+22 28666961 22:28666961T-C T C
+22 28668624 22:28668624G-A G A
+22 28669155 22:28669155T-C T C
+22 28669837 22:28669837A-G A G
+22 28672174 22:28672174T-G T G
+22 28672406 22:28672406G-A G A
+22 28675098 22:28675098A-G A G
+22 28676218 22:28676218C-T C T
+22 28676252 22:28676252C-G C G
+22 28682616 22:28682616T-C T C
+22 28685716 22:28685716T-A T A
+22 28686022 22:28686022T-A T A
+22 28686251 22:28686251C-A C A
+22 28691681 22:28691681A-G A G
+22 28693496 22:28693496T-C T C
+22 28694210 22:28694210C-T C T
+22 28695507 22:28695507A-G A G
+22 28697917 22:28697917C-T C T
+22 28699124 22:28699124G-A G A
+22 28699302 22:28699302T-G T G
+22 28704361 22:28704361A-G A G
+22 28706220 22:28706220A-G A G
+22 28708967 22:28708967A-G A G
+22 28709566 22:28709566A-C A C
+22 28714205 22:28714205T-C T C
+22 28714212 22:28714212A-G A G
+22 28717032 22:28717032G-A G A
+22 28717316 22:28717316C-T C T
+22 28718107 22:28718107C-T C T
+22 28718217 22:28718217G-A G A
+22 28718744 22:28718744A-C A C
+22 28719656 22:28719656G-A G A
+22 28722535 22:28722535T-C T C
+22 28725928 22:28725928G-C G C
+22 28728344 22:28728344G-A G A
+22 28729767 22:28729767A-T A T
+22 28730445 22:28730445C-T C T
+22 28730864 22:28730864A-G A G
+22 28730876 22:28730876G-C G C
+22 28732605 22:28732605T-C T C
+22 28734661 22:28734661G-A G A
+22 28739389 22:28739389G-A G A
+22 28740583 22:28740583C-T C T
+22 28740762 22:28740762G-C G C
+22 28741745 22:28741745A-G A G
+22 28750721 22:28750721A-G A G
+22 28752505 22:28752505G-A G A
+22 28753833 22:28753833G-A G A
+22 28756581 22:28756581A-G A G
+22 28757306 22:28757306C-T C T
+22 28757526 22:28757526A-C A C
+22 28757950 22:28757950C-T C T
+22 28758426 22:28758426G-T G T
+22 28758791 22:28758791T-G T G
+22 28758980 22:28758980A-C A C
+22 28762034 22:28762034C-T C T
+22 28762145 22:28762145T-A T A
+22 28762747 22:28762747C-T C T
+22 28764999 22:28764999T-C T C
+22 28770582 22:28770582G-C G C
+22 28772817 22:28772817C-T C T
+22 28773326 22:28773326C-T C T
+22 28773629 22:28773629T-C T C
+22 28773804 22:28773804G-A G A
+22 28774710 22:28774710T-C T C
+22 28775991 22:28775991A-G A G
+22 28779677 22:28779677T-C T C
+22 28780451 22:28780451T-C T C
+22 28781758 22:28781758T-C T C
+22 28783045 22:28783045T-A T A
+22 28783945 22:28783945C-A C A
+22 28791864 22:28791864C-T C T
+22 28792887 22:28792887C-T C T
+22 28795080 22:28795080T-C T C
+22 28795263 22:28795263G-A G A
+22 28795304 22:28795304T-C T C
+22 28797318 22:28797318C-T C T
+22 28798404 22:28798404C-G C G
+22 28798655 22:28798655C-G C G
+22 28798679 22:28798679C-G C G
+22 28799080 22:28799080T-C T C
+22 28799436 22:28799436G-A G A
+22 28800342 22:28800342A-G A G
+22 28801009 22:28801009G-A G A
+22 28802478 22:28802478G-A G A
+22 28803391 22:28803391T-C T C
+22 28807625 22:28807625C-T C T
+22 28811215 22:28811215T-A T A
+22 28811329 22:28811329C-T C T
+22 28813465 22:28813465C-A C A
+22 28814890 22:28814890A-G A G
+22 28815629 22:28815629A-C A C
+22 28816720 22:28816720A-T A T
+22 28818863 22:28818863T-C T C
+22 28820327 22:28820327G-A G A
+22 28831919 22:28831919A-G A G
+22 28833502 22:28833502C-A C A
+22 28834531 22:28834531T-C T C
+22 28834769 22:28834769G-A G A
+22 28835458 22:28835458G-A G A
+22 28836928 22:28836928G-A G A
+22 28836969 22:28836969G-C G C
+22 28838721 22:28838721G-A G A
+22 28841839 22:28841839T-C T C
+22 28845279 22:28845279A-G A G
+22 28845498 22:28845498G-T G T
+22 28845881 22:28845881G-C G C
+22 28846580 22:28846580A-T A T
+22 28847006 22:28847006T-C T C
+22 28847896 22:28847896T-C T C
+22 28848205 22:28848205A-G A G
+22 28848278 22:28848278C-T C T
+22 28849749 22:28849749G-A G A
+22 28850616 22:28850616T-C T C
+22 28853698 22:28853698T-C T C
+22 28855023 22:28855023A-G A G
+22 28856571 22:28856571T-C T C
+22 28856760 22:28856760T-C T C
+22 28857340 22:28857340C-T C T
+22 28858248 22:28858248T-C T C
+22 28859406 22:28859406T-C T C
+22 28860167 22:28860167T-G T G
+22 28862768 22:28862768C-T C T
+22 28863714 22:28863714T-C T C
+22 28869432 22:28869432C-T C T
+22 28871070 22:28871070A-G A G
+22 28871309 22:28871309A-G A G
+22 28871570 22:28871570G-A G A
+22 28873048 22:28873048C-T C T
+22 28874089 22:28874089A-G A G
+22 28876170 22:28876170C-G C G
+22 28877335 22:28877335C-T C T
+22 28877715 22:28877715G-T G T
+22 28882842 22:28882842A-T A T
+22 28882973 22:28882973G-A G A
+22 28886116 22:28886116A-G A G
+22 28886805 22:28886805C-T C T
+22 28889735 22:28889735C-A C A
+22 28891623 22:28891623G-C G C
+22 28893208 22:28893208G-T G T
+22 28895265 22:28895265C-A C A
+22 28895412 22:28895412T-G T G
+22 28895788 22:28895788A-C A C
+22 28896140 22:28896140T-C T C
+22 28896546 22:28896546G-A G A
+22 28897619 22:28897619T-C T C
+22 28898127 22:28898127G-A G A
+22 28898347 22:28898347G-C G C
+22 28898626 22:28898626G-A G A
+22 28899748 22:28899748G-T G T
+22 28900001 22:28900001T-C T C
+22 28900973 22:28900973G-T G T
+22 28902772 22:28902772G-A G A
+22 28903360 22:28903360A-G A G
+22 28904181 22:28904181A-G A G
+22 28904553 22:28904553G-A G A
+22 28906442 22:28906442G-A G A
+22 28907505 22:28907505T-C T C
+22 28908601 22:28908601A-G A G
+22 28909504 22:28909504A-T A T
+22 28910521 22:28910521G-A G A
+22 28912360 22:28912360A-G A G
+22 28912855 22:28912855C-T C T
+22 28913950 22:28913950C-T C T
+22 28916580 22:28916580A-T A T
+22 28916819 22:28916819T-A T A
+22 28916924 22:28916924C-T C T
+22 28918241 22:28918241C-T C T
+22 28919034 22:28919034T-C T C
+22 28919200 22:28919200G-A G A
+22 28920307 22:28920307G-C G C
+22 28920651 22:28920651A-G A G
+22 28921265 22:28921265C-G C G
+22 28921347 22:28921347G-A G A
+22 28923005 22:28923005G-A G A
+22 28923317 22:28923317G-A G A
+22 28923933 22:28923933C-T C T
+22 28925542 22:28925542T-A T A
+22 28928668 22:28928668C-A C A
+22 28929054 22:28929054G-A G A
+22 28931940 22:28931940T-C T C
+22 28933106 22:28933106C-T C T
+22 28934313 22:28934313T-C T C
+22 28940864 22:28940864T-C T C
+22 28942227 22:28942227C-T C T
+22 28942284 22:28942284A-G A G
+22 28942366 22:28942366G-A G A
+22 28942682 22:28942682T-C T C
+22 28943477 22:28943477C-T C T
+22 28945172 22:28945172C-T C T
+22 28945515 22:28945515T-A T A
+22 28947402 22:28947402A-T A T
+22 28947631 22:28947631T-C T C
+22 28948411 22:28948411G-A G A
+22 28950432 22:28950432A-G A G
+22 28952352 22:28952352A-T A T
+22 28952823 22:28952823G-A G A
+22 28954388 22:28954388G-A G A
+22 28955891 22:28955891G-A G A
+22 28964032 22:28964032G-A G A
+22 28964174 22:28964174A-G A G
+22 28964906 22:28964906A-G A G
+22 28966048 22:28966048T-C T C
+22 28966474 22:28966474G-A G A
+22 28969353 22:28969353A-G A G
+22 28972184 22:28972184T-C T C
+22 28972531 22:28972531A-G A G
+22 28976157 22:28976157G-C G C
+22 28982943 22:28982943C-A C A
+22 28983210 22:28983210G-A G A
+22 28983595 22:28983595T-A T A
+22 28984447 22:28984447G-T G T
+22 28985326 22:28985326T-C T C
+22 28985392 22:28985392C-G C G
+22 28985428 22:28985428C-T C T
+22 28988260 22:28988260A-G A G
+22 28988787 22:28988787T-C T C
+22 28989246 22:28989246G-C G C
+22 28990275 22:28990275T-C T C
+22 28993183 22:28993183T-C T C
+22 28993331 22:28993331A-C A C
+22 28993756 22:28993756A-G A G
+22 28994398 22:28994398G-A G A
+22 28998821 22:28998821T-C T C
+22 28999369 22:28999369T-C T C
+22 28999402 22:28999402G-A G A
+22 28999668 22:28999668C-A C A
+22 28999890 22:28999890C-T C T
+22 29000057 22:29000057C-T C T
+22 29001789 22:29001789T-C T C
+22 29002278 22:29002278C-T C T
+22 29004821 22:29004821G-A G A
+22 29004881 22:29004881C-A C A
+22 29005302 22:29005302A-C A C
+22 29005595 22:29005595T-C T C
+22 29007850 22:29007850A-G A G
+22 29008417 22:29008417T-C T C
+22 29008626 22:29008626G-A G A
+22 29009668 22:29009668T-C T C
+22 29009939 22:29009939A-G A G
+22 29012600 22:29012600G-A G A
+22 29013588 22:29013588G-C G C
+22 29014603 22:29014603C-G C G
+22 29015590 22:29015590T-G T G
+22 29015603 22:29015603C-T C T
+22 29016057 22:29016057C-T C T
+22 29020291 22:29020291G-A G A
+22 29020756 22:29020756G-C G C
+22 29022172 22:29022172C-T C T
+22 29022188 22:29022188T-C T C
+22 29024303 22:29024303T-G T G
+22 29024691 22:29024691A-G A G
+22 29024730 22:29024730C-T C T
+22 29028132 22:29028132C-T C T
+22 29029033 22:29029033C-A C A
+22 29029190 22:29029190T-C T C
+22 29030430 22:29030430G-A G A
+22 29033189 22:29033189A-G A G
+22 29033210 22:29033210C-G C G
+22 29033308 22:29033308G-C G C
+22 29033545 22:29033545T-C T C
+22 29034964 22:29034964C-T C T
+22 29036465 22:29036465A-G A G
+22 29037864 22:29037864C-A C A
+22 29039427 22:29039427C-T C T
+22 29039615 22:29039615G-T G T
+22 29039953 22:29039953T-G T G
+22 29040802 22:29040802A-C A C
+22 29040821 22:29040821C-T C T
+22 29042025 22:29042025G-A G A
+22 29042079 22:29042079A-G A G
+22 29044360 22:29044360A-G A G
+22 29045212 22:29045212C-A C A
+22 29045233 22:29045233T-C T C
+22 29045745 22:29045745T-C T C
+22 29045930 22:29045930T-C T C
+22 29046240 22:29046240A-T A T
+22 29048074 22:29048074C-G C G
+22 29048078 22:29048078T-C T C
+22 29050403 22:29050403C-G C G
+22 29051826 22:29051826A-G A G
+22 29052951 22:29052951C-T C T
+22 29053003 22:29053003C-T C T
+22 29053009 22:29053009C-A C A
+22 29053288 22:29053288T-C T C
+22 29053727 22:29053727T-C T C
+22 29054573 22:29054573T-C T C
+22 29054875 22:29054875G-C G C
+22 29058409 22:29058409T-C T C
+22 29059133 22:29059133G-A G A
+22 29069423 22:29069423C-G C G
+22 29072864 22:29072864C-A C A
+22 29072917 22:29072917T-C T C
+22 29074398 22:29074398T-C T C
+22 29074987 22:29074987G-C G C
+22 29075122 22:29075122T-G T G
+22 29075319 22:29075319G-C G C
+22 29076149 22:29076149T-C T C
+22 29076637 22:29076637G-A G A
+22 29078265 22:29078265G-A G A
+22 29079353 22:29079353C-T C T
+22 29085792 22:29085792G-A G A
+22 29085810 22:29085810A-G A G
+22 29086093 22:29086093C-T C T
+22 29086354 22:29086354C-T C T
+22 29087041 22:29087041T-C T C
+22 29087818 22:29087818G-A G A
+22 29087829 22:29087829G-C G C
+22 29088123 22:29088123T-C T C
+22 29088590 22:29088590C-T C T
+22 29088819 22:29088819C-G C G
+22 29089095 22:29089095C-A C A
+22 29090363 22:29090363G-A G A
+22 29090481 22:29090481G-C G C
+22 29090768 22:29090768A-C A C
+22 29090890 22:29090890G-A G A
+22 29091037 22:29091037G-C G C
+22 29092181 22:29092181C-T C T
+22 29092720 22:29092720C-T C T
+22 29093278 22:29093278T-C T C
+22 29093753 22:29093753G-A G A
+22 29094352 22:29094352C-T C T
+22 29094376 22:29094376T-G T G
+22 29094828 22:29094828A-C A C
+22 29096361 22:29096361G-A G A
+22 29098576 22:29098576C-G C G
+22 29099754 22:29099754T-C T C
+22 29100564 22:29100564A-G A G
+22 29100711 22:29100711T-C T C
+22 29100977 22:29100977C-G C G
+22 29100985 22:29100985G-C G C
+22 29101357 22:29101357A-G A G
+22 29101600 22:29101600A-G A G
+22 29101829 22:29101829G-A G A
+22 29102117 22:29102117T-C T C
+22 29102335 22:29102335A-T A T
+22 29102967 22:29102967G-A G A
+22 29103217 22:29103217G-A G A
+22 29105415 22:29105415G-C G C
+22 29105558 22:29105558A-G A G
+22 29105610 22:29105610C-T C T
+22 29106733 22:29106733T-C T C
+22 29106945 22:29106945G-C G C
+22 29107195 22:29107195G-A G A
+22 29108229 22:29108229A-G A G
+22 29108444 22:29108444T-C T C
+22 29108556 22:29108556A-T A T
+22 29109036 22:29109036C-T C T
+22 29109409 22:29109409G-A G A
+22 29110002 22:29110002T-C T C
+22 29110759 22:29110759C-G C G
+22 29115066 22:29115066C-T C T
+22 29118327 22:29118327G-A G A
+22 29119220 22:29119220G-C G C
+22 29119396 22:29119396C-T C T
+22 29120400 22:29120400A-C A C
+22 29120797 22:29120797A-G A G
+22 29121760 22:29121760G-C G C
+22 29123238 22:29123238A-C A C
+22 29123846 22:29123846T-A T A
+22 29127224 22:29127224A-T A T
+22 29127402 22:29127402T-C T C
+22 29127412 22:29127412A-C A C
+22 29127547 22:29127547G-A G A
+22 29128013 22:29128013T-C T C
+22 29128497 22:29128497C-T C T
+22 29129741 22:29129741T-C T C
+22 29130012 22:29130012T-C T C
+22 29130300 22:29130300C-T C T
+22 29131129 22:29131129T-C T C
+22 29131426 22:29131426T-A T A
+22 29131788 22:29131788C-T C T
+22 29132389 22:29132389G-C G C
+22 29132990 22:29132990A-G A G
+22 29133033 22:29133033G-C G C
+22 29134338 22:29134338G-A G A
+22 29134559 22:29134559G-C G C
+22 29134719 22:29134719G-A G A
+22 29135121 22:29135121G-C G C
+22 29135543 22:29135543G-A G A
+22 29135889 22:29135889T-C T C
+22 29137870 22:29137870C-T C T
+22 29137944 22:29137944G-C G C
+22 29140823 22:29140823A-C A C
+22 29141241 22:29141241C-T C T
+22 29142238 22:29142238G-A G A
+22 29142977 22:29142977A-G A G
+22 29143393 22:29143393G-A G A
+22 29144427 22:29144427G-A G A
+22 29144893 22:29144893T-C T C
+22 29145116 22:29145116G-A G A
+22 29145411 22:29145411T-C T C
+22 29146503 22:29146503G-A G A
+22 29147293 22:29147293A-G A G
+22 29147551 22:29147551C-T C T
+22 29149039 22:29149039C-G C G
+22 29149473 22:29149473A-G A G
+22 29149550 22:29149550G-A G A
+22 29149625 22:29149625G-A G A
+22 29149796 22:29149796G-A G A
+22 29149887 22:29149887G-C G C
+22 29150044 22:29150044T-C T C
+22 29151760 22:29151760G-A G A
+22 29152965 22:29152965G-A G A
+22 29153547 22:29153547C-T C T
+22 29153759 22:29153759C-T C T
+22 29154455 22:29154455A-G A G
+22 29154603 22:29154603A-G A G
+22 29156448 22:29156448A-G A G
+22 29157487 22:29157487G-A G A
+22 29160314 22:29160314A-G A G
+22 29160437 22:29160437G-A G A
+22 29160805 22:29160805C-T C T
+22 29161004 22:29161004G-A G A
+22 29161007 22:29161007C-T C T
+22 29162020 22:29162020A-G A G
+22 29162506 22:29162506G-A G A
+22 29162940 22:29162940A-G A G
+22 29163311 22:29163311G-A G A
+22 29164855 22:29164855G-C G C
+22 29165120 22:29165120T-C T C
+22 29165525 22:29165525T-G T G
+22 29165766 22:29165766T-C T C
+22 29165866 22:29165866C-A C A
+22 29166224 22:29166224A-C A C
+22 29166241 22:29166241C-T C T
+22 29166512 22:29166512C-A C A
+22 29167077 22:29167077C-T C T
+22 29167097 22:29167097T-A T A
+22 29167098 22:29167098G-A G A
+22 29167119 22:29167119C-T C T
+22 29167222 22:29167222A-G A G
+22 29168208 22:29168208T-G T G
+22 29168339 22:29168339G-A G A
+22 29168755 22:29168755T-C T C
+22 29169290 22:29169290C-A C A
+22 29169397 22:29169397A-G A G
+22 29169420 22:29169420T-G T G
+22 29169654 22:29169654A-T A T
+22 29170116 22:29170116C-T C T
+22 29170138 22:29170138C-G C G
+22 29171298 22:29171298G-A G A
+22 29172898 22:29172898T-G T G
+22 29173069 22:29173069C-G C G
+22 29173121 22:29173121T-G T G
+22 29173126 22:29173126A-T A T
+22 29173232 22:29173232C-T C T
+22 29173255 22:29173255C-T C T
+22 29174423 22:29174423T-C T C
+22 29174770 22:29174770C-A C A
+22 29174790 22:29174790G-A G A
+22 29175213 22:29175213G-A G A
+22 29175243 22:29175243G-T G T
+22 29175274 22:29175274C-T C T
+22 29176591 22:29176591G-A G A
+22 29177200 22:29177200C-T C T
+22 29178130 22:29178130T-C T C
+22 29178314 22:29178314G-A G A
+22 29178526 22:29178526A-G A G
+22 29178820 22:29178820T-C T C
+22 29178856 22:29178856G-A G A
+22 29179739 22:29179739C-A C A
+22 29179998 22:29179998C-T C T
+22 29181302 22:29181302G-A G A
+22 29181384 22:29181384C-T C T
+22 29181868 22:29181868A-G A G
+22 29182070 22:29182070G-C G C
+22 29182500 22:29182500C-A C A
+22 29183133 22:29183133A-G A G
+22 29185113 22:29185113A-C A C
+22 29185860 22:29185860C-T C T
+22 29186025 22:29186025C-T C T
+22 29186026 22:29186026G-A G A
+22 29186531 22:29186531T-G T G
+22 29187380 22:29187380G-T G T
+22 29189446 22:29189446G-A G A
+22 29190471 22:29190471T-C T C
+22 29191879 22:29191879T-C T C
+22 29191932 22:29191932A-G A G
+22 29192670 22:29192670T-C T C
+22 29196494 22:29196494C-T C T
+22 29196526 22:29196526G-A G A
+22 29196757 22:29196757G-C G C
+22 29196843 22:29196843G-C G C
+22 29198151 22:29198151T-G T G
+22 29199258 22:29199258C-A C A
+22 29199644 22:29199644G-A G A
+22 29199790 22:29199790G-T G T
+22 29200117 22:29200117T-C T C
+22 29201277 22:29201277G-A G A
+22 29202063 22:29202063A-G A G
+22 29202254 22:29202254A-G A G
+22 29202908 22:29202908A-G A G
+22 29203314 22:29203314C-T C T
+22 29203402 22:29203402G-A G A
+22 29203964 22:29203964G-A G A
+22 29204608 22:29204608A-G A G
+22 29205004 22:29205004G-A G A
+22 29205076 22:29205076A-G A G
+22 29205332 22:29205332A-G A G
+22 29206209 22:29206209T-C T C
+22 29207296 22:29207296G-A G A
+22 29207492 22:29207492T-C T C
+22 29207915 22:29207915G-A G A
+22 29208237 22:29208237C-T C T
+22 29208838 22:29208838C-A C A
+22 29208952 22:29208952C-G C G
+22 29208975 22:29208975A-G A G
+22 29211378 22:29211378C-T C T
+22 29211435 22:29211435C-T C T
+22 29212198 22:29212198C-T C T
+22 29213011 22:29213011G-A G A
+22 29213034 22:29213034A-G A G
+22 29213054 22:29213054A-T A T
+22 29213446 22:29213446G-A G A
+22 29214605 22:29214605G-C G C
+22 29214606 22:29214606G-C G C
+22 29215249 22:29215249A-C A C
+22 29215449 22:29215449G-A G A
+22 29215542 22:29215542G-A G A
+22 29215703 22:29215703G-A G A
+22 29215803 22:29215803G-A G A
+22 29216161 22:29216161A-G A G
+22 29216585 22:29216585C-T C T
+22 29216603 22:29216603G-A G A
+22 29216722 22:29216722C-T C T
+22 29216776 22:29216776G-A G A
+22 29216813 22:29216813C-T C T
+22 29219122 22:29219122C-A C A
+22 29219472 22:29219472G-A G A
+22 29219601 22:29219601A-G A G
+22 29220483 22:29220483G-T G T
+22 29220758 22:29220758C-G C G
+22 29221677 22:29221677C-T C T
+22 29222096 22:29222096T-C T C
+22 29222930 22:29222930C-T C T
+22 29223169 22:29223169A-G A G
+22 29223298 22:29223298G-C G C
+22 29223642 22:29223642A-G A G
+22 29223772 22:29223772G-A G A
+22 29224844 22:29224844C-G C G
+22 29224854 22:29224854G-T G T
+22 29224862 22:29224862T-C T C
+22 29225457 22:29225457A-G A G
+22 29225500 22:29225500G-A G A
+22 29225523 22:29225523G-A G A
+22 29225592 22:29225592C-G C G
+22 29225603 22:29225603T-A T A
+22 29226189 22:29226189A-T A T
+22 29226570 22:29226570T-G T G
+22 29227971 22:29227971G-A G A
+22 29228130 22:29228130T-C T C
+22 29228484 22:29228484G-C G C
+22 29230657 22:29230657T-A T A
+22 29230733 22:29230733C-A C A
+22 29230754 22:29230754A-G A G
+22 29230791 22:29230791A-G A G
+22 29231198 22:29231198G-A G A
+22 29231447 22:29231447C-T C T
+22 29231823 22:29231823G-A G A
+22 29232564 22:29232564A-G A G
+22 29233262 22:29233262T-C T C
+22 29233292 22:29233292G-A G A
+22 29233342 22:29233342T-C T C
+22 29233486 22:29233486A-G A G
+22 29234499 22:29234499G-C G C
+22 29234537 22:29234537A-G A G
+22 29234647 22:29234647G-C G C
+22 29235679 22:29235679G-A G A
+22 29235973 22:29235973G-A G A
+22 29236308 22:29236308A-G A G
+22 29236691 22:29236691C-T C T
+22 29237582 22:29237582A-G A G
+22 29237824 22:29237824C-T C T
+22 29237958 22:29237958C-G C G
+22 29238086 22:29238086G-A G A
+22 29238165 22:29238165A-G A G
+22 29238913 22:29238913C-T C T
+22 29239157 22:29239157A-G A G
+22 29239250 22:29239250T-C T C
+22 29239766 22:29239766T-C T C
+22 29240536 22:29240536T-C T C
+22 29241195 22:29241195T-C T C
+22 29241562 22:29241562G-C G C
+22 29241939 22:29241939G-C G C
+22 29242473 22:29242473T-C T C
+22 29243817 22:29243817A-C A C
+22 29243941 22:29243941C-T C T
+22 29243955 22:29243955C-T C T
+22 29244395 22:29244395T-C T C
+22 29245231 22:29245231T-G T G
+22 29245611 22:29245611C-T C T
+22 29245938 22:29245938G-C G C
+22 29246097 22:29246097A-C A C
+22 29246278 22:29246278T-C T C
+22 29246605 22:29246605A-T A T
+22 29247097 22:29247097A-G A G
+22 29247801 22:29247801C-T C T
+22 29249002 22:29249002A-G A G
+22 29249122 22:29249122T-C T C
+22 29250225 22:29250225C-T C T
+22 29250505 22:29250505T-G T G
+22 29250989 22:29250989C-T C T
+22 29251926 22:29251926C-A C A
+22 29251962 22:29251962G-T G T
+22 29252732 22:29252732G-A G A
+22 29253335 22:29253335A-C A C
+22 29253364 22:29253364T-C T C
+22 29255570 22:29255570T-C T C
+22 29255655 22:29255655A-G A G
+22 29255884 22:29255884A-G A G
+22 29256093 22:29256093T-A T A
+22 29256258 22:29256258T-C T C
+22 29256307 22:29256307T-C T C
+22 29256486 22:29256486T-C T C
+22 29257147 22:29257147A-G A G
+22 29257746 22:29257746G-A G A
+22 29258084 22:29258084G-A G A
+22 29258087 22:29258087C-T C T
+22 29258140 22:29258140T-A T A
+22 29258509 22:29258509C-G C G
+22 29258551 22:29258551T-G T G
+22 29259102 22:29259102T-A T A
+22 29259293 22:29259293C-T C T
+22 29261159 22:29261159C-T C T
+22 29264953 22:29264953C-T C T
+22 29266025 22:29266025A-G A G
+22 29268827 22:29268827C-T C T
+22 29269658 22:29269658C-G C G
+22 29269692 22:29269692A-G A G
+22 29269808 22:29269808A-G A G
+22 29269991 22:29269991G-A G A
+22 29271088 22:29271088G-T G T
+22 29271638 22:29271638C-G C G
+22 29272328 22:29272328T-A T A
+22 29273966 22:29273966G-A G A
+22 29276747 22:29276747G-A G A
+22 29276974 22:29276974T-C T C
+22 29277555 22:29277555G-A G A
+22 29279991 22:29279991C-T C T
+22 29280524 22:29280524C-T C T
+22 29281710 22:29281710G-A G A
+22 29282679 22:29282679A-G A G
+22 29283036 22:29283036G-A G A
+22 29283518 22:29283518A-G A G
+22 29283757 22:29283757C-T C T
+22 29285148 22:29285148T-C T C
+22 29286180 22:29286180C-T C T
+22 29286405 22:29286405G-A G A
+22 29287730 22:29287730C-T C T
+22 29287816 22:29287816T-G T G
+22 29288639 22:29288639A-G A G
+22 29289250 22:29289250T-C T C
+22 29289346 22:29289346C-A C A
+22 29290680 22:29290680C-A C A
+22 29290981 22:29290981C-T C T
+22 29292135 22:29292135C-T C T
+22 29293162 22:29293162G-C G C
+22 29293369 22:29293369C-T C T
+22 29295898 22:29295898C-T C T
+22 29296652 22:29296652A-G A G
+22 29297365 22:29297365C-T C T
+22 29299571 22:29299571A-G A G
+22 29299806 22:29299806T-C T C
+22 29300306 22:29300306C-T C T
+22 29302906 22:29302906A-G A G
+22 29303595 22:29303595G-C G C
+22 29304200 22:29304200A-T A T
+22 29304253 22:29304253T-C T C
+22 29305061 22:29305061G-T G T
+22 29307158 22:29307158A-G A G
+22 29307859 22:29307859G-C G C
+22 29308414 22:29308414C-T C T
+22 29308797 22:29308797C-T C T
+22 29310291 22:29310291C-T C T
+22 29311271 22:29311271G-A G A
+22 29312578 22:29312578C-T C T
+22 29314190 22:29314190C-A C A
+22 29314899 22:29314899T-C T C
+22 29315785 22:29315785A-G A G
+22 29315834 22:29315834A-G A G
+22 29317559 22:29317559C-G C G
+22 29318724 22:29318724C-T C T
+22 29321008 22:29321008A-G A G
+22 29321660 22:29321660T-C T C
+22 29325923 22:29325923G-A G A
+22 29327347 22:29327347A-G A G
+22 29334600 22:29334600C-T C T
+22 29336136 22:29336136T-C T C
+22 29338656 22:29338656G-C G C
+22 29340612 22:29340612G-A G A
+22 29343188 22:29343188G-C G C
+22 29347215 22:29347215G-T G T
+22 29349306 22:29349306C-T C T
+22 29350370 22:29350370T-G T G
+22 29350911 22:29350911G-T G T
+22 29351179 22:29351179C-T C T
+22 29352495 22:29352495A-C A C
+22 29353454 22:29353454G-A G A
+22 29353630 22:29353630T-C T C
+22 29356499 22:29356499A-G A G
+22 29358219 22:29358219T-C T C
+22 29358802 22:29358802C-T C T
+22 29359102 22:29359102A-G A G
+22 29360297 22:29360297A-G A G
+22 29360450 22:29360450G-A G A
+22 29360655 22:29360655T-C T C
+22 29361159 22:29361159A-G A G
+22 29363644 22:29363644G-A G A
+22 29365206 22:29365206G-A G A
+22 29367892 22:29367892C-T C T
+22 29368935 22:29368935G-A G A
+22 29369398 22:29369398A-C A C
+22 29369977 22:29369977G-A G A
+22 29371761 22:29371761C-T C T
+22 29375026 22:29375026C-T C T
+22 29378610 22:29378610T-C T C
+22 29380255 22:29380255T-C T C
+22 29380995 22:29380995G-A G A
+22 29381152 22:29381152C-G C G
+22 29381377 22:29381377C-T C T
+22 29382372 22:29382372C-T C T
+22 29383423 22:29383423A-G A G
+22 29389202 22:29389202A-T A T
+22 29390049 22:29390049A-G A G
+22 29395969 22:29395969A-G A G
+22 29397998 22:29397998C-T C T
+22 29399244 22:29399244T-C T C
+22 29400515 22:29400515G-A G A
+22 29401333 22:29401333G-A G A
+22 29401498 22:29401498G-A G A
+22 29402314 22:29402314G-A G A
+22 29402489 22:29402489C-T C T
+22 29402539 22:29402539T-C T C
+22 29402619 22:29402619T-A T A
+22 29402832 22:29402832G-T G T
+22 29403050 22:29403050C-A C A
+22 29403739 22:29403739C-T C T
+22 29404651 22:29404651A-G A G
+22 29405742 22:29405742G-C G C
+22 29405956 22:29405956T-G T G
+22 29406055 22:29406055T-C T C
+22 29406076 22:29406076T-G T G
+22 29406189 22:29406189A-G A G
+22 29406772 22:29406772T-C T C
+22 29408419 22:29408419T-C T C
+22 29408594 22:29408594A-G A G
+22 29409966 22:29409966T-C T C
+22 29410104 22:29410104T-C T C
+22 29410232 22:29410232A-C A C
+22 29410675 22:29410675A-T A T
+22 29411267 22:29411267A-G A G
+22 29411615 22:29411615A-G A G
+22 29411864 22:29411864C-T C T
+22 29412257 22:29412257T-C T C
+22 29413305 22:29413305G-A G A
+22 29413785 22:29413785A-G A G
+22 29414001 22:29414001A-G A G
+22 29417039 22:29417039C-G C G
+22 29417225 22:29417225A-T A T
+22 29417296 22:29417296A-C A C
+22 29417792 22:29417792T-C T C
+22 29417909 22:29417909A-G A G
+22 29418163 22:29418163A-T A T
+22 29418209 22:29418209G-A G A
+22 29418627 22:29418627C-T C T
+22 29418658 22:29418658T-C T C
+22 29418669 22:29418669T-A T A
+22 29418858 22:29418858T-G T G
+22 29419062 22:29419062T-C T C
+22 29419987 22:29419987A-G A G
+22 29420482 22:29420482G-A G A
+22 29421144 22:29421144A-G A G
+22 29422908 22:29422908C-T C T
+22 29423293 22:29423293A-G A G
+22 29424920 22:29424920G-A G A
+22 29425749 22:29425749T-C T C
+22 29427200 22:29427200G-A G A
+22 29427268 22:29427268C-T C T
+22 29427329 22:29427329C-T C T
+22 29429369 22:29429369A-C A C
+22 29429561 22:29429561G-C G C
+22 29429955 22:29429955G-A G A
+22 29429997 22:29429997T-C T C
+22 29430459 22:29430459C-A C A
+22 29431121 22:29431121C-T C T
+22 29431259 22:29431259C-G C G
+22 29431626 22:29431626T-C T C
+22 29431863 22:29431863C-T C T
+22 29431915 22:29431915A-T A T
+22 29432722 22:29432722G-A G A
+22 29433095 22:29433095C-T C T
+22 29434105 22:29434105A-G A G
+22 29434285 22:29434285T-G T G
+22 29434953 22:29434953T-G T G
+22 29434955 22:29434955G-T G T
+22 29435397 22:29435397C-A C A
+22 29435896 22:29435896A-G A G
+22 29438327 22:29438327A-T A T
+22 29438785 22:29438785T-C T C
+22 29439036 22:29439036T-C T C
+22 29439201 22:29439201G-A G A
+22 29439939 22:29439939T-A T A
+22 29440692 22:29440692A-C A C
+22 29443709 22:29443709A-G A G
+22 29446611 22:29446611A-C A C
+22 29446975 22:29446975T-C T C
+22 29447111 22:29447111C-T C T
+22 29448408 22:29448408T-C T C
+22 29448643 22:29448643C-T C T
+22 29449477 22:29449477A-G A G
+22 29450923 22:29450923A-G A G
+22 29451671 22:29451671A-G A G
+22 29452278 22:29452278A-G A G
+22 29452310 22:29452310G-A G A
+22 29453027 22:29453027A-G A G
+22 29453193 22:29453193G-C G C
+22 29454477 22:29454477T-C T C
+22 29456360 22:29456360C-T C T
+22 29456733 22:29456733T-C T C
+22 29457582 22:29457582A-G A G
+22 29457622 22:29457622G-A G A
+22 29458441 22:29458441A-G A G
+22 29458845 22:29458845A-G A G
+22 29459634 22:29459634T-A T A
+22 29459732 22:29459732A-G A G
+22 29459939 22:29459939C-T C T
+22 29460003 22:29460003G-A G A
+22 29461150 22:29461150T-A T A
+22 29461622 22:29461622G-A G A
+22 29461790 22:29461790T-C T C
+22 29462619 22:29462619G-T G T
+22 29463089 22:29463089C-T C T
+22 29463221 22:29463221A-G A G
+22 29463381 22:29463381C-T C T
+22 29463545 22:29463545C-T C T
+22 29463644 22:29463644C-G C G
+22 29464223 22:29464223T-C T C
+22 29464637 22:29464637A-G A G
+22 29465677 22:29465677C-T C T
+22 29465869 22:29465869T-C T C
+22 29465973 22:29465973A-G A G
+22 29466201 22:29466201T-C T C
+22 29466346 22:29466346T-C T C
+22 29466825 22:29466825T-C T C
+22 29466835 22:29466835T-C T C
+22 29467221 22:29467221G-A G A
+22 29467580 22:29467580G-C G C
+22 29468155 22:29468155C-T C T
+22 29468456 22:29468456C-T C T
+22 29468721 22:29468721C-G C G
+22 29470115 22:29470115A-G A G
+22 29471323 22:29471323A-G A G
+22 29472709 22:29472709A-G A G
+22 29472863 22:29472863G-A G A
+22 29472884 22:29472884T-C T C
+22 29473495 22:29473495G-T G T
+22 29473884 22:29473884A-G A G
+22 29474077 22:29474077A-G A G
+22 29474277 22:29474277T-G T G
+22 29475124 22:29475124A-G A G
+22 29475209 22:29475209T-C T C
+22 29475583 22:29475583C-T C T
+22 29476844 22:29476844C-G C G
+22 29477384 22:29477384T-G T G
+22 29477611 22:29477611C-T C T
+22 29477692 22:29477692A-C A C
+22 29477841 22:29477841T-G T G
+22 29478256 22:29478256G-A G A
+22 29478374 22:29478374C-T C T
+22 29478760 22:29478760T-C T C
+22 29478831 22:29478831G-T G T
+22 29479090 22:29479090T-G T G
+22 29479193 22:29479193G-A G A
+22 29479231 22:29479231G-C G C
+22 29479884 22:29479884G-T G T
+22 29479890 22:29479890C-A C A
+22 29480024 22:29480024G-T G T
+22 29480400 22:29480400T-A T A
+22 29480742 22:29480742A-G A G
+22 29480905 22:29480905A-G A G
+22 29480946 22:29480946A-G A G
+22 29480954 22:29480954T-C T C
+22 29481878 22:29481878G-A G A
+22 29481884 22:29481884A-G A G
+22 29482155 22:29482155T-G T G
+22 29482221 22:29482221T-C T C
+22 29482676 22:29482676C-T C T
+22 29482725 22:29482725G-A G A
+22 29483060 22:29483060A-G A G
+22 29483583 22:29483583A-G A G
+22 29483715 22:29483715G-A G A
+22 29483780 22:29483780C-T C T
+22 29483873 22:29483873G-T G T
+22 29483920 22:29483920G-C G C
+22 29484348 22:29484348G-A G A
+22 29484425 22:29484425G-T G T
+22 29484610 22:29484610A-G A G
+22 29484829 22:29484829G-A G A
+22 29484845 22:29484845C-T C T
+22 29485528 22:29485528G-T G T
+22 29485708 22:29485708G-A G A
+22 29485794 22:29485794G-A G A
+22 29486390 22:29486390G-C G C
+22 29486480 22:29486480A-G A G
+22 29486779 22:29486779T-A T A
+22 29487725 22:29487725C-G C G
+22 29488162 22:29488162T-C T C
+22 29489106 22:29489106A-C A C
+22 29489399 22:29489399G-C G C
+22 29490497 22:29490497G-A G A
+22 29490956 22:29490956G-C G C
+22 29491264 22:29491264C-T C T
+22 29491496 22:29491496G-T G T
+22 29491706 22:29491706C-T C T
+22 29492112 22:29492112A-G A G
+22 29494142 22:29494142T-C T C
+22 29494148 22:29494148T-C T C
+22 29494593 22:29494593G-A G A
+22 29494624 22:29494624C-G C G
+22 29495079 22:29495079G-A G A
+22 29495254 22:29495254G-A G A
+22 29497143 22:29497143A-G A G
+22 29498118 22:29498118G-A G A
+22 29499810 22:29499810G-A G A
+22 29500811 22:29500811A-G A G
+22 29500876 22:29500876C-T C T
+22 29501278 22:29501278T-G T G
+22 29501681 22:29501681G-A G A
+22 29502728 22:29502728G-A G A
+22 29503191 22:29503191C-T C T
+22 29503887 22:29503887T-C T C
+22 29503955 22:29503955T-C T C
+22 29504073 22:29504073A-T A T
+22 29507471 22:29507471G-A G A
+22 29509781 22:29509781G-A G A
+22 29510124 22:29510124C-T C T
+22 29510450 22:29510450T-C T C
+22 29511517 22:29511517A-G A G
+22 29511620 22:29511620G-A G A
+22 29511729 22:29511729G-A G A
+22 29511938 22:29511938G-A G A
+22 29513287 22:29513287A-G A G
+22 29513326 22:29513326T-C T C
+22 29513729 22:29513729G-A G A
+22 29513839 22:29513839T-A T A
+22 29514303 22:29514303G-C G C
+22 29514647 22:29514647T-C T C
+22 29514956 22:29514956T-G T G
+22 29515179 22:29515179G-A G A
+22 29517678 22:29517678G-A G A
+22 29517987 22:29517987C-T C T
+22 29518216 22:29518216T-C T C
+22 29518796 22:29518796T-C T C
+22 29519142 22:29519142C-T C T
+22 29519375 22:29519375T-C T C
+22 29520410 22:29520410A-C A C
+22 29521071 22:29521071G-C G C
+22 29522486 22:29522486T-C T C
+22 29523559 22:29523559A-G A G
+22 29524534 22:29524534G-A G A
+22 29525126 22:29525126C-T C T
+22 29525694 22:29525694C-T C T
+22 29525869 22:29525869G-C G C
+22 29526197 22:29526197C-T C T
+22 29527059 22:29527059G-A G A
+22 29528417 22:29528417C-T C T
+22 29529656 22:29529656T-G T G
+22 29532549 22:29532549G-A G A
+22 29532951 22:29532951T-G T G
+22 29532971 22:29532971A-G A G
+22 29533136 22:29533136T-G T G
+22 29533210 22:29533210A-G A G
+22 29533275 22:29533275C-T C T
+22 29533499 22:29533499G-A G A
+22 29533572 22:29533572C-G C G
+22 29535810 22:29535810C-T C T
+22 29535861 22:29535861G-C G C
+22 29537065 22:29537065C-G C G
+22 29537124 22:29537124C-T C T
+22 29537467 22:29537467G-A G A
+22 29538468 22:29538468T-C T C
+22 29539501 22:29539501C-T C T
+22 29539546 22:29539546T-C T C
+22 29540297 22:29540297G-A G A
+22 29540920 22:29540920C-T C T
+22 29541447 22:29541447G-A G A
+22 29541633 22:29541633G-A G A
+22 29542864 22:29542864G-A G A
+22 29543307 22:29543307A-G A G
+22 29544164 22:29544164C-T C T
+22 29544533 22:29544533C-A C A
+22 29544833 22:29544833A-G A G
+22 29544839 22:29544839C-T C T
+22 29546181 22:29546181C-G C G
+22 29548079 22:29548079A-G A G
+22 29548262 22:29548262A-G A G
+22 29548896 22:29548896G-A G A
+22 29549520 22:29549520T-A T A
+22 29550379 22:29550379G-T G T
+22 29550628 22:29550628T-C T C
+22 29551900 22:29551900C-T C T
+22 29552155 22:29552155T-C T C
+22 29552332 22:29552332G-C G C
+22 29553007 22:29553007T-A T A
+22 29553039 22:29553039A-G A G
+22 29553955 22:29553955A-G A G
+22 29554183 22:29554183C-A C A
+22 29554530 22:29554530A-G A G
+22 29554819 22:29554819T-A T A
+22 29555050 22:29555050C-T C T
+22 29555337 22:29555337G-A G A
+22 29555389 22:29555389T-A T A
+22 29556054 22:29556054T-C T C
+22 29556319 22:29556319G-C G C
+22 29556739 22:29556739G-A G A
+22 29556745 22:29556745C-G C G
+22 29557257 22:29557257G-A G A
+22 29557292 22:29557292G-A G A
+22 29557364 22:29557364A-G A G
+22 29558534 22:29558534G-A G A
+22 29558854 22:29558854A-G A G
+22 29559157 22:29559157A-G A G
+22 29559245 22:29559245C-T C T
+22 29559387 22:29559387T-C T C
+22 29559824 22:29559824T-C T C
+22 29560006 22:29560006C-T C T
+22 29560275 22:29560275G-A G A
+22 29560890 22:29560890T-C T C
+22 29560954 22:29560954G-A G A
+22 29561102 22:29561102T-A T A
+22 29561826 22:29561826T-G T G
+22 29562083 22:29562083A-G A G
+22 29562853 22:29562853T-C T C
+22 29562893 22:29562893G-C G C
+22 29563323 22:29563323A-G A G
+22 29563884 22:29563884T-C T C
+22 29564454 22:29564454C-T C T
+22 29565366 22:29565366G-A G A
+22 29565788 22:29565788G-C G C
+22 29566253 22:29566253G-A G A
+22 29566978 22:29566978C-T C T
+22 29567196 22:29567196G-A G A
+22 29567386 22:29567386G-A G A
+22 29567431 22:29567431T-C T C
+22 29567665 22:29567665T-G T G
+22 29567765 22:29567765C-G C G
+22 29567856 22:29567856C-G C G
+22 29568762 22:29568762G-A G A
+22 29568772 22:29568772T-A T A
+22 29568785 22:29568785A-G A G
+22 29568963 22:29568963G-A G A
+22 29569519 22:29569519C-G C G
+22 29570734 22:29570734C-T C T
+22 29570806 22:29570806T-G T G
+22 29570858 22:29570858A-G A G
+22 29574425 22:29574425C-G C G
+22 29577109 22:29577109T-G T G
+22 29577135 22:29577135C-T C T
+22 29578578 22:29578578A-G A G
+22 29580887 22:29580887C-T C T
+22 29581070 22:29581070T-C T C
+22 29581296 22:29581296A-G A G
+22 29586058 22:29586058C-T C T
+22 29586832 22:29586832A-G A G
+22 29588097 22:29588097T-C T C
+22 29589079 22:29589079C-A C A
+22 29589772 22:29589772G-A G A
+22 29590222 22:29590222A-G A G
+22 29591127 22:29591127C-T C T
+22 29591625 22:29591625A-C A C
+22 29592200 22:29592200C-T C T
+22 29594050 22:29594050C-T C T
+22 29594127 22:29594127A-C A C
+22 29594194 22:29594194C-T C T
+22 29594277 22:29594277A-G A G
+22 29594442 22:29594442A-G A G
+22 29595436 22:29595436T-G T G
+22 29595442 22:29595442G-A G A
+22 29595911 22:29595911G-A G A
+22 29596502 22:29596502T-C T C
+22 29596992 22:29596992T-C T C
+22 29598263 22:29598263G-T G T
+22 29598422 22:29598422C-T C T
+22 29598878 22:29598878G-A G A
+22 29598970 22:29598970C-G C G
+22 29599089 22:29599089A-G A G
+22 29599984 22:29599984T-C T C
+22 29601083 22:29601083G-C G C
+22 29601204 22:29601204T-A T A
+22 29602136 22:29602136C-T C T
+22 29602159 22:29602159T-C T C
+22 29602971 22:29602971G-A G A
+22 29603611 22:29603611A-G A G
+22 29603796 22:29603796G-A G A
+22 29604130 22:29604130A-G A G
+22 29604275 22:29604275G-C G C
+22 29604561 22:29604561G-A G A
+22 29604787 22:29604787T-C T C
+22 29606866 22:29606866G-A G A
+22 29607407 22:29607407C-T C T
+22 29608276 22:29608276C-T C T
+22 29608324 22:29608324G-A G A
+22 29610138 22:29610138A-G A G
+22 29610332 22:29610332T-C T C
+22 29611906 22:29611906G-T G T
+22 29612481 22:29612481G-A G A
+22 29612508 22:29612508A-G A G
+22 29612736 22:29612736G-A G A
+22 29613930 22:29613930A-G A G
+22 29613954 22:29613954T-C T C
+22 29613990 22:29613990G-A G A
+22 29614303 22:29614303C-T C T
+22 29614678 22:29614678G-A G A
+22 29615536 22:29615536A-C A C
+22 29615732 22:29615732C-T C T
+22 29616014 22:29616014A-G A G
+22 29616265 22:29616265A-G A G
+22 29617320 22:29617320A-G A G
+22 29618000 22:29618000G-A G A
+22 29618375 22:29618375G-T G T
+22 29620232 22:29620232C-T C T
+22 29620325 22:29620325A-C A C
+22 29622636 22:29622636A-G A G
+22 29622977 22:29622977T-A T A
+22 29623983 22:29623983A-G A G
+22 29624040 22:29624040G-A G A
+22 29625911 22:29625911G-A G A
+22 29626190 22:29626190C-T C T
+22 29626515 22:29626515G-A G A
+22 29626613 22:29626613C-T C T
+22 29626802 22:29626802A-G A G
+22 29627536 22:29627536C-G C G
+22 29628096 22:29628096C-G C G
+22 29628615 22:29628615G-A G A
+22 29628741 22:29628741C-T C T
+22 29628806 22:29628806G-A G A
+22 29630337 22:29630337G-A G A
+22 29630564 22:29630564C-T C T
+22 29630822 22:29630822C-G C G
+22 29631092 22:29631092T-C T C
+22 29632258 22:29632258A-C A C
+22 29632557 22:29632557G-A G A
+22 29632596 22:29632596C-T C T
+22 29632731 22:29632731T-C T C
+22 29632738 22:29632738A-G A G
+22 29633059 22:29633059C-T C T
+22 29633075 22:29633075C-G C G
+22 29633826 22:29633826C-T C T
+22 29634502 22:29634502G-A G A
+22 29635419 22:29635419C-T C T
+22 29636002 22:29636002G-A G A
+22 29636141 22:29636141T-A T A
+22 29636713 22:29636713T-A T A
+22 29636830 22:29636830T-C T C
+22 29636985 22:29636985C-T C T
+22 29637624 22:29637624C-T C T
+22 29637625 22:29637625G-A G A
+22 29637658 22:29637658G-C G C
+22 29637939 22:29637939A-G A G
+22 29638387 22:29638387A-T A T
+22 29638470 22:29638470G-A G A
+22 29639090 22:29639090C-T C T
+22 29639161 22:29639161A-G A G
+22 29639192 22:29639192C-T C T
+22 29640019 22:29640019C-T C T
+22 29640309 22:29640309G-A G A
+22 29640513 22:29640513A-C A C
+22 29640705 22:29640705G-A G A
+22 29640720 22:29640720T-A T A
+22 29641018 22:29641018T-C T C
+22 29641095 22:29641095C-G C G
+22 29641278 22:29641278A-G A G
+22 29641327 22:29641327T-C T C
+22 29641468 22:29641468C-A C A
+22 29641551 22:29641551T-C T C
+22 29641695 22:29641695C-T C T
+22 29641739 22:29641739G-A G A
+22 29641741 22:29641741G-T G T
+22 29641997 22:29641997A-G A G
+22 29642012 22:29642012A-G A G
+22 29642111 22:29642111A-G A G
+22 29642365 22:29642365G-A G A
+22 29643421 22:29643421G-A G A
+22 29643538 22:29643538A-C A C
+22 29645226 22:29645226T-C T C
+22 29645264 22:29645264G-C G C
+22 29645375 22:29645375G-A G A
+22 29645386 22:29645386G-A G A
+22 29645400 22:29645400C-T C T
+22 29645556 22:29645556C-T C T
+22 29645656 22:29645656G-T G T
+22 29645757 22:29645757C-G C G
+22 29645776 22:29645776G-A G A
+22 29645895 22:29645895C-T C T
+22 29646095 22:29646095A-G A G
+22 29646275 22:29646275A-G A G
+22 29646439 22:29646439A-C A C
+22 29647042 22:29647042A-T A T
+22 29647127 22:29647127G-A G A
+22 29647215 22:29647215C-T C T
+22 29647263 22:29647263G-T G T
+22 29647784 22:29647784A-G A G
+22 29647854 22:29647854A-G A G
+22 29648165 22:29648165T-C T C
+22 29648604 22:29648604A-T A T
+22 29649204 22:29649204C-T C T
+22 29649298 22:29649298G-A G A
+22 29649310 22:29649310G-A G A
+22 29649775 22:29649775G-A G A
+22 29650458 22:29650458C-T C T
+22 29650692 22:29650692A-G A G
+22 29650741 22:29650741C-T C T
+22 29650774 22:29650774C-T C T
+22 29650905 22:29650905C-T C T
+22 29650987 22:29650987G-A G A
+22 29650993 22:29650993C-T C T
+22 29653410 22:29653410G-A G A
+22 29653611 22:29653611G-A G A
+22 29653929 22:29653929G-T G T
+22 29654004 22:29654004C-T C T
+22 29655371 22:29655371C-T C T
+22 29655416 22:29655416C-T C T
+22 29656389 22:29656389G-T G T
+22 29657604 22:29657604C-T C T
+22 29659715 22:29659715G-A G A
+22 29659960 22:29659960C-T C T
+22 29661341 22:29661341G-A G A
+22 29664423 22:29664423G-A G A
+22 29664877 22:29664877A-C A C
+22 29664906 22:29664906C-T C T
+22 29669648 22:29669648G-C G C
+22 29669693 22:29669693T-C T C
+22 29669712 22:29669712C-G C G
+22 29670939 22:29670939T-C T C
+22 29672293 22:29672293A-G A G
+22 29675401 22:29675401A-G A G
+22 29675936 22:29675936T-A T A
+22 29676695 22:29676695T-A T A
+22 29677164 22:29677164A-G A G
+22 29677746 22:29677746T-C T C
+22 29677967 22:29677967C-A C A
+22 29679713 22:29679713G-A G A
+22 29681216 22:29681216A-G A G
+22 29683558 22:29683558A-T A T
+22 29685711 22:29685711C-T C T
+22 29685752 22:29685752A-G A G
+22 29688632 22:29688632T-G T G
+22 29689837 22:29689837A-G A G
+22 29690246 22:29690246G-A G A
+22 29690345 22:29690345T-C T C
+22 29691382 22:29691382A-T A T
+22 29691920 22:29691920G-A G A
+22 29692488 22:29692488G-T G T
+22 29692497 22:29692497G-T G T
+22 29693640 22:29693640G-A G A
+22 29693990 22:29693990A-G A G
+22 29694312 22:29694312G-A G A
+22 29694483 22:29694483T-C T C
+22 29695929 22:29695929T-G T G
+22 29700536 22:29700536C-G C G
+22 29702139 22:29702139T-C T C
+22 29702654 22:29702654C-A C A
+22 29702748 22:29702748G-C G C
+22 29702910 22:29702910A-T A T
+22 29703409 22:29703409G-C G C
+22 29704125 22:29704125C-T C T
+22 29704662 22:29704662C-G C G
+22 29704883 22:29704883C-T C T
+22 29705881 22:29705881A-G A G
+22 29705927 22:29705927A-G A G
+22 29707827 22:29707827G-A G A
+22 29707955 22:29707955A-T A T
+22 29710325 22:29710325T-C T C
+22 29710360 22:29710360T-C T C
+22 29711540 22:29711540G-A G A
+22 29712049 22:29712049G-A G A
+22 29717326 22:29717326T-C T C
+22 29717716 22:29717716G-A G A
+22 29717802 22:29717802A-G A G
+22 29718321 22:29718321C-T C T
+22 29719167 22:29719167G-T G T
+22 29720408 22:29720408A-C A C
+22 29721161 22:29721161G-A G A
+22 29721902 22:29721902G-A G A
+22 29725893 22:29725893T-C T C
+22 29727866 22:29727866C-T C T
+22 29728783 22:29728783T-C T C
+22 29728854 22:29728854A-T A T
+22 29730002 22:29730002C-T C T
+22 29730625 22:29730625A-G A G
+22 29733510 22:29733510C-T C T
+22 29734696 22:29734696T-G T G
+22 29734797 22:29734797G-A G A
+22 29735310 22:29735310C-T C T
+22 29735647 22:29735647C-T C T
+22 29737823 22:29737823T-C T C
+22 29738546 22:29738546C-T C T
+22 29740728 22:29740728A-G A G
+22 29742841 22:29742841T-C T C
+22 29743482 22:29743482T-C T C
+22 29743779 22:29743779C-T C T
+22 29746253 22:29746253T-C T C
+22 29748655 22:29748655T-C T C
+22 29748859 22:29748859G-A G A
+22 29750186 22:29750186T-C T C
+22 29751030 22:29751030G-C G C
+22 29752180 22:29752180C-G C G
+22 29753322 22:29753322G-A G A
+22 29755888 22:29755888T-C T C
+22 29757242 22:29757242C-T C T
+22 29757863 22:29757863A-G A G
+22 29758214 22:29758214C-T C T
+22 29758235 22:29758235C-T C T
+22 29758391 22:29758391A-T A T
+22 29758488 22:29758488A-G A G
+22 29758580 22:29758580C-T C T
+22 29759444 22:29759444C-G C G
+22 29759526 22:29759526A-G A G
+22 29760139 22:29760139A-G A G
+22 29761232 22:29761232C-T C T
+22 29761578 22:29761578C-T C T
+22 29762240 22:29762240G-A G A
+22 29762369 22:29762369G-A G A
+22 29762714 22:29762714A-G A G
+22 29765382 22:29765382A-T A T
+22 29766304 22:29766304T-A T A
+22 29766334 22:29766334C-T C T
+22 29766895 22:29766895C-T C T
+22 29766966 22:29766966G-A G A
+22 29767034 22:29767034A-G A G
+22 29767925 22:29767925A-G A G
+22 29769089 22:29769089A-T A T
+22 29769306 22:29769306C-A C A
+22 29769626 22:29769626A-G A G
+22 29769699 22:29769699C-G C G
+22 29771912 22:29771912C-T C T
+22 29772391 22:29772391G-C G C
+22 29773100 22:29773100G-A G A
+22 29773325 22:29773325T-C T C
+22 29773869 22:29773869A-G A G
+22 29774736 22:29774736T-C T C
+22 29775023 22:29775023C-A C A
+22 29775140 22:29775140C-G C G
+22 29775618 22:29775618G-T G T
+22 29775797 22:29775797C-T C T
+22 29776050 22:29776050T-C T C
+22 29776323 22:29776323C-G C G
+22 29776857 22:29776857C-T C T
+22 29777291 22:29777291A-G A G
+22 29777504 22:29777504C-T C T
+22 29777581 22:29777581C-A C A
+22 29778070 22:29778070T-C T C
+22 29778452 22:29778452G-C G C
+22 29778719 22:29778719C-A C A
+22 29779437 22:29779437C-T C T
+22 29779884 22:29779884T-C T C
+22 29780812 22:29780812G-A G A
+22 29780884 22:29780884A-T A T
+22 29781445 22:29781445T-G T G
+22 29782433 22:29782433A-C A C
+22 29784786 22:29784786G-C G C
+22 29785918 22:29785918A-G A G
+22 29786366 22:29786366G-T G T
+22 29786497 22:29786497C-T C T
+22 29789021 22:29789021T-C T C
+22 29791234 22:29791234A-G A G
+22 29791830 22:29791830T-C T C
+22 29793525 22:29793525G-C G C
+22 29793641 22:29793641A-G A G
+22 29793741 22:29793741A-G A G
+22 29793835 22:29793835A-G A G
+22 29794027 22:29794027A-C A C
+22 29794913 22:29794913G-T G T
+22 29796775 22:29796775T-C T C
+22 29797359 22:29797359C-G C G
+22 29797373 22:29797373G-T G T
+22 29798811 22:29798811G-C G C
+22 29799463 22:29799463T-C T C
+22 29801443 22:29801443G-T G T
+22 29802592 22:29802592A-G A G
+22 29802801 22:29802801C-A C A
+22 29803563 22:29803563T-C T C
+22 29805162 22:29805162C-T C T
+22 29805317 22:29805317C-T C T
+22 29805407 22:29805407A-G A G
+22 29805444 22:29805444C-T C T
+22 29805622 22:29805622G-A G A
+22 29805867 22:29805867T-C T C
+22 29806222 22:29806222A-C A C
+22 29806786 22:29806786C-T C T
+22 29807855 22:29807855A-C A C
+22 29807863 22:29807863A-T A T
+22 29808163 22:29808163C-T C T
+22 29808864 22:29808864C-T C T
+22 29809451 22:29809451C-T C T
+22 29809901 22:29809901T-A T A
+22 29810012 22:29810012A-G A G
+22 29810475 22:29810475G-A G A
+22 29810922 22:29810922C-T C T
+22 29811172 22:29811172C-G C G
+22 29811221 22:29811221T-A T A
+22 29811373 22:29811373G-C G C
+22 29812076 22:29812076C-A C A
+22 29812464 22:29812464C-T C T
+22 29812511 22:29812511A-G A G
+22 29812757 22:29812757C-T C T
+22 29812853 22:29812853A-G A G
+22 29812921 22:29812921C-T C T
+22 29813083 22:29813083G-T G T
+22 29813106 22:29813106C-T C T
+22 29813117 22:29813117G-C G C
+22 29813156 22:29813156C-T C T
+22 29813405 22:29813405T-G T G
+22 29813804 22:29813804T-C T C
+22 29814152 22:29814152T-C T C
+22 29814324 22:29814324T-C T C
+22 29814381 22:29814381A-G A G
+22 29814395 22:29814395C-T C T
+22 29814724 22:29814724A-T A T
+22 29815161 22:29815161G-C G C
+22 29815476 22:29815476C-T C T
+22 29816881 22:29816881T-C T C
+22 29817644 22:29817644C-T C T
+22 29818708 22:29818708G-T G T
+22 29818854 22:29818854C-T C T
+22 29819081 22:29819081G-A G A
+22 29819739 22:29819739T-A T A
+22 29820029 22:29820029C-T C T
+22 29820230 22:29820230A-G A G
+22 29821849 22:29821849C-T C T
+22 29822255 22:29822255A-T A T
+22 29822713 22:29822713G-A G A
+22 29822763 22:29822763G-A G A
+22 29822936 22:29822936G-A G A
+22 29823615 22:29823615C-G C G
+22 29823768 22:29823768A-G A G
+22 29824124 22:29824124A-G A G
+22 29824176 22:29824176G-A G A
+22 29824306 22:29824306C-T C T
+22 29824523 22:29824523C-T C T
+22 29824710 22:29824710C-T C T
+22 29824843 22:29824843G-A G A
+22 29825057 22:29825057T-C T C
+22 29825407 22:29825407A-G A G
+22 29826612 22:29826612C-T C T
+22 29827322 22:29827322A-C A C
+22 29827914 22:29827914C-T C T
+22 29828040 22:29828040C-T C T
+22 29828285 22:29828285C-T C T
+22 29828751 22:29828751A-C A C
+22 29829022 22:29829022G-A G A
+22 29829333 22:29829333G-C G C
+22 29829795 22:29829795T-C T C
+22 29831208 22:29831208G-A G A
+22 29831277 22:29831277G-A G A
+22 29832005 22:29832005G-A G A
+22 29832100 22:29832100A-G A G
+22 29832153 22:29832153A-G A G
+22 29832394 22:29832394G-A G A
+22 29832754 22:29832754C-A C A
+22 29832775 22:29832775T-A T A
+22 29832970 22:29832970G-A G A
+22 29833469 22:29833469A-G A G
+22 29833639 22:29833639C-G C G
+22 29834364 22:29834364G-A G A
+22 29834766 22:29834766A-G A G
+22 29835060 22:29835060T-C T C
+22 29835413 22:29835413G-C G C
+22 29835987 22:29835987C-T C T
+22 29836569 22:29836569T-A T A
+22 29836687 22:29836687G-A G A
+22 29836926 22:29836926T-C T C
+22 29837286 22:29837286A-G A G
+22 29837537 22:29837537T-C T C
+22 29837884 22:29837884C-T C T
+22 29838203 22:29838203A-T A T
+22 29839168 22:29839168T-C T C
+22 29839659 22:29839659A-T A T
+22 29839677 22:29839677G-A G A
+22 29840180 22:29840180T-C T C
+22 29840302 22:29840302C-T C T
+22 29840340 22:29840340C-T C T
+22 29840367 22:29840367A-G A G
+22 29840677 22:29840677A-G A G
+22 29840713 22:29840713G-C G C
+22 29841642 22:29841642G-A G A
+22 29843123 22:29843123G-A G A
+22 29843254 22:29843254T-C T C
+22 29843932 22:29843932T-C T C
+22 29844314 22:29844314G-T G T
+22 29844884 22:29844884A-G A G
+22 29846339 22:29846339A-G A G
+22 29846482 22:29846482T-C T C
+22 29846537 22:29846537G-A G A
+22 29846770 22:29846770C-T C T
+22 29847069 22:29847069G-A G A
+22 29847326 22:29847326A-G A G
+22 29847722 22:29847722C-A C A
+22 29848430 22:29848430T-C T C
+22 29848481 22:29848481G-T G T
+22 29848484 22:29848484T-G T G
+22 29848626 22:29848626G-A G A
+22 29849429 22:29849429G-A G A
+22 29850334 22:29850334A-T A T
+22 29850587 22:29850587G-A G A
+22 29851172 22:29851172G-A G A
+22 29851183 22:29851183T-C T C
+22 29851315 22:29851315T-C T C
+22 29851771 22:29851771G-T G T
+22 29851966 22:29851966C-T C T
+22 29852474 22:29852474G-A G A
+22 29853526 22:29853526T-C T C
+22 29853562 22:29853562T-C T C
+22 29853821 22:29853821A-G A G
+22 29854169 22:29854169T-C T C
+22 29854959 22:29854959T-C T C
+22 29855327 22:29855327G-A G A
+22 29855489 22:29855489C-T C T
+22 29855836 22:29855836T-C T C
+22 29856079 22:29856079G-A G A
+22 29856892 22:29856892C-T C T
+22 29857664 22:29857664C-T C T
+22 29857859 22:29857859C-G C G
+22 29859506 22:29859506C-T C T
+22 29860457 22:29860457A-G A G
+22 29860811 22:29860811T-C T C
+22 29860870 22:29860870C-G C G
+22 29861534 22:29861534T-C T C
+22 29861840 22:29861840T-C T C
+22 29862247 22:29862247G-A G A
+22 29862948 22:29862948C-T C T
+22 29863152 22:29863152T-C T C
+22 29863922 22:29863922C-T C T
+22 29864673 22:29864673T-C T C
+22 29866456 22:29866456G-C G C
+22 29866594 22:29866594T-G T G
+22 29868855 22:29868855G-C G C
+22 29870085 22:29870085A-C A C
+22 29871735 22:29871735G-T G T
+22 29872160 22:29872160G-C G C
+22 29873494 22:29873494C-A C A
+22 29874250 22:29874250A-G A G
+22 29874756 22:29874756C-G C G
+22 29875772 22:29875772T-C T C
+22 29877367 22:29877367G-A G A
+22 29877417 22:29877417C-T C T
+22 29877557 22:29877557C-T C T
+22 29877565 22:29877565A-G A G
+22 29877625 22:29877625A-G A G
+22 29879745 22:29879745C-G C G
+22 29879917 22:29879917C-A C A
+22 29880049 22:29880049G-A G A
+22 29880773 22:29880773A-G A G
+22 29880914 22:29880914T-C T C
+22 29881214 22:29881214C-T C T
+22 29881253 22:29881253C-G C G
+22 29881468 22:29881468G-A G A
+22 29881828 22:29881828C-T C T
+22 29882973 22:29882973C-T C T
+22 29883892 22:29883892G-T G T
+22 29884277 22:29884277T-C T C
+22 29884567 22:29884567C-T C T
+22 29885016 22:29885016G-A G A
+22 29885473 22:29885473C-T C T
+22 29885861 22:29885861T-C T C
+22 29886043 22:29886043A-C A C
+22 29886413 22:29886413A-G A G
+22 29886893 22:29886893G-T G T
+22 29887186 22:29887186G-C G C
+22 29887579 22:29887579G-A G A
+22 29887623 22:29887623T-C T C
+22 29888485 22:29888485G-A G A
+22 29888794 22:29888794T-C T C
+22 29889201 22:29889201G-A G A
+22 29889562 22:29889562T-C T C
+22 29889650 22:29889650G-A G A
+22 29890403 22:29890403T-C T C
+22 29891002 22:29891002T-C T C
+22 29891925 22:29891925C-T C T
+22 29892162 22:29892162A-G A G
+22 29893040 22:29893040T-C T C
+22 29894453 22:29894453A-G A G
+22 29894805 22:29894805G-C G C
+22 29896474 22:29896474A-G A G
+22 29897444 22:29897444T-C T C
+22 29897789 22:29897789T-A T A
+22 29898045 22:29898045C-T C T
+22 29900856 22:29900856C-G C G
+22 29901996 22:29901996G-A G A
+22 29902192 22:29902192A-C A C
+22 29902699 22:29902699G-A G A
+22 29904354 22:29904354G-A G A
+22 29904519 22:29904519T-C T C
+22 29905051 22:29905051G-A G A
+22 29905377 22:29905377A-G A G
+22 29906701 22:29906701T-C T C
+22 29907401 22:29907401C-T C T
+22 29907499 22:29907499G-A G A
+22 29907850 22:29907850G-T G T
+22 29908072 22:29908072C-T C T
+22 29908154 22:29908154G-T G T
+22 29908849 22:29908849G-T G T
+22 29909480 22:29909480C-T C T
+22 29910095 22:29910095G-A G A
+22 29910227 22:29910227C-T C T
+22 29910790 22:29910790G-A G A
+22 29912159 22:29912159A-G A G
+22 29912430 22:29912430A-G A G
+22 29912885 22:29912885G-A G A
+22 29913272 22:29913272C-T C T
+22 29913572 22:29913572T-C T C
+22 29913801 22:29913801A-C A C
+22 29915144 22:29915144C-T C T
+22 29915406 22:29915406A-G A G
+22 29915797 22:29915797A-G A G
+22 29918482 22:29918482C-T C T
+22 29919201 22:29919201G-A G A
+22 29919333 22:29919333T-C T C
+22 29919830 22:29919830T-C T C
+22 29920298 22:29920298T-A T A
+22 29920819 22:29920819C-A C A
+22 29922279 22:29922279T-C T C
+22 29922390 22:29922390G-A G A
+22 29923084 22:29923084A-G A G
+22 29923356 22:29923356C-T C T
+22 29924212 22:29924212T-C T C
+22 29924825 22:29924825T-C T C
+22 29925284 22:29925284T-C T C
+22 29927598 22:29927598C-T C T
+22 29927704 22:29927704T-C T C
+22 29928477 22:29928477C-A C A
+22 29928932 22:29928932A-G A G
+22 29928948 22:29928948G-C G C
+22 29929239 22:29929239G-A G A
+22 29929627 22:29929627G-A G A
+22 29929723 22:29929723T-C T C
+22 29929744 22:29929744A-G A G
+22 29930064 22:29930064C-T C T
+22 29930077 22:29930077T-C T C
+22 29930195 22:29930195T-C T C
+22 29930578 22:29930578C-A C A
+22 29932438 22:29932438C-A C A
+22 29933287 22:29933287G-A G A
+22 29933572 22:29933572C-T C T
+22 29933627 22:29933627T-C T C
+22 29933837 22:29933837A-G A G
+22 29933875 22:29933875T-C T C
+22 29934547 22:29934547G-A G A
+22 29934837 22:29934837C-T C T
+22 29935704 22:29935704G-A G A
+22 29935773 22:29935773G-A G A
+22 29936038 22:29936038G-A G A
+22 29936520 22:29936520G-T G T
+22 29936832 22:29936832C-A C A
+22 29936982 22:29936982C-G C G
+22 29937239 22:29937239C-A C A
+22 29937268 22:29937268G-T G T
+22 29937435 22:29937435T-G T G
+22 29937608 22:29937608T-C T C
+22 29938677 22:29938677C-T C T
+22 29939683 22:29939683T-C T C
+22 29940949 22:29940949G-A G A
+22 29941028 22:29941028A-G A G
+22 29941937 22:29941937G-A G A
+22 29942208 22:29942208G-A G A
+22 29942252 22:29942252G-T G T
+22 29942297 22:29942297G-A G A
+22 29942306 22:29942306A-G A G
+22 29942709 22:29942709G-A G A
+22 29942993 22:29942993C-T C T
+22 29943125 22:29943125A-G A G
+22 29944413 22:29944413G-A G A
+22 29944552 22:29944552T-A T A
+22 29944801 22:29944801T-A T A
+22 29946238 22:29946238T-C T C
+22 29947202 22:29947202C-G C G
+22 29947380 22:29947380A-G A G
+22 29947666 22:29947666G-A G A
+22 29949509 22:29949509G-A G A
+22 29950725 22:29950725A-C A C
+22 29951650 22:29951650A-T A T
+22 29952181 22:29952181C-G C G
+22 29952226 22:29952226T-C T C
+22 29952437 22:29952437C-T C T
+22 29953805 22:29953805A-G A G
+22 29954593 22:29954593G-A G A
+22 29955252 22:29955252A-G A G
+22 29955433 22:29955433C-T C T
+22 29955450 22:29955450T-C T C
+22 29955971 22:29955971G-A G A
+22 29956135 22:29956135G-C G C
+22 29956137 22:29956137T-C T C
+22 29956156 22:29956156T-C T C
+22 29957013 22:29957013C-T C T
+22 29957321 22:29957321G-A G A
+22 29957570 22:29957570G-A G A
+22 29957911 22:29957911T-C T C
+22 29957944 22:29957944C-T C T
+22 29958634 22:29958634T-C T C
+22 29959148 22:29959148G-A G A
+22 29959300 22:29959300T-C T C
+22 29959335 22:29959335T-A T A
+22 29959471 22:29959471G-A G A
+22 29959490 22:29959490T-C T C
+22 29960335 22:29960335A-G A G
+22 29960768 22:29960768T-G T G
+22 29961986 22:29961986G-T G T
+22 29962047 22:29962047C-T C T
+22 29962077 22:29962077A-G A G
+22 29962443 22:29962443G-A G A
+22 29963508 22:29963508C-T C T
+22 29963600 22:29963600G-C G C
+22 29964650 22:29964650A-G A G
+22 29965168 22:29965168G-C G C
+22 29965880 22:29965880G-A G A
+22 29966083 22:29966083C-T C T
+22 29966317 22:29966317C-G C G
+22 29969275 22:29969275C-T C T
+22 29969378 22:29969378G-A G A
+22 29969861 22:29969861T-G T G
+22 29970631 22:29970631G-A G A
+22 29970989 22:29970989T-C T C
+22 29971869 22:29971869A-C A C
+22 29972079 22:29972079C-G C G
+22 29972132 22:29972132C-T C T
+22 29972309 22:29972309G-A G A
+22 29972391 22:29972391A-G A G
+22 29972875 22:29972875C-G C G
+22 29973501 22:29973501T-C T C
+22 29973565 22:29973565C-T C T
+22 29973634 22:29973634C-T C T
+22 29973808 22:29973808A-G A G
+22 29973943 22:29973943A-G A G
+22 29974831 22:29974831A-G A G
+22 29974879 22:29974879G-A G A
+22 29975105 22:29975105G-A G A
+22 29975937 22:29975937T-C T C
+22 29977343 22:29977343G-A G A
+22 29977578 22:29977578C-T C T
+22 29977602 22:29977602C-A C A
+22 29978026 22:29978026A-T A T
+22 29978749 22:29978749C-G C G
+22 29978758 22:29978758C-G C G
+22 29979059 22:29979059C-T C T
+22 29979461 22:29979461G-A G A
+22 29979805 22:29979805A-G A G
+22 29980315 22:29980315C-T C T
+22 29981134 22:29981134T-C T C
+22 29981244 22:29981244G-C G C
+22 29981324 22:29981324G-A G A
+22 29982200 22:29982200A-G A G
+22 29982873 22:29982873C-T C T
+22 29983138 22:29983138G-A G A
+22 29983139 22:29983139G-A G A
+22 29983286 22:29983286C-A C A
+22 29983320 22:29983320C-T C T
+22 29983661 22:29983661A-T A T
+22 29983675 22:29983675T-A T A
+22 29984291 22:29984291G-A G A
+22 29984428 22:29984428G-A G A
+22 29984687 22:29984687C-T C T
+22 29985012 22:29985012A-G A G
+22 29985229 22:29985229C-T C T
+22 29986237 22:29986237A-G A G
+22 29986469 22:29986469T-C T C
+22 29986744 22:29986744G-C G C
+22 29987831 22:29987831T-C T C
+22 29988249 22:29988249T-C T C
+22 29988260 22:29988260A-G A G
+22 29988287 22:29988287C-T C T
+22 29988600 22:29988600T-C T C
+22 29988644 22:29988644A-G A G
+22 29988768 22:29988768T-C T C
+22 29988910 22:29988910C-T C T
+22 29989026 22:29989026T-C T C
+22 29989482 22:29989482A-G A G
+22 29989825 22:29989825G-A G A
+22 29990413 22:29990413C-T C T
+22 29990686 22:29990686T-C T C
+22 29990971 22:29990971A-G A G
+22 29990979 22:29990979C-T C T
+22 29991926 22:29991926G-A G A
+22 29992025 22:29992025C-T C T
+22 29992055 22:29992055G-A G A
+22 29992092 22:29992092G-A G A
+22 29992135 22:29992135A-G A G
+22 29992758 22:29992758G-A G A
+22 29992951 22:29992951G-C G C
+22 29993206 22:29993206G-A G A
+22 29993275 22:29993275G-C G C
+22 29993428 22:29993428G-A G A
+22 29993438 22:29993438T-C T C
+22 29993706 22:29993706T-C T C
+22 29993954 22:29993954C-G C G
+22 29994128 22:29994128C-G C G
+22 29994207 22:29994207G-A G A
+22 29994246 22:29994246G-C G C
+22 29994260 22:29994260A-G A G
+22 29994378 22:29994378T-C T C
+22 29994453 22:29994453A-G A G
+22 29994540 22:29994540G-A G A
+22 29994755 22:29994755G-T G T
+22 29995247 22:29995247T-C T C
+22 29995284 22:29995284T-G T G
+22 29995511 22:29995511G-A G A
+22 29995707 22:29995707G-C G C
+22 29995718 22:29995718C-T C T
+22 29997011 22:29997011C-T C T
+22 29997139 22:29997139C-G C G
+22 29997574 22:29997574T-C T C
+22 29999236 22:29999236G-C G C
+22 29999309 22:29999309C-T C T
+22 29999784 22:29999784C-A C A
+22 29999878 22:29999878G-C G C
+22 30001447 22:30001447G-A G A
+22 30002077 22:30002077G-T G T
+22 30002130 22:30002130G-A G A
+22 30002440 22:30002440T-G T G
+22 30002484 22:30002484G-A G A
+22 30002603 22:30002603T-G T G
+22 30004929 22:30004929C-T C T
+22 30006747 22:30006747A-G A G
+22 30007808 22:30007808T-C T C
+22 30008461 22:30008461G-A G A
+22 30008483 22:30008483T-G T G
+22 30008750 22:30008750T-C T C
+22 30009779 22:30009779C-T C T
+22 30010775 22:30010775C-T C T
+22 30011060 22:30011060C-T C T
+22 30013691 22:30013691A-G A G
+22 30013809 22:30013809A-G A G
+22 30014581 22:30014581A-G A G
+22 30015417 22:30015417G-A G A
+22 30015679 22:30015679C-T C T
+22 30016378 22:30016378A-C A C
+22 30017000 22:30017000G-C G C
+22 30018200 22:30018200A-G A G
+22 30019726 22:30019726C-T C T
+22 30022267 22:30022267C-T C T
+22 30022923 22:30022923G-A G A
+22 30022936 22:30022936A-G A G
+22 30023960 22:30023960G-T G T
+22 30024263 22:30024263T-C T C
+22 30026279 22:30026279A-G A G
+22 30032235 22:30032235A-G A G
+22 30032484 22:30032484A-C A C
+22 30033036 22:30033036T-A T A
+22 30034994 22:30034994G-T G T
+22 30035021 22:30035021G-A G A
+22 30036871 22:30036871C-T C T
+22 30037109 22:30037109T-C T C
+22 30037315 22:30037315C-G C G
+22 30037900 22:30037900C-G C G
+22 30038152 22:30038152A-C A C
+22 30043242 22:30043242A-T A T
+22 30043563 22:30043563C-T C T
+22 30044151 22:30044151A-G A G
+22 30044228 22:30044228A-G A G
+22 30044669 22:30044669A-G A G
+22 30045727 22:30045727G-T G T
+22 30047421 22:30047421A-G A G
+22 30047732 22:30047732T-C T C
+22 30047891 22:30047891C-G C G
+22 30048182 22:30048182G-A G A
+22 30048571 22:30048571T-C T C
+22 30049584 22:30049584A-G A G
+22 30049643 22:30049643C-T C T
+22 30050292 22:30050292T-C T C
+22 30051433 22:30051433C-T C T
+22 30052094 22:30052094G-A G A
+22 30053118 22:30053118G-A G A
+22 30053939 22:30053939C-A C A
+22 30054024 22:30054024G-A G A
+22 30055674 22:30055674A-G A G
+22 30056185 22:30056185T-G T G
+22 30056945 22:30056945G-A G A
+22 30057574 22:30057574A-G A G
+22 30057820 22:30057820C-T C T
+22 30060073 22:30060073T-G T G
+22 30061953 22:30061953A-G A G
+22 30062274 22:30062274C-T C T
+22 30062375 22:30062375A-G A G
+22 30063550 22:30063550G-T G T
+22 30064117 22:30064117C-T C T
+22 30064731 22:30064731A-G A G
+22 30065813 22:30065813T-C T C
+22 30065967 22:30065967G-T G T
+22 30066344 22:30066344G-A G A
+22 30066568 22:30066568C-G C G
+22 30067250 22:30067250C-T C T
+22 30068066 22:30068066A-T A T
+22 30068570 22:30068570G-T G T
+22 30068631 22:30068631T-A T A
+22 30068770 22:30068770T-G T G
+22 30069207 22:30069207C-T C T
+22 30070223 22:30070223T-A T A
+22 30071358 22:30071358C-T C T
+22 30071944 22:30071944C-T C T
+22 30072685 22:30072685T-G T G
+22 30072759 22:30072759T-C T C
+22 30072963 22:30072963A-G A G
+22 30073681 22:30073681T-C T C
+22 30074485 22:30074485G-A G A
+22 30074776 22:30074776G-T G T
+22 30074804 22:30074804A-G A G
+22 30075052 22:30075052T-C T C
+22 30075087 22:30075087A-C A C
+22 30076246 22:30076246G-A G A
+22 30076398 22:30076398C-T C T
+22 30076720 22:30076720G-A G A
+22 30079213 22:30079213T-C T C
+22 30080517 22:30080517G-A G A
+22 30081250 22:30081250C-A C A
+22 30081715 22:30081715G-A G A
+22 30082331 22:30082331T-C T C
+22 30082569 22:30082569A-G A G
+22 30083071 22:30083071C-A C A
+22 30083426 22:30083426T-G T G
+22 30083539 22:30083539G-A G A
+22 30084093 22:30084093G-T G T
+22 30084739 22:30084739A-T A T
+22 30084976 22:30084976T-C T C
+22 30085655 22:30085655C-G C G
+22 30086029 22:30086029G-A G A
+22 30086144 22:30086144C-T C T
+22 30086846 22:30086846C-T C T
+22 30088039 22:30088039T-G T G
+22 30088183 22:30088183C-T C T
+22 30088257 22:30088257C-T C T
+22 30088442 22:30088442T-C T C
+22 30088671 22:30088671T-C T C
+22 30089511 22:30089511C-G C G
+22 30089669 22:30089669G-C G C
+22 30091145 22:30091145T-C T C
+22 30091765 22:30091765C-T C T
+22 30091999 22:30091999C-T C T
+22 30092583 22:30092583G-A G A
+22 30092695 22:30092695A-G A G
+22 30093015 22:30093015A-G A G
+22 30093026 22:30093026G-A G A
+22 30093259 22:30093259C-G C G
+22 30093667 22:30093667T-C T C
+22 30094065 22:30094065G-A G A
+22 30095366 22:30095366T-C T C
+22 30095695 22:30095695C-T C T
+22 30095706 22:30095706G-A G A
+22 30096874 22:30096874G-T G T
+22 30096914 22:30096914G-A G A
+22 30097039 22:30097039C-G C G
+22 30097258 22:30097258G-C G C
+22 30097527 22:30097527C-T C T
+22 30098348 22:30098348G-A G A
+22 30098792 22:30098792G-A G A
+22 30099104 22:30099104C-T C T
+22 30099958 22:30099958G-A G A
+22 30101878 22:30101878T-G T G
+22 30103476 22:30103476G-A G A
+22 30103819 22:30103819T-A T A
+22 30104285 22:30104285G-A G A
+22 30104909 22:30104909C-T C T
+22 30105298 22:30105298C-G C G
+22 30105771 22:30105771C-T C T
+22 30106340 22:30106340C-A C A
+22 30106391 22:30106391G-A G A
+22 30106659 22:30106659A-G A G
+22 30107920 22:30107920A-G A G
+22 30108486 22:30108486G-A G A
+22 30110552 22:30110552C-T C T
+22 30111302 22:30111302A-G A G
+22 30111558 22:30111558C-T C T
+22 30111624 22:30111624C-T C T
+22 30112070 22:30112070C-G C G
+22 30112226 22:30112226C-T C T
+22 30112364 22:30112364T-C T C
+22 30113960 22:30113960C-G C G
+22 30114333 22:30114333T-C T C
+22 30117023 22:30117023G-A G A
+22 30117454 22:30117454C-T C T
+22 30119954 22:30119954T-G T G
+22 30120193 22:30120193C-T C T
+22 30120950 22:30120950G-C G C
+22 30121062 22:30121062G-A G A
+22 30121285 22:30121285G-A G A
+22 30121454 22:30121454C-T C T
+22 30121455 22:30121455G-C G C
+22 30121577 22:30121577A-T A T
+22 30121648 22:30121648G-A G A
+22 30121678 22:30121678G-A G A
+22 30122279 22:30122279C-T C T
+22 30122657 22:30122657C-T C T
+22 30123010 22:30123010G-A G A
+22 30123029 22:30123029G-A G A
+22 30124369 22:30124369C-T C T
+22 30124450 22:30124450C-T C T
+22 30124614 22:30124614A-T A T
+22 30124833 22:30124833T-C T C
+22 30124896 22:30124896G-A G A
+22 30124968 22:30124968C-T C T
+22 30125596 22:30125596C-T C T
+22 30125620 22:30125620G-A G A
+22 30126644 22:30126644T-C T C
+22 30127367 22:30127367G-T G T
+22 30128021 22:30128021T-C T C
+22 30128179 22:30128179C-T C T
+22 30128240 22:30128240C-T C T
+22 30128380 22:30128380C-T C T
+22 30128443 22:30128443T-C T C
+22 30128660 22:30128660T-C T C
+22 30129156 22:30129156T-C T C
+22 30129967 22:30129967T-C T C
+22 30130115 22:30130115A-T A T
+22 30130313 22:30130313A-G A G
+22 30130516 22:30130516C-A C A
+22 30130776 22:30130776T-C T C
+22 30131148 22:30131148G-A G A
+22 30131570 22:30131570A-G A G
+22 30131897 22:30131897G-A G A
+22 30132167 22:30132167C-T C T
+22 30132964 22:30132964A-C A C
+22 30133430 22:30133430T-A T A
+22 30133579 22:30133579C-T C T
+22 30134763 22:30134763C-T C T
+22 30134793 22:30134793A-G A G
+22 30134915 22:30134915G-A G A
+22 30135806 22:30135806G-A G A
+22 30135928 22:30135928T-C T C
+22 30137262 22:30137262G-A G A
+22 30138149 22:30138149A-T A T
+22 30138232 22:30138232G-A G A
+22 30138548 22:30138548T-C T C
+22 30138689 22:30138689C-T C T
+22 30138908 22:30138908C-G C G
+22 30140358 22:30140358T-C T C
+22 30142403 22:30142403T-G T G
+22 30143206 22:30143206G-A G A
+22 30143240 22:30143240C-T C T
+22 30143693 22:30143693G-C G C
+22 30145591 22:30145591C-T C T
+22 30145717 22:30145717G-T G T
+22 30146507 22:30146507G-A G A
+22 30147038 22:30147038T-C T C
+22 30147210 22:30147210G-A G A
+22 30147861 22:30147861A-G A G
+22 30147938 22:30147938C-G C G
+22 30149505 22:30149505C-T C T
+22 30149546 22:30149546C-T C T
+22 30149896 22:30149896C-T C T
+22 30150140 22:30150140T-C T C
+22 30150395 22:30150395G-T G T
+22 30150549 22:30150549C-T C T
+22 30151582 22:30151582A-G A G
+22 30151687 22:30151687T-C T C
+22 30151716 22:30151716A-G A G
+22 30151945 22:30151945G-A G A
+22 30152522 22:30152522G-C G C
+22 30153655 22:30153655A-G A G
+22 30153721 22:30153721T-C T C
+22 30153864 22:30153864G-A G A
+22 30153930 22:30153930T-C T C
+22 30154101 22:30154101C-A C A
+22 30155113 22:30155113A-G A G
+22 30155251 22:30155251G-C G C
+22 30156430 22:30156430A-G A G
+22 30156608 22:30156608A-C A C
+22 30157589 22:30157589T-C T C
+22 30157940 22:30157940T-C T C
+22 30158351 22:30158351C-T C T
+22 30158463 22:30158463C-T C T
+22 30159637 22:30159637G-A G A
+22 30160857 22:30160857C-G C G
+22 30161133 22:30161133C-G C G
+22 30161280 22:30161280C-T C T
+22 30162199 22:30162199G-A G A
+22 30163332 22:30163332G-A G A
+22 30163835 22:30163835C-G C G
+22 30164369 22:30164369C-T C T
+22 30165412 22:30165412A-G A G
+22 30166437 22:30166437G-A G A
+22 30167233 22:30167233T-C T C
+22 30167375 22:30167375T-C T C
+22 30168469 22:30168469T-C T C
+22 30169079 22:30169079T-C T C
+22 30169436 22:30169436G-A G A
+22 30169716 22:30169716C-T C T
+22 30169871 22:30169871T-C T C
+22 30169974 22:30169974G-A G A
+22 30171031 22:30171031T-G T G
+22 30171271 22:30171271A-G A G
+22 30173702 22:30173702C-T C T
+22 30174229 22:30174229A-G A G
+22 30174563 22:30174563C-T C T
+22 30178150 22:30178150C-A C A
+22 30178305 22:30178305C-T C T
+22 30178664 22:30178664A-G A G
+22 30180001 22:30180001A-G A G
+22 30182558 22:30182558G-A G A
+22 30182927 22:30182927G-A G A
+22 30184599 22:30184599G-A G A
+22 30184950 22:30184950A-G A G
+22 30185613 22:30185613C-T C T
+22 30185719 22:30185719C-G C G
+22 30185889 22:30185889A-T A T
+22 30186139 22:30186139C-T C T
+22 30187702 22:30187702C-T C T
+22 30188084 22:30188084C-T C T
+22 30188245 22:30188245T-G T G
+22 30188611 22:30188611T-C T C
+22 30188928 22:30188928A-T A T
+22 30191921 22:30191921A-G A G
+22 30192692 22:30192692G-C G C
+22 30193548 22:30193548A-T A T
+22 30193598 22:30193598T-C T C
+22 30195949 22:30195949G-C G C
+22 30198589 22:30198589A-G A G
+22 30199084 22:30199084C-T C T
+22 30199338 22:30199338T-C T C
+22 30199926 22:30199926C-T C T
+22 30200099 22:30200099A-G A G
+22 30200362 22:30200362C-G C G
+22 30200713 22:30200713G-A G A
+22 30200761 22:30200761C-G C G
+22 30200893 22:30200893G-C G C
+22 30200936 22:30200936T-C T C
+22 30202774 22:30202774G-C G C
+22 30203599 22:30203599C-G C G
+22 30203842 22:30203842G-A G A
+22 30203919 22:30203919A-C A C
+22 30204980 22:30204980A-T A T
+22 30205572 22:30205572C-T C T
+22 30206291 22:30206291C-A C A
+22 30208608 22:30208608G-A G A
+22 30209369 22:30209369T-C T C
+22 30210356 22:30210356G-A G A
+22 30211512 22:30211512A-G A G
+22 30211876 22:30211876A-G A G
+22 30212194 22:30212194C-G C G
+22 30212366 22:30212366C-T C T
+22 30212986 22:30212986C-T C T
+22 30213972 22:30213972T-G T G
+22 30214036 22:30214036A-G A G
+22 30214704 22:30214704G-C G C
+22 30215177 22:30215177T-C T C
+22 30215718 22:30215718G-A G A
+22 30215903 22:30215903T-C T C
+22 30216168 22:30216168C-T C T
+22 30216174 22:30216174C-T C T
+22 30216982 22:30216982C-A C A
+22 30217827 22:30217827A-T A T
+22 30219326 22:30219326C-T C T
+22 30219415 22:30219415G-A G A
+22 30219545 22:30219545T-C T C
+22 30220190 22:30220190G-A G A
+22 30221120 22:30221120C-T C T
+22 30221826 22:30221826T-A T A
+22 30223991 22:30223991A-G A G
+22 30224141 22:30224141G-A G A
+22 30225127 22:30225127T-C T C
+22 30225620 22:30225620G-A G A
+22 30228717 22:30228717A-G A G
+22 30229215 22:30229215G-A G A
+22 30229399 22:30229399C-G C G
+22 30229641 22:30229641C-T C T
+22 30229954 22:30229954T-C T C
+22 30232211 22:30232211G-A G A
+22 30232637 22:30232637T-C T C
+22 30232843 22:30232843C-T C T
+22 30233446 22:30233446A-G A G
+22 30233679 22:30233679G-A G A
+22 30234045 22:30234045G-A G A
+22 30235492 22:30235492T-C T C
+22 30236243 22:30236243G-T G T
+22 30236395 22:30236395A-G A G
+22 30236444 22:30236444A-T A T
+22 30236588 22:30236588G-T G T
+22 30237362 22:30237362A-T A T
+22 30237584 22:30237584C-T C T
+22 30237706 22:30237706G-A G A
+22 30237859 22:30237859A-T A T
+22 30238074 22:30238074A-G A G
+22 30238317 22:30238317A-T A T
+22 30240778 22:30240778C-T C T
+22 30242453 22:30242453G-A G A
+22 30244835 22:30244835A-T A T
+22 30244857 22:30244857C-A C A
+22 30244949 22:30244949C-T C T
+22 30245797 22:30245797C-T C T
+22 30249347 22:30249347T-C T C
+22 30250312 22:30250312A-T A T
+22 30250360 22:30250360A-G A G
+22 30251069 22:30251069G-A G A
+22 30251180 22:30251180A-G A G
+22 30251472 22:30251472C-T C T
+22 30251815 22:30251815C-T C T
+22 30253090 22:30253090G-T G T
+22 30253256 22:30253256G-T G T
+22 30255341 22:30255341G-A G A
+22 30255418 22:30255418G-A G A
+22 30255513 22:30255513G-A G A
+22 30256938 22:30256938G-A G A
+22 30256994 22:30256994C-T C T
+22 30257033 22:30257033C-G C G
+22 30257089 22:30257089C-T C T
+22 30258357 22:30258357A-G A G
+22 30258767 22:30258767A-G A G
+22 30259342 22:30259342T-C T C
+22 30259608 22:30259608A-C A C
+22 30259971 22:30259971G-A G A
+22 30260809 22:30260809A-C A C
+22 30261219 22:30261219A-G A G
+22 30261803 22:30261803C-T C T
+22 30261871 22:30261871G-A G A
+22 30263671 22:30263671T-C T C
+22 30264274 22:30264274G-A G A
+22 30265022 22:30265022C-T C T
+22 30265344 22:30265344C-T C T
+22 30269378 22:30269378G-A G A
+22 30269431 22:30269431T-G T G
+22 30269773 22:30269773A-G A G
+22 30269907 22:30269907T-A T A
+22 30270699 22:30270699T-G T G
+22 30271630 22:30271630A-G A G
+22 30271962 22:30271962A-T A T
+22 30273164 22:30273164T-C T C
+22 30273394 22:30273394C-T C T
+22 30273574 22:30273574C-T C T
+22 30273725 22:30273725G-A G A
+22 30274324 22:30274324C-T C T
+22 30274335 22:30274335C-G C G
+22 30275091 22:30275091C-T C T
+22 30275168 22:30275168C-T C T
+22 30277066 22:30277066G-C G C
+22 30278019 22:30278019C-T C T
+22 30279069 22:30279069C-A C A
+22 30279365 22:30279365C-T C T
+22 30280162 22:30280162A-G A G
+22 30280450 22:30280450A-G A G
+22 30283504 22:30283504T-C T C
+22 30283750 22:30283750G-A G A
+22 30283999 22:30283999C-T C T
+22 30285039 22:30285039G-A G A
+22 30285582 22:30285582G-A G A
+22 30285598 22:30285598A-T A T
+22 30285641 22:30285641T-C T C
+22 30285770 22:30285770A-C A C
+22 30288338 22:30288338A-T A T
+22 30288339 22:30288339A-T A T
+22 30288398 22:30288398A-T A T
+22 30288625 22:30288625A-G A G
+22 30289309 22:30289309T-C T C
+22 30289819 22:30289819A-C A C
+22 30290125 22:30290125C-T C T
+22 30290443 22:30290443A-G A G
+22 30290633 22:30290633A-G A G
+22 30291009 22:30291009T-C T C
+22 30291445 22:30291445C-A C A
+22 30292724 22:30292724A-G A G
+22 30293503 22:30293503G-A G A
+22 30293602 22:30293602C-A C A
+22 30294173 22:30294173A-G A G
+22 30294635 22:30294635C-A C A
+22 30294744 22:30294744T-C T C
+22 30295561 22:30295561C-G C G
+22 30296222 22:30296222C-T C T
+22 30297546 22:30297546A-G A G
+22 30298186 22:30298186A-G A G
+22 30298574 22:30298574T-G T G
+22 30300112 22:30300112C-G C G
+22 30300548 22:30300548C-T C T
+22 30300579 22:30300579T-C T C
+22 30300586 22:30300586C-G C G
+22 30302153 22:30302153G-A G A
+22 30302164 22:30302164A-G A G
+22 30303066 22:30303066A-G A G
+22 30304234 22:30304234C-T C T
+22 30304334 22:30304334G-A G A
+22 30305754 22:30305754A-G A G
+22 30305898 22:30305898A-T A T
+22 30307418 22:30307418A-G A G
+22 30307558 22:30307558A-T A T
+22 30307560 22:30307560A-T A T
+22 30307614 22:30307614A-G A G
+22 30308106 22:30308106T-C T C
+22 30308180 22:30308180T-G T G
+22 30308192 22:30308192T-C T C
+22 30308780 22:30308780G-C G C
+22 30309231 22:30309231A-G A G
+22 30309886 22:30309886T-G T G
+22 30311198 22:30311198A-G A G
+22 30311708 22:30311708C-T C T
+22 30313252 22:30313252G-A G A
+22 30314092 22:30314092T-G T G
+22 30315416 22:30315416G-T G T
+22 30315736 22:30315736T-C T C
+22 30317083 22:30317083G-A G A
+22 30317986 22:30317986G-A G A
+22 30318436 22:30318436T-C T C
+22 30319394 22:30319394A-G A G
+22 30319749 22:30319749T-C T C
+22 30320657 22:30320657A-G A G
+22 30322082 22:30322082C-A C A
+22 30324663 22:30324663T-A T A
+22 30325038 22:30325038A-G A G
+22 30325050 22:30325050C-A C A
+22 30325151 22:30325151T-C T C
+22 30325780 22:30325780C-T C T
+22 30326102 22:30326102A-G A G
+22 30326801 22:30326801G-A G A
+22 30328070 22:30328070T-C T C
+22 30328763 22:30328763G-A G A
+22 30330139 22:30330139C-T C T
+22 30331290 22:30331290A-G A G
+22 30331498 22:30331498G-T G T
+22 30331553 22:30331553A-G A G
+22 30334356 22:30334356G-C G C
+22 30334382 22:30334382C-T C T
+22 30335269 22:30335269A-G A G
+22 30336113 22:30336113C-T C T
+22 30336150 22:30336150C-T C T
+22 30336151 22:30336151G-A G A
+22 30336406 22:30336406A-C A C
+22 30337049 22:30337049C-T C T
+22 30337120 22:30337120G-A G A
+22 30337392 22:30337392A-G A G
+22 30337586 22:30337586T-C T C
+22 30338326 22:30338326T-C T C
+22 30338485 22:30338485T-C T C
+22 30338591 22:30338591T-C T C
+22 30338954 22:30338954T-C T C
+22 30339020 22:30339020C-A C A
+22 30339242 22:30339242C-T C T
+22 30339288 22:30339288T-A T A
+22 30339421 22:30339421C-T C T
+22 30339450 22:30339450A-C A C
+22 30339729 22:30339729T-C T C
+22 30340034 22:30340034G-C G C
+22 30340138 22:30340138C-A C A
+22 30340356 22:30340356A-T A T
+22 30340410 22:30340410A-T A T
+22 30341260 22:30341260G-T G T
+22 30342191 22:30342191A-G A G
+22 30342381 22:30342381G-C G C
+22 30343186 22:30343186C-T C T
+22 30343477 22:30343477C-T C T
+22 30343846 22:30343846T-A T A
+22 30344171 22:30344171T-C T C
+22 30344457 22:30344457T-G T G
+22 30348035 22:30348035G-A G A
+22 30348652 22:30348652A-T A T
+22 30349013 22:30349013C-G C G
+22 30349152 22:30349152C-A C A
+22 30350007 22:30350007A-G A G
+22 30350196 22:30350196G-A G A
+22 30350532 22:30350532T-C T C
+22 30351571 22:30351571G-A G A
+22 30352032 22:30352032C-T C T
+22 30353094 22:30353094C-G C G
+22 30354410 22:30354410A-G A G
+22 30354972 22:30354972G-A G A
+22 30355437 22:30355437A-G A G
+22 30355493 22:30355493G-A G A
+22 30355676 22:30355676G-A G A
+22 30356418 22:30356418G-A G A
+22 30356557 22:30356557A-G A G
+22 30357801 22:30357801A-G A G
+22 30358745 22:30358745G-A G A
+22 30359410 22:30359410T-C T C
+22 30360804 22:30360804G-A G A
+22 30360915 22:30360915G-A G A
+22 30360988 22:30360988A-C A C
+22 30361126 22:30361126A-T A T
+22 30361385 22:30361385C-T C T
+22 30361599 22:30361599G-C G C
+22 30361881 22:30361881G-A G A
+22 30362719 22:30362719T-C T C
+22 30363448 22:30363448G-T G T
+22 30363639 22:30363639A-G A G
+22 30364224 22:30364224T-C T C
+22 30364261 22:30364261T-C T C
+22 30365075 22:30365075C-A C A
+22 30365184 22:30365184C-T C T
+22 30365780 22:30365780G-A G A
+22 30365842 22:30365842A-G A G
+22 30366275 22:30366275A-G A G
+22 30366947 22:30366947C-G C G
+22 30367014 22:30367014A-T A T
+22 30367490 22:30367490C-T C T
+22 30367857 22:30367857T-C T C
+22 30368384 22:30368384T-G T G
+22 30369776 22:30369776C-T C T
+22 30369808 22:30369808G-A G A
+22 30371350 22:30371350A-G A G
+22 30371651 22:30371651G-A G A
+22 30372478 22:30372478A-T A T
+22 30373427 22:30373427C-G C G
+22 30373964 22:30373964C-T C T
+22 30374281 22:30374281T-C T C
+22 30374621 22:30374621T-A T A
+22 30374677 22:30374677T-C T C
+22 30374920 22:30374920C-T C T
+22 30375534 22:30375534A-G A G
+22 30375965 22:30375965A-G A G
+22 30376001 22:30376001C-A C A
+22 30376014 22:30376014C-T C T
+22 30376919 22:30376919T-G T G
+22 30377002 22:30377002A-G A G
+22 30377313 22:30377313A-C A C
+22 30377713 22:30377713G-A G A
+22 30378185 22:30378185G-A G A
+22 30379494 22:30379494T-G T G
+22 30379861 22:30379861A-C A C
+22 30380103 22:30380103C-T C T
+22 30380217 22:30380217G-A G A
+22 30380528 22:30380528T-C T C
+22 30381436 22:30381436C-G C G
+22 30381444 22:30381444G-A G A
+22 30381789 22:30381789T-G T G
+22 30382796 22:30382796A-G A G
+22 30383262 22:30383262G-C G C
+22 30383616 22:30383616A-C A C
+22 30383758 22:30383758C-G C G
+22 30384044 22:30384044C-T C T
+22 30384053 22:30384053A-G A G
+22 30384092 22:30384092T-G T G
+22 30384104 22:30384104T-A T A
+22 30384572 22:30384572G-A G A
+22 30385004 22:30385004T-C T C
+22 30386358 22:30386358C-T C T
+22 30386385 22:30386385A-G A G
+22 30387160 22:30387160C-T C T
+22 30388302 22:30388302G-A G A
+22 30388601 22:30388601C-T C T
+22 30388706 22:30388706A-G A G
+22 30388758 22:30388758T-G T G
+22 30389156 22:30389156A-T A T
+22 30389400 22:30389400G-T G T
+22 30390550 22:30390550A-G A G
+22 30390654 22:30390654C-A C A
+22 30390990 22:30390990T-C T C
+22 30391281 22:30391281G-A G A
+22 30393503 22:30393503C-G C G
+22 30393544 22:30393544C-G C G
+22 30393826 22:30393826C-T C T
+22 30394623 22:30394623T-C T C
+22 30395068 22:30395068C-A C A
+22 30395226 22:30395226A-C A C
+22 30395834 22:30395834C-T C T
+22 30395873 22:30395873T-C T C
+22 30396342 22:30396342G-T G T
+22 30397346 22:30397346T-C T C
+22 30398078 22:30398078T-C T C
+22 30399000 22:30399000A-G A G
+22 30399417 22:30399417G-A G A
+22 30400701 22:30400701G-A G A
+22 30400861 22:30400861A-G A G
+22 30401608 22:30401608T-C T C
+22 30401656 22:30401656C-A C A
+22 30401775 22:30401775C-A C A
+22 30403996 22:30403996C-T C T
+22 30404547 22:30404547A-C A C
+22 30404653 22:30404653T-C T C
+22 30405151 22:30405151T-C T C
+22 30405983 22:30405983G-A G A
+22 30407364 22:30407364G-A G A
+22 30407652 22:30407652T-C T C
+22 30408710 22:30408710C-T C T
+22 30410440 22:30410440T-C T C
+22 30412465 22:30412465T-C T C
+22 30412759 22:30412759T-C T C
+22 30412776 22:30412776T-C T C
+22 30413339 22:30413339C-T C T
+22 30413671 22:30413671A-T A T
+22 30414091 22:30414091C-T C T
+22 30414340 22:30414340C-T C T
+22 30416527 22:30416527A-G A G
+22 30417720 22:30417720A-T A T
+22 30418161 22:30418161A-C A C
+22 30421066 22:30421066A-G A G
+22 30422107 22:30422107C-G C G
+22 30422865 22:30422865T-C T C
+22 30423460 22:30423460C-T C T
+22 30423744 22:30423744G-A G A
+22 30424256 22:30424256G-A G A
+22 30424377 22:30424377C-T C T
+22 30424863 22:30424863C-G C G
+22 30426069 22:30426069C-T C T
+22 30426871 22:30426871T-G T G
+22 30427564 22:30427564G-A G A
+22 30428645 22:30428645G-A G A
+22 30429115 22:30429115A-G A G
+22 30429664 22:30429664G-C G C
+22 30430535 22:30430535G-A G A
+22 30430598 22:30430598C-T C T
+22 30432137 22:30432137T-C T C
+22 30432403 22:30432403C-A C A
+22 30432502 22:30432502G-A G A
+22 30433373 22:30433373T-G T G
+22 30434123 22:30434123C-T C T
+22 30437658 22:30437658C-G C G
+22 30438216 22:30438216T-C T C
+22 30438447 22:30438447G-A G A
+22 30440533 22:30440533G-A G A
+22 30441677 22:30441677A-G A G
+22 30447305 22:30447305A-G A G
+22 30448399 22:30448399A-G A G
+22 30449094 22:30449094A-G A G
+22 30450041 22:30450041C-G C G
+22 30450492 22:30450492T-C T C
+22 30450521 22:30450521G-A G A
+22 30450920 22:30450920T-A T A
+22 30451486 22:30451486C-T C T
+22 30451513 22:30451513G-A G A
+22 30451688 22:30451688G-A G A
+22 30453341 22:30453341G-A G A
+22 30454808 22:30454808C-G C G
+22 30455378 22:30455378G-A G A
+22 30456661 22:30456661T-C T C
+22 30458393 22:30458393T-A T A
+22 30458414 22:30458414G-A G A
+22 30459279 22:30459279G-T G T
+22 30460434 22:30460434G-T G T
+22 30461259 22:30461259C-T C T
+22 30461742 22:30461742C-A C A
+22 30463760 22:30463760C-G C G
+22 30463914 22:30463914G-A G A
+22 30466099 22:30466099G-T G T
+22 30466718 22:30466718C-G C G
+22 30467674 22:30467674C-T C T
+22 30467766 22:30467766C-T C T
+22 30468236 22:30468236A-T A T
+22 30468496 22:30468496A-C A C
+22 30471679 22:30471679G-C G C
+22 30472254 22:30472254G-A G A
+22 30472748 22:30472748C-T C T
+22 30474216 22:30474216C-T C T
+22 30475092 22:30475092C-T C T
+22 30475154 22:30475154G-A G A
+22 30476271 22:30476271G-T G T
+22 30477589 22:30477589T-C T C
+22 30481429 22:30481429C-T C T
+22 30481858 22:30481858C-T C T
+22 30483964 22:30483964C-A C A
+22 30483966 22:30483966A-C A C
+22 30483994 22:30483994A-G A G
+22 30485340 22:30485340G-T G T
+22 30485537 22:30485537T-G T G
+22 30485853 22:30485853C-T C T
+22 30486212 22:30486212T-C T C
+22 30486826 22:30486826A-G A G
+22 30487010 22:30487010A-G A G
+22 30487065 22:30487065G-A G A
+22 30487619 22:30487619G-A G A
+22 30488136 22:30488136C-T C T
+22 30488207 22:30488207G-A G A
+22 30489816 22:30489816T-C T C
+22 30490754 22:30490754G-A G A
+22 30491000 22:30491000T-C T C
+22 30492778 22:30492778A-T A T
+22 30493882 22:30493882G-A G A
+22 30493918 22:30493918A-G A G
+22 30494319 22:30494319A-G A G
+22 30494371 22:30494371G-A G A
+22 30494642 22:30494642T-C T C
+22 30497728 22:30497728G-T G T
+22 30498700 22:30498700G-A G A
+22 30498978 22:30498978G-A G A
+22 30499713 22:30499713G-A G A
+22 30500958 22:30500958G-T G T
+22 30501105 22:30501105C-T C T
+22 30501486 22:30501486T-A T A
+22 30503007 22:30503007G-T G T
+22 30503171 22:30503171G-A G A
+22 30503212 22:30503212A-G A G
+22 30503689 22:30503689A-G A G
+22 30503880 22:30503880C-T C T
+22 30504111 22:30504111C-T C T
+22 30504207 22:30504207A-G A G
+22 30504652 22:30504652A-G A G
+22 30505002 22:30505002C-T C T
+22 30505646 22:30505646A-C A C
+22 30507019 22:30507019C-G C G
+22 30507358 22:30507358G-C G C
+22 30508275 22:30508275C-G C G
+22 30512128 22:30512128G-C G C
+22 30512246 22:30512246A-G A G
+22 30512258 22:30512258G-A G A
+22 30512414 22:30512414C-G C G
+22 30512478 22:30512478G-A G A
+22 30512918 22:30512918G-A G A
+22 30514480 22:30514480G-A G A
+22 30516140 22:30516140T-C T C
+22 30518233 22:30518233G-A G A
+22 30518502 22:30518502A-T A T
+22 30518709 22:30518709G-A G A
+22 30518828 22:30518828G-C G C
+22 30519152 22:30519152T-C T C
+22 30519414 22:30519414G-A G A
+22 30519825 22:30519825T-A T A
+22 30519980 22:30519980T-C T C
+22 30521447 22:30521447C-T C T
+22 30521770 22:30521770A-G A G
+22 30522413 22:30522413G-C G C
+22 30522459 22:30522459T-G T G
+22 30523317 22:30523317C-T C T
+22 30524710 22:30524710T-C T C
+22 30525549 22:30525549C-T C T
+22 30526632 22:30526632G-T G T
+22 30528321 22:30528321A-G A G
+22 30529631 22:30529631C-A C A
+22 30529741 22:30529741G-A G A
+22 30530125 22:30530125T-C T C
+22 30531091 22:30531091C-T C T
+22 30532022 22:30532022T-C T C
+22 30532057 22:30532057A-T A T
+22 30532673 22:30532673C-T C T
+22 30533065 22:30533065A-G A G
+22 30533826 22:30533826C-A C A
+22 30535569 22:30535569G-A G A
+22 30536056 22:30536056T-G T G
+22 30536091 22:30536091A-G A G
+22 30537526 22:30537526T-C T C
+22 30537784 22:30537784C-A C A
+22 30539275 22:30539275C-T C T
+22 30539427 22:30539427T-C T C
+22 30539821 22:30539821C-T C T
+22 30540590 22:30540590T-C T C
+22 30542157 22:30542157T-C T C
+22 30543503 22:30543503T-A T A
+22 30543834 22:30543834C-T C T
+22 30544516 22:30544516G-A G A
+22 30544559 22:30544559T-C T C
+22 30544821 22:30544821G-A G A
+22 30545149 22:30545149A-G A G
+22 30546245 22:30546245C-T C T
+22 30547396 22:30547396A-G A G
+22 30548622 22:30548622G-A G A
+22 30549032 22:30549032T-C T C
+22 30549071 22:30549071A-C A C
+22 30549607 22:30549607T-G T G
+22 30549764 22:30549764T-C T C
+22 30550380 22:30550380C-T C T
+22 30550930 22:30550930G-A G A
+22 30552511 22:30552511G-A G A
+22 30552695 22:30552695A-G A G
+22 30552813 22:30552813A-G A G
+22 30555216 22:30555216G-A G A
+22 30557278 22:30557278T-C T C
+22 30557281 22:30557281C-T C T
+22 30558496 22:30558496C-T C T
+22 30559318 22:30559318T-A T A
+22 30559680 22:30559680A-G A G
+22 30562239 22:30562239C-A C A
+22 30562384 22:30562384A-G A G
+22 30562987 22:30562987A-C A C
+22 30563343 22:30563343G-A G A
+22 30567730 22:30567730A-C A C
+22 30567907 22:30567907C-G C G
+22 30567958 22:30567958G-A G A
+22 30568738 22:30568738G-A G A
+22 30570022 22:30570022A-G A G
+22 30570443 22:30570443C-G C G
+22 30573552 22:30573552T-C T C
+22 30575163 22:30575163A-G A G
+22 30575812 22:30575812C-T C T
+22 30577658 22:30577658G-A G A
+22 30577771 22:30577771A-G A G
+22 30578964 22:30578964G-A G A
+22 30579250 22:30579250C-G C G
+22 30579463 22:30579463C-T C T
+22 30579617 22:30579617A-C A C
+22 30579722 22:30579722A-C A C
+22 30579886 22:30579886T-A T A
+22 30580252 22:30580252A-G A G
+22 30580373 22:30580373G-A G A
+22 30580501 22:30580501T-G T G
+22 30581722 22:30581722C-T C T
+22 30581859 22:30581859A-T A T
+22 30581860 22:30581860A-T A T
+22 30583134 22:30583134G-T G T
+22 30583711 22:30583711T-A T A
+22 30583889 22:30583889T-C T C
+22 30586396 22:30586396G-A G A
+22 30587972 22:30587972G-A G A
+22 30588041 22:30588041A-C A C
+22 30588372 22:30588372A-G A G
+22 30590015 22:30590015A-G A G
+22 30590026 22:30590026T-C T C
+22 30590222 22:30590222G-A G A
+22 30591169 22:30591169G-A G A
+22 30591824 22:30591824C-T C T
+22 30592069 22:30592069T-C T C
+22 30592487 22:30592487C-G C G
+22 30592842 22:30592842C-T C T
+22 30593412 22:30593412A-G A G
+22 30593652 22:30593652T-G T G
+22 30596321 22:30596321A-G A G
+22 30597668 22:30597668A-G A G
+22 30597810 22:30597810A-G A G
+22 30597880 22:30597880A-G A G
+22 30598097 22:30598097T-A T A
+22 30598516 22:30598516T-G T G
+22 30598552 22:30598552C-G C G
+22 30599562 22:30599562A-G A G
+22 30599570 22:30599570A-G A G
+22 30599596 22:30599596G-A G A
+22 30600065 22:30600065G-C G C
+22 30601243 22:30601243G-A G A
+22 30602659 22:30602659T-A T A
+22 30604015 22:30604015G-A G A
+22 30604102 22:30604102G-A G A
+22 30604667 22:30604667A-C A C
+22 30605601 22:30605601A-G A G
+22 30606564 22:30606564G-A G A
+22 30606986 22:30606986C-T C T
+22 30607851 22:30607851G-C G C
+22 30608144 22:30608144C-T C T
+22 30609096 22:30609096G-A G A
+22 30609554 22:30609554A-G A G
+22 30610546 22:30610546T-C T C
+22 30610570 22:30610570C-T C T
+22 30610731 22:30610731C-T C T
+22 30610776 22:30610776G-A G A
+22 30611088 22:30611088T-G T G
+22 30612319 22:30612319A-T A T
+22 30612949 22:30612949A-G A G
+22 30614437 22:30614437G-A G A
+22 30615085 22:30615085G-A G A
+22 30615104 22:30615104T-G T G
+22 30615838 22:30615838A-G A G
+22 30616925 22:30616925T-A T A
+22 30617191 22:30617191C-T C T
+22 30618600 22:30618600C-T C T
+22 30618648 22:30618648T-C T C
+22 30618706 22:30618706T-A T A
+22 30618889 22:30618889C-A C A
+22 30619174 22:30619174T-G T G
+22 30619599 22:30619599G-A G A
+22 30619615 22:30619615G-A G A
+22 30619695 22:30619695G-T G T
+22 30619983 22:30619983G-A G A
+22 30620113 22:30620113G-A G A
+22 30620360 22:30620360G-A G A
+22 30620537 22:30620537G-A G A
+22 30620627 22:30620627A-G A G
+22 30620891 22:30620891G-A G A
+22 30621613 22:30621613C-A C A
+22 30622869 22:30622869A-T A T
+22 30625256 22:30625256G-A G A
+22 30627391 22:30627391C-T C T
+22 30627922 22:30627922T-C T C
+22 30627966 22:30627966G-A G A
+22 30630143 22:30630143C-A C A
+22 30632133 22:30632133G-A G A
+22 30635132 22:30635132T-C T C
+22 30636331 22:30636331A-C A C
+22 30636706 22:30636706C-T C T
+22 30637884 22:30637884A-G A G
+22 30638226 22:30638226T-G T G
+22 30638292 22:30638292C-G C G
+22 30638664 22:30638664C-T C T
+22 30638721 22:30638721G-A G A
+22 30639110 22:30639110C-A C A
+22 30640214 22:30640214G-A G A
+22 30640308 22:30640308A-G A G
+22 30640595 22:30640595G-A G A
+22 30643609 22:30643609C-G C G
+22 30644826 22:30644826C-G C G
+22 30646126 22:30646126G-T G T
+22 30647756 22:30647756C-T C T
+22 30648502 22:30648502G-A G A
+22 30649229 22:30649229C-T C T
+22 30652010 22:30652010T-C T C
+22 30652012 22:30652012C-T C T
+22 30652447 22:30652447C-A C A
+22 30653162 22:30653162T-C T C
+22 30653991 22:30653991C-T C T
+22 30654000 22:30654000A-G A G
+22 30654464 22:30654464G-T G T
+22 30655595 22:30655595T-C T C
+22 30655692 22:30655692G-A G A
+22 30656268 22:30656268C-T C T
+22 30656635 22:30656635A-G A G
+22 30657148 22:30657148C-T C T
+22 30658082 22:30658082T-C T C
+22 30658487 22:30658487A-C A C
+22 30658722 22:30658722C-T C T
+22 30659566 22:30659566G-A G A
+22 30660517 22:30660517A-C A C
+22 30660521 22:30660521C-T C T
+22 30661184 22:30661184T-C T C
+22 30661480 22:30661480T-C T C
+22 30664920 22:30664920G-A G A
+22 30665253 22:30665253G-A G A
+22 30665414 22:30665414C-G C G
+22 30667277 22:30667277T-C T C
+22 30668308 22:30668308G-A G A
+22 30669883 22:30669883G-A G A
+22 30669993 22:30669993C-T C T
+22 30670091 22:30670091G-T G T
+22 30672352 22:30672352G-T G T
+22 30672420 22:30672420G-A G A
+22 30673916 22:30673916C-T C T
+22 30674176 22:30674176A-G A G
+22 30675073 22:30675073C-T C T
+22 30675217 22:30675217A-C A C
+22 30675923 22:30675923A-C A C
+22 30676851 22:30676851A-G A G
+22 30677722 22:30677722C-T C T
+22 30678116 22:30678116C-G C G
+22 30678530 22:30678530A-G A G
+22 30679303 22:30679303T-C T C
+22 30679387 22:30679387A-G A G
+22 30679682 22:30679682C-T C T
+22 30681257 22:30681257C-G C G
+22 30683285 22:30683285C-G C G
+22 30685076 22:30685076G-T G T
+22 30685364 22:30685364G-A G A
+22 30686226 22:30686226T-C T C
+22 30686254 22:30686254T-C T C
+22 30687066 22:30687066C-A C A
+22 30688659 22:30688659C-T C T
+22 30688985 22:30688985C-T C T
+22 30689133 22:30689133C-T C T
+22 30689998 22:30689998G-A G A
+22 30690399 22:30690399G-A G A
+22 30690904 22:30690904C-A C A
+22 30691307 22:30691307G-A G A
+22 30691419 22:30691419A-G A G
+22 30691631 22:30691631G-A G A
+22 30692301 22:30692301C-T C T
+22 30692353 22:30692353A-T A T
+22 30693581 22:30693581C-T C T
+22 30694428 22:30694428A-G A G
+22 30696310 22:30696310C-T C T
+22 30696744 22:30696744C-A C A
+22 30699086 22:30699086A-G A G
+22 30699128 22:30699128C-G C G
+22 30700607 22:30700607T-G T G
+22 30700924 22:30700924C-T C T
+22 30701386 22:30701386G-A G A
+22 30704065 22:30704065G-A G A
+22 30705279 22:30705279G-A G A
+22 30705707 22:30705707C-T C T
+22 30707697 22:30707697A-C A C
+22 30707981 22:30707981C-T C T
+22 30709191 22:30709191C-T C T
+22 30710598 22:30710598A-T A T
+22 30711443 22:30711443A-G A G
+22 30711624 22:30711624C-T C T
+22 30712389 22:30712389G-A G A
+22 30713338 22:30713338G-A G A
+22 30714684 22:30714684A-C A C
+22 30717044 22:30717044G-A G A
+22 30717167 22:30717167G-A G A
+22 30717739 22:30717739T-C T C
+22 30718730 22:30718730G-A G A
+22 30719174 22:30719174G-A G A
+22 30719320 22:30719320T-C T C
+22 30721000 22:30721000T-G T G
+22 30721701 22:30721701T-G T G
+22 30723275 22:30723275C-T C T
+22 30725274 22:30725274A-G A G
+22 30725302 22:30725302T-C T C
+22 30726156 22:30726156A-C A C
+22 30726386 22:30726386C-T C T
+22 30726826 22:30726826C-G C G
+22 30728356 22:30728356A-C A C
+22 30728884 22:30728884A-G A G
+22 30729507 22:30729507G-A G A
+22 30730711 22:30730711A-G A G
+22 30730745 22:30730745C-T C T
+22 30731066 22:30731066T-C T C
+22 30731387 22:30731387C-G C G
+22 30732236 22:30732236A-G A G
+22 30733111 22:30733111C-A C A
+22 30733296 22:30733296G-A G A
+22 30733418 22:30733418T-C T C
+22 30733914 22:30733914C-A C A
+22 30734602 22:30734602C-T C T
+22 30734716 22:30734716C-T C T
+22 30735047 22:30735047A-G A G
+22 30735628 22:30735628C-T C T
+22 30735820 22:30735820G-C G C
+22 30735908 22:30735908A-G A G
+22 30736147 22:30736147G-A G A
+22 30736559 22:30736559G-A G A
+22 30736835 22:30736835G-A G A
+22 30736911 22:30736911G-A G A
+22 30736921 22:30736921T-G T G
+22 30737001 22:30737001C-T C T
+22 30737015 22:30737015C-T C T
+22 30737771 22:30737771G-T G T
+22 30738003 22:30738003T-C T C
+22 30738161 22:30738161C-T C T
+22 30738587 22:30738587T-C T C
+22 30738737 22:30738737G-A G A
+22 30739503 22:30739503C-A C A
+22 30740148 22:30740148T-C T C
+22 30740734 22:30740734T-C T C
+22 30741888 22:30741888T-C T C
+22 30741924 22:30741924G-C G C
+22 30742125 22:30742125C-A C A
+22 30742623 22:30742623T-G T G
+22 30742642 22:30742642C-T C T
+22 30743401 22:30743401A-G A G
+22 30744444 22:30744444G-C G C
+22 30744504 22:30744504T-C T C
+22 30744626 22:30744626T-A T A
+22 30744658 22:30744658A-G A G
+22 30745221 22:30745221C-T C T
+22 30746404 22:30746404A-G A G
+22 30746595 22:30746595A-G A G
+22 30747064 22:30747064G-A G A
+22 30747157 22:30747157G-A G A
+22 30748027 22:30748027T-C T C
+22 30748218 22:30748218A-G A G
+22 30748274 22:30748274A-C A C
+22 30748403 22:30748403A-G A G
+22 30749341 22:30749341G-C G C
+22 30749898 22:30749898G-A G A
+22 30750209 22:30750209G-T G T
+22 30750907 22:30750907G-A G A
+22 30751186 22:30751186G-C G C
+22 30751453 22:30751453T-G T G
+22 30751627 22:30751627G-A G A
+22 30752175 22:30752175T-G T G
+22 30752341 22:30752341A-C A C
+22 30752696 22:30752696G-T G T
+22 30752942 22:30752942C-A C A
+22 30753022 22:30753022C-A C A
+22 30753628 22:30753628G-A G A
+22 30753985 22:30753985A-G A G
+22 30754366 22:30754366T-C T C
+22 30755168 22:30755168C-A C A
+22 30755172 22:30755172A-C A C
+22 30755548 22:30755548A-G A G
+22 30756016 22:30756016C-T C T
+22 30756363 22:30756363G-A G A
+22 30756481 22:30756481G-A G A
+22 30756667 22:30756667A-G A G
+22 30756811 22:30756811T-C T C
+22 30756826 22:30756826G-A G A
+22 30756907 22:30756907G-A G A
+22 30757295 22:30757295A-G A G
+22 30757436 22:30757436G-A G A
+22 30758236 22:30758236C-T C T
+22 30758363 22:30758363G-A G A
+22 30759603 22:30759603G-A G A
+22 30759730 22:30759730T-C T C
+22 30759800 22:30759800C-A C A
+22 30759854 22:30759854T-C T C
+22 30760568 22:30760568T-C T C
+22 30761066 22:30761066A-G A G
+22 30761237 22:30761237C-T C T
+22 30761298 22:30761298G-A G A
+22 30761607 22:30761607G-A G A
+22 30761940 22:30761940G-C G C
+22 30762139 22:30762139C-T C T
+22 30762140 22:30762140G-A G A
+22 30762962 22:30762962G-A G A
+22 30763215 22:30763215T-C T C
+22 30763217 22:30763217A-G A G
+22 30763381 22:30763381C-T C T
+22 30764453 22:30764453G-A G A
+22 30764626 22:30764626C-T C T
+22 30764664 22:30764664T-C T C
+22 30765249 22:30765249T-G T G
+22 30765502 22:30765502G-A G A
+22 30765768 22:30765768G-A G A
+22 30765897 22:30765897G-A G A
+22 30766179 22:30766179C-T C T
+22 30767339 22:30767339A-T A T
+22 30767536 22:30767536T-G T G
+22 30767729 22:30767729A-G A G
+22 30767781 22:30767781C-T C T
+22 30768777 22:30768777G-A G A
+22 30768995 22:30768995G-T G T
+22 30769901 22:30769901G-C G C
+22 30769906 22:30769906T-C T C
+22 30770157 22:30770157T-C T C
+22 30770603 22:30770603T-A T A
+22 30770626 22:30770626G-C G C
+22 30771458 22:30771458T-C T C
+22 30771855 22:30771855A-G A G
+22 30772686 22:30772686C-T C T
+22 30772960 22:30772960T-C T C
+22 30773731 22:30773731C-A C A
+22 30774340 22:30774340A-G A G
+22 30774490 22:30774490G-C G C
+22 30774541 22:30774541C-T C T
+22 30774653 22:30774653C-T C T
+22 30775675 22:30775675G-A G A
+22 30776095 22:30776095C-T C T
+22 30776419 22:30776419T-C T C
+22 30776850 22:30776850T-G T G
+22 30777529 22:30777529G-A G A
+22 30777881 22:30777881T-C T C
+22 30777888 22:30777888T-C T C
+22 30778459 22:30778459A-G A G
+22 30778530 22:30778530T-C T C
+22 30778989 22:30778989A-G A G
+22 30779211 22:30779211T-C T C
+22 30779322 22:30779322G-A G A
+22 30779957 22:30779957A-G A G
+22 30780724 22:30780724T-C T C
+22 30780889 22:30780889C-A C A
+22 30780936 22:30780936G-T G T
+22 30781182 22:30781182G-A G A
+22 30781512 22:30781512C-A C A
+22 30782089 22:30782089A-G A G
+22 30782228 22:30782228G-A G A
+22 30782439 22:30782439T-C T C
+22 30782731 22:30782731G-A G A
+22 30783525 22:30783525C-G C G
+22 30783551 22:30783551A-G A G
+22 30784111 22:30784111A-C A C
+22 30784537 22:30784537A-G A G
+22 30784858 22:30784858C-A C A
+22 30785421 22:30785421G-A G A
+22 30786948 22:30786948A-G A G
+22 30787190 22:30787190T-C T C
+22 30789075 22:30789075A-C A C
+22 30789287 22:30789287T-C T C
+22 30789649 22:30789649C-T C T
+22 30790786 22:30790786A-T A T
+22 30790807 22:30790807G-A G A
+22 30791827 22:30791827G-A G A
+22 30792115 22:30792115C-T C T
+22 30792505 22:30792505C-T C T
+22 30792914 22:30792914C-G C G
+22 30793137 22:30793137G-A G A
+22 30793270 22:30793270G-A G A
+22 30794719 22:30794719C-T C T
+22 30794950 22:30794950A-C A C
+22 30795215 22:30795215A-G A G
+22 30795484 22:30795484G-C G C
+22 30795889 22:30795889G-A G A
+22 30796422 22:30796422G-T G T
+22 30796835 22:30796835C-G C G
+22 30797590 22:30797590C-T C T
+22 30799720 22:30799720C-T C T
+22 30800305 22:30800305A-T A T
+22 30800312 22:30800312C-T C T
+22 30800338 22:30800338T-G T G
+22 30800368 22:30800368A-G A G
+22 30800981 22:30800981C-A C A
+22 30801179 22:30801179T-C T C
+22 30802029 22:30802029C-G C G
+22 30802444 22:30802444C-T C T
+22 30802564 22:30802564C-G C G
+22 30803289 22:30803289G-C G C
+22 30804862 22:30804862G-A G A
+22 30807186 22:30807186G-A G A
+22 30807524 22:30807524T-C T C
+22 30808561 22:30808561G-A G A
+22 30808752 22:30808752T-C T C
+22 30808761 22:30808761A-G A G
+22 30809342 22:30809342G-A G A
+22 30810387 22:30810387T-C T C
+22 30810945 22:30810945G-A G A
+22 30810954 22:30810954A-C A C
+22 30811112 22:30811112G-A G A
+22 30812549 22:30812549C-G C G
+22 30813132 22:30813132T-C T C
+22 30813323 22:30813323A-G A G
+22 30813424 22:30813424C-T C T
+22 30814727 22:30814727G-T G T
+22 30815121 22:30815121T-G T G
+22 30816148 22:30816148G-A G A
+22 30817370 22:30817370A-T A T
+22 30817631 22:30817631C-G C G
+22 30818965 22:30818965G-C G C
+22 30819628 22:30819628T-C T C
+22 30819758 22:30819758G-A G A
+22 30820077 22:30820077C-G C G
+22 30820550 22:30820550C-T C T
+22 30820707 22:30820707A-G A G
+22 30822461 22:30822461C-G C G
+22 30823065 22:30823065G-A G A
+22 30823113 22:30823113T-G T G
+22 30823196 22:30823196T-C T C
+22 30824755 22:30824755G-A G A
+22 30825532 22:30825532A-G A G
+22 30825696 22:30825696A-C A C
+22 30826800 22:30826800G-A G A
+22 30827165 22:30827165T-C T C
+22 30827451 22:30827451C-T C T
+22 30827805 22:30827805T-C T C
+22 30828233 22:30828233A-G A G
+22 30828620 22:30828620C-G C G
+22 30828928 22:30828928T-C T C
+22 30829005 22:30829005C-G C G
+22 30829572 22:30829572A-G A G
+22 30830312 22:30830312A-T A T
+22 30831852 22:30831852G-A G A
+22 30831977 22:30831977C-T C T
+22 30833372 22:30833372T-C T C
+22 30833833 22:30833833T-C T C
+22 30834250 22:30834250A-G A G
+22 30835715 22:30835715G-A G A
+22 30836313 22:30836313T-C T C
+22 30836392 22:30836392G-C G C
+22 30836670 22:30836670T-C T C
+22 30837511 22:30837511A-T A T
+22 30838270 22:30838270A-G A G
+22 30838441 22:30838441G-T G T
+22 30839346 22:30839346T-C T C
+22 30839459 22:30839459A-C A C
+22 30839942 22:30839942G-C G C
+22 30839978 22:30839978C-G C G
+22 30842095 22:30842095T-A T A
+22 30842320 22:30842320C-T C T
+22 30842514 22:30842514G-A G A
+22 30842638 22:30842638T-C T C
+22 30842735 22:30842735G-C G C
+22 30843347 22:30843347A-G A G
+22 30843355 22:30843355T-G T G
+22 30843409 22:30843409C-T C T
+22 30843495 22:30843495G-A G A
+22 30843713 22:30843713G-A G A
+22 30843809 22:30843809G-C G C
+22 30844119 22:30844119C-T C T
+22 30845818 22:30845818T-C T C
+22 30846235 22:30846235C-A C A
+22 30846623 22:30846623A-G A G
+22 30846644 22:30846644G-T G T
+22 30847142 22:30847142G-T G T
+22 30847313 22:30847313A-G A G
+22 30847853 22:30847853C-A C A
+22 30847934 22:30847934G-A G A
+22 30848388 22:30848388C-T C T
+22 30849451 22:30849451G-T G T
+22 30849689 22:30849689C-T C T
+22 30850371 22:30850371T-A T A
+22 30850395 22:30850395G-A G A
+22 30851475 22:30851475G-C G C
+22 30851610 22:30851610G-A G A
+22 30852066 22:30852066G-A G A
+22 30852781 22:30852781G-C G C
+22 30852786 22:30852786T-C T C
+22 30852900 22:30852900T-C T C
+22 30853082 22:30853082G-A G A
+22 30853515 22:30853515A-G A G
+22 30853882 22:30853882T-C T C
+22 30854360 22:30854360A-G A G
+22 30854547 22:30854547A-C A C
+22 30854634 22:30854634C-G C G
+22 30854663 22:30854663G-A G A
+22 30854863 22:30854863C-T C T
+22 30855674 22:30855674C-T C T
+22 30855697 22:30855697C-T C T
+22 30856413 22:30856413G-T G T
+22 30856575 22:30856575T-C T C
+22 30857077 22:30857077T-C T C
+22 30857373 22:30857373A-C A C
+22 30857448 22:30857448A-G A G
+22 30858570 22:30858570G-T G T
+22 30858974 22:30858974G-A G A
+22 30859536 22:30859536C-T C T
+22 30860830 22:30860830C-T C T
+22 30861640 22:30861640C-T C T
+22 30861662 22:30861662G-A G A
+22 30861723 22:30861723C-T C T
+22 30861855 22:30861855T-C T C
+22 30861915 22:30861915T-C T C
+22 30861931 22:30861931C-T C T
+22 30862146 22:30862146C-A C A
+22 30862400 22:30862400T-A T A
+22 30862631 22:30862631G-T G T
+22 30862763 22:30862763C-T C T
+22 30862839 22:30862839A-G A G
+22 30863163 22:30863163C-T C T
+22 30863346 22:30863346T-A T A
+22 30863392 22:30863392A-C A C
+22 30863502 22:30863502G-T G T
+22 30863514 22:30863514G-A G A
+22 30863764 22:30863764A-C A C
+22 30863846 22:30863846A-G A G
+22 30864199 22:30864199G-C G C
+22 30864258 22:30864258T-A T A
+22 30864610 22:30864610A-G A G
+22 30864692 22:30864692G-A G A
+22 30864792 22:30864792C-T C T
+22 30864817 22:30864817A-G A G
+22 30864897 22:30864897A-T A T
+22 30865337 22:30865337G-A G A
+22 30865476 22:30865476A-C A C
+22 30865479 22:30865479C-T C T
+22 30865813 22:30865813A-C A C
+22 30865844 22:30865844C-T C T
+22 30866380 22:30866380T-C T C
+22 30866471 22:30866471A-G A G
+22 30866998 22:30866998A-G A G
+22 30867046 22:30867046T-C T C
+22 30867139 22:30867139G-T G T
+22 30867140 22:30867140C-T C T
+22 30868102 22:30868102T-C T C
+22 30868418 22:30868418A-C A C
+22 30868599 22:30868599G-A G A
+22 30868814 22:30868814G-A G A
+22 30868977 22:30868977C-T C T
+22 30869057 22:30869057A-G A G
+22 30869724 22:30869724C-T C T
+22 30870249 22:30870249A-C A C
+22 30872174 22:30872174T-C T C
+22 30874142 22:30874142C-G C G
+22 30874561 22:30874561A-G A G
+22 30874854 22:30874854A-G A G
+22 30875455 22:30875455A-T A T
+22 30875517 22:30875517C-T C T
+22 30876438 22:30876438T-C T C
+22 30876835 22:30876835A-G A G
+22 30876892 22:30876892T-C T C
+22 30877707 22:30877707T-C T C
+22 30877936 22:30877936G-A G A
+22 30878217 22:30878217C-A C A
+22 30878646 22:30878646A-G A G
+22 30878664 22:30878664T-C T C
+22 30878827 22:30878827T-A T A
+22 30878847 22:30878847G-A G A
+22 30879282 22:30879282C-G C G
+22 30879710 22:30879710G-C G C
+22 30880298 22:30880298G-A G A
+22 30880980 22:30880980A-G A G
+22 30881245 22:30881245G-A G A
+22 30881448 22:30881448G-A G A
+22 30881531 22:30881531C-T C T
+22 30881651 22:30881651A-G A G
+22 30882949 22:30882949T-C T C
+22 30883002 22:30883002C-A C A
+22 30883196 22:30883196G-C G C
+22 30883969 22:30883969T-A T A
+22 30884427 22:30884427C-T C T
+22 30884831 22:30884831C-T C T
+22 30885100 22:30885100G-A G A
+22 30885980 22:30885980G-A G A
+22 30886388 22:30886388C-G C G
+22 30886577 22:30886577C-T C T
+22 30886886 22:30886886G-A G A
+22 30887446 22:30887446T-C T C
+22 30888412 22:30888412C-T C T
+22 30888494 22:30888494C-T C T
+22 30888527 22:30888527C-T C T
+22 30888959 22:30888959T-C T C
+22 30889139 22:30889139G-C G C
+22 30889350 22:30889350C-T C T
+22 30889967 22:30889967G-C G C
+22 30891250 22:30891250T-C T C
+22 30891294 22:30891294G-C G C
+22 30891859 22:30891859A-G A G
+22 30892078 22:30892078T-C T C
+22 30892111 22:30892111T-C T C
+22 30892255 22:30892255A-G A G
+22 30892555 22:30892555C-A C A
+22 30894943 22:30894943T-A T A
+22 30895483 22:30895483C-G C G
+22 30895939 22:30895939G-A G A
+22 30895982 22:30895982A-G A G
+22 30896093 22:30896093G-A G A
+22 30898015 22:30898015A-G A G
+22 30898409 22:30898409C-T C T
+22 30899264 22:30899264T-G T G
+22 30899354 22:30899354C-T C T
+22 30899408 22:30899408A-C A C
+22 30899617 22:30899617C-T C T
+22 30900128 22:30900128C-T C T
+22 30900829 22:30900829C-T C T
+22 30901072 22:30901072T-C T C
+22 30901592 22:30901592T-C T C
+22 30902418 22:30902418T-C T C
+22 30902688 22:30902688T-C T C
+22 30902743 22:30902743A-G A G
+22 30903359 22:30903359G-A G A
+22 30904212 22:30904212C-T C T
+22 30904232 22:30904232G-A G A
+22 30904622 22:30904622T-A T A
+22 30904704 22:30904704T-C T C
+22 30904724 22:30904724C-T C T
+22 30904812 22:30904812T-A T A
+22 30904912 22:30904912A-G A G
+22 30905491 22:30905491A-G A G
+22 30906008 22:30906008G-A G A
+22 30906194 22:30906194A-G A G
+22 30906304 22:30906304G-A G A
+22 30906396 22:30906396T-C T C
+22 30907168 22:30907168G-A G A
+22 30907585 22:30907585T-C T C
+22 30908606 22:30908606T-C T C
+22 30909224 22:30909224C-T C T
+22 30909309 22:30909309C-T C T
+22 30909767 22:30909767G-A G A
+22 30909933 22:30909933G-C G C
+22 30910148 22:30910148G-A G A
+22 30910625 22:30910625G-A G A
+22 30911291 22:30911291C-T C T
+22 30911996 22:30911996C-T C T
+22 30912328 22:30912328C-G C G
+22 30912889 22:30912889A-G A G
+22 30914266 22:30914266C-T C T
+22 30914473 22:30914473G-T G T
+22 30914544 22:30914544T-C T C
+22 30915186 22:30915186A-G A G
+22 30915758 22:30915758G-C G C
+22 30915804 22:30915804A-G A G
+22 30915819 22:30915819A-G A G
+22 30916380 22:30916380C-A C A
+22 30916437 22:30916437C-T C T
+22 30916443 22:30916443C-T C T
+22 30916518 22:30916518C-T C T
+22 30916877 22:30916877A-G A G
+22 30917077 22:30917077T-C T C
+22 30917091 22:30917091T-C T C
+22 30917994 22:30917994T-C T C
+22 30918107 22:30918107A-G A G
+22 30918825 22:30918825A-G A G
+22 30919443 22:30919443C-G C G
+22 30920965 22:30920965T-C T C
+22 30921249 22:30921249G-T G T
+22 30921294 22:30921294C-T C T
+22 30921371 22:30921371T-C T C
+22 30922544 22:30922544T-C T C
+22 30924910 22:30924910C-G C G
+22 30925492 22:30925492G-C G C
+22 30925616 22:30925616A-G A G
+22 30926321 22:30926321C-T C T
+22 30927422 22:30927422A-G A G
+22 30927666 22:30927666A-G A G
+22 30927975 22:30927975C-T C T
+22 30928956 22:30928956G-A G A
+22 30929240 22:30929240T-C T C
+22 30929310 22:30929310A-G A G
+22 30929537 22:30929537A-G A G
+22 30929905 22:30929905A-G A G
+22 30930080 22:30930080T-A T A
+22 30930158 22:30930158T-C T C
+22 30930185 22:30930185G-A G A
+22 30930386 22:30930386T-C T C
+22 30930491 22:30930491C-T C T
+22 30930662 22:30930662G-T G T
+22 30930830 22:30930830A-G A G
+22 30931307 22:30931307T-C T C
+22 30932673 22:30932673T-C T C
+22 30932821 22:30932821C-T C T
+22 30933561 22:30933561A-G A G
+22 30933600 22:30933600G-C G C
+22 30934051 22:30934051A-G A G
+22 30934816 22:30934816T-C T C
+22 30934887 22:30934887G-A G A
+22 30935074 22:30935074C-A C A
+22 30935259 22:30935259G-A G A
+22 30935429 22:30935429C-G C G
+22 30936227 22:30936227G-A G A
+22 30936533 22:30936533T-C T C
+22 30936781 22:30936781A-G A G
+22 30937307 22:30937307A-G A G
+22 30937504 22:30937504G-A G A
+22 30937512 22:30937512G-A G A
+22 30937520 22:30937520C-T C T
+22 30940131 22:30940131G-A G A
+22 30940372 22:30940372T-C T C
+22 30940450 22:30940450C-G C G
+22 30948492 22:30948492T-A T A
+22 30948752 22:30948752C-T C T
+22 30949145 22:30949145T-C T C
+22 30949820 22:30949820A-G A G
+22 30950360 22:30950360T-C T C
+22 30952396 22:30952396C-T C T
+22 30952776 22:30952776C-T C T
+22 30952941 22:30952941C-T C T
+22 30953295 22:30953295C-T C T
+22 30953502 22:30953502G-T G T
+22 30954071 22:30954071G-A G A
+22 30955094 22:30955094A-G A G
+22 30955321 22:30955321C-T C T
+22 30956122 22:30956122C-T C T
+22 30958629 22:30958629T-C T C
+22 30959026 22:30959026C-T C T
+22 30959074 22:30959074G-C G C
+22 30959514 22:30959514T-G T G
+22 30959602 22:30959602C-A C A
+22 30960412 22:30960412T-C T C
+22 30960413 22:30960413G-A G A
+22 30960754 22:30960754C-G C G
+22 30961048 22:30961048T-C T C
+22 30961184 22:30961184T-A T A
+22 30961645 22:30961645C-T C T
+22 30962206 22:30962206T-C T C
+22 30962742 22:30962742A-G A G
+22 30962878 22:30962878G-A G A
+22 30962886 22:30962886A-G A G
+22 30964810 22:30964810A-C A C
+22 30965757 22:30965757T-C T C
+22 30967184 22:30967184A-G A G
+22 30970972 22:30970972A-C A C
+22 30971606 22:30971606G-A G A
+22 30972409 22:30972409T-C T C
+22 30973658 22:30973658T-G T G
+22 30973965 22:30973965G-C G C
+22 30974142 22:30974142C-T C T
+22 30975513 22:30975513C-T C T
+22 30979432 22:30979432G-A G A
+22 30980503 22:30980503G-C G C
+22 30981508 22:30981508A-G A G
+22 30981547 22:30981547G-A G A
+22 30983709 22:30983709A-C A C
+22 30983739 22:30983739A-G A G
+22 30985646 22:30985646G-A G A
+22 30986172 22:30986172A-G A G
+22 30986350 22:30986350T-C T C
+22 30986565 22:30986565A-G A G
+22 30987861 22:30987861G-C G C
+22 30987933 22:30987933T-A T A
+22 30987960 22:30987960C-T C T
+22 30988382 22:30988382G-A G A
+22 30988433 22:30988433T-C T C
+22 30988518 22:30988518G-T G T
+22 30988762 22:30988762C-T C T
+22 30989061 22:30989061T-A T A
+22 30989329 22:30989329C-G C G
+22 30989400 22:30989400G-A G A
+22 30989492 22:30989492G-A G A
+22 30989918 22:30989918G-C G C
+22 30991124 22:30991124C-T C T
+22 30991139 22:30991139G-T G T
+22 30991608 22:30991608A-G A G
+22 30992021 22:30992021G-A G A
+22 30992065 22:30992065G-T G T
+22 30992262 22:30992262T-G T G
+22 30992463 22:30992463T-C T C
+22 30992617 22:30992617A-G A G
+22 30992651 22:30992651A-G A G
+22 30992672 22:30992672A-G A G
+22 30992805 22:30992805T-C T C
+22 30992834 22:30992834G-A G A
+22 30992918 22:30992918A-G A G
+22 30992955 22:30992955G-A G A
+22 30992961 22:30992961G-A G A
+22 30993051 22:30993051C-T C T
+22 30993079 22:30993079C-T C T
+22 30993265 22:30993265T-C T C
+22 30993791 22:30993791A-G A G
+22 30994097 22:30994097C-G C G
+22 30994185 22:30994185T-G T G
+22 30994633 22:30994633A-G A G
+22 30994661 22:30994661G-A G A
+22 30994820 22:30994820G-A G A
+22 30994841 22:30994841A-G A G
+22 30995008 22:30995008C-T C T
+22 30995356 22:30995356A-G A G
+22 30995359 22:30995359C-G C G
+22 30995460 22:30995460G-A G A
+22 30995613 22:30995613G-A G A
+22 30996190 22:30996190A-G A G
+22 30996992 22:30996992C-G C G
+22 30997745 22:30997745C-G C G
+22 31001056 22:31001056C-T C T
+22 31001106 22:31001106A-C A C
+22 31001109 22:31001109T-G T G
+22 31001822 22:31001822A-G A G
+22 31001988 22:31001988T-A T A
+22 31002208 22:31002208C-T C T
+22 31002638 22:31002638G-A G A
+22 31003069 22:31003069C-T C T
+22 31003138 22:31003138A-G A G
+22 31003561 22:31003561A-G A G
+22 31004127 22:31004127G-A G A
+22 31004188 22:31004188G-C G C
+22 31004626 22:31004626G-C G C
+22 31005018 22:31005018A-G A G
+22 31005293 22:31005293G-A G A
+22 31006702 22:31006702T-G T G
+22 31006860 22:31006860A-G A G
+22 31007919 22:31007919A-G A G
+22 31008240 22:31008240A-T A T
+22 31008285 22:31008285C-T C T
+22 31008745 22:31008745A-G A G
+22 31009118 22:31009118T-A T A
+22 31009377 22:31009377C-T C T
+22 31009820 22:31009820G-C G C
+22 31010242 22:31010242G-C G C
+22 31010556 22:31010556C-G C G
+22 31010649 22:31010649T-C T C
+22 31011069 22:31011069G-T G T
+22 31011557 22:31011557T-C T C
+22 31011610 22:31011610G-C G C
+22 31011882 22:31011882A-T A T
+22 31011906 22:31011906C-T C T
+22 31012673 22:31012673A-G A G
+22 31012756 22:31012756T-C T C
+22 31013419 22:31013419C-T C T
+22 31013549 22:31013549G-A G A
+22 31014474 22:31014474C-T C T
+22 31014999 22:31014999T-C T C
+22 31015720 22:31015720C-T C T
+22 31015938 22:31015938T-C T C
+22 31015985 22:31015985A-T A T
+22 31016539 22:31016539T-G T G
+22 31016914 22:31016914G-A G A
+22 31017322 22:31017322A-G A G
+22 31017343 22:31017343T-C T C
+22 31017398 22:31017398T-C T C
+22 31017403 22:31017403C-T C T
+22 31017740 22:31017740G-T G T
+22 31017777 22:31017777T-C T C
+22 31018225 22:31018225T-C T C
+22 31018561 22:31018561T-G T G
+22 31018646 22:31018646C-T C T
+22 31018777 22:31018777G-A G A
+22 31018817 22:31018817C-T C T
+22 31018884 22:31018884G-C G C
+22 31019457 22:31019457A-G A G
+22 31020152 22:31020152T-C T C
+22 31020341 22:31020341G-T G T
+22 31020400 22:31020400T-C T C
+22 31020975 22:31020975A-C A C
+22 31021817 22:31021817C-G C G
+22 31022272 22:31022272G-A G A
+22 31022301 22:31022301G-A G A
+22 31022590 22:31022590C-T C T
+22 31022635 22:31022635C-T C T
+22 31022952 22:31022952C-T C T
+22 31023191 22:31023191A-G A G
+22 31023326 22:31023326A-G A G
+22 31023921 22:31023921T-C T C
+22 31024094 22:31024094C-T C T
+22 31024155 22:31024155G-C G C
+22 31024547 22:31024547T-A T A
+22 31024680 22:31024680C-T C T
+22 31024697 22:31024697T-A T A
+22 31024856 22:31024856A-G A G
+22 31025154 22:31025154G-C G C
+22 31025189 22:31025189A-G A G
+22 31025412 22:31025412C-T C T
+22 31025421 22:31025421A-G A G
+22 31025552 22:31025552A-G A G
+22 31025733 22:31025733C-G C G
+22 31025798 22:31025798C-T C T
+22 31025802 22:31025802C-T C T
+22 31025863 22:31025863T-C T C
+22 31026475 22:31026475C-A C A
+22 31026655 22:31026655A-G A G
+22 31026777 22:31026777C-T C T
+22 31028944 22:31028944G-A G A
+22 31029199 22:31029199G-T G T
+22 31029242 22:31029242T-C T C
+22 31029658 22:31029658G-A G A
+22 31029898 22:31029898T-C T C
+22 31030018 22:31030018C-T C T
+22 31030213 22:31030213C-T C T
+22 31030528 22:31030528T-C T C
+22 31030592 22:31030592G-A G A
+22 31030781 22:31030781C-T C T
+22 31031418 22:31031418G-T G T
+22 31031643 22:31031643T-C T C
+22 31032309 22:31032309C-T C T
+22 31032920 22:31032920A-G A G
+22 31034084 22:31034084A-G A G
+22 31034982 22:31034982A-G A G
+22 31037162 22:31037162G-C G C
+22 31037205 22:31037205C-T C T
+22 31037370 22:31037370T-C T C
+22 31037602 22:31037602A-G A G
+22 31038949 22:31038949G-A G A
+22 31039919 22:31039919G-C G C
+22 31042352 22:31042352G-A G A
+22 31043766 22:31043766G-A G A
+22 31043949 22:31043949A-G A G
+22 31044565 22:31044565A-C A C
+22 31044831 22:31044831A-G A G
+22 31046315 22:31046315G-A G A
+22 31046447 22:31046447C-T C T
+22 31046587 22:31046587T-C T C
+22 31048534 22:31048534T-C T C
+22 31048803 22:31048803A-G A G
+22 31048995 22:31048995C-T C T
+22 31049070 22:31049070C-A C A
+22 31049933 22:31049933G-A G A
+22 31050162 22:31050162T-C T C
+22 31050715 22:31050715C-A C A
+22 31051212 22:31051212A-G A G
+22 31052375 22:31052375A-G A G
+22 31052568 22:31052568G-T G T
+22 31053572 22:31053572G-A G A
+22 31053641 22:31053641C-T C T
+22 31053658 22:31053658G-A G A
+22 31054287 22:31054287A-G A G
+22 31055571 22:31055571G-C G C
+22 31056343 22:31056343A-T A T
+22 31057115 22:31057115A-G A G
+22 31058115 22:31058115G-A G A
+22 31058707 22:31058707G-A G A
+22 31059250 22:31059250T-G T G
+22 31060029 22:31060029G-C G C
+22 31060193 22:31060193C-T C T
+22 31060982 22:31060982A-G A G
+22 31061152 22:31061152A-G A G
+22 31061869 22:31061869T-C T C
+22 31062030 22:31062030T-C T C
+22 31062596 22:31062596G-T G T
+22 31063100 22:31063100T-A T A
+22 31063641 22:31063641T-C T C
+22 31063832 22:31063832G-A G A
+22 31063939 22:31063939G-A G A
+22 31064020 22:31064020A-G A G
+22 31064736 22:31064736A-G A G
+22 31065067 22:31065067C-T C T
+22 31065332 22:31065332C-G C G
+22 31066100 22:31066100T-C T C
+22 31066296 22:31066296T-C T C
+22 31066406 22:31066406T-C T C
+22 31067243 22:31067243C-T C T
+22 31067582 22:31067582C-G C G
+22 31067727 22:31067727C-T C T
+22 31067768 22:31067768G-A G A
+22 31067801 22:31067801T-C T C
+22 31068814 22:31068814C-T C T
+22 31069603 22:31069603T-A T A
+22 31069614 22:31069614T-A T A
+22 31069744 22:31069744C-T C T
+22 31069849 22:31069849C-T C T
+22 31070218 22:31070218G-A G A
+22 31070493 22:31070493C-T C T
+22 31070977 22:31070977C-T C T
+22 31071045 22:31071045A-C A C
+22 31071354 22:31071354T-C T C
+22 31071485 22:31071485T-C T C
+22 31071644 22:31071644A-C A C
+22 31071711 22:31071711C-T C T
+22 31072753 22:31072753A-G A G
+22 31073459 22:31073459C-G C G
+22 31073500 22:31073500C-T C T
+22 31074048 22:31074048C-T C T
+22 31074094 22:31074094G-C G C
+22 31075719 22:31075719T-C T C
+22 31076386 22:31076386C-A C A
+22 31076466 22:31076466T-C T C
+22 31076490 22:31076490C-T C T
+22 31076582 22:31076582G-A G A
+22 31077056 22:31077056G-A G A
+22 31078341 22:31078341C-A C A
+22 31078457 22:31078457A-G A G
+22 31078845 22:31078845G-A G A
+22 31079456 22:31079456G-A G A
+22 31079964 22:31079964A-T A T
+22 31080362 22:31080362G-A G A
+22 31080374 22:31080374G-T G T
+22 31080424 22:31080424C-T C T
+22 31080793 22:31080793G-A G A
+22 31080819 22:31080819A-G A G
+22 31081913 22:31081913C-A C A
+22 31083251 22:31083251T-C T C
+22 31083255 22:31083255A-G A G
+22 31083524 22:31083524C-A C A
+22 31085748 22:31085748G-A G A
+22 31086047 22:31086047T-C T C
+22 31086280 22:31086280C-T C T
+22 31086472 22:31086472G-A G A
+22 31086893 22:31086893G-A G A
+22 31087180 22:31087180A-T A T
+22 31088926 22:31088926C-T C T
+22 31090450 22:31090450G-A G A
+22 31091064 22:31091064C-T C T
+22 31091139 22:31091139A-G A G
+22 31091633 22:31091633A-C A C
+22 31091934 22:31091934G-C G C
+22 31092425 22:31092425T-A T A
+22 31094178 22:31094178A-G A G
+22 31094432 22:31094432T-C T C
+22 31096092 22:31096092G-C G C
+22 31097424 22:31097424A-G A G
+22 31099170 22:31099170A-T A T
+22 31099274 22:31099274C-G C G
+22 31099441 22:31099441G-A G A
+22 31099456 22:31099456C-T C T
+22 31099927 22:31099927C-T C T
+22 31100018 22:31100018C-T C T
+22 31101085 22:31101085A-G A G
+22 31101357 22:31101357C-T C T
+22 31101646 22:31101646T-C T C
+22 31103245 22:31103245G-A G A
+22 31103458 22:31103458G-A G A
+22 31105269 22:31105269A-C A C
+22 31105994 22:31105994C-G C G
+22 31106157 22:31106157C-T C T
+22 31107700 22:31107700C-T C T
+22 31107851 22:31107851T-C T C
+22 31108151 22:31108151T-C T C
+22 31108224 22:31108224C-A C A
+22 31108617 22:31108617G-T G T
+22 31109126 22:31109126C-T C T
+22 31109918 22:31109918C-T C T
+22 31110784 22:31110784G-A G A
+22 31111078 22:31111078T-C T C
+22 31113004 22:31113004A-G A G
+22 31113433 22:31113433G-A G A
+22 31113664 22:31113664C-G C G
+22 31113824 22:31113824A-G A G
+22 31114086 22:31114086T-G T G
+22 31115722 22:31115722C-G C G
+22 31116394 22:31116394A-G A G
+22 31116489 22:31116489C-T C T
+22 31116693 22:31116693G-A G A
+22 31116753 22:31116753C-T C T
+22 31117015 22:31117015T-C T C
+22 31117229 22:31117229C-A C A
+22 31117251 22:31117251C-A C A
+22 31117495 22:31117495T-C T C
+22 31118383 22:31118383G-A G A
+22 31118395 22:31118395C-A C A
+22 31118510 22:31118510G-A G A
+22 31119214 22:31119214C-T C T
+22 31119437 22:31119437G-A G A
+22 31119500 22:31119500G-A G A
+22 31119818 22:31119818G-A G A
+22 31120034 22:31120034C-A C A
+22 31120392 22:31120392G-A G A
+22 31120714 22:31120714A-G A G
+22 31121646 22:31121646G-A G A
+22 31122409 22:31122409C-T C T
+22 31122477 22:31122477A-G A G
+22 31122483 22:31122483A-G A G
+22 31122548 22:31122548A-G A G
+22 31122936 22:31122936C-G C G
+22 31123106 22:31123106T-C T C
+22 31123229 22:31123229G-A G A
+22 31123292 22:31123292C-T C T
+22 31123984 22:31123984C-T C T
+22 31124062 22:31124062A-G A G
+22 31125214 22:31125214C-T C T
+22 31125944 22:31125944G-A G A
+22 31126138 22:31126138C-T C T
+22 31126589 22:31126589A-G A G
+22 31127004 22:31127004G-A G A
+22 31127018 22:31127018A-G A G
+22 31128286 22:31128286T-C T C
+22 31128763 22:31128763A-G A G
+22 31129526 22:31129526C-T C T
+22 31130537 22:31130537G-A G A
+22 31130940 22:31130940A-G A G
+22 31133026 22:31133026G-A G A
+22 31133033 22:31133033T-C T C
+22 31133077 22:31133077G-A G A
+22 31133258 22:31133258G-C G C
+22 31133365 22:31133365C-T C T
+22 31133843 22:31133843G-T G T
+22 31134390 22:31134390A-G A G
+22 31136123 22:31136123C-T C T
+22 31138050 22:31138050G-A G A
+22 31138255 22:31138255T-C T C
+22 31138869 22:31138869G-A G A
+22 31139318 22:31139318G-A G A
+22 31139653 22:31139653G-A G A
+22 31140617 22:31140617G-A G A
+22 31141239 22:31141239G-A G A
+22 31143110 22:31143110C-G C G
+22 31144574 22:31144574G-A G A
+22 31144707 22:31144707A-C A C
+22 31144859 22:31144859T-C T C
+22 31146844 22:31146844G-A G A
+22 31148556 22:31148556T-C T C
+22 31148727 22:31148727A-G A G
+22 31150680 22:31150680G-T G T
+22 31151319 22:31151319A-C A C
+22 31151535 22:31151535T-C T C
+22 31153162 22:31153162A-G A G
+22 31153276 22:31153276G-A G A
+22 31153474 22:31153474G-A G A
+22 31154138 22:31154138G-C G C
+22 31156296 22:31156296G-A G A
+22 31157853 22:31157853T-C T C
+22 31158089 22:31158089T-C T C
+22 31158293 22:31158293T-A T A
+22 31158483 22:31158483T-C T C
+22 31159042 22:31159042C-T C T
+22 31160539 22:31160539A-C A C
+22 31160934 22:31160934C-T C T
+22 31161516 22:31161516A-G A G
+22 31162179 22:31162179G-T G T
+22 31164310 22:31164310G-A G A
+22 31164856 22:31164856C-T C T
+22 31164993 22:31164993G-A G A
+22 31165724 22:31165724C-T C T
+22 31165846 22:31165846A-G A G
+22 31166023 22:31166023G-A G A
+22 31166372 22:31166372C-T C T
+22 31166696 22:31166696C-G C G
+22 31166959 22:31166959G-A G A
+22 31167705 22:31167705C-T C T
+22 31168315 22:31168315G-A G A
+22 31168670 22:31168670A-G A G
+22 31168866 22:31168866G-A G A
+22 31169308 22:31169308C-T C T
+22 31169336 22:31169336T-C T C
+22 31169761 22:31169761T-G T G
+22 31171120 22:31171120A-C A C
+22 31171274 22:31171274A-G A G
+22 31171782 22:31171782G-A G A
+22 31171927 22:31171927A-C A C
+22 31172458 22:31172458C-T C T
+22 31172466 22:31172466T-G T G
+22 31172469 22:31172469G-A G A
+22 31172479 22:31172479T-C T C
+22 31173064 22:31173064T-C T C
+22 31174383 22:31174383T-C T C
+22 31174783 22:31174783A-G A G
+22 31175009 22:31175009G-T G T
+22 31175193 22:31175193C-T C T
+22 31175525 22:31175525C-A C A
+22 31176281 22:31176281C-T C T
+22 31176450 22:31176450C-T C T
+22 31176471 22:31176471A-G A G
+22 31177357 22:31177357C-A C A
+22 31178576 22:31178576T-C T C
+22 31179135 22:31179135T-C T C
+22 31180246 22:31180246A-T A T
+22 31180422 22:31180422T-A T A
+22 31180429 22:31180429A-T A T
+22 31180440 22:31180440C-T C T
+22 31181571 22:31181571C-A C A
+22 31181735 22:31181735T-C T C
+22 31182134 22:31182134G-T G T
+22 31182314 22:31182314T-G T G
+22 31182599 22:31182599C-G C G
+22 31183454 22:31183454G-A G A
+22 31184897 22:31184897G-A G A
+22 31186297 22:31186297G-C G C
+22 31187948 22:31187948T-G T G
+22 31188321 22:31188321A-T A T
+22 31189236 22:31189236G-A G A
+22 31189795 22:31189795T-C T C
+22 31191136 22:31191136A-G A G
+22 31191872 22:31191872A-T A T
+22 31192023 22:31192023C-T C T
+22 31192486 22:31192486T-A T A
+22 31193079 22:31193079T-C T C
+22 31193100 22:31193100T-A T A
+22 31193188 22:31193188G-A G A
+22 31193196 22:31193196C-T C T
+22 31193534 22:31193534G-A G A
+22 31193746 22:31193746T-C T C
+22 31193801 22:31193801A-G A G
+22 31193821 22:31193821T-C T C
+22 31194038 22:31194038A-G A G
+22 31194306 22:31194306T-A T A
+22 31195242 22:31195242G-A G A
+22 31195391 22:31195391G-A G A
+22 31195775 22:31195775C-T C T
+22 31195941 22:31195941A-T A T
+22 31196485 22:31196485C-T C T
+22 31197050 22:31197050T-G T G
+22 31197090 22:31197090T-A T A
+22 31197378 22:31197378G-A G A
+22 31197791 22:31197791T-A T A
+22 31197806 22:31197806A-C A C
+22 31197863 22:31197863T-C T C
+22 31197960 22:31197960T-C T C
+22 31197963 22:31197963G-C G C
+22 31198037 22:31198037A-G A G
+22 31198632 22:31198632C-T C T
+22 31198848 22:31198848G-A G A
+22 31200051 22:31200051C-T C T
+22 31200199 22:31200199G-C G C
+22 31201034 22:31201034C-T C T
+22 31201806 22:31201806G-A G A
+22 31202375 22:31202375T-A T A
+22 31204628 22:31204628T-A T A
+22 31204677 22:31204677G-C G C
+22 31204680 22:31204680A-G A G
+22 31204878 22:31204878C-T C T
+22 31205334 22:31205334T-C T C
+22 31205644 22:31205644A-C A C
+22 31206047 22:31206047G-A G A
+22 31206395 22:31206395T-C T C
+22 31206552 22:31206552A-T A T
+22 31206685 22:31206685G-A G A
+22 31207207 22:31207207A-G A G
+22 31207518 22:31207518T-A T A
+22 31207609 22:31207609G-T G T
+22 31207693 22:31207693C-G C G
+22 31207694 22:31207694A-G A G
+22 31207762 22:31207762G-A G A
+22 31208444 22:31208444C-T C T
+22 31208544 22:31208544G-A G A
+22 31209135 22:31209135C-T C T
+22 31209205 22:31209205T-C T C
+22 31209502 22:31209502C-T C T
+22 31209955 22:31209955A-G A G
+22 31210424 22:31210424T-G T G
+22 31210758 22:31210758C-A C A
+22 31211040 22:31211040G-A G A
+22 31211098 22:31211098A-G A G
+22 31212072 22:31212072C-G C G
+22 31212410 22:31212410A-G A G
+22 31212641 22:31212641C-T C T
+22 31212968 22:31212968C-T C T
+22 31213097 22:31213097C-T C T
+22 31213543 22:31213543G-A G A
+22 31214382 22:31214382A-G A G
+22 31214572 22:31214572T-C T C
+22 31214627 22:31214627C-G C G
+22 31214983 22:31214983C-G C G
+22 31215806 22:31215806T-C T C
+22 31215815 22:31215815A-G A G
+22 31215890 22:31215890T-G T G
+22 31216054 22:31216054C-T C T
+22 31216506 22:31216506T-C T C
+22 31216631 22:31216631G-A G A
+22 31217345 22:31217345C-T C T
+22 31218133 22:31218133G-A G A
+22 31219193 22:31219193G-C G C
+22 31219223 22:31219223G-A G A
+22 31219869 22:31219869T-C T C
+22 31220791 22:31220791G-A G A
+22 31220817 22:31220817G-A G A
+22 31223079 22:31223079C-A C A
+22 31223456 22:31223456C-T C T
+22 31224575 22:31224575G-A G A
+22 31225292 22:31225292T-C T C
+22 31227134 22:31227134C-G C G
+22 31227373 22:31227373A-G A G
+22 31227607 22:31227607T-C T C
+22 31227728 22:31227728C-T C T
+22 31227753 22:31227753T-C T C
+22 31227901 22:31227901T-C T C
+22 31227932 22:31227932T-C T C
+22 31228346 22:31228346T-C T C
+22 31228362 22:31228362C-T C T
+22 31228474 22:31228474T-C T C
+22 31228584 22:31228584T-C T C
+22 31230393 22:31230393G-T G T
+22 31231491 22:31231491G-C G C
+22 31232041 22:31232041C-A C A
+22 31232074 22:31232074T-C T C
+22 31232389 22:31232389C-A C A
+22 31233220 22:31233220A-G A G
+22 31233347 22:31233347C-A C A
+22 31233648 22:31233648G-C G C
+22 31233875 22:31233875G-A G A
+22 31234009 22:31234009C-T C T
+22 31234783 22:31234783C-T C T
+22 31236310 22:31236310G-A G A
+22 31236543 22:31236543C-G C G
+22 31237461 22:31237461G-A G A
+22 31238842 22:31238842C-T C T
+22 31239025 22:31239025C-G C G
+22 31242180 22:31242180C-A C A
+22 31242325 22:31242325G-C G C
+22 31243264 22:31243264G-C G C
+22 31245213 22:31245213G-T G T
+22 31245745 22:31245745A-G A G
+22 31246452 22:31246452G-C G C
+22 31246766 22:31246766G-A G A
+22 31247821 22:31247821T-C T C
+22 31249202 22:31249202A-G A G
+22 31249333 22:31249333C-T C T
+22 31249602 22:31249602G-C G C
+22 31249995 22:31249995C-T C T
+22 31250664 22:31250664A-G A G
+22 31250719 22:31250719T-G T G
+22 31250784 22:31250784G-A G A
+22 31250888 22:31250888G-A G A
+22 31251981 22:31251981A-G A G
+22 31252038 22:31252038T-C T C
+22 31252502 22:31252502T-C T C
+22 31252577 22:31252577T-C T C
+22 31252771 22:31252771A-T A T
+22 31253230 22:31253230A-G A G
+22 31254036 22:31254036C-T C T
+22 31254058 22:31254058G-C G C
+22 31254737 22:31254737A-G A G
+22 31254790 22:31254790C-T C T
+22 31254954 22:31254954T-C T C
+22 31255029 22:31255029G-T G T
+22 31255176 22:31255176G-T G T
+22 31255456 22:31255456C-T C T
+22 31256066 22:31256066G-T G T
+22 31256367 22:31256367G-A G A
+22 31256450 22:31256450C-G C G
+22 31256498 22:31256498A-G A G
+22 31256584 22:31256584A-G A G
+22 31256605 22:31256605C-T C T
+22 31256668 22:31256668G-A G A
+22 31256713 22:31256713C-T C T
+22 31256733 22:31256733C-A C A
+22 31256766 22:31256766G-T G T
+22 31256767 22:31256767T-C T C
+22 31257122 22:31257122C-T C T
+22 31257689 22:31257689C-T C T
+22 31257924 22:31257924T-C T C
+22 31258108 22:31258108C-A C A
+22 31258597 22:31258597G-T G T
+22 31258884 22:31258884T-C T C
+22 31258967 22:31258967A-G A G
+22 31259169 22:31259169C-G C G
+22 31259343 22:31259343G-A G A
+22 31259530 22:31259530C-T C T
+22 31259658 22:31259658C-T C T
+22 31260228 22:31260228G-A G A
+22 31260328 22:31260328G-A G A
+22 31260425 22:31260425G-T G T
+22 31260807 22:31260807C-A C A
+22 31261084 22:31261084A-C A C
+22 31261107 22:31261107G-A G A
+22 31261354 22:31261354A-G A G
+22 31261488 22:31261488G-A G A
+22 31261756 22:31261756C-T C T
+22 31261859 22:31261859G-A G A
+22 31262421 22:31262421G-A G A
+22 31262501 22:31262501C-T C T
+22 31262905 22:31262905C-T C T
+22 31263287 22:31263287T-G T G
+22 31263844 22:31263844C-T C T
+22 31264116 22:31264116G-A G A
+22 31264281 22:31264281A-G A G
+22 31264410 22:31264410A-G A G
+22 31265236 22:31265236A-G A G
+22 31265735 22:31265735G-A G A
+22 31265848 22:31265848T-C T C
+22 31265851 22:31265851C-T C T
+22 31266546 22:31266546T-C T C
+22 31266823 22:31266823G-A G A
+22 31266830 22:31266830T-C T C
+22 31268091 22:31268091T-C T C
+22 31268129 22:31268129G-A G A
+22 31269579 22:31269579A-T A T
+22 31269708 22:31269708C-G C G
+22 31270163 22:31270163G-A G A
+22 31270522 22:31270522G-A G A
+22 31271534 22:31271534T-A T A
+22 31271550 22:31271550C-G C G
+22 31272930 22:31272930C-T C T
+22 31273284 22:31273284T-A T A
+22 31273761 22:31273761C-T C T
+22 31276915 22:31276915T-G T G
+22 31279536 22:31279536A-G A G
+22 31279889 22:31279889C-T C T
+22 31281303 22:31281303G-C G C
+22 31282893 22:31282893C-T C T
+22 31283719 22:31283719C-G C G
+22 31283979 22:31283979C-T C T
+22 31285680 22:31285680G-A G A
+22 31285967 22:31285967G-C G C
+22 31285968 22:31285968G-A G A
+22 31287711 22:31287711G-A G A
+22 31288135 22:31288135G-A G A
+22 31288769 22:31288769G-A G A
+22 31290637 22:31290637A-G A G
+22 31293700 22:31293700G-A G A
+22 31293851 22:31293851C-T C T
+22 31294766 22:31294766T-G T G
+22 31295997 22:31295997G-T G T
+22 31297158 22:31297158C-T C T
+22 31297325 22:31297325G-A G A
+22 31298173 22:31298173T-C T C
+22 31298208 22:31298208A-C A C
+22 31300600 22:31300600C-T C T
+22 31300851 22:31300851A-G A G
+22 31302125 22:31302125C-G C G
+22 31302233 22:31302233T-C T C
+22 31303708 22:31303708G-A G A
+22 31304201 22:31304201G-A G A
+22 31304983 22:31304983C-T C T
+22 31305208 22:31305208A-C A C
+22 31305842 22:31305842G-A G A
+22 31307808 22:31307808G-A G A
+22 31308108 22:31308108A-T A T
+22 31309336 22:31309336C-G C G
+22 31310170 22:31310170A-G A G
+22 31310946 22:31310946C-T C T
+22 31311175 22:31311175C-T C T
+22 31311544 22:31311544T-C T C
+22 31312770 22:31312770G-C G C
+22 31312784 22:31312784A-T A T
+22 31313631 22:31313631A-G A G
+22 31317710 22:31317710G-A G A
+22 31318341 22:31318341C-T C T
+22 31318744 22:31318744C-T C T
+22 31319187 22:31319187T-C T C
+22 31319932 22:31319932T-C T C
+22 31320494 22:31320494C-T C T
+22 31320508 22:31320508G-A G A
+22 31321847 22:31321847C-A C A
+22 31321948 22:31321948G-A G A
+22 31323900 22:31323900G-C G C
+22 31325742 22:31325742T-C T C
+22 31325984 22:31325984C-T C T
+22 31329056 22:31329056G-C G C
+22 31329641 22:31329641T-C T C
+22 31329882 22:31329882A-G A G
+22 31329954 22:31329954A-G A G
+22 31333631 22:31333631T-C T C
+22 31334518 22:31334518G-A G A
+22 31335724 22:31335724T-A T A
+22 31336149 22:31336149G-A G A
+22 31338470 22:31338470T-C T C
+22 31339897 22:31339897G-A G A
+22 31340299 22:31340299A-G A G
+22 31340625 22:31340625C-A C A
+22 31342376 22:31342376G-C G C
+22 31342594 22:31342594C-T C T
+22 31346752 22:31346752A-G A G
+22 31347926 22:31347926C-T C T
+22 31348957 22:31348957T-C T C
+22 31349425 22:31349425T-C T C
+22 31349698 22:31349698C-G C G
+22 31350760 22:31350760A-G A G
+22 31350765 22:31350765G-T G T
+22 31353670 22:31353670C-T C T
+22 31353825 22:31353825T-G T G
+22 31354653 22:31354653G-A G A
+22 31355354 22:31355354G-A G A
+22 31355635 22:31355635A-C A C
+22 31355992 22:31355992C-T C T
+22 31357391 22:31357391G-T G T
+22 31357929 22:31357929C-T C T
+22 31358116 22:31358116A-G A G
+22 31358868 22:31358868T-C T C
+22 31359571 22:31359571C-T C T
+22 31360592 22:31360592G-A G A
+22 31362139 22:31362139C-T C T
+22 31364993 22:31364993G-A G A
+22 31366675 22:31366675G-T G T
+22 31368096 22:31368096A-T A T
+22 31369324 22:31369324G-A G A
+22 31369789 22:31369789C-G C G
+22 31370079 22:31370079G-A G A
+22 31376009 22:31376009C-G C G
+22 31377027 22:31377027A-G A G
+22 31377185 22:31377185T-G T G
+22 31377628 22:31377628A-G A G
+22 31378447 22:31378447G-A G A
+22 31379144 22:31379144G-A G A
+22 31379194 22:31379194C-T C T
+22 31379675 22:31379675A-G A G
+22 31380244 22:31380244C-T C T
+22 31382766 22:31382766G-C G C
+22 31384275 22:31384275G-A G A
+22 31390187 22:31390187T-C T C
+22 31390228 22:31390228A-C A C
+22 31391386 22:31391386T-C T C
+22 31391846 22:31391846T-G T G
+22 31392606 22:31392606C-T C T
+22 31395825 22:31395825T-C T C
+22 31396225 22:31396225G-A G A
+22 31396439 22:31396439T-C T C
+22 31396826 22:31396826G-A G A
+22 31398736 22:31398736G-A G A
+22 31399761 22:31399761G-A G A
+22 31399953 22:31399953A-C A C
+22 31400018 22:31400018G-A G A
+22 31400996 22:31400996A-G A G
+22 31402043 22:31402043G-A G A
+22 31403030 22:31403030C-T C T
+22 31404324 22:31404324T-C T C
+22 31404395 22:31404395C-T C T
+22 31404900 22:31404900G-A G A
+22 31405191 22:31405191T-C T C
+22 31406285 22:31406285C-T C T
+22 31408916 22:31408916C-T C T
+22 31409959 22:31409959A-G A G
+22 31411404 22:31411404A-G A G
+22 31412170 22:31412170G-T G T
+22 31413480 22:31413480G-A G A
+22 31413966 22:31413966C-A C A
+22 31414089 22:31414089G-A G A
+22 31414649 22:31414649G-A G A
+22 31414666 22:31414666T-C T C
+22 31415586 22:31415586A-G A G
+22 31415931 22:31415931C-T C T
+22 31416033 22:31416033T-C T C
+22 31416122 22:31416122C-T C T
+22 31416194 22:31416194G-T G T
+22 31416473 22:31416473G-A G A
+22 31417601 22:31417601C-T C T
+22 31417610 22:31417610C-T C T
+22 31419029 22:31419029C-A C A
+22 31419033 22:31419033G-A G A
+22 31419209 22:31419209A-G A G
+22 31419449 22:31419449C-T C T
+22 31424539 22:31424539G-A G A
+22 31425330 22:31425330G-T G T
+22 31425998 22:31425998G-A G A
+22 31427491 22:31427491C-T C T
+22 31428853 22:31428853C-T C T
+22 31429408 22:31429408C-T C T
+22 31430904 22:31430904C-T C T
+22 31432139 22:31432139A-T A T
+22 31432389 22:31432389T-C T C
+22 31433519 22:31433519T-C T C
+22 31433846 22:31433846C-G C G
+22 31434703 22:31434703G-T G T
+22 31434893 22:31434893C-A C A
+22 31435162 22:31435162A-G A G
+22 31435338 22:31435338C-T C T
+22 31435484 22:31435484G-A G A
+22 31435487 22:31435487C-T C T
+22 31435945 22:31435945A-G A G
+22 31436494 22:31436494C-T C T
+22 31436507 22:31436507A-G A G
+22 31436608 22:31436608C-T C T
+22 31436822 22:31436822C-T C T
+22 31437392 22:31437392G-A G A
+22 31437845 22:31437845C-T C T
+22 31438038 22:31438038G-A G A
+22 31438361 22:31438361C-T C T
+22 31438497 22:31438497A-C A C
+22 31438581 22:31438581A-G A G
+22 31438931 22:31438931G-A G A
+22 31438975 22:31438975T-G T G
+22 31439170 22:31439170C-T C T
+22 31439173 22:31439173T-C T C
+22 31439597 22:31439597C-T C T
+22 31439650 22:31439650G-A G A
+22 31440703 22:31440703A-C A C
+22 31441287 22:31441287T-G T G
+22 31441741 22:31441741G-A G A
+22 31442308 22:31442308G-A G A
+22 31443251 22:31443251C-T C T
+22 31443367 22:31443367C-G C G
+22 31443798 22:31443798T-C T C
+22 31444875 22:31444875A-G A G
+22 31445014 22:31445014C-T C T
+22 31445170 22:31445170A-G A G
+22 31445399 22:31445399C-G C G
+22 31445599 22:31445599C-G C G
+22 31445946 22:31445946G-A G A
+22 31446233 22:31446233G-C G C
+22 31446415 22:31446415T-A T A
+22 31446656 22:31446656A-T A T
+22 31446921 22:31446921A-C A C
+22 31447006 22:31447006T-C T C
+22 31447619 22:31447619C-T C T
+22 31448244 22:31448244G-C G C
+22 31449150 22:31449150G-A G A
+22 31449761 22:31449761G-A G A
+22 31450499 22:31450499A-T A T
+22 31450547 22:31450547T-C T C
+22 31450987 22:31450987G-A G A
+22 31451457 22:31451457C-G C G
+22 31451964 22:31451964G-C G C
+22 31453264 22:31453264T-G T G
+22 31453321 22:31453321C-T C T
+22 31456006 22:31456006C-T C T
+22 31456352 22:31456352T-C T C
+22 31456833 22:31456833C-T C T
+22 31456863 22:31456863A-G A G
+22 31457195 22:31457195A-G A G
+22 31458203 22:31458203C-T C T
+22 31459194 22:31459194A-G A G
+22 31459255 22:31459255A-G A G
+22 31462307 22:31462307A-T A T
+22 31463417 22:31463417G-A G A
+22 31463614 22:31463614C-T C T
+22 31463645 22:31463645A-C A C
+22 31464163 22:31464163A-G A G
+22 31464226 22:31464226A-G A G
+22 31465184 22:31465184A-G A G
+22 31465217 22:31465217C-T C T
+22 31466604 22:31466604A-C A C
+22 31466638 22:31466638G-A G A
+22 31466888 22:31466888T-C T C
+22 31467092 22:31467092G-A G A
+22 31467142 22:31467142C-T C T
+22 31467267 22:31467267G-C G C
+22 31468425 22:31468425C-A C A
+22 31469141 22:31469141C-T C T
+22 31469196 22:31469196T-C T C
+22 31469307 22:31469307C-T C T
+22 31469515 22:31469515A-G A G
+22 31469539 22:31469539C-G C G
+22 31470035 22:31470035C-T C T
+22 31470437 22:31470437G-A G A
+22 31470622 22:31470622A-G A G
+22 31470842 22:31470842T-C T C
+22 31471125 22:31471125T-A T A
+22 31471538 22:31471538G-A G A
+22 31472255 22:31472255C-T C T
+22 31472299 22:31472299T-C T C
+22 31472504 22:31472504A-G A G
+22 31472653 22:31472653G-C G C
+22 31473048 22:31473048C-T C T
+22 31473169 22:31473169G-A G A
+22 31473344 22:31473344C-T C T
+22 31473446 22:31473446C-T C T
+22 31473891 22:31473891A-G A G
+22 31474554 22:31474554C-T C T
+22 31474657 22:31474657C-A C A
+22 31475307 22:31475307G-A G A
+22 31475312 22:31475312T-A T A
+22 31475441 22:31475441C-T C T
+22 31475551 22:31475551G-A G A
+22 31476288 22:31476288A-G A G
+22 31477168 22:31477168T-C T C
+22 31477361 22:31477361G-C G C
+22 31477791 22:31477791A-G A G
+22 31479071 22:31479071C-T C T
+22 31480069 22:31480069G-T G T
+22 31480195 22:31480195C-T C T
+22 31481654 22:31481654C-T C T
+22 31481794 22:31481794C-G C G
+22 31481922 22:31481922G-C G C
+22 31482568 22:31482568G-A G A
+22 31482701 22:31482701A-G A G
+22 31486291 22:31486291G-C G C
+22 31486911 22:31486911C-G C G
+22 31489575 22:31489575G-A G A
+22 31490729 22:31490729A-G A G
+22 31491163 22:31491163T-G T G
+22 31491295 22:31491295G-C G C
+22 31491332 22:31491332C-T C T
+22 31492034 22:31492034T-C T C
+22 31492482 22:31492482C-T C T
+22 31492517 22:31492517A-C A C
+22 31493125 22:31493125G-A G A
+22 31493460 22:31493460T-C T C
+22 31493636 22:31493636G-A G A
+22 31494866 22:31494866G-T G T
+22 31495443 22:31495443G-T G T
+22 31496837 22:31496837C-A C A
+22 31497054 22:31497054A-C A C
+22 31497110 22:31497110G-T G T
+22 31497663 22:31497663A-G A G
+22 31497879 22:31497879C-T C T
+22 31499518 22:31499518A-G A G
+22 31499684 22:31499684A-T A T
+22 31499755 22:31499755G-A G A
+22 31500536 22:31500536G-A G A
+22 31500671 22:31500671G-T G T
+22 31501788 22:31501788T-C T C
+22 31501833 22:31501833C-T C T
+22 31502732 22:31502732A-G A G
+22 31504129 22:31504129A-G A G
+22 31504883 22:31504883C-A C A
+22 31506761 22:31506761A-G A G
+22 31507049 22:31507049A-G A G
+22 31507338 22:31507338A-G A G
+22 31507763 22:31507763C-G C G
+22 31507866 22:31507866A-G A G
+22 31508195 22:31508195G-A G A
+22 31508408 22:31508408A-C A C
+22 31508683 22:31508683T-C T C
+22 31508788 22:31508788T-G T G
+22 31508966 22:31508966A-G A G
+22 31509037 22:31509037A-G A G
+22 31511391 22:31511391G-A G A
+22 31512149 22:31512149G-A G A
+22 31512800 22:31512800G-A G A
+22 31513524 22:31513524G-A G A
+22 31513623 22:31513623C-A C A
+22 31514348 22:31514348A-G A G
+22 31514409 22:31514409G-C G C
+22 31514477 22:31514477T-C T C
+22 31514557 22:31514557G-C G C
+22 31516513 22:31516513C-T C T
+22 31516869 22:31516869C-T C T
+22 31517434 22:31517434C-T C T
+22 31518824 22:31518824A-T A T
+22 31519847 22:31519847A-T A T
+22 31520338 22:31520338G-A G A
+22 31520472 22:31520472G-A G A
+22 31521404 22:31521404G-A G A
+22 31521850 22:31521850A-C A C
+22 31522064 22:31522064G-A G A
+22 31524980 22:31524980A-G A G
+22 31525426 22:31525426G-A G A
+22 31526210 22:31526210C-T C T
+22 31526644 22:31526644G-A G A
+22 31526744 22:31526744A-G A G
+22 31526811 22:31526811T-C T C
+22 31527480 22:31527480C-T C T
+22 31527985 22:31527985C-G C G
+22 31528932 22:31528932A-T A T
+22 31529043 22:31529043C-A C A
+22 31529463 22:31529463C-A C A
+22 31529772 22:31529772C-T C T
+22 31530730 22:31530730C-T C T
+22 31530744 22:31530744G-A G A
+22 31530957 22:31530957A-G A G
+22 31531133 22:31531133C-A C A
+22 31531150 22:31531150C-T C T
+22 31532276 22:31532276C-T C T
+22 31532568 22:31532568G-C G C
+22 31532608 22:31532608G-A G A
+22 31532960 22:31532960C-T C T
+22 31533796 22:31533796G-C G C
+22 31533967 22:31533967G-A G A
+22 31534127 22:31534127G-A G A
+22 31535872 22:31535872G-C G C
+22 31535995 22:31535995C-G C G
+22 31536133 22:31536133A-C A C
+22 31536784 22:31536784C-T C T
+22 31537122 22:31537122A-G A G
+22 31537342 22:31537342T-G T G
+22 31537533 22:31537533A-G A G
+22 31538002 22:31538002C-T C T
+22 31539189 22:31539189G-A G A
+22 31539614 22:31539614T-A T A
+22 31539733 22:31539733A-G A G
+22 31541212 22:31541212T-C T C
+22 31541260 22:31541260G-A G A
+22 31541907 22:31541907T-C T C
+22 31542137 22:31542137A-G A G
+22 31542569 22:31542569A-G A G
+22 31543197 22:31543197G-A G A
+22 31543260 22:31543260G-A G A
+22 31545391 22:31545391T-G T G
+22 31545771 22:31545771A-T A T
+22 31546951 22:31546951G-A G A
+22 31547117 22:31547117C-T C T
+22 31547184 22:31547184T-C T C
+22 31549155 22:31549155T-C T C
+22 31549581 22:31549581A-G A G
+22 31550199 22:31550199G-A G A
+22 31551160 22:31551160C-T C T
+22 31552702 22:31552702A-G A G
+22 31552948 22:31552948G-A G A
+22 31553201 22:31553201T-C T C
+22 31553561 22:31553561T-C T C
+22 31556103 22:31556103A-G A G
+22 31556759 22:31556759C-G C G
+22 31556988 22:31556988A-G A G
+22 31557798 22:31557798C-T C T
+22 31558549 22:31558549C-T C T
+22 31558820 22:31558820A-G A G
+22 31559255 22:31559255G-A G A
+22 31560831 22:31560831C-G C G
+22 31561022 22:31561022G-A G A
+22 31561718 22:31561718A-G A G
+22 31563555 22:31563555A-C A C
+22 31564334 22:31564334C-T C T
+22 31564487 22:31564487A-G A G
+22 31565094 22:31565094A-G A G
+22 31566173 22:31566173T-G T G
+22 31566378 22:31566378A-G A G
+22 31566411 22:31566411G-C G C
+22 31567781 22:31567781A-C A C
+22 31570436 22:31570436G-A G A
+22 31571367 22:31571367T-G T G
+22 31572963 22:31572963A-C A C
+22 31574213 22:31574213A-G A G
+22 31574848 22:31574848A-G A G
+22 31575290 22:31575290A-G A G
+22 31575576 22:31575576T-C T C
+22 31577541 22:31577541G-A G A
+22 31578879 22:31578879A-G A G
+22 31579233 22:31579233C-T C T
+22 31580158 22:31580158C-T C T
+22 31580205 22:31580205C-T C T
+22 31580246 22:31580246C-T C T
+22 31580346 22:31580346C-A C A
+22 31580391 22:31580391G-A G A
+22 31581046 22:31581046T-C T C
+22 31581166 22:31581166A-G A G
+22 31581773 22:31581773C-T C T
+22 31582264 22:31582264T-A T A
+22 31582662 22:31582662A-G A G
+22 31582723 22:31582723G-A G A
+22 31582869 22:31582869T-C T C
+22 31583007 22:31583007A-G A G
+22 31583478 22:31583478A-G A G
+22 31583591 22:31583591T-C T C
+22 31584516 22:31584516G-A G A
+22 31586248 22:31586248G-A G A
+22 31587155 22:31587155C-G C G
+22 31587158 22:31587158T-C T C
+22 31587191 22:31587191T-C T C
+22 31587218 22:31587218T-C T C
+22 31587722 22:31587722A-G A G
+22 31589056 22:31589056T-C T C
+22 31590109 22:31590109G-C G C
+22 31590208 22:31590208A-C A C
+22 31590427 22:31590427A-C A C
+22 31590660 22:31590660C-G C G
+22 31591228 22:31591228G-A G A
+22 31592154 22:31592154T-C T C
+22 31592698 22:31592698T-A T A
+22 31593435 22:31593435T-C T C
+22 31593602 22:31593602T-C T C
+22 31593710 22:31593710T-G T G
+22 31593861 22:31593861A-G A G
+22 31593959 22:31593959C-A C A
+22 31595747 22:31595747A-T A T
+22 31598367 22:31598367C-T C T
+22 31599088 22:31599088A-C A C
+22 31599664 22:31599664G-A G A
+22 31599983 22:31599983T-C T C
+22 31600460 22:31600460T-C T C
+22 31602139 22:31602139A-G A G
+22 31602187 22:31602187C-T C T
+22 31602868 22:31602868T-G T G
+22 31603276 22:31603276A-G A G
+22 31604122 22:31604122G-T G T
+22 31605055 22:31605055G-A G A
+22 31607834 22:31607834G-C G C
+22 31611549 22:31611549A-G A G
+22 31615029 22:31615029G-A G A
+22 31616169 22:31616169G-A G A
+22 31616301 22:31616301A-G A G
+22 31616564 22:31616564C-T C T
+22 31616874 22:31616874T-C T C
+22 31618597 22:31618597G-A G A
+22 31618958 22:31618958A-G A G
+22 31619702 22:31619702A-T A T
+22 31620563 22:31620563A-G A G
+22 31621792 22:31621792G-A G A
+22 31623442 22:31623442A-G A G
+22 31629465 22:31629465A-T A T
+22 31630896 22:31630896G-T G T
+22 31631314 22:31631314G-A G A
+22 31632051 22:31632051T-C T C
+22 31632241 22:31632241C-T C T
+22 31633022 22:31633022C-T C T
+22 31634775 22:31634775G-A G A
+22 31636064 22:31636064C-T C T
+22 31638027 22:31638027T-C T C
+22 31638448 22:31638448G-A G A
+22 31638912 22:31638912A-T A T
+22 31638932 22:31638932G-A G A
+22 31639509 22:31639509G-T G T
+22 31641397 22:31641397C-T C T
+22 31644614 22:31644614C-T C T
+22 31644964 22:31644964G-A G A
+22 31645759 22:31645759C-T C T
+22 31646222 22:31646222T-C T C
+22 31646448 22:31646448G-A G A
+22 31646653 22:31646653C-T C T
+22 31647094 22:31647094A-G A G
+22 31648294 22:31648294C-T C T
+22 31648356 22:31648356C-A C A
+22 31649632 22:31649632C-T C T
+22 31650595 22:31650595T-A T A
+22 31652338 22:31652338G-T G T
+22 31652852 22:31652852G-A G A
+22 31654823 22:31654823C-T C T
+22 31657182 22:31657182C-T C T
+22 31657262 22:31657262A-G A G
+22 31657308 22:31657308C-T C T
+22 31657449 22:31657449A-G A G
+22 31657777 22:31657777T-A T A
+22 31658281 22:31658281A-G A G
+22 31659101 22:31659101G-C G C
+22 31659495 22:31659495T-C T C
+22 31659827 22:31659827C-G C G
+22 31663066 22:31663066T-C T C
+22 31663842 22:31663842C-G C G
+22 31664032 22:31664032C-T C T
+22 31664496 22:31664496G-C G C
+22 31665787 22:31665787T-C T C
+22 31665862 22:31665862A-G A G
+22 31665909 22:31665909C-A C A
+22 31666026 22:31666026A-G A G
+22 31668154 22:31668154C-G C G
+22 31668794 22:31668794C-T C T
+22 31669267 22:31669267A-G A G
+22 31669368 22:31669368T-A T A
+22 31671882 22:31671882C-T C T
+22 31671932 22:31671932G-T G T
+22 31672119 22:31672119G-A G A
+22 31672752 22:31672752A-C A C
+22 31673859 22:31673859C-T C T
+22 31675185 22:31675185A-C A C
+22 31676454 22:31676454T-C T C
+22 31676992 22:31676992A-G A G
+22 31677130 22:31677130C-G C G
+22 31677744 22:31677744A-G A G
+22 31678958 22:31678958C-G C G
+22 31679110 22:31679110G-C G C
+22 31679449 22:31679449C-T C T
+22 31679546 22:31679546G-A G A
+22 31679669 22:31679669C-A C A
+22 31679741 22:31679741T-C T C
+22 31680240 22:31680240G-T G T
+22 31680348 22:31680348T-C T C
+22 31680624 22:31680624G-A G A
+22 31681062 22:31681062A-G A G
+22 31681150 22:31681150G-A G A
+22 31682448 22:31682448C-T C T
+22 31683564 22:31683564C-T C T
+22 31683711 22:31683711C-A C A
+22 31685129 22:31685129C-T C T
+22 31685458 22:31685458G-A G A
+22 31686102 22:31686102G-A G A
+22 31686144 22:31686144A-G A G
+22 31687313 22:31687313A-G A G
+22 31688583 22:31688583G-T G T
+22 31689705 22:31689705T-A T A
+22 31689951 22:31689951A-G A G
+22 31690351 22:31690351A-T A T
+22 31690528 22:31690528T-A T A
+22 31690803 22:31690803G-A G A
+22 31690921 22:31690921C-T C T
+22 31691743 22:31691743T-C T C
+22 31693585 22:31693585C-T C T
+22 31695137 22:31695137G-A G A
+22 31695485 22:31695485A-G A G
+22 31696278 22:31696278G-C G C
+22 31696615 22:31696615A-G A G
+22 31697287 22:31697287A-G A G
+22 31697407 22:31697407A-G A G
+22 31698166 22:31698166C-T C T
+22 31698860 22:31698860G-C G C
+22 31700508 22:31700508A-G A G
+22 31701821 22:31701821A-G A G
+22 31702624 22:31702624T-C T C
+22 31703272 22:31703272T-C T C
+22 31703683 22:31703683G-A G A
+22 31704378 22:31704378T-C T C
+22 31704452 22:31704452A-G A G
+22 31704492 22:31704492A-G A G
+22 31704539 22:31704539C-T C T
+22 31705942 22:31705942G-A G A
+22 31706975 22:31706975G-A G A
+22 31709146 22:31709146A-G A G
+22 31709309 22:31709309A-C A C
+22 31712032 22:31712032A-C A C
+22 31713305 22:31713305T-G T G
+22 31714356 22:31714356G-A G A
+22 31715459 22:31715459C-T C T
+22 31717799 22:31717799T-G T G
+22 31719315 22:31719315A-G A G
+22 31719416 22:31719416G-T G T
+22 31721083 22:31721083G-C G C
+22 31725634 22:31725634C-G C G
+22 31726471 22:31726471C-T C T
+22 31729177 22:31729177T-C T C
+22 31730045 22:31730045A-G A G
+22 31730169 22:31730169C-T C T
+22 31730189 22:31730189A-C A C
+22 31732461 22:31732461A-G A G
+22 31732512 22:31732512C-T C T
+22 31735977 22:31735977C-T C T
+22 31738754 22:31738754A-G A G
+22 31741067 22:31741067G-A G A
+22 31743032 22:31743032A-C A C
+22 31744009 22:31744009T-C T C
+22 31744072 22:31744072G-A G A
+22 31744721 22:31744721T-C T C
+22 31745274 22:31745274A-C A C
+22 31745306 22:31745306T-C T C
+22 31746719 22:31746719C-G C G
+22 31747786 22:31747786C-T C T
+22 31748415 22:31748415G-A G A
+22 31750013 22:31750013T-C T C
+22 31750187 22:31750187C-G C G
+22 31750398 22:31750398A-G A G
+22 31750481 22:31750481C-T C T
+22 31750898 22:31750898G-A G A
+22 31752061 22:31752061C-G C G
+22 31752427 22:31752427C-A C A
+22 31753849 22:31753849G-A G A
+22 31754617 22:31754617G-A G A
+22 31755616 22:31755616G-T G T
+22 31757735 22:31757735C-T C T
+22 31759033 22:31759033A-G A G
+22 31760250 22:31760250T-C T C
+22 31760586 22:31760586A-G A G
+22 31761873 22:31761873T-C T C
+22 31763251 22:31763251G-A G A
+22 31763825 22:31763825T-G T G
+22 31764176 22:31764176C-T C T
+22 31765123 22:31765123A-G A G
+22 31765546 22:31765546T-G T G
+22 31765801 22:31765801C-T C T
+22 31766960 22:31766960A-C A C
+22 31768610 22:31768610T-G T G
+22 31769775 22:31769775G-A G A
+22 31769879 22:31769879T-A T A
+22 31771182 22:31771182C-G C G
+22 31772554 22:31772554A-C A C
+22 31773573 22:31773573C-G C G
+22 31775982 22:31775982G-T G T
+22 31776246 22:31776246C-T C T
+22 31777473 22:31777473A-G A G
+22 31779567 22:31779567C-T C T
+22 31783781 22:31783781T-C T C
+22 31785969 22:31785969G-A G A
+22 31786776 22:31786776C-T C T
+22 31786961 22:31786961T-A T A
+22 31787472 22:31787472C-T C T
+22 31787595 22:31787595A-C A C
+22 31789669 22:31789669C-T C T
+22 31790014 22:31790014T-C T C
+22 31790193 22:31790193C-G C G
+22 31790289 22:31790289G-A G A
+22 31792292 22:31792292C-T C T
+22 31793302 22:31793302C-T C T
+22 31793490 22:31793490C-T C T
+22 31795769 22:31795769C-T C T
+22 31796563 22:31796563C-T C T
+22 31796897 22:31796897A-C A C
+22 31797318 22:31797318T-C T C
+22 31797459 22:31797459A-G A G
+22 31797815 22:31797815A-G A G
+22 31798259 22:31798259G-T G T
+22 31799448 22:31799448G-C G C
+22 31800336 22:31800336C-T C T
+22 31801664 22:31801664T-G T G
+22 31802228 22:31802228T-C T C
+22 31802324 22:31802324T-C T C
+22 31802710 22:31802710A-C A C
+22 31803541 22:31803541T-C T C
+22 31807375 22:31807375G-A G A
+22 31808080 22:31808080A-G A G
+22 31808524 22:31808524A-T A T
+22 31808827 22:31808827A-G A G
+22 31809152 22:31809152G-A G A
+22 31809366 22:31809366T-C T C
+22 31811876 22:31811876G-C G C
+22 31812462 22:31812462G-A G A
+22 31812853 22:31812853C-T C T
+22 31813084 22:31813084A-G A G
+22 31816737 22:31816737A-G A G
+22 31816742 22:31816742G-C G C
+22 31817921 22:31817921T-G T G
+22 31819142 22:31819142C-T C T
+22 31819212 22:31819212A-G A G
+22 31819755 22:31819755C-T C T
+22 31819928 22:31819928G-A G A
+22 31821479 22:31821479T-C T C
+22 31821719 22:31821719G-A G A
+22 31824259 22:31824259G-A G A
+22 31826150 22:31826150G-C G C
+22 31829500 22:31829500G-A G A
+22 31830351 22:31830351T-C T C
+22 31830421 22:31830421T-C T C
+22 31831017 22:31831017T-C T C
+22 31833759 22:31833759G-A G A
+22 31834939 22:31834939C-T C T
+22 31836378 22:31836378G-T G T
+22 31836486 22:31836486T-C T C
+22 31838085 22:31838085G-A G A
+22 31838518 22:31838518C-T C T
+22 31839950 22:31839950T-C T C
+22 31841091 22:31841091A-G A G
+22 31841749 22:31841749T-A T A
+22 31842090 22:31842090C-T C T
+22 31842554 22:31842554C-T C T
+22 31843567 22:31843567G-C G C
+22 31844270 22:31844270G-A G A
+22 31844293 22:31844293A-C A C
+22 31844373 22:31844373A-C A C
+22 31845149 22:31845149A-G A G
+22 31847647 22:31847647T-C T C
+22 31847850 22:31847850C-G C G
+22 31848944 22:31848944A-G A G
+22 31851453 22:31851453C-T C T
+22 31852486 22:31852486A-G A G
+22 31852489 22:31852489A-G A G
+22 31852635 22:31852635G-A G A
+22 31853225 22:31853225T-C T C
+22 31853371 22:31853371A-C A C
+22 31854370 22:31854370A-G A G
+22 31854846 22:31854846T-C T C
+22 31855475 22:31855475T-C T C
+22 31855954 22:31855954T-C T C
+22 31859859 22:31859859A-G A G
+22 31860322 22:31860322A-G A G
+22 31860641 22:31860641A-G A G
+22 31861846 22:31861846G-A G A
+22 31861950 22:31861950A-G A G
+22 31862276 22:31862276A-T A T
+22 31863022 22:31863022A-C A C
+22 31863097 22:31863097C-T C T
+22 31863125 22:31863125T-C T C
+22 31863789 22:31863789A-C A C
+22 31865683 22:31865683T-C T C
+22 31866781 22:31866781G-A G A
+22 31869467 22:31869467A-C A C
+22 31870400 22:31870400C-T C T
+22 31874764 22:31874764C-T C T
+22 31876466 22:31876466G-A G A
+22 31878581 22:31878581T-C T C
+22 31879241 22:31879241A-G A G
+22 31879465 22:31879465A-G A G
+22 31879675 22:31879675G-C G C
+22 31880749 22:31880749C-T C T
+22 31881169 22:31881169A-G A G
+22 31881733 22:31881733T-C T C
+22 31881829 22:31881829C-T C T
+22 31882181 22:31882181C-T C T
+22 31882214 22:31882214T-C T C
+22 31882785 22:31882785G-A G A
+22 31884033 22:31884033C-T C T
+22 31884405 22:31884405T-C T C
+22 31885980 22:31885980T-C T C
+22 31889547 22:31889547G-A G A
+22 31889566 22:31889566T-C T C
+22 31889844 22:31889844G-A G A
+22 31890577 22:31890577G-A G A
+22 31891628 22:31891628A-G A G
+22 31891784 22:31891784T-G T G
+22 31892121 22:31892121G-C G C
+22 31893613 22:31893613A-G A G
+22 31893731 22:31893731C-A C A
+22 31894237 22:31894237C-T C T
+22 31894310 22:31894310C-G C G
+22 31895274 22:31895274G-A G A
+22 31895940 22:31895940C-T C T
+22 31895987 22:31895987A-C A C
+22 31896172 22:31896172G-A G A
+22 31896232 22:31896232T-C T C
+22 31896309 22:31896309C-T C T
+22 31896594 22:31896594C-T C T
+22 31896825 22:31896825A-G A G
+22 31897188 22:31897188A-T A T
+22 31897571 22:31897571C-T C T
+22 31897795 22:31897795T-C T C
+22 31899797 22:31899797C-A C A
+22 31900359 22:31900359C-A C A
+22 31901195 22:31901195T-C T C
+22 31901393 22:31901393C-G C G
+22 31901789 22:31901789G-C G C
+22 31901867 22:31901867G-A G A
+22 31901970 22:31901970C-T C T
+22 31903072 22:31903072T-C T C
+22 31903155 22:31903155T-C T C
+22 31903376 22:31903376A-G A G
+22 31904170 22:31904170A-G A G
+22 31905703 22:31905703G-A G A
+22 31905819 22:31905819T-G T G
+22 31906456 22:31906456G-T G T
+22 31907427 22:31907427C-G C G
+22 31907523 22:31907523C-G C G
+22 31907985 22:31907985G-A G A
+22 31908025 22:31908025A-G A G
+22 31910355 22:31910355G-A G A
+22 31910734 22:31910734T-C T C
+22 31912119 22:31912119G-A G A
+22 31913271 22:31913271G-A G A
+22 31914399 22:31914399A-G A G
+22 31914697 22:31914697C-T C T
+22 31915817 22:31915817T-C T C
+22 31917415 22:31917415A-G A G
+22 31918673 22:31918673C-T C T
+22 31918816 22:31918816A-G A G
+22 31921968 22:31921968T-C T C
+22 31925073 22:31925073G-A G A
+22 31925984 22:31925984G-A G A
+22 31926725 22:31926725C-T C T
+22 31928890 22:31928890T-G T G
+22 31929432 22:31929432T-C T C
+22 31929480 22:31929480T-C T C
+22 31929654 22:31929654C-T C T
+22 31930567 22:31930567C-T C T
+22 31930813 22:31930813A-G A G
+22 31930972 22:31930972A-G A G
+22 31931666 22:31931666G-C G C
+22 31932107 22:31932107C-T C T
+22 31932212 22:31932212C-G C G
+22 31932895 22:31932895A-T A T
+22 31934413 22:31934413C-G C G
+22 31935347 22:31935347G-A G A
+22 31936764 22:31936764C-T C T
+22 31937414 22:31937414C-T C T
+22 31937476 22:31937476C-T C T
+22 31939612 22:31939612G-A G A
+22 31939973 22:31939973A-G A G
+22 31941032 22:31941032C-T C T
+22 31942233 22:31942233T-G T G
+22 31942770 22:31942770G-A G A
+22 31943676 22:31943676A-G A G
+22 31944024 22:31944024C-T C T
+22 31947948 22:31947948G-A G A
+22 31948890 22:31948890G-A G A
+22 31949333 22:31949333T-C T C
+22 31949800 22:31949800T-A T A
+22 31950005 22:31950005C-T C T
+22 31950451 22:31950451C-T C T
+22 31952045 22:31952045A-G A G
+22 31953962 22:31953962T-C T C
+22 31956810 22:31956810C-G C G
+22 31956981 22:31956981A-G A G
+22 31957065 22:31957065G-A G A
+22 31957077 22:31957077A-G A G
+22 31957683 22:31957683G-A G A
+22 31957752 22:31957752G-A G A
+22 31958218 22:31958218G-A G A
+22 31959196 22:31959196T-C T C
+22 31960170 22:31960170G-A G A
+22 31961713 22:31961713G-A G A
+22 31962076 22:31962076G-A G A
+22 31964975 22:31964975A-C A C
+22 31965196 22:31965196A-C A C
+22 31965401 22:31965401A-G A G
+22 31966274 22:31966274T-C T C
+22 31966313 22:31966313A-C A C
+22 31967062 22:31967062A-G A G
+22 31967555 22:31967555G-C G C
+22 31967705 22:31967705T-C T C
+22 31967775 22:31967775A-G A G
+22 31970054 22:31970054T-G T G
+22 31971282 22:31971282T-C T C
+22 31972075 22:31972075A-G A G
+22 31973124 22:31973124A-G A G
+22 31975347 22:31975347C-G C G
+22 31976235 22:31976235A-G A G
+22 31976299 22:31976299T-C T C
+22 31976999 22:31976999T-G T G
+22 31977594 22:31977594G-A G A
+22 31977755 22:31977755G-A G A
+22 31977874 22:31977874T-C T C
+22 31978331 22:31978331G-A G A
+22 31978675 22:31978675C-T C T
+22 31980134 22:31980134G-T G T
+22 31981916 22:31981916C-T C T
+22 31982241 22:31982241C-G C G
+22 31983760 22:31983760G-A G A
+22 31984476 22:31984476G-T G T
+22 31984827 22:31984827A-G A G
+22 31984933 22:31984933T-C T C
+22 31990579 22:31990579T-C T C
+22 31990675 22:31990675G-A G A
+22 31990930 22:31990930G-T G T
+22 31991001 22:31991001G-A G A
+22 31992151 22:31992151A-G A G
+22 31992227 22:31992227G-A G A
+22 31992249 22:31992249A-C A C
+22 31992376 22:31992376A-G A G
+22 31992574 22:31992574G-C G C
+22 31992645 22:31992645C-T C T
+22 31993382 22:31993382T-G T G
+22 31993652 22:31993652T-G T G
+22 31994406 22:31994406C-A C A
+22 31995344 22:31995344A-G A G
+22 31996625 22:31996625A-C A C
+22 31998612 22:31998612G-A G A
+22 31998808 22:31998808A-C A C
+22 31999127 22:31999127G-A G A
+22 31999195 22:31999195T-G T G
+22 31999200 22:31999200C-T C T
+22 31999223 22:31999223G-A G A
+22 31999476 22:31999476C-T C T
+22 32001037 22:32001037C-T C T
+22 32001050 22:32001050G-A G A
+22 32001835 22:32001835C-A C A
+22 32002294 22:32002294T-C T C
+22 32003035 22:32003035C-A C A
+22 32003418 22:32003418G-A G A
+22 32003651 22:32003651A-G A G
+22 32004588 22:32004588G-A G A
+22 32005594 22:32005594C-T C T
+22 32006408 22:32006408T-C T C
+22 32007863 22:32007863C-T C T
+22 32008039 22:32008039A-G A G
+22 32010042 22:32010042A-G A G
+22 32011225 22:32011225T-C T C
+22 32011929 22:32011929T-C T C
+22 32012634 22:32012634C-T C T
+22 32012658 22:32012658A-G A G
+22 32013265 22:32013265A-G A G
+22 32013365 22:32013365G-A G A
+22 32013381 22:32013381C-T C T
+22 32013442 22:32013442C-T C T
+22 32013459 22:32013459C-T C T
+22 32013505 22:32013505A-G A G
+22 32013745 22:32013745T-C T C
+22 32014250 22:32014250G-A G A
+22 32014719 22:32014719C-T C T
+22 32015162 22:32015162C-T C T
+22 32015406 22:32015406T-C T C
+22 32015450 22:32015450T-G T G
+22 32016092 22:32016092A-G A G
+22 32016159 22:32016159G-A G A
+22 32017296 22:32017296A-G A G
+22 32020413 22:32020413G-A G A
+22 32020644 22:32020644C-G C G
+22 32020745 22:32020745G-A G A
+22 32021836 22:32021836C-T C T
+22 32022709 22:32022709A-G A G
+22 32022848 22:32022848T-G T G
+22 32023009 22:32023009T-C T C
+22 32024980 22:32024980A-G A G
+22 32025318 22:32025318A-G A G
+22 32025560 22:32025560G-A G A
+22 32025570 22:32025570G-T G T
+22 32025913 22:32025913T-C T C
+22 32026131 22:32026131C-T C T
+22 32026924 22:32026924G-T G T
+22 32026925 22:32026925C-T C T
+22 32026961 22:32026961C-A C A
+22 32027449 22:32027449G-A G A
+22 32027876 22:32027876G-A G A
+22 32027922 22:32027922A-G A G
+22 32027990 22:32027990T-C T C
+22 32028721 22:32028721A-C A C
+22 32029126 22:32029126G-A G A
+22 32029658 22:32029658A-G A G
+22 32030587 22:32030587G-A G A
+22 32030693 22:32030693G-A G A
+22 32030748 22:32030748T-C T C
+22 32032040 22:32032040C-G C G
+22 32032278 22:32032278T-A T A
+22 32032548 22:32032548T-C T C
+22 32034475 22:32034475C-T C T
+22 32034875 22:32034875A-G A G
+22 32035250 22:32035250T-C T C
+22 32035518 22:32035518G-A G A
+22 32036332 22:32036332T-C T C
+22 32037530 22:32037530C-T C T
+22 32038826 22:32038826C-T C T
+22 32039311 22:32039311G-A G A
+22 32039851 22:32039851G-A G A
+22 32040382 22:32040382T-C T C
+22 32041055 22:32041055C-T C T
+22 32041644 22:32041644A-G A G
+22 32042345 22:32042345G-C G C
+22 32042732 22:32042732A-G A G
+22 32043611 22:32043611A-G A G
+22 32043630 22:32043630G-A G A
+22 32043835 22:32043835A-G A G
+22 32044479 22:32044479G-A G A
+22 32045449 22:32045449G-A G A
+22 32046022 22:32046022G-A G A
+22 32047110 22:32047110T-C T C
+22 32047398 22:32047398A-G A G
+22 32047941 22:32047941G-A G A
+22 32048374 22:32048374G-T G T
+22 32048614 22:32048614G-A G A
+22 32048655 22:32048655C-T C T
+22 32049299 22:32049299C-T C T
+22 32049917 22:32049917T-C T C
+22 32051657 22:32051657G-A G A
+22 32052599 22:32052599A-G A G
+22 32052706 22:32052706C-T C T
+22 32052850 22:32052850C-T C T
+22 32053199 22:32053199C-T C T
+22 32054026 22:32054026A-C A C
+22 32054266 22:32054266T-G T G
+22 32054415 22:32054415C-T C T
+22 32057501 22:32057501G-T G T
+22 32063112 22:32063112A-T A T
+22 32065807 22:32065807G-A G A
+22 32066411 22:32066411T-C T C
+22 32067158 22:32067158C-T C T
+22 32068917 22:32068917G-A G A
+22 32069186 22:32069186A-T A T
+22 32069414 22:32069414G-C G C
+22 32069433 22:32069433G-A G A
+22 32070158 22:32070158A-G A G
+22 32070637 22:32070637G-C G C
+22 32070751 22:32070751A-G A G
+22 32070912 22:32070912A-G A G
+22 32071017 22:32071017G-A G A
+22 32071119 22:32071119A-T A T
+22 32071195 22:32071195G-A G A
+22 32074392 22:32074392T-C T C
+22 32074477 22:32074477T-C T C
+22 32074562 22:32074562C-T C T
+22 32074719 22:32074719C-T C T
+22 32074897 22:32074897G-C G C
+22 32075539 22:32075539C-T C T
+22 32075631 22:32075631C-T C T
+22 32075899 22:32075899C-T C T
+22 32076919 22:32076919G-A G A
+22 32076955 22:32076955A-C A C
+22 32079303 22:32079303T-C T C
+22 32079447 22:32079447C-A C A
+22 32080244 22:32080244G-A G A
+22 32081929 22:32081929T-C T C
+22 32082154 22:32082154C-T C T
+22 32082345 22:32082345C-T C T
+22 32082427 22:32082427G-A G A
+22 32083533 22:32083533G-T G T
+22 32083756 22:32083756G-A G A
+22 32084334 22:32084334A-C A C
+22 32084552 22:32084552A-G A G
+22 32085465 22:32085465C-A C A
+22 32086369 22:32086369C-T C T
+22 32086444 22:32086444T-C T C
+22 32087698 22:32087698G-A G A
+22 32092526 22:32092526C-T C T
+22 32092981 22:32092981A-T A T
+22 32093181 22:32093181G-A G A
+22 32095147 22:32095147C-T C T
+22 32095499 22:32095499G-C G C
+22 32097775 22:32097775T-C T C
+22 32100550 22:32100550C-T C T
+22 32100857 22:32100857C-T C T
+22 32104168 22:32104168G-C G C
+22 32104311 22:32104311T-C T C
+22 32104464 22:32104464C-T C T
+22 32104667 22:32104667T-C T C
+22 32105841 22:32105841G-A G A
+22 32106004 22:32106004G-A G A
+22 32106702 22:32106702A-G A G
+22 32108824 22:32108824T-A T A
+22 32110163 22:32110163G-A G A
+22 32110943 22:32110943G-A G A
+22 32112461 22:32112461T-C T C
+22 32113849 22:32113849A-G A G
+22 32114843 22:32114843C-T C T
+22 32115569 22:32115569G-T G T
+22 32115650 22:32115650G-C G C
+22 32115969 22:32115969G-A G A
+22 32116383 22:32116383G-A G A
+22 32117100 22:32117100C-A C A
+22 32118235 22:32118235G-A G A
+22 32120028 22:32120028T-C T C
+22 32120373 22:32120373G-A G A
+22 32121626 22:32121626G-C G C
+22 32123696 22:32123696A-G A G
+22 32124470 22:32124470G-A G A
+22 32124778 22:32124778C-T C T
+22 32126363 22:32126363A-G A G
+22 32126563 22:32126563T-C T C
+22 32126763 22:32126763T-C T C
+22 32128271 22:32128271G-A G A
+22 32129456 22:32129456G-A G A
+22 32129499 22:32129499C-G C G
+22 32129550 22:32129550C-T C T
+22 32129603 22:32129603A-G A G
+22 32129611 22:32129611C-A C A
+22 32130249 22:32130249A-G A G
+22 32130277 22:32130277T-C T C
+22 32130682 22:32130682C-G C G
+22 32131022 22:32131022T-G T G
+22 32131610 22:32131610T-C T C
+22 32131933 22:32131933G-A G A
+22 32132576 22:32132576C-T C T
+22 32133194 22:32133194C-G C G
+22 32133843 22:32133843A-G A G
+22 32134214 22:32134214A-C A C
+22 32135812 22:32135812G-A G A
+22 32136380 22:32136380A-G A G
+22 32136966 22:32136966A-G A G
+22 32137067 22:32137067A-G A G
+22 32137206 22:32137206T-C T C
+22 32137456 22:32137456A-T A T
+22 32140230 22:32140230C-T C T
+22 32140379 22:32140379A-G A G
+22 32140934 22:32140934C-A C A
+22 32141188 22:32141188C-G C G
+22 32143243 22:32143243T-C T C
+22 32144492 22:32144492C-G C G
+22 32144879 22:32144879C-T C T
+22 32147371 22:32147371T-C T C
+22 32147962 22:32147962A-T A T
+22 32151214 22:32151214A-G A G
+22 32151704 22:32151704T-C T C
+22 32153842 22:32153842C-T C T
+22 32154922 22:32154922T-C T C
+22 32155341 22:32155341G-T G T
+22 32155445 22:32155445T-C T C
+22 32158421 22:32158421C-G C G
+22 32158618 22:32158618G-A G A
+22 32159137 22:32159137T-C T C
+22 32160627 22:32160627G-C G C
+22 32161092 22:32161092C-T C T
+22 32161345 22:32161345G-A G A
+22 32161549 22:32161549C-A C A
+22 32161784 22:32161784G-A G A
+22 32163367 22:32163367G-T G T
+22 32165032 22:32165032G-T G T
+22 32165326 22:32165326G-A G A
+22 32165508 22:32165508A-C A C
+22 32166346 22:32166346A-C A C
+22 32167271 22:32167271G-A G A
+22 32168258 22:32168258A-G A G
+22 32170124 22:32170124G-A G A
+22 32170898 22:32170898G-T G T
+22 32172367 22:32172367T-C T C
+22 32172980 22:32172980G-A G A
+22 32173053 22:32173053G-A G A
+22 32173367 22:32173367G-A G A
+22 32176319 22:32176319G-A G A
+22 32176825 22:32176825C-A C A
+22 32177518 22:32177518A-G A G
+22 32177821 22:32177821G-T G T
+22 32178402 22:32178402T-C T C
+22 32181259 22:32181259C-A C A
+22 32181937 22:32181937G-A G A
+22 32182708 22:32182708A-T A T
+22 32185429 22:32185429A-G A G
+22 32186768 22:32186768C-T C T
+22 32187380 22:32187380T-C T C
+22 32187549 22:32187549G-A G A
+22 32187867 22:32187867A-C A C
+22 32189914 22:32189914C-G C G
+22 32191591 22:32191591G-T G T
+22 32192235 22:32192235T-C T C
+22 32193229 22:32193229T-C T C
+22 32196181 22:32196181G-T G T
+22 32198862 22:32198862C-T C T
+22 32199400 22:32199400G-A G A
+22 32200403 22:32200403G-A G A
+22 32202879 22:32202879T-C T C
+22 32203321 22:32203321T-C T C
+22 32203895 22:32203895G-T G T
+22 32204634 22:32204634C-T C T
+22 32205234 22:32205234A-G A G
+22 32205632 22:32205632A-C A C
+22 32205703 22:32205703C-T C T
+22 32205834 22:32205834G-C G C
+22 32205967 22:32205967C-G C G
+22 32207203 22:32207203G-A G A
+22 32208265 22:32208265C-A C A
+22 32208504 22:32208504A-G A G
+22 32209191 22:32209191G-C G C
+22 32210300 22:32210300G-A G A
+22 32210763 22:32210763T-C T C
+22 32211412 22:32211412A-C A C
+22 32211450 22:32211450G-A G A
+22 32213252 22:32213252T-C T C
+22 32216139 22:32216139G-C G C
+22 32217162 22:32217162C-T C T
+22 32219628 22:32219628G-A G A
+22 32220629 22:32220629C-T C T
+22 32220680 22:32220680A-G A G
+22 32222476 22:32222476C-G C G
+22 32224673 22:32224673G-A G A
+22 32224804 22:32224804G-A G A
+22 32227930 22:32227930T-C T C
+22 32228151 22:32228151T-A T A
+22 32229649 22:32229649G-A G A
+22 32229977 22:32229977G-A G A
+22 32230185 22:32230185G-A G A
+22 32230348 22:32230348G-T G T
+22 32230647 22:32230647C-A C A
+22 32230751 22:32230751G-A G A
+22 32230916 22:32230916G-A G A
+22 32236149 22:32236149C-T C T
+22 32238336 22:32238336T-C T C
+22 32240127 22:32240127G-A G A
+22 32240226 22:32240226A-T A T
+22 32240229 22:32240229A-T A T
+22 32241947 22:32241947G-C G C
+22 32244240 22:32244240G-A G A
+22 32245609 22:32245609A-G A G
+22 32246924 22:32246924C-A C A
+22 32247002 22:32247002C-T C T
+22 32248244 22:32248244T-C T C
+22 32248370 22:32248370A-G A G
+22 32250725 22:32250725A-G A G
+22 32250864 22:32250864G-A G A
+22 32251449 22:32251449G-A G A
+22 32252434 22:32252434A-G A G
+22 32254057 22:32254057A-G A G
+22 32254863 22:32254863G-A G A
+22 32254971 22:32254971C-T C T
+22 32255276 22:32255276A-T A T
+22 32255802 22:32255802G-A G A
+22 32258167 22:32258167G-A G A
+22 32258289 22:32258289G-A G A
+22 32259855 22:32259855G-A G A
+22 32260815 22:32260815C-T C T
+22 32260840 22:32260840A-T A T
+22 32262530 22:32262530C-A C A
+22 32263131 22:32263131C-T C T
+22 32263162 22:32263162T-C T C
+22 32263595 22:32263595A-G A G
+22 32263837 22:32263837C-G C G
+22 32264531 22:32264531C-T C T
+22 32265759 22:32265759G-A G A
+22 32265903 22:32265903T-G T G
+22 32266157 22:32266157A-T A T
+22 32266546 22:32266546A-T A T
+22 32267042 22:32267042A-G A G
+22 32268400 22:32268400A-G A G
+22 32269699 22:32269699A-G A G
+22 32269711 22:32269711C-T C T
+22 32271932 22:32271932C-T C T
+22 32272658 22:32272658G-A G A
+22 32272730 22:32272730G-T G T
+22 32273159 22:32273159C-T C T
+22 32273476 22:32273476G-A G A
+22 32275353 22:32275353T-C T C
+22 32275789 22:32275789G-A G A
+22 32275852 22:32275852G-A G A
+22 32275942 22:32275942C-T C T
+22 32277189 22:32277189G-T G T
+22 32277863 22:32277863C-G C G
+22 32280610 22:32280610C-T C T
+22 32281478 22:32281478G-A G A
+22 32281568 22:32281568A-G A G
+22 32281596 22:32281596A-G A G
+22 32282047 22:32282047C-G C G
+22 32282716 22:32282716C-T C T
+22 32284677 22:32284677G-A G A
+22 32285303 22:32285303T-G T G
+22 32286367 22:32286367C-T C T
+22 32287788 22:32287788C-G C G
+22 32287867 22:32287867C-G C G
+22 32288455 22:32288455C-T C T
+22 32288524 22:32288524G-A G A
+22 32289919 22:32289919A-G A G
+22 32291244 22:32291244C-A C A
+22 32291866 22:32291866G-A G A
+22 32292880 22:32292880G-A G A
+22 32293076 22:32293076C-T C T
+22 32294957 22:32294957A-C A C
+22 32296000 22:32296000G-A G A
+22 32296490 22:32296490C-T C T
+22 32296618 22:32296618G-A G A
+22 32296943 22:32296943T-C T C
+22 32296997 22:32296997C-T C T
+22 32297296 22:32297296T-C T C
+22 32297322 22:32297322G-A G A
+22 32298427 22:32298427T-C T C
+22 32301770 22:32301770G-A G A
+22 32302730 22:32302730C-T C T
+22 32303334 22:32303334C-T C T
+22 32303490 22:32303490C-T C T
+22 32303780 22:32303780G-A G A
+22 32304179 22:32304179T-A T A
+22 32305971 22:32305971T-C T C
+22 32306620 22:32306620A-G A G
+22 32307183 22:32307183C-T C T
+22 32308736 22:32308736G-C G C
+22 32309241 22:32309241T-C T C
+22 32311619 22:32311619A-G A G
+22 32312842 22:32312842T-C T C
+22 32313727 22:32313727G-A G A
+22 32313933 22:32313933C-T C T
+22 32315089 22:32315089G-C G C
+22 32315735 22:32315735C-T C T
+22 32316947 22:32316947A-G A G
+22 32318093 22:32318093G-A G A
+22 32318631 22:32318631A-G A G
+22 32321670 22:32321670G-A G A
+22 32322384 22:32322384T-C T C
+22 32322414 22:32322414A-C A C
+22 32322536 22:32322536G-T G T
+22 32323511 22:32323511T-G T G
+22 32324030 22:32324030A-G A G
+22 32324140 22:32324140C-T C T
+22 32325460 22:32325460G-A G A
+22 32325582 22:32325582A-G A G
+22 32326021 22:32326021C-T C T
+22 32326238 22:32326238G-A G A
+22 32326387 22:32326387T-G T G
+22 32327794 22:32327794A-G A G
+22 32328749 22:32328749A-G A G
+22 32329263 22:32329263A-G A G
+22 32329293 22:32329293G-A G A
+22 32331594 22:32331594A-G A G
+22 32331686 22:32331686A-G A G
+22 32331836 22:32331836T-C T C
+22 32332118 22:32332118A-C A C
+22 32333063 22:32333063A-T A T
+22 32333783 22:32333783G-C G C
+22 32334021 22:32334021T-A T A
+22 32334203 22:32334203C-T C T
+22 32334229 22:32334229A-C A C
+22 32334295 22:32334295C-G C G
+22 32334601 22:32334601C-G C G
+22 32334626 22:32334626G-A G A
+22 32334686 22:32334686G-A G A
+22 32334739 22:32334739G-A G A
+22 32335416 22:32335416G-A G A
+22 32335594 22:32335594G-A G A
+22 32335786 22:32335786C-A C A
+22 32336218 22:32336218A-C A C
+22 32336264 22:32336264T-C T C
+22 32336471 22:32336471T-C T C
+22 32336956 22:32336956T-C T C
+22 32337262 22:32337262G-A G A
+22 32338005 22:32338005A-C A C
+22 32338176 22:32338176A-G A G
+22 32338186 22:32338186T-C T C
+22 32339185 22:32339185A-G A G
+22 32339213 22:32339213T-C T C
+22 32340335 22:32340335T-C T C
+22 32341092 22:32341092A-G A G
+22 32341141 22:32341141T-C T C
+22 32341669 22:32341669A-G A G
+22 32341684 22:32341684C-T C T
+22 32341790 22:32341790C-T C T
+22 32341957 22:32341957A-G A G
+22 32342976 22:32342976G-A G A
+22 32343847 22:32343847T-C T C
+22 32344403 22:32344403T-C T C
+22 32344780 22:32344780T-C T C
+22 32345294 22:32345294C-G C G
+22 32345733 22:32345733A-G A G
+22 32346468 22:32346468G-A G A
+22 32347308 22:32347308T-C T C
+22 32347771 22:32347771A-C A C
+22 32348239 22:32348239G-A G A
+22 32348313 22:32348313T-C T C
+22 32348513 22:32348513A-G A G
+22 32348841 22:32348841C-T C T
+22 32349063 22:32349063T-C T C
+22 32349543 22:32349543C-T C T
+22 32349612 22:32349612C-T C T
+22 32350683 22:32350683C-T C T
+22 32351105 22:32351105C-G C G
+22 32352791 22:32352791G-A G A
+22 32353894 22:32353894G-T G T
+22 32354512 22:32354512C-T C T
+22 32354621 22:32354621T-C T C
+22 32355011 22:32355011C-G C G
+22 32355076 22:32355076A-T A T
+22 32355455 22:32355455T-C T C
+22 32356150 22:32356150T-G T G
+22 32356474 22:32356474A-T A T
+22 32358082 22:32358082C-T C T
+22 32358441 22:32358441A-G A G
+22 32358473 22:32358473C-T C T
+22 32358588 22:32358588A-G A G
+22 32359684 22:32359684G-A G A
+22 32360202 22:32360202G-C G C
+22 32361070 22:32361070T-A T A
+22 32361071 22:32361071T-A T A
+22 32361213 22:32361213T-C T C
+22 32361535 22:32361535C-G C G
+22 32361619 22:32361619C-T C T
+22 32362000 22:32362000G-T G T
+22 32362064 22:32362064G-A G A
+22 32362687 22:32362687C-T C T
+22 32362709 22:32362709G-A G A
+22 32363354 22:32363354A-G A G
+22 32363644 22:32363644A-G A G
+22 32363761 22:32363761C-T C T
+22 32363825 22:32363825C-T C T
+22 32363965 22:32363965T-C T C
+22 32364013 22:32364013C-G C G
+22 32364397 22:32364397C-G C G
+22 32364401 22:32364401A-T A T
+22 32364661 22:32364661T-C T C
+22 32364809 22:32364809C-A C A
+22 32364894 22:32364894T-C T C
+22 32365190 22:32365190A-T A T
+22 32365433 22:32365433C-T C T
+22 32365685 22:32365685G-C G C
+22 32365719 22:32365719G-T G T
+22 32365973 22:32365973T-G T G
+22 32366359 22:32366359C-T C T
+22 32366415 22:32366415C-T C T
+22 32366491 22:32366491G-T G T
+22 32366632 22:32366632G-A G A
+22 32367505 22:32367505T-G T G
+22 32367511 22:32367511C-G C G
+22 32367895 22:32367895C-T C T
+22 32368167 22:32368167G-A G A
+22 32368343 22:32368343G-A G A
+22 32368864 22:32368864A-G A G
+22 32368893 22:32368893C-G C G
+22 32368918 22:32368918C-A C A
+22 32369435 22:32369435C-T C T
+22 32369667 22:32369667G-A G A
+22 32369804 22:32369804G-A G A
+22 32370060 22:32370060A-G A G
+22 32370487 22:32370487G-A G A
+22 32370628 22:32370628A-G A G
+22 32371395 22:32371395G-A G A
+22 32371492 22:32371492G-A G A
+22 32372269 22:32372269T-C T C
+22 32372903 22:32372903A-G A G
+22 32372975 22:32372975T-C T C
+22 32373195 22:32373195A-G A G
+22 32373225 22:32373225T-C T C
+22 32373437 22:32373437A-G A G
+22 32373584 22:32373584A-G A G
+22 32373653 22:32373653A-C A C
+22 32374314 22:32374314C-A C A
+22 32374532 22:32374532A-G A G
+22 32375120 22:32375120C-T C T
+22 32375127 22:32375127T-C T C
+22 32375646 22:32375646A-G A G
+22 32376250 22:32376250T-G T G
+22 32376308 22:32376308G-T G T
+22 32377324 22:32377324A-G A G
+22 32377455 22:32377455A-G A G
+22 32377614 22:32377614G-A G A
+22 32378134 22:32378134C-T C T
+22 32378359 22:32378359G-T G T
+22 32378613 22:32378613A-G A G
+22 32379059 22:32379059T-A T A
+22 32379396 22:32379396G-A G A
+22 32379444 22:32379444G-A G A
+22 32379966 22:32379966T-C T C
+22 32380164 22:32380164C-G C G
+22 32380494 22:32380494G-A G A
+22 32380919 22:32380919C-G C G
+22 32380975 22:32380975G-C G C
+22 32381128 22:32381128C-T C T
+22 32381222 22:32381222G-A G A
+22 32381234 22:32381234T-G T G
+22 32381272 22:32381272G-C G C
+22 32381750 22:32381750T-C T C
+22 32381973 22:32381973G-A G A
+22 32382145 22:32382145T-C T C
+22 32382309 22:32382309G-T G T
+22 32382893 22:32382893C-T C T
+22 32382932 22:32382932T-C T C
+22 32383153 22:32383153G-A G A
+22 32383158 22:32383158G-T G T
+22 32383419 22:32383419T-G T G
+22 32383968 22:32383968C-T C T
+22 32384307 22:32384307C-T C T
+22 32384918 22:32384918T-C T C
+22 32385298 22:32385298A-G A G
+22 32385890 22:32385890T-C T C
+22 32386313 22:32386313G-C G C
+22 32387270 22:32387270C-T C T
+22 32387536 22:32387536C-T C T
+22 32387572 22:32387572C-T C T
+22 32387606 22:32387606C-T C T
+22 32387907 22:32387907T-C T C
+22 32387954 22:32387954G-A G A
+22 32387971 22:32387971T-G T G
+22 32387985 22:32387985A-G A G
+22 32388224 22:32388224A-C A C
+22 32388773 22:32388773C-G C G
+22 32388810 22:32388810G-A G A
+22 32389821 22:32389821C-T C T
+22 32390013 22:32390013C-A C A
+22 32390134 22:32390134G-A G A
+22 32390135 22:32390135T-C T C
+22 32390280 22:32390280C-T C T
+22 32390956 22:32390956A-G A G
+22 32391350 22:32391350A-G A G
+22 32391388 22:32391388G-A G A
+22 32391510 22:32391510T-C T C
+22 32391904 22:32391904A-G A G
+22 32392177 22:32392177A-T A T
+22 32392262 22:32392262G-A G A
+22 32392350 22:32392350T-C T C
+22 32392437 22:32392437T-C T C
+22 32392612 22:32392612G-C G C
+22 32393236 22:32393236G-A G A
+22 32393436 22:32393436C-T C T
+22 32393577 22:32393577C-A C A
+22 32394259 22:32394259A-G A G
+22 32394449 22:32394449C-T C T
+22 32394519 22:32394519C-T C T
+22 32394890 22:32394890G-C G C
+22 32395329 22:32395329T-C T C
+22 32395467 22:32395467A-C A C
+22 32396346 22:32396346T-G T G
+22 32396954 22:32396954A-G A G
+22 32397610 22:32397610A-T A T
+22 32397879 22:32397879T-C T C
+22 32398149 22:32398149T-C T C
+22 32398185 22:32398185A-T A T
+22 32398639 22:32398639A-G A G
+22 32398992 22:32398992G-A G A
+22 32399226 22:32399226C-G C G
+22 32399262 22:32399262T-C T C
+22 32399390 22:32399390A-G A G
+22 32400579 22:32400579C-T C T
+22 32400725 22:32400725T-G T G
+22 32400975 22:32400975T-C T C
+22 32401495 22:32401495G-A G A
+22 32401957 22:32401957C-T C T
+22 32402549 22:32402549G-A G A
+22 32402598 22:32402598T-C T C
+22 32403318 22:32403318G-A G A
+22 32403523 22:32403523A-G A G
+22 32403780 22:32403780C-G C G
+22 32404361 22:32404361C-T C T
+22 32404536 22:32404536C-T C T
+22 32405055 22:32405055T-C T C
+22 32405578 22:32405578A-G A G
+22 32406333 22:32406333G-A G A
+22 32406424 22:32406424G-A G A
+22 32406612 22:32406612A-G A G
+22 32406766 22:32406766G-C G C
+22 32406941 22:32406941A-T A T
+22 32407021 22:32407021A-G A G
+22 32407944 22:32407944C-A C A
+22 32408491 22:32408491C-T C T
+22 32409003 22:32409003C-T C T
+22 32409070 22:32409070C-A C A
+22 32409269 22:32409269T-C T C
+22 32409893 22:32409893C-G C G
+22 32410101 22:32410101C-A C A
+22 32410358 22:32410358A-C A C
+22 32410786 22:32410786G-C G C
+22 32411660 22:32411660C-T C T
+22 32411817 22:32411817T-C T C
+22 32412186 22:32412186C-A C A
+22 32412406 22:32412406A-G A G
+22 32412569 22:32412569A-G A G
+22 32412576 22:32412576T-C T C
+22 32412642 22:32412642A-G A G
+22 32413050 22:32413050C-G C G
+22 32413239 22:32413239G-C G C
+22 32413280 22:32413280C-T C T
+22 32413324 22:32413324C-A C A
+22 32413371 22:32413371C-T C T
+22 32413385 22:32413385C-A C A
+22 32413524 22:32413524G-C G C
+22 32413527 22:32413527C-T C T
+22 32413653 22:32413653A-T A T
+22 32413707 22:32413707G-C G C
+22 32413767 22:32413767T-C T C
+22 32413768 22:32413768G-A G A
+22 32413863 22:32413863G-T G T
+22 32414089 22:32414089G-C G C
+22 32414129 22:32414129A-G A G
+22 32414170 22:32414170T-C T C
+22 32414335 22:32414335A-G A G
+22 32414413 22:32414413G-C G C
+22 32414501 22:32414501C-T C T
+22 32415063 22:32415063A-G A G
+22 32415163 22:32415163T-C T C
+22 32415212 22:32415212C-G C G
+22 32415651 22:32415651A-G A G
+22 32415867 22:32415867G-A G A
+22 32415980 22:32415980C-A C A
+22 32416228 22:32416228G-A G A
+22 32416688 22:32416688A-C A C
+22 32416692 22:32416692A-G A G
+22 32416892 22:32416892C-T C T
+22 32417247 22:32417247A-G A G
+22 32417569 22:32417569C-T C T
+22 32417582 22:32417582G-A G A
+22 32417612 22:32417612T-A T A
+22 32417939 22:32417939A-G A G
+22 32418552 22:32418552G-A G A
+22 32419164 22:32419164C-A C A
+22 32419975 22:32419975C-T C T
+22 32420212 22:32420212T-C T C
+22 32421224 22:32421224G-A G A
+22 32421694 22:32421694T-C T C
+22 32421806 22:32421806A-G A G
+22 32422167 22:32422167A-G A G
+22 32422267 22:32422267C-T C T
+22 32422747 22:32422747C-T C T
+22 32424480 22:32424480A-G A G
+22 32424611 22:32424611T-C T C
+22 32424794 22:32424794T-C T C
+22 32425834 22:32425834A-G A G
+22 32425982 22:32425982T-C T C
+22 32426433 22:32426433C-G C G
+22 32427773 22:32427773C-G C G
+22 32428221 22:32428221T-C T C
+22 32428280 22:32428280A-T A T
+22 32428445 22:32428445A-G A G
+22 32428558 22:32428558G-A G A
+22 32428818 22:32428818G-A G A
+22 32430097 22:32430097G-C G C
+22 32432646 22:32432646C-T C T
+22 32433155 22:32433155A-T A T
+22 32433269 22:32433269A-C A C
+22 32433824 22:32433824G-A G A
+22 32433889 22:32433889G-A G A
+22 32433947 22:32433947A-G A G
+22 32434795 22:32434795C-G C G
+22 32434968 22:32434968T-C T C
+22 32435409 22:32435409G-C G C
+22 32435511 22:32435511G-A G A
+22 32436213 22:32436213T-C T C
+22 32437340 22:32437340G-A G A
+22 32437950 22:32437950G-C G C
+22 32438225 22:32438225T-C T C
+22 32438354 22:32438354T-G T G
+22 32439681 22:32439681C-T C T
+22 32441396 22:32441396A-G A G
+22 32441850 22:32441850A-C A C
+22 32441956 22:32441956T-A T A
+22 32442074 22:32442074G-A G A
+22 32442531 22:32442531G-C G C
+22 32442742 22:32442742A-G A G
+22 32442776 22:32442776A-G A G
+22 32443590 22:32443590T-C T C
+22 32443907 22:32443907G-A G A
+22 32443936 22:32443936T-A T A
+22 32444217 22:32444217A-G A G
+22 32444885 22:32444885A-C A C
+22 32445022 22:32445022C-T C T
+22 32445218 22:32445218A-C A C
+22 32445946 22:32445946A-G A G
+22 32446805 22:32446805G-A G A
+22 32447147 22:32447147A-C A C
+22 32447582 22:32447582A-G A G
+22 32447811 22:32447811T-C T C
+22 32449042 22:32449042C-G C G
+22 32449078 22:32449078C-A C A
+22 32449283 22:32449283A-G A G
+22 32449959 22:32449959A-G A G
+22 32449986 22:32449986C-A C A
+22 32450114 22:32450114C-T C T
+22 32450245 22:32450245G-T G T
+22 32450362 22:32450362C-T C T
+22 32451830 22:32451830A-G A G
+22 32452744 22:32452744T-C T C
+22 32452759 22:32452759A-G A G
+22 32452970 22:32452970T-C T C
+22 32453504 22:32453504T-C T C
+22 32454080 22:32454080T-C T C
+22 32455812 22:32455812G-A G A
+22 32455857 22:32455857T-C T C
+22 32456717 22:32456717T-C T C
+22 32456881 22:32456881G-A G A
+22 32457049 22:32457049T-G T G
+22 32458252 22:32458252A-C A C
+22 32458353 22:32458353T-C T C
+22 32458536 22:32458536G-T G T
+22 32458608 22:32458608C-A C A
+22 32458612 22:32458612G-A G A
+22 32458789 22:32458789T-C T C
+22 32458861 22:32458861C-T C T
+22 32459217 22:32459217C-T C T
+22 32459451 22:32459451A-G A G
+22 32459673 22:32459673T-C T C
+22 32459994 22:32459994A-G A G
+22 32460255 22:32460255G-A G A
+22 32460482 22:32460482T-C T C
+22 32460707 22:32460707C-T C T
+22 32460767 22:32460767C-T C T
+22 32461141 22:32461141T-C T C
+22 32461465 22:32461465C-A C A
+22 32461489 22:32461489T-C T C
+22 32461891 22:32461891A-T A T
+22 32462167 22:32462167C-G C G
+22 32462505 22:32462505G-A G A
+22 32462564 22:32462564T-C T C
+22 32463135 22:32463135C-G C G
+22 32463610 22:32463610G-A G A
+22 32463875 22:32463875G-A G A
+22 32464980 22:32464980T-C T C
+22 32465025 22:32465025G-A G A
+22 32466012 22:32466012T-C T C
+22 32466661 22:32466661G-A G A
+22 32467294 22:32467294G-A G A
+22 32467651 22:32467651T-C T C
+22 32467734 22:32467734T-A T A
+22 32468027 22:32468027C-T C T
+22 32468790 22:32468790C-A C A
+22 32468866 22:32468866G-C G C
+22 32469384 22:32469384T-A T A
+22 32469452 22:32469452C-T C T
+22 32469833 22:32469833A-T A T
+22 32470463 22:32470463C-T C T
+22 32470485 22:32470485G-A G A
+22 32471128 22:32471128G-A G A
+22 32471678 22:32471678G-A G A
+22 32472459 22:32472459T-C T C
+22 32472930 22:32472930C-A C A
+22 32473177 22:32473177T-C T C
+22 32473980 22:32473980T-G T G
+22 32474528 22:32474528A-G A G
+22 32475456 22:32475456G-A G A
+22 32475924 22:32475924C-T C T
+22 32477445 22:32477445G-A G A
+22 32479736 22:32479736G-T G T
+22 32480048 22:32480048C-G C G
+22 32480738 22:32480738G-A G A
+22 32481517 22:32481517C-T C T
+22 32482321 22:32482321T-G T G
+22 32483022 22:32483022C-T C T
+22 32483228 22:32483228T-C T C
+22 32484201 22:32484201T-C T C
+22 32485006 22:32485006T-A T A
+22 32485616 22:32485616G-T G T
+22 32486442 22:32486442A-G A G
+22 32487700 22:32487700G-A G A
+22 32487744 22:32487744C-T C T
+22 32487815 22:32487815C-G C G
+22 32488532 22:32488532G-T G T
+22 32489297 22:32489297T-A T A
+22 32490814 22:32490814G-T G T
+22 32491188 22:32491188G-C G C
+22 32491317 22:32491317C-G C G
+22 32491857 22:32491857T-G T G
+22 32492278 22:32492278C-A C A
+22 32495779 22:32495779G-A G A
+22 32497245 22:32497245A-G A G
+22 32497724 22:32497724C-T C T
+22 32497838 22:32497838T-C T C
+22 32498613 22:32498613C-T C T
+22 32500264 22:32500264G-A G A
+22 32501006 22:32501006T-C T C
+22 32501199 22:32501199G-A G A
+22 32501542 22:32501542A-G A G
+22 32501630 22:32501630C-T C T
+22 32502206 22:32502206C-T C T
+22 32503278 22:32503278A-G A G
+22 32504140 22:32504140T-C T C
+22 32504178 22:32504178T-C T C
+22 32504935 22:32504935G-C G C
+22 32505773 22:32505773C-T C T
+22 32506041 22:32506041A-G A G
+22 32506050 22:32506050C-G C G
+22 32506104 22:32506104G-A G A
+22 32506143 22:32506143C-T C T
+22 32506906 22:32506906C-T C T
+22 32508004 22:32508004T-C T C
+22 32508140 22:32508140G-A G A
+22 32508445 22:32508445C-T C T
+22 32509089 22:32509089G-T G T
+22 32509440 22:32509440G-A G A
+22 32509595 22:32509595C-T C T
+22 32510228 22:32510228A-T A T
+22 32510654 22:32510654G-T G T
+22 32510944 22:32510944G-A G A
+22 32513717 22:32513717A-C A C
+22 32514092 22:32514092G-A G A
+22 32515421 22:32515421T-A T A
+22 32515891 22:32515891G-A G A
+22 32515901 22:32515901G-A G A
+22 32516261 22:32516261C-T C T
+22 32517431 22:32517431T-C T C
+22 32518102 22:32518102A-G A G
+22 32518130 22:32518130C-T C T
+22 32518486 22:32518486G-A G A
+22 32518609 22:32518609G-A G A
+22 32518643 22:32518643C-T C T
+22 32519194 22:32519194C-T C T
+22 32519748 22:32519748G-A G A
+22 32519810 22:32519810A-C A C
+22 32519836 22:32519836G-A G A
+22 32520016 22:32520016A-G A G
+22 32520252 22:32520252T-C T C
+22 32521203 22:32521203C-T C T
+22 32522040 22:32522040A-C A C
+22 32524731 22:32524731A-C A C
+22 32524906 22:32524906G-A G A
+22 32525184 22:32525184G-A G A
+22 32527503 22:32527503T-C T C
+22 32530256 22:32530256A-C A C
+22 32530848 22:32530848A-G A G
+22 32531279 22:32531279C-T C T
+22 32531380 22:32531380C-G C G
+22 32532231 22:32532231A-G A G
+22 32532668 22:32532668A-T A T
+22 32536462 22:32536462A-T A T
+22 32536683 22:32536683C-G C G
+22 32537177 22:32537177C-T C T
+22 32537294 22:32537294G-C G C
+22 32537310 22:32537310G-A G A
+22 32538875 22:32538875T-C T C
+22 32539051 22:32539051T-C T C
+22 32539375 22:32539375C-T C T
+22 32539649 22:32539649A-G A G
+22 32539693 22:32539693T-A T A
+22 32539704 22:32539704A-C A C
+22 32539822 22:32539822T-G T G
+22 32540006 22:32540006A-C A C
+22 32540564 22:32540564A-T A T
+22 32541464 22:32541464C-T C T
+22 32542834 22:32542834C-G C G
+22 32542889 22:32542889C-G C G
+22 32542920 22:32542920A-G A G
+22 32543058 22:32543058T-C T C
+22 32543338 22:32543338T-C T C
+22 32543448 22:32543448G-A G A
+22 32543463 22:32543463C-T C T
+22 32543496 22:32543496A-G A G
+22 32543547 22:32543547T-A T A
+22 32544852 22:32544852G-C G C
+22 32545097 22:32545097T-C T C
+22 32545152 22:32545152T-C T C
+22 32545762 22:32545762C-T C T
+22 32545789 22:32545789C-T C T
+22 32545960 22:32545960G-T G T
+22 32546946 22:32546946C-T C T
+22 32547012 22:32547012G-A G A
+22 32547626 22:32547626T-C T C
+22 32547785 22:32547785C-T C T
+22 32548389 22:32548389C-G C G
+22 32548798 22:32548798G-C G C
+22 32548825 22:32548825C-A C A
+22 32549246 22:32549246A-T A T
+22 32550293 22:32550293C-T C T
+22 32550983 22:32550983A-G A G
+22 32551274 22:32551274G-C G C
+22 32551703 22:32551703T-C T C
+22 32552082 22:32552082T-A T A
+22 32552840 22:32552840A-G A G
+22 32552939 22:32552939A-G A G
+22 32553283 22:32553283A-G A G
+22 32554860 22:32554860G-A G A
+22 32554985 22:32554985A-G A G
+22 32554996 22:32554996C-T C T
+22 32555730 22:32555730A-G A G
+22 32556062 22:32556062A-G A G
+22 32556119 22:32556119G-A G A
+22 32556500 22:32556500A-G A G
+22 32556519 22:32556519G-A G A
+22 32557939 22:32557939T-G T G
+22 32558547 22:32558547C-A C A
+22 32559651 22:32559651G-A G A
+22 32559835 22:32559835A-G A G
+22 32560045 22:32560045A-C A C
+22 32561230 22:32561230C-T C T
+22 32561375 22:32561375C-T C T
+22 32561588 22:32561588A-G A G
+22 32562081 22:32562081A-G A G
+22 32562473 22:32562473C-T C T
+22 32562519 22:32562519G-A G A
+22 32562972 22:32562972T-C T C
+22 32563229 22:32563229A-G A G
+22 32564423 22:32564423C-T C T
+22 32564482 22:32564482C-T C T
+22 32564608 22:32564608T-A T A
+22 32564779 22:32564779G-A G A
+22 32565036 22:32565036T-G T G
+22 32565063 22:32565063A-G A G
+22 32565335 22:32565335T-C T C
+22 32565371 22:32565371C-T C T
+22 32565654 22:32565654T-C T C
+22 32565772 22:32565772A-G A G
+22 32565842 22:32565842G-A G A
+22 32566631 22:32566631G-T G T
+22 32567306 22:32567306A-G A G
+22 32567387 22:32567387T-C T C
+22 32567633 22:32567633G-A G A
+22 32568024 22:32568024A-G A G
+22 32568411 22:32568411G-C G C
+22 32568600 22:32568600C-T C T
+22 32568656 22:32568656A-G A G
+22 32568786 22:32568786C-T C T
+22 32569263 22:32569263T-C T C
+22 32569545 22:32569545C-G C G
+22 32569624 22:32569624T-C T C
+22 32569772 22:32569772C-T C T
+22 32570107 22:32570107T-C T C
+22 32570351 22:32570351T-C T C
+22 32570663 22:32570663A-G A G
+22 32570873 22:32570873C-G C G
+22 32570876 22:32570876C-T C T
+22 32571022 22:32571022C-T C T
+22 32571940 22:32571940C-T C T
+22 32572502 22:32572502C-T C T
+22 32573224 22:32573224G-C G C
+22 32573443 22:32573443T-C T C
+22 32573987 22:32573987C-T C T
+22 32574215 22:32574215T-A T A
+22 32574274 22:32574274A-G A G
+22 32574514 22:32574514T-C T C
+22 32574527 22:32574527A-G A G
+22 32574752 22:32574752A-G A G
+22 32574760 22:32574760T-C T C
+22 32575149 22:32575149G-A G A
+22 32575171 22:32575171A-T A T
+22 32575214 22:32575214A-G A G
+22 32575256 22:32575256A-T A T
+22 32575456 22:32575456T-G T G
+22 32576367 22:32576367C-T C T
+22 32577514 22:32577514C-A C A
+22 32578226 22:32578226C-A C A
+22 32578912 22:32578912C-T C T
+22 32579249 22:32579249A-G A G
+22 32579290 22:32579290A-G A G
+22 32579550 22:32579550T-C T C
+22 32579559 22:32579559A-G A G
+22 32579676 22:32579676A-G A G
+22 32579742 22:32579742C-T C T
+22 32579751 22:32579751C-G C G
+22 32580030 22:32580030G-A G A
+22 32580280 22:32580280G-A G A
+22 32580444 22:32580444T-C T C
+22 32580470 22:32580470G-A G A
+22 32580616 22:32580616C-T C T
+22 32580701 22:32580701G-A G A
+22 32580815 22:32580815T-A T A
+22 32580840 22:32580840C-A C A
+22 32581555 22:32581555A-C A C
+22 32581619 22:32581619G-A G A
+22 32582110 22:32582110T-C T C
+22 32582254 22:32582254C-T C T
+22 32582347 22:32582347A-G A G
+22 32582654 22:32582654G-A G A
+22 32582815 22:32582815T-G T G
+22 32584501 22:32584501T-A T A
+22 32584586 22:32584586T-C T C
+22 32584598 22:32584598G-A G A
+22 32584638 22:32584638C-T C T
+22 32584659 22:32584659A-G A G
+22 32584710 22:32584710G-C G C
+22 32584751 22:32584751T-G T G
+22 32584787 22:32584787C-T C T
+22 32584826 22:32584826T-C T C
+22 32585311 22:32585311A-T A T
+22 32585347 22:32585347T-C T C
+22 32585631 22:32585631T-C T C
+22 32585850 22:32585850C-A C A
+22 32585889 22:32585889T-A T A
+22 32585977 22:32585977C-T C T
+22 32585990 22:32585990C-T C T
+22 32586130 22:32586130T-C T C
+22 32586264 22:32586264C-T C T
+22 32586266 22:32586266C-T C T
+22 32586292 22:32586292A-G A G
+22 32586632 22:32586632C-T C T
+22 32586854 22:32586854C-T C T
+22 32586875 22:32586875G-A G A
+22 32586926 22:32586926T-C T C
+22 32587027 22:32587027G-C G C
+22 32587478 22:32587478T-C T C
+22 32587839 22:32587839G-A G A
+22 32587845 22:32587845A-G A G
+22 32588352 22:32588352A-C A C
+22 32589023 22:32589023C-T C T
+22 32589034 22:32589034T-C T C
+22 32589090 22:32589090C-T C T
+22 32589827 22:32589827G-A G A
+22 32590036 22:32590036A-G A G
+22 32590133 22:32590133G-A G A
+22 32590150 22:32590150T-C T C
+22 32590449 22:32590449G-A G A
+22 32590522 22:32590522T-C T C
+22 32590852 22:32590852T-C T C
+22 32591870 22:32591870T-C T C
+22 32592120 22:32592120T-A T A
+22 32592390 22:32592390T-G T G
+22 32593129 22:32593129T-C T C
+22 32593371 22:32593371A-G A G
+22 32593663 22:32593663C-T C T
+22 32594356 22:32594356G-A G A
+22 32594966 22:32594966G-A G A
+22 32595919 22:32595919C-T C T
+22 32596595 22:32596595A-G A G
+22 32598284 22:32598284C-T C T
+22 32598529 22:32598529C-T C T
+22 32598732 22:32598732C-T C T
+22 32598746 22:32598746G-C G C
+22 32599811 22:32599811C-G C G
+22 32600915 22:32600915G-A G A
+22 32601422 22:32601422C-T C T
+22 32602303 22:32602303C-T C T
+22 32602718 22:32602718C-T C T
+22 32603014 22:32603014G-A G A
+22 32603341 22:32603341C-G C G
+22 32603587 22:32603587G-A G A
+22 32603796 22:32603796T-C T C
+22 32603898 22:32603898G-A G A
+22 32604011 22:32604011C-A C A
+22 32604030 22:32604030A-G A G
+22 32604385 22:32604385C-G C G
+22 32604491 22:32604491C-T C T
+22 32604717 22:32604717T-C T C
+22 32604761 22:32604761G-C G C
+22 32604888 22:32604888G-A G A
+22 32604899 22:32604899T-G T G
+22 32604929 22:32604929T-C T C
+22 32604989 22:32604989A-G A G
+22 32606131 22:32606131G-A G A
+22 32606790 22:32606790A-G A G
+22 32606803 22:32606803A-G A G
+22 32606888 22:32606888A-G A G
+22 32607057 22:32607057A-G A G
+22 32607074 22:32607074A-G A G
+22 32607116 22:32607116A-G A G
+22 32607174 22:32607174G-A G A
+22 32607175 22:32607175C-G C G
+22 32607665 22:32607665C-G C G
+22 32608027 22:32608027A-G A G
+22 32608104 22:32608104C-G C G
+22 32608602 22:32608602T-C T C
+22 32609223 22:32609223T-C T C
+22 32609355 22:32609355A-G A G
+22 32609368 22:32609368T-C T C
+22 32610021 22:32610021T-C T C
+22 32611028 22:32611028A-G A G
+22 32611862 22:32611862G-T G T
+22 32612064 22:32612064G-C G C
+22 32612230 22:32612230G-A G A
+22 32613792 22:32613792C-T C T
+22 32614104 22:32614104C-A C A
+22 32615004 22:32615004T-G T G
+22 32615113 22:32615113A-G A G
+22 32615547 22:32615547G-A G A
+22 32616657 22:32616657C-T C T
+22 32616870 22:32616870G-A G A
+22 32617062 22:32617062G-A G A
+22 32617121 22:32617121G-A G A
+22 32617129 22:32617129T-C T C
+22 32617685 22:32617685C-A C A
+22 32617834 22:32617834C-T C T
+22 32618956 22:32618956A-G A G
+22 32619043 22:32619043T-G T G
+22 32619091 22:32619091T-G T G
+22 32619215 22:32619215T-C T C
+22 32619908 22:32619908G-A G A
+22 32620057 22:32620057A-G A G
+22 32621211 22:32621211G-C G C
+22 32621269 22:32621269C-A C A
+22 32621469 22:32621469G-A G A
+22 32621619 22:32621619C-T C T
+22 32622539 22:32622539A-G A G
+22 32623391 22:32623391G-T G T
+22 32624064 22:32624064C-T C T
+22 32624139 22:32624139T-C T C
+22 32624389 22:32624389C-T C T
+22 32624549 22:32624549A-T A T
+22 32624603 22:32624603G-A G A
+22 32624674 22:32624674C-T C T
+22 32624868 22:32624868A-G A G
+22 32625210 22:32625210C-T C T
+22 32626616 22:32626616A-C A C
+22 32626908 22:32626908G-A G A
+22 32627264 22:32627264T-C T C
+22 32627623 22:32627623C-T C T
+22 32628436 22:32628436A-G A G
+22 32632659 22:32632659C-T C T
+22 32633505 22:32633505G-T G T
+22 32633733 22:32633733G-T G T
+22 32633785 22:32633785T-C T C
+22 32634034 22:32634034A-G A G
+22 32634183 22:32634183C-T C T
+22 32634184 22:32634184A-G A G
+22 32634704 22:32634704T-G T G
+22 32634877 22:32634877G-A G A
+22 32635788 22:32635788G-A G A
+22 32635791 22:32635791C-A C A
+22 32635927 22:32635927T-C T C
+22 32636089 22:32636089T-G T G
+22 32637148 22:32637148T-C T C
+22 32637175 22:32637175C-A C A
+22 32638128 22:32638128G-T G T
+22 32638327 22:32638327A-C A C
+22 32638516 22:32638516G-A G A
+22 32639238 22:32639238G-A G A
+22 32639983 22:32639983G-A G A
+22 32640057 22:32640057G-A G A
+22 32640705 22:32640705A-G A G
+22 32646746 22:32646746A-G A G
+22 32646756 22:32646756A-G A G
+22 32647332 22:32647332T-C T C
+22 32648073 22:32648073C-T C T
+22 32648389 22:32648389A-T A T
+22 32648611 22:32648611G-A G A
+22 32649431 22:32649431C-A C A
+22 32649875 22:32649875A-C A C
+22 32650574 22:32650574A-G A G
+22 32650756 22:32650756A-T A T
+22 32651262 22:32651262A-G A G
+22 32652029 22:32652029T-C T C
+22 32652251 22:32652251C-T C T
+22 32653715 22:32653715C-T C T
+22 32654167 22:32654167G-A G A
+22 32654781 22:32654781A-T A T
+22 32654975 22:32654975G-A G A
+22 32655967 22:32655967G-C G C
+22 32656022 22:32656022A-G A G
+22 32656177 22:32656177C-T C T
+22 32656788 22:32656788A-G A G
+22 32657104 22:32657104T-C T C
+22 32657177 22:32657177T-G T G
+22 32657397 22:32657397C-T C T
+22 32657493 22:32657493T-C T C
+22 32657767 22:32657767T-G T G
+22 32658620 22:32658620A-G A G
+22 32659631 22:32659631A-T A T
+22 32659884 22:32659884C-T C T
+22 32660412 22:32660412G-A G A
+22 32661831 22:32661831A-G A G
+22 32662384 22:32662384A-C A C
+22 32663153 22:32663153T-C T C
+22 32664241 22:32664241A-G A G
+22 32664612 22:32664612G-A G A
+22 32665756 22:32665756C-A C A
+22 32665789 22:32665789C-T C T
+22 32666087 22:32666087C-T C T
+22 32666596 22:32666596G-A G A
+22 32667191 22:32667191T-G T G
+22 32667507 22:32667507G-A G A
+22 32668008 22:32668008T-C T C
+22 32668371 22:32668371G-A G A
+22 32668527 22:32668527T-G T G
+22 32668603 22:32668603C-A C A
+22 32668726 22:32668726C-T C T
+22 32669509 22:32669509T-A T A
+22 32669819 22:32669819T-C T C
+22 32669833 22:32669833C-G C G
+22 32669926 22:32669926T-C T C
+22 32670090 22:32670090C-G C G
+22 32670245 22:32670245T-G T G
+22 32670274 22:32670274G-A G A
+22 32670765 22:32670765A-G A G
+22 32671073 22:32671073G-A G A
+22 32671990 22:32671990C-T C T
+22 32672691 22:32672691A-T A T
+22 32672748 22:32672748A-G A G
+22 32672792 22:32672792A-G A G
+22 32673047 22:32673047T-C T C
+22 32673074 22:32673074A-C A C
+22 32673459 22:32673459G-T G T
+22 32673529 22:32673529T-C T C
+22 32673872 22:32673872T-C T C
+22 32675030 22:32675030G-A G A
+22 32675249 22:32675249T-C T C
+22 32676443 22:32676443G-C G C
+22 32676620 22:32676620T-C T C
+22 32676796 22:32676796G-C G C
+22 32676841 22:32676841C-G C G
+22 32677130 22:32677130A-G A G
+22 32677346 22:32677346T-C T C
+22 32677737 22:32677737T-C T C
+22 32678109 22:32678109T-C T C
+22 32678172 22:32678172T-A T A
+22 32678289 22:32678289C-T C T
+22 32678321 22:32678321A-G A G
+22 32678343 22:32678343A-G A G
+22 32678351 22:32678351T-G T G
+22 32678473 22:32678473A-G A G
+22 32678481 22:32678481A-G A G
+22 32678483 22:32678483A-G A G
+22 32679226 22:32679226G-A G A
+22 32679381 22:32679381T-C T C
+22 32679643 22:32679643C-T C T
+22 32679804 22:32679804A-G A G
+22 32680262 22:32680262G-A G A
+22 32680589 22:32680589T-G T G
+22 32680887 22:32680887G-A G A
+22 32680999 22:32680999G-A G A
+22 32681006 22:32681006G-A G A
+22 32681103 22:32681103T-C T C
+22 32681149 22:32681149G-A G A
+22 32681913 22:32681913C-T C T
+22 32682019 22:32682019A-G A G
+22 32682021 22:32682021G-C G C
+22 32682179 22:32682179G-A G A
+22 32682208 22:32682208A-G A G
+22 32682240 22:32682240A-G A G
+22 32682277 22:32682277G-C G C
+22 32682315 22:32682315G-A G A
+22 32682402 22:32682402G-A G A
+22 32682660 22:32682660C-G C G
+22 32683003 22:32683003C-T C T
+22 32683073 22:32683073A-G A G
+22 32683165 22:32683165G-A G A
+22 32683374 22:32683374G-T G T
+22 32683378 22:32683378T-G T G
+22 32683496 22:32683496C-T C T
+22 32683712 22:32683712A-G A G
+22 32683725 22:32683725A-G A G
+22 32684655 22:32684655A-T A T
+22 32684859 22:32684859G-A G A
+22 32685124 22:32685124C-G C G
+22 32685159 22:32685159T-A T A
+22 32685223 22:32685223A-T A T
+22 32686099 22:32686099G-C G C
+22 32686135 22:32686135A-G A G
+22 32686194 22:32686194C-T C T
+22 32686210 22:32686210G-A G A
+22 32686466 22:32686466C-T C T
+22 32686573 22:32686573G-A G A
+22 32686596 22:32686596C-G C G
+22 32686654 22:32686654A-T A T
+22 32686684 22:32686684C-G C G
+22 32686685 22:32686685A-G A G
+22 32686736 22:32686736A-G A G
+22 32686862 22:32686862G-A G A
+22 32686866 22:32686866C-T C T
+22 32687036 22:32687036C-T C T
+22 32687366 22:32687366G-A G A
+22 32687407 22:32687407A-G A G
+22 32687543 22:32687543T-C T C
+22 32687583 22:32687583G-C G C
+22 32687627 22:32687627A-C A C
+22 32687668 22:32687668T-C T C
+22 32687680 22:32687680C-A C A
+22 32687758 22:32687758C-A C A
+22 32687780 22:32687780C-A C A
+22 32687969 22:32687969C-T C T
+22 32688017 22:32688017G-A G A
+22 32688032 22:32688032T-A T A
+22 32688462 22:32688462C-T C T
+22 32688492 22:32688492A-G A G
+22 32688519 22:32688519C-T C T
+22 32688921 22:32688921C-T C T
+22 32689181 22:32689181T-C T C
+22 32689183 22:32689183A-T A T
+22 32689211 22:32689211A-G A G
+22 32689334 22:32689334T-C T C
+22 32689662 22:32689662G-T G T
+22 32689723 22:32689723G-A G A
+22 32689887 22:32689887T-C T C
+22 32689963 22:32689963G-C G C
+22 32690132 22:32690132T-C T C
+22 32690240 22:32690240C-T C T
+22 32696650 22:32696650T-A T A
+22 32696710 22:32696710A-G A G
+22 32696834 22:32696834T-C T C
+22 32696857 22:32696857C-T C T
+22 32696858 22:32696858A-G A G
+22 32696877 22:32696877G-A G A
+22 32696972 22:32696972C-T C T
+22 32697018 22:32697018T-C T C
+22 32697165 22:32697165A-G A G
+22 32697178 22:32697178G-A G A
+22 32697389 22:32697389C-T C T
+22 32697577 22:32697577T-C T C
+22 32697599 22:32697599A-G A G
+22 32697642 22:32697642C-T C T
+22 32697754 22:32697754C-G C G
+22 32697791 22:32697791G-A G A
+22 32698018 22:32698018T-C T C
+22 32698361 22:32698361A-G A G
+22 32698480 22:32698480G-A G A
+22 32698515 22:32698515G-A G A
+22 32698615 22:32698615G-C G C
+22 32698647 22:32698647G-C G C
+22 32698720 22:32698720C-T C T
+22 32698781 22:32698781T-C T C
+22 32698911 22:32698911A-G A G
+22 32698980 22:32698980G-A G A
+22 32698989 22:32698989C-G C G
+22 32699322 22:32699322A-G A G
+22 32699455 22:32699455A-G A G
+22 32699524 22:32699524G-C G C
+22 32699547 22:32699547C-A C A
+22 32699673 22:32699673G-A G A
+22 32699772 22:32699772C-A C A
+22 32699922 22:32699922G-A G A
+22 32700170 22:32700170A-G A G
+22 32700251 22:32700251C-T C T
+22 32700266 22:32700266A-G A G
+22 32700298 22:32700298C-T C T
+22 32700513 22:32700513G-A G A
+22 32700528 22:32700528A-G A G
+22 32700618 22:32700618C-T C T
+22 32700743 22:32700743C-T C T
+22 32700820 22:32700820G-A G A
+22 32700920 22:32700920T-G T G
+22 32701051 22:32701051T-G T G
+22 32701152 22:32701152A-T A T
+22 32701277 22:32701277G-A G A
+22 32701395 22:32701395T-G T G
+22 32701653 22:32701653C-A C A
+22 32701770 22:32701770T-C T C
+22 32701799 22:32701799C-G C G
+22 32701836 22:32701836G-A G A
+22 32701968 22:32701968G-A G A
+22 32702023 22:32702023T-C T C
+22 32702078 22:32702078G-A G A
+22 32702159 22:32702159T-C T C
+22 32702542 22:32702542T-G T G
+22 32702574 22:32702574T-C T C
+22 32702583 22:32702583G-C G C
+22 32702816 22:32702816G-A G A
+22 32702832 22:32702832C-T C T
+22 32702922 22:32702922G-T G T
+22 32702946 22:32702946A-G A G
+22 32702954 22:32702954C-T C T
+22 32703032 22:32703032A-C A C
+22 32703072 22:32703072A-C A C
+22 32703095 22:32703095C-T C T
+22 32703292 22:32703292T-C T C
+22 32703299 22:32703299T-C T C
+22 32703536 22:32703536C-G C G
+22 32703815 22:32703815G-C G C
+22 32703822 22:32703822C-G C G
+22 32704231 22:32704231C-G C G
+22 32704377 22:32704377G-A G A
+22 32704485 22:32704485A-G A G
+22 32704873 22:32704873G-A G A
+22 32704964 22:32704964C-T C T
+22 32705020 22:32705020T-G T G
+22 32705071 22:32705071C-T C T
+22 32705098 22:32705098G-A G A
+22 32705156 22:32705156C-T C T
+22 32705161 22:32705161A-G A G
+22 32705285 22:32705285C-T C T
+22 32705463 22:32705463G-A G A
+22 32705471 22:32705471A-C A C
+22 32705515 22:32705515C-T C T
+22 32705624 22:32705624A-C A C
+22 32706221 22:32706221G-C G C
+22 32706338 22:32706338T-A T A
+22 32706824 22:32706824A-C A C
+22 32706904 22:32706904C-A C A
+22 32707171 22:32707171C-G C G
+22 32707408 22:32707408G-A G A
+22 32707412 22:32707412C-T C T
+22 32707462 22:32707462C-G C G
+22 32707467 22:32707467C-T C T
+22 32707776 22:32707776C-T C T
+22 32707844 22:32707844G-A G A
+22 32708099 22:32708099G-A G A
+22 32708691 22:32708691C-T C T
+22 32709093 22:32709093T-C T C
+22 32709197 22:32709197C-A C A
+22 32709604 22:32709604G-A G A
+22 32709611 22:32709611A-C A C
+22 32709692 22:32709692T-C T C
+22 32710090 22:32710090C-G C G
+22 32710817 22:32710817T-C T C
+22 32710850 22:32710850C-T C T
+22 32710978 22:32710978T-C T C
+22 32710985 22:32710985A-G A G
+22 32711196 22:32711196C-T C T
+22 32711261 22:32711261T-C T C
+22 32711517 22:32711517G-A G A
+22 32711979 22:32711979C-T C T
+22 32712273 22:32712273A-G A G
+22 32712447 22:32712447T-C T C
+22 32712620 22:32712620C-G C G
+22 32712660 22:32712660G-A G A
+22 32712722 22:32712722A-G A G
+22 32712863 22:32712863T-G T G
+22 32713280 22:32713280A-T A T
+22 32713734 22:32713734A-T A T
+22 32713762 22:32713762C-T C T
+22 32714214 22:32714214G-A G A
+22 32714339 22:32714339C-G C G
+22 32714653 22:32714653T-C T C
+22 32714680 22:32714680C-A C A
+22 32714691 22:32714691C-T C T
+22 32714697 22:32714697A-G A G
+22 32714912 22:32714912G-A G A
+22 32715154 22:32715154C-G C G
+22 32715485 22:32715485G-A G A
+22 32715559 22:32715559A-C A C
+22 32715985 22:32715985T-C T C
+22 32716092 22:32716092A-G A G
+22 32716130 22:32716130T-C T C
+22 32716259 22:32716259G-A G A
+22 32716297 22:32716297C-T C T
+22 32717003 22:32717003G-A G A
+22 32717050 22:32717050G-A G A
+22 32717071 22:32717071A-G A G
+22 32717173 22:32717173T-C T C
+22 32717289 22:32717289C-T C T
+22 32717600 22:32717600C-A C A
+22 32717621 22:32717621G-C G C
+22 32717682 22:32717682G-A G A
+22 32717703 22:32717703G-C G C
+22 32717738 22:32717738G-A G A
+22 32718042 22:32718042G-A G A
+22 32718163 22:32718163A-T A T
+22 32718380 22:32718380G-A G A
+22 32719049 22:32719049T-C T C
+22 32719204 22:32719204C-G C G
+22 32719246 22:32719246C-T C T
+22 32719337 22:32719337T-C T C
+22 32719359 22:32719359G-A G A
+22 32719481 22:32719481G-A G A
+22 32719540 22:32719540G-A G A
+22 32720031 22:32720031T-C T C
+22 32720404 22:32720404C-T C T
+22 32720439 22:32720439A-G A G
+22 32720524 22:32720524G-C G C
+22 32720570 22:32720570T-G T G
+22 32720627 22:32720627C-T C T
+22 32720648 22:32720648T-C T C
+22 32720662 22:32720662G-A G A
+22 32720757 22:32720757C-T C T
+22 32720785 22:32720785G-A G A
+22 32720943 22:32720943G-A G A
+22 32721091 22:32721091C-G C G
+22 32721231 22:32721231C-T C T
+22 32721349 22:32721349G-A G A
+22 32721624 22:32721624A-T A T
+22 32721940 22:32721940G-A G A
+22 32722305 22:32722305A-G A G
+22 32722442 22:32722442C-A C A
+22 32722485 22:32722485A-G A G
+22 32722656 22:32722656C-T C T
+22 32722963 22:32722963C-A C A
+22 32723020 22:32723020T-A T A
+22 32723038 22:32723038G-A G A
+22 32723157 22:32723157C-T C T
+22 32723250 22:32723250C-T C T
+22 32723714 22:32723714A-C A C
+22 32723723 22:32723723G-A G A
+22 32723988 22:32723988C-G C G
+22 32724003 22:32724003T-C T C
+22 32724355 22:32724355T-C T C
+22 32724526 22:32724526A-C A C
+22 32724532 22:32724532A-G A G
+22 32724578 22:32724578G-A G A
+22 32724825 22:32724825G-A G A
+22 32725026 22:32725026A-G A G
+22 32727226 22:32727226T-C T C
+22 32727537 22:32727537A-G A G
+22 32727797 22:32727797G-A G A
+22 32728535 22:32728535G-A G A
+22 32728869 22:32728869T-C T C
+22 32728946 22:32728946C-T C T
+22 32728966 22:32728966A-G A G
+22 32729100 22:32729100C-T C T
+22 32729397 22:32729397A-G A G
+22 32729399 22:32729399G-A G A
+22 32729530 22:32729530T-C T C
+22 32729539 22:32729539T-C T C
+22 32729546 22:32729546C-T C T
+22 32729772 22:32729772A-G A G
+22 32729773 22:32729773C-T C T
+22 32731350 22:32731350C-G C G
+22 32731481 22:32731481T-G T G
+22 32731492 22:32731492C-T C T
+22 32731628 22:32731628C-T C T
+22 32731818 22:32731818T-C T C
+22 32731840 22:32731840T-G T G
+22 32731846 22:32731846C-G C G
+22 32731869 22:32731869C-T C T
+22 32731917 22:32731917G-A G A
+22 32732014 22:32732014G-C G C
+22 32732153 22:32732153G-A G A
+22 32732169 22:32732169C-G C G
+22 32732227 22:32732227G-C G C
+22 32732357 22:32732357G-A G A
+22 32732605 22:32732605C-T C T
+22 32732644 22:32732644A-G A G
+22 32732674 22:32732674C-T C T
+22 32733032 22:32733032G-C G C
+22 32733254 22:32733254C-T C T
+22 32733276 22:32733276C-T C T
+22 32733465 22:32733465G-A G A
+22 32734609 22:32734609T-C T C
+22 32734710 22:32734710G-A G A
+22 32734792 22:32734792G-A G A
+22 32735243 22:32735243G-A G A
+22 32735423 22:32735423A-G A G
+22 32735950 22:32735950C-T C T
+22 32736376 22:32736376T-C T C
+22 32736398 22:32736398G-A G A
+22 32736667 22:32736667G-A G A
+22 32736855 22:32736855G-A G A
+22 32737231 22:32737231G-T G T
+22 32737234 22:32737234A-G A G
+22 32737328 22:32737328G-A G A
+22 32737732 22:32737732T-A T A
+22 32737733 22:32737733C-G C G
+22 32737921 22:32737921G-A G A
+22 32738165 22:32738165T-C T C
+22 32738182 22:32738182G-A G A
+22 32738469 22:32738469T-C T C
+22 32738838 22:32738838T-C T C
+22 32740036 22:32740036C-T C T
+22 32740044 22:32740044G-A G A
+22 32740245 22:32740245T-A T A
+22 32740441 22:32740441T-C T C
+22 32740795 22:32740795C-T C T
+22 32741123 22:32741123T-C T C
+22 32741945 22:32741945G-A G A
+22 32743923 22:32743923G-A G A
+22 32744045 22:32744045C-T C T
+22 32744111 22:32744111C-T C T
+22 32744411 22:32744411C-T C T
+22 32744596 22:32744596T-C T C
+22 32745162 22:32745162A-G A G
+22 32745418 22:32745418G-T G T
+22 32745565 22:32745565C-A C A
+22 32745595 22:32745595C-G C G
+22 32745916 22:32745916C-T C T
+22 32745953 22:32745953A-G A G
+22 32746172 22:32746172C-T C T
+22 32746202 22:32746202C-G C G
+22 32746276 22:32746276C-G C G
+22 32746299 22:32746299C-T C T
+22 32746336 22:32746336T-C T C
+22 32747062 22:32747062C-A C A
+22 32747921 22:32747921T-C T C
+22 32748095 22:32748095G-T G T
+22 32748269 22:32748269G-C G C
+22 32748457 22:32748457T-C T C
+22 32748529 22:32748529G-A G A
+22 32748590 22:32748590C-T C T
+22 32748844 22:32748844T-C T C
+22 32748873 22:32748873G-A G A
+22 32749169 22:32749169G-A G A
+22 32749197 22:32749197T-C T C
+22 32749742 22:32749742G-A G A
+22 32749794 22:32749794T-C T C
+22 32749850 22:32749850T-C T C
+22 32750042 22:32750042C-G C G
+22 32750149 22:32750149A-C A C
+22 32750319 22:32750319T-C T C
+22 32750325 22:32750325G-A G A
+22 32750646 22:32750646G-A G A
+22 32750804 22:32750804G-A G A
+22 32750856 22:32750856C-T C T
+22 32750864 22:32750864C-T C T
+22 32751005 22:32751005A-G A G
+22 32751035 22:32751035G-A G A
+22 32751061 22:32751061C-T C T
+22 32751073 22:32751073A-G A G
+22 32751150 22:32751150C-T C T
+22 32751165 22:32751165G-A G A
+22 32751376 22:32751376C-G C G
+22 32751915 22:32751915G-C G C
+22 32751916 22:32751916G-A G A
+22 32752044 22:32752044A-G A G
+22 32752559 22:32752559C-A C A
+22 32752658 22:32752658A-G A G
+22 32752707 22:32752707G-T G T
+22 32753004 22:32753004C-A C A
+22 32753217 22:32753217G-C G C
+22 32753714 22:32753714G-A G A
+22 32753742 22:32753742T-A T A
+22 32753786 22:32753786G-A G A
+22 32753813 22:32753813T-A T A
+22 32753904 22:32753904C-T C T
+22 32753961 22:32753961C-A C A
+22 32753972 22:32753972G-A G A
+22 32754036 22:32754036G-A G A
+22 32754230 22:32754230A-G A G
+22 32754232 22:32754232C-T C T
+22 32754306 22:32754306T-C T C
+22 32754386 22:32754386C-A C A
+22 32754500 22:32754500C-G C G
+22 32754561 22:32754561C-G C G
+22 32754843 22:32754843T-A T A
+22 32754993 22:32754993C-T C T
+22 32755074 22:32755074G-T G T
+22 32755097 22:32755097C-A C A
+22 32755515 22:32755515T-C T C
+22 32755612 22:32755612C-T C T
+22 32755659 22:32755659T-G T G
+22 32756101 22:32756101C-T C T
+22 32756407 22:32756407A-G A G
+22 32756555 22:32756555G-C G C
+22 32756899 22:32756899T-C T C
+22 32756970 22:32756970G-A G A
+22 32757483 22:32757483G-C G C
+22 32757516 22:32757516A-C A C
+22 32757792 22:32757792C-T C T
+22 32757806 22:32757806G-A G A
+22 32758071 22:32758071G-A G A
+22 32758076 22:32758076A-T A T
+22 32758417 22:32758417A-G A G
+22 32758589 22:32758589T-C T C
+22 32758843 22:32758843T-C T C
+22 32759025 22:32759025G-C G C
+22 32759257 22:32759257G-A G A
+22 32759278 22:32759278G-A G A
+22 32759289 22:32759289C-G C G
+22 32759324 22:32759324C-G C G
+22 32759799 22:32759799T-A T A
+22 32760136 22:32760136T-C T C
+22 32760536 22:32760536C-T C T
+22 32760562 22:32760562T-C T C
+22 32760692 22:32760692C-T C T
+22 32760768 22:32760768G-A G A
+22 32760992 22:32760992C-G C G
+22 32761119 22:32761119C-T C T
+22 32761468 22:32761468G-A G A
+22 32761805 22:32761805C-A C A
+22 32761901 22:32761901A-T A T
+22 32762151 22:32762151T-C T C
+22 32762258 22:32762258A-C A C
+22 32762301 22:32762301T-C T C
+22 32762361 22:32762361G-A G A
+22 32762406 22:32762406G-A G A
+22 32762572 22:32762572G-A G A
+22 32762742 22:32762742T-C T C
+22 32762743 22:32762743G-A G A
+22 32762902 22:32762902G-A G A
+22 32762937 22:32762937T-G T G
+22 32762992 22:32762992A-G A G
+22 32763169 22:32763169T-C T C
+22 32763176 22:32763176T-C T C
+22 32763254 22:32763254A-G A G
+22 32763595 22:32763595T-C T C
+22 32763787 22:32763787T-C T C
+22 32763829 22:32763829A-G A G
+22 32763988 22:32763988T-C T C
+22 32764098 22:32764098G-A G A
+22 32764135 22:32764135C-T C T
+22 32764388 22:32764388T-C T C
+22 32764397 22:32764397T-C T C
+22 32764720 22:32764720G-C G C
+22 32764760 22:32764760C-T C T
+22 32764869 22:32764869A-G A G
+22 32764881 22:32764881T-C T C
+22 32765099 22:32765099A-G A G
+22 32765214 22:32765214G-T G T
+22 32765571 22:32765571C-A C A
+22 32765949 22:32765949T-G T G
+22 32766208 22:32766208G-A G A
+22 32766298 22:32766298G-A G A
+22 32766469 22:32766469C-T C T
+22 32766764 22:32766764C-A C A
+22 32766927 22:32766927A-G A G
+22 32766985 22:32766985C-G C G
+22 32767243 22:32767243G-A G A
+22 32767460 22:32767460A-C A C
+22 32767538 22:32767538A-G A G
+22 32767669 22:32767669A-G A G
+22 32767966 22:32767966T-C T C
+22 32768048 22:32768048C-T C T
+22 32768551 22:32768551C-T C T
+22 32768988 22:32768988C-A C A
+22 32769005 22:32769005T-C T C
+22 32769098 22:32769098A-T A T
+22 32769158 22:32769158T-C T C
+22 32769174 22:32769174G-C G C
+22 32769351 22:32769351T-C T C
+22 32769416 22:32769416G-A G A
+22 32769624 22:32769624G-A G A
+22 32769845 22:32769845C-T C T
+22 32769994 22:32769994G-A G A
+22 32770156 22:32770156T-C T C
+22 32770200 22:32770200C-T C T
+22 32770381 22:32770381T-G T G
+22 32770504 22:32770504C-G C G
+22 32770641 22:32770641C-T C T
+22 32771017 22:32771017G-T G T
+22 32771655 22:32771655T-G T G
+22 32772112 22:32772112A-G A G
+22 32772490 22:32772490C-T C T
+22 32772645 22:32772645G-A G A
+22 32772681 22:32772681C-T C T
+22 32772712 22:32772712A-G A G
+22 32772911 22:32772911T-C T C
+22 32773181 22:32773181C-T C T
+22 32773266 22:32773266A-G A G
+22 32773360 22:32773360C-G C G
+22 32773418 22:32773418T-C T C
+22 32774129 22:32774129T-C T C
+22 32774472 22:32774472G-A G A
+22 32774525 22:32774525C-T C T
+22 32774930 22:32774930C-T C T
+22 32774944 22:32774944T-C T C
+22 32774960 22:32774960G-T G T
+22 32775013 22:32775013G-C G C
+22 32775136 22:32775136C-G C G
+22 32776642 22:32776642A-G A G
+22 32776881 22:32776881T-C T C
+22 32777123 22:32777123G-C G C
+22 32777206 22:32777206C-G C G
+22 32777568 22:32777568C-A C A
+22 32777569 22:32777569G-A G A
+22 32777852 22:32777852T-G T G
+22 32778254 22:32778254G-A G A
+22 32779227 22:32779227T-C T C
+22 32779244 22:32779244C-T C T
+22 32779924 22:32779924A-G A G
+22 32779967 22:32779967A-C A C
+22 32780126 22:32780126G-A G A
+22 32780240 22:32780240C-T C T
+22 32780396 22:32780396C-G C G
+22 32780557 22:32780557C-T C T
+22 32780664 22:32780664T-C T C
+22 32781422 22:32781422G-T G T
+22 32781931 22:32781931A-G A G
+22 32781993 22:32781993T-G T G
+22 32782118 22:32782118G-T G T
+22 32782128 22:32782128A-C A C
+22 32782154 22:32782154G-A G A
+22 32782596 22:32782596T-C T C
+22 32782986 22:32782986A-G A G
+22 32783041 22:32783041A-G A G
+22 32783124 22:32783124C-G C G
+22 32783904 22:32783904T-C T C
+22 32784051 22:32784051T-C T C
+22 32785078 22:32785078A-G A G
+22 32785840 22:32785840A-C A C
+22 32785859 22:32785859A-G A G
+22 32786217 22:32786217G-A G A
+22 32786254 22:32786254G-C G C
+22 32786540 22:32786540G-A G A
+22 32786629 22:32786629G-A G A
+22 32787938 22:32787938A-G A G
+22 32788028 22:32788028C-T C T
+22 32788076 22:32788076T-A T A
+22 32789082 22:32789082C-T C T
+22 32789520 22:32789520G-T G T
+22 32790398 22:32790398G-T G T
+22 32790644 22:32790644A-C A C
+22 32790810 22:32790810T-C T C
+22 32790972 22:32790972G-A G A
+22 32790981 22:32790981C-G C G
+22 32791003 22:32791003A-C A C
+22 32791447 22:32791447T-C T C
+22 32791495 22:32791495T-C T C
+22 32791508 22:32791508T-C T C
+22 32792442 22:32792442T-G T G
+22 32792664 22:32792664C-T C T
+22 32793269 22:32793269G-A G A
+22 32793384 22:32793384T-C T C
+22 32793534 22:32793534C-A C A
+22 32793641 22:32793641A-C A C
+22 32794439 22:32794439C-T C T
+22 32794573 22:32794573C-A C A
+22 32794587 22:32794587C-T C T
+22 32794603 22:32794603T-A T A
+22 32794876 22:32794876G-C G C
+22 32795051 22:32795051A-G A G
+22 32795285 22:32795285G-C G C
+22 32795641 22:32795641C-T C T
+22 32795751 22:32795751A-G A G
+22 32796174 22:32796174T-C T C
+22 32796247 22:32796247G-C G C
+22 32796345 22:32796345T-C T C
+22 32796668 22:32796668T-C T C
+22 32796718 22:32796718C-T C T
+22 32797475 22:32797475A-G A G
+22 32798565 22:32798565T-C T C
+22 32798759 22:32798759T-G T G
+22 32798831 22:32798831C-G C G
+22 32798832 22:32798832A-C A C
+22 32799077 22:32799077C-T C T
+22 32799368 22:32799368C-T C T
+22 32799621 22:32799621T-C T C
+22 32799696 22:32799696G-A G A
+22 32799705 22:32799705T-C T C
+22 32800100 22:32800100A-C A C
+22 32800409 22:32800409T-C T C
+22 32800435 22:32800435C-A C A
+22 32800594 22:32800594A-C A C
+22 32801100 22:32801100G-A G A
+22 32801332 22:32801332G-A G A
+22 32802373 22:32802373G-A G A
+22 32802603 22:32802603C-G C G
+22 32803289 22:32803289A-C A C
+22 32803591 22:32803591T-C T C
+22 32803811 22:32803811G-A G A
+22 32803952 22:32803952G-A G A
+22 32803953 22:32803953A-C A C
+22 32804313 22:32804313G-A G A
+22 32804625 22:32804625T-C T C
+22 32804656 22:32804656G-A G A
+22 32804665 22:32804665T-C T C
+22 32805015 22:32805015T-C T C
+22 32805407 22:32805407A-T A T
+22 32806097 22:32806097C-G C G
+22 32806331 22:32806331A-G A G
+22 32806595 22:32806595A-T A T
+22 32807375 22:32807375G-A G A
+22 32807769 22:32807769T-C T C
+22 32808078 22:32808078G-A G A
+22 32808355 22:32808355A-G A G
+22 32808826 22:32808826C-T C T
+22 32808998 22:32808998C-T C T
+22 32809162 22:32809162C-T C T
+22 32809223 22:32809223C-T C T
+22 32809832 22:32809832T-C T C
+22 32810378 22:32810378T-G T G
+22 32811230 22:32811230G-T G T
+22 32811952 22:32811952A-G A G
+22 32812191 22:32812191C-T C T
+22 32812312 22:32812312C-T C T
+22 32812458 22:32812458A-G A G
+22 32812543 22:32812543C-T C T
+22 32813339 22:32813339A-T A T
+22 32813555 22:32813555G-A G A
+22 32813600 22:32813600T-C T C
+22 32813740 22:32813740C-T C T
+22 32813776 22:32813776G-A G A
+22 32813843 22:32813843T-A T A
+22 32813934 22:32813934T-G T G
+22 32813975 22:32813975C-G C G
+22 32814166 22:32814166A-G A G
+22 32814532 22:32814532G-A G A
+22 32814711 22:32814711C-G C G
+22 32815398 22:32815398G-A G A
+22 32816458 22:32816458C-A C A
+22 32816647 22:32816647A-G A G
+22 32817147 22:32817147A-G A G
+22 32817167 22:32817167C-T C T
+22 32818916 22:32818916T-C T C
+22 32819478 22:32819478T-G T G
+22 32820366 22:32820366G-A G A
+22 32820855 22:32820855G-A G A
+22 32820957 22:32820957T-C T C
+22 32821072 22:32821072C-T C T
+22 32821139 22:32821139T-G T G
+22 32821277 22:32821277C-A C A
+22 32821278 22:32821278T-C T C
+22 32821301 22:32821301G-A G A
+22 32821401 22:32821401C-G C G
+22 32821541 22:32821541A-G A G
+22 32822188 22:32822188C-T C T
+22 32822285 22:32822285C-T C T
+22 32822617 22:32822617G-A G A
+22 32822751 22:32822751C-T C T
+22 32822820 22:32822820A-G A G
+22 32823071 22:32823071A-G A G
+22 32823156 22:32823156G-A G A
+22 32823835 22:32823835G-A G A
+22 32823843 22:32823843G-A G A
+22 32824664 22:32824664C-T C T
+22 32824908 22:32824908C-A C A
+22 32825104 22:32825104A-G A G
+22 32825414 22:32825414C-T C T
+22 32825416 22:32825416A-C A C
+22 32825565 22:32825565G-A G A
+22 32825599 22:32825599C-G C G
+22 32825944 22:32825944A-G A G
+22 32826277 22:32826277G-T G T
+22 32826722 22:32826722G-A G A
+22 32826740 22:32826740C-T C T
+22 32827058 22:32827058C-T C T
+22 32827586 22:32827586T-C T C
+22 32827805 22:32827805G-C G C
+22 32828072 22:32828072A-C A C
+22 32828208 22:32828208T-C T C
+22 32828343 22:32828343T-C T C
+22 32829094 22:32829094T-G T G
+22 32829945 22:32829945T-A T A
+22 32830958 22:32830958C-T C T
+22 32831410 22:32831410A-C A C
+22 32831443 22:32831443G-A G A
+22 32831540 22:32831540C-T C T
+22 32831711 22:32831711C-G C G
+22 32832070 22:32832070C-T C T
+22 32832149 22:32832149C-T C T
+22 32832226 22:32832226A-C A C
+22 32832874 22:32832874C-T C T
+22 32832988 22:32832988T-A T A
+22 32833169 22:32833169A-C A C
+22 32834043 22:32834043T-C T C
+22 32834268 22:32834268A-C A C
+22 32834652 22:32834652T-G T G
+22 32835459 22:32835459C-T C T
+22 32835585 22:32835585A-G A G
+22 32835694 22:32835694C-T C T
+22 32835882 22:32835882G-A G A
+22 32836632 22:32836632A-C A C
+22 32836684 22:32836684A-G A G
+22 32836709 22:32836709C-G C G
+22 32838255 22:32838255A-G A G
+22 32838376 22:32838376T-C T C
+22 32838494 22:32838494A-C A C
+22 32838525 22:32838525C-T C T
+22 32839027 22:32839027G-C G C
+22 32839236 22:32839236C-T C T
+22 32839255 22:32839255A-G A G
+22 32839396 22:32839396C-T C T
+22 32839494 22:32839494A-T A T
+22 32839762 22:32839762G-A G A
+22 32840226 22:32840226G-T G T
+22 32840695 22:32840695A-G A G
+22 32840736 22:32840736C-G C G
+22 32840741 22:32840741T-C T C
+22 32841300 22:32841300G-A G A
+22 32841310 22:32841310T-G T G
+22 32841355 22:32841355T-G T G
+22 32841456 22:32841456G-A G A
+22 32841503 22:32841503G-A G A
+22 32841760 22:32841760C-T C T
+22 32842072 22:32842072T-C T C
+22 32842314 22:32842314C-T C T
+22 32842348 22:32842348A-G A G
+22 32843145 22:32843145G-A G A
+22 32843436 22:32843436C-T C T
+22 32843666 22:32843666C-T C T
+22 32843713 22:32843713T-C T C
+22 32843845 22:32843845T-C T C
+22 32843938 22:32843938C-T C T
+22 32844022 22:32844022T-A T A
+22 32844697 22:32844697C-A C A
+22 32844714 22:32844714C-T C T
+22 32845403 22:32845403A-G A G
+22 32845467 22:32845467C-T C T
+22 32845727 22:32845727T-C T C
+22 32845883 22:32845883G-A G A
+22 32846594 22:32846594T-A T A
+22 32846619 22:32846619C-T C T
+22 32846707 22:32846707C-A C A
+22 32846844 22:32846844T-C T C
+22 32846891 22:32846891G-T G T
+22 32847002 22:32847002C-A C A
+22 32847116 22:32847116T-C T C
+22 32847652 22:32847652G-A G A
+22 32848573 22:32848573C-T C T
+22 32848703 22:32848703C-T C T
+22 32848737 22:32848737G-T G T
+22 32849054 22:32849054G-A G A
+22 32849129 22:32849129G-C G C
+22 32849192 22:32849192C-T C T
+22 32849712 22:32849712C-A C A
+22 32849914 22:32849914C-A C A
+22 32850349 22:32850349G-A G A
+22 32850800 22:32850800A-G A G
+22 32850930 22:32850930C-T C T
+22 32851010 22:32851010A-G A G
+22 32851488 22:32851488C-G C G
+22 32851633 22:32851633G-A G A
+22 32851712 22:32851712C-T C T
+22 32852077 22:32852077T-C T C
+22 32852151 22:32852151G-C G C
+22 32852177 22:32852177T-A T A
+22 32852458 22:32852458T-G T G
+22 32852486 22:32852486G-T G T
+22 32852722 22:32852722C-T C T
+22 32852824 22:32852824T-G T G
+22 32852855 22:32852855C-A C A
+22 32852924 22:32852924T-C T C
+22 32853590 22:32853590G-A G A
+22 32853660 22:32853660A-G A G
+22 32853948 22:32853948C-A C A
+22 32854391 22:32854391A-C A C
+22 32854857 22:32854857C-T C T
+22 32855200 22:32855200T-C T C
+22 32855446 22:32855446T-C T C
+22 32855486 22:32855486T-C T C
+22 32855598 22:32855598C-T C T
+22 32856244 22:32856244C-G C G
+22 32856516 22:32856516T-G T G
+22 32856594 22:32856594C-T C T
+22 32856999 22:32856999G-A G A
+22 32857285 22:32857285G-A G A
+22 32857821 22:32857821G-C G C
+22 32857824 22:32857824T-C T C
+22 32858106 22:32858106A-G A G
+22 32858428 22:32858428T-C T C
+22 32858484 22:32858484G-A G A
+22 32858681 22:32858681A-G A G
+22 32859619 22:32859619G-A G A
+22 32859702 22:32859702C-T C T
+22 32860185 22:32860185C-T C T
+22 32860250 22:32860250T-C T C
+22 32860792 22:32860792C-T C T
+22 32861024 22:32861024T-A T A
+22 32861083 22:32861083T-G T G
+22 32861273 22:32861273C-T C T
+22 32862382 22:32862382G-A G A
+22 32862854 22:32862854G-A G A
+22 32863231 22:32863231G-A G A
+22 32864879 22:32864879G-A G A
+22 32865210 22:32865210C-T C T
+22 32865533 22:32865533C-G C G
+22 32865604 22:32865604A-G A G
+22 32865675 22:32865675C-T C T
+22 32866686 22:32866686G-A G A
+22 32866934 22:32866934T-C T C
+22 32867160 22:32867160G-C G C
+22 32867243 22:32867243A-T A T
+22 32867528 22:32867528G-A G A
+22 32867876 22:32867876T-C T C
+22 32869011 22:32869011C-T C T
+22 32869073 22:32869073A-C A C
+22 32869495 22:32869495G-T G T
+22 32870574 22:32870574A-G A G
+22 32870661 22:32870661C-T C T
+22 32870769 22:32870769C-T C T
+22 32870806 22:32870806C-T C T
+22 32871227 22:32871227C-T C T
+22 32871230 22:32871230G-T G T
+22 32871365 22:32871365G-A G A
+22 32871383 22:32871383T-G T G
+22 32871442 22:32871442C-A C A
+22 32872132 22:32872132C-G C G
+22 32872219 22:32872219A-T A T
+22 32872258 22:32872258A-C A C
+22 32872593 22:32872593G-A G A
+22 32873108 22:32873108T-G T G
+22 32873127 22:32873127G-C G C
+22 32873496 22:32873496C-A C A
+22 32873699 22:32873699A-C A C
+22 32874258 22:32874258G-T G T
+22 32874449 22:32874449G-A G A
+22 32874551 22:32874551A-G A G
+22 32875190 22:32875190G-A G A
+22 32875557 22:32875557T-C T C
+22 32875590 22:32875590G-A G A
+22 32875871 22:32875871G-A G A
+22 32876534 22:32876534C-G C G
+22 32876647 22:32876647C-A C A
+22 32877009 22:32877009T-A T A
+22 32878244 22:32878244T-C T C
+22 32878510 22:32878510C-T C T
+22 32879307 22:32879307C-G C G
+22 32879317 22:32879317T-A T A
+22 32879617 22:32879617G-T G T
+22 32880585 22:32880585T-C T C
+22 32881581 22:32881581C-T C T
+22 32881600 22:32881600C-T C T
+22 32881746 22:32881746G-A G A
+22 32882121 22:32882121G-A G A
+22 32882414 22:32882414A-G A G
+22 32882440 22:32882440C-G C G
+22 32882808 22:32882808A-G A G
+22 32883103 22:32883103G-A G A
+22 32883128 22:32883128G-A G A
+22 32883282 22:32883282A-G A G
+22 32883344 22:32883344A-G A G
+22 32884036 22:32884036T-A T A
+22 32884821 22:32884821C-T C T
+22 32884878 22:32884878A-G A G
+22 32884964 22:32884964T-C T C
+22 32885549 22:32885549C-T C T
+22 32885780 22:32885780C-T C T
+22 32886177 22:32886177C-T C T
+22 32886477 22:32886477G-T G T
+22 32886785 22:32886785C-T C T
+22 32886998 22:32886998T-C T C
+22 32887150 22:32887150C-T C T
+22 32887498 22:32887498T-C T C
+22 32887661 22:32887661A-G A G
+22 32887732 22:32887732C-T C T
+22 32887782 22:32887782A-G A G
+22 32887949 22:32887949T-C T C
+22 32888010 22:32888010C-T C T
+22 32888084 22:32888084G-A G A
+22 32888622 22:32888622A-G A G
+22 32889558 22:32889558C-T C T
+22 32889796 22:32889796A-G A G
+22 32889815 22:32889815A-T A T
+22 32890988 22:32890988C-T C T
+22 32891690 22:32891690T-C T C
+22 32891896 22:32891896G-C G C
+22 32892307 22:32892307A-C A C
+22 32893905 22:32893905C-T C T
+22 32893920 22:32893920C-T C T
+22 32895077 22:32895077A-C A C
+22 32895731 22:32895731T-C T C
+22 32895892 22:32895892A-G A G
+22 32896113 22:32896113A-T A T
+22 32896797 22:32896797G-A G A
+22 32896804 22:32896804G-A G A
+22 32897231 22:32897231A-G A G
+22 32897331 22:32897331G-A G A
+22 32897530 22:32897530G-A G A
+22 32898291 22:32898291G-A G A
+22 32898797 22:32898797C-T C T
+22 32899516 22:32899516G-C G C
+22 32899858 22:32899858T-C T C
+22 32899910 22:32899910C-T C T
+22 32900527 22:32900527T-A T A
+22 32904293 22:32904293C-T C T
+22 32904296 22:32904296C-T C T
+22 32904461 22:32904461A-G A G
+22 32904480 22:32904480C-T C T
+22 32904505 22:32904505A-C A C
+22 32904634 22:32904634T-C T C
+22 32904650 22:32904650G-A G A
+22 32904927 22:32904927T-C T C
+22 32905451 22:32905451G-C G C
+22 32905470 22:32905470G-A G A
+22 32905607 22:32905607G-C G C
+22 32905645 22:32905645T-C T C
+22 32905973 22:32905973G-C G C
+22 32907362 22:32907362A-G A G
+22 32907721 22:32907721G-C G C
+22 32907769 22:32907769A-C A C
+22 32908005 22:32908005C-T C T
+22 32908265 22:32908265C-G C G
+22 32908291 22:32908291G-A G A
+22 32908738 22:32908738T-C T C
+22 32909251 22:32909251G-A G A
+22 32909401 22:32909401C-T C T
+22 32911911 22:32911911T-C T C
+22 32912277 22:32912277T-C T C
+22 32912337 22:32912337T-G T G
+22 32913125 22:32913125C-G C G
+22 32913298 22:32913298T-C T C
+22 32913733 22:32913733G-A G A
+22 32913778 22:32913778T-C T C
+22 32913839 22:32913839C-G C G
+22 32915280 22:32915280A-T A T
+22 32915284 22:32915284G-A G A
+22 32915420 22:32915420A-C A C
+22 32916292 22:32916292C-T C T
+22 32919303 22:32919303T-C T C
+22 32920648 22:32920648C-T C T
+22 32920690 22:32920690G-C G C
+22 32920825 22:32920825A-G A G
+22 32921325 22:32921325T-G T G
+22 32921471 22:32921471G-C G C
+22 32921629 22:32921629C-T C T
+22 32922125 22:32922125G-A G A
+22 32922134 22:32922134G-A G A
+22 32922409 22:32922409A-G A G
+22 32922742 22:32922742G-A G A
+22 32923362 22:32923362G-A G A
+22 32924602 22:32924602C-T C T
+22 32924733 22:32924733C-G C G
+22 32925170 22:32925170C-T C T
+22 32925244 22:32925244G-T G T
+22 32925526 22:32925526T-A T A
+22 32926132 22:32926132C-T C T
+22 32926413 22:32926413C-T C T
+22 32927211 22:32927211C-T C T
+22 32927360 22:32927360A-C A C
+22 32927458 22:32927458G-C G C
+22 32927850 22:32927850C-T C T
+22 32929152 22:32929152G-A G A
+22 32930142 22:32930142C-G C G
+22 32930263 22:32930263C-T C T
+22 32930469 22:32930469G-A G A
+22 32930568 22:32930568C-T C T
+22 32931512 22:32931512C-T C T
+22 32931868 22:32931868G-A G A
+22 32932905 22:32932905C-T C T
+22 32933222 22:32933222C-T C T
+22 32934225 22:32934225C-A C A
+22 32934274 22:32934274T-G T G
+22 32934569 22:32934569C-T C T
+22 32934659 22:32934659C-G C G
+22 32935071 22:32935071C-T C T
+22 32935172 22:32935172G-A G A
+22 32935220 22:32935220C-T C T
+22 32935333 22:32935333A-G A G
+22 32935403 22:32935403A-G A G
+22 32935425 22:32935425T-C T C
+22 32935552 22:32935552A-G A G
+22 32935567 22:32935567C-T C T
+22 32936049 22:32936049C-T C T
+22 32936298 22:32936298G-A G A
+22 32936531 22:32936531A-G A G
+22 32936647 22:32936647G-C G C
+22 32936813 22:32936813C-T C T
+22 32937037 22:32937037C-A C A
+22 32937292 22:32937292T-C T C
+22 32937401 22:32937401A-G A G
+22 32937740 22:32937740T-C T C
+22 32937828 22:32937828C-T C T
+22 32937959 22:32937959T-C T C
+22 32938088 22:32938088T-C T C
+22 32938285 22:32938285C-G C G
+22 32938416 22:32938416A-G A G
+22 32938507 22:32938507C-T C T
+22 32938912 22:32938912C-A C A
+22 32938935 22:32938935G-C G C
+22 32939013 22:32939013A-G A G
+22 32939020 22:32939020C-G C G
+22 32939100 22:32939100G-A G A
+22 32939476 22:32939476C-T C T
+22 32939719 22:32939719G-A G A
+22 32939788 22:32939788C-T C T
+22 32939814 22:32939814A-G A G
+22 32939848 22:32939848T-C T C
+22 32940183 22:32940183C-G C G
+22 32940436 22:32940436T-C T C
+22 32940537 22:32940537C-T C T
+22 32940660 22:32940660T-C T C
+22 32941116 22:32941116T-G T G
+22 32941967 22:32941967G-C G C
+22 32942352 22:32942352T-C T C
+22 32942796 22:32942796C-T C T
+22 32943197 22:32943197G-C G C
+22 32943741 22:32943741A-T A T
+22 32944027 22:32944027C-T C T
+22 32944259 22:32944259T-C T C
+22 32944483 22:32944483T-C T C
+22 32944516 22:32944516G-A G A
+22 32944642 22:32944642G-A G A
+22 32944778 22:32944778C-A C A
+22 32944823 22:32944823C-T C T
+22 32945612 22:32945612C-A C A
+22 32945806 22:32945806T-C T C
+22 32946113 22:32946113T-C T C
+22 32946319 22:32946319G-A G A
+22 32946828 22:32946828A-T A T
+22 32946884 22:32946884A-G A G
+22 32948092 22:32948092A-C A C
+22 32948138 22:32948138G-A G A
+22 32948426 22:32948426T-C T C
+22 32948775 22:32948775C-T C T
+22 32948968 22:32948968T-A T A
+22 32948979 22:32948979G-T G T
+22 32949312 22:32949312G-A G A
+22 32949382 22:32949382C-A C A
+22 32949737 22:32949737G-A G A
+22 32950053 22:32950053T-G T G
+22 32950104 22:32950104A-G A G
+22 32950277 22:32950277A-G A G
+22 32951941 22:32951941A-G A G
+22 32952012 22:32952012C-A C A
+22 32952321 22:32952321T-A T A
+22 32953258 22:32953258A-G A G
+22 32953435 22:32953435C-G C G
+22 32953459 22:32953459C-T C T
+22 32954058 22:32954058T-C T C
+22 32954443 22:32954443A-G A G
+22 32955543 22:32955543G-A G A
+22 32956581 22:32956581C-T C T
+22 32958641 22:32958641A-C A C
+22 32958891 22:32958891A-G A G
+22 32959473 22:32959473G-A G A
+22 32960112 22:32960112A-G A G
+22 32960838 22:32960838T-C T C
+22 32961061 22:32961061T-A T A
+22 32961908 22:32961908C-T C T
+22 32961944 22:32961944C-T C T
+22 32962088 22:32962088T-C T C
+22 32963295 22:32963295G-A G A
+22 32963983 22:32963983T-C T C
+22 32964767 22:32964767T-A T A
+22 32964990 22:32964990G-A G A
+22 32965049 22:32965049G-A G A
+22 32965722 22:32965722A-G A G
+22 32966107 22:32966107G-A G A
+22 32966267 22:32966267G-A G A
+22 32966309 22:32966309C-G C G
+22 32966315 22:32966315A-T A T
+22 32966324 22:32966324C-T C T
+22 32966495 22:32966495T-C T C
+22 32966546 22:32966546C-G C G
+22 32966593 22:32966593T-A T A
+22 32966624 22:32966624T-C T C
+22 32967134 22:32967134A-G A G
+22 32967320 22:32967320T-G T G
+22 32967376 22:32967376G-A G A
+22 32967417 22:32967417C-T C T
+22 32968093 22:32968093A-C A C
+22 32968672 22:32968672A-G A G
+22 32969167 22:32969167T-C T C
+22 32969885 22:32969885A-G A G
+22 32970169 22:32970169T-C T C
+22 32970188 22:32970188C-T C T
+22 32970662 22:32970662A-C A C
+22 32970911 22:32970911T-C T C
+22 32971883 22:32971883A-C A C
+22 32971900 22:32971900C-T C T
+22 32973070 22:32973070A-G A G
+22 32973268 22:32973268T-G T G
+22 32974240 22:32974240C-T C T
+22 32975659 22:32975659T-C T C
+22 32976351 22:32976351G-A G A
+22 32977216 22:32977216T-C T C
+22 32977284 22:32977284C-T C T
+22 32977838 22:32977838G-A G A
+22 32978070 22:32978070T-C T C
+22 32978227 22:32978227T-G T G
+22 32978251 22:32978251G-T G T
+22 32978679 22:32978679T-C T C
+22 32978753 22:32978753A-G A G
+22 32978804 22:32978804G-A G A
+22 32978959 22:32978959T-C T C
+22 32978987 22:32978987G-A G A
+22 32979080 22:32979080G-A G A
+22 32979273 22:32979273G-A G A
+22 32979792 22:32979792C-G C G
+22 32980041 22:32980041A-T A T
+22 32980066 22:32980066G-A G A
+22 32980147 22:32980147T-C T C
+22 32980197 22:32980197T-G T G
+22 32980455 22:32980455G-A G A
+22 32980495 22:32980495G-C G C
+22 32980607 22:32980607T-C T C
+22 32980900 22:32980900T-A T A
+22 32981332 22:32981332C-T C T
+22 32981457 22:32981457A-T A T
+22 32981725 22:32981725A-G A G
+22 32982111 22:32982111T-C T C
+22 32982583 22:32982583T-C T C
+22 32982798 22:32982798T-C T C
+22 32983031 22:32983031A-G A G
+22 32983163 22:32983163A-G A G
+22 32983858 22:32983858A-G A G
+22 32983941 22:32983941C-T C T
+22 32985016 22:32985016T-C T C
+22 32985081 22:32985081G-C G C
+22 32985205 22:32985205T-C T C
+22 32985474 22:32985474G-A G A
+22 32985687 22:32985687T-C T C
+22 32986231 22:32986231A-C A C
+22 32986761 22:32986761T-C T C
+22 32987005 22:32987005T-A T A
+22 32987232 22:32987232A-C A C
+22 32987678 22:32987678T-C T C
+22 32987698 22:32987698G-C G C
+22 32987955 22:32987955G-A G A
+22 32988254 22:32988254T-C T C
+22 32988620 22:32988620T-C T C
+22 32990223 22:32990223C-T C T
+22 32990535 22:32990535G-A G A
+22 32990588 22:32990588C-T C T
+22 32990630 22:32990630C-T C T
+22 32990722 22:32990722C-T C T
+22 32991307 22:32991307T-A T A
+22 32991359 22:32991359C-A C A
+22 32991927 22:32991927A-G A G
+22 32992000 22:32992000C-T C T
+22 32992035 22:32992035C-T C T
+22 32992389 22:32992389T-C T C
+22 32993032 22:32993032T-C T C
+22 32994697 22:32994697C-T C T
+22 32994766 22:32994766G-A G A
+22 32994777 22:32994777G-A G A
+22 32995281 22:32995281C-T C T
+22 32995354 22:32995354C-G C G
+22 32995376 22:32995376C-T C T
+22 32995751 22:32995751T-C T C
+22 32996448 22:32996448T-C T C
+22 32996809 22:32996809T-G T G
+22 32997766 22:32997766C-T C T
+22 32997935 22:32997935T-C T C
+22 32998019 22:32998019T-C T C
+22 32998732 22:32998732T-C T C
+22 32999059 22:32999059T-C T C
+22 32999227 22:32999227G-A G A
+22 32999768 22:32999768C-T C T
+22 32999830 22:32999830T-C T C
+22 33000069 22:33000069A-G A G
+22 33000394 22:33000394A-G A G
+22 33000853 22:33000853G-A G A
+22 33000916 22:33000916C-T C T
+22 33001177 22:33001177C-A C A
+22 33001207 22:33001207C-A C A
+22 33001276 22:33001276G-A G A
+22 33001458 22:33001458C-T C T
+22 33001708 22:33001708T-C T C
+22 33001950 22:33001950C-T C T
+22 33002082 22:33002082C-T C T
+22 33002151 22:33002151A-G A G
+22 33002829 22:33002829A-T A T
+22 33003022 22:33003022A-G A G
+22 33003307 22:33003307C-T C T
+22 33004201 22:33004201G-A G A
+22 33004581 22:33004581C-T C T
+22 33005106 22:33005106C-T C T
+22 33006279 22:33006279A-C A C
+22 33006363 22:33006363T-C T C
+22 33006503 22:33006503A-C A C
+22 33006654 22:33006654C-T C T
+22 33006967 22:33006967A-G A G
+22 33007038 22:33007038G-C G C
+22 33007142 22:33007142G-A G A
+22 33007343 22:33007343C-G C G
+22 33007374 22:33007374G-T G T
+22 33007514 22:33007514G-A G A
+22 33007543 22:33007543G-C G C
+22 33008121 22:33008121T-C T C
+22 33008240 22:33008240C-T C T
+22 33008323 22:33008323G-A G A
+22 33008377 22:33008377A-G A G
+22 33008506 22:33008506G-A G A
+22 33009212 22:33009212G-T G T
+22 33009241 22:33009241A-G A G
+22 33009268 22:33009268G-A G A
+22 33009340 22:33009340G-C G C
+22 33009408 22:33009408A-C A C
+22 33010072 22:33010072T-C T C
+22 33010147 22:33010147C-T C T
+22 33010431 22:33010431G-T G T
+22 33010548 22:33010548G-A G A
+22 33010757 22:33010757C-T C T
+22 33011147 22:33011147C-T C T
+22 33011311 22:33011311C-T C T
+22 33012294 22:33012294G-C G C
+22 33012372 22:33012372G-C G C
+22 33012466 22:33012466C-T C T
+22 33012617 22:33012617C-T C T
+22 33013062 22:33013062A-C A C
+22 33013164 22:33013164G-A G A
+22 33013299 22:33013299T-C T C
+22 33014449 22:33014449A-G A G
+22 33014552 22:33014552T-C T C
+22 33014557 22:33014557C-G C G
+22 33015191 22:33015191G-A G A
+22 33015565 22:33015565G-A G A
+22 33015877 22:33015877G-A G A
+22 33016852 22:33016852C-T C T
+22 33016853 22:33016853G-A G A
+22 33017527 22:33017527G-C G C
+22 33017869 22:33017869T-C T C
+22 33018287 22:33018287G-A G A
+22 33019789 22:33019789T-G T G
+22 33020619 22:33020619C-T C T
+22 33020998 22:33020998C-G C G
+22 33021647 22:33021647C-T C T
+22 33021961 22:33021961G-A G A
+22 33023926 22:33023926G-T G T
+22 33024198 22:33024198C-T C T
+22 33025093 22:33025093G-A G A
+22 33025155 22:33025155G-A G A
+22 33025180 22:33025180C-A C A
+22 33025241 22:33025241A-G A G
+22 33028891 22:33028891G-A G A
+22 33031184 22:33031184C-G C G
+22 33031304 22:33031304T-A T A
+22 33031393 22:33031393C-T C T
+22 33032226 22:33032226C-A C A
+22 33032458 22:33032458C-T C T
+22 33032722 22:33032722G-T G T
+22 33032781 22:33032781A-G A G
+22 33032890 22:33032890T-G T G
+22 33032952 22:33032952A-G A G
+22 33033048 22:33033048G-A G A
+22 33033914 22:33033914C-T C T
+22 33034008 22:33034008G-A G A
+22 33034206 22:33034206G-A G A
+22 33034482 22:33034482C-T C T
+22 33035042 22:33035042C-A C A
+22 33035130 22:33035130G-A G A
+22 33035250 22:33035250A-G A G
+22 33037035 22:33037035G-A G A
+22 33037195 22:33037195T-C T C
+22 33037373 22:33037373T-C T C
+22 33037467 22:33037467G-A G A
+22 33037748 22:33037748C-A C A
+22 33037995 22:33037995C-G C G
+22 33038280 22:33038280A-T A T
+22 33038660 22:33038660C-T C T
+22 33039289 22:33039289C-T C T
+22 33039316 22:33039316G-A G A
+22 33040006 22:33040006G-A G A
+22 33040795 22:33040795C-G C G
+22 33041208 22:33041208A-C A C
+22 33041326 22:33041326A-T A T
+22 33041351 22:33041351C-G C G
+22 33041385 22:33041385G-C G C
+22 33041767 22:33041767C-T C T
+22 33041872 22:33041872A-G A G
+22 33042209 22:33042209C-T C T
+22 33042541 22:33042541G-A G A
+22 33043490 22:33043490C-T C T
+22 33043926 22:33043926T-C T C
+22 33044049 22:33044049C-T C T
+22 33044740 22:33044740A-G A G
+22 33044935 22:33044935G-A G A
+22 33044995 22:33044995C-T C T
+22 33045122 22:33045122C-G C G
+22 33045395 22:33045395C-T C T
+22 33045411 22:33045411C-T C T
+22 33045573 22:33045573C-T C T
+22 33045619 22:33045619G-A G A
+22 33045846 22:33045846A-T A T
+22 33046110 22:33046110C-G C G
+22 33046536 22:33046536C-G C G
+22 33046628 22:33046628T-C T C
+22 33046732 22:33046732C-G C G
+22 33047011 22:33047011T-G T G
+22 33047492 22:33047492C-T C T
+22 33047633 22:33047633G-A G A
+22 33047706 22:33047706A-G A G
+22 33048039 22:33048039C-T C T
+22 33048216 22:33048216T-G T G
+22 33048338 22:33048338T-C T C
+22 33048925 22:33048925C-A C A
+22 33049405 22:33049405G-C G C
+22 33050136 22:33050136G-A G A
+22 33050233 22:33050233T-G T G
+22 33050315 22:33050315G-C G C
+22 33050466 22:33050466C-T C T
+22 33050566 22:33050566T-C T C
+22 33051198 22:33051198A-G A G
+22 33054131 22:33054131G-T G T
+22 33054687 22:33054687G-A G A
+22 33055555 22:33055555T-G T G
+22 33056341 22:33056341T-C T C
+22 33056492 22:33056492C-A C A
+22 33056789 22:33056789C-T C T
+22 33056859 22:33056859C-T C T
+22 33057746 22:33057746A-G A G
+22 33063726 22:33063726G-A G A
+22 33063742 22:33063742G-A G A
+22 33069689 22:33069689C-T C T
+22 33074506 22:33074506C-T C T
+22 33077216 22:33077216G-A G A
+22 33088914 22:33088914T-C T C
+22 33091812 22:33091812A-C A C
+22 33092669 22:33092669A-G A G
+22 33093398 22:33093398A-G A G
+22 33094375 22:33094375G-A G A
+22 33095075 22:33095075G-A G A
+22 33095560 22:33095560A-G A G
+22 33096178 22:33096178G-A G A
+22 33097662 22:33097662A-G A G
+22 33100533 22:33100533T-C T C
+22 33100737 22:33100737T-C T C
+22 33102413 22:33102413C-T C T
+22 33103918 22:33103918A-G A G
+22 33103968 22:33103968T-C T C
+22 33104348 22:33104348A-G A G
+22 33104377 22:33104377G-A G A
+22 33104515 22:33104515C-T C T
+22 33105817 22:33105817T-C T C
+22 33106533 22:33106533T-C T C
+22 33106737 22:33106737T-G T G
+22 33106757 22:33106757C-T C T
+22 33107311 22:33107311C-T C T
+22 33107956 22:33107956T-G T G
+22 33108058 22:33108058G-C G C
+22 33108150 22:33108150C-G C G
+22 33108536 22:33108536C-T C T
+22 33108981 22:33108981C-T C T
+22 33109382 22:33109382G-C G C
+22 33110783 22:33110783C-T C T
+22 33112214 22:33112214T-G T G
+22 33113151 22:33113151T-G T G
+22 33113375 22:33113375T-C T C
+22 33113688 22:33113688A-C A C
+22 33115206 22:33115206C-T C T
+22 33115801 22:33115801C-T C T
+22 33115879 22:33115879G-C G C
+22 33116109 22:33116109T-C T C
+22 33116314 22:33116314C-A C A
+22 33116435 22:33116435C-T C T
+22 33116669 22:33116669C-T C T
+22 33116779 22:33116779G-T G T
+22 33116782 22:33116782C-A C A
+22 33118048 22:33118048C-T C T
+22 33118165 22:33118165G-A G A
+22 33118882 22:33118882T-A T A
+22 33119113 22:33119113C-T C T
+22 33120220 22:33120220G-A G A
+22 33120279 22:33120279T-C T C
+22 33120576 22:33120576G-A G A
+22 33120657 22:33120657A-T A T
+22 33121330 22:33121330A-T A T
+22 33121988 22:33121988C-G C G
+22 33122204 22:33122204C-A C A
+22 33122215 22:33122215G-A G A
+22 33122336 22:33122336C-T C T
+22 33123444 22:33123444G-A G A
+22 33123826 22:33123826A-G A G
+22 33123868 22:33123868T-C T C
+22 33123869 22:33123869T-G T G
+22 33124633 22:33124633T-C T C
+22 33124807 22:33124807C-T C T
+22 33125088 22:33125088G-T G T
+22 33125848 22:33125848T-A T A
+22 33125992 22:33125992C-T C T
+22 33126076 22:33126076A-T A T
+22 33126079 22:33126079C-T C T
+22 33126728 22:33126728A-G A G
+22 33126732 22:33126732C-T C T
+22 33126928 22:33126928A-G A G
+22 33127416 22:33127416C-G C G
+22 33127481 22:33127481T-C T C
+22 33127505 22:33127505T-C T C
+22 33127612 22:33127612G-A G A
+22 33127657 22:33127657T-A T A
+22 33128597 22:33128597A-T A T
+22 33128761 22:33128761C-T C T
+22 33129022 22:33129022T-C T C
+22 33129932 22:33129932A-G A G
+22 33131046 22:33131046T-C T C
+22 33131193 22:33131193A-T A T
+22 33131355 22:33131355G-A G A
+22 33131486 22:33131486T-C T C
+22 33131729 22:33131729T-C T C
+22 33131989 22:33131989T-C T C
+22 33132063 22:33132063C-G C G
+22 33132579 22:33132579G-A G A
+22 33132890 22:33132890C-T C T
+22 33133201 22:33133201T-A T A
+22 33133731 22:33133731A-C A C
+22 33133732 22:33133732G-A G A
+22 33133885 22:33133885C-A C A
+22 33133945 22:33133945A-G A G
+22 33134399 22:33134399A-G A G
+22 33135514 22:33135514A-C A C
+22 33135710 22:33135710G-C G C
+22 33135768 22:33135768T-G T G
+22 33135922 22:33135922G-A G A
+22 33136886 22:33136886T-G T G
+22 33136937 22:33136937C-T C T
+22 33138503 22:33138503T-A T A
+22 33138565 22:33138565A-C A C
+22 33138584 22:33138584A-T A T
+22 33138590 22:33138590T-C T C
+22 33138682 22:33138682A-G A G
+22 33139230 22:33139230C-T C T
+22 33139492 22:33139492C-T C T
+22 33140411 22:33140411T-A T A
+22 33140654 22:33140654C-T C T
+22 33140799 22:33140799C-T C T
+22 33140855 22:33140855C-T C T
+22 33141616 22:33141616T-C T C
+22 33142153 22:33142153C-T C T
+22 33142154 22:33142154A-G A G
+22 33142908 22:33142908A-G A G
+22 33143528 22:33143528A-G A G
+22 33143662 22:33143662G-C G C
+22 33143700 22:33143700C-A C A
+22 33144086 22:33144086C-T C T
+22 33144298 22:33144298C-G C G
+22 33144446 22:33144446C-G C G
+22 33144874 22:33144874T-G T G
+22 33145495 22:33145495T-C T C
+22 33145685 22:33145685T-C T C
+22 33146283 22:33146283A-T A T
+22 33146363 22:33146363G-A G A
+22 33146810 22:33146810G-A G A
+22 33147275 22:33147275T-C T C
+22 33147483 22:33147483C-T C T
+22 33147526 22:33147526G-A G A
+22 33148084 22:33148084A-G A G
+22 33148102 22:33148102C-T C T
+22 33148391 22:33148391G-A G A
+22 33148575 22:33148575G-A G A
+22 33148576 22:33148576C-T C T
+22 33148577 22:33148577G-A G A
+22 33148846 22:33148846G-A G A
+22 33148919 22:33148919A-G A G
+22 33149095 22:33149095A-G A G
+22 33149788 22:33149788C-T C T
+22 33149936 22:33149936C-A C A
+22 33150236 22:33150236C-T C T
+22 33150485 22:33150485A-C A C
+22 33150536 22:33150536G-A G A
+22 33150769 22:33150769C-A C A
+22 33151251 22:33151251C-T C T
+22 33151540 22:33151540C-T C T
+22 33151639 22:33151639C-T C T
+22 33151710 22:33151710T-C T C
+22 33152045 22:33152045C-T C T
+22 33152280 22:33152280C-G C G
+22 33152373 22:33152373C-T C T
+22 33152434 22:33152434T-C T C
+22 33152975 22:33152975G-C G C
+22 33152977 22:33152977C-T C T
+22 33153347 22:33153347A-G A G
+22 33153451 22:33153451T-C T C
+22 33154395 22:33154395T-G T G
+22 33154974 22:33154974T-C T C
+22 33155017 22:33155017A-G A G
+22 33155022 22:33155022G-C G C
+22 33155146 22:33155146T-C T C
+22 33156214 22:33156214A-C A C
+22 33156302 22:33156302G-A G A
+22 33156343 22:33156343G-T G T
+22 33156506 22:33156506T-C T C
+22 33156605 22:33156605G-A G A
+22 33156702 22:33156702G-A G A
+22 33156736 22:33156736A-G A G
+22 33157167 22:33157167T-C T C
+22 33157168 22:33157168G-A G A
+22 33157292 22:33157292G-T G T
+22 33157339 22:33157339G-T G T
+22 33157359 22:33157359G-A G A
+22 33157968 22:33157968G-A G A
+22 33158023 22:33158023C-T C T
+22 33158093 22:33158093C-T C T
+22 33158127 22:33158127T-G T G
+22 33158361 22:33158361T-C T C
+22 33158685 22:33158685G-A G A
+22 33158917 22:33158917A-G A G
+22 33159092 22:33159092A-G A G
+22 33159256 22:33159256T-C T C
+22 33159636 22:33159636G-A G A
+22 33159872 22:33159872C-T C T
+22 33159962 22:33159962C-T C T
+22 33160204 22:33160204C-T C T
+22 33160208 22:33160208T-C T C
+22 33160379 22:33160379C-T C T
+22 33160397 22:33160397C-T C T
+22 33160514 22:33160514G-A G A
+22 33160745 22:33160745G-A G A
+22 33161150 22:33161150A-G A G
+22 33161295 22:33161295C-T C T
+22 33161514 22:33161514C-T C T
+22 33161552 22:33161552G-A G A
+22 33161824 22:33161824C-T C T
+22 33162023 22:33162023A-G A G
+22 33162672 22:33162672T-C T C
+22 33162718 22:33162718T-G T G
+22 33162831 22:33162831C-T C T
+22 33163050 22:33163050G-A G A
+22 33163106 22:33163106C-T C T
+22 33163141 22:33163141C-T C T
+22 33163301 22:33163301G-T G T
+22 33163302 22:33163302T-A T A
+22 33163549 22:33163549G-A G A
+22 33163714 22:33163714G-A G A
+22 33163864 22:33163864T-C T C
+22 33164318 22:33164318G-A G A
+22 33164322 22:33164322C-G C G
+22 33164460 22:33164460A-G A G
+22 33164709 22:33164709C-T C T
+22 33165020 22:33165020G-A G A
+22 33165252 22:33165252C-T C T
+22 33165464 22:33165464A-C A C
+22 33166227 22:33166227C-A C A
+22 33166332 22:33166332A-G A G
+22 33166449 22:33166449C-T C T
+22 33166476 22:33166476C-T C T
+22 33166963 22:33166963G-A G A
+22 33167223 22:33167223C-T C T
+22 33167640 22:33167640C-T C T
+22 33167668 22:33167668C-A C A
+22 33167851 22:33167851T-C T C
+22 33167869 22:33167869C-T C T
+22 33168004 22:33168004G-A G A
+22 33168416 22:33168416G-A G A
+22 33168437 22:33168437C-T C T
+22 33168491 22:33168491A-G A G
+22 33168562 22:33168562A-G A G
+22 33168688 22:33168688T-A T A
+22 33168691 22:33168691T-C T C
+22 33168752 22:33168752G-T G T
+22 33168882 22:33168882C-G C G
+22 33168938 22:33168938A-T A T
+22 33168939 22:33168939C-T C T
+22 33169087 22:33169087A-C A C
+22 33169115 22:33169115T-C T C
+22 33169489 22:33169489C-T C T
+22 33169667 22:33169667T-C T C
+22 33169813 22:33169813A-G A G
+22 33169975 22:33169975C-T C T
+22 33170032 22:33170032A-G A G
+22 33170101 22:33170101C-T C T
+22 33170139 22:33170139A-T A T
+22 33170377 22:33170377C-T C T
+22 33170602 22:33170602G-A G A
+22 33170683 22:33170683T-C T C
+22 33170829 22:33170829G-A G A
+22 33170856 22:33170856A-G A G
+22 33171181 22:33171181G-A G A
+22 33171517 22:33171517C-T C T
+22 33171838 22:33171838G-T G T
+22 33171931 22:33171931T-C T C
+22 33172005 22:33172005C-T C T
+22 33172020 22:33172020G-A G A
+22 33172225 22:33172225T-G T G
+22 33172612 22:33172612T-C T C
+22 33172991 22:33172991A-G A G
+22 33172994 22:33172994T-A T A
+22 33173049 22:33173049C-G C G
+22 33173055 22:33173055G-C G C
+22 33173231 22:33173231G-A G A
+22 33173355 22:33173355G-T G T
+22 33173569 22:33173569T-C T C
+22 33173658 22:33173658C-G C G
+22 33173756 22:33173756T-C T C
+22 33173913 22:33173913A-G A G
+22 33173944 22:33173944G-A G A
+22 33174263 22:33174263T-A T A
+22 33174500 22:33174500G-A G A
+22 33174649 22:33174649A-G A G
+22 33174721 22:33174721G-A G A
+22 33174766 22:33174766T-G T G
+22 33174981 22:33174981C-T C T
+22 33175168 22:33175168G-T G T
+22 33175327 22:33175327T-C T C
+22 33175471 22:33175471C-G C G
+22 33175638 22:33175638G-A G A
+22 33175718 22:33175718G-A G A
+22 33175749 22:33175749G-A G A
+22 33175786 22:33175786G-A G A
+22 33175883 22:33175883A-G A G
+22 33176326 22:33176326C-G C G
+22 33176450 22:33176450C-T C T
+22 33176532 22:33176532G-A G A
+22 33176766 22:33176766A-G A G
+22 33176834 22:33176834A-C A C
+22 33177390 22:33177390T-G T G
+22 33177778 22:33177778G-A G A
+22 33178147 22:33178147T-C T C
+22 33178302 22:33178302C-T C T
+22 33178937 22:33178937G-A G A
+22 33179223 22:33179223G-A G A
+22 33179451 22:33179451A-C A C
+22 33179540 22:33179540C-G C G
+22 33180076 22:33180076A-G A G
+22 33180102 22:33180102C-T C T
+22 33180204 22:33180204T-C T C
+22 33180544 22:33180544C-T C T
+22 33181302 22:33181302T-C T C
+22 33181349 22:33181349T-C T C
+22 33181575 22:33181575T-C T C
+22 33181787 22:33181787G-A G A
+22 33181818 22:33181818T-C T C
+22 33182217 22:33182217C-A C A
+22 33182505 22:33182505C-T C T
+22 33182569 22:33182569C-T C T
+22 33182591 22:33182591A-G A G
+22 33182937 22:33182937T-C T C
+22 33183146 22:33183146G-A G A
+22 33183583 22:33183583C-T C T
+22 33183789 22:33183789C-T C T
+22 33183827 22:33183827G-A G A
+22 33183979 22:33183979A-T A T
+22 33183982 22:33183982T-C T C
+22 33184184 22:33184184C-T C T
+22 33184265 22:33184265C-T C T
+22 33184323 22:33184323C-T C T
+22 33184419 22:33184419C-G C G
+22 33184543 22:33184543A-G A G
+22 33185047 22:33185047C-T C T
+22 33185597 22:33185597A-G A G
+22 33186098 22:33186098A-G A G
+22 33186180 22:33186180C-T C T
+22 33186442 22:33186442C-T C T
+22 33186665 22:33186665G-A G A
+22 33186760 22:33186760G-A G A
+22 33187342 22:33187342T-C T C
+22 33187641 22:33187641A-G A G
+22 33187765 22:33187765T-C T C
+22 33187767 22:33187767G-C G C
+22 33187898 22:33187898C-T C T
+22 33187942 22:33187942T-C T C
+22 33188158 22:33188158G-C G C
+22 33188183 22:33188183G-C G C
+22 33188307 22:33188307T-C T C
+22 33188449 22:33188449T-C T C
+22 33188536 22:33188536C-T C T
+22 33188545 22:33188545C-T C T
+22 33188976 22:33188976A-G A G
+22 33189459 22:33189459T-A T A
+22 33190224 22:33190224C-A C A
+22 33190693 22:33190693C-A C A
+22 33190735 22:33190735A-G A G
+22 33190867 22:33190867T-C T C
+22 33191373 22:33191373C-A C A
+22 33191491 22:33191491T-C T C
+22 33192189 22:33192189T-C T C
+22 33192544 22:33192544C-T C T
+22 33192582 22:33192582G-A G A
+22 33193050 22:33193050G-A G A
+22 33193905 22:33193905G-C G C
+22 33194162 22:33194162C-A C A
+22 33196384 22:33196384C-T C T
+22 33196693 22:33196693T-C T C
+22 33197074 22:33197074A-G A G
+22 33198451 22:33198451T-C T C
+22 33198530 22:33198530A-G A G
+22 33199362 22:33199362G-A G A
+22 33200399 22:33200399T-C T C
+22 33201286 22:33201286G-C G C
+22 33201654 22:33201654C-T C T
+22 33202415 22:33202415C-T C T
+22 33202478 22:33202478A-G A G
+22 33203188 22:33203188T-C T C
+22 33203602 22:33203602G-C G C
+22 33204334 22:33204334C-T C T
+22 33204987 22:33204987C-T C T
+22 33206511 22:33206511G-A G A
+22 33206863 22:33206863G-T G T
+22 33207308 22:33207308C-T C T
+22 33207697 22:33207697C-G C G
+22 33208437 22:33208437C-T C T
+22 33210005 22:33210005C-T C T
+22 33212769 22:33212769C-T C T
+22 33213185 22:33213185C-T C T
+22 33213319 22:33213319A-G A G
+22 33216760 22:33216760A-G A G
+22 33218559 22:33218559C-T C T
+22 33219453 22:33219453G-A G A
+22 33219887 22:33219887T-C T C
+22 33219899 22:33219899T-C T C
+22 33219938 22:33219938C-T C T
+22 33220693 22:33220693A-G A G
+22 33221030 22:33221030C-T C T
+22 33221116 22:33221116G-A G A
+22 33221375 22:33221375G-A G A
+22 33221939 22:33221939G-A G A
+22 33223462 22:33223462A-G A G
+22 33224285 22:33224285C-T C T
+22 33224439 22:33224439C-T C T
+22 33224509 22:33224509T-A T A
+22 33224779 22:33224779C-T C T
+22 33225023 22:33225023C-T C T
+22 33225951 22:33225951T-C T C
+22 33226987 22:33226987C-A C A
+22 33227498 22:33227498T-C T C
+22 33228070 22:33228070C-T C T
+22 33228692 22:33228692A-G A G
+22 33228722 22:33228722T-C T C
+22 33229596 22:33229596G-A G A
+22 33229685 22:33229685T-C T C
+22 33229804 22:33229804G-A G A
+22 33229830 22:33229830A-G A G
+22 33230349 22:33230349G-A G A
+22 33230620 22:33230620G-C G C
+22 33230792 22:33230792G-A G A
+22 33230904 22:33230904A-G A G
+22 33231386 22:33231386G-A G A
+22 33232156 22:33232156G-A G A
+22 33232546 22:33232546T-C T C
+22 33234179 22:33234179C-G C G
+22 33234199 22:33234199T-G T G
+22 33234228 22:33234228G-C G C
+22 33234931 22:33234931G-A G A
+22 33235517 22:33235517C-T C T
+22 33236544 22:33236544G-A G A
+22 33236572 22:33236572G-C G C
+22 33237112 22:33237112G-T G T
+22 33237191 22:33237191A-G A G
+22 33237719 22:33237719A-G A G
+22 33238107 22:33238107G-T G T
+22 33238108 22:33238108A-T A T
+22 33238149 22:33238149C-G C G
+22 33240034 22:33240034G-A G A
+22 33240290 22:33240290A-G A G
+22 33241769 22:33241769T-C T C
+22 33242162 22:33242162G-T G T
+22 33243656 22:33243656G-T G T
+22 33244314 22:33244314C-T C T
+22 33244421 22:33244421A-T A T
+22 33246032 22:33246032C-T C T
+22 33246977 22:33246977T-G T G
+22 33248055 22:33248055A-T A T
+22 33248902 22:33248902G-A G A
+22 33249271 22:33249271C-T C T
+22 33249839 22:33249839A-G A G
+22 33249873 22:33249873C-T C T
+22 33251033 22:33251033G-A G A
+22 33251408 22:33251408C-T C T
+22 33251908 22:33251908C-A C A
+22 33252041 22:33252041A-G A G
+22 33252224 22:33252224C-G C G
+22 33253280 22:33253280T-C T C
+22 33253292 22:33253292C-T C T
+22 33254283 22:33254283T-A T A
+22 33257322 22:33257322T-C T C
+22 33258050 22:33258050C-T C T
+22 33258288 22:33258288T-C T C
+22 33259064 22:33259064C-T C T
+22 33259104 22:33259104A-G A G
+22 33259625 22:33259625T-C T C
+22 33261808 22:33261808C-T C T
+22 33262935 22:33262935T-C T C
+22 33262994 22:33262994A-G A G
+22 33263431 22:33263431C-T C T
+22 33263558 22:33263558T-C T C
+22 33263601 22:33263601T-C T C
+22 33263630 22:33263630C-A C A
+22 33264587 22:33264587C-A C A
+22 33265922 22:33265922G-T G T
+22 33266191 22:33266191A-G A G
+22 33266381 22:33266381T-C T C
+22 33266415 22:33266415A-C A C
+22 33266478 22:33266478A-G A G
+22 33266865 22:33266865T-C T C
+22 33267675 22:33267675C-G C G
+22 33267839 22:33267839C-T C T
+22 33268413 22:33268413C-T C T
+22 33268517 22:33268517T-A T A
+22 33268574 22:33268574T-C T C
+22 33270348 22:33270348C-A C A
+22 33270461 22:33270461T-C T C
+22 33270665 22:33270665A-G A G
+22 33271487 22:33271487G-A G A
+22 33272699 22:33272699T-C T C
+22 33273786 22:33273786C-T C T
+22 33273827 22:33273827C-T C T
+22 33274166 22:33274166G-C G C
+22 33274175 22:33274175C-G C G
+22 33274737 22:33274737A-C A C
+22 33275140 22:33275140C-T C T
+22 33275447 22:33275447G-A G A
+22 33275564 22:33275564C-T C T
+22 33275735 22:33275735G-A G A
+22 33276313 22:33276313C-G C G
+22 33276340 22:33276340C-G C G
+22 33276474 22:33276474G-A G A
+22 33276686 22:33276686A-G A G
+22 33276739 22:33276739G-A G A
+22 33276907 22:33276907G-A G A
+22 33276999 22:33276999G-A G A
+22 33277200 22:33277200C-G C G
+22 33277425 22:33277425G-A G A
+22 33277551 22:33277551C-T C T
+22 33277933 22:33277933T-C T C
+22 33277990 22:33277990C-T C T
+22 33278904 22:33278904A-T A T
+22 33279237 22:33279237C-T C T
+22 33279447 22:33279447C-T C T
+22 33280097 22:33280097T-C T C
+22 33280643 22:33280643G-A G A
+22 33281055 22:33281055T-C T C
+22 33281502 22:33281502C-T C T
+22 33281672 22:33281672C-T C T
+22 33281783 22:33281783G-A G A
+22 33282013 22:33282013G-C G C
+22 33282313 22:33282313C-T C T
+22 33282418 22:33282418C-T C T
+22 33282692 22:33282692G-C G C
+22 33282943 22:33282943T-C T C
+22 33282971 22:33282971T-C T C
+22 33283257 22:33283257T-C T C
+22 33284221 22:33284221T-G T G
+22 33284335 22:33284335G-A G A
+22 33284766 22:33284766G-T G T
+22 33284794 22:33284794A-C A C
+22 33285639 22:33285639C-T C T
+22 33286018 22:33286018T-G T G
+22 33286025 22:33286025A-G A G
+22 33286796 22:33286796G-T G T
+22 33286798 22:33286798G-T G T
+22 33287094 22:33287094C-T C T
+22 33287772 22:33287772C-T C T
+22 33288462 22:33288462A-G A G
+22 33288875 22:33288875T-C T C
+22 33289147 22:33289147C-G C G
+22 33289510 22:33289510T-C T C
+22 33289751 22:33289751C-T C T
+22 33290118 22:33290118T-C T C
+22 33291162 22:33291162T-A T A
+22 33291742 22:33291742T-C T C
+22 33292491 22:33292491A-G A G
+22 33292689 22:33292689T-G T G
+22 33292913 22:33292913C-T C T
+22 33293908 22:33293908T-C T C
+22 33294202 22:33294202G-A G A
+22 33296139 22:33296139C-T C T
+22 33298130 22:33298130G-A G A
+22 33298414 22:33298414C-A C A
+22 33298616 22:33298616C-T C T
+22 33298762 22:33298762T-A T A
+22 33299020 22:33299020G-A G A
+22 33299596 22:33299596C-A C A
+22 33299876 22:33299876C-T C T
+22 33300101 22:33300101T-C T C
+22 33300137 22:33300137C-T C T
+22 33300347 22:33300347G-T G T
+22 33300471 22:33300471G-A G A
+22 33300472 22:33300472T-C T C
+22 33301494 22:33301494C-T C T
+22 33302892 22:33302892T-C T C
+22 33303500 22:33303500G-T G T
+22 33303563 22:33303563C-A C A
+22 33304100 22:33304100G-A G A
+22 33305481 22:33305481C-A C A
+22 33306021 22:33306021C-T C T
+22 33307066 22:33307066G-A G A
+22 33308118 22:33308118T-C T C
+22 33308853 22:33308853C-T C T
+22 33311711 22:33311711T-G T G
+22 33312820 22:33312820A-T A T
+22 33313367 22:33313367G-A G A
+22 33314595 22:33314595T-G T G
+22 33314914 22:33314914T-C T C
+22 33315969 22:33315969A-G A G
+22 33316280 22:33316280C-T C T
+22 33316601 22:33316601G-C G C
+22 33317196 22:33317196A-G A G
+22 33319208 22:33319208G-T G T
+22 33319654 22:33319654T-A T A
+22 33319827 22:33319827C-A C A
+22 33319908 22:33319908T-C T C
+22 33322277 22:33322277A-T A T
+22 33323972 22:33323972G-C G C
+22 33324871 22:33324871C-A C A
+22 33325803 22:33325803T-G T G
+22 33326347 22:33326347A-G A G
+22 33328381 22:33328381T-C T C
+22 33329390 22:33329390G-C G C
+22 33332712 22:33332712T-A T A
+22 33334492 22:33334492G-A G A
+22 33335386 22:33335386C-G C G
+22 33335926 22:33335926C-A C A
+22 33336039 22:33336039G-T G T
+22 33336174 22:33336174C-T C T
+22 33336278 22:33336278C-T C T
+22 33338662 22:33338662C-A C A
+22 33339702 22:33339702G-A G A
+22 33341848 22:33341848G-C G C
+22 33341881 22:33341881C-G C G
+22 33342372 22:33342372T-G T G
+22 33342469 22:33342469T-C T C
+22 33343420 22:33343420C-G C G
+22 33343871 22:33343871G-A G A
+22 33344444 22:33344444A-G A G
+22 33344975 22:33344975T-A T A
+22 33345670 22:33345670C-T C T
+22 33346233 22:33346233T-C T C
+22 33346615 22:33346615T-G T G
+22 33347576 22:33347576T-C T C
+22 33347892 22:33347892T-C T C
+22 33348093 22:33348093G-A G A
+22 33350177 22:33350177G-C G C
+22 33351724 22:33351724T-G T G
+22 33351886 22:33351886G-C G C
+22 33352674 22:33352674A-G A G
+22 33352786 22:33352786T-C T C
+22 33355095 22:33355095A-G A G
+22 33355674 22:33355674C-A C A
+22 33355741 22:33355741G-C G C
+22 33355855 22:33355855C-T C T
+22 33358277 22:33358277C-T C T
+22 33358878 22:33358878A-C A C
+22 33358980 22:33358980G-A G A
+22 33359541 22:33359541A-G A G
+22 33361147 22:33361147A-C A C
+22 33361675 22:33361675C-G C G
+22 33361869 22:33361869C-T C T
+22 33362522 22:33362522T-C T C
+22 33362627 22:33362627T-C T C
+22 33363420 22:33363420T-C T C
+22 33363999 22:33363999G-T G T
+22 33364457 22:33364457A-G A G
+22 33364704 22:33364704C-T C T
+22 33365278 22:33365278T-C T C
+22 33366051 22:33366051A-G A G
+22 33366929 22:33366929A-G A G
+22 33368033 22:33368033G-A G A
+22 33368116 22:33368116C-T C T
+22 33369319 22:33369319C-T C T
+22 33370736 22:33370736G-A G A
+22 33371335 22:33371335A-G A G
+22 33371593 22:33371593T-A T A
+22 33373216 22:33373216T-C T C
+22 33373326 22:33373326G-A G A
+22 33373486 22:33373486G-T G T
+22 33373505 22:33373505T-C T C
+22 33373621 22:33373621T-C T C
+22 33374127 22:33374127G-A G A
+22 33375704 22:33375704A-G A G
+22 33375845 22:33375845G-C G C
+22 33375960 22:33375960C-T C T
+22 33376984 22:33376984T-C T C
+22 33377502 22:33377502A-G A G
+22 33377556 22:33377556C-A C A
+22 33378834 22:33378834A-G A G
+22 33379555 22:33379555T-C T C
+22 33379762 22:33379762T-C T C
+22 33379795 22:33379795G-T G T
+22 33381222 22:33381222A-G A G
+22 33382755 22:33382755T-C T C
+22 33382756 22:33382756A-G A G
+22 33382956 22:33382956C-T C T
+22 33382973 22:33382973T-C T C
+22 33383419 22:33383419G-A G A
+22 33383490 22:33383490G-C G C
+22 33383563 22:33383563A-G A G
+22 33383799 22:33383799T-C T C
+22 33384100 22:33384100T-C T C
+22 33385079 22:33385079A-G A G
+22 33385241 22:33385241T-C T C
+22 33385542 22:33385542G-T G T
+22 33385657 22:33385657C-T C T
+22 33385690 22:33385690T-C T C
+22 33385841 22:33385841G-T G T
+22 33385930 22:33385930C-T C T
+22 33387770 22:33387770T-C T C
+22 33387795 22:33387795A-G A G
+22 33388996 22:33388996A-C A C
+22 33389738 22:33389738C-T C T
+22 33391643 22:33391643C-A C A
+22 33392018 22:33392018T-C T C
+22 33392076 22:33392076C-G C G
+22 33392179 22:33392179G-A G A
+22 33393651 22:33393651G-A G A
+22 33393738 22:33393738G-A G A
+22 33394067 22:33394067C-T C T
+22 33395296 22:33395296T-A T A
+22 33395718 22:33395718G-A G A
+22 33395851 22:33395851A-C A C
+22 33396435 22:33396435G-A G A
+22 33396463 22:33396463G-A G A
+22 33396471 22:33396471G-T G T
+22 33396759 22:33396759C-T C T
+22 33397425 22:33397425T-G T G
+22 33398069 22:33398069C-T C T
+22 33398087 22:33398087A-G A G
+22 33398097 22:33398097C-T C T
+22 33398214 22:33398214T-C T C
+22 33398357 22:33398357G-A G A
+22 33398900 22:33398900C-A C A
+22 33400025 22:33400025G-A G A
+22 33401025 22:33401025C-T C T
+22 33401215 22:33401215A-G A G
+22 33401355 22:33401355T-C T C
+22 33401784 22:33401784C-T C T
+22 33401968 22:33401968T-A T A
+22 33402843 22:33402843C-T C T
+22 33403278 22:33403278G-C G C
+22 33404546 22:33404546A-C A C
+22 33404758 22:33404758T-A T A
+22 33405273 22:33405273C-T C T
+22 33405293 22:33405293T-C T C
+22 33406756 22:33406756A-T A T
+22 33408519 22:33408519C-T C T
+22 33408668 22:33408668T-C T C
+22 33408799 22:33408799C-G C G
+22 33408943 22:33408943G-T G T
+22 33409904 22:33409904G-A G A
+22 33410205 22:33410205C-A C A
+22 33410908 22:33410908G-C G C
+22 33410992 22:33410992C-T C T
+22 33411326 22:33411326G-T G T
+22 33411446 22:33411446G-A G A
+22 33411893 22:33411893C-T C T
+22 33411921 22:33411921C-G C G
+22 33412260 22:33412260C-T C T
+22 33413096 22:33413096A-C A C
+22 33413310 22:33413310T-C T C
+22 33414164 22:33414164G-A G A
+22 33415869 22:33415869C-T C T
+22 33416201 22:33416201G-A G A
+22 33416457 22:33416457A-G A G
+22 33416478 22:33416478C-T C T
+22 33416776 22:33416776G-C G C
+22 33417405 22:33417405T-A T A
+22 33417607 22:33417607C-T C T
+22 33418564 22:33418564G-A G A
+22 33418856 22:33418856T-C T C
+22 33419172 22:33419172C-T C T
+22 33419282 22:33419282A-C A C
+22 33419532 22:33419532T-A T A
+22 33419703 22:33419703C-T C T
+22 33419847 22:33419847C-T C T
+22 33420266 22:33420266C-T C T
+22 33420741 22:33420741G-T G T
+22 33421179 22:33421179C-T C T
+22 33421826 22:33421826T-C T C
+22 33422090 22:33422090G-C G C
+22 33422218 22:33422218G-A G A
+22 33422506 22:33422506T-C T C
+22 33423463 22:33423463T-C T C
+22 33423850 22:33423850G-A G A
+22 33424749 22:33424749A-G A G
+22 33426247 22:33426247C-T C T
+22 33426329 22:33426329A-G A G
+22 33428301 22:33428301T-C T C
+22 33428448 22:33428448C-T C T
+22 33428984 22:33428984T-C T C
+22 33429579 22:33429579C-G C G
+22 33429612 22:33429612A-T A T
+22 33429659 22:33429659C-A C A
+22 33429708 22:33429708T-C T C
+22 33429865 22:33429865C-G C G
+22 33430010 22:33430010G-A G A
+22 33430232 22:33430232G-T G T
+22 33430734 22:33430734G-A G A
+22 33430898 22:33430898A-G A G
+22 33431164 22:33431164G-A G A
+22 33431218 22:33431218A-G A G
+22 33431550 22:33431550T-C T C
+22 33431665 22:33431665G-A G A
+22 33431736 22:33431736C-T C T
+22 33431816 22:33431816C-T C T
+22 33433644 22:33433644T-C T C
+22 33433719 22:33433719C-G C G
+22 33433761 22:33433761T-C T C
+22 33433990 22:33433990A-G A G
+22 33434002 22:33434002A-G A G
+22 33434664 22:33434664A-C A C
+22 33434836 22:33434836A-G A G
+22 33435475 22:33435475A-G A G
+22 33436084 22:33436084G-A G A
+22 33436569 22:33436569A-T A T
+22 33436833 22:33436833C-A C A
+22 33436962 22:33436962T-C T C
+22 33437046 22:33437046T-C T C
+22 33437390 22:33437390T-C T C
+22 33439006 22:33439006G-A G A
+22 33439201 22:33439201A-G A G
+22 33439207 22:33439207C-T C T
+22 33439361 22:33439361C-T C T
+22 33439396 22:33439396G-A G A
+22 33439637 22:33439637C-T C T
+22 33439673 22:33439673G-A G A
+22 33439907 22:33439907A-G A G
+22 33440135 22:33440135A-G A G
+22 33440219 22:33440219G-T G T
+22 33440890 22:33440890T-C T C
+22 33441753 22:33441753T-G T G
+22 33443544 22:33443544A-G A G
+22 33443694 22:33443694A-T A T
+22 33444278 22:33444278A-G A G
+22 33445313 22:33445313A-G A G
+22 33445534 22:33445534G-C G C
+22 33445757 22:33445757A-G A G
+22 33445961 22:33445961T-C T C
+22 33446162 22:33446162T-C T C
+22 33446206 22:33446206A-G A G
+22 33446937 22:33446937C-T C T
+22 33447309 22:33447309C-T C T
+22 33447946 22:33447946C-T C T
+22 33448084 22:33448084A-G A G
+22 33448433 22:33448433C-T C T
+22 33449649 22:33449649A-C A C
+22 33451151 22:33451151C-T C T
+22 33451612 22:33451612G-A G A
+22 33451827 22:33451827T-C T C
+22 33451858 22:33451858A-G A G
+22 33452488 22:33452488G-A G A
+22 33453422 22:33453422A-G A G
+22 33453533 22:33453533A-G A G
+22 33454503 22:33454503A-C A C
+22 33454920 22:33454920G-A G A
+22 33455799 22:33455799T-C T C
+22 33456090 22:33456090C-A C A
+22 33456535 22:33456535T-C T C
+22 33456836 22:33456836G-A G A
+22 33456840 22:33456840G-A G A
+22 33456912 22:33456912G-A G A
+22 33457884 22:33457884A-G A G
+22 33458380 22:33458380T-C T C
+22 33458789 22:33458789G-A G A
+22 33459131 22:33459131C-T C T
+22 33460344 22:33460344A-C A C
+22 33460492 22:33460492G-A G A
+22 33461044 22:33461044T-G T G
+22 33461798 22:33461798G-A G A
+22 33462117 22:33462117T-C T C
+22 33462366 22:33462366C-T C T
+22 33462641 22:33462641T-G T G
+22 33462739 22:33462739G-A G A
+22 33463036 22:33463036T-G T G
+22 33463222 22:33463222A-C A C
+22 33463550 22:33463550T-C T C
+22 33463920 22:33463920C-T C T
+22 33465568 22:33465568T-C T C
+22 33465591 22:33465591A-G A G
+22 33466488 22:33466488A-C A C
+22 33467007 22:33467007T-A T A
+22 33467008 22:33467008A-T A T
+22 33467057 22:33467057C-T C T
+22 33468005 22:33468005C-A C A
+22 33468109 22:33468109T-C T C
+22 33468421 22:33468421G-A G A
+22 33469031 22:33469031C-T C T
+22 33470592 22:33470592C-T C T
+22 33470634 22:33470634C-A C A
+22 33471357 22:33471357A-G A G
+22 33471598 22:33471598A-C A C
+22 33473308 22:33473308T-C T C
+22 33473430 22:33473430C-T C T
+22 33473566 22:33473566C-T C T
+22 33474244 22:33474244A-T A T
+22 33474463 22:33474463A-G A G
+22 33474640 22:33474640A-G A G
+22 33474789 22:33474789C-G C G
+22 33477143 22:33477143A-G A G
+22 33478266 22:33478266C-A C A
+22 33479580 22:33479580A-G A G
+22 33479930 22:33479930C-G C G
+22 33482112 22:33482112T-C T C
+22 33482259 22:33482259A-C A C
+22 33482308 22:33482308A-C A C
+22 33482521 22:33482521T-C T C
+22 33483244 22:33483244C-G C G
+22 33484906 22:33484906A-T A T
+22 33485123 22:33485123T-C T C
+22 33485592 22:33485592T-G T G
+22 33486263 22:33486263A-G A G
+22 33486286 22:33486286A-C A C
+22 33486376 22:33486376G-A G A
+22 33488058 22:33488058G-C G C
+22 33488404 22:33488404C-T C T
+22 33488791 22:33488791G-A G A
+22 33489735 22:33489735G-A G A
+22 33489968 22:33489968C-A C A
+22 33490070 22:33490070T-C T C
+22 33490553 22:33490553A-G A G
+22 33490981 22:33490981A-C A C
+22 33490997 22:33490997G-T G T
+22 33491853 22:33491853T-C T C
+22 33492082 22:33492082G-A G A
+22 33492276 22:33492276C-T C T
+22 33493261 22:33493261A-G A G
+22 33493432 22:33493432G-A G A
+22 33494033 22:33494033C-T C T
+22 33494383 22:33494383A-G A G
+22 33494463 22:33494463G-A G A
+22 33494722 22:33494722G-A G A
+22 33495128 22:33495128G-A G A
+22 33495332 22:33495332T-C T C
+22 33495334 22:33495334G-A G A
+22 33495465 22:33495465T-C T C
+22 33495528 22:33495528G-A G A
+22 33496249 22:33496249G-A G A
+22 33497032 22:33497032T-C T C
+22 33497454 22:33497454C-T C T
+22 33498041 22:33498041G-A G A
+22 33498970 22:33498970T-C T C
+22 33499041 22:33499041G-A G A
+22 33499224 22:33499224C-T C T
+22 33500311 22:33500311G-A G A
+22 33501743 22:33501743T-C T C
+22 33501895 22:33501895A-G A G
+22 33502167 22:33502167G-A G A
+22 33502553 22:33502553T-C T C
+22 33503577 22:33503577G-A G A
+22 33505054 22:33505054C-T C T
+22 33505498 22:33505498G-A G A
+22 33505821 22:33505821C-T C T
+22 33507565 22:33507565G-C G C
+22 33507745 22:33507745G-C G C
+22 33507833 22:33507833G-A G A
+22 33508318 22:33508318A-G A G
+22 33508996 22:33508996A-G A G
+22 33509566 22:33509566A-G A G
+22 33510161 22:33510161C-T C T
+22 33510237 22:33510237A-T A T
+22 33511194 22:33511194C-T C T
+22 33511391 22:33511391A-G A G
+22 33512106 22:33512106C-T C T
+22 33514133 22:33514133T-G T G
+22 33516495 22:33516495C-T C T
+22 33517654 22:33517654G-T G T
+22 33517666 22:33517666A-G A G
+22 33517762 22:33517762G-T G T
+22 33518646 22:33518646G-C G C
+22 33519454 22:33519454A-G A G
+22 33519579 22:33519579C-T C T
+22 33519752 22:33519752T-C T C
+22 33519923 22:33519923C-G C G
+22 33520163 22:33520163C-A C A
+22 33521339 22:33521339T-C T C
+22 33522030 22:33522030G-A G A
+22 33522496 22:33522496G-C G C
+22 33522529 22:33522529T-A T A
+22 33523010 22:33523010A-G A G
+22 33523109 22:33523109C-T C T
+22 33523221 22:33523221C-T C T
+22 33523431 22:33523431C-A C A
+22 33523554 22:33523554G-A G A
+22 33524046 22:33524046A-G A G
+22 33524554 22:33524554A-G A G
+22 33524636 22:33524636G-T G T
+22 33525241 22:33525241C-G C G
+22 33525591 22:33525591T-C T C
+22 33526067 22:33526067A-T A T
+22 33526448 22:33526448C-G C G
+22 33526827 22:33526827A-C A C
+22 33526873 22:33526873G-T G T
+22 33526915 22:33526915G-A G A
+22 33526943 22:33526943C-T C T
+22 33527161 22:33527161A-G A G
+22 33527222 22:33527222A-T A T
+22 33527253 22:33527253G-T G T
+22 33527362 22:33527362C-A C A
+22 33527405 22:33527405T-G T G
+22 33527522 22:33527522G-T G T
+22 33527764 22:33527764A-G A G
+22 33527873 22:33527873G-T G T
+22 33528630 22:33528630A-G A G
+22 33528710 22:33528710T-C T C
+22 33528804 22:33528804C-T C T
+22 33529313 22:33529313C-G C G
+22 33529615 22:33529615G-A G A
+22 33529778 22:33529778A-T A T
+22 33530040 22:33530040A-G A G
+22 33530473 22:33530473G-C G C
+22 33531291 22:33531291T-G T G
+22 33531335 22:33531335G-A G A
+22 33531406 22:33531406T-C T C
+22 33531456 22:33531456G-A G A
+22 33531484 22:33531484T-C T C
+22 33531544 22:33531544G-A G A
+22 33531595 22:33531595G-T G T
+22 33531655 22:33531655G-T G T
+22 33533145 22:33533145T-C T C
+22 33533177 22:33533177T-C T C
+22 33533347 22:33533347A-G A G
+22 33533719 22:33533719G-C G C
+22 33533882 22:33533882T-C T C
+22 33533897 22:33533897G-A G A
+22 33534167 22:33534167G-A G A
+22 33534266 22:33534266C-A C A
+22 33534336 22:33534336G-A G A
+22 33534580 22:33534580C-A C A
+22 33534689 22:33534689G-C G C
+22 33534711 22:33534711C-T C T
+22 33534897 22:33534897T-C T C
+22 33535063 22:33535063G-C G C
+22 33535069 22:33535069C-T C T
+22 33535095 22:33535095T-A T A
+22 33535159 22:33535159A-G A G
+22 33535376 22:33535376C-T C T
+22 33535714 22:33535714A-C A C
+22 33535851 22:33535851C-T C T
+22 33536050 22:33536050G-A G A
+22 33536286 22:33536286T-A T A
+22 33536632 22:33536632T-C T C
+22 33536715 22:33536715G-A G A
+22 33536990 22:33536990T-G T G
+22 33537058 22:33537058G-A G A
+22 33537277 22:33537277A-G A G
+22 33537434 22:33537434C-G C G
+22 33537503 22:33537503C-T C T
+22 33537683 22:33537683A-G A G
+22 33537847 22:33537847C-T C T
+22 33538226 22:33538226C-A C A
+22 33538258 22:33538258T-G T G
+22 33538834 22:33538834C-T C T
+22 33539711 22:33539711G-C G C
+22 33539772 22:33539772C-A C A
+22 33540369 22:33540369T-C T C
+22 33540445 22:33540445A-G A G
+22 33541547 22:33541547G-A G A
+22 33541671 22:33541671G-A G A
+22 33541938 22:33541938A-C A C
+22 33542464 22:33542464A-G A G
+22 33542526 22:33542526G-C G C
+22 33544629 22:33544629G-A G A
+22 33545073 22:33545073C-G C G
+22 33545109 22:33545109C-T C T
+22 33545511 22:33545511G-C G C
+22 33546064 22:33546064A-C A C
+22 33548061 22:33548061T-C T C
+22 33548109 22:33548109C-T C T
+22 33549069 22:33549069G-A G A
+22 33549154 22:33549154T-G T G
+22 33549485 22:33549485G-A G A
+22 33549613 22:33549613C-T C T
+22 33550052 22:33550052T-C T C
+22 33550518 22:33550518G-A G A
+22 33550967 22:33550967T-C T C
+22 33551255 22:33551255C-A C A
+22 33551565 22:33551565T-C T C
+22 33552307 22:33552307T-C T C
+22 33552809 22:33552809G-A G A
+22 33552874 22:33552874C-T C T
+22 33553729 22:33553729T-C T C
+22 33553809 22:33553809A-G A G
+22 33554059 22:33554059G-A G A
+22 33554551 22:33554551C-T C T
+22 33554854 22:33554854C-T C T
+22 33555403 22:33555403A-T A T
+22 33555558 22:33555558A-G A G
+22 33556083 22:33556083C-A C A
+22 33556104 22:33556104C-A C A
+22 33556128 22:33556128T-C T C
+22 33556550 22:33556550T-C T C
+22 33557077 22:33557077G-C G C
+22 33557585 22:33557585C-T C T
+22 33557695 22:33557695T-C T C
+22 33557714 22:33557714C-G C G
+22 33558767 22:33558767G-A G A
+22 33559230 22:33559230G-T G T
+22 33559474 22:33559474A-C A C
+22 33559508 22:33559508T-A T A
+22 33560083 22:33560083G-A G A
+22 33560710 22:33560710G-T G T
+22 33560980 22:33560980G-A G A
+22 33561383 22:33561383A-T A T
+22 33561391 22:33561391C-T C T
+22 33561625 22:33561625T-C T C
+22 33561746 22:33561746T-C T C
+22 33561994 22:33561994G-C G C
+22 33562683 22:33562683T-C T C
+22 33562887 22:33562887G-T G T
+22 33563617 22:33563617C-T C T
+22 33563878 22:33563878A-G A G
+22 33564046 22:33564046T-C T C
+22 33564443 22:33564443A-G A G
+22 33564759 22:33564759C-T C T
+22 33565203 22:33565203T-G T G
+22 33565566 22:33565566A-G A G
+22 33565885 22:33565885C-G C G
+22 33566303 22:33566303C-T C T
+22 33566464 22:33566464T-C T C
+22 33566587 22:33566587C-T C T
+22 33566975 22:33566975C-T C T
+22 33567361 22:33567361T-C T C
+22 33567437 22:33567437G-A G A
+22 33567463 22:33567463T-G T G
+22 33567527 22:33567527A-G A G
+22 33568015 22:33568015A-G A G
+22 33568560 22:33568560G-T G T
+22 33568575 22:33568575G-A G A
+22 33568869 22:33568869T-C T C
+22 33569928 22:33569928G-A G A
+22 33569991 22:33569991G-A G A
+22 33570697 22:33570697C-T C T
+22 33570785 22:33570785T-C T C
+22 33571138 22:33571138C-T C T
+22 33571266 22:33571266T-C T C
+22 33571655 22:33571655G-A G A
+22 33571695 22:33571695C-T C T
+22 33571827 22:33571827A-G A G
+22 33571980 22:33571980A-C A C
+22 33572660 22:33572660A-T A T
+22 33573041 22:33573041G-T G T
+22 33573162 22:33573162G-A G A
+22 33573529 22:33573529C-T C T
+22 33573874 22:33573874G-A G A
+22 33573902 22:33573902T-A T A
+22 33574074 22:33574074C-G C G
+22 33574177 22:33574177G-A G A
+22 33574214 22:33574214T-C T C
+22 33574324 22:33574324G-C G C
+22 33574367 22:33574367G-C G C
+22 33574461 22:33574461A-G A G
+22 33574913 22:33574913A-G A G
+22 33574949 22:33574949A-G A G
+22 33575002 22:33575002C-T C T
+22 33575116 22:33575116T-C T C
+22 33575193 22:33575193C-G C G
+22 33575294 22:33575294T-C T C
+22 33575304 22:33575304A-G A G
+22 33575567 22:33575567T-C T C
+22 33575604 22:33575604C-A C A
+22 33575643 22:33575643G-A G A
+22 33575671 22:33575671A-G A G
+22 33575709 22:33575709G-A G A
+22 33575820 22:33575820A-G A G
+22 33576181 22:33576181T-C T C
+22 33576285 22:33576285A-G A G
+22 33576488 22:33576488T-C T C
+22 33576705 22:33576705A-G A G
+22 33576898 22:33576898A-C A C
+22 33577069 22:33577069G-C G C
+22 33577210 22:33577210C-T C T
+22 33577225 22:33577225T-C T C
+22 33577259 22:33577259C-A C A
+22 33577481 22:33577481T-C T C
+22 33577607 22:33577607T-C T C
+22 33578054 22:33578054C-T C T
+22 33578104 22:33578104A-G A G
+22 33578150 22:33578150T-C T C
+22 33578233 22:33578233T-A T A
+22 33578402 22:33578402C-T C T
+22 33578425 22:33578425T-C T C
+22 33578828 22:33578828C-A C A
+22 33578883 22:33578883G-C G C
+22 33578987 22:33578987G-T G T
+22 33579105 22:33579105A-C A C
+22 33579139 22:33579139G-A G A
+22 33579413 22:33579413A-C A C
+22 33579430 22:33579430C-A C A
+22 33579765 22:33579765G-A G A
+22 33579770 22:33579770C-A C A
+22 33580248 22:33580248G-A G A
+22 33580487 22:33580487A-G A G
+22 33580544 22:33580544T-C T C
+22 33580562 22:33580562C-T C T
+22 33580739 22:33580739C-T C T
+22 33580836 22:33580836C-T C T
+22 33580920 22:33580920C-T C T
+22 33581050 22:33581050G-A G A
+22 33581172 22:33581172G-C G C
+22 33581494 22:33581494G-A G A
+22 33581596 22:33581596G-A G A
+22 33581607 22:33581607T-C T C
+22 33581735 22:33581735G-A G A
+22 33581749 22:33581749T-G T G
+22 33582068 22:33582068G-C G C
+22 33582106 22:33582106C-T C T
+22 33582139 22:33582139C-T C T
+22 33582287 22:33582287G-A G A
+22 33582300 22:33582300T-C T C
+22 33582361 22:33582361C-A C A
+22 33582495 22:33582495A-C A C
+22 33582537 22:33582537T-C T C
+22 33582883 22:33582883T-C T C
+22 33582944 22:33582944G-A G A
+22 33583233 22:33583233C-T C T
+22 33583458 22:33583458A-G A G
+22 33583652 22:33583652C-A C A
+22 33583740 22:33583740G-T G T
+22 33583810 22:33583810T-A T A
+22 33583846 22:33583846T-C T C
+22 33583887 22:33583887A-G A G
+22 33583995 22:33583995T-C T C
+22 33583997 22:33583997C-T C T
+22 33584236 22:33584236G-A G A
+22 33584268 22:33584268T-C T C
+22 33584673 22:33584673A-G A G
+22 33584694 22:33584694G-C G C
+22 33584883 22:33584883C-T C T
+22 33584905 22:33584905C-T C T
+22 33584917 22:33584917C-T C T
+22 33584961 22:33584961G-A G A
+22 33585170 22:33585170G-T G T
+22 33585694 22:33585694A-G A G
+22 33586159 22:33586159G-T G T
+22 33586851 22:33586851A-G A G
+22 33587191 22:33587191G-T G T
+22 33587569 22:33587569G-A G A
+22 33587741 22:33587741C-T C T
+22 33587813 22:33587813C-T C T
+22 33587846 22:33587846G-A G A
+22 33587880 22:33587880C-T C T
+22 33587898 22:33587898G-A G A
+22 33588089 22:33588089C-T C T
+22 33588224 22:33588224A-G A G
+22 33588311 22:33588311A-T A T
+22 33588691 22:33588691G-T G T
+22 33588785 22:33588785A-G A G
+22 33588877 22:33588877T-C T C
+22 33589333 22:33589333A-G A G
+22 33589432 22:33589432G-A G A
+22 33589472 22:33589472G-A G A
+22 33589480 22:33589480G-A G A
+22 33589555 22:33589555T-C T C
+22 33589556 22:33589556G-A G A
+22 33589804 22:33589804G-A G A
+22 33589959 22:33589959T-A T A
+22 33590168 22:33590168T-A T A
+22 33590404 22:33590404T-G T G
+22 33591130 22:33591130A-G A G
+22 33591162 22:33591162C-T C T
+22 33591276 22:33591276T-C T C
+22 33591311 22:33591311A-G A G
+22 33591417 22:33591417T-C T C
+22 33591515 22:33591515C-T C T
+22 33591569 22:33591569G-A G A
+22 33591591 22:33591591A-C A C
+22 33591888 22:33591888C-T C T
+22 33592034 22:33592034A-G A G
+22 33592036 22:33592036A-G A G
+22 33592224 22:33592224G-A G A
+22 33592258 22:33592258G-A G A
+22 33592324 22:33592324T-A T A
+22 33592326 22:33592326C-A C A
+22 33592362 22:33592362T-C T C
+22 33592384 22:33592384A-G A G
+22 33592664 22:33592664T-A T A
+22 33592913 22:33592913T-C T C
+22 33592948 22:33592948T-C T C
+22 33593358 22:33593358T-G T G
+22 33593491 22:33593491A-G A G
+22 33593493 22:33593493T-C T C
+22 33593667 22:33593667G-C G C
+22 33593932 22:33593932C-T C T
+22 33593995 22:33593995G-A G A
+22 33594067 22:33594067T-C T C
+22 33594123 22:33594123G-A G A
+22 33594193 22:33594193A-G A G
+22 33594196 22:33594196G-A G A
+22 33594341 22:33594341C-A C A
+22 33594459 22:33594459T-C T C
+22 33594733 22:33594733C-T C T
+22 33594761 22:33594761A-G A G
+22 33594923 22:33594923G-A G A
+22 33594937 22:33594937T-C T C
+22 33595128 22:33595128A-C A C
+22 33595221 22:33595221C-T C T
+22 33595518 22:33595518G-T G T
+22 33595621 22:33595621A-T A T
+22 33595660 22:33595660A-G A G
+22 33595754 22:33595754G-C G C
+22 33595763 22:33595763G-A G A
+22 33595809 22:33595809G-A G A
+22 33595858 22:33595858C-T C T
+22 33595866 22:33595866T-C T C
+22 33595928 22:33595928C-T C T
+22 33595992 22:33595992A-G A G
+22 33596198 22:33596198C-T C T
+22 33596295 22:33596295C-T C T
+22 33596440 22:33596440G-T G T
+22 33596531 22:33596531T-C T C
+22 33596539 22:33596539A-T A T
+22 33596579 22:33596579T-G T G
+22 33596828 22:33596828G-T G T
+22 33596958 22:33596958C-T C T
+22 33597094 22:33597094T-C T C
+22 33597265 22:33597265G-T G T
+22 33597281 22:33597281C-T C T
+22 33597504 22:33597504G-A G A
+22 33597622 22:33597622C-T C T
+22 33597711 22:33597711G-A G A
+22 33597866 22:33597866A-G A G
+22 33597892 22:33597892G-A G A
+22 33597920 22:33597920G-A G A
+22 33597994 22:33597994C-T C T
+22 33598052 22:33598052G-A G A
+22 33598155 22:33598155A-G A G
+22 33598225 22:33598225C-A C A
+22 33598356 22:33598356G-A G A
+22 33598376 22:33598376C-T C T
+22 33598389 22:33598389T-G T G
+22 33598625 22:33598625C-G C G
+22 33598664 22:33598664A-G A G
+22 33599622 22:33599622T-C T C
+22 33599921 22:33599921C-T C T
+22 33600759 22:33600759T-C T C
+22 33602373 22:33602373T-C T C
+22 33602984 22:33602984A-G A G
+22 33603178 22:33603178T-C T C
+22 33604051 22:33604051C-T C T
+22 33604383 22:33604383A-C A C
+22 33604847 22:33604847A-G A G
+22 33604853 22:33604853T-C T C
+22 33605107 22:33605107G-T G T
+22 33606127 22:33606127G-T G T
+22 33606208 22:33606208C-T C T
+22 33606994 22:33606994C-G C G
+22 33607304 22:33607304C-A C A
+22 33607714 22:33607714G-A G A
+22 33607716 22:33607716G-A G A
+22 33607839 22:33607839G-C G C
+22 33609895 22:33609895G-A G A
+22 33610292 22:33610292G-A G A
+22 33610617 22:33610617C-T C T
+22 33610624 22:33610624G-C G C
+22 33610815 22:33610815G-A G A
+22 33611155 22:33611155T-G T G
+22 33612843 22:33612843T-G T G
+22 33613321 22:33613321C-T C T
+22 33614901 22:33614901T-C T C
+22 33615206 22:33615206A-G A G
+22 33615843 22:33615843A-G A G
+22 33616088 22:33616088G-A G A
+22 33616357 22:33616357G-A G A
+22 33616805 22:33616805G-A G A
+22 33617009 22:33617009C-A C A
+22 33617195 22:33617195G-A G A
+22 33617703 22:33617703G-A G A
+22 33617801 22:33617801T-C T C
+22 33617815 22:33617815A-G A G
+22 33617882 22:33617882G-A G A
+22 33618285 22:33618285G-A G A
+22 33618710 22:33618710C-A C A
+22 33619479 22:33619479A-T A T
+22 33619971 22:33619971C-T C T
+22 33620085 22:33620085T-C T C
+22 33620086 22:33620086G-A G A
+22 33620582 22:33620582T-C T C
+22 33621056 22:33621056A-C A C
+22 33621222 22:33621222C-T C T
+22 33621258 22:33621258A-G A G
+22 33621571 22:33621571A-C A C
+22 33622667 22:33622667C-T C T
+22 33622780 22:33622780A-G A G
+22 33622851 22:33622851G-T G T
+22 33624845 22:33624845C-A C A
+22 33625447 22:33625447A-G A G
+22 33627221 22:33627221C-T C T
+22 33627960 22:33627960A-C A C
+22 33628586 22:33628586T-C T C
+22 33629289 22:33629289A-G A G
+22 33631644 22:33631644G-A G A
+22 33631718 22:33631718C-T C T
+22 33631908 22:33631908T-A T A
+22 33632112 22:33632112G-T G T
+22 33632242 22:33632242G-T G T
+22 33632759 22:33632759T-C T C
+22 33632789 22:33632789T-C T C
+22 33632851 22:33632851A-G A G
+22 33633664 22:33633664C-T C T
+22 33635679 22:33635679C-T C T
+22 33635849 22:33635849A-G A G
+22 33635996 22:33635996C-T C T
+22 33636545 22:33636545C-T C T
+22 33636651 22:33636651T-C T C
+22 33637087 22:33637087C-T C T
+22 33637221 22:33637221C-G C G
+22 33637381 22:33637381A-G A G
+22 33637589 22:33637589T-C T C
+22 33637938 22:33637938C-A C A
+22 33637955 22:33637955T-G T G
+22 33638315 22:33638315T-C T C
+22 33638400 22:33638400C-T C T
+22 33640916 22:33640916T-G T G
+22 33640992 22:33640992G-C G C
+22 33641667 22:33641667C-T C T
+22 33642444 22:33642444C-A C A
+22 33645816 22:33645816C-G C G
+22 33646543 22:33646543G-A G A
+22 33646994 22:33646994C-A C A
+22 33647908 22:33647908C-T C T
+22 33649215 22:33649215A-G A G
+22 33649822 22:33649822T-C T C
+22 33650045 22:33650045G-T G T
+22 33650259 22:33650259C-T C T
+22 33651116 22:33651116G-A G A
+22 33652454 22:33652454T-C T C
+22 33652752 22:33652752C-G C G
+22 33653018 22:33653018C-T C T
+22 33653466 22:33653466G-A G A
+22 33653710 22:33653710T-G T G
+22 33655012 22:33655012C-T C T
+22 33655597 22:33655597C-G C G
+22 33656156 22:33656156T-C T C
+22 33656202 22:33656202C-T C T
+22 33656368 22:33656368A-C A C
+22 33659787 22:33659787G-A G A
+22 33660030 22:33660030G-A G A
+22 33660345 22:33660345G-C G C
+22 33660427 22:33660427T-C T C
+22 33661764 22:33661764G-A G A
+22 33661960 22:33661960C-T C T
+22 33663351 22:33663351T-C T C
+22 33664025 22:33664025T-G T G
+22 33664352 22:33664352C-T C T
+22 33664964 22:33664964A-C A C
+22 33665664 22:33665664A-G A G
+22 33667187 22:33667187C-A C A
+22 33667767 22:33667767T-C T C
+22 33668037 22:33668037C-T C T
+22 33668049 22:33668049T-C T C
+22 33668879 22:33668879G-C G C
+22 33669492 22:33669492G-C G C
+22 33670584 22:33670584G-A G A
+22 33670679 22:33670679G-A G A
+22 33673814 22:33673814G-A G A
+22 33674479 22:33674479A-C A C
+22 33675752 22:33675752A-G A G
+22 33675853 22:33675853A-G A G
+22 33676283 22:33676283T-C T C
+22 33677816 22:33677816T-G T G
+22 33678095 22:33678095C-T C T
+22 33678112 22:33678112C-T C T
+22 33678520 22:33678520G-C G C
+22 33678629 22:33678629T-G T G
+22 33679005 22:33679005G-A G A
+22 33679425 22:33679425G-C G C
+22 33681176 22:33681176A-G A G
+22 33681386 22:33681386C-T C T
+22 33681803 22:33681803G-A G A
+22 33682074 22:33682074C-A C A
+22 33682097 22:33682097A-G A G
+22 33682273 22:33682273G-A G A
+22 33682395 22:33682395A-G A G
+22 33683442 22:33683442T-C T C
+22 33683735 22:33683735T-C T C
+22 33684679 22:33684679A-G A G
+22 33685146 22:33685146G-A G A
+22 33685214 22:33685214A-G A G
+22 33687248 22:33687248C-T C T
+22 33688186 22:33688186A-C A C
+22 33690447 22:33690447C-T C T
+22 33690667 22:33690667C-T C T
+22 33691417 22:33691417T-C T C
+22 33691747 22:33691747C-T C T
+22 33695206 22:33695206T-C T C
+22 33696195 22:33696195T-C T C
+22 33696287 22:33696287C-G C G
+22 33696653 22:33696653T-G T G
+22 33697548 22:33697548A-C A C
+22 33698283 22:33698283T-C T C
+22 33698656 22:33698656A-G A G
+22 33699019 22:33699019A-T A T
+22 33699929 22:33699929T-C T C
+22 33700948 22:33700948G-C G C
+22 33701071 22:33701071A-G A G
+22 33701078 22:33701078A-G A G
+22 33701365 22:33701365T-C T C
+22 33701527 22:33701527G-A G A
+22 33701976 22:33701976T-C T C
+22 33702432 22:33702432A-C A C
+22 33704125 22:33704125G-A G A
+22 33704495 22:33704495T-C T C
+22 33705546 22:33705546C-A C A
+22 33705684 22:33705684C-T C T
+22 33705760 22:33705760C-G C G
+22 33706038 22:33706038A-T A T
+22 33706134 22:33706134T-C T C
+22 33706143 22:33706143C-T C T
+22 33706169 22:33706169T-C T C
+22 33706201 22:33706201G-A G A
+22 33706282 22:33706282G-A G A
+22 33706350 22:33706350T-C T C
+22 33706478 22:33706478T-C T C
+22 33706530 22:33706530C-G C G
+22 33706534 22:33706534C-T C T
+22 33706622 22:33706622G-C G C
+22 33706824 22:33706824C-T C T
+22 33706981 22:33706981T-C T C
+22 33706985 22:33706985T-C T C
+22 33707010 22:33707010G-A G A
+22 33707236 22:33707236G-A G A
+22 33707241 22:33707241C-T C T
+22 33707616 22:33707616C-T C T
+22 33708680 22:33708680T-C T C
+22 33708859 22:33708859C-T C T
+22 33709565 22:33709565T-G T G
+22 33709717 22:33709717A-T A T
+22 33710214 22:33710214C-G C G
+22 33711229 22:33711229C-T C T
+22 33712448 22:33712448C-T C T
+22 33712686 22:33712686G-T G T
+22 33712687 22:33712687C-T C T
+22 33713686 22:33713686C-T C T
+22 33715131 22:33715131C-A C A
+22 33715538 22:33715538C-T C T
+22 33717843 22:33717843C-T C T
+22 33718051 22:33718051C-T C T
+22 33721320 22:33721320C-G C G
+22 33722692 22:33722692G-A G A
+22 33723292 22:33723292G-A G A
+22 33724333 22:33724333T-C T C
+22 33724514 22:33724514G-A G A
+22 33726500 22:33726500G-C G C
+22 33726663 22:33726663T-C T C
+22 33726749 22:33726749C-T C T
+22 33727723 22:33727723G-A G A
+22 33728300 22:33728300T-C T C
+22 33729763 22:33729763C-T C T
+22 33730833 22:33730833C-T C T
+22 33732829 22:33732829C-T C T
+22 33733995 22:33733995C-T C T
+22 33734396 22:33734396T-C T C
+22 33736762 22:33736762A-G A G
+22 33738531 22:33738531T-C T C
+22 33739226 22:33739226C-T C T
+22 33739370 22:33739370G-T G T
+22 33739372 22:33739372C-T C T
+22 33739535 22:33739535G-C G C
+22 33740194 22:33740194G-A G A
+22 33740357 22:33740357C-T C T
+22 33740480 22:33740480A-T A T
+22 33740860 22:33740860G-A G A
+22 33742382 22:33742382C-A C A
+22 33742712 22:33742712A-G A G
+22 33743341 22:33743341T-C T C
+22 33744864 22:33744864G-A G A
+22 33745186 22:33745186A-G A G
+22 33745236 22:33745236C-A C A
+22 33746526 22:33746526G-C G C
+22 33746624 22:33746624G-A G A
+22 33746706 22:33746706T-C T C
+22 33747028 22:33747028T-C T C
+22 33748362 22:33748362G-A G A
+22 33748480 22:33748480C-T C T
+22 33748660 22:33748660C-A C A
+22 33749276 22:33749276T-C T C
+22 33750921 22:33750921T-C T C
+22 33751062 22:33751062A-C A C
+22 33751067 22:33751067G-A G A
+22 33751778 22:33751778C-T C T
+22 33751863 22:33751863C-T C T
+22 33752420 22:33752420G-C G C
+22 33753342 22:33753342A-G A G
+22 33753377 22:33753377G-T G T
+22 33753756 22:33753756C-T C T
+22 33754332 22:33754332T-G T G
+22 33754489 22:33754489T-A T A
+22 33754562 22:33754562T-C T C
+22 33754768 22:33754768T-C T C
+22 33754831 22:33754831A-C A C
+22 33754860 22:33754860T-C T C
+22 33754900 22:33754900T-C T C
+22 33756016 22:33756016T-C T C
+22 33758736 22:33758736C-T C T
+22 33760336 22:33760336T-C T C
+22 33760441 22:33760441C-T C T
+22 33760604 22:33760604A-C A C
+22 33760635 22:33760635T-C T C
+22 33760906 22:33760906T-C T C
+22 33763723 22:33763723T-C T C
+22 33765453 22:33765453T-C T C
+22 33766355 22:33766355C-T C T
+22 33766794 22:33766794A-G A G
+22 33767245 22:33767245T-A T A
+22 33768875 22:33768875C-A C A
+22 33769155 22:33769155C-G C G
+22 33770012 22:33770012C-T C T
+22 33770573 22:33770573G-T G T
+22 33770622 22:33770622G-A G A
+22 33771017 22:33771017T-C T C
+22 33771672 22:33771672C-T C T
+22 33772017 22:33772017C-T C T
+22 33773502 22:33773502T-C T C
+22 33773590 22:33773590A-G A G
+22 33773756 22:33773756T-C T C
+22 33773867 22:33773867T-C T C
+22 33774359 22:33774359T-C T C
+22 33774453 22:33774453T-C T C
+22 33775041 22:33775041T-C T C
+22 33775373 22:33775373A-G A G
+22 33776825 22:33776825G-T G T
+22 33776882 22:33776882A-G A G
+22 33777259 22:33777259T-C T C
+22 33777269 22:33777269T-G T G
+22 33778719 22:33778719G-A G A
+22 33779434 22:33779434G-A G A
+22 33782008 22:33782008G-A G A
+22 33782594 22:33782594A-G A G
+22 33783753 22:33783753T-G T G
+22 33783760 22:33783760C-T C T
+22 33784174 22:33784174T-C T C
+22 33784238 22:33784238G-A G A
+22 33784454 22:33784454T-C T C
+22 33785111 22:33785111A-G A G
+22 33785556 22:33785556T-C T C
+22 33786170 22:33786170A-G A G
+22 33786251 22:33786251T-C T C
+22 33786431 22:33786431A-G A G
+22 33787068 22:33787068C-T C T
+22 33787272 22:33787272A-G A G
+22 33789554 22:33789554C-T C T
+22 33790141 22:33790141A-T A T
+22 33791131 22:33791131T-C T C
+22 33791374 22:33791374C-A C A
+22 33792169 22:33792169T-C T C
+22 33792783 22:33792783C-T C T
+22 33793135 22:33793135C-T C T
+22 33793352 22:33793352T-C T C
+22 33794178 22:33794178T-A T A
+22 33794969 22:33794969A-T A T
+22 33795375 22:33795375T-A T A
+22 33796656 22:33796656T-C T C
+22 33796882 22:33796882G-A G A
+22 33797362 22:33797362C-T C T
+22 33797682 22:33797682T-C T C
+22 33798006 22:33798006C-T C T
+22 33798202 22:33798202G-A G A
+22 33798423 22:33798423G-T G T
+22 33799128 22:33799128C-A C A
+22 33799353 22:33799353T-C T C
+22 33800119 22:33800119A-G A G
+22 33801379 22:33801379T-C T C
+22 33801996 22:33801996G-A G A
+22 33802020 22:33802020T-G T G
+22 33804028 22:33804028A-G A G
+22 33804185 22:33804185G-A G A
+22 33804510 22:33804510T-C T C
+22 33804804 22:33804804C-T C T
+22 33804893 22:33804893T-C T C
+22 33805341 22:33805341T-C T C
+22 33805809 22:33805809T-A T A
+22 33806540 22:33806540A-G A G
+22 33807636 22:33807636T-C T C
+22 33807835 22:33807835G-A G A
+22 33807967 22:33807967A-T A T
+22 33809429 22:33809429C-T C T
+22 33810205 22:33810205T-A T A
+22 33811677 22:33811677A-G A G
+22 33812517 22:33812517A-C A C
+22 33812636 22:33812636C-T C T
+22 33813017 22:33813017C-T C T
+22 33814270 22:33814270T-C T C
+22 33814786 22:33814786C-T C T
+22 33815171 22:33815171A-G A G
+22 33815449 22:33815449T-C T C
+22 33815614 22:33815614T-G T G
+22 33816222 22:33816222T-C T C
+22 33817529 22:33817529C-G C G
+22 33818746 22:33818746C-G C G
+22 33819438 22:33819438G-A G A
+22 33820175 22:33820175T-C T C
+22 33820256 22:33820256G-T G T
+22 33820350 22:33820350A-G A G
+22 33820549 22:33820549C-T C T
+22 33820640 22:33820640G-A G A
+22 33820947 22:33820947A-C A C
+22 33821014 22:33821014T-C T C
+22 33822335 22:33822335G-A G A
+22 33823308 22:33823308G-A G A
+22 33823454 22:33823454G-T G T
+22 33824341 22:33824341C-T C T
+22 33824447 22:33824447A-C A C
+22 33824998 22:33824998A-C A C
+22 33825640 22:33825640T-G T G
+22 33825650 22:33825650T-C T C
+22 33826321 22:33826321T-G T G
+22 33826566 22:33826566A-G A G
+22 33827105 22:33827105C-T C T
+22 33827120 22:33827120G-A G A
+22 33827522 22:33827522A-T A T
+22 33828765 22:33828765G-A G A
+22 33828944 22:33828944T-A T A
+22 33828996 22:33828996G-A G A
+22 33829087 22:33829087T-C T C
+22 33830458 22:33830458G-T G T
+22 33830475 22:33830475C-T C T
+22 33831448 22:33831448A-G A G
+22 33831584 22:33831584C-T C T
+22 33831588 22:33831588C-T C T
+22 33831799 22:33831799C-T C T
+22 33832148 22:33832148G-A G A
+22 33832317 22:33832317T-C T C
+22 33832735 22:33832735A-G A G
+22 33833085 22:33833085A-C A C
+22 33833101 22:33833101T-G T G
+22 33833853 22:33833853T-A T A
+22 33834668 22:33834668A-G A G
+22 33834740 22:33834740C-G C G
+22 33835517 22:33835517A-T A T
+22 33836233 22:33836233T-C T C
+22 33836576 22:33836576C-T C T
+22 33836791 22:33836791T-C T C
+22 33837130 22:33837130G-T G T
+22 33837575 22:33837575G-A G A
+22 33838959 22:33838959T-C T C
+22 33838972 22:33838972T-G T G
+22 33840541 22:33840541C-T C T
+22 33840615 22:33840615G-A G A
+22 33841538 22:33841538G-T G T
+22 33841773 22:33841773T-G T G
+22 33841877 22:33841877T-C T C
+22 33842264 22:33842264T-C T C
+22 33842454 22:33842454A-C A C
+22 33842637 22:33842637C-T C T
+22 33842671 22:33842671C-T C T
+22 33842949 22:33842949G-T G T
+22 33843029 22:33843029C-A C A
+22 33843347 22:33843347A-G A G
+22 33843597 22:33843597T-C T C
+22 33844303 22:33844303T-C T C
+22 33844968 22:33844968A-T A T
+22 33845686 22:33845686C-A C A
+22 33845734 22:33845734G-T G T
+22 33845767 22:33845767C-G C G
+22 33845817 22:33845817G-A G A
+22 33845831 22:33845831A-C A C
+22 33845851 22:33845851A-T A T
+22 33846134 22:33846134G-C G C
+22 33846238 22:33846238T-G T G
+22 33846576 22:33846576A-G A G
+22 33846669 22:33846669T-G T G
+22 33846914 22:33846914C-T C T
+22 33846972 22:33846972G-C G C
+22 33847024 22:33847024C-T C T
+22 33847041 22:33847041C-T C T
+22 33847076 22:33847076A-G A G
+22 33847286 22:33847286T-C T C
+22 33847365 22:33847365C-T C T
+22 33847691 22:33847691C-T C T
+22 33847795 22:33847795G-A G A
+22 33847877 22:33847877T-C T C
+22 33847912 22:33847912C-T C T
+22 33848010 22:33848010C-T C T
+22 33848023 22:33848023C-T C T
+22 33848092 22:33848092C-T C T
+22 33848260 22:33848260G-A G A
+22 33848296 22:33848296C-T C T
+22 33848370 22:33848370C-T C T
+22 33848972 22:33848972G-C G C
+22 33849125 22:33849125G-A G A
+22 33849150 22:33849150C-G C G
+22 33849388 22:33849388G-A G A
+22 33849461 22:33849461A-G A G
+22 33849789 22:33849789A-G A G
+22 33850168 22:33850168T-C T C
+22 33851505 22:33851505G-A G A
+22 33854162 22:33854162G-A G A
+22 33856304 22:33856304C-G C G
+22 33857104 22:33857104T-C T C
+22 33857544 22:33857544C-T C T
+22 33857713 22:33857713G-A G A
+22 33858304 22:33858304G-A G A
+22 33859148 22:33859148C-T C T
+22 33859167 22:33859167C-T C T
+22 33860825 22:33860825C-A C A
+22 33860913 22:33860913G-A G A
+22 33861275 22:33861275C-G C G
+22 33862494 22:33862494G-T G T
+22 33863218 22:33863218G-A G A
+22 33863676 22:33863676A-G A G
+22 33864711 22:33864711T-A T A
+22 33864817 22:33864817A-G A G
+22 33865302 22:33865302T-C T C
+22 33865680 22:33865680G-A G A
+22 33866241 22:33866241T-C T C
+22 33866854 22:33866854G-A G A
+22 33867163 22:33867163A-G A G
+22 33869360 22:33869360A-G A G
+22 33869699 22:33869699G-A G A
+22 33870673 22:33870673C-G C G
+22 33871533 22:33871533C-T C T
+22 33872468 22:33872468A-G A G
+22 33873203 22:33873203A-G A G
+22 33875161 22:33875161A-G A G
+22 33875762 22:33875762A-G A G
+22 33876161 22:33876161G-A G A
+22 33879139 22:33879139G-A G A
+22 33881925 22:33881925C-T C T
+22 33882364 22:33882364C-G C G
+22 33885208 22:33885208T-C T C
+22 33885287 22:33885287T-C T C
+22 33886848 22:33886848T-C T C
+22 33889275 22:33889275C-T C T
+22 33890019 22:33890019G-C G C
+22 33890629 22:33890629A-G A G
+22 33891147 22:33891147C-A C A
+22 33891566 22:33891566G-A G A
+22 33891610 22:33891610C-G C G
+22 33892516 22:33892516G-C G C
+22 33892590 22:33892590T-C T C
+22 33893421 22:33893421T-G T G
+22 33893601 22:33893601T-C T C
+22 33893805 22:33893805C-G C G
+22 33894294 22:33894294T-C T C
+22 33894488 22:33894488A-G A G
+22 33894686 22:33894686G-T G T
+22 33894761 22:33894761C-T C T
+22 33895036 22:33895036C-T C T
+22 33895535 22:33895535C-T C T
+22 33895712 22:33895712C-T C T
+22 33895823 22:33895823A-G A G
+22 33896002 22:33896002T-C T C
+22 33896362 22:33896362C-T C T
+22 33896473 22:33896473A-G A G
+22 33896495 22:33896495A-G A G
+22 33898114 22:33898114G-A G A
+22 33898171 22:33898171G-A G A
+22 33898368 22:33898368A-G A G
+22 33898615 22:33898615C-T C T
+22 33898906 22:33898906C-A C A
+22 33899237 22:33899237T-C T C
+22 33900964 22:33900964C-T C T
+22 33902342 22:33902342C-G C G
+22 33904676 22:33904676T-A T A
+22 33904754 22:33904754C-T C T
+22 33907964 22:33907964A-G A G
+22 33908557 22:33908557G-A G A
+22 33909323 22:33909323C-G C G
+22 33909895 22:33909895A-G A G
+22 33910736 22:33910736C-T C T
+22 33912930 22:33912930G-C G C
+22 33913576 22:33913576T-C T C
+22 33913844 22:33913844G-C G C
+22 33915503 22:33915503T-C T C
+22 33919934 22:33919934C-T C T
+22 33920016 22:33920016C-T C T
+22 33920421 22:33920421C-T C T
+22 33924289 22:33924289G-T G T
+22 33924483 22:33924483G-A G A
+22 33924919 22:33924919C-T C T
+22 33925010 22:33925010A-T A T
+22 33925752 22:33925752C-T C T
+22 33927881 22:33927881G-A G A
+22 33928225 22:33928225C-T C T
+22 33929352 22:33929352G-A G A
+22 33930015 22:33930015A-G A G
+22 33930256 22:33930256G-C G C
+22 33930453 22:33930453G-T G T
+22 33930525 22:33930525G-C G C
+22 33931110 22:33931110T-G T G
+22 33931490 22:33931490C-T C T
+22 33932356 22:33932356T-C T C
+22 33932381 22:33932381T-C T C
+22 33932514 22:33932514T-A T A
+22 33932624 22:33932624A-G A G
+22 33933093 22:33933093A-G A G
+22 33933520 22:33933520T-G T G
+22 33933584 22:33933584T-C T C
+22 33933733 22:33933733T-A T A
+22 33933836 22:33933836C-T C T
+22 33933970 22:33933970T-C T C
+22 33934464 22:33934464T-C T C
+22 33934485 22:33934485A-C A C
+22 33934745 22:33934745G-T G T
+22 33935108 22:33935108T-C T C
+22 33935350 22:33935350T-C T C
+22 33935858 22:33935858A-G A G
+22 33935897 22:33935897C-A C A
+22 33936021 22:33936021C-T C T
+22 33936475 22:33936475G-C G C
+22 33936665 22:33936665C-T C T
+22 33936965 22:33936965A-T A T
+22 33938064 22:33938064C-T C T
+22 33938447 22:33938447C-G C G
+22 33938760 22:33938760T-G T G
+22 33939558 22:33939558G-A G A
+22 33940032 22:33940032C-G C G
+22 33941163 22:33941163T-C T C
+22 33941285 22:33941285T-C T C
+22 33941347 22:33941347T-C T C
+22 33941489 22:33941489A-G A G
+22 33941611 22:33941611T-C T C
+22 33941626 22:33941626T-C T C
+22 33941915 22:33941915T-C T C
+22 33942150 22:33942150C-T C T
+22 33942574 22:33942574T-C T C
+22 33942618 22:33942618G-T G T
+22 33942859 22:33942859C-T C T
+22 33942894 22:33942894G-A G A
+22 33942965 22:33942965G-T G T
+22 33943284 22:33943284G-A G A
+22 33943546 22:33943546A-C A C
+22 33944510 22:33944510C-T C T
+22 33944525 22:33944525C-T C T
+22 33944590 22:33944590A-G A G
+22 33944647 22:33944647T-C T C
+22 33944900 22:33944900C-T C T
+22 33945338 22:33945338A-G A G
+22 33946783 22:33946783T-C T C
+22 33947152 22:33947152A-C A C
+22 33947534 22:33947534A-G A G
+22 33947851 22:33947851G-A G A
+22 33947861 22:33947861T-C T C
+22 33948733 22:33948733A-G A G
+22 33948834 22:33948834A-T A T
+22 33948917 22:33948917C-A C A
+22 33949096 22:33949096T-C T C
+22 33949187 22:33949187T-C T C
+22 33949701 22:33949701C-T C T
+22 33950283 22:33950283A-G A G
+22 33950513 22:33950513G-A G A
+22 33950537 22:33950537G-A G A
+22 33950885 22:33950885A-G A G
+22 33951148 22:33951148G-T G T
+22 33951213 22:33951213T-C T C
+22 33951266 22:33951266A-C A C
+22 33951553 22:33951553C-G C G
+22 33952715 22:33952715T-C T C
+22 33952852 22:33952852C-A C A
+22 33953680 22:33953680T-C T C
+22 33953812 22:33953812T-C T C
+22 33954332 22:33954332A-G A G
+22 33954700 22:33954700A-T A T
+22 33955172 22:33955172A-G A G
+22 33955174 22:33955174A-C A C
+22 33955183 22:33955183T-G T G
+22 33955197 22:33955197T-C T C
+22 33955365 22:33955365G-A G A
+22 33955828 22:33955828T-G T G
+22 33956080 22:33956080T-C T C
+22 33957446 22:33957446C-G C G
+22 33957874 22:33957874T-C T C
+22 33958689 22:33958689C-T C T
+22 33959638 22:33959638T-G T G
+22 33959743 22:33959743G-A G A
+22 33960308 22:33960308C-T C T
+22 33960676 22:33960676A-G A G
+22 33960714 22:33960714C-G C G
+22 33961517 22:33961517T-C T C
+22 33961635 22:33961635G-A G A
+22 33961918 22:33961918C-T C T
+22 33962454 22:33962454C-T C T
+22 33962475 22:33962475T-C T C
+22 33962949 22:33962949G-A G A
+22 33963191 22:33963191G-T G T
+22 33963757 22:33963757C-T C T
+22 33963790 22:33963790G-A G A
+22 33963938 22:33963938T-G T G
+22 33964490 22:33964490C-T C T
+22 33964576 22:33964576A-C A C
+22 33965006 22:33965006T-C T C
+22 33965497 22:33965497A-G A G
+22 33965639 22:33965639A-G A G
+22 33965912 22:33965912C-T C T
+22 33965913 22:33965913G-A G A
+22 33966591 22:33966591A-G A G
+22 33966611 22:33966611C-A C A
+22 33966725 22:33966725T-A T A
+22 33966965 22:33966965A-G A G
+22 33967289 22:33967289C-T C T
+22 33967686 22:33967686G-T G T
+22 33968368 22:33968368G-T G T
+22 33969016 22:33969016G-A G A
+22 33969514 22:33969514A-G A G
+22 33970348 22:33970348A-C A C
+22 33970493 22:33970493G-C G C
+22 33970742 22:33970742T-C T C
+22 33972438 22:33972438C-T C T
+22 33973088 22:33973088T-C T C
+22 33973118 22:33973118C-T C T
+22 33973415 22:33973415T-C T C
+22 33973512 22:33973512C-T C T
+22 33973544 22:33973544C-G C G
+22 33973905 22:33973905A-G A G
+22 33974254 22:33974254T-C T C
+22 33975304 22:33975304T-G T G
+22 33975839 22:33975839C-G C G
+22 33975998 22:33975998G-A G A
+22 33978076 22:33978076C-T C T
+22 33978131 22:33978131T-C T C
+22 33978311 22:33978311G-T G T
+22 33978458 22:33978458A-C A C
+22 33979605 22:33979605C-T C T
+22 33979937 22:33979937A-G A G
+22 33980108 22:33980108T-A T A
+22 33980680 22:33980680C-T C T
+22 33980719 22:33980719A-G A G
+22 33980721 22:33980721G-A G A
+22 33981599 22:33981599C-T C T
+22 33983380 22:33983380A-G A G
+22 33983419 22:33983419T-C T C
+22 33983594 22:33983594G-A G A
+22 33984329 22:33984329T-C T C
+22 33984394 22:33984394A-G A G
+22 33984757 22:33984757C-T C T
+22 33985010 22:33985010A-G A G
+22 33985315 22:33985315A-G A G
+22 33985360 22:33985360G-T G T
+22 33985629 22:33985629T-C T C
+22 33986493 22:33986493C-G C G
+22 33986543 22:33986543A-G A G
+22 33986616 22:33986616C-T C T
+22 33986668 22:33986668T-C T C
+22 33986709 22:33986709C-T C T
+22 33986766 22:33986766G-T G T
+22 33987008 22:33987008A-G A G
+22 33987208 22:33987208C-A C A
+22 33987401 22:33987401G-A G A
+22 33987480 22:33987480T-A T A
+22 33987893 22:33987893T-C T C
+22 33988293 22:33988293A-T A T
+22 33988401 22:33988401T-C T C
+22 33988470 22:33988470A-G A G
+22 33988531 22:33988531C-T C T
+22 33988838 22:33988838A-G A G
+22 33989068 22:33989068G-A G A
+22 33989109 22:33989109G-C G C
+22 33989174 22:33989174C-A C A
+22 33989331 22:33989331T-C T C
+22 33989427 22:33989427C-G C G
+22 33989474 22:33989474C-T C T
+22 33989768 22:33989768G-A G A
+22 33989858 22:33989858T-C T C
+22 33989879 22:33989879C-T C T
+22 33989916 22:33989916T-A T A
+22 33990057 22:33990057G-A G A
+22 33990084 22:33990084G-T G T
+22 33990203 22:33990203T-C T C
+22 33990431 22:33990431A-G A G
+22 33990836 22:33990836A-G A G
+22 33990885 22:33990885A-G A G
+22 33990910 22:33990910G-C G C
+22 33991430 22:33991430A-T A T
+22 33991571 22:33991571A-G A G
+22 33991592 22:33991592T-C T C
+22 33991603 22:33991603T-G T G
+22 33991866 22:33991866C-T C T
+22 33991956 22:33991956T-C T C
+22 33992393 22:33992393G-A G A
+22 33992584 22:33992584C-A C A
+22 33992637 22:33992637G-A G A
+22 33992722 22:33992722T-C T C
+22 33992910 22:33992910G-C G C
+22 33993081 22:33993081T-C T C
+22 33993489 22:33993489C-A C A
+22 33993646 22:33993646T-G T G
+22 33994030 22:33994030T-C T C
+22 33994048 22:33994048C-T C T
+22 33994059 22:33994059C-T C T
+22 33994118 22:33994118G-A G A
+22 33994229 22:33994229T-G T G
+22 33994266 22:33994266T-G T G
+22 33994837 22:33994837T-C T C
+22 33994864 22:33994864G-T G T
+22 33994882 22:33994882G-T G T
+22 33995211 22:33995211T-C T C
+22 33995466 22:33995466G-C G C
+22 33996202 22:33996202C-T C T
+22 33996294 22:33996294C-T C T
+22 33996444 22:33996444T-C T C
+22 33996546 22:33996546G-C G C
+22 33996636 22:33996636A-G A G
+22 33997195 22:33997195T-C T C
+22 33997220 22:33997220A-G A G
+22 33997376 22:33997376A-T A T
+22 33997551 22:33997551C-T C T
+22 33997712 22:33997712G-A G A
+22 33997715 22:33997715A-C A C
+22 33997723 22:33997723T-A T A
+22 33998026 22:33998026C-T C T
+22 33998541 22:33998541A-C A C
+22 33999325 22:33999325C-T C T
+22 34000175 22:34000175T-C T C
+22 34000230 22:34000230T-C T C
+22 34000282 22:34000282C-G C G
+22 34000928 22:34000928T-G T G
+22 34001200 22:34001200G-A G A
+22 34001893 22:34001893C-T C T
+22 34002731 22:34002731A-G A G
+22 34004071 22:34004071C-T C T
+22 34004472 22:34004472G-A G A
+22 34004561 22:34004561C-T C T
+22 34005507 22:34005507C-T C T
+22 34005906 22:34005906T-A T A
+22 34006203 22:34006203A-G A G
+22 34008430 22:34008430A-G A G
+22 34009001 22:34009001C-T C T
+22 34009972 22:34009972C-T C T
+22 34010265 22:34010265T-C T C
+22 34010313 22:34010313A-T A T
+22 34010710 22:34010710C-T C T
+22 34011334 22:34011334A-G A G
+22 34011935 22:34011935T-A T A
+22 34012346 22:34012346G-A G A
+22 34013807 22:34013807C-T C T
+22 34014777 22:34014777G-T G T
+22 34014873 22:34014873C-T C T
+22 34015686 22:34015686G-A G A
+22 34015991 22:34015991A-G A G
+22 34016124 22:34016124C-T C T
+22 34016954 22:34016954G-C G C
+22 34016957 22:34016957G-A G A
+22 34017307 22:34017307T-C T C
+22 34018251 22:34018251C-T C T
+22 34018642 22:34018642C-T C T
+22 34018750 22:34018750A-C A C
+22 34019565 22:34019565C-T C T
+22 34020185 22:34020185G-C G C
+22 34020429 22:34020429T-C T C
+22 34020543 22:34020543C-T C T
+22 34021461 22:34021461G-A G A
+22 34021876 22:34021876A-G A G
+22 34022284 22:34022284G-A G A
+22 34022856 22:34022856C-T C T
+22 34022969 22:34022969T-C T C
+22 34023785 22:34023785C-T C T
+22 34023995 22:34023995G-A G A
+22 34024097 22:34024097G-T G T
+22 34024204 22:34024204T-C T C
+22 34024452 22:34024452T-C T C
+22 34026303 22:34026303C-T C T
+22 34027471 22:34027471A-C A C
+22 34028195 22:34028195T-C T C
+22 34028592 22:34028592G-T G T
+22 34028976 22:34028976G-A G A
+22 34029588 22:34029588C-T C T
+22 34030879 22:34030879C-T C T
+22 34031333 22:34031333G-A G A
+22 34032005 22:34032005C-T C T
+22 34032439 22:34032439C-G C G
+22 34032714 22:34032714C-T C T
+22 34034255 22:34034255C-A C A
+22 34037466 22:34037466A-G A G
+22 34038756 22:34038756C-G C G
+22 34039715 22:34039715C-T C T
+22 34040862 22:34040862G-T G T
+22 34042750 22:34042750A-G A G
+22 34042875 22:34042875A-G A G
+22 34045501 22:34045501G-T G T
+22 34047094 22:34047094C-A C A
+22 34047930 22:34047930C-T C T
+22 34048923 22:34048923C-T C T
+22 34048934 22:34048934T-C T C
+22 34049096 22:34049096C-T C T
+22 34049393 22:34049393G-A G A
+22 34050005 22:34050005C-T C T
+22 34050561 22:34050561C-T C T
+22 34050980 22:34050980C-A C A
+22 34051845 22:34051845G-A G A
+22 34053443 22:34053443T-C T C
+22 34053620 22:34053620C-T C T
+22 34056545 22:34056545G-A G A
+22 34058236 22:34058236T-C T C
+22 34058812 22:34058812G-C G C
+22 34058890 22:34058890G-A G A
+22 34059041 22:34059041A-C A C
+22 34059487 22:34059487T-C T C
+22 34059703 22:34059703C-T C T
+22 34059719 22:34059719C-G C G
+22 34060303 22:34060303C-T C T
+22 34060802 22:34060802G-A G A
+22 34061053 22:34061053T-C T C
+22 34061156 22:34061156T-C T C
+22 34061215 22:34061215A-G A G
+22 34061251 22:34061251G-T G T
+22 34061663 22:34061663A-G A G
+22 34061818 22:34061818C-T C T
+22 34066384 22:34066384A-G A G
+22 34066846 22:34066846C-T C T
+22 34067781 22:34067781C-T C T
+22 34067868 22:34067868T-C T C
+22 34068567 22:34068567A-G A G
+22 34068576 22:34068576G-A G A
+22 34068825 22:34068825G-A G A
+22 34069675 22:34069675A-T A T
+22 34070266 22:34070266A-C A C
+22 34070425 22:34070425G-A G A
+22 34070628 22:34070628A-T A T
+22 34070673 22:34070673A-G A G
+22 34070749 22:34070749C-T C T
+22 34070821 22:34070821T-C T C
+22 34071181 22:34071181A-G A G
+22 34071608 22:34071608C-T C T
+22 34072009 22:34072009T-C T C
+22 34073758 22:34073758C-T C T
+22 34073795 22:34073795G-A G A
+22 34073833 22:34073833G-T G T
+22 34074461 22:34074461C-T C T
+22 34074564 22:34074564C-T C T
+22 34075249 22:34075249G-A G A
+22 34077047 22:34077047T-C T C
+22 34077092 22:34077092T-C T C
+22 34077196 22:34077196T-C T C
+22 34077804 22:34077804T-C T C
+22 34078057 22:34078057A-T A T
+22 34079068 22:34079068C-T C T
+22 34079176 22:34079176T-C T C
+22 34079813 22:34079813A-G A G
+22 34079989 22:34079989T-C T C
+22 34080132 22:34080132A-T A T
+22 34080571 22:34080571C-A C A
+22 34081902 22:34081902C-A C A
+22 34082390 22:34082390G-A G A
+22 34082465 22:34082465G-T G T
+22 34083187 22:34083187C-G C G
+22 34083987 22:34083987A-G A G
+22 34084086 22:34084086T-C T C
+22 34084138 22:34084138G-A G A
+22 34084492 22:34084492C-T C T
+22 34084846 22:34084846T-C T C
+22 34085088 22:34085088A-T A T
+22 34085321 22:34085321A-G A G
+22 34085462 22:34085462G-C G C
+22 34085522 22:34085522G-T G T
+22 34085737 22:34085737C-T C T
+22 34086061 22:34086061A-C A C
+22 34086351 22:34086351C-T C T
+22 34086416 22:34086416A-G A G
+22 34086494 22:34086494A-G A G
+22 34087063 22:34087063C-G C G
+22 34087553 22:34087553A-G A G
+22 34088176 22:34088176T-A T A
+22 34088400 22:34088400G-A G A
+22 34089182 22:34089182C-T C T
+22 34089260 22:34089260A-T A T
+22 34089348 22:34089348T-C T C
+22 34090362 22:34090362A-G A G
+22 34090440 22:34090440T-C T C
+22 34090873 22:34090873T-C T C
+22 34090960 22:34090960T-G T G
+22 34091569 22:34091569C-T C T
+22 34091748 22:34091748A-C A C
+22 34092189 22:34092189G-A G A
+22 34092280 22:34092280A-G A G
+22 34092491 22:34092491C-T C T
+22 34092831 22:34092831T-C T C
+22 34093465 22:34093465G-C G C
+22 34094151 22:34094151A-G A G
+22 34094889 22:34094889G-A G A
+22 34095499 22:34095499G-A G A
+22 34095941 22:34095941A-G A G
+22 34095985 22:34095985C-T C T
+22 34096135 22:34096135G-A G A
+22 34097356 22:34097356A-G A G
+22 34097765 22:34097765A-G A G
+22 34098342 22:34098342T-C T C
+22 34098417 22:34098417G-A G A
+22 34099055 22:34099055A-T A T
+22 34099119 22:34099119T-C T C
+22 34099520 22:34099520T-A T A
+22 34100524 22:34100524C-T C T
+22 34100944 22:34100944G-A G A
+22 34100993 22:34100993C-T C T
+22 34101885 22:34101885T-C T C
+22 34102803 22:34102803A-G A G
+22 34103913 22:34103913G-A G A
+22 34104374 22:34104374C-T C T
+22 34104403 22:34104403G-A G A
+22 34104444 22:34104444A-C A C
+22 34104923 22:34104923G-T G T
+22 34105222 22:34105222C-T C T
+22 34106006 22:34106006G-A G A
+22 34106384 22:34106384G-A G A
+22 34106504 22:34106504A-G A G
+22 34106551 22:34106551G-A G A
+22 34106745 22:34106745G-A G A
+22 34106853 22:34106853C-A C A
+22 34107247 22:34107247C-G C G
+22 34108174 22:34108174T-C T C
+22 34109005 22:34109005G-A G A
+22 34109215 22:34109215G-A G A
+22 34109874 22:34109874T-C T C
+22 34109904 22:34109904T-C T C
+22 34110028 22:34110028A-C A C
+22 34110284 22:34110284G-A G A
+22 34110580 22:34110580G-A G A
+22 34110614 22:34110614T-C T C
+22 34111641 22:34111641A-C A C
+22 34111978 22:34111978G-A G A
+22 34112298 22:34112298T-C T C
+22 34112650 22:34112650C-T C T
+22 34113589 22:34113589G-A G A
+22 34113903 22:34113903A-C A C
+22 34115785 22:34115785C-T C T
+22 34115786 22:34115786G-C G C
+22 34116538 22:34116538G-A G A
+22 34116864 22:34116864C-T C T
+22 34117139 22:34117139G-C G C
+22 34117145 22:34117145C-T C T
+22 34118081 22:34118081T-C T C
+22 34118137 22:34118137T-G T G
+22 34119898 22:34119898C-T C T
+22 34120395 22:34120395A-G A G
+22 34120608 22:34120608T-C T C
+22 34121238 22:34121238T-C T C
+22 34121523 22:34121523C-T C T
+22 34121525 22:34121525A-G A G
+22 34121863 22:34121863A-G A G
+22 34122129 22:34122129A-G A G
+22 34122711 22:34122711C-T C T
+22 34122979 22:34122979T-A T A
+22 34123156 22:34123156T-C T C
+22 34123675 22:34123675A-T A T
+22 34123789 22:34123789A-G A G
+22 34123827 22:34123827G-C G C
+22 34124976 22:34124976A-G A G
+22 34125816 22:34125816C-T C T
+22 34127314 22:34127314C-T C T
+22 34127393 22:34127393C-T C T
+22 34127504 22:34127504G-A G A
+22 34127850 22:34127850T-C T C
+22 34128731 22:34128731G-A G A
+22 34128910 22:34128910C-A C A
+22 34128982 22:34128982C-G C G
+22 34130860 22:34130860T-C T C
+22 34130913 22:34130913A-T A T
+22 34131099 22:34131099C-G C G
+22 34131153 22:34131153C-T C T
+22 34131681 22:34131681T-G T G
+22 34131736 22:34131736G-A G A
+22 34132955 22:34132955A-G A G
+22 34133402 22:34133402T-A T A
+22 34133667 22:34133667G-A G A
+22 34133758 22:34133758G-A G A
+22 34133896 22:34133896T-C T C
+22 34134039 22:34134039G-C G C
+22 34134304 22:34134304A-G A G
+22 34134364 22:34134364G-A G A
+22 34134733 22:34134733A-C A C
+22 34135007 22:34135007A-G A G
+22 34135043 22:34135043C-G C G
+22 34135318 22:34135318C-A C A
+22 34135416 22:34135416A-G A G
+22 34135432 22:34135432T-C T C
+22 34135472 22:34135472A-G A G
+22 34135756 22:34135756A-G A G
+22 34135929 22:34135929T-C T C
+22 34136002 22:34136002G-A G A
+22 34136160 22:34136160C-T C T
+22 34136943 22:34136943G-A G A
+22 34137172 22:34137172C-A C A
+22 34137267 22:34137267T-C T C
+22 34137589 22:34137589C-T C T
+22 34137784 22:34137784A-G A G
+22 34138628 22:34138628C-T C T
+22 34139032 22:34139032C-T C T
+22 34139051 22:34139051T-C T C
+22 34139108 22:34139108G-C G C
+22 34140021 22:34140021G-C G C
+22 34140284 22:34140284A-G A G
+22 34140434 22:34140434G-A G A
+22 34140446 22:34140446C-A C A
+22 34140955 22:34140955T-C T C
+22 34140977 22:34140977A-C A C
+22 34141321 22:34141321T-C T C
+22 34142936 22:34142936T-G T G
+22 34143341 22:34143341C-T C T
+22 34144275 22:34144275C-T C T
+22 34144424 22:34144424C-T C T
+22 34144498 22:34144498T-C T C
+22 34144823 22:34144823A-G A G
+22 34144960 22:34144960G-A G A
+22 34144996 22:34144996T-G T G
+22 34145378 22:34145378C-G C G
+22 34145391 22:34145391C-T C T
+22 34145542 22:34145542C-A C A
+22 34145596 22:34145596A-G A G
+22 34146173 22:34146173G-A G A
+22 34146368 22:34146368A-G A G
+22 34146971 22:34146971C-T C T
+22 34147194 22:34147194G-A G A
+22 34147380 22:34147380A-G A G
+22 34147430 22:34147430C-T C T
+22 34147575 22:34147575C-T C T
+22 34148991 22:34148991G-C G C
+22 34149037 22:34149037T-C T C
+22 34149878 22:34149878C-G C G
+22 34150513 22:34150513C-T C T
+22 34150984 22:34150984C-T C T
+22 34151949 22:34151949T-A T A
+22 34152060 22:34152060C-T C T
+22 34152653 22:34152653C-G C G
+22 34152661 22:34152661T-G T G
+22 34152864 22:34152864G-A G A
+22 34152899 22:34152899C-T C T
+22 34152919 22:34152919A-G A G
+22 34153047 22:34153047C-T C T
+22 34153395 22:34153395G-A G A
+22 34153436 22:34153436G-T G T
+22 34153445 22:34153445C-G C G
+22 34153779 22:34153779T-C T C
+22 34153788 22:34153788T-G T G
+22 34153853 22:34153853T-C T C
+22 34153854 22:34153854A-G A G
+22 34153966 22:34153966C-T C T
+22 34154020 22:34154020C-T C T
+22 34154229 22:34154229C-T C T
+22 34155966 22:34155966G-T G T
+22 34156544 22:34156544G-A G A
+22 34156607 22:34156607T-C T C
+22 34157526 22:34157526G-A G A
+22 34157814 22:34157814T-C T C
+22 34158060 22:34158060G-A G A
+22 34158440 22:34158440C-T C T
+22 34158480 22:34158480G-C G C
+22 34158772 22:34158772C-T C T
+22 34158796 22:34158796C-T C T
+22 34159536 22:34159536G-A G A
+22 34160132 22:34160132A-G A G
+22 34160402 22:34160402A-G A G
+22 34160426 22:34160426A-T A T
+22 34160510 22:34160510C-T C T
+22 34160676 22:34160676C-T C T
+22 34160789 22:34160789G-A G A
+22 34161028 22:34161028C-T C T
+22 34161108 22:34161108C-T C T
+22 34161489 22:34161489A-G A G
+22 34161718 22:34161718T-C T C
+22 34162025 22:34162025T-C T C
+22 34162371 22:34162371A-G A G
+22 34162568 22:34162568C-T C T
+22 34162969 22:34162969T-C T C
+22 34163761 22:34163761A-T A T
+22 34164686 22:34164686C-T C T
+22 34164768 22:34164768C-T C T
+22 34166081 22:34166081G-A G A
+22 34166139 22:34166139T-C T C
+22 34166666 22:34166666T-C T C
+22 34167002 22:34167002G-C G C
+22 34167980 22:34167980T-A T A
+22 34168009 22:34168009T-C T C
+22 34168069 22:34168069C-G C G
+22 34168233 22:34168233T-C T C
+22 34168478 22:34168478C-T C T
+22 34168663 22:34168663A-G A G
+22 34169292 22:34169292C-T C T
+22 34169394 22:34169394G-A G A
+22 34170076 22:34170076A-G A G
+22 34170097 22:34170097C-T C T
+22 34170175 22:34170175G-C G C
+22 34170195 22:34170195A-G A G
+22 34171379 22:34171379G-A G A
+22 34171554 22:34171554G-A G A
+22 34171890 22:34171890G-A G A
+22 34171993 22:34171993A-C A C
+22 34172049 22:34172049C-T C T
+22 34172277 22:34172277G-A G A
+22 34172423 22:34172423C-T C T
+22 34172461 22:34172461A-G A G
+22 34172480 22:34172480A-G A G
+22 34172489 22:34172489G-A G A
+22 34172588 22:34172588C-T C T
+22 34172783 22:34172783A-C A C
+22 34172801 22:34172801C-T C T
+22 34172915 22:34172915G-A G A
+22 34172942 22:34172942C-G C G
+22 34174342 22:34174342C-A C A
+22 34174629 22:34174629T-C T C
+22 34174674 22:34174674G-C G C
+22 34174794 22:34174794T-C T C
+22 34174884 22:34174884C-T C T
+22 34174917 22:34174917C-T C T
+22 34174927 22:34174927C-T C T
+22 34175076 22:34175076C-T C T
+22 34175171 22:34175171C-T C T
+22 34175187 22:34175187T-C T C
+22 34175220 22:34175220C-G C G
+22 34175254 22:34175254G-A G A
+22 34175297 22:34175297A-G A G
+22 34175385 22:34175385G-A G A
+22 34175587 22:34175587T-C T C
+22 34175605 22:34175605C-A C A
+22 34175754 22:34175754C-G C G
+22 34176266 22:34176266T-G T G
+22 34176472 22:34176472G-A G A
+22 34176486 22:34176486C-T C T
+22 34176823 22:34176823C-T C T
+22 34177405 22:34177405C-T C T
+22 34177945 22:34177945T-C T C
+22 34178159 22:34178159C-T C T
+22 34178318 22:34178318T-G T G
+22 34178537 22:34178537T-C T C
+22 34179408 22:34179408T-C T C
+22 34180237 22:34180237T-C T C
+22 34180711 22:34180711T-C T C
+22 34180801 22:34180801T-C T C
+22 34180949 22:34180949T-C T C
+22 34180979 22:34180979C-T C T
+22 34181047 22:34181047T-C T C
+22 34181409 22:34181409C-T C T
+22 34181410 22:34181410A-G A G
+22 34182108 22:34182108A-C A C
+22 34182849 22:34182849A-C A C
+22 34182877 22:34182877G-A G A
+22 34182889 22:34182889A-T A T
+22 34182989 22:34182989C-T C T
+22 34183257 22:34183257G-A G A
+22 34183688 22:34183688C-T C T
+22 34184095 22:34184095T-C T C
+22 34184159 22:34184159C-T C T
+22 34184565 22:34184565G-A G A
+22 34185870 22:34185870A-T A T
+22 34186187 22:34186187C-T C T
+22 34186316 22:34186316T-G T G
+22 34186633 22:34186633C-G C G
+22 34186914 22:34186914C-T C T
+22 34187863 22:34187863G-C G C
+22 34188764 22:34188764C-T C T
+22 34189253 22:34189253T-C T C
+22 34189746 22:34189746T-C T C
+22 34190124 22:34190124C-G C G
+22 34190670 22:34190670C-T C T
+22 34190714 22:34190714C-A C A
+22 34190793 22:34190793A-G A G
+22 34190850 22:34190850G-A G A
+22 34191496 22:34191496A-G A G
+22 34191547 22:34191547C-T C T
+22 34191634 22:34191634T-C T C
+22 34191635 22:34191635A-G A G
+22 34191647 22:34191647C-T C T
+22 34191857 22:34191857A-T A T
+22 34191883 22:34191883G-A G A
+22 34191950 22:34191950T-C T C
+22 34192425 22:34192425C-A C A
+22 34192621 22:34192621C-T C T
+22 34193065 22:34193065C-T C T
+22 34193122 22:34193122A-G A G
+22 34193232 22:34193232C-A C A
+22 34193834 22:34193834C-T C T
+22 34193881 22:34193881T-C T C
+22 34194000 22:34194000C-T C T
+22 34194745 22:34194745C-T C T
+22 34195172 22:34195172G-A G A
+22 34195340 22:34195340C-G C G
+22 34195479 22:34195479G-A G A
+22 34195516 22:34195516C-T C T
+22 34196332 22:34196332T-G T G
+22 34196508 22:34196508T-C T C
+22 34196626 22:34196626C-T C T
+22 34196736 22:34196736G-A G A
+22 34196755 22:34196755T-C T C
+22 34196908 22:34196908G-A G A
+22 34196991 22:34196991G-A G A
+22 34197237 22:34197237C-A C A
+22 34197367 22:34197367T-C T C
+22 34197381 22:34197381C-T C T
+22 34197421 22:34197421G-A G A
+22 34197802 22:34197802T-C T C
+22 34198008 22:34198008T-C T C
+22 34198290 22:34198290T-A T A
+22 34198628 22:34198628C-G C G
+22 34198810 22:34198810C-T C T
+22 34199557 22:34199557C-T C T
+22 34201193 22:34201193C-T C T
+22 34201579 22:34201579G-A G A
+22 34201800 22:34201800T-C T C
+22 34202054 22:34202054C-T C T
+22 34202284 22:34202284C-T C T
+22 34202493 22:34202493A-G A G
+22 34202721 22:34202721G-A G A
+22 34202770 22:34202770A-G A G
+22 34202958 22:34202958T-C T C
+22 34202970 22:34202970C-A C A
+22 34202971 22:34202971G-A G A
+22 34203195 22:34203195C-T C T
+22 34203231 22:34203231G-T G T
+22 34203237 22:34203237C-T C T
+22 34203332 22:34203332G-A G A
+22 34203496 22:34203496A-G A G
+22 34203717 22:34203717T-C T C
+22 34204203 22:34204203C-T C T
+22 34204239 22:34204239A-T A T
+22 34204251 22:34204251C-A C A
+22 34204494 22:34204494G-C G C
+22 34204517 22:34204517A-C A C
+22 34204930 22:34204930T-C T C
+22 34205329 22:34205329T-C T C
+22 34206039 22:34206039C-A C A
+22 34206041 22:34206041T-A T A
+22 34206144 22:34206144A-G A G
+22 34206341 22:34206341G-A G A
+22 34206600 22:34206600G-A G A
+22 34206711 22:34206711T-C T C
+22 34206773 22:34206773C-T C T
+22 34206867 22:34206867T-C T C
+22 34206880 22:34206880T-C T C
+22 34207052 22:34207052G-A G A
+22 34208284 22:34208284C-T C T
+22 34208570 22:34208570C-T C T
+22 34208846 22:34208846T-C T C
+22 34208847 22:34208847G-A G A
+22 34209319 22:34209319A-C A C
+22 34209599 22:34209599G-A G A
+22 34209742 22:34209742G-C G C
+22 34210562 22:34210562A-T A T
+22 34210998 22:34210998C-T C T
+22 34211435 22:34211435T-C T C
+22 34211556 22:34211556G-T G T
+22 34211592 22:34211592A-G A G
+22 34212294 22:34212294C-T C T
+22 34213356 22:34213356T-C T C
+22 34213503 22:34213503T-C T C
+22 34213718 22:34213718G-A G A
+22 34214448 22:34214448A-G A G
+22 34214587 22:34214587T-C T C
+22 34214875 22:34214875C-T C T
+22 34215430 22:34215430T-C T C
+22 34215782 22:34215782T-G T G
+22 34215828 22:34215828A-G A G
+22 34215934 22:34215934C-T C T
+22 34216487 22:34216487A-T A T
+22 34217224 22:34217224T-C T C
+22 34217687 22:34217687T-C T C
+22 34217757 22:34217757C-T C T
+22 34217765 22:34217765A-T A T
+22 34217802 22:34217802G-A G A
+22 34218355 22:34218355C-T C T
+22 34218550 22:34218550T-C T C
+22 34218639 22:34218639C-G C G
+22 34218798 22:34218798C-T C T
+22 34219013 22:34219013T-A T A
+22 34219167 22:34219167T-A T A
+22 34219219 22:34219219A-G A G
+22 34219494 22:34219494G-C G C
+22 34219506 22:34219506G-C G C
+22 34219939 22:34219939A-G A G
+22 34220189 22:34220189G-T G T
+22 34220266 22:34220266C-G C G
+22 34220483 22:34220483T-A T A
+22 34220609 22:34220609G-C G C
+22 34220688 22:34220688A-T A T
+22 34220943 22:34220943G-A G A
+22 34220967 22:34220967A-G A G
+22 34220982 22:34220982G-C G C
+22 34221190 22:34221190G-A G A
+22 34221469 22:34221469G-A G A
+22 34221959 22:34221959A-G A G
+22 34222434 22:34222434G-A G A
+22 34222563 22:34222563T-C T C
+22 34222745 22:34222745C-T C T
+22 34222751 22:34222751C-G C G
+22 34222793 22:34222793T-C T C
+22 34222909 22:34222909C-G C G
+22 34223010 22:34223010T-C T C
+22 34223033 22:34223033A-T A T
+22 34223400 22:34223400G-A G A
+22 34223872 22:34223872T-C T C
+22 34224062 22:34224062G-T G T
+22 34224296 22:34224296T-C T C
+22 34224315 22:34224315T-G T G
+22 34224527 22:34224527G-C G C
+22 34224707 22:34224707T-C T C
+22 34224799 22:34224799T-C T C
+22 34224868 22:34224868C-T C T
+22 34224902 22:34224902T-G T G
+22 34224916 22:34224916C-A C A
+22 34225165 22:34225165T-C T C
+22 34225359 22:34225359G-A G A
+22 34225417 22:34225417G-A G A
+22 34225482 22:34225482C-T C T
+22 34225927 22:34225927C-A C A
+22 34226068 22:34226068G-A G A
+22 34226143 22:34226143C-T C T
+22 34226185 22:34226185A-G A G
+22 34226412 22:34226412C-G C G
+22 34226440 22:34226440T-C T C
+22 34226582 22:34226582G-A G A
+22 34226585 22:34226585T-A T A
+22 34226592 22:34226592A-C A C
+22 34226660 22:34226660C-T C T
+22 34226685 22:34226685C-T C T
+22 34226785 22:34226785A-G A G
+22 34226847 22:34226847T-A T A
+22 34227042 22:34227042C-T C T
+22 34227271 22:34227271C-T C T
+22 34228587 22:34228587C-G C G
+22 34229105 22:34229105C-T C T
+22 34229952 22:34229952T-G T G
+22 34230190 22:34230190C-T C T
+22 34230254 22:34230254G-T G T
+22 34230473 22:34230473C-T C T
+22 34232951 22:34232951T-C T C
+22 34233005 22:34233005T-A T A
+22 34233360 22:34233360A-G A G
+22 34233567 22:34233567T-C T C
+22 34234301 22:34234301C-T C T
+22 34234463 22:34234463C-A C A
+22 34235677 22:34235677T-C T C
+22 34235922 22:34235922T-A T A
+22 34236017 22:34236017T-C T C
+22 34236395 22:34236395A-G A G
+22 34236436 22:34236436T-C T C
+22 34236769 22:34236769A-C A C
+22 34237411 22:34237411C-T C T
+22 34237827 22:34237827T-A T A
+22 34238131 22:34238131C-T C T
+22 34238144 22:34238144T-G T G
+22 34238465 22:34238465G-C G C
+22 34238831 22:34238831T-C T C
+22 34239057 22:34239057A-C A C
+22 34239559 22:34239559A-T A T
+22 34239852 22:34239852A-G A G
+22 34240796 22:34240796C-T C T
+22 34240983 22:34240983G-A G A
+22 34241270 22:34241270T-C T C
+22 34241306 22:34241306T-C T C
+22 34241811 22:34241811G-A G A
+22 34241862 22:34241862G-A G A
+22 34242052 22:34242052G-C G C
+22 34242725 22:34242725A-G A G
+22 34242728 22:34242728G-A G A
+22 34242835 22:34242835C-T C T
+22 34242905 22:34242905T-G T G
+22 34243069 22:34243069C-G C G
+22 34243634 22:34243634T-C T C
+22 34243642 22:34243642G-C G C
+22 34244268 22:34244268T-C T C
+22 34244563 22:34244563G-A G A
+22 34244728 22:34244728A-T A T
+22 34244818 22:34244818C-T C T
+22 34244851 22:34244851A-C A C
+22 34245092 22:34245092C-G C G
+22 34245138 22:34245138A-T A T
+22 34245216 22:34245216C-T C T
+22 34245401 22:34245401T-C T C
+22 34245533 22:34245533T-C T C
+22 34245754 22:34245754C-T C T
+22 34246976 22:34246976G-C G C
+22 34247064 22:34247064A-G A G
+22 34247794 22:34247794G-A G A
+22 34247917 22:34247917G-A G A
+22 34248314 22:34248314C-A C A
+22 34248606 22:34248606G-A G A
+22 34248664 22:34248664G-A G A
+22 34249434 22:34249434G-A G A
+22 34249717 22:34249717T-C T C
+22 34250366 22:34250366G-A G A
+22 34250471 22:34250471A-G A G
+22 34250634 22:34250634T-C T C
+22 34251105 22:34251105G-A G A
+22 34251510 22:34251510G-A G A
+22 34251544 22:34251544C-T C T
+22 34252259 22:34252259A-C A C
+22 34252300 22:34252300G-A G A
+22 34252374 22:34252374C-T C T
+22 34252412 22:34252412G-C G C
+22 34252545 22:34252545G-A G A
+22 34253031 22:34253031A-G A G
+22 34253393 22:34253393G-T G T
+22 34253492 22:34253492T-G T G
+22 34253757 22:34253757T-C T C
+22 34254562 22:34254562G-A G A
+22 34255143 22:34255143G-A G A
+22 34255628 22:34255628A-G A G
+22 34255654 22:34255654A-G A G
+22 34255910 22:34255910G-A G A
+22 34256108 22:34256108T-A T A
+22 34256369 22:34256369A-C A C
+22 34256853 22:34256853C-T C T
+22 34256860 22:34256860C-T C T
+22 34256908 22:34256908A-G A G
+22 34256919 22:34256919T-C T C
+22 34256923 22:34256923C-A C A
+22 34257133 22:34257133G-A G A
+22 34257221 22:34257221G-A G A
+22 34258454 22:34258454G-C G C
+22 34259378 22:34259378G-A G A
+22 34259398 22:34259398T-A T A
+22 34259426 22:34259426C-T C T
+22 34259910 22:34259910G-A G A
+22 34259921 22:34259921A-C A C
+22 34260738 22:34260738C-T C T
+22 34261643 22:34261643C-A C A
+22 34262097 22:34262097G-T G T
+22 34262416 22:34262416C-T C T
+22 34262955 22:34262955A-G A G
+22 34263325 22:34263325G-A G A
+22 34263362 22:34263362A-G A G
+22 34264838 22:34264838T-A T A
+22 34265402 22:34265402A-G A G
+22 34265796 22:34265796T-C T C
+22 34265879 22:34265879A-C A C
+22 34265980 22:34265980C-T C T
+22 34266265 22:34266265A-G A G
+22 34266633 22:34266633T-C T C
+22 34266717 22:34266717C-T C T
+22 34267278 22:34267278A-G A G
+22 34267566 22:34267566A-T A T
+22 34268230 22:34268230A-G A G
+22 34268317 22:34268317G-T G T
+22 34268396 22:34268396G-T G T
+22 34268423 22:34268423G-A G A
+22 34268471 22:34268471G-A G A
+22 34268515 22:34268515C-A C A
+22 34268778 22:34268778G-A G A
+22 34268857 22:34268857A-G A G
+22 34268862 22:34268862C-G C G
+22 34269110 22:34269110T-C T C
+22 34269171 22:34269171G-A G A
+22 34269184 22:34269184C-T C T
+22 34269272 22:34269272C-G C G
+22 34269326 22:34269326C-T C T
+22 34269443 22:34269443T-C T C
+22 34269447 22:34269447G-C G C
+22 34269491 22:34269491A-G A G
+22 34269526 22:34269526C-T C T
+22 34269594 22:34269594C-A C A
+22 34270163 22:34270163A-G A G
+22 34270568 22:34270568T-C T C
+22 34270693 22:34270693T-G T G
+22 34271601 22:34271601C-T C T
+22 34271782 22:34271782A-G A G
+22 34272379 22:34272379C-T C T
+22 34272719 22:34272719C-T C T
+22 34272754 22:34272754T-C T C
+22 34272930 22:34272930G-C G C
+22 34273637 22:34273637A-G A G
+22 34273865 22:34273865A-G A G
+22 34274556 22:34274556A-G A G
+22 34275560 22:34275560G-A G A
+22 34276095 22:34276095A-G A G
+22 34276698 22:34276698T-G T G
+22 34276765 22:34276765C-T C T
+22 34277434 22:34277434G-T G T
+22 34278490 22:34278490G-A G A
+22 34279012 22:34279012T-A T A
+22 34280249 22:34280249A-G A G
+22 34281047 22:34281047T-C T C
+22 34281745 22:34281745G-A G A
+22 34281940 22:34281940C-A C A
+22 34282997 22:34282997T-G T G
+22 34283144 22:34283144G-T G T
+22 34283536 22:34283536A-C A C
+22 34283665 22:34283665T-C T C
+22 34283710 22:34283710A-G A G
+22 34284173 22:34284173A-G A G
+22 34284326 22:34284326T-C T C
+22 34284609 22:34284609C-T C T
+22 34284664 22:34284664C-T C T
+22 34286681 22:34286681T-C T C
+22 34287350 22:34287350T-C T C
+22 34287819 22:34287819C-T C T
+22 34288512 22:34288512C-T C T
+22 34288690 22:34288690G-A G A
+22 34288977 22:34288977G-A G A
+22 34289025 22:34289025G-A G A
+22 34289115 22:34289115C-A C A
+22 34289857 22:34289857A-G A G
+22 34290235 22:34290235A-C A C
+22 34290716 22:34290716A-G A G
+22 34291465 22:34291465G-A G A
+22 34291613 22:34291613C-T C T
+22 34291750 22:34291750A-G A G
+22 34293516 22:34293516T-C T C
+22 34295410 22:34295410G-T G T
+22 34295465 22:34295465C-T C T
+22 34295777 22:34295777A-T A T
+22 34295874 22:34295874C-T C T
+22 34296093 22:34296093A-C A C
+22 34296745 22:34296745G-A G A
+22 34296751 22:34296751C-T C T
+22 34297551 22:34297551G-A G A
+22 34298945 22:34298945G-C G C
+22 34298980 22:34298980C-A C A
+22 34299436 22:34299436T-C T C
+22 34300358 22:34300358A-G A G
+22 34300552 22:34300552C-A C A
+22 34303377 22:34303377C-A C A
+22 34304073 22:34304073C-T C T
+22 34304691 22:34304691A-C A C
+22 34305619 22:34305619C-T C T
+22 34305667 22:34305667C-T C T
+22 34306355 22:34306355A-T A T
+22 34306792 22:34306792G-T G T
+22 34307875 22:34307875T-C T C
+22 34309064 22:34309064C-T C T
+22 34309819 22:34309819A-G A G
+22 34312954 22:34312954G-T G T
+22 34314120 22:34314120G-A G A
+22 34314128 22:34314128T-C T C
+22 34314144 22:34314144A-T A T
+22 34314554 22:34314554T-C T C
+22 34314645 22:34314645A-C A C
+22 34314841 22:34314841G-A G A
+22 34315294 22:34315294G-C G C
+22 34315423 22:34315423T-G T G
+22 34315426 22:34315426A-C A C
+22 34315463 22:34315463A-G A G
+22 34315478 22:34315478A-C A C
+22 34316077 22:34316077G-A G A
+22 34316297 22:34316297G-C G C
+22 34317623 22:34317623T-G T G
+22 34318066 22:34318066C-G C G
+22 34318118 22:34318118T-C T C
+22 34318741 22:34318741A-G A G
+22 34319286 22:34319286T-C T C
+22 34319509 22:34319509A-G A G
+22 34319736 22:34319736G-A G A
+22 34320113 22:34320113A-G A G
+22 34320457 22:34320457G-A G A
+22 34321194 22:34321194C-A C A
+22 34322022 22:34322022T-C T C
+22 34322226 22:34322226C-T C T
+22 34322318 22:34322318G-A G A
+22 34323499 22:34323499A-T A T
+22 34324742 22:34324742T-A T A
+22 34324755 22:34324755A-G A G
+22 34325300 22:34325300C-T C T
+22 34325821 22:34325821G-T G T
+22 34326145 22:34326145A-G A G
+22 34326399 22:34326399T-C T C
+22 34326430 22:34326430A-G A G
+22 34326529 22:34326529G-C G C
+22 34326711 22:34326711A-G A G
+22 34327276 22:34327276C-G C G
+22 34327395 22:34327395A-G A G
+22 34327399 22:34327399A-T A T
+22 34327535 22:34327535A-C A C
+22 34327667 22:34327667A-T A T
+22 34327709 22:34327709C-T C T
+22 34328112 22:34328112G-A G A
+22 34328332 22:34328332G-A G A
+22 34328390 22:34328390G-A G A
+22 34328728 22:34328728T-G T G
+22 34328741 22:34328741T-C T C
+22 34328935 22:34328935A-T A T
+22 34329224 22:34329224A-G A G
+22 34329326 22:34329326T-C T C
+22 34329603 22:34329603A-T A T
+22 34329734 22:34329734T-G T G
+22 34329915 22:34329915G-A G A
+22 34330432 22:34330432G-A G A
+22 34331345 22:34331345C-G C G
+22 34331536 22:34331536G-T G T
+22 34332195 22:34332195C-A C A
+22 34332343 22:34332343C-T C T
+22 34333623 22:34333623A-G A G
+22 34334275 22:34334275G-A G A
+22 34334357 22:34334357C-T C T
+22 34334602 22:34334602A-T A T
+22 34334964 22:34334964T-C T C
+22 34335096 22:34335096G-C G C
+22 34336228 22:34336228C-G C G
+22 34336607 22:34336607A-G A G
+22 34337383 22:34337383C-T C T
+22 34337515 22:34337515G-A G A
+22 34337624 22:34337624C-T C T
+22 34338283 22:34338283T-C T C
+22 34338413 22:34338413T-C T C
+22 34338666 22:34338666A-G A G
+22 34338825 22:34338825C-G C G
+22 34338947 22:34338947C-A C A
+22 34338948 22:34338948C-T C T
+22 34338949 22:34338949G-A G A
+22 34339351 22:34339351A-G A G
+22 34339615 22:34339615G-A G A
+22 34340046 22:34340046C-A C A
+22 34340447 22:34340447G-A G A
+22 34340862 22:34340862G-A G A
+22 34341506 22:34341506C-T C T
+22 34342735 22:34342735A-G A G
+22 34343150 22:34343150G-C G C
+22 34343542 22:34343542G-C G C
+22 34343697 22:34343697C-A C A
+22 34344196 22:34344196G-A G A
+22 34344212 22:34344212A-G A G
+22 34344982 22:34344982G-C G C
+22 34346807 22:34346807C-T C T
+22 34347159 22:34347159T-C T C
+22 34347559 22:34347559A-G A G
+22 34348326 22:34348326T-G T G
+22 34349737 22:34349737C-T C T
+22 34350557 22:34350557A-T A T
+22 34351384 22:34351384G-A G A
+22 34351600 22:34351600T-A T A
+22 34353433 22:34353433T-C T C
+22 34353546 22:34353546A-G A G
+22 34353798 22:34353798C-T C T
+22 34354953 22:34354953C-T C T
+22 34357236 22:34357236A-G A G
+22 34357489 22:34357489A-G A G
+22 34358639 22:34358639C-A C A
+22 34358906 22:34358906C-G C G
+22 34359717 22:34359717T-C T C
+22 34360180 22:34360180T-G T G
+22 34360773 22:34360773C-T C T
+22 34361131 22:34361131C-T C T
+22 34362025 22:34362025T-C T C
+22 34363286 22:34363286T-C T C
+22 34363855 22:34363855A-T A T
+22 34364249 22:34364249T-C T C
+22 34365382 22:34365382A-G A G
+22 34365442 22:34365442A-G A G
+22 34366372 22:34366372G-T G T
+22 34366376 22:34366376C-T C T
+22 34369404 22:34369404T-C T C
+22 34369696 22:34369696T-G T G
+22 34369903 22:34369903T-C T C
+22 34370156 22:34370156G-A G A
+22 34371108 22:34371108C-G C G
+22 34374435 22:34374435T-C T C
+22 34375616 22:34375616T-G T G
+22 34375707 22:34375707A-G A G
+22 34376201 22:34376201C-T C T
+22 34378012 22:34378012G-A G A
+22 34379623 22:34379623G-T G T
+22 34380067 22:34380067G-A G A
+22 34382971 22:34382971C-T C T
+22 34384293 22:34384293T-C T C
+22 34386083 22:34386083G-A G A
+22 34386473 22:34386473A-G A G
+22 34386634 22:34386634T-G T G
+22 34386904 22:34386904C-T C T
+22 34387510 22:34387510A-G A G
+22 34387935 22:34387935G-T G T
+22 34389253 22:34389253A-G A G
+22 34390602 22:34390602T-C T C
+22 34391401 22:34391401G-A G A
+22 34391444 22:34391444A-G A G
+22 34391473 22:34391473A-T A T
+22 34392013 22:34392013A-G A G
+22 34393744 22:34393744G-C G C
+22 34395171 22:34395171C-T C T
+22 34396795 22:34396795T-C T C
+22 34396981 22:34396981G-T G T
+22 34397453 22:34397453G-A G A
+22 34398051 22:34398051C-T C T
+22 34398083 22:34398083C-T C T
+22 34398185 22:34398185G-T G T
+22 34399168 22:34399168A-G A G
+22 34399754 22:34399754G-A G A
+22 34400253 22:34400253T-C T C
+22 34400330 22:34400330A-G A G
+22 34400902 22:34400902T-A T A
+22 34401218 22:34401218C-T C T
+22 34401375 22:34401375A-C A C
+22 34401688 22:34401688G-A G A
+22 34401729 22:34401729C-G C G
+22 34402044 22:34402044T-C T C
+22 34402187 22:34402187G-T G T
+22 34402257 22:34402257C-A C A
+22 34402369 22:34402369A-G A G
+22 34403322 22:34403322C-T C T
+22 34403348 22:34403348G-A G A
+22 34403466 22:34403466T-C T C
+22 34403487 22:34403487A-C A C
+22 34404116 22:34404116C-T C T
+22 34404781 22:34404781C-T C T
+22 34405838 22:34405838C-T C T
+22 34405926 22:34405926A-G A G
+22 34406013 22:34406013C-T C T
+22 34406542 22:34406542A-G A G
+22 34408035 22:34408035T-C T C
+22 34408216 22:34408216G-A G A
+22 34408937 22:34408937A-C A C
+22 34409246 22:34409246C-T C T
+22 34409899 22:34409899T-C T C
+22 34410048 22:34410048G-A G A
+22 34411039 22:34411039C-G C G
+22 34411071 22:34411071T-C T C
+22 34411509 22:34411509C-T C T
+22 34411567 22:34411567G-A G A
+22 34411714 22:34411714C-A C A
+22 34413273 22:34413273A-G A G
+22 34413746 22:34413746A-T A T
+22 34414466 22:34414466T-C T C
+22 34414616 22:34414616A-C A C
+22 34414771 22:34414771C-T C T
+22 34415015 22:34415015G-A G A
+22 34415836 22:34415836G-A G A
+22 34415870 22:34415870A-C A C
+22 34416498 22:34416498C-T C T
+22 34417384 22:34417384C-A C A
+22 34417617 22:34417617T-C T C
+22 34421920 22:34421920C-T C T
+22 34422232 22:34422232C-T C T
+22 34422662 22:34422662A-G A G
+22 34424834 22:34424834T-C T C
+22 34425834 22:34425834C-T C T
+22 34427836 22:34427836C-T C T
+22 34428824 22:34428824A-G A G
+22 34429552 22:34429552A-G A G
+22 34429738 22:34429738A-G A G
+22 34430084 22:34430084T-C T C
+22 34432807 22:34432807T-G T G
+22 34433704 22:34433704T-C T C
+22 34435595 22:34435595C-G C G
+22 34435815 22:34435815G-C G C
+22 34436115 22:34436115G-T G T
+22 34436795 22:34436795T-C T C
+22 34437261 22:34437261C-T C T
+22 34441255 22:34441255T-C T C
+22 34442621 22:34442621C-G C G
+22 34442938 22:34442938T-G T G
+22 34442940 22:34442940C-T C T
+22 34443306 22:34443306G-A G A
+22 34444365 22:34444365C-G C G
+22 34444383 22:34444383T-G T G
+22 34445198 22:34445198A-G A G
+22 34445405 22:34445405G-A G A
+22 34445435 22:34445435C-G C G
+22 34445589 22:34445589C-T C T
+22 34447263 22:34447263T-C T C
+22 34447269 22:34447269A-C A C
+22 34451818 22:34451818A-G A G
+22 34452634 22:34452634T-C T C
+22 34453111 22:34453111G-A G A
+22 34454527 22:34454527C-G C G
+22 34460175 22:34460175A-G A G
+22 34461202 22:34461202C-T C T
+22 34464049 22:34464049G-A G A
+22 34464710 22:34464710A-G A G
+22 34465308 22:34465308T-C T C
+22 34465569 22:34465569G-A G A
+22 34465753 22:34465753T-C T C
+22 34466030 22:34466030A-G A G
+22 34466258 22:34466258G-A G A
+22 34466882 22:34466882A-G A G
+22 34466886 22:34466886C-T C T
+22 34467030 22:34467030A-G A G
+22 34468181 22:34468181G-A G A
+22 34469264 22:34469264A-G A G
+22 34469271 22:34469271A-G A G
+22 34469292 22:34469292C-T C T
+22 34469332 22:34469332T-C T C
+22 34469348 22:34469348G-A G A
+22 34469447 22:34469447T-C T C
+22 34469753 22:34469753T-C T C
+22 34469812 22:34469812C-T C T
+22 34470167 22:34470167A-G A G
+22 34472295 22:34472295C-A C A
+22 34473145 22:34473145A-G A G
+22 34473635 22:34473635G-A G A
+22 34473652 22:34473652A-C A C
+22 34473756 22:34473756A-G A G
+22 34474699 22:34474699C-A C A
+22 34475231 22:34475231A-G A G
+22 34476087 22:34476087G-A G A
+22 34476759 22:34476759A-G A G
+22 34476803 22:34476803T-C T C
+22 34476894 22:34476894A-G A G
+22 34477010 22:34477010C-T C T
+22 34477043 22:34477043G-A G A
+22 34477454 22:34477454C-T C T
+22 34477467 22:34477467C-T C T
+22 34477683 22:34477683T-A T A
+22 34477949 22:34477949G-A G A
+22 34478427 22:34478427C-T C T
+22 34478724 22:34478724A-G A G
+22 34479034 22:34479034C-T C T
+22 34479767 22:34479767T-G T G
+22 34481608 22:34481608C-T C T
+22 34481644 22:34481644G-T G T
+22 34481775 22:34481775T-C T C
+22 34482940 22:34482940C-T C T
+22 34482951 22:34482951A-G A G
+22 34483130 22:34483130A-G A G
+22 34484318 22:34484318A-G A G
+22 34484940 22:34484940T-A T A
+22 34485140 22:34485140T-C T C
+22 34485384 22:34485384G-T G T
+22 34485701 22:34485701A-G A G
+22 34487828 22:34487828G-T G T
+22 34488452 22:34488452G-A G A
+22 34490624 22:34490624C-T C T
+22 34490625 22:34490625A-G A G
+22 34491513 22:34491513C-T C T
+22 34492542 22:34492542T-C T C
+22 34492709 22:34492709A-T A T
+22 34493236 22:34493236A-G A G
+22 34495450 22:34495450G-A G A
+22 34495465 22:34495465A-T A T
+22 34495551 22:34495551C-T C T
+22 34496035 22:34496035C-A C A
+22 34496691 22:34496691C-A C A
+22 34496718 22:34496718A-T A T
+22 34496822 22:34496822G-A G A
+22 34497307 22:34497307G-A G A
+22 34497983 22:34497983G-A G A
+22 34497993 22:34497993C-T C T
+22 34498251 22:34498251C-T C T
+22 34499025 22:34499025G-A G A
+22 34499558 22:34499558A-C A C
+22 34500701 22:34500701C-T C T
+22 34501541 22:34501541G-A G A
+22 34503059 22:34503059A-G A G
+22 34505903 22:34505903T-C T C
+22 34506382 22:34506382A-G A G
+22 34508491 22:34508491A-G A G
+22 34510633 22:34510633C-G C G
+22 34510915 22:34510915T-A T A
+22 34513777 22:34513777A-G A G
+22 34514810 22:34514810A-C A C
+22 34515686 22:34515686C-T C T
+22 34516294 22:34516294T-G T G
+22 34516551 22:34516551C-T C T
+22 34517159 22:34517159G-C G C
+22 34517233 22:34517233A-G A G
+22 34519800 22:34519800A-G A G
+22 34520194 22:34520194T-C T C
+22 34521333 22:34521333C-T C T
+22 34521550 22:34521550C-T C T
+22 34523488 22:34523488C-T C T
+22 34523877 22:34523877G-C G C
+22 34524988 22:34524988C-A C A
+22 34525540 22:34525540G-T G T
+22 34526428 22:34526428T-C T C
+22 34527059 22:34527059C-T C T
+22 34527749 22:34527749G-T G T
+22 34528445 22:34528445C-T C T
+22 34530384 22:34530384T-C T C
+22 34530886 22:34530886C-T C T
+22 34531343 22:34531343T-C T C
+22 34531373 22:34531373T-A T A
+22 34532884 22:34532884T-C T C
+22 34533451 22:34533451G-A G A
+22 34533635 22:34533635G-A G A
+22 34533742 22:34533742C-T C T
+22 34534004 22:34534004C-A C A
+22 34534107 22:34534107G-T G T
+22 34534279 22:34534279C-T C T
+22 34535914 22:34535914G-C G C
+22 34536968 22:34536968A-G A G
+22 34537013 22:34537013A-G A G
+22 34537450 22:34537450C-T C T
+22 34538579 22:34538579C-T C T
+22 34538655 22:34538655A-G A G
+22 34539365 22:34539365C-A C A
+22 34539386 22:34539386G-A G A
+22 34539878 22:34539878C-T C T
+22 34540281 22:34540281T-G T G
+22 34540656 22:34540656A-G A G
+22 34540667 22:34540667C-A C A
+22 34543510 22:34543510A-G A G
+22 34543541 22:34543541G-A G A
+22 34543765 22:34543765T-A T A
+22 34543973 22:34543973C-T C T
+22 34545052 22:34545052G-A G A
+22 34545143 22:34545143C-T C T
+22 34545398 22:34545398A-G A G
+22 34545549 22:34545549T-G T G
+22 34545782 22:34545782G-A G A
+22 34545788 22:34545788T-G T G
+22 34546503 22:34546503C-T C T
+22 34546682 22:34546682G-A G A
+22 34547312 22:34547312G-A G A
+22 34547409 22:34547409G-T G T
+22 34547965 22:34547965T-A T A
+22 34548182 22:34548182A-G A G
+22 34548442 22:34548442A-G A G
+22 34548550 22:34548550C-T C T
+22 34548646 22:34548646T-C T C
+22 34548880 22:34548880C-T C T
+22 34548882 22:34548882A-G A G
+22 34548967 22:34548967C-A C A
+22 34548975 22:34548975C-T C T
+22 34549440 22:34549440G-A G A
+22 34549495 22:34549495C-T C T
+22 34549635 22:34549635A-G A G
+22 34549763 22:34549763G-A G A
+22 34549905 22:34549905G-A G A
+22 34550148 22:34550148T-C T C
+22 34550340 22:34550340C-T C T
+22 34550400 22:34550400T-C T C
+22 34550575 22:34550575A-G A G
+22 34550590 22:34550590C-G C G
+22 34550905 22:34550905G-A G A
+22 34551104 22:34551104G-A G A
+22 34551461 22:34551461C-T C T
+22 34551822 22:34551822G-A G A
+22 34552064 22:34552064C-T C T
+22 34552104 22:34552104G-A G A
+22 34552405 22:34552405C-T C T
+22 34552415 22:34552415G-A G A
+22 34552476 22:34552476T-C T C
+22 34552481 22:34552481G-C G C
+22 34552701 22:34552701T-A T A
+22 34553273 22:34553273C-G C G
+22 34553603 22:34553603A-C A C
+22 34553654 22:34553654G-A G A
+22 34553702 22:34553702T-C T C
+22 34553824 22:34553824C-G C G
+22 34554100 22:34554100C-A C A
+22 34554161 22:34554161G-A G A
+22 34554238 22:34554238T-C T C
+22 34555358 22:34555358C-T C T
+22 34555749 22:34555749G-C G C
+22 34556057 22:34556057C-T C T
+22 34556127 22:34556127T-C T C
+22 34557050 22:34557050G-T G T
+22 34557175 22:34557175C-G C G
+22 34558714 22:34558714G-C G C
+22 34558740 22:34558740G-T G T
+22 34559875 22:34559875A-C A C
+22 34560083 22:34560083G-C G C
+22 34560376 22:34560376G-T G T
+22 34561396 22:34561396A-G A G
+22 34561720 22:34561720C-G C G
+22 34561839 22:34561839C-A C A
+22 34561889 22:34561889G-T G T
+22 34562299 22:34562299T-C T C
+22 34562467 22:34562467T-C T C
+22 34562535 22:34562535G-A G A
+22 34562967 22:34562967A-G A G
+22 34563319 22:34563319G-A G A
+22 34563506 22:34563506G-A G A
+22 34563695 22:34563695T-C T C
+22 34563696 22:34563696G-A G A
+22 34563864 22:34563864G-T G T
+22 34563947 22:34563947C-T C T
+22 34564032 22:34564032T-C T C
+22 34564361 22:34564361A-C A C
+22 34565528 22:34565528C-G C G
+22 34565846 22:34565846A-G A G
+22 34566029 22:34566029C-T C T
+22 34566109 22:34566109T-A T A
+22 34566394 22:34566394G-A G A
+22 34566653 22:34566653T-G T G
+22 34566967 22:34566967T-C T C
+22 34566988 22:34566988G-A G A
+22 34567763 22:34567763G-A G A
+22 34567852 22:34567852G-A G A
+22 34568319 22:34568319T-C T C
+22 34568960 22:34568960G-A G A
+22 34568966 22:34568966C-T C T
+22 34570637 22:34570637A-T A T
+22 34571858 22:34571858A-G A G
+22 34572082 22:34572082C-T C T
+22 34573078 22:34573078A-G A G
+22 34573118 22:34573118G-A G A
+22 34573131 22:34573131G-T G T
+22 34573694 22:34573694T-C T C
+22 34574038 22:34574038G-T G T
+22 34574342 22:34574342G-C G C
+22 34574445 22:34574445C-T C T
+22 34574714 22:34574714A-G A G
+22 34575064 22:34575064C-T C T
+22 34575158 22:34575158G-A G A
+22 34575320 22:34575320A-T A T
+22 34575330 22:34575330T-C T C
+22 34575498 22:34575498T-A T A
+22 34575519 22:34575519G-A G A
+22 34575542 22:34575542A-C A C
+22 34575585 22:34575585C-A C A
+22 34575632 22:34575632C-T C T
+22 34576016 22:34576016G-A G A
+22 34576097 22:34576097G-A G A
+22 34576191 22:34576191G-T G T
+22 34576352 22:34576352A-G A G
+22 34576359 22:34576359G-T G T
+22 34576668 22:34576668T-C T C
+22 34576687 22:34576687A-G A G
+22 34577054 22:34577054T-C T C
+22 34577182 22:34577182T-G T G
+22 34577185 22:34577185A-G A G
+22 34577597 22:34577597C-T C T
+22 34577599 22:34577599C-A C A
+22 34578005 22:34578005G-A G A
+22 34578477 22:34578477T-A T A
+22 34578657 22:34578657C-T C T
+22 34578693 22:34578693T-C T C
+22 34579123 22:34579123G-A G A
+22 34579351 22:34579351G-A G A
+22 34579371 22:34579371C-A C A
+22 34579482 22:34579482A-G A G
+22 34579742 22:34579742T-C T C
+22 34579988 22:34579988C-T C T
+22 34580216 22:34580216C-T C T
+22 34580844 22:34580844C-T C T
+22 34581320 22:34581320C-T C T
+22 34581741 22:34581741G-T G T
+22 34582099 22:34582099T-A T A
+22 34582694 22:34582694A-C A C
+22 34582726 22:34582726T-C T C
+22 34583078 22:34583078G-A G A
+22 34583176 22:34583176A-G A G
+22 34583302 22:34583302G-A G A
+22 34583633 22:34583633T-A T A
+22 34584014 22:34584014C-T C T
+22 34584092 22:34584092A-T A T
+22 34585297 22:34585297G-A G A
+22 34585354 22:34585354T-A T A
+22 34585655 22:34585655G-A G A
+22 34585852 22:34585852G-C G C
+22 34586202 22:34586202C-T C T
+22 34586327 22:34586327T-C T C
+22 34586481 22:34586481G-A G A
+22 34586602 22:34586602C-A C A
+22 34586902 22:34586902C-G C G
+22 34587043 22:34587043C-T C T
+22 34587156 22:34587156G-A G A
+22 34587361 22:34587361A-G A G
+22 34587447 22:34587447C-T C T
+22 34587503 22:34587503C-T C T
+22 34587939 22:34587939C-T C T
+22 34587986 22:34587986A-C A C
+22 34588327 22:34588327A-C A C
+22 34588368 22:34588368A-G A G
+22 34588702 22:34588702T-G T G
+22 34588728 22:34588728C-T C T
+22 34588748 22:34588748G-T G T
+22 34589133 22:34589133G-A G A
+22 34589414 22:34589414C-T C T
+22 34589494 22:34589494G-A G A
+22 34589651 22:34589651A-C A C
+22 34589870 22:34589870T-C T C
+22 34589888 22:34589888C-T C T
+22 34589966 22:34589966A-G A G
+22 34590159 22:34590159T-G T G
+22 34590677 22:34590677A-G A G
+22 34590934 22:34590934G-A G A
+22 34591328 22:34591328T-C T C
+22 34591611 22:34591611C-T C T
+22 34591619 22:34591619T-G T G
+22 34591736 22:34591736G-A G A
+22 34592156 22:34592156C-G C G
+22 34593012 22:34593012A-T A T
+22 34593227 22:34593227C-T C T
+22 34594248 22:34594248T-C T C
+22 34594282 22:34594282G-C G C
+22 34594302 22:34594302A-G A G
+22 34594304 22:34594304C-T C T
+22 34594453 22:34594453G-T G T
+22 34595240 22:34595240G-A G A
+22 34595455 22:34595455C-T C T
+22 34595637 22:34595637A-G A G
+22 34595753 22:34595753T-G T G
+22 34596479 22:34596479A-G A G
+22 34596556 22:34596556G-A G A
+22 34596890 22:34596890A-G A G
+22 34596940 22:34596940C-T C T
+22 34597416 22:34597416G-A G A
+22 34597679 22:34597679G-T G T
+22 34597996 22:34597996G-T G T
+22 34598309 22:34598309A-G A G
+22 34598568 22:34598568A-G A G
+22 34598662 22:34598662G-A G A
+22 34598863 22:34598863T-C T C
+22 34599289 22:34599289A-C A C
+22 34599617 22:34599617C-T C T
+22 34599623 22:34599623C-A C A
+22 34600013 22:34600013C-T C T
+22 34600684 22:34600684G-A G A
+22 34600839 22:34600839C-T C T
+22 34601332 22:34601332A-G A G
+22 34601549 22:34601549T-A T A
+22 34601910 22:34601910T-A T A
+22 34602188 22:34602188A-G A G
+22 34602392 22:34602392T-C T C
+22 34603233 22:34603233C-T C T
+22 34603321 22:34603321A-T A T
+22 34603988 22:34603988G-T G T
+22 34604253 22:34604253T-C T C
+22 34604261 22:34604261A-T A T
+22 34604822 22:34604822A-G A G
+22 34604834 22:34604834C-T C T
+22 34605163 22:34605163G-A G A
+22 34605334 22:34605334G-T G T
+22 34605957 22:34605957C-T C T
+22 34606299 22:34606299G-A G A
+22 34606744 22:34606744C-A C A
+22 34606839 22:34606839G-A G A
+22 34607713 22:34607713G-A G A
+22 34608417 22:34608417A-G A G
+22 34608512 22:34608512A-C A C
+22 34609419 22:34609419C-T C T
+22 34610094 22:34610094C-A C A
+22 34610113 22:34610113C-A C A
+22 34610393 22:34610393G-C G C
+22 34610794 22:34610794T-C T C
+22 34610905 22:34610905T-A T A
+22 34611244 22:34611244C-T C T
+22 34611619 22:34611619A-T A T
+22 34611932 22:34611932T-G T G
+22 34612107 22:34612107C-A C A
+22 34612149 22:34612149T-C T C
+22 34612631 22:34612631G-A G A
+22 34612935 22:34612935G-A G A
+22 34613043 22:34613043C-T C T
+22 34613112 22:34613112G-A G A
+22 34613347 22:34613347A-G A G
+22 34613669 22:34613669T-C T C
+22 34613685 22:34613685A-C A C
+22 34613716 22:34613716T-C T C
+22 34613900 22:34613900G-A G A
+22 34613919 22:34613919T-C T C
+22 34614061 22:34614061A-G A G
+22 34614253 22:34614253G-C G C
+22 34614591 22:34614591T-C T C
+22 34614920 22:34614920C-A C A
+22 34615196 22:34615196G-A G A
+22 34615809 22:34615809C-T C T
+22 34616552 22:34616552T-C T C
+22 34616743 22:34616743C-T C T
+22 34616863 22:34616863C-T C T
+22 34617940 22:34617940T-A T A
+22 34618189 22:34618189C-T C T
+22 34618688 22:34618688T-C T C
+22 34618798 22:34618798A-T A T
+22 34618819 22:34618819A-T A T
+22 34619005 22:34619005T-C T C
+22 34619445 22:34619445A-G A G
+22 34619587 22:34619587C-G C G
+22 34619937 22:34619937C-T C T
+22 34620553 22:34620553T-C T C
+22 34620597 22:34620597T-C T C
+22 34620754 22:34620754C-T C T
+22 34621248 22:34621248A-T A T
+22 34621660 22:34621660A-G A G
+22 34622965 22:34622965T-C T C
+22 34623860 22:34623860C-T C T
+22 34624124 22:34624124T-A T A
+22 34624839 22:34624839C-T C T
+22 34625130 22:34625130C-A C A
+22 34625156 22:34625156G-A G A
+22 34625162 22:34625162T-A T A
+22 34625308 22:34625308G-A G A
+22 34625711 22:34625711A-G A G
+22 34625784 22:34625784C-T C T
+22 34626453 22:34626453C-A C A
+22 34626486 22:34626486G-A G A
+22 34626538 22:34626538T-C T C
+22 34626648 22:34626648A-G A G
+22 34626968 22:34626968A-G A G
+22 34627141 22:34627141A-G A G
+22 34627732 22:34627732C-T C T
+22 34627741 22:34627741A-G A G
+22 34628101 22:34628101A-G A G
+22 34628906 22:34628906G-A G A
+22 34628912 22:34628912A-G A G
+22 34630066 22:34630066T-C T C
+22 34630087 22:34630087T-C T C
+22 34630104 22:34630104T-G T G
+22 34630123 22:34630123A-G A G
+22 34631326 22:34631326G-A G A
+22 34631657 22:34631657A-G A G
+22 34631750 22:34631750G-C G C
+22 34633191 22:34633191T-A T A
+22 34633391 22:34633391G-T G T
+22 34633738 22:34633738C-G C G
+22 34633904 22:34633904G-A G A
+22 34634899 22:34634899A-G A G
+22 34635193 22:34635193C-T C T
+22 34635334 22:34635334T-C T C
+22 34636072 22:34636072C-A C A
+22 34636198 22:34636198A-G A G
+22 34636899 22:34636899C-T C T
+22 34638284 22:34638284C-G C G
+22 34638406 22:34638406A-T A T
+22 34639053 22:34639053G-A G A
+22 34639580 22:34639580G-A G A
+22 34639740 22:34639740T-G T G
+22 34640046 22:34640046T-C T C
+22 34640618 22:34640618G-A G A
+22 34641743 22:34641743T-C T C
+22 34642042 22:34642042A-G A G
+22 34642423 22:34642423T-G T G
+22 34642530 22:34642530G-A G A
+22 34642721 22:34642721C-T C T
+22 34642970 22:34642970A-G A G
+22 34643303 22:34643303C-T C T
+22 34643757 22:34643757T-C T C
+22 34644038 22:34644038G-A G A
+22 34645946 22:34645946T-G T G
+22 34646113 22:34646113A-T A T
+22 34646218 22:34646218A-G A G
+22 34646980 22:34646980A-C A C
+22 34647510 22:34647510C-T C T
+22 34647738 22:34647738C-G C G
+22 34648912 22:34648912A-G A G
+22 34650584 22:34650584G-A G A
+22 34650782 22:34650782G-A G A
+22 34651542 22:34651542G-A G A
+22 34652712 22:34652712T-C T C
+22 34654148 22:34654148A-G A G
+22 34654900 22:34654900T-C T C
+22 34655528 22:34655528A-G A G
+22 34655647 22:34655647C-T C T
+22 34656592 22:34656592T-C T C
+22 34656996 22:34656996C-T C T
+22 34657792 22:34657792A-C A C
+22 34660916 22:34660916A-G A G
+22 34661818 22:34661818T-C T C
+22 34661977 22:34661977G-A G A
+22 34663067 22:34663067T-C T C
+22 34665838 22:34665838A-G A G
+22 34666871 22:34666871C-T C T
+22 34668073 22:34668073G-A G A
+22 34668330 22:34668330G-A G A
+22 34669084 22:34669084C-T C T
+22 34669170 22:34669170G-A G A
+22 34670264 22:34670264C-T C T
+22 34671012 22:34671012G-A G A
+22 34672181 22:34672181C-G C G
+22 34672828 22:34672828C-T C T
+22 34675271 22:34675271T-A T A
+22 34675389 22:34675389C-A C A
+22 34675390 22:34675390C-A C A
+22 34675903 22:34675903T-G T G
+22 34676921 22:34676921A-G A G
+22 34677891 22:34677891G-C G C
+22 34678140 22:34678140A-G A G
+22 34678661 22:34678661C-T C T
+22 34681163 22:34681163T-C T C
+22 34681340 22:34681340C-T C T
+22 34681667 22:34681667A-T A T
+22 34683365 22:34683365G-A G A
+22 34683439 22:34683439C-T C T
+22 34683751 22:34683751G-A G A
+22 34684222 22:34684222T-C T C
+22 34684889 22:34684889G-A G A
+22 34686058 22:34686058G-T G T
+22 34686630 22:34686630A-T A T
+22 34686898 22:34686898C-A C A
+22 34686959 22:34686959G-A G A
+22 34687030 22:34687030T-C T C
+22 34687319 22:34687319C-G C G
+22 34687545 22:34687545G-C G C
+22 34689161 22:34689161C-A C A
+22 34689189 22:34689189C-A C A
+22 34689333 22:34689333C-G C G
+22 34690648 22:34690648G-A G A
+22 34691035 22:34691035G-A G A
+22 34691559 22:34691559A-G A G
+22 34691632 22:34691632A-C A C
+22 34691659 22:34691659T-G T G
+22 34692133 22:34692133C-T C T
+22 34692400 22:34692400A-C A C
+22 34693117 22:34693117C-G C G
+22 34693852 22:34693852A-G A G
+22 34694572 22:34694572T-C T C
+22 34695186 22:34695186A-G A G
+22 34695409 22:34695409G-A G A
+22 34697019 22:34697019A-C A C
+22 34697142 22:34697142C-T C T
+22 34698379 22:34698379T-C T C
+22 34698869 22:34698869C-G C G
+22 34698979 22:34698979C-T C T
+22 34701246 22:34701246A-G A G
+22 34702490 22:34702490G-A G A
+22 34703428 22:34703428G-C G C
+22 34704188 22:34704188G-A G A
+22 34705066 22:34705066G-A G A
+22 34706503 22:34706503G-A G A
+22 34707575 22:34707575T-C T C
+22 34708089 22:34708089A-G A G
+22 34708099 22:34708099G-A G A
+22 34708193 22:34708193C-T C T
+22 34708700 22:34708700A-C A C
+22 34709445 22:34709445T-A T A
+22 34709621 22:34709621C-T C T
+22 34709935 22:34709935G-T G T
+22 34710004 22:34710004G-A G A
+22 34710252 22:34710252T-C T C
+22 34711559 22:34711559C-A C A
+22 34712318 22:34712318G-A G A
+22 34713242 22:34713242T-C T C
+22 34714161 22:34714161C-T C T
+22 34715414 22:34715414G-A G A
+22 34715880 22:34715880A-G A G
+22 34715897 22:34715897C-G C G
+22 34716499 22:34716499C-T C T
+22 34716868 22:34716868A-G A G
+22 34717259 22:34717259G-A G A
+22 34717408 22:34717408G-A G A
+22 34719879 22:34719879T-C T C
+22 34721017 22:34721017T-G T G
+22 34721135 22:34721135G-C G C
+22 34721274 22:34721274A-C A C
+22 34721434 22:34721434G-T G T
+22 34721845 22:34721845A-G A G
+22 34722216 22:34722216G-A G A
+22 34722570 22:34722570A-G A G
+22 34723028 22:34723028T-A T A
+22 34724727 22:34724727G-A G A
+22 34725169 22:34725169G-A G A
+22 34725843 22:34725843T-C T C
+22 34725929 22:34725929A-G A G
+22 34727040 22:34727040T-G T G
+22 34727172 22:34727172A-G A G
+22 34727407 22:34727407A-G A G
+22 34727696 22:34727696T-C T C
+22 34728178 22:34728178C-T C T
+22 34728213 22:34728213G-A G A
+22 34728231 22:34728231C-G C G
+22 34728347 22:34728347A-C A C
+22 34728586 22:34728586G-C G C
+22 34728664 22:34728664G-A G A
+22 34728749 22:34728749T-A T A
+22 34729791 22:34729791A-C A C
+22 34729825 22:34729825G-T G T
+22 34730285 22:34730285T-C T C
+22 34730635 22:34730635G-A G A
+22 34730881 22:34730881G-A G A
+22 34731031 22:34731031G-A G A
+22 34731050 22:34731050T-C T C
+22 34731845 22:34731845G-A G A
+22 34731964 22:34731964A-G A G
+22 34732022 22:34732022C-G C G
+22 34732098 22:34732098T-A T A
+22 34732555 22:34732555G-A G A
+22 34732789 22:34732789G-C G C
+22 34733178 22:34733178T-C T C
+22 34733510 22:34733510G-C G C
+22 34734371 22:34734371T-C T C
+22 34734873 22:34734873G-A G A
+22 34735139 22:34735139T-C T C
+22 34735209 22:34735209G-A G A
+22 34735373 22:34735373G-A G A
+22 34735727 22:34735727T-A T A
+22 34735732 22:34735732T-C T C
+22 34735826 22:34735826T-C T C
+22 34735930 22:34735930C-T C T
+22 34736482 22:34736482A-T A T
+22 34736659 22:34736659C-T C T
+22 34736716 22:34736716T-C T C
+22 34736785 22:34736785G-A G A
+22 34737236 22:34737236T-C T C
+22 34737289 22:34737289C-T C T
+22 34737301 22:34737301C-A C A
+22 34737444 22:34737444G-T G T
+22 34737765 22:34737765G-T G T
+22 34738023 22:34738023A-G A G
+22 34738043 22:34738043A-G A G
+22 34738447 22:34738447T-G T G
+22 34738558 22:34738558G-A G A
+22 34739119 22:34739119C-T C T
+22 34739770 22:34739770T-G T G
+22 34740000 22:34740000C-G C G
+22 34740281 22:34740281T-A T A
+22 34740703 22:34740703A-C A C
+22 34741082 22:34741082T-C T C
+22 34741404 22:34741404G-A G A
+22 34741584 22:34741584A-G A G
+22 34742066 22:34742066T-G T G
+22 34742086 22:34742086C-G C G
+22 34742799 22:34742799G-A G A
+22 34743074 22:34743074T-C T C
+22 34743503 22:34743503C-G C G
+22 34744024 22:34744024T-C T C
+22 34744069 22:34744069T-C T C
+22 34744636 22:34744636T-C T C
+22 34744849 22:34744849T-C T C
+22 34744941 22:34744941A-C A C
+22 34745198 22:34745198T-C T C
+22 34745627 22:34745627G-A G A
+22 34745676 22:34745676A-G A G
+22 34746486 22:34746486T-C T C
+22 34746543 22:34746543G-A G A
+22 34746698 22:34746698G-A G A
+22 34746974 22:34746974G-A G A
+22 34747509 22:34747509G-A G A
+22 34748164 22:34748164G-T G T
+22 34748386 22:34748386G-A G A
+22 34748720 22:34748720C-T C T
+22 34748967 22:34748967T-C T C
+22 34749022 22:34749022C-G C G
+22 34749192 22:34749192G-A G A
+22 34749966 22:34749966C-T C T
+22 34750175 22:34750175T-A T A
+22 34750776 22:34750776G-A G A
+22 34750873 22:34750873C-A C A
+22 34751010 22:34751010G-T G T
+22 34751655 22:34751655A-G A G
+22 34751692 22:34751692G-A G A
+22 34752223 22:34752223A-G A G
+22 34752506 22:34752506G-A G A
+22 34752981 22:34752981G-A G A
+22 34753336 22:34753336A-G A G
+22 34753379 22:34753379G-C G C
+22 34753671 22:34753671A-T A T
+22 34754196 22:34754196C-T C T
+22 34754245 22:34754245C-T C T
+22 34754421 22:34754421A-G A G
+22 34754477 22:34754477A-G A G
+22 34754617 22:34754617C-T C T
+22 34754859 22:34754859A-G A G
+22 34755003 22:34755003G-A G A
+22 34755159 22:34755159G-T G T
+22 34755427 22:34755427G-A G A
+22 34755896 22:34755896T-A T A
+22 34756271 22:34756271A-G A G
+22 34756718 22:34756718G-T G T
+22 34757066 22:34757066A-G A G
+22 34757186 22:34757186T-A T A
+22 34757766 22:34757766T-A T A
+22 34757912 22:34757912G-A G A
+22 34757914 22:34757914T-A T A
+22 34758178 22:34758178A-G A G
+22 34758499 22:34758499G-A G A
+22 34758540 22:34758540C-T C T
+22 34758702 22:34758702C-A C A
+22 34759241 22:34759241G-A G A
+22 34759658 22:34759658C-T C T
+22 34759933 22:34759933G-A G A
+22 34760270 22:34760270G-A G A
+22 34760290 22:34760290G-T G T
+22 34760815 22:34760815C-T C T
+22 34761116 22:34761116T-A T A
+22 34761403 22:34761403A-C A C
+22 34761679 22:34761679T-G T G
+22 34761702 22:34761702C-T C T
+22 34762324 22:34762324A-G A G
+22 34762441 22:34762441T-C T C
+22 34762495 22:34762495G-A G A
+22 34762530 22:34762530G-T G T
+22 34762666 22:34762666C-T C T
+22 34762831 22:34762831G-T G T
+22 34763559 22:34763559T-G T G
+22 34763647 22:34763647C-G C G
+22 34763823 22:34763823G-A G A
+22 34764573 22:34764573T-C T C
+22 34764612 22:34764612G-T G T
+22 34764720 22:34764720C-A C A
+22 34765287 22:34765287T-C T C
+22 34765551 22:34765551G-A G A
+22 34766077 22:34766077G-T G T
+22 34766505 22:34766505T-C T C
+22 34766511 22:34766511A-G A G
+22 34766583 22:34766583G-A G A
+22 34768233 22:34768233C-T C T
+22 34768480 22:34768480G-C G C
+22 34768745 22:34768745A-G A G
+22 34768852 22:34768852C-T C T
+22 34769526 22:34769526G-C G C
+22 34769555 22:34769555A-C A C
+22 34770020 22:34770020G-A G A
+22 34770148 22:34770148T-C T C
+22 34770157 22:34770157T-C T C
+22 34770198 22:34770198A-G A G
+22 34770474 22:34770474A-T A T
+22 34770938 22:34770938G-T G T
+22 34771207 22:34771207G-A G A
+22 34771723 22:34771723G-A G A
+22 34772326 22:34772326C-T C T
+22 34772440 22:34772440A-G A G
+22 34772646 22:34772646A-G A G
+22 34772874 22:34772874G-C G C
+22 34773088 22:34773088A-G A G
+22 34773617 22:34773617A-T A T
+22 34773727 22:34773727T-C T C
+22 34773749 22:34773749G-A G A
+22 34774418 22:34774418A-G A G
+22 34774464 22:34774464C-T C T
+22 34774577 22:34774577A-G A G
+22 34774585 22:34774585C-A C A
+22 34774720 22:34774720T-G T G
+22 34774733 22:34774733A-G A G
+22 34774780 22:34774780A-G A G
+22 34774941 22:34774941G-A G A
+22 34775334 22:34775334G-A G A
+22 34775397 22:34775397A-G A G
+22 34775424 22:34775424A-G A G
+22 34775523 22:34775523G-A G A
+22 34775715 22:34775715G-C G C
+22 34776008 22:34776008G-A G A
+22 34776249 22:34776249G-A G A
+22 34776316 22:34776316G-T G T
+22 34776323 22:34776323A-G A G
+22 34776591 22:34776591T-C T C
+22 34776741 22:34776741A-G A G
+22 34776809 22:34776809A-C A C
+22 34776882 22:34776882T-G T G
+22 34777003 22:34777003G-A G A
+22 34777129 22:34777129A-G A G
+22 34777305 22:34777305A-G A G
+22 34777395 22:34777395T-C T C
+22 34777610 22:34777610T-C T C
+22 34777628 22:34777628C-T C T
+22 34777722 22:34777722A-G A G
+22 34778009 22:34778009G-A G A
+22 34778094 22:34778094C-T C T
+22 34778187 22:34778187C-G C G
+22 34778244 22:34778244T-C T C
+22 34778309 22:34778309C-A C A
+22 34778371 22:34778371A-G A G
+22 34778619 22:34778619G-T G T
+22 34778693 22:34778693A-G A G
+22 34778749 22:34778749A-G A G
+22 34778761 22:34778761G-T G T
+22 34778816 22:34778816G-A G A
+22 34779108 22:34779108C-T C T
+22 34779433 22:34779433C-A C A
+22 34779774 22:34779774A-G A G
+22 34779986 22:34779986T-C T C
+22 34780230 22:34780230A-G A G
+22 34780249 22:34780249G-A G A
+22 34780303 22:34780303A-G A G
+22 34780690 22:34780690A-C A C
+22 34780821 22:34780821T-C T C
+22 34781132 22:34781132C-T C T
+22 34781181 22:34781181T-C T C
+22 34781198 22:34781198A-G A G
+22 34781218 22:34781218G-T G T
+22 34781427 22:34781427T-G T G
+22 34781484 22:34781484A-G A G
+22 34781663 22:34781663A-G A G
+22 34782227 22:34782227A-T A T
+22 34782400 22:34782400G-C G C
+22 34782418 22:34782418G-A G A
+22 34782625 22:34782625T-C T C
+22 34783173 22:34783173T-C T C
+22 34783209 22:34783209G-A G A
+22 34783430 22:34783430T-C T C
+22 34783631 22:34783631C-G C G
+22 34783695 22:34783695C-T C T
+22 34783705 22:34783705A-C A C
+22 34783863 22:34783863A-G A G
+22 34783969 22:34783969T-C T C
+22 34783986 22:34783986A-G A G
+22 34784204 22:34784204C-G C G
+22 34784253 22:34784253G-A G A
+22 34784291 22:34784291C-T C T
+22 34784583 22:34784583A-T A T
+22 34784770 22:34784770A-G A G
+22 34785043 22:34785043G-A G A
+22 34785276 22:34785276G-A G A
+22 34785302 22:34785302T-C T C
+22 34785768 22:34785768A-T A T
+22 34786136 22:34786136A-G A G
+22 34786233 22:34786233G-A G A
+22 34786500 22:34786500G-A G A
+22 34786892 22:34786892T-C T C
+22 34786938 22:34786938C-T C T
+22 34786963 22:34786963T-C T C
+22 34787054 22:34787054A-G A G
+22 34787304 22:34787304A-G A G
+22 34787371 22:34787371A-G A G
+22 34787723 22:34787723T-C T C
+22 34787731 22:34787731T-A T A
+22 34788203 22:34788203C-A C A
+22 34788479 22:34788479C-G C G
+22 34788834 22:34788834C-T C T
+22 34789111 22:34789111C-T C T
+22 34789173 22:34789173G-A G A
+22 34789377 22:34789377C-T C T
+22 34789489 22:34789489C-T C T
+22 34789725 22:34789725G-A G A
+22 34789776 22:34789776G-A G A
+22 34789785 22:34789785A-G A G
+22 34789962 22:34789962G-A G A
+22 34790009 22:34790009T-C T C
+22 34790067 22:34790067C-T C T
+22 34790106 22:34790106A-G A G
+22 34790126 22:34790126A-G A G
+22 34790158 22:34790158G-T G T
+22 34790467 22:34790467C-G C G
+22 34790541 22:34790541A-T A T
+22 34790639 22:34790639G-C G C
+22 34790934 22:34790934T-C T C
+22 34791230 22:34791230A-T A T
+22 34791266 22:34791266T-C T C
+22 34791484 22:34791484T-C T C
+22 34791523 22:34791523G-C G C
+22 34791736 22:34791736T-C T C
+22 34791818 22:34791818G-A G A
+22 34791882 22:34791882A-T A T
+22 34792306 22:34792306T-C T C
+22 34793030 22:34793030C-T C T
+22 34793228 22:34793228A-G A G
+22 34793301 22:34793301C-G C G
+22 34793317 22:34793317A-G A G
+22 34793427 22:34793427G-A G A
+22 34793438 22:34793438T-A T A
+22 34793595 22:34793595C-T C T
+22 34793661 22:34793661C-A C A
+22 34793751 22:34793751C-A C A
+22 34793924 22:34793924C-T C T
+22 34793983 22:34793983A-T A T
+22 34794691 22:34794691C-T C T
+22 34794787 22:34794787C-G C G
+22 34794823 22:34794823A-G A G
+22 34794896 22:34794896C-T C T
+22 34795017 22:34795017A-G A G
+22 34795021 22:34795021G-C G C
+22 34795096 22:34795096G-A G A
+22 34795119 22:34795119C-T C T
+22 34795127 22:34795127C-T C T
+22 34795204 22:34795204G-A G A
+22 34795213 22:34795213A-G A G
+22 34795229 22:34795229C-T C T
+22 34795378 22:34795378C-T C T
+22 34795645 22:34795645T-C T C
+22 34795699 22:34795699G-A G A
+22 34795965 22:34795965G-A G A
+22 34796081 22:34796081C-T C T
+22 34796314 22:34796314C-T C T
+22 34796331 22:34796331A-G A G
+22 34796708 22:34796708C-T C T
+22 34797119 22:34797119A-G A G
+22 34797159 22:34797159A-G A G
+22 34797432 22:34797432G-C G C
+22 34797531 22:34797531T-A T A
+22 34797600 22:34797600G-C G C
+22 34797621 22:34797621A-C A C
+22 34797636 22:34797636C-A C A
+22 34797663 22:34797663C-T C T
+22 34798028 22:34798028T-A T A
+22 34798041 22:34798041C-T C T
+22 34798121 22:34798121G-A G A
+22 34798244 22:34798244C-T C T
+22 34798245 22:34798245C-T C T
+22 34798283 22:34798283C-T C T
+22 34798293 22:34798293C-T C T
+22 34798397 22:34798397G-A G A
+22 34798478 22:34798478T-G T G
+22 34798703 22:34798703G-A G A
+22 34798733 22:34798733T-G T G
+22 34798754 22:34798754A-G A G
+22 34798836 22:34798836G-A G A
+22 34798964 22:34798964A-G A G
+22 34799079 22:34799079G-A G A
+22 34799184 22:34799184G-A G A
+22 34799261 22:34799261A-G A G
+22 34799521 22:34799521G-A G A
+22 34800579 22:34800579G-A G A
+22 34800584 22:34800584C-A C A
+22 34800622 22:34800622G-T G T
+22 34800752 22:34800752A-T A T
+22 34800789 22:34800789G-T G T
+22 34801297 22:34801297G-C G C
+22 34801455 22:34801455T-A T A
+22 34801498 22:34801498A-G A G
+22 34801806 22:34801806G-A G A
+22 34802037 22:34802037A-G A G
+22 34802513 22:34802513A-G A G
+22 34802624 22:34802624A-G A G
+22 34802655 22:34802655T-C T C
+22 34802931 22:34802931G-A G A
+22 34803417 22:34803417T-C T C
+22 34803550 22:34803550C-T C T
+22 34804210 22:34804210C-G C G
+22 34804897 22:34804897T-C T C
+22 34805809 22:34805809G-A G A
+22 34805830 22:34805830A-C A C
+22 34805853 22:34805853A-G A G
+22 34806552 22:34806552A-G A G
+22 34806833 22:34806833G-A G A
+22 34806992 22:34806992A-G A G
+22 34807025 22:34807025T-A T A
+22 34807117 22:34807117T-A T A
+22 34808103 22:34808103G-A G A
+22 34808347 22:34808347C-A C A
+22 34808549 22:34808549G-T G T
+22 34809036 22:34809036A-T A T
+22 34809039 22:34809039T-C T C
+22 34809219 22:34809219G-C G C
+22 34809453 22:34809453C-T C T
+22 34809636 22:34809636G-A G A
+22 34810154 22:34810154G-A G A
+22 34810315 22:34810315G-C G C
+22 34811105 22:34811105C-T C T
+22 34811838 22:34811838G-T G T
+22 34812086 22:34812086G-A G A
+22 34812906 22:34812906G-T G T
+22 34813253 22:34813253C-T C T
+22 34814109 22:34814109A-G A G
+22 34815027 22:34815027C-T C T
+22 34815080 22:34815080T-A T A
+22 34815167 22:34815167C-T C T
+22 34815196 22:34815196G-A G A
+22 34815205 22:34815205C-G C G
+22 34815224 22:34815224T-C T C
+22 34815265 22:34815265G-A G A
+22 34815275 22:34815275T-G T G
+22 34815320 22:34815320C-T C T
+22 34815363 22:34815363C-T C T
+22 34815364 22:34815364A-G A G
+22 34815372 22:34815372T-G T G
+22 34815619 22:34815619T-C T C
+22 34816202 22:34816202G-T G T
+22 34817025 22:34817025A-G A G
+22 34817038 22:34817038A-G A G
+22 34817240 22:34817240A-G A G
+22 34817253 22:34817253T-C T C
+22 34817547 22:34817547C-T C T
+22 34817891 22:34817891A-G A G
+22 34818009 22:34818009C-A C A
+22 34818217 22:34818217C-A C A
+22 34818466 22:34818466C-T C T
+22 34818540 22:34818540T-C T C
+22 34818544 22:34818544A-G A G
+22 34818610 22:34818610A-T A T
+22 34818613 22:34818613G-C G C
+22 34819270 22:34819270C-T C T
+22 34820116 22:34820116A-C A C
+22 34820411 22:34820411C-A C A
+22 34822537 22:34822537C-T C T
+22 34822642 22:34822642G-A G A
+22 34822643 22:34822643T-C T C
+22 34823001 22:34823001G-A G A
+22 34823062 22:34823062G-A G A
+22 34823188 22:34823188T-G T G
+22 34823828 22:34823828A-G A G
+22 34824108 22:34824108G-A G A
+22 34824175 22:34824175G-A G A
+22 34825197 22:34825197C-T C T
+22 34825423 22:34825423A-G A G
+22 34825788 22:34825788C-A C A
+22 34826141 22:34826141G-A G A
+22 34826357 22:34826357A-C A C
+22 34826588 22:34826588T-C T C
+22 34827010 22:34827010T-G T G
+22 34828406 22:34828406A-T A T
+22 34829810 22:34829810C-T C T
+22 34832523 22:34832523G-T G T
+22 34832632 22:34832632A-G A G
+22 34832649 22:34832649G-A G A
+22 34833025 22:34833025A-G A G
+22 34833239 22:34833239A-G A G
+22 34833321 22:34833321G-A G A
+22 34834243 22:34834243G-A G A
+22 34834365 22:34834365T-G T G
+22 34834478 22:34834478G-A G A
+22 34834536 22:34834536G-A G A
+22 34834677 22:34834677A-C A C
+22 34835232 22:34835232C-T C T
+22 34836407 22:34836407T-C T C
+22 34836492 22:34836492A-G A G
+22 34837210 22:34837210A-G A G
+22 34837426 22:34837426G-C G C
+22 34837524 22:34837524T-C T C
+22 34839367 22:34839367C-A C A
+22 34839924 22:34839924G-T G T
+22 34840131 22:34840131T-A T A
+22 34840886 22:34840886G-A G A
+22 34842414 22:34842414G-C G C
+22 34842677 22:34842677T-C T C
+22 34843856 22:34843856T-C T C
+22 34843891 22:34843891A-G A G
+22 34844360 22:34844360G-A G A
+22 34844418 22:34844418A-G A G
+22 34846352 22:34846352A-G A G
+22 34847027 22:34847027A-G A G
+22 34847299 22:34847299C-T C T
+22 34848550 22:34848550G-A G A
+22 34851109 22:34851109A-C A C
+22 34851133 22:34851133C-T C T
+22 34851377 22:34851377C-A C A
+22 34854665 22:34854665T-C T C
+22 34855164 22:34855164T-G T G
+22 34855204 22:34855204G-C G C
+22 34855476 22:34855476G-A G A
+22 34856104 22:34856104C-G C G
+22 34856528 22:34856528A-G A G
+22 34857276 22:34857276C-T C T
+22 34857354 22:34857354T-C T C
+22 34858174 22:34858174T-C T C
+22 34858450 22:34858450A-T A T
+22 34858619 22:34858619T-C T C
+22 34858723 22:34858723C-G C G
+22 34859064 22:34859064C-T C T
+22 34859361 22:34859361A-T A T
+22 34859565 22:34859565A-G A G
+22 34859793 22:34859793A-G A G
+22 34859993 22:34859993G-C G C
+22 34860178 22:34860178A-T A T
+22 34860584 22:34860584A-G A G
+22 34860926 22:34860926G-C G C
+22 34861364 22:34861364A-T A T
+22 34861733 22:34861733G-A G A
+22 34862378 22:34862378A-G A G
+22 34862760 22:34862760A-C A C
+22 34863375 22:34863375G-A G A
+22 34863764 22:34863764C-T C T
+22 34865428 22:34865428T-C T C
+22 34865824 22:34865824G-T G T
+22 34866107 22:34866107C-T C T
+22 34866302 22:34866302T-A T A
+22 34867182 22:34867182G-A G A
+22 34867431 22:34867431T-C T C
+22 34868401 22:34868401T-C T C
+22 34868824 22:34868824C-G C G
+22 34869196 22:34869196G-A G A
+22 34869408 22:34869408T-C T C
+22 34869571 22:34869571C-A C A
+22 34869949 22:34869949A-G A G
+22 34870990 22:34870990T-C T C
+22 34871008 22:34871008T-C T C
+22 34871591 22:34871591A-C A C
+22 34871742 22:34871742G-T G T
+22 34872064 22:34872064C-T C T
+22 34872206 22:34872206G-A G A
+22 34872540 22:34872540T-A T A
+22 34872620 22:34872620C-T C T
+22 34872806 22:34872806T-C T C
+22 34873596 22:34873596C-T C T
+22 34873663 22:34873663A-T A T
+22 34873933 22:34873933G-A G A
+22 34874101 22:34874101T-G T G
+22 34874323 22:34874323C-T C T
+22 34874404 22:34874404T-C T C
+22 34874568 22:34874568C-T C T
+22 34875054 22:34875054A-G A G
+22 34875231 22:34875231A-G A G
+22 34875363 22:34875363T-C T C
+22 34875532 22:34875532G-A G A
+22 34875571 22:34875571C-T C T
+22 34875579 22:34875579G-C G C
+22 34875615 22:34875615G-A G A
+22 34875641 22:34875641A-G A G
+22 34875662 22:34875662T-C T C
+22 34875717 22:34875717C-T C T
+22 34875791 22:34875791G-A G A
+22 34875943 22:34875943A-G A G
+22 34876016 22:34876016C-G C G
+22 34876808 22:34876808A-G A G
+22 34876961 22:34876961A-G A G
+22 34877067 22:34877067G-T G T
+22 34877530 22:34877530T-C T C
+22 34877598 22:34877598C-T C T
+22 34878128 22:34878128A-C A C
+22 34878217 22:34878217G-A G A
+22 34878373 22:34878373A-G A G
+22 34878794 22:34878794G-T G T
+22 34878812 22:34878812A-G A G
+22 34878945 22:34878945C-T C T
+22 34879061 22:34879061A-C A C
+22 34879089 22:34879089G-A G A
+22 34879189 22:34879189C-T C T
+22 34879200 22:34879200T-G T G
+22 34879230 22:34879230G-A G A
+22 34879422 22:34879422C-G C G
+22 34879505 22:34879505G-A G A
+22 34879531 22:34879531G-A G A
+22 34879822 22:34879822A-G A G
+22 34879839 22:34879839A-G A G
+22 34879906 22:34879906T-G T G
+22 34879980 22:34879980A-G A G
+22 34880014 22:34880014T-C T C
+22 34880020 22:34880020A-C A C
+22 34880046 22:34880046C-T C T
+22 34880063 22:34880063G-A G A
+22 34880095 22:34880095G-T G T
+22 34880318 22:34880318T-C T C
+22 34880370 22:34880370A-G A G
+22 34880698 22:34880698T-G T G
+22 34880743 22:34880743A-G A G
+22 34880760 22:34880760G-T G T
+22 34880868 22:34880868G-A G A
+22 34880947 22:34880947C-T C T
+22 34881156 22:34881156A-G A G
+22 34881216 22:34881216T-C T C
+22 34881313 22:34881313C-A C A
+22 34881417 22:34881417A-G A G
+22 34881425 22:34881425T-C T C
+22 34881535 22:34881535C-T C T
+22 34881548 22:34881548A-G A G
+22 34881648 22:34881648T-G T G
+22 34881685 22:34881685G-T G T
+22 34881691 22:34881691A-G A G
+22 34881836 22:34881836G-A G A
+22 34881954 22:34881954G-T G T
+22 34882019 22:34882019G-A G A
+22 34882024 22:34882024G-A G A
+22 34882064 22:34882064A-G A G
+22 34882072 22:34882072A-T A T
+22 34882127 22:34882127A-G A G
+22 34882150 22:34882150C-G C G
+22 34882327 22:34882327T-C T C
+22 34882579 22:34882579A-G A G
+22 34882710 22:34882710A-G A G
+22 34882769 22:34882769T-G T G
+22 34882783 22:34882783A-G A G
+22 34882804 22:34882804T-G T G
+22 34882973 22:34882973T-A T A
+22 34883010 22:34883010G-A G A
+22 34883129 22:34883129A-G A G
+22 34883436 22:34883436C-T C T
+22 34883504 22:34883504C-T C T
+22 34883647 22:34883647T-C T C
+22 34883842 22:34883842T-C T C
+22 34884144 22:34884144G-C G C
+22 34884251 22:34884251G-A G A
+22 34884616 22:34884616G-C G C
+22 34884877 22:34884877C-G C G
+22 34885032 22:34885032G-A G A
+22 34885236 22:34885236T-C T C
+22 34885833 22:34885833T-G T G
+22 34886496 22:34886496T-C T C
+22 34886889 22:34886889C-T C T
+22 34886989 22:34886989C-T C T
+22 34887005 22:34887005T-C T C
+22 34887270 22:34887270G-C G C
+22 34887381 22:34887381A-G A G
+22 34887483 22:34887483C-T C T
+22 34887654 22:34887654T-C T C
+22 34888433 22:34888433C-T C T
+22 34888505 22:34888505T-C T C
+22 34888655 22:34888655C-T C T
+22 34888713 22:34888713G-A G A
+22 34889097 22:34889097T-G T G
+22 34889460 22:34889460A-C A C
+22 34889516 22:34889516G-A G A
+22 34889671 22:34889671A-G A G
+22 34889754 22:34889754T-C T C
+22 34889767 22:34889767C-A C A
+22 34889992 22:34889992C-T C T
+22 34889998 22:34889998T-C T C
+22 34890077 22:34890077C-G C G
+22 34890211 22:34890211A-G A G
+22 34890448 22:34890448T-C T C
+22 34890822 22:34890822A-C A C
+22 34890831 22:34890831T-G T G
+22 34890899 22:34890899A-T A T
+22 34891578 22:34891578G-C G C
+22 34891776 22:34891776T-C T C
+22 34891963 22:34891963T-C T C
+22 34892216 22:34892216C-G C G
+22 34892600 22:34892600C-T C T
+22 34892738 22:34892738G-A G A
+22 34892874 22:34892874G-C G C
+22 34893052 22:34893052A-G A G
+22 34893341 22:34893341T-C T C
+22 34893419 22:34893419G-A G A
+22 34893699 22:34893699T-G T G
+22 34893872 22:34893872A-G A G
+22 34893943 22:34893943A-G A G
+22 34894283 22:34894283G-T G T
+22 34894412 22:34894412A-G A G
+22 34894426 22:34894426C-T C T
+22 34894659 22:34894659G-A G A
+22 34894812 22:34894812G-A G A
+22 34894858 22:34894858A-G A G
+22 34894906 22:34894906A-G A G
+22 34894950 22:34894950G-A G A
+22 34894989 22:34894989C-T C T
+22 34895034 22:34895034A-T A T
+22 34895213 22:34895213T-C T C
+22 34895318 22:34895318A-G A G
+22 34895558 22:34895558T-G T G
+22 34895905 22:34895905A-G A G
+22 34896560 22:34896560A-G A G
+22 34896968 22:34896968G-C G C
+22 34896995 22:34896995T-C T C
+22 34897185 22:34897185C-T C T
+22 34897611 22:34897611G-C G C
+22 34898034 22:34898034C-T C T
+22 34898110 22:34898110C-T C T
+22 34898264 22:34898264G-C G C
+22 34898385 22:34898385C-T C T
+22 34898423 22:34898423T-C T C
+22 34898558 22:34898558G-A G A
+22 34898763 22:34898763A-G A G
+22 34898791 22:34898791G-A G A
+22 34898899 22:34898899C-T C T
+22 34898940 22:34898940T-A T A
+22 34898949 22:34898949C-T C T
+22 34899172 22:34899172T-C T C
+22 34899223 22:34899223G-T G T
+22 34899333 22:34899333A-C A C
+22 34899523 22:34899523C-T C T
+22 34899564 22:34899564C-T C T
+22 34899959 22:34899959C-T C T
+22 34900232 22:34900232T-C T C
+22 34900586 22:34900586C-T C T
+22 34901525 22:34901525A-G A G
+22 34902153 22:34902153G-A G A
+22 34902207 22:34902207G-A G A
+22 34902758 22:34902758T-G T G
+22 34903156 22:34903156T-C T C
+22 34903306 22:34903306T-C T C
+22 34903649 22:34903649G-A G A
+22 34903672 22:34903672C-T C T
+22 34903709 22:34903709A-G A G
+22 34903727 22:34903727G-A G A
+22 34903772 22:34903772C-T C T
+22 34903788 22:34903788G-A G A
+22 34903878 22:34903878A-G A G
+22 34903913 22:34903913G-A G A
+22 34904107 22:34904107G-T G T
+22 34904319 22:34904319T-C T C
+22 34904601 22:34904601G-A G A
+22 34904762 22:34904762C-T C T
+22 34905689 22:34905689A-T A T
+22 34905776 22:34905776A-G A G
+22 34906008 22:34906008G-A G A
+22 34906172 22:34906172A-G A G
+22 34906181 22:34906181C-A C A
+22 34906241 22:34906241A-G A G
+22 34906370 22:34906370G-A G A
+22 34906816 22:34906816C-T C T
+22 34906973 22:34906973C-T C T
+22 34907696 22:34907696C-T C T
+22 34908053 22:34908053C-T C T
+22 34908150 22:34908150C-T C T
+22 34909144 22:34909144T-C T C
+22 34909203 22:34909203C-T C T
+22 34909613 22:34909613A-G A G
+22 34909963 22:34909963A-G A G
+22 34910170 22:34910170C-T C T
+22 34910614 22:34910614A-T A T
+22 34910847 22:34910847C-T C T
+22 34911266 22:34911266G-A G A
+22 34911429 22:34911429T-C T C
+22 34911732 22:34911732A-T A T
+22 34913361 22:34913361A-G A G
+22 34913681 22:34913681C-T C T
+22 34914352 22:34914352T-C T C
+22 34914813 22:34914813A-G A G
+22 34914969 22:34914969C-G C G
+22 34915244 22:34915244G-C G C
+22 34915292 22:34915292T-C T C
+22 34915547 22:34915547G-A G A
+22 34916546 22:34916546G-A G A
+22 34916665 22:34916665A-C A C
+22 34916684 22:34916684C-T C T
+22 34916992 22:34916992G-A G A
+22 34917523 22:34917523C-T C T
+22 34917698 22:34917698G-A G A
+22 34917744 22:34917744A-G A G
+22 34918333 22:34918333T-C T C
+22 34919600 22:34919600C-T C T
+22 34920388 22:34920388A-G A G
+22 34920698 22:34920698T-C T C
+22 34920774 22:34920774G-A G A
+22 34921183 22:34921183T-A T A
+22 34921246 22:34921246T-C T C
+22 34921495 22:34921495G-A G A
+22 34921566 22:34921566A-G A G
+22 34923131 22:34923131G-A G A
+22 34923175 22:34923175A-G A G
+22 34923409 22:34923409G-A G A
+22 34923439 22:34923439A-C A C
+22 34923514 22:34923514G-A G A
+22 34923678 22:34923678G-A G A
+22 34923857 22:34923857C-T C T
+22 34923959 22:34923959C-G C G
+22 34924330 22:34924330G-C G C
+22 34925447 22:34925447C-T C T
+22 34925498 22:34925498C-T C T
+22 34926457 22:34926457G-A G A
+22 34926540 22:34926540G-A G A
+22 34928194 22:34928194C-T C T
+22 34928394 22:34928394A-C A C
+22 34928535 22:34928535A-C A C
+22 34928548 22:34928548C-T C T
+22 34928830 22:34928830G-T G T
+22 34929360 22:34929360T-C T C
+22 34929599 22:34929599C-T C T
+22 34930180 22:34930180G-A G A
+22 34930216 22:34930216G-A G A
+22 34930477 22:34930477A-T A T
+22 34930794 22:34930794A-G A G
+22 34931114 22:34931114C-T C T
+22 34931124 22:34931124C-T C T
+22 34931264 22:34931264T-C T C
+22 34931836 22:34931836T-C T C
+22 34932057 22:34932057C-A C A
+22 34932299 22:34932299G-A G A
+22 34932378 22:34932378A-G A G
+22 34932470 22:34932470C-T C T
+22 34932917 22:34932917A-G A G
+22 34933772 22:34933772G-A G A
+22 34934223 22:34934223C-T C T
+22 34934328 22:34934328G-C G C
+22 34934348 22:34934348T-C T C
+22 34934613 22:34934613C-T C T
+22 34934646 22:34934646C-T C T
+22 34934664 22:34934664C-T C T
+22 34935148 22:34935148T-A T A
+22 34935812 22:34935812T-C T C
+22 34936887 22:34936887G-A G A
+22 34937227 22:34937227T-G T G
+22 34937276 22:34937276A-T A T
+22 34937281 22:34937281G-A G A
+22 34937722 22:34937722C-G C G
+22 34938111 22:34938111T-C T C
+22 34938503 22:34938503A-G A G
+22 34938741 22:34938741G-A G A
+22 34939063 22:34939063G-C G C
+22 34939775 22:34939775C-G C G
+22 34940082 22:34940082G-A G A
+22 34940942 22:34940942T-G T G
+22 34941576 22:34941576T-C T C
+22 34941971 22:34941971A-G A G
+22 34942090 22:34942090C-T C T
+22 34942517 22:34942517A-G A G
+22 34943323 22:34943323A-T A T
+22 34943662 22:34943662A-G A G
+22 34944156 22:34944156A-C A C
+22 34944235 22:34944235T-C T C
+22 34944364 22:34944364G-A G A
+22 34944420 22:34944420C-T C T
+22 34944641 22:34944641T-C T C
+22 34945295 22:34945295T-A T A
+22 34945447 22:34945447C-T C T
+22 34953302 22:34953302T-G T G
+22 34954077 22:34954077C-A C A
+22 34954192 22:34954192G-A G A
+22 34954233 22:34954233G-A G A
+22 34955877 22:34955877T-G T G
+22 34956159 22:34956159C-G C G
+22 34956241 22:34956241C-T C T
+22 34956682 22:34956682C-T C T
+22 34957088 22:34957088T-C T C
+22 34957967 22:34957967C-G C G
+22 34959013 22:34959013T-A T A
+22 34959246 22:34959246C-T C T
+22 34959835 22:34959835G-A G A
+22 34960024 22:34960024A-G A G
+22 34960336 22:34960336G-C G C
+22 34960738 22:34960738T-C T C
+22 34960763 22:34960763A-G A G
+22 34960988 22:34960988A-G A G
+22 34961522 22:34961522G-T G T
+22 34961850 22:34961850C-A C A
+22 34962033 22:34962033C-T C T
+22 34962055 22:34962055G-A G A
+22 34962138 22:34962138C-T C T
+22 34962139 22:34962139A-G A G
+22 34962350 22:34962350A-C A C
+22 34962602 22:34962602G-A G A
+22 34962826 22:34962826T-C T C
+22 34963524 22:34963524G-A G A
+22 34963892 22:34963892G-T G T
+22 34964011 22:34964011T-A T A
+22 34964097 22:34964097T-C T C
+22 34964248 22:34964248G-A G A
+22 34964637 22:34964637A-G A G
+22 34964955 22:34964955A-G A G
+22 34965213 22:34965213C-T C T
+22 34965261 22:34965261G-C G C
+22 34965486 22:34965486T-C T C
+22 34965577 22:34965577G-A G A
+22 34965647 22:34965647A-G A G
+22 34966012 22:34966012G-A G A
+22 34966215 22:34966215A-G A G
+22 34966374 22:34966374T-C T C
+22 34967282 22:34967282T-C T C
+22 34967351 22:34967351C-G C G
+22 34967585 22:34967585A-T A T
+22 34967786 22:34967786C-T C T
+22 34967969 22:34967969A-G A G
+22 34968166 22:34968166G-T G T
+22 34968614 22:34968614A-G A G
+22 34968875 22:34968875G-C G C
+22 34969110 22:34969110T-C T C
+22 34969269 22:34969269T-C T C
+22 34969536 22:34969536T-C T C
+22 34969602 22:34969602C-A C A
+22 34970117 22:34970117T-C T C
+22 34970357 22:34970357A-T A T
+22 34970716 22:34970716C-T C T
+22 34970840 22:34970840A-T A T
+22 34971808 22:34971808T-G T G
+22 34971958 22:34971958G-C G C
+22 34972634 22:34972634C-T C T
+22 34973064 22:34973064T-C T C
+22 34973436 22:34973436C-G C G
+22 34973828 22:34973828G-T G T
+22 34973862 22:34973862G-A G A
+22 34973932 22:34973932G-A G A
+22 34973970 22:34973970C-T C T
+22 34974055 22:34974055A-C A C
+22 34975101 22:34975101C-A C A
+22 34975113 22:34975113C-T C T
+22 34975213 22:34975213G-A G A
+22 34975241 22:34975241A-C A C
+22 34975497 22:34975497T-C T C
+22 34975917 22:34975917T-C T C
+22 34976828 22:34976828A-T A T
+22 34977376 22:34977376C-G C G
+22 34977379 22:34977379A-G A G
+22 34977907 22:34977907T-C T C
+22 34978173 22:34978173T-C T C
+22 34978291 22:34978291A-C A C
+22 34980014 22:34980014C-A C A
+22 34980134 22:34980134G-T G T
+22 34980434 22:34980434C-A C A
+22 34981270 22:34981270A-C A C
+22 34981629 22:34981629T-C T C
+22 34982457 22:34982457G-T G T
+22 34983275 22:34983275T-G T G
+22 34984093 22:34984093C-G C G
+22 34985072 22:34985072A-C A C
+22 34985697 22:34985697G-C G C
+22 34986400 22:34986400G-T G T
+22 34987538 22:34987538G-T G T
+22 34987908 22:34987908T-C T C
+22 34988560 22:34988560T-A T A
+22 34988577 22:34988577T-C T C
+22 34988594 22:34988594A-G A G
+22 34988887 22:34988887G-A G A
+22 34988919 22:34988919C-G C G
+22 34988983 22:34988983T-G T G
+22 34989220 22:34989220A-C A C
+22 34990432 22:34990432G-C G C
+22 34991025 22:34991025A-G A G
+22 34991529 22:34991529G-A G A
+22 34991692 22:34991692C-T C T
+22 34993396 22:34993396C-G C G
+22 34996446 22:34996446A-T A T
+22 34996481 22:34996481C-G C G
+22 34997079 22:34997079G-A G A
+22 34997109 22:34997109G-A G A
+22 34997453 22:34997453C-G C G
+22 34998446 22:34998446T-C T C
+22 34998511 22:34998511G-A G A
+22 35002426 22:35002426T-C T C
+22 35002559 22:35002559C-T C T
+22 35003947 22:35003947G-T G T
+22 35004093 22:35004093G-C G C
+22 35004459 22:35004459T-A T A
+22 35008871 22:35008871G-T G T
+22 35009019 22:35009019T-A T A
+22 35009027 22:35009027T-C T C
+22 35009354 22:35009354A-C A C
+22 35009721 22:35009721A-G A G
+22 35010255 22:35010255A-G A G
+22 35011514 22:35011514C-T C T
+22 35012305 22:35012305G-A G A
+22 35014740 22:35014740T-C T C
+22 35015106 22:35015106A-G A G
+22 35015826 22:35015826C-T C T
+22 35015849 22:35015849T-C T C
+22 35016088 22:35016088A-T A T
+22 35016563 22:35016563A-T A T
+22 35016818 22:35016818A-G A G
+22 35017848 22:35017848A-G A G
+22 35017938 22:35017938A-C A C
+22 35019151 22:35019151A-G A G
+22 35019623 22:35019623A-C A C
+22 35021134 22:35021134T-C T C
+22 35021192 22:35021192G-A G A
+22 35022952 22:35022952G-A G A
+22 35023412 22:35023412C-T C T
+22 35023828 22:35023828C-A C A
+22 35023829 22:35023829C-A C A
+22 35024099 22:35024099A-T A T
+22 35024108 22:35024108A-G A G
+22 35024328 22:35024328T-G T G
+22 35024338 22:35024338A-G A G
+22 35024554 22:35024554C-T C T
+22 35025119 22:35025119G-T G T
+22 35027585 22:35027585A-G A G
+22 35027603 22:35027603A-G A G
+22 35027963 22:35027963C-T C T
+22 35027996 22:35027996G-T G T
+22 35028125 22:35028125T-G T G
+22 35028991 22:35028991C-G C G
+22 35029222 22:35029222A-C A C
+22 35029601 22:35029601G-C G C
+22 35029613 22:35029613C-G C G
+22 35029821 22:35029821G-A G A
+22 35029955 22:35029955C-T C T
+22 35030207 22:35030207T-C T C
+22 35030247 22:35030247C-A C A
+22 35030618 22:35030618C-A C A
+22 35031333 22:35031333T-C T C
+22 35031864 22:35031864G-A G A
+22 35032326 22:35032326C-G C G
+22 35032331 22:35032331G-A G A
+22 35033249 22:35033249C-A C A
+22 35033263 22:35033263A-G A G
+22 35033454 22:35033454A-G A G
+22 35033469 22:35033469G-T G T
+22 35033839 22:35033839A-G A G
+22 35034774 22:35034774C-T C T
+22 35035026 22:35035026C-A C A
+22 35035026 22:35035026C-G C G
+22 35035307 22:35035307A-G A G
+22 35035477 22:35035477T-A T A
+22 35036127 22:35036127C-G C G
+22 35036132 22:35036132A-G A G
+22 35036264 22:35036264A-T A T
+22 35036942 22:35036942C-T C T
+22 35036955 22:35036955T-A T A
+22 35037806 22:35037806A-G A G
+22 35037874 22:35037874G-A G A
+22 35038444 22:35038444G-A G A
+22 35038969 22:35038969A-C A C
+22 35039810 22:35039810A-G A G
+22 35040286 22:35040286G-A G A
+22 35041350 22:35041350G-A G A
+22 35041876 22:35041876G-A G A
+22 35041911 22:35041911G-C G C
+22 35042749 22:35042749G-A G A
+22 35043279 22:35043279T-C T C
+22 35043920 22:35043920A-G A G
+22 35044299 22:35044299A-T A T
+22 35045323 22:35045323G-A G A
+22 35045523 22:35045523T-C T C
+22 35046020 22:35046020A-G A G
+22 35046100 22:35046100C-T C T
+22 35047355 22:35047355T-G T G
+22 35047695 22:35047695G-C G C
+22 35047696 22:35047696G-C G C
+22 35048143 22:35048143C-T C T
+22 35048245 22:35048245C-A C A
+22 35049141 22:35049141T-C T C
+22 35049614 22:35049614C-T C T
+22 35050040 22:35050040C-T C T
+22 35050503 22:35050503G-A G A
+22 35051135 22:35051135T-C T C
+22 35052515 22:35052515C-T C T
+22 35052680 22:35052680C-T C T
+22 35052710 22:35052710C-A C A
+22 35052749 22:35052749G-A G A
+22 35052782 22:35052782C-T C T
+22 35053039 22:35053039A-G A G
+22 35053334 22:35053334C-T C T
+22 35053342 22:35053342A-C A C
+22 35053736 22:35053736C-G C G
+22 35053992 22:35053992T-G T G
+22 35054334 22:35054334A-G A G
+22 35054470 22:35054470C-A C A
+22 35054581 22:35054581G-A G A
+22 35054590 22:35054590G-A G A
+22 35055009 22:35055009A-G A G
+22 35055128 22:35055128G-A G A
+22 35055208 22:35055208T-C T C
+22 35055975 22:35055975G-A G A
+22 35056180 22:35056180G-A G A
+22 35056392 22:35056392T-C T C
+22 35056546 22:35056546G-A G A
+22 35057629 22:35057629C-A C A
+22 35058119 22:35058119G-C G C
+22 35058252 22:35058252T-C T C
+22 35058857 22:35058857C-T C T
+22 35059109 22:35059109G-T G T
+22 35059317 22:35059317C-T C T
+22 35059504 22:35059504T-G T G
+22 35061563 22:35061563G-A G A
+22 35061772 22:35061772A-C A C
+22 35061986 22:35061986A-G A G
+22 35062019 22:35062019G-A G A
+22 35062067 22:35062067C-G C G
+22 35062487 22:35062487C-A C A
+22 35062637 22:35062637A-C A C
+22 35062730 22:35062730C-T C T
+22 35063011 22:35063011G-T G T
+22 35063316 22:35063316G-A G A
+22 35063639 22:35063639A-C A C
+22 35063674 22:35063674G-A G A
+22 35063915 22:35063915A-G A G
+22 35064774 22:35064774C-T C T
+22 35064921 22:35064921C-T C T
+22 35065779 22:35065779T-C T C
+22 35067877 22:35067877A-G A G
+22 35068027 22:35068027C-T C T
+22 35068575 22:35068575A-C A C
+22 35068674 22:35068674C-T C T
+22 35070043 22:35070043G-A G A
+22 35070992 22:35070992T-G T G
+22 35071150 22:35071150A-T A T
+22 35071184 22:35071184A-G A G
+22 35072414 22:35072414G-A G A
+22 35073105 22:35073105T-C T C
+22 35079137 22:35079137A-G A G
+22 35079267 22:35079267G-C G C
+22 35079370 22:35079370C-T C T
+22 35080477 22:35080477T-C T C
+22 35081452 22:35081452G-A G A
+22 35081906 22:35081906G-A G A
+22 35082409 22:35082409G-C G C
+22 35082684 22:35082684T-C T C
+22 35083063 22:35083063C-T C T
+22 35083495 22:35083495C-T C T
+22 35084055 22:35084055G-A G A
+22 35084171 22:35084171G-C G C
+22 35084314 22:35084314A-G A G
+22 35084464 22:35084464T-C T C
+22 35084466 22:35084466T-C T C
+22 35084632 22:35084632A-C A C
+22 35085067 22:35085067A-G A G
+22 35085352 22:35085352T-G T G
+22 35085492 22:35085492A-G A G
+22 35085589 22:35085589T-C T C
+22 35086136 22:35086136T-G T G
+22 35086543 22:35086543C-A C A
+22 35087182 22:35087182C-T C T
+22 35087211 22:35087211A-G A G
+22 35087324 22:35087324G-C G C
+22 35087464 22:35087464G-A G A
+22 35088306 22:35088306G-C G C
+22 35088530 22:35088530C-G C G
+22 35089293 22:35089293A-G A G
+22 35089669 22:35089669G-A G A
+22 35090356 22:35090356A-G A G
+22 35090393 22:35090393A-G A G
+22 35090522 22:35090522C-A C A
+22 35090620 22:35090620T-C T C
+22 35090829 22:35090829A-G A G
+22 35091071 22:35091071A-G A G
+22 35091200 22:35091200C-T C T
+22 35091527 22:35091527T-A T A
+22 35092709 22:35092709C-T C T
+22 35093140 22:35093140G-A G A
+22 35093399 22:35093399T-C T C
+22 35094129 22:35094129C-T C T
+22 35094791 22:35094791A-G A G
+22 35096659 22:35096659G-T G T
+22 35097062 22:35097062C-G C G
+22 35097553 22:35097553T-C T C
+22 35097636 22:35097636C-A C A
+22 35098925 22:35098925G-A G A
+22 35099134 22:35099134G-A G A
+22 35099268 22:35099268C-A C A
+22 35099477 22:35099477G-A G A
+22 35099963 22:35099963G-A G A
+22 35100458 22:35100458C-T C T
+22 35100697 22:35100697C-T C T
+22 35100934 22:35100934C-T C T
+22 35102657 22:35102657G-A G A
+22 35104055 22:35104055G-A G A
+22 35104608 22:35104608A-T A T
+22 35105928 22:35105928A-G A G
+22 35107923 22:35107923T-G T G
+22 35108876 22:35108876C-A C A
+22 35109826 22:35109826A-G A G
+22 35110323 22:35110323A-G A G
+22 35110505 22:35110505C-G C G
+22 35111008 22:35111008C-T C T
+22 35115913 22:35115913G-C G C
+22 35116241 22:35116241G-A G A
+22 35117269 22:35117269C-T C T
+22 35118512 22:35118512G-A G A
+22 35118741 22:35118741G-C G C
+22 35119179 22:35119179G-A G A
+22 35120334 22:35120334T-G T G
+22 35121919 22:35121919G-C G C
+22 35122159 22:35122159C-T C T
+22 35122774 22:35122774A-C A C
+22 35123471 22:35123471T-G T G
+22 35123485 22:35123485C-A C A
+22 35124066 22:35124066T-C T C
+22 35124698 22:35124698A-G A G
+22 35124893 22:35124893T-C T C
+22 35125461 22:35125461G-A G A
+22 35126790 22:35126790G-T G T
+22 35127979 22:35127979G-A G A
+22 35128489 22:35128489G-C G C
+22 35130099 22:35130099A-G A G
+22 35131487 22:35131487A-G A G
+22 35131593 22:35131593A-G A G
+22 35131614 22:35131614C-G C G
+22 35132992 22:35132992T-G T G
+22 35133087 22:35133087C-A C A
+22 35133143 22:35133143A-T A T
+22 35135026 22:35135026G-A G A
+22 35136014 22:35136014G-A G A
+22 35136618 22:35136618G-A G A
+22 35137093 22:35137093G-C G C
+22 35138121 22:35138121T-A T A
+22 35138540 22:35138540T-C T C
+22 35140640 22:35140640G-C G C
+22 35140804 22:35140804T-G T G
+22 35140973 22:35140973A-G A G
+22 35141550 22:35141550T-C T C
+22 35141688 22:35141688G-A G A
+22 35141751 22:35141751C-G C G
+22 35141805 22:35141805G-A G A
+22 35142193 22:35142193G-T G T
+22 35142912 22:35142912G-T G T
+22 35143514 22:35143514A-G A G
+22 35143808 22:35143808T-A T A
+22 35143901 22:35143901C-A C A
+22 35143990 22:35143990G-A G A
+22 35144498 22:35144498T-C T C
+22 35145731 22:35145731A-G A G
+22 35147258 22:35147258G-T G T
+22 35147360 22:35147360C-T C T
+22 35147445 22:35147445A-G A G
+22 35149490 22:35149490A-G A G
+22 35150803 22:35150803G-A G A
+22 35151206 22:35151206G-A G A
+22 35152596 22:35152596T-C T C
+22 35153405 22:35153405A-G A G
+22 35154083 22:35154083C-A C A
+22 35154528 22:35154528A-T A T
+22 35154979 22:35154979T-C T C
+22 35155092 22:35155092A-T A T
+22 35155304 22:35155304A-T A T
+22 35155333 22:35155333C-T C T
+22 35155956 22:35155956T-G T G
+22 35156009 22:35156009T-G T G
+22 35156999 22:35156999A-T A T
+22 35157380 22:35157380G-A G A
+22 35157577 22:35157577T-C T C
+22 35158021 22:35158021G-C G C
+22 35159848 22:35159848A-C A C
+22 35160234 22:35160234G-A G A
+22 35161438 22:35161438G-A G A
+22 35161459 22:35161459A-C A C
+22 35162228 22:35162228T-C T C
+22 35162495 22:35162495G-A G A
+22 35162907 22:35162907C-T C T
+22 35163778 22:35163778C-T C T
+22 35164382 22:35164382G-T G T
+22 35164696 22:35164696A-G A G
+22 35165098 22:35165098T-A T A
+22 35165346 22:35165346A-G A G
+22 35166522 22:35166522T-C T C
+22 35166590 22:35166590A-T A T
+22 35166808 22:35166808C-A C A
+22 35166990 22:35166990G-A G A
+22 35167444 22:35167444G-A G A
+22 35167583 22:35167583G-A G A
+22 35167622 22:35167622G-T G T
+22 35167697 22:35167697T-G T G
+22 35168851 22:35168851C-G C G
+22 35169184 22:35169184G-A G A
+22 35169934 22:35169934T-C T C
+22 35170062 22:35170062T-G T G
+22 35170552 22:35170552T-A T A
+22 35170735 22:35170735G-T G T
+22 35170796 22:35170796T-C T C
+22 35171071 22:35171071G-A G A
+22 35171154 22:35171154G-A G A
+22 35171164 22:35171164C-A C A
+22 35171590 22:35171590T-G T G
+22 35172582 22:35172582C-T C T
+22 35172923 22:35172923G-A G A
+22 35173192 22:35173192C-T C T
+22 35173339 22:35173339C-T C T
+22 35173453 22:35173453C-T C T
+22 35173575 22:35173575C-T C T
+22 35173838 22:35173838C-T C T
+22 35174409 22:35174409A-G A G
+22 35174672 22:35174672T-G T G
+22 35174737 22:35174737T-G T G
+22 35176375 22:35176375A-T A T
+22 35176407 22:35176407C-T C T
+22 35177350 22:35177350A-G A G
+22 35177793 22:35177793C-G C G
+22 35179176 22:35179176G-T G T
+22 35179421 22:35179421C-A C A
+22 35179546 22:35179546A-C A C
+22 35179746 22:35179746T-G T G
+22 35179747 22:35179747T-C T C
+22 35180193 22:35180193C-T C T
+22 35180359 22:35180359T-C T C
+22 35180640 22:35180640A-G A G
+22 35181677 22:35181677T-C T C
+22 35182195 22:35182195A-C A C
+22 35182552 22:35182552A-G A G
+22 35183277 22:35183277T-C T C
+22 35183364 22:35183364A-G A G
+22 35183603 22:35183603A-G A G
+22 35183815 22:35183815C-A C A
+22 35184864 22:35184864G-A G A
+22 35184954 22:35184954T-C T C
+22 35185141 22:35185141C-T C T
+22 35185306 22:35185306T-C T C
+22 35185394 22:35185394C-G C G
+22 35185414 22:35185414G-A G A
+22 35185560 22:35185560G-C G C
+22 35185570 22:35185570G-A G A
+22 35185844 22:35185844G-A G A
+22 35185982 22:35185982A-T A T
+22 35186111 22:35186111C-T C T
+22 35186121 22:35186121A-C A C
+22 35187884 22:35187884A-G A G
+22 35188103 22:35188103T-C T C
+22 35188188 22:35188188C-T C T
+22 35190425 22:35190425C-A C A
+22 35190563 22:35190563A-G A G
+22 35190789 22:35190789T-C T C
+22 35191105 22:35191105T-C T C
+22 35191196 22:35191196T-C T C
+22 35191923 22:35191923A-C A C
+22 35192006 22:35192006A-G A G
+22 35192994 22:35192994A-G A G
+22 35193211 22:35193211G-A G A
+22 35193229 22:35193229C-T C T
+22 35193408 22:35193408G-A G A
+22 35193534 22:35193534C-G C G
+22 35193773 22:35193773C-T C T
+22 35193905 22:35193905G-A G A
+22 35194207 22:35194207C-T C T
+22 35194556 22:35194556C-T C T
+22 35195088 22:35195088C-T C T
+22 35195774 22:35195774A-G A G
+22 35195831 22:35195831A-G A G
+22 35195893 22:35195893T-C T C
+22 35196679 22:35196679G-T G T
+22 35196741 22:35196741A-G A G
+22 35196969 22:35196969G-C G C
+22 35197066 22:35197066C-G C G
+22 35197200 22:35197200C-T C T
+22 35197484 22:35197484C-A C A
+22 35197591 22:35197591A-G A G
+22 35197654 22:35197654G-A G A
+22 35197768 22:35197768G-A G A
+22 35198641 22:35198641C-T C T
+22 35198902 22:35198902A-G A G
+22 35199003 22:35199003C-A C A
+22 35199267 22:35199267G-A G A
+22 35199477 22:35199477C-G C G
+22 35199719 22:35199719G-C G C
+22 35199808 22:35199808G-A G A
+22 35200069 22:35200069A-G A G
+22 35200857 22:35200857T-C T C
+22 35200936 22:35200936T-G T G
+22 35201009 22:35201009C-T C T
+22 35201019 22:35201019A-G A G
+22 35201115 22:35201115T-C T C
+22 35201237 22:35201237C-T C T
+22 35201646 22:35201646A-G A G
+22 35201771 22:35201771A-G A G
+22 35202015 22:35202015G-A G A
+22 35202152 22:35202152C-T C T
+22 35202270 22:35202270T-C T C
+22 35202369 22:35202369G-T G T
+22 35202684 22:35202684T-A T A
+22 35203230 22:35203230C-T C T
+22 35203632 22:35203632G-A G A
+22 35204223 22:35204223T-C T C
+22 35204303 22:35204303G-C G C
+22 35204806 22:35204806C-T C T
+22 35205060 22:35205060T-C T C
+22 35205150 22:35205150T-A T A
+22 35205181 22:35205181A-G A G
+22 35205492 22:35205492C-T C T
+22 35205638 22:35205638A-C A C
+22 35205685 22:35205685A-G A G
+22 35205840 22:35205840G-A G A
+22 35206265 22:35206265T-A T A
+22 35206872 22:35206872A-C A C
+22 35207176 22:35207176T-C T C
+22 35208171 22:35208171A-T A T
+22 35208534 22:35208534C-T C T
+22 35208608 22:35208608G-T G T
+22 35209136 22:35209136C-T C T
+22 35209523 22:35209523G-A G A
+22 35210408 22:35210408C-A C A
+22 35210416 22:35210416T-C T C
+22 35210714 22:35210714G-A G A
+22 35211032 22:35211032G-A G A
+22 35211173 22:35211173C-T C T
+22 35211276 22:35211276G-T G T
+22 35211462 22:35211462C-T C T
+22 35212034 22:35212034T-C T C
+22 35212227 22:35212227A-G A G
+22 35212387 22:35212387A-T A T
+22 35212740 22:35212740A-G A G
+22 35213105 22:35213105C-T C T
+22 35213113 22:35213113A-G A G
+22 35213347 22:35213347T-A T A
+22 35213395 22:35213395G-A G A
+22 35213406 22:35213406T-G T G
+22 35213433 22:35213433T-C T C
+22 35213453 22:35213453C-T C T
+22 35213490 22:35213490A-G A G
+22 35213657 22:35213657C-G C G
+22 35213858 22:35213858G-A G A
+22 35213910 22:35213910C-G C G
+22 35214441 22:35214441G-A G A
+22 35214824 22:35214824G-A G A
+22 35214861 22:35214861C-G C G
+22 35216756 22:35216756G-C G C
+22 35218327 22:35218327A-C A C
+22 35218850 22:35218850A-C A C
+22 35219404 22:35219404G-A G A
+22 35219530 22:35219530C-T C T
+22 35219750 22:35219750C-T C T
+22 35220009 22:35220009T-C T C
+22 35220592 22:35220592G-A G A
+22 35220785 22:35220785C-T C T
+22 35221067 22:35221067T-C T C
+22 35221511 22:35221511T-C T C
+22 35221606 22:35221606C-A C A
+22 35221827 22:35221827A-T A T
+22 35222081 22:35222081A-T A T
+22 35222140 22:35222140A-G A G
+22 35222748 22:35222748G-A G A
+22 35222874 22:35222874G-A G A
+22 35223541 22:35223541C-T C T
+22 35223588 22:35223588C-G C G
+22 35223821 22:35223821C-T C T
+22 35224214 22:35224214T-C T C
+22 35224378 22:35224378A-C A C
+22 35225029 22:35225029C-T C T
+22 35225460 22:35225460C-A C A
+22 35225513 22:35225513T-G T G
+22 35226058 22:35226058A-G A G
+22 35226297 22:35226297T-C T C
+22 35226493 22:35226493A-G A G
+22 35226660 22:35226660T-C T C
+22 35226671 22:35226671A-G A G
+22 35227332 22:35227332G-T G T
+22 35228172 22:35228172C-T C T
+22 35228293 22:35228293C-G C G
+22 35228735 22:35228735T-C T C
+22 35228786 22:35228786T-C T C
+22 35228878 22:35228878A-G A G
+22 35228970 22:35228970T-C T C
+22 35229081 22:35229081T-G T G
+22 35229227 22:35229227G-A G A
+22 35229744 22:35229744T-C T C
+22 35229829 22:35229829C-A C A
+22 35229886 22:35229886C-A C A
+22 35230011 22:35230011A-G A G
+22 35230103 22:35230103T-G T G
+22 35230542 22:35230542C-T C T
+22 35231113 22:35231113G-A G A
+22 35231411 22:35231411T-C T C
+22 35231465 22:35231465G-A G A
+22 35231762 22:35231762C-T C T
+22 35232209 22:35232209A-G A G
+22 35232302 22:35232302C-A C A
+22 35232365 22:35232365T-A T A
+22 35232471 22:35232471C-T C T
+22 35232946 22:35232946G-T G T
+22 35233715 22:35233715T-C T C
+22 35233994 22:35233994A-C A C
+22 35235906 22:35235906A-C A C
+22 35236023 22:35236023A-G A G
+22 35236192 22:35236192A-G A G
+22 35236199 22:35236199A-G A G
+22 35236456 22:35236456C-G C G
+22 35236527 22:35236527C-T C T
+22 35236687 22:35236687C-G C G
+22 35237366 22:35237366A-G A G
+22 35238486 22:35238486A-G A G
+22 35238551 22:35238551C-T C T
+22 35238768 22:35238768C-A C A
+22 35239212 22:35239212C-T C T
+22 35239400 22:35239400C-T C T
+22 35239562 22:35239562G-A G A
+22 35239610 22:35239610A-G A G
+22 35239721 22:35239721G-A G A
+22 35239832 22:35239832G-A G A
+22 35239855 22:35239855C-T C T
+22 35240016 22:35240016A-G A G
+22 35240117 22:35240117T-C T C
+22 35240420 22:35240420G-A G A
+22 35240432 22:35240432C-T C T
+22 35240446 22:35240446G-T G T
+22 35240644 22:35240644G-A G A
+22 35240865 22:35240865C-G C G
+22 35240892 22:35240892C-T C T
+22 35241598 22:35241598G-A G A
+22 35241706 22:35241706G-A G A
+22 35241830 22:35241830G-T G T
+22 35242350 22:35242350G-A G A
+22 35242735 22:35242735T-C T C
+22 35243282 22:35243282G-A G A
+22 35243652 22:35243652A-G A G
+22 35244923 22:35244923C-T C T
+22 35245584 22:35245584G-A G A
+22 35245946 22:35245946G-A G A
+22 35246891 22:35246891T-C T C
+22 35247171 22:35247171C-T C T
+22 35247302 22:35247302T-C T C
+22 35247901 22:35247901T-C T C
+22 35250489 22:35250489G-A G A
+22 35251922 22:35251922A-G A G
+22 35252720 22:35252720C-T C T
+22 35253078 22:35253078G-A G A
+22 35253979 22:35253979A-G A G
+22 35254242 22:35254242T-C T C
+22 35255931 22:35255931G-A G A
+22 35256625 22:35256625A-G A G
+22 35258360 22:35258360T-C T C
+22 35259395 22:35259395A-G A G
+22 35259402 22:35259402C-A C A
+22 35259429 22:35259429G-A G A
+22 35259879 22:35259879T-C T C
+22 35260004 22:35260004A-G A G
+22 35260120 22:35260120T-A T A
+22 35260875 22:35260875C-T C T
+22 35260935 22:35260935T-C T C
+22 35260988 22:35260988C-T C T
+22 35261397 22:35261397A-G A G
+22 35261629 22:35261629A-G A G
+22 35261653 22:35261653C-T C T
+22 35261713 22:35261713C-T C T
+22 35262039 22:35262039G-A G A
+22 35262875 22:35262875T-A T A
+22 35265255 22:35265255C-T C T
+22 35265536 22:35265536G-A G A
+22 35268140 22:35268140C-T C T
+22 35271600 22:35271600T-A T A
+22 35273206 22:35273206G-A G A
+22 35274298 22:35274298G-T G T
+22 35275522 22:35275522C-T C T
+22 35276783 22:35276783C-G C G
+22 35277037 22:35277037A-G A G
+22 35277253 22:35277253G-C G C
+22 35277635 22:35277635T-C T C
+22 35277746 22:35277746A-G A G
+22 35278102 22:35278102C-T C T
+22 35279068 22:35279068A-G A G
+22 35279740 22:35279740A-C A C
+22 35280327 22:35280327A-G A G
+22 35280378 22:35280378G-C G C
+22 35280443 22:35280443G-T G T
+22 35281707 22:35281707A-G A G
+22 35281912 22:35281912T-G T G
+22 35282132 22:35282132G-A G A
+22 35282572 22:35282572T-C T C
+22 35282830 22:35282830G-A G A
+22 35283476 22:35283476A-G A G
+22 35283701 22:35283701T-C T C
+22 35284369 22:35284369G-A G A
+22 35284506 22:35284506T-C T C
+22 35284762 22:35284762A-G A G
+22 35285464 22:35285464G-C G C
+22 35286321 22:35286321G-T G T
+22 35287518 22:35287518T-A T A
+22 35287626 22:35287626T-C T C
+22 35287934 22:35287934G-A G A
+22 35288756 22:35288756A-G A G
+22 35288857 22:35288857T-C T C
+22 35289350 22:35289350C-T C T
+22 35290062 22:35290062G-A G A
+22 35291275 22:35291275T-C T C
+22 35291426 22:35291426C-T C T
+22 35292144 22:35292144C-T C T
+22 35292510 22:35292510A-C A C
+22 35293992 22:35293992A-G A G
+22 35294045 22:35294045C-A C A
+22 35294541 22:35294541C-A C A
+22 35294564 22:35294564C-T C T
+22 35295105 22:35295105C-T C T
+22 35296455 22:35296455T-A T A
+22 35296551 22:35296551C-T C T
+22 35296615 22:35296615A-G A G
+22 35297311 22:35297311T-C T C
+22 35297371 22:35297371T-C T C
+22 35297886 22:35297886C-A C A
+22 35297998 22:35297998A-G A G
+22 35298100 22:35298100A-G A G
+22 35298506 22:35298506A-G A G
+22 35298793 22:35298793G-A G A
+22 35299628 22:35299628G-C G C
+22 35299650 22:35299650A-G A G
+22 35300795 22:35300795A-G A G
+22 35301197 22:35301197T-C T C
+22 35301595 22:35301595A-G A G
+22 35302133 22:35302133C-T C T
+22 35302518 22:35302518A-G A G
+22 35303471 22:35303471T-C T C
+22 35306786 22:35306786C-T C T
+22 35307207 22:35307207C-T C T
+22 35308197 22:35308197T-C T C
+22 35309616 22:35309616C-T C T
+22 35310501 22:35310501A-C A C
+22 35314472 22:35314472C-T C T
+22 35314753 22:35314753A-G A G
+22 35315585 22:35315585A-C A C
+22 35315920 22:35315920G-C G C
+22 35316069 22:35316069T-A T A
+22 35316282 22:35316282T-C T C
+22 35322073 22:35322073C-G C G
+22 35323215 22:35323215A-T A T
+22 35324850 22:35324850G-A G A
+22 35325343 22:35325343G-C G C
+22 35325525 22:35325525A-G A G
+22 35326442 22:35326442T-C T C
+22 35327003 22:35327003C-T C T
+22 35327248 22:35327248T-A T A
+22 35327445 22:35327445A-G A G
+22 35327473 22:35327473T-C T C
+22 35327740 22:35327740T-C T C
+22 35327873 22:35327873A-T A T
+22 35328229 22:35328229C-T C T
+22 35328895 22:35328895A-G A G
+22 35329382 22:35329382A-G A G
+22 35330065 22:35330065G-T G T
+22 35330072 22:35330072C-T C T
+22 35330152 22:35330152A-C A C
+22 35330881 22:35330881G-C G C
+22 35331041 22:35331041C-T C T
+22 35331089 22:35331089C-A C A
+22 35331124 22:35331124G-T G T
+22 35331402 22:35331402C-A C A
+22 35331407 22:35331407A-G A G
+22 35331547 22:35331547T-C T C
+22 35331562 22:35331562T-C T C
+22 35331628 22:35331628C-A C A
+22 35331792 22:35331792G-A G A
+22 35331805 22:35331805T-C T C
+22 35331823 22:35331823A-G A G
+22 35331944 22:35331944T-C T C
+22 35332002 22:35332002T-G T G
+22 35332013 22:35332013T-C T C
+22 35332157 22:35332157T-A T A
+22 35332175 22:35332175G-A G A
+22 35332423 22:35332423T-C T C
+22 35332653 22:35332653T-C T C
+22 35332815 22:35332815G-A G A
+22 35332912 22:35332912G-A G A
+22 35333091 22:35333091C-G C G
+22 35333124 22:35333124C-G C G
+22 35333474 22:35333474C-T C T
+22 35333585 22:35333585C-A C A
+22 35333881 22:35333881G-A G A
+22 35333902 22:35333902C-T C T
+22 35334357 22:35334357A-G A G
+22 35334366 22:35334366T-C T C
+22 35334399 22:35334399C-T C T
+22 35334945 22:35334945C-T C T
+22 35335056 22:35335056C-T C T
+22 35335100 22:35335100G-C G C
+22 35335291 22:35335291T-C T C
+22 35335300 22:35335300G-C G C
+22 35335327 22:35335327A-G A G
+22 35335681 22:35335681A-G A G
+22 35335967 22:35335967T-C T C
+22 35336144 22:35336144C-A C A
+22 35336393 22:35336393G-A G A
+22 35336596 22:35336596C-T C T
+22 35336718 22:35336718C-T C T
+22 35336723 22:35336723A-T A T
+22 35337195 22:35337195C-T C T
+22 35337607 22:35337607C-T C T
+22 35337651 22:35337651A-G A G
+22 35337732 22:35337732C-T C T
+22 35337758 22:35337758A-T A T
+22 35337888 22:35337888G-A G A
+22 35337956 22:35337956A-T A T
+22 35338134 22:35338134A-T A T
+22 35338762 22:35338762A-T A T
+22 35338995 22:35338995A-G A G
+22 35339202 22:35339202A-G A G
+22 35339359 22:35339359T-C T C
+22 35339401 22:35339401C-T C T
+22 35339413 22:35339413A-G A G
+22 35339617 22:35339617T-C T C
+22 35339732 22:35339732T-C T C
+22 35339852 22:35339852T-G T G
+22 35340036 22:35340036C-A C A
+22 35340103 22:35340103C-A C A
+22 35340168 22:35340168C-G C G
+22 35340428 22:35340428C-T C T
+22 35340557 22:35340557G-C G C
+22 35340584 22:35340584C-A C A
+22 35340830 22:35340830G-A G A
+22 35340931 22:35340931C-T C T
+22 35341316 22:35341316C-T C T
+22 35341481 22:35341481C-G C G
+22 35341977 22:35341977T-C T C
+22 35341991 22:35341991C-T C T
+22 35342029 22:35342029G-A G A
+22 35342081 22:35342081A-G A G
+22 35342194 22:35342194C-T C T
+22 35342654 22:35342654T-C T C
+22 35342717 22:35342717A-G A G
+22 35343029 22:35343029A-G A G
+22 35343036 22:35343036C-A C A
+22 35343077 22:35343077G-A G A
+22 35343623 22:35343623G-A G A
+22 35344317 22:35344317A-G A G
+22 35344669 22:35344669T-C T C
+22 35344720 22:35344720C-T C T
+22 35346255 22:35346255G-A G A
+22 35346625 22:35346625A-G A G
+22 35347132 22:35347132C-T C T
+22 35347360 22:35347360T-C T C
+22 35347662 22:35347662G-T G T
+22 35347734 22:35347734A-C A C
+22 35348085 22:35348085G-A G A
+22 35348404 22:35348404C-T C T
+22 35349368 22:35349368T-C T C
+22 35350525 22:35350525C-T C T
+22 35350894 22:35350894C-G C G
+22 35353740 22:35353740C-A C A
+22 35355325 22:35355325G-A G A
+22 35356273 22:35356273T-C T C
+22 35356322 22:35356322G-A G A
+22 35356763 22:35356763T-C T C
+22 35357303 22:35357303A-G A G
+22 35357983 22:35357983A-G A G
+22 35358343 22:35358343G-T G T
+22 35358651 22:35358651G-C G C
+22 35359664 22:35359664C-A C A
+22 35359702 22:35359702C-T C T
+22 35360057 22:35360057C-A C A
+22 35360164 22:35360164C-T C T
+22 35360220 22:35360220T-C T C
+22 35360419 22:35360419A-G A G
+22 35361744 22:35361744T-C T C
+22 35362762 22:35362762G-A G A
+22 35363653 22:35363653T-C T C
+22 35364158 22:35364158A-G A G
+22 35364436 22:35364436G-C G C
+22 35364463 22:35364463T-C T C
+22 35365091 22:35365091T-C T C
+22 35366230 22:35366230C-T C T
+22 35366344 22:35366344C-A C A
+22 35368089 22:35368089T-A T A
+22 35368333 22:35368333C-T C T
+22 35369206 22:35369206G-C G C
+22 35369739 22:35369739T-C T C
+22 35369903 22:35369903C-T C T
+22 35371248 22:35371248G-A G A
+22 35371707 22:35371707C-T C T
+22 35372707 22:35372707A-G A G
+22 35375081 22:35375081G-T G T
+22 35375665 22:35375665G-A G A
+22 35376061 22:35376061T-G T G
+22 35376084 22:35376084T-G T G
+22 35377002 22:35377002C-T C T
+22 35378195 22:35378195C-T C T
+22 35378256 22:35378256T-C T C
+22 35378438 22:35378438A-T A T
+22 35379526 22:35379526T-C T C
+22 35380612 22:35380612G-A G A
+22 35381160 22:35381160G-C G C
+22 35381288 22:35381288T-A T A
+22 35381289 22:35381289A-T A T
+22 35381350 22:35381350C-G C G
+22 35381496 22:35381496G-A G A
+22 35381502 22:35381502A-C A C
+22 35381546 22:35381546G-A G A
+22 35381736 22:35381736A-T A T
+22 35381738 22:35381738A-G A G
+22 35381897 22:35381897T-C T C
+22 35382016 22:35382016T-C T C
+22 35382268 22:35382268C-A C A
+22 35383780 22:35383780G-T G T
+22 35383825 22:35383825C-T C T
+22 35385028 22:35385028C-T C T
+22 35385122 22:35385122A-C A C
+22 35385588 22:35385588G-A G A
+22 35386401 22:35386401G-A G A
+22 35386526 22:35386526A-C A C
+22 35387105 22:35387105G-A G A
+22 35387936 22:35387936T-C T C
+22 35388018 22:35388018C-T C T
+22 35388905 22:35388905C-T C T
+22 35388938 22:35388938G-T G T
+22 35389220 22:35389220G-A G A
+22 35389727 22:35389727G-A G A
+22 35389829 22:35389829C-A C A
+22 35389836 22:35389836A-G A G
+22 35390051 22:35390051T-C T C
+22 35390101 22:35390101C-G C G
+22 35390127 22:35390127G-A G A
+22 35390306 22:35390306C-T C T
+22 35390327 22:35390327T-C T C
+22 35390395 22:35390395C-T C T
+22 35390669 22:35390669G-A G A
+22 35390846 22:35390846G-A G A
+22 35391073 22:35391073G-A G A
+22 35391200 22:35391200G-A G A
+22 35391234 22:35391234T-A T A
+22 35391265 22:35391265C-A C A
+22 35391837 22:35391837C-T C T
+22 35391984 22:35391984T-A T A
+22 35392059 22:35392059C-G C G
+22 35393739 22:35393739T-C T C
+22 35394480 22:35394480C-T C T
+22 35394702 22:35394702A-G A G
+22 35394731 22:35394731G-A G A
+22 35395126 22:35395126C-A C A
+22 35395170 22:35395170G-A G A
+22 35395549 22:35395549A-T A T
+22 35395550 22:35395550A-C A C
+22 35396040 22:35396040C-T C T
+22 35396482 22:35396482T-G T G
+22 35396679 22:35396679T-A T A
+22 35396697 22:35396697A-T A T
+22 35396777 22:35396777T-C T C
+22 35397293 22:35397293C-T C T
+22 35398839 22:35398839C-G C G
+22 35398977 22:35398977A-G A G
+22 35399615 22:35399615C-T C T
+22 35399841 22:35399841C-A C A
+22 35400285 22:35400285A-C A C
+22 35400639 22:35400639T-C T C
+22 35400784 22:35400784G-A G A
+22 35401413 22:35401413C-A C A
+22 35402518 22:35402518G-A G A
+22 35404033 22:35404033C-T C T
+22 35406283 22:35406283C-T C T
+22 35407627 22:35407627C-T C T
+22 35407683 22:35407683G-A G A
+22 35408180 22:35408180C-G C G
+22 35408894 22:35408894G-A G A
+22 35410690 22:35410690C-G C G
+22 35410793 22:35410793G-A G A
+22 35410851 22:35410851T-A T A
+22 35410971 22:35410971G-C G C
+22 35412524 22:35412524C-A C A
+22 35412768 22:35412768G-A G A
+22 35412833 22:35412833T-C T C
+22 35413936 22:35413936A-G A G
+22 35413972 22:35413972C-T C T
+22 35414017 22:35414017T-G T G
+22 35414375 22:35414375G-A G A
+22 35415574 22:35415574C-T C T
+22 35415931 22:35415931G-A G A
+22 35417235 22:35417235C-T C T
+22 35418284 22:35418284G-T G T
+22 35418543 22:35418543T-C T C
+22 35419788 22:35419788G-A G A
+22 35420374 22:35420374C-A C A
+22 35420559 22:35420559A-G A G
+22 35421241 22:35421241G-T G T
+22 35421812 22:35421812G-T G T
+22 35423302 22:35423302T-C T C
+22 35424740 22:35424740C-T C T
+22 35426423 22:35426423C-T C T
+22 35426904 22:35426904G-A G A
+22 35427029 22:35427029C-T C T
+22 35427142 22:35427142C-T C T
+22 35427427 22:35427427G-A G A
+22 35427898 22:35427898G-C G C
+22 35428184 22:35428184C-T C T
+22 35429941 22:35429941A-G A G
+22 35429977 22:35429977T-C T C
+22 35431010 22:35431010C-T C T
+22 35432486 22:35432486C-A C A
+22 35432899 22:35432899C-T C T
+22 35432900 22:35432900T-C T C
+22 35433821 22:35433821G-A G A
+22 35434521 22:35434521A-T A T
+22 35434530 22:35434530G-A G A
+22 35435022 22:35435022A-G A G
+22 35435036 22:35435036T-C T C
+22 35435173 22:35435173C-T C T
+22 35435220 22:35435220G-A G A
+22 35435750 22:35435750A-G A G
+22 35435980 22:35435980C-T C T
+22 35436815 22:35436815A-G A G
+22 35437199 22:35437199A-C A C
+22 35437824 22:35437824C-T C T
+22 35438696 22:35438696G-A G A
+22 35439418 22:35439418T-G T G
+22 35439450 22:35439450C-A C A
+22 35439506 22:35439506C-T C T
+22 35439794 22:35439794C-T C T
+22 35440037 22:35440037A-G A G
+22 35440082 22:35440082G-A G A
+22 35440089 22:35440089A-G A G
+22 35440289 22:35440289T-C T C
+22 35440708 22:35440708T-C T C
+22 35441504 22:35441504G-A G A
+22 35441736 22:35441736G-A G A
+22 35441894 22:35441894C-T C T
+22 35442268 22:35442268C-T C T
+22 35442750 22:35442750A-C A C
+22 35442817 22:35442817T-C T C
+22 35442944 22:35442944G-A G A
+22 35442999 22:35442999C-T C T
+22 35443028 22:35443028C-G C G
+22 35443294 22:35443294T-C T C
+22 35443419 22:35443419G-A G A
+22 35443421 22:35443421C-A C A
+22 35443543 22:35443543G-A G A
+22 35443638 22:35443638A-G A G
+22 35444010 22:35444010C-T C T
+22 35444308 22:35444308C-T C T
+22 35445233 22:35445233T-C T C
+22 35446298 22:35446298T-C T C
+22 35446432 22:35446432C-T C T
+22 35446992 22:35446992C-T C T
+22 35447082 22:35447082G-A G A
+22 35448397 22:35448397T-C T C
+22 35448784 22:35448784G-T G T
+22 35449692 22:35449692C-A C A
+22 35449725 22:35449725C-T C T
+22 35450304 22:35450304C-T C T
+22 35450513 22:35450513C-T C T
+22 35450940 22:35450940T-C T C
+22 35451234 22:35451234A-T A T
+22 35451639 22:35451639G-A G A
+22 35451839 22:35451839A-T A T
+22 35451952 22:35451952C-G C G
+22 35452232 22:35452232G-A G A
+22 35453263 22:35453263A-C A C
+22 35453796 22:35453796A-G A G
+22 35453827 22:35453827T-C T C
+22 35454464 22:35454464C-T C T
+22 35454728 22:35454728A-T A T
+22 35454772 22:35454772T-G T G
+22 35454806 22:35454806C-G C G
+22 35454822 22:35454822C-T C T
+22 35454987 22:35454987A-G A G
+22 35455110 22:35455110C-G C G
+22 35455151 22:35455151G-C G C
+22 35455358 22:35455358T-C T C
+22 35455363 22:35455363A-G A G
+22 35455382 22:35455382G-A G A
+22 35455550 22:35455550C-G C G
+22 35455582 22:35455582G-A G A
+22 35455720 22:35455720C-T C T
+22 35455830 22:35455830G-C G C
+22 35455853 22:35455853A-G A G
+22 35455989 22:35455989A-T A T
+22 35456086 22:35456086C-T C T
+22 35456303 22:35456303G-A G A
+22 35456417 22:35456417T-A T A
+22 35456920 22:35456920A-C A C
+22 35456985 22:35456985C-T C T
+22 35457535 22:35457535A-G A G
+22 35457845 22:35457845G-A G A
+22 35458222 22:35458222A-G A G
+22 35458288 22:35458288C-T C T
+22 35458671 22:35458671C-G C G
+22 35458685 22:35458685A-C A C
+22 35458702 22:35458702G-A G A
+22 35458796 22:35458796A-C A C
+22 35458835 22:35458835A-T A T
+22 35458856 22:35458856G-A G A
+22 35458894 22:35458894G-C G C
+22 35458904 22:35458904T-C T C
+22 35460624 22:35460624A-C A C
+22 35460650 22:35460650A-C A C
+22 35460921 22:35460921A-C A C
+22 35461056 22:35461056A-G A G
+22 35461277 22:35461277C-T C T
+22 35461338 22:35461338A-G A G
+22 35461357 22:35461357C-A C A
+22 35461383 22:35461383C-T C T
+22 35461489 22:35461489G-T G T
+22 35461530 22:35461530G-A G A
+22 35461535 22:35461535A-G A G
+22 35461620 22:35461620G-C G C
+22 35461728 22:35461728C-T C T
+22 35461953 22:35461953C-A C A
+22 35462249 22:35462249T-C T C
+22 35462649 22:35462649C-T C T
+22 35463162 22:35463162A-G A G
+22 35463179 22:35463179T-C T C
+22 35463225 22:35463225C-T C T
+22 35463249 22:35463249C-T C T
+22 35464327 22:35464327C-T C T
+22 35464973 22:35464973T-A T A
+22 35465040 22:35465040C-T C T
+22 35465085 22:35465085T-C T C
+22 35465155 22:35465155T-C T C
+22 35465727 22:35465727C-T C T
+22 35465775 22:35465775C-T C T
+22 35465951 22:35465951G-C G C
+22 35466264 22:35466264G-A G A
+22 35466275 22:35466275T-C T C
+22 35466429 22:35466429C-T C T
+22 35466485 22:35466485C-T C T
+22 35466515 22:35466515C-G C G
+22 35466564 22:35466564A-G A G
+22 35466665 22:35466665G-A G A
+22 35466764 22:35466764A-G A G
+22 35467093 22:35467093A-G A G
+22 35467095 22:35467095C-T C T
+22 35467199 22:35467199T-C T C
+22 35467851 22:35467851A-T A T
+22 35468044 22:35468044C-T C T
+22 35468078 22:35468078A-G A G
+22 35468178 22:35468178T-G T G
+22 35468380 22:35468380G-A G A
+22 35468489 22:35468489G-C G C
+22 35468522 22:35468522G-A G A
+22 35468539 22:35468539T-C T C
+22 35468631 22:35468631C-G C G
+22 35468720 22:35468720A-G A G
+22 35468730 22:35468730C-A C A
+22 35468740 22:35468740A-C A C
+22 35468879 22:35468879C-T C T
+22 35469757 22:35469757T-C T C
+22 35469762 22:35469762C-T C T
+22 35469876 22:35469876C-T C T
+22 35469948 22:35469948C-T C T
+22 35470019 22:35470019G-A G A
+22 35470122 22:35470122C-T C T
+22 35470152 22:35470152T-C T C
+22 35470250 22:35470250C-T C T
+22 35470297 22:35470297C-A C A
+22 35470386 22:35470386G-A G A
+22 35470453 22:35470453A-C A C
+22 35470540 22:35470540C-A C A
+22 35470885 22:35470885A-T A T
+22 35470896 22:35470896A-G A G
+22 35471028 22:35471028C-T C T
+22 35471102 22:35471102G-T G T
+22 35471334 22:35471334G-A G A
+22 35471499 22:35471499T-C T C
+22 35471621 22:35471621T-C T C
+22 35471860 22:35471860T-C T C
+22 35471906 22:35471906A-G A G
+22 35471918 22:35471918T-C T C
+22 35471972 22:35471972C-T C T
+22 35472080 22:35472080G-A G A
+22 35472150 22:35472150A-G A G
+22 35472178 22:35472178C-T C T
+22 35472234 22:35472234A-G A G
+22 35472273 22:35472273C-T C T
+22 35472593 22:35472593G-A G A
+22 35472736 22:35472736G-A G A
+22 35472872 22:35472872C-T C T
+22 35473178 22:35473178A-T A T
+22 35473775 22:35473775T-C T C
+22 35473880 22:35473880G-A G A
+22 35474058 22:35474058C-T C T
+22 35474222 22:35474222T-C T C
+22 35474507 22:35474507G-A G A
+22 35474609 22:35474609C-T C T
+22 35474790 22:35474790A-G A G
+22 35475128 22:35475128A-T A T
+22 35475240 22:35475240G-A G A
+22 35475363 22:35475363G-C G C
+22 35475635 22:35475635C-T C T
+22 35475689 22:35475689T-A T A
+22 35476630 22:35476630A-C A C
+22 35476690 22:35476690G-A G A
+22 35476836 22:35476836A-G A G
+22 35477265 22:35477265G-A G A
+22 35478486 22:35478486A-C A C
+22 35478688 22:35478688C-T C T
+22 35478858 22:35478858C-T C T
+22 35479094 22:35479094G-A G A
+22 35479118 22:35479118T-C T C
+22 35479360 22:35479360A-C A C
+22 35479380 22:35479380G-A G A
+22 35479534 22:35479534C-T C T
+22 35479558 22:35479558T-A T A
+22 35479597 22:35479597C-T C T
+22 35480046 22:35480046G-A G A
+22 35480892 22:35480892G-A G A
+22 35481493 22:35481493C-T C T
+22 35481776 22:35481776T-C T C
+22 35482744 22:35482744G-A G A
+22 35483669 22:35483669T-A T A
+22 35483742 22:35483742C-T C T
+22 35484107 22:35484107C-T C T
+22 35484377 22:35484377C-T C T
+22 35484455 22:35484455C-T C T
+22 35485872 22:35485872G-A G A
+22 35486756 22:35486756T-C T C
+22 35487572 22:35487572G-A G A
+22 35488117 22:35488117C-T C T
+22 35488667 22:35488667G-C G C
+22 35489399 22:35489399G-C G C
+22 35489712 22:35489712T-C T C
+22 35489916 22:35489916C-T C T
+22 35490925 22:35490925G-C G C
+22 35491297 22:35491297G-C G C
+22 35491969 22:35491969G-A G A
+22 35492021 22:35492021C-G C G
+22 35492313 22:35492313C-T C T
+22 35492354 22:35492354C-T C T
+22 35492969 22:35492969G-T G T
+22 35494954 22:35494954G-A G A
+22 35495308 22:35495308A-T A T
+22 35495812 22:35495812G-A G A
+22 35496564 22:35496564A-C A C
+22 35498652 22:35498652G-A G A
+22 35498865 22:35498865C-A C A
+22 35498934 22:35498934C-T C T
+22 35499110 22:35499110C-T C T
+22 35499256 22:35499256T-C T C
+22 35500054 22:35500054C-T C T
+22 35500263 22:35500263C-G C G
+22 35501775 22:35501775A-G A G
+22 35501905 22:35501905G-T G T
+22 35502070 22:35502070C-A C A
+22 35502551 22:35502551T-C T C
+22 35502640 22:35502640G-C G C
+22 35503072 22:35503072C-T C T
+22 35503127 22:35503127G-A G A
+22 35503354 22:35503354T-C T C
+22 35503409 22:35503409T-A T A
+22 35505610 22:35505610G-A G A
+22 35505647 22:35505647C-T C T
+22 35506110 22:35506110C-T C T
+22 35506284 22:35506284A-G A G
+22 35506426 22:35506426T-C T C
+22 35507759 22:35507759A-G A G
+22 35507831 22:35507831T-C T C
+22 35508174 22:35508174A-T A T
+22 35508186 22:35508186C-A C A
+22 35508765 22:35508765T-C T C
+22 35508820 22:35508820A-G A G
+22 35508826 22:35508826A-G A G
+22 35509388 22:35509388C-A C A
+22 35509521 22:35509521T-A T A
+22 35509680 22:35509680C-T C T
+22 35510134 22:35510134G-C G C
+22 35510675 22:35510675G-A G A
+22 35510991 22:35510991C-T C T
+22 35511589 22:35511589C-T C T
+22 35512237 22:35512237A-G A G
+22 35512633 22:35512633C-T C T
+22 35513046 22:35513046G-A G A
+22 35513066 22:35513066G-A G A
+22 35513691 22:35513691C-T C T
+22 35513712 22:35513712A-G A G
+22 35513728 22:35513728T-C T C
+22 35513757 22:35513757G-A G A
+22 35513951 22:35513951T-C T C
+22 35514126 22:35514126C-T C T
+22 35514773 22:35514773T-C T C
+22 35514825 22:35514825T-C T C
+22 35514890 22:35514890T-C T C
+22 35515265 22:35515265G-A G A
+22 35515407 22:35515407C-T C T
+22 35515997 22:35515997C-T C T
+22 35516556 22:35516556T-C T C
+22 35516679 22:35516679G-C G C
+22 35516731 22:35516731T-C T C
+22 35517175 22:35517175C-T C T
+22 35517390 22:35517390T-C T C
+22 35517633 22:35517633G-A G A
+22 35517673 22:35517673T-C T C
+22 35517686 22:35517686G-A G A
+22 35517768 22:35517768C-A C A
+22 35517809 22:35517809C-A C A
+22 35517894 22:35517894T-C T C
+22 35518042 22:35518042C-T C T
+22 35518347 22:35518347T-C T C
+22 35518410 22:35518410G-T G T
+22 35518432 22:35518432A-G A G
+22 35518476 22:35518476A-G A G
+22 35518529 22:35518529C-T C T
+22 35518585 22:35518585T-C T C
+22 35518782 22:35518782C-T C T
+22 35518839 22:35518839C-T C T
+22 35518889 22:35518889C-T C T
+22 35518950 22:35518950T-C T C
+22 35518987 22:35518987G-T G T
+22 35519084 22:35519084G-A G A
+22 35519085 22:35519085T-C T C
+22 35519097 22:35519097C-G C G
+22 35519278 22:35519278T-C T C
+22 35519463 22:35519463T-C T C
+22 35519512 22:35519512C-T C T
+22 35519725 22:35519725T-G T G
+22 35519850 22:35519850C-T C T
+22 35520076 22:35520076C-T C T
+22 35520884 22:35520884T-C T C
+22 35522842 22:35522842T-C T C
+22 35523373 22:35523373T-C T C
+22 35523868 22:35523868C-G C G
+22 35524859 22:35524859G-A G A
+22 35525674 22:35525674G-A G A
+22 35525937 22:35525937C-T C T
+22 35526007 22:35526007T-C T C
+22 35526126 22:35526126T-C T C
+22 35526206 22:35526206C-A C A
+22 35526281 22:35526281A-G A G
+22 35526465 22:35526465T-C T C
+22 35526478 22:35526478G-A G A
+22 35526571 22:35526571A-G A G
+22 35526635 22:35526635A-G A G
+22 35526793 22:35526793T-G T G
+22 35527074 22:35527074A-G A G
+22 35527079 22:35527079T-G T G
+22 35528111 22:35528111T-C T C
+22 35528125 22:35528125T-C T C
+22 35528206 22:35528206G-A G A
+22 35528458 22:35528458G-A G A
+22 35528463 22:35528463C-T C T
+22 35528502 22:35528502C-T C T
+22 35529024 22:35529024G-A G A
+22 35529141 22:35529141C-T C T
+22 35531612 22:35531612C-T C T
+22 35532734 22:35532734G-A G A
+22 35533126 22:35533126G-A G A
+22 35534130 22:35534130G-T G T
+22 35534572 22:35534572G-A G A
+22 35534933 22:35534933G-C G C
+22 35536516 22:35536516A-G A G
+22 35537627 22:35537627G-A G A
+22 35537686 22:35537686T-G T G
+22 35537967 22:35537967C-T C T
+22 35539717 22:35539717C-T C T
+22 35539897 22:35539897G-A G A
+22 35540044 22:35540044G-A G A
+22 35540218 22:35540218A-G A G
+22 35540423 22:35540423G-A G A
+22 35540522 22:35540522T-G T G
+22 35540536 22:35540536G-A G A
+22 35540650 22:35540650C-T C T
+22 35541433 22:35541433C-T C T
+22 35541757 22:35541757A-G A G
+22 35541771 22:35541771T-C T C
+22 35541927 22:35541927T-G T G
+22 35542528 22:35542528T-C T C
+22 35542587 22:35542587G-A G A
+22 35542733 22:35542733C-T C T
+22 35542815 22:35542815T-C T C
+22 35543045 22:35543045C-G C G
+22 35543391 22:35543391T-C T C
+22 35543405 22:35543405G-T G T
+22 35543407 22:35543407G-A G A
+22 35543731 22:35543731G-A G A
+22 35543742 22:35543742T-C T C
+22 35543883 22:35543883C-T C T
+22 35543888 22:35543888G-A G A
+22 35543920 22:35543920G-C G C
+22 35544039 22:35544039A-G A G
+22 35544136 22:35544136T-G T G
+22 35544140 22:35544140G-A G A
+22 35544446 22:35544446C-G C G
+22 35544685 22:35544685C-T C T
+22 35544702 22:35544702T-C T C
+22 35544775 22:35544775C-T C T
+22 35544802 22:35544802C-T C T
+22 35544939 22:35544939G-C G C
+22 35545092 22:35545092A-G A G
+22 35545301 22:35545301A-G A G
+22 35545550 22:35545550T-C T C
+22 35545618 22:35545618T-C T C
+22 35545811 22:35545811G-A G A
+22 35545915 22:35545915A-C A C
+22 35547623 22:35547623G-A G A
+22 35547943 22:35547943C-T C T
+22 35547985 22:35547985G-A G A
+22 35548081 22:35548081C-T C T
+22 35548615 22:35548615C-A C A
+22 35548618 22:35548618G-T G T
+22 35548675 22:35548675C-T C T
+22 35550231 22:35550231G-A G A
+22 35550866 22:35550866T-A T A
+22 35552533 22:35552533G-A G A
+22 35552607 22:35552607A-G A G
+22 35553947 22:35553947G-T G T
+22 35554185 22:35554185G-A G A
+22 35554311 22:35554311A-G A G
+22 35554494 22:35554494A-G A G
+22 35554582 22:35554582G-A G A
+22 35555524 22:35555524G-A G A
+22 35556596 22:35556596T-C T C
+22 35556599 22:35556599G-A G A
+22 35556736 22:35556736G-A G A
+22 35556785 22:35556785A-G A G
+22 35556801 22:35556801A-G A G
+22 35557302 22:35557302C-T C T
+22 35557437 22:35557437A-G A G
+22 35557509 22:35557509C-A C A
+22 35557578 22:35557578G-C G C
+22 35557658 22:35557658C-T C T
+22 35557708 22:35557708G-C G C
+22 35557844 22:35557844A-C A C
+22 35558018 22:35558018G-C G C
+22 35558038 22:35558038A-G A G
+22 35558057 22:35558057G-A G A
+22 35558112 22:35558112T-C T C
+22 35558249 22:35558249T-A T A
+22 35558292 22:35558292T-C T C
+22 35558300 22:35558300C-A C A
+22 35558414 22:35558414A-G A G
+22 35558662 22:35558662C-T C T
+22 35558709 22:35558709C-T C T
+22 35558724 22:35558724C-T C T
+22 35558770 22:35558770A-G A G
+22 35558827 22:35558827A-G A G
+22 35558870 22:35558870T-C T C
+22 35559017 22:35559017T-C T C
+22 35559067 22:35559067A-G A G
+22 35559078 22:35559078A-T A T
+22 35559579 22:35559579A-G A G
+22 35559695 22:35559695G-A G A
+22 35559745 22:35559745T-C T C
+22 35559925 22:35559925T-G T G
+22 35559966 22:35559966G-A G A
+22 35559994 22:35559994T-A T A
+22 35560036 22:35560036T-C T C
+22 35560072 22:35560072A-G A G
+22 35560258 22:35560258G-A G A
+22 35560318 22:35560318A-C A C
+22 35560330 22:35560330C-G C G
+22 35560386 22:35560386G-A G A
+22 35560444 22:35560444A-G A G
+22 35560448 22:35560448T-C T C
+22 35560545 22:35560545C-T C T
+22 35560616 22:35560616G-A G A
+22 35560726 22:35560726C-A C A
+22 35560787 22:35560787A-G A G
+22 35561396 22:35561396T-A T A
+22 35561670 22:35561670A-G A G
+22 35561795 22:35561795A-G A G
+22 35561864 22:35561864A-G A G
+22 35561916 22:35561916C-G C G
+22 35562147 22:35562147G-C G C
+22 35562148 22:35562148G-A G A
+22 35562235 22:35562235G-A G A
+22 35562850 22:35562850A-G A G
+22 35563904 22:35563904T-C T C
+22 35564380 22:35564380T-C T C
+22 35566070 22:35566070A-G A G
+22 35566096 22:35566096A-G A G
+22 35566469 22:35566469G-A G A
+22 35566838 22:35566838C-T C T
+22 35567355 22:35567355G-A G A
+22 35567413 22:35567413G-C G C
+22 35567525 22:35567525C-G C G
+22 35567561 22:35567561T-C T C
+22 35567715 22:35567715A-T A T
+22 35568075 22:35568075T-C T C
+22 35568399 22:35568399C-T C T
+22 35569422 22:35569422G-A G A
+22 35569619 22:35569619A-G A G
+22 35569690 22:35569690T-G T G
+22 35570816 22:35570816A-G A G
+22 35571497 22:35571497T-C T C
+22 35571652 22:35571652G-A G A
+22 35571710 22:35571710G-A G A
+22 35572598 22:35572598G-A G A
+22 35572692 22:35572692A-G A G
+22 35573334 22:35573334T-C T C
+22 35573370 22:35573370C-T C T
+22 35573856 22:35573856T-C T C
+22 35573871 22:35573871C-T C T
+22 35573948 22:35573948G-A G A
+22 35573975 22:35573975A-C A C
+22 35574051 22:35574051G-A G A
+22 35574163 22:35574163G-C G C
+22 35574275 22:35574275C-T C T
+22 35574374 22:35574374G-A G A
+22 35574695 22:35574695C-T C T
+22 35574782 22:35574782A-G A G
+22 35575349 22:35575349G-A G A
+22 35575648 22:35575648G-T G T
+22 35575744 22:35575744T-C T C
+22 35575836 22:35575836T-C T C
+22 35576018 22:35576018T-C T C
+22 35576041 22:35576041T-C T C
+22 35576324 22:35576324A-C A C
+22 35576731 22:35576731T-G T G
+22 35577117 22:35577117C-G C G
+22 35577850 22:35577850C-T C T
+22 35577879 22:35577879T-C T C
+22 35577882 22:35577882C-T C T
+22 35578104 22:35578104A-G A G
+22 35578128 22:35578128A-T A T
+22 35578148 22:35578148A-C A C
+22 35578415 22:35578415A-T A T
+22 35579026 22:35579026T-G T G
+22 35579140 22:35579140C-G C G
+22 35579346 22:35579346C-T C T
+22 35579402 22:35579402A-T A T
+22 35579461 22:35579461A-G A G
+22 35579678 22:35579678A-G A G
+22 35580075 22:35580075G-A G A
+22 35580096 22:35580096A-G A G
+22 35580289 22:35580289T-C T C
+22 35580597 22:35580597T-C T C
+22 35581040 22:35581040C-G C G
+22 35581050 22:35581050A-G A G
+22 35581181 22:35581181C-T C T
+22 35582079 22:35582079T-C T C
+22 35582080 22:35582080G-A G A
+22 35582536 22:35582536G-A G A
+22 35583297 22:35583297A-G A G
+22 35583689 22:35583689C-T C T
+22 35583894 22:35583894G-A G A
+22 35583907 22:35583907G-A G A
+22 35584112 22:35584112A-G A G
+22 35584338 22:35584338A-C A C
+22 35584580 22:35584580C-T C T
+22 35584696 22:35584696T-C T C
+22 35584819 22:35584819C-T C T
+22 35584860 22:35584860T-C T C
+22 35585227 22:35585227G-A G A
+22 35585990 22:35585990C-T C T
+22 35586161 22:35586161G-A G A
+22 35586969 22:35586969C-A C A
+22 35587153 22:35587153T-C T C
+22 35587480 22:35587480A-G A G
+22 35587786 22:35587786A-G A G
+22 35588053 22:35588053A-T A T
+22 35588600 22:35588600C-A C A
+22 35588773 22:35588773A-C A C
+22 35588844 22:35588844A-G A G
+22 35588989 22:35588989T-A T A
+22 35590589 22:35590589C-T C T
+22 35590706 22:35590706G-A G A
+22 35590814 22:35590814C-T C T
+22 35591035 22:35591035G-A G A
+22 35591278 22:35591278C-T C T
+22 35591405 22:35591405C-A C A
+22 35591808 22:35591808T-C T C
+22 35592136 22:35592136T-A T A
+22 35592615 22:35592615T-C T C
+22 35592652 22:35592652C-T C T
+22 35592689 22:35592689G-A G A
+22 35592719 22:35592719T-C T C
+22 35592778 22:35592778A-T A T
+22 35592986 22:35592986C-A C A
+22 35593035 22:35593035A-G A G
+22 35593042 22:35593042C-T C T
+22 35593458 22:35593458A-T A T
+22 35593514 22:35593514T-G T G
+22 35593565 22:35593565T-C T C
+22 35593632 22:35593632A-C A C
+22 35593654 22:35593654T-C T C
+22 35593847 22:35593847G-A G A
+22 35594104 22:35594104G-A G A
+22 35594383 22:35594383C-G C G
+22 35595331 22:35595331T-C T C
+22 35595528 22:35595528C-T C T
+22 35595720 22:35595720A-G A G
+22 35595987 22:35595987G-A G A
+22 35596150 22:35596150C-T C T
+22 35596232 22:35596232C-T C T
+22 35596311 22:35596311A-C A C
+22 35597026 22:35597026C-A C A
+22 35597738 22:35597738A-G A G
+22 35598379 22:35598379T-A T A
+22 35598993 22:35598993C-A C A
+22 35599183 22:35599183T-C T C
+22 35599192 22:35599192G-A G A
+22 35599534 22:35599534C-G C G
+22 35599782 22:35599782A-G A G
+22 35600105 22:35600105C-T C T
+22 35600453 22:35600453C-T C T
+22 35600494 22:35600494G-A G A
+22 35601838 22:35601838T-C T C
+22 35601851 22:35601851G-A G A
+22 35602582 22:35602582A-G A G
+22 35602898 22:35602898T-C T C
+22 35602962 22:35602962T-A T A
+22 35603022 22:35603022C-T C T
+22 35603362 22:35603362C-T C T
+22 35603593 22:35603593A-G A G
+22 35603796 22:35603796C-T C T
+22 35603836 22:35603836G-A G A
+22 35604422 22:35604422G-T G T
+22 35604502 22:35604502G-C G C
+22 35606111 22:35606111T-C T C
+22 35606392 22:35606392C-T C T
+22 35608212 22:35608212A-G A G
+22 35608217 22:35608217T-C T C
+22 35608585 22:35608585T-C T C
+22 35609633 22:35609633A-T A T
+22 35609780 22:35609780G-A G A
+22 35611036 22:35611036A-T A T
+22 35611228 22:35611228T-C T C
+22 35611695 22:35611695C-T C T
+22 35612297 22:35612297C-T C T
+22 35612568 22:35612568G-T G T
+22 35612769 22:35612769G-T G T
+22 35613016 22:35613016C-T C T
+22 35613043 22:35613043A-T A T
+22 35614478 22:35614478T-C T C
+22 35614938 22:35614938A-C A C
+22 35614961 22:35614961T-C T C
+22 35615960 22:35615960C-T C T
+22 35616051 22:35616051A-T A T
+22 35616188 22:35616188C-A C A
+22 35616210 22:35616210C-T C T
+22 35616729 22:35616729A-G A G
+22 35617593 22:35617593T-C T C
+22 35618305 22:35618305A-G A G
+22 35619005 22:35619005C-T C T
+22 35619419 22:35619419T-C T C
+22 35620030 22:35620030T-C T C
+22 35621921 22:35621921A-G A G
+22 35622289 22:35622289G-A G A
+22 35622616 22:35622616G-T G T
+22 35623921 22:35623921A-G A G
+22 35624301 22:35624301T-G T G
+22 35624917 22:35624917C-T C T
+22 35625180 22:35625180T-C T C
+22 35625562 22:35625562G-A G A
+22 35625845 22:35625845C-A C A
+22 35626222 22:35626222C-T C T
+22 35627919 22:35627919T-C T C
+22 35628055 22:35628055A-C A C
+22 35629131 22:35629131A-G A G
+22 35629782 22:35629782C-T C T
+22 35630686 22:35630686T-A T A
+22 35631257 22:35631257T-C T C
+22 35631361 22:35631361A-G A G
+22 35631386 22:35631386G-A G A
+22 35631590 22:35631590A-G A G
+22 35633241 22:35633241A-C A C
+22 35634355 22:35634355C-T C T
+22 35634803 22:35634803G-T G T
+22 35635711 22:35635711C-A C A
+22 35635907 22:35635907T-C T C
+22 35636436 22:35636436G-A G A
+22 35636461 22:35636461C-A C A
+22 35636995 22:35636995C-T C T
+22 35637033 22:35637033T-C T C
+22 35637703 22:35637703C-T C T
+22 35638115 22:35638115G-C G C
+22 35638179 22:35638179C-T C T
+22 35638301 22:35638301C-T C T
+22 35639192 22:35639192T-C T C
+22 35639497 22:35639497G-C G C
+22 35640943 22:35640943T-C T C
+22 35641692 22:35641692T-C T C
+22 35642337 22:35642337G-A G A
+22 35642566 22:35642566G-C G C
+22 35644743 22:35644743G-C G C
+22 35646478 22:35646478C-T C T
+22 35646861 22:35646861A-C A C
+22 35647722 22:35647722A-G A G
+22 35648169 22:35648169G-C G C
+22 35648824 22:35648824A-G A G
+22 35651431 22:35651431T-C T C
+22 35652241 22:35652241C-T C T
+22 35652771 22:35652771G-A G A
+22 35653473 22:35653473C-T C T
+22 35654133 22:35654133T-G T G
+22 35654635 22:35654635C-T C T
+22 35657286 22:35657286A-G A G
+22 35657381 22:35657381A-C A C
+22 35658022 22:35658022G-A G A
+22 35658225 22:35658225A-G A G
+22 35660875 22:35660875G-T G T
+22 35663523 22:35663523C-T C T
+22 35664327 22:35664327T-C T C
+22 35664941 22:35664941T-C T C
+22 35666515 22:35666515A-G A G
+22 35667461 22:35667461A-G A G
+22 35667486 22:35667486G-A G A
+22 35667975 22:35667975A-G A G
+22 35668052 22:35668052T-C T C
+22 35668779 22:35668779T-G T G
+22 35669441 22:35669441A-G A G
+22 35669513 22:35669513T-C T C
+22 35669795 22:35669795T-C T C
+22 35669809 22:35669809C-T C T
+22 35670737 22:35670737G-C G C
+22 35672183 22:35672183G-A G A
+22 35672512 22:35672512G-A G A
+22 35672843 22:35672843T-G T G
+22 35673101 22:35673101C-G C G
+22 35673843 22:35673843T-C T C
+22 35674777 22:35674777G-A G A
+22 35674911 22:35674911G-A G A
+22 35675395 22:35675395G-A G A
+22 35675482 22:35675482A-G A G
+22 35675537 22:35675537G-A G A
+22 35676151 22:35676151G-A G A
+22 35677571 22:35677571G-A G A
+22 35677578 22:35677578A-G A G
+22 35677701 22:35677701T-C T C
+22 35679124 22:35679124C-T C T
+22 35679411 22:35679411G-A G A
+22 35679658 22:35679658C-T C T
+22 35679951 22:35679951T-C T C
+22 35680095 22:35680095G-A G A
+22 35681366 22:35681366C-T C T
+22 35681893 22:35681893G-C G C
+22 35682444 22:35682444T-C T C
+22 35683055 22:35683055G-T G T
+22 35683238 22:35683238T-C T C
+22 35683802 22:35683802G-A G A
+22 35684059 22:35684059C-T C T
+22 35684533 22:35684533G-C G C
+22 35684853 22:35684853G-A G A
+22 35685048 22:35685048A-G A G
+22 35685074 22:35685074A-G A G
+22 35685089 22:35685089C-T C T
+22 35685218 22:35685218A-G A G
+22 35686183 22:35686183A-G A G
+22 35686393 22:35686393C-T C T
+22 35686605 22:35686605C-T C T
+22 35688498 22:35688498T-A T A
+22 35689415 22:35689415G-T G T
+22 35690179 22:35690179T-C T C
+22 35690183 22:35690183A-G A G
+22 35690532 22:35690532A-G A G
+22 35691835 22:35691835C-A C A
+22 35692543 22:35692543A-C A C
+22 35693122 22:35693122C-A C A
+22 35693507 22:35693507G-A G A
+22 35693744 22:35693744G-C G C
+22 35693778 22:35693778T-C T C
+22 35694209 22:35694209G-A G A
+22 35694295 22:35694295A-G A G
+22 35694893 22:35694893C-A C A
+22 35695802 22:35695802G-A G A
+22 35696077 22:35696077G-C G C
+22 35696931 22:35696931A-G A G
+22 35697392 22:35697392A-G A G
+22 35697612 22:35697612G-C G C
+22 35698415 22:35698415G-A G A
+22 35698491 22:35698491G-A G A
+22 35699045 22:35699045A-C A C
+22 35699104 22:35699104T-G T G
+22 35699265 22:35699265C-T C T
+22 35699453 22:35699453A-G A G
+22 35699582 22:35699582C-T C T
+22 35699663 22:35699663G-A G A
+22 35699759 22:35699759G-A G A
+22 35699765 22:35699765G-A G A
+22 35699883 22:35699883C-T C T
+22 35699983 22:35699983C-T C T
+22 35700255 22:35700255A-G A G
+22 35700467 22:35700467G-A G A
+22 35700763 22:35700763A-G A G
+22 35700767 22:35700767G-A G A
+22 35700804 22:35700804A-T A T
+22 35701223 22:35701223G-A G A
+22 35701426 22:35701426G-A G A
+22 35701573 22:35701573A-G A G
+22 35701609 22:35701609C-T C T
+22 35702068 22:35702068A-C A C
+22 35702174 22:35702174A-T A T
+22 35702439 22:35702439G-A G A
+22 35703128 22:35703128T-C T C
+22 35703281 22:35703281A-G A G
+22 35703322 22:35703322T-G T G
+22 35703366 22:35703366T-C T C
+22 35703551 22:35703551T-A T A
+22 35704221 22:35704221G-C G C
+22 35704612 22:35704612G-C G C
+22 35705359 22:35705359A-G A G
+22 35705942 22:35705942G-C G C
+22 35707236 22:35707236G-A G A
+22 35708569 22:35708569A-G A G
+22 35708790 22:35708790C-T C T
+22 35708799 22:35708799G-A G A
+22 35709065 22:35709065G-A G A
+22 35710231 22:35710231G-A G A
+22 35711098 22:35711098A-G A G
+22 35711253 22:35711253G-C G C
+22 35711543 22:35711543A-C A C
+22 35712132 22:35712132C-T C T
+22 35712177 22:35712177C-T C T
+22 35712553 22:35712553A-G A G
+22 35712614 22:35712614C-T C T
+22 35714740 22:35714740G-T G T
+22 35714753 22:35714753G-A G A
+22 35714979 22:35714979T-C T C
+22 35715850 22:35715850G-A G A
+22 35716594 22:35716594G-C G C
+22 35717246 22:35717246T-C T C
+22 35717540 22:35717540T-C T C
+22 35718290 22:35718290C-T C T
+22 35722011 22:35722011G-A G A
+22 35723718 22:35723718C-T C T
+22 35723831 22:35723831A-G A G
+22 35724264 22:35724264G-C G C
+22 35724286 22:35724286G-A G A
+22 35724659 22:35724659C-A C A
+22 35724815 22:35724815G-A G A
+22 35725538 22:35725538A-G A G
+22 35725806 22:35725806G-A G A
+22 35728466 22:35728466T-C T C
+22 35729721 22:35729721G-A G A
+22 35730085 22:35730085A-C A C
+22 35731094 22:35731094G-A G A
+22 35731175 22:35731175G-A G A
+22 35731245 22:35731245T-C T C
+22 35732603 22:35732603C-T C T
+22 35732904 22:35732904G-A G A
+22 35732993 22:35732993G-A G A
+22 35733336 22:35733336G-C G C
+22 35733392 22:35733392C-T C T
+22 35733654 22:35733654G-A G A
+22 35733708 22:35733708C-T C T
+22 35733722 22:35733722G-A G A
+22 35737214 22:35737214C-G C G
+22 35737461 22:35737461G-A G A
+22 35738488 22:35738488C-T C T
+22 35739800 22:35739800C-A C A
+22 35739927 22:35739927A-C A C
+22 35740128 22:35740128G-A G A
+22 35740347 22:35740347G-A G A
+22 35740442 22:35740442C-A C A
+22 35740866 22:35740866G-A G A
+22 35741171 22:35741171T-C T C
+22 35741820 22:35741820G-A G A
+22 35741863 22:35741863A-G A G
+22 35742524 22:35742524C-T C T
+22 35742762 22:35742762C-T C T
+22 35742925 22:35742925T-G T G
+22 35743124 22:35743124G-C G C
+22 35744472 22:35744472G-A G A
+22 35744765 22:35744765C-T C T
+22 35745036 22:35745036A-G A G
+22 35745096 22:35745096A-G A G
+22 35745196 22:35745196T-G T G
+22 35745524 22:35745524G-A G A
+22 35746055 22:35746055G-A G A
+22 35746057 22:35746057C-A C A
+22 35746152 22:35746152A-G A G
+22 35746641 22:35746641C-T C T
+22 35746742 22:35746742A-G A G
+22 35747500 22:35747500C-G C G
+22 35748208 22:35748208G-A G A
+22 35748714 22:35748714A-G A G
+22 35749138 22:35749138G-C G C
+22 35749400 22:35749400G-A G A
+22 35749703 22:35749703G-C G C
+22 35750961 22:35750961C-T C T
+22 35750980 22:35750980G-A G A
+22 35752298 22:35752298G-A G A
+22 35752390 22:35752390T-A T A
+22 35753187 22:35753187A-G A G
+22 35753221 22:35753221G-A G A
+22 35753497 22:35753497C-T C T
+22 35753626 22:35753626A-G A G
+22 35753724 22:35753724C-G C G
+22 35754082 22:35754082C-T C T
+22 35754112 22:35754112G-A G A
+22 35754413 22:35754413C-A C A
+22 35754880 22:35754880G-A G A
+22 35755157 22:35755157G-A G A
+22 35755251 22:35755251T-G T G
+22 35755272 22:35755272T-C T C
+22 35755340 22:35755340G-A G A
+22 35755501 22:35755501C-G C G
+22 35755567 22:35755567C-T C T
+22 35755917 22:35755917G-A G A
+22 35756009 22:35756009G-A G A
+22 35756283 22:35756283A-G A G
+22 35756316 22:35756316G-A G A
+22 35756340 22:35756340A-G A G
+22 35756347 22:35756347C-A C A
+22 35756431 22:35756431C-T C T
+22 35756553 22:35756553A-G A G
+22 35756557 22:35756557C-T C T
+22 35756777 22:35756777T-C T C
+22 35756914 22:35756914C-A C A
+22 35757309 22:35757309C-T C T
+22 35757339 22:35757339G-A G A
+22 35757546 22:35757546C-T C T
+22 35757597 22:35757597C-G C G
+22 35757637 22:35757637C-T C T
+22 35757727 22:35757727A-G A G
+22 35758019 22:35758019T-C T C
+22 35758467 22:35758467A-G A G
+22 35758646 22:35758646G-A G A
+22 35758742 22:35758742C-T C T
+22 35761650 22:35761650C-T C T
+22 35762290 22:35762290T-G T G
+22 35763091 22:35763091C-A C A
+22 35763314 22:35763314G-A G A
+22 35763616 22:35763616T-C T C
+22 35764050 22:35764050G-A G A
+22 35764437 22:35764437A-G A G
+22 35764919 22:35764919A-G A G
+22 35765829 22:35765829C-G C G
+22 35766694 22:35766694A-G A G
+22 35766833 22:35766833C-A C A
+22 35766930 22:35766930G-A G A
+22 35768057 22:35768057G-A G A
+22 35768063 22:35768063T-A T A
+22 35768368 22:35768368G-T G T
+22 35769028 22:35769028C-G C G
+22 35769966 22:35769966G-A G A
+22 35770468 22:35770468T-C T C
+22 35771689 22:35771689G-A G A
+22 35771692 22:35771692T-C T C
+22 35772168 22:35772168G-A G A
+22 35774031 22:35774031G-A G A
+22 35775889 22:35775889A-G A G
+22 35776672 22:35776672A-T A T
+22 35777185 22:35777185G-C G C
+22 35777618 22:35777618G-A G A
+22 35777903 22:35777903G-A G A
+22 35777984 22:35777984A-C A C
+22 35778961 22:35778961A-C A C
+22 35781207 22:35781207T-C T C
+22 35783413 22:35783413A-G A G
+22 35784317 22:35784317C-T C T
+22 35785467 22:35785467G-A G A
+22 35786182 22:35786182A-G A G
+22 35786226 22:35786226T-C T C
+22 35786706 22:35786706A-G A G
+22 35786722 22:35786722T-C T C
+22 35786741 22:35786741T-C T C
+22 35786873 22:35786873A-G A G
+22 35787167 22:35787167C-G C G
+22 35787235 22:35787235C-T C T
+22 35787330 22:35787330G-A G A
+22 35788909 22:35788909C-T C T
+22 35789263 22:35789263A-G A G
+22 35790323 22:35790323A-T A T
+22 35791774 22:35791774T-C T C
+22 35791803 22:35791803G-A G A
+22 35792974 22:35792974T-C T C
+22 35793251 22:35793251A-C A C
+22 35793266 22:35793266T-C T C
+22 35793918 22:35793918A-G A G
+22 35794409 22:35794409A-G A G
+22 35795125 22:35795125G-C G C
+22 35795290 22:35795290G-C G C
+22 35795413 22:35795413A-G A G
+22 35796652 22:35796652C-G C G
+22 35796779 22:35796779T-C T C
+22 35797333 22:35797333T-C T C
+22 35797833 22:35797833G-T G T
+22 35798046 22:35798046G-T G T
+22 35799542 22:35799542C-T C T
+22 35799611 22:35799611G-A G A
+22 35800683 22:35800683C-T C T
+22 35800921 22:35800921A-G A G
+22 35800973 22:35800973G-A G A
+22 35801342 22:35801342T-G T G
+22 35801806 22:35801806C-T C T
+22 35801902 22:35801902G-A G A
+22 35801920 22:35801920C-T C T
+22 35802086 22:35802086C-T C T
+22 35802199 22:35802199A-G A G
+22 35802303 22:35802303T-A T A
+22 35802661 22:35802661C-G C G
+22 35802844 22:35802844G-A G A
+22 35802893 22:35802893A-G A G
+22 35803204 22:35803204A-G A G
+22 35803720 22:35803720C-T C T
+22 35804752 22:35804752A-G A G
+22 35804936 22:35804936A-C A C
+22 35805224 22:35805224T-G T G
+22 35805592 22:35805592C-T C T
+22 35805720 22:35805720C-T C T
+22 35806238 22:35806238G-T G T
+22 35806376 22:35806376T-C T C
+22 35806815 22:35806815T-C T C
+22 35807358 22:35807358C-G C G
+22 35807472 22:35807472A-G A G
+22 35808708 22:35808708C-T C T
+22 35810052 22:35810052T-C T C
+22 35810541 22:35810541C-T C T
+22 35811248 22:35811248C-T C T
+22 35811576 22:35811576G-C G C
+22 35813158 22:35813158A-G A G
+22 35813424 22:35813424T-A T A
+22 35814113 22:35814113G-T G T
+22 35814215 22:35814215A-G A G
+22 35814939 22:35814939C-G C G
+22 35814962 22:35814962C-G C G
+22 35815063 22:35815063C-A C A
+22 35815296 22:35815296C-T C T
+22 35815880 22:35815880G-A G A
+22 35816154 22:35816154A-G A G
+22 35816262 22:35816262C-T C T
+22 35817087 22:35817087T-C T C
+22 35817257 22:35817257G-A G A
+22 35817553 22:35817553C-T C T
+22 35817597 22:35817597C-A C A
+22 35817909 22:35817909C-T C T
+22 35818398 22:35818398G-A G A
+22 35820589 22:35820589A-C A C
+22 35820622 22:35820622C-G C G
+22 35821370 22:35821370C-T C T
+22 35822094 22:35822094G-C G C
+22 35822420 22:35822420G-C G C
+22 35822764 22:35822764A-G A G
+22 35824824 22:35824824T-C T C
+22 35825030 22:35825030G-A G A
+22 35825633 22:35825633A-G A G
+22 35826860 22:35826860C-G C G
+22 35827427 22:35827427T-A T A
+22 35827430 22:35827430G-T G T
+22 35827479 22:35827479G-A G A
+22 35827667 22:35827667G-A G A
+22 35828300 22:35828300C-T C T
+22 35828876 22:35828876C-T C T
+22 35829452 22:35829452C-T C T
+22 35829804 22:35829804C-T C T
+22 35830805 22:35830805C-A C A
+22 35830818 22:35830818A-G A G
+22 35831205 22:35831205A-C A C
+22 35831232 22:35831232C-G C G
+22 35832648 22:35832648C-G C G
+22 35833142 22:35833142G-C G C
+22 35834017 22:35834017A-G A G
+22 35834217 22:35834217C-T C T
+22 35835134 22:35835134A-C A C
+22 35835256 22:35835256C-T C T
+22 35835562 22:35835562G-A G A
+22 35835717 22:35835717T-C T C
+22 35835724 22:35835724T-C T C
+22 35836163 22:35836163A-T A T
+22 35836940 22:35836940C-G C G
+22 35837018 22:35837018A-C A C
+22 35837650 22:35837650G-C G C
+22 35838475 22:35838475A-T A T
+22 35838926 22:35838926A-G A G
+22 35839420 22:35839420G-A G A
+22 35839849 22:35839849G-A G A
+22 35840396 22:35840396G-A G A
+22 35840630 22:35840630G-C G C
+22 35840646 22:35840646A-G A G
+22 35840666 22:35840666G-A G A
+22 35840778 22:35840778G-T G T
+22 35841008 22:35841008A-G A G
+22 35841206 22:35841206C-T C T
+22 35841870 22:35841870C-A C A
+22 35842021 22:35842021G-A G A
+22 35842188 22:35842188G-A G A
+22 35842474 22:35842474G-A G A
+22 35845347 22:35845347G-A G A
+22 35845530 22:35845530G-T G T
+22 35845544 22:35845544G-A G A
+22 35847987 22:35847987C-T C T
+22 35848043 22:35848043T-C T C
+22 35848209 22:35848209C-T C T
+22 35848223 22:35848223C-G C G
+22 35848304 22:35848304T-C T C
+22 35848340 22:35848340C-T C T
+22 35848647 22:35848647C-T C T
+22 35848659 22:35848659T-C T C
+22 35848724 22:35848724G-A G A
+22 35848869 22:35848869A-G A G
+22 35848911 22:35848911A-G A G
+22 35849292 22:35849292T-G T G
+22 35849577 22:35849577C-G C G
+22 35849600 22:35849600A-G A G
+22 35849778 22:35849778A-G A G
+22 35850322 22:35850322T-C T C
+22 35851038 22:35851038C-T C T
+22 35851916 22:35851916A-T A T
+22 35853458 22:35853458G-T G T
+22 35855603 22:35855603T-C T C
+22 35857060 22:35857060G-A G A
+22 35857930 22:35857930A-G A G
+22 35859158 22:35859158A-G A G
+22 35861208 22:35861208T-A T A
+22 35865844 22:35865844C-T C T
+22 35866387 22:35866387C-T C T
+22 35868835 22:35868835A-T A T
+22 35869319 22:35869319A-C A C
+22 35869802 22:35869802G-A G A
+22 35871653 22:35871653G-A G A
+22 35872539 22:35872539A-G A G
+22 35873547 22:35873547A-G A G
+22 35873995 22:35873995T-C T C
+22 35874289 22:35874289T-G T G
+22 35875527 22:35875527G-A G A
+22 35875615 22:35875615A-G A G
+22 35876585 22:35876585A-G A G
+22 35876661 22:35876661A-G A G
+22 35876888 22:35876888C-T C T
+22 35877611 22:35877611C-G C G
+22 35877726 22:35877726C-A C A
+22 35878767 22:35878767A-G A G
+22 35878810 22:35878810A-G A G
+22 35879081 22:35879081C-T C T
+22 35879258 22:35879258A-C A C
+22 35879692 22:35879692A-G A G
+22 35880609 22:35880609G-A G A
+22 35880831 22:35880831T-C T C
+22 35881145 22:35881145T-C T C
+22 35881152 22:35881152T-G T G
+22 35881299 22:35881299A-G A G
+22 35881337 22:35881337A-G A G
+22 35881481 22:35881481T-C T C
+22 35881513 22:35881513A-G A G
+22 35881886 22:35881886G-A G A
+22 35882042 22:35882042A-G A G
+22 35882540 22:35882540T-C T C
+22 35882725 22:35882725C-T C T
+22 35883259 22:35883259C-T C T
+22 35883397 22:35883397A-G A G
+22 35883738 22:35883738C-T C T
+22 35884032 22:35884032C-T C T
+22 35885798 22:35885798C-T C T
+22 35886100 22:35886100C-G C G
+22 35886126 22:35886126C-A C A
+22 35886191 22:35886191C-G C G
+22 35886880 22:35886880G-A G A
+22 35887009 22:35887009A-G A G
+22 35888658 22:35888658T-C T C
+22 35890112 22:35890112T-C T C
+22 35891102 22:35891102C-G C G
+22 35891195 22:35891195T-C T C
+22 35892032 22:35892032A-G A G
+22 35892277 22:35892277C-T C T
+22 35893156 22:35893156G-A G A
+22 35894347 22:35894347C-G C G
+22 35895337 22:35895337A-G A G
+22 35896897 22:35896897A-G A G
+22 35897132 22:35897132C-G C G
+22 35897233 22:35897233G-A G A
+22 35897603 22:35897603T-G T G
+22 35897664 22:35897664G-T G T
+22 35898080 22:35898080T-C T C
+22 35898318 22:35898318T-C T C
+22 35898347 22:35898347C-T C T
+22 35898693 22:35898693G-C G C
+22 35898803 22:35898803A-G A G
+22 35898820 22:35898820G-A G A
+22 35899384 22:35899384C-T C T
+22 35899476 22:35899476C-T C T
+22 35899646 22:35899646C-T C T
+22 35899937 22:35899937G-A G A
+22 35900193 22:35900193T-C T C
+22 35900468 22:35900468A-G A G
+22 35900755 22:35900755A-G A G
+22 35900993 22:35900993A-G A G
+22 35901373 22:35901373C-T C T
+22 35902517 22:35902517A-G A G
+22 35902777 22:35902777A-G A G
+22 35903084 22:35903084G-A G A
+22 35903152 22:35903152T-C T C
+22 35903328 22:35903328T-C T C
+22 35903735 22:35903735T-C T C
+22 35903831 22:35903831G-C G C
+22 35905067 22:35905067G-T G T
+22 35905263 22:35905263T-C T C
+22 35905585 22:35905585G-T G T
+22 35907252 22:35907252T-C T C
+22 35907880 22:35907880T-C T C
+22 35908928 22:35908928T-A T A
+22 35910040 22:35910040A-T A T
+22 35912469 22:35912469T-C T C
+22 35912547 22:35912547G-A G A
+22 35913606 22:35913606A-G A G
+22 35913976 22:35913976A-C A C
+22 35914490 22:35914490C-A C A
+22 35915388 22:35915388T-C T C
+22 35915774 22:35915774G-A G A
+22 35916076 22:35916076C-T C T
+22 35916298 22:35916298C-A C A
+22 35916580 22:35916580C-T C T
+22 35916645 22:35916645A-C A C
+22 35916680 22:35916680T-G T G
+22 35917309 22:35917309C-A C A
+22 35917546 22:35917546G-A G A
+22 35918270 22:35918270T-C T C
+22 35919446 22:35919446G-A G A
+22 35919589 22:35919589C-T C T
+22 35919789 22:35919789G-A G A
+22 35919837 22:35919837C-T C T
+22 35919931 22:35919931G-A G A
+22 35920055 22:35920055A-T A T
+22 35920134 22:35920134C-T C T
+22 35920869 22:35920869C-A C A
+22 35920896 22:35920896C-G C G
+22 35921936 22:35921936C-T C T
+22 35921981 22:35921981T-G T G
+22 35922146 22:35922146T-C T C
+22 35922604 22:35922604A-G A G
+22 35922654 22:35922654T-A T A
+22 35922922 22:35922922G-A G A
+22 35923105 22:35923105G-A G A
+22 35923192 22:35923192G-A G A
+22 35923409 22:35923409C-T C T
+22 35923469 22:35923469G-A G A
+22 35924115 22:35924115G-T G T
+22 35924150 22:35924150G-A G A
+22 35924256 22:35924256C-A C A
+22 35924713 22:35924713T-C T C
+22 35925430 22:35925430A-G A G
+22 35925600 22:35925600G-T G T
+22 35925915 22:35925915A-C A C
+22 35925996 22:35925996G-A G A
+22 35926387 22:35926387G-A G A
+22 35926467 22:35926467C-G C G
+22 35926542 22:35926542G-A G A
+22 35926810 22:35926810C-T C T
+22 35926968 22:35926968A-G A G
+22 35927141 22:35927141C-T C T
+22 35927181 22:35927181C-T C T
+22 35927196 22:35927196T-C T C
+22 35927308 22:35927308T-C T C
+22 35927461 22:35927461T-C T C
+22 35928368 22:35928368C-T C T
+22 35928417 22:35928417G-A G A
+22 35928792 22:35928792G-A G A
+22 35928877 22:35928877C-A C A
+22 35929444 22:35929444G-A G A
+22 35929523 22:35929523T-C T C
+22 35930731 22:35930731C-G C G
+22 35932000 22:35932000G-C G C
+22 35932473 22:35932473T-C T C
+22 35933578 22:35933578C-T C T
+22 35933803 22:35933803C-T C T
+22 35933862 22:35933862T-C T C
+22 35934313 22:35934313C-T C T
+22 35934445 22:35934445C-T C T
+22 35934590 22:35934590T-C T C
+22 35934614 22:35934614A-G A G
+22 35935475 22:35935475G-A G A
+22 35936185 22:35936185G-A G A
+22 35936868 22:35936868C-A C A
+22 35937351 22:35937351C-T C T
+22 35937424 22:35937424G-A G A
+22 35937568 22:35937568G-A G A
+22 35938250 22:35938250A-G A G
+22 35938381 22:35938381G-T G T
+22 35938557 22:35938557A-G A G
+22 35939369 22:35939369C-T C T
+22 35941244 22:35941244G-C G C
+22 35941531 22:35941531C-A C A
+22 35941605 22:35941605T-G T G
+22 35941944 22:35941944C-T C T
+22 35942020 22:35942020G-A G A
+22 35942049 22:35942049T-A T A
+22 35943722 22:35943722C-T C T
+22 35943808 22:35943808T-C T C
+22 35943890 22:35943890T-A T A
+22 35943984 22:35943984T-C T C
+22 35944014 22:35944014A-G A G
+22 35944774 22:35944774G-A G A
+22 35945142 22:35945142C-T C T
+22 35945703 22:35945703T-G T G
+22 35946045 22:35946045T-C T C
+22 35946750 22:35946750C-A C A
+22 35947585 22:35947585C-A C A
+22 35948265 22:35948265G-C G C
+22 35948293 22:35948293T-G T G
+22 35948435 22:35948435C-T C T
+22 35948518 22:35948518G-A G A
+22 35948555 22:35948555G-C G C
+22 35948997 22:35948997G-A G A
+22 35949334 22:35949334A-G A G
+22 35949621 22:35949621G-A G A
+22 35950148 22:35950148G-A G A
+22 35950225 22:35950225A-G A G
+22 35950648 22:35950648G-A G A
+22 35950852 22:35950852C-T C T
+22 35951066 22:35951066T-C T C
+22 35951273 22:35951273T-C T C
+22 35951876 22:35951876A-G A G
+22 35952322 22:35952322G-A G A
+22 35952603 22:35952603A-C A C
+22 35952990 22:35952990C-T C T
+22 35954246 22:35954246A-C A C
+22 35954825 22:35954825C-T C T
+22 35955303 22:35955303C-T C T
+22 35955368 22:35955368G-A G A
+22 35955382 22:35955382A-G A G
+22 35955898 22:35955898T-A T A
+22 35956104 22:35956104G-A G A
+22 35957442 22:35957442C-T C T
+22 35957787 22:35957787C-T C T
+22 35958126 22:35958126G-C G C
+22 35959070 22:35959070C-T C T
+22 35959085 22:35959085G-A G A
+22 35959242 22:35959242G-A G A
+22 35960360 22:35960360C-G C G
+22 35960635 22:35960635T-C T C
+22 35961281 22:35961281C-T C T
+22 35962060 22:35962060A-G A G
+22 35962419 22:35962419C-T C T
+22 35962574 22:35962574T-G T G
+22 35962586 22:35962586A-G A G
+22 35962640 22:35962640A-G A G
+22 35962677 22:35962677G-A G A
+22 35962719 22:35962719A-G A G
+22 35963339 22:35963339C-T C T
+22 35963433 22:35963433C-G C G
+22 35964052 22:35964052G-A G A
+22 35964158 22:35964158C-G C G
+22 35964410 22:35964410C-T C T
+22 35964722 22:35964722C-T C T
+22 35965077 22:35965077A-G A G
+22 35965953 22:35965953A-G A G
+22 35966160 22:35966160C-T C T
+22 35966864 22:35966864C-T C T
+22 35967462 22:35967462A-C A C
+22 35967485 22:35967485C-T C T
+22 35967836 22:35967836A-T A T
+22 35968220 22:35968220A-G A G
+22 35968294 22:35968294G-C G C
+22 35968565 22:35968565G-A G A
+22 35970077 22:35970077C-T C T
+22 35970204 22:35970204G-A G A
+22 35970309 22:35970309A-T A T
+22 35970554 22:35970554G-A G A
+22 35970827 22:35970827T-C T C
+22 35971209 22:35971209G-A G A
+22 35971778 22:35971778T-G T G
+22 35971856 22:35971856C-T C T
+22 35971881 22:35971881A-G A G
+22 35972304 22:35972304G-A G A
+22 35972779 22:35972779C-T C T
+22 35973426 22:35973426T-C T C
+22 35973583 22:35973583T-C T C
+22 35974292 22:35974292A-C A C
+22 35974703 22:35974703G-A G A
+22 35974941 22:35974941T-G T G
+22 35975216 22:35975216C-G C G
+22 35975431 22:35975431G-A G A
+22 35976000 22:35976000G-C G C
+22 35976171 22:35976171G-A G A
+22 35976191 22:35976191C-A C A
+22 35976572 22:35976572A-G A G
+22 35977158 22:35977158C-T C T
+22 35978600 22:35978600C-A C A
+22 35978615 22:35978615G-A G A
+22 35978764 22:35978764C-G C G
+22 35978826 22:35978826G-A G A
+22 35979488 22:35979488C-T C T
+22 35979857 22:35979857T-C T C
+22 35979968 22:35979968C-A C A
+22 35980060 22:35980060A-G A G
+22 35980105 22:35980105G-A G A
+22 35980173 22:35980173G-A G A
+22 35981447 22:35981447C-T C T
+22 35982445 22:35982445G-C G C
+22 35982672 22:35982672G-A G A
+22 35982800 22:35982800G-A G A
+22 35983046 22:35983046G-A G A
+22 35983177 22:35983177C-A C A
+22 35983242 22:35983242C-A C A
+22 35983323 22:35983323C-G C G
+22 35983432 22:35983432T-C T C
+22 35983478 22:35983478C-A C A
+22 35983660 22:35983660C-T C T
+22 35984050 22:35984050A-G A G
+22 35984385 22:35984385G-A G A
+22 35984840 22:35984840C-T C T
+22 35985074 22:35985074C-T C T
+22 35986090 22:35986090C-A C A
+22 35987070 22:35987070C-T C T
+22 35987432 22:35987432T-A T A
+22 35989268 22:35989268G-A G A
+22 35990187 22:35990187T-C T C
+22 35990653 22:35990653C-T C T
+22 35991941 22:35991941G-C G C
+22 35992604 22:35992604A-C A C
+22 35992707 22:35992707G-A G A
+22 35993150 22:35993150T-C T C
+22 35993783 22:35993783C-A C A
+22 35994111 22:35994111C-A C A
+22 35994283 22:35994283A-G A G
+22 35994373 22:35994373C-G C G
+22 35994377 22:35994377A-G A G
+22 35995038 22:35995038C-A C A
+22 35995050 22:35995050A-G A G
+22 35995150 22:35995150C-T C T
+22 35996272 22:35996272T-C T C
+22 35996298 22:35996298T-A T A
+22 35996371 22:35996371G-A G A
+22 35996615 22:35996615G-T G T
+22 35996676 22:35996676C-A C A
+22 35997200 22:35997200T-A T A
+22 35997239 22:35997239T-A T A
+22 35997276 22:35997276G-A G A
+22 35997387 22:35997387G-A G A
+22 35998538 22:35998538T-C T C
+22 35998924 22:35998924T-C T C
+22 35999938 22:35999938A-G A G
+22 36000547 22:36000547A-G A G
+22 36000711 22:36000711G-T G T
+22 36001162 22:36001162T-C T C
+22 36001258 22:36001258T-C T C
+22 36001523 22:36001523G-A G A
+22 36001569 22:36001569T-C T C
+22 36001860 22:36001860G-A G A
+22 36002420 22:36002420T-C T C
+22 36003053 22:36003053T-C T C
+22 36003939 22:36003939A-C A C
+22 36005410 22:36005410C-T C T
+22 36006008 22:36006008G-C G C
+22 36006108 22:36006108C-G C G
+22 36006322 22:36006322C-T C T
+22 36006396 22:36006396A-G A G
+22 36006618 22:36006618T-C T C
+22 36006732 22:36006732G-A G A
+22 36007045 22:36007045G-A G A
+22 36007075 22:36007075C-T C T
+22 36007421 22:36007421G-A G A
+22 36007464 22:36007464C-A C A
+22 36007876 22:36007876A-G A G
+22 36007887 22:36007887T-C T C
+22 36008093 22:36008093G-A G A
+22 36008442 22:36008442T-C T C
+22 36008695 22:36008695A-C A C
+22 36009231 22:36009231A-C A C
+22 36009357 22:36009357C-G C G
+22 36009787 22:36009787T-C T C
+22 36010004 22:36010004C-T C T
+22 36010202 22:36010202A-G A G
+22 36011129 22:36011129G-T G T
+22 36011275 22:36011275C-T C T
+22 36011480 22:36011480G-A G A
+22 36011759 22:36011759G-A G A
+22 36011792 22:36011792T-C T C
+22 36011797 22:36011797T-A T A
+22 36011922 22:36011922T-C T C
+22 36012029 22:36012029C-A C A
+22 36012042 22:36012042T-C T C
+22 36012047 22:36012047G-A G A
+22 36012721 22:36012721T-C T C
+22 36012864 22:36012864C-G C G
+22 36012916 22:36012916C-T C T
+22 36014262 22:36014262A-G A G
+22 36016472 22:36016472T-C T C
+22 36016682 22:36016682T-C T C
+22 36017046 22:36017046C-G C G
+22 36018442 22:36018442A-G A G
+22 36020037 22:36020037A-G A G
+22 36020403 22:36020403C-T C T
+22 36022661 22:36022661C-T C T
+22 36022702 22:36022702T-C T C
+22 36023106 22:36023106T-C T C
+22 36023160 22:36023160T-C T C
+22 36023440 22:36023440C-G C G
+22 36024971 22:36024971G-C G C
+22 36026458 22:36026458T-A T A
+22 36026620 22:36026620A-G A G
+22 36026983 22:36026983G-T G T
+22 36028171 22:36028171A-T A T
+22 36028531 22:36028531G-C G C
+22 36029668 22:36029668G-C G C
+22 36029808 22:36029808A-G A G
+22 36029878 22:36029878G-A G A
+22 36029880 22:36029880A-G A G
+22 36030165 22:36030165G-A G A
+22 36030683 22:36030683C-T C T
+22 36030700 22:36030700C-T C T
+22 36032458 22:36032458T-A T A
+22 36032567 22:36032567C-G C G
+22 36032730 22:36032730G-A G A
+22 36032971 22:36032971G-C G C
+22 36033106 22:36033106G-A G A
+22 36033309 22:36033309A-G A G
+22 36033341 22:36033341A-G A G
+22 36033494 22:36033494T-C T C
+22 36034065 22:36034065T-C T C
+22 36034443 22:36034443C-G C G
+22 36034818 22:36034818G-A G A
+22 36034983 22:36034983T-C T C
+22 36035029 22:36035029C-T C T
+22 36035821 22:36035821T-C T C
+22 36036213 22:36036213G-A G A
+22 36036888 22:36036888G-A G A
+22 36037078 22:36037078C-T C T
+22 36038076 22:36038076C-T C T
+22 36038165 22:36038165G-C G C
+22 36038286 22:36038286G-A G A
+22 36038567 22:36038567C-T C T
+22 36038998 22:36038998C-T C T
+22 36039058 22:36039058A-G A G
+22 36039158 22:36039158G-A G A
+22 36039274 22:36039274G-A G A
+22 36039507 22:36039507G-A G A
+22 36039619 22:36039619C-A C A
+22 36039865 22:36039865G-A G A
+22 36040164 22:36040164C-A C A
+22 36040410 22:36040410A-G A G
+22 36040454 22:36040454T-A T A
+22 36040785 22:36040785G-A G A
+22 36040893 22:36040893T-G T G
+22 36040913 22:36040913G-A G A
+22 36041283 22:36041283A-G A G
+22 36041562 22:36041562C-T C T
+22 36041650 22:36041650A-G A G
+22 36042986 22:36042986C-T C T
+22 36043201 22:36043201G-A G A
+22 36043587 22:36043587G-C G C
+22 36047530 22:36047530G-A G A
+22 36048259 22:36048259G-T G T
+22 36053526 22:36053526A-G A G
+22 36054572 22:36054572C-T C T
+22 36059330 22:36059330C-G C G
+22 36062444 22:36062444C-T C T
+22 36064087 22:36064087T-C T C
+22 36064164 22:36064164C-T C T
+22 36064414 22:36064414T-G T G
+22 36064629 22:36064629T-C T C
+22 36064665 22:36064665G-A G A
+22 36065734 22:36065734T-C T C
+22 36065885 22:36065885G-A G A
+22 36065908 22:36065908T-C T C
+22 36066022 22:36066022G-A G A
+22 36066075 22:36066075G-A G A
+22 36066137 22:36066137A-G A G
+22 36066215 22:36066215C-A C A
+22 36066680 22:36066680C-T C T
+22 36066874 22:36066874C-G C G
+22 36066935 22:36066935T-G T G
+22 36067804 22:36067804T-A T A
+22 36068271 22:36068271G-A G A
+22 36069674 22:36069674T-C T C
+22 36069723 22:36069723G-A G A
+22 36070167 22:36070167C-T C T
+22 36070421 22:36070421T-C T C
+22 36070830 22:36070830A-G A G
+22 36070909 22:36070909A-T A T
+22 36071537 22:36071537G-A G A
+22 36071583 22:36071583T-C T C
+22 36071609 22:36071609C-T C T
+22 36071804 22:36071804T-C T C
+22 36072152 22:36072152T-C T C
+22 36072262 22:36072262C-T C T
+22 36076898 22:36076898G-A G A
+22 36077461 22:36077461A-G A G
+22 36077527 22:36077527A-G A G
+22 36077559 22:36077559C-T C T
+22 36077719 22:36077719T-A T A
+22 36078808 22:36078808C-A C A
+22 36079042 22:36079042T-C T C
+22 36079933 22:36079933G-A G A
+22 36080057 22:36080057C-G C G
+22 36080506 22:36080506T-C T C
+22 36080813 22:36080813T-G T G
+22 36081288 22:36081288A-C A C
+22 36081970 22:36081970A-C A C
+22 36082015 22:36082015C-T C T
+22 36082417 22:36082417A-G A G
+22 36083246 22:36083246G-A G A
+22 36083605 22:36083605G-A G A
+22 36084506 22:36084506G-A G A
+22 36085301 22:36085301G-T G T
+22 36085347 22:36085347C-T C T
+22 36085739 22:36085739G-A G A
+22 36085802 22:36085802T-C T C
+22 36085957 22:36085957T-C T C
+22 36086527 22:36086527A-G A G
+22 36087192 22:36087192G-A G A
+22 36087286 22:36087286T-C T C
+22 36087686 22:36087686C-G C G
+22 36089825 22:36089825A-C A C
+22 36090044 22:36090044C-T C T
+22 36091410 22:36091410A-G A G
+22 36091878 22:36091878T-G T G
+22 36091924 22:36091924C-T C T
+22 36091959 22:36091959G-A G A
+22 36092186 22:36092186C-T C T
+22 36092411 22:36092411A-G A G
+22 36092496 22:36092496G-C G C
+22 36092606 22:36092606C-T C T
+22 36092653 22:36092653A-T A T
+22 36092693 22:36092693C-T C T
+22 36092699 22:36092699A-C A C
+22 36092778 22:36092778A-G A G
+22 36092836 22:36092836C-G C G
+22 36092992 22:36092992T-C T C
+22 36093043 22:36093043G-A G A
+22 36093176 22:36093176T-C T C
+22 36094766 22:36094766G-T G T
+22 36095138 22:36095138G-A G A
+22 36095571 22:36095571C-T C T
+22 36095992 22:36095992C-T C T
+22 36096091 22:36096091T-C T C
+22 36096366 22:36096366G-A G A
+22 36097113 22:36097113G-A G A
+22 36097644 22:36097644G-A G A
+22 36097664 22:36097664T-A T A
+22 36097799 22:36097799C-T C T
+22 36098431 22:36098431A-G A G
+22 36098636 22:36098636A-T A T
+22 36099013 22:36099013G-T G T
+22 36099218 22:36099218A-G A G
+22 36099713 22:36099713A-C A C
+22 36099749 22:36099749C-G C G
+22 36099882 22:36099882A-G A G
+22 36100410 22:36100410C-A C A
+22 36100891 22:36100891G-A G A
+22 36100894 22:36100894C-T C T
+22 36100896 22:36100896G-C G C
+22 36101567 22:36101567T-C T C
+22 36101861 22:36101861A-T A T
+22 36102668 22:36102668A-G A G
+22 36102700 22:36102700A-G A G
+22 36103270 22:36103270G-C G C
+22 36103709 22:36103709A-G A G
+22 36103778 22:36103778G-A G A
+22 36103951 22:36103951C-T C T
+22 36103985 22:36103985A-T A T
+22 36104647 22:36104647A-G A G
+22 36104730 22:36104730C-T C T
+22 36105236 22:36105236A-C A C
+22 36105267 22:36105267T-A T A
+22 36105275 22:36105275A-C A C
+22 36105655 22:36105655T-C T C
+22 36105832 22:36105832T-A T A
+22 36106721 22:36106721A-T A T
+22 36108012 22:36108012G-A G A
+22 36108161 22:36108161C-T C T
+22 36109635 22:36109635G-T G T
+22 36110132 22:36110132G-A G A
+22 36110336 22:36110336A-G A G
+22 36110465 22:36110465T-C T C
+22 36110517 22:36110517C-G C G
+22 36110520 22:36110520T-C T C
+22 36110733 22:36110733A-G A G
+22 36111304 22:36111304C-T C T
+22 36111521 22:36111521C-T C T
+22 36111820 22:36111820G-A G A
+22 36111828 22:36111828C-G C G
+22 36113525 22:36113525G-A G A
+22 36114047 22:36114047C-T C T
+22 36114054 22:36114054C-T C T
+22 36114263 22:36114263C-T C T
+22 36114274 22:36114274T-C T C
+22 36114551 22:36114551T-C T C
+22 36114596 22:36114596G-A G A
+22 36114621 22:36114621A-G A G
+22 36114994 22:36114994A-G A G
+22 36115037 22:36115037C-T C T
+22 36115061 22:36115061G-T G T
+22 36115128 22:36115128A-G A G
+22 36115172 22:36115172T-C T C
+22 36115349 22:36115349C-T C T
+22 36115542 22:36115542A-C A C
+22 36115594 22:36115594G-A G A
+22 36115897 22:36115897C-A C A
+22 36115911 22:36115911G-A G A
+22 36116080 22:36116080C-T C T
+22 36116535 22:36116535A-G A G
+22 36116923 22:36116923G-A G A
+22 36117303 22:36117303G-C G C
+22 36117854 22:36117854G-A G A
+22 36117892 22:36117892T-C T C
+22 36117985 22:36117985A-T A T
+22 36118194 22:36118194C-T C T
+22 36118302 22:36118302G-A G A
+22 36118380 22:36118380C-T C T
+22 36118729 22:36118729A-G A G
+22 36118841 22:36118841G-A G A
+22 36118936 22:36118936T-C T C
+22 36119779 22:36119779G-C G C
+22 36120297 22:36120297C-T C T
+22 36120323 22:36120323A-G A G
+22 36122517 22:36122517T-C T C
+22 36122811 22:36122811G-A G A
+22 36122930 22:36122930C-T C T
+22 36123083 22:36123083C-T C T
+22 36123313 22:36123313G-A G A
+22 36124860 22:36124860C-G C G
+22 36125264 22:36125264T-G T G
+22 36125586 22:36125586T-G T G
+22 36125876 22:36125876C-T C T
+22 36126067 22:36126067A-G A G
+22 36126195 22:36126195G-C G C
+22 36126395 22:36126395G-C G C
+22 36126448 22:36126448T-C T C
+22 36126832 22:36126832A-G A G
+22 36127539 22:36127539C-T C T
+22 36127565 22:36127565C-T C T
+22 36127573 22:36127573C-G C G
+22 36127853 22:36127853A-G A G
+22 36128085 22:36128085A-G A G
+22 36128450 22:36128450A-G A G
+22 36128785 22:36128785C-T C T
+22 36128931 22:36128931G-A G A
+22 36129422 22:36129422C-T C T
+22 36129474 22:36129474T-G T G
+22 36129651 22:36129651G-C G C
+22 36129851 22:36129851A-T A T
+22 36130082 22:36130082G-T G T
+22 36130527 22:36130527T-C T C
+22 36130554 22:36130554G-A G A
+22 36130557 22:36130557C-T C T
+22 36130577 22:36130577G-A G A
+22 36130786 22:36130786T-G T G
+22 36131498 22:36131498G-A G A
+22 36132263 22:36132263T-G T G
+22 36132558 22:36132558T-A T A
+22 36132832 22:36132832C-T C T
+22 36132974 22:36132974C-G C G
+22 36133397 22:36133397T-G T G
+22 36133739 22:36133739A-G A G
+22 36134426 22:36134426A-C A C
+22 36136574 22:36136574C-T C T
+22 36136945 22:36136945T-C T C
+22 36137531 22:36137531C-T C T
+22 36140552 22:36140552G-A G A
+22 36140596 22:36140596C-T C T
+22 36140875 22:36140875G-C G C
+22 36144342 22:36144342T-C T C
+22 36149338 22:36149338G-T G T
+22 36164773 22:36164773C-T C T
+22 36165105 22:36165105T-C T C
+22 36166493 22:36166493G-C G C
+22 36171333 22:36171333A-G A G
+22 36174747 22:36174747G-A G A
+22 36175768 22:36175768G-A G A
+22 36176577 22:36176577G-A G A
+22 36178273 22:36178273T-G T G
+22 36179095 22:36179095G-A G A
+22 36180535 22:36180535A-G A G
+22 36183988 22:36183988C-T C T
+22 36184094 22:36184094C-G C G
+22 36187190 22:36187190G-T G T
+22 36190573 22:36190573T-C T C
+22 36190575 22:36190575G-A G A
+22 36191428 22:36191428A-G A G
+22 36197950 22:36197950T-C T C
+22 36202141 22:36202141G-A G A
+22 36202359 22:36202359A-C A C
+22 36203266 22:36203266T-C T C
+22 36204303 22:36204303G-A G A
+22 36219694 22:36219694T-G T G
+22 36220764 22:36220764T-C T C
+22 36221904 22:36221904C-T C T
+22 36222356 22:36222356T-C T C
+22 36224331 22:36224331A-T A T
+22 36226516 22:36226516G-C G C
+22 36227490 22:36227490T-A T A
+22 36228855 22:36228855T-C T C
+22 36229069 22:36229069A-G A G
+22 36231357 22:36231357G-T G T
+22 36236718 22:36236718T-G T G
+22 36237930 22:36237930T-A T A
+22 36240057 22:36240057T-C T C
+22 36240518 22:36240518G-C G C
+22 36247681 22:36247681C-T C T
+22 36250013 22:36250013T-G T G
+22 36251888 22:36251888T-C T C
+22 36252267 22:36252267A-G A G
+22 36254641 22:36254641G-T G T
+22 36257772 22:36257772C-T C T
+22 36258123 22:36258123A-G A G
+22 36258689 22:36258689G-A G A
+22 36258974 22:36258974G-A G A
+22 36262806 22:36262806G-A G A
+22 36265404 22:36265404T-C T C
+22 36267013 22:36267013A-C A C
+22 36268451 22:36268451C-T C T
+22 36268975 22:36268975A-G A G
+22 36270541 22:36270541G-A G A
+22 36270721 22:36270721C-T C T
+22 36272192 22:36272192G-A G A
+22 36272637 22:36272637G-A G A
+22 36278740 22:36278740T-G T G
+22 36278885 22:36278885A-G A G
+22 36279237 22:36279237C-T C T
+22 36280999 22:36280999T-C T C
+22 36282306 22:36282306G-A G A
+22 36283505 22:36283505T-C T C
+22 36283675 22:36283675C-G C G
+22 36285336 22:36285336A-G A G
+22 36285665 22:36285665A-G A G
+22 36288106 22:36288106T-C T C
+22 36288320 22:36288320G-A G A
+22 36290707 22:36290707C-T C T
+22 36292050 22:36292050A-G A G
+22 36292120 22:36292120C-A C A
+22 36294634 22:36294634T-C T C
+22 36294844 22:36294844T-C T C
+22 36295643 22:36295643G-A G A
+22 36295657 22:36295657G-T G T
+22 36296109 22:36296109C-T C T
+22 36296128 22:36296128G-T G T
+22 36297508 22:36297508G-A G A
+22 36298441 22:36298441A-G A G
+22 36299751 22:36299751T-C T C
+22 36301888 22:36301888T-C T C
+22 36303362 22:36303362A-G A G
+22 36303973 22:36303973G-C G C
+22 36304592 22:36304592G-A G A
+22 36304820 22:36304820G-A G A
+22 36305179 22:36305179T-C T C
+22 36305296 22:36305296A-C A C
+22 36306059 22:36306059A-T A T
+22 36306266 22:36306266G-A G A
+22 36306485 22:36306485G-C G C
+22 36306594 22:36306594G-T G T
+22 36308723 22:36308723G-A G A
+22 36309343 22:36309343T-C T C
+22 36311220 22:36311220C-T C T
+22 36311770 22:36311770T-G T G
+22 36316662 22:36316662T-C T C
+22 36316786 22:36316786T-C T C
+22 36316843 22:36316843C-G C G
+22 36318445 22:36318445A-G A G
+22 36318919 22:36318919G-A G A
+22 36320122 22:36320122T-A T A
+22 36320166 22:36320166A-G A G
+22 36320740 22:36320740A-G A G
+22 36321108 22:36321108C-T C T
+22 36324934 22:36324934C-T C T
+22 36326172 22:36326172C-A C A
+22 36326678 22:36326678G-A G A
+22 36328197 22:36328197C-T C T
+22 36328259 22:36328259A-G A G
+22 36328652 22:36328652C-A C A
+22 36328862 22:36328862A-G A G
+22 36329083 22:36329083T-C T C
+22 36330190 22:36330190T-C T C
+22 36330476 22:36330476G-A G A
+22 36333231 22:36333231G-A G A
+22 36335309 22:36335309G-A G A
+22 36335960 22:36335960C-T C T
+22 36337776 22:36337776A-C A C
+22 36338338 22:36338338T-C T C
+22 36339542 22:36339542C-T C T
+22 36339998 22:36339998A-T A T
+22 36340848 22:36340848C-G C G
+22 36342329 22:36342329T-C T C
+22 36342390 22:36342390T-C T C
+22 36344302 22:36344302C-T C T
+22 36345069 22:36345069T-C T C
+22 36345228 22:36345228A-T A T
+22 36345320 22:36345320C-T C T
+22 36347646 22:36347646C-A C A
+22 36349460 22:36349460C-T C T
+22 36350105 22:36350105A-G A G
+22 36351343 22:36351343T-G T G
+22 36351751 22:36351751T-G T G
+22 36352570 22:36352570C-T C T
+22 36353657 22:36353657T-C T C
+22 36355358 22:36355358T-G T G
+22 36356027 22:36356027T-C T C
+22 36356899 22:36356899G-A G A
+22 36357789 22:36357789C-T C T
+22 36358366 22:36358366C-T C T
+22 36358733 22:36358733A-G A G
+22 36359160 22:36359160A-G A G
+22 36359853 22:36359853G-A G A
+22 36361281 22:36361281G-C G C
+22 36361878 22:36361878T-G T G
+22 36363919 22:36363919T-C T C
+22 36365875 22:36365875G-C G C
+22 36368555 22:36368555T-C T C
+22 36371769 22:36371769A-C A C
+22 36374865 22:36374865T-C T C
+22 36374961 22:36374961T-C T C
+22 36377043 22:36377043A-G A G
+22 36378376 22:36378376C-T C T
+22 36378451 22:36378451T-C T C
+22 36379475 22:36379475C-T C T
+22 36380994 22:36380994C-T C T
+22 36382102 22:36382102C-T C T
+22 36382414 22:36382414T-C T C
+22 36384474 22:36384474T-C T C
+22 36389393 22:36389393T-C T C
+22 36392405 22:36392405T-C T C
+22 36393380 22:36393380G-A G A
+22 36397368 22:36397368T-A T A
+22 36406121 22:36406121C-G C G
+22 36406534 22:36406534G-A G A
+22 36411562 22:36411562C-T C T
+22 36412281 22:36412281T-C T C
+22 36413291 22:36413291T-C T C
+22 36414914 22:36414914A-G A G
+22 36415129 22:36415129T-C T C
+22 36418280 22:36418280C-T C T
+22 36418475 22:36418475C-T C T
+22 36421809 22:36421809C-G C G
+22 36422020 22:36422020A-G A G
+22 36422904 22:36422904T-C T C
+22 36423437 22:36423437G-A G A
+22 36424170 22:36424170C-A C A
+22 36425725 22:36425725G-A G A
+22 36426547 22:36426547A-G A G
+22 36427251 22:36427251G-T G T
+22 36427484 22:36427484T-C T C
+22 36428388 22:36428388C-T C T
+22 36432337 22:36432337A-T A T
+22 36433816 22:36433816C-T C T
+22 36434894 22:36434894C-T C T
+22 36435016 22:36435016C-T C T
+22 36435260 22:36435260A-G A G
+22 36437842 22:36437842C-A C A
+22 36437906 22:36437906T-G T G
+22 36438326 22:36438326C-T C T
+22 36438581 22:36438581G-A G A
+22 36439155 22:36439155A-G A G
+22 36439208 22:36439208G-C G C
+22 36439509 22:36439509A-C A C
+22 36439861 22:36439861T-C T C
+22 36439968 22:36439968G-A G A
+22 36440240 22:36440240C-G C G
+22 36440597 22:36440597T-C T C
+22 36443025 22:36443025T-C T C
+22 36443705 22:36443705G-A G A
+22 36444397 22:36444397A-G A G
+22 36444447 22:36444447A-C A C
+22 36447564 22:36447564A-G A G
+22 36447759 22:36447759T-C T C
+22 36448055 22:36448055A-G A G
+22 36448347 22:36448347G-A G A
+22 36448811 22:36448811C-T C T
+22 36449158 22:36449158C-T C T
+22 36449474 22:36449474C-T C T
+22 36449574 22:36449574T-C T C
+22 36449651 22:36449651C-T C T
+22 36451100 22:36451100T-C T C
+22 36451815 22:36451815G-A G A
+22 36452100 22:36452100T-A T A
+22 36453608 22:36453608G-A G A
+22 36456462 22:36456462G-A G A
+22 36456497 22:36456497T-C T C
+22 36457452 22:36457452C-T C T
+22 36457613 22:36457613C-T C T
+22 36457645 22:36457645C-G C G
+22 36458009 22:36458009C-G C G
+22 36458056 22:36458056C-A C A
+22 36459666 22:36459666C-T C T
+22 36460074 22:36460074G-C G C
+22 36460213 22:36460213C-T C T
+22 36460961 22:36460961G-C G C
+22 36462936 22:36462936C-T C T
+22 36463326 22:36463326A-C A C
+22 36464059 22:36464059T-C T C
+22 36465515 22:36465515G-A G A
+22 36467286 22:36467286C-T C T
+22 36467502 22:36467502A-C A C
+22 36470999 22:36470999A-G A G
+22 36471012 22:36471012G-A G A
+22 36472343 22:36472343T-C T C
+22 36473027 22:36473027G-A G A
+22 36473074 22:36473074C-G C G
+22 36473353 22:36473353A-C A C
+22 36473545 22:36473545A-G A G
+22 36473863 22:36473863G-A G A
+22 36473996 22:36473996C-T C T
+22 36474631 22:36474631C-T C T
+22 36475222 22:36475222T-C T C
+22 36475611 22:36475611T-G T G
+22 36475628 22:36475628G-A G A
+22 36475923 22:36475923T-C T C
+22 36475942 22:36475942C-G C G
+22 36476033 22:36476033T-A T A
+22 36476139 22:36476139T-C T C
+22 36476665 22:36476665A-G A G
+22 36476762 22:36476762G-A G A
+22 36477637 22:36477637C-T C T
+22 36477718 22:36477718T-C T C
+22 36477747 22:36477747C-T C T
+22 36478027 22:36478027C-T C T
+22 36478467 22:36478467C-T C T
+22 36478678 22:36478678T-C T C
+22 36478679 22:36478679G-A G A
+22 36478989 22:36478989T-C T C
+22 36479253 22:36479253G-A G A
+22 36479358 22:36479358T-C T C
+22 36479592 22:36479592A-G A G
+22 36479671 22:36479671A-G A G
+22 36479726 22:36479726T-A T A
+22 36479772 22:36479772C-G C G
+22 36480495 22:36480495A-T A T
+22 36480881 22:36480881C-T C T
+22 36481364 22:36481364A-G A G
+22 36489602 22:36489602T-G T G
+22 36489997 22:36489997T-C T C
+22 36490282 22:36490282A-G A G
+22 36490485 22:36490485A-G A G
+22 36490727 22:36490727C-A C A
+22 36491506 22:36491506G-A G A
+22 36492056 22:36492056G-A G A
+22 36492101 22:36492101C-T C T
+22 36492582 22:36492582A-C A C
+22 36493933 22:36493933A-T A T
+22 36494210 22:36494210T-G T G
+22 36494712 22:36494712C-T C T
+22 36494713 22:36494713G-C G C
+22 36494827 22:36494827A-G A G
+22 36495029 22:36495029A-G A G
+22 36496283 22:36496283G-C G C
+22 36497158 22:36497158T-C T C
+22 36497273 22:36497273A-C A C
+22 36497286 22:36497286C-T C T
+22 36497303 22:36497303A-G A G
+22 36497733 22:36497733C-T C T
+22 36498980 22:36498980C-T C T
+22 36500026 22:36500026C-T C T
+22 36500050 22:36500050C-T C T
+22 36500066 22:36500066T-C T C
+22 36500263 22:36500263C-T C T
+22 36500622 22:36500622C-T C T
+22 36500899 22:36500899C-T C T
+22 36501182 22:36501182G-A G A
+22 36501604 22:36501604G-A G A
+22 36501713 22:36501713C-T C T
+22 36501881 22:36501881C-T C T
+22 36502129 22:36502129T-C T C
+22 36502140 22:36502140A-G A G
+22 36502643 22:36502643G-A G A
+22 36502823 22:36502823T-G T G
+22 36503250 22:36503250G-T G T
+22 36503426 22:36503426G-T G T
+22 36503624 22:36503624G-C G C
+22 36504264 22:36504264T-C T C
+22 36504679 22:36504679A-G A G
+22 36505770 22:36505770C-T C T
+22 36505927 22:36505927C-T C T
+22 36506464 22:36506464G-A G A
+22 36507517 22:36507517G-C G C
+22 36508974 22:36508974C-T C T
+22 36509738 22:36509738T-C T C
+22 36509962 22:36509962G-A G A
+22 36510632 22:36510632A-C A C
+22 36511279 22:36511279G-A G A
+22 36511295 22:36511295C-A C A
+22 36511640 22:36511640A-T A T
+22 36511894 22:36511894T-C T C
+22 36512299 22:36512299A-G A G
+22 36512983 22:36512983T-C T C
+22 36513381 22:36513381G-C G C
+22 36513415 22:36513415G-A G A
+22 36513625 22:36513625C-T C T
+22 36513758 22:36513758C-G C G
+22 36514852 22:36514852C-G C G
+22 36515269 22:36515269C-T C T
+22 36515803 22:36515803G-A G A
+22 36516944 22:36516944A-C A C
+22 36517054 22:36517054C-T C T
+22 36517151 22:36517151C-T C T
+22 36517307 22:36517307T-C T C
+22 36517416 22:36517416A-G A G
+22 36517472 22:36517472C-A C A
+22 36517932 22:36517932C-T C T
+22 36517998 22:36517998C-T C T
+22 36518099 22:36518099T-C T C
+22 36518208 22:36518208T-C T C
+22 36518211 22:36518211G-C G C
+22 36518280 22:36518280A-T A T
+22 36518552 22:36518552A-G A G
+22 36518961 22:36518961G-A G A
+22 36519002 22:36519002C-T C T
+22 36519040 22:36519040C-T C T
+22 36519596 22:36519596C-A C A
+22 36519604 22:36519604T-C T C
+22 36519841 22:36519841G-T G T
+22 36520872 22:36520872G-C G C
+22 36521289 22:36521289A-G A G
+22 36523091 22:36523091C-T C T
+22 36523618 22:36523618C-A C A
+22 36523864 22:36523864A-C A C
+22 36523911 22:36523911G-A G A
+22 36523915 22:36523915G-A G A
+22 36523916 22:36523916C-T C T
+22 36524522 22:36524522T-C T C
+22 36524873 22:36524873A-G A G
+22 36524884 22:36524884A-G A G
+22 36525837 22:36525837G-A G A
+22 36525981 22:36525981T-G T G
+22 36526255 22:36526255C-G C G
+22 36527128 22:36527128C-T C T
+22 36527312 22:36527312G-C G C
+22 36527967 22:36527967A-G A G
+22 36528895 22:36528895C-T C T
+22 36530206 22:36530206T-A T A
+22 36530428 22:36530428G-A G A
+22 36530988 22:36530988C-T C T
+22 36531515 22:36531515C-T C T
+22 36531562 22:36531562C-T C T
+22 36532058 22:36532058G-A G A
+22 36532322 22:36532322C-G C G
+22 36532651 22:36532651C-T C T
+22 36533785 22:36533785C-T C T
+22 36533942 22:36533942G-A G A
+22 36537029 22:36537029C-T C T
+22 36537500 22:36537500A-T A T
+22 36537725 22:36537725G-A G A
+22 36537763 22:36537763C-T C T
+22 36537893 22:36537893A-G A G
+22 36539465 22:36539465T-C T C
+22 36539523 22:36539523G-A G A
+22 36539754 22:36539754G-T G T
+22 36539804 22:36539804A-G A G
+22 36539852 22:36539852G-A G A
+22 36540122 22:36540122T-C T C
+22 36540261 22:36540261C-A C A
+22 36540434 22:36540434C-T C T
+22 36540468 22:36540468C-T C T
+22 36540617 22:36540617T-G T G
+22 36540783 22:36540783C-T C T
+22 36540910 22:36540910A-T A T
+22 36541000 22:36541000G-A G A
+22 36541004 22:36541004G-A G A
+22 36541725 22:36541725G-T G T
+22 36541825 22:36541825C-T C T
+22 36542131 22:36542131C-A C A
+22 36542194 22:36542194A-C A C
+22 36542214 22:36542214G-A G A
+22 36542301 22:36542301T-C T C
+22 36542498 22:36542498T-G T G
+22 36542658 22:36542658A-C A C
+22 36542807 22:36542807A-G A G
+22 36542885 22:36542885T-G T G
+22 36543489 22:36543489G-C G C
+22 36543721 22:36543721G-C G C
+22 36543898 22:36543898A-T A T
+22 36544563 22:36544563A-G A G
+22 36544729 22:36544729A-G A G
+22 36544842 22:36544842G-A G A
+22 36545016 22:36545016C-G C G
+22 36545137 22:36545137A-T A T
+22 36545570 22:36545570T-C T C
+22 36545661 22:36545661C-T C T
+22 36545780 22:36545780C-T C T
+22 36545826 22:36545826T-C T C
+22 36546422 22:36546422T-G T G
+22 36548406 22:36548406G-A G A
+22 36548941 22:36548941G-C G C
+22 36550067 22:36550067T-C T C
+22 36550234 22:36550234T-C T C
+22 36550782 22:36550782T-C T C
+22 36551158 22:36551158T-C T C
+22 36551916 22:36551916C-T C T
+22 36552339 22:36552339C-T C T
+22 36552402 22:36552402T-C T C
+22 36553181 22:36553181A-G A G
+22 36554024 22:36554024G-A G A
+22 36554588 22:36554588C-T C T
+22 36554605 22:36554605T-A T A
+22 36554860 22:36554860G-A G A
+22 36555335 22:36555335G-A G A
+22 36555365 22:36555365A-C A C
+22 36555366 22:36555366A-T A T
+22 36555472 22:36555472C-G C G
+22 36555794 22:36555794C-T C T
+22 36556698 22:36556698C-T C T
+22 36556823 22:36556823G-T G T
+22 36556964 22:36556964C-T C T
+22 36557500 22:36557500C-T C T
+22 36557521 22:36557521G-A G A
+22 36557550 22:36557550C-T C T
+22 36557623 22:36557623T-C T C
+22 36557766 22:36557766C-T C T
+22 36557941 22:36557941G-A G A
+22 36559299 22:36559299A-G A G
+22 36559437 22:36559437C-T C T
+22 36562236 22:36562236G-T G T
+22 36562434 22:36562434A-G A G
+22 36562951 22:36562951G-A G A
+22 36562996 22:36562996G-A G A
+22 36563024 22:36563024A-T A T
+22 36563649 22:36563649T-G T G
+22 36564170 22:36564170G-A G A
+22 36565029 22:36565029G-A G A
+22 36565761 22:36565761G-A G A
+22 36567011 22:36567011C-T C T
+22 36567642 22:36567642G-A G A
+22 36567654 22:36567654G-A G A
+22 36567899 22:36567899G-A G A
+22 36569844 22:36569844A-G A G
+22 36569887 22:36569887G-A G A
+22 36570238 22:36570238G-A G A
+22 36570489 22:36570489A-G A G
+22 36570890 22:36570890A-G A G
+22 36570938 22:36570938C-T C T
+22 36571916 22:36571916C-T C T
+22 36572070 22:36572070C-T C T
+22 36572253 22:36572253C-A C A
+22 36572407 22:36572407T-C T C
+22 36572416 22:36572416G-A G A
+22 36572515 22:36572515G-A G A
+22 36573036 22:36573036A-T A T
+22 36573945 22:36573945A-G A G
+22 36574297 22:36574297A-G A G
+22 36574767 22:36574767A-G A G
+22 36574875 22:36574875G-A G A
+22 36575026 22:36575026C-T C T
+22 36575664 22:36575664G-A G A
+22 36576171 22:36576171C-T C T
+22 36576223 22:36576223G-A G A
+22 36576231 22:36576231G-C G C
+22 36576650 22:36576650A-G A G
+22 36576940 22:36576940G-A G A
+22 36577146 22:36577146G-A G A
+22 36578082 22:36578082C-A C A
+22 36578147 22:36578147G-C G C
+22 36578854 22:36578854G-A G A
+22 36579166 22:36579166T-C T C
+22 36579561 22:36579561A-G A G
+22 36580385 22:36580385A-G A G
+22 36580879 22:36580879G-A G A
+22 36580965 22:36580965G-C G C
+22 36581090 22:36581090T-C T C
+22 36581170 22:36581170A-G A G
+22 36581306 22:36581306G-A G A
+22 36581751 22:36581751G-A G A
+22 36582388 22:36582388T-C T C
+22 36582576 22:36582576A-G A G
+22 36582860 22:36582860G-A G A
+22 36582949 22:36582949C-A C A
+22 36583084 22:36583084T-C T C
+22 36584129 22:36584129G-A G A
+22 36584251 22:36584251T-G T G
+22 36584260 22:36584260A-T A T
+22 36584279 22:36584279G-A G A
+22 36584398 22:36584398C-G C G
+22 36584430 22:36584430T-C T C
+22 36584713 22:36584713A-G A G
+22 36585162 22:36585162T-C T C
+22 36585242 22:36585242A-G A G
+22 36585526 22:36585526C-T C T
+22 36585564 22:36585564T-C T C
+22 36585609 22:36585609C-A C A
+22 36585627 22:36585627T-G T G
+22 36585721 22:36585721T-G T G
+22 36585858 22:36585858C-T C T
+22 36586178 22:36586178G-A G A
+22 36586204 22:36586204C-T C T
+22 36586938 22:36586938C-A C A
+22 36587202 22:36587202G-A G A
+22 36587223 22:36587223G-T G T
+22 36587279 22:36587279A-G A G
+22 36587486 22:36587486A-G A G
+22 36587511 22:36587511C-T C T
+22 36587704 22:36587704T-C T C
+22 36587952 22:36587952C-T C T
+22 36588112 22:36588112C-T C T
+22 36588127 22:36588127T-C T C
+22 36588246 22:36588246C-T C T
+22 36588392 22:36588392A-T A T
+22 36588412 22:36588412C-T C T
+22 36589401 22:36589401T-C T C
+22 36589511 22:36589511A-C A C
+22 36589539 22:36589539A-G A G
+22 36589706 22:36589706G-A G A
+22 36589993 22:36589993G-A G A
+22 36590458 22:36590458C-T C T
+22 36590510 22:36590510T-C T C
+22 36590853 22:36590853C-T C T
+22 36590857 22:36590857G-A G A
+22 36590946 22:36590946C-T C T
+22 36591274 22:36591274T-C T C
+22 36591380 22:36591380A-G A G
+22 36592370 22:36592370C-T C T
+22 36592998 22:36592998T-C T C
+22 36593161 22:36593161T-C T C
+22 36593197 22:36593197G-C G C
+22 36593238 22:36593238A-T A T
+22 36593245 22:36593245A-G A G
+22 36593319 22:36593319C-T C T
+22 36593640 22:36593640A-T A T
+22 36594371 22:36594371A-C A C
+22 36595029 22:36595029G-A G A
+22 36595244 22:36595244A-G A G
+22 36595254 22:36595254G-A G A
+22 36595915 22:36595915G-A G A
+22 36595936 22:36595936C-T C T
+22 36596015 22:36596015G-T G T
+22 36596023 22:36596023T-C T C
+22 36596074 22:36596074C-T C T
+22 36596370 22:36596370G-A G A
+22 36596552 22:36596552G-A G A
+22 36596652 22:36596652C-T C T
+22 36596771 22:36596771A-G A G
+22 36597016 22:36597016T-G T G
+22 36597098 22:36597098A-G A G
+22 36597744 22:36597744A-C A C
+22 36597877 22:36597877G-A G A
+22 36597881 22:36597881G-T G T
+22 36598049 22:36598049C-G C G
+22 36598058 22:36598058T-C T C
+22 36598081 22:36598081A-T A T
+22 36598187 22:36598187G-C G C
+22 36598301 22:36598301C-T C T
+22 36598364 22:36598364T-C T C
+22 36598711 22:36598711G-A G A
+22 36599128 22:36599128G-A G A
+22 36599507 22:36599507A-G A G
+22 36599544 22:36599544A-G A G
+22 36599659 22:36599659A-G A G
+22 36599741 22:36599741A-G A G
+22 36600059 22:36600059G-A G A
+22 36600100 22:36600100C-T C T
+22 36600291 22:36600291G-A G A
+22 36600521 22:36600521G-A G A
+22 36600647 22:36600647A-G A G
+22 36600736 22:36600736A-G A G
+22 36600758 22:36600758A-T A T
+22 36600814 22:36600814A-G A G
+22 36600841 22:36600841A-G A G
+22 36600920 22:36600920G-A G A
+22 36601057 22:36601057C-T C T
+22 36601199 22:36601199C-T C T
+22 36601361 22:36601361G-A G A
+22 36601563 22:36601563C-T C T
+22 36601680 22:36601680C-A C A
+22 36601837 22:36601837G-A G A
+22 36601871 22:36601871A-G A G
+22 36601961 22:36601961G-A G A
+22 36602183 22:36602183G-T G T
+22 36602474 22:36602474A-C A C
+22 36602491 22:36602491T-C T C
+22 36602760 22:36602760A-C A C
+22 36602779 22:36602779G-T G T
+22 36602849 22:36602849A-T A T
+22 36603014 22:36603014A-C A C
+22 36603152 22:36603152C-G C G
+22 36603294 22:36603294G-A G A
+22 36603331 22:36603331C-T C T
+22 36604474 22:36604474C-G C G
+22 36604605 22:36604605T-C T C
+22 36605331 22:36605331C-T C T
+22 36605391 22:36605391C-T C T
+22 36605483 22:36605483C-T C T
+22 36605725 22:36605725A-G A G
+22 36606629 22:36606629C-T C T
+22 36607229 22:36607229T-A T A
+22 36608160 22:36608160C-T C T
+22 36608205 22:36608205A-G A G
+22 36608349 22:36608349C-T C T
+22 36608390 22:36608390G-A G A
+22 36609181 22:36609181C-T C T
+22 36609634 22:36609634G-A G A
+22 36609739 22:36609739C-T C T
+22 36609932 22:36609932G-A G A
+22 36610384 22:36610384A-T A T
+22 36610386 22:36610386A-G A G
+22 36610571 22:36610571C-T C T
+22 36611064 22:36611064C-T C T
+22 36611233 22:36611233T-C T C
+22 36611306 22:36611306C-T C T
+22 36611382 22:36611382T-C T C
+22 36611863 22:36611863G-A G A
+22 36612258 22:36612258C-G C G
+22 36612697 22:36612697C-T C T
+22 36612810 22:36612810A-G A G
+22 36612966 22:36612966A-G A G
+22 36613044 22:36613044T-C T C
+22 36613389 22:36613389A-G A G
+22 36613953 22:36613953G-A G A
+22 36614162 22:36614162T-C T C
+22 36614289 22:36614289G-A G A
+22 36614411 22:36614411C-T C T
+22 36614412 22:36614412G-A G A
+22 36615000 22:36615000C-A C A
+22 36615183 22:36615183T-C T C
+22 36615485 22:36615485G-A G A
+22 36615526 22:36615526G-C G C
+22 36615543 22:36615543T-C T C
+22 36616007 22:36616007C-A C A
+22 36616022 22:36616022C-T C T
+22 36616056 22:36616056C-T C T
+22 36616074 22:36616074T-C T C
+22 36616135 22:36616135A-C A C
+22 36616163 22:36616163G-T G T
+22 36616200 22:36616200G-A G A
+22 36616281 22:36616281C-T C T
+22 36616317 22:36616317G-T G T
+22 36616445 22:36616445T-C T C
+22 36616526 22:36616526T-C T C
+22 36616761 22:36616761C-T C T
+22 36616891 22:36616891A-G A G
+22 36617838 22:36617838T-C T C
+22 36617901 22:36617901C-T C T
+22 36617902 22:36617902C-G C G
+22 36617925 22:36617925C-T C T
+22 36617978 22:36617978A-G A G
+22 36618077 22:36618077A-C A C
+22 36618474 22:36618474C-T C T
+22 36619027 22:36619027C-T C T
+22 36619057 22:36619057G-A G A
+22 36619524 22:36619524C-G C G
+22 36619580 22:36619580G-C G C
+22 36619945 22:36619945G-A G A
+22 36620336 22:36620336C-G C G
+22 36620961 22:36620961A-G A G
+22 36621216 22:36621216C-T C T
+22 36621250 22:36621250C-T C T
+22 36621253 22:36621253C-T C T
+22 36621613 22:36621613A-C A C
+22 36621709 22:36621709T-C T C
+22 36622164 22:36622164A-G A G
+22 36622714 22:36622714G-C G C
+22 36622720 22:36622720G-A G A
+22 36622822 22:36622822G-T G T
+22 36622906 22:36622906T-C T C
+22 36623148 22:36623148T-C T C
+22 36623920 22:36623920G-A G A
+22 36624461 22:36624461T-A T A
+22 36624501 22:36624501G-C G C
+22 36625314 22:36625314T-A T A
+22 36625504 22:36625504C-T C T
+22 36625885 22:36625885T-C T C
+22 36626277 22:36626277C-T C T
+22 36626554 22:36626554G-T G T
+22 36626601 22:36626601A-G A G
+22 36626632 22:36626632T-C T C
+22 36626724 22:36626724T-G T G
+22 36626762 22:36626762T-C T C
+22 36626955 22:36626955A-G A G
+22 36627145 22:36627145T-A T A
+22 36627193 22:36627193C-T C T
+22 36628576 22:36628576A-G A G
+22 36628907 22:36628907T-C T C
+22 36628993 22:36628993C-T C T
+22 36629077 22:36629077G-A G A
+22 36629466 22:36629466T-A T A
+22 36629633 22:36629633A-C A C
+22 36630056 22:36630056C-T C T
+22 36630350 22:36630350C-A C A
+22 36630439 22:36630439G-A G A
+22 36630949 22:36630949C-T C T
+22 36630990 22:36630990C-T C T
+22 36631039 22:36631039T-C T C
+22 36631194 22:36631194G-A G A
+22 36631461 22:36631461A-G A G
+22 36631506 22:36631506A-T A T
+22 36631593 22:36631593A-G A G
+22 36631691 22:36631691G-A G A
+22 36631952 22:36631952T-G T G
+22 36632096 22:36632096G-A G A
+22 36632643 22:36632643T-G T G
+22 36632664 22:36632664G-A G A
+22 36633025 22:36633025C-T C T
+22 36633427 22:36633427G-T G T
+22 36633452 22:36633452C-A C A
+22 36633564 22:36633564T-C T C
+22 36633836 22:36633836A-C A C
+22 36633994 22:36633994C-T C T
+22 36634217 22:36634217T-C T C
+22 36634586 22:36634586A-C A C
+22 36634670 22:36634670G-C G C
+22 36635032 22:36635032T-C T C
+22 36635444 22:36635444A-G A G
+22 36635445 22:36635445A-G A G
+22 36635756 22:36635756G-A G A
+22 36635765 22:36635765T-G T G
+22 36635967 22:36635967A-G A G
+22 36636794 22:36636794G-A G A
+22 36638705 22:36638705C-T C T
+22 36639067 22:36639067C-T C T
+22 36639308 22:36639308C-T C T
+22 36639421 22:36639421G-A G A
+22 36639742 22:36639742C-T C T
+22 36639921 22:36639921C-G C G
+22 36639975 22:36639975G-A G A
+22 36640533 22:36640533C-A C A
+22 36640927 22:36640927G-T G T
+22 36641458 22:36641458G-A G A
+22 36641792 22:36641792G-A G A
+22 36642018 22:36642018T-A T A
+22 36642370 22:36642370G-A G A
+22 36643428 22:36643428G-C G C
+22 36643986 22:36643986A-T A T
+22 36644151 22:36644151G-A G A
+22 36644251 22:36644251G-A G A
+22 36644265 22:36644265G-A G A
+22 36644522 22:36644522C-T C T
+22 36644593 22:36644593G-C G C
+22 36644857 22:36644857C-T C T
+22 36645089 22:36645089A-T A T
+22 36646839 22:36646839C-T C T
+22 36646945 22:36646945C-T C T
+22 36646965 22:36646965C-A C A
+22 36647536 22:36647536C-T C T
+22 36647765 22:36647765A-T A T
+22 36647960 22:36647960T-C T C
+22 36648093 22:36648093G-T G T
+22 36648352 22:36648352A-C A C
+22 36648552 22:36648552A-G A G
+22 36648619 22:36648619C-G C G
+22 36648738 22:36648738C-T C T
+22 36649574 22:36649574G-A G A
+22 36649802 22:36649802C-T C T
+22 36649966 22:36649966C-T C T
+22 36650481 22:36650481T-C T C
+22 36650956 22:36650956G-A G A
+22 36651231 22:36651231T-G T G
+22 36651365 22:36651365A-G A G
+22 36652164 22:36652164T-C T C
+22 36652744 22:36652744C-G C G
+22 36652889 22:36652889G-T G T
+22 36652931 22:36652931C-T C T
+22 36653275 22:36653275G-A G A
+22 36653854 22:36653854C-T C T
+22 36653986 22:36653986C-A C A
+22 36654145 22:36654145T-A T A
+22 36655012 22:36655012A-G A G
+22 36655513 22:36655513C-T C T
+22 36656138 22:36656138A-T A T
+22 36656225 22:36656225G-A G A
+22 36656237 22:36656237G-A G A
+22 36657023 22:36657023T-C T C
+22 36657119 22:36657119C-G C G
+22 36657329 22:36657329T-C T C
+22 36657432 22:36657432G-C G C
+22 36657474 22:36657474A-G A G
+22 36657596 22:36657596A-G A G
+22 36657628 22:36657628T-G T G
+22 36657740 22:36657740G-A G A
+22 36657789 22:36657789T-C T C
+22 36658534 22:36658534C-T C T
+22 36658855 22:36658855T-C T C
+22 36658865 22:36658865T-G T G
+22 36659188 22:36659188G-T G T
+22 36659299 22:36659299A-C A C
+22 36659571 22:36659571G-A G A
+22 36660842 22:36660842G-A G A
+22 36660921 22:36660921C-T C T
+22 36661061 22:36661061A-G A G
+22 36661149 22:36661149A-G A G
+22 36661152 22:36661152G-A G A
+22 36661330 22:36661330G-A G A
+22 36661536 22:36661536C-A C A
+22 36661566 22:36661566G-A G A
+22 36661646 22:36661646G-A G A
+22 36661842 22:36661842G-A G A
+22 36662371 22:36662371T-G T G
+22 36662377 22:36662377T-C T C
+22 36662386 22:36662386T-C T C
+22 36662677 22:36662677T-C T C
+22 36662679 22:36662679T-C T C
+22 36663248 22:36663248A-G A G
+22 36663333 22:36663333G-A G A
+22 36663627 22:36663627C-T C T
+22 36664002 22:36664002G-A G A
+22 36664115 22:36664115C-T C T
+22 36664339 22:36664339A-G A G
+22 36664486 22:36664486T-C T C
+22 36664628 22:36664628C-T C T
+22 36665538 22:36665538C-T C T
+22 36665767 22:36665767G-A G A
+22 36666325 22:36666325T-C T C
+22 36668183 22:36668183G-A G A
+22 36668884 22:36668884T-C T C
+22 36669095 22:36669095C-T C T
+22 36669770 22:36669770T-A T A
+22 36670521 22:36670521A-G A G
+22 36670522 22:36670522A-G A G
+22 36670690 22:36670690C-T C T
+22 36672276 22:36672276A-C A C
+22 36672295 22:36672295T-C T C
+22 36672627 22:36672627G-A G A
+22 36672739 22:36672739C-T C T
+22 36673249 22:36673249C-T C T
+22 36675011 22:36675011A-G A G
+22 36675150 22:36675150A-G A G
+22 36675364 22:36675364A-G A G
+22 36676415 22:36676415G-A G A
+22 36677400 22:36677400G-A G A
+22 36677914 22:36677914A-G A G
+22 36677982 22:36677982G-A G A
+22 36678118 22:36678118C-T C T
+22 36678453 22:36678453C-G C G
+22 36678476 22:36678476C-A C A
+22 36679058 22:36679058T-C T C
+22 36679215 22:36679215C-G C G
+22 36679531 22:36679531C-T C T
+22 36679639 22:36679639T-C T C
+22 36679652 22:36679652T-A T A
+22 36683555 22:36683555C-T C T
+22 36684092 22:36684092T-C T C
+22 36684354 22:36684354T-C T C
+22 36684358 22:36684358C-A C A
+22 36690026 22:36690026G-C G C
+22 36690113 22:36690113G-A G A
+22 36691969 22:36691969G-A G A
+22 36693442 22:36693442G-A G A
+22 36693922 22:36693922C-T C T
+22 36693980 22:36693980T-A T A
+22 36694333 22:36694333G-A G A
+22 36699306 22:36699306G-A G A
+22 36702300 22:36702300C-T C T
+22 36705041 22:36705041C-T C T
+22 36705104 22:36705104G-A G A
+22 36705128 22:36705128C-T C T
+22 36705622 22:36705622G-A G A
+22 36705623 22:36705623T-C T C
+22 36705652 22:36705652G-A G A
+22 36706116 22:36706116A-G A G
+22 36706271 22:36706271T-C T C
+22 36706879 22:36706879C-A C A
+22 36707047 22:36707047C-A C A
+22 36707200 22:36707200G-C G C
+22 36707403 22:36707403T-A T A
+22 36707661 22:36707661A-G A G
+22 36707712 22:36707712G-A G A
+22 36707758 22:36707758G-C G C
+22 36707862 22:36707862G-A G A
+22 36707873 22:36707873C-T C T
+22 36707951 22:36707951T-C T C
+22 36708084 22:36708084C-T C T
+22 36708338 22:36708338A-G A G
+22 36708624 22:36708624T-C T C
+22 36708641 22:36708641A-C A C
+22 36708753 22:36708753A-G A G
+22 36708970 22:36708970G-A G A
+22 36709121 22:36709121A-G A G
+22 36709236 22:36709236C-T C T
+22 36709374 22:36709374G-A G A
+22 36709539 22:36709539G-A G A
+22 36709571 22:36709571T-C T C
+22 36710045 22:36710045C-T C T
+22 36710047 22:36710047T-C T C
+22 36710056 22:36710056A-G A G
+22 36710183 22:36710183T-C T C
+22 36710519 22:36710519C-A C A
+22 36710541 22:36710541A-G A G
+22 36710692 22:36710692T-A T A
+22 36710718 22:36710718G-C G C
+22 36711032 22:36711032T-C T C
+22 36711362 22:36711362A-G A G
+22 36711478 22:36711478T-C T C
+22 36711806 22:36711806C-T C T
+22 36711990 22:36711990C-G C G
+22 36712025 22:36712025G-A G A
+22 36712267 22:36712267C-T C T
+22 36712268 22:36712268G-A G A
+22 36712306 22:36712306T-C T C
+22 36712387 22:36712387A-G A G
+22 36712810 22:36712810C-G C G
+22 36712903 22:36712903G-C G C
+22 36712963 22:36712963A-G A G
+22 36713531 22:36713531T-C T C
+22 36713754 22:36713754A-G A G
+22 36714659 22:36714659G-A G A
+22 36715274 22:36715274A-G A G
+22 36716029 22:36716029T-C T C
+22 36718039 22:36718039G-A G A
+22 36718351 22:36718351G-A G A
+22 36718858 22:36718858G-A G A
+22 36719012 22:36719012G-A G A
+22 36720424 22:36720424C-T C T
+22 36720569 22:36720569C-T C T
+22 36720779 22:36720779C-T C T
+22 36722490 22:36722490C-A C A
+22 36723697 22:36723697T-G T G
+22 36725831 22:36725831A-G A G
+22 36727551 22:36727551G-T G T
+22 36728152 22:36728152C-A C A
+22 36728256 22:36728256A-G A G
+22 36728692 22:36728692A-G A G
+22 36729074 22:36729074A-G A G
+22 36730947 22:36730947T-G T G
+22 36732537 22:36732537C-T C T
+22 36733938 22:36733938A-G A G
+22 36734603 22:36734603A-G A G
+22 36734611 22:36734611T-A T A
+22 36736472 22:36736472G-A G A
+22 36736649 22:36736649T-A T A
+22 36741740 22:36741740G-C G C
+22 36743516 22:36743516G-A G A
+22 36743695 22:36743695G-A G A
+22 36746079 22:36746079G-A G A
+22 36751101 22:36751101C-A C A
+22 36754074 22:36754074C-T C T
+22 36754161 22:36754161A-G A G
+22 36754203 22:36754203C-G C G
+22 36754263 22:36754263C-T C T
+22 36755498 22:36755498A-G A G
+22 36756485 22:36756485A-G A G
+22 36757202 22:36757202C-T C T
+22 36757328 22:36757328A-G A G
+22 36758258 22:36758258G-A G A
+22 36758547 22:36758547A-G A G
+22 36758597 22:36758597A-G A G
+22 36758849 22:36758849A-T A T
+22 36759026 22:36759026C-T C T
+22 36759815 22:36759815A-G A G
+22 36760838 22:36760838G-A G A
+22 36762488 22:36762488A-G A G
+22 36762634 22:36762634T-C T C
+22 36763483 22:36763483T-C T C
+22 36764003 22:36764003G-C G C
+22 36764533 22:36764533G-T G T
+22 36764534 22:36764534T-C T C
+22 36764788 22:36764788A-G A G
+22 36766003 22:36766003T-C T C
+22 36766481 22:36766481A-G A G
+22 36767359 22:36767359C-T C T
+22 36768595 22:36768595A-G A G
+22 36768932 22:36768932G-T G T
+22 36769402 22:36769402T-G T G
+22 36769685 22:36769685G-A G A
+22 36770038 22:36770038A-G A G
+22 36770918 22:36770918C-A C A
+22 36771232 22:36771232T-C T C
+22 36771256 22:36771256G-C G C
+22 36771893 22:36771893G-C G C
+22 36772774 22:36772774A-G A G
+22 36774449 22:36774449G-A G A
+22 36774812 22:36774812T-C T C
+22 36774904 22:36774904C-T C T
+22 36775751 22:36775751A-G A G
+22 36775885 22:36775885G-C G C
+22 36776501 22:36776501G-A G A
+22 36777739 22:36777739G-A G A
+22 36777803 22:36777803C-T C T
+22 36778349 22:36778349A-G A G
+22 36778451 22:36778451C-T C T
+22 36778754 22:36778754A-G A G
+22 36778855 22:36778855G-T G T
+22 36778929 22:36778929A-T A T
+22 36778943 22:36778943T-C T C
+22 36780294 22:36780294C-T C T
+22 36780788 22:36780788A-G A G
+22 36781217 22:36781217C-T C T
+22 36781568 22:36781568G-A G A
+22 36781571 22:36781571A-G A G
+22 36781666 22:36781666T-C T C
+22 36782438 22:36782438T-C T C
+22 36782580 22:36782580G-A G A
+22 36782772 22:36782772C-G C G
+22 36783638 22:36783638T-C T C
+22 36784449 22:36784449G-A G A
+22 36785297 22:36785297C-T C T
+22 36786966 22:36786966T-C T C
+22 36787160 22:36787160G-A G A
+22 36787930 22:36787930A-G A G
+22 36788350 22:36788350C-G C G
+22 36788357 22:36788357C-G C G
+22 36789003 22:36789003A-G A G
+22 36789283 22:36789283T-A T A
+22 36790234 22:36790234A-G A G
+22 36790241 22:36790241A-G A G
+22 36790462 22:36790462A-G A G
+22 36790500 22:36790500T-C T C
+22 36790670 22:36790670T-C T C
+22 36790715 22:36790715T-C T C
+22 36790731 22:36790731C-T C T
+22 36791144 22:36791144T-A T A
+22 36791264 22:36791264C-G C G
+22 36791548 22:36791548G-C G C
+22 36791616 22:36791616G-A G A
+22 36791625 22:36791625C-T C T
+22 36791638 22:36791638A-G A G
+22 36791833 22:36791833C-T C T
+22 36792162 22:36792162G-A G A
+22 36792307 22:36792307G-C G C
+22 36793227 22:36793227G-A G A
+22 36793417 22:36793417G-A G A
+22 36794184 22:36794184G-A G A
+22 36794395 22:36794395G-C G C
+22 36794479 22:36794479C-A C A
+22 36794567 22:36794567A-G A G
+22 36794710 22:36794710G-A G A
+22 36794720 22:36794720G-A G A
+22 36795098 22:36795098C-A C A
+22 36795584 22:36795584T-C T C
+22 36796004 22:36796004G-A G A
+22 36796355 22:36796355T-C T C
+22 36796613 22:36796613T-C T C
+22 36796756 22:36796756C-T C T
+22 36796897 22:36796897A-G A G
+22 36797147 22:36797147C-T C T
+22 36797603 22:36797603G-C G C
+22 36798433 22:36798433C-T C T
+22 36799406 22:36799406G-T G T
+22 36799548 22:36799548T-A T A
+22 36799954 22:36799954A-G A G
+22 36800016 22:36800016G-A G A
+22 36800039 22:36800039A-G A G
+22 36800611 22:36800611C-T C T
+22 36800874 22:36800874T-C T C
+22 36800957 22:36800957A-C A C
+22 36801047 22:36801047A-C A C
+22 36801091 22:36801091T-C T C
+22 36801481 22:36801481G-C G C
+22 36801491 22:36801491C-G C G
+22 36802389 22:36802389C-T C T
+22 36802547 22:36802547T-C T C
+22 36802555 22:36802555G-T G T
+22 36802663 22:36802663T-A T A
+22 36802816 22:36802816T-C T C
+22 36802907 22:36802907C-T C T
+22 36802932 22:36802932C-A C A
+22 36803097 22:36803097C-G C G
+22 36803192 22:36803192A-G A G
+22 36803418 22:36803418A-G A G
+22 36803750 22:36803750A-T A T
+22 36803933 22:36803933G-A G A
+22 36804036 22:36804036A-G A G
+22 36804100 22:36804100G-A G A
+22 36804234 22:36804234G-A G A
+22 36804267 22:36804267T-C T C
+22 36804282 22:36804282A-G A G
+22 36804484 22:36804484C-T C T
+22 36804552 22:36804552C-A C A
+22 36804771 22:36804771A-G A G
+22 36804900 22:36804900A-G A G
+22 36805182 22:36805182C-G C G
+22 36805220 22:36805220T-C T C
+22 36805721 22:36805721G-A G A
+22 36806251 22:36806251A-C A C
+22 36806302 22:36806302T-A T A
+22 36807441 22:36807441G-T G T
+22 36807762 22:36807762C-T C T
+22 36808227 22:36808227T-C T C
+22 36810269 22:36810269T-C T C
+22 36811503 22:36811503T-C T C
+22 36812093 22:36812093A-G A G
+22 36812789 22:36812789G-A G A
+22 36812877 22:36812877T-C T C
+22 36813079 22:36813079C-T C T
+22 36813201 22:36813201T-C T C
+22 36813658 22:36813658C-T C T
+22 36813803 22:36813803G-T G T
+22 36813874 22:36813874T-G T G
+22 36813941 22:36813941A-C A C
+22 36815338 22:36815338G-C G C
+22 36815482 22:36815482T-G T G
+22 36815565 22:36815565G-A G A
+22 36815570 22:36815570G-A G A
+22 36815637 22:36815637A-G A G
+22 36815786 22:36815786G-A G A
+22 36815906 22:36815906T-A T A
+22 36816175 22:36816175A-G A G
+22 36816589 22:36816589A-G A G
+22 36817068 22:36817068A-T A T
+22 36817417 22:36817417G-A G A
+22 36817446 22:36817446T-C T C
+22 36817501 22:36817501G-T G T
+22 36817548 22:36817548C-A C A
+22 36818126 22:36818126G-A G A
+22 36818224 22:36818224T-C T C
+22 36818237 22:36818237G-T G T
+22 36818381 22:36818381A-G A G
+22 36818512 22:36818512T-C T C
+22 36818518 22:36818518G-A G A
+22 36818662 22:36818662C-A C A
+22 36819273 22:36819273C-T C T
+22 36820029 22:36820029T-C T C
+22 36820117 22:36820117A-G A G
+22 36820394 22:36820394C-G C G
+22 36820591 22:36820591C-G C G
+22 36820656 22:36820656T-G T G
+22 36820698 22:36820698T-C T C
+22 36820722 22:36820722T-G T G
+22 36821870 22:36821870C-T C T
+22 36821902 22:36821902G-T G T
+22 36823284 22:36823284C-G C G
+22 36823436 22:36823436A-G A G
+22 36823863 22:36823863T-C T C
+22 36824656 22:36824656C-T C T
+22 36825000 22:36825000T-C T C
+22 36826025 22:36826025C-T C T
+22 36826464 22:36826464G-T G T
+22 36826722 22:36826722A-G A G
+22 36827094 22:36827094C-T C T
+22 36827368 22:36827368C-T C T
+22 36827493 22:36827493G-A G A
+22 36827582 22:36827582T-A T A
+22 36828315 22:36828315G-A G A
+22 36828484 22:36828484G-A G A
+22 36828916 22:36828916C-T C T
+22 36829002 22:36829002C-T C T
+22 36829104 22:36829104G-A G A
+22 36829240 22:36829240C-T C T
+22 36829606 22:36829606A-G A G
+22 36829945 22:36829945G-A G A
+22 36829999 22:36829999G-A G A
+22 36830341 22:36830341C-T C T
+22 36830366 22:36830366C-T C T
+22 36830416 22:36830416C-T C T
+22 36830474 22:36830474T-C T C
+22 36830842 22:36830842G-C G C
+22 36831036 22:36831036G-A G A
+22 36831608 22:36831608A-G A G
+22 36831704 22:36831704T-C T C
+22 36831773 22:36831773T-G T G
+22 36831881 22:36831881G-A G A
+22 36831985 22:36831985C-T C T
+22 36832027 22:36832027T-C T C
+22 36832719 22:36832719T-C T C
+22 36833168 22:36833168T-C T C
+22 36833226 22:36833226A-G A G
+22 36833254 22:36833254T-C T C
+22 36833284 22:36833284G-T G T
+22 36833384 22:36833384T-C T C
+22 36833459 22:36833459A-G A G
+22 36833819 22:36833819T-C T C
+22 36833896 22:36833896A-G A G
+22 36835375 22:36835375G-A G A
+22 36837065 22:36837065A-G A G
+22 36837247 22:36837247G-A G A
+22 36837260 22:36837260G-A G A
+22 36837771 22:36837771T-C T C
+22 36839491 22:36839491T-C T C
+22 36840339 22:36840339A-G A G
+22 36840508 22:36840508G-A G A
+22 36844291 22:36844291C-A C A
+22 36844311 22:36844311C-T C T
+22 36844619 22:36844619C-A C A
+22 36844853 22:36844853A-G A G
+22 36845856 22:36845856G-C G C
+22 36846093 22:36846093C-T C T
+22 36846603 22:36846603A-C A C
+22 36846664 22:36846664T-C T C
+22 36848179 22:36848179A-G A G
+22 36848411 22:36848411G-A G A
+22 36848527 22:36848527T-C T C
+22 36849352 22:36849352G-A G A
+22 36849915 22:36849915T-C T C
+22 36850738 22:36850738A-G A G
+22 36851152 22:36851152G-A G A
+22 36851207 22:36851207C-T C T
+22 36852003 22:36852003G-T G T
+22 36852257 22:36852257A-T A T
+22 36852690 22:36852690C-T C T
+22 36852807 22:36852807C-T C T
+22 36853963 22:36853963G-A G A
+22 36854843 22:36854843G-A G A
+22 36855147 22:36855147C-A C A
+22 36855161 22:36855161C-A C A
+22 36855354 22:36855354T-C T C
+22 36855409 22:36855409T-C T C
+22 36855454 22:36855454G-A G A
+22 36855526 22:36855526T-C T C
+22 36855891 22:36855891T-C T C
+22 36856042 22:36856042T-C T C
+22 36856104 22:36856104A-C A C
+22 36856222 22:36856222G-A G A
+22 36856503 22:36856503T-C T C
+22 36856588 22:36856588C-T C T
+22 36856641 22:36856641C-T C T
+22 36856728 22:36856728C-T C T
+22 36856808 22:36856808T-C T C
+22 36856982 22:36856982C-T C T
+22 36857128 22:36857128A-G A G
+22 36857198 22:36857198T-C T C
+22 36857213 22:36857213C-T C T
+22 36857291 22:36857291G-A G A
+22 36857574 22:36857574C-T C T
+22 36857641 22:36857641T-G T G
+22 36858174 22:36858174A-G A G
+22 36858236 22:36858236C-G C G
+22 36858290 22:36858290A-T A T
+22 36858477 22:36858477T-G T G
+22 36858510 22:36858510A-G A G
+22 36858629 22:36858629A-G A G
+22 36859051 22:36859051A-G A G
+22 36859097 22:36859097T-C T C
+22 36859105 22:36859105C-G C G
+22 36859342 22:36859342A-T A T
+22 36859415 22:36859415T-C T C
+22 36859948 22:36859948A-G A G
+22 36860168 22:36860168G-T G T
+22 36860270 22:36860270C-T C T
+22 36860530 22:36860530G-A G A
+22 36860610 22:36860610T-G T G
+22 36860665 22:36860665A-G A G
+22 36861320 22:36861320C-T C T
+22 36861712 22:36861712G-A G A
+22 36862099 22:36862099G-A G A
+22 36862501 22:36862501T-C T C
+22 36863375 22:36863375C-A C A
+22 36864480 22:36864480T-G T G
+22 36864687 22:36864687G-A G A
+22 36865152 22:36865152C-T C T
+22 36865219 22:36865219C-A C A
+22 36865385 22:36865385A-G A G
+22 36865604 22:36865604T-C T C
+22 36865613 22:36865613T-C T C
+22 36865622 22:36865622C-T C T
+22 36865644 22:36865644T-C T C
+22 36866142 22:36866142C-T C T
+22 36866277 22:36866277C-T C T
+22 36866320 22:36866320C-T C T
+22 36866409 22:36866409G-A G A
+22 36866707 22:36866707C-G C G
+22 36866731 22:36866731C-A C A
+22 36867096 22:36867096C-T C T
+22 36867464 22:36867464C-T C T
+22 36867736 22:36867736A-C A C
+22 36867831 22:36867831T-C T C
+22 36867889 22:36867889C-T C T
+22 36867939 22:36867939T-C T C
+22 36868260 22:36868260G-C G C
+22 36868319 22:36868319C-G C G
+22 36868566 22:36868566C-G C G
+22 36868635 22:36868635C-T C T
+22 36868888 22:36868888T-C T C
+22 36868904 22:36868904C-T C T
+22 36869013 22:36869013C-T C T
+22 36869039 22:36869039T-C T C
+22 36869351 22:36869351G-T G T
+22 36869927 22:36869927G-A G A
+22 36870330 22:36870330T-C T C
+22 36870471 22:36870471T-C T C
+22 36870582 22:36870582C-T C T
+22 36870619 22:36870619C-T C T
+22 36870843 22:36870843T-G T G
+22 36870845 22:36870845A-C A C
+22 36872114 22:36872114A-G A G
+22 36872521 22:36872521C-G C G
+22 36872750 22:36872750T-G T G
+22 36873285 22:36873285C-G C G
+22 36873497 22:36873497C-T C T
+22 36873911 22:36873911C-T C T
+22 36874223 22:36874223C-T C T
+22 36874599 22:36874599C-T C T
+22 36874952 22:36874952C-T C T
+22 36874956 22:36874956A-G A G
+22 36877058 22:36877058A-G A G
+22 36877459 22:36877459A-G A G
+22 36878042 22:36878042T-A T A
+22 36878160 22:36878160G-T G T
+22 36878566 22:36878566A-G A G
+22 36879429 22:36879429G-C G C
+22 36879446 22:36879446C-T C T
+22 36879634 22:36879634C-T C T
+22 36881570 22:36881570T-C T C
+22 36882194 22:36882194G-T G T
+22 36883074 22:36883074C-T C T
+22 36884175 22:36884175A-T A T
+22 36885026 22:36885026C-T C T
+22 36885159 22:36885159A-C A C
+22 36885599 22:36885599A-G A G
+22 36885652 22:36885652T-C T C
+22 36886377 22:36886377G-A G A
+22 36886774 22:36886774T-A T A
+22 36886952 22:36886952G-C G C
+22 36887072 22:36887072A-G A G
+22 36887140 22:36887140C-T C T
+22 36887689 22:36887689C-T C T
+22 36888066 22:36888066C-T C T
+22 36888646 22:36888646G-A G A
+22 36888816 22:36888816C-T C T
+22 36889930 22:36889930A-G A G
+22 36890105 22:36890105G-A G A
+22 36890342 22:36890342T-C T C
+22 36890353 22:36890353T-C T C
+22 36890520 22:36890520C-T C T
+22 36890582 22:36890582T-C T C
+22 36890615 22:36890615C-T C T
+22 36890964 22:36890964G-A G A
+22 36890979 22:36890979C-T C T
+22 36891248 22:36891248C-T C T
+22 36891786 22:36891786G-C G C
+22 36891858 22:36891858C-A C A
+22 36892481 22:36892481G-C G C
+22 36892639 22:36892639G-A G A
+22 36892698 22:36892698T-G T G
+22 36892727 22:36892727A-G A G
+22 36893251 22:36893251G-A G A
+22 36893635 22:36893635A-C A C
+22 36894283 22:36894283T-C T C
+22 36894622 22:36894622A-G A G
+22 36894653 22:36894653C-A C A
+22 36894798 22:36894798C-A C A
+22 36895146 22:36895146T-C T C
+22 36895516 22:36895516C-T C T
+22 36895621 22:36895621C-T C T
+22 36895974 22:36895974G-A G A
+22 36896529 22:36896529A-G A G
+22 36897261 22:36897261C-G C G
+22 36897427 22:36897427T-C T C
+22 36897697 22:36897697C-A C A
+22 36898674 22:36898674T-C T C
+22 36899138 22:36899138T-C T C
+22 36900271 22:36900271T-C T C
+22 36900806 22:36900806A-G A G
+22 36901145 22:36901145G-C G C
+22 36901622 22:36901622C-A C A
+22 36902746 22:36902746G-C G C
+22 36902757 22:36902757C-A C A
+22 36902863 22:36902863G-A G A
+22 36903046 22:36903046A-G A G
+22 36903096 22:36903096C-T C T
+22 36903249 22:36903249T-G T G
+22 36905571 22:36905571G-A G A
+22 36905776 22:36905776G-A G A
+22 36905950 22:36905950C-T C T
+22 36906173 22:36906173G-A G A
+22 36906657 22:36906657C-T C T
+22 36907098 22:36907098T-C T C
+22 36911298 22:36911298G-A G A
+22 36912724 22:36912724C-T C T
+22 36914010 22:36914010G-A G A
+22 36914166 22:36914166A-T A T
+22 36916156 22:36916156G-C G C
+22 36917682 22:36917682A-G A G
+22 36918768 22:36918768C-G C G
+22 36919447 22:36919447C-T C T
+22 36919742 22:36919742G-C G C
+22 36920062 22:36920062T-C T C
+22 36922723 22:36922723T-C T C
+22 36922743 22:36922743C-A C A
+22 36922765 22:36922765T-G T G
+22 36922798 22:36922798G-A G A
+22 36922822 22:36922822G-C G C
+22 36923158 22:36923158G-A G A
+22 36923379 22:36923379G-A G A
+22 36923400 22:36923400C-T C T
+22 36923480 22:36923480G-C G C
+22 36923499 22:36923499G-A G A
+22 36923591 22:36923591C-T C T
+22 36923861 22:36923861C-T C T
+22 36923872 22:36923872T-C T C
+22 36924060 22:36924060G-A G A
+22 36924155 22:36924155C-A C A
+22 36924174 22:36924174A-C A C
+22 36924239 22:36924239G-A G A
+22 36924275 22:36924275T-A T A
+22 36924327 22:36924327A-G A G
+22 36924442 22:36924442A-G A G
+22 36924714 22:36924714A-G A G
+22 36924776 22:36924776C-T C T
+22 36925598 22:36925598A-G A G
+22 36925738 22:36925738A-C A C
+22 36926198 22:36926198C-T C T
+22 36926263 22:36926263C-T C T
+22 36926306 22:36926306C-T C T
+22 36926360 22:36926360T-C T C
+22 36926462 22:36926462C-T C T
+22 36926616 22:36926616A-G A G
+22 36926927 22:36926927C-A C A
+22 36927114 22:36927114G-A G A
+22 36927202 22:36927202G-A G A
+22 36927225 22:36927225A-G A G
+22 36927420 22:36927420G-A G A
+22 36927443 22:36927443G-A G A
+22 36927616 22:36927616C-T C T
+22 36927645 22:36927645G-A G A
+22 36927726 22:36927726C-G C G
+22 36927893 22:36927893A-G A G
+22 36927959 22:36927959G-C G C
+22 36928457 22:36928457G-A G A
+22 36928554 22:36928554C-A C A
+22 36928777 22:36928777C-T C T
+22 36929092 22:36929092C-A C A
+22 36929350 22:36929350G-A G A
+22 36929582 22:36929582G-A G A
+22 36929875 22:36929875G-A G A
+22 36930023 22:36930023A-C A C
+22 36930447 22:36930447G-C G C
+22 36931765 22:36931765G-T G T
+22 36933283 22:36933283T-C T C
+22 36933668 22:36933668G-A G A
+22 36933960 22:36933960C-A C A
+22 36934015 22:36934015C-T C T
+22 36934120 22:36934120G-C G C
+22 36934377 22:36934377T-A T A
+22 36934397 22:36934397G-A G A
+22 36934519 22:36934519G-A G A
+22 36934798 22:36934798G-A G A
+22 36934821 22:36934821G-A G A
+22 36935372 22:36935372G-T G T
+22 36935796 22:36935796C-T C T
+22 36936146 22:36936146G-A G A
+22 36937543 22:36937543C-A C A
+22 36937659 22:36937659C-G C G
+22 36938127 22:36938127A-G A G
+22 36938507 22:36938507T-C T C
+22 36938693 22:36938693G-A G A
+22 36939269 22:36939269T-A T A
+22 36939387 22:36939387C-T C T
+22 36939421 22:36939421C-G C G
+22 36940463 22:36940463G-A G A
+22 36941065 22:36941065G-A G A
+22 36941780 22:36941780T-G T G
+22 36942323 22:36942323G-A G A
+22 36943544 22:36943544A-G A G
+22 36944165 22:36944165T-C T C
+22 36944356 22:36944356C-G C G
+22 36945022 22:36945022G-A G A
+22 36945289 22:36945289C-T C T
+22 36955687 22:36955687G-A G A
+22 36959739 22:36959739A-C A C
+22 36959936 22:36959936G-C G C
+22 36962353 22:36962353C-G C G
+22 36963533 22:36963533C-T C T
+22 36963887 22:36963887T-G T G
+22 36963919 22:36963919C-A C A
+22 36964043 22:36964043T-G T G
+22 36964359 22:36964359T-C T C
+22 36965284 22:36965284T-C T C
+22 36965492 22:36965492C-G C G
+22 36966209 22:36966209C-T C T
+22 36966242 22:36966242G-T G T
+22 36966724 22:36966724A-C A C
+22 36967325 22:36967325G-A G A
+22 36967839 22:36967839G-A G A
+22 36967874 22:36967874G-A G A
+22 36969599 22:36969599G-A G A
+22 36969683 22:36969683T-G T G
+22 36969932 22:36969932G-A G A
+22 36970287 22:36970287T-C T C
+22 36970912 22:36970912C-T C T
+22 36971549 22:36971549G-A G A
+22 36971957 22:36971957A-C A C
+22 36972156 22:36972156G-T G T
+22 36972188 22:36972188T-C T C
+22 36972401 22:36972401A-C A C
+22 36973659 22:36973659C-T C T
+22 36973662 22:36973662G-A G A
+22 36973758 22:36973758C-T C T
+22 36974153 22:36974153C-A C A
+22 36974532 22:36974532G-A G A
+22 36976510 22:36976510G-T G T
+22 36976975 22:36976975T-C T C
+22 36978019 22:36978019T-G T G
+22 36978190 22:36978190C-T C T
+22 36978260 22:36978260G-T G T
+22 36978529 22:36978529T-C T C
+22 36978740 22:36978740G-A G A
+22 36979780 22:36979780C-G C G
+22 36980102 22:36980102G-A G A
+22 36980137 22:36980137C-T C T
+22 36980951 22:36980951C-T C T
+22 36981256 22:36981256T-C T C
+22 36982675 22:36982675G-A G A
+22 36983404 22:36983404C-G C G
+22 36983428 22:36983428G-A G A
+22 36983961 22:36983961A-G A G
+22 36984197 22:36984197G-A G A
+22 36984307 22:36984307C-T C T
+22 36985194 22:36985194T-C T C
+22 36985354 22:36985354A-G A G
+22 36985499 22:36985499C-T C T
+22 36986092 22:36986092T-C T C
+22 36986227 22:36986227C-T C T
+22 36986676 22:36986676C-T C T
+22 36987114 22:36987114T-C T C
+22 36987289 22:36987289T-C T C
+22 36987322 22:36987322T-C T C
+22 36987368 22:36987368G-A G A
+22 36987861 22:36987861A-G A G
+22 36988118 22:36988118A-G A G
+22 36988252 22:36988252T-A T A
+22 36988584 22:36988584G-A G A
+22 36988654 22:36988654A-G A G
+22 36989327 22:36989327T-G T G
+22 36989406 22:36989406A-G A G
+22 36992487 22:36992487G-C G C
+22 36993088 22:36993088G-C G C
+22 36994063 22:36994063C-T C T
+22 36995620 22:36995620A-G A G
+22 36997871 22:36997871G-T G T
+22 36998419 22:36998419A-T A T
+22 36998907 22:36998907C-T C T
+22 36999496 22:36999496A-G A G
+22 36999514 22:36999514T-G T G
+22 37000013 22:37000013A-G A G
+22 37000661 22:37000661T-G T G
+22 37000779 22:37000779C-T C T
+22 37001495 22:37001495T-G T G
+22 37001575 22:37001575C-T C T
+22 37001576 22:37001576A-G A G
+22 37004171 22:37004171C-T C T
+22 37006131 22:37006131A-C A C
+22 37006317 22:37006317T-C T C
+22 37006344 22:37006344G-C G C
+22 37006405 22:37006405G-T G T
+22 37006411 22:37006411C-T C T
+22 37007470 22:37007470T-C T C
+22 37008330 22:37008330C-T C T
+22 37008487 22:37008487T-C T C
+22 37008928 22:37008928A-G A G
+22 37010990 22:37010990C-T C T
+22 37011559 22:37011559C-T C T
+22 37011648 22:37011648G-A G A
+22 37012219 22:37012219A-T A T
+22 37012281 22:37012281T-G T G
+22 37012300 22:37012300A-G A G
+22 37012321 22:37012321A-G A G
+22 37012574 22:37012574T-C T C
+22 37012618 22:37012618T-G T G
+22 37012953 22:37012953A-G A G
+22 37013167 22:37013167C-G C G
+22 37013380 22:37013380T-C T C
+22 37013393 22:37013393A-G A G
+22 37013455 22:37013455G-A G A
+22 37013609 22:37013609A-G A G
+22 37013694 22:37013694A-C A C
+22 37013819 22:37013819C-T C T
+22 37014498 22:37014498C-T C T
+22 37014697 22:37014697G-A G A
+22 37014742 22:37014742C-A C A
+22 37014763 22:37014763T-C T C
+22 37014825 22:37014825G-C G C
+22 37015183 22:37015183G-T G T
+22 37015194 22:37015194G-A G A
+22 37015271 22:37015271A-T A T
+22 37015329 22:37015329G-A G A
+22 37015518 22:37015518A-G A G
+22 37015800 22:37015800C-T C T
+22 37015916 22:37015916A-G A G
+22 37016262 22:37016262G-A G A
+22 37016614 22:37016614C-T C T
+22 37017153 22:37017153T-A T A
+22 37017368 22:37017368T-C T C
+22 37017683 22:37017683G-C G C
+22 37017791 22:37017791G-C G C
+22 37017890 22:37017890C-T C T
+22 37017953 22:37017953A-G A G
+22 37017982 22:37017982T-C T C
+22 37018834 22:37018834C-T C T
+22 37018862 22:37018862T-C T C
+22 37019059 22:37019059G-A G A
+22 37019918 22:37019918A-G A G
+22 37020141 22:37020141C-T C T
+22 37021215 22:37021215G-A G A
+22 37021398 22:37021398G-A G A
+22 37021537 22:37021537G-A G A
+22 37021795 22:37021795G-A G A
+22 37022486 22:37022486G-C G C
+22 37022532 22:37022532G-A G A
+22 37022732 22:37022732T-A T A
+22 37023096 22:37023096A-C A C
+22 37024493 22:37024493G-C G C
+22 37024501 22:37024501G-A G A
+22 37024953 22:37024953C-G C G
+22 37025274 22:37025274A-C A C
+22 37025592 22:37025592A-T A T
+22 37025819 22:37025819G-A G A
+22 37026995 22:37026995G-A G A
+22 37027467 22:37027467A-G A G
+22 37027680 22:37027680C-T C T
+22 37029920 22:37029920G-A G A
+22 37033264 22:37033264T-G T G
+22 37046761 22:37046761G-C G C
+22 37049384 22:37049384G-C G C
+22 37050675 22:37050675C-G C G
+22 37053338 22:37053338C-G C G
+22 37053469 22:37053469T-C T C
+22 37059353 22:37059353T-C T C
+22 37059389 22:37059389G-T G T
+22 37060354 22:37060354T-C T C
+22 37060652 22:37060652G-C G C
+22 37061215 22:37061215C-A C A
+22 37061397 22:37061397C-G C G
+22 37061696 22:37061696C-A C A
+22 37061752 22:37061752G-A G A
+22 37062212 22:37062212G-C G C
+22 37062448 22:37062448C-G C G
+22 37062530 22:37062530G-C G C
+22 37062819 22:37062819T-C T C
+22 37062941 22:37062941G-C G C
+22 37063016 22:37063016T-C T C
+22 37063951 22:37063951G-A G A
+22 37064378 22:37064378A-G A G
+22 37064528 22:37064528G-A G A
+22 37064562 22:37064562A-G A G
+22 37064634 22:37064634C-T C T
+22 37064966 22:37064966G-C G C
+22 37065414 22:37065414T-G T G
+22 37066456 22:37066456G-T G T
+22 37066489 22:37066489A-C A C
+22 37067087 22:37067087C-A C A
+22 37068388 22:37068388G-A G A
+22 37068729 22:37068729T-C T C
+22 37070029 22:37070029C-T C T
+22 37070055 22:37070055G-A G A
+22 37070172 22:37070172A-T A T
+22 37070518 22:37070518A-G A G
+22 37071533 22:37071533T-C T C
+22 37071819 22:37071819G-C G C
+22 37073748 22:37073748A-G A G
+22 37083494 22:37083494T-C T C
+22 37092509 22:37092509C-T C T
+22 37093433 22:37093433C-T C T
+22 37093451 22:37093451T-C T C
+22 37094070 22:37094070C-T C T
+22 37094493 22:37094493G-A G A
+22 37096040 22:37096040C-T C T
+22 37096101 22:37096101A-C A C
+22 37096573 22:37096573C-G C G
+22 37096742 22:37096742C-T C T
+22 37096794 22:37096794T-C T C
+22 37096927 22:37096927T-C T C
+22 37097564 22:37097564C-T C T
+22 37099538 22:37099538G-C G C
+22 37100260 22:37100260G-A G A
+22 37101347 22:37101347A-C A C
+22 37101890 22:37101890T-C T C
+22 37102100 22:37102100G-C G C
+22 37104248 22:37104248C-G C G
+22 37104767 22:37104767A-G A G
+22 37104873 22:37104873C-T C T
+22 37105180 22:37105180G-A G A
+22 37105407 22:37105407G-A G A
+22 37105470 22:37105470T-C T C
+22 37106385 22:37106385C-T C T
+22 37106607 22:37106607C-T C T
+22 37108543 22:37108543G-A G A
+22 37108551 22:37108551A-G A G
+22 37108657 22:37108657T-C T C
+22 37108683 22:37108683G-A G A
+22 37108692 22:37108692G-A G A
+22 37108722 22:37108722C-T C T
+22 37109309 22:37109309G-A G A
+22 37109653 22:37109653A-C A C
+22 37110269 22:37110269T-C T C
+22 37110726 22:37110726G-C G C
+22 37110759 22:37110759G-A G A
+22 37111561 22:37111561C-G C G
+22 37111760 22:37111760A-C A C
+22 37112213 22:37112213T-A T A
+22 37112692 22:37112692C-T C T
+22 37112817 22:37112817A-C A C
+22 37113368 22:37113368G-A G A
+22 37113385 22:37113385G-A G A
+22 37114696 22:37114696A-G A G
+22 37114785 22:37114785G-T G T
+22 37115158 22:37115158G-A G A
+22 37115248 22:37115248G-A G A
+22 37115549 22:37115549A-C A C
+22 37116098 22:37116098G-A G A
+22 37117084 22:37117084G-A G A
+22 37117313 22:37117313T-C T C
+22 37117546 22:37117546A-G A G
+22 37117819 22:37117819C-T C T
+22 37118104 22:37118104C-T C T
+22 37118535 22:37118535G-A G A
+22 37119616 22:37119616T-C T C
+22 37119800 22:37119800C-T C T
+22 37120865 22:37120865T-C T C
+22 37121101 22:37121101G-A G A
+22 37121684 22:37121684A-G A G
+22 37122351 22:37122351T-C T C
+22 37126046 22:37126046C-T C T
+22 37128595 22:37128595T-C T C
+22 37129437 22:37129437A-G A G
+22 37130272 22:37130272C-T C T
+22 37131542 22:37131542T-A T A
+22 37131934 22:37131934C-G C G
+22 37132004 22:37132004T-C T C
+22 37132329 22:37132329C-G C G
+22 37133413 22:37133413C-T C T
+22 37133677 22:37133677T-C T C
+22 37134037 22:37134037G-C G C
+22 37134562 22:37134562T-C T C
+22 37135134 22:37135134G-T G T
+22 37135305 22:37135305G-A G A
+22 37136494 22:37136494G-A G A
+22 37137065 22:37137065G-A G A
+22 37137583 22:37137583G-A G A
+22 37137784 22:37137784G-A G A
+22 37138292 22:37138292C-G C G
+22 37138308 22:37138308C-A C A
+22 37138402 22:37138402C-T C T
+22 37139371 22:37139371G-C G C
+22 37140424 22:37140424G-T G T
+22 37140797 22:37140797A-G A G
+22 37141105 22:37141105T-A T A
+22 37141227 22:37141227T-C T C
+22 37141557 22:37141557C-T C T
+22 37142371 22:37142371C-T C T
+22 37149910 22:37149910G-A G A
+22 37151002 22:37151002G-C G C
+22 37153185 22:37153185C-T C T
+22 37153289 22:37153289A-G A G
+22 37153412 22:37153412C-G C G
+22 37153443 22:37153443A-G A G
+22 37155457 22:37155457A-C A C
+22 37157032 22:37157032C-T C T
+22 37157165 22:37157165A-C A C
+22 37157240 22:37157240C-A C A
+22 37157551 22:37157551G-C G C
+22 37157572 22:37157572T-C T C
+22 37159350 22:37159350G-A G A
+22 37159393 22:37159393C-T C T
+22 37159819 22:37159819T-C T C
+22 37160580 22:37160580G-A G A
+22 37160621 22:37160621C-T C T
+22 37161320 22:37161320C-T C T
+22 37163080 22:37163080C-T C T
+22 37163329 22:37163329C-T C T
+22 37163607 22:37163607T-C T C
+22 37163726 22:37163726A-G A G
+22 37165801 22:37165801G-A G A
+22 37165817 22:37165817T-C T C
+22 37165903 22:37165903T-C T C
+22 37166457 22:37166457C-T C T
+22 37166674 22:37166674C-T C T
+22 37167346 22:37167346A-G A G
+22 37168444 22:37168444A-G A G
+22 37168638 22:37168638A-G A G
+22 37168725 22:37168725C-T C T
+22 37169985 22:37169985T-C T C
+22 37170820 22:37170820C-T C T
+22 37170915 22:37170915C-T C T
+22 37170977 22:37170977C-T C T
+22 37171611 22:37171611A-G A G
+22 37173085 22:37173085A-G A G
+22 37176199 22:37176199C-T C T
+22 37177017 22:37177017A-G A G
+22 37177190 22:37177190A-G A G
+22 37177638 22:37177638T-C T C
+22 37179546 22:37179546G-C G C
+22 37181588 22:37181588C-T C T
+22 37181778 22:37181778T-C T C
+22 37182681 22:37182681C-T C T
+22 37184203 22:37184203G-T G T
+22 37191418 22:37191418A-G A G
+22 37192999 22:37192999A-G A G
+22 37193540 22:37193540A-G A G
+22 37193986 22:37193986C-A C A
+22 37194716 22:37194716A-C A C
+22 37194767 22:37194767A-C A C
+22 37194884 22:37194884A-G A G
+22 37194900 22:37194900T-C T C
+22 37195001 22:37195001G-C G C
+22 37195044 22:37195044C-T C T
+22 37195254 22:37195254G-A G A
+22 37195257 22:37195257C-A C A
+22 37195356 22:37195356G-T G T
+22 37195630 22:37195630C-G C G
+22 37195773 22:37195773G-C G C
+22 37195893 22:37195893C-T C T
+22 37195897 22:37195897C-T C T
+22 37195901 22:37195901T-A T A
+22 37196448 22:37196448T-C T C
+22 37196459 22:37196459G-A G A
+22 37196680 22:37196680C-T C T
+22 37196871 22:37196871G-A G A
+22 37196971 22:37196971C-A C A
+22 37197332 22:37197332G-A G A
+22 37197530 22:37197530G-A G A
+22 37197649 22:37197649G-A G A
+22 37198259 22:37198259T-G T G
+22 37198374 22:37198374C-A C A
+22 37198383 22:37198383G-A G A
+22 37198401 22:37198401C-T C T
+22 37198448 22:37198448T-C T C
+22 37198709 22:37198709G-A G A
+22 37198876 22:37198876C-T C T
+22 37199022 22:37199022C-T C T
+22 37199132 22:37199132T-C T C
+22 37199593 22:37199593T-C T C
+22 37199806 22:37199806A-G A G
+22 37199947 22:37199947T-C T C
+22 37200134 22:37200134G-A G A
+22 37200670 22:37200670G-T G T
+22 37200835 22:37200835G-A G A
+22 37201450 22:37201450A-G A G
+22 37201817 22:37201817C-T C T
+22 37201891 22:37201891T-C T C
+22 37201977 22:37201977T-C T C
+22 37202179 22:37202179T-C T C
+22 37202319 22:37202319T-C T C
+22 37202548 22:37202548C-T C T
+22 37202706 22:37202706C-T C T
+22 37202831 22:37202831G-A G A
+22 37203297 22:37203297G-A G A
+22 37203327 22:37203327C-G C G
+22 37203961 22:37203961G-C G C
+22 37204229 22:37204229G-T G T
+22 37205150 22:37205150G-A G A
+22 37205307 22:37205307C-T C T
+22 37206162 22:37206162T-C T C
+22 37206292 22:37206292C-T C T
+22 37206341 22:37206341T-G T G
+22 37206871 22:37206871C-T C T
+22 37207078 22:37207078G-A G A
+22 37207180 22:37207180G-C G C
+22 37207667 22:37207667T-A T A
+22 37208149 22:37208149G-T G T
+22 37208648 22:37208648G-A G A
+22 37208660 22:37208660A-C A C
+22 37208786 22:37208786A-G A G
+22 37208806 22:37208806T-C T C
+22 37208952 22:37208952A-G A G
+22 37209296 22:37209296G-C G C
+22 37209447 22:37209447C-T C T
+22 37209977 22:37209977C-T C T
+22 37210348 22:37210348T-C T C
+22 37210469 22:37210469G-A G A
+22 37210470 22:37210470G-A G A
+22 37210656 22:37210656T-C T C
+22 37210677 22:37210677T-C T C
+22 37211803 22:37211803G-A G A
+22 37212089 22:37212089T-G T G
+22 37212111 22:37212111G-A G A
+22 37212154 22:37212154C-T C T
+22 37212536 22:37212536A-C A C
+22 37213386 22:37213386T-C T C
+22 37214179 22:37214179C-A C A
+22 37214180 22:37214180T-C T C
+22 37214435 22:37214435G-A G A
+22 37214721 22:37214721C-T C T
+22 37215758 22:37215758G-C G C
+22 37216482 22:37216482G-C G C
+22 37217172 22:37217172C-T C T
+22 37217804 22:37217804C-T C T
+22 37217879 22:37217879G-A G A
+22 37221090 22:37221090T-C T C
+22 37221802 22:37221802T-G T G
+22 37221852 22:37221852T-C T C
+22 37221860 22:37221860G-A G A
+22 37221959 22:37221959A-G A G
+22 37222236 22:37222236C-A C A
+22 37222929 22:37222929G-A G A
+22 37223334 22:37223334C-T C T
+22 37223434 22:37223434C-T C T
+22 37223665 22:37223665T-C T C
+22 37223673 22:37223673A-G A G
+22 37223841 22:37223841A-C A C
+22 37223931 22:37223931G-T G T
+22 37224160 22:37224160A-G A G
+22 37224331 22:37224331T-C T C
+22 37224357 22:37224357C-G C G
+22 37224548 22:37224548A-C A C
+22 37224590 22:37224590G-C G C
+22 37224869 22:37224869A-G A G
+22 37225099 22:37225099T-C T C
+22 37225287 22:37225287G-A G A
+22 37225489 22:37225489G-T G T
+22 37226208 22:37226208G-A G A
+22 37226944 22:37226944C-G C G
+22 37227946 22:37227946T-C T C
+22 37227982 22:37227982A-G A G
+22 37228277 22:37228277A-G A G
+22 37228338 22:37228338C-T C T
+22 37228603 22:37228603G-A G A
+22 37228800 22:37228800C-A C A
+22 37228906 22:37228906C-T C T
+22 37229457 22:37229457A-G A G
+22 37229592 22:37229592G-C G C
+22 37229820 22:37229820C-A C A
+22 37229896 22:37229896A-C A C
+22 37230012 22:37230012A-G A G
+22 37230208 22:37230208G-A G A
+22 37233312 22:37233312C-G C G
+22 37233323 22:37233323C-T C T
+22 37234612 22:37234612C-T C T
+22 37234694 22:37234694C-T C T
+22 37234786 22:37234786C-T C T
+22 37235349 22:37235349A-G A G
+22 37235362 22:37235362G-C G C
+22 37235632 22:37235632G-A G A
+22 37236322 22:37236322T-A T A
+22 37236627 22:37236627G-T G T
+22 37237191 22:37237191T-G T G
+22 37237380 22:37237380G-T G T
+22 37237617 22:37237617A-G A G
+22 37237785 22:37237785T-C T C
+22 37238082 22:37238082G-A G A
+22 37238408 22:37238408C-T C T
+22 37239552 22:37239552G-A G A
+22 37239914 22:37239914G-A G A
+22 37241788 22:37241788C-A C A
+22 37241839 22:37241839A-C A C
+22 37241894 22:37241894C-T C T
+22 37242305 22:37242305G-A G A
+22 37242313 22:37242313A-G A G
+22 37242345 22:37242345A-G A G
+22 37242476 22:37242476T-C T C
+22 37243584 22:37243584C-T C T
+22 37243662 22:37243662T-G T G
+22 37244239 22:37244239A-T A T
+22 37244287 22:37244287A-G A G
+22 37244556 22:37244556G-T G T
+22 37244877 22:37244877A-G A G
+22 37245020 22:37245020T-C T C
+22 37246329 22:37246329C-T C T
+22 37249449 22:37249449A-G A G
+22 37249491 22:37249491G-C G C
+22 37250300 22:37250300C-T C T
+22 37250433 22:37250433G-T G T
+22 37250457 22:37250457T-A T A
+22 37250771 22:37250771G-A G A
+22 37250859 22:37250859C-A C A
+22 37251377 22:37251377T-C T C
+22 37251461 22:37251461A-G A G
+22 37251477 22:37251477A-G A G
+22 37252010 22:37252010A-G A G
+22 37252618 22:37252618C-A C A
+22 37252684 22:37252684G-C G C
+22 37252918 22:37252918C-T C T
+22 37253383 22:37253383T-A T A
+22 37253572 22:37253572G-A G A
+22 37253576 22:37253576A-G A G
+22 37253983 22:37253983G-T G T
+22 37254621 22:37254621G-A G A
+22 37255542 22:37255542C-T C T
+22 37255853 22:37255853T-C T C
+22 37256262 22:37256262G-A G A
+22 37256351 22:37256351G-T G T
+22 37256476 22:37256476G-A G A
+22 37256846 22:37256846G-A G A
+22 37257177 22:37257177G-A G A
+22 37257712 22:37257712C-A C A
+22 37257822 22:37257822C-T C T
+22 37257855 22:37257855G-A G A
+22 37258503 22:37258503T-C T C
+22 37258651 22:37258651G-C G C
+22 37258813 22:37258813A-G A G
+22 37258844 22:37258844G-A G A
+22 37258986 22:37258986C-T C T
+22 37259273 22:37259273C-T C T
+22 37259605 22:37259605T-C T C
+22 37259921 22:37259921C-T C T
+22 37260601 22:37260601A-G A G
+22 37262966 22:37262966C-T C T
+22 37263706 22:37263706C-T C T
+22 37263846 22:37263846T-C T C
+22 37265079 22:37265079G-C G C
+22 37266322 22:37266322A-G A G
+22 37266979 22:37266979A-G A G
+22 37267162 22:37267162C-A C A
+22 37267767 22:37267767A-G A G
+22 37267943 22:37267943C-A C A
+22 37268079 22:37268079A-G A G
+22 37268257 22:37268257C-T C T
+22 37268501 22:37268501A-G A G
+22 37268555 22:37268555A-G A G
+22 37268868 22:37268868G-A G A
+22 37268898 22:37268898G-A G A
+22 37269062 22:37269062C-A C A
+22 37269178 22:37269178A-G A G
+22 37269507 22:37269507T-C T C
+22 37269556 22:37269556C-T C T
+22 37269758 22:37269758G-C G C
+22 37269945 22:37269945A-G A G
+22 37270090 22:37270090G-A G A
+22 37270125 22:37270125C-T C T
+22 37270148 22:37270148G-A G A
+22 37270443 22:37270443G-T G T
+22 37270502 22:37270502A-G A G
+22 37271013 22:37271013G-C G C
+22 37271307 22:37271307A-G A G
+22 37271431 22:37271431C-A C A
+22 37271802 22:37271802C-T C T
+22 37271882 22:37271882T-C T C
+22 37273180 22:37273180T-G T G
+22 37273456 22:37273456A-G A G
+22 37273742 22:37273742G-A G A
+22 37274347 22:37274347G-A G A
+22 37274394 22:37274394G-C G C
+22 37274443 22:37274443G-C G C
+22 37274649 22:37274649C-G C G
+22 37275526 22:37275526A-G A G
+22 37275760 22:37275760T-G T G
+22 37275904 22:37275904C-T C T
+22 37276084 22:37276084A-G A G
+22 37276155 22:37276155C-T C T
+22 37276251 22:37276251A-G A G
+22 37276285 22:37276285C-A C A
+22 37276430 22:37276430C-T C T
+22 37276744 22:37276744G-A G A
+22 37276914 22:37276914G-C G C
+22 37277616 22:37277616A-G A G
+22 37277664 22:37277664A-C A C
+22 37277701 22:37277701G-A G A
+22 37277844 22:37277844C-A C A
+22 37279068 22:37279068G-A G A
+22 37279972 22:37279972A-T A T
+22 37282036 22:37282036G-T G T
+22 37282093 22:37282093T-C T C
+22 37284219 22:37284219A-G A G
+22 37285894 22:37285894G-A G A
+22 37289869 22:37289869A-G A G
+22 37290547 22:37290547A-T A T
+22 37296129 22:37296129A-G A G
+22 37296536 22:37296536C-T C T
+22 37296931 22:37296931G-A G A
+22 37296946 22:37296946C-G C G
+22 37296999 22:37296999G-A G A
+22 37297290 22:37297290T-A T A
+22 37298344 22:37298344A-G A G
+22 37298682 22:37298682A-G A G
+22 37299499 22:37299499A-G A G
+22 37300290 22:37300290A-C A C
+22 37300410 22:37300410A-G A G
+22 37300530 22:37300530T-C T C
+22 37302026 22:37302026T-G T G
+22 37302092 22:37302092G-A G A
+22 37303054 22:37303054A-T A T
+22 37303126 22:37303126T-C T C
+22 37304498 22:37304498A-G A G
+22 37304510 22:37304510A-T A T
+22 37304864 22:37304864T-A T A
+22 37305421 22:37305421G-A G A
+22 37305507 22:37305507C-T C T
+22 37305680 22:37305680G-A G A
+22 37305717 22:37305717A-G A G
+22 37306664 22:37306664A-G A G
+22 37306899 22:37306899C-A C A
+22 37307054 22:37307054G-A G A
+22 37307248 22:37307248G-A G A
+22 37307366 22:37307366A-G A G
+22 37307711 22:37307711C-T C T
+22 37308691 22:37308691C-T C T
+22 37308785 22:37308785T-C T C
+22 37308819 22:37308819C-T C T
+22 37308915 22:37308915G-T G T
+22 37309418 22:37309418G-T G T
+22 37309916 22:37309916G-A G A
+22 37310046 22:37310046G-A G A
+22 37310217 22:37310217C-T C T
+22 37310269 22:37310269T-C T C
+22 37310954 22:37310954A-G A G
+22 37311089 22:37311089A-G A G
+22 37311219 22:37311219C-T C T
+22 37311275 22:37311275A-C A C
+22 37311425 22:37311425A-C A C
+22 37311806 22:37311806T-G T G
+22 37311858 22:37311858G-A G A
+22 37311877 22:37311877C-T C T
+22 37312173 22:37312173T-C T C
+22 37312264 22:37312264G-T G T
+22 37312561 22:37312561A-G A G
+22 37314001 22:37314001A-G A G
+22 37314008 22:37314008A-G A G
+22 37314179 22:37314179A-T A T
+22 37314185 22:37314185A-C A C
+22 37314290 22:37314290T-C T C
+22 37314415 22:37314415T-C T C
+22 37314507 22:37314507C-G C G
+22 37314533 22:37314533C-T C T
+22 37314770 22:37314770A-T A T
+22 37315667 22:37315667G-A G A
+22 37315700 22:37315700A-G A G
+22 37315733 22:37315733G-A G A
+22 37315759 22:37315759T-C T C
+22 37315912 22:37315912C-A C A
+22 37315988 22:37315988C-T C T
+22 37316041 22:37316041C-T C T
+22 37316125 22:37316125G-A G A
+22 37316133 22:37316133G-A G A
+22 37316259 22:37316259T-C T C
+22 37316388 22:37316388T-G T G
+22 37316476 22:37316476T-C T C
+22 37316873 22:37316873A-G A G
+22 37316949 22:37316949G-A G A
+22 37317109 22:37317109T-C T C
+22 37317177 22:37317177C-G C G
+22 37317258 22:37317258A-G A G
+22 37317368 22:37317368T-C T C
+22 37317391 22:37317391A-G A G
+22 37317493 22:37317493G-A G A
+22 37317529 22:37317529A-G A G
+22 37317848 22:37317848T-C T C
+22 37317970 22:37317970A-G A G
+22 37318014 22:37318014G-T G T
+22 37318426 22:37318426C-T C T
+22 37318446 22:37318446G-A G A
+22 37318515 22:37318515T-C T C
+22 37318779 22:37318779T-C T C
+22 37319009 22:37319009G-A G A
+22 37319081 22:37319081T-G T G
+22 37319425 22:37319425G-T G T
+22 37319589 22:37319589G-C G C
+22 37319947 22:37319947C-G C G
+22 37320873 22:37320873T-C T C
+22 37321080 22:37321080T-C T C
+22 37321782 22:37321782C-G C G
+22 37321860 22:37321860G-A G A
+22 37321973 22:37321973T-C T C
+22 37322820 22:37322820T-G T G
+22 37323638 22:37323638C-T C T
+22 37323988 22:37323988C-T C T
+22 37326443 22:37326443G-C G C
+22 37328751 22:37328751A-G A G
+22 37328966 22:37328966G-C G C
+22 37328968 22:37328968G-C G C
+22 37329111 22:37329111G-C G C
+22 37329448 22:37329448G-A G A
+22 37329545 22:37329545A-G A G
+22 37329676 22:37329676T-C T C
+22 37329999 22:37329999C-T C T
+22 37330082 22:37330082T-C T C
+22 37330249 22:37330249A-G A G
+22 37330721 22:37330721C-T C T
+22 37330779 22:37330779G-C G C
+22 37330811 22:37330811C-G C G
+22 37331305 22:37331305A-G A G
+22 37333058 22:37333058G-T G T
+22 37333109 22:37333109G-T G T
+22 37333794 22:37333794A-G A G
+22 37334953 22:37334953G-A G A
+22 37335326 22:37335326C-T C T
+22 37335773 22:37335773A-G A G
+22 37337409 22:37337409C-T C T
+22 37337772 22:37337772A-G A G
+22 37338286 22:37338286G-A G A
+22 37338792 22:37338792G-C G C
+22 37338797 22:37338797T-C T C
+22 37339018 22:37339018C-T C T
+22 37339195 22:37339195A-G A G
+22 37339265 22:37339265C-T C T
+22 37340187 22:37340187C-T C T
+22 37340429 22:37340429A-G A G
+22 37340459 22:37340459T-A T A
+22 37340591 22:37340591G-T G T
+22 37340770 22:37340770T-C T C
+22 37341261 22:37341261T-A T A
+22 37341644 22:37341644T-A T A
+22 37341840 22:37341840C-G C G
+22 37342053 22:37342053C-G C G
+22 37342076 22:37342076T-G T G
+22 37342378 22:37342378A-C A C
+22 37342471 22:37342471C-T C T
+22 37342719 22:37342719T-C T C
+22 37342874 22:37342874C-T C T
+22 37342888 22:37342888T-G T G
+22 37343000 22:37343000C-A C A
+22 37343210 22:37343210G-T G T
+22 37343466 22:37343466C-T C T
+22 37343646 22:37343646T-A T A
+22 37344191 22:37344191A-G A G
+22 37344407 22:37344407G-C G C
+22 37344861 22:37344861G-A G A
+22 37344955 22:37344955A-C A C
+22 37345009 22:37345009A-G A G
+22 37345178 22:37345178T-C T C
+22 37345254 22:37345254G-C G C
+22 37345312 22:37345312T-C T C
+22 37345437 22:37345437T-A T A
+22 37345465 22:37345465C-T C T
+22 37345573 22:37345573T-A T A
+22 37345604 22:37345604G-A G A
+22 37345814 22:37345814G-A G A
+22 37345923 22:37345923C-T C T
+22 37345982 22:37345982C-T C T
+22 37346295 22:37346295T-A T A
+22 37346614 22:37346614G-A G A
+22 37346650 22:37346650G-A G A
+22 37347011 22:37347011A-G A G
+22 37347079 22:37347079T-C T C
+22 37347306 22:37347306T-G T G
+22 37347344 22:37347344C-G C G
+22 37347360 22:37347360G-A G A
+22 37347364 22:37347364T-A T A
+22 37347415 22:37347415T-A T A
+22 37347570 22:37347570T-C T C
+22 37347609 22:37347609C-A C A
+22 37347610 22:37347610G-A G A
+22 37347831 22:37347831G-T G T
+22 37347850 22:37347850C-T C T
+22 37347959 22:37347959C-T C T
+22 37348393 22:37348393G-A G A
+22 37348721 22:37348721C-A C A
+22 37348927 22:37348927T-C T C
+22 37349249 22:37349249A-G A G
+22 37349259 22:37349259C-T C T
+22 37349633 22:37349633T-G T G
+22 37349992 22:37349992T-C T C
+22 37350151 22:37350151G-T G T
+22 37350152 22:37350152G-T G T
+22 37350417 22:37350417G-A G A
+22 37350881 22:37350881C-T C T
+22 37352456 22:37352456A-G A G
+22 37353226 22:37353226C-T C T
+22 37353492 22:37353492C-T C T
+22 37354354 22:37354354C-T C T
+22 37354910 22:37354910T-C T C
+22 37355277 22:37355277G-A G A
+22 37355468 22:37355468G-A G A
+22 37355481 22:37355481A-G A G
+22 37355499 22:37355499T-C T C
+22 37355532 22:37355532G-A G A
+22 37355706 22:37355706G-A G A
+22 37355916 22:37355916G-A G A
+22 37355981 22:37355981C-T C T
+22 37356644 22:37356644A-G A G
+22 37357136 22:37357136C-A C A
+22 37357169 22:37357169C-T C T
+22 37357219 22:37357219G-A G A
+22 37357877 22:37357877G-A G A
+22 37358398 22:37358398C-T C T
+22 37358710 22:37358710T-G T G
+22 37359489 22:37359489G-A G A
+22 37359521 22:37359521G-A G A
+22 37359649 22:37359649T-C T C
+22 37359954 22:37359954C-T C T
+22 37359961 22:37359961C-T C T
+22 37360416 22:37360416C-T C T
+22 37360552 22:37360552A-G A G
+22 37360873 22:37360873C-T C T
+22 37361775 22:37361775C-T C T
+22 37361857 22:37361857A-G A G
+22 37361952 22:37361952A-T A T
+22 37362079 22:37362079C-G C G
+22 37362173 22:37362173A-G A G
+22 37362254 22:37362254A-T A T
+22 37362285 22:37362285C-T C T
+22 37362286 22:37362286A-G A G
+22 37362562 22:37362562C-T C T
+22 37362569 22:37362569C-T C T
+22 37362675 22:37362675G-T G T
+22 37362716 22:37362716T-C T C
+22 37362875 22:37362875G-A G A
+22 37362957 22:37362957G-C G C
+22 37363121 22:37363121T-C T C
+22 37363155 22:37363155C-G C G
+22 37363200 22:37363200C-T C T
+22 37363227 22:37363227A-T A T
+22 37363402 22:37363402G-A G A
+22 37363712 22:37363712C-G C G
+22 37363781 22:37363781T-C T C
+22 37363964 22:37363964G-A G A
+22 37364046 22:37364046C-T C T
+22 37364124 22:37364124C-T C T
+22 37364140 22:37364140G-C G C
+22 37364432 22:37364432A-C A C
+22 37365352 22:37365352A-G A G
+22 37365521 22:37365521G-C G C
+22 37365926 22:37365926C-T C T
+22 37366618 22:37366618T-C T C
+22 37366826 22:37366826T-C T C
+22 37367308 22:37367308G-A G A
+22 37367365 22:37367365G-T G T
+22 37367536 22:37367536C-T C T
+22 37367723 22:37367723C-T C T
+22 37367928 22:37367928T-C T C
+22 37367965 22:37367965A-C A C
+22 37368015 22:37368015G-A G A
+22 37368022 22:37368022G-T G T
+22 37368112 22:37368112T-C T C
+22 37368251 22:37368251T-C T C
+22 37368255 22:37368255G-A G A
+22 37368876 22:37368876C-T C T
+22 37368878 22:37368878C-T C T
+22 37369005 22:37369005T-C T C
+22 37369088 22:37369088G-C G C
+22 37369205 22:37369205G-T G T
+22 37369296 22:37369296C-T C T
+22 37369354 22:37369354T-C T C
+22 37369377 22:37369377A-G A G
+22 37369397 22:37369397T-G T G
+22 37369465 22:37369465C-A C A
+22 37369732 22:37369732C-A C A
+22 37369754 22:37369754C-A C A
+22 37369880 22:37369880G-A G A
+22 37370022 22:37370022A-C A C
+22 37370062 22:37370062T-G T G
+22 37370921 22:37370921T-C T C
+22 37371109 22:37371109G-A G A
+22 37371197 22:37371197C-T C T
+22 37372129 22:37372129T-G T G
+22 37372132 22:37372132T-C T C
+22 37372327 22:37372327G-A G A
+22 37372361 22:37372361C-T C T
+22 37372407 22:37372407G-A G A
+22 37372412 22:37372412C-T C T
+22 37372717 22:37372717A-G A G
+22 37373520 22:37373520G-A G A
+22 37374429 22:37374429G-A G A
+22 37374751 22:37374751C-T C T
+22 37375117 22:37375117A-G A G
+22 37375668 22:37375668G-A G A
+22 37375758 22:37375758A-G A G
+22 37376033 22:37376033A-G A G
+22 37377094 22:37377094T-C T C
+22 37377124 22:37377124G-A G A
+22 37377692 22:37377692C-T C T
+22 37377737 22:37377737T-C T C
+22 37378208 22:37378208A-G A G
+22 37378451 22:37378451T-C T C
+22 37379539 22:37379539A-G A G
+22 37379546 22:37379546C-T C T
+22 37379689 22:37379689T-C T C
+22 37379763 22:37379763T-G T G
+22 37380020 22:37380020T-C T C
+22 37380068 22:37380068G-A G A
+22 37380081 22:37380081C-T C T
+22 37380144 22:37380144A-G A G
+22 37380297 22:37380297A-C A C
+22 37380939 22:37380939G-A G A
+22 37381017 22:37381017A-G A G
+22 37381032 22:37381032T-C T C
+22 37381343 22:37381343C-T C T
+22 37381451 22:37381451G-A G A
+22 37381674 22:37381674C-T C T
+22 37381889 22:37381889T-G T G
+22 37382250 22:37382250A-G A G
+22 37382318 22:37382318T-C T C
+22 37383047 22:37383047C-T C T
+22 37383414 22:37383414T-C T C
+22 37383477 22:37383477G-A G A
+22 37383615 22:37383615G-A G A
+22 37383809 22:37383809G-T G T
+22 37384103 22:37384103G-T G T
+22 37384200 22:37384200A-G A G
+22 37384336 22:37384336C-T C T
+22 37384413 22:37384413C-T C T
+22 37384515 22:37384515C-T C T
+22 37385049 22:37385049C-A C A
+22 37386057 22:37386057G-A G A
+22 37386534 22:37386534A-G A G
+22 37386647 22:37386647G-A G A
+22 37386794 22:37386794G-A G A
+22 37386920 22:37386920T-C T C
+22 37387119 22:37387119C-G C G
+22 37387257 22:37387257T-C T C
+22 37387461 22:37387461C-T C T
+22 37387505 22:37387505C-A C A
+22 37387757 22:37387757G-T G T
+22 37388855 22:37388855G-A G A
+22 37389040 22:37389040A-C A C
+22 37389527 22:37389527A-G A G
+22 37390334 22:37390334C-T C T
+22 37390400 22:37390400A-G A G
+22 37390735 22:37390735A-G A G
+22 37391555 22:37391555T-C T C
+22 37391635 22:37391635C-T C T
+22 37391997 22:37391997G-T G T
+22 37394294 22:37394294G-A G A
+22 37394323 22:37394323C-T C T
+22 37394335 22:37394335T-C T C
+22 37394391 22:37394391C-T C T
+22 37394501 22:37394501C-G C G
+22 37394508 22:37394508A-G A G
+22 37394720 22:37394720A-G A G
+22 37394731 22:37394731T-C T C
+22 37394847 22:37394847C-T C T
+22 37395019 22:37395019G-A G A
+22 37395471 22:37395471T-A T A
+22 37396303 22:37396303A-G A G
+22 37396417 22:37396417C-T C T
+22 37397427 22:37397427G-C G C
+22 37397550 22:37397550T-C T C
+22 37398195 22:37398195C-T C T
+22 37398201 22:37398201C-A C A
+22 37398642 22:37398642G-T G T
+22 37399148 22:37399148T-G T G
+22 37400144 22:37400144A-C A C
+22 37400409 22:37400409C-T C T
+22 37400560 22:37400560C-G C G
+22 37400787 22:37400787A-G A G
+22 37400878 22:37400878A-G A G
+22 37400957 22:37400957G-A G A
+22 37400976 22:37400976G-A G A
+22 37401038 22:37401038G-A G A
+22 37401051 22:37401051C-T C T
+22 37401101 22:37401101G-A G A
+22 37401259 22:37401259G-A G A
+22 37401364 22:37401364G-A G A
+22 37401518 22:37401518C-T C T
+22 37401532 22:37401532G-A G A
+22 37401637 22:37401637A-T A T
+22 37401792 22:37401792G-T G T
+22 37402211 22:37402211A-G A G
+22 37402780 22:37402780G-T G T
+22 37402819 22:37402819T-C T C
+22 37402910 22:37402910A-G A G
+22 37403302 22:37403302C-T C T
+22 37404167 22:37404167A-C A C
+22 37404249 22:37404249G-A G A
+22 37404837 22:37404837G-A G A
+22 37405408 22:37405408G-T G T
+22 37405417 22:37405417G-A G A
+22 37405441 22:37405441G-A G A
+22 37405630 22:37405630C-T C T
+22 37405671 22:37405671C-T C T
+22 37405865 22:37405865C-T C T
+22 37405911 22:37405911A-C A C
+22 37406257 22:37406257T-G T G
+22 37406334 22:37406334T-C T C
+22 37406401 22:37406401G-T G T
+22 37407527 22:37407527T-C T C
+22 37407954 22:37407954A-C A C
+22 37408135 22:37408135T-C T C
+22 37408230 22:37408230A-G A G
+22 37408399 22:37408399C-T C T
+22 37408511 22:37408511C-T C T
+22 37408719 22:37408719T-C T C
+22 37408829 22:37408829G-A G A
+22 37408907 22:37408907A-C A C
+22 37409078 22:37409078C-T C T
+22 37409226 22:37409226G-A G A
+22 37409319 22:37409319T-C T C
+22 37409576 22:37409576A-G A G
+22 37409578 22:37409578T-G T G
+22 37410209 22:37410209C-T C T
+22 37410368 22:37410368A-G A G
+22 37410429 22:37410429C-A C A
+22 37410967 22:37410967T-C T C
+22 37411180 22:37411180T-A T A
+22 37411190 22:37411190T-C T C
+22 37411207 22:37411207C-T C T
+22 37411582 22:37411582A-G A G
+22 37411703 22:37411703T-A T A
+22 37412133 22:37412133T-C T C
+22 37412144 22:37412144C-T C T
+22 37412967 22:37412967G-A G A
+22 37413607 22:37413607T-C T C
+22 37414983 22:37414983G-A G A
+22 37416800 22:37416800A-T A T
+22 37416803 22:37416803G-A G A
+22 37417197 22:37417197T-C T C
+22 37418261 22:37418261G-A G A
+22 37419220 22:37419220T-G T G
+22 37420123 22:37420123C-G C G
+22 37421469 22:37421469T-C T C
+22 37421603 22:37421603G-T G T
+22 37421604 22:37421604A-C A C
+22 37421662 22:37421662G-A G A
+22 37421702 22:37421702A-G A G
+22 37423485 22:37423485G-A G A
+22 37423486 22:37423486T-G T G
+22 37424848 22:37424848T-C T C
+22 37424991 22:37424991G-A G A
+22 37425031 22:37425031G-A G A
+22 37425201 22:37425201G-A G A
+22 37425202 22:37425202G-A G A
+22 37427493 22:37427493T-C T C
+22 37427583 22:37427583C-T C T
+22 37427593 22:37427593C-T C T
+22 37428599 22:37428599A-G A G
+22 37429129 22:37429129C-T C T
+22 37429552 22:37429552C-G C G
+22 37431044 22:37431044A-G A G
+22 37431871 22:37431871T-C T C
+22 37432243 22:37432243G-A G A
+22 37432421 22:37432421C-T C T
+22 37432510 22:37432510A-T A T
+22 37432632 22:37432632A-G A G
+22 37434028 22:37434028G-A G A
+22 37434773 22:37434773A-G A G
+22 37435411 22:37435411C-T C T
+22 37435443 22:37435443T-A T A
+22 37435900 22:37435900A-G A G
+22 37436343 22:37436343G-A G A
+22 37436348 22:37436348T-C T C
+22 37437354 22:37437354G-A G A
+22 37437831 22:37437831A-C A C
+22 37437854 22:37437854A-G A G
+22 37438651 22:37438651G-T G T
+22 37438728 22:37438728C-T C T
+22 37438910 22:37438910T-C T C
+22 37439033 22:37439033A-G A G
+22 37439701 22:37439701G-C G C
+22 37442451 22:37442451T-C T C
+22 37444960 22:37444960C-A C A
+22 37445668 22:37445668T-C T C
+22 37447046 22:37447046G-C G C
+22 37449608 22:37449608T-C T C
+22 37450760 22:37450760T-G T G
+22 37453256 22:37453256G-T G T
+22 37453259 22:37453259A-G A G
+22 37453452 22:37453452C-T C T
+22 37460449 22:37460449C-T C T
+22 37462632 22:37462632C-G C G
+22 37462926 22:37462926G-A G A
+22 37462936 22:37462936A-G A G
+22 37463450 22:37463450C-T C T
+22 37464624 22:37464624T-C T C
+22 37467270 22:37467270C-T C T
+22 37467354 22:37467354G-C G C
+22 37467392 22:37467392G-C G C
+22 37469591 22:37469591G-A G A
+22 37469821 22:37469821G-A G A
+22 37470041 22:37470041C-A C A
+22 37470224 22:37470224T-C T C
+22 37470536 22:37470536C-T C T
+22 37470604 22:37470604G-A G A
+22 37471290 22:37471290G-A G A
+22 37471385 22:37471385G-A G A
+22 37474079 22:37474079G-A G A
+22 37474521 22:37474521G-A G A
+22 37474713 22:37474713T-C T C
+22 37476143 22:37476143C-T C T
+22 37476193 22:37476193A-G A G
+22 37477582 22:37477582C-T C T
+22 37477732 22:37477732C-T C T
+22 37477970 22:37477970T-C T C
+22 37478254 22:37478254A-G A G
+22 37478775 22:37478775A-G A G
+22 37479628 22:37479628G-A G A
+22 37480155 22:37480155C-T C T
+22 37480181 22:37480181A-G A G
+22 37480269 22:37480269A-G A G
+22 37480605 22:37480605C-T C T
+22 37480797 22:37480797C-T C T
+22 37481041 22:37481041G-C G C
+22 37481343 22:37481343G-T G T
+22 37481637 22:37481637C-T C T
+22 37483481 22:37483481A-G A G
+22 37483691 22:37483691A-G A G
+22 37484337 22:37484337T-C T C
+22 37484374 22:37484374T-G T G
+22 37484944 22:37484944G-A G A
+22 37485193 22:37485193T-C T C
+22 37485595 22:37485595T-C T C
+22 37485724 22:37485724T-C T C
+22 37486205 22:37486205T-C T C
+22 37486265 22:37486265G-A G A
+22 37486866 22:37486866A-G A G
+22 37487529 22:37487529C-T C T
+22 37487659 22:37487659A-G A G
+22 37487687 22:37487687C-A C A
+22 37487810 22:37487810A-G A G
+22 37488574 22:37488574C-T C T
+22 37488850 22:37488850A-T A T
+22 37488981 22:37488981A-G A G
+22 37489274 22:37489274G-C G C
+22 37489730 22:37489730C-T C T
+22 37489773 22:37489773G-T G T
+22 37489880 22:37489880C-T C T
+22 37490005 22:37490005A-G A G
+22 37490033 22:37490033A-G A G
+22 37490396 22:37490396A-G A G
+22 37490691 22:37490691A-G A G
+22 37490692 22:37490692C-T C T
+22 37491140 22:37491140A-G A G
+22 37491150 22:37491150C-T C T
+22 37491545 22:37491545T-C T C
+22 37491822 22:37491822G-A G A
+22 37491839 22:37491839A-G A G
+22 37492201 22:37492201T-G T G
+22 37492585 22:37492585C-T C T
+22 37493178 22:37493178G-A G A
+22 37493698 22:37493698T-C T C
+22 37493748 22:37493748A-G A G
+22 37494201 22:37494201T-C T C
+22 37494318 22:37494318T-C T C
+22 37494420 22:37494420T-C T C
+22 37494721 22:37494721T-C T C
+22 37494814 22:37494814A-G A G
+22 37494915 22:37494915G-A G A
+22 37495051 22:37495051T-C T C
+22 37495370 22:37495370G-A G A
+22 37495550 22:37495550C-T C T
+22 37495635 22:37495635G-A G A
+22 37495822 22:37495822A-G A G
+22 37496127 22:37496127C-T C T
+22 37496283 22:37496283G-A G A
+22 37496410 22:37496410G-A G A
+22 37496847 22:37496847C-T C T
+22 37497593 22:37497593G-A G A
+22 37498026 22:37498026C-T C T
+22 37498731 22:37498731G-A G A
+22 37499019 22:37499019G-A G A
+22 37499046 22:37499046C-T C T
+22 37499386 22:37499386C-T C T
+22 37499692 22:37499692A-G A G
+22 37499699 22:37499699C-T C T
+22 37500643 22:37500643A-G A G
+22 37501070 22:37501070A-G A G
+22 37501901 22:37501901C-T C T
+22 37502423 22:37502423T-C T C
+22 37503165 22:37503165T-C T C
+22 37503668 22:37503668A-G A G
+22 37504157 22:37504157A-C A C
+22 37504512 22:37504512C-A C A
+22 37505552 22:37505552C-T C T
+22 37506410 22:37506410T-C T C
+22 37506680 22:37506680T-C T C
+22 37506713 22:37506713G-T G T
+22 37506847 22:37506847C-T C T
+22 37506862 22:37506862C-T C T
+22 37506876 22:37506876A-G A G
+22 37506992 22:37506992T-C T C
+22 37507019 22:37507019G-A G A
+22 37507250 22:37507250A-G A G
+22 37507642 22:37507642A-T A T
+22 37508424 22:37508424G-C G C
+22 37508507 22:37508507G-A G A
+22 37508630 22:37508630C-T C T
+22 37508779 22:37508779C-T C T
+22 37508863 22:37508863T-A T A
+22 37509087 22:37509087C-T C T
+22 37509124 22:37509124T-C T C
+22 37509179 22:37509179T-C T C
+22 37509186 22:37509186A-C A C
+22 37509844 22:37509844T-C T C
+22 37509965 22:37509965A-C A C
+22 37510072 22:37510072C-T C T
+22 37511033 22:37511033A-G A G
+22 37511076 22:37511076C-G C G
+22 37511156 22:37511156C-G C G
+22 37511442 22:37511442T-C T C
+22 37511618 22:37511618G-A G A
+22 37511637 22:37511637G-A G A
+22 37511664 22:37511664G-A G A
+22 37511851 22:37511851C-G C G
+22 37512435 22:37512435T-C T C
+22 37512544 22:37512544G-A G A
+22 37512611 22:37512611C-T C T
+22 37512646 22:37512646A-G A G
+22 37512871 22:37512871A-G A G
+22 37512872 22:37512872T-C T C
+22 37513067 22:37513067G-A G A
+22 37513316 22:37513316G-A G A
+22 37513548 22:37513548T-C T C
+22 37514024 22:37514024T-C T C
+22 37514076 22:37514076C-T C T
+22 37514226 22:37514226C-T C T
+22 37514339 22:37514339G-A G A
+22 37516015 22:37516015A-G A G
+22 37516370 22:37516370C-T C T
+22 37516568 22:37516568C-G C G
+22 37516746 22:37516746G-A G A
+22 37517026 22:37517026A-G A G
+22 37517697 22:37517697C-T C T
+22 37518632 22:37518632T-C T C
+22 37519667 22:37519667G-A G A
+22 37519864 22:37519864T-C T C
+22 37520172 22:37520172T-G T G
+22 37520225 22:37520225A-G A G
+22 37520895 22:37520895C-G C G
+22 37520971 22:37520971G-T G T
+22 37521211 22:37521211C-T C T
+22 37523721 22:37523721C-G C G
+22 37524619 22:37524619G-T G T
+22 37525208 22:37525208T-C T C
+22 37525320 22:37525320T-C T C
+22 37525370 22:37525370T-C T C
+22 37525731 22:37525731A-G A G
+22 37525880 22:37525880T-C T C
+22 37526359 22:37526359A-G A G
+22 37526529 22:37526529G-A G A
+22 37527884 22:37527884C-G C G
+22 37527926 22:37527926A-G A G
+22 37528016 22:37528016T-C T C
+22 37528026 22:37528026A-G A G
+22 37528098 22:37528098C-T C T
+22 37528362 22:37528362T-G T G
+22 37528576 22:37528576A-G A G
+22 37528606 22:37528606G-A G A
+22 37529348 22:37529348C-T C T
+22 37529724 22:37529724G-A G A
+22 37529798 22:37529798A-G A G
+22 37530083 22:37530083C-T C T
+22 37530262 22:37530262G-T G T
+22 37530332 22:37530332A-G A G
+22 37531117 22:37531117C-T C T
+22 37531436 22:37531436G-A G A
+22 37532090 22:37532090G-T G T
+22 37532172 22:37532172A-G A G
+22 37532207 22:37532207C-T C T
+22 37532441 22:37532441G-A G A
+22 37532665 22:37532665T-C T C
+22 37532699 22:37532699C-T C T
+22 37533068 22:37533068C-T C T
+22 37533530 22:37533530G-C G C
+22 37533786 22:37533786C-G C G
+22 37533795 22:37533795G-C G C
+22 37534034 22:37534034G-A G A
+22 37534947 22:37534947G-A G A
+22 37534976 22:37534976C-T C T
+22 37535328 22:37535328C-G C G
+22 37535471 22:37535471C-T C T
+22 37535948 22:37535948A-G A G
+22 37537058 22:37537058C-G C G
+22 37537063 22:37537063G-A G A
+22 37537514 22:37537514T-C T C
+22 37538328 22:37538328T-C T C
+22 37539128 22:37539128C-T C T
+22 37539188 22:37539188G-A G A
+22 37539197 22:37539197C-G C G
+22 37539713 22:37539713T-C T C
+22 37540725 22:37540725A-G A G
+22 37541812 22:37541812A-G A G
+22 37541831 22:37541831G-C G C
+22 37541874 22:37541874A-T A T
+22 37541998 22:37541998G-A G A
+22 37542201 22:37542201G-A G A
+22 37542762 22:37542762G-A G A
+22 37543156 22:37543156G-A G A
+22 37543173 22:37543173G-A G A
+22 37544245 22:37544245G-A G A
+22 37544345 22:37544345T-C T C
+22 37544486 22:37544486G-A G A
+22 37544602 22:37544602G-A G A
+22 37544810 22:37544810G-A G A
+22 37544917 22:37544917C-T C T
+22 37544931 22:37544931T-G T G
+22 37545505 22:37545505T-A T A
+22 37551310 22:37551310G-T G T
+22 37551487 22:37551487T-C T C
+22 37551607 22:37551607A-G A G
+22 37551751 22:37551751C-T C T
+22 37552237 22:37552237A-G A G
+22 37552894 22:37552894C-A C A
+22 37553619 22:37553619A-G A G
+22 37553725 22:37553725A-C A C
+22 37554699 22:37554699A-G A G
+22 37554839 22:37554839C-G C G
+22 37555046 22:37555046T-C T C
+22 37555585 22:37555585G-T G T
+22 37555766 22:37555766G-A G A
+22 37557011 22:37557011A-G A G
+22 37557916 22:37557916A-G A G
+22 37557962 22:37557962T-C T C
+22 37558279 22:37558279C-T C T
+22 37558356 22:37558356G-A G A
+22 37560751 22:37560751C-T C T
+22 37562111 22:37562111A-G A G
+22 37562146 22:37562146C-T C T
+22 37562467 22:37562467G-A G A
+22 37562807 22:37562807G-C G C
+22 37562957 22:37562957C-T C T
+22 37563405 22:37563405G-A G A
+22 37563514 22:37563514G-A G A
+22 37565492 22:37565492C-T C T
+22 37565957 22:37565957A-G A G
+22 37567490 22:37567490G-A G A
+22 37567827 22:37567827G-A G A
+22 37568670 22:37568670C-T C T
+22 37569661 22:37569661A-C A C
+22 37570084 22:37570084G-C G C
+22 37570269 22:37570269G-A G A
+22 37570784 22:37570784C-T C T
+22 37570845 22:37570845C-T C T
+22 37571014 22:37571014G-A G A
+22 37571178 22:37571178A-G A G
+22 37571497 22:37571497A-G A G
+22 37571498 22:37571498A-G A G
+22 37573429 22:37573429G-A G A
+22 37573509 22:37573509T-C T C
+22 37573636 22:37573636G-A G A
+22 37573712 22:37573712C-A C A
+22 37573794 22:37573794G-T G T
+22 37573847 22:37573847C-T C T
+22 37574018 22:37574018C-G C G
+22 37574264 22:37574264C-T C T
+22 37574634 22:37574634G-A G A
+22 37575056 22:37575056G-C G C
+22 37575398 22:37575398C-T C T
+22 37575469 22:37575469G-A G A
+22 37575473 22:37575473T-C T C
+22 37575931 22:37575931A-G A G
+22 37575977 22:37575977G-A G A
+22 37576059 22:37576059C-A C A
+22 37576072 22:37576072C-T C T
+22 37576486 22:37576486A-G A G
+22 37577145 22:37577145A-T A T
+22 37577737 22:37577737A-T A T
+22 37577872 22:37577872A-G A G
+22 37577983 22:37577983C-T C T
+22 37578214 22:37578214T-C T C
+22 37578579 22:37578579C-T C T
+22 37578652 22:37578652G-A G A
+22 37578807 22:37578807G-A G A
+22 37578852 22:37578852C-T C T
+22 37578960 22:37578960G-A G A
+22 37578995 22:37578995C-T C T
+22 37579058 22:37579058T-C T C
+22 37579803 22:37579803C-T C T
+22 37580138 22:37580138T-C T C
+22 37580334 22:37580334G-A G A
+22 37580442 22:37580442A-T A T
+22 37580627 22:37580627C-T C T
+22 37581383 22:37581383C-T C T
+22 37581422 22:37581422G-C G C
+22 37581485 22:37581485C-A C A
+22 37581677 22:37581677C-T C T
+22 37582166 22:37582166C-T C T
+22 37582205 22:37582205G-A G A
+22 37583096 22:37583096T-A T A
+22 37584352 22:37584352A-G A G
+22 37585096 22:37585096T-C T C
+22 37585736 22:37585736T-C T C
+22 37585922 22:37585922T-C T C
+22 37586000 22:37586000G-A G A
+22 37586672 22:37586672A-C A C
+22 37586676 22:37586676G-C G C
+22 37586792 22:37586792C-T C T
+22 37586961 22:37586961T-A T A
+22 37587111 22:37587111A-C A C
+22 37587371 22:37587371G-C G C
+22 37587705 22:37587705T-A T A
+22 37588013 22:37588013T-C T C
+22 37588566 22:37588566G-T G T
+22 37588820 22:37588820A-G A G
+22 37589068 22:37589068C-A C A
+22 37589428 22:37589428C-T C T
+22 37589518 22:37589518A-G A G
+22 37589805 22:37589805C-T C T
+22 37589869 22:37589869A-G A G
+22 37590203 22:37590203A-C A C
+22 37590207 22:37590207A-T A T
+22 37590302 22:37590302C-G C G
+22 37590549 22:37590549C-A C A
+22 37590718 22:37590718T-C T C
+22 37591261 22:37591261T-C T C
+22 37591290 22:37591290T-G T G
+22 37591318 22:37591318G-A G A
+22 37591661 22:37591661C-T C T
+22 37592106 22:37592106T-C T C
+22 37592504 22:37592504T-G T G
+22 37593080 22:37593080G-A G A
+22 37593091 22:37593091A-G A G
+22 37593156 22:37593156C-T C T
+22 37594344 22:37594344C-G C G
+22 37594825 22:37594825G-A G A
+22 37594920 22:37594920A-C A C
+22 37595156 22:37595156C-T C T
+22 37595486 22:37595486G-A G A
+22 37595916 22:37595916C-T C T
+22 37596234 22:37596234G-A G A
+22 37596333 22:37596333A-G A G
+22 37596396 22:37596396C-T C T
+22 37596855 22:37596855C-T C T
+22 37598400 22:37598400G-C G C
+22 37598627 22:37598627G-A G A
+22 37599065 22:37599065G-T G T
+22 37599442 22:37599442G-A G A
+22 37599572 22:37599572A-G A G
+22 37599706 22:37599706G-A G A
+22 37599802 22:37599802C-A C A
+22 37600011 22:37600011G-C G C
+22 37600563 22:37600563C-A C A
+22 37601306 22:37601306A-G A G
+22 37602131 22:37602131G-A G A
+22 37603021 22:37603021G-A G A
+22 37603051 22:37603051C-T C T
+22 37603390 22:37603390C-T C T
+22 37603744 22:37603744C-T C T
+22 37603950 22:37603950G-A G A
+22 37604567 22:37604567C-A C A
+22 37605524 22:37605524A-G A G
+22 37605797 22:37605797C-T C T
+22 37607378 22:37607378C-T C T
+22 37607457 22:37607457G-C G C
+22 37607981 22:37607981A-C A C
+22 37608711 22:37608711C-T C T
+22 37609048 22:37609048T-C T C
+22 37609189 22:37609189G-T G T
+22 37609294 22:37609294A-G A G
+22 37609342 22:37609342T-C T C
+22 37609477 22:37609477C-A C A
+22 37610419 22:37610419A-G A G
+22 37610839 22:37610839C-G C G
+22 37611220 22:37611220C-T C T
+22 37611392 22:37611392G-C G C
+22 37611396 22:37611396A-G A G
+22 37611684 22:37611684T-G T G
+22 37611807 22:37611807T-C T C
+22 37611862 22:37611862G-T G T
+22 37611951 22:37611951C-G C G
+22 37611987 22:37611987C-T C T
+22 37612042 22:37612042C-A C A
+22 37612103 22:37612103T-C T C
+22 37612265 22:37612265G-A G A
+22 37612910 22:37612910G-A G A
+22 37613159 22:37613159T-C T C
+22 37613309 22:37613309C-T C T
+22 37613996 22:37613996G-A G A
+22 37614208 22:37614208A-G A G
+22 37614425 22:37614425G-A G A
+22 37614502 22:37614502G-A G A
+22 37614738 22:37614738C-A C A
+22 37615211 22:37615211T-C T C
+22 37615248 22:37615248G-C G C
+22 37615356 22:37615356G-A G A
+22 37615360 22:37615360C-A C A
+22 37615425 22:37615425A-G A G
+22 37615614 22:37615614G-A G A
+22 37615682 22:37615682C-T C T
+22 37616090 22:37616090C-G C G
+22 37616637 22:37616637G-A G A
+22 37617144 22:37617144C-G C G
+22 37617402 22:37617402T-A T A
+22 37617776 22:37617776T-G T G
+22 37618078 22:37618078A-G A G
+22 37618136 22:37618136T-C T C
+22 37618354 22:37618354T-A T A
+22 37618489 22:37618489G-C G C
+22 37618637 22:37618637T-C T C
+22 37618834 22:37618834G-A G A
+22 37618933 22:37618933C-T C T
+22 37618938 22:37618938C-T C T
+22 37619000 22:37619000A-G A G
+22 37619021 22:37619021C-T C T
+22 37619052 22:37619052T-G T G
+22 37619170 22:37619170A-G A G
+22 37619333 22:37619333G-T G T
+22 37619424 22:37619424A-C A C
+22 37619455 22:37619455T-C T C
+22 37619477 22:37619477G-A G A
+22 37619488 22:37619488T-C T C
+22 37619543 22:37619543A-G A G
+22 37619576 22:37619576C-T C T
+22 37619577 22:37619577A-G A G
+22 37619750 22:37619750A-G A G
+22 37620050 22:37620050T-G T G
+22 37620432 22:37620432G-C G C
+22 37620472 22:37620472G-A G A
+22 37620533 22:37620533A-C A C
+22 37620789 22:37620789T-G T G
+22 37620868 22:37620868G-A G A
+22 37620917 22:37620917G-A G A
+22 37620935 22:37620935G-A G A
+22 37621109 22:37621109C-G C G
+22 37621269 22:37621269A-C A C
+22 37621358 22:37621358C-G C G
+22 37621445 22:37621445C-G C G
+22 37621951 22:37621951G-A G A
+22 37622310 22:37622310C-A C A
+22 37622475 22:37622475G-A G A
+22 37622486 22:37622486G-A G A
+22 37622577 22:37622577C-G C G
+22 37622590 22:37622590A-T A T
+22 37622815 22:37622815A-G A G
+22 37624049 22:37624049T-C T C
+22 37624236 22:37624236T-C T C
+22 37624999 22:37624999A-G A G
+22 37625077 22:37625077A-G A G
+22 37625277 22:37625277G-A G A
+22 37625419 22:37625419A-G A G
+22 37625644 22:37625644T-C T C
+22 37626102 22:37626102A-G A G
+22 37627234 22:37627234T-C T C
+22 37627246 22:37627246G-C G C
+22 37627845 22:37627845G-A G A
+22 37628145 22:37628145A-G A G
+22 37628993 22:37628993T-G T G
+22 37629938 22:37629938A-C A C
+22 37630318 22:37630318A-C A C
+22 37630483 22:37630483T-C T C
+22 37630597 22:37630597C-T C T
+22 37630788 22:37630788T-C T C
+22 37630862 22:37630862C-T C T
+22 37631008 22:37631008C-T C T
+22 37632180 22:37632180G-T G T
+22 37632770 22:37632770T-A T A
+22 37632938 22:37632938T-G T G
+22 37633350 22:37633350A-G A G
+22 37633775 22:37633775G-A G A
+22 37633851 22:37633851C-T C T
+22 37634852 22:37634852G-A G A
+22 37635055 22:37635055A-G A G
+22 37635428 22:37635428A-G A G
+22 37635890 22:37635890T-C T C
+22 37636351 22:37636351C-A C A
+22 37636949 22:37636949G-C G C
+22 37637653 22:37637653G-C G C
+22 37637841 22:37637841C-A C A
+22 37638289 22:37638289G-A G A
+22 37638296 22:37638296A-T A T
+22 37638960 22:37638960T-C T C
+22 37639087 22:37639087T-C T C
+22 37639183 22:37639183C-T C T
+22 37641241 22:37641241G-A G A
+22 37641268 22:37641268G-A G A
+22 37641410 22:37641410T-C T C
+22 37641440 22:37641440T-C T C
+22 37641624 22:37641624A-G A G
+22 37641996 22:37641996G-A G A
+22 37642201 22:37642201G-A G A
+22 37642214 22:37642214G-A G A
+22 37642235 22:37642235A-C A C
+22 37642314 22:37642314C-T C T
+22 37642348 22:37642348T-A T A
+22 37642374 22:37642374T-C T C
+22 37642416 22:37642416G-A G A
+22 37642434 22:37642434G-A G A
+22 37642524 22:37642524C-T C T
+22 37642525 22:37642525C-G C G
+22 37642869 22:37642869G-A G A
+22 37642925 22:37642925G-C G C
+22 37642944 22:37642944T-C T C
+22 37643000 22:37643000G-T G T
+22 37643043 22:37643043T-C T C
+22 37643193 22:37643193G-A G A
+22 37643233 22:37643233G-A G A
+22 37643464 22:37643464A-G A G
+22 37643564 22:37643564G-A G A
+22 37643846 22:37643846G-A G A
+22 37643848 22:37643848T-C T C
+22 37644115 22:37644115T-C T C
+22 37644150 22:37644150C-G C G
+22 37644621 22:37644621C-T C T
+22 37645230 22:37645230A-G A G
+22 37645783 22:37645783T-C T C
+22 37645837 22:37645837C-A C A
+22 37646131 22:37646131G-C G C
+22 37646292 22:37646292A-C A C
+22 37647572 22:37647572A-G A G
+22 37648682 22:37648682T-C T C
+22 37649270 22:37649270A-G A G
+22 37649494 22:37649494T-C T C
+22 37649646 22:37649646T-C T C
+22 37649706 22:37649706T-C T C
+22 37650320 22:37650320A-G A G
+22 37650844 22:37650844T-C T C
+22 37652257 22:37652257C-A C A
+22 37652275 22:37652275C-G C G
+22 37652762 22:37652762T-C T C
+22 37653557 22:37653557T-C T C
+22 37654493 22:37654493G-A G A
+22 37654519 22:37654519C-T C T
+22 37654932 22:37654932G-C G C
+22 37655125 22:37655125C-T C T
+22 37656075 22:37656075A-T A T
+22 37656374 22:37656374C-T C T
+22 37656642 22:37656642C-G C G
+22 37657539 22:37657539C-T C T
+22 37658457 22:37658457C-T C T
+22 37658699 22:37658699A-G A G
+22 37658804 22:37658804T-A T A
+22 37659055 22:37659055A-G A G
+22 37659224 22:37659224G-A G A
+22 37659288 22:37659288C-T C T
+22 37659307 22:37659307A-C A C
+22 37659412 22:37659412G-A G A
+22 37659421 22:37659421T-C T C
+22 37659486 22:37659486C-T C T
+22 37659560 22:37659560G-C G C
+22 37659737 22:37659737T-C T C
+22 37659798 22:37659798C-G C G
+22 37660178 22:37660178C-T C T
+22 37660255 22:37660255A-G A G
+22 37660702 22:37660702C-A C A
+22 37661288 22:37661288C-A C A
+22 37661619 22:37661619G-A G A
+22 37662436 22:37662436T-C T C
+22 37663349 22:37663349T-C T C
+22 37663390 22:37663390T-C T C
+22 37663988 22:37663988C-T C T
+22 37664210 22:37664210G-A G A
+22 37664393 22:37664393A-G A G
+22 37664623 22:37664623A-G A G
+22 37665325 22:37665325T-C T C
+22 37665379 22:37665379C-T C T
+22 37665517 22:37665517T-C T C
+22 37665847 22:37665847A-G A G
+22 37666034 22:37666034G-A G A
+22 37666271 22:37666271T-C T C
+22 37666786 22:37666786C-T C T
+22 37666872 22:37666872G-A G A
+22 37667636 22:37667636T-G T G
+22 37668083 22:37668083G-A G A
+22 37668578 22:37668578A-C A C
+22 37668731 22:37668731T-C T C
+22 37668734 22:37668734G-A G A
+22 37669321 22:37669321C-T C T
+22 37669954 22:37669954C-T C T
+22 37670825 22:37670825A-G A G
+22 37671677 22:37671677C-T C T
+22 37671896 22:37671896G-A G A
+22 37672448 22:37672448G-A G A
+22 37672769 22:37672769A-G A G
+22 37673107 22:37673107C-T C T
+22 37673269 22:37673269G-T G T
+22 37673440 22:37673440C-T C T
+22 37673781 22:37673781G-A G A
+22 37673788 22:37673788C-T C T
+22 37674547 22:37674547G-A G A
+22 37674690 22:37674690G-A G A
+22 37675218 22:37675218A-G A G
+22 37676667 22:37676667C-G C G
+22 37677392 22:37677392G-T G T
+22 37677404 22:37677404T-C T C
+22 37677490 22:37677490C-T C T
+22 37677719 22:37677719G-A G A
+22 37677892 22:37677892T-C T C
+22 37677949 22:37677949C-A C A
+22 37678096 22:37678096G-A G A
+22 37678204 22:37678204C-T C T
+22 37678378 22:37678378A-G A G
+22 37678551 22:37678551A-G A G
+22 37678565 22:37678565G-A G A
+22 37678814 22:37678814C-T C T
+22 37678837 22:37678837C-T C T
+22 37679390 22:37679390T-A T A
+22 37679487 22:37679487C-G C G
+22 37679586 22:37679586A-C A C
+22 37679671 22:37679671C-T C T
+22 37679706 22:37679706G-T G T
+22 37679707 22:37679707A-T A T
+22 37679763 22:37679763A-G A G
+22 37679854 22:37679854T-C T C
+22 37679925 22:37679925G-C G C
+22 37679948 22:37679948C-T C T
+22 37680127 22:37680127G-A G A
+22 37680512 22:37680512G-A G A
+22 37682365 22:37682365C-G C G
+22 37682825 22:37682825A-G A G
+22 37682955 22:37682955T-C T C
+22 37682964 22:37682964C-T C T
+22 37683010 22:37683010A-G A G
+22 37683218 22:37683218A-G A G
+22 37683280 22:37683280G-C G C
+22 37683296 22:37683296A-G A G
+22 37683376 22:37683376T-C T C
+22 37683683 22:37683683C-T C T
+22 37683939 22:37683939T-C T C
+22 37684072 22:37684072G-C G C
+22 37684189 22:37684189C-T C T
+22 37685400 22:37685400T-C T C
+22 37685739 22:37685739G-A G A
+22 37685896 22:37685896G-A G A
+22 37686113 22:37686113C-G C G
+22 37686710 22:37686710T-C T C
+22 37691315 22:37691315T-G T G
+22 37691618 22:37691618A-G A G
+22 37691907 22:37691907A-G A G
+22 37692938 22:37692938C-T C T
+22 37693011 22:37693011G-A G A
+22 37694277 22:37694277A-G A G
+22 37695256 22:37695256T-C T C
+22 37696555 22:37696555A-G A G
+22 37697311 22:37697311C-T C T
+22 37697763 22:37697763A-G A G
+22 37698667 22:37698667A-G A G
+22 37699168 22:37699168G-A G A
+22 37699377 22:37699377T-C T C
+22 37699806 22:37699806A-G A G
+22 37700177 22:37700177T-C T C
+22 37701373 22:37701373G-A G A
+22 37702747 22:37702747G-A G A
+22 37703529 22:37703529C-T C T
+22 37704230 22:37704230G-T G T
+22 37704627 22:37704627A-G A G
+22 37704671 22:37704671C-A C A
+22 37704776 22:37704776T-C T C
+22 37707072 22:37707072C-T C T
+22 37707140 22:37707140C-T C T
+22 37707962 22:37707962C-T C T
+22 37707982 22:37707982G-A G A
+22 37708004 22:37708004T-C T C
+22 37708461 22:37708461T-G T G
+22 37708647 22:37708647C-T C T
+22 37710013 22:37710013C-T C T
+22 37710131 22:37710131C-T C T
+22 37710177 22:37710177G-A G A
+22 37710292 22:37710292G-A G A
+22 37710295 22:37710295G-A G A
+22 37710514 22:37710514T-C T C
+22 37710569 22:37710569G-T G T
+22 37710735 22:37710735G-A G A
+22 37710839 22:37710839C-T C T
+22 37711078 22:37711078C-G C G
+22 37711679 22:37711679G-A G A
+22 37711794 22:37711794C-G C G
+22 37712022 22:37712022A-G A G
+22 37712412 22:37712412C-T C T
+22 37713231 22:37713231G-A G A
+22 37713246 22:37713246A-G A G
+22 37713260 22:37713260A-C A C
+22 37713629 22:37713629T-C T C
+22 37713682 22:37713682C-T C T
+22 37713813 22:37713813G-A G A
+22 37714176 22:37714176C-T C T
+22 37714945 22:37714945T-G T G
+22 37715105 22:37715105G-A G A
+22 37715544 22:37715544G-A G A
+22 37716130 22:37716130A-G A G
+22 37717182 22:37717182G-C G C
+22 37717313 22:37717313A-G A G
+22 37717420 22:37717420A-G A G
+22 37717819 22:37717819A-T A T
+22 37717946 22:37717946T-C T C
+22 37718907 22:37718907A-G A G
+22 37719004 22:37719004T-C T C
+22 37719469 22:37719469A-G A G
+22 37720268 22:37720268A-G A G
+22 37720292 22:37720292C-T C T
+22 37721754 22:37721754T-G T G
+22 37722301 22:37722301G-A G A
+22 37722479 22:37722479T-C T C
+22 37722654 22:37722654C-T C T
+22 37722890 22:37722890A-G A G
+22 37723124 22:37723124T-C T C
+22 37723780 22:37723780G-A G A
+22 37724024 22:37724024G-A G A
+22 37724891 22:37724891G-A G A
+22 37725432 22:37725432G-C G C
+22 37726024 22:37726024G-C G C
+22 37726109 22:37726109T-C T C
+22 37726566 22:37726566A-T A T
+22 37726660 22:37726660T-C T C
+22 37726893 22:37726893G-C G C
+22 37726974 22:37726974T-C T C
+22 37727316 22:37727316C-T C T
+22 37727329 22:37727329G-C G C
+22 37727452 22:37727452C-G C G
+22 37727800 22:37727800G-T G T
+22 37728254 22:37728254T-C T C
+22 37728491 22:37728491T-C T C
+22 37728542 22:37728542G-C G C
+22 37729249 22:37729249G-C G C
+22 37729706 22:37729706T-A T A
+22 37729997 22:37729997G-A G A
+22 37730433 22:37730433C-T C T
+22 37730557 22:37730557G-A G A
+22 37730755 22:37730755G-A G A
+22 37731918 22:37731918C-A C A
+22 37732085 22:37732085C-G C G
+22 37732121 22:37732121C-T C T
+22 37733405 22:37733405C-A C A
+22 37733849 22:37733849C-T C T
+22 37734033 22:37734033T-A T A
+22 37734100 22:37734100G-T G T
+22 37734452 22:37734452T-G T G
+22 37734534 22:37734534C-T C T
+22 37734924 22:37734924C-T C T
+22 37735012 22:37735012G-C G C
+22 37735969 22:37735969G-A G A
+22 37736850 22:37736850G-A G A
+22 37737144 22:37737144T-G T G
+22 37737423 22:37737423C-T C T
+22 37737603 22:37737603G-A G A
+22 37738394 22:37738394C-T C T
+22 37738604 22:37738604C-G C G
+22 37738621 22:37738621G-A G A
+22 37738951 22:37738951A-G A G
+22 37739029 22:37739029C-T C T
+22 37739324 22:37739324G-A G A
+22 37739500 22:37739500G-A G A
+22 37739645 22:37739645G-A G A
+22 37740322 22:37740322A-G A G
+22 37740371 22:37740371G-C G C
+22 37740691 22:37740691T-A T A
+22 37740853 22:37740853C-T C T
+22 37740990 22:37740990C-T C T
+22 37741052 22:37741052G-C G C
+22 37741225 22:37741225G-A G A
+22 37741458 22:37741458A-G A G
+22 37742937 22:37742937G-A G A
+22 37742939 22:37742939G-A G A
+22 37743310 22:37743310A-G A G
+22 37744226 22:37744226G-A G A
+22 37744232 22:37744232T-A T A
+22 37745101 22:37745101T-C T C
+22 37745296 22:37745296A-G A G
+22 37745734 22:37745734C-T C T
+22 37746000 22:37746000T-C T C
+22 37746783 22:37746783G-A G A
+22 37747024 22:37747024C-A C A
+22 37747740 22:37747740T-C T C
+22 37748244 22:37748244T-G T G
+22 37748394 22:37748394A-G A G
+22 37748394 22:37748394A-T A T
+22 37748959 22:37748959G-C G C
+22 37749397 22:37749397G-A G A
+22 37749527 22:37749527G-A G A
+22 37749731 22:37749731G-A G A
+22 37749946 22:37749946C-G C G
+22 37750170 22:37750170C-T C T
+22 37750293 22:37750293C-T C T
+22 37750347 22:37750347T-C T C
+22 37750349 22:37750349T-C T C
+22 37751667 22:37751667G-A G A
+22 37751698 22:37751698A-G A G
+22 37751775 22:37751775C-T C T
+22 37751812 22:37751812T-G T G
+22 37751847 22:37751847A-G A G
+22 37751945 22:37751945A-C A C
+22 37752160 22:37752160G-A G A
+22 37752203 22:37752203A-G A G
+22 37752652 22:37752652T-C T C
+22 37752697 22:37752697C-T C T
+22 37752981 22:37752981C-T C T
+22 37753256 22:37753256T-C T C
+22 37753323 22:37753323C-T C T
+22 37753380 22:37753380G-C G C
+22 37753385 22:37753385G-A G A
+22 37753999 22:37753999C-A C A
+22 37754175 22:37754175G-A G A
+22 37754982 22:37754982G-A G A
+22 37755083 22:37755083T-C T C
+22 37755214 22:37755214G-T G T
+22 37755223 22:37755223T-C T C
+22 37755443 22:37755443A-G A G
+22 37755604 22:37755604C-T C T
+22 37755691 22:37755691G-A G A
+22 37755712 22:37755712C-T C T
+22 37756273 22:37756273C-G C G
+22 37757099 22:37757099A-G A G
+22 37757184 22:37757184C-G C G
+22 37757356 22:37757356A-G A G
+22 37757798 22:37757798A-G A G
+22 37757888 22:37757888A-G A G
+22 37758310 22:37758310C-T C T
+22 37758336 22:37758336G-A G A
+22 37758364 22:37758364A-G A G
+22 37758414 22:37758414C-T C T
+22 37758618 22:37758618G-T G T
+22 37758730 22:37758730C-G C G
+22 37759022 22:37759022C-A C A
+22 37759697 22:37759697C-T C T
+22 37759732 22:37759732C-A C A
+22 37759746 22:37759746C-T C T
+22 37759937 22:37759937A-G A G
+22 37760162 22:37760162A-G A G
+22 37760386 22:37760386G-A G A
+22 37761388 22:37761388T-C T C
+22 37761453 22:37761453A-C A C
+22 37761743 22:37761743A-C A C
+22 37761813 22:37761813T-C T C
+22 37761994 22:37761994G-A G A
+22 37763019 22:37763019G-A G A
+22 37763020 22:37763020T-C T C
+22 37763862 22:37763862G-A G A
+22 37764253 22:37764253T-C T C
+22 37764567 22:37764567C-G C G
+22 37764894 22:37764894C-T C T
+22 37766067 22:37766067G-A G A
+22 37766196 22:37766196T-C T C
+22 37766693 22:37766693A-G A G
+22 37766809 22:37766809C-T C T
+22 37770066 22:37770066G-T G T
+22 37770357 22:37770357A-G A G
+22 37770630 22:37770630G-A G A
+22 37771158 22:37771158G-A G A
+22 37771985 22:37771985A-G A G
+22 37772869 22:37772869G-T G T
+22 37773095 22:37773095C-G C G
+22 37773648 22:37773648A-G A G
+22 37773723 22:37773723A-G A G
+22 37774044 22:37774044G-A G A
+22 37774085 22:37774085T-C T C
+22 37774358 22:37774358G-A G A
+22 37774389 22:37774389A-C A C
+22 37774540 22:37774540T-C T C
+22 37774901 22:37774901T-C T C
+22 37775063 22:37775063C-T C T
+22 37775228 22:37775228T-G T G
+22 37775258 22:37775258A-G A G
+22 37775890 22:37775890C-T C T
+22 37775974 22:37775974C-G C G
+22 37777031 22:37777031A-G A G
+22 37777613 22:37777613T-G T G
+22 37777783 22:37777783C-T C T
+22 37778095 22:37778095T-C T C
+22 37778473 22:37778473C-T C T
+22 37778476 22:37778476G-T G T
+22 37778656 22:37778656C-G C G
+22 37779219 22:37779219G-A G A
+22 37779381 22:37779381G-A G A
+22 37779713 22:37779713G-T G T
+22 37779829 22:37779829C-G C G
+22 37780522 22:37780522G-C G C
+22 37781124 22:37781124G-T G T
+22 37781369 22:37781369A-G A G
+22 37781591 22:37781591G-A G A
+22 37781874 22:37781874G-T G T
+22 37782256 22:37782256A-G A G
+22 37782938 22:37782938G-T G T
+22 37783351 22:37783351G-A G A
+22 37784161 22:37784161C-T C T
+22 37784229 22:37784229G-T G T
+22 37784510 22:37784510C-G C G
+22 37786710 22:37786710G-C G C
+22 37787221 22:37787221G-A G A
+22 37787325 22:37787325A-G A G
+22 37788206 22:37788206T-A T A
+22 37788640 22:37788640A-G A G
+22 37789106 22:37789106G-A G A
+22 37789542 22:37789542G-A G A
+22 37790100 22:37790100C-T C T
+22 37790111 22:37790111A-C A C
+22 37790294 22:37790294C-A C A
+22 37790503 22:37790503G-A G A
+22 37790963 22:37790963C-T C T
+22 37792513 22:37792513C-T C T
+22 37792577 22:37792577C-T C T
+22 37792590 22:37792590A-G A G
+22 37792639 22:37792639G-A G A
+22 37793080 22:37793080C-G C G
+22 37793166 22:37793166C-T C T
+22 37793280 22:37793280C-T C T
+22 37793329 22:37793329T-C T C
+22 37793330 22:37793330G-A G A
+22 37793408 22:37793408A-G A G
+22 37793515 22:37793515C-T C T
+22 37793550 22:37793550A-T A T
+22 37793653 22:37793653T-G T G
+22 37794068 22:37794068C-G C G
+22 37794269 22:37794269T-C T C
+22 37794851 22:37794851G-A G A
+22 37795172 22:37795172C-G C G
+22 37795229 22:37795229G-A G A
+22 37795283 22:37795283A-G A G
+22 37795756 22:37795756A-G A G
+22 37796814 22:37796814G-A G A
+22 37796977 22:37796977G-C G C
+22 37797032 22:37797032G-A G A
+22 37797138 22:37797138A-G A G
+22 37797697 22:37797697G-T G T
+22 37797800 22:37797800T-C T C
+22 37797971 22:37797971C-T C T
+22 37798370 22:37798370C-G C G
+22 37798583 22:37798583C-A C A
+22 37798644 22:37798644G-T G T
+22 37798955 22:37798955G-A G A
+22 37799101 22:37799101G-C G C
+22 37799188 22:37799188G-T G T
+22 37799221 22:37799221C-T C T
+22 37799369 22:37799369A-G A G
+22 37799538 22:37799538A-G A G
+22 37799637 22:37799637C-T C T
+22 37799664 22:37799664C-T C T
+22 37799853 22:37799853C-T C T
+22 37799857 22:37799857G-A G A
+22 37799884 22:37799884G-T G T
+22 37800000 22:37800000A-G A G
+22 37800169 22:37800169G-A G A
+22 37800175 22:37800175C-T C T
+22 37800496 22:37800496G-T G T
+22 37800577 22:37800577G-A G A
+22 37800641 22:37800641C-T C T
+22 37800822 22:37800822T-C T C
+22 37800823 22:37800823G-A G A
+22 37801168 22:37801168C-G C G
+22 37801760 22:37801760G-C G C
+22 37802082 22:37802082G-A G A
+22 37802346 22:37802346G-A G A
+22 37803474 22:37803474A-G A G
+22 37803719 22:37803719G-A G A
+22 37803889 22:37803889G-T G T
+22 37804175 22:37804175G-A G A
+22 37805716 22:37805716A-G A G
+22 37805764 22:37805764T-G T G
+22 37805874 22:37805874G-A G A
+22 37806276 22:37806276C-T C T
+22 37806794 22:37806794G-A G A
+22 37806870 22:37806870A-G A G
+22 37806919 22:37806919A-G A G
+22 37806962 22:37806962G-A G A
+22 37807101 22:37807101G-A G A
+22 37807109 22:37807109A-G A G
+22 37807303 22:37807303A-C A C
+22 37808121 22:37808121G-C G C
+22 37808212 22:37808212G-C G C
+22 37808884 22:37808884A-G A G
+22 37808911 22:37808911T-C T C
+22 37808991 22:37808991T-C T C
+22 37809141 22:37809141G-A G A
+22 37809238 22:37809238G-A G A
+22 37809478 22:37809478G-A G A
+22 37809602 22:37809602C-A C A
+22 37809771 22:37809771G-A G A
+22 37810175 22:37810175T-C T C
+22 37810456 22:37810456C-G C G
+22 37810491 22:37810491A-T A T
+22 37810692 22:37810692G-A G A
+22 37810707 22:37810707A-C A C
+22 37810777 22:37810777A-G A G
+22 37811239 22:37811239G-T G T
+22 37811829 22:37811829A-G A G
+22 37811872 22:37811872G-A G A
+22 37812025 22:37812025A-G A G
+22 37812170 22:37812170A-G A G
+22 37812380 22:37812380C-T C T
+22 37812911 22:37812911A-G A G
+22 37813019 22:37813019T-C T C
+22 37814923 22:37814923G-A G A
+22 37815039 22:37815039G-A G A
+22 37815947 22:37815947C-G C G
+22 37816832 22:37816832A-G A G
+22 37816862 22:37816862T-A T A
+22 37816937 22:37816937A-G A G
+22 37817046 22:37817046G-C G C
+22 37818011 22:37818011G-T G T
+22 37818111 22:37818111T-C T C
+22 37818239 22:37818239C-G C G
+22 37818330 22:37818330T-G T G
+22 37818417 22:37818417T-C T C
+22 37818473 22:37818473G-A G A
+22 37819985 22:37819985T-G T G
+22 37820813 22:37820813T-C T C
+22 37822058 22:37822058C-A C A
+22 37822223 22:37822223T-C T C
+22 37824266 22:37824266A-G A G
+22 37824267 22:37824267C-G C G
+22 37824313 22:37824313G-C G C
+22 37824369 22:37824369A-G A G
+22 37825220 22:37825220G-C G C
+22 37826634 22:37826634G-A G A
+22 37826951 22:37826951A-C A C
+22 37827196 22:37827196T-C T C
+22 37827248 22:37827248G-A G A
+22 37827711 22:37827711G-T G T
+22 37830081 22:37830081C-A C A
+22 37830814 22:37830814C-T C T
+22 37831094 22:37831094C-T C T
+22 37831657 22:37831657G-C G C
+22 37831918 22:37831918T-A T A
+22 37832773 22:37832773C-T C T
+22 37833748 22:37833748T-C T C
+22 37835576 22:37835576G-A G A
+22 37836064 22:37836064T-C T C
+22 37836292 22:37836292A-G A G
+22 37840047 22:37840047C-T C T
+22 37841473 22:37841473T-A T A
+22 37842287 22:37842287A-C A C
+22 37843239 22:37843239C-T C T
+22 37843260 22:37843260C-T C T
+22 37843990 22:37843990G-T G T
+22 37844850 22:37844850C-T C T
+22 37845072 22:37845072G-A G A
+22 37845116 22:37845116C-T C T
+22 37845452 22:37845452A-G A G
+22 37845732 22:37845732T-C T C
+22 37846010 22:37846010G-C G C
+22 37846448 22:37846448A-G A G
+22 37847465 22:37847465G-A G A
+22 37849017 22:37849017A-C A C
+22 37852174 22:37852174A-G A G
+22 37852430 22:37852430C-T C T
+22 37853699 22:37853699A-T A T
+22 37856275 22:37856275C-T C T
+22 37857126 22:37857126G-C G C
+22 37857279 22:37857279A-G A G
+22 37857619 22:37857619C-T C T
+22 37858084 22:37858084C-T C T
+22 37858097 22:37858097C-T C T
+22 37863051 22:37863051A-G A G
+22 37863459 22:37863459T-C T C
+22 37869421 22:37869421C-T C T
+22 37871864 22:37871864C-T C T
+22 37874066 22:37874066G-C G C
+22 37876526 22:37876526G-C G C
+22 37879279 22:37879279G-A G A
+22 37879472 22:37879472C-A C A
+22 37879558 22:37879558G-A G A
+22 37880668 22:37880668G-C G C
+22 37881118 22:37881118G-A G A
+22 37881211 22:37881211G-A G A
+22 37881442 22:37881442C-T C T
+22 37881513 22:37881513G-C G C
+22 37881842 22:37881842G-A G A
+22 37882559 22:37882559T-C T C
+22 37882731 22:37882731C-T C T
+22 37882988 22:37882988G-A G A
+22 37883858 22:37883858T-C T C
+22 37886528 22:37886528T-C T C
+22 37887510 22:37887510G-C G C
+22 37888239 22:37888239C-T C T
+22 37888994 22:37888994T-C T C
+22 37889014 22:37889014C-T C T
+22 37889346 22:37889346T-G T G
+22 37889387 22:37889387C-T C T
+22 37891710 22:37891710C-A C A
+22 37892090 22:37892090A-T A T
+22 37892370 22:37892370A-G A G
+22 37893642 22:37893642A-G A G
+22 37894420 22:37894420A-G A G
+22 37894645 22:37894645G-A G A
+22 37895540 22:37895540T-C T C
+22 37895915 22:37895915T-G T G
+22 37895954 22:37895954A-G A G
+22 37896749 22:37896749T-C T C
+22 37896809 22:37896809A-G A G
+22 37897208 22:37897208C-T C T
+22 37897718 22:37897718T-C T C
+22 37898411 22:37898411A-G A G
+22 37898829 22:37898829C-T C T
+22 37898896 22:37898896A-G A G
+22 37899101 22:37899101A-G A G
+22 37899434 22:37899434A-G A G
+22 37899925 22:37899925T-C T C
+22 37899996 22:37899996G-A G A
+22 37900006 22:37900006T-C T C
+22 37900243 22:37900243G-A G A
+22 37900276 22:37900276A-G A G
+22 37900607 22:37900607G-A G A
+22 37900762 22:37900762G-A G A
+22 37900771 22:37900771A-G A G
+22 37900983 22:37900983C-G C G
+22 37902177 22:37902177T-C T C
+22 37902500 22:37902500C-T C T
+22 37902926 22:37902926G-A G A
+22 37903578 22:37903578A-G A G
+22 37904251 22:37904251T-C T C
+22 37904695 22:37904695G-A G A
+22 37904957 22:37904957C-G C G
+22 37905173 22:37905173A-G A G
+22 37905285 22:37905285C-A C A
+22 37905632 22:37905632G-A G A
+22 37906262 22:37906262C-T C T
+22 37906493 22:37906493G-A G A
+22 37906689 22:37906689A-G A G
+22 37906887 22:37906887G-A G A
+22 37906943 22:37906943G-C G C
+22 37907069 22:37907069G-A G A
+22 37908108 22:37908108C-T C T
+22 37908190 22:37908190T-G T G
+22 37908435 22:37908435T-C T C
+22 37908610 22:37908610G-C G C
+22 37908865 22:37908865G-A G A
+22 37908976 22:37908976T-C T C
+22 37909015 22:37909015A-G A G
+22 37909206 22:37909206C-T C T
+22 37909274 22:37909274C-T C T
+22 37909539 22:37909539G-A G A
+22 37910355 22:37910355G-A G A
+22 37910395 22:37910395A-G A G
+22 37910591 22:37910591G-A G A
+22 37910612 22:37910612G-A G A
+22 37910715 22:37910715G-A G A
+22 37910804 22:37910804T-G T G
+22 37911190 22:37911190T-G T G
+22 37911378 22:37911378G-A G A
+22 37911770 22:37911770T-C T C
+22 37914526 22:37914526G-A G A
+22 37915100 22:37915100A-G A G
+22 37918116 22:37918116G-A G A
+22 37918472 22:37918472T-C T C
+22 37918672 22:37918672A-C A C
+22 37919246 22:37919246C-A C A
+22 37919267 22:37919267G-A G A
+22 37919374 22:37919374T-G T G
+22 37919864 22:37919864G-C G C
+22 37920097 22:37920097T-C T C
+22 37920458 22:37920458T-C T C
+22 37920993 22:37920993C-T C T
+22 37921425 22:37921425G-A G A
+22 37921674 22:37921674T-C T C
+22 37921675 22:37921675C-T C T
+22 37921791 22:37921791T-C T C
+22 37922029 22:37922029T-G T G
+22 37922414 22:37922414T-C T C
+22 37922484 22:37922484T-C T C
+22 37922553 22:37922553T-G T G
+22 37922720 22:37922720G-A G A
+22 37923437 22:37923437T-C T C
+22 37924015 22:37924015C-G C G
+22 37924542 22:37924542C-T C T
+22 37924683 22:37924683C-G C G
+22 37925420 22:37925420G-C G C
+22 37925616 22:37925616A-G A G
+22 37925702 22:37925702T-C T C
+22 37925723 22:37925723T-A T A
+22 37925852 22:37925852A-G A G
+22 37926047 22:37926047A-G A G
+22 37926048 22:37926048C-G C G
+22 37926129 22:37926129C-T C T
+22 37926570 22:37926570G-A G A
+22 37927668 22:37927668A-G A G
+22 37928186 22:37928186A-C A C
+22 37928252 22:37928252A-C A C
+22 37928340 22:37928340G-A G A
+22 37929759 22:37929759G-T G T
+22 37929928 22:37929928A-C A C
+22 37930130 22:37930130G-A G A
+22 37931755 22:37931755C-G C G
+22 37931846 22:37931846T-C T C
+22 37932018 22:37932018G-A G A
+22 37933644 22:37933644T-C T C
+22 37933646 22:37933646G-A G A
+22 37933668 22:37933668C-T C T
+22 37934082 22:37934082G-A G A
+22 37934531 22:37934531C-T C T
+22 37934725 22:37934725G-A G A
+22 37935412 22:37935412G-A G A
+22 37935945 22:37935945G-A G A
+22 37937829 22:37937829C-G C G
+22 37938805 22:37938805T-C T C
+22 37939252 22:37939252G-A G A
+22 37939510 22:37939510G-T G T
+22 37939759 22:37939759T-A T A
+22 37942569 22:37942569G-A G A
+22 37943299 22:37943299G-A G A
+22 37943636 22:37943636C-G C G
+22 37944409 22:37944409A-C A C
+22 37944798 22:37944798A-G A G
+22 37945142 22:37945142C-T C T
+22 37945608 22:37945608G-A G A
+22 37945952 22:37945952C-T C T
+22 37946031 22:37946031A-G A G
+22 37946292 22:37946292G-A G A
+22 37946767 22:37946767G-C G C
+22 37946940 22:37946940A-G A G
+22 37947369 22:37947369A-T A T
+22 37948293 22:37948293T-A T A
+22 37949320 22:37949320G-A G A
+22 37949661 22:37949661A-T A T
+22 37950124 22:37950124G-A G A
+22 37950530 22:37950530G-A G A
+22 37950550 22:37950550G-A G A
+22 37951451 22:37951451A-G A G
+22 37952493 22:37952493A-G A G
+22 37952731 22:37952731G-C G C
+22 37952779 22:37952779C-T C T
+22 37953050 22:37953050G-A G A
+22 37953067 22:37953067A-G A G
+22 37953424 22:37953424G-A G A
+22 37955081 22:37955081T-G T G
+22 37955197 22:37955197A-G A G
+22 37956214 22:37956214A-G A G
+22 37956840 22:37956840A-C A C
+22 37958163 22:37958163G-C G C
+22 37958268 22:37958268A-G A G
+22 37958312 22:37958312A-G A G
+22 37959214 22:37959214T-C T C
+22 37960365 22:37960365G-A G A
+22 37960725 22:37960725G-T G T
+22 37960825 22:37960825G-A G A
+22 37961266 22:37961266C-T C T
+22 37961353 22:37961353C-T C T
+22 37961847 22:37961847G-A G A
+22 37961949 22:37961949C-T C T
+22 37964299 22:37964299C-G C G
+22 37965438 22:37965438C-A C A
+22 37965689 22:37965689A-G A G
+22 37965880 22:37965880G-A G A
+22 37966060 22:37966060T-C T C
+22 37967432 22:37967432G-A G A
+22 37970189 22:37970189G-A G A
+22 37970298 22:37970298G-A G A
+22 37970426 22:37970426G-C G C
+22 37970462 22:37970462G-A G A
+22 37970472 22:37970472G-A G A
+22 37970808 22:37970808G-A G A
+22 37970866 22:37970866T-C T C
+22 37970933 22:37970933A-G A G
+22 37970959 22:37970959G-A G A
+22 37970985 22:37970985A-G A G
+22 37971048 22:37971048T-G T G
+22 37971172 22:37971172G-C G C
+22 37971179 22:37971179T-C T C
+22 37971249 22:37971249C-T C T
+22 37971847 22:37971847G-C G C
+22 37972628 22:37972628G-A G A
+22 37973296 22:37973296C-T C T
+22 37973637 22:37973637C-G C G
+22 37973676 22:37973676C-G C G
+22 37973933 22:37973933G-A G A
+22 37974295 22:37974295G-C G C
+22 37976238 22:37976238C-T C T
+22 37976239 22:37976239A-T A T
+22 37976422 22:37976422T-C T C
+22 37977481 22:37977481C-T C T
+22 37992699 22:37992699A-G A G
+22 38017204 22:38017204G-A G A
+22 38033376 22:38033376T-C T C
+22 38033851 22:38033851C-G C G
+22 38033910 22:38033910C-T C T
+22 38034150 22:38034150A-G A G
+22 38034968 22:38034968G-A G A
+22 38035076 22:38035076G-A G A
+22 38035562 22:38035562A-G A G
+22 38035851 22:38035851A-G A G
+22 38036485 22:38036485C-G C G
+22 38036546 22:38036546A-G A G
+22 38037240 22:38037240G-A G A
+22 38038153 22:38038153G-A G A
+22 38039128 22:38039128A-G A G
+22 38039359 22:38039359G-A G A
+22 38039433 22:38039433G-A G A
+22 38039634 22:38039634C-G C G
+22 38039708 22:38039708T-C T C
+22 38040124 22:38040124C-T C T
+22 38040842 22:38040842C-T C T
+22 38041227 22:38041227C-T C T
+22 38041647 22:38041647A-G A G
+22 38041649 22:38041649T-C T C
+22 38042982 22:38042982G-A G A
+22 38043062 22:38043062T-A T A
+22 38043579 22:38043579A-G A G
+22 38045090 22:38045090C-T C T
+22 38045397 22:38045397A-G A G
+22 38045645 22:38045645T-C T C
+22 38046718 22:38046718A-G A G
+22 38047046 22:38047046T-G T G
+22 38047655 22:38047655G-A G A
+22 38048249 22:38048249A-G A G
+22 38048553 22:38048553A-G A G
+22 38049289 22:38049289C-A C A
+22 38050534 22:38050534C-T C T
+22 38050880 22:38050880A-G A G
+22 38051019 22:38051019G-A G A
+22 38052291 22:38052291A-G A G
+22 38053258 22:38053258A-G A G
+22 38053476 22:38053476A-T A T
+22 38053665 22:38053665G-T G T
+22 38053671 22:38053671G-A G A
+22 38053909 22:38053909C-T C T
+22 38054038 22:38054038A-G A G
+22 38054262 22:38054262A-C A C
+22 38054325 22:38054325C-T C T
+22 38054403 22:38054403A-G A G
+22 38054478 22:38054478A-G A G
+22 38057610 22:38057610G-A G A
+22 38058732 22:38058732T-C T C
+22 38059043 22:38059043C-G C G
+22 38059138 22:38059138T-C T C
+22 38059224 22:38059224C-T C T
+22 38059427 22:38059427T-C T C
+22 38059750 22:38059750T-C T C
+22 38059847 22:38059847C-A C A
+22 38060068 22:38060068G-T G T
+22 38060691 22:38060691G-C G C
+22 38060850 22:38060850G-A G A
+22 38061450 22:38061450C-G C G
+22 38061520 22:38061520C-G C G
+22 38062112 22:38062112C-G C G
+22 38063118 22:38063118C-A C A
+22 38063722 22:38063722C-G C G
+22 38063870 22:38063870G-A G A
+22 38064526 22:38064526G-A G A
+22 38064650 22:38064650C-T C T
+22 38065337 22:38065337T-C T C
+22 38065655 22:38065655A-G A G
+22 38065880 22:38065880C-T C T
+22 38065983 22:38065983G-A G A
+22 38066109 22:38066109A-T A T
+22 38066135 22:38066135A-G A G
+22 38066556 22:38066556A-C A C
+22 38067011 22:38067011C-G C G
+22 38067921 22:38067921C-T C T
+22 38068412 22:38068412G-A G A
+22 38069068 22:38069068C-A C A
+22 38069305 22:38069305G-A G A
+22 38070559 22:38070559T-C T C
+22 38070921 22:38070921A-G A G
+22 38071043 22:38071043G-A G A
+22 38071511 22:38071511T-C T C
+22 38071707 22:38071707A-G A G
+22 38072685 22:38072685C-G C G
+22 38074142 22:38074142T-C T C
+22 38074343 22:38074343C-T C T
+22 38074434 22:38074434G-A G A
+22 38075188 22:38075188T-C T C
+22 38075834 22:38075834G-A G A
+22 38076063 22:38076063G-A G A
+22 38076917 22:38076917G-A G A
+22 38077250 22:38077250G-A G A
+22 38077718 22:38077718A-G A G
+22 38077935 22:38077935C-T C T
+22 38078202 22:38078202G-A G A
+22 38078705 22:38078705G-A G A
+22 38079239 22:38079239G-A G A
+22 38079785 22:38079785C-A C A
+22 38080589 22:38080589T-C T C
+22 38080619 22:38080619G-A G A
+22 38080856 22:38080856A-T A T
+22 38081571 22:38081571C-G C G
+22 38081747 22:38081747C-A C A
+22 38083077 22:38083077T-C T C
+22 38083101 22:38083101T-C T C
+22 38085475 22:38085475A-G A G
+22 38085523 22:38085523G-A G A
+22 38085872 22:38085872T-C T C
+22 38086046 22:38086046G-C G C
+22 38086354 22:38086354A-C A C
+22 38086574 22:38086574C-T C T
+22 38089682 22:38089682G-A G A
+22 38089987 22:38089987A-G A G
+22 38091481 22:38091481A-G A G
+22 38091660 22:38091660C-T C T
+22 38091899 22:38091899A-C A C
+22 38092729 22:38092729G-C G C
+22 38092851 22:38092851T-C T C
+22 38092892 22:38092892G-A G A
+22 38093005 22:38093005C-T C T
+22 38093169 22:38093169G-A G A
+22 38093252 22:38093252G-C G C
+22 38093972 22:38093972C-T C T
+22 38095151 22:38095151C-G C G
+22 38096053 22:38096053T-C T C
+22 38096152 22:38096152G-A G A
+22 38096178 22:38096178T-C T C
+22 38096334 22:38096334C-G C G
+22 38096697 22:38096697A-G A G
+22 38097359 22:38097359C-G C G
+22 38100040 22:38100040G-A G A
+22 38101153 22:38101153G-A G A
+22 38102073 22:38102073A-G A G
+22 38102346 22:38102346C-T C T
+22 38102945 22:38102945T-A T A
+22 38103545 22:38103545A-T A T
+22 38104609 22:38104609C-G C G
+22 38104705 22:38104705A-T A T
+22 38105253 22:38105253G-A G A
+22 38105810 22:38105810C-T C T
+22 38105981 22:38105981C-T C T
+22 38106046 22:38106046C-T C T
+22 38106093 22:38106093A-G A G
+22 38106108 22:38106108C-T C T
+22 38106225 22:38106225T-G T G
+22 38106259 22:38106259A-T A T
+22 38107384 22:38107384G-A G A
+22 38107404 22:38107404G-A G A
+22 38108311 22:38108311C-T C T
+22 38108369 22:38108369C-T C T
+22 38108638 22:38108638G-A G A
+22 38109115 22:38109115G-T G T
+22 38110285 22:38110285A-G A G
+22 38110450 22:38110450C-T C T
+22 38110465 22:38110465C-T C T
+22 38112225 22:38112225T-C T C
+22 38112324 22:38112324A-G A G
+22 38113067 22:38113067T-C T C
+22 38113095 22:38113095A-G A G
+22 38113517 22:38113517C-G C G
+22 38113878 22:38113878C-G C G
+22 38114219 22:38114219C-T C T
+22 38114288 22:38114288G-A G A
+22 38114503 22:38114503C-T C T
+22 38115011 22:38115011G-T G T
+22 38115318 22:38115318C-T C T
+22 38115556 22:38115556G-A G A
+22 38115692 22:38115692G-A G A
+22 38116507 22:38116507G-T G T
+22 38117943 22:38117943T-C T C
+22 38118737 22:38118737A-G A G
+22 38118805 22:38118805A-C A C
+22 38119213 22:38119213G-A G A
+22 38121152 22:38121152C-A C A
+22 38122122 22:38122122T-C T C
+22 38122448 22:38122448C-T C T
+22 38122462 22:38122462A-G A G
+22 38122967 22:38122967G-A G A
+22 38123240 22:38123240C-T C T
+22 38123364 22:38123364C-T C T
+22 38123404 22:38123404G-T G T
+22 38123800 22:38123800T-A T A
+22 38124914 22:38124914A-G A G
+22 38124990 22:38124990T-C T C
+22 38125536 22:38125536C-A C A
+22 38126364 22:38126364G-A G A
+22 38126582 22:38126582C-T C T
+22 38126728 22:38126728T-C T C
+22 38126746 22:38126746C-A C A
+22 38127126 22:38127126G-T G T
+22 38127627 22:38127627C-T C T
+22 38127950 22:38127950C-T C T
+22 38129332 22:38129332G-A G A
+22 38130385 22:38130385A-C A C
+22 38130459 22:38130459G-T G T
+22 38134166 22:38134166G-A G A
+22 38136587 22:38136587A-C A C
+22 38136676 22:38136676C-T C T
+22 38138379 22:38138379G-C G C
+22 38140352 22:38140352T-G T G
+22 38142468 22:38142468A-G A G
+22 38144235 22:38144235C-T C T
+22 38144618 22:38144618C-T C T
+22 38146433 22:38146433T-C T C
+22 38146585 22:38146585C-T C T
+22 38148882 22:38148882G-A G A
+22 38150190 22:38150190G-A G A
+22 38151170 22:38151170G-A G A
+22 38154544 22:38154544G-A G A
+22 38154690 22:38154690A-G A G
+22 38156183 22:38156183T-A T A
+22 38157805 22:38157805A-G A G
+22 38158273 22:38158273A-G A G
+22 38158521 22:38158521A-G A G
+22 38158608 22:38158608T-C T C
+22 38158709 22:38158709A-G A G
+22 38158741 22:38158741A-G A G
+22 38160794 22:38160794A-C A C
+22 38163013 22:38163013A-C A C
+22 38164106 22:38164106C-T C T
+22 38165587 22:38165587G-A G A
+22 38170026 22:38170026G-A G A
+22 38172213 22:38172213G-A G A
+22 38172380 22:38172380C-A C A
+22 38173059 22:38173059G-T G T
+22 38173113 22:38173113C-T C T
+22 38175477 22:38175477G-T G T
+22 38175955 22:38175955G-A G A
+22 38176216 22:38176216G-A G A
+22 38176979 22:38176979T-G T G
+22 38179120 22:38179120T-A T A
+22 38179473 22:38179473C-T C T
+22 38180487 22:38180487G-T G T
+22 38181115 22:38181115C-T C T
+22 38183997 22:38183997G-A G A
+22 38184685 22:38184685A-G A G
+22 38184851 22:38184851C-T C T
+22 38184872 22:38184872C-T C T
+22 38185971 22:38185971A-G A G
+22 38185994 22:38185994T-G T G
+22 38187301 22:38187301C-T C T
+22 38187778 22:38187778C-A C A
+22 38188195 22:38188195A-C A C
+22 38188284 22:38188284C-A C A
+22 38189354 22:38189354A-G A G
+22 38190082 22:38190082G-A G A
+22 38192452 22:38192452C-T C T
+22 38193101 22:38193101G-A G A
+22 38193575 22:38193575C-T C T
+22 38193637 22:38193637T-C T C
+22 38193920 22:38193920C-T C T
+22 38195596 22:38195596G-A G A
+22 38195796 22:38195796A-G A G
+22 38195819 22:38195819C-A C A
+22 38196017 22:38196017C-T C T
+22 38196474 22:38196474C-T C T
+22 38196573 22:38196573T-G T G
+22 38196760 22:38196760G-A G A
+22 38196837 22:38196837T-C T C
+22 38197042 22:38197042A-G A G
+22 38199054 22:38199054A-G A G
+22 38199222 22:38199222G-T G T
+22 38199364 22:38199364A-G A G
+22 38199470 22:38199470C-A C A
+22 38199950 22:38199950T-C T C
+22 38200124 22:38200124C-T C T
+22 38202399 22:38202399T-C T C
+22 38202552 22:38202552T-C T C
+22 38202642 22:38202642G-T G T
+22 38202734 22:38202734G-C G C
+22 38203789 22:38203789T-G T G
+22 38203796 22:38203796C-T C T
+22 38204089 22:38204089C-T C T
+22 38204259 22:38204259C-T C T
+22 38204540 22:38204540C-A C A
+22 38204640 22:38204640A-G A G
+22 38204763 22:38204763G-C G C
+22 38205060 22:38205060A-G A G
+22 38205784 22:38205784A-C A C
+22 38205894 22:38205894T-C T C
+22 38205989 22:38205989T-C T C
+22 38206839 22:38206839G-A G A
+22 38207419 22:38207419T-G T G
+22 38207556 22:38207556A-G A G
+22 38208260 22:38208260G-C G C
+22 38208511 22:38208511T-C T C
+22 38209650 22:38209650G-A G A
+22 38210424 22:38210424C-T C T
+22 38211954 22:38211954G-A G A
+22 38212068 22:38212068C-T C T
+22 38212762 22:38212762A-G A G
+22 38213102 22:38213102T-C T C
+22 38213383 22:38213383A-G A G
+22 38216758 22:38216758A-C A C
+22 38217061 22:38217061G-C G C
+22 38217751 22:38217751C-T C T
+22 38217935 22:38217935C-T C T
+22 38218637 22:38218637C-T C T
+22 38218701 22:38218701A-G A G
+22 38219252 22:38219252T-C T C
+22 38219943 22:38219943C-T C T
+22 38221658 22:38221658A-G A G
+22 38222626 22:38222626G-A G A
+22 38222683 22:38222683C-G C G
+22 38225089 22:38225089G-A G A
+22 38226287 22:38226287C-T C T
+22 38227821 22:38227821C-G C G
+22 38229904 22:38229904T-C T C
+22 38230825 22:38230825T-C T C
+22 38235162 22:38235162G-A G A
+22 38241432 22:38241432A-G A G
+22 38242123 22:38242123G-A G A
+22 38242813 22:38242813G-A G A
+22 38243675 22:38243675A-T A T
+22 38243990 22:38243990G-A G A
+22 38244216 22:38244216C-T C T
+22 38245262 22:38245262C-G C G
+22 38247790 22:38247790A-G A G
+22 38250693 22:38250693G-C G C
+22 38250728 22:38250728C-T C T
+22 38251629 22:38251629C-G C G
+22 38251686 22:38251686T-C T C
+22 38252578 22:38252578G-A G A
+22 38255199 22:38255199A-G A G
+22 38255325 22:38255325A-G A G
+22 38258429 22:38258429G-A G A
+22 38258810 22:38258810T-C T C
+22 38263198 22:38263198C-T C T
+22 38267446 22:38267446G-C G C
+22 38267619 22:38267619T-A T A
+22 38268922 22:38268922G-A G A
+22 38272929 22:38272929C-T C T
+22 38273303 22:38273303T-G T G
+22 38273749 22:38273749T-C T C
+22 38278812 22:38278812G-A G A
+22 38280311 22:38280311C-G C G
+22 38281033 22:38281033C-G C G
+22 38282897 22:38282897C-T C T
+22 38283605 22:38283605A-G A G
+22 38285300 22:38285300T-C T C
+22 38286144 22:38286144C-T C T
+22 38290052 22:38290052G-A G A
+22 38291074 22:38291074G-A G A
+22 38291665 22:38291665G-A G A
+22 38292974 22:38292974T-C T C
+22 38295271 22:38295271T-C T C
+22 38295517 22:38295517G-A G A
+22 38296168 22:38296168T-C T C
+22 38296983 22:38296983G-A G A
+22 38297263 22:38297263A-G A G
+22 38300474 22:38300474T-C T C
+22 38300967 22:38300967A-T A T
+22 38303155 22:38303155C-T C T
+22 38304858 22:38304858G-T G T
+22 38306706 22:38306706G-A G A
+22 38306771 22:38306771T-C T C
+22 38307060 22:38307060T-C T C
+22 38307568 22:38307568G-A G A
+22 38307909 22:38307909T-C T C
+22 38308291 22:38308291C-T C T
+22 38309938 22:38309938G-A G A
+22 38312420 22:38312420C-T C T
+22 38312727 22:38312727G-T G T
+22 38314178 22:38314178A-G A G
+22 38314796 22:38314796C-T C T
+22 38315469 22:38315469C-T C T
+22 38317137 22:38317137C-T C T
+22 38318897 22:38318897G-A G A
+22 38319356 22:38319356T-C T C
+22 38320218 22:38320218T-G T G
+22 38322350 22:38322350C-T C T
+22 38323352 22:38323352G-A G A
+22 38323507 22:38323507G-T G T
+22 38324323 22:38324323T-C T C
+22 38329285 22:38329285G-A G A
+22 38329524 22:38329524G-A G A
+22 38330923 22:38330923T-A T A
+22 38331234 22:38331234A-C A C
+22 38332015 22:38332015A-C A C
+22 38334534 22:38334534T-C T C
+22 38335753 22:38335753C-T C T
+22 38336203 22:38336203G-T G T
+22 38341134 22:38341134T-C T C
+22 38343143 22:38343143T-C T C
+22 38351685 22:38351685C-A C A
+22 38351986 22:38351986T-C T C
+22 38352481 22:38352481T-C T C
+22 38353932 22:38353932C-G C G
+22 38354684 22:38354684C-T C T
+22 38356025 22:38356025A-G A G
+22 38357128 22:38357128G-T G T
+22 38358854 22:38358854C-A C A
+22 38359667 22:38359667A-C A C
+22 38360051 22:38360051C-G C G
+22 38361123 22:38361123A-G A G
+22 38361289 22:38361289G-C G C
+22 38361559 22:38361559C-T C T
+22 38364205 22:38364205G-A G A
+22 38364339 22:38364339T-C T C
+22 38364552 22:38364552T-C T C
+22 38369027 22:38369027C-T C T
+22 38369976 22:38369976A-G A G
+22 38371039 22:38371039C-T C T
+22 38371328 22:38371328C-T C T
+22 38371396 22:38371396G-C G C
+22 38375839 22:38375839C-G C G
+22 38379774 22:38379774G-A G A
+22 38386787 22:38386787C-A C A
+22 38387914 22:38387914G-T G T
+22 38388203 22:38388203G-A G A
+22 38390128 22:38390128T-G T G
+22 38392694 22:38392694G-A G A
+22 38393423 22:38393423C-A C A
+22 38393608 22:38393608G-A G A
+22 38396220 22:38396220C-T C T
+22 38397034 22:38397034G-A G A
+22 38397797 22:38397797T-C T C
+22 38399098 22:38399098A-G A G
+22 38399979 22:38399979A-G A G
+22 38405417 22:38405417C-T C T
+22 38406147 22:38406147T-C T C
+22 38406782 22:38406782A-C A C
+22 38409596 22:38409596A-G A G
+22 38415542 22:38415542C-T C T
+22 38415721 22:38415721C-T C T
+22 38417510 22:38417510T-C T C
+22 38419738 22:38419738G-A G A
+22 38426043 22:38426043A-G A G
+22 38426774 22:38426774T-C T C
+22 38427551 22:38427551G-C G C
+22 38427963 22:38427963G-A G A
+22 38431917 22:38431917G-A G A
+22 38432277 22:38432277C-T C T
+22 38432725 22:38432725C-G C G
+22 38433383 22:38433383C-T C T
+22 38441587 22:38441587A-G A G
+22 38442813 22:38442813A-G A G
+22 38444000 22:38444000G-A G A
+22 38445214 22:38445214C-A C A
+22 38445400 22:38445400C-A C A
+22 38447266 22:38447266C-A C A
+22 38447365 22:38447365T-C T C
+22 38447444 22:38447444G-A G A
+22 38448295 22:38448295C-G C G
+22 38448765 22:38448765G-A G A
+22 38448849 22:38448849A-T A T
+22 38449394 22:38449394G-A G A
+22 38449533 22:38449533G-A G A
+22 38449708 22:38449708G-A G A
+22 38450136 22:38450136C-A C A
+22 38450291 22:38450291C-T C T
+22 38450620 22:38450620A-G A G
+22 38450733 22:38450733G-A G A
+22 38450881 22:38450881G-C G C
+22 38450971 22:38450971G-A G A
+22 38451080 22:38451080A-C A C
+22 38451389 22:38451389C-T C T
+22 38451465 22:38451465C-T C T
+22 38451553 22:38451553A-G A G
+22 38452254 22:38452254C-G C G
+22 38452365 22:38452365C-G C G
+22 38452482 22:38452482G-A G A
+22 38454827 22:38454827C-A C A
+22 38455469 22:38455469T-A T A
+22 38456222 22:38456222G-A G A
+22 38456598 22:38456598A-G A G
+22 38456680 22:38456680G-A G A
+22 38457302 22:38457302C-T C T
+22 38457329 22:38457329T-C T C
+22 38457709 22:38457709G-T G T
+22 38457716 22:38457716C-T C T
+22 38458681 22:38458681G-A G A
+22 38458969 22:38458969G-C G C
+22 38460285 22:38460285G-C G C
+22 38460484 22:38460484T-C T C
+22 38462680 22:38462680C-T C T
+22 38463141 22:38463141C-A C A
+22 38463535 22:38463535C-T C T
+22 38463652 22:38463652T-G T G
+22 38463968 22:38463968A-G A G
+22 38467784 22:38467784G-C G C
+22 38473398 22:38473398C-T C T
+22 38473706 22:38473706G-A G A
+22 38474696 22:38474696A-G A G
+22 38474852 22:38474852G-A G A
+22 38474952 22:38474952C-T C T
+22 38474965 22:38474965C-T C T
+22 38476276 22:38476276C-T C T
+22 38476579 22:38476579C-T C T
+22 38477275 22:38477275G-A G A
+22 38477342 22:38477342T-A T A
+22 38477930 22:38477930G-A G A
+22 38480007 22:38480007C-T C T
+22 38480328 22:38480328G-C G C
+22 38481516 22:38481516G-A G A
+22 38485064 22:38485064C-G C G
+22 38486738 22:38486738T-C T C
+22 38487002 22:38487002G-A G A
+22 38487029 22:38487029A-G A G
+22 38487526 22:38487526A-G A G
+22 38487715 22:38487715G-A G A
+22 38488616 22:38488616A-T A T
+22 38489558 22:38489558G-T G T
+22 38490036 22:38490036G-A G A
+22 38490056 22:38490056C-T C T
+22 38490801 22:38490801G-C G C
+22 38491370 22:38491370A-G A G
+22 38491765 22:38491765G-T G T
+22 38495011 22:38495011T-C T C
+22 38495412 22:38495412G-A G A
+22 38496254 22:38496254C-A C A
+22 38497719 22:38497719A-G A G
+22 38498883 22:38498883A-G A G
+22 38498985 22:38498985G-A G A
+22 38499523 22:38499523A-G A G
+22 38499586 22:38499586A-C A C
+22 38499932 22:38499932G-A G A
+22 38500126 22:38500126C-T C T
+22 38500382 22:38500382C-A C A
+22 38500480 22:38500480G-T G T
+22 38500627 22:38500627C-T C T
+22 38500827 22:38500827G-A G A
+22 38501333 22:38501333C-T C T
+22 38501407 22:38501407T-C T C
+22 38501545 22:38501545T-G T G
+22 38501663 22:38501663T-C T C
+22 38502411 22:38502411C-T C T
+22 38502639 22:38502639T-C T C
+22 38502825 22:38502825C-G C G
+22 38502927 22:38502927C-T C T
+22 38503479 22:38503479G-A G A
+22 38503847 22:38503847C-T C T
+22 38503968 22:38503968C-T C T
+22 38503972 22:38503972C-T C T
+22 38504372 22:38504372T-C T C
+22 38505266 22:38505266A-G A G
+22 38505347 22:38505347G-A G A
+22 38505356 22:38505356A-G A G
+22 38505746 22:38505746C-T C T
+22 38505969 22:38505969A-G A G
+22 38506688 22:38506688T-C T C
+22 38507047 22:38507047G-A G A
+22 38507818 22:38507818G-T G T
+22 38509439 22:38509439C-T C T
+22 38510139 22:38510139G-A G A
+22 38510258 22:38510258G-A G A
+22 38510459 22:38510459T-C T C
+22 38512244 22:38512244G-A G A
+22 38512402 22:38512402G-A G A
+22 38512562 22:38512562G-A G A
+22 38512765 22:38512765A-G A G
+22 38513415 22:38513415T-C T C
+22 38513427 22:38513427C-A C A
+22 38513493 22:38513493C-T C T
+22 38513735 22:38513735T-C T C
+22 38513840 22:38513840T-C T C
+22 38513998 22:38513998G-A G A
+22 38514423 22:38514423C-G C G
+22 38514554 22:38514554T-G T G
+22 38514745 22:38514745A-G A G
+22 38514839 22:38514839T-C T C
+22 38514906 22:38514906A-G A G
+22 38515596 22:38515596A-G A G
+22 38515651 22:38515651G-C G C
+22 38517202 22:38517202T-C T C
+22 38517405 22:38517405T-C T C
+22 38517880 22:38517880T-G T G
+22 38518083 22:38518083G-A G A
+22 38518177 22:38518177C-T C T
+22 38518229 22:38518229G-T G T
+22 38518538 22:38518538G-A G A
+22 38518622 22:38518622A-G A G
+22 38518731 22:38518731C-T C T
+22 38519335 22:38519335A-G A G
+22 38519513 22:38519513T-C T C
+22 38519689 22:38519689A-G A G
+22 38519841 22:38519841C-T C T
+22 38520832 22:38520832A-G A G
+22 38521088 22:38521088C-G C G
+22 38522887 22:38522887A-G A G
+22 38523065 22:38523065T-C T C
+22 38523211 22:38523211G-A G A
+22 38523246 22:38523246C-G C G
+22 38524149 22:38524149G-C G C
+22 38525147 22:38525147G-A G A
+22 38526949 22:38526949G-A G A
+22 38529500 22:38529500T-G T G
+22 38530251 22:38530251C-T C T
+22 38530555 22:38530555C-T C T
+22 38530607 22:38530607C-A C A
+22 38530956 22:38530956G-A G A
+22 38531991 22:38531991C-G C G
+22 38532288 22:38532288T-C T C
+22 38533321 22:38533321G-A G A
+22 38533661 22:38533661T-C T C
+22 38533732 22:38533732T-C T C
+22 38533971 22:38533971A-T A T
+22 38534045 22:38534045T-C T C
+22 38534209 22:38534209C-T C T
+22 38534507 22:38534507T-C T C
+22 38534746 22:38534746A-G A G
+22 38534956 22:38534956T-C T C
+22 38535222 22:38535222C-T C T
+22 38535946 22:38535946G-A G A
+22 38536468 22:38536468T-C T C
+22 38536861 22:38536861C-G C G
+22 38538121 22:38538121C-G C G
+22 38538191 22:38538191A-G A G
+22 38538246 22:38538246G-C G C
+22 38538822 22:38538822T-C T C
+22 38538856 22:38538856T-C T C
+22 38538912 22:38538912C-T C T
+22 38539041 22:38539041T-C T C
+22 38539420 22:38539420A-G A G
+22 38539604 22:38539604A-G A G
+22 38539998 22:38539998G-A G A
+22 38541266 22:38541266T-C T C
+22 38541936 22:38541936G-A G A
+22 38542074 22:38542074A-G A G
+22 38542346 22:38542346G-A G A
+22 38542499 22:38542499C-T C T
+22 38542515 22:38542515T-C T C
+22 38542613 22:38542613T-C T C
+22 38543287 22:38543287T-C T C
+22 38543453 22:38543453T-C T C
+22 38544221 22:38544221A-G A G
+22 38544298 22:38544298A-G A G
+22 38545062 22:38545062T-C T C
+22 38545363 22:38545363C-T C T
+22 38545619 22:38545619A-G A G
+22 38545731 22:38545731C-A C A
+22 38545808 22:38545808G-A G A
+22 38545891 22:38545891G-A G A
+22 38545942 22:38545942T-C T C
+22 38546033 22:38546033T-C T C
+22 38546118 22:38546118C-T C T
+22 38546557 22:38546557T-C T C
+22 38546700 22:38546700G-A G A
+22 38546993 22:38546993T-C T C
+22 38547016 22:38547016C-A C A
+22 38547172 22:38547172C-T C T
+22 38547279 22:38547279G-A G A
+22 38547395 22:38547395A-C A C
+22 38548516 22:38548516T-G T G
+22 38548552 22:38548552T-A T A
+22 38548589 22:38548589G-A G A
+22 38548845 22:38548845A-C A C
+22 38548964 22:38548964C-A C A
+22 38549212 22:38549212G-A G A
+22 38549373 22:38549373T-C T C
+22 38549599 22:38549599C-T C T
+22 38549948 22:38549948G-A G A
+22 38549969 22:38549969C-T C T
+22 38550173 22:38550173A-G A G
+22 38551166 22:38551166A-G A G
+22 38551707 22:38551707A-C A C
+22 38551846 22:38551846T-C T C
+22 38552530 22:38552530G-A G A
+22 38552781 22:38552781A-G A G
+22 38552855 22:38552855C-T C T
+22 38553109 22:38553109G-T G T
+22 38553154 22:38553154C-T C T
+22 38553411 22:38553411C-T C T
+22 38555193 22:38555193C-A C A
+22 38555904 22:38555904T-G T G
+22 38556260 22:38556260T-G T G
+22 38557326 22:38557326T-C T C
+22 38557513 22:38557513T-A T A
+22 38557821 22:38557821A-G A G
+22 38558141 22:38558141C-T C T
+22 38558459 22:38558459A-G A G
+22 38558842 22:38558842C-T C T
+22 38559079 22:38559079G-C G C
+22 38559448 22:38559448C-A C A
+22 38560745 22:38560745T-C T C
+22 38560911 22:38560911C-T C T
+22 38561307 22:38561307C-T C T
+22 38561523 22:38561523C-T C T
+22 38561562 22:38561562T-C T C
+22 38561652 22:38561652G-A G A
+22 38561804 22:38561804A-G A G
+22 38561835 22:38561835T-C T C
+22 38561853 22:38561853C-T C T
+22 38561911 22:38561911T-G T G
+22 38562056 22:38562056T-C T C
+22 38562098 22:38562098A-G A G
+22 38562127 22:38562127G-T G T
+22 38562258 22:38562258T-C T C
+22 38562279 22:38562279T-C T C
+22 38562321 22:38562321C-A C A
+22 38562425 22:38562425A-G A G
+22 38562485 22:38562485C-T C T
+22 38562924 22:38562924C-T C T
+22 38563183 22:38563183C-T C T
+22 38563190 22:38563190G-A G A
+22 38563297 22:38563297C-G C G
+22 38563471 22:38563471C-T C T
+22 38563548 22:38563548A-G A G
+22 38563572 22:38563572G-A G A
+22 38563972 22:38563972T-C T C
+22 38564041 22:38564041C-G C G
+22 38564457 22:38564457T-C T C
+22 38564854 22:38564854C-G C G
+22 38565704 22:38565704C-T C T
+22 38566331 22:38566331C-T C T
+22 38566668 22:38566668G-A G A
+22 38566949 22:38566949G-A G A
+22 38566952 22:38566952C-T C T
+22 38567040 22:38567040A-G A G
+22 38567078 22:38567078C-T C T
+22 38567136 22:38567136G-A G A
+22 38567332 22:38567332T-C T C
+22 38567340 22:38567340G-A G A
+22 38567392 22:38567392A-T A T
+22 38567671 22:38567671T-C T C
+22 38567790 22:38567790C-T C T
+22 38567796 22:38567796C-G C G
+22 38567799 22:38567799G-A G A
+22 38567897 22:38567897G-A G A
+22 38568094 22:38568094G-T G T
+22 38568465 22:38568465C-A C A
+22 38568695 22:38568695A-G A G
+22 38568703 22:38568703G-A G A
+22 38568715 22:38568715G-T G T
+22 38568833 22:38568833C-G C G
+22 38568944 22:38568944A-T A T
+22 38569006 22:38569006A-G A G
+22 38569171 22:38569171T-C T C
+22 38569557 22:38569557G-A G A
+22 38569653 22:38569653G-C G C
+22 38570313 22:38570313G-A G A
+22 38570585 22:38570585A-G A G
+22 38570698 22:38570698C-A C A
+22 38570700 22:38570700C-A C A
+22 38570721 22:38570721G-A G A
+22 38570775 22:38570775C-G C G
+22 38570791 22:38570791T-C T C
+22 38570842 22:38570842T-C T C
+22 38570912 22:38570912C-T C T
+22 38570927 22:38570927C-G C G
+22 38571087 22:38571087T-G T G
+22 38571563 22:38571563A-G A G
+22 38572057 22:38572057C-T C T
+22 38572440 22:38572440G-C G C
+22 38572526 22:38572526C-G C G
+22 38572582 22:38572582C-T C T
+22 38572637 22:38572637A-C A C
+22 38572761 22:38572761G-A G A
+22 38572977 22:38572977G-A G A
+22 38573035 22:38573035A-G A G
+22 38573229 22:38573229T-C T C
+22 38573230 22:38573230G-A G A
+22 38573338 22:38573338T-C T C
+22 38573531 22:38573531G-A G A
+22 38573589 22:38573589T-C T C
+22 38573629 22:38573629T-C T C
+22 38574066 22:38574066A-G A G
+22 38575634 22:38575634A-G A G
+22 38576315 22:38576315C-T C T
+22 38576826 22:38576826G-A G A
+22 38577119 22:38577119T-G T G
+22 38577515 22:38577515G-A G A
+22 38578467 22:38578467T-G T G
+22 38579026 22:38579026G-A G A
+22 38579394 22:38579394A-G A G
+22 38579434 22:38579434G-A G A
+22 38579569 22:38579569T-A T A
+22 38580371 22:38580371G-A G A
+22 38580917 22:38580917G-T G T
+22 38581503 22:38581503G-A G A
+22 38582497 22:38582497G-A G A
+22 38582940 22:38582940C-T C T
+22 38583511 22:38583511C-G C G
+22 38585354 22:38585354A-T A T
+22 38586157 22:38586157A-C A C
+22 38587738 22:38587738G-A G A
+22 38587893 22:38587893G-A G A
+22 38588159 22:38588159G-C G C
+22 38588510 22:38588510A-G A G
+22 38588740 22:38588740T-C T C
+22 38589003 22:38589003C-T C T
+22 38589271 22:38589271T-C T C
+22 38590299 22:38590299T-A T A
+22 38590815 22:38590815G-A G A
+22 38591026 22:38591026C-T C T
+22 38591190 22:38591190C-T C T
+22 38591432 22:38591432C-T C T
+22 38591825 22:38591825A-G A G
+22 38592967 22:38592967G-A G A
+22 38593128 22:38593128T-C T C
+22 38593428 22:38593428A-G A G
+22 38593641 22:38593641T-A T A
+22 38593807 22:38593807T-C T C
+22 38593902 22:38593902A-G A G
+22 38593930 22:38593930T-C T C
+22 38594083 22:38594083C-T C T
+22 38594569 22:38594569A-G A G
+22 38594668 22:38594668G-A G A
+22 38595240 22:38595240C-T C T
+22 38595260 22:38595260A-T A T
+22 38595411 22:38595411G-A G A
+22 38595483 22:38595483G-A G A
+22 38595539 22:38595539G-A G A
+22 38595571 22:38595571C-T C T
+22 38595615 22:38595615C-T C T
+22 38596100 22:38596100G-A G A
+22 38596145 22:38596145A-C A C
+22 38597174 22:38597174G-C G C
+22 38597377 22:38597377G-C G C
+22 38597378 22:38597378G-T G T
+22 38598041 22:38598041C-T C T
+22 38598234 22:38598234A-G A G
+22 38599364 22:38599364G-A G A
+22 38599767 22:38599767C-G C G
+22 38599857 22:38599857G-C G C
+22 38599978 22:38599978G-A G A
+22 38600542 22:38600542C-T C T
+22 38600595 22:38600595A-T A T
+22 38601231 22:38601231G-T G T
+22 38602140 22:38602140T-C T C
+22 38603186 22:38603186C-G C G
+22 38604803 22:38604803C-A C A
+22 38605067 22:38605067T-G T G
+22 38605133 22:38605133C-T C T
+22 38606780 22:38606780A-G A G
+22 38606989 22:38606989C-A C A
+22 38607394 22:38607394C-T C T
+22 38608227 22:38608227T-C T C
+22 38608241 22:38608241G-C G C
+22 38609950 22:38609950G-A G A
+22 38610257 22:38610257C-T C T
+22 38611080 22:38611080C-G C G
+22 38612211 22:38612211A-G A G
+22 38612372 22:38612372A-C A C
+22 38612604 22:38612604G-A G A
+22 38613768 22:38613768G-C G C
+22 38614090 22:38614090T-C T C
+22 38614095 22:38614095A-G A G
+22 38614129 22:38614129C-A C A
+22 38614933 22:38614933C-T C T
+22 38615536 22:38615536A-T A T
+22 38617333 22:38617333T-C T C
+22 38620057 22:38620057G-A G A
+22 38622598 22:38622598C-A C A
+22 38623313 22:38623313G-A G A
+22 38623714 22:38623714G-A G A
+22 38625033 22:38625033A-C A C
+22 38626278 22:38626278A-G A G
+22 38626556 22:38626556G-T G T
+22 38628144 22:38628144A-T A T
+22 38628306 22:38628306C-A C A
+22 38628388 22:38628388T-G T G
+22 38628584 22:38628584G-A G A
+22 38628739 22:38628739A-G A G
+22 38629519 22:38629519T-C T C
+22 38629899 22:38629899T-C T C
+22 38630272 22:38630272T-C T C
+22 38630287 22:38630287C-T C T
+22 38630956 22:38630956G-A G A
+22 38631768 22:38631768T-C T C
+22 38633425 22:38633425G-A G A
+22 38633666 22:38633666A-C A C
+22 38634266 22:38634266C-T C T
+22 38634388 22:38634388C-T C T
+22 38635359 22:38635359C-T C T
+22 38635679 22:38635679C-T C T
+22 38635925 22:38635925T-A T A
+22 38637676 22:38637676A-G A G
+22 38637808 22:38637808T-C T C
+22 38637842 22:38637842G-A G A
+22 38638071 22:38638071C-T C T
+22 38638234 22:38638234G-A G A
+22 38638597 22:38638597T-C T C
+22 38638897 22:38638897G-A G A
+22 38639314 22:38639314C-T C T
+22 38640312 22:38640312A-G A G
+22 38640841 22:38640841A-G A G
+22 38642343 22:38642343T-C T C
+22 38642494 22:38642494A-G A G
+22 38643317 22:38643317G-A G A
+22 38643420 22:38643420C-T C T
+22 38644195 22:38644195T-C T C
+22 38645720 22:38645720C-T C T
+22 38646063 22:38646063G-A G A
+22 38646460 22:38646460C-T C T
+22 38646963 22:38646963C-G C G
+22 38647215 22:38647215C-T C T
+22 38647639 22:38647639A-G A G
+22 38649142 22:38649142A-C A C
+22 38649153 22:38649153C-T C T
+22 38649783 22:38649783C-T C T
+22 38650488 22:38650488C-T C T
+22 38650644 22:38650644A-T A T
+22 38650731 22:38650731C-A C A
+22 38652339 22:38652339C-G C G
+22 38652531 22:38652531G-A G A
+22 38652566 22:38652566T-C T C
+22 38653575 22:38653575G-A G A
+22 38653689 22:38653689T-C T C
+22 38655571 22:38655571C-G C G
+22 38655597 22:38655597C-T C T
+22 38655906 22:38655906A-G A G
+22 38656243 22:38656243T-G T G
+22 38656685 22:38656685A-G A G
+22 38658055 22:38658055G-A G A
+22 38658577 22:38658577G-C G C
+22 38658628 22:38658628G-A G A
+22 38658633 22:38658633C-T C T
+22 38659000 22:38659000T-C T C
+22 38659835 22:38659835C-G C G
+22 38659842 22:38659842G-A G A
+22 38659896 22:38659896T-C T C
+22 38660411 22:38660411T-C T C
+22 38660566 22:38660566G-A G A
+22 38660871 22:38660871C-T C T
+22 38661860 22:38661860A-C A C
+22 38662163 22:38662163G-A G A
+22 38662284 22:38662284A-C A C
+22 38662396 22:38662396T-C T C
+22 38662856 22:38662856G-A G A
+22 38663819 22:38663819A-G A G
+22 38663856 22:38663856G-A G A
+22 38664071 22:38664071A-G A G
+22 38664539 22:38664539C-G C G
+22 38664789 22:38664789G-A G A
+22 38665815 22:38665815A-T A T
+22 38666186 22:38666186C-G C G
+22 38666373 22:38666373G-A G A
+22 38669888 22:38669888T-A T A
+22 38671152 22:38671152T-C T C
+22 38671780 22:38671780T-C T C
+22 38672485 22:38672485G-T G T
+22 38672669 22:38672669T-C T C
+22 38673234 22:38673234G-A G A
+22 38673579 22:38673579A-G A G
+22 38673790 22:38673790A-G A G
+22 38674172 22:38674172A-G A G
+22 38675000 22:38675000G-C G C
+22 38675476 22:38675476T-C T C
+22 38675738 22:38675738C-A C A
+22 38676016 22:38676016C-T C T
+22 38676837 22:38676837C-T C T
+22 38677449 22:38677449T-C T C
+22 38677821 22:38677821T-C T C
+22 38677967 22:38677967C-T C T
+22 38678387 22:38678387T-G T G
+22 38678451 22:38678451G-A G A
+22 38678564 22:38678564T-G T G
+22 38678663 22:38678663T-C T C
+22 38678746 22:38678746C-A C A
+22 38678975 22:38678975A-G A G
+22 38679069 22:38679069T-C T C
+22 38679073 22:38679073C-T C T
+22 38679405 22:38679405T-G T G
+22 38679641 22:38679641A-G A G
+22 38679781 22:38679781G-T G T
+22 38680361 22:38680361T-C T C
+22 38680451 22:38680451T-C T C
+22 38680554 22:38680554C-T C T
+22 38681644 22:38681644C-T C T
+22 38681840 22:38681840G-A G A
+22 38682132 22:38682132C-T C T
+22 38682361 22:38682361C-T C T
+22 38682762 22:38682762A-G A G
+22 38682854 22:38682854A-G A G
+22 38682891 22:38682891G-A G A
+22 38682898 22:38682898T-C T C
+22 38682954 22:38682954T-G T G
+22 38683637 22:38683637G-C G C
+22 38684067 22:38684067C-T C T
+22 38684729 22:38684729C-G C G
+22 38685131 22:38685131T-C T C
+22 38685423 22:38685423A-C A C
+22 38685519 22:38685519G-A G A
+22 38686235 22:38686235C-G C G
+22 38687997 22:38687997T-C T C
+22 38689984 22:38689984T-A T A
+22 38690698 22:38690698A-G A G
+22 38690889 22:38690889C-A C A
+22 38692380 22:38692380A-G A G
+22 38694373 22:38694373A-C A C
+22 38695099 22:38695099T-C T C
+22 38695406 22:38695406C-T C T
+22 38699672 22:38699672A-G A G
+22 38700948 22:38700948G-A G A
+22 38701094 22:38701094G-T G T
+22 38701393 22:38701393C-T C T
+22 38701638 22:38701638C-T C T
+22 38702504 22:38702504G-A G A
+22 38703106 22:38703106G-A G A
+22 38703302 22:38703302T-C T C
+22 38703589 22:38703589C-G C G
+22 38703653 22:38703653A-G A G
+22 38703883 22:38703883T-C T C
+22 38704284 22:38704284G-T G T
+22 38705588 22:38705588T-C T C
+22 38705591 22:38705591C-T C T
+22 38707471 22:38707471C-T C T
+22 38708118 22:38708118T-C T C
+22 38708266 22:38708266A-G A G
+22 38708404 22:38708404A-C A C
+22 38708506 22:38708506G-A G A
+22 38708606 22:38708606C-T C T
+22 38715222 22:38715222G-A G A
+22 38716638 22:38716638C-G C G
+22 38717440 22:38717440T-C T C
+22 38717975 22:38717975A-G A G
+22 38718368 22:38718368A-G A G
+22 38718539 22:38718539G-T G T
+22 38718640 22:38718640G-A G A
+22 38718667 22:38718667C-T C T
+22 38719189 22:38719189A-G A G
+22 38719488 22:38719488C-T C T
+22 38719702 22:38719702G-T G T
+22 38719726 22:38719726C-T C T
+22 38719801 22:38719801T-C T C
+22 38719962 22:38719962C-T C T
+22 38720115 22:38720115T-C T C
+22 38720434 22:38720434A-G A G
+22 38723050 22:38723050C-T C T
+22 38724132 22:38724132T-A T A
+22 38724576 22:38724576G-T G T
+22 38724682 22:38724682C-A C A
+22 38729433 22:38729433A-G A G
+22 38732824 22:38732824G-A G A
+22 38734069 22:38734069T-C T C
+22 38734157 22:38734157C-T C T
+22 38735364 22:38735364A-G A G
+22 38739491 22:38739491C-T C T
+22 38740853 22:38740853C-G C G
+22 38741696 22:38741696G-A G A
+22 38741793 22:38741793C-A C A
+22 38742033 22:38742033A-C A C
+22 38743302 22:38743302C-G C G
+22 38744184 22:38744184T-C T C
+22 38744727 22:38744727T-G T G
+22 38746369 22:38746369C-T C T
+22 38746745 22:38746745C-A C A
+22 38748940 22:38748940T-C T C
+22 38749074 22:38749074C-A C A
+22 38749429 22:38749429T-C T C
+22 38749925 22:38749925T-A T A
+22 38752520 22:38752520C-T C T
+22 38754272 22:38754272C-T C T
+22 38757454 22:38757454A-G A G
+22 38758521 22:38758521T-C T C
+22 38758989 22:38758989G-A G A
+22 38759201 22:38759201T-C T C
+22 38760918 22:38760918G-T G T
+22 38761000 22:38761000G-A G A
+22 38761636 22:38761636G-A G A
+22 38762026 22:38762026C-A C A
+22 38763792 22:38763792A-G A G
+22 38764388 22:38764388A-G A G
+22 38764732 22:38764732C-A C A
+22 38764988 22:38764988G-C G C
+22 38766229 22:38766229C-A C A
+22 38769021 22:38769021C-T C T
+22 38769211 22:38769211T-C T C
+22 38769292 22:38769292A-G A G
+22 38769522 22:38769522T-C T C
+22 38771840 22:38771840C-G C G
+22 38774403 22:38774403A-G A G
+22 38774740 22:38774740C-T C T
+22 38775970 22:38775970C-G C G
+22 38777305 22:38777305T-C T C
+22 38777309 22:38777309T-C T C
+22 38777396 22:38777396T-C T C
+22 38777877 22:38777877C-G C G
+22 38778390 22:38778390T-A T A
+22 38778957 22:38778957G-A G A
+22 38779054 22:38779054T-C T C
+22 38779609 22:38779609C-T C T
+22 38785063 22:38785063C-A C A
+22 38785507 22:38785507G-C G C
+22 38789676 22:38789676C-T C T
+22 38789936 22:38789936G-A G A
+22 38790131 22:38790131T-A T A
+22 38790528 22:38790528C-T C T
+22 38790760 22:38790760A-G A G
+22 38791067 22:38791067G-A G A
+22 38793267 22:38793267A-G A G
+22 38794039 22:38794039C-T C T
+22 38794660 22:38794660G-A G A
+22 38795270 22:38795270C-G C G
+22 38795300 22:38795300T-C T C
+22 38796420 22:38796420C-G C G
+22 38796786 22:38796786T-C T C
+22 38796813 22:38796813T-C T C
+22 38798187 22:38798187C-T C T
+22 38799301 22:38799301C-A C A
+22 38799861 22:38799861C-T C T
+22 38800590 22:38800590A-G A G
+22 38800842 22:38800842G-A G A
+22 38801059 22:38801059C-T C T
+22 38803063 22:38803063C-T C T
+22 38803165 22:38803165A-G A G
+22 38803256 22:38803256G-A G A
+22 38804294 22:38804294T-C T C
+22 38807144 22:38807144T-C T C
+22 38807182 22:38807182C-T C T
+22 38808369 22:38808369A-G A G
+22 38808767 22:38808767C-G C G
+22 38809485 22:38809485C-T C T
+22 38809549 22:38809549C-T C T
+22 38809602 22:38809602A-C A C
+22 38811282 22:38811282C-T C T
+22 38811608 22:38811608T-C T C
+22 38813000 22:38813000G-T G T
+22 38813069 22:38813069C-T C T
+22 38813175 22:38813175C-T C T
+22 38813808 22:38813808G-A G A
+22 38815543 22:38815543G-T G T
+22 38815767 22:38815767C-T C T
+22 38816059 22:38816059T-C T C
+22 38816351 22:38816351G-A G A
+22 38817047 22:38817047A-G A G
+22 38817105 22:38817105C-T C T
+22 38817206 22:38817206C-T C T
+22 38817404 22:38817404T-C T C
+22 38817459 22:38817459G-A G A
+22 38817857 22:38817857A-G A G
+22 38818243 22:38818243G-A G A
+22 38818676 22:38818676C-G C G
+22 38819194 22:38819194G-C G C
+22 38819613 22:38819613G-A G A
+22 38821504 22:38821504G-A G A
+22 38821589 22:38821589A-G A G
+22 38822300 22:38822300C-T C T
+22 38822521 22:38822521C-T C T
+22 38822698 22:38822698C-T C T
+22 38823136 22:38823136T-C T C
+22 38824612 22:38824612G-A G A
+22 38824633 22:38824633G-A G A
+22 38825165 22:38825165C-T C T
+22 38826395 22:38826395G-A G A
+22 38826799 22:38826799C-T C T
+22 38828193 22:38828193A-G A G
+22 38829774 22:38829774G-C G C
+22 38831204 22:38831204C-A C A
+22 38831661 22:38831661G-A G A
+22 38831812 22:38831812T-C T C
+22 38831870 22:38831870C-G C G
+22 38832512 22:38832512G-A G A
+22 38832758 22:38832758T-A T A
+22 38833266 22:38833266C-T C T
+22 38833595 22:38833595C-G C G
+22 38834840 22:38834840C-G C G
+22 38835006 22:38835006G-T G T
+22 38836089 22:38836089C-T C T
+22 38837179 22:38837179C-T C T
+22 38838730 22:38838730G-A G A
+22 38838996 22:38838996T-C T C
+22 38839461 22:38839461C-T C T
+22 38839485 22:38839485C-A C A
+22 38839874 22:38839874G-A G A
+22 38840113 22:38840113G-A G A
+22 38840221 22:38840221C-T C T
+22 38840337 22:38840337T-G T G
+22 38841336 22:38841336G-A G A
+22 38841611 22:38841611C-T C T
+22 38841703 22:38841703T-C T C
+22 38841859 22:38841859G-A G A
+22 38842042 22:38842042T-C T C
+22 38842839 22:38842839T-A T A
+22 38842841 22:38842841G-A G A
+22 38843107 22:38843107C-T C T
+22 38843762 22:38843762C-G C G
+22 38843941 22:38843941C-T C T
+22 38844724 22:38844724C-T C T
+22 38844803 22:38844803C-G C G
+22 38845788 22:38845788G-A G A
+22 38846891 22:38846891A-G A G
+22 38847650 22:38847650A-G A G
+22 38848128 22:38848128G-A G A
+22 38848204 22:38848204A-G A G
+22 38848523 22:38848523G-A G A
+22 38849420 22:38849420C-T C T
+22 38849679 22:38849679T-C T C
+22 38849689 22:38849689G-A G A
+22 38849787 22:38849787C-T C T
+22 38849993 22:38849993T-C T C
+22 38851675 22:38851675G-C G C
+22 38851830 22:38851830T-C T C
+22 38852396 22:38852396G-A G A
+22 38852575 22:38852575C-A C A
+22 38852600 22:38852600C-A C A
+22 38853677 22:38853677T-C T C
+22 38854317 22:38854317C-T C T
+22 38854428 22:38854428A-G A G
+22 38854971 22:38854971C-T C T
+22 38855551 22:38855551T-G T G
+22 38858204 22:38858204C-A C A
+22 38858326 22:38858326C-T C T
+22 38858902 22:38858902T-C T C
+22 38858910 22:38858910G-A G A
+22 38859011 22:38859011T-A T A
+22 38859060 22:38859060T-C T C
+22 38860008 22:38860008A-G A G
+22 38860071 22:38860071C-T C T
+22 38861346 22:38861346C-T C T
+22 38862628 22:38862628C-T C T
+22 38863006 22:38863006C-T C T
+22 38865863 22:38865863C-T C T
+22 38866053 22:38866053G-A G A
+22 38866367 22:38866367C-T C T
+22 38866491 22:38866491G-T G T
+22 38866611 22:38866611A-G A G
+22 38874396 22:38874396C-T C T
+22 38877461 22:38877461T-G T G
+22 38879010 22:38879010T-A T A
+22 38879688 22:38879688G-A G A
+22 38879940 22:38879940A-G A G
+22 38881454 22:38881454A-C A C
+22 38884775 22:38884775C-T C T
+22 38889657 22:38889657C-T C T
+22 38891435 22:38891435A-G A G
+22 38898051 22:38898051T-C T C
+22 38901094 22:38901094A-G A G
+22 38906432 22:38906432C-T C T
+22 38910810 22:38910810C-T C T
+22 38911260 22:38911260A-G A G
+22 38912771 22:38912771A-G A G
+22 38918523 22:38918523G-T G T
+22 38918894 22:38918894T-G T G
+22 38921084 22:38921084T-A T A
+22 38923675 22:38923675T-C T C
+22 38925719 22:38925719A-C A C
+22 38931537 22:38931537G-A G A
+22 38935927 22:38935927C-G C G
+22 38937794 22:38937794G-A G A
+22 38938936 22:38938936G-T G T
+22 38944645 22:38944645G-A G A
+22 38947835 22:38947835C-T C T
+22 38949073 22:38949073A-G A G
+22 38949116 22:38949116G-A G A
+22 38949376 22:38949376G-A G A
+22 38952573 22:38952573C-T C T
+22 38954703 22:38954703C-G C G
+22 38956166 22:38956166C-T C T
+22 38956464 22:38956464C-G C G
+22 38957013 22:38957013T-C T C
+22 38957483 22:38957483G-A G A
+22 38964928 22:38964928A-C A C
+22 38966487 22:38966487A-G A G
+22 38970439 22:38970439G-A G A
+22 38971950 22:38971950T-C T C
+22 38974154 22:38974154C-A C A
+22 38974680 22:38974680C-T C T
+22 38975511 22:38975511G-A G A
+22 38977890 22:38977890G-C G C
+22 38979235 22:38979235T-C T C
+22 38981010 22:38981010C-T C T
+22 38982321 22:38982321T-C T C
+22 38982442 22:38982442T-A T A
+22 38982743 22:38982743A-G A G
+22 38984480 22:38984480C-T C T
+22 38985065 22:38985065T-C T C
+22 38985818 22:38985818A-C A C
+22 38986248 22:38986248G-A G A
+22 38988115 22:38988115A-G A G
+22 38989007 22:38989007C-G C G
+22 38989646 22:38989646T-C T C
+22 38989813 22:38989813A-G A G
+22 38990662 22:38990662G-A G A
+22 38990738 22:38990738C-T C T
+22 38991393 22:38991393G-T G T
+22 38993370 22:38993370C-T C T
+22 38993467 22:38993467A-G A G
+22 38993963 22:38993963G-A G A
+22 38993976 22:38993976A-C A C
+22 38994577 22:38994577C-T C T
+22 38995385 22:38995385G-T G T
+22 38997269 22:38997269C-G C G
+22 38998065 22:38998065G-C G C
+22 38998519 22:38998519C-A C A
+22 38999121 22:38999121T-C T C
+22 39000397 22:39000397G-A G A
+22 39003495 22:39003495G-A G A
+22 39004577 22:39004577A-C A C
+22 39005026 22:39005026A-G A G
+22 39005062 22:39005062A-T A T
+22 39006934 22:39006934A-G A G
+22 39007174 22:39007174A-C A C
+22 39009017 22:39009017A-G A G
+22 39013425 22:39013425C-G C G
+22 39013522 22:39013522G-A G A
+22 39013830 22:39013830T-C T C
+22 39015302 22:39015302T-C T C
+22 39016182 22:39016182T-C T C
+22 39016403 22:39016403A-G A G
+22 39018179 22:39018179T-A T A
+22 39018334 22:39018334T-C T C
+22 39019853 22:39019853C-T C T
+22 39020266 22:39020266C-A C A
+22 39021165 22:39021165T-C T C
+22 39021326 22:39021326T-G T G
+22 39021522 22:39021522G-A G A
+22 39021717 22:39021717G-A G A
+22 39025277 22:39025277T-C T C
+22 39026872 22:39026872C-T C T
+22 39028913 22:39028913C-T C T
+22 39029695 22:39029695T-C T C
+22 39032270 22:39032270C-T C T
+22 39032348 22:39032348C-T C T
+22 39034867 22:39034867G-A G A
+22 39036280 22:39036280T-C T C
+22 39036769 22:39036769T-C T C
+22 39037954 22:39037954G-A G A
+22 39038790 22:39038790A-C A C
+22 39038796 22:39038796T-C T C
+22 39039855 22:39039855G-C G C
+22 39040279 22:39040279G-A G A
+22 39040617 22:39040617T-G T G
+22 39040733 22:39040733G-A G A
+22 39040825 22:39040825G-A G A
+22 39040845 22:39040845C-G C G
+22 39040890 22:39040890T-C T C
+22 39041041 22:39041041A-G A G
+22 39042214 22:39042214C-G C G
+22 39042221 22:39042221G-T G T
+22 39042818 22:39042818C-A C A
+22 39043021 22:39043021G-A G A
+22 39043491 22:39043491T-G T G
+22 39044152 22:39044152G-C G C
+22 39044427 22:39044427A-C A C
+22 39044806 22:39044806C-T C T
+22 39045099 22:39045099T-C T C
+22 39046327 22:39046327T-C T C
+22 39046700 22:39046700A-C A C
+22 39047435 22:39047435G-T G T
+22 39047443 22:39047443A-G A G
+22 39048316 22:39048316A-G A G
+22 39048755 22:39048755T-G T G
+22 39049230 22:39049230A-C A C
+22 39049317 22:39049317A-G A G
+22 39051124 22:39051124G-A G A
+22 39051344 22:39051344G-A G A
+22 39051428 22:39051428T-C T C
+22 39051705 22:39051705C-T C T
+22 39052116 22:39052116C-T C T
+22 39052155 22:39052155G-A G A
+22 39053049 22:39053049T-C T C
+22 39053382 22:39053382A-G A G
+22 39053757 22:39053757G-C G C
+22 39053888 22:39053888C-T C T
+22 39054216 22:39054216T-C T C
+22 39054261 22:39054261T-G T G
+22 39054450 22:39054450A-T A T
+22 39054497 22:39054497A-G A G
+22 39054771 22:39054771A-G A G
+22 39055049 22:39055049G-T G T
+22 39055204 22:39055204G-A G A
+22 39055303 22:39055303C-T C T
+22 39055613 22:39055613G-A G A
+22 39055684 22:39055684G-A G A
+22 39056325 22:39056325G-A G A
+22 39056356 22:39056356C-T C T
+22 39057661 22:39057661A-G A G
+22 39057763 22:39057763C-T C T
+22 39058757 22:39058757T-G T G
+22 39058946 22:39058946G-A G A
+22 39059054 22:39059054A-G A G
+22 39059404 22:39059404A-C A C
+22 39059649 22:39059649T-C T C
+22 39059919 22:39059919T-C T C
+22 39060917 22:39060917C-T C T
+22 39061030 22:39061030G-A G A
+22 39061901 22:39061901A-G A G
+22 39062194 22:39062194T-C T C
+22 39062694 22:39062694C-T C T
+22 39064209 22:39064209G-A G A
+22 39064230 22:39064230A-G A G
+22 39064378 22:39064378T-A T A
+22 39064406 22:39064406A-G A G
+22 39064667 22:39064667T-C T C
+22 39064681 22:39064681C-T C T
+22 39064806 22:39064806A-C A C
+22 39064966 22:39064966C-T C T
+22 39065172 22:39065172A-G A G
+22 39065582 22:39065582A-G A G
+22 39065739 22:39065739A-G A G
+22 39065743 22:39065743G-C G C
+22 39066001 22:39066001T-C T C
+22 39066210 22:39066210A-G A G
+22 39066820 22:39066820C-T C T
+22 39067331 22:39067331G-A G A
+22 39067524 22:39067524A-G A G
+22 39068789 22:39068789T-C T C
+22 39069045 22:39069045A-G A G
+22 39069181 22:39069181T-C T C
+22 39069510 22:39069510T-C T C
+22 39070089 22:39070089A-G A G
+22 39070550 22:39070550T-C T C
+22 39070735 22:39070735A-G A G
+22 39070811 22:39070811C-T C T
+22 39071658 22:39071658A-G A G
+22 39071677 22:39071677C-T C T
+22 39072098 22:39072098C-G C G
+22 39072454 22:39072454C-T C T
+22 39072472 22:39072472G-A G A
+22 39072686 22:39072686C-T C T
+22 39072769 22:39072769C-T C T
+22 39073061 22:39073061C-T C T
+22 39073075 22:39073075C-G C G
+22 39073835 22:39073835G-C G C
+22 39073896 22:39073896A-G A G
+22 39074452 22:39074452T-C T C
+22 39074716 22:39074716G-A G A
+22 39074737 22:39074737A-G A G
+22 39075060 22:39075060T-C T C
+22 39075145 22:39075145C-T C T
+22 39075235 22:39075235G-C G C
+22 39075434 22:39075434C-G C G
+22 39075592 22:39075592C-T C T
+22 39076273 22:39076273A-C A C
+22 39077058 22:39077058C-T C T
+22 39079413 22:39079413A-G A G
+22 39079964 22:39079964T-C T C
+22 39080078 22:39080078T-C T C
+22 39080245 22:39080245A-G A G
+22 39080638 22:39080638T-A T A
+22 39082174 22:39082174A-G A G
+22 39082949 22:39082949C-G C G
+22 39088764 22:39088764C-T C T
+22 39091151 22:39091151T-C T C
+22 39092524 22:39092524C-T C T
+22 39094619 22:39094619A-C A C
+22 39095698 22:39095698C-G C G
+22 39096602 22:39096602T-C T C
+22 39098743 22:39098743A-G A G
+22 39098787 22:39098787T-C T C
+22 39098860 22:39098860C-T C T
+22 39099602 22:39099602T-C T C
+22 39100128 22:39100128G-A G A
+22 39100239 22:39100239T-C T C
+22 39101619 22:39101619G-C G C
+22 39101633 22:39101633T-C T C
+22 39104168 22:39104168A-G A G
+22 39104320 22:39104320C-T C T
+22 39105707 22:39105707G-A G A
+22 39105948 22:39105948T-C T C
+22 39107001 22:39107001G-A G A
+22 39107338 22:39107338A-G A G
+22 39109559 22:39109559G-A G A
+22 39110124 22:39110124G-A G A
+22 39110437 22:39110437T-C T C
+22 39113134 22:39113134G-A G A
+22 39113903 22:39113903C-T C T
+22 39115673 22:39115673C-T C T
+22 39116082 22:39116082C-T C T
+22 39116706 22:39116706G-A G A
+22 39116795 22:39116795A-C A C
+22 39117469 22:39117469T-G T G
+22 39121252 22:39121252A-G A G
+22 39124467 22:39124467C-T C T
+22 39124912 22:39124912C-T C T
+22 39125074 22:39125074C-G C G
+22 39126508 22:39126508A-G A G
+22 39128842 22:39128842A-G A G
+22 39129708 22:39129708G-A G A
+22 39129999 22:39129999A-G A G
+22 39130843 22:39130843C-G C G
+22 39130964 22:39130964C-T C T
+22 39130971 22:39130971A-G A G
+22 39131727 22:39131727T-G T G
+22 39132601 22:39132601A-T A T
+22 39132748 22:39132748G-A G A
+22 39133410 22:39133410A-G A G
+22 39133589 22:39133589C-T C T
+22 39133659 22:39133659G-A G A
+22 39133803 22:39133803C-T C T
+22 39134207 22:39134207C-T C T
+22 39134715 22:39134715T-C T C
+22 39137834 22:39137834C-G C G
+22 39139216 22:39139216C-G C G
+22 39139343 22:39139343A-G A G
+22 39139913 22:39139913C-T C T
+22 39141600 22:39141600G-A G A
+22 39142615 22:39142615T-C T C
+22 39146527 22:39146527C-T C T
+22 39147235 22:39147235A-C A C
+22 39147715 22:39147715C-T C T
+22 39148483 22:39148483G-A G A
+22 39149155 22:39149155C-T C T
+22 39150450 22:39150450G-A G A
+22 39150543 22:39150543G-T G T
+22 39152412 22:39152412A-G A G
+22 39154316 22:39154316T-C T C
+22 39155873 22:39155873C-T C T
+22 39156597 22:39156597G-T G T
+22 39157315 22:39157315G-A G A
+22 39157384 22:39157384G-A G A
+22 39157394 22:39157394G-C G C
+22 39157404 22:39157404C-T C T
+22 39157755 22:39157755A-G A G
+22 39158098 22:39158098C-G C G
+22 39158936 22:39158936C-G C G
+22 39159201 22:39159201T-C T C
+22 39159724 22:39159724G-A G A
+22 39160117 22:39160117C-T C T
+22 39161274 22:39161274A-G A G
+22 39163014 22:39163014A-G A G
+22 39163856 22:39163856G-A G A
+22 39164781 22:39164781G-A G A
+22 39165962 22:39165962C-T C T
+22 39166039 22:39166039C-T C T
+22 39166352 22:39166352C-T C T
+22 39166969 22:39166969T-A T A
+22 39167166 22:39167166C-A C A
+22 39168258 22:39168258A-G A G
+22 39168987 22:39168987T-C T C
+22 39169721 22:39169721A-C A C
+22 39170066 22:39170066T-G T G
+22 39170961 22:39170961C-G C G
+22 39171389 22:39171389C-G C G
+22 39171895 22:39171895C-A C A
+22 39172062 22:39172062A-G A G
+22 39172111 22:39172111C-T C T
+22 39172286 22:39172286C-T C T
+22 39172340 22:39172340A-T A T
+22 39172588 22:39172588G-T G T
+22 39175267 22:39175267G-A G A
+22 39176125 22:39176125T-C T C
+22 39178375 22:39178375G-A G A
+22 39178393 22:39178393T-C T C
+22 39178701 22:39178701A-G A G
+22 39179410 22:39179410A-G A G
+22 39180472 22:39180472G-A G A
+22 39181596 22:39181596G-C G C
+22 39183883 22:39183883C-A C A
+22 39184639 22:39184639A-C A C
+22 39185188 22:39185188C-A C A
+22 39186358 22:39186358G-A G A
+22 39187956 22:39187956T-C T C
+22 39188173 22:39188173C-T C T
+22 39190096 22:39190096G-T G T
+22 39190465 22:39190465T-C T C
+22 39190824 22:39190824T-C T C
+22 39192226 22:39192226T-C T C
+22 39192995 22:39192995A-G A G
+22 39193066 22:39193066C-T C T
+22 39193928 22:39193928C-A C A
+22 39195562 22:39195562A-G A G
+22 39196937 22:39196937T-C T C
+22 39197230 22:39197230G-A G A
+22 39197769 22:39197769T-A T A
+22 39197939 22:39197939A-G A G
+22 39198240 22:39198240G-T G T
+22 39199936 22:39199936C-T C T
+22 39200643 22:39200643G-A G A
+22 39200963 22:39200963C-T C T
+22 39201015 22:39201015G-A G A
+22 39202017 22:39202017T-C T C
+22 39204750 22:39204750T-C T C
+22 39204970 22:39204970C-T C T
+22 39205717 22:39205717T-C T C
+22 39208824 22:39208824C-T C T
+22 39209839 22:39209839T-C T C
+22 39210006 22:39210006C-T C T
+22 39210106 22:39210106C-T C T
+22 39210816 22:39210816G-C G C
+22 39210829 22:39210829G-A G A
+22 39211773 22:39211773G-C G C
+22 39211789 22:39211789C-T C T
+22 39212470 22:39212470T-A T A
+22 39213327 22:39213327C-T C T
+22 39213489 22:39213489T-C T C
+22 39213517 22:39213517C-A C A
+22 39214146 22:39214146T-A T A
+22 39214774 22:39214774G-T G T
+22 39216301 22:39216301T-C T C
+22 39216667 22:39216667C-T C T
+22 39218001 22:39218001G-A G A
+22 39219932 22:39219932T-C T C
+22 39219953 22:39219953A-C A C
+22 39220360 22:39220360C-G C G
+22 39220908 22:39220908T-C T C
+22 39222099 22:39222099C-G C G
+22 39222652 22:39222652G-A G A
+22 39223572 22:39223572T-C T C
+22 39224123 22:39224123G-A G A
+22 39224248 22:39224248T-C T C
+22 39224770 22:39224770T-C T C
+22 39224905 22:39224905C-T C T
+22 39225341 22:39225341A-G A G
+22 39225382 22:39225382G-A G A
+22 39225589 22:39225589A-T A T
+22 39226996 22:39226996G-A G A
+22 39227834 22:39227834A-G A G
+22 39227875 22:39227875G-A G A
+22 39228045 22:39228045T-C T C
+22 39228494 22:39228494T-C T C
+22 39228601 22:39228601A-C A C
+22 39229593 22:39229593A-G A G
+22 39229741 22:39229741A-G A G
+22 39229942 22:39229942C-T C T
+22 39230707 22:39230707G-A G A
+22 39230740 22:39230740A-G A G
+22 39230884 22:39230884C-T C T
+22 39231538 22:39231538T-C T C
+22 39232459 22:39232459T-C T C
+22 39232763 22:39232763C-A C A
+22 39232908 22:39232908C-A C A
+22 39233120 22:39233120C-T C T
+22 39233555 22:39233555G-T G T
+22 39233584 22:39233584G-C G C
+22 39235582 22:39235582G-A G A
+22 39235832 22:39235832A-G A G
+22 39236278 22:39236278G-A G A
+22 39236642 22:39236642G-A G A
+22 39237837 22:39237837C-G C G
+22 39238385 22:39238385C-G C G
+22 39239172 22:39239172C-G C G
+22 39240134 22:39240134C-T C T
+22 39241219 22:39241219A-G A G
+22 39241509 22:39241509A-G A G
+22 39241656 22:39241656A-T A T
+22 39243330 22:39243330G-C G C
+22 39243503 22:39243503A-C A C
+22 39244118 22:39244118C-A C A
+22 39245583 22:39245583C-T C T
+22 39245618 22:39245618G-T G T
+22 39245640 22:39245640C-G C G
+22 39245673 22:39245673C-T C T
+22 39247482 22:39247482C-G C G
+22 39248667 22:39248667C-T C T
+22 39254437 22:39254437G-A G A
+22 39254556 22:39254556G-A G A
+22 39255591 22:39255591G-A G A
+22 39255720 22:39255720C-T C T
+22 39255893 22:39255893G-C G C
+22 39256106 22:39256106C-T C T
+22 39257397 22:39257397G-A G A
+22 39258078 22:39258078C-T C T
+22 39258795 22:39258795G-A G A
+22 39260001 22:39260001G-A G A
+22 39260032 22:39260032C-T C T
+22 39261135 22:39261135C-G C G
+22 39264425 22:39264425A-G A G
+22 39265008 22:39265008G-A G A
+22 39265072 22:39265072C-G C G
+22 39265603 22:39265603C-T C T
+22 39266451 22:39266451C-A C A
+22 39267312 22:39267312C-T C T
+22 39268785 22:39268785G-T G T
+22 39271194 22:39271194G-A G A
+22 39271215 22:39271215G-A G A
+22 39271617 22:39271617G-A G A
+22 39275656 22:39275656A-T A T
+22 39276000 22:39276000G-A G A
+22 39276470 22:39276470T-A T A
+22 39279064 22:39279064G-C G C
+22 39280677 22:39280677G-A G A
+22 39280742 22:39280742A-G A G
+22 39280946 22:39280946A-C A C
+22 39281312 22:39281312G-A G A
+22 39281636 22:39281636A-G A G
+22 39281774 22:39281774T-G T G
+22 39282018 22:39282018C-T C T
+22 39282191 22:39282191G-A G A
+22 39282343 22:39282343G-A G A
+22 39282645 22:39282645T-G T G
+22 39283005 22:39283005T-C T C
+22 39283019 22:39283019A-G A G
+22 39283094 22:39283094T-C T C
+22 39283187 22:39283187A-C A C
+22 39283206 22:39283206A-G A G
+22 39283360 22:39283360C-T C T
+22 39284451 22:39284451G-A G A
+22 39284946 22:39284946T-C T C
+22 39284956 22:39284956A-G A G
+22 39285279 22:39285279T-C T C
+22 39285410 22:39285410A-G A G
+22 39285482 22:39285482T-C T C
+22 39285543 22:39285543A-G A G
+22 39285969 22:39285969C-T C T
+22 39286080 22:39286080C-A C A
+22 39286208 22:39286208A-T A T
+22 39286399 22:39286399T-C T C
+22 39286552 22:39286552C-A C A
+22 39286707 22:39286707A-G A G
+22 39286777 22:39286777C-G C G
+22 39287119 22:39287119G-A G A
+22 39287159 22:39287159G-A G A
+22 39287355 22:39287355C-T C T
+22 39287435 22:39287435A-G A G
+22 39287910 22:39287910C-A C A
+22 39288159 22:39288159T-C T C
+22 39288830 22:39288830G-C G C
+22 39289002 22:39289002G-A G A
+22 39289014 22:39289014G-A G A
+22 39289186 22:39289186G-A G A
+22 39289215 22:39289215T-C T C
+22 39289365 22:39289365G-A G A
+22 39289651 22:39289651A-T A T
+22 39289802 22:39289802A-G A G
+22 39289883 22:39289883G-T G T
+22 39289946 22:39289946C-T C T
+22 39290138 22:39290138A-T A T
+22 39290495 22:39290495T-C T C
+22 39290560 22:39290560C-T C T
+22 39290746 22:39290746C-T C T
+22 39290795 22:39290795G-A G A
+22 39290830 22:39290830C-T C T
+22 39290852 22:39290852C-T C T
+22 39290954 22:39290954T-G T G
+22 39291027 22:39291027G-T G T
+22 39291077 22:39291077G-A G A
+22 39291257 22:39291257T-C T C
+22 39291293 22:39291293A-G A G
+22 39291365 22:39291365T-C T C
+22 39291522 22:39291522A-G A G
+22 39291626 22:39291626G-T G T
+22 39291858 22:39291858G-A G A
+22 39292056 22:39292056G-A G A
+22 39292090 22:39292090G-A G A
+22 39292356 22:39292356T-C T C
+22 39292496 22:39292496T-C T C
+22 39292540 22:39292540A-T A T
+22 39293075 22:39293075A-T A T
+22 39293185 22:39293185A-G A G
+22 39293205 22:39293205G-T G T
+22 39293223 22:39293223G-A G A
+22 39293507 22:39293507A-T A T
+22 39293772 22:39293772G-A G A
+22 39294018 22:39294018T-C T C
+22 39298730 22:39298730A-G A G
+22 39298776 22:39298776G-A G A
+22 39299026 22:39299026A-C A C
+22 39299036 22:39299036A-T A T
+22 39299216 22:39299216A-C A C
+22 39299248 22:39299248G-C G C
+22 39299472 22:39299472C-G C G
+22 39299495 22:39299495G-C G C
+22 39299813 22:39299813G-C G C
+22 39299814 22:39299814G-A G A
+22 39299836 22:39299836G-A G A
+22 39299976 22:39299976C-T C T
+22 39300107 22:39300107G-T G T
+22 39300155 22:39300155G-A G A
+22 39300233 22:39300233A-G A G
+22 39300265 22:39300265T-C T C
+22 39300408 22:39300408T-C T C
+22 39300480 22:39300480C-T C T
+22 39300583 22:39300583C-T C T
+22 39300599 22:39300599G-A G A
+22 39300637 22:39300637G-C G C
+22 39300720 22:39300720A-G A G
+22 39300733 22:39300733G-A G A
+22 39300777 22:39300777T-C T C
+22 39300790 22:39300790T-C T C
+22 39300806 22:39300806G-T G T
+22 39300909 22:39300909A-T A T
+22 39300936 22:39300936A-G A G
+22 39301118 22:39301118T-A T A
+22 39301625 22:39301625C-T C T
+22 39301653 22:39301653C-A C A
+22 39301963 22:39301963C-T C T
+22 39302084 22:39302084A-C A C
+22 39302174 22:39302174T-G T G
+22 39302194 22:39302194C-T C T
+22 39302783 22:39302783T-C T C
+22 39304509 22:39304509T-C T C
+22 39304924 22:39304924A-G A G
+22 39305212 22:39305212A-T A T
+22 39305358 22:39305358C-T C T
+22 39306080 22:39306080T-C T C
+22 39306269 22:39306269G-C G C
+22 39306784 22:39306784C-T C T
+22 39314195 22:39314195G-T G T
+22 39314326 22:39314326C-T C T
+22 39316732 22:39316732A-G A G
+22 39316805 22:39316805C-T C T
+22 39317104 22:39317104C-T C T
+22 39318565 22:39318565A-G A G
+22 39319860 22:39319860C-T C T
+22 39319986 22:39319986C-T C T
+22 39320054 22:39320054C-G C G
+22 39320602 22:39320602C-T C T
+22 39320828 22:39320828C-T C T
+22 39321323 22:39321323G-A G A
+22 39322264 22:39322264C-T C T
+22 39322539 22:39322539G-A G A
+22 39322760 22:39322760G-A G A
+22 39323164 22:39323164A-G A G
+22 39323255 22:39323255G-A G A
+22 39323262 22:39323262G-C G C
+22 39323914 22:39323914C-A C A
+22 39324001 22:39324001G-C G C
+22 39324201 22:39324201C-A C A
+22 39324344 22:39324344C-A C A
+22 39327436 22:39327436G-A G A
+22 39328567 22:39328567G-A G A
+22 39328577 22:39328577T-C T C
+22 39328718 22:39328718A-G A G
+22 39328823 22:39328823C-A C A
+22 39329593 22:39329593G-A G A
+22 39329780 22:39329780C-T C T
+22 39329878 22:39329878C-T C T
+22 39329966 22:39329966T-C T C
+22 39330025 22:39330025A-G A G
+22 39330073 22:39330073C-T C T
+22 39331346 22:39331346G-A G A
+22 39332123 22:39332123A-G A G
+22 39332229 22:39332229G-A G A
+22 39332623 22:39332623C-T C T
+22 39332809 22:39332809G-A G A
+22 39332907 22:39332907G-C G C
+22 39332920 22:39332920C-T C T
+22 39333340 22:39333340G-A G A
+22 39333655 22:39333655C-T C T
+22 39333674 22:39333674A-G A G
+22 39333742 22:39333742G-A G A
+22 39333920 22:39333920C-T C T
+22 39333935 22:39333935G-T G T
+22 39333937 22:39333937G-T G T
+22 39334111 22:39334111G-C G C
+22 39335475 22:39335475G-C G C
+22 39335697 22:39335697A-G A G
+22 39335960 22:39335960C-A C A
+22 39336349 22:39336349T-C T C
+22 39336938 22:39336938A-C A C
+22 39337035 22:39337035A-T A T
+22 39337389 22:39337389G-A G A
+22 39337405 22:39337405C-T C T
+22 39337500 22:39337500G-A G A
+22 39338141 22:39338141A-C A C
+22 39338337 22:39338337T-C T C
+22 39338664 22:39338664G-C G C
+22 39338731 22:39338731T-C T C
+22 39339780 22:39339780C-T C T
+22 39340088 22:39340088C-T C T
+22 39340210 22:39340210G-A G A
+22 39340220 22:39340220T-C T C
+22 39340637 22:39340637G-A G A
+22 39340640 22:39340640C-A C A
+22 39340670 22:39340670T-G T G
+22 39340752 22:39340752C-G C G
+22 39341155 22:39341155C-G C G
+22 39341548 22:39341548G-A G A
+22 39341663 22:39341663C-A C A
+22 39341957 22:39341957T-C T C
+22 39342141 22:39342141T-C T C
+22 39342326 22:39342326A-G A G
+22 39342409 22:39342409C-T C T
+22 39343083 22:39343083C-T C T
+22 39343188 22:39343188C-T C T
+22 39343292 22:39343292G-A G A
+22 39343473 22:39343473T-C T C
+22 39343916 22:39343916T-A T A
+22 39343945 22:39343945A-T A T
+22 39344499 22:39344499G-A G A
+22 39344514 22:39344514C-T C T
+22 39344716 22:39344716A-G A G
+22 39344919 22:39344919G-C G C
+22 39345199 22:39345199T-C T C
+22 39345203 22:39345203A-G A G
+22 39345540 22:39345540C-T C T
+22 39345966 22:39345966G-C G C
+22 39346066 22:39346066C-G C G
+22 39346168 22:39346168G-T G T
+22 39346679 22:39346679G-A G A
+22 39347093 22:39347093G-A G A
+22 39347110 22:39347110C-T C T
+22 39347112 22:39347112G-A G A
+22 39347778 22:39347778A-G A G
+22 39348245 22:39348245A-G A G
+22 39349455 22:39349455T-A T A
+22 39349617 22:39349617G-A G A
+22 39349776 22:39349776T-C T C
+22 39350072 22:39350072T-C T C
+22 39350222 22:39350222G-A G A
+22 39350684 22:39350684G-A G A
+22 39350950 22:39350950C-T C T
+22 39351037 22:39351037C-T C T
+22 39351466 22:39351466G-A G A
+22 39352654 22:39352654G-A G A
+22 39353172 22:39353172A-C A C
+22 39354742 22:39354742C-T C T
+22 39355109 22:39355109T-C T C
+22 39355110 22:39355110C-G C G
+22 39355415 22:39355415A-G A G
+22 39355717 22:39355717G-A G A
+22 39357581 22:39357581C-T C T
+22 39358037 22:39358037A-C A C
+22 39359915 22:39359915C-G C G
+22 39373257 22:39373257T-C T C
+22 39374672 22:39374672T-G T G
+22 39377843 22:39377843C-T C T
+22 39379064 22:39379064T-C T C
+22 39381826 22:39381826A-G A G
+22 39381935 22:39381935C-T C T
+22 39384352 22:39384352C-A C A
+22 39384753 22:39384753C-T C T
+22 39385663 22:39385663G-A G A
+22 39386396 22:39386396T-C T C
+22 39387812 22:39387812T-G T G
+22 39389663 22:39389663T-G T G
+22 39389952 22:39389952G-A G A
+22 39390231 22:39390231A-G A G
+22 39390661 22:39390661G-A G A
+22 39390876 22:39390876G-A G A
+22 39390968 22:39390968C-T C T
+22 39392250 22:39392250G-A G A
+22 39392296 22:39392296A-G A G
+22 39392480 22:39392480T-C T C
+22 39392808 22:39392808C-T C T
+22 39393332 22:39393332C-A C A
+22 39393434 22:39393434C-T C T
+22 39394421 22:39394421G-A G A
+22 39394655 22:39394655G-A G A
+22 39395386 22:39395386T-A T A
+22 39395418 22:39395418T-C T C
+22 39395612 22:39395612G-A G A
+22 39395707 22:39395707T-G T G
+22 39397193 22:39397193G-C G C
+22 39399079 22:39399079G-A G A
+22 39399438 22:39399438C-T C T
+22 39399738 22:39399738T-C T C
+22 39399941 22:39399941C-T C T
+22 39400343 22:39400343A-G A G
+22 39400527 22:39400527G-A G A
+22 39400832 22:39400832G-A G A
+22 39402450 22:39402450C-T C T
+22 39402505 22:39402505G-A G A
+22 39404155 22:39404155G-A G A
+22 39404249 22:39404249G-A G A
+22 39404635 22:39404635A-G A G
+22 39404822 22:39404822G-A G A
+22 39405511 22:39405511G-A G A
+22 39405707 22:39405707A-G A G
+22 39405942 22:39405942C-T C T
+22 39406143 22:39406143A-T A T
+22 39406711 22:39406711G-A G A
+22 39407116 22:39407116G-A G A
+22 39407399 22:39407399T-C T C
+22 39407410 22:39407410G-A G A
+22 39407546 22:39407546G-T G T
+22 39407685 22:39407685T-G T G
+22 39408307 22:39408307A-G A G
+22 39408841 22:39408841G-A G A
+22 39409445 22:39409445C-T C T
+22 39410944 22:39410944G-T G T
+22 39410944 22:39410944G-A G A
+22 39411865 22:39411865C-T C T
+22 39411981 22:39411981C-T C T
+22 39412929 22:39412929A-C A C
+22 39413210 22:39413210C-T C T
+22 39413365 22:39413365T-C T C
+22 39413566 22:39413566G-A G A
+22 39413668 22:39413668C-T C T
+22 39414166 22:39414166A-G A G
+22 39414224 22:39414224A-G A G
+22 39414240 22:39414240G-A G A
+22 39414699 22:39414699C-G C G
+22 39414766 22:39414766C-T C T
+22 39414904 22:39414904G-T G T
+22 39415780 22:39415780A-G A G
+22 39418613 22:39418613C-T C T
+22 39418736 22:39418736G-A G A
+22 39419483 22:39419483A-G A G
+22 39419608 22:39419608T-C T C
+22 39420093 22:39420093A-G A G
+22 39420601 22:39420601T-C T C
+22 39420612 22:39420612T-C T C
+22 39421962 22:39421962T-C T C
+22 39422220 22:39422220G-A G A
+22 39422272 22:39422272C-A C A
+22 39423302 22:39423302A-C A C
+22 39424124 22:39424124T-C T C
+22 39426747 22:39426747A-G A G
+22 39427150 22:39427150A-T A T
+22 39428396 22:39428396C-G C G
+22 39428919 22:39428919C-T C T
+22 39429209 22:39429209A-G A G
+22 39429663 22:39429663A-G A G
+22 39430267 22:39430267A-G A G
+22 39431682 22:39431682A-G A G
+22 39433623 22:39433623A-G A G
+22 39433745 22:39433745C-A C A
+22 39433914 22:39433914G-T G T
+22 39434907 22:39434907T-C T C
+22 39435855 22:39435855T-C T C
+22 39436046 22:39436046T-A T A
+22 39437410 22:39437410G-C G C
+22 39437591 22:39437591G-T G T
+22 39438512 22:39438512T-G T G
+22 39438659 22:39438659A-G A G
+22 39440149 22:39440149C-T C T
+22 39440541 22:39440541G-C G C
+22 39441203 22:39441203C-T C T
+22 39442381 22:39442381C-G C G
+22 39443016 22:39443016A-C A C
+22 39443167 22:39443167A-C A C
+22 39444189 22:39444189C-G C G
+22 39444530 22:39444530T-C T C
+22 39445161 22:39445161T-C T C
+22 39445380 22:39445380G-A G A
+22 39445554 22:39445554G-A G A
+22 39447418 22:39447418T-C T C
+22 39447786 22:39447786G-C G C
+22 39448711 22:39448711C-A C A
+22 39448750 22:39448750T-C T C
+22 39448875 22:39448875C-T C T
+22 39449014 22:39449014C-T C T
+22 39449503 22:39449503G-T G T
+22 39449655 22:39449655T-C T C
+22 39450528 22:39450528C-G C G
+22 39450678 22:39450678G-A G A
+22 39452955 22:39452955G-A G A
+22 39455105 22:39455105A-G A G
+22 39458049 22:39458049G-A G A
+22 39458165 22:39458165G-A G A
+22 39458503 22:39458503A-G A G
+22 39464832 22:39464832C-T C T
+22 39466203 22:39466203G-A G A
+22 39467322 22:39467322T-C T C
+22 39468772 22:39468772C-T C T
+22 39468915 22:39468915G-A G A
+22 39469262 22:39469262C-T C T
+22 39470223 22:39470223G-A G A
+22 39470327 22:39470327T-C T C
+22 39471551 22:39471551A-T A T
+22 39471914 22:39471914G-A G A
+22 39472174 22:39472174C-G C G
+22 39472177 22:39472177C-A C A
+22 39473847 22:39473847A-G A G
+22 39473992 22:39473992C-T C T
+22 39475759 22:39475759C-G C G
+22 39475964 22:39475964G-A G A
+22 39477123 22:39477123T-C T C
+22 39477658 22:39477658C-T C T
+22 39479105 22:39479105C-G C G
+22 39479352 22:39479352G-A G A
+22 39479353 22:39479353T-A T A
+22 39479574 22:39479574C-G C G
+22 39480215 22:39480215C-T C T
+22 39480245 22:39480245C-T C T
+22 39480259 22:39480259C-T C T
+22 39480260 22:39480260A-G A G
+22 39480261 22:39480261C-T C T
+22 39480663 22:39480663C-T C T
+22 39480697 22:39480697A-G A G
+22 39481187 22:39481187C-T C T
+22 39481393 22:39481393C-G C G
+22 39481662 22:39481662C-T C T
+22 39481860 22:39481860C-G C G
+22 39481895 22:39481895G-A G A
+22 39482023 22:39482023C-A C A
+22 39482028 22:39482028G-A G A
+22 39482267 22:39482267C-T C T
+22 39482371 22:39482371C-G C G
+22 39482627 22:39482627G-A G A
+22 39482809 22:39482809G-A G A
+22 39484178 22:39484178C-G C G
+22 39484325 22:39484325G-T G T
+22 39484920 22:39484920C-G C G
+22 39485103 22:39485103G-T G T
+22 39485212 22:39485212C-T C T
+22 39485422 22:39485422T-C T C
+22 39485461 22:39485461G-A G A
+22 39486593 22:39486593T-C T C
+22 39487258 22:39487258A-C A C
+22 39487595 22:39487595T-C T C
+22 39487665 22:39487665A-G A G
+22 39487719 22:39487719T-C T C
+22 39487722 22:39487722C-T C T
+22 39488481 22:39488481G-A G A
+22 39489351 22:39489351G-T G T
+22 39490968 22:39490968G-A G A
+22 39492651 22:39492651C-T C T
+22 39492763 22:39492763C-T C T
+22 39493251 22:39493251T-A T A
+22 39493294 22:39493294T-C T C
+22 39493356 22:39493356C-T C T
+22 39494084 22:39494084C-G C G
+22 39494087 22:39494087T-C T C
+22 39494238 22:39494238C-T C T
+22 39494311 22:39494311G-A G A
+22 39494920 22:39494920G-A G A
+22 39495115 22:39495115G-A G A
+22 39495213 22:39495213T-C T C
+22 39495512 22:39495512G-A G A
+22 39495584 22:39495584C-G C G
+22 39495670 22:39495670C-T C T
+22 39495780 22:39495780T-C T C
+22 39495800 22:39495800T-C T C
+22 39495870 22:39495870C-A C A
+22 39496016 22:39496016A-G A G
+22 39496085 22:39496085G-A G A
+22 39496134 22:39496134G-C G C
+22 39496199 22:39496199T-C T C
+22 39496412 22:39496412G-C G C
+22 39496663 22:39496663A-G A G
+22 39496731 22:39496731C-T C T
+22 39496744 22:39496744G-A G A
+22 39496828 22:39496828C-T C T
+22 39496902 22:39496902C-T C T
+22 39497006 22:39497006G-A G A
+22 39497160 22:39497160C-T C T
+22 39497181 22:39497181T-A T A
+22 39497404 22:39497404G-C G C
+22 39497452 22:39497452A-G A G
+22 39497454 22:39497454G-C G C
+22 39497811 22:39497811A-G A G
+22 39498038 22:39498038G-C G C
+22 39498325 22:39498325T-C T C
+22 39498677 22:39498677A-C A C
+22 39498699 22:39498699C-T C T
+22 39498834 22:39498834T-C T C
+22 39499072 22:39499072A-G A G
+22 39499210 22:39499210G-A G A
+22 39499369 22:39499369C-T C T
+22 39499575 22:39499575G-T G T
+22 39499604 22:39499604T-C T C
+22 39499653 22:39499653C-T C T
+22 39499763 22:39499763T-C T C
+22 39499902 22:39499902C-T C T
+22 39500264 22:39500264G-C G C
+22 39500282 22:39500282C-T C T
+22 39500932 22:39500932G-A G A
+22 39501044 22:39501044C-T C T
+22 39501242 22:39501242T-C T C
+22 39501285 22:39501285T-A T A
+22 39501478 22:39501478A-G A G
+22 39501819 22:39501819C-T C T
+22 39501823 22:39501823C-T C T
+22 39502135 22:39502135G-T G T
+22 39502172 22:39502172T-C T C
+22 39502189 22:39502189G-C G C
+22 39502695 22:39502695T-C T C
+22 39503849 22:39503849C-A C A
+22 39503968 22:39503968A-G A G
+22 39504405 22:39504405G-A G A
+22 39504602 22:39504602C-A C A
+22 39505232 22:39505232C-T C T
+22 39505393 22:39505393T-C T C
+22 39505461 22:39505461C-T C T
+22 39505472 22:39505472C-G C G
+22 39505581 22:39505581C-T C T
+22 39505609 22:39505609T-G T G
+22 39506202 22:39506202G-A G A
+22 39506582 22:39506582G-A G A
+22 39506976 22:39506976A-G A G
+22 39507479 22:39507479C-T C T
+22 39507512 22:39507512G-A G A
+22 39507583 22:39507583C-T C T
+22 39507654 22:39507654C-A C A
+22 39507685 22:39507685A-G A G
+22 39507733 22:39507733A-G A G
+22 39507832 22:39507832G-A G A
+22 39507863 22:39507863T-C T C
+22 39507887 22:39507887A-G A G
+22 39507896 22:39507896C-T C T
+22 39507920 22:39507920G-T G T
+22 39508150 22:39508150T-C T C
+22 39508208 22:39508208C-T C T
+22 39508327 22:39508327T-C T C
+22 39509159 22:39509159C-G C G
+22 39509587 22:39509587G-C G C
+22 39510861 22:39510861G-A G A
+22 39510995 22:39510995A-G A G
+22 39512165 22:39512165C-T C T
+22 39512205 22:39512205G-A G A
+22 39512415 22:39512415G-C G C
+22 39512475 22:39512475A-G A G
+22 39512522 22:39512522A-G A G
+22 39512571 22:39512571C-T C T
+22 39512611 22:39512611T-C T C
+22 39513123 22:39513123A-G A G
+22 39513530 22:39513530C-T C T
+22 39514688 22:39514688T-C T C
+22 39515798 22:39515798T-C T C
+22 39516183 22:39516183C-A C A
+22 39516243 22:39516243A-G A G
+22 39516515 22:39516515T-C T C
+22 39518013 22:39518013A-C A C
+22 39518315 22:39518315G-A G A
+22 39518325 22:39518325T-C T C
+22 39519050 22:39519050T-C T C
+22 39519196 22:39519196T-C T C
+22 39519780 22:39519780C-T C T
+22 39520396 22:39520396A-G A G
+22 39520815 22:39520815A-G A G
+22 39522488 22:39522488C-T C T
+22 39522665 22:39522665G-A G A
+22 39522940 22:39522940C-T C T
+22 39523902 22:39523902C-T C T
+22 39524131 22:39524131G-A G A
+22 39525436 22:39525436C-T C T
+22 39525791 22:39525791A-T A T
+22 39525880 22:39525880C-T C T
+22 39526070 22:39526070T-C T C
+22 39526174 22:39526174T-C T C
+22 39526296 22:39526296T-C T C
+22 39527583 22:39527583C-T C T
+22 39527790 22:39527790T-C T C
+22 39527797 22:39527797C-G C G
+22 39527814 22:39527814G-T G T
+22 39527884 22:39527884A-C A C
+22 39527909 22:39527909G-A G A
+22 39527935 22:39527935C-T C T
+22 39528440 22:39528440A-G A G
+22 39528506 22:39528506C-G C G
+22 39529029 22:39529029A-G A G
+22 39529133 22:39529133G-A G A
+22 39529429 22:39529429G-A G A
+22 39529651 22:39529651C-T C T
+22 39530132 22:39530132C-A C A
+22 39530859 22:39530859T-C T C
+22 39531085 22:39531085G-A G A
+22 39531732 22:39531732C-G C G
+22 39531955 22:39531955T-C T C
+22 39532420 22:39532420G-C G C
+22 39532518 22:39532518G-A G A
+22 39532554 22:39532554A-C A C
+22 39532853 22:39532853A-G A G
+22 39533272 22:39533272A-G A G
+22 39535208 22:39535208C-T C T
+22 39535595 22:39535595C-T C T
+22 39535792 22:39535792A-G A G
+22 39536289 22:39536289C-T C T
+22 39537168 22:39537168G-A G A
+22 39537872 22:39537872G-A G A
+22 39537932 22:39537932T-C T C
+22 39538214 22:39538214A-C A C
+22 39538332 22:39538332C-T C T
+22 39538433 22:39538433T-C T C
+22 39538485 22:39538485G-T G T
+22 39539268 22:39539268G-T G T
+22 39539373 22:39539373T-C T C
+22 39540527 22:39540527C-A C A
+22 39541014 22:39541014C-T C T
+22 39541143 22:39541143A-T A T
+22 39542292 22:39542292G-A G A
+22 39542392 22:39542392T-G T G
+22 39542894 22:39542894T-C T C
+22 39543000 22:39543000C-T C T
+22 39543135 22:39543135G-C G C
+22 39543371 22:39543371T-C T C
+22 39544294 22:39544294G-A G A
+22 39544970 22:39544970C-G C G
+22 39545396 22:39545396C-T C T
+22 39546074 22:39546074C-G C G
+22 39546145 22:39546145T-C T C
+22 39547021 22:39547021G-A G A
+22 39547201 22:39547201G-A G A
+22 39547427 22:39547427T-C T C
+22 39547687 22:39547687C-G C G
+22 39547962 22:39547962C-T C T
+22 39548027 22:39548027A-G A G
+22 39549173 22:39549173C-T C T
+22 39549333 22:39549333C-T C T
+22 39549426 22:39549426T-G T G
+22 39549526 22:39549526C-A C A
+22 39551555 22:39551555T-C T C
+22 39551567 22:39551567A-G A G
+22 39551628 22:39551628C-T C T
+22 39551798 22:39551798T-C T C
+22 39551989 22:39551989G-A G A
+22 39552075 22:39552075G-A G A
+22 39552509 22:39552509T-C T C
+22 39552597 22:39552597A-G A G
+22 39552888 22:39552888A-G A G
+22 39553003 22:39553003G-A G A
+22 39553330 22:39553330A-G A G
+22 39553772 22:39553772A-G A G
+22 39553819 22:39553819G-A G A
+22 39554749 22:39554749T-C T C
+22 39556856 22:39556856A-G A G
+22 39557162 22:39557162A-C A C
+22 39557340 22:39557340T-G T G
+22 39557414 22:39557414C-T C T
+22 39557596 22:39557596T-C T C
+22 39557612 22:39557612G-A G A
+22 39557730 22:39557730A-G A G
+22 39558919 22:39558919C-G C G
+22 39559298 22:39559298A-C A C
+22 39559466 22:39559466C-T C T
+22 39559742 22:39559742G-C G C
+22 39560340 22:39560340C-G C G
+22 39560666 22:39560666G-A G A
+22 39560753 22:39560753A-G A G
+22 39561479 22:39561479G-C G C
+22 39561528 22:39561528G-A G A
+22 39561707 22:39561707T-A T A
+22 39561744 22:39561744C-A C A
+22 39561904 22:39561904T-C T C
+22 39562202 22:39562202G-A G A
+22 39563208 22:39563208A-G A G
+22 39565241 22:39565241G-A G A
+22 39565547 22:39565547C-T C T
+22 39565896 22:39565896A-C A C
+22 39566187 22:39566187T-C T C
+22 39566243 22:39566243T-A T A
+22 39566468 22:39566468T-C T C
+22 39566559 22:39566559C-T C T
+22 39566626 22:39566626C-T C T
+22 39566728 22:39566728G-A G A
+22 39566831 22:39566831G-A G A
+22 39566841 22:39566841A-C A C
+22 39566929 22:39566929C-A C A
+22 39566985 22:39566985T-C T C
+22 39567613 22:39567613T-C T C
+22 39567789 22:39567789C-G C G
+22 39567910 22:39567910A-G A G
+22 39568286 22:39568286A-G A G
+22 39568585 22:39568585G-T G T
+22 39568591 22:39568591C-T C T
+22 39568672 22:39568672G-C G C
+22 39568771 22:39568771C-T C T
+22 39568926 22:39568926T-C T C
+22 39568995 22:39568995C-T C T
+22 39569150 22:39569150C-T C T
+22 39569301 22:39569301G-A G A
+22 39569475 22:39569475A-G A G
+22 39569500 22:39569500A-G A G
+22 39570168 22:39570168A-G A G
+22 39570230 22:39570230G-A G A
+22 39570404 22:39570404C-A C A
+22 39570442 22:39570442C-G C G
+22 39570914 22:39570914G-A G A
+22 39571434 22:39571434T-C T C
+22 39572567 22:39572567C-T C T
+22 39572598 22:39572598G-A G A
+22 39572650 22:39572650G-A G A
+22 39572889 22:39572889C-T C T
+22 39572958 22:39572958T-G T G
+22 39573196 22:39573196T-C T C
+22 39573724 22:39573724C-A C A
+22 39574165 22:39574165C-G C G
+22 39575221 22:39575221A-G A G
+22 39575322 22:39575322T-G T G
+22 39575692 22:39575692C-A C A
+22 39575848 22:39575848G-A G A
+22 39575873 22:39575873G-A G A
+22 39575900 22:39575900G-A G A
+22 39577089 22:39577089G-A G A
+22 39577120 22:39577120G-A G A
+22 39577285 22:39577285C-T C T
+22 39577809 22:39577809C-T C T
+22 39577898 22:39577898G-T G T
+22 39579449 22:39579449C-T C T
+22 39581215 22:39581215C-T C T
+22 39581277 22:39581277C-A C A
+22 39582311 22:39582311G-A G A
+22 39582340 22:39582340G-T G T
+22 39582509 22:39582509C-T C T
+22 39582668 22:39582668C-T C T
+22 39583762 22:39583762A-G A G
+22 39583804 22:39583804T-C T C
+22 39583854 22:39583854C-T C T
+22 39584085 22:39584085A-C A C
+22 39584185 22:39584185T-C T C
+22 39584246 22:39584246G-C G C
+22 39584297 22:39584297T-C T C
+22 39584305 22:39584305T-A T A
+22 39584437 22:39584437T-G T G
+22 39584446 22:39584446G-A G A
+22 39584652 22:39584652C-G C G
+22 39584758 22:39584758C-T C T
+22 39584865 22:39584865A-G A G
+22 39585120 22:39585120C-G C G
+22 39585424 22:39585424G-T G T
+22 39585922 22:39585922T-C T C
+22 39586097 22:39586097C-T C T
+22 39586248 22:39586248T-G T G
+22 39586332 22:39586332G-T G T
+22 39586379 22:39586379C-G C G
+22 39586508 22:39586508C-T C T
+22 39586561 22:39586561T-C T C
+22 39586579 22:39586579A-G A G
+22 39586580 22:39586580A-G A G
+22 39586780 22:39586780C-A C A
+22 39587480 22:39587480G-T G T
+22 39587976 22:39587976A-C A C
+22 39588090 22:39588090C-A C A
+22 39588460 22:39588460G-A G A
+22 39588462 22:39588462C-T C T
+22 39589127 22:39589127T-G T G
+22 39589352 22:39589352C-A C A
+22 39589792 22:39589792A-T A T
+22 39589930 22:39589930G-A G A
+22 39589976 22:39589976A-G A G
+22 39590080 22:39590080T-C T C
+22 39590100 22:39590100G-A G A
+22 39590317 22:39590317C-T C T
+22 39590330 22:39590330T-G T G
+22 39590385 22:39590385G-A G A
+22 39590531 22:39590531C-T C T
+22 39590621 22:39590621G-A G A
+22 39590653 22:39590653G-T G T
+22 39590754 22:39590754A-G A G
+22 39590886 22:39590886C-T C T
+22 39590915 22:39590915T-C T C
+22 39591241 22:39591241C-T C T
+22 39591402 22:39591402C-T C T
+22 39591922 22:39591922G-A G A
+22 39591998 22:39591998T-C T C
+22 39592109 22:39592109A-G A G
+22 39592131 22:39592131G-A G A
+22 39592181 22:39592181C-T C T
+22 39592254 22:39592254G-A G A
+22 39592281 22:39592281C-T C T
+22 39592304 22:39592304A-T A T
+22 39592628 22:39592628C-T C T
+22 39592832 22:39592832G-A G A
+22 39592838 22:39592838C-G C G
+22 39592974 22:39592974A-G A G
+22 39593095 22:39593095T-C T C
+22 39594580 22:39594580G-A G A
+22 39594740 22:39594740C-T C T
+22 39595018 22:39595018C-T C T
+22 39595062 22:39595062G-A G A
+22 39595152 22:39595152G-A G A
+22 39595160 22:39595160G-A G A
+22 39595213 22:39595213G-C G C
+22 39595868 22:39595868C-A C A
+22 39596026 22:39596026C-T C T
+22 39596289 22:39596289A-G A G
+22 39596349 22:39596349C-T C T
+22 39596634 22:39596634G-A G A
+22 39596704 22:39596704A-G A G
+22 39597239 22:39597239A-G A G
+22 39597338 22:39597338G-A G A
+22 39597381 22:39597381C-G C G
+22 39597438 22:39597438T-G T G
+22 39597465 22:39597465G-T G T
+22 39597488 22:39597488C-T C T
+22 39597642 22:39597642G-A G A
+22 39597742 22:39597742G-T G T
+22 39599301 22:39599301A-G A G
+22 39599745 22:39599745T-C T C
+22 39599944 22:39599944T-A T A
+22 39600109 22:39600109C-T C T
+22 39600479 22:39600479A-T A T
+22 39600651 22:39600651C-T C T
+22 39601219 22:39601219T-C T C
+22 39601380 22:39601380T-C T C
+22 39601404 22:39601404G-A G A
+22 39601466 22:39601466T-C T C
+22 39601575 22:39601575C-G C G
+22 39601697 22:39601697C-A C A
+22 39601811 22:39601811T-C T C
+22 39601860 22:39601860G-C G C
+22 39602038 22:39602038A-G A G
+22 39602134 22:39602134T-C T C
+22 39602321 22:39602321T-C T C
+22 39602436 22:39602436T-C T C
+22 39602518 22:39602518G-A G A
+22 39602968 22:39602968C-T C T
+22 39603384 22:39603384C-T C T
+22 39603929 22:39603929G-A G A
+22 39604438 22:39604438A-G A G
+22 39604442 22:39604442A-G A G
+22 39604499 22:39604499G-A G A
+22 39604799 22:39604799G-T G T
+22 39604847 22:39604847A-G A G
+22 39604906 22:39604906G-A G A
+22 39605007 22:39605007T-C T C
+22 39605158 22:39605158T-C T C
+22 39605290 22:39605290T-C T C
+22 39605400 22:39605400A-T A T
+22 39605749 22:39605749A-G A G
+22 39605755 22:39605755C-A C A
+22 39606071 22:39606071G-A G A
+22 39606318 22:39606318T-C T C
+22 39606445 22:39606445A-G A G
+22 39606485 22:39606485A-G A G
+22 39606501 22:39606501T-G T G
+22 39606694 22:39606694C-A C A
+22 39607034 22:39607034A-G A G
+22 39607075 22:39607075C-T C T
+22 39607133 22:39607133A-C A C
+22 39608080 22:39608080G-C G C
+22 39608193 22:39608193C-A C A
+22 39608298 22:39608298G-C G C
+22 39608300 22:39608300C-T C T
+22 39608472 22:39608472G-T G T
+22 39608658 22:39608658C-G C G
+22 39608704 22:39608704C-T C T
+22 39608733 22:39608733T-A T A
+22 39608807 22:39608807G-A G A
+22 39608904 22:39608904A-G A G
+22 39608997 22:39608997G-A G A
+22 39609009 22:39609009A-G A G
+22 39609131 22:39609131G-A G A
+22 39609515 22:39609515G-C G C
+22 39609532 22:39609532T-C T C
+22 39609751 22:39609751T-C T C
+22 39610439 22:39610439G-A G A
+22 39610647 22:39610647A-C A C
+22 39611453 22:39611453T-A T A
+22 39612084 22:39612084A-G A G
+22 39612420 22:39612420T-C T C
+22 39612517 22:39612517G-A G A
+22 39612699 22:39612699C-T C T
+22 39613683 22:39613683A-G A G
+22 39615121 22:39615121A-G A G
+22 39615317 22:39615317C-G C G
+22 39615960 22:39615960C-T C T
+22 39616878 22:39616878G-A G A
+22 39617702 22:39617702C-A C A
+22 39617876 22:39617876G-A G A
+22 39618025 22:39618025G-C G C
+22 39622058 22:39622058C-T C T
+22 39622334 22:39622334T-C T C
+22 39622390 22:39622390T-C T C
+22 39622541 22:39622541A-G A G
+22 39622560 22:39622560T-C T C
+22 39622711 22:39622711C-T C T
+22 39622712 22:39622712A-G A G
+22 39622836 22:39622836A-G A G
+22 39622837 22:39622837T-C T C
+22 39622939 22:39622939C-A C A
+22 39622940 22:39622940T-C T C
+22 39622986 22:39622986T-C T C
+22 39622991 22:39622991G-T G T
+22 39623113 22:39623113A-G A G
+22 39623389 22:39623389A-G A G
+22 39623725 22:39623725C-T C T
+22 39623779 22:39623779A-G A G
+22 39623812 22:39623812A-G A G
+22 39624052 22:39624052A-G A G
+22 39624105 22:39624105T-G T G
+22 39624212 22:39624212A-G A G
+22 39624238 22:39624238C-T C T
+22 39624248 22:39624248G-T G T
+22 39624498 22:39624498G-C G C
+22 39625068 22:39625068G-T G T
+22 39625221 22:39625221T-G T G
+22 39625320 22:39625320T-G T G
+22 39625676 22:39625676T-C T C
+22 39626024 22:39626024C-T C T
+22 39626375 22:39626375A-C A C
+22 39626419 22:39626419C-T C T
+22 39626823 22:39626823G-A G A
+22 39626926 22:39626926C-G C G
+22 39629096 22:39629096C-T C T
+22 39629329 22:39629329C-A C A
+22 39630287 22:39630287A-G A G
+22 39631547 22:39631547T-C T C
+22 39631768 22:39631768G-T G T
+22 39631963 22:39631963G-T G T
+22 39632523 22:39632523G-A G A
+22 39632920 22:39632920C-G C G
+22 39633622 22:39633622C-T C T
+22 39633749 22:39633749T-C T C
+22 39634434 22:39634434A-C A C
+22 39634444 22:39634444C-A C A
+22 39634923 22:39634923A-G A G
+22 39636586 22:39636586C-G C G
+22 39639853 22:39639853G-T G T
+22 39640703 22:39640703C-T C T
+22 39642577 22:39642577A-T A T
+22 39642654 22:39642654G-C G C
+22 39642694 22:39642694G-A G A
+22 39642740 22:39642740A-T A T
+22 39644203 22:39644203C-T C T
+22 39644273 22:39644273G-A G A
+22 39644522 22:39644522C-T C T
+22 39645139 22:39645139G-A G A
+22 39645316 22:39645316A-G A G
+22 39646201 22:39646201T-C T C
+22 39646737 22:39646737T-G T G
+22 39647090 22:39647090A-G A G
+22 39647168 22:39647168T-C T C
+22 39647441 22:39647441C-A C A
+22 39647446 22:39647446A-G A G
+22 39647580 22:39647580C-G C G
+22 39648097 22:39648097A-G A G
+22 39649903 22:39649903G-C G C
+22 39650957 22:39650957G-A G A
+22 39651481 22:39651481G-T G T
+22 39651767 22:39651767A-C A C
+22 39652390 22:39652390T-C T C
+22 39654142 22:39654142C-T C T
+22 39656622 22:39656622C-T C T
+22 39656623 22:39656623G-T G T
+22 39657004 22:39657004C-T C T
+22 39658542 22:39658542G-A G A
+22 39658626 22:39658626T-C T C
+22 39658704 22:39658704C-T C T
+22 39658958 22:39658958G-A G A
+22 39659088 22:39659088T-C T C
+22 39659460 22:39659460G-A G A
+22 39659487 22:39659487G-A G A
+22 39659773 22:39659773C-T C T
+22 39660028 22:39660028G-C G C
+22 39660061 22:39660061C-A C A
+22 39660190 22:39660190A-G A G
+22 39660829 22:39660829T-C T C
+22 39661032 22:39661032A-C A C
+22 39661597 22:39661597G-A G A
+22 39661894 22:39661894A-G A G
+22 39662480 22:39662480T-C T C
+22 39662550 22:39662550C-T C T
+22 39662703 22:39662703C-T C T
+22 39663066 22:39663066A-G A G
+22 39663185 22:39663185A-G A G
+22 39663513 22:39663513G-A G A
+22 39664180 22:39664180C-A C A
+22 39664392 22:39664392C-T C T
+22 39664833 22:39664833G-C G C
+22 39665142 22:39665142G-C G C
+22 39665201 22:39665201A-G A G
+22 39665314 22:39665314T-C T C
+22 39665395 22:39665395A-G A G
+22 39665523 22:39665523G-A G A
+22 39665994 22:39665994C-A C A
+22 39666004 22:39666004G-C G C
+22 39666640 22:39666640G-A G A
+22 39667490 22:39667490C-T C T
+22 39668258 22:39668258G-A G A
+22 39668353 22:39668353A-G A G
+22 39668409 22:39668409T-A T A
+22 39668811 22:39668811T-C T C
+22 39668922 22:39668922T-C T C
+22 39668961 22:39668961G-T G T
+22 39669696 22:39669696G-A G A
+22 39670181 22:39670181A-C A C
+22 39670220 22:39670220C-T C T
+22 39670851 22:39670851G-T G T
+22 39670854 22:39670854A-G A G
+22 39671141 22:39671141A-G A G
+22 39671459 22:39671459A-G A G
+22 39671534 22:39671534C-T C T
+22 39672029 22:39672029G-A G A
+22 39672130 22:39672130C-T C T
+22 39673013 22:39673013A-G A G
+22 39673421 22:39673421G-A G A
+22 39675770 22:39675770C-A C A
+22 39676494 22:39676494T-G T G
+22 39676744 22:39676744G-A G A
+22 39677128 22:39677128A-G A G
+22 39677741 22:39677741G-A G A
+22 39677838 22:39677838G-A G A
+22 39678312 22:39678312A-G A G
+22 39680187 22:39680187A-G A G
+22 39680382 22:39680382G-C G C
+22 39680957 22:39680957A-G A G
+22 39681436 22:39681436G-A G A
+22 39683444 22:39683444G-A G A
+22 39683515 22:39683515A-G A G
+22 39683534 22:39683534T-A T A
+22 39683700 22:39683700G-A G A
+22 39684281 22:39684281T-C T C
+22 39685043 22:39685043G-C G C
+22 39685077 22:39685077C-T C T
+22 39685450 22:39685450A-G A G
+22 39685832 22:39685832G-A G A
+22 39686806 22:39686806G-A G A
+22 39687054 22:39687054A-G A G
+22 39687484 22:39687484A-G A G
+22 39689248 22:39689248G-A G A
+22 39690021 22:39690021C-T C T
+22 39690791 22:39690791C-T C T
+22 39691221 22:39691221G-A G A
+22 39691449 22:39691449A-T A T
+22 39691893 22:39691893C-A C A
+22 39692309 22:39692309G-A G A
+22 39692407 22:39692407A-G A G
+22 39692875 22:39692875G-A G A
+22 39693408 22:39693408G-A G A
+22 39693518 22:39693518C-G C G
+22 39694225 22:39694225A-C A C
+22 39694594 22:39694594C-G C G
+22 39694622 22:39694622A-G A G
+22 39695132 22:39695132C-T C T
+22 39695181 22:39695181G-T G T
+22 39695505 22:39695505G-A G A
+22 39696043 22:39696043C-T C T
+22 39696129 22:39696129G-A G A
+22 39696482 22:39696482G-A G A
+22 39696638 22:39696638C-A C A
+22 39696834 22:39696834A-G A G
+22 39696887 22:39696887A-G A G
+22 39697012 22:39697012G-C G C
+22 39697458 22:39697458A-T A T
+22 39697793 22:39697793C-T C T
+22 39697855 22:39697855C-T C T
+22 39698010 22:39698010A-G A G
+22 39698915 22:39698915C-T C T
+22 39699048 22:39699048T-C T C
+22 39699788 22:39699788G-A G A
+22 39700758 22:39700758C-T C T
+22 39700994 22:39700994T-C T C
+22 39701097 22:39701097G-C G C
+22 39701703 22:39701703G-A G A
+22 39701795 22:39701795G-A G A
+22 39702473 22:39702473C-T C T
+22 39703883 22:39703883A-G A G
+22 39704164 22:39704164C-G C G
+22 39705104 22:39705104C-T C T
+22 39706360 22:39706360A-C A C
+22 39707549 22:39707549A-G A G
+22 39707845 22:39707845G-C G C
+22 39707979 22:39707979C-T C T
+22 39708017 22:39708017C-T C T
+22 39708067 22:39708067C-T C T
+22 39708279 22:39708279G-A G A
+22 39708333 22:39708333T-C T C
+22 39708357 22:39708357C-T C T
+22 39709009 22:39709009G-A G A
+22 39709776 22:39709776T-C T C
+22 39710244 22:39710244G-A G A
+22 39711351 22:39711351A-G A G
+22 39712011 22:39712011G-A G A
+22 39712314 22:39712314T-C T C
+22 39712334 22:39712334T-C T C
+22 39712368 22:39712368C-T C T
+22 39712394 22:39712394T-C T C
+22 39712936 22:39712936G-A G A
+22 39712981 22:39712981A-G A G
+22 39713105 22:39713105C-T C T
+22 39713128 22:39713128A-G A G
+22 39714216 22:39714216A-G A G
+22 39714490 22:39714490C-T C T
+22 39714704 22:39714704C-T C T
+22 39714908 22:39714908A-G A G
+22 39715140 22:39715140C-T C T
+22 39715262 22:39715262G-A G A
+22 39716271 22:39716271A-G A G
+22 39716341 22:39716341G-A G A
+22 39717104 22:39717104A-C A C
+22 39717233 22:39717233G-C G C
+22 39717554 22:39717554G-T G T
+22 39717645 22:39717645C-T C T
+22 39717706 22:39717706T-C T C
+22 39718038 22:39718038G-C G C
+22 39718255 22:39718255C-G C G
+22 39718284 22:39718284G-C G C
+22 39718379 22:39718379A-G A G
+22 39718406 22:39718406T-C T C
+22 39718416 22:39718416C-T C T
+22 39718564 22:39718564T-C T C
+22 39719148 22:39719148C-G C G
+22 39719565 22:39719565C-T C T
+22 39719628 22:39719628A-G A G
+22 39720656 22:39720656G-C G C
+22 39720821 22:39720821T-A T A
+22 39721299 22:39721299A-G A G
+22 39721745 22:39721745A-G A G
+22 39722477 22:39722477C-A C A
+22 39722714 22:39722714G-C G C
+22 39722886 22:39722886G-A G A
+22 39723335 22:39723335T-C T C
+22 39724137 22:39724137G-A G A
+22 39724551 22:39724551A-T A T
+22 39724558 22:39724558G-A G A
+22 39725280 22:39725280C-T C T
+22 39725847 22:39725847A-T A T
+22 39725850 22:39725850T-C T C
+22 39726067 22:39726067G-T G T
+22 39726559 22:39726559A-G A G
+22 39726809 22:39726809G-A G A
+22 39728032 22:39728032A-C A C
+22 39728139 22:39728139A-G A G
+22 39728309 22:39728309C-T C T
+22 39728575 22:39728575C-A C A
+22 39728714 22:39728714T-C T C
+22 39728861 22:39728861C-T C T
+22 39729249 22:39729249G-A G A
+22 39729557 22:39729557T-C T C
+22 39729666 22:39729666G-A G A
+22 39729777 22:39729777C-T C T
+22 39730131 22:39730131G-A G A
+22 39730700 22:39730700T-C T C
+22 39730795 22:39730795G-A G A
+22 39730907 22:39730907C-T C T
+22 39730917 22:39730917A-G A G
+22 39731570 22:39731570G-A G A
+22 39731680 22:39731680G-A G A
+22 39732171 22:39732171C-T C T
+22 39732190 22:39732190T-G T G
+22 39732413 22:39732413C-T C T
+22 39732665 22:39732665T-C T C
+22 39733096 22:39733096T-G T G
+22 39733242 22:39733242G-T G T
+22 39733257 22:39733257A-G A G
+22 39733316 22:39733316A-C A C
+22 39733487 22:39733487G-A G A
+22 39733521 22:39733521A-G A G
+22 39734668 22:39734668G-T G T
+22 39735047 22:39735047T-A T A
+22 39735087 22:39735087G-A G A
+22 39735210 22:39735210T-G T G
+22 39735378 22:39735378C-T C T
+22 39735509 22:39735509A-T A T
+22 39737090 22:39737090C-T C T
+22 39737094 22:39737094C-T C T
+22 39737350 22:39737350T-C T C
+22 39737669 22:39737669C-A C A
+22 39738243 22:39738243T-G T G
+22 39738425 22:39738425A-C A C
+22 39738501 22:39738501G-C G C
+22 39738725 22:39738725T-C T C
+22 39739187 22:39739187C-T C T
+22 39739628 22:39739628C-T C T
+22 39739638 22:39739638C-G C G
+22 39740078 22:39740078G-A G A
+22 39741091 22:39741091G-A G A
+22 39741840 22:39741840G-A G A
+22 39741935 22:39741935C-T C T
+22 39742388 22:39742388T-C T C
+22 39742406 22:39742406C-T C T
+22 39742825 22:39742825C-G C G
+22 39743170 22:39743170G-T G T
+22 39743430 22:39743430T-C T C
+22 39744223 22:39744223G-A G A
+22 39745241 22:39745241C-T C T
+22 39745260 22:39745260G-T G T
+22 39745639 22:39745639G-A G A
+22 39745698 22:39745698G-T G T
+22 39746168 22:39746168C-A C A
+22 39746424 22:39746424C-A C A
+22 39746803 22:39746803C-A C A
+22 39746821 22:39746821C-T C T
+22 39747050 22:39747050G-A G A
+22 39747087 22:39747087C-A C A
+22 39747418 22:39747418G-A G A
+22 39747419 22:39747419C-A C A
+22 39747671 22:39747671T-A T A
+22 39747780 22:39747780G-A G A
+22 39748371 22:39748371C-T C T
+22 39748854 22:39748854A-G A G
+22 39748912 22:39748912G-A G A
+22 39749981 22:39749981G-A G A
+22 39749984 22:39749984T-G T G
+22 39750146 22:39750146T-C T C
+22 39750158 22:39750158T-C T C
+22 39750241 22:39750241A-G A G
+22 39750457 22:39750457C-T C T
+22 39751203 22:39751203A-T A T
+22 39751251 22:39751251G-C G C
+22 39751394 22:39751394T-C T C
+22 39751711 22:39751711G-A G A
+22 39751774 22:39751774A-G A G
+22 39752103 22:39752103G-A G A
+22 39752527 22:39752527A-T A T
+22 39752991 22:39752991G-A G A
+22 39753003 22:39753003T-C T C
+22 39753266 22:39753266T-C T C
+22 39754433 22:39754433G-T G T
+22 39755175 22:39755175A-G A G
+22 39755190 22:39755190G-T G T
+22 39755528 22:39755528C-T C T
+22 39755689 22:39755689T-C T C
+22 39755773 22:39755773C-T C T
+22 39755787 22:39755787C-T C T
+22 39755953 22:39755953T-C T C
+22 39756097 22:39756097A-C A C
+22 39756270 22:39756270A-G A G
+22 39756650 22:39756650G-C G C
+22 39756854 22:39756854G-C G C
+22 39756985 22:39756985C-T C T
+22 39757656 22:39757656C-T C T
+22 39758253 22:39758253C-G C G
+22 39758509 22:39758509A-G A G
+22 39758541 22:39758541A-G A G
+22 39758830 22:39758830C-G C G
+22 39758844 22:39758844C-G C G
+22 39758881 22:39758881A-G A G
+22 39760883 22:39760883C-A C A
+22 39761245 22:39761245T-G T G
+22 39761255 22:39761255G-A G A
+22 39764824 22:39764824T-C T C
+22 39765604 22:39765604C-G C G
+22 39766440 22:39766440C-G C G
+22 39767011 22:39767011A-G A G
+22 39767247 22:39767247C-A C A
+22 39767291 22:39767291G-A G A
+22 39767994 22:39767994T-C T C
+22 39768080 22:39768080G-T G T
+22 39769818 22:39769818T-C T C
+22 39770597 22:39770597A-G A G
+22 39770780 22:39770780G-A G A
+22 39771687 22:39771687C-T C T
+22 39771920 22:39771920G-C G C
+22 39774448 22:39774448A-G A G
+22 39774525 22:39774525A-G A G
+22 39775047 22:39775047C-A C A
+22 39775156 22:39775156G-A G A
+22 39775250 22:39775250A-G A G
+22 39775268 22:39775268T-C T C
+22 39775400 22:39775400A-T A T
+22 39775583 22:39775583G-A G A
+22 39775786 22:39775786G-A G A
+22 39777254 22:39777254T-C T C
+22 39777523 22:39777523G-A G A
+22 39778167 22:39778167A-G A G
+22 39778327 22:39778327T-C T C
+22 39778419 22:39778419T-C T C
+22 39779300 22:39779300G-A G A
+22 39780961 22:39780961C-T C T
+22 39781429 22:39781429C-T C T
+22 39781585 22:39781585C-T C T
+22 39781855 22:39781855T-C T C
+22 39783027 22:39783027C-T C T
+22 39784136 22:39784136G-A G A
+22 39784845 22:39784845G-C G C
+22 39785242 22:39785242C-T C T
+22 39785381 22:39785381C-T C T
+22 39790191 22:39790191G-C G C
+22 39790987 22:39790987G-A G A
+22 39791491 22:39791491T-G T G
+22 39792943 22:39792943A-G A G
+22 39793066 22:39793066T-G T G
+22 39793079 22:39793079G-A G A
+22 39793655 22:39793655A-G A G
+22 39793734 22:39793734C-T C T
+22 39793766 22:39793766C-T C T
+22 39794071 22:39794071C-T C T
+22 39794124 22:39794124G-A G A
+22 39794241 22:39794241G-A G A
+22 39795228 22:39795228G-C G C
+22 39795683 22:39795683G-C G C
+22 39796097 22:39796097T-C T C
+22 39797178 22:39797178G-C G C
+22 39797779 22:39797779G-A G A
+22 39797987 22:39797987T-C T C
+22 39798127 22:39798127A-G A G
+22 39798429 22:39798429G-T G T
+22 39798449 22:39798449T-C T C
+22 39799789 22:39799789A-G A G
+22 39800704 22:39800704C-G C G
+22 39801748 22:39801748G-A G A
+22 39802495 22:39802495T-C T C
+22 39806153 22:39806153T-C T C
+22 39809820 22:39809820G-C G C
+22 39810379 22:39810379C-T C T
+22 39812409 22:39812409T-G T G
+22 39812986 22:39812986C-A C A
+22 39814613 22:39814613C-A C A
+22 39819008 22:39819008T-C T C
+22 39819049 22:39819049G-C G C
+22 39820885 22:39820885A-G A G
+22 39821319 22:39821319T-C T C
+22 39821536 22:39821536A-G A G
+22 39821641 22:39821641A-G A G
+22 39822116 22:39822116A-G A G
+22 39823015 22:39823015A-G A G
+22 39824450 22:39824450C-T C T
+22 39824707 22:39824707T-G T G
+22 39825322 22:39825322T-G T G
+22 39825492 22:39825492A-T A T
+22 39826788 22:39826788G-A G A
+22 39827553 22:39827553G-A G A
+22 39828725 22:39828725A-G A G
+22 39829736 22:39829736G-A G A
+22 39829973 22:39829973C-T C T
+22 39830123 22:39830123A-G A G
+22 39831278 22:39831278A-G A G
+22 39831986 22:39831986T-A T A
+22 39832113 22:39832113A-G A G
+22 39833437 22:39833437T-C T C
+22 39834102 22:39834102C-G C G
+22 39835083 22:39835083T-C T C
+22 39835587 22:39835587A-G A G
+22 39837472 22:39837472C-T C T
+22 39837625 22:39837625A-G A G
+22 39837920 22:39837920T-C T C
+22 39838003 22:39838003A-G A G
+22 39838018 22:39838018A-G A G
+22 39838352 22:39838352C-T C T
+22 39838892 22:39838892G-T G T
+22 39839293 22:39839293C-T C T
+22 39839670 22:39839670G-C G C
+22 39840130 22:39840130C-T C T
+22 39840828 22:39840828C-A C A
+22 39841533 22:39841533C-A C A
+22 39841700 22:39841700T-C T C
+22 39842165 22:39842165T-C T C
+22 39843091 22:39843091C-A C A
+22 39843409 22:39843409C-T C T
+22 39843537 22:39843537T-C T C
+22 39844350 22:39844350T-G T G
+22 39844574 22:39844574G-A G A
+22 39844786 22:39844786C-T C T
+22 39844793 22:39844793T-C T C
+22 39845547 22:39845547A-G A G
+22 39845898 22:39845898C-A C A
+22 39848259 22:39848259T-G T G
+22 39850174 22:39850174G-A G A
+22 39851584 22:39851584G-A G A
+22 39851970 22:39851970C-A C A
+22 39852350 22:39852350G-C G C
+22 39852648 22:39852648C-T C T
+22 39852720 22:39852720A-G A G
+22 39852921 22:39852921G-T G T
+22 39854421 22:39854421C-G C G
+22 39855540 22:39855540G-C G C
+22 39855575 22:39855575C-A C A
+22 39855728 22:39855728G-C G C
+22 39855883 22:39855883C-T C T
+22 39856032 22:39856032A-C A C
+22 39856356 22:39856356G-C G C
+22 39858196 22:39858196A-G A G
+22 39859169 22:39859169C-A C A
+22 39860130 22:39860130C-T C T
+22 39860589 22:39860589A-G A G
+22 39862341 22:39862341G-A G A
+22 39862343 22:39862343T-C T C
+22 39863046 22:39863046C-T C T
+22 39863326 22:39863326G-C G C
+22 39863731 22:39863731T-C T C
+22 39865475 22:39865475A-G A G
+22 39866080 22:39866080T-C T C
+22 39866938 22:39866938T-C T C
+22 39867661 22:39867661C-G C G
+22 39868109 22:39868109G-C G C
+22 39869209 22:39869209C-T C T
+22 39869719 22:39869719A-G A G
+22 39869997 22:39869997T-G T G
+22 39872073 22:39872073A-G A G
+22 39872127 22:39872127A-G A G
+22 39872700 22:39872700C-T C T
+22 39872707 22:39872707G-A G A
+22 39873470 22:39873470A-T A T
+22 39873937 22:39873937G-A G A
+22 39874314 22:39874314A-C A C
+22 39874790 22:39874790A-G A G
+22 39875595 22:39875595G-C G C
+22 39875966 22:39875966T-G T G
+22 39878998 22:39878998T-C T C
+22 39879679 22:39879679A-T A T
+22 39881000 22:39881000C-T C T
+22 39881140 22:39881140T-G T G
+22 39883344 22:39883344T-C T C
+22 39886217 22:39886217C-G C G
+22 39887686 22:39887686A-G A G
+22 39888774 22:39888774A-G A G
+22 39888861 22:39888861C-T C T
+22 39889080 22:39889080G-A G A
+22 39891343 22:39891343C-G C G
+22 39892859 22:39892859C-T C T
+22 39893120 22:39893120G-A G A
+22 39893932 22:39893932C-T C T
+22 39895939 22:39895939G-A G A
+22 39895944 22:39895944G-A G A
+22 39897163 22:39897163G-A G A
+22 39897792 22:39897792G-A G A
+22 39897849 22:39897849G-T G T
+22 39899945 22:39899945G-A G A
+22 39902475 22:39902475T-G T G
+22 39902525 22:39902525T-C T C
+22 39903368 22:39903368G-A G A
+22 39903457 22:39903457A-G A G
+22 39904613 22:39904613A-G A G
+22 39905549 22:39905549C-T C T
+22 39907661 22:39907661G-A G A
+22 39908744 22:39908744T-C T C
+22 39913282 22:39913282T-G T G
+22 39913420 22:39913420C-T C T
+22 39913557 22:39913557G-A G A
+22 39917515 22:39917515A-C A C
+22 39919524 22:39919524G-A G A
+22 39919781 22:39919781G-A G A
+22 39920657 22:39920657G-A G A
+22 39921384 22:39921384T-C T C
+22 39921669 22:39921669A-T A T
+22 39923688 22:39923688G-A G A
+22 39924443 22:39924443G-C G C
+22 39926861 22:39926861G-A G A
+22 39926929 22:39926929G-A G A
+22 39926962 22:39926962G-A G A
+22 39929946 22:39929946T-C T C
+22 39930197 22:39930197T-C T C
+22 39932516 22:39932516G-A G A
+22 39933748 22:39933748G-A G A
+22 39933978 22:39933978G-T G T
+22 39935239 22:39935239C-T C T
+22 39936220 22:39936220C-T C T
+22 39936351 22:39936351C-T C T
+22 39937159 22:39937159T-A T A
+22 39937223 22:39937223A-C A C
+22 39937269 22:39937269A-G A G
+22 39937468 22:39937468G-T G T
+22 39937541 22:39937541G-A G A
+22 39937551 22:39937551C-A C A
+22 39937640 22:39937640A-G A G
+22 39937721 22:39937721A-G A G
+22 39938303 22:39938303T-C T C
+22 39939105 22:39939105A-G A G
+22 39940227 22:39940227G-A G A
+22 39940709 22:39940709A-G A G
+22 39940872 22:39940872C-T C T
+22 39941154 22:39941154A-G A G
+22 39941201 22:39941201C-G C G
+22 39942090 22:39942090G-A G A
+22 39942234 22:39942234T-C T C
+22 39943030 22:39943030A-G A G
+22 39943388 22:39943388A-G A G
+22 39943947 22:39943947A-G A G
+22 39944485 22:39944485C-T C T
+22 39944789 22:39944789G-C G C
+22 39945791 22:39945791T-C T C
+22 39945823 22:39945823G-A G A
+22 39946280 22:39946280T-C T C
+22 39947068 22:39947068T-C T C
+22 39947167 22:39947167C-T C T
+22 39947259 22:39947259T-C T C
+22 39947439 22:39947439T-G T G
+22 39947574 22:39947574T-C T C
+22 39949430 22:39949430G-C G C
+22 39949757 22:39949757C-T C T
+22 39949792 22:39949792T-C T C
+22 39950172 22:39950172T-G T G
+22 39950349 22:39950349A-T A T
+22 39950747 22:39950747C-G C G
+22 39950805 22:39950805C-T C T
+22 39951106 22:39951106T-C T C
+22 39951182 22:39951182C-T C T
+22 39951409 22:39951409A-G A G
+22 39951658 22:39951658C-T C T
+22 39952098 22:39952098G-A G A
+22 39952275 22:39952275T-C T C
+22 39952633 22:39952633G-C G C
+22 39953234 22:39953234T-C T C
+22 39953569 22:39953569G-A G A
+22 39955873 22:39955873A-C A C
+22 39957740 22:39957740T-C T C
+22 39957762 22:39957762G-A G A
+22 39959057 22:39959057A-G A G
+22 39960115 22:39960115G-A G A
+22 39961286 22:39961286C-A C A
+22 39961829 22:39961829A-G A G
+22 39962380 22:39962380T-G T G
+22 39963092 22:39963092C-T C T
+22 39963173 22:39963173G-A G A
+22 39963426 22:39963426A-G A G
+22 39964503 22:39964503T-C T C
+22 39965471 22:39965471G-A G A
+22 39965699 22:39965699G-A G A
+22 39966094 22:39966094A-G A G
+22 39966547 22:39966547A-G A G
+22 39966856 22:39966856C-T C T
+22 39967430 22:39967430A-G A G
+22 39967785 22:39967785C-G C G
+22 39968018 22:39968018C-T C T
+22 39968140 22:39968140G-T G T
+22 39968173 22:39968173T-G T G
+22 39968269 22:39968269G-A G A
+22 39969767 22:39969767T-C T C
+22 39969895 22:39969895C-T C T
+22 39972069 22:39972069T-C T C
+22 39972075 22:39972075T-C T C
+22 39972162 22:39972162T-C T C
+22 39973151 22:39973151T-C T C
+22 39973526 22:39973526G-A G A
+22 39974188 22:39974188C-A C A
+22 39974590 22:39974590T-C T C
+22 39974808 22:39974808T-C T C
+22 39975307 22:39975307G-A G A
+22 39975415 22:39975415C-T C T
+22 39975691 22:39975691A-G A G
+22 39975914 22:39975914A-G A G
+22 39976128 22:39976128C-A C A
+22 39976133 22:39976133A-C A C
+22 39976186 22:39976186C-T C T
+22 39977211 22:39977211C-T C T
+22 39978039 22:39978039T-G T G
+22 39979511 22:39979511G-A G A
+22 39980975 22:39980975T-G T G
+22 39981813 22:39981813C-G C G
+22 39982721 22:39982721A-G A G
+22 39983944 22:39983944A-C A C
+22 39984086 22:39984086A-T A T
+22 39984836 22:39984836G-T G T
+22 39984873 22:39984873C-T C T
+22 39984946 22:39984946T-C T C
+22 39985283 22:39985283G-A G A
+22 39985590 22:39985590A-G A G
+22 39987609 22:39987609G-A G A
+22 39988175 22:39988175C-T C T
+22 39988277 22:39988277C-T C T
+22 39988591 22:39988591C-T C T
+22 39989081 22:39989081G-C G C
+22 39989137 22:39989137C-G C G
+22 39989216 22:39989216A-G A G
+22 39989457 22:39989457C-T C T
+22 39990775 22:39990775C-T C T
+22 39991016 22:39991016C-T C T
+22 39991070 22:39991070G-A G A
+22 39991092 22:39991092A-G A G
+22 39991496 22:39991496G-A G A
+22 39992634 22:39992634A-G A G
+22 39992660 22:39992660G-A G A
+22 39992786 22:39992786T-C T C
+22 39993669 22:39993669G-A G A
+22 39993834 22:39993834C-T C T
+22 39994105 22:39994105A-G A G
+22 39994841 22:39994841G-A G A
+22 39994842 22:39994842C-T C T
+22 39995015 22:39995015G-A G A
+22 39995249 22:39995249A-G A G
+22 39996264 22:39996264C-T C T
+22 39996766 22:39996766G-A G A
+22 39996882 22:39996882C-T C T
+22 39997170 22:39997170G-A G A
+22 39997630 22:39997630C-T C T
+22 39998141 22:39998141G-A G A
+22 39999013 22:39999013A-G A G
+22 40000221 22:40000221G-T G T
+22 40000313 22:40000313T-C T C
+22 40000442 22:40000442G-A G A
+22 40002570 22:40002570T-C T C
+22 40003267 22:40003267T-C T C
+22 40003309 22:40003309C-A C A
+22 40005425 22:40005425T-C T C
+22 40005854 22:40005854G-A G A
+22 40006024 22:40006024G-T G T
+22 40006035 22:40006035G-T G T
+22 40006626 22:40006626T-C T C
+22 40006986 22:40006986C-G C G
+22 40008734 22:40008734A-G A G
+22 40008826 22:40008826T-C T C
+22 40009336 22:40009336C-T C T
+22 40009580 22:40009580C-A C A
+22 40010383 22:40010383G-A G A
+22 40010521 22:40010521G-A G A
+22 40010636 22:40010636T-A T A
+22 40010682 22:40010682G-A G A
+22 40010806 22:40010806C-T C T
+22 40011273 22:40011273G-T G T
+22 40011697 22:40011697A-C A C
+22 40011983 22:40011983A-G A G
+22 40012284 22:40012284G-A G A
+22 40012508 22:40012508G-A G A
+22 40012864 22:40012864C-T C T
+22 40012932 22:40012932G-A G A
+22 40013216 22:40013216A-G A G
+22 40013494 22:40013494G-C G C
+22 40013867 22:40013867A-T A T
+22 40014066 22:40014066G-A G A
+22 40014369 22:40014369C-T C T
+22 40014423 22:40014423C-T C T
+22 40014584 22:40014584A-G A G
+22 40014783 22:40014783G-C G C
+22 40015059 22:40015059T-C T C
+22 40015657 22:40015657T-C T C
+22 40017065 22:40017065C-G C G
+22 40018212 22:40018212T-C T C
+22 40018278 22:40018278C-T C T
+22 40018618 22:40018618G-A G A
+22 40019773 22:40019773A-G A G
+22 40019987 22:40019987G-A G A
+22 40019994 22:40019994C-T C T
+22 40020876 22:40020876A-G A G
+22 40021256 22:40021256T-A T A
+22 40021614 22:40021614T-G T G
+22 40023636 22:40023636T-C T C
+22 40024410 22:40024410C-T C T
+22 40024657 22:40024657G-T G T
+22 40024768 22:40024768C-A C A
+22 40025044 22:40025044C-T C T
+22 40025237 22:40025237G-C G C
+22 40026034 22:40026034C-T C T
+22 40026141 22:40026141C-A C A
+22 40026309 22:40026309G-A G A
+22 40026948 22:40026948A-T A T
+22 40027521 22:40027521G-A G A
+22 40027656 22:40027656T-C T C
+22 40028195 22:40028195T-C T C
+22 40030477 22:40030477C-A C A
+22 40031632 22:40031632G-T G T
+22 40031694 22:40031694G-A G A
+22 40032877 22:40032877G-A G A
+22 40033247 22:40033247C-T C T
+22 40034593 22:40034593T-C T C
+22 40034609 22:40034609C-T C T
+22 40034889 22:40034889T-C T C
+22 40036598 22:40036598A-G A G
+22 40038075 22:40038075T-C T C
+22 40038113 22:40038113T-G T G
+22 40038402 22:40038402C-T C T
+22 40039553 22:40039553T-C T C
+22 40040892 22:40040892T-C T C
+22 40041317 22:40041317C-G C G
+22 40041532 22:40041532A-G A G
+22 40041767 22:40041767C-G C G
+22 40041887 22:40041887A-G A G
+22 40042054 22:40042054C-T C T
+22 40042115 22:40042115G-A G A
+22 40042284 22:40042284A-G A G
+22 40043556 22:40043556A-G A G
+22 40043812 22:40043812A-G A G
+22 40044389 22:40044389G-A G A
+22 40045210 22:40045210G-T G T
+22 40046077 22:40046077A-G A G
+22 40046176 22:40046176T-C T C
+22 40046282 22:40046282T-C T C
+22 40046538 22:40046538C-T C T
+22 40047529 22:40047529T-C T C
+22 40048558 22:40048558T-C T C
+22 40048903 22:40048903A-C A C
+22 40049410 22:40049410G-A G A
+22 40049518 22:40049518C-T C T
+22 40049592 22:40049592G-A G A
+22 40049724 22:40049724T-C T C
+22 40051166 22:40051166A-T A T
+22 40054428 22:40054428T-G T G
+22 40054948 22:40054948T-C T C
+22 40055250 22:40055250T-C T C
+22 40055304 22:40055304T-C T C
+22 40055896 22:40055896T-C T C
+22 40056937 22:40056937C-T C T
+22 40057273 22:40057273T-C T C
+22 40058186 22:40058186A-G A G
+22 40058999 22:40058999C-T C T
+22 40061683 22:40061683A-G A G
+22 40063012 22:40063012G-A G A
+22 40063424 22:40063424C-T C T
+22 40063931 22:40063931G-A G A
+22 40064558 22:40064558T-C T C
+22 40064581 22:40064581G-A G A
+22 40065005 22:40065005A-G A G
+22 40065322 22:40065322C-T C T
+22 40065332 22:40065332T-C T C
+22 40066418 22:40066418T-C T C
+22 40067470 22:40067470T-C T C
+22 40067640 22:40067640G-A G A
+22 40067818 22:40067818C-T C T
+22 40067840 22:40067840T-C T C
+22 40068051 22:40068051C-T C T
+22 40068679 22:40068679T-G T G
+22 40068853 22:40068853T-C T C
+22 40069245 22:40069245T-C T C
+22 40069490 22:40069490T-C T C
+22 40069493 22:40069493T-G T G
+22 40070234 22:40070234T-C T C
+22 40070446 22:40070446A-G A G
+22 40070642 22:40070642C-G C G
+22 40071230 22:40071230C-T C T
+22 40071322 22:40071322G-A G A
+22 40071545 22:40071545C-T C T
+22 40071747 22:40071747T-C T C
+22 40071894 22:40071894G-A G A
+22 40073785 22:40073785C-T C T
+22 40074662 22:40074662G-A G A
+22 40075400 22:40075400G-A G A
+22 40075473 22:40075473T-C T C
+22 40077488 22:40077488C-T C T
+22 40083730 22:40083730T-G T G
+22 40085843 22:40085843A-G A G
+22 40087389 22:40087389G-A G A
+22 40088845 22:40088845T-C T C
+22 40089075 22:40089075T-C T C
+22 40089308 22:40089308T-C T C
+22 40089619 22:40089619G-C G C
+22 40091547 22:40091547A-G A G
+22 40092864 22:40092864A-G A G
+22 40102918 22:40102918G-A G A
+22 40103159 22:40103159G-A G A
+22 40103934 22:40103934A-G A G
+22 40105781 22:40105781C-T C T
+22 40106498 22:40106498A-G A G
+22 40106785 22:40106785G-A G A
+22 40106982 22:40106982C-T C T
+22 40107841 22:40107841C-A C A
+22 40111623 22:40111623C-T C T
+22 40112941 22:40112941A-G A G
+22 40116817 22:40116817A-G A G
+22 40117397 22:40117397G-A G A
+22 40118473 22:40118473A-G A G
+22 40119795 22:40119795C-G C G
+22 40119983 22:40119983C-T C T
+22 40120144 22:40120144T-A T A
+22 40120286 22:40120286C-G C G
+22 40121409 22:40121409C-G C G
+22 40121441 22:40121441C-T C T
+22 40124946 22:40124946A-G A G
+22 40125756 22:40125756C-T C T
+22 40126767 22:40126767C-T C T
+22 40127293 22:40127293C-T C T
+22 40129368 22:40129368C-T C T
+22 40130573 22:40130573T-C T C
+22 40130915 22:40130915C-G C G
+22 40131030 22:40131030C-T C T
+22 40134425 22:40134425C-T C T
+22 40135558 22:40135558A-G A G
+22 40137700 22:40137700A-C A C
+22 40139439 22:40139439A-G A G
+22 40140444 22:40140444A-C A C
+22 40141799 22:40141799G-A G A
+22 40141899 22:40141899G-A G A
+22 40143577 22:40143577A-G A G
+22 40145703 22:40145703T-C T C
+22 40145841 22:40145841A-G A G
+22 40152332 22:40152332C-G C G
+22 40154876 22:40154876A-T A T
+22 40157251 22:40157251A-C A C
+22 40165159 22:40165159G-A G A
+22 40165336 22:40165336G-A G A
+22 40165573 22:40165573G-C G C
+22 40165574 22:40165574G-A G A
+22 40165692 22:40165692A-G A G
+22 40166610 22:40166610G-A G A
+22 40167082 22:40167082G-C G C
+22 40167143 22:40167143G-C G C
+22 40169926 22:40169926T-G T G
+22 40170634 22:40170634T-C T C
+22 40172198 22:40172198A-G A G
+22 40175254 22:40175254A-G A G
+22 40176254 22:40176254C-T C T
+22 40177230 22:40177230A-T A T
+22 40177992 22:40177992A-G A G
+22 40178043 22:40178043G-T G T
+22 40178225 22:40178225A-C A C
+22 40178988 22:40178988G-A G A
+22 40180587 22:40180587A-T A T
+22 40181588 22:40181588T-C T C
+22 40184471 22:40184471C-T C T
+22 40184920 22:40184920A-G A G
+22 40185881 22:40185881G-C G C
+22 40188728 22:40188728C-G C G
+22 40188800 22:40188800T-C T C
+22 40188926 22:40188926T-C T C
+22 40189010 22:40189010C-T C T
+22 40189917 22:40189917T-C T C
+22 40190187 22:40190187G-A G A
+22 40190618 22:40190618T-C T C
+22 40191059 22:40191059T-C T C
+22 40193582 22:40193582A-C A C
+22 40194580 22:40194580C-G C G
+22 40194598 22:40194598G-A G A
+22 40194650 22:40194650G-C G C
+22 40195017 22:40195017C-A C A
+22 40195235 22:40195235G-A G A
+22 40196754 22:40196754G-A G A
+22 40196951 22:40196951A-G A G
+22 40197635 22:40197635G-A G A
+22 40199291 22:40199291C-T C T
+22 40201634 22:40201634C-T C T
+22 40203918 22:40203918G-A G A
+22 40204431 22:40204431A-G A G
+22 40205498 22:40205498G-A G A
+22 40205733 22:40205733C-T C T
+22 40206541 22:40206541T-C T C
+22 40206811 22:40206811C-A C A
+22 40207890 22:40207890A-G A G
+22 40208454 22:40208454A-G A G
+22 40209077 22:40209077T-C T C
+22 40209118 22:40209118T-C T C
+22 40209175 22:40209175A-G A G
+22 40210057 22:40210057T-C T C
+22 40210140 22:40210140T-C T C
+22 40210433 22:40210433C-G C G
+22 40212014 22:40212014G-A G A
+22 40212046 22:40212046G-A G A
+22 40212359 22:40212359C-T C T
+22 40212671 22:40212671C-T C T
+22 40213243 22:40213243A-C A C
+22 40215728 22:40215728A-G A G
+22 40215996 22:40215996T-G T G
+22 40216609 22:40216609C-T C T
+22 40217936 22:40217936C-T C T
+22 40218016 22:40218016C-T C T
+22 40218636 22:40218636C-T C T
+22 40219383 22:40219383T-G T G
+22 40219410 22:40219410C-T C T
+22 40220744 22:40220744T-C T C
+22 40221371 22:40221371T-C T C
+22 40224167 22:40224167A-G A G
+22 40226702 22:40226702T-C T C
+22 40226791 22:40226791C-T C T
+22 40227860 22:40227860T-C T C
+22 40228851 22:40228851G-A G A
+22 40229235 22:40229235C-A C A
+22 40229594 22:40229594A-T A T
+22 40229774 22:40229774A-T A T
+22 40231062 22:40231062A-C A C
+22 40234096 22:40234096T-C T C
+22 40235836 22:40235836T-G T G
+22 40236782 22:40236782C-T C T
+22 40237139 22:40237139T-C T C
+22 40237198 22:40237198A-G A G
+22 40239611 22:40239611A-G A G
+22 40240499 22:40240499A-G A G
+22 40240526 22:40240526A-G A G
+22 40240533 22:40240533T-C T C
+22 40240803 22:40240803G-A G A
+22 40240916 22:40240916C-G C G
+22 40241662 22:40241662G-A G A
+22 40243895 22:40243895G-C G C
+22 40245423 22:40245423T-C T C
+22 40247116 22:40247116T-C T C
+22 40248342 22:40248342A-G A G
+22 40250870 22:40250870C-G C G
+22 40256486 22:40256486G-A G A
+22 40259861 22:40259861C-T C T
+22 40262482 22:40262482A-G A G
+22 40263359 22:40263359T-C T C
+22 40263997 22:40263997C-T C T
+22 40264551 22:40264551C-T C T
+22 40264584 22:40264584G-C G C
+22 40268817 22:40268817A-G A G
+22 40271822 22:40271822A-G A G
+22 40278098 22:40278098A-G A G
+22 40278393 22:40278393C-T C T
+22 40279092 22:40279092A-C A C
+22 40279530 22:40279530T-C T C
+22 40280033 22:40280033G-A G A
+22 40280376 22:40280376G-A G A
+22 40280385 22:40280385T-C T C
+22 40281207 22:40281207A-G A G
+22 40281675 22:40281675T-C T C
+22 40281695 22:40281695C-T C T
+22 40284539 22:40284539A-C A C
+22 40284726 22:40284726G-A G A
+22 40286020 22:40286020G-A G A
+22 40286270 22:40286270G-A G A
+22 40286755 22:40286755C-T C T
+22 40287625 22:40287625T-A T A
+22 40288385 22:40288385T-C T C
+22 40288830 22:40288830A-G A G
+22 40290768 22:40290768C-T C T
+22 40290834 22:40290834A-G A G
+22 40291139 22:40291139C-A C A
+22 40291807 22:40291807T-C T C
+22 40292691 22:40292691G-A G A
+22 40293463 22:40293463C-T C T
+22 40296378 22:40296378A-G A G
+22 40299158 22:40299158A-C A C
+22 40301174 22:40301174A-G A G
+22 40301480 22:40301480G-A G A
+22 40303934 22:40303934C-T C T
+22 40304581 22:40304581C-T C T
+22 40306193 22:40306193C-T C T
+22 40306654 22:40306654G-A G A
+22 40307387 22:40307387A-C A C
+22 40307532 22:40307532C-G C G
+22 40307894 22:40307894C-T C T
+22 40308428 22:40308428G-A G A
+22 40308918 22:40308918C-T C T
+22 40309510 22:40309510T-C T C
+22 40309856 22:40309856G-A G A
+22 40311099 22:40311099G-A G A
+22 40311879 22:40311879G-A G A
+22 40313356 22:40313356T-C T C
+22 40314052 22:40314052T-A T A
+22 40314160 22:40314160C-T C T
+22 40317126 22:40317126C-A C A
+22 40317627 22:40317627T-C T C
+22 40318198 22:40318198A-G A G
+22 40320361 22:40320361C-A C A
+22 40320758 22:40320758A-C A C
+22 40322684 22:40322684G-A G A
+22 40323065 22:40323065G-A G A
+22 40325161 22:40325161C-T C T
+22 40326174 22:40326174A-G A G
+22 40326835 22:40326835C-G C G
+22 40327206 22:40327206A-G A G
+22 40328991 22:40328991C-T C T
+22 40332601 22:40332601C-G C G
+22 40333129 22:40333129G-A G A
+22 40334927 22:40334927A-G A G
+22 40335683 22:40335683G-C G C
+22 40336821 22:40336821G-A G A
+22 40336845 22:40336845T-C T C
+22 40338284 22:40338284C-A C A
+22 40340090 22:40340090G-T G T
+22 40340775 22:40340775T-C T C
+22 40344043 22:40344043A-G A G
+22 40344774 22:40344774A-G A G
+22 40347816 22:40347816A-T A T
+22 40347906 22:40347906C-T C T
+22 40348196 22:40348196A-G A G
+22 40349487 22:40349487C-T C T
+22 40349573 22:40349573A-G A G
+22 40351438 22:40351438G-A G A
+22 40351458 22:40351458T-C T C
+22 40352523 22:40352523A-G A G
+22 40352956 22:40352956A-G A G
+22 40353634 22:40353634C-T C T
+22 40354981 22:40354981T-G T G
+22 40355729 22:40355729T-C T C
+22 40357667 22:40357667G-A G A
+22 40358148 22:40358148C-T C T
+22 40358183 22:40358183T-C T C
+22 40359877 22:40359877G-A G A
+22 40359954 22:40359954T-C T C
+22 40362946 22:40362946A-G A G
+22 40363548 22:40363548C-T C T
+22 40363550 22:40363550T-C T C
+22 40363778 22:40363778G-A G A
+22 40364394 22:40364394C-G C G
+22 40364415 22:40364415A-G A G
+22 40368229 22:40368229T-C T C
+22 40368608 22:40368608G-A G A
+22 40371639 22:40371639G-A G A
+22 40373297 22:40373297G-T G T
+22 40374055 22:40374055G-A G A
+22 40375094 22:40375094G-A G A
+22 40375703 22:40375703A-G A G
+22 40376383 22:40376383A-G A G
+22 40378849 22:40378849C-T C T
+22 40380656 22:40380656C-A C A
+22 40382151 22:40382151G-A G A
+22 40382249 22:40382249T-C T C
+22 40386240 22:40386240A-T A T
+22 40386370 22:40386370T-C T C
+22 40386770 22:40386770G-T G T
+22 40388308 22:40388308A-G A G
+22 40389007 22:40389007T-G T G
+22 40389058 22:40389058T-C T C
+22 40389343 22:40389343A-G A G
+22 40390238 22:40390238G-A G A
+22 40390770 22:40390770T-C T C
+22 40392604 22:40392604A-G A G
+22 40392723 22:40392723T-C T C
+22 40394797 22:40394797G-C G C
+22 40395084 22:40395084T-C T C
+22 40395530 22:40395530C-G C G
+22 40396028 22:40396028C-T C T
+22 40396409 22:40396409A-T A T
+22 40397523 22:40397523A-G A G
+22 40398845 22:40398845A-G A G
+22 40399827 22:40399827C-T C T
+22 40400735 22:40400735C-A C A
+22 40400912 22:40400912A-G A G
+22 40401895 22:40401895A-C A C
+22 40402759 22:40402759A-G A G
+22 40402817 22:40402817T-G T G
+22 40403171 22:40403171C-T C T
+22 40404293 22:40404293G-C G C
+22 40405763 22:40405763G-A G A
+22 40405898 22:40405898A-G A G
+22 40405931 22:40405931C-T C T
+22 40406272 22:40406272C-T C T
+22 40407574 22:40407574C-T C T
+22 40408805 22:40408805C-T C T
+22 40409139 22:40409139C-T C T
+22 40412001 22:40412001A-G A G
+22 40412551 22:40412551G-C G C
+22 40414530 22:40414530T-C T C
+22 40415140 22:40415140C-T C T
+22 40415617 22:40415617T-C T C
+22 40415709 22:40415709G-A G A
+22 40417571 22:40417571G-A G A
+22 40417780 22:40417780C-T C T
+22 40417820 22:40417820A-G A G
+22 40419123 22:40419123T-C T C
+22 40419154 22:40419154C-G C G
+22 40419617 22:40419617C-T C T
+22 40419816 22:40419816G-A G A
+22 40420786 22:40420786C-G C G
+22 40421488 22:40421488A-G A G
+22 40423344 22:40423344C-G C G
+22 40423439 22:40423439G-C G C
+22 40423596 22:40423596C-G C G
+22 40424075 22:40424075A-T A T
+22 40424922 22:40424922G-A G A
+22 40425974 22:40425974G-A G A
+22 40426306 22:40426306T-C T C
+22 40428433 22:40428433G-A G A
+22 40428706 22:40428706A-G A G
+22 40428816 22:40428816G-A G A
+22 40429365 22:40429365A-G A G
+22 40434757 22:40434757A-G A G
+22 40436973 22:40436973G-C G C
+22 40443219 22:40443219T-C T C
+22 40445151 22:40445151T-C T C
+22 40445157 22:40445157G-A G A
+22 40445733 22:40445733A-G A G
+22 40452119 22:40452119T-C T C
+22 40453964 22:40453964A-C A C
+22 40454069 22:40454069T-G T G
+22 40454131 22:40454131A-C A C
+22 40455378 22:40455378T-A T A
+22 40460111 22:40460111A-C A C
+22 40461419 22:40461419C-G C G
+22 40461508 22:40461508T-C T C
+22 40464204 22:40464204T-C T C
+22 40464452 22:40464452G-A G A
+22 40464821 22:40464821G-C G C
+22 40464936 22:40464936A-G A G
+22 40465297 22:40465297C-A C A
+22 40466872 22:40466872A-G A G
+22 40468008 22:40468008T-C T C
+22 40469249 22:40469249G-C G C
+22 40469292 22:40469292G-T G T
+22 40471188 22:40471188C-T C T
+22 40472202 22:40472202C-T C T
+22 40472399 22:40472399G-A G A
+22 40474513 22:40474513C-T C T
+22 40475326 22:40475326A-G A G
+22 40475587 22:40475587A-T A T
+22 40479448 22:40479448G-A G A
+22 40479484 22:40479484C-T C T
+22 40479811 22:40479811G-A G A
+22 40481736 22:40481736G-A G A
+22 40482752 22:40482752G-A G A
+22 40483103 22:40483103G-C G C
+22 40485027 22:40485027A-T A T
+22 40488545 22:40488545C-G C G
+22 40492800 22:40492800C-T C T
+22 40493860 22:40493860C-T C T
+22 40495139 22:40495139A-C A C
+22 40495473 22:40495473C-T C T
+22 40495644 22:40495644A-G A G
+22 40496656 22:40496656C-T C T
+22 40497122 22:40497122G-A G A
+22 40498156 22:40498156A-T A T
+22 40498493 22:40498493G-C G C
+22 40499103 22:40499103A-T A T
+22 40499107 22:40499107A-T A T
+22 40500852 22:40500852C-T C T
+22 40505863 22:40505863T-A T A
+22 40506004 22:40506004T-C T C
+22 40507282 22:40507282T-C T C
+22 40508926 22:40508926A-G A G
+22 40511670 22:40511670G-A G A
+22 40513589 22:40513589T-C T C
+22 40516522 22:40516522T-C T C
+22 40517057 22:40517057C-G C G
+22 40526214 22:40526214A-G A G
+22 40526472 22:40526472C-A C A
+22 40527060 22:40527060G-A G A
+22 40527858 22:40527858T-A T A
+22 40528220 22:40528220T-C T C
+22 40528393 22:40528393C-T C T
+22 40529415 22:40529415G-T G T
+22 40530052 22:40530052T-A T A
+22 40530922 22:40530922G-A G A
+22 40530923 22:40530923T-C T C
+22 40531506 22:40531506T-A T A
+22 40531645 22:40531645A-G A G
+22 40532444 22:40532444G-C G C
+22 40532484 22:40532484C-T C T
+22 40533130 22:40533130A-G A G
+22 40534211 22:40534211T-A T A
+22 40534466 22:40534466C-T C T
+22 40534964 22:40534964T-C T C
+22 40535152 22:40535152A-G A G
+22 40535399 22:40535399G-A G A
+22 40535657 22:40535657A-G A G
+22 40535731 22:40535731T-A T A
+22 40535963 22:40535963C-T C T
+22 40538602 22:40538602C-T C T
+22 40538717 22:40538717G-C G C
+22 40539200 22:40539200G-A G A
+22 40539379 22:40539379A-G A G
+22 40539525 22:40539525G-C G C
+22 40540185 22:40540185G-A G A
+22 40540762 22:40540762T-G T G
+22 40540766 22:40540766G-T G T
+22 40541173 22:40541173T-C T C
+22 40541700 22:40541700G-T G T
+22 40541775 22:40541775G-A G A
+22 40541838 22:40541838T-C T C
+22 40541981 22:40541981A-G A G
+22 40542121 22:40542121T-C T C
+22 40542688 22:40542688T-C T C
+22 40542915 22:40542915T-C T C
+22 40543215 22:40543215G-A G A
+22 40543608 22:40543608C-T C T
+22 40544031 22:40544031T-C T C
+22 40544337 22:40544337C-T C T
+22 40545595 22:40545595A-C A C
+22 40546153 22:40546153G-A G A
+22 40546633 22:40546633C-T C T
+22 40547688 22:40547688A-G A G
+22 40548084 22:40548084G-T G T
+22 40548492 22:40548492G-A G A
+22 40548703 22:40548703T-C T C
+22 40550105 22:40550105T-C T C
+22 40550107 22:40550107T-C T C
+22 40550982 22:40550982G-A G A
+22 40551767 22:40551767C-T C T
+22 40551850 22:40551850T-C T C
+22 40552119 22:40552119G-A G A
+22 40554008 22:40554008T-G T G
+22 40554300 22:40554300A-G A G
+22 40554325 22:40554325A-G A G
+22 40554445 22:40554445A-T A T
+22 40554527 22:40554527T-C T C
+22 40554582 22:40554582T-C T C
+22 40555139 22:40555139C-T C T
+22 40555638 22:40555638A-G A G
+22 40555879 22:40555879G-A G A
+22 40555993 22:40555993T-A T A
+22 40556101 22:40556101T-C T C
+22 40556116 22:40556116G-A G A
+22 40557812 22:40557812A-G A G
+22 40558016 22:40558016G-A G A
+22 40558064 22:40558064T-C T C
+22 40558164 22:40558164A-G A G
+22 40558452 22:40558452C-T C T
+22 40558595 22:40558595A-G A G
+22 40559156 22:40559156G-A G A
+22 40560600 22:40560600G-C G C
+22 40561283 22:40561283C-A C A
+22 40561759 22:40561759G-T G T
+22 40562227 22:40562227C-T C T
+22 40562242 22:40562242T-G T G
+22 40562877 22:40562877T-C T C
+22 40563020 22:40563020G-A G A
+22 40563685 22:40563685C-A C A
+22 40563804 22:40563804T-C T C
+22 40563815 22:40563815A-G A G
+22 40565542 22:40565542A-G A G
+22 40566118 22:40566118T-C T C
+22 40566675 22:40566675G-A G A
+22 40566936 22:40566936C-T C T
+22 40567251 22:40567251C-T C T
+22 40567581 22:40567581T-C T C
+22 40567673 22:40567673C-A C A
+22 40567894 22:40567894C-T C T
+22 40568512 22:40568512G-A G A
+22 40569157 22:40569157T-A T A
+22 40569326 22:40569326C-T C T
+22 40571499 22:40571499T-C T C
+22 40572423 22:40572423A-G A G
+22 40576872 22:40576872G-T G T
+22 40578764 22:40578764A-G A G
+22 40579423 22:40579423C-T C T
+22 40579805 22:40579805G-T G T
+22 40581822 22:40581822A-G A G
+22 40582484 22:40582484C-T C T
+22 40582968 22:40582968C-T C T
+22 40584391 22:40584391G-A G A
+22 40584962 22:40584962T-C T C
+22 40585744 22:40585744A-G A G
+22 40586069 22:40586069C-G C G
+22 40587100 22:40587100G-T G T
+22 40587244 22:40587244A-G A G
+22 40591258 22:40591258T-G T G
+22 40591312 22:40591312T-A T A
+22 40591755 22:40591755G-T G T
+22 40592214 22:40592214A-G A G
+22 40593320 22:40593320G-A G A
+22 40594702 22:40594702A-G A G
+22 40596624 22:40596624A-T A T
+22 40596888 22:40596888T-A T A
+22 40597667 22:40597667G-A G A
+22 40599631 22:40599631G-A G A
+22 40599879 22:40599879C-T C T
+22 40600487 22:40600487G-A G A
+22 40601639 22:40601639A-T A T
+22 40602072 22:40602072T-A T A
+22 40602620 22:40602620G-A G A
+22 40602815 22:40602815G-T G T
+22 40602948 22:40602948G-A G A
+22 40603580 22:40603580C-A C A
+22 40603732 22:40603732A-G A G
+22 40604716 22:40604716T-C T C
+22 40604945 22:40604945T-G T G
+22 40605163 22:40605163G-A G A
+22 40605681 22:40605681C-T C T
+22 40606001 22:40606001A-G A G
+22 40606293 22:40606293A-T A T
+22 40607629 22:40607629G-A G A
+22 40607833 22:40607833G-A G A
+22 40609151 22:40609151A-G A G
+22 40610398 22:40610398C-A C A
+22 40610600 22:40610600G-C G C
+22 40611628 22:40611628A-G A G
+22 40612131 22:40612131A-G A G
+22 40612156 22:40612156C-T C T
+22 40612974 22:40612974G-A G A
+22 40613036 22:40613036A-G A G
+22 40613073 22:40613073A-G A G
+22 40613282 22:40613282A-C A C
+22 40614512 22:40614512T-G T G
+22 40614627 22:40614627G-T G T
+22 40615276 22:40615276G-T G T
+22 40616112 22:40616112G-A G A
+22 40616703 22:40616703C-T C T
+22 40616707 22:40616707A-G A G
+22 40617100 22:40617100G-A G A
+22 40618063 22:40618063A-G A G
+22 40618811 22:40618811A-G A G
+22 40619009 22:40619009C-T C T
+22 40619078 22:40619078C-A C A
+22 40619708 22:40619708A-G A G
+22 40619779 22:40619779C-A C A
+22 40620467 22:40620467C-A C A
+22 40620565 22:40620565G-A G A
+22 40621288 22:40621288G-A G A
+22 40621404 22:40621404C-G C G
+22 40621645 22:40621645G-A G A
+22 40621877 22:40621877T-G T G
+22 40623249 22:40623249T-C T C
+22 40623430 22:40623430T-C T C
+22 40624547 22:40624547A-G A G
+22 40624808 22:40624808A-G A G
+22 40625909 22:40625909A-G A G
+22 40625951 22:40625951C-T C T
+22 40627057 22:40627057C-A C A
+22 40627059 22:40627059A-C A C
+22 40627061 22:40627061A-C A C
+22 40627319 22:40627319C-T C T
+22 40628754 22:40628754C-T C T
+22 40629138 22:40629138T-C T C
+22 40629445 22:40629445G-T G T
+22 40629805 22:40629805A-G A G
+22 40631033 22:40631033C-T C T
+22 40631110 22:40631110G-C G C
+22 40631339 22:40631339G-A G A
+22 40631437 22:40631437C-A C A
+22 40631617 22:40631617G-A G A
+22 40631739 22:40631739A-G A G
+22 40632047 22:40632047A-C A C
+22 40632083 22:40632083C-T C T
+22 40632510 22:40632510C-G C G
+22 40632772 22:40632772A-G A G
+22 40634507 22:40634507A-G A G
+22 40635276 22:40635276G-A G A
+22 40635721 22:40635721T-C T C
+22 40636076 22:40636076T-C T C
+22 40636615 22:40636615C-T C T
+22 40636799 22:40636799A-G A G
+22 40637804 22:40637804T-G T G
+22 40638223 22:40638223C-T C T
+22 40638934 22:40638934C-T C T
+22 40639295 22:40639295G-A G A
+22 40639423 22:40639423C-G C G
+22 40639706 22:40639706C-T C T
+22 40640285 22:40640285G-A G A
+22 40640516 22:40640516C-T C T
+22 40641164 22:40641164G-T G T
+22 40641980 22:40641980G-A G A
+22 40642368 22:40642368G-A G A
+22 40642452 22:40642452G-A G A
+22 40642652 22:40642652C-G C G
+22 40643466 22:40643466A-G A G
+22 40643839 22:40643839C-T C T
+22 40643872 22:40643872C-T C T
+22 40644717 22:40644717G-A G A
+22 40646072 22:40646072C-T C T
+22 40648198 22:40648198A-G A G
+22 40649340 22:40649340T-C T C
+22 40650284 22:40650284G-A G A
+22 40652801 22:40652801A-G A G
+22 40652873 22:40652873A-G A G
+22 40652924 22:40652924A-G A G
+22 40653882 22:40653882T-C T C
+22 40654276 22:40654276T-C T C
+22 40656888 22:40656888G-A G A
+22 40659251 22:40659251T-A T A
+22 40659573 22:40659573T-C T C
+22 40659781 22:40659781A-G A G
+22 40663403 22:40663403G-A G A
+22 40664165 22:40664165C-T C T
+22 40664678 22:40664678G-T G T
+22 40665067 22:40665067T-C T C
+22 40665225 22:40665225C-T C T
+22 40666922 22:40666922G-C G C
+22 40668074 22:40668074G-A G A
+22 40668635 22:40668635G-A G A
+22 40668988 22:40668988C-G C G
+22 40669648 22:40669648A-G A G
+22 40671498 22:40671498G-A G A
+22 40672078 22:40672078A-G A G
+22 40673685 22:40673685T-C T C
+22 40673999 22:40673999C-T C T
+22 40674593 22:40674593G-A G A
+22 40675091 22:40675091A-G A G
+22 40675561 22:40675561A-G A G
+22 40676672 22:40676672T-G T G
+22 40676986 22:40676986T-A T A
+22 40677001 22:40677001T-C T C
+22 40677515 22:40677515C-T C T
+22 40679199 22:40679199C-T C T
+22 40679233 22:40679233G-A G A
+22 40679362 22:40679362C-G C G
+22 40680700 22:40680700C-T C T
+22 40681788 22:40681788C-T C T
+22 40683501 22:40683501C-A C A
+22 40683840 22:40683840G-A G A
+22 40684060 22:40684060C-G C G
+22 40684283 22:40684283G-A G A
+22 40684967 22:40684967G-A G A
+22 40686386 22:40686386G-A G A
+22 40687757 22:40687757C-T C T
+22 40688171 22:40688171T-C T C
+22 40688409 22:40688409A-G A G
+22 40688917 22:40688917A-G A G
+22 40689260 22:40689260C-T C T
+22 40689379 22:40689379G-A G A
+22 40690385 22:40690385A-G A G
+22 40690834 22:40690834G-A G A
+22 40691150 22:40691150G-T G T
+22 40691706 22:40691706A-G A G
+22 40694719 22:40694719T-C T C
+22 40694727 22:40694727T-C T C
+22 40695364 22:40695364C-G C G
+22 40695755 22:40695755G-A G A
+22 40697377 22:40697377A-G A G
+22 40697581 22:40697581C-T C T
+22 40697589 22:40697589T-G T G
+22 40699093 22:40699093G-A G A
+22 40701837 22:40701837A-G A G
+22 40703075 22:40703075T-G T G
+22 40703245 22:40703245A-G A G
+22 40703888 22:40703888C-G C G
+22 40704052 22:40704052C-T C T
+22 40707828 22:40707828T-C T C
+22 40708679 22:40708679T-C T C
+22 40711620 22:40711620G-T G T
+22 40712439 22:40712439G-A G A
+22 40712637 22:40712637G-A G A
+22 40713805 22:40713805G-A G A
+22 40713861 22:40713861T-A T A
+22 40714356 22:40714356C-G C G
+22 40715028 22:40715028T-C T C
+22 40715303 22:40715303A-G A G
+22 40715903 22:40715903G-A G A
+22 40716488 22:40716488C-A C A
+22 40718100 22:40718100G-A G A
+22 40720704 22:40720704A-G A G
+22 40720963 22:40720963C-T C T
+22 40721062 22:40721062G-A G A
+22 40722745 22:40722745A-G A G
+22 40723779 22:40723779C-G C G
+22 40726183 22:40726183T-C T C
+22 40726749 22:40726749C-T C T
+22 40726762 22:40726762A-G A G
+22 40729614 22:40729614A-G A G
+22 40731134 22:40731134C-A C A
+22 40732953 22:40732953G-A G A
+22 40733777 22:40733777A-G A G
+22 40733951 22:40733951T-C T C
+22 40734241 22:40734241G-C G C
+22 40734249 22:40734249T-C T C
+22 40734790 22:40734790T-C T C
+22 40735798 22:40735798C-G C G
+22 40736472 22:40736472G-A G A
+22 40736713 22:40736713T-C T C
+22 40736900 22:40736900A-T A T
+22 40736938 22:40736938A-C A C
+22 40736961 22:40736961C-T C T
+22 40736988 22:40736988A-G A G
+22 40737027 22:40737027A-G A G
+22 40737036 22:40737036G-A G A
+22 40739116 22:40739116A-G A G
+22 40739177 22:40739177A-G A G
+22 40739414 22:40739414C-G C G
+22 40739786 22:40739786A-T A T
+22 40741344 22:40741344T-C T C
+22 40741821 22:40741821G-C G C
+22 40742417 22:40742417C-T C T
+22 40742831 22:40742831A-G A G
+22 40742921 22:40742921C-T C T
+22 40742989 22:40742989T-C T C
+22 40743174 22:40743174T-G T G
+22 40744053 22:40744053A-G A G
+22 40744540 22:40744540A-G A G
+22 40745181 22:40745181T-C T C
+22 40746150 22:40746150T-C T C
+22 40750612 22:40750612T-C T C
+22 40753383 22:40753383G-A G A
+22 40753923 22:40753923C-T C T
+22 40757228 22:40757228A-C A C
+22 40758581 22:40758581C-T C T
+22 40759233 22:40759233T-C T C
+22 40759308 22:40759308A-G A G
+22 40759670 22:40759670G-A G A
+22 40774660 22:40774660G-A G A
+22 40775481 22:40775481C-A C A
+22 40777072 22:40777072G-C G C
+22 40778231 22:40778231A-C A C
+22 40778778 22:40778778A-G A G
+22 40779197 22:40779197T-C T C
+22 40779964 22:40779964G-A G A
+22 40780653 22:40780653G-C G C
+22 40781162 22:40781162T-C T C
+22 40781586 22:40781586G-A G A
+22 40782490 22:40782490G-A G A
+22 40783780 22:40783780G-C G C
+22 40784278 22:40784278C-T C T
+22 40784871 22:40784871T-C T C
+22 40785137 22:40785137C-T C T
+22 40789216 22:40789216A-G A G
+22 40789606 22:40789606T-C T C
+22 40790101 22:40790101G-A G A
+22 40790215 22:40790215G-C G C
+22 40790565 22:40790565G-A G A
+22 40791002 22:40791002T-C T C
+22 40791972 22:40791972G-A G A
+22 40792038 22:40792038G-T G T
+22 40792569 22:40792569C-G C G
+22 40795794 22:40795794G-A G A
+22 40797256 22:40797256A-T A T
+22 40797447 22:40797447T-A T A
+22 40797933 22:40797933A-G A G
+22 40798227 22:40798227T-G T G
+22 40799954 22:40799954T-C T C
+22 40800071 22:40800071A-G A G
+22 40800518 22:40800518G-A G A
+22 40800544 22:40800544C-T C T
+22 40801312 22:40801312A-G A G
+22 40801986 22:40801986C-T C T
+22 40802739 22:40802739G-A G A
+22 40803112 22:40803112C-T C T
+22 40803186 22:40803186G-T G T
+22 40803367 22:40803367C-T C T
+22 40806270 22:40806270C-T C T
+22 40806752 22:40806752T-G T G
+22 40808676 22:40808676A-T A T
+22 40808938 22:40808938G-A G A
+22 40809034 22:40809034A-G A G
+22 40809638 22:40809638G-A G A
+22 40810231 22:40810231C-T C T
+22 40810303 22:40810303T-C T C
+22 40810352 22:40810352A-G A G
+22 40810392 22:40810392G-C G C
+22 40810437 22:40810437T-C T C
+22 40810442 22:40810442T-C T C
+22 40810851 22:40810851A-G A G
+22 40810951 22:40810951T-C T C
+22 40811146 22:40811146C-A C A
+22 40811227 22:40811227C-G C G
+22 40811723 22:40811723T-C T C
+22 40811883 22:40811883G-A G A
+22 40812499 22:40812499T-C T C
+22 40813676 22:40813676G-C G C
+22 40814500 22:40814500T-C T C
+22 40814594 22:40814594C-T C T
+22 40814636 22:40814636C-T C T
+22 40816749 22:40816749G-A G A
+22 40816841 22:40816841G-A G A
+22 40818166 22:40818166G-A G A
+22 40819013 22:40819013T-C T C
+22 40819154 22:40819154G-A G A
+22 40820151 22:40820151T-C T C
+22 40820516 22:40820516G-A G A
+22 40821818 22:40821818A-C A C
+22 40822149 22:40822149A-G A G
+22 40824009 22:40824009T-C T C
+22 40824087 22:40824087G-C G C
+22 40825193 22:40825193A-G A G
+22 40825814 22:40825814G-A G A
+22 40826534 22:40826534T-C T C
+22 40826733 22:40826733G-A G A
+22 40827319 22:40827319G-A G A
+22 40828361 22:40828361T-C T C
+22 40828375 22:40828375T-A T A
+22 40829953 22:40829953A-T A T
+22 40831888 22:40831888G-A G A
+22 40832375 22:40832375A-G A G
+22 40832501 22:40832501G-C G C
+22 40833146 22:40833146A-G A G
+22 40833842 22:40833842A-G A G
+22 40834346 22:40834346T-C T C
+22 40836024 22:40836024C-T C T
+22 40836753 22:40836753C-A C A
+22 40837253 22:40837253C-T C T
+22 40837964 22:40837964G-T G T
+22 40839696 22:40839696C-T C T
+22 40840610 22:40840610G-A G A
+22 40840614 22:40840614A-G A G
+22 40842405 22:40842405T-C T C
+22 40842466 22:40842466G-T G T
+22 40842923 22:40842923T-C T C
+22 40843365 22:40843365G-C G C
+22 40845035 22:40845035C-T C T
+22 40845131 22:40845131C-T C T
+22 40847102 22:40847102T-C T C
+22 40847848 22:40847848A-T A T
+22 40849062 22:40849062G-A G A
+22 40849495 22:40849495T-C T C
+22 40849704 22:40849704C-A C A
+22 40850066 22:40850066T-C T C
+22 40851728 22:40851728G-A G A
+22 40852671 22:40852671A-G A G
+22 40854456 22:40854456G-T G T
+22 40854814 22:40854814G-A G A
+22 40855011 22:40855011A-G A G
+22 40855131 22:40855131A-G A G
+22 40855293 22:40855293C-T C T
+22 40856837 22:40856837T-C T C
+22 40857793 22:40857793A-C A C
+22 40859004 22:40859004T-C T C
+22 40862120 22:40862120A-G A G
+22 40862613 22:40862613A-G A G
+22 40864848 22:40864848G-C G C
+22 40865417 22:40865417G-T G T
+22 40866656 22:40866656G-A G A
+22 40866763 22:40866763A-G A G
+22 40868239 22:40868239G-T G T
+22 40868580 22:40868580A-T A T
+22 40870488 22:40870488T-C T C
+22 40870699 22:40870699A-G A G
+22 40870794 22:40870794T-C T C
+22 40871251 22:40871251T-C T C
+22 40871465 22:40871465T-C T C
+22 40872654 22:40872654C-T C T
+22 40873718 22:40873718T-C T C
+22 40875199 22:40875199C-G C G
+22 40875270 22:40875270A-C A C
+22 40876234 22:40876234T-C T C
+22 40877004 22:40877004T-C T C
+22 40877384 22:40877384C-T C T
+22 40877514 22:40877514G-A G A
+22 40877635 22:40877635C-A C A
+22 40878253 22:40878253A-G A G
+22 40879105 22:40879105G-A G A
+22 40879408 22:40879408A-G A G
+22 40879843 22:40879843C-T C T
+22 40880213 22:40880213G-A G A
+22 40880904 22:40880904G-A G A
+22 40881402 22:40881402T-C T C
+22 40881403 22:40881403G-A G A
+22 40881793 22:40881793T-C T C
+22 40882975 22:40882975A-C A C
+22 40883088 22:40883088T-C T C
+22 40883599 22:40883599C-T C T
+22 40884662 22:40884662C-T C T
+22 40885186 22:40885186G-A G A
+22 40885600 22:40885600G-A G A
+22 40885710 22:40885710T-C T C
+22 40885955 22:40885955G-A G A
+22 40886557 22:40886557T-C T C
+22 40886744 22:40886744A-C A C
+22 40886993 22:40886993T-C T C
+22 40887074 22:40887074C-T C T
+22 40887085 22:40887085A-G A G
+22 40887648 22:40887648C-T C T
+22 40888136 22:40888136T-G T G
+22 40888363 22:40888363G-A G A
+22 40889908 22:40889908G-A G A
+22 40891048 22:40891048T-A T A
+22 40892127 22:40892127T-C T C
+22 40893789 22:40893789T-C T C
+22 40893866 22:40893866A-G A G
+22 40893900 22:40893900G-A G A
+22 40894463 22:40894463T-C T C
+22 40895706 22:40895706T-A T A
+22 40895810 22:40895810C-A C A
+22 40899836 22:40899836G-C G C
+22 40899954 22:40899954C-T C T
+22 40900077 22:40900077G-A G A
+22 40900818 22:40900818G-T G T
+22 40900856 22:40900856T-C T C
+22 40901345 22:40901345C-T C T
+22 40903362 22:40903362G-C G C
+22 40903421 22:40903421A-G A G
+22 40904486 22:40904486G-A G A
+22 40905072 22:40905072G-A G A
+22 40906635 22:40906635C-G C G
+22 40907951 22:40907951A-G A G
+22 40909156 22:40909156G-C G C
+22 40914949 22:40914949T-C T C
+22 40915718 22:40915718C-T C T
+22 40916196 22:40916196T-C T C
+22 40916382 22:40916382G-C G C
+22 40918712 22:40918712C-T C T
+22 40919559 22:40919559G-C G C
+22 40920236 22:40920236C-G C G
+22 40921680 22:40921680T-G T G
+22 40921816 22:40921816A-G A G
+22 40922332 22:40922332A-G A G
+22 40924662 22:40924662A-T A T
+22 40927135 22:40927135C-T C T
+22 40930212 22:40930212C-T C T
+22 40932003 22:40932003C-A C A
+22 40932041 22:40932041A-C A C
+22 40932066 22:40932066G-C G C
+22 40935267 22:40935267G-A G A
+22 40935293 22:40935293C-T C T
+22 40936288 22:40936288G-C G C
+22 40937725 22:40937725C-T C T
+22 40939706 22:40939706A-T A T
+22 40939910 22:40939910G-A G A
+22 40942021 22:40942021G-A G A
+22 40943032 22:40943032A-G A G
+22 40945070 22:40945070C-T C T
+22 40946105 22:40946105T-C T C
+22 40946307 22:40946307A-C A C
+22 40947458 22:40947458C-T C T
+22 40948661 22:40948661G-A G A
+22 40948875 22:40948875T-G T G
+22 40949210 22:40949210A-G A G
+22 40950781 22:40950781A-G A G
+22 40952534 22:40952534A-T A T
+22 40953763 22:40953763C-T C T
+22 40954094 22:40954094C-T C T
+22 40955564 22:40955564A-T A T
+22 40956816 22:40956816G-A G A
+22 40957013 22:40957013T-A T A
+22 40959260 22:40959260A-G A G
+22 40959920 22:40959920C-A C A
+22 40960692 22:40960692C-T C T
+22 40960867 22:40960867C-A C A
+22 40961294 22:40961294C-T C T
+22 40962808 22:40962808G-A G A
+22 40963402 22:40963402C-T C T
+22 40964012 22:40964012G-C G C
+22 40964388 22:40964388G-C G C
+22 40965336 22:40965336C-T C T
+22 40965443 22:40965443T-C T C
+22 40967688 22:40967688C-T C T
+22 40967695 22:40967695A-G A G
+22 40968152 22:40968152T-C T C
+22 40968616 22:40968616G-A G A
+22 40969793 22:40969793C-G C G
+22 40969989 22:40969989A-G A G
+22 40970711 22:40970711T-A T A
+22 40971703 22:40971703T-C T C
+22 40972056 22:40972056G-A G A
+22 40972176 22:40972176G-A G A
+22 40972547 22:40972547C-T C T
+22 40973610 22:40973610C-T C T
+22 40974252 22:40974252T-C T C
+22 40974360 22:40974360A-G A G
+22 40975268 22:40975268C-T C T
+22 40977121 22:40977121C-T C T
+22 40977346 22:40977346C-T C T
+22 40977556 22:40977556T-C T C
+22 40977940 22:40977940A-G A G
+22 40978118 22:40978118C-G C G
+22 40979164 22:40979164A-G A G
+22 40979648 22:40979648T-C T C
+22 40982581 22:40982581C-T C T
+22 40984322 22:40984322C-T C T
+22 40984571 22:40984571T-C T C
+22 40984798 22:40984798A-C A C
+22 40986258 22:40986258G-A G A
+22 40987113 22:40987113T-C T C
+22 40987730 22:40987730T-G T G
+22 40989374 22:40989374T-C T C
+22 40989641 22:40989641G-A G A
+22 40990077 22:40990077A-G A G
+22 40990950 22:40990950T-C T C
+22 40992235 22:40992235A-C A C
+22 40994744 22:40994744T-C T C
+22 40994908 22:40994908C-T C T
+22 40995290 22:40995290G-A G A
+22 40996367 22:40996367G-T G T
+22 40997111 22:40997111G-A G A
+22 40998449 22:40998449A-C A C
+22 41000357 22:41000357A-G A G
+22 41000964 22:41000964C-T C T
+22 41004384 22:41004384T-C T C
+22 41005749 22:41005749T-C T C
+22 41006612 22:41006612C-A C A
+22 41007476 22:41007476C-T C T
+22 41009707 22:41009707A-T A T
+22 41011279 22:41011279C-A C A
+22 41012134 22:41012134T-C T C
+22 41012438 22:41012438C-T C T
+22 41012819 22:41012819T-A T A
+22 41013489 22:41013489G-A G A
+22 41014472 22:41014472C-T C T
+22 41015269 22:41015269C-G C G
+22 41015813 22:41015813A-G A G
+22 41016681 22:41016681C-T C T
+22 41017425 22:41017425C-T C T
+22 41018165 22:41018165T-C T C
+22 41018451 22:41018451C-T C T
+22 41018507 22:41018507G-A G A
+22 41018680 22:41018680G-A G A
+22 41019767 22:41019767G-C G C
+22 41019948 22:41019948C-A C A
+22 41021310 22:41021310A-C A C
+22 41022503 22:41022503T-C T C
+22 41022805 22:41022805G-A G A
+22 41023167 22:41023167T-C T C
+22 41023304 22:41023304C-G C G
+22 41023464 22:41023464A-G A G
+22 41024064 22:41024064T-C T C
+22 41024650 22:41024650T-C T C
+22 41024846 22:41024846G-T G T
+22 41024854 22:41024854T-C T C
+22 41025380 22:41025380A-G A G
+22 41026018 22:41026018T-G T G
+22 41026388 22:41026388T-C T C
+22 41026775 22:41026775C-G C G
+22 41027354 22:41027354T-C T C
+22 41027716 22:41027716G-A G A
+22 41027819 22:41027819T-C T C
+22 41027870 22:41027870C-T C T
+22 41028200 22:41028200A-C A C
+22 41030264 22:41030264A-C A C
+22 41032863 22:41032863A-G A G
+22 41033801 22:41033801G-A G A
+22 41033961 22:41033961G-A G A
+22 41034185 22:41034185A-G A G
+22 41035231 22:41035231G-C G C
+22 41036509 22:41036509T-C T C
+22 41038192 22:41038192C-T C T
+22 41039493 22:41039493G-A G A
+22 41042091 22:41042091A-C A C
+22 41042764 22:41042764C-T C T
+22 41042873 22:41042873C-A C A
+22 41044593 22:41044593C-T C T
+22 41046355 22:41046355G-A G A
+22 41046539 22:41046539G-A G A
+22 41046757 22:41046757C-T C T
+22 41047556 22:41047556G-T G T
+22 41047751 22:41047751G-T G T
+22 41047764 22:41047764T-C T C
+22 41048941 22:41048941G-A G A
+22 41049101 22:41049101A-G A G
+22 41049402 22:41049402G-T G T
+22 41049460 22:41049460A-G A G
+22 41049514 22:41049514A-G A G
+22 41049685 22:41049685T-A T A
+22 41049928 22:41049928T-C T C
+22 41050306 22:41050306C-G C G
+22 41050335 22:41050335C-G C G
+22 41050608 22:41050608T-G T G
+22 41050871 22:41050871G-A G A
+22 41050986 22:41050986C-G C G
+22 41051109 22:41051109G-A G A
+22 41051302 22:41051302G-C G C
+22 41051324 22:41051324C-T C T
+22 41051935 22:41051935G-A G A
+22 41052756 22:41052756T-G T G
+22 41052794 22:41052794A-G A G
+22 41054459 22:41054459G-A G A
+22 41057670 22:41057670C-T C T
+22 41057977 22:41057977C-T C T
+22 41059171 22:41059171A-G A G
+22 41060853 22:41060853A-T A T
+22 41062014 22:41062014T-C T C
+22 41063177 22:41063177C-T C T
+22 41066598 22:41066598A-C A C
+22 41066606 22:41066606A-G A G
+22 41066887 22:41066887T-C T C
+22 41067010 22:41067010G-T G T
+22 41069773 22:41069773G-A G A
+22 41070868 22:41070868A-G A G
+22 41071097 22:41071097A-C A C
+22 41071556 22:41071556A-G A G
+22 41071659 22:41071659C-T C T
+22 41071731 22:41071731A-G A G
+22 41072126 22:41072126G-A G A
+22 41072333 22:41072333A-G A G
+22 41074168 22:41074168C-T C T
+22 41074407 22:41074407G-C G C
+22 41074773 22:41074773G-A G A
+22 41075543 22:41075543A-G A G
+22 41075695 22:41075695C-T C T
+22 41076671 22:41076671T-G T G
+22 41078473 22:41078473T-C T C
+22 41078533 22:41078533A-G A G
+22 41078665 22:41078665C-T C T
+22 41079720 22:41079720C-T C T
+22 41081164 22:41081164G-T G T
+22 41081165 22:41081165A-G A G
+22 41081227 22:41081227G-T G T
+22 41081489 22:41081489C-T C T
+22 41081561 22:41081561T-C T C
+22 41082022 22:41082022G-A G A
+22 41082478 22:41082478G-A G A
+22 41083133 22:41083133G-C G C
+22 41083239 22:41083239A-G A G
+22 41084124 22:41084124A-T A T
+22 41084530 22:41084530T-C T C
+22 41084635 22:41084635C-T C T
+22 41085969 22:41085969A-G A G
+22 41086497 22:41086497T-C T C
+22 41087095 22:41087095T-C T C
+22 41087264 22:41087264C-T C T
+22 41087266 22:41087266C-T C T
+22 41088872 22:41088872G-A G A
+22 41089707 22:41089707T-C T C
+22 41089858 22:41089858T-G T G
+22 41089899 22:41089899A-G A G
+22 41090009 22:41090009A-G A G
+22 41090554 22:41090554C-T C T
+22 41091926 22:41091926G-A G A
+22 41092091 22:41092091A-G A G
+22 41092110 22:41092110G-A G A
+22 41092269 22:41092269G-T G T
+22 41093049 22:41093049A-G A G
+22 41093473 22:41093473A-T A T
+22 41093746 22:41093746A-G A G
+22 41093946 22:41093946A-G A G
+22 41094006 22:41094006G-A G A
+22 41094618 22:41094618G-A G A
+22 41095599 22:41095599C-G C G
+22 41095958 22:41095958T-C T C
+22 41096164 22:41096164C-T C T
+22 41096967 22:41096967G-C G C
+22 41097032 22:41097032C-G C G
+22 41097432 22:41097432C-A C A
+22 41097445 22:41097445A-G A G
+22 41097490 22:41097490C-T C T
+22 41097831 22:41097831C-G C G
+22 41098206 22:41098206G-T G T
+22 41099004 22:41099004C-T C T
+22 41099827 22:41099827T-C T C
+22 41100038 22:41100038T-C T C
+22 41100568 22:41100568T-A T A
+22 41101501 22:41101501G-T G T
+22 41101907 22:41101907G-C G C
+22 41102074 22:41102074G-A G A
+22 41102879 22:41102879T-C T C
+22 41103162 22:41103162A-C A C
+22 41103515 22:41103515G-A G A
+22 41103613 22:41103613C-T C T
+22 41103771 22:41103771T-C T C
+22 41103776 22:41103776G-A G A
+22 41103833 22:41103833T-C T C
+22 41103909 22:41103909A-T A T
+22 41103961 22:41103961G-A G A
+22 41103991 22:41103991G-A G A
+22 41104106 22:41104106T-C T C
+22 41104224 22:41104224A-G A G
+22 41104275 22:41104275C-T C T
+22 41104309 22:41104309T-A T A
+22 41104323 22:41104323G-A G A
+22 41105298 22:41105298A-G A G
+22 41105468 22:41105468T-C T C
+22 41105561 22:41105561G-A G A
+22 41106667 22:41106667T-C T C
+22 41107688 22:41107688C-T C T
+22 41107718 22:41107718G-A G A
+22 41108102 22:41108102A-T A T
+22 41108135 22:41108135G-A G A
+22 41108455 22:41108455A-C A C
+22 41108647 22:41108647C-T C T
+22 41108741 22:41108741A-G A G
+22 41109217 22:41109217A-G A G
+22 41109275 22:41109275A-C A C
+22 41109562 22:41109562G-C G C
+22 41109596 22:41109596G-A G A
+22 41109957 22:41109957C-A C A
+22 41110013 22:41110013G-A G A
+22 41110024 22:41110024A-G A G
+22 41110311 22:41110311G-A G A
+22 41110356 22:41110356A-G A G
+22 41110485 22:41110485G-C G C
+22 41110837 22:41110837T-G T G
+22 41111470 22:41111470A-G A G
+22 41111597 22:41111597G-A G A
+22 41111943 22:41111943T-C T C
+22 41111961 22:41111961G-C G C
+22 41112062 22:41112062G-C G C
+22 41112102 22:41112102A-C A C
+22 41112204 22:41112204C-A C A
+22 41112532 22:41112532A-C A C
+22 41112575 22:41112575A-G A G
+22 41112625 22:41112625G-A G A
+22 41112682 22:41112682T-C T C
+22 41113053 22:41113053T-G T G
+22 41113054 22:41113054A-G A G
+22 41113120 22:41113120C-T C T
+22 41113164 22:41113164T-C T C
+22 41113476 22:41113476A-T A T
+22 41113585 22:41113585G-A G A
+22 41113606 22:41113606T-C T C
+22 41113709 22:41113709C-T C T
+22 41113927 22:41113927A-G A G
+22 41114968 22:41114968T-C T C
+22 41114987 22:41114987A-C A C
+22 41115231 22:41115231C-G C G
+22 41115366 22:41115366C-G C G
+22 41115623 22:41115623A-G A G
+22 41115726 22:41115726G-A G A
+22 41116289 22:41116289C-G C G
+22 41116313 22:41116313G-A G A
+22 41117441 22:41117441C-T C T
+22 41118125 22:41118125G-T G T
+22 41118239 22:41118239C-T C T
+22 41118340 22:41118340G-A G A
+22 41118423 22:41118423A-G A G
+22 41118435 22:41118435T-C T C
+22 41118799 22:41118799C-T C T
+22 41118888 22:41118888A-G A G
+22 41118989 22:41118989T-C T C
+22 41119033 22:41119033G-T G T
+22 41119084 22:41119084G-C G C
+22 41119274 22:41119274C-T C T
+22 41119316 22:41119316T-C T C
+22 41119551 22:41119551C-T C T
+22 41119729 22:41119729G-A G A
+22 41119899 22:41119899G-A G A
+22 41119911 22:41119911C-T C T
+22 41120141 22:41120141T-C T C
+22 41120313 22:41120313G-A G A
+22 41120339 22:41120339C-T C T
+22 41120396 22:41120396G-A G A
+22 41120402 22:41120402T-C T C
+22 41120922 22:41120922G-C G C
+22 41120996 22:41120996A-G A G
+22 41121184 22:41121184C-A C A
+22 41121429 22:41121429T-A T A
+22 41122130 22:41122130A-G A G
+22 41122341 22:41122341T-C T C
+22 41122977 22:41122977A-G A G
+22 41123045 22:41123045A-G A G
+22 41123126 22:41123126G-A G A
+22 41123646 22:41123646A-G A G
+22 41123738 22:41123738C-T C T
+22 41123795 22:41123795G-A G A
+22 41123826 22:41123826G-T G T
+22 41124133 22:41124133T-C T C
+22 41124277 22:41124277A-G A G
+22 41124468 22:41124468T-C T C
+22 41124486 22:41124486T-C T C
+22 41124650 22:41124650T-C T C
+22 41124730 22:41124730G-A G A
+22 41124992 22:41124992C-T C T
+22 41125069 22:41125069T-A T A
+22 41125381 22:41125381T-C T C
+22 41125392 22:41125392G-A G A
+22 41125716 22:41125716C-T C T
+22 41125911 22:41125911T-A T A
+22 41125959 22:41125959G-A G A
+22 41126128 22:41126128G-A G A
+22 41126673 22:41126673T-C T C
+22 41126682 22:41126682C-T C T
+22 41126726 22:41126726T-G T G
+22 41127062 22:41127062C-T C T
+22 41127409 22:41127409C-T C T
+22 41127484 22:41127484A-C A C
+22 41127914 22:41127914A-G A G
+22 41128030 22:41128030G-A G A
+22 41128750 22:41128750G-C G C
+22 41128787 22:41128787T-C T C
+22 41128876 22:41128876G-A G A
+22 41128896 22:41128896C-T C T
+22 41128960 22:41128960G-A G A
+22 41129293 22:41129293G-T G T
+22 41130162 22:41130162C-T C T
+22 41130480 22:41130480C-T C T
+22 41130755 22:41130755G-C G C
+22 41131212 22:41131212A-G A G
+22 41131295 22:41131295G-T G T
+22 41131366 22:41131366A-T A T
+22 41131871 22:41131871A-C A C
+22 41131881 22:41131881A-T A T
+22 41131965 22:41131965G-A G A
+22 41132320 22:41132320G-A G A
+22 41132402 22:41132402C-A C A
+22 41132687 22:41132687T-C T C
+22 41132751 22:41132751A-G A G
+22 41132780 22:41132780C-T C T
+22 41132793 22:41132793A-G A G
+22 41132887 22:41132887G-C G C
+22 41133653 22:41133653T-C T C
+22 41134088 22:41134088G-A G A
+22 41134096 22:41134096C-T C T
+22 41134242 22:41134242G-A G A
+22 41134504 22:41134504C-T C T
+22 41134587 22:41134587T-G T G
+22 41134941 22:41134941C-T C T
+22 41135329 22:41135329A-G A G
+22 41135715 22:41135715A-G A G
+22 41136532 22:41136532A-T A T
+22 41136545 22:41136545A-G A G
+22 41136554 22:41136554C-G C G
+22 41136705 22:41136705A-G A G
+22 41137558 22:41137558C-T C T
+22 41137637 22:41137637A-G A G
+22 41137645 22:41137645A-G A G
+22 41137705 22:41137705C-T C T
+22 41137750 22:41137750T-C T C
+22 41137922 22:41137922C-G C G
+22 41138018 22:41138018A-G A G
+22 41138312 22:41138312C-T C T
+22 41138713 22:41138713G-C G C
+22 41138775 22:41138775C-A C A
+22 41138784 22:41138784C-T C T
+22 41138917 22:41138917G-A G A
+22 41143019 22:41143019G-T G T
+22 41143058 22:41143058A-G A G
+22 41143268 22:41143268G-A G A
+22 41143526 22:41143526G-C G C
+22 41143752 22:41143752G-A G A
+22 41143920 22:41143920A-G A G
+22 41144159 22:41144159T-C T C
+22 41144275 22:41144275G-A G A
+22 41144474 22:41144474T-C T C
+22 41144629 22:41144629C-G C G
+22 41144669 22:41144669T-C T C
+22 41144875 22:41144875G-A G A
+22 41144905 22:41144905T-C T C
+22 41144917 22:41144917C-T C T
+22 41144948 22:41144948A-C A C
+22 41145142 22:41145142C-T C T
+22 41145604 22:41145604T-C T C
+22 41145630 22:41145630T-C T C
+22 41146400 22:41146400T-C T C
+22 41146564 22:41146564C-T C T
+22 41146690 22:41146690A-T A T
+22 41146748 22:41146748T-C T C
+22 41146933 22:41146933G-A G A
+22 41147033 22:41147033G-C G C
+22 41147067 22:41147067T-C T C
+22 41147117 22:41147117C-A C A
+22 41147290 22:41147290T-C T C
+22 41147432 22:41147432G-A G A
+22 41147756 22:41147756T-A T A
+22 41147860 22:41147860T-G T G
+22 41147973 22:41147973T-C T C
+22 41149865 22:41149865T-C T C
+22 41150278 22:41150278C-T C T
+22 41150750 22:41150750T-C T C
+22 41150870 22:41150870A-G A G
+22 41151084 22:41151084C-T C T
+22 41152028 22:41152028A-G A G
+22 41152643 22:41152643G-A G A
+22 41153879 22:41153879T-C T C
+22 41153994 22:41153994T-C T C
+22 41154065 22:41154065G-T G T
+22 41154631 22:41154631C-T C T
+22 41154880 22:41154880C-A C A
+22 41156988 22:41156988T-C T C
+22 41158135 22:41158135C-T C T
+22 41159173 22:41159173A-G A G
+22 41159231 22:41159231C-T C T
+22 41161049 22:41161049C-G C G
+22 41161225 22:41161225G-T G T
+22 41161986 22:41161986C-G C G
+22 41162163 22:41162163G-A G A
+22 41162305 22:41162305A-T A T
+22 41163108 22:41163108A-C A C
+22 41163753 22:41163753A-G A G
+22 41163874 22:41163874G-A G A
+22 41164847 22:41164847G-C G C
+22 41166135 22:41166135A-G A G
+22 41167872 22:41167872T-C T C
+22 41170063 22:41170063T-C T C
+22 41175263 22:41175263C-T C T
+22 41177500 22:41177500C-T C T
+22 41179901 22:41179901G-C G C
+22 41181336 22:41181336G-A G A
+22 41181586 22:41181586G-A G A
+22 41182304 22:41182304A-G A G
+22 41182828 22:41182828G-A G A
+22 41183471 22:41183471C-G C G
+22 41184102 22:41184102G-A G A
+22 41184439 22:41184439A-C A C
+22 41186071 22:41186071C-T C T
+22 41189505 22:41189505T-A T A
+22 41191057 22:41191057C-T C T
+22 41191938 22:41191938C-T C T
+22 41192603 22:41192603A-G A G
+22 41193574 22:41193574G-A G A
+22 41194909 22:41194909C-T C T
+22 41196068 22:41196068G-T G T
+22 41197433 22:41197433C-T C T
+22 41198988 22:41198988C-A C A
+22 41199407 22:41199407T-C T C
+22 41200200 22:41200200T-C T C
+22 41201574 22:41201574A-C A C
+22 41202136 22:41202136C-T C T
+22 41204323 22:41204323G-A G A
+22 41206980 22:41206980G-T G T
+22 41208017 22:41208017C-T C T
+22 41208362 22:41208362T-C T C
+22 41208403 22:41208403G-A G A
+22 41209156 22:41209156C-T C T
+22 41209304 22:41209304G-A G A
+22 41209684 22:41209684C-T C T
+22 41210063 22:41210063T-A T A
+22 41211229 22:41211229A-G A G
+22 41213027 22:41213027A-G A G
+22 41213267 22:41213267T-A T A
+22 41213363 22:41213363C-T C T
+22 41215672 22:41215672T-C T C
+22 41216028 22:41216028A-G A G
+22 41216037 22:41216037C-A C A
+22 41216746 22:41216746A-T A T
+22 41217058 22:41217058C-T C T
+22 41217310 22:41217310C-T C T
+22 41219687 22:41219687T-C T C
+22 41223190 22:41223190C-T C T
+22 41223859 22:41223859G-A G A
+22 41227086 22:41227086C-G C G
+22 41229149 22:41229149C-T C T
+22 41230238 22:41230238T-A T A
+22 41231053 22:41231053A-G A G
+22 41232298 22:41232298A-C A C
+22 41232594 22:41232594T-C T C
+22 41233479 22:41233479C-T C T
+22 41235639 22:41235639C-T C T
+22 41240835 22:41240835G-A G A
+22 41241945 22:41241945C-T C T
+22 41242026 22:41242026T-C T C
+22 41244398 22:41244398C-G C G
+22 41245457 22:41245457C-G C G
+22 41246023 22:41246023C-T C T
+22 41246211 22:41246211G-A G A
+22 41246952 22:41246952C-T C T
+22 41247243 22:41247243C-T C T
+22 41247938 22:41247938A-G A G
+22 41248031 22:41248031A-G A G
+22 41248080 22:41248080C-T C T
+22 41248384 22:41248384T-C T C
+22 41248505 22:41248505A-G A G
+22 41249522 22:41249522A-G A G
+22 41250134 22:41250134C-G C G
+22 41250439 22:41250439G-T G T
+22 41251012 22:41251012C-T C T
+22 41256802 22:41256802A-G A G
+22 41258144 22:41258144A-G A G
+22 41259463 22:41259463C-T C T
+22 41260846 22:41260846C-G C G
+22 41262103 22:41262103A-G A G
+22 41262127 22:41262127A-T A T
+22 41262852 22:41262852C-T C T
+22 41268925 22:41268925T-G T G
+22 41270730 22:41270730G-A G A
+22 41272143 22:41272143T-C T C
+22 41275124 22:41275124A-C A C
+22 41283984 22:41283984G-A G A
+22 41291730 22:41291730T-C T C
+22 41293117 22:41293117G-C G C
+22 41297101 22:41297101A-T A T
+22 41297305 22:41297305C-G C G
+22 41298138 22:41298138G-A G A
+22 41298977 22:41298977A-G A G
+22 41302973 22:41302973A-T A T
+22 41306960 22:41306960C-T C T
+22 41310063 22:41310063T-C T C
+22 41312350 22:41312350A-G A G
+22 41313843 22:41313843A-T A T
+22 41314246 22:41314246C-T C T
+22 41315083 22:41315083T-C T C
+22 41315594 22:41315594C-T C T
+22 41317083 22:41317083A-C A C
+22 41325068 22:41325068G-A G A
+22 41325790 22:41325790C-T C T
+22 41327000 22:41327000G-A G A
+22 41336658 22:41336658A-G A G
+22 41339367 22:41339367G-C G C
+22 41342438 22:41342438T-C T C
+22 41343354 22:41343354A-G A G
+22 41345806 22:41345806G-A G A
+22 41347813 22:41347813G-A G A
+22 41351793 22:41351793C-T C T
+22 41353455 22:41353455G-T G T
+22 41354887 22:41354887G-C G C
+22 41355334 22:41355334G-A G A
+22 41358092 22:41358092A-T A T
+22 41359704 22:41359704A-G A G
+22 41359786 22:41359786G-A G A
+22 41362158 22:41362158G-C G C
+22 41367912 22:41367912A-G A G
+22 41369108 22:41369108G-C G C
+22 41370381 22:41370381G-A G A
+22 41372696 22:41372696T-C T C
+22 41374107 22:41374107A-G A G
+22 41374562 22:41374562G-A G A
+22 41376734 22:41376734T-C T C
+22 41377326 22:41377326G-A G A
+22 41379103 22:41379103G-A G A
+22 41380192 22:41380192A-G A G
+22 41381251 22:41381251G-A G A
+22 41382163 22:41382163A-G A G
+22 41382177 22:41382177G-T G T
+22 41383868 22:41383868C-T C T
+22 41386084 22:41386084C-G C G
+22 41386451 22:41386451A-G A G
+22 41391374 22:41391374C-T C T
+22 41393520 22:41393520C-T C T
+22 41393926 22:41393926G-T G T
+22 41394128 22:41394128C-T C T
+22 41395588 22:41395588C-T C T
+22 41396353 22:41396353T-C T C
+22 41399434 22:41399434G-A G A
+22 41399620 22:41399620A-C A C
+22 41401029 22:41401029T-C T C
+22 41401150 22:41401150G-A G A
+22 41401228 22:41401228A-G A G
+22 41401548 22:41401548T-C T C
+22 41401848 22:41401848C-T C T
+22 41402977 22:41402977G-A G A
+22 41403503 22:41403503T-C T C
+22 41403698 22:41403698G-A G A
+22 41403793 22:41403793C-G C G
+22 41403844 22:41403844A-G A G
+22 41404511 22:41404511T-A T A
+22 41404939 22:41404939T-C T C
+22 41404970 22:41404970G-A G A
+22 41405753 22:41405753A-G A G
+22 41406919 22:41406919G-A G A
+22 41407165 22:41407165G-A G A
+22 41408754 22:41408754T-C T C
+22 41408991 22:41408991G-A G A
+22 41409429 22:41409429C-T C T
+22 41410124 22:41410124T-G T G
+22 41410267 22:41410267G-A G A
+22 41410666 22:41410666G-A G A
+22 41410915 22:41410915T-A T A
+22 41410922 22:41410922T-C T C
+22 41411804 22:41411804G-C G C
+22 41411949 22:41411949G-A G A
+22 41412396 22:41412396C-T C T
+22 41412425 22:41412425T-C T C
+22 41412723 22:41412723C-T C T
+22 41412928 22:41412928A-G A G
+22 41413130 22:41413130T-C T C
+22 41413286 22:41413286G-C G C
+22 41413635 22:41413635C-G C G
+22 41413640 22:41413640T-C T C
+22 41414055 22:41414055G-A G A
+22 41414434 22:41414434G-A G A
+22 41414846 22:41414846C-T C T
+22 41415327 22:41415327A-C A C
+22 41415337 22:41415337C-T C T
+22 41415479 22:41415479C-G C G
+22 41415644 22:41415644G-T G T
+22 41415939 22:41415939G-A G A
+22 41415950 22:41415950A-T A T
+22 41416097 22:41416097C-T C T
+22 41416181 22:41416181C-T C T
+22 41416557 22:41416557C-T C T
+22 41416607 22:41416607A-G A G
+22 41417328 22:41417328G-C G C
+22 41418154 22:41418154C-T C T
+22 41418297 22:41418297T-C T C
+22 41420441 22:41420441G-A G A
+22 41420679 22:41420679T-G T G
+22 41420781 22:41420781C-T C T
+22 41420948 22:41420948C-T C T
+22 41421293 22:41421293G-A G A
+22 41423627 22:41423627G-C G C
+22 41424065 22:41424065A-G A G
+22 41424481 22:41424481G-A G A
+22 41426139 22:41426139G-A G A
+22 41426299 22:41426299A-T A T
+22 41426877 22:41426877C-T C T
+22 41427446 22:41427446G-A G A
+22 41429084 22:41429084G-A G A
+22 41429630 22:41429630C-T C T
+22 41429990 22:41429990C-T C T
+22 41430338 22:41430338A-T A T
+22 41431342 22:41431342C-A C A
+22 41431490 22:41431490T-C T C
+22 41432099 22:41432099C-T C T
+22 41432104 22:41432104C-T C T
+22 41432389 22:41432389G-C G C
+22 41432544 22:41432544T-C T C
+22 41433319 22:41433319T-C T C
+22 41434158 22:41434158G-A G A
+22 41434198 22:41434198T-C T C
+22 41434217 22:41434217A-G A G
+22 41434333 22:41434333A-G A G
+22 41434420 22:41434420C-G C G
+22 41434650 22:41434650G-A G A
+22 41434670 22:41434670A-G A G
+22 41434858 22:41434858G-A G A
+22 41434937 22:41434937C-T C T
+22 41436442 22:41436442T-C T C
+22 41436975 22:41436975A-T A T
+22 41437269 22:41437269T-C T C
+22 41437304 22:41437304T-C T C
+22 41437526 22:41437526C-T C T
+22 41438061 22:41438061C-T C T
+22 41438710 22:41438710T-G T G
+22 41439093 22:41439093C-G C G
+22 41439185 22:41439185G-A G A
+22 41439304 22:41439304A-T A T
+22 41439441 22:41439441C-T C T
+22 41439604 22:41439604A-G A G
+22 41440061 22:41440061T-C T C
+22 41440375 22:41440375G-A G A
+22 41440424 22:41440424G-A G A
+22 41440683 22:41440683T-C T C
+22 41441787 22:41441787C-T C T
+22 41442424 22:41442424G-T G T
+22 41442488 22:41442488T-C T C
+22 41442566 22:41442566A-G A G
+22 41442653 22:41442653A-G A G
+22 41442831 22:41442831C-T C T
+22 41442864 22:41442864C-T C T
+22 41443075 22:41443075T-C T C
+22 41443295 22:41443295C-T C T
+22 41443877 22:41443877G-C G C
+22 41444350 22:41444350C-T C T
+22 41444363 22:41444363A-G A G
+22 41444444 22:41444444G-C G C
+22 41444686 22:41444686C-A C A
+22 41446147 22:41446147A-G A G
+22 41447570 22:41447570A-G A G
+22 41447675 22:41447675T-A T A
+22 41448392 22:41448392T-C T C
+22 41448734 22:41448734A-G A G
+22 41450447 22:41450447T-A T A
+22 41450646 22:41450646C-T C T
+22 41450844 22:41450844G-A G A
+22 41450863 22:41450863C-T C T
+22 41450868 22:41450868A-T A T
+22 41451185 22:41451185A-C A C
+22 41451218 22:41451218C-T C T
+22 41451412 22:41451412T-A T A
+22 41452301 22:41452301G-A G A
+22 41452549 22:41452549G-T G T
+22 41452876 22:41452876G-C G C
+22 41453670 22:41453670A-G A G
+22 41453684 22:41453684C-G C G
+22 41454766 22:41454766A-T A T
+22 41456013 22:41456013C-G C G
+22 41456560 22:41456560T-A T A
+22 41456606 22:41456606A-G A G
+22 41457459 22:41457459T-C T C
+22 41457498 22:41457498C-G C G
+22 41457957 22:41457957T-C T C
+22 41457977 22:41457977A-G A G
+22 41458784 22:41458784C-G C G
+22 41459486 22:41459486G-A G A
+22 41460489 22:41460489C-T C T
+22 41461125 22:41461125G-A G A
+22 41461176 22:41461176C-T C T
+22 41461218 22:41461218A-G A G
+22 41461261 22:41461261A-G A G
+22 41461836 22:41461836A-G A G
+22 41461865 22:41461865T-G T G
+22 41462072 22:41462072G-A G A
+22 41462592 22:41462592G-T G T
+22 41462730 22:41462730C-T C T
+22 41463634 22:41463634A-T A T
+22 41464541 22:41464541T-C T C
+22 41466229 22:41466229C-T C T
+22 41468273 22:41468273C-G C G
+22 41469213 22:41469213A-G A G
+22 41469877 22:41469877A-G A G
+22 41470001 22:41470001A-G A G
+22 41470313 22:41470313A-G A G
+22 41470522 22:41470522G-A G A
+22 41471003 22:41471003C-T C T
+22 41471066 22:41471066T-C T C
+22 41471447 22:41471447T-C T C
+22 41473061 22:41473061A-G A G
+22 41473866 22:41473866T-C T C
+22 41474077 22:41474077G-A G A
+22 41474285 22:41474285G-A G A
+22 41474787 22:41474787G-A G A
+22 41476337 22:41476337T-C T C
+22 41476799 22:41476799A-C A C
+22 41477916 22:41477916G-A G A
+22 41478482 22:41478482G-A G A
+22 41479508 22:41479508C-G C G
+22 41484408 22:41484408C-A C A
+22 41484927 22:41484927G-C G C
+22 41486193 22:41486193A-G A G
+22 41486657 22:41486657T-C T C
+22 41487218 22:41487218T-C T C
+22 41487344 22:41487344G-A G A
+22 41488232 22:41488232C-T C T
+22 41489526 22:41489526C-A C A
+22 41489920 22:41489920G-A G A
+22 41490680 22:41490680G-C G C
+22 41490926 22:41490926T-C T C
+22 41491276 22:41491276T-C T C
+22 41492653 22:41492653G-A G A
+22 41493474 22:41493474C-T C T
+22 41494468 22:41494468C-T C T
+22 41494925 22:41494925G-A G A
+22 41495329 22:41495329G-A G A
+22 41495707 22:41495707T-A T A
+22 41496800 22:41496800G-A G A
+22 41496846 22:41496846A-G A G
+22 41497234 22:41497234A-G A G
+22 41497785 22:41497785C-T C T
+22 41498627 22:41498627G-A G A
+22 41501653 22:41501653G-C G C
+22 41502825 22:41502825T-G T G
+22 41502922 22:41502922A-G A G
+22 41504049 22:41504049C-G C G
+22 41506377 22:41506377A-G A G
+22 41507400 22:41507400A-G A G
+22 41508224 22:41508224C-T C T
+22 41508393 22:41508393T-G T G
+22 41508414 22:41508414G-T G T
+22 41509642 22:41509642C-G C G
+22 41510179 22:41510179G-T G T
+22 41510360 22:41510360A-G A G
+22 41511171 22:41511171T-C T C
+22 41511176 22:41511176G-A G A
+22 41512458 22:41512458C-T C T
+22 41512609 22:41512609G-A G A
+22 41513094 22:41513094G-T G T
+22 41514155 22:41514155G-A G A
+22 41515744 22:41515744T-G T G
+22 41516608 22:41516608A-G A G
+22 41519308 22:41519308G-A G A
+22 41519362 22:41519362T-C T C
+22 41521557 22:41521557G-A G A
+22 41521717 22:41521717T-C T C
+22 41523937 22:41523937A-G A G
+22 41526364 22:41526364C-G C G
+22 41528407 22:41528407T-G T G
+22 41529724 22:41529724T-G T G
+22 41530040 22:41530040A-G A G
+22 41530438 22:41530438G-A G A
+22 41530966 22:41530966T-C T C
+22 41531410 22:41531410A-G A G
+22 41532534 22:41532534G-A G A
+22 41532934 22:41532934T-C T C
+22 41534356 22:41534356C-T C T
+22 41537589 22:41537589A-G A G
+22 41538111 22:41538111C-G C G
+22 41539206 22:41539206C-G C G
+22 41539424 22:41539424T-C T C
+22 41540279 22:41540279T-C T C
+22 41540934 22:41540934C-G C G
+22 41541024 22:41541024A-G A G
+22 41541527 22:41541527G-C G C
+22 41541929 22:41541929T-C T C
+22 41543171 22:41543171G-A G A
+22 41544167 22:41544167C-T C T
+22 41547154 22:41547154C-A C A
+22 41547416 22:41547416C-G C G
+22 41548008 22:41548008A-G A G
+22 41549009 22:41549009T-C T C
+22 41549297 22:41549297A-G A G
+22 41549921 22:41549921A-C A C
+22 41550954 22:41550954C-T C T
+22 41551039 22:41551039T-A T A
+22 41552926 22:41552926T-G T G
+22 41558232 22:41558232A-G A G
+22 41561515 22:41561515C-T C T
+22 41562177 22:41562177A-G A G
+22 41564287 22:41564287T-C T C
+22 41564708 22:41564708C-A C A
+22 41565051 22:41565051C-T C T
+22 41565285 22:41565285A-G A G
+22 41565827 22:41565827A-G A G
+22 41566595 22:41566595C-T C T
+22 41566728 22:41566728C-T C T
+22 41566823 22:41566823A-G A G
+22 41567535 22:41567535G-T G T
+22 41567722 22:41567722G-T G T
+22 41568480 22:41568480T-C T C
+22 41569043 22:41569043A-G A G
+22 41569124 22:41569124T-C T C
+22 41569609 22:41569609C-T C T
+22 41569887 22:41569887G-A G A
+22 41570071 22:41570071T-C T C
+22 41570567 22:41570567G-A G A
+22 41570631 22:41570631A-G A G
+22 41570745 22:41570745T-C T C
+22 41576462 22:41576462C-A C A
+22 41577964 22:41577964G-A G A
+22 41578065 22:41578065A-G A G
+22 41578333 22:41578333A-G A G
+22 41580713 22:41580713C-T C T
+22 41582922 22:41582922G-C G C
+22 41584351 22:41584351G-A G A
+22 41585793 22:41585793T-G T G
+22 41586320 22:41586320C-T C T
+22 41587556 22:41587556T-A T A
+22 41589862 22:41589862G-A G A
+22 41592677 22:41592677G-A G A
+22 41593581 22:41593581C-T C T
+22 41593636 22:41593636G-A G A
+22 41593873 22:41593873T-G T G
+22 41594611 22:41594611T-C T C
+22 41596010 22:41596010A-C A C
+22 41596454 22:41596454A-G A G
+22 41597377 22:41597377A-C A C
+22 41598050 22:41598050C-G C G
+22 41598053 22:41598053T-C T C
+22 41598874 22:41598874G-A G A
+22 41598933 22:41598933G-A G A
+22 41599420 22:41599420C-G C G
+22 41602887 22:41602887T-A T A
+22 41604346 22:41604346C-G C G
+22 41604353 22:41604353C-T C T
+22 41604399 22:41604399G-A G A
+22 41604557 22:41604557G-A G A
+22 41604652 22:41604652C-G C G
+22 41604785 22:41604785A-G A G
+22 41604811 22:41604811G-A G A
+22 41605131 22:41605131G-A G A
+22 41605635 22:41605635T-C T C
+22 41605639 22:41605639C-T C T
+22 41606030 22:41606030A-C A C
+22 41606195 22:41606195T-C T C
+22 41606264 22:41606264A-G A G
+22 41606279 22:41606279A-G A G
+22 41606312 22:41606312T-C T C
+22 41606395 22:41606395G-C G C
+22 41606397 22:41606397G-A G A
+22 41606720 22:41606720A-G A G
+22 41606988 22:41606988A-G A G
+22 41607056 22:41607056A-G A G
+22 41607065 22:41607065C-G C G
+22 41608462 22:41608462T-C T C
+22 41608526 22:41608526G-C G C
+22 41608629 22:41608629G-T G T
+22 41608670 22:41608670C-G C G
+22 41608948 22:41608948C-T C T
+22 41609430 22:41609430G-A G A
+22 41609690 22:41609690C-T C T
+22 41609859 22:41609859T-C T C
+22 41610024 22:41610024G-A G A
+22 41610172 22:41610172G-C G C
+22 41610242 22:41610242A-G A G
+22 41610391 22:41610391G-A G A
+22 41610406 22:41610406C-G C G
+22 41610449 22:41610449A-G A G
+22 41610667 22:41610667T-C T C
+22 41610668 22:41610668G-A G A
+22 41611063 22:41611063T-C T C
+22 41611240 22:41611240T-C T C
+22 41611460 22:41611460T-C T C
+22 41611610 22:41611610A-G A G
+22 41611619 22:41611619T-C T C
+22 41612541 22:41612541T-C T C
+22 41612543 22:41612543T-G T G
+22 41612965 22:41612965T-G T G
+22 41613188 22:41613188C-T C T
+22 41613303 22:41613303C-T C T
+22 41614020 22:41614020C-G C G
+22 41614113 22:41614113C-T C T
+22 41614259 22:41614259A-G A G
+22 41614996 22:41614996A-G A G
+22 41615028 22:41615028T-C T C
+22 41615376 22:41615376C-T C T
+22 41615832 22:41615832A-G A G
+22 41616284 22:41616284T-G T G
+22 41616516 22:41616516C-T C T
+22 41617026 22:41617026T-C T C
+22 41617318 22:41617318G-C G C
+22 41617897 22:41617897G-A G A
+22 41618372 22:41618372A-G A G
+22 41618880 22:41618880G-T G T
+22 41618971 22:41618971G-C G C
+22 41619226 22:41619226G-C G C
+22 41619350 22:41619350T-A T A
+22 41621714 22:41621714G-A G A
+22 41622419 22:41622419A-T A T
+22 41623351 22:41623351A-G A G
+22 41623996 22:41623996C-T C T
+22 41624461 22:41624461A-G A G
+22 41624761 22:41624761G-A G A
+22 41626663 22:41626663C-T C T
+22 41627073 22:41627073C-T C T
+22 41627386 22:41627386C-T C T
+22 41627527 22:41627527A-G A G
+22 41627543 22:41627543T-G T G
+22 41627606 22:41627606G-A G A
+22 41627654 22:41627654C-G C G
+22 41627775 22:41627775C-G C G
+22 41627924 22:41627924C-T C T
+22 41628902 22:41628902G-T G T
+22 41632079 22:41632079C-T C T
+22 41635204 22:41635204C-G C G
+22 41635425 22:41635425C-T C T
+22 41637119 22:41637119G-T G T
+22 41639728 22:41639728T-G T G
+22 41640098 22:41640098C-T C T
+22 41640659 22:41640659C-T C T
+22 41640850 22:41640850T-C T C
+22 41641984 22:41641984C-T C T
+22 41642212 22:41642212C-T C T
+22 41643732 22:41643732A-G A G
+22 41644074 22:41644074C-T C T
+22 41644234 22:41644234G-C G C
+22 41644428 22:41644428G-A G A
+22 41645085 22:41645085A-G A G
+22 41645257 22:41645257C-T C T
+22 41645757 22:41645757C-G C G
+22 41646738 22:41646738A-G A G
+22 41647491 22:41647491T-A T A
+22 41648091 22:41648091C-T C T
+22 41648502 22:41648502T-C T C
+22 41649941 22:41649941G-A G A
+22 41650190 22:41650190C-A C A
+22 41650699 22:41650699C-G C G
+22 41650848 22:41650848C-T C T
+22 41651026 22:41651026T-C T C
+22 41651034 22:41651034G-A G A
+22 41651440 22:41651440A-G A G
+22 41651467 22:41651467T-C T C
+22 41651704 22:41651704G-A G A
+22 41652345 22:41652345C-G C G
+22 41652733 22:41652733G-A G A
+22 41652846 22:41652846G-T G T
+22 41653540 22:41653540T-G T G
+22 41654955 22:41654955A-G A G
+22 41655058 22:41655058A-G A G
+22 41656133 22:41656133A-G A G
+22 41656332 22:41656332G-A G A
+22 41656509 22:41656509G-A G A
+22 41657626 22:41657626C-T C T
+22 41657705 22:41657705G-A G A
+22 41658632 22:41658632C-T C T
+22 41659580 22:41659580G-A G A
+22 41660410 22:41660410C-G C G
+22 41660645 22:41660645G-A G A
+22 41660964 22:41660964A-G A G
+22 41661154 22:41661154G-T G T
+22 41664071 22:41664071G-A G A
+22 41664513 22:41664513T-C T C
+22 41664539 22:41664539A-G A G
+22 41664942 22:41664942G-A G A
+22 41665722 22:41665722G-A G A
+22 41666185 22:41666185C-A C A
+22 41667493 22:41667493G-C G C
+22 41667727 22:41667727A-G A G
+22 41671732 22:41671732G-A G A
+22 41672271 22:41672271A-C A C
+22 41672514 22:41672514A-G A G
+22 41673592 22:41673592A-T A T
+22 41674203 22:41674203C-T C T
+22 41674521 22:41674521G-A G A
+22 41675015 22:41675015C-T C T
+22 41675108 22:41675108G-A G A
+22 41675126 22:41675126A-G A G
+22 41676176 22:41676176A-G A G
+22 41677214 22:41677214T-C T C
+22 41677317 22:41677317C-T C T
+22 41678351 22:41678351T-C T C
+22 41679524 22:41679524T-C T C
+22 41679979 22:41679979G-A G A
+22 41680898 22:41680898C-T C T
+22 41682014 22:41682014G-T G T
+22 41683144 22:41683144G-C G C
+22 41683806 22:41683806A-C A C
+22 41684003 22:41684003A-T A T
+22 41684093 22:41684093C-T C T
+22 41684426 22:41684426G-A G A
+22 41684808 22:41684808G-C G C
+22 41685937 22:41685937G-C G C
+22 41688550 22:41688550C-G C G
+22 41689407 22:41689407A-C A C
+22 41689509 22:41689509T-C T C
+22 41692581 22:41692581A-G A G
+22 41697338 22:41697338A-G A G
+22 41698542 22:41698542C-G C G
+22 41699206 22:41699206G-C G C
+22 41700030 22:41700030G-C G C
+22 41700203 22:41700203C-T C T
+22 41700361 22:41700361A-G A G
+22 41700657 22:41700657G-C G C
+22 41701064 22:41701064A-G A G
+22 41701125 22:41701125T-C T C
+22 41703408 22:41703408A-G A G
+22 41703428 22:41703428G-A G A
+22 41703579 22:41703579A-G A G
+22 41703804 22:41703804A-G A G
+22 41704143 22:41704143G-T G T
+22 41704872 22:41704872C-T C T
+22 41705909 22:41705909C-G C G
+22 41709235 22:41709235G-A G A
+22 41710034 22:41710034T-C T C
+22 41713111 22:41713111G-A G A
+22 41714912 22:41714912G-A G A
+22 41719248 22:41719248C-T C T
+22 41719469 22:41719469C-T C T
+22 41720697 22:41720697A-G A G
+22 41720728 22:41720728G-C G C
+22 41721344 22:41721344C-A C A
+22 41722864 22:41722864T-C T C
+22 41723113 22:41723113G-A G A
+22 41725180 22:41725180C-G C G
+22 41726053 22:41726053G-A G A
+22 41726803 22:41726803T-G T G
+22 41727031 22:41727031G-A G A
+22 41728620 22:41728620T-C T C
+22 41729216 22:41729216G-A G A
+22 41729294 22:41729294T-G T G
+22 41732389 22:41732389T-C T C
+22 41733262 22:41733262G-A G A
+22 41733895 22:41733895A-G A G
+22 41736267 22:41736267A-G A G
+22 41739370 22:41739370T-C T C
+22 41741042 22:41741042G-C G C
+22 41741544 22:41741544G-A G A
+22 41742788 22:41742788A-T A T
+22 41742988 22:41742988A-G A G
+22 41744022 22:41744022C-G C G
+22 41745355 22:41745355A-G A G
+22 41745548 22:41745548C-G C G
+22 41746212 22:41746212T-C T C
+22 41747717 22:41747717G-A G A
+22 41749630 22:41749630T-C T C
+22 41749796 22:41749796C-T C T
+22 41750219 22:41750219A-G A G
+22 41750622 22:41750622T-C T C
+22 41752747 22:41752747G-A G A
+22 41752944 22:41752944A-G A G
+22 41753059 22:41753059G-A G A
+22 41753603 22:41753603G-A G A
+22 41755105 22:41755105A-G A G
+22 41755857 22:41755857G-T G T
+22 41756571 22:41756571C-T C T
+22 41757223 22:41757223C-T C T
+22 41757234 22:41757234C-G C G
+22 41757647 22:41757647G-A G A
+22 41759375 22:41759375G-T G T
+22 41759987 22:41759987A-G A G
+22 41761290 22:41761290T-C T C
+22 41762523 22:41762523T-G T G
+22 41767135 22:41767135C-T C T
+22 41767486 22:41767486T-C T C
+22 41768625 22:41768625C-T C T
+22 41768862 22:41768862C-T C T
+22 41769083 22:41769083T-C T C
+22 41769754 22:41769754A-G A G
+22 41769804 22:41769804G-A G A
+22 41770056 22:41770056G-A G A
+22 41774256 22:41774256T-C T C
+22 41775541 22:41775541A-G A G
+22 41776453 22:41776453C-T C T
+22 41776646 22:41776646G-C G C
+22 41777100 22:41777100G-T G T
+22 41777241 22:41777241A-G A G
+22 41777461 22:41777461T-C T C
+22 41777558 22:41777558A-G A G
+22 41777883 22:41777883G-A G A
+22 41777913 22:41777913T-C T C
+22 41778617 22:41778617T-C T C
+22 41779073 22:41779073T-A T A
+22 41779971 22:41779971G-T G T
+22 41781094 22:41781094C-G C G
+22 41782119 22:41782119C-T C T
+22 41782423 22:41782423C-A C A
+22 41782435 22:41782435G-A G A
+22 41782633 22:41782633T-C T C
+22 41782721 22:41782721G-T G T
+22 41783659 22:41783659C-T C T
+22 41784562 22:41784562A-G A G
+22 41784867 22:41784867G-A G A
+22 41785287 22:41785287G-A G A
+22 41785735 22:41785735G-A G A
+22 41785812 22:41785812A-G A G
+22 41786227 22:41786227G-A G A
+22 41786788 22:41786788C-T C T
+22 41787676 22:41787676G-C G C
+22 41787950 22:41787950G-T G T
+22 41789408 22:41789408A-G A G
+22 41790179 22:41790179G-A G A
+22 41790500 22:41790500T-C T C
+22 41791045 22:41791045T-C T C
+22 41791200 22:41791200G-A G A
+22 41791536 22:41791536T-C T C
+22 41793032 22:41793032C-A C A
+22 41793090 22:41793090T-G T G
+22 41797547 22:41797547C-T C T
+22 41797758 22:41797758G-A G A
+22 41797824 22:41797824G-A G A
+22 41797846 22:41797846C-T C T
+22 41798520 22:41798520A-G A G
+22 41798896 22:41798896G-C G C
+22 41799106 22:41799106C-A C A
+22 41799767 22:41799767G-C G C
+22 41799833 22:41799833G-T G T
+22 41800678 22:41800678C-T C T
+22 41800882 22:41800882G-A G A
+22 41801268 22:41801268A-C A C
+22 41801299 22:41801299A-T A T
+22 41801795 22:41801795G-A G A
+22 41802031 22:41802031G-A G A
+22 41802438 22:41802438T-C T C
+22 41803279 22:41803279C-T C T
+22 41804160 22:41804160C-T C T
+22 41804214 22:41804214A-G A G
+22 41804716 22:41804716G-A G A
+22 41805749 22:41805749T-C T C
+22 41805782 22:41805782T-C T C
+22 41806768 22:41806768C-G C G
+22 41806772 22:41806772C-T C T
+22 41806808 22:41806808C-T C T
+22 41806928 22:41806928T-C T C
+22 41808350 22:41808350C-T C T
+22 41809623 22:41809623A-G A G
+22 41809637 22:41809637C-T C T
+22 41810170 22:41810170T-C T C
+22 41811130 22:41811130G-A G A
+22 41811620 22:41811620T-C T C
+22 41812044 22:41812044G-A G A
+22 41812084 22:41812084G-A G A
+22 41812439 22:41812439A-G A G
+22 41812755 22:41812755C-T C T
+22 41812819 22:41812819T-C T C
+22 41813886 22:41813886C-T C T
+22 41814055 22:41814055C-T C T
+22 41814401 22:41814401A-G A G
+22 41814719 22:41814719T-C T C
+22 41815116 22:41815116C-T C T
+22 41815609 22:41815609T-C T C
+22 41815938 22:41815938C-T C T
+22 41816042 22:41816042G-A G A
+22 41816652 22:41816652A-T A T
+22 41817685 22:41817685G-A G A
+22 41817878 22:41817878A-G A G
+22 41818234 22:41818234A-G A G
+22 41818276 22:41818276A-G A G
+22 41819667 22:41819667T-C T C
+22 41819800 22:41819800T-C T C
+22 41819960 22:41819960T-C T C
+22 41820541 22:41820541A-G A G
+22 41821019 22:41821019G-T G T
+22 41821216 22:41821216T-C T C
+22 41821253 22:41821253G-A G A
+22 41821423 22:41821423C-T C T
+22 41821460 22:41821460T-C T C
+22 41821993 22:41821993C-A C A
+22 41822150 22:41822150A-C A C
+22 41822221 22:41822221C-G C G
+22 41822305 22:41822305T-G T G
+22 41822793 22:41822793G-A G A
+22 41822856 22:41822856A-G A G
+22 41823626 22:41823626T-C T C
+22 41823803 22:41823803G-A G A
+22 41824836 22:41824836T-C T C
+22 41825342 22:41825342T-G T G
+22 41826108 22:41826108C-T C T
+22 41826440 22:41826440T-C T C
+22 41826802 22:41826802G-A G A
+22 41827082 22:41827082G-A G A
+22 41827589 22:41827589G-C G C
+22 41828111 22:41828111C-T C T
+22 41829149 22:41829149G-T G T
+22 41829794 22:41829794C-G C G
+22 41830212 22:41830212G-A G A
+22 41830708 22:41830708C-G C G
+22 41830874 22:41830874C-T C T
+22 41833116 22:41833116C-T C T
+22 41833527 22:41833527C-T C T
+22 41835452 22:41835452G-A G A
+22 41835544 22:41835544G-A G A
+22 41837541 22:41837541G-C G C
+22 41838792 22:41838792A-G A G
+22 41839714 22:41839714G-A G A
+22 41840158 22:41840158C-T C T
+22 41840407 22:41840407T-C T C
+22 41841034 22:41841034G-A G A
+22 41841564 22:41841564G-C G C
+22 41842203 22:41842203T-A T A
+22 41844786 22:41844786G-T G T
+22 41847190 22:41847190C-A C A
+22 41847367 22:41847367A-T A T
+22 41848204 22:41848204A-G A G
+22 41849513 22:41849513G-A G A
+22 41849975 22:41849975C-T C T
+22 41850230 22:41850230C-T C T
+22 41850500 22:41850500A-G A G
+22 41852479 22:41852479T-C T C
+22 41852583 22:41852583G-A G A
+22 41853928 22:41853928A-G A G
+22 41854446 22:41854446C-T C T
+22 41855458 22:41855458A-G A G
+22 41856137 22:41856137T-A T A
+22 41857453 22:41857453G-A G A
+22 41857812 22:41857812A-G A G
+22 41858035 22:41858035T-C T C
+22 41858657 22:41858657A-G A G
+22 41859556 22:41859556T-C T C
+22 41859661 22:41859661A-G A G
+22 41860864 22:41860864C-A C A
+22 41862288 22:41862288T-C T C
+22 41863423 22:41863423A-G A G
+22 41864190 22:41864190A-T A T
+22 41864216 22:41864216A-C A C
+22 41865739 22:41865739A-G A G
+22 41865809 22:41865809C-A C A
+22 41866938 22:41866938A-G A G
+22 41867377 22:41867377C-T C T
+22 41869268 22:41869268G-T G T
+22 41871463 22:41871463G-A G A
+22 41875804 22:41875804T-C T C
+22 41877989 22:41877989A-G A G
+22 41884954 22:41884954A-G A G
+22 41892836 22:41892836C-T C T
+22 41895409 22:41895409G-A G A
+22 41899369 22:41899369C-T C T
+22 41899598 22:41899598G-A G A
+22 41902503 22:41902503T-C T C
+22 41903743 22:41903743G-T G T
+22 41903813 22:41903813A-C A C
+22 41905278 22:41905278T-C T C
+22 41906325 22:41906325C-T C T
+22 41907148 22:41907148G-A G A
+22 41908405 22:41908405T-C T C
+22 41910244 22:41910244C-T C T
+22 41911525 22:41911525C-T C T
+22 41912750 22:41912750A-G A G
+22 41913413 22:41913413C-T C T
+22 41913477 22:41913477T-C T C
+22 41913844 22:41913844A-G A G
+22 41914434 22:41914434A-C A C
+22 41914593 22:41914593C-T C T
+22 41914860 22:41914860T-G T G
+22 41915329 22:41915329C-T C T
+22 41916001 22:41916001C-G C G
+22 41917920 22:41917920C-T C T
+22 41919330 22:41919330A-G A G
+22 41921665 22:41921665A-G A G
+22 41923644 22:41923644G-A G A
+22 41925535 22:41925535T-C T C
+22 41927228 22:41927228G-A G A
+22 41927700 22:41927700C-T C T
+22 41927820 22:41927820G-A G A
+22 41928320 22:41928320G-C G C
+22 41928371 22:41928371T-G T G
+22 41929175 22:41929175T-G T G
+22 41929960 22:41929960T-G T G
+22 41930522 22:41930522G-A G A
+22 41931010 22:41931010T-C T C
+22 41931074 22:41931074A-G A G
+22 41932774 22:41932774A-G A G
+22 41933837 22:41933837G-A G A
+22 41934573 22:41934573C-T C T
+22 41934961 22:41934961G-C G C
+22 41935063 22:41935063G-A G A
+22 41935285 22:41935285A-G A G
+22 41935362 22:41935362A-G A G
+22 41935912 22:41935912G-A G A
+22 41936019 22:41936019A-G A G
+22 41938536 22:41938536A-G A G
+22 41939668 22:41939668C-A C A
+22 41939739 22:41939739A-G A G
+22 41940872 22:41940872A-G A G
+22 41941243 22:41941243G-A G A
+22 41941479 22:41941479G-A G A
+22 41941749 22:41941749T-C T C
+22 41942904 22:41942904T-C T C
+22 41944073 22:41944073C-T C T
+22 41944587 22:41944587T-A T A
+22 41944759 22:41944759C-T C T
+22 41945113 22:41945113G-T G T
+22 41945357 22:41945357C-A C A
+22 41946519 22:41946519C-A C A
+22 41947716 22:41947716T-C T C
+22 41949259 22:41949259A-G A G
+22 41950175 22:41950175C-T C T
+22 41950228 22:41950228T-C T C
+22 41950482 22:41950482G-C G C
+22 41950671 22:41950671A-T A T
+22 41950897 22:41950897G-A G A
+22 41951243 22:41951243T-G T G
+22 41952075 22:41952075A-T A T
+22 41953739 22:41953739A-C A C
+22 41954251 22:41954251A-G A G
+22 41954824 22:41954824T-C T C
+22 41954919 22:41954919C-T C T
+22 41956944 22:41956944G-A G A
+22 41957610 22:41957610T-C T C
+22 41958495 22:41958495G-A G A
+22 41958862 22:41958862G-C G C
+22 41960413 22:41960413T-C T C
+22 41961134 22:41961134G-A G A
+22 41961189 22:41961189T-C T C
+22 41961831 22:41961831T-C T C
+22 41961916 22:41961916C-T C T
+22 41962003 22:41962003T-A T A
+22 41962292 22:41962292C-G C G
+22 41962793 22:41962793T-C T C
+22 41963553 22:41963553C-G C G
+22 41964168 22:41964168G-A G A
+22 41964357 22:41964357C-A C A
+22 41964361 22:41964361C-G C G
+22 41965237 22:41965237A-T A T
+22 41965292 22:41965292A-G A G
+22 41965300 22:41965300T-C T C
+22 41966673 22:41966673C-A C A
+22 41967870 22:41967870C-T C T
+22 41972032 22:41972032T-C T C
+22 41976478 22:41976478G-C G C
+22 41976939 22:41976939T-C T C
+22 41979668 22:41979668G-C G C
+22 41980892 22:41980892T-C T C
+22 41981957 22:41981957A-G A G
+22 41982475 22:41982475A-T A T
+22 41983938 22:41983938C-T C T
+22 41985956 22:41985956G-T G T
+22 41985958 22:41985958C-A C A
+22 41986620 22:41986620A-G A G
+22 41986714 22:41986714C-T C T
+22 41987543 22:41987543G-A G A
+22 41987627 22:41987627T-C T C
+22 41987914 22:41987914A-T A T
+22 41987937 22:41987937C-A C A
+22 41988927 22:41988927G-C G C
+22 41990644 22:41990644A-C A C
+22 41992169 22:41992169G-A G A
+22 41993496 22:41993496G-A G A
+22 41995335 22:41995335T-C T C
+22 41996131 22:41996131C-T C T
+22 42001183 22:42001183C-T C T
+22 42004371 22:42004371C-T C T
+22 42006838 22:42006838T-C T C
+22 42007945 22:42007945C-T C T
+22 42008068 22:42008068A-G A G
+22 42009520 22:42009520T-C T C
+22 42013523 22:42013523C-A C A
+22 42015765 22:42015765C-T C T
+22 42016699 22:42016699C-G C G
+22 42017264 22:42017264A-G A G
+22 42019251 22:42019251C-T C T
+22 42019378 22:42019378C-T C T
+22 42022035 22:42022035C-G C G
+22 42025350 22:42025350A-G A G
+22 42025823 22:42025823G-A G A
+22 42031768 22:42031768T-A T A
+22 42031953 22:42031953C-G C G
+22 42036374 22:42036374T-C T C
+22 42038640 22:42038640A-G A G
+22 42038786 22:42038786C-T C T
+22 42041310 22:42041310A-C A C
+22 42046122 22:42046122T-G T G
+22 42047525 22:42047525A-T A T
+22 42048866 22:42048866T-C T C
+22 42052363 22:42052363G-A G A
+22 42054803 22:42054803C-T C T
+22 42058846 22:42058846G-A G A
+22 42058949 22:42058949G-A G A
+22 42059768 22:42059768G-T G T
+22 42060917 22:42060917G-C G C
+22 42061156 22:42061156G-C G C
+22 42061562 22:42061562C-T C T
+22 42061639 22:42061639A-G A G
+22 42062146 22:42062146A-G A G
+22 42062767 22:42062767G-A G A
+22 42062822 22:42062822C-T C T
+22 42063681 22:42063681A-G A G
+22 42063961 22:42063961A-G A G
+22 42064765 22:42064765A-G A G
+22 42064838 22:42064838G-C G C
+22 42064901 22:42064901G-A G A
+22 42066705 22:42066705C-T C T
+22 42067864 22:42067864G-A G A
+22 42068469 22:42068469A-G A G
+22 42068510 22:42068510G-A G A
+22 42068602 22:42068602T-C T C
+22 42070276 22:42070276T-C T C
+22 42070374 22:42070374A-C A C
+22 42070793 22:42070793C-T C T
+22 42071584 22:42071584T-C T C
+22 42072912 22:42072912C-A C A
+22 42073134 22:42073134C-T C T
+22 42074042 22:42074042A-C A C
+22 42075300 22:42075300G-A G A
+22 42075581 22:42075581T-A T A
+22 42076381 22:42076381C-A C A
+22 42076641 22:42076641A-G A G
+22 42076956 22:42076956C-T C T
+22 42077737 22:42077737A-C A C
+22 42077858 22:42077858G-A G A
+22 42078666 22:42078666A-G A G
+22 42079734 22:42079734G-A G A
+22 42080188 22:42080188T-C T C
+22 42080803 22:42080803T-A T A
+22 42081063 22:42081063G-A G A
+22 42081921 22:42081921A-G A G
+22 42082329 22:42082329G-A G A
+22 42082497 22:42082497T-C T C
+22 42082791 22:42082791T-C T C
+22 42088158 22:42088158T-C T C
+22 42089623 22:42089623T-C T C
+22 42090069 22:42090069A-C A C
+22 42092225 22:42092225C-A C A
+22 42095140 22:42095140T-G T G
+22 42095904 22:42095904A-C A C
+22 42097238 22:42097238C-T C T
+22 42097462 22:42097462A-T A T
+22 42098763 22:42098763T-G T G
+22 42099688 22:42099688A-G A G
+22 42099981 22:42099981G-C G C
+22 42100275 22:42100275A-G A G
+22 42100681 22:42100681A-G A G
+22 42101815 22:42101815G-A G A
+22 42104929 22:42104929A-G A G
+22 42106216 22:42106216G-A G A
+22 42106996 22:42106996T-C T C
+22 42107262 22:42107262T-C T C
+22 42107745 22:42107745A-G A G
+22 42108598 22:42108598A-C A C
+22 42109844 22:42109844G-T G T
+22 42109917 22:42109917A-G A G
+22 42111693 22:42111693T-C T C
+22 42111896 22:42111896A-T A T
+22 42115050 22:42115050A-G A G
+22 42116163 22:42116163G-A G A
+22 42117322 22:42117322C-T C T
+22 42118249 22:42118249G-A G A
+22 42120864 22:42120864G-A G A
+22 42121278 22:42121278G-A G A
+22 42121789 22:42121789T-G T G
+22 42122926 22:42122926C-T C T
+22 42123099 22:42123099A-T A T
+22 42123399 22:42123399C-T C T
+22 42123737 22:42123737A-G A G
+22 42124265 22:42124265C-T C T
+22 42125147 22:42125147C-T C T
+22 42126301 22:42126301C-G C G
+22 42127999 22:42127999T-C T C
+22 42128097 22:42128097G-A G A
+22 42129357 22:42129357G-T G T
+22 42129964 22:42129964T-C T C
+22 42130383 22:42130383A-G A G
+22 42130843 22:42130843G-A G A
+22 42131447 22:42131447G-A G A
+22 42131762 22:42131762C-T C T
+22 42132481 22:42132481T-C T C
+22 42132888 22:42132888C-A C A
+22 42133060 22:42133060T-C T C
+22 42133443 22:42133443G-A G A
+22 42133552 22:42133552C-T C T
+22 42133921 22:42133921T-A T A
+22 42134539 22:42134539C-T C T
+22 42134895 22:42134895T-C T C
+22 42135751 22:42135751T-C T C
+22 42136930 22:42136930T-C T C
+22 42138106 22:42138106G-A G A
+22 42138200 22:42138200G-T G T
+22 42139054 22:42139054G-A G A
+22 42139078 22:42139078A-G A G
+22 42139501 22:42139501A-G A G
+22 42140160 22:42140160C-T C T
+22 42141452 22:42141452A-G A G
+22 42141640 22:42141640G-A G A
+22 42142306 22:42142306T-C T C
+22 42142386 22:42142386G-A G A
+22 42143537 22:42143537G-A G A
+22 42143572 22:42143572A-G A G
+22 42144372 22:42144372G-A G A
+22 42144927 22:42144927G-A G A
+22 42147179 22:42147179G-A G A
+22 42147725 22:42147725A-G A G
+22 42148467 22:42148467G-A G A
+22 42150146 22:42150146C-T C T
+22 42152266 22:42152266A-G A G
+22 42152429 22:42152429C-T C T
+22 42152988 22:42152988A-C A C
+22 42153292 22:42153292T-G T G
+22 42154132 22:42154132G-A G A
+22 42156517 22:42156517A-G A G
+22 42156561 22:42156561T-C T C
+22 42157081 22:42157081T-C T C
+22 42158204 22:42158204T-C T C
+22 42159072 22:42159072A-G A G
+22 42159229 22:42159229G-T G T
+22 42160050 22:42160050C-T C T
+22 42162189 22:42162189G-C G C
+22 42164516 22:42164516C-G C G
+22 42164660 22:42164660T-C T C
+22 42164862 22:42164862A-G A G
+22 42166416 22:42166416A-G A G
+22 42166486 22:42166486G-A G A
+22 42167464 22:42167464C-G C G
+22 42168181 22:42168181A-G A G
+22 42168767 22:42168767G-A G A
+22 42169269 22:42169269T-G T G
+22 42169618 22:42169618G-A G A
+22 42170025 22:42170025A-G A G
+22 42170432 22:42170432A-C A C
+22 42170935 22:42170935C-G C G
+22 42171300 22:42171300T-C T C
+22 42172080 22:42172080C-T C T
+22 42173879 22:42173879T-C T C
+22 42175231 22:42175231G-A G A
+22 42175314 22:42175314T-C T C
+22 42175365 22:42175365G-A G A
+22 42175695 22:42175695A-G A G
+22 42176059 22:42176059G-A G A
+22 42176871 22:42176871A-G A G
+22 42176917 22:42176917A-T A T
+22 42177453 22:42177453G-C G C
+22 42177899 22:42177899A-G A G
+22 42178040 22:42178040C-T C T
+22 42178441 22:42178441G-A G A
+22 42179662 22:42179662A-G A G
+22 42181498 22:42181498T-C T C
+22 42183409 22:42183409T-C T C
+22 42183440 22:42183440C-A C A
+22 42183468 22:42183468C-T C T
+22 42184143 22:42184143C-T C T
+22 42185186 22:42185186C-T C T
+22 42186266 22:42186266T-G T G
+22 42186838 22:42186838G-A G A
+22 42187015 22:42187015C-T C T
+22 42187199 22:42187199C-T C T
+22 42188891 22:42188891C-G C G
+22 42189090 22:42189090C-G C G
+22 42189135 22:42189135G-A G A
+22 42189230 22:42189230T-C T C
+22 42189384 22:42189384C-T C T
+22 42189407 22:42189407T-G T G
+22 42189551 22:42189551A-G A G
+22 42190309 22:42190309A-G A G
+22 42191636 22:42191636A-G A G
+22 42192482 22:42192482G-A G A
+22 42192722 22:42192722G-A G A
+22 42193741 22:42193741G-A G A
+22 42193913 22:42193913T-C T C
+22 42194561 22:42194561A-G A G
+22 42194567 22:42194567C-G C G
+22 42194580 22:42194580T-C T C
+22 42194724 22:42194724T-C T C
+22 42194728 22:42194728C-T C T
+22 42194962 22:42194962A-G A G
+22 42195410 22:42195410T-C T C
+22 42196467 22:42196467A-G A G
+22 42196684 22:42196684G-C G C
+22 42196911 22:42196911C-G C G
+22 42197270 22:42197270T-C T C
+22 42198093 22:42198093G-C G C
+22 42198537 22:42198537G-A G A
+22 42198896 22:42198896C-T C T
+22 42199277 22:42199277A-G A G
+22 42199860 22:42199860C-G C G
+22 42200324 22:42200324A-C A C
+22 42200916 22:42200916A-G A G
+22 42201111 22:42201111A-G A G
+22 42201185 22:42201185T-G T G
+22 42201517 22:42201517A-G A G
+22 42202606 22:42202606G-A G A
+22 42202825 22:42202825T-C T C
+22 42202944 22:42202944G-A G A
+22 42204113 22:42204113G-A G A
+22 42206084 22:42206084G-C G C
+22 42208672 22:42208672A-G A G
+22 42209922 22:42209922A-G A G
+22 42210119 22:42210119A-G A G
+22 42210597 22:42210597C-T C T
+22 42210985 22:42210985T-C T C
+22 42211141 22:42211141A-G A G
+22 42211455 22:42211455C-T C T
+22 42212936 22:42212936C-A C A
+22 42214238 22:42214238G-A G A
+22 42214532 22:42214532G-A G A
+22 42214785 22:42214785G-A G A
+22 42215684 22:42215684C-T C T
+22 42216326 22:42216326A-G A G
+22 42218602 22:42218602G-A G A
+22 42218856 22:42218856A-G A G
+22 42219160 22:42219160G-C G C
+22 42219854 22:42219854G-A G A
+22 42220491 22:42220491G-A G A
+22 42220719 22:42220719T-G T G
+22 42221650 22:42221650C-T C T
+22 42221846 22:42221846C-T C T
+22 42221951 22:42221951C-T C T
+22 42224713 22:42224713G-C G C
+22 42225018 22:42225018T-G T G
+22 42225917 22:42225917A-G A G
+22 42226395 22:42226395C-T C T
+22 42226410 22:42226410T-A T A
+22 42226823 22:42226823G-A G A
+22 42226950 22:42226950C-T C T
+22 42227039 22:42227039A-G A G
+22 42227100 22:42227100A-G A G
+22 42227150 22:42227150A-G A G
+22 42228156 22:42228156T-C T C
+22 42229562 22:42229562C-T C T
+22 42232291 22:42232291G-A G A
+22 42232577 22:42232577C-T C T
+22 42232588 22:42232588G-A G A
+22 42233050 22:42233050C-T C T
+22 42233955 22:42233955G-A G A
+22 42234937 22:42234937C-T C T
+22 42235219 22:42235219C-G C G
+22 42235352 22:42235352C-T C T
+22 42235815 22:42235815T-C T C
+22 42236153 22:42236153G-A G A
+22 42236193 22:42236193T-A T A
+22 42236337 22:42236337G-A G A
+22 42237565 22:42237565C-T C T
+22 42237769 22:42237769C-T C T
+22 42238027 22:42238027A-C A C
+22 42238764 22:42238764C-T C T
+22 42239348 22:42239348G-C G C
+22 42239827 22:42239827C-T C T
+22 42239938 22:42239938T-C T C
+22 42240797 22:42240797C-T C T
+22 42241372 22:42241372G-A G A
+22 42243020 22:42243020T-C T C
+22 42243618 22:42243618T-C T C
+22 42243841 22:42243841T-C T C
+22 42244212 22:42244212G-A G A
+22 42245722 22:42245722G-T G T
+22 42245763 22:42245763C-T C T
+22 42245970 22:42245970A-G A G
+22 42246037 22:42246037G-A G A
+22 42246392 22:42246392C-T C T
+22 42247360 22:42247360G-A G A
+22 42247695 22:42247695C-T C T
+22 42248860 22:42248860G-A G A
+22 42251123 22:42251123T-C T C
+22 42251190 22:42251190T-A T A
+22 42251810 22:42251810G-T G T
+22 42252589 22:42252589C-G C G
+22 42252894 22:42252894C-G C G
+22 42252960 22:42252960A-G A G
+22 42253727 22:42253727G-A G A
+22 42253763 22:42253763C-T C T
+22 42255525 22:42255525A-G A G
+22 42255705 22:42255705A-G A G
+22 42256088 22:42256088T-C T C
+22 42256814 22:42256814C-T C T
+22 42258049 22:42258049G-A G A
+22 42258577 22:42258577C-G C G
+22 42259098 22:42259098C-T C T
+22 42259524 22:42259524C-T C T
+22 42260971 22:42260971C-G C G
+22 42262447 22:42262447A-G A G
+22 42264269 22:42264269G-T G T
+22 42265430 22:42265430G-A G A
+22 42266168 22:42266168T-G T G
+22 42266419 22:42266419A-G A G
+22 42267605 22:42267605C-A C A
+22 42268721 22:42268721C-T C T
+22 42269532 22:42269532C-T C T
+22 42269628 22:42269628C-T C T
+22 42270707 22:42270707C-A C A
+22 42270844 22:42270844G-A G A
+22 42274034 22:42274034G-T G T
+22 42274287 22:42274287G-A G A
+22 42276742 22:42276742G-C G C
+22 42277792 22:42277792C-A C A
+22 42278566 22:42278566T-C T C
+22 42279506 22:42279506G-C G C
+22 42279653 22:42279653A-G A G
+22 42280135 22:42280135G-A G A
+22 42280361 22:42280361G-A G A
+22 42280618 22:42280618T-C T C
+22 42281429 22:42281429A-G A G
+22 42282012 22:42282012C-T C T
+22 42283075 22:42283075T-C T C
+22 42283550 22:42283550T-G T G
+22 42283551 22:42283551A-T A T
+22 42284260 22:42284260C-T C T
+22 42285063 22:42285063A-T A T
+22 42285868 22:42285868C-G C G
+22 42287454 22:42287454A-G A G
+22 42287966 22:42287966C-T C T
+22 42288994 22:42288994T-G T G
+22 42289466 22:42289466T-C T C
+22 42289500 22:42289500G-A G A
+22 42289797 22:42289797C-T C T
+22 42290177 22:42290177T-C T C
+22 42291856 22:42291856G-A G A
+22 42292885 22:42292885C-T C T
+22 42292923 22:42292923G-A G A
+22 42293140 22:42293140G-C G C
+22 42294176 22:42294176A-G A G
+22 42295250 22:42295250C-G C G
+22 42295653 22:42295653G-A G A
+22 42295970 22:42295970G-C G C
+22 42296703 22:42296703T-C T C
+22 42297922 22:42297922G-A G A
+22 42297968 22:42297968T-C T C
+22 42298165 22:42298165C-T C T
+22 42298601 22:42298601C-T C T
+22 42299535 22:42299535A-G A G
+22 42299817 22:42299817T-C T C
+22 42300248 22:42300248C-G C G
+22 42300948 22:42300948C-A C A
+22 42301014 22:42301014A-G A G
+22 42301133 22:42301133T-C T C
+22 42301712 22:42301712T-C T C
+22 42301748 22:42301748A-G A G
+22 42301943 22:42301943C-T C T
+22 42302311 22:42302311G-A G A
+22 42303724 22:42303724C-G C G
+22 42303839 22:42303839A-G A G
+22 42303987 22:42303987A-G A G
+22 42307226 22:42307226T-C T C
+22 42307239 22:42307239G-A G A
+22 42307763 22:42307763C-T C T
+22 42307810 22:42307810C-T C T
+22 42307895 22:42307895T-C T C
+22 42308080 22:42308080G-A G A
+22 42308152 22:42308152T-C T C
+22 42308284 22:42308284C-T C T
+22 42308739 22:42308739T-C T C
+22 42309244 22:42309244G-A G A
+22 42309650 22:42309650G-A G A
+22 42310914 22:42310914A-G A G
+22 42310988 22:42310988C-A C A
+22 42311058 22:42311058T-G T G
+22 42312807 22:42312807G-A G A
+22 42313324 22:42313324C-A C A
+22 42313995 22:42313995C-T C T
+22 42314124 22:42314124C-T C T
+22 42315371 22:42315371C-T C T
+22 42315790 22:42315790C-T C T
+22 42316496 22:42316496G-C G C
+22 42317478 22:42317478A-T A T
+22 42320131 22:42320131G-C G C
+22 42320547 22:42320547C-G C G
+22 42321251 22:42321251A-G A G
+22 42321591 22:42321591A-G A G
+22 42321757 22:42321757G-C G C
+22 42322016 22:42322016C-G C G
+22 42322716 22:42322716G-C G C
+22 42323913 22:42323913C-T C T
+22 42324463 22:42324463G-A G A
+22 42324521 22:42324521G-C G C
+22 42324622 22:42324622T-G T G
+22 42324700 22:42324700T-C T C
+22 42326166 22:42326166T-C T C
+22 42326181 22:42326181G-A G A
+22 42326606 22:42326606C-T C T
+22 42327659 22:42327659C-T C T
+22 42327739 22:42327739A-G A G
+22 42329284 22:42329284G-A G A
+22 42329597 22:42329597C-T C T
+22 42330229 22:42330229T-C T C
+22 42330336 22:42330336G-A G A
+22 42331409 22:42331409G-C G C
+22 42332436 22:42332436G-A G A
+22 42333330 22:42333330C-G C G
+22 42333408 22:42333408T-G T G
+22 42334063 22:42334063G-A G A
+22 42334231 22:42334231C-T C T
+22 42334588 22:42334588C-T C T
+22 42334660 22:42334660C-T C T
+22 42334953 22:42334953C-G C G
+22 42335411 22:42335411C-T C T
+22 42335621 22:42335621G-A G A
+22 42335970 22:42335970G-A G A
+22 42336172 22:42336172G-A G A
+22 42336237 22:42336237A-G A G
+22 42336783 22:42336783C-T C T
+22 42337040 22:42337040T-G T G
+22 42338152 22:42338152G-A G A
+22 42338351 22:42338351G-A G A
+22 42339095 22:42339095T-C T C
+22 42339516 22:42339516A-G A G
+22 42339525 22:42339525G-A G A
+22 42340397 22:42340397G-A G A
+22 42340508 22:42340508C-G C G
+22 42340569 22:42340569C-T C T
+22 42340582 22:42340582T-C T C
+22 42340844 22:42340844T-C T C
+22 42341308 22:42341308A-G A G
+22 42341363 22:42341363G-A G A
+22 42341934 22:42341934A-G A G
+22 42342765 22:42342765G-T G T
+22 42342870 22:42342870C-G C G
+22 42343091 22:42343091G-A G A
+22 42343773 22:42343773C-A C A
+22 42344266 22:42344266A-G A G
+22 42344297 22:42344297G-A G A
+22 42344408 22:42344408A-G A G
+22 42344872 22:42344872G-A G A
+22 42344911 22:42344911A-G A G
+22 42345070 22:42345070A-G A G
+22 42345181 22:42345181G-A G A
+22 42346475 22:42346475G-A G A
+22 42346728 22:42346728A-G A G
+22 42346781 22:42346781T-C T C
+22 42347060 22:42347060T-C T C
+22 42347371 22:42347371G-T G T
+22 42347391 22:42347391A-C A C
+22 42347844 22:42347844T-G T G
+22 42348062 22:42348062G-A G A
+22 42348094 22:42348094G-C G C
+22 42348355 22:42348355T-C T C
+22 42348602 22:42348602G-C G C
+22 42348790 22:42348790T-C T C
+22 42349134 22:42349134T-G T G
+22 42349710 22:42349710G-A G A
+22 42349847 22:42349847G-A G A
+22 42349912 22:42349912G-A G A
+22 42350127 22:42350127G-A G A
+22 42350510 22:42350510A-G A G
+22 42351289 22:42351289C-T C T
+22 42351309 22:42351309G-A G A
+22 42351477 22:42351477T-C T C
+22 42351481 22:42351481T-C T C
+22 42352081 22:42352081A-G A G
+22 42353064 22:42353064T-C T C
+22 42353408 22:42353408A-G A G
+22 42354389 22:42354389A-C A C
+22 42354567 22:42354567T-G T G
+22 42354642 22:42354642T-A T A
+22 42354701 22:42354701T-A T A
+22 42355549 22:42355549T-C T C
+22 42355563 22:42355563C-G C G
+22 42355997 22:42355997C-G C G
+22 42356321 22:42356321G-T G T
+22 42356430 22:42356430C-T C T
+22 42356886 22:42356886T-C T C
+22 42357852 22:42357852C-T C T
+22 42358040 22:42358040A-G A G
+22 42358413 22:42358413C-T C T
+22 42359204 22:42359204A-G A G
+22 42359229 22:42359229T-G T G
+22 42359302 22:42359302T-C T C
+22 42359793 22:42359793G-A G A
+22 42360407 22:42360407G-A G A
+22 42360574 22:42360574T-C T C
+22 42360833 22:42360833G-C G C
+22 42361336 22:42361336G-A G A
+22 42362457 22:42362457G-C G C
+22 42362560 22:42362560A-G A G
+22 42363161 22:42363161A-G A G
+22 42363408 22:42363408A-G A G
+22 42363812 22:42363812G-A G A
+22 42364057 22:42364057C-T C T
+22 42364432 22:42364432C-T C T
+22 42364997 22:42364997C-T C T
+22 42365073 22:42365073G-T G T
+22 42367837 22:42367837A-G A G
+22 42368857 22:42368857G-A G A
+22 42369095 22:42369095C-G C G
+22 42369228 22:42369228T-A T A
+22 42370991 22:42370991T-C T C
+22 42371333 22:42371333T-C T C
+22 42373648 22:42373648C-T C T
+22 42375228 22:42375228A-G A G
+22 42375761 22:42375761T-G T G
+22 42376614 22:42376614T-C T C
+22 42376964 22:42376964G-A G A
+22 42377878 22:42377878G-A G A
+22 42378070 22:42378070G-A G A
+22 42378507 22:42378507C-T C T
+22 42379813 22:42379813C-T C T
+22 42380001 22:42380001A-C A C
+22 42381726 22:42381726T-C T C
+22 42381892 22:42381892G-A G A
+22 42382437 22:42382437C-T C T
+22 42382748 22:42382748G-A G A
+22 42382797 22:42382797G-A G A
+22 42382805 22:42382805C-T C T
+22 42384125 22:42384125A-G A G
+22 42384171 22:42384171T-C T C
+22 42384172 22:42384172T-G T G
+22 42385261 22:42385261G-A G A
+22 42385352 22:42385352A-G A G
+22 42385429 22:42385429G-A G A
+22 42385967 22:42385967A-G A G
+22 42386057 22:42386057G-T G T
+22 42386269 22:42386269C-T C T
+22 42386487 22:42386487T-C T C
+22 42386949 22:42386949G-T G T
+22 42388826 22:42388826A-G A G
+22 42388841 22:42388841G-A G A
+22 42389431 22:42389431T-C T C
+22 42389500 22:42389500T-C T C
+22 42389698 22:42389698G-A G A
+22 42389839 22:42389839A-G A G
+22 42389948 22:42389948G-A G A
+22 42390093 22:42390093C-T C T
+22 42390209 22:42390209G-A G A
+22 42390225 22:42390225C-G C G
+22 42391176 22:42391176T-C T C
+22 42392560 22:42392560C-G C G
+22 42392811 22:42392811G-A G A
+22 42394612 22:42394612G-C G C
+22 42395242 22:42395242C-G C G
+22 42395686 22:42395686T-C T C
+22 42395960 22:42395960C-T C T
+22 42396150 22:42396150G-A G A
+22 42396371 22:42396371G-A G A
+22 42396568 22:42396568C-A C A
+22 42397026 22:42397026A-G A G
+22 42397042 22:42397042G-T G T
+22 42397469 22:42397469G-A G A
+22 42398195 22:42398195T-C T C
+22 42398266 22:42398266G-C G C
+22 42398375 22:42398375T-C T C
+22 42399325 22:42399325G-A G A
+22 42399396 22:42399396C-G C G
+22 42399547 22:42399547T-A T A
+22 42399686 22:42399686T-C T C
+22 42400120 22:42400120T-C T C
+22 42400416 22:42400416A-G A G
+22 42401514 22:42401514C-T C T
+22 42401749 22:42401749G-T G T
+22 42401841 22:42401841G-A G A
+22 42402005 22:42402005A-G A G
+22 42402386 22:42402386G-A G A
+22 42402399 22:42402399T-A T A
+22 42402480 22:42402480G-A G A
+22 42403446 22:42403446C-T C T
+22 42403980 22:42403980C-T C T
+22 42405322 22:42405322A-G A G
+22 42405657 22:42405657C-G C G
+22 42405659 22:42405659A-G A G
+22 42405922 22:42405922T-C T C
+22 42406371 22:42406371C-A C A
+22 42406788 22:42406788C-T C T
+22 42406820 22:42406820G-A G A
+22 42406821 22:42406821C-T C T
+22 42406885 22:42406885G-A G A
+22 42407689 22:42407689T-C T C
+22 42408079 22:42408079T-C T C
+22 42408680 22:42408680C-T C T
+22 42409456 22:42409456G-A G A
+22 42409913 22:42409913T-A T A
+22 42409977 22:42409977G-T G T
+22 42410419 22:42410419T-C T C
+22 42410695 22:42410695G-A G A
+22 42410993 22:42410993T-C T C
+22 42411603 22:42411603T-C T C
+22 42411664 22:42411664T-C T C
+22 42412365 22:42412365G-A G A
+22 42412711 22:42412711G-A G A
+22 42412933 22:42412933A-G A G
+22 42414181 22:42414181G-A G A
+22 42414198 22:42414198C-T C T
+22 42416056 22:42416056A-G A G
+22 42416303 22:42416303C-T C T
+22 42416695 22:42416695G-T G T
+22 42416805 22:42416805A-G A G
+22 42416987 22:42416987A-G A G
+22 42417687 22:42417687T-A T A
+22 42418110 22:42418110T-A T A
+22 42418185 22:42418185T-C T C
+22 42418910 22:42418910G-C G C
+22 42419433 22:42419433C-A C A
+22 42419459 22:42419459G-A G A
+22 42420855 22:42420855G-T G T
+22 42423110 22:42423110G-C G C
+22 42423645 22:42423645A-T A T
+22 42427949 22:42427949C-T C T
+22 42428727 22:42428727A-T A T
+22 42429049 22:42429049A-G A G
+22 42431246 22:42431246G-T G T
+22 42431429 22:42431429G-A G A
+22 42433801 22:42433801C-T C T
+22 42434022 22:42434022C-A C A
+22 42435227 22:42435227C-A C A
+22 42435868 22:42435868C-T C T
+22 42436322 22:42436322G-A G A
+22 42437366 22:42437366G-A G A
+22 42440285 22:42440285G-A G A
+22 42441091 22:42441091T-G T G
+22 42441302 22:42441302G-A G A
+22 42441412 22:42441412C-T C T
+22 42442235 22:42442235C-T C T
+22 42442539 22:42442539A-T A T
+22 42443788 22:42443788G-A G A
+22 42443908 22:42443908A-G A G
+22 42444489 22:42444489G-A G A
+22 42447341 22:42447341G-T G T
+22 42448238 22:42448238C-G C G
+22 42451603 22:42451603A-G A G
+22 42453772 22:42453772T-C T C
+22 42454354 22:42454354G-A G A
+22 42454950 22:42454950A-G A G
+22 42455248 22:42455248C-T C T
+22 42457550 22:42457550C-G C G
+22 42457912 22:42457912T-A T A
+22 42458481 22:42458481G-A G A
+22 42458827 22:42458827G-C G C
+22 42459622 22:42459622C-T C T
+22 42461187 22:42461187T-C T C
+22 42461918 22:42461918G-A G A
+22 42463366 22:42463366C-T C T
+22 42463689 22:42463689T-C T C
+22 42463814 22:42463814C-T C T
+22 42465260 22:42465260T-C T C
+22 42465574 22:42465574G-A G A
+22 42465788 22:42465788G-A G A
+22 42465941 22:42465941G-A G A
+22 42466509 22:42466509C-G C G
+22 42466905 22:42466905C-T C T
+22 42466950 22:42466950C-T C T
+22 42466980 22:42466980A-T A T
+22 42467695 22:42467695G-C G C
+22 42468246 22:42468246C-T C T
+22 42468250 22:42468250G-T G T
+22 42468535 22:42468535A-G A G
+22 42468910 22:42468910C-T C T
+22 42470063 22:42470063C-T C T
+22 42470317 22:42470317T-C T C
+22 42470589 22:42470589G-C G C
+22 42470608 22:42470608C-G C G
+22 42471738 22:42471738C-A C A
+22 42471774 22:42471774C-T C T
+22 42472237 22:42472237A-C A C
+22 42473603 22:42473603C-T C T
+22 42473860 22:42473860C-G C G
+22 42474138 22:42474138C-G C G
+22 42475568 22:42475568A-G A G
+22 42475703 22:42475703T-G T G
+22 42476754 22:42476754A-C A C
+22 42477650 22:42477650G-C G C
+22 42481400 22:42481400G-C G C
+22 42481849 22:42481849G-A G A
+22 42482502 22:42482502C-G C G
+22 42484466 22:42484466G-A G A
+22 42485292 22:42485292T-C T C
+22 42485671 22:42485671T-C T C
+22 42486056 22:42486056G-A G A
+22 42486723 22:42486723G-A G A
+22 42487900 22:42487900G-A G A
+22 42488160 22:42488160C-A C A
+22 42488163 22:42488163G-A G A
+22 42488345 22:42488345A-G A G
+22 42488906 22:42488906G-A G A
+22 42489058 22:42489058A-T A T
+22 42489434 22:42489434G-C G C
+22 42490292 22:42490292A-C A C
+22 42490600 22:42490600C-T C T
+22 42490967 22:42490967C-T C T
+22 42491479 22:42491479T-C T C
+22 42491734 22:42491734G-T G T
+22 42492063 22:42492063G-A G A
+22 42492104 22:42492104C-T C T
+22 42492225 22:42492225G-A G A
+22 42492362 22:42492362C-G C G
+22 42492863 22:42492863G-A G A
+22 42492985 22:42492985G-A G A
+22 42493081 22:42493081A-T A T
+22 42493098 22:42493098A-G A G
+22 42493767 22:42493767A-G A G
+22 42493875 22:42493875T-C T C
+22 42493902 22:42493902C-T C T
+22 42494335 22:42494335A-G A G
+22 42494773 22:42494773T-C T C
+22 42496506 22:42496506C-T C T
+22 42496629 22:42496629T-C T C
+22 42496829 22:42496829C-A C A
+22 42496979 22:42496979C-T C T
+22 42498204 22:42498204C-T C T
+22 42498578 22:42498578C-T C T
+22 42498675 22:42498675A-G A G
+22 42499068 22:42499068G-A G A
+22 42500483 22:42500483A-G A G
+22 42500745 22:42500745A-G A G
+22 42501217 22:42501217T-C T C
+22 42501630 22:42501630C-G C G
+22 42501802 22:42501802G-A G A
+22 42502070 22:42502070A-G A G
+22 42502486 22:42502486C-T C T
+22 42503608 22:42503608A-G A G
+22 42504679 22:42504679A-G A G
+22 42504918 22:42504918G-A G A
+22 42505841 22:42505841G-A G A
+22 42506081 22:42506081C-G C G
+22 42506193 22:42506193A-C A C
+22 42506370 22:42506370C-T C T
+22 42507748 22:42507748A-C A C
+22 42507859 22:42507859G-C G C
+22 42508937 22:42508937G-T G T
+22 42510783 22:42510783A-C A C
+22 42510983 22:42510983C-G C G
+22 42511002 22:42511002A-C A C
+22 42511529 22:42511529A-G A G
+22 42511550 22:42511550T-C T C
+22 42511727 22:42511727G-T G T
+22 42511822 22:42511822G-C G C
+22 42511825 22:42511825G-A G A
+22 42512192 22:42512192C-T C T
+22 42512297 22:42512297G-C G C
+22 42512613 22:42512613A-G A G
+22 42513261 22:42513261C-T C T
+22 42513761 22:42513761G-A G A
+22 42513824 22:42513824G-C G C
+22 42514190 22:42514190T-C T C
+22 42515637 22:42515637G-C G C
+22 42516205 22:42516205A-C A C
+22 42516229 22:42516229A-G A G
+22 42516366 22:42516366C-T C T
+22 42516420 22:42516420G-C G C
+22 42517471 22:42517471A-T A T
+22 42517492 22:42517492G-A G A
+22 42517636 22:42517636C-G C G
+22 42517689 22:42517689A-G A G
+22 42517922 22:42517922T-A T A
+22 42517989 22:42517989C-G C G
+22 42518382 22:42518382A-G A G
+22 42518426 22:42518426G-A G A
+22 42521929 22:42521929G-A G A
+22 42521985 22:42521985T-C T C
+22 42522074 22:42522074C-A C A
+22 42522312 22:42522312T-C T C
+22 42522392 22:42522392G-A G A
+22 42522613 22:42522613G-C G C
+22 42523805 22:42523805C-T C T
+22 42523943 22:42523943A-G A G
+22 42524696 22:42524696T-C T C
+22 42524947 22:42524947C-T C T
+22 42525625 22:42525625C-T C T
+22 42526694 22:42526694G-A G A
+22 42527533 22:42527533A-G A G
+22 42527793 22:42527793C-T C T
+22 42528224 22:42528224G-A G A
+22 42528382 22:42528382C-G C G
+22 42528568 22:42528568T-C T C
+22 42528851 22:42528851A-C A C
+22 42528858 22:42528858C-T C T
+22 42528976 22:42528976C-T C T
+22 42529219 22:42529219A-G A G
+22 42529321 22:42529321C-T C T
+22 42529407 22:42529407G-T G T
+22 42529540 22:42529540C-A C A
+22 42530826 22:42530826G-T G T
+22 42531210 22:42531210C-T C T
+22 42534075 22:42534075G-A G A
+22 42534126 22:42534126G-T G T
+22 42534148 22:42534148C-T C T
+22 42534276 22:42534276C-G C G
+22 42534600 22:42534600T-C T C
+22 42534601 22:42534601G-A G A
+22 42534682 22:42534682T-C T C
+22 42534956 22:42534956A-G A G
+22 42535461 22:42535461C-T C T
+22 42535636 22:42535636G-A G A
+22 42536313 22:42536313G-A G A
+22 42537196 22:42537196T-C T C
+22 42537404 22:42537404G-C G C
+22 42537597 22:42537597A-G A G
+22 42538029 22:42538029A-G A G
+22 42538071 22:42538071G-C G C
+22 42538084 22:42538084C-T C T
+22 42538229 22:42538229G-A G A
+22 42538704 22:42538704G-T G T
+22 42538885 22:42538885G-T G T
+22 42538897 22:42538897A-G A G
+22 42539105 22:42539105T-C T C
+22 42540551 22:42540551A-G A G
+22 42541285 22:42541285G-A G A
+22 42541328 22:42541328G-A G A
+22 42541349 22:42541349G-A G A
+22 42541394 22:42541394A-G A G
+22 42541656 22:42541656T-C T C
+22 42542153 22:42542153T-G T G
+22 42542870 22:42542870G-A G A
+22 42543288 22:42543288A-G A G
+22 42543960 22:42543960C-T C T
+22 42544050 22:42544050G-A G A
+22 42544758 22:42544758G-A G A
+22 42545221 22:42545221G-A G A
+22 42546304 22:42546304G-A G A
+22 42546447 22:42546447C-T C T
+22 42546852 22:42546852G-A G A
+22 42547229 22:42547229C-T C T
+22 42547317 22:42547317A-G A G
+22 42547409 22:42547409C-T C T
+22 42547654 22:42547654G-A G A
+22 42547739 22:42547739G-A G A
+22 42547755 22:42547755C-G C G
+22 42548094 22:42548094A-G A G
+22 42548107 22:42548107C-T C T
+22 42548178 22:42548178A-G A G
+22 42548433 22:42548433G-C G C
+22 42548880 22:42548880G-A G A
+22 42549103 22:42549103C-T C T
+22 42549164 22:42549164A-G A G
+22 42550287 22:42550287A-G A G
+22 42551344 22:42551344G-A G A
+22 42552253 22:42552253T-G T G
+22 42552875 22:42552875T-C T C
+22 42553353 22:42553353G-A G A
+22 42553582 22:42553582G-T G T
+22 42554409 22:42554409G-T G T
+22 42554839 22:42554839C-T C T
+22 42555861 22:42555861T-A T A
+22 42557710 22:42557710T-C T C
+22 42561365 22:42561365A-G A G
+22 42563308 22:42563308C-T C T
+22 42563889 22:42563889C-T C T
+22 42563933 22:42563933C-T C T
+22 42564304 22:42564304C-T C T
+22 42565200 22:42565200G-A G A
+22 42566417 22:42566417G-A G A
+22 42567090 22:42567090T-C T C
+22 42567451 22:42567451A-G A G
+22 42569024 22:42569024T-C T C
+22 42569124 22:42569124G-C G C
+22 42569298 22:42569298C-A C A
+22 42569870 22:42569870C-T C T
+22 42569999 22:42569999C-T C T
+22 42570458 22:42570458G-A G A
+22 42570848 22:42570848C-T C T
+22 42571028 22:42571028G-A G A
+22 42572357 22:42572357C-A C A
+22 42572363 22:42572363G-A G A
+22 42572547 22:42572547C-T C T
+22 42573139 22:42573139C-G C G
+22 42574555 22:42574555C-T C T
+22 42574830 22:42574830C-T C T
+22 42575948 22:42575948G-A G A
+22 42578596 22:42578596T-C T C
+22 42578609 22:42578609G-A G A
+22 42579520 22:42579520T-C T C
+22 42579923 22:42579923T-C T C
+22 42580933 22:42580933A-C A C
+22 42581248 22:42581248C-T C T
+22 42582394 22:42582394T-C T C
+22 42584071 22:42584071A-G A G
+22 42584389 22:42584389C-T C T
+22 42584395 22:42584395G-A G A
+22 42584466 22:42584466G-C G C
+22 42585304 22:42585304T-A T A
+22 42586073 22:42586073T-C T C
+22 42592239 22:42592239C-T C T
+22 42595258 22:42595258G-C G C
+22 42596253 22:42596253C-A C A
+22 42597378 22:42597378G-T G T
+22 42597836 22:42597836C-G C G
+22 42598538 22:42598538T-C T C
+22 42598951 22:42598951T-G T G
+22 42599647 22:42599647G-C G C
+22 42600589 22:42600589G-A G A
+22 42602139 22:42602139C-T C T
+22 42603814 22:42603814C-T C T
+22 42606257 22:42606257C-T C T
+22 42609148 22:42609148T-C T C
+22 42610099 22:42610099T-C T C
+22 42611834 22:42611834G-C G C
+22 42612297 22:42612297G-A G A
+22 42612408 22:42612408T-C T C
+22 42613485 22:42613485G-T G T
+22 42614362 22:42614362T-C T C
+22 42614401 22:42614401G-C G C
+22 42615054 22:42615054C-G C G
+22 42617177 22:42617177T-C T C
+22 42617411 22:42617411T-C T C
+22 42617456 22:42617456T-C T C
+22 42618340 22:42618340T-C T C
+22 42618352 22:42618352A-C A C
+22 42618669 22:42618669A-G A G
+22 42619067 22:42619067A-G A G
+22 42619308 22:42619308A-G A G
+22 42620795 22:42620795A-G A G
+22 42620940 22:42620940T-C T C
+22 42622003 22:42622003C-T C T
+22 42622369 22:42622369T-C T C
+22 42623258 22:42623258G-A G A
+22 42623718 22:42623718C-A C A
+22 42624445 22:42624445A-C A C
+22 42627122 22:42627122T-C T C
+22 42628088 22:42628088T-C T C
+22 42628335 22:42628335A-G A G
+22 42632833 22:42632833G-A G A
+22 42633054 22:42633054T-C T C
+22 42633204 22:42633204G-A G A
+22 42635326 22:42635326T-C T C
+22 42636687 22:42636687T-C T C
+22 42638140 22:42638140C-T C T
+22 42639227 22:42639227A-G A G
+22 42639645 22:42639645T-G T G
+22 42640606 22:42640606G-C G C
+22 42641458 22:42641458T-C T C
+22 42642576 22:42642576T-C T C
+22 42642843 22:42642843G-A G A
+22 42643039 22:42643039A-C A C
+22 42644471 22:42644471C-T C T
+22 42645091 22:42645091A-G A G
+22 42645202 22:42645202C-T C T
+22 42648353 22:42648353T-G T G
+22 42648408 22:42648408C-T C T
+22 42649298 22:42649298C-T C T
+22 42649443 22:42649443A-G A G
+22 42649509 22:42649509C-T C T
+22 42650663 22:42650663C-T C T
+22 42651221 22:42651221T-C T C
+22 42651536 22:42651536A-C A C
+22 42651967 22:42651967G-A G A
+22 42652074 22:42652074G-A G A
+22 42652317 22:42652317T-C T C
+22 42652716 22:42652716T-C T C
+22 42653038 22:42653038T-C T C
+22 42654327 22:42654327C-G C G
+22 42655283 22:42655283G-T G T
+22 42655377 22:42655377G-T G T
+22 42656588 22:42656588A-T A T
+22 42656681 22:42656681G-A G A
+22 42657566 22:42657566T-G T G
+22 42658821 22:42658821C-T C T
+22 42660414 22:42660414A-G A G
+22 42661144 22:42661144A-G A G
+22 42662371 22:42662371C-T C T
+22 42662501 22:42662501T-C T C
+22 42663871 22:42663871C-G C G
+22 42663874 22:42663874A-G A G
+22 42664201 22:42664201A-C A C
+22 42664883 22:42664883T-A T A
+22 42664972 22:42664972T-G T G
+22 42665117 22:42665117C-T C T
+22 42666069 22:42666069A-G A G
+22 42667473 22:42667473A-G A G
+22 42667594 22:42667594G-C G C
+22 42668295 22:42668295C-G C G
+22 42668504 22:42668504G-C G C
+22 42669029 22:42669029T-A T A
+22 42669331 22:42669331A-G A G
+22 42670111 22:42670111C-T C T
+22 42670293 22:42670293G-T G T
+22 42670740 22:42670740G-C G C
+22 42670965 22:42670965T-C T C
+22 42671066 22:42671066T-G T G
+22 42671487 22:42671487T-C T C
+22 42671508 22:42671508C-G C G
+22 42671567 22:42671567T-C T C
+22 42672124 22:42672124A-G A G
+22 42673811 22:42673811C-G C G
+22 42673856 22:42673856A-G A G
+22 42674239 22:42674239A-G A G
+22 42674281 22:42674281C-T C T
+22 42674350 22:42674350A-T A T
+22 42675882 22:42675882T-C T C
+22 42677315 22:42677315G-C G C
+22 42677913 22:42677913A-C A C
+22 42678178 22:42678178T-C T C
+22 42678713 22:42678713A-G A G
+22 42678862 22:42678862C-G C G
+22 42680201 22:42680201T-C T C
+22 42680800 22:42680800C-T C T
+22 42680973 22:42680973A-G A G
+22 42681860 22:42681860T-C T C
+22 42682262 22:42682262C-G C G
+22 42682557 22:42682557T-C T C
+22 42682786 22:42682786G-A G A
+22 42683030 22:42683030T-G T G
+22 42683343 22:42683343G-C G C
+22 42683520 22:42683520C-T C T
+22 42683997 22:42683997G-A G A
+22 42684359 22:42684359T-C T C
+22 42684818 22:42684818C-T C T
+22 42684913 22:42684913C-A C A
+22 42685537 22:42685537A-G A G
+22 42688034 22:42688034C-G C G
+22 42688085 22:42688085A-T A T
+22 42688532 22:42688532A-G A G
+22 42688639 22:42688639G-A G A
+22 42688724 22:42688724T-G T G
+22 42689140 22:42689140T-A T A
+22 42689370 22:42689370C-T C T
+22 42689736 22:42689736G-A G A
+22 42689945 22:42689945G-T G T
+22 42690311 22:42690311C-G C G
+22 42691296 22:42691296A-G A G
+22 42691689 22:42691689A-G A G
+22 42692339 22:42692339G-A G A
+22 42694220 22:42694220T-C T C
+22 42694904 22:42694904C-G C G
+22 42695148 22:42695148C-T C T
+22 42695345 22:42695345C-G C G
+22 42696005 22:42696005G-A G A
+22 42696300 22:42696300G-A G A
+22 42696872 22:42696872C-T C T
+22 42697216 22:42697216A-G A G
+22 42697449 22:42697449G-A G A
+22 42697966 22:42697966C-T C T
+22 42698103 22:42698103T-C T C
+22 42698430 22:42698430C-T C T
+22 42698574 22:42698574A-C A C
+22 42698800 22:42698800T-C T C
+22 42698962 22:42698962G-A G A
+22 42698966 22:42698966C-T C T
+22 42699606 22:42699606T-C T C
+22 42699996 22:42699996T-C T C
+22 42700222 22:42700222A-C A C
+22 42701111 22:42701111A-C A C
+22 42701419 22:42701419A-G A G
+22 42701984 22:42701984T-G T G
+22 42702179 22:42702179C-T C T
+22 42702182 22:42702182T-C T C
+22 42702633 22:42702633A-T A T
+22 42702673 22:42702673C-G C G
+22 42704386 22:42704386C-G C G
+22 42704682 22:42704682T-A T A
+22 42704834 22:42704834G-A G A
+22 42705394 22:42705394C-T C T
+22 42705870 22:42705870C-A C A
+22 42706731 22:42706731G-A G A
+22 42707584 22:42707584A-G A G
+22 42707715 22:42707715G-A G A
+22 42708274 22:42708274T-C T C
+22 42708381 22:42708381A-G A G
+22 42708731 22:42708731C-T C T
+22 42709334 22:42709334C-T C T
+22 42709762 22:42709762C-T C T
+22 42709900 22:42709900C-T C T
+22 42710052 22:42710052G-A G A
+22 42710092 22:42710092G-C G C
+22 42710606 22:42710606A-G A G
+22 42711003 22:42711003G-C G C
+22 42711055 22:42711055A-C A C
+22 42711636 22:42711636C-T C T
+22 42713044 22:42713044T-C T C
+22 42714657 22:42714657C-T C T
+22 42715328 22:42715328G-A G A
+22 42715391 22:42715391G-C G C
+22 42716484 22:42716484T-C T C
+22 42716632 22:42716632G-A G A
+22 42716840 22:42716840G-C G C
+22 42717108 22:42717108A-G A G
+22 42717590 22:42717590G-A G A
+22 42717812 22:42717812T-G T G
+22 42717884 22:42717884C-T C T
+22 42720463 22:42720463T-C T C
+22 42720582 22:42720582T-C T C
+22 42720961 22:42720961C-T C T
+22 42721010 22:42721010A-G A G
+22 42721044 22:42721044A-G A G
+22 42721374 22:42721374T-G T G
+22 42722518 22:42722518T-C T C
+22 42723032 22:42723032C-T C T
+22 42723903 22:42723903C-T C T
+22 42725695 22:42725695A-C A C
+22 42726357 22:42726357G-T G T
+22 42727133 22:42727133T-C T C
+22 42727304 22:42727304T-C T C
+22 42728168 22:42728168C-T C T
+22 42728456 22:42728456T-C T C
+22 42729596 22:42729596A-G A G
+22 42730680 22:42730680C-T C T
+22 42730970 22:42730970C-T C T
+22 42731540 22:42731540G-T G T
+22 42736136 22:42736136C-G C G
+22 42736397 22:42736397C-A C A
+22 42736984 22:42736984G-A G A
+22 42737165 22:42737165G-C G C
+22 42738766 22:42738766C-T C T
+22 42740543 22:42740543C-A C A
+22 42740665 22:42740665T-C T C
+22 42741466 22:42741466C-G C G
+22 42741593 22:42741593G-A G A
+22 42741727 22:42741727C-T C T
+22 42741793 22:42741793A-C A C
+22 42741887 22:42741887C-T C T
+22 42742451 22:42742451G-A G A
+22 42742562 22:42742562A-G A G
+22 42742645 22:42742645G-A G A
+22 42742938 22:42742938G-A G A
+22 42743025 22:42743025G-A G A
+22 42743922 22:42743922C-G C G
+22 42744362 22:42744362T-C T C
+22 42744363 22:42744363G-A G A
+22 42744820 22:42744820C-T C T
+22 42745352 22:42745352T-C T C
+22 42745546 22:42745546T-G T G
+22 42745703 22:42745703C-A C A
+22 42745807 22:42745807G-A G A
+22 42745877 22:42745877C-T C T
+22 42745913 22:42745913G-C G C
+22 42746176 22:42746176T-G T G
+22 42746717 22:42746717C-T C T
+22 42746877 22:42746877G-A G A
+22 42747323 22:42747323A-C A C
+22 42747436 22:42747436G-C G C
+22 42747478 22:42747478A-G A G
+22 42747522 22:42747522C-T C T
+22 42747533 22:42747533G-A G A
+22 42747847 22:42747847C-A C A
+22 42748397 22:42748397G-A G A
+22 42748457 22:42748457G-A G A
+22 42748461 22:42748461G-A G A
+22 42749612 22:42749612A-C A C
+22 42750618 22:42750618G-A G A
+22 42751085 22:42751085T-C T C
+22 42751397 22:42751397C-T C T
+22 42751941 22:42751941A-G A G
+22 42752280 22:42752280T-G T G
+22 42752927 22:42752927A-G A G
+22 42753920 22:42753920G-A G A
+22 42754874 22:42754874C-T C T
+22 42755077 22:42755077T-C T C
+22 42756497 22:42756497T-C T C
+22 42758245 22:42758245T-C T C
+22 42759341 22:42759341T-C T C
+22 42762024 22:42762024A-G A G
+22 42764776 22:42764776C-T C T
+22 42766109 22:42766109C-T C T
+22 42766734 22:42766734G-A G A
+22 42768154 22:42768154T-C T C
+22 42769652 22:42769652G-A G A
+22 42769725 22:42769725C-G C G
+22 42770546 22:42770546C-T C T
+22 42770659 22:42770659G-C G C
+22 42771226 22:42771226C-T C T
+22 42771352 22:42771352T-C T C
+22 42771392 22:42771392A-G A G
+22 42771517 22:42771517T-C T C
+22 42771643 22:42771643C-T C T
+22 42771715 22:42771715T-C T C
+22 42772083 22:42772083T-A T A
+22 42772172 22:42772172G-A G A
+22 42772363 22:42772363C-T C T
+22 42773446 22:42773446C-T C T
+22 42773732 22:42773732T-G T G
+22 42774162 22:42774162C-T C T
+22 42775914 22:42775914G-A G A
+22 42775948 22:42775948G-T G T
+22 42776276 22:42776276C-T C T
+22 42776588 22:42776588T-C T C
+22 42776609 22:42776609A-G A G
+22 42777206 22:42777206G-A G A
+22 42777414 22:42777414G-A G A
+22 42777621 22:42777621A-G A G
+22 42777662 22:42777662C-T C T
+22 42777694 22:42777694A-G A G
+22 42777716 22:42777716G-A G A
+22 42777866 22:42777866T-C T C
+22 42777935 22:42777935A-C A C
+22 42777966 22:42777966C-T C T
+22 42778078 22:42778078A-G A G
+22 42778116 22:42778116C-T C T
+22 42778210 22:42778210T-C T C
+22 42778325 22:42778325A-G A G
+22 42779018 22:42779018T-C T C
+22 42779752 22:42779752T-A T A
+22 42779879 22:42779879G-A G A
+22 42779880 22:42779880G-A G A
+22 42779900 22:42779900G-A G A
+22 42780985 22:42780985T-C T C
+22 42781071 22:42781071G-A G A
+22 42782102 22:42782102C-T C T
+22 42783070 22:42783070G-A G A
+22 42783130 22:42783130G-T G T
+22 42783506 22:42783506C-T C T
+22 42783596 22:42783596G-C G C
+22 42783830 22:42783830C-T C T
+22 42783917 22:42783917C-T C T
+22 42784201 22:42784201C-T C T
+22 42785060 22:42785060C-G C G
+22 42785121 22:42785121G-A G A
+22 42786544 22:42786544T-C T C
+22 42787043 22:42787043C-T C T
+22 42787101 22:42787101T-A T A
+22 42787278 22:42787278G-A G A
+22 42787282 22:42787282T-C T C
+22 42788316 22:42788316G-T G T
+22 42788480 22:42788480G-A G A
+22 42788919 22:42788919T-C T C
+22 42789438 22:42789438G-A G A
+22 42790618 22:42790618C-T C T
+22 42790703 22:42790703C-A C A
+22 42790873 22:42790873C-T C T
+22 42791129 22:42791129A-G A G
+22 42791442 22:42791442G-A G A
+22 42791664 22:42791664G-A G A
+22 42792015 22:42792015C-T C T
+22 42792160 22:42792160G-C G C
+22 42792210 22:42792210C-T C T
+22 42792374 22:42792374C-T C T
+22 42792900 22:42792900G-A G A
+22 42793563 22:42793563G-A G A
+22 42793845 22:42793845C-T C T
+22 42793873 22:42793873A-G A G
+22 42794230 22:42794230C-T C T
+22 42794237 22:42794237G-A G A
+22 42794270 22:42794270G-A G A
+22 42794326 22:42794326T-C T C
+22 42794614 22:42794614G-T G T
+22 42794640 22:42794640G-A G A
+22 42794689 22:42794689G-A G A
+22 42795201 22:42795201C-T C T
+22 42795245 22:42795245G-A G A
+22 42796469 22:42796469C-A C A
+22 42796743 22:42796743A-G A G
+22 42796778 22:42796778A-T A T
+22 42796902 22:42796902A-G A G
+22 42796914 22:42796914G-A G A
+22 42796961 22:42796961G-A G A
+22 42797785 22:42797785A-G A G
+22 42798097 22:42798097T-C T C
+22 42798492 22:42798492C-A C A
+22 42798637 22:42798637T-C T C
+22 42799098 22:42799098C-T C T
+22 42799454 22:42799454T-C T C
+22 42799876 22:42799876G-A G A
+22 42800081 22:42800081C-T C T
+22 42801452 22:42801452A-G A G
+22 42803120 22:42803120G-C G C
+22 42803565 22:42803565T-C T C
+22 42803808 22:42803808C-A C A
+22 42803809 22:42803809G-A G A
+22 42804028 22:42804028C-A C A
+22 42804420 22:42804420G-C G C
+22 42805895 22:42805895C-T C T
+22 42805927 22:42805927A-G A G
+22 42806731 22:42806731A-C A C
+22 42807216 22:42807216G-C G C
+22 42807314 22:42807314T-C T C
+22 42807351 22:42807351C-T C T
+22 42807870 22:42807870G-A G A
+22 42808536 22:42808536T-C T C
+22 42809866 22:42809866T-C T C
+22 42810053 22:42810053T-C T C
+22 42810088 22:42810088A-G A G
+22 42810248 22:42810248G-A G A
+22 42810301 22:42810301C-T C T
+22 42810589 22:42810589T-A T A
+22 42810988 22:42810988G-A G A
+22 42811101 22:42811101C-T C T
+22 42811156 22:42811156A-G A G
+22 42811162 22:42811162T-G T G
+22 42811647 22:42811647A-C A C
+22 42811648 22:42811648T-C T C
+22 42811919 22:42811919A-C A C
+22 42812041 22:42812041G-A G A
+22 42812471 22:42812471A-G A G
+22 42812472 22:42812472T-G T G
+22 42813042 22:42813042G-C G C
+22 42813156 22:42813156C-G C G
+22 42813753 22:42813753T-C T C
+22 42814027 22:42814027G-A G A
+22 42815125 22:42815125G-A G A
+22 42815358 22:42815358G-A G A
+22 42815756 22:42815756C-G C G
+22 42815996 22:42815996G-T G T
+22 42816468 22:42816468A-G A G
+22 42816727 22:42816727A-G A G
+22 42817226 22:42817226G-A G A
+22 42817652 22:42817652T-G T G
+22 42817792 22:42817792T-C T C
+22 42818418 22:42818418A-C A C
+22 42818977 22:42818977T-C T C
+22 42820207 22:42820207G-A G A
+22 42820250 22:42820250C-T C T
+22 42820264 22:42820264A-G A G
+22 42820353 22:42820353A-G A G
+22 42821185 22:42821185C-T C T
+22 42821501 22:42821501A-G A G
+22 42821698 22:42821698C-T C T
+22 42822195 22:42822195G-C G C
+22 42822283 22:42822283T-C T C
+22 42822679 22:42822679G-A G A
+22 42823573 22:42823573T-C T C
+22 42823916 22:42823916G-A G A
+22 42824258 22:42824258C-G C G
+22 42825039 22:42825039A-G A G
+22 42825642 22:42825642A-T A T
+22 42826105 22:42826105C-A C A
+22 42826300 22:42826300T-G T G
+22 42827759 22:42827759A-C A C
+22 42829186 22:42829186C-T C T
+22 42830429 22:42830429C-G C G
+22 42830576 22:42830576C-T C T
+22 42832269 22:42832269C-T C T
+22 42832790 22:42832790C-A C A
+22 42834233 22:42834233G-A G A
+22 42835727 22:42835727C-T C T
+22 42835776 22:42835776T-C T C
+22 42836337 22:42836337A-C A C
+22 42836440 22:42836440G-C G C
+22 42837007 22:42837007T-C T C
+22 42837080 22:42837080C-G C G
+22 42837294 22:42837294G-A G A
+22 42841584 22:42841584G-A G A
+22 42842632 22:42842632C-G C G
+22 42843100 22:42843100C-T C T
+22 42843504 22:42843504G-C G C
+22 42843851 22:42843851A-G A G
+22 42845289 22:42845289A-G A G
+22 42845329 22:42845329T-C T C
+22 42846665 22:42846665G-A G A
+22 42848354 22:42848354G-T G T
+22 42849198 22:42849198C-T C T
+22 42849262 22:42849262G-A G A
+22 42850301 22:42850301T-C T C
+22 42852567 22:42852567T-C T C
+22 42853011 22:42853011G-A G A
+22 42853018 22:42853018G-A G A
+22 42853122 22:42853122C-G C G
+22 42853703 22:42853703A-G A G
+22 42854569 22:42854569C-G C G
+22 42854646 22:42854646C-T C T
+22 42854906 22:42854906G-T G T
+22 42855099 22:42855099G-A G A
+22 42855277 22:42855277T-C T C
+22 42855786 22:42855786A-C A C
+22 42855956 22:42855956G-C G C
+22 42856491 22:42856491G-A G A
+22 42857285 22:42857285A-G A G
+22 42857308 22:42857308G-A G A
+22 42857611 22:42857611A-G A G
+22 42858260 22:42858260T-A T A
+22 42858610 22:42858610A-G A G
+22 42858713 22:42858713A-G A G
+22 42859142 22:42859142G-A G A
+22 42859152 22:42859152G-C G C
+22 42859300 22:42859300C-A C A
+22 42859935 22:42859935A-G A G
+22 42860486 22:42860486A-G A G
+22 42861043 22:42861043G-T G T
+22 42861437 22:42861437G-T G T
+22 42861613 22:42861613G-A G A
+22 42861656 22:42861656C-A C A
+22 42861727 22:42861727A-G A G
+22 42861944 22:42861944G-A G A
+22 42862004 22:42862004T-C T C
+22 42862437 22:42862437C-A C A
+22 42862481 22:42862481G-T G T
+22 42863114 22:42863114C-T C T
+22 42863325 22:42863325G-A G A
+22 42863830 22:42863830G-A G A
+22 42865010 22:42865010G-A G A
+22 42865011 22:42865011C-A C A
+22 42865712 22:42865712C-A C A
+22 42865754 22:42865754T-C T C
+22 42866060 22:42866060G-A G A
+22 42866077 22:42866077G-C G C
+22 42866427 22:42866427T-G T G
+22 42866614 22:42866614A-G A G
+22 42866999 22:42866999T-G T G
+22 42867243 22:42867243T-C T C
+22 42867332 22:42867332T-C T C
+22 42867855 22:42867855T-A T A
+22 42867898 22:42867898A-G A G
+22 42867957 22:42867957G-A G A
+22 42868083 22:42868083T-C T C
+22 42868369 22:42868369G-C G C
+22 42869453 22:42869453A-C A C
+22 42871115 22:42871115T-G T G
+22 42875479 22:42875479A-G A G
+22 42875519 22:42875519T-G T G
+22 42876604 22:42876604T-C T C
+22 42876791 22:42876791G-A G A
+22 42877126 22:42877126T-C T C
+22 42877543 22:42877543G-A G A
+22 42877669 22:42877669C-T C T
+22 42877916 22:42877916G-A G A
+22 42878001 22:42878001T-C T C
+22 42878349 22:42878349A-G A G
+22 42878831 22:42878831C-T C T
+22 42883002 22:42883002C-T C T
+22 42884431 22:42884431C-T C T
+22 42884997 22:42884997A-G A G
+22 42885455 22:42885455C-T C T
+22 42886204 22:42886204T-C T C
+22 42886952 22:42886952G-T G T
+22 42941390 22:42941390T-C T C
+22 42941418 22:42941418A-G A G
+22 42944621 22:42944621T-C T C
+22 42945690 22:42945690C-G C G
+22 42945888 22:42945888T-C T C
+22 42946036 22:42946036G-A G A
+22 42946371 22:42946371C-T C T
+22 42946880 22:42946880C-A C A
+22 42948236 22:42948236T-C T C
+22 42948885 22:42948885T-G T G
+22 42949449 22:42949449G-A G A
+22 42949543 22:42949543C-G C G
+22 42949748 22:42949748C-G C G
+22 42950361 22:42950361T-G T G
+22 42955397 22:42955397G-C G C
+22 42955753 22:42955753C-G C G
+22 42955974 22:42955974T-C T C
+22 42958054 22:42958054G-A G A
+22 42958687 22:42958687C-T C T
+22 42959141 22:42959141T-C T C
+22 42959270 22:42959270C-T C T
+22 42959959 22:42959959A-G A G
+22 42961277 22:42961277T-C T C
+22 42961298 22:42961298T-A T A
+22 42961637 22:42961637A-G A G
+22 42961860 22:42961860G-T G T
+22 42962609 22:42962609G-T G T
+22 42963393 22:42963393G-A G A
+22 42963699 22:42963699A-T A T
+22 42964159 22:42964159G-A G A
+22 42965152 22:42965152C-T C T
+22 42965701 22:42965701C-T C T
+22 42966103 22:42966103A-C A C
+22 42966920 22:42966920A-G A G
+22 42967235 22:42967235C-T C T
+22 42968222 22:42968222G-T G T
+22 42969109 22:42969109G-T G T
+22 42969130 22:42969130G-A G A
+22 42969466 22:42969466C-G C G
+22 42969854 22:42969854T-G T G
+22 42970032 22:42970032T-C T C
+22 42970263 22:42970263C-G C G
+22 42970736 22:42970736G-A G A
+22 42971673 22:42971673A-G A G
+22 42971987 22:42971987T-C T C
+22 42972228 22:42972228T-C T C
+22 42972318 22:42972318G-A G A
+22 42972368 22:42972368A-G A G
+22 42973201 22:42973201G-A G A
+22 42973702 22:42973702G-C G C
+22 42974056 22:42974056C-T C T
+22 42974581 22:42974581T-C T C
+22 42977907 22:42977907C-T C T
+22 42978075 22:42978075G-A G A
+22 42978999 22:42978999G-A G A
+22 42979548 22:42979548A-G A G
+22 42981138 22:42981138T-C T C
+22 42981167 22:42981167G-A G A
+22 42981349 22:42981349C-T C T
+22 42981678 22:42981678T-C T C
+22 42981890 22:42981890G-A G A
+22 42982572 22:42982572C-G C G
+22 42983782 22:42983782C-A C A
+22 42984131 22:42984131A-G A G
+22 42984583 22:42984583A-C A C
+22 42984908 22:42984908C-T C T
+22 42985163 22:42985163C-A C A
+22 42985310 22:42985310G-A G A
+22 42985662 22:42985662T-C T C
+22 42985798 22:42985798T-C T C
+22 42987826 22:42987826G-A G A
+22 42988117 22:42988117T-C T C
+22 42988679 22:42988679G-A G A
+22 42990074 22:42990074C-T C T
+22 42992536 22:42992536C-A C A
+22 42996149 22:42996149G-A G A
+22 43001128 22:43001128C-T C T
+22 43002362 22:43002362A-G A G
+22 43003307 22:43003307C-T C T
+22 43007592 22:43007592T-C T C
+22 43007594 22:43007594G-C G C
+22 43007597 22:43007597A-C A C
+22 43008104 22:43008104T-C T C
+22 43009759 22:43009759C-T C T
+22 43009817 22:43009817G-C G C
+22 43010601 22:43010601G-C G C
+22 43010817 22:43010817G-A G A
+22 43011246 22:43011246C-T C T
+22 43011403 22:43011403T-C T C
+22 43011674 22:43011674T-C T C
+22 43012202 22:43012202C-G C G
+22 43012853 22:43012853A-C A C
+22 43013218 22:43013218C-T C T
+22 43013236 22:43013236A-G A G
+22 43013554 22:43013554C-T C T
+22 43013785 22:43013785A-G A G
+22 43013836 22:43013836T-C T C
+22 43015492 22:43015492G-T G T
+22 43015716 22:43015716T-C T C
+22 43018185 22:43018185C-A C A
+22 43018587 22:43018587C-G C G
+22 43018623 22:43018623T-C T C
+22 43019252 22:43019252A-G A G
+22 43019562 22:43019562T-C T C
+22 43019632 22:43019632C-A C A
+22 43020169 22:43020169C-T C T
+22 43020322 22:43020322A-G A G
+22 43021141 22:43021141T-C T C
+22 43021446 22:43021446G-A G A
+22 43021554 22:43021554A-G A G
+22 43021607 22:43021607C-T C T
+22 43021713 22:43021713T-A T A
+22 43023527 22:43023527G-A G A
+22 43023535 22:43023535A-G A G
+22 43023939 22:43023939G-T G T
+22 43023980 22:43023980G-A G A
+22 43024410 22:43024410C-T C T
+22 43025470 22:43025470G-A G A
+22 43025942 22:43025942T-G T G
+22 43025950 22:43025950C-T C T
+22 43026296 22:43026296A-C A C
+22 43026616 22:43026616C-T C T
+22 43026690 22:43026690G-A G A
+22 43026792 22:43026792A-G A G
+22 43027356 22:43027356G-A G A
+22 43027630 22:43027630C-T C T
+22 43027824 22:43027824T-C T C
+22 43027869 22:43027869C-T C T
+22 43028481 22:43028481A-G A G
+22 43028799 22:43028799G-A G A
+22 43028803 22:43028803T-C T C
+22 43029809 22:43029809G-A G A
+22 43030324 22:43030324A-G A G
+22 43031078 22:43031078T-G T G
+22 43031210 22:43031210G-C G C
+22 43031657 22:43031657G-A G A
+22 43031820 22:43031820G-A G A
+22 43031943 22:43031943G-A G A
+22 43032182 22:43032182C-G C G
+22 43032229 22:43032229A-G A G
+22 43032244 22:43032244C-A C A
+22 43032328 22:43032328A-G A G
+22 43032488 22:43032488G-C G C
+22 43032742 22:43032742C-T C T
+22 43032870 22:43032870G-T G T
+22 43033800 22:43033800C-T C T
+22 43034144 22:43034144A-G A G
+22 43034175 22:43034175G-A G A
+22 43034260 22:43034260G-T G T
+22 43034602 22:43034602G-C G C
+22 43035098 22:43035098G-T G T
+22 43035410 22:43035410A-G A G
+22 43035415 22:43035415C-T C T
+22 43035793 22:43035793G-C G C
+22 43035928 22:43035928C-G C G
+22 43036245 22:43036245G-A G A
+22 43036470 22:43036470C-T C T
+22 43036779 22:43036779G-A G A
+22 43038408 22:43038408T-C T C
+22 43039330 22:43039330C-T C T
+22 43039693 22:43039693C-T C T
+22 43039982 22:43039982C-T C T
+22 43040082 22:43040082A-G A G
+22 43040793 22:43040793G-A G A
+22 43040807 22:43040807C-T C T
+22 43040839 22:43040839C-T C T
+22 43040873 22:43040873G-A G A
+22 43040921 22:43040921C-T C T
+22 43041171 22:43041171T-C T C
+22 43041255 22:43041255T-A T A
+22 43041391 22:43041391G-A G A
+22 43041489 22:43041489G-A G A
+22 43041545 22:43041545A-G A G
+22 43041593 22:43041593A-G A G
+22 43041837 22:43041837A-C A C
+22 43041902 22:43041902C-T C T
+22 43041929 22:43041929G-A G A
+22 43042197 22:43042197C-G C G
+22 43043087 22:43043087G-A G A
+22 43043175 22:43043175G-C G C
+22 43043238 22:43043238G-T G T
+22 43043954 22:43043954T-A T A
+22 43044572 22:43044572G-A G A
+22 43044765 22:43044765A-G A G
+22 43045643 22:43045643C-G C G
+22 43045695 22:43045695G-A G A
+22 43045707 22:43045707G-T G T
+22 43046094 22:43046094G-T G T
+22 43046277 22:43046277C-T C T
+22 43046301 22:43046301C-T C T
+22 43046466 22:43046466A-C A C
+22 43046494 22:43046494C-T C T
+22 43046517 22:43046517G-A G A
+22 43046707 22:43046707T-C T C
+22 43047285 22:43047285C-T C T
+22 43047476 22:43047476G-A G A
+22 43047832 22:43047832A-G A G
+22 43047865 22:43047865G-A G A
+22 43048151 22:43048151T-C T C
+22 43048469 22:43048469G-A G A
+22 43049014 22:43049014G-T G T
+22 43049048 22:43049048C-T C T
+22 43050527 22:43050527C-T C T
+22 43050539 22:43050539A-G A G
+22 43050597 22:43050597A-G A G
+22 43050788 22:43050788T-C T C
+22 43052136 22:43052136G-T G T
+22 43052604 22:43052604A-G A G
+22 43052883 22:43052883A-G A G
+22 43053336 22:43053336G-T G T
+22 43053435 22:43053435C-G C G
+22 43053813 22:43053813T-G T G
+22 43054121 22:43054121G-A G A
+22 43054308 22:43054308G-A G A
+22 43054490 22:43054490A-G A G
+22 43054509 22:43054509G-A G A
+22 43054738 22:43054738T-G T G
+22 43056758 22:43056758A-C A C
+22 43057206 22:43057206A-G A G
+22 43057546 22:43057546C-T C T
+22 43057565 22:43057565T-C T C
+22 43057833 22:43057833T-C T C
+22 43058496 22:43058496A-G A G
+22 43058627 22:43058627G-A G A
+22 43058672 22:43058672G-C G C
+22 43058804 22:43058804C-T C T
+22 43058837 22:43058837A-G A G
+22 43059138 22:43059138G-T G T
+22 43059235 22:43059235G-A G A
+22 43059290 22:43059290C-A C A
+22 43059464 22:43059464T-G T G
+22 43059840 22:43059840G-C G C
+22 43059925 22:43059925G-A G A
+22 43060850 22:43060850G-A G A
+22 43061006 22:43061006G-T G T
+22 43061482 22:43061482G-A G A
+22 43061494 22:43061494C-T C T
+22 43061594 22:43061594C-A C A
+22 43061610 22:43061610A-G A G
+22 43061737 22:43061737A-G A G
+22 43062331 22:43062331C-T C T
+22 43062340 22:43062340T-C T C
+22 43062434 22:43062434A-G A G
+22 43063246 22:43063246A-G A G
+22 43063511 22:43063511C-T C T
+22 43063616 22:43063616G-C G C
+22 43063958 22:43063958C-T C T
+22 43064030 22:43064030T-A T A
+22 43064840 22:43064840A-G A G
+22 43064857 22:43064857T-C T C
+22 43065921 22:43065921C-G C G
+22 43066379 22:43066379T-C T C
+22 43066531 22:43066531A-G A G
+22 43067054 22:43067054T-C T C
+22 43067127 22:43067127G-C G C
+22 43067327 22:43067327A-G A G
+22 43067331 22:43067331G-A G A
+22 43068239 22:43068239A-G A G
+22 43068401 22:43068401G-A G A
+22 43068518 22:43068518T-C T C
+22 43068711 22:43068711G-A G A
+22 43069264 22:43069264C-T C T
+22 43069740 22:43069740T-G T G
+22 43069761 22:43069761T-C T C
+22 43070593 22:43070593C-T C T
+22 43070623 22:43070623C-T C T
+22 43070655 22:43070655T-C T C
+22 43070805 22:43070805T-G T G
+22 43071005 22:43071005G-C G C
+22 43071608 22:43071608C-T C T
+22 43072626 22:43072626T-C T C
+22 43073031 22:43073031C-T C T
+22 43073331 22:43073331A-G A G
+22 43073936 22:43073936C-T C T
+22 43074378 22:43074378T-C T C
+22 43074556 22:43074556T-A T A
+22 43074900 22:43074900G-A G A
+22 43075422 22:43075422G-T G T
+22 43075948 22:43075948C-T C T
+22 43076341 22:43076341G-A G A
+22 43076496 22:43076496C-G C G
+22 43076809 22:43076809T-C T C
+22 43077027 22:43077027T-A T A
+22 43077050 22:43077050T-A T A
+22 43077143 22:43077143G-T G T
+22 43077709 22:43077709A-C A C
+22 43077904 22:43077904T-C T C
+22 43078207 22:43078207C-T C T
+22 43078569 22:43078569G-A G A
+22 43078589 22:43078589A-G A G
+22 43079037 22:43079037G-A G A
+22 43079072 22:43079072G-T G T
+22 43079175 22:43079175G-C G C
+22 43079214 22:43079214G-A G A
+22 43079607 22:43079607A-G A G
+22 43079754 22:43079754T-C T C
+22 43079783 22:43079783C-T C T
+22 43079847 22:43079847G-T G T
+22 43080028 22:43080028C-T C T
+22 43080792 22:43080792G-A G A
+22 43080880 22:43080880C-T C T
+22 43080905 22:43080905G-A G A
+22 43081044 22:43081044A-G A G
+22 43081101 22:43081101T-C T C
+22 43081398 22:43081398G-T G T
+22 43081442 22:43081442G-T G T
+22 43081553 22:43081553T-G T G
+22 43081726 22:43081726T-C T C
+22 43081796 22:43081796C-T C T
+22 43082040 22:43082040G-A G A
+22 43082052 22:43082052G-A G A
+22 43082265 22:43082265T-C T C
+22 43082478 22:43082478G-C G C
+22 43082755 22:43082755C-T C T
+22 43082826 22:43082826G-T G T
+22 43082898 22:43082898A-G A G
+22 43083045 22:43083045C-A C A
+22 43083155 22:43083155T-C T C
+22 43083465 22:43083465G-A G A
+22 43083611 22:43083611C-A C A
+22 43084104 22:43084104C-T C T
+22 43084123 22:43084123G-A G A
+22 43084125 22:43084125T-C T C
+22 43084157 22:43084157A-G A G
+22 43084512 22:43084512G-T G T
+22 43084613 22:43084613T-C T C
+22 43084680 22:43084680G-C G C
+22 43084693 22:43084693G-A G A
+22 43085425 22:43085425G-A G A
+22 43085610 22:43085610C-G C G
+22 43085647 22:43085647A-G A G
+22 43085854 22:43085854C-G C G
+22 43085927 22:43085927C-T C T
+22 43085943 22:43085943C-T C T
+22 43086173 22:43086173T-A T A
+22 43086450 22:43086450G-A G A
+22 43086592 22:43086592C-A C A
+22 43086896 22:43086896T-C T C
+22 43087644 22:43087644G-A G A
+22 43087781 22:43087781C-T C T
+22 43088010 22:43088010C-T C T
+22 43088078 22:43088078G-A G A
+22 43088261 22:43088261C-T C T
+22 43088435 22:43088435C-T C T
+22 43088463 22:43088463G-T G T
+22 43088549 22:43088549C-T C T
+22 43088971 22:43088971C-T C T
+22 43089055 22:43089055G-C G C
+22 43089849 22:43089849T-C T C
+22 43090249 22:43090249A-C A C
+22 43090276 22:43090276T-A T A
+22 43090534 22:43090534A-T A T
+22 43090714 22:43090714G-A G A
+22 43091179 22:43091179C-T C T
+22 43091341 22:43091341A-G A G
+22 43091354 22:43091354C-T C T
+22 43092004 22:43092004C-T C T
+22 43092556 22:43092556C-T C T
+22 43092620 22:43092620A-G A G
+22 43092786 22:43092786C-T C T
+22 43092851 22:43092851A-C A C
+22 43092912 22:43092912C-T C T
+22 43093143 22:43093143T-C T C
+22 43093168 22:43093168A-T A T
+22 43093189 22:43093189T-A T A
+22 43093296 22:43093296G-T G T
+22 43093376 22:43093376C-T C T
+22 43093457 22:43093457G-A G A
+22 43093596 22:43093596G-A G A
+22 43093698 22:43093698A-G A G
+22 43094027 22:43094027T-C T C
+22 43094085 22:43094085T-C T C
+22 43094340 22:43094340G-C G C
+22 43094465 22:43094465G-A G A
+22 43094736 22:43094736G-A G A
+22 43094877 22:43094877A-G A G
+22 43094925 22:43094925G-A G A
+22 43094932 22:43094932T-G T G
+22 43095113 22:43095113T-A T A
+22 43095129 22:43095129G-A G A
+22 43095255 22:43095255G-C G C
+22 43095374 22:43095374T-A T A
+22 43095457 22:43095457C-T C T
+22 43095473 22:43095473C-T C T
+22 43095600 22:43095600T-C T C
+22 43095737 22:43095737C-G C G
+22 43095895 22:43095895C-T C T
+22 43095928 22:43095928C-T C T
+22 43095999 22:43095999C-T C T
+22 43096013 22:43096013A-T A T
+22 43096042 22:43096042C-T C T
+22 43096266 22:43096266A-G A G
+22 43096364 22:43096364G-A G A
+22 43096492 22:43096492G-A G A
+22 43096507 22:43096507C-T C T
+22 43096996 22:43096996G-C G C
+22 43097514 22:43097514G-A G A
+22 43097551 22:43097551T-C T C
+22 43098501 22:43098501T-C T C
+22 43098650 22:43098650A-G A G
+22 43098771 22:43098771C-A C A
+22 43099055 22:43099055C-G C G
+22 43100579 22:43100579G-A G A
+22 43100786 22:43100786T-C T C
+22 43100856 22:43100856C-T C T
+22 43100944 22:43100944T-C T C
+22 43101397 22:43101397G-A G A
+22 43101429 22:43101429G-A G A
+22 43102870 22:43102870A-T A T
+22 43102937 22:43102937A-G A G
+22 43103268 22:43103268T-A T A
+22 43103328 22:43103328T-A T A
+22 43103399 22:43103399T-C T C
+22 43103435 22:43103435T-G T G
+22 43103684 22:43103684C-A C A
+22 43104014 22:43104014C-G C G
+22 43104116 22:43104116G-A G A
+22 43104333 22:43104333G-A G A
+22 43104401 22:43104401T-A T A
+22 43104750 22:43104750C-T C T
+22 43105156 22:43105156G-C G C
+22 43105188 22:43105188C-G C G
+22 43105258 22:43105258G-A G A
+22 43105474 22:43105474T-C T C
+22 43105532 22:43105532G-A G A
+22 43105703 22:43105703C-T C T
+22 43106189 22:43106189G-C G C
+22 43106453 22:43106453G-A G A
+22 43106582 22:43106582G-A G A
+22 43106765 22:43106765C-A C A
+22 43106806 22:43106806T-C T C
+22 43107046 22:43107046A-G A G
+22 43107689 22:43107689C-G C G
+22 43107837 22:43107837C-G C G
+22 43107993 22:43107993A-T A T
+22 43108395 22:43108395G-A G A
+22 43108663 22:43108663C-G C G
+22 43108926 22:43108926A-C A C
+22 43109743 22:43109743A-G A G
+22 43109773 22:43109773G-A G A
+22 43110114 22:43110114C-T C T
+22 43110115 22:43110115A-G A G
+22 43110497 22:43110497T-C T C
+22 43110736 22:43110736T-C T C
+22 43110919 22:43110919G-A G A
+22 43111436 22:43111436T-C T C
+22 43111670 22:43111670T-C T C
+22 43111733 22:43111733A-T A T
+22 43111772 22:43111772C-A C A
+22 43112475 22:43112475C-T C T
+22 43112611 22:43112611A-G A G
+22 43112674 22:43112674A-G A G
+22 43112818 22:43112818C-A C A
+22 43112961 22:43112961T-C T C
+22 43113004 22:43113004T-G T G
+22 43113407 22:43113407A-G A G
+22 43113434 22:43113434C-T C T
+22 43113435 22:43113435G-A G A
+22 43113534 22:43113534C-G C G
+22 43113673 22:43113673T-C T C
+22 43113793 22:43113793C-A C A
+22 43114020 22:43114020A-C A C
+22 43114040 22:43114040G-C G C
+22 43114132 22:43114132A-G A G
+22 43114291 22:43114291G-A G A
+22 43114471 22:43114471A-C A C
+22 43114551 22:43114551G-A G A
+22 43114824 22:43114824A-G A G
+22 43114928 22:43114928T-C T C
+22 43115254 22:43115254C-G C G
+22 43115576 22:43115576T-C T C
+22 43115696 22:43115696C-T C T
+22 43115776 22:43115776G-C G C
+22 43116137 22:43116137G-C G C
+22 43116149 22:43116149G-A G A
+22 43116584 22:43116584C-T C T
+22 43116985 22:43116985T-C T C
+22 43116989 22:43116989G-A G A
+22 43117037 22:43117037G-C G C
+22 43117463 22:43117463T-G T G
+22 43117595 22:43117595G-A G A
+22 43117598 22:43117598G-C G C
+22 43118094 22:43118094T-C T C
+22 43118317 22:43118317A-G A G
+22 43118694 22:43118694C-T C T
+22 43118782 22:43118782C-G C G
+22 43118878 22:43118878G-T G T
+22 43119239 22:43119239C-G C G
+22 43119434 22:43119434G-A G A
+22 43120111 22:43120111C-T C T
+22 43120209 22:43120209C-T C T
+22 43121056 22:43121056G-A G A
+22 43121058 22:43121058C-A C A
+22 43121133 22:43121133G-T G T
+22 43121426 22:43121426G-A G A
+22 43121968 22:43121968A-C A C
+22 43122433 22:43122433C-T C T
+22 43122720 22:43122720G-A G A
+22 43123195 22:43123195A-G A G
+22 43123288 22:43123288C-T C T
+22 43123737 22:43123737T-C T C
+22 43123873 22:43123873T-C T C
+22 43124785 22:43124785G-A G A
+22 43125006 22:43125006G-A G A
+22 43126481 22:43126481A-C A C
+22 43127064 22:43127064C-T C T
+22 43127431 22:43127431C-T C T
+22 43127465 22:43127465G-A G A
+22 43127834 22:43127834C-T C T
+22 43128031 22:43128031C-G C G
+22 43128032 22:43128032C-T C T
+22 43128582 22:43128582C-A C A
+22 43128596 22:43128596C-T C T
+22 43128825 22:43128825A-G A G
+22 43129361 22:43129361A-G A G
+22 43129593 22:43129593C-T C T
+22 43130116 22:43130116C-A C A
+22 43134147 22:43134147C-T C T
+22 43134525 22:43134525G-A G A
+22 43134801 22:43134801C-T C T
+22 43135279 22:43135279G-A G A
+22 43135696 22:43135696C-A C A
+22 43135993 22:43135993C-T C T
+22 43136212 22:43136212A-G A G
+22 43136583 22:43136583G-A G A
+22 43136808 22:43136808T-G T G
+22 43137820 22:43137820C-G C G
+22 43137973 22:43137973G-T G T
+22 43139528 22:43139528A-G A G
+22 43140578 22:43140578C-T C T
+22 43140720 22:43140720T-G T G
+22 43140831 22:43140831A-G A G
+22 43140837 22:43140837T-G T G
+22 43141020 22:43141020G-A G A
+22 43141093 22:43141093G-C G C
+22 43141350 22:43141350C-T C T
+22 43141391 22:43141391C-A C A
+22 43141409 22:43141409G-T G T
+22 43141459 22:43141459T-G T G
+22 43141848 22:43141848T-G T G
+22 43141907 22:43141907A-G A G
+22 43142216 22:43142216G-T G T
+22 43142577 22:43142577A-G A G
+22 43142593 22:43142593G-T G T
+22 43142948 22:43142948C-T C T
+22 43143160 22:43143160G-C G C
+22 43143228 22:43143228G-A G A
+22 43143233 22:43143233C-A C A
+22 43143265 22:43143265T-C T C
+22 43143378 22:43143378C-A C A
+22 43143899 22:43143899T-C T C
+22 43144054 22:43144054G-C G C
+22 43144289 22:43144289A-C A C
+22 43144592 22:43144592C-T C T
+22 43144771 22:43144771G-C G C
+22 43144950 22:43144950T-C T C
+22 43145421 22:43145421G-C G C
+22 43145466 22:43145466C-T C T
+22 43145641 22:43145641A-G A G
+22 43145764 22:43145764C-T C T
+22 43145853 22:43145853G-C G C
+22 43145925 22:43145925C-T C T
+22 43148076 22:43148076G-A G A
+22 43148092 22:43148092G-A G A
+22 43148259 22:43148259C-T C T
+22 43148321 22:43148321G-C G C
+22 43148731 22:43148731G-A G A
+22 43149643 22:43149643G-A G A
+22 43149660 22:43149660A-C A C
+22 43150062 22:43150062C-A C A
+22 43150392 22:43150392G-A G A
+22 43150453 22:43150453C-T C T
+22 43150523 22:43150523G-T G T
+22 43151095 22:43151095C-T C T
+22 43151116 22:43151116T-C T C
+22 43151167 22:43151167A-T A T
+22 43151763 22:43151763G-A G A
+22 43152893 22:43152893C-T C T
+22 43153146 22:43153146C-A C A
+22 43153305 22:43153305G-C G C
+22 43153437 22:43153437T-G T G
+22 43153703 22:43153703T-C T C
+22 43153792 22:43153792G-C G C
+22 43154073 22:43154073T-C T C
+22 43154261 22:43154261G-T G T
+22 43154299 22:43154299A-G A G
+22 43154680 22:43154680T-C T C
+22 43154705 22:43154705G-T G T
+22 43154742 22:43154742G-A G A
+22 43155270 22:43155270G-C G C
+22 43155392 22:43155392C-T C T
+22 43155449 22:43155449A-G A G
+22 43155550 22:43155550C-G C G
+22 43155564 22:43155564C-T C T
+22 43155722 22:43155722C-T C T
+22 43155747 22:43155747C-A C A
+22 43155855 22:43155855C-G C G
+22 43155893 22:43155893A-T A T
+22 43156223 22:43156223G-A G A
+22 43156313 22:43156313C-T C T
+22 43156469 22:43156469A-G A G
+22 43156616 22:43156616T-C T C
+22 43156705 22:43156705C-A C A
+22 43157043 22:43157043G-A G A
+22 43157308 22:43157308C-G C G
+22 43157324 22:43157324C-T C T
+22 43158483 22:43158483G-A G A
+22 43158555 22:43158555A-C A C
+22 43158711 22:43158711T-A T A
+22 43158727 22:43158727T-G T G
+22 43158867 22:43158867C-T C T
+22 43159090 22:43159090G-A G A
+22 43159168 22:43159168C-T C T
+22 43159218 22:43159218G-A G A
+22 43159609 22:43159609T-C T C
+22 43159809 22:43159809C-T C T
+22 43159810 22:43159810C-T C T
+22 43159948 22:43159948C-T C T
+22 43160068 22:43160068T-C T C
+22 43160145 22:43160145C-A C A
+22 43160257 22:43160257C-G C G
+22 43160404 22:43160404C-T C T
+22 43160637 22:43160637A-G A G
+22 43160656 22:43160656C-T C T
+22 43160756 22:43160756T-C T C
+22 43161113 22:43161113C-A C A
+22 43161242 22:43161242C-T C T
+22 43161261 22:43161261A-G A G
+22 43161405 22:43161405T-C T C
+22 43161592 22:43161592C-A C A
+22 43161994 22:43161994A-G A G
+22 43162106 22:43162106G-C G C
+22 43162411 22:43162411C-A C A
+22 43162495 22:43162495T-C T C
+22 43162581 22:43162581C-T C T
+22 43162952 22:43162952C-T C T
+22 43162958 22:43162958G-C G C
+22 43162984 22:43162984T-C T C
+22 43163061 22:43163061A-G A G
+22 43163200 22:43163200A-G A G
+22 43163360 22:43163360G-C G C
+22 43163366 22:43163366G-C G C
+22 43163714 22:43163714A-T A T
+22 43163718 22:43163718A-T A T
+22 43163722 22:43163722T-A T A
+22 43163850 22:43163850G-T G T
+22 43163883 22:43163883T-A T A
+22 43164064 22:43164064C-T C T
+22 43164133 22:43164133C-T C T
+22 43164277 22:43164277T-C T C
+22 43164369 22:43164369A-G A G
+22 43164431 22:43164431A-G A G
+22 43164563 22:43164563C-T C T
+22 43164768 22:43164768G-A G A
+22 43165105 22:43165105C-T C T
+22 43165729 22:43165729G-A G A
+22 43165739 22:43165739G-T G T
+22 43165866 22:43165866C-T C T
+22 43165948 22:43165948C-T C T
+22 43166388 22:43166388T-C T C
+22 43166449 22:43166449G-A G A
+22 43166718 22:43166718C-T C T
+22 43166822 22:43166822T-C T C
+22 43166958 22:43166958C-T C T
+22 43167050 22:43167050C-T C T
+22 43167775 22:43167775C-T C T
+22 43167966 22:43167966A-G A G
+22 43168036 22:43168036G-C G C
+22 43168776 22:43168776A-G A G
+22 43168852 22:43168852G-A G A
+22 43168976 22:43168976C-T C T
+22 43169224 22:43169224G-C G C
+22 43169539 22:43169539G-C G C
+22 43169578 22:43169578C-T C T
+22 43169648 22:43169648G-A G A
+22 43169818 22:43169818T-C T C
+22 43169852 22:43169852A-G A G
+22 43170109 22:43170109G-A G A
+22 43170213 22:43170213T-A T A
+22 43170492 22:43170492G-A G A
+22 43170686 22:43170686T-C T C
+22 43170699 22:43170699T-C T C
+22 43170882 22:43170882C-T C T
+22 43170942 22:43170942A-G A G
+22 43170994 22:43170994T-C T C
+22 43171045 22:43171045G-A G A
+22 43171673 22:43171673T-C T C
+22 43171685 22:43171685C-T C T
+22 43171915 22:43171915G-A G A
+22 43172267 22:43172267C-T C T
+22 43172308 22:43172308T-C T C
+22 43172489 22:43172489G-A G A
+22 43172646 22:43172646G-A G A
+22 43172806 22:43172806A-G A G
+22 43173743 22:43173743T-C T C
+22 43173922 22:43173922A-G A G
+22 43174188 22:43174188T-C T C
+22 43174413 22:43174413A-G A G
+22 43175057 22:43175057C-T C T
+22 43175286 22:43175286C-T C T
+22 43175426 22:43175426C-T C T
+22 43175465 22:43175465C-T C T
+22 43175639 22:43175639A-G A G
+22 43175821 22:43175821T-C T C
+22 43175823 22:43175823A-G A G
+22 43175959 22:43175959A-G A G
+22 43175971 22:43175971A-C A C
+22 43176355 22:43176355A-T A T
+22 43176357 22:43176357G-C G C
+22 43176623 22:43176623T-C T C
+22 43176834 22:43176834C-G C G
+22 43176847 22:43176847C-T C T
+22 43177559 22:43177559A-C A C
+22 43178043 22:43178043C-T C T
+22 43178546 22:43178546G-A G A
+22 43179166 22:43179166T-G T G
+22 43179297 22:43179297T-C T C
+22 43179680 22:43179680C-T C T
+22 43179681 22:43179681G-A G A
+22 43180054 22:43180054G-A G A
+22 43180418 22:43180418A-C A C
+22 43181175 22:43181175A-G A G
+22 43181587 22:43181587C-T C T
+22 43181803 22:43181803G-A G A
+22 43182491 22:43182491C-T C T
+22 43182751 22:43182751T-C T C
+22 43182761 22:43182761C-G C G
+22 43183391 22:43183391C-T C T
+22 43183762 22:43183762T-C T C
+22 43184135 22:43184135G-A G A
+22 43185012 22:43185012C-T C T
+22 43185180 22:43185180C-T C T
+22 43185254 22:43185254C-T C T
+22 43186033 22:43186033T-A T A
+22 43187900 22:43187900G-A G A
+22 43188180 22:43188180C-A C A
+22 43188274 22:43188274C-A C A
+22 43188309 22:43188309C-T C T
+22 43188611 22:43188611A-G A G
+22 43189080 22:43189080C-T C T
+22 43189445 22:43189445T-C T C
+22 43189819 22:43189819G-A G A
+22 43189832 22:43189832C-A C A
+22 43190158 22:43190158C-T C T
+22 43190649 22:43190649A-G A G
+22 43190817 22:43190817T-C T C
+22 43191319 22:43191319T-C T C
+22 43191340 22:43191340G-A G A
+22 43191368 22:43191368C-T C T
+22 43192437 22:43192437A-T A T
+22 43192480 22:43192480T-C T C
+22 43193323 22:43193323T-C T C
+22 43193641 22:43193641G-A G A
+22 43193915 22:43193915A-T A T
+22 43194273 22:43194273G-A G A
+22 43195147 22:43195147A-G A G
+22 43195296 22:43195296A-G A G
+22 43195671 22:43195671A-T A T
+22 43195697 22:43195697A-G A G
+22 43197034 22:43197034A-G A G
+22 43197859 22:43197859A-G A G
+22 43197897 22:43197897C-G C G
+22 43198259 22:43198259T-G T G
+22 43198836 22:43198836T-G T G
+22 43198934 22:43198934C-T C T
+22 43199970 22:43199970C-T C T
+22 43200220 22:43200220C-T C T
+22 43200448 22:43200448T-C T C
+22 43200456 22:43200456C-T C T
+22 43200482 22:43200482G-T G T
+22 43201210 22:43201210A-G A G
+22 43203137 22:43203137C-T C T
+22 43206167 22:43206167G-C G C
+22 43206228 22:43206228G-C G C
+22 43206346 22:43206346G-T G T
+22 43206587 22:43206587A-T A T
+22 43206950 22:43206950A-C A C
+22 43211880 22:43211880A-C A C
+22 43212093 22:43212093C-T C T
+22 43212432 22:43212432G-A G A
+22 43212781 22:43212781C-T C T
+22 43214400 22:43214400G-C G C
+22 43215470 22:43215470C-T C T
+22 43215692 22:43215692A-G A G
+22 43216299 22:43216299T-G T G
+22 43216550 22:43216550G-A G A
+22 43216733 22:43216733A-G A G
+22 43217149 22:43217149G-C G C
+22 43217955 22:43217955T-C T C
+22 43218463 22:43218463C-T C T
+22 43219836 22:43219836C-G C G
+22 43222242 22:43222242C-T C T
+22 43223202 22:43223202T-C T C
+22 43225174 22:43225174A-C A C
+22 43225966 22:43225966T-C T C
+22 43226599 22:43226599C-A C A
+22 43226912 22:43226912G-A G A
+22 43227272 22:43227272T-G T G
+22 43227867 22:43227867G-C G C
+22 43228345 22:43228345C-T C T
+22 43228528 22:43228528A-G A G
+22 43228789 22:43228789T-C T C
+22 43228969 22:43228969A-C A C
+22 43229848 22:43229848G-A G A
+22 43230140 22:43230140C-G C G
+22 43230627 22:43230627T-C T C
+22 43232818 22:43232818C-T C T
+22 43232973 22:43232973C-T C T
+22 43233062 22:43233062G-C G C
+22 43233265 22:43233265C-T C T
+22 43233333 22:43233333A-G A G
+22 43235156 22:43235156C-A C A
+22 43235978 22:43235978C-T C T
+22 43236128 22:43236128A-G A G
+22 43236571 22:43236571C-T C T
+22 43237276 22:43237276C-T C T
+22 43237639 22:43237639G-A G A
+22 43238055 22:43238055G-A G A
+22 43240703 22:43240703G-A G A
+22 43240806 22:43240806T-C T C
+22 43241003 22:43241003C-G C G
+22 43241332 22:43241332A-C A C
+22 43241787 22:43241787C-T C T
+22 43241913 22:43241913G-A G A
+22 43243204 22:43243204T-C T C
+22 43243956 22:43243956T-C T C
+22 43244238 22:43244238G-A G A
+22 43244269 22:43244269C-T C T
+22 43244723 22:43244723A-T A T
+22 43244928 22:43244928T-C T C
+22 43245345 22:43245345T-C T C
+22 43246146 22:43246146G-A G A
+22 43246248 22:43246248G-T G T
+22 43246818 22:43246818A-G A G
+22 43247415 22:43247415C-T C T
+22 43248000 22:43248000C-T C T
+22 43248411 22:43248411T-G T G
+22 43248906 22:43248906G-A G A
+22 43249035 22:43249035A-G A G
+22 43249093 22:43249093T-C T C
+22 43249200 22:43249200T-C T C
+22 43250569 22:43250569C-T C T
+22 43250614 22:43250614G-A G A
+22 43252280 22:43252280A-G A G
+22 43252335 22:43252335C-A C A
+22 43255182 22:43255182T-G T G
+22 43255397 22:43255397T-A T A
+22 43256165 22:43256165C-T C T
+22 43256166 22:43256166A-G A G
+22 43257261 22:43257261A-G A G
+22 43257945 22:43257945C-T C T
+22 43258832 22:43258832C-T C T
+22 43259541 22:43259541A-C A C
+22 43259855 22:43259855T-C T C
+22 43260427 22:43260427G-A G A
+22 43261065 22:43261065C-G C G
+22 43261223 22:43261223C-T C T
+22 43261499 22:43261499G-A G A
+22 43261694 22:43261694T-G T G
+22 43262513 22:43262513A-G A G
+22 43262740 22:43262740T-C T C
+22 43262745 22:43262745C-T C T
+22 43263432 22:43263432A-G A G
+22 43264252 22:43264252A-G A G
+22 43264344 22:43264344C-G C G
+22 43264770 22:43264770A-G A G
+22 43264851 22:43264851T-C T C
+22 43265827 22:43265827G-T G T
+22 43266247 22:43266247G-A G A
+22 43266363 22:43266363C-T C T
+22 43266774 22:43266774C-T C T
+22 43267831 22:43267831G-T G T
+22 43267873 22:43267873G-T G T
+22 43268009 22:43268009T-C T C
+22 43268270 22:43268270C-T C T
+22 43268502 22:43268502A-G A G
+22 43269201 22:43269201T-C T C
+22 43269547 22:43269547C-T C T
+22 43270440 22:43270440A-C A C
+22 43270819 22:43270819A-G A G
+22 43271078 22:43271078A-G A G
+22 43271298 22:43271298A-C A C
+22 43271504 22:43271504G-T G T
+22 43272085 22:43272085G-C G C
+22 43272792 22:43272792C-T C T
+22 43273740 22:43273740C-G C G
+22 43273891 22:43273891T-G T G
+22 43274283 22:43274283C-T C T
+22 43274367 22:43274367A-T A T
+22 43274722 22:43274722G-A G A
+22 43274772 22:43274772A-G A G
+22 43274889 22:43274889G-A G A
+22 43275250 22:43275250G-A G A
+22 43275968 22:43275968G-C G C
+22 43275972 22:43275972G-A G A
+22 43276030 22:43276030A-C A C
+22 43277147 22:43277147A-G A G
+22 43277922 22:43277922G-A G A
+22 43278148 22:43278148C-T C T
+22 43278162 22:43278162T-C T C
+22 43278220 22:43278220C-T C T
+22 43279282 22:43279282A-G A G
+22 43279611 22:43279611G-A G A
+22 43279807 22:43279807C-T C T
+22 43279862 22:43279862T-C T C
+22 43280059 22:43280059G-A G A
+22 43280650 22:43280650T-C T C
+22 43281581 22:43281581G-C G C
+22 43281879 22:43281879A-G A G
+22 43282801 22:43282801A-C A C
+22 43283082 22:43283082C-T C T
+22 43283255 22:43283255A-C A C
+22 43283262 22:43283262G-A G A
+22 43283989 22:43283989C-T C T
+22 43284334 22:43284334G-A G A
+22 43285309 22:43285309C-T C T
+22 43285922 22:43285922C-T C T
+22 43286876 22:43286876A-G A G
+22 43287290 22:43287290G-A G A
+22 43289236 22:43289236C-T C T
+22 43289473 22:43289473G-A G A
+22 43289738 22:43289738C-T C T
+22 43290583 22:43290583T-C T C
+22 43291095 22:43291095C-T C T
+22 43291529 22:43291529C-A C A
+22 43292114 22:43292114A-G A G
+22 43292632 22:43292632C-T C T
+22 43293684 22:43293684G-A G A
+22 43294239 22:43294239C-T C T
+22 43294744 22:43294744T-C T C
+22 43295268 22:43295268C-T C T
+22 43295271 22:43295271C-T C T
+22 43296051 22:43296051C-A C A
+22 43296317 22:43296317C-T C T
+22 43296324 22:43296324A-C A C
+22 43297397 22:43297397G-A G A
+22 43297421 22:43297421A-T A T
+22 43297680 22:43297680C-T C T
+22 43297929 22:43297929C-T C T
+22 43298026 22:43298026G-A G A
+22 43298262 22:43298262G-A G A
+22 43298310 22:43298310G-A G A
+22 43298646 22:43298646T-G T G
+22 43298697 22:43298697A-G A G
+22 43298810 22:43298810G-A G A
+22 43299294 22:43299294T-A T A
+22 43299690 22:43299690G-C G C
+22 43299710 22:43299710T-C T C
+22 43299878 22:43299878G-A G A
+22 43300010 22:43300010C-A C A
+22 43301309 22:43301309C-T C T
+22 43301743 22:43301743C-T C T
+22 43301900 22:43301900A-C A C
+22 43303013 22:43303013C-T C T
+22 43303017 22:43303017C-T C T
+22 43303076 22:43303076G-T G T
+22 43303172 22:43303172G-C G C
+22 43303417 22:43303417T-G T G
+22 43303687 22:43303687G-A G A
+22 43305861 22:43305861T-C T C
+22 43306428 22:43306428C-T C T
+22 43306541 22:43306541A-G A G
+22 43306628 22:43306628T-C T C
+22 43306694 22:43306694T-C T C
+22 43306846 22:43306846T-C T C
+22 43306911 22:43306911C-T C T
+22 43306950 22:43306950A-G A G
+22 43307067 22:43307067C-T C T
+22 43307205 22:43307205C-T C T
+22 43308475 22:43308475C-T C T
+22 43308526 22:43308526G-T G T
+22 43309320 22:43309320T-A T A
+22 43310147 22:43310147G-A G A
+22 43310229 22:43310229T-C T C
+22 43310652 22:43310652G-T G T
+22 43311010 22:43311010C-T C T
+22 43311225 22:43311225G-C G C
+22 43311523 22:43311523G-A G A
+22 43311896 22:43311896C-G C G
+22 43312426 22:43312426G-A G A
+22 43312615 22:43312615C-T C T
+22 43312925 22:43312925G-A G A
+22 43313051 22:43313051C-T C T
+22 43313753 22:43313753T-C T C
+22 43313909 22:43313909A-G A G
+22 43313954 22:43313954T-C T C
+22 43314066 22:43314066A-G A G
+22 43314271 22:43314271A-T A T
+22 43315393 22:43315393T-C T C
+22 43315628 22:43315628A-T A T
+22 43315859 22:43315859C-T C T
+22 43316145 22:43316145G-A G A
+22 43316232 22:43316232G-A G A
+22 43316667 22:43316667A-G A G
+22 43317129 22:43317129G-A G A
+22 43317257 22:43317257C-T C T
+22 43317568 22:43317568A-C A C
+22 43317899 22:43317899C-T C T
+22 43317968 22:43317968C-G C G
+22 43318648 22:43318648G-C G C
+22 43318700 22:43318700G-A G A
+22 43318765 22:43318765G-T G T
+22 43318948 22:43318948G-C G C
+22 43319158 22:43319158T-C T C
+22 43319320 22:43319320T-C T C
+22 43319527 22:43319527G-A G A
+22 43319703 22:43319703C-G C G
+22 43320216 22:43320216C-G C G
+22 43320285 22:43320285T-G T G
+22 43320301 22:43320301A-G A G
+22 43320662 22:43320662T-A T A
+22 43321023 22:43321023C-T C T
+22 43321296 22:43321296G-A G A
+22 43321806 22:43321806T-A T A
+22 43321816 22:43321816G-A G A
+22 43322795 22:43322795G-A G A
+22 43323314 22:43323314C-T C T
+22 43323582 22:43323582G-T G T
+22 43323586 22:43323586T-G T G
+22 43324183 22:43324183C-T C T
+22 43324552 22:43324552G-A G A
+22 43324565 22:43324565G-A G A
+22 43324762 22:43324762C-T C T
+22 43324768 22:43324768A-G A G
+22 43325269 22:43325269T-C T C
+22 43325441 22:43325441A-G A G
+22 43325774 22:43325774G-A G A
+22 43326110 22:43326110C-T C T
+22 43326807 22:43326807G-T G T
+22 43327316 22:43327316C-T C T
+22 43327526 22:43327526C-T C T
+22 43327579 22:43327579G-C G C
+22 43327587 22:43327587G-A G A
+22 43328419 22:43328419G-A G A
+22 43329819 22:43329819G-A G A
+22 43330183 22:43330183T-G T G
+22 43330407 22:43330407T-A T A
+22 43331291 22:43331291T-A T A
+22 43332322 22:43332322T-C T C
+22 43332516 22:43332516T-C T C
+22 43333156 22:43333156G-A G A
+22 43333427 22:43333427C-T C T
+22 43334295 22:43334295C-G C G
+22 43334398 22:43334398T-G T G
+22 43334574 22:43334574G-C G C
+22 43335490 22:43335490A-G A G
+22 43336231 22:43336231A-T A T
+22 43336637 22:43336637T-G T G
+22 43336685 22:43336685C-T C T
+22 43336728 22:43336728C-T C T
+22 43338090 22:43338090T-C T C
+22 43338353 22:43338353C-A C A
+22 43338839 22:43338839G-A G A
+22 43339876 22:43339876A-G A G
+22 43339878 22:43339878A-G A G
+22 43339960 22:43339960T-A T A
+22 43340912 22:43340912G-A G A
+22 43342723 22:43342723G-A G A
+22 43343225 22:43343225C-G C G
+22 43343485 22:43343485A-G A G
+22 43343608 22:43343608C-T C T
+22 43343625 22:43343625A-G A G
+22 43344681 22:43344681T-C T C
+22 43348178 22:43348178C-T C T
+22 43348699 22:43348699C-T C T
+22 43349377 22:43349377A-G A G
+22 43349632 22:43349632T-C T C
+22 43349699 22:43349699C-A C A
+22 43350377 22:43350377C-G C G
+22 43350489 22:43350489C-T C T
+22 43351685 22:43351685C-A C A
+22 43354130 22:43354130T-C T C
+22 43354334 22:43354334T-C T C
+22 43354850 22:43354850T-C T C
+22 43355167 22:43355167G-A G A
+22 43355256 22:43355256C-T C T
+22 43356130 22:43356130A-C A C
+22 43356311 22:43356311C-T C T
+22 43356442 22:43356442T-G T G
+22 43356499 22:43356499C-T C T
+22 43356699 22:43356699G-A G A
+22 43357072 22:43357072G-A G A
+22 43358088 22:43358088A-G A G
+22 43358492 22:43358492G-A G A
+22 43358737 22:43358737G-T G T
+22 43359130 22:43359130T-C T C
+22 43359261 22:43359261A-G A G
+22 43359448 22:43359448G-A G A
+22 43360681 22:43360681T-C T C
+22 43361079 22:43361079G-A G A
+22 43361143 22:43361143C-G C G
+22 43361804 22:43361804T-C T C
+22 43361848 22:43361848T-C T C
+22 43362976 22:43362976T-C T C
+22 43363195 22:43363195C-G C G
+22 43363889 22:43363889A-G A G
+22 43363923 22:43363923G-A G A
+22 43364634 22:43364634G-C G C
+22 43364655 22:43364655G-A G A
+22 43364795 22:43364795G-C G C
+22 43365634 22:43365634C-T C T
+22 43366296 22:43366296G-A G A
+22 43366896 22:43366896C-T C T
+22 43367316 22:43367316C-G C G
+22 43368121 22:43368121G-A G A
+22 43368270 22:43368270G-T G T
+22 43369349 22:43369349A-T A T
+22 43369766 22:43369766T-C T C
+22 43370260 22:43370260C-G C G
+22 43370549 22:43370549A-G A G
+22 43371176 22:43371176T-C T C
+22 43371507 22:43371507T-A T A
+22 43372372 22:43372372T-C T C
+22 43372799 22:43372799T-C T C
+22 43373570 22:43373570C-A C A
+22 43374807 22:43374807G-C G C
+22 43375141 22:43375141T-C T C
+22 43375439 22:43375439G-A G A
+22 43375701 22:43375701G-A G A
+22 43375950 22:43375950C-T C T
+22 43377102 22:43377102C-T C T
+22 43379373 22:43379373C-G C G
+22 43380548 22:43380548G-C G C
+22 43381288 22:43381288T-G T G
+22 43381459 22:43381459G-A G A
+22 43381650 22:43381650C-T C T
+22 43383623 22:43383623C-T C T
+22 43384017 22:43384017C-A C A
+22 43384931 22:43384931A-G A G
+22 43385996 22:43385996A-T A T
+22 43386246 22:43386246C-T C T
+22 43386691 22:43386691C-G C G
+22 43387473 22:43387473A-C A C
+22 43387645 22:43387645C-T C T
+22 43387695 22:43387695G-T G T
+22 43387711 22:43387711T-C T C
+22 43387915 22:43387915C-A C A
+22 43389028 22:43389028C-T C T
+22 43389090 22:43389090G-C G C
+22 43389117 22:43389117T-C T C
+22 43389570 22:43389570C-T C T
+22 43390083 22:43390083A-T A T
+22 43390319 22:43390319G-A G A
+22 43391816 22:43391816T-A T A
+22 43391953 22:43391953G-A G A
+22 43392180 22:43392180T-C T C
+22 43392264 22:43392264A-G A G
+22 43392277 22:43392277C-A C A
+22 43392856 22:43392856G-A G A
+22 43393042 22:43393042G-C G C
+22 43393437 22:43393437G-A G A
+22 43393940 22:43393940C-T C T
+22 43393985 22:43393985A-T A T
+22 43394489 22:43394489T-C T C
+22 43395093 22:43395093A-G A G
+22 43396094 22:43396094A-G A G
+22 43396109 22:43396109C-T C T
+22 43396445 22:43396445T-C T C
+22 43397036 22:43397036C-T C T
+22 43397563 22:43397563C-G C G
+22 43397861 22:43397861A-G A G
+22 43397966 22:43397966A-G A G
+22 43398049 22:43398049C-A C A
+22 43398962 22:43398962C-T C T
+22 43400006 22:43400006G-C G C
+22 43400329 22:43400329T-C T C
+22 43400764 22:43400764A-C A C
+22 43400937 22:43400937T-C T C
+22 43401079 22:43401079G-A G A
+22 43401409 22:43401409C-A C A
+22 43401604 22:43401604A-C A C
+22 43401772 22:43401772A-G A G
+22 43403024 22:43403024T-C T C
+22 43403290 22:43403290C-T C T
+22 43403379 22:43403379G-A G A
+22 43403506 22:43403506C-G C G
+22 43404107 22:43404107T-C T C
+22 43404429 22:43404429A-G A G
+22 43404537 22:43404537T-G T G
+22 43404929 22:43404929C-G C G
+22 43405068 22:43405068G-A G A
+22 43406673 22:43406673A-G A G
+22 43407464 22:43407464C-T C T
+22 43407909 22:43407909T-C T C
+22 43407957 22:43407957A-C A C
+22 43408257 22:43408257A-G A G
+22 43408562 22:43408562C-T C T
+22 43408746 22:43408746C-T C T
+22 43408940 22:43408940C-T C T
+22 43409058 22:43409058C-A C A
+22 43409989 22:43409989G-A G A
+22 43410235 22:43410235T-C T C
+22 43410447 22:43410447C-T C T
+22 43411389 22:43411389T-C T C
+22 43411887 22:43411887A-C A C
+22 43412376 22:43412376T-C T C
+22 43412527 22:43412527A-G A G
+22 43414330 22:43414330G-A G A
+22 43415060 22:43415060A-G A G
+22 43415116 22:43415116G-A G A
+22 43415148 22:43415148C-T C T
+22 43415418 22:43415418G-C G C
+22 43415581 22:43415581C-T C T
+22 43415711 22:43415711G-A G A
+22 43416866 22:43416866G-A G A
+22 43417007 22:43417007C-T C T
+22 43417799 22:43417799T-C T C
+22 43418057 22:43418057A-G A G
+22 43418059 22:43418059G-A G A
+22 43418832 22:43418832A-G A G
+22 43419325 22:43419325A-C A C
+22 43419366 22:43419366C-T C T
+22 43419773 22:43419773G-A G A
+22 43420326 22:43420326G-A G A
+22 43420441 22:43420441G-A G A
+22 43420666 22:43420666A-G A G
+22 43421280 22:43421280G-A G A
+22 43421472 22:43421472G-A G A
+22 43422319 22:43422319T-C T C
+22 43422556 22:43422556G-A G A
+22 43422608 22:43422608C-T C T
+22 43422676 22:43422676G-C G C
+22 43422944 22:43422944A-G A G
+22 43422972 22:43422972A-G A G
+22 43422976 22:43422976A-G A G
+22 43423123 22:43423123G-A G A
+22 43423337 22:43423337A-G A G
+22 43423628 22:43423628G-C G C
+22 43423903 22:43423903T-C T C
+22 43424037 22:43424037T-G T G
+22 43424477 22:43424477C-A C A
+22 43425158 22:43425158C-T C T
+22 43425176 22:43425176A-T A T
+22 43425262 22:43425262G-A G A
+22 43425718 22:43425718G-A G A
+22 43425732 22:43425732C-T C T
+22 43425824 22:43425824G-A G A
+22 43425861 22:43425861T-C T C
+22 43425948 22:43425948C-T C T
+22 43426122 22:43426122C-T C T
+22 43426201 22:43426201C-T C T
+22 43426209 22:43426209G-A G A
+22 43426262 22:43426262A-G A G
+22 43426542 22:43426542A-C A C
+22 43426929 22:43426929C-T C T
+22 43427006 22:43427006T-A T A
+22 43427776 22:43427776G-A G A
+22 43429150 22:43429150A-G A G
+22 43429351 22:43429351A-G A G
+22 43429725 22:43429725A-G A G
+22 43429826 22:43429826C-T C T
+22 43430077 22:43430077G-A G A
+22 43430792 22:43430792T-C T C
+22 43431474 22:43431474G-C G C
+22 43431936 22:43431936G-A G A
+22 43431970 22:43431970C-T C T
+22 43432031 22:43432031G-T G T
+22 43432205 22:43432205A-G A G
+22 43432319 22:43432319C-G C G
+22 43432826 22:43432826G-A G A
+22 43433100 22:43433100C-T C T
+22 43434028 22:43434028A-G A G
+22 43434037 22:43434037C-T C T
+22 43434116 22:43434116A-G A G
+22 43434284 22:43434284G-C G C
+22 43434623 22:43434623G-T G T
+22 43435427 22:43435427G-A G A
+22 43435668 22:43435668G-A G A
+22 43435812 22:43435812C-T C T
+22 43436055 22:43436055G-A G A
+22 43436169 22:43436169G-A G A
+22 43436594 22:43436594G-A G A
+22 43436671 22:43436671C-T C T
+22 43437067 22:43437067G-A G A
+22 43439074 22:43439074G-A G A
+22 43439262 22:43439262G-A G A
+22 43439296 22:43439296A-G A G
+22 43439544 22:43439544T-C T C
+22 43440972 22:43440972G-A G A
+22 43441050 22:43441050G-A G A
+22 43441515 22:43441515C-T C T
+22 43441628 22:43441628T-C T C
+22 43442599 22:43442599T-C T C
+22 43443952 22:43443952C-G C G
+22 43444586 22:43444586G-A G A
+22 43445572 22:43445572C-T C T
+22 43446354 22:43446354G-A G A
+22 43446888 22:43446888C-T C T
+22 43447266 22:43447266A-G A G
+22 43447891 22:43447891C-T C T
+22 43447983 22:43447983G-A G A
+22 43449508 22:43449508T-C T C
+22 43450350 22:43450350T-C T C
+22 43451186 22:43451186C-T C T
+22 43452030 22:43452030C-T C T
+22 43452960 22:43452960G-A G A
+22 43453003 22:43453003C-T C T
+22 43453412 22:43453412G-A G A
+22 43453650 22:43453650T-A T A
+22 43454172 22:43454172G-A G A
+22 43454455 22:43454455A-G A G
+22 43454707 22:43454707T-G T G
+22 43454753 22:43454753T-C T C
+22 43455246 22:43455246C-T C T
+22 43455432 22:43455432G-A G A
+22 43455531 22:43455531C-T C T
+22 43455592 22:43455592G-A G A
+22 43455665 22:43455665A-G A G
+22 43455992 22:43455992G-A G A
+22 43456450 22:43456450C-T C T
+22 43456683 22:43456683C-G C G
+22 43457169 22:43457169G-C G C
+22 43457453 22:43457453C-T C T
+22 43458018 22:43458018T-G T G
+22 43458448 22:43458448G-C G C
+22 43458806 22:43458806C-T C T
+22 43458852 22:43458852G-A G A
+22 43459026 22:43459026C-T C T
+22 43459123 22:43459123A-G A G
+22 43459241 22:43459241G-A G A
+22 43459540 22:43459540C-T C T
+22 43459813 22:43459813A-G A G
+22 43459846 22:43459846G-A G A
+22 43459864 22:43459864G-A G A
+22 43460459 22:43460459C-T C T
+22 43461015 22:43461015G-A G A
+22 43461138 22:43461138A-G A G
+22 43461275 22:43461275T-C T C
+22 43461356 22:43461356C-T C T
+22 43461542 22:43461542T-C T C
+22 43461694 22:43461694C-T C T
+22 43461778 22:43461778A-G A G
+22 43461968 22:43461968C-T C T
+22 43461971 22:43461971C-T C T
+22 43462033 22:43462033C-T C T
+22 43462041 22:43462041T-C T C
+22 43462122 22:43462122A-G A G
+22 43462320 22:43462320G-A G A
+22 43462388 22:43462388G-A G A
+22 43462451 22:43462451C-T C T
+22 43462539 22:43462539G-A G A
+22 43463110 22:43463110C-A C A
+22 43463186 22:43463186G-A G A
+22 43463333 22:43463333T-C T C
+22 43463674 22:43463674A-G A G
+22 43464238 22:43464238G-A G A
+22 43464355 22:43464355G-A G A
+22 43465529 22:43465529C-T C T
+22 43465814 22:43465814A-G A G
+22 43466217 22:43466217A-G A G
+22 43466247 22:43466247G-C G C
+22 43466405 22:43466405G-A G A
+22 43466916 22:43466916T-C T C
+22 43466931 22:43466931A-G A G
+22 43466967 22:43466967G-A G A
+22 43467434 22:43467434G-C G C
+22 43467940 22:43467940G-A G A
+22 43468376 22:43468376A-G A G
+22 43468411 22:43468411C-T C T
+22 43468665 22:43468665G-T G T
+22 43468995 22:43468995C-T C T
+22 43469083 22:43469083C-G C G
+22 43469957 22:43469957T-A T A
+22 43470175 22:43470175G-A G A
+22 43470919 22:43470919G-C G C
+22 43471386 22:43471386G-C G C
+22 43471948 22:43471948C-T C T
+22 43472319 22:43472319G-A G A
+22 43472446 22:43472446A-G A G
+22 43472496 22:43472496G-A G A
+22 43472514 22:43472514T-C T C
+22 43473061 22:43473061C-A C A
+22 43473405 22:43473405G-A G A
+22 43473434 22:43473434T-C T C
+22 43473662 22:43473662C-T C T
+22 43474125 22:43474125A-C A C
+22 43474307 22:43474307C-G C G
+22 43474346 22:43474346A-G A G
+22 43474522 22:43474522C-A C A
+22 43475471 22:43475471A-G A G
+22 43475563 22:43475563G-A G A
+22 43476299 22:43476299T-G T G
+22 43476432 22:43476432G-T G T
+22 43477077 22:43477077A-G A G
+22 43477204 22:43477204G-T G T
+22 43477594 22:43477594C-T C T
+22 43478448 22:43478448G-A G A
+22 43479422 22:43479422T-G T G
+22 43479505 22:43479505G-A G A
+22 43480266 22:43480266C-G C G
+22 43480513 22:43480513C-T C T
+22 43480538 22:43480538T-C T C
+22 43480787 22:43480787A-G A G
+22 43480926 22:43480926G-A G A
+22 43481495 22:43481495C-T C T
+22 43481648 22:43481648C-T C T
+22 43482620 22:43482620G-C G C
+22 43483242 22:43483242C-T C T
+22 43483321 22:43483321G-A G A
+22 43483493 22:43483493G-A G A
+22 43483798 22:43483798C-T C T
+22 43485385 22:43485385T-G T G
+22 43486105 22:43486105G-C G C
+22 43486703 22:43486703A-C A C
+22 43487047 22:43487047G-A G A
+22 43487260 22:43487260G-A G A
+22 43487965 22:43487965T-C T C
+22 43488748 22:43488748T-G T G
+22 43489497 22:43489497A-G A G
+22 43489629 22:43489629A-G A G
+22 43490634 22:43490634G-A G A
+22 43490875 22:43490875G-A G A
+22 43491269 22:43491269C-A C A
+22 43492639 22:43492639C-A C A
+22 43492962 22:43492962C-T C T
+22 43493350 22:43493350A-G A G
+22 43493430 22:43493430T-C T C
+22 43493649 22:43493649G-A G A
+22 43493729 22:43493729G-A G A
+22 43493956 22:43493956G-C G C
+22 43494004 22:43494004A-T A T
+22 43494072 22:43494072C-T C T
+22 43494731 22:43494731G-A G A
+22 43495739 22:43495739G-A G A
+22 43495989 22:43495989C-T C T
+22 43496495 22:43496495G-A G A
+22 43496923 22:43496923G-A G A
+22 43497898 22:43497898A-G A G
+22 43498114 22:43498114G-A G A
+22 43498161 22:43498161T-C T C
+22 43498282 22:43498282C-T C T
+22 43498356 22:43498356C-T C T
+22 43498412 22:43498412C-T C T
+22 43498587 22:43498587G-A G A
+22 43498826 22:43498826T-A T A
+22 43498894 22:43498894T-C T C
+22 43499144 22:43499144G-A G A
+22 43499263 22:43499263T-A T A
+22 43499310 22:43499310G-A G A
+22 43499451 22:43499451C-T C T
+22 43499703 22:43499703T-C T C
+22 43499741 22:43499741G-A G A
+22 43499899 22:43499899C-T C T
+22 43499972 22:43499972G-T G T
+22 43500003 22:43500003A-G A G
+22 43500212 22:43500212G-T G T
+22 43500435 22:43500435A-G A G
+22 43501620 22:43501620T-C T C
+22 43501819 22:43501819G-T G T
+22 43501932 22:43501932G-A G A
+22 43502152 22:43502152T-C T C
+22 43502707 22:43502707T-C T C
+22 43502927 22:43502927C-T C T
+22 43503212 22:43503212A-C A C
+22 43503547 22:43503547T-C T C
+22 43503973 22:43503973G-A G A
+22 43504556 22:43504556C-T C T
+22 43504588 22:43504588T-C T C
+22 43505071 22:43505071C-T C T
+22 43505157 22:43505157G-A G A
+22 43505444 22:43505444C-A C A
+22 43505695 22:43505695A-G A G
+22 43506265 22:43506265T-A T A
+22 43506635 22:43506635C-T C T
+22 43506753 22:43506753C-A C A
+22 43508222 22:43508222G-T G T
+22 43509617 22:43509617C-A C A
+22 43509632 22:43509632T-C T C
+22 43509668 22:43509668A-G A G
+22 43509846 22:43509846G-C G C
+22 43510219 22:43510219A-G A G
+22 43511641 22:43511641G-A G A
+22 43511817 22:43511817C-T C T
+22 43511825 22:43511825C-T C T
+22 43511868 22:43511868T-G T G
+22 43512589 22:43512589C-T C T
+22 43512717 22:43512717C-A C A
+22 43513156 22:43513156T-C T C
+22 43514861 22:43514861C-G C G
+22 43514886 22:43514886C-T C T
+22 43515108 22:43515108T-C T C
+22 43515339 22:43515339T-G T G
+22 43515703 22:43515703C-T C T
+22 43515754 22:43515754G-A G A
+22 43515889 22:43515889T-C T C
+22 43516022 22:43516022C-T C T
+22 43516133 22:43516133C-A C A
+22 43516250 22:43516250A-G A G
+22 43516474 22:43516474G-A G A
+22 43516726 22:43516726G-A G A
+22 43517905 22:43517905T-G T G
+22 43517986 22:43517986C-G C G
+22 43518108 22:43518108G-C G C
+22 43518275 22:43518275A-G A G
+22 43518324 22:43518324A-C A C
+22 43518822 22:43518822A-G A G
+22 43519082 22:43519082A-G A G
+22 43520258 22:43520258A-C A C
+22 43520263 22:43520263A-G A G
+22 43520427 22:43520427T-C T C
+22 43521950 22:43521950A-G A G
+22 43522427 22:43522427G-A G A
+22 43523188 22:43523188T-C T C
+22 43523955 22:43523955G-A G A
+22 43523991 22:43523991C-A C A
+22 43524000 22:43524000A-T A T
+22 43525176 22:43525176C-T C T
+22 43526496 22:43526496C-T C T
+22 43526704 22:43526704C-T C T
+22 43526746 22:43526746G-A G A
+22 43527681 22:43527681C-T C T
+22 43528240 22:43528240G-A G A
+22 43528251 22:43528251G-T G T
+22 43528793 22:43528793T-C T C
+22 43529029 22:43529029C-T C T
+22 43529314 22:43529314G-C G C
+22 43529517 22:43529517C-T C T
+22 43530510 22:43530510C-T C T
+22 43530631 22:43530631T-A T A
+22 43530700 22:43530700G-C G C
+22 43530982 22:43530982A-G A G
+22 43532104 22:43532104G-C G C
+22 43532156 22:43532156A-G A G
+22 43533360 22:43533360G-T G T
+22 43533427 22:43533427C-G C G
+22 43533515 22:43533515A-C A C
+22 43533756 22:43533756T-A T A
+22 43534794 22:43534794T-C T C
+22 43536193 22:43536193T-C T C
+22 43539651 22:43539651G-A G A
+22 43540174 22:43540174C-T C T
+22 43541173 22:43541173T-C T C
+22 43542300 22:43542300T-C T C
+22 43542367 22:43542367A-T A T
+22 43543181 22:43543181A-G A G
+22 43543954 22:43543954G-C G C
+22 43544282 22:43544282T-C T C
+22 43544823 22:43544823C-T C T
+22 43546013 22:43546013A-G A G
+22 43548155 22:43548155T-G T G
+22 43548619 22:43548619G-C G C
+22 43549260 22:43549260G-A G A
+22 43549739 22:43549739T-A T A
+22 43550055 22:43550055T-C T C
+22 43550149 22:43550149T-C T C
+22 43551007 22:43551007C-T C T
+22 43551052 22:43551052C-T C T
+22 43551408 22:43551408G-A G A
+22 43551513 22:43551513A-G A G
+22 43551836 22:43551836T-C T C
+22 43553417 22:43553417T-G T G
+22 43553460 22:43553460G-C G C
+22 43553830 22:43553830A-G A G
+22 43555026 22:43555026A-G A G
+22 43555194 22:43555194C-G C G
+22 43555590 22:43555590A-C A C
+22 43555921 22:43555921G-A G A
+22 43556316 22:43556316G-A G A
+22 43556922 22:43556922C-G C G
+22 43557492 22:43557492G-A G A
+22 43557516 22:43557516C-T C T
+22 43557563 22:43557563G-A G A
+22 43557748 22:43557748T-G T G
+22 43557859 22:43557859G-A G A
+22 43558926 22:43558926A-G A G
+22 43558972 22:43558972G-A G A
+22 43559137 22:43559137G-T G T
+22 43559451 22:43559451G-A G A
+22 43559737 22:43559737G-A G A
+22 43560112 22:43560112G-T G T
+22 43560430 22:43560430C-A C A
+22 43560763 22:43560763C-T C T
+22 43560962 22:43560962C-T C T
+22 43560966 22:43560966T-C T C
+22 43561385 22:43561385A-G A G
+22 43561675 22:43561675T-G T G
+22 43561759 22:43561759T-C T C
+22 43561803 22:43561803A-G A G
+22 43561982 22:43561982C-T C T
+22 43562195 22:43562195G-A G A
+22 43562247 22:43562247T-C T C
+22 43562306 22:43562306A-G A G
+22 43562381 22:43562381T-C T C
+22 43562382 22:43562382G-A G A
+22 43562407 22:43562407T-C T C
+22 43562434 22:43562434G-A G A
+22 43562439 22:43562439G-A G A
+22 43562705 22:43562705G-A G A
+22 43562829 22:43562829G-T G T
+22 43563711 22:43563711A-G A G
+22 43564963 22:43564963C-G C G
+22 43564978 22:43564978C-T C T
+22 43565443 22:43565443C-T C T
+22 43565703 22:43565703C-T C T
+22 43565855 22:43565855C-T C T
+22 43566924 22:43566924A-C A C
+22 43567279 22:43567279C-A C A
+22 43567459 22:43567459C-T C T
+22 43567545 22:43567545T-A T A
+22 43568060 22:43568060C-G C G
+22 43568512 22:43568512C-T C T
+22 43569302 22:43569302C-T C T
+22 43569608 22:43569608C-A C A
+22 43570068 22:43570068G-A G A
+22 43570463 22:43570463A-G A G
+22 43570659 22:43570659A-C A C
+22 43570794 22:43570794A-G A G
+22 43570919 22:43570919A-G A G
+22 43572180 22:43572180G-T G T
+22 43572354 22:43572354C-T C T
+22 43572420 22:43572420G-A G A
+22 43572517 22:43572517C-T C T
+22 43572540 22:43572540A-G A G
+22 43572593 22:43572593A-G A G
+22 43572650 22:43572650C-T C T
+22 43573946 22:43573946T-C T C
+22 43574289 22:43574289G-A G A
+22 43574391 22:43574391G-A G A
+22 43574517 22:43574517C-T C T
+22 43574788 22:43574788C-T C T
+22 43574932 22:43574932A-G A G
+22 43575075 22:43575075G-A G A
+22 43575129 22:43575129C-T C T
+22 43575325 22:43575325C-T C T
+22 43575616 22:43575616G-A G A
+22 43575774 22:43575774A-C A C
+22 43576256 22:43576256T-G T G
+22 43576273 22:43576273G-T G T
+22 43576398 22:43576398A-G A G
+22 43576467 22:43576467T-C T C
+22 43576474 22:43576474G-A G A
+22 43576670 22:43576670C-T C T
+22 43576880 22:43576880C-A C A
+22 43576904 22:43576904G-A G A
+22 43577048 22:43577048C-A C A
+22 43577214 22:43577214C-T C T
+22 43577257 22:43577257C-T C T
+22 43577448 22:43577448A-G A G
+22 43577473 22:43577473C-T C T
+22 43577536 22:43577536C-G C G
+22 43577624 22:43577624C-T C T
+22 43577652 22:43577652C-T C T
+22 43577657 22:43577657G-A G A
+22 43577834 22:43577834G-C G C
+22 43577835 22:43577835G-A G A
+22 43577949 22:43577949G-A G A
+22 43578045 22:43578045G-A G A
+22 43578165 22:43578165A-G A G
+22 43578306 22:43578306G-C G C
+22 43578534 22:43578534T-C T C
+22 43578786 22:43578786G-A G A
+22 43579049 22:43579049T-C T C
+22 43579083 22:43579083G-A G A
+22 43579322 22:43579322G-A G A
+22 43579606 22:43579606C-T C T
+22 43579708 22:43579708T-C T C
+22 43579832 22:43579832C-T C T
+22 43579833 22:43579833G-A G A
+22 43580065 22:43580065C-T C T
+22 43580177 22:43580177C-T C T
+22 43580960 22:43580960C-G C G
+22 43582322 22:43582322A-C A C
+22 43582539 22:43582539G-A G A
+22 43583604 22:43583604A-G A G
+22 43583825 22:43583825A-C A C
+22 43583898 22:43583898G-C G C
+22 43584229 22:43584229T-G T G
+22 43584281 22:43584281T-G T G
+22 43584631 22:43584631A-G A G
+22 43585305 22:43585305T-C T C
+22 43585601 22:43585601T-C T C
+22 43585848 22:43585848C-T C T
+22 43585924 22:43585924T-C T C
+22 43586379 22:43586379T-C T C
+22 43586908 22:43586908C-T C T
+22 43587174 22:43587174C-T C T
+22 43587490 22:43587490A-C A C
+22 43587956 22:43587956T-C T C
+22 43588202 22:43588202C-G C G
+22 43588283 22:43588283A-T A T
+22 43588293 22:43588293C-A C A
+22 43588404 22:43588404T-A T A
+22 43588810 22:43588810C-T C T
+22 43589246 22:43589246T-C T C
+22 43589363 22:43589363A-C A C
+22 43592374 22:43592374G-C G C
+22 43592708 22:43592708C-G C G
+22 43592711 22:43592711A-G A G
+22 43592805 22:43592805G-A G A
+22 43593132 22:43593132C-G C G
+22 43594138 22:43594138T-C T C
+22 43594227 22:43594227A-G A G
+22 43595630 22:43595630G-A G A
+22 43595631 22:43595631G-T G T
+22 43595703 22:43595703G-A G A
+22 43596015 22:43596015G-A G A
+22 43596052 22:43596052C-A C A
+22 43596125 22:43596125T-G T G
+22 43596245 22:43596245C-T C T
+22 43597066 22:43597066T-C T C
+22 43597075 22:43597075C-A C A
+22 43597554 22:43597554G-A G A
+22 43597815 22:43597815G-A G A
+22 43598381 22:43598381G-A G A
+22 43598748 22:43598748G-A G A
+22 43599917 22:43599917T-C T C
+22 43599991 22:43599991C-T C T
+22 43600281 22:43600281T-G T G
+22 43600466 22:43600466G-A G A
+22 43600488 22:43600488A-G A G
+22 43602685 22:43602685T-C T C
+22 43602760 22:43602760T-C T C
+22 43603002 22:43603002C-T C T
+22 43604773 22:43604773G-A G A
+22 43604923 22:43604923G-C G C
+22 43605024 22:43605024A-G A G
+22 43605654 22:43605654C-T C T
+22 43605770 22:43605770G-A G A
+22 43606143 22:43606143C-T C T
+22 43606668 22:43606668T-C T C
+22 43607040 22:43607040G-A G A
+22 43608673 22:43608673C-T C T
+22 43609131 22:43609131C-G C G
+22 43609748 22:43609748A-G A G
+22 43609760 22:43609760G-A G A
+22 43609910 22:43609910C-T C T
+22 43609959 22:43609959C-G C G
+22 43610106 22:43610106C-T C T
+22 43610207 22:43610207A-G A G
+22 43610753 22:43610753C-T C T
+22 43610808 22:43610808C-T C T
+22 43610930 22:43610930A-G A G
+22 43611321 22:43611321C-A C A
+22 43611375 22:43611375C-T C T
+22 43611423 22:43611423G-A G A
+22 43611541 22:43611541C-T C T
+22 43612351 22:43612351C-T C T
+22 43612387 22:43612387G-A G A
+22 43612426 22:43612426C-T C T
+22 43612516 22:43612516G-A G A
+22 43612554 22:43612554G-A G A
+22 43612662 22:43612662T-C T C
+22 43612794 22:43612794T-C T C
+22 43613334 22:43613334G-C G C
+22 43613433 22:43613433T-C T C
+22 43613453 22:43613453G-C G C
+22 43613551 22:43613551A-G A G
+22 43613588 22:43613588C-T C T
+22 43613766 22:43613766G-C G C
+22 43613773 22:43613773C-A C A
+22 43613871 22:43613871C-T C T
+22 43614099 22:43614099T-C T C
+22 43614223 22:43614223C-G C G
+22 43614316 22:43614316C-G C G
+22 43614588 22:43614588A-G A G
+22 43614601 22:43614601C-T C T
+22 43614643 22:43614643C-T C T
+22 43614658 22:43614658G-T G T
+22 43615005 22:43615005T-C T C
+22 43615237 22:43615237G-C G C
+22 43615241 22:43615241C-T C T
+22 43615292 22:43615292C-T C T
+22 43615868 22:43615868C-T C T
+22 43615899 22:43615899C-T C T
+22 43617039 22:43617039A-C A C
+22 43618192 22:43618192G-A G A
+22 43618619 22:43618619A-G A G
+22 43619062 22:43619062C-G C G
+22 43619200 22:43619200G-A G A
+22 43619404 22:43619404C-G C G
+22 43619631 22:43619631A-G A G
+22 43619645 22:43619645T-C T C
+22 43620619 22:43620619G-A G A
+22 43620657 22:43620657G-A G A
+22 43621190 22:43621190G-A G A
+22 43621533 22:43621533G-A G A
+22 43621598 22:43621598T-C T C
+22 43622232 22:43622232C-G C G
+22 43622234 22:43622234G-A G A
+22 43622244 22:43622244C-A C A
+22 43622616 22:43622616C-G C G
+22 43623353 22:43623353G-A G A
+22 43623395 22:43623395C-G C G
+22 43623612 22:43623612G-A G A
+22 43623759 22:43623759G-C G C
+22 43623770 22:43623770G-C G C
+22 43623972 22:43623972A-G A G
+22 43624022 22:43624022T-C T C
+22 43624305 22:43624305T-C T C
+22 43624641 22:43624641C-T C T
+22 43624765 22:43624765T-C T C
+22 43625225 22:43625225G-T G T
+22 43625758 22:43625758A-G A G
+22 43626035 22:43626035A-G A G
+22 43626911 22:43626911C-T C T
+22 43627155 22:43627155G-A G A
+22 43627646 22:43627646G-A G A
+22 43627728 22:43627728G-A G A
+22 43628083 22:43628083A-G A G
+22 43628550 22:43628550C-T C T
+22 43628567 22:43628567C-A C A
+22 43628777 22:43628777C-T C T
+22 43629053 22:43629053T-C T C
+22 43629089 22:43629089G-C G C
+22 43629188 22:43629188C-T C T
+22 43629383 22:43629383A-G A G
+22 43629518 22:43629518C-A C A
+22 43629520 22:43629520G-A G A
+22 43630917 22:43630917G-C G C
+22 43631079 22:43631079A-G A G
+22 43631352 22:43631352T-C T C
+22 43631378 22:43631378T-C T C
+22 43631666 22:43631666A-G A G
+22 43631806 22:43631806C-T C T
+22 43632100 22:43632100G-A G A
+22 43632525 22:43632525G-C G C
+22 43632591 22:43632591T-C T C
+22 43632864 22:43632864G-A G A
+22 43632938 22:43632938G-A G A
+22 43633400 22:43633400C-G C G
+22 43633461 22:43633461A-G A G
+22 43633512 22:43633512G-A G A
+22 43633977 22:43633977C-A C A
+22 43635207 22:43635207C-T C T
+22 43635318 22:43635318A-G A G
+22 43635549 22:43635549G-A G A
+22 43635590 22:43635590G-C G C
+22 43636180 22:43636180C-T C T
+22 43636985 22:43636985A-C A C
+22 43637020 22:43637020G-A G A
+22 43637078 22:43637078C-T C T
+22 43637177 22:43637177G-C G C
+22 43637285 22:43637285A-C A C
+22 43637869 22:43637869C-T C T
+22 43638227 22:43638227G-C G C
+22 43638252 22:43638252C-T C T
+22 43638735 22:43638735G-A G A
+22 43639138 22:43639138A-G A G
+22 43639425 22:43639425C-G C G
+22 43639919 22:43639919A-G A G
+22 43639989 22:43639989A-C A C
+22 43640215 22:43640215C-T C T
+22 43640512 22:43640512T-C T C
+22 43640728 22:43640728A-G A G
+22 43641083 22:43641083C-G C G
+22 43641108 22:43641108A-G A G
+22 43641287 22:43641287G-C G C
+22 43641333 22:43641333G-A G A
+22 43641425 22:43641425C-T C T
+22 43641458 22:43641458G-C G C
+22 43641556 22:43641556C-A C A
+22 43641581 22:43641581C-G C G
+22 43641737 22:43641737G-A G A
+22 43642090 22:43642090G-A G A
+22 43642122 22:43642122C-G C G
+22 43642153 22:43642153T-C T C
+22 43642425 22:43642425C-T C T
+22 43642428 22:43642428A-C A C
+22 43642909 22:43642909T-G T G
+22 43643254 22:43643254C-T C T
+22 43643287 22:43643287C-A C A
+22 43643488 22:43643488C-G C G
+22 43643778 22:43643778G-A G A
+22 43644125 22:43644125T-C T C
+22 43644557 22:43644557G-C G C
+22 43644977 22:43644977G-C G C
+22 43645094 22:43645094T-C T C
+22 43645133 22:43645133A-G A G
+22 43645280 22:43645280A-G A G
+22 43645335 22:43645335C-G C G
+22 43646241 22:43646241C-T C T
+22 43646534 22:43646534A-G A G
+22 43646613 22:43646613G-A G A
+22 43646704 22:43646704G-A G A
+22 43646709 22:43646709A-C A C
+22 43646863 22:43646863T-A T A
+22 43646901 22:43646901C-T C T
+22 43647416 22:43647416A-G A G
+22 43647870 22:43647870A-G A G
+22 43647954 22:43647954A-G A G
+22 43648208 22:43648208G-C G C
+22 43648664 22:43648664C-T C T
+22 43649701 22:43649701T-C T C
+22 43650729 22:43650729C-T C T
+22 43651421 22:43651421G-A G A
+22 43652487 22:43652487A-C A C
+22 43653625 22:43653625A-G A G
+22 43654063 22:43654063G-T G T
+22 43654466 22:43654466G-A G A
+22 43654477 22:43654477C-T C T
+22 43654951 22:43654951T-C T C
+22 43655427 22:43655427A-G A G
+22 43655526 22:43655526A-G A G
+22 43656322 22:43656322A-G A G
+22 43656940 22:43656940G-C G C
+22 43657040 22:43657040G-A G A
+22 43657778 22:43657778T-A T A
+22 43658461 22:43658461A-G A G
+22 43659191 22:43659191T-A T A
+22 43660607 22:43660607T-C T C
+22 43660940 22:43660940C-A C A
+22 43661080 22:43661080C-T C T
+22 43661843 22:43661843C-T C T
+22 43662101 22:43662101C-T C T
+22 43662417 22:43662417T-A T A
+22 43662418 22:43662418C-A C A
+22 43662468 22:43662468T-C T C
+22 43662706 22:43662706T-C T C
+22 43662788 22:43662788C-T C T
+22 43663734 22:43663734C-T C T
+22 43664344 22:43664344C-T C T
+22 43664665 22:43664665C-T C T
+22 43664937 22:43664937A-G A G
+22 43666748 22:43666748T-C T C
+22 43667423 22:43667423G-A G A
+22 43667553 22:43667553T-C T C
+22 43667693 22:43667693A-C A C
+22 43668044 22:43668044T-A T A
+22 43668169 22:43668169A-G A G
+22 43668351 22:43668351T-C T C
+22 43668600 22:43668600A-G A G
+22 43669012 22:43669012A-G A G
+22 43669785 22:43669785T-C T C
+22 43669799 22:43669799G-A G A
+22 43669873 22:43669873G-C G C
+22 43670094 22:43670094G-A G A
+22 43670386 22:43670386G-A G A
+22 43670516 22:43670516A-G A G
+22 43670532 22:43670532C-T C T
+22 43670873 22:43670873C-A C A
+22 43671383 22:43671383G-T G T
+22 43672629 22:43672629C-T C T
+22 43672689 22:43672689C-A C A
+22 43673471 22:43673471A-C A C
+22 43673800 22:43673800T-C T C
+22 43674249 22:43674249T-C T C
+22 43674945 22:43674945C-T C T
+22 43676233 22:43676233C-T C T
+22 43677655 22:43677655C-T C T
+22 43678024 22:43678024C-T C T
+22 43678794 22:43678794C-T C T
+22 43678982 22:43678982G-A G A
+22 43678988 22:43678988C-T C T
+22 43679081 22:43679081G-C G C
+22 43679953 22:43679953A-T A T
+22 43680239 22:43680239T-C T C
+22 43680767 22:43680767A-G A G
+22 43680929 22:43680929A-T A T
+22 43680987 22:43680987C-T C T
+22 43681256 22:43681256C-G C G
+22 43681388 22:43681388T-C T C
+22 43682270 22:43682270C-G C G
+22 43682699 22:43682699T-C T C
+22 43683017 22:43683017C-T C T
+22 43683088 22:43683088G-A G A
+22 43683796 22:43683796G-C G C
+22 43684002 22:43684002A-G A G
+22 43684519 22:43684519T-A T A
+22 43684625 22:43684625T-C T C
+22 43684833 22:43684833T-C T C
+22 43685067 22:43685067C-T C T
+22 43685159 22:43685159G-C G C
+22 43685208 22:43685208G-A G A
+22 43685314 22:43685314C-T C T
+22 43685657 22:43685657G-A G A
+22 43685696 22:43685696T-C T C
+22 43686154 22:43686154C-A C A
+22 43686402 22:43686402G-C G C
+22 43687511 22:43687511T-G T G
+22 43687586 22:43687586A-G A G
+22 43687678 22:43687678A-G A G
+22 43688666 22:43688666A-G A G
+22 43689542 22:43689542G-A G A
+22 43689613 22:43689613C-T C T
+22 43689984 22:43689984C-T C T
+22 43691982 22:43691982A-G A G
+22 43692672 22:43692672G-C G C
+22 43693281 22:43693281A-G A G
+22 43693733 22:43693733T-C T C
+22 43693988 22:43693988T-C T C
+22 43695563 22:43695563T-G T G
+22 43698061 22:43698061T-C T C
+22 43698129 22:43698129T-C T C
+22 43698513 22:43698513C-T C T
+22 43699006 22:43699006C-G C G
+22 43699774 22:43699774T-G T G
+22 43700006 22:43700006T-C T C
+22 43700768 22:43700768C-T C T
+22 43700923 22:43700923A-G A G
+22 43701474 22:43701474C-A C A
+22 43701516 22:43701516C-G C G
+22 43701862 22:43701862C-T C T
+22 43703729 22:43703729G-A G A
+22 43703991 22:43703991A-G A G
+22 43704052 22:43704052A-C A C
+22 43704285 22:43704285C-G C G
+22 43704364 22:43704364C-T C T
+22 43705678 22:43705678G-A G A
+22 43705929 22:43705929C-T C T
+22 43706773 22:43706773C-T C T
+22 43706993 22:43706993T-C T C
+22 43707996 22:43707996G-A G A
+22 43708904 22:43708904C-T C T
+22 43708922 22:43708922G-A G A
+22 43710350 22:43710350C-G C G
+22 43711080 22:43711080G-C G C
+22 43711182 22:43711182T-C T C
+22 43712536 22:43712536C-T C T
+22 43712785 22:43712785T-C T C
+22 43713253 22:43713253G-C G C
+22 43713668 22:43713668G-A G A
+22 43714255 22:43714255C-T C T
+22 43714319 22:43714319G-C G C
+22 43714716 22:43714716A-G A G
+22 43715288 22:43715288G-A G A
+22 43715848 22:43715848G-A G A
+22 43715862 22:43715862T-C T C
+22 43716324 22:43716324T-C T C
+22 43716971 22:43716971C-T C T
+22 43717064 22:43717064A-C A C
+22 43717197 22:43717197T-C T C
+22 43718554 22:43718554G-T G T
+22 43719439 22:43719439T-C T C
+22 43720447 22:43720447G-C G C
+22 43720597 22:43720597C-T C T
+22 43721118 22:43721118T-C T C
+22 43721289 22:43721289A-G A G
+22 43721296 22:43721296G-A G A
+22 43721519 22:43721519A-C A C
+22 43722625 22:43722625A-G A G
+22 43723443 22:43723443C-G C G
+22 43723808 22:43723808A-C A C
+22 43724633 22:43724633A-G A G
+22 43724686 22:43724686A-T A T
+22 43725421 22:43725421T-C T C
+22 43725492 22:43725492G-A G A
+22 43726509 22:43726509T-G T G
+22 43726959 22:43726959G-C G C
+22 43727154 22:43727154C-T C T
+22 43727881 22:43727881A-C A C
+22 43728159 22:43728159T-C T C
+22 43728560 22:43728560T-C T C
+22 43729206 22:43729206G-T G T
+22 43729401 22:43729401T-C T C
+22 43730300 22:43730300T-C T C
+22 43731002 22:43731002A-G A G
+22 43731557 22:43731557C-T C T
+22 43731674 22:43731674A-G A G
+22 43732424 22:43732424C-T C T
+22 43733752 22:43733752T-A T A
+22 43734266 22:43734266T-C T C
+22 43736392 22:43736392T-C T C
+22 43737132 22:43737132C-T C T
+22 43737235 22:43737235A-G A G
+22 43737500 22:43737500G-A G A
+22 43737881 22:43737881A-C A C
+22 43738358 22:43738358G-C G C
+22 43738683 22:43738683C-T C T
+22 43739395 22:43739395A-G A G
+22 43739565 22:43739565T-G T G
+22 43740066 22:43740066C-T C T
+22 43740244 22:43740244T-C T C
+22 43740418 22:43740418A-G A G
+22 43740770 22:43740770T-C T C
+22 43741238 22:43741238T-C T C
+22 43743449 22:43743449T-G T G
+22 43743900 22:43743900C-G C G
+22 43744499 22:43744499A-G A G
+22 43744502 22:43744502A-G A G
+22 43745031 22:43745031T-A T A
+22 43745090 22:43745090C-T C T
+22 43745129 22:43745129G-C G C
+22 43745197 22:43745197C-A C A
+22 43745368 22:43745368A-C A C
+22 43745580 22:43745580G-C G C
+22 43745603 22:43745603T-C T C
+22 43745758 22:43745758T-C T C
+22 43745929 22:43745929T-A T A
+22 43746132 22:43746132T-G T G
+22 43746855 22:43746855C-T C T
+22 43747271 22:43747271C-T C T
+22 43747278 22:43747278T-C T C
+22 43747657 22:43747657C-T C T
+22 43747675 22:43747675G-A G A
+22 43747709 22:43747709C-T C T
+22 43747952 22:43747952T-C T C
+22 43748081 22:43748081G-T G T
+22 43748520 22:43748520G-C G C
+22 43748893 22:43748893C-G C G
+22 43749011 22:43749011T-C T C
+22 43750704 22:43750704G-A G A
+22 43750723 22:43750723C-T C T
+22 43752423 22:43752423G-T G T
+22 43752780 22:43752780T-C T C
+22 43753036 22:43753036G-T G T
+22 43754099 22:43754099A-G A G
+22 43754290 22:43754290G-C G C
+22 43754723 22:43754723T-C T C
+22 43755144 22:43755144T-C T C
+22 43755249 22:43755249A-G A G
+22 43755316 22:43755316G-A G A
+22 43755354 22:43755354T-C T C
+22 43755470 22:43755470G-C G C
+22 43755634 22:43755634G-C G C
+22 43755827 22:43755827A-G A G
+22 43756369 22:43756369T-G T G
+22 43756864 22:43756864A-G A G
+22 43757175 22:43757175T-C T C
+22 43757691 22:43757691C-T C T
+22 43758779 22:43758779T-C T C
+22 43760187 22:43760187T-C T C
+22 43761868 22:43761868A-G A G
+22 43762210 22:43762210T-G T G
+22 43762255 22:43762255C-T C T
+22 43762357 22:43762357T-C T C
+22 43762737 22:43762737T-G T G
+22 43763410 22:43763410T-C T C
+22 43763757 22:43763757G-T G T
+22 43765159 22:43765159T-C T C
+22 43765164 22:43765164A-T A T
+22 43765399 22:43765399T-C T C
+22 43765405 22:43765405C-T C T
+22 43765701 22:43765701A-G A G
+22 43767079 22:43767079A-G A G
+22 43767312 22:43767312C-T C T
+22 43767403 22:43767403A-G A G
+22 43767996 22:43767996T-C T C
+22 43768311 22:43768311G-A G A
+22 43768812 22:43768812G-C G C
+22 43769443 22:43769443C-T C T
+22 43769511 22:43769511A-G A G
+22 43769529 22:43769529A-G A G
+22 43769570 22:43769570T-C T C
+22 43769871 22:43769871A-G A G
+22 43770023 22:43770023C-T C T
+22 43771034 22:43771034C-G C G
+22 43772658 22:43772658C-T C T
+22 43773877 22:43773877A-T A T
+22 43774413 22:43774413C-T C T
+22 43775134 22:43775134T-C T C
+22 43775912 22:43775912G-A G A
+22 43776061 22:43776061T-C T C
+22 43776080 22:43776080A-G A G
+22 43776852 22:43776852A-G A G
+22 43776929 22:43776929G-A G A
+22 43776989 22:43776989G-A G A
+22 43777409 22:43777409C-T C T
+22 43778207 22:43778207G-C G C
+22 43778431 22:43778431G-A G A
+22 43779520 22:43779520G-A G A
+22 43779867 22:43779867G-T G T
+22 43780226 22:43780226C-T C T
+22 43780392 22:43780392C-G C G
+22 43780456 22:43780456A-G A G
+22 43780756 22:43780756C-T C T
+22 43781001 22:43781001C-T C T
+22 43781027 22:43781027C-T C T
+22 43781127 22:43781127A-G A G
+22 43781128 22:43781128T-G T G
+22 43781850 22:43781850C-A C A
+22 43781856 22:43781856C-G C G
+22 43782251 22:43782251C-G C G
+22 43782937 22:43782937G-A G A
+22 43783190 22:43783190T-C T C
+22 43783371 22:43783371G-A G A
+22 43783676 22:43783676T-C T C
+22 43783726 22:43783726C-G C G
+22 43783951 22:43783951T-C T C
+22 43784094 22:43784094T-A T A
+22 43784381 22:43784381T-C T C
+22 43784506 22:43784506G-C G C
+22 43785035 22:43785035G-A G A
+22 43785168 22:43785168T-C T C
+22 43785447 22:43785447G-A G A
+22 43786019 22:43786019T-C T C
+22 43786094 22:43786094G-T G T
+22 43786553 22:43786553T-A T A
+22 43786684 22:43786684G-A G A
+22 43787230 22:43787230C-T C T
+22 43787289 22:43787289C-T C T
+22 43788830 22:43788830C-G C G
+22 43789037 22:43789037C-T C T
+22 43789217 22:43789217A-C A C
+22 43789269 22:43789269C-G C G
+22 43789279 22:43789279G-A G A
+22 43789634 22:43789634G-T G T
+22 43789697 22:43789697C-A C A
+22 43791527 22:43791527G-A G A
+22 43792086 22:43792086A-C A C
+22 43792252 22:43792252C-G C G
+22 43792394 22:43792394G-C G C
+22 43793388 22:43793388C-G C G
+22 43797027 22:43797027G-T G T
+22 43797063 22:43797063C-A C A
+22 43797587 22:43797587G-C G C
+22 43798117 22:43798117T-A T A
+22 43799349 22:43799349G-C G C
+22 43799381 22:43799381G-C G C
+22 43799929 22:43799929A-G A G
+22 43800070 22:43800070T-C T C
+22 43800280 22:43800280T-C T C
+22 43800766 22:43800766C-A C A
+22 43800806 22:43800806C-T C T
+22 43800824 22:43800824A-C A C
+22 43803887 22:43803887T-C T C
+22 43804223 22:43804223A-G A G
+22 43804846 22:43804846C-G C G
+22 43806954 22:43806954T-G T G
+22 43806964 22:43806964G-C G C
+22 43807064 22:43807064A-G A G
+22 43807263 22:43807263A-G A G
+22 43807425 22:43807425A-G A G
+22 43807720 22:43807720C-A C A
+22 43808745 22:43808745G-C G C
+22 43809158 22:43809158C-T C T
+22 43809537 22:43809537T-C T C
+22 43810056 22:43810056C-T C T
+22 43810072 22:43810072A-G A G
+22 43810101 22:43810101G-A G A
+22 43810219 22:43810219G-A G A
+22 43810480 22:43810480G-A G A
+22 43810747 22:43810747C-T C T
+22 43810775 22:43810775T-C T C
+22 43810845 22:43810845T-C T C
+22 43811071 22:43811071C-A C A
+22 43811077 22:43811077A-G A G
+22 43811571 22:43811571G-T G T
+22 43811592 22:43811592A-G A G
+22 43811779 22:43811779A-G A G
+22 43811875 22:43811875C-T C T
+22 43812187 22:43812187A-G A G
+22 43812314 22:43812314C-G C G
+22 43812831 22:43812831A-G A G
+22 43813897 22:43813897G-A G A
+22 43814244 22:43814244C-T C T
+22 43814457 22:43814457C-A C A
+22 43814883 22:43814883G-A G A
+22 43815425 22:43815425G-C G C
+22 43815535 22:43815535T-C T C
+22 43815668 22:43815668C-A C A
+22 43815793 22:43815793G-A G A
+22 43816027 22:43816027A-C A C
+22 43816218 22:43816218T-G T G
+22 43816253 22:43816253T-C T C
+22 43816484 22:43816484G-C G C
+22 43816820 22:43816820T-C T C
+22 43817481 22:43817481G-A G A
+22 43818115 22:43818115C-T C T
+22 43818186 22:43818186C-G C G
+22 43818203 22:43818203A-G A G
+22 43818279 22:43818279T-C T C
+22 43819043 22:43819043C-T C T
+22 43819284 22:43819284A-T A T
+22 43819757 22:43819757A-G A G
+22 43820286 22:43820286C-T C T
+22 43821730 22:43821730C-T C T
+22 43822534 22:43822534C-T C T
+22 43822563 22:43822563C-G C G
+22 43822738 22:43822738C-T C T
+22 43823014 22:43823014T-G T G
+22 43823413 22:43823413C-T C T
+22 43823696 22:43823696T-C T C
+22 43824009 22:43824009A-G A G
+22 43824618 22:43824618T-G T G
+22 43825439 22:43825439A-G A G
+22 43826267 22:43826267G-A G A
+22 43826323 22:43826323T-C T C
+22 43826750 22:43826750T-G T G
+22 43827147 22:43827147C-T C T
+22 43827170 22:43827170C-T C T
+22 43827274 22:43827274G-A G A
+22 43829000 22:43829000G-C G C
+22 43829896 22:43829896C-T C T
+22 43830353 22:43830353C-T C T
+22 43830845 22:43830845G-C G C
+22 43830848 22:43830848C-T C T
+22 43830900 22:43830900C-T C T
+22 43830910 22:43830910C-T C T
+22 43830996 22:43830996C-T C T
+22 43831056 22:43831056C-T C T
+22 43832479 22:43832479C-G C G
+22 43832845 22:43832845C-T C T
+22 43833698 22:43833698G-A G A
+22 43834026 22:43834026G-A G A
+22 43835768 22:43835768C-T C T
+22 43835942 22:43835942T-C T C
+22 43836134 22:43836134A-G A G
+22 43836198 22:43836198T-G T G
+22 43837215 22:43837215G-A G A
+22 43837845 22:43837845C-T C T
+22 43838028 22:43838028C-G C G
+22 43838083 22:43838083T-A T A
+22 43838098 22:43838098G-A G A
+22 43838406 22:43838406A-G A G
+22 43840498 22:43840498A-C A C
+22 43841431 22:43841431A-G A G
+22 43841931 22:43841931C-T C T
+22 43843065 22:43843065T-C T C
+22 43844459 22:43844459G-A G A
+22 43845708 22:43845708A-G A G
+22 43846516 22:43846516A-G A G
+22 43847021 22:43847021G-C G C
+22 43847589 22:43847589C-T C T
+22 43847779 22:43847779G-A G A
+22 43848036 22:43848036G-C G C
+22 43848307 22:43848307A-G A G
+22 43848318 22:43848318T-C T C
+22 43848406 22:43848406G-C G C
+22 43849419 22:43849419T-C T C
+22 43849719 22:43849719T-C T C
+22 43849920 22:43849920C-A C A
+22 43850208 22:43850208C-A C A
+22 43851485 22:43851485A-G A G
+22 43851673 22:43851673G-A G A
+22 43851782 22:43851782T-G T G
+22 43852077 22:43852077T-A T A
+22 43852574 22:43852574T-C T C
+22 43853528 22:43853528T-C T C
+22 43853697 22:43853697T-C T C
+22 43854982 22:43854982A-C A C
+22 43855169 22:43855169C-T C T
+22 43855352 22:43855352C-T C T
+22 43855846 22:43855846C-A C A
+22 43856063 22:43856063C-A C A
+22 43856640 22:43856640T-C T C
+22 43857081 22:43857081A-G A G
+22 43857328 22:43857328C-T C T
+22 43858530 22:43858530A-G A G
+22 43858978 22:43858978A-T A T
+22 43859477 22:43859477C-T C T
+22 43859580 22:43859580A-G A G
+22 43860886 22:43860886C-A C A
+22 43862145 22:43862145G-T G T
+22 43862274 22:43862274G-C G C
+22 43863072 22:43863072C-G C G
+22 43863297 22:43863297C-T C T
+22 43864604 22:43864604G-A G A
+22 43865479 22:43865479G-A G A
+22 43865625 22:43865625G-A G A
+22 43867177 22:43867177C-G C G
+22 43867300 22:43867300G-A G A
+22 43868065 22:43868065T-C T C
+22 43868315 22:43868315A-G A G
+22 43868506 22:43868506G-A G A
+22 43868571 22:43868571A-C A C
+22 43869249 22:43869249G-A G A
+22 43869281 22:43869281T-G T G
+22 43869363 22:43869363T-C T C
+22 43869607 22:43869607G-A G A
+22 43869856 22:43869856A-G A G
+22 43870063 22:43870063A-G A G
+22 43870482 22:43870482C-T C T
+22 43872243 22:43872243C-T C T
+22 43872786 22:43872786C-T C T
+22 43872933 22:43872933T-G T G
+22 43873652 22:43873652T-C T C
+22 43873671 22:43873671C-G C G
+22 43873863 22:43873863T-C T C
+22 43874279 22:43874279C-T C T
+22 43874553 22:43874553G-A G A
+22 43874602 22:43874602C-T C T
+22 43874735 22:43874735T-G T G
+22 43874801 22:43874801A-G A G
+22 43875540 22:43875540C-G C G
+22 43875674 22:43875674T-C T C
+22 43876050 22:43876050G-A G A
+22 43876153 22:43876153C-T C T
+22 43876350 22:43876350C-T C T
+22 43876411 22:43876411A-G A G
+22 43876541 22:43876541C-G C G
+22 43877269 22:43877269G-A G A
+22 43878246 22:43878246G-A G A
+22 43878346 22:43878346C-G C G
+22 43878697 22:43878697T-C T C
+22 43879248 22:43879248G-A G A
+22 43879664 22:43879664A-G A G
+22 43880499 22:43880499A-G A G
+22 43880506 22:43880506A-G A G
+22 43880530 22:43880530G-A G A
+22 43881033 22:43881033T-C T C
+22 43881153 22:43881153C-T C T
+22 43881165 22:43881165T-C T C
+22 43881248 22:43881248A-G A G
+22 43881336 22:43881336G-A G A
+22 43881448 22:43881448C-T C T
+22 43881694 22:43881694T-C T C
+22 43881816 22:43881816G-A G A
+22 43882594 22:43882594C-T C T
+22 43882741 22:43882741G-A G A
+22 43882783 22:43882783C-A C A
+22 43882873 22:43882873A-G A G
+22 43883272 22:43883272G-A G A
+22 43883616 22:43883616C-T C T
+22 43883747 22:43883747G-A G A
+22 43884850 22:43884850G-A G A
+22 43885006 22:43885006G-C G C
+22 43885399 22:43885399T-C T C
+22 43885862 22:43885862G-A G A
+22 43886005 22:43886005A-G A G
+22 43886032 22:43886032C-T C T
+22 43886370 22:43886370T-C T C
+22 43886561 22:43886561T-A T A
+22 43886756 22:43886756C-T C T
+22 43886834 22:43886834G-A G A
+22 43888228 22:43888228A-G A G
+22 43888239 22:43888239G-A G A
+22 43888353 22:43888353A-G A G
+22 43888504 22:43888504C-T C T
+22 43888533 22:43888533G-A G A
+22 43888664 22:43888664A-G A G
+22 43889116 22:43889116C-T C T
+22 43889901 22:43889901C-T C T
+22 43890056 22:43890056C-G C G
+22 43893034 22:43893034T-C T C
+22 43893952 22:43893952A-G A G
+22 43894599 22:43894599T-C T C
+22 43896380 22:43896380C-T C T
+22 43896685 22:43896685G-A G A
+22 43896791 22:43896791C-G C G
+22 43896835 22:43896835G-C G C
+22 43898108 22:43898108T-C T C
+22 43898315 22:43898315A-G A G
+22 43899332 22:43899332G-A G A
+22 43899361 22:43899361G-T G T
+22 43899415 22:43899415T-C T C
+22 43899418 22:43899418T-C T C
+22 43900259 22:43900259A-G A G
+22 43900462 22:43900462T-C T C
+22 43901042 22:43901042T-G T G
+22 43901995 22:43901995C-G C G
+22 43902878 22:43902878G-A G A
+22 43904058 22:43904058A-G A G
+22 43904212 22:43904212A-T A T
+22 43904752 22:43904752C-G C G
+22 43906077 22:43906077G-A G A
+22 43906169 22:43906169T-C T C
+22 43906772 22:43906772C-T C T
+22 43907146 22:43907146T-C T C
+22 43907291 22:43907291T-C T C
+22 43910839 22:43910839G-A G A
+22 43911166 22:43911166T-A T A
+22 43911999 22:43911999G-A G A
+22 43912319 22:43912319C-T C T
+22 43913309 22:43913309G-A G A
+22 43913905 22:43913905T-C T C
+22 43914396 22:43914396G-A G A
+22 43916531 22:43916531A-G A G
+22 43917441 22:43917441G-A G A
+22 43918457 22:43918457T-G T G
+22 43918963 22:43918963G-A G A
+22 43920111 22:43920111G-A G A
+22 43920777 22:43920777G-A G A
+22 43921973 22:43921973G-A G A
+22 43922499 22:43922499G-A G A
+22 43922537 22:43922537A-G A G
+22 43922542 22:43922542C-G C G
+22 43922864 22:43922864G-C G C
+22 43923930 22:43923930G-A G A
+22 43924165 22:43924165G-A G A
+22 43925090 22:43925090G-A G A
+22 43926010 22:43926010G-C G C
+22 43926364 22:43926364G-A G A
+22 43927242 22:43927242T-C T C
+22 43927346 22:43927346T-A T A
+22 43928260 22:43928260T-A T A
+22 43928898 22:43928898G-A G A
+22 43929097 22:43929097G-A G A
+22 43930825 22:43930825C-T C T
+22 43931494 22:43931494T-C T C
+22 43931664 22:43931664C-T C T
+22 43931708 22:43931708T-C T C
+22 43932421 22:43932421A-C A C
+22 43932511 22:43932511G-T G T
+22 43933806 22:43933806C-T C T
+22 43933968 22:43933968T-G T G
+22 43936219 22:43936219C-T C T
+22 43936383 22:43936383C-T C T
+22 43936741 22:43936741C-T C T
+22 43937081 22:43937081T-A T A
+22 43937347 22:43937347C-A C A
+22 43937401 22:43937401A-G A G
+22 43937438 22:43937438T-C T C
+22 43937489 22:43937489G-C G C
+22 43937516 22:43937516A-G A G
+22 43937542 22:43937542A-G A G
+22 43937760 22:43937760G-A G A
+22 43937890 22:43937890G-C G C
+22 43937939 22:43937939G-A G A
+22 43937946 22:43937946G-A G A
+22 43938054 22:43938054A-G A G
+22 43938883 22:43938883C-G C G
+22 43939139 22:43939139G-C G C
+22 43939201 22:43939201C-G C G
+22 43940027 22:43940027T-A T A
+22 43940365 22:43940365T-G T G
+22 43940914 22:43940914A-G A G
+22 43941451 22:43941451T-C T C
+22 43941674 22:43941674G-A G A
+22 43943831 22:43943831C-G C G
+22 43944389 22:43944389C-T C T
+22 43944523 22:43944523C-A C A
+22 43944583 22:43944583T-C T C
+22 43946476 22:43946476C-T C T
+22 43946640 22:43946640G-A G A
+22 43946723 22:43946723T-C T C
+22 43947074 22:43947074C-T C T
+22 43947103 22:43947103G-A G A
+22 43947289 22:43947289G-A G A
+22 43949552 22:43949552G-A G A
+22 43950283 22:43950283T-C T C
+22 43950406 22:43950406G-A G A
+22 43950853 22:43950853T-G T G
+22 43951290 22:43951290T-C T C
+22 43952254 22:43952254G-A G A
+22 43952776 22:43952776A-G A G
+22 43953761 22:43953761A-T A T
+22 43953768 22:43953768G-A G A
+22 43954217 22:43954217G-A G A
+22 43954533 22:43954533G-A G A
+22 43955593 22:43955593G-C G C
+22 43956728 22:43956728G-A G A
+22 43957005 22:43957005A-G A G
+22 43957824 22:43957824C-T C T
+22 43958173 22:43958173G-A G A
+22 43958853 22:43958853G-A G A
+22 43959182 22:43959182A-G A G
+22 43959640 22:43959640T-C T C
+22 43959869 22:43959869A-G A G
+22 43959928 22:43959928G-A G A
+22 43959990 22:43959990G-A G A
+22 43960363 22:43960363T-A T A
+22 43961532 22:43961532T-C T C
+22 43961578 22:43961578T-C T C
+22 43961628 22:43961628C-A C A
+22 43962321 22:43962321A-G A G
+22 43962373 22:43962373G-C G C
+22 43962549 22:43962549C-T C T
+22 43962668 22:43962668T-C T C
+22 43962696 22:43962696C-T C T
+22 43963329 22:43963329C-T C T
+22 43964500 22:43964500G-A G A
+22 43964926 22:43964926G-A G A
+22 43965393 22:43965393C-G C G
+22 43965439 22:43965439A-G A G
+22 43965546 22:43965546C-T C T
+22 43965845 22:43965845T-C T C
+22 43966460 22:43966460A-G A G
+22 43966940 22:43966940C-T C T
+22 43966998 22:43966998G-A G A
+22 43967338 22:43967338G-A G A
+22 43969830 22:43969830T-C T C
+22 43970000 22:43970000C-A C A
+22 43970057 22:43970057C-G C G
+22 43970156 22:43970156C-T C T
+22 43970630 22:43970630C-T C T
+22 43970733 22:43970733A-G A G
+22 43970873 22:43970873A-G A G
+22 43972766 22:43972766A-G A G
+22 43972768 22:43972768T-A T A
+22 43973229 22:43973229G-A G A
+22 43973706 22:43973706G-A G A
+22 43973875 22:43973875T-A T A
+22 43974880 22:43974880G-C G C
+22 43974966 22:43974966G-A G A
+22 43975016 22:43975016T-C T C
+22 43975779 22:43975779C-T C T
+22 43975786 22:43975786G-A G A
+22 43976396 22:43976396G-A G A
+22 43976675 22:43976675G-A G A
+22 43978641 22:43978641A-G A G
+22 43980616 22:43980616A-C A C
+22 43981546 22:43981546C-G C G
+22 43981753 22:43981753C-A C A
+22 43982216 22:43982216A-G A G
+22 43982418 22:43982418T-C T C
+22 43982546 22:43982546T-C T C
+22 43982617 22:43982617G-T G T
+22 43983226 22:43983226T-C T C
+22 43983762 22:43983762G-A G A
+22 43984083 22:43984083G-A G A
+22 43984885 22:43984885T-C T C
+22 43985018 22:43985018C-T C T
+22 43985334 22:43985334G-A G A
+22 43985354 22:43985354G-A G A
+22 43985576 22:43985576G-A G A
+22 43986134 22:43986134T-C T C
+22 43986515 22:43986515G-A G A
+22 43986658 22:43986658T-G T G
+22 43986781 22:43986781T-C T C
+22 43989165 22:43989165G-C G C
+22 43989444 22:43989444T-C T C
+22 43989973 22:43989973G-T G T
+22 43990270 22:43990270T-A T A
+22 43990833 22:43990833T-C T C
+22 43990875 22:43990875C-T C T
+22 43991163 22:43991163A-G A G
+22 43991321 22:43991321G-A G A
+22 43991826 22:43991826C-T C T
+22 43993607 22:43993607G-A G A
+22 43993871 22:43993871C-T C T
+22 43993872 22:43993872G-A G A
+22 43994069 22:43994069C-T C T
+22 43994371 22:43994371A-G A G
+22 43994638 22:43994638T-A T A
+22 43994806 22:43994806C-T C T
+22 43994875 22:43994875A-T A T
+22 43995319 22:43995319G-A G A
+22 43995546 22:43995546C-T C T
+22 43995589 22:43995589G-A G A
+22 43996288 22:43996288A-C A C
+22 43996350 22:43996350G-A G A
+22 43997475 22:43997475T-A T A
+22 43997828 22:43997828C-T C T
+22 43997981 22:43997981C-G C G
+22 43998246 22:43998246T-C T C
+22 43998322 22:43998322A-G A G
+22 43998724 22:43998724A-G A G
+22 43999561 22:43999561G-A G A
+22 43999866 22:43999866G-C G C
+22 43999951 22:43999951C-A C A
+22 44000012 22:44000012C-T C T
+22 44000083 22:44000083T-C T C
+22 44000711 22:44000711T-C T C
+22 44001851 22:44001851G-A G A
+22 44003078 22:44003078C-T C T
+22 44004079 22:44004079G-A G A
+22 44004305 22:44004305C-G C G
+22 44005202 22:44005202C-T C T
+22 44006594 22:44006594T-A T A
+22 44007358 22:44007358C-T C T
+22 44007377 22:44007377G-A G A
+22 44008300 22:44008300C-A C A
+22 44008305 22:44008305C-A C A
+22 44008478 22:44008478C-T C T
+22 44010144 22:44010144A-G A G
+22 44010517 22:44010517G-C G C
+22 44010739 22:44010739T-C T C
+22 44012213 22:44012213C-T C T
+22 44012475 22:44012475C-T C T
+22 44012940 22:44012940T-C T C
+22 44013316 22:44013316T-C T C
+22 44013566 22:44013566A-G A G
+22 44013622 22:44013622T-C T C
+22 44014234 22:44014234C-A C A
+22 44014293 22:44014293G-A G A
+22 44014481 22:44014481T-G T G
+22 44014859 22:44014859C-T C T
+22 44014938 22:44014938T-C T C
+22 44015291 22:44015291A-G A G
+22 44015734 22:44015734A-C A C
+22 44015927 22:44015927A-G A G
+22 44016244 22:44016244G-A G A
+22 44016265 22:44016265C-T C T
+22 44017170 22:44017170C-T C T
+22 44017307 22:44017307T-C T C
+22 44017318 22:44017318A-T A T
+22 44017463 22:44017463C-T C T
+22 44018581 22:44018581C-T C T
+22 44018883 22:44018883T-C T C
+22 44019011 22:44019011A-G A G
+22 44019091 22:44019091A-G A G
+22 44019701 22:44019701A-G A G
+22 44019834 22:44019834G-A G A
+22 44020176 22:44020176C-T C T
+22 44021224 22:44021224T-A T A
+22 44022171 22:44022171G-A G A
+22 44022207 22:44022207A-G A G
+22 44022578 22:44022578C-A C A
+22 44023173 22:44023173G-A G A
+22 44023695 22:44023695T-G T G
+22 44024381 22:44024381G-A G A
+22 44024917 22:44024917G-T G T
+22 44026125 22:44026125C-T C T
+22 44026564 22:44026564G-A G A
+22 44026660 22:44026660C-T C T
+22 44027094 22:44027094T-C T C
+22 44027216 22:44027216T-C T C
+22 44028320 22:44028320T-C T C
+22 44029360 22:44029360T-C T C
+22 44029495 22:44029495A-T A T
+22 44030358 22:44030358A-G A G
+22 44030935 22:44030935G-A G A
+22 44031239 22:44031239G-A G A
+22 44031855 22:44031855C-T C T
+22 44032937 22:44032937C-A C A
+22 44033173 22:44033173C-T C T
+22 44033178 22:44033178T-C T C
+22 44033461 22:44033461A-G A G
+22 44033480 22:44033480G-A G A
+22 44033490 22:44033490A-G A G
+22 44033934 22:44033934C-T C T
+22 44034051 22:44034051C-T C T
+22 44034241 22:44034241A-T A T
+22 44034349 22:44034349C-T C T
+22 44034866 22:44034866T-C T C
+22 44035303 22:44035303G-A G A
+22 44035558 22:44035558T-C T C
+22 44035806 22:44035806G-C G C
+22 44036095 22:44036095T-C T C
+22 44036139 22:44036139C-T C T
+22 44036408 22:44036408A-T A T
+22 44037064 22:44037064C-A C A
+22 44037582 22:44037582A-G A G
+22 44038518 22:44038518G-A G A
+22 44039285 22:44039285C-T C T
+22 44039398 22:44039398C-T C T
+22 44039848 22:44039848C-T C T
+22 44040712 22:44040712C-G C G
+22 44041004 22:44041004T-C T C
+22 44041982 22:44041982T-C T C
+22 44044253 22:44044253T-A T A
+22 44044386 22:44044386T-C T C
+22 44044481 22:44044481G-A G A
+22 44044773 22:44044773T-C T C
+22 44045275 22:44045275A-G A G
+22 44045728 22:44045728G-C G C
+22 44045871 22:44045871C-A C A
+22 44046142 22:44046142T-C T C
+22 44046264 22:44046264G-A G A
+22 44046365 22:44046365T-C T C
+22 44046715 22:44046715A-G A G
+22 44048160 22:44048160G-A G A
+22 44050154 22:44050154T-C T C
+22 44050363 22:44050363G-A G A
+22 44050598 22:44050598C-T C T
+22 44051934 22:44051934C-G C G
+22 44052041 22:44052041C-A C A
+22 44052076 22:44052076C-G C G
+22 44052189 22:44052189A-G A G
+22 44052552 22:44052552T-C T C
+22 44052636 22:44052636A-G A G
+22 44052763 22:44052763G-A G A
+22 44052846 22:44052846A-G A G
+22 44053066 22:44053066T-C T C
+22 44053966 22:44053966G-A G A
+22 44053981 22:44053981G-C G C
+22 44054063 22:44054063G-T G T
+22 44054066 22:44054066C-T C T
+22 44054142 22:44054142A-G A G
+22 44054465 22:44054465A-G A G
+22 44054578 22:44054578C-T C T
+22 44054817 22:44054817C-T C T
+22 44055095 22:44055095C-T C T
+22 44055305 22:44055305G-A G A
+22 44055944 22:44055944A-G A G
+22 44055972 22:44055972A-G A G
+22 44056241 22:44056241G-A G A
+22 44056278 22:44056278A-G A G
+22 44056370 22:44056370T-C T C
+22 44056538 22:44056538C-G C G
+22 44056703 22:44056703A-G A G
+22 44056983 22:44056983G-A G A
+22 44057381 22:44057381G-A G A
+22 44057420 22:44057420G-C G C
+22 44058648 22:44058648C-G C G
+22 44058677 22:44058677T-C T C
+22 44059059 22:44059059T-C T C
+22 44059072 22:44059072C-T C T
+22 44059920 22:44059920A-G A G
+22 44060396 22:44060396A-G A G
+22 44060721 22:44060721T-C T C
+22 44061009 22:44061009G-T G T
+22 44062339 22:44062339A-G A G
+22 44062415 22:44062415G-C G C
+22 44062938 22:44062938G-A G A
+22 44063412 22:44063412G-T G T
+22 44063615 22:44063615C-T C T
+22 44065435 22:44065435G-A G A
+22 44065458 22:44065458T-G T G
+22 44065526 22:44065526T-C T C
+22 44065741 22:44065741G-A G A
+22 44065770 22:44065770C-T C T
+22 44066547 22:44066547C-T C T
+22 44066773 22:44066773A-G A G
+22 44068591 22:44068591G-A G A
+22 44069055 22:44069055C-T C T
+22 44069292 22:44069292C-T C T
+22 44069609 22:44069609G-A G A
+22 44069981 22:44069981A-G A G
+22 44070291 22:44070291A-G A G
+22 44070530 22:44070530C-A C A
+22 44070768 22:44070768T-C T C
+22 44071094 22:44071094C-T C T
+22 44072153 22:44072153C-T C T
+22 44072174 22:44072174A-G A G
+22 44072361 22:44072361T-C T C
+22 44072615 22:44072615G-A G A
+22 44072943 22:44072943C-A C A
+22 44073363 22:44073363T-C T C
+22 44074183 22:44074183C-T C T
+22 44074699 22:44074699T-C T C
+22 44074710 22:44074710C-T C T
+22 44074883 22:44074883A-C A C
+22 44076134 22:44076134T-G T G
+22 44076415 22:44076415G-A G A
+22 44076455 22:44076455G-A G A
+22 44076860 22:44076860C-G C G
+22 44077107 22:44077107T-C T C
+22 44078507 22:44078507A-C A C
+22 44078872 22:44078872C-T C T
+22 44079068 22:44079068C-T C T
+22 44079438 22:44079438A-T A T
+22 44079452 22:44079452C-G C G
+22 44079557 22:44079557G-A G A
+22 44079645 22:44079645T-C T C
+22 44079680 22:44079680G-A G A
+22 44080479 22:44080479A-C A C
+22 44080646 22:44080646C-T C T
+22 44080932 22:44080932C-T C T
+22 44081426 22:44081426G-A G A
+22 44081430 22:44081430A-G A G
+22 44082454 22:44082454A-C A C
+22 44082488 22:44082488T-G T G
+22 44082808 22:44082808T-A T A
+22 44083002 22:44083002T-C T C
+22 44083442 22:44083442T-C T C
+22 44083671 22:44083671C-T C T
+22 44084244 22:44084244C-T C T
+22 44084579 22:44084579T-C T C
+22 44085579 22:44085579C-T C T
+22 44086037 22:44086037T-A T A
+22 44086523 22:44086523C-A C A
+22 44086749 22:44086749T-C T C
+22 44087274 22:44087274G-A G A
+22 44087775 22:44087775C-G C G
+22 44089267 22:44089267T-C T C
+22 44090003 22:44090003T-C T C
+22 44091095 22:44091095C-A C A
+22 44091835 22:44091835T-G T G
+22 44091898 22:44091898A-G A G
+22 44092109 22:44092109A-T A T
+22 44092196 22:44092196G-A G A
+22 44092396 22:44092396G-A G A
+22 44094088 22:44094088G-A G A
+22 44094561 22:44094561C-T C T
+22 44094969 22:44094969G-A G A
+22 44095137 22:44095137G-T G T
+22 44095325 22:44095325T-C T C
+22 44095662 22:44095662A-T A T
+22 44096063 22:44096063A-G A G
+22 44096682 22:44096682T-C T C
+22 44097341 22:44097341G-A G A
+22 44097373 22:44097373T-C T C
+22 44099375 22:44099375A-G A G
+22 44100191 22:44100191C-T C T
+22 44100329 22:44100329T-C T C
+22 44101141 22:44101141T-C T C
+22 44101411 22:44101411T-C T C
+22 44102016 22:44102016A-G A G
+22 44102036 22:44102036C-T C T
+22 44102400 22:44102400T-A T A
+22 44102636 22:44102636C-T C T
+22 44102659 22:44102659C-T C T
+22 44103293 22:44103293G-A G A
+22 44104167 22:44104167A-T A T
+22 44104822 22:44104822G-A G A
+22 44104991 22:44104991G-T G T
+22 44105776 22:44105776T-G T G
+22 44106461 22:44106461C-T C T
+22 44107669 22:44107669C-T C T
+22 44107741 22:44107741A-T A T
+22 44107968 22:44107968C-G C G
+22 44107997 22:44107997C-T C T
+22 44108077 22:44108077A-G A G
+22 44108595 22:44108595T-G T G
+22 44109072 22:44109072C-T C T
+22 44110098 22:44110098A-G A G
+22 44110479 22:44110479C-T C T
+22 44110516 22:44110516A-G A G
+22 44111066 22:44111066A-T A T
+22 44111111 22:44111111A-G A G
+22 44111240 22:44111240A-T A T
+22 44111433 22:44111433G-C G C
+22 44112390 22:44112390A-C A C
+22 44112400 22:44112400T-A T A
+22 44112845 22:44112845C-T C T
+22 44113251 22:44113251G-C G C
+22 44113813 22:44113813G-A G A
+22 44114342 22:44114342T-C T C
+22 44114384 22:44114384C-T C T
+22 44114616 22:44114616A-G A G
+22 44114861 22:44114861A-G A G
+22 44115108 22:44115108C-T C T
+22 44116164 22:44116164G-A G A
+22 44116520 22:44116520G-A G A
+22 44116662 22:44116662T-C T C
+22 44116796 22:44116796C-T C T
+22 44116810 22:44116810C-G C G
+22 44117134 22:44117134T-C T C
+22 44117142 22:44117142C-T C T
+22 44117181 22:44117181C-T C T
+22 44117221 22:44117221T-G T G
+22 44117684 22:44117684G-A G A
+22 44117821 22:44117821C-G C G
+22 44117968 22:44117968C-T C T
+22 44118078 22:44118078T-C T C
+22 44118281 22:44118281T-A T A
+22 44118772 22:44118772A-T A T
+22 44118787 22:44118787C-A C A
+22 44119875 22:44119875T-C T C
+22 44119998 22:44119998A-G A G
+22 44120121 22:44120121T-C T C
+22 44120842 22:44120842G-C G C
+22 44121108 22:44121108G-A G A
+22 44121327 22:44121327A-G A G
+22 44121399 22:44121399G-A G A
+22 44122650 22:44122650G-A G A
+22 44123176 22:44123176G-A G A
+22 44123274 22:44123274T-C T C
+22 44123348 22:44123348A-C A C
+22 44123502 22:44123502G-A G A
+22 44123517 22:44123517C-T C T
+22 44123870 22:44123870C-T C T
+22 44124509 22:44124509G-A G A
+22 44124634 22:44124634G-A G A
+22 44124930 22:44124930T-C T C
+22 44125037 22:44125037C-T C T
+22 44125433 22:44125433C-T C T
+22 44125830 22:44125830A-C A C
+22 44126090 22:44126090A-G A G
+22 44126306 22:44126306C-T C T
+22 44126517 22:44126517C-T C T
+22 44126950 22:44126950G-T G T
+22 44127473 22:44127473G-A G A
+22 44128835 22:44128835C-G C G
+22 44128975 22:44128975T-C T C
+22 44129110 22:44129110A-G A G
+22 44129156 22:44129156T-G T G
+22 44129447 22:44129447A-T A T
+22 44129651 22:44129651C-T C T
+22 44129789 22:44129789A-G A G
+22 44129858 22:44129858A-G A G
+22 44131029 22:44131029G-A G A
+22 44131786 22:44131786T-C T C
+22 44132096 22:44132096T-A T A
+22 44132114 22:44132114C-G C G
+22 44132461 22:44132461G-A G A
+22 44132502 22:44132502G-T G T
+22 44133054 22:44133054A-G A G
+22 44133427 22:44133427G-A G A
+22 44133864 22:44133864G-A G A
+22 44133955 22:44133955C-T C T
+22 44136057 22:44136057G-A G A
+22 44137219 22:44137219T-C T C
+22 44137349 22:44137349T-C T C
+22 44137356 22:44137356G-A G A
+22 44137451 22:44137451G-C G C
+22 44137717 22:44137717G-A G A
+22 44137753 22:44137753C-A C A
+22 44138332 22:44138332C-T C T
+22 44139294 22:44139294G-T G T
+22 44139585 22:44139585C-T C T
+22 44139713 22:44139713A-C A C
+22 44140774 22:44140774T-G T G
+22 44140963 22:44140963C-T C T
+22 44141267 22:44141267C-T C T
+22 44141273 22:44141273C-T C T
+22 44142195 22:44142195C-T C T
+22 44142288 22:44142288G-A G A
+22 44143232 22:44143232C-T C T
+22 44143955 22:44143955C-T C T
+22 44145416 22:44145416G-T G T
+22 44145565 22:44145565G-C G C
+22 44146298 22:44146298G-A G A
+22 44146918 22:44146918T-C T C
+22 44147012 22:44147012T-C T C
+22 44147073 22:44147073G-A G A
+22 44147134 22:44147134G-A G A
+22 44147470 22:44147470A-G A G
+22 44147497 22:44147497A-G A G
+22 44147585 22:44147585C-T C T
+22 44147931 22:44147931G-C G C
+22 44147933 22:44147933A-G A G
+22 44148351 22:44148351C-T C T
+22 44148575 22:44148575C-T C T
+22 44148975 22:44148975G-A G A
+22 44149397 22:44149397G-A G A
+22 44152874 22:44152874A-T A T
+22 44153362 22:44153362G-A G A
+22 44153565 22:44153565G-T G T
+22 44154254 22:44154254T-G T G
+22 44155333 22:44155333A-T A T
+22 44155735 22:44155735T-C T C
+22 44155928 22:44155928T-C T C
+22 44156436 22:44156436G-A G A
+22 44156689 22:44156689C-T C T
+22 44156941 22:44156941G-A G A
+22 44156988 22:44156988A-G A G
+22 44157064 22:44157064T-A T A
+22 44157237 22:44157237T-C T C
+22 44157781 22:44157781C-T C T
+22 44158490 22:44158490A-G A G
+22 44159120 22:44159120C-T C T
+22 44159597 22:44159597T-C T C
+22 44159605 22:44159605T-C T C
+22 44159997 22:44159997C-T C T
+22 44160300 22:44160300T-A T A
+22 44161976 22:44161976C-T C T
+22 44162556 22:44162556G-A G A
+22 44162674 22:44162674G-C G C
+22 44163393 22:44163393C-A C A
+22 44163523 22:44163523G-A G A
+22 44163537 22:44163537T-C T C
+22 44164413 22:44164413A-C A C
+22 44165351 22:44165351G-A G A
+22 44165598 22:44165598G-A G A
+22 44165611 22:44165611A-G A G
+22 44166037 22:44166037A-T A T
+22 44167323 22:44167323A-T A T
+22 44167588 22:44167588C-T C T
+22 44167684 22:44167684G-A G A
+22 44167981 22:44167981A-G A G
+22 44169392 22:44169392T-C T C
+22 44169426 22:44169426A-G A G
+22 44169695 22:44169695C-A C A
+22 44170397 22:44170397G-T G T
+22 44170477 22:44170477C-T C T
+22 44170523 22:44170523G-A G A
+22 44170865 22:44170865A-G A G
+22 44170918 22:44170918G-C G C
+22 44171204 22:44171204C-T C T
+22 44172066 22:44172066A-C A C
+22 44172081 22:44172081C-A C A
+22 44172229 22:44172229C-G C G
+22 44172557 22:44172557G-A G A
+22 44173134 22:44173134G-C G C
+22 44173322 22:44173322G-A G A
+22 44173530 22:44173530A-G A G
+22 44175013 22:44175013A-C A C
+22 44175578 22:44175578C-T C T
+22 44176028 22:44176028T-C T C
+22 44177066 22:44177066G-A G A
+22 44177517 22:44177517G-A G A
+22 44177826 22:44177826C-T C T
+22 44177972 22:44177972A-G A G
+22 44178103 22:44178103T-C T C
+22 44178710 22:44178710G-C G C
+22 44178720 22:44178720A-C A C
+22 44178721 22:44178721T-C T C
+22 44179105 22:44179105T-C T C
+22 44179127 22:44179127G-A G A
+22 44179134 22:44179134A-G A G
+22 44180165 22:44180165C-T C T
+22 44180613 22:44180613C-T C T
+22 44181258 22:44181258C-T C T
+22 44181312 22:44181312A-G A G
+22 44182482 22:44182482G-A G A
+22 44182580 22:44182580C-T C T
+22 44182912 22:44182912T-C T C
+22 44183102 22:44183102G-A G A
+22 44183172 22:44183172C-A C A
+22 44183721 22:44183721G-A G A
+22 44183913 22:44183913A-C A C
+22 44185444 22:44185444C-T C T
+22 44186375 22:44186375C-T C T
+22 44186449 22:44186449A-G A G
+22 44187067 22:44187067G-A G A
+22 44187272 22:44187272G-A G A
+22 44187547 22:44187547C-A C A
+22 44187687 22:44187687A-C A C
+22 44188320 22:44188320A-C A C
+22 44188721 22:44188721C-T C T
+22 44188796 22:44188796G-A G A
+22 44188948 22:44188948C-T C T
+22 44189373 22:44189373C-T C T
+22 44189915 22:44189915A-T A T
+22 44190181 22:44190181A-T A T
+22 44190578 22:44190578G-T G T
+22 44190921 22:44190921A-G A G
+22 44191523 22:44191523G-A G A
+22 44191655 22:44191655A-G A G
+22 44192018 22:44192018G-A G A
+22 44192147 22:44192147T-C T C
+22 44192596 22:44192596G-T G T
+22 44192787 22:44192787G-A G A
+22 44193117 22:44193117C-T C T
+22 44193315 22:44193315C-G C G
+22 44193581 22:44193581C-T C T
+22 44193626 22:44193626A-C A C
+22 44193817 22:44193817G-A G A
+22 44194393 22:44194393C-T C T
+22 44194954 22:44194954G-A G A
+22 44195363 22:44195363T-C T C
+22 44195654 22:44195654C-T C T
+22 44195967 22:44195967C-A C A
+22 44196183 22:44196183C-T C T
+22 44196237 22:44196237A-T A T
+22 44197052 22:44197052A-C A C
+22 44197886 22:44197886G-A G A
+22 44198015 22:44198015C-T C T
+22 44198146 22:44198146A-G A G
+22 44199299 22:44199299G-C G C
+22 44200046 22:44200046A-G A G
+22 44200464 22:44200464T-C T C
+22 44200555 22:44200555T-G T G
+22 44201534 22:44201534T-C T C
+22 44201623 22:44201623G-C G C
+22 44201961 22:44201961G-A G A
+22 44202293 22:44202293C-T C T
+22 44202370 22:44202370C-T C T
+22 44202454 22:44202454G-A G A
+22 44202556 22:44202556G-A G A
+22 44203651 22:44203651T-C T C
+22 44203745 22:44203745C-T C T
+22 44204149 22:44204149T-C T C
+22 44205335 22:44205335G-A G A
+22 44205865 22:44205865A-G A G
+22 44205880 22:44205880A-G A G
+22 44206263 22:44206263T-C T C
+22 44208612 22:44208612G-A G A
+22 44209068 22:44209068G-A G A
+22 44209125 22:44209125C-T C T
+22 44209164 22:44209164T-C T C
+22 44209288 22:44209288G-T G T
+22 44210898 22:44210898T-C T C
+22 44211018 22:44211018A-C A C
+22 44211061 22:44211061C-T C T
+22 44211659 22:44211659T-A T A
+22 44212038 22:44212038G-A G A
+22 44212454 22:44212454T-G T G
+22 44212527 22:44212527A-G A G
+22 44212543 22:44212543G-A G A
+22 44212766 22:44212766C-T C T
+22 44212838 22:44212838C-T C T
+22 44213984 22:44213984G-A G A
+22 44214502 22:44214502T-G T G
+22 44214973 22:44214973G-T G T
+22 44215053 22:44215053G-A G A
+22 44215189 22:44215189C-G C G
+22 44215273 22:44215273C-T C T
+22 44215421 22:44215421G-C G C
+22 44215662 22:44215662C-T C T
+22 44215941 22:44215941G-C G C
+22 44216801 22:44216801T-C T C
+22 44217298 22:44217298G-A G A
+22 44217693 22:44217693C-T C T
+22 44218182 22:44218182C-T C T
+22 44219108 22:44219108A-G A G
+22 44219572 22:44219572A-G A G
+22 44219716 22:44219716T-C T C
+22 44219944 22:44219944A-C A C
+22 44220143 22:44220143T-C T C
+22 44220291 22:44220291T-C T C
+22 44220377 22:44220377G-A G A
+22 44220673 22:44220673C-A C A
+22 44220864 22:44220864C-G C G
+22 44221247 22:44221247A-G A G
+22 44222345 22:44222345C-T C T
+22 44222367 22:44222367T-C T C
+22 44222416 22:44222416A-G A G
+22 44222439 22:44222439C-T C T
+22 44222744 22:44222744C-T C T
+22 44222807 22:44222807A-C A C
+22 44222840 22:44222840G-A G A
+22 44223066 22:44223066T-C T C
+22 44223239 22:44223239T-C T C
+22 44224856 22:44224856C-G C G
+22 44225644 22:44225644A-G A G
+22 44225794 22:44225794G-A G A
+22 44225846 22:44225846T-A T A
+22 44225858 22:44225858G-A G A
+22 44225873 22:44225873C-A C A
+22 44225888 22:44225888G-A G A
+22 44226987 22:44226987C-A C A
+22 44227348 22:44227348T-C T C
+22 44227373 22:44227373C-T C T
+22 44227556 22:44227556A-G A G
+22 44228367 22:44228367G-A G A
+22 44228580 22:44228580C-T C T
+22 44228843 22:44228843G-C G C
+22 44229492 22:44229492G-C G C
+22 44229508 22:44229508G-A G A
+22 44229793 22:44229793G-A G A
+22 44230143 22:44230143G-T G T
+22 44232016 22:44232016T-C T C
+22 44232887 22:44232887G-C G C
+22 44233426 22:44233426A-G A G
+22 44234039 22:44234039G-A G A
+22 44234933 22:44234933C-T C T
+22 44236005 22:44236005G-A G A
+22 44236039 22:44236039G-A G A
+22 44236441 22:44236441G-A G A
+22 44236460 22:44236460G-A G A
+22 44236816 22:44236816G-C G C
+22 44236864 22:44236864C-T C T
+22 44236982 22:44236982G-A G A
+22 44237402 22:44237402C-A C A
+22 44238296 22:44238296C-T C T
+22 44238323 22:44238323T-C T C
+22 44238405 22:44238405T-G T G
+22 44238521 22:44238521C-A C A
+22 44239196 22:44239196A-G A G
+22 44239499 22:44239499T-C T C
+22 44239750 22:44239750G-T G T
+22 44240162 22:44240162T-C T C
+22 44240685 22:44240685C-T C T
+22 44241276 22:44241276T-C T C
+22 44241285 22:44241285C-T C T
+22 44241401 22:44241401G-A G A
+22 44241442 22:44241442G-A G A
+22 44241526 22:44241526G-T G T
+22 44241573 22:44241573C-T C T
+22 44242067 22:44242067C-T C T
+22 44242102 22:44242102C-T C T
+22 44243774 22:44243774C-G C G
+22 44243999 22:44243999G-A G A
+22 44244106 22:44244106A-G A G
+22 44244302 22:44244302C-A C A
+22 44244621 22:44244621A-G A G
+22 44244986 22:44244986C-T C T
+22 44245009 22:44245009G-T G T
+22 44245081 22:44245081T-C T C
+22 44245179 22:44245179G-T G T
+22 44245271 22:44245271G-A G A
+22 44246107 22:44246107A-G A G
+22 44246132 22:44246132C-T C T
+22 44246740 22:44246740C-T C T
+22 44246757 22:44246757C-A C A
+22 44247780 22:44247780A-C A C
+22 44248504 22:44248504G-A G A
+22 44248601 22:44248601C-T C T
+22 44248627 22:44248627G-C G C
+22 44248879 22:44248879C-A C A
+22 44249269 22:44249269G-A G A
+22 44249463 22:44249463C-A C A
+22 44249477 22:44249477G-A G A
+22 44249778 22:44249778G-C G C
+22 44249905 22:44249905G-A G A
+22 44250067 22:44250067C-T C T
+22 44250261 22:44250261C-T C T
+22 44250570 22:44250570A-G A G
+22 44250630 22:44250630C-T C T
+22 44251189 22:44251189G-A G A
+22 44251326 22:44251326G-A G A
+22 44251493 22:44251493G-A G A
+22 44251648 22:44251648C-T C T
+22 44251852 22:44251852T-C T C
+22 44251970 22:44251970A-C A C
+22 44252825 22:44252825C-T C T
+22 44253089 22:44253089C-T C T
+22 44253668 22:44253668G-A G A
+22 44253883 22:44253883T-A T A
+22 44255222 22:44255222C-T C T
+22 44255332 22:44255332C-T C T
+22 44255828 22:44255828T-C T C
+22 44255832 22:44255832G-A G A
+22 44256308 22:44256308G-C G C
+22 44257056 22:44257056A-G A G
+22 44257244 22:44257244T-C T C
+22 44257427 22:44257427A-G A G
+22 44257574 22:44257574G-A G A
+22 44257762 22:44257762C-A C A
+22 44257833 22:44257833T-C T C
+22 44257971 22:44257971A-G A G
+22 44258036 22:44258036G-C G C
+22 44258507 22:44258507T-C T C
+22 44258659 22:44258659A-G A G
+22 44259075 22:44259075A-C A C
+22 44259641 22:44259641C-G C G
+22 44259781 22:44259781A-G A G
+22 44260172 22:44260172G-A G A
+22 44260406 22:44260406T-C T C
+22 44260606 22:44260606T-C T C
+22 44260895 22:44260895G-C G C
+22 44261155 22:44261155T-C T C
+22 44261367 22:44261367G-A G A
+22 44261581 22:44261581C-T C T
+22 44261849 22:44261849C-T C T
+22 44262227 22:44262227A-G A G
+22 44263212 22:44263212C-A C A
+22 44263820 22:44263820C-G C G
+22 44263840 22:44263840A-C A C
+22 44263971 22:44263971C-A C A
+22 44264217 22:44264217G-T G T
+22 44264502 22:44264502G-A G A
+22 44265323 22:44265323A-G A G
+22 44265475 22:44265475T-A T A
+22 44266064 22:44266064G-C G C
+22 44266139 22:44266139A-G A G
+22 44266442 22:44266442T-C T C
+22 44266821 22:44266821G-A G A
+22 44266999 22:44266999G-C G C
+22 44267336 22:44267336C-T C T
+22 44267665 22:44267665A-G A G
+22 44268508 22:44268508T-A T A
+22 44268576 22:44268576T-C T C
+22 44269104 22:44269104G-A G A
+22 44269290 22:44269290T-C T C
+22 44269322 22:44269322T-C T C
+22 44270592 22:44270592C-G C G
+22 44271421 22:44271421T-C T C
+22 44272236 22:44272236G-C G C
+22 44272285 22:44272285T-G T G
+22 44272450 22:44272450C-T C T
+22 44273368 22:44273368G-A G A
+22 44274114 22:44274114C-A C A
+22 44274202 22:44274202T-C T C
+22 44274267 22:44274267C-T C T
+22 44274695 22:44274695C-A C A
+22 44274728 22:44274728G-T G T
+22 44274814 22:44274814G-A G A
+22 44275189 22:44275189C-A C A
+22 44275459 22:44275459G-A G A
+22 44276105 22:44276105T-C T C
+22 44276106 22:44276106G-A G A
+22 44276171 22:44276171T-G T G
+22 44276544 22:44276544G-A G A
+22 44277406 22:44277406C-T C T
+22 44278398 22:44278398C-A C A
+22 44278480 22:44278480C-G C G
+22 44278752 22:44278752G-A G A
+22 44279315 22:44279315T-C T C
+22 44279427 22:44279427T-C T C
+22 44279455 22:44279455C-T C T
+22 44279505 22:44279505C-A C A
+22 44280394 22:44280394C-T C T
+22 44280412 22:44280412G-T G T
+22 44280501 22:44280501A-G A G
+22 44280733 22:44280733A-G A G
+22 44280832 22:44280832A-G A G
+22 44280882 22:44280882C-T C T
+22 44281073 22:44281073T-C T C
+22 44281144 22:44281144C-A C A
+22 44281161 22:44281161C-T C T
+22 44281234 22:44281234C-A C A
+22 44281311 22:44281311T-C T C
+22 44281380 22:44281380T-C T C
+22 44281607 22:44281607G-A G A
+22 44281708 22:44281708T-G T G
+22 44282276 22:44282276A-G A G
+22 44282307 22:44282307G-A G A
+22 44282503 22:44282503C-T C T
+22 44282693 22:44282693C-T C T
+22 44282956 22:44282956C-G C G
+22 44283020 22:44283020C-T C T
+22 44283440 22:44283440G-A G A
+22 44283556 22:44283556A-G A G
+22 44284681 22:44284681G-C G C
+22 44284815 22:44284815A-G A G
+22 44284854 22:44284854A-G A G
+22 44284954 22:44284954A-G A G
+22 44285069 22:44285069G-A G A
+22 44285428 22:44285428G-A G A
+22 44285658 22:44285658G-A G A
+22 44285667 22:44285667G-A G A
+22 44285765 22:44285765A-G A G
+22 44285812 22:44285812C-T C T
+22 44286095 22:44286095G-T G T
+22 44286153 22:44286153G-T G T
+22 44286316 22:44286316T-C T C
+22 44286531 22:44286531T-C T C
+22 44286950 22:44286950G-A G A
+22 44287062 22:44287062A-G A G
+22 44287207 22:44287207C-T C T
+22 44287629 22:44287629G-A G A
+22 44288306 22:44288306G-C G C
+22 44288984 22:44288984A-G A G
+22 44288990 22:44288990T-G T G
+22 44289262 22:44289262A-G A G
+22 44289343 22:44289343C-T C T
+22 44289659 22:44289659A-G A G
+22 44289672 22:44289672G-T G T
+22 44289823 22:44289823G-A G A
+22 44290198 22:44290198C-G C G
+22 44290275 22:44290275G-T G T
+22 44290315 22:44290315C-T C T
+22 44290412 22:44290412A-G A G
+22 44290480 22:44290480C-T C T
+22 44290483 22:44290483T-A T A
+22 44290504 22:44290504A-G A G
+22 44290527 22:44290527G-A G A
+22 44290570 22:44290570G-A G A
+22 44290576 22:44290576G-A G A
+22 44290697 22:44290697A-G A G
+22 44290872 22:44290872G-A G A
+22 44290958 22:44290958G-C G C
+22 44291020 22:44291020C-T C T
+22 44291100 22:44291100A-G A G
+22 44291231 22:44291231G-A G A
+22 44291299 22:44291299A-G A G
+22 44291658 22:44291658C-T C T
+22 44292055 22:44292055G-T G T
+22 44292088 22:44292088T-G T G
+22 44292371 22:44292371C-T C T
+22 44292431 22:44292431G-T G T
+22 44292448 22:44292448T-C T C
+22 44292971 22:44292971C-T C T
+22 44292978 22:44292978C-T C T
+22 44293068 22:44293068A-G A G
+22 44293320 22:44293320G-T G T
+22 44293322 22:44293322T-C T C
+22 44293352 22:44293352G-A G A
+22 44293654 22:44293654G-A G A
+22 44293787 22:44293787C-T C T
+22 44295495 22:44295495C-G C G
+22 44295805 22:44295805G-A G A
+22 44296050 22:44296050T-C T C
+22 44296254 22:44296254A-T A T
+22 44296367 22:44296367A-G A G
+22 44296372 22:44296372C-T C T
+22 44296774 22:44296774G-A G A
+22 44297142 22:44297142G-C G C
+22 44297277 22:44297277T-G T G
+22 44297553 22:44297553C-T C T
+22 44297565 22:44297565T-G T G
+22 44297686 22:44297686A-T A T
+22 44298085 22:44298085A-G A G
+22 44298257 22:44298257C-T C T
+22 44298339 22:44298339G-A G A
+22 44298499 22:44298499G-A G A
+22 44298590 22:44298590C-T C T
+22 44298838 22:44298838G-A G A
+22 44298894 22:44298894G-A G A
+22 44299668 22:44299668T-C T C
+22 44299685 22:44299685C-T C T
+22 44300058 22:44300058G-C G C
+22 44300299 22:44300299C-T C T
+22 44300367 22:44300367T-G T G
+22 44300473 22:44300473C-T C T
+22 44300482 22:44300482C-T C T
+22 44300717 22:44300717G-C G C
+22 44301176 22:44301176G-A G A
+22 44301263 22:44301263C-T C T
+22 44301272 22:44301272C-T C T
+22 44301924 22:44301924A-G A G
+22 44302337 22:44302337T-C T C
+22 44302347 22:44302347A-G A G
+22 44302788 22:44302788A-G A G
+22 44303499 22:44303499A-G A G
+22 44303767 22:44303767G-T G T
+22 44303957 22:44303957G-A G A
+22 44304316 22:44304316G-A G A
+22 44304419 22:44304419T-G T G
+22 44305218 22:44305218C-T C T
+22 44305615 22:44305615C-T C T
+22 44306271 22:44306271C-G C G
+22 44307535 22:44307535C-T C T
+22 44310090 22:44310090T-G T G
+22 44310518 22:44310518A-G A G
+22 44311471 22:44311471C-T C T
+22 44311590 22:44311590A-G A G
+22 44311862 22:44311862T-C T C
+22 44313235 22:44313235T-C T C
+22 44313549 22:44313549A-G A G
+22 44313849 22:44313849A-G A G
+22 44314257 22:44314257A-G A G
+22 44314284 22:44314284T-C T C
+22 44314349 22:44314349C-T C T
+22 44314425 22:44314425A-G A G
+22 44314525 22:44314525T-C T C
+22 44314919 22:44314919T-C T C
+22 44314949 22:44314949A-G A G
+22 44315079 22:44315079A-G A G
+22 44315233 22:44315233T-G T G
+22 44315863 22:44315863G-C G C
+22 44316389 22:44316389A-G A G
+22 44316700 22:44316700A-T A T
+22 44317084 22:44317084A-G A G
+22 44317416 22:44317416A-T A T
+22 44322922 22:44322922T-G T G
+22 44322970 22:44322970G-T G T
+22 44323597 22:44323597C-T C T
+22 44323955 22:44323955T-C T C
+22 44323965 22:44323965A-G A G
+22 44324104 22:44324104C-T C T
+22 44324171 22:44324171C-T C T
+22 44324181 22:44324181G-A G A
+22 44324558 22:44324558C-T C T
+22 44324676 22:44324676A-G A G
+22 44324727 22:44324727C-G C G
+22 44324730 22:44324730C-T C T
+22 44324855 22:44324855G-A G A
+22 44325516 22:44325516G-T G T
+22 44325565 22:44325565C-T C T
+22 44325631 22:44325631C-T C T
+22 44325748 22:44325748A-G A G
+22 44325855 22:44325855C-A C A
+22 44325996 22:44325996G-A G A
+22 44326272 22:44326272T-C T C
+22 44326700 22:44326700C-T C T
+22 44326867 22:44326867C-A C A
+22 44327012 22:44327012C-A C A
+22 44327075 22:44327075C-T C T
+22 44327179 22:44327179G-A G A
+22 44327192 22:44327192A-G A G
+22 44327273 22:44327273A-G A G
+22 44327981 22:44327981G-C G C
+22 44328043 22:44328043T-C T C
+22 44328075 22:44328075A-G A G
+22 44328730 22:44328730G-A G A
+22 44329078 22:44329078C-T C T
+22 44329197 22:44329197G-A G A
+22 44329275 22:44329275G-A G A
+22 44329719 22:44329719C-T C T
+22 44330031 22:44330031C-T C T
+22 44330128 22:44330128T-C T C
+22 44330274 22:44330274G-A G A
+22 44331060 22:44331060G-C G C
+22 44331513 22:44331513C-G C G
+22 44331711 22:44331711G-A G A
+22 44331778 22:44331778C-G C G
+22 44331815 22:44331815C-G C G
+22 44331943 22:44331943G-A G A
+22 44332477 22:44332477T-C T C
+22 44332493 22:44332493T-C T C
+22 44332570 22:44332570G-A G A
+22 44332653 22:44332653C-G C G
+22 44332878 22:44332878C-T C T
+22 44333172 22:44333172A-G A G
+22 44333370 22:44333370A-G A G
+22 44333479 22:44333479C-G C G
+22 44333694 22:44333694T-G T G
+22 44333945 22:44333945C-G C G
+22 44333968 22:44333968T-C T C
+22 44334476 22:44334476T-C T C
+22 44334486 22:44334486T-C T C
+22 44334529 22:44334529T-C T C
+22 44334842 22:44334842T-C T C
+22 44335331 22:44335331T-C T C
+22 44335406 22:44335406C-A C A
+22 44335416 22:44335416C-T C T
+22 44335453 22:44335453G-T G T
+22 44335744 22:44335744T-C T C
+22 44336098 22:44336098T-C T C
+22 44336310 22:44336310A-G A G
+22 44336496 22:44336496T-C T C
+22 44336957 22:44336957G-A G A
+22 44337533 22:44337533G-A G A
+22 44337610 22:44337610G-A G A
+22 44338049 22:44338049T-C T C
+22 44338105 22:44338105C-T C T
+22 44338134 22:44338134T-C T C
+22 44339055 22:44339055A-G A G
+22 44339526 22:44339526C-G C G
+22 44339791 22:44339791C-G C G
+22 44340086 22:44340086C-T C T
+22 44340904 22:44340904C-T C T
+22 44340922 22:44340922T-G T G
+22 44341193 22:44341193T-C T C
+22 44341298 22:44341298G-A G A
+22 44341398 22:44341398C-A C A
+22 44341606 22:44341606T-C T C
+22 44341666 22:44341666A-G A G
+22 44341672 22:44341672T-C T C
+22 44341986 22:44341986T-C T C
+22 44342116 22:44342116A-G A G
+22 44342325 22:44342325C-T C T
+22 44342691 22:44342691T-C T C
+22 44342969 22:44342969T-C T C
+22 44343009 22:44343009T-A T A
+22 44343151 22:44343151A-G A G
+22 44343352 22:44343352A-G A G
+22 44343626 22:44343626A-C A C
+22 44344011 22:44344011A-G A G
+22 44344872 22:44344872C-T C T
+22 44345771 22:44345771G-A G A
+22 44345926 22:44345926C-T C T
+22 44346079 22:44346079A-G A G
+22 44346128 22:44346128C-T C T
+22 44346639 22:44346639T-G T G
+22 44346965 22:44346965G-A G A
+22 44347137 22:44347137C-G C G
+22 44347250 22:44347250C-T C T
+22 44347251 22:44347251G-A G A
+22 44347355 22:44347355G-C G C
+22 44347433 22:44347433G-T G T
+22 44347504 22:44347504C-A C A
+22 44348116 22:44348116G-A G A
+22 44348284 22:44348284C-T C T
+22 44348446 22:44348446G-T G T
+22 44348803 22:44348803T-A T A
+22 44349215 22:44349215T-C T C
+22 44349236 22:44349236T-C T C
+22 44350417 22:44350417C-G C G
+22 44351351 22:44351351T-C T C
+22 44353447 22:44353447C-T C T
+22 44354111 22:44354111C-T C T
+22 44354398 22:44354398A-G A G
+22 44354598 22:44354598C-T C T
+22 44354865 22:44354865A-G A G
+22 44355230 22:44355230A-G A G
+22 44355569 22:44355569C-T C T
+22 44356349 22:44356349C-G C G
+22 44356468 22:44356468G-A G A
+22 44356480 22:44356480G-T G T
+22 44356562 22:44356562T-C T C
+22 44356566 22:44356566G-A G A
+22 44357894 22:44357894G-T G T
+22 44357900 22:44357900G-A G A
+22 44357928 22:44357928A-C A C
+22 44357940 22:44357940T-A T A
+22 44358030 22:44358030C-T C T
+22 44358360 22:44358360C-G C G
+22 44358812 22:44358812G-A G A
+22 44358819 22:44358819G-C G C
+22 44358997 22:44358997A-G A G
+22 44359651 22:44359651T-C T C
+22 44359715 22:44359715C-T C T
+22 44359729 22:44359729C-T C T
+22 44359938 22:44359938C-A C A
+22 44360007 22:44360007G-A G A
+22 44360010 22:44360010C-A C A
+22 44361497 22:44361497C-A C A
+22 44361713 22:44361713T-A T A
+22 44361842 22:44361842C-T C T
+22 44362178 22:44362178G-A G A
+22 44362532 22:44362532G-A G A
+22 44362815 22:44362815C-T C T
+22 44363736 22:44363736C-T C T
+22 44363939 22:44363939T-A T A
+22 44364594 22:44364594C-T C T
+22 44364794 22:44364794T-C T C
+22 44365232 22:44365232G-C G C
+22 44365742 22:44365742G-A G A
+22 44366135 22:44366135G-A G A
+22 44366809 22:44366809A-G A G
+22 44366874 22:44366874G-A G A
+22 44367249 22:44367249C-T C T
+22 44368039 22:44368039T-C T C
+22 44368122 22:44368122A-G A G
+22 44368204 22:44368204A-G A G
+22 44368584 22:44368584G-A G A
+22 44368741 22:44368741C-T C T
+22 44369329 22:44369329C-T C T
+22 44369429 22:44369429C-T C T
+22 44369927 22:44369927C-T C T
+22 44370175 22:44370175C-T C T
+22 44370336 22:44370336T-G T G
+22 44370337 22:44370337T-C T C
+22 44370439 22:44370439A-C A C
+22 44370615 22:44370615T-C T C
+22 44370955 22:44370955A-G A G
+22 44371030 22:44371030G-A G A
+22 44371243 22:44371243A-G A G
+22 44371312 22:44371312G-A G A
+22 44371406 22:44371406A-G A G
+22 44371725 22:44371725C-G C G
+22 44372069 22:44372069G-A G A
+22 44372190 22:44372190C-T C T
+22 44372331 22:44372331C-T C T
+22 44372632 22:44372632C-T C T
+22 44373579 22:44373579G-A G A
+22 44373947 22:44373947G-A G A
+22 44374195 22:44374195G-T G T
+22 44374267 22:44374267A-G A G
+22 44374584 22:44374584A-T A T
+22 44375244 22:44375244C-T C T
+22 44375275 22:44375275C-A C A
+22 44375438 22:44375438C-T C T
+22 44375507 22:44375507T-C T C
+22 44375742 22:44375742C-T C T
+22 44376335 22:44376335C-T C T
+22 44377221 22:44377221G-T G T
+22 44377442 22:44377442A-G A G
+22 44377557 22:44377557A-C A C
+22 44377999 22:44377999C-T C T
+22 44378672 22:44378672C-A C A
+22 44378809 22:44378809C-T C T
+22 44379565 22:44379565G-C G C
+22 44379740 22:44379740C-A C A
+22 44379822 22:44379822T-C T C
+22 44379838 22:44379838A-G A G
+22 44380009 22:44380009A-G A G
+22 44380033 22:44380033T-C T C
+22 44380767 22:44380767T-C T C
+22 44381223 22:44381223G-C G C
+22 44381340 22:44381340T-C T C
+22 44381482 22:44381482C-T C T
+22 44381545 22:44381545C-T C T
+22 44382004 22:44382004C-A C A
+22 44382247 22:44382247A-C A C
+22 44382533 22:44382533C-T C T
+22 44382684 22:44382684T-C T C
+22 44382853 22:44382853G-A G A
+22 44383070 22:44383070T-C T C
+22 44383400 22:44383400C-T C T
+22 44383432 22:44383432G-C G C
+22 44383502 22:44383502T-C T C
+22 44383617 22:44383617C-G C G
+22 44384279 22:44384279C-G C G
+22 44384881 22:44384881G-C G C
+22 44385583 22:44385583T-C T C
+22 44385594 22:44385594A-G A G
+22 44386281 22:44386281C-T C T
+22 44387108 22:44387108A-G A G
+22 44387298 22:44387298C-T C T
+22 44387996 22:44387996G-C G C
+22 44388208 22:44388208C-T C T
+22 44388337 22:44388337G-A G A
+22 44388417 22:44388417A-G A G
+22 44388817 22:44388817T-C T C
+22 44389392 22:44389392G-A G A
+22 44389514 22:44389514T-C T C
+22 44390048 22:44390048G-A G A
+22 44390236 22:44390236T-C T C
+22 44390366 22:44390366A-G A G
+22 44390547 22:44390547G-A G A
+22 44390568 22:44390568C-T C T
+22 44391025 22:44391025T-C T C
+22 44391234 22:44391234G-A G A
+22 44391588 22:44391588T-C T C
+22 44391686 22:44391686G-A G A
+22 44392658 22:44392658C-T C T
+22 44392731 22:44392731C-T C T
+22 44393075 22:44393075C-T C T
+22 44393093 22:44393093T-C T C
+22 44393241 22:44393241C-T C T
+22 44393476 22:44393476C-T C T
+22 44393838 22:44393838C-T C T
+22 44393897 22:44393897C-A C A
+22 44394019 22:44394019T-A T A
+22 44394402 22:44394402C-T C T
+22 44395389 22:44395389A-C A C
+22 44395451 22:44395451T-C T C
+22 44396533 22:44396533G-A G A
+22 44397144 22:44397144A-G A G
+22 44398201 22:44398201G-C G C
+22 44398524 22:44398524A-G A G
+22 44399761 22:44399761A-G A G
+22 44400698 22:44400698G-A G A
+22 44401022 22:44401022C-T C T
+22 44401124 22:44401124C-T C T
+22 44401191 22:44401191C-T C T
+22 44401232 22:44401232G-A G A
+22 44401820 22:44401820C-T C T
+22 44401871 22:44401871C-T C T
+22 44401967 22:44401967C-T C T
+22 44402169 22:44402169C-T C T
+22 44402305 22:44402305A-G A G
+22 44402641 22:44402641C-T C T
+22 44404522 22:44404522A-G A G
+22 44405981 22:44405981C-T C T
+22 44407326 22:44407326C-T C T
+22 44407402 22:44407402C-A C A
+22 44407599 22:44407599T-C T C
+22 44407745 22:44407745A-T A T
+22 44407835 22:44407835A-G A G
+22 44408241 22:44408241T-C T C
+22 44408814 22:44408814T-C T C
+22 44408935 22:44408935C-G C G
+22 44409075 22:44409075A-G A G
+22 44409176 22:44409176G-A G A
+22 44409367 22:44409367G-A G A
+22 44409575 22:44409575C-T C T
+22 44409993 22:44409993G-A G A
+22 44410173 22:44410173A-G A G
+22 44411638 22:44411638T-G T G
+22 44411910 22:44411910C-T C T
+22 44412952 22:44412952G-A G A
+22 44412972 22:44412972C-G C G
+22 44414326 22:44414326G-A G A
+22 44415325 22:44415325G-C G C
+22 44415523 22:44415523A-G A G
+22 44416361 22:44416361A-C A C
+22 44416429 22:44416429A-G A G
+22 44417970 22:44417970C-T C T
+22 44418321 22:44418321C-T C T
+22 44418444 22:44418444A-G A G
+22 44418447 22:44418447T-C T C
+22 44419039 22:44419039C-T C T
+22 44419185 22:44419185G-T G T
+22 44419871 22:44419871T-C T C
+22 44420015 22:44420015G-C G C
+22 44420498 22:44420498A-G A G
+22 44420859 22:44420859A-T A T
+22 44420897 22:44420897C-T C T
+22 44421425 22:44421425G-A G A
+22 44421563 22:44421563G-T G T
+22 44422046 22:44422046A-C A C
+22 44422333 22:44422333T-C T C
+22 44422501 22:44422501C-T C T
+22 44422638 22:44422638T-C T C
+22 44422912 22:44422912T-C T C
+22 44422945 22:44422945C-T C T
+22 44422964 22:44422964G-T G T
+22 44423396 22:44423396G-A G A
+22 44423923 22:44423923C-G C G
+22 44424108 22:44424108C-T C T
+22 44424423 22:44424423A-G A G
+22 44424649 22:44424649T-C T C
+22 44425427 22:44425427A-G A G
+22 44425678 22:44425678T-G T G
+22 44426576 22:44426576C-T C T
+22 44426745 22:44426745C-T C T
+22 44426847 22:44426847G-T G T
+22 44427256 22:44427256C-T C T
+22 44427564 22:44427564C-T C T
+22 44427612 22:44427612C-T C T
+22 44427703 22:44427703G-A G A
+22 44427967 22:44427967G-A G A
+22 44428015 22:44428015G-A G A
+22 44428546 22:44428546C-T C T
+22 44428547 22:44428547G-A G A
+22 44429391 22:44429391G-T G T
+22 44429417 22:44429417G-A G A
+22 44429604 22:44429604G-T G T
+22 44429762 22:44429762C-T C T
+22 44430730 22:44430730A-G A G
+22 44430859 22:44430859G-C G C
+22 44430914 22:44430914A-G A G
+22 44431410 22:44431410C-T C T
+22 44431527 22:44431527G-A G A
+22 44431737 22:44431737A-T A T
+22 44432366 22:44432366A-T A T
+22 44433129 22:44433129C-T C T
+22 44433243 22:44433243C-T C T
+22 44434012 22:44434012C-G C G
+22 44434674 22:44434674C-A C A
+22 44434950 22:44434950G-A G A
+22 44435251 22:44435251C-T C T
+22 44435430 22:44435430G-A G A
+22 44435552 22:44435552G-A G A
+22 44436192 22:44436192G-C G C
+22 44438206 22:44438206T-C T C
+22 44439251 22:44439251T-G T G
+22 44441152 22:44441152C-A C A
+22 44445659 22:44445659C-T C T
+22 44445727 22:44445727C-A C A
+22 44446948 22:44446948C-T C T
+22 44447046 22:44447046A-G A G
+22 44447486 22:44447486G-A G A
+22 44448338 22:44448338G-A G A
+22 44448694 22:44448694T-G T G
+22 44448755 22:44448755T-C T C
+22 44449227 22:44449227G-T G T
+22 44449310 22:44449310C-G C G
+22 44451445 22:44451445C-T C T
+22 44451613 22:44451613C-T C T
+22 44451823 22:44451823C-T C T
+22 44451931 22:44451931G-A G A
+22 44451956 22:44451956A-G A G
+22 44452019 22:44452019C-G C G
+22 44452022 22:44452022C-T C T
+22 44452089 22:44452089T-C T C
+22 44452318 22:44452318A-G A G
+22 44452412 22:44452412T-G T G
+22 44453028 22:44453028T-C T C
+22 44453354 22:44453354G-C G C
+22 44454166 22:44454166G-A G A
+22 44454516 22:44454516C-A C A
+22 44454642 22:44454642G-C G C
+22 44454738 22:44454738G-A G A
+22 44455173 22:44455173A-C A C
+22 44455473 22:44455473A-G A G
+22 44455489 22:44455489G-A G A
+22 44455868 22:44455868C-G C G
+22 44456017 22:44456017A-C A C
+22 44456485 22:44456485C-A C A
+22 44456692 22:44456692T-C T C
+22 44456841 22:44456841C-T C T
+22 44456897 22:44456897A-T A T
+22 44456998 22:44456998C-T C T
+22 44457259 22:44457259C-T C T
+22 44457982 22:44457982C-T C T
+22 44458072 22:44458072C-T C T
+22 44458106 22:44458106C-A C A
+22 44458120 22:44458120G-C G C
+22 44458334 22:44458334A-G A G
+22 44458520 22:44458520A-C A C
+22 44458618 22:44458618C-T C T
+22 44458760 22:44458760G-A G A
+22 44458837 22:44458837G-T G T
+22 44459445 22:44459445G-A G A
+22 44459518 22:44459518G-C G C
+22 44459609 22:44459609G-A G A
+22 44459995 22:44459995T-C T C
+22 44460017 22:44460017G-A G A
+22 44460147 22:44460147G-A G A
+22 44460289 22:44460289A-G A G
+22 44461952 22:44461952C-G C G
+22 44462540 22:44462540A-C A C
+22 44462663 22:44462663C-T C T
+22 44463867 22:44463867G-T G T
+22 44464387 22:44464387C-T C T
+22 44465036 22:44465036C-T C T
+22 44465304 22:44465304A-T A T
+22 44465535 22:44465535A-G A G
+22 44466550 22:44466550A-G A G
+22 44466687 22:44466687A-G A G
+22 44466935 22:44466935T-G T G
+22 44467070 22:44467070G-A G A
+22 44467676 22:44467676C-T C T
+22 44467752 22:44467752A-G A G
+22 44467763 22:44467763G-A G A
+22 44467899 22:44467899T-C T C
+22 44467910 22:44467910A-G A G
+22 44468474 22:44468474T-C T C
+22 44469935 22:44469935G-A G A
+22 44470036 22:44470036A-G A G
+22 44470640 22:44470640G-A G A
+22 44470930 22:44470930G-C G C
+22 44471876 22:44471876T-C T C
+22 44472344 22:44472344G-A G A
+22 44473752 22:44473752G-A G A
+22 44474506 22:44474506G-A G A
+22 44474750 22:44474750G-A G A
+22 44475226 22:44475226T-C T C
+22 44475243 22:44475243G-C G C
+22 44476064 22:44476064T-C T C
+22 44476235 22:44476235C-T C T
+22 44476774 22:44476774C-T C T
+22 44477628 22:44477628C-T C T
+22 44478850 22:44478850A-G A G
+22 44480397 22:44480397T-C T C
+22 44480513 22:44480513A-G A G
+22 44480524 22:44480524G-C G C
+22 44482391 22:44482391C-T C T
+22 44482941 22:44482941A-T A T
+22 44483210 22:44483210A-G A G
+22 44483280 22:44483280T-G T G
+22 44483881 22:44483881G-C G C
+22 44484199 22:44484199C-T C T
+22 44485397 22:44485397T-G T G
+22 44486286 22:44486286A-G A G
+22 44487334 22:44487334G-T G T
+22 44487581 22:44487581C-G C G
+22 44487928 22:44487928C-A C A
+22 44488013 22:44488013A-G A G
+22 44488047 22:44488047C-G C G
+22 44488076 22:44488076C-T C T
+22 44488225 22:44488225G-A G A
+22 44488279 22:44488279G-A G A
+22 44488575 22:44488575G-A G A
+22 44488796 22:44488796A-G A G
+22 44488973 22:44488973C-G C G
+22 44489022 22:44489022G-A G A
+22 44489038 22:44489038G-A G A
+22 44489868 22:44489868T-C T C
+22 44489896 22:44489896T-C T C
+22 44489942 22:44489942C-T C T
+22 44490232 22:44490232A-G A G
+22 44490254 22:44490254G-A G A
+22 44490765 22:44490765C-G C G
+22 44491035 22:44491035T-C T C
+22 44491115 22:44491115A-G A G
+22 44491116 22:44491116C-T C T
+22 44491127 22:44491127A-G A G
+22 44491209 22:44491209C-T C T
+22 44491451 22:44491451G-A G A
+22 44491577 22:44491577T-C T C
+22 44491632 22:44491632G-A G A
+22 44491776 22:44491776A-G A G
+22 44491823 22:44491823A-G A G
+22 44491827 22:44491827G-C G C
+22 44491901 22:44491901C-T C T
+22 44491908 22:44491908A-G A G
+22 44492009 22:44492009T-G T G
+22 44492170 22:44492170A-G A G
+22 44492256 22:44492256T-C T C
+22 44492258 22:44492258A-G A G
+22 44492659 22:44492659T-C T C
+22 44492675 22:44492675A-G A G
+22 44492679 22:44492679C-T C T
+22 44492790 22:44492790A-T A T
+22 44492856 22:44492856G-A G A
+22 44492869 22:44492869T-C T C
+22 44492872 22:44492872A-G A G
+22 44493101 22:44493101C-T C T
+22 44493316 22:44493316G-A G A
+22 44493321 22:44493321T-C T C
+22 44493451 22:44493451C-G C G
+22 44493470 22:44493470A-G A G
+22 44493534 22:44493534A-G A G
+22 44493564 22:44493564T-C T C
+22 44493823 22:44493823A-G A G
+22 44493913 22:44493913C-T C T
+22 44494047 22:44494047C-T C T
+22 44494317 22:44494317A-G A G
+22 44494419 22:44494419G-A G A
+22 44494466 22:44494466C-T C T
+22 44495529 22:44495529G-A G A
+22 44496917 22:44496917A-G A G
+22 44499217 22:44499217A-C A C
+22 44499343 22:44499343A-C A C
+22 44503197 22:44503197T-A T A
+22 44503482 22:44503482T-G T G
+22 44503633 22:44503633C-A C A
+22 44503719 22:44503719C-T C T
+22 44503911 22:44503911G-A G A
+22 44504005 22:44504005C-T C T
+22 44504273 22:44504273C-G C G
+22 44504802 22:44504802G-A G A
+22 44504928 22:44504928T-A T A
+22 44505281 22:44505281A-T A T
+22 44506536 22:44506536C-G C G
+22 44507510 22:44507510T-A T A
+22 44507872 22:44507872G-A G A
+22 44508200 22:44508200G-T G T
+22 44511893 22:44511893T-C T C
+22 44511930 22:44511930T-C T C
+22 44512099 22:44512099C-G C G
+22 44512124 22:44512124A-G A G
+22 44512474 22:44512474T-C T C
+22 44512622 22:44512622T-C T C
+22 44512633 22:44512633G-C G C
+22 44512684 22:44512684T-C T C
+22 44512795 22:44512795A-G A G
+22 44512808 22:44512808T-C T C
+22 44512848 22:44512848T-C T C
+22 44513004 22:44513004T-C T C
+22 44513291 22:44513291G-A G A
+22 44513372 22:44513372G-T G T
+22 44513473 22:44513473T-C T C
+22 44513658 22:44513658T-C T C
+22 44513829 22:44513829G-A G A
+22 44514242 22:44514242A-G A G
+22 44514257 22:44514257C-T C T
+22 44514267 22:44514267A-G A G
+22 44514303 22:44514303A-G A G
+22 44514315 22:44514315G-A G A
+22 44514674 22:44514674G-A G A
+22 44514809 22:44514809C-T C T
+22 44515806 22:44515806G-C G C
+22 44517265 22:44517265C-A C A
+22 44517280 22:44517280C-T C T
+22 44517889 22:44517889T-C T C
+22 44519414 22:44519414C-T C T
+22 44519892 22:44519892C-T C T
+22 44521036 22:44521036T-G T G
+22 44521125 22:44521125A-T A T
+22 44521275 22:44521275C-T C T
+22 44521438 22:44521438C-T C T
+22 44521886 22:44521886G-C G C
+22 44522312 22:44522312T-C T C
+22 44522350 22:44522350G-C G C
+22 44522741 22:44522741A-G A G
+22 44522833 22:44522833C-T C T
+22 44524197 22:44524197C-A C A
+22 44524270 22:44524270G-T G T
+22 44524638 22:44524638A-G A G
+22 44525091 22:44525091A-G A G
+22 44525214 22:44525214G-A G A
+22 44525374 22:44525374G-A G A
+22 44525634 22:44525634T-C T C
+22 44525739 22:44525739A-G A G
+22 44525798 22:44525798C-G C G
+22 44526130 22:44526130A-G A G
+22 44526267 22:44526267C-T C T
+22 44527211 22:44527211G-T G T
+22 44527227 22:44527227T-G T G
+22 44527714 22:44527714G-A G A
+22 44527845 22:44527845A-G A G
+22 44528146 22:44528146A-T A T
+22 44530079 22:44530079G-A G A
+22 44530420 22:44530420T-C T C
+22 44530454 22:44530454C-T C T
+22 44530774 22:44530774A-C A C
+22 44531006 22:44531006C-T C T
+22 44531337 22:44531337C-T C T
+22 44534887 22:44534887T-A T A
+22 44535208 22:44535208T-C T C
+22 44535578 22:44535578G-A G A
+22 44537135 22:44537135G-C G C
+22 44537905 22:44537905T-C T C
+22 44538688 22:44538688T-C T C
+22 44538890 22:44538890C-T C T
+22 44538901 22:44538901C-T C T
+22 44539293 22:44539293T-C T C
+22 44539902 22:44539902G-A G A
+22 44540391 22:44540391G-A G A
+22 44540969 22:44540969T-C T C
+22 44540972 22:44540972G-A G A
+22 44541350 22:44541350C-A C A
+22 44541359 22:44541359C-G C G
+22 44541404 22:44541404A-G A G
+22 44542317 22:44542317C-T C T
+22 44543005 22:44543005C-T C T
+22 44543436 22:44543436T-G T G
+22 44544028 22:44544028G-A G A
+22 44544660 22:44544660A-G A G
+22 44545356 22:44545356C-T C T
+22 44545365 22:44545365T-C T C
+22 44545522 22:44545522A-G A G
+22 44545545 22:44545545T-C T C
+22 44545762 22:44545762G-A G A
+22 44546419 22:44546419C-T C T
+22 44546499 22:44546499T-C T C
+22 44546582 22:44546582A-G A G
+22 44546861 22:44546861G-A G A
+22 44547711 22:44547711T-C T C
+22 44548944 22:44548944A-G A G
+22 44549577 22:44549577A-G A G
+22 44550970 22:44550970G-A G A
+22 44551180 22:44551180C-A C A
+22 44552752 22:44552752G-T G T
+22 44552766 22:44552766T-C T C
+22 44553005 22:44553005G-A G A
+22 44553006 22:44553006A-C A C
+22 44553011 22:44553011C-T C T
+22 44553186 22:44553186C-T C T
+22 44554577 22:44554577G-C G C
+22 44554779 22:44554779A-G A G
+22 44554952 22:44554952A-C A C
+22 44555028 22:44555028G-A G A
+22 44555444 22:44555444G-A G A
+22 44555610 22:44555610G-A G A
+22 44555712 22:44555712A-T A T
+22 44556101 22:44556101G-C G C
+22 44557025 22:44557025A-G A G
+22 44557063 22:44557063G-A G A
+22 44557169 22:44557169C-T C T
+22 44557295 22:44557295G-A G A
+22 44557355 22:44557355G-A G A
+22 44558459 22:44558459A-C A C
+22 44558493 22:44558493G-C G C
+22 44558682 22:44558682G-C G C
+22 44558718 22:44558718G-A G A
+22 44558811 22:44558811T-C T C
+22 44559335 22:44559335G-A G A
+22 44559645 22:44559645C-T C T
+22 44559842 22:44559842A-G A G
+22 44559995 22:44559995G-A G A
+22 44560133 22:44560133A-T A T
+22 44560573 22:44560573C-T C T
+22 44560839 22:44560839A-G A G
+22 44560873 22:44560873T-C T C
+22 44561016 22:44561016C-T C T
+22 44561287 22:44561287T-C T C
+22 44561418 22:44561418G-A G A
+22 44562261 22:44562261G-A G A
+22 44562349 22:44562349A-G A G
+22 44562445 22:44562445G-A G A
+22 44562729 22:44562729A-G A G
+22 44562838 22:44562838G-T G T
+22 44563102 22:44563102C-T C T
+22 44563539 22:44563539G-A G A
+22 44564297 22:44564297A-C A C
+22 44564402 22:44564402G-A G A
+22 44564407 22:44564407C-T C T
+22 44565334 22:44565334C-T C T
+22 44565511 22:44565511G-A G A
+22 44565592 22:44565592G-A G A
+22 44566069 22:44566069T-C T C
+22 44566184 22:44566184A-G A G
+22 44566273 22:44566273G-A G A
+22 44566434 22:44566434G-A G A
+22 44566563 22:44566563C-A C A
+22 44566985 22:44566985C-T C T
+22 44567236 22:44567236C-A C A
+22 44567435 22:44567435A-G A G
+22 44567644 22:44567644T-C T C
+22 44567740 22:44567740C-T C T
+22 44567854 22:44567854G-T G T
+22 44568078 22:44568078G-A G A
+22 44569142 22:44569142A-G A G
+22 44569203 22:44569203G-A G A
+22 44569216 22:44569216A-G A G
+22 44569340 22:44569340T-C T C
+22 44569346 22:44569346G-A G A
+22 44569390 22:44569390G-A G A
+22 44569414 22:44569414C-A C A
+22 44569532 22:44569532C-T C T
+22 44569722 22:44569722C-T C T
+22 44569723 22:44569723G-A G A
+22 44569980 22:44569980G-A G A
+22 44571080 22:44571080C-T C T
+22 44571555 22:44571555C-T C T
+22 44571565 22:44571565G-T G T
+22 44571672 22:44571672G-A G A
+22 44571818 22:44571818A-G A G
+22 44571826 22:44571826A-G A G
+22 44571828 22:44571828C-T C T
+22 44572076 22:44572076T-C T C
+22 44572210 22:44572210T-G T G
+22 44572281 22:44572281G-A G A
+22 44572578 22:44572578G-A G A
+22 44572681 22:44572681G-A G A
+22 44573542 22:44573542C-T C T
+22 44573620 22:44573620A-G A G
+22 44573661 22:44573661A-G A G
+22 44574000 22:44574000A-G A G
+22 44574404 22:44574404G-A G A
+22 44574547 22:44574547A-G A G
+22 44575138 22:44575138C-G C G
+22 44575578 22:44575578G-C G C
+22 44575868 22:44575868A-G A G
+22 44576085 22:44576085A-G A G
+22 44576132 22:44576132A-G A G
+22 44576213 22:44576213C-G C G
+22 44577649 22:44577649G-C G C
+22 44577683 22:44577683T-A T A
+22 44579695 22:44579695G-A G A
+22 44579736 22:44579736T-C T C
+22 44579831 22:44579831C-T C T
+22 44580149 22:44580149A-G A G
+22 44580261 22:44580261C-T C T
+22 44580470 22:44580470C-T C T
+22 44580787 22:44580787A-G A G
+22 44580936 22:44580936A-G A G
+22 44581046 22:44581046C-T C T
+22 44581403 22:44581403A-G A G
+22 44581549 22:44581549G-A G A
+22 44582105 22:44582105G-A G A
+22 44582136 22:44582136G-A G A
+22 44582264 22:44582264G-A G A
+22 44582820 22:44582820T-G T G
+22 44582929 22:44582929A-C A C
+22 44584857 22:44584857C-G C G
+22 44585521 22:44585521G-A G A
+22 44585899 22:44585899T-A T A
+22 44585941 22:44585941A-G A G
+22 44585958 22:44585958A-C A C
+22 44586522 22:44586522C-T C T
+22 44586805 22:44586805G-A G A
+22 44588459 22:44588459T-C T C
+22 44588796 22:44588796G-T G T
+22 44589008 22:44589008T-C T C
+22 44589857 22:44589857T-G T G
+22 44590726 22:44590726T-C T C
+22 44590992 22:44590992G-A G A
+22 44593488 22:44593488C-G C G
+22 44593624 22:44593624T-C T C
+22 44594033 22:44594033T-A T A
+22 44594135 22:44594135A-G A G
+22 44594209 22:44594209T-G T G
+22 44594476 22:44594476T-C T C
+22 44594584 22:44594584C-G C G
+22 44594992 22:44594992T-A T A
+22 44595239 22:44595239A-G A G
+22 44595439 22:44595439C-T C T
+22 44595562 22:44595562C-A C A
+22 44595591 22:44595591G-A G A
+22 44595602 22:44595602C-T C T
+22 44595839 22:44595839T-C T C
+22 44596085 22:44596085A-C A C
+22 44596207 22:44596207G-A G A
+22 44596743 22:44596743C-A C A
+22 44597302 22:44597302C-T C T
+22 44597422 22:44597422C-T C T
+22 44597504 22:44597504T-C T C
+22 44597596 22:44597596G-A G A
+22 44597747 22:44597747C-T C T
+22 44597929 22:44597929G-A G A
+22 44598088 22:44598088A-G A G
+22 44598301 22:44598301G-T G T
+22 44598606 22:44598606C-T C T
+22 44598692 22:44598692G-A G A
+22 44599123 22:44599123T-C T C
+22 44599258 22:44599258C-A C A
+22 44599260 22:44599260G-A G A
+22 44599452 22:44599452C-T C T
+22 44599531 22:44599531G-A G A
+22 44599653 22:44599653G-A G A
+22 44599656 22:44599656G-A G A
+22 44599736 22:44599736G-C G C
+22 44599781 22:44599781G-A G A
+22 44599922 22:44599922A-G A G
+22 44600135 22:44600135C-A C A
+22 44600172 22:44600172A-G A G
+22 44600175 22:44600175C-T C T
+22 44600500 22:44600500C-T C T
+22 44600633 22:44600633G-C G C
+22 44600652 22:44600652G-A G A
+22 44600826 22:44600826C-T C T
+22 44600954 22:44600954T-C T C
+22 44600995 22:44600995C-A C A
+22 44601499 22:44601499C-G C G
+22 44602001 22:44602001G-T G T
+22 44602172 22:44602172T-C T C
+22 44602229 22:44602229A-C A C
+22 44602549 22:44602549A-C A C
+22 44603249 22:44603249C-T C T
+22 44603527 22:44603527A-G A G
+22 44603582 22:44603582G-A G A
+22 44603684 22:44603684T-C T C
+22 44603870 22:44603870T-C T C
+22 44605230 22:44605230G-A G A
+22 44605336 22:44605336G-C G C
+22 44605407 22:44605407G-A G A
+22 44605522 22:44605522T-C T C
+22 44605799 22:44605799A-G A G
+22 44606259 22:44606259A-G A G
+22 44606351 22:44606351A-G A G
+22 44606772 22:44606772T-C T C
+22 44606842 22:44606842A-G A G
+22 44607344 22:44607344A-T A T
+22 44607436 22:44607436A-G A G
+22 44607514 22:44607514A-C A C
+22 44607655 22:44607655C-T C T
+22 44608457 22:44608457A-C A C
+22 44608612 22:44608612A-G A G
+22 44609032 22:44609032A-G A G
+22 44609159 22:44609159A-G A G
+22 44609303 22:44609303C-A C A
+22 44610112 22:44610112T-C T C
+22 44610726 22:44610726A-C A C
+22 44610981 22:44610981G-A G A
+22 44611050 22:44611050G-T G T
+22 44611222 22:44611222A-G A G
+22 44611250 22:44611250C-G C G
+22 44611298 22:44611298C-T C T
+22 44611908 22:44611908C-T C T
+22 44611929 22:44611929G-A G A
+22 44612062 22:44612062G-A G A
+22 44612099 22:44612099T-C T C
+22 44612655 22:44612655G-C G C
+22 44612761 22:44612761T-C T C
+22 44612762 22:44612762G-A G A
+22 44612817 22:44612817G-A G A
+22 44613103 22:44613103C-T C T
+22 44613280 22:44613280T-C T C
+22 44613510 22:44613510C-T C T
+22 44613522 22:44613522C-T C T
+22 44613562 22:44613562G-T G T
+22 44613612 22:44613612C-T C T
+22 44613662 22:44613662T-G T G
+22 44613848 22:44613848G-A G A
+22 44613863 22:44613863T-C T C
+22 44613973 22:44613973T-G T G
+22 44614062 22:44614062G-T G T
+22 44614313 22:44614313C-A C A
+22 44614314 22:44614314C-T C T
+22 44614353 22:44614353C-T C T
+22 44614363 22:44614363C-A C A
+22 44614443 22:44614443C-A C A
+22 44614615 22:44614615C-A C A
+22 44614653 22:44614653G-T G T
+22 44615218 22:44615218C-T C T
+22 44615433 22:44615433A-G A G
+22 44616195 22:44616195A-G A G
+22 44616218 22:44616218C-G C G
+22 44616842 22:44616842A-G A G
+22 44617257 22:44617257G-A G A
+22 44617388 22:44617388C-G C G
+22 44617402 22:44617402G-A G A
+22 44617455 22:44617455C-A C A
+22 44617525 22:44617525C-T C T
+22 44617562 22:44617562A-G A G
+22 44617643 22:44617643T-C T C
+22 44617689 22:44617689T-C T C
+22 44617700 22:44617700A-G A G
+22 44617796 22:44617796T-C T C
+22 44617864 22:44617864A-G A G
+22 44618362 22:44618362C-T C T
+22 44618382 22:44618382G-A G A
+22 44618602 22:44618602G-C G C
+22 44618606 22:44618606A-G A G
+22 44618704 22:44618704C-T C T
+22 44618835 22:44618835G-A G A
+22 44619079 22:44619079G-T G T
+22 44619335 22:44619335T-G T G
+22 44619577 22:44619577G-C G C
+22 44619591 22:44619591C-T C T
+22 44619700 22:44619700A-G A G
+22 44619786 22:44619786G-A G A
+22 44620584 22:44620584G-A G A
+22 44620593 22:44620593G-C G C
+22 44620745 22:44620745A-G A G
+22 44620819 22:44620819T-G T G
+22 44620858 22:44620858T-C T C
+22 44621057 22:44621057G-A G A
+22 44621083 22:44621083T-C T C
+22 44621182 22:44621182G-T G T
+22 44621708 22:44621708C-T C T
+22 44621766 22:44621766C-G C G
+22 44622444 22:44622444G-A G A
+22 44622986 22:44622986T-C T C
+22 44623369 22:44623369G-A G A
+22 44623509 22:44623509C-T C T
+22 44623824 22:44623824T-C T C
+22 44623863 22:44623863G-A G A
+22 44623865 22:44623865G-A G A
+22 44623871 22:44623871C-T C T
+22 44624060 22:44624060T-C T C
+22 44624247 22:44624247G-A G A
+22 44624502 22:44624502A-G A G
+22 44624685 22:44624685C-G C G
+22 44624734 22:44624734T-C T C
+22 44625218 22:44625218C-T C T
+22 44625259 22:44625259C-T C T
+22 44625419 22:44625419T-G T G
+22 44625466 22:44625466G-A G A
+22 44625498 22:44625498T-C T C
+22 44625708 22:44625708A-T A T
+22 44625800 22:44625800G-A G A
+22 44626164 22:44626164A-G A G
+22 44626302 22:44626302C-A C A
+22 44626331 22:44626331T-C T C
+22 44626567 22:44626567C-T C T
+22 44626696 22:44626696G-A G A
+22 44626722 22:44626722C-G C G
+22 44626759 22:44626759A-G A G
+22 44627435 22:44627435G-A G A
+22 44627599 22:44627599G-A G A
+22 44627793 22:44627793C-G C G
+22 44628068 22:44628068G-A G A
+22 44628336 22:44628336T-G T G
+22 44628526 22:44628526C-T C T
+22 44629479 22:44629479T-G T G
+22 44629679 22:44629679T-A T A
+22 44629809 22:44629809A-G A G
+22 44629914 22:44629914C-T C T
+22 44629998 22:44629998A-G A G
+22 44630677 22:44630677C-T C T
+22 44631922 22:44631922T-A T A
+22 44632489 22:44632489G-T G T
+22 44632810 22:44632810C-G C G
+22 44633630 22:44633630C-T C T
+22 44634138 22:44634138G-A G A
+22 44634211 22:44634211G-T G T
+22 44634619 22:44634619G-A G A
+22 44634708 22:44634708A-C A C
+22 44635286 22:44635286A-G A G
+22 44635388 22:44635388C-A C A
+22 44635829 22:44635829T-A T A
+22 44636768 22:44636768G-A G A
+22 44637421 22:44637421G-A G A
+22 44637473 22:44637473C-G C G
+22 44637495 22:44637495G-T G T
+22 44637684 22:44637684A-G A G
+22 44637950 22:44637950G-C G C
+22 44637993 22:44637993G-A G A
+22 44638701 22:44638701G-A G A
+22 44638709 22:44638709C-G C G
+22 44638891 22:44638891C-T C T
+22 44638980 22:44638980G-A G A
+22 44639120 22:44639120T-C T C
+22 44639900 22:44639900C-T C T
+22 44640134 22:44640134A-C A C
+22 44640466 22:44640466G-A G A
+22 44640472 22:44640472A-G A G
+22 44640608 22:44640608G-A G A
+22 44640683 22:44640683C-T C T
+22 44640801 22:44640801G-A G A
+22 44641052 22:44641052G-A G A
+22 44641315 22:44641315T-C T C
+22 44641586 22:44641586G-A G A
+22 44641624 22:44641624A-G A G
+22 44642723 22:44642723G-A G A
+22 44643329 22:44643329G-A G A
+22 44643624 22:44643624A-G A G
+22 44643871 22:44643871T-C T C
+22 44645332 22:44645332G-A G A
+22 44645692 22:44645692C-T C T
+22 44645693 22:44645693G-A G A
+22 44645915 22:44645915C-G C G
+22 44645984 22:44645984A-G A G
+22 44646309 22:44646309G-A G A
+22 44646663 22:44646663T-C T C
+22 44647223 22:44647223G-T G T
+22 44647420 22:44647420G-A G A
+22 44647921 22:44647921G-A G A
+22 44647981 22:44647981G-A G A
+22 44648093 22:44648093G-T G T
+22 44648320 22:44648320G-T G T
+22 44648800 22:44648800C-T C T
+22 44648923 22:44648923G-C G C
+22 44649116 22:44649116A-C A C
+22 44649237 22:44649237A-T A T
+22 44649337 22:44649337G-C G C
+22 44649413 22:44649413T-A T A
+22 44649541 22:44649541T-C T C
+22 44649546 22:44649546T-C T C
+22 44650726 22:44650726T-C T C
+22 44650926 22:44650926T-C T C
+22 44651072 22:44651072T-A T A
+22 44651571 22:44651571T-G T G
+22 44652110 22:44652110C-T C T
+22 44652157 22:44652157T-C T C
+22 44652886 22:44652886C-T C T
+22 44654076 22:44654076C-T C T
+22 44654149 22:44654149T-C T C
+22 44654739 22:44654739C-G C G
+22 44654963 22:44654963T-A T A
+22 44655089 22:44655089C-T C T
+22 44655095 22:44655095G-A G A
+22 44655267 22:44655267G-A G A
+22 44656489 22:44656489A-G A G
+22 44656581 22:44656581C-T C T
+22 44656693 22:44656693T-C T C
+22 44656751 22:44656751C-T C T
+22 44656768 22:44656768C-T C T
+22 44657104 22:44657104C-T C T
+22 44657217 22:44657217C-T C T
+22 44657259 22:44657259C-T C T
+22 44657401 22:44657401G-A G A
+22 44657488 22:44657488G-A G A
+22 44657495 22:44657495T-C T C
+22 44657612 22:44657612G-A G A
+22 44657628 22:44657628C-T C T
+22 44657735 22:44657735C-T C T
+22 44658268 22:44658268C-T C T
+22 44659218 22:44659218T-C T C
+22 44661253 22:44661253T-C T C
+22 44661444 22:44661444T-C T C
+22 44661641 22:44661641G-A G A
+22 44662621 22:44662621T-C T C
+22 44662971 22:44662971T-G T G
+22 44664311 22:44664311A-G A G
+22 44664448 22:44664448T-C T C
+22 44664866 22:44664866G-A G A
+22 44665064 22:44665064A-G A G
+22 44665265 22:44665265A-C A C
+22 44665450 22:44665450A-C A C
+22 44665659 22:44665659C-G C G
+22 44665681 22:44665681G-A G A
+22 44666676 22:44666676G-A G A
+22 44666892 22:44666892A-G A G
+22 44667156 22:44667156C-A C A
+22 44667314 22:44667314G-A G A
+22 44667857 22:44667857A-G A G
+22 44668750 22:44668750C-T C T
+22 44668792 22:44668792G-A G A
+22 44669981 22:44669981G-C G C
+22 44670216 22:44670216A-G A G
+22 44670881 22:44670881C-T C T
+22 44671301 22:44671301A-G A G
+22 44672019 22:44672019A-C A C
+22 44672766 22:44672766C-G C G
+22 44674002 22:44674002T-C T C
+22 44674481 22:44674481T-C T C
+22 44674968 22:44674968C-A C A
+22 44675172 22:44675172A-G A G
+22 44675942 22:44675942C-T C T
+22 44676087 22:44676087A-G A G
+22 44676852 22:44676852T-G T G
+22 44677081 22:44677081T-C T C
+22 44677120 22:44677120G-A G A
+22 44677276 22:44677276T-C T C
+22 44677429 22:44677429G-T G T
+22 44677647 22:44677647A-G A G
+22 44678405 22:44678405T-C T C
+22 44678726 22:44678726G-A G A
+22 44678727 22:44678727C-T C T
+22 44678846 22:44678846G-C G C
+22 44678917 22:44678917G-C G C
+22 44678933 22:44678933T-C T C
+22 44679762 22:44679762A-G A G
+22 44680625 22:44680625C-G C G
+22 44681612 22:44681612A-G A G
+22 44681832 22:44681832G-A G A
+22 44684039 22:44684039A-G A G
+22 44684288 22:44684288C-G C G
+22 44684376 22:44684376C-A C A
+22 44684979 22:44684979A-G A G
+22 44685113 22:44685113G-T G T
+22 44685119 22:44685119C-G C G
+22 44685618 22:44685618G-A G A
+22 44685756 22:44685756T-C T C
+22 44687861 22:44687861C-T C T
+22 44688538 22:44688538G-C G C
+22 44688564 22:44688564G-A G A
+22 44689172 22:44689172C-T C T
+22 44689237 22:44689237A-G A G
+22 44689290 22:44689290C-T C T
+22 44690738 22:44690738T-C T C
+22 44691169 22:44691169T-A T A
+22 44691555 22:44691555A-G A G
+22 44691640 22:44691640A-G A G
+22 44693518 22:44693518T-C T C
+22 44694612 22:44694612A-T A T
+22 44694676 22:44694676G-A G A
+22 44695050 22:44695050C-T C T
+22 44695088 22:44695088C-T C T
+22 44696052 22:44696052T-C T C
+22 44696374 22:44696374T-C T C
+22 44697280 22:44697280A-G A G
+22 44697742 22:44697742A-G A G
+22 44698827 22:44698827A-G A G
+22 44698887 22:44698887T-A T A
+22 44698909 22:44698909A-C A C
+22 44699404 22:44699404T-A T A
+22 44699432 22:44699432A-G A G
+22 44699433 22:44699433C-T C T
+22 44699502 22:44699502C-G C G
+22 44699528 22:44699528T-C T C
+22 44699533 22:44699533T-A T A
+22 44699557 22:44699557G-A G A
+22 44699580 22:44699580T-C T C
+22 44699621 22:44699621G-A G A
+22 44699823 22:44699823C-T C T
+22 44699947 22:44699947A-T A T
+22 44700197 22:44700197T-C T C
+22 44700423 22:44700423C-T C T
+22 44700538 22:44700538A-G A G
+22 44700587 22:44700587G-A G A
+22 44700659 22:44700659C-T C T
+22 44700730 22:44700730T-A T A
+22 44701046 22:44701046C-G C G
+22 44701093 22:44701093C-T C T
+22 44701461 22:44701461C-G C G
+22 44701693 22:44701693C-T C T
+22 44702692 22:44702692G-A G A
+22 44702874 22:44702874C-T C T
+22 44703019 22:44703019C-T C T
+22 44703125 22:44703125C-T C T
+22 44703234 22:44703234G-T G T
+22 44703502 22:44703502G-A G A
+22 44703893 22:44703893C-A C A
+22 44704613 22:44704613A-G A G
+22 44704939 22:44704939C-T C T
+22 44705095 22:44705095G-A G A
+22 44705188 22:44705188A-T A T
+22 44705240 22:44705240G-A G A
+22 44705254 22:44705254C-T C T
+22 44705269 22:44705269C-T C T
+22 44705361 22:44705361T-G T G
+22 44706216 22:44706216A-T A T
+22 44706814 22:44706814A-G A G
+22 44707026 22:44707026A-G A G
+22 44707067 22:44707067C-T C T
+22 44707716 22:44707716T-G T G
+22 44708655 22:44708655T-C T C
+22 44708987 22:44708987G-C G C
+22 44709080 22:44709080T-A T A
+22 44709145 22:44709145C-A C A
+22 44709611 22:44709611T-C T C
+22 44709754 22:44709754G-A G A
+22 44709875 22:44709875G-A G A
+22 44710758 22:44710758T-C T C
+22 44710774 22:44710774G-A G A
+22 44710894 22:44710894A-G A G
+22 44710984 22:44710984G-A G A
+22 44711262 22:44711262G-A G A
+22 44711264 22:44711264T-A T A
+22 44711266 22:44711266G-C G C
+22 44711316 22:44711316T-C T C
+22 44711589 22:44711589C-A C A
+22 44713819 22:44713819G-A G A
+22 44714544 22:44714544C-T C T
+22 44715451 22:44715451C-T C T
+22 44715503 22:44715503C-T C T
+22 44715797 22:44715797C-T C T
+22 44715824 22:44715824G-A G A
+22 44716215 22:44716215C-G C G
+22 44716276 22:44716276G-T G T
+22 44716285 22:44716285C-G C G
+22 44716487 22:44716487A-C A C
+22 44716752 22:44716752T-C T C
+22 44716798 22:44716798C-T C T
+22 44716931 22:44716931A-G A G
+22 44717239 22:44717239T-C T C
+22 44717405 22:44717405A-G A G
+22 44717647 22:44717647C-T C T
+22 44718168 22:44718168T-C T C
+22 44718343 22:44718343C-T C T
+22 44718404 22:44718404T-C T C
+22 44718472 22:44718472C-G C G
+22 44718814 22:44718814T-C T C
+22 44719799 22:44719799A-G A G
+22 44720182 22:44720182C-G C G
+22 44720583 22:44720583A-G A G
+22 44720997 22:44720997C-A C A
+22 44721037 22:44721037C-A C A
+22 44721172 22:44721172G-C G C
+22 44721664 22:44721664C-A C A
+22 44722542 22:44722542G-A G A
+22 44723069 22:44723069C-T C T
+22 44723083 22:44723083G-C G C
+22 44723271 22:44723271C-A C A
+22 44724125 22:44724125A-C A C
+22 44724868 22:44724868C-T C T
+22 44725057 22:44725057G-A G A
+22 44725190 22:44725190G-A G A
+22 44725640 22:44725640G-A G A
+22 44726942 22:44726942C-A C A
+22 44729493 22:44729493T-C T C
+22 44729790 22:44729790C-T C T
+22 44730492 22:44730492G-T G T
+22 44730714 22:44730714G-A G A
+22 44730744 22:44730744C-G C G
+22 44731003 22:44731003G-A G A
+22 44731489 22:44731489G-A G A
+22 44731595 22:44731595G-A G A
+22 44731846 22:44731846T-G T G
+22 44732422 22:44732422A-G A G
+22 44733001 22:44733001T-A T A
+22 44733247 22:44733247T-A T A
+22 44733929 22:44733929T-G T G
+22 44734215 22:44734215A-G A G
+22 44735347 22:44735347C-A C A
+22 44735500 22:44735500T-C T C
+22 44735666 22:44735666T-C T C
+22 44735708 22:44735708T-C T C
+22 44735772 22:44735772G-A G A
+22 44735867 22:44735867T-C T C
+22 44736186 22:44736186A-G A G
+22 44736263 22:44736263G-T G T
+22 44737480 22:44737480C-A C A
+22 44737646 22:44737646T-G T G
+22 44737766 22:44737766A-G A G
+22 44737788 22:44737788G-T G T
+22 44738043 22:44738043A-T A T
+22 44738084 22:44738084C-G C G
+22 44738130 22:44738130A-G A G
+22 44738270 22:44738270T-C T C
+22 44738406 22:44738406A-G A G
+22 44739194 22:44739194G-A G A
+22 44739592 22:44739592G-T G T
+22 44740406 22:44740406G-A G A
+22 44740527 22:44740527A-G A G
+22 44740572 22:44740572C-T C T
+22 44740579 22:44740579C-T C T
+22 44740724 22:44740724G-A G A
+22 44741271 22:44741271A-G A G
+22 44741589 22:44741589T-C T C
+22 44742288 22:44742288C-T C T
+22 44742489 22:44742489T-C T C
+22 44742761 22:44742761C-G C G
+22 44742944 22:44742944C-T C T
+22 44743195 22:44743195T-C T C
+22 44743911 22:44743911T-C T C
+22 44744067 22:44744067C-G C G
+22 44744080 22:44744080T-C T C
+22 44744200 22:44744200T-C T C
+22 44744315 22:44744315A-G A G
+22 44744453 22:44744453T-C T C
+22 44744706 22:44744706A-G A G
+22 44744884 22:44744884G-A G A
+22 44745149 22:44745149T-C T C
+22 44745251 22:44745251T-C T C
+22 44745583 22:44745583C-A C A
+22 44745694 22:44745694C-A C A
+22 44745720 22:44745720C-A C A
+22 44746064 22:44746064C-T C T
+22 44746350 22:44746350G-A G A
+22 44746729 22:44746729G-A G A
+22 44746740 22:44746740A-G A G
+22 44746997 22:44746997C-T C T
+22 44747100 22:44747100C-T C T
+22 44747334 22:44747334C-T C T
+22 44747475 22:44747475G-T G T
+22 44747800 22:44747800C-T C T
+22 44748644 22:44748644G-C G C
+22 44748645 22:44748645C-G C G
+22 44748721 22:44748721A-G A G
+22 44748926 22:44748926G-C G C
+22 44749846 22:44749846G-C G C
+22 44750010 22:44750010G-A G A
+22 44750210 22:44750210G-A G A
+22 44750243 22:44750243T-G T G
+22 44750621 22:44750621C-T C T
+22 44750797 22:44750797G-A G A
+22 44750859 22:44750859C-T C T
+22 44750993 22:44750993G-A G A
+22 44751105 22:44751105G-A G A
+22 44751158 22:44751158A-G A G
+22 44751689 22:44751689T-C T C
+22 44752006 22:44752006G-A G A
+22 44752156 22:44752156G-C G C
+22 44752302 22:44752302T-C T C
+22 44752950 22:44752950T-C T C
+22 44753219 22:44753219G-A G A
+22 44753351 22:44753351T-C T C
+22 44753508 22:44753508C-T C T
+22 44753526 22:44753526C-T C T
+22 44754963 22:44754963G-A G A
+22 44755279 22:44755279G-A G A
+22 44755311 22:44755311G-C G C
+22 44755500 22:44755500C-T C T
+22 44755650 22:44755650A-G A G
+22 44755709 22:44755709G-A G A
+22 44755850 22:44755850T-C T C
+22 44755918 22:44755918A-T A T
+22 44756432 22:44756432G-A G A
+22 44756471 22:44756471C-T C T
+22 44756673 22:44756673G-A G A
+22 44756803 22:44756803G-A G A
+22 44757071 22:44757071C-T C T
+22 44757303 22:44757303T-C T C
+22 44757309 22:44757309T-A T A
+22 44757439 22:44757439G-A G A
+22 44757823 22:44757823T-C T C
+22 44758046 22:44758046A-G A G
+22 44758421 22:44758421G-A G A
+22 44759155 22:44759155G-T G T
+22 44759360 22:44759360C-T C T
+22 44759514 22:44759514C-T C T
+22 44759519 22:44759519A-G A G
+22 44760039 22:44760039G-A G A
+22 44760330 22:44760330G-C G C
+22 44760501 22:44760501C-T C T
+22 44760681 22:44760681C-T C T
+22 44760732 22:44760732C-T C T
+22 44760984 22:44760984C-T C T
+22 44761014 22:44761014G-C G C
+22 44761631 22:44761631C-T C T
+22 44761797 22:44761797T-A T A
+22 44761884 22:44761884G-A G A
+22 44762020 22:44762020C-T C T
+22 44762389 22:44762389A-G A G
+22 44762762 22:44762762A-G A G
+22 44762977 22:44762977G-A G A
+22 44762981 22:44762981T-C T C
+22 44763277 22:44763277T-C T C
+22 44763352 22:44763352G-C G C
+22 44763357 22:44763357A-G A G
+22 44763391 22:44763391A-G A G
+22 44763475 22:44763475C-T C T
+22 44763606 22:44763606G-A G A
+22 44763651 22:44763651A-G A G
+22 44763752 22:44763752G-A G A
+22 44763799 22:44763799G-A G A
+22 44763844 22:44763844A-G A G
+22 44763848 22:44763848A-G A G
+22 44764161 22:44764161G-A G A
+22 44764163 22:44764163C-A C A
+22 44764265 22:44764265G-A G A
+22 44764285 22:44764285T-C T C
+22 44764287 22:44764287T-A T A
+22 44764401 22:44764401T-C T C
+22 44764565 22:44764565C-G C G
+22 44764649 22:44764649C-G C G
+22 44764652 22:44764652G-C G C
+22 44765525 22:44765525G-A G A
+22 44765651 22:44765651G-C G C
+22 44765694 22:44765694G-A G A
+22 44765815 22:44765815T-C T C
+22 44765999 22:44765999C-T C T
+22 44766023 22:44766023T-G T G
+22 44766312 22:44766312C-T C T
+22 44766533 22:44766533G-C G C
+22 44766623 22:44766623T-C T C
+22 44766734 22:44766734C-T C T
+22 44766791 22:44766791C-A C A
+22 44766864 22:44766864G-T G T
+22 44767188 22:44767188T-C T C
+22 44767363 22:44767363C-G C G
+22 44767374 22:44767374G-A G A
+22 44767457 22:44767457T-C T C
+22 44767470 22:44767470C-A C A
+22 44767582 22:44767582G-A G A
+22 44767890 22:44767890C-T C T
+22 44767979 22:44767979G-A G A
+22 44768046 22:44768046C-G C G
+22 44768492 22:44768492C-G C G
+22 44768493 22:44768493A-G A G
+22 44768790 22:44768790A-G A G
+22 44768831 22:44768831G-C G C
+22 44769158 22:44769158T-C T C
+22 44769440 22:44769440T-C T C
+22 44769535 22:44769535T-C T C
+22 44769559 22:44769559C-A C A
+22 44769667 22:44769667C-T C T
+22 44769731 22:44769731A-G A G
+22 44770040 22:44770040A-T A T
+22 44770126 22:44770126G-A G A
+22 44770296 22:44770296T-A T A
+22 44770316 22:44770316A-G A G
+22 44770500 22:44770500T-A T A
+22 44771324 22:44771324T-C T C
+22 44771618 22:44771618G-T G T
+22 44771763 22:44771763T-C T C
+22 44771948 22:44771948G-T G T
+22 44772422 22:44772422A-G A G
+22 44772609 22:44772609G-C G C
+22 44772640 22:44772640T-C T C
+22 44773055 22:44773055A-G A G
+22 44773100 22:44773100A-C A C
+22 44773398 22:44773398C-T C T
+22 44773543 22:44773543C-G C G
+22 44773864 22:44773864G-T G T
+22 44773871 22:44773871A-G A G
+22 44774221 22:44774221A-C A C
+22 44774482 22:44774482G-A G A
+22 44774487 22:44774487T-C T C
+22 44774700 22:44774700T-C T C
+22 44774901 22:44774901C-T C T
+22 44775695 22:44775695C-T C T
+22 44775730 22:44775730T-C T C
+22 44776626 22:44776626A-C A C
+22 44777740 22:44777740C-A C A
+22 44777866 22:44777866G-C G C
+22 44778010 22:44778010A-G A G
+22 44778142 22:44778142G-A G A
+22 44778326 22:44778326A-G A G
+22 44778329 22:44778329G-A G A
+22 44778354 22:44778354A-G A G
+22 44778538 22:44778538T-C T C
+22 44778738 22:44778738A-G A G
+22 44778771 22:44778771G-A G A
+22 44778977 22:44778977T-A T A
+22 44779240 22:44779240G-A G A
+22 44779303 22:44779303G-A G A
+22 44779386 22:44779386T-A T A
+22 44779428 22:44779428T-C T C
+22 44779501 22:44779501T-G T G
+22 44780017 22:44780017G-A G A
+22 44780466 22:44780466T-C T C
+22 44780525 22:44780525G-T G T
+22 44781193 22:44781193A-G A G
+22 44781410 22:44781410G-A G A
+22 44781711 22:44781711A-G A G
+22 44781717 22:44781717A-T A T
+22 44781916 22:44781916T-A T A
+22 44781919 22:44781919A-G A G
+22 44782265 22:44782265T-C T C
+22 44782786 22:44782786G-A G A
+22 44783779 22:44783779A-G A G
+22 44784379 22:44784379A-C A C
+22 44784823 22:44784823C-T C T
+22 44784847 22:44784847A-G A G
+22 44784940 22:44784940C-T C T
+22 44784953 22:44784953A-G A G
+22 44785051 22:44785051C-G C G
+22 44785062 22:44785062T-C T C
+22 44785232 22:44785232G-C G C
+22 44785304 22:44785304G-A G A
+22 44786186 22:44786186A-T A T
+22 44786240 22:44786240A-G A G
+22 44786364 22:44786364G-A G A
+22 44786552 22:44786552T-G T G
+22 44786832 22:44786832T-A T A
+22 44787383 22:44787383G-A G A
+22 44787515 22:44787515G-A G A
+22 44788230 22:44788230G-A G A
+22 44788353 22:44788353G-A G A
+22 44788373 22:44788373C-T C T
+22 44788510 22:44788510T-C T C
+22 44788560 22:44788560T-A T A
+22 44788712 22:44788712C-G C G
+22 44788913 22:44788913C-T C T
+22 44789059 22:44789059C-T C T
+22 44789206 22:44789206G-C G C
+22 44789369 22:44789369T-G T G
+22 44789517 22:44789517G-A G A
+22 44789900 22:44789900C-T C T
+22 44790437 22:44790437G-A G A
+22 44790651 22:44790651G-T G T
+22 44790749 22:44790749C-T C T
+22 44790876 22:44790876G-A G A
+22 44791343 22:44791343A-G A G
+22 44791538 22:44791538A-G A G
+22 44791579 22:44791579C-G C G
+22 44791606 22:44791606A-G A G
+22 44791704 22:44791704G-C G C
+22 44791807 22:44791807T-C T C
+22 44791950 22:44791950G-A G A
+22 44792065 22:44792065A-G A G
+22 44792128 22:44792128C-T C T
+22 44792489 22:44792489G-A G A
+22 44792613 22:44792613C-T C T
+22 44793929 22:44793929G-A G A
+22 44794514 22:44794514T-C T C
+22 44794635 22:44794635G-A G A
+22 44794833 22:44794833G-C G C
+22 44795895 22:44795895G-A G A
+22 44795976 22:44795976G-A G A
+22 44796135 22:44796135G-C G C
+22 44796136 22:44796136G-T G T
+22 44796357 22:44796357G-C G C
+22 44796839 22:44796839T-C T C
+22 44797687 22:44797687A-C A C
+22 44797723 22:44797723C-A C A
+22 44797814 22:44797814G-C G C
+22 44798310 22:44798310G-A G A
+22 44798646 22:44798646C-T C T
+22 44798720 22:44798720C-T C T
+22 44799094 22:44799094T-G T G
+22 44799249 22:44799249A-T A T
+22 44799385 22:44799385G-T G T
+22 44800014 22:44800014C-T C T
+22 44800639 22:44800639G-C G C
+22 44800640 22:44800640A-G A G
+22 44800711 22:44800711G-C G C
+22 44801061 22:44801061T-A T A
+22 44801226 22:44801226G-C G C
+22 44801377 22:44801377C-T C T
+22 44801562 22:44801562A-T A T
+22 44802095 22:44802095T-C T C
+22 44803269 22:44803269C-T C T
+22 44803990 22:44803990T-C T C
+22 44804192 22:44804192T-C T C
+22 44804203 22:44804203C-T C T
+22 44804248 22:44804248G-T G T
+22 44804471 22:44804471T-C T C
+22 44804475 22:44804475G-A G A
+22 44804523 22:44804523G-A G A
+22 44804565 22:44804565G-T G T
+22 44804867 22:44804867C-A C A
+22 44804977 22:44804977G-A G A
+22 44805128 22:44805128C-T C T
+22 44805506 22:44805506C-T C T
+22 44805830 22:44805830C-T C T
+22 44806621 22:44806621A-G A G
+22 44807473 22:44807473A-G A G
+22 44807585 22:44807585A-G A G
+22 44807977 22:44807977A-C A C
+22 44808134 22:44808134C-G C G
+22 44808939 22:44808939T-C T C
+22 44809193 22:44809193A-G A G
+22 44809665 22:44809665C-A C A
+22 44809714 22:44809714T-A T A
+22 44809864 22:44809864G-T G T
+22 44809998 22:44809998G-A G A
+22 44810742 22:44810742T-A T A
+22 44810788 22:44810788T-C T C
+22 44811065 22:44811065C-T C T
+22 44811075 22:44811075T-C T C
+22 44811422 22:44811422C-G C G
+22 44811489 22:44811489T-C T C
+22 44811744 22:44811744C-T C T
+22 44811762 22:44811762C-T C T
+22 44812036 22:44812036G-A G A
+22 44812535 22:44812535A-G A G
+22 44812954 22:44812954A-G A G
+22 44813010 22:44813010T-C T C
+22 44813917 22:44813917A-T A T
+22 44814180 22:44814180A-G A G
+22 44814337 22:44814337A-G A G
+22 44814388 22:44814388T-C T C
+22 44814706 22:44814706G-A G A
+22 44814793 22:44814793A-G A G
+22 44815213 22:44815213A-G A G
+22 44815486 22:44815486A-G A G
+22 44816199 22:44816199C-G C G
+22 44816607 22:44816607G-T G T
+22 44816777 22:44816777A-G A G
+22 44816956 22:44816956A-T A T
+22 44816990 22:44816990T-C T C
+22 44816993 22:44816993C-A C A
+22 44817122 22:44817122T-C T C
+22 44817412 22:44817412C-A C A
+22 44817623 22:44817623C-T C T
+22 44817844 22:44817844C-T C T
+22 44817893 22:44817893A-G A G
+22 44817955 22:44817955C-T C T
+22 44818050 22:44818050G-A G A
+22 44818108 22:44818108C-T C T
+22 44818260 22:44818260T-A T A
+22 44818518 22:44818518T-C T C
+22 44818636 22:44818636G-A G A
+22 44818780 22:44818780C-T C T
+22 44818788 22:44818788G-C G C
+22 44818799 22:44818799T-C T C
+22 44818895 22:44818895G-A G A
+22 44818900 22:44818900T-C T C
+22 44818986 22:44818986T-C T C
+22 44820796 22:44820796A-G A G
+22 44820910 22:44820910A-T A T
+22 44821077 22:44821077C-G C G
+22 44821240 22:44821240A-G A G
+22 44821595 22:44821595G-T G T
+22 44821815 22:44821815G-T G T
+22 44823006 22:44823006G-A G A
+22 44823050 22:44823050C-A C A
+22 44823095 22:44823095A-C A C
+22 44823127 22:44823127T-C T C
+22 44823445 22:44823445G-A G A
+22 44823657 22:44823657G-A G A
+22 44823854 22:44823854C-T C T
+22 44824332 22:44824332A-C A C
+22 44824399 22:44824399C-T C T
+22 44824495 22:44824495A-G A G
+22 44824656 22:44824656G-A G A
+22 44824999 22:44824999G-C G C
+22 44825166 22:44825166A-C A C
+22 44825279 22:44825279C-A C A
+22 44825330 22:44825330G-A G A
+22 44828071 22:44828071T-C T C
+22 44828077 22:44828077C-T C T
+22 44828232 22:44828232G-A G A
+22 44828536 22:44828536G-A G A
+22 44828744 22:44828744T-C T C
+22 44830242 22:44830242G-T G T
+22 44830840 22:44830840T-C T C
+22 44831184 22:44831184A-C A C
+22 44831663 22:44831663C-T C T
+22 44831844 22:44831844G-A G A
+22 44832404 22:44832404G-C G C
+22 44832538 22:44832538G-A G A
+22 44832617 22:44832617T-C T C
+22 44832647 22:44832647C-T C T
+22 44833001 22:44833001G-A G A
+22 44833082 22:44833082G-A G A
+22 44833455 22:44833455T-C T C
+22 44833580 22:44833580T-C T C
+22 44833596 22:44833596T-G T G
+22 44833599 22:44833599A-G A G
+22 44833903 22:44833903A-G A G
+22 44833973 22:44833973C-A C A
+22 44834188 22:44834188T-C T C
+22 44834292 22:44834292G-T G T
+22 44834451 22:44834451T-C T C
+22 44834475 22:44834475G-A G A
+22 44834693 22:44834693A-G A G
+22 44834707 22:44834707C-A C A
+22 44835093 22:44835093A-G A G
+22 44835908 22:44835908G-T G T
+22 44835936 22:44835936G-A G A
+22 44835978 22:44835978G-T G T
+22 44836139 22:44836139G-A G A
+22 44836152 22:44836152T-C T C
+22 44836249 22:44836249A-C A C
+22 44836301 22:44836301C-T C T
+22 44836364 22:44836364C-G C G
+22 44836388 22:44836388T-G T G
+22 44836651 22:44836651A-C A C
+22 44836714 22:44836714T-C T C
+22 44836723 22:44836723T-C T C
+22 44836877 22:44836877C-A C A
+22 44837038 22:44837038G-A G A
+22 44837230 22:44837230G-A G A
+22 44837512 22:44837512G-A G A
+22 44837558 22:44837558C-T C T
+22 44837718 22:44837718G-A G A
+22 44837906 22:44837906G-A G A
+22 44838004 22:44838004T-G T G
+22 44838033 22:44838033T-C T C
+22 44838043 22:44838043G-A G A
+22 44838075 22:44838075G-A G A
+22 44838144 22:44838144G-A G A
+22 44838469 22:44838469T-G T G
+22 44838514 22:44838514T-C T C
+22 44838572 22:44838572A-C A C
+22 44838594 22:44838594T-C T C
+22 44838670 22:44838670A-G A G
+22 44838800 22:44838800T-C T C
+22 44838812 22:44838812A-C A C
+22 44840686 22:44840686A-G A G
+22 44840720 22:44840720T-C T C
+22 44841288 22:44841288C-T C T
+22 44841310 22:44841310T-C T C
+22 44841560 22:44841560A-G A G
+22 44842135 22:44842135G-A G A
+22 44842354 22:44842354A-C A C
+22 44842511 22:44842511A-G A G
+22 44842760 22:44842760C-T C T
+22 44842801 22:44842801T-C T C
+22 44842841 22:44842841G-A G A
+22 44843250 22:44843250G-A G A
+22 44843385 22:44843385C-T C T
+22 44843458 22:44843458T-A T A
+22 44844150 22:44844150A-T A T
+22 44844243 22:44844243G-C G C
+22 44844248 22:44844248G-A G A
+22 44844280 22:44844280T-C T C
+22 44844745 22:44844745T-C T C
+22 44844795 22:44844795C-T C T
+22 44844922 22:44844922G-A G A
+22 44844966 22:44844966C-G C G
+22 44845165 22:44845165G-C G C
+22 44845360 22:44845360G-A G A
+22 44845407 22:44845407C-T C T
+22 44845516 22:44845516T-C T C
+22 44845528 22:44845528C-T C T
+22 44845593 22:44845593T-C T C
+22 44845616 22:44845616C-T C T
+22 44845654 22:44845654C-T C T
+22 44845700 22:44845700G-A G A
+22 44846172 22:44846172A-G A G
+22 44846656 22:44846656G-A G A
+22 44848368 22:44848368G-A G A
+22 44849418 22:44849418T-C T C
+22 44849561 22:44849561C-T C T
+22 44850440 22:44850440C-T C T
+22 44851090 22:44851090A-C A C
+22 44851458 22:44851458A-G A G
+22 44851766 22:44851766C-G C G
+22 44851821 22:44851821C-T C T
+22 44852168 22:44852168C-G C G
+22 44852717 22:44852717G-A G A
+22 44853976 22:44853976C-T C T
+22 44855230 22:44855230C-T C T
+22 44855495 22:44855495C-G C G
+22 44855856 22:44855856G-A G A
+22 44855899 22:44855899A-G A G
+22 44856085 22:44856085T-C T C
+22 44856378 22:44856378A-C A C
+22 44856503 22:44856503C-G C G
+22 44857119 22:44857119T-C T C
+22 44857446 22:44857446C-A C A
+22 44859319 22:44859319A-T A T
+22 44859916 22:44859916A-C A C
+22 44860406 22:44860406A-T A T
+22 44865642 22:44865642G-T G T
+22 44866786 22:44866786A-G A G
+22 44868522 22:44868522G-A G A
+22 44869952 22:44869952G-A G A
+22 44870957 22:44870957G-T G T
+22 44871025 22:44871025T-A T A
+22 44871050 22:44871050C-T C T
+22 44871273 22:44871273T-A T A
+22 44873159 22:44873159G-A G A
+22 44874645 22:44874645T-C T C
+22 44875652 22:44875652T-C T C
+22 44875959 22:44875959C-A C A
+22 44875965 22:44875965G-A G A
+22 44876362 22:44876362T-C T C
+22 44876424 22:44876424A-G A G
+22 44876502 22:44876502G-A G A
+22 44877911 22:44877911T-C T C
+22 44878722 22:44878722A-G A G
+22 44878764 22:44878764T-G T G
+22 44878912 22:44878912C-T C T
+22 44879762 22:44879762C-T C T
+22 44880343 22:44880343G-T G T
+22 44881080 22:44881080A-G A G
+22 44881127 22:44881127G-A G A
+22 44881837 22:44881837G-T G T
+22 44881968 22:44881968C-T C T
+22 44882231 22:44882231C-A C A
+22 44882311 22:44882311G-A G A
+22 44882837 22:44882837T-C T C
+22 44883779 22:44883779C-T C T
+22 44883854 22:44883854G-C G C
+22 44884524 22:44884524T-C T C
+22 44884552 22:44884552G-A G A
+22 44885144 22:44885144C-T C T
+22 44886297 22:44886297G-T G T
+22 44886648 22:44886648C-T C T
+22 44887190 22:44887190A-T A T
+22 44887714 22:44887714A-T A T
+22 44887818 22:44887818G-T G T
+22 44888063 22:44888063G-A G A
+22 44888124 22:44888124C-T C T
+22 44888205 22:44888205T-C T C
+22 44888920 22:44888920G-C G C
+22 44889342 22:44889342G-C G C
+22 44889386 22:44889386C-T C T
+22 44889997 22:44889997G-A G A
+22 44890192 22:44890192T-G T G
+22 44890604 22:44890604T-C T C
+22 44890618 22:44890618A-G A G
+22 44890651 22:44890651T-C T C
+22 44890658 22:44890658T-C T C
+22 44890685 22:44890685C-G C G
+22 44890845 22:44890845C-G C G
+22 44891247 22:44891247A-G A G
+22 44891370 22:44891370T-C T C
+22 44891399 22:44891399C-G C G
+22 44891722 22:44891722A-G A G
+22 44891873 22:44891873A-G A G
+22 44891910 22:44891910T-C T C
+22 44891940 22:44891940C-T C T
+22 44892049 22:44892049G-A G A
+22 44892058 22:44892058G-A G A
+22 44892135 22:44892135A-G A G
+22 44892551 22:44892551G-C G C
+22 44893563 22:44893563A-G A G
+22 44894783 22:44894783G-A G A
+22 44894913 22:44894913A-G A G
+22 44895567 22:44895567G-A G A
+22 44896001 22:44896001A-T A T
+22 44896225 22:44896225T-C T C
+22 44896339 22:44896339C-T C T
+22 44897711 22:44897711G-A G A
+22 44898190 22:44898190G-A G A
+22 44898338 22:44898338G-T G T
+22 44898745 22:44898745C-T C T
+22 44900431 22:44900431G-A G A
+22 44902414 22:44902414A-G A G
+22 44902759 22:44902759A-G A G
+22 44902810 22:44902810A-T A T
+22 44904164 22:44904164G-A G A
+22 44906136 22:44906136C-A C A
+22 44906306 22:44906306A-G A G
+22 44906402 22:44906402A-G A G
+22 44907316 22:44907316G-A G A
+22 44908153 22:44908153G-A G A
+22 44908539 22:44908539G-A G A
+22 44908678 22:44908678G-A G A
+22 44908708 22:44908708T-C T C
+22 44908894 22:44908894C-T C T
+22 44908999 22:44908999C-T C T
+22 44909045 22:44909045A-G A G
+22 44909507 22:44909507A-T A T
+22 44909809 22:44909809C-T C T
+22 44910117 22:44910117T-C T C
+22 44910740 22:44910740G-T G T
+22 44910830 22:44910830G-A G A
+22 44911287 22:44911287C-T C T
+22 44911669 22:44911669C-T C T
+22 44912736 22:44912736C-T C T
+22 44914354 22:44914354A-G A G
+22 44914604 22:44914604C-T C T
+22 44914711 22:44914711A-G A G
+22 44914879 22:44914879A-G A G
+22 44915069 22:44915069G-A G A
+22 44915203 22:44915203T-C T C
+22 44915217 22:44915217A-G A G
+22 44915251 22:44915251T-C T C
+22 44915530 22:44915530T-G T G
+22 44915533 22:44915533G-A G A
+22 44917646 22:44917646G-T G T
+22 44917843 22:44917843C-A C A
+22 44917849 22:44917849A-G A G
+22 44918028 22:44918028G-A G A
+22 44919599 22:44919599C-T C T
+22 44919749 22:44919749T-C T C
+22 44920771 22:44920771T-C T C
+22 44920999 22:44920999G-A G A
+22 44921063 22:44921063G-A G A
+22 44921554 22:44921554G-A G A
+22 44921575 22:44921575G-C G C
+22 44921706 22:44921706A-C A C
+22 44922248 22:44922248C-T C T
+22 44922275 22:44922275G-A G A
+22 44922321 22:44922321G-A G A
+22 44922347 22:44922347G-A G A
+22 44922359 22:44922359T-G T G
+22 44922408 22:44922408G-A G A
+22 44922424 22:44922424C-T C T
+22 44922455 22:44922455G-A G A
+22 44922726 22:44922726G-A G A
+22 44922759 22:44922759C-T C T
+22 44922761 22:44922761A-G A G
+22 44922843 22:44922843C-A C A
+22 44923080 22:44923080G-A G A
+22 44923082 22:44923082T-C T C
+22 44923160 22:44923160T-C T C
+22 44923371 22:44923371C-T C T
+22 44923674 22:44923674G-A G A
+22 44924195 22:44924195G-A G A
+22 44924292 22:44924292A-G A G
+22 44924370 22:44924370T-C T C
+22 44924394 22:44924394G-A G A
+22 44924441 22:44924441G-A G A
+22 44924633 22:44924633T-C T C
+22 44924894 22:44924894T-C T C
+22 44924959 22:44924959C-T C T
+22 44925097 22:44925097T-C T C
+22 44925328 22:44925328A-G A G
+22 44925334 22:44925334C-T C T
+22 44925512 22:44925512T-C T C
+22 44925725 22:44925725G-A G A
+22 44925925 22:44925925G-T G T
+22 44925926 22:44925926G-C G C
+22 44926003 22:44926003A-G A G
+22 44926018 22:44926018A-T A T
+22 44926403 22:44926403C-T C T
+22 44926458 22:44926458A-G A G
+22 44926570 22:44926570A-G A G
+22 44926594 22:44926594A-G A G
+22 44926598 22:44926598C-T C T
+22 44926599 22:44926599A-G A G
+22 44926676 22:44926676C-T C T
+22 44927430 22:44927430G-A G A
+22 44927952 22:44927952G-A G A
+22 44927981 22:44927981G-T G T
+22 44928276 22:44928276A-G A G
+22 44928369 22:44928369A-G A G
+22 44928436 22:44928436T-C T C
+22 44928733 22:44928733G-A G A
+22 44928840 22:44928840C-T C T
+22 44928897 22:44928897C-T C T
+22 44928906 22:44928906G-A G A
+22 44929432 22:44929432C-T C T
+22 44929560 22:44929560G-C G C
+22 44929688 22:44929688C-T C T
+22 44929741 22:44929741C-T C T
+22 44929806 22:44929806G-A G A
+22 44929974 22:44929974A-G A G
+22 44930087 22:44930087A-G A G
+22 44930247 22:44930247G-A G A
+22 44930386 22:44930386C-T C T
+22 44930395 22:44930395G-A G A
+22 44930460 22:44930460C-G C G
+22 44930465 22:44930465C-A C A
+22 44930479 22:44930479T-G T G
+22 44930701 22:44930701A-C A C
+22 44931095 22:44931095C-T C T
+22 44931592 22:44931592C-A C A
+22 44931795 22:44931795G-A G A
+22 44932322 22:44932322T-A T A
+22 44932537 22:44932537G-T G T
+22 44932581 22:44932581A-T A T
+22 44932774 22:44932774G-A G A
+22 44932877 22:44932877C-T C T
+22 44932890 22:44932890G-A G A
+22 44932908 22:44932908G-T G T
+22 44932945 22:44932945T-C T C
+22 44933077 22:44933077T-A T A
+22 44933114 22:44933114G-T G T
+22 44933133 22:44933133G-T G T
+22 44933336 22:44933336T-C T C
+22 44933382 22:44933382G-A G A
+22 44933408 22:44933408G-C G C
+22 44933412 22:44933412G-C G C
+22 44933443 22:44933443G-C G C
+22 44933883 22:44933883C-T C T
+22 44933987 22:44933987C-T C T
+22 44934009 22:44934009G-C G C
+22 44934539 22:44934539G-A G A
+22 44934672 22:44934672A-G A G
+22 44934762 22:44934762A-G A G
+22 44934852 22:44934852C-T C T
+22 44934955 22:44934955G-C G C
+22 44935231 22:44935231A-G A G
+22 44935369 22:44935369A-G A G
+22 44936085 22:44936085A-G A G
+22 44936087 22:44936087T-G T G
+22 44936225 22:44936225T-C T C
+22 44936336 22:44936336A-G A G
+22 44936417 22:44936417C-T C T
+22 44936483 22:44936483T-C T C
+22 44936643 22:44936643C-T C T
+22 44936728 22:44936728C-T C T
+22 44937291 22:44937291G-A G A
+22 44937441 22:44937441G-A G A
+22 44937483 22:44937483T-C T C
+22 44937707 22:44937707A-C A C
+22 44937711 22:44937711G-A G A
+22 44938103 22:44938103G-C G C
+22 44938279 22:44938279C-T C T
+22 44938295 22:44938295C-T C T
+22 44938429 22:44938429C-G C G
+22 44938550 22:44938550A-C A C
+22 44938593 22:44938593T-C T C
+22 44939092 22:44939092C-A C A
+22 44939197 22:44939197G-A G A
+22 44939242 22:44939242C-T C T
+22 44939249 22:44939249A-G A G
+22 44939612 22:44939612C-T C T
+22 44939938 22:44939938C-A C A
+22 44940363 22:44940363G-A G A
+22 44940501 22:44940501A-G A G
+22 44940555 22:44940555A-T A T
+22 44940564 22:44940564C-T C T
+22 44940691 22:44940691G-A G A
+22 44941131 22:44941131C-T C T
+22 44941611 22:44941611G-C G C
+22 44941846 22:44941846G-A G A
+22 44941848 22:44941848A-G A G
+22 44941891 22:44941891G-T G T
+22 44942000 22:44942000G-T G T
+22 44942067 22:44942067T-A T A
+22 44942269 22:44942269C-T C T
+22 44942392 22:44942392T-C T C
+22 44942492 22:44942492T-C T C
+22 44942756 22:44942756T-C T C
+22 44942850 22:44942850G-A G A
+22 44942879 22:44942879A-G A G
+22 44943014 22:44943014C-A C A
+22 44943103 22:44943103A-G A G
+22 44943133 22:44943133T-C T C
+22 44943314 22:44943314G-C G C
+22 44943330 22:44943330G-C G C
+22 44943401 22:44943401G-A G A
+22 44943510 22:44943510A-G A G
+22 44943831 22:44943831A-G A G
+22 44943930 22:44943930A-G A G
+22 44943987 22:44943987A-G A G
+22 44944013 22:44944013G-C G C
+22 44944926 22:44944926C-G C G
+22 44945166 22:44945166C-G C G
+22 44945488 22:44945488A-T A T
+22 44946050 22:44946050G-T G T
+22 44946521 22:44946521G-A G A
+22 44946665 22:44946665C-A C A
+22 44946729 22:44946729C-G C G
+22 44946737 22:44946737A-G A G
+22 44946783 22:44946783A-G A G
+22 44946994 22:44946994T-C T C
+22 44947361 22:44947361G-C G C
+22 44947481 22:44947481C-T C T
+22 44947908 22:44947908A-G A G
+22 44948097 22:44948097T-G T G
+22 44948411 22:44948411A-G A G
+22 44949551 22:44949551G-T G T
+22 44949920 22:44949920T-C T C
+22 44950009 22:44950009A-G A G
+22 44951267 22:44951267C-A C A
+22 44951961 22:44951961C-T C T
+22 44952160 22:44952160T-A T A
+22 44952642 22:44952642C-T C T
+22 44953500 22:44953500A-G A G
+22 44954251 22:44954251T-C T C
+22 44954817 22:44954817C-T C T
+22 44954836 22:44954836T-C T C
+22 44955033 22:44955033C-T C T
+22 44955285 22:44955285G-A G A
+22 44955924 22:44955924A-G A G
+22 44956829 22:44956829A-G A G
+22 44956835 22:44956835A-C A C
+22 44957948 22:44957948G-A G A
+22 44958208 22:44958208T-A T A
+22 44959322 22:44959322T-A T A
+22 44959837 22:44959837T-C T C
+22 44960043 22:44960043T-C T C
+22 44960230 22:44960230T-A T A
+22 44960654 22:44960654A-G A G
+22 44961161 22:44961161A-C A C
+22 44961335 22:44961335A-T A T
+22 44961475 22:44961475C-T C T
+22 44962655 22:44962655T-G T G
+22 44963024 22:44963024C-A C A
+22 44963183 22:44963183A-C A C
+22 44964555 22:44964555A-C A C
+22 44965113 22:44965113T-C T C
+22 44965320 22:44965320G-A G A
+22 44965364 22:44965364A-G A G
+22 44965597 22:44965597G-A G A
+22 44965740 22:44965740G-T G T
+22 44966127 22:44966127A-G A G
+22 44967767 22:44967767C-G C G
+22 44968170 22:44968170G-T G T
+22 44968318 22:44968318C-A C A
+22 44968530 22:44968530G-A G A
+22 44968723 22:44968723G-A G A
+22 44969318 22:44969318G-A G A
+22 44969364 22:44969364G-A G A
+22 44969723 22:44969723C-T C T
+22 44970177 22:44970177G-A G A
+22 44970227 22:44970227T-C T C
+22 44970425 22:44970425C-A C A
+22 44971548 22:44971548G-A G A
+22 44972864 22:44972864G-A G A
+22 44972880 22:44972880C-T C T
+22 44973163 22:44973163G-C G C
+22 44973337 22:44973337A-C A C
+22 44973368 22:44973368C-G C G
+22 44973582 22:44973582T-C T C
+22 44973723 22:44973723T-C T C
+22 44973739 22:44973739A-G A G
+22 44973794 22:44973794C-G C G
+22 44974010 22:44974010T-C T C
+22 44974493 22:44974493C-T C T
+22 44974575 22:44974575T-C T C
+22 44974610 22:44974610T-C T C
+22 44974738 22:44974738G-A G A
+22 44974767 22:44974767C-A C A
+22 44974888 22:44974888T-C T C
+22 44975213 22:44975213C-T C T
+22 44975266 22:44975266C-T C T
+22 44975336 22:44975336A-G A G
+22 44975433 22:44975433G-A G A
+22 44975456 22:44975456A-C A C
+22 44975604 22:44975604A-G A G
+22 44975744 22:44975744C-T C T
+22 44976340 22:44976340T-C T C
+22 44976358 22:44976358T-G T G
+22 44978713 22:44978713T-C T C
+22 44978723 22:44978723C-A C A
+22 44979388 22:44979388C-A C A
+22 44979460 22:44979460C-T C T
+22 44979590 22:44979590C-T C T
+22 44979615 22:44979615C-G C G
+22 44980142 22:44980142T-G T G
+22 44980838 22:44980838A-G A G
+22 44980840 22:44980840G-A G A
+22 44980963 22:44980963A-G A G
+22 44981091 22:44981091A-G A G
+22 44981326 22:44981326A-C A C
+22 44981757 22:44981757A-G A G
+22 44985316 22:44985316C-T C T
+22 44985859 22:44985859C-G C G
+22 44985932 22:44985932G-C G C
+22 44986409 22:44986409C-T C T
+22 44987164 22:44987164T-G T G
+22 44987234 22:44987234C-T C T
+22 44987577 22:44987577A-G A G
+22 44988209 22:44988209T-C T C
+22 44988595 22:44988595T-G T G
+22 44996011 22:44996011G-C G C
+22 44996319 22:44996319T-C T C
+22 44996546 22:44996546C-G C G
+22 44997940 22:44997940C-T C T
+22 44997951 22:44997951C-T C T
+22 44998325 22:44998325G-A G A
+22 44999038 22:44999038C-G C G
+22 45000147 22:45000147G-A G A
+22 45000535 22:45000535A-G A G
+22 45000706 22:45000706C-T C T
+22 45000777 22:45000777G-A G A
+22 45000947 22:45000947C-T C T
+22 45000953 22:45000953T-G T G
+22 45001139 22:45001139G-T G T
+22 45001282 22:45001282C-T C T
+22 45001390 22:45001390T-C T C
+22 45001435 22:45001435G-C G C
+22 45002492 22:45002492A-C A C
+22 45002548 22:45002548G-A G A
+22 45002724 22:45002724C-T C T
+22 45003109 22:45003109G-A G A
+22 45003427 22:45003427C-A C A
+22 45003748 22:45003748T-C T C
+22 45003878 22:45003878T-C T C
+22 45004355 22:45004355C-T C T
+22 45004971 22:45004971C-T C T
+22 45004972 22:45004972A-G A G
+22 45005361 22:45005361A-G A G
+22 45005797 22:45005797C-G C G
+22 45005861 22:45005861G-A G A
+22 45005989 22:45005989G-C G C
+22 45006276 22:45006276C-G C G
+22 45006570 22:45006570G-A G A
+22 45006605 22:45006605G-C G C
+22 45006830 22:45006830T-C T C
+22 45006977 22:45006977G-T G T
+22 45007150 22:45007150C-A C A
+22 45007163 22:45007163G-A G A
+22 45007276 22:45007276A-G A G
+22 45007348 22:45007348A-G A G
+22 45007468 22:45007468G-T G T
+22 45007563 22:45007563G-C G C
+22 45007600 22:45007600C-T C T
+22 45007808 22:45007808C-T C T
+22 45007914 22:45007914A-G A G
+22 45007930 22:45007930G-A G A
+22 45007999 22:45007999G-A G A
+22 45008047 22:45008047C-T C T
+22 45008617 22:45008617T-C T C
+22 45009084 22:45009084A-T A T
+22 45009192 22:45009192C-G C G
+22 45009295 22:45009295A-G A G
+22 45009362 22:45009362A-G A G
+22 45009475 22:45009475A-G A G
+22 45009565 22:45009565A-G A G
+22 45009782 22:45009782C-T C T
+22 45009991 22:45009991T-C T C
+22 45009992 22:45009992G-A G A
+22 45010013 22:45010013C-T C T
+22 45010315 22:45010315T-G T G
+22 45010369 22:45010369C-T C T
+22 45011583 22:45011583G-C G C
+22 45011760 22:45011760C-G C G
+22 45011761 22:45011761G-A G A
+22 45011858 22:45011858C-A C A
+22 45011952 22:45011952G-A G A
+22 45012097 22:45012097G-A G A
+22 45013019 22:45013019T-C T C
+22 45013233 22:45013233G-A G A
+22 45013261 22:45013261A-G A G
+22 45013275 22:45013275A-G A G
+22 45013412 22:45013412A-G A G
+22 45013883 22:45013883T-A T A
+22 45013910 22:45013910G-C G C
+22 45014135 22:45014135C-T C T
+22 45014765 22:45014765T-C T C
+22 45014766 22:45014766G-A G A
+22 45014791 22:45014791A-G A G
+22 45014858 22:45014858T-C T C
+22 45016637 22:45016637C-G C G
+22 45016704 22:45016704T-A T A
+22 45016867 22:45016867C-T C T
+22 45016921 22:45016921C-T C T
+22 45017256 22:45017256C-T C T
+22 45017300 22:45017300C-T C T
+22 45017365 22:45017365C-T C T
+22 45017521 22:45017521C-T C T
+22 45017526 22:45017526A-G A G
+22 45017528 22:45017528G-C G C
+22 45017735 22:45017735A-C A C
+22 45018181 22:45018181G-A G A
+22 45018447 22:45018447A-C A C
+22 45018948 22:45018948C-G C G
+22 45018981 22:45018981C-T C T
+22 45019065 22:45019065C-A C A
+22 45020348 22:45020348A-G A G
+22 45020588 22:45020588G-A G A
+22 45020748 22:45020748T-C T C
+22 45021000 22:45021000T-C T C
+22 45021422 22:45021422G-A G A
+22 45021459 22:45021459G-A G A
+22 45021773 22:45021773G-A G A
+22 45021847 22:45021847C-T C T
+22 45022625 22:45022625C-T C T
+22 45022698 22:45022698C-T C T
+22 45023653 22:45023653G-A G A
+22 45024417 22:45024417A-T A T
+22 45026504 22:45026504G-A G A
+22 45030327 22:45030327T-C T C
+22 45030752 22:45030752C-T C T
+22 45031163 22:45031163G-A G A
+22 45032604 22:45032604G-A G A
+22 45033713 22:45033713T-C T C
+22 45034074 22:45034074T-A T A
+22 45034268 22:45034268G-A G A
+22 45034600 22:45034600T-C T C
+22 45035446 22:45035446G-A G A
+22 45035972 22:45035972C-T C T
+22 45036046 22:45036046C-A C A
+22 45037537 22:45037537G-A G A
+22 45037884 22:45037884C-T C T
+22 45037968 22:45037968T-C T C
+22 45038595 22:45038595G-A G A
+22 45038692 22:45038692A-C A C
+22 45038965 22:45038965A-G A G
+22 45040298 22:45040298T-C T C
+22 45040462 22:45040462C-T C T
+22 45041340 22:45041340C-T C T
+22 45041675 22:45041675G-C G C
+22 45042238 22:45042238C-G C G
+22 45042852 22:45042852G-A G A
+22 45043436 22:45043436G-A G A
+22 45043574 22:45043574G-A G A
+22 45043666 22:45043666A-G A G
+22 45044066 22:45044066T-C T C
+22 45044681 22:45044681G-A G A
+22 45045661 22:45045661G-C G C
+22 45047360 22:45047360G-A G A
+22 45047411 22:45047411A-G A G
+22 45047535 22:45047535T-C T C
+22 45047827 22:45047827C-G C G
+22 45048253 22:45048253C-A C A
+22 45049460 22:45049460G-C G C
+22 45049498 22:45049498C-T C T
+22 45049603 22:45049603T-C T C
+22 45050072 22:45050072A-G A G
+22 45050108 22:45050108G-A G A
+22 45050438 22:45050438T-C T C
+22 45050489 22:45050489T-C T C
+22 45050585 22:45050585A-G A G
+22 45050874 22:45050874A-G A G
+22 45050961 22:45050961T-C T C
+22 45050976 22:45050976C-T C T
+22 45050977 22:45050977G-A G A
+22 45051196 22:45051196C-G C G
+22 45051377 22:45051377C-A C A
+22 45052191 22:45052191T-C T C
+22 45052595 22:45052595C-T C T
+22 45052844 22:45052844A-C A C
+22 45052979 22:45052979G-A G A
+22 45053586 22:45053586T-C T C
+22 45053738 22:45053738A-G A G
+22 45054542 22:45054542G-A G A
+22 45054561 22:45054561G-A G A
+22 45054904 22:45054904A-G A G
+22 45055123 22:45055123G-A G A
+22 45055584 22:45055584C-T C T
+22 45055880 22:45055880A-C A C
+22 45056639 22:45056639G-C G C
+22 45057161 22:45057161G-T G T
+22 45057309 22:45057309G-A G A
+22 45057826 22:45057826C-T C T
+22 45058431 22:45058431T-C T C
+22 45058725 22:45058725T-C T C
+22 45058770 22:45058770C-T C T
+22 45058803 22:45058803G-A G A
+22 45058852 22:45058852G-C G C
+22 45058990 22:45058990T-C T C
+22 45059248 22:45059248G-A G A
+22 45061767 22:45061767A-G A G
+22 45061798 22:45061798T-C T C
+22 45063130 22:45063130G-A G A
+22 45063141 22:45063141G-A G A
+22 45063495 22:45063495A-G A G
+22 45063743 22:45063743C-T C T
+22 45065544 22:45065544T-C T C
+22 45065761 22:45065761C-G C G
+22 45065866 22:45065866G-A G A
+22 45065994 22:45065994T-G T G
+22 45066002 22:45066002G-A G A
+22 45066035 22:45066035G-A G A
+22 45066071 22:45066071T-A T A
+22 45066418 22:45066418G-A G A
+22 45066714 22:45066714T-C T C
+22 45067165 22:45067165C-T C T
+22 45068596 22:45068596C-T C T
+22 45069235 22:45069235G-A G A
+22 45069410 22:45069410C-T C T
+22 45070238 22:45070238A-G A G
+22 45070457 22:45070457C-T C T
+22 45071679 22:45071679C-T C T
+22 45072227 22:45072227C-A C A
+22 45072655 22:45072655T-C T C
+22 45073575 22:45073575C-T C T
+22 45073584 22:45073584G-A G A
+22 45074069 22:45074069G-A G A
+22 45074097 22:45074097G-C G C
+22 45074264 22:45074264G-A G A
+22 45074565 22:45074565C-T C T
+22 45075015 22:45075015C-G C G
+22 45075016 22:45075016G-A G A
+22 45075303 22:45075303A-G A G
+22 45075406 22:45075406G-T G T
+22 45075738 22:45075738T-C T C
+22 45075854 22:45075854G-A G A
+22 45075871 22:45075871C-T C T
+22 45075876 22:45075876G-A G A
+22 45076044 22:45076044G-A G A
+22 45076061 22:45076061G-C G C
+22 45076280 22:45076280G-T G T
+22 45076306 22:45076306A-T A T
+22 45076357 22:45076357A-T A T
+22 45076451 22:45076451C-T C T
+22 45076589 22:45076589C-T C T
+22 45076770 22:45076770A-G A G
+22 45077861 22:45077861C-T C T
+22 45078177 22:45078177G-A G A
+22 45078240 22:45078240T-G T G
+22 45078354 22:45078354G-A G A
+22 45078443 22:45078443G-A G A
+22 45078454 22:45078454C-T C T
+22 45078460 22:45078460G-A G A
+22 45078496 22:45078496G-A G A
+22 45078517 22:45078517C-A C A
+22 45078578 22:45078578C-T C T
+22 45078601 22:45078601T-C T C
+22 45078618 22:45078618C-T C T
+22 45078742 22:45078742G-A G A
+22 45079237 22:45079237T-C T C
+22 45079804 22:45079804A-G A G
+22 45079808 22:45079808C-G C G
+22 45079901 22:45079901C-T C T
+22 45079902 22:45079902C-G C G
+22 45079927 22:45079927C-G C G
+22 45079980 22:45079980G-A G A
+22 45080124 22:45080124G-A G A
+22 45080188 22:45080188C-T C T
+22 45080205 22:45080205C-T C T
+22 45080483 22:45080483T-G T G
+22 45080502 22:45080502A-G A G
+22 45080508 22:45080508G-A G A
+22 45080543 22:45080543T-G T G
+22 45080638 22:45080638G-T G T
+22 45080649 22:45080649A-G A G
+22 45080755 22:45080755G-A G A
+22 45080989 22:45080989T-C T C
+22 45081259 22:45081259C-G C G
+22 45081330 22:45081330A-G A G
+22 45081398 22:45081398G-C G C
+22 45081571 22:45081571G-A G A
+22 45081786 22:45081786G-A G A
+22 45082062 22:45082062G-A G A
+22 45082086 22:45082086G-T G T
+22 45082168 22:45082168A-C A C
+22 45082423 22:45082423G-C G C
+22 45083750 22:45083750G-A G A
+22 45083855 22:45083855C-T C T
+22 45084020 22:45084020T-C T C
+22 45084247 22:45084247G-C G C
+22 45084493 22:45084493G-A G A
+22 45084907 22:45084907G-A G A
+22 45085018 22:45085018C-A C A
+22 45085141 22:45085141T-A T A
+22 45085284 22:45085284T-C T C
+22 45086908 22:45086908C-T C T
+22 45087162 22:45087162C-A C A
+22 45087162 22:45087162C-T C T
+22 45087243 22:45087243G-A G A
+22 45089211 22:45089211G-A G A
+22 45089392 22:45089392G-T G T
+22 45090008 22:45090008A-G A G
+22 45090565 22:45090565A-G A G
+22 45091375 22:45091375G-A G A
+22 45092502 22:45092502G-A G A
+22 45092743 22:45092743A-G A G
+22 45092955 22:45092955C-T C T
+22 45093659 22:45093659G-A G A
+22 45094043 22:45094043A-G A G
+22 45094393 22:45094393G-A G A
+22 45094547 22:45094547C-T C T
+22 45095064 22:45095064C-T C T
+22 45095261 22:45095261G-A G A
+22 45095527 22:45095527C-T C T
+22 45095654 22:45095654C-T C T
+22 45096222 22:45096222A-G A G
+22 45096849 22:45096849G-C G C
+22 45097754 22:45097754T-G T G
+22 45097770 22:45097770A-C A C
+22 45097771 22:45097771A-T A T
+22 45097815 22:45097815C-T C T
+22 45097925 22:45097925G-T G T
+22 45098107 22:45098107T-G T G
+22 45099091 22:45099091T-G T G
+22 45099466 22:45099466T-G T G
+22 45099826 22:45099826A-T A T
+22 45099854 22:45099854T-C T C
+22 45100192 22:45100192G-C G C
+22 45100997 22:45100997A-G A G
+22 45101494 22:45101494C-T C T
+22 45101811 22:45101811G-A G A
+22 45102562 22:45102562C-T C T
+22 45103486 22:45103486C-T C T
+22 45103635 22:45103635C-A C A
+22 45104348 22:45104348C-T C T
+22 45104366 22:45104366A-C A C
+22 45104672 22:45104672C-T C T
+22 45104723 22:45104723T-C T C
+22 45105109 22:45105109C-T C T
+22 45106017 22:45106017T-C T C
+22 45106233 22:45106233C-T C T
+22 45106786 22:45106786G-A G A
+22 45107020 22:45107020T-C T C
+22 45107125 22:45107125A-G A G
+22 45107129 22:45107129G-A G A
+22 45107925 22:45107925C-T C T
+22 45108192 22:45108192A-G A G
+22 45108257 22:45108257C-T C T
+22 45108284 22:45108284T-C T C
+22 45108345 22:45108345G-A G A
+22 45108364 22:45108364C-T C T
+22 45108403 22:45108403G-A G A
+22 45109027 22:45109027C-T C T
+22 45109103 22:45109103G-A G A
+22 45109211 22:45109211A-G A G
+22 45109293 22:45109293G-A G A
+22 45109666 22:45109666C-T C T
+22 45109828 22:45109828C-T C T
+22 45110732 22:45110732T-C T C
+22 45110765 22:45110765T-C T C
+22 45110851 22:45110851G-A G A
+22 45110876 22:45110876A-G A G
+22 45111049 22:45111049G-A G A
+22 45111105 22:45111105A-G A G
+22 45111234 22:45111234T-C T C
+22 45111277 22:45111277G-A G A
+22 45111320 22:45111320G-A G A
+22 45111781 22:45111781A-G A G
+22 45112276 22:45112276T-C T C
+22 45112306 22:45112306A-G A G
+22 45112314 22:45112314G-A G A
+22 45112343 22:45112343G-C G C
+22 45112963 22:45112963T-C T C
+22 45113151 22:45113151G-A G A
+22 45113418 22:45113418C-T C T
+22 45113444 22:45113444A-G A G
+22 45113454 22:45113454G-T G T
+22 45113577 22:45113577G-A G A
+22 45113580 22:45113580T-C T C
+22 45113833 22:45113833G-C G C
+22 45113922 22:45113922A-G A G
+22 45114177 22:45114177C-T C T
+22 45114848 22:45114848C-T C T
+22 45115022 22:45115022T-C T C
+22 45115399 22:45115399A-G A G
+22 45115484 22:45115484G-A G A
+22 45115497 22:45115497G-C G C
+22 45115532 22:45115532T-C T C
+22 45115579 22:45115579A-G A G
+22 45115757 22:45115757C-T C T
+22 45115904 22:45115904G-A G A
+22 45116048 22:45116048C-T C T
+22 45116127 22:45116127G-A G A
+22 45116170 22:45116170G-A G A
+22 45116171 22:45116171G-A G A
+22 45116191 22:45116191C-T C T
+22 45116203 22:45116203A-G A G
+22 45116244 22:45116244C-A C A
+22 45116441 22:45116441A-G A G
+22 45116450 22:45116450G-A G A
+22 45116494 22:45116494G-A G A
+22 45116664 22:45116664T-C T C
+22 45116800 22:45116800A-G A G
+22 45116977 22:45116977C-A C A
+22 45117178 22:45117178C-G C G
+22 45117434 22:45117434T-C T C
+22 45117556 22:45117556C-A C A
+22 45117594 22:45117594T-C T C
+22 45117629 22:45117629C-G C G
+22 45118533 22:45118533T-G T G
+22 45118550 22:45118550T-A T A
+22 45118624 22:45118624G-T G T
+22 45118647 22:45118647T-C T C
+22 45118928 22:45118928C-T C T
+22 45118934 22:45118934C-G C G
+22 45119023 22:45119023G-A G A
+22 45119659 22:45119659G-A G A
+22 45121428 22:45121428G-A G A
+22 45121797 22:45121797A-G A G
+22 45121825 22:45121825G-A G A
+22 45121864 22:45121864T-C T C
+22 45121881 22:45121881C-G C G
+22 45121914 22:45121914A-C A C
+22 45122866 22:45122866C-G C G
+22 45123084 22:45123084A-G A G
+22 45123503 22:45123503G-C G C
+22 45123841 22:45123841C-G C G
+22 45123977 22:45123977G-C G C
+22 45124036 22:45124036A-G A G
+22 45124295 22:45124295A-C A C
+22 45124350 22:45124350C-T C T
+22 45124595 22:45124595T-G T G
+22 45124846 22:45124846C-T C T
+22 45124895 22:45124895A-G A G
+22 45125310 22:45125310G-A G A
+22 45125757 22:45125757G-A G A
+22 45126427 22:45126427T-C T C
+22 45126638 22:45126638G-T G T
+22 45126775 22:45126775T-C T C
+22 45127435 22:45127435G-T G T
+22 45128232 22:45128232T-C T C
+22 45128288 22:45128288G-C G C
+22 45128449 22:45128449G-T G T
+22 45128596 22:45128596T-C T C
+22 45129099 22:45129099A-G A G
+22 45129262 22:45129262C-T C T
+22 45129505 22:45129505C-T C T
+22 45130062 22:45130062G-A G A
+22 45130373 22:45130373A-G A G
+22 45130428 22:45130428G-T G T
+22 45130466 22:45130466G-A G A
+22 45131053 22:45131053G-A G A
+22 45131239 22:45131239C-T C T
+22 45131413 22:45131413G-A G A
+22 45131462 22:45131462T-A T A
+22 45131533 22:45131533C-G C G
+22 45131555 22:45131555T-G T G
+22 45132323 22:45132323A-G A G
+22 45132359 22:45132359G-T G T
+22 45132506 22:45132506G-A G A
+22 45132535 22:45132535C-T C T
+22 45132540 22:45132540C-T C T
+22 45132687 22:45132687G-A G A
+22 45133238 22:45133238A-G A G
+22 45133340 22:45133340G-A G A
+22 45133467 22:45133467G-A G A
+22 45133657 22:45133657T-C T C
+22 45133772 22:45133772G-A G A
+22 45134049 22:45134049G-C G C
+22 45134197 22:45134197G-A G A
+22 45134339 22:45134339A-G A G
+22 45134548 22:45134548C-T C T
+22 45134565 22:45134565A-G A G
+22 45134861 22:45134861C-G C G
+22 45135071 22:45135071G-A G A
+22 45135264 22:45135264A-G A G
+22 45135273 22:45135273G-A G A
+22 45135313 22:45135313T-C T C
+22 45135637 22:45135637G-C G C
+22 45135745 22:45135745G-C G C
+22 45135932 22:45135932T-C T C
+22 45135940 22:45135940C-A C A
+22 45135967 22:45135967G-C G C
+22 45136123 22:45136123C-T C T
+22 45136360 22:45136360G-A G A
+22 45136703 22:45136703A-G A G
+22 45136720 22:45136720T-C T C
+22 45137394 22:45137394C-G C G
+22 45137439 22:45137439G-A G A
+22 45137492 22:45137492A-G A G
+22 45137929 22:45137929A-G A G
+22 45138032 22:45138032G-T G T
+22 45138404 22:45138404T-C T C
+22 45138464 22:45138464G-A G A
+22 45139506 22:45139506T-C T C
+22 45140077 22:45140077G-A G A
+22 45141380 22:45141380A-G A G
+22 45142177 22:45142177A-G A G
+22 45143384 22:45143384A-G A G
+22 45143453 22:45143453A-G A G
+22 45143668 22:45143668A-T A T
+22 45144106 22:45144106G-T G T
+22 45144978 22:45144978G-T G T
+22 45145310 22:45145310C-T C T
+22 45146224 22:45146224A-C A C
+22 45146425 22:45146425C-T C T
+22 45146574 22:45146574T-A T A
+22 45147065 22:45147065A-G A G
+22 45147278 22:45147278A-G A G
+22 45147760 22:45147760A-G A G
+22 45147925 22:45147925G-A G A
+22 45148200 22:45148200C-T C T
+22 45148348 22:45148348G-T G T
+22 45148968 22:45148968G-A G A
+22 45148983 22:45148983C-A C A
+22 45148992 22:45148992T-C T C
+22 45149281 22:45149281A-G A G
+22 45149303 22:45149303G-C G C
+22 45149347 22:45149347T-C T C
+22 45149348 22:45149348T-G T G
+22 45149351 22:45149351T-C T C
+22 45149541 22:45149541A-G A G
+22 45149585 22:45149585G-A G A
+22 45149613 22:45149613A-C A C
+22 45149619 22:45149619G-A G A
+22 45149643 22:45149643G-A G A
+22 45150077 22:45150077G-A G A
+22 45150093 22:45150093T-C T C
+22 45150130 22:45150130C-T C T
+22 45150203 22:45150203T-C T C
+22 45150389 22:45150389C-T C T
+22 45150480 22:45150480T-C T C
+22 45150659 22:45150659C-T C T
+22 45150810 22:45150810G-C G C
+22 45150817 22:45150817A-C A C
+22 45150833 22:45150833C-G C G
+22 45150907 22:45150907T-C T C
+22 45150999 22:45150999C-G C G
+22 45151046 22:45151046T-C T C
+22 45151054 22:45151054C-A C A
+22 45151454 22:45151454C-T C T
+22 45151659 22:45151659A-T A T
+22 45151716 22:45151716A-C A C
+22 45151720 22:45151720G-A G A
+22 45151739 22:45151739T-A T A
+22 45152164 22:45152164T-C T C
+22 45152543 22:45152543C-A C A
+22 45152766 22:45152766G-T G T
+22 45152787 22:45152787C-T C T
+22 45152788 22:45152788G-T G T
+22 45153810 22:45153810C-T C T
+22 45153863 22:45153863T-C T C
+22 45154051 22:45154051C-T C T
+22 45154106 22:45154106A-G A G
+22 45154831 22:45154831C-A C A
+22 45155118 22:45155118C-T C T
+22 45155288 22:45155288C-T C T
+22 45155895 22:45155895C-A C A
+22 45156255 22:45156255C-T C T
+22 45156774 22:45156774C-G C G
+22 45157103 22:45157103G-A G A
+22 45157213 22:45157213C-T C T
+22 45157242 22:45157242T-C T C
+22 45157608 22:45157608T-C T C
+22 45157852 22:45157852C-A C A
+22 45158028 22:45158028T-C T C
+22 45158410 22:45158410A-G A G
+22 45158657 22:45158657T-C T C
+22 45158955 22:45158955A-G A G
+22 45159248 22:45159248G-A G A
+22 45159346 22:45159346C-T C T
+22 45159611 22:45159611G-A G A
+22 45160232 22:45160232G-C G C
+22 45160237 22:45160237G-C G C
+22 45160622 22:45160622G-T G T
+22 45161018 22:45161018G-A G A
+22 45161740 22:45161740T-G T G
+22 45161931 22:45161931T-C T C
+22 45161993 22:45161993G-A G A
+22 45162117 22:45162117G-A G A
+22 45162122 22:45162122G-T G T
+22 45163228 22:45163228C-T C T
+22 45163571 22:45163571C-G C G
+22 45164631 22:45164631A-G A G
+22 45164704 22:45164704G-A G A
+22 45164996 22:45164996T-C T C
+22 45165859 22:45165859C-G C G
+22 45165878 22:45165878C-T C T
+22 45165996 22:45165996C-T C T
+22 45166110 22:45166110C-T C T
+22 45166168 22:45166168C-A C A
+22 45166275 22:45166275C-T C T
+22 45166328 22:45166328C-T C T
+22 45166349 22:45166349C-A C A
+22 45166390 22:45166390G-A G A
+22 45166701 22:45166701A-G A G
+22 45166788 22:45166788G-A G A
+22 45167317 22:45167317T-G T G
+22 45167436 22:45167436T-G T G
+22 45167471 22:45167471G-C G C
+22 45168170 22:45168170T-C T C
+22 45168370 22:45168370A-G A G
+22 45169376 22:45169376C-T C T
+22 45169471 22:45169471T-G T G
+22 45169548 22:45169548C-T C T
+22 45169772 22:45169772C-A C A
+22 45170122 22:45170122A-G A G
+22 45170602 22:45170602G-A G A
+22 45170697 22:45170697T-C T C
+22 45170777 22:45170777C-T C T
+22 45170813 22:45170813T-C T C
+22 45170854 22:45170854G-A G A
+22 45171263 22:45171263G-A G A
+22 45171384 22:45171384A-G A G
+22 45171481 22:45171481C-T C T
+22 45171729 22:45171729G-A G A
+22 45172343 22:45172343A-G A G
+22 45173005 22:45173005C-T C T
+22 45173060 22:45173060C-T C T
+22 45174346 22:45174346C-T C T
+22 45174551 22:45174551G-T G T
+22 45174660 22:45174660A-T A T
+22 45174712 22:45174712G-A G A
+22 45174764 22:45174764C-T C T
+22 45175062 22:45175062C-T C T
+22 45175094 22:45175094C-T C T
+22 45175111 22:45175111C-A C A
+22 45175195 22:45175195G-A G A
+22 45175233 22:45175233A-G A G
+22 45175384 22:45175384T-C T C
+22 45175534 22:45175534C-T C T
+22 45175800 22:45175800T-C T C
+22 45175827 22:45175827C-T C T
+22 45175971 22:45175971T-C T C
+22 45176071 22:45176071T-C T C
+22 45176152 22:45176152T-G T G
+22 45176170 22:45176170A-G A G
+22 45176312 22:45176312G-A G A
+22 45176523 22:45176523C-T C T
+22 45176709 22:45176709G-A G A
+22 45176723 22:45176723G-A G A
+22 45176745 22:45176745G-A G A
+22 45176758 22:45176758T-G T G
+22 45176778 22:45176778T-G T G
+22 45177003 22:45177003A-G A G
+22 45177040 22:45177040C-G C G
+22 45177112 22:45177112A-G A G
+22 45177426 22:45177426A-G A G
+22 45177490 22:45177490G-A G A
+22 45177491 22:45177491G-C G C
+22 45177559 22:45177559C-G C G
+22 45178088 22:45178088A-G A G
+22 45178140 22:45178140C-T C T
+22 45178447 22:45178447C-T C T
+22 45178470 22:45178470C-T C T
+22 45178529 22:45178529T-C T C
+22 45178740 22:45178740G-A G A
+22 45178745 22:45178745G-A G A
+22 45178783 22:45178783C-G C G
+22 45178823 22:45178823T-C T C
+22 45178921 22:45178921C-T C T
+22 45178931 22:45178931G-A G A
+22 45179079 22:45179079C-G C G
+22 45179228 22:45179228G-A G A
+22 45179384 22:45179384A-G A G
+22 45179391 22:45179391C-G C G
+22 45179433 22:45179433C-G C G
+22 45179647 22:45179647C-T C T
+22 45179650 22:45179650C-G C G
+22 45179660 22:45179660G-A G A
+22 45179735 22:45179735C-T C T
+22 45179745 22:45179745G-C G C
+22 45180366 22:45180366G-A G A
+22 45180479 22:45180479C-G C G
+22 45180510 22:45180510A-G A G
+22 45180554 22:45180554G-A G A
+22 45180650 22:45180650C-T C T
+22 45180868 22:45180868T-C T C
+22 45180911 22:45180911A-G A G
+22 45180939 22:45180939T-C T C
+22 45180944 22:45180944A-G A G
+22 45181011 22:45181011G-C G C
+22 45181038 22:45181038A-G A G
+22 45181148 22:45181148A-C A C
+22 45181193 22:45181193G-A G A
+22 45181255 22:45181255G-A G A
+22 45181443 22:45181443C-A C A
+22 45181545 22:45181545A-G A G
+22 45181795 22:45181795C-T C T
+22 45182076 22:45182076G-A G A
+22 45182104 22:45182104T-C T C
+22 45182157 22:45182157C-G C G
+22 45182207 22:45182207G-A G A
+22 45182565 22:45182565C-T C T
+22 45182793 22:45182793G-A G A
+22 45182867 22:45182867C-T C T
+22 45182969 22:45182969A-C A C
+22 45183014 22:45183014A-G A G
+22 45183417 22:45183417G-A G A
+22 45183529 22:45183529A-G A G
+22 45183545 22:45183545T-C T C
+22 45183847 22:45183847T-C T C
+22 45183868 22:45183868A-G A G
+22 45183918 22:45183918G-A G A
+22 45183954 22:45183954A-C A C
+22 45184093 22:45184093T-G T G
+22 45184143 22:45184143C-T C T
+22 45184188 22:45184188A-G A G
+22 45184246 22:45184246G-A G A
+22 45184446 22:45184446A-G A G
+22 45184550 22:45184550T-C T C
+22 45184783 22:45184783C-T C T
+22 45185438 22:45185438C-T C T
+22 45186057 22:45186057C-A C A
+22 45186430 22:45186430T-C T C
+22 45187219 22:45187219A-G A G
+22 45187232 22:45187232A-C A C
+22 45187309 22:45187309C-T C T
+22 45187345 22:45187345G-A G A
+22 45187415 22:45187415A-G A G
+22 45187590 22:45187590A-G A G
+22 45187790 22:45187790G-A G A
+22 45187986 22:45187986A-G A G
+22 45187996 22:45187996G-A G A
+22 45188025 22:45188025G-T G T
+22 45188089 22:45188089A-G A G
+22 45188196 22:45188196T-C T C
+22 45188400 22:45188400G-T G T
+22 45188601 22:45188601T-C T C
+22 45188624 22:45188624C-T C T
+22 45188671 22:45188671C-T C T
+22 45188867 22:45188867C-G C G
+22 45188954 22:45188954A-G A G
+22 45189213 22:45189213G-A G A
+22 45189238 22:45189238G-A G A
+22 45189239 22:45189239G-A G A
+22 45189299 22:45189299G-A G A
+22 45189346 22:45189346C-A C A
+22 45189388 22:45189388T-G T G
+22 45189402 22:45189402G-A G A
+22 45189449 22:45189449A-G A G
+22 45189463 22:45189463T-C T C
+22 45189507 22:45189507C-A C A
+22 45189871 22:45189871G-A G A
+22 45189889 22:45189889T-C T C
+22 45190056 22:45190056C-T C T
+22 45190418 22:45190418A-G A G
+22 45190585 22:45190585G-A G A
+22 45190750 22:45190750G-A G A
+22 45191054 22:45191054C-G C G
+22 45191279 22:45191279G-C G C
+22 45191452 22:45191452G-A G A
+22 45191504 22:45191504C-T C T
+22 45191958 22:45191958G-A G A
+22 45192234 22:45192234G-C G C
+22 45192621 22:45192621A-G A G
+22 45192660 22:45192660G-A G A
+22 45192793 22:45192793C-G C G
+22 45192811 22:45192811G-A G A
+22 45192972 22:45192972G-A G A
+22 45193095 22:45193095G-A G A
+22 45194092 22:45194092G-T G T
+22 45194352 22:45194352T-G T G
+22 45194531 22:45194531A-G A G
+22 45194836 22:45194836C-T C T
+22 45194849 22:45194849G-C G C
+22 45195008 22:45195008G-A G A
+22 45195207 22:45195207A-G A G
+22 45195785 22:45195785G-C G C
+22 45196058 22:45196058G-A G A
+22 45196118 22:45196118G-A G A
+22 45196221 22:45196221A-G A G
+22 45197456 22:45197456G-A G A
+22 45197463 22:45197463A-G A G
+22 45197468 22:45197468C-T C T
+22 45197642 22:45197642G-A G A
+22 45197749 22:45197749G-A G A
+22 45198009 22:45198009A-G A G
+22 45198494 22:45198494A-G A G
+22 45198547 22:45198547A-G A G
+22 45198924 22:45198924G-A G A
+22 45199058 22:45199058G-A G A
+22 45199367 22:45199367G-A G A
+22 45199719 22:45199719T-C T C
+22 45199999 22:45199999C-T C T
+22 45200471 22:45200471C-T C T
+22 45200867 22:45200867G-A G A
+22 45200934 22:45200934T-C T C
+22 45200987 22:45200987C-T C T
+22 45201080 22:45201080A-G A G
+22 45202172 22:45202172C-T C T
+22 45202239 22:45202239G-A G A
+22 45202328 22:45202328C-T C T
+22 45202600 22:45202600C-T C T
+22 45202619 22:45202619G-A G A
+22 45202793 22:45202793G-A G A
+22 45203533 22:45203533C-T C T
+22 45203943 22:45203943C-T C T
+22 45203993 22:45203993A-G A G
+22 45204107 22:45204107C-T C T
+22 45204750 22:45204750T-C T C
+22 45204770 22:45204770T-C T C
+22 45205323 22:45205323C-T C T
+22 45205524 22:45205524G-A G A
+22 45205527 22:45205527T-C T C
+22 45205728 22:45205728A-G A G
+22 45205827 22:45205827A-G A G
+22 45205923 22:45205923C-T C T
+22 45206061 22:45206061T-C T C
+22 45206283 22:45206283G-A G A
+22 45206307 22:45206307A-G A G
+22 45206387 22:45206387C-T C T
+22 45206496 22:45206496T-C T C
+22 45206499 22:45206499C-T C T
+22 45206779 22:45206779C-T C T
+22 45207319 22:45207319G-A G A
+22 45207538 22:45207538T-G T G
+22 45207555 22:45207555C-G C G
+22 45207597 22:45207597T-C T C
+22 45207782 22:45207782T-C T C
+22 45208033 22:45208033G-A G A
+22 45208036 22:45208036C-T C T
+22 45208186 22:45208186C-G C G
+22 45208261 22:45208261G-A G A
+22 45208343 22:45208343T-C T C
+22 45208585 22:45208585G-C G C
+22 45209412 22:45209412C-T C T
+22 45209496 22:45209496C-T C T
+22 45209917 22:45209917G-A G A
+22 45210666 22:45210666G-A G A
+22 45213262 22:45213262G-A G A
+22 45213544 22:45213544T-C T C
+22 45213545 22:45213545G-A G A
+22 45213867 22:45213867T-C T C
+22 45215613 22:45215613C-G C G
+22 45216062 22:45216062C-G C G
+22 45216149 22:45216149T-G T G
+22 45216340 22:45216340C-T C T
+22 45216518 22:45216518G-C G C
+22 45216668 22:45216668C-T C T
+22 45217021 22:45217021G-T G T
+22 45217138 22:45217138C-T C T
+22 45217241 22:45217241G-A G A
+22 45217287 22:45217287T-G T G
+22 45219187 22:45219187G-A G A
+22 45219968 22:45219968G-C G C
+22 45220994 22:45220994G-A G A
+22 45221043 22:45221043G-A G A
+22 45221062 22:45221062G-T G T
+22 45221423 22:45221423A-T A T
+22 45222342 22:45222342C-G C G
+22 45222806 22:45222806A-G A G
+22 45223514 22:45223514C-T C T
+22 45223760 22:45223760T-C T C
+22 45223887 22:45223887G-T G T
+22 45224616 22:45224616G-C G C
+22 45224766 22:45224766T-C T C
+22 45225247 22:45225247T-G T G
+22 45225297 22:45225297T-C T C
+22 45225675 22:45225675T-A T A
+22 45226519 22:45226519C-T C T
+22 45226984 22:45226984C-T C T
+22 45226985 22:45226985G-A G A
+22 45226990 22:45226990A-G A G
+22 45227123 22:45227123T-C T C
+22 45227167 22:45227167T-C T C
+22 45227172 22:45227172C-T C T
+22 45227273 22:45227273C-T C T
+22 45227318 22:45227318A-G A G
+22 45227472 22:45227472C-G C G
+22 45227827 22:45227827C-G C G
+22 45228629 22:45228629T-C T C
+22 45229798 22:45229798A-G A G
+22 45230436 22:45230436C-T C T
+22 45231099 22:45231099T-C T C
+22 45231373 22:45231373C-T C T
+22 45231425 22:45231425G-A G A
+22 45231570 22:45231570G-A G A
+22 45231659 22:45231659C-G C G
+22 45231681 22:45231681G-T G T
+22 45231697 22:45231697T-C T C
+22 45231758 22:45231758G-T G T
+22 45231883 22:45231883T-C T C
+22 45231892 22:45231892A-G A G
+22 45232188 22:45232188T-G T G
+22 45232572 22:45232572A-C A C
+22 45232965 22:45232965A-G A G
+22 45233718 22:45233718T-C T C
+22 45234161 22:45234161G-A G A
+22 45234166 22:45234166T-C T C
+22 45234308 22:45234308A-G A G
+22 45234405 22:45234405C-A C A
+22 45234739 22:45234739A-G A G
+22 45234755 22:45234755A-G A G
+22 45235303 22:45235303C-T C T
+22 45235779 22:45235779G-A G A
+22 45236613 22:45236613G-A G A
+22 45236687 22:45236687G-A G A
+22 45237092 22:45237092A-G A G
+22 45237237 22:45237237G-A G A
+22 45237239 22:45237239C-T C T
+22 45237570 22:45237570C-G C G
+22 45237686 22:45237686G-A G A
+22 45238232 22:45238232A-G A G
+22 45238437 22:45238437C-T C T
+22 45240002 22:45240002T-A T A
+22 45240091 22:45240091C-A C A
+22 45240136 22:45240136T-C T C
+22 45240256 22:45240256T-G T G
+22 45241303 22:45241303C-T C T
+22 45241702 22:45241702G-A G A
+22 45241743 22:45241743C-G C G
+22 45241795 22:45241795T-C T C
+22 45242022 22:45242022A-G A G
+22 45242035 22:45242035C-T C T
+22 45242240 22:45242240G-A G A
+22 45242804 22:45242804C-G C G
+22 45243034 22:45243034C-T C T
+22 45243111 22:45243111G-A G A
+22 45243239 22:45243239C-T C T
+22 45243458 22:45243458G-A G A
+22 45243780 22:45243780G-A G A
+22 45244001 22:45244001C-T C T
+22 45244160 22:45244160T-G T G
+22 45244641 22:45244641G-T G T
+22 45244930 22:45244930C-T C T
+22 45245266 22:45245266A-G A G
+22 45245359 22:45245359C-T C T
+22 45245850 22:45245850C-G C G
+22 45245876 22:45245876G-C G C
+22 45246250 22:45246250C-G C G
+22 45246306 22:45246306G-C G C
+22 45246633 22:45246633A-G A G
+22 45246701 22:45246701A-G A G
+22 45247054 22:45247054C-T C T
+22 45247063 22:45247063A-T A T
+22 45247175 22:45247175A-G A G
+22 45247191 22:45247191A-T A T
+22 45247215 22:45247215C-T C T
+22 45247792 22:45247792C-T C T
+22 45247796 22:45247796T-C T C
+22 45247872 22:45247872A-G A G
+22 45248214 22:45248214C-T C T
+22 45248241 22:45248241A-G A G
+22 45248498 22:45248498C-G C G
+22 45248820 22:45248820C-G C G
+22 45248829 22:45248829C-T C T
+22 45250421 22:45250421G-C G C
+22 45251169 22:45251169C-T C T
+22 45251239 22:45251239C-T C T
+22 45251283 22:45251283G-A G A
+22 45251318 22:45251318G-A G A
+22 45251423 22:45251423G-A G A
+22 45251460 22:45251460G-C G C
+22 45251713 22:45251713G-A G A
+22 45251811 22:45251811C-T C T
+22 45251947 22:45251947C-G C G
+22 45252232 22:45252232C-T C T
+22 45252285 22:45252285C-G C G
+22 45252366 22:45252366C-G C G
+22 45253112 22:45253112G-A G A
+22 45253233 22:45253233A-G A G
+22 45253321 22:45253321C-G C G
+22 45253333 22:45253333A-G A G
+22 45253376 22:45253376C-G C G
+22 45253473 22:45253473G-A G A
+22 45253503 22:45253503G-T G T
+22 45253511 22:45253511A-G A G
+22 45253530 22:45253530C-T C T
+22 45253550 22:45253550G-A G A
+22 45253629 22:45253629C-G C G
+22 45253636 22:45253636A-G A G
+22 45253710 22:45253710G-T G T
+22 45253718 22:45253718T-C T C
+22 45253764 22:45253764G-A G A
+22 45253772 22:45253772C-T C T
+22 45253773 22:45253773G-A G A
+22 45253774 22:45253774C-T C T
+22 45253839 22:45253839A-G A G
+22 45253872 22:45253872G-T G T
+22 45253895 22:45253895C-T C T
+22 45254083 22:45254083G-T G T
+22 45255043 22:45255043G-A G A
+22 45255155 22:45255155G-A G A
+22 45255204 22:45255204C-T C T
+22 45255287 22:45255287T-C T C
+22 45255385 22:45255385A-G A G
+22 45255436 22:45255436C-G C G
+22 45255460 22:45255460G-A G A
+22 45255484 22:45255484A-C A C
+22 45255527 22:45255527A-C A C
+22 45255580 22:45255580G-C G C
+22 45255630 22:45255630T-C T C
+22 45255637 22:45255637G-C G C
+22 45255727 22:45255727G-C G C
+22 45255769 22:45255769C-T C T
+22 45255802 22:45255802T-G T G
+22 45256002 22:45256002A-T A T
+22 45256142 22:45256142C-A C A
+22 45256179 22:45256179C-G C G
+22 45256212 22:45256212G-A G A
+22 45256223 22:45256223C-T C T
+22 45256418 22:45256418T-G T G
+22 45256619 22:45256619C-T C T
+22 45256624 22:45256624A-G A G
+22 45256681 22:45256681C-G C G
+22 45256730 22:45256730C-T C T
+22 45256731 22:45256731G-A G A
+22 45256820 22:45256820A-G A G
+22 45256838 22:45256838G-A G A
+22 45256954 22:45256954G-C G C
+22 45257026 22:45257026T-A T A
+22 45257199 22:45257199C-G C G
+22 45257245 22:45257245C-G C G
+22 45257371 22:45257371C-T C T
+22 45257747 22:45257747T-C T C
+22 45257808 22:45257808C-G C G
+22 45257815 22:45257815G-C G C
+22 45257828 22:45257828G-C G C
+22 45257847 22:45257847C-T C T
+22 45257870 22:45257870C-G C G
+22 45257942 22:45257942C-T C T
+22 45258012 22:45258012C-T C T
+22 45258053 22:45258053C-T C T
+22 45258324 22:45258324C-T C T
+22 45258333 22:45258333C-G C G
+22 45258457 22:45258457A-G A G
+22 45258495 22:45258495A-G A G
+22 45258539 22:45258539G-A G A
+22 45258614 22:45258614G-C G C
+22 45258650 22:45258650A-C A C
+22 45258694 22:45258694C-G C G
+22 45258781 22:45258781C-A C A
+22 45258789 22:45258789C-T C T
+22 45258886 22:45258886C-G C G
+22 45258975 22:45258975T-C T C
+22 45258978 22:45258978A-G A G
+22 45259082 22:45259082A-G A G
+22 45259209 22:45259209G-A G A
+22 45259235 22:45259235G-A G A
+22 45259272 22:45259272G-C G C
+22 45259574 22:45259574G-A G A
+22 45259584 22:45259584T-G T G
+22 45259817 22:45259817C-T C T
+22 45260045 22:45260045T-A T A
+22 45260118 22:45260118G-A G A
+22 45260577 22:45260577T-G T G
+22 45260748 22:45260748A-G A G
+22 45260892 22:45260892A-G A G
+22 45260929 22:45260929C-T C T
+22 45261080 22:45261080G-C G C
+22 45261209 22:45261209G-C G C
+22 45261318 22:45261318G-C G C
+22 45261328 22:45261328C-T C T
+22 45261513 22:45261513C-T C T
+22 45261546 22:45261546G-A G A
+22 45261597 22:45261597G-C G C
+22 45261724 22:45261724G-A G A
+22 45261837 22:45261837G-A G A
+22 45261890 22:45261890G-A G A
+22 45262212 22:45262212G-A G A
+22 45262243 22:45262243A-G A G
+22 45262300 22:45262300C-G C G
+22 45262449 22:45262449A-G A G
+22 45263058 22:45263058G-A G A
+22 45263379 22:45263379G-A G A
+22 45263476 22:45263476A-G A G
+22 45263511 22:45263511C-T C T
+22 45263525 22:45263525G-T G T
+22 45263537 22:45263537C-T C T
+22 45264073 22:45264073C-T C T
+22 45264305 22:45264305C-G C G
+22 45264383 22:45264383G-A G A
+22 45264513 22:45264513C-T C T
+22 45264520 22:45264520C-T C T
+22 45264528 22:45264528G-A G A
+22 45264599 22:45264599C-T C T
+22 45264601 22:45264601A-G A G
+22 45264625 22:45264625G-A G A
+22 45264741 22:45264741C-G C G
+22 45265238 22:45265238C-T C T
+22 45267423 22:45267423G-C G C
+22 45268798 22:45268798A-G A G
+22 45271057 22:45271057T-A T A
+22 45271094 22:45271094A-G A G
+22 45271266 22:45271266T-C T C
+22 45271733 22:45271733G-A G A
+22 45272919 22:45272919G-C G C
+22 45273178 22:45273178G-C G C
+22 45273768 22:45273768C-A C A
+22 45274489 22:45274489C-G C G
+22 45274695 22:45274695T-C T C
+22 45275088 22:45275088G-A G A
+22 45275568 22:45275568G-A G A
+22 45276346 22:45276346C-T C T
+22 45276731 22:45276731G-A G A
+22 45276866 22:45276866G-A G A
+22 45276881 22:45276881T-C T C
+22 45276966 22:45276966C-T C T
+22 45277664 22:45277664G-T G T
+22 45277702 22:45277702A-G A G
+22 45277826 22:45277826G-T G T
+22 45277909 22:45277909A-G A G
+22 45278065 22:45278065A-T A T
+22 45278109 22:45278109G-A G A
+22 45278187 22:45278187A-T A T
+22 45278499 22:45278499C-T C T
+22 45278712 22:45278712A-G A G
+22 45279320 22:45279320A-G A G
+22 45279498 22:45279498C-T C T
+22 45279529 22:45279529A-G A G
+22 45279646 22:45279646T-C T C
+22 45279649 22:45279649C-T C T
+22 45279801 22:45279801C-T C T
+22 45280763 22:45280763T-G T G
+22 45280795 22:45280795T-A T A
+22 45280796 22:45280796C-G C G
+22 45281070 22:45281070G-C G C
+22 45283897 22:45283897C-T C T
+22 45284727 22:45284727A-G A G
+22 45285070 22:45285070A-G A G
+22 45285805 22:45285805G-C G C
+22 45286125 22:45286125C-T C T
+22 45286486 22:45286486G-A G A
+22 45287076 22:45287076A-C A C
+22 45287420 22:45287420A-G A G
+22 45287989 22:45287989C-G C G
+22 45290068 22:45290068C-T C T
+22 45291176 22:45291176T-A T A
+22 45291528 22:45291528G-A G A
+22 45291833 22:45291833A-G A G
+22 45292244 22:45292244C-T C T
+22 45292884 22:45292884G-A G A
+22 45292914 22:45292914G-A G A
+22 45293889 22:45293889A-G A G
+22 45294442 22:45294442C-T C T
+22 45295419 22:45295419G-C G C
+22 45295488 22:45295488T-G T G
+22 45296292 22:45296292T-C T C
+22 45297872 22:45297872T-C T C
+22 45300136 22:45300136T-C T C
+22 45300866 22:45300866T-C T C
+22 45301190 22:45301190C-T C T
+22 45301457 22:45301457C-T C T
+22 45301572 22:45301572C-G C G
+22 45301888 22:45301888A-C A C
+22 45302266 22:45302266C-T C T
+22 45302651 22:45302651G-A G A
+22 45302662 22:45302662G-A G A
+22 45302868 22:45302868C-T C T
+22 45303125 22:45303125C-T C T
+22 45303128 22:45303128T-C T C
+22 45303255 22:45303255G-A G A
+22 45303328 22:45303328A-G A G
+22 45303339 22:45303339C-A C A
+22 45303715 22:45303715C-T C T
+22 45304058 22:45304058G-A G A
+22 45304108 22:45304108A-C A C
+22 45304182 22:45304182C-A C A
+22 45304481 22:45304481C-T C T
+22 45304506 22:45304506A-G A G
+22 45304717 22:45304717A-G A G
+22 45304742 22:45304742A-G A G
+22 45304850 22:45304850T-C T C
+22 45305136 22:45305136A-G A G
+22 45305219 22:45305219G-A G A
+22 45305265 22:45305265G-A G A
+22 45305325 22:45305325C-T C T
+22 45305362 22:45305362G-A G A
+22 45305856 22:45305856C-T C T
+22 45306508 22:45306508A-G A G
+22 45306513 22:45306513G-C G C
+22 45306632 22:45306632T-C T C
+22 45306825 22:45306825C-A C A
+22 45306943 22:45306943G-A G A
+22 45307149 22:45307149A-G A G
+22 45307313 22:45307313T-G T G
+22 45307733 22:45307733A-G A G
+22 45307931 22:45307931T-C T C
+22 45308878 22:45308878G-A G A
+22 45309565 22:45309565G-A G A
+22 45309653 22:45309653C-T C T
+22 45310349 22:45310349G-A G A
+22 45311587 22:45311587G-C G C
+22 45311664 22:45311664C-T C T
+22 45311891 22:45311891G-A G A
+22 45312113 22:45312113T-C T C
+22 45312244 22:45312244G-A G A
+22 45312345 22:45312345C-T C T
+22 45312631 22:45312631A-G A G
+22 45312673 22:45312673A-T A T
+22 45312801 22:45312801G-A G A
+22 45312927 22:45312927G-A G A
+22 45313200 22:45313200C-T C T
+22 45313555 22:45313555C-T C T
+22 45313755 22:45313755A-C A C
+22 45314246 22:45314246C-T C T
+22 45314412 22:45314412C-T C T
+22 45314924 22:45314924C-T C T
+22 45315232 22:45315232G-T G T
+22 45315441 22:45315441G-A G A
+22 45315672 22:45315672A-G A G
+22 45315844 22:45315844A-G A G
+22 45315932 22:45315932C-T C T
+22 45316747 22:45316747C-A C A
+22 45316790 22:45316790T-A T A
+22 45317309 22:45317309C-T C T
+22 45317391 22:45317391C-T C T
+22 45317650 22:45317650C-T C T
+22 45318725 22:45318725G-A G A
+22 45318820 22:45318820A-G A G
+22 45319317 22:45319317T-C T C
+22 45319678 22:45319678T-G T G
+22 45320209 22:45320209G-A G A
+22 45320391 22:45320391T-C T C
+22 45320498 22:45320498A-T A T
+22 45320631 22:45320631G-A G A
+22 45321563 22:45321563T-C T C
+22 45321989 22:45321989C-T C T
+22 45322159 22:45322159C-T C T
+22 45322493 22:45322493T-C T C
+22 45323839 22:45323839G-C G C
+22 45323933 22:45323933A-C A C
+22 45323989 22:45323989C-T C T
+22 45324351 22:45324351G-A G A
+22 45324417 22:45324417G-C G C
+22 45324498 22:45324498T-C T C
+22 45324974 22:45324974G-A G A
+22 45325557 22:45325557G-A G A
+22 45326141 22:45326141A-G A G
+22 45326543 22:45326543G-C G C
+22 45326561 22:45326561C-T C T
+22 45327223 22:45327223G-A G A
+22 45327677 22:45327677T-G T G
+22 45328067 22:45328067T-A T A
+22 45328118 22:45328118A-G A G
+22 45328175 22:45328175G-C G C
+22 45329065 22:45329065T-C T C
+22 45330235 22:45330235G-A G A
+22 45330439 22:45330439G-A G A
+22 45330934 22:45330934G-A G A
+22 45331762 22:45331762G-A G A
+22 45331817 22:45331817T-C T C
+22 45331853 22:45331853T-G T G
+22 45331876 22:45331876T-C T C
+22 45332051 22:45332051T-C T C
+22 45332310 22:45332310C-G C G
+22 45332382 22:45332382A-C A C
+22 45332676 22:45332676C-T C T
+22 45333160 22:45333160C-T C T
+22 45333182 22:45333182G-A G A
+22 45333574 22:45333574T-C T C
+22 45333805 22:45333805C-T C T
+22 45333926 22:45333926T-C T C
+22 45335336 22:45335336C-A C A
+22 45335404 22:45335404C-A C A
+22 45335659 22:45335659A-G A G
+22 45336793 22:45336793G-C G C
+22 45336943 22:45336943C-T C T
+22 45337329 22:45337329C-T C T
+22 45337393 22:45337393T-C T C
+22 45337943 22:45337943G-A G A
+22 45338115 22:45338115G-A G A
+22 45338213 22:45338213C-T C T
+22 45338229 22:45338229T-A T A
+22 45338595 22:45338595C-A C A
+22 45338865 22:45338865G-A G A
+22 45339063 22:45339063C-A C A
+22 45339110 22:45339110C-T C T
+22 45339200 22:45339200C-T C T
+22 45339209 22:45339209G-A G A
+22 45339473 22:45339473G-A G A
+22 45340485 22:45340485G-A G A
+22 45340501 22:45340501C-T C T
+22 45340790 22:45340790G-T G T
+22 45341699 22:45341699G-A G A
+22 45342221 22:45342221T-A T A
+22 45342309 22:45342309C-T C T
+22 45342375 22:45342375T-C T C
+22 45342515 22:45342515A-G A G
+22 45342825 22:45342825A-G A G
+22 45343157 22:45343157C-T C T
+22 45343409 22:45343409G-T G T
+22 45343648 22:45343648C-T C T
+22 45344328 22:45344328G-A G A
+22 45345042 22:45345042G-A G A
+22 45345833 22:45345833A-G A G
+22 45346294 22:45346294C-A C A
+22 45346339 22:45346339A-G A G
+22 45346895 22:45346895G-A G A
+22 45346918 22:45346918C-T C T
+22 45348172 22:45348172G-A G A
+22 45348316 22:45348316G-C G C
+22 45348592 22:45348592A-G A G
+22 45348818 22:45348818T-C T C
+22 45349477 22:45349477C-G C G
+22 45349516 22:45349516G-C G C
+22 45350663 22:45350663G-A G A
+22 45351030 22:45351030T-C T C
+22 45351774 22:45351774A-G A G
+22 45352202 22:45352202G-A G A
+22 45352219 22:45352219A-G A G
+22 45352287 22:45352287T-G T G
+22 45352969 22:45352969G-A G A
+22 45353108 22:45353108A-G A G
+22 45353296 22:45353296A-G A G
+22 45353413 22:45353413T-C T C
+22 45354062 22:45354062T-C T C
+22 45354154 22:45354154C-T C T
+22 45354918 22:45354918A-G A G
+22 45355050 22:45355050G-C G C
+22 45355198 22:45355198A-C A C
+22 45355863 22:45355863C-G C G
+22 45356716 22:45356716T-A T A
+22 45357115 22:45357115A-G A G
+22 45358063 22:45358063C-T C T
+22 45358819 22:45358819T-C T C
+22 45359429 22:45359429A-G A G
+22 45359716 22:45359716C-A C A
+22 45360885 22:45360885G-A G A
+22 45362087 22:45362087G-C G C
+22 45362162 22:45362162T-A T A
+22 45362325 22:45362325T-G T G
+22 45362884 22:45362884G-A G A
+22 45363071 22:45363071C-T C T
+22 45363264 22:45363264C-T C T
+22 45363855 22:45363855G-A G A
+22 45364025 22:45364025C-G C G
+22 45366680 22:45366680T-C T C
+22 45366784 22:45366784C-T C T
+22 45367385 22:45367385T-C T C
+22 45368314 22:45368314G-A G A
+22 45368340 22:45368340C-T C T
+22 45368412 22:45368412G-A G A
+22 45368531 22:45368531C-T C T
+22 45369469 22:45369469G-A G A
+22 45370385 22:45370385G-A G A
+22 45370392 22:45370392C-T C T
+22 45371568 22:45371568G-A G A
+22 45371597 22:45371597G-C G C
+22 45372925 22:45372925G-C G C
+22 45373169 22:45373169C-A C A
+22 45373465 22:45373465C-T C T
+22 45373686 22:45373686C-T C T
+22 45374249 22:45374249T-C T C
+22 45375259 22:45375259G-A G A
+22 45375454 22:45375454C-T C T
+22 45375891 22:45375891G-T G T
+22 45375898 22:45375898A-G A G
+22 45376439 22:45376439A-T A T
+22 45377017 22:45377017G-C G C
+22 45377942 22:45377942G-A G A
+22 45378237 22:45378237G-A G A
+22 45378539 22:45378539G-A G A
+22 45378840 22:45378840G-A G A
+22 45379300 22:45379300C-T C T
+22 45379621 22:45379621T-C T C
+22 45380243 22:45380243A-G A G
+22 45380668 22:45380668T-C T C
+22 45380889 22:45380889G-A G A
+22 45381552 22:45381552G-A G A
+22 45382079 22:45382079G-A G A
+22 45382464 22:45382464C-A C A
+22 45382610 22:45382610C-T C T
+22 45382785 22:45382785G-A G A
+22 45383230 22:45383230G-A G A
+22 45383755 22:45383755A-G A G
+22 45383820 22:45383820G-A G A
+22 45383939 22:45383939T-C T C
+22 45383970 22:45383970G-A G A
+22 45384005 22:45384005T-C T C
+22 45385288 22:45385288A-C A C
+22 45385556 22:45385556G-C G C
+22 45385894 22:45385894G-T G T
+22 45386387 22:45386387G-A G A
+22 45386409 22:45386409C-T C T
+22 45386739 22:45386739C-G C G
+22 45387786 22:45387786A-T A T
+22 45388501 22:45388501C-A C A
+22 45390276 22:45390276G-A G A
+22 45390336 22:45390336G-A G A
+22 45390532 22:45390532C-T C T
+22 45390839 22:45390839C-T C T
+22 45391592 22:45391592C-T C T
+22 45392369 22:45392369T-C T C
+22 45393594 22:45393594G-T G T
+22 45393782 22:45393782T-C T C
+22 45393947 22:45393947G-A G A
+22 45394740 22:45394740C-G C G
+22 45395282 22:45395282A-G A G
+22 45395342 22:45395342C-T C T
+22 45395770 22:45395770C-T C T
+22 45395975 22:45395975G-T G T
+22 45396440 22:45396440A-G A G
+22 45396585 22:45396585T-C T C
+22 45397372 22:45397372T-C T C
+22 45397507 22:45397507G-T G T
+22 45397719 22:45397719C-T C T
+22 45398758 22:45398758G-A G A
+22 45398859 22:45398859G-A G A
+22 45399532 22:45399532A-G A G
+22 45399861 22:45399861T-C T C
+22 45399907 22:45399907C-T C T
+22 45400116 22:45400116A-G A G
+22 45400119 22:45400119A-G A G
+22 45400147 22:45400147T-C T C
+22 45401243 22:45401243A-G A G
+22 45402126 22:45402126A-T A T
+22 45403010 22:45403010A-G A G
+22 45403062 22:45403062G-C G C
+22 45403309 22:45403309C-T C T
+22 45404335 22:45404335G-C G C
+22 45405814 22:45405814C-T C T
+22 45406042 22:45406042G-C G C
+22 45406391 22:45406391A-G A G
+22 45406439 22:45406439A-G A G
+22 45406513 22:45406513T-C T C
+22 45406527 22:45406527T-C T C
+22 45406533 22:45406533C-T C T
+22 45407039 22:45407039A-G A G
+22 45407118 22:45407118C-T C T
+22 45407153 22:45407153G-A G A
+22 45407206 22:45407206G-C G C
+22 45407417 22:45407417C-A C A
+22 45407499 22:45407499T-C T C
+22 45407598 22:45407598C-T C T
+22 45407806 22:45407806A-G A G
+22 45408133 22:45408133T-C T C
+22 45408177 22:45408177G-A G A
+22 45408406 22:45408406T-G T G
+22 45408486 22:45408486G-A G A
+22 45408648 22:45408648G-T G T
+22 45409136 22:45409136C-T C T
+22 45409196 22:45409196G-A G A
+22 45409447 22:45409447T-C T C
+22 45409547 22:45409547T-C T C
+22 45410347 22:45410347G-C G C
+22 45410761 22:45410761G-A G A
+22 45411977 22:45411977G-A G A
+22 45412070 22:45412070C-G C G
+22 45412258 22:45412258G-A G A
+22 45412407 22:45412407A-G A G
+22 45412589 22:45412589C-T C T
+22 45412630 22:45412630C-T C T
+22 45412655 22:45412655C-A C A
+22 45412866 22:45412866T-C T C
+22 45413039 22:45413039T-G T G
+22 45413065 22:45413065C-G C G
+22 45413112 22:45413112A-G A G
+22 45413178 22:45413178A-G A G
+22 45413299 22:45413299C-G C G
+22 45413404 22:45413404A-G A G
+22 45413429 22:45413429G-C G C
+22 45414139 22:45414139G-C G C
+22 45414197 22:45414197C-G C G
+22 45414200 22:45414200A-G A G
+22 45414315 22:45414315T-C T C
+22 45414327 22:45414327A-T A T
+22 45414458 22:45414458A-G A G
+22 45414515 22:45414515A-G A G
+22 45414547 22:45414547A-G A G
+22 45415115 22:45415115G-A G A
+22 45415272 22:45415272T-C T C
+22 45415276 22:45415276G-T G T
+22 45415412 22:45415412T-C T C
+22 45415430 22:45415430C-A C A
+22 45415530 22:45415530T-C T C
+22 45415832 22:45415832T-C T C
+22 45415847 22:45415847A-G A G
+22 45415897 22:45415897C-T C T
+22 45415987 22:45415987G-A G A
+22 45417158 22:45417158G-A G A
+22 45417413 22:45417413T-A T A
+22 45417483 22:45417483A-G A G
+22 45417881 22:45417881A-C A C
+22 45418395 22:45418395C-T C T
+22 45418684 22:45418684G-A G A
+22 45418746 22:45418746C-G C G
+22 45418904 22:45418904T-C T C
+22 45419402 22:45419402C-T C T
+22 45419494 22:45419494C-T C T
+22 45420115 22:45420115C-T C T
+22 45420487 22:45420487C-T C T
+22 45421242 22:45421242C-T C T
+22 45421536 22:45421536A-G A G
+22 45421562 22:45421562T-C T C
+22 45421740 22:45421740T-G T G
+22 45421803 22:45421803T-A T A
+22 45421831 22:45421831T-C T C
+22 45422096 22:45422096T-C T C
+22 45422109 22:45422109A-C A C
+22 45422538 22:45422538G-C G C
+22 45424360 22:45424360A-G A G
+22 45424382 22:45424382A-G A G
+22 45425095 22:45425095G-A G A
+22 45425233 22:45425233A-C A C
+22 45425428 22:45425428T-C T C
+22 45425556 22:45425556C-T C T
+22 45425741 22:45425741G-C G C
+22 45425844 22:45425844A-G A G
+22 45425890 22:45425890C-T C T
+22 45426854 22:45426854A-T A T
+22 45426892 22:45426892C-T C T
+22 45427311 22:45427311G-A G A
+22 45427327 22:45427327T-A T A
+22 45427386 22:45427386A-T A T
+22 45427531 22:45427531G-A G A
+22 45427586 22:45427586C-T C T
+22 45427765 22:45427765G-A G A
+22 45427986 22:45427986G-T G T
+22 45428211 22:45428211T-C T C
+22 45428366 22:45428366G-C G C
+22 45428474 22:45428474C-T C T
+22 45428606 22:45428606T-G T G
+22 45428694 22:45428694A-G A G
+22 45429152 22:45429152T-A T A
+22 45429394 22:45429394T-G T G
+22 45429615 22:45429615G-C G C
+22 45429831 22:45429831T-C T C
+22 45429849 22:45429849T-C T C
+22 45430277 22:45430277C-G C G
+22 45430316 22:45430316C-G C G
+22 45430596 22:45430596A-G A G
+22 45430722 22:45430722T-A T A
+22 45431330 22:45431330A-G A G
+22 45431455 22:45431455A-G A G
+22 45431796 22:45431796A-G A G
+22 45431847 22:45431847A-G A G
+22 45431887 22:45431887T-C T C
+22 45432012 22:45432012A-G A G
+22 45432045 22:45432045T-C T C
+22 45432462 22:45432462G-A G A
+22 45432634 22:45432634A-G A G
+22 45432707 22:45432707C-T C T
+22 45432916 22:45432916G-A G A
+22 45432930 22:45432930C-T C T
+22 45433169 22:45433169C-G C G
+22 45433327 22:45433327A-G A G
+22 45433782 22:45433782A-G A G
+22 45434775 22:45434775G-C G C
+22 45434862 22:45434862A-G A G
+22 45434866 22:45434866C-G C G
+22 45435080 22:45435080T-G T G
+22 45435119 22:45435119C-G C G
+22 45435202 22:45435202T-C T C
+22 45435619 22:45435619G-A G A
+22 45435846 22:45435846G-C G C
+22 45435881 22:45435881G-A G A
+22 45435937 22:45435937G-A G A
+22 45436766 22:45436766C-T C T
+22 45436799 22:45436799T-C T C
+22 45437092 22:45437092G-T G T
+22 45437561 22:45437561C-T C T
+22 45437952 22:45437952A-C A C
+22 45438022 22:45438022G-A G A
+22 45438091 22:45438091A-C A C
+22 45438256 22:45438256G-C G C
+22 45438668 22:45438668T-C T C
+22 45438927 22:45438927C-T C T
+22 45439066 22:45439066A-G A G
+22 45439659 22:45439659G-A G A
+22 45439740 22:45439740A-C A C
+22 45439907 22:45439907T-C T C
+22 45439908 22:45439908G-A G A
+22 45439931 22:45439931G-T G T
+22 45440434 22:45440434G-C G C
+22 45440531 22:45440531T-C T C
+22 45440592 22:45440592T-C T C
+22 45440920 22:45440920G-T G T
+22 45441050 22:45441050A-G A G
+22 45441268 22:45441268G-C G C
+22 45441331 22:45441331G-C G C
+22 45441442 22:45441442G-A G A
+22 45441549 22:45441549A-C A C
+22 45441552 22:45441552C-A C A
+22 45441732 22:45441732C-T C T
+22 45442199 22:45442199A-C A C
+22 45442340 22:45442340C-T C T
+22 45442370 22:45442370C-A C A
+22 45442461 22:45442461G-C G C
+22 45442465 22:45442465A-T A T
+22 45442485 22:45442485A-T A T
+22 45442509 22:45442509C-A C A
+22 45442547 22:45442547T-G T G
+22 45442778 22:45442778C-T C T
+22 45443845 22:45443845G-A G A
+22 45445582 22:45445582A-G A G
+22 45446331 22:45446331C-G C G
+22 45446676 22:45446676A-G A G
+22 45446714 22:45446714C-T C T
+22 45446874 22:45446874A-G A G
+22 45447241 22:45447241G-A G A
+22 45447318 22:45447318T-C T C
+22 45447595 22:45447595C-T C T
+22 45447864 22:45447864T-C T C
+22 45447910 22:45447910T-C T C
+22 45447917 22:45447917T-C T C
+22 45447969 22:45447969C-G C G
+22 45447976 22:45447976C-T C T
+22 45448025 22:45448025C-T C T
+22 45448185 22:45448185T-A T A
+22 45448337 22:45448337G-A G A
+22 45448351 22:45448351A-C A C
+22 45448648 22:45448648G-A G A
+22 45448719 22:45448719C-T C T
+22 45448740 22:45448740T-C T C
+22 45448770 22:45448770C-T C T
+22 45448932 22:45448932A-G A G
+22 45449110 22:45449110C-T C T
+22 45449114 22:45449114T-A T A
+22 45449273 22:45449273T-C T C
+22 45449358 22:45449358C-A C A
+22 45449367 22:45449367A-C A C
+22 45449515 22:45449515T-A T A
+22 45449644 22:45449644G-T G T
+22 45449702 22:45449702C-A C A
+22 45449748 22:45449748C-T C T
+22 45449890 22:45449890A-G A G
+22 45450267 22:45450267T-C T C
+22 45450935 22:45450935C-T C T
+22 45451191 22:45451191T-C T C
+22 45451265 22:45451265T-C T C
+22 45451355 22:45451355A-G A G
+22 45451727 22:45451727C-A C A
+22 45451860 22:45451860A-G A G
+22 45452124 22:45452124T-C T C
+22 45452176 22:45452176C-A C A
+22 45452309 22:45452309A-G A G
+22 45453200 22:45453200G-A G A
+22 45453631 22:45453631G-A G A
+22 45453658 22:45453658T-C T C
+22 45453731 22:45453731C-T C T
+22 45453774 22:45453774C-T C T
+22 45453867 22:45453867G-A G A
+22 45453918 22:45453918G-A G A
+22 45453975 22:45453975T-C T C
+22 45454171 22:45454171T-C T C
+22 45454275 22:45454275T-C T C
+22 45454839 22:45454839G-A G A
+22 45454918 22:45454918G-A G A
+22 45455056 22:45455056G-T G T
+22 45455489 22:45455489A-G A G
+22 45455599 22:45455599A-G A G
+22 45456139 22:45456139G-A G A
+22 45456629 22:45456629G-A G A
+22 45456900 22:45456900T-C T C
+22 45457082 22:45457082C-G C G
+22 45458558 22:45458558G-A G A
+22 45458791 22:45458791T-C T C
+22 45458827 22:45458827G-A G A
+22 45459669 22:45459669G-A G A
+22 45460374 22:45460374G-A G A
+22 45461313 22:45461313T-G T G
+22 45461782 22:45461782G-A G A
+22 45464635 22:45464635T-C T C
+22 45464990 22:45464990C-A C A
+22 45465029 22:45465029C-T C T
+22 45465068 22:45465068A-C A C
+22 45466018 22:45466018C-T C T
+22 45466415 22:45466415A-G A G
+22 45466710 22:45466710G-A G A
+22 45466787 22:45466787G-C G C
+22 45466909 22:45466909T-G T G
+22 45467871 22:45467871A-G A G
+22 45468114 22:45468114G-C G C
+22 45468880 22:45468880C-T C T
+22 45469503 22:45469503A-G A G
+22 45469786 22:45469786T-G T G
+22 45470548 22:45470548A-G A G
+22 45470967 22:45470967G-A G A
+22 45471607 22:45471607T-C T C
+22 45472046 22:45472046C-T C T
+22 45472084 22:45472084A-G A G
+22 45472103 22:45472103C-T C T
+22 45472574 22:45472574C-T C T
+22 45472596 22:45472596C-T C T
+22 45472821 22:45472821C-G C G
+22 45473067 22:45473067C-T C T
+22 45473700 22:45473700T-C T C
+22 45473974 22:45473974A-T A T
+22 45474047 22:45474047G-A G A
+22 45474096 22:45474096T-C T C
+22 45474882 22:45474882G-T G T
+22 45475254 22:45475254A-G A G
+22 45475332 22:45475332C-T C T
+22 45475877 22:45475877C-T C T
+22 45476431 22:45476431T-A T A
+22 45476617 22:45476617A-T A T
+22 45476726 22:45476726T-C T C
+22 45476783 22:45476783A-G A G
+22 45477213 22:45477213G-T G T
+22 45478120 22:45478120T-G T G
+22 45478124 22:45478124C-T C T
+22 45478159 22:45478159G-A G A
+22 45478340 22:45478340T-C T C
+22 45478639 22:45478639T-A T A
+22 45479161 22:45479161G-A G A
+22 45479490 22:45479490C-T C T
+22 45480374 22:45480374C-T C T
+22 45480705 22:45480705T-C T C
+22 45481935 22:45481935A-G A G
+22 45481975 22:45481975G-A G A
+22 45482180 22:45482180T-G T G
+22 45482258 22:45482258G-C G C
+22 45483371 22:45483371G-A G A
+22 45483583 22:45483583T-C T C
+22 45484509 22:45484509G-T G T
+22 45484800 22:45484800C-T C T
+22 45485365 22:45485365T-A T A
+22 45485586 22:45485586A-G A G
+22 45486270 22:45486270C-A C A
+22 45488540 22:45488540G-A G A
+22 45488643 22:45488643A-G A G
+22 45489188 22:45489188T-G T G
+22 45489220 22:45489220A-G A G
+22 45489278 22:45489278T-C T C
+22 45489311 22:45489311A-G A G
+22 45489431 22:45489431G-C G C
+22 45489486 22:45489486C-A C A
+22 45490018 22:45490018A-T A T
+22 45490433 22:45490433T-A T A
+22 45490736 22:45490736T-C T C
+22 45490776 22:45490776G-A G A
+22 45491007 22:45491007T-C T C
+22 45491188 22:45491188G-T G T
+22 45491332 22:45491332T-C T C
+22 45491630 22:45491630A-G A G
+22 45492608 22:45492608A-C A C
+22 45492883 22:45492883C-A C A
+22 45493403 22:45493403G-A G A
+22 45493589 22:45493589G-A G A
+22 45494144 22:45494144G-A G A
+22 45494416 22:45494416A-T A T
+22 45494832 22:45494832A-G A G
+22 45494840 22:45494840G-T G T
+22 45495549 22:45495549A-C A C
+22 45495696 22:45495696C-A C A
+22 45495756 22:45495756A-G A G
+22 45495848 22:45495848C-T C T
+22 45496355 22:45496355C-T C T
+22 45496456 22:45496456T-C T C
+22 45496549 22:45496549C-T C T
+22 45497187 22:45497187G-A G A
+22 45497395 22:45497395G-A G A
+22 45497738 22:45497738T-C T C
+22 45497905 22:45497905T-C T C
+22 45498003 22:45498003G-A G A
+22 45498115 22:45498115C-A C A
+22 45498187 22:45498187G-A G A
+22 45498909 22:45498909T-C T C
+22 45499903 22:45499903G-A G A
+22 45500518 22:45500518C-T C T
+22 45501151 22:45501151T-C T C
+22 45501424 22:45501424G-A G A
+22 45501429 22:45501429C-T C T
+22 45501467 22:45501467C-G C G
+22 45501477 22:45501477A-G A G
+22 45501576 22:45501576A-T A T
+22 45501696 22:45501696A-G A G
+22 45501698 22:45501698G-A G A
+22 45502424 22:45502424G-A G A
+22 45502533 22:45502533G-A G A
+22 45502739 22:45502739C-G C G
+22 45502767 22:45502767T-C T C
+22 45502829 22:45502829T-C T C
+22 45503029 22:45503029G-A G A
+22 45503517 22:45503517G-A G A
+22 45503873 22:45503873A-G A G
+22 45504112 22:45504112A-C A C
+22 45504764 22:45504764T-C T C
+22 45505494 22:45505494G-A G A
+22 45505631 22:45505631T-C T C
+22 45505632 22:45505632G-A G A
+22 45506547 22:45506547G-C G C
+22 45508406 22:45508406C-G C G
+22 45508503 22:45508503T-C T C
+22 45509360 22:45509360A-G A G
+22 45509949 22:45509949T-C T C
+22 45510204 22:45510204A-G A G
+22 45510301 22:45510301C-T C T
+22 45511360 22:45511360T-C T C
+22 45511892 22:45511892T-G T G
+22 45512263 22:45512263C-T C T
+22 45513060 22:45513060A-C A C
+22 45513062 22:45513062G-A G A
+22 45513168 22:45513168A-G A G
+22 45513766 22:45513766C-A C A
+22 45514552 22:45514552A-G A G
+22 45514915 22:45514915T-C T C
+22 45514975 22:45514975C-T C T
+22 45515269 22:45515269T-C T C
+22 45515308 22:45515308T-C T C
+22 45515705 22:45515705A-G A G
+22 45515833 22:45515833C-T C T
+22 45516028 22:45516028G-C G C
+22 45516107 22:45516107C-G C G
+22 45516763 22:45516763G-A G A
+22 45516864 22:45516864A-G A G
+22 45516874 22:45516874C-T C T
+22 45517196 22:45517196T-C T C
+22 45517208 22:45517208C-A C A
+22 45517264 22:45517264T-A T A
+22 45517623 22:45517623G-T G T
+22 45517796 22:45517796G-A G A
+22 45518388 22:45518388A-C A C
+22 45518633 22:45518633A-G A G
+22 45518676 22:45518676G-A G A
+22 45518890 22:45518890G-A G A
+22 45518976 22:45518976T-G T G
+22 45519040 22:45519040G-T G T
+22 45519468 22:45519468C-A C A
+22 45519492 22:45519492A-C A C
+22 45519752 22:45519752T-C T C
+22 45520050 22:45520050A-G A G
+22 45521142 22:45521142A-G A G
+22 45521478 22:45521478A-C A C
+22 45521739 22:45521739G-A G A
+22 45521743 22:45521743T-C T C
+22 45521773 22:45521773T-C T C
+22 45521944 22:45521944A-C A C
+22 45522258 22:45522258G-A G A
+22 45522276 22:45522276T-C T C
+22 45523160 22:45523160G-A G A
+22 45523324 22:45523324T-G T G
+22 45523391 22:45523391G-A G A
+22 45523560 22:45523560G-T G T
+22 45523909 22:45523909C-T C T
+22 45524052 22:45524052T-A T A
+22 45524700 22:45524700G-A G A
+22 45525024 22:45525024A-G A G
+22 45525190 22:45525190A-C A C
+22 45525484 22:45525484A-G A G
+22 45526633 22:45526633C-T C T
+22 45527215 22:45527215C-T C T
+22 45527343 22:45527343T-C T C
+22 45527815 22:45527815C-T C T
+22 45527845 22:45527845C-T C T
+22 45528073 22:45528073C-T C T
+22 45529502 22:45529502G-T G T
+22 45529576 22:45529576C-G C G
+22 45530119 22:45530119C-A C A
+22 45530876 22:45530876T-C T C
+22 45531515 22:45531515C-T C T
+22 45532228 22:45532228A-G A G
+22 45532666 22:45532666A-G A G
+22 45532997 22:45532997T-A T A
+22 45533662 22:45533662G-A G A
+22 45534295 22:45534295G-T G T
+22 45534688 22:45534688G-A G A
+22 45535999 22:45535999C-T C T
+22 45536211 22:45536211G-A G A
+22 45536426 22:45536426G-A G A
+22 45536902 22:45536902A-G A G
+22 45537096 22:45537096T-C T C
+22 45537097 22:45537097G-A G A
+22 45537486 22:45537486A-G A G
+22 45537518 22:45537518G-C G C
+22 45537528 22:45537528C-T C T
+22 45539002 22:45539002G-A G A
+22 45539841 22:45539841G-T G T
+22 45542017 22:45542017C-T C T
+22 45542657 22:45542657A-G A G
+22 45544346 22:45544346A-T A T
+22 45545400 22:45545400T-C T C
+22 45545550 22:45545550T-C T C
+22 45545856 22:45545856T-C T C
+22 45545877 22:45545877C-T C T
+22 45545955 22:45545955C-A C A
+22 45546070 22:45546070A-G A G
+22 45546274 22:45546274C-T C T
+22 45546965 22:45546965C-T C T
+22 45547603 22:45547603G-C G C
+22 45547814 22:45547814C-T C T
+22 45548053 22:45548053G-A G A
+22 45548617 22:45548617A-C A C
+22 45549032 22:45549032C-T C T
+22 45549849 22:45549849G-C G C
+22 45550500 22:45550500G-A G A
+22 45551071 22:45551071T-C T C
+22 45551123 22:45551123G-A G A
+22 45553210 22:45553210T-C T C
+22 45553459 22:45553459G-A G A
+22 45553481 22:45553481A-G A G
+22 45553563 22:45553563T-C T C
+22 45554197 22:45554197G-A G A
+22 45554363 22:45554363T-C T C
+22 45554831 22:45554831C-T C T
+22 45555298 22:45555298T-G T G
+22 45555829 22:45555829G-A G A
+22 45556053 22:45556053T-C T C
+22 45556208 22:45556208G-A G A
+22 45556668 22:45556668T-C T C
+22 45556678 22:45556678C-G C G
+22 45557189 22:45557189C-T C T
+22 45557244 22:45557244C-G C G
+22 45557251 22:45557251T-C T C
+22 45557803 22:45557803C-T C T
+22 45558389 22:45558389C-T C T
+22 45558416 22:45558416G-T G T
+22 45559193 22:45559193A-G A G
+22 45559631 22:45559631C-G C G
+22 45559741 22:45559741G-T G T
+22 45559771 22:45559771C-A C A
+22 45559908 22:45559908C-T C T
+22 45559997 22:45559997T-C T C
+22 45560401 22:45560401A-C A C
+22 45560584 22:45560584C-T C T
+22 45560641 22:45560641T-C T C
+22 45560707 22:45560707T-C T C
+22 45560731 22:45560731G-A G A
+22 45560767 22:45560767G-A G A
+22 45560787 22:45560787T-C T C
+22 45561392 22:45561392A-G A G
+22 45562468 22:45562468C-T C T
+22 45562666 22:45562666C-G C G
+22 45562735 22:45562735C-T C T
+22 45563409 22:45563409G-T G T
+22 45563412 22:45563412A-G A G
+22 45563561 22:45563561G-A G A
+22 45563656 22:45563656T-C T C
+22 45563707 22:45563707T-C T C
+22 45563725 22:45563725C-G C G
+22 45564427 22:45564427A-C A C
+22 45564834 22:45564834G-C G C
+22 45564908 22:45564908G-A G A
+22 45564936 22:45564936C-T C T
+22 45565200 22:45565200G-A G A
+22 45565318 22:45565318A-C A C
+22 45565368 22:45565368A-G A G
+22 45565915 22:45565915T-G T G
+22 45565937 22:45565937G-A G A
+22 45565946 22:45565946C-T C T
+22 45566208 22:45566208C-G C G
+22 45566413 22:45566413T-C T C
+22 45566500 22:45566500G-A G A
+22 45566702 22:45566702C-T C T
+22 45566843 22:45566843A-G A G
+22 45566912 22:45566912C-A C A
+22 45567035 22:45567035C-T C T
+22 45567067 22:45567067T-C T C
+22 45567138 22:45567138T-C T C
+22 45567580 22:45567580C-A C A
+22 45567983 22:45567983A-G A G
+22 45568310 22:45568310T-G T G
+22 45568419 22:45568419G-A G A
+22 45568511 22:45568511G-T G T
+22 45568986 22:45568986A-G A G
+22 45569845 22:45569845C-T C T
+22 45570105 22:45570105G-C G C
+22 45570114 22:45570114G-A G A
+22 45570244 22:45570244C-G C G
+22 45570594 22:45570594C-T C T
+22 45570969 22:45570969C-T C T
+22 45571446 22:45571446C-T C T
+22 45573154 22:45573154C-T C T
+22 45573406 22:45573406C-A C A
+22 45573450 22:45573450A-C A C
+22 45574986 22:45574986T-G T G
+22 45575468 22:45575468A-G A G
+22 45576140 22:45576140C-T C T
+22 45576401 22:45576401C-T C T
+22 45577110 22:45577110T-C T C
+22 45577231 22:45577231T-C T C
+22 45577537 22:45577537C-A C A
+22 45577804 22:45577804C-T C T
+22 45578489 22:45578489A-G A G
+22 45579422 22:45579422A-G A G
+22 45579731 22:45579731C-A C A
+22 45580159 22:45580159G-C G C
+22 45580836 22:45580836G-C G C
+22 45580899 22:45580899G-C G C
+22 45581521 22:45581521C-T C T
+22 45582860 22:45582860G-C G C
+22 45583606 22:45583606G-T G T
+22 45583740 22:45583740G-C G C
+22 45583803 22:45583803A-G A G
+22 45583898 22:45583898A-G A G
+22 45583912 22:45583912T-C T C
+22 45583935 22:45583935A-G A G
+22 45584396 22:45584396G-A G A
+22 45584586 22:45584586G-C G C
+22 45584843 22:45584843G-A G A
+22 45584930 22:45584930G-A G A
+22 45585032 22:45585032A-G A G
+22 45585395 22:45585395G-A G A
+22 45586517 22:45586517G-T G T
+22 45587047 22:45587047G-A G A
+22 45587058 22:45587058G-A G A
+22 45587269 22:45587269G-C G C
+22 45587745 22:45587745T-G T G
+22 45587746 22:45587746C-T C T
+22 45588248 22:45588248A-G A G
+22 45588377 22:45588377A-T A T
+22 45588604 22:45588604C-T C T
+22 45589490 22:45589490A-G A G
+22 45589703 22:45589703G-C G C
+22 45589817 22:45589817T-C T C
+22 45590117 22:45590117A-G A G
+22 45590861 22:45590861G-A G A
+22 45592354 22:45592354G-A G A
+22 45592580 22:45592580T-C T C
+22 45593055 22:45593055G-A G A
+22 45593399 22:45593399C-T C T
+22 45593478 22:45593478G-A G A
+22 45593661 22:45593661C-T C T
+22 45594002 22:45594002A-G A G
+22 45594044 22:45594044A-C A C
+22 45594236 22:45594236C-G C G
+22 45594541 22:45594541T-C T C
+22 45594863 22:45594863G-C G C
+22 45595247 22:45595247C-T C T
+22 45595255 22:45595255G-A G A
+22 45595265 22:45595265C-G C G
+22 45595278 22:45595278G-C G C
+22 45595721 22:45595721A-G A G
+22 45596249 22:45596249G-A G A
+22 45596506 22:45596506A-G A G
+22 45597631 22:45597631C-T C T
+22 45598280 22:45598280T-C T C
+22 45598833 22:45598833C-T C T
+22 45599504 22:45599504C-T C T
+22 45599538 22:45599538C-A C A
+22 45600906 22:45600906G-A G A
+22 45601611 22:45601611G-A G A
+22 45602308 22:45602308C-T C T
+22 45602407 22:45602407G-A G A
+22 45602573 22:45602573T-G T G
+22 45602620 22:45602620G-A G A
+22 45602925 22:45602925T-C T C
+22 45603033 22:45603033G-C G C
+22 45603334 22:45603334C-G C G
+22 45603425 22:45603425A-G A G
+22 45603485 22:45603485G-A G A
+22 45603501 22:45603501A-G A G
+22 45603545 22:45603545C-T C T
+22 45603631 22:45603631C-G C G
+22 45603638 22:45603638A-G A G
+22 45604128 22:45604128C-G C G
+22 45604442 22:45604442C-T C T
+22 45604800 22:45604800G-A G A
+22 45604820 22:45604820C-A C A
+22 45604885 22:45604885G-A G A
+22 45605118 22:45605118T-C T C
+22 45605128 22:45605128C-G C G
+22 45605166 22:45605166T-G T G
+22 45605360 22:45605360C-T C T
+22 45605555 22:45605555C-T C T
+22 45605804 22:45605804A-G A G
+22 45605834 22:45605834G-T G T
+22 45605848 22:45605848C-T C T
+22 45606098 22:45606098A-C A C
+22 45606159 22:45606159T-C T C
+22 45606437 22:45606437G-A G A
+22 45606506 22:45606506G-A G A
+22 45606511 22:45606511T-C T C
+22 45606738 22:45606738C-A C A
+22 45608347 22:45608347G-A G A
+22 45608977 22:45608977G-A G A
+22 45609617 22:45609617G-A G A
+22 45610373 22:45610373A-G A G
+22 45610864 22:45610864T-C T C
+22 45611053 22:45611053T-C T C
+22 45611054 22:45611054G-A G A
+22 45611226 22:45611226A-C A C
+22 45611337 22:45611337C-T C T
+22 45611451 22:45611451C-A C A
+22 45611645 22:45611645C-T C T
+22 45612114 22:45612114C-T C T
+22 45612210 22:45612210A-G A G
+22 45612315 22:45612315C-T C T
+22 45612317 22:45612317T-C T C
+22 45612336 22:45612336G-A G A
+22 45612551 22:45612551C-T C T
+22 45612755 22:45612755C-T C T
+22 45612969 22:45612969C-T C T
+22 45613127 22:45613127A-G A G
+22 45613150 22:45613150A-G A G
+22 45613305 22:45613305C-T C T
+22 45614188 22:45614188A-G A G
+22 45614580 22:45614580C-T C T
+22 45614595 22:45614595G-A G A
+22 45614603 22:45614603G-C G C
+22 45614700 22:45614700T-C T C
+22 45614803 22:45614803A-G A G
+22 45614852 22:45614852T-C T C
+22 45614893 22:45614893T-C T C
+22 45615695 22:45615695T-C T C
+22 45615774 22:45615774G-T G T
+22 45616105 22:45616105A-G A G
+22 45616165 22:45616165C-G C G
+22 45616449 22:45616449G-C G C
+22 45616478 22:45616478G-T G T
+22 45617435 22:45617435A-G A G
+22 45617479 22:45617479A-G A G
+22 45617486 22:45617486C-T C T
+22 45617765 22:45617765G-A G A
+22 45617877 22:45617877A-C A C
+22 45618167 22:45618167G-A G A
+22 45618558 22:45618558T-C T C
+22 45618888 22:45618888C-T C T
+22 45618889 22:45618889A-G A G
+22 45620501 22:45620501T-G T G
+22 45622014 22:45622014C-T C T
+22 45622351 22:45622351A-G A G
+22 45622684 22:45622684A-G A G
+22 45623047 22:45623047T-G T G
+22 45625723 22:45625723T-C T C
+22 45626085 22:45626085G-A G A
+22 45627689 22:45627689T-C T C
+22 45627967 22:45627967G-A G A
+22 45628630 22:45628630T-C T C
+22 45629066 22:45629066C-T C T
+22 45629186 22:45629186G-C G C
+22 45629198 22:45629198G-A G A
+22 45629260 22:45629260G-A G A
+22 45629446 22:45629446T-G T G
+22 45629468 22:45629468T-C T C
+22 45630335 22:45630335A-G A G
+22 45630338 22:45630338A-G A G
+22 45630662 22:45630662C-T C T
+22 45630708 22:45630708C-T C T
+22 45630763 22:45630763T-A T A
+22 45630869 22:45630869T-C T C
+22 45631165 22:45631165T-C T C
+22 45631393 22:45631393A-C A C
+22 45631398 22:45631398T-C T C
+22 45631436 22:45631436T-C T C
+22 45631518 22:45631518C-T C T
+22 45631582 22:45631582A-G A G
+22 45631597 22:45631597G-A G A
+22 45632109 22:45632109G-A G A
+22 45632370 22:45632370A-G A G
+22 45632483 22:45632483T-G T G
+22 45632528 22:45632528C-T C T
+22 45633291 22:45633291G-A G A
+22 45633373 22:45633373G-A G A
+22 45634738 22:45634738T-C T C
+22 45635216 22:45635216C-T C T
+22 45635443 22:45635443T-C T C
+22 45637001 22:45637001A-T A T
+22 45637002 22:45637002G-C G C
+22 45637632 22:45637632G-C G C
+22 45638346 22:45638346A-G A G
+22 45638535 22:45638535G-T G T
+22 45638796 22:45638796C-T C T
+22 45639900 22:45639900A-G A G
+22 45640136 22:45640136A-T A T
+22 45640486 22:45640486T-C T C
+22 45641391 22:45641391G-T G T
+22 45641411 22:45641411T-G T G
+22 45641420 22:45641420T-C T C
+22 45642861 22:45642861G-T G T
+22 45642907 22:45642907T-C T C
+22 45643219 22:45643219G-A G A
+22 45643680 22:45643680G-A G A
+22 45643689 22:45643689T-C T C
+22 45643770 22:45643770T-A T A
+22 45643850 22:45643850G-A G A
+22 45643851 22:45643851C-T C T
+22 45644371 22:45644371C-T C T
+22 45644501 22:45644501T-C T C
+22 45644825 22:45644825G-A G A
+22 45645001 22:45645001G-T G T
+22 45645299 22:45645299T-C T C
+22 45645454 22:45645454C-T C T
+22 45645802 22:45645802G-A G A
+22 45645858 22:45645858C-T C T
+22 45645968 22:45645968C-T C T
+22 45647066 22:45647066C-T C T
+22 45647100 22:45647100G-A G A
+22 45647347 22:45647347C-T C T
+22 45647357 22:45647357A-G A G
+22 45647363 22:45647363A-T A T
+22 45647431 22:45647431G-C G C
+22 45647534 22:45647534T-C T C
+22 45647577 22:45647577T-C T C
+22 45647817 22:45647817C-T C T
+22 45647834 22:45647834A-G A G
+22 45648051 22:45648051G-C G C
+22 45648207 22:45648207C-G C G
+22 45648224 22:45648224G-T G T
+22 45648338 22:45648338G-A G A
+22 45648418 22:45648418T-C T C
+22 45648486 22:45648486C-T C T
+22 45648619 22:45648619G-A G A
+22 45648651 22:45648651C-T C T
+22 45648846 22:45648846A-G A G
+22 45648952 22:45648952T-C T C
+22 45648960 22:45648960A-G A G
+22 45649084 22:45649084A-G A G
+22 45649161 22:45649161T-C T C
+22 45649533 22:45649533C-T C T
+22 45649668 22:45649668G-A G A
+22 45651045 22:45651045A-G A G
+22 45651945 22:45651945A-G A G
+22 45652398 22:45652398T-A T A
+22 45652840 22:45652840T-C T C
+22 45653411 22:45653411G-T G T
+22 45653416 22:45653416T-C T C
+22 45653617 22:45653617T-C T C
+22 45653621 22:45653621A-G A G
+22 45653843 22:45653843A-C A C
+22 45653883 22:45653883G-A G A
+22 45653938 22:45653938C-G C G
+22 45654150 22:45654150G-T G T
+22 45654163 22:45654163G-A G A
+22 45654234 22:45654234A-C A C
+22 45654393 22:45654393A-G A G
+22 45654497 22:45654497G-A G A
+22 45654530 22:45654530T-C T C
+22 45654574 22:45654574G-A G A
+22 45654697 22:45654697G-T G T
+22 45654712 22:45654712T-G T G
+22 45654844 22:45654844T-G T G
+22 45654872 22:45654872A-G A G
+22 45655165 22:45655165G-T G T
+22 45655221 22:45655221T-C T C
+22 45655268 22:45655268C-T C T
+22 45655490 22:45655490A-G A G
+22 45655659 22:45655659C-T C T
+22 45655720 22:45655720C-T C T
+22 45655844 22:45655844A-G A G
+22 45656200 22:45656200A-G A G
+22 45657812 22:45657812G-A G A
+22 45658035 22:45658035C-T C T
+22 45658162 22:45658162C-T C T
+22 45658243 22:45658243G-A G A
+22 45658278 22:45658278C-G C G
+22 45658298 22:45658298T-C T C
+22 45658487 22:45658487G-C G C
+22 45658593 22:45658593G-C G C
+22 45658601 22:45658601G-A G A
+22 45658630 22:45658630T-G T G
+22 45658809 22:45658809G-A G A
+22 45659082 22:45659082T-G T G
+22 45659209 22:45659209C-T C T
+22 45659559 22:45659559G-C G C
+22 45659560 22:45659560T-C T C
+22 45660073 22:45660073G-A G A
+22 45660094 22:45660094A-G A G
+22 45660355 22:45660355C-A C A
+22 45660440 22:45660440T-C T C
+22 45660503 22:45660503T-C T C
+22 45660776 22:45660776G-A G A
+22 45660788 22:45660788T-C T C
+22 45660885 22:45660885A-G A G
+22 45661011 22:45661011A-G A G
+22 45661178 22:45661178T-C T C
+22 45661285 22:45661285T-C T C
+22 45661431 22:45661431G-A G A
+22 45661511 22:45661511T-C T C
+22 45661549 22:45661549A-G A G
+22 45661620 22:45661620A-C A C
+22 45661670 22:45661670A-G A G
+22 45661694 22:45661694G-A G A
+22 45661864 22:45661864A-C A C
+22 45661904 22:45661904A-T A T
+22 45661944 22:45661944G-C G C
+22 45661950 22:45661950A-G A G
+22 45661970 22:45661970G-T G T
+22 45662123 22:45662123G-A G A
+22 45662279 22:45662279C-T C T
+22 45662320 22:45662320G-A G A
+22 45662473 22:45662473A-G A G
+22 45662474 22:45662474T-C T C
+22 45662848 22:45662848C-T C T
+22 45663408 22:45663408G-C G C
+22 45664258 22:45664258A-T A T
+22 45664607 22:45664607T-C T C
+22 45664853 22:45664853C-A C A
+22 45665663 22:45665663C-T C T
+22 45665787 22:45665787G-C G C
+22 45666518 22:45666518C-G C G
+22 45667722 22:45667722C-T C T
+22 45668012 22:45668012C-T C T
+22 45668106 22:45668106C-T C T
+22 45668682 22:45668682C-T C T
+22 45669050 22:45669050T-C T C
+22 45669053 22:45669053A-G A G
+22 45669729 22:45669729C-T C T
+22 45670330 22:45670330G-A G A
+22 45670674 22:45670674C-T C T
+22 45671001 22:45671001T-C T C
+22 45671159 22:45671159G-A G A
+22 45671198 22:45671198C-T C T
+22 45671203 22:45671203G-A G A
+22 45671343 22:45671343A-G A G
+22 45671591 22:45671591A-G A G
+22 45672288 22:45672288C-G C G
+22 45672574 22:45672574C-T C T
+22 45672709 22:45672709C-T C T
+22 45672931 22:45672931A-G A G
+22 45673207 22:45673207G-A G A
+22 45673317 22:45673317G-A G A
+22 45673477 22:45673477A-C A C
+22 45674505 22:45674505G-A G A
+22 45674705 22:45674705C-G C G
+22 45674740 22:45674740G-C G C
+22 45675114 22:45675114A-G A G
+22 45675375 22:45675375C-T C T
+22 45675646 22:45675646A-G A G
+22 45675881 22:45675881A-C A C
+22 45675913 22:45675913C-A C A
+22 45676324 22:45676324C-T C T
+22 45676445 22:45676445C-G C G
+22 45676678 22:45676678A-G A G
+22 45677125 22:45677125T-C T C
+22 45677206 22:45677206A-G A G
+22 45677730 22:45677730A-G A G
+22 45677761 22:45677761G-A G A
+22 45677816 22:45677816C-T C T
+22 45678136 22:45678136G-C G C
+22 45678235 22:45678235T-C T C
+22 45678340 22:45678340G-A G A
+22 45678353 22:45678353G-A G A
+22 45678376 22:45678376C-A C A
+22 45678528 22:45678528C-T C T
+22 45678623 22:45678623C-A C A
+22 45678892 22:45678892G-A G A
+22 45678999 22:45678999T-C T C
+22 45679214 22:45679214G-A G A
+22 45679528 22:45679528C-T C T
+22 45679666 22:45679666A-C A C
+22 45680260 22:45680260A-T A T
+22 45680387 22:45680387G-A G A
+22 45680473 22:45680473G-A G A
+22 45680661 22:45680661G-C G C
+22 45680824 22:45680824A-G A G
+22 45681336 22:45681336C-G C G
+22 45681580 22:45681580G-A G A
+22 45682275 22:45682275G-C G C
+22 45682371 22:45682371T-C T C
+22 45682544 22:45682544C-T C T
+22 45682663 22:45682663T-C T C
+22 45682975 22:45682975A-G A G
+22 45683246 22:45683246C-T C T
+22 45683304 22:45683304G-C G C
+22 45683700 22:45683700T-C T C
+22 45683781 22:45683781G-A G A
+22 45683837 22:45683837T-C T C
+22 45684098 22:45684098T-C T C
+22 45684379 22:45684379C-A C A
+22 45684513 22:45684513T-C T C
+22 45684738 22:45684738G-A G A
+22 45685002 22:45685002A-G A G
+22 45685185 22:45685185T-G T G
+22 45685413 22:45685413G-C G C
+22 45686044 22:45686044C-T C T
+22 45686090 22:45686090G-A G A
+22 45686148 22:45686148G-A G A
+22 45687406 22:45687406A-T A T
+22 45688096 22:45688096G-A G A
+22 45688745 22:45688745C-G C G
+22 45690275 22:45690275T-G T G
+22 45690816 22:45690816G-A G A
+22 45691594 22:45691594A-G A G
+22 45693828 22:45693828G-A G A
+22 45693923 22:45693923G-A G A
+22 45695668 22:45695668A-G A G
+22 45695854 22:45695854G-A G A
+22 45696695 22:45696695G-A G A
+22 45696739 22:45696739A-G A G
+22 45697031 22:45697031G-T G T
+22 45697923 22:45697923C-G C G
+22 45698149 22:45698149T-A T A
+22 45698221 22:45698221C-G C G
+22 45698273 22:45698273C-G C G
+22 45699780 22:45699780C-T C T
+22 45700107 22:45700107C-T C T
+22 45700340 22:45700340T-C T C
+22 45700817 22:45700817C-G C G
+22 45700972 22:45700972A-C A C
+22 45701732 22:45701732C-T C T
+22 45702293 22:45702293C-A C A
+22 45703075 22:45703075A-G A G
+22 45703107 22:45703107T-C T C
+22 45703251 22:45703251G-A G A
+22 45703444 22:45703444A-G A G
+22 45704628 22:45704628G-A G A
+22 45705241 22:45705241G-T G T
+22 45705383 22:45705383T-A T A
+22 45706777 22:45706777C-A C A
+22 45706994 22:45706994A-G A G
+22 45707520 22:45707520G-T G T
+22 45707737 22:45707737C-G C G
+22 45707916 22:45707916T-C T C
+22 45708623 22:45708623C-T C T
+22 45708960 22:45708960C-T C T
+22 45711854 22:45711854G-A G A
+22 45713020 22:45713020A-G A G
+22 45713558 22:45713558C-T C T
+22 45713764 22:45713764G-A G A
+22 45714489 22:45714489T-C T C
+22 45714937 22:45714937T-C T C
+22 45715608 22:45715608C-T C T
+22 45715624 22:45715624A-G A G
+22 45715887 22:45715887A-G A G
+22 45716397 22:45716397A-G A G
+22 45717524 22:45717524C-T C T
+22 45717859 22:45717859C-T C T
+22 45718041 22:45718041A-G A G
+22 45718627 22:45718627G-A G A
+22 45718743 22:45718743A-G A G
+22 45719497 22:45719497C-G C G
+22 45719634 22:45719634C-T C T
+22 45719811 22:45719811C-T C T
+22 45719817 22:45719817G-T G T
+22 45720894 22:45720894C-T C T
+22 45721196 22:45721196C-T C T
+22 45721284 22:45721284T-C T C
+22 45721547 22:45721547G-C G C
+22 45723116 22:45723116A-G A G
+22 45723253 22:45723253A-T A T
+22 45723320 22:45723320C-A C A
+22 45723326 22:45723326C-G C G
+22 45723465 22:45723465A-G A G
+22 45723526 22:45723526T-C T C
+22 45723584 22:45723584G-A G A
+22 45723696 22:45723696G-C G C
+22 45723807 22:45723807G-C G C
+22 45723842 22:45723842G-A G A
+22 45723854 22:45723854C-G C G
+22 45724727 22:45724727G-A G A
+22 45724761 22:45724761C-T C T
+22 45724999 22:45724999G-A G A
+22 45725106 22:45725106T-C T C
+22 45725276 22:45725276G-A G A
+22 45725392 22:45725392T-C T C
+22 45725524 22:45725524C-T C T
+22 45725600 22:45725600A-G A G
+22 45726071 22:45726071G-A G A
+22 45726220 22:45726220A-G A G
+22 45726345 22:45726345A-G A G
+22 45727180 22:45727180G-A G A
+22 45727565 22:45727565T-G T G
+22 45727688 22:45727688C-A C A
+22 45727751 22:45727751C-T C T
+22 45728370 22:45728370G-A G A
+22 45728978 22:45728978G-C G C
+22 45731050 22:45731050A-G A G
+22 45731182 22:45731182C-T C T
+22 45731539 22:45731539C-T C T
+22 45731730 22:45731730T-C T C
+22 45731731 22:45731731G-A G A
+22 45731759 22:45731759G-C G C
+22 45732328 22:45732328G-A G A
+22 45733199 22:45733199T-C T C
+22 45734179 22:45734179C-T C T
+22 45734206 22:45734206A-G A G
+22 45734860 22:45734860T-C T C
+22 45734931 22:45734931A-G A G
+22 45735606 22:45735606T-C T C
+22 45735741 22:45735741T-C T C
+22 45736153 22:45736153G-A G A
+22 45736434 22:45736434C-G C G
+22 45736485 22:45736485C-T C T
+22 45736767 22:45736767A-G A G
+22 45736871 22:45736871T-C T C
+22 45737290 22:45737290G-A G A
+22 45737310 22:45737310A-G A G
+22 45737481 22:45737481T-C T C
+22 45737487 22:45737487G-A G A
+22 45737787 22:45737787A-G A G
+22 45738094 22:45738094A-G A G
+22 45738327 22:45738327T-A T A
+22 45738487 22:45738487A-G A G
+22 45738590 22:45738590T-C T C
+22 45738999 22:45738999A-T A T
+22 45739322 22:45739322T-C T C
+22 45739394 22:45739394C-T C T
+22 45739599 22:45739599T-G T G
+22 45739658 22:45739658C-A C A
+22 45739732 22:45739732T-C T C
+22 45739854 22:45739854A-G A G
+22 45740096 22:45740096C-T C T
+22 45740126 22:45740126A-C A C
+22 45740224 22:45740224G-A G A
+22 45741037 22:45741037G-A G A
+22 45741537 22:45741537T-G T G
+22 45741543 22:45741543G-C G C
+22 45741718 22:45741718C-T C T
+22 45742760 22:45742760A-G A G
+22 45743085 22:45743085C-G C G
+22 45743214 22:45743214G-A G A
+22 45743242 22:45743242G-A G A
+22 45744423 22:45744423T-C T C
+22 45744546 22:45744546G-A G A
+22 45744854 22:45744854A-G A G
+22 45745116 22:45745116G-A G A
+22 45745229 22:45745229T-G T G
+22 45745948 22:45745948C-T C T
+22 45746097 22:45746097C-A C A
+22 45746491 22:45746491A-G A G
+22 45746579 22:45746579C-T C T
+22 45746826 22:45746826T-G T G
+22 45747901 22:45747901T-C T C
+22 45747952 22:45747952A-G A G
+22 45748339 22:45748339A-G A G
+22 45748812 22:45748812A-C A C
+22 45748862 22:45748862T-C T C
+22 45749090 22:45749090C-T C T
+22 45749966 22:45749966G-C G C
+22 45749983 22:45749983G-T G T
+22 45750250 22:45750250G-T G T
+22 45751231 22:45751231G-A G A
+22 45751876 22:45751876A-G A G
+22 45751928 22:45751928T-C T C
+22 45752470 22:45752470G-C G C
+22 45752498 22:45752498A-G A G
+22 45753133 22:45753133G-T G T
+22 45754156 22:45754156T-C T C
+22 45754349 22:45754349C-A C A
+22 45754517 22:45754517G-T G T
+22 45754558 22:45754558A-G A G
+22 45755666 22:45755666C-T C T
+22 45756020 22:45756020C-T C T
+22 45756081 22:45756081G-A G A
+22 45757987 22:45757987C-T C T
+22 45757999 22:45757999C-T C T
+22 45758758 22:45758758T-C T C
+22 45759213 22:45759213T-C T C
+22 45760891 22:45760891G-A G A
+22 45761771 22:45761771T-A T A
+22 45763677 22:45763677C-A C A
+22 45764165 22:45764165G-T G T
+22 45764678 22:45764678C-T C T
+22 45764874 22:45764874T-C T C
+22 45765077 22:45765077T-C T C
+22 45766485 22:45766485G-A G A
+22 45766689 22:45766689C-G C G
+22 45767369 22:45767369A-G A G
+22 45767391 22:45767391C-T C T
+22 45767421 22:45767421C-T C T
+22 45767455 22:45767455A-G A G
+22 45767599 22:45767599G-A G A
+22 45767696 22:45767696T-G T G
+22 45767946 22:45767946G-A G A
+22 45768495 22:45768495T-C T C
+22 45768749 22:45768749G-C G C
+22 45769245 22:45769245A-G A G
+22 45769906 22:45769906T-C T C
+22 45769922 22:45769922A-G A G
+22 45770360 22:45770360T-A T A
+22 45770619 22:45770619C-T C T
+22 45771091 22:45771091C-G C G
+22 45771974 22:45771974G-A G A
+22 45773961 22:45773961G-A G A
+22 45774080 22:45774080G-T G T
+22 45774268 22:45774268C-T C T
+22 45774531 22:45774531T-A T A
+22 45776213 22:45776213G-A G A
+22 45777671 22:45777671T-C T C
+22 45778382 22:45778382C-T C T
+22 45778830 22:45778830A-G A G
+22 45779170 22:45779170A-C A C
+22 45779335 22:45779335A-G A G
+22 45779553 22:45779553C-T C T
+22 45780282 22:45780282T-C T C
+22 45780780 22:45780780T-C T C
+22 45780951 22:45780951G-C G C
+22 45781388 22:45781388G-T G T
+22 45781508 22:45781508G-A G A
+22 45781577 22:45781577A-G A G
+22 45782142 22:45782142A-G A G
+22 45782177 22:45782177A-C A C
+22 45782646 22:45782646C-T C T
+22 45782903 22:45782903T-C T C
+22 45783093 22:45783093T-C T C
+22 45783722 22:45783722G-A G A
+22 45783844 22:45783844G-A G A
+22 45783924 22:45783924G-A G A
+22 45784172 22:45784172C-A C A
+22 45784627 22:45784627C-T C T
+22 45784628 22:45784628A-G A G
+22 45784798 22:45784798T-C T C
+22 45784799 22:45784799G-A G A
+22 45784823 22:45784823T-C T C
+22 45784935 22:45784935T-A T A
+22 45785068 22:45785068A-G A G
+22 45785840 22:45785840A-G A G
+22 45785847 22:45785847A-C A C
+22 45786123 22:45786123G-A G A
+22 45786514 22:45786514G-A G A
+22 45786739 22:45786739T-C T C
+22 45787512 22:45787512C-T C T
+22 45787521 22:45787521C-T C T
+22 45788098 22:45788098G-C G C
+22 45788155 22:45788155A-G A G
+22 45788896 22:45788896C-T C T
+22 45789743 22:45789743T-G T G
+22 45789974 22:45789974G-C G C
+22 45790025 22:45790025A-C A C
+22 45790132 22:45790132T-C T C
+22 45791143 22:45791143G-A G A
+22 45793131 22:45793131T-A T A
+22 45793935 22:45793935A-G A G
+22 45794212 22:45794212G-A G A
+22 45794283 22:45794283T-C T C
+22 45794366 22:45794366A-G A G
+22 45794723 22:45794723A-C A C
+22 45794925 22:45794925C-A C A
+22 45796168 22:45796168G-C G C
+22 45797227 22:45797227T-C T C
+22 45797427 22:45797427A-G A G
+22 45797786 22:45797786T-C T C
+22 45797954 22:45797954G-A G A
+22 45799276 22:45799276T-C T C
+22 45800003 22:45800003G-C G C
+22 45800551 22:45800551T-C T C
+22 45800926 22:45800926A-T A T
+22 45801245 22:45801245C-T C T
+22 45801432 22:45801432C-T C T
+22 45803336 22:45803336A-C A C
+22 45803531 22:45803531C-T C T
+22 45803535 22:45803535T-G T G
+22 45804414 22:45804414A-T A T
+22 45805134 22:45805134C-T C T
+22 45805523 22:45805523G-A G A
+22 45806310 22:45806310G-A G A
+22 45807534 22:45807534G-C G C
+22 45807538 22:45807538G-C G C
+22 45807907 22:45807907G-A G A
+22 45808036 22:45808036T-C T C
+22 45808452 22:45808452T-A T A
+22 45808977 22:45808977G-A G A
+22 45808985 22:45808985G-A G A
+22 45809624 22:45809624C-A C A
+22 45809698 22:45809698G-A G A
+22 45810049 22:45810049C-T C T
+22 45811050 22:45811050C-G C G
+22 45811176 22:45811176C-T C T
+22 45811362 22:45811362A-G A G
+22 45812198 22:45812198A-T A T
+22 45812562 22:45812562T-G T G
+22 45813445 22:45813445G-A G A
+22 45813687 22:45813687G-A G A
+22 45814536 22:45814536T-C T C
+22 45814646 22:45814646A-C A C
+22 45815159 22:45815159C-T C T
+22 45815226 22:45815226A-G A G
+22 45815332 22:45815332G-A G A
+22 45815576 22:45815576G-A G A
+22 45815884 22:45815884T-C T C
+22 45816269 22:45816269C-T C T
+22 45817099 22:45817099C-G C G
+22 45817169 22:45817169A-G A G
+22 45817800 22:45817800C-T C T
+22 45817801 22:45817801C-G C G
+22 45818758 22:45818758A-G A G
+22 45820761 22:45820761A-G A G
+22 45820995 22:45820995C-T C T
+22 45821518 22:45821518G-T G T
+22 45821715 22:45821715C-T C T
+22 45821887 22:45821887G-A G A
+22 45821909 22:45821909C-T C T
+22 45821935 22:45821935G-A G A
+22 45821956 22:45821956C-G C G
+22 45822161 22:45822161C-G C G
+22 45822347 22:45822347C-T C T
+22 45822555 22:45822555G-A G A
+22 45822686 22:45822686C-T C T
+22 45823327 22:45823327C-T C T
+22 45823593 22:45823593C-T C T
+22 45823921 22:45823921C-T C T
+22 45825621 22:45825621A-G A G
+22 45825661 22:45825661T-C T C
+22 45826011 22:45826011C-A C A
+22 45826033 22:45826033A-G A G
+22 45826507 22:45826507T-C T C
+22 45826880 22:45826880G-A G A
+22 45827020 22:45827020G-A G A
+22 45827311 22:45827311G-A G A
+22 45827506 22:45827506T-G T G
+22 45827679 22:45827679T-C T C
+22 45827891 22:45827891G-T G T
+22 45828033 22:45828033A-G A G
+22 45828546 22:45828546G-A G A
+22 45828594 22:45828594G-A G A
+22 45828776 22:45828776T-G T G
+22 45828860 22:45828860A-G A G
+22 45828993 22:45828993G-A G A
+22 45829087 22:45829087A-G A G
+22 45829560 22:45829560A-G A G
+22 45829713 22:45829713C-G C G
+22 45829883 22:45829883G-T G T
+22 45830049 22:45830049G-A G A
+22 45830097 22:45830097T-C T C
+22 45830359 22:45830359T-G T G
+22 45830739 22:45830739C-G C G
+22 45830747 22:45830747A-G A G
+22 45830784 22:45830784C-G C G
+22 45831225 22:45831225G-C G C
+22 45832338 22:45832338A-T A T
+22 45832419 22:45832419G-C G C
+22 45833021 22:45833021T-G T G
+22 45833257 22:45833257C-G C G
+22 45833653 22:45833653G-T G T
+22 45834279 22:45834279A-G A G
+22 45834680 22:45834680G-A G A
+22 45835120 22:45835120A-G A G
+22 45835230 22:45835230T-C T C
+22 45835335 22:45835335G-A G A
+22 45836621 22:45836621C-T C T
+22 45836722 22:45836722C-T C T
+22 45836877 22:45836877C-T C T
+22 45836893 22:45836893G-T G T
+22 45837032 22:45837032T-A T A
+22 45837033 22:45837033C-A C A
+22 45837410 22:45837410A-G A G
+22 45838156 22:45838156G-A G A
+22 45838646 22:45838646T-C T C
+22 45838817 22:45838817C-T C T
+22 45838887 22:45838887T-C T C
+22 45839056 22:45839056G-A G A
+22 45839551 22:45839551T-C T C
+22 45840721 22:45840721T-G T G
+22 45840750 22:45840750C-T C T
+22 45841045 22:45841045C-G C G
+22 45841277 22:45841277T-A T A
+22 45842404 22:45842404G-T G T
+22 45842909 22:45842909A-G A G
+22 45843773 22:45843773T-C T C
+22 45843925 22:45843925G-C G C
+22 45845629 22:45845629C-G C G
+22 45846371 22:45846371C-T C T
+22 45846472 22:45846472C-A C A
+22 45846965 22:45846965G-A G A
+22 45847196 22:45847196G-T G T
+22 45849556 22:45849556G-A G A
+22 45849808 22:45849808G-A G A
+22 45850481 22:45850481C-T C T
+22 45852024 22:45852024A-C A C
+22 45852449 22:45852449T-C T C
+22 45852513 22:45852513G-A G A
+22 45853566 22:45853566A-G A G
+22 45853724 22:45853724T-C T C
+22 45854026 22:45854026T-C T C
+22 45854346 22:45854346G-A G A
+22 45854696 22:45854696T-C T C
+22 45855046 22:45855046C-T C T
+22 45856941 22:45856941A-G A G
+22 45857918 22:45857918C-T C T
+22 45858054 22:45858054C-T C T
+22 45858097 22:45858097G-A G A
+22 45858278 22:45858278G-A G A
+22 45858887 22:45858887A-C A C
+22 45859355 22:45859355C-T C T
+22 45859806 22:45859806G-A G A
+22 45859810 22:45859810G-A G A
+22 45860355 22:45860355C-A C A
+22 45860562 22:45860562C-A C A
+22 45860625 22:45860625A-T A T
+22 45860831 22:45860831G-A G A
+22 45861153 22:45861153C-T C T
+22 45863057 22:45863057G-A G A
+22 45863515 22:45863515T-C T C
+22 45863608 22:45863608A-G A G
+22 45863870 22:45863870C-T C T
+22 45864459 22:45864459A-G A G
+22 45864559 22:45864559A-T A T
+22 45864934 22:45864934C-T C T
+22 45865055 22:45865055C-T C T
+22 45865631 22:45865631T-A T A
+22 45866027 22:45866027C-G C G
+22 45866488 22:45866488A-T A T
+22 45866524 22:45866524A-G A G
+22 45866529 22:45866529T-C T C
+22 45866783 22:45866783T-C T C
+22 45867900 22:45867900T-C T C
+22 45869091 22:45869091C-T C T
+22 45869155 22:45869155T-C T C
+22 45869314 22:45869314T-C T C
+22 45869493 22:45869493G-C G C
+22 45870321 22:45870321G-A G A
+22 45870429 22:45870429A-G A G
+22 45870580 22:45870580A-G A G
+22 45870667 22:45870667C-T C T
+22 45871351 22:45871351G-A G A
+22 45871468 22:45871468C-T C T
+22 45871507 22:45871507C-G C G
+22 45873650 22:45873650G-C G C
+22 45873696 22:45873696C-T C T
+22 45874327 22:45874327G-A G A
+22 45874374 22:45874374C-G C G
+22 45874618 22:45874618A-G A G
+22 45875823 22:45875823A-G A G
+22 45875856 22:45875856G-A G A
+22 45876467 22:45876467T-C T C
+22 45877337 22:45877337G-A G A
+22 45877453 22:45877453T-C T C
+22 45878130 22:45878130C-A C A
+22 45878439 22:45878439C-A C A
+22 45878581 22:45878581G-C G C
+22 45878746 22:45878746C-T C T
+22 45878808 22:45878808T-A T A
+22 45878829 22:45878829G-A G A
+22 45878984 22:45878984G-A G A
+22 45879071 22:45879071T-A T A
+22 45879399 22:45879399G-C G C
+22 45879432 22:45879432C-T C T
+22 45879831 22:45879831T-C T C
+22 45880003 22:45880003A-G A G
+22 45880276 22:45880276A-T A T
+22 45881048 22:45881048G-A G A
+22 45881227 22:45881227A-C A C
+22 45881315 22:45881315G-A G A
+22 45881554 22:45881554G-T G T
+22 45881596 22:45881596C-T C T
+22 45881614 22:45881614T-C T C
+22 45883245 22:45883245G-A G A
+22 45883826 22:45883826C-G C G
+22 45883914 22:45883914C-T C T
+22 45884487 22:45884487A-G A G
+22 45885074 22:45885074A-G A G
+22 45885214 22:45885214A-G A G
+22 45885224 22:45885224T-C T C
+22 45885280 22:45885280C-T C T
+22 45885401 22:45885401G-A G A
+22 45885646 22:45885646G-A G A
+22 45885891 22:45885891T-C T C
+22 45885974 22:45885974C-T C T
+22 45885984 22:45885984C-T C T
+22 45886102 22:45886102C-T C T
+22 45886305 22:45886305T-G T G
+22 45886405 22:45886405A-C A C
+22 45886764 22:45886764G-A G A
+22 45886998 22:45886998A-G A G
+22 45887101 22:45887101T-C T C
+22 45887135 22:45887135A-C A C
+22 45887156 22:45887156C-T C T
+22 45887190 22:45887190G-A G A
+22 45887333 22:45887333T-C T C
+22 45887425 22:45887425C-T C T
+22 45887555 22:45887555A-G A G
+22 45887857 22:45887857C-T C T
+22 45887946 22:45887946G-A G A
+22 45888073 22:45888073C-T C T
+22 45888594 22:45888594T-G T G
+22 45888614 22:45888614G-A G A
+22 45888632 22:45888632A-G A G
+22 45889012 22:45889012C-G C G
+22 45889543 22:45889543A-G A G
+22 45889643 22:45889643C-T C T
+22 45889679 22:45889679G-A G A
+22 45890029 22:45890029C-G C G
+22 45890227 22:45890227C-T C T
+22 45891115 22:45891115C-T C T
+22 45891235 22:45891235A-C A C
+22 45891533 22:45891533T-C T C
+22 45891573 22:45891573G-C G C
+22 45892433 22:45892433G-A G A
+22 45892656 22:45892656T-G T G
+22 45892887 22:45892887G-A G A
+22 45893010 22:45893010G-A G A
+22 45893295 22:45893295C-T C T
+22 45893734 22:45893734C-A C A
+22 45894122 22:45894122T-C T C
+22 45894507 22:45894507T-A T A
+22 45895162 22:45895162T-G T G
+22 45895218 22:45895218G-A G A
+22 45895495 22:45895495C-T C T
+22 45895856 22:45895856C-T C T
+22 45897671 22:45897671G-A G A
+22 45897997 22:45897997T-C T C
+22 45898074 22:45898074T-C T C
+22 45898117 22:45898117T-C T C
+22 45898130 22:45898130A-T A T
+22 45898252 22:45898252T-G T G
+22 45898363 22:45898363T-A T A
+22 45899628 22:45899628G-A G A
+22 45899655 22:45899655C-T C T
+22 45901940 22:45901940T-C T C
+22 45902119 22:45902119T-C T C
+22 45902912 22:45902912G-C G C
+22 45903132 22:45903132G-A G A
+22 45903344 22:45903344C-G C G
+22 45903568 22:45903568T-C T C
+22 45903654 22:45903654T-C T C
+22 45903857 22:45903857A-G A G
+22 45904026 22:45904026G-A G A
+22 45904202 22:45904202T-C T C
+22 45904484 22:45904484C-T C T
+22 45904641 22:45904641A-G A G
+22 45905428 22:45905428T-C T C
+22 45905561 22:45905561A-G A G
+22 45905847 22:45905847A-C A C
+22 45905848 22:45905848A-C A C
+22 45906107 22:45906107T-C T C
+22 45906683 22:45906683C-A C A
+22 45907307 22:45907307T-A T A
+22 45907372 22:45907372G-C G C
+22 45907489 22:45907489G-A G A
+22 45907687 22:45907687G-A G A
+22 45908441 22:45908441G-T G T
+22 45908461 22:45908461T-C T C
+22 45908475 22:45908475C-G C G
+22 45908516 22:45908516T-A T A
+22 45908895 22:45908895A-G A G
+22 45909099 22:45909099A-G A G
+22 45909153 22:45909153C-T C T
+22 45909224 22:45909224A-G A G
+22 45909354 22:45909354T-C T C
+22 45909417 22:45909417T-C T C
+22 45909503 22:45909503A-G A G
+22 45909801 22:45909801G-C G C
+22 45909859 22:45909859G-C G C
+22 45909942 22:45909942C-T C T
+22 45910152 22:45910152G-A G A
+22 45910364 22:45910364C-G C G
+22 45910381 22:45910381T-C T C
+22 45911590 22:45911590G-C G C
+22 45911603 22:45911603G-A G A
+22 45911714 22:45911714G-A G A
+22 45912067 22:45912067C-T C T
+22 45912376 22:45912376G-A G A
+22 45912590 22:45912590A-C A C
+22 45912747 22:45912747G-C G C
+22 45912890 22:45912890A-G A G
+22 45913394 22:45913394G-A G A
+22 45913790 22:45913790C-T C T
+22 45913883 22:45913883G-C G C
+22 45913894 22:45913894C-A C A
+22 45914461 22:45914461G-A G A
+22 45914541 22:45914541C-T C T
+22 45914675 22:45914675T-C T C
+22 45914692 22:45914692T-G T G
+22 45915236 22:45915236C-A C A
+22 45915418 22:45915418T-C T C
+22 45915640 22:45915640T-C T C
+22 45915909 22:45915909T-C T C
+22 45915987 22:45915987T-C T C
+22 45916679 22:45916679G-A G A
+22 45916798 22:45916798C-T C T
+22 45917155 22:45917155G-C G C
+22 45917904 22:45917904C-T C T
+22 45918112 22:45918112C-T C T
+22 45918491 22:45918491G-A G A
+22 45918877 22:45918877A-T A T
+22 45919475 22:45919475C-T C T
+22 45919646 22:45919646A-G A G
+22 45921208 22:45921208T-G T G
+22 45921359 22:45921359G-A G A
+22 45921631 22:45921631C-T C T
+22 45921867 22:45921867G-C G C
+22 45921883 22:45921883C-T C T
+22 45922163 22:45922163C-G C G
+22 45922207 22:45922207C-T C T
+22 45922466 22:45922466A-G A G
+22 45922844 22:45922844T-G T G
+22 45923077 22:45923077C-G C G
+22 45924094 22:45924094C-T C T
+22 45924112 22:45924112T-C T C
+22 45924173 22:45924173T-C T C
+22 45924412 22:45924412A-G A G
+22 45924477 22:45924477A-G A G
+22 45924680 22:45924680A-G A G
+22 45924946 22:45924946T-A T A
+22 45925027 22:45925027A-G A G
+22 45925166 22:45925166A-T A T
+22 45925432 22:45925432C-T C T
+22 45925443 22:45925443T-C T C
+22 45925607 22:45925607G-A G A
+22 45925671 22:45925671T-C T C
+22 45925838 22:45925838A-G A G
+22 45925868 22:45925868C-G C G
+22 45925912 22:45925912C-T C T
+22 45926526 22:45926526T-C T C
+22 45926585 22:45926585T-C T C
+22 45926724 22:45926724A-T A T
+22 45926788 22:45926788T-C T C
+22 45926880 22:45926880G-A G A
+22 45927045 22:45927045T-C T C
+22 45927112 22:45927112A-G A G
+22 45927220 22:45927220C-G C G
+22 45928019 22:45928019T-C T C
+22 45928147 22:45928147G-A G A
+22 45928205 22:45928205C-T C T
+22 45928324 22:45928324G-A G A
+22 45928746 22:45928746A-C A C
+22 45928751 22:45928751C-G C G
+22 45928841 22:45928841G-A G A
+22 45929190 22:45929190C-T C T
+22 45929200 22:45929200T-C T C
+22 45929348 22:45929348C-T C T
+22 45929391 22:45929391G-A G A
+22 45929427 22:45929427A-C A C
+22 45929577 22:45929577T-C T C
+22 45929614 22:45929614C-T C T
+22 45930542 22:45930542A-G A G
+22 45930583 22:45930583C-T C T
+22 45930584 22:45930584A-G A G
+22 45931262 22:45931262C-T C T
+22 45931692 22:45931692G-T G T
+22 45932009 22:45932009G-A G A
+22 45932279 22:45932279C-T C T
+22 45933696 22:45933696C-T C T
+22 45934420 22:45934420T-G T G
+22 45935311 22:45935311C-T C T
+22 45935382 22:45935382G-T G T
+22 45936121 22:45936121C-T C T
+22 45936172 22:45936172G-T G T
+22 45936320 22:45936320A-G A G
+22 45936350 22:45936350G-A G A
+22 45936527 22:45936527G-T G T
+22 45937061 22:45937061G-A G A
+22 45937149 22:45937149C-T C T
+22 45937378 22:45937378C-T C T
+22 45937384 22:45937384G-A G A
+22 45938338 22:45938338A-G A G
+22 45938584 22:45938584C-T C T
+22 45938846 22:45938846T-C T C
+22 45940287 22:45940287A-C A C
+22 45940888 22:45940888G-A G A
+22 45940934 22:45940934A-G A G
+22 45941443 22:45941443A-G A G
+22 45941476 22:45941476G-A G A
+22 45941807 22:45941807T-C T C
+22 45942726 22:45942726G-T G T
+22 45943203 22:45943203A-G A G
+22 45943441 22:45943441A-T A T
+22 45943677 22:45943677G-A G A
+22 45944171 22:45944171C-T C T
+22 45944951 22:45944951C-A C A
+22 45949291 22:45949291A-G A G
+22 45950803 22:45950803G-A G A
+22 45953057 22:45953057A-C A C
+22 45953123 22:45953123T-C T C
+22 45953291 22:45953291C-A C A
+22 45953734 22:45953734G-A G A
+22 45954029 22:45954029G-A G A
+22 45954278 22:45954278G-A G A
+22 45954530 22:45954530G-A G A
+22 45954805 22:45954805T-C T C
+22 45954876 22:45954876T-C T C
+22 45954897 22:45954897T-A T A
+22 45955279 22:45955279T-C T C
+22 45955545 22:45955545C-T C T
+22 45959337 22:45959337C-T C T
+22 45959540 22:45959540G-A G A
+22 45959859 22:45959859G-C G C
+22 45959897 22:45959897G-A G A
+22 45961213 22:45961213C-T C T
+22 45961284 22:45961284C-G C G
+22 45961904 22:45961904G-T G T
+22 45962522 22:45962522C-T C T
+22 45963013 22:45963013A-G A G
+22 45963523 22:45963523G-A G A
+22 45963590 22:45963590C-G C G
+22 45963794 22:45963794C-G C G
+22 45965133 22:45965133T-C T C
+22 45965149 22:45965149C-T C T
+22 45965389 22:45965389T-G T G
+22 45965406 22:45965406C-T C T
+22 45965407 22:45965407G-T G T
+22 45965672 22:45965672A-G A G
+22 45965698 22:45965698T-C T C
+22 45966133 22:45966133G-A G A
+22 45967526 22:45967526G-A G A
+22 45967957 22:45967957C-T C T
+22 45968488 22:45968488G-A G A
+22 45969431 22:45969431T-C T C
+22 45969432 22:45969432G-A G A
+22 45969722 22:45969722G-A G A
+22 45970029 22:45970029C-T C T
+22 45970957 22:45970957T-C T C
+22 45971158 22:45971158T-C T C
+22 45971291 22:45971291A-G A G
+22 45971490 22:45971490G-A G A
+22 45971880 22:45971880G-A G A
+22 45972017 22:45972017A-G A G
+22 45972551 22:45972551A-G A G
+22 45972610 22:45972610G-A G A
+22 45974757 22:45974757A-G A G
+22 45974913 22:45974913T-C T C
+22 45977070 22:45977070A-T A T
+22 45977415 22:45977415C-T C T
+22 45977562 22:45977562C-T C T
+22 45977596 22:45977596C-T C T
+22 45977674 22:45977674C-T C T
+22 45978047 22:45978047C-T C T
+22 45978244 22:45978244C-T C T
+22 45978387 22:45978387C-T C T
+22 45978388 22:45978388G-A G A
+22 45978661 22:45978661C-T C T
+22 45978718 22:45978718G-A G A
+22 45978770 22:45978770G-A G A
+22 45978831 22:45978831T-C T C
+22 45978853 22:45978853C-T C T
+22 45978905 22:45978905C-T C T
+22 45978918 22:45978918T-G T G
+22 45979558 22:45979558A-C A C
+22 45979724 22:45979724T-C T C
+22 45979775 22:45979775C-T C T
+22 45979821 22:45979821C-T C T
+22 45980062 22:45980062T-C T C
+22 45980298 22:45980298G-A G A
+22 45980800 22:45980800C-T C T
+22 45980908 22:45980908C-A C A
+22 45981100 22:45981100C-A C A
+22 45981294 22:45981294G-A G A
+22 45981385 22:45981385C-T C T
+22 45981396 22:45981396A-G A G
+22 45981447 22:45981447C-T C T
+22 45981504 22:45981504T-C T C
+22 45981719 22:45981719A-G A G
+22 45981729 22:45981729G-C G C
+22 45981899 22:45981899A-G A G
+22 45982783 22:45982783A-G A G
+22 45982830 22:45982830C-A C A
+22 45982869 22:45982869C-T C T
+22 45982995 22:45982995G-A G A
+22 45982997 22:45982997C-A C A
+22 45983415 22:45983415C-T C T
+22 45983541 22:45983541G-C G C
+22 45983901 22:45983901A-G A G
+22 45984158 22:45984158T-C T C
+22 45984215 22:45984215T-G T G
+22 45985110 22:45985110A-C A C
+22 45985457 22:45985457C-T C T
+22 45985501 22:45985501A-G A G
+22 45986633 22:45986633G-C G C
+22 45986637 22:45986637A-G A G
+22 45987958 22:45987958C-A C A
+22 45988003 22:45988003G-A G A
+22 45988367 22:45988367C-T C T
+22 45988571 22:45988571C-A C A
+22 45988612 22:45988612G-T G T
+22 45988908 22:45988908A-T A T
+22 45989072 22:45989072G-C G C
+22 45989236 22:45989236C-T C T
+22 45989440 22:45989440C-G C G
+22 45989581 22:45989581A-G A G
+22 45989584 22:45989584C-T C T
+22 45989594 22:45989594A-G A G
+22 45990039 22:45990039C-T C T
+22 45990593 22:45990593G-A G A
+22 45990722 22:45990722C-G C G
+22 45990786 22:45990786T-A T A
+22 45990805 22:45990805T-G T G
+22 45990901 22:45990901A-T A T
+22 45991405 22:45991405T-G T G
+22 45991909 22:45991909T-C T C
+22 45991939 22:45991939C-T C T
+22 45992149 22:45992149C-T C T
+22 45992217 22:45992217A-G A G
+22 45992424 22:45992424A-C A C
+22 45992485 22:45992485C-T C T
+22 45992976 22:45992976G-A G A
+22 45993072 22:45993072A-G A G
+22 45993422 22:45993422C-T C T
+22 45993549 22:45993549G-C G C
+22 45993858 22:45993858C-T C T
+22 45994167 22:45994167T-A T A
+22 45994189 22:45994189T-G T G
+22 45994388 22:45994388T-C T C
+22 45994503 22:45994503C-T C T
+22 45994609 22:45994609T-G T G
+22 45994667 22:45994667G-A G A
+22 45994967 22:45994967T-C T C
+22 45995356 22:45995356T-C T C
+22 45995626 22:45995626C-T C T
+22 45995792 22:45995792C-T C T
+22 45995868 22:45995868C-G C G
+22 45996110 22:45996110A-G A G
+22 45996782 22:45996782C-T C T
+22 45997140 22:45997140G-A G A
+22 45997768 22:45997768C-G C G
+22 45997852 22:45997852C-T C T
+22 45998068 22:45998068G-T G T
+22 45998404 22:45998404T-C T C
+22 45998599 22:45998599C-T C T
+22 45998735 22:45998735A-G A G
+22 45998785 22:45998785T-C T C
+22 45998841 22:45998841C-G C G
+22 45998867 22:45998867G-A G A
+22 45998943 22:45998943A-G A G
+22 45999071 22:45999071G-A G A
+22 45999123 22:45999123C-T C T
+22 45999938 22:45999938T-A T A
+22 46000105 22:46000105C-T C T
+22 46001443 22:46001443A-T A T
+22 46001940 22:46001940G-C G C
+22 46002087 22:46002087G-A G A
+22 46002104 22:46002104C-T C T
+22 46002152 22:46002152G-T G T
+22 46002186 22:46002186C-T C T
+22 46002688 22:46002688C-T C T
+22 46002768 22:46002768C-T C T
+22 46002777 22:46002777A-G A G
+22 46003078 22:46003078G-A G A
+22 46003232 22:46003232C-T C T
+22 46004689 22:46004689C-G C G
+22 46004780 22:46004780G-A G A
+22 46004878 22:46004878G-A G A
+22 46006110 22:46006110A-G A G
+22 46006657 22:46006657T-A T A
+22 46006790 22:46006790T-A T A
+22 46007029 22:46007029A-C A C
+22 46007345 22:46007345G-A G A
+22 46007623 22:46007623C-T C T
+22 46007997 22:46007997C-T C T
+22 46008858 22:46008858C-T C T
+22 46009063 22:46009063A-G A G
+22 46009178 22:46009178G-A G A
+22 46009408 22:46009408C-T C T
+22 46009832 22:46009832C-T C T
+22 46010194 22:46010194T-C T C
+22 46010781 22:46010781G-C G C
+22 46010994 22:46010994A-G A G
+22 46011054 22:46011054A-G A G
+22 46011564 22:46011564G-T G T
+22 46011644 22:46011644A-G A G
+22 46012808 22:46012808A-C A C
+22 46012874 22:46012874T-G T G
+22 46012876 22:46012876A-G A G
+22 46013139 22:46013139A-G A G
+22 46013226 22:46013226T-C T C
+22 46013245 22:46013245T-G T G
+22 46013626 22:46013626G-A G A
+22 46013824 22:46013824G-A G A
+22 46014679 22:46014679A-G A G
+22 46014959 22:46014959C-G C G
+22 46015012 22:46015012G-A G A
+22 46015045 22:46015045G-A G A
+22 46015340 22:46015340G-A G A
+22 46015430 22:46015430C-T C T
+22 46015446 22:46015446C-T C T
+22 46015594 22:46015594T-G T G
+22 46015644 22:46015644G-A G A
+22 46016136 22:46016136G-C G C
+22 46017493 22:46017493A-G A G
+22 46017699 22:46017699G-A G A
+22 46017935 22:46017935T-C T C
+22 46018094 22:46018094G-A G A
+22 46018446 22:46018446C-T C T
+22 46018797 22:46018797C-T C T
+22 46019685 22:46019685G-C G C
+22 46022046 22:46022046C-T C T
+22 46022070 22:46022070A-G A G
+22 46022339 22:46022339C-T C T
+22 46023500 22:46023500G-C G C
+22 46024236 22:46024236C-T C T
+22 46029523 22:46029523T-G T G
+22 46029843 22:46029843C-T C T
+22 46030012 22:46030012C-T C T
+22 46030194 22:46030194C-G C G
+22 46030976 22:46030976A-G A G
+22 46031362 22:46031362A-G A G
+22 46031666 22:46031666G-A G A
+22 46031700 22:46031700A-G A G
+22 46032523 22:46032523T-C T C
+22 46033325 22:46033325A-G A G
+22 46033326 22:46033326C-T C T
+22 46033875 22:46033875C-T C T
+22 46033927 22:46033927T-C T C
+22 46034092 22:46034092C-T C T
+22 46034095 22:46034095T-C T C
+22 46034802 22:46034802G-C G C
+22 46035038 22:46035038G-A G A
+22 46035116 22:46035116T-C T C
+22 46035521 22:46035521A-G A G
+22 46036079 22:46036079G-C G C
+22 46036694 22:46036694C-A C A
+22 46037048 22:46037048A-G A G
+22 46037386 22:46037386T-C T C
+22 46037617 22:46037617C-A C A
+22 46037881 22:46037881G-T G T
+22 46037999 22:46037999G-C G C
+22 46038194 22:46038194C-T C T
+22 46038792 22:46038792G-C G C
+22 46038908 22:46038908C-T C T
+22 46040062 22:46040062T-C T C
+22 46040548 22:46040548G-T G T
+22 46040664 22:46040664C-A C A
+22 46040779 22:46040779T-G T G
+22 46040996 22:46040996A-C A C
+22 46041194 22:46041194C-G C G
+22 46041604 22:46041604C-T C T
+22 46042979 22:46042979A-G A G
+22 46043466 22:46043466A-C A C
+22 46043808 22:46043808C-T C T
+22 46044893 22:46044893G-C G C
+22 46045140 22:46045140C-T C T
+22 46046027 22:46046027G-A G A
+22 46046477 22:46046477A-G A G
+22 46046712 22:46046712G-A G A
+22 46047396 22:46047396A-G A G
+22 46048174 22:46048174C-T C T
+22 46048746 22:46048746G-A G A
+22 46049715 22:46049715C-T C T
+22 46052777 22:46052777G-A G A
+22 46053210 22:46053210A-C A C
+22 46053963 22:46053963G-T G T
+22 46054220 22:46054220C-T C T
+22 46056094 22:46056094A-G A G
+22 46057450 22:46057450G-A G A
+22 46057707 22:46057707G-A G A
+22 46057842 22:46057842G-T G T
+22 46059623 22:46059623A-G A G
+22 46060541 22:46060541C-T C T
+22 46060630 22:46060630T-A T A
+22 46060815 22:46060815C-T C T
+22 46062205 22:46062205G-C G C
+22 46062374 22:46062374G-A G A
+22 46062466 22:46062466C-T C T
+22 46062710 22:46062710T-C T C
+22 46063036 22:46063036C-T C T
+22 46063575 22:46063575G-A G A
+22 46063646 22:46063646C-T C T
+22 46064796 22:46064796T-A T A
+22 46065463 22:46065463A-G A G
+22 46065966 22:46065966A-G A G
+22 46066043 22:46066043G-C G C
+22 46068144 22:46068144G-A G A
+22 46068567 22:46068567G-C G C
+22 46068741 22:46068741C-T C T
+22 46069109 22:46069109C-A C A
+22 46070850 22:46070850C-T C T
+22 46071010 22:46071010A-G A G
+22 46071688 22:46071688T-G T G
+22 46073604 22:46073604C-T C T
+22 46074258 22:46074258G-A G A
+22 46075129 22:46075129G-A G A
+22 46076262 22:46076262A-G A G
+22 46078271 22:46078271C-T C T
+22 46079215 22:46079215A-G A G
+22 46079293 22:46079293T-C T C
+22 46080380 22:46080380G-A G A
+22 46080852 22:46080852C-A C A
+22 46081107 22:46081107A-G A G
+22 46081976 22:46081976G-A G A
+22 46083738 22:46083738A-G A G
+22 46084030 22:46084030T-C T C
+22 46087110 22:46087110C-A C A
+22 46087170 22:46087170G-A G A
+22 46088119 22:46088119T-A T A
+22 46088184 22:46088184G-C G C
+22 46090414 22:46090414C-G C G
+22 46091096 22:46091096G-C G C
+22 46091246 22:46091246C-G C G
+22 46091526 22:46091526G-A G A
+22 46093310 22:46093310C-T C T
+22 46093963 22:46093963T-G T G
+22 46095997 22:46095997A-G A G
+22 46097122 22:46097122T-G T G
+22 46103448 22:46103448C-T C T
+22 46104377 22:46104377C-G C G
+22 46105257 22:46105257G-C G C
+22 46106130 22:46106130A-G A G
+22 46106317 22:46106317G-C G C
+22 46106674 22:46106674C-A C A
+22 46106914 22:46106914A-G A G
+22 46107078 22:46107078G-C G C
+22 46107105 22:46107105G-A G A
+22 46107508 22:46107508G-A G A
+22 46108224 22:46108224C-T C T
+22 46108369 22:46108369G-A G A
+22 46110876 22:46110876C-G C G
+22 46112245 22:46112245C-T C T
+22 46113711 22:46113711G-C G C
+22 46114147 22:46114147C-T C T
+22 46114244 22:46114244C-T C T
+22 46114398 22:46114398G-T G T
+22 46115730 22:46115730A-G A G
+22 46116272 22:46116272T-A T A
+22 46117653 22:46117653A-T A T
+22 46117843 22:46117843G-A G A
+22 46118267 22:46118267A-G A G
+22 46118313 22:46118313C-T C T
+22 46118371 22:46118371T-C T C
+22 46119433 22:46119433G-A G A
+22 46119962 22:46119962C-A C A
+22 46121230 22:46121230T-G T G
+22 46121637 22:46121637A-G A G
+22 46123048 22:46123048G-A G A
+22 46124712 22:46124712A-G A G
+22 46126198 22:46126198C-T C T
+22 46131238 22:46131238G-A G A
+22 46132184 22:46132184A-G A G
+22 46133009 22:46133009G-T G T
+22 46133853 22:46133853A-G A G
+22 46134933 22:46134933G-A G A
+22 46135431 22:46135431A-T A T
+22 46137241 22:46137241A-G A G
+22 46140455 22:46140455G-C G C
+22 46140473 22:46140473G-A G A
+22 46141551 22:46141551G-A G A
+22 46142514 22:46142514G-C G C
+22 46142637 22:46142637C-T C T
+22 46142665 22:46142665G-A G A
+22 46143103 22:46143103C-T C T
+22 46144505 22:46144505A-G A G
+22 46144507 22:46144507A-G A G
+22 46145176 22:46145176G-T G T
+22 46145734 22:46145734C-T C T
+22 46145806 22:46145806G-A G A
+22 46146508 22:46146508T-G T G
+22 46146609 22:46146609G-T G T
+22 46147183 22:46147183A-G A G
+22 46148001 22:46148001A-G A G
+22 46149148 22:46149148T-A T A
+22 46149195 22:46149195A-G A G
+22 46149455 22:46149455C-T C T
+22 46149876 22:46149876C-T C T
+22 46150048 22:46150048G-A G A
+22 46150781 22:46150781C-T C T
+22 46151121 22:46151121C-T C T
+22 46151139 22:46151139A-G A G
+22 46151418 22:46151418T-C T C
+22 46151880 22:46151880C-T C T
+22 46151955 22:46151955C-G C G
+22 46152123 22:46152123C-T C T
+22 46152980 22:46152980C-T C T
+22 46153765 22:46153765G-A G A
+22 46153898 22:46153898G-A G A
+22 46154366 22:46154366G-A G A
+22 46154933 22:46154933C-A C A
+22 46155548 22:46155548C-G C G
+22 46156234 22:46156234C-T C T
+22 46156446 22:46156446G-A G A
+22 46156572 22:46156572A-T A T
+22 46156581 22:46156581C-T C T
+22 46156622 22:46156622C-A C A
+22 46156690 22:46156690T-A T A
+22 46156825 22:46156825G-C G C
+22 46157047 22:46157047T-G T G
+22 46157281 22:46157281T-C T C
+22 46157828 22:46157828T-G T G
+22 46159717 22:46159717G-T G T
+22 46160624 22:46160624G-A G A
+22 46160991 22:46160991G-A G A
+22 46161229 22:46161229C-T C T
+22 46161875 22:46161875A-G A G
+22 46162076 22:46162076A-G A G
+22 46162310 22:46162310C-T C T
+22 46162518 22:46162518C-T C T
+22 46162700 22:46162700A-G A G
+22 46162998 22:46162998G-C G C
+22 46163253 22:46163253G-A G A
+22 46164107 22:46164107A-G A G
+22 46165101 22:46165101C-A C A
+22 46165393 22:46165393T-G T G
+22 46165603 22:46165603G-C G C
+22 46166653 22:46166653G-C G C
+22 46167551 22:46167551G-C G C
+22 46167703 22:46167703G-A G A
+22 46168644 22:46168644G-A G A
+22 46169210 22:46169210C-T C T
+22 46169364 22:46169364T-G T G
+22 46170276 22:46170276C-T C T
+22 46171040 22:46171040C-G C G
+22 46171505 22:46171505G-A G A
+22 46172428 22:46172428C-G C G
+22 46172626 22:46172626G-A G A
+22 46172855 22:46172855G-A G A
+22 46174057 22:46174057C-T C T
+22 46174234 22:46174234C-T C T
+22 46175530 22:46175530A-C A C
+22 46175914 22:46175914G-A G A
+22 46176461 22:46176461C-G C G
+22 46176675 22:46176675C-G C G
+22 46177446 22:46177446T-A T A
+22 46178009 22:46178009T-C T C
+22 46178183 22:46178183T-C T C
+22 46178211 22:46178211G-A G A
+22 46178249 22:46178249G-A G A
+22 46178379 22:46178379G-A G A
+22 46178485 22:46178485C-G C G
+22 46179537 22:46179537C-T C T
+22 46180061 22:46180061A-T A T
+22 46180320 22:46180320T-C T C
+22 46182756 22:46182756G-A G A
+22 46182792 22:46182792C-T C T
+22 46182858 22:46182858G-A G A
+22 46183516 22:46183516T-C T C
+22 46183567 22:46183567T-C T C
+22 46183614 22:46183614A-T A T
+22 46184427 22:46184427G-C G C
+22 46184606 22:46184606A-G A G
+22 46184656 22:46184656T-C T C
+22 46184765 22:46184765A-G A G
+22 46184938 22:46184938A-G A G
+22 46185449 22:46185449G-A G A
+22 46185873 22:46185873G-A G A
+22 46186452 22:46186452G-A G A
+22 46186465 22:46186465A-G A G
+22 46187636 22:46187636G-A G A
+22 46188797 22:46188797G-A G A
+22 46189190 22:46189190G-A G A
+22 46189960 22:46189960G-A G A
+22 46190037 22:46190037A-C A C
+22 46191352 22:46191352G-A G A
+22 46191608 22:46191608G-A G A
+22 46192096 22:46192096T-G T G
+22 46192395 22:46192395T-C T C
+22 46192600 22:46192600A-T A T
+22 46192942 22:46192942C-G C G
+22 46194588 22:46194588G-A G A
+22 46195076 22:46195076G-C G C
+22 46195580 22:46195580C-T C T
+22 46196189 22:46196189T-C T C
+22 46196881 22:46196881C-A C A
+22 46197605 22:46197605G-A G A
+22 46198080 22:46198080A-G A G
+22 46198314 22:46198314G-T G T
+22 46198479 22:46198479T-C T C
+22 46198636 22:46198636A-G A G
+22 46199332 22:46199332G-T G T
+22 46199651 22:46199651C-T C T
+22 46200141 22:46200141C-G C G
+22 46200837 22:46200837C-G C G
+22 46201551 22:46201551A-G A G
+22 46202925 22:46202925A-G A G
+22 46203356 22:46203356C-T C T
+22 46204190 22:46204190C-T C T
+22 46205189 22:46205189C-T C T
+22 46205231 22:46205231A-G A G
+22 46205314 22:46205314C-T C T
+22 46206515 22:46206515G-A G A
+22 46206700 22:46206700C-T C T
+22 46207701 22:46207701T-C T C
+22 46207955 22:46207955T-C T C
+22 46208417 22:46208417G-A G A
+22 46209241 22:46209241G-A G A
+22 46210360 22:46210360G-A G A
+22 46211541 22:46211541T-C T C
+22 46211935 22:46211935G-A G A
+22 46212617 22:46212617G-A G A
+22 46213297 22:46213297T-C T C
+22 46213340 22:46213340A-G A G
+22 46213841 22:46213841T-C T C
+22 46214184 22:46214184G-C G C
+22 46214351 22:46214351G-T G T
+22 46214704 22:46214704T-C T C
+22 46215713 22:46215713T-C T C
+22 46216577 22:46216577G-C G C
+22 46217172 22:46217172G-T G T
+22 46217550 22:46217550T-C T C
+22 46218668 22:46218668T-C T C
+22 46219028 22:46219028C-T C T
+22 46219326 22:46219326C-T C T
+22 46219345 22:46219345T-G T G
+22 46221291 22:46221291C-T C T
+22 46221382 22:46221382G-T G T
+22 46221619 22:46221619G-A G A
+22 46223912 22:46223912A-C A C
+22 46225618 22:46225618C-T C T
+22 46226672 22:46226672C-T C T
+22 46227265 22:46227265T-A T A
+22 46228200 22:46228200C-T C T
+22 46229169 22:46229169T-G T G
+22 46229719 22:46229719C-T C T
+22 46229798 22:46229798C-T C T
+22 46229951 22:46229951T-C T C
+22 46230427 22:46230427A-G A G
+22 46231145 22:46231145G-T G T
+22 46233364 22:46233364A-G A G
+22 46233742 22:46233742A-G A G
+22 46235105 22:46235105C-T C T
+22 46235461 22:46235461A-C A C
+22 46235505 22:46235505A-G A G
+22 46235597 22:46235597A-T A T
+22 46235677 22:46235677A-G A G
+22 46236189 22:46236189A-G A G
+22 46236425 22:46236425G-A G A
+22 46238069 22:46238069T-C T C
+22 46238123 22:46238123T-C T C
+22 46238348 22:46238348A-G A G
+22 46239934 22:46239934C-T C T
+22 46240090 22:46240090G-A G A
+22 46241660 22:46241660G-A G A
+22 46242148 22:46242148A-G A G
+22 46242359 22:46242359A-G A G
+22 46242791 22:46242791A-G A G
+22 46246529 22:46246529A-G A G
+22 46246890 22:46246890A-G A G
+22 46247222 22:46247222T-G T G
+22 46247357 22:46247357T-G T G
+22 46247678 22:46247678G-T G T
+22 46247961 22:46247961C-T C T
+22 46248134 22:46248134A-C A C
+22 46248170 22:46248170C-T C T
+22 46248789 22:46248789C-A C A
+22 46250958 22:46250958C-T C T
+22 46251050 22:46251050C-A C A
+22 46251084 22:46251084A-G A G
+22 46251613 22:46251613C-T C T
+22 46251927 22:46251927A-G A G
+22 46252096 22:46252096A-G A G
+22 46253270 22:46253270C-T C T
+22 46253745 22:46253745A-T A T
+22 46253970 22:46253970G-T G T
+22 46254008 22:46254008C-T C T
+22 46254083 22:46254083G-T G T
+22 46254084 22:46254084G-T G T
+22 46254478 22:46254478G-A G A
+22 46254971 22:46254971C-T C T
+22 46254998 22:46254998A-G A G
+22 46255004 22:46255004A-G A G
+22 46256334 22:46256334C-G C G
+22 46256335 22:46256335T-G T G
+22 46256338 22:46256338G-T G T
+22 46256480 22:46256480A-G A G
+22 46256942 22:46256942C-A C A
+22 46257355 22:46257355T-C T C
+22 46258113 22:46258113A-C A C
+22 46258912 22:46258912A-G A G
+22 46259060 22:46259060T-C T C
+22 46259880 22:46259880A-G A G
+22 46260140 22:46260140T-G T G
+22 46260210 22:46260210C-T C T
+22 46261687 22:46261687A-G A G
+22 46261808 22:46261808T-C T C
+22 46261909 22:46261909T-C T C
+22 46262898 22:46262898G-T G T
+22 46264076 22:46264076A-G A G
+22 46264381 22:46264381G-A G A
+22 46264656 22:46264656A-G A G
+22 46265245 22:46265245G-A G A
+22 46266079 22:46266079C-T C T
+22 46267946 22:46267946G-A G A
+22 46268470 22:46268470A-G A G
+22 46269923 22:46269923G-A G A
+22 46270822 22:46270822G-A G A
+22 46270998 22:46270998G-A G A
+22 46271786 22:46271786G-A G A
+22 46272360 22:46272360C-T C T
+22 46272395 22:46272395G-A G A
+22 46273006 22:46273006C-T C T
+22 46273049 22:46273049G-C G C
+22 46273341 22:46273341C-T C T
+22 46273356 22:46273356G-A G A
+22 46273363 22:46273363T-C T C
+22 46273472 22:46273472T-G T G
+22 46273599 22:46273599A-G A G
+22 46273640 22:46273640C-T C T
+22 46273803 22:46273803G-A G A
+22 46273829 22:46273829G-A G A
+22 46273872 22:46273872C-T C T
+22 46274072 22:46274072A-G A G
+22 46274399 22:46274399G-A G A
+22 46275529 22:46275529C-T C T
+22 46276328 22:46276328T-G T G
+22 46276568 22:46276568C-G C G
+22 46277167 22:46277167G-A G A
+22 46277178 22:46277178G-A G A
+22 46277579 22:46277579T-C T C
+22 46277994 22:46277994G-T G T
+22 46278094 22:46278094C-T C T
+22 46278148 22:46278148G-C G C
+22 46278208 22:46278208A-C A C
+22 46278238 22:46278238G-A G A
+22 46278408 22:46278408C-T C T
+22 46278949 22:46278949A-G A G
+22 46279265 22:46279265G-A G A
+22 46279781 22:46279781T-C T C
+22 46281581 22:46281581T-C T C
+22 46282759 22:46282759G-T G T
+22 46283280 22:46283280T-C T C
+22 46283297 22:46283297G-A G A
+22 46284254 22:46284254T-C T C
+22 46284951 22:46284951T-C T C
+22 46285252 22:46285252T-C T C
+22 46286825 22:46286825A-G A G
+22 46287046 22:46287046C-G C G
+22 46287772 22:46287772C-T C T
+22 46288698 22:46288698G-A G A
+22 46288718 22:46288718T-A T A
+22 46289145 22:46289145A-G A G
+22 46289247 22:46289247C-A C A
+22 46289699 22:46289699C-T C T
+22 46290441 22:46290441G-C G C
+22 46290848 22:46290848G-A G A
+22 46292624 22:46292624C-T C T
+22 46293266 22:46293266C-T C T
+22 46293440 22:46293440T-C T C
+22 46293608 22:46293608C-A C A
+22 46294075 22:46294075A-G A G
+22 46294200 22:46294200C-T C T
+22 46294336 22:46294336C-T C T
+22 46294704 22:46294704G-A G A
+22 46294783 22:46294783G-T G T
+22 46295025 22:46295025C-G C G
+22 46295361 22:46295361G-A G A
+22 46295391 22:46295391G-A G A
+22 46295550 22:46295550G-A G A
+22 46296112 22:46296112C-T C T
+22 46297036 22:46297036A-G A G
+22 46297103 22:46297103A-G A G
+22 46297452 22:46297452G-A G A
+22 46298428 22:46298428C-T C T
+22 46298649 22:46298649G-A G A
+22 46300220 22:46300220A-C A C
+22 46300967 22:46300967A-G A G
+22 46301348 22:46301348T-G T G
+22 46301368 22:46301368A-G A G
+22 46301714 22:46301714C-G C G
+22 46301766 22:46301766G-C G C
+22 46301845 22:46301845G-A G A
+22 46302562 22:46302562C-G C G
+22 46302600 22:46302600G-A G A
+22 46302757 22:46302757G-A G A
+22 46302870 22:46302870C-T C T
+22 46303161 22:46303161G-C G C
+22 46303275 22:46303275C-T C T
+22 46303317 22:46303317A-G A G
+22 46303323 22:46303323C-T C T
+22 46303347 22:46303347C-T C T
+22 46303422 22:46303422G-A G A
+22 46303572 22:46303572C-A C A
+22 46303643 22:46303643A-G A G
+22 46303692 22:46303692G-C G C
+22 46303881 22:46303881G-A G A
+22 46304032 22:46304032C-T C T
+22 46304208 22:46304208C-T C T
+22 46304440 22:46304440A-C A C
+22 46305742 22:46305742C-G C G
+22 46305756 22:46305756G-T G T
+22 46305919 22:46305919G-A G A
+22 46306024 22:46306024T-C T C
+22 46306875 22:46306875A-T A T
+22 46306932 22:46306932T-A T A
+22 46307139 22:46307139C-T C T
+22 46307288 22:46307288T-G T G
+22 46307508 22:46307508G-A G A
+22 46307893 22:46307893C-T C T
+22 46308335 22:46308335T-C T C
+22 46308383 22:46308383A-G A G
+22 46309336 22:46309336A-G A G
+22 46309359 22:46309359C-T C T
+22 46309893 22:46309893C-G C G
+22 46309930 22:46309930C-T C T
+22 46310641 22:46310641A-G A G
+22 46310651 22:46310651A-C A C
+22 46310967 22:46310967C-T C T
+22 46311465 22:46311465T-C T C
+22 46311903 22:46311903G-A G A
+22 46312455 22:46312455C-A C A
+22 46312491 22:46312491T-G T G
+22 46312493 22:46312493T-G T G
+22 46312973 22:46312973G-C G C
+22 46313196 22:46313196C-G C G
+22 46313210 22:46313210G-C G C
+22 46313215 22:46313215T-C T C
+22 46313445 22:46313445A-G A G
+22 46313510 22:46313510G-A G A
+22 46313585 22:46313585C-T C T
+22 46313618 22:46313618G-T G T
+22 46313688 22:46313688C-T C T
+22 46313815 22:46313815A-G A G
+22 46313896 22:46313896C-G C G
+22 46314108 22:46314108A-G A G
+22 46314952 22:46314952T-C T C
+22 46315238 22:46315238C-T C T
+22 46316057 22:46316057G-A G A
+22 46316150 22:46316150G-C G C
+22 46316155 22:46316155C-T C T
+22 46316424 22:46316424G-A G A
+22 46316805 22:46316805T-G T G
+22 46316863 22:46316863G-A G A
+22 46317259 22:46317259G-T G T
+22 46317490 22:46317490G-A G A
+22 46317685 22:46317685A-G A G
+22 46317920 22:46317920T-C T C
+22 46318159 22:46318159T-G T G
+22 46318178 22:46318178G-C G C
+22 46318285 22:46318285A-G A G
+22 46318462 22:46318462C-T C T
+22 46318479 22:46318479A-G A G
+22 46319722 22:46319722T-A T A
+22 46320275 22:46320275A-G A G
+22 46320535 22:46320535A-G A G
+22 46320680 22:46320680A-G A G
+22 46320732 22:46320732G-A G A
+22 46320872 22:46320872G-A G A
+22 46320897 22:46320897A-G A G
+22 46321190 22:46321190T-C T C
+22 46321197 22:46321197C-T C T
+22 46321566 22:46321566T-C T C
+22 46321994 22:46321994C-T C T
+22 46322262 22:46322262G-A G A
+22 46322460 22:46322460G-A G A
+22 46322841 22:46322841G-A G A
+22 46323244 22:46323244G-A G A
+22 46323342 22:46323342A-G A G
+22 46323852 22:46323852T-A T A
+22 46324073 22:46324073C-T C T
+22 46324171 22:46324171A-G A G
+22 46324284 22:46324284G-A G A
+22 46324380 22:46324380C-T C T
+22 46324473 22:46324473C-A C A
+22 46324492 22:46324492C-T C T
+22 46324551 22:46324551C-T C T
+22 46324625 22:46324625A-C A C
+22 46324854 22:46324854C-T C T
+22 46324933 22:46324933G-C G C
+22 46325021 22:46325021C-T C T
+22 46325946 22:46325946T-C T C
+22 46325958 22:46325958C-T C T
+22 46325996 22:46325996T-C T C
+22 46326017 22:46326017A-G A G
+22 46326019 22:46326019C-A C A
+22 46326071 22:46326071A-G A G
+22 46326120 22:46326120G-A G A
+22 46326135 22:46326135G-T G T
+22 46326228 22:46326228A-G A G
+22 46326272 22:46326272G-A G A
+22 46326339 22:46326339A-G A G
+22 46326591 22:46326591G-C G C
+22 46326610 22:46326610G-T G T
+22 46326620 22:46326620G-A G A
+22 46326671 22:46326671G-C G C
+22 46327272 22:46327272A-G A G
+22 46327540 22:46327540C-G C G
+22 46327669 22:46327669G-C G C
+22 46327855 22:46327855C-T C T
+22 46327857 22:46327857G-A G A
+22 46328447 22:46328447T-G T G
+22 46328486 22:46328486C-G C G
+22 46328759 22:46328759G-A G A
+22 46328854 22:46328854T-C T C
+22 46329149 22:46329149C-T C T
+22 46329818 22:46329818T-C T C
+22 46330805 22:46330805T-C T C
+22 46331659 22:46331659C-T C T
+22 46332134 22:46332134C-G C G
+22 46332914 22:46332914C-T C T
+22 46333454 22:46333454A-T A T
+22 46333655 22:46333655T-A T A
+22 46334133 22:46334133G-T G T
+22 46334234 22:46334234T-C T C
+22 46334467 22:46334467A-C A C
+22 46334483 22:46334483A-T A T
+22 46334730 22:46334730T-C T C
+22 46335422 22:46335422C-G C G
+22 46336203 22:46336203C-A C A
+22 46336302 22:46336302A-G A G
+22 46336343 22:46336343C-T C T
+22 46337043 22:46337043C-G C G
+22 46337118 22:46337118G-A G A
+22 46337624 22:46337624G-A G A
+22 46337729 22:46337729G-C G C
+22 46338457 22:46338457T-C T C
+22 46338556 22:46338556T-C T C
+22 46338672 22:46338672G-A G A
+22 46338673 22:46338673T-A T A
+22 46338757 22:46338757G-A G A
+22 46338802 22:46338802G-A G A
+22 46338892 22:46338892A-C A C
+22 46339047 22:46339047C-T C T
+22 46339118 22:46339118A-C A C
+22 46339285 22:46339285G-C G C
+22 46339988 22:46339988A-C A C
+22 46340538 22:46340538C-T C T
+22 46340640 22:46340640C-T C T
+22 46340717 22:46340717G-A G A
+22 46340765 22:46340765A-G A G
+22 46341057 22:46341057G-A G A
+22 46341887 22:46341887A-G A G
+22 46342286 22:46342286T-C T C
+22 46344766 22:46344766G-C G C
+22 46345714 22:46345714C-T C T
+22 46346121 22:46346121G-A G A
+22 46346784 22:46346784C-T C T
+22 46346810 22:46346810C-T C T
+22 46346999 22:46346999G-C G C
+22 46347458 22:46347458C-T C T
+22 46347544 22:46347544T-C T C
+22 46347604 22:46347604G-A G A
+22 46347651 22:46347651G-C G C
+22 46347683 22:46347683C-T C T
+22 46347922 22:46347922C-T C T
+22 46348607 22:46348607T-C T C
+22 46348642 22:46348642T-C T C
+22 46348684 22:46348684C-A C A
+22 46348925 22:46348925G-A G A
+22 46350276 22:46350276C-T C T
+22 46350526 22:46350526A-G A G
+22 46350648 22:46350648C-T C T
+22 46351026 22:46351026T-A T A
+22 46351071 22:46351071C-T C T
+22 46351481 22:46351481G-C G C
+22 46351482 22:46351482G-A G A
+22 46351783 22:46351783C-T C T
+22 46351824 22:46351824G-A G A
+22 46353046 22:46353046C-G C G
+22 46353286 22:46353286G-A G A
+22 46353420 22:46353420T-C T C
+22 46353696 22:46353696C-T C T
+22 46354104 22:46354104C-T C T
+22 46354585 22:46354585A-G A G
+22 46354898 22:46354898T-C T C
+22 46354932 22:46354932G-C G C
+22 46355149 22:46355149C-G C G
+22 46356434 22:46356434T-C T C
+22 46356554 22:46356554C-T C T
+22 46357777 22:46357777A-G A G
+22 46358746 22:46358746G-T G T
+22 46360083 22:46360083G-A G A
+22 46360234 22:46360234C-G C G
+22 46360304 22:46360304C-T C T
+22 46360772 22:46360772C-T C T
+22 46361205 22:46361205C-A C A
+22 46362396 22:46362396A-G A G
+22 46363739 22:46363739A-G A G
+22 46364161 22:46364161G-A G A
+22 46364191 22:46364191C-T C T
+22 46365501 22:46365501C-T C T
+22 46365557 22:46365557G-T G T
+22 46365630 22:46365630G-A G A
+22 46366127 22:46366127G-C G C
+22 46366165 22:46366165C-T C T
+22 46367144 22:46367144G-A G A
+22 46369657 22:46369657C-G C G
+22 46370765 22:46370765T-C T C
+22 46371079 22:46371079A-G A G
+22 46372968 22:46372968C-T C T
+22 46375013 22:46375013C-T C T
+22 46375802 22:46375802C-G C G
+22 46375833 22:46375833C-T C T
+22 46376028 22:46376028C-A C A
+22 46376384 22:46376384A-G A G
+22 46376985 22:46376985G-A G A
+22 46377008 22:46377008T-G T G
+22 46378575 22:46378575G-A G A
+22 46380832 22:46380832C-T C T
+22 46381234 22:46381234A-G A G
+22 46381363 22:46381363A-G A G
+22 46381414 22:46381414G-A G A
+22 46381899 22:46381899A-G A G
+22 46382119 22:46382119G-A G A
+22 46383345 22:46383345A-C A C
+22 46383612 22:46383612C-T C T
+22 46384477 22:46384477C-T C T
+22 46384837 22:46384837C-T C T
+22 46385806 22:46385806G-A G A
+22 46385917 22:46385917T-C T C
+22 46386609 22:46386609A-G A G
+22 46386873 22:46386873T-C T C
+22 46386971 22:46386971T-C T C
+22 46387366 22:46387366C-G C G
+22 46387795 22:46387795T-C T C
+22 46388915 22:46388915T-C T C
+22 46389810 22:46389810G-A G A
+22 46390243 22:46390243C-T C T
+22 46390733 22:46390733C-T C T
+22 46391318 22:46391318G-A G A
+22 46391346 22:46391346C-T C T
+22 46391888 22:46391888A-G A G
+22 46392426 22:46392426G-C G C
+22 46393308 22:46393308C-G C G
+22 46393787 22:46393787T-A T A
+22 46393961 22:46393961G-T G T
+22 46394073 22:46394073T-C T C
+22 46394279 22:46394279G-A G A
+22 46394480 22:46394480G-A G A
+22 46394764 22:46394764G-T G T
+22 46394802 22:46394802C-T C T
+22 46394928 22:46394928C-T C T
+22 46395651 22:46395651C-G C G
+22 46395812 22:46395812G-A G A
+22 46395930 22:46395930G-A G A
+22 46396086 22:46396086G-A G A
+22 46396330 22:46396330A-G A G
+22 46396538 22:46396538C-T C T
+22 46396775 22:46396775G-A G A
+22 46396925 22:46396925A-G A G
+22 46397109 22:46397109T-C T C
+22 46397497 22:46397497C-G C G
+22 46397854 22:46397854T-C T C
+22 46398037 22:46398037T-C T C
+22 46398254 22:46398254G-C G C
+22 46398509 22:46398509G-C G C
+22 46398717 22:46398717A-G A G
+22 46398748 22:46398748C-T C T
+22 46399175 22:46399175A-T A T
+22 46399356 22:46399356C-T C T
+22 46400047 22:46400047G-A G A
+22 46400334 22:46400334G-A G A
+22 46400752 22:46400752C-T C T
+22 46400756 22:46400756C-T C T
+22 46400764 22:46400764G-A G A
+22 46400958 22:46400958C-T C T
+22 46401177 22:46401177T-C T C
+22 46401381 22:46401381G-A G A
+22 46401657 22:46401657G-A G A
+22 46401735 22:46401735A-G A G
+22 46402436 22:46402436T-A T A
+22 46402714 22:46402714A-G A G
+22 46402715 22:46402715G-T G T
+22 46403039 22:46403039G-A G A
+22 46403383 22:46403383C-T C T
+22 46403715 22:46403715G-A G A
+22 46403742 22:46403742C-A C A
+22 46404394 22:46404394G-A G A
+22 46405344 22:46405344T-C T C
+22 46406470 22:46406470C-T C T
+22 46406695 22:46406695A-G A G
+22 46406782 22:46406782C-A C A
+22 46407107 22:46407107C-T C T
+22 46407286 22:46407286A-G A G
+22 46407715 22:46407715T-C T C
+22 46407731 22:46407731G-A G A
+22 46408912 22:46408912G-A G A
+22 46409177 22:46409177C-A C A
+22 46410149 22:46410149A-G A G
+22 46411918 22:46411918C-T C T
+22 46411969 22:46411969G-A G A
+22 46412280 22:46412280T-C T C
+22 46412715 22:46412715T-C T C
+22 46413653 22:46413653T-C T C
+22 46413863 22:46413863C-T C T
+22 46414043 22:46414043G-A G A
+22 46414664 22:46414664A-G A G
+22 46415385 22:46415385G-T G T
+22 46416893 22:46416893T-G T G
+22 46417269 22:46417269A-G A G
+22 46417323 22:46417323C-A C A
+22 46418169 22:46418169T-C T C
+22 46418190 22:46418190G-C G C
+22 46420465 22:46420465T-C T C
+22 46420485 22:46420485T-C T C
+22 46421145 22:46421145T-G T G
+22 46421842 22:46421842G-T G T
+22 46422938 22:46422938T-C T C
+22 46423125 22:46423125T-G T G
+22 46423928 22:46423928G-C G C
+22 46425259 22:46425259C-T C T
+22 46425281 22:46425281C-A C A
+22 46425388 22:46425388T-C T C
+22 46425432 22:46425432C-T C T
+22 46425646 22:46425646T-C T C
+22 46427974 22:46427974G-C G C
+22 46428306 22:46428306T-C T C
+22 46428993 22:46428993G-A G A
+22 46429851 22:46429851G-A G A
+22 46433442 22:46433442G-A G A
+22 46433643 22:46433643C-T C T
+22 46434086 22:46434086C-T C T
+22 46434686 22:46434686A-G A G
+22 46435553 22:46435553T-A T A
+22 46436321 22:46436321C-A C A
+22 46436332 22:46436332T-C T C
+22 46436973 22:46436973T-A T A
+22 46437356 22:46437356A-T A T
+22 46438246 22:46438246G-A G A
+22 46438611 22:46438611T-C T C
+22 46438873 22:46438873C-G C G
+22 46439137 22:46439137A-T A T
+22 46439433 22:46439433T-C T C
+22 46439977 22:46439977C-T C T
+22 46440007 22:46440007T-G T G
+22 46440273 22:46440273A-G A G
+22 46440359 22:46440359C-G C G
+22 46440605 22:46440605T-C T C
+22 46441910 22:46441910C-T C T
+22 46441980 22:46441980C-T C T
+22 46442288 22:46442288G-C G C
+22 46443040 22:46443040T-C T C
+22 46443345 22:46443345C-T C T
+22 46443789 22:46443789T-C T C
+22 46443835 22:46443835C-T C T
+22 46444452 22:46444452T-A T A
+22 46444678 22:46444678A-T A T
+22 46444857 22:46444857G-A G A
+22 46445002 22:46445002C-G C G
+22 46445115 22:46445115G-T G T
+22 46446563 22:46446563G-A G A
+22 46446754 22:46446754T-G T G
+22 46446758 22:46446758A-G A G
+22 46447097 22:46447097C-T C T
+22 46447132 22:46447132C-G C G
+22 46447714 22:46447714T-C T C
+22 46448476 22:46448476A-G A G
+22 46448819 22:46448819A-G A G
+22 46449891 22:46449891G-A G A
+22 46450297 22:46450297C-T C T
+22 46451288 22:46451288G-A G A
+22 46451813 22:46451813C-T C T
+22 46453712 22:46453712C-A C A
+22 46454208 22:46454208G-A G A
+22 46454712 22:46454712G-A G A
+22 46454792 22:46454792T-C T C
+22 46455794 22:46455794A-G A G
+22 46456603 22:46456603C-T C T
+22 46456963 22:46456963G-T G T
+22 46458123 22:46458123T-G T G
+22 46458617 22:46458617A-T A T
+22 46459132 22:46459132G-T G T
+22 46459189 22:46459189G-A G A
+22 46462517 22:46462517T-A T A
+22 46463431 22:46463431T-C T C
+22 46469639 22:46469639G-C G C
+22 46473845 22:46473845C-A C A
+22 46474200 22:46474200A-C A C
+22 46474523 22:46474523A-C A C
+22 46474527 22:46474527C-T C T
+22 46475465 22:46475465T-C T C
+22 46475878 22:46475878G-A G A
+22 46477390 22:46477390C-G C G
+22 46477858 22:46477858C-T C T
+22 46478195 22:46478195A-G A G
+22 46480602 22:46480602C-T C T
+22 46481623 22:46481623G-A G A
+22 46481985 22:46481985T-C T C
+22 46482948 22:46482948T-C T C
+22 46484465 22:46484465A-G A G
+22 46484735 22:46484735A-G A G
+22 46484973 22:46484973T-C T C
+22 46486508 22:46486508T-C T C
+22 46486786 22:46486786C-T C T
+22 46487011 22:46487011G-A G A
+22 46487216 22:46487216G-A G A
+22 46487511 22:46487511T-C T C
+22 46487528 22:46487528A-T A T
+22 46487902 22:46487902A-G A G
+22 46488533 22:46488533G-A G A
+22 46490352 22:46490352G-A G A
+22 46490731 22:46490731C-G C G
+22 46490802 22:46490802G-T G T
+22 46490826 22:46490826A-G A G
+22 46491011 22:46491011G-C G C
+22 46491961 22:46491961T-C T C
+22 46492046 22:46492046G-C G C
+22 46492437 22:46492437G-A G A
+22 46492586 22:46492586A-G A G
+22 46492730 22:46492730A-G A G
+22 46493470 22:46493470T-C T C
+22 46493852 22:46493852C-T C T
+22 46494039 22:46494039A-G A G
+22 46494151 22:46494151C-T C T
+22 46494656 22:46494656C-T C T
+22 46494682 22:46494682G-A G A
+22 46496366 22:46496366C-T C T
+22 46497890 22:46497890C-A C A
+22 46498480 22:46498480T-C T C
+22 46499120 22:46499120G-C G C
+22 46499316 22:46499316C-T C T
+22 46499434 22:46499434A-G A G
+22 46499798 22:46499798C-T C T
+22 46499882 22:46499882G-A G A
+22 46500164 22:46500164G-C G C
+22 46500973 22:46500973T-C T C
+22 46501355 22:46501355G-T G T
+22 46502305 22:46502305T-C T C
+22 46502472 22:46502472A-G A G
+22 46502723 22:46502723A-G A G
+22 46502870 22:46502870C-T C T
+22 46503768 22:46503768C-A C A
+22 46504167 22:46504167C-T C T
+22 46505337 22:46505337G-A G A
+22 46506409 22:46506409G-A G A
+22 46506497 22:46506497C-G C G
+22 46507670 22:46507670T-C T C
+22 46507936 22:46507936A-C A C
+22 46508010 22:46508010G-A G A
+22 46508050 22:46508050A-G A G
+22 46508094 22:46508094G-A G A
+22 46508452 22:46508452G-A G A
+22 46508765 22:46508765C-G C G
+22 46509112 22:46509112G-A G A
+22 46509183 22:46509183C-T C T
+22 46509979 22:46509979G-A G A
+22 46510195 22:46510195G-A G A
+22 46510954 22:46510954C-T C T
+22 46513376 22:46513376G-A G A
+22 46515210 22:46515210T-C T C
+22 46515448 22:46515448C-G C G
+22 46515449 22:46515449G-A G A
+22 46515494 22:46515494C-G C G
+22 46515716 22:46515716T-C T C
+22 46515736 22:46515736G-C G C
+22 46515834 22:46515834C-T C T
+22 46516055 22:46516055C-T C T
+22 46516131 22:46516131C-T C T
+22 46516138 22:46516138C-T C T
+22 46516140 22:46516140A-G A G
+22 46516624 22:46516624G-A G A
+22 46516766 22:46516766A-T A T
+22 46517293 22:46517293G-A G A
+22 46518082 22:46518082T-C T C
+22 46518189 22:46518189T-C T C
+22 46518260 22:46518260T-G T G
+22 46518278 22:46518278C-G C G
+22 46518858 22:46518858C-G C G
+22 46519102 22:46519102C-T C T
+22 46520176 22:46520176C-T C T
+22 46520949 22:46520949G-A G A
+22 46520955 22:46520955A-G A G
+22 46521225 22:46521225T-C T C
+22 46521999 22:46521999A-G A G
+22 46522683 22:46522683A-G A G
+22 46523710 22:46523710A-G A G
+22 46525178 22:46525178C-T C T
+22 46525357 22:46525357T-C T C
+22 46525414 22:46525414G-T G T
+22 46525794 22:46525794T-C T C
+22 46525900 22:46525900A-G A G
+22 46525916 22:46525916A-G A G
+22 46525922 22:46525922C-A C A
+22 46526295 22:46526295G-A G A
+22 46526464 22:46526464C-G C G
+22 46526528 22:46526528G-A G A
+22 46526617 22:46526617G-A G A
+22 46526639 22:46526639C-T C T
+22 46526850 22:46526850T-C T C
+22 46527010 22:46527010A-C A C
+22 46527239 22:46527239G-A G A
+22 46527242 22:46527242G-T G T
+22 46527955 22:46527955G-A G A
+22 46529208 22:46529208G-A G A
+22 46529729 22:46529729A-G A G
+22 46530342 22:46530342C-G C G
+22 46530657 22:46530657G-A G A
+22 46532333 22:46532333C-T C T
+22 46532781 22:46532781G-A G A
+22 46534046 22:46534046A-G A G
+22 46534187 22:46534187A-T A T
+22 46534601 22:46534601A-C A C
+22 46534634 22:46534634G-A G A
+22 46535934 22:46535934A-G A G
+22 46536017 22:46536017C-T C T
+22 46539636 22:46539636T-C T C
+22 46539639 22:46539639A-G A G
+22 46539655 22:46539655C-T C T
+22 46541227 22:46541227G-A G A
+22 46543485 22:46543485C-T C T
+22 46544914 22:46544914T-A T A
+22 46550106 22:46550106A-G A G
+22 46550315 22:46550315C-G C G
+22 46552719 22:46552719T-A T A
+22 46552743 22:46552743C-T C T
+22 46552815 22:46552815C-T C T
+22 46553021 22:46553021A-G A G
+22 46553234 22:46553234C-T C T
+22 46553308 22:46553308C-T C T
+22 46553503 22:46553503G-A G A
+22 46553650 22:46553650G-C G C
+22 46554042 22:46554042T-C T C
+22 46555321 22:46555321T-C T C
+22 46556037 22:46556037C-T C T
+22 46556366 22:46556366T-G T G
+22 46556612 22:46556612A-T A T
+22 46557161 22:46557161G-A G A
+22 46559267 22:46559267C-A C A
+22 46560011 22:46560011A-G A G
+22 46560261 22:46560261A-C A C
+22 46561135 22:46561135A-G A G
+22 46561274 22:46561274A-C A C
+22 46561566 22:46561566G-A G A
+22 46561713 22:46561713A-G A G
+22 46562173 22:46562173T-G T G
+22 46562183 22:46562183T-C T C
+22 46564135 22:46564135T-C T C
+22 46564628 22:46564628G-C G C
+22 46567388 22:46567388A-G A G
+22 46568318 22:46568318C-G C G
+22 46570969 22:46570969C-T C T
+22 46576036 22:46576036T-C T C
+22 46576897 22:46576897C-T C T
+22 46577210 22:46577210G-T G T
+22 46577480 22:46577480A-T A T
+22 46579365 22:46579365T-G T G
+22 46579600 22:46579600T-C T C
+22 46580923 22:46580923A-G A G
+22 46582741 22:46582741G-A G A
+22 46582838 22:46582838G-A G A
+22 46584299 22:46584299C-A C A
+22 46584984 22:46584984A-G A G
+22 46585440 22:46585440T-C T C
+22 46586110 22:46586110G-A G A
+22 46586981 22:46586981T-C T C
+22 46590278 22:46590278A-G A G
+22 46591554 22:46591554A-G A G
+22 46591725 22:46591725G-A G A
+22 46591752 22:46591752A-G A G
+22 46591845 22:46591845G-A G A
+22 46592168 22:46592168T-C T C
+22 46592822 22:46592822G-C G C
+22 46593104 22:46593104A-G A G
+22 46593236 22:46593236T-C T C
+22 46593336 22:46593336A-T A T
+22 46593911 22:46593911G-A G A
+22 46593935 22:46593935T-C T C
+22 46593936 22:46593936G-A G A
+22 46594003 22:46594003C-T C T
+22 46594750 22:46594750G-T G T
+22 46595033 22:46595033G-A G A
+22 46595035 22:46595035A-G A G
+22 46595546 22:46595546A-T A T
+22 46598307 22:46598307A-G A G
+22 46598631 22:46598631T-C T C
+22 46604397 22:46604397A-G A G
+22 46604855 22:46604855G-A G A
+22 46605104 22:46605104A-G A G
+22 46605190 22:46605190T-C T C
+22 46606043 22:46606043C-T C T
+22 46606394 22:46606394C-T C T
+22 46607378 22:46607378A-G A G
+22 46607707 22:46607707C-T C T
+22 46608235 22:46608235T-C T C
+22 46608750 22:46608750G-A G A
+22 46608888 22:46608888T-A T A
+22 46608918 22:46608918T-A T A
+22 46609572 22:46609572C-T C T
+22 46610067 22:46610067G-A G A
+22 46610409 22:46610409A-G A G
+22 46611435 22:46611435T-G T G
+22 46612672 22:46612672T-C T C
+22 46613237 22:46613237T-A T A
+22 46613798 22:46613798G-A G A
+22 46613852 22:46613852T-C T C
+22 46613980 22:46613980A-G A G
+22 46614274 22:46614274C-G C G
+22 46615144 22:46615144G-A G A
+22 46615376 22:46615376G-A G A
+22 46616732 22:46616732T-C T C
+22 46619419 22:46619419A-G A G
+22 46619870 22:46619870T-G T G
+22 46620416 22:46620416G-C G C
+22 46621045 22:46621045A-G A G
+22 46621994 22:46621994T-C T C
+22 46622384 22:46622384T-G T G
+22 46622566 22:46622566A-G A G
+22 46622600 22:46622600T-C T C
+22 46622888 22:46622888C-T C T
+22 46623905 22:46623905C-T C T
+22 46626432 22:46626432C-T C T
+22 46626506 22:46626506G-A G A
+22 46627240 22:46627240C-A C A
+22 46627603 22:46627603C-T C T
+22 46629479 22:46629479A-G A G
+22 46630544 22:46630544C-A C A
+22 46630634 22:46630634G-C G C
+22 46632994 22:46632994G-A G A
+22 46633371 22:46633371A-T A T
+22 46633782 22:46633782G-A G A
+22 46636930 22:46636930C-T C T
+22 46636976 22:46636976G-A G A
+22 46637239 22:46637239T-C T C
+22 46637254 22:46637254G-A G A
+22 46637272 22:46637272T-C T C
+22 46637511 22:46637511G-A G A
+22 46638117 22:46638117G-A G A
+22 46638128 22:46638128C-G C G
+22 46638159 22:46638159C-A C A
+22 46638171 22:46638171G-A G A
+22 46638211 22:46638211G-A G A
+22 46638216 22:46638216C-G C G
+22 46638298 22:46638298C-T C T
+22 46638312 22:46638312A-G A G
+22 46638365 22:46638365A-G A G
+22 46638486 22:46638486C-T C T
+22 46638540 22:46638540A-G A G
+22 46638670 22:46638670C-A C A
+22 46639386 22:46639386G-A G A
+22 46639457 22:46639457A-T A T
+22 46639462 22:46639462A-T A T
+22 46640179 22:46640179A-G A G
+22 46641519 22:46641519G-A G A
+22 46641525 22:46641525G-T G T
+22 46641597 22:46641597C-T C T
+22 46641904 22:46641904C-T C T
+22 46642725 22:46642725C-A C A
+22 46642828 22:46642828G-A G A
+22 46643023 22:46643023A-C A C
+22 46643432 22:46643432C-G C G
+22 46643529 22:46643529A-C A C
+22 46643741 22:46643741G-A G A
+22 46643774 22:46643774G-T G T
+22 46643964 22:46643964T-C T C
+22 46643984 22:46643984A-C A C
+22 46644168 22:46644168A-G A G
+22 46644177 22:46644177G-A G A
+22 46644436 22:46644436C-G C G
+22 46644640 22:46644640A-G A G
+22 46645148 22:46645148G-A G A
+22 46646019 22:46646019C-G C G
+22 46646063 22:46646063C-A C A
+22 46646162 22:46646162C-A C A
+22 46646609 22:46646609T-C T C
+22 46646988 22:46646988A-G A G
+22 46647429 22:46647429G-T G T
+22 46647844 22:46647844G-A G A
+22 46647909 22:46647909A-G A G
+22 46649344 22:46649344G-A G A
+22 46649421 22:46649421C-A C A
+22 46649587 22:46649587C-T C T
+22 46650100 22:46650100C-T C T
+22 46650846 22:46650846C-T C T
+22 46650858 22:46650858A-C A C
+22 46650959 22:46650959G-A G A
+22 46651366 22:46651366G-A G A
+22 46651367 22:46651367A-G A G
+22 46651623 22:46651623T-C T C
+22 46651713 22:46651713T-C T C
+22 46651982 22:46651982A-G A G
+22 46652104 22:46652104T-G T G
+22 46652303 22:46652303A-T A T
+22 46652372 22:46652372G-A G A
+22 46652737 22:46652737G-A G A
+22 46652929 22:46652929G-A G A
+22 46652959 22:46652959A-G A G
+22 46654323 22:46654323G-A G A
+22 46655779 22:46655779G-C G C
+22 46655948 22:46655948T-C T C
+22 46656246 22:46656246T-G T G
+22 46656479 22:46656479A-G A G
+22 46656511 22:46656511A-G A G
+22 46656607 22:46656607G-A G A
+22 46656805 22:46656805G-A G A
+22 46657261 22:46657261A-G A G
+22 46657798 22:46657798A-G A G
+22 46659186 22:46659186C-A C A
+22 46659942 22:46659942G-C G C
+22 46660014 22:46660014T-C T C
+22 46660170 22:46660170G-A G A
+22 46660367 22:46660367G-A G A
+22 46662497 22:46662497A-G A G
+22 46663017 22:46663017A-G A G
+22 46663678 22:46663678G-C G C
+22 46664741 22:46664741T-C T C
+22 46665006 22:46665006A-G A G
+22 46666575 22:46666575T-C T C
+22 46668515 22:46668515T-A T A
+22 46670394 22:46670394T-C T C
+22 46670720 22:46670720G-C G C
+22 46671507 22:46671507C-T C T
+22 46672962 22:46672962A-T A T
+22 46674639 22:46674639G-A G A
+22 46677298 22:46677298G-A G A
+22 46678615 22:46678615A-C A C
+22 46679619 22:46679619C-T C T
+22 46680067 22:46680067T-C T C
+22 46680696 22:46680696G-A G A
+22 46682310 22:46682310C-G C G
+22 46682955 22:46682955C-T C T
+22 46682976 22:46682976C-T C T
+22 46684528 22:46684528C-T C T
+22 46684558 22:46684558T-C T C
+22 46684678 22:46684678A-G A G
+22 46684706 22:46684706C-G C G
+22 46684890 22:46684890A-G A G
+22 46685131 22:46685131A-G A G
+22 46685274 22:46685274T-C T C
+22 46685380 22:46685380C-T C T
+22 46685514 22:46685514G-A G A
+22 46685563 22:46685563G-A G A
+22 46685963 22:46685963G-A G A
+22 46686115 22:46686115T-G T G
+22 46686328 22:46686328C-G C G
+22 46686792 22:46686792C-G C G
+22 46687212 22:46687212A-G A G
+22 46687460 22:46687460T-G T G
+22 46687681 22:46687681G-C G C
+22 46689065 22:46689065T-C T C
+22 46689468 22:46689468G-A G A
+22 46690005 22:46690005C-T C T
+22 46690321 22:46690321T-C T C
+22 46690824 22:46690824C-G C G
+22 46691936 22:46691936A-G A G
+22 46692239 22:46692239G-C G C
+22 46695168 22:46695168G-T G T
+22 46700742 22:46700742T-G T G
+22 46701991 22:46701991A-G A G
+22 46702449 22:46702449T-C T C
+22 46702554 22:46702554T-G T G
+22 46702586 22:46702586C-T C T
+22 46703504 22:46703504G-A G A
+22 46703664 22:46703664T-C T C
+22 46703776 22:46703776C-T C T
+22 46703860 22:46703860A-T A T
+22 46703904 22:46703904A-C A C
+22 46704243 22:46704243C-T C T
+22 46704676 22:46704676A-G A G
+22 46704916 22:46704916C-G C G
+22 46705326 22:46705326C-G C G
+22 46705407 22:46705407C-T C T
+22 46705420 22:46705420C-T C T
+22 46705584 22:46705584A-G A G
+22 46706249 22:46706249C-T C T
+22 46707110 22:46707110G-A G A
+22 46707187 22:46707187C-T C T
+22 46707907 22:46707907G-A G A
+22 46707924 22:46707924G-T G T
+22 46707928 22:46707928G-A G A
+22 46707954 22:46707954A-G A G
+22 46708307 22:46708307T-C T C
+22 46709155 22:46709155G-A G A
+22 46709881 22:46709881G-A G A
+22 46710024 22:46710024G-A G A
+22 46710156 22:46710156A-G A G
+22 46710693 22:46710693A-C A C
+22 46711065 22:46711065C-T C T
+22 46711323 22:46711323C-T C T
+22 46711336 22:46711336T-C T C
+22 46712077 22:46712077C-T C T
+22 46713019 22:46713019C-T C T
+22 46713631 22:46713631C-T C T
+22 46713917 22:46713917G-A G A
+22 46714664 22:46714664C-T C T
+22 46714735 22:46714735A-G A G
+22 46716603 22:46716603T-C T C
+22 46717565 22:46717565T-G T G
+22 46717825 22:46717825T-G T G
+22 46718417 22:46718417A-T A T
+22 46719054 22:46719054T-C T C
+22 46719100 22:46719100C-G C G
+22 46719597 22:46719597C-A C A
+22 46719790 22:46719790C-T C T
+22 46720921 22:46720921G-A G A
+22 46721088 22:46721088C-T C T
+22 46721223 22:46721223G-A G A
+22 46722075 22:46722075T-C T C
+22 46722194 22:46722194G-A G A
+22 46722256 22:46722256A-G A G
+22 46722531 22:46722531C-T C T
+22 46722560 22:46722560C-T C T
+22 46722758 22:46722758G-C G C
+22 46723373 22:46723373A-G A G
+22 46727428 22:46727428C-G C G
+22 46727612 22:46727612T-C T C
+22 46727875 22:46727875A-C A C
+22 46728056 22:46728056C-A C A
+22 46728153 22:46728153A-G A G
+22 46729338 22:46729338C-G C G
+22 46729813 22:46729813T-C T C
+22 46730019 22:46730019A-T A T
+22 46730127 22:46730127C-T C T
+22 46730153 22:46730153A-G A G
+22 46730486 22:46730486T-A T A
+22 46731024 22:46731024C-G C G
+22 46731689 22:46731689G-T G T
+22 46731771 22:46731771G-C G C
+22 46731791 22:46731791G-A G A
+22 46732418 22:46732418T-G T G
+22 46733118 22:46733118T-G T G
+22 46736228 22:46736228T-C T C
+22 46737796 22:46737796T-C T C
+22 46741974 22:46741974C-G C G
+22 46743931 22:46743931A-G A G
+22 46746419 22:46746419C-A C A
+22 46746837 22:46746837C-T C T
+22 46748310 22:46748310T-C T C
+22 46749634 22:46749634C-T C T
+22 46751122 22:46751122T-C T C
+22 46752080 22:46752080G-C G C
+22 46752307 22:46752307G-A G A
+22 46753179 22:46753179G-A G A
+22 46754177 22:46754177C-G C G
+22 46754993 22:46754993T-C T C
+22 46755298 22:46755298C-G C G
+22 46756833 22:46756833C-T C T
+22 46758573 22:46758573G-T G T
+22 46759639 22:46759639T-C T C
+22 46759674 22:46759674G-A G A
+22 46760086 22:46760086C-T C T
+22 46760481 22:46760481C-G C G
+22 46760665 22:46760665C-T C T
+22 46760923 22:46760923G-A G A
+22 46761374 22:46761374G-A G A
+22 46761497 22:46761497C-G C G
+22 46762266 22:46762266C-T C T
+22 46763233 22:46763233G-A G A
+22 46763490 22:46763490A-G A G
+22 46763578 22:46763578T-C T C
+22 46763757 22:46763757G-A G A
+22 46763821 22:46763821A-G A G
+22 46763846 22:46763846C-T C T
+22 46764108 22:46764108A-G A G
+22 46764146 22:46764146A-G A G
+22 46764173 22:46764173C-A C A
+22 46764277 22:46764277C-T C T
+22 46764299 22:46764299A-G A G
+22 46765025 22:46765025G-A G A
+22 46765823 22:46765823G-C G C
+22 46765878 22:46765878G-A G A
+22 46766596 22:46766596G-C G C
+22 46767377 22:46767377A-T A T
+22 46767841 22:46767841G-T G T
+22 46768114 22:46768114T-C T C
+22 46768633 22:46768633G-A G A
+22 46769005 22:46769005T-C T C
+22 46770174 22:46770174G-A G A
+22 46770720 22:46770720A-G A G
+22 46771270 22:46771270C-T C T
+22 46771413 22:46771413C-T C T
+22 46771677 22:46771677A-C A C
+22 46771921 22:46771921T-C T C
+22 46771922 22:46771922G-A G A
+22 46772666 22:46772666C-T C T
+22 46773396 22:46773396C-T C T
+22 46773592 22:46773592C-G C G
+22 46773659 22:46773659T-G T G
+22 46774317 22:46774317T-C T C
+22 46774446 22:46774446C-G C G
+22 46774673 22:46774673T-C T C
+22 46774991 22:46774991T-C T C
+22 46775592 22:46775592C-T C T
+22 46775593 22:46775593A-G A G
+22 46776037 22:46776037G-A G A
+22 46776044 22:46776044A-T A T
+22 46776236 22:46776236A-G A G
+22 46777287 22:46777287A-G A G
+22 46777413 22:46777413T-C T C
+22 46777502 22:46777502C-G C G
+22 46777892 22:46777892C-T C T
+22 46778323 22:46778323C-T C T
+22 46778464 22:46778464C-T C T
+22 46778497 22:46778497T-C T C
+22 46778566 22:46778566G-T G T
+22 46778569 22:46778569T-C T C
+22 46778643 22:46778643G-A G A
+22 46778663 22:46778663G-A G A
+22 46778848 22:46778848G-C G C
+22 46779337 22:46779337T-C T C
+22 46779437 22:46779437C-G C G
+22 46780385 22:46780385C-T C T
+22 46780521 22:46780521T-C T C
+22 46780621 22:46780621G-C G C
+22 46780673 22:46780673C-T C T
+22 46780785 22:46780785C-G C G
+22 46780842 22:46780842C-T C T
+22 46780957 22:46780957G-A G A
+22 46780986 22:46780986G-A G A
+22 46781008 22:46781008T-C T C
+22 46781324 22:46781324A-G A G
+22 46781362 22:46781362G-T G T
+22 46781431 22:46781431C-A C A
+22 46781441 22:46781441C-A C A
+22 46781498 22:46781498G-A G A
+22 46781556 22:46781556G-A G A
+22 46781675 22:46781675C-T C T
+22 46781764 22:46781764C-T C T
+22 46782106 22:46782106G-A G A
+22 46782206 22:46782206G-A G A
+22 46782249 22:46782249A-G A G
+22 46782382 22:46782382C-T C T
+22 46782681 22:46782681G-A G A
+22 46782945 22:46782945A-G A G
+22 46782999 22:46782999A-G A G
+22 46783061 22:46783061C-T C T
+22 46783093 22:46783093C-T C T
+22 46783103 22:46783103T-C T C
+22 46783201 22:46783201T-C T C
+22 46783415 22:46783415A-G A G
+22 46783900 22:46783900A-C A C
+22 46784177 22:46784177T-C T C
+22 46784545 22:46784545C-T C T
+22 46784750 22:46784750A-G A G
+22 46785131 22:46785131C-T C T
+22 46785301 22:46785301C-T C T
+22 46786315 22:46786315T-C T C
+22 46786808 22:46786808C-A C A
+22 46787434 22:46787434C-T C T
+22 46787694 22:46787694A-G A G
+22 46787697 22:46787697A-G A G
+22 46787832 22:46787832A-G A G
+22 46788095 22:46788095A-G A G
+22 46788781 22:46788781G-A G A
+22 46789021 22:46789021G-T G T
+22 46789701 22:46789701T-G T G
+22 46789709 22:46789709C-G C G
+22 46790029 22:46790029G-T G T
+22 46791143 22:46791143A-T A T
+22 46791430 22:46791430G-T G T
+22 46791452 22:46791452C-T C T
+22 46791884 22:46791884C-T C T
+22 46792260 22:46792260G-A G A
+22 46792689 22:46792689C-A C A
+22 46793314 22:46793314G-A G A
+22 46793327 22:46793327A-C A C
+22 46793428 22:46793428G-A G A
+22 46793479 22:46793479G-A G A
+22 46794475 22:46794475T-C T C
+22 46795141 22:46795141C-A C A
+22 46795523 22:46795523T-C T C
+22 46796095 22:46796095T-C T C
+22 46796503 22:46796503A-C A C
+22 46797215 22:46797215G-C G C
+22 46797331 22:46797331A-G A G
+22 46797503 22:46797503G-A G A
+22 46797606 22:46797606G-T G T
+22 46798794 22:46798794C-T C T
+22 46800139 22:46800139T-C T C
+22 46800363 22:46800363G-C G C
+22 46802901 22:46802901G-A G A
+22 46803374 22:46803374G-A G A
+22 46803469 22:46803469C-A C A
+22 46803774 22:46803774A-T A T
+22 46804154 22:46804154G-A G A
+22 46804519 22:46804519A-G A G
+22 46805007 22:46805007G-A G A
+22 46805972 22:46805972C-T C T
+22 46806005 22:46806005C-T C T
+22 46806957 22:46806957G-A G A
+22 46807200 22:46807200C-T C T
+22 46807234 22:46807234T-C T C
+22 46807258 22:46807258G-A G A
+22 46807260 22:46807260T-C T C
+22 46807439 22:46807439C-T C T
+22 46807698 22:46807698A-G A G
+22 46808072 22:46808072G-A G A
+22 46808316 22:46808316A-G A G
+22 46809802 22:46809802T-G T G
+22 46809821 22:46809821A-G A G
+22 46810542 22:46810542T-C T C
+22 46811567 22:46811567C-T C T
+22 46811926 22:46811926T-C T C
+22 46812277 22:46812277C-G C G
+22 46812289 22:46812289T-C T C
+22 46812585 22:46812585G-A G A
+22 46812606 22:46812606A-T A T
+22 46812628 22:46812628C-T C T
+22 46812732 22:46812732C-T C T
+22 46813336 22:46813336C-T C T
+22 46813435 22:46813435A-G A G
+22 46813440 22:46813440G-C G C
+22 46813718 22:46813718C-A C A
+22 46814188 22:46814188G-A G A
+22 46814671 22:46814671C-T C T
+22 46815073 22:46815073C-T C T
+22 46815220 22:46815220G-A G A
+22 46815928 22:46815928G-C G C
+22 46816052 22:46816052C-T C T
+22 46816097 22:46816097A-G A G
+22 46816858 22:46816858C-G C G
+22 46816881 22:46816881G-A G A
+22 46817191 22:46817191G-A G A
+22 46817373 22:46817373A-G A G
+22 46817423 22:46817423T-C T C
+22 46817565 22:46817565A-G A G
+22 46818066 22:46818066G-A G A
+22 46818129 22:46818129A-G A G
+22 46818256 22:46818256C-T C T
+22 46818442 22:46818442C-T C T
+22 46818527 22:46818527G-A G A
+22 46819339 22:46819339C-A C A
+22 46820152 22:46820152A-G A G
+22 46821039 22:46821039G-A G A
+22 46822286 22:46822286G-A G A
+22 46823222 22:46823222C-G C G
+22 46823303 22:46823303G-A G A
+22 46823308 22:46823308C-T C T
+22 46823910 22:46823910C-T C T
+22 46823952 22:46823952C-T C T
+22 46824326 22:46824326C-G C G
+22 46825043 22:46825043T-C T C
+22 46825696 22:46825696C-G C G
+22 46826027 22:46826027C-G C G
+22 46826208 22:46826208G-T G T
+22 46826299 22:46826299T-C T C
+22 46827038 22:46827038G-T G T
+22 46827609 22:46827609G-A G A
+22 46827982 22:46827982G-A G A
+22 46828205 22:46828205T-C T C
+22 46828327 22:46828327T-C T C
+22 46828354 22:46828354C-G C G
+22 46828986 22:46828986C-T C T
+22 46830458 22:46830458A-C A C
+22 46830530 22:46830530G-A G A
+22 46831308 22:46831308G-A G A
+22 46831590 22:46831590A-G A G
+22 46831847 22:46831847C-T C T
+22 46831965 22:46831965T-G T G
+22 46832001 22:46832001G-A G A
+22 46832981 22:46832981T-A T A
+22 46833060 22:46833060A-G A G
+22 46833352 22:46833352G-T G T
+22 46835338 22:46835338G-A G A
+22 46835558 22:46835558C-T C T
+22 46836587 22:46836587C-T C T
+22 46836592 22:46836592C-T C T
+22 46837114 22:46837114A-G A G
+22 46837258 22:46837258G-T G T
+22 46837508 22:46837508C-T C T
+22 46837893 22:46837893A-G A G
+22 46838154 22:46838154T-C T C
+22 46838212 22:46838212T-C T C
+22 46838445 22:46838445G-A G A
+22 46838759 22:46838759C-T C T
+22 46839334 22:46839334G-C G C
+22 46839381 22:46839381C-T C T
+22 46839400 22:46839400T-C T C
+22 46839583 22:46839583C-T C T
+22 46839627 22:46839627A-G A G
+22 46840290 22:46840290C-A C A
+22 46840901 22:46840901G-C G C
+22 46841063 22:46841063A-G A G
+22 46842022 22:46842022C-T C T
+22 46842637 22:46842637G-C G C
+22 46843784 22:46843784T-C T C
+22 46843798 22:46843798C-T C T
+22 46843801 22:46843801G-A G A
+22 46843918 22:46843918T-C T C
+22 46845476 22:46845476G-A G A
+22 46845600 22:46845600T-C T C
+22 46846881 22:46846881T-C T C
+22 46846911 22:46846911A-G A G
+22 46847263 22:46847263A-G A G
+22 46847467 22:46847467A-G A G
+22 46847579 22:46847579T-C T C
+22 46847773 22:46847773G-A G A
+22 46848022 22:46848022G-A G A
+22 46848651 22:46848651A-G A G
+22 46848819 22:46848819T-G T G
+22 46849169 22:46849169A-G A G
+22 46849643 22:46849643A-G A G
+22 46850530 22:46850530C-T C T
+22 46851086 22:46851086C-T C T
+22 46851246 22:46851246T-C T C
+22 46851319 22:46851319G-A G A
+22 46851714 22:46851714A-G A G
+22 46851853 22:46851853C-G C G
+22 46852372 22:46852372A-T A T
+22 46852430 22:46852430G-T G T
+22 46852930 22:46852930A-C A C
+22 46853102 22:46853102A-C A C
+22 46853292 22:46853292T-C T C
+22 46853321 22:46853321G-A G A
+22 46853482 22:46853482G-A G A
+22 46853588 22:46853588A-G A G
+22 46854234 22:46854234T-C T C
+22 46854398 22:46854398A-G A G
+22 46854845 22:46854845A-G A G
+22 46854935 22:46854935G-T G T
+22 46854986 22:46854986C-T C T
+22 46855322 22:46855322A-G A G
+22 46856203 22:46856203C-A C A
+22 46856344 22:46856344G-C G C
+22 46856483 22:46856483G-A G A
+22 46856642 22:46856642G-A G A
+22 46856665 22:46856665C-T C T
+22 46856806 22:46856806T-A T A
+22 46856846 22:46856846G-A G A
+22 46856927 22:46856927T-C T C
+22 46857316 22:46857316A-C A C
+22 46857403 22:46857403G-A G A
+22 46857486 22:46857486T-G T G
+22 46857558 22:46857558A-G A G
+22 46857705 22:46857705G-A G A
+22 46857742 22:46857742A-G A G
+22 46857853 22:46857853A-G A G
+22 46857911 22:46857911G-A G A
+22 46858083 22:46858083G-T G T
+22 46858342 22:46858342C-A C A
+22 46858687 22:46858687G-A G A
+22 46859003 22:46859003G-C G C
+22 46859075 22:46859075T-G T G
+22 46859137 22:46859137A-G A G
+22 46859163 22:46859163T-A T A
+22 46859305 22:46859305C-T C T
+22 46860316 22:46860316G-T G T
+22 46861091 22:46861091C-T C T
+22 46862512 22:46862512G-A G A
+22 46862892 22:46862892T-C T C
+22 46862943 22:46862943G-A G A
+22 46863319 22:46863319C-T C T
+22 46863378 22:46863378G-A G A
+22 46863446 22:46863446G-A G A
+22 46863697 22:46863697C-T C T
+22 46863773 22:46863773T-C T C
+22 46863791 22:46863791C-G C G
+22 46863883 22:46863883T-C T C
+22 46863995 22:46863995T-C T C
+22 46864002 22:46864002T-C T C
+22 46864043 22:46864043G-A G A
+22 46864095 22:46864095C-T C T
+22 46864176 22:46864176G-A G A
+22 46864465 22:46864465G-A G A
+22 46864823 22:46864823G-A G A
+22 46864977 22:46864977T-C T C
+22 46865138 22:46865138C-T C T
+22 46865410 22:46865410G-T G T
+22 46865431 22:46865431G-C G C
+22 46865542 22:46865542A-G A G
+22 46865703 22:46865703A-G A G
+22 46865801 22:46865801T-C T C
+22 46866071 22:46866071G-A G A
+22 46866461 22:46866461C-T C T
+22 46868281 22:46868281C-T C T
+22 46868663 22:46868663T-C T C
+22 46868691 22:46868691G-C G C
+22 46869013 22:46869013C-T C T
+22 46869059 22:46869059G-T G T
+22 46869170 22:46869170G-A G A
+22 46869411 22:46869411G-A G A
+22 46869457 22:46869457G-A G A
+22 46870330 22:46870330C-G C G
+22 46870344 22:46870344G-A G A
+22 46871094 22:46871094G-A G A
+22 46871112 22:46871112G-A G A
+22 46871261 22:46871261G-A G A
+22 46871654 22:46871654A-C A C
+22 46871658 22:46871658T-C T C
+22 46871772 22:46871772A-C A C
+22 46872276 22:46872276T-C T C
+22 46872354 22:46872354G-A G A
+22 46872419 22:46872419G-A G A
+22 46872681 22:46872681A-G A G
+22 46872748 22:46872748A-G A G
+22 46873011 22:46873011T-C T C
+22 46873123 22:46873123T-C T C
+22 46873229 22:46873229A-G A G
+22 46873289 22:46873289C-G C G
+22 46873345 22:46873345G-A G A
+22 46873530 22:46873530A-G A G
+22 46874026 22:46874026A-G A G
+22 46874420 22:46874420G-A G A
+22 46874471 22:46874471A-G A G
+22 46874738 22:46874738C-A C A
+22 46875235 22:46875235C-T C T
+22 46875743 22:46875743G-A G A
+22 46875851 22:46875851G-C G C
+22 46876483 22:46876483G-A G A
+22 46876619 22:46876619G-A G A
+22 46877389 22:46877389G-A G A
+22 46878038 22:46878038A-G A G
+22 46878127 22:46878127C-A C A
+22 46878239 22:46878239C-G C G
+22 46878252 22:46878252C-G C G
+22 46878922 22:46878922C-T C T
+22 46879022 22:46879022G-A G A
+22 46879233 22:46879233A-G A G
+22 46879523 22:46879523C-T C T
+22 46879687 22:46879687C-A C A
+22 46880083 22:46880083C-T C T
+22 46880326 22:46880326T-C T C
+22 46881378 22:46881378G-A G A
+22 46881984 22:46881984G-T G T
+22 46882038 22:46882038G-A G A
+22 46882317 22:46882317C-T C T
+22 46882465 22:46882465C-T C T
+22 46882478 22:46882478G-A G A
+22 46882633 22:46882633G-A G A
+22 46882819 22:46882819T-A T A
+22 46882961 22:46882961A-G A G
+22 46883340 22:46883340G-A G A
+22 46883445 22:46883445C-G C G
+22 46883806 22:46883806C-G C G
+22 46883959 22:46883959G-T G T
+22 46884307 22:46884307A-G A G
+22 46884488 22:46884488G-A G A
+22 46885196 22:46885196G-A G A
+22 46885607 22:46885607T-C T C
+22 46885699 22:46885699T-C T C
+22 46885844 22:46885844C-A C A
+22 46885868 22:46885868G-A G A
+22 46885999 22:46885999G-A G A
+22 46886036 22:46886036C-A C A
+22 46886277 22:46886277G-A G A
+22 46886324 22:46886324C-T C T
+22 46886436 22:46886436C-A C A
+22 46886523 22:46886523G-A G A
+22 46886677 22:46886677T-C T C
+22 46886694 22:46886694C-G C G
+22 46887047 22:46887047C-T C T
+22 46887918 22:46887918C-T C T
+22 46888398 22:46888398A-T A T
+22 46888399 22:46888399C-T C T
+22 46888449 22:46888449A-G A G
+22 46888582 22:46888582C-T C T
+22 46888673 22:46888673T-C T C
+22 46888884 22:46888884T-C T C
+22 46888919 22:46888919T-C T C
+22 46889009 22:46889009T-C T C
+22 46889163 22:46889163C-T C T
+22 46889348 22:46889348T-C T C
+22 46889723 22:46889723A-C A C
+22 46890610 22:46890610A-G A G
+22 46890685 22:46890685T-G T G
+22 46890899 22:46890899G-A G A
+22 46891143 22:46891143A-G A G
+22 46891378 22:46891378A-G A G
+22 46891512 22:46891512T-C T C
+22 46891561 22:46891561T-C T C
+22 46891724 22:46891724T-A T A
+22 46891759 22:46891759T-C T C
+22 46891771 22:46891771A-T A T
+22 46891866 22:46891866G-A G A
+22 46891999 22:46891999G-A G A
+22 46892055 22:46892055C-A C A
+22 46892220 22:46892220T-C T C
+22 46892351 22:46892351G-C G C
+22 46892475 22:46892475T-C T C
+22 46893474 22:46893474T-A T A
+22 46894244 22:46894244C-T C T
+22 46894278 22:46894278G-A G A
+22 46894449 22:46894449G-A G A
+22 46894544 22:46894544C-T C T
+22 46895005 22:46895005C-A C A
+22 46895565 22:46895565T-C T C
+22 46895577 22:46895577A-G A G
+22 46896334 22:46896334C-T C T
+22 46896491 22:46896491G-A G A
+22 46896758 22:46896758C-A C A
+22 46896834 22:46896834T-C T C
+22 46897134 22:46897134C-T C T
+22 46897424 22:46897424A-G A G
+22 46897831 22:46897831C-T C T
+22 46897904 22:46897904G-A G A
+22 46898075 22:46898075A-G A G
+22 46898418 22:46898418A-G A G
+22 46898454 22:46898454T-C T C
+22 46898721 22:46898721G-C G C
+22 46898743 22:46898743C-T C T
+22 46898929 22:46898929G-C G C
+22 46899015 22:46899015G-A G A
+22 46899079 22:46899079C-G C G
+22 46899930 22:46899930A-G A G
+22 46899939 22:46899939A-G A G
+22 46900134 22:46900134A-G A G
+22 46900153 22:46900153A-G A G
+22 46900185 22:46900185C-T C T
+22 46900462 22:46900462C-T C T
+22 46900865 22:46900865A-G A G
+22 46901015 22:46901015A-C A C
+22 46901075 22:46901075C-T C T
+22 46901253 22:46901253G-A G A
+22 46901525 22:46901525A-G A G
+22 46901759 22:46901759A-G A G
+22 46902300 22:46902300G-A G A
+22 46902610 22:46902610G-C G C
+22 46902787 22:46902787T-C T C
+22 46902868 22:46902868T-C T C
+22 46902976 22:46902976G-A G A
+22 46903365 22:46903365G-C G C
+22 46903627 22:46903627G-A G A
+22 46904151 22:46904151G-A G A
+22 46904273 22:46904273C-T C T
+22 46904570 22:46904570G-A G A
+22 46904952 22:46904952C-G C G
+22 46905066 22:46905066G-T G T
+22 46905067 22:46905067C-A C A
+22 46905142 22:46905142A-C A C
+22 46905203 22:46905203T-C T C
+22 46905223 22:46905223G-A G A
+22 46905350 22:46905350T-G T G
+22 46905533 22:46905533T-C T C
+22 46905691 22:46905691C-G C G
+22 46905847 22:46905847C-T C T
+22 46905858 22:46905858A-T A T
+22 46905910 22:46905910A-G A G
+22 46906000 22:46906000C-T C T
+22 46906098 22:46906098G-A G A
+22 46906485 22:46906485C-T C T
+22 46906551 22:46906551G-A G A
+22 46906942 22:46906942C-T C T
+22 46907442 22:46907442A-G A G
+22 46907587 22:46907587G-A G A
+22 46907616 22:46907616G-A G A
+22 46907779 22:46907779A-G A G
+22 46907936 22:46907936A-G A G
+22 46908055 22:46908055G-A G A
+22 46909355 22:46909355G-T G T
+22 46909616 22:46909616G-C G C
+22 46909711 22:46909711C-T C T
+22 46909886 22:46909886C-T C T
+22 46910630 22:46910630T-G T G
+22 46910727 22:46910727A-G A G
+22 46911296 22:46911296T-C T C
+22 46911476 22:46911476G-C G C
+22 46911745 22:46911745G-A G A
+22 46913478 22:46913478C-T C T
+22 46913774 22:46913774T-C T C
+22 46914277 22:46914277C-A C A
+22 46914298 22:46914298T-A T A
+22 46914544 22:46914544C-T C T
+22 46915612 22:46915612T-A T A
+22 46915621 22:46915621G-T G T
+22 46916147 22:46916147T-C T C
+22 46916255 22:46916255T-C T C
+22 46916280 22:46916280T-C T C
+22 46916662 22:46916662A-T A T
+22 46916960 22:46916960T-C T C
+22 46917078 22:46917078G-A G A
+22 46917196 22:46917196C-G C G
+22 46917291 22:46917291A-G A G
+22 46917389 22:46917389A-G A G
+22 46918117 22:46918117G-A G A
+22 46918701 22:46918701G-A G A
+22 46918720 22:46918720G-A G A
+22 46918736 22:46918736G-A G A
+22 46919332 22:46919332C-T C T
+22 46919495 22:46919495T-C T C
+22 46919541 22:46919541C-T C T
+22 46919761 22:46919761C-A C A
+22 46919906 22:46919906C-T C T
+22 46920105 22:46920105T-C T C
+22 46920153 22:46920153G-A G A
+22 46920187 22:46920187C-T C T
+22 46920276 22:46920276C-T C T
+22 46920538 22:46920538C-T C T
+22 46920761 22:46920761T-C T C
+22 46920766 22:46920766G-A G A
+22 46920776 22:46920776A-G A G
+22 46921040 22:46921040A-G A G
+22 46921060 22:46921060T-C T C
+22 46921121 22:46921121A-G A G
+22 46921135 22:46921135C-T C T
+22 46921163 22:46921163C-T C T
+22 46921184 22:46921184T-G T G
+22 46921772 22:46921772A-G A G
+22 46921858 22:46921858T-C T C
+22 46922060 22:46922060G-A G A
+22 46922134 22:46922134C-A C A
+22 46922217 22:46922217G-A G A
+22 46922230 22:46922230G-T G T
+22 46922530 22:46922530C-T C T
+22 46922611 22:46922611T-C T C
+22 46923038 22:46923038A-G A G
+22 46923800 22:46923800C-T C T
+22 46923890 22:46923890G-T G T
+22 46923892 22:46923892T-C T C
+22 46924254 22:46924254A-G A G
+22 46924472 22:46924472C-A C A
+22 46924591 22:46924591T-C T C
+22 46924891 22:46924891A-G A G
+22 46925094 22:46925094C-A C A
+22 46925112 22:46925112G-A G A
+22 46925202 22:46925202C-A C A
+22 46925625 22:46925625A-G A G
+22 46925715 22:46925715A-G A G
+22 46926054 22:46926054T-A T A
+22 46926191 22:46926191T-C T C
+22 46926334 22:46926334T-G T G
+22 46926482 22:46926482G-A G A
+22 46926693 22:46926693T-C T C
+22 46926701 22:46926701G-A G A
+22 46926875 22:46926875T-C T C
+22 46926937 22:46926937A-G A G
+22 46926957 22:46926957T-G T G
+22 46927380 22:46927380G-T G T
+22 46927664 22:46927664G-C G C
+22 46927667 22:46927667C-T C T
+22 46928266 22:46928266G-A G A
+22 46929176 22:46929176T-C T C
+22 46929189 22:46929189T-G T G
+22 46929359 22:46929359C-G C G
+22 46929692 22:46929692A-G A G
+22 46930107 22:46930107C-T C T
+22 46931077 22:46931077G-C G C
+22 46931793 22:46931793G-C G C
+22 46931838 22:46931838G-A G A
+22 46934303 22:46934303G-T G T
+22 46934334 22:46934334C-A C A
+22 46934601 22:46934601G-A G A
+22 46934704 22:46934704G-C G C
+22 46934813 22:46934813A-G A G
+22 46935974 22:46935974T-G T G
+22 46936360 22:46936360A-G A G
+22 46936403 22:46936403T-C T C
+22 46936440 22:46936440A-G A G
+22 46936790 22:46936790T-C T C
+22 46937090 22:46937090T-C T C
+22 46938098 22:46938098C-T C T
+22 46938757 22:46938757G-A G A
+22 46939256 22:46939256C-A C A
+22 46939480 22:46939480T-C T C
+22 46939651 22:46939651C-T C T
+22 46939668 22:46939668G-A G A
+22 46939757 22:46939757C-T C T
+22 46940121 22:46940121G-A G A
+22 46940174 22:46940174G-A G A
+22 46940790 22:46940790A-G A G
+22 46941488 22:46941488G-A G A
+22 46941896 22:46941896C-A C A
+22 46941897 22:46941897G-C G C
+22 46942069 22:46942069A-G A G
+22 46943176 22:46943176G-C G C
+22 46943554 22:46943554T-C T C
+22 46943687 22:46943687A-G A G
+22 46943831 22:46943831G-A G A
+22 46944039 22:46944039C-T C T
+22 46944942 22:46944942C-T C T
+22 46946109 22:46946109G-A G A
+22 46946127 22:46946127C-T C T
+22 46946709 22:46946709G-A G A
+22 46947018 22:46947018G-A G A
+22 46947026 22:46947026G-A G A
+22 46947394 22:46947394G-A G A
+22 46947537 22:46947537C-T C T
+22 46947757 22:46947757C-T C T
+22 46947914 22:46947914C-T C T
+22 46947933 22:46947933G-T G T
+22 46948117 22:46948117C-T C T
+22 46948242 22:46948242C-T C T
+22 46948453 22:46948453A-G A G
+22 46949022 22:46949022C-A C A
+22 46949292 22:46949292G-A G A
+22 46949538 22:46949538G-T G T
+22 46950105 22:46950105G-A G A
+22 46950663 22:46950663G-T G T
+22 46950861 22:46950861T-C T C
+22 46951439 22:46951439T-C T C
+22 46951637 22:46951637C-A C A
+22 46951966 22:46951966G-T G T
+22 46952058 22:46952058C-T C T
+22 46952428 22:46952428G-A G A
+22 46952676 22:46952676G-A G A
+22 46952848 22:46952848G-C G C
+22 46953533 22:46953533C-T C T
+22 46953712 22:46953712C-T C T
+22 46953979 22:46953979C-T C T
+22 46954108 22:46954108G-A G A
+22 46955098 22:46955098A-G A G
+22 46955799 22:46955799A-G A G
+22 46955987 22:46955987T-C T C
+22 46956009 22:46956009C-T C T
+22 46956117 22:46956117G-A G A
+22 46956134 22:46956134G-C G C
+22 46956298 22:46956298G-A G A
+22 46956456 22:46956456A-G A G
+22 46956486 22:46956486A-G A G
+22 46957028 22:46957028C-T C T
+22 46958507 22:46958507A-C A C
+22 46958884 22:46958884G-A G A
+22 46959140 22:46959140C-T C T
+22 46959452 22:46959452T-C T C
+22 46960316 22:46960316C-T C T
+22 46960529 22:46960529T-C T C
+22 46960565 22:46960565T-A T A
+22 46960781 22:46960781T-C T C
+22 46961042 22:46961042A-G A G
+22 46961271 22:46961271C-T C T
+22 46961278 22:46961278C-T C T
+22 46961472 22:46961472A-G A G
+22 46961629 22:46961629C-A C A
+22 46961712 22:46961712C-T C T
+22 46961839 22:46961839G-A G A
+22 46961894 22:46961894A-G A G
+22 46961956 22:46961956G-A G A
+22 46961967 22:46961967T-G T G
+22 46961980 22:46961980T-C T C
+22 46961984 22:46961984C-T C T
+22 46962046 22:46962046C-T C T
+22 46962082 22:46962082G-A G A
+22 46962177 22:46962177C-T C T
+22 46962218 22:46962218A-G A G
+22 46962220 22:46962220A-G A G
+22 46962433 22:46962433G-A G A
+22 46962477 22:46962477A-G A G
+22 46963390 22:46963390A-C A C
+22 46963711 22:46963711A-T A T
+22 46963738 22:46963738G-A G A
+22 46963836 22:46963836A-G A G
+22 46963946 22:46963946C-A C A
+22 46964140 22:46964140G-C G C
+22 46964161 22:46964161C-G C G
+22 46964267 22:46964267C-T C T
+22 46964343 22:46964343G-A G A
+22 46964544 22:46964544C-G C G
+22 46964646 22:46964646A-T A T
+22 46964836 22:46964836G-A G A
+22 46964908 22:46964908G-A G A
+22 46965170 22:46965170G-A G A
+22 46965464 22:46965464T-C T C
+22 46965493 22:46965493C-T C T
+22 46965547 22:46965547C-T C T
+22 46965563 22:46965563G-C G C
+22 46965687 22:46965687C-T C T
+22 46966210 22:46966210C-T C T
+22 46966536 22:46966536G-A G A
+22 46966783 22:46966783T-C T C
+22 46967151 22:46967151C-G C G
+22 46967617 22:46967617G-A G A
+22 46967630 22:46967630A-G A G
+22 46967883 22:46967883A-G A G
+22 46968056 22:46968056T-C T C
+22 46968193 22:46968193C-T C T
+22 46968286 22:46968286C-T C T
+22 46968389 22:46968389G-A G A
+22 46968414 22:46968414T-C T C
+22 46969137 22:46969137T-C T C
+22 46969552 22:46969552C-A C A
+22 46970464 22:46970464T-C T C
+22 46970552 22:46970552G-A G A
+22 46970560 22:46970560A-G A G
+22 46971294 22:46971294G-T G T
+22 46971620 22:46971620C-T C T
+22 46971863 22:46971863G-A G A
+22 46971907 22:46971907G-A G A
+22 46972080 22:46972080G-A G A
+22 46972152 22:46972152G-A G A
+22 46972349 22:46972349C-T C T
+22 46973892 22:46973892T-C T C
+22 46974203 22:46974203G-A G A
+22 46974717 22:46974717G-C G C
+22 46975644 22:46975644G-C G C
+22 46975741 22:46975741G-A G A
+22 46976557 22:46976557G-A G A
+22 46976950 22:46976950C-T C T
+22 46977239 22:46977239A-G A G
+22 46977702 22:46977702C-T C T
+22 46978375 22:46978375T-C T C
+22 46978776 22:46978776A-G A G
+22 46978958 22:46978958G-A G A
+22 46979133 22:46979133A-T A T
+22 46979240 22:46979240A-G A G
+22 46979402 22:46979402C-G C G
+22 46979730 22:46979730T-C T C
+22 46979914 22:46979914G-T G T
+22 46980242 22:46980242T-C T C
+22 46980536 22:46980536G-C G C
+22 46980774 22:46980774C-T C T
+22 46981234 22:46981234C-T C T
+22 46981329 22:46981329C-T C T
+22 46981340 22:46981340A-G A G
+22 46981880 22:46981880T-C T C
+22 46982018 22:46982018C-G C G
+22 46982143 22:46982143G-A G A
+22 46982293 22:46982293T-C T C
+22 46982314 22:46982314T-C T C
+22 46982323 22:46982323C-T C T
+22 46982657 22:46982657G-A G A
+22 46982721 22:46982721T-C T C
+22 46982722 22:46982722G-A G A
+22 46982885 22:46982885C-T C T
+22 46982955 22:46982955G-A G A
+22 46983018 22:46983018A-G A G
+22 46983372 22:46983372T-C T C
+22 46983605 22:46983605A-G A G
+22 46983745 22:46983745C-T C T
+22 46983998 22:46983998C-T C T
+22 46984098 22:46984098T-G T G
+22 46984100 22:46984100G-C G C
+22 46984265 22:46984265C-A C A
+22 46984268 22:46984268G-A G A
+22 46984306 22:46984306T-C T C
+22 46984318 22:46984318G-A G A
+22 46984458 22:46984458T-C T C
+22 46984781 22:46984781G-A G A
+22 46984809 22:46984809T-C T C
+22 46984853 22:46984853T-G T G
+22 46985037 22:46985037G-A G A
+22 46985068 22:46985068G-A G A
+22 46985070 22:46985070G-A G A
+22 46985787 22:46985787C-G C G
+22 46985837 22:46985837C-G C G
+22 46985917 22:46985917G-A G A
+22 46985977 22:46985977T-C T C
+22 46986119 22:46986119G-C G C
+22 46986217 22:46986217G-A G A
+22 46986223 22:46986223A-G A G
+22 46986263 22:46986263T-C T C
+22 46986300 22:46986300G-C G C
+22 46986305 22:46986305C-T C T
+22 46986333 22:46986333C-T C T
+22 46986357 22:46986357G-A G A
+22 46986423 22:46986423A-T A T
+22 46986445 22:46986445T-G T G
+22 46986584 22:46986584G-A G A
+22 46986733 22:46986733G-A G A
+22 46986748 22:46986748G-A G A
+22 46986889 22:46986889G-A G A
+22 46986896 22:46986896G-T G T
+22 46986911 22:46986911C-T C T
+22 46987047 22:46987047T-A T A
+22 46987087 22:46987087G-T G T
+22 46987138 22:46987138G-A G A
+22 46987302 22:46987302C-T C T
+22 46987602 22:46987602T-C T C
+22 46987613 22:46987613C-T C T
+22 46987981 22:46987981C-T C T
+22 46987989 22:46987989G-A G A
+22 46987995 22:46987995T-C T C
+22 46988647 22:46988647G-A G A
+22 46989268 22:46989268T-G T G
+22 46989867 22:46989867C-T C T
+22 46990119 22:46990119C-T C T
+22 46990822 22:46990822G-A G A
+22 46990997 22:46990997C-A C A
+22 46991398 22:46991398T-C T C
+22 46991399 22:46991399G-A G A
+22 46991405 22:46991405A-G A G
+22 46991470 22:46991470C-G C G
+22 46991538 22:46991538T-C T C
+22 46991632 22:46991632G-A G A
+22 46991718 22:46991718A-T A T
+22 46992834 22:46992834T-C T C
+22 46992898 22:46992898C-A C A
+22 46993386 22:46993386A-G A G
+22 46993449 22:46993449C-T C T
+22 46993450 22:46993450G-A G A
+22 46993582 22:46993582T-G T G
+22 46993817 22:46993817C-T C T
+22 46994014 22:46994014A-G A G
+22 46994185 22:46994185C-T C T
+22 46994275 22:46994275A-G A G
+22 46994827 22:46994827T-C T C
+22 46994999 22:46994999T-A T A
+22 46995060 22:46995060A-G A G
+22 46995841 22:46995841G-A G A
+22 46995948 22:46995948G-A G A
+22 46996137 22:46996137G-C G C
+22 46996179 22:46996179G-A G A
+22 46996254 22:46996254G-A G A
+22 46996309 22:46996309C-T C T
+22 46996529 22:46996529G-A G A
+22 46997410 22:46997410T-C T C
+22 46997628 22:46997628G-A G A
+22 46998144 22:46998144C-T C T
+22 46998334 22:46998334C-G C G
+22 46998725 22:46998725T-C T C
+22 46998841 22:46998841T-C T C
+22 46999703 22:46999703C-T C T
+22 47000085 22:47000085A-G A G
+22 47000109 22:47000109C-T C T
+22 47000246 22:47000246G-A G A
+22 47001257 22:47001257A-G A G
+22 47001263 22:47001263A-G A G
+22 47001454 22:47001454T-C T C
+22 47001459 22:47001459C-T C T
+22 47002631 22:47002631A-G A G
+22 47002680 22:47002680G-A G A
+22 47002790 22:47002790A-C A C
+22 47002792 22:47002792T-G T G
+22 47002838 22:47002838C-T C T
+22 47003002 22:47003002C-T C T
+22 47003022 22:47003022T-C T C
+22 47003116 22:47003116C-T C T
+22 47003239 22:47003239T-A T A
+22 47003244 22:47003244A-G A G
+22 47003408 22:47003408C-T C T
+22 47003535 22:47003535T-C T C
+22 47004148 22:47004148A-G A G
+22 47004179 22:47004179C-G C G
+22 47004274 22:47004274C-G C G
+22 47004731 22:47004731T-C T C
+22 47004814 22:47004814C-G C G
+22 47004886 22:47004886G-A G A
+22 47005412 22:47005412G-A G A
+22 47005584 22:47005584T-C T C
+22 47005669 22:47005669C-A C A
+22 47005740 22:47005740C-T C T
+22 47005924 22:47005924A-G A G
+22 47005952 22:47005952T-C T C
+22 47006154 22:47006154C-T C T
+22 47006247 22:47006247G-A G A
+22 47006273 22:47006273C-T C T
+22 47006357 22:47006357C-A C A
+22 47006468 22:47006468T-C T C
+22 47006512 22:47006512G-A G A
+22 47007079 22:47007079G-C G C
+22 47007378 22:47007378G-A G A
+22 47007509 22:47007509C-T C T
+22 47007810 22:47007810T-C T C
+22 47008084 22:47008084C-T C T
+22 47008308 22:47008308T-C T C
+22 47008432 22:47008432T-C T C
+22 47008710 22:47008710T-C T C
+22 47008711 22:47008711G-A G A
+22 47008738 22:47008738C-T C T
+22 47008755 22:47008755C-T C T
+22 47009196 22:47009196C-T C T
+22 47009871 22:47009871C-T C T
+22 47009915 22:47009915G-A G A
+22 47010059 22:47010059A-T A T
+22 47010064 22:47010064A-T A T
+22 47010548 22:47010548G-A G A
+22 47013155 22:47013155C-T C T
+22 47013338 22:47013338T-C T C
+22 47013510 22:47013510A-G A G
+22 47013535 22:47013535C-T C T
+22 47013542 22:47013542A-C A C
+22 47013718 22:47013718A-C A C
+22 47013891 22:47013891G-T G T
+22 47014297 22:47014297G-A G A
+22 47014501 22:47014501C-T C T
+22 47015133 22:47015133G-A G A
+22 47015444 22:47015444G-A G A
+22 47015994 22:47015994C-T C T
+22 47016352 22:47016352C-T C T
+22 47017036 22:47017036C-T C T
+22 47018166 22:47018166C-T C T
+22 47018787 22:47018787C-T C T
+22 47019096 22:47019096C-T C T
+22 47019494 22:47019494C-T C T
+22 47019867 22:47019867T-C T C
+22 47019900 22:47019900G-A G A
+22 47019936 22:47019936C-A C A
+22 47020584 22:47020584A-G A G
+22 47021203 22:47021203T-G T G
+22 47021226 22:47021226A-G A G
+22 47021996 22:47021996G-T G T
+22 47023129 22:47023129G-A G A
+22 47023461 22:47023461T-C T C
+22 47026253 22:47026253C-T C T
+22 47026467 22:47026467C-A C A
+22 47026828 22:47026828C-T C T
+22 47026852 22:47026852C-T C T
+22 47027017 22:47027017T-C T C
+22 47027907 22:47027907G-A G A
+22 47027930 22:47027930C-T C T
+22 47027990 22:47027990T-C T C
+22 47028314 22:47028314A-T A T
+22 47029483 22:47029483G-C G C
+22 47029976 22:47029976C-T C T
+22 47030240 22:47030240A-C A C
+22 47030608 22:47030608C-T C T
+22 47030977 22:47030977T-C T C
+22 47031712 22:47031712G-A G A
+22 47031967 22:47031967C-T C T
+22 47032086 22:47032086A-G A G
+22 47032429 22:47032429G-A G A
+22 47032965 22:47032965A-G A G
+22 47033017 22:47033017G-C G C
+22 47033534 22:47033534G-A G A
+22 47034722 22:47034722C-T C T
+22 47034829 22:47034829G-A G A
+22 47034838 22:47034838T-C T C
+22 47035614 22:47035614G-T G T
+22 47036096 22:47036096T-C T C
+22 47036451 22:47036451G-A G A
+22 47036717 22:47036717C-T C T
+22 47037054 22:47037054T-C T C
+22 47037859 22:47037859G-A G A
+22 47038081 22:47038081G-A G A
+22 47039766 22:47039766G-A G A
+22 47040236 22:47040236T-C T C
+22 47040677 22:47040677C-T C T
+22 47040898 22:47040898C-T C T
+22 47043566 22:47043566G-A G A
+22 47043604 22:47043604A-G A G
+22 47045556 22:47045556T-A T A
+22 47046397 22:47046397T-C T C
+22 47046426 22:47046426C-G C G
+22 47046512 22:47046512T-C T C
+22 47047749 22:47047749G-A G A
+22 47048124 22:47048124G-A G A
+22 47048378 22:47048378A-G A G
+22 47048476 22:47048476G-A G A
+22 47048771 22:47048771T-G T G
+22 47048792 22:47048792A-G A G
+22 47049086 22:47049086C-T C T
+22 47049138 22:47049138C-A C A
+22 47049225 22:47049225T-C T C
+22 47049474 22:47049474G-A G A
+22 47049673 22:47049673G-A G A
+22 47049967 22:47049967G-A G A
+22 47050210 22:47050210G-A G A
+22 47050336 22:47050336C-T C T
+22 47050387 22:47050387G-A G A
+22 47050744 22:47050744G-A G A
+22 47051497 22:47051497C-T C T
+22 47051763 22:47051763G-A G A
+22 47051918 22:47051918T-C T C
+22 47052693 22:47052693T-G T G
+22 47052858 22:47052858T-C T C
+22 47053165 22:47053165G-A G A
+22 47053233 22:47053233A-G A G
+22 47053718 22:47053718T-C T C
+22 47054414 22:47054414A-G A G
+22 47054671 22:47054671C-T C T
+22 47054689 22:47054689A-G A G
+22 47054703 22:47054703G-A G A
+22 47055636 22:47055636T-C T C
+22 47056080 22:47056080C-T C T
+22 47056375 22:47056375A-C A C
+22 47057076 22:47057076G-A G A
+22 47057191 22:47057191C-T C T
+22 47057197 22:47057197C-T C T
+22 47057573 22:47057573A-G A G
+22 47057876 22:47057876A-C A C
+22 47058170 22:47058170G-A G A
+22 47058533 22:47058533A-C A C
+22 47059282 22:47059282C-T C T
+22 47059372 22:47059372C-A C A
+22 47059597 22:47059597A-G A G
+22 47060277 22:47060277T-C T C
+22 47060976 22:47060976C-T C T
+22 47061791 22:47061791C-T C T
+22 47061916 22:47061916A-T A T
+22 47062894 22:47062894G-T G T
+22 47063330 22:47063330A-G A G
+22 47063359 22:47063359T-C T C
+22 47063574 22:47063574G-A G A
+22 47064164 22:47064164C-A C A
+22 47064185 22:47064185G-A G A
+22 47064665 22:47064665C-T C T
+22 47064837 22:47064837A-C A C
+22 47065084 22:47065084A-C A C
+22 47065450 22:47065450T-C T C
+22 47065664 22:47065664C-T C T
+22 47065684 22:47065684T-C T C
+22 47065713 22:47065713C-T C T
+22 47065755 22:47065755C-T C T
+22 47066294 22:47066294T-C T C
+22 47066796 22:47066796G-A G A
+22 47066920 22:47066920T-C T C
+22 47067161 22:47067161C-T C T
+22 47067164 22:47067164A-G A G
+22 47067225 22:47067225A-G A G
+22 47067259 22:47067259G-A G A
+22 47067512 22:47067512T-C T C
+22 47068008 22:47068008T-C T C
+22 47068140 22:47068140G-A G A
+22 47068198 22:47068198T-C T C
+22 47068291 22:47068291A-G A G
+22 47068365 22:47068365T-C T C
+22 47069034 22:47069034T-G T G
+22 47069201 22:47069201G-A G A
+22 47069223 22:47069223A-G A G
+22 47069349 22:47069349G-A G A
+22 47070018 22:47070018G-A G A
+22 47070432 22:47070432G-C G C
+22 47070747 22:47070747G-T G T
+22 47071531 22:47071531T-C T C
+22 47071638 22:47071638G-C G C
+22 47071860 22:47071860A-C A C
+22 47072070 22:47072070C-T C T
+22 47072196 22:47072196C-T C T
+22 47072477 22:47072477G-A G A
+22 47073254 22:47073254T-C T C
+22 47073721 22:47073721C-T C T
+22 47073776 22:47073776A-G A G
+22 47073801 22:47073801G-A G A
+22 47073861 22:47073861C-T C T
+22 47073875 22:47073875T-C T C
+22 47074109 22:47074109C-G C G
+22 47074258 22:47074258G-A G A
+22 47074281 22:47074281G-A G A
+22 47074937 22:47074937T-C T C
+22 47075462 22:47075462C-T C T
+22 47075918 22:47075918G-A G A
+22 47076391 22:47076391C-G C G
+22 47078385 22:47078385C-T C T
+22 47078560 22:47078560A-G A G
+22 47078590 22:47078590T-C T C
+22 47078728 22:47078728C-T C T
+22 47079076 22:47079076T-A T A
+22 47079400 22:47079400G-A G A
+22 47079543 22:47079543A-G A G
+22 47079578 22:47079578A-G A G
+22 47079698 22:47079698C-T C T
+22 47079729 22:47079729G-C G C
+22 47079791 22:47079791G-C G C
+22 47079863 22:47079863C-T C T
+22 47080026 22:47080026G-A G A
+22 47080465 22:47080465T-C T C
+22 47080801 22:47080801G-C G C
+22 47081088 22:47081088A-G A G
+22 47081716 22:47081716A-G A G
+22 47081855 22:47081855A-G A G
+22 47082159 22:47082159C-A C A
+22 47082345 22:47082345C-T C T
+22 47083010 22:47083010T-C T C
+22 47083012 22:47083012T-A T A
+22 47083235 22:47083235T-C T C
+22 47083694 22:47083694G-C G C
+22 47083813 22:47083813G-A G A
+22 47084009 22:47084009T-C T C
+22 47084696 22:47084696G-A G A
+22 47085166 22:47085166G-A G A
+22 47087024 22:47087024T-C T C
+22 47087051 22:47087051A-T A T
+22 47087283 22:47087283G-T G T
+22 47087347 22:47087347A-G A G
+22 47087670 22:47087670G-A G A
+22 47088062 22:47088062G-A G A
+22 47088191 22:47088191T-C T C
+22 47089019 22:47089019A-C A C
+22 47089110 22:47089110C-A C A
+22 47089127 22:47089127T-C T C
+22 47090096 22:47090096G-A G A
+22 47090115 22:47090115C-T C T
+22 47090121 22:47090121C-T C T
+22 47090233 22:47090233A-G A G
+22 47090243 22:47090243C-G C G
+22 47091321 22:47091321C-T C T
+22 47091342 22:47091342G-C G C
+22 47091738 22:47091738C-T C T
+22 47092311 22:47092311G-A G A
+22 47092717 22:47092717T-C T C
+22 47092755 22:47092755C-G C G
+22 47093801 22:47093801A-G A G
+22 47093835 22:47093835A-G A G
+22 47093846 22:47093846G-A G A
+22 47094390 22:47094390C-T C T
+22 47094525 22:47094525T-C T C
+22 47094690 22:47094690C-T C T
+22 47094810 22:47094810A-T A T
+22 47095409 22:47095409C-G C G
+22 47095618 22:47095618C-T C T
+22 47095741 22:47095741G-C G C
+22 47096274 22:47096274G-T G T
+22 47096375 22:47096375C-G C G
+22 47096950 22:47096950G-A G A
+22 47097194 22:47097194C-T C T
+22 47097450 22:47097450C-T C T
+22 47097505 22:47097505C-T C T
+22 47097955 22:47097955A-G A G
+22 47098277 22:47098277T-C T C
+22 47098969 22:47098969A-G A G
+22 47100478 22:47100478C-G C G
+22 47101072 22:47101072A-G A G
+22 47102184 22:47102184T-C T C
+22 47102392 22:47102392T-C T C
+22 47102495 22:47102495C-G C G
+22 47102525 22:47102525T-A T A
+22 47102722 22:47102722G-A G A
+22 47102907 22:47102907A-G A G
+22 47103138 22:47103138T-C T C
+22 47103512 22:47103512G-A G A
+22 47104011 22:47104011C-T C T
+22 47104699 22:47104699A-G A G
+22 47105858 22:47105858T-C T C
+22 47106047 22:47106047C-T C T
+22 47106715 22:47106715G-A G A
+22 47106800 22:47106800T-C T C
+22 47108669 22:47108669G-A G A
+22 47109073 22:47109073A-G A G
+22 47109525 22:47109525A-G A G
+22 47109585 22:47109585T-C T C
+22 47109589 22:47109589T-C T C
+22 47109621 22:47109621T-C T C
+22 47109965 22:47109965T-C T C
+22 47110218 22:47110218G-A G A
+22 47111432 22:47111432A-G A G
+22 47111538 22:47111538G-A G A
+22 47111720 22:47111720G-A G A
+22 47112378 22:47112378A-G A G
+22 47112396 22:47112396G-A G A
+22 47112434 22:47112434A-G A G
+22 47112638 22:47112638T-C T C
+22 47113200 22:47113200C-T C T
+22 47113688 22:47113688G-T G T
+22 47113706 22:47113706T-C T C
+22 47113753 22:47113753G-A G A
+22 47113781 22:47113781C-T C T
+22 47113845 22:47113845A-G A G
+22 47113952 22:47113952A-G A G
+22 47113978 22:47113978C-A C A
+22 47114086 22:47114086G-T G T
+22 47114521 22:47114521T-C T C
+22 47114663 22:47114663G-A G A
+22 47114706 22:47114706T-C T C
+22 47114742 22:47114742A-G A G
+22 47114875 22:47114875A-G A G
+22 47115390 22:47115390A-G A G
+22 47115680 22:47115680C-T C T
+22 47115756 22:47115756A-G A G
+22 47115825 22:47115825A-C A C
+22 47116274 22:47116274C-T C T
+22 47116317 22:47116317C-G C G
+22 47116325 22:47116325A-G A G
+22 47116507 22:47116507T-C T C
+22 47116905 22:47116905G-A G A
+22 47117573 22:47117573C-T C T
+22 47122677 22:47122677G-A G A
+22 47122760 22:47122760C-G C G
+22 47123277 22:47123277T-C T C
+22 47123616 22:47123616C-T C T
+22 47123645 22:47123645A-G A G
+22 47123963 22:47123963T-C T C
+22 47124012 22:47124012C-T C T
+22 47124234 22:47124234C-T C T
+22 47124644 22:47124644A-T A T
+22 47124827 22:47124827A-C A C
+22 47125391 22:47125391G-A G A
+22 47125474 22:47125474A-G A G
+22 47125868 22:47125868G-A G A
+22 47126307 22:47126307C-G C G
+22 47126684 22:47126684C-T C T
+22 47126715 22:47126715T-C T C
+22 47126992 22:47126992G-A G A
+22 47127075 22:47127075C-T C T
+22 47127988 22:47127988G-C G C
+22 47130078 22:47130078T-A T A
+22 47130651 22:47130651A-G A G
+22 47131397 22:47131397G-C G C
+22 47132029 22:47132029C-A C A
+22 47132050 22:47132050C-A C A
+22 47132809 22:47132809A-C A C
+22 47134368 22:47134368C-A C A
+22 47134405 22:47134405C-G C G
+22 47134727 22:47134727C-T C T
+22 47135205 22:47135205A-C A C
+22 47135272 22:47135272G-A G A
+22 47135963 22:47135963C-T C T
+22 47135999 22:47135999A-G A G
+22 47136101 22:47136101C-T C T
+22 47136107 22:47136107C-T C T
+22 47136141 22:47136141C-T C T
+22 47136145 22:47136145A-G A G
+22 47136367 22:47136367T-A T A
+22 47136469 22:47136469A-G A G
+22 47136880 22:47136880C-T C T
+22 47137110 22:47137110T-C T C
+22 47137255 22:47137255C-G C G
+22 47137296 22:47137296C-T C T
+22 47137308 22:47137308C-T C T
+22 47137496 22:47137496G-A G A
+22 47137743 22:47137743A-G A G
+22 47137783 22:47137783A-G A G
+22 47138112 22:47138112A-G A G
+22 47138158 22:47138158C-G C G
+22 47138238 22:47138238A-G A G
+22 47138302 22:47138302A-G A G
+22 47138334 22:47138334G-A G A
+22 47138659 22:47138659A-G A G
+22 47138686 22:47138686A-C A C
+22 47138744 22:47138744T-C T C
+22 47138800 22:47138800T-C T C
+22 47138835 22:47138835C-T C T
+22 47138874 22:47138874G-C G C
+22 47138935 22:47138935T-C T C
+22 47139003 22:47139003T-A T A
+22 47139228 22:47139228G-A G A
+22 47139281 22:47139281T-C T C
+22 47139357 22:47139357G-A G A
+22 47139361 22:47139361T-C T C
+22 47139583 22:47139583G-A G A
+22 47139619 22:47139619A-G A G
+22 47139875 22:47139875A-G A G
+22 47140089 22:47140089T-C T C
+22 47140127 22:47140127G-C G C
+22 47140160 22:47140160G-C G C
+22 47140366 22:47140366C-T C T
+22 47140408 22:47140408T-A T A
+22 47140490 22:47140490C-A C A
+22 47140771 22:47140771C-G C G
+22 47141394 22:47141394A-G A G
+22 47141510 22:47141510C-G C G
+22 47141789 22:47141789G-A G A
+22 47141805 22:47141805T-C T C
+22 47141857 22:47141857G-A G A
+22 47141979 22:47141979T-A T A
+22 47142013 22:47142013A-G A G
+22 47142339 22:47142339C-T C T
+22 47142667 22:47142667T-C T C
+22 47142668 22:47142668G-A G A
+22 47142967 22:47142967T-C T C
+22 47143002 22:47143002C-T C T
+22 47143228 22:47143228T-C T C
+22 47143349 22:47143349G-C G C
+22 47143376 22:47143376C-T C T
+22 47143407 22:47143407G-A G A
+22 47143518 22:47143518A-G A G
+22 47143775 22:47143775A-G A G
+22 47143799 22:47143799A-G A G
+22 47143974 22:47143974A-G A G
+22 47144016 22:47144016T-C T C
+22 47144048 22:47144048C-T C T
+22 47144051 22:47144051T-C T C
+22 47144282 22:47144282T-C T C
+22 47144479 22:47144479G-A G A
+22 47144612 22:47144612C-T C T
+22 47144619 22:47144619A-G A G
+22 47144632 22:47144632G-T G T
+22 47144658 22:47144658C-T C T
+22 47144961 22:47144961C-T C T
+22 47145278 22:47145278G-A G A
+22 47145301 22:47145301A-G A G
+22 47145302 22:47145302T-C T C
+22 47145605 22:47145605T-C T C
+22 47145609 22:47145609G-A G A
+22 47145650 22:47145650T-G T G
+22 47145726 22:47145726T-C T C
+22 47145908 22:47145908C-T C T
+22 47146042 22:47146042A-G A G
+22 47146053 22:47146053C-G C G
+22 47146222 22:47146222A-G A G
+22 47146684 22:47146684C-T C T
+22 47146706 22:47146706A-G A G
+22 47146867 22:47146867A-G A G
+22 47146932 22:47146932C-T C T
+22 47146936 22:47146936G-A G A
+22 47147034 22:47147034A-C A C
+22 47147117 22:47147117C-T C T
+22 47147168 22:47147168C-T C T
+22 47147603 22:47147603T-G T G
+22 47149570 22:47149570G-A G A
+22 47150813 22:47150813C-A C A
+22 47152176 22:47152176C-G C G
+22 47153559 22:47153559T-G T G
+22 47153760 22:47153760G-A G A
+22 47156703 22:47156703T-C T C
+22 47157139 22:47157139C-T C T
+22 47157221 22:47157221G-C G C
+22 47157612 22:47157612C-A C A
+22 47158179 22:47158179G-A G A
+22 47158444 22:47158444T-C T C
+22 47159028 22:47159028T-C T C
+22 47159257 22:47159257G-C G C
+22 47161507 22:47161507C-T C T
+22 47161519 22:47161519C-T C T
+22 47162055 22:47162055T-C T C
+22 47162670 22:47162670T-C T C
+22 47163320 22:47163320T-A T A
+22 47163954 22:47163954G-A G A
+22 47164011 22:47164011G-A G A
+22 47164818 22:47164818C-T C T
+22 47164865 22:47164865T-C T C
+22 47164888 22:47164888G-A G A
+22 47165080 22:47165080C-G C G
+22 47165311 22:47165311A-G A G
+22 47165417 22:47165417C-A C A
+22 47165443 22:47165443C-T C T
+22 47167594 22:47167594T-C T C
+22 47168647 22:47168647T-G T G
+22 47169019 22:47169019T-C T C
+22 47169032 22:47169032A-G A G
+22 47169205 22:47169205G-A G A
+22 47169270 22:47169270C-T C T
+22 47169606 22:47169606T-C T C
+22 47169675 22:47169675A-G A G
+22 47171343 22:47171343G-A G A
+22 47171456 22:47171456T-C T C
+22 47171543 22:47171543G-A G A
+22 47171974 22:47171974G-A G A
+22 47172243 22:47172243T-C T C
+22 47172915 22:47172915G-T G T
+22 47173204 22:47173204G-A G A
+22 47173574 22:47173574A-G A G
+22 47173722 22:47173722C-G C G
+22 47175192 22:47175192C-T C T
+22 47175316 22:47175316T-C T C
+22 47175815 22:47175815G-A G A
+22 47176011 22:47176011G-C G C
+22 47177236 22:47177236T-C T C
+22 47178101 22:47178101A-G A G
+22 47178201 22:47178201C-T C T
+22 47178611 22:47178611T-C T C
+22 47179320 22:47179320G-A G A
+22 47179592 22:47179592C-T C T
+22 47179599 22:47179599C-T C T
+22 47179959 22:47179959T-G T G
+22 47181552 22:47181552A-G A G
+22 47181753 22:47181753C-G C G
+22 47182274 22:47182274G-A G A
+22 47182861 22:47182861A-G A G
+22 47182944 22:47182944G-T G T
+22 47184121 22:47184121C-G C G
+22 47184783 22:47184783A-G A G
+22 47185415 22:47185415C-T C T
+22 47185604 22:47185604G-A G A
+22 47186199 22:47186199C-G C G
+22 47187962 22:47187962C-A C A
+22 47188083 22:47188083T-G T G
+22 47190159 22:47190159C-T C T
+22 47190735 22:47190735T-G T G
+22 47191349 22:47191349A-G A G
+22 47191699 22:47191699A-G A G
+22 47191916 22:47191916G-T G T
+22 47192583 22:47192583C-G C G
+22 47192595 22:47192595G-A G A
+22 47192653 22:47192653C-T C T
+22 47195050 22:47195050G-C G C
+22 47195274 22:47195274T-C T C
+22 47195603 22:47195603C-T C T
+22 47195661 22:47195661A-G A G
+22 47195681 22:47195681T-G T G
+22 47196383 22:47196383T-G T G
+22 47196524 22:47196524A-G A G
+22 47196834 22:47196834G-A G A
+22 47198055 22:47198055G-A G A
+22 47198112 22:47198112A-G A G
+22 47198133 22:47198133G-C G C
+22 47198287 22:47198287G-A G A
+22 47198289 22:47198289C-T C T
+22 47198561 22:47198561C-T C T
+22 47198721 22:47198721A-T A T
+22 47198930 22:47198930T-A T A
+22 47198932 22:47198932C-G C G
+22 47198998 22:47198998G-A G A
+22 47198999 22:47198999G-A G A
+22 47199148 22:47199148A-G A G
+22 47199389 22:47199389G-C G C
+22 47199633 22:47199633A-G A G
+22 47199976 22:47199976G-A G A
+22 47200180 22:47200180A-G A G
+22 47200445 22:47200445A-T A T
+22 47200891 22:47200891A-G A G
+22 47201272 22:47201272A-G A G
+22 47201690 22:47201690A-G A G
+22 47202371 22:47202371G-A G A
+22 47202675 22:47202675A-G A G
+22 47202691 22:47202691C-T C T
+22 47203834 22:47203834G-A G A
+22 47206644 22:47206644A-G A G
+22 47206673 22:47206673G-T G T
+22 47207059 22:47207059G-C G C
+22 47207475 22:47207475C-T C T
+22 47207807 22:47207807T-G T G
+22 47207880 22:47207880A-G A G
+22 47208009 22:47208009C-T C T
+22 47208226 22:47208226C-A C A
+22 47208375 22:47208375C-T C T
+22 47208945 22:47208945G-A G A
+22 47208987 22:47208987T-C T C
+22 47209495 22:47209495T-C T C
+22 47209598 22:47209598G-A G A
+22 47209807 22:47209807A-G A G
+22 47209888 22:47209888C-T C T
+22 47209900 22:47209900T-C T C
+22 47209941 22:47209941C-T C T
+22 47210183 22:47210183A-G A G
+22 47211252 22:47211252A-C A C
+22 47213264 22:47213264G-C G C
+22 47213293 22:47213293A-G A G
+22 47213318 22:47213318A-G A G
+22 47214065 22:47214065A-T A T
+22 47214749 22:47214749T-G T G
+22 47214796 22:47214796G-C G C
+22 47215085 22:47215085A-G A G
+22 47215473 22:47215473A-G A G
+22 47215525 22:47215525A-C A C
+22 47215528 22:47215528T-C T C
+22 47216644 22:47216644A-T A T
+22 47217010 22:47217010C-T C T
+22 47217677 22:47217677C-T C T
+22 47218466 22:47218466A-C A C
+22 47218914 22:47218914G-A G A
+22 47219306 22:47219306G-A G A
+22 47220237 22:47220237G-T G T
+22 47220442 22:47220442A-G A G
+22 47220447 22:47220447A-C A C
+22 47220902 22:47220902A-G A G
+22 47221733 22:47221733G-A G A
+22 47222682 22:47222682T-G T G
+22 47222781 22:47222781A-G A G
+22 47223783 22:47223783C-T C T
+22 47224481 22:47224481A-G A G
+22 47224755 22:47224755G-C G C
+22 47225018 22:47225018T-C T C
+22 47225606 22:47225606G-A G A
+22 47226117 22:47226117A-G A G
+22 47226383 22:47226383G-A G A
+22 47226800 22:47226800C-G C G
+22 47227119 22:47227119T-C T C
+22 47227321 22:47227321G-A G A
+22 47227873 22:47227873T-C T C
+22 47228930 22:47228930C-T C T
+22 47230348 22:47230348T-C T C
+22 47230553 22:47230553G-T G T
+22 47231433 22:47231433C-T C T
+22 47232074 22:47232074C-T C T
+22 47232872 22:47232872A-C A C
+22 47233229 22:47233229A-G A G
+22 47234540 22:47234540T-C T C
+22 47234866 22:47234866A-G A G
+22 47235116 22:47235116C-T C T
+22 47235440 22:47235440A-G A G
+22 47235837 22:47235837G-A G A
+22 47236840 22:47236840T-C T C
+22 47237310 22:47237310G-T G T
+22 47237747 22:47237747G-A G A
+22 47237935 22:47237935T-A T A
+22 47238399 22:47238399C-T C T
+22 47238426 22:47238426T-C T C
+22 47239019 22:47239019G-A G A
+22 47239142 22:47239142A-G A G
+22 47239211 22:47239211A-G A G
+22 47239245 22:47239245T-A T A
+22 47239699 22:47239699G-T G T
+22 47239922 22:47239922C-T C T
+22 47240210 22:47240210C-G C G
+22 47240744 22:47240744T-C T C
+22 47240864 22:47240864G-A G A
+22 47240908 22:47240908T-C T C
+22 47241794 22:47241794G-A G A
+22 47241889 22:47241889A-G A G
+22 47242048 22:47242048G-C G C
+22 47242333 22:47242333T-C T C
+22 47242653 22:47242653C-G C G
+22 47243463 22:47243463T-C T C
+22 47244959 22:47244959A-G A G
+22 47245715 22:47245715A-T A T
+22 47245836 22:47245836G-A G A
+22 47246462 22:47246462T-C T C
+22 47246489 22:47246489C-T C T
+22 47247001 22:47247001C-T C T
+22 47247170 22:47247170G-A G A
+22 47247373 22:47247373G-A G A
+22 47248069 22:47248069T-G T G
+22 47248151 22:47248151T-C T C
+22 47248342 22:47248342A-C A C
+22 47248388 22:47248388A-G A G
+22 47248604 22:47248604A-G A G
+22 47249002 22:47249002G-A G A
+22 47249551 22:47249551G-A G A
+22 47249600 22:47249600A-C A C
+22 47250604 22:47250604G-C G C
+22 47250635 22:47250635G-A G A
+22 47251125 22:47251125T-C T C
+22 47251274 22:47251274C-G C G
+22 47251917 22:47251917A-C A C
+22 47252570 22:47252570A-G A G
+22 47254582 22:47254582G-A G A
+22 47254884 22:47254884T-C T C
+22 47257542 22:47257542C-T C T
+22 47258179 22:47258179C-T C T
+22 47258348 22:47258348G-A G A
+22 47258352 22:47258352C-G C G
+22 47258502 22:47258502G-A G A
+22 47258861 22:47258861G-T G T
+22 47259325 22:47259325G-A G A
+22 47260093 22:47260093G-T G T
+22 47260154 22:47260154C-T C T
+22 47260565 22:47260565T-A T A
+22 47262124 22:47262124C-G C G
+22 47262388 22:47262388G-A G A
+22 47263085 22:47263085C-A C A
+22 47263145 22:47263145G-A G A
+22 47264573 22:47264573T-C T C
+22 47264769 22:47264769C-G C G
+22 47265100 22:47265100C-T C T
+22 47265412 22:47265412T-C T C
+22 47266650 22:47266650C-T C T
+22 47266934 22:47266934A-G A G
+22 47267906 22:47267906G-A G A
+22 47268022 22:47268022T-C T C
+22 47268069 22:47268069G-A G A
+22 47268167 22:47268167A-G A G
+22 47268743 22:47268743A-G A G
+22 47269572 22:47269572T-C T C
+22 47269798 22:47269798T-G T G
+22 47271217 22:47271217T-G T G
+22 47271338 22:47271338G-T G T
+22 47271406 22:47271406A-G A G
+22 47271747 22:47271747T-C T C
+22 47272165 22:47272165C-T C T
+22 47272894 22:47272894T-C T C
+22 47273044 22:47273044G-A G A
+22 47274638 22:47274638C-T C T
+22 47275076 22:47275076C-G C G
+22 47275290 22:47275290T-G T G
+22 47275828 22:47275828A-G A G
+22 47275902 22:47275902T-C T C
+22 47276397 22:47276397A-G A G
+22 47277270 22:47277270A-G A G
+22 47278173 22:47278173A-G A G
+22 47278852 22:47278852G-T G T
+22 47279037 22:47279037C-T C T
+22 47279542 22:47279542C-T C T
+22 47279683 22:47279683T-C T C
+22 47281239 22:47281239T-C T C
+22 47282082 22:47282082G-A G A
+22 47282250 22:47282250G-A G A
+22 47282376 22:47282376G-C G C
+22 47282386 22:47282386C-T C T
+22 47282702 22:47282702C-T C T
+22 47282727 22:47282727T-C T C
+22 47284072 22:47284072C-T C T
+22 47284449 22:47284449T-C T C
+22 47284566 22:47284566C-T C T
+22 47284833 22:47284833G-A G A
+22 47285486 22:47285486A-G A G
+22 47288122 22:47288122T-C T C
+22 47288145 22:47288145T-C T C
+22 47288410 22:47288410T-C T C
+22 47288426 22:47288426G-A G A
+22 47288807 22:47288807G-A G A
+22 47289798 22:47289798G-C G C
+22 47289981 22:47289981C-G C G
+22 47290858 22:47290858T-C T C
+22 47291992 22:47291992T-C T C
+22 47292181 22:47292181T-C T C
+22 47292353 22:47292353A-C A C
+22 47292488 22:47292488A-G A G
+22 47292573 22:47292573G-C G C
+22 47292700 22:47292700C-G C G
+22 47292833 22:47292833A-C A C
+22 47292841 22:47292841G-A G A
+22 47292871 22:47292871T-G T G
+22 47293288 22:47293288A-T A T
+22 47293470 22:47293470C-G C G
+22 47293815 22:47293815T-C T C
+22 47294167 22:47294167A-G A G
+22 47294535 22:47294535C-A C A
+22 47295111 22:47295111A-G A G
+22 47295357 22:47295357A-G A G
+22 47295640 22:47295640T-C T C
+22 47295877 22:47295877T-C T C
+22 47296574 22:47296574T-C T C
+22 47297437 22:47297437T-A T A
+22 47297670 22:47297670C-G C G
+22 47298873 22:47298873C-T C T
+22 47298985 22:47298985T-C T C
+22 47299225 22:47299225C-T C T
+22 47299533 22:47299533T-C T C
+22 47299646 22:47299646T-A T A
+22 47299725 22:47299725G-A G A
+22 47299945 22:47299945T-A T A
+22 47300214 22:47300214T-C T C
+22 47300250 22:47300250T-C T C
+22 47300300 22:47300300A-G A G
+22 47300302 22:47300302C-T C T
+22 47300757 22:47300757A-G A G
+22 47300763 22:47300763C-T C T
+22 47301192 22:47301192A-C A C
+22 47301210 22:47301210T-C T C
+22 47301228 22:47301228C-T C T
+22 47301442 22:47301442G-A G A
+22 47301657 22:47301657A-G A G
+22 47301682 22:47301682G-A G A
+22 47301731 22:47301731C-T C T
+22 47301743 22:47301743G-A G A
+22 47301789 22:47301789A-G A G
+22 47301822 22:47301822T-C T C
+22 47301856 22:47301856T-C T C
+22 47301986 22:47301986C-A C A
+22 47302012 22:47302012C-T C T
+22 47302227 22:47302227A-T A T
+22 47302228 22:47302228A-T A T
+22 47302307 22:47302307G-A G A
+22 47302350 22:47302350C-T C T
+22 47302437 22:47302437G-A G A
+22 47302449 22:47302449T-G T G
+22 47302584 22:47302584G-A G A
+22 47302602 22:47302602A-G A G
+22 47303124 22:47303124T-C T C
+22 47303138 22:47303138G-A G A
+22 47303445 22:47303445C-T C T
+22 47303927 22:47303927A-C A C
+22 47304259 22:47304259C-A C A
+22 47304504 22:47304504C-G C G
+22 47304870 22:47304870C-T C T
+22 47304962 22:47304962C-T C T
+22 47305079 22:47305079A-G A G
+22 47305102 22:47305102T-C T C
+22 47305436 22:47305436C-T C T
+22 47305882 22:47305882C-T C T
+22 47306064 22:47306064T-G T G
+22 47306189 22:47306189T-G T G
+22 47306393 22:47306393T-C T C
+22 47306469 22:47306469C-T C T
+22 47306607 22:47306607T-C T C
+22 47306750 22:47306750G-C G C
+22 47306799 22:47306799G-C G C
+22 47307159 22:47307159C-G C G
+22 47307177 22:47307177G-A G A
+22 47307287 22:47307287C-T C T
+22 47307378 22:47307378G-A G A
+22 47309007 22:47309007G-A G A
+22 47309247 22:47309247C-T C T
+22 47310536 22:47310536G-A G A
+22 47310557 22:47310557C-T C T
+22 47311404 22:47311404A-T A T
+22 47311934 22:47311934C-T C T
+22 47312098 22:47312098C-T C T
+22 47312317 22:47312317C-T C T
+22 47313082 22:47313082G-A G A
+22 47313269 22:47313269G-A G A
+22 47313350 22:47313350T-C T C
+22 47314090 22:47314090T-C T C
+22 47314201 22:47314201C-T C T
+22 47315544 22:47315544T-C T C
+22 47316180 22:47316180G-T G T
+22 47316696 22:47316696T-A T A
+22 47317048 22:47317048C-T C T
+22 47317892 22:47317892A-G A G
+22 47318013 22:47318013C-T C T
+22 47318675 22:47318675T-G T G
+22 47318998 22:47318998C-T C T
+22 47319208 22:47319208C-T C T
+22 47319373 22:47319373G-C G C
+22 47319436 22:47319436A-G A G
+22 47319564 22:47319564G-A G A
+22 47319975 22:47319975C-A C A
+22 47320510 22:47320510G-A G A
+22 47320823 22:47320823C-A C A
+22 47320843 22:47320843T-C T C
+22 47321120 22:47321120A-G A G
+22 47321283 22:47321283G-T G T
+22 47321392 22:47321392T-G T G
+22 47321877 22:47321877G-A G A
+22 47322092 22:47322092C-T C T
+22 47322937 22:47322937C-T C T
+22 47323171 22:47323171G-C G C
+22 47323399 22:47323399G-T G T
+22 47323417 22:47323417C-T C T
+22 47323791 22:47323791C-G C G
+22 47324705 22:47324705C-T C T
+22 47324894 22:47324894G-T G T
+22 47325193 22:47325193G-A G A
+22 47325330 22:47325330C-A C A
+22 47325818 22:47325818T-G T G
+22 47325974 22:47325974T-C T C
+22 47326125 22:47326125T-C T C
+22 47327462 22:47327462C-T C T
+22 47327745 22:47327745T-C T C
+22 47327892 22:47327892T-C T C
+22 47327995 22:47327995G-C G C
+22 47328469 22:47328469C-T C T
+22 47328472 22:47328472G-C G C
+22 47328584 22:47328584A-G A G
+22 47328712 22:47328712C-T C T
+22 47329534 22:47329534G-A G A
+22 47329866 22:47329866G-C G C
+22 47330117 22:47330117C-T C T
+22 47330328 22:47330328C-A C A
+22 47330624 22:47330624T-C T C
+22 47330955 22:47330955C-G C G
+22 47331666 22:47331666C-G C G
+22 47331805 22:47331805T-C T C
+22 47332082 22:47332082C-T C T
+22 47332179 22:47332179G-A G A
+22 47332585 22:47332585G-A G A
+22 47332690 22:47332690C-T C T
+22 47333002 22:47333002G-A G A
+22 47333111 22:47333111T-C T C
+22 47334146 22:47334146G-T G T
+22 47334564 22:47334564C-T C T
+22 47335048 22:47335048C-G C G
+22 47336595 22:47336595T-G T G
+22 47336775 22:47336775T-G T G
+22 47338438 22:47338438G-A G A
+22 47339506 22:47339506G-A G A
+22 47339741 22:47339741G-A G A
+22 47340012 22:47340012T-C T C
+22 47340819 22:47340819G-C G C
+22 47341245 22:47341245C-G C G
+22 47341758 22:47341758C-T C T
+22 47342285 22:47342285T-C T C
+22 47342408 22:47342408A-G A G
+22 47342501 22:47342501T-G T G
+22 47343173 22:47343173G-A G A
+22 47343297 22:47343297G-C G C
+22 47343818 22:47343818T-A T A
+22 47343997 22:47343997G-A G A
+22 47344209 22:47344209T-C T C
+22 47344304 22:47344304C-A C A
+22 47344370 22:47344370C-T C T
+22 47344530 22:47344530T-C T C
+22 47344839 22:47344839T-C T C
+22 47345410 22:47345410C-T C T
+22 47345487 22:47345487C-T C T
+22 47345715 22:47345715C-T C T
+22 47345812 22:47345812C-G C G
+22 47346109 22:47346109T-C T C
+22 47346127 22:47346127G-T G T
+22 47346221 22:47346221A-G A G
+22 47347264 22:47347264G-A G A
+22 47347901 22:47347901C-G C G
+22 47348039 22:47348039G-T G T
+22 47348685 22:47348685C-T C T
+22 47348834 22:47348834G-A G A
+22 47349718 22:47349718A-G A G
+22 47350017 22:47350017C-T C T
+22 47350065 22:47350065C-T C T
+22 47350303 22:47350303A-G A G
+22 47350931 22:47350931T-C T C
+22 47351313 22:47351313T-C T C
+22 47352220 22:47352220G-T G T
+22 47352972 22:47352972G-A G A
+22 47353099 22:47353099C-T C T
+22 47353141 22:47353141G-A G A
+22 47353414 22:47353414C-T C T
+22 47353515 22:47353515G-A G A
+22 47353621 22:47353621A-G A G
+22 47353869 22:47353869G-A G A
+22 47354003 22:47354003G-C G C
+22 47354056 22:47354056G-A G A
+22 47354073 22:47354073A-G A G
+22 47354578 22:47354578G-A G A
+22 47355346 22:47355346G-A G A
+22 47355354 22:47355354A-G A G
+22 47355583 22:47355583C-T C T
+22 47355739 22:47355739G-A G A
+22 47356564 22:47356564G-A G A
+22 47356969 22:47356969C-G C G
+22 47357482 22:47357482C-A C A
+22 47358135 22:47358135A-G A G
+22 47358367 22:47358367G-A G A
+22 47358512 22:47358512G-A G A
+22 47358522 22:47358522T-C T C
+22 47358645 22:47358645G-C G C
+22 47358822 22:47358822T-A T A
+22 47358843 22:47358843C-T C T
+22 47358892 22:47358892A-G A G
+22 47359674 22:47359674T-C T C
+22 47360077 22:47360077C-T C T
+22 47361206 22:47361206C-T C T
+22 47361244 22:47361244C-T C T
+22 47361916 22:47361916G-C G C
+22 47362039 22:47362039T-C T C
+22 47362317 22:47362317C-T C T
+22 47362350 22:47362350G-A G A
+22 47362763 22:47362763T-G T G
+22 47363413 22:47363413T-C T C
+22 47363831 22:47363831A-T A T
+22 47364206 22:47364206G-A G A
+22 47364456 22:47364456G-A G A
+22 47365106 22:47365106A-G A G
+22 47365201 22:47365201G-A G A
+22 47365333 22:47365333G-T G T
+22 47366643 22:47366643T-A T A
+22 47366813 22:47366813C-T C T
+22 47367886 22:47367886G-A G A
+22 47368238 22:47368238C-T C T
+22 47368251 22:47368251G-A G A
+22 47368354 22:47368354C-T C T
+22 47368668 22:47368668G-T G T
+22 47368770 22:47368770T-C T C
+22 47368966 22:47368966C-T C T
+22 47369660 22:47369660T-C T C
+22 47370343 22:47370343G-A G A
+22 47370496 22:47370496C-A C A
+22 47371218 22:47371218C-T C T
+22 47372330 22:47372330C-T C T
+22 47372368 22:47372368C-T C T
+22 47374896 22:47374896G-T G T
+22 47375631 22:47375631A-C A C
+22 47376873 22:47376873C-G C G
+22 47380460 22:47380460A-G A G
+22 47380606 22:47380606T-C T C
+22 47380811 22:47380811C-T C T
+22 47382150 22:47382150A-G A G
+22 47383131 22:47383131T-C T C
+22 47383618 22:47383618T-G T G
+22 47383751 22:47383751C-T C T
+22 47384035 22:47384035T-C T C
+22 47384037 22:47384037A-G A G
+22 47385174 22:47385174G-A G A
+22 47385342 22:47385342T-C T C
+22 47386010 22:47386010A-T A T
+22 47387316 22:47387316T-C T C
+22 47387622 22:47387622G-A G A
+22 47387792 22:47387792T-C T C
+22 47387930 22:47387930A-T A T
+22 47388215 22:47388215C-T C T
+22 47388322 22:47388322G-C G C
+22 47388595 22:47388595C-T C T
+22 47388609 22:47388609G-A G A
+22 47388740 22:47388740T-C T C
+22 47389482 22:47389482G-A G A
+22 47390135 22:47390135C-A C A
+22 47390298 22:47390298C-T C T
+22 47390670 22:47390670T-G T G
+22 47390786 22:47390786A-T A T
+22 47391310 22:47391310T-C T C
+22 47391356 22:47391356A-G A G
+22 47391428 22:47391428T-A T A
+22 47393167 22:47393167C-T C T
+22 47393235 22:47393235A-G A G
+22 47393400 22:47393400G-A G A
+22 47394138 22:47394138C-T C T
+22 47394500 22:47394500A-G A G
+22 47395215 22:47395215T-C T C
+22 47397435 22:47397435G-A G A
+22 47398652 22:47398652C-T C T
+22 47399406 22:47399406G-A G A
+22 47399473 22:47399473G-C G C
+22 47399838 22:47399838A-C A C
+22 47401204 22:47401204G-A G A
+22 47402351 22:47402351T-G T G
+22 47402564 22:47402564C-T C T
+22 47403224 22:47403224C-T C T
+22 47403598 22:47403598T-G T G
+22 47405061 22:47405061A-C A C
+22 47406764 22:47406764A-T A T
+22 47407659 22:47407659T-C T C
+22 47408984 22:47408984C-T C T
+22 47410000 22:47410000A-G A G
+22 47410226 22:47410226G-A G A
+22 47411565 22:47411565A-G A G
+22 47411941 22:47411941G-A G A
+22 47412450 22:47412450G-A G A
+22 47412488 22:47412488T-C T C
+22 47413067 22:47413067G-T G T
+22 47413351 22:47413351G-A G A
+22 47413684 22:47413684A-G A G
+22 47414758 22:47414758T-A T A
+22 47415024 22:47415024A-G A G
+22 47415588 22:47415588A-C A C
+22 47415613 22:47415613G-T G T
+22 47415937 22:47415937C-A C A
+22 47416299 22:47416299T-C T C
+22 47416562 22:47416562G-A G A
+22 47416709 22:47416709T-A T A
+22 47416795 22:47416795C-G C G
+22 47416898 22:47416898A-T A T
+22 47418310 22:47418310A-G A G
+22 47418689 22:47418689T-C T C
+22 47418714 22:47418714G-A G A
+22 47419516 22:47419516A-G A G
+22 47419861 22:47419861A-G A G
+22 47420264 22:47420264A-G A G
+22 47420776 22:47420776A-G A G
+22 47420992 22:47420992A-G A G
+22 47421659 22:47421659T-G T G
+22 47422241 22:47422241T-C T C
+22 47422310 22:47422310G-A G A
+22 47422429 22:47422429T-A T A
+22 47423799 22:47423799C-T C T
+22 47423800 22:47423800C-T C T
+22 47423881 22:47423881G-A G A
+22 47425217 22:47425217C-A C A
+22 47425277 22:47425277C-T C T
+22 47425411 22:47425411C-T C T
+22 47425430 22:47425430C-G C G
+22 47425920 22:47425920A-T A T
+22 47426808 22:47426808C-G C G
+22 47427486 22:47427486T-C T C
+22 47427875 22:47427875C-G C G
+22 47429528 22:47429528G-C G C
+22 47429754 22:47429754G-A G A
+22 47430270 22:47430270C-T C T
+22 47430981 22:47430981C-T C T
+22 47432419 22:47432419G-C G C
+22 47433531 22:47433531A-T A T
+22 47433805 22:47433805T-C T C
+22 47434009 22:47434009T-A T A
+22 47434175 22:47434175G-A G A
+22 47434236 22:47434236T-G T G
+22 47435694 22:47435694C-T C T
+22 47436323 22:47436323G-A G A
+22 47436417 22:47436417G-C G C
+22 47436551 22:47436551G-A G A
+22 47436702 22:47436702G-A G A
+22 47436940 22:47436940G-A G A
+22 47437019 22:47437019G-C G C
+22 47437058 22:47437058C-A C A
+22 47437431 22:47437431A-C A C
+22 47437509 22:47437509G-A G A
+22 47437566 22:47437566C-T C T
+22 47437728 22:47437728A-T A T
+22 47437808 22:47437808T-C T C
+22 47437873 22:47437873A-G A G
+22 47438022 22:47438022C-G C G
+22 47438107 22:47438107T-C T C
+22 47438172 22:47438172A-G A G
+22 47438275 22:47438275A-C A C
+22 47438392 22:47438392A-G A G
+22 47438443 22:47438443C-T C T
+22 47438952 22:47438952C-A C A
+22 47438961 22:47438961T-C T C
+22 47439082 22:47439082A-G A G
+22 47439094 22:47439094T-C T C
+22 47439276 22:47439276T-C T C
+22 47439521 22:47439521G-A G A
+22 47440321 22:47440321G-C G C
+22 47440669 22:47440669G-A G A
+22 47440770 22:47440770T-C T C
+22 47440958 22:47440958G-A G A
+22 47441189 22:47441189C-T C T
+22 47441201 22:47441201C-T C T
+22 47441424 22:47441424T-C T C
+22 47441559 22:47441559T-C T C
+22 47441640 22:47441640T-G T G
+22 47441759 22:47441759C-T C T
+22 47441764 22:47441764A-T A T
+22 47441926 22:47441926T-C T C
+22 47441982 22:47441982G-A G A
+22 47441991 22:47441991G-A G A
+22 47442060 22:47442060A-C A C
+22 47442422 22:47442422G-A G A
+22 47442454 22:47442454A-G A G
+22 47442593 22:47442593G-A G A
+22 47442619 22:47442619C-T C T
+22 47442791 22:47442791G-A G A
+22 47443075 22:47443075T-C T C
+22 47443370 22:47443370A-G A G
+22 47443386 22:47443386G-T G T
+22 47443642 22:47443642G-A G A
+22 47443731 22:47443731C-T C T
+22 47443952 22:47443952A-G A G
+22 47444114 22:47444114A-G A G
+22 47444180 22:47444180G-A G A
+22 47444426 22:47444426C-T C T
+22 47444536 22:47444536C-T C T
+22 47444688 22:47444688A-G A G
+22 47444823 22:47444823G-C G C
+22 47444825 22:47444825G-C G C
+22 47444912 22:47444912C-G C G
+22 47445004 22:47445004A-G A G
+22 47445095 22:47445095A-G A G
+22 47445236 22:47445236A-G A G
+22 47445237 22:47445237T-C T C
+22 47445761 22:47445761A-G A G
+22 47445773 22:47445773A-G A G
+22 47445957 22:47445957G-A G A
+22 47446623 22:47446623G-A G A
+22 47446867 22:47446867G-A G A
+22 47447238 22:47447238A-C A C
+22 47447349 22:47447349A-C A C
+22 47447437 22:47447437C-T C T
+22 47447487 22:47447487A-G A G
+22 47447671 22:47447671G-A G A
+22 47448491 22:47448491C-G C G
+22 47448570 22:47448570C-G C G
+22 47448697 22:47448697C-G C G
+22 47449012 22:47449012C-G C G
+22 47449089 22:47449089G-A G A
+22 47449903 22:47449903C-G C G
+22 47450911 22:47450911G-A G A
+22 47451625 22:47451625C-T C T
+22 47451629 22:47451629G-A G A
+22 47451761 22:47451761G-T G T
+22 47451825 22:47451825G-A G A
+22 47452281 22:47452281C-T C T
+22 47452663 22:47452663G-A G A
+22 47453537 22:47453537C-T C T
+22 47454664 22:47454664G-A G A
+22 47454840 22:47454840G-T G T
+22 47456293 22:47456293A-G A G
+22 47456336 22:47456336G-T G T
+22 47456556 22:47456556G-A G A
+22 47456735 22:47456735A-G A G
+22 47457860 22:47457860A-C A C
+22 47458369 22:47458369C-T C T
+22 47458423 22:47458423G-A G A
+22 47458495 22:47458495G-A G A
+22 47458499 22:47458499C-T C T
+22 47458767 22:47458767G-A G A
+22 47458813 22:47458813T-C T C
+22 47458910 22:47458910G-A G A
+22 47459008 22:47459008T-C T C
+22 47459020 22:47459020G-A G A
+22 47459025 22:47459025C-G C G
+22 47459143 22:47459143A-G A G
+22 47459155 22:47459155C-T C T
+22 47459247 22:47459247T-C T C
+22 47459260 22:47459260T-C T C
+22 47459413 22:47459413T-C T C
+22 47459449 22:47459449G-A G A
+22 47459539 22:47459539C-A C A
+22 47459568 22:47459568T-G T G
+22 47459572 22:47459572T-C T C
+22 47459817 22:47459817G-T G T
+22 47459955 22:47459955C-T C T
+22 47460005 22:47460005C-T C T
+22 47460049 22:47460049G-A G A
+22 47460157 22:47460157T-C T C
+22 47460298 22:47460298G-T G T
+22 47460370 22:47460370T-C T C
+22 47460537 22:47460537G-A G A
+22 47460554 22:47460554G-A G A
+22 47460653 22:47460653A-T A T
+22 47460656 22:47460656A-G A G
+22 47460683 22:47460683C-T C T
+22 47460998 22:47460998G-A G A
+22 47461843 22:47461843T-C T C
+22 47461894 22:47461894C-T C T
+22 47462024 22:47462024G-A G A
+22 47462889 22:47462889C-T C T
+22 47463070 22:47463070G-A G A
+22 47463485 22:47463485T-C T C
+22 47463905 22:47463905C-T C T
+22 47464861 22:47464861A-G A G
+22 47465624 22:47465624G-T G T
+22 47466805 22:47466805T-G T G
+22 47466820 22:47466820G-A G A
+22 47467015 22:47467015G-A G A
+22 47467016 22:47467016A-G A G
+22 47467058 22:47467058T-A T A
+22 47467352 22:47467352T-C T C
+22 47467398 22:47467398G-C G C
+22 47467449 22:47467449C-A C A
+22 47467654 22:47467654A-G A G
+22 47468001 22:47468001G-A G A
+22 47468121 22:47468121C-T C T
+22 47468735 22:47468735T-C T C
+22 47468752 22:47468752C-T C T
+22 47469825 22:47469825A-G A G
+22 47469857 22:47469857C-T C T
+22 47470112 22:47470112C-T C T
+22 47470451 22:47470451T-G T G
+22 47470575 22:47470575A-G A G
+22 47470688 22:47470688A-T A T
+22 47470931 22:47470931A-G A G
+22 47471410 22:47471410C-T C T
+22 47471509 22:47471509A-G A G
+22 47471610 22:47471610A-G A G
+22 47471998 22:47471998A-T A T
+22 47472325 22:47472325T-C T C
+22 47472895 22:47472895C-G C G
+22 47472913 22:47472913G-A G A
+22 47473738 22:47473738T-G T G
+22 47473798 22:47473798G-A G A
+22 47474035 22:47474035G-A G A
+22 47475067 22:47475067C-A C A
+22 47475805 22:47475805T-C T C
+22 47476395 22:47476395G-T G T
+22 47476837 22:47476837A-G A G
+22 47477324 22:47477324A-G A G
+22 47477772 22:47477772G-A G A
+22 47478350 22:47478350C-T C T
+22 47478508 22:47478508C-G C G
+22 47478583 22:47478583A-G A G
+22 47478839 22:47478839G-A G A
+22 47479174 22:47479174G-A G A
+22 47479354 22:47479354G-A G A
+22 47479957 22:47479957G-A G A
+22 47480804 22:47480804G-A G A
+22 47483147 22:47483147C-T C T
+22 47484687 22:47484687G-T G T
+22 47485234 22:47485234A-G A G
+22 47485536 22:47485536C-G C G
+22 47486418 22:47486418A-G A G
+22 47487053 22:47487053C-G C G
+22 47488089 22:47488089G-A G A
+22 47488132 22:47488132T-C T C
+22 47488773 22:47488773C-T C T
+22 47489206 22:47489206G-C G C
+22 47489470 22:47489470A-G A G
+22 47489553 22:47489553G-A G A
+22 47490197 22:47490197G-A G A
+22 47490282 22:47490282A-G A G
+22 47490503 22:47490503G-A G A
+22 47490617 22:47490617T-C T C
+22 47490685 22:47490685C-T C T
+22 47491015 22:47491015T-C T C
+22 47491183 22:47491183C-G C G
+22 47491459 22:47491459G-A G A
+22 47491537 22:47491537T-G T G
+22 47492189 22:47492189A-G A G
+22 47492213 22:47492213T-C T C
+22 47494446 22:47494446A-G A G
+22 47494608 22:47494608C-A C A
+22 47496015 22:47496015T-C T C
+22 47496352 22:47496352G-A G A
+22 47496640 22:47496640T-G T G
+22 47497208 22:47497208G-A G A
+22 47497788 22:47497788C-T C T
+22 47499549 22:47499549A-G A G
+22 47500546 22:47500546A-G A G
+22 47500783 22:47500783C-T C T
+22 47500904 22:47500904C-T C T
+22 47501080 22:47501080A-G A G
+22 47501133 22:47501133T-A T A
+22 47502857 22:47502857T-C T C
+22 47503067 22:47503067T-G T G
+22 47503364 22:47503364T-C T C
+22 47503584 22:47503584A-G A G
+22 47503851 22:47503851C-T C T
+22 47503964 22:47503964C-T C T
+22 47504115 22:47504115G-A G A
+22 47504205 22:47504205A-C A C
+22 47504282 22:47504282G-A G A
+22 47504556 22:47504556T-C T C
+22 47504899 22:47504899A-G A G
+22 47505299 22:47505299T-C T C
+22 47505514 22:47505514T-C T C
+22 47505663 22:47505663G-C G C
+22 47505742 22:47505742C-T C T
+22 47506045 22:47506045C-T C T
+22 47506133 22:47506133C-T C T
+22 47506160 22:47506160G-A G A
+22 47507854 22:47507854G-A G A
+22 47508573 22:47508573C-T C T
+22 47508576 22:47508576A-G A G
+22 47509872 22:47509872G-C G C
+22 47509921 22:47509921G-A G A
+22 47510778 22:47510778G-A G A
+22 47511446 22:47511446G-A G A
+22 47511496 22:47511496C-T C T
+22 47512496 22:47512496G-A G A
+22 47514913 22:47514913C-T C T
+22 47515485 22:47515485T-C T C
+22 47517109 22:47517109C-G C G
+22 47518044 22:47518044G-A G A
+22 47518660 22:47518660C-T C T
+22 47518831 22:47518831G-A G A
+22 47519476 22:47519476C-T C T
+22 47519604 22:47519604G-A G A
+22 47519909 22:47519909G-A G A
+22 47520809 22:47520809T-G T G
+22 47521115 22:47521115T-A T A
+22 47521990 22:47521990G-A G A
+22 47522464 22:47522464A-G A G
+22 47523075 22:47523075T-C T C
+22 47523342 22:47523342A-G A G
+22 47523551 22:47523551C-T C T
+22 47524075 22:47524075G-A G A
+22 47524936 22:47524936A-G A G
+22 47525744 22:47525744G-A G A
+22 47527594 22:47527594G-A G A
+22 47528138 22:47528138G-A G A
+22 47528634 22:47528634A-G A G
+22 47529157 22:47529157G-A G A
+22 47529458 22:47529458G-A G A
+22 47530039 22:47530039A-G A G
+22 47530043 22:47530043T-C T C
+22 47530056 22:47530056G-T G T
+22 47530071 22:47530071G-C G C
+22 47530149 22:47530149G-T G T
+22 47530706 22:47530706G-A G A
+22 47530945 22:47530945G-A G A
+22 47530981 22:47530981G-A G A
+22 47531320 22:47531320C-T C T
+22 47531781 22:47531781G-T G T
+22 47532014 22:47532014T-C T C
+22 47532192 22:47532192C-G C G
+22 47532396 22:47532396A-G A G
+22 47532487 22:47532487C-A C A
+22 47532591 22:47532591T-C T C
+22 47532641 22:47532641T-C T C
+22 47533337 22:47533337G-A G A
+22 47533458 22:47533458C-A C A
+22 47534597 22:47534597G-A G A
+22 47535882 22:47535882T-C T C
+22 47536701 22:47536701T-C T C
+22 47536762 22:47536762A-G A G
+22 47538739 22:47538739G-A G A
+22 47539473 22:47539473C-G C G
+22 47539561 22:47539561A-G A G
+22 47540638 22:47540638A-T A T
+22 47541292 22:47541292G-A G A
+22 47541759 22:47541759G-A G A
+22 47543406 22:47543406T-C T C
+22 47543593 22:47543593G-T G T
+22 47543791 22:47543791A-G A G
+22 47543943 22:47543943C-T C T
+22 47544979 22:47544979A-G A G
+22 47545242 22:47545242A-G A G
+22 47546271 22:47546271T-C T C
+22 47546287 22:47546287C-T C T
+22 47547142 22:47547142A-G A G
+22 47547713 22:47547713A-G A G
+22 47548112 22:47548112C-A C A
+22 47548188 22:47548188C-T C T
+22 47548321 22:47548321C-T C T
+22 47548538 22:47548538G-A G A
+22 47548650 22:47548650C-T C T
+22 47548684 22:47548684C-T C T
+22 47548877 22:47548877A-G A G
+22 47548949 22:47548949G-A G A
+22 47549823 22:47549823A-G A G
+22 47551004 22:47551004C-T C T
+22 47551527 22:47551527T-C T C
+22 47551628 22:47551628G-C G C
+22 47551891 22:47551891T-C T C
+22 47552475 22:47552475G-A G A
+22 47552523 22:47552523G-A G A
+22 47552621 22:47552621G-A G A
+22 47552651 22:47552651A-G A G
+22 47552705 22:47552705G-A G A
+22 47552855 22:47552855G-A G A
+22 47553037 22:47553037C-G C G
+22 47553202 22:47553202G-A G A
+22 47553250 22:47553250T-C T C
+22 47553280 22:47553280T-C T C
+22 47553354 22:47553354C-T C T
+22 47553865 22:47553865A-G A G
+22 47554141 22:47554141A-C A C
+22 47554186 22:47554186C-G C G
+22 47554289 22:47554289G-A G A
+22 47554303 22:47554303C-T C T
+22 47554391 22:47554391T-C T C
+22 47554583 22:47554583C-T C T
+22 47554811 22:47554811G-A G A
+22 47555475 22:47555475G-A G A
+22 47555844 22:47555844A-G A G
+22 47555917 22:47555917T-A T A
+22 47556231 22:47556231G-A G A
+22 47556343 22:47556343C-T C T
+22 47556391 22:47556391G-A G A
+22 47556506 22:47556506C-A C A
+22 47556717 22:47556717C-A C A
+22 47556935 22:47556935C-G C G
+22 47557223 22:47557223G-C G C
+22 47557409 22:47557409C-T C T
+22 47557477 22:47557477G-C G C
+22 47557483 22:47557483C-T C T
+22 47557638 22:47557638G-A G A
+22 47557878 22:47557878A-G A G
+22 47557977 22:47557977T-C T C
+22 47558106 22:47558106C-T C T
+22 47558181 22:47558181A-G A G
+22 47558267 22:47558267T-C T C
+22 47558512 22:47558512C-T C T
+22 47558596 22:47558596A-G A G
+22 47558684 22:47558684C-T C T
+22 47558805 22:47558805C-T C T
+22 47559449 22:47559449G-T G T
+22 47559548 22:47559548A-G A G
+22 47559585 22:47559585A-G A G
+22 47559797 22:47559797G-A G A
+22 47559909 22:47559909T-G T G
+22 47560177 22:47560177C-G C G
+22 47560334 22:47560334A-G A G
+22 47560378 22:47560378G-C G C
+22 47560432 22:47560432C-G C G
+22 47560778 22:47560778T-C T C
+22 47561180 22:47561180T-C T C
+22 47561347 22:47561347G-C G C
+22 47561467 22:47561467A-G A G
+22 47561788 22:47561788C-T C T
+22 47561981 22:47561981C-T C T
+22 47562476 22:47562476G-A G A
+22 47562655 22:47562655T-C T C
+22 47562924 22:47562924A-G A G
+22 47562997 22:47562997T-C T C
+22 47563289 22:47563289G-C G C
+22 47563402 22:47563402A-G A G
+22 47563471 22:47563471G-A G A
+22 47563755 22:47563755C-T C T
+22 47564781 22:47564781C-G C G
+22 47564992 22:47564992C-T C T
+22 47565035 22:47565035A-G A G
+22 47565306 22:47565306C-T C T
+22 47565483 22:47565483G-A G A
+22 47565882 22:47565882C-G C G
+22 47565931 22:47565931A-G A G
+22 47566251 22:47566251T-C T C
+22 47566682 22:47566682A-G A G
+22 47566744 22:47566744G-A G A
+22 47567319 22:47567319C-T C T
+22 47567871 22:47567871T-C T C
+22 47568203 22:47568203A-G A G
+22 47568291 22:47568291T-C T C
+22 47568448 22:47568448G-C G C
+22 47568818 22:47568818G-A G A
+22 47568971 22:47568971C-T C T
+22 47569605 22:47569605G-C G C
+22 47570544 22:47570544G-A G A
+22 47571085 22:47571085C-T C T
+22 47571203 22:47571203G-A G A
+22 47571480 22:47571480G-A G A
+22 47572322 22:47572322T-C T C
+22 47572388 22:47572388T-C T C
+22 47572713 22:47572713A-G A G
+22 47572997 22:47572997G-A G A
+22 47573065 22:47573065C-A C A
+22 47573107 22:47573107A-G A G
+22 47573148 22:47573148C-T C T
+22 47573257 22:47573257T-C T C
+22 47573451 22:47573451G-A G A
+22 47573485 22:47573485G-A G A
+22 47573516 22:47573516C-T C T
+22 47573810 22:47573810G-C G C
+22 47573827 22:47573827G-A G A
+22 47574009 22:47574009T-C T C
+22 47574088 22:47574088G-A G A
+22 47574339 22:47574339A-T A T
+22 47599811 22:47599811G-A G A
+22 47599841 22:47599841C-T C T
+22 47599916 22:47599916C-T C T
+22 47600154 22:47600154T-A T A
+22 47600356 22:47600356T-C T C
+22 47600391 22:47600391A-G A G
+22 47600443 22:47600443T-C T C
+22 47600576 22:47600576C-T C T
+22 47600969 22:47600969C-T C T
+22 47601195 22:47601195T-G T G
+22 47601211 22:47601211A-G A G
+22 47601260 22:47601260T-C T C
+22 47601555 22:47601555C-T C T
+22 47601589 22:47601589A-G A G
+22 47602507 22:47602507G-A G A
+22 47602640 22:47602640C-T C T
+22 47603169 22:47603169A-C A C
+22 47603346 22:47603346T-C T C
+22 47603497 22:47603497A-C A C
+22 47603947 22:47603947T-C T C
+22 47604319 22:47604319C-T C T
+22 47604336 22:47604336A-C A C
+22 47604571 22:47604571T-C T C
+22 47605031 22:47605031T-C T C
+22 47605254 22:47605254C-T C T
+22 47605356 22:47605356A-G A G
+22 47605533 22:47605533C-T C T
+22 47605937 22:47605937A-G A G
+22 47606013 22:47606013T-C T C
+22 47608540 22:47608540T-C T C
+22 47608641 22:47608641T-C T C
+22 47608672 22:47608672C-T C T
+22 47608801 22:47608801A-G A G
+22 47611201 22:47611201A-G A G
+22 47611493 22:47611493A-G A G
+22 47611540 22:47611540A-G A G
+22 47614730 22:47614730C-G C G
+22 47615157 22:47615157C-T C T
+22 47615536 22:47615536A-T A T
+22 47615749 22:47615749G-A G A
+22 47616090 22:47616090C-G C G
+22 47617132 22:47617132A-G A G
+22 47617474 22:47617474G-A G A
+22 47618045 22:47618045C-T C T
+22 47618561 22:47618561A-G A G
+22 47619415 22:47619415G-A G A
+22 47619420 22:47619420C-G C G
+22 47619594 22:47619594G-A G A
+22 47619793 22:47619793A-G A G
+22 47619861 22:47619861C-A C A
+22 47620249 22:47620249G-A G A
+22 47620363 22:47620363T-C T C
+22 47620477 22:47620477G-A G A
+22 47620677 22:47620677G-A G A
+22 47620898 22:47620898G-A G A
+22 47620975 22:47620975T-C T C
+22 47620994 22:47620994C-T C T
+22 47621136 22:47621136T-C T C
+22 47621181 22:47621181C-A C A
+22 47622011 22:47622011C-G C G
+22 47622599 22:47622599G-A G A
+22 47622870 22:47622870G-A G A
+22 47623002 22:47623002C-T C T
+22 47623528 22:47623528C-T C T
+22 47623942 22:47623942C-T C T
+22 47624349 22:47624349C-T C T
+22 47624668 22:47624668C-T C T
+22 47624964 22:47624964A-G A G
+22 47625078 22:47625078A-G A G
+22 47625244 22:47625244A-C A C
+22 47625285 22:47625285G-C G C
+22 47625392 22:47625392A-G A G
+22 47625648 22:47625648G-T G T
+22 47625743 22:47625743G-A G A
+22 47625777 22:47625777A-G A G
+22 47626036 22:47626036T-C T C
+22 47626346 22:47626346A-G A G
+22 47627051 22:47627051A-G A G
+22 47627231 22:47627231C-T C T
+22 47627818 22:47627818C-G C G
+22 47628183 22:47628183A-G A G
+22 47628673 22:47628673G-T G T
+22 47628817 22:47628817T-C T C
+22 47629503 22:47629503G-A G A
+22 47630811 22:47630811A-C A C
+22 47631021 22:47631021G-A G A
+22 47631256 22:47631256T-G T G
+22 47631491 22:47631491G-A G A
+22 47631665 22:47631665T-C T C
+22 47631713 22:47631713T-G T G
+22 47632005 22:47632005T-G T G
+22 47632019 22:47632019G-T G T
+22 47632034 22:47632034T-C T C
+22 47632674 22:47632674A-T A T
+22 47633238 22:47633238G-A G A
+22 47633989 22:47633989A-G A G
+22 47634052 22:47634052C-G C G
+22 47634327 22:47634327C-T C T
+22 47634970 22:47634970G-A G A
+22 47635291 22:47635291G-T G T
+22 47636116 22:47636116G-T G T
+22 47637995 22:47637995C-T C T
+22 47638965 22:47638965G-C G C
+22 47642100 22:47642100C-T C T
+22 47643472 22:47643472C-T C T
+22 47643653 22:47643653C-T C T
+22 47643750 22:47643750A-G A G
+22 47643948 22:47643948A-T A T
+22 47644649 22:47644649C-T C T
+22 47644846 22:47644846C-G C G
+22 47645186 22:47645186C-T C T
+22 47645285 22:47645285G-A G A
+22 47645317 22:47645317C-T C T
+22 47646000 22:47646000G-A G A
+22 47646051 22:47646051T-C T C
+22 47646342 22:47646342T-C T C
+22 47646483 22:47646483T-C T C
+22 47646583 22:47646583G-T G T
+22 47646844 22:47646844C-T C T
+22 47647202 22:47647202G-A G A
+22 47647385 22:47647385G-A G A
+22 47647430 22:47647430C-A C A
+22 47647468 22:47647468G-A G A
+22 47647572 22:47647572G-A G A
+22 47648107 22:47648107C-T C T
+22 47648233 22:47648233C-A C A
+22 47648431 22:47648431A-G A G
+22 47648441 22:47648441G-A G A
+22 47648670 22:47648670C-T C T
+22 47648791 22:47648791C-A C A
+22 47648948 22:47648948C-T C T
+22 47650249 22:47650249A-G A G
+22 47652048 22:47652048G-T G T
+22 47652614 22:47652614C-A C A
+22 47653268 22:47653268C-G C G
+22 47653468 22:47653468C-T C T
+22 47653549 22:47653549A-G A G
+22 47655072 22:47655072T-C T C
+22 47655275 22:47655275C-A C A
+22 47657108 22:47657108T-C T C
+22 47657277 22:47657277T-A T A
+22 47657635 22:47657635C-T C T
+22 47658494 22:47658494C-G C G
+22 47659014 22:47659014C-T C T
+22 47659176 22:47659176C-G C G
+22 47659250 22:47659250G-A G A
+22 47661453 22:47661453C-T C T
+22 47661726 22:47661726A-G A G
+22 47661881 22:47661881G-T G T
+22 47662211 22:47662211C-T C T
+22 47662836 22:47662836G-A G A
+22 47663026 22:47663026G-A G A
+22 47663686 22:47663686T-G T G
+22 47664594 22:47664594G-T G T
+22 47664734 22:47664734A-G A G
+22 47664740 22:47664740T-C T C
+22 47664826 22:47664826G-A G A
+22 47665155 22:47665155C-G C G
+22 47665161 22:47665161G-A G A
+22 47665204 22:47665204A-G A G
+22 47665229 22:47665229G-A G A
+22 47665443 22:47665443G-A G A
+22 47665797 22:47665797A-C A C
+22 47666205 22:47666205G-A G A
+22 47667279 22:47667279A-G A G
+22 47667464 22:47667464G-C G C
+22 47670894 22:47670894T-C T C
+22 47671028 22:47671028A-G A G
+22 47671207 22:47671207T-C T C
+22 47671400 22:47671400C-T C T
+22 47671579 22:47671579C-T C T
+22 47671680 22:47671680C-T C T
+22 47673252 22:47673252A-G A G
+22 47673558 22:47673558G-A G A
+22 47673948 22:47673948C-G C G
+22 47674363 22:47674363C-T C T
+22 47674548 22:47674548A-G A G
+22 47675283 22:47675283T-C T C
+22 47678926 22:47678926G-A G A
+22 47679087 22:47679087T-C T C
+22 47679296 22:47679296T-C T C
+22 47679506 22:47679506G-A G A
+22 47679901 22:47679901C-T C T
+22 47680100 22:47680100G-T G T
+22 47680910 22:47680910A-G A G
+22 47682871 22:47682871C-G C G
+22 47683076 22:47683076A-T A T
+22 47683564 22:47683564T-C T C
+22 47683805 22:47683805T-C T C
+22 47684780 22:47684780C-A C A
+22 47685036 22:47685036T-C T C
+22 47685667 22:47685667G-T G T
+22 47685933 22:47685933C-T C T
+22 47686103 22:47686103T-C T C
+22 47686174 22:47686174A-G A G
+22 47686283 22:47686283G-A G A
+22 47686355 22:47686355C-T C T
+22 47686744 22:47686744C-T C T
+22 47687094 22:47687094T-G T G
+22 47687170 22:47687170G-A G A
+22 47687560 22:47687560C-T C T
+22 47687618 22:47687618T-C T C
+22 47688003 22:47688003C-T C T
+22 47688227 22:47688227T-C T C
+22 47688349 22:47688349C-T C T
+22 47688657 22:47688657G-A G A
+22 47688965 22:47688965T-C T C
+22 47689191 22:47689191G-T G T
+22 47689334 22:47689334T-G T G
+22 47689846 22:47689846G-A G A
+22 47691991 22:47691991C-T C T
+22 47692123 22:47692123G-A G A
+22 47692302 22:47692302A-G A G
+22 47692431 22:47692431T-A T A
+22 47692561 22:47692561A-G A G
+22 47692636 22:47692636G-A G A
+22 47693226 22:47693226A-G A G
+22 47693630 22:47693630C-T C T
+22 47693701 22:47693701C-T C T
+22 47695183 22:47695183C-T C T
+22 47695240 22:47695240T-C T C
+22 47695828 22:47695828C-T C T
+22 47698193 22:47698193A-G A G
+22 47698266 22:47698266T-A T A
+22 47698635 22:47698635T-C T C
+22 47699003 22:47699003A-G A G
+22 47699213 22:47699213T-C T C
+22 47699417 22:47699417G-T G T
+22 47699921 22:47699921C-T C T
+22 47700571 22:47700571C-T C T
+22 47701326 22:47701326A-G A G
+22 47701711 22:47701711T-C T C
+22 47702438 22:47702438T-C T C
+22 47703349 22:47703349C-T C T
+22 47703390 22:47703390C-A C A
+22 47704354 22:47704354A-G A G
+22 47704686 22:47704686G-C G C
+22 47704844 22:47704844T-C T C
+22 47704855 22:47704855G-C G C
+22 47706008 22:47706008A-G A G
+22 47706455 22:47706455C-T C T
+22 47706502 22:47706502G-A G A
+22 47706519 22:47706519G-A G A
+22 47707193 22:47707193T-C T C
+22 47707744 22:47707744G-A G A
+22 47707793 22:47707793G-C G C
+22 47707809 22:47707809C-T C T
+22 47707928 22:47707928T-A T A
+22 47708377 22:47708377G-T G T
+22 47708697 22:47708697C-G C G
+22 47709744 22:47709744C-T C T
+22 47709888 22:47709888G-A G A
+22 47710815 22:47710815G-A G A
+22 47711286 22:47711286C-T C T
+22 47711496 22:47711496C-A C A
+22 47711836 22:47711836C-T C T
+22 47712239 22:47712239C-T C T
+22 47712676 22:47712676T-C T C
+22 47712679 22:47712679G-A G A
+22 47712684 22:47712684G-A G A
+22 47712948 22:47712948T-C T C
+22 47713036 22:47713036C-T C T
+22 47713121 22:47713121C-T C T
+22 47713478 22:47713478G-A G A
+22 47713848 22:47713848G-A G A
+22 47715079 22:47715079C-A C A
+22 47715107 22:47715107C-T C T
+22 47715120 22:47715120G-A G A
+22 47715159 22:47715159C-G C G
+22 47715436 22:47715436G-A G A
+22 47715462 22:47715462G-A G A
+22 47715467 22:47715467G-A G A
+22 47715723 22:47715723C-T C T
+22 47715811 22:47715811T-C T C
+22 47715863 22:47715863T-C T C
+22 47715871 22:47715871T-C T C
+22 47716246 22:47716246T-C T C
+22 47716627 22:47716627A-T A T
+22 47716781 22:47716781C-T C T
+22 47717140 22:47717140C-T C T
+22 47717404 22:47717404A-C A C
+22 47717644 22:47717644G-A G A
+22 47718004 22:47718004G-A G A
+22 47718670 22:47718670G-T G T
+22 47718677 22:47718677T-C T C
+22 47719793 22:47719793A-G A G
+22 47719867 22:47719867G-T G T
+22 47720562 22:47720562T-C T C
+22 47720973 22:47720973C-T C T
+22 47722969 22:47722969T-C T C
+22 47723265 22:47723265C-T C T
+22 47723857 22:47723857C-T C T
+22 47724528 22:47724528C-T C T
+22 47724612 22:47724612A-T A T
+22 47724800 22:47724800G-A G A
+22 47724923 22:47724923T-C T C
+22 47725032 22:47725032T-C T C
+22 47725254 22:47725254C-T C T
+22 47725385 22:47725385C-T C T
+22 47726045 22:47726045C-T C T
+22 47726089 22:47726089C-T C T
+22 47726216 22:47726216A-C A C
+22 47726721 22:47726721G-A G A
+22 47727580 22:47727580A-G A G
+22 47727698 22:47727698A-G A G
+22 47728935 22:47728935A-G A G
+22 47728955 22:47728955T-C T C
+22 47728994 22:47728994A-G A G
+22 47729299 22:47729299T-C T C
+22 47729347 22:47729347T-A T A
+22 47730103 22:47730103C-T C T
+22 47730490 22:47730490C-G C G
+22 47730954 22:47730954C-T C T
+22 47732740 22:47732740A-G A G
+22 47732778 22:47732778G-A G A
+22 47732918 22:47732918C-G C G
+22 47733454 22:47733454C-T C T
+22 47734858 22:47734858C-T C T
+22 47735287 22:47735287C-G C G
+22 47735419 22:47735419G-A G A
+22 47735768 22:47735768T-A T A
+22 47736018 22:47736018T-C T C
+22 47736491 22:47736491C-T C T
+22 47736997 22:47736997A-G A G
+22 47738579 22:47738579C-T C T
+22 47738688 22:47738688A-G A G
+22 47739755 22:47739755G-C G C
+22 47739902 22:47739902G-A G A
+22 47740202 22:47740202G-A G A
+22 47740447 22:47740447A-G A G
+22 47740890 22:47740890C-T C T
+22 47744495 22:47744495C-T C T
+22 47746101 22:47746101C-T C T
+22 47746112 22:47746112C-T C T
+22 47746133 22:47746133T-C T C
+22 47746565 22:47746565C-A C A
+22 47746665 22:47746665A-G A G
+22 47747000 22:47747000G-A G A
+22 47747271 22:47747271G-A G A
+22 47747938 22:47747938A-G A G
+22 47748199 22:47748199C-T C T
+22 47748510 22:47748510T-C T C
+22 47748531 22:47748531G-A G A
+22 47748550 22:47748550G-A G A
+22 47748572 22:47748572G-A G A
+22 47748764 22:47748764G-A G A
+22 47748991 22:47748991G-T G T
+22 47749349 22:47749349T-G T G
+22 47749697 22:47749697G-C G C
+22 47750127 22:47750127C-T C T
+22 47750724 22:47750724C-T C T
+22 47750957 22:47750957T-C T C
+22 47752111 22:47752111G-T G T
+22 47752282 22:47752282T-C T C
+22 47753575 22:47753575A-G A G
+22 47755325 22:47755325G-T G T
+22 47756814 22:47756814C-T C T
+22 47757314 22:47757314T-C T C
+22 47757547 22:47757547T-A T A
+22 47758290 22:47758290T-C T C
+22 47758962 22:47758962A-G A G
+22 47759869 22:47759869G-T G T
+22 47763030 22:47763030G-A G A
+22 47763089 22:47763089C-G C G
+22 47763158 22:47763158T-C T C
+22 47763424 22:47763424T-C T C
+22 47764461 22:47764461A-G A G
+22 47765729 22:47765729C-T C T
+22 47766183 22:47766183G-A G A
+22 47766219 22:47766219C-T C T
+22 47766596 22:47766596G-A G A
+22 47766657 22:47766657C-T C T
+22 47767673 22:47767673G-A G A
+22 47767893 22:47767893A-G A G
+22 47768023 22:47768023T-G T G
+22 47768926 22:47768926A-G A G
+22 47769285 22:47769285G-A G A
+22 47769299 22:47769299C-A C A
+22 47769312 22:47769312T-C T C
+22 47769628 22:47769628A-G A G
+22 47769712 22:47769712C-T C T
+22 47769905 22:47769905G-A G A
+22 47769943 22:47769943C-A C A
+22 47769944 22:47769944G-A G A
+22 47770013 22:47770013G-A G A
+22 47770216 22:47770216A-G A G
+22 47770538 22:47770538C-G C G
+22 47770651 22:47770651G-C G C
+22 47771300 22:47771300G-A G A
+22 47771550 22:47771550G-A G A
+22 47771805 22:47771805G-A G A
+22 47771877 22:47771877A-C A C
+22 47772696 22:47772696T-C T C
+22 47772864 22:47772864G-A G A
+22 47772918 22:47772918G-C G C
+22 47773920 22:47773920A-G A G
+22 47774429 22:47774429T-C T C
+22 47775753 22:47775753T-C T C
+22 47775981 22:47775981G-A G A
+22 47776020 22:47776020C-G C G
+22 47776528 22:47776528A-C A C
+22 47776545 22:47776545C-T C T
+22 47777421 22:47777421G-C G C
+22 47777597 22:47777597A-G A G
+22 47778801 22:47778801C-T C T
+22 47778807 22:47778807C-T C T
+22 47779758 22:47779758C-T C T
+22 47779794 22:47779794C-T C T
+22 47780108 22:47780108C-A C A
+22 47780385 22:47780385T-C T C
+22 47780845 22:47780845C-T C T
+22 47780868 22:47780868G-A G A
+22 47781321 22:47781321A-T A T
+22 47781347 22:47781347T-C T C
+22 47781387 22:47781387C-T C T
+22 47781662 22:47781662C-T C T
+22 47781680 22:47781680C-T C T
+22 47781770 22:47781770C-T C T
+22 47782346 22:47782346C-T C T
+22 47782746 22:47782746T-A T A
+22 47783169 22:47783169C-T C T
+22 47783287 22:47783287G-A G A
+22 47783452 22:47783452G-A G A
+22 47783465 22:47783465T-G T G
+22 47783906 22:47783906G-C G C
+22 47784577 22:47784577C-G C G
+22 47784894 22:47784894G-A G A
+22 47785136 22:47785136G-A G A
+22 47785610 22:47785610C-T C T
+22 47785630 22:47785630C-T C T
+22 47785698 22:47785698G-A G A
+22 47785985 22:47785985A-C A C
+22 47786014 22:47786014G-A G A
+22 47786315 22:47786315G-C G C
+22 47786404 22:47786404C-T C T
+22 47786624 22:47786624T-C T C
+22 47786662 22:47786662G-A G A
+22 47786891 22:47786891T-C T C
+22 47787863 22:47787863C-A C A
+22 47788003 22:47788003G-A G A
+22 47788018 22:47788018T-C T C
+22 47788023 22:47788023G-A G A
+22 47788629 22:47788629C-T C T
+22 47788842 22:47788842G-C G C
+22 47788910 22:47788910G-T G T
+22 47788961 22:47788961C-A C A
+22 47789099 22:47789099T-A T A
+22 47789424 22:47789424C-T C T
+22 47789474 22:47789474T-C T C
+22 47790055 22:47790055T-A T A
+22 47790072 22:47790072T-C T C
+22 47790396 22:47790396G-A G A
+22 47790719 22:47790719T-G T G
+22 47790857 22:47790857A-G A G
+22 47791285 22:47791285G-A G A
+22 47791677 22:47791677G-A G A
+22 47791840 22:47791840C-T C T
+22 47792613 22:47792613T-C T C
+22 47793443 22:47793443C-T C T
+22 47794456 22:47794456C-A C A
+22 47795392 22:47795392G-A G A
+22 47796088 22:47796088C-T C T
+22 47796600 22:47796600T-C T C
+22 47796638 22:47796638G-A G A
+22 47797070 22:47797070C-T C T
+22 47797442 22:47797442C-T C T
+22 47797599 22:47797599T-C T C
+22 47799105 22:47799105C-T C T
+22 47799441 22:47799441C-T C T
+22 47799675 22:47799675G-A G A
+22 47800416 22:47800416C-T C T
+22 47800559 22:47800559A-G A G
+22 47801909 22:47801909G-A G A
+22 47802627 22:47802627T-A T A
+22 47802782 22:47802782A-G A G
+22 47802810 22:47802810T-C T C
+22 47803402 22:47803402A-G A G
+22 47804539 22:47804539G-A G A
+22 47804616 22:47804616G-A G A
+22 47805170 22:47805170C-A C A
+22 47805572 22:47805572T-C T C
+22 47805624 22:47805624T-C T C
+22 47805677 22:47805677T-C T C
+22 47806196 22:47806196G-A G A
+22 47806356 22:47806356T-C T C
+22 47806774 22:47806774A-G A G
+22 47806929 22:47806929T-A T A
+22 47807456 22:47807456C-G C G
+22 47807852 22:47807852A-G A G
+22 47808009 22:47808009T-C T C
+22 47808713 22:47808713T-C T C
+22 47809200 22:47809200T-C T C
+22 47809740 22:47809740A-C A C
+22 47810734 22:47810734A-C A C
+22 47810921 22:47810921T-A T A
+22 47811675 22:47811675C-T C T
+22 47814382 22:47814382T-C T C
+22 47814386 22:47814386G-C G C
+22 47814530 22:47814530A-G A G
+22 47817941 22:47817941G-T G T
+22 47818204 22:47818204C-A C A
+22 47818957 22:47818957A-T A T
+22 47819245 22:47819245G-A G A
+22 47819383 22:47819383G-A G A
+22 47820233 22:47820233C-G C G
+22 47820423 22:47820423C-A C A
+22 47820668 22:47820668C-T C T
+22 47821024 22:47821024G-C G C
+22 47821952 22:47821952A-G A G
+22 47822571 22:47822571T-A T A
+22 47823123 22:47823123C-T C T
+22 47823372 22:47823372G-A G A
+22 47823464 22:47823464A-G A G
+22 47823761 22:47823761T-G T G
+22 47824237 22:47824237T-C T C
+22 47824296 22:47824296A-T A T
+22 47824342 22:47824342T-C T C
+22 47824783 22:47824783T-C T C
+22 47824784 22:47824784G-A G A
+22 47824850 22:47824850C-T C T
+22 47826334 22:47826334C-T C T
+22 47826606 22:47826606C-G C G
+22 47827285 22:47827285T-C T C
+22 47827401 22:47827401G-T G T
+22 47827866 22:47827866C-G C G
+22 47828194 22:47828194G-A G A
+22 47828783 22:47828783C-T C T
+22 47830034 22:47830034C-A C A
+22 47830777 22:47830777C-T C T
+22 47831607 22:47831607A-G A G
+22 47832112 22:47832112G-A G A
+22 47832491 22:47832491G-A G A
+22 47832502 22:47832502T-G T G
+22 47832679 22:47832679A-G A G
+22 47833294 22:47833294G-A G A
+22 47833323 22:47833323G-C G C
+22 47833613 22:47833613T-C T C
+22 47834667 22:47834667A-G A G
+22 47834839 22:47834839C-A C A
+22 47835593 22:47835593T-A T A
+22 47835833 22:47835833G-A G A
+22 47836412 22:47836412G-A G A
+22 47836819 22:47836819A-G A G
+22 47836949 22:47836949C-A C A
+22 47837011 22:47837011A-G A G
+22 47837513 22:47837513C-T C T
+22 47837729 22:47837729C-T C T
+22 47839006 22:47839006T-A T A
+22 47839042 22:47839042T-C T C
+22 47839090 22:47839090C-T C T
+22 47839999 22:47839999G-A G A
+22 47840122 22:47840122C-T C T
+22 47841258 22:47841258G-A G A
+22 47842211 22:47842211T-C T C
+22 47842223 22:47842223A-G A G
+22 47842303 22:47842303A-G A G
+22 47842750 22:47842750G-C G C
+22 47842948 22:47842948G-A G A
+22 47843546 22:47843546T-C T C
+22 47844791 22:47844791A-G A G
+22 47846204 22:47846204A-C A C
+22 47847984 22:47847984A-C A C
+22 47848129 22:47848129G-C G C
+22 47850486 22:47850486A-C A C
+22 47850935 22:47850935C-T C T
+22 47851349 22:47851349G-A G A
+22 47851757 22:47851757A-G A G
+22 47852043 22:47852043C-T C T
+22 47852187 22:47852187T-C T C
+22 47852380 22:47852380G-A G A
+22 47854776 22:47854776A-C A C
+22 47857295 22:47857295T-C T C
+22 47857537 22:47857537T-C T C
+22 47857551 22:47857551T-G T G
+22 47857576 22:47857576A-G A G
+22 47859199 22:47859199C-T C T
+22 47859486 22:47859486G-T G T
+22 47859498 22:47859498C-T C T
+22 47859819 22:47859819G-C G C
+22 47859894 22:47859894C-T C T
+22 47860219 22:47860219T-C T C
+22 47860236 22:47860236C-T C T
+22 47860642 22:47860642T-G T G
+22 47860679 22:47860679C-T C T
+22 47861355 22:47861355T-C T C
+22 47862244 22:47862244G-A G A
+22 47862400 22:47862400A-G A G
+22 47862727 22:47862727A-G A G
+22 47863061 22:47863061G-A G A
+22 47864650 22:47864650C-T C T
+22 47864764 22:47864764T-G T G
+22 47867172 22:47867172T-C T C
+22 47867190 22:47867190A-G A G
+22 47869472 22:47869472G-A G A
+22 47870473 22:47870473T-G T G
+22 47870503 22:47870503C-T C T
+22 47870710 22:47870710C-T C T
+22 47871236 22:47871236C-A C A
+22 47871836 22:47871836T-C T C
+22 47872244 22:47872244G-A G A
+22 47872542 22:47872542G-A G A
+22 47872743 22:47872743G-A G A
+22 47873022 22:47873022G-T G T
+22 47874308 22:47874308A-T A T
+22 47874672 22:47874672G-A G A
+22 47877950 22:47877950C-T C T
+22 47879110 22:47879110T-G T G
+22 47879414 22:47879414C-G C G
+22 47879689 22:47879689T-C T C
+22 47880041 22:47880041C-T C T
+22 47880162 22:47880162T-C T C
+22 47881317 22:47881317A-G A G
+22 47881426 22:47881426T-G T G
+22 47881518 22:47881518G-A G A
+22 47882127 22:47882127A-G A G
+22 47882763 22:47882763G-A G A
+22 47883698 22:47883698G-A G A
+22 47884569 22:47884569T-C T C
+22 47886663 22:47886663T-C T C
+22 47887739 22:47887739T-G T G
+22 47888261 22:47888261C-T C T
+22 47889035 22:47889035C-T C T
+22 47890114 22:47890114G-A G A
+22 47890455 22:47890455T-C T C
+22 47891745 22:47891745T-G T G
+22 47892659 22:47892659G-A G A
+22 47893053 22:47893053G-A G A
+22 47893756 22:47893756C-T C T
+22 47893794 22:47893794C-T C T
+22 47894731 22:47894731A-T A T
+22 47895346 22:47895346G-A G A
+22 47897605 22:47897605G-C G C
+22 47898585 22:47898585C-T C T
+22 47899292 22:47899292T-A T A
+22 47899845 22:47899845C-T C T
+22 47899925 22:47899925C-A C A
+22 47901562 22:47901562G-A G A
+22 47901643 22:47901643C-T C T
+22 47902232 22:47902232C-T C T
+22 47902296 22:47902296C-A C A
+22 47902613 22:47902613G-C G C
+22 47905195 22:47905195G-A G A
+22 47905322 22:47905322T-G T G
+22 47906432 22:47906432C-G C G
+22 47906614 22:47906614T-C T C
+22 47907572 22:47907572G-T G T
+22 47907704 22:47907704C-A C A
+22 47907991 22:47907991G-C G C
+22 47908473 22:47908473G-A G A
+22 47908824 22:47908824G-T G T
+22 47909726 22:47909726A-G A G
+22 47910267 22:47910267T-C T C
+22 47910533 22:47910533A-G A G
+22 47910993 22:47910993G-A G A
+22 47911034 22:47911034G-A G A
+22 47911831 22:47911831C-T C T
+22 47912180 22:47912180G-A G A
+22 47915462 22:47915462G-A G A
+22 47915691 22:47915691T-C T C
+22 47915772 22:47915772T-G T G
+22 47915877 22:47915877A-G A G
+22 47916964 22:47916964A-G A G
+22 47917207 22:47917207T-C T C
+22 47917435 22:47917435A-G A G
+22 47917440 22:47917440C-T C T
+22 47917820 22:47917820C-T C T
+22 47918202 22:47918202G-A G A
+22 47919132 22:47919132T-C T C
+22 47920146 22:47920146T-C T C
+22 47920560 22:47920560A-G A G
+22 47921163 22:47921163T-A T A
+22 47923414 22:47923414G-C G C
+22 47924285 22:47924285G-A G A
+22 47924340 22:47924340C-T C T
+22 47924341 22:47924341G-A G A
+22 47927325 22:47927325G-T G T
+22 47927327 22:47927327G-A G A
+22 47927961 22:47927961C-T C T
+22 47928226 22:47928226G-C G C
+22 47928458 22:47928458T-G T G
+22 47928564 22:47928564G-A G A
+22 47929489 22:47929489C-T C T
+22 47929637 22:47929637C-T C T
+22 47929741 22:47929741T-C T C
+22 47930733 22:47930733G-A G A
+22 47931554 22:47931554G-A G A
+22 47931857 22:47931857C-T C T
+22 47933034 22:47933034T-C T C
+22 47934368 22:47934368A-G A G
+22 47935317 22:47935317T-G T G
+22 47935365 22:47935365T-C T C
+22 47935729 22:47935729G-A G A
+22 47935868 22:47935868G-T G T
+22 47935990 22:47935990G-C G C
+22 47936004 22:47936004C-A C A
+22 47937006 22:47937006T-A T A
+22 47937524 22:47937524G-A G A
+22 47937596 22:47937596A-G A G
+22 47937655 22:47937655C-T C T
+22 47937891 22:47937891G-A G A
+22 47938564 22:47938564T-C T C
+22 47939539 22:47939539T-C T C
+22 47939597 22:47939597C-T C T
+22 47939681 22:47939681T-A T A
+22 47940428 22:47940428C-G C G
+22 47940908 22:47940908A-C A C
+22 47941882 22:47941882G-C G C
+22 47942520 22:47942520G-C G C
+22 47942573 22:47942573C-T C T
+22 47942612 22:47942612G-A G A
+22 47942885 22:47942885G-A G A
+22 47943288 22:47943288C-T C T
+22 47943525 22:47943525G-A G A
+22 47943536 22:47943536G-A G A
+22 47943745 22:47943745G-A G A
+22 47944269 22:47944269C-T C T
+22 47944378 22:47944378G-A G A
+22 47944428 22:47944428A-G A G
+22 47944438 22:47944438C-A C A
+22 47944465 22:47944465C-T C T
+22 47944476 22:47944476C-T C T
+22 47944605 22:47944605A-G A G
+22 47944748 22:47944748T-C T C
+22 47944961 22:47944961C-T C T
+22 47945059 22:47945059C-T C T
+22 47945652 22:47945652T-A T A
+22 47945795 22:47945795C-T C T
+22 47945796 22:47945796A-G A G
+22 47946053 22:47946053T-A T A
+22 47946234 22:47946234T-C T C
+22 47946801 22:47946801C-G C G
+22 47947868 22:47947868A-C A C
+22 47947902 22:47947902G-A G A
+22 47948517 22:47948517G-A G A
+22 47948588 22:47948588G-A G A
+22 47949884 22:47949884A-G A G
+22 47949960 22:47949960C-G C G
+22 47952205 22:47952205C-T C T
+22 47952848 22:47952848T-C T C
+22 47952850 22:47952850C-T C T
+22 47953593 22:47953593G-A G A
+22 47954155 22:47954155T-C T C
+22 47954523 22:47954523A-G A G
+22 47955335 22:47955335A-G A G
+22 47955644 22:47955644G-C G C
+22 47955839 22:47955839G-C G C
+22 47956196 22:47956196G-A G A
+22 47956860 22:47956860A-T A T
+22 47956889 22:47956889G-A G A
+22 47956962 22:47956962T-C T C
+22 47957517 22:47957517T-C T C
+22 47958062 22:47958062G-A G A
+22 47958325 22:47958325C-A C A
+22 47958868 22:47958868G-T G T
+22 47959059 22:47959059C-T C T
+22 47959304 22:47959304G-C G C
+22 47959462 22:47959462A-G A G
+22 47959703 22:47959703C-T C T
+22 47960151 22:47960151A-G A G
+22 47961060 22:47961060T-C T C
+22 47961708 22:47961708T-G T G
+22 47963212 22:47963212A-G A G
+22 47965784 22:47965784A-G A G
+22 47965821 22:47965821T-G T G
+22 47965860 22:47965860A-G A G
+22 47966761 22:47966761A-G A G
+22 47967259 22:47967259T-C T C
+22 47967693 22:47967693A-G A G
+22 47968162 22:47968162C-T C T
+22 47968450 22:47968450T-C T C
+22 47968735 22:47968735C-T C T
+22 47968920 22:47968920A-G A G
+22 47969905 22:47969905T-G T G
+22 47970186 22:47970186G-C G C
+22 47970537 22:47970537T-A T A
+22 47970770 22:47970770G-A G A
+22 47971041 22:47971041C-A C A
+22 47972122 22:47972122C-G C G
+22 47976235 22:47976235T-G T G
+22 47977041 22:47977041A-T A T
+22 47977569 22:47977569G-A G A
+22 47978084 22:47978084T-C T C
+22 47978833 22:47978833T-C T C
+22 47979978 22:47979978A-C A C
+22 47981833 22:47981833C-G C G
+22 47983376 22:47983376T-C T C
+22 47983952 22:47983952A-G A G
+22 47984068 22:47984068C-T C T
+22 47984090 22:47984090C-T C T
+22 47984104 22:47984104T-C T C
+22 47984183 22:47984183G-T G T
+22 47984189 22:47984189C-A C A
+22 47984959 22:47984959C-T C T
+22 47985634 22:47985634C-A C A
+22 47985673 22:47985673A-G A G
+22 47985722 22:47985722G-C G C
+22 47985843 22:47985843C-T C T
+22 47986266 22:47986266C-A C A
+22 47986592 22:47986592C-A C A
+22 47987721 22:47987721A-G A G
+22 47987803 22:47987803A-C A C
+22 47987931 22:47987931C-A C A
+22 47988028 22:47988028A-C A C
+22 47988150 22:47988150T-A T A
+22 47989260 22:47989260C-G C G
+22 47989391 22:47989391T-C T C
+22 47989993 22:47989993A-G A G
+22 47990375 22:47990375T-G T G
+22 47990929 22:47990929T-C T C
+22 47991581 22:47991581C-T C T
+22 47992367 22:47992367C-T C T
+22 47993009 22:47993009G-C G C
+22 47993307 22:47993307T-C T C
+22 47993802 22:47993802A-G A G
+22 47995308 22:47995308G-A G A
+22 47995475 22:47995475T-C T C
+22 47996914 22:47996914T-C T C
+22 47997532 22:47997532T-C T C
+22 47998084 22:47998084T-G T G
+22 47998443 22:47998443T-C T C
+22 47998771 22:47998771A-G A G
+22 47999312 22:47999312C-T C T
+22 47999328 22:47999328G-A G A
+22 47999330 22:47999330C-T C T
+22 47999524 22:47999524A-T A T
+22 48000467 22:48000467C-A C A
+22 48000641 22:48000641A-G A G
+22 48000833 22:48000833C-G C G
+22 48001587 22:48001587G-T G T
+22 48001879 22:48001879A-G A G
+22 48001907 22:48001907A-G A G
+22 48002300 22:48002300G-A G A
+22 48002345 22:48002345G-A G A
+22 48002456 22:48002456C-A C A
+22 48002701 22:48002701C-T C T
+22 48002802 22:48002802G-A G A
+22 48002998 22:48002998G-C G C
+22 48003412 22:48003412G-C G C
+22 48003769 22:48003769A-G A G
+22 48003966 22:48003966A-C A C
+22 48004119 22:48004119G-A G A
+22 48005445 22:48005445T-C T C
+22 48005597 22:48005597C-T C T
+22 48005787 22:48005787T-C T C
+22 48005830 22:48005830A-G A G
+22 48006106 22:48006106T-C T C
+22 48006174 22:48006174C-T C T
+22 48006519 22:48006519G-A G A
+22 48008036 22:48008036A-G A G
+22 48008209 22:48008209G-A G A
+22 48008242 22:48008242T-C T C
+22 48008321 22:48008321T-C T C
+22 48008333 22:48008333C-T C T
+22 48008365 22:48008365T-C T C
+22 48008543 22:48008543G-A G A
+22 48008577 22:48008577G-A G A
+22 48008750 22:48008750G-A G A
+22 48008778 22:48008778A-C A C
+22 48008870 22:48008870A-C A C
+22 48008891 22:48008891G-A G A
+22 48008933 22:48008933C-T C T
+22 48009055 22:48009055C-T C T
+22 48009277 22:48009277G-A G A
+22 48009429 22:48009429A-G A G
+22 48009455 22:48009455T-C T C
+22 48009682 22:48009682C-T C T
+22 48009919 22:48009919A-G A G
+22 48009947 22:48009947T-C T C
+22 48009950 22:48009950T-C T C
+22 48010156 22:48010156T-G T G
+22 48010670 22:48010670C-T C T
+22 48010698 22:48010698T-C T C
+22 48010862 22:48010862C-T C T
+22 48010991 22:48010991G-A G A
+22 48011102 22:48011102A-C A C
+22 48011153 22:48011153G-A G A
+22 48011154 22:48011154G-T G T
+22 48011190 22:48011190A-G A G
+22 48011243 22:48011243C-T C T
+22 48011402 22:48011402G-A G A
+22 48011584 22:48011584T-C T C
+22 48011897 22:48011897T-C T C
+22 48011982 22:48011982C-T C T
+22 48012138 22:48012138G-A G A
+22 48012222 22:48012222G-A G A
+22 48012484 22:48012484G-A G A
+22 48012549 22:48012549A-C A C
+22 48012875 22:48012875T-C T C
+22 48013106 22:48013106A-C A C
+22 48013393 22:48013393C-A C A
+22 48013432 22:48013432C-T C T
+22 48013995 22:48013995A-G A G
+22 48015517 22:48015517G-A G A
+22 48016198 22:48016198G-A G A
+22 48016392 22:48016392T-C T C
+22 48016589 22:48016589A-G A G
+22 48017258 22:48017258C-T C T
+22 48017801 22:48017801A-G A G
+22 48017968 22:48017968A-C A C
+22 48018250 22:48018250G-A G A
+22 48018815 22:48018815G-A G A
+22 48019265 22:48019265C-T C T
+22 48019477 22:48019477C-A C A
+22 48019799 22:48019799G-A G A
+22 48020045 22:48020045C-T C T
+22 48020057 22:48020057C-A C A
+22 48020172 22:48020172A-G A G
+22 48020986 22:48020986G-A G A
+22 48021665 22:48021665C-G C G
+22 48022020 22:48022020C-A C A
+22 48022076 22:48022076C-T C T
+22 48022121 22:48022121G-A G A
+22 48022203 22:48022203A-G A G
+22 48023241 22:48023241G-T G T
+22 48023297 22:48023297A-G A G
+22 48023818 22:48023818C-T C T
+22 48024884 22:48024884A-G A G
+22 48025406 22:48025406A-T A T
+22 48025855 22:48025855C-T C T
+22 48026111 22:48026111C-T C T
+22 48026448 22:48026448C-T C T
+22 48026754 22:48026754C-T C T
+22 48027448 22:48027448G-A G A
+22 48028020 22:48028020G-A G A
+22 48028135 22:48028135T-C T C
+22 48028504 22:48028504G-C G C
+22 48028597 22:48028597C-A C A
+22 48028984 22:48028984T-G T G
+22 48029088 22:48029088G-C G C
+22 48029222 22:48029222A-G A G
+22 48032306 22:48032306C-A C A
+22 48032445 22:48032445G-A G A
+22 48033333 22:48033333G-A G A
+22 48033831 22:48033831A-G A G
+22 48034233 22:48034233A-C A C
+22 48034729 22:48034729A-C A C
+22 48034878 22:48034878T-C T C
+22 48035312 22:48035312C-T C T
+22 48036513 22:48036513G-C G C
+22 48036803 22:48036803A-G A G
+22 48037736 22:48037736C-T C T
+22 48038013 22:48038013C-T C T
+22 48038114 22:48038114C-T C T
+22 48038300 22:48038300C-T C T
+22 48038631 22:48038631G-A G A
+22 48038729 22:48038729A-G A G
+22 48038879 22:48038879C-T C T
+22 48040001 22:48040001C-G C G
+22 48040861 22:48040861A-G A G
+22 48040992 22:48040992C-T C T
+22 48041318 22:48041318T-C T C
+22 48041935 22:48041935C-T C T
+22 48041967 22:48041967C-T C T
+22 48041982 22:48041982G-A G A
+22 48043141 22:48043141G-A G A
+22 48043202 22:48043202T-C T C
+22 48043352 22:48043352C-A C A
+22 48043887 22:48043887A-T A T
+22 48043986 22:48043986A-C A C
+22 48044649 22:48044649A-G A G
+22 48044660 22:48044660G-A G A
+22 48044869 22:48044869G-C G C
+22 48045768 22:48045768C-T C T
+22 48045889 22:48045889A-G A G
+22 48045904 22:48045904G-A G A
+22 48046209 22:48046209T-G T G
+22 48046614 22:48046614G-A G A
+22 48046748 22:48046748T-C T C
+22 48046765 22:48046765C-T C T
+22 48047001 22:48047001A-T A T
+22 48047075 22:48047075C-T C T
+22 48047125 22:48047125C-T C T
+22 48047131 22:48047131G-A G A
+22 48047513 22:48047513A-G A G
+22 48047794 22:48047794A-G A G
+22 48047932 22:48047932A-T A T
+22 48048330 22:48048330G-A G A
+22 48048371 22:48048371A-G A G
+22 48048453 22:48048453A-G A G
+22 48049120 22:48049120T-G T G
+22 48049599 22:48049599G-A G A
+22 48049620 22:48049620C-T C T
+22 48049700 22:48049700A-G A G
+22 48050793 22:48050793G-A G A
+22 48051448 22:48051448G-A G A
+22 48052433 22:48052433C-T C T
+22 48053296 22:48053296C-T C T
+22 48053355 22:48053355G-A G A
+22 48053777 22:48053777A-G A G
+22 48053808 22:48053808A-G A G
+22 48054341 22:48054341C-T C T
+22 48054346 22:48054346C-T C T
+22 48054632 22:48054632C-T C T
+22 48054759 22:48054759T-C T C
+22 48055005 22:48055005A-G A G
+22 48055775 22:48055775G-C G C
+22 48056151 22:48056151T-G T G
+22 48056159 22:48056159C-T C T
+22 48056191 22:48056191T-C T C
+22 48056251 22:48056251T-C T C
+22 48057206 22:48057206G-C G C
+22 48057402 22:48057402G-C G C
+22 48057415 22:48057415G-A G A
+22 48057474 22:48057474C-T C T
+22 48058735 22:48058735C-T C T
+22 48058784 22:48058784A-G A G
+22 48058868 22:48058868C-T C T
+22 48059061 22:48059061C-T C T
+22 48060611 22:48060611C-T C T
+22 48060770 22:48060770T-C T C
+22 48060905 22:48060905C-T C T
+22 48060989 22:48060989T-C T C
+22 48061273 22:48061273T-C T C
+22 48062199 22:48062199C-T C T
+22 48062251 22:48062251G-A G A
+22 48062584 22:48062584C-A C A
+22 48064848 22:48064848G-T G T
+22 48064973 22:48064973T-C T C
+22 48065145 22:48065145G-A G A
+22 48065445 22:48065445A-G A G
+22 48066280 22:48066280G-A G A
+22 48066775 22:48066775G-A G A
+22 48067033 22:48067033C-T C T
+22 48067197 22:48067197G-A G A
+22 48067904 22:48067904G-A G A
+22 48068116 22:48068116G-A G A
+22 48068328 22:48068328A-G A G
+22 48068645 22:48068645G-A G A
+22 48068754 22:48068754G-A G A
+22 48068845 22:48068845G-C G C
+22 48068969 22:48068969C-A C A
+22 48070205 22:48070205C-T C T
+22 48070344 22:48070344C-A C A
+22 48070375 22:48070375T-C T C
+22 48070614 22:48070614G-A G A
+22 48071967 22:48071967G-A G A
+22 48072264 22:48072264T-C T C
+22 48072777 22:48072777G-A G A
+22 48072794 22:48072794G-A G A
+22 48072857 22:48072857C-T C T
+22 48073177 22:48073177C-T C T
+22 48073663 22:48073663A-T A T
+22 48073860 22:48073860T-C T C
+22 48073864 22:48073864C-T C T
+22 48074023 22:48074023G-A G A
+22 48074061 22:48074061C-T C T
+22 48074707 22:48074707A-G A G
+22 48077869 22:48077869C-T C T
+22 48078094 22:48078094C-T C T
+22 48080184 22:48080184A-G A G
+22 48080702 22:48080702G-A G A
+22 48081052 22:48081052C-T C T
+22 48081356 22:48081356A-T A T
+22 48081593 22:48081593G-A G A
+22 48082376 22:48082376C-T C T
+22 48082435 22:48082435G-A G A
+22 48082840 22:48082840A-G A G
+22 48082915 22:48082915C-T C T
+22 48083118 22:48083118A-T A T
+22 48084017 22:48084017A-G A G
+22 48084262 22:48084262G-T G T
+22 48084299 22:48084299C-T C T
+22 48084825 22:48084825T-C T C
+22 48084880 22:48084880A-G A G
+22 48085862 22:48085862A-G A G
+22 48085915 22:48085915T-C T C
+22 48086066 22:48086066T-C T C
+22 48086483 22:48086483G-A G A
+22 48086823 22:48086823A-G A G
+22 48087179 22:48087179C-G C G
+22 48087762 22:48087762T-G T G
+22 48088184 22:48088184A-G A G
+22 48088731 22:48088731C-T C T
+22 48089823 22:48089823C-T C T
+22 48089858 22:48089858G-A G A
+22 48090532 22:48090532T-G T G
+22 48090680 22:48090680T-G T G
+22 48090793 22:48090793C-T C T
+22 48091069 22:48091069T-C T C
+22 48091944 22:48091944G-A G A
+22 48092078 22:48092078G-C G C
+22 48092252 22:48092252C-A C A
+22 48092504 22:48092504T-G T G
+22 48092606 22:48092606T-C T C
+22 48093930 22:48093930A-G A G
+22 48094543 22:48094543C-T C T
+22 48094603 22:48094603C-T C T
+22 48094883 22:48094883G-A G A
+22 48094989 22:48094989T-A T A
+22 48095310 22:48095310T-C T C
+22 48096007 22:48096007C-T C T
+22 48096241 22:48096241A-G A G
+22 48096782 22:48096782G-T G T
+22 48096926 22:48096926C-T C T
+22 48096958 22:48096958G-A G A
+22 48097091 22:48097091G-A G A
+22 48097124 22:48097124T-C T C
+22 48097433 22:48097433A-G A G
+22 48097435 22:48097435A-G A G
+22 48097670 22:48097670G-A G A
+22 48098354 22:48098354C-A C A
+22 48098487 22:48098487C-T C T
+22 48098772 22:48098772G-A G A
+22 48098786 22:48098786T-C T C
+22 48099219 22:48099219A-G A G
+22 48100209 22:48100209A-G A G
+22 48100367 22:48100367T-C T C
+22 48100601 22:48100601G-A G A
+22 48100964 22:48100964C-G C G
+22 48101004 22:48101004T-C T C
+22 48101438 22:48101438C-G C G
+22 48102319 22:48102319T-C T C
+22 48102323 22:48102323T-G T G
+22 48102533 22:48102533A-G A G
+22 48102547 22:48102547C-T C T
+22 48102588 22:48102588T-C T C
+22 48102759 22:48102759C-T C T
+22 48102800 22:48102800A-G A G
+22 48102875 22:48102875G-T G T
+22 48102912 22:48102912A-G A G
+22 48102918 22:48102918A-C A C
+22 48103008 22:48103008G-A G A
+22 48103039 22:48103039C-T C T
+22 48103204 22:48103204A-T A T
+22 48103226 22:48103226C-T C T
+22 48103229 22:48103229A-G A G
+22 48103246 22:48103246G-T G T
+22 48103376 22:48103376C-T C T
+22 48103482 22:48103482G-A G A
+22 48104865 22:48104865C-T C T
+22 48104880 22:48104880G-A G A
+22 48105131 22:48105131T-C T C
+22 48105373 22:48105373T-C T C
+22 48105531 22:48105531G-A G A
+22 48105579 22:48105579T-C T C
+22 48105699 22:48105699T-A T A
+22 48106735 22:48106735G-T G T
+22 48107054 22:48107054G-A G A
+22 48107143 22:48107143C-T C T
+22 48107470 22:48107470C-T C T
+22 48107579 22:48107579G-A G A
+22 48107633 22:48107633C-T C T
+22 48107822 22:48107822A-C A C
+22 48108319 22:48108319T-C T C
+22 48108855 22:48108855G-A G A
+22 48109320 22:48109320A-C A C
+22 48109836 22:48109836A-G A G
+22 48110259 22:48110259A-G A G
+22 48111745 22:48111745G-T G T
+22 48111906 22:48111906G-C G C
+22 48112457 22:48112457C-T C T
+22 48112497 22:48112497C-G C G
+22 48112563 22:48112563G-T G T
+22 48112629 22:48112629C-T C T
+22 48112790 22:48112790G-A G A
+22 48113046 22:48113046T-G T G
+22 48113212 22:48113212A-G A G
+22 48113820 22:48113820C-T C T
+22 48114191 22:48114191A-T A T
+22 48114641 22:48114641T-C T C
+22 48114762 22:48114762C-T C T
+22 48115656 22:48115656A-G A G
+22 48115658 22:48115658C-G C G
+22 48115892 22:48115892C-G C G
+22 48115966 22:48115966G-A G A
+22 48116254 22:48116254C-G C G
+22 48116413 22:48116413A-T A T
+22 48117435 22:48117435C-T C T
+22 48118869 22:48118869A-G A G
+22 48119096 22:48119096A-G A G
+22 48119620 22:48119620C-T C T
+22 48120233 22:48120233G-A G A
+22 48120654 22:48120654C-G C G
+22 48121052 22:48121052T-C T C
+22 48121219 22:48121219A-G A G
+22 48121977 22:48121977C-T C T
+22 48121985 22:48121985A-G A G
+22 48122410 22:48122410C-T C T
+22 48122634 22:48122634G-C G C
+22 48122841 22:48122841A-G A G
+22 48123388 22:48123388A-G A G
+22 48123457 22:48123457T-C T C
+22 48124010 22:48124010G-A G A
+22 48124300 22:48124300G-A G A
+22 48125017 22:48125017G-A G A
+22 48125020 22:48125020G-A G A
+22 48125251 22:48125251T-C T C
+22 48125977 22:48125977C-T C T
+22 48126054 22:48126054A-T A T
+22 48126400 22:48126400A-G A G
+22 48127296 22:48127296A-G A G
+22 48127999 22:48127999A-G A G
+22 48128554 22:48128554A-G A G
+22 48128664 22:48128664A-G A G
+22 48129116 22:48129116A-G A G
+22 48129750 22:48129750C-T C T
+22 48129785 22:48129785G-A G A
+22 48130209 22:48130209G-T G T
+22 48130608 22:48130608G-C G C
+22 48130713 22:48130713G-A G A
+22 48131209 22:48131209G-A G A
+22 48131302 22:48131302C-T C T
+22 48132259 22:48132259T-C T C
+22 48132588 22:48132588C-T C T
+22 48132940 22:48132940G-A G A
+22 48133013 22:48133013T-C T C
+22 48133458 22:48133458C-T C T
+22 48134367 22:48134367T-G T G
+22 48134520 22:48134520A-G A G
+22 48135065 22:48135065T-C T C
+22 48135339 22:48135339C-G C G
+22 48136022 22:48136022T-C T C
+22 48136302 22:48136302G-T G T
+22 48136323 22:48136323T-G T G
+22 48136377 22:48136377A-G A G
+22 48136992 22:48136992A-G A G
+22 48137302 22:48137302A-G A G
+22 48137409 22:48137409T-A T A
+22 48137840 22:48137840C-T C T
+22 48138440 22:48138440G-C G C
+22 48139913 22:48139913A-C A C
+22 48140329 22:48140329T-C T C
+22 48140527 22:48140527C-T C T
+22 48140541 22:48140541C-T C T
+22 48140748 22:48140748G-C G C
+22 48141917 22:48141917T-A T A
+22 48142680 22:48142680T-C T C
+22 48142704 22:48142704C-T C T
+22 48142823 22:48142823C-T C T
+22 48143877 22:48143877A-T A T
+22 48143913 22:48143913C-T C T
+22 48143947 22:48143947A-C A C
+22 48144007 22:48144007T-G T G
+22 48144726 22:48144726G-A G A
+22 48144783 22:48144783G-T G T
+22 48144816 22:48144816G-T G T
+22 48144844 22:48144844A-G A G
+22 48145019 22:48145019G-A G A
+22 48145834 22:48145834C-T C T
+22 48146510 22:48146510T-G T G
+22 48146737 22:48146737G-A G A
+22 48147561 22:48147561A-G A G
+22 48148353 22:48148353A-C A C
+22 48148548 22:48148548C-A C A
+22 48148764 22:48148764T-G T G
+22 48149059 22:48149059C-G C G
+22 48149197 22:48149197G-A G A
+22 48149985 22:48149985A-G A G
+22 48150076 22:48150076A-C A C
+22 48150854 22:48150854C-T C T
+22 48150900 22:48150900T-C T C
+22 48151479 22:48151479A-G A G
+22 48152068 22:48152068A-G A G
+22 48152705 22:48152705G-A G A
+22 48153511 22:48153511C-T C T
+22 48153701 22:48153701T-G T G
+22 48153738 22:48153738G-T G T
+22 48153961 22:48153961G-T G T
+22 48154014 22:48154014G-A G A
+22 48154645 22:48154645T-C T C
+22 48155272 22:48155272T-C T C
+22 48155677 22:48155677A-C A C
+22 48156377 22:48156377T-C T C
+22 48156449 22:48156449T-C T C
+22 48157112 22:48157112A-G A G
+22 48158414 22:48158414T-G T G
+22 48158986 22:48158986A-G A G
+22 48159105 22:48159105C-T C T
+22 48159404 22:48159404T-G T G
+22 48159634 22:48159634G-A G A
+22 48160359 22:48160359G-A G A
+22 48160897 22:48160897G-A G A
+22 48161131 22:48161131C-A C A
+22 48161435 22:48161435A-G A G
+22 48161608 22:48161608G-A G A
+22 48161783 22:48161783T-G T G
+22 48162131 22:48162131T-C T C
+22 48162922 22:48162922T-A T A
+22 48164563 22:48164563A-G A G
+22 48165076 22:48165076A-G A G
+22 48165222 22:48165222A-G A G
+22 48165932 22:48165932A-G A G
+22 48166722 22:48166722G-A G A
+22 48169306 22:48169306G-A G A
+22 48171924 22:48171924A-G A G
+22 48172447 22:48172447T-G T G
+22 48172459 22:48172459G-A G A
+22 48172466 22:48172466T-C T C
+22 48172477 22:48172477A-C A C
+22 48172524 22:48172524T-C T C
+22 48172685 22:48172685T-C T C
+22 48172993 22:48172993A-G A G
+22 48173254 22:48173254C-T C T
+22 48173591 22:48173591G-A G A
+22 48175350 22:48175350C-T C T
+22 48175524 22:48175524G-A G A
+22 48175850 22:48175850A-G A G
+22 48175939 22:48175939T-C T C
+22 48177064 22:48177064C-T C T
+22 48177116 22:48177116A-G A G
+22 48177708 22:48177708A-G A G
+22 48177754 22:48177754C-T C T
+22 48177824 22:48177824G-T G T
+22 48178105 22:48178105A-G A G
+22 48178135 22:48178135C-T C T
+22 48178238 22:48178238C-T C T
+22 48178241 22:48178241T-G T G
+22 48178627 22:48178627G-T G T
+22 48178815 22:48178815T-A T A
+22 48178849 22:48178849C-A C A
+22 48178890 22:48178890G-A G A
+22 48178922 22:48178922C-T C T
+22 48178976 22:48178976C-T C T
+22 48179075 22:48179075C-T C T
+22 48179224 22:48179224C-T C T
+22 48179226 22:48179226G-A G A
+22 48179333 22:48179333A-G A G
+22 48179395 22:48179395C-T C T
+22 48179634 22:48179634T-C T C
+22 48179813 22:48179813A-G A G
+22 48180049 22:48180049T-C T C
+22 48180221 22:48180221C-T C T
+22 48180346 22:48180346T-C T C
+22 48180475 22:48180475G-A G A
+22 48181208 22:48181208C-T C T
+22 48181209 22:48181209C-G C G
+22 48181468 22:48181468C-T C T
+22 48181469 22:48181469G-C G C
+22 48181587 22:48181587C-T C T
+22 48181596 22:48181596G-A G A
+22 48181620 22:48181620A-G A G
+22 48181655 22:48181655T-C T C
+22 48181793 22:48181793T-C T C
+22 48181866 22:48181866G-A G A
+22 48182559 22:48182559T-C T C
+22 48182824 22:48182824C-T C T
+22 48182844 22:48182844T-C T C
+22 48182854 22:48182854C-T C T
+22 48182913 22:48182913T-C T C
+22 48182944 22:48182944T-C T C
+22 48182991 22:48182991G-A G A
+22 48183058 22:48183058G-A G A
+22 48183432 22:48183432C-T C T
+22 48183889 22:48183889G-T G T
+22 48184882 22:48184882A-G A G
+22 48186052 22:48186052G-A G A
+22 48186756 22:48186756A-T A T
+22 48187210 22:48187210A-G A G
+22 48187735 22:48187735G-A G A
+22 48188046 22:48188046G-A G A
+22 48188194 22:48188194G-T G T
+22 48188253 22:48188253T-C T C
+22 48188276 22:48188276T-C T C
+22 48188349 22:48188349G-A G A
+22 48188364 22:48188364A-G A G
+22 48188610 22:48188610A-G A G
+22 48189102 22:48189102G-A G A
+22 48190598 22:48190598A-G A G
+22 48190727 22:48190727G-C G C
+22 48190749 22:48190749G-C G C
+22 48192331 22:48192331C-T C T
+22 48192632 22:48192632A-G A G
+22 48193646 22:48193646C-T C T
+22 48194363 22:48194363C-T C T
+22 48195052 22:48195052T-C T C
+22 48195695 22:48195695C-T C T
+22 48195714 22:48195714A-T A T
+22 48195853 22:48195853A-G A G
+22 48196022 22:48196022C-A C A
+22 48196038 22:48196038A-G A G
+22 48196380 22:48196380C-A C A
+22 48196714 22:48196714T-C T C
+22 48198112 22:48198112C-T C T
+22 48198191 22:48198191G-A G A
+22 48198602 22:48198602G-C G C
+22 48198768 22:48198768G-A G A
+22 48199780 22:48199780A-G A G
+22 48200547 22:48200547C-T C T
+22 48200554 22:48200554G-T G T
+22 48200592 22:48200592G-A G A
+22 48200601 22:48200601T-A T A
+22 48200624 22:48200624C-T C T
+22 48200637 22:48200637C-T C T
+22 48201014 22:48201014A-C A C
+22 48202028 22:48202028A-G A G
+22 48202090 22:48202090C-T C T
+22 48202555 22:48202555C-T C T
+22 48203132 22:48203132C-T C T
+22 48203721 22:48203721C-T C T
+22 48203874 22:48203874T-C T C
+22 48204031 22:48204031C-T C T
+22 48204203 22:48204203T-C T C
+22 48204302 22:48204302G-C G C
+22 48204513 22:48204513A-G A G
+22 48204580 22:48204580G-A G A
+22 48204747 22:48204747C-T C T
+22 48205567 22:48205567T-C T C
+22 48206356 22:48206356G-A G A
+22 48206445 22:48206445C-T C T
+22 48206499 22:48206499T-C T C
+22 48206855 22:48206855T-C T C
+22 48206958 22:48206958A-C A C
+22 48207318 22:48207318C-T C T
+22 48207642 22:48207642C-T C T
+22 48207872 22:48207872C-T C T
+22 48207891 22:48207891A-G A G
+22 48207896 22:48207896G-A G A
+22 48207986 22:48207986C-G C G
+22 48208043 22:48208043G-A G A
+22 48209008 22:48209008G-T G T
+22 48209209 22:48209209T-C T C
+22 48209288 22:48209288C-T C T
+22 48209434 22:48209434C-T C T
+22 48209939 22:48209939G-A G A
+22 48210185 22:48210185T-C T C
+22 48210427 22:48210427T-C T C
+22 48210446 22:48210446A-G A G
+22 48210612 22:48210612A-G A G
+22 48210968 22:48210968T-C T C
+22 48211408 22:48211408C-A C A
+22 48211532 22:48211532G-C G C
+22 48211540 22:48211540C-T C T
+22 48212275 22:48212275C-T C T
+22 48212661 22:48212661C-T C T
+22 48213482 22:48213482C-T C T
+22 48213535 22:48213535A-G A G
+22 48213609 22:48213609C-T C T
+22 48213904 22:48213904C-G C G
+22 48214001 22:48214001T-C T C
+22 48214060 22:48214060C-G C G
+22 48214076 22:48214076G-T G T
+22 48214251 22:48214251T-C T C
+22 48214287 22:48214287C-T C T
+22 48214519 22:48214519A-G A G
+22 48214606 22:48214606G-A G A
+22 48214608 22:48214608T-C T C
+22 48214812 22:48214812A-G A G
+22 48215491 22:48215491A-G A G
+22 48215695 22:48215695G-A G A
+22 48215904 22:48215904G-A G A
+22 48216060 22:48216060G-A G A
+22 48216177 22:48216177C-T C T
+22 48216378 22:48216378G-A G A
+22 48216389 22:48216389C-T C T
+22 48216602 22:48216602T-C T C
+22 48216798 22:48216798G-T G T
+22 48216822 22:48216822T-G T G
+22 48217209 22:48217209A-G A G
+22 48217265 22:48217265G-A G A
+22 48217587 22:48217587C-T C T
+22 48217669 22:48217669T-G T G
+22 48218843 22:48218843G-A G A
+22 48218952 22:48218952G-A G A
+22 48219095 22:48219095C-T C T
+22 48219135 22:48219135A-T A T
+22 48219492 22:48219492T-C T C
+22 48219937 22:48219937G-C G C
+22 48220295 22:48220295C-T C T
+22 48220460 22:48220460C-T C T
+22 48220853 22:48220853C-G C G
+22 48220980 22:48220980G-A G A
+22 48221162 22:48221162G-A G A
+22 48221619 22:48221619T-C T C
+22 48221725 22:48221725A-G A G
+22 48221743 22:48221743G-A G A
+22 48221835 22:48221835C-A C A
+22 48221984 22:48221984C-G C G
+22 48222045 22:48222045C-T C T
+22 48222064 22:48222064C-T C T
+22 48222140 22:48222140A-C A C
+22 48222197 22:48222197G-A G A
+22 48222280 22:48222280A-G A G
+22 48222369 22:48222369C-T C T
+22 48222611 22:48222611T-C T C
+22 48222778 22:48222778A-G A G
+22 48222867 22:48222867T-C T C
+22 48222944 22:48222944G-A G A
+22 48223121 22:48223121A-G A G
+22 48223357 22:48223357A-G A G
+22 48223406 22:48223406C-T C T
+22 48223547 22:48223547C-T C T
+22 48223604 22:48223604T-A T A
+22 48223820 22:48223820G-A G A
+22 48223840 22:48223840G-A G A
+22 48224306 22:48224306C-T C T
+22 48224494 22:48224494A-G A G
+22 48224560 22:48224560G-A G A
+22 48224624 22:48224624C-G C G
+22 48224843 22:48224843G-C G C
+22 48224996 22:48224996C-T C T
+22 48224997 22:48224997G-A G A
+22 48225123 22:48225123A-G A G
+22 48225154 22:48225154G-A G A
+22 48225191 22:48225191T-G T G
+22 48225383 22:48225383A-G A G
+22 48225717 22:48225717C-T C T
+22 48225753 22:48225753C-A C A
+22 48225779 22:48225779T-C T C
+22 48225861 22:48225861G-A G A
+22 48225991 22:48225991T-C T C
+22 48226000 22:48226000G-A G A
+22 48226622 22:48226622A-G A G
+22 48226654 22:48226654T-C T C
+22 48226685 22:48226685T-C T C
+22 48227120 22:48227120C-T C T
+22 48227401 22:48227401G-A G A
+22 48227923 22:48227923A-G A G
+22 48228400 22:48228400A-G A G
+22 48228730 22:48228730A-T A T
+22 48228760 22:48228760C-T C T
+22 48228961 22:48228961A-G A G
+22 48229384 22:48229384A-G A G
+22 48229868 22:48229868T-C T C
+22 48230791 22:48230791T-G T G
+22 48230882 22:48230882C-T C T
+22 48230941 22:48230941A-C A C
+22 48231357 22:48231357T-C T C
+22 48231562 22:48231562A-T A T
+22 48231907 22:48231907C-G C G
+22 48232066 22:48232066G-A G A
+22 48232261 22:48232261T-C T C
+22 48232417 22:48232417A-G A G
+22 48233440 22:48233440T-C T C
+22 48234164 22:48234164A-G A G
+22 48234842 22:48234842A-G A G
+22 48235206 22:48235206A-G A G
+22 48235518 22:48235518T-G T G
+22 48235784 22:48235784A-C A C
+22 48235943 22:48235943A-G A G
+22 48236240 22:48236240T-G T G
+22 48236251 22:48236251C-T C T
+22 48236527 22:48236527A-G A G
+22 48236564 22:48236564C-T C T
+22 48236875 22:48236875A-G A G
+22 48237072 22:48237072T-C T C
+22 48237089 22:48237089G-A G A
+22 48237454 22:48237454C-G C G
+22 48237819 22:48237819A-G A G
+22 48238436 22:48238436A-G A G
+22 48238582 22:48238582T-C T C
+22 48238659 22:48238659T-C T C
+22 48239482 22:48239482T-G T G
+22 48240080 22:48240080T-C T C
+22 48240300 22:48240300C-T C T
+22 48240580 22:48240580G-A G A
+22 48241698 22:48241698C-T C T
+22 48241811 22:48241811C-T C T
+22 48242285 22:48242285A-G A G
+22 48242639 22:48242639A-G A G
+22 48243353 22:48243353G-A G A
+22 48243388 22:48243388A-G A G
+22 48243438 22:48243438T-C T C
+22 48243721 22:48243721C-T C T
+22 48243866 22:48243866A-G A G
+22 48244263 22:48244263G-A G A
+22 48244342 22:48244342C-T C T
+22 48244770 22:48244770A-G A G
+22 48244985 22:48244985C-A C A
+22 48245138 22:48245138A-G A G
+22 48245450 22:48245450C-T C T
+22 48246398 22:48246398A-G A G
+22 48246504 22:48246504T-C T C
+22 48247371 22:48247371A-G A G
+22 48247624 22:48247624A-G A G
+22 48247897 22:48247897G-A G A
+22 48248720 22:48248720G-A G A
+22 48248892 22:48248892C-T C T
+22 48249582 22:48249582C-A C A
+22 48249881 22:48249881A-C A C
+22 48250526 22:48250526T-C T C
+22 48250581 22:48250581T-C T C
+22 48250736 22:48250736G-A G A
+22 48251624 22:48251624A-G A G
+22 48251709 22:48251709A-C A C
+22 48251873 22:48251873C-T C T
+22 48252487 22:48252487G-A G A
+22 48253049 22:48253049T-C T C
+22 48253446 22:48253446C-T C T
+22 48253700 22:48253700G-A G A
+22 48253737 22:48253737A-G A G
+22 48253814 22:48253814C-A C A
+22 48253996 22:48253996A-G A G
+22 48254159 22:48254159T-C T C
+22 48254578 22:48254578T-C T C
+22 48254939 22:48254939C-T C T
+22 48255340 22:48255340T-A T A
+22 48255369 22:48255369G-A G A
+22 48255862 22:48255862T-C T C
+22 48256058 22:48256058C-T C T
+22 48256154 22:48256154C-G C G
+22 48256208 22:48256208A-G A G
+22 48256260 22:48256260C-T C T
+22 48256607 22:48256607A-T A T
+22 48256695 22:48256695T-C T C
+22 48257296 22:48257296C-A C A
+22 48257939 22:48257939A-G A G
+22 48258030 22:48258030G-T G T
+22 48258230 22:48258230A-G A G
+22 48258293 22:48258293G-T G T
+22 48258377 22:48258377G-A G A
+22 48262144 22:48262144T-A T A
+22 48263518 22:48263518A-G A G
+22 48263822 22:48263822C-T C T
+22 48265076 22:48265076G-A G A
+22 48265374 22:48265374T-C T C
+22 48267200 22:48267200A-G A G
+22 48269136 22:48269136G-C G C
+22 48269213 22:48269213T-C T C
+22 48269511 22:48269511C-T C T
+22 48269512 22:48269512T-C T C
+22 48270054 22:48270054G-A G A
+22 48270745 22:48270745T-G T G
+22 48270766 22:48270766T-C T C
+22 48273630 22:48273630G-A G A
+22 48273871 22:48273871T-C T C
+22 48273978 22:48273978G-C G C
+22 48274032 22:48274032T-C T C
+22 48274036 22:48274036T-C T C
+22 48274134 22:48274134T-C T C
+22 48274261 22:48274261C-T C T
+22 48274352 22:48274352A-G A G
+22 48274397 22:48274397G-A G A
+22 48274499 22:48274499G-T G T
+22 48275068 22:48275068T-C T C
+22 48276956 22:48276956C-T C T
+22 48277994 22:48277994T-C T C
+22 48278798 22:48278798C-G C G
+22 48278977 22:48278977C-A C A
+22 48279397 22:48279397C-A C A
+22 48280077 22:48280077G-A G A
+22 48280506 22:48280506T-C T C
+22 48281227 22:48281227T-C T C
+22 48281630 22:48281630T-C T C
+22 48282309 22:48282309G-C G C
+22 48282594 22:48282594G-A G A
+22 48283177 22:48283177A-G A G
+22 48283397 22:48283397G-C G C
+22 48283718 22:48283718G-A G A
+22 48284025 22:48284025C-T C T
+22 48284296 22:48284296G-A G A
+22 48285457 22:48285457A-G A G
+22 48285835 22:48285835G-A G A
+22 48287318 22:48287318G-T G T
+22 48289065 22:48289065G-A G A
+22 48289754 22:48289754A-C A C
+22 48289931 22:48289931C-G C G
+22 48291080 22:48291080A-T A T
+22 48291577 22:48291577G-T G T
+22 48291839 22:48291839C-T C T
+22 48291883 22:48291883A-C A C
+22 48292584 22:48292584G-A G A
+22 48292635 22:48292635C-T C T
+22 48292950 22:48292950T-C T C
+22 48293220 22:48293220T-C T C
+22 48294389 22:48294389A-C A C
+22 48294603 22:48294603C-T C T
+22 48294656 22:48294656T-C T C
+22 48294762 22:48294762G-A G A
+22 48294827 22:48294827C-A C A
+22 48295152 22:48295152A-G A G
+22 48295214 22:48295214A-G A G
+22 48295224 22:48295224A-G A G
+22 48295335 22:48295335A-T A T
+22 48295349 22:48295349A-G A G
+22 48295417 22:48295417A-C A C
+22 48295797 22:48295797T-G T G
+22 48296003 22:48296003G-T G T
+22 48296148 22:48296148G-A G A
+22 48296286 22:48296286G-T G T
+22 48296309 22:48296309G-A G A
+22 48296704 22:48296704T-C T C
+22 48296748 22:48296748T-G T G
+22 48296839 22:48296839T-A T A
+22 48297953 22:48297953T-C T C
+22 48298059 22:48298059C-T C T
+22 48298359 22:48298359C-T C T
+22 48298369 22:48298369C-T C T
+22 48298625 22:48298625C-T C T
+22 48298791 22:48298791C-T C T
+22 48299952 22:48299952G-A G A
+22 48300260 22:48300260C-A C A
+22 48300394 22:48300394A-G A G
+22 48300580 22:48300580T-G T G
+22 48300649 22:48300649C-T C T
+22 48301149 22:48301149T-C T C
+22 48301221 22:48301221A-G A G
+22 48301223 22:48301223C-T C T
+22 48301367 22:48301367A-G A G
+22 48301437 22:48301437T-C T C
+22 48301616 22:48301616T-C T C
+22 48301646 22:48301646G-A G A
+22 48301660 22:48301660C-T C T
+22 48301708 22:48301708G-A G A
+22 48301848 22:48301848G-A G A
+22 48301932 22:48301932A-G A G
+22 48302220 22:48302220T-C T C
+22 48302372 22:48302372G-A G A
+22 48302518 22:48302518A-G A G
+22 48302641 22:48302641T-A T A
+22 48303002 22:48303002G-A G A
+22 48303197 22:48303197G-A G A
+22 48303289 22:48303289G-A G A
+22 48303727 22:48303727C-T C T
+22 48303830 22:48303830T-G T G
+22 48304042 22:48304042C-A C A
+22 48304116 22:48304116G-A G A
+22 48304453 22:48304453C-T C T
+22 48304675 22:48304675G-A G A
+22 48304789 22:48304789T-G T G
+22 48304867 22:48304867C-T C T
+22 48304973 22:48304973A-G A G
+22 48304985 22:48304985A-T A T
+22 48305069 22:48305069T-C T C
+22 48305313 22:48305313C-T C T
+22 48305427 22:48305427T-G T G
+22 48305487 22:48305487A-G A G
+22 48305815 22:48305815T-C T C
+22 48307233 22:48307233A-G A G
+22 48307560 22:48307560G-A G A
+22 48307676 22:48307676A-G A G
+22 48307752 22:48307752T-A T A
+22 48307904 22:48307904C-A C A
+22 48308362 22:48308362A-C A C
+22 48308402 22:48308402A-G A G
+22 48308461 22:48308461G-A G A
+22 48308504 22:48308504A-G A G
+22 48308818 22:48308818A-C A C
+22 48309365 22:48309365T-C T C
+22 48310032 22:48310032C-A C A
+22 48310344 22:48310344A-G A G
+22 48310521 22:48310521A-G A G
+22 48310547 22:48310547T-G T G
+22 48310611 22:48310611G-A G A
+22 48310643 22:48310643G-A G A
+22 48310873 22:48310873G-A G A
+22 48311048 22:48311048T-C T C
+22 48311212 22:48311212A-C A C
+22 48311481 22:48311481G-A G A
+22 48311629 22:48311629G-A G A
+22 48311682 22:48311682G-A G A
+22 48311762 22:48311762A-G A G
+22 48312433 22:48312433G-A G A
+22 48312508 22:48312508A-G A G
+22 48312773 22:48312773A-G A G
+22 48312810 22:48312810A-T A T
+22 48312831 22:48312831A-G A G
+22 48312850 22:48312850C-T C T
+22 48312937 22:48312937A-G A G
+22 48313065 22:48313065C-G C G
+22 48313069 22:48313069C-A C A
+22 48313433 22:48313433C-T C T
+22 48313506 22:48313506C-T C T
+22 48313773 22:48313773G-T G T
+22 48313843 22:48313843C-A C A
+22 48314059 22:48314059C-T C T
+22 48314244 22:48314244T-C T C
+22 48314256 22:48314256A-G A G
+22 48314266 22:48314266C-T C T
+22 48314390 22:48314390C-T C T
+22 48314463 22:48314463G-A G A
+22 48315016 22:48315016A-G A G
+22 48315210 22:48315210G-C G C
+22 48315549 22:48315549T-C T C
+22 48315773 22:48315773C-T C T
+22 48316139 22:48316139C-T C T
+22 48316242 22:48316242C-T C T
+22 48316333 22:48316333G-A G A
+22 48317040 22:48317040C-T C T
+22 48317077 22:48317077A-G A G
+22 48317081 22:48317081C-A C A
+22 48317103 22:48317103G-A G A
+22 48317655 22:48317655T-C T C
+22 48317797 22:48317797G-C G C
+22 48318002 22:48318002C-T C T
+22 48318132 22:48318132A-G A G
+22 48318237 22:48318237G-A G A
+22 48318323 22:48318323C-T C T
+22 48318436 22:48318436C-G C G
+22 48318972 22:48318972G-A G A
+22 48319281 22:48319281T-C T C
+22 48319441 22:48319441A-C A C
+22 48319604 22:48319604A-C A C
+22 48319878 22:48319878A-G A G
+22 48320730 22:48320730C-T C T
+22 48321123 22:48321123G-A G A
+22 48321429 22:48321429A-G A G
+22 48321964 22:48321964T-C T C
+22 48322137 22:48322137G-A G A
+22 48322159 22:48322159A-G A G
+22 48322186 22:48322186G-A G A
+22 48322505 22:48322505A-G A G
+22 48322535 22:48322535G-A G A
+22 48322645 22:48322645A-G A G
+22 48322887 22:48322887T-C T C
+22 48323013 22:48323013C-T C T
+22 48323397 22:48323397C-A C A
+22 48323473 22:48323473C-T C T
+22 48323639 22:48323639G-A G A
+22 48323823 22:48323823T-G T G
+22 48324665 22:48324665A-G A G
+22 48324774 22:48324774G-T G T
+22 48325190 22:48325190C-G C G
+22 48325524 22:48325524A-G A G
+22 48325565 22:48325565G-A G A
+22 48325573 22:48325573G-A G A
+22 48325693 22:48325693C-A C A
+22 48325911 22:48325911A-G A G
+22 48326452 22:48326452A-G A G
+22 48326813 22:48326813C-T C T
+22 48327435 22:48327435A-C A C
+22 48328256 22:48328256C-T C T
+22 48328594 22:48328594C-T C T
+22 48329078 22:48329078C-G C G
+22 48329574 22:48329574C-G C G
+22 48330785 22:48330785G-A G A
+22 48331368 22:48331368G-A G A
+22 48331534 22:48331534A-G A G
+22 48331663 22:48331663T-A T A
+22 48331739 22:48331739C-A C A
+22 48332035 22:48332035C-T C T
+22 48332225 22:48332225G-T G T
+22 48333024 22:48333024T-A T A
+22 48333122 22:48333122C-T C T
+22 48333787 22:48333787A-G A G
+22 48334119 22:48334119T-C T C
+22 48334913 22:48334913T-A T A
+22 48335140 22:48335140C-T C T
+22 48335872 22:48335872T-C T C
+22 48339734 22:48339734G-A G A
+22 48341826 22:48341826G-C G C
+22 48342741 22:48342741T-G T G
+22 48343389 22:48343389G-A G A
+22 48343639 22:48343639A-G A G
+22 48344761 22:48344761G-T G T
+22 48345387 22:48345387G-A G A
+22 48346909 22:48346909G-T G T
+22 48347018 22:48347018C-T C T
+22 48347159 22:48347159C-T C T
+22 48348652 22:48348652G-T G T
+22 48348802 22:48348802C-G C G
+22 48349351 22:48349351C-T C T
+22 48349556 22:48349556A-C A C
+22 48353662 22:48353662A-G A G
+22 48353839 22:48353839C-A C A
+22 48354855 22:48354855T-A T A
+22 48355483 22:48355483T-A T A
+22 48356863 22:48356863C-T C T
+22 48356961 22:48356961T-C T C
+22 48357108 22:48357108A-T A T
+22 48357227 22:48357227A-G A G
+22 48358075 22:48358075C-G C G
+22 48358813 22:48358813A-T A T
+22 48358891 22:48358891C-T C T
+22 48358940 22:48358940A-G A G
+22 48359425 22:48359425C-T C T
+22 48359509 22:48359509A-G A G
+22 48359625 22:48359625C-A C A
+22 48359933 22:48359933T-C T C
+22 48360030 22:48360030G-A G A
+22 48360173 22:48360173G-T G T
+22 48360485 22:48360485T-C T C
+22 48360579 22:48360579C-T C T
+22 48360629 22:48360629T-C T C
+22 48362290 22:48362290A-G A G
+22 48362652 22:48362652C-G C G
+22 48362914 22:48362914A-C A C
+22 48363032 22:48363032G-A G A
+22 48363044 22:48363044G-T G T
+22 48363088 22:48363088A-C A C
+22 48363792 22:48363792C-T C T
+22 48363888 22:48363888T-C T C
+22 48363911 22:48363911T-C T C
+22 48363963 22:48363963T-C T C
+22 48363970 22:48363970A-C A C
+22 48364021 22:48364021T-C T C
+22 48364237 22:48364237A-G A G
+22 48364545 22:48364545G-A G A
+22 48364574 22:48364574G-A G A
+22 48364673 22:48364673C-A C A
+22 48364723 22:48364723A-G A G
+22 48364737 22:48364737G-A G A
+22 48364916 22:48364916A-G A G
+22 48365123 22:48365123C-T C T
+22 48365205 22:48365205C-G C G
+22 48365235 22:48365235C-T C T
+22 48365246 22:48365246C-A C A
+22 48365272 22:48365272A-G A G
+22 48365296 22:48365296A-G A G
+22 48365498 22:48365498T-G T G
+22 48365597 22:48365597A-G A G
+22 48365631 22:48365631T-C T C
+22 48365877 22:48365877C-T C T
+22 48365918 22:48365918C-T C T
+22 48365987 22:48365987A-G A G
+22 48366184 22:48366184A-G A G
+22 48366395 22:48366395C-G C G
+22 48366423 22:48366423G-C G C
+22 48366610 22:48366610G-A G A
+22 48366696 22:48366696C-T C T
+22 48370095 22:48370095C-T C T
+22 48371084 22:48371084G-C G C
+22 48371131 22:48371131G-A G A
+22 48371223 22:48371223C-T C T
+22 48371416 22:48371416A-G A G
+22 48371495 22:48371495G-A G A
+22 48371504 22:48371504C-T C T
+22 48371546 22:48371546T-C T C
+22 48371554 22:48371554A-G A G
+22 48371654 22:48371654T-G T G
+22 48371656 22:48371656C-A C A
+22 48371666 22:48371666T-C T C
+22 48371721 22:48371721T-C T C
+22 48371991 22:48371991T-C T C
+22 48372005 22:48372005C-A C A
+22 48373443 22:48373443T-G T G
+22 48374084 22:48374084C-A C A
+22 48375789 22:48375789A-G A G
+22 48376054 22:48376054G-C G C
+22 48376179 22:48376179A-C A C
+22 48376362 22:48376362C-T C T
+22 48376963 22:48376963A-G A G
+22 48377290 22:48377290A-G A G
+22 48377426 22:48377426C-T C T
+22 48377427 22:48377427A-G A G
+22 48377790 22:48377790C-T C T
+22 48378686 22:48378686A-G A G
+22 48378737 22:48378737G-A G A
+22 48378928 22:48378928C-T C T
+22 48378977 22:48378977C-T C T
+22 48379010 22:48379010C-T C T
+22 48380784 22:48380784T-G T G
+22 48380808 22:48380808T-C T C
+22 48381125 22:48381125G-A G A
+22 48381376 22:48381376A-G A G
+22 48381422 22:48381422T-C T C
+22 48381555 22:48381555T-C T C
+22 48382030 22:48382030A-T A T
+22 48382598 22:48382598T-A T A
+22 48382623 22:48382623G-A G A
+22 48382658 22:48382658A-G A G
+22 48382785 22:48382785C-T C T
+22 48382944 22:48382944C-A C A
+22 48383462 22:48383462C-T C T
+22 48383598 22:48383598T-G T G
+22 48383764 22:48383764T-C T C
+22 48384027 22:48384027T-C T C
+22 48384436 22:48384436G-A G A
+22 48384907 22:48384907T-G T G
+22 48384950 22:48384950C-A C A
+22 48385224 22:48385224A-G A G
+22 48385693 22:48385693C-T C T
+22 48386446 22:48386446T-C T C
+22 48386670 22:48386670C-T C T
+22 48386694 22:48386694A-G A G
+22 48386938 22:48386938T-C T C
+22 48387497 22:48387497G-A G A
+22 48387670 22:48387670G-A G A
+22 48387704 22:48387704T-C T C
+22 48387707 22:48387707G-C G C
+22 48388789 22:48388789G-A G A
+22 48389259 22:48389259T-C T C
+22 48389480 22:48389480G-A G A
+22 48389612 22:48389612A-G A G
+22 48389824 22:48389824G-A G A
+22 48389835 22:48389835C-T C T
+22 48390598 22:48390598C-T C T
+22 48390664 22:48390664G-T G T
+22 48391165 22:48391165A-G A G
+22 48391438 22:48391438G-A G A
+22 48392066 22:48392066C-T C T
+22 48392068 22:48392068G-A G A
+22 48392299 22:48392299G-A G A
+22 48392711 22:48392711T-G T G
+22 48392894 22:48392894G-C G C
+22 48392904 22:48392904G-C G C
+22 48392923 22:48392923G-A G A
+22 48393304 22:48393304A-G A G
+22 48394010 22:48394010A-G A G
+22 48394689 22:48394689G-C G C
+22 48394746 22:48394746C-T C T
+22 48395178 22:48395178T-C T C
+22 48396298 22:48396298C-T C T
+22 48396716 22:48396716A-G A G
+22 48396779 22:48396779A-G A G
+22 48396897 22:48396897G-A G A
+22 48397051 22:48397051C-T C T
+22 48397602 22:48397602G-A G A
+22 48397623 22:48397623G-A G A
+22 48397852 22:48397852A-G A G
+22 48398074 22:48398074G-T G T
+22 48398496 22:48398496C-A C A
+22 48398566 22:48398566G-A G A
+22 48398690 22:48398690G-C G C
+22 48398864 22:48398864C-T C T
+22 48399110 22:48399110G-C G C
+22 48399135 22:48399135C-T C T
+22 48399363 22:48399363G-A G A
+22 48399606 22:48399606C-T C T
+22 48399681 22:48399681A-C A C
+22 48399989 22:48399989C-G C G
+22 48400236 22:48400236A-G A G
+22 48401274 22:48401274A-C A C
+22 48401326 22:48401326G-A G A
+22 48401526 22:48401526C-G C G
+22 48401619 22:48401619G-T G T
+22 48402291 22:48402291T-C T C
+22 48402360 22:48402360C-A C A
+22 48403627 22:48403627T-C T C
+22 48403707 22:48403707C-T C T
+22 48404527 22:48404527C-A C A
+22 48404634 22:48404634G-A G A
+22 48405031 22:48405031T-A T A
+22 48405852 22:48405852C-T C T
+22 48406218 22:48406218G-A G A
+22 48406440 22:48406440C-G C G
+22 48406571 22:48406571C-T C T
+22 48406760 22:48406760T-G T G
+22 48407439 22:48407439A-C A C
+22 48407550 22:48407550T-C T C
+22 48408135 22:48408135A-G A G
+22 48409068 22:48409068T-C T C
+22 48409613 22:48409613C-T C T
+22 48409694 22:48409694A-G A G
+22 48409785 22:48409785C-T C T
+22 48410390 22:48410390A-G A G
+22 48410660 22:48410660A-G A G
+22 48411950 22:48411950G-C G C
+22 48412260 22:48412260C-T C T
+22 48412839 22:48412839C-T C T
+22 48413453 22:48413453C-T C T
+22 48413487 22:48413487A-T A T
+22 48413662 22:48413662A-G A G
+22 48414594 22:48414594C-T C T
+22 48414656 22:48414656C-T C T
+22 48414893 22:48414893A-C A C
+22 48415446 22:48415446T-C T C
+22 48416455 22:48416455A-G A G
+22 48416711 22:48416711T-G T G
+22 48416960 22:48416960G-A G A
+22 48417031 22:48417031A-G A G
+22 48417048 22:48417048C-T C T
+22 48417356 22:48417356T-C T C
+22 48417543 22:48417543A-G A G
+22 48417806 22:48417806C-T C T
+22 48418375 22:48418375C-G C G
+22 48418531 22:48418531A-C A C
+22 48419188 22:48419188A-G A G
+22 48419506 22:48419506A-G A G
+22 48419650 22:48419650C-A C A
+22 48419986 22:48419986G-T G T
+22 48420436 22:48420436G-A G A
+22 48420500 22:48420500C-A C A
+22 48420755 22:48420755G-A G A
+22 48420940 22:48420940A-G A G
+22 48420957 22:48420957A-C A C
+22 48421327 22:48421327A-C A C
+22 48421570 22:48421570C-T C T
+22 48421603 22:48421603C-T C T
+22 48421998 22:48421998A-G A G
+22 48422647 22:48422647T-G T G
+22 48423098 22:48423098C-T C T
+22 48423245 22:48423245G-C G C
+22 48423503 22:48423503C-G C G
+22 48423847 22:48423847A-C A C
+22 48423895 22:48423895G-A G A
+22 48423928 22:48423928A-G A G
+22 48424743 22:48424743T-C T C
+22 48424965 22:48424965T-G T G
+22 48425497 22:48425497C-T C T
+22 48425574 22:48425574G-C G C
+22 48427187 22:48427187C-T C T
+22 48427802 22:48427802T-C T C
+22 48428158 22:48428158C-G C G
+22 48428164 22:48428164A-G A G
+22 48428509 22:48428509C-T C T
+22 48429989 22:48429989G-T G T
+22 48430240 22:48430240T-C T C
+22 48430595 22:48430595C-T C T
+22 48431044 22:48431044T-C T C
+22 48431141 22:48431141C-T C T
+22 48431242 22:48431242C-T C T
+22 48431959 22:48431959T-C T C
+22 48432885 22:48432885G-A G A
+22 48433296 22:48433296A-G A G
+22 48434062 22:48434062G-A G A
+22 48434712 22:48434712T-C T C
+22 48435561 22:48435561A-G A G
+22 48435610 22:48435610G-C G C
+22 48435843 22:48435843G-A G A
+22 48436199 22:48436199C-T C T
+22 48436543 22:48436543A-G A G
+22 48436658 22:48436658C-T C T
+22 48436802 22:48436802A-G A G
+22 48437078 22:48437078C-T C T
+22 48437280 22:48437280C-T C T
+22 48437485 22:48437485A-G A G
+22 48438285 22:48438285C-T C T
+22 48438408 22:48438408A-G A G
+22 48439050 22:48439050T-C T C
+22 48439055 22:48439055C-T C T
+22 48442573 22:48442573T-C T C
+22 48443151 22:48443151G-A G A
+22 48443497 22:48443497T-A T A
+22 48444959 22:48444959G-A G A
+22 48445221 22:48445221G-A G A
+22 48446316 22:48446316A-C A C
+22 48446801 22:48446801T-C T C
+22 48446801 22:48446801T-A T A
+22 48447382 22:48447382C-T C T
+22 48447699 22:48447699A-G A G
+22 48447799 22:48447799G-A G A
+22 48448026 22:48448026G-C G C
+22 48448031 22:48448031G-T G T
+22 48448265 22:48448265T-A T A
+22 48448347 22:48448347A-G A G
+22 48448679 22:48448679C-T C T
+22 48448776 22:48448776T-C T C
+22 48449407 22:48449407C-T C T
+22 48449464 22:48449464G-A G A
+22 48449938 22:48449938C-T C T
+22 48450267 22:48450267A-C A C
+22 48451430 22:48451430G-A G A
+22 48451733 22:48451733C-T C T
+22 48451901 22:48451901C-G C G
+22 48451922 22:48451922T-A T A
+22 48451955 22:48451955A-G A G
+22 48453591 22:48453591A-C A C
+22 48453666 22:48453666C-A C A
+22 48454426 22:48454426C-T C T
+22 48454564 22:48454564C-T C T
+22 48454693 22:48454693T-C T C
+22 48454988 22:48454988C-T C T
+22 48457140 22:48457140T-G T G
+22 48457274 22:48457274G-A G A
+22 48457696 22:48457696G-A G A
+22 48458203 22:48458203A-C A C
+22 48458281 22:48458281C-T C T
+22 48458541 22:48458541A-G A G
+22 48459232 22:48459232T-C T C
+22 48459281 22:48459281G-A G A
+22 48459497 22:48459497T-C T C
+22 48459945 22:48459945C-A C A
+22 48460574 22:48460574G-A G A
+22 48460689 22:48460689G-A G A
+22 48462140 22:48462140T-C T C
+22 48464012 22:48464012C-T C T
+22 48464887 22:48464887C-A C A
+22 48465870 22:48465870G-A G A
+22 48466113 22:48466113C-A C A
+22 48466239 22:48466239G-A G A
+22 48466294 22:48466294T-C T C
+22 48466334 22:48466334G-T G T
+22 48467570 22:48467570G-A G A
+22 48467824 22:48467824G-A G A
+22 48469370 22:48469370C-G C G
+22 48471248 22:48471248C-T C T
+22 48471352 22:48471352T-C T C
+22 48471709 22:48471709G-A G A
+22 48472201 22:48472201A-T A T
+22 48473239 22:48473239C-T C T
+22 48474241 22:48474241T-G T G
+22 48474288 22:48474288T-C T C
+22 48476044 22:48476044C-A C A
+22 48476291 22:48476291C-T C T
+22 48476790 22:48476790G-A G A
+22 48476886 22:48476886C-T C T
+22 48476913 22:48476913T-C T C
+22 48477022 22:48477022C-T C T
+22 48477124 22:48477124G-A G A
+22 48477270 22:48477270C-T C T
+22 48477355 22:48477355C-G C G
+22 48477409 22:48477409C-T C T
+22 48477449 22:48477449A-C A C
+22 48477484 22:48477484C-T C T
+22 48477640 22:48477640G-A G A
+22 48477706 22:48477706G-A G A
+22 48477781 22:48477781A-G A G
+22 48477929 22:48477929T-C T C
+22 48477990 22:48477990G-A G A
+22 48478158 22:48478158C-A C A
+22 48478341 22:48478341C-T C T
+22 48478369 22:48478369T-C T C
+22 48478390 22:48478390C-T C T
+22 48478429 22:48478429T-G T G
+22 48478545 22:48478545A-T A T
+22 48479166 22:48479166C-T C T
+22 48479289 22:48479289C-T C T
+22 48479385 22:48479385C-G C G
+22 48479630 22:48479630G-C G C
+22 48479731 22:48479731G-A G A
+22 48481280 22:48481280C-A C A
+22 48481465 22:48481465G-A G A
+22 48481755 22:48481755T-C T C
+22 48482106 22:48482106G-C G C
+22 48482463 22:48482463T-C T C
+22 48483072 22:48483072T-C T C
+22 48483385 22:48483385C-T C T
+22 48483558 22:48483558C-T C T
+22 48484533 22:48484533T-C T C
+22 48484761 22:48484761C-T C T
+22 48485449 22:48485449G-A G A
+22 48488206 22:48488206G-A G A
+22 48488212 22:48488212C-T C T
+22 48488264 22:48488264G-A G A
+22 48489071 22:48489071T-C T C
+22 48489424 22:48489424G-A G A
+22 48490299 22:48490299G-A G A
+22 48490456 22:48490456T-C T C
+22 48490953 22:48490953G-A G A
+22 48491160 22:48491160C-T C T
+22 48491699 22:48491699C-T C T
+22 48492124 22:48492124A-T A T
+22 48492542 22:48492542C-T C T
+22 48492545 22:48492545G-A G A
+22 48492663 22:48492663T-C T C
+22 48492713 22:48492713C-T C T
+22 48492827 22:48492827G-C G C
+22 48492960 22:48492960T-G T G
+22 48493331 22:48493331C-T C T
+22 48493337 22:48493337C-T C T
+22 48493658 22:48493658C-T C T
+22 48493763 22:48493763T-C T C
+22 48494525 22:48494525G-T G T
+22 48494758 22:48494758A-G A G
+22 48494928 22:48494928A-T A T
+22 48495599 22:48495599C-T C T
+22 48495932 22:48495932C-T C T
+22 48496703 22:48496703C-T C T
+22 48497654 22:48497654A-G A G
+22 48499642 22:48499642C-T C T
+22 48500387 22:48500387C-T C T
+22 48500479 22:48500479T-G T G
+22 48500529 22:48500529G-T G T
+22 48501358 22:48501358A-C A C
+22 48501684 22:48501684T-C T C
+22 48501694 22:48501694C-A C A
+22 48501978 22:48501978A-G A G
+22 48502088 22:48502088C-A C A
+22 48502152 22:48502152T-G T G
+22 48503517 22:48503517C-T C T
+22 48503553 22:48503553C-T C T
+22 48503977 22:48503977C-T C T
+22 48505250 22:48505250A-G A G
+22 48506712 22:48506712G-C G C
+22 48506892 22:48506892G-A G A
+22 48507247 22:48507247A-G A G
+22 48507252 22:48507252C-T C T
+22 48507315 22:48507315T-C T C
+22 48507646 22:48507646C-T C T
+22 48509058 22:48509058C-A C A
+22 48509092 22:48509092C-T C T
+22 48509193 22:48509193G-A G A
+22 48510196 22:48510196T-C T C
+22 48510953 22:48510953C-T C T
+22 48511034 22:48511034C-T C T
+22 48511375 22:48511375C-T C T
+22 48511527 22:48511527C-T C T
+22 48511852 22:48511852T-C T C
+22 48511936 22:48511936A-T A T
+22 48512284 22:48512284T-C T C
+22 48512606 22:48512606C-T C T
+22 48514214 22:48514214C-G C G
+22 48514296 22:48514296C-T C T
+22 48514577 22:48514577T-C T C
+22 48514643 22:48514643T-C T C
+22 48515718 22:48515718T-G T G
+22 48516695 22:48516695G-A G A
+22 48516882 22:48516882G-T G T
+22 48517281 22:48517281A-G A G
+22 48517634 22:48517634C-T C T
+22 48517635 22:48517635G-A G A
+22 48518454 22:48518454T-C T C
+22 48519171 22:48519171G-C G C
+22 48519794 22:48519794T-C T C
+22 48520407 22:48520407G-A G A
+22 48521169 22:48521169C-T C T
+22 48521785 22:48521785C-T C T
+22 48523767 22:48523767T-C T C
+22 48524906 22:48524906G-C G C
+22 48525782 22:48525782T-G T G
+22 48526700 22:48526700A-G A G
+22 48526999 22:48526999G-A G A
+22 48527036 22:48527036G-A G A
+22 48527771 22:48527771G-A G A
+22 48529709 22:48529709G-A G A
+22 48530124 22:48530124A-G A G
+22 48530211 22:48530211G-A G A
+22 48530770 22:48530770T-C T C
+22 48530842 22:48530842C-T C T
+22 48530853 22:48530853C-G C G
+22 48531173 22:48531173T-A T A
+22 48531216 22:48531216A-T A T
+22 48533444 22:48533444T-A T A
+22 48533646 22:48533646G-A G A
+22 48533738 22:48533738C-T C T
+22 48534340 22:48534340C-T C T
+22 48534691 22:48534691C-A C A
+22 48535761 22:48535761G-C G C
+22 48535768 22:48535768A-G A G
+22 48536474 22:48536474A-G A G
+22 48536673 22:48536673T-C T C
+22 48537329 22:48537329G-T G T
+22 48537494 22:48537494T-C T C
+22 48537763 22:48537763G-A G A
+22 48537775 22:48537775A-G A G
+22 48538198 22:48538198G-A G A
+22 48538372 22:48538372A-G A G
+22 48538441 22:48538441T-C T C
+22 48538763 22:48538763A-G A G
+22 48539054 22:48539054C-T C T
+22 48539417 22:48539417G-A G A
+22 48540145 22:48540145C-G C G
+22 48540700 22:48540700T-C T C
+22 48540909 22:48540909A-T A T
+22 48541321 22:48541321C-T C T
+22 48542526 22:48542526G-C G C
+22 48543566 22:48543566C-T C T
+22 48543658 22:48543658C-T C T
+22 48544203 22:48544203T-C T C
+22 48544702 22:48544702C-T C T
+22 48544968 22:48544968T-C T C
+22 48545102 22:48545102G-A G A
+22 48545509 22:48545509G-A G A
+22 48545619 22:48545619C-T C T
+22 48546125 22:48546125A-T A T
+22 48546224 22:48546224A-G A G
+22 48546285 22:48546285A-C A C
+22 48546527 22:48546527T-C T C
+22 48546691 22:48546691C-T C T
+22 48547060 22:48547060C-T C T
+22 48548366 22:48548366C-T C T
+22 48548384 22:48548384G-A G A
+22 48548385 22:48548385C-A C A
+22 48548610 22:48548610A-G A G
+22 48548734 22:48548734G-A G A
+22 48548856 22:48548856G-A G A
+22 48548979 22:48548979C-G C G
+22 48549033 22:48549033T-C T C
+22 48549151 22:48549151G-C G C
+22 48549195 22:48549195C-T C T
+22 48549592 22:48549592C-G C G
+22 48549646 22:48549646G-C G C
+22 48549669 22:48549669T-G T G
+22 48549957 22:48549957G-C G C
+22 48550180 22:48550180C-T C T
+22 48550754 22:48550754C-A C A
+22 48551429 22:48551429C-T C T
+22 48551536 22:48551536G-A G A
+22 48551832 22:48551832A-T A T
+22 48551852 22:48551852T-C T C
+22 48551880 22:48551880G-T G T
+22 48551989 22:48551989G-A G A
+22 48552163 22:48552163T-C T C
+22 48552200 22:48552200G-A G A
+22 48552464 22:48552464A-T A T
+22 48552601 22:48552601C-T C T
+22 48552664 22:48552664G-T G T
+22 48552681 22:48552681A-G A G
+22 48552687 22:48552687C-G C G
+22 48553046 22:48553046C-G C G
+22 48553076 22:48553076C-T C T
+22 48553233 22:48553233A-G A G
+22 48553572 22:48553572T-C T C
+22 48553637 22:48553637G-T G T
+22 48553947 22:48553947G-A G A
+22 48553963 22:48553963C-G C G
+22 48554022 22:48554022A-G A G
+22 48554076 22:48554076C-T C T
+22 48554099 22:48554099T-C T C
+22 48554255 22:48554255A-T A T
+22 48554319 22:48554319G-T G T
+22 48554498 22:48554498T-C T C
+22 48554873 22:48554873G-A G A
+22 48554947 22:48554947A-G A G
+22 48554953 22:48554953C-G C G
+22 48554979 22:48554979C-G C G
+22 48555192 22:48555192G-A G A
+22 48555857 22:48555857C-T C T
+22 48556331 22:48556331G-A G A
+22 48556437 22:48556437C-T C T
+22 48556453 22:48556453G-A G A
+22 48556456 22:48556456A-C A C
+22 48556690 22:48556690G-T G T
+22 48556778 22:48556778A-G A G
+22 48556829 22:48556829G-A G A
+22 48556909 22:48556909G-A G A
+22 48556910 22:48556910G-C G C
+22 48556940 22:48556940T-C T C
+22 48556959 22:48556959C-T C T
+22 48557016 22:48557016A-G A G
+22 48557030 22:48557030G-C G C
+22 48557353 22:48557353G-A G A
+22 48557552 22:48557552A-T A T
+22 48557568 22:48557568C-T C T
+22 48557759 22:48557759G-A G A
+22 48559071 22:48559071C-T C T
+22 48560111 22:48560111C-T C T
+22 48560847 22:48560847G-A G A
+22 48561393 22:48561393A-G A G
+22 48562589 22:48562589T-C T C
+22 48563180 22:48563180T-C T C
+22 48563578 22:48563578A-G A G
+22 48563663 22:48563663G-A G A
+22 48563799 22:48563799A-G A G
+22 48563822 22:48563822C-G C G
+22 48564463 22:48564463A-T A T
+22 48564463 22:48564463A-C A C
+22 48564928 22:48564928C-A C A
+22 48565717 22:48565717A-G A G
+22 48565928 22:48565928A-G A G
+22 48566362 22:48566362C-A C A
+22 48566488 22:48566488T-A T A
+22 48567164 22:48567164C-T C T
+22 48567467 22:48567467G-A G A
+22 48567500 22:48567500T-C T C
+22 48568187 22:48568187A-T A T
+22 48568255 22:48568255A-G A G
+22 48568580 22:48568580C-A C A
+22 48569132 22:48569132C-T C T
+22 48569275 22:48569275C-G C G
+22 48569389 22:48569389C-A C A
+22 48569604 22:48569604T-G T G
+22 48569641 22:48569641T-C T C
+22 48569665 22:48569665C-T C T
+22 48569860 22:48569860G-A G A
+22 48570456 22:48570456T-G T G
+22 48571256 22:48571256A-G A G
+22 48571448 22:48571448G-A G A
+22 48571745 22:48571745T-A T A
+22 48574496 22:48574496A-G A G
+22 48574765 22:48574765C-T C T
+22 48574793 22:48574793C-T C T
+22 48574794 22:48574794G-A G A
+22 48575781 22:48575781C-A C A
+22 48575977 22:48575977A-G A G
+22 48576728 22:48576728T-G T G
+22 48576899 22:48576899C-T C T
+22 48576972 22:48576972C-T C T
+22 48577209 22:48577209C-T C T
+22 48577836 22:48577836C-G C G
+22 48578030 22:48578030G-A G A
+22 48578059 22:48578059C-G C G
+22 48578773 22:48578773A-G A G
+22 48578966 22:48578966G-T G T
+22 48578973 22:48578973A-C A C
+22 48579073 22:48579073G-A G A
+22 48579318 22:48579318C-G C G
+22 48580296 22:48580296T-A T A
+22 48580393 22:48580393T-C T C
+22 48581056 22:48581056G-A G A
+22 48581251 22:48581251G-C G C
+22 48581566 22:48581566G-A G A
+22 48584612 22:48584612G-A G A
+22 48584814 22:48584814C-T C T
+22 48584919 22:48584919C-T C T
+22 48585803 22:48585803A-G A G
+22 48587805 22:48587805A-T A T
+22 48587960 22:48587960G-A G A
+22 48588489 22:48588489C-G C G
+22 48589337 22:48589337G-A G A
+22 48589352 22:48589352C-A C A
+22 48590090 22:48590090A-G A G
+22 48590569 22:48590569C-T C T
+22 48590570 22:48590570G-C G C
+22 48590929 22:48590929A-G A G
+22 48591017 22:48591017A-T A T
+22 48591245 22:48591245A-G A G
+22 48591444 22:48591444G-A G A
+22 48591633 22:48591633A-G A G
+22 48591692 22:48591692C-T C T
+22 48592346 22:48592346A-G A G
+22 48592385 22:48592385A-C A C
+22 48593037 22:48593037T-C T C
+22 48594309 22:48594309G-A G A
+22 48594652 22:48594652T-C T C
+22 48595559 22:48595559A-T A T
+22 48595971 22:48595971T-C T C
+22 48596028 22:48596028G-A G A
+22 48597454 22:48597454G-A G A
+22 48597994 22:48597994A-T A T
+22 48598036 22:48598036T-C T C
+22 48598037 22:48598037G-A G A
+22 48598052 22:48598052T-G T G
+22 48598164 22:48598164G-A G A
+22 48599031 22:48599031A-G A G
+22 48600260 22:48600260G-A G A
+22 48600301 22:48600301T-C T C
+22 48600362 22:48600362T-G T G
+22 48600367 22:48600367G-C G C
+22 48600443 22:48600443T-C T C
+22 48600465 22:48600465A-T A T
+22 48600677 22:48600677C-T C T
+22 48600769 22:48600769A-G A G
+22 48601001 22:48601001C-T C T
+22 48601218 22:48601218G-A G A
+22 48601686 22:48601686G-A G A
+22 48602309 22:48602309A-G A G
+22 48603072 22:48603072T-C T C
+22 48603295 22:48603295T-C T C
+22 48603424 22:48603424C-T C T
+22 48603502 22:48603502T-C T C
+22 48604241 22:48604241C-T C T
+22 48604606 22:48604606C-G C G
+22 48604637 22:48604637C-T C T
+22 48604878 22:48604878C-T C T
+22 48605102 22:48605102A-C A C
+22 48605256 22:48605256T-A T A
+22 48605364 22:48605364T-C T C
+22 48605407 22:48605407A-C A C
+22 48605975 22:48605975C-A C A
+22 48606311 22:48606311A-G A G
+22 48606899 22:48606899G-A G A
+22 48607014 22:48607014G-A G A
+22 48607464 22:48607464T-C T C
+22 48607574 22:48607574G-A G A
+22 48608551 22:48608551A-G A G
+22 48608941 22:48608941A-C A C
+22 48609060 22:48609060C-T C T
+22 48609442 22:48609442C-T C T
+22 48609485 22:48609485T-C T C
+22 48609694 22:48609694T-C T C
+22 48609843 22:48609843C-A C A
+22 48609902 22:48609902G-A G A
+22 48610438 22:48610438G-A G A
+22 48610856 22:48610856G-T G T
+22 48611036 22:48611036G-A G A
+22 48611088 22:48611088G-A G A
+22 48611116 22:48611116T-C T C
+22 48611228 22:48611228A-G A G
+22 48611310 22:48611310T-C T C
+22 48611746 22:48611746A-G A G
+22 48611856 22:48611856A-G A G
+22 48612068 22:48612068C-G C G
+22 48612813 22:48612813A-C A C
+22 48613029 22:48613029G-A G A
+22 48613122 22:48613122G-A G A
+22 48613603 22:48613603G-C G C
+22 48614954 22:48614954T-G T G
+22 48615721 22:48615721C-T C T
+22 48615841 22:48615841G-A G A
+22 48615926 22:48615926T-C T C
+22 48616226 22:48616226A-G A G
+22 48616287 22:48616287T-C T C
+22 48616334 22:48616334G-A G A
+22 48616397 22:48616397T-A T A
+22 48616399 22:48616399T-A T A
+22 48617522 22:48617522A-C A C
+22 48617557 22:48617557G-A G A
+22 48617565 22:48617565G-C G C
+22 48617648 22:48617648G-A G A
+22 48617701 22:48617701A-G A G
+22 48617761 22:48617761T-C T C
+22 48618111 22:48618111T-C T C
+22 48618438 22:48618438T-G T G
+22 48618459 22:48618459G-A G A
+22 48618698 22:48618698A-G A G
+22 48618786 22:48618786T-C T C
+22 48618845 22:48618845C-G C G
+22 48618884 22:48618884A-G A G
+22 48619461 22:48619461T-G T G
+22 48619526 22:48619526G-T G T
+22 48619542 22:48619542T-C T C
+22 48619619 22:48619619C-T C T
+22 48619667 22:48619667G-A G A
+22 48619870 22:48619870G-A G A
+22 48619973 22:48619973A-G A G
+22 48620492 22:48620492T-C T C
+22 48620587 22:48620587C-T C T
+22 48620639 22:48620639G-A G A
+22 48620730 22:48620730G-T G T
+22 48620848 22:48620848C-G C G
+22 48620885 22:48620885A-G A G
+22 48620902 22:48620902T-C T C
+22 48620942 22:48620942A-G A G
+22 48620987 22:48620987G-T G T
+22 48621040 22:48621040C-T C T
+22 48621447 22:48621447G-A G A
+22 48621591 22:48621591A-G A G
+22 48621716 22:48621716C-T C T
+22 48621794 22:48621794C-T C T
+22 48621800 22:48621800G-A G A
+22 48621843 22:48621843T-C T C
+22 48622005 22:48622005A-G A G
+22 48622025 22:48622025A-G A G
+22 48622139 22:48622139A-G A G
+22 48622161 22:48622161A-G A G
+22 48622209 22:48622209C-T C T
+22 48622424 22:48622424C-T C T
+22 48622537 22:48622537G-T G T
+22 48622651 22:48622651C-T C T
+22 48622883 22:48622883T-A T A
+22 48622984 22:48622984T-A T A
+22 48623476 22:48623476C-T C T
+22 48623492 22:48623492C-A C A
+22 48623748 22:48623748C-G C G
+22 48623849 22:48623849T-C T C
+22 48623992 22:48623992G-A G A
+22 48624180 22:48624180G-A G A
+22 48624381 22:48624381A-G A G
+22 48624527 22:48624527A-G A G
+22 48624680 22:48624680T-A T A
+22 48624809 22:48624809G-T G T
+22 48624902 22:48624902G-A G A
+22 48624928 22:48624928C-G C G
+22 48624962 22:48624962T-C T C
+22 48625173 22:48625173G-C G C
+22 48625293 22:48625293A-G A G
+22 48625729 22:48625729T-C T C
+22 48625762 22:48625762G-A G A
+22 48626019 22:48626019T-C T C
+22 48626250 22:48626250G-A G A
+22 48627138 22:48627138A-C A C
+22 48628482 22:48628482T-C T C
+22 48628868 22:48628868A-T A T
+22 48629354 22:48629354G-A G A
+22 48629468 22:48629468C-G C G
+22 48630748 22:48630748G-C G C
+22 48630893 22:48630893G-A G A
+22 48631327 22:48631327C-T C T
+22 48631684 22:48631684C-A C A
+22 48631707 22:48631707A-G A G
+22 48632318 22:48632318G-A G A
+22 48633217 22:48633217T-C T C
+22 48633233 22:48633233T-A T A
+22 48633262 22:48633262T-C T C
+22 48633539 22:48633539G-A G A
+22 48633629 22:48633629C-T C T
+22 48634082 22:48634082G-A G A
+22 48634223 22:48634223T-C T C
+22 48634961 22:48634961C-G C G
+22 48635069 22:48635069A-G A G
+22 48635286 22:48635286G-A G A
+22 48636518 22:48636518C-G C G
+22 48636654 22:48636654C-T C T
+22 48636757 22:48636757G-A G A
+22 48636762 22:48636762G-A G A
+22 48637027 22:48637027A-G A G
+22 48637056 22:48637056A-G A G
+22 48637081 22:48637081C-T C T
+22 48637319 22:48637319T-C T C
+22 48637553 22:48637553G-A G A
+22 48637654 22:48637654C-T C T
+22 48637663 22:48637663G-A G A
+22 48638050 22:48638050A-C A C
+22 48638528 22:48638528G-T G T
+22 48638544 22:48638544G-A G A
+22 48638660 22:48638660C-T C T
+22 48638662 22:48638662T-C T C
+22 48638792 22:48638792G-C G C
+22 48639063 22:48639063C-G C G
+22 48639116 22:48639116C-G C G
+22 48639134 22:48639134A-G A G
+22 48639248 22:48639248T-C T C
+22 48639471 22:48639471G-A G A
+22 48639993 22:48639993A-G A G
+22 48640106 22:48640106C-G C G
+22 48640149 22:48640149A-G A G
+22 48640227 22:48640227C-T C T
+22 48641467 22:48641467C-T C T
+22 48641869 22:48641869A-G A G
+22 48642473 22:48642473G-A G A
+22 48642932 22:48642932C-T C T
+22 48643743 22:48643743C-T C T
+22 48643854 22:48643854A-G A G
+22 48644328 22:48644328A-G A G
+22 48644923 22:48644923A-G A G
+22 48646254 22:48646254T-G T G
+22 48646288 22:48646288T-C T C
+22 48646477 22:48646477T-C T C
+22 48646942 22:48646942T-G T G
+22 48647513 22:48647513C-T C T
+22 48649223 22:48649223G-A G A
+22 48649449 22:48649449T-G T G
+22 48649578 22:48649578G-C G C
+22 48649830 22:48649830T-C T C
+22 48650288 22:48650288T-C T C
+22 48651041 22:48651041T-C T C
+22 48651298 22:48651298C-T C T
+22 48651520 22:48651520C-T C T
+22 48651726 22:48651726A-G A G
+22 48651995 22:48651995C-T C T
+22 48653270 22:48653270T-G T G
+22 48654950 22:48654950T-C T C
+22 48655686 22:48655686C-T C T
+22 48655892 22:48655892G-C G C
+22 48658467 22:48658467T-C T C
+22 48658493 22:48658493G-A G A
+22 48658772 22:48658772T-A T A
+22 48658956 22:48658956G-C G C
+22 48658962 22:48658962G-A G A
+22 48659265 22:48659265G-A G A
+22 48659880 22:48659880C-T C T
+22 48660530 22:48660530A-C A C
+22 48661109 22:48661109G-A G A
+22 48661799 22:48661799A-T A T
+22 48662538 22:48662538T-C T C
+22 48662872 22:48662872A-G A G
+22 48663548 22:48663548A-G A G
+22 48663659 22:48663659C-G C G
+22 48664409 22:48664409G-A G A
+22 48664909 22:48664909C-T C T
+22 48665154 22:48665154G-C G C
+22 48665415 22:48665415C-T C T
+22 48665472 22:48665472A-G A G
+22 48665561 22:48665561C-T C T
+22 48665686 22:48665686C-T C T
+22 48666286 22:48666286G-A G A
+22 48666450 22:48666450A-G A G
+22 48666495 22:48666495T-C T C
+22 48667161 22:48667161T-C T C
+22 48668034 22:48668034A-G A G
+22 48668163 22:48668163G-A G A
+22 48668760 22:48668760C-T C T
+22 48669676 22:48669676C-G C G
+22 48670512 22:48670512C-T C T
+22 48670715 22:48670715C-T C T
+22 48670909 22:48670909A-G A G
+22 48671102 22:48671102A-G A G
+22 48671135 22:48671135T-C T C
+22 48671159 22:48671159C-T C T
+22 48671263 22:48671263A-G A G
+22 48671281 22:48671281C-A C A
+22 48671976 22:48671976C-G C G
+22 48672046 22:48672046T-A T A
+22 48672140 22:48672140G-A G A
+22 48672270 22:48672270T-G T G
+22 48672302 22:48672302C-T C T
+22 48672954 22:48672954G-T G T
+22 48672957 22:48672957C-T C T
+22 48673198 22:48673198A-G A G
+22 48673301 22:48673301A-T A T
+22 48674610 22:48674610A-C A C
+22 48674736 22:48674736G-T G T
+22 48674776 22:48674776G-A G A
+22 48674867 22:48674867T-C T C
+22 48674928 22:48674928C-T C T
+22 48676153 22:48676153T-C T C
+22 48676172 22:48676172G-A G A
+22 48677229 22:48677229G-A G A
+22 48677261 22:48677261T-C T C
+22 48677867 22:48677867G-A G A
+22 48678183 22:48678183G-A G A
+22 48678761 22:48678761A-T A T
+22 48679288 22:48679288T-C T C
+22 48680928 22:48680928A-G A G
+22 48680953 22:48680953C-T C T
+22 48681135 22:48681135T-C T C
+22 48681337 22:48681337C-T C T
+22 48681770 22:48681770T-C T C
+22 48682369 22:48682369C-T C T
+22 48682431 22:48682431C-T C T
+22 48682564 22:48682564A-G A G
+22 48682640 22:48682640A-C A C
+22 48682685 22:48682685G-C G C
+22 48683518 22:48683518A-G A G
+22 48683821 22:48683821A-G A G
+22 48683912 22:48683912T-C T C
+22 48684101 22:48684101T-C T C
+22 48684133 22:48684133A-G A G
+22 48684195 22:48684195T-C T C
+22 48684220 22:48684220A-C A C
+22 48684287 22:48684287G-C G C
+22 48684434 22:48684434C-T C T
+22 48685044 22:48685044G-A G A
+22 48685281 22:48685281G-A G A
+22 48686625 22:48686625A-G A G
+22 48686921 22:48686921T-A T A
+22 48686928 22:48686928C-A C A
+22 48686961 22:48686961A-T A T
+22 48687076 22:48687076C-T C T
+22 48687137 22:48687137C-T C T
+22 48687376 22:48687376C-G C G
+22 48687509 22:48687509T-C T C
+22 48687836 22:48687836G-A G A
+22 48687883 22:48687883C-T C T
+22 48688124 22:48688124C-T C T
+22 48688145 22:48688145T-C T C
+22 48688429 22:48688429G-C G C
+22 48688503 22:48688503G-A G A
+22 48688634 22:48688634G-A G A
+22 48689126 22:48689126A-T A T
+22 48689443 22:48689443C-T C T
+22 48689450 22:48689450C-T C T
+22 48689461 22:48689461C-A C A
+22 48689626 22:48689626T-C T C
+22 48689786 22:48689786A-G A G
+22 48690187 22:48690187C-T C T
+22 48690225 22:48690225A-C A C
+22 48690448 22:48690448C-A C A
+22 48690780 22:48690780A-G A G
+22 48691153 22:48691153C-T C T
+22 48691201 22:48691201C-T C T
+22 48691442 22:48691442A-G A G
+22 48691715 22:48691715A-G A G
+22 48691766 22:48691766A-T A T
+22 48692033 22:48692033C-T C T
+22 48692198 22:48692198A-T A T
+22 48692553 22:48692553T-G T G
+22 48692568 22:48692568C-T C T
+22 48692656 22:48692656C-T C T
+22 48693091 22:48693091C-T C T
+22 48693129 22:48693129A-G A G
+22 48693216 22:48693216T-A T A
+22 48693246 22:48693246A-G A G
+22 48693735 22:48693735G-T G T
+22 48693953 22:48693953C-T C T
+22 48694866 22:48694866C-T C T
+22 48694974 22:48694974C-T C T
+22 48695110 22:48695110C-A C A
+22 48695745 22:48695745C-T C T
+22 48696608 22:48696608A-G A G
+22 48696620 22:48696620G-A G A
+22 48696662 22:48696662G-A G A
+22 48696697 22:48696697A-C A C
+22 48696944 22:48696944G-A G A
+22 48696986 22:48696986A-G A G
+22 48697257 22:48697257A-G A G
+22 48697324 22:48697324T-C T C
+22 48698117 22:48698117T-C T C
+22 48698120 22:48698120C-A C A
+22 48698255 22:48698255C-A C A
+22 48698372 22:48698372G-A G A
+22 48698560 22:48698560C-T C T
+22 48698810 22:48698810G-A G A
+22 48699450 22:48699450T-G T G
+22 48699617 22:48699617C-T C T
+22 48699621 22:48699621C-G C G
+22 48699812 22:48699812C-T C T
+22 48699988 22:48699988G-A G A
+22 48700223 22:48700223C-T C T
+22 48700237 22:48700237A-T A T
+22 48700393 22:48700393C-T C T
+22 48701023 22:48701023T-G T G
+22 48701030 22:48701030T-C T C
+22 48703874 22:48703874C-T C T
+22 48706155 22:48706155G-A G A
+22 48707427 22:48707427T-C T C
+22 48708486 22:48708486C-T C T
+22 48708954 22:48708954A-G A G
+22 48709206 22:48709206G-A G A
+22 48709566 22:48709566G-A G A
+22 48709724 22:48709724A-G A G
+22 48710157 22:48710157G-T G T
+22 48710291 22:48710291C-G C G
+22 48710319 22:48710319A-C A C
+22 48710350 22:48710350G-A G A
+22 48710480 22:48710480G-A G A
+22 48711059 22:48711059C-G C G
+22 48711251 22:48711251G-A G A
+22 48711296 22:48711296C-T C T
+22 48711616 22:48711616C-T C T
+22 48711927 22:48711927C-T C T
+22 48712475 22:48712475G-C G C
+22 48712481 22:48712481A-C A C
+22 48712604 22:48712604A-G A G
+22 48712962 22:48712962G-A G A
+22 48713227 22:48713227T-C T C
+22 48713551 22:48713551G-A G A
+22 48714353 22:48714353G-A G A
+22 48714419 22:48714419T-C T C
+22 48714420 22:48714420G-A G A
+22 48714825 22:48714825T-G T G
+22 48715166 22:48715166C-T C T
+22 48715226 22:48715226G-A G A
+22 48715395 22:48715395A-G A G
+22 48715663 22:48715663T-C T C
+22 48715673 22:48715673C-G C G
+22 48715863 22:48715863C-T C T
+22 48716235 22:48716235C-G C G
+22 48716258 22:48716258C-T C T
+22 48716282 22:48716282T-C T C
+22 48716353 22:48716353T-A T A
+22 48716365 22:48716365C-T C T
+22 48716451 22:48716451A-G A G
+22 48717026 22:48717026G-A G A
+22 48717101 22:48717101A-C A C
+22 48717304 22:48717304A-T A T
+22 48717393 22:48717393T-C T C
+22 48717568 22:48717568C-T C T
+22 48717705 22:48717705C-T C T
+22 48717791 22:48717791G-C G C
+22 48717973 22:48717973T-C T C
+22 48717976 22:48717976G-A G A
+22 48718010 22:48718010A-G A G
+22 48718051 22:48718051A-G A G
+22 48718112 22:48718112C-T C T
+22 48718131 22:48718131C-T C T
+22 48718135 22:48718135G-A G A
+22 48718163 22:48718163A-G A G
+22 48718204 22:48718204T-C T C
+22 48718247 22:48718247C-T C T
+22 48718274 22:48718274T-C T C
+22 48718358 22:48718358G-C G C
+22 48718373 22:48718373T-C T C
+22 48718696 22:48718696T-C T C
+22 48718721 22:48718721A-C A C
+22 48718818 22:48718818T-G T G
+22 48718828 22:48718828A-G A G
+22 48718966 22:48718966G-A G A
+22 48719269 22:48719269G-C G C
+22 48719380 22:48719380G-A G A
+22 48719451 22:48719451A-T A T
+22 48719458 22:48719458A-C A C
+22 48719570 22:48719570G-A G A
+22 48720000 22:48720000T-G T G
+22 48720192 22:48720192A-G A G
+22 48720292 22:48720292T-G T G
+22 48720355 22:48720355G-A G A
+22 48720364 22:48720364A-G A G
+22 48720389 22:48720389G-A G A
+22 48720586 22:48720586A-C A C
+22 48721285 22:48721285T-C T C
+22 48721585 22:48721585T-C T C
+22 48722075 22:48722075G-A G A
+22 48722383 22:48722383C-T C T
+22 48722502 22:48722502C-T C T
+22 48722735 22:48722735A-G A G
+22 48723069 22:48723069G-C G C
+22 48723213 22:48723213C-G C G
+22 48723281 22:48723281G-C G C
+22 48723660 22:48723660C-T C T
+22 48723879 22:48723879G-A G A
+22 48723893 22:48723893G-C G C
+22 48724353 22:48724353C-T C T
+22 48724462 22:48724462C-T C T
+22 48724647 22:48724647G-T G T
+22 48724661 22:48724661G-A G A
+22 48725114 22:48725114T-G T G
+22 48725244 22:48725244A-C A C
+22 48725535 22:48725535G-A G A
+22 48726121 22:48726121T-C T C
+22 48726155 22:48726155T-C T C
+22 48726517 22:48726517A-G A G
+22 48726636 22:48726636T-C T C
+22 48726698 22:48726698T-A T A
+22 48726996 22:48726996C-T C T
+22 48727259 22:48727259A-G A G
+22 48727580 22:48727580C-A C A
+22 48727674 22:48727674G-A G A
+22 48727758 22:48727758G-A G A
+22 48728073 22:48728073T-C T C
+22 48728282 22:48728282C-T C T
+22 48728386 22:48728386T-C T C
+22 48729069 22:48729069C-G C G
+22 48729188 22:48729188A-G A G
+22 48729316 22:48729316G-C G C
+22 48729550 22:48729550C-T C T
+22 48730069 22:48730069G-A G A
+22 48730683 22:48730683T-A T A
+22 48730913 22:48730913C-T C T
+22 48732593 22:48732593C-T C T
+22 48733025 22:48733025G-A G A
+22 48733658 22:48733658T-C T C
+22 48733827 22:48733827G-A G A
+22 48733874 22:48733874G-A G A
+22 48733898 22:48733898A-G A G
+22 48734574 22:48734574A-T A T
+22 48734609 22:48734609G-A G A
+22 48734899 22:48734899G-A G A
+22 48735996 22:48735996C-A C A
+22 48736122 22:48736122G-A G A
+22 48736200 22:48736200A-G A G
+22 48736646 22:48736646G-C G C
+22 48737639 22:48737639G-A G A
+22 48738133 22:48738133T-G T G
+22 48738463 22:48738463T-C T C
+22 48739112 22:48739112G-A G A
+22 48739129 22:48739129T-C T C
+22 48739456 22:48739456C-T C T
+22 48739642 22:48739642A-G A G
+22 48742097 22:48742097C-A C A
+22 48748390 22:48748390C-G C G
+22 48749087 22:48749087G-C G C
+22 48749132 22:48749132T-A T A
+22 48749371 22:48749371G-A G A
+22 48749424 22:48749424C-A C A
+22 48749548 22:48749548A-T A T
+22 48749663 22:48749663C-T C T
+22 48749869 22:48749869G-A G A
+22 48750056 22:48750056G-T G T
+22 48750445 22:48750445A-G A G
+22 48751328 22:48751328G-T G T
+22 48751785 22:48751785G-A G A
+22 48752397 22:48752397T-C T C
+22 48752790 22:48752790G-C G C
+22 48752929 22:48752929A-G A G
+22 48753163 22:48753163C-G C G
+22 48753796 22:48753796T-C T C
+22 48753956 22:48753956A-C A C
+22 48755816 22:48755816G-A G A
+22 48757084 22:48757084C-G C G
+22 48757226 22:48757226T-G T G
+22 48757383 22:48757383T-C T C
+22 48757408 22:48757408G-A G A
+22 48757576 22:48757576G-T G T
+22 48757897 22:48757897C-T C T
+22 48758163 22:48758163C-A C A
+22 48758497 22:48758497C-T C T
+22 48758929 22:48758929T-C T C
+22 48759228 22:48759228A-T A T
+22 48759705 22:48759705T-C T C
+22 48759735 22:48759735T-G T G
+22 48760125 22:48760125G-A G A
+22 48761420 22:48761420T-C T C
+22 48761762 22:48761762G-C G C
+22 48761888 22:48761888G-A G A
+22 48761973 22:48761973A-G A G
+22 48762132 22:48762132G-C G C
+22 48762687 22:48762687G-T G T
+22 48763054 22:48763054A-G A G
+22 48763118 22:48763118T-C T C
+22 48763733 22:48763733A-C A C
+22 48763864 22:48763864C-G C G
+22 48763919 22:48763919G-T G T
+22 48764330 22:48764330T-C T C
+22 48764605 22:48764605A-G A G
+22 48764907 22:48764907A-G A G
+22 48765011 22:48765011A-G A G
+22 48765108 22:48765108T-G T G
+22 48765158 22:48765158G-A G A
+22 48765972 22:48765972G-C G C
+22 48766025 22:48766025T-C T C
+22 48766050 22:48766050C-T C T
+22 48766369 22:48766369T-A T A
+22 48766481 22:48766481A-G A G
+22 48766611 22:48766611G-A G A
+22 48766791 22:48766791C-T C T
+22 48766792 22:48766792A-G A G
+22 48766824 22:48766824A-C A C
+22 48767145 22:48767145A-T A T
+22 48767147 22:48767147A-G A G
+22 48767186 22:48767186G-T G T
+22 48767189 22:48767189T-C T C
+22 48767363 22:48767363G-A G A
+22 48767547 22:48767547A-C A C
+22 48767646 22:48767646T-C T C
+22 48767658 22:48767658G-C G C
+22 48767688 22:48767688G-A G A
+22 48767708 22:48767708T-C T C
+22 48768164 22:48768164G-C G C
+22 48768363 22:48768363C-T C T
+22 48768431 22:48768431C-A C A
+22 48768480 22:48768480G-A G A
+22 48770418 22:48770418G-C G C
+22 48771726 22:48771726T-A T A
+22 48772793 22:48772793A-G A G
+22 48774417 22:48774417C-A C A
+22 48774672 22:48774672A-G A G
+22 48774820 22:48774820T-G T G
+22 48775136 22:48775136T-C T C
+22 48775198 22:48775198T-C T C
+22 48775633 22:48775633A-G A G
+22 48775697 22:48775697C-G C G
+22 48775800 22:48775800T-C T C
+22 48775872 22:48775872A-G A G
+22 48776044 22:48776044C-T C T
+22 48776232 22:48776232T-C T C
+22 48776836 22:48776836T-A T A
+22 48776897 22:48776897T-A T A
+22 48778191 22:48778191C-G C G
+22 48779343 22:48779343C-A C A
+22 48779582 22:48779582G-A G A
+22 48781453 22:48781453A-C A C
+22 48782082 22:48782082A-C A C
+22 48783397 22:48783397G-A G A
+22 48783960 22:48783960C-T C T
+22 48784035 22:48784035A-C A C
+22 48784158 22:48784158T-C T C
+22 48784554 22:48784554C-T C T
+22 48784569 22:48784569A-G A G
+22 48785186 22:48785186A-G A G
+22 48785431 22:48785431A-G A G
+22 48785472 22:48785472G-T G T
+22 48785716 22:48785716G-A G A
+22 48785800 22:48785800T-C T C
+22 48785849 22:48785849G-T G T
+22 48785863 22:48785863A-G A G
+22 48786197 22:48786197G-A G A
+22 48786253 22:48786253G-A G A
+22 48786259 22:48786259G-A G A
+22 48786499 22:48786499C-T C T
+22 48786581 22:48786581G-T G T
+22 48786797 22:48786797A-G A G
+22 48786908 22:48786908C-G C G
+22 48786981 22:48786981A-G A G
+22 48787413 22:48787413G-A G A
+22 48788036 22:48788036G-A G A
+22 48788504 22:48788504C-G C G
+22 48792525 22:48792525C-T C T
+22 48793836 22:48793836T-A T A
+22 48794990 22:48794990G-T G T
+22 48796091 22:48796091C-T C T
+22 48797886 22:48797886C-A C A
+22 48797962 22:48797962C-T C T
+22 48798010 22:48798010A-C A C
+22 48799729 22:48799729T-G T G
+22 48800080 22:48800080T-A T A
+22 48800416 22:48800416A-T A T
+22 48800438 22:48800438C-G C G
+22 48800794 22:48800794G-A G A
+22 48801065 22:48801065G-A G A
+22 48801561 22:48801561C-T C T
+22 48801666 22:48801666T-C T C
+22 48801818 22:48801818G-A G A
+22 48802184 22:48802184A-G A G
+22 48802584 22:48802584A-T A T
+22 48802647 22:48802647T-C T C
+22 48803319 22:48803319T-C T C
+22 48803343 22:48803343A-G A G
+22 48803912 22:48803912A-G A G
+22 48804378 22:48804378A-C A C
+22 48804385 22:48804385A-G A G
+22 48804412 22:48804412T-C T C
+22 48804729 22:48804729G-T G T
+22 48805164 22:48805164G-A G A
+22 48805924 22:48805924T-G T G
+22 48806360 22:48806360T-C T C
+22 48806745 22:48806745A-G A G
+22 48806802 22:48806802G-A G A
+22 48807027 22:48807027A-G A G
+22 48807485 22:48807485C-A C A
+22 48807517 22:48807517G-A G A
+22 48807773 22:48807773C-T C T
+22 48808077 22:48808077A-G A G
+22 48808351 22:48808351A-G A G
+22 48808860 22:48808860G-A G A
+22 48808912 22:48808912A-G A G
+22 48808940 22:48808940G-A G A
+22 48808996 22:48808996G-A G A
+22 48809009 22:48809009A-C A C
+22 48809017 22:48809017T-C T C
+22 48809109 22:48809109C-G C G
+22 48809362 22:48809362T-C T C
+22 48810073 22:48810073A-G A G
+22 48810119 22:48810119T-C T C
+22 48811068 22:48811068G-A G A
+22 48811095 22:48811095A-G A G
+22 48811443 22:48811443G-C G C
+22 48811525 22:48811525T-C T C
+22 48811874 22:48811874C-A C A
+22 48811946 22:48811946T-C T C
+22 48812130 22:48812130T-G T G
+22 48812135 22:48812135A-C A C
+22 48812241 22:48812241T-C T C
+22 48812690 22:48812690T-C T C
+22 48812871 22:48812871A-G A G
+22 48813458 22:48813458A-C A C
+22 48813648 22:48813648C-T C T
+22 48814825 22:48814825T-C T C
+22 48815311 22:48815311T-C T C
+22 48815752 22:48815752A-C A C
+22 48815984 22:48815984A-C A C
+22 48816010 22:48816010C-A C A
+22 48816236 22:48816236T-G T G
+22 48816291 22:48816291G-C G C
+22 48816435 22:48816435C-T C T
+22 48816559 22:48816559A-G A G
+22 48816766 22:48816766T-C T C
+22 48816872 22:48816872C-T C T
+22 48816917 22:48816917A-G A G
+22 48817460 22:48817460C-T C T
+22 48818016 22:48818016A-T A T
+22 48818021 22:48818021G-A G A
+22 48819202 22:48819202T-C T C
+22 48819241 22:48819241T-C T C
+22 48819364 22:48819364G-T G T
+22 48819398 22:48819398A-C A C
+22 48819677 22:48819677T-A T A
+22 48820023 22:48820023C-T C T
+22 48820607 22:48820607A-C A C
+22 48820757 22:48820757C-T C T
+22 48820839 22:48820839G-T G T
+22 48821349 22:48821349G-C G C
+22 48821854 22:48821854A-G A G
+22 48822122 22:48822122A-C A C
+22 48822390 22:48822390T-C T C
+22 48822441 22:48822441G-A G A
+22 48822541 22:48822541A-G A G
+22 48822619 22:48822619T-C T C
+22 48823180 22:48823180G-C G C
+22 48823192 22:48823192A-C A C
+22 48823357 22:48823357A-G A G
+22 48823628 22:48823628G-A G A
+22 48823666 22:48823666T-C T C
+22 48824117 22:48824117T-C T C
+22 48824567 22:48824567C-T C T
+22 48824991 22:48824991G-A G A
+22 48825972 22:48825972C-G C G
+22 48826150 22:48826150C-T C T
+22 48826423 22:48826423C-T C T
+22 48827287 22:48827287G-A G A
+22 48827484 22:48827484C-A C A
+22 48827691 22:48827691G-C G C
+22 48827866 22:48827866G-T G T
+22 48827910 22:48827910T-C T C
+22 48828009 22:48828009C-T C T
+22 48828168 22:48828168G-A G A
+22 48828223 22:48828223A-G A G
+22 48828265 22:48828265C-A C A
+22 48828285 22:48828285G-A G A
+22 48828775 22:48828775G-C G C
+22 48829178 22:48829178G-A G A
+22 48829386 22:48829386C-T C T
+22 48829649 22:48829649C-T C T
+22 48829786 22:48829786T-A T A
+22 48829790 22:48829790C-T C T
+22 48830012 22:48830012C-G C G
+22 48830022 22:48830022G-A G A
+22 48830216 22:48830216G-A G A
+22 48830359 22:48830359G-A G A
+22 48830394 22:48830394G-A G A
+22 48830555 22:48830555C-T C T
+22 48830597 22:48830597G-A G A
+22 48830725 22:48830725A-G A G
+22 48830835 22:48830835C-A C A
+22 48830958 22:48830958G-A G A
+22 48831982 22:48831982C-G C G
+22 48832094 22:48832094G-A G A
+22 48832215 22:48832215C-T C T
+22 48832328 22:48832328C-T C T
+22 48832793 22:48832793A-G A G
+22 48832904 22:48832904A-G A G
+22 48832908 22:48832908G-A G A
+22 48832953 22:48832953T-C T C
+22 48833241 22:48833241G-A G A
+22 48833702 22:48833702G-T G T
+22 48833706 22:48833706A-G A G
+22 48833923 22:48833923A-T A T
+22 48834523 22:48834523G-A G A
+22 48835465 22:48835465C-G C G
+22 48835807 22:48835807T-C T C
+22 48835912 22:48835912T-G T G
+22 48836042 22:48836042A-G A G
+22 48836167 22:48836167C-T C T
+22 48836239 22:48836239G-A G A
+22 48836425 22:48836425T-C T C
+22 48836967 22:48836967C-T C T
+22 48837349 22:48837349G-A G A
+22 48837364 22:48837364T-G T G
+22 48837629 22:48837629G-A G A
+22 48837650 22:48837650G-C G C
+22 48837713 22:48837713T-C T C
+22 48837867 22:48837867G-A G A
+22 48837907 22:48837907G-A G A
+22 48838345 22:48838345A-G A G
+22 48838656 22:48838656G-A G A
+22 48838802 22:48838802G-A G A
+22 48838815 22:48838815A-G A G
+22 48838849 22:48838849T-C T C
+22 48839125 22:48839125C-T C T
+22 48839260 22:48839260T-C T C
+22 48839707 22:48839707A-G A G
+22 48840428 22:48840428C-A C A
+22 48840707 22:48840707C-T C T
+22 48840927 22:48840927G-A G A
+22 48841057 22:48841057G-A G A
+22 48842336 22:48842336G-A G A
+22 48843119 22:48843119C-T C T
+22 48843448 22:48843448C-G C G
+22 48843478 22:48843478C-T C T
+22 48844141 22:48844141C-T C T
+22 48844371 22:48844371A-G A G
+22 48844751 22:48844751T-C T C
+22 48844772 22:48844772C-T C T
+22 48845039 22:48845039A-G A G
+22 48845487 22:48845487C-T C T
+22 48845504 22:48845504C-A C A
+22 48845588 22:48845588C-G C G
+22 48845626 22:48845626C-T C T
+22 48845768 22:48845768T-C T C
+22 48846599 22:48846599A-C A C
+22 48846867 22:48846867A-C A C
+22 48847257 22:48847257G-A G A
+22 48847517 22:48847517G-A G A
+22 48847813 22:48847813G-A G A
+22 48847910 22:48847910C-A C A
+22 48848116 22:48848116C-T C T
+22 48848132 22:48848132G-C G C
+22 48849045 22:48849045T-C T C
+22 48849097 22:48849097A-G A G
+22 48849205 22:48849205T-C T C
+22 48849233 22:48849233C-T C T
+22 48849346 22:48849346C-G C G
+22 48849424 22:48849424T-C T C
+22 48849457 22:48849457G-C G C
+22 48850674 22:48850674G-T G T
+22 48850781 22:48850781G-A G A
+22 48850859 22:48850859T-C T C
+22 48850942 22:48850942C-T C T
+22 48850974 22:48850974A-T A T
+22 48851078 22:48851078C-A C A
+22 48851235 22:48851235A-G A G
+22 48851279 22:48851279C-A C A
+22 48851456 22:48851456G-T G T
+22 48851495 22:48851495G-C G C
+22 48851612 22:48851612C-T C T
+22 48852165 22:48852165C-A C A
+22 48852417 22:48852417T-A T A
+22 48852519 22:48852519T-A T A
+22 48852563 22:48852563C-T C T
+22 48853277 22:48853277C-T C T
+22 48853778 22:48853778C-T C T
+22 48853819 22:48853819C-T C T
+22 48855412 22:48855412T-C T C
+22 48855539 22:48855539T-C T C
+22 48855545 22:48855545A-G A G
+22 48856159 22:48856159G-A G A
+22 48858223 22:48858223T-C T C
+22 48858480 22:48858480T-C T C
+22 48858827 22:48858827C-G C G
+22 48859992 22:48859992T-C T C
+22 48860173 22:48860173C-T C T
+22 48860402 22:48860402T-C T C
+22 48860427 22:48860427C-G C G
+22 48860475 22:48860475G-A G A
+22 48860682 22:48860682A-G A G
+22 48861829 22:48861829C-T C T
+22 48862329 22:48862329T-A T A
+22 48862558 22:48862558G-C G C
+22 48863114 22:48863114C-T C T
+22 48864393 22:48864393T-G T G
+22 48864474 22:48864474G-T G T
+22 48864492 22:48864492C-T C T
+22 48864678 22:48864678A-G A G
+22 48864901 22:48864901C-G C G
+22 48865096 22:48865096A-G A G
+22 48867031 22:48867031C-T C T
+22 48867417 22:48867417G-A G A
+22 48867873 22:48867873A-G A G
+22 48869266 22:48869266C-T C T
+22 48869348 22:48869348T-C T C
+22 48869732 22:48869732C-T C T
+22 48869805 22:48869805T-C T C
+22 48870449 22:48870449T-C T C
+22 48870878 22:48870878G-A G A
+22 48870888 22:48870888G-C G C
+22 48871019 22:48871019G-A G A
+22 48871083 22:48871083T-C T C
+22 48871144 22:48871144G-A G A
+22 48871624 22:48871624G-A G A
+22 48872181 22:48872181T-C T C
+22 48872240 22:48872240G-T G T
+22 48872364 22:48872364T-C T C
+22 48872651 22:48872651G-A G A
+22 48872692 22:48872692A-C A C
+22 48873365 22:48873365C-T C T
+22 48873385 22:48873385G-A G A
+22 48873545 22:48873545A-C A C
+22 48873919 22:48873919T-C T C
+22 48874153 22:48874153A-G A G
+22 48874310 22:48874310C-T C T
+22 48874412 22:48874412G-T G T
+22 48874685 22:48874685A-G A G
+22 48874932 22:48874932A-T A T
+22 48875087 22:48875087A-G A G
+22 48875097 22:48875097C-T C T
+22 48875699 22:48875699C-T C T
+22 48875798 22:48875798C-T C T
+22 48875958 22:48875958T-C T C
+22 48876207 22:48876207A-C A C
+22 48876287 22:48876287G-A G A
+22 48876289 22:48876289C-A C A
+22 48876447 22:48876447G-A G A
+22 48876702 22:48876702A-G A G
+22 48876857 22:48876857C-T C T
+22 48876927 22:48876927G-C G C
+22 48876978 22:48876978C-T C T
+22 48877223 22:48877223G-A G A
+22 48877273 22:48877273C-T C T
+22 48877616 22:48877616T-C T C
+22 48877689 22:48877689T-C T C
+22 48878063 22:48878063A-G A G
+22 48878506 22:48878506T-C T C
+22 48878536 22:48878536G-A G A
+22 48879111 22:48879111A-G A G
+22 48879513 22:48879513G-T G T
+22 48879639 22:48879639C-T C T
+22 48879663 22:48879663C-T C T
+22 48879684 22:48879684C-T C T
+22 48879785 22:48879785C-T C T
+22 48880171 22:48880171A-C A C
+22 48880627 22:48880627T-C T C
+22 48880723 22:48880723C-T C T
+22 48880970 22:48880970C-A C A
+22 48881157 22:48881157C-G C G
+22 48881288 22:48881288A-G A G
+22 48881308 22:48881308G-A G A
+22 48881562 22:48881562G-C G C
+22 48881573 22:48881573G-A G A
+22 48881703 22:48881703G-A G A
+22 48881772 22:48881772C-T C T
+22 48882038 22:48882038G-A G A
+22 48882301 22:48882301C-G C G
+22 48882605 22:48882605C-T C T
+22 48883054 22:48883054T-C T C
+22 48883064 22:48883064T-A T A
+22 48883081 22:48883081T-C T C
+22 48883313 22:48883313C-T C T
+22 48883472 22:48883472G-T G T
+22 48883476 22:48883476C-T C T
+22 48883633 22:48883633A-C A C
+22 48883905 22:48883905T-A T A
+22 48884597 22:48884597A-G A G
+22 48884894 22:48884894C-A C A
+22 48885019 22:48885019A-C A C
+22 48885052 22:48885052T-C T C
+22 48885719 22:48885719C-T C T
+22 48885789 22:48885789G-T G T
+22 48886416 22:48886416C-T C T
+22 48887072 22:48887072C-T C T
+22 48888255 22:48888255G-A G A
+22 48888351 22:48888351A-G A G
+22 48888607 22:48888607A-G A G
+22 48888851 22:48888851T-C T C
+22 48889170 22:48889170T-G T G
+22 48889547 22:48889547C-G C G
+22 48889699 22:48889699G-A G A
+22 48889710 22:48889710G-A G A
+22 48890183 22:48890183G-A G A
+22 48890335 22:48890335G-C G C
+22 48890358 22:48890358A-G A G
+22 48890648 22:48890648A-G A G
+22 48891376 22:48891376T-C T C
+22 48891519 22:48891519T-C T C
+22 48891881 22:48891881A-G A G
+22 48892314 22:48892314T-G T G
+22 48892473 22:48892473T-C T C
+22 48892542 22:48892542T-C T C
+22 48892847 22:48892847T-G T G
+22 48892919 22:48892919T-C T C
+22 48893090 22:48893090G-C G C
+22 48894213 22:48894213A-G A G
+22 48894318 22:48894318G-C G C
+22 48894392 22:48894392G-C G C
+22 48894501 22:48894501C-T C T
+22 48894613 22:48894613G-A G A
+22 48894614 22:48894614C-A C A
+22 48894809 22:48894809G-A G A
+22 48895339 22:48895339C-T C T
+22 48895774 22:48895774C-T C T
+22 48896580 22:48896580G-A G A
+22 48896933 22:48896933C-T C T
+22 48896979 22:48896979G-C G C
+22 48897010 22:48897010G-T G T
+22 48897704 22:48897704G-A G A
+22 48897881 22:48897881G-A G A
+22 48898523 22:48898523G-T G T
+22 48898559 22:48898559C-G C G
+22 48898629 22:48898629A-G A G
+22 48898655 22:48898655G-A G A
+22 48898844 22:48898844G-A G A
+22 48898857 22:48898857A-G A G
+22 48899195 22:48899195C-T C T
+22 48899214 22:48899214G-A G A
+22 48899419 22:48899419C-T C T
+22 48900176 22:48900176C-A C A
+22 48900321 22:48900321G-A G A
+22 48900819 22:48900819C-T C T
+22 48901623 22:48901623T-C T C
+22 48901732 22:48901732C-T C T
+22 48902117 22:48902117G-A G A
+22 48902598 22:48902598A-C A C
+22 48902721 22:48902721G-A G A
+22 48902769 22:48902769A-C A C
+22 48903064 22:48903064G-A G A
+22 48903245 22:48903245G-A G A
+22 48903278 22:48903278T-C T C
+22 48904896 22:48904896T-G T G
+22 48905011 22:48905011C-T C T
+22 48905024 22:48905024G-A G A
+22 48905197 22:48905197G-A G A
+22 48905241 22:48905241T-C T C
+22 48905588 22:48905588C-T C T
+22 48906295 22:48906295A-G A G
+22 48906458 22:48906458G-C G C
+22 48906678 22:48906678C-A C A
+22 48906754 22:48906754A-G A G
+22 48906908 22:48906908A-G A G
+22 48906987 22:48906987A-G A G
+22 48907418 22:48907418G-T G T
+22 48907545 22:48907545C-T C T
+22 48907755 22:48907755A-G A G
+22 48907806 22:48907806C-T C T
+22 48907807 22:48907807A-G A G
+22 48908037 22:48908037T-C T C
+22 48908084 22:48908084A-G A G
+22 48908140 22:48908140C-T C T
+22 48908280 22:48908280T-C T C
+22 48908388 22:48908388A-C A C
+22 48908419 22:48908419T-C T C
+22 48908472 22:48908472C-T C T
+22 48908647 22:48908647A-G A G
+22 48908701 22:48908701G-C G C
+22 48908969 22:48908969G-T G T
+22 48909002 22:48909002G-A G A
+22 48909082 22:48909082T-C T C
+22 48909727 22:48909727G-A G A
+22 48910322 22:48910322C-A C A
+22 48910397 22:48910397C-T C T
+22 48910605 22:48910605T-C T C
+22 48910655 22:48910655T-C T C
+22 48911258 22:48911258G-T G T
+22 48911477 22:48911477C-T C T
+22 48911515 22:48911515C-T C T
+22 48911602 22:48911602C-T C T
+22 48911828 22:48911828G-A G A
+22 48911999 22:48911999G-A G A
+22 48912283 22:48912283C-T C T
+22 48912480 22:48912480T-G T G
+22 48912830 22:48912830T-C T C
+22 48913184 22:48913184T-C T C
+22 48913186 22:48913186G-A G A
+22 48913386 22:48913386T-A T A
+22 48913616 22:48913616C-T C T
+22 48913809 22:48913809A-G A G
+22 48914502 22:48914502C-T C T
+22 48914529 22:48914529A-G A G
+22 48914669 22:48914669C-T C T
+22 48915877 22:48915877G-A G A
+22 48915977 22:48915977C-T C T
+22 48916007 22:48916007A-G A G
+22 48916178 22:48916178T-A T A
+22 48916484 22:48916484C-T C T
+22 48917030 22:48917030A-C A C
+22 48917237 22:48917237T-C T C
+22 48917824 22:48917824A-C A C
+22 48918450 22:48918450C-T C T
+22 48918829 22:48918829C-T C T
+22 48919726 22:48919726G-A G A
+22 48919808 22:48919808C-T C T
+22 48919811 22:48919811G-C G C
+22 48919999 22:48919999C-T C T
+22 48920724 22:48920724C-T C T
+22 48920894 22:48920894C-G C G
+22 48921447 22:48921447C-T C T
+22 48921519 22:48921519T-C T C
+22 48921665 22:48921665C-T C T
+22 48921733 22:48921733A-G A G
+22 48921825 22:48921825T-C T C
+22 48922122 22:48922122C-T C T
+22 48923123 22:48923123T-G T G
+22 48923464 22:48923464T-C T C
+22 48923471 22:48923471C-T C T
+22 48923664 22:48923664A-G A G
+22 48923775 22:48923775A-C A C
+22 48923799 22:48923799C-T C T
+22 48924162 22:48924162T-G T G
+22 48924633 22:48924633G-A G A
+22 48924712 22:48924712A-G A G
+22 48924926 22:48924926C-A C A
+22 48925967 22:48925967G-T G T
+22 48926069 22:48926069A-G A G
+22 48926629 22:48926629C-T C T
+22 48926630 22:48926630G-A G A
+22 48927129 22:48927129G-A G A
+22 48927135 22:48927135T-C T C
+22 48927254 22:48927254C-T C T
+22 48927548 22:48927548T-C T C
+22 48927905 22:48927905C-T C T
+22 48928215 22:48928215A-G A G
+22 48928367 22:48928367G-C G C
+22 48928835 22:48928835G-C G C
+22 48929124 22:48929124C-G C G
+22 48929171 22:48929171C-T C T
+22 48929226 22:48929226A-G A G
+22 48929237 22:48929237T-C T C
+22 48929269 22:48929269G-A G A
+22 48929422 22:48929422G-A G A
+22 48929569 22:48929569A-G A G
+22 48929699 22:48929699T-C T C
+22 48929867 22:48929867T-C T C
+22 48930023 22:48930023A-C A C
+22 48930058 22:48930058A-C A C
+22 48930091 22:48930091T-G T G
+22 48930184 22:48930184A-G A G
+22 48930219 22:48930219A-G A G
+22 48931593 22:48931593G-A G A
+22 48931713 22:48931713G-C G C
+22 48932198 22:48932198G-A G A
+22 48932717 22:48932717G-A G A
+22 48933037 22:48933037A-G A G
+22 48934024 22:48934024A-G A G
+22 48934171 22:48934171C-G C G
+22 48934807 22:48934807C-G C G
+22 48936043 22:48936043T-C T C
+22 48936291 22:48936291G-C G C
+22 48936323 22:48936323C-G C G
+22 48936430 22:48936430T-A T A
+22 48936776 22:48936776G-A G A
+22 48936917 22:48936917G-C G C
+22 48937697 22:48937697C-T C T
+22 48937828 22:48937828T-C T C
+22 48938757 22:48938757G-A G A
+22 48939873 22:48939873A-C A C
+22 48940553 22:48940553T-C T C
+22 48940644 22:48940644C-T C T
+22 48940915 22:48940915G-C G C
+22 48941001 22:48941001T-G T G
+22 48941866 22:48941866G-A G A
+22 48942339 22:48942339C-T C T
+22 48942566 22:48942566G-A G A
+22 48945010 22:48945010T-C T C
+22 48946181 22:48946181T-C T C
+22 48947110 22:48947110A-G A G
+22 48947796 22:48947796C-T C T
+22 48948772 22:48948772G-A G A
+22 48950529 22:48950529T-C T C
+22 48950688 22:48950688A-G A G
+22 48950746 22:48950746C-T C T
+22 48950791 22:48950791A-G A G
+22 48950937 22:48950937A-G A G
+22 48951451 22:48951451C-T C T
+22 48951913 22:48951913T-C T C
+22 48952330 22:48952330A-T A T
+22 48952603 22:48952603T-C T C
+22 48952666 22:48952666A-G A G
+22 48953201 22:48953201C-T C T
+22 48953501 22:48953501T-C T C
+22 48954362 22:48954362T-C T C
+22 48957346 22:48957346C-T C T
+22 48958196 22:48958196T-C T C
+22 48958612 22:48958612G-C G C
+22 48958988 22:48958988T-C T C
+22 48959266 22:48959266T-C T C
+22 48959303 22:48959303G-A G A
+22 48959424 22:48959424G-A G A
+22 48959446 22:48959446G-A G A
+22 48960409 22:48960409A-G A G
+22 48960564 22:48960564G-C G C
+22 48960746 22:48960746C-T C T
+22 48961379 22:48961379A-G A G
+22 48961879 22:48961879T-C T C
+22 48962483 22:48962483C-T C T
+22 48962569 22:48962569A-G A G
+22 48962717 22:48962717C-A C A
+22 48963432 22:48963432C-G C G
+22 48965547 22:48965547G-C G C
+22 48965726 22:48965726T-C T C
+22 48966343 22:48966343A-G A G
+22 48967189 22:48967189T-C T C
+22 48968070 22:48968070T-C T C
+22 48968698 22:48968698T-C T C
+22 48968790 22:48968790T-C T C
+22 48973727 22:48973727C-A C A
+22 48974388 22:48974388A-G A G
+22 48974855 22:48974855A-G A G
+22 48975530 22:48975530G-T G T
+22 48976727 22:48976727G-A G A
+22 48976795 22:48976795T-C T C
+22 48976839 22:48976839T-C T C
+22 48977207 22:48977207G-A G A
+22 48977215 22:48977215C-T C T
+22 48977448 22:48977448C-A C A
+22 48977485 22:48977485G-T G T
+22 48977531 22:48977531A-G A G
+22 48977546 22:48977546T-C T C
+22 48977724 22:48977724T-A T A
+22 48978045 22:48978045A-T A T
+22 48978110 22:48978110A-G A G
+22 48979309 22:48979309C-T C T
+22 48979563 22:48979563A-G A G
+22 48979600 22:48979600T-C T C
+22 48980381 22:48980381C-T C T
+22 48980423 22:48980423C-T C T
+22 48980473 22:48980473C-T C T
+22 48980552 22:48980552G-A G A
+22 48980631 22:48980631G-A G A
+22 48980765 22:48980765C-T C T
+22 48981384 22:48981384C-T C T
+22 48981859 22:48981859C-A C A
+22 48981882 22:48981882G-A G A
+22 48982019 22:48982019G-T G T
+22 48982098 22:48982098G-T G T
+22 48982238 22:48982238G-A G A
+22 48982563 22:48982563A-G A G
+22 48982850 22:48982850G-A G A
+22 48982878 22:48982878G-A G A
+22 48983126 22:48983126G-A G A
+22 48984237 22:48984237G-A G A
+22 48984512 22:48984512G-A G A
+22 48985371 22:48985371T-G T G
+22 48985525 22:48985525G-A G A
+22 48985536 22:48985536G-A G A
+22 48985751 22:48985751A-T A T
+22 48986415 22:48986415C-T C T
+22 48986776 22:48986776G-A G A
+22 48987090 22:48987090C-G C G
+22 48987457 22:48987457T-G T G
+22 48987619 22:48987619G-C G C
+22 48988634 22:48988634T-C T C
+22 48988668 22:48988668C-T C T
+22 48988885 22:48988885G-A G A
+22 48988987 22:48988987G-T G T
+22 48989356 22:48989356A-G A G
+22 48989851 22:48989851A-G A G
+22 48990047 22:48990047G-T G T
+22 48990223 22:48990223A-G A G
+22 48990325 22:48990325A-G A G
+22 48990337 22:48990337C-G C G
+22 48991385 22:48991385C-T C T
+22 48991449 22:48991449G-A G A
+22 48991641 22:48991641A-G A G
+22 48991754 22:48991754T-C T C
+22 48992380 22:48992380A-G A G
+22 48992423 22:48992423C-T C T
+22 48992720 22:48992720A-G A G
+22 48992828 22:48992828T-C T C
+22 48992901 22:48992901G-A G A
+22 48992912 22:48992912G-C G C
+22 48993321 22:48993321C-T C T
+22 48993735 22:48993735G-A G A
+22 48993874 22:48993874C-T C T
+22 48993933 22:48993933G-A G A
+22 48993952 22:48993952G-A G A
+22 48994583 22:48994583C-T C T
+22 48995195 22:48995195C-T C T
+22 48995213 22:48995213G-A G A
+22 48995310 22:48995310G-A G A
+22 48995618 22:48995618G-A G A
+22 48995810 22:48995810C-A C A
+22 48995974 22:48995974A-G A G
+22 48996141 22:48996141C-T C T
+22 48996398 22:48996398G-A G A
+22 48996576 22:48996576T-C T C
+22 48996615 22:48996615C-G C G
+22 48996635 22:48996635C-T C T
+22 48996968 22:48996968A-G A G
+22 48997049 22:48997049C-G C G
+22 48997202 22:48997202C-A C A
+22 48997837 22:48997837T-A T A
+22 48998368 22:48998368A-G A G
+22 48998566 22:48998566G-A G A
+22 48999055 22:48999055C-T C T
+22 48999595 22:48999595A-G A G
+22 48999909 22:48999909A-G A G
+22 49000044 22:49000044A-G A G
+22 49000233 22:49000233C-T C T
+22 49000279 22:49000279A-C A C
+22 49000305 22:49000305T-C T C
+22 49000344 22:49000344G-A G A
+22 49000429 22:49000429G-C G C
+22 49000447 22:49000447G-A G A
+22 49000461 22:49000461G-A G A
+22 49000569 22:49000569A-G A G
+22 49000660 22:49000660A-G A G
+22 49001545 22:49001545T-C T C
+22 49001612 22:49001612C-T C T
+22 49001676 22:49001676A-G A G
+22 49001912 22:49001912G-A G A
+22 49002066 22:49002066G-C G C
+22 49002157 22:49002157C-A C A
+22 49002281 22:49002281A-G A G
+22 49002394 22:49002394T-C T C
+22 49002544 22:49002544C-T C T
+22 49002551 22:49002551C-T C T
+22 49002662 22:49002662T-C T C
+22 49002665 22:49002665T-C T C
+22 49002813 22:49002813C-T C T
+22 49002819 22:49002819G-A G A
+22 49002821 22:49002821A-C A C
+22 49002949 22:49002949T-A T A
+22 49002978 22:49002978T-G T G
+22 49003329 22:49003329C-G C G
+22 49003554 22:49003554C-T C T
+22 49003691 22:49003691C-T C T
+22 49003790 22:49003790C-T C T
+22 49003841 22:49003841C-T C T
+22 49003843 22:49003843A-G A G
+22 49003874 22:49003874A-G A G
+22 49003936 22:49003936C-A C A
+22 49003956 22:49003956G-C G C
+22 49004050 22:49004050A-G A G
+22 49004395 22:49004395G-A G A
+22 49004504 22:49004504A-G A G
+22 49004518 22:49004518T-C T C
+22 49004586 22:49004586T-C T C
+22 49004623 22:49004623A-G A G
+22 49004697 22:49004697G-C G C
+22 49004699 22:49004699A-G A G
+22 49004701 22:49004701C-G C G
+22 49004779 22:49004779C-G C G
+22 49004970 22:49004970G-A G A
+22 49004979 22:49004979G-A G A
+22 49005016 22:49005016C-T C T
+22 49005029 22:49005029G-A G A
+22 49005074 22:49005074A-G A G
+22 49005079 22:49005079C-T C T
+22 49005120 22:49005120T-G T G
+22 49005123 22:49005123T-C T C
+22 49005170 22:49005170C-T C T
+22 49005255 22:49005255C-A C A
+22 49005302 22:49005302T-C T C
+22 49005323 22:49005323T-G T G
+22 49005399 22:49005399C-T C T
+22 49005638 22:49005638G-A G A
+22 49005730 22:49005730T-C T C
+22 49005909 22:49005909G-A G A
+22 49006114 22:49006114G-C G C
+22 49006221 22:49006221G-A G A
+22 49006265 22:49006265A-G A G
+22 49006291 22:49006291A-C A C
+22 49006457 22:49006457C-T C T
+22 49006523 22:49006523G-A G A
+22 49006668 22:49006668G-A G A
+22 49006984 22:49006984C-T C T
+22 49007057 22:49007057A-G A G
+22 49008433 22:49008433C-T C T
+22 49008788 22:49008788T-A T A
+22 49008816 22:49008816T-G T G
+22 49009373 22:49009373G-A G A
+22 49009651 22:49009651G-A G A
+22 49009748 22:49009748A-G A G
+22 49009819 22:49009819C-T C T
+22 49009825 22:49009825T-C T C
+22 49009880 22:49009880C-T C T
+22 49009927 22:49009927G-A G A
+22 49010580 22:49010580C-T C T
+22 49010748 22:49010748G-A G A
+22 49011020 22:49011020C-T C T
+22 49011267 22:49011267T-C T C
+22 49011448 22:49011448C-T C T
+22 49011512 22:49011512C-T C T
+22 49011540 22:49011540T-C T C
+22 49011594 22:49011594T-C T C
+22 49011625 22:49011625C-T C T
+22 49011638 22:49011638C-T C T
+22 49011701 22:49011701C-T C T
+22 49011703 22:49011703A-G A G
+22 49011712 22:49011712T-G T G
+22 49011833 22:49011833C-T C T
+22 49011838 22:49011838T-C T C
+22 49011891 22:49011891G-A G A
+22 49012094 22:49012094C-T C T
+22 49012100 22:49012100C-T C T
+22 49012111 22:49012111G-C G C
+22 49012304 22:49012304C-T C T
+22 49012316 22:49012316C-T C T
+22 49012520 22:49012520T-C T C
+22 49012662 22:49012662A-G A G
+22 49012868 22:49012868G-A G A
+22 49012994 22:49012994G-A G A
+22 49013399 22:49013399C-T C T
+22 49013469 22:49013469C-T C T
+22 49013476 22:49013476A-G A G
+22 49013839 22:49013839T-C T C
+22 49014116 22:49014116G-A G A
+22 49014430 22:49014430G-A G A
+22 49014440 22:49014440G-A G A
+22 49014565 22:49014565G-A G A
+22 49014627 22:49014627G-A G A
+22 49014699 22:49014699G-C G C
+22 49014737 22:49014737G-A G A
+22 49014909 22:49014909A-G A G
+22 49015437 22:49015437A-C A C
+22 49015443 22:49015443A-G A G
+22 49015630 22:49015630G-A G A
+22 49015747 22:49015747G-A G A
+22 49015762 22:49015762G-A G A
+22 49015839 22:49015839G-A G A
+22 49015993 22:49015993C-G C G
+22 49016410 22:49016410C-T C T
+22 49017230 22:49017230A-G A G
+22 49017862 22:49017862C-G C G
+22 49017875 22:49017875T-C T C
+22 49018233 22:49018233A-T A T
+22 49018872 22:49018872C-T C T
+22 49019380 22:49019380C-T C T
+22 49020010 22:49020010A-C A C
+22 49020246 22:49020246A-G A G
+22 49020281 22:49020281G-A G A
+22 49020359 22:49020359C-T C T
+22 49020407 22:49020407C-T C T
+22 49020537 22:49020537C-T C T
+22 49022043 22:49022043G-A G A
+22 49023153 22:49023153G-A G A
+22 49024064 22:49024064T-C T C
+22 49024632 22:49024632A-G A G
+22 49024843 22:49024843A-G A G
+22 49024917 22:49024917A-G A G
+22 49025257 22:49025257A-G A G
+22 49025325 22:49025325G-C G C
+22 49025365 22:49025365G-A G A
+22 49025627 22:49025627A-G A G
+22 49025710 22:49025710C-T C T
+22 49026230 22:49026230T-C T C
+22 49026292 22:49026292G-A G A
+22 49026453 22:49026453C-G C G
+22 49026549 22:49026549G-A G A
+22 49026826 22:49026826A-G A G
+22 49026883 22:49026883T-C T C
+22 49027269 22:49027269C-T C T
+22 49027339 22:49027339G-C G C
+22 49027446 22:49027446C-T C T
+22 49027559 22:49027559C-T C T
+22 49027661 22:49027661C-T C T
+22 49027842 22:49027842G-A G A
+22 49027856 22:49027856T-C T C
+22 49028180 22:49028180C-A C A
+22 49028568 22:49028568A-G A G
+22 49028732 22:49028732C-T C T
+22 49029262 22:49029262T-C T C
+22 49029585 22:49029585A-T A T
+22 49030074 22:49030074A-T A T
+22 49030079 22:49030079C-G C G
+22 49030256 22:49030256C-T C T
+22 49030352 22:49030352A-G A G
+22 49030818 22:49030818G-T G T
+22 49030831 22:49030831T-C T C
+22 49031171 22:49031171A-G A G
+22 49031234 22:49031234C-T C T
+22 49031369 22:49031369C-T C T
+22 49031782 22:49031782C-T C T
+22 49031783 22:49031783A-G A G
+22 49032083 22:49032083G-A G A
+22 49032856 22:49032856T-C T C
+22 49033207 22:49033207T-C T C
+22 49033216 22:49033216G-C G C
+22 49033350 22:49033350C-T C T
+22 49033600 22:49033600A-G A G
+22 49033867 22:49033867T-C T C
+22 49033984 22:49033984A-C A C
+22 49034053 22:49034053G-A G A
+22 49034086 22:49034086T-C T C
+22 49034880 22:49034880C-T C T
+22 49035479 22:49035479G-A G A
+22 49035742 22:49035742G-A G A
+22 49035855 22:49035855T-C T C
+22 49036010 22:49036010C-T C T
+22 49036119 22:49036119G-C G C
+22 49036640 22:49036640A-G A G
+22 49037643 22:49037643A-G A G
+22 49038803 22:49038803A-G A G
+22 49039354 22:49039354T-G T G
+22 49039414 22:49039414G-A G A
+22 49039797 22:49039797C-T C T
+22 49039814 22:49039814T-C T C
+22 49040666 22:49040666A-G A G
+22 49040844 22:49040844C-T C T
+22 49041028 22:49041028C-A C A
+22 49041373 22:49041373A-G A G
+22 49041419 22:49041419G-C G C
+22 49041758 22:49041758G-A G A
+22 49042116 22:49042116C-T C T
+22 49042200 22:49042200T-G T G
+22 49042294 22:49042294C-T C T
+22 49042316 22:49042316T-C T C
+22 49043608 22:49043608T-C T C
+22 49043632 22:49043632C-G C G
+22 49043965 22:49043965G-A G A
+22 49044424 22:49044424A-G A G
+22 49044556 22:49044556T-C T C
+22 49044802 22:49044802T-C T C
+22 49044813 22:49044813T-C T C
+22 49045125 22:49045125T-C T C
+22 49045426 22:49045426T-C T C
+22 49045663 22:49045663C-G C G
+22 49045728 22:49045728A-G A G
+22 49045770 22:49045770G-A G A
+22 49045798 22:49045798T-C T C
+22 49046047 22:49046047T-G T G
+22 49046275 22:49046275A-G A G
+22 49046349 22:49046349T-C T C
+22 49046450 22:49046450G-A G A
+22 49046570 22:49046570A-G A G
+22 49047339 22:49047339C-T C T
+22 49047415 22:49047415C-T C T
+22 49047595 22:49047595G-A G A
+22 49047615 22:49047615C-T C T
+22 49047713 22:49047713C-T C T
+22 49048485 22:49048485A-G A G
+22 49048898 22:49048898G-A G A
+22 49049004 22:49049004C-T C T
+22 49049347 22:49049347T-C T C
+22 49049393 22:49049393C-T C T
+22 49049567 22:49049567T-C T C
+22 49049786 22:49049786C-T C T
+22 49049820 22:49049820G-A G A
+22 49050032 22:49050032A-G A G
+22 49050237 22:49050237T-C T C
+22 49050260 22:49050260T-A T A
+22 49050274 22:49050274A-T A T
+22 49050287 22:49050287A-G A G
+22 49050372 22:49050372G-A G A
+22 49050425 22:49050425C-T C T
+22 49050435 22:49050435T-C T C
+22 49050448 22:49050448C-T C T
+22 49050544 22:49050544G-A G A
+22 49050773 22:49050773C-T C T
+22 49050798 22:49050798G-A G A
+22 49050927 22:49050927T-C T C
+22 49050995 22:49050995A-G A G
+22 49051003 22:49051003T-C T C
+22 49051078 22:49051078G-A G A
+22 49051158 22:49051158C-T C T
+22 49051185 22:49051185G-A G A
+22 49051250 22:49051250G-A G A
+22 49051257 22:49051257G-A G A
+22 49051301 22:49051301A-G A G
+22 49051355 22:49051355A-G A G
+22 49051512 22:49051512A-T A T
+22 49051557 22:49051557T-G T G
+22 49051618 22:49051618G-C G C
+22 49051873 22:49051873G-C G C
+22 49051905 22:49051905C-T C T
+22 49051918 22:49051918A-T A T
+22 49051951 22:49051951G-A G A
+22 49052266 22:49052266C-T C T
+22 49052457 22:49052457C-T C T
+22 49052734 22:49052734T-C T C
+22 49053226 22:49053226A-G A G
+22 49053339 22:49053339A-G A G
+22 49053436 22:49053436T-G T G
+22 49053529 22:49053529G-C G C
+22 49053555 22:49053555G-T G T
+22 49053694 22:49053694G-A G A
+22 49054049 22:49054049A-G A G
+22 49054088 22:49054088G-A G A
+22 49054502 22:49054502G-A G A
+22 49054563 22:49054563C-T C T
+22 49054594 22:49054594T-C T C
+22 49054744 22:49054744G-T G T
+22 49055167 22:49055167C-T C T
+22 49055330 22:49055330A-G A G
+22 49055412 22:49055412T-A T A
+22 49055824 22:49055824G-A G A
+22 49056005 22:49056005C-T C T
+22 49056038 22:49056038T-C T C
+22 49056076 22:49056076G-T G T
+22 49056176 22:49056176C-A C A
+22 49056233 22:49056233G-A G A
+22 49056455 22:49056455C-G C G
+22 49056457 22:49056457C-T C T
+22 49056481 22:49056481C-A C A
+22 49056500 22:49056500G-C G C
+22 49056556 22:49056556C-T C T
+22 49056665 22:49056665A-G A G
+22 49056736 22:49056736G-A G A
+22 49056825 22:49056825C-G C G
+22 49056949 22:49056949G-A G A
+22 49057104 22:49057104C-T C T
+22 49057216 22:49057216C-T C T
+22 49057222 22:49057222G-A G A
+22 49057279 22:49057279G-C G C
+22 49057325 22:49057325A-G A G
+22 49057488 22:49057488G-A G A
+22 49057491 22:49057491C-T C T
+22 49057668 22:49057668G-A G A
+22 49058029 22:49058029C-T C T
+22 49058041 22:49058041G-C G C
+22 49058050 22:49058050T-A T A
+22 49058158 22:49058158C-T C T
+22 49058162 22:49058162T-C T C
+22 49058233 22:49058233T-G T G
+22 49058278 22:49058278C-T C T
+22 49058337 22:49058337G-A G A
+22 49058512 22:49058512G-A G A
+22 49058536 22:49058536C-T C T
+22 49058779 22:49058779T-C T C
+22 49058847 22:49058847A-T A T
+22 49059082 22:49059082G-A G A
+22 49059121 22:49059121T-C T C
+22 49059180 22:49059180A-C A C
+22 49059226 22:49059226C-T C T
+22 49059237 22:49059237G-A G A
+22 49059311 22:49059311T-G T G
+22 49059556 22:49059556T-C T C
+22 49059651 22:49059651T-G T G
+22 49059823 22:49059823C-G C G
+22 49059924 22:49059924G-A G A
+22 49059945 22:49059945C-T C T
+22 49059969 22:49059969T-C T C
+22 49059978 22:49059978A-G A G
+22 49060224 22:49060224G-A G A
+22 49060732 22:49060732A-G A G
+22 49060803 22:49060803G-T G T
+22 49060976 22:49060976A-G A G
+22 49060987 22:49060987A-G A G
+22 49060994 22:49060994T-C T C
+22 49061016 22:49061016A-G A G
+22 49061044 22:49061044G-A G A
+22 49061113 22:49061113T-C T C
+22 49061300 22:49061300G-T G T
+22 49061579 22:49061579G-A G A
+22 49061676 22:49061676T-G T G
+22 49062010 22:49062010G-A G A
+22 49062070 22:49062070C-A C A
+22 49062079 22:49062079C-A C A
+22 49062244 22:49062244A-G A G
+22 49062434 22:49062434A-G A G
+22 49062501 22:49062501C-T C T
+22 49062541 22:49062541G-A G A
+22 49062545 22:49062545C-T C T
+22 49062568 22:49062568T-A T A
+22 49062702 22:49062702T-C T C
+22 49063182 22:49063182A-G A G
+22 49063343 22:49063343C-T C T
+22 49063512 22:49063512C-G C G
+22 49063564 22:49063564A-G A G
+22 49064619 22:49064619C-T C T
+22 49064667 22:49064667C-T C T
+22 49064850 22:49064850A-G A G
+22 49064902 22:49064902A-G A G
+22 49065005 22:49065005G-T G T
+22 49065024 22:49065024C-T C T
+22 49065116 22:49065116G-A G A
+22 49065181 22:49065181T-C T C
+22 49065234 22:49065234G-A G A
+22 49065256 22:49065256T-G T G
+22 49065314 22:49065314G-A G A
+22 49065324 22:49065324A-G A G
+22 49065386 22:49065386G-A G A
+22 49065632 22:49065632C-A C A
+22 49065663 22:49065663A-G A G
+22 49065764 22:49065764T-A T A
+22 49065765 22:49065765T-C T C
+22 49065944 22:49065944A-G A G
+22 49066378 22:49066378C-G C G
+22 49066386 22:49066386C-T C T
+22 49066878 22:49066878A-C A C
+22 49066899 22:49066899G-A G A
+22 49067053 22:49067053A-G A G
+22 49067525 22:49067525A-C A C
+22 49067699 22:49067699T-C T C
+22 49067777 22:49067777A-G A G
+22 49067939 22:49067939C-A C A
+22 49068373 22:49068373G-T G T
+22 49068920 22:49068920T-C T C
+22 49068935 22:49068935A-C A C
+22 49069015 22:49069015T-C T C
+22 49069328 22:49069328G-A G A
+22 49069450 22:49069450T-C T C
+22 49069693 22:49069693C-A C A
+22 49069724 22:49069724A-G A G
+22 49069745 22:49069745G-A G A
+22 49069776 22:49069776G-A G A
+22 49069822 22:49069822G-A G A
+22 49069848 22:49069848C-T C T
+22 49070081 22:49070081C-T C T
+22 49070541 22:49070541A-T A T
+22 49070719 22:49070719G-A G A
+22 49070823 22:49070823G-T G T
+22 49071731 22:49071731A-G A G
+22 49071744 22:49071744T-A T A
+22 49071768 22:49071768A-G A G
+22 49072540 22:49072540C-T C T
+22 49072541 22:49072541A-G A G
+22 49072814 22:49072814C-T C T
+22 49073192 22:49073192G-T G T
+22 49073860 22:49073860G-A G A
+22 49074077 22:49074077G-A G A
+22 49074121 22:49074121G-A G A
+22 49074186 22:49074186T-C T C
+22 49074301 22:49074301G-A G A
+22 49074880 22:49074880G-A G A
+22 49075655 22:49075655G-A G A
+22 49075686 22:49075686T-G T G
+22 49075763 22:49075763A-T A T
+22 49075848 22:49075848T-C T C
+22 49076008 22:49076008G-A G A
+22 49076013 22:49076013C-T C T
+22 49076097 22:49076097A-G A G
+22 49076187 22:49076187C-T C T
+22 49076218 22:49076218T-C T C
+22 49076357 22:49076357G-A G A
+22 49076412 22:49076412C-T C T
+22 49076564 22:49076564G-A G A
+22 49076650 22:49076650C-T C T
+22 49076768 22:49076768C-T C T
+22 49076870 22:49076870A-G A G
+22 49076956 22:49076956C-T C T
+22 49077113 22:49077113C-T C T
+22 49077114 22:49077114G-A G A
+22 49078198 22:49078198T-C T C
+22 49078213 22:49078213C-T C T
+22 49078382 22:49078382A-G A G
+22 49078501 22:49078501G-C G C
+22 49078625 22:49078625C-T C T
+22 49079014 22:49079014C-T C T
+22 49079167 22:49079167G-A G A
+22 49079177 22:49079177G-C G C
+22 49079576 22:49079576A-G A G
+22 49079580 22:49079580C-T C T
+22 49080027 22:49080027G-C G C
+22 49080367 22:49080367C-T C T
+22 49080458 22:49080458G-A G A
+22 49080538 22:49080538T-C T C
+22 49080775 22:49080775G-A G A
+22 49081145 22:49081145T-C T C
+22 49081164 22:49081164G-A G A
+22 49081465 22:49081465T-A T A
+22 49081753 22:49081753A-G A G
+22 49082979 22:49082979G-A G A
+22 49083660 22:49083660T-C T C
+22 49083887 22:49083887T-C T C
+22 49084389 22:49084389G-T G T
+22 49084621 22:49084621T-C T C
+22 49084655 22:49084655C-T C T
+22 49085169 22:49085169A-G A G
+22 49085175 22:49085175G-A G A
+22 49085205 22:49085205A-G A G
+22 49085783 22:49085783T-C T C
+22 49085912 22:49085912G-T G T
+22 49085923 22:49085923T-C T C
+22 49086149 22:49086149G-A G A
+22 49086167 22:49086167A-G A G
+22 49086215 22:49086215A-G A G
+22 49086236 22:49086236T-C T C
+22 49086293 22:49086293C-T C T
+22 49086442 22:49086442T-C T C
+22 49086481 22:49086481C-T C T
+22 49086558 22:49086558A-C A C
+22 49086570 22:49086570C-T C T
+22 49086589 22:49086589G-C G C
+22 49086629 22:49086629T-C T C
+22 49086665 22:49086665G-A G A
+22 49086731 22:49086731G-A G A
+22 49086801 22:49086801G-C G C
+22 49086836 22:49086836G-C G C
+22 49087084 22:49087084T-C T C
+22 49087185 22:49087185C-T C T
+22 49087197 22:49087197G-A G A
+22 49087328 22:49087328A-G A G
+22 49087375 22:49087375A-G A G
+22 49087423 22:49087423C-A C A
+22 49087528 22:49087528G-T G T
+22 49087613 22:49087613T-C T C
+22 49087654 22:49087654T-C T C
+22 49087932 22:49087932G-A G A
+22 49088120 22:49088120C-T C T
+22 49088757 22:49088757A-G A G
+22 49088760 22:49088760G-A G A
+22 49088916 22:49088916C-T C T
+22 49089691 22:49089691G-C G C
+22 49089866 22:49089866G-C G C
+22 49089930 22:49089930C-G C G
+22 49089998 22:49089998T-C T C
+22 49089999 22:49089999A-G A G
+22 49090056 22:49090056G-C G C
+22 49090308 22:49090308G-A G A
+22 49090335 22:49090335C-G C G
+22 49090452 22:49090452A-C A C
+22 49090482 22:49090482T-C T C
+22 49090553 22:49090553C-G C G
+22 49090924 22:49090924G-A G A
+22 49091103 22:49091103G-A G A
+22 49091230 22:49091230T-C T C
+22 49091564 22:49091564C-A C A
+22 49091631 22:49091631G-A G A
+22 49091661 22:49091661G-A G A
+22 49091922 22:49091922G-A G A
+22 49092103 22:49092103T-C T C
+22 49092241 22:49092241C-G C G
+22 49092515 22:49092515G-A G A
+22 49092535 22:49092535C-G C G
+22 49092602 22:49092602G-C G C
+22 49092615 22:49092615C-T C T
+22 49092753 22:49092753C-T C T
+22 49092967 22:49092967G-C G C
+22 49093124 22:49093124G-A G A
+22 49093158 22:49093158A-G A G
+22 49093160 22:49093160G-A G A
+22 49093460 22:49093460G-C G C
+22 49093483 22:49093483T-G T G
+22 49093535 22:49093535G-T G T
+22 49093570 22:49093570A-G A G
+22 49093649 22:49093649A-G A G
+22 49093763 22:49093763G-T G T
+22 49093794 22:49093794G-A G A
+22 49093838 22:49093838A-G A G
+22 49094144 22:49094144T-C T C
+22 49094148 22:49094148T-C T C
+22 49094571 22:49094571C-A C A
+22 49094987 22:49094987G-A G A
+22 49095050 22:49095050C-T C T
+22 49095071 22:49095071A-G A G
+22 49095123 22:49095123G-C G C
+22 49095682 22:49095682C-G C G
+22 49095805 22:49095805T-G T G
+22 49095846 22:49095846G-A G A
+22 49095951 22:49095951A-C A C
+22 49096024 22:49096024C-T C T
+22 49096130 22:49096130A-G A G
+22 49096314 22:49096314G-C G C
+22 49096694 22:49096694C-T C T
+22 49096787 22:49096787G-A G A
+22 49097092 22:49097092C-T C T
+22 49097310 22:49097310A-G A G
+22 49097311 22:49097311A-C A C
+22 49097331 22:49097331G-A G A
+22 49097367 22:49097367T-C T C
+22 49097460 22:49097460T-C T C
+22 49097483 22:49097483C-A C A
+22 49097590 22:49097590C-T C T
+22 49097706 22:49097706C-T C T
+22 49098031 22:49098031A-C A C
+22 49098050 22:49098050A-G A G
+22 49098169 22:49098169T-C T C
+22 49098309 22:49098309C-G C G
+22 49098505 22:49098505C-G C G
+22 49098570 22:49098570A-T A T
+22 49098688 22:49098688G-A G A
+22 49098774 22:49098774G-A G A
+22 49099125 22:49099125C-A C A
+22 49099285 22:49099285A-G A G
+22 49099353 22:49099353G-C G C
+22 49099435 22:49099435T-C T C
+22 49099451 22:49099451C-T C T
+22 49099521 22:49099521G-C G C
+22 49099670 22:49099670A-G A G
+22 49099888 22:49099888T-C T C
+22 49099919 22:49099919C-G C G
+22 49100053 22:49100053G-A G A
+22 49100080 22:49100080G-A G A
+22 49100102 22:49100102T-C T C
+22 49100196 22:49100196G-A G A
+22 49100491 22:49100491G-A G A
+22 49100963 22:49100963G-C G C
+22 49101009 22:49101009G-A G A
+22 49101108 22:49101108C-T C T
+22 49101197 22:49101197G-A G A
+22 49101208 22:49101208C-T C T
+22 49101379 22:49101379A-G A G
+22 49101710 22:49101710A-G A G
+22 49102056 22:49102056A-C A C
+22 49102074 22:49102074C-T C T
+22 49102285 22:49102285C-T C T
+22 49102474 22:49102474C-T C T
+22 49102667 22:49102667A-G A G
+22 49102688 22:49102688C-T C T
+22 49102783 22:49102783C-A C A
+22 49103110 22:49103110A-C A C
+22 49103135 22:49103135G-A G A
+22 49103143 22:49103143T-C T C
+22 49103193 22:49103193A-G A G
+22 49103255 22:49103255T-C T C
+22 49103277 22:49103277C-T C T
+22 49103344 22:49103344C-G C G
+22 49103380 22:49103380A-G A G
+22 49103660 22:49103660T-C T C
+22 49103893 22:49103893G-C G C
+22 49104048 22:49104048A-G A G
+22 49104073 22:49104073A-G A G
+22 49104200 22:49104200T-C T C
+22 49104321 22:49104321T-C T C
+22 49104376 22:49104376G-T G T
+22 49104388 22:49104388G-A G A
+22 49104409 22:49104409A-G A G
+22 49104460 22:49104460C-T C T
+22 49104492 22:49104492C-T C T
+22 49104534 22:49104534C-A C A
+22 49104965 22:49104965A-G A G
+22 49105001 22:49105001A-C A C
+22 49105020 22:49105020T-C T C
+22 49105162 22:49105162A-G A G
+22 49105178 22:49105178C-T C T
+22 49105254 22:49105254C-G C G
+22 49105537 22:49105537A-T A T
+22 49105609 22:49105609A-G A G
+22 49105861 22:49105861C-T C T
+22 49105927 22:49105927T-C T C
+22 49105988 22:49105988G-A G A
+22 49106336 22:49106336A-G A G
+22 49106436 22:49106436G-A G A
+22 49106470 22:49106470C-T C T
+22 49106479 22:49106479G-A G A
+22 49106509 22:49106509G-A G A
+22 49106582 22:49106582C-T C T
+22 49106683 22:49106683A-G A G
+22 49106784 22:49106784A-G A G
+22 49106809 22:49106809A-C A C
+22 49106824 22:49106824G-A G A
+22 49106893 22:49106893G-A G A
+22 49106956 22:49106956G-A G A
+22 49107007 22:49107007G-C G C
+22 49107108 22:49107108T-C T C
+22 49107173 22:49107173C-T C T
+22 49107183 22:49107183A-G A G
+22 49107201 22:49107201G-T G T
+22 49107222 22:49107222G-A G A
+22 49107477 22:49107477C-T C T
+22 49107501 22:49107501T-C T C
+22 49107585 22:49107585C-T C T
+22 49107675 22:49107675G-C G C
+22 49107829 22:49107829G-A G A
+22 49108340 22:49108340G-C G C
+22 49108375 22:49108375A-G A G
+22 49108418 22:49108418C-T C T
+22 49108454 22:49108454T-C T C
+22 49108592 22:49108592G-A G A
+22 49109238 22:49109238G-A G A
+22 49109376 22:49109376C-T C T
+22 49109677 22:49109677G-A G A
+22 49109870 22:49109870C-T C T
+22 49109936 22:49109936C-T C T
+22 49110066 22:49110066G-A G A
+22 49110149 22:49110149C-T C T
+22 49110377 22:49110377T-C T C
+22 49110384 22:49110384C-A C A
+22 49110433 22:49110433G-A G A
+22 49110542 22:49110542C-A C A
+22 49110682 22:49110682T-C T C
+22 49110726 22:49110726G-A G A
+22 49110751 22:49110751A-G A G
+22 49110755 22:49110755G-A G A
+22 49110823 22:49110823G-A G A
+22 49110935 22:49110935C-G C G
+22 49110964 22:49110964C-T C T
+22 49111028 22:49111028T-C T C
+22 49111094 22:49111094A-T A T
+22 49111203 22:49111203A-G A G
+22 49111255 22:49111255T-G T G
+22 49111259 22:49111259G-A G A
+22 49111927 22:49111927C-T C T
+22 49112132 22:49112132G-A G A
+22 49112195 22:49112195T-C T C
+22 49112247 22:49112247A-G A G
+22 49112343 22:49112343C-A C A
+22 49112382 22:49112382T-C T C
+22 49112404 22:49112404A-G A G
+22 49112411 22:49112411T-C T C
+22 49112503 22:49112503T-C T C
+22 49112519 22:49112519G-A G A
+22 49112648 22:49112648C-T C T
+22 49112682 22:49112682A-G A G
+22 49112796 22:49112796A-G A G
+22 49112879 22:49112879T-C T C
+22 49112907 22:49112907C-T C T
+22 49113137 22:49113137A-G A G
+22 49113215 22:49113215G-A G A
+22 49113244 22:49113244A-T A T
+22 49113509 22:49113509G-A G A
+22 49113599 22:49113599G-T G T
+22 49113708 22:49113708T-G T G
+22 49113724 22:49113724A-G A G
+22 49113906 22:49113906C-A C A
+22 49113934 22:49113934G-A G A
+22 49113962 22:49113962G-C G C
+22 49113972 22:49113972C-T C T
+22 49114430 22:49114430A-G A G
+22 49114491 22:49114491G-A G A
+22 49114570 22:49114570C-A C A
+22 49114788 22:49114788T-C T C
+22 49114825 22:49114825C-T C T
+22 49114984 22:49114984C-T C T
+22 49115091 22:49115091G-C G C
+22 49115181 22:49115181G-T G T
+22 49115231 22:49115231G-A G A
+22 49115262 22:49115262C-T C T
+22 49115439 22:49115439T-C T C
+22 49115680 22:49115680A-C A C
+22 49115890 22:49115890T-C T C
+22 49116494 22:49116494A-G A G
+22 49116651 22:49116651A-G A G
+22 49116663 22:49116663G-A G A
+22 49116798 22:49116798G-C G C
+22 49116883 22:49116883T-C T C
+22 49117100 22:49117100A-G A G
+22 49117567 22:49117567A-G A G
+22 49117607 22:49117607C-T C T
+22 49117758 22:49117758C-A C A
+22 49117875 22:49117875G-T G T
+22 49117890 22:49117890T-C T C
+22 49118085 22:49118085C-T C T
+22 49118111 22:49118111G-A G A
+22 49118131 22:49118131A-G A G
+22 49118141 22:49118141G-T G T
+22 49118149 22:49118149C-A C A
+22 49118359 22:49118359G-A G A
+22 49118368 22:49118368G-A G A
+22 49118449 22:49118449C-T C T
+22 49118455 22:49118455A-G A G
+22 49118516 22:49118516A-T A T
+22 49118581 22:49118581A-G A G
+22 49118598 22:49118598C-T C T
+22 49118657 22:49118657A-G A G
+22 49118686 22:49118686G-C G C
+22 49118749 22:49118749C-T C T
+22 49118774 22:49118774G-A G A
+22 49118841 22:49118841G-C G C
+22 49118895 22:49118895A-C A C
+22 49119054 22:49119054A-G A G
+22 49119061 22:49119061G-C G C
+22 49119238 22:49119238C-T C T
+22 49119463 22:49119463G-A G A
+22 49119597 22:49119597C-T C T
+22 49119712 22:49119712T-C T C
+22 49119925 22:49119925C-T C T
+22 49119926 22:49119926G-A G A
+22 49119952 22:49119952T-C T C
+22 49120170 22:49120170T-C T C
+22 49120642 22:49120642G-A G A
+22 49120754 22:49120754A-G A G
+22 49121062 22:49121062C-A C A
+22 49121577 22:49121577A-G A G
+22 49121611 22:49121611G-T G T
+22 49121722 22:49121722G-A G A
+22 49122103 22:49122103C-G C G
+22 49122516 22:49122516C-T C T
+22 49122559 22:49122559T-C T C
+22 49122810 22:49122810C-T C T
+22 49122861 22:49122861T-C T C
+22 49123661 22:49123661T-C T C
+22 49123774 22:49123774G-A G A
+22 49124620 22:49124620G-A G A
+22 49124829 22:49124829G-A G A
+22 49125630 22:49125630G-T G T
+22 49125709 22:49125709G-A G A
+22 49125735 22:49125735A-G A G
+22 49126270 22:49126270G-T G T
+22 49126611 22:49126611C-T C T
+22 49127417 22:49127417G-A G A
+22 49127489 22:49127489C-T C T
+22 49127501 22:49127501C-T C T
+22 49128023 22:49128023G-T G T
+22 49128188 22:49128188C-G C G
+22 49128192 22:49128192C-G C G
+22 49128304 22:49128304A-G A G
+22 49128427 22:49128427A-G A G
+22 49128517 22:49128517C-A C A
+22 49128885 22:49128885T-C T C
+22 49129141 22:49129141G-A G A
+22 49129242 22:49129242A-G A G
+22 49129553 22:49129553G-T G T
+22 49129575 22:49129575C-T C T
+22 49129584 22:49129584A-G A G
+22 49129977 22:49129977A-G A G
+22 49130387 22:49130387C-T C T
+22 49130787 22:49130787A-G A G
+22 49131029 22:49131029T-C T C
+22 49131192 22:49131192G-A G A
+22 49132340 22:49132340C-T C T
+22 49132345 22:49132345C-G C G
+22 49132629 22:49132629C-T C T
+22 49133146 22:49133146C-T C T
+22 49133165 22:49133165C-T C T
+22 49133362 22:49133362C-T C T
+22 49133530 22:49133530A-G A G
+22 49133701 22:49133701G-A G A
+22 49133792 22:49133792A-G A G
+22 49133795 22:49133795C-A C A
+22 49133999 22:49133999G-A G A
+22 49134056 22:49134056G-A G A
+22 49134227 22:49134227C-T C T
+22 49134370 22:49134370A-G A G
+22 49134478 22:49134478G-A G A
+22 49134625 22:49134625A-G A G
+22 49134717 22:49134717C-A C A
+22 49134770 22:49134770A-G A G
+22 49134788 22:49134788T-A T A
+22 49135288 22:49135288C-T C T
+22 49135475 22:49135475G-A G A
+22 49136285 22:49136285G-A G A
+22 49136313 22:49136313G-T G T
+22 49136442 22:49136442A-G A G
+22 49137410 22:49137410G-A G A
+22 49137578 22:49137578C-A C A
+22 49137747 22:49137747T-C T C
+22 49137795 22:49137795A-G A G
+22 49138459 22:49138459G-A G A
+22 49138560 22:49138560A-G A G
+22 49138702 22:49138702A-G A G
+22 49138931 22:49138931T-A T A
+22 49139145 22:49139145C-T C T
+22 49139792 22:49139792T-C T C
+22 49139842 22:49139842G-T G T
+22 49140067 22:49140067G-T G T
+22 49140231 22:49140231T-C T C
+22 49140672 22:49140672A-G A G
+22 49140702 22:49140702G-T G T
+22 49140735 22:49140735C-G C G
+22 49141016 22:49141016C-T C T
+22 49141061 22:49141061G-T G T
+22 49141361 22:49141361G-A G A
+22 49141709 22:49141709G-A G A
+22 49141729 22:49141729T-C T C
+22 49141827 22:49141827T-C T C
+22 49142030 22:49142030C-T C T
+22 49142530 22:49142530A-C A C
+22 49143349 22:49143349C-T C T
+22 49143396 22:49143396A-C A C
+22 49143944 22:49143944G-C G C
+22 49144003 22:49144003G-A G A
+22 49144024 22:49144024A-G A G
+22 49144100 22:49144100G-A G A
+22 49144516 22:49144516G-C G C
+22 49144595 22:49144595G-A G A
+22 49144725 22:49144725A-G A G
+22 49144833 22:49144833G-A G A
+22 49144866 22:49144866A-C A C
+22 49144871 22:49144871C-T C T
+22 49144990 22:49144990C-A C A
+22 49145128 22:49145128C-T C T
+22 49145300 22:49145300G-A G A
+22 49145928 22:49145928C-A C A
+22 49146299 22:49146299G-A G A
+22 49146379 22:49146379C-T C T
+22 49146899 22:49146899C-T C T
+22 49148287 22:49148287G-T G T
+22 49148687 22:49148687T-A T A
+22 49149025 22:49149025C-T C T
+22 49149667 22:49149667A-C A C
+22 49149670 22:49149670A-C A C
+22 49150017 22:49150017A-G A G
+22 49150068 22:49150068G-A G A
+22 49151126 22:49151126A-G A G
+22 49151303 22:49151303G-A G A
+22 49151473 22:49151473G-T G T
+22 49151839 22:49151839G-A G A
+22 49151848 22:49151848G-C G C
+22 49152041 22:49152041C-T C T
+22 49152048 22:49152048G-A G A
+22 49152070 22:49152070A-G A G
+22 49152142 22:49152142T-C T C
+22 49152176 22:49152176T-C T C
+22 49152285 22:49152285G-A G A
+22 49152304 22:49152304A-G A G
+22 49152456 22:49152456T-C T C
+22 49152560 22:49152560G-A G A
+22 49152681 22:49152681T-C T C
+22 49153926 22:49153926T-C T C
+22 49153960 22:49153960C-T C T
+22 49154161 22:49154161C-T C T
+22 49154467 22:49154467C-G C G
+22 49154482 22:49154482G-T G T
+22 49154585 22:49154585C-G C G
+22 49154931 22:49154931A-G A G
+22 49155087 22:49155087G-A G A
+22 49155123 22:49155123G-T G T
+22 49155155 22:49155155A-G A G
+22 49155317 22:49155317C-T C T
+22 49155329 22:49155329C-T C T
+22 49155706 22:49155706C-T C T
+22 49156081 22:49156081A-G A G
+22 49156238 22:49156238G-A G A
+22 49156365 22:49156365G-A G A
+22 49156378 22:49156378G-A G A
+22 49156576 22:49156576G-A G A
+22 49156676 22:49156676A-T A T
+22 49157079 22:49157079C-T C T
+22 49157080 22:49157080G-A G A
+22 49157118 22:49157118G-A G A
+22 49157177 22:49157177A-G A G
+22 49157487 22:49157487A-G A G
+22 49157593 22:49157593C-T C T
+22 49158833 22:49158833C-T C T
+22 49158891 22:49158891T-C T C
+22 49159177 22:49159177A-G A G
+22 49159284 22:49159284T-A T A
+22 49159540 22:49159540G-A G A
+22 49161027 22:49161027T-A T A
+22 49161505 22:49161505C-T C T
+22 49162191 22:49162191A-G A G
+22 49162336 22:49162336T-C T C
+22 49163004 22:49163004C-T C T
+22 49163020 22:49163020C-G C G
+22 49163473 22:49163473A-G A G
+22 49164116 22:49164116A-G A G
+22 49165091 22:49165091T-G T G
+22 49165134 22:49165134G-A G A
+22 49165798 22:49165798T-C T C
+22 49166210 22:49166210G-A G A
+22 49166708 22:49166708C-T C T
+22 49167902 22:49167902T-C T C
+22 49168107 22:49168107G-A G A
+22 49168179 22:49168179T-C T C
+22 49168239 22:49168239T-C T C
+22 49168248 22:49168248A-T A T
+22 49168318 22:49168318G-A G A
+22 49168355 22:49168355A-G A G
+22 49168410 22:49168410G-A G A
+22 49168448 22:49168448A-G A G
+22 49168489 22:49168489G-A G A
+22 49168550 22:49168550A-C A C
+22 49168575 22:49168575C-T C T
+22 49168613 22:49168613T-C T C
+22 49169202 22:49169202T-C T C
+22 49169418 22:49169418C-A C A
+22 49169445 22:49169445A-G A G
+22 49169807 22:49169807C-A C A
+22 49170314 22:49170314C-T C T
+22 49170626 22:49170626C-T C T
+22 49170952 22:49170952G-C G C
+22 49170969 22:49170969T-A T A
+22 49170993 22:49170993T-A T A
+22 49171021 22:49171021G-A G A
+22 49171398 22:49171398C-T C T
+22 49171558 22:49171558C-T C T
+22 49171641 22:49171641T-C T C
+22 49171924 22:49171924G-C G C
+22 49171938 22:49171938C-A C A
+22 49172170 22:49172170G-C G C
+22 49172601 22:49172601C-T C T
+22 49172692 22:49172692A-G A G
+22 49172724 22:49172724G-A G A
+22 49173074 22:49173074A-C A C
+22 49173434 22:49173434C-T C T
+22 49173457 22:49173457T-C T C
+22 49173615 22:49173615C-T C T
+22 49173621 22:49173621G-C G C
+22 49173635 22:49173635G-A G A
+22 49174763 22:49174763G-T G T
+22 49174803 22:49174803G-A G A
+22 49175009 22:49175009A-G A G
+22 49175091 22:49175091C-T C T
+22 49175818 22:49175818T-C T C
+22 49175959 22:49175959G-C G C
+22 49176220 22:49176220C-T C T
+22 49176977 22:49176977C-T C T
+22 49177588 22:49177588C-T C T
+22 49178311 22:49178311A-G A G
+22 49178761 22:49178761G-A G A
+22 49178942 22:49178942C-T C T
+22 49178945 22:49178945C-T C T
+22 49179000 22:49179000C-T C T
+22 49179011 22:49179011A-G A G
+22 49179026 22:49179026A-C A C
+22 49179155 22:49179155A-C A C
+22 49179546 22:49179546C-T C T
+22 49180260 22:49180260G-A G A
+22 49180455 22:49180455C-T C T
+22 49180535 22:49180535A-G A G
+22 49180915 22:49180915G-A G A
+22 49181055 22:49181055G-A G A
+22 49181080 22:49181080G-A G A
+22 49181087 22:49181087C-T C T
+22 49181284 22:49181284C-G C G
+22 49181437 22:49181437C-T C T
+22 49181542 22:49181542A-G A G
+22 49181676 22:49181676A-G A G
+22 49181804 22:49181804G-A G A
+22 49182689 22:49182689C-G C G
+22 49183004 22:49183004C-A C A
+22 49184603 22:49184603T-C T C
+22 49185061 22:49185061A-G A G
+22 49186616 22:49186616C-T C T
+22 49187263 22:49187263G-C G C
+22 49187291 22:49187291C-G C G
+22 49187409 22:49187409C-T C T
+22 49187910 22:49187910C-T C T
+22 49188355 22:49188355G-A G A
+22 49188364 22:49188364G-A G A
+22 49188582 22:49188582C-T C T
+22 49188656 22:49188656A-G A G
+22 49189233 22:49189233C-A C A
+22 49189650 22:49189650T-C T C
+22 49189714 22:49189714T-A T A
+22 49189733 22:49189733C-A C A
+22 49190356 22:49190356G-A G A
+22 49190362 22:49190362C-G C G
+22 49190485 22:49190485T-G T G
+22 49191560 22:49191560G-A G A
+22 49191754 22:49191754G-A G A
+22 49192023 22:49192023A-C A C
+22 49192030 22:49192030C-G C G
+22 49192163 22:49192163G-A G A
+22 49192241 22:49192241G-T G T
+22 49192415 22:49192415C-T C T
+22 49192464 22:49192464T-C T C
+22 49192756 22:49192756T-C T C
+22 49192782 22:49192782G-C G C
+22 49192955 22:49192955A-G A G
+22 49192964 22:49192964T-A T A
+22 49193051 22:49193051C-T C T
+22 49193064 22:49193064G-A G A
+22 49193067 22:49193067C-T C T
+22 49193259 22:49193259A-C A C
+22 49193324 22:49193324C-T C T
+22 49193397 22:49193397A-G A G
+22 49193419 22:49193419C-G C G
+22 49193587 22:49193587C-A C A
+22 49193949 22:49193949C-T C T
+22 49194636 22:49194636G-T G T
+22 49194740 22:49194740G-A G A
+22 49194844 22:49194844G-A G A
+22 49195080 22:49195080G-A G A
+22 49195316 22:49195316A-G A G
+22 49195448 22:49195448G-A G A
+22 49195601 22:49195601G-A G A
+22 49195660 22:49195660A-G A G
+22 49196010 22:49196010C-T C T
+22 49196047 22:49196047T-C T C
+22 49196124 22:49196124A-G A G
+22 49196306 22:49196306A-T A T
+22 49196345 22:49196345C-G C G
+22 49196380 22:49196380G-A G A
+22 49196540 22:49196540C-T C T
+22 49196625 22:49196625A-G A G
+22 49196669 22:49196669G-A G A
+22 49196697 22:49196697G-A G A
+22 49196699 22:49196699C-T C T
+22 49196743 22:49196743G-C G C
+22 49196981 22:49196981T-C T C
+22 49197047 22:49197047T-C T C
+22 49197586 22:49197586T-G T G
+22 49197635 22:49197635T-C T C
+22 49197657 22:49197657A-G A G
+22 49197797 22:49197797G-A G A
+22 49197806 22:49197806C-T C T
+22 49197931 22:49197931C-T C T
+22 49197941 22:49197941C-A C A
+22 49198085 22:49198085A-G A G
+22 49198136 22:49198136T-C T C
+22 49198331 22:49198331A-G A G
+22 49198505 22:49198505G-A G A
+22 49198612 22:49198612G-T G T
+22 49198700 22:49198700G-A G A
+22 49198744 22:49198744T-C T C
+22 49199050 22:49199050C-T C T
+22 49199432 22:49199432T-C T C
+22 49199441 22:49199441G-C G C
+22 49199553 22:49199553A-G A G
+22 49200095 22:49200095G-A G A
+22 49200215 22:49200215C-T C T
+22 49200341 22:49200341G-A G A
+22 49200407 22:49200407C-G C G
+22 49200611 22:49200611T-C T C
+22 49201480 22:49201480A-C A C
+22 49201704 22:49201704C-T C T
+22 49202383 22:49202383C-T C T
+22 49202444 22:49202444T-G T G
+22 49202642 22:49202642T-G T G
+22 49202800 22:49202800C-T C T
+22 49202946 22:49202946G-A G A
+22 49203073 22:49203073T-C T C
+22 49203076 22:49203076T-C T C
+22 49203354 22:49203354A-G A G
+22 49203503 22:49203503G-T G T
+22 49203627 22:49203627C-A C A
+22 49203675 22:49203675A-G A G
+22 49203679 22:49203679C-T C T
+22 49203691 22:49203691T-C T C
+22 49203730 22:49203730T-C T C
+22 49203761 22:49203761C-G C G
+22 49203932 22:49203932A-G A G
+22 49203940 22:49203940A-G A G
+22 49203968 22:49203968G-T G T
+22 49204012 22:49204012A-G A G
+22 49204046 22:49204046A-G A G
+22 49204605 22:49204605G-C G C
+22 49204613 22:49204613A-G A G
+22 49204632 22:49204632A-G A G
+22 49204660 22:49204660C-A C A
+22 49204866 22:49204866T-C T C
+22 49205090 22:49205090G-A G A
+22 49205169 22:49205169G-A G A
+22 49205498 22:49205498T-G T G
+22 49205655 22:49205655T-C T C
+22 49205674 22:49205674G-A G A
+22 49205749 22:49205749T-C T C
+22 49205818 22:49205818T-C T C
+22 49205830 22:49205830T-C T C
+22 49205840 22:49205840G-A G A
+22 49206333 22:49206333G-A G A
+22 49206534 22:49206534G-A G A
+22 49206550 22:49206550G-A G A
+22 49206783 22:49206783A-G A G
+22 49206803 22:49206803A-G A G
+22 49206855 22:49206855T-C T C
+22 49207101 22:49207101A-G A G
+22 49207125 22:49207125G-A G A
+22 49207368 22:49207368C-T C T
+22 49207381 22:49207381G-A G A
+22 49207483 22:49207483A-G A G
+22 49207593 22:49207593C-G C G
+22 49207718 22:49207718T-A T A
+22 49207779 22:49207779G-A G A
+22 49207926 22:49207926A-G A G
+22 49207951 22:49207951C-T C T
+22 49208035 22:49208035T-A T A
+22 49208132 22:49208132G-A G A
+22 49208288 22:49208288G-A G A
+22 49208395 22:49208395C-T C T
+22 49208657 22:49208657C-T C T
+22 49208714 22:49208714A-G A G
+22 49208806 22:49208806G-A G A
+22 49209082 22:49209082A-G A G
+22 49209360 22:49209360C-T C T
+22 49209386 22:49209386C-G C G
+22 49209526 22:49209526A-G A G
+22 49209576 22:49209576G-A G A
+22 49209811 22:49209811A-G A G
+22 49209977 22:49209977C-G C G
+22 49210040 22:49210040T-C T C
+22 49210041 22:49210041G-A G A
+22 49210061 22:49210061C-A C A
+22 49210096 22:49210096G-C G C
+22 49210123 22:49210123A-C A C
+22 49210133 22:49210133C-T C T
+22 49210194 22:49210194A-C A C
+22 49210767 22:49210767C-T C T
+22 49211058 22:49211058T-G T G
+22 49211311 22:49211311T-C T C
+22 49212094 22:49212094C-T C T
+22 49212328 22:49212328T-C T C
+22 49212348 22:49212348T-C T C
+22 49212478 22:49212478C-T C T
+22 49212565 22:49212565A-G A G
+22 49212730 22:49212730C-T C T
+22 49213194 22:49213194C-A C A
+22 49214032 22:49214032T-C T C
+22 49214095 22:49214095C-T C T
+22 49214342 22:49214342C-G C G
+22 49214390 22:49214390C-A C A
+22 49214655 22:49214655C-A C A
+22 49214863 22:49214863G-A G A
+22 49214881 22:49214881A-G A G
+22 49214887 22:49214887A-G A G
+22 49214965 22:49214965G-A G A
+22 49215103 22:49215103G-T G T
+22 49215182 22:49215182A-C A C
+22 49215196 22:49215196C-G C G
+22 49215233 22:49215233C-T C T
+22 49215243 22:49215243G-A G A
+22 49215619 22:49215619T-C T C
+22 49215634 22:49215634C-G C G
+22 49215666 22:49215666G-A G A
+22 49215742 22:49215742C-T C T
+22 49215890 22:49215890T-C T C
+22 49216220 22:49216220G-A G A
+22 49216427 22:49216427C-G C G
+22 49216620 22:49216620G-A G A
+22 49217098 22:49217098T-C T C
+22 49217141 22:49217141A-C A C
+22 49217145 22:49217145G-C G C
+22 49217250 22:49217250G-A G A
+22 49217253 22:49217253G-A G A
+22 49217302 22:49217302G-C G C
+22 49217802 22:49217802T-C T C
+22 49218087 22:49218087G-A G A
+22 49218112 22:49218112T-C T C
+22 49218122 22:49218122A-C A C
+22 49218164 22:49218164T-C T C
+22 49218391 22:49218391C-A C A
+22 49218476 22:49218476T-C T C
+22 49218478 22:49218478G-A G A
+22 49218624 22:49218624T-C T C
+22 49218823 22:49218823T-G T G
+22 49219166 22:49219166T-C T C
+22 49219178 22:49219178G-A G A
+22 49219811 22:49219811G-A G A
+22 49219828 22:49219828G-A G A
+22 49219910 22:49219910G-A G A
+22 49219989 22:49219989A-G A G
+22 49220183 22:49220183G-C G C
+22 49220390 22:49220390A-T A T
+22 49220704 22:49220704A-G A G
+22 49220929 22:49220929C-G C G
+22 49220965 22:49220965A-G A G
+22 49221001 22:49221001A-G A G
+22 49221033 22:49221033G-A G A
+22 49221289 22:49221289G-A G A
+22 49221418 22:49221418T-C T C
+22 49221482 22:49221482G-A G A
+22 49221732 22:49221732G-A G A
+22 49221767 22:49221767A-G A G
+22 49222536 22:49222536A-G A G
+22 49222908 22:49222908C-T C T
+22 49223015 22:49223015G-A G A
+22 49223166 22:49223166A-G A G
+22 49223296 22:49223296T-C T C
+22 49223309 22:49223309G-A G A
+22 49223441 22:49223441C-T C T
+22 49223683 22:49223683C-T C T
+22 49223726 22:49223726C-T C T
+22 49223881 22:49223881G-A G A
+22 49223939 22:49223939T-C T C
+22 49223993 22:49223993G-A G A
+22 49224013 22:49224013C-A C A
+22 49224294 22:49224294C-G C G
+22 49224634 22:49224634T-G T G
+22 49224806 22:49224806C-T C T
+22 49225140 22:49225140A-G A G
+22 49225202 22:49225202G-A G A
+22 49225497 22:49225497T-C T C
+22 49225538 22:49225538C-T C T
+22 49225587 22:49225587T-G T G
+22 49226115 22:49226115G-A G A
+22 49226228 22:49226228T-C T C
+22 49226374 22:49226374A-G A G
+22 49226459 22:49226459G-A G A
+22 49226501 22:49226501A-T A T
+22 49226559 22:49226559C-T C T
+22 49227178 22:49227178T-C T C
+22 49227369 22:49227369C-T C T
+22 49227384 22:49227384G-T G T
+22 49227606 22:49227606G-A G A
+22 49227637 22:49227637C-T C T
+22 49227880 22:49227880G-T G T
+22 49228232 22:49228232C-T C T
+22 49228507 22:49228507G-T G T
+22 49228547 22:49228547A-G A G
+22 49228841 22:49228841G-A G A
+22 49229365 22:49229365A-G A G
+22 49229701 22:49229701C-T C T
+22 49229746 22:49229746G-A G A
+22 49230481 22:49230481C-T C T
+22 49230499 22:49230499A-G A G
+22 49230589 22:49230589C-T C T
+22 49230651 22:49230651G-T G T
+22 49230819 22:49230819G-T G T
+22 49231077 22:49231077C-T C T
+22 49231328 22:49231328G-C G C
+22 49231401 22:49231401T-C T C
+22 49231440 22:49231440C-T C T
+22 49231540 22:49231540G-A G A
+22 49231823 22:49231823C-A C A
+22 49231842 22:49231842C-T C T
+22 49231992 22:49231992G-T G T
+22 49231995 22:49231995C-G C G
+22 49232869 22:49232869A-G A G
+22 49233383 22:49233383G-A G A
+22 49233477 22:49233477G-T G T
+22 49233513 22:49233513T-C T C
+22 49233543 22:49233543C-T C T
+22 49233851 22:49233851C-A C A
+22 49233989 22:49233989T-G T G
+22 49234064 22:49234064G-A G A
+22 49234248 22:49234248T-C T C
+22 49234262 22:49234262A-G A G
+22 49234271 22:49234271A-G A G
+22 49234360 22:49234360G-A G A
+22 49234689 22:49234689G-A G A
+22 49234706 22:49234706G-A G A
+22 49235247 22:49235247A-G A G
+22 49235296 22:49235296C-T C T
+22 49235680 22:49235680G-A G A
+22 49235712 22:49235712T-C T C
+22 49236017 22:49236017C-T C T
+22 49236107 22:49236107A-T A T
+22 49236300 22:49236300T-C T C
+22 49236845 22:49236845G-A G A
+22 49236931 22:49236931A-G A G
+22 49237004 22:49237004A-G A G
+22 49237298 22:49237298G-A G A
+22 49237698 22:49237698T-C T C
+22 49237911 22:49237911C-T C T
+22 49238183 22:49238183C-T C T
+22 49238218 22:49238218G-A G A
+22 49238499 22:49238499C-T C T
+22 49238637 22:49238637C-T C T
+22 49238662 22:49238662C-T C T
+22 49238712 22:49238712T-C T C
+22 49238932 22:49238932A-G A G
+22 49239022 22:49239022G-A G A
+22 49239390 22:49239390C-G C G
+22 49239599 22:49239599G-A G A
+22 49239711 22:49239711A-G A G
+22 49239763 22:49239763T-C T C
+22 49240074 22:49240074G-A G A
+22 49240106 22:49240106A-G A G
+22 49240120 22:49240120C-T C T
+22 49240361 22:49240361C-T C T
+22 49240395 22:49240395C-T C T
+22 49240474 22:49240474A-G A G
+22 49240672 22:49240672C-T C T
+22 49240689 22:49240689C-T C T
+22 49240911 22:49240911C-T C T
+22 49241330 22:49241330C-T C T
+22 49241617 22:49241617A-G A G
+22 49241664 22:49241664A-G A G
+22 49241825 22:49241825C-G C G
+22 49241891 22:49241891C-G C G
+22 49242445 22:49242445C-A C A
+22 49242830 22:49242830T-A T A
+22 49242858 22:49242858C-G C G
+22 49243020 22:49243020C-T C T
+22 49243227 22:49243227C-T C T
+22 49243857 22:49243857C-T C T
+22 49243866 22:49243866G-A G A
+22 49243950 22:49243950G-A G A
+22 49244036 22:49244036C-T C T
+22 49244037 22:49244037G-A G A
+22 49244328 22:49244328C-A C A
+22 49244362 22:49244362C-A C A
+22 49244913 22:49244913G-A G A
+22 49244914 22:49244914C-A C A
+22 49244930 22:49244930A-G A G
+22 49245008 22:49245008G-T G T
+22 49245378 22:49245378G-A G A
+22 49245405 22:49245405G-A G A
+22 49245573 22:49245573G-A G A
+22 49245843 22:49245843T-C T C
+22 49246091 22:49246091G-A G A
+22 49246107 22:49246107A-G A G
+22 49246450 22:49246450T-C T C
+22 49246458 22:49246458T-C T C
+22 49246548 22:49246548G-A G A
+22 49246633 22:49246633G-A G A
+22 49246723 22:49246723A-C A C
+22 49246744 22:49246744G-A G A
+22 49246747 22:49246747T-C T C
+22 49246786 22:49246786C-T C T
+22 49246803 22:49246803G-A G A
+22 49247127 22:49247127G-A G A
+22 49247617 22:49247617C-T C T
+22 49247641 22:49247641C-T C T
+22 49247759 22:49247759T-C T C
+22 49247829 22:49247829C-T C T
+22 49247938 22:49247938C-G C G
+22 49247964 22:49247964C-G C G
+22 49248219 22:49248219A-G A G
+22 49248298 22:49248298C-T C T
+22 49248396 22:49248396C-T C T
+22 49248422 22:49248422C-T C T
+22 49248777 22:49248777A-G A G
+22 49249012 22:49249012G-A G A
+22 49249037 22:49249037C-T C T
+22 49249133 22:49249133T-C T C
+22 49249463 22:49249463A-G A G
+22 49250215 22:49250215A-G A G
+22 49250456 22:49250456A-G A G
+22 49251003 22:49251003C-A C A
+22 49251465 22:49251465A-G A G
+22 49252068 22:49252068C-T C T
+22 49252192 22:49252192G-A G A
+22 49252503 22:49252503C-T C T
+22 49252662 22:49252662A-G A G
+22 49252776 22:49252776C-T C T
+22 49252814 22:49252814G-A G A
+22 49253155 22:49253155C-T C T
+22 49253170 22:49253170T-A T A
+22 49253467 22:49253467T-C T C
+22 49253612 22:49253612C-T C T
+22 49253655 22:49253655A-G A G
+22 49254029 22:49254029G-A G A
+22 49254194 22:49254194G-A G A
+22 49254309 22:49254309T-C T C
+22 49254334 22:49254334C-G C G
+22 49254410 22:49254410C-G C G
+22 49254512 22:49254512A-G A G
+22 49254551 22:49254551T-A T A
+22 49254624 22:49254624C-T C T
+22 49254743 22:49254743C-T C T
+22 49255058 22:49255058A-G A G
+22 49255386 22:49255386C-A C A
+22 49255443 22:49255443A-G A G
+22 49255954 22:49255954G-C G C
+22 49256037 22:49256037T-C T C
+22 49256712 22:49256712T-C T C
+22 49257587 22:49257587G-A G A
+22 49259059 22:49259059C-T C T
+22 49259728 22:49259728A-G A G
+22 49260069 22:49260069T-C T C
+22 49260105 22:49260105G-T G T
+22 49260183 22:49260183G-A G A
+22 49260486 22:49260486A-T A T
+22 49260922 22:49260922C-G C G
+22 49261062 22:49261062G-A G A
+22 49261106 22:49261106C-T C T
+22 49261153 22:49261153C-G C G
+22 49261279 22:49261279G-T G T
+22 49261285 22:49261285C-A C A
+22 49261406 22:49261406C-T C T
+22 49261576 22:49261576G-T G T
+22 49262144 22:49262144C-T C T
+22 49262579 22:49262579G-A G A
+22 49263108 22:49263108G-A G A
+22 49263117 22:49263117T-G T G
+22 49263132 22:49263132G-A G A
+22 49263177 22:49263177T-C T C
+22 49263192 22:49263192T-C T C
+22 49263285 22:49263285G-T G T
+22 49263372 22:49263372G-A G A
+22 49263431 22:49263431T-C T C
+22 49263871 22:49263871G-A G A
+22 49263897 22:49263897G-A G A
+22 49264034 22:49264034G-A G A
+22 49264313 22:49264313G-A G A
+22 49264546 22:49264546G-A G A
+22 49264574 22:49264574A-C A C
+22 49264683 22:49264683C-T C T
+22 49264754 22:49264754C-T C T
+22 49265199 22:49265199G-A G A
+22 49265220 22:49265220A-C A C
+22 49266164 22:49266164G-T G T
+22 49266666 22:49266666G-A G A
+22 49266796 22:49266796C-T C T
+22 49267025 22:49267025G-T G T
+22 49267858 22:49267858C-A C A
+22 49268077 22:49268077C-T C T
+22 49268165 22:49268165C-G C G
+22 49268243 22:49268243G-A G A
+22 49268524 22:49268524T-C T C
+22 49268831 22:49268831C-T C T
+22 49268845 22:49268845T-G T G
+22 49268859 22:49268859G-A G A
+22 49268887 22:49268887G-T G T
+22 49268922 22:49268922G-T G T
+22 49268979 22:49268979G-C G C
+22 49269813 22:49269813C-T C T
+22 49269926 22:49269926G-A G A
+22 49270317 22:49270317T-C T C
+22 49270545 22:49270545G-A G A
+22 49270641 22:49270641G-C G C
+22 49270770 22:49270770A-G A G
+22 49270899 22:49270899G-A G A
+22 49271193 22:49271193C-T C T
+22 49271557 22:49271557A-G A G
+22 49271900 22:49271900T-C T C
+22 49272124 22:49272124G-A G A
+22 49272674 22:49272674A-G A G
+22 49272858 22:49272858C-T C T
+22 49273146 22:49273146T-C T C
+22 49273804 22:49273804T-C T C
+22 49273948 22:49273948C-T C T
+22 49273949 22:49273949G-A G A
+22 49274513 22:49274513A-T A T
+22 49274807 22:49274807T-C T C
+22 49275003 22:49275003T-G T G
+22 49275085 22:49275085T-G T G
+22 49275828 22:49275828A-G A G
+22 49276215 22:49276215T-C T C
+22 49276546 22:49276546C-G C G
+22 49276955 22:49276955G-A G A
+22 49277037 22:49277037T-A T A
+22 49277067 22:49277067C-T C T
+22 49277099 22:49277099C-G C G
+22 49277153 22:49277153A-G A G
+22 49277301 22:49277301G-A G A
+22 49277444 22:49277444C-T C T
+22 49277494 22:49277494T-C T C
+22 49277752 22:49277752C-T C T
+22 49277898 22:49277898C-T C T
+22 49278546 22:49278546G-A G A
+22 49278563 22:49278563C-T C T
+22 49278565 22:49278565G-A G A
+22 49278877 22:49278877C-G C G
+22 49278968 22:49278968T-C T C
+22 49279094 22:49279094G-A G A
+22 49279267 22:49279267C-T C T
+22 49279277 22:49279277C-T C T
+22 49279704 22:49279704A-C A C
+22 49280258 22:49280258G-A G A
+22 49280786 22:49280786T-C T C
+22 49281409 22:49281409G-A G A
+22 49281958 22:49281958C-T C T
+22 49281965 22:49281965A-G A G
+22 49281986 22:49281986C-T C T
+22 49282328 22:49282328C-G C G
+22 49282480 22:49282480G-A G A
+22 49282542 22:49282542G-A G A
+22 49282783 22:49282783T-G T G
+22 49282834 22:49282834G-A G A
+22 49284400 22:49284400G-C G C
+22 49285054 22:49285054A-G A G
+22 49285585 22:49285585C-T C T
+22 49285596 22:49285596A-C A C
+22 49286342 22:49286342C-A C A
+22 49286409 22:49286409C-T C T
+22 49286759 22:49286759G-C G C
+22 49287413 22:49287413G-T G T
+22 49287421 22:49287421G-A G A
+22 49287535 22:49287535T-C T C
+22 49288604 22:49288604C-A C A
+22 49289448 22:49289448G-A G A
+22 49290550 22:49290550G-A G A
+22 49290633 22:49290633C-T C T
+22 49292066 22:49292066A-G A G
+22 49292069 22:49292069A-G A G
+22 49292441 22:49292441G-A G A
+22 49292799 22:49292799G-A G A
+22 49292856 22:49292856C-T C T
+22 49293209 22:49293209C-T C T
+22 49293568 22:49293568C-T C T
+22 49293627 22:49293627C-T C T
+22 49293781 22:49293781T-C T C
+22 49293870 22:49293870A-G A G
+22 49294065 22:49294065G-A G A
+22 49294172 22:49294172T-G T G
+22 49294205 22:49294205A-G A G
+22 49294214 22:49294214C-G C G
+22 49294345 22:49294345C-A C A
+22 49294381 22:49294381G-T G T
+22 49294789 22:49294789A-T A T
+22 49294945 22:49294945G-A G A
+22 49295112 22:49295112C-A C A
+22 49295145 22:49295145C-T C T
+22 49295400 22:49295400C-T C T
+22 49295414 22:49295414T-C T C
+22 49295483 22:49295483C-T C T
+22 49295787 22:49295787G-A G A
+22 49295816 22:49295816A-G A G
+22 49295847 22:49295847C-A C A
+22 49295869 22:49295869T-C T C
+22 49295878 22:49295878T-G T G
+22 49295897 22:49295897A-C A C
+22 49295902 22:49295902A-T A T
+22 49295942 22:49295942C-T C T
+22 49295973 22:49295973T-G T G
+22 49297113 22:49297113A-G A G
+22 49297389 22:49297389G-A G A
+22 49297452 22:49297452G-A G A
+22 49297701 22:49297701G-A G A
+22 49297853 22:49297853A-C A C
+22 49298076 22:49298076G-C G C
+22 49298346 22:49298346A-C A C
+22 49298491 22:49298491T-C T C
+22 49299001 22:49299001A-G A G
+22 49299033 22:49299033C-T C T
+22 49299435 22:49299435A-G A G
+22 49299829 22:49299829G-A G A
+22 49300023 22:49300023A-C A C
+22 49300279 22:49300279T-G T G
+22 49300444 22:49300444T-G T G
+22 49300572 22:49300572C-T C T
+22 49300692 22:49300692G-A G A
+22 49300722 22:49300722C-G C G
+22 49301095 22:49301095G-C G C
+22 49301355 22:49301355T-C T C
+22 49301511 22:49301511T-G T G
+22 49301520 22:49301520C-T C T
+22 49301623 22:49301623C-T C T
+22 49301987 22:49301987C-T C T
+22 49302010 22:49302010T-C T C
+22 49302125 22:49302125C-T C T
+22 49302228 22:49302228G-A G A
+22 49302455 22:49302455G-A G A
+22 49302487 22:49302487C-T C T
+22 49302624 22:49302624A-C A C
+22 49302696 22:49302696T-C T C
+22 49302757 22:49302757T-C T C
+22 49303084 22:49303084A-G A G
+22 49303729 22:49303729C-T C T
+22 49304213 22:49304213G-A G A
+22 49304472 22:49304472C-T C T
+22 49304823 22:49304823C-T C T
+22 49305099 22:49305099C-T C T
+22 49305224 22:49305224T-A T A
+22 49305789 22:49305789G-A G A
+22 49305881 22:49305881C-T C T
+22 49305995 22:49305995C-T C T
+22 49306049 22:49306049C-T C T
+22 49306074 22:49306074G-A G A
+22 49306095 22:49306095T-G T G
+22 49306212 22:49306212G-C G C
+22 49306324 22:49306324G-A G A
+22 49307860 22:49307860T-C T C
+22 49308158 22:49308158A-G A G
+22 49308332 22:49308332C-G C G
+22 49308338 22:49308338G-A G A
+22 49308871 22:49308871G-C G C
+22 49309230 22:49309230C-T C T
+22 49309272 22:49309272A-C A C
+22 49309948 22:49309948G-A G A
+22 49310349 22:49310349T-C T C
+22 49310436 22:49310436A-G A G
+22 49310467 22:49310467A-C A C
+22 49310651 22:49310651C-A C A
+22 49310670 22:49310670T-C T C
+22 49310823 22:49310823T-G T G
+22 49311052 22:49311052T-C T C
+22 49311053 22:49311053G-A G A
+22 49311408 22:49311408A-G A G
+22 49311608 22:49311608C-T C T
+22 49311921 22:49311921T-A T A
+22 49312050 22:49312050G-A G A
+22 49312374 22:49312374A-C A C
+22 49312874 22:49312874C-T C T
+22 49312893 22:49312893C-A C A
+22 49312926 22:49312926C-T C T
+22 49312941 22:49312941A-G A G
+22 49313058 22:49313058C-A C A
+22 49313196 22:49313196G-A G A
+22 49313512 22:49313512C-G C G
+22 49313561 22:49313561G-T G T
+22 49313624 22:49313624G-C G C
+22 49313689 22:49313689C-T C T
+22 49314187 22:49314187G-A G A
+22 49315794 22:49315794G-A G A
+22 49316049 22:49316049A-C A C
+22 49316190 22:49316190G-A G A
+22 49316215 22:49316215G-C G C
+22 49316305 22:49316305G-A G A
+22 49317605 22:49317605G-A G A
+22 49317614 22:49317614A-G A G
+22 49317742 22:49317742C-T C T
+22 49317906 22:49317906G-C G C
+22 49318526 22:49318526A-T A T
+22 49318664 22:49318664C-G C G
+22 49318696 22:49318696G-A G A
+22 49318729 22:49318729C-T C T
+22 49318977 22:49318977T-C T C
+22 49318988 22:49318988G-A G A
+22 49319259 22:49319259A-G A G
+22 49319826 22:49319826G-A G A
+22 49319991 22:49319991A-G A G
+22 49321689 22:49321689G-T G T
+22 49321780 22:49321780G-A G A
+22 49321943 22:49321943T-G T G
+22 49322545 22:49322545G-A G A
+22 49322837 22:49322837T-C T C
+22 49323364 22:49323364G-C G C
+22 49323527 22:49323527C-T C T
+22 49324338 22:49324338C-A C A
+22 49324829 22:49324829C-T C T
+22 49325245 22:49325245C-A C A
+22 49325317 22:49325317G-A G A
+22 49325456 22:49325456C-T C T
+22 49325463 22:49325463G-A G A
+22 49325598 22:49325598A-G A G
+22 49325724 22:49325724G-A G A
+22 49325768 22:49325768G-A G A
+22 49326277 22:49326277A-T A T
+22 49326349 22:49326349C-T C T
+22 49326602 22:49326602G-T G T
+22 49327093 22:49327093G-T G T
+22 49327176 22:49327176A-G A G
+22 49327433 22:49327433G-A G A
+22 49327443 22:49327443C-G C G
+22 49327625 22:49327625C-T C T
+22 49327670 22:49327670C-T C T
+22 49327824 22:49327824T-C T C
+22 49327915 22:49327915C-G C G
+22 49327930 22:49327930C-A C A
+22 49328017 22:49328017C-T C T
+22 49328047 22:49328047T-C T C
+22 49328393 22:49328393T-C T C
+22 49328677 22:49328677C-T C T
+22 49329200 22:49329200T-C T C
+22 49329971 22:49329971C-G C G
+22 49330313 22:49330313C-T C T
+22 49330723 22:49330723T-A T A
+22 49330776 22:49330776T-C T C
+22 49330850 22:49330850C-A C A
+22 49330918 22:49330918C-T C T
+22 49330955 22:49330955A-T A T
+22 49331012 22:49331012A-G A G
+22 49331153 22:49331153T-C T C
+22 49331473 22:49331473C-T C T
+22 49331542 22:49331542G-A G A
+22 49331623 22:49331623A-G A G
+22 49331823 22:49331823A-G A G
+22 49331953 22:49331953A-G A G
+22 49331967 22:49331967T-C T C
+22 49332180 22:49332180C-T C T
+22 49332569 22:49332569A-G A G
+22 49332882 22:49332882A-G A G
+22 49333127 22:49333127C-T C T
+22 49333169 22:49333169C-T C T
+22 49333361 22:49333361T-C T C
+22 49333421 22:49333421C-T C T
+22 49333940 22:49333940A-G A G
+22 49334219 22:49334219A-G A G
+22 49334430 22:49334430C-G C G
+22 49334479 22:49334479G-A G A
+22 49334650 22:49334650A-G A G
+22 49334759 22:49334759G-A G A
+22 49334779 22:49334779G-T G T
+22 49335113 22:49335113G-A G A
+22 49335230 22:49335230C-T C T
+22 49335293 22:49335293G-A G A
+22 49335307 22:49335307C-T C T
+22 49335372 22:49335372C-T C T
+22 49335432 22:49335432C-A C A
+22 49335492 22:49335492G-A G A
+22 49335507 22:49335507G-A G A
+22 49335583 22:49335583C-A C A
+22 49335612 22:49335612C-G C G
+22 49335631 22:49335631G-A G A
+22 49335673 22:49335673G-A G A
+22 49335678 22:49335678G-A G A
+22 49335709 22:49335709A-G A G
+22 49335738 22:49335738A-G A G
+22 49335757 22:49335757A-G A G
+22 49335758 22:49335758A-C A C
+22 49336153 22:49336153T-G T G
+22 49336281 22:49336281A-T A T
+22 49336336 22:49336336C-G C G
+22 49336423 22:49336423C-T C T
+22 49336433 22:49336433G-A G A
+22 49336456 22:49336456A-G A G
+22 49336646 22:49336646A-G A G
+22 49336667 22:49336667G-A G A
+22 49336690 22:49336690C-T C T
+22 49336734 22:49336734A-G A G
+22 49336740 22:49336740G-A G A
+22 49336748 22:49336748A-G A G
+22 49336779 22:49336779T-A T A
+22 49336787 22:49336787G-C G C
+22 49336882 22:49336882C-A C A
+22 49336940 22:49336940C-T C T
+22 49336944 22:49336944A-C A C
+22 49337000 22:49337000G-A G A
+22 49337044 22:49337044A-G A G
+22 49337065 22:49337065G-A G A
+22 49337070 22:49337070A-G A G
+22 49337142 22:49337142G-A G A
+22 49337146 22:49337146G-A G A
+22 49337199 22:49337199T-G T G
+22 49337313 22:49337313C-T C T
+22 49337329 22:49337329C-T C T
+22 49337349 22:49337349T-C T C
+22 49337375 22:49337375T-A T A
+22 49337380 22:49337380C-T C T
+22 49337389 22:49337389A-G A G
+22 49337409 22:49337409T-C T C
+22 49337499 22:49337499T-C T C
+22 49337503 22:49337503C-T C T
+22 49337597 22:49337597G-A G A
+22 49337633 22:49337633C-T C T
+22 49337703 22:49337703C-T C T
+22 49337769 22:49337769T-C T C
+22 49337782 22:49337782A-G A G
+22 49337842 22:49337842T-C T C
+22 49337863 22:49337863G-A G A
+22 49337881 22:49337881C-T C T
+22 49337894 22:49337894A-T A T
+22 49338057 22:49338057C-T C T
+22 49338086 22:49338086C-T C T
+22 49338099 22:49338099G-A G A
+22 49338103 22:49338103C-T C T
+22 49338134 22:49338134T-C T C
+22 49338322 22:49338322G-A G A
+22 49338340 22:49338340A-G A G
+22 49338361 22:49338361A-G A G
+22 49338447 22:49338447T-C T C
+22 49338468 22:49338468G-A G A
+22 49338514 22:49338514G-C G C
+22 49338596 22:49338596A-G A G
+22 49338690 22:49338690G-A G A
+22 49338705 22:49338705G-C G C
+22 49338771 22:49338771C-A C A
+22 49338786 22:49338786C-T C T
+22 49338861 22:49338861G-C G C
+22 49338941 22:49338941G-A G A
+22 49338946 22:49338946C-T C T
+22 49339235 22:49339235A-G A G
+22 49339278 22:49339278C-T C T
+22 49339393 22:49339393A-G A G
+22 49339467 22:49339467A-T A T
+22 49339524 22:49339524C-A C A
+22 49339543 22:49339543T-C T C
+22 49339740 22:49339740T-C T C
+22 49339769 22:49339769G-A G A
+22 49339839 22:49339839C-T C T
+22 49339844 22:49339844C-T C T
+22 49339856 22:49339856A-G A G
+22 49340011 22:49340011T-C T C
+22 49340035 22:49340035G-A G A
+22 49340189 22:49340189G-A G A
+22 49340268 22:49340268C-T C T
+22 49340311 22:49340311C-T C T
+22 49340417 22:49340417T-C T C
+22 49340865 22:49340865C-T C T
+22 49340942 22:49340942G-A G A
+22 49341192 22:49341192C-T C T
+22 49341381 22:49341381G-A G A
+22 49341383 22:49341383T-G T G
+22 49341458 22:49341458G-T G T
+22 49341637 22:49341637A-G A G
+22 49341733 22:49341733A-C A C
+22 49342032 22:49342032G-A G A
+22 49342625 22:49342625G-A G A
+22 49342818 22:49342818C-T C T
+22 49343174 22:49343174A-G A G
+22 49343503 22:49343503G-A G A
+22 49343781 22:49343781A-C A C
+22 49344007 22:49344007G-A G A
+22 49344401 22:49344401A-G A G
+22 49344425 22:49344425G-A G A
+22 49344487 22:49344487A-G A G
+22 49345514 22:49345514G-A G A
+22 49345516 22:49345516C-A C A
+22 49345924 22:49345924T-A T A
+22 49345975 22:49345975A-G A G
+22 49346349 22:49346349T-G T G
+22 49346450 22:49346450C-G C G
+22 49346502 22:49346502T-C T C
+22 49346676 22:49346676T-C T C
+22 49346920 22:49346920G-A G A
+22 49347386 22:49347386C-T C T
+22 49347691 22:49347691G-A G A
+22 49347998 22:49347998A-G A G
+22 49348060 22:49348060A-C A C
+22 49348127 22:49348127A-G A G
+22 49348131 22:49348131T-C T C
+22 49348294 22:49348294C-A C A
+22 49348541 22:49348541C-T C T
+22 49348668 22:49348668G-A G A
+22 49349014 22:49349014C-T C T
+22 49349381 22:49349381T-C T C
+22 49349392 22:49349392C-A C A
+22 49349466 22:49349466C-G C G
+22 49349501 22:49349501T-C T C
+22 49349639 22:49349639T-G T G
+22 49349694 22:49349694A-G A G
+22 49349783 22:49349783T-C T C
+22 49350024 22:49350024A-C A C
+22 49350438 22:49350438G-C G C
+22 49350461 22:49350461C-T C T
+22 49351462 22:49351462G-A G A
+22 49351700 22:49351700A-G A G
+22 49351707 22:49351707G-A G A
+22 49351767 22:49351767G-A G A
+22 49351885 22:49351885G-A G A
+22 49351948 22:49351948C-G C G
+22 49352994 22:49352994A-C A C
+22 49353113 22:49353113A-G A G
+22 49353204 22:49353204A-G A G
+22 49353251 22:49353251T-C T C
+22 49353259 22:49353259C-T C T
+22 49353425 22:49353425T-C T C
+22 49353474 22:49353474T-C T C
+22 49353547 22:49353547G-A G A
+22 49354056 22:49354056T-G T G
+22 49354431 22:49354431T-C T C
+22 49354949 22:49354949C-G C G
+22 49355446 22:49355446T-C T C
+22 49355573 22:49355573G-A G A
+22 49355688 22:49355688G-A G A
+22 49356412 22:49356412C-T C T
+22 49356504 22:49356504A-T A T
+22 49356638 22:49356638C-A C A
+22 49356916 22:49356916G-T G T
+22 49357548 22:49357548G-C G C
+22 49357869 22:49357869A-G A G
+22 49357910 22:49357910A-G A G
+22 49357927 22:49357927C-T C T
+22 49358292 22:49358292T-A T A
+22 49358575 22:49358575C-A C A
+22 49358584 22:49358584T-C T C
+22 49358634 22:49358634A-G A G
+22 49358753 22:49358753T-G T G
+22 49359028 22:49359028C-T C T
+22 49359355 22:49359355A-C A C
+22 49359454 22:49359454A-G A G
+22 49359662 22:49359662A-G A G
+22 49359945 22:49359945G-A G A
+22 49360185 22:49360185T-C T C
+22 49360224 22:49360224G-A G A
+22 49360424 22:49360424C-T C T
+22 49360572 22:49360572A-G A G
+22 49360586 22:49360586A-G A G
+22 49360597 22:49360597G-A G A
+22 49360982 22:49360982C-T C T
+22 49361341 22:49361341A-G A G
+22 49361624 22:49361624C-A C A
+22 49361627 22:49361627G-A G A
+22 49361722 22:49361722A-C A C
+22 49362176 22:49362176G-A G A
+22 49362322 22:49362322G-C G C
+22 49362505 22:49362505A-G A G
+22 49362958 22:49362958C-T C T
+22 49363020 22:49363020T-C T C
+22 49363109 22:49363109C-T C T
+22 49363112 22:49363112A-G A G
+22 49363362 22:49363362G-A G A
+22 49363459 22:49363459C-T C T
+22 49363568 22:49363568T-C T C
+22 49363773 22:49363773A-G A G
+22 49363783 22:49363783T-A T A
+22 49363849 22:49363849T-C T C
+22 49363925 22:49363925G-A G A
+22 49363930 22:49363930A-G A G
+22 49363964 22:49363964C-T C T
+22 49364119 22:49364119A-C A C
+22 49364245 22:49364245A-G A G
+22 49364407 22:49364407G-A G A
+22 49364471 22:49364471T-C T C
+22 49364562 22:49364562G-A G A
+22 49364648 22:49364648T-C T C
+22 49364664 22:49364664G-A G A
+22 49364697 22:49364697C-A C A
+22 49364780 22:49364780G-A G A
+22 49364828 22:49364828T-C T C
+22 49365184 22:49365184C-G C G
+22 49365356 22:49365356G-A G A
+22 49365480 22:49365480A-G A G
+22 49365517 22:49365517G-A G A
+22 49365633 22:49365633C-A C A
+22 49366123 22:49366123C-T C T
+22 49366281 22:49366281G-A G A
+22 49366413 22:49366413A-C A C
+22 49366589 22:49366589T-C T C
+22 49366616 22:49366616G-T G T
+22 49366954 22:49366954A-T A T
+22 49367041 22:49367041A-G A G
+22 49367277 22:49367277G-A G A
+22 49368222 22:49368222C-T C T
+22 49368380 22:49368380G-A G A
+22 49368486 22:49368486G-A G A
+22 49368528 22:49368528T-C T C
+22 49368792 22:49368792T-G T G
+22 49368925 22:49368925G-C G C
+22 49369192 22:49369192T-C T C
+22 49369198 22:49369198C-T C T
+22 49369267 22:49369267T-G T G
+22 49369701 22:49369701A-G A G
+22 49369775 22:49369775C-T C T
+22 49369993 22:49369993C-A C A
+22 49370002 22:49370002G-A G A
+22 49370043 22:49370043G-A G A
+22 49370277 22:49370277A-G A G
+22 49370336 22:49370336G-A G A
+22 49370602 22:49370602G-C G C
+22 49370754 22:49370754A-G A G
+22 49370834 22:49370834C-G C G
+22 49370962 22:49370962T-C T C
+22 49371163 22:49371163C-T C T
+22 49371286 22:49371286A-G A G
+22 49371609 22:49371609A-C A C
+22 49372052 22:49372052T-C T C
+22 49372356 22:49372356C-G C G
+22 49372372 22:49372372G-A G A
+22 49372536 22:49372536G-A G A
+22 49372765 22:49372765G-A G A
+22 49372831 22:49372831A-G A G
+22 49372880 22:49372880A-G A G
+22 49373971 22:49373971G-A G A
+22 49374409 22:49374409G-A G A
+22 49374424 22:49374424G-C G C
+22 49374589 22:49374589A-T A T
+22 49375004 22:49375004T-C T C
+22 49375050 22:49375050T-C T C
+22 49375244 22:49375244T-C T C
+22 49375476 22:49375476G-C G C
+22 49375594 22:49375594T-C T C
+22 49375684 22:49375684G-T G T
+22 49376986 22:49376986G-C G C
+22 49377893 22:49377893C-T C T
+22 49377974 22:49377974G-A G A
+22 49378255 22:49378255G-A G A
+22 49378494 22:49378494G-A G A
+22 49379066 22:49379066G-T G T
+22 49379178 22:49379178C-T C T
+22 49379194 22:49379194A-G A G
+22 49379267 22:49379267A-G A G
+22 49379342 22:49379342G-A G A
+22 49380164 22:49380164C-A C A
+22 49380360 22:49380360T-C T C
+22 49380656 22:49380656C-T C T
+22 49380710 22:49380710G-A G A
+22 49380753 22:49380753G-A G A
+22 49380863 22:49380863A-C A C
+22 49381241 22:49381241G-C G C
+22 49388828 22:49388828G-A G A
+22 49389183 22:49389183C-A C A
+22 49389362 22:49389362T-C T C
+22 49389510 22:49389510G-A G A
+22 49389520 22:49389520A-T A T
+22 49390026 22:49390026C-T C T
+22 49390307 22:49390307T-C T C
+22 49393814 22:49393814A-G A G
+22 49394161 22:49394161T-C T C
+22 49394311 22:49394311G-A G A
+22 49394664 22:49394664T-G T G
+22 49395256 22:49395256G-A G A
+22 49395845 22:49395845G-A G A
+22 49396148 22:49396148G-A G A
+22 49396259 22:49396259A-G A G
+22 49396312 22:49396312T-A T A
+22 49396413 22:49396413T-C T C
+22 49396512 22:49396512A-G A G
+22 49396849 22:49396849A-G A G
+22 49397410 22:49397410G-T G T
+22 49397438 22:49397438T-C T C
+22 49397439 22:49397439G-T G T
+22 49397538 22:49397538A-G A G
+22 49398026 22:49398026A-C A C
+22 49399048 22:49399048T-C T C
+22 49399079 22:49399079A-T A T
+22 49399232 22:49399232T-A T A
+22 49399242 22:49399242T-A T A
+22 49399415 22:49399415C-T C T
+22 49399524 22:49399524G-A G A
+22 49399969 22:49399969C-G C G
+22 49400384 22:49400384C-T C T
+22 49400394 22:49400394G-A G A
+22 49400552 22:49400552A-G A G
+22 49401116 22:49401116A-G A G
+22 49401129 22:49401129G-C G C
+22 49401510 22:49401510A-T A T
+22 49401918 22:49401918T-G T G
+22 49402391 22:49402391C-A C A
+22 49402542 22:49402542C-G C G
+22 49402606 22:49402606G-T G T
+22 49403241 22:49403241C-T C T
+22 49404049 22:49404049A-G A G
+22 49404402 22:49404402A-C A C
+22 49404476 22:49404476C-T C T
+22 49404613 22:49404613C-T C T
+22 49404702 22:49404702G-C G C
+22 49405081 22:49405081C-T C T
+22 49405183 22:49405183T-G T G
+22 49405217 22:49405217T-C T C
+22 49405273 22:49405273G-C G C
+22 49405431 22:49405431C-T C T
+22 49405594 22:49405594G-A G A
+22 49405647 22:49405647A-C A C
+22 49405648 22:49405648T-C T C
+22 49405723 22:49405723C-T C T
+22 49405743 22:49405743A-G A G
+22 49405861 22:49405861A-G A G
+22 49405960 22:49405960G-C G C
+22 49405995 22:49405995G-A G A
+22 49406101 22:49406101G-A G A
+22 49406130 22:49406130G-T G T
+22 49406361 22:49406361G-C G C
+22 49406663 22:49406663T-C T C
+22 49406723 22:49406723C-T C T
+22 49406962 22:49406962G-A G A
+22 49407323 22:49407323C-T C T
+22 49407612 22:49407612C-T C T
+22 49407716 22:49407716C-T C T
+22 49407798 22:49407798T-C T C
+22 49408047 22:49408047A-G A G
+22 49408163 22:49408163G-C G C
+22 49408394 22:49408394G-A G A
+22 49408735 22:49408735G-A G A
+22 49409446 22:49409446T-C T C
+22 49409644 22:49409644G-A G A
+22 49409852 22:49409852G-A G A
+22 49409956 22:49409956G-A G A
+22 49410124 22:49410124T-C T C
+22 49410505 22:49410505T-G T G
+22 49411039 22:49411039T-A T A
+22 49411446 22:49411446A-G A G
+22 49411575 22:49411575T-C T C
+22 49411595 22:49411595A-G A G
+22 49411854 22:49411854T-A T A
+22 49412197 22:49412197A-C A C
+22 49413019 22:49413019A-G A G
+22 49413055 22:49413055A-C A C
+22 49413119 22:49413119G-A G A
+22 49413687 22:49413687G-T G T
+22 49413741 22:49413741C-G C G
+22 49414226 22:49414226A-C A C
+22 49414315 22:49414315G-A G A
+22 49414320 22:49414320C-T C T
+22 49414427 22:49414427G-C G C
+22 49414516 22:49414516A-G A G
+22 49414719 22:49414719A-G A G
+22 49414821 22:49414821T-C T C
+22 49414829 22:49414829A-G A G
+22 49415057 22:49415057G-A G A
+22 49415376 22:49415376T-C T C
+22 49415539 22:49415539C-T C T
+22 49415667 22:49415667A-C A C
+22 49415730 22:49415730A-G A G
+22 49415756 22:49415756C-T C T
+22 49415942 22:49415942T-C T C
+22 49416063 22:49416063C-T C T
+22 49416154 22:49416154G-A G A
+22 49416259 22:49416259A-G A G
+22 49416401 22:49416401G-A G A
+22 49416424 22:49416424A-G A G
+22 49416650 22:49416650C-T C T
+22 49416835 22:49416835T-G T G
+22 49416851 22:49416851G-C G C
+22 49417110 22:49417110A-G A G
+22 49417166 22:49417166C-A C A
+22 49417185 22:49417185A-G A G
+22 49417188 22:49417188T-C T C
+22 49418270 22:49418270C-T C T
+22 49418648 22:49418648A-G A G
+22 49419782 22:49419782G-A G A
+22 49419836 22:49419836T-C T C
+22 49420175 22:49420175G-A G A
+22 49420481 22:49420481C-T C T
+22 49421028 22:49421028C-T C T
+22 49421381 22:49421381C-A C A
+22 49421591 22:49421591A-G A G
+22 49422037 22:49422037G-C G C
+22 49422073 22:49422073G-A G A
+22 49422075 22:49422075G-A G A
+22 49422263 22:49422263A-G A G
+22 49422624 22:49422624G-T G T
+22 49422958 22:49422958A-C A C
+22 49423073 22:49423073C-T C T
+22 49423286 22:49423286C-T C T
+22 49423287 22:49423287A-G A G
+22 49423438 22:49423438G-A G A
+22 49423542 22:49423542G-A G A
+22 49423708 22:49423708G-A G A
+22 49423828 22:49423828C-T C T
+22 49423865 22:49423865A-G A G
+22 49423934 22:49423934G-A G A
+22 49423990 22:49423990G-T G T
+22 49424254 22:49424254T-A T A
+22 49425605 22:49425605G-A G A
+22 49425847 22:49425847A-G A G
+22 49426007 22:49426007G-A G A
+22 49426252 22:49426252A-G A G
+22 49426434 22:49426434C-T C T
+22 49426541 22:49426541A-G A G
+22 49426904 22:49426904C-T C T
+22 49426935 22:49426935A-G A G
+22 49426998 22:49426998A-G A G
+22 49427047 22:49427047G-A G A
+22 49427159 22:49427159A-G A G
+22 49427358 22:49427358A-G A G
+22 49427475 22:49427475A-G A G
+22 49427545 22:49427545A-G A G
+22 49427613 22:49427613C-T C T
+22 49427680 22:49427680A-G A G
+22 49427782 22:49427782C-T C T
+22 49427830 22:49427830C-A C A
+22 49428104 22:49428104T-G T G
+22 49428175 22:49428175G-A G A
+22 49428205 22:49428205G-A G A
+22 49428243 22:49428243G-A G A
+22 49428250 22:49428250G-A G A
+22 49428281 22:49428281T-C T C
+22 49428435 22:49428435C-T C T
+22 49428593 22:49428593A-C A C
+22 49428613 22:49428613C-T C T
+22 49428714 22:49428714C-T C T
+22 49428744 22:49428744G-A G A
+22 49428778 22:49428778A-G A G
+22 49428803 22:49428803A-G A G
+22 49428878 22:49428878A-G A G
+22 49428911 22:49428911T-C T C
+22 49428988 22:49428988G-A G A
+22 49429018 22:49429018G-A G A
+22 49429215 22:49429215C-A C A
+22 49429226 22:49429226G-A G A
+22 49429406 22:49429406C-G C G
+22 49429531 22:49429531A-G A G
+22 49429581 22:49429581A-G A G
+22 49429675 22:49429675T-C T C
+22 49429719 22:49429719A-G A G
+22 49429949 22:49429949G-A G A
+22 49430125 22:49430125T-C T C
+22 49430379 22:49430379T-C T C
+22 49430599 22:49430599C-G C G
+22 49430607 22:49430607C-A C A
+22 49430725 22:49430725A-G A G
+22 49430844 22:49430844T-C T C
+22 49430916 22:49430916G-T G T
+22 49431518 22:49431518C-T C T
+22 49431593 22:49431593G-C G C
+22 49431702 22:49431702G-T G T
+22 49432088 22:49432088C-T C T
+22 49432485 22:49432485C-T C T
+22 49432938 22:49432938A-G A G
+22 49433512 22:49433512A-G A G
+22 49433619 22:49433619C-G C G
+22 49433824 22:49433824T-C T C
+22 49434131 22:49434131A-G A G
+22 49434247 22:49434247G-A G A
+22 49434861 22:49434861G-A G A
+22 49434942 22:49434942T-C T C
+22 49434953 22:49434953A-G A G
+22 49435793 22:49435793G-A G A
+22 49435910 22:49435910G-C G C
+22 49436004 22:49436004C-T C T
+22 49436037 22:49436037C-T C T
+22 49436115 22:49436115G-C G C
+22 49436235 22:49436235G-C G C
+22 49436571 22:49436571G-T G T
+22 49436623 22:49436623G-T G T
+22 49436707 22:49436707C-T C T
+22 49436731 22:49436731C-T C T
+22 49437057 22:49437057A-G A G
+22 49437074 22:49437074C-T C T
+22 49437154 22:49437154C-T C T
+22 49437208 22:49437208T-G T G
+22 49437242 22:49437242G-A G A
+22 49437344 22:49437344G-A G A
+22 49437557 22:49437557C-G C G
+22 49437633 22:49437633A-T A T
+22 49437976 22:49437976G-A G A
+22 49438481 22:49438481G-A G A
+22 49438550 22:49438550T-C T C
+22 49438652 22:49438652C-A C A
+22 49438736 22:49438736G-A G A
+22 49438765 22:49438765G-T G T
+22 49439071 22:49439071G-T G T
+22 49439780 22:49439780C-G C G
+22 49440232 22:49440232G-A G A
+22 49440713 22:49440713G-C G C
+22 49440715 22:49440715G-A G A
+22 49440744 22:49440744C-T C T
+22 49440826 22:49440826C-T C T
+22 49441034 22:49441034G-A G A
+22 49441358 22:49441358G-C G C
+22 49441681 22:49441681C-T C T
+22 49441919 22:49441919C-T C T
+22 49442365 22:49442365C-T C T
+22 49442366 22:49442366G-A G A
+22 49443666 22:49443666C-T C T
+22 49444399 22:49444399C-G C G
+22 49444540 22:49444540G-A G A
+22 49444855 22:49444855G-A G A
+22 49445078 22:49445078G-C G C
+22 49445896 22:49445896G-A G A
+22 49446094 22:49446094A-C A C
+22 49446616 22:49446616T-C T C
+22 49446998 22:49446998A-G A G
+22 49447101 22:49447101T-C T C
+22 49448101 22:49448101G-A G A
+22 49448164 22:49448164G-T G T
+22 49448259 22:49448259G-A G A
+22 49448476 22:49448476C-T C T
+22 49448591 22:49448591A-G A G
+22 49448700 22:49448700G-C G C
+22 49448805 22:49448805G-T G T
+22 49448815 22:49448815A-G A G
+22 49449287 22:49449287C-G C G
+22 49449290 22:49449290C-T C T
+22 49449618 22:49449618T-G T G
+22 49450066 22:49450066T-G T G
+22 49450131 22:49450131C-T C T
+22 49450895 22:49450895A-G A G
+22 49451932 22:49451932C-T C T
+22 49452108 22:49452108C-T C T
+22 49452130 22:49452130T-G T G
+22 49452266 22:49452266T-G T G
+22 49453390 22:49453390G-T G T
+22 49453545 22:49453545A-G A G
+22 49453628 22:49453628A-G A G
+22 49453817 22:49453817C-T C T
+22 49454748 22:49454748C-G C G
+22 49455970 22:49455970G-C G C
+22 49456722 22:49456722C-T C T
+22 49457043 22:49457043C-G C G
+22 49457975 22:49457975A-G A G
+22 49458315 22:49458315A-C A C
+22 49458421 22:49458421T-G T G
+22 49458449 22:49458449C-T C T
+22 49458658 22:49458658G-C G C
+22 49458767 22:49458767T-C T C
+22 49458885 22:49458885A-G A G
+22 49458900 22:49458900T-A T A
+22 49458904 22:49458904G-A G A
+22 49458914 22:49458914T-C T C
+22 49458986 22:49458986C-T C T
+22 49458996 22:49458996G-A G A
+22 49459047 22:49459047T-A T A
+22 49459098 22:49459098C-G C G
+22 49459147 22:49459147A-G A G
+22 49460065 22:49460065A-G A G
+22 49460555 22:49460555G-A G A
+22 49460591 22:49460591A-G A G
+22 49461764 22:49461764C-T C T
+22 49461893 22:49461893T-G T G
+22 49462708 22:49462708C-T C T
+22 49463151 22:49463151T-C T C
+22 49463182 22:49463182G-A G A
+22 49463288 22:49463288C-G C G
+22 49463302 22:49463302T-C T C
+22 49463418 22:49463418A-G A G
+22 49463704 22:49463704T-C T C
+22 49463725 22:49463725C-T C T
+22 49464011 22:49464011A-G A G
+22 49464521 22:49464521A-C A C
+22 49464645 22:49464645A-C A C
+22 49465203 22:49465203A-G A G
+22 49465356 22:49465356A-G A G
+22 49465629 22:49465629C-T C T
+22 49465653 22:49465653G-A G A
+22 49465735 22:49465735A-G A G
+22 49465881 22:49465881C-T C T
+22 49466002 22:49466002A-C A C
+22 49466740 22:49466740G-A G A
+22 49467378 22:49467378C-T C T
+22 49467485 22:49467485C-T C T
+22 49467660 22:49467660A-T A T
+22 49467831 22:49467831C-T C T
+22 49467932 22:49467932T-C T C
+22 49467981 22:49467981C-G C G
+22 49468170 22:49468170T-C T C
+22 49468175 22:49468175T-C T C
+22 49468667 22:49468667A-G A G
+22 49468688 22:49468688C-T C T
+22 49468937 22:49468937T-G T G
+22 49469026 22:49469026A-G A G
+22 49469047 22:49469047A-G A G
+22 49469090 22:49469090A-T A T
+22 49469372 22:49469372G-T G T
+22 49469870 22:49469870A-C A C
+22 49470040 22:49470040A-G A G
+22 49470267 22:49470267A-G A G
+22 49470373 22:49470373A-G A G
+22 49470397 22:49470397A-T A T
+22 49470410 22:49470410G-A G A
+22 49470585 22:49470585G-A G A
+22 49470622 22:49470622C-G C G
+22 49470738 22:49470738G-A G A
+22 49470797 22:49470797G-T G T
+22 49470918 22:49470918G-A G A
+22 49471011 22:49471011A-G A G
+22 49471115 22:49471115C-T C T
+22 49471221 22:49471221C-A C A
+22 49471475 22:49471475G-A G A
+22 49471519 22:49471519T-C T C
+22 49471684 22:49471684T-G T G
+22 49472021 22:49472021A-C A C
+22 49472027 22:49472027A-C A C
+22 49472034 22:49472034C-G C G
+22 49472415 22:49472415A-G A G
+22 49472426 22:49472426C-T C T
+22 49472447 22:49472447C-A C A
+22 49472463 22:49472463C-T C T
+22 49472640 22:49472640G-A G A
+22 49472782 22:49472782G-C G C
+22 49473067 22:49473067C-G C G
+22 49473105 22:49473105T-C T C
+22 49473220 22:49473220C-A C A
+22 49473466 22:49473466A-G A G
+22 49473621 22:49473621T-C T C
+22 49473623 22:49473623G-A G A
+22 49473688 22:49473688C-T C T
+22 49473747 22:49473747G-A G A
+22 49473867 22:49473867C-A C A
+22 49473871 22:49473871C-T C T
+22 49474231 22:49474231C-T C T
+22 49475094 22:49475094C-T C T
+22 49475224 22:49475224C-T C T
+22 49475389 22:49475389C-T C T
+22 49475392 22:49475392T-C T C
+22 49475412 22:49475412A-G A G
+22 49475430 22:49475430C-G C G
+22 49475506 22:49475506C-T C T
+22 49475605 22:49475605A-G A G
+22 49476122 22:49476122G-A G A
+22 49476252 22:49476252G-A G A
+22 49476403 22:49476403C-T C T
+22 49476436 22:49476436A-G A G
+22 49476758 22:49476758A-G A G
+22 49476782 22:49476782G-A G A
+22 49477938 22:49477938C-T C T
+22 49478028 22:49478028G-C G C
+22 49478408 22:49478408A-G A G
+22 49478680 22:49478680C-T C T
+22 49478958 22:49478958G-A G A
+22 49479096 22:49479096G-A G A
+22 49479366 22:49479366C-G C G
+22 49480858 22:49480858G-A G A
+22 49481246 22:49481246G-T G T
+22 49481724 22:49481724T-C T C
+22 49481919 22:49481919A-G A G
+22 49482408 22:49482408C-T C T
+22 49482826 22:49482826C-T C T
+22 49482864 22:49482864C-T C T
+22 49483238 22:49483238G-C G C
+22 49484139 22:49484139A-C A C
+22 49484294 22:49484294G-A G A
+22 49484533 22:49484533T-C T C
+22 49485242 22:49485242T-C T C
+22 49485325 22:49485325T-C T C
+22 49485456 22:49485456G-A G A
+22 49485920 22:49485920G-A G A
+22 49486210 22:49486210G-A G A
+22 49486349 22:49486349A-G A G
+22 49486490 22:49486490T-C T C
+22 49486535 22:49486535C-G C G
+22 49486646 22:49486646G-A G A
+22 49486691 22:49486691G-A G A
+22 49486695 22:49486695G-A G A
+22 49487162 22:49487162G-T G T
+22 49487172 22:49487172A-T A T
+22 49487192 22:49487192C-A C A
+22 49487320 22:49487320A-G A G
+22 49487334 22:49487334C-A C A
+22 49487417 22:49487417C-T C T
+22 49487452 22:49487452G-T G T
+22 49488100 22:49488100G-C G C
+22 49488772 22:49488772G-T G T
+22 49488925 22:49488925G-A G A
+22 49489295 22:49489295C-T C T
+22 49489469 22:49489469C-T C T
+22 49489528 22:49489528T-G T G
+22 49489727 22:49489727G-C G C
+22 49490002 22:49490002C-G C G
+22 49490181 22:49490181T-C T C
+22 49491123 22:49491123C-G C G
+22 49491576 22:49491576A-C A C
+22 49491796 22:49491796T-A T A
+22 49491890 22:49491890A-C A C
+22 49492165 22:49492165T-C T C
+22 49492784 22:49492784T-C T C
+22 49492826 22:49492826T-G T G
+22 49493046 22:49493046G-A G A
+22 49493066 22:49493066C-T C T
+22 49493091 22:49493091C-T C T
+22 49493397 22:49493397T-C T C
+22 49493689 22:49493689G-A G A
+22 49493979 22:49493979T-C T C
+22 49494179 22:49494179T-C T C
+22 49494761 22:49494761C-T C T
+22 49495277 22:49495277A-G A G
+22 49495354 22:49495354G-A G A
+22 49495489 22:49495489C-T C T
+22 49496062 22:49496062G-A G A
+22 49496139 22:49496139A-G A G
+22 49496213 22:49496213C-G C G
+22 49496505 22:49496505G-A G A
+22 49496570 22:49496570G-C G C
+22 49496581 22:49496581C-T C T
+22 49496821 22:49496821G-A G A
+22 49496835 22:49496835A-G A G
+22 49497133 22:49497133T-G T G
+22 49497303 22:49497303C-T C T
+22 49497469 22:49497469G-A G A
+22 49497674 22:49497674A-G A G
+22 49497728 22:49497728G-A G A
+22 49497757 22:49497757A-G A G
+22 49497822 22:49497822C-T C T
+22 49497869 22:49497869G-A G A
+22 49498488 22:49498488T-C T C
+22 49499223 22:49499223C-T C T
+22 49499224 22:49499224G-A G A
+22 49500250 22:49500250G-A G A
+22 49502248 22:49502248G-C G C
+22 49502569 22:49502569T-C T C
+22 49503077 22:49503077G-A G A
+22 49503392 22:49503392C-T C T
+22 49503452 22:49503452T-C T C
+22 49503753 22:49503753C-T C T
+22 49503755 22:49503755T-C T C
+22 49504256 22:49504256G-C G C
+22 49504732 22:49504732G-A G A
+22 49504790 22:49504790G-T G T
+22 49504795 22:49504795C-T C T
+22 49504800 22:49504800C-T C T
+22 49504833 22:49504833G-A G A
+22 49505077 22:49505077T-C T C
+22 49505409 22:49505409G-A G A
+22 49505431 22:49505431C-G C G
+22 49505505 22:49505505A-G A G
+22 49505909 22:49505909T-C T C
+22 49506256 22:49506256T-C T C
+22 49506454 22:49506454C-T C T
+22 49506554 22:49506554G-A G A
+22 49506679 22:49506679C-T C T
+22 49506822 22:49506822T-C T C
+22 49506907 22:49506907T-C T C
+22 49507111 22:49507111C-G C G
+22 49507353 22:49507353C-T C T
+22 49507360 22:49507360C-A C A
+22 49507434 22:49507434A-G A G
+22 49507801 22:49507801C-G C G
+22 49508379 22:49508379G-C G C
+22 49508435 22:49508435A-C A C
+22 49508504 22:49508504G-C G C
+22 49508703 22:49508703G-A G A
+22 49509002 22:49509002A-C A C
+22 49509063 22:49509063G-A G A
+22 49509140 22:49509140G-T G T
+22 49509418 22:49509418T-C T C
+22 49509456 22:49509456C-T C T
+22 49509526 22:49509526C-T C T
+22 49509568 22:49509568A-G A G
+22 49509803 22:49509803A-G A G
+22 49509884 22:49509884A-G A G
+22 49510180 22:49510180G-C G C
+22 49510379 22:49510379G-A G A
+22 49510456 22:49510456C-G C G
+22 49510871 22:49510871T-C T C
+22 49511361 22:49511361C-G C G
+22 49511619 22:49511619C-A C A
+22 49511797 22:49511797T-C T C
+22 49512164 22:49512164T-C T C
+22 49512565 22:49512565C-T C T
+22 49512609 22:49512609C-T C T
+22 49512622 22:49512622G-A G A
+22 49512630 22:49512630C-G C G
+22 49512652 22:49512652C-T C T
+22 49512799 22:49512799T-G T G
+22 49512800 22:49512800G-T G T
+22 49513369 22:49513369G-T G T
+22 49513518 22:49513518G-A G A
+22 49513663 22:49513663A-G A G
+22 49514228 22:49514228A-G A G
+22 49514275 22:49514275C-T C T
+22 49514337 22:49514337T-C T C
+22 49514449 22:49514449A-G A G
+22 49514468 22:49514468G-C G C
+22 49514531 22:49514531T-G T G
+22 49514640 22:49514640A-G A G
+22 49515156 22:49515156C-T C T
+22 49515452 22:49515452C-A C A
+22 49516455 22:49516455G-A G A
+22 49516466 22:49516466T-C T C
+22 49516631 22:49516631C-T C T
+22 49516859 22:49516859G-A G A
+22 49517224 22:49517224T-C T C
+22 49517709 22:49517709G-T G T
+22 49517972 22:49517972C-T C T
+22 49517973 22:49517973G-A G A
+22 49518028 22:49518028T-C T C
+22 49518143 22:49518143C-T C T
+22 49518144 22:49518144A-G A G
+22 49518444 22:49518444A-C A C
+22 49518541 22:49518541A-G A G
+22 49518714 22:49518714T-G T G
+22 49518724 22:49518724C-T C T
+22 49519262 22:49519262G-A G A
+22 49519514 22:49519514C-T C T
+22 49519548 22:49519548A-C A C
+22 49519557 22:49519557T-C T C
+22 49520561 22:49520561T-C T C
+22 49520880 22:49520880G-A G A
+22 49521080 22:49521080T-A T A
+22 49522184 22:49522184A-G A G
+22 49522232 22:49522232C-G C G
+22 49522723 22:49522723C-G C G
+22 49523118 22:49523118A-G A G
+22 49523127 22:49523127C-T C T
+22 49523135 22:49523135G-A G A
+22 49525246 22:49525246G-A G A
+22 49525272 22:49525272C-T C T
+22 49526035 22:49526035G-A G A
+22 49526048 22:49526048G-T G T
+22 49526767 22:49526767G-A G A
+22 49526824 22:49526824T-A T A
+22 49527653 22:49527653G-A G A
+22 49527783 22:49527783A-G A G
+22 49527794 22:49527794G-C G C
+22 49528199 22:49528199G-A G A
+22 49528357 22:49528357A-G A G
+22 49528748 22:49528748T-G T G
+22 49529357 22:49529357C-T C T
+22 49529366 22:49529366C-A C A
+22 49529412 22:49529412T-C T C
+22 49529515 22:49529515C-G C G
+22 49529613 22:49529613T-C T C
+22 49529815 22:49529815G-A G A
+22 49529965 22:49529965T-C T C
+22 49530268 22:49530268G-A G A
+22 49530283 22:49530283C-A C A
+22 49530321 22:49530321T-G T G
+22 49530337 22:49530337C-T C T
+22 49530363 22:49530363C-T C T
+22 49530425 22:49530425G-A G A
+22 49530553 22:49530553C-G C G
+22 49530626 22:49530626G-A G A
+22 49530818 22:49530818T-C T C
+22 49531255 22:49531255A-T A T
+22 49531408 22:49531408A-T A T
+22 49531700 22:49531700A-G A G
+22 49531895 22:49531895T-A T A
+22 49532043 22:49532043A-G A G
+22 49532171 22:49532171C-T C T
+22 49532218 22:49532218G-T G T
+22 49532518 22:49532518C-T C T
+22 49532519 22:49532519G-A G A
+22 49532595 22:49532595T-C T C
+22 49532727 22:49532727T-C T C
+22 49533282 22:49533282A-G A G
+22 49533380 22:49533380A-G A G
+22 49533397 22:49533397T-G T G
+22 49533411 22:49533411T-C T C
+22 49534225 22:49534225A-G A G
+22 49534296 22:49534296T-C T C
+22 49534383 22:49534383G-T G T
+22 49534433 22:49534433C-T C T
+22 49534675 22:49534675T-C T C
+22 49534864 22:49534864A-C A C
+22 49534988 22:49534988A-C A C
+22 49535105 22:49535105A-C A C
+22 49535199 22:49535199A-G A G
+22 49535204 22:49535204C-T C T
+22 49535208 22:49535208G-A G A
+22 49535338 22:49535338G-T G T
+22 49535461 22:49535461C-T C T
+22 49535682 22:49535682G-A G A
+22 49535773 22:49535773C-G C G
+22 49536215 22:49536215A-G A G
+22 49536389 22:49536389G-A G A
+22 49536548 22:49536548T-C T C
+22 49536675 22:49536675G-A G A
+22 49536709 22:49536709A-G A G
+22 49536730 22:49536730A-T A T
+22 49536794 22:49536794C-T C T
+22 49537043 22:49537043C-A C A
+22 49537229 22:49537229C-T C T
+22 49537326 22:49537326A-G A G
+22 49537511 22:49537511T-C T C
+22 49537845 22:49537845C-T C T
+22 49537896 22:49537896C-G C G
+22 49538064 22:49538064C-T C T
+22 49538066 22:49538066A-G A G
+22 49538205 22:49538205G-T G T
+22 49538217 22:49538217T-C T C
+22 49538250 22:49538250G-A G A
+22 49538620 22:49538620C-T C T
+22 49538675 22:49538675A-G A G
+22 49538692 22:49538692C-A C A
+22 49538713 22:49538713G-T G T
+22 49538745 22:49538745A-G A G
+22 49538836 22:49538836C-T C T
+22 49538837 22:49538837C-G C G
+22 49538871 22:49538871G-A G A
+22 49538968 22:49538968C-G C G
+22 49539101 22:49539101C-T C T
+22 49539280 22:49539280G-A G A
+22 49539303 22:49539303G-A G A
+22 49539333 22:49539333A-G A G
+22 49539363 22:49539363C-T C T
+22 49539384 22:49539384A-G A G
+22 49539399 22:49539399T-C T C
+22 49539530 22:49539530T-C T C
+22 49539584 22:49539584A-G A G
+22 49539767 22:49539767A-C A C
+22 49540041 22:49540041G-A G A
+22 49540415 22:49540415G-C G C
+22 49540766 22:49540766G-C G C
+22 49541184 22:49541184T-G T G
+22 49541239 22:49541239A-C A C
+22 49541419 22:49541419T-C T C
+22 49541427 22:49541427A-C A C
+22 49541533 22:49541533C-T C T
+22 49542028 22:49542028A-G A G
+22 49542106 22:49542106T-C T C
+22 49542146 22:49542146C-A C A
+22 49542221 22:49542221G-A G A
+22 49542250 22:49542250T-C T C
+22 49542480 22:49542480G-A G A
+22 49542557 22:49542557C-T C T
+22 49542774 22:49542774C-T C T
+22 49542829 22:49542829T-G T G
+22 49543133 22:49543133T-C T C
+22 49543442 22:49543442G-C G C
+22 49543769 22:49543769G-A G A
+22 49543781 22:49543781A-G A G
+22 49543954 22:49543954T-G T G
+22 49544527 22:49544527C-A C A
+22 49544873 22:49544873G-A G A
+22 49544961 22:49544961C-T C T
+22 49545005 22:49545005A-G A G
+22 49545025 22:49545025A-G A G
+22 49545244 22:49545244A-G A G
+22 49545430 22:49545430G-A G A
+22 49545617 22:49545617T-A T A
+22 49545688 22:49545688G-A G A
+22 49545711 22:49545711A-G A G
+22 49545740 22:49545740A-C A C
+22 49545750 22:49545750T-G T G
+22 49545804 22:49545804G-A G A
+22 49545832 22:49545832G-A G A
+22 49545876 22:49545876G-A G A
+22 49545985 22:49545985A-G A G
+22 49546122 22:49546122G-A G A
+22 49546237 22:49546237G-A G A
+22 49546297 22:49546297G-T G T
+22 49546301 22:49546301A-G A G
+22 49546371 22:49546371G-A G A
+22 49546453 22:49546453C-T C T
+22 49546553 22:49546553C-T C T
+22 49546664 22:49546664C-T C T
+22 49546672 22:49546672G-A G A
+22 49546869 22:49546869C-T C T
+22 49547090 22:49547090G-C G C
+22 49547164 22:49547164G-A G A
+22 49547295 22:49547295G-C G C
+22 49547466 22:49547466G-C G C
+22 49547474 22:49547474C-A C A
+22 49547498 22:49547498T-C T C
+22 49547529 22:49547529G-A G A
+22 49547721 22:49547721T-C T C
+22 49547964 22:49547964C-G C G
+22 49548108 22:49548108G-A G A
+22 49548222 22:49548222G-A G A
+22 49548313 22:49548313A-G A G
+22 49548341 22:49548341C-T C T
+22 49548867 22:49548867G-A G A
+22 49548905 22:49548905C-T C T
+22 49549268 22:49549268A-G A G
+22 49549291 22:49549291A-G A G
+22 49549388 22:49549388A-G A G
+22 49549599 22:49549599A-C A C
+22 49549664 22:49549664G-C G C
+22 49549680 22:49549680C-A C A
+22 49549835 22:49549835A-G A G
+22 49549865 22:49549865C-T C T
+22 49549905 22:49549905C-T C T
+22 49549971 22:49549971T-C T C
+22 49550030 22:49550030C-T C T
+22 49550046 22:49550046A-G A G
+22 49550176 22:49550176C-G C G
+22 49550329 22:49550329G-A G A
+22 49550372 22:49550372A-G A G
+22 49550421 22:49550421C-T C T
+22 49550571 22:49550571C-A C A
+22 49550630 22:49550630C-T C T
+22 49550794 22:49550794A-G A G
+22 49550911 22:49550911C-G C G
+22 49551090 22:49551090G-A G A
+22 49551137 22:49551137G-A G A
+22 49551354 22:49551354A-G A G
+22 49551574 22:49551574C-T C T
+22 49552222 22:49552222A-G A G
+22 49552224 22:49552224C-T C T
+22 49552625 22:49552625G-C G C
+22 49552804 22:49552804A-G A G
+22 49552877 22:49552877G-T G T
+22 49552956 22:49552956G-A G A
+22 49553089 22:49553089G-A G A
+22 49553353 22:49553353A-T A T
+22 49553448 22:49553448A-G A G
+22 49553568 22:49553568C-A C A
+22 49553690 22:49553690T-A T A
+22 49553747 22:49553747C-T C T
+22 49553924 22:49553924C-T C T
+22 49553952 22:49553952G-A G A
+22 49554152 22:49554152C-T C T
+22 49554338 22:49554338C-T C T
+22 49554356 22:49554356A-G A G
+22 49554421 22:49554421G-C G C
+22 49555014 22:49555014C-G C G
+22 49555287 22:49555287A-G A G
+22 49555340 22:49555340T-G T G
+22 49555551 22:49555551C-A C A
+22 49555583 22:49555583G-T G T
+22 49556096 22:49556096G-C G C
+22 49556117 22:49556117G-A G A
+22 49556238 22:49556238C-A C A
+22 49556463 22:49556463C-T C T
+22 49556646 22:49556646C-G C G
+22 49557457 22:49557457A-G A G
+22 49558617 22:49558617A-G A G
+22 49558793 22:49558793C-A C A
+22 49558857 22:49558857T-C T C
+22 49559242 22:49559242G-T G T
+22 49559351 22:49559351A-G A G
+22 49559373 22:49559373C-G C G
+22 49559598 22:49559598T-C T C
+22 49559685 22:49559685C-A C A
+22 49559888 22:49559888G-A G A
+22 49559930 22:49559930A-G A G
+22 49560073 22:49560073G-A G A
+22 49560278 22:49560278G-A G A
+22 49560487 22:49560487C-T C T
+22 49560497 22:49560497T-C T C
+22 49560581 22:49560581A-G A G
+22 49560711 22:49560711C-A C A
+22 49560980 22:49560980C-A C A
+22 49561085 22:49561085T-C T C
+22 49561287 22:49561287T-C T C
+22 49561521 22:49561521G-T G T
+22 49561528 22:49561528T-A T A
+22 49561545 22:49561545A-G A G
+22 49561598 22:49561598A-G A G
+22 49561619 22:49561619G-A G A
+22 49561871 22:49561871C-T C T
+22 49561876 22:49561876C-T C T
+22 49561994 22:49561994A-C A C
+22 49562314 22:49562314A-G A G
+22 49562666 22:49562666A-C A C
+22 49562775 22:49562775C-A C A
+22 49562828 22:49562828C-T C T
+22 49563192 22:49563192T-G T G
+22 49563403 22:49563403T-G T G
+22 49563952 22:49563952A-G A G
+22 49564082 22:49564082C-T C T
+22 49564275 22:49564275G-A G A
+22 49564291 22:49564291G-A G A
+22 49564317 22:49564317C-T C T
+22 49564323 22:49564323G-T G T
+22 49564488 22:49564488G-C G C
+22 49564850 22:49564850A-G A G
+22 49564986 22:49564986C-T C T
+22 49565037 22:49565037G-A G A
+22 49565144 22:49565144C-G C G
+22 49565207 22:49565207C-T C T
+22 49565377 22:49565377C-A C A
+22 49565404 22:49565404A-G A G
+22 49565494 22:49565494G-T G T
+22 49565526 22:49565526C-T C T
+22 49565593 22:49565593G-A G A
+22 49565704 22:49565704G-A G A
+22 49565778 22:49565778C-A C A
+22 49566158 22:49566158C-T C T
+22 49566186 22:49566186C-A C A
+22 49566426 22:49566426G-A G A
+22 49566507 22:49566507T-C T C
+22 49567032 22:49567032G-A G A
+22 49567330 22:49567330A-C A C
+22 49567353 22:49567353T-C T C
+22 49567438 22:49567438G-A G A
+22 49567545 22:49567545A-C A C
+22 49567580 22:49567580C-G C G
+22 49567745 22:49567745G-C G C
+22 49567761 22:49567761C-T C T
+22 49567774 22:49567774C-A C A
+22 49567775 22:49567775G-A G A
+22 49568201 22:49568201G-A G A
+22 49568230 22:49568230T-C T C
+22 49568309 22:49568309A-G A G
+22 49568420 22:49568420T-C T C
+22 49568462 22:49568462C-T C T
+22 49568490 22:49568490A-G A G
+22 49568652 22:49568652T-C T C
+22 49568708 22:49568708A-G A G
+22 49568753 22:49568753C-A C A
+22 49569013 22:49569013G-C G C
+22 49569242 22:49569242G-A G A
+22 49569291 22:49569291C-T C T
+22 49569536 22:49569536G-A G A
+22 49570231 22:49570231C-A C A
+22 49570455 22:49570455T-G T G
+22 49570542 22:49570542G-A G A
+22 49570587 22:49570587C-T C T
+22 49570808 22:49570808G-A G A
+22 49570899 22:49570899G-C G C
+22 49570911 22:49570911G-A G A
+22 49571163 22:49571163C-T C T
+22 49571205 22:49571205C-T C T
+22 49571223 22:49571223C-T C T
+22 49571362 22:49571362A-G A G
+22 49571530 22:49571530A-C A C
+22 49571596 22:49571596G-A G A
+22 49571743 22:49571743C-T C T
+22 49571749 22:49571749A-G A G
+22 49571784 22:49571784A-G A G
+22 49571936 22:49571936C-T C T
+22 49571997 22:49571997C-T C T
+22 49572023 22:49572023G-A G A
+22 49572068 22:49572068G-A G A
+22 49572165 22:49572165T-C T C
+22 49572450 22:49572450G-A G A
+22 49572674 22:49572674A-T A T
+22 49572751 22:49572751G-A G A
+22 49572757 22:49572757C-G C G
+22 49572777 22:49572777G-C G C
+22 49572845 22:49572845G-A G A
+22 49572923 22:49572923G-A G A
+22 49572940 22:49572940G-A G A
+22 49572978 22:49572978T-A T A
+22 49573010 22:49573010T-G T G
+22 49573016 22:49573016C-G C G
+22 49573190 22:49573190C-T C T
+22 49573359 22:49573359C-T C T
+22 49573394 22:49573394G-A G A
+22 49573400 22:49573400G-A G A
+22 49573505 22:49573505G-A G A
+22 49573628 22:49573628G-A G A
+22 49573657 22:49573657G-A G A
+22 49573874 22:49573874C-G C G
+22 49574088 22:49574088A-T A T
+22 49574417 22:49574417G-A G A
+22 49574509 22:49574509T-C T C
+22 49574543 22:49574543G-A G A
+22 49574579 22:49574579A-G A G
+22 49574626 22:49574626G-A G A
+22 49574674 22:49574674C-A C A
+22 49574728 22:49574728G-A G A
+22 49574758 22:49574758G-A G A
+22 49574828 22:49574828C-T C T
+22 49574991 22:49574991C-T C T
+22 49575024 22:49575024G-A G A
+22 49575067 22:49575067G-A G A
+22 49575076 22:49575076G-A G A
+22 49575173 22:49575173A-G A G
+22 49575187 22:49575187G-A G A
+22 49575260 22:49575260G-A G A
+22 49575263 22:49575263A-G A G
+22 49575291 22:49575291G-C G C
+22 49575401 22:49575401C-T C T
+22 49575441 22:49575441C-A C A
+22 49575503 22:49575503C-T C T
+22 49575594 22:49575594C-T C T
+22 49575617 22:49575617A-G A G
+22 49575758 22:49575758T-C T C
+22 49575789 22:49575789T-C T C
+22 49575942 22:49575942G-A G A
+22 49576222 22:49576222G-A G A
+22 49577020 22:49577020T-A T A
+22 49577306 22:49577306G-A G A
+22 49577420 22:49577420G-T G T
+22 49577622 22:49577622A-G A G
+22 49577790 22:49577790G-A G A
+22 49577871 22:49577871C-T C T
+22 49578082 22:49578082G-A G A
+22 49578285 22:49578285G-A G A
+22 49578653 22:49578653G-T G T
+22 49579215 22:49579215G-C G C
+22 49579266 22:49579266C-G C G
+22 49579609 22:49579609G-A G A
+22 49579969 22:49579969G-A G A
+22 49580069 22:49580069C-T C T
+22 49580450 22:49580450T-C T C
+22 49580648 22:49580648C-T C T
+22 49580892 22:49580892C-T C T
+22 49580899 22:49580899G-A G A
+22 49580910 22:49580910T-G T G
+22 49580950 22:49580950G-A G A
+22 49581063 22:49581063A-T A T
+22 49581436 22:49581436A-G A G
+22 49581463 22:49581463A-C A C
+22 49581514 22:49581514A-G A G
+22 49581637 22:49581637G-A G A
+22 49582143 22:49582143C-G C G
+22 49582377 22:49582377T-C T C
+22 49582574 22:49582574G-A G A
+22 49582703 22:49582703G-A G A
+22 49582753 22:49582753A-G A G
+22 49582875 22:49582875C-T C T
+22 49582929 22:49582929C-T C T
+22 49582975 22:49582975A-G A G
+22 49583019 22:49583019T-C T C
+22 49583035 22:49583035G-A G A
+22 49583651 22:49583651C-A C A
+22 49583668 22:49583668A-T A T
+22 49583769 22:49583769T-C T C
+22 49584023 22:49584023A-G A G
+22 49584408 22:49584408C-T C T
+22 49584602 22:49584602C-T C T
+22 49585044 22:49585044G-T G T
+22 49585153 22:49585153C-T C T
+22 49585158 22:49585158T-G T G
+22 49585721 22:49585721A-T A T
+22 49585934 22:49585934G-A G A
+22 49586272 22:49586272A-G A G
+22 49586441 22:49586441A-G A G
+22 49586723 22:49586723C-A C A
+22 49587065 22:49587065G-T G T
+22 49587140 22:49587140G-C G C
+22 49587368 22:49587368G-A G A
+22 49587438 22:49587438C-A C A
+22 49587626 22:49587626G-A G A
+22 49587757 22:49587757C-T C T
+22 49587987 22:49587987C-T C T
+22 49588197 22:49588197C-A C A
+22 49588827 22:49588827G-A G A
+22 49589007 22:49589007A-T A T
+22 49589086 22:49589086A-G A G
+22 49589104 22:49589104A-G A G
+22 49589114 22:49589114T-C T C
+22 49589163 22:49589163C-T C T
+22 49589243 22:49589243G-A G A
+22 49589911 22:49589911C-T C T
+22 49590406 22:49590406T-C T C
+22 49590442 22:49590442G-T G T
+22 49591115 22:49591115G-A G A
+22 49591189 22:49591189T-C T C
+22 49591443 22:49591443G-T G T
+22 49591499 22:49591499C-T C T
+22 49591609 22:49591609T-C T C
+22 49591748 22:49591748G-T G T
+22 49591786 22:49591786A-G A G
+22 49591829 22:49591829G-A G A
+22 49592595 22:49592595G-A G A
+22 49592809 22:49592809G-A G A
+22 49592848 22:49592848T-C T C
+22 49592884 22:49592884G-A G A
+22 49593076 22:49593076T-C T C
+22 49593425 22:49593425T-G T G
+22 49593506 22:49593506C-T C T
+22 49593552 22:49593552G-A G A
+22 49593564 22:49593564G-A G A
+22 49593761 22:49593761A-G A G
+22 49593847 22:49593847A-G A G
+22 49594014 22:49594014T-C T C
+22 49594143 22:49594143C-A C A
+22 49594239 22:49594239A-G A G
+22 49594252 22:49594252T-C T C
+22 49594256 22:49594256A-T A T
+22 49594356 22:49594356A-G A G
+22 49594432 22:49594432G-A G A
+22 49594462 22:49594462A-G A G
+22 49594518 22:49594518A-G A G
+22 49594557 22:49594557C-T C T
+22 49594656 22:49594656T-A T A
+22 49594671 22:49594671T-A T A
+22 49594779 22:49594779C-T C T
+22 49594796 22:49594796C-T C T
+22 49595020 22:49595020C-G C G
+22 49595260 22:49595260C-T C T
+22 49595350 22:49595350A-G A G
+22 49595439 22:49595439C-G C G
+22 49595560 22:49595560C-T C T
+22 49595756 22:49595756G-A G A
+22 49595814 22:49595814C-A C A
+22 49596000 22:49596000A-T A T
+22 49596421 22:49596421C-A C A
+22 49596835 22:49596835T-C T C
+22 49596937 22:49596937C-T C T
+22 49597147 22:49597147A-G A G
+22 49597206 22:49597206T-C T C
+22 49597244 22:49597244T-C T C
+22 49597361 22:49597361G-T G T
+22 49597362 22:49597362A-T A T
+22 49597467 22:49597467C-A C A
+22 49597647 22:49597647C-T C T
+22 49597724 22:49597724G-A G A
+22 49597752 22:49597752G-A G A
+22 49597865 22:49597865G-A G A
+22 49597935 22:49597935T-G T G
+22 49597957 22:49597957T-C T C
+22 49598050 22:49598050T-C T C
+22 49598171 22:49598171T-G T G
+22 49598319 22:49598319T-C T C
+22 49598468 22:49598468G-A G A
+22 49598479 22:49598479A-C A C
+22 49598611 22:49598611G-C G C
+22 49598826 22:49598826C-A C A
+22 49598945 22:49598945G-A G A
+22 49598973 22:49598973A-C A C
+22 49599135 22:49599135G-A G A
+22 49599160 22:49599160A-G A G
+22 49599212 22:49599212G-A G A
+22 49599221 22:49599221C-G C G
+22 49599403 22:49599403A-G A G
+22 49599953 22:49599953G-T G T
+22 49600124 22:49600124G-A G A
+22 49600869 22:49600869C-T C T
+22 49600883 22:49600883C-T C T
+22 49601285 22:49601285A-G A G
+22 49601397 22:49601397G-A G A
+22 49601410 22:49601410T-C T C
+22 49601489 22:49601489A-G A G
+22 49602052 22:49602052G-A G A
+22 49602414 22:49602414A-C A C
+22 49603517 22:49603517T-C T C
+22 49603667 22:49603667A-G A G
+22 49603693 22:49603693C-T C T
+22 49603973 22:49603973C-A C A
+22 49604094 22:49604094C-T C T
+22 49604190 22:49604190C-A C A
+22 49605030 22:49605030T-G T G
+22 49605276 22:49605276A-T A T
+22 49605296 22:49605296G-C G C
+22 49605298 22:49605298C-A C A
+22 49605518 22:49605518C-T C T
+22 49605562 22:49605562T-C T C
+22 49606248 22:49606248C-T C T
+22 49606312 22:49606312C-T C T
+22 49606334 22:49606334T-C T C
+22 49607081 22:49607081C-G C G
+22 49607480 22:49607480C-T C T
+22 49608168 22:49608168A-T A T
+22 49608873 22:49608873G-C G C
+22 49609121 22:49609121G-A G A
+22 49609546 22:49609546C-T C T
+22 49609686 22:49609686G-A G A
+22 49609689 22:49609689C-A C A
+22 49609820 22:49609820C-T C T
+22 49609900 22:49609900T-C T C
+22 49610157 22:49610157G-A G A
+22 49610259 22:49610259T-C T C
+22 49610444 22:49610444G-A G A
+22 49611103 22:49611103T-G T G
+22 49611272 22:49611272T-C T C
+22 49611552 22:49611552G-T G T
+22 49612593 22:49612593G-C G C
+22 49612732 22:49612732T-C T C
+22 49612799 22:49612799T-C T C
+22 49613009 22:49613009G-A G A
+22 49613140 22:49613140A-C A C
+22 49613357 22:49613357G-A G A
+22 49613390 22:49613390C-T C T
+22 49613592 22:49613592T-C T C
+22 49613664 22:49613664G-A G A
+22 49613856 22:49613856C-G C G
+22 49613906 22:49613906C-T C T
+22 49614330 22:49614330G-A G A
+22 49614349 22:49614349A-G A G
+22 49614983 22:49614983T-C T C
+22 49615673 22:49615673C-T C T
+22 49615674 22:49615674A-G A G
+22 49615762 22:49615762A-T A T
+22 49616360 22:49616360G-T G T
+22 49616438 22:49616438T-C T C
+22 49616449 22:49616449G-C G C
+22 49616535 22:49616535G-A G A
+22 49616543 22:49616543G-C G C
+22 49616566 22:49616566A-C A C
+22 49616743 22:49616743C-T C T
+22 49617004 22:49617004T-A T A
+22 49617107 22:49617107T-C T C
+22 49617128 22:49617128A-G A G
+22 49617362 22:49617362G-A G A
+22 49617514 22:49617514A-T A T
+22 49617547 22:49617547C-T C T
+22 49617564 22:49617564G-A G A
+22 49617589 22:49617589T-C T C
+22 49618268 22:49618268G-A G A
+22 49618548 22:49618548A-C A C
+22 49618678 22:49618678C-T C T
+22 49618819 22:49618819G-A G A
+22 49618911 22:49618911C-T C T
+22 49619296 22:49619296C-T C T
+22 49619389 22:49619389C-A C A
+22 49619450 22:49619450C-T C T
+22 49619666 22:49619666G-T G T
+22 49620150 22:49620150T-G T G
+22 49620465 22:49620465A-G A G
+22 49620817 22:49620817C-G C G
+22 49620916 22:49620916C-A C A
+22 49620927 22:49620927A-T A T
+22 49622126 22:49622126G-A G A
+22 49622381 22:49622381G-A G A
+22 49622572 22:49622572C-T C T
+22 49622668 22:49622668C-G C G
+22 49622690 22:49622690C-G C G
+22 49622783 22:49622783A-G A G
+22 49623181 22:49623181T-C T C
+22 49623408 22:49623408G-A G A
+22 49623801 22:49623801A-G A G
+22 49623934 22:49623934C-G C G
+22 49623957 22:49623957T-C T C
+22 49624159 22:49624159T-C T C
+22 49624589 22:49624589C-G C G
+22 49625070 22:49625070T-C T C
+22 49625210 22:49625210G-A G A
+22 49625286 22:49625286C-T C T
+22 49625384 22:49625384T-C T C
+22 49625501 22:49625501T-A T A
+22 49625538 22:49625538C-T C T
+22 49626384 22:49626384C-G C G
+22 49626396 22:49626396C-T C T
+22 49627046 22:49627046T-C T C
+22 49627125 22:49627125C-T C T
+22 49627409 22:49627409A-G A G
+22 49627461 22:49627461A-G A G
+22 49627671 22:49627671T-C T C
+22 49627708 22:49627708C-G C G
+22 49627740 22:49627740T-G T G
+22 49627770 22:49627770A-C A C
+22 49627850 22:49627850C-G C G
+22 49627928 22:49627928C-T C T
+22 49627979 22:49627979C-A C A
+22 49627999 22:49627999A-T A T
+22 49628592 22:49628592A-T A T
+22 49628760 22:49628760A-G A G
+22 49628853 22:49628853T-C T C
+22 49628952 22:49628952C-T C T
+22 49629190 22:49629190G-C G C
+22 49629229 22:49629229C-T C T
+22 49629890 22:49629890G-A G A
+22 49630263 22:49630263A-C A C
+22 49630496 22:49630496T-C T C
+22 49631217 22:49631217G-A G A
+22 49631261 22:49631261G-A G A
+22 49631503 22:49631503T-C T C
+22 49631577 22:49631577A-G A G
+22 49631597 22:49631597C-A C A
+22 49631625 22:49631625T-C T C
+22 49631660 22:49631660A-G A G
+22 49632208 22:49632208C-T C T
+22 49632209 22:49632209A-G A G
+22 49632465 22:49632465G-A G A
+22 49632577 22:49632577G-C G C
+22 49633263 22:49633263G-T G T
+22 49633266 22:49633266G-A G A
+22 49633767 22:49633767G-A G A
+22 49633769 22:49633769G-A G A
+22 49633785 22:49633785C-T C T
+22 49633896 22:49633896G-A G A
+22 49634073 22:49634073G-T G T
+22 49634468 22:49634468C-T C T
+22 49634914 22:49634914G-A G A
+22 49634963 22:49634963T-C T C
+22 49635241 22:49635241A-T A T
+22 49635321 22:49635321C-A C A
+22 49635338 22:49635338G-A G A
+22 49635430 22:49635430G-A G A
+22 49635527 22:49635527A-G A G
+22 49635619 22:49635619A-G A G
+22 49635673 22:49635673A-G A G
+22 49636023 22:49636023T-C T C
+22 49636042 22:49636042A-G A G
+22 49636063 22:49636063G-A G A
+22 49636141 22:49636141G-C G C
+22 49636168 22:49636168T-C T C
+22 49636259 22:49636259C-T C T
+22 49636272 22:49636272G-A G A
+22 49636279 22:49636279C-T C T
+22 49636451 22:49636451A-G A G
+22 49636549 22:49636549A-G A G
+22 49636560 22:49636560A-G A G
+22 49636680 22:49636680C-T C T
+22 49636681 22:49636681A-G A G
+22 49636753 22:49636753C-T C T
+22 49636869 22:49636869C-T C T
+22 49636900 22:49636900C-T C T
+22 49636935 22:49636935C-T C T
+22 49637233 22:49637233T-A T A
+22 49637264 22:49637264C-T C T
+22 49637289 22:49637289G-A G A
+22 49637692 22:49637692G-T G T
+22 49637741 22:49637741T-C T C
+22 49637770 22:49637770T-C T C
+22 49637958 22:49637958T-G T G
+22 49639143 22:49639143G-A G A
+22 49639584 22:49639584A-G A G
+22 49640299 22:49640299G-A G A
+22 49640564 22:49640564C-A C A
+22 49640648 22:49640648C-T C T
+22 49640785 22:49640785T-C T C
+22 49641285 22:49641285T-G T G
+22 49641581 22:49641581C-T C T
+22 49641997 22:49641997A-G A G
+22 49642115 22:49642115C-T C T
+22 49642470 22:49642470C-T C T
+22 49643258 22:49643258G-C G C
+22 49643618 22:49643618C-A C A
+22 49644340 22:49644340A-G A G
+22 49644775 22:49644775T-C T C
+22 49645898 22:49645898C-T C T
+22 49646062 22:49646062C-T C T
+22 49646311 22:49646311G-A G A
+22 49646564 22:49646564T-C T C
+22 49646700 22:49646700G-A G A
+22 49647564 22:49647564T-C T C
+22 49647566 22:49647566C-T C T
+22 49647886 22:49647886G-A G A
+22 49648056 22:49648056T-C T C
+22 49648687 22:49648687C-T C T
+22 49648694 22:49648694A-G A G
+22 49648936 22:49648936C-T C T
+22 49649302 22:49649302C-T C T
+22 49649344 22:49649344T-C T C
+22 49649518 22:49649518T-C T C
+22 49649564 22:49649564G-A G A
+22 49649724 22:49649724C-T C T
+22 49649814 22:49649814G-A G A
+22 49649952 22:49649952A-G A G
+22 49650157 22:49650157T-C T C
+22 49650418 22:49650418T-G T G
+22 49650813 22:49650813G-A G A
+22 49650863 22:49650863C-T C T
+22 49651102 22:49651102G-C G C
+22 49651186 22:49651186A-T A T
+22 49651210 22:49651210A-T A T
+22 49651708 22:49651708G-A G A
+22 49651777 22:49651777C-T C T
+22 49651937 22:49651937A-C A C
+22 49652142 22:49652142G-C G C
+22 49652528 22:49652528G-A G A
+22 49652568 22:49652568T-C T C
+22 49652806 22:49652806A-G A G
+22 49653029 22:49653029A-G A G
+22 49653408 22:49653408T-C T C
+22 49653521 22:49653521T-G T G
+22 49653524 22:49653524C-T C T
+22 49654149 22:49654149C-G C G
+22 49654459 22:49654459C-T C T
+22 49654728 22:49654728C-G C G
+22 49656282 22:49656282A-G A G
+22 49656334 22:49656334A-G A G
+22 49656585 22:49656585T-C T C
+22 49656816 22:49656816A-G A G
+22 49656963 22:49656963G-C G C
+22 49658998 22:49658998C-A C A
+22 49659547 22:49659547A-G A G
+22 49659566 22:49659566C-T C T
+22 49659604 22:49659604G-A G A
+22 49660004 22:49660004C-T C T
+22 49660039 22:49660039G-A G A
+22 49661137 22:49661137T-C T C
+22 49662404 22:49662404G-A G A
+22 49662549 22:49662549G-T G T
+22 49662857 22:49662857G-T G T
+22 49662987 22:49662987A-T A T
+22 49663540 22:49663540T-C T C
+22 49664105 22:49664105G-A G A
+22 49665013 22:49665013T-C T C
+22 49665089 22:49665089C-T C T
+22 49665570 22:49665570C-A C A
+22 49665841 22:49665841C-T C T
+22 49666078 22:49666078T-C T C
+22 49666369 22:49666369A-G A G
+22 49666590 22:49666590C-T C T
+22 49666651 22:49666651G-A G A
+22 49666841 22:49666841A-G A G
+22 49667912 22:49667912C-T C T
+22 49667985 22:49667985G-A G A
+22 49668137 22:49668137T-G T G
+22 49668188 22:49668188T-C T C
+22 49668499 22:49668499A-T A T
+22 49668569 22:49668569C-T C T
+22 49669296 22:49669296G-A G A
+22 49669486 22:49669486T-G T G
+22 49669743 22:49669743C-T C T
+22 49669885 22:49669885G-A G A
+22 49670134 22:49670134A-G A G
+22 49670191 22:49670191C-T C T
+22 49670467 22:49670467A-T A T
+22 49670476 22:49670476G-A G A
+22 49670620 22:49670620G-T G T
+22 49671359 22:49671359A-T A T
+22 49671484 22:49671484C-T C T
+22 49671544 22:49671544T-C T C
+22 49671612 22:49671612G-C G C
+22 49671776 22:49671776G-T G T
+22 49671812 22:49671812T-C T C
+22 49671985 22:49671985G-T G T
+22 49672912 22:49672912A-G A G
+22 49672948 22:49672948C-A C A
+22 49672952 22:49672952A-G A G
+22 49673234 22:49673234G-A G A
+22 49673236 22:49673236C-T C T
+22 49673341 22:49673341G-A G A
+22 49673452 22:49673452G-A G A
+22 49673547 22:49673547A-G A G
+22 49673735 22:49673735G-A G A
+22 49674140 22:49674140A-G A G
+22 49674144 22:49674144T-C T C
+22 49674511 22:49674511G-A G A
+22 49674549 22:49674549G-A G A
+22 49675045 22:49675045A-G A G
+22 49675616 22:49675616A-G A G
+22 49675668 22:49675668A-G A G
+22 49675958 22:49675958T-A T A
+22 49676056 22:49676056G-C G C
+22 49676430 22:49676430G-A G A
+22 49676609 22:49676609C-T C T
+22 49676835 22:49676835A-G A G
+22 49677464 22:49677464G-A G A
+22 49677646 22:49677646C-T C T
+22 49677726 22:49677726G-T G T
+22 49677816 22:49677816G-A G A
+22 49678086 22:49678086C-T C T
+22 49678172 22:49678172C-A C A
+22 49678713 22:49678713C-T C T
+22 49678782 22:49678782A-T A T
+22 49678845 22:49678845T-C T C
+22 49678925 22:49678925T-A T A
+22 49678986 22:49678986A-G A G
+22 49679043 22:49679043C-A C A
+22 49679359 22:49679359G-A G A
+22 49679988 22:49679988A-G A G
+22 49680263 22:49680263A-G A G
+22 49680316 22:49680316T-C T C
+22 49680328 22:49680328T-G T G
+22 49680395 22:49680395T-G T G
+22 49680401 22:49680401A-G A G
+22 49680429 22:49680429A-G A G
+22 49680493 22:49680493T-C T C
+22 49680541 22:49680541C-G C G
+22 49680775 22:49680775T-C T C
+22 49680781 22:49680781C-A C A
+22 49681231 22:49681231T-C T C
+22 49681255 22:49681255G-C G C
+22 49681350 22:49681350G-A G A
+22 49681524 22:49681524G-A G A
+22 49682075 22:49682075G-A G A
+22 49682077 22:49682077G-A G A
+22 49682352 22:49682352C-T C T
+22 49682373 22:49682373C-T C T
+22 49682375 22:49682375A-T A T
+22 49682385 22:49682385A-G A G
+22 49682491 22:49682491C-T C T
+22 49682538 22:49682538C-A C A
+22 49682546 22:49682546A-G A G
+22 49682556 22:49682556T-A T A
+22 49682882 22:49682882C-G C G
+22 49682956 22:49682956G-A G A
+22 49683048 22:49683048T-C T C
+22 49683116 22:49683116G-A G A
+22 49683258 22:49683258A-G A G
+22 49683307 22:49683307C-G C G
+22 49683352 22:49683352C-T C T
+22 49683658 22:49683658C-T C T
+22 49683687 22:49683687G-C G C
+22 49683773 22:49683773C-A C A
+22 49683905 22:49683905C-T C T
+22 49684110 22:49684110G-A G A
+22 49684220 22:49684220T-G T G
+22 49684418 22:49684418G-A G A
+22 49684466 22:49684466A-G A G
+22 49684580 22:49684580G-A G A
+22 49684687 22:49684687A-G A G
+22 49684733 22:49684733T-G T G
+22 49684807 22:49684807C-T C T
+22 49684829 22:49684829A-G A G
+22 49684878 22:49684878T-A T A
+22 49684938 22:49684938T-C T C
+22 49684995 22:49684995C-T C T
+22 49685119 22:49685119T-C T C
+22 49685143 22:49685143G-A G A
+22 49685150 22:49685150G-A G A
+22 49685240 22:49685240T-C T C
+22 49685400 22:49685400A-C A C
+22 49685425 22:49685425T-A T A
+22 49685455 22:49685455T-C T C
+22 49685728 22:49685728T-C T C
+22 49685800 22:49685800T-C T C
+22 49685818 22:49685818C-T C T
+22 49686236 22:49686236A-G A G
+22 49686283 22:49686283C-T C T
+22 49686438 22:49686438A-G A G
+22 49686549 22:49686549G-A G A
+22 49686659 22:49686659G-A G A
+22 49686873 22:49686873G-A G A
+22 49687042 22:49687042C-T C T
+22 49687136 22:49687136T-C T C
+22 49687152 22:49687152T-C T C
+22 49687210 22:49687210C-T C T
+22 49687242 22:49687242T-C T C
+22 49687307 22:49687307A-G A G
+22 49687397 22:49687397T-C T C
+22 49687413 22:49687413G-A G A
+22 49687486 22:49687486G-A G A
+22 49687592 22:49687592T-C T C
+22 49687593 22:49687593G-A G A
+22 49687602 22:49687602A-G A G
+22 49687643 22:49687643A-G A G
+22 49687671 22:49687671T-C T C
+22 49687701 22:49687701T-C T C
+22 49687723 22:49687723T-C T C
+22 49687842 22:49687842C-T C T
+22 49687988 22:49687988A-G A G
+22 49688048 22:49688048T-C T C
+22 49688151 22:49688151C-T C T
+22 49688184 22:49688184G-A G A
+22 49688275 22:49688275C-T C T
+22 49688284 22:49688284G-C G C
+22 49688345 22:49688345A-C A C
+22 49688404 22:49688404G-C G C
+22 49688440 22:49688440C-T C T
+22 49688675 22:49688675T-A T A
+22 49688677 22:49688677G-T G T
+22 49689312 22:49689312C-T C T
+22 49689443 22:49689443C-G C G
+22 49689619 22:49689619A-T A T
+22 49689963 22:49689963A-G A G
+22 49690620 22:49690620T-C T C
+22 49690989 22:49690989G-A G A
+22 49691274 22:49691274C-T C T
+22 49691300 22:49691300T-C T C
+22 49692169 22:49692169G-C G C
+22 49692593 22:49692593G-T G T
+22 49692737 22:49692737G-A G A
+22 49693556 22:49693556C-T C T
+22 49693636 22:49693636A-G A G
+22 49694429 22:49694429A-G A G
+22 49694717 22:49694717G-C G C
+22 49694943 22:49694943A-C A C
+22 49695267 22:49695267A-G A G
+22 49695708 22:49695708G-A G A
+22 49695771 22:49695771A-G A G
+22 49696009 22:49696009T-C T C
+22 49696067 22:49696067T-C T C
+22 49696080 22:49696080A-G A G
+22 49696330 22:49696330A-G A G
+22 49696675 22:49696675T-C T C
+22 49696751 22:49696751T-C T C
+22 49696834 22:49696834G-C G C
+22 49696965 22:49696965T-G T G
+22 49697538 22:49697538C-T C T
+22 49697541 22:49697541T-C T C
+22 49697671 22:49697671G-A G A
+22 49697848 22:49697848G-T G T
+22 49698133 22:49698133T-C T C
+22 49698196 22:49698196C-T C T
+22 49698410 22:49698410C-G C G
+22 49698426 22:49698426T-C T C
+22 49698578 22:49698578C-T C T
+22 49698598 22:49698598C-A C A
+22 49698613 22:49698613G-A G A
+22 49698868 22:49698868C-T C T
+22 49698938 22:49698938T-C T C
+22 49698995 22:49698995T-G T G
+22 49698997 22:49698997T-C T C
+22 49699009 22:49699009G-A G A
+22 49699372 22:49699372A-G A G
+22 49700015 22:49700015A-G A G
+22 49700127 22:49700127C-T C T
+22 49700272 22:49700272G-T G T
+22 49700297 22:49700297A-G A G
+22 49700348 22:49700348A-G A G
+22 49700449 22:49700449G-T G T
+22 49700550 22:49700550A-G A G
+22 49700618 22:49700618T-C T C
+22 49700660 22:49700660T-A T A
+22 49700714 22:49700714C-T C T
+22 49701036 22:49701036A-G A G
+22 49701176 22:49701176A-G A G
+22 49702017 22:49702017G-A G A
+22 49702239 22:49702239G-A G A
+22 49702453 22:49702453C-T C T
+22 49702857 22:49702857G-A G A
+22 49702905 22:49702905A-G A G
+22 49703943 22:49703943G-C G C
+22 49704180 22:49704180A-G A G
+22 49704193 22:49704193A-G A G
+22 49704228 22:49704228A-C A C
+22 49704623 22:49704623T-G T G
+22 49704638 22:49704638A-G A G
+22 49704647 22:49704647T-C T C
+22 49704907 22:49704907A-G A G
+22 49705010 22:49705010T-C T C
+22 49705242 22:49705242T-A T A
+22 49705288 22:49705288A-G A G
+22 49705478 22:49705478T-G T G
+22 49706282 22:49706282G-T G T
+22 49706288 22:49706288A-T A T
+22 49706433 22:49706433C-T C T
+22 49706577 22:49706577T-C T C
+22 49707202 22:49707202A-G A G
+22 49707437 22:49707437A-C A C
+22 49707614 22:49707614C-T C T
+22 49708224 22:49708224T-C T C
+22 49708492 22:49708492C-T C T
+22 49708613 22:49708613T-G T G
+22 49708767 22:49708767C-T C T
+22 49710325 22:49710325G-A G A
+22 49711778 22:49711778T-C T C
+22 49712192 22:49712192C-T C T
+22 49712872 22:49712872T-C T C
+22 49713599 22:49713599C-T C T
+22 49713632 22:49713632G-A G A
+22 49713835 22:49713835A-G A G
+22 49714517 22:49714517G-T G T
+22 49714669 22:49714669G-T G T
+22 49714781 22:49714781G-A G A
+22 49715029 22:49715029T-G T G
+22 49715138 22:49715138G-A G A
+22 49715710 22:49715710G-A G A
+22 49716647 22:49716647T-C T C
+22 49716777 22:49716777G-A G A
+22 49716886 22:49716886C-T C T
+22 49717223 22:49717223A-T A T
+22 49717345 22:49717345A-T A T
+22 49718033 22:49718033A-G A G
+22 49718065 22:49718065C-T C T
+22 49718320 22:49718320G-A G A
+22 49718364 22:49718364C-T C T
+22 49718403 22:49718403T-C T C
+22 49718429 22:49718429G-A G A
+22 49718612 22:49718612G-A G A
+22 49718762 22:49718762T-C T C
+22 49718796 22:49718796A-G A G
+22 49718822 22:49718822C-T C T
+22 49718856 22:49718856C-T C T
+22 49719264 22:49719264C-A C A
+22 49719427 22:49719427A-C A C
+22 49719500 22:49719500A-G A G
+22 49719636 22:49719636G-A G A
+22 49720926 22:49720926G-A G A
+22 49721286 22:49721286T-C T C
+22 49721371 22:49721371G-A G A
+22 49721405 22:49721405C-T C T
+22 49721418 22:49721418C-A C A
+22 49721556 22:49721556T-C T C
+22 49721638 22:49721638C-T C T
+22 49721805 22:49721805G-A G A
+22 49721811 22:49721811G-A G A
+22 49722595 22:49722595C-T C T
+22 49722925 22:49722925G-T G T
+22 49723370 22:49723370A-G A G
+22 49723435 22:49723435A-G A G
+22 49723455 22:49723455C-T C T
+22 49723501 22:49723501G-A G A
+22 49723557 22:49723557G-A G A
+22 49723716 22:49723716C-G C G
+22 49723985 22:49723985A-G A G
+22 49724235 22:49724235A-G A G
+22 49725276 22:49725276C-T C T
+22 49725719 22:49725719T-C T C
+22 49725751 22:49725751G-A G A
+22 49725880 22:49725880C-T C T
+22 49726027 22:49726027G-T G T
+22 49726068 22:49726068G-A G A
+22 49726366 22:49726366C-T C T
+22 49726806 22:49726806A-C A C
+22 49726986 22:49726986C-T C T
+22 49727716 22:49727716C-G C G
+22 49727753 22:49727753C-T C T
+22 49728054 22:49728054G-A G A
+22 49728790 22:49728790A-C A C
+22 49728917 22:49728917C-G C G
+22 49729175 22:49729175C-G C G
+22 49729390 22:49729390G-A G A
+22 49729558 22:49729558A-C A C
+22 49729888 22:49729888T-C T C
+22 49730075 22:49730075A-C A C
+22 49730117 22:49730117G-T G T
+22 49730328 22:49730328C-T C T
+22 49730547 22:49730547C-T C T
+22 49730993 22:49730993G-A G A
+22 49731086 22:49731086G-A G A
+22 49731198 22:49731198T-C T C
+22 49731297 22:49731297C-T C T
+22 49731737 22:49731737G-C G C
+22 49732022 22:49732022G-A G A
+22 49732031 22:49732031C-T C T
+22 49732073 22:49732073A-G A G
+22 49732186 22:49732186A-C A C
+22 49732206 22:49732206A-G A G
+22 49732481 22:49732481G-A G A
+22 49733196 22:49733196G-A G A
+22 49733217 22:49733217A-G A G
+22 49733239 22:49733239C-G C G
+22 49733327 22:49733327C-A C A
+22 49733658 22:49733658G-A G A
+22 49734014 22:49734014G-A G A
+22 49734173 22:49734173A-T A T
+22 49734775 22:49734775A-C A C
+22 49735770 22:49735770C-T C T
+22 49736160 22:49736160T-C T C
+22 49736199 22:49736199C-A C A
+22 49736955 22:49736955A-G A G
+22 49737024 22:49737024C-A C A
+22 49737067 22:49737067A-G A G
+22 49737212 22:49737212T-G T G
+22 49737239 22:49737239G-A G A
+22 49737299 22:49737299A-G A G
+22 49737593 22:49737593G-T G T
+22 49737958 22:49737958C-T C T
+22 49738358 22:49738358C-A C A
+22 49738473 22:49738473C-T C T
+22 49739360 22:49739360C-A C A
+22 49739747 22:49739747T-C T C
+22 49740116 22:49740116G-A G A
+22 49740368 22:49740368T-C T C
+22 49740384 22:49740384G-A G A
+22 49740456 22:49740456G-A G A
+22 49740513 22:49740513C-T C T
+22 49740630 22:49740630G-A G A
+22 49740659 22:49740659C-T C T
+22 49740746 22:49740746G-A G A
+22 49740954 22:49740954T-G T G
+22 49741209 22:49741209G-A G A
+22 49741210 22:49741210A-G A G
+22 49741437 22:49741437C-T C T
+22 49741833 22:49741833C-A C A
+22 49741960 22:49741960T-C T C
+22 49742097 22:49742097T-G T G
+22 49742224 22:49742224T-C T C
+22 49742422 22:49742422T-C T C
+22 49742434 22:49742434G-A G A
+22 49742522 22:49742522G-A G A
+22 49742889 22:49742889C-T C T
+22 49742994 22:49742994T-C T C
+22 49743271 22:49743271A-G A G
+22 49743306 22:49743306C-T C T
+22 49743605 22:49743605C-T C T
+22 49743613 22:49743613A-C A C
+22 49743627 22:49743627A-G A G
+22 49744077 22:49744077G-A G A
+22 49744382 22:49744382C-G C G
+22 49744568 22:49744568C-G C G
+22 49744569 22:49744569C-T C T
+22 49745224 22:49745224G-A G A
+22 49745327 22:49745327C-T C T
+22 49745371 22:49745371G-A G A
+22 49745407 22:49745407T-C T C
+22 49745605 22:49745605G-A G A
+22 49746185 22:49746185T-G T G
+22 49746231 22:49746231C-A C A
+22 49746514 22:49746514G-C G C
+22 49746788 22:49746788G-A G A
+22 49746915 22:49746915T-C T C
+22 49747228 22:49747228C-A C A
+22 49747430 22:49747430T-C T C
+22 49747459 22:49747459G-A G A
+22 49747643 22:49747643C-T C T
+22 49747722 22:49747722C-T C T
+22 49747805 22:49747805T-C T C
+22 49747815 22:49747815T-C T C
+22 49748617 22:49748617G-A G A
+22 49748669 22:49748669G-A G A
+22 49748690 22:49748690C-T C T
+22 49749332 22:49749332G-C G C
+22 49749466 22:49749466G-A G A
+22 49749712 22:49749712G-A G A
+22 49749990 22:49749990T-C T C
+22 49750348 22:49750348C-T C T
+22 49750528 22:49750528G-C G C
+22 49751201 22:49751201C-T C T
+22 49751323 22:49751323G-A G A
+22 49751390 22:49751390T-C T C
+22 49751418 22:49751418T-G T G
+22 49751512 22:49751512T-G T G
+22 49751851 22:49751851G-A G A
+22 49751902 22:49751902G-A G A
+22 49751908 22:49751908A-C A C
+22 49753114 22:49753114A-G A G
+22 49753204 22:49753204A-G A G
+22 49753316 22:49753316G-C G C
+22 49754109 22:49754109G-A G A
+22 49754182 22:49754182A-G A G
+22 49754251 22:49754251G-A G A
+22 49754325 22:49754325T-C T C
+22 49754422 22:49754422G-A G A
+22 49754602 22:49754602C-T C T
+22 49755093 22:49755093G-A G A
+22 49755141 22:49755141C-G C G
+22 49755477 22:49755477C-G C G
+22 49755544 22:49755544A-G A G
+22 49755812 22:49755812T-G T G
+22 49755856 22:49755856T-C T C
+22 49757255 22:49757255T-G T G
+22 49757783 22:49757783G-A G A
+22 49757950 22:49757950T-C T C
+22 49758334 22:49758334C-A C A
+22 49758581 22:49758581T-C T C
+22 49758970 22:49758970A-G A G
+22 49759102 22:49759102G-C G C
+22 49759122 22:49759122G-A G A
+22 49759260 22:49759260T-C T C
+22 49759337 22:49759337T-A T A
+22 49759466 22:49759466C-A C A
+22 49759641 22:49759641A-G A G
+22 49759734 22:49759734T-C T C
+22 49759847 22:49759847G-A G A
+22 49760052 22:49760052C-T C T
+22 49760068 22:49760068G-A G A
+22 49760208 22:49760208T-C T C
+22 49760223 22:49760223C-T C T
+22 49760226 22:49760226T-C T C
+22 49760419 22:49760419G-A G A
+22 49760631 22:49760631C-G C G
+22 49761264 22:49761264C-T C T
+22 49762030 22:49762030G-A G A
+22 49762158 22:49762158C-T C T
+22 49762389 22:49762389G-T G T
+22 49763076 22:49763076C-T C T
+22 49763477 22:49763477C-T C T
+22 49764048 22:49764048G-A G A
+22 49764063 22:49764063C-T C T
+22 49764257 22:49764257G-A G A
+22 49764369 22:49764369G-A G A
+22 49764455 22:49764455A-T A T
+22 49764543 22:49764543C-A C A
+22 49764879 22:49764879G-A G A
+22 49764893 22:49764893C-T C T
+22 49765146 22:49765146A-G A G
+22 49765214 22:49765214C-T C T
+22 49765587 22:49765587G-A G A
+22 49765780 22:49765780T-A T A
+22 49766069 22:49766069A-G A G
+22 49766266 22:49766266G-A G A
+22 49766276 22:49766276C-T C T
+22 49766368 22:49766368C-G C G
+22 49766454 22:49766454A-G A G
+22 49766469 22:49766469G-A G A
+22 49766486 22:49766486A-C A C
+22 49766593 22:49766593C-T C T
+22 49766597 22:49766597A-G A G
+22 49766927 22:49766927G-A G A
+22 49767024 22:49767024A-G A G
+22 49767063 22:49767063A-G A G
+22 49767325 22:49767325A-G A G
+22 49767383 22:49767383T-G T G
+22 49767410 22:49767410G-T G T
+22 49767499 22:49767499C-A C A
+22 49767505 22:49767505A-G A G
+22 49767507 22:49767507G-A G A
+22 49767516 22:49767516G-C G C
+22 49767567 22:49767567C-T C T
+22 49767656 22:49767656A-G A G
+22 49767659 22:49767659C-T C T
+22 49767684 22:49767684G-A G A
+22 49767779 22:49767779C-T C T
+22 49767800 22:49767800G-C G C
+22 49767900 22:49767900G-A G A
+22 49768165 22:49768165G-A G A
+22 49768506 22:49768506T-C T C
+22 49768542 22:49768542C-G C G
+22 49768677 22:49768677T-G T G
+22 49768930 22:49768930A-G A G
+22 49768947 22:49768947G-A G A
+22 49769057 22:49769057A-G A G
+22 49769729 22:49769729A-G A G
+22 49769753 22:49769753A-G A G
+22 49769873 22:49769873T-C T C
+22 49770061 22:49770061C-T C T
+22 49771060 22:49771060T-C T C
+22 49771402 22:49771402G-T G T
+22 49771466 22:49771466T-A T A
+22 49771592 22:49771592A-G A G
+22 49771595 22:49771595G-A G A
+22 49771690 22:49771690G-C G C
+22 49771692 22:49771692A-C A C
+22 49771754 22:49771754A-G A G
+22 49771815 22:49771815C-T C T
+22 49771820 22:49771820C-T C T
+22 49772096 22:49772096T-C T C
+22 49772768 22:49772768A-G A G
+22 49772829 22:49772829C-G C G
+22 49773145 22:49773145A-G A G
+22 49773414 22:49773414G-A G A
+22 49773504 22:49773504C-A C A
+22 49773625 22:49773625C-T C T
+22 49774599 22:49774599G-A G A
+22 49774634 22:49774634C-T C T
+22 49775151 22:49775151G-A G A
+22 49775182 22:49775182C-T C T
+22 49776115 22:49776115G-C G C
+22 49776121 22:49776121G-A G A
+22 49776181 22:49776181A-C A C
+22 49776190 22:49776190A-G A G
+22 49776193 22:49776193G-A G A
+22 49776200 22:49776200C-A C A
+22 49776856 22:49776856A-G A G
+22 49776874 22:49776874G-A G A
+22 49776908 22:49776908C-T C T
+22 49777002 22:49777002T-C T C
+22 49777104 22:49777104T-C T C
+22 49777195 22:49777195G-A G A
+22 49778214 22:49778214C-T C T
+22 49778574 22:49778574T-C T C
+22 49778924 22:49778924T-C T C
+22 49779694 22:49779694T-C T C
+22 49782700 22:49782700C-G C G
+22 49783021 22:49783021G-A G A
+22 49783150 22:49783150G-C G C
+22 49783510 22:49783510G-T G T
+22 49783907 22:49783907G-A G A
+22 49784152 22:49784152G-A G A
+22 49784290 22:49784290A-T A T
+22 49784354 22:49784354G-C G C
+22 49784591 22:49784591A-G A G
+22 49784667 22:49784667T-C T C
+22 49784848 22:49784848C-T C T
+22 49784995 22:49784995T-C T C
+22 49785111 22:49785111C-A C A
+22 49785232 22:49785232G-A G A
+22 49785340 22:49785340C-T C T
+22 49785633 22:49785633G-A G A
+22 49785645 22:49785645T-C T C
+22 49785676 22:49785676G-A G A
+22 49785703 22:49785703C-A C A
+22 49785729 22:49785729T-C T C
+22 49785767 22:49785767C-T C T
+22 49785913 22:49785913A-C A C
+22 49785946 22:49785946G-A G A
+22 49786016 22:49786016A-G A G
+22 49786251 22:49786251C-T C T
+22 49786493 22:49786493C-A C A
+22 49786587 22:49786587C-A C A
+22 49786627 22:49786627C-T C T
+22 49786687 22:49786687C-T C T
+22 49786826 22:49786826C-T C T
+22 49786886 22:49786886A-G A G
+22 49786909 22:49786909A-G A G
+22 49786986 22:49786986A-T A T
+22 49786994 22:49786994A-G A G
+22 49787078 22:49787078C-T C T
+22 49787186 22:49787186A-G A G
+22 49787514 22:49787514A-C A C
+22 49787926 22:49787926G-A G A
+22 49787965 22:49787965G-A G A
+22 49788075 22:49788075G-A G A
+22 49788148 22:49788148G-A G A
+22 49788151 22:49788151A-G A G
+22 49788186 22:49788186G-A G A
+22 49788201 22:49788201A-C A C
+22 49788363 22:49788363C-T C T
+22 49788559 22:49788559T-C T C
+22 49788698 22:49788698A-G A G
+22 49788790 22:49788790C-T C T
+22 49788916 22:49788916C-T C T
+22 49788937 22:49788937C-T C T
+22 49788938 22:49788938A-G A G
+22 49789018 22:49789018C-T C T
+22 49789488 22:49789488C-T C T
+22 49789705 22:49789705C-A C A
+22 49789812 22:49789812C-A C A
+22 49789827 22:49789827C-T C T
+22 49790154 22:49790154T-C T C
+22 49790217 22:49790217T-C T C
+22 49790228 22:49790228C-T C T
+22 49790288 22:49790288A-G A G
+22 49790291 22:49790291C-T C T
+22 49790418 22:49790418A-G A G
+22 49790537 22:49790537C-T C T
+22 49790597 22:49790597C-T C T
+22 49790669 22:49790669T-C T C
+22 49790673 22:49790673T-G T G
+22 49790713 22:49790713G-A G A
+22 49790744 22:49790744G-A G A
+22 49791263 22:49791263G-A G A
+22 49791515 22:49791515C-A C A
+22 49791777 22:49791777G-T G T
+22 49791798 22:49791798A-G A G
+22 49791837 22:49791837G-A G A
+22 49791853 22:49791853C-A C A
+22 49792091 22:49792091C-T C T
+22 49792958 22:49792958G-A G A
+22 49793009 22:49793009C-A C A
+22 49793217 22:49793217G-A G A
+22 49793940 22:49793940G-A G A
+22 49794052 22:49794052A-G A G
+22 49794342 22:49794342A-G A G
+22 49794409 22:49794409C-A C A
+22 49794551 22:49794551G-A G A
+22 49795239 22:49795239T-A T A
+22 49795368 22:49795368T-G T G
+22 49795384 22:49795384A-G A G
+22 49795466 22:49795466C-T C T
+22 49795501 22:49795501C-T C T
+22 49795510 22:49795510C-T C T
+22 49795527 22:49795527C-T C T
+22 49795672 22:49795672C-T C T
+22 49795676 22:49795676T-G T G
+22 49795779 22:49795779C-T C T
+22 49795877 22:49795877G-A G A
+22 49795912 22:49795912A-G A G
+22 49795916 22:49795916C-T C T
+22 49795967 22:49795967T-C T C
+22 49796014 22:49796014G-A G A
+22 49796081 22:49796081G-A G A
+22 49796103 22:49796103G-A G A
+22 49796117 22:49796117A-G A G
+22 49796144 22:49796144G-A G A
+22 49796179 22:49796179G-A G A
+22 49796277 22:49796277T-C T C
+22 49796392 22:49796392A-G A G
+22 49796416 22:49796416G-T G T
+22 49796784 22:49796784T-C T C
+22 49796800 22:49796800C-T C T
+22 49796921 22:49796921G-C G C
+22 49796922 22:49796922C-A C A
+22 49797064 22:49797064A-C A C
+22 49797186 22:49797186G-C G C
+22 49797301 22:49797301G-A G A
+22 49797417 22:49797417A-G A G
+22 49797531 22:49797531G-A G A
+22 49797614 22:49797614C-G C G
+22 49797810 22:49797810G-A G A
+22 49797905 22:49797905A-G A G
+22 49797914 22:49797914G-A G A
+22 49798011 22:49798011A-G A G
+22 49798730 22:49798730G-T G T
+22 49798768 22:49798768C-G C G
+22 49798819 22:49798819A-G A G
+22 49798823 22:49798823C-T C T
+22 49799030 22:49799030A-G A G
+22 49799265 22:49799265T-G T G
+22 49799398 22:49799398A-G A G
+22 49799421 22:49799421A-G A G
+22 49799427 22:49799427G-A G A
+22 49799840 22:49799840G-T G T
+22 49800082 22:49800082C-T C T
+22 49800107 22:49800107G-A G A
+22 49800137 22:49800137C-T C T
+22 49800204 22:49800204A-G A G
+22 49800265 22:49800265T-C T C
+22 49800326 22:49800326A-C A C
+22 49800376 22:49800376G-T G T
+22 49800444 22:49800444C-T C T
+22 49800445 22:49800445A-G A G
+22 49800467 22:49800467G-A G A
+22 49800746 22:49800746G-A G A
+22 49800943 22:49800943C-A C A
+22 49801398 22:49801398T-C T C
+22 49801770 22:49801770C-A C A
+22 49801924 22:49801924C-T C T
+22 49802450 22:49802450A-G A G
+22 49802594 22:49802594A-C A C
+22 49802712 22:49802712C-T C T
+22 49802858 22:49802858G-A G A
+22 49803008 22:49803008C-A C A
+22 49803108 22:49803108G-A G A
+22 49803179 22:49803179C-G C G
+22 49803451 22:49803451C-G C G
+22 49803587 22:49803587T-G T G
+22 49804092 22:49804092A-G A G
+22 49804272 22:49804272C-T C T
+22 49805177 22:49805177C-G C G
+22 49805180 22:49805180G-A G A
+22 49805790 22:49805790G-T G T
+22 49805951 22:49805951C-T C T
+22 49806600 22:49806600T-G T G
+22 49806710 22:49806710C-T C T
+22 49806863 22:49806863G-A G A
+22 49806906 22:49806906G-A G A
+22 49807447 22:49807447T-A T A
+22 49807496 22:49807496G-A G A
+22 49807696 22:49807696T-C T C
+22 49807775 22:49807775G-A G A
+22 49807799 22:49807799G-A G A
+22 49807823 22:49807823G-A G A
+22 49807961 22:49807961A-G A G
+22 49808567 22:49808567A-G A G
+22 49808694 22:49808694C-T C T
+22 49809003 22:49809003C-A C A
+22 49809312 22:49809312T-A T A
+22 49809329 22:49809329G-A G A
+22 49809465 22:49809465T-G T G
+22 49809716 22:49809716A-G A G
+22 49810641 22:49810641C-T C T
+22 49810658 22:49810658T-C T C
+22 49810730 22:49810730A-C A C
+22 49810843 22:49810843C-G C G
+22 49811147 22:49811147T-A T A
+22 49811154 22:49811154C-T C T
+22 49811261 22:49811261G-A G A
+22 49811519 22:49811519G-A G A
+22 49811984 22:49811984A-C A C
+22 49812076 22:49812076C-T C T
+22 49812148 22:49812148C-T C T
+22 49812223 22:49812223C-A C A
+22 49812480 22:49812480T-C T C
+22 49812531 22:49812531G-A G A
+22 49812875 22:49812875C-T C T
+22 49813128 22:49813128G-A G A
+22 49813232 22:49813232A-G A G
+22 49813343 22:49813343A-T A T
+22 49813435 22:49813435A-G A G
+22 49813502 22:49813502T-C T C
+22 49813536 22:49813536T-C T C
+22 49813661 22:49813661A-G A G
+22 49813668 22:49813668C-A C A
+22 49815327 22:49815327T-C T C
+22 49815404 22:49815404C-T C T
+22 49816364 22:49816364G-A G A
+22 49816591 22:49816591T-C T C
+22 49816632 22:49816632G-T G T
+22 49816655 22:49816655A-G A G
+22 49816671 22:49816671G-C G C
+22 49816696 22:49816696C-T C T
+22 49817174 22:49817174A-G A G
+22 49817182 22:49817182T-A T A
+22 49817197 22:49817197G-A G A
+22 49817262 22:49817262T-C T C
+22 49817400 22:49817400T-G T G
+22 49818106 22:49818106G-A G A
+22 49818119 22:49818119A-G A G
+22 49818305 22:49818305T-C T C
+22 49818315 22:49818315T-G T G
+22 49818332 22:49818332T-C T C
+22 49818553 22:49818553A-T A T
+22 49818935 22:49818935T-C T C
+22 49819671 22:49819671G-A G A
+22 49820729 22:49820729G-A G A
+22 49821158 22:49821158C-T C T
+22 49821232 22:49821232G-A G A
+22 49821328 22:49821328G-A G A
+22 49821345 22:49821345C-A C A
+22 49821389 22:49821389G-A G A
+22 49821415 22:49821415A-G A G
+22 49821783 22:49821783T-A T A
+22 49821969 22:49821969C-G C G
+22 49822381 22:49822381C-T C T
+22 49822444 22:49822444G-A G A
+22 49822720 22:49822720T-C T C
+22 49823082 22:49823082C-T C T
+22 49823224 22:49823224G-A G A
+22 49823710 22:49823710C-T C T
+22 49823940 22:49823940C-T C T
+22 49823957 22:49823957C-T C T
+22 49824020 22:49824020C-G C G
+22 49824157 22:49824157T-C T C
+22 49824316 22:49824316C-T C T
+22 49824381 22:49824381C-A C A
+22 49825062 22:49825062G-C G C
+22 49825403 22:49825403T-C T C
+22 49825733 22:49825733C-T C T
+22 49825918 22:49825918A-G A G
+22 49825947 22:49825947T-C T C
+22 49826024 22:49826024T-C T C
+22 49826381 22:49826381T-C T C
+22 49826465 22:49826465T-C T C
+22 49826679 22:49826679T-C T C
+22 49826939 22:49826939C-G C G
+22 49827180 22:49827180G-A G A
+22 49827239 22:49827239C-T C T
+22 49827385 22:49827385C-T C T
+22 49827426 22:49827426A-G A G
+22 49827478 22:49827478G-C G C
+22 49827532 22:49827532G-C G C
+22 49827880 22:49827880T-C T C
+22 49828171 22:49828171C-G C G
+22 49828360 22:49828360G-A G A
+22 49828986 22:49828986C-G C G
+22 49829118 22:49829118A-G A G
+22 49829196 22:49829196G-C G C
+22 49829247 22:49829247C-G C G
+22 49829279 22:49829279A-G A G
+22 49829327 22:49829327A-G A G
+22 49829345 22:49829345G-A G A
+22 49829356 22:49829356A-C A C
+22 49829517 22:49829517T-A T A
+22 49829653 22:49829653G-A G A
+22 49829664 22:49829664C-T C T
+22 49829716 22:49829716C-T C T
+22 49829786 22:49829786C-G C G
+22 49830717 22:49830717A-G A G
+22 49830851 22:49830851T-C T C
+22 49831389 22:49831389C-T C T
+22 49831428 22:49831428G-A G A
+22 49831833 22:49831833C-T C T
+22 49832000 22:49832000C-A C A
+22 49832070 22:49832070T-C T C
+22 49832131 22:49832131G-T G T
+22 49832430 22:49832430T-C T C
+22 49832581 22:49832581T-A T A
+22 49832693 22:49832693C-T C T
+22 49832723 22:49832723A-T A T
+22 49832931 22:49832931C-T C T
+22 49833160 22:49833160G-A G A
+22 49833680 22:49833680G-A G A
+22 49833712 22:49833712G-A G A
+22 49833722 22:49833722C-A C A
+22 49833743 22:49833743A-G A G
+22 49833806 22:49833806C-G C G
+22 49833903 22:49833903A-C A C
+22 49834026 22:49834026T-G T G
+22 49834568 22:49834568C-G C G
+22 49834624 22:49834624A-G A G
+22 49834747 22:49834747C-T C T
+22 49834931 22:49834931G-C G C
+22 49835673 22:49835673G-A G A
+22 49835928 22:49835928C-T C T
+22 49836053 22:49836053T-C T C
+22 49836322 22:49836322T-C T C
+22 49836765 22:49836765C-T C T
+22 49837653 22:49837653C-T C T
+22 49837658 22:49837658G-C G C
+22 49838664 22:49838664G-A G A
+22 49838934 22:49838934A-G A G
+22 49840474 22:49840474T-C T C
+22 49841412 22:49841412C-A C A
+22 49841479 22:49841479A-G A G
+22 49841730 22:49841730T-C T C
+22 49841960 22:49841960A-G A G
+22 49842398 22:49842398G-A G A
+22 49843235 22:49843235C-G C G
+22 49845286 22:49845286A-G A G
+22 49847239 22:49847239C-T C T
+22 49847501 22:49847501G-T G T
+22 49847719 22:49847719G-A G A
+22 49849407 22:49849407G-A G A
+22 49851019 22:49851019G-T G T
+22 49851212 22:49851212G-A G A
+22 49853782 22:49853782C-G C G
+22 49854245 22:49854245G-A G A
+22 49854246 22:49854246C-A C A
+22 49855402 22:49855402C-T C T
+22 49855674 22:49855674A-G A G
+22 49856559 22:49856559T-C T C
+22 49856836 22:49856836A-G A G
+22 49858135 22:49858135T-C T C
+22 49858580 22:49858580A-G A G
+22 49858590 22:49858590G-A G A
+22 49858742 22:49858742T-C T C
+22 49859387 22:49859387G-T G T
+22 49861033 22:49861033T-C T C
+22 49861684 22:49861684C-T C T
+22 49862903 22:49862903G-T G T
+22 49862965 22:49862965T-A T A
+22 49863849 22:49863849A-G A G
+22 49865882 22:49865882C-T C T
+22 49867931 22:49867931G-A G A
+22 49868168 22:49868168G-A G A
+22 49869081 22:49869081G-A G A
+22 49869412 22:49869412C-G C G
+22 49869864 22:49869864G-C G C
+22 49872255 22:49872255G-T G T
+22 49873206 22:49873206G-A G A
+22 49873588 22:49873588G-A G A
+22 49874704 22:49874704C-G C G
+22 49874843 22:49874843T-C T C
+22 49875736 22:49875736C-T C T
+22 49875893 22:49875893A-G A G
+22 49875956 22:49875956C-G C G
+22 49876600 22:49876600C-T C T
+22 49876931 22:49876931T-C T C
+22 49877353 22:49877353C-T C T
+22 49877875 22:49877875C-T C T
+22 49877947 22:49877947G-A G A
+22 49878293 22:49878293T-C T C
+22 49878455 22:49878455C-T C T
+22 49878460 22:49878460G-A G A
+22 49878613 22:49878613T-G T G
+22 49878882 22:49878882C-T C T
+22 49879016 22:49879016A-G A G
+22 49879715 22:49879715A-G A G
+22 49880165 22:49880165C-T C T
+22 49880465 22:49880465C-T C T
+22 49880882 22:49880882G-A G A
+22 49881273 22:49881273C-T C T
+22 49881321 22:49881321G-A G A
+22 49881634 22:49881634G-A G A
+22 49882851 22:49882851T-G T G
+22 49883458 22:49883458T-C T C
+22 49884597 22:49884597C-A C A
+22 49885178 22:49885178C-G C G
+22 49885376 22:49885376A-C A C
+22 49885398 22:49885398C-T C T
+22 49885531 22:49885531C-G C G
+22 49885571 22:49885571T-C T C
+22 49885801 22:49885801T-C T C
+22 49885836 22:49885836G-A G A
+22 49885856 22:49885856C-G C G
+22 49885897 22:49885897A-G A G
+22 49886273 22:49886273T-G T G
+22 49887069 22:49887069G-A G A
+22 49887177 22:49887177T-C T C
+22 49887393 22:49887393C-T C T
+22 49887506 22:49887506A-G A G
+22 49887840 22:49887840G-A G A
+22 49887903 22:49887903G-A G A
+22 49887912 22:49887912T-C T C
+22 49887913 22:49887913G-A G A
+22 49888356 22:49888356G-C G C
+22 49888580 22:49888580G-A G A
+22 49888671 22:49888671G-A G A
+22 49888767 22:49888767A-G A G
+22 49888775 22:49888775G-A G A
+22 49888837 22:49888837T-C T C
+22 49888959 22:49888959G-C G C
+22 49889086 22:49889086C-T C T
+22 49889113 22:49889113G-A G A
+22 49889189 22:49889189G-A G A
+22 49889570 22:49889570A-T A T
+22 49889638 22:49889638C-G C G
+22 49889954 22:49889954G-A G A
+22 49890246 22:49890246T-C T C
+22 49891180 22:49891180G-C G C
+22 49892168 22:49892168G-T G T
+22 49892316 22:49892316G-A G A
+22 49892317 22:49892317C-T C T
+22 49893011 22:49893011C-G C G
+22 49893188 22:49893188G-A G A
+22 49893409 22:49893409C-A C A
+22 49894415 22:49894415T-C T C
+22 49894498 22:49894498A-G A G
+22 49894530 22:49894530T-C T C
+22 49896904 22:49896904A-C A C
+22 49897464 22:49897464A-G A G
+22 49897982 22:49897982C-A C A
+22 49899139 22:49899139G-A G A
+22 49899986 22:49899986C-T C T
+22 49900014 22:49900014G-A G A
+22 49900158 22:49900158C-T C T
+22 49900225 22:49900225A-G A G
+22 49900276 22:49900276T-C T C
+22 49900837 22:49900837C-T C T
+22 49900951 22:49900951T-C T C
+22 49900966 22:49900966G-A G A
+22 49901056 22:49901056C-A C A
+22 49901159 22:49901159G-A G A
+22 49901411 22:49901411G-T G T
+22 49901565 22:49901565T-C T C
+22 49901566 22:49901566G-A G A
+22 49901608 22:49901608C-G C G
+22 49901635 22:49901635C-T C T
+22 49901660 22:49901660C-T C T
+22 49901755 22:49901755C-T C T
+22 49901846 22:49901846C-T C T
+22 49901955 22:49901955C-G C G
+22 49902112 22:49902112G-A G A
+22 49902299 22:49902299T-C T C
+22 49902969 22:49902969G-T G T
+22 49902980 22:49902980T-C T C
+22 49903918 22:49903918T-A T A
+22 49904978 22:49904978C-A C A
+22 49905013 22:49905013G-C G C
+22 49905109 22:49905109G-A G A
+22 49906162 22:49906162T-C T C
+22 49906661 22:49906661G-A G A
+22 49906749 22:49906749C-T C T
+22 49906850 22:49906850G-C G C
+22 49907281 22:49907281T-C T C
+22 49907424 22:49907424G-T G T
+22 49907446 22:49907446G-A G A
+22 49907744 22:49907744A-G A G
+22 49908368 22:49908368C-T C T
+22 49908437 22:49908437C-T C T
+22 49908506 22:49908506C-T C T
+22 49908598 22:49908598G-A G A
+22 49908804 22:49908804A-G A G
+22 49908818 22:49908818T-G T G
+22 49909149 22:49909149T-C T C
+22 49909385 22:49909385C-G C G
+22 49909511 22:49909511C-T C T
+22 49909658 22:49909658T-C T C
+22 49909707 22:49909707C-T C T
+22 49909891 22:49909891G-A G A
+22 49909903 22:49909903T-C T C
+22 49910431 22:49910431A-G A G
+22 49910517 22:49910517C-G C G
+22 49911677 22:49911677C-T C T
+22 49911808 22:49911808G-C G C
+22 49911908 22:49911908C-T C T
+22 49912000 22:49912000G-T G T
+22 49912379 22:49912379C-T C T
+22 49912382 22:49912382C-A C A
+22 49912406 22:49912406A-G A G
+22 49912826 22:49912826T-C T C
+22 49913022 22:49913022C-T C T
+22 49913096 22:49913096C-T C T
+22 49913238 22:49913238T-C T C
+22 49913434 22:49913434G-A G A
+22 49913983 22:49913983C-T C T
+22 49914179 22:49914179T-C T C
+22 49914776 22:49914776C-T C T
+22 49915815 22:49915815C-T C T
+22 49915932 22:49915932G-A G A
+22 49916410 22:49916410C-G C G
+22 49916533 22:49916533G-A G A
+22 49918160 22:49918160T-A T A
+22 49918784 22:49918784G-A G A
+22 49918817 22:49918817G-C G C
+22 49919182 22:49919182C-G C G
+22 49920855 22:49920855G-A G A
+22 49921446 22:49921446C-T C T
+22 49921564 22:49921564G-T G T
+22 49921716 22:49921716C-G C G
+22 49921946 22:49921946C-G C G
+22 49922226 22:49922226G-A G A
+22 49922430 22:49922430G-A G A
+22 49923260 22:49923260C-T C T
+22 49924528 22:49924528G-A G A
+22 49924530 22:49924530C-G C G
+22 49924659 22:49924659C-T C T
+22 49924929 22:49924929C-T C T
+22 49925268 22:49925268G-A G A
+22 49925408 22:49925408G-A G A
+22 49925602 22:49925602T-A T A
+22 49925841 22:49925841A-C A C
+22 49925863 22:49925863C-A C A
+22 49926047 22:49926047T-C T C
+22 49926061 22:49926061T-C T C
+22 49926273 22:49926273A-C A C
+22 49926366 22:49926366C-G C G
+22 49926943 22:49926943G-A G A
+22 49926967 22:49926967T-C T C
+22 49927174 22:49927174C-T C T
+22 49927332 22:49927332C-T C T
+22 49927337 22:49927337C-G C G
+22 49927498 22:49927498T-C T C
+22 49927650 22:49927650G-C G C
+22 49928018 22:49928018T-C T C
+22 49928073 22:49928073A-G A G
+22 49928522 22:49928522A-G A G
+22 49928589 22:49928589T-G T G
+22 49928846 22:49928846T-G T G
+22 49929361 22:49929361T-G T G
+22 49930286 22:49930286A-G A G
+22 49930455 22:49930455T-C T C
+22 49930716 22:49930716T-C T C
+22 49931136 22:49931136T-C T C
+22 49932391 22:49932391A-G A G
+22 49932580 22:49932580G-A G A
+22 49932715 22:49932715A-C A C
+22 49932767 22:49932767T-C T C
+22 49932960 22:49932960C-T C T
+22 49933050 22:49933050T-A T A
+22 49933292 22:49933292A-G A G
+22 49937184 22:49937184G-A G A
+22 49937236 22:49937236C-T C T
+22 49937283 22:49937283G-A G A
+22 49937381 22:49937381C-T C T
+22 49939234 22:49939234A-G A G
+22 49939309 22:49939309C-T C T
+22 49939322 22:49939322C-G C G
+22 49940158 22:49940158C-G C G
+22 49940256 22:49940256G-A G A
+22 49940792 22:49940792C-T C T
+22 49941223 22:49941223G-C G C
+22 49941982 22:49941982G-A G A
+22 49942573 22:49942573A-C A C
+22 49942598 22:49942598G-T G T
+22 49942778 22:49942778A-G A G
+22 49942820 22:49942820C-T C T
+22 49943151 22:49943151C-T C T
+22 49943496 22:49943496A-C A C
+22 49944064 22:49944064C-A C A
+22 49944457 22:49944457G-A G A
+22 49944519 22:49944519G-A G A
+22 49944735 22:49944735A-G A G
+22 49944751 22:49944751T-G T G
+22 49944957 22:49944957T-C T C
+22 49944991 22:49944991C-T C T
+22 49945041 22:49945041C-T C T
+22 49946223 22:49946223C-T C T
+22 49946814 22:49946814G-C G C
+22 49946905 22:49946905G-A G A
+22 49947156 22:49947156T-C T C
+22 49947575 22:49947575C-T C T
+22 49947789 22:49947789A-G A G
+22 49947868 22:49947868G-C G C
+22 49948085 22:49948085A-G A G
+22 49948250 22:49948250C-T C T
+22 49948322 22:49948322G-A G A
+22 49948734 22:49948734C-T C T
+22 49948776 22:49948776G-A G A
+22 49949112 22:49949112A-G A G
+22 49949189 22:49949189C-T C T
+22 49949190 22:49949190A-G A G
+22 49949306 22:49949306A-C A C
+22 49949604 22:49949604T-C T C
+22 49949651 22:49949651G-A G A
+22 49949895 22:49949895T-C T C
+22 49949899 22:49949899T-C T C
+22 49950054 22:49950054A-G A G
+22 49950208 22:49950208G-A G A
+22 49950669 22:49950669G-A G A
+22 49950847 22:49950847A-G A G
+22 49951071 22:49951071G-A G A
+22 49951134 22:49951134A-G A G
+22 49951174 22:49951174T-C T C
+22 49951418 22:49951418C-G C G
+22 49951985 22:49951985A-G A G
+22 49952572 22:49952572G-C G C
+22 49952649 22:49952649T-C T C
+22 49953172 22:49953172C-T C T
+22 49954414 22:49954414G-A G A
+22 49955490 22:49955490T-C T C
+22 49956008 22:49956008T-G T G
+22 49956315 22:49956315T-C T C
+22 49956438 22:49956438A-G A G
+22 49956807 22:49956807G-A G A
+22 49957499 22:49957499T-C T C
+22 49957671 22:49957671G-A G A
+22 49958491 22:49958491C-T C T
+22 49959052 22:49959052A-C A C
+22 49959344 22:49959344C-T C T
+22 49959458 22:49959458G-A G A
+22 49960229 22:49960229C-T C T
+22 49960391 22:49960391G-A G A
+22 49961178 22:49961178A-G A G
+22 49961279 22:49961279G-A G A
+22 49961348 22:49961348A-G A G
+22 49961514 22:49961514A-G A G
+22 49961551 22:49961551C-T C T
+22 49961684 22:49961684A-G A G
+22 49962044 22:49962044G-C G C
+22 49962185 22:49962185T-C T C
+22 49962307 22:49962307A-G A G
+22 49962314 22:49962314G-A G A
+22 49962414 22:49962414A-C A C
+22 49962454 22:49962454G-T G T
+22 49962605 22:49962605T-G T G
+22 49962635 22:49962635C-T C T
+22 49962890 22:49962890A-G A G
+22 49962954 22:49962954A-G A G
+22 49963113 22:49963113A-G A G
+22 49963613 22:49963613G-A G A
+22 49963663 22:49963663G-A G A
+22 49963817 22:49963817A-G A G
+22 49963927 22:49963927C-A C A
+22 49964621 22:49964621A-G A G
+22 49965048 22:49965048T-C T C
+22 49966319 22:49966319T-C T C
+22 49967101 22:49967101G-A G A
+22 49967868 22:49967868C-T C T
+22 49967915 22:49967915C-T C T
+22 49968274 22:49968274G-A G A
+22 49968720 22:49968720G-A G A
+22 49968953 22:49968953G-A G A
+22 49969091 22:49969091C-T C T
+22 49969153 22:49969153C-T C T
+22 49970060 22:49970060A-C A C
+22 49970798 22:49970798G-C G C
+22 49971225 22:49971225A-G A G
+22 49971949 22:49971949A-G A G
+22 49973471 22:49973471C-T C T
+22 49973688 22:49973688C-T C T
+22 49973691 22:49973691C-G C G
+22 49974241 22:49974241A-C A C
+22 49974610 22:49974610G-A G A
+22 49976055 22:49976055A-G A G
+22 49977198 22:49977198C-T C T
+22 49977557 22:49977557A-C A C
+22 49978200 22:49978200G-C G C
+22 49978453 22:49978453T-C T C
+22 49978502 22:49978502C-T C T
+22 49978575 22:49978575T-C T C
+22 49979088 22:49979088T-G T G
+22 49979231 22:49979231C-G C G
+22 49980759 22:49980759A-G A G
+22 49980781 22:49980781C-T C T
+22 49981087 22:49981087G-A G A
+22 49981171 22:49981171G-A G A
+22 49984688 22:49984688C-A C A
+22 49984967 22:49984967C-T C T
+22 49987796 22:49987796G-A G A
+22 49988574 22:49988574T-G T G
+22 49988815 22:49988815C-T C T
+22 49989106 22:49989106G-A G A
+22 49990248 22:49990248G-A G A
+22 49990470 22:49990470A-G A G
+22 49990493 22:49990493C-T C T
+22 49990495 22:49990495G-A G A
+22 49991377 22:49991377G-A G A
+22 49991555 22:49991555C-T C T
+22 49994094 22:49994094G-A G A
+22 49994152 22:49994152C-T C T
+22 49994292 22:49994292A-G A G
+22 49994721 22:49994721G-C G C
+22 49996056 22:49996056T-C T C
+22 49996657 22:49996657T-C T C
+22 49997158 22:49997158C-T C T
+22 49997614 22:49997614G-C G C
+22 49997706 22:49997706A-G A G
+22 49998118 22:49998118A-G A G
+22 49999960 22:49999960T-G T G
+22 50000277 22:50000277C-T C T
+22 50001291 22:50001291G-A G A
+22 50003232 22:50003232A-C A C
+22 50003305 22:50003305G-C G C
+22 50003453 22:50003453G-A G A
+22 50004829 22:50004829G-A G A
+22 50005464 22:50005464G-A G A
+22 50006078 22:50006078C-T C T
+22 50007307 22:50007307C-T C T
+22 50007672 22:50007672G-A G A
+22 50007874 22:50007874G-A G A
+22 50008366 22:50008366T-C T C
+22 50008369 22:50008369T-C T C
+22 50008572 22:50008572G-A G A
+22 50008969 22:50008969A-G A G
+22 50008973 22:50008973G-A G A
+22 50009098 22:50009098G-A G A
+22 50009300 22:50009300T-C T C
+22 50010039 22:50010039G-A G A
+22 50010073 22:50010073C-T C T
+22 50010570 22:50010570T-C T C
+22 50010812 22:50010812C-G C G
+22 50010891 22:50010891G-A G A
+22 50011001 22:50011001C-G C G
+22 50011750 22:50011750C-T C T
+22 50012419 22:50012419T-G T G
+22 50013402 22:50013402G-T G T
+22 50013573 22:50013573A-G A G
+22 50014002 22:50014002A-G A G
+22 50014369 22:50014369T-A T A
+22 50015145 22:50015145A-G A G
+22 50015327 22:50015327C-T C T
+22 50017234 22:50017234A-G A G
+22 50017556 22:50017556G-A G A
+22 50018045 22:50018045G-A G A
+22 50018069 22:50018069A-G A G
+22 50018311 22:50018311C-G C G
+22 50018497 22:50018497G-A G A
+22 50018639 22:50018639G-A G A
+22 50018651 22:50018651C-T C T
+22 50018654 22:50018654T-A T A
+22 50018961 22:50018961A-G A G
+22 50019498 22:50019498G-C G C
+22 50019813 22:50019813C-T C T
+22 50019981 22:50019981C-G C G
+22 50021757 22:50021757C-T C T
+22 50021903 22:50021903A-G A G
+22 50021973 22:50021973G-A G A
+22 50022252 22:50022252G-A G A
+22 50024801 22:50024801G-A G A
+22 50025205 22:50025205T-C T C
+22 50025265 22:50025265T-C T C
+22 50025546 22:50025546G-A G A
+22 50025938 22:50025938A-G A G
+22 50026314 22:50026314G-A G A
+22 50027210 22:50027210C-T C T
+22 50027456 22:50027456A-G A G
+22 50028887 22:50028887T-C T C
+22 50029640 22:50029640A-G A G
+22 50030008 22:50030008G-A G A
+22 50030325 22:50030325T-C T C
+22 50030672 22:50030672G-A G A
+22 50031521 22:50031521T-C T C
+22 50032872 22:50032872G-A G A
+22 50034477 22:50034477C-T C T
+22 50034517 22:50034517G-A G A
+22 50034538 22:50034538G-C G C
+22 50034703 22:50034703T-C T C
+22 50034987 22:50034987G-A G A
+22 50036669 22:50036669G-A G A
+22 50036820 22:50036820G-A G A
+22 50036897 22:50036897A-C A C
+22 50036900 22:50036900T-C T C
+22 50036916 22:50036916T-G T G
+22 50037066 22:50037066G-A G A
+22 50037178 22:50037178G-A G A
+22 50037549 22:50037549A-G A G
+22 50037994 22:50037994G-A G A
+22 50040310 22:50040310G-A G A
+22 50040601 22:50040601G-A G A
+22 50041127 22:50041127G-A G A
+22 50041602 22:50041602A-G A G
+22 50041793 22:50041793G-A G A
+22 50041972 22:50041972T-C T C
+22 50042383 22:50042383T-C T C
+22 50042856 22:50042856C-T C T
+22 50043459 22:50043459G-A G A
+22 50043557 22:50043557C-T C T
+22 50043738 22:50043738C-G C G
+22 50043750 22:50043750G-A G A
+22 50043795 22:50043795A-G A G
+22 50044546 22:50044546A-G A G
+22 50044640 22:50044640G-C G C
+22 50044824 22:50044824C-T C T
+22 50046652 22:50046652T-C T C
+22 50047141 22:50047141T-C T C
+22 50047469 22:50047469C-A C A
+22 50047678 22:50047678C-G C G
+22 50048083 22:50048083T-C T C
+22 50048849 22:50048849T-G T G
+22 50049109 22:50049109G-A G A
+22 50049422 22:50049422G-C G C
+22 50050385 22:50050385A-G A G
+22 50050468 22:50050468G-A G A
+22 50050847 22:50050847G-A G A
+22 50050859 22:50050859G-A G A
+22 50051007 22:50051007A-G A G
+22 50051548 22:50051548T-G T G
+22 50051989 22:50051989A-G A G
+22 50052175 22:50052175A-G A G
+22 50052607 22:50052607C-A C A
+22 50052921 22:50052921G-A G A
+22 50053596 22:50053596C-T C T
+22 50053871 22:50053871G-A G A
+22 50054390 22:50054390C-A C A
+22 50054651 22:50054651G-A G A
+22 50055154 22:50055154T-C T C
+22 50057116 22:50057116A-G A G
+22 50057211 22:50057211C-T C T
+22 50057488 22:50057488G-A G A
+22 50058346 22:50058346G-C G C
+22 50058413 22:50058413G-A G A
+22 50058561 22:50058561T-C T C
+22 50058582 22:50058582C-T C T
+22 50058635 22:50058635G-A G A
+22 50058715 22:50058715T-C T C
+22 50058753 22:50058753A-G A G
+22 50058922 22:50058922A-G A G
+22 50059540 22:50059540A-G A G
+22 50059706 22:50059706G-A G A
+22 50059816 22:50059816A-G A G
+22 50060123 22:50060123C-G C G
+22 50060158 22:50060158A-G A G
+22 50060185 22:50060185G-A G A
+22 50060930 22:50060930A-G A G
+22 50061132 22:50061132C-T C T
+22 50061914 22:50061914A-G A G
+22 50062014 22:50062014G-A G A
+22 50062101 22:50062101G-A G A
+22 50062130 22:50062130T-C T C
+22 50062133 22:50062133G-C G C
+22 50062427 22:50062427G-A G A
+22 50062996 22:50062996T-C T C
+22 50063804 22:50063804T-G T G
+22 50063951 22:50063951G-A G A
+22 50063980 22:50063980A-C A C
+22 50064181 22:50064181G-A G A
+22 50064279 22:50064279A-G A G
+22 50066750 22:50066750C-T C T
+22 50067805 22:50067805G-A G A
+22 50067994 22:50067994T-G T G
+22 50069539 22:50069539T-G T G
+22 50069833 22:50069833G-A G A
+22 50070944 22:50070944T-C T C
+22 50070991 22:50070991G-A G A
+22 50071019 22:50071019A-G A G
+22 50071037 22:50071037G-A G A
+22 50071198 22:50071198T-C T C
+22 50071551 22:50071551A-T A T
+22 50071574 22:50071574A-G A G
+22 50072035 22:50072035G-C G C
+22 50072123 22:50072123T-C T C
+22 50072369 22:50072369A-G A G
+22 50072710 22:50072710T-C T C
+22 50072755 22:50072755C-T C T
+22 50073254 22:50073254A-G A G
+22 50073343 22:50073343A-G A G
+22 50073591 22:50073591T-A T A
+22 50074483 22:50074483A-G A G
+22 50074719 22:50074719T-A T A
+22 50075035 22:50075035A-C A C
+22 50076099 22:50076099G-A G A
+22 50076296 22:50076296G-C G C
+22 50076477 22:50076477C-G C G
+22 50076687 22:50076687C-T C T
+22 50076709 22:50076709C-T C T
+22 50076787 22:50076787C-T C T
+22 50076990 22:50076990T-C T C
+22 50077205 22:50077205T-C T C
+22 50077262 22:50077262T-A T A
+22 50077362 22:50077362A-C A C
+22 50077531 22:50077531G-A G A
+22 50079133 22:50079133T-G T G
+22 50079434 22:50079434G-A G A
+22 50079563 22:50079563A-G A G
+22 50079641 22:50079641G-T G T
+22 50080164 22:50080164G-A G A
+22 50080267 22:50080267C-T C T
+22 50081845 22:50081845C-G C G
+22 50081854 22:50081854A-T A T
+22 50082127 22:50082127C-T C T
+22 50082518 22:50082518C-G C G
+22 50082547 22:50082547C-T C T
+22 50082673 22:50082673C-T C T
+22 50082706 22:50082706C-T C T
+22 50082716 22:50082716C-T C T
+22 50082738 22:50082738T-G T G
+22 50082971 22:50082971C-G C G
+22 50083019 22:50083019A-G A G
+22 50083108 22:50083108G-C G C
+22 50083193 22:50083193T-C T C
+22 50083537 22:50083537A-G A G
+22 50083852 22:50083852C-G C G
+22 50083860 22:50083860C-T C T
+22 50083962 22:50083962A-G A G
+22 50084112 22:50084112A-G A G
+22 50084174 22:50084174A-G A G
+22 50084649 22:50084649T-C T C
+22 50084765 22:50084765G-A G A
+22 50084825 22:50084825G-T G T
+22 50085210 22:50085210G-A G A
+22 50085220 22:50085220T-C T C
+22 50085456 22:50085456C-T C T
+22 50085697 22:50085697C-T C T
+22 50085731 22:50085731G-A G A
+22 50086334 22:50086334C-T C T
+22 50086373 22:50086373G-A G A
+22 50086405 22:50086405T-C T C
+22 50086454 22:50086454A-G A G
+22 50086808 22:50086808G-A G A
+22 50086965 22:50086965G-A G A
+22 50087120 22:50087120A-G A G
+22 50087193 22:50087193C-T C T
+22 50087337 22:50087337C-T C T
+22 50087685 22:50087685G-A G A
+22 50088081 22:50088081T-A T A
+22 50088252 22:50088252C-T C T
+22 50088272 22:50088272G-T G T
+22 50088448 22:50088448T-C T C
+22 50089500 22:50089500G-A G A
+22 50089542 22:50089542A-G A G
+22 50089612 22:50089612C-T C T
+22 50089761 22:50089761A-G A G
+22 50089819 22:50089819G-A G A
+22 50089901 22:50089901G-C G C
+22 50090243 22:50090243A-T A T
+22 50090398 22:50090398A-G A G
+22 50090422 22:50090422A-G A G
+22 50090512 22:50090512A-G A G
+22 50091052 22:50091052C-A C A
+22 50091072 22:50091072G-A G A
+22 50091191 22:50091191C-T C T
+22 50091359 22:50091359C-T C T
+22 50092090 22:50092090C-T C T
+22 50092148 22:50092148C-A C A
+22 50092324 22:50092324A-G A G
+22 50092431 22:50092431T-C T C
+22 50092862 22:50092862A-G A G
+22 50092890 22:50092890T-G T G
+22 50092930 22:50092930G-A G A
+22 50092940 22:50092940G-A G A
+22 50093133 22:50093133G-A G A
+22 50094041 22:50094041C-G C G
+22 50094210 22:50094210A-G A G
+22 50094368 22:50094368T-C T C
+22 50094480 22:50094480T-C T C
+22 50094553 22:50094553G-A G A
+22 50094566 22:50094566T-C T C
+22 50094724 22:50094724C-T C T
+22 50095165 22:50095165A-G A G
+22 50095457 22:50095457C-T C T
+22 50095776 22:50095776A-C A C
+22 50095813 22:50095813A-G A G
+22 50095833 22:50095833C-A C A
+22 50096156 22:50096156G-A G A
+22 50096349 22:50096349T-C T C
+22 50096505 22:50096505G-A G A
+22 50096913 22:50096913C-G C G
+22 50097255 22:50097255G-A G A
+22 50097333 22:50097333T-C T C
+22 50097614 22:50097614T-C T C
+22 50098333 22:50098333C-T C T
+22 50099556 22:50099556G-C G C
+22 50099650 22:50099650G-T G T
+22 50099892 22:50099892A-G A G
+22 50100311 22:50100311T-C T C
+22 50100557 22:50100557C-T C T
+22 50100581 22:50100581C-T C T
+22 50100697 22:50100697T-A T A
+22 50101304 22:50101304C-T C T
+22 50101489 22:50101489C-T C T
+22 50101959 22:50101959T-C T C
+22 50102471 22:50102471C-T C T
+22 50102685 22:50102685T-C T C
+22 50102970 22:50102970C-T C T
+22 50103405 22:50103405A-G A G
+22 50103809 22:50103809A-C A C
+22 50104311 22:50104311C-T C T
+22 50104639 22:50104639G-A G A
+22 50105000 22:50105000A-G A G
+22 50105163 22:50105163C-G C G
+22 50106042 22:50106042G-A G A
+22 50107396 22:50107396C-T C T
+22 50108004 22:50108004G-A G A
+22 50108238 22:50108238T-G T G
+22 50108428 22:50108428G-T G T
+22 50108991 22:50108991C-T C T
+22 50109212 22:50109212C-T C T
+22 50110307 22:50110307C-T C T
+22 50110689 22:50110689C-T C T
+22 50110721 22:50110721T-G T G
+22 50110759 22:50110759C-T C T
+22 50112347 22:50112347G-A G A
+22 50113084 22:50113084T-C T C
+22 50113185 22:50113185A-G A G
+22 50113364 22:50113364T-C T C
+22 50113390 22:50113390G-A G A
+22 50113393 22:50113393G-A G A
+22 50115544 22:50115544T-C T C
+22 50115691 22:50115691T-C T C
+22 50115716 22:50115716G-A G A
+22 50116460 22:50116460A-G A G
+22 50117191 22:50117191A-G A G
+22 50117382 22:50117382T-C T C
+22 50118149 22:50118149C-G C G
+22 50118414 22:50118414C-G C G
+22 50118606 22:50118606A-G A G
+22 50118723 22:50118723C-A C A
+22 50118803 22:50118803C-G C G
+22 50119712 22:50119712T-G T G
+22 50119885 22:50119885G-A G A
+22 50120525 22:50120525G-A G A
+22 50120721 22:50120721G-A G A
+22 50121378 22:50121378G-A G A
+22 50121483 22:50121483T-C T C
+22 50121508 22:50121508A-G A G
+22 50121525 22:50121525A-T A T
+22 50122276 22:50122276G-A G A
+22 50122502 22:50122502C-A C A
+22 50123044 22:50123044T-C T C
+22 50123324 22:50123324T-C T C
+22 50123406 22:50123406G-A G A
+22 50124094 22:50124094T-C T C
+22 50124986 22:50124986C-T C T
+22 50125153 22:50125153T-C T C
+22 50125423 22:50125423G-A G A
+22 50125798 22:50125798G-A G A
+22 50125820 22:50125820T-C T C
+22 50126546 22:50126546A-C A C
+22 50126892 22:50126892G-A G A
+22 50127572 22:50127572T-C T C
+22 50127716 22:50127716C-G C G
+22 50128213 22:50128213G-A G A
+22 50128268 22:50128268G-A G A
+22 50129308 22:50129308T-C T C
+22 50129978 22:50129978T-C T C
+22 50131006 22:50131006G-C G C
+22 50131487 22:50131487G-A G A
+22 50132421 22:50132421C-T C T
+22 50133480 22:50133480G-A G A
+22 50133708 22:50133708C-T C T
+22 50134204 22:50134204G-T G T
+22 50137687 22:50137687A-G A G
+22 50138633 22:50138633C-T C T
+22 50138772 22:50138772A-T A T
+22 50140802 22:50140802C-T C T
+22 50144112 22:50144112C-T C T
+22 50144162 22:50144162G-C G C
+22 50145276 22:50145276G-A G A
+22 50145309 22:50145309T-G T G
+22 50145857 22:50145857T-C T C
+22 50145926 22:50145926G-T G T
+22 50146082 22:50146082G-A G A
+22 50146469 22:50146469C-T C T
+22 50147784 22:50147784G-A G A
+22 50148763 22:50148763T-C T C
+22 50148782 22:50148782C-A C A
+22 50148842 22:50148842C-T C T
+22 50149159 22:50149159A-G A G
+22 50149696 22:50149696T-A T A
+22 50151818 22:50151818T-G T G
+22 50152008 22:50152008C-T C T
+22 50152229 22:50152229T-C T C
+22 50152389 22:50152389G-A G A
+22 50152568 22:50152568G-A G A
+22 50153285 22:50153285T-C T C
+22 50153403 22:50153403A-T A T
+22 50153500 22:50153500T-C T C
+22 50154682 22:50154682T-C T C
+22 50155326 22:50155326C-T C T
+22 50155550 22:50155550G-A G A
+22 50156286 22:50156286G-A G A
+22 50156872 22:50156872C-T C T
+22 50156898 22:50156898C-T C T
+22 50157138 22:50157138T-C T C
+22 50157212 22:50157212G-A G A
+22 50157707 22:50157707T-C T C
+22 50158136 22:50158136C-T C T
+22 50158200 22:50158200G-A G A
+22 50158749 22:50158749G-A G A
+22 50158874 22:50158874A-G A G
+22 50158882 22:50158882C-T C T
+22 50159072 22:50159072A-G A G
+22 50159372 22:50159372G-A G A
+22 50159377 22:50159377G-A G A
+22 50159948 22:50159948C-T C T
+22 50160058 22:50160058A-G A G
+22 50160217 22:50160217T-G T G
+22 50160983 22:50160983G-A G A
+22 50162136 22:50162136C-T C T
+22 50162630 22:50162630T-C T C
+22 50163058 22:50163058G-A G A
+22 50163419 22:50163419G-A G A
+22 50163806 22:50163806A-G A G
+22 50164078 22:50164078T-C T C
+22 50164438 22:50164438G-A G A
+22 50166092 22:50166092A-G A G
+22 50166564 22:50166564A-G A G
+22 50167652 22:50167652T-C T C
+22 50168264 22:50168264C-G C G
+22 50169157 22:50169157A-G A G
+22 50169852 22:50169852G-A G A
+22 50170937 22:50170937G-A G A
+22 50171275 22:50171275C-T C T
+22 50171906 22:50171906T-C T C
+22 50172037 22:50172037A-G A G
+22 50172226 22:50172226G-A G A
+22 50172281 22:50172281T-C T C
+22 50172597 22:50172597T-C T C
+22 50173910 22:50173910A-T A T
+22 50174290 22:50174290C-A C A
+22 50174665 22:50174665C-T C T
+22 50175089 22:50175089G-A G A
+22 50176105 22:50176105C-T C T
+22 50176889 22:50176889A-T A T
+22 50176948 22:50176948A-G A G
+22 50177279 22:50177279G-A G A
+22 50177970 22:50177970G-A G A
+22 50178082 22:50178082A-G A G
+22 50178442 22:50178442G-A G A
+22 50178917 22:50178917A-G A G
+22 50179738 22:50179738C-G C G
+22 50180497 22:50180497A-C A C
+22 50180616 22:50180616C-G C G
+22 50180714 22:50180714A-G A G
+22 50181915 22:50181915C-T C T
+22 50181960 22:50181960C-A C A
+22 50182040 22:50182040G-C G C
+22 50182185 22:50182185A-G A G
+22 50183162 22:50183162C-T C T
+22 50183605 22:50183605G-A G A
+22 50184263 22:50184263T-C T C
+22 50184484 22:50184484T-G T G
+22 50185192 22:50185192C-T C T
+22 50185334 22:50185334C-G C G
+22 50185343 22:50185343C-T C T
+22 50185432 22:50185432A-G A G
+22 50186056 22:50186056G-A G A
+22 50186926 22:50186926G-A G A
+22 50187374 22:50187374A-T A T
+22 50187853 22:50187853C-T C T
+22 50189212 22:50189212G-T G T
+22 50190180 22:50190180G-A G A
+22 50191136 22:50191136G-C G C
+22 50191890 22:50191890G-T G T
+22 50191972 22:50191972G-A G A
+22 50193337 22:50193337T-C T C
+22 50193636 22:50193636T-C T C
+22 50193909 22:50193909C-T C T
+22 50195192 22:50195192T-C T C
+22 50195375 22:50195375A-G A G
+22 50197465 22:50197465G-A G A
+22 50198482 22:50198482G-C G C
+22 50198952 22:50198952C-T C T
+22 50199378 22:50199378G-T G T
+22 50199589 22:50199589C-T C T
+22 50201097 22:50201097T-G T G
+22 50201789 22:50201789A-T A T
+22 50202276 22:50202276A-G A G
+22 50202956 22:50202956G-A G A
+22 50203152 22:50203152G-A G A
+22 50204273 22:50204273A-G A G
+22 50204712 22:50204712G-A G A
+22 50205903 22:50205903G-A G A
+22 50206573 22:50206573G-A G A
+22 50207703 22:50207703G-A G A
+22 50208621 22:50208621G-A G A
+22 50209120 22:50209120G-A G A
+22 50209737 22:50209737C-T C T
+22 50209874 22:50209874C-T C T
+22 50211294 22:50211294C-T C T
+22 50211295 22:50211295G-A G A
+22 50212566 22:50212566T-C T C
+22 50213682 22:50213682G-A G A
+22 50215987 22:50215987T-G T G
+22 50216231 22:50216231G-A G A
+22 50217387 22:50217387G-A G A
+22 50218299 22:50218299G-C G C
+22 50218611 22:50218611A-C A C
+22 50219351 22:50219351G-A G A
+22 50219952 22:50219952C-T C T
+22 50220482 22:50220482G-A G A
+22 50222614 22:50222614G-A G A
+22 50223024 22:50223024C-G C G
+22 50223414 22:50223414C-G C G
+22 50223452 22:50223452T-G T G
+22 50223509 22:50223509C-T C T
+22 50224251 22:50224251G-A G A
+22 50224761 22:50224761G-A G A
+22 50225150 22:50225150T-C T C
+22 50225433 22:50225433T-C T C
+22 50226673 22:50226673T-C T C
+22 50227165 22:50227165G-A G A
+22 50227741 22:50227741G-A G A
+22 50228044 22:50228044C-T C T
+22 50228087 22:50228087T-C T C
+22 50228705 22:50228705G-T G T
+22 50228751 22:50228751C-T C T
+22 50229133 22:50229133C-A C A
+22 50229163 22:50229163C-T C T
+22 50230422 22:50230422C-T C T
+22 50231067 22:50231067T-C T C
+22 50231490 22:50231490C-T C T
+22 50231932 22:50231932T-G T G
+22 50231962 22:50231962G-A G A
+22 50233639 22:50233639A-G A G
+22 50234373 22:50234373A-G A G
+22 50234552 22:50234552G-C G C
+22 50235192 22:50235192A-G A G
+22 50235315 22:50235315C-G C G
+22 50236306 22:50236306G-A G A
+22 50236458 22:50236458C-G C G
+22 50236610 22:50236610T-C T C
+22 50236789 22:50236789T-C T C
+22 50237296 22:50237296A-T A T
+22 50237366 22:50237366A-G A G
+22 50237512 22:50237512A-G A G
+22 50237595 22:50237595A-G A G
+22 50237606 22:50237606G-A G A
+22 50239153 22:50239153C-G C G
+22 50239154 22:50239154G-A G A
+22 50240712 22:50240712G-A G A
+22 50241024 22:50241024C-T C T
+22 50241210 22:50241210G-A G A
+22 50241417 22:50241417G-A G A
+22 50242192 22:50242192G-A G A
+22 50242553 22:50242553G-T G T
+22 50242933 22:50242933C-T C T
+22 50243719 22:50243719C-G C G
+22 50243747 22:50243747C-T C T
+22 50244071 22:50244071C-T C T
+22 50244191 22:50244191G-A G A
+22 50244533 22:50244533G-A G A
+22 50244695 22:50244695C-T C T
+22 50244777 22:50244777G-C G C
+22 50245196 22:50245196G-T G T
+22 50246466 22:50246466T-C T C
+22 50248389 22:50248389G-A G A
+22 50249131 22:50249131T-C T C
+22 50249677 22:50249677A-G A G
+22 50249983 22:50249983A-G A G
+22 50250283 22:50250283C-T C T
+22 50250827 22:50250827G-A G A
+22 50251349 22:50251349G-C G C
+22 50251476 22:50251476C-G C G
+22 50251492 22:50251492C-T C T
+22 50251704 22:50251704C-T C T
+22 50251742 22:50251742C-G C G
+22 50252127 22:50252127G-A G A
+22 50252783 22:50252783T-C T C
+22 50252854 22:50252854G-C G C
+22 50253101 22:50253101A-G A G
+22 50253137 22:50253137T-C T C
+22 50253190 22:50253190C-G C G
+22 50253220 22:50253220G-C G C
+22 50254892 22:50254892T-C T C
+22 50255486 22:50255486C-T C T
+22 50255872 22:50255872G-C G C
+22 50256309 22:50256309C-T C T
+22 50256686 22:50256686C-T C T
+22 50256738 22:50256738C-T C T
+22 50256885 22:50256885G-C G C
+22 50256886 22:50256886T-A T A
+22 50257459 22:50257459A-G A G
+22 50257666 22:50257666G-T G T
+22 50258179 22:50258179T-G T G
+22 50258709 22:50258709C-T C T
+22 50258751 22:50258751G-A G A
+22 50258798 22:50258798A-G A G
+22 50258867 22:50258867C-T C T
+22 50258868 22:50258868G-A G A
+22 50258914 22:50258914T-C T C
+22 50259152 22:50259152A-T A T
+22 50259696 22:50259696A-G A G
+22 50259984 22:50259984G-A G A
+22 50260169 22:50260169G-A G A
+22 50260472 22:50260472A-G A G
+22 50260523 22:50260523C-G C G
+22 50260904 22:50260904G-A G A
+22 50261051 22:50261051A-G A G
+22 50261060 22:50261060G-C G C
+22 50261123 22:50261123G-T G T
+22 50262431 22:50262431G-A G A
+22 50262656 22:50262656G-C G C
+22 50263002 22:50263002T-C T C
+22 50263370 22:50263370C-T C T
+22 50263641 22:50263641G-T G T
+22 50264019 22:50264019C-T C T
+22 50264042 22:50264042G-A G A
+22 50264652 22:50264652A-G A G
+22 50265777 22:50265777A-G A G
+22 50265784 22:50265784A-C A C
+22 50266317 22:50266317G-C G C
+22 50266492 22:50266492C-T C T
+22 50266630 22:50266630T-C T C
+22 50267822 22:50267822T-C T C
+22 50268014 22:50268014C-G C G
+22 50269092 22:50269092G-A G A
+22 50269218 22:50269218A-G A G
+22 50269255 22:50269255T-G T G
+22 50269289 22:50269289G-A G A
+22 50269540 22:50269540A-G A G
+22 50269646 22:50269646A-G A G
+22 50270215 22:50270215A-G A G
+22 50270309 22:50270309T-C T C
+22 50270464 22:50270464T-C T C
+22 50270570 22:50270570A-G A G
+22 50270784 22:50270784G-A G A
+22 50271161 22:50271161A-T A T
+22 50271176 22:50271176G-A G A
+22 50271414 22:50271414T-C T C
+22 50271428 22:50271428A-G A G
+22 50271460 22:50271460T-C T C
+22 50271631 22:50271631T-A T A
+22 50272228 22:50272228G-A G A
+22 50272515 22:50272515A-G A G
+22 50272920 22:50272920G-A G A
+22 50273028 22:50273028T-G T G
+22 50273916 22:50273916G-A G A
+22 50274293 22:50274293A-G A G
+22 50274731 22:50274731G-C G C
+22 50274751 22:50274751C-T C T
+22 50275180 22:50275180G-A G A
+22 50275325 22:50275325T-C T C
+22 50276695 22:50276695G-C G C
+22 50276828 22:50276828A-G A G
+22 50276909 22:50276909G-A G A
+22 50277835 22:50277835T-C T C
+22 50277883 22:50277883A-G A G
+22 50278438 22:50278438A-G A G
+22 50278568 22:50278568A-G A G
+22 50278642 22:50278642C-T C T
+22 50280136 22:50280136T-C T C
+22 50281917 22:50281917A-G A G
+22 50282204 22:50282204C-A C A
+22 50282603 22:50282603A-G A G
+22 50282986 22:50282986C-T C T
+22 50284020 22:50284020A-G A G
+22 50284078 22:50284078A-G A G
+22 50284305 22:50284305A-G A G
+22 50284345 22:50284345A-G A G
+22 50284440 22:50284440A-G A G
+22 50284974 22:50284974C-T C T
+22 50285050 22:50285050A-G A G
+22 50285348 22:50285348C-T C T
+22 50285692 22:50285692T-C T C
+22 50285760 22:50285760T-C T C
+22 50286172 22:50286172T-C T C
+22 50286273 22:50286273T-C T C
+22 50286827 22:50286827G-A G A
+22 50287266 22:50287266C-T C T
+22 50288345 22:50288345A-G A G
+22 50288590 22:50288590A-G A G
+22 50288861 22:50288861G-A G A
+22 50288983 22:50288983G-A G A
+22 50289570 22:50289570T-C T C
+22 50289925 22:50289925C-T C T
+22 50289994 22:50289994C-T C T
+22 50290023 22:50290023T-C T C
+22 50290441 22:50290441G-A G A
+22 50290446 22:50290446G-C G C
+22 50290599 22:50290599G-A G A
+22 50290678 22:50290678G-A G A
+22 50290715 22:50290715T-C T C
+22 50290856 22:50290856C-T C T
+22 50291603 22:50291603G-A G A
+22 50291750 22:50291750T-C T C
+22 50291869 22:50291869A-G A G
+22 50291889 22:50291889T-C T C
+22 50291976 22:50291976G-C G C
+22 50292081 22:50292081C-A C A
+22 50292545 22:50292545C-T C T
+22 50292763 22:50292763T-C T C
+22 50292983 22:50292983G-A G A
+22 50294378 22:50294378G-A G A
+22 50294469 22:50294469A-G A G
+22 50294470 22:50294470A-T A T
+22 50294988 22:50294988C-T C T
+22 50297435 22:50297435T-C T C
+22 50297888 22:50297888T-C T C
+22 50298925 22:50298925C-G C G
+22 50299587 22:50299587T-C T C
+22 50299919 22:50299919C-T C T
+22 50300078 22:50300078A-G A G
+22 50300438 22:50300438T-C T C
+22 50300562 22:50300562A-G A G
+22 50300672 22:50300672C-T C T
+22 50301178 22:50301178C-T C T
+22 50301251 22:50301251C-T C T
+22 50301476 22:50301476T-C T C
+22 50301664 22:50301664T-C T C
+22 50302270 22:50302270T-C T C
+22 50302430 22:50302430C-T C T
+22 50302469 22:50302469G-A G A
+22 50302549 22:50302549A-G A G
+22 50302671 22:50302671T-A T A
+22 50302850 22:50302850A-G A G
+22 50303088 22:50303088G-A G A
+22 50303149 22:50303149G-C G C
+22 50303249 22:50303249G-A G A
+22 50303515 22:50303515A-C A C
+22 50303530 22:50303530T-C T C
+22 50303533 22:50303533C-G C G
+22 50303990 22:50303990C-T C T
+22 50304591 22:50304591A-C A C
+22 50305244 22:50305244G-C G C
+22 50305362 22:50305362G-A G A
+22 50305515 22:50305515T-C T C
+22 50305634 22:50305634C-T C T
+22 50306316 22:50306316C-T C T
+22 50306338 22:50306338G-A G A
+22 50306940 22:50306940C-T C T
+22 50306969 22:50306969G-A G A
+22 50307184 22:50307184G-T G T
+22 50307896 22:50307896A-G A G
+22 50307932 22:50307932T-C T C
+22 50308437 22:50308437G-A G A
+22 50308597 22:50308597G-A G A
+22 50309088 22:50309088C-T C T
+22 50309235 22:50309235T-A T A
+22 50309446 22:50309446G-A G A
+22 50309911 22:50309911A-T A T
+22 50309915 22:50309915A-T A T
+22 50309997 22:50309997G-C G C
+22 50310046 22:50310046T-C T C
+22 50310410 22:50310410G-A G A
+22 50310600 22:50310600G-A G A
+22 50310829 22:50310829A-G A G
+22 50310847 22:50310847G-T G T
+22 50310880 22:50310880T-C T C
+22 50311206 22:50311206C-T C T
+22 50311726 22:50311726G-A G A
+22 50311973 22:50311973A-G A G
+22 50312035 22:50312035C-T C T
+22 50312225 22:50312225T-C T C
+22 50312382 22:50312382G-A G A
+22 50312869 22:50312869T-C T C
+22 50312979 22:50312979C-T C T
+22 50313014 22:50313014T-C T C
+22 50313082 22:50313082C-T C T
+22 50313124 22:50313124C-T C T
+22 50313179 22:50313179G-A G A
+22 50313219 22:50313219G-A G A
+22 50313358 22:50313358G-C G C
+22 50313359 22:50313359G-A G A
+22 50313438 22:50313438T-C T C
+22 50313727 22:50313727A-G A G
+22 50314068 22:50314068C-A C A
+22 50314074 22:50314074C-T C T
+22 50314289 22:50314289G-C G C
+22 50314316 22:50314316G-A G A
+22 50314346 22:50314346A-G A G
+22 50314573 22:50314573C-T C T
+22 50314705 22:50314705G-A G A
+22 50314809 22:50314809C-T C T
+22 50314927 22:50314927G-C G C
+22 50315413 22:50315413C-T C T
+22 50315627 22:50315627G-A G A
+22 50315924 22:50315924G-T G T
+22 50315928 22:50315928C-G C G
+22 50315952 22:50315952C-T C T
+22 50315973 22:50315973G-C G C
+22 50316369 22:50316369C-T C T
+22 50316374 22:50316374G-A G A
+22 50316597 22:50316597A-G A G
+22 50316797 22:50316797G-A G A
+22 50316835 22:50316835T-C T C
+22 50317049 22:50317049T-C T C
+22 50317145 22:50317145A-G A G
+22 50317187 22:50317187C-T C T
+22 50317296 22:50317296C-T C T
+22 50317330 22:50317330G-A G A
+22 50317346 22:50317346C-T C T
+22 50317401 22:50317401G-A G A
+22 50317569 22:50317569G-A G A
+22 50317676 22:50317676G-A G A
+22 50317687 22:50317687G-A G A
+22 50317714 22:50317714A-G A G
+22 50317803 22:50317803A-G A G
+22 50317825 22:50317825T-C T C
+22 50317851 22:50317851T-G T G
+22 50317857 22:50317857G-A G A
+22 50317989 22:50317989C-T C T
+22 50318312 22:50318312T-C T C
+22 50318422 22:50318422T-G T G
+22 50318621 22:50318621T-C T C
+22 50318665 22:50318665G-C G C
+22 50318695 22:50318695C-T C T
+22 50318735 22:50318735C-T C T
+22 50318741 22:50318741C-T C T
+22 50318834 22:50318834C-T C T
+22 50318927 22:50318927T-C T C
+22 50318946 22:50318946C-T C T
+22 50319079 22:50319079T-G T G
+22 50319170 22:50319170A-G A G
+22 50319351 22:50319351T-C T C
+22 50319701 22:50319701G-A G A
+22 50320029 22:50320029G-T G T
+22 50320105 22:50320105A-G A G
+22 50320943 22:50320943C-T C T
+22 50321193 22:50321193C-T C T
+22 50321623 22:50321623C-T C T
+22 50321808 22:50321808A-G A G
+22 50321921 22:50321921G-C G C
+22 50321928 22:50321928T-C T C
+22 50321959 22:50321959C-G C G
+22 50322249 22:50322249G-C G C
+22 50322324 22:50322324C-G C G
+22 50322670 22:50322670A-G A G
+22 50322691 22:50322691T-C T C
+22 50323752 22:50323752G-A G A
+22 50323790 22:50323790G-A G A
+22 50323861 22:50323861C-G C G
+22 50324015 22:50324015G-C G C
+22 50324037 22:50324037A-G A G
+22 50324118 22:50324118G-A G A
+22 50324403 22:50324403T-C T C
+22 50324428 22:50324428A-G A G
+22 50325364 22:50325364A-G A G
+22 50325556 22:50325556T-A T A
+22 50325701 22:50325701A-G A G
+22 50325714 22:50325714T-C T C
+22 50325770 22:50325770C-T C T
+22 50325891 22:50325891G-A G A
+22 50326814 22:50326814G-A G A
+22 50326871 22:50326871G-A G A
+22 50326882 22:50326882A-G A G
+22 50326906 22:50326906A-T A T
+22 50327117 22:50327117T-C T C
+22 50327170 22:50327170C-T C T
+22 50327190 22:50327190G-A G A
+22 50327416 22:50327416G-T G T
+22 50327482 22:50327482T-G T G
+22 50327975 22:50327975G-C G C
+22 50328231 22:50328231C-A C A
+22 50328731 22:50328731C-T C T
+22 50329688 22:50329688T-G T G
+22 50329830 22:50329830G-A G A
+22 50330546 22:50330546T-G T G
+22 50331164 22:50331164T-C T C
+22 50332005 22:50332005G-T G T
+22 50332022 22:50332022T-A T A
+22 50332242 22:50332242A-G A G
+22 50332324 22:50332324T-C T C
+22 50333415 22:50333415G-A G A
+22 50333697 22:50333697C-G C G
+22 50334443 22:50334443T-C T C
+22 50334680 22:50334680A-G A G
+22 50334764 22:50334764C-T C T
+22 50334779 22:50334779C-G C G
+22 50335034 22:50335034A-G A G
+22 50335839 22:50335839G-T G T
+22 50336118 22:50336118G-C G C
+22 50336609 22:50336609T-C T C
+22 50336879 22:50336879T-C T C
+22 50337021 22:50337021G-A G A
+22 50338212 22:50338212A-G A G
+22 50338226 22:50338226G-A G A
+22 50338497 22:50338497A-G A G
+22 50339755 22:50339755T-C T C
+22 50339850 22:50339850C-G C G
+22 50339932 22:50339932A-T A T
+22 50340034 22:50340034A-G A G
+22 50340077 22:50340077A-G A G
+22 50340360 22:50340360C-T C T
+22 50341707 22:50341707C-T C T
+22 50342282 22:50342282T-C T C
+22 50342638 22:50342638A-G A G
+22 50342728 22:50342728G-T G T
+22 50343063 22:50343063C-T C T
+22 50343144 22:50343144T-C T C
+22 50343738 22:50343738T-G T G
+22 50343919 22:50343919C-T C T
+22 50344960 22:50344960C-T C T
+22 50345303 22:50345303T-C T C
+22 50345556 22:50345556G-C G C
+22 50345729 22:50345729T-C T C
+22 50345868 22:50345868G-C G C
+22 50346042 22:50346042C-T C T
+22 50347045 22:50347045G-A G A
+22 50347850 22:50347850G-A G A
+22 50347927 22:50347927G-C G C
+22 50347996 22:50347996A-C A C
+22 50347997 22:50347997T-C T C
+22 50348353 22:50348353G-A G A
+22 50348970 22:50348970A-G A G
+22 50349029 22:50349029G-A G A
+22 50349453 22:50349453G-A G A
+22 50349601 22:50349601T-C T C
+22 50349644 22:50349644A-G A G
+22 50350008 22:50350008A-G A G
+22 50350971 22:50350971G-A G A
+22 50351837 22:50351837G-A G A
+22 50353919 22:50353919G-A G A
+22 50354272 22:50354272A-C A C
+22 50355627 22:50355627G-A G A
+22 50356274 22:50356274C-T C T
+22 50356302 22:50356302C-T C T
+22 50361397 22:50361397C-G C G
+22 50363794 22:50363794C-T C T
+22 50363889 22:50363889G-A G A
+22 50414983 22:50414983C-T C T
+22 50415900 22:50415900T-C T C
+22 50416205 22:50416205C-A C A
+22 50416247 22:50416247G-A G A
+22 50416506 22:50416506C-T C T
+22 50416718 22:50416718C-T C T
+22 50417258 22:50417258A-G A G
+22 50417483 22:50417483C-T C T
+22 50417685 22:50417685C-T C T
+22 50418996 22:50418996G-A G A
+22 50419266 22:50419266C-T C T
+22 50420344 22:50420344A-G A G
+22 50422048 22:50422048C-G C G
+22 50422348 22:50422348G-A G A
+22 50422385 22:50422385A-G A G
+22 50422420 22:50422420C-G C G
+22 50423419 22:50423419A-G A G
+22 50424400 22:50424400C-T C T
+22 50424893 22:50424893T-C T C
+22 50425779 22:50425779C-T C T
+22 50426987 22:50426987G-A G A
+22 50428382 22:50428382C-T C T
+22 50428839 22:50428839T-C T C
+22 50429332 22:50429332C-A C A
+22 50431414 22:50431414C-T C T
+22 50432604 22:50432604C-A C A
+22 50433020 22:50433020A-G A G
+22 50434619 22:50434619G-C G C
+22 50435086 22:50435086G-A G A
+22 50435480 22:50435480A-G A G
+22 50437202 22:50437202C-G C G
+22 50437372 22:50437372G-A G A
+22 50439194 22:50439194C-T C T
+22 50439430 22:50439430A-G A G
+22 50439626 22:50439626G-A G A
+22 50439798 22:50439798C-G C G
+22 50439881 22:50439881T-C T C
+22 50439936 22:50439936C-A C A
+22 50440296 22:50440296T-C T C
+22 50440651 22:50440651T-C T C
+22 50441167 22:50441167G-A G A
+22 50441298 22:50441298G-C G C
+22 50441521 22:50441521C-T C T
+22 50441673 22:50441673G-A G A
+22 50441985 22:50441985A-C A C
+22 50442628 22:50442628C-T C T
+22 50442869 22:50442869G-A G A
+22 50443153 22:50443153G-A G A
+22 50443449 22:50443449C-T C T
+22 50444043 22:50444043C-G C G
+22 50444066 22:50444066G-A G A
+22 50444188 22:50444188T-C T C
+22 50444484 22:50444484A-G A G
+22 50444577 22:50444577A-G A G
+22 50444649 22:50444649G-C G C
+22 50445601 22:50445601T-C T C
+22 50445704 22:50445704T-C T C
+22 50445922 22:50445922C-T C T
+22 50446550 22:50446550C-A C A
+22 50446643 22:50446643A-G A G
+22 50446988 22:50446988C-T C T
+22 50447352 22:50447352C-T C T
+22 50447354 22:50447354T-C T C
+22 50447384 22:50447384G-A G A
+22 50448472 22:50448472G-C G C
+22 50448519 22:50448519A-G A G
+22 50448549 22:50448549A-G A G
+22 50448628 22:50448628A-G A G
+22 50448862 22:50448862T-C T C
+22 50449531 22:50449531A-G A G
+22 50449762 22:50449762A-C A C
+22 50450133 22:50450133G-C G C
+22 50450455 22:50450455T-C T C
+22 50450491 22:50450491C-T C T
+22 50451687 22:50451687T-C T C
+22 50451771 22:50451771C-T C T
+22 50451951 22:50451951A-G A G
+22 50452207 22:50452207A-G A G
+22 50453036 22:50453036T-C T C
+22 50453828 22:50453828T-G T G
+22 50454000 22:50454000G-A G A
+22 50454436 22:50454436A-G A G
+22 50454499 22:50454499C-G C G
+22 50454825 22:50454825A-G A G
+22 50455283 22:50455283C-T C T
+22 50455498 22:50455498G-A G A
+22 50455521 22:50455521A-G A G
+22 50455595 22:50455595G-T G T
+22 50456791 22:50456791G-A G A
+22 50457041 22:50457041C-T C T
+22 50457762 22:50457762A-G A G
+22 50458020 22:50458020G-A G A
+22 50460568 22:50460568A-G A G
+22 50460687 22:50460687G-A G A
+22 50460746 22:50460746C-T C T
+22 50461477 22:50461477C-T C T
+22 50461607 22:50461607T-C T C
+22 50462606 22:50462606A-C A C
+22 50462626 22:50462626C-T C T
+22 50462732 22:50462732T-C T C
+22 50462800 22:50462800C-T C T
+22 50462805 22:50462805C-T C T
+22 50463055 22:50463055T-C T C
+22 50463231 22:50463231T-C T C
+22 50464397 22:50464397A-G A G
+22 50464439 22:50464439G-C G C
+22 50464496 22:50464496G-A G A
+22 50464711 22:50464711C-T C T
+22 50466542 22:50466542T-C T C
+22 50466543 22:50466543G-A G A
+22 50467896 22:50467896C-T C T
+22 50467908 22:50467908C-G C G
+22 50467965 22:50467965G-C G C
+22 50467978 22:50467978A-G A G
+22 50468128 22:50468128T-C T C
+22 50468819 22:50468819G-A G A
+22 50468933 22:50468933G-T G T
+22 50469545 22:50469545A-C A C
+22 50469578 22:50469578G-C G C
+22 50469680 22:50469680C-T C T
+22 50469969 22:50469969C-T C T
+22 50470516 22:50470516C-T C T
+22 50470899 22:50470899G-A G A
+22 50471221 22:50471221C-A C A
+22 50471442 22:50471442T-G T G
+22 50471468 22:50471468A-G A G
+22 50472042 22:50472042T-G T G
+22 50472130 22:50472130C-T C T
+22 50472186 22:50472186G-A G A
+22 50472354 22:50472354T-C T C
+22 50472712 22:50472712C-T C T
+22 50473055 22:50473055C-T C T
+22 50473177 22:50473177A-G A G
+22 50473396 22:50473396G-C G C
+22 50473719 22:50473719A-G A G
+22 50473781 22:50473781C-T C T
+22 50473961 22:50473961C-T C T
+22 50474857 22:50474857A-G A G
+22 50474943 22:50474943G-A G A
+22 50475316 22:50475316C-T C T
+22 50478472 22:50478472C-T C T
+22 50478828 22:50478828T-C T C
+22 50479044 22:50479044T-A T A
+22 50479856 22:50479856A-C A C
+22 50480108 22:50480108C-T C T
+22 50480577 22:50480577C-T C T
+22 50480915 22:50480915T-A T A
+22 50480926 22:50480926C-T C T
+22 50482126 22:50482126C-A C A
+22 50482251 22:50482251G-A G A
+22 50482878 22:50482878A-G A G
+22 50483117 22:50483117A-G A G
+22 50483850 22:50483850T-C T C
+22 50483889 22:50483889A-G A G
+22 50483926 22:50483926T-C T C
+22 50484574 22:50484574C-T C T
+22 50484893 22:50484893T-C T C
+22 50485026 22:50485026A-C A C
+22 50485341 22:50485341T-C T C
+22 50485793 22:50485793T-C T C
+22 50485982 22:50485982G-C G C
+22 50486017 22:50486017C-T C T
+22 50486689 22:50486689G-C G C
+22 50486849 22:50486849C-T C T
+22 50487567 22:50487567T-C T C
+22 50488153 22:50488153T-C T C
+22 50488547 22:50488547G-A G A
+22 50488995 22:50488995C-A C A
+22 50489945 22:50489945T-G T G
+22 50490497 22:50490497C-T C T
+22 50491150 22:50491150A-G A G
+22 50491441 22:50491441A-G A G
+22 50491713 22:50491713G-A G A
+22 50491768 22:50491768G-A G A
+22 50491946 22:50491946G-C G C
+22 50491997 22:50491997G-A G A
+22 50492121 22:50492121G-A G A
+22 50492235 22:50492235G-A G A
+22 50492443 22:50492443A-G A G
+22 50492952 22:50492952A-G A G
+22 50492970 22:50492970C-T C T
+22 50493062 22:50493062T-C T C
+22 50493472 22:50493472A-G A G
+22 50495656 22:50495656G-A G A
+22 50496179 22:50496179T-C T C
+22 50496910 22:50496910G-A G A
+22 50497361 22:50497361G-C G C
+22 50497419 22:50497419G-A G A
+22 50497603 22:50497603C-T C T
+22 50497694 22:50497694A-G A G
+22 50498049 22:50498049G-C G C
+22 50498176 22:50498176C-T C T
+22 50498248 22:50498248C-A C A
+22 50498389 22:50498389C-A C A
+22 50498885 22:50498885G-A G A
+22 50499021 22:50499021A-C A C
+22 50499075 22:50499075G-A G A
+22 50499239 22:50499239C-T C T
+22 50499964 22:50499964T-C T C
+22 50499967 22:50499967T-C T C
+22 50500263 22:50500263T-C T C
+22 50500527 22:50500527T-C T C
+22 50501059 22:50501059A-G A G
+22 50501137 22:50501137A-G A G
+22 50501281 22:50501281C-T C T
+22 50501485 22:50501485G-A G A
+22 50501544 22:50501544A-G A G
+22 50501586 22:50501586C-T C T
+22 50501630 22:50501630G-T G T
+22 50501685 22:50501685T-C T C
+22 50501834 22:50501834G-A G A
+22 50501957 22:50501957G-C G C
+22 50502491 22:50502491T-C T C
+22 50502526 22:50502526A-G A G
+22 50502544 22:50502544G-A G A
+22 50502636 22:50502636G-A G A
+22 50502650 22:50502650G-A G A
+22 50502766 22:50502766C-T C T
+22 50502886 22:50502886C-T C T
+22 50502888 22:50502888T-C T C
+22 50503336 22:50503336C-T C T
+22 50503336 22:50503336C-A C A
+22 50503359 22:50503359A-G A G
+22 50503840 22:50503840C-T C T
+22 50504064 22:50504064A-G A G
+22 50504079 22:50504079C-T C T
+22 50504310 22:50504310C-T C T
+22 50504446 22:50504446A-G A G
+22 50504487 22:50504487T-C T C
+22 50504637 22:50504637G-A G A
+22 50504686 22:50504686G-A G A
+22 50504737 22:50504737G-A G A
+22 50504741 22:50504741A-G A G
+22 50504781 22:50504781A-G A G
+22 50504804 22:50504804T-C T C
+22 50504907 22:50504907A-G A G
+22 50504953 22:50504953T-G T G
+22 50505133 22:50505133C-G C G
+22 50505321 22:50505321G-C G C
+22 50505584 22:50505584A-G A G
+22 50506385 22:50506385A-C A C
+22 50506440 22:50506440C-T C T
+22 50506663 22:50506663G-A G A
+22 50506668 22:50506668C-T C T
+22 50506810 22:50506810A-G A G
+22 50507019 22:50507019G-A G A
+22 50507064 22:50507064G-C G C
+22 50507094 22:50507094T-C T C
+22 50507347 22:50507347T-G T G
+22 50507358 22:50507358G-A G A
+22 50507407 22:50507407C-T C T
+22 50507527 22:50507527A-C A C
+22 50507640 22:50507640T-C T C
+22 50507739 22:50507739G-C G C
+22 50507786 22:50507786C-T C T
+22 50507801 22:50507801A-C A C
+22 50507916 22:50507916G-A G A
+22 50508139 22:50508139C-T C T
+22 50508192 22:50508192C-A C A
+22 50508331 22:50508331T-C T C
+22 50508349 22:50508349G-A G A
+22 50508428 22:50508428C-G C G
+22 50508586 22:50508586G-A G A
+22 50508672 22:50508672A-T A T
+22 50508702 22:50508702A-C A C
+22 50508721 22:50508721G-A G A
+22 50508781 22:50508781A-G A G
+22 50508796 22:50508796A-G A G
+22 50508798 22:50508798C-T C T
+22 50508895 22:50508895A-G A G
+22 50508897 22:50508897G-T G T
+22 50509196 22:50509196G-A G A
+22 50509675 22:50509675T-C T C
+22 50509917 22:50509917C-T C T
+22 50509977 22:50509977A-G A G
+22 50510015 22:50510015C-T C T
+22 50510019 22:50510019T-C T C
+22 50510258 22:50510258T-C T C
+22 50510533 22:50510533A-T A T
+22 50510805 22:50510805C-T C T
+22 50510849 22:50510849T-C T C
+22 50510925 22:50510925G-A G A
+22 50511374 22:50511374T-C T C
+22 50511402 22:50511402A-C A C
+22 50511538 22:50511538C-T C T
+22 50511746 22:50511746C-T C T
+22 50511819 22:50511819G-A G A
+22 50511988 22:50511988G-C G C
+22 50512116 22:50512116T-G T G
+22 50512514 22:50512514T-G T G
+22 50512617 22:50512617C-T C T
+22 50513405 22:50513405A-C A C
+22 50513631 22:50513631C-A C A
+22 50513714 22:50513714T-G T G
+22 50513784 22:50513784G-A G A
+22 50513871 22:50513871C-T C T
+22 50514461 22:50514461T-C T C
+22 50514712 22:50514712G-A G A
+22 50514899 22:50514899A-G A G
+22 50515270 22:50515270T-C T C
+22 50515273 22:50515273G-A G A
+22 50515459 22:50515459G-A G A
+22 50515677 22:50515677C-T C T
+22 50515766 22:50515766C-T C T
+22 50515808 22:50515808C-T C T
+22 50515843 22:50515843C-A C A
+22 50516195 22:50516195T-C T C
+22 50517329 22:50517329G-A G A
+22 50517742 22:50517742A-G A G
+22 50517777 22:50517777C-T C T
+22 50518226 22:50518226A-C A C
+22 50518239 22:50518239T-C T C
+22 50518723 22:50518723A-G A G
+22 50519332 22:50519332G-C G C
+22 50519580 22:50519580C-T C T
+22 50520191 22:50520191G-A G A
+22 50520473 22:50520473C-T C T
+22 50520838 22:50520838C-T C T
+22 50520879 22:50520879A-G A G
+22 50520896 22:50520896G-A G A
+22 50521130 22:50521130A-G A G
+22 50521157 22:50521157A-G A G
+22 50521775 22:50521775C-T C T
+22 50521781 22:50521781C-A C A
+22 50522075 22:50522075C-T C T
+22 50522136 22:50522136T-C T C
+22 50522153 22:50522153G-A G A
+22 50522315 22:50522315T-C T C
+22 50522466 22:50522466C-T C T
+22 50522524 22:50522524C-T C T
+22 50522677 22:50522677G-A G A
+22 50522930 22:50522930A-G A G
+22 50523417 22:50523417G-A G A
+22 50523433 22:50523433T-C T C
+22 50524285 22:50524285C-T C T
+22 50524400 22:50524400A-G A G
+22 50525067 22:50525067C-T C T
+22 50525124 22:50525124C-T C T
+22 50525523 22:50525523T-C T C
+22 50525551 22:50525551G-T G T
+22 50525944 22:50525944T-G T G
+22 50525957 22:50525957C-T C T
+22 50526741 22:50526741A-G A G
+22 50527474 22:50527474A-C A C
+22 50527740 22:50527740A-G A G
+22 50527818 22:50527818G-A G A
+22 50528132 22:50528132A-G A G
+22 50528255 22:50528255C-G C G
+22 50528292 22:50528292G-A G A
+22 50528293 22:50528293C-T C T
+22 50528362 22:50528362C-T C T
+22 50528569 22:50528569A-T A T
+22 50528623 22:50528623C-A C A
+22 50528916 22:50528916C-T C T
+22 50529134 22:50529134T-C T C
+22 50529146 22:50529146C-T C T
+22 50529148 22:50529148C-G C G
+22 50529462 22:50529462A-G A G
+22 50529850 22:50529850T-C T C
+22 50529984 22:50529984G-T G T
+22 50530501 22:50530501A-T A T
+22 50530651 22:50530651G-A G A
+22 50530863 22:50530863C-T C T
+22 50531204 22:50531204A-G A G
+22 50531253 22:50531253A-G A G
+22 50531565 22:50531565C-G C G
+22 50532001 22:50532001G-A G A
+22 50532283 22:50532283G-T G T
+22 50532551 22:50532551T-A T A
+22 50532598 22:50532598C-G C G
+22 50532782 22:50532782C-T C T
+22 50533030 22:50533030G-A G A
+22 50533049 22:50533049C-T C T
+22 50533114 22:50533114A-T A T
+22 50533409 22:50533409C-T C T
+22 50533422 22:50533422C-T C T
+22 50533747 22:50533747G-A G A
+22 50534582 22:50534582C-A C A
+22 50534909 22:50534909T-G T G
+22 50534952 22:50534952G-T G T
+22 50535316 22:50535316A-G A G
+22 50535927 22:50535927T-C T C
+22 50536061 22:50536061G-A G A
+22 50536252 22:50536252C-A C A
+22 50536546 22:50536546A-G A G
+22 50536766 22:50536766T-C T C
+22 50536990 22:50536990G-A G A
+22 50537235 22:50537235A-T A T
+22 50537682 22:50537682T-G T G
+22 50537752 22:50537752C-T C T
+22 50538174 22:50538174G-A G A
+22 50538191 22:50538191A-G A G
+22 50538244 22:50538244T-G T G
+22 50538265 22:50538265A-T A T
+22 50538681 22:50538681T-C T C
+22 50539176 22:50539176T-C T C
+22 50539413 22:50539413T-C T C
+22 50540349 22:50540349G-A G A
+22 50540455 22:50540455A-G A G
+22 50540674 22:50540674A-G A G
+22 50541262 22:50541262A-G A G
+22 50541416 22:50541416A-G A G
+22 50541917 22:50541917T-C T C
+22 50542122 22:50542122A-G A G
+22 50543396 22:50543396T-C T C
+22 50543760 22:50543760T-C T C
+22 50543846 22:50543846C-G C G
+22 50544000 22:50544000T-C T C
+22 50544700 22:50544700T-C T C
+22 50544730 22:50544730C-T C T
+22 50545223 22:50545223C-T C T
+22 50545279 22:50545279T-C T C
+22 50545421 22:50545421T-C T C
+22 50545597 22:50545597G-T G T
+22 50545634 22:50545634G-T G T
+22 50545643 22:50545643A-G A G
+22 50545688 22:50545688A-G A G
+22 50546098 22:50546098C-T C T
+22 50546185 22:50546185T-G T G
+22 50546264 22:50546264G-A G A
+22 50546666 22:50546666C-T C T
+22 50546788 22:50546788G-C G C
+22 50546797 22:50546797T-C T C
+22 50546844 22:50546844T-A T A
+22 50546868 22:50546868G-T G T
+22 50546900 22:50546900C-T C T
+22 50546971 22:50546971A-G A G
+22 50547389 22:50547389C-T C T
+22 50547529 22:50547529C-T C T
+22 50547558 22:50547558T-C T C
+22 50547712 22:50547712A-G A G
+22 50547864 22:50547864C-T C T
+22 50547985 22:50547985G-A G A
+22 50548214 22:50548214C-T C T
+22 50548317 22:50548317C-A C A
+22 50548626 22:50548626A-C A C
+22 50548708 22:50548708C-A C A
+22 50548747 22:50548747C-G C G
+22 50548849 22:50548849G-A G A
+22 50548952 22:50548952G-C G C
+22 50548985 22:50548985T-C T C
+22 50549193 22:50549193C-G C G
+22 50549277 22:50549277T-G T G
+22 50550413 22:50550413G-A G A
+22 50550462 22:50550462T-G T G
+22 50550489 22:50550489G-A G A
+22 50550808 22:50550808C-T C T
+22 50551312 22:50551312A-G A G
+22 50551824 22:50551824A-G A G
+22 50552278 22:50552278C-T C T
+22 50552736 22:50552736T-C T C
+22 50553148 22:50553148C-T C T
+22 50553514 22:50553514A-T A T
+22 50553862 22:50553862G-A G A
+22 50554054 22:50554054G-C G C
+22 50554264 22:50554264G-A G A
+22 50555299 22:50555299G-T G T
+22 50555486 22:50555486G-C G C
+22 50555619 22:50555619C-T C T
+22 50555635 22:50555635C-T C T
+22 50555686 22:50555686A-C A C
+22 50555825 22:50555825T-A T A
+22 50556141 22:50556141C-T C T
+22 50556331 22:50556331C-T C T
+22 50556487 22:50556487G-A G A
+22 50556736 22:50556736G-A G A
+22 50556787 22:50556787A-G A G
+22 50556815 22:50556815A-G A G
+22 50557120 22:50557120C-A C A
+22 50557235 22:50557235T-G T G
+22 50557407 22:50557407A-G A G
+22 50557463 22:50557463G-A G A
+22 50557640 22:50557640C-T C T
+22 50557840 22:50557840A-G A G
+22 50558406 22:50558406C-T C T
+22 50558505 22:50558505G-A G A
+22 50558946 22:50558946A-G A G
+22 50559247 22:50559247G-A G A
+22 50559838 22:50559838C-G C G
+22 50559953 22:50559953G-A G A
+22 50560372 22:50560372C-T C T
+22 50560465 22:50560465C-T C T
+22 50560769 22:50560769G-T G T
+22 50561364 22:50561364G-A G A
+22 50561417 22:50561417A-G A G
+22 50561456 22:50561456C-T C T
+22 50561584 22:50561584C-T C T
+22 50561590 22:50561590G-A G A
+22 50561798 22:50561798T-G T G
+22 50562311 22:50562311G-C G C
+22 50562803 22:50562803A-C A C
+22 50562945 22:50562945C-T C T
+22 50563140 22:50563140T-C T C
+22 50563194 22:50563194C-T C T
+22 50563708 22:50563708C-T C T
+22 50564145 22:50564145T-A T A
+22 50564181 22:50564181G-T G T
+22 50564212 22:50564212G-T G T
+22 50564238 22:50564238G-A G A
+22 50564413 22:50564413A-G A G
+22 50564419 22:50564419C-T C T
+22 50564442 22:50564442C-T C T
+22 50564510 22:50564510T-C T C
+22 50564535 22:50564535T-C T C
+22 50565314 22:50565314A-G A G
+22 50565367 22:50565367C-T C T
+22 50565583 22:50565583A-G A G
+22 50565638 22:50565638A-G A G
+22 50565689 22:50565689G-A G A
+22 50565908 22:50565908A-G A G
+22 50566182 22:50566182T-G T G
+22 50566634 22:50566634G-C G C
+22 50566781 22:50566781T-G T G
+22 50566835 22:50566835C-T C T
+22 50567038 22:50567038A-G A G
+22 50567268 22:50567268G-A G A
+22 50567345 22:50567345G-C G C
+22 50567607 22:50567607G-T G T
+22 50567608 22:50567608T-C T C
+22 50568067 22:50568067A-G A G
+22 50568395 22:50568395C-G C G
+22 50568521 22:50568521A-G A G
+22 50568563 22:50568563G-C G C
+22 50568571 22:50568571G-A G A
+22 50569014 22:50569014A-G A G
+22 50569404 22:50569404C-T C T
+22 50569451 22:50569451G-A G A
+22 50569616 22:50569616T-C T C
+22 50569667 22:50569667A-G A G
+22 50569790 22:50569790C-T C T
+22 50570138 22:50570138A-G A G
+22 50570283 22:50570283C-G C G
+22 50570361 22:50570361A-G A G
+22 50570366 22:50570366G-T G T
+22 50570428 22:50570428G-A G A
+22 50570755 22:50570755G-C G C
+22 50570852 22:50570852A-G A G
+22 50570873 22:50570873G-T G T
+22 50570877 22:50570877A-G A G
+22 50570953 22:50570953G-T G T
+22 50570987 22:50570987A-G A G
+22 50571034 22:50571034G-A G A
+22 50571121 22:50571121C-T C T
+22 50571160 22:50571160G-C G C
+22 50571379 22:50571379T-C T C
+22 50571389 22:50571389C-T C T
+22 50571442 22:50571442C-T C T
+22 50571488 22:50571488T-A T A
+22 50571530 22:50571530C-T C T
+22 50572174 22:50572174T-C T C
+22 50572406 22:50572406A-G A G
+22 50572473 22:50572473G-A G A
+22 50573081 22:50573081T-G T G
+22 50573223 22:50573223C-T C T
+22 50573612 22:50573612T-G T G
+22 50573690 22:50573690C-T C T
+22 50574388 22:50574388T-A T A
+22 50574924 22:50574924A-G A G
+22 50575360 22:50575360A-G A G
+22 50575399 22:50575399T-C T C
+22 50575596 22:50575596C-A C A
+22 50575634 22:50575634C-A C A
+22 50576020 22:50576020G-A G A
+22 50576083 22:50576083A-G A G
+22 50577521 22:50577521A-G A G
+22 50577613 22:50577613C-T C T
+22 50578075 22:50578075G-A G A
+22 50578304 22:50578304C-T C T
+22 50578386 22:50578386G-A G A
+22 50578450 22:50578450A-T A T
+22 50578503 22:50578503A-G A G
+22 50578813 22:50578813A-G A G
+22 50579119 22:50579119C-T C T
+22 50579214 22:50579214C-T C T
+22 50579575 22:50579575G-T G T
+22 50579806 22:50579806T-C T C
+22 50580044 22:50580044T-C T C
+22 50580113 22:50580113G-C G C
+22 50580699 22:50580699C-T C T
+22 50580904 22:50580904G-A G A
+22 50581237 22:50581237G-C G C
+22 50581252 22:50581252G-C G C
+22 50581299 22:50581299G-A G A
+22 50581707 22:50581707T-C T C
+22 50581890 22:50581890C-A C A
+22 50582046 22:50582046C-T C T
+22 50582237 22:50582237G-A G A
+22 50582550 22:50582550C-A C A
+22 50582626 22:50582626A-G A G
+22 50582630 22:50582630G-A G A
+22 50582868 22:50582868C-A C A
+22 50583136 22:50583136A-G A G
+22 50583361 22:50583361G-A G A
+22 50583498 22:50583498A-C A C
+22 50583682 22:50583682G-A G A
+22 50583744 22:50583744C-G C G
+22 50584201 22:50584201A-C A C
+22 50584261 22:50584261C-A C A
+22 50584676 22:50584676G-T G T
+22 50584693 22:50584693C-T C T
+22 50584801 22:50584801G-A G A
+22 50585174 22:50585174T-G T G
+22 50585442 22:50585442C-G C G
+22 50585528 22:50585528G-A G A
+22 50585595 22:50585595G-A G A
+22 50585626 22:50585626A-G A G
+22 50586063 22:50586063C-G C G
+22 50586415 22:50586415G-C G C
+22 50586673 22:50586673G-C G C
+22 50586803 22:50586803G-C G C
+22 50586867 22:50586867G-A G A
+22 50586987 22:50586987C-G C G
+22 50587314 22:50587314T-C T C
+22 50587344 22:50587344C-T C T
+22 50587979 22:50587979T-G T G
+22 50588131 22:50588131C-T C T
+22 50588153 22:50588153G-A G A
+22 50588470 22:50588470A-T A T
+22 50588475 22:50588475A-G A G
+22 50588708 22:50588708G-C G C
+22 50589196 22:50589196C-A C A
+22 50589576 22:50589576A-G A G
+22 50590037 22:50590037C-T C T
+22 50590286 22:50590286G-A G A
+22 50590471 22:50590471G-A G A
+22 50590505 22:50590505A-G A G
+22 50590543 22:50590543C-T C T
+22 50591003 22:50591003G-T G T
+22 50591683 22:50591683G-A G A
+22 50591864 22:50591864A-G A G
+22 50591964 22:50591964A-G A G
+22 50592126 22:50592126C-T C T
+22 50592183 22:50592183G-A G A
+22 50592363 22:50592363C-T C T
+22 50592517 22:50592517G-A G A
+22 50593226 22:50593226T-G T G
+22 50593861 22:50593861C-T C T
+22 50594339 22:50594339T-G T G
+22 50594835 22:50594835A-G A G
+22 50595182 22:50595182T-A T A
+22 50595256 22:50595256C-T C T
+22 50595366 22:50595366G-C G C
+22 50595622 22:50595622C-T C T
+22 50595641 22:50595641T-G T G
+22 50595842 22:50595842T-C T C
+22 50595913 22:50595913G-A G A
+22 50596054 22:50596054T-G T G
+22 50596267 22:50596267C-G C G
+22 50597466 22:50597466C-T C T
+22 50597545 22:50597545A-G A G
+22 50597979 22:50597979C-T C T
+22 50598296 22:50598296G-A G A
+22 50598476 22:50598476C-T C T
+22 50598551 22:50598551G-A G A
+22 50599111 22:50599111T-C T C
+22 50599466 22:50599466C-A C A
+22 50600619 22:50600619C-T C T
+22 50600789 22:50600789C-T C T
+22 50600819 22:50600819C-T C T
+22 50601063 22:50601063T-C T C
+22 50601246 22:50601246C-G C G
+22 50601319 22:50601319T-G T G
+22 50604013 22:50604013T-G T G
+22 50604191 22:50604191G-T G T
+22 50605129 22:50605129A-G A G
+22 50605137 22:50605137A-G A G
+22 50605269 22:50605269T-G T G
+22 50605809 22:50605809C-T C T
+22 50605811 22:50605811G-C G C
+22 50606183 22:50606183A-G A G
+22 50606194 22:50606194G-C G C
+22 50607411 22:50607411G-A G A
+22 50609653 22:50609653A-G A G
+22 50609904 22:50609904T-G T G
+22 50610354 22:50610354G-T G T
+22 50610628 22:50610628G-A G A
+22 50611546 22:50611546C-T C T
+22 50611915 22:50611915C-G C G
+22 50612184 22:50612184C-T C T
+22 50613093 22:50613093C-T C T
+22 50613202 22:50613202G-A G A
+22 50613714 22:50613714A-G A G
+22 50614476 22:50614476T-C T C
+22 50616656 22:50616656T-C T C
+22 50616806 22:50616806A-G A G
+22 50617726 22:50617726C-T C T
+22 50617884 22:50617884C-T C T
+22 50617968 22:50617968T-C T C
+22 50618278 22:50618278A-G A G
+22 50618641 22:50618641C-T C T
+22 50618738 22:50618738G-A G A
+22 50618797 22:50618797C-G C G
+22 50619907 22:50619907A-G A G
+22 50619920 22:50619920A-G A G
+22 50620456 22:50620456C-T C T
+22 50620508 22:50620508C-T C T
+22 50620567 22:50620567G-A G A
+22 50620867 22:50620867C-T C T
+22 50621268 22:50621268A-G A G
+22 50621366 22:50621366C-T C T
+22 50621433 22:50621433T-C T C
+22 50621973 22:50621973C-T C T
+22 50622197 22:50622197G-A G A
+22 50622214 22:50622214A-C A C
+22 50622227 22:50622227A-G A G
+22 50622404 22:50622404G-C G C
+22 50624082 22:50624082C-G C G
+22 50624110 22:50624110G-A G A
+22 50624909 22:50624909G-C G C
+22 50625079 22:50625079G-C G C
+22 50625166 22:50625166T-G T G
+22 50625271 22:50625271T-C T C
+22 50625449 22:50625449C-T C T
+22 50625800 22:50625800A-G A G
+22 50626791 22:50626791C-A C A
+22 50627188 22:50627188C-T C T
+22 50627253 22:50627253C-T C T
+22 50627704 22:50627704G-T G T
+22 50628451 22:50628451A-G A G
+22 50628746 22:50628746T-G T G
+22 50628937 22:50628937G-A G A
+22 50628996 22:50628996G-A G A
+22 50629292 22:50629292T-G T G
+22 50629872 22:50629872C-T C T
+22 50630113 22:50630113G-A G A
+22 50630670 22:50630670C-T C T
+22 50630794 22:50630794G-A G A
+22 50630973 22:50630973G-A G A
+22 50631146 22:50631146A-G A G
+22 50631226 22:50631226T-C T C
+22 50632505 22:50632505C-T C T
+22 50632869 22:50632869C-T C T
+22 50633048 22:50633048T-G T G
+22 50633686 22:50633686T-C T C
+22 50633890 22:50633890G-A G A
+22 50634526 22:50634526G-A G A
+22 50634544 22:50634544G-A G A
+22 50634552 22:50634552G-A G A
+22 50634587 22:50634587C-T C T
+22 50635120 22:50635120A-G A G
+22 50635193 22:50635193G-A G A
+22 50635332 22:50635332C-T C T
+22 50635627 22:50635627C-T C T
+22 50635848 22:50635848C-G C G
+22 50637193 22:50637193A-G A G
+22 50637597 22:50637597G-C G C
+22 50637922 22:50637922G-C G C
+22 50638086 22:50638086C-G C G
+22 50638502 22:50638502T-C T C
+22 50638953 22:50638953A-G A G
+22 50639059 22:50639059G-T G T
+22 50639473 22:50639473T-C T C
+22 50639528 22:50639528T-C T C
+22 50639636 22:50639636C-G C G
+22 50639778 22:50639778T-C T C
+22 50639965 22:50639965C-A C A
+22 50641351 22:50641351G-A G A
+22 50642359 22:50642359C-T C T
+22 50642777 22:50642777C-T C T
+22 50642793 22:50642793C-G C G
+22 50643629 22:50643629G-A G A
+22 50644177 22:50644177G-A G A
+22 50644480 22:50644480T-C T C
+22 50644969 22:50644969G-A G A
+22 50645219 22:50645219G-A G A
+22 50645650 22:50645650C-T C T
+22 50646202 22:50646202G-A G A
+22 50646318 22:50646318G-A G A
+22 50646936 22:50646936G-C G C
+22 50647375 22:50647375C-T C T
+22 50647448 22:50647448T-G T G
+22 50647966 22:50647966A-G A G
+22 50647969 22:50647969C-T C T
+22 50648002 22:50648002T-A T A
+22 50648482 22:50648482G-T G T
+22 50648577 22:50648577C-T C T
+22 50649545 22:50649545A-G A G
+22 50649560 22:50649560C-G C G
+22 50650597 22:50650597G-C G C
+22 50651785 22:50651785C-T C T
+22 50651839 22:50651839G-A G A
+22 50652427 22:50652427C-T C T
+22 50652546 22:50652546A-G A G
+22 50652866 22:50652866T-C T C
+22 50653018 22:50653018G-A G A
+22 50653099 22:50653099T-C T C
+22 50653895 22:50653895G-C G C
+22 50654428 22:50654428T-G T G
+22 50654888 22:50654888G-C G C
+22 50655098 22:50655098A-G A G
+22 50656053 22:50656053T-A T A
+22 50656096 22:50656096A-G A G
+22 50656109 22:50656109A-C A C
+22 50656428 22:50656428G-A G A
+22 50657112 22:50657112C-T C T
+22 50658053 22:50658053A-G A G
+22 50658274 22:50658274C-G C G
+22 50658424 22:50658424T-C T C
+22 50658570 22:50658570A-G A G
+22 50658698 22:50658698T-A T A
+22 50660137 22:50660137G-A G A
+22 50661869 22:50661869T-C T C
+22 50662037 22:50662037G-A G A
+22 50663421 22:50663421C-T C T
+22 50664612 22:50664612A-G A G
+22 50665860 22:50665860T-C T C
+22 50666087 22:50666087T-C T C
+22 50666223 22:50666223G-A G A
+22 50666507 22:50666507C-T C T
+22 50666615 22:50666615C-T C T
+22 50667565 22:50667565G-A G A
+22 50668807 22:50668807A-G A G
+22 50670149 22:50670149G-A G A
+22 50672154 22:50672154G-A G A
+22 50672479 22:50672479A-G A G
+22 50673250 22:50673250C-T C T
+22 50674232 22:50674232G-A G A
+22 50675648 22:50675648C-A C A
+22 50675962 22:50675962G-A G A
+22 50676259 22:50676259T-C T C
+22 50676459 22:50676459A-G A G
+22 50676839 22:50676839T-C T C
+22 50677454 22:50677454C-T C T
+22 50678571 22:50678571T-C T C
+22 50679436 22:50679436G-A G A
+22 50679471 22:50679471C-T C T
+22 50679758 22:50679758A-G A G
+22 50680133 22:50680133T-C T C
+22 50680490 22:50680490G-A G A
+22 50681029 22:50681029T-C T C
+22 50682865 22:50682865G-A G A
+22 50684296 22:50684296T-C T C
+22 50684312 22:50684312G-A G A
+22 50684708 22:50684708G-A G A
+22 50685508 22:50685508A-G A G
+22 50686371 22:50686371C-T C T
+22 50688235 22:50688235T-C T C
+22 50688348 22:50688348A-G A G
+22 50689030 22:50689030A-G A G
+22 50690050 22:50690050G-A G A
+22 50690322 22:50690322G-C G C
+22 50692028 22:50692028G-A G A
+22 50692115 22:50692115T-C T C
+22 50692469 22:50692469A-T A T
+22 50692562 22:50692562G-A G A
+22 50692966 22:50692966G-A G A
+22 50693340 22:50693340A-T A T
+22 50693479 22:50693479A-G A G
+22 50694297 22:50694297A-G A G
+22 50695270 22:50695270A-C A C
+22 50695908 22:50695908G-T G T
+22 50695946 22:50695946C-G C G
+22 50696648 22:50696648C-T C T
+22 50696662 22:50696662C-T C T
+22 50697119 22:50697119C-T C T
+22 50697518 22:50697518T-C T C
+22 50697636 22:50697636G-A G A
+22 50698157 22:50698157C-A C A
+22 50698337 22:50698337C-T C T
+22 50698452 22:50698452T-G T G
+22 50698731 22:50698731A-G A G
+22 50699331 22:50699331C-G C G
+22 50699404 22:50699404C-T C T
+22 50699668 22:50699668A-G A G
+22 50700347 22:50700347G-C G C
+22 50700723 22:50700723C-T C T
+22 50704267 22:50704267C-T C T
+22 50704661 22:50704661T-C T C
+22 50705059 22:50705059A-G A G
+22 50705304 22:50705304C-T C T
+22 50706381 22:50706381G-A G A
+22 50706546 22:50706546A-C A C
+22 50706691 22:50706691A-G A G
+22 50707522 22:50707522C-T C T
+22 50707537 22:50707537T-G T G
+22 50707541 22:50707541C-A C A
+22 50709495 22:50709495A-G A G
+22 50709957 22:50709957A-C A C
+22 50709987 22:50709987T-C T C
+22 50710349 22:50710349G-A G A
+22 50710633 22:50710633C-G C G
+22 50710810 22:50710810T-C T C
+22 50711722 22:50711722T-G T G
+22 50712217 22:50712217C-G C G
+22 50712310 22:50712310A-G A G
+22 50712925 22:50712925C-G C G
+22 50713371 22:50713371G-A G A
+22 50713375 22:50713375C-T C T
+22 50713409 22:50713409A-G A G
+22 50714289 22:50714289T-C T C
+22 50714491 22:50714491A-C A C
+22 50714541 22:50714541A-G A G
+22 50714616 22:50714616G-A G A
+22 50715973 22:50715973G-T G T
+22 50716167 22:50716167G-A G A
+22 50717129 22:50717129T-G T G
+22 50717547 22:50717547T-C T C
+22 50717833 22:50717833C-T C T
+22 50718397 22:50718397A-G A G
+22 50719165 22:50719165T-C T C
+22 50719251 22:50719251A-G A G
+22 50719976 22:50719976C-T C T
+22 50720181 22:50720181C-G C G
+22 50720622 22:50720622C-T C T
+22 50720904 22:50720904G-C G C
+22 50721003 22:50721003G-A G A
+22 50722134 22:50722134T-C T C
+22 50722408 22:50722408T-C T C
+22 50723474 22:50723474G-A G A
+22 50723501 22:50723501G-C G C
+22 50723568 22:50723568T-C T C
+22 50723608 22:50723608G-A G A
+22 50724733 22:50724733G-T G T
+22 50725301 22:50725301G-A G A
+22 50725553 22:50725553T-C T C
+22 50726673 22:50726673G-A G A
+22 50727792 22:50727792T-C T C
+22 50727921 22:50727921T-C T C
+22 50728062 22:50728062T-C T C
+22 50730220 22:50730220A-G A G
+22 50730320 22:50730320T-C T C
+22 50730458 22:50730458G-T G T
+22 50731310 22:50731310A-G A G
+22 50731808 22:50731808C-T C T
+22 50731903 22:50731903T-C T C
+22 50732510 22:50732510G-A G A
+22 50733227 22:50733227C-T C T
+22 50733623 22:50733623A-G A G
+22 50733678 22:50733678C-G C G
+22 50733818 22:50733818G-C G C
+22 50734392 22:50734392G-A G A
+22 50734418 22:50734418C-T C T
+22 50734462 22:50734462T-C T C
+22 50734890 22:50734890C-T C T
+22 50735230 22:50735230A-G A G
+22 50736787 22:50736787A-G A G
+22 50737129 22:50737129T-C T C
+22 50737584 22:50737584G-T G T
+22 50738434 22:50738434A-G A G
+22 50739989 22:50739989T-G T G
+22 50741504 22:50741504C-T C T
+22 50742346 22:50742346G-C G C
+22 50742611 22:50742611C-A C A
+22 50742935 22:50742935A-G A G
+22 50743510 22:50743510G-A G A
+22 50743827 22:50743827G-A G A
+22 50744821 22:50744821A-G A G
+22 50745902 22:50745902G-A G A
+22 50746656 22:50746656T-G T G
+22 50746706 22:50746706C-T C T
+22 50746955 22:50746955T-C T C
+22 50747101 22:50747101T-C T C
+22 50747507 22:50747507G-A G A
+22 50747598 22:50747598C-T C T
+22 50747995 22:50747995C-T C T
+22 50748325 22:50748325C-T C T
+22 50748930 22:50748930T-C T C
+22 50748943 22:50748943T-C T C
+22 50749197 22:50749197C-T C T
+22 50749352 22:50749352A-G A G
+22 50750481 22:50750481C-T C T
+22 50751529 22:50751529G-C G C
+22 50752150 22:50752150C-T C T
+22 50752169 22:50752169G-A G A
+22 50753334 22:50753334G-A G A
+22 50753676 22:50753676C-T C T
+22 50753728 22:50753728C-T C T
+22 50753973 22:50753973T-C T C
+22 50754363 22:50754363A-G A G
+22 50754466 22:50754466C-T C T
+22 50754648 22:50754648T-C T C
+22 50756048 22:50756048C-T C T
+22 50757112 22:50757112G-A G A
+22 50757348 22:50757348G-A G A
+22 50757470 22:50757470T-C T C
+22 50757541 22:50757541T-C T C
+22 50757680 22:50757680T-C T C
+22 50758028 22:50758028C-T C T
+22 50758701 22:50758701G-T G T
+22 50758873 22:50758873C-T C T
+22 50759482 22:50759482G-A G A
+22 50759892 22:50759892C-A C A
+22 50761999 22:50761999A-G A G
+22 50762000 22:50762000A-C A C
+22 50762615 22:50762615C-T C T
+22 50762876 22:50762876A-G A G
+22 50763342 22:50763342T-C T C
+22 50764057 22:50764057T-C T C
+22 50764854 22:50764854C-A C A
+22 50765842 22:50765842G-T G T
+22 50765888 22:50765888C-T C T
+22 50767351 22:50767351A-G A G
+22 50767407 22:50767407T-C T C
+22 50767453 22:50767453A-G A G
+22 50768939 22:50768939A-G A G
+22 50769029 22:50769029A-G A G
+22 50770110 22:50770110T-G T G
+22 50770938 22:50770938C-T C T
+22 50771188 22:50771188T-G T G
+22 50771202 22:50771202A-G A G
+22 50771311 22:50771311C-G C G
+22 50771464 22:50771464A-G A G
+22 50771599 22:50771599T-C T C
+22 50771629 22:50771629A-C A C
+22 50771914 22:50771914T-C T C
+22 50772554 22:50772554T-G T G
+22 50772673 22:50772673C-T C T
+22 50774863 22:50774863A-T A T
+22 50776152 22:50776152T-C T C
+22 50776782 22:50776782A-G A G
+22 50780493 22:50780493A-G A G
+22 50780949 22:50780949A-G A G
+22 50785166 22:50785166G-A G A
+22 50785718 22:50785718C-T C T
+22 50785994 22:50785994C-T C T
+22 50786036 22:50786036A-G A G
+22 50786795 22:50786795G-A G A
+22 50786976 22:50786976G-A G A
+22 50787834 22:50787834G-T G T
+22 50788053 22:50788053G-C G C
+22 50788173 22:50788173A-G A G
+22 50788567 22:50788567C-A C A
+22 50788848 22:50788848T-C T C
+22 50789956 22:50789956G-A G A
+22 50791201 22:50791201G-A G A
+22 50791260 22:50791260C-T C T
+22 50792104 22:50792104C-A C A
+22 50793661 22:50793661T-C T C
+22 50794255 22:50794255T-A T A
+22 50794282 22:50794282C-A C A
+22 50794538 22:50794538C-T C T
+22 50795071 22:50795071C-T C T
+22 50795310 22:50795310G-C G C
+22 50795806 22:50795806C-G C G
+22 50795934 22:50795934T-C T C
+22 50796448 22:50796448G-A G A
+22 50796460 22:50796460G-A G A
+22 50797256 22:50797256C-A C A
+22 50797973 22:50797973A-G A G
+22 50798134 22:50798134T-C T C
+22 50798212 22:50798212G-A G A
+22 50798585 22:50798585G-A G A
+22 50800769 22:50800769C-G C G
+22 50800929 22:50800929G-A G A
+22 50803458 22:50803458T-C T C
+22 50803867 22:50803867G-A G A
+22 50805039 22:50805039A-C A C
+22 50805537 22:50805537G-A G A
+22 50805824 22:50805824G-C G C
+22 50806805 22:50806805T-C T C
+22 50806886 22:50806886C-A C A
+22 50806890 22:50806890G-C G C
+22 50808017 22:50808017A-T A T
+22 50808249 22:50808249C-T C T
+22 50808470 22:50808470A-G A G
+22 50808906 22:50808906T-C T C
+22 50809006 22:50809006A-G A G
+22 50809045 22:50809045A-T A T
+22 50809482 22:50809482G-A G A
+22 50809687 22:50809687T-C T C
+22 50810679 22:50810679C-T C T
+22 50810839 22:50810839A-G A G
+22 50810900 22:50810900T-C T C
+22 50811184 22:50811184C-A C A
+22 50812086 22:50812086A-T A T
+22 50812367 22:50812367T-C T C
+22 50814075 22:50814075C-T C T
+22 50814319 22:50814319A-G A G
+22 50814524 22:50814524A-G A G
+22 50815104 22:50815104C-T C T
+22 50816305 22:50816305A-G A G
+22 50816619 22:50816619A-G A G
+22 50818715 22:50818715C-T C T
+22 50818868 22:50818868C-T C T
+22 50820076 22:50820076G-A G A
+22 50820077 22:50820077T-C T C
+22 50821557 22:50821557A-G A G
+22 50821579 22:50821579G-T G T
+22 50821945 22:50821945G-A G A
+22 50822335 22:50822335G-A G A
+22 50822657 22:50822657G-A G A
+22 50823137 22:50823137G-A G A
+22 50824550 22:50824550G-A G A
+22 50824868 22:50824868C-A C A
+22 50825204 22:50825204A-G A G
+22 50825615 22:50825615G-A G A
+22 50826336 22:50826336C-T C T
+22 50826608 22:50826608A-T A T
+22 50828155 22:50828155C-G C G
+22 50828206 22:50828206G-T G T
+22 50829249 22:50829249A-G A G
+22 50830044 22:50830044G-A G A
+22 50830697 22:50830697A-G A G
+22 50831053 22:50831053A-G A G
+22 50831191 22:50831191G-A G A
+22 50831338 22:50831338A-G A G
+22 50832752 22:50832752A-C A C
+22 50832843 22:50832843G-A G A
+22 50832846 22:50832846C-A C A
+22 50832929 22:50832929G-A G A
+22 50833207 22:50833207C-T C T
+22 50833259 22:50833259T-C T C
+22 50833816 22:50833816G-A G A
+22 50834181 22:50834181A-G A G
+22 50834261 22:50834261G-C G C
+22 50834855 22:50834855T-C T C
+22 50835731 22:50835731A-G A G
+22 50836522 22:50836522G-A G A
+22 50836757 22:50836757C-T C T
+22 50836982 22:50836982T-C T C
+22 50837224 22:50837224A-G A G
+22 50837449 22:50837449G-A G A
+22 50837814 22:50837814G-T G T
+22 50837868 22:50837868C-G C G
+22 50837915 22:50837915C-T C T
+22 50838241 22:50838241T-C T C
+22 50838702 22:50838702T-C T C
+22 50839014 22:50839014A-G A G
+22 50839547 22:50839547A-C A C
+22 50839797 22:50839797G-A G A
+22 50840309 22:50840309C-T C T
+22 50840573 22:50840573G-A G A
+22 50840654 22:50840654A-G A G
+22 50840783 22:50840783T-C T C
+22 50840854 22:50840854A-G A G
+22 50840978 22:50840978C-A C A
+22 50841035 22:50841035C-T C T
+22 50841439 22:50841439C-T C T
+22 50841898 22:50841898C-T C T
+22 50842074 22:50842074T-A T A
+22 50842659 22:50842659C-G C G
+22 50843852 22:50843852A-T A T
+22 50845628 22:50845628T-C T C
+22 50845646 22:50845646C-T C T
+22 50846887 22:50846887T-G T G
+22 50847159 22:50847159T-A T A
+22 50847279 22:50847279C-T C T
+22 50847372 22:50847372C-A C A
+22 50848643 22:50848643G-T G T
+22 50849382 22:50849382C-G C G
+22 50849572 22:50849572T-C T C
+22 50850541 22:50850541G-A G A
+22 50850739 22:50850739A-G A G
+22 50851420 22:50851420G-C G C
+22 50851463 22:50851463T-C T C
+22 50851475 22:50851475C-T C T
+22 50851873 22:50851873T-C T C
+22 50851948 22:50851948C-T C T
+22 50852357 22:50852357T-C T C
+22 50852367 22:50852367G-A G A
+22 50853274 22:50853274T-C T C
+22 50853626 22:50853626T-G T G
+22 50853811 22:50853811T-G T G
+22 50854317 22:50854317T-C T C
+22 50855411 22:50855411T-C T C
+22 50855413 22:50855413A-G A G
+22 50856145 22:50856145T-C T C
+22 50856222 22:50856222G-T G T
+22 50856354 22:50856354G-A G A
+22 50856937 22:50856937A-T A T
+22 50856938 22:50856938A-C A C
+22 50857613 22:50857613T-G T G
+22 50858120 22:50858120C-T C T
+22 50858287 22:50858287G-A G A
+22 50858813 22:50858813G-C G C
+22 50859049 22:50859049T-C T C
+22 50859121 22:50859121G-A G A
+22 50859164 22:50859164C-G C G
+22 50859359 22:50859359G-A G A
+22 50859698 22:50859698T-C T C
+22 50860114 22:50860114T-C T C
+22 50860398 22:50860398A-C A C
+22 50860495 22:50860495A-G A G
+22 50860565 22:50860565G-A G A
+22 50860573 22:50860573T-C T C
+22 50860583 22:50860583T-C T C
+22 50860932 22:50860932C-T C T
+22 50861324 22:50861324T-C T C
+22 50862602 22:50862602G-C G C
+22 50862755 22:50862755A-C A C
+22 50862946 22:50862946G-A G A
+22 50863134 22:50863134T-C T C
+22 50863223 22:50863223T-C T C
+22 50864696 22:50864696T-C T C
+22 50864874 22:50864874A-G A G
+22 50865095 22:50865095G-C G C
+22 50865133 22:50865133A-G A G
+22 50865338 22:50865338C-T C T
+22 50865434 22:50865434A-G A G
+22 50865863 22:50865863T-A T A
+22 50866306 22:50866306C-T C T
+22 50866353 22:50866353A-G A G
+22 50866356 22:50866356A-G A G
+22 50866439 22:50866439A-G A G
+22 50866559 22:50866559T-C T C
+22 50867093 22:50867093G-A G A
+22 50867136 22:50867136A-G A G
+22 50867139 22:50867139T-C T C
+22 50867268 22:50867268G-A G A
+22 50867711 22:50867711C-T C T
+22 50868013 22:50868013A-G A G
+22 50868669 22:50868669A-T A T
+22 50868789 22:50868789G-A G A
+22 50868925 22:50868925A-C A C
+22 50869915 22:50869915G-A G A
+22 50870546 22:50870546G-A G A
+22 50870620 22:50870620G-T G T
+22 50871249 22:50871249T-C T C
+22 50871492 22:50871492C-G C G
+22 50872470 22:50872470C-T C T
+22 50873497 22:50873497C-T C T
+22 50873546 22:50873546C-T C T
+22 50873557 22:50873557A-G A G
+22 50873561 22:50873561C-T C T
+22 50873618 22:50873618A-G A G
+22 50873644 22:50873644G-A G A
+22 50873694 22:50873694T-C T C
+22 50873761 22:50873761A-G A G
+22 50874352 22:50874352C-T C T
+22 50874614 22:50874614C-T C T
+22 50874893 22:50874893C-T C T
+22 50875745 22:50875745A-T A T
+22 50876077 22:50876077T-C T C
+22 50876235 22:50876235T-C T C
+22 50876357 22:50876357C-G C G
+22 50876526 22:50876526C-G C G
+22 50876755 22:50876755C-T C T
+22 50877166 22:50877166G-C G C
+22 50877718 22:50877718G-A G A
+22 50877779 22:50877779A-G A G
+22 50878196 22:50878196G-A G A
+22 50878626 22:50878626A-C A C
+22 50878927 22:50878927G-A G A
+22 50879447 22:50879447T-G T G
+22 50879651 22:50879651A-G A G
+22 50879931 22:50879931G-A G A
+22 50880391 22:50880391C-T C T
+22 50880781 22:50880781C-T C T
+22 50881253 22:50881253T-C T C
+22 50881302 22:50881302G-A G A
+22 50881443 22:50881443A-T A T
+22 50881518 22:50881518A-G A G
+22 50881796 22:50881796C-G C G
+22 50881954 22:50881954G-C G C
+22 50882590 22:50882590G-A G A
+22 50883359 22:50883359A-G A G
+22 50883660 22:50883660G-A G A
+22 50883728 22:50883728G-A G A
+22 50883961 22:50883961G-A G A
+22 50884075 22:50884075C-T C T
+22 50885775 22:50885775A-G A G
+22 50886220 22:50886220T-C T C
+22 50886557 22:50886557A-G A G
+22 50889886 22:50889886G-C G C
+22 50889953 22:50889953G-C G C
+22 50890755 22:50890755G-A G A
+22 50891775 22:50891775T-A T A
+22 50891812 22:50891812G-A G A
+22 50891905 22:50891905A-G A G
+22 50892044 22:50892044G-A G A
+22 50892415 22:50892415A-G A G
+22 50894849 22:50894849G-A G A
+22 50894987 22:50894987G-A G A
+22 50895020 22:50895020C-T C T
+22 50895133 22:50895133A-G A G
+22 50896001 22:50896001G-T G T
+22 50896121 22:50896121C-T C T
+22 50896384 22:50896384C-G C G
+22 50896385 22:50896385A-G A G
+22 50896778 22:50896778G-A G A
+22 50896901 22:50896901G-A G A
+22 50897215 22:50897215G-A G A
+22 50897868 22:50897868G-A G A
+22 50898026 22:50898026G-A G A
+22 50898619 22:50898619G-A G A
+22 50899425 22:50899425T-C T C
+22 50900951 22:50900951T-C T C
+22 50901259 22:50901259G-C G C
+22 50901259 22:50901259G-T G T
+22 50901534 22:50901534A-G A G
+22 50902075 22:50902075A-G A G
+22 50902231 22:50902231A-G A G
+22 50902254 22:50902254C-T C T
+22 50902390 22:50902390A-G A G
+22 50902751 22:50902751C-T C T
+22 50903221 22:50903221C-T C T
+22 50904042 22:50904042C-G C G
+22 50905564 22:50905564G-A G A
+22 50906518 22:50906518G-A G A
+22 50906581 22:50906581A-G A G
+22 50906917 22:50906917C-A C A
+22 50907195 22:50907195G-A G A
+22 50907370 22:50907370G-A G A
+22 50907855 22:50907855C-T C T
+22 50907981 22:50907981G-T G T
+22 50908593 22:50908593T-C T C
+22 50909181 22:50909181C-T C T
+22 50909457 22:50909457T-C T C
+22 50909728 22:50909728G-A G A
+22 50910409 22:50910409G-A G A
+22 50910875 22:50910875A-G A G
+22 50910970 22:50910970G-A G A
+22 50911404 22:50911404G-T G T
+22 50911864 22:50911864G-A G A
+22 50911876 22:50911876A-G A G
+22 50912321 22:50912321C-T C T
+22 50912741 22:50912741G-A G A
+22 50912755 22:50912755G-C G C
+22 50912964 22:50912964G-A G A
+22 50912996 22:50912996C-T C T
+22 50913182 22:50913182C-T C T
+22 50913543 22:50913543A-C A C
+22 50913610 22:50913610G-A G A
+22 50913654 22:50913654C-A C A
+22 50914239 22:50914239G-A G A
+22 50915285 22:50915285C-T C T
+22 50916583 22:50916583G-A G A
+22 50917986 22:50917986A-G A G
+22 50918406 22:50918406G-A G A
+22 50919182 22:50919182G-A G A
+22 50921644 22:50921644G-A G A
+22 50921694 22:50921694C-T C T
+22 50922544 22:50922544T-C T C
+22 50923042 22:50923042C-G C G
+22 50923217 22:50923217T-C T C
+22 50923390 22:50923390G-C G C
+22 50923408 22:50923408G-A G A
+22 50924420 22:50924420C-T C T
+22 50924679 22:50924679C-T C T
+22 50925098 22:50925098G-A G A
+22 50925405 22:50925405C-T C T
+22 50925672 22:50925672T-C T C
+22 50925771 22:50925771G-A G A
+22 50925997 22:50925997C-A C A
+22 50926768 22:50926768C-T C T
+22 50926894 22:50926894C-T C T
+22 50928005 22:50928005G-A G A
+22 50928026 22:50928026G-A G A
+22 50928340 22:50928340G-C G C
+22 50928994 22:50928994T-C T C
+22 50929581 22:50929581T-C T C
+22 50930802 22:50930802A-G A G
+22 50931486 22:50931486T-C T C
+22 50931609 22:50931609G-A G A
+22 50932434 22:50932434T-C T C
+22 50932563 22:50932563C-T C T
+22 50932796 22:50932796C-T C T
+22 50933754 22:50933754T-C T C
+22 50934751 22:50934751A-G A G
+22 50935082 22:50935082T-C T C
+22 50935125 22:50935125C-T C T
+22 50935155 22:50935155C-G C G
+22 50935385 22:50935385T-C T C
+22 50935458 22:50935458A-G A G
+22 50935536 22:50935536G-A G A
+22 50936035 22:50936035A-C A C
+22 50936324 22:50936324T-C T C
+22 50936613 22:50936613T-A T A
+22 50937043 22:50937043A-C A C
+22 50937445 22:50937445C-T C T
+22 50937793 22:50937793G-A G A
+22 50937900 22:50937900A-G A G
+22 50937969 22:50937969T-G T G
+22 50938614 22:50938614T-C T C
+22 50938771 22:50938771G-A G A
+22 50939029 22:50939029A-G A G
+22 50939304 22:50939304G-C G C
+22 50939586 22:50939586G-C G C
+22 50939714 22:50939714G-A G A
+22 50940007 22:50940007A-G A G
+22 50940564 22:50940564A-G A G
+22 50940762 22:50940762A-G A G
+22 50941985 22:50941985T-C T C
+22 50942121 22:50942121C-T C T
+22 50943004 22:50943004C-A C A
+22 50943010 22:50943010G-A G A
+22 50943232 22:50943232G-A G A
+22 50943423 22:50943423G-A G A
+22 50944128 22:50944128G-A G A
+22 50944163 22:50944163G-A G A
+22 50944381 22:50944381C-T C T
+22 50945256 22:50945256A-G A G
+22 50945657 22:50945657G-A G A
+22 50945799 22:50945799C-G C G
+22 50946965 22:50946965T-C T C
+22 50948310 22:50948310A-G A G
+22 50950175 22:50950175C-T C T
+22 50950507 22:50950507G-A G A
+22 50950564 22:50950564A-C A C
+22 50952570 22:50952570A-G A G
+22 50954635 22:50954635G-A G A
+22 50954685 22:50954685G-A G A
+22 50955399 22:50955399C-T C T
+22 50955538 22:50955538A-G A G
+22 50955615 22:50955615C-T C T
+22 50957462 22:50957462C-T C T
+22 50957520 22:50957520G-A G A
+22 50957598 22:50957598A-G A G
+22 50958392 22:50958392C-T C T
+22 50959052 22:50959052A-G A G
+22 50959608 22:50959608C-T C T
+22 50960101 22:50960101G-A G A
+22 50960682 22:50960682C-T C T
+22 50961169 22:50961169A-G A G
+22 50961786 22:50961786C-T C T
+22 50961854 22:50961854T-C T C
+22 50962208 22:50962208T-G T G
+22 50962259 22:50962259G-A G A
+22 50962782 22:50962782C-G C G
+22 50963357 22:50963357G-C G C
+22 50963540 22:50963540G-C G C
+22 50963905 22:50963905C-T C T
+22 50963965 22:50963965C-G C G
+22 50964153 22:50964153T-C T C
+22 50964236 22:50964236G-A G A
+22 50964255 22:50964255C-T C T
+22 50964446 22:50964446A-T A T
+22 50964862 22:50964862G-A G A
+22 50966545 22:50966545A-G A G
+22 50966634 22:50966634G-T G T
+22 50966914 22:50966914T-C T C
+22 50970068 22:50970068C-T C T
+22 50971047 22:50971047T-C T C
+22 50971266 22:50971266T-C T C
+22 50971509 22:50971509T-G T G
+22 50971752 22:50971752A-C A C
+22 50971795 22:50971795G-A G A
+22 50971854 22:50971854G-A G A
+22 50972541 22:50972541T-C T C
+22 50973113 22:50973113C-T C T
+22 50973779 22:50973779G-A G A
+22 50973817 22:50973817C-T C T
+22 50974100 22:50974100A-G A G
+22 50974438 22:50974438G-A G A
+22 50974501 22:50974501T-C T C
+22 50974535 22:50974535G-A G A
+22 50975601 22:50975601A-G A G
+22 50975645 22:50975645G-A G A
+22 50975686 22:50975686A-T A T
+22 50975753 22:50975753G-A G A
+22 50976043 22:50976043T-C T C
+22 50976073 22:50976073T-C T C
+22 50976152 22:50976152T-C T C
+22 50976754 22:50976754T-C T C
+22 50977167 22:50977167A-T A T
+22 50977345 22:50977345A-G A G
+22 50977738 22:50977738T-C T C
+22 50978024 22:50978024C-A C A
+22 50978262 22:50978262G-A G A
+22 50978504 22:50978504G-A G A
+22 50978520 22:50978520C-T C T
+22 50978931 22:50978931C-T C T
+22 50980071 22:50980071G-A G A
+22 50980818 22:50980818C-A C A
+22 50980985 22:50980985G-T G T
+22 50981043 22:50981043C-T C T
+22 50981053 22:50981053A-T A T
+22 50981214 22:50981214C-T C T
+22 50981326 22:50981326C-T C T
+22 50981436 22:50981436G-A G A
+22 50981829 22:50981829C-T C T
+22 50981942 22:50981942C-T C T
+22 50982158 22:50982158T-C T C
+22 50982272 22:50982272G-A G A
+22 50982457 22:50982457G-A G A
+22 50982539 22:50982539C-G C G
+22 50982986 22:50982986C-G C G
+22 50983332 22:50983332C-G C G
+22 50983936 22:50983936A-G A G
+22 50984003 22:50984003A-G A G
+22 50984055 22:50984055T-C T C
+22 50984599 22:50984599G-T G T
+22 50984708 22:50984708C-G C G
+22 50985023 22:50985023C-A C A
+22 50985269 22:50985269T-C T C
+22 50985703 22:50985703A-G A G
+22 50985732 22:50985732C-T C T
+22 50985875 22:50985875T-C T C
+22 50987287 22:50987287A-G A G
+22 50987843 22:50987843C-T C T
+22 50988062 22:50988062G-T G T
+22 50988193 22:50988193A-G A G
+22 50988695 22:50988695T-C T C
+22 50989197 22:50989197C-T C T
+22 50989326 22:50989326A-G A G
+22 50989537 22:50989537G-A G A
+22 50990807 22:50990807T-C T C
+22 50991033 22:50991033C-T C T
+22 50991787 22:50991787G-A G A
+22 50992097 22:50992097C-T C T
+22 50992232 22:50992232A-G A G
+22 50992967 22:50992967A-G A G
+22 50993225 22:50993225T-C T C
+22 50993798 22:50993798G-C G C
+22 50993807 22:50993807T-C T C
+22 50994503 22:50994503T-C T C
+22 50996177 22:50996177G-A G A
+22 50996681 22:50996681A-C A C
+22 50998973 22:50998973A-C A C
+22 50999182 22:50999182C-T C T
+22 50999490 22:50999490G-A G A
+22 50999502 22:50999502G-A G A
+22 50999538 22:50999538A-G A G
+22 50999681 22:50999681A-G A G
+22 51000098 22:51000098G-A G A
+22 51000205 22:51000205A-C A C
+22 51000346 22:51000346G-T G T
+22 51001216 22:51001216G-C G C
+22 51001271 22:51001271G-A G A
+22 51001391 22:51001391C-G C G
+22 51001394 22:51001394T-G T G
+22 51001432 22:51001432G-C G C
+22 51001838 22:51001838C-T C T
+22 51002551 22:51002551A-G A G
+22 51002763 22:51002763C-A C A
+22 51002960 22:51002960C-T C T
+22 51003836 22:51003836A-G A G
+22 51004053 22:51004053T-C T C
+22 51004104 22:51004104C-T C T
+22 51004170 22:51004170G-A G A
+22 51004348 22:51004348T-C T C
+22 51004371 22:51004371G-A G A
+22 51004421 22:51004421G-A G A
+22 51004876 22:51004876A-G A G
+22 51005160 22:51005160G-A G A
+22 51006716 22:51006716G-A G A
+22 51006988 22:51006988T-C T C
+22 51007452 22:51007452C-T C T
+22 51007488 22:51007488A-G A G
+22 51008121 22:51008121G-A G A
+22 51008496 22:51008496C-T C T
+22 51009953 22:51009953C-T C T
+22 51010112 22:51010112G-A G A
+22 51010339 22:51010339G-A G A
+22 51010788 22:51010788T-A T A
+22 51011376 22:51011376G-C G C
+22 51011936 22:51011936T-C T C
+22 51013464 22:51013464T-C T C
+22 51013772 22:51013772A-G A G
+22 51013998 22:51013998C-T C T
+22 51015210 22:51015210G-C G C
+22 51015481 22:51015481G-A G A
+22 51015557 22:51015557C-T C T
+22 51016098 22:51016098A-G A G
+22 51017082 22:51017082T-A T A
+22 51018579 22:51018579A-G A G
+22 51019271 22:51019271C-T C T
+22 51020668 22:51020668C-A C A
+22 51021579 22:51021579A-C A C
+22 51021599 22:51021599C-T C T
+22 51021763 22:51021763G-C G C
+22 51022117 22:51022117C-A C A
+22 51022519 22:51022519C-T C T
+22 51022521 22:51022521T-C T C
+22 51022569 22:51022569A-G A G
+22 51022700 22:51022700G-A G A
+22 51022862 22:51022862A-G A G
+22 51022992 22:51022992C-T C T
+22 51023152 22:51023152T-G T G
+22 51023340 22:51023340A-G A G
+22 51023424 22:51023424T-C T C
+22 51023652 22:51023652G-A G A
+22 51023791 22:51023791G-A G A
+22 51023924 22:51023924C-T C T
+22 51024116 22:51024116C-T C T
+22 51024308 22:51024308T-C T C
+22 51024346 22:51024346G-A G A
+22 51024515 22:51024515A-T A T
+22 51024624 22:51024624T-C T C
+22 51024837 22:51024837G-A G A
+22 51025074 22:51025074C-T C T
+22 51025595 22:51025595C-G C G
+22 51025599 22:51025599C-A C A
+22 51025913 22:51025913C-T C T
+22 51028202 22:51028202C-T C T
+22 51028255 22:51028255C-T C T
+22 51028945 22:51028945C-T C T
+22 51029091 22:51029091G-C G C
+22 51030643 22:51030643T-C T C
+22 51030749 22:51030749A-G A G
+22 51031209 22:51031209G-C G C
+22 51031267 22:51031267T-C T C
+22 51031593 22:51031593A-G A G
+22 51033119 22:51033119T-C T C
+22 51033840 22:51033840C-G C G
+22 51034177 22:51034177G-A G A
+22 51034565 22:51034565T-C T C
+22 51034867 22:51034867T-C T C
+22 51034870 22:51034870A-G A G
+22 51034882 22:51034882C-T C T
+22 51034961 22:51034961C-T C T
+22 51035427 22:51035427G-A G A
+22 51035885 22:51035885C-T C T
+22 51035938 22:51035938G-C G C
+22 51036021 22:51036021A-G A G
+22 51036387 22:51036387C-T C T
+22 51036634 22:51036634A-G A G
+22 51037751 22:51037751G-A G A
+22 51038118 22:51038118G-T G T
+22 51038312 22:51038312C-T C T
+22 51038369 22:51038369G-C G C
+22 51039637 22:51039637G-A G A
+22 51039768 22:51039768T-A T A
+22 51039778 22:51039778C-A C A
+22 51040134 22:51040134C-G C G
+22 51040546 22:51040546C-T C T
+22 51041663 22:51041663C-A C A
+22 51042032 22:51042032G-T G T
+22 51042034 22:51042034C-G C G
+22 51042336 22:51042336G-C G C
+22 51043278 22:51043278G-A G A
+22 51044407 22:51044407C-T C T
+22 51045190 22:51045190C-T C T
+22 51045433 22:51045433C-T C T
+22 51045480 22:51045480G-A G A
+22 51045744 22:51045744C-G C G
+22 51045816 22:51045816A-G A G
+22 51046091 22:51046091G-C G C
+22 51046096 22:51046096A-G A G
+22 51046163 22:51046163C-T C T
+22 51046189 22:51046189C-T C T
+22 51047576 22:51047576C-T C T
+22 51047933 22:51047933A-G A G
+22 51048059 22:51048059A-G A G
+22 51048400 22:51048400A-G A G
+22 51048514 22:51048514C-T C T
+22 51048781 22:51048781T-G T G
+22 51048812 22:51048812G-C G C
+22 51051214 22:51051214C-T C T
+22 51052379 22:51052379T-C T C
+22 51053070 22:51053070T-C T C
+22 51053131 22:51053131G-A G A
+22 51053719 22:51053719T-C T C
+22 51054264 22:51054264T-C T C
+22 51054396 22:51054396T-G T G
+22 51054416 22:51054416A-G A G
+22 51054466 22:51054466C-T C T
+22 51055585 22:51055585A-G A G
+22 51055900 22:51055900C-T C T
+22 51055968 22:51055968T-A T A
+22 51057111 22:51057111A-G A G
+22 51057581 22:51057581A-G A G
+22 51057902 22:51057902T-C T C
+22 51057904 22:51057904T-G T G
+22 51057923 22:51057923C-T C T
+22 51058210 22:51058210C-G C G
+22 51059118 22:51059118G-T G T
+22 51059483 22:51059483G-A G A
+22 51060049 22:51060049G-A G A
+22 51060340 22:51060340G-C G C
+22 51060471 22:51060471T-C T C
+22 51060668 22:51060668G-A G A
+22 51062003 22:51062003G-A G A
+22 51062051 22:51062051G-T G T
+22 51062204 22:51062204G-A G A
+22 51062222 22:51062222G-C G C
+22 51062654 22:51062654T-C T C
+22 51062718 22:51062718C-T C T
+22 51062832 22:51062832G-A G A
+22 51062891 22:51062891C-G C G
+22 51062938 22:51062938C-T C T
+22 51063233 22:51063233A-T A T
+22 51063477 22:51063477T-C T C
+22 51063987 22:51063987G-C G C
+22 51064039 22:51064039G-C G C
+22 51064141 22:51064141G-A G A
+22 51064416 22:51064416T-C T C
+22 51064818 22:51064818T-C T C
+22 51064915 22:51064915G-A G A
+22 51065229 22:51065229G-A G A
+22 51065361 22:51065361C-A C A
+22 51066699 22:51066699T-C T C
+22 51066921 22:51066921G-A G A
+22 51066990 22:51066990C-T C T
+22 51068517 22:51068517C-G C G
+22 51068560 22:51068560G-A G A
+22 51068751 22:51068751C-T C T
+22 51068815 22:51068815A-C A C
+22 51070157 22:51070157C-G C G
+22 51070285 22:51070285T-C T C
+22 51070401 22:51070401T-C T C
+22 51071278 22:51071278G-T G T
+22 51071367 22:51071367C-T C T
+22 51071455 22:51071455C-G C G
+22 51072161 22:51072161C-T C T
+22 51072289 22:51072289C-A C A
+22 51073266 22:51073266G-C G C
+22 51073461 22:51073461T-C T C
+22 51073574 22:51073574G-T G T
+22 51073893 22:51073893C-G C G
+22 51074534 22:51074534G-A G A
+22 51074628 22:51074628G-A G A
+22 51075403 22:51075403C-A C A
+22 51075524 22:51075524C-T C T
+22 51075638 22:51075638T-A T A
+22 51075784 22:51075784G-A G A
+22 51076095 22:51076095G-A G A
+22 51076193 22:51076193G-C G C
+22 51076281 22:51076281C-T C T
+22 51076686 22:51076686C-T C T
+22 51078251 22:51078251C-T C T
+22 51079220 22:51079220C-T C T
+22 51079221 22:51079221G-A G A
+22 51080194 22:51080194T-C T C
+22 51080757 22:51080757A-G A G
+22 51080760 22:51080760A-G A G
+22 51081332 22:51081332T-C T C
+22 51083118 22:51083118C-A C A
+22 51084405 22:51084405T-A T A
+22 51087027 22:51087027A-G A G
+22 51087348 22:51087348G-A G A
+22 51089213 22:51089213C-A C A
+22 51089716 22:51089716C-G C G
+22 51091914 22:51091914C-T C T
+22 51094926 22:51094926C-T C T
+22 51095286 22:51095286C-T C T
+22 51095949 22:51095949T-G T G
+22 51098443 22:51098443A-G A G
+22 51098764 22:51098764G-A G A
+22 51099133 22:51099133G-A G A
+22 51099671 22:51099671T-C T C
+22 51099862 22:51099862C-T C T
+22 51099874 22:51099874C-G C G
+22 51101899 22:51101899C-A C A
+22 51101938 22:51101938A-C A C
+22 51103091 22:51103091T-C T C
+22 51103692 22:51103692A-G A G
+22 51104170 22:51104170A-G A G
+22 51104680 22:51104680G-A G A
+22 51105101 22:51105101G-A G A
+22 51105556 22:51105556C-T C T
+22 51106979 22:51106979G-C G C
+22 51108072 22:51108072G-A G A
+22 51108509 22:51108509G-A G A
+22 51108860 22:51108860A-G A G
+22 51109735 22:51109735G-A G A
+22 51109992 22:51109992T-C T C
+22 51110524 22:51110524C-G C G
+22 51110925 22:51110925C-G C G
+22 51110928 22:51110928G-T G T
+22 51112019 22:51112019C-G C G
+22 51114518 22:51114518C-T C T
+22 51115526 22:51115526T-C T C
+22 51115575 22:51115575C-T C T
+22 51115782 22:51115782A-C A C
+22 51115863 22:51115863G-A G A
+22 51117137 22:51117137G-A G A
+22 51117580 22:51117580T-C T C
+22 51121416 22:51121416T-G T G
+22 51121521 22:51121521C-T C T
+22 51121561 22:51121561G-T G T
+22 51122593 22:51122593C-A C A
+22 51123467 22:51123467T-C T C
+22 51123505 22:51123505G-A G A
+22 51123649 22:51123649C-T C T
+22 51125913 22:51125913A-G A G
+22 51126075 22:51126075G-A G A
+22 51126128 22:51126128T-A T A
+22 51126202 22:51126202T-C T C
+22 51126242 22:51126242C-A C A
+22 51126799 22:51126799G-A G A
+22 51126986 22:51126986C-T C T
+22 51128693 22:51128693C-T C T
+22 51129324 22:51129324T-C T C
+22 51131384 22:51131384G-A G A
+22 51131736 22:51131736C-T C T
+22 51133518 22:51133518G-A G A
+22 51133580 22:51133580C-A C A
+22 51134888 22:51134888C-T C T
+22 51134993 22:51134993C-G C G
+22 51135240 22:51135240T-C T C
+22 51135384 22:51135384C-T C T
+22 51135451 22:51135451G-C G C
+22 51135545 22:51135545T-C T C
+22 51135595 22:51135595A-T A T
+22 51136408 22:51136408C-T C T
+22 51136646 22:51136646C-T C T
+22 51137094 22:51137094G-A G A
+22 51137249 22:51137249T-C T C
+22 51138535 22:51138535C-A C A
+22 51138753 22:51138753A-G A G
+22 51139178 22:51139178C-T C T
+22 51139380 22:51139380T-C T C
+22 51139617 22:51139617C-T C T
+22 51139635 22:51139635C-T C T
+22 51140316 22:51140316C-T C T
+22 51140398 22:51140398C-G C G
+22 51141410 22:51141410G-C G C
+22 51141611 22:51141611A-G A G
+22 51142381 22:51142381G-A G A
+22 51142979 22:51142979G-T G T
+22 51143309 22:51143309G-C G C
+22 51143606 22:51143606C-G C G
+22 51144168 22:51144168A-G A G
+22 51144305 22:51144305G-A G A
+22 51144731 22:51144731T-C T C
+22 51145136 22:51145136C-T C T
+22 51145746 22:51145746C-T C T
+22 51145781 22:51145781C-T C T
+22 51146139 22:51146139A-G A G
+22 51146439 22:51146439A-G A G
+22 51147015 22:51147015A-G A G
+22 51148424 22:51148424G-A G A
+22 51148993 22:51148993C-T C T
+22 51148995 22:51148995G-A G A
+22 51149320 22:51149320C-G C G
+22 51150167 22:51150167T-C T C
+22 51150473 22:51150473G-A G A
+22 51150771 22:51150771A-G A G
+22 51151350 22:51151350C-T C T
+22 51151464 22:51151464A-G A G
+22 51151631 22:51151631C-T C T
+22 51151684 22:51151684G-A G A
+22 51151724 22:51151724C-T C T
+22 51152265 22:51152265C-G C G
+22 51153840 22:51153840G-T G T
+22 51155151 22:51155151T-C T C
+22 51155446 22:51155446A-T A T
+22 51155733 22:51155733T-C T C
+22 51155826 22:51155826A-G A G
+22 51156078 22:51156078G-A G A
+22 51156732 22:51156732G-A G A
+22 51156933 22:51156933A-G A G
+22 51157483 22:51157483C-T C T
+22 51157531 22:51157531G-A G A
+22 51158017 22:51158017G-C G C
+22 51158301 22:51158301T-C T C
+22 51158499 22:51158499T-G T G
+22 51161019 22:51161019C-T C T
+22 51161093 22:51161093C-T C T
+22 51161281 22:51161281C-A C A
+22 51162059 22:51162059G-A G A
+22 51163039 22:51163039G-T G T
+22 51163138 22:51163138C-T C T
+22 51163910 22:51163910C-T C T
+22 51164109 22:51164109G-C G C
+22 51164115 22:51164115C-T C T
+22 51164287 22:51164287T-C T C
+22 51165664 22:51165664G-A G A
+22 51171497 22:51171497G-A G A
+22 51175626 22:51175626A-G A G
+22 51178090 22:51178090G-A G A
+22 51181759 22:51181759A-G A G
+22 51181986 22:51181986T-C T C
+22 51182090 22:51182090G-A G A
+22 51182399 22:51182399A-G A G
+22 51183935 22:51183935C-T C T
+22 51185848 22:51185848G-A G A
+22 51186276 22:51186276T-C T C
+22 51187440 22:51187440A-G A G
+22 51187573 22:51187573C-T C T
+22 51187898 22:51187898T-C T C
+22 51188318 22:51188318T-G T G
+22 51193629 22:51193629A-G A G
+22 51195550 22:51195550C-A C A
+22 51196164 22:51196164A-T A T
+22 51196296 22:51196296G-C G C
+22 51197576 22:51197576G-C G C
+22 51197602 22:51197602T-A T A
+22 51198569 22:51198569G-C G C
+22 51198906 22:51198906G-A G A
+22 51202748 22:51202748A-G A G
+22 51208568 22:51208568G-T G T
+22 51211031 22:51211031A-G A G
+22 51213613 22:51213613C-T C T
+22 51216564 22:51216564T-C T C
diff --git a/example/run-quasar.sh b/example/run-quasar.sh
index dba904e..4e03a86 100644
--- a/example/run-quasar.sh
+++ b/example/run-quasar.sh
@@ -2,13 +2,22 @@
# Linear model.
/home/jp2045/quasar/build/quasar \
- -p chr22-n100 \
- -b mean-pheno-n100.bed \
- -c cov-n100.tsv \
+ --plink chr22-n100 \
+ --bed mean-pheno-n100.bed \
+ --cov cov-n100.tsv \
-o lm-example \
--model lm \
--mode cis
+# Linear model with pgen.
+/home/jp2045/quasar/build/quasar \
+ --pgen chr22-n100 \
+ --bed mean-pheno-n100.bed \
+ --cov cov-n100.tsv \
+ -o lm-pgen-example \
+ --model lm \
+ --mode cis
+
# Negative binomial GLM.
/home/jp2045/quasar/build/quasar \
-p chr22-n100 \
diff --git a/external_libs/pgenlib/LICENSE b/external_libs/pgenlib/LICENSE
new file mode 100644
index 0000000..0a04128
--- /dev/null
+++ b/external_libs/pgenlib/LICENSE
@@ -0,0 +1,165 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc.
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+
+ This version of the GNU Lesser General Public License incorporates
+the terms and conditions of version 3 of the GNU General Public
+License, supplemented by the additional permissions listed below.
+
+ 0. Additional Definitions.
+
+ As used herein, "this License" refers to version 3 of the GNU Lesser
+General Public License, and the "GNU GPL" refers to version 3 of the GNU
+General Public License.
+
+ "The Library" refers to a covered work governed by this License,
+other than an Application or a Combined Work as defined below.
+
+ An "Application" is any work that makes use of an interface provided
+by the Library, but which is not otherwise based on the Library.
+Defining a subclass of a class defined by the Library is deemed a mode
+of using an interface provided by the Library.
+
+ A "Combined Work" is a work produced by combining or linking an
+Application with the Library. The particular version of the Library
+with which the Combined Work was made is also called the "Linked
+Version".
+
+ The "Minimal Corresponding Source" for a Combined Work means the
+Corresponding Source for the Combined Work, excluding any source code
+for portions of the Combined Work that, considered in isolation, are
+based on the Application, and not on the Linked Version.
+
+ The "Corresponding Application Code" for a Combined Work means the
+object code and/or source code for the Application, including any data
+and utility programs needed for reproducing the Combined Work from the
+Application, but excluding the System Libraries of the Combined Work.
+
+ 1. Exception to Section 3 of the GNU GPL.
+
+ You may convey a covered work under sections 3 and 4 of this License
+without being bound by section 3 of the GNU GPL.
+
+ 2. Conveying Modified Versions.
+
+ If you modify a copy of the Library, and, in your modifications, a
+facility refers to a function or data to be supplied by an Application
+that uses the facility (other than as an argument passed when the
+facility is invoked), then you may convey a copy of the modified
+version:
+
+ a) under this License, provided that you make a good faith effort to
+ ensure that, in the event an Application does not supply the
+ function or data, the facility still operates, and performs
+ whatever part of its purpose remains meaningful, or
+
+ b) under the GNU GPL, with none of the additional permissions of
+ this License applicable to that copy.
+
+ 3. Object Code Incorporating Material from Library Header Files.
+
+ The object code form of an Application may incorporate material from
+a header file that is part of the Library. You may convey such object
+code under terms of your choice, provided that, if the incorporated
+material is not limited to numerical parameters, data structure
+layouts and accessors, or small macros, inline functions and templates
+(ten or fewer lines in length), you do both of the following:
+
+ a) Give prominent notice with each copy of the object code that the
+ Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the object code with a copy of the GNU GPL and this license
+ document.
+
+ 4. Combined Works.
+
+ You may convey a Combined Work under terms of your choice that,
+taken together, effectively do not restrict modification of the
+portions of the Library contained in the Combined Work and reverse
+engineering for debugging such modifications, if you also do each of
+the following:
+
+ a) Give prominent notice with each copy of the Combined Work that
+ the Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the Combined Work with a copy of the GNU GPL and this license
+ document.
+
+ c) For a Combined Work that displays copyright notices during
+ execution, include the copyright notice for the Library among
+ these notices, as well as a reference directing the user to the
+ copies of the GNU GPL and this license document.
+
+ d) Do one of the following:
+
+ 0) Convey the Minimal Corresponding Source under the terms of this
+ License, and the Corresponding Application Code in a form
+ suitable for, and under terms that permit, the user to
+ recombine or relink the Application with a modified version of
+ the Linked Version to produce a modified Combined Work, in the
+ manner specified by section 6 of the GNU GPL for conveying
+ Corresponding Source.
+
+ 1) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (a) uses at run time
+ a copy of the Library already present on the user's computer
+ system, and (b) will operate properly with a modified version
+ of the Library that is interface-compatible with the Linked
+ Version.
+
+ e) Provide Installation Information, but only if you would otherwise
+ be required to provide such information under section 6 of the
+ GNU GPL, and only to the extent that such information is
+ necessary to install and execute a modified version of the
+ Combined Work produced by recombining or relinking the
+ Application with a modified version of the Linked Version. (If
+ you use option 4d0, the Installation Information must accompany
+ the Minimal Corresponding Source and Corresponding Application
+ Code. If you use option 4d1, you must provide the Installation
+ Information in the manner specified by section 6 of the GNU GPL
+ for conveying Corresponding Source.)
+
+ 5. Combined Libraries.
+
+ You may place library facilities that are a work based on the
+Library side by side in a single library together with other library
+facilities that are not Applications and are not covered by this
+License, and convey such a combined library under terms of your
+choice, if you do both of the following:
+
+ a) Accompany the combined library with a copy of the same work based
+ on the Library, uncombined with any other library facilities,
+ conveyed under the terms of this License.
+
+ b) Give prominent notice with the combined library that part of it
+ is a work based on the Library, and explaining where to find the
+ accompanying uncombined form of the same work.
+
+ 6. Revised Versions of the GNU Lesser General Public License.
+
+ The Free Software Foundation may publish revised and/or new versions
+of the GNU Lesser General Public License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Library as you received it specifies that a certain numbered version
+of the GNU Lesser General Public License "or any later version"
+applies to it, you have the option of following the terms and
+conditions either of that published version or of any later version
+published by the Free Software Foundation. If the Library as you
+received it does not specify a version number of the GNU Lesser
+General Public License, you may choose any version of the GNU Lesser
+General Public License ever published by the Free Software Foundation.
+
+ If the Library as you received it specifies that a proxy can decide
+whether future versions of the GNU Lesser General Public License shall
+apply, that proxy's public statement of acceptance of any version is
+permanent authorization for you to choose that version for the
+Library.
diff --git a/external_libs/pgenlib/Makefile b/external_libs/pgenlib/Makefile
new file mode 100644
index 0000000..262d920
--- /dev/null
+++ b/external_libs/pgenlib/Makefile
@@ -0,0 +1,27 @@
+#
+# Makefile to compile PGEN library
+#
+AR ?= ar
+CXX ?= g++
+CXXFLAGS = -O3 -Wall -std=c++11
+CFLAGS =
+
+UNAME_S := $(shell uname -s)
+ifeq ($(UNAME_S),Darwin)
+ CXXFLAGS += -arch x86_64
+endif
+
+OBJECTS = $(patsubst %.cc,%.o,$(wildcard ./include/*.cc)) $(patsubst %.cpp,%.o,$(wildcard *.cpp)) $(patsubst %.cc,%.o,$(wildcard *.cc))
+INC = -I./simde/ -I./include/
+
+pgenlib.a: ${OBJECTS}
+ ${AR} rcs $@ $^
+
+%.o: %.cpp
+ ${CXX} ${CXXFLAGS} -o $@ -c $< ${INC}
+
+%.o: %.cc
+ ${CXX} ${CXXFLAGS} -o $@ -c $< ${INC}
+
+clean:
+ rm -f *.o *.a ./include/*.o
diff --git a/external_libs/pgenlib/include/pgenlib_misc.cc b/external_libs/pgenlib/include/pgenlib_misc.cc
new file mode 100644
index 0000000..332ec39
--- /dev/null
+++ b/external_libs/pgenlib/include/pgenlib_misc.cc
@@ -0,0 +1,3630 @@
+// This library is part of PLINK 2.0, copyright (C) 2005-2024 Shaun Purcell,
+// Christopher Chang.
+//
+// This library is free software: you can redistribute it and/or modify it
+// under the terms of the GNU Lesser General Public License as published by the
+// Free Software Foundation; either version 3 of the License, or (at your
+// option) any later version.
+//
+// This library is distributed in the hope that it will be useful, but WITHOUT
+// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+// FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+// for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this library. If not, see .
+
+
+#include "pgenlib_misc.h"
+
+#ifdef __cplusplus
+namespace plink2 {
+#endif
+
+#ifdef USE_AVX2
+void CopyNyparrNonemptySubset(const uintptr_t* __restrict raw_nyparr, const uintptr_t* __restrict subset_mask, uint32_t raw_nyparr_entry_ct, uint32_t subset_entry_ct, uintptr_t* __restrict output_nyparr) {
+ if (subset_entry_ct == raw_nyparr_entry_ct) {
+ memcpy(output_nyparr, raw_nyparr, DivUp(subset_entry_ct, kBitsPerWordD2) * sizeof(intptr_t));
+ ZeroTrailingNyps(subset_entry_ct, output_nyparr);
+ return;
+ }
+ assert(subset_entry_ct);
+ uintptr_t cur_output_word = 0;
+
+ uintptr_t* output_nyparr_iter = output_nyparr;
+
+ uintptr_t* output_nyparr_last = &(output_nyparr[subset_entry_ct / kBitsPerWordD2]);
+ const uint32_t word_write_shift_end = 2 * (subset_entry_ct % kBitsPerWordD2);
+ uint32_t word_write_shift = 0;
+ for (uint32_t subset_mask_widx = 0; ; ++subset_mask_widx) {
+ const uintptr_t cur_include_word = subset_mask[subset_mask_widx];
+ if (cur_include_word) {
+ uint32_t cur_include_halfword = S_CAST(Halfword, cur_include_word);
+ for (uint32_t wordhalf_idx = 0; ; ++wordhalf_idx) {
+ if (cur_include_halfword) {
+ uintptr_t extracted_bits = raw_nyparr[subset_mask_widx * 2 + wordhalf_idx];
+ uint32_t set_bit_ct = kBitsPerWord;
+ if (cur_include_halfword != UINT32_MAX) {
+ const uintptr_t pext_mask = 3 * UnpackHalfwordToWord(cur_include_halfword);
+ extracted_bits = _pext_u64(extracted_bits, pext_mask);
+ set_bit_ct = PopcountWord(pext_mask);
+ }
+ cur_output_word |= extracted_bits << word_write_shift;
+ word_write_shift += set_bit_ct;
+ if (word_write_shift >= kBitsPerWord) {
+ *output_nyparr_iter++ = cur_output_word;
+ word_write_shift -= kBitsPerWord;
+ cur_output_word = 0;
+ if (word_write_shift) {
+ cur_output_word = extracted_bits >> (set_bit_ct - word_write_shift);
+ }
+ }
+ }
+ if (wordhalf_idx) {
+ break;
+ }
+ cur_include_halfword = cur_include_word >> kBitsPerWordD2;
+ }
+ if (output_nyparr_iter == output_nyparr_last) {
+ if (word_write_shift == word_write_shift_end) {
+ if (word_write_shift_end) {
+ *output_nyparr_last = cur_output_word;
+ }
+ return;
+ }
+ }
+ }
+ }
+}
+
+// bit_idx_start assumed to be < kBitsPerWord
+void CopyGenomatchSubset(const uintptr_t* __restrict raw_bitarr, const uintptr_t* __restrict genoarr, uintptr_t match_word, uint32_t write_bit_idx_start, uint32_t bit_ct, void* __restrict output) {
+ const uint32_t bit_idx_end = bit_ct + write_bit_idx_start;
+ const uint32_t bit_idx_end_lowbits = bit_idx_end % kBitsPerWord;
+ const Halfword* raw_bitarr_alias = DowncastKWToHW(raw_bitarr);
+ unsigned char* output_biter = S_CAST(unsigned char*, output);
+ unsigned char* output_last = &(output_biter[(bit_idx_end / kBitsPerWord) * kBytesPerWord]);
+ uintptr_t cur_output_word = 0;
+ uint32_t read_widx = UINT32_MAX; // deliberate overflow
+ uint32_t write_idx_lowbits = write_bit_idx_start;
+ while ((output_biter != output_last) || (write_idx_lowbits != bit_idx_end_lowbits)) {
+ uintptr_t cur_mask_word;
+ // sparse genoarr optimization
+ // guaranteed to terminate since there's at least one more set bit
+ do {
+ // todo: try reading two genoarr words at a time. would need to be very
+ // careful with the possible trailing word, though.
+ // more important to optimize this function now that regular phased-call
+ // handling code is using it.
+ cur_mask_word = genoarr[++read_widx] ^ match_word;
+ cur_mask_word = (~(cur_mask_word | (cur_mask_word >> 1))) & kMask5555;
+ } while (!cur_mask_word);
+ uintptr_t extracted_bits = raw_bitarr_alias[read_widx];
+ uint32_t set_bit_ct = kBitsPerWordD2;
+ if (cur_mask_word != kMask5555) {
+ const uintptr_t cur_mask_hw = PackWordToHalfword(cur_mask_word);
+ set_bit_ct = PopcountWord(cur_mask_word);
+ extracted_bits = _pext_u64(extracted_bits, cur_mask_hw);
+ }
+ cur_output_word |= extracted_bits << write_idx_lowbits;
+ const uint32_t new_write_idx_lowbits = write_idx_lowbits + set_bit_ct;
+ if (new_write_idx_lowbits >= kBitsPerWord) {
+ AppendW(cur_output_word, &output_biter);
+ // ...and these are the bits that fell off
+ // impossible for write_idx_lowbits to be zero here
+ cur_output_word = extracted_bits >> (kBitsPerWord - write_idx_lowbits);
+ }
+ write_idx_lowbits = new_write_idx_lowbits % kBitsPerWord;
+ }
+ if (write_idx_lowbits) {
+ CopyToUnalignedW(output_biter, &cur_output_word);
+ }
+}
+
+// Variant of ExpandBytearr() which is based off a target 2-bit value instead
+// of single expand_mask bits. expand_size must be the number of instances of
+// the target value in genovec.
+void ExpandBytearrFromGenoarr(const void* __restrict compact_bitarr, const uintptr_t* __restrict genoarr, uintptr_t match_word, uint32_t genoword_ct, uint32_t expand_size, uint32_t read_start_bit, uintptr_t* __restrict target) {
+ const uint32_t expand_sizex_m1 = expand_size + read_start_bit - 1;
+ const uint32_t leading_byte_ct = 1 + (expand_sizex_m1 % kBitsPerWord) / CHAR_BIT;
+ const uint32_t genoword_ct_m1 = genoword_ct - 1;
+ uintptr_t compact_word = SubwordLoad(compact_bitarr, leading_byte_ct) >> read_start_bit;
+ const unsigned char* compact_bitarr_biter = &(S_CAST(const unsigned char*, compact_bitarr)[leading_byte_ct]);
+ uint32_t compact_idx_lowbits = read_start_bit + CHAR_BIT * (sizeof(intptr_t) - leading_byte_ct);
+ for (uint32_t widx = 0; ; widx += 2) {
+ uintptr_t mask_word;
+ if (widx >= genoword_ct_m1) {
+ if (widx > genoword_ct_m1) {
+ return;
+ }
+ mask_word = 0;
+ } else {
+ const uintptr_t geno_word1 = genoarr[widx + 1] ^ match_word;
+ mask_word = PackWordToHalfwordMask5555(~(geno_word1 | (geno_word1 >> 1)));
+ mask_word = mask_word << 32;
+ }
+ const uintptr_t geno_word0 = genoarr[widx] ^ match_word;
+ mask_word |= PackWordToHalfwordMask5555(~(geno_word0 | (geno_word0 >> 1)));
+ uintptr_t write_word = 0;
+ if (mask_word) {
+ const uint32_t mask_set_ct = PopcountWord(mask_word);
+ uint32_t next_compact_idx_lowbits = compact_idx_lowbits + mask_set_ct;
+ if (next_compact_idx_lowbits <= kBitsPerWord) {
+ write_word = _pdep_u64(compact_word, mask_word);
+ if (mask_set_ct != kBitsPerWord) {
+ compact_word = compact_word >> mask_set_ct;
+ } else {
+ // avoid nasal demons
+ compact_word = 0;
+ }
+ } else {
+ uintptr_t next_compact_word;
+ CopyFromUnalignedIncrW(&next_compact_word, &compact_bitarr_biter);
+ next_compact_idx_lowbits -= kBitsPerWord;
+ compact_word |= next_compact_word << (kBitsPerWord - compact_idx_lowbits);
+ write_word = _pdep_u64(compact_word, mask_word);
+ if (next_compact_idx_lowbits != kBitsPerWord) {
+ compact_word = next_compact_word >> next_compact_idx_lowbits;
+ } else {
+ compact_word = 0;
+ }
+ }
+ compact_idx_lowbits = next_compact_idx_lowbits;
+ }
+ target[widx / 2] = write_word;
+ }
+}
+#else // !USE_AVX2
+void CopyNyparrNonemptySubset(const uintptr_t* __restrict raw_nyparr, const uintptr_t* __restrict subset_mask, uint32_t raw_nyparr_entry_ct, uint32_t subset_entry_ct, uintptr_t* __restrict output_nyparr) {
+ if (subset_entry_ct == raw_nyparr_entry_ct) {
+ // subset_mask may be nullptr in this case
+ memcpy(output_nyparr, raw_nyparr, DivUp(subset_entry_ct, kBitsPerWordD2) * sizeof(intptr_t));
+ ZeroTrailingNyps(subset_entry_ct, output_nyparr);
+ return;
+ }
+ assert(subset_entry_ct);
+ assert(raw_nyparr_entry_ct >= subset_entry_ct);
+ uintptr_t cur_output_word = 0;
+
+ uintptr_t* output_nyparr_iter = output_nyparr;
+
+ uintptr_t* output_nyparr_last = &(output_nyparr[subset_entry_ct / kBitsPerWordD2]);
+ const uint32_t word_write_halfshift_end = subset_entry_ct % kBitsPerWordD2;
+ uint32_t word_write_halfshift = 0;
+ // if <= 2/3-filled, use sparse copy algorithm
+ // (tried CopyBitarrSubset() approach, that actually worsened things)
+ if (subset_entry_ct * (3 * k1LU) <= raw_nyparr_entry_ct * (2 * k1LU)) {
+ for (uint32_t subset_mask_widx = 0; ; ++subset_mask_widx) {
+ const uintptr_t cur_include_word = subset_mask[subset_mask_widx];
+ if (cur_include_word) {
+ uint32_t cur_include_halfword = S_CAST(Halfword, cur_include_word);
+ for (uint32_t wordhalf_idx = 0; ; ++wordhalf_idx) {
+ if (cur_include_halfword) {
+ uintptr_t raw_nyparr_word = raw_nyparr[subset_mask_widx * 2 + wordhalf_idx];
+ do {
+ uint32_t rqa_idx_lowbits = ctzu32(cur_include_halfword);
+ cur_output_word |= ((raw_nyparr_word >> (rqa_idx_lowbits * 2)) & 3) << (word_write_halfshift * 2);
+ if (++word_write_halfshift == kBitsPerWordD2) {
+ *output_nyparr_iter++ = cur_output_word;
+ word_write_halfshift = 0;
+ cur_output_word = 0;
+ }
+ cur_include_halfword &= cur_include_halfword - 1;
+ } while (cur_include_halfword);
+ }
+ if (wordhalf_idx) {
+ break;
+ }
+ cur_include_halfword = cur_include_word >> kBitsPerWordD2;
+ }
+ if (output_nyparr_iter == output_nyparr_last) {
+ if (word_write_halfshift == word_write_halfshift_end) {
+ if (word_write_halfshift_end) {
+ *output_nyparr_last = cur_output_word;
+ }
+ return;
+ }
+ }
+ }
+ }
+ }
+ // blocked copy
+ const uintptr_t* raw_nyparr_iter = raw_nyparr;
+ for (; ; ++subset_mask) {
+ const uintptr_t cur_include_word = *subset_mask;
+ uintptr_t cur_include_halfword = S_CAST(Halfword, cur_include_word);
+ for (uint32_t wordhalf_idx = 0; ; ++wordhalf_idx) {
+ uintptr_t raw_nyparr_word = *raw_nyparr_iter++;
+ while (cur_include_halfword) {
+ const uint32_t rqa_idx_lowbits = ctzw(cur_include_halfword);
+
+ // TAOCP, 7.1.3, (43).
+ const uintptr_t bottom_block_remover = (cur_include_halfword | (cur_include_halfword - 1)) + 1;
+
+ const uintptr_t raw_nyparr_curblock_unmasked = raw_nyparr_word >> (rqa_idx_lowbits * 2);
+ const uint32_t rqa_block_len = ctzw(bottom_block_remover) - rqa_idx_lowbits;
+ const uint32_t block_len_limit = kBitsPerWordD2 - word_write_halfshift;
+ cur_output_word |= raw_nyparr_curblock_unmasked << (2 * word_write_halfshift);
+ if (rqa_block_len < block_len_limit) {
+ word_write_halfshift += rqa_block_len;
+ cur_output_word = bzhi(cur_output_word, word_write_halfshift * 2);
+ } else {
+ // no need to mask, extra bits vanish off the high end
+ *output_nyparr_iter++ = cur_output_word;
+ word_write_halfshift = rqa_block_len - block_len_limit;
+ if (word_write_halfshift) {
+ cur_output_word = bzhi(raw_nyparr_curblock_unmasked >> (2 * block_len_limit), 2 * word_write_halfshift);
+ } else {
+ // avoid potential right-shift-[word length]
+ cur_output_word = 0;
+ }
+ }
+ cur_include_halfword &= bottom_block_remover;
+ }
+ if (wordhalf_idx) {
+ break;
+ }
+ cur_include_halfword = cur_include_word >> kBitsPerWordD2;
+ }
+ if (output_nyparr_iter == output_nyparr_last) {
+ if (word_write_halfshift == word_write_halfshift_end) {
+ if (word_write_halfshift_end) {
+ *output_nyparr_last = cur_output_word;
+ }
+ return;
+ }
+ }
+ }
+}
+
+void CopyGenomatchSubset(const uintptr_t* __restrict raw_bitarr, const uintptr_t* __restrict genovec, uintptr_t match_word, uint32_t write_bit_idx_start, uint32_t bit_ct, void* __restrict output) {
+ const uint32_t bit_idx_end = write_bit_idx_start + bit_ct;
+ const uint32_t bit_idx_end_lowbits = bit_idx_end % kBitsPerWord;
+ const Halfword* raw_bitarr_alias = DowncastKWToHW(raw_bitarr);
+ unsigned char* output_biter = S_CAST(unsigned char*, output);
+ unsigned char* output_last = &(output_biter[(bit_idx_end / kBitsPerWord) * kBytesPerWord]);
+ uintptr_t cur_output_word = 0;
+ uint32_t read_widx = UINT32_MAX; // deliberate overflow
+ uint32_t write_idx_lowbits = write_bit_idx_start;
+ while ((output_biter != output_last) || (write_idx_lowbits != bit_idx_end_lowbits)) {
+ uintptr_t geno_word;
+ // sparse genovec optimization
+ // guaranteed to terminate since there's at least one more set bit
+ do {
+ geno_word = genovec[++read_widx] ^ match_word;
+ geno_word = (~(geno_word | (geno_word >> 1))) & kMask5555;
+ } while (!geno_word);
+ // screw it, just iterate over set bits
+ const uint32_t cur_halfword = raw_bitarr_alias[read_widx];
+ do {
+ const uint32_t sample_idx_lowbits = ctzw(geno_word) / 2;
+ cur_output_word |= S_CAST(uintptr_t, (cur_halfword >> sample_idx_lowbits) & k1LU) << write_idx_lowbits;
+ if (++write_idx_lowbits == kBitsPerWord) {
+ AppendW(cur_output_word, &output_biter);
+ cur_output_word = 0;
+ write_idx_lowbits = 0;
+ }
+ geno_word &= geno_word - 1;
+ } while (geno_word);
+ }
+ if (write_idx_lowbits) {
+ CopyToUnalignedW(output_biter, &cur_output_word);
+ }
+}
+
+void ExpandBytearrFromGenoarr(const void* __restrict compact_bitarr, const uintptr_t* __restrict genoarr, uintptr_t match_word, uint32_t genoword_ct, uint32_t expand_size, uint32_t read_start_bit, uintptr_t* __restrict target) {
+ Halfword* target_alias = DowncastWToHW(target);
+ ZeroHwArr(RoundUpPow2(genoword_ct, 2), target_alias);
+ const unsigned char* compact_bitarr_alias = S_CAST(const unsigned char*, compact_bitarr);
+ const uint32_t expand_sizex_m1 = expand_size + read_start_bit - 1;
+ const uint32_t compact_widx_last = expand_sizex_m1 / kBitsPerWord;
+ uint32_t compact_idx_lowbits = read_start_bit;
+ uint32_t loop_len = kBitsPerWord;
+ uintptr_t write_hwidx = 0;
+ uintptr_t genomatch_bits = genoarr[0] ^ match_word;
+ genomatch_bits = (~(genomatch_bits | (genomatch_bits >> 1))) & kMask5555;
+ for (uint32_t compact_widx = 0; ; ++compact_widx) {
+ uintptr_t compact_word;
+ if (compact_widx >= compact_widx_last) {
+ if (compact_widx > compact_widx_last) {
+ return;
+ }
+ loop_len = 1 + (expand_sizex_m1 % kBitsPerWord);
+ // avoid possible segfault
+ compact_word = SubwordLoad(&(compact_bitarr_alias[compact_widx * kBytesPerWord]), DivUp(loop_len, CHAR_BIT));
+ } else {
+ CopyFromUnalignedOffsetW(&compact_word, compact_bitarr_alias, compact_widx);
+ }
+ for (; compact_idx_lowbits != loop_len; ++compact_idx_lowbits) {
+ while (!genomatch_bits) {
+ genomatch_bits = genoarr[++write_hwidx] ^ match_word;
+ genomatch_bits = (~(genomatch_bits | (genomatch_bits >> 1))) & kMask5555;
+ }
+ if (compact_word & (k1LU << compact_idx_lowbits)) {
+ const uint32_t lowbit_idx = ctzw(genomatch_bits);
+ target_alias[write_hwidx] |= 1U << (lowbit_idx / 2);
+ }
+ genomatch_bits &= genomatch_bits - 1;
+ }
+ compact_idx_lowbits = 0;
+ }
+}
+#endif
+
+// Harley-Seal algorithm only works for bitarrays, not nyparrays, so don't
+// add an AVX2 specialization here.
+// ...unless something like the interleaved_vec strategy is used? hmm. should
+// test this on basic frequency counter.
+/*
+void Count2FreqVec3(const VecW* geno_vvec, uint32_t vec_ct, uint32_t* __restrict alt1_plus_bothset_ctp, uint32_t* __restrict bothset_ctp) {
+ assert(!(vec_ct % 3));
+ // Increments bothset_ct by the number of 0b11 in the current block, and
+ // alt1_ct by twice the number of 0b10 plus the number of 0b01.
+ const VecW m1 = VCONST_W(kMask5555);
+ const VecW m2 = VCONST_W(kMask3333);
+ const VecW m4 = VCONST_W(kMask0F0F);
+ const VecW* geno_vvec_iter = geno_vvec;
+ uint32_t alt1_plus_bothset_ct = 0;
+ uint32_t bothset_ct = 0;
+
+ while (1) {
+ UniVec acc_alt1_plus_bothset;
+ UniVec acc_bothset;
+ acc_alt1_plus_bothset.vw = vecw_setzero();
+ acc_bothset.vw = vecw_setzero();
+ const VecW* geno_vvec_stop;
+ if (vec_ct < 30) {
+ if (!vec_ct) {
+ *alt1_plus_bothset_ctp = alt1_plus_bothset_ct;
+ *bothset_ctp = bothset_ct;
+ return;
+ }
+ geno_vvec_stop = &(geno_vvec_iter[vec_ct]);
+ vec_ct = 0;
+ } else {
+ geno_vvec_stop = &(geno_vvec_iter[30]);
+ vec_ct -= 30;
+ }
+ do {
+ VecW cur_geno_vword1 = *geno_vvec_iter++;
+ // process first two vwords simultaneously to minimize linear dependence
+ VecW cur_geno_vword2 = *geno_vvec_iter++;
+ VecW cur_geno_vword_low_lshifted1 = vecw_slli(cur_geno_vword1 & m1, 1);
+ VecW cur_geno_vword_low_lshifted2 = vecw_slli(cur_geno_vword2 & m1, 1);
+
+ // 00 -> 00; 01 -> 01; 10 -> 10; 11 -> 01
+ // note that _mm_andnot_si128 flips the *first* argument before the AND
+ // operation.
+ VecW alt1_plus_bothset1 = vecw_and_notfirst(cur_geno_vword_low_lshifted1, cur_geno_vword1);
+ VecW alt1_plus_bothset2 = vecw_and_notfirst(cur_geno_vword_low_lshifted2, cur_geno_vword2);
+
+ VecW bothset1 = vecw_srli(cur_geno_vword_low_lshifted1 & cur_geno_vword1, 1);
+ VecW bothset2 = vecw_srli(cur_geno_vword_low_lshifted2 & cur_geno_vword2, 1);
+
+ cur_geno_vword1 = *geno_vvec_iter++;
+ alt1_plus_bothset1 = (alt1_plus_bothset1 & m2) + (vecw_srli(alt1_plus_bothset1, 2) & m2);
+ bothset2 = bothset1 + bothset2;
+ alt1_plus_bothset2 = (alt1_plus_bothset2 & m2) + (vecw_srli(alt1_plus_bothset2, 2) & m2);
+ cur_geno_vword_low_lshifted1 = vecw_slli(cur_geno_vword1 & m1, 1);
+
+ alt1_plus_bothset2 = alt1_plus_bothset1 + alt1_plus_bothset2;
+ // alt1_plus_bothset2 now contains 4-bit values from 0-8, while bothset2
+ // contains 2-bit values from 0-2
+ // (todo: check whether this is faster if we use double_bothsetx
+ // variables instead of bothset1/bothset2)
+ bothset1 = vecw_srli(cur_geno_vword_low_lshifted1 & cur_geno_vword1, 1);
+ alt1_plus_bothset1 = vecw_and_notfirst(cur_geno_vword_low_lshifted1, cur_geno_vword1);
+ bothset2 = bothset1 + bothset2;
+ alt1_plus_bothset1 = (alt1_plus_bothset1 & m2) + (vecw_srli(alt1_plus_bothset1, 2) & m2);
+
+ bothset2 = (bothset2 & m2) + (vecw_srli(bothset2, 2) & m2);
+ alt1_plus_bothset2 = alt1_plus_bothset1 + alt1_plus_bothset2;
+ // alt1_plus_bothset2 now contains 4-bit values from 0-12, while bothset2
+ // contains 4-bit values from 0-6. aggregate both into 8-bit values.
+ bothset2 = (bothset2 & m4) + (vecw_srli(bothset2, 4) & m4);
+ alt1_plus_bothset2 = (alt1_plus_bothset2 & m4) + (vecw_srli(alt1_plus_bothset2, 4) & m4);
+
+ acc_bothset.vw = acc_bothset.vw + bothset2;
+ acc_alt1_plus_bothset.vw = acc_alt1_plus_bothset.vw + alt1_plus_bothset2;
+ } while (geno_vvec_iter < geno_vvec_stop);
+ const VecW m8 = VCONST_W(kMask00FF);
+ acc_bothset.vw = (acc_bothset.vw + vecw_srli(acc_bothset.vw, 8)) & m8;
+ acc_alt1_plus_bothset.vw = (acc_alt1_plus_bothset.vw & m8) + (vecw_srli(acc_alt1_plus_bothset.vw, 8) & m8);
+ bothset_ct += UniVecHsum16(acc_bothset);
+ alt1_plus_bothset_ct += UniVecHsum16(acc_alt1_plus_bothset);
+ }
+}
+*/
+
+// todo: benchmark against general-purpose counter
+void Count12Vec6(const VecW* geno_vvec, uint32_t vec_ct, uint32_t* __restrict raw_01_ctp, uint32_t* __restrict raw_both_ctp) {
+ assert(!(vec_ct % 6));
+ const VecW m1 = VCONST_W(kMask5555);
+ const VecW m2 = VCONST_W(kMask3333);
+ const VecW m4 = VCONST_W(kMask0F0F);
+ const VecW* geno_vvec_iter = geno_vvec;
+ VecW acc_01 = vecw_setzero();
+ VecW acc_both = vecw_setzero();
+ uintptr_t cur_incr = 60;
+ for (; ; vec_ct -= cur_incr) {
+ if (vec_ct < 60) {
+ if (!vec_ct) {
+ *raw_01_ctp = HsumW(acc_01);
+ *raw_both_ctp = HsumW(acc_both);
+ return;
+ }
+ cur_incr = vec_ct;
+ }
+ VecW inner_acc_01 = vecw_setzero();
+ VecW inner_acc_both = vecw_setzero();
+ const VecW* geno_vvec_stop = &(geno_vvec_iter[cur_incr]);
+ do {
+ VecW cur_vvec = *geno_vvec_iter++;
+ VecW vvec_rshift = vecw_srli(cur_vvec, 1);
+ VecW nyp_both = m1 & (cur_vvec ^ vvec_rshift);
+ VecW nyp_01 = nyp_both & cur_vvec;
+
+ cur_vvec = *geno_vvec_iter++;
+ vvec_rshift = vecw_srli(cur_vvec, 1);
+ VecW vvec_both = m1 & (cur_vvec ^ vvec_rshift);
+ nyp_01 = nyp_01 + (vvec_both & cur_vvec);
+ nyp_both = nyp_both + vvec_both;
+
+ cur_vvec = *geno_vvec_iter++;
+ vvec_rshift = vecw_srli(cur_vvec, 1);
+ vvec_both = m1 & (cur_vvec ^ vvec_rshift);
+ nyp_01 = nyp_01 + (vvec_both & cur_vvec);
+ nyp_both = nyp_both + vvec_both;
+
+ VecW nybble_01 = (nyp_01 & m2) + (vecw_srli(nyp_01, 2) & m2);
+ VecW nybble_both = (nyp_both & m2) + (vecw_srli(nyp_both, 2) & m2);
+
+ cur_vvec = *geno_vvec_iter++;
+ vvec_rshift = vecw_srli(cur_vvec, 1);
+ nyp_both = m1 & (cur_vvec ^ vvec_rshift);
+ nyp_01 = nyp_both & cur_vvec;
+
+ cur_vvec = *geno_vvec_iter++;
+ vvec_rshift = vecw_srli(cur_vvec, 1);
+ vvec_both = m1 & (cur_vvec ^ vvec_rshift);
+ nyp_01 = nyp_01 + (vvec_both & cur_vvec);
+ nyp_both = nyp_both + vvec_both;
+
+ cur_vvec = *geno_vvec_iter++;
+ vvec_rshift = vecw_srli(cur_vvec, 1);
+ vvec_both = m1 & (cur_vvec ^ vvec_rshift);
+ nyp_01 = nyp_01 + (vvec_both & cur_vvec);
+ nyp_both = nyp_both + vvec_both;
+
+ nybble_01 = nybble_01 + (nyp_01 & m2) + (vecw_srli(nyp_01, 2) & m2);
+ nybble_both = nybble_both + (nyp_both & m2) + (vecw_srli(nyp_both, 2) & m2);
+
+ inner_acc_01 = inner_acc_01 + (nybble_01 & m4) + (vecw_srli(nybble_01, 4) & m4);
+ inner_acc_both = inner_acc_both + (nybble_both & m4) + (vecw_srli(nybble_both, 4) & m4);
+ } while (geno_vvec_iter < geno_vvec_stop);
+ const VecW m0 = vecw_setzero();
+ acc_01 = acc_01 + vecw_bytesum(inner_acc_01, m0);
+ acc_both = acc_both + vecw_bytesum(inner_acc_both, m0);
+ }
+}
+
+void GenovecCount12Unsafe(const uintptr_t* genovec, uint32_t sample_ct, uint32_t* __restrict raw_01_ctp, uint32_t* __restrict raw_10_ctp) {
+ // assumes trailing bits of last genovec word are zeroed out.
+ // sample_ct == 0 ok.
+ const uint32_t sample_ctl2 = NypCtToWordCt(sample_ct);
+ uint32_t raw_01_ct;
+ uint32_t raw_both_ct;
+ uint32_t word_idx = sample_ctl2 - (sample_ctl2 % (6 * kWordsPerVec));
+ assert(IsVecAligned(genovec));
+ Count12Vec6(R_CAST(const VecW*, genovec), word_idx / kWordsPerVec, &raw_01_ct, &raw_both_ct);
+ for (; word_idx != sample_ctl2; ++word_idx) {
+ const uintptr_t cur_geno_word = genovec[word_idx];
+ const uintptr_t cur_rshift = cur_geno_word >> 1;
+ const uintptr_t cur_both = kMask5555 & (cur_geno_word ^ cur_rshift);
+ raw_01_ct += Popcount01Word(cur_both & cur_geno_word);
+ raw_both_ct += Popcount01Word(cur_both);
+ }
+ *raw_01_ctp = raw_01_ct;
+ *raw_10_ctp = raw_both_ct - raw_01_ct;
+}
+
+void Count3FreqVec6(const void* genoarr, uint32_t vec_ct, uint32_t* __restrict even_ctp, uint32_t* __restrict odd_ctp, uint32_t* __restrict bothset_ctp) {
+ assert(!(vec_ct % 6));
+ // Sets even_ct to the number of set low bits in the current block, odd_ct to
+ // the number of set high bits, and bothset_ct by the number of 0b11s.
+ const VecW m1 = VCONST_W(kMask5555);
+ const VecW m2 = VCONST_W(kMask3333);
+ const VecW m4 = VCONST_W(kMask0F0F);
+ const unsigned char* geno_vvec_biter = S_CAST(const unsigned char*, genoarr);
+ VecW acc_even = vecw_setzero();
+ VecW acc_odd = vecw_setzero();
+ VecW acc_bothset = vecw_setzero();
+ uintptr_t cur_incr = 60;
+ for (; ; vec_ct -= cur_incr) {
+ if (vec_ct < 60) {
+ if (!vec_ct) {
+ *even_ctp = HsumW(acc_even);
+ *odd_ctp = HsumW(acc_odd);
+ *bothset_ctp = HsumW(acc_bothset);
+ return;
+ }
+ cur_incr = vec_ct;
+ }
+ VecW inner_acc_even = vecw_setzero();
+ VecW inner_acc_odd = vecw_setzero();
+ VecW inner_acc_bothset = vecw_setzero();
+ const unsigned char* geno_vvec_stop = &(geno_vvec_biter[cur_incr * kBytesPerVec]);
+ do {
+ // hmm, this seems to have more linear dependence than I'd want, but the
+ // reorderings I tried just made the code harder to read without helping,
+ // so I'll leave this alone
+ VecW cur_geno_vword = vecw_loadu(geno_vvec_biter);
+ geno_vvec_biter += kBytesPerVec;
+ VecW odd1 = m1 & vecw_srli(cur_geno_vword, 1);
+ VecW even1 = m1 & cur_geno_vword;
+ VecW bothset1 = odd1 & cur_geno_vword;
+
+ cur_geno_vword = vecw_loadu(geno_vvec_biter);
+ geno_vvec_biter += kBytesPerVec;
+ VecW cur_geno_vword_high = m1 & vecw_srli(cur_geno_vword, 1);
+ even1 = even1 + (m1 & cur_geno_vword);
+ odd1 = odd1 + cur_geno_vword_high;
+ bothset1 = bothset1 + (cur_geno_vword_high & cur_geno_vword);
+
+ cur_geno_vword = vecw_loadu(geno_vvec_biter);
+ geno_vvec_biter += kBytesPerVec;
+ cur_geno_vword_high = m1 & vecw_srli(cur_geno_vword, 1);
+ even1 = even1 + (m1 & cur_geno_vword);
+ odd1 = odd1 + cur_geno_vword_high;
+ bothset1 = bothset1 + (cur_geno_vword_high & cur_geno_vword);
+
+ even1 = (even1 & m2) + (vecw_srli(even1, 2) & m2);
+ odd1 = (odd1 & m2) + (vecw_srli(odd1, 2) & m2);
+ bothset1 = (bothset1 & m2) + (vecw_srli(bothset1, 2) & m2);
+
+ cur_geno_vword = vecw_loadu(geno_vvec_biter);
+ geno_vvec_biter += kBytesPerVec;
+ VecW odd2 = m1 & vecw_srli(cur_geno_vword, 1);
+ VecW even2 = m1 & cur_geno_vword;
+ VecW bothset2 = odd2 & cur_geno_vword;
+
+ cur_geno_vword = vecw_loadu(geno_vvec_biter);
+ geno_vvec_biter += kBytesPerVec;
+ cur_geno_vword_high = m1 & vecw_srli(cur_geno_vword, 1);
+ even2 = even2 + (m1 & cur_geno_vword);
+ odd2 = odd2 + cur_geno_vword_high;
+ bothset2 = bothset2 + (cur_geno_vword_high & cur_geno_vword);
+
+ cur_geno_vword = vecw_loadu(geno_vvec_biter);
+ geno_vvec_biter += kBytesPerVec;
+ cur_geno_vword_high = m1 & vecw_srli(cur_geno_vword, 1);
+ even2 = even2 + (m1 & cur_geno_vword);
+ odd2 = odd2 + cur_geno_vword_high;
+ bothset2 = bothset2 + (cur_geno_vword_high & cur_geno_vword);
+
+ even1 = even1 + (even2 & m2) + (vecw_srli(even2, 2) & m2);
+ odd1 = odd1 + (odd2 & m2) + (vecw_srli(odd2, 2) & m2);
+ bothset1 = bothset1 + (bothset2 & m2) + (vecw_srli(bothset2, 2) & m2);
+ // these now contain 4-bit values from 0-12
+
+ inner_acc_even = inner_acc_even + (even1 & m4) + (vecw_srli(even1, 4) & m4);
+ inner_acc_odd = inner_acc_odd + (odd1 & m4) + (vecw_srli(odd1, 4) & m4);
+ inner_acc_bothset = inner_acc_bothset + (bothset1 & m4) + (vecw_srli(bothset1, 4) & m4);
+ } while (geno_vvec_biter < geno_vvec_stop);
+ const VecW m0 = vecw_setzero();
+ acc_even = acc_even + vecw_bytesum(inner_acc_even, m0);
+ acc_odd = acc_odd + vecw_bytesum(inner_acc_odd, m0);
+ acc_bothset = acc_bothset + vecw_bytesum(inner_acc_bothset, m0);
+ }
+}
+
+void FillInterleavedMaskVec(const uintptr_t* __restrict subset_mask, uint32_t base_vec_ct, uintptr_t* interleaved_mask_vec) {
+#ifdef USE_SSE2
+ // This is a cousin of github.com/KWillets/simd_interleave , which was
+ // written in response to
+ // https://lemire.me/blog/2018/01/09/how-fast-can-you-bit-interleave-32-bit-integers-simd-edition/
+ // AVX2 implementation takes ~40% less time than before, and SSE4.2 takes
+ // ~65% less. This also avoids the Ryzen-screwing _pdep_u64()/_pext_u64()
+ // operations.
+ const VecW m4 = VCONST_W(kMask0F0F);
+# ifdef USE_SHUFFLE8
+ const VecW lookup0 = vecw_setr8(
+ 0, 1, 4, 5, 16, 17, 20, 21,
+ 64, 65, 68, 69, 80, 81, 84, 85);
+ const VecW lookup1 = vecw_slli(lookup0, 1);
+# else
+ const VecW m1 = VCONST_W(kMask5555);
+ const VecW m2 = VCONST_W(kMask3333);
+# endif
+ const VecW* subset_mask_valias = R_CAST(const VecW*, subset_mask);
+ VecW* interleaved_mask_valias = R_CAST(VecW*, interleaved_mask_vec);
+
+ for (uint32_t vidx = 0; vidx != base_vec_ct; ++vidx) {
+ // I'll assume the compiler can handle this register allocation job.
+ VecW vec_lo;
+ VecW vec_hi;
+ vecw_lo_and_hi_nybbles(subset_mask_valias[vidx], m4, &vec_lo, &vec_hi);
+# ifdef USE_SHUFFLE8
+ vec_lo = vecw_shuffle8(lookup0, vec_lo);
+ vec_hi = vecw_shuffle8(lookup1, vec_hi);
+# else
+ vec_lo = (vec_lo | vecw_slli(vec_lo, 2)) & m2;
+ vec_hi = (vec_hi | vecw_slli(vec_hi, 2)) & m2;
+ vec_lo = (vec_lo | vecw_slli(vec_lo, 1)) & m1;
+ vec_hi = (vec_hi | vecw_slli(vec_hi, 1)) & m1;
+ vec_hi = vecw_slli(vec_hi, 1);
+# endif
+ interleaved_mask_valias[vidx] = vec_lo | vec_hi;
+ }
+#else // !USE_SSE2
+ for (uint32_t widx = 0; widx != base_vec_ct; ++widx) {
+ const uintptr_t orig_word = subset_mask[widx];
+ uintptr_t ww_even = S_CAST(Halfword, orig_word);
+ uintptr_t ww_odd = orig_word >> kBitsPerWordD2;
+ ww_even = UnpackHalfwordToWord(ww_even);
+ ww_odd = UnpackHalfwordToWord(ww_odd);
+ interleaved_mask_vec[widx] = ww_even | (ww_odd << 1);
+ }
+#endif
+}
+
+/*
+void GenovecAlleleCtsUnsafe(const uintptr_t* genovec, uint32_t sample_ct, uint32_t* __restrict allele_cts, uint32_t* __restrict bothset_ctp) {
+ // assumes trailing bits of last genovec word are zeroed out.
+ // sets allele_cts[0] to the number of observed ref alleles, and
+ // allele_cts[1] to the number of observed alt1s.
+ const uint32_t sample_ctl2 = NypCtToWordCt(sample_ct);
+ uint32_t word_idx = sample_ctl2 - (sample_ctl2 % (3 * kWordsPerVec));
+ uint32_t alt1_plus_bothset_ct;
+ uint32_t bothset_ct;
+ assert(IsVecAligned(genovec));
+ Count2FreqVec3(R_CAST(const VecW*, genovec), word_idx / kWordsPerVec, &alt1_plus_bothset_ct, &bothset_ct);
+ for (; word_idx != sample_ctl2; ++word_idx) {
+ const uintptr_t cur_geno_word = genovec[word_idx];
+ const uintptr_t cur_geno_word_low_lshifted = (cur_geno_word & kMask5555) << 1;
+ alt1_plus_bothset_ct += NypsumWord((~cur_geno_word_low_lshifted) & cur_geno_word);
+ bothset_ct += NypsumWord(cur_geno_word_low_lshifted & cur_geno_word);
+ }
+ const uint32_t alt1_ct = alt1_plus_bothset_ct - bothset_ct;
+ allele_cts[0] = (sample_ct - bothset_ct) * 2 - alt1_ct;
+ allele_cts[1] = alt1_ct;
+ *bothset_ctp = bothset_ct;
+}
+*/
+
+void GenoarrCountFreqsUnsafe(const uintptr_t* genoarr, uint32_t sample_ct, STD_ARRAY_REF(uint32_t, 4) genocounts) {
+ // fills genocounts[0] with the number of 00s, genocounts[1] with the number
+ // of 01s, etc.
+ // assumes trailing bits of last genoarr word are zeroed out.
+ // sample_ct == 0 ok.
+ // no longer requires vector-alignment.
+ const uint32_t sample_ctl2 = NypCtToWordCt(sample_ct);
+ uint32_t even_ct;
+ uint32_t odd_ct;
+ uint32_t bothset_ct;
+ uint32_t word_idx = sample_ctl2 - (sample_ctl2 % (6 * kWordsPerVec));
+ Count3FreqVec6(genoarr, word_idx / kWordsPerVec, &even_ct, &odd_ct, &bothset_ct);
+ for (; word_idx != sample_ctl2; ++word_idx) {
+ const uintptr_t cur_geno_word = genoarr[word_idx];
+ const uintptr_t cur_geno_word_high = kMask5555 & (cur_geno_word >> 1);
+ even_ct += Popcount01Word(cur_geno_word & kMask5555);
+ odd_ct += Popcount01Word(cur_geno_word_high);
+ bothset_ct += Popcount01Word(cur_geno_word & cur_geno_word_high);
+ }
+ genocounts[0] = sample_ct + bothset_ct - even_ct - odd_ct;
+ genocounts[1] = even_ct - bothset_ct;
+ genocounts[2] = odd_ct - bothset_ct;
+ genocounts[3] = bothset_ct;
+}
+
+uintptr_t MostCommonGenoUnsafe(const uintptr_t* genoarr, uint32_t sample_ct) {
+ STD_ARRAY_DECL(uint32_t, 4, genocounts);
+ GenoarrCountFreqsUnsafe(genoarr, sample_ct, genocounts);
+ uint32_t most_common_geno_ct = genocounts[0];
+ if (most_common_geno_ct * 2 >= sample_ct) {
+ return 0;
+ }
+ uintptr_t most_common_geno = 0;
+ for (uintptr_t cur_geno = 1; cur_geno != 4; ++cur_geno) {
+ if (most_common_geno_ct < genocounts[cur_geno]) {
+ most_common_geno = cur_geno;
+ most_common_geno_ct = genocounts[cur_geno];
+ }
+ }
+ return most_common_geno;
+}
+
+// genoarr now allowed to be unaligned.
+void CountSubset3FreqVec6(const void* __restrict genoarr, const VecW* __restrict interleaved_mask_vvec, uint32_t vec_ct, uint32_t* __restrict even_ctp, uint32_t* __restrict odd_ctp, uint32_t* __restrict bothset_ctp) {
+ assert(!(vec_ct % 6));
+ // Sets even_ct to the number of set low bits in the current block after
+ // subsetting, odd_ct to the number of set high bits, and bothset_ct by the
+ // number of 0b11s.
+ const VecW m1 = VCONST_W(kMask5555);
+ const VecW m2 = VCONST_W(kMask3333);
+ const VecW m4 = VCONST_W(kMask0F0F);
+ const unsigned char* geno_vvec_biter = S_CAST(const unsigned char*, genoarr);
+ const VecW* interleaved_mask_vvec_iter = interleaved_mask_vvec;
+ VecW acc_even = vecw_setzero();
+ VecW acc_odd = vecw_setzero();
+ VecW acc_bothset = vecw_setzero();
+ uintptr_t cur_incr = 60;
+ for (; ; vec_ct -= cur_incr) {
+ if (vec_ct < 60) {
+ if (!vec_ct) {
+ *even_ctp = HsumW(acc_even);
+ *odd_ctp = HsumW(acc_odd);
+ *bothset_ctp = HsumW(acc_bothset);
+ return;
+ }
+ cur_incr = vec_ct;
+ }
+ VecW inner_acc_even = vecw_setzero();
+ VecW inner_acc_odd = vecw_setzero();
+ VecW inner_acc_bothset = vecw_setzero();
+ const unsigned char* geno_vvec_stop = &(geno_vvec_biter[cur_incr * kBytesPerVec]);
+ do {
+ VecW interleaved_mask_vword = *interleaved_mask_vvec_iter++;
+ VecW cur_geno_vword = vecw_loadu(geno_vvec_biter);
+ geno_vvec_biter += kBytesPerVec;
+ VecW cur_mask = interleaved_mask_vword & m1;
+ VecW odd1 = cur_mask & vecw_srli(cur_geno_vword, 1);
+ VecW even1 = cur_mask & cur_geno_vword;
+ VecW bothset1 = odd1 & cur_geno_vword;
+
+ cur_mask = vecw_srli(interleaved_mask_vword, 1) & m1;
+ cur_geno_vword = vecw_loadu(geno_vvec_biter);
+ geno_vvec_biter += kBytesPerVec;
+ VecW cur_geno_vword_high_masked = cur_mask & vecw_srli(cur_geno_vword, 1);
+ even1 = even1 + (cur_mask & cur_geno_vword);
+ odd1 = odd1 + cur_geno_vword_high_masked;
+ bothset1 = bothset1 + (cur_geno_vword_high_masked & cur_geno_vword);
+
+ interleaved_mask_vword = *interleaved_mask_vvec_iter++;
+ cur_mask = interleaved_mask_vword & m1;
+ cur_geno_vword = vecw_loadu(geno_vvec_biter);
+ geno_vvec_biter += kBytesPerVec;
+ cur_geno_vword_high_masked = cur_mask & vecw_srli(cur_geno_vword, 1);
+ even1 = even1 + (cur_mask & cur_geno_vword);
+ odd1 = odd1 + cur_geno_vword_high_masked;
+ bothset1 = bothset1 + (cur_geno_vword_high_masked & cur_geno_vword);
+
+ even1 = (even1 & m2) + (vecw_srli(even1, 2) & m2);
+ odd1 = (odd1 & m2) + (vecw_srli(odd1, 2) & m2);
+ bothset1 = (bothset1 & m2) + (vecw_srli(bothset1, 2) & m2);
+
+ cur_mask = vecw_srli(interleaved_mask_vword, 1) & m1;
+ cur_geno_vword = vecw_loadu(geno_vvec_biter);
+ geno_vvec_biter += kBytesPerVec;
+ VecW odd2 = cur_mask & vecw_srli(cur_geno_vword, 1);
+ VecW even2 = cur_mask & cur_geno_vword;
+ VecW bothset2 = odd2 & cur_geno_vword;
+
+ interleaved_mask_vword = *interleaved_mask_vvec_iter++;
+ cur_mask = interleaved_mask_vword & m1;
+ cur_geno_vword = vecw_loadu(geno_vvec_biter);
+ geno_vvec_biter += kBytesPerVec;
+ cur_geno_vword_high_masked = cur_mask & vecw_srli(cur_geno_vword, 1);
+ even2 = even2 + (cur_mask & cur_geno_vword);
+ odd2 = odd2 + cur_geno_vword_high_masked;
+ bothset2 = bothset2 + (cur_geno_vword_high_masked & cur_geno_vword);
+
+ cur_mask = vecw_srli(interleaved_mask_vword, 1) & m1;
+ cur_geno_vword = vecw_loadu(geno_vvec_biter);
+ geno_vvec_biter += kBytesPerVec;
+ cur_geno_vword_high_masked = cur_mask & vecw_srli(cur_geno_vword, 1);
+ even2 = even2 + (cur_mask & cur_geno_vword);
+ odd2 = odd2 + cur_geno_vword_high_masked;
+ bothset2 = bothset2 + (cur_geno_vword_high_masked & cur_geno_vword);
+
+ even1 = even1 + (even2 & m2) + (vecw_srli(even2, 2) & m2);
+ odd1 = odd1 + (odd2 & m2) + (vecw_srli(odd2, 2) & m2);
+ bothset1 = bothset1 + (bothset2 & m2) + (vecw_srli(bothset2, 2) & m2);
+ // these now contain 4-bit values from 0-12
+
+ inner_acc_even = inner_acc_even + (even1 & m4) + (vecw_srli(even1, 4) & m4);
+ inner_acc_odd = inner_acc_odd + (odd1 & m4) + (vecw_srli(odd1, 4) & m4);
+ inner_acc_bothset = inner_acc_bothset + (bothset1 & m4) + (vecw_srli(bothset1, 4) & m4);
+ } while (geno_vvec_biter < geno_vvec_stop);
+ const VecW m0 = vecw_setzero();
+ acc_even = acc_even + vecw_bytesum(inner_acc_even, m0);
+ acc_odd = acc_odd + vecw_bytesum(inner_acc_odd, m0);
+ acc_bothset = acc_bothset + vecw_bytesum(inner_acc_bothset, m0);
+ }
+}
+
+void GenoarrCountSubsetFreqs(const uintptr_t* __restrict genoarr, const uintptr_t* __restrict sample_include_interleaved_vec, uint32_t raw_sample_ct, uint32_t sample_ct, STD_ARRAY_REF(uint32_t, 4) genocounts) {
+ // fills genocounts[0] with the number of 00s, genocounts[1] with the number
+ // of 01s, etc.
+ // {raw_}sample_ct == 0 ok.
+ const uint32_t raw_sample_ctv2 = NypCtToVecCt(raw_sample_ct);
+ uint32_t even_ct;
+ uint32_t odd_ct;
+ uint32_t bothset_ct;
+#ifdef USE_SSE2
+ uint32_t vec_idx = raw_sample_ctv2 - (raw_sample_ctv2 % 6);
+ CountSubset3FreqVec6(genoarr, R_CAST(const VecW*, sample_include_interleaved_vec), vec_idx, &even_ct, &odd_ct, &bothset_ct);
+ const uintptr_t* genoarr_iter = &(genoarr[kWordsPerVec * vec_idx]);
+ const uintptr_t* interleaved_mask_iter = &(sample_include_interleaved_vec[(kWordsPerVec / 2) * vec_idx]);
+# ifdef USE_AVX2
+ uintptr_t mask_base1 = 0;
+ uintptr_t mask_base2 = 0;
+ uintptr_t mask_base3 = 0;
+ uintptr_t mask_base4 = 0;
+ for (; vec_idx != raw_sample_ctv2; ++vec_idx) {
+ uintptr_t mask_word1;
+ uintptr_t mask_word2;
+ uintptr_t mask_word3;
+ uintptr_t mask_word4;
+ if (!(vec_idx % 2)) {
+ mask_base1 = *interleaved_mask_iter++;
+ mask_base2 = *interleaved_mask_iter++;
+ mask_base3 = *interleaved_mask_iter++;
+ mask_base4 = *interleaved_mask_iter++;
+ mask_word1 = mask_base1 & kMask5555;
+ mask_word2 = mask_base2 & kMask5555;
+ mask_word3 = mask_base3 & kMask5555;
+ mask_word4 = mask_base4 & kMask5555;
+ } else {
+ mask_word1 = (mask_base1 >> 1) & kMask5555;
+ mask_word2 = (mask_base2 >> 1) & kMask5555;
+ mask_word3 = (mask_base3 >> 1) & kMask5555;
+ mask_word4 = (mask_base4 >> 1) & kMask5555;
+ }
+ for (uint32_t vechalf_idx = 0; ; ++vechalf_idx) {
+ const uintptr_t cur_geno_word1 = *genoarr_iter++;
+ const uintptr_t cur_geno_word2 = *genoarr_iter++;
+ const uintptr_t cur_geno_word1_high_masked = mask_word1 & (cur_geno_word1 >> 1);
+ const uintptr_t cur_geno_word2_high_masked = mask_word2 & (cur_geno_word2 >> 1);
+ even_ct += PopcountWord(((cur_geno_word1 & mask_word1) << 1) | (cur_geno_word2 & mask_word2));
+ odd_ct += PopcountWord((cur_geno_word1_high_masked << 1) | cur_geno_word2_high_masked);
+ bothset_ct += PopcountWord(((cur_geno_word1 & cur_geno_word1_high_masked) << 1) | (cur_geno_word2 & cur_geno_word2_high_masked));
+ if (vechalf_idx) {
+ break;
+ }
+ mask_word1 = mask_word3;
+ mask_word2 = mask_word4;
+ }
+ }
+# else // not USE_AVX2
+ uintptr_t mask_base1 = 0;
+ uintptr_t mask_base2 = 0;
+ for (; vec_idx != raw_sample_ctv2; ++vec_idx) {
+ uintptr_t mask_word1;
+ uintptr_t mask_word2;
+ if (!(vec_idx % 2)) {
+ mask_base1 = *interleaved_mask_iter++;
+ mask_base2 = *interleaved_mask_iter++;
+ mask_word1 = mask_base1 & kMask5555;
+ mask_word2 = mask_base2 & kMask5555;
+ } else {
+ mask_word1 = (mask_base1 >> 1) & kMask5555;
+ mask_word2 = (mask_base2 >> 1) & kMask5555;
+ }
+ const uintptr_t cur_geno_word1 = *genoarr_iter++;
+ const uintptr_t cur_geno_word2 = *genoarr_iter++;
+ const uintptr_t cur_geno_word1_high_masked = mask_word1 & (cur_geno_word1 >> 1);
+ const uintptr_t cur_geno_word2_high_masked = mask_word2 & (cur_geno_word2 >> 1);
+# ifdef USE_SSE42
+ even_ct += PopcountWord(((cur_geno_word1 & mask_word1) << 1) | (cur_geno_word2 & mask_word2));
+ odd_ct += PopcountWord((cur_geno_word1_high_masked << 1) | cur_geno_word2_high_masked);
+ bothset_ct += PopcountWord(((cur_geno_word1 & cur_geno_word1_high_masked) << 1) | (cur_geno_word2 & cur_geno_word2_high_masked));
+# else
+ even_ct += NypsumWord((cur_geno_word1 & mask_word1) + (cur_geno_word2 & mask_word2));
+ odd_ct += NypsumWord(cur_geno_word1_high_masked + cur_geno_word2_high_masked);
+ bothset_ct += NypsumWord((cur_geno_word1 & cur_geno_word1_high_masked) + (cur_geno_word2 & cur_geno_word2_high_masked));
+# endif
+ }
+# endif // not USE_AVX2
+#else // not USE_SSE2
+ uint32_t word_idx = raw_sample_ctv2 - (raw_sample_ctv2 % 6);
+ CountSubset3FreqVec6(genoarr, R_CAST(const VecW*, sample_include_interleaved_vec), word_idx, &even_ct, &odd_ct, &bothset_ct);
+ const uintptr_t* interleaved_mask_iter = &(sample_include_interleaved_vec[word_idx / 2]);
+ uintptr_t mask_base = 0;
+ for (; word_idx != raw_sample_ctv2; ++word_idx) {
+ uintptr_t mask_word;
+ if (!(word_idx % 2)) {
+ mask_base = *interleaved_mask_iter++;
+ mask_word = mask_base & kMask5555;
+ } else {
+ mask_word = (mask_base >> 1) & kMask5555;
+ }
+ const uintptr_t cur_geno_word = genoarr[word_idx];
+ const uintptr_t cur_geno_word_high_masked = mask_word & (cur_geno_word >> 1);
+ even_ct += Popcount01Word(cur_geno_word & mask_word);
+ odd_ct += Popcount01Word(cur_geno_word_high_masked);
+ bothset_ct += Popcount01Word(cur_geno_word & cur_geno_word_high_masked);
+ }
+#endif
+ genocounts[0] = sample_ct + bothset_ct - even_ct - odd_ct;
+ genocounts[1] = even_ct - bothset_ct;
+ genocounts[2] = odd_ct - bothset_ct;
+ genocounts[3] = bothset_ct;
+}
+
+void GenoarrCountSubsetFreqs2(const uintptr_t* __restrict genoarr, const uintptr_t* __restrict sample_include, uint32_t raw_sample_ct, uint32_t sample_ct, STD_ARRAY_REF(uint32_t, 4) genocounts) {
+ // slower GenoarrCountSubsetFreqs() which does not require
+ // sample_include_interleaved_vec to be precomputed.
+ // {raw_}sample_ct == 0 ok.
+ const uint32_t raw_sample_ctl2 = NypCtToWordCt(raw_sample_ct);
+ const uint32_t fullword_ct = raw_sample_ctl2 / 2;
+ uint32_t even_ct = 0;
+ uint32_t odd_ct = 0;
+ uint32_t bothset_ct = 0;
+ for (uint32_t widx = 0; widx != fullword_ct; ++widx) {
+ // possible todo: try vectorizing this loop in SSE4.2+ high-sample-ct case
+ // with shuffle-based dynamic unpacking of sample_include?
+ const uintptr_t mask_word = sample_include[widx];
+ if (mask_word) {
+ uintptr_t geno_word = genoarr[2 * widx];
+ uintptr_t geno_even = PackWordToHalfwordMask5555(geno_word);
+ uintptr_t geno_odd = PackWordToHalfwordMaskAAAA(geno_word);
+ geno_word = genoarr[2 * widx + 1];
+ geno_even |= S_CAST(uintptr_t, PackWordToHalfwordMask5555(geno_word)) << kBitsPerWordD2;
+ geno_odd |= S_CAST(uintptr_t, PackWordToHalfwordMaskAAAA(geno_word)) << kBitsPerWordD2;
+ const uintptr_t geno_even_masked = geno_even & mask_word;
+ even_ct += PopcountWord(geno_even_masked);
+ odd_ct += PopcountWord(geno_odd & mask_word);
+ bothset_ct += PopcountWord(geno_odd & geno_even_masked);
+ }
+ }
+ if (raw_sample_ctl2 % 2) {
+ const uintptr_t mask_hw = sample_include[fullword_ct];
+ if (mask_hw) {
+ const uintptr_t geno_word = genoarr[2 * fullword_ct];
+ // todo: benchmark main loop unpack vs. pack
+ const uintptr_t mask_word = UnpackHalfwordToWord(mask_hw);
+ const uintptr_t geno_word_shifted = geno_word >> 1;
+ const uintptr_t geno_word_masked = geno_word & mask_word;
+ even_ct += Popcount01Word(geno_word_masked);
+ odd_ct += Popcount01Word(geno_word_shifted & mask_word);
+ bothset_ct += Popcount01Word(geno_word_masked & geno_word_shifted);
+ }
+ }
+ genocounts[0] = sample_ct + bothset_ct - even_ct - odd_ct;
+ genocounts[1] = even_ct - bothset_ct;
+ genocounts[2] = odd_ct - bothset_ct;
+ genocounts[3] = bothset_ct;
+}
+
+void GenoarrCountInvsubsetFreqs2(const uintptr_t* __restrict genoarr, const uintptr_t* __restrict sample_exclude, uint32_t raw_sample_ct, uint32_t sample_ct, STD_ARRAY_REF(uint32_t, 4) genocounts) {
+ // {raw_}sample_ct == 0 ok.
+ // ugh, 'fullword' is overloaded. probable todo: keep halfword/fullword,
+ // switch more common use case to bodyword/trailword.
+ const uint32_t bodyword_ct = raw_sample_ct / kBitsPerWord;
+ uint32_t even_ct = 0;
+ uint32_t odd_ct = 0;
+ uint32_t bothset_ct = 0;
+ for (uint32_t widx = 0; widx != bodyword_ct; ++widx) {
+ // possible todo: try vectorizing this loop in SSE4.2+ high-sample-ct case
+ // with shuffle-based dynamic unpacking of sample_exclude?
+ const uintptr_t mask_word = ~sample_exclude[widx];
+ if (mask_word) {
+ uintptr_t geno_word = genoarr[2 * widx];
+ uintptr_t geno_even = PackWordToHalfwordMask5555(geno_word);
+ uintptr_t geno_odd = PackWordToHalfwordMaskAAAA(geno_word);
+ geno_word = genoarr[2 * widx + 1];
+ geno_even |= S_CAST(uintptr_t, PackWordToHalfwordMask5555(geno_word)) << kBitsPerWordD2;
+ geno_odd |= S_CAST(uintptr_t, PackWordToHalfwordMaskAAAA(geno_word)) << kBitsPerWordD2;
+ const uintptr_t geno_even_masked = geno_even & mask_word;
+ even_ct += PopcountWord(geno_even_masked);
+ odd_ct += PopcountWord(geno_odd & mask_word);
+ bothset_ct += PopcountWord(geno_odd & geno_even_masked);
+ }
+ }
+ const uint32_t remainder = raw_sample_ct % kBitsPerWord;
+ if (remainder) {
+ const uintptr_t mask_word = bzhi(~sample_exclude[bodyword_ct], remainder);
+ if (mask_word) {
+ uintptr_t geno_word = genoarr[2 * bodyword_ct];
+ uintptr_t geno_even = PackWordToHalfwordMask5555(geno_word);
+ uintptr_t geno_odd = PackWordToHalfwordMaskAAAA(geno_word);
+ if (remainder > kBitsPerWordD2) {
+ geno_word = genoarr[2 * bodyword_ct + 1];
+ geno_even |= S_CAST(uintptr_t, PackWordToHalfwordMask5555(geno_word)) << kBitsPerWordD2;
+ geno_odd |= S_CAST(uintptr_t, PackWordToHalfwordMaskAAAA(geno_word)) << kBitsPerWordD2;
+ }
+ const uintptr_t geno_even_masked = geno_even & mask_word;
+ even_ct += PopcountWord(geno_even_masked);
+ odd_ct += PopcountWord(geno_odd & mask_word);
+ bothset_ct += PopcountWord(geno_odd & geno_even_masked);
+ }
+ }
+ genocounts[0] = sample_ct + bothset_ct - even_ct - odd_ct;
+ genocounts[1] = even_ct - bothset_ct;
+ genocounts[2] = odd_ct - bothset_ct;
+ genocounts[3] = bothset_ct;
+}
+
+void GenoarrCountSubsetIntersectFreqs(const uintptr_t* __restrict genoarr, const uintptr_t* __restrict subset1, const uintptr_t* __restrict subset2, uint32_t raw_sample_ct, STD_ARRAY_REF(uint32_t, 4) genocounts) {
+ // {raw_}sample_ct == 0 ok.
+ const uint32_t raw_sample_ctl2 = NypCtToWordCt(raw_sample_ct);
+ const uint32_t fullword_ct = raw_sample_ctl2 / 2;
+ uint32_t subset_intersect_ct = 0;
+ uint32_t even_ct = 0;
+ uint32_t odd_ct = 0;
+ uint32_t bothset_ct = 0;
+ for (uint32_t widx = 0; widx != fullword_ct; ++widx) {
+ // hmm, there may be little point to vectorizing this
+ const uintptr_t mask_word = subset1[widx] & subset2[widx];
+ if (mask_word) {
+ uintptr_t geno_word = genoarr[2 * widx];
+ uintptr_t geno_even = PackWordToHalfwordMask5555(geno_word);
+ uintptr_t geno_odd = PackWordToHalfwordMaskAAAA(geno_word);
+ geno_word = genoarr[2 * widx + 1];
+ geno_even |= S_CAST(uintptr_t, PackWordToHalfwordMask5555(geno_word)) << kBitsPerWordD2;
+ geno_odd |= S_CAST(uintptr_t, PackWordToHalfwordMaskAAAA(geno_word)) << kBitsPerWordD2;
+ const uintptr_t geno_even_masked = geno_even & mask_word;
+ subset_intersect_ct += PopcountWord(mask_word);
+ even_ct += PopcountWord(geno_even_masked);
+ odd_ct += PopcountWord(geno_odd & mask_word);
+ bothset_ct += PopcountWord(geno_odd & geno_even_masked);
+ }
+ }
+ if (raw_sample_ctl2 % 2) {
+ const uintptr_t mask_hw = subset1[fullword_ct] & subset2[fullword_ct];
+ if (mask_hw) {
+ const uintptr_t geno_word = genoarr[fullword_ct * 2];
+ const uintptr_t mask_word = UnpackHalfwordToWord(mask_hw);
+ const uintptr_t geno_word_shifted = geno_word >> 1;
+ const uintptr_t geno_word_masked = geno_word & mask_word;
+ subset_intersect_ct += Popcount01Word(mask_word);
+ even_ct += Popcount01Word(geno_word_masked);
+ odd_ct += Popcount01Word(geno_word_shifted & mask_word);
+ bothset_ct += Popcount01Word(geno_word_masked & geno_word_shifted);
+ }
+ }
+ genocounts[0] = subset_intersect_ct + bothset_ct - even_ct - odd_ct;
+ genocounts[1] = even_ct - bothset_ct;
+ genocounts[2] = odd_ct - bothset_ct;
+ genocounts[3] = bothset_ct;
+}
+
+void GenovecInvertUnsafe(uint32_t sample_ct, uintptr_t* genovec) {
+ // flips 0 to 2 and vice versa.
+ // "unsafe" because trailing bits are not zeroed out.
+ const uint32_t vec_ct = NypCtToVecCt(sample_ct);
+ assert(IsVecAligned(genovec));
+ const VecW not_m1 = VCONST_W(kMaskAAAA);
+ VecW* vptr = R_CAST(VecW*, genovec);
+ for (uint32_t vidx = 0; vidx != vec_ct; ++vidx) {
+ VecW cur_vec = vptr[vidx];
+ // flip high bit iff low bit is unset
+ vptr[vidx] = cur_vec ^ vecw_and_notfirst(vecw_slli(cur_vec, 1), not_m1);
+ }
+}
+
+void DifflistCountSubsetFreqs(const uintptr_t* __restrict sample_include, const uintptr_t* __restrict raregeno, const uint32_t* __restrict difflist_sample_ids, uint32_t common_geno, uint32_t difflist_len, uint32_t sample_ct, STD_ARRAY_REF(uint32_t, 4) genocounts) {
+ STD_ARRAY_REF_FILL0(4, genocounts);
+ for (uint32_t difflist_idx = 0; difflist_idx != difflist_len; ++difflist_idx) {
+ const uint32_t raw_sample_idx = difflist_sample_ids[difflist_idx];
+ if (IsSet(sample_include, raw_sample_idx)) {
+ genocounts[GetNyparrEntry(raregeno, difflist_idx)] += 1;
+ }
+ }
+ genocounts[common_geno] = sample_ct - genocounts[0] - genocounts[1] - genocounts[2] - genocounts[3];
+}
+
+
+#ifdef USE_SSE2
+static_assert(kPglNypTransposeBatch == S_CAST(uint32_t, kNypsPerCacheline), "TransposeNypblock64() needs to be updated.");
+# ifdef CACHELINE64
+void TransposeNypblock64(const uintptr_t* read_iter, uint32_t read_ul_stride, uint32_t write_ul_stride, uint32_t read_batch_size, uint32_t write_batch_size, uintptr_t* __restrict write_iter, unsigned char* __restrict buf0, unsigned char* __restrict buf1) {
+ // buf0 and buf1 must each be vector-aligned and have size 16k
+ // Tried using previous AVX2 small-buffer approach, but that was a bit
+ // worse... though maybe it should be revisited?
+
+ // Each input row has 256 nyps, across 8 words.
+ // First word of each row goes into first buf0 row, etc.
+ const uint32_t buf0_row_ct = DivUp(write_batch_size, 32);
+ {
+ // Fold the first 3 shuffles into the ingestion loop.
+ // Can fold 2 additional shuffles here by ingesting uint16s instead. That
+ // removes the need for the second loop, halving the workspace requirement.
+ // Benchmark results of that approach are slightly but consistently worse,
+ // though.
+ const uintptr_t* initial_read_iter = read_iter;
+ const uintptr_t* initial_read_end = &(initial_read_iter[buf0_row_ct]);
+ uintptr_t* initial_target_iter = R_CAST(uintptr_t*, buf0);
+ const uint32_t read_batch_rem = kNypsPerCacheline - read_batch_size;
+ // Tried fancier vector-based ingestion, didn't help.
+ for (; initial_read_iter != initial_read_end; ++initial_read_iter) {
+ const uintptr_t* read_iter_tmp = initial_read_iter;
+ for (uint32_t ujj = 0; ujj != read_batch_size; ++ujj) {
+ *initial_target_iter++ = *read_iter_tmp;
+ read_iter_tmp = &(read_iter_tmp[read_ul_stride]);
+ }
+ ZeroWArr(read_batch_rem, initial_target_iter);
+ initial_target_iter = &(initial_target_iter[read_batch_rem]);
+ }
+ }
+
+ // shuffle from 64 -> 16
+ const uint32_t buf1_row_ct = DivUp(write_batch_size, 8);
+ {
+ // full buf0 row is 256 * 8 bytes
+ // full buf1 row is 512 bytes
+ const VecW* buf0_read_iter = R_CAST(const VecW*, buf0);
+ __m128i* write_iter0 = R_CAST(__m128i*, buf1);
+ const uint32_t buf0_row_clwidth = DivUp(read_batch_size, 8);
+# ifdef USE_SHUFFLE8
+ const VecW gather_u32s = vecw_setr8(0, 1, 8, 9, 2, 3, 10, 11,
+ 4, 5, 12, 13, 6, 7, 14, 15);
+# else
+ const VecW m16 = VCONST_W(kMask0000FFFF);
+# endif
+ for (uint32_t bidx = 0; bidx != buf0_row_ct; ++bidx) {
+ __m128i* write_iter1 = &(write_iter0[32]);
+ __m128i* write_iter2 = &(write_iter1[32]);
+ __m128i* write_iter3 = &(write_iter2[32]);
+ for (uint32_t clidx = 0; clidx != buf0_row_clwidth; ++clidx) {
+# ifdef USE_AVX2
+ VecW loader0 = buf0_read_iter[clidx * 2];
+ VecW loader1 = buf0_read_iter[clidx * 2 + 1];
+ loader0 = vecw_shuffle8(loader0, gather_u32s);
+ loader1 = vecw_shuffle8(loader1, gather_u32s);
+ // (0,0) (0,1) (1,0) ... (7,1) (0,2) ... (7,3) (8,0) ... (31,3)
+ // (0,4) ... (31,7)
+ // -> (0,0) ... (7,1) (0,2) ... (7,3) (8,0) ... (15,3) (0,4) ... (15,7)
+ // (16,0) ... (31,3) (16,4) ...
+ loader0 = vecw_permute0xd8_if_avx2(loader0);
+ loader1 = vecw_permute0xd8_if_avx2(loader1);
+ // -> (0,0) ... (7,1) (0,2) ... (7,3) (0,4) ... (7,7) (8,0) ... (15,7)
+ // (16,0) ... (23,7) (24,0) ... (31,7)
+ const __m256i vec_lo = _mm256_shuffle_epi32(WToVec(loader0), 0xd8);
+ const __m256i vec_hi = _mm256_shuffle_epi32(WToVec(loader1), 0xd8);
+ const __m256i final0145 = _mm256_unpacklo_epi64(vec_lo, vec_hi);
+ const __m256i final2367 = _mm256_unpackhi_epi64(vec_lo, vec_hi);
+ // GCC doesn't support _mm256_storeu_si128i as of this writing.
+ write_iter0[clidx] = _mm256_castsi256_si128(final0145);
+ write_iter1[clidx] = _mm256_castsi256_si128(final2367);
+ write_iter2[clidx] = _mm256_extracti128_si256(final0145, 1);
+ write_iter3[clidx] = _mm256_extracti128_si256(final2367, 1);
+# else
+ VecW loader0 = buf0_read_iter[clidx * 4];
+ VecW loader1 = buf0_read_iter[clidx * 4 + 1];
+ VecW loader2 = buf0_read_iter[clidx * 4 + 2];
+ VecW loader3 = buf0_read_iter[clidx * 4 + 3];
+# ifdef USE_SHUFFLE8
+ loader0 = vecw_shuffle8(loader0, gather_u32s);
+ loader1 = vecw_shuffle8(loader1, gather_u32s);
+ loader2 = vecw_shuffle8(loader2, gather_u32s);
+ loader3 = vecw_shuffle8(loader3, gather_u32s);
+# else
+ VecW tmp_lo = vecw_unpacklo16(loader0, loader1);
+ VecW tmp_hi = vecw_unpackhi16(loader0, loader1);
+ loader0 = vecw_blendv(vecw_slli(tmp_hi, 16), tmp_lo, m16);
+ loader1 = vecw_blendv(tmp_hi, vecw_srli(tmp_lo, 16), m16);
+ tmp_lo = vecw_unpacklo16(loader2, loader3);
+ tmp_hi = vecw_unpackhi16(loader2, loader3);
+ loader2 = vecw_blendv(vecw_slli(tmp_hi, 16), tmp_lo, m16);
+ loader3 = vecw_blendv(tmp_hi, vecw_srli(tmp_lo, 16), m16);
+# endif
+ // (0,0) (0,1) (1,0) ... (7,1) (0,2) ... (7,3) (8,0) ... (31,3)
+ // + (0,4) ... (31,7)
+ // -> (0,0) ... (7,3) (0,4) ... (7,7) (8,0) ... (15,7)
+ const VecW lo_0_15 = vecw_unpacklo32(loader0, loader1);
+ const VecW lo_16_31 = vecw_unpackhi32(loader0, loader1);
+ const VecW hi_0_15 = vecw_unpacklo32(loader2, loader3);
+ const VecW hi_16_31 = vecw_unpackhi32(loader2, loader3);
+ write_iter0[clidx] = WToVec(vecw_unpacklo64(lo_0_15, hi_0_15));
+ write_iter1[clidx] = WToVec(vecw_unpackhi64(lo_0_15, hi_0_15));
+ write_iter2[clidx] = WToVec(vecw_unpacklo64(lo_16_31, hi_16_31));
+ write_iter3[clidx] = WToVec(vecw_unpackhi64(lo_16_31, hi_16_31));
+# endif
+ }
+ buf0_read_iter = &(buf0_read_iter[2048 / kBytesPerVec]);
+ write_iter0 = &(write_iter3[32]);
+ }
+ }
+
+ // movemask from 16 -> 2
+ const VecW* source_iter = R_CAST(VecW*, buf1);
+ const VecW m8 = VCONST_W(kMask00FF);
+
+ // Take advantage of current function contract.
+ const uint32_t buf1_fullrow_ct = (write_batch_size + 3) / 8;
+
+ const uint32_t write_v8ui_stride = kVec8thUintPerWord * write_ul_stride;
+ const uint32_t vec_ct = DivUp(read_batch_size, (kBytesPerVec / 2));
+ Vec8thUint* target_iter0 = DowncastWToV8(write_iter);
+ for (uint32_t uii = 0; uii != buf1_fullrow_ct; ++uii) {
+ Vec8thUint* target_iter1 = &(target_iter0[write_v8ui_stride]);
+ Vec8thUint* target_iter2 = &(target_iter1[write_v8ui_stride]);
+ Vec8thUint* target_iter3 = &(target_iter2[write_v8ui_stride]);
+ Vec8thUint* target_iter4 = &(target_iter3[write_v8ui_stride]);
+ Vec8thUint* target_iter5 = &(target_iter4[write_v8ui_stride]);
+ Vec8thUint* target_iter6 = &(target_iter5[write_v8ui_stride]);
+ Vec8thUint* target_iter7 = &(target_iter6[write_v8ui_stride]);
+ for (uint32_t vidx = 0; vidx != vec_ct; ++vidx) {
+ const VecW loader = source_iter[vidx];
+ // Using goal bit-coordinates, where '_' indicates irrelevant content, we
+ // set target_0123 to
+ // _ (0, 0) _ (1, 0) _ (2, 0) _ (3, 0) _ (0, 1) _ (1, 1) _ (2, 1) ...
+ // and target_4567 to
+ // _ (4, 0) _ (5, 0) _ (6, 0) _ (7, 0) _ (4, 1) _ (5, 1) _ (6, 1) ...
+ // This is perfectly arranged for movemask.
+ VecW target_4567 = vecw_blendv(loader, vecw_srli(loader, 7), m8);
+ target_iter7[vidx] = vecw_movemask(target_4567);
+ target_4567 = vecw_slli(target_4567, 2);
+ target_iter6[vidx] = vecw_movemask(target_4567);
+ target_4567 = vecw_slli(target_4567, 2);
+ target_iter5[vidx] = vecw_movemask(target_4567);
+ target_4567 = vecw_slli(target_4567, 2);
+ target_iter4[vidx] = vecw_movemask(target_4567);
+ VecW target_0123 = vecw_blendv(vecw_slli(loader, 8), vecw_slli(loader, 1), m8);
+ target_iter3[vidx] = vecw_movemask(target_0123);
+ target_0123 = vecw_slli(target_0123, 2);
+ target_iter2[vidx] = vecw_movemask(target_0123);
+ target_0123 = vecw_slli(target_0123, 2);
+ target_iter1[vidx] = vecw_movemask(target_0123);
+ target_0123 = vecw_slli(target_0123, 2);
+ target_iter0[vidx] = vecw_movemask(target_0123);
+ }
+ source_iter = &(source_iter[(2 * kPglNypTransposeBatch) / kBytesPerVec]);
+ target_iter0 = &(target_iter7[write_v8ui_stride]);
+ }
+ if (buf1_fullrow_ct == buf1_row_ct) {
+ return;
+ }
+ Vec8thUint* target_iter1 = &(target_iter0[write_v8ui_stride]);
+ Vec8thUint* target_iter2 = &(target_iter1[write_v8ui_stride]);
+ Vec8thUint* target_iter3 = &(target_iter2[write_v8ui_stride]);
+ for (uint32_t vidx = 0; vidx != vec_ct; ++vidx) {
+ const VecW loader = source_iter[vidx];
+ VecW target_0123 = vecw_blendv(vecw_slli(loader, 8), vecw_slli(loader, 1), m8);
+ target_iter3[vidx] = vecw_movemask(target_0123);
+ target_0123 = vecw_slli(target_0123, 2);
+ target_iter2[vidx] = vecw_movemask(target_0123);
+ target_0123 = vecw_slli(target_0123, 2);
+ target_iter1[vidx] = vecw_movemask(target_0123);
+ target_0123 = vecw_slli(target_0123, 2);
+ target_iter0[vidx] = vecw_movemask(target_0123);
+ }
+}
+# else
+# ifndef CACHELINE128
+# error "CACHELINE64 or CACHELINE128 expected."
+# endif
+// assumes USE_SHUFFLE8, !USE_AVX2
+void TransposeNypblock64(const uintptr_t* read_iter, uint32_t read_ul_stride, uint32_t write_ul_stride, uint32_t read_batch_size, uint32_t write_batch_size, uintptr_t* __restrict write_iter, unsigned char* __restrict buf0, unsigned char* __restrict buf1) {
+ // buf0 and buf1 must each be vector-aligned and have size 64k
+ // Each input row has 512 nyps, across 16 words.
+ // First word of each row goes into first buf0 row, etc.
+ const uint32_t buf0_row_ct = DivUp(write_batch_size, 32);
+ {
+ // Fold the first 4 shuffles into the ingestion loop.
+ const uintptr_t* initial_read_iter = read_iter;
+ const uintptr_t* initial_read_end = &(initial_read_iter[buf0_row_ct]);
+ uintptr_t* initial_target_iter = R_CAST(uintptr_t*, buf0);
+ const uint32_t read_batch_rem = kNypsPerCacheline - read_batch_size;
+ for (; initial_read_iter != initial_read_end; ++initial_read_iter) {
+ const uintptr_t* read_iter_tmp = initial_read_iter;
+ for (uint32_t ujj = 0; ujj != read_batch_size; ++ujj) {
+ *initial_target_iter++ = *read_iter_tmp;
+ read_iter_tmp = &(read_iter_tmp[read_ul_stride]);
+ }
+ ZeroWArr(read_batch_rem, initial_target_iter);
+ initial_target_iter = &(initial_target_iter[read_batch_rem]);
+ }
+ }
+
+ // First buf0 row now corresponds to a 512x32 nyp matrix (512 * 8 bytes) that
+ // we wish to transpose. We split this into eight 512x4 matrices.
+ // (ARMv8 doesn't have efficient movemask, so this should be better than four
+ // 512x8 matrices.)
+ // This is nearly identical to the middle step in TransposeBitblock64().
+ {
+ const VecW* buf0_read_iter = R_CAST(const VecW*, buf0);
+ uintptr_t* write_iter0 = R_CAST(uintptr_t*, buf1);
+ const VecW gather_u16s = vecw_setr8(0, 8, 1, 9, 2, 10, 3, 11,
+ 4, 12, 5, 13, 6, 14, 7, 15);
+ const uint32_t buf0_row_b64width = DivUp(read_batch_size, 8);
+ for (uint32_t ridx = 0; ridx != buf0_row_ct; ++ridx) {
+ uintptr_t* write_iter1 = &(write_iter0[64]);
+ uintptr_t* write_iter2 = &(write_iter1[64]);
+ uintptr_t* write_iter3 = &(write_iter2[64]);
+ uintptr_t* write_iter4 = &(write_iter3[64]);
+ uintptr_t* write_iter5 = &(write_iter4[64]);
+ uintptr_t* write_iter6 = &(write_iter5[64]);
+ uintptr_t* write_iter7 = &(write_iter6[64]);
+ for (uint32_t b64idx = 0; b64idx != buf0_row_b64width; ++b64idx) {
+ VecW loader0 = buf0_read_iter[b64idx * 4];
+ VecW loader1 = buf0_read_iter[b64idx * 4 + 1];
+ VecW loader2 = buf0_read_iter[b64idx * 4 + 2];
+ VecW loader3 = buf0_read_iter[b64idx * 4 + 3];
+ loader0 = vecw_shuffle8(loader0, gather_u16s);
+ loader1 = vecw_shuffle8(loader1, gather_u16s);
+ loader2 = vecw_shuffle8(loader2, gather_u16s);
+ loader3 = vecw_shuffle8(loader3, gather_u16s);
+ const VecW lo_0123 = vecw_unpacklo16(loader0, loader1);
+ const VecW lo_4567 = vecw_unpackhi16(loader0, loader1);
+ const VecW hi_0123 = vecw_unpacklo16(loader2, loader3);
+ const VecW hi_4567 = vecw_unpackhi16(loader2, loader3);
+
+ const VecW final01 = vecw_unpacklo32(lo_0123, hi_0123);
+ const VecW final23 = vecw_unpackhi32(lo_0123, hi_0123);
+ const VecW final45 = vecw_unpacklo32(lo_4567, hi_4567);
+ const VecW final67 = vecw_unpackhi32(lo_4567, hi_4567);
+ write_iter0[b64idx] = vecw_extract64_0(final01);
+ write_iter1[b64idx] = vecw_extract64_1(final01);
+ write_iter2[b64idx] = vecw_extract64_0(final23);
+ write_iter3[b64idx] = vecw_extract64_1(final23);
+ write_iter4[b64idx] = vecw_extract64_0(final45);
+ write_iter5[b64idx] = vecw_extract64_1(final45);
+ write_iter6[b64idx] = vecw_extract64_0(final67);
+ write_iter7[b64idx] = vecw_extract64_1(final67);
+ }
+ buf0_read_iter = &(buf0_read_iter[256]);
+ write_iter0 = &(write_iter7[64]);
+ }
+ }
+
+ // 8 -> 2
+ // This is similar to the main TransposeNybbleblock() loop.
+ const VecW* source_iter = R_CAST(VecW*, buf1);
+ const VecW m2 = VCONST_W(kMask3333);
+ const VecW m4 = VCONST_W(kMask0F0F);
+ const VecW m8 = VCONST_W(kMask00FF);
+ const VecW gather_even = vecw_setr8(0, 2, 4, 6, 8, 10, 12, 14,
+ -1, -1, -1, -1, -1, -1, -1, -1);
+ // Take advantage of current function contract.
+ const uint32_t buf1_row_ct = (write_batch_size + 3) / 4;
+
+ const uint32_t fourword_ct = DivUp(read_batch_size, 32);
+ uintptr_t* target_iter0 = write_iter;
+ for (uint32_t ridx = 0; ridx != buf1_row_ct; ++ridx) {
+ uintptr_t* target_iter1 = &(target_iter0[write_ul_stride]);
+ uintptr_t* target_iter2 = &(target_iter1[write_ul_stride]);
+ uintptr_t* target_iter3 = &(target_iter2[write_ul_stride]);
+ for (uint32_t dvidx = 0; dvidx != fourword_ct; ++dvidx) {
+ const VecW loader0 = source_iter[dvidx * 2];
+ const VecW loader1 = source_iter[dvidx * 2 + 1];
+
+ VecW even_nyps0 = loader0 & m2;
+ VecW even_nyps1 = loader1 & m2;
+ VecW odd_nyps0 = vecw_srli(loader0, 2) & m2;
+ VecW odd_nyps1 = vecw_srli(loader1, 2) & m2;
+ even_nyps0 = even_nyps0 | vecw_srli(even_nyps0, 6);
+ even_nyps1 = even_nyps1 | vecw_srli(even_nyps1, 6);
+ odd_nyps0 = odd_nyps0 | vecw_srli(odd_nyps0, 6);
+ odd_nyps1 = odd_nyps1 | vecw_srli(odd_nyps1, 6);
+ // Low four bits of even_nyps{0,1}[0], [2], ..., [14] are destined for
+ // target_iter0; high four bits of those bytes are destined for
+ // target_iter2.
+ const VecW even_nyps = vecw_gather_even(even_nyps0, even_nyps1, m8);
+ const VecW odd_nyps = vecw_gather_even(odd_nyps0, odd_nyps1, m8);
+
+ VecW mod0_nyps = even_nyps & m4;
+ VecW mod1_nyps = odd_nyps & m4;
+ VecW mod2_nyps = vecw_srli(even_nyps, 4) & m4;
+ VecW mod3_nyps = vecw_srli(odd_nyps, 4) & m4;
+ mod0_nyps = mod0_nyps | vecw_srli(mod0_nyps, 4);
+ mod1_nyps = mod1_nyps | vecw_srli(mod1_nyps, 4);
+ mod2_nyps = mod2_nyps | vecw_srli(mod2_nyps, 4);
+ mod3_nyps = mod3_nyps | vecw_srli(mod3_nyps, 4);
+ mod0_nyps = vecw_shuffle8(mod0_nyps, gather_even);
+ mod1_nyps = vecw_shuffle8(mod1_nyps, gather_even);
+ mod2_nyps = vecw_shuffle8(mod2_nyps, gather_even);
+ mod3_nyps = vecw_shuffle8(mod3_nyps, gather_even);
+ target_iter0[dvidx] = vecw_extract64_0(mod0_nyps);
+ target_iter1[dvidx] = vecw_extract64_0(mod1_nyps);
+ target_iter2[dvidx] = vecw_extract64_0(mod2_nyps);
+ target_iter3[dvidx] = vecw_extract64_0(mod3_nyps);
+ }
+ source_iter = &(source_iter[32]);
+ target_iter0 = &(target_iter3[write_ul_stride]);
+ }
+}
+# endif
+#else // !USE_SSE2
+# ifdef __LP64__
+static_assert(kWordsPerVec == 1, "TransposeNypblock64() needs to be updated.");
+void TransposeNypblock64(const uintptr_t* read_iter, uint32_t read_ul_stride, uint32_t write_ul_stride, uint32_t read_batch_size, uint32_t write_batch_size, uintptr_t* __restrict write_iter, unsigned char* __restrict buf0, unsigned char* __restrict buf1) {
+ // buf0 and buf1 must each be vector-aligned and have size 16k
+ // defining them as unsigned char* might prevent a strict-aliasing issue?
+ // (might need to go through greater contortions to actually be safe?)
+ const uint32_t buf_row_ct = NypCtToByteCt(write_batch_size);
+ // fold the first 6 shuffles into the initial ingestion loop
+ const unsigned char* initial_read_iter = DowncastKToUc(read_iter);
+ const unsigned char* initial_read_end = &(initial_read_iter[buf_row_ct]);
+ unsigned char* initial_target_iter = buf0;
+ const uint32_t read_byte_stride = read_ul_stride * kBytesPerWord;
+ const uint32_t read_batch_rem = kNypsPerCacheline - read_batch_size;
+ for (; initial_read_iter != initial_read_end; ++initial_read_iter) {
+ const unsigned char* read_iter_tmp = initial_read_iter;
+ for (uint32_t ujj = 0; ujj != read_batch_size; ++ujj) {
+ *initial_target_iter++ = *read_iter_tmp;
+ read_iter_tmp = &(read_iter_tmp[read_byte_stride]);
+ }
+ initial_target_iter = memsetua(initial_target_iter, 0, read_batch_rem);
+ }
+
+ // second-to-last shuffle, 8 bit spacing -> 4
+ const uintptr_t* source_iter = R_CAST(uintptr_t*, buf0);
+ uintptr_t* target_iter0 = R_CAST(uintptr_t*, buf1);
+ const uint32_t write_word_ct = NypCtToWordCt(read_batch_size);
+ const uint32_t penult_inner_loop_iter_ct = 2 * write_word_ct;
+ const uint32_t cur_write_skip = 2 * kWordsPerCacheline - penult_inner_loop_iter_ct;
+ for (uint32_t uii = 0; uii != buf_row_ct; ++uii) {
+ uintptr_t* target_iter1 = &(target_iter0[kWordsPerCacheline * 2]);
+ for (uint32_t ujj = 0; ujj != penult_inner_loop_iter_ct; ++ujj) {
+ const uintptr_t source_word_lo = *source_iter++;
+ const uintptr_t source_word_hi = *source_iter++;
+ *target_iter0++ = PackTwo0F0FMask(source_word_lo, source_word_hi);
+ *target_iter1++ = PackTwo0F0FMask(source_word_lo >> 4, source_word_hi >> 4);
+ }
+ source_iter = &(source_iter[2 * cur_write_skip]);
+ target_iter0 = &(target_iter1[cur_write_skip]);
+ }
+
+ // last shuffle, 4 bit spacing -> 2
+ source_iter = R_CAST(uintptr_t*, buf1);
+ target_iter0 = write_iter;
+ const uint32_t last_loop_iter_ct = DivUp(write_batch_size, 2);
+ for (uint32_t uii = 0; uii != last_loop_iter_ct; ++uii) {
+ uintptr_t* target_iter1 = &(target_iter0[write_ul_stride]);
+ for (uint32_t ujj = 0; ujj != write_word_ct; ++ujj) {
+ const uintptr_t source_word_lo = *source_iter++;
+ const uintptr_t source_word_hi = *source_iter++;
+ target_iter0[ujj] = PackTwo3333Mask(source_word_lo, source_word_hi);
+ target_iter1[ujj] = PackTwo3333Mask(source_word_lo >> 2, source_word_hi >> 2);
+ }
+ source_iter = &(source_iter[2 * (kWordsPerCacheline - write_word_ct)]);
+ target_iter0 = &(target_iter1[write_ul_stride]);
+ }
+}
+# else
+static_assert(kWordsPerVec == 1, "TransposeNypblock32() needs to be updated.");
+void TransposeNypblock32(const uintptr_t* read_iter, uint32_t read_ul_stride, uint32_t write_ul_stride, uint32_t read_batch_size, uint32_t write_batch_size, uintptr_t* __restrict write_iter, unsigned char* __restrict buf0, unsigned char* __restrict buf1) {
+ // buf0 and buf1 must each be vector-aligned and have size 16k
+ // defining them as unsigned char* might prevent a strict-aliasing issue?
+ // (might need to go through greater contortions to actually be safe?)
+ const uint32_t buf_row_ct = NypCtToByteCt(write_batch_size);
+ // fold the first 6 shuffles into the initial ingestion loop
+ const unsigned char* initial_read_iter = DowncastKToUc(read_iter);
+ const unsigned char* initial_read_end = &(initial_read_iter[buf_row_ct]);
+ unsigned char* initial_target_iter = buf0;
+ const uint32_t read_byte_stride = read_ul_stride * kBytesPerWord;
+ const uint32_t read_batch_rem = kNypsPerCacheline - read_batch_size;
+ for (; initial_read_iter != initial_read_end; ++initial_read_iter) {
+ const unsigned char* read_iter_tmp = initial_read_iter;
+ for (uint32_t ujj = 0; ujj != read_batch_size; ++ujj) {
+ *initial_target_iter++ = *read_iter_tmp;
+ read_iter_tmp = &(read_iter_tmp[read_byte_stride]);
+ }
+ initial_target_iter = memsetua(initial_target_iter, 0, read_batch_rem);
+ }
+
+ // second-to-last shuffle, 8 bit spacing -> 4
+ const uintptr_t* source_iter = R_CAST(uintptr_t*, buf0);
+ uintptr_t* target_iter0 = R_CAST(uintptr_t*, buf1);
+ const uint32_t write_word_ct = NypCtToWordCt(read_batch_size);
+ const uint32_t penult_inner_loop_iter_ct = 2 * write_word_ct;
+ const uint32_t cur_write_skip = 2 * kWordsPerCacheline - penult_inner_loop_iter_ct;
+ for (uint32_t uii = 0; uii != buf_row_ct; ++uii) {
+ uintptr_t* target_iter1 = &(target_iter0[kWordsPerCacheline * 2]);
+ for (uint32_t ujj = 0; ujj != penult_inner_loop_iter_ct; ++ujj) {
+ const uintptr_t source_word_lo = *source_iter++;
+ const uintptr_t source_word_hi = *source_iter++;
+ *target_iter0++ = PackTwo0F0FMask(source_word_lo, source_word_hi);
+ *target_iter1++ = PackTwo0F0FMask(source_word_lo >> 4, source_word_hi >> 4);
+ }
+ source_iter = &(source_iter[2 * cur_write_skip]);
+ target_iter0 = &(target_iter1[cur_write_skip]);
+ }
+
+ // last shuffle, 4 bit spacing -> 2
+ source_iter = R_CAST(uintptr_t*, buf1);
+ target_iter0 = write_iter;
+ const uint32_t last_loop_iter_ct = DivUp(write_batch_size, 2);
+ for (uint32_t uii = 0; uii != last_loop_iter_ct; ++uii) {
+ uintptr_t* target_iter1 = &(target_iter0[write_ul_stride]);
+ for (uint32_t ujj = 0; ujj != write_word_ct; ++ujj) {
+ const uintptr_t source_word_lo = *source_iter++;
+ const uintptr_t source_word_hi = *source_iter++;
+ target_iter0[ujj] = PackTwo3333Mask(source_word_lo, source_word_hi);
+ target_iter1[ujj] = PackTwo3333Mask(source_word_lo >> 2, source_word_hi >> 2);
+ }
+ source_iter = &(source_iter[2 * (kWordsPerCacheline - write_word_ct)]);
+ target_iter0 = &(target_iter1[write_ul_stride]);
+ }
+}
+# endif // !__LP64__
+#endif // !USE_SSE2
+
+void BiallelicDosage16Invert(uint32_t dosage_ct, uint16_t* dosage_main) {
+ // replace each x with (32768 - x).
+ // compiler is smart enough to vectorize this.
+ for (uint32_t uii = 0; uii != dosage_ct; ++uii) {
+ dosage_main[uii] = 32768 - dosage_main[uii];
+ }
+}
+
+void BiallelicDphase16Invert(uint32_t dphase_ct, int16_t* dphase_delta) {
+ for (uint32_t uii = 0; uii != dphase_ct; ++uii) {
+ dphase_delta[uii] = -dphase_delta[uii];
+ }
+}
+
+#if defined(USE_SSE2) && !defined(USE_AVX2)
+void PackWordsToHalfwordsInvmatch(const uintptr_t* __restrict genoarr, uintptr_t inv_match_word, uint32_t inword_ct, uintptr_t* __restrict dst) {
+ // In shuffle8 case, this takes ~30% less time than a
+ // PackWordToHalfwordMask5555 loop.
+ const uint32_t out_fullvec_ct = inword_ct / (kWordsPerVec * 2);
+ const VecW xor_vec = vecw_set1(inv_match_word);
+ const VecW m1 = VCONST_W(kMask5555);
+# ifdef USE_SHUFFLE8
+ const VecW swap12 = vecw_setr8(
+ 0, 1, 4, 5, 2, 3, 6, 7,
+ 8, 9, 12, 13, 10, 11, 14, 15);
+# else
+ const VecW m2 = VCONST_W(kMask3333);
+# endif
+ const VecW m4 = VCONST_W(kMask0F0F);
+ const VecW m8 = VCONST_W(kMask00FF);
+ for (uintptr_t vidx = 0; vidx != out_fullvec_ct; ++vidx) {
+ VecW vec_lo = vecw_loadu(&(genoarr[2 * kWordsPerVec * vidx])) ^ xor_vec;
+ VecW vec_hi = vecw_loadu(&(genoarr[2 * kWordsPerVec * vidx + kWordsPerVec])) ^ xor_vec;
+ vec_lo = vec_lo & vecw_srli(vec_lo, 1) & m1;
+ vec_hi = vec_hi & vecw_srli(vec_hi, 1) & m1;
+# ifdef USE_SHUFFLE8
+ vec_lo = (vec_lo | vecw_srli(vec_lo, 3)) & m4;
+ vec_hi = (vec_hi | vecw_srli(vec_hi, 3)) & m4;
+ vec_lo = vecw_shuffle8(swap12, vec_lo);
+ vec_hi = vecw_shuffle8(swap12, vec_hi);
+# else
+ vec_lo = (vec_lo | vecw_srli(vec_lo, 1)) & m2;
+ vec_hi = (vec_hi | vecw_srli(vec_hi, 1)) & m2;
+ vec_lo = (vec_lo | vecw_srli(vec_lo, 2)) & m4;
+ vec_hi = (vec_hi | vecw_srli(vec_hi, 2)) & m4;
+# endif
+ vec_lo = vec_lo | vecw_srli(vec_lo, 4);
+ vec_hi = vec_hi | vecw_srli(vec_hi, 4);
+ const VecW vec_packed = vecw_gather_even(vec_lo, vec_hi, m8);
+ vecw_storeu(&(dst[kWordsPerVec * vidx]), vec_packed);
+ }
+ Halfword* dst_alias = DowncastWToHW(dst);
+ uint32_t widx = RoundDownPow2(inword_ct, kWordsPerVec * 2);
+ for (; widx != inword_ct; ++widx) {
+ const uintptr_t cur_word = genoarr[widx] ^ inv_match_word;
+ const Halfword hw = PackWordToHalfwordMask5555(cur_word & (cur_word >> 1));
+ dst_alias[widx] = hw;
+ }
+}
+
+void PackWordsToHalfwordsMismatch(const uintptr_t* __restrict genoarr, uintptr_t mismatch_word, uint32_t inword_ct, uintptr_t* __restrict dst) {
+ const uint32_t out_fullvec_ct = inword_ct / (kWordsPerVec * 2);
+ const VecW xor_vec = vecw_set1(mismatch_word);
+ const VecW m1 = VCONST_W(kMask5555);
+# ifdef USE_SHUFFLE8
+ const VecW swap12 = vecw_setr8(
+ 0, 1, 4, 5, 2, 3, 6, 7,
+ 8, 9, 12, 13, 10, 11, 14, 15);
+# else
+ const VecW m2 = VCONST_W(kMask3333);
+# endif
+ const VecW m4 = VCONST_W(kMask0F0F);
+ const VecW m8 = VCONST_W(kMask00FF);
+ for (uintptr_t vidx = 0; vidx != out_fullvec_ct; ++vidx) {
+ VecW vec_lo = vecw_loadu(&(genoarr[2 * kWordsPerVec * vidx])) ^ xor_vec;
+ VecW vec_hi = vecw_loadu(&(genoarr[2 * kWordsPerVec * vidx + kWordsPerVec])) ^ xor_vec;
+ vec_lo = (vec_lo | vecw_srli(vec_lo, 1)) & m1;
+ vec_hi = (vec_hi | vecw_srli(vec_hi, 1)) & m1;
+# ifdef USE_SHUFFLE8
+ vec_lo = (vec_lo | vecw_srli(vec_lo, 3)) & m4;
+ vec_hi = (vec_hi | vecw_srli(vec_hi, 3)) & m4;
+ vec_lo = vecw_shuffle8(swap12, vec_lo);
+ vec_hi = vecw_shuffle8(swap12, vec_hi);
+# else
+ vec_lo = (vec_lo | vecw_srli(vec_lo, 1)) & m2;
+ vec_hi = (vec_hi | vecw_srli(vec_hi, 1)) & m2;
+ vec_lo = (vec_lo | vecw_srli(vec_lo, 2)) & m4;
+ vec_hi = (vec_hi | vecw_srli(vec_hi, 2)) & m4;
+# endif
+ vec_lo = vec_lo | vecw_srli(vec_lo, 4);
+ vec_hi = vec_hi | vecw_srli(vec_hi, 4);
+ const VecW vec_packed = vecw_gather_even(vec_lo, vec_hi, m8);
+ vecw_storeu(&(dst[kWordsPerVec * vidx]), vec_packed);
+ }
+ Halfword* dst_alias = DowncastWToHW(dst);
+ uint32_t widx = RoundDownPow2(inword_ct, kWordsPerVec * 2);
+ for (; widx != inword_ct; ++widx) {
+ const uintptr_t cur_word = genoarr[widx] ^ mismatch_word;
+ const Halfword hw = PackWordToHalfwordMask5555(cur_word | (cur_word >> 1));
+ dst_alias[widx] = hw;
+ }
+}
+
+void MaskWordsToHalfwordsInvmatch(const uintptr_t* __restrict genoarr, uintptr_t inv_match_word, uint32_t inword_ct, uintptr_t* src, uintptr_t* dst) {
+ const uint32_t out_fullvec_ct = inword_ct / (kWordsPerVec * 2);
+ const VecW xor_vec = vecw_set1(inv_match_word);
+ const VecW m1 = VCONST_W(kMask5555);
+# ifdef USE_SHUFFLE8
+ const VecW swap12 = vecw_setr8(
+ 0, 1, 4, 5, 2, 3, 6, 7,
+ 8, 9, 12, 13, 10, 11, 14, 15);
+# else
+ const VecW m2 = VCONST_W(kMask3333);
+# endif
+ const VecW m4 = VCONST_W(kMask0F0F);
+ const VecW m8 = VCONST_W(kMask00FF);
+ for (uintptr_t vidx = 0; vidx != out_fullvec_ct; ++vidx) {
+ VecW vec_lo = vecw_loadu(&(genoarr[2 * kWordsPerVec * vidx])) ^ xor_vec;
+ VecW vec_hi = vecw_loadu(&(genoarr[2 * kWordsPerVec * vidx + kWordsPerVec])) ^ xor_vec;
+ VecW src_vec = vecw_loadu(&(src[kWordsPerVec * vidx]));
+ vec_lo = vec_lo & vecw_srli(vec_lo, 1) & m1;
+ vec_hi = vec_hi & vecw_srli(vec_hi, 1) & m1;
+# ifdef USE_SHUFFLE8
+ vec_lo = (vec_lo | vecw_srli(vec_lo, 3)) & m4;
+ vec_hi = (vec_hi | vecw_srli(vec_hi, 3)) & m4;
+ vec_lo = vecw_shuffle8(swap12, vec_lo);
+ vec_hi = vecw_shuffle8(swap12, vec_hi);
+# else
+ vec_lo = (vec_lo | vecw_srli(vec_lo, 1)) & m2;
+ vec_hi = (vec_hi | vecw_srli(vec_hi, 1)) & m2;
+ vec_lo = (vec_lo | vecw_srli(vec_lo, 2)) & m4;
+ vec_hi = (vec_hi | vecw_srli(vec_hi, 2)) & m4;
+# endif
+ vec_lo = vec_lo | vecw_srli(vec_lo, 4);
+ vec_hi = vec_hi | vecw_srli(vec_hi, 4);
+ const VecW vec_packed = vecw_gather_even(vec_lo, vec_hi, m8);
+ vecw_storeu(&(dst[kWordsPerVec * vidx]), src_vec & vec_packed);
+ }
+ Halfword* src_alias = DowncastWToHW(src);
+ Halfword* dst_alias = DowncastWToHW(dst);
+ uint32_t widx = RoundDownPow2(inword_ct, kWordsPerVec * 2);
+ for (; widx != inword_ct; ++widx) {
+ const uintptr_t cur_word = genoarr[widx] ^ inv_match_word;
+ const Halfword hw = PackWordToHalfwordMask5555(cur_word & (cur_word >> 1));
+ dst_alias[widx] = src_alias[widx] & hw;
+ }
+}
+#else
+void PackWordsToHalfwordsInvmatch(const uintptr_t* __restrict genoarr, uintptr_t inv_match_word, uint32_t inword_ct, uintptr_t* __restrict dst) {
+ Halfword* dst_alias = DowncastWToHW(dst);
+ for (uint32_t widx = 0; widx != inword_ct; ++widx) {
+ const uintptr_t cur_word = genoarr[widx] ^ inv_match_word;
+ const Halfword hw = PackWordToHalfwordMask5555(cur_word & (cur_word >> 1));
+ dst_alias[widx] = hw;
+ }
+}
+
+void PackWordsToHalfwordsMismatch(const uintptr_t* __restrict genoarr, uintptr_t mismatch_word, uint32_t inword_ct, uintptr_t* __restrict dst) {
+ Halfword* dst_alias = DowncastWToHW(dst);
+ for (uint32_t widx = 0; widx != inword_ct; ++widx) {
+ const uintptr_t cur_word = genoarr[widx] ^ mismatch_word;
+ const Halfword hw = PackWordToHalfwordMask5555(cur_word | (cur_word >> 1));
+ dst_alias[widx] = hw;
+ }
+}
+
+void MaskWordsToHalfwordsInvmatch(const uintptr_t* __restrict genoarr, uintptr_t inv_match_word, uint32_t inword_ct, uintptr_t* src, uintptr_t* dst) {
+ Halfword* src_alias = DowncastWToHW(src);
+ Halfword* dst_alias = DowncastWToHW(dst);
+ for (uint32_t widx = 0; widx != inword_ct; ++widx) {
+ const uintptr_t cur_word = genoarr[widx] ^ inv_match_word;
+ const Halfword hw = PackWordToHalfwordMask5555(cur_word & (cur_word >> 1));
+ dst_alias[widx] = src_alias[widx] & hw;
+ }
+}
+#endif
+
+void SparseToMissingness(const uintptr_t* __restrict raregeno, const uint32_t* difflist_sample_ids, uint32_t sample_ct, uint32_t difflist_common_geno, uint32_t difflist_len, uintptr_t* __restrict missingness) {
+ if (difflist_common_geno != 3) {
+ const uint32_t sample_ctl = BitCtToWordCt(sample_ct);
+ ZeroWArr(sample_ctl, missingness);
+ if (!difflist_len) {
+ return;
+ }
+ const uint32_t raregeno_word_ct = NypCtToWordCt(difflist_len);
+ for (uint32_t widx = 0; widx != raregeno_word_ct; ++widx) {
+ const uintptr_t raregeno_word = raregeno[widx];
+ uintptr_t raregeno_11 = raregeno_word & (raregeno_word >> 1) & kMask5555;
+ if (raregeno_11) {
+ const uint32_t* cur_difflist_sample_ids = &(difflist_sample_ids[widx * kBitsPerWordD2]);
+ do {
+ const uint32_t sample_idx_lowbits = ctzw(raregeno_11) / 2;
+ const uint32_t cur_sample_id = cur_difflist_sample_ids[sample_idx_lowbits];
+ SetBit(cur_sample_id, missingness);
+ raregeno_11 &= raregeno_11 - 1;
+ } while (raregeno_11);
+ }
+ }
+ } else {
+ SetAllBits(sample_ct, missingness);
+ // Don't need to look at raregeno, all cases are nonmissing.
+ for (uint32_t uii = 0; uii != difflist_len; ++uii) {
+ const uint32_t cur_sample_id = difflist_sample_ids[uii];
+ ClearBit(cur_sample_id, missingness);
+ }
+ }
+}
+
+#if defined(USE_SSE2) && !defined(USE_AVX2)
+void SplitHomRef2hetUnsafeW(const uintptr_t* __restrict genoarr, uint32_t inword_ct, uintptr_t* __restrict hom_buf, uintptr_t* __restrict ref2het_buf) {
+ const uint32_t out_fullvec_ct = inword_ct / (kWordsPerVec * 2);
+ // In shuffle8 case, this takes ~55% less time than unvectorized loop.
+ // homozygous: geno = 0 or 2
+ // ref2het: geno = 0 or 1
+ const VecW m1 = VCONST_W(kMask5555);
+# ifdef USE_SHUFFLE8
+ const VecW swap12 = vecw_setr8(
+ 0, 1, 4, 5, 2, 3, 6, 7,
+ 8, 9, 12, 13, 10, 11, 14, 15);
+# else
+ const VecW m2 = VCONST_W(kMask3333);
+# endif
+ const VecW m4 = VCONST_W(kMask0F0F);
+ const VecW m8 = VCONST_W(kMask00FF);
+ for (uintptr_t vidx = 0; vidx != out_fullvec_ct; ++vidx) {
+ const VecW vec_lo = vecw_loadu(&(genoarr[2 * kWordsPerVec * vidx]));
+ const VecW vec_hi = vecw_loadu(&(genoarr[2 * kWordsPerVec * vidx + kWordsPerVec]));
+ VecW hom_lo = vecw_and_notfirst(vec_lo, m1);
+ VecW r2h_lo = vecw_and_notfirst(vecw_srli(vec_lo, 1), m1);
+ VecW hom_hi = vecw_and_notfirst(vec_hi, m1);
+ VecW r2h_hi = vecw_and_notfirst(vecw_srli(vec_hi, 1), m1);
+# ifdef USE_SHUFFLE8
+ hom_lo = (hom_lo | vecw_srli(hom_lo, 3)) & m4;
+ r2h_lo = (r2h_lo | vecw_srli(r2h_lo, 3)) & m4;
+ hom_hi = (hom_hi | vecw_srli(hom_hi, 3)) & m4;
+ r2h_hi = (r2h_hi | vecw_srli(r2h_hi, 3)) & m4;
+ hom_lo = vecw_shuffle8(swap12, hom_lo);
+ r2h_lo = vecw_shuffle8(swap12, r2h_lo);
+ hom_hi = vecw_shuffle8(swap12, hom_hi);
+ r2h_hi = vecw_shuffle8(swap12, r2h_hi);
+# else
+ hom_lo = (hom_lo | vecw_srli(hom_lo, 1)) & m2;
+ r2h_lo = (r2h_lo | vecw_srli(r2h_lo, 1)) & m2;
+ hom_hi = (hom_hi | vecw_srli(hom_hi, 1)) & m2;
+ r2h_hi = (r2h_hi | vecw_srli(r2h_hi, 1)) & m2;
+ hom_lo = (hom_lo | vecw_srli(hom_lo, 2)) & m4;
+ r2h_lo = (r2h_lo | vecw_srli(r2h_lo, 2)) & m4;
+ hom_hi = (hom_hi | vecw_srli(hom_hi, 2)) & m4;
+ r2h_hi = (r2h_hi | vecw_srli(r2h_hi, 2)) & m4;
+# endif
+ hom_lo = hom_lo | vecw_srli(hom_lo, 4);
+ r2h_lo = r2h_lo | vecw_srli(r2h_lo, 4);
+ hom_hi = hom_hi | vecw_srli(hom_hi, 4);
+ r2h_hi = r2h_hi | vecw_srli(r2h_hi, 4);
+ const VecW hom_packed = vecw_gather_even(hom_lo, hom_hi, m8);
+ const VecW r2h_packed = vecw_gather_even(r2h_lo, r2h_hi, m8);
+ vecw_storeu(&(hom_buf[kWordsPerVec * vidx]), hom_packed);
+ vecw_storeu(&(ref2het_buf[kWordsPerVec * vidx]), r2h_packed);
+ }
+ Halfword* hom_alias = DowncastWToHW(hom_buf);
+ Halfword* r2h_alias = DowncastWToHW(ref2het_buf);
+ uint32_t widx = RoundDownPow2(inword_ct, kWordsPerVec * 2);
+ for (; widx != inword_ct; ++widx) {
+ const uintptr_t inv_geno_word = ~genoarr[widx];
+ hom_alias[widx] = PackWordToHalfwordMask5555(inv_geno_word);
+ r2h_alias[widx] = PackWordToHalfwordMaskAAAA(inv_geno_word);
+ }
+}
+#else
+void SplitHomRef2hetUnsafeW(const uintptr_t* genoarr, uint32_t inword_ct, uintptr_t* __restrict hom_buf, uintptr_t* __restrict ref2het_buf) {
+ Halfword* hom_alias = DowncastWToHW(hom_buf);
+ Halfword* ref2het_alias = DowncastWToHW(ref2het_buf);
+ for (uint32_t widx = 0; widx != inword_ct; ++widx) {
+ const uintptr_t inv_geno_word = ~genoarr[widx];
+ hom_alias[widx] = PackWordToHalfwordMask5555(inv_geno_word);
+ ref2het_alias[widx] = PackWordToHalfwordMaskAAAA(inv_geno_word);
+ }
+}
+#endif
+
+void SplitHomRef2het(const uintptr_t* genoarr, uint32_t sample_ct, uintptr_t* __restrict hom_buf, uintptr_t* __restrict ref2het_buf) {
+ const uint32_t full_outword_ct = sample_ct / kBitsPerWord;
+ SplitHomRef2hetUnsafeW(genoarr, full_outword_ct * 2, hom_buf, ref2het_buf);
+ const uint32_t remainder = sample_ct % kBitsPerWord;
+ if (remainder) {
+ uintptr_t geno_word = genoarr[full_outword_ct * 2];
+ uintptr_t hom_word = PackWordToHalfwordMask5555(~geno_word);
+ uintptr_t ref2het_word = PackWordToHalfwordMaskAAAA(~geno_word);
+ if (remainder > kBitsPerWordD2) {
+ geno_word = genoarr[full_outword_ct * 2 + 1];
+ hom_word |= S_CAST(uintptr_t, PackWordToHalfwordMask5555(~geno_word)) << kBitsPerWordD2;
+ ref2het_word |= S_CAST(uintptr_t, PackWordToHalfwordMaskAAAA(~geno_word)) << kBitsPerWordD2;
+ }
+ const uintptr_t cur_mask = (k1LU << remainder) - 1;
+ hom_buf[full_outword_ct] = hom_word & cur_mask;
+ ref2het_buf[full_outword_ct] = ref2het_word & cur_mask;
+ }
+}
+
+BoolErr HapsplitMustPhased(const uintptr_t* genoarr, const uintptr_t* phasepresent, const uintptr_t* phaseinfo, uint32_t sample_ct, uint32_t phase_exists, uintptr_t* hap_arr, uintptr_t* nm_arr) {
+ const uint32_t sample_ctl2 = NypCtToWordCt(sample_ct);
+ uintptr_t detect_unphased = 0;
+ if (!phase_exists) {
+ // error out if het encountered
+ for (uint32_t widx = 0; widx != sample_ctl2; ++widx) {
+ const uintptr_t geno_word = genoarr[widx];
+ const uintptr_t nm_word = 3 * (kMask5555 & (~(geno_word & (geno_word >> 1))));
+ const uintptr_t geno_nm = geno_word & nm_word;
+ // geno_nm is now {00, 01, 10, 00}. In particular, if we ever see 01, we
+ // error out.
+ const uintptr_t geno_nm_hi = (geno_nm >> 1) & kMask5555;
+ nm_arr[widx] = nm_word;
+ hap_arr[widx] = geno_nm | geno_nm_hi;
+ detect_unphased |= geno_nm;
+ }
+ detect_unphased &= kMask5555;
+ } else {
+ // error out if het encountered, and not covered by phasepresent
+ const Halfword* phasepresent_alias = DowncastKWToHW(phasepresent);
+ const Halfword* phaseinfo_alias = DowncastKWToHW(phaseinfo);
+ for (uint32_t widx = 0; widx != sample_ctl2; ++widx) {
+ const uintptr_t geno_word = genoarr[widx];
+ const uintptr_t geno_rshift = geno_word >> 1;
+ const uintptr_t nm_word = 3 * (kMask5555 & (~(geno_word & geno_rshift)));
+ const uintptr_t geno_nm = geno_word & nm_word;
+ const uintptr_t geno_nm_hi = (geno_nm >> 1) & kMask5555;
+ const uintptr_t het_word = geno_nm & kMask5555;
+ const uintptr_t phasepresent_word = UnpackHalfwordToWord(phasepresent_alias[widx]);
+ const uintptr_t phaseinfo_word = phasepresent_word & UnpackHalfwordToWord(phaseinfo_alias[widx]);
+ nm_arr[widx] = nm_word;
+ hap_arr[widx] = geno_nm + geno_nm_hi + phaseinfo_word;
+ detect_unphased |= het_word & (~phasepresent_word);
+ }
+ }
+ const uint32_t trailing_nyp_ct = sample_ct % kBitsPerWordD2;
+ if (trailing_nyp_ct) {
+ const uint32_t trailing_bit_ct = trailing_nyp_ct * 2;
+ const uint32_t last_word_idx = sample_ctl2 - 1;
+ nm_arr[last_word_idx] = bzhi(nm_arr[last_word_idx], trailing_bit_ct);
+ hap_arr[last_word_idx] = bzhi(hap_arr[last_word_idx], trailing_bit_ct);
+ }
+ return (detect_unphased != 0);
+}
+
+#if defined(USE_SSE2) && !defined(USE_AVX2)
+void HapsplitHaploid(const uintptr_t* __restrict genoarr, uint32_t sample_ct, uintptr_t* __restrict hap_arr, uintptr_t* __restrict nm_arr) {
+ // In shuffle8 case, this takes ~40% less time than unvectorized loop.
+ const uint32_t sample_ctl = BitCtToWordCt(sample_ct);
+ const uint32_t sample_ctl2_is_odd = NypCtToWordCt(sample_ct) & 1;
+ const uint32_t wordpair_ct = sample_ctl - sample_ctl2_is_odd;
+ const uint32_t out_fullvec_ct = wordpair_ct / 2;
+ const VecW m1 = VCONST_W(kMask5555);
+# ifdef USE_SHUFFLE8
+ const VecW swap12 = vecw_setr8(
+ 0, 1, 4, 5, 2, 3, 6, 7,
+ 8, 9, 12, 13, 10, 11, 14, 15);
+# else
+ const VecW m2 = VCONST_W(kMask3333);
+# endif
+ const VecW m4 = VCONST_W(kMask0F0F);
+ const VecW m8 = VCONST_W(kMask00FF);
+ for (uintptr_t vidx = 0; vidx != out_fullvec_ct; ++vidx) {
+ const VecW vec_lo = vecw_loadu(&(genoarr[2 * kWordsPerVec * vidx]));
+ const VecW vec_hi = vecw_loadu(&(genoarr[2 * kWordsPerVec * vidx + kWordsPerVec]));
+ VecW nm_lo = vecw_and_notfirst(vec_lo, m1);
+ VecW nm_hi = vecw_and_notfirst(vec_hi, m1);
+ VecW hap_lo = nm_lo & vecw_srli(vec_lo, 1);
+ VecW hap_hi = nm_hi & vecw_srli(vec_hi, 1);
+# ifdef USE_SHUFFLE8
+ nm_lo = (nm_lo | vecw_srli(nm_lo, 3)) & m4;
+ nm_hi = (nm_hi | vecw_srli(nm_hi, 3)) & m4;
+ hap_lo = (hap_lo | vecw_srli(hap_lo, 3)) & m4;
+ hap_hi = (hap_hi | vecw_srli(hap_hi, 3)) & m4;
+ nm_lo = vecw_shuffle8(swap12, nm_lo);
+ nm_hi = vecw_shuffle8(swap12, nm_hi);
+ hap_lo = vecw_shuffle8(swap12, hap_lo);
+ hap_hi = vecw_shuffle8(swap12, hap_hi);
+# else
+ nm_lo = (nm_lo | vecw_srli(nm_lo, 1)) & m2;
+ nm_hi = (nm_hi | vecw_srli(nm_hi, 1)) & m2;
+ hap_lo = (hap_lo | vecw_srli(hap_lo, 1)) & m2;
+ hap_hi = (hap_hi | vecw_srli(hap_hi, 1)) & m2;
+ nm_lo = (nm_lo | vecw_srli(nm_lo, 2)) & m4;
+ nm_hi = (nm_hi | vecw_srli(nm_hi, 2)) & m4;
+ hap_lo = (hap_lo | vecw_srli(hap_lo, 2)) & m4;
+ hap_hi = (hap_hi | vecw_srli(hap_hi, 2)) & m4;
+# endif
+ nm_lo = nm_lo | vecw_srli(nm_lo, 4);
+ nm_hi = nm_hi | vecw_srli(nm_hi, 4);
+ hap_lo = hap_lo | vecw_srli(hap_lo, 4);
+ hap_hi = hap_hi | vecw_srli(hap_hi, 4);
+ const VecW nm_packed = vecw_gather_even(nm_lo, nm_hi, m8);
+ const VecW hap_packed = vecw_gather_even(hap_lo, hap_hi, m8);
+ vecw_storeu(&(nm_arr[kWordsPerVec * vidx]), nm_packed);
+ vecw_storeu(&(hap_arr[kWordsPerVec * vidx]), hap_packed);
+ }
+ if (wordpair_ct % 2) {
+ const uint32_t widx = wordpair_ct - 1;
+ const uintptr_t geno_word0 = genoarr[widx * 2];
+ const uintptr_t geno_word1 = genoarr[widx * 2 + 1];
+ const uintptr_t nm_word0 = ~geno_word0;
+ const uintptr_t nm_word1 = ~geno_word1;
+ const uintptr_t hap_word0 = nm_word0 & (geno_word0 >> 1);
+ const uintptr_t hap_word1 = nm_word1 & (geno_word1 >> 1);
+ nm_arr[widx] = PackTwo5555Mask(nm_word0, nm_word1);
+ hap_arr[widx] = PackTwo5555Mask(hap_word0, hap_word1);
+ }
+ if (sample_ctl2_is_odd) {
+ const uintptr_t geno_word0 = genoarr[wordpair_ct * 2];
+ const uintptr_t nm_word0 = ~geno_word0;
+ const uintptr_t hap_word0 = nm_word0 & (geno_word0 >> 1);
+ nm_arr[wordpair_ct] = PackWordToHalfwordMask5555(nm_word0);
+ hap_arr[wordpair_ct] = PackWordToHalfwordMask5555(hap_word0);
+ }
+ const uint32_t trailing_bit_ct = sample_ct % kBitsPerWord;
+ if (trailing_bit_ct) {
+ const uint32_t last_word_idx = sample_ctl - 1;
+ nm_arr[last_word_idx] = bzhi(nm_arr[last_word_idx], trailing_bit_ct);
+ hap_arr[last_word_idx] = bzhi(hap_arr[last_word_idx], trailing_bit_ct);
+ }
+}
+#else
+void HapsplitHaploid(const uintptr_t* __restrict genoarr, uint32_t sample_ct, uintptr_t* __restrict hap_arr, uintptr_t* __restrict nm_arr) {
+ const uint32_t sample_ctl = BitCtToWordCt(sample_ct);
+ const uint32_t sample_ctl2_is_odd = NypCtToWordCt(sample_ct) & 1;
+ const uint32_t wordpair_ct = sample_ctl - sample_ctl2_is_odd;
+ for (uint32_t widx = 0; widx != wordpair_ct; ++widx) {
+ const uintptr_t geno_word0 = genoarr[widx * 2];
+ const uintptr_t geno_word1 = genoarr[widx * 2 + 1];
+ const uintptr_t nm_word0 = ~geno_word0;
+ const uintptr_t nm_word1 = ~geno_word1;
+ const uintptr_t hap_word0 = nm_word0 & (geno_word0 >> 1);
+ const uintptr_t hap_word1 = nm_word1 & (geno_word1 >> 1);
+ nm_arr[widx] = PackTwo5555Mask(nm_word0, nm_word1);
+ hap_arr[widx] = PackTwo5555Mask(hap_word0, hap_word1);
+ }
+ if (sample_ctl2_is_odd) {
+ const uintptr_t geno_word0 = genoarr[wordpair_ct * 2];
+ const uintptr_t nm_word0 = ~geno_word0;
+ const uintptr_t hap_word0 = nm_word0 & (geno_word0 >> 1);
+ nm_arr[wordpair_ct] = PackWordToHalfwordMask5555(nm_word0);
+ hap_arr[wordpair_ct] = PackWordToHalfwordMask5555(hap_word0);
+ }
+ const uint32_t trailing_bit_ct = sample_ct % kBitsPerWord;
+ if (trailing_bit_ct) {
+ const uint32_t last_word_idx = sample_ctl - 1;
+ nm_arr[last_word_idx] = bzhi(nm_arr[last_word_idx], trailing_bit_ct);
+ hap_arr[last_word_idx] = bzhi(hap_arr[last_word_idx], trailing_bit_ct);
+ }
+}
+#endif
+
+#ifdef USE_SHUFFLE8
+// ~70% less time than per-byte lookup.
+void GenoarrLookup256x1bx4(const uintptr_t* genoarr, const void* table256x1bx4, uint32_t sample_ct, void* __restrict result) {
+ const uint32_t* table_alias = S_CAST(const uint32_t*, table256x1bx4);
+ const unsigned char* genoarr_alias = DowncastKToUc(genoarr);
+ unsigned char* resultb = S_CAST(unsigned char*, result);
+ const uint32_t full_byte_ct = sample_ct / 4;
+ if (full_byte_ct >= kBytesPerVec) {
+ const uint32_t last_genoarr_offset = full_byte_ct - kBytesPerVec;
+ const VecW lookup_even = vecw_loadu(&(table_alias[256]));
+ const VecW lookup_odd = vecw_loadu(&(table_alias[256 + kInt32PerVec]));
+ const VecW m4 = VCONST_W(kMask0F0F);
+ for (uint32_t genoarr_offset = 0; ; genoarr_offset += kBytesPerVec) {
+ if (genoarr_offset >= last_genoarr_offset) {
+ if (genoarr_offset == full_byte_ct) {
+ break;
+ }
+ genoarr_offset = last_genoarr_offset;
+ }
+ VecW cur_vec = vecw_loadu(&(genoarr_alias[genoarr_offset]));
+ VecW vec_lo;
+ VecW vec_hi;
+ vecw_lo_and_hi_nybbles(cur_vec, m4, &vec_lo, &vec_hi);
+ VecW result_lo_even = vecw_shuffle8(lookup_even, vec_lo);
+ VecW result_hi_even = vecw_shuffle8(lookup_even, vec_hi);
+ VecW result_lo_odd = vecw_shuffle8(lookup_odd, vec_lo);
+ VecW result_hi_odd = vecw_shuffle8(lookup_odd, vec_hi);
+ // In AVX2 case, result_lo_even has (0, 2, 4, ..., 62), and result_lo_odd
+ // has (1, 3, 5, ..., 63).
+ // even -> (0, 2, 4, ..., 14, 32, ..., 46, 16, ..., 30, 48, ..., 62)
+ // odd -> (1, 3, 5, ..., 15, 33, ..., 47, 17, ..., 31, 49, ..., 63)
+ // Then unpacklo yields (0, 1, 2, ..., 31).
+ result_lo_even = vecw_permute0xd8_if_avx2(result_lo_even);
+ result_lo_odd = vecw_permute0xd8_if_avx2(result_lo_odd);
+ result_hi_even = vecw_permute0xd8_if_avx2(result_hi_even);
+ result_hi_odd = vecw_permute0xd8_if_avx2(result_hi_odd);
+ const VecW result0 = vecw_unpacklo8(result_lo_even, result_lo_odd);
+ const VecW result1 = vecw_unpackhi8(result_lo_even, result_lo_odd);
+ const VecW result2 = vecw_unpacklo8(result_hi_even, result_hi_odd);
+ const VecW result3 = vecw_unpackhi8(result_hi_even, result_hi_odd);
+ unsigned char* cur_resultb = &(resultb[genoarr_offset * 4]);
+ vecw_storeu(cur_resultb, result0);
+ vecw_storeu(&(cur_resultb[kBytesPerVec]), result1);
+ vecw_storeu(&(cur_resultb[2 * kBytesPerVec]), result2);
+ vecw_storeu(&(cur_resultb[3 * kBytesPerVec]), result3);
+ }
+ } else {
+ for (uint32_t byte_idx = 0; byte_idx != full_byte_ct; ++byte_idx) {
+ CopyToUnalignedOffsetU32(resultb, &(table_alias[genoarr_alias[byte_idx]]), byte_idx);
+ }
+ }
+ const uint32_t remainder = sample_ct % 4;
+ if (remainder) {
+ unsigned char* result_last = &(resultb[full_byte_ct * 4]);
+ uintptr_t geno_byte = genoarr_alias[full_byte_ct];
+ for (uint32_t uii = 0; uii != remainder; ++uii) {
+ result_last[uii] = table_alias[geno_byte & 3];
+ geno_byte >>= 2;
+ }
+ }
+}
+#else
+void GenoarrLookup256x1bx4(const uintptr_t* genoarr, const void* table256x1bx4, uint32_t sample_ct, void* __restrict result) {
+ const uint32_t* table_alias = S_CAST(const uint32_t*, table256x1bx4);
+ const unsigned char* genoarr_alias = DowncastKToUc(genoarr);
+ unsigned char* resultb = S_CAST(unsigned char*, result);
+ const uint32_t full_byte_ct = sample_ct / 4;
+ for (uint32_t byte_idx = 0; byte_idx != full_byte_ct; ++byte_idx) {
+ CopyToUnalignedOffsetU32(resultb, &(table_alias[genoarr_alias[byte_idx]]), byte_idx);
+ }
+ const uint32_t remainder = sample_ct % 4;
+ if (remainder) {
+ unsigned char* result_last = &(resultb[full_byte_ct * 4]);
+ uintptr_t geno_byte = genoarr_alias[full_byte_ct];
+ for (uint32_t uii = 0; uii != remainder; ++uii) {
+ result_last[uii] = table_alias[geno_byte & 3];
+ geno_byte >>= 2;
+ }
+ }
+}
+#endif
+
+#ifndef NO_UNALIGNED
+void GenoarrLookup16x4bx2(const uintptr_t* genoarr, const void* table16x4bx2, uint32_t sample_ct, void* __restrict result) {
+ const uint64_t* table_alias = S_CAST(const uint64_t*, table16x4bx2);
+ unsigned char* result_biter = S_CAST(unsigned char*, result);
+ const uint32_t sample_ctl2m1 = (sample_ct - 1) / kBitsPerWordD2;
+ uint32_t loop_len = kBitsPerWordD4;
+ uintptr_t geno_word = 0;
+ for (uint32_t widx = 0; ; ++widx) {
+ if (widx >= sample_ctl2m1) {
+ if (widx > sample_ctl2m1) {
+ if (sample_ct % 2) {
+ // not a regular CopyToUnaligned, we're only copying the bottom half
+ // of the element
+ memcpy(result_biter, &(table_alias[geno_word & 3]), 4);
+ }
+ return;
+ }
+ loop_len = ModNz(sample_ct, kBitsPerWordD2) / 2;
+ }
+ geno_word = genoarr[widx];
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ const uintptr_t cur_2geno = geno_word & 15;
+ AppendU64(table_alias[cur_2geno], &result_biter);
+ geno_word >>= 4;
+ }
+ }
+}
+#else
+// plink2_glm_logistic does not guarantee 8 byte table alignment.
+void GenoarrLookup16x4bx2(const uintptr_t* genoarr, const void* table16x4bx2, uint32_t sample_ct, void* __restrict result) {
+ const uint32_t* table_u32 = S_CAST(const uint32_t*, table16x4bx2);
+ unsigned char* result_biter = S_CAST(unsigned char*, result);
+ const uint32_t sample_ctl2m1 = (sample_ct - 1) / kBitsPerWordD2;
+ uint32_t loop_len = kBitsPerWordD4;
+ uintptr_t geno_word = 0;
+ for (uint32_t widx = 0; ; ++widx) {
+ if (widx >= sample_ctl2m1) {
+ if (widx > sample_ctl2m1) {
+ if (sample_ct % 2) {
+ // not a regular CopyToUnaligned, we're only copying the bottom half
+ // of the element
+ memcpy(result_biter, &(table_u32[(geno_word & 3) * 2]), 4);
+ }
+ return;
+ }
+ loop_len = ModNz(sample_ct, kBitsPerWordD2) / 2;
+ }
+ geno_word = genoarr[widx];
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ const uintptr_t cur_2geno = geno_word & 15;
+ memcpy(result_biter, &(table_u32[cur_2geno * 2]), 8);
+ result_biter += 8;
+ geno_word >>= 4;
+ }
+ }
+}
+#endif
+
+// this might be important for genovec -> AlleleCode expansion
+void GenoarrLookup256x2bx4(const uintptr_t* genoarr, const void* table256x2bx4, uint32_t sample_ct, void* __restrict result) {
+ const uint64_t* table_alias = S_CAST(const uint64_t*, table256x2bx4);
+ const unsigned char* genoarr_alias = DowncastKToUc(genoarr);
+ unsigned char* resultb = S_CAST(unsigned char*, result);
+ const uint32_t full_byte_ct = sample_ct / 4;
+ for (uint32_t byte_idx = 0; byte_idx != full_byte_ct; ++byte_idx) {
+ CopyToUnalignedOffsetU64(resultb, &(table_alias[genoarr_alias[byte_idx]]), byte_idx);
+ }
+ const uint32_t remainder = sample_ct % 4;
+ if (remainder) {
+ unsigned char* result_last = &(resultb[full_byte_ct * sizeof(int64_t)]);
+ uintptr_t geno_byte = genoarr_alias[full_byte_ct];
+ for (uint32_t uii = 0; uii != remainder; ++uii) {
+ CopyToUnalignedOffsetU16(result_last, DowncastKU64ToU16(&(table_alias[geno_byte & 3])), uii);
+ geno_byte >>= 2;
+ }
+ }
+}
+
+#ifdef USE_SSE2
+void GenoarrLookup4x16b(const uintptr_t* genoarr, const void* table4x16b, uint32_t sample_ct, void* result) {
+ const __m128i* table_alias = S_CAST(const __m128i*, table4x16b);
+ unsigned char* result_biter = S_CAST(unsigned char*, result);
+ const uint32_t sample_ctl2m1 = (sample_ct - 1) / kBitsPerWordD2;
+ uint32_t loop_len = kBitsPerWordD2;
+ uintptr_t geno_word = 0;
+ for (uint32_t widx = 0; ; ++widx) {
+ if (widx >= sample_ctl2m1) {
+ if (widx > sample_ctl2m1) {
+ return;
+ }
+ loop_len = ModNz(sample_ct, kBitsPerWordD2);
+ }
+ geno_word = genoarr[widx];
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ _mm_storeu_si128(R_CAST(__m128i*, result_biter), table_alias[geno_word & 3]);
+ result_biter += 16;
+ geno_word >>= 2;
+ }
+ }
+}
+
+void GenoarrLookup16x8bx2(const uintptr_t* genoarr, const void* table16x8bx2, uint32_t sample_ct, void* __restrict result) {
+ const __m128i* table_alias = S_CAST(const __m128i*, table16x8bx2);
+ unsigned char* result_biter = S_CAST(unsigned char*, result);
+ const uint32_t sample_ctl2m1 = (sample_ct - 1) / kBitsPerWordD2;
+ uint32_t loop_len = kBitsPerWordD4;
+ uintptr_t geno_word = 0;
+ for (uint32_t widx = 0; ; ++widx) {
+ if (widx >= sample_ctl2m1) {
+ if (widx > sample_ctl2m1) {
+ if (sample_ct % 2) {
+ memcpy(result_biter, &(table_alias[geno_word & 3]), 8);
+ }
+ return;
+ }
+ loop_len = ModNz(sample_ct, kBitsPerWordD2) / 2;
+ }
+ geno_word = genoarr[widx];
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ const uintptr_t cur_2geno = geno_word & 15;
+ _mm_storeu_si128(R_CAST(__m128i*, result_biter), table_alias[cur_2geno]);
+ result_biter += 16;
+ geno_word >>= 4;
+ }
+ }
+}
+
+void GenoarrLookup256x4bx4(const uintptr_t* genoarr, const void* table256x4bx4, uint32_t sample_ct, void* __restrict result) {
+ const __m128i* table_alias = S_CAST(const __m128i*, table256x4bx4);
+ const unsigned char* genoarr_alias = DowncastKToUc(genoarr);
+ unsigned char* resultb = S_CAST(unsigned char*, result);
+ const uint32_t full_byte_ct = sample_ct / 4;
+ for (uint32_t byte_idx = 0; byte_idx != full_byte_ct; ++byte_idx) {
+ _mm_storeu_si128(R_CAST(__m128i*, &(resultb[byte_idx * 16])), table_alias[genoarr_alias[byte_idx]]);
+ }
+ const uint32_t remainder = sample_ct % 4;
+ if (remainder) {
+ unsigned char* result_last = &(resultb[full_byte_ct * 16]);
+ uintptr_t geno_byte = genoarr_alias[full_byte_ct];
+ for (uint32_t uii = 0; uii != remainder; ++uii) {
+ CopyToUnalignedOffsetU32(result_last, R_CAST(const uint32_t*, &(table_alias[geno_byte & 3])), uii);
+ geno_byte >>= 2;
+ }
+ }
+}
+#else // !USE_SSE2
+void GenoarrLookup4x16b(const uintptr_t* genoarr, const void* table4x16b, uint32_t sample_ct, void* result) {
+ const uint64_t* table_alias = S_CAST(const uint64_t*, table4x16b);
+ unsigned char* result_biter = S_CAST(unsigned char*, result);
+ const uint32_t sample_ctl2m1 = (sample_ct - 1) / kBitsPerWordD2;
+ uint32_t loop_len = kBitsPerWordD2;
+ uintptr_t geno_word = 0;
+ for (uint32_t widx = 0; ; ++widx) {
+ if (widx >= sample_ctl2m1) {
+ if (widx > sample_ctl2m1) {
+ return;
+ }
+ loop_len = ModNz(sample_ct, kBitsPerWordD2);
+ }
+ geno_word = genoarr[widx];
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ memcpy(result_biter, &(table_alias[(geno_word & 3) * 2]), 16);
+ result_biter += 16;
+ geno_word >>= 2;
+ }
+ }
+}
+
+void GenoarrLookup16x8bx2(const uintptr_t* genoarr, const void* table16x8bx2, uint32_t sample_ct, void* __restrict result) {
+ const uint64_t* table_alias = S_CAST(const uint64_t*, table16x8bx2);
+ unsigned char* result_biter = S_CAST(unsigned char*, result);
+ const uint32_t sample_ctl2m1 = (sample_ct - 1) / kBitsPerWordD2;
+ uint32_t loop_len = kBitsPerWordD4;
+ uintptr_t geno_word = 0;
+ for (uint32_t widx = 0; ; ++widx) {
+ if (widx >= sample_ctl2m1) {
+ if (widx > sample_ctl2m1) {
+ if (sample_ct % 2) {
+ CopyToUnalignedU64(result_biter, &(table_alias[(geno_word & 3) * 2]));
+ }
+ return;
+ }
+ loop_len = ModNz(sample_ct, kBitsPerWordD2) / 2;
+ }
+ geno_word = genoarr[widx];
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ const uintptr_t cur_2geno = geno_word & 15;
+ memcpy(result_biter, &(table_alias[cur_2geno * 2]), 16);
+ result_biter += 16;
+ geno_word >>= 4;
+ }
+ }
+}
+
+void GenoarrLookup256x4bx4(const uintptr_t* genoarr, const void* table256x4bx4, uint32_t sample_ct, void* __restrict result) {
+ const uint32_t* table_alias = S_CAST(const uint32_t*, table256x4bx4);
+ const unsigned char* genoarr_alias = DowncastKToUc(genoarr);
+ unsigned char* resultb = S_CAST(unsigned char*, result);
+ const uint32_t full_byte_ct = sample_ct / 4;
+ for (uint32_t byte_idx = 0; byte_idx != full_byte_ct; ++byte_idx) {
+ memcpy(&(resultb[byte_idx * 16]), &(table_alias[genoarr_alias[byte_idx] * 4]), 16);
+ }
+ const uint32_t remainder = sample_ct % 4;
+ if (remainder) {
+ unsigned char* result_last = &(resultb[full_byte_ct * 16]);
+ uintptr_t geno_byte = genoarr_alias[full_byte_ct];
+ for (uint32_t uii = 0; uii != remainder; ++uii) {
+ CopyToUnalignedOffsetU32(result_last, &(table_alias[(geno_byte & 3) * 4]), uii);
+ geno_byte >>= 2;
+ }
+ }
+}
+#endif
+
+void InitLookup16x4bx2(void* table16x4bx2) {
+ uint32_t* table_iter = S_CAST(uint32_t*, table16x4bx2);
+ uint32_t vals[4];
+ vals[0] = table_iter[0];
+ table_iter[1] = vals[0];
+ vals[1] = table_iter[2];
+ table_iter[3] = vals[0];
+ vals[2] = table_iter[4];
+ table_iter[5] = vals[0];
+ vals[3] = table_iter[6];
+ table_iter[7] = vals[0];
+ table_iter = &(table_iter[8]);
+ for (uint32_t high_idx = 1; high_idx != 4; ++high_idx) {
+ const uint32_t cur_high = vals[high_idx];
+ for (uint32_t low_idx = 0; low_idx != 4; ++low_idx) {
+ *table_iter++ = vals[low_idx];
+ *table_iter++ = cur_high;
+ }
+ }
+}
+
+void InitLookup16x8bx2(void* table16x8bx2) {
+ uint64_t* table_iter = S_CAST(uint64_t*, table16x8bx2);
+ uint64_t vals[4];
+ vals[0] = table_iter[0];
+ table_iter[1] = vals[0];
+ vals[1] = table_iter[2];
+ table_iter[3] = vals[0];
+ vals[2] = table_iter[4];
+ table_iter[5] = vals[0];
+ vals[3] = table_iter[6];
+ table_iter[7] = vals[0];
+ table_iter = &(table_iter[8]);
+ for (uint32_t high_idx = 1; high_idx != 4; ++high_idx) {
+ // bugfix (20 Jun 2018): cur_high needs to be a uint64_t, not a uint32_t
+ const uint64_t cur_high = vals[high_idx];
+ for (uint32_t low_idx = 0; low_idx != 4; ++low_idx) {
+ *table_iter++ = vals[low_idx];
+ *table_iter++ = cur_high;
+ }
+ }
+}
+
+void InitLookup256x1bx4(void* table256x1bx4) {
+ unsigned char* table_iter = S_CAST(unsigned char*, table256x1bx4);
+ unsigned char vals[4];
+ vals[0] = table_iter[0];
+ vals[1] = table_iter[4];
+ vals[2] = table_iter[8];
+ vals[3] = table_iter[12];
+ for (uint32_t high_idx = 0; high_idx != 4; ++high_idx) {
+ const uint32_t cur_high = vals[high_idx];
+ for (uint32_t second_idx = 0; second_idx != 4; ++second_idx) {
+ const uint32_t cur_second = vals[second_idx];
+ for (uint32_t third_idx = 0; third_idx != 4; ++third_idx) {
+ const uint32_t cur_third = vals[third_idx];
+ for (uint32_t low_idx = 0; low_idx != 4; ++low_idx) {
+ *table_iter++ = vals[low_idx];
+ *table_iter++ = cur_third;
+ *table_iter++ = cur_second;
+ *table_iter++ = cur_high;
+ }
+ }
+ }
+ }
+#ifdef USE_SHUFFLE8
+ // first vector: 0, 1, 2, 3
+ // second vector: 0, 4, 8, 12
+ uint32_t* final_u32s = R_CAST(uint32_t*, table_iter);
+ uint32_t val0123;
+ memcpy(&val0123, vals, 4);
+ for (uint32_t uii = 0; uii != kInt32PerVec; ++uii) {
+ final_u32s[uii] = val0123;
+ }
+ final_u32s[kInt32PerVec] = S_CAST(uint32_t, vals[0]) * 0x1010101;
+ final_u32s[kInt32PerVec + 1] = S_CAST(uint32_t, vals[1]) * 0x1010101;
+ final_u32s[kInt32PerVec + 2] = S_CAST(uint32_t, vals[2]) * 0x1010101;
+ final_u32s[kInt32PerVec + 3] = S_CAST(uint32_t, vals[3]) * 0x1010101;
+# ifdef USE_AVX2
+ memcpy(&(final_u32s[12]), &(final_u32s[8]), 16);
+# endif
+#endif
+}
+
+void InitLookup256x2bx4(void* table256x2bx4) {
+ uint16_t* table_iter = S_CAST(uint16_t*, table256x2bx4);
+ uint16_t vals[4];
+ vals[0] = table_iter[0];
+ vals[1] = table_iter[4];
+ vals[2] = table_iter[8];
+ vals[3] = table_iter[12];
+ for (uint32_t high_idx = 0; high_idx != 4; ++high_idx) {
+ const uint32_t cur_high = vals[high_idx];
+ for (uint32_t second_idx = 0; second_idx != 4; ++second_idx) {
+ const uint32_t cur_second = vals[second_idx];
+ for (uint32_t third_idx = 0; third_idx != 4; ++third_idx) {
+ const uint32_t cur_third = vals[third_idx];
+ for (uint32_t low_idx = 0; low_idx != 4; ++low_idx) {
+ *table_iter++ = vals[low_idx];
+ *table_iter++ = cur_third;
+ *table_iter++ = cur_second;
+ *table_iter++ = cur_high;
+ }
+ }
+ }
+ }
+}
+
+void InitLookup256x4bx4(void* table256x4bx4) {
+ uint32_t* table_iter = S_CAST(uint32_t*, table256x4bx4);
+ uint32_t vals[4];
+ vals[0] = table_iter[0];
+ vals[1] = table_iter[4];
+ vals[2] = table_iter[8];
+ vals[3] = table_iter[12];
+ for (uint32_t high_idx = 0; high_idx != 4; ++high_idx) {
+ const uint32_t cur_high = vals[high_idx];
+ for (uint32_t second_idx = 0; second_idx != 4; ++second_idx) {
+ const uint32_t cur_second = vals[second_idx];
+ for (uint32_t third_idx = 0; third_idx != 4; ++third_idx) {
+ const uint32_t cur_third = vals[third_idx];
+ for (uint32_t low_idx = 0; low_idx != 4; ++low_idx) {
+ *table_iter++ = vals[low_idx];
+ *table_iter++ = cur_third;
+ *table_iter++ = cur_second;
+ *table_iter++ = cur_high;
+ }
+ }
+ }
+ }
+}
+
+void PhaseLookup4b(const uintptr_t* genoarr, const uintptr_t* phasepresent, const uintptr_t* phaseinfo, const void* table56x4bx2, uint32_t sample_ct, void* __restrict result) {
+ const uint64_t* table_alias = S_CAST(const uint64_t*, table56x4bx2);
+ const uint32_t sample_ctl2_m1 = (sample_ct - 1) / kBitsPerWordD2;
+ const Halfword* phasepresent_alias = DowncastKWToHW(phasepresent);
+ const Halfword* phaseinfo_alias = DowncastKWToHW(phaseinfo);
+ unsigned char* result_biter = S_CAST(unsigned char*, result);
+ uint32_t loop_len = kBitsPerWordD4;
+ uintptr_t geno_word = 0;
+ uintptr_t phasepresent_hw_shifted = 0;
+ uintptr_t phaseinfo_hw_shifted = 0;
+ for (uint32_t widx = 0; ; ++widx) {
+ if (widx >= sample_ctl2_m1) {
+ if (widx > sample_ctl2_m1) {
+ if (sample_ct % 2) {
+ uintptr_t cur_idx = (geno_word & 3);
+ // assume trailing bits of phasepresent/phaseinfo clear
+ // phaseinfo_hw_shifted not necessarily updated, so need if-statement
+ // bugfix (25 Jun 2018): must only consider active bit of
+ // phasepresent_hw_shifted, not the already-processed ones
+ if (phasepresent_hw_shifted & 16) {
+ cur_idx ^= 16 | (phaseinfo_hw_shifted & 2);
+ }
+ memcpy(result_biter, &(table_alias[cur_idx]), 4);
+ }
+ return;
+ }
+ loop_len = ModNz(sample_ct, kBitsPerWordD2) / 2;
+ }
+ geno_word = genoarr[widx];
+ phasepresent_hw_shifted = phasepresent_alias[widx];
+ if (!phasepresent_hw_shifted) {
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ AppendU64(table_alias[geno_word & 15], &result_biter);
+ geno_word >>= 4;
+ }
+ } else {
+ phasepresent_hw_shifted = phasepresent_hw_shifted << 4;
+ phaseinfo_hw_shifted = phaseinfo_alias[widx];
+
+ // note that this must be on a separate line (or we have to static_cast)
+ phaseinfo_hw_shifted = phaseinfo_hw_shifted << 1;
+
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ const uintptr_t cur_idx = ((geno_word & 15) | (phasepresent_hw_shifted & 48)) ^ (phaseinfo_hw_shifted & 6);
+ AppendU64(table_alias[cur_idx], &result_biter);
+ geno_word >>= 4;
+ phasepresent_hw_shifted >>= 2;
+ phaseinfo_hw_shifted >>= 2;
+ }
+ }
+ }
+}
+
+void InitPhaseLookup4b(void* table56x4bx2) {
+ uint32_t* table_iter = S_CAST(uint32_t*, table56x4bx2);
+ uint32_t vals[4];
+ vals[0] = table_iter[0];
+ table_iter[1] = vals[0];
+ vals[1] = table_iter[2];
+ table_iter[3] = vals[0];
+ vals[2] = table_iter[4];
+ table_iter[5] = vals[0];
+ vals[3] = table_iter[6];
+ table_iter[7] = vals[0];
+ table_iter = &(table_iter[8]);
+ for (uint32_t high_idx = 1; high_idx != 4; ++high_idx) {
+ const uint32_t cur_high = vals[high_idx];
+ for (uint32_t low_idx = 0; low_idx != 4; ++low_idx) {
+ *table_iter++ = vals[low_idx];
+ *table_iter++ = cur_high;
+ }
+ }
+ // [16][0]..[31][1]: bit 4 is set
+ // low bits must be 01 or 11
+ const uint32_t val_phaseinfo0 = table_iter[2];
+ table_iter[3] = vals[0];
+ const uint32_t val_phaseinfo1 = table_iter[6];
+ table_iter[7] = vals[0];
+ table_iter = &(table_iter[8]);
+ for (uint32_t high_idx = 1; high_idx != 4; ++high_idx) {
+ const uint32_t cur_high = vals[high_idx];
+ table_iter[2] = val_phaseinfo0;
+ table_iter[3] = cur_high;
+ table_iter[6] = val_phaseinfo1;
+ table_iter[7] = cur_high;
+ table_iter = &(table_iter[8]);
+ }
+ // [32][0]..[39][1]: bit 5 set, bit 4 unset
+ // high bits must be 00 or 01
+ for (uint32_t high_idx = 0; high_idx != 2; ++high_idx) {
+ const uint32_t cur_high = high_idx? val_phaseinfo0 : val_phaseinfo1;
+ for (uint32_t low_idx = 0; low_idx != 4; ++low_idx) {
+ *table_iter++ = vals[low_idx];
+ *table_iter++ = cur_high;
+ }
+ }
+ table_iter = &(table_iter[16]);
+ // [48][0]..[55][1]: bits 4 and 5 set
+ for (uint32_t high_idx = 0; high_idx != 2; ++high_idx) {
+ const uint32_t cur_high = high_idx? val_phaseinfo0 : val_phaseinfo1;
+ table_iter[2] = val_phaseinfo0;
+ table_iter[3] = cur_high;
+ table_iter[6] = val_phaseinfo1;
+ table_iter[7] = cur_high;
+ table_iter = &(table_iter[8]);
+ }
+}
+
+#ifdef USE_SSE2
+void PhaseLookup8b(const uintptr_t* genoarr, const uintptr_t* phasepresent, const uintptr_t* phaseinfo, const void* table56x8bx2, uint32_t sample_ct, void* __restrict result) {
+ const __m128i* table_alias = S_CAST(const __m128i*, table56x8bx2);
+ const uint32_t sample_ctl2_m1 = (sample_ct - 1) / kBitsPerWordD2;
+ const Halfword* phasepresent_alias = DowncastKWToHW(phasepresent);
+ const Halfword* phaseinfo_alias = DowncastKWToHW(phaseinfo);
+ unsigned char* result_biter = S_CAST(unsigned char*, result);
+ uint32_t loop_len = kBitsPerWordD4;
+ uintptr_t geno_word = 0;
+ uintptr_t phasepresent_hw_shifted = 0;
+ uintptr_t phaseinfo_hw_shifted = 0;
+ for (uint32_t widx = 0; ; ++widx) {
+ if (widx >= sample_ctl2_m1) {
+ if (widx > sample_ctl2_m1) {
+ if (sample_ct % 2) {
+ uintptr_t cur_idx = (geno_word & 3);
+ if (phasepresent_hw_shifted & 16) {
+ cur_idx ^= 16 | (phaseinfo_hw_shifted & 2);
+ }
+ memcpy(result_biter, &(table_alias[cur_idx]), 8);
+ }
+ return;
+ }
+ loop_len = ModNz(sample_ct, kBitsPerWordD2) / 2;
+ }
+ geno_word = genoarr[widx];
+ phasepresent_hw_shifted = phasepresent_alias[widx];
+ if (!phasepresent_hw_shifted) {
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ _mm_storeu_si128(R_CAST(__m128i*, result_biter), table_alias[geno_word & 15]);
+ result_biter += 16;
+ geno_word >>= 4;
+ }
+ } else {
+ phasepresent_hw_shifted = phasepresent_hw_shifted << 4;
+ phaseinfo_hw_shifted = phaseinfo_alias[widx];
+ phaseinfo_hw_shifted = phaseinfo_hw_shifted << 1;
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ const uintptr_t cur_idx = ((geno_word & 15) | (phasepresent_hw_shifted & 48)) ^ (phaseinfo_hw_shifted & 6);
+ _mm_storeu_si128(R_CAST(__m128i*, result_biter), table_alias[cur_idx]);
+ result_biter += 16;
+ geno_word >>= 4;
+ phasepresent_hw_shifted >>= 2;
+ phaseinfo_hw_shifted >>= 2;
+ }
+ }
+ }
+}
+#else // !USE_SSE2
+void PhaseLookup8b(const uintptr_t* genoarr, const uintptr_t* phasepresent, const uintptr_t* phaseinfo, const void* table56x8bx2, uint32_t sample_ct, void* __restrict result) {
+ const uint64_t* table_alias = S_CAST(const uint64_t*, table56x8bx2);
+ const uint32_t sample_ctl2_m1 = (sample_ct - 1) / kBitsPerWordD2;
+ const Halfword* phasepresent_alias = DowncastKWToHW(phasepresent);
+ const Halfword* phaseinfo_alias = DowncastKWToHW(phaseinfo);
+ unsigned char* result_biter = S_CAST(unsigned char*, result);
+ uint32_t loop_len = kBitsPerWordD4;
+ uintptr_t geno_word = 0;
+ uintptr_t phasepresent_hw_shifted = 0;
+ uintptr_t phaseinfo_hw_shifted = 0;
+ for (uint32_t widx = 0; ; ++widx) {
+ if (widx >= sample_ctl2_m1) {
+ if (widx > sample_ctl2_m1) {
+ if (sample_ct % 2) {
+ uintptr_t cur_idx = (geno_word & 3);
+ if (phasepresent_hw_shifted & 16) {
+ cur_idx ^= 16 | (phaseinfo_hw_shifted & 2);
+ }
+ CopyToUnalignedU64(result_biter, &(table_alias[cur_idx * 2]));
+ }
+ return;
+ }
+ loop_len = ModNz(sample_ct, kBitsPerWordD2) / 2;
+ }
+ geno_word = genoarr[widx];
+ phasepresent_hw_shifted = phasepresent_alias[widx];
+ if (!phasepresent_hw_shifted) {
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ memcpy(result_biter, &(table_alias[(geno_word & 15) * 2]), 16);
+ result_biter = &(result_biter[16]);
+ geno_word >>= 4;
+ }
+ } else {
+ phasepresent_hw_shifted = phasepresent_hw_shifted << 4;
+ phaseinfo_hw_shifted = phaseinfo_alias[widx];
+ phaseinfo_hw_shifted = phaseinfo_hw_shifted << 1;
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ const uintptr_t cur_idx = ((geno_word & 15) | (phasepresent_hw_shifted & 48)) ^ (phaseinfo_hw_shifted & 6);
+ memcpy(result_biter, &(table_alias[cur_idx * 2]), 16);
+ // bugfix (12 Jun 2023): forgot this
+ result_biter = &(result_biter[16]);
+
+ geno_word >>= 4;
+ phasepresent_hw_shifted >>= 2;
+ phaseinfo_hw_shifted >>= 2;
+ }
+ }
+ }
+}
+#endif
+
+void InitPhaseLookup8b(void* table56x8bx2) {
+ uint64_t* table_iter = S_CAST(uint64_t*, table56x8bx2);
+ uint64_t vals[4];
+ vals[0] = table_iter[0];
+ table_iter[1] = vals[0];
+ vals[1] = table_iter[2];
+ table_iter[3] = vals[0];
+ vals[2] = table_iter[4];
+ table_iter[5] = vals[0];
+ vals[3] = table_iter[6];
+ table_iter[7] = vals[0];
+ table_iter = &(table_iter[8]);
+ for (uint32_t high_idx = 1; high_idx != 4; ++high_idx) {
+ const uint64_t cur_high = vals[high_idx];
+ for (uint32_t low_idx = 0; low_idx != 4; ++low_idx) {
+ *table_iter++ = vals[low_idx];
+ *table_iter++ = cur_high;
+ }
+ }
+ // [16][0]..[31][1]: bit 4 is set
+ // low bits must be 01 or 11
+ const uint64_t val_phaseinfo0 = table_iter[2];
+ table_iter[3] = vals[0];
+ const uint64_t val_phaseinfo1 = table_iter[6];
+ table_iter[7] = vals[0];
+ table_iter = &(table_iter[8]);
+ for (uint32_t high_idx = 1; high_idx != 4; ++high_idx) {
+ const uint64_t cur_high = vals[high_idx];
+ table_iter[2] = val_phaseinfo0;
+ table_iter[3] = cur_high;
+ table_iter[6] = val_phaseinfo1;
+ table_iter[7] = cur_high;
+ table_iter = &(table_iter[8]);
+ }
+ // [32][0]..[39][1]: bit 5 set, bit 4 unset
+ // high bits must be 00 or 01
+ for (uint32_t high_idx = 0; high_idx != 2; ++high_idx) {
+ const uint64_t cur_high = high_idx? val_phaseinfo0 : val_phaseinfo1;
+ for (uint32_t low_idx = 0; low_idx != 4; ++low_idx) {
+ *table_iter++ = vals[low_idx];
+ *table_iter++ = cur_high;
+ }
+ }
+ table_iter = &(table_iter[16]);
+ // [48][0]..[55][1]: bits 4 and 5 set
+ for (uint32_t high_idx = 0; high_idx != 2; ++high_idx) {
+ const uint64_t cur_high = high_idx? val_phaseinfo0 : val_phaseinfo1;
+ table_iter[2] = val_phaseinfo0;
+ table_iter[3] = cur_high;
+ table_iter[6] = val_phaseinfo1;
+ table_iter[7] = cur_high;
+ table_iter = &(table_iter[8]);
+ }
+}
+
+// bits 0..3: two genotypes
+// bits 4..5: two (phasepresent | sex_male) bits
+// bits 1,3: unpacked phaseinfo xor
+void PhaseXNohhLookup4b(const uintptr_t* genoarr, const uintptr_t* phasepresent, const uintptr_t* phaseinfo, const uintptr_t* sex_male, const void* table64x4bx2, uint32_t sample_ct, void* result) {
+ const uint64_t* table_alias = S_CAST(const uint64_t*, table64x4bx2);
+ const uint32_t sample_ctl2_m1 = (sample_ct - 1) / kBitsPerWordD2;
+ const Halfword* phasepresent_alias = DowncastKWToHW(phasepresent);
+ const Halfword* phaseinfo_alias = DowncastKWToHW(phaseinfo);
+ const Halfword* sex_male_alias = DowncastKWToHW(sex_male);
+ unsigned char* result_biter = S_CAST(unsigned char*, result);
+ uint32_t loop_len = kBitsPerWordD4;
+ uintptr_t geno_word_xored = 0;
+ uintptr_t male_or_phasepresent_hw_shifted = 0;
+ for (uint32_t widx = 0; ; ++widx) {
+ if (widx >= sample_ctl2_m1) {
+ if (widx > sample_ctl2_m1) {
+ if (sample_ct % 2) {
+ uintptr_t cur_idx = (geno_word_xored & 3) | (male_or_phasepresent_hw_shifted & 16);
+ memcpy(result_biter, &(table_alias[cur_idx]), 4);
+ }
+ return;
+ }
+ loop_len = ModNz(sample_ct, kBitsPerWordD2) / 2;
+ }
+ geno_word_xored = genoarr[widx];
+ male_or_phasepresent_hw_shifted = sex_male_alias[widx];
+ const uintptr_t phasepresent_hw = phasepresent_alias[widx];
+ male_or_phasepresent_hw_shifted |= phasepresent_hw;
+ male_or_phasepresent_hw_shifted <<= 4;
+ if (!phasepresent_hw) {
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ AppendU64(table_alias[(geno_word_xored & 15) | (male_or_phasepresent_hw_shifted & 48)], &result_biter);
+ geno_word_xored >>= 4;
+ male_or_phasepresent_hw_shifted >>= 2;
+ }
+ } else {
+ geno_word_xored ^= UnpackHalfwordToWordShift1(phaseinfo_alias[widx]);
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ const uintptr_t cur_idx = (geno_word_xored & 15) | (male_or_phasepresent_hw_shifted & 48);
+ AppendU64(table_alias[cur_idx], &result_biter);
+ geno_word_xored >>= 4;
+ male_or_phasepresent_hw_shifted >>= 2;
+ }
+ }
+ }
+}
+
+void InitPhaseXNohhLookup4b(void* table64x4bx2) {
+ uint32_t* table_iter = S_CAST(uint32_t*, table64x4bx2);
+ uint32_t vals[4];
+ vals[0] = table_iter[0];
+ table_iter[1] = vals[0];
+ vals[1] = table_iter[2];
+ table_iter[3] = vals[0];
+ vals[2] = table_iter[4];
+ table_iter[5] = vals[0];
+ vals[3] = table_iter[6];
+ table_iter[7] = vals[0];
+ table_iter = &(table_iter[8]);
+ for (uint32_t high_idx = 1; high_idx != 4; ++high_idx) {
+ const uint32_t cur_high = vals[high_idx];
+ for (uint32_t low_idx = 0; low_idx != 4; ++low_idx) {
+ *table_iter++ = vals[low_idx];
+ *table_iter++ = cur_high;
+ }
+ }
+ // [16][0]..[31][1]: bit 4 is set
+ uint32_t male_or_phasepresent_vals[4];
+ for (uint32_t low_idx = 0; low_idx != 4; ++low_idx) {
+ male_or_phasepresent_vals[low_idx] = *table_iter++;
+ *table_iter++ = vals[0];
+ }
+ for (uint32_t high_idx = 1; high_idx != 4; ++high_idx) {
+ const uint32_t cur_high = vals[high_idx];
+ for (uint32_t low_idx = 0; low_idx != 4; ++low_idx) {
+ *table_iter++ = male_or_phasepresent_vals[low_idx];
+ *table_iter++ = cur_high;
+ }
+ }
+ // [32][0]..[47][1]: bit 5 set, bit 4 unset
+ for (uint32_t high_idx = 0; high_idx != 4; ++high_idx) {
+ const uint32_t cur_high = male_or_phasepresent_vals[high_idx];
+ for (uint32_t low_idx = 0; low_idx != 4; ++low_idx) {
+ *table_iter++ = vals[low_idx];
+ *table_iter++ = cur_high;
+ }
+ }
+ // [48][0]..[63][1]: bits 4 and 5 set
+ for (uint32_t high_idx = 0; high_idx != 4; ++high_idx) {
+ const uint32_t cur_high = male_or_phasepresent_vals[high_idx];
+ for (uint32_t low_idx = 0; low_idx != 4; ++low_idx) {
+ *table_iter++ = male_or_phasepresent_vals[low_idx];
+ *table_iter++ = cur_high;
+ }
+ }
+}
+
+void GenoarrSexLookup4b(const uintptr_t* genoarr, const uintptr_t* sex_male, const void* table64x4bx2, uint32_t sample_ct, void* result) {
+ const uint64_t* table_alias = S_CAST(const uint64_t*, table64x4bx2);
+ const uint32_t sample_ctl2_m1 = (sample_ct - 1) / kBitsPerWordD2;
+ const Halfword* sex_male_alias = DowncastKWToHW(sex_male);
+ unsigned char* result_biter = S_CAST(unsigned char*, result);
+ uint32_t loop_len = kBitsPerWordD4;
+ uintptr_t geno_word = 0;
+ uintptr_t male_hw_shifted = 0;
+ for (uint32_t widx = 0; ; ++widx) {
+ if (widx >= sample_ctl2_m1) {
+ if (widx > sample_ctl2_m1) {
+ if (sample_ct % 2) {
+ uintptr_t cur_idx = (geno_word & 3) | (male_hw_shifted & 16);
+ memcpy(result_biter, &(table_alias[cur_idx]), 4);
+ }
+ return;
+ }
+ loop_len = ModNz(sample_ct, kBitsPerWordD2) / 2;
+ }
+ geno_word = genoarr[widx];
+ male_hw_shifted = sex_male_alias[widx];
+ male_hw_shifted <<= 4;
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ AppendU64(table_alias[(geno_word & 15) | (male_hw_shifted & 48)], &result_biter);
+ geno_word >>= 4;
+ male_hw_shifted >>= 2;
+ }
+ }
+}
+
+void InitPhaseXNohhLookup8b(void* table64x8bx2) {
+ uint64_t* table_iter = S_CAST(uint64_t*, table64x8bx2);
+ uint64_t vals[4];
+ vals[0] = table_iter[0];
+ table_iter[1] = vals[0];
+ vals[1] = table_iter[2];
+ table_iter[3] = vals[0];
+ vals[2] = table_iter[4];
+ table_iter[5] = vals[0];
+ vals[3] = table_iter[6];
+ table_iter[7] = vals[0];
+ table_iter = &(table_iter[8]);
+ for (uint32_t high_idx = 1; high_idx != 4; ++high_idx) {
+ const uint64_t cur_high = vals[high_idx];
+ for (uint32_t low_idx = 0; low_idx != 4; ++low_idx) {
+ *table_iter++ = vals[low_idx];
+ *table_iter++ = cur_high;
+ }
+ }
+ // [16][0]..[31][1]: bit 4 is set
+ uint64_t male_or_phasepresent_vals[4];
+ for (uint32_t low_idx = 0; low_idx != 4; ++low_idx) {
+ male_or_phasepresent_vals[low_idx] = *table_iter++;
+ *table_iter++ = vals[0];
+ }
+ for (uint32_t high_idx = 1; high_idx != 4; ++high_idx) {
+ const uint64_t cur_high = vals[high_idx];
+ for (uint32_t low_idx = 0; low_idx != 4; ++low_idx) {
+ *table_iter++ = male_or_phasepresent_vals[low_idx];
+ *table_iter++ = cur_high;
+ }
+ }
+ // [32][0]..[47][1]: bit 5 set, bit 4 unset
+ for (uint32_t high_idx = 0; high_idx != 4; ++high_idx) {
+ const uint64_t cur_high = male_or_phasepresent_vals[high_idx];
+ for (uint32_t low_idx = 0; low_idx != 4; ++low_idx) {
+ *table_iter++ = vals[low_idx];
+ *table_iter++ = cur_high;
+ }
+ }
+ // [48][0]..[63][1]: bits 4 and 5 set
+ for (uint32_t high_idx = 0; high_idx != 4; ++high_idx) {
+ const uint64_t cur_high = male_or_phasepresent_vals[high_idx];
+ for (uint32_t low_idx = 0; low_idx != 4; ++low_idx) {
+ *table_iter++ = male_or_phasepresent_vals[low_idx];
+ *table_iter++ = cur_high;
+ }
+ }
+}
+
+#ifdef USE_SSE2
+void GenoarrSexLookup8b(const uintptr_t* genoarr, const uintptr_t* sex_male, const void* table64x8bx2, uint32_t sample_ct, void* result) {
+ const __m128i* table_alias = S_CAST(const __m128i*, table64x8bx2);
+ const uint32_t sample_ctl2_m1 = (sample_ct - 1) / kBitsPerWordD2;
+ const Halfword* sex_male_alias = DowncastKWToHW(sex_male);
+ unsigned char* result_biter = S_CAST(unsigned char*, result);
+ uint32_t loop_len = kBitsPerWordD4;
+ uintptr_t geno_word = 0;
+ uintptr_t male_hw_shifted = 0;
+ for (uint32_t widx = 0; ; ++widx) {
+ if (widx >= sample_ctl2_m1) {
+ if (widx > sample_ctl2_m1) {
+ if (sample_ct % 2) {
+ uintptr_t cur_idx = (geno_word & 3) | (male_hw_shifted & 16);
+ memcpy(result_biter, &(table_alias[cur_idx]), 8);
+ }
+ return;
+ }
+ loop_len = ModNz(sample_ct, kBitsPerWordD2) / 2;
+ }
+ geno_word = genoarr[widx];
+ male_hw_shifted = sex_male_alias[widx];
+ male_hw_shifted <<= 4;
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ _mm_storeu_si128(R_CAST(__m128i*, result_biter), table_alias[(geno_word & 15) | (male_hw_shifted & 48)]);
+ result_biter += 16;
+ geno_word >>= 4;
+ male_hw_shifted >>= 2;
+ }
+ }
+}
+#else // !USE_SSE2
+void GenoarrSexLookup8b(const uintptr_t* genoarr, const uintptr_t* sex_male, const void* table64x8bx2, uint32_t sample_ct, void* result) {
+ const uint64_t* table_alias = S_CAST(const uint64_t*, table64x8bx2);
+ const uint32_t sample_ctl2_m1 = (sample_ct - 1) / kBitsPerWordD2;
+ const Halfword* sex_male_alias = DowncastKWToHW(sex_male);
+ unsigned char* result_biter = S_CAST(unsigned char*, result);
+ uint32_t loop_len = kBitsPerWordD4;
+ uintptr_t geno_word = 0;
+ uintptr_t male_hw_shifted = 0;
+ for (uint32_t widx = 0; ; ++widx) {
+ if (widx >= sample_ctl2_m1) {
+ if (widx > sample_ctl2_m1) {
+ if (sample_ct % 2) {
+ const uintptr_t cur_idx = (geno_word & 3) | (male_hw_shifted & 16);
+ memcpy(result_biter, &(table_alias[cur_idx * 2]), 8);
+ }
+ return;
+ }
+ loop_len = ModNz(sample_ct, kBitsPerWordD2) / 2;
+ }
+ geno_word = genoarr[widx];
+ male_hw_shifted = sex_male_alias[widx];
+ male_hw_shifted <<= 4;
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ memcpy(result_biter, &(table_alias[((geno_word & 15) | (male_hw_shifted & 48)) * 2]), 16);
+ result_biter = &(result_biter[16]);
+ geno_word >>= 4;
+ male_hw_shifted >>= 2;
+ }
+ }
+}
+#endif
+
+void VcfPhaseLookup4b(const uintptr_t* genoarr, const uintptr_t* cur_phased, const uintptr_t* phaseinfo, const void* table246x4bx2, uint32_t sample_ct, void* __restrict result) {
+ const uint64_t* table_alias = S_CAST(const uint64_t*, table246x4bx2);
+ const uint32_t sample_ctl2_m1 = (sample_ct - 1) / kBitsPerWordD2;
+ const Halfword* cur_phased_alias = DowncastKWToHW(cur_phased);
+ const Halfword* phaseinfo_alias = DowncastKWToHW(phaseinfo);
+ unsigned char* result_biter = S_CAST(unsigned char*, result);
+ uint32_t loop_len = kBitsPerWordD4;
+ uintptr_t geno_word = 0;
+ uintptr_t cur_phased_hw_shifted = 0;
+ uintptr_t phaseinfo_hw_shifted = 0;
+ for (uint32_t widx = 0; ; ++widx) {
+ if (widx >= sample_ctl2_m1) {
+ if (widx > sample_ctl2_m1) {
+ if (sample_ct % 2) {
+ uintptr_t cur_idx = (geno_word & 3) | (cur_phased_hw_shifted & 16) | (phaseinfo_hw_shifted & 64);
+ memcpy(result_biter, &(table_alias[cur_idx]), 4);
+ }
+ return;
+ }
+ loop_len = ModNz(sample_ct, kBitsPerWordD2) / 2;
+ }
+ geno_word = genoarr[widx];
+ cur_phased_hw_shifted = cur_phased_alias[widx];
+ if (!cur_phased_hw_shifted) {
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ AppendU64(table_alias[geno_word & 15], &result_biter);
+ geno_word >>= 4;
+ }
+ } else {
+ cur_phased_hw_shifted = cur_phased_hw_shifted << 4;
+ phaseinfo_hw_shifted = phaseinfo_alias[widx];
+
+ // note that this must be on a separate line (or we have to static_cast)
+ phaseinfo_hw_shifted = phaseinfo_hw_shifted << 6;
+
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ const uintptr_t cur_idx = (geno_word & 15) | (cur_phased_hw_shifted & 48) | (phaseinfo_hw_shifted & 192);
+ AppendU64(table_alias[cur_idx], &result_biter);
+ geno_word >>= 4;
+ cur_phased_hw_shifted >>= 2;
+ phaseinfo_hw_shifted >>= 2;
+ }
+ }
+ }
+}
+
+void InitVcfPhaseLookup4b(void* table246x4bx2) {
+ uint32_t* table_iter = S_CAST(uint32_t*, table246x4bx2);
+ uint32_t unphased_vals[4];
+ unphased_vals[0] = table_iter[0];
+ table_iter[1] = unphased_vals[0];
+ unphased_vals[1] = table_iter[2];
+ table_iter[3] = unphased_vals[0];
+ unphased_vals[2] = table_iter[4];
+ table_iter[5] = unphased_vals[0];
+ unphased_vals[3] = table_iter[6];
+ table_iter[7] = unphased_vals[0];
+ table_iter = &(table_iter[8]);
+ for (uint32_t high_idx = 1; high_idx != 4; ++high_idx) {
+ const uint32_t cur_high = unphased_vals[high_idx];
+ for (uint32_t low_idx = 0; low_idx != 4; ++low_idx) {
+ *table_iter++ = unphased_vals[low_idx];
+ *table_iter++ = cur_high;
+ }
+ }
+ // [16][0]..[31][1]: first entry is phased and unflipped, second is unphased
+ uint32_t phased_unflipped_vals[4];
+ phased_unflipped_vals[0] = table_iter[0];
+ table_iter[1] = unphased_vals[0];
+ phased_unflipped_vals[1] = table_iter[2];
+ table_iter[3] = unphased_vals[0];
+ phased_unflipped_vals[2] = table_iter[4];
+ table_iter[5] = unphased_vals[0];
+ phased_unflipped_vals[3] = table_iter[6];
+ table_iter[7] = unphased_vals[0];
+ table_iter = &(table_iter[8]);
+ for (uint32_t high_idx = 1; high_idx != 4; ++high_idx) {
+ const uint32_t cur_high = unphased_vals[high_idx];
+ for (uint32_t low_idx = 0; low_idx != 4; ++low_idx) {
+ *table_iter++ = phased_unflipped_vals[low_idx];
+ *table_iter++ = cur_high;
+ }
+ }
+ // [32][0]..[63][1]: second entry is phased and unflipped
+ for (uint32_t high_idx = 0; high_idx != 4; ++high_idx) {
+ const uint32_t cur_high = phased_unflipped_vals[high_idx];
+ for (uint32_t low_idx = 0; low_idx != 4; ++low_idx) {
+ *table_iter++ = unphased_vals[low_idx];
+ *table_iter++ = cur_high;
+ }
+ }
+ for (uint32_t high_idx = 0; high_idx != 4; ++high_idx) {
+ const uint32_t cur_high = phased_unflipped_vals[high_idx];
+ for (uint32_t low_idx = 0; low_idx != 4; ++low_idx) {
+ *table_iter++ = phased_unflipped_vals[low_idx];
+ *table_iter++ = cur_high;
+ }
+ }
+ // [64][0]..[79][1] should be impossible
+ table_iter = &(table_iter[32]);
+ // [80][0]..[95][1]: first entry is phased and flipped, second is unphased
+ // genotype must be 01
+ const uint32_t phased_flipped_01 = table_iter[2];
+ for (uint32_t high_idx = 0; high_idx != 4; ++high_idx) {
+ table_iter[2] = phased_flipped_01;
+ table_iter[3] = unphased_vals[high_idx];
+ table_iter = &(table_iter[8]);
+ }
+ // [96][0]..[111][1] should be impossible
+ table_iter = &(table_iter[32]);
+ // [112][0]..[127][1]: first entry phased-flipped, second phased-unflipped
+ for (uint32_t high_idx = 0; high_idx != 4; ++high_idx) {
+ table_iter[2] = phased_flipped_01;
+ table_iter[3] = phased_unflipped_vals[high_idx];
+ table_iter = &(table_iter[8]);
+ }
+ // [128][0]..[163][1] should be impossible
+ table_iter = &(table_iter[72]);
+ // [164][0]..[167][1]: second entry phased-flipped, first entry unphased
+ for (uint32_t low_idx = 0; low_idx != 4; ++low_idx) {
+ *table_iter++ = unphased_vals[low_idx];
+ *table_iter++ = phased_flipped_01;
+ }
+ // [168][0]..[179][1] should be impossible
+ table_iter = &(table_iter[24]);
+ // [180][0]..[183][1]: second entry phased-flipped, first phased-unflipped
+ for (uint32_t low_idx = 0; low_idx != 4; ++low_idx) {
+ *table_iter++ = phased_unflipped_vals[low_idx];
+ *table_iter++ = phased_flipped_01;
+ }
+ // [184][0]..[244][1] should be impossible
+ // [245][0]..[245][1]: both phased-flipped
+ table_iter[122] = phased_flipped_01;
+ table_iter[123] = phased_flipped_01;
+}
+
+void VcfPhaseLookup2b(const uintptr_t* genoarr, const uintptr_t* cur_phased, const uintptr_t* phaseinfo, const void* table246x2bx2, uint32_t sample_ct, void* __restrict result) {
+ const uint32_t* table_alias = S_CAST(const uint32_t*, table246x2bx2);
+ const uint32_t sample_ctl2_m1 = (sample_ct - 1) / kBitsPerWordD2;
+ const Halfword* cur_phased_alias = DowncastKWToHW(cur_phased);
+ const Halfword* phaseinfo_alias = DowncastKWToHW(phaseinfo);
+ unsigned char* result_biter = S_CAST(unsigned char*, result);
+ uint32_t loop_len = kBitsPerWordD4;
+ uintptr_t geno_word = 0;
+ uintptr_t cur_phased_hw_shifted = 0;
+ uintptr_t phaseinfo_hw_shifted = 0;
+ for (uint32_t widx = 0; ; ++widx) {
+ if (widx >= sample_ctl2_m1) {
+ if (widx > sample_ctl2_m1) {
+ if (sample_ct % 2) {
+ uintptr_t cur_idx = (geno_word & 3) | (cur_phased_hw_shifted & 16) | (phaseinfo_hw_shifted & 64);
+ memcpy(result_biter, &(table_alias[cur_idx]), 2);
+ }
+ return;
+ }
+ loop_len = ModNz(sample_ct, kBitsPerWordD2) / 2;
+ }
+ geno_word = genoarr[widx];
+ cur_phased_hw_shifted = cur_phased_alias[widx];
+ if (!cur_phased_hw_shifted) {
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ AppendU32(table_alias[geno_word & 15], &result_biter);
+ geno_word >>= 4;
+ }
+ } else {
+ cur_phased_hw_shifted = cur_phased_hw_shifted << 4;
+ phaseinfo_hw_shifted = phaseinfo_alias[widx];
+
+ // note that this must be on a separate line (or we have to static_cast)
+ phaseinfo_hw_shifted = phaseinfo_hw_shifted << 6;
+
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ const uintptr_t cur_idx = (geno_word & 15) | (cur_phased_hw_shifted & 48) | (phaseinfo_hw_shifted & 192);
+ AppendU32(table_alias[cur_idx], &result_biter);
+ geno_word >>= 4;
+ cur_phased_hw_shifted >>= 2;
+ phaseinfo_hw_shifted >>= 2;
+ }
+ }
+ }
+}
+
+void InitVcfPhaseLookup2b(void* table246x2bx2) {
+ uint16_t* table_iter = S_CAST(uint16_t*, table246x2bx2);
+ uint16_t unphased_vals[4];
+ unphased_vals[0] = table_iter[0];
+ table_iter[1] = unphased_vals[0];
+ unphased_vals[1] = table_iter[2];
+ table_iter[3] = unphased_vals[0];
+ unphased_vals[2] = table_iter[4];
+ table_iter[5] = unphased_vals[0];
+ unphased_vals[3] = table_iter[6];
+ table_iter[7] = unphased_vals[0];
+ table_iter = &(table_iter[8]);
+ for (uint32_t high_idx = 1; high_idx != 4; ++high_idx) {
+ const uint32_t cur_high = unphased_vals[high_idx];
+ for (uint32_t low_idx = 0; low_idx != 4; ++low_idx) {
+ *table_iter++ = unphased_vals[low_idx];
+ *table_iter++ = cur_high;
+ }
+ }
+ // [16][0]..[31][1]: first entry is phased and unflipped, second is unphased
+ uint16_t phased_unflipped_vals[4];
+ phased_unflipped_vals[0] = table_iter[0];
+ table_iter[1] = unphased_vals[0];
+ phased_unflipped_vals[1] = table_iter[2];
+ table_iter[3] = unphased_vals[0];
+ phased_unflipped_vals[2] = table_iter[4];
+ table_iter[5] = unphased_vals[0];
+ phased_unflipped_vals[3] = table_iter[6];
+ table_iter[7] = unphased_vals[0];
+ table_iter = &(table_iter[8]);
+ for (uint32_t high_idx = 1; high_idx != 4; ++high_idx) {
+ const uint32_t cur_high = unphased_vals[high_idx];
+ for (uint32_t low_idx = 0; low_idx != 4; ++low_idx) {
+ *table_iter++ = phased_unflipped_vals[low_idx];
+ *table_iter++ = cur_high;
+ }
+ }
+ // [32][0]..[63][1]: second entry is phased and unflipped
+ for (uint32_t high_idx = 0; high_idx != 4; ++high_idx) {
+ const uint32_t cur_high = phased_unflipped_vals[high_idx];
+ for (uint32_t low_idx = 0; low_idx != 4; ++low_idx) {
+ *table_iter++ = unphased_vals[low_idx];
+ *table_iter++ = cur_high;
+ }
+ }
+ for (uint32_t high_idx = 0; high_idx != 4; ++high_idx) {
+ const uint32_t cur_high = phased_unflipped_vals[high_idx];
+ for (uint32_t low_idx = 0; low_idx != 4; ++low_idx) {
+ *table_iter++ = phased_unflipped_vals[low_idx];
+ *table_iter++ = cur_high;
+ }
+ }
+ // [64][0]..[79][1] should be impossible
+ table_iter = &(table_iter[32]);
+ // [80][0]..[95][1]: first entry is phased and flipped, second is unphased
+ // genotype must be 01
+ const uint32_t phased_flipped_01 = table_iter[2];
+ for (uint32_t high_idx = 0; high_idx != 4; ++high_idx) {
+ table_iter[2] = phased_flipped_01;
+ table_iter[3] = unphased_vals[high_idx];
+ table_iter = &(table_iter[8]);
+ }
+ // [96][0]..[111][1] should be impossible
+ table_iter = &(table_iter[32]);
+ // [112][0]..[127][1]: first entry phased-flipped, second phased-unflipped
+ for (uint32_t high_idx = 0; high_idx != 4; ++high_idx) {
+ table_iter[2] = phased_flipped_01;
+ table_iter[3] = phased_unflipped_vals[high_idx];
+ table_iter = &(table_iter[8]);
+ }
+ // [128][0]..[163][1] should be impossible
+ table_iter = &(table_iter[72]);
+ // [164][0]..[167][1]: second entry phased-flipped, first entry unphased
+ for (uint32_t low_idx = 0; low_idx != 4; ++low_idx) {
+ *table_iter++ = unphased_vals[low_idx];
+ *table_iter++ = phased_flipped_01;
+ }
+ // [168][0]..[179][1] should be impossible
+ table_iter = &(table_iter[24]);
+ // [180][0]..[183][1]: second entry phased-flipped, first phased-unflipped
+ for (uint32_t low_idx = 0; low_idx != 4; ++low_idx) {
+ *table_iter++ = phased_unflipped_vals[low_idx];
+ *table_iter++ = phased_flipped_01;
+ }
+ // [184][0]..[244][1] should be impossible
+ // [245][0]..[245][1]: both phased-flipped
+ table_iter[122] = phased_flipped_01;
+ table_iter[123] = phased_flipped_01;
+}
+
+
+void ClearGenoarrMissing1bit8Unsafe(const uintptr_t* __restrict genoarr, uint32_t* subset_sizep, uintptr_t* __restrict subset, void* __restrict sparse_vals) {
+ const uint32_t orig_subset_size = *subset_sizep;
+ Halfword* subset_alias = DowncastWToHW(subset);
+ uint32_t read_idx = 0;
+ // deliberate overflow
+ for (uint32_t read_widx = UINT32_MAX; ; ) {
+ uint32_t subset_bits;
+ do {
+ subset_bits = subset_alias[++read_widx];
+ } while (!subset_bits);
+ uintptr_t detect_11 = genoarr[read_widx];
+ detect_11 = detect_11 & (detect_11 >> 1) & kMask5555;
+ if (detect_11) {
+ uint32_t detect_11_hw = PackWordToHalfword(detect_11);
+ const uint32_t joint_u32 = subset_bits & detect_11_hw;
+ if (joint_u32) {
+ uintptr_t lowbit = joint_u32 & (-joint_u32);
+ uint32_t write_idx = read_idx + PopcountWord(subset_bits & (lowbit - 1));
+ read_idx = write_idx + 1;
+ uint32_t subset_bits_write = subset_bits ^ lowbit;
+ unsigned char* sparse_vals_uc = S_CAST(unsigned char*, sparse_vals);
+ subset_bits &= -(2 * lowbit);
+ for (; read_idx != orig_subset_size; ++read_idx) {
+#ifdef USE_AVX2
+ if (!subset_bits) {
+ subset_alias[read_widx] = subset_bits_write;
+ do {
+ subset_bits = subset_alias[++read_widx];
+ } while (!subset_bits);
+ subset_bits_write = subset_bits;
+ detect_11 = genoarr[read_widx];
+ detect_11 = detect_11 & (detect_11 >> 1);
+ detect_11_hw = PackWordToHalfwordMask5555(detect_11);
+ }
+ lowbit = subset_bits & (-subset_bits);
+ subset_bits ^= lowbit;
+ if (lowbit & detect_11_hw) {
+ subset_bits_write ^= lowbit;
+ continue;
+ }
+#else
+ if (!subset_bits) {
+ subset_alias[read_widx] = subset_bits_write;
+ do {
+ subset_bits = subset_alias[++read_widx];
+ } while (!subset_bits);
+ subset_bits_write = subset_bits;
+ detect_11 = genoarr[read_widx];
+ detect_11 = detect_11 & (detect_11 >> 1);
+ }
+ lowbit = subset_bits & (-subset_bits);
+ subset_bits ^= lowbit;
+ if ((lowbit * lowbit) & detect_11) {
+ subset_bits_write ^= lowbit;
+ continue;
+ }
+#endif
+ sparse_vals_uc[write_idx++] = sparse_vals_uc[read_idx];
+ }
+ subset_alias[read_widx] = subset_bits_write;
+ *subset_sizep = write_idx;
+ return;
+ }
+ }
+ read_idx += PopcountWord(subset_bits);
+ if (read_idx == orig_subset_size) {
+ return;
+ }
+ }
+}
+
+void ClearGenoarrMissing1bit16Unsafe(const uintptr_t* __restrict genoarr, uint32_t* subset_sizep, uintptr_t* __restrict subset, void* __restrict sparse_vals) {
+ const uint32_t orig_subset_size = *subset_sizep;
+ Halfword* subset_alias = DowncastWToHW(subset);
+ uint32_t read_idx = 0;
+ // deliberate overflow
+ for (uint32_t read_widx = UINT32_MAX; ; ) {
+ uint32_t subset_bits;
+ do {
+ subset_bits = subset_alias[++read_widx];
+ } while (!subset_bits);
+ uintptr_t detect_11 = genoarr[read_widx];
+ detect_11 = detect_11 & (detect_11 >> 1) & kMask5555;
+ if (detect_11) {
+ uint32_t detect_11_hw = PackWordToHalfword(detect_11);
+ const uint32_t joint_u32 = subset_bits & detect_11_hw;
+ if (joint_u32) {
+ uintptr_t lowbit = joint_u32 & (-joint_u32);
+ uint32_t write_idx = read_idx + PopcountWord(subset_bits & (lowbit - 1));
+ read_idx = write_idx + 1;
+ uint32_t subset_bits_write = subset_bits ^ lowbit;
+ uint16_t* sparse_vals_u16 = S_CAST(uint16_t*, sparse_vals);
+ subset_bits &= -(2 * lowbit);
+ for (; read_idx != orig_subset_size; ++read_idx) {
+#ifdef USE_AVX2
+ if (!subset_bits) {
+ subset_alias[read_widx] = subset_bits_write;
+ do {
+ subset_bits = subset_alias[++read_widx];
+ } while (!subset_bits);
+ subset_bits_write = subset_bits;
+ detect_11 = genoarr[read_widx];
+ detect_11 = detect_11 & (detect_11 >> 1);
+ detect_11_hw = PackWordToHalfwordMask5555(detect_11);
+ }
+ lowbit = subset_bits & (-subset_bits);
+ subset_bits ^= lowbit;
+ if (lowbit & detect_11_hw) {
+ subset_bits_write ^= lowbit;
+ continue;
+ }
+#else
+ if (!subset_bits) {
+ subset_alias[read_widx] = subset_bits_write;
+ do {
+ subset_bits = subset_alias[++read_widx];
+ } while (!subset_bits);
+ subset_bits_write = subset_bits;
+ detect_11 = genoarr[read_widx];
+ detect_11 = detect_11 & (detect_11 >> 1);
+ }
+ lowbit = subset_bits & (-subset_bits);
+ subset_bits ^= lowbit;
+ if ((lowbit * lowbit) & detect_11) {
+ subset_bits_write ^= lowbit;
+ continue;
+ }
+#endif
+ sparse_vals_u16[write_idx++] = sparse_vals_u16[read_idx];
+ }
+ subset_alias[read_widx] = subset_bits_write;
+ *subset_sizep = write_idx;
+ return;
+ }
+ }
+ read_idx += PopcountWord(subset_bits);
+ if (read_idx == orig_subset_size) {
+ return;
+ }
+ }
+}
+
+double u127prod_diff_d(uint64_t plus_term0, uint64_t plus_term1, uint64_t minus_term0, uint64_t minus_term1) {
+ uint64_t plus_hi;
+ const uint64_t plus_lo = multiply64to128(plus_term0, plus_term1, &plus_hi);
+ uint64_t minus_hi;
+ const uint64_t minus_lo = multiply64to128(minus_term0, minus_term1, &minus_hi);
+ const uint64_t result_lo = plus_lo - minus_lo;
+ const uint64_t result_hi = plus_hi - minus_hi - (plus_lo < minus_lo);
+ return u127tod(result_hi, result_lo);
+}
+
+double i127prod_diff_d(uint64_t plus_term0, uint64_t plus_term1, uint64_t minus_term0, uint64_t minus_term1) {
+ uint64_t plus_hi;
+ const uint64_t plus_lo = multiply64to128(plus_term0, plus_term1, &plus_hi);
+ uint64_t minus_hi;
+ const uint64_t minus_lo = multiply64to128(minus_term0, minus_term1, &minus_hi);
+ const uint64_t result_lo = plus_lo - minus_lo;
+ const uint64_t result_hi = plus_hi - minus_hi - (plus_lo < minus_lo);
+ if (!(result_hi & (1LLU << 63))) {
+ return u127tod(result_hi, result_lo);
+ } else {
+ const uint64_t minus_result_lo = -result_lo;
+ const uint64_t minus_result_hi = (-result_hi) - (result_lo != 0);
+ return -u127tod(minus_result_hi, minus_result_lo);
+ }
+}
+
+double MultiallelicDiploidMinimac3R2(const uint64_t* __restrict sums, const uint64_t* __restrict hap_ssqs_x2, uint32_t nm_sample_ct, uint32_t allele_ct, uint32_t extra_phased_het_ct) {
+ // sums[k] == sum_i [left_dosage_{ik} + right_dosage_{ik}]
+ // hap_ssqs_x2[k] ==
+ // 2 * sum_i [(left_dosage_{ik})^2 + (right_dosage_{ik})^2]
+ // This may be odd, since it's computed as
+ // (left + right)^2 + (left - right)^2
+ // and the parities of the two integers can be different.
+ // For phased hardcalls, it is fine for the hap_ssqs_x2[k] values to
+ // correspond to unphased hardcalls iff extra_phased_het_ct is the number of
+ // phased-hets that weren't accounted for in hap_ssqs_x2[]; this makes it
+ // straightforward for GetMultiallelicCountsAndDosage16s to stick to the
+ // custom internal multiallelic-count functions.
+ if (!nm_sample_ct) {
+ return (0.0 / 0.0);
+ }
+ // Allelic phased-dosages are on a (k-1)-dimensional simplex; embed this in
+ // R^k as the (1, 0, ..., 0), (0, 1, ..., 0), ..., (0, 0, ..., 1) polytope.
+ // Define
+ // m_k := (1/2n) * sum_i [left_dosage_{ik} + right_dosage_{ik}]
+ // Minimac3-r2 is defined as empirical phased-dosage variance divided by
+ // expected-under-allele-frequencies variance.
+ // Expected sum-of-squared-Euclidean-distance with perfect imputation is
+ // 2n("1"^2 - sum_k ((m_k)^2))
+ // and observed sum-of-squared-distance is
+ // sum_k (sum_i [(left_dosage_{ik})^2 + (right_dosage_{ik})^2] -
+ // 2n((m_k)^2))
+
+ // ssq_sum_x2 can be as large as 2^31 * nm_sample_ct; meansq_sum can cancel
+ // as little as (1 / allele_ct) of it
+ if (nm_sample_ct < 92682) {
+ uint64_t ssq_sum_x2 = extra_phased_het_ct * 0x20000000LLU;
+ uint64_t meansq_sum = 0;
+ for (uint32_t allele_idx = 0; allele_idx != allele_ct; ++allele_idx) {
+ const uint64_t cur_allele_dosage = sums[allele_idx];
+ ssq_sum_x2 += hap_ssqs_x2[allele_idx];
+ // cur_allele_dosage == 2n * m_k
+ // -> meansq_sum becomes 2n * sum_k [2n((m_k)^2)]
+ meansq_sum += cur_allele_dosage * cur_allele_dosage;
+ }
+ const uint64_t observed_variance_times_2n = ssq_sum_x2 * nm_sample_ct - meansq_sum;
+ // "1"^2 -> 16384^2 in our units. So 2n * 2n * "1"^2 is equal to
+ // n * n * 16384^2 * 4.
+ const uint64_t expected_variance_times_2n = nm_sample_ct * 0x40000000LLU * nm_sample_ct - meansq_sum;
+ // mach_r2 == 1 test cases:
+ // - AA, AB, BB: 1, 4, 4
+ // sums[0] = 6 * 2^14
+ // sums[1] = 12 * 2^14
+ // ssqs[0] = 8 * 2^28
+ // ssqs[1] = 20 * 2^28
+ // ssq_sum = (8 + 20) * 2^28
+ // meansq_sum = (6 * 6 + 12 * 12) * 2^28
+ // observed_variance = 28 * 9 * 2^28 - 180 * 2^28
+ // expected_variance = (9 * 9 * 4 * 2^28 - 180 * 2^28) / 2
+ // - AA, AB, BB, AC, BC, CC: 1, 4, 4, 6, 12, 9
+ // sums[0] = 12 * 2^14
+ // sums[1] = 24 * 2^14
+ // sums[2] = 36 * 2^14
+ // ssqs[0] = 14 * 2^28
+ // ssqs[1] = 32 * 2^28
+ // ssqs[2] = 54 * 2^28
+ // ssq_sum = (14 + 32 + 54) * 2^28
+ // meansq_sum = (12 * 12 + 24 * 24 + 36 * 36) * 2^28
+ // observed_variance = 100 * 36 * 2^28 - 56 * 36 * 2^28
+ // expected_variance = (36 * 36 * 4 * 2^28 - 56 * 36 * 2^28) / 2
+ return S_CAST(double, observed_variance_times_2n) / S_CAST(double, expected_variance_times_2n);
+ }
+ uint64_t ssq_sum_x2 = extra_phased_het_ct * 0x20000000LLU;
+ uint64_t meansq_sum_lo = 0;
+ uint64_t meansq_sum_hi = 0;
+ for (uint32_t allele_idx = 0; allele_idx != allele_ct; ++allele_idx) {
+ const uint64_t cur_allele_dosage = sums[allele_idx];
+ const uint64_t cur_ssq_x2 = hap_ssqs_x2[allele_idx];
+ ssq_sum_x2 += cur_ssq_x2;
+ uint64_t incr_hi;
+ uint64_t incr_lo = multiply64to128(cur_allele_dosage, cur_allele_dosage, &incr_hi);
+ meansq_sum_lo += incr_lo;
+ meansq_sum_hi += incr_hi + (meansq_sum_lo < incr_lo);
+ }
+ uint64_t prod_hi;
+ uint64_t prod_lo = multiply64to128(ssq_sum_x2, nm_sample_ct, &prod_hi);
+ const uint64_t observed_variance_times_2n_lo = prod_lo - meansq_sum_lo;
+ const uint64_t observed_variance_times_2n_hi = prod_hi - meansq_sum_hi - (prod_lo < meansq_sum_lo);
+ const double observed_variance_times_2n = u127tod(observed_variance_times_2n_hi, observed_variance_times_2n_lo);
+
+ prod_lo = multiply64to128(nm_sample_ct * 0x40000000LLU, nm_sample_ct, &prod_hi);
+ const uint64_t expected_variance_times_2n_lo = prod_lo - meansq_sum_lo;
+ const uint64_t expected_variance_times_2n_hi = prod_hi - meansq_sum_hi - (prod_lo < meansq_sum_lo);
+ const double expected_variance_times_2n = u127tod(expected_variance_times_2n_hi, expected_variance_times_2n_lo);
+ return observed_variance_times_2n / expected_variance_times_2n;
+}
+
+void PgrDifflistToGenovecUnsafe(const uintptr_t* __restrict raregeno, const uint32_t* difflist_sample_ids, uintptr_t difflist_common_geno, uint32_t sample_ct, uint32_t difflist_len, uintptr_t* __restrict genovec) {
+ // Ok for trailing bits of raregeno to be nonzero. Does not zero out
+ // trailing bits of genovec.
+ const uint32_t vec_ct = NypCtToVecCt(sample_ct);
+ // could just memset up to word boundary; this should be a bit more
+ // vector-instruction-friendly, though
+ vecset(genovec, difflist_common_geno * kMask5555, vec_ct);
+ const uintptr_t* raregeno_incr = raregeno;
+ uint32_t difflist_idx = 0;
+ uint32_t difflist_idx_stop = kBitsPerWordD2;
+ if (!difflist_common_geno) {
+ // faster inner loop since there's no existing value to mask out
+ // todo: check if this should just be deleted since the code bloat causes
+ // too many more cache misses
+ for (; ; difflist_idx_stop += kBitsPerWordD2) {
+ if (difflist_idx_stop > difflist_len) {
+ if (difflist_idx == difflist_len) {
+ return;
+ }
+ difflist_idx_stop = difflist_len;
+ }
+ uintptr_t raregeno_word = *raregeno_incr++;
+ for (; difflist_idx != difflist_idx_stop; ++difflist_idx) {
+ const uint32_t cur_sample_idx = difflist_sample_ids[difflist_idx];
+ genovec[cur_sample_idx / kBitsPerWordD2] |= (raregeno_word & 3) << (2 * (cur_sample_idx % kBitsPerWordD2));
+ raregeno_word >>= 2;
+ }
+ }
+ }
+ for (; ; difflist_idx_stop += kBitsPerWordD2) {
+ if (difflist_idx_stop > difflist_len) {
+ if (difflist_idx == difflist_len) {
+ return;
+ }
+ difflist_idx_stop = difflist_len;
+ }
+ uintptr_t raregeno_word = *raregeno_incr++;
+ for (; difflist_idx != difflist_idx_stop; ++difflist_idx) {
+ const uint32_t cur_sample_idx = difflist_sample_ids[difflist_idx];
+ AssignNyparrEntry(cur_sample_idx, raregeno_word & 3, genovec);
+ raregeno_word >>= 2;
+ }
+ }
+}
+
+const uint16_t kHcToAlleleCodes[1024] = QUAD_TABLE256(0, 0x100, 0x101, 0xffff);
+
+static_assert(sizeof(AlleleCode) == 1, "PglMultiallelicSparseToDenseMiss() needs to be updated.");
+void PglMultiallelicSparseToDenseMiss(const PgenVariant* pgvp, uint32_t sample_ct, AlleleCode* __restrict wide_codes) {
+ GenoarrLookup256x2bx4(pgvp->genovec, kHcToAlleleCodes, sample_ct, wide_codes);
+ const uint32_t patch_01_ct = pgvp->patch_01_ct;
+ if (patch_01_ct) {
+ const uintptr_t* patch_01_set = pgvp->patch_01_set;
+ uintptr_t sample_idx_base = 0;
+ uintptr_t cur_bits = patch_01_set[0];
+ const AlleleCode* patch_01_vals = pgvp->patch_01_vals;
+ AlleleCode* wide_codes1 = &(wide_codes[1]);
+ for (uint32_t uii = 0; uii != patch_01_ct; ++uii) {
+ const uintptr_t sample_idx = BitIter1(patch_01_set, &sample_idx_base, &cur_bits);
+ wide_codes1[2 * sample_idx] = patch_01_vals[uii];
+ }
+ }
+ const uint32_t patch_10_ct = pgvp->patch_10_ct;
+ if (patch_10_ct) {
+ const uintptr_t* patch_10_set = pgvp->patch_10_set;
+ uintptr_t sample_idx_base = 0;
+ uintptr_t cur_bits = patch_10_set[0];
+ const DoubleAlleleCode* patch_10_vals_alias = R_CAST(const DoubleAlleleCode*, pgvp->patch_10_vals);
+ DoubleAlleleCode* wide_codes_alias = R_CAST(DoubleAlleleCode*, wide_codes);
+ for (uint32_t uii = 0; uii != patch_10_ct; ++uii) {
+ const uintptr_t sample_idx = BitIter1(patch_10_set, &sample_idx_base, &cur_bits);
+ wide_codes_alias[sample_idx] = patch_10_vals_alias[uii];
+ }
+ }
+}
+
+uintptr_t PglComputeMaxAlleleCt(const uintptr_t* allele_idx_offsets, uint32_t variant_ct) {
+ if ((!allele_idx_offsets) || (allele_idx_offsets[variant_ct] == 2 * variant_ct)) {
+ return 2;
+ }
+ // todo: try vectorizing this
+ uintptr_t max_allele_ct = 2;
+ uintptr_t prev_offset = allele_idx_offsets[0];
+ const uintptr_t* shifted_offsets = &(allele_idx_offsets[1]);
+ for (uintptr_t uii = 0; uii != variant_ct; ++uii) {
+ const uintptr_t cur_offset = shifted_offsets[uii];
+ const uintptr_t cur_allele_ct = cur_offset - prev_offset;
+ if (cur_allele_ct > max_allele_ct) {
+ max_allele_ct = cur_allele_ct;
+ }
+ prev_offset = cur_offset;
+ }
+ return max_allele_ct;
+}
+
+// Ok for nybble_vvec to be unaligned.
+uint32_t CountNybbleVec(const unsigned char* nybble_vvec_biter, uintptr_t nybble_word, uint32_t vec_ct) {
+ const VecW m0 = vecw_setzero();
+ const VecW alld15 = VCONST_W(kMask1111);
+ const VecW m4 = VCONST_W(kMask0F0F);
+ const VecW xor_vvec = vecw_set1(nybble_word);
+ VecW prev_sad_result = vecw_setzero();
+ VecW acc = vecw_setzero();
+ uintptr_t cur_incr = 15;
+ for (; ; vec_ct -= cur_incr) {
+ if (vec_ct < 15) {
+ if (!vec_ct) {
+ acc = acc + prev_sad_result;
+ return HsumW(acc);
+ }
+ cur_incr = vec_ct;
+ }
+ VecW inner_acc = vecw_setzero();
+ const unsigned char* nybble_vvec_stop = &(nybble_vvec_biter[cur_incr * kBytesPerVec]);
+ do {
+ VecW loader = vecw_loadu(nybble_vvec_biter) ^ xor_vvec;
+ nybble_vvec_biter += kBytesPerVec;
+ // DetectAllZeroNybbles() followed by right-shift-3 is the same number of
+ // operations, can see if that's any faster in practice
+ loader = vecw_srli(loader, 1) | loader;
+ loader = vecw_srli(loader, 2) | loader;
+ inner_acc = inner_acc + vecw_and_notfirst(loader, alld15);
+ } while (nybble_vvec_biter < nybble_vvec_stop);
+ inner_acc = (inner_acc & m4) + (vecw_srli(inner_acc, 4) & m4);
+ acc = acc + prev_sad_result;
+ prev_sad_result = vecw_bytesum(inner_acc, m0);
+ }
+}
+
+uint32_t CountNybble(const void* nybblearr, uintptr_t nybble_word, uintptr_t nybble_ct) {
+ const unsigned char* nybblearr_uc = S_CAST(const unsigned char*, nybblearr);
+ const uint32_t fullword_ct = nybble_ct / kBitsPerWordD4;
+ uint32_t tot = CountNybbleVec(nybblearr_uc, nybble_word, fullword_ct / kWordsPerVec);
+#ifdef __LP64__
+ for (uint32_t word_idx = RoundDownPow2(fullword_ct, kWordsPerVec); word_idx != fullword_ct; ++word_idx) {
+ uintptr_t cur_word;
+ CopyFromUnalignedOffsetW(&cur_word, nybblearr_uc, word_idx);
+ cur_word ^= nybble_word;
+ cur_word = cur_word | (cur_word >> 1);
+ cur_word = cur_word | (cur_word >> 2);
+ tot += Popcount0001Word((~cur_word) & kMask1111);
+ }
+#endif
+ const uint32_t trailing_nybble_ct = nybble_ct % kBitsPerWordD4;
+ if (trailing_nybble_ct) {
+ const uint32_t trailing_byte_ct = DivUp(trailing_nybble_ct, (CHAR_BIT / 4));
+ uintptr_t cur_word = SubwordLoad(&(nybblearr_uc[fullword_ct * kBytesPerWord]), trailing_byte_ct) ^ nybble_word;
+ cur_word = cur_word | (cur_word >> 1);
+ cur_word = cur_word | (cur_word >> 2);
+ cur_word = bzhi((~cur_word) & kMask1111, trailing_nybble_ct * 4);
+#if defined(USE_SSE42) || !defined(__LP64__)
+ tot += Popcount0001Word(cur_word);
+#else
+ // minor optimization, can't overflow
+ tot += (cur_word * kMask1111) >> 60;
+#endif
+ }
+ return tot;
+}
+
+uint64_t PglHeaderBaseEndOffset(uint32_t variant_ct, uintptr_t vrec_len_byte_ct, uint32_t phase_or_dosage_present, uint32_t explicit_nonref_flags) {
+ const uint32_t vblock_ct = DivUp(variant_ct, kPglVblockSize);
+ uint64_t offset = 12 + vblock_ct * sizeof(int64_t) + variant_ct * vrec_len_byte_ct;
+ if (phase_or_dosage_present) {
+ // 8-bit vrtypes
+ offset += variant_ct;
+ } else {
+ // 4-bit vrtypes
+ offset += DivUp(variant_ct, 2);
+ }
+ if (explicit_nonref_flags) {
+ offset += DivUp(variant_ct, CHAR_BIT);
+ }
+ return offset;
+}
+
+#ifdef __cplusplus
+} // namespace plink2
+#endif
diff --git a/external_libs/pgenlib/include/pgenlib_misc.h b/external_libs/pgenlib/include/pgenlib_misc.h
new file mode 100644
index 0000000..0f616d5
--- /dev/null
+++ b/external_libs/pgenlib/include/pgenlib_misc.h
@@ -0,0 +1,1050 @@
+#ifndef __PGENLIB_MISC_H__
+#define __PGENLIB_MISC_H__
+
+// This library is part of PLINK 2.0, copyright (C) 2005-2024 Shaun Purcell,
+// Christopher Chang.
+//
+// This library is free software: you can redistribute it and/or modify it
+// under the terms of the GNU Lesser General Public License as published by the
+// Free Software Foundation; either version 3 of the License, or (at your
+// option) any later version.
+//
+// This library is distributed in the hope that it will be useful, but WITHOUT
+// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+// FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+// for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this library. If not, see .
+
+
+// Low-level C99/C++03/C++11 library for reading .pgen (PLINK 2.0 binary) files
+// (designed to produce good lowest-common-denominator binaries across
+// Windows/OS X/Linux).
+//
+// File format design:
+// - With the header loaded, it is possible to efficiently access a variant by
+// its index. Since records can now be variable-length, this sometimes
+// requires storage of record lengths.
+// - Due to the power of LD-based compression, we permit a variant record to
+// just store a list of differences from an earlier, fully stored variant.
+// However, only short-range dependence is permitted; sequential processing
+// of the file only requires caching of the most recent explicitly stored
+// variant.
+// - Like the plink1 format, this is balanced for relatively easy reading and
+// writing; in particular, the mode-0x10/0x11 header is not read-optimized,
+// it passes up some obvious compression opportunities which would make it
+// more difficult to write e.g. an efficient file merger. This isn't a big
+// deal if we don't have a huge number of one-sample .pgen files sharing a
+// single .bim file (or equivalent). (If they don't share the same .bim
+// file, .bim overhead > .pgen overhead.) If we ever do, we can define an
+// additional mode to handle that case more efficiently.
+// - Building blocks are arrays of 1-bit, 2-bit, 4-bit, 1-byte, 2-byte, 3-byte,
+// and 4-byte values. 3/5/6/7(/9...)-bit values don't play well with
+// bitwise operations, and when it's important, there's usually a natural way
+// to split them into power-of-2-bit components.
+// (unsigned integers known to be smaller than 2^24, but not known to be
+// smaller than 2^16, are stored as 3-byte values on disk and "decompressed"
+// to uint32_t during loading.)
+// - Missing value is usually all-1s. (Only exceptions right now: plink1
+// backward compatibility mode; presence/absence of rare alts for variants
+// with >2 alt alleles is an array of 1-bit values, where absence = 0; and
+// presence/absence of phasing info is similar.) Time to move away from 01
+// nonsense.
+// - Individual variant records are prohibited from being >= 4GiB, to reduce
+// integer overflow issues. (This may be reduced to 2GiB later, but I'll
+// attempt to handle the 2-4GiB range properly for now since it's conceivable
+// for multiallelic records in very large datasets to reach that size.)
+// - (later todo: include stuff like file creation command in .pvar header;
+// that doesn't really belong in a binary file.)
+// See the bottom of this header file, and the pgen_spec/ subdirectory of
+// plink-ng on GitHub, for details.
+
+// Additional parameter conventions:
+// - "nyparr" indicates a word-aligned, packed array of 2-bit values, while
+// "nypvec" is the vector-aligned equivalent. "nybblearr" marks the much
+// rarer case of a packed array of 4-bit values.
+// - "nypvec_01" indicates a packed, vector-aligned array of 2-bit values where
+// each value is zero or one. This data structure was used quite a bit by
+// plink 1.9 for operating on a subset of a 2-bit-genotype array.
+// - "genoarr"/"genovec" indicates a nyparr/nypvec containing genotype
+// information.
+// - "interleaved_vec" is plink 2.0's preferred alternative to nypvec_01: we
+// basically stack pairs of adjacent vectors on top of each other and unpack
+// on the fly, since that tends to be faster than having to access twice as
+// much memory.
+
+#include "plink2_bits.h"
+
+// 10000 * major + 100 * minor + patch
+// Exception to CONSTI32, since we want the preprocessor to have access to this
+// value. Named with all caps as a consequence.
+#define PGENLIB_INTERNAL_VERNUM 2003
+
+#ifdef __cplusplus
+namespace plink2 {
+#endif
+
+// other configuration-ish values needed by plink2_common subset
+typedef unsigned char AlleleCode;
+typedef uint16_t DoubleAlleleCode;
+static_assert(sizeof(DoubleAlleleCode) == 2 * sizeof(AlleleCode), "Inconsistent AlleleCode and DoubleAlleleCode definitions.");
+// Set this to 65534 if AlleleCode is uint16_t, 2^24 - 1 if uint32_t.
+CONSTI32(kPglMaxAltAlleleCt, 254);
+
+CONSTI32(kPglMaxAlleleCt, kPglMaxAltAlleleCt + 1);
+#define PGL_MAX_ALT_ALLELE_CT_STR "254"
+#define PGL_MAX_ALLELE_CT_STR "255"
+#ifdef __cplusplus
+# define kMissingAlleleCode S_CAST(plink2::AlleleCode, -1)
+# define kMissingDoubleAlleleCode S_CAST(plink2::DoubleAlleleCode, -1)
+#else
+# define kMissingAlleleCode S_CAST(AlleleCode, -1)
+# define kMissingDoubleAlleleCode S_CAST(DoubleAlleleCode, -1)
+#endif
+CONSTI32(kAlleleCodesPerVec, kBytesPerVec / sizeof(AlleleCode));
+
+HEADER_INLINE uintptr_t AlleleCodeCtToVecCt(uintptr_t val) {
+ return DivUp(val, kAlleleCodesPerVec);
+}
+
+HEADER_INLINE uintptr_t AlleleCodeCtToAlignedWordCt(uintptr_t val) {
+ return kWordsPerVec * AlleleCodeCtToVecCt(val);
+}
+
+HEADER_INLINE AlleleCode* DowncastWToAC(uintptr_t* pp) {
+ return R_CAST(AlleleCode*, pp);
+}
+
+HEADER_INLINE void AlignACToVec(AlleleCode** pp) {
+ const uintptr_t addr = R_CAST(uintptr_t, *pp);
+ *pp = R_CAST(AlleleCode*, RoundUpPow2(addr, kBytesPerVec));
+}
+
+// returns a word with low bit in each pair set at each 00.
+HEADER_INLINE uintptr_t Word00(uintptr_t ww) {
+ return (~(ww | (ww >> 1))) & kMask5555;
+}
+
+HEADER_INLINE uintptr_t Word01(uintptr_t ww) {
+ return ww & (~(ww >> 1)) & kMask5555;
+}
+
+// returns a word with *low* bit in each pair set at each 10.
+HEADER_INLINE uintptr_t Word10(uintptr_t ww) {
+ return (~ww) & (ww >> 1) & kMask5555;
+}
+
+HEADER_INLINE uintptr_t Word11(uintptr_t ww) {
+ return ww & (ww >> 1) & kMask5555;
+}
+
+HEADER_INLINE Halfword Pack00ToHalfword(uintptr_t ww) {
+ return PackWordToHalfwordMask5555(~(ww | (ww >> 1)));
+}
+
+HEADER_INLINE Halfword Pack01ToHalfword(uintptr_t ww) {
+ return PackWordToHalfwordMask5555(ww & (~(ww >> 1)));
+}
+
+HEADER_INLINE Halfword Pack11ToHalfword(uintptr_t ww) {
+ return PackWordToHalfwordMask5555(ww & (ww >> 1));
+}
+
+#ifdef USE_SSE42
+HEADER_INLINE uint32_t Popcount01Word(uintptr_t val) {
+ return PopcountWord(val);
+}
+
+HEADER_INLINE uint32_t Popcount0001Word(uintptr_t val) {
+ return PopcountWord(val);
+}
+#else
+HEADER_INLINE uint32_t Popcount01Word(uintptr_t val) {
+ return NypsumWord(val);
+}
+
+HEADER_INLINE uint32_t Popcount0001Word(uintptr_t val) {
+# ifdef __LP64__
+ // (val * kMask1111) >> 60 can barely overflow, sigh
+ const uintptr_t val0 = val & 1;
+ return (((val - val0) * kMask1111) >> 60) + val0;
+# else
+ return (val * kMask1111) >> 28;
+# endif
+}
+#endif
+
+// assumes subset_mask has trailing zeroes up to the next vector boundary
+void FillInterleavedMaskVec(const uintptr_t* __restrict subset_mask, uint32_t base_vec_ct, uintptr_t* interleaved_mask_vec);
+
+HEADER_INLINE void CopyNyparr(const uintptr_t* __restrict source_nyparr, uint32_t nyparr_entry_ct, uintptr_t* __restrict target_nyparr) {
+ memcpy(target_nyparr, source_nyparr, NypCtToWordCt(nyparr_entry_ct) * kBytesPerWord);
+}
+
+// may want bit past the end of subset_mask (i.e. position
+// raw_nyparr_entry_ct) to always be allocated and unset. This removes the
+// need for some explicit end-of-bitarray checks.
+void CopyNyparrNonemptySubset(const uintptr_t* __restrict raw_nyparr, const uintptr_t* __restrict subset_mask, uint32_t raw_nyparr_entry_ct, uint32_t subset_entry_ct, uintptr_t* __restrict output_nyparr);
+
+// Copies a bit from raw_bitarr for each genoarr entry matching match_word.
+// (match_word must be a multiple of kMask5555.)
+void CopyGenomatchSubset(const uintptr_t* __restrict raw_bitarr, const uintptr_t* __restrict genoarr, uintptr_t match_word, uint32_t write_bit_idx_start, uint32_t bit_ct, void* __restrict output);
+
+void ExpandBytearrFromGenoarr(const void* __restrict compact_bitarr, const uintptr_t* __restrict genoarr, uintptr_t match_word, uint32_t genoword_ct, uint32_t expand_size, uint32_t read_start_bit, uintptr_t* __restrict target);
+
+
+// These functions are "unsafe" since they assume trailing bits of last
+// genovec/genoarr word are zeroed out.
+void GenovecCount12Unsafe(const uintptr_t* genovec, uint32_t sample_ct, uint32_t* __restrict raw_01_ctp, uint32_t* __restrict raw_10_ctp);
+
+void Count3FreqVec6(const void* geno_vvec, uint32_t vec_ct, uint32_t* __restrict even_ctp, uint32_t* __restrict odd_ctp, uint32_t* __restrict bothset_ctp);
+
+// vector-alignment preferred.
+void GenoarrCountFreqsUnsafe(const uintptr_t* genoarr, uint32_t sample_ct, STD_ARRAY_REF(uint32_t, 4) genocounts);
+
+// GenoarrCountFreqsUnsafe() wrapper that returns most common genotype,
+// breaking ties in favor of the lower value.
+uintptr_t MostCommonGenoUnsafe(const uintptr_t* genoarr, uint32_t sample_ct);
+
+void CountSubset3FreqVec6(const void* __restrict genoarr, const VecW* __restrict interleaved_mask_vvec, uint32_t vec_ct, uint32_t* __restrict even_ctp, uint32_t* __restrict odd_ctp, uint32_t* __restrict bothset_ctp);
+
+// genoarr vector-alignment preferred.
+void GenoarrCountSubsetFreqs(const uintptr_t* __restrict genoarr, const uintptr_t* __restrict sample_include_interleaved_vec, uint32_t raw_sample_ct, uint32_t sample_ct, STD_ARRAY_REF(uint32_t, 4) genocounts);
+
+// slower GenoarrCountSubsetFreqs() which does not require
+// sample_include_interleaved_vec to be precomputed
+void GenoarrCountSubsetFreqs2(const uintptr_t* __restrict genoarr, const uintptr_t* __restrict sample_include, uint32_t raw_sample_ct, uint32_t sample_ct, STD_ARRAY_REF(uint32_t, 4) genocounts);
+
+void GenoarrCountInvsubsetFreqs2(const uintptr_t* __restrict genoarr, const uintptr_t* __restrict sample_exclude, uint32_t raw_sample_ct, uint32_t sample_ct, STD_ARRAY_REF(uint32_t, 4) genocounts);
+
+void GenoarrCountSubsetIntersectFreqs(const uintptr_t* __restrict genoarr, const uintptr_t* __restrict subset1, const uintptr_t* __restrict subset2, uint32_t raw_sample_ct, STD_ARRAY_REF(uint32_t, 4) genocounts);
+
+void GenovecInvertUnsafe(uint32_t sample_ct, uintptr_t* genovec);
+
+HEADER_INLINE uintptr_t InvertGenoWordUnsafe(uintptr_t geno_word) {
+ return (geno_word ^ ((~(geno_word << 1)) & kMaskAAAA));
+}
+
+// too easy to forget to multiply by 2
+HEADER_INLINE void ZeroTrailingNyps(uintptr_t nyp_ct, uintptr_t* bitarr) {
+ ZeroTrailingBits(nyp_ct * 2, bitarr);
+}
+
+HEADER_INLINE void SetTrailingNyps(uintptr_t nyp_ct, uintptr_t* bitarr) {
+ const uintptr_t trail_ct = nyp_ct % kBitsPerWordD2;
+ if (trail_ct) {
+ bitarr[nyp_ct / kBitsPerWordD2] |= (~k0LU) << (nyp_ct * 2);
+ }
+}
+
+// GetVint31 and Vint32Append moved to plink2_base.
+
+// Input must be validated.
+HEADER_INLINE uint32_t GetVint32Unsafe(const unsigned char** buf_iterp) {
+ uint32_t vint32 = *(*buf_iterp)++;
+ if (vint32 <= 127) {
+ return vint32;
+ }
+ vint32 &= 127;
+ for (uint32_t shift = 7; ; shift += 7) {
+ uint32_t uii = *(*buf_iterp)++;
+ vint32 |= (uii & 127) << shift;
+ if (uii <= 127) {
+ return vint32;
+ }
+ }
+}
+
+HEADER_INLINE void SkipVintUnsafe(const unsigned char** buf_iterp) {
+ uint32_t cur_byte;
+ do {
+ cur_byte = *(*buf_iterp)++;
+ } while (cur_byte & 128);
+}
+
+// Does not update buf_iter.
+HEADER_INLINE uint32_t PeekVint31(const unsigned char* buf_iter, const unsigned char* buf_end) {
+ if (likely(buf_end > buf_iter)) {
+ uint32_t vint32 = *buf_iter++;
+ if (vint32 <= 127) {
+ return vint32;
+ }
+ vint32 &= 127;
+ uint32_t shift = 7;
+ while (likely(buf_end > buf_iter)) {
+ uint32_t uii = *buf_iter++;
+ vint32 |= (uii & 127) << shift;
+ if (uii <= 127) {
+ return vint32;
+ }
+ shift += 7;
+ }
+ }
+ return 0x80000000U;
+}
+
+/*
+HEADER_INLINE void FPutVint31(uint32_t uii, FILE* ff) {
+ // caller's responsibility to periodically check ferror
+ while (uii > 127) {
+ putc_unlocked((uii & 127) + 128, ff);
+ uii >>= 7;
+ }
+ putc_unlocked(uii, ff);
+}
+*/
+
+HEADER_INLINE BoolErr FSkipVint(FILE* ff) {
+ while (1) {
+ const uint32_t cur_byte = getc_unlocked(ff);
+ if (cur_byte <= 127) {
+ return 0;
+ }
+ if (unlikely(cur_byte > 255)) {
+ return 1;
+ }
+ }
+}
+
+HEADER_INLINE uint64_t FGetVint63(FILE* ff) {
+ // Can't be used when multiple threads are reading from ff.
+ uint64_t vint64 = getc_unlocked(ff);
+ if (vint64 <= 127) {
+ return vint64;
+ }
+ if (unlikely(vint64 > 255)) {
+ return (1LLU << 63);
+ }
+ vint64 &= 127;
+ for (uint32_t shift = 7; ; shift += 7) {
+ const uint64_t ullii = getc_unlocked(ff);
+ vint64 |= (ullii & 127) << shift;
+ if (ullii <= 127) {
+ return vint64;
+ }
+ if (unlikely((ullii > 255) || (shift == 56))) {
+ return (1LLU << 63);
+ }
+ }
+}
+
+// Need this for sparse multiallelic dosage.
+HEADER_INLINE unsigned char* Vint64Append(uint64_t ullii, unsigned char* buf) {
+ while (ullii > 127) {
+ *buf++ = (ullii & 127) + 128;
+ ullii >>= 7;
+ }
+ *buf++ = ullii;
+ return buf;
+}
+
+HEADER_INLINE uint64_t GetVint64Unsafe(const unsigned char** buf_iterp) {
+ uint64_t vint64 = *(*buf_iterp)++;
+ if (vint64 <= 127) {
+ return vint64;
+ }
+ vint64 &= 127;
+ for (uint32_t shift = 7; ; shift += 7) {
+ uint64_t ullii = *(*buf_iterp)++;
+ vint64 |= (ullii & 127) << shift;
+ if (ullii <= 127) {
+ return vint64;
+ }
+ }
+}
+
+HEADER_INLINE void FPutVint64(uint64_t ullii, FILE* ff) {
+ // caller's responsibility to periodically check ferror
+ while (ullii > 127) {
+ putc_unlocked((ullii & 127) + 128, ff);
+ ullii >>= 7;
+ }
+ putc_unlocked(ullii, ff);
+}
+
+// TODO: make this work properly with kCacheline == 128, then fix other
+// transpose functions, etc.
+
+// main batch size
+CONSTI32(kPglNypTransposeBatch, kNypsPerCacheline);
+
+// word width of each matrix row
+CONSTI32(kPglNypTransposeWords, kWordsPerCacheline);
+
+#ifdef __LP64__
+CONSTI32(kPglNypTransposeBufbytes, (kPglNypTransposeBatch * kPglNypTransposeBatch) / 2);
+
+// buf0 and buf1 assumed to be vector-aligned.
+void TransposeNypblock64(const uintptr_t* read_iter, uint32_t read_ul_stride, uint32_t write_ul_stride, uint32_t read_batch_size, uint32_t write_batch_size, uintptr_t* __restrict write_iter, unsigned char* __restrict buf0, unsigned char* __restrict buf1);
+#else // !__LP64__
+CONSTI32(kPglNypTransposeBufbytes, (kPglNypTransposeBatch * kPglNypTransposeBatch) / 2);
+
+void TransposeNypblock32(const uintptr_t* read_iter, uint32_t read_ul_stride, uint32_t write_ul_stride, uint32_t read_batch_size, uint32_t write_batch_size, uintptr_t* __restrict write_iter, unsigned char* __restrict buf0, unsigned char* __restrict buf1);
+#endif
+CONSTI32(kPglNypTransposeBufwords, kPglNypTransposeBufbytes / kBytesPerWord);
+
+// - single block is up to 256x256 (CACHELINE64) or 512x512 (CACHELINE128)
+// - vecaligned_buf must have size 32k (CACHELINE64) or 128k (CACHELINE128)
+// - does NOT zero out trailing bits, because main application is ind-major-bed
+// <-> plink2 format conversion, where the zeroing would be undone...
+// - important: write_iter must be allocated up to at least
+// RoundUpPow2(write_batch_size, 4) rows (may want to remove this
+// requirement)
+
+HEADER_INLINE void TransposeNypblock(const uintptr_t* read_iter, uint32_t read_ul_stride, uint32_t write_ul_stride, uint32_t read_batch_size, uint32_t write_batch_size, uintptr_t* write_iter, VecW* vecaligned_buf) {
+#ifdef __LP64__
+ // assert(!(write_ul_stride % 2));
+ TransposeNypblock64(read_iter, read_ul_stride, write_ul_stride, read_batch_size, write_batch_size, write_iter, DowncastToUc(vecaligned_buf), &(DowncastToUc(vecaligned_buf)[kPglNypTransposeBufbytes / 2]));
+#else
+ TransposeNypblock32(read_iter, read_ul_stride, write_ul_stride, read_batch_size, write_batch_size, write_iter, DowncastToUc(vecaligned_buf), &(DowncastToUc(vecaligned_buf)[kPglNypTransposeBufbytes / 2]));
+#endif
+}
+
+
+// replaces each x with (32768 - x)
+// okay for dosage_main to be nullptr if dosage_ct == 0
+void BiallelicDosage16Invert(uint32_t dosage_ct, uint16_t* dosage_main);
+
+// replaces each x with -x
+void BiallelicDphase16Invert(uint32_t dphase_ct, int16_t* dphase_delta);
+
+void PackWordsToHalfwordsInvmatch(const uintptr_t* __restrict genoarr, uintptr_t inv_match_word, uint32_t inword_ct, uintptr_t* __restrict dst);
+
+void PackWordsToHalfwordsMismatch(const uintptr_t* __restrict genoarr, uintptr_t mismatch_word, uint32_t inword_ct, uintptr_t* __restrict dst);
+
+// src and dst allowed to be identical; that's why src is not marked const
+// despite not being directly written to.
+void MaskWordsToHalfwordsInvmatch(const uintptr_t* __restrict genoarr, uintptr_t inv_match_word, uint32_t inword_ct, uintptr_t* src, uintptr_t* dst);
+
+// Unsafe since it assumes trailing genoarr bits are cleared. But if they are,
+// trailing missingness bits will be clear.
+HEADER_INLINE void GenoarrToMissingnessUnsafe(const uintptr_t* __restrict genoarr, uint32_t sample_ct, uintptr_t* __restrict missingness) {
+ const uint32_t sample_ctl2 = NypCtToWordCt(sample_ct);
+ PackWordsToHalfwordsInvmatch(genoarr, 0, sample_ctl2, missingness);
+ if (sample_ctl2 % 2) {
+ Halfword* __attribute__((may_alias)) missingness_alias = DowncastWToHW(missingness);
+ missingness_alias[sample_ctl2] = 0;
+ }
+}
+
+HEADER_INLINE void GenoarrToNonmissing(const uintptr_t* __restrict genoarr, uint32_t sample_ct, uintptr_t* __restrict nonmissingness) {
+ const uint32_t sample_ctl2 = NypCtToWordCt(sample_ct);
+ PackWordsToHalfwordsMismatch(genoarr, ~k0LU, sample_ctl2, nonmissingness);
+ ZeroTrailingBits(sample_ct, nonmissingness);
+}
+
+void SparseToMissingness(const uintptr_t* __restrict raregeno, const uint32_t* difflist_sample_ids, uint32_t sample_ct, uint32_t difflist_common_geno, uint32_t difflist_len, uintptr_t* __restrict missingness);
+
+// hom_buf gets set bits when genoarr value is 0 or 2.
+// ref2het_buf gets set bits when genoarr value is 0 or 1.
+// N.B. assumes trailing bits of loadbuf have been filled with 1s, not 0s
+// Also takes genoarr word count instead of sample count.
+void SplitHomRef2hetUnsafeW(const uintptr_t* genoarr, uint32_t inword_ct, uintptr_t* __restrict hom_buf, uintptr_t* __restrict ref2het_buf);
+
+void SplitHomRef2het(const uintptr_t* genoarr, uint32_t sample_ct, uintptr_t* __restrict hom_buf, uintptr_t* __restrict ref2het_buf);
+
+
+// Support for 1-bit-per-haplotype representation.
+// Ok for genoarr to have garbage trailing bits.
+BoolErr HapsplitMustPhased(const uintptr_t* genoarr, const uintptr_t* phasepresent, const uintptr_t* phaseinfo, uint32_t sample_ct, uint32_t phasepresent_ct, uintptr_t* hap_arr, uintptr_t* nm_arr);
+
+// Only 1 haplotype per genotype, rather than 2; het treated as missing.
+void HapsplitHaploid(const uintptr_t* __restrict genoarr, uint32_t sample_ct, uintptr_t* __restrict hap_arr, uintptr_t* __restrict nm_arr);
+
+
+// These functions use 16- or 256-element lookup tables to apply functions of
+// the form
+// f: {0,1,2,3} -> x
+// to genoarr, saving the output to result[].
+// 256-element tables result in a substantially faster inner loop, but they are
+// more expensive to set up and consume a non-negligible fraction of L1 cache,
+// so they aren't always the right choice.
+// When lookup table rows are 16 bytes, they are assumed to be 16-byte aligned
+// in 64-bit builds. result[] is not assumed to be aligned.
+void GenoarrLookup256x1bx4(const uintptr_t* genoarr, const void* table256x1bx4, uint32_t sample_ct, void* __restrict result);
+
+void GenoarrLookup16x4bx2(const uintptr_t* genoarr, const void* table16x4bx2, uint32_t sample_ct, void* result);
+
+void GenoarrLookup256x2bx4(const uintptr_t* genoarr, const void* table256x2bx4, uint32_t sample_ct, void* result);
+
+void GenoarrLookup4x16b(const uintptr_t* genoarr, const void* table4x16b, uint32_t sample_ct, void* result);
+
+#define PAIR_TABLE16(a, b, c, d) \
+ {(a), (a), (b), (a), (c), (a), (d), (a), \
+ (a), (b), (b), (b), (c), (b), (d), (b), \
+ (a), (c), (b), (c), (c), (c), (d), (c), \
+ (a), (d), (b), (d), (c), (d), (d), (d)}
+
+void GenoarrLookup16x8bx2(const uintptr_t* genoarr, const void* table16x8bx2, uint32_t sample_ct, void* result);
+
+#define QUAD_TABLE256_INTERNAL2(a, b, c, d, f2, f3, f4) \
+ (a), (f2), (f3), (f4), \
+ (b), (f2), (f3), (f4), \
+ (c), (f2), (f3), (f4), \
+ (d), (f2), (f3), (f4)
+#define QUAD_TABLE256_INTERNAL3(a, b, c, d, f3, f4) \
+ QUAD_TABLE256_INTERNAL2((a), (b), (c), (d), (a), (f3), (f4)), \
+ QUAD_TABLE256_INTERNAL2((a), (b), (c), (d), (b), (f3), (f4)), \
+ QUAD_TABLE256_INTERNAL2((a), (b), (c), (d), (c), (f3), (f4)), \
+ QUAD_TABLE256_INTERNAL2((a), (b), (c), (d), (d), (f3), (f4))
+#define QUAD_TABLE256_INTERNAL4(a, b, c, d, f4) \
+ QUAD_TABLE256_INTERNAL3((a), (b), (c), (d), (a), (f4)), \
+ QUAD_TABLE256_INTERNAL3((a), (b), (c), (d), (b), (f4)), \
+ QUAD_TABLE256_INTERNAL3((a), (b), (c), (d), (c), (f4)), \
+ QUAD_TABLE256_INTERNAL3((a), (b), (c), (d), (d), (f4))
+#define QUAD_TABLE256(a, b, c, d) \
+ {QUAD_TABLE256_INTERNAL4((a), (b), (c), (d), (a)), \
+ QUAD_TABLE256_INTERNAL4((a), (b), (c), (d), (b)), \
+ QUAD_TABLE256_INTERNAL4((a), (b), (c), (d), (c)), \
+ QUAD_TABLE256_INTERNAL4((a), (b), (c), (d), (d))}
+
+void GenoarrLookup256x4bx4(const uintptr_t* genoarr, const void* table256x4bx4, uint32_t sample_ct, void* result);
+
+// Lookup table initialization functions. table[0][0], [1][0], [2][0], and
+// [3][0] must be initialized to f(0), f(1), f(2), and f(3) respectively.
+void InitLookup16x4bx2(void* table16x4bx2);
+
+void InitLookup16x8bx2(void* table16x8bx2);
+
+#ifdef USE_SHUFFLE8
+// in bytes
+CONSTI32(kLookup256x1bx4Size, 1024 + 2 * kBytesPerVec);
+#else
+CONSTI32(kLookup256x1bx4Size, 1024);
+#endif
+
+void InitLookup256x1bx4(void* table256x1bx4);
+
+void InitLookup256x2bx4(void* table256x2bx4);
+
+void InitLookup256x4bx4(void* table256x4bx4);
+
+void PhaseLookup4b(const uintptr_t* genoarr, const uintptr_t* phasepresent, const uintptr_t* phaseinfo, const void* table56x4bx2, uint32_t sample_ct, void* result);
+
+// [0][0]..[3][0], [17][0], and [19][0] should contain the relevant values
+void InitPhaseLookup4b(void* table56x4bx2);
+
+void PhaseLookup8b(const uintptr_t* genoarr, const uintptr_t* phasepresent, const uintptr_t* phaseinfo, const void* table56x8bx2, uint32_t sample_ct, void* result);
+
+void InitPhaseLookup8b(void* table56x8bx2);
+
+// het-haploid prohibited. 64-entry table suffices: we use the same bits for
+// phasepresent and sex_male since they can't be true simultaneously.
+// phaseinfo is xor'd with bits 1 and 3 instead of 1 and 2.
+void PhaseXNohhLookup4b(const uintptr_t* genoarr, const uintptr_t* phasepresent, const uintptr_t* phaseinfo, const uintptr_t* sex_male, const void* table64x4bx2, uint32_t sample_ct, void* result);
+
+// [0][0]..[3][0], [16][0]..[19][0]
+void InitPhaseXNohhLookup4b(void* table64x4bx2);
+
+// uses same table as PhaseXNohhLookup
+void GenoarrSexLookup4b(const uintptr_t* genoarr, const uintptr_t* sex_male, const void* table64x4bx2, uint32_t sample_ct, void* result);
+
+void InitPhaseXNohhLookup8b(void* table64x8bx2);
+
+void GenoarrSexLookup8b(const uintptr_t* genoarr, const uintptr_t* sex_male, const void* table64x8bx2, uint32_t sample_ct, void* result);
+
+// Unlike PhaseLookup4b(), this allows the cur_phased bit to be set when the
+// genoarr entry is not 01 (het).
+void VcfPhaseLookup4b(const uintptr_t* genoarr, const uintptr_t* cur_phased, const uintptr_t* phaseinfo, const void* table246x4bx2, uint32_t sample_ct, void* __restrict result);
+
+// Precondition:
+// [0], [2], [4], [6] initialized with unphased entries
+// [32], [34], [36], [38] initialized with phased-unflipped entries
+// [162] initialized with phased-flipped case
+void InitVcfPhaseLookup4b(void* table246x4bx2);
+
+void VcfPhaseLookup2b(const uintptr_t* genoarr, const uintptr_t* cur_phased, const uintptr_t* phaseinfo, const void* table246x2bx2, uint32_t sample_ct, void* __restrict result);
+
+void InitVcfPhaseLookup2b(void* table246x2bx2);
+
+
+// Analogue of BitIter1x.
+HEADER_INLINE uint32_t GenoIter1x(const uintptr_t* __restrict genoarr, uintptr_t match_word, uintptr_t* __restrict widxp, uintptr_t* __restrict cur_bitsp) {
+ uintptr_t cur_bits = *cur_bitsp;
+ while (!cur_bits) {
+ cur_bits = genoarr[++(*widxp)] ^ match_word;
+ cur_bits = (~(cur_bits | (cur_bits >> 1))) & kMask5555;
+ }
+ *cur_bitsp = cur_bits & (cur_bits - 1);
+ return ctzw(cur_bits);
+}
+
+// For every missing entry in genoarr, clear the corresponding subset and
+// sparse_vals entries.
+void ClearGenoarrMissing1bit8Unsafe(const uintptr_t* __restrict genoarr, uint32_t* subset_sizep, uintptr_t* __restrict subset, void* __restrict sparse_vals);
+
+void ClearGenoarrMissing1bit16Unsafe(const uintptr_t* __restrict genoarr, uint32_t* subset_sizep, uintptr_t* __restrict subset, void* __restrict sparse_vals);
+
+// See EasyasPi's answer to
+// https://stackoverflow.com/questions/25095741/how-can-i-multiply-64-bit-operands-and-get-128-bit-result-portably
+HEADER_INLINE uint64_t multiply64to128(uint64_t lhs, uint64_t rhs, uint64_t* high) {
+ // GCC and Clang usually provide __uint128_t on 64-bit targets, although
+ // Clang also defines it on WASM despite having to use builtins for most
+ // purposes -- including multiplication.
+#if defined(__SIZEOF_INT128__) && !defined(__wasm__)
+ __uint128_t product = S_CAST(__uint128_t, lhs) * S_CAST(__uint128_t, rhs);
+ *high = S_CAST(uint64_t, product >> 64);
+ return S_CAST(uint64_t, product & 0xffffffffffffffffLLU);
+#else
+ // Fast yet simple grade school multiply that avoids 64-bit carries with the
+ // properties of multiplying by 11 and takes advantage of UMAAL on ARMv6 to
+ // only need 4 calculations.
+
+ // First calculate all of the cross products.
+ uint64_t lo_lo = (lhs & 0xffffffff) * (rhs & 0xffffffff);
+ uint64_t hi_lo = (lhs >> 32) * (rhs & 0xffffffff);
+ uint64_t lo_hi = (lhs & 0xffffffff) * (rhs >> 32);
+ uint64_t hi_hi = (lhs >> 32) * (rhs >> 32);
+ // Now add the products together. These will never overflow.
+ uint64_t cross = (lo_lo >> 32) + (hi_lo & 0xffffffff) + lo_hi;
+ uint64_t upper = (hi_lo >> 32) + (cross >> 32) + hi_hi;
+
+ *high = upper;
+ return (cross << 32) | (lo_lo & 0xffffffff);
+#endif
+}
+
+HEADER_INLINE double u127tod(uint64_t hi, uint64_t lo) {
+ return u63tod(hi) * 18446744073709551616.0 + S_CAST(double, lo);
+}
+
+// plus_term0 * plus_term1 - minus_term0 * minus_term1
+double u127prod_diff_d(uint64_t plus_term0, uint64_t plus_term1, uint64_t minus_term0, uint64_t minus_term1);
+
+double i127prod_diff_d(uint64_t plus_term0, uint64_t plus_term1, uint64_t minus_term0, uint64_t minus_term1);
+
+double MultiallelicDiploidMinimac3R2(const uint64_t* __restrict sums, const uint64_t* __restrict hap_ssqs_x2, uint32_t nm_sample_ct, uint32_t allele_ct, uint32_t extra_phased_het_ct);
+
+HEADER_INLINE double MultiallelicDiploidMachR2(const uint64_t* __restrict sums, const uint64_t* __restrict ssqs, uint32_t nm_sample_ct, uint32_t allele_ct) {
+ return 2 * MultiallelicDiploidMinimac3R2(sums, ssqs, nm_sample_ct, allele_ct, 0);
+}
+
+// ----- end plink2_common subset -----
+
+// other configuration-ish values
+// this part of the specification is set in stone.
+
+CONSTI32(kPglVblockSize, 65536);
+
+// kPglDifflistGroupSize defined in plink2_base
+
+// Currently chosen so that it plus kPglFwriteBlockSize + kCacheline - 2 is
+// < 2^32, so DivUp(kPglMaxBytesPerVariant + kPglFwriteBlockSize - 1,
+// kCacheline) doesn't overflow.
+static const uint32_t kPglMaxBytesPerVariant = 0xfffdffc0U;
+// CONSTI32(kPglMaxBytesPerDataTrack, 0x7ffff000);
+// static_assert(kMaxBytesPerIO >= (int32_t)kPglMaxBytesPerDataTrack, "pgenlib assumes a single variant data track always fits in one fread/fwrite operation.");
+
+FLAGSET_DEF_START()
+ kfPgenGlobal0,
+ kfPgenGlobalLdCompressionPresent = (1 << 0),
+ kfPgenGlobalDifflistOrLdPresent = (1 << 1),
+
+ // Only guaranteed to be set when present if phase or dosage also present.
+ kfPgenGlobalMultiallelicHardcallFound = (1 << 2),
+
+ kfPgenGlobalHardcallPhasePresent = (1 << 3),
+ kfPgenGlobalDosagePresent = (1 << 4),
+ kfPgenGlobalDosagePhasePresent = (1 << 5),
+ kfPgenGlobalAllNonref = (1 << 6)
+FLAGSET_DEF_END(PgenGlobalFlags);
+
+// difflist/LD compression must not involve more than
+// raw_sample_ct / kPglMaxDifflistLenDivisor
+// entries. (however, returned difflists can have up to twice as many entries,
+// when a variant is LD-compressed and the reference variant is
+// difflist-compressed.)
+// This value can be considered set in stone.
+CONSTI32(kPglMaxDifflistLenDivisor, 8);
+
+// Threshold for using a deltalist to represent a bitarray on disk (currently
+// relevant for dosage data). This is a tunable parameter, but must be >=
+// kPglMaxDifflistLenDivisor.
+CONSTI32(kPglMaxDeltalistLenDivisor, 9);
+
+void PgrDifflistToGenovecUnsafe(const uintptr_t* __restrict raregeno, const uint32_t* difflist_sample_ids, uintptr_t difflist_common_geno, uint32_t sample_ct, uint32_t difflist_len, uintptr_t* __restrict genovec);
+
+// This covers all the possibilities. Todo: switch all functions exporting
+// multiallelic codes and/or phased dosage to use this struct. (Biallelic
+// phased hardcalls and unphased dosages are simple enough for this to be
+// overkill, though.)
+typedef struct PgenVariantStruct {
+ uintptr_t* genovec;
+ uintptr_t* patch_01_set;
+ AlleleCode* patch_01_vals;
+ uintptr_t* patch_10_set;
+ AlleleCode* patch_10_vals;
+ uintptr_t* phasepresent;
+ uintptr_t* phaseinfo;
+ uintptr_t* dosage_present;
+ uint16_t* dosage_main;
+ uintptr_t* multidosage_present;
+ unsigned char* multidosage_cts;
+ AlleleCode* multidosage_codes;
+ uint16_t* multidosage_vals;
+ uintptr_t* dphase_present;
+ int16_t* dphase_delta;
+ uintptr_t* multidphase_present;
+ unsigned char* multidphase_cts;
+ AlleleCode* multidphase_codes;
+ int16_t* multidphase_delta;
+
+ uint32_t patch_01_ct;
+ uint32_t patch_10_ct;
+ uint32_t phasepresent_ct;
+ uint32_t dosage_ct;
+ uint32_t multidosage_sample_ct;
+ uint32_t dphase_ct;
+ uint32_t multidphase_sample_ct;
+} PgenVariant;
+
+HEADER_INLINE uintptr_t GetAux1bAlleleEntryByteCt(uint32_t allele_ct, uint32_t rare10_ct) {
+ assert(allele_ct >= 3);
+ if (allele_ct == 3) {
+ return DivUp(rare10_ct, 8);
+ }
+ if (allele_ct < 6) {
+ return DivUp(rare10_ct, 2);
+ }
+ // one byte per entry for allele_ct <= 17, two bytes for 18..256
+ return ((allele_ct >= 18) + 1) * rare10_ct;
+ // todo: allele_ct > 257
+}
+
+extern const uint16_t kHcToAlleleCodes[1024];
+
+// Permits missing codes, does not remap.
+void PglMultiallelicSparseToDenseMiss(const PgenVariant* pgvp, uint32_t sample_ct, AlleleCode* __restrict wide_codes);
+
+uintptr_t PglComputeMaxAlleleCt(const uintptr_t* allele_idx_offsets, uint32_t variant_ct);
+
+HEADER_INLINE AlleleCode GetAidx(const uintptr_t* allele_idx_offsets, uint32_t variant_uidx, uintptr_t allele_idx) {
+ if (!allele_idx_offsets) {
+ return allele_idx - 2 * variant_uidx;
+ }
+ return allele_idx - allele_idx_offsets[variant_uidx];
+}
+
+uint32_t CountNybble(const void* nybblearr, uintptr_t nybble_word, uintptr_t nybble_ct);
+
+// The actual format:
+// 1. 2 magic bytes 0x6c 0x1b.
+//
+// 2. Mode byte.
+// 0x01 = plink1 variant-major.
+// 0x02 = plink2 basic variant-major. variant/sample counts in header,
+// 00 = hom ref, 01 = het, 10 = hom alt, 11 = missing. (vrtype 0)
+// 0x03 = plink2 basic unphased dosage (vrtype 0x40)
+// 0x04 = plink2 basic phased dosage (vrtype 0xc0)
+// These are designed to be easy to write. Note that the dosage formats
+// require hardcalls to be stored as well; however, you can just set them
+// to all-missing and then use
+// plink2 --hard-call-threshold <...> --make-pgen
+// to populate them.
+//
+// 0x10 = variable-type and/or variable-length records present.
+// 0x11 = mode 0x10, but with phase set information at the end of the
+// file.
+// 0x05..0x0f and 0x12..0x7f are reserved for possible use by future
+// versions of the PGEN specification, and 0 is off-limits (PLINK 1
+// sample-major .bed).
+// 0x80..0xff can be safely used by developers for their own purposes.
+//
+// 3. If not plink1-format,
+// a. 4-byte # of variants; call this M.
+// b. 4-byte # of samples, call this N.
+// c. Additional 1-byte header 'control' value (PgenHeaderCtrl). May be
+// extended in the future.
+// bits 0-3: Indicates vrtype and variant record length storage widths.
+// If bit 3 is unset, bits 0-1 store (vrec_len_byte_ct - 1), while bit
+// 2 is set iff phase or dosage info is present (requiring 8 bits
+// instead of 4 bits for vrtypes).
+// If bit 3 is set, a specialized encoding is used which combines the
+// two pieces of information (reducing the overhead for files with few
+// samples). The following encodings are now defined (note that there
+// was a change of plans in Mar 2019):
+// 8: 1 bit per fused vrtype-length. Unset = vrtype 5, set = vrtype
+// 0.
+// 9: 2 bits, multiallelic. 0 = vrtype 5, 1 = vrtype 0, 2-3 = vrtype
+// 8 with that many more bytes than vrtype 0. Note that this is
+// limited to 16 ALT alleles.
+// 10: 2 bits, phased. 0 = vrtype 5, 1 = vrtype 0, 2-3 = vrtype 16
+// with that many minus 1 bytes beyond vrtype 0. While this is
+// also aimed at the single-sample use case, it technically
+// supports up to 15 always-phased or 7 partially-phased samples.
+// 11: 4 bits, multiallelic + phased. 0 = vrtype 5, 1 = vrtype 0, 2-7
+// = vrtype 8 with that many bytes beyond vrtype 0, 9 = vrtype 16
+// phase info requiring just 1 byte, 10-15 = vrtype 24 with (x-7)
+// extra bytes required between multiallelic and phased tracks.
+// 12: 2 bits, dosage, must be single-sample. 0 = vrtype 5, 1 =
+// vrtype 0, 2 = vrtype 0x45 with 2 bytes, 3 = vrtype 0x40 with 3
+// total bytes.
+// 13: reserved for single-sample multiallelic + dosage.
+// 14: 4 bits, phased + dosage, must be single-sample. 0 and 1 as
+// usual, 3 = vrtype 16 with 1 phaseinfo byte, 4 = vrtype 0x45
+// with 2 bytes, 5 = vrtype 0x40 with 3 total bytes, 12 = vrtype
+// 0xc5 with 4 total bytes, 13 = vrtype 0xc0 with 5 total bytes,
+// 15 = vrtype 0xe0 with 6 total bytes
+// 15: reserved for single-sample multiallelic + phased dosage.
+// bits 4-5: allele count storage (00 = unstored, 01-11 = bytes per ct)
+// bits 6-7: nonref flags info (00 = unstored, 01 = all ref/alt, 10 =
+// never ref/alt, 11 = explicitly stored)
+// Bits 0-5 do not apply to the fixed-length modes (currently 0x02-0x04)
+// and should be zeroed out in that case.
+//
+// 4. If mode 0x10/0x11,
+// a. Array of 8-byte fpos values for the first variant in each vblock.
+// (Note that this suggests a way to support in-place insertions: some
+// unused space can be left between the vblocks.)
+// b. Sequence of header blocks, each containing information about
+// kPglVblockSize variants (except the last may be shorter). All values
+// are known-width, to allow e.g. plink2 --make-pgen/--pmerge to compress
+// all variant records first, then fseek to the beginning of the output
+// file and write the header.
+// i. array of 4-bit or 1-byte vrtypes.
+// ii. array of variant record lengths (each occupying vrec_len_byte_ct
+// bytes, or 2-4 bits).
+// iii. if bits 4-5 of {3c} aren't 00, array of alt allele counts.
+// iv. nonref flags info, if explicitly stored
+// (this representation allows more efficient random access)
+// If mode 0x02-0x04, and nonref flags info explicitly stored, just that
+// bitarray.
+//
+// 5. The variant records. See below for details.
+
+// Difflist format:
+// a.
+// If difflist_len is zero, that's it. Otherwise, the difflist is organized
+// into 64-element groups (the last group will usually be smaller), to make
+// extraction of e.g. a single sample less painful. Note that with 20k
+// samples, a difflist is space-saving even with MAF 5%:
+// ~1/400 hom alt + ~38/400 het = (~39/400) * 20k
+// = ~1950 sample IDs.
+// that's 31 groups, requiring about 2 + 62 + 30 + 488 + 1919 = 2501 bytes
+// (can be slightly higher since a few ID deltas may be larger than 127);
+// uncompressed storage requires 5000 bytes.
+// b.
+// c. , with last entry
+// omitted>
+// d.
+// (in retrospect, it might have been better to position this after (e)
+// to avoid entanglement with the packed-bitarray definition, oh well...)
+// e. one "delta segment"/group: VINT values,
+// each indicating the difference between the current and previous sample
+// IDs; i.e. value is 1 for two consecutive samples>
+
+// Variant record type ('vrtype') coding:
+// bits 0-2:
+// 000 = Simple 2-bit encoding.
+// 100, 110, 111 = Simple difflist. Low two bits store the base value. (101
+// isn't here since Hardy-Weinberg equilibrium prevents
+// all het ref/alt from arising much in practice, outside of
+// alignment/variant-calling technical artifacts that should
+// be removed.)
+// 010 = Differences-from-earlier-variant encoding ("LD compression"). The
+// last variant without this type of encoding is the base.
+// To simplify random access logic, the first variant in each vblock is
+// prohibited from using this encoding.
+// 011 = Inverted differences-from-earlier-variant encoding. (This covers
+// the case where a reference allele is 'wrong'.) When decoding, the
+// difflist should be processed first, then the entire genovec should
+// be flipped.
+// 001 = 1-bit + difflist representation. Suppose most calls are hom ref or
+// het (e.g. a 20% MAF variant with ~4% hom alt1, ~36% het ref/alt1,
+// ~64% hom ref), then the main datatrack has just the low bits of the
+// usual 2-bit codes. This is followed by a difflist containing the
+// hom alt1 and missing genotypes.
+// The main datatrack is preceded by a single byte indicating what
+// the two common values are: 2 low bits = ,
+// next 2 bits = unset value (6 possibilities). Top 4 bits are
+// reserved.
+// 101 = All alleles are reference, no missing data. The main datatrack is
+// empty in this case. Although this saves only 1 byte per variant
+// over vrtype 100, this actually makes a huge difference for
+// single-sample files.
+// Since this was not defined until mid-2019, the standard plink2
+// alpha-test binaries will not use this encoding. However,
+// alpha-2-final and later binaries interpret this encoding correctly.
+// If your workflow makes heavy use of single-sample .pgen files, you
+// can add -DFUTURE_ENCODER during compilation to unlock this feature.
+//
+// bit 3: multiallelic hardcalls present with alt2/alt3/... present? If yes,
+// auxiliary data track #1 disambiguates the 0b01 (ref/altx) and 0b10
+// (altx/alty, x may equal y) hardcalls. This contains a format byte,
+// followed by a list of ref/altx patches, then a list of altx/alty
+// patches. All unpatched genotypes are ref/alt1 or alt1/alt1.
+// The bottom 4 bits of the format byte describe how the ref/altx patch
+// set is stored.
+// 0 = Starts with a bitarray with bits (divide by 8
+// and round up to get byte count of this component; any trailing bits in
+// the last byte must be 0), where each set bit corresponds to presence
+// of a rarealt (i.e. alt2/alt3/...).
+// ExpandBytearr(aux1_first_quarter, all_01, raw_sample_ctl, ct_01, 0,
+// patch_01);
+// can be used to convert this into a set of sample IDs, though we may
+// want to avoid an intermediate unpacking step in practice. Note that
+// when we're passing in sample_ct < raw_sample_ct and the main datatrack
+// is LD-compressed, we'd like ldbase_raw_genovec to be cached.
+// This is followed by a packed array of fixed-width
+// values, where the width depends on the total number of alt alleles.
+// 2 alts: width ZERO. All set bits in the first bitarray correspond
+// to ref/alt2.
+// 3 alts: width 1 bit. Set bits correspond to ref/alt3, clear bits
+// correspond to ref/alt2.
+// 4-5 alts: width 2 bits. 0b00 corresponds to ref/alt2, 0b01 =
+// ref/alt3, 0b10 = ref/alt4, etc.
+// 6-17 alts: width 4 bits.
+// 18-257 alts: width 8 bits.
+// 258-65537 alts: width 16 bits.
+// 65538-16777215 alts: width 24 bits. Reasonable to prohibit more than
+// 2^24 - 1 = 16777215, since variant records are
+// limited to 4 GiB. I can imagine some
+// applications of >65534 in highly variable
+// regions, though, and it doesn't actually cost us
+// anything to define a way to represent it. (A
+// plink2 binary compiled with AlleleCode typedef'd
+// as uint32_t will run more slowly, of course, but
+// most binaries will not be compiled that way.)
+// 1 = Same as mode 0, except the initial bitarray is replaced by a difflist
+// with sample IDs. (We could make that piece somewhat smaller by
+// storing 0-based ref/altx indexes instead, but I'm pretty sure that
+// isn't worth the performance penalty of requiring all_01 and more
+// complicated unpacking. Though we'll need to peek at aux1[0] before
+// decompressing the main datatrack to exploit this.)
+// 15 = Empty patch set. Might remove this (storing this as mode 1 just
+// takes 1 more byte), but it may enable some relevant performance
+// optimizations.
+// 2-14 are reserved for future use. We don't define an efficient way to
+// represent a variant that e.g. has more alt2s than alt1s for now, since alt
+// alleles will usually be sorted in order of decreasing frequency, but maybe
+// this will matter in the future.
+//
+// The top 4 bits describe how the altx/alty patch set is stored. 0/1/15
+// have the same meaning as they do for the ref/altx patch set; the only
+// thing that changes is the format of the packed array of values at the end.
+// 2 alts: width 1. This is treated as a special case. Set bits correspond
+// to alt2/alt2, clear = alt1/alt2.
+// 3-4 alts: width 2+2 bits. Each stores , with the smaller
+// number in the lower bits. E.g. alt1/alt2 is stored as 0b0100;
+// alt3/alt3 is stored as 0b1010.
+// 5-16 alts: width 4+4 bits.
+// 17-256 alts: width 8+8 bits.
+// 257-65536 alts: width 16+16 bits.
+// 65537-16777215 alts: width 24+24 bits.
+//
+// bit 4: hardcall phased? If yes, auxiliary data track #2 contains phasing
+// information for heterozygous calls.
+// The first *bit* of the track indicates whether an explicit
+// "phasepresent" bitarray is stored. If it's set, the next het_ct bits
+// are 1-bit values, where 0 = no phasing info known, and 1 = phasing
+// info present. If it's unset, phasing info is present for every het
+// call.
+// This is followed by a "phaseinfo" bitarray, where 0 = unswapped,
+// 1 = swapped (e.g. "1|0" in VCF).
+// This track is normally unpacked into fixed-size bitarrays when
+// loaded, but a raw mode is also provided (which doesn't support
+// subsetting).
+// By default, entire chromosomes/contigs are assumed to be phased
+// together. (Todo: support contiguous phase sets.)
+//
+// bits 5-6:
+// 00 = no dosage data.
+// 01 = dosage list. Auxiliary data track #3 contains a delta-encoded list
+// of sample IDs (like a difflist, but with no genotypes). Track #4
+// contains a 16-bit (0..2^15; 65535 missing value is only permitted in
+// unconditional-dosage case) value expressing the sum of all alt allele
+// dosages. (Yes, making this the ref allele dosage would have been a
+// bit cleaner, but it's too late now.)
+// If the variant is multiallelic, nonzero alt2/alt3/... dosages are
+// likely to be sparse. So,
+// - track #5 contains a delta-encoded list describing which
+// entries are nonzero, where rarealt
+// index is in the lowest bits and sample_uidx can be computed via
+// right-shift (to avoid integer-division headaches, especially
+// important since indexes in this list can be larger than 2^32).
+// We use sample_uidx here to make subsetting less painful.
+// Since each nonzero dosage value requires 16 bits, and
+// delta-encoding of a dense list adds less than 9 bits per entry,
+// there isn't much point in supporting a dense bitarray mode here.
+// To keep memory requirements sane for biobank-scale datasets when
+// the number of alt alleles is very large, each sample is prohibited
+// from having more than 255 nonzero allele dosages (this makes no
+// difference when sizeof(AlleleCode) == 1, but it may matter later).
+// - track #6 contains the rarealt nonzero dosage values.
+// Note that this and the other dosage modes are in ADDITION to
+// hardcalls. This increases filesize by up to 12.5%, but makes the
+// reader substantially simpler; --hard-call-threshold logic is nicely
+// compartmentalized.
+// 10 = unconditional dosage (just track #4).
+// 11 = dosage bitarray. In this case, auxiliary data track #3 contains an
+// array of 1-bit values indicating which samples have dosages. If the
+// variant is multiallelic, tracks #5 and 6 are as described above.
+// bgen 1.2 format no longer permits fractional missingness, so no good
+// reason for us to support it.
+// Considered putting *all* dosage data at the end of the file (like I will
+// do for phase set info); this could actually be worthwhile for
+// unconditional dosages, but it doesn't work well when only some samples
+// have dosage data.
+// bit 7: some dosages explicitly phased? If yes, and dosages are not
+// unconditionally present, auxiliary data track #7 is a bitarray of
+// length dosage_ct indicating whether dphase_delta exists for that
+// sample. Note that this is technically independent of bit 4; either
+// can be set without the other. (However, in practice, bit 4 is almost
+// always set when bit 7 is, since that enables more efficient storage
+// of 0|0.99, 1|0.02, and similar pairs.)
+// When phased dosages are present, track #8 contains values
+// representing <(hap1 alt prob) - (hap2 alt prob)>, etc., where the
+// underlying values are represented in [0..16384] (so the signed
+// difference is in [-16384..16384]). Track #4 contains the
+// corresponding sums; parity does NOT need to match (necessary to allow
+// this since we treat omitted values as zero; and since we are allowing
+// it, no point in making parity match in other situations either). In
+// fixed-width case, -32768 should be stored in track #8 when the entire
+// call is missing, while 0 and missing-phase are considered synonymous.
+// In the biallelic case, if a hardcall is phased, a dosage is present,
+// and no explicit dosage-phase is, we define it to mean the unique
+// dphase_delta sequence with maximal absolute value, and --make-pgen
+// takes advantage of it. This definition technically works for
+// triallelic variants as well, but it breaks down with 4 alleles, so we
+// prohibit hardcall-phase + dosage + no-dosage-phase with more than 2
+// alleles.
+// In the multiallelic case, tracks #9 and #10 are analogous to #5 and
+// #6.
+//
+// Representation of variable ploidy (MT) was considered, but rejected since
+// dosages should be at least as appropriate for MT.
+// Oxford/VCF-style storage of separate probabilities for every possible
+// genotype (e.g. P(AA), P(AB), P(BB) instead of just 2P(AA) + P(AB) and
+// 2P(BB) + P(AB)) is tentatively rejected due to (i) lack of relevance to
+// PLINK's analysis functions and (ii) high storage cost where we can afford it
+// least. In principle, this is subject to reevaluation if (i) changes, but
+// given the poor interaction with phased dosages, it's probably better to just
+// think of them as permanently outside PLINK's scope.
+
+// maximum prime < 2^32 is 4294967291; quadratic hashing guarantee breaks down
+// past that divided by 2.
+CONSTI32(kPglMaxVariantCt, 0x7ffffffd);
+
+CONSTI32(kPglMaxSampleCt, 0x7ffffffe);
+
+uint64_t PglHeaderBaseEndOffset(uint32_t variant_ct, uintptr_t vrec_len_byte_ct, uint32_t phase_or_dosage_present, uint32_t explicit_nonref_flags);
+
+// Current pgen-extension API assumes .pgen extension bodies fit comfortably in
+// memory.
+// It's easy to imagine a useful extension that breaks this assumption, e.g.
+// storage of VCF FORMAT/GQ and FORMAT/DP. There's an escape hatch --
+// extensions are allowed to refer to additional files. We'll see whether that
+// proves to be enough.
+typedef struct PgenExtensionLlStruct {
+ struct PgenExtensionLlStruct* next;
+ uint64_t size;
+ unsigned char* contents;
+ uint8_t type_idx;
+} PgenExtensionLl;
+
+#ifdef __cplusplus
+} // namespace plink2
+#endif
+
+#endif // __PGENLIB_MISC_H__
diff --git a/external_libs/pgenlib/include/pgenlib_misc.o b/external_libs/pgenlib/include/pgenlib_misc.o
new file mode 100644
index 0000000..0a4ab65
Binary files /dev/null and b/external_libs/pgenlib/include/pgenlib_misc.o differ
diff --git a/external_libs/pgenlib/include/pgenlib_read.cc b/external_libs/pgenlib/include/pgenlib_read.cc
new file mode 100644
index 0000000..8c2f7a0
--- /dev/null
+++ b/external_libs/pgenlib/include/pgenlib_read.cc
@@ -0,0 +1,10547 @@
+// This library is part of PLINK 2.0, copyright (C) 2005-2024 Shaun Purcell,
+// Christopher Chang.
+//
+// This library is free software: you can redistribute it and/or modify it
+// under the terms of the GNU Lesser General Public License as published by the
+// Free Software Foundation; either version 3 of the License, or (at your
+// option) any later version.
+//
+// This library is distributed in the hope that it will be useful, but WITHOUT
+// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+// FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+// for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this library. If not, see .
+
+
+#include "pgenlib_read.h"
+
+#include
+
+#ifdef __cplusplus
+namespace plink2 {
+#endif
+
+static inline PgenReaderMain* GetPgrp(PgenReader* pgr_ptr) {
+ return &GET_PRIVATE(*pgr_ptr, m);
+}
+
+static inline const uint32_t* GetSicp(PgrSampleSubsetIndex pssi) {
+ return GET_PRIVATE(pssi, cumulative_popcounts);
+}
+
+// The subset of this codebase used by pgenlibr (which is compiled with
+// -DNO_UNALIGNED and -DPGENLIB_NOPRINT) is now subject to additional
+// restrictions. In particular:
+// - No unaligned loads/stores/pointers, or other undefined behavior.
+// - The PRI{d,u}PTR and PRI{d,u}64 printf format-specifiers cannot be used. I
+// hope to remove this restriction later, but for now they make Windows
+// compilation a clusterfuck.
+// - No exit(), or printing to stdout/stderr.
+// - No flexible array members.
+// - Not a restriction yet, but we want to properly distinguish between
+// __LP64__ and USE_SSE2.
+#ifdef USE_SSE2
+void SmallGenoarrCount3FreqIncr(const unsigned char* genoarrb_iter, uint32_t byte_ct, uint32_t* even_ctp, uint32_t* odd_ctp, uint32_t* bothset_ctp) {
+ for (uint32_t bytes_left = byte_ct; ; ) {
+ uintptr_t cur_geno_word;
+ if (bytes_left < kBytesPerWord) {
+ if (!bytes_left) {
+ return;
+ }
+ cur_geno_word = ProperSubwordLoad(genoarrb_iter, bytes_left);
+ bytes_left = 0;
+ } else {
+ CopyFromUnalignedIncrW(&cur_geno_word, &genoarrb_iter);
+ bytes_left -= kBytesPerWord;
+ }
+ const uintptr_t cur_geno_word_high = kMask5555 & (cur_geno_word >> 1);
+ *even_ctp += Popcount01Word(cur_geno_word & kMask5555);
+ *odd_ctp += Popcount01Word(cur_geno_word_high);
+ *bothset_ctp += Popcount01Word(cur_geno_word & cur_geno_word_high);
+ }
+}
+#endif
+
+void GenoarrbCountFreqs(const unsigned char* genoarrb, uint32_t sample_ct, STD_ARRAY_REF(uint32_t, 4) genocounts) {
+ // does not read past the end of genoarrb
+ uint32_t even_ct = 0;
+ uint32_t odd_ct = 0;
+ uint32_t bothset_ct = 0;
+#ifndef USE_SSE2
+ const uintptr_t* geno_firstw_start;
+ const uint32_t lead_byte_ct = AlignKToW(genoarrb, &geno_firstw_start);
+ uint32_t byte_ct = NypCtToByteCt(sample_ct);
+ uintptr_t cur_geno_word;
+ uint32_t fullword_ct;
+ uint32_t trail_byte_ct;
+ if (lead_byte_ct) {
+ if (lead_byte_ct >= byte_ct) {
+ cur_geno_word = ProperSubwordLoad(genoarrb, byte_ct);
+ goto GenoarrbCountFreqsLastWord;
+ }
+ cur_geno_word = ProperSubwordLoad(genoarrb, lead_byte_ct);
+ const uintptr_t cur_geno_word_high = kMask5555 & (cur_geno_word >> 1);
+ even_ct += Popcount01Word(cur_geno_word & kMask5555);
+ odd_ct += Popcount01Word(cur_geno_word_high);
+ bothset_ct += Popcount01Word(cur_geno_word & cur_geno_word_high);
+ byte_ct -= lead_byte_ct;
+ }
+ fullword_ct = byte_ct / kBytesPerWord;
+ for (uint32_t widx = 0; widx != fullword_ct; ++widx) {
+ cur_geno_word = geno_firstw_start[widx];
+ const uintptr_t cur_geno_word_high = kMask5555 & (cur_geno_word >> 1);
+ even_ct += Popcount01Word(cur_geno_word & kMask5555);
+ odd_ct += Popcount01Word(cur_geno_word_high);
+ bothset_ct += Popcount01Word(cur_geno_word & cur_geno_word_high);
+ }
+ trail_byte_ct = byte_ct % kBytesPerWord;
+ if (trail_byte_ct) {
+ cur_geno_word = ProperSubwordLoad(&(geno_firstw_start[fullword_ct]), trail_byte_ct);
+ GenoarrbCountFreqsLastWord:
+ const uintptr_t cur_geno_word_high = kMask5555 & (cur_geno_word >> 1);
+ even_ct += Popcount01Word(cur_geno_word & kMask5555);
+ odd_ct += Popcount01Word(cur_geno_word_high);
+ bothset_ct += Popcount01Word(cur_geno_word & cur_geno_word_high);
+ }
+#else // USE_SSE2
+ const uint32_t lead_byte_ct = (-R_CAST(uintptr_t, genoarrb)) % kBytesPerVec;
+ const unsigned char* genoarrb_iter;
+ uint32_t trail_ct;
+ if (sample_ct >= lead_byte_ct * 4 + (6 * kNypsPerVec)) {
+ // Only enter this branch if we can execute at least one iteration of the
+ // main vectorized loop.
+ const uint32_t remaining_sample_ct = sample_ct - 4 * lead_byte_ct;
+ SmallGenoarrCount3FreqIncr(genoarrb, lead_byte_ct, &even_ct, &odd_ct, &bothset_ct);
+ genoarrb_iter = &(genoarrb[lead_byte_ct]); // now vector-aligned
+ const uint32_t remaining_full_vec_ct = remaining_sample_ct / kNypsPerVec;
+ uint32_t even_ct_incr;
+ uint32_t odd_ct_incr;
+ uint32_t bothset_ct_incr;
+ const uint32_t vec_ct = remaining_full_vec_ct - (remaining_full_vec_ct % 6);
+ Count3FreqVec6(genoarrb_iter, vec_ct, &even_ct_incr, &odd_ct_incr, &bothset_ct_incr);
+ even_ct += even_ct_incr;
+ odd_ct += odd_ct_incr;
+ bothset_ct += bothset_ct_incr;
+ genoarrb_iter = &(genoarrb_iter[kBytesPerVec * vec_ct]);
+ trail_ct = remaining_sample_ct - (vec_ct * kNypsPerVec);
+ } else {
+ genoarrb_iter = genoarrb;
+ trail_ct = sample_ct;
+ }
+ const uint32_t trail_byte_ct = NypCtToByteCt(trail_ct);
+ SmallGenoarrCount3FreqIncr(genoarrb_iter, trail_byte_ct, &even_ct, &odd_ct, &bothset_ct);
+#endif
+ genocounts[0] = sample_ct + bothset_ct - even_ct - odd_ct;
+ genocounts[1] = even_ct - bothset_ct;
+ genocounts[2] = odd_ct - bothset_ct;
+ genocounts[3] = bothset_ct;
+}
+
+void GenoarrbCountSubsetFreqs(const unsigned char* genoarrb, const uintptr_t* __restrict sample_include_interleaved_vec, uint32_t raw_sample_ct, uint32_t sample_ct, STD_ARRAY_REF(uint32_t, 4) genocounts) {
+ // does not read past the end of genoarrb
+ const uint32_t raw_sample_ctv2 = NypCtToVecCt(raw_sample_ct);
+ uint32_t even_ct;
+ uint32_t odd_ct;
+ uint32_t bothset_ct;
+ uint32_t vec_idx = raw_sample_ctv2 - (raw_sample_ctv2 % 6);
+ CountSubset3FreqVec6(genoarrb, R_CAST(const VecW*, sample_include_interleaved_vec), vec_idx, &even_ct, &odd_ct, &bothset_ct);
+ const unsigned char* genoarrb_iter = &(genoarrb[kBytesPerVec * vec_idx]);
+#ifdef __LP64__
+ const uintptr_t* interleaved_mask_iter = &(sample_include_interleaved_vec[vec_idx * (kWordsPerVec / 2)]);
+#else
+ // bugfix (19 Jul 2018): (kWordsPerVec / 2) doesn't work in 32-bit case
+ const uintptr_t* interleaved_mask_iter = &(sample_include_interleaved_vec[(vec_idx * kWordsPerVec) / 2]);
+#endif
+#ifdef USE_AVX2
+ const uint32_t halfvec_idx_trail = (raw_sample_ct + 3) / (kBitsPerVec / 4);
+ uintptr_t mask_base1 = 0;
+ uintptr_t mask_base2 = 0;
+ uintptr_t mask_base3 = 0;
+ uintptr_t mask_base4 = 0;
+ for (; vec_idx != raw_sample_ctv2; ++vec_idx) {
+ uintptr_t mask_word1;
+ uintptr_t mask_word2;
+ uintptr_t mask_word3;
+ uintptr_t mask_word4;
+ if (!(vec_idx % 2)) {
+ mask_base1 = *interleaved_mask_iter++;
+ mask_base2 = *interleaved_mask_iter++;
+ mask_base3 = *interleaved_mask_iter++;
+ mask_base4 = *interleaved_mask_iter++;
+ mask_word1 = mask_base1 & kMask5555;
+ mask_word2 = mask_base2 & kMask5555;
+ mask_word3 = mask_base3 & kMask5555;
+ mask_word4 = mask_base4 & kMask5555;
+ } else {
+ mask_word1 = (mask_base1 >> 1) & kMask5555;
+ mask_word2 = (mask_base2 >> 1) & kMask5555;
+ mask_word3 = (mask_base3 >> 1) & kMask5555;
+ mask_word4 = (mask_base4 >> 1) & kMask5555;
+ }
+ uint32_t vechalf_idx = 0;
+ while (1) {
+ uintptr_t cur_geno_word1;
+ uintptr_t cur_geno_word2;
+ if (2 * vec_idx + vechalf_idx < halfvec_idx_trail) {
+ CopyFromUnalignedIncrW(&cur_geno_word1, &genoarrb_iter);
+ CopyFromUnalignedIncrW(&cur_geno_word2, &genoarrb_iter);
+ } else {
+ // bugfix (19 May 2022): this was in 0..31 when it needed to be in
+ // 0..15
+ const uint32_t remaining_byte_ct = NypCtToByteCt(raw_sample_ct) % (kBytesPerVec / 2);
+ // todo: check if this harms usual-case loop efficiency
+ vechalf_idx = 1;
+ if (remaining_byte_ct < kBytesPerWord) {
+ cur_geno_word1 = ProperSubwordLoad(genoarrb_iter, remaining_byte_ct);
+ cur_geno_word2 = 0;
+ } else {
+ CopyFromUnalignedIncrW(&cur_geno_word1, &genoarrb_iter);
+ cur_geno_word2 = ProperSubwordLoad(genoarrb_iter, remaining_byte_ct - kBytesPerWord);
+ }
+ }
+ const uintptr_t cur_geno_word1_high_masked = mask_word1 & (cur_geno_word1 >> 1);
+ const uintptr_t cur_geno_word2_high_masked = mask_word2 & (cur_geno_word2 >> 1);
+ even_ct += PopcountWord(((cur_geno_word1 & mask_word1) << 1) | (cur_geno_word2 & mask_word2));
+ odd_ct += PopcountWord((cur_geno_word1_high_masked << 1) | cur_geno_word2_high_masked);
+ bothset_ct += PopcountWord(((cur_geno_word1 & cur_geno_word1_high_masked) << 1) | (cur_geno_word2 & cur_geno_word2_high_masked));
+ if (vechalf_idx) {
+ break;
+ }
+ ++vechalf_idx;
+ mask_word1 = mask_word3;
+ mask_word2 = mask_word4;
+ }
+ }
+#else // not USE_AVX2
+ const uint32_t vec_idx_trail = (raw_sample_ct + 3) / kNypsPerVec;
+# ifdef USE_SSE2
+ uintptr_t mask_base1 = 0;
+ uintptr_t mask_base2 = 0;
+ for (; vec_idx != raw_sample_ctv2; ++vec_idx) {
+ uintptr_t mask_word1;
+ uintptr_t mask_word2;
+ if (!(vec_idx % 2)) {
+ mask_base1 = *interleaved_mask_iter++;
+ mask_base2 = *interleaved_mask_iter++;
+ mask_word1 = mask_base1 & kMask5555;
+ mask_word2 = mask_base2 & kMask5555;
+ } else {
+ mask_word1 = (mask_base1 >> 1) & kMask5555;
+ mask_word2 = (mask_base2 >> 1) & kMask5555;
+ }
+ uintptr_t cur_geno_word1;
+ uintptr_t cur_geno_word2;
+ if (vec_idx < vec_idx_trail) {
+ CopyFromUnalignedIncrW(&cur_geno_word1, &genoarrb_iter);
+ CopyFromUnalignedIncrW(&cur_geno_word2, &genoarrb_iter);
+ } else {
+ const uint32_t remaining_byte_ct = NypCtToByteCt(raw_sample_ct) % kBytesPerVec;
+ if (remaining_byte_ct < kBytesPerWord) {
+ cur_geno_word1 = ProperSubwordLoad(genoarrb_iter, remaining_byte_ct);
+ cur_geno_word2 = 0;
+ } else {
+ CopyFromUnalignedIncrW(&cur_geno_word1, &genoarrb_iter);
+ cur_geno_word2 = ProperSubwordLoad(genoarrb_iter, remaining_byte_ct - kBytesPerWord);
+ }
+ }
+ const uintptr_t cur_geno_word1_high_masked = mask_word1 & (cur_geno_word1 >> 1);
+ const uintptr_t cur_geno_word2_high_masked = mask_word2 & (cur_geno_word2 >> 1);
+# ifdef USE_SSE42
+ even_ct += PopcountWord(((cur_geno_word1 & mask_word1) << 1) | (cur_geno_word2 & mask_word2));
+ odd_ct += PopcountWord((cur_geno_word1_high_masked << 1) | cur_geno_word2_high_masked);
+ bothset_ct += PopcountWord(((cur_geno_word1 & cur_geno_word1_high_masked) << 1) | (cur_geno_word2 & cur_geno_word2_high_masked));
+# else
+ even_ct += NypsumWord((cur_geno_word1 & mask_word1) + (cur_geno_word2 & mask_word2));
+ odd_ct += NypsumWord(cur_geno_word1_high_masked + cur_geno_word2_high_masked);
+ bothset_ct += NypsumWord((cur_geno_word1 & cur_geno_word1_high_masked) + (cur_geno_word2 & cur_geno_word2_high_masked));
+# endif
+ }
+# else // not USE_SSE2
+ uintptr_t mask_base = 0;
+ for (; vec_idx != raw_sample_ctv2; ++vec_idx) {
+ uintptr_t mask_word;
+ if (!(vec_idx % 2)) {
+ mask_base = *interleaved_mask_iter++;
+ mask_word = mask_base & kMask5555;
+ } else {
+ mask_word = (mask_base >> 1) & kMask5555;
+ }
+ uintptr_t cur_geno_word;
+ if (vec_idx < vec_idx_trail) {
+ CopyFromUnalignedIncrW(&cur_geno_word, &genoarrb_iter);
+ } else {
+ const uint32_t remaining_byte_ct = NypCtToByteCt(raw_sample_ct) % kBytesPerVec;
+ cur_geno_word = ProperSubwordLoad(genoarrb_iter, remaining_byte_ct);
+ }
+ const uintptr_t cur_geno_word_high_masked = mask_word & (cur_geno_word >> 1);
+ even_ct += Popcount01Word(cur_geno_word & mask_word);
+ odd_ct += Popcount01Word(cur_geno_word_high_masked);
+ bothset_ct += Popcount01Word(cur_geno_word & cur_geno_word_high_masked);
+ }
+# endif // not USE_SSE2
+#endif // not USE_AVX2
+ genocounts[0] = sample_ct + bothset_ct - even_ct - odd_ct;
+ genocounts[1] = even_ct - bothset_ct;
+ genocounts[2] = odd_ct - bothset_ct;
+ genocounts[3] = bothset_ct;
+}
+
+void GenoarrCountFreqs(const uintptr_t* genoarr, uint32_t sample_ct, STD_ARRAY_REF(uint32_t, 4) genocounts) {
+ // this masks out trailing genoarr bits
+ const uint32_t sample_ct_remainder = sample_ct % kBitsPerWordD2;
+ GenoarrCountFreqsUnsafe(genoarr, sample_ct - sample_ct_remainder, genocounts);
+ if (sample_ct_remainder) {
+ uintptr_t cur_geno_word = bzhi(genoarr[sample_ct / kBitsPerWordD2], 2 * sample_ct_remainder);
+ const uintptr_t cur_geno_word_high = kMask5555 & (cur_geno_word >> 1);
+ const uint32_t even_ct = Popcount01Word(cur_geno_word & kMask5555);
+ const uint32_t odd_ct = Popcount01Word(cur_geno_word_high);
+ const uint32_t bothset_ct = Popcount01Word(cur_geno_word & cur_geno_word_high);
+ genocounts[0] += sample_ct_remainder + bothset_ct - even_ct - odd_ct;
+ genocounts[1] += even_ct - bothset_ct;
+ genocounts[2] += odd_ct - bothset_ct;
+ genocounts[3] += bothset_ct;
+ }
+}
+
+void GenovecNonmissingToZeroUnsafe(uint32_t sample_ct, uintptr_t* genovec) {
+ // sets 1 and 2 to zero; leaves 3s untouched.
+ const uint32_t vec_ct = NypCtToVecCt(sample_ct);
+ assert(IsVecAligned(genovec));
+ const VecW m1 = VCONST_W(kMask5555);
+ VecW* vptr = R_CAST(VecW*, genovec);
+ for (uint32_t vidx = 0; vidx != vec_ct; ++vidx) {
+ VecW cur_vec = vptr[vidx];
+ const VecW cur_vec_rshifted = vecw_srli(cur_vec, 1);
+ cur_vec = cur_vec & m1;
+ cur_vec = cur_vec & cur_vec_rshifted;
+ vptr[vidx] = cur_vec | vecw_slli(cur_vec, 1);
+ }
+}
+
+void GenovecNonzeroToMissingUnsafe(uint32_t sample_ct, uintptr_t* genovec) {
+ // converts 1s and 2s to 3s, leaves zeroes untouched.
+ const uint32_t vec_ct = NypCtToVecCt(sample_ct);
+ assert(IsVecAligned(genovec));
+ const VecW m1 = VCONST_W(kMask5555);
+ VecW* vptr = R_CAST(VecW*, genovec);
+ for (uint32_t vidx = 0; vidx != vec_ct; ++vidx) {
+ VecW cur_vec = vptr[vidx];
+ const VecW cur_vec_rshifted = vecw_srli(cur_vec, 1);
+ cur_vec = cur_vec | cur_vec_rshifted;
+ cur_vec = cur_vec & m1;
+ vptr[vidx] = cur_vec | vecw_slli(cur_vec, 1);
+ }
+}
+
+void GenovecNontwoToMissingUnsafe(uint32_t sample_ct, uintptr_t* genovec) {
+ // 0 -> 3, 1 -> 3.
+ const uint32_t vec_ct = NypCtToVecCt(sample_ct);
+ assert(IsVecAligned(genovec));
+ const VecW not_m1 = VCONST_W(kMaskAAAA);
+ VecW* vptr = R_CAST(VecW*, genovec);
+ for (uint32_t vidx = 0; vidx != vec_ct; ++vidx) {
+ const VecW cur_vec = vptr[vidx];
+ const VecW cur_vec_hi = vecw_and_notfirst(cur_vec, not_m1);
+ const VecW cur_or = cur_vec_hi | vecw_srli(cur_vec_hi, 1);
+ vptr[vidx] = cur_vec | cur_or;
+ }
+}
+
+void GenovecNonzeroToMissingThenInvertUnsafe(uint32_t sample_ct, uintptr_t* genovec) {
+ // 0 -> 2, 1 -> 3, 2 -> 3
+ const uint32_t vec_ct = NypCtToVecCt(sample_ct);
+ assert(IsVecAligned(genovec));
+ const VecW not_m1 = VCONST_W(kMaskAAAA);
+ VecW* vptr = R_CAST(VecW*, genovec);
+ for (uint32_t vidx = 0; vidx != vec_ct; ++vidx) {
+ const VecW cur_vec = vptr[vidx];
+ vptr[vidx] = cur_vec | vecw_srli(cur_vec, 1) | not_m1;
+ }
+}
+
+void GenovecInvertThenNonzeroToMissingUnsafe(uint32_t sample_ct, uintptr_t* genovec) {
+ // 0 -> 3, 1 -> 3, 2 -> 0
+ const uint32_t vec_ct = NypCtToVecCt(sample_ct);
+ assert(IsVecAligned(genovec));
+ const VecW m1 = VCONST_W(kMask5555);
+ VecW* vptr = R_CAST(VecW*, genovec);
+ for (uint32_t vidx = 0; vidx != vec_ct; ++vidx) {
+ const VecW cur_vec = vptr[vidx];
+ const VecW cur_vec_rshifted = vecw_srli(cur_vec, 1);
+ const VecW not2 = vecw_and_notfirst(vecw_and_notfirst(cur_vec, cur_vec_rshifted), m1);
+ vptr[vidx] = not2 | vecw_slli(not2, 1);
+ }
+}
+
+double BiallelicDiploidMinimac3R2(uint64_t alt1_dosage, uint64_t hap_alt1_ssq_x2, uint32_t nm_sample_ct) {
+ if (!nm_sample_ct) {
+ return (0.0 / 0.0);
+ }
+
+ const uint64_t nm_sample_ct_x32768 = nm_sample_ct * 0x8000LLU;
+ if (nm_sample_ct < 131072) {
+ const uint64_t alt1_dosage_sq = alt1_dosage * alt1_dosage;
+ const uint64_t observed_variance_times_2n = hap_alt1_ssq_x2 * nm_sample_ct - alt1_dosage * alt1_dosage;
+ const uint64_t expected_variance_times_2n = nm_sample_ct_x32768 * alt1_dosage - alt1_dosage_sq;
+ return S_CAST(double, observed_variance_times_2n) / S_CAST(double, expected_variance_times_2n);
+ }
+ // Need to avoid catastrophic cancellation here.
+ const double alt1_dosaged = u63tod(alt1_dosage);
+ const double expected_variance_times_2n = alt1_dosaged * u63tod(nm_sample_ct_x32768 - alt1_dosage);
+ const uint64_t hap_alt1_ssq_x2_hi = hap_alt1_ssq_x2 >> 32;
+ uint64_t left_lo = (hap_alt1_ssq_x2 & 0xffffffffLLU) * nm_sample_ct;
+ const uint64_t left_hi = (left_lo >> 32) + hap_alt1_ssq_x2_hi * nm_sample_ct;
+ left_lo &= 0xffffffffU;
+ const uint64_t alt1_dosage_lo = alt1_dosage & 0xffffffffLLU;
+ const uint64_t alt1_dosage_hi = alt1_dosage >> 32;
+ uint64_t right_lo = alt1_dosage_lo * alt1_dosage_lo;
+ const uint64_t right_hi = (right_lo >> 32) + (alt1_dosage_lo + alt1_dosage) * alt1_dosage_hi;
+ right_lo &= 0xffffffffU;
+ const double observed_variance_times_2n_hi = u63tod(left_hi - right_hi);
+ const int64_t observed_variance_times_2n_lo = S_CAST(int64_t, left_lo) - S_CAST(int64_t, right_lo);
+ const double observed_variance_times_2n = (observed_variance_times_2n_hi * 4294967296.0) + observed_variance_times_2n_lo;
+ return observed_variance_times_2n / expected_variance_times_2n;
+}
+
+// These two functions do not overread, but may write extra bytes up to the
+// word boundary.
+// They are likely to be moved to plink2_bits.
+// bugfix (30 Oct 2023): given how we use this function, we have to drop the
+// vector-alignment requirement for dst.
+void Expand2bitTo8(const void* __restrict bytearr, uint32_t input_nyp_ct, uint32_t incr, void* __restrict dst) {
+ // Tried adding incr == 0 fast path, negligible performance difference in
+ // benchmark.
+ // GenoarrLookup256x1bx4 takes ~3-4x as long.
+ uint32_t input_byte_ct = DivUp(input_nyp_ct, 4);
+#ifdef USE_SSE2
+ const unsigned char* src_iter = S_CAST(const unsigned char*, bytearr);
+ const uint32_t input_vec_ct = input_byte_ct / kBytesPerVec;
+ uintptr_t* dst_iter = S_CAST(uintptr_t*, dst);
+ if (input_vec_ct) {
+ const VecW mincr = VecUcToW(vecuc_set1(incr));
+ const VecW m03 = VCONST_W(kMask0303);
+ for (uint32_t vec_idx = 0; vec_idx != input_vec_ct; ++vec_idx) {
+ VecW cur_vec = vecw_loadu(src_iter);
+ src_iter = &(src_iter[kBytesPerVec]);
+# ifdef USE_AVX2
+ // (todo: benchmark against just reading 8 bytes at a time and
+ // broadcasting.)
+ // midswapped_vec contains {0-1-2-3, 4-5-6-7, ..., 12-13-14-15,
+ // 32-33-34-35, ..., 44-45-46-47,
+ // 16-17-18-19, ..., 28-29-30-31,
+ // 48-49-50-51, ..., 60-61-62-63,
+ // 64-65-66-67, ..., 76-77-78-79,
+ // 96-97-98-99, ..., 108-109-110-111,
+ // 80-81-82-83, ..., 92-93-94-95,
+ // 112-113-114-115, ..., 124-125-126-127}
+ // 0xd8: {0, 2, 1, 3}
+ const __m256i midswapped_vec = _mm256_shuffle_epi32(WToVec(cur_vec), 0xd8);
+ // This operation is also used in FillInterleavedMaskVec().
+ // cur_vec now contains {0-1-2-3, 4-5-6-7, 8-9-10-11, 12-13-14-15,
+ // 32-33-34-35, ..., 44-45-46-47,
+ // 64-65-66-67, ..., 76-77-78-79,
+ // 96-97-98-99, ..., 108-109-110-111,
+ // 16-17-18-19, ..., 28-29-30-31,
+ // 48-49-50-51, ..., 60-61-62-63,
+ // 80-81-82-83, ..., 92-93-94-95,
+ // 112-113-114-115, ..., 124-125-126-127}
+ cur_vec = vecw_permute0xd8_if_avx2(VecToW(midswapped_vec));
+# endif
+ // AVX2:
+ // vec_even contains {0-1, 4-5, 8-9, 12-13, 32-33, ..., 44-45,
+ // 64-65, ..., 76-77, 96-97, ..., 108-109,
+ // 16-17, ..., 28-29, 48-49, ..., 60-61,
+ // 80-81, ..., 92-93, 112-113, ..., 124-125}
+ // vec_odd contains {2-3, 6-7, 10-11, 14-15, 34-35, ..., 46-47,
+ // 66-67, ..., 78-79, 98-99, ..., 110-111,
+ // 18-19, ..., 30-31, 50-51, ..., 62-63,
+ // 82-83, ..., 94-95, 114-115, ..., 126-127}
+ // SSE2:
+ // vec_even contains {0-1, 4-5, 8-9, ..., 60-61}
+ // vec_odd contains {2-3, 6-7, 10-11, ..., 62-63}
+ const VecW vec_even = cur_vec;
+ const VecW vec_odd = vecw_srli(cur_vec, 4);
+
+ // AVX2:
+ // vec01 contains {0-1, 2-3, 4-5, ..., 14-15, 32-33, ..., 46-47,
+ // 16-17, ..., 30-31, 48-49, ..., 62-63}
+ // vec23 contains {64-65, 66-67, ..., 78-79, 96-97, ..., 110-111,
+ // 80-81, ..., 94-95, 112-113, ..., 126-127}
+ // SSE2:
+ // vec01 contains {0-1, 2-3, 4-5, 6-7, ..., 30-31}
+ // vec23 contains {32-33, 34-35, 36-37, 38-39, ..., 62-63}
+ // There's no m4 masking here, so we don't use vecw_lo_and_hi_nybbles.
+ const VecW vec01 = vecw_unpacklo8(vec_even, vec_odd);
+ const VecW vec23 = vecw_unpackhi8(vec_even, vec_odd);
+
+ // AVX2:
+ // vec01_even contains {0, 2, 4, ..., 14, 32, 34, ..., 46,
+ // 16, 18, ..., 30, 48, 50, ..., 62}
+ // vec01_odd contains {1, 3, 5, ..., 15, 33, 35, ..., 47,
+ // 17, 19, ..., 31, 49, 51, ..., 63}
+ // SSE2:
+ // vec01_even contains {0, 2, 4, 6, ..., 30}
+ // vec01_odd contains {1, 3, 5, 7, ..., 31}
+ const VecW vec01_even = vec01 & m03;
+ const VecW vec01_odd = vecw_srli(vec01, 2) & m03;
+
+ // AVX2:
+ // vecw_unpacklo8() contains {0, 1, ..., 15, 16, ..., 31}
+ // vecw_unpachhi8() contains {32, 33, ..., 47, 48, ..., 63}
+ // SSE2:
+ // vecw_unpacklo8() contains {0, 1, ..., 15}
+ // vecw_unpachhi8() contains {16, 17, ..., 31}
+ vecw_storeu(dst_iter, mincr + vecw_unpacklo8(vec01_even, vec01_odd));
+ dst_iter = &(dst_iter[kWordsPerVec]);
+ vecw_storeu(dst_iter, mincr + vecw_unpackhi8(vec01_even, vec01_odd));
+ dst_iter = &(dst_iter[kWordsPerVec]);
+ const VecW vec23_odd = vecw_srli(vec23, 2) & m03;
+ const VecW vec23_even = vec23 & m03;
+ vecw_storeu(dst_iter, mincr + vecw_unpacklo8(vec23_even, vec23_odd));
+ dst_iter = &(dst_iter[kWordsPerVec]);
+ vecw_storeu(dst_iter, mincr + vecw_unpackhi8(vec23_even, vec23_odd));
+ dst_iter = &(dst_iter[kWordsPerVec]);
+ }
+ }
+ input_byte_ct = input_byte_ct % kBytesPerVec;
+ if (!input_byte_ct) {
+ return;
+ }
+ const unsigned char* src_uc = src_iter;
+ uintptr_t* dstw = dst_iter;
+#else // !USE_SSE2
+ const unsigned char* src_uc = S_CAST(const unsigned char*, bytearr);
+ uintptr_t* dstw = S_CAST(uintptr_t*, dst);
+#endif
+ const uint32_t full_qw_ct = input_byte_ct / sizeof(Quarterword);
+ const uintptr_t incr_word = kMask0101 * incr;
+ for (uint32_t uii = 0; uii != full_qw_ct; ++uii) {
+ Quarterword cur_qw;
+ CopyFromUnalignedOffsetQW(&cur_qw, src_uc, uii);
+ dstw[uii] = incr_word + Unpack0303(cur_qw);
+ }
+#ifdef __LP64__
+ if (input_byte_ct % 2) {
+ uintptr_t cur_byte = src_uc[input_byte_ct - 1];
+# ifdef USE_AVX2
+ cur_byte = _pdep_u64(cur_byte, kMask0303);
+# else
+ cur_byte = cur_byte | (cur_byte << 12);
+ cur_byte = (cur_byte | (cur_byte << 6)) & kMask0303;
+# endif
+ dstw[full_qw_ct] = incr_word + cur_byte;
+ }
+#endif
+}
+
+void Expand4bitTo8(const void* __restrict bytearr, uint32_t input_nybble_ct, uint32_t incr, void* __restrict dst) {
+ // Tried adding incr == 0 fast path, negligible performance difference in
+ // benchmark.
+#ifdef USE_SSE2
+ uint32_t input_byte_ct = DivUp(input_nybble_ct, 2);
+ const unsigned char* src_iter = S_CAST(const unsigned char*, bytearr);
+ const uint32_t input_vec_ct = input_byte_ct / kBytesPerVec;
+ uintptr_t* dst_iter = S_CAST(uintptr_t*, dst);
+ if (input_vec_ct) {
+ const VecW mincr = VecUcToW(vecuc_set1(incr));
+ const VecW m4 = VCONST_W(kMask0F0F);
+ for (uint32_t vec_idx = 0; vec_idx != input_vec_ct; ++vec_idx) {
+ const VecW cur_vec = vecw_loadu(src_iter);
+ src_iter = &(src_iter[kBytesPerVec]);
+ VecW vec_lo;
+ VecW vec_hi;
+ vecw_lo_and_hi_nybbles(cur_vec, m4, &vec_lo, &vec_hi);
+ vecw_storeu(dst_iter, mincr + vec_lo);
+ dst_iter = &(dst_iter[kWordsPerVec]);
+ vecw_storeu(dst_iter, mincr + vec_hi);
+ dst_iter = &(dst_iter[kWordsPerVec]);
+ }
+ }
+ input_byte_ct = input_byte_ct % kBytesPerVec;
+ if (!input_byte_ct) {
+ return;
+ }
+ const unsigned char* src_uc = src_iter;
+ uintptr_t* dstw = dst_iter;
+#else
+ if (!input_nybble_ct) {
+ return;
+ }
+ const unsigned char* src_uc = S_CAST(const unsigned char*, bytearr);
+ uintptr_t* dstw = S_CAST(uintptr_t*, dst);
+ const uint32_t input_byte_ct = DivUp(input_nybble_ct, 2);
+#endif
+ const uint32_t hw_ct_m1 = (input_byte_ct - 1) / sizeof(Halfword);
+ const uintptr_t incr_word = kMask0101 * incr;
+ for (uint32_t hwidx = 0; ; ++hwidx) {
+ Halfword cur_hw;
+ if (hwidx >= hw_ct_m1) {
+ if (hwidx > hw_ct_m1) {
+ break;
+ }
+ cur_hw = SubHWLoad(&(src_uc[hwidx * sizeof(Halfword)]), ModNz(input_byte_ct, sizeof(Halfword)));
+ } else {
+ CopyFromUnalignedOffsetHW(&cur_hw, src_uc, hwidx);
+ }
+ dstw[hwidx] = incr_word + Unpack0F0F(cur_hw);
+ }
+}
+
+void PreinitPgfi(PgenFileInfo* pgfip) {
+ pgfip->shared_ff = nullptr;
+ pgfip->pgi_ff = nullptr;
+ pgfip->block_base = nullptr;
+ // we want this for proper handling of e.g. sites-only VCFs
+ pgfip->nonref_flags = nullptr;
+}
+
+uintptr_t CountPgfiAllocCachelinesRequired(uint32_t raw_variant_ct) {
+ // assumes variable-width variant records, otherwise pgfi.vrtypes and
+ // pgfi.vr_fpos can just be nullptr.
+
+ // vrtypes: 1 byte per entry, (raw_variant_ct + 1) entries
+ uintptr_t cachelines_required = 1 + (raw_variant_ct / kCacheline);
+
+ // var_fpos: 8 bytes per entry, (raw_variant_ct + 1) entries
+ cachelines_required += 1 + (raw_variant_ct / kInt64PerCacheline);
+ return cachelines_required;
+}
+
+uintptr_t CountPgrAllocCachelinesRequired(uint32_t raw_sample_ct, PgenGlobalFlags gflags, uint32_t max_allele_ct, uint32_t fread_buf_byte_ct) {
+ // ldbase_raw_genovec: always needed, 2 bits per entry, up to raw_sample_ct
+ // entries
+ const uint32_t genovec_cacheline_req = NypCtToCachelineCt(raw_sample_ct);
+ const uint32_t bitvec_cacheline_req = BitCtToCachelineCt(raw_sample_ct);
+ uintptr_t cachelines_required = genovec_cacheline_req;
+ // fread_buf. DivUp() won't overflow since fread_buf_byte_ct requirement
+ // can't exceed kPglMaxBytesPerVariant, which is sufficiently far from 2^32.
+ cachelines_required += DivUp(fread_buf_byte_ct, kCacheline);
+
+ const uint32_t ld_compression_present = (gflags / kfPgenGlobalLdCompressionPresent) & 1;
+ const uint32_t max_difflist_entry_ct_base = (raw_sample_ct / kPglMaxDifflistLenDivisor);
+ if ((gflags & kfPgenGlobalDifflistOrLdPresent) || (max_allele_ct > 2)) {
+ // workspace_difflist_sample_ids
+ // bugfix: must add 1 since several routines add a terminator element
+ cachelines_required += 1 + (max_difflist_entry_ct_base / kInt32PerCacheline);
+ }
+ if (gflags & kfPgenGlobalDifflistOrLdPresent) {
+ // const uint32_t max_difflist_entry_ct = max_difflist_entry_ct_base * (1 + ld_compression_present);
+ // workspace_raregeno_vec
+ cachelines_required += NypCtToCachelineCt(max_difflist_entry_ct_base);
+
+ // workspace_raregeno_tmp_loadbuf
+ cachelines_required += NypCtToCachelineCt(max_difflist_entry_ct_base);
+
+ if (ld_compression_present) {
+ // ldbase_genovec
+ cachelines_required += genovec_cacheline_req;
+
+ // ldbase_raregeno
+ cachelines_required += NypCtToCachelineCt(max_difflist_entry_ct_base);
+
+ // ldbase_difflist_sample_ids
+ cachelines_required += 1 + (max_difflist_entry_ct_base / kInt32PerCacheline);
+ }
+ }
+ const PgenGlobalFlags gflags_hphase_dosage = gflags & (kfPgenGlobalHardcallPhasePresent | kfPgenGlobalDosagePresent);
+ if ((max_allele_ct > 2) || gflags_hphase_dosage) {
+ cachelines_required += genovec_cacheline_req; // workspace_vec
+ if (max_allele_ct > 2) {
+ // workspace_aux1x_present
+ cachelines_required += bitvec_cacheline_req;
+ // workspace_imp_r2
+ cachelines_required += Int64CtToCachelineCt(2 * max_allele_ct);
+ }
+ if (gflags & kfPgenGlobalHardcallPhasePresent) {
+ // workspace_all_hets, workspace_subset
+ cachelines_required += bitvec_cacheline_req * 2;
+ }
+ if (gflags & kfPgenGlobalDosagePresent) {
+ // aux track #3: usually bitarray tracking which samples have dosage info
+ // (may be stored on disk as a dosage list)
+ cachelines_required += bitvec_cacheline_req;
+ if (gflags & kfPgenGlobalDosagePhasePresent) {
+ // aux track #7: bitarray tracking which dosage entries are phased
+ cachelines_required += bitvec_cacheline_req;
+
+ // phased aux tracks #4,8: 2 bytes per sample
+ // There may be overflow risk here in the future.
+ // (commented out since caller always provides this buffer for now)
+ // cachelines_required += DivUp(2 * k1LU * raw_sample_ct, kCacheline);
+ }
+ // unphased aux track #4: 2 bytes per sample
+ // cachelines_required += DivUp(2 * k1LU * raw_sample_ct, kCacheline);
+
+ // may need deltalist64 workspace in multiallelic dosage case
+ }
+ }
+ return cachelines_required;
+}
+
+static_assert(kPglMaxAlleleCt == 255, "Need to update PgfiInitPhase1().");
+PglErr PgfiInitPhase1(const char* fname, const char* pgi_fname, uint32_t raw_variant_ct, uint32_t raw_sample_ct, PgenHeaderCtrl* header_ctrl_ptr, PgenFileInfo* pgfip, uintptr_t* pgfi_alloc_cacheline_ct_ptr, char* errstr_buf) {
+ pgfip->var_fpos = nullptr;
+ pgfip->vrtypes = nullptr;
+ pgfip->allele_idx_offsets = nullptr;
+ pgfip->nonref_flags = nullptr;
+
+ // Caller is currently expected to reset max_allele_ct if allele_idx_offsets
+ // is preloaded... need to fix this interface.
+ pgfip->max_allele_ct = 2;
+ // pgfip->max_dosage_allele_ct = 0;
+ pgfip->extensions_present = 0;
+
+ pgfip->block_base = nullptr;
+ // this should force overflow when value is uninitialized.
+ pgfip->block_offset = 1LLU << 63;
+
+ uint64_t fsize;
+ const unsigned char* fread_ptr;
+ unsigned char small_readbuf[3];
+ FILE* shared_ff = fopen(fname, FOPEN_RB);
+ pgfip->shared_ff = shared_ff;
+ if (unlikely(!shared_ff)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Failed to open %s : %s.\n", fname, strerror(errno));
+ return kPglRetOpenFail;
+ }
+ if (unlikely(fseeko(shared_ff, 0, SEEK_END))) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: %s read failure: %s.\n", fname, strerror(errno));
+ return kPglRetReadFail;
+ }
+ fsize = ftello(shared_ff);
+ if (unlikely(fsize < 4)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: %s is too small to be a valid .pgen file.\n", fname);
+ return kPglRetMalformedInput;
+ }
+ rewind(shared_ff);
+ if (unlikely(!fread_unlocked(small_readbuf, 3, 1, shared_ff))) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: %s read failure: %s.\n", fname, strerror(errno));
+ return kPglRetReadFail;
+ }
+ fread_ptr = small_readbuf;
+ // deliberate underflow
+ if (unlikely(((raw_variant_ct - 1) > (kPglMaxVariantCt - 1)) && (raw_variant_ct != UINT32_MAX))) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid raw_variant_ct function parameter.\n");
+ return kPglRetImproperFunctionCall;
+ }
+ if (unlikely(((raw_sample_ct - 1) > (kPglMaxSampleCt - 1)) && (raw_sample_ct != UINT32_MAX))) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid raw_sample_ct function parameter.\n");
+ return kPglRetImproperFunctionCall;
+ }
+ if (unlikely(!memequal_k(fread_ptr, "l\x1b", 2))) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: %s is not a .pgen file (first two bytes don't match the magic number).\n", fname);
+ return kPglRetMalformedInput;
+ }
+ const uint32_t file_type_code = fread_ptr[2];
+ *header_ctrl_ptr = 0;
+ if (file_type_code < 2) {
+ // plink 1 binary
+ if (unlikely(!file_type_code)) {
+ // sample-major. validate file size here so we don't have to recheck it
+ if ((raw_sample_ct != UINT32_MAX) && (raw_variant_ct != UINT32_MAX)) {
+ const uint64_t fsize_expected = 3 + S_CAST(uint64_t, raw_sample_ct) * NypCtToByteCt(raw_variant_ct);
+ if (fsize != fsize_expected) {
+ char* write_iter = strcpya_k(errstr_buf, "Error: Unexpected PLINK 1 sample-major .bed file size (");
+ write_iter = i64toa(fsize_expected, write_iter);
+ strcpy_k(write_iter, " bytes expected).\n");
+ return kPglRetMalformedInput;
+ }
+ }
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: pgenlib does not directly support sample-major PLINK 1 .bed files.\n(However, PLINK 2 automatically transposes and compresses them for you.)\n");
+ return kPglRetSampleMajorBed;
+ }
+ if (unlikely(raw_sample_ct == UINT32_MAX)) {
+ // either .fam must be loaded first, or user must provide sample count
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: PgfiInitPhase1() must be called with an accurate raw_sample_ct value, since %s is a PLINK 1 .bed file.\n", fname);
+ return kPglRetImproperFunctionCall;
+ }
+ const uint32_t const_vrec_width = NypCtToByteCt(raw_sample_ct);
+ if (raw_variant_ct == UINT32_MAX) {
+ // allow raw_variant_ct to be inferred
+ uint64_t quotient = (fsize - 3) / const_vrec_width;
+ if (unlikely((quotient > kPglMaxSampleCt) || (quotient * const_vrec_width + 3 != fsize))) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Unexpected PLINK 1 .bed file size (since raw_sample_ct was %u, [file size - 3] should be divisible by %u and the quotient should be smaller than 2^31 - 1).\n", raw_sample_ct, const_vrec_width);
+ return kPglRetMalformedInput;
+ }
+ raw_variant_ct = quotient;
+ } else {
+ if (unlikely(S_CAST(uint64_t, raw_variant_ct) * const_vrec_width + 3 != fsize)) {
+ char* write_iter = strcpya_k(errstr_buf, "Error: Unexpected PLINK 1 .bed file size (expected ");
+ write_iter = i64toa(S_CAST(uint64_t, raw_variant_ct) * const_vrec_width + 3, write_iter);
+ strcpy_k(write_iter, " bytes).\n");
+ return kPglRetMalformedInput;
+ }
+ }
+ pgfip->raw_variant_ct = raw_variant_ct;
+ pgfip->raw_sample_ct = raw_sample_ct;
+ pgfip->const_fpos_offset = 3;
+
+ pgfip->const_vrtype = kPglVrtypePlink1;
+ pgfip->const_vrec_width = const_vrec_width;
+ pgfip->gflags = kfPgenGlobalAllNonref;
+ *pgfi_alloc_cacheline_ct_ptr = 0;
+ return kPglRetSuccess;
+ }
+
+ FILE* header_ff = shared_ff;
+ const char* header_fname = fname;
+
+ // Must declare here, rather than inside else{} block, since the buffer would
+ // otherwise be implicitly popped off the stack as soon as the else-block is
+ // exited, but we may still try to print this filename in an error message.
+ // This isn't Golang.
+ char pgi_fname_buf[kPglFnamesize];
+
+ if ((file_type_code & 0xfe) != 0x20) {
+ if (unlikely((file_type_code & 0xfe) == 0x30)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: %s is a .pgen.pgi index file, rather than a .pgen file.\n", fname);
+ return kPglRetMalformedInput;
+ }
+ if (unlikely(fsize < 12)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: %s is too small to be a valid .pgen file.\n", fname);
+ return kPglRetMalformedInput;
+ }
+ } else {
+ header_fname = pgi_fname;
+ if (!header_fname) {
+ const uint32_t fname_slen = strlen(fname);
+ // need space to append ".pgi" plus null-terminator
+ if (unlikely(fname_slen > kPglFnamesize - 5)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: .pgen filename too long.\n");
+ return kPglRetMalformedInput;
+ }
+ char* fname_iter = memcpya(pgi_fname_buf, fname, fname_slen);
+ strcpy_k(fname_iter, ".pgi");
+ header_fname = pgi_fname_buf;
+ }
+ header_ff = fopen(header_fname, FOPEN_RB);
+ pgfip->pgi_ff = header_ff;
+ if (unlikely(!header_ff)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Failed to open %s : %s.\n", header_fname, strerror(errno));
+ return kPglRetOpenFail;
+ }
+ if (unlikely(!fread_unlocked(small_readbuf, 3, 1, header_ff))) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: %s read failure: %s.\n", header_fname, strerror(errno));
+ return kPglRetReadFail;
+ }
+ if (unlikely((!memequal_k(small_readbuf, "l\x1b", 2)) || ((small_readbuf[2] & 0xfe) != 0x30))) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: %s is not a .pgen.pgi file (first three bytes don't match the magic number).\n", header_fname);
+ return kPglRetMalformedInput;
+ }
+ }
+ if (unlikely((!fread_unlocked(&(pgfip->raw_variant_ct), sizeof(int32_t), 1, header_ff)) ||
+ (!fread_unlocked(&(pgfip->raw_sample_ct), sizeof(int32_t), 1, header_ff)) ||
+ (!fread_unlocked(header_ctrl_ptr, 1, 1, header_ff)))) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: %s read failure: %s.\n", header_fname, strerror(errno));
+ return kPglRetReadFail;
+ }
+ const PgenHeaderCtrl header_ctrl = *header_ctrl_ptr;
+ if (raw_variant_ct == UINT32_MAX) {
+ raw_variant_ct = pgfip->raw_variant_ct;
+ // deliberate underflow
+ if (unlikely((raw_variant_ct - 1) > (kPglMaxVariantCt - 1))) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid variant count in .pgen%s file.\n", pgfip->pgi_ff? ".pgi" : "");
+ return kPglRetMalformedInput;
+ }
+ } else if (unlikely(raw_variant_ct != pgfip->raw_variant_ct)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: PgfiInitPhase1() was called with raw_variant_ct == %u, but %s contains %u variant%s.\n", raw_variant_ct, fname, pgfip->raw_variant_ct, (pgfip->raw_variant_ct == 1)? "" : "s");
+ return kPglRetInconsistentInput;
+ }
+ if (raw_sample_ct == UINT32_MAX) {
+ raw_sample_ct = pgfip->raw_sample_ct;
+ // deliberate underflow
+ if (unlikely((raw_sample_ct - 1) > (kPglMaxSampleCt - 1))) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid sample count in .pgen%s file.\n", pgfip->pgi_ff? ".pgi" : "");
+ return kPglRetMalformedInput;
+ }
+ } else if (unlikely(raw_sample_ct != pgfip->raw_sample_ct)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: PgfiInitPhase1() was called with raw_sample_ct == %u, but %s contains %u sample%s.\n", raw_sample_ct, fname, pgfip->raw_sample_ct, (pgfip->raw_sample_ct == 1)? "" : "s");
+ return kPglRetInconsistentInput;
+ }
+ pgfip->gflags = kfPgenGlobal0;
+
+ // explicit storage of "is this reference allele untrusted?"
+ // need caller to allocate this
+ uint32_t nonref_flags_storage = header_ctrl >> 6;
+ if (nonref_flags_storage == 2) {
+ pgfip->gflags |= kfPgenGlobalAllNonref;
+ }
+
+ if (file_type_code < 16) {
+ // plink 2 binary, single constant-width vrtype
+ pgfip->const_fpos_offset = 12;
+ if (nonref_flags_storage == 3) {
+ pgfip->const_fpos_offset += DivUp(raw_variant_ct, CHAR_BIT);
+ }
+ if (unlikely(file_type_code > 4)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Third byte of %s does not correspond to a storage mode supported by this version of pgenlib.\n", fname);
+ return kPglRetNotYetSupported;
+ }
+ if (unlikely(header_ctrl & 63)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Third byte of %s corresponds to a fixed-width storage mode, but twelfth byte is only consistent with a variable-width mode.\n", fname);
+ return kPglRetMalformedInput;
+ }
+ uint32_t vrtype = 0;
+ uintptr_t const_vrec_width = NypCtToByteCt(raw_sample_ct);
+ if (file_type_code == 3) {
+ vrtype = 0x40;
+ const_vrec_width += raw_sample_ct * 2;
+ pgfip->gflags |= kfPgenGlobalDosagePresent;
+ } else if (file_type_code == 4) {
+ vrtype = 0xc0;
+ const_vrec_width += raw_sample_ct * 4;
+ pgfip->gflags |= kfPgenGlobalDosagePresent | kfPgenGlobalDosagePhasePresent;
+ }
+ if (unlikely(S_CAST(uint64_t, raw_variant_ct) * const_vrec_width + pgfip->const_fpos_offset != fsize)) {
+ char* write_iter = strcpya_k(errstr_buf, "Error: Unexpected .pgen file size (expected ");
+ write_iter = i64toa(S_CAST(uint64_t, raw_variant_ct) * const_vrec_width + pgfip->const_fpos_offset, write_iter);
+ strcpy_k(write_iter, " bytes).\n");
+ return kPglRetMalformedInput;
+ }
+ pgfip->const_vrtype = vrtype;
+ pgfip->const_vrec_width = const_vrec_width;
+ *pgfi_alloc_cacheline_ct_ptr = 0;
+ return kPglRetSuccess;
+ }
+ if (unlikely((file_type_code >= 0x12) && ((file_type_code & 0xfe) != 0x20))) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Third byte of %s does not correspond to a storage mode supported by this version of pgenlib.\n", fname);
+ return kPglRetNotYetSupported;
+ }
+ // plink 2 binary, general-purpose
+ pgfip->extensions_present = file_type_code & 1;
+ pgfip->const_fpos_offset = 0;
+ pgfip->const_vrtype = UINT32_MAX;
+ pgfip->const_vrec_width = 0;
+ const uintptr_t alt_allele_ct_byte_ct = (header_ctrl >> 4) & 3;
+ if (unlikely(alt_allele_ct_byte_ct > 1)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: This version of pgenlib does not support >254 alternate alleles for a single variant.\n");
+ return kPglRetNotYetSupported;
+ }
+
+ if (header_ctrl & 8) {
+ // Special header_ctrl modes:
+ // 8: 1 bit per fused vrtype-length. Unset = vrtype 5, set = vrtype 0.
+ // 9: 2 bits, multiallelic. 0 = vrtype 5, 1 = vrtype 0, 2-3 = vrtype
+ // 8 with that many more bytes than vrtype 0. Note that this is
+ // limited to 16 ALT alleles.
+ // 10: 2 bits, phased. 0 = vrtype 5, 1 = vrtype 0, 2-3 = vrtype 16
+ // with that many minus 1 bytes beyond vrtype 0. While this is also
+ // aimed at the single-sample use case, it technically supports up to
+ // 15 always-phased or 7 partially-phased samples.
+ // 11: 4 bits, multiallelic + phased. 0 = vrtype 5, 1 = vrtype 0,
+ // 2-7 = vrtype 8 with that many bytes beyond vrtype 0, 9 = vrtype 16
+ // phase info requiring just 1 byte, 10-15 = vrtype 24 with (x-7)
+ // extra bytes required between multiallelic and phased tracks.
+ // 12: 2 bits, dosage, must be single-sample. 0 = vrtype 5,
+ // 1 = vrtype 0, 2 = vrtype 0x45 with 2 bytes, 3 = vrtype 0x40 with 3
+ // total bytes.
+ // 13: reserved for single-sample multiallelic + dosage.
+ // 14: 4 bits, phased + dosage, must be single-sample. 0 and 1 as usual,
+ // 3 = vrtype 16 with 1 phaseinfo byte, 4 = vrtype 0x45 with 2 bytes,
+ // 5 = vrtype 0x40 with 3 total bytes, 12 = vrtype 0xc5 with 4 total
+ // bytes, 13 = vrtype 0xc0 with 5 total bytes, 15 = vrtype 0xe0 with
+ // 6 total bytes
+ // 15: reserved for single-sample multiallelic + phased dosage.
+ const uint32_t header_ctrl_low3 = header_ctrl & 7;
+ // this can be a table lookup once 13/15 are implemented
+ if (unlikely((header_ctrl_low3 == 5) || (header_ctrl_low3 == 7))) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Twelfth byte of %s does not correspond to a format supported by this version of pgenlib.\n", header_fname);
+ return kPglRetNotYetSupported;
+ }
+ }
+ *pgfi_alloc_cacheline_ct_ptr = CountPgfiAllocCachelinesRequired(raw_variant_ct);
+ return kPglRetSuccess;
+}
+
+void FillPgenHeaderReadErrstrFromNzErrno(uint32_t is_pgi, char* errstr_buf) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: .pgen%s read failure: %s.\n", is_pgi? ".pgi" : "", strerror(errno));
+}
+
+void FillPgenReadErrstrFromNzErrno(char* errstr_buf) {
+ return FillPgenHeaderReadErrstrFromNzErrno(0, errstr_buf);
+}
+
+void FillPgenHeaderReadErrstrFromErrno(uint32_t is_pgi, char* errstr_buf) {
+ if (errno) {
+ FillPgenHeaderReadErrstrFromNzErrno(is_pgi, errstr_buf);
+ } else {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: .pgen%s read failure: File appears to be corrupted.\n", is_pgi? ".pgi" : "");
+ }
+}
+
+void FillPgenReadErrstrFromErrno(char* errstr_buf) {
+ return FillPgenHeaderReadErrstrFromErrno(0, errstr_buf);
+}
+
+void FillPgenHeaderReadErrstr(FILE* ff, uint32_t is_pgi, char* errstr_buf) {
+ if (feof_unlocked(ff)) {
+ errno = 0;
+ }
+ FillPgenHeaderReadErrstrFromErrno(is_pgi, errstr_buf);
+}
+
+void FillPgenReadErrstr(FILE* ff, char* errstr_buf) {
+ FillPgenHeaderReadErrstr(ff, 0, errstr_buf);
+}
+
+// Assumes ff points to first byte of appropriate extension-set varint.
+// For each exts_iter entry corresponding to a present extension, size is
+// initialized to 0-based relative sequence number of extension. size is
+// initialized to ~0LLU for each absent extension.
+// If preprocessing header_exts, footer_fpos_ptr must be nullptr, and ff points
+// to first byte of footer-extension-set varint on successful exit. If
+// preprocessing footer_exts, footer_fpos_ptr must be non-null, will be filled
+// if footer exists, and ff will be advanced past that on successful exit.
+PglErr PgfiInitPhase2PreprocessExts(uint32_t is_pgi, FILE* ff, PgenExtensionLl* exts_iter, uint64_t* footer_fpos_ptr, char* errstr_buf) {
+ uint32_t cur_type_idx = exts_iter? exts_iter->type_idx : UINT32_MAX;
+ uint32_t type_idx_start = 0;
+ uint32_t prev_ct = 0;
+ while (1) {
+ const uint32_t type_idx_stop = type_idx_start + 7;
+ const int32_t ii = getc_unlocked(ff);
+ if (unlikely(ii == EOF)) {
+ if (ferror_unlocked(ff)) {
+ FillPgenHeaderReadErrstrFromNzErrno(is_pgi, errstr_buf);
+ return kPglRetReadFail;
+ }
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid .pgen%s.\n", is_pgi? ".pgi file" : " header");
+ return kPglRetMalformedInput;
+ }
+ const uint32_t cur_byte = ii;
+ while (cur_type_idx < type_idx_stop) {
+ const uint32_t shifted_bit = 1 << (cur_type_idx - type_idx_start);
+ if (cur_byte & shifted_bit) {
+ exts_iter->size = prev_ct + PopcountByte(cur_byte & (shifted_bit - 1));
+ } else {
+ exts_iter->size = ~0LLU;
+ }
+ exts_iter = exts_iter->next;
+ const uint32_t next_type_idx = exts_iter? exts_iter->type_idx : UINT32_MAX;
+ if (unlikely(next_type_idx <= cur_type_idx)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: PgfiInitPhase2Ex() extension linked-lists must be ordered by increasing type_idx.\n");
+ return kPglRetImproperFunctionCall;
+ }
+ cur_type_idx = next_type_idx;
+ }
+ if (unlikely((type_idx_start == 252) && (cur_byte & 0xf0))) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid .pgen%s.\n", is_pgi? ".pgi file" : " header");
+ return kPglRetMalformedInput;
+ }
+ if (!(cur_byte & 128)) {
+ if (footer_fpos_ptr) {
+ if (cur_byte || prev_ct) {
+ if (unlikely(!fread_unlocked(footer_fpos_ptr, sizeof(int64_t), 1, ff))) {
+ FillPgenHeaderReadErrstr(ff, is_pgi, errstr_buf);
+ return kPglRetReadFail;
+ }
+ }
+ }
+ break;
+ }
+ type_idx_start = type_idx_stop;
+ prev_ct += PopcountByte(cur_byte) - 1;
+ }
+ if (exts_iter) {
+ while (1) {
+ exts_iter->size = ~0LLU;
+ exts_iter = exts_iter->next;
+ if (!exts_iter) {
+ break;
+ }
+ const uint32_t next_type_idx = exts_iter->type_idx;
+ if (next_type_idx <= cur_type_idx) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: PgfiInitPhase2Ex() extension linked-lists must be ordered by increasing type_idx.\n");
+ return kPglRetImproperFunctionCall;
+ }
+ cur_type_idx = next_type_idx;
+ }
+ }
+ return kPglRetSuccess;
+}
+
+PglErr PgfiInitPhase2FillExtSizes(uint32_t is_pgi, FILE* ff, PgenExtensionLl* exts_iter, char* errstr_buf) {
+ uint32_t next_seq_idx = 0;
+ for (; exts_iter; exts_iter = exts_iter->next) {
+ if (exts_iter->size == ~0LLU) {
+ continue;
+ }
+ const uint32_t cur_seq_idx = exts_iter->size;
+ for (; next_seq_idx < cur_seq_idx; ++next_seq_idx) {
+ if (unlikely(FSkipVint(ff))) {
+ goto PgfiInitPhase2FillExtSizes_error_or_eof;
+ }
+ }
+ const uint64_t cur_size = FGetVint63(ff);
+ if (unlikely(cur_size == (1LLU << 63))) {
+ goto PgfiInitPhase2FillExtSizes_error_or_eof;
+ }
+ exts_iter->size = cur_size;
+ next_seq_idx = cur_seq_idx + 1;
+ }
+ return kPglRetSuccess;
+ PgfiInitPhase2FillExtSizes_error_or_eof:
+ if (ferror_unlocked(ff)) {
+ FillPgenHeaderReadErrstrFromNzErrno(is_pgi, errstr_buf);
+ return kPglRetReadFail;
+ }
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid .pgen%s.\n", is_pgi? ".pgi file" : " header");
+ return kPglRetMalformedInput;
+}
+
+static_assert(kPglMaxAlleleCt == 255, "Need to update PgfiInitPhase2Ex().");
+PglErr PgfiInitPhase2Ex(PgenHeaderCtrl header_ctrl, uint32_t allele_cts_already_loaded, uint32_t nonref_flags_already_loaded, uint32_t use_blockload, uint32_t vblock_idx_start, uint32_t vidx_end, uint32_t* max_vrec_width_ptr, PgenFileInfo* pgfip, unsigned char* pgfi_alloc, PgenExtensionLl* header_exts, PgenExtensionLl* footer_exts, uintptr_t* pgr_alloc_cacheline_ct_ptr, char* errstr_buf) {
+ // *max_vrec_width_ptr technically only needs to be set in single-variant
+ // fread() mode, but its computation is not currently optimized out in the
+ // other two modes.
+
+ // possible todo: add option to skip validation when allele_cts/nonref_flags
+ // are already loaded. but let's play it safe for now.
+ const uint32_t raw_variant_ct = pgfip->raw_variant_ct;
+ const uint32_t const_vrec_width = pgfip->const_vrec_width;
+ *pgr_alloc_cacheline_ct_ptr = 0;
+
+ // Note that this is a rather hefty stack allocation.
+ unsigned char loadbuf[kPglVblockSize * 4];
+
+ uintptr_t* allele_idx_offsets_iter = pgfip->allele_idx_offsets;
+ uintptr_t prev_allele_idx_offset = 0;
+ if (allele_idx_offsets_iter) {
+ if (!allele_cts_already_loaded) {
+ *allele_idx_offsets_iter = 0;
+ } else {
+ prev_allele_idx_offset = *allele_idx_offsets_iter;
+ }
+ ++allele_idx_offsets_iter;
+ }
+ if (!raw_variant_ct) {
+ return kPglRetSuccess;
+ }
+ const uint32_t nonref_flags_stored = ((header_ctrl >> 6) == 3);
+ unsigned char* nonref_flags_iter = DowncastToUc(pgfip->nonref_flags);
+ const unsigned char* fread_ptr = nullptr; // maybe-uninitialized warning
+ FILE* header_ff = pgfip->pgi_ff;
+ const uint32_t is_pgi = (header_ff != nullptr);
+ if (!is_pgi) {
+ header_ff = pgfip->shared_ff;
+ assert(header_ff);
+ }
+ if (const_vrec_width) {
+ assert(!is_pgi);
+ // no allele counts to verify if fixed-width
+ // always need ldbase_raw_genovec
+ *pgr_alloc_cacheline_ct_ptr = NypCtToCachelineCt(pgfip->raw_sample_ct);
+ *max_vrec_width_ptr = const_vrec_width;
+ if (!use_blockload) {
+ // using fread() single-variant-at-a-time, need pgr.fread_buf
+ *pgr_alloc_cacheline_ct_ptr += DivUp(const_vrec_width, kCacheline);
+ }
+ if ((!(header_ctrl & 192)) || (pgfip->const_vrtype == kPglVrtypePlink1)) {
+ return kPglRetSuccess;
+ }
+ if ((header_ctrl >> 6) == 1) {
+ // all ref
+ if (nonref_flags_already_loaded) {
+ if (unlikely(!AllWordsAreZero(pgfip->nonref_flags, BitCtToWordCt(raw_variant_ct)))) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Loaded nonref_flags do not match values in .pgen file.\n");
+ return kPglRetInconsistentInput;
+ }
+ }
+ return kPglRetSuccess;
+ }
+ if ((header_ctrl >> 6) == 2) {
+ // all nonref
+ if (nonref_flags_already_loaded) {
+ if (unlikely(!AllBitsAreOne(pgfip->nonref_flags, raw_variant_ct))) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Loaded nonref_flags do not match values in .pgen file.\n");
+ return kPglRetInconsistentInput;
+ }
+ }
+ return kPglRetSuccess;
+ }
+ // _last more useful than _end iff we just refer to the number of elements
+ // in the block and have no use for a _stop pointer
+ unsigned char* nonref_flags_last = &(nonref_flags_iter[((raw_variant_ct - 1) / (kPglVblockSize * 32)) * (kPglVblockSize * 4)]);
+ uint32_t cur_byte_ct = kPglVblockSize * 4;
+ for (; ; nonref_flags_iter = &(nonref_flags_iter[cur_byte_ct])) {
+ if (nonref_flags_iter >= nonref_flags_last) {
+ if (nonref_flags_iter > nonref_flags_last) {
+ break;
+ }
+ cur_byte_ct = 1 + ((raw_variant_ct - 1) % (kPglVblockSize * 32)) / CHAR_BIT;
+ }
+ unsigned char* loadptr = nonref_flags_already_loaded? loadbuf : nonref_flags_iter;
+ if (unlikely(!fread_unlocked(loadptr, cur_byte_ct, 1, header_ff))) {
+ FillPgenHeaderReadErrstr(header_ff, is_pgi, errstr_buf);
+ return kPglRetReadFail;
+ }
+ if (nonref_flags_already_loaded) {
+ if (unlikely(!memequal(nonref_flags_iter, loadbuf, cur_byte_ct))) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Loaded nonref_flags do not match values in .pgen file.\n");
+ return kPglRetInconsistentInput;
+ }
+ }
+ }
+ return kPglRetSuccess;
+ }
+
+ const uint32_t raw_sample_ct = pgfip->raw_sample_ct;
+ unsigned char* vrtypes_iter = pgfi_alloc;
+ pgfip->vrtypes = vrtypes_iter;
+ uint64_t* var_fpos_iter = R_CAST(uint64_t*, &(vrtypes_iter[RoundUpPow2(raw_variant_ct + 1, kCacheline)]));
+ pgfip->var_fpos = var_fpos_iter;
+ uint32_t vblock_ct_m1 = (raw_variant_ct - 1) / kPglVblockSize;
+ uint32_t max_vrec_width = 0;
+ uint64_t variant_fpos;
+ if (vblock_idx_start) {
+ if (unlikely(fseeko(header_ff, vblock_idx_start * sizeof(int64_t), SEEK_CUR))) {
+ FillPgenHeaderReadErrstrFromNzErrno(is_pgi, errstr_buf);
+ return kPglRetReadFail;
+ }
+ }
+ if (unlikely(!fread_unlocked(&variant_fpos, sizeof(int64_t), 1, header_ff))) {
+ FillPgenHeaderReadErrstr(header_ff, is_pgi, errstr_buf);
+ return kPglRetReadFail;
+ }
+ // May also need to load the rest of these values in the future, if we want
+ // to support dynamic insertion into a memory-mapped file. But skip them
+ // for now.
+ if (unlikely(fseeko(header_ff, (vblock_ct_m1 - vblock_idx_start) * sizeof(int64_t), SEEK_CUR))) {
+ FillPgenHeaderReadErrstrFromNzErrno(is_pgi, errstr_buf);
+ return kPglRetReadFail;
+ }
+ const uint32_t vrtype_and_fpos_storage = header_ctrl & 15;
+ const uint32_t alt_allele_ct_byte_ct = (header_ctrl >> 4) & 3;
+ if (alt_allele_ct_byte_ct) {
+ assert(alt_allele_ct_byte_ct == 1);
+ if (unlikely(!allele_idx_offsets_iter)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: pgfip->allele_idx_offsets must be allocated before PgfiInitPhase2Ex() is called.\n");
+ return kPglRetImproperFunctionCall;
+ }
+ }
+ uint32_t vblock_idx = vblock_idx_start;
+ vblock_ct_m1 = (vidx_end - 1) / kPglVblockSize;
+ if (vblock_idx) {
+ uintptr_t header_vblock_byte_ct = kPglVblockSize * alt_allele_ct_byte_ct;
+ if (nonref_flags_stored) {
+ header_vblock_byte_ct += kPglVblockSize / CHAR_BIT;
+ }
+ if (vrtype_and_fpos_storage & 8) {
+ header_vblock_byte_ct += kPglVblockSize >> (10 - vrtype_and_fpos_storage);
+ } else {
+ if (!(vrtype_and_fpos_storage & 4)) {
+ header_vblock_byte_ct += kPglVblockSize / 2;
+ } else {
+ header_vblock_byte_ct += kPglVblockSize;
+ }
+ header_vblock_byte_ct += kPglVblockSize * (1 + (vrtype_and_fpos_storage & 3));
+ }
+ if (unlikely(fseeko(header_ff, header_vblock_byte_ct * S_CAST(uint64_t, vblock_idx), SEEK_CUR))) {
+ FillPgenHeaderReadErrstrFromNzErrno(is_pgi, errstr_buf);
+ return kPglRetReadFail;
+ }
+ }
+ uint32_t cur_vblock_variant_ct = kPglVblockSize;
+ uint32_t max_allele_ct = pgfip->max_allele_ct;
+ for (; ; ++vblock_idx) {
+ if (vblock_idx >= vblock_ct_m1) {
+ if (vblock_idx > vblock_ct_m1) {
+ break;
+ }
+ cur_vblock_variant_ct = ModNz(vidx_end, kPglVblockSize);
+ }
+ // 1. handle vrtypes and var_fpos.
+ if (vrtype_and_fpos_storage >= 8) {
+ // Special encodings.
+ uint32_t log2_entry_bit_width = 1;
+ unsigned char vrtype_table[16];
+ uint32_t vrec_len_table[16];
+ vrtype_table[0] = 5;
+ vrtype_table[1] = 0;
+ vrec_len_table[0] = 0;
+ const uint32_t raw_sample_ct4 = NypCtToByteCt(raw_sample_ct);
+ vrec_len_table[1] = raw_sample_ct4;
+ if (vrtype_and_fpos_storage == 8) {
+ log2_entry_bit_width = 0;
+ } else if (vrtype_and_fpos_storage == 9) {
+ vrtype_table[2] = 8;
+ vrtype_table[3] = 8;
+ vrec_len_table[2] = raw_sample_ct4 + 2;
+ vrec_len_table[3] = raw_sample_ct4 + 3;
+ } else if (vrtype_and_fpos_storage == 10) {
+ vrtype_table[2] = 16;
+ vrtype_table[3] = 16;
+ vrec_len_table[2] = raw_sample_ct4 + 1;
+ vrec_len_table[3] = raw_sample_ct4 + 2;
+ } else if (vrtype_and_fpos_storage == 11) {
+ log2_entry_bit_width = 2;
+ vrtype_table[2] = 8;
+ vrtype_table[3] = 8;
+ vrtype_table[4] = 8;
+ vrtype_table[5] = 8;
+ vrtype_table[6] = 8;
+ vrtype_table[7] = 8;
+ // 8 invalid
+ vrtype_table[9] = 16;
+ vrtype_table[10] = 24;
+ vrtype_table[11] = 24;
+ vrtype_table[12] = 24;
+ vrtype_table[13] = 24;
+ vrtype_table[14] = 24;
+ vrtype_table[15] = 24;
+ vrec_len_table[9] = raw_sample_ct4 + 1;
+ for (uint32_t uii = 2; uii < 8; ++uii) {
+ vrec_len_table[uii] = raw_sample_ct4 + uii;
+ vrec_len_table[uii + 8] = raw_sample_ct4 + 1 + uii;
+ }
+ } else if (vrtype_and_fpos_storage == 12) {
+ assert(raw_sample_ct == 1);
+ vrtype_table[2] = 0x45;
+ vrtype_table[3] = 0x40;
+ vrec_len_table[2] = 2;
+ vrec_len_table[3] = 3;
+ } else {
+ // 14 is only remaining possibility for now
+ assert(raw_sample_ct == 1);
+ log2_entry_bit_width = 2;
+ vrtype_table[3] = 0x10;
+ vrtype_table[4] = 0x45;
+ vrtype_table[5] = 0x40;
+ vrtype_table[12] = 0xc5;
+ vrtype_table[13] = 0xc0;
+ vrtype_table[15] = 0xe0;
+ vrec_len_table[3] = 2;
+ vrec_len_table[4] = 2;
+ vrec_len_table[5] = 3;
+ vrec_len_table[12] = 4;
+ vrec_len_table[13] = 5;
+ vrec_len_table[15] = 6;
+ }
+ const uint32_t entry_bit_width = 1 << log2_entry_bit_width;
+ const uint32_t entry_mask = (1 << entry_bit_width) - 1;
+ const uint32_t cur_byte_ct = 1 + ((cur_vblock_variant_ct - 1) >> (3 - log2_entry_bit_width));
+ const unsigned char* loadbuf_biter;
+ if (unlikely(!fread_unlocked(loadbuf, cur_byte_ct, 1, header_ff))) {
+ FillPgenHeaderReadErrstr(header_ff, is_pgi, errstr_buf);
+ return kPglRetReadFail;
+ }
+ loadbuf_biter = loadbuf;
+ const uint32_t log2_entries_per_word = kBitsPerWordLog2 - log2_entry_bit_width;
+ const uint32_t block_len = 1 << log2_entries_per_word;
+ uint32_t cur_vblock_idx = 0;
+ uint32_t cur_vblock_idx_stop = block_len;
+ for (; ; cur_vblock_idx_stop += block_len) {
+ if (cur_vblock_idx_stop > cur_vblock_variant_ct) {
+ if (cur_vblock_idx == cur_vblock_variant_ct) {
+ break;
+ }
+ cur_vblock_idx_stop = cur_vblock_variant_ct;
+ }
+ uintptr_t input_word;
+ CopyFromUnalignedIncrW(&input_word, &loadbuf_biter);
+ for (; cur_vblock_idx != cur_vblock_idx_stop; ++cur_vblock_idx) {
+ const uint32_t input_word_masked = input_word & entry_mask;
+ *vrtypes_iter++ = vrtype_table[input_word_masked];
+ *var_fpos_iter++ = variant_fpos;
+ variant_fpos += vrec_len_table[input_word_masked];
+ input_word >>= entry_bit_width;
+ }
+ }
+ } else {
+ if (vrtype_and_fpos_storage < 4) {
+ // no phase or dosage present, 4-bit vrtypes
+ const uint32_t cur_byte_ct = DivUp(cur_vblock_variant_ct, 2);
+ if (unlikely(!fread_unlocked(loadbuf, cur_byte_ct, 1, header_ff))) {
+ FillPgenHeaderReadErrstr(header_ff, is_pgi, errstr_buf);
+ return kPglRetReadFail;
+ }
+ fread_ptr = loadbuf;
+ Expand4bitTo8(fread_ptr, cur_vblock_variant_ct, 0, vrtypes_iter);
+ vrtypes_iter = &(vrtypes_iter[cur_vblock_variant_ct]);
+ } else {
+ // phase and dosage
+ if (unlikely(!fread_unlocked(vrtypes_iter, cur_vblock_variant_ct, 1, header_ff))) {
+ FillPgenHeaderReadErrstr(header_ff, is_pgi, errstr_buf);
+ return kPglRetReadFail;
+ }
+ vrtypes_iter = &(vrtypes_iter[cur_vblock_variant_ct]);
+ }
+ const uint32_t vrec_len_byte_ct = 1 + (vrtype_and_fpos_storage & 3);
+ const uint32_t cur_byte_ct = cur_vblock_variant_ct * vrec_len_byte_ct;
+ if (unlikely(!fread_unlocked(loadbuf, cur_byte_ct, 1, header_ff))) {
+ FillPgenHeaderReadErrstr(header_ff, is_pgi, errstr_buf);
+ return kPglRetReadFail;
+ }
+ fread_ptr = loadbuf;
+ if (vrec_len_byte_ct == 1) {
+ for (uint32_t cur_vblock_vidx = 0; cur_vblock_vidx != cur_vblock_variant_ct; ++cur_vblock_vidx) {
+ var_fpos_iter[cur_vblock_vidx] = variant_fpos;
+ uint32_t cur_vrec_len = fread_ptr[cur_vblock_vidx];
+ variant_fpos += cur_vrec_len;
+ // no need for correct max_vrec_width
+ }
+ } else if (vrec_len_byte_ct == 2) {
+ for (uint32_t cur_vblock_vidx = 0; cur_vblock_vidx != cur_vblock_variant_ct; ++cur_vblock_vidx) {
+ var_fpos_iter[cur_vblock_vidx] = variant_fpos;
+ uint16_t cur_vrec_len;
+ CopyFromUnalignedU16(&cur_vrec_len, &(fread_ptr[cur_vblock_vidx * 2]));
+ variant_fpos += cur_vrec_len;
+ if (cur_vrec_len > max_vrec_width) {
+ // todo: check whether we're better off just assuming 2^16 - 1
+ max_vrec_width = cur_vrec_len;
+ }
+ }
+ } else if (vrec_len_byte_ct == 3) {
+ for (uint32_t cur_vblock_vidx = 0; cur_vblock_vidx != cur_vblock_variant_ct; ++cur_vblock_vidx) {
+ var_fpos_iter[cur_vblock_vidx] = variant_fpos;
+ uint32_t cur_vrec_len;
+ // safe to read a byte past the end, since that's in loadbuf
+ CopyFromUnalignedU32(&cur_vrec_len, &(fread_ptr[cur_vblock_vidx * 3]));
+ cur_vrec_len &= 0xffffff;
+ variant_fpos += cur_vrec_len;
+ if (cur_vrec_len > max_vrec_width) {
+ max_vrec_width = cur_vrec_len;
+ }
+ }
+ } else {
+ for (uint32_t cur_vblock_vidx = 0; cur_vblock_vidx != cur_vblock_variant_ct; ++cur_vblock_vidx) {
+ var_fpos_iter[cur_vblock_vidx] = variant_fpos;
+ uint32_t cur_vrec_len;
+ CopyFromUnalignedU32(&cur_vrec_len, &(fread_ptr[cur_vblock_vidx * 4]));
+ variant_fpos += cur_vrec_len;
+ if (cur_vrec_len > max_vrec_width) {
+ max_vrec_width = cur_vrec_len;
+ }
+ }
+#ifdef __LP64__
+ if (unlikely(max_vrec_width > kPglMaxBytesPerVariant)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid .pgen%s.\n", is_pgi? ".pgi file" : " header");
+ return kPglRetMalformedInput;
+ }
+#else
+ if (unlikely(max_vrec_width > kMaxBytesPerIO)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Variant records too large for 32-bit pgenlib.\n");
+ return kPglRetNomem;
+ }
+#endif
+ }
+ var_fpos_iter = &(var_fpos_iter[cur_vblock_variant_ct]);
+ }
+ // 2. allele counts?
+ if (alt_allele_ct_byte_ct) {
+ assert(alt_allele_ct_byte_ct == 1);
+ if (unlikely(!fread_unlocked(loadbuf, cur_vblock_variant_ct * alt_allele_ct_byte_ct, 1, header_ff))) {
+ FillPgenHeaderReadErrstr(header_ff, is_pgi, errstr_buf);
+ return kPglRetReadFail;
+ }
+ fread_ptr = loadbuf;
+ // max_allele_ct scan can probably be sped up with _mm{256}_max_epu8()?
+ // probably can't do much for main loop (at least in sizeof(AlleleCode)
+ // == 1 case)
+ if (allele_cts_already_loaded) {
+ // todo: update this for multibyte AlleleCode
+ for (uint32_t cur_vblock_vidx = 0; cur_vblock_vidx != cur_vblock_variant_ct; ++cur_vblock_vidx) {
+ const uintptr_t cur_allele_idx_offset = allele_idx_offsets_iter[cur_vblock_vidx];
+ const uint32_t cur_allele_ct = fread_ptr[cur_vblock_vidx];
+ if (unlikely((cur_allele_idx_offset - prev_allele_idx_offset) != cur_allele_ct)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Loaded allele_idx_offsets do not match values in .pgen%s file.\n", is_pgi? ".pgi" : "");
+ return kPglRetInconsistentInput;
+ }
+ prev_allele_idx_offset = cur_allele_idx_offset;
+ if (cur_allele_ct > max_allele_ct) {
+ max_allele_ct = cur_allele_ct;
+ }
+ }
+ } else {
+ for (uint32_t cur_vblock_vidx = 0; cur_vblock_vidx != cur_vblock_variant_ct; ++cur_vblock_vidx) {
+ const uint32_t cur_allele_ct = fread_ptr[cur_vblock_vidx];
+ allele_idx_offsets_iter[cur_vblock_vidx] = prev_allele_idx_offset;
+ prev_allele_idx_offset += cur_allele_ct;
+ if (cur_allele_ct > max_allele_ct) {
+ max_allele_ct = cur_allele_ct;
+ }
+ }
+ }
+ allele_idx_offsets_iter = &(allele_idx_offsets_iter[cur_vblock_variant_ct]);
+ }
+ // 3. nonref flags?
+ if (nonref_flags_stored) {
+ const uint32_t cur_byte_ct = DivUp(cur_vblock_variant_ct, CHAR_BIT);
+ unsigned char* loadptr = nonref_flags_already_loaded? loadbuf : nonref_flags_iter;
+ if (unlikely(!fread_unlocked(loadptr, cur_byte_ct, 1, header_ff))) {
+ FillPgenHeaderReadErrstr(header_ff, is_pgi, errstr_buf);
+ return kPglRetReadFail;
+ }
+ if (nonref_flags_already_loaded) {
+ if (unlikely(!memequal(nonref_flags_iter, loadbuf, cur_byte_ct))) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Loaded nonref_flags do not match values in .pgen%s file.\n", is_pgi? ".pgi" : "");
+ return kPglRetInconsistentInput;
+ }
+ }
+ nonref_flags_iter = &(nonref_flags_iter[cur_byte_ct]);
+ }
+ }
+
+ const uint32_t last_word_byte_ct = cur_vblock_variant_ct % kBytesPerWord;
+ if (last_word_byte_ct) {
+ ProperSubwordStore(0, kBytesPerWord - last_word_byte_ct, vrtypes_iter);
+ } else {
+ // must guarantee a trailing zero for is_ldbase check to work
+ vrtypes_iter[0] = 0;
+ }
+
+ uint64_t footer_extensions_fpos = 0;
+ if (pgfip->extensions_present && (header_exts || footer_exts)) {
+ if (vidx_end < raw_variant_ct) {
+ const uint32_t vrec_len_byte_ct = 1 + (vrtype_and_fpos_storage & 3);
+ const uint32_t phase_or_dosage_present = (vrtype_and_fpos_storage >= 4);
+ const uint64_t ext_fpos = PglHeaderBaseEndOffset(raw_variant_ct, vrec_len_byte_ct, phase_or_dosage_present, nonref_flags_stored);
+ if (unlikely(fseeko(header_ff, ext_fpos, SEEK_SET))) {
+ FillPgenHeaderReadErrstrFromNzErrno(is_pgi, errstr_buf);
+ return kPglRetReadFail;
+ }
+ }
+ PglErr reterr = PgfiInitPhase2PreprocessExts(is_pgi, header_ff, header_exts, nullptr, errstr_buf);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ reterr = PgfiInitPhase2PreprocessExts(is_pgi, header_ff, footer_exts, &footer_extensions_fpos, errstr_buf);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ reterr = PgfiInitPhase2FillExtSizes(is_pgi, header_ff, header_exts, errstr_buf);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ }
+
+ if (is_pgi && (!header_exts) && (!footer_exts)) {
+ if (unlikely(fclose_null(&pgfip->pgi_ff))) {
+ FillPgenHeaderReadErrstrFromNzErrno(1, errstr_buf);
+ return kPglRetReadFail;
+ }
+ }
+
+ const uint64_t actual_fpos = ftello(pgfip->shared_ff);
+ if (actual_fpos != pgfip->var_fpos[0]) {
+ // now > instead of != to allow additional information to be stored between
+ // header and first variant record (e.g. mode 0x11).
+ if (unlikely(actual_fpos > pgfip->var_fpos[0])) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid .pgen%s.\n", is_pgi? ".pgi file" : " header");
+ return kPglRetMalformedInput;
+ }
+ if (unlikely(fseeko(pgfip->shared_ff, pgfip->var_fpos[0], SEEK_SET))) {
+ FillPgenReadErrstrFromNzErrno(errstr_buf);
+ return kPglRetReadFail;
+ }
+ }
+ if (footer_extensions_fpos && footer_exts) {
+ if (unlikely(fseeko(pgfip->shared_ff, footer_extensions_fpos, SEEK_SET))) {
+ FillPgenReadErrstrFromNzErrno(errstr_buf);
+ return kPglRetReadFail;
+ }
+ PglErr reterr = PgfiInitPhase2FillExtSizes(0, pgfip->shared_ff, footer_exts, errstr_buf);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ if (unlikely(fseeko(pgfip->shared_ff, pgfip->var_fpos[0], SEEK_SET))) {
+ FillPgenReadErrstrFromNzErrno(errstr_buf);
+ return kPglRetReadFail;
+ }
+ }
+ pgfip->var_fpos[vidx_end] = variant_fpos;
+ pgfip->max_allele_ct = max_allele_ct;
+ // if difflist/LD might be present, scan for them in a way that's likely to
+ // terminate quickly
+ PgenGlobalFlags new_gflags = kfPgenGlobal0;
+ if (vrtype_and_fpos_storage != 8) {
+ const uint32_t trailing_byte_ct = vidx_end & (kBytesPerVec - 1);
+ if (trailing_byte_ct) {
+ memset(&(pgfip->vrtypes[vidx_end]), 0, kBytesPerVec - trailing_byte_ct);
+ }
+ const VecW* vrtypes_alias_start = R_CAST(VecW*, pgfip->vrtypes);
+ const VecW* vrtypes_alias_end = &(vrtypes_alias_start[DivUp(vidx_end, kBytesPerVec)]);
+ if (vblock_idx_start) {
+ vrtypes_alias_start = &(vrtypes_alias_start[vblock_idx_start * (kPglVblockSize / kBytesPerVec)]);
+ }
+ const VecW* vrtypes_alias_iter = vrtypes_alias_start;
+ if (vrtype_and_fpos_storage < 8) {
+ for (; vrtypes_alias_iter != vrtypes_alias_end; ++vrtypes_alias_iter) {
+ const VecW cur_vvec = *vrtypes_alias_iter;
+#ifdef __LP64__
+ const VecW cur_vvec_bit2 = vecw_slli(cur_vvec, 5);
+ const VecW cur_vvec_bit1 = vecw_slli(cur_vvec, 6);
+ // check if any vrtype has bit 1 set and bit 2 clear
+ if (vecw_movemask(vecw_and_notfirst(cur_vvec_bit2, cur_vvec_bit1))) {
+ new_gflags |= kfPgenGlobalLdCompressionPresent | kfPgenGlobalDifflistOrLdPresent;
+ break;
+ }
+ const VecW cur_vvec_bit0 = vecw_slli(cur_vvec, 7);
+ if (vecw_movemask(cur_vvec_bit0 | cur_vvec_bit2)) {
+ // this catches onebit
+ new_gflags |= kfPgenGlobalDifflistOrLdPresent;
+ }
+#else
+ const uintptr_t cur_vvec_shifted = cur_vvec >> 1;
+ // check if any vrtype has bit 1 set and bit 2 clear
+ if (vecw_and_notfirst(cur_vvec_shifted, cur_vvec) & (2 * kMask0101)) {
+ new_gflags |= kfPgenGlobalLdCompressionPresent | kfPgenGlobalDifflistOrLdPresent;
+ break;
+ }
+ if (cur_vvec & (5 * kMask0101)) {
+ // this catches onebit
+ new_gflags |= kfPgenGlobalDifflistOrLdPresent;
+ }
+#endif
+ }
+ }
+ if (vrtype_and_fpos_storage >= 4) {
+ // Likely for one of {hphase, dosage} to be present without the
+ // other; make this scan faster in that case, at the cost of
+ // failing to early-exit when both are present.
+ // This is also suboptimal for the vrtype_and_fpos_storage > 8
+ // special encodings.
+ VecW or_vvec = vecw_setzero();
+ for (vrtypes_alias_iter = vrtypes_alias_start; vrtypes_alias_iter != vrtypes_alias_end; ++vrtypes_alias_iter) {
+ or_vvec |= *vrtypes_alias_iter;
+ }
+#ifdef __LP64__
+ const VecW or_vvec_bit3 = vecw_slli(or_vvec, 4);
+ if (vecw_movemask(or_vvec_bit3)) {
+ // note that, if no phase or dosage data is present, we don't
+ // look for multiallelic hardcalls.
+ new_gflags |= kfPgenGlobalMultiallelicHardcallFound;
+ }
+ const VecW or_vvec_bit4 = vecw_slli(or_vvec, 3);
+ if (vecw_movemask(or_vvec_bit4)) {
+ new_gflags |= kfPgenGlobalHardcallPhasePresent;
+ }
+ const VecW or_vvec_bit5 = vecw_slli(or_vvec, 2);
+ const VecW or_vvec_bit6 = vecw_slli(or_vvec, 1);
+ if (vecw_movemask(or_vvec_bit5 | or_vvec_bit6)) {
+ new_gflags |= kfPgenGlobalDosagePresent;
+ if (vecw_movemask(or_vvec)) {
+ new_gflags |= kfPgenGlobalDosagePhasePresent;
+ }
+ }
+#else
+ if (or_vvec & (8 * kMask0101)) {
+ new_gflags |= kfPgenGlobalMultiallelicHardcallFound;
+ }
+ if (or_vvec & (0x10 * kMask0101)) {
+ new_gflags |= kfPgenGlobalHardcallPhasePresent;
+ }
+ if (or_vvec & (0x60 * kMask0101)) {
+ new_gflags |= kfPgenGlobalDosagePresent;
+ if (or_vvec & (0x80 * kMask0101)) {
+ new_gflags |= kfPgenGlobalDosagePhasePresent;
+ }
+ }
+#endif
+ }
+ if (vrtype_and_fpos_storage > 8) {
+ if (vrtype_and_fpos_storage == 12) {
+ max_vrec_width = 3;
+ } else if (vrtype_and_fpos_storage == 14) {
+ max_vrec_width = 6;
+ } else {
+ max_vrec_width = NypCtToByteCt(raw_sample_ct);
+ if (vrtype_and_fpos_storage == 9) {
+ max_vrec_width += 3;
+ } else if (vrtype_and_fpos_storage == 10) {
+ max_vrec_width += 2;
+ } else {
+ // 11
+ max_vrec_width += 8;
+ }
+ // 13 and 15 not specified yet
+ }
+ } else if (!(vrtype_and_fpos_storage & 3)) {
+ // 1 byte per vrec_len entry, don't bother to determine true
+ // maximum
+ max_vrec_width = 255;
+ }
+ pgfip->gflags |= new_gflags;
+ } else {
+ // vrtype_and_fpos_storage == 8.
+ max_vrec_width = NypCtToByteCt(raw_sample_ct);
+ }
+ *pgr_alloc_cacheline_ct_ptr = CountPgrAllocCachelinesRequired(raw_sample_ct, new_gflags, max_allele_ct, use_blockload? 0 : max_vrec_width);
+ *max_vrec_width_ptr = max_vrec_width;
+ return kPglRetSuccess;
+}
+
+PglErr PgfiInitReloadExtSet(uint32_t is_pgi, FILE* ff, uintptr_t* ext_bitarr, uint32_t* ext_bitarr_cumulative_popcounts, uint64_t* footer_fpos_ptr, uint32_t* word_ct_ptr, char* errstr_buf) {
+ uintptr_t cur_output_word = 0;
+ uintptr_t nonzero_present = 0;
+ uint32_t write_idx_lowbits = 0;
+ uint32_t widx = 0;
+ ext_bitarr_cumulative_popcounts[0] = 0;
+ while (1) {
+ const int32_t ii = getc_unlocked(ff);
+ if (unlikely(ii == EOF)) {
+ if (ferror_unlocked(ff)) {
+ FillPgenHeaderReadErrstrFromNzErrno(is_pgi, errstr_buf);
+ return kPglRetReadFail;
+ }
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid .pgen%s.\n", is_pgi? ".pgi file" : " header");
+ return kPglRetMalformedInput;
+ }
+ const uintptr_t cur_masked_bits = ii & 127;
+ cur_output_word |= cur_masked_bits << write_idx_lowbits;
+ uint32_t new_write_idx_lowbits = write_idx_lowbits + 7;
+ if (new_write_idx_lowbits >= kBitsPerWord) {
+ ext_bitarr[widx] = cur_output_word;
+ nonzero_present |= cur_output_word;
+ ++widx;
+ ext_bitarr_cumulative_popcounts[widx] = PopcountWord(cur_output_word);
+ cur_output_word = cur_masked_bits >> (kBitsPerWord - write_idx_lowbits);
+ new_write_idx_lowbits -= kBitsPerWord;
+ }
+ write_idx_lowbits = new_write_idx_lowbits;
+ if (!(ii & 128)) {
+ break;
+ }
+ if (unlikely(widx == (256 / kBitsPerWord))) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid .pgen%s.\n", is_pgi? ".pgi file" : " header");
+ return kPglRetMalformedInput;
+ }
+ }
+ ext_bitarr[widx] = cur_output_word;
+ nonzero_present |= cur_output_word;
+ *word_ct_ptr = widx + 1;
+ if (footer_fpos_ptr && nonzero_present) {
+ if (unlikely(!fread_unlocked(footer_fpos_ptr, sizeof(int64_t), 1, ff))) {
+ FillPgenHeaderReadErrstr(ff, is_pgi, errstr_buf);
+ return kPglRetReadFail;
+ }
+ }
+ return kPglRetSuccess;
+}
+
+PglErr PgfiInitFillExts(const uintptr_t* ext_bitarr, const uint32_t* ext_cumulative_popcounts, uint32_t word_ct, uint32_t is_pgi, FILE* ff, PgenExtensionLl* exts, char* errstr_buf) {
+ {
+ const uint32_t ext_ct = ext_cumulative_popcounts[word_ct - 1] + PopcountWord(ext_bitarr[word_ct - 1]);
+ uint64_t sizes[256];
+ for (uint32_t seq_idx = 0; seq_idx != ext_ct; ++seq_idx) {
+ const uint64_t cur_size = FGetVint63(ff);
+ if (unlikely(cur_size == (1LLU << 63))) {
+ goto PgfiInitFillExts_error_or_eof;
+ }
+ sizes[seq_idx] = cur_size;
+ }
+ const uint32_t type_idx_limit = word_ct * kBitsPerWord;
+ uint32_t next_seq_idx = 0;
+ for (PgenExtensionLl* exts_iter = exts; exts_iter; exts_iter = exts_iter->next) {
+ const uint32_t type_idx = exts_iter->type_idx;
+ if (type_idx >= type_idx_limit) {
+ break;
+ }
+ if ((exts_iter->size == ~0LLU) || (!IsSet(ext_bitarr, type_idx))) {
+ continue;
+ }
+ const uint32_t seq_idx = RawToSubsettedPos(ext_bitarr, ext_cumulative_popcounts, type_idx);
+ const uint64_t cur_size = sizes[seq_idx];
+ if (unlikely(cur_size != exts_iter->size)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: PgfiInitLoadExts() extension byte-size mismatch.\n");
+ return kPglRetImproperFunctionCall;
+ }
+ if (seq_idx > next_seq_idx) {
+ uint64_t bytes_to_skip = 0;
+ for (uint32_t uii = next_seq_idx; uii != seq_idx; ++uii) {
+ bytes_to_skip += sizes[uii];
+ }
+ if (unlikely(fseeko(ff, bytes_to_skip, SEEK_CUR))) {
+ FillPgenHeaderReadErrstrFromNzErrno(is_pgi, errstr_buf);
+ return kPglRetReadFail;
+ }
+ }
+ if (unlikely(fread_checked(exts_iter->contents, cur_size, ff))) {
+ FillPgenHeaderReadErrstr(ff, is_pgi, errstr_buf);
+ return kPglRetReadFail;
+ }
+ next_seq_idx = seq_idx + 1;
+ }
+ return kPglRetSuccess;
+ }
+ PgfiInitFillExts_error_or_eof:
+ if (ferror_unlocked(ff)) {
+ FillPgenHeaderReadErrstrFromNzErrno(is_pgi, errstr_buf);
+ return kPglRetReadFail;
+ }
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid .pgen%s.\n", is_pgi? ".pgi file" : " header");
+ return kPglRetMalformedInput;
+}
+
+PglErr PgfiInitLoadExts(PgenHeaderCtrl header_ctrl, PgenFileInfo* pgfip, PgenExtensionLl* header_exts, PgenExtensionLl* footer_exts, char* errstr_buf) {
+ const uint64_t starting_fpos = ftello(pgfip->shared_ff);
+ FILE* header_ff = pgfip->pgi_ff;
+ const uint32_t is_pgi = (header_ff != nullptr);
+ if (!is_pgi) {
+ header_ff = pgfip->shared_ff;
+ assert(header_ff);
+ }
+ {
+ const uint32_t vrtype_and_fpos_storage = header_ctrl & 15;
+ const uint32_t vrec_len_byte_ct = 1 + (vrtype_and_fpos_storage & 3);
+ const uint32_t phase_or_dosage_present = (vrtype_and_fpos_storage >= 4);
+ const uint32_t nonref_flags_stored = ((header_ctrl >> 6) == 3);
+ const uint64_t ext_fpos = PglHeaderBaseEndOffset(pgfip->raw_variant_ct, vrec_len_byte_ct, phase_or_dosage_present, nonref_flags_stored);
+ if (unlikely(fseeko(header_ff, ext_fpos, SEEK_SET))) {
+ FillPgenHeaderReadErrstrFromNzErrno(is_pgi, errstr_buf);
+ return kPglRetReadFail;
+ }
+ }
+ uintptr_t header_bitarr[(256 / kBitsPerWord) + 1];
+ uint32_t header_bitarr_cumulative_popcounts[(256 / kBitsPerWord) + 1];
+ uint32_t header_ext_word_ct;
+ PglErr reterr = PgfiInitReloadExtSet(is_pgi, header_ff, header_bitarr, header_bitarr_cumulative_popcounts, nullptr, &header_ext_word_ct, errstr_buf);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ uintptr_t footer_bitarr[(256 / kBitsPerWord) + 1];
+ uint32_t footer_bitarr_cumulative_popcounts[(256 / kBitsPerWord) + 1];
+ uint32_t footer_ext_word_ct;
+ uint64_t footer_extensions_fpos;
+ reterr = PgfiInitReloadExtSet(is_pgi, header_ff, footer_bitarr, footer_bitarr_cumulative_popcounts, &footer_extensions_fpos, &footer_ext_word_ct, errstr_buf);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ if (header_exts) {
+ reterr = PgfiInitFillExts(header_bitarr, header_bitarr_cumulative_popcounts, header_ext_word_ct, is_pgi, header_ff, header_exts, errstr_buf);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ }
+ if (is_pgi) {
+ if (unlikely(fclose_null(&pgfip->pgi_ff))) {
+ FillPgenHeaderReadErrstrFromNzErrno(1, errstr_buf);
+ return kPglRetReadFail;
+ }
+ }
+ if (footer_exts) {
+ if (unlikely(fseeko(pgfip->shared_ff, footer_extensions_fpos, SEEK_SET))) {
+ FillPgenReadErrstrFromNzErrno(errstr_buf);
+ return kPglRetReadFail;
+ }
+ reterr = PgfiInitFillExts(footer_bitarr, footer_bitarr_cumulative_popcounts, footer_ext_word_ct, 0, pgfip->shared_ff, footer_exts, errstr_buf);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ }
+ if (unlikely(fseeko(pgfip->shared_ff, starting_fpos, SEEK_SET))) {
+ FillPgenReadErrstrFromNzErrno(errstr_buf);
+ return kPglRetReadFail;
+ }
+ return kPglRetSuccess;
+}
+
+uint32_t GetLdbaseVidx(const unsigned char* vrtypes, uint32_t cur_vidx) {
+#ifdef __LP64__
+ const VecW* vrtypes_valias = R_CAST(const VecW*, vrtypes);
+ const uint32_t cur_vidx_orig_remainder = cur_vidx % kBytesPerVec;
+ uint32_t vidx_vec_idx = cur_vidx / kBytesPerVec;
+ Vec8thUint v8ui = 0;
+ if (cur_vidx_orig_remainder) {
+ const VecW cur_vvec = vrtypes_valias[vidx_vec_idx];
+ // non-ld: ((bit 2) OR (NOT bit 1))
+ const VecW cur_vvec_bit2 = vecw_slli(cur_vvec, 5);
+ const VecW inv_cur_vvec_bit1 = ~vecw_slli(cur_vvec, 6);
+ v8ui = vecw_movemask(cur_vvec_bit2 | inv_cur_vvec_bit1);
+ v8ui = bzhi(v8ui, cur_vidx_orig_remainder);
+ }
+ while (!v8ui) {
+ const VecW cur_vvec = vrtypes_valias[--vidx_vec_idx];
+ const VecW cur_vvec_bit2 = vecw_slli(cur_vvec, 5);
+ const VecW inv_cur_vvec_bit1 = ~vecw_slli(cur_vvec, 6);
+ v8ui = vecw_movemask(cur_vvec_bit2 | inv_cur_vvec_bit1);
+ }
+ return (vidx_vec_idx * kBytesPerVec) + bsru32(v8ui);
+#else
+ const uintptr_t* vrtypes_walias = R_CAST(const uintptr_t*, vrtypes);
+ const uint32_t cur_vidx_orig_remainder = cur_vidx % kBytesPerWord;
+ uint32_t vidx_word_idx = (cur_vidx - 1) / kBytesPerWord;
+ uintptr_t cur_vrtypes_word = vrtypes_walias[vidx_word_idx];
+ if (cur_vidx_orig_remainder) {
+ // make sure we don't detect a byte after the current position.
+ cur_vrtypes_word = bzhi(cur_vrtypes_word, CHAR_BIT * cur_vidx_orig_remainder);
+ cur_vrtypes_word |= (kMask0101 * 2) << (CHAR_BIT * cur_vidx_orig_remainder);
+ }
+ while (1) {
+ // ((bit 2) OR (NOT bit 1)) for each byte. (possible experiment: see if
+ // the same assembly is generated if this expression is rewritten to use
+ // ands/nots.)
+ const uintptr_t detect_non_ld_word = ((cur_vrtypes_word >> 1) | (~cur_vrtypes_word)) & (kMask0101 * 2);
+ if (detect_non_ld_word) {
+ // find the highest-order set bit in detect_non_ld_word; this corresponds
+ // to the last non-LD-compressed byte (assuming little-endian).
+ const uint32_t new_ldbase_vidx_loworder = bsrw(detect_non_ld_word) / CHAR_BIT;
+ return (vidx_word_idx * kBytesPerWord) + new_ldbase_vidx_loworder;
+ }
+ // everything LD-compressed in the current block. move back 8 bytes in the
+ // array (or 4-bytes for 32-bit build).
+ cur_vrtypes_word = vrtypes_walias[--vidx_word_idx];
+ }
+#endif
+}
+
+uint64_t GetPgfiLdbaseFpos(const PgenFileInfo* pgfip, uintptr_t vidx) {
+ if (!pgfip->var_fpos) {
+ return pgfip->const_fpos_offset + pgfip->const_vrec_width * S_CAST(uint64_t, vidx);
+ }
+ if (pgfip->vrtypes && ((pgfip->vrtypes[vidx] & 6) == 2)) {
+ vidx = GetLdbaseVidx(pgfip->vrtypes, vidx);
+ }
+ return pgfip->var_fpos[vidx];
+}
+
+uint64_t PgfiMultireadGetCachelineReq(const uintptr_t* variant_include, const PgenFileInfo* pgfip, uint32_t variant_ct, uint32_t block_size) {
+ // if block_size < kPglVblockSize, it's ideal for it to be a power of 2 (to
+ // avoid unnecessary vblock crossing), but that's not required.
+ const uint32_t raw_variant_ct = pgfip->raw_variant_ct;
+ if (variant_ct == raw_variant_ct) {
+ variant_include = nullptr;
+ }
+ uint32_t block_ct_m1 = 0;
+ if (raw_variant_ct < block_size) {
+ block_size = raw_variant_ct;
+ } else {
+ block_ct_m1 = (raw_variant_ct - 1) / block_size;
+ }
+ const uint64_t* var_fpos = pgfip->var_fpos;
+ if ((!variant_include) && (!var_fpos)) {
+ return DivUpU64(S_CAST(uint64_t, pgfip->const_vrec_width) * block_size, kCacheline);
+ }
+ uint64_t max_block_byte_ct = 0;
+ uint32_t max_block_variant_ct = 0;
+ for (uint32_t block_idx = 0; ; ++block_idx) {
+ uint32_t variant_uidx_start = block_idx * block_size;
+ uint32_t variant_uidx_end = variant_uidx_start + block_size;
+ if (block_idx >= block_ct_m1) {
+ if (block_idx > block_ct_m1) {
+ break;
+ }
+ variant_uidx_end = raw_variant_ct;
+ }
+ if (variant_include) {
+ variant_uidx_start = AdvBoundedTo1Bit(variant_include, variant_uidx_start, variant_uidx_end);
+ if (variant_uidx_start == variant_uidx_end) {
+ continue;
+ }
+ variant_uidx_end = 1 + FindLast1BitBefore(variant_include, variant_uidx_end);
+ }
+ if (var_fpos) {
+ if (pgfip->vrtypes && ((pgfip->vrtypes[variant_uidx_start] & 6) == 2)) {
+ // need to start loading from LD-buddy
+ variant_uidx_start = GetLdbaseVidx(pgfip->vrtypes, variant_uidx_start);
+ }
+ uint64_t cur_block_byte_ct = var_fpos[variant_uidx_end] - var_fpos[variant_uidx_start];
+ if (cur_block_byte_ct > max_block_byte_ct) {
+ max_block_byte_ct = cur_block_byte_ct;
+ }
+ } else {
+ // no LD compression here
+ const uint32_t cur_block_variant_ct = variant_uidx_end - variant_uidx_start;
+ if (cur_block_variant_ct > max_block_variant_ct) {
+ max_block_variant_ct = cur_block_variant_ct;
+ if (cur_block_variant_ct == block_size) {
+ // no larger value possible, terminate search
+ break;
+ }
+ }
+ }
+ }
+ if (!var_fpos) {
+ max_block_byte_ct = max_block_variant_ct * S_CAST(uint64_t, pgfip->const_vrec_width);
+ }
+ return DivUpU64(max_block_byte_ct, kCacheline);
+}
+
+PglErr PgfiMultiread(const uintptr_t* variant_include, uint32_t variant_uidx_start, uint32_t variant_uidx_end, uint32_t load_variant_ct, PgenFileInfo* pgfip) {
+ // we could permit 0, but that encourages lots of unnecessary thread wakeups
+ assert(load_variant_ct);
+ if (variant_include) {
+ variant_uidx_start = AdvTo1Bit(variant_include, variant_uidx_start);
+ }
+ assert(variant_uidx_start < pgfip->raw_variant_ct);
+ uint64_t block_offset;
+ if (pgfip->vrtypes && ((pgfip->vrtypes[variant_uidx_start] & 6) == 2)) {
+ // need to start loading from LD-buddy
+ // assume for now that we can't skip any variants between the LD-buddy and
+ // the actual first variant; should remove this assumption later
+ block_offset = pgfip->var_fpos[GetLdbaseVidx(pgfip->vrtypes, variant_uidx_start)];
+ } else {
+ block_offset = GetPgfiFpos(pgfip, variant_uidx_start);
+ }
+ pgfip->block_offset = block_offset;
+ uint64_t next_read_start_fpos = block_offset;
+ // break this up into multiple freads whenever this lets us skip an entire
+ // disk block
+ // (possible todo: make the disk block size a parameter of this function)
+ do {
+ const uint64_t cur_read_start_fpos = next_read_start_fpos;
+ uint32_t cur_read_uidx_end;
+ uint64_t cur_read_end_fpos;
+ while (1) {
+ cur_read_uidx_end = variant_uidx_end;
+ if (cur_read_uidx_end - variant_uidx_start == load_variant_ct) {
+ cur_read_end_fpos = GetPgfiFpos(pgfip, cur_read_uidx_end);
+ load_variant_ct = 0;
+ break;
+ }
+ cur_read_uidx_end = AdvTo0Bit(variant_include, variant_uidx_start);
+ cur_read_end_fpos = GetPgfiFpos(pgfip, cur_read_uidx_end);
+ load_variant_ct -= cur_read_uidx_end - variant_uidx_start;
+ if (!load_variant_ct) {
+ break;
+ }
+ variant_uidx_start = AdvTo1Bit(variant_include, cur_read_uidx_end);
+ next_read_start_fpos = GetPgfiFpos(pgfip, variant_uidx_start);
+ if (pgfip->vrtypes && ((pgfip->vrtypes[variant_uidx_start] & 6) == 2)) {
+ const uint32_t variant_read_uidx_start = GetLdbaseVidx(pgfip->vrtypes, variant_uidx_start);
+ if (variant_read_uidx_start <= cur_read_uidx_end) {
+ continue;
+ }
+ next_read_start_fpos = pgfip->var_fpos[variant_read_uidx_start];
+ }
+ // bugfix: can't use do..while, since previous "continue" needs to skip
+ // this check
+ if (RoundDownPow2U64(cur_read_end_fpos + kDiskBlockSize + 1LLU, kDiskBlockSize) < RoundDownPow2U64(next_read_start_fpos, kDiskBlockSize)) {
+ // minor bugfix (7 Jul 2017): break, not continue
+ break;
+ }
+ }
+ if (unlikely(fseeko(pgfip->shared_ff, cur_read_start_fpos, SEEK_SET))) {
+ return kPglRetReadFail;
+ }
+ uintptr_t len = cur_read_end_fpos - cur_read_start_fpos;
+ if (unlikely(fread_checked(K_CAST(unsigned char*, &(pgfip->block_base[cur_read_start_fpos - block_offset])), len, pgfip->shared_ff))) {
+ if (feof_unlocked(pgfip->shared_ff)) {
+ errno = 0;
+ }
+ return kPglRetReadFail;
+ }
+ } while (load_variant_ct);
+ return kPglRetSuccess;
+}
+
+
+void PreinitPgr(PgenReader* pgr_ptr) {
+ PgenReaderMain* pgrp = GetPgrp(pgr_ptr);
+ pgrp->ff = nullptr;
+}
+
+PglErr PgrInit(const char* fname, uint32_t max_vrec_width, PgenFileInfo* pgfip, PgenReader* pgr_ptr, unsigned char* pgr_alloc) {
+ PgenReaderMain* pgrp = GetPgrp(pgr_ptr);
+ // See CountPgrAllocCachelinesRequired().
+ // Could add a debug mode.
+
+ // Mode 1 (block-fread): block_base initialized, shared_ff != nullptr. fname
+ // must be nullptr.
+ // Mode 2 (per-variant fread): block_base == nullptr. fname must be
+ // non-null, though it isn't actually referenced during the first
+ // PgenReader initialization (instead shared_ff is moved).
+ unsigned char* pgr_alloc_iter = pgr_alloc;
+ if (pgfip->block_base != nullptr) {
+ if (unlikely(fname != nullptr)) {
+ return kPglRetImproperFunctionCall;
+ }
+ pgrp->ff = nullptr; // make sure CleanupPgr() doesn't break
+ } else {
+ if (pgfip->shared_ff != nullptr) {
+ if (unlikely(fname == nullptr)) {
+ return kPglRetImproperFunctionCall;
+ }
+ // move instead of close/reopen.
+ pgrp->ff = pgfip->shared_ff;
+ pgfip->shared_ff = nullptr;
+ } else {
+ pgrp->ff = fopen(fname, FOPEN_RB);
+ if (unlikely(!pgrp->ff)) {
+ return kPglRetOpenFail;
+ }
+ }
+ // now that arbitrary info can be stored between header and first variant
+ // record, always seek.
+ uint64_t seek_pos;
+ if (pgfip->var_fpos) {
+ seek_pos = pgfip->var_fpos[0];
+ } else {
+ seek_pos = pgfip->const_fpos_offset;
+ }
+ if (unlikely(fseeko(pgrp->ff, seek_pos, SEEK_SET))) {
+ return kPglRetReadFail;
+ }
+ }
+ pgrp->fi = *pgfip; // struct copy
+ if (fname) {
+ // Mode 2 per-reader load buffer
+ pgrp->fread_buf = pgr_alloc_iter;
+ pgr_alloc_iter = &(pgr_alloc_iter[RoundUpPow2(max_vrec_width, kCacheline)]);
+ }
+ pgrp->fp_vidx = 0;
+ pgrp->ldbase_vidx = UINT32_MAX;
+ pgrp->ldbase_stypes = kfPgrLdcache0;
+ pgrp->ldbase_genovec = nullptr;
+ pgrp->ldbase_raregeno = nullptr;
+ pgrp->ldbase_difflist_sample_ids = nullptr;
+
+ const PgenGlobalFlags gflags = pgrp->fi.gflags;
+ const uint32_t raw_sample_ct = pgrp->fi.raw_sample_ct;
+ const uint32_t genovec_bytes_req = NypCtToCachelineCt(raw_sample_ct) * kCacheline;
+ pgrp->ldbase_raw_genovec = S_CAST(uintptr_t*, arena_alloc_raw(genovec_bytes_req, &pgr_alloc_iter));
+ const uint32_t bitvec_bytes_req = BitCtToCachelineCt(raw_sample_ct) * kCacheline;
+ const uint32_t ld_compression_present = (gflags / kfPgenGlobalLdCompressionPresent) & 1;
+ const uint32_t max_difflist_entry_ct_base = (raw_sample_ct / kPglMaxDifflistLenDivisor);
+ const uint32_t max_allele_ct = pgrp->fi.max_allele_ct;
+ pgrp->workspace_difflist_sample_ids = nullptr;
+ if ((gflags & kfPgenGlobalDifflistOrLdPresent) || (max_allele_ct > 2)) {
+ pgrp->workspace_difflist_sample_ids = S_CAST(uint32_t*, arena_alloc_raw_rd((max_difflist_entry_ct_base + 1) * sizeof(int32_t), &pgr_alloc_iter));
+ }
+ if (gflags & kfPgenGlobalDifflistOrLdPresent) {
+ // const uint32_t max_difflist_entry_ct = max_difflist_entry_ct_base * (1 + ld_compression_present);
+
+ const uintptr_t raregeno_bytes_req = NypCtToCachelineCt(max_difflist_entry_ct_base) * kCacheline;
+ pgrp->workspace_raregeno_vec = S_CAST(uintptr_t*, arena_alloc_raw(raregeno_bytes_req, &pgr_alloc_iter));
+ pgrp->workspace_raregeno_tmp_loadbuf = S_CAST(uintptr_t*, arena_alloc_raw(raregeno_bytes_req, &pgr_alloc_iter));
+
+ if (ld_compression_present) {
+ pgrp->ldbase_genovec = S_CAST(uintptr_t*, arena_alloc_raw(genovec_bytes_req, &pgr_alloc_iter));
+
+ pgrp->ldbase_raregeno = S_CAST(uintptr_t*, arena_alloc_raw(raregeno_bytes_req, &pgr_alloc_iter));
+
+ pgrp->ldbase_difflist_sample_ids = S_CAST(uint32_t*, arena_alloc_raw_rd((max_difflist_entry_ct_base + 1) * sizeof(int32_t), &pgr_alloc_iter));
+ }
+ } else {
+ pgrp->workspace_raregeno_vec = nullptr;
+ pgrp->workspace_raregeno_tmp_loadbuf = nullptr;
+ }
+ pgrp->workspace_vec = nullptr;
+ pgrp->workspace_aux1x_present = nullptr;
+ pgrp->workspace_imp_r2 = nullptr;
+ pgrp->workspace_all_hets = nullptr;
+ pgrp->workspace_subset = nullptr;
+ const PgenGlobalFlags gflags_hphase_dosage = gflags & (kfPgenGlobalHardcallPhasePresent | kfPgenGlobalDosagePresent);
+ if ((max_allele_ct > 2) || gflags_hphase_dosage) {
+ pgrp->workspace_vec = S_CAST(uintptr_t*, arena_alloc_raw(genovec_bytes_req, &pgr_alloc_iter));
+ if (max_allele_ct > 2) {
+ pgrp->workspace_aux1x_present = S_CAST(uintptr_t*, arena_alloc_raw(bitvec_bytes_req, &pgr_alloc_iter));
+ pgrp->workspace_imp_r2 = S_CAST(uint64_t*, arena_alloc_raw_rd(2 * max_allele_ct * sizeof(int64_t), &pgr_alloc_iter));
+ }
+ if (gflags & kfPgenGlobalHardcallPhasePresent) {
+ pgrp->workspace_all_hets = S_CAST(uintptr_t*, arena_alloc_raw(bitvec_bytes_req, &pgr_alloc_iter));
+ pgrp->workspace_subset = S_CAST(uintptr_t*, arena_alloc_raw(bitvec_bytes_req, &pgr_alloc_iter));
+ }
+ pgrp->workspace_dosage_present = nullptr;
+ pgrp->workspace_dphase_present = nullptr;
+ if (gflags & kfPgenGlobalDosagePresent) {
+ pgrp->workspace_dosage_present = S_CAST(uintptr_t*, arena_alloc_raw(bitvec_bytes_req, &pgr_alloc_iter));
+ if (gflags & kfPgenGlobalDosagePhasePresent) {
+ pgrp->workspace_dphase_present = S_CAST(uintptr_t*, arena_alloc_raw(bitvec_bytes_req, &pgr_alloc_iter));
+ }
+ }
+ }
+ return kPglRetSuccess;
+}
+
+void PgrPlink1ToPlink2InplaceUnsafe(uint32_t sample_ct, uintptr_t* genovec) {
+ // 00 -> 10, 01 -> 11, 10 -> 01, 11 -> 00
+ // new low bit = [old low] ^ [old high]
+ // new high bit = ~[old high]
+ // "unsafe" because trailing bits are not zeroed out.
+ const uint32_t vec_ct = NypCtToVecCt(sample_ct);
+ const VecW m1 = VCONST_W(kMask5555);
+ const VecW not_m1 = VCONST_W(kMaskAAAA);
+ VecW* vptr = R_CAST(VecW*, genovec);
+ for (uint32_t vidx = 0; vidx != vec_ct; vidx++) {
+ const VecW not_cur_vec_high = vecw_and_notfirst(vptr[vidx], not_m1);
+ vptr[vidx] = (vecw_and_notfirst(vptr[vidx], m1) ^ vecw_srli(not_cur_vec_high, 1)) | not_cur_vec_high;
+ }
+}
+
+void PgrPlink2ToPlink1InplaceUnsafe(uint32_t sample_ct, uintptr_t* genovec) {
+ // 00 -> 11, 01 -> 10, 10 -> 00, 11 -> 01
+ // new low bit = [old low] ^ (~[old high])
+ // new high bit = ~[old high]
+ const uint32_t vec_ct = NypCtToVecCt(sample_ct);
+ const VecW not_m1 = VCONST_W(kMaskAAAA);
+ VecW* vptr = R_CAST(VecW*, genovec);
+ for (uint32_t vidx = 0; vidx != vec_ct; vidx++) {
+ VecW cur_vec = vptr[vidx];
+ VecW not_cur_vec_high = vecw_and_notfirst(cur_vec, not_m1);
+ vptr[vidx] = (vecw_and_notfirst(not_m1, cur_vec) ^ vecw_srli(not_cur_vec_high, 1)) | not_cur_vec_high;
+ }
+}
+
+PglErr ParseDifflistHeader(const unsigned char* fread_end, uint32_t raw_sample_ct, const unsigned char** fread_pp, uintptr_t* raregeno_buf, const unsigned char** difflist_group_info_ptr, uint32_t* difflist_len_ptr) {
+ // Can be used for deltalists as well: pass raregeno_buf == nullptr.
+ // Trailing bits of raregeno may not be zeroed out.
+ // Will need a separate 64-bit version of this for multiallelic dosages.
+ const uint32_t difflist_len = GetVint31(fread_end, fread_pp);
+ // moved here to address maybe-uninitialized warnings
+ *difflist_group_info_ptr = *fread_pp;
+ *difflist_len_ptr = difflist_len;
+ if (!difflist_len) {
+ return kPglRetSuccess;
+ }
+ if (unlikely(difflist_len > raw_sample_ct / kPglMaxDifflistLenDivisor)) {
+ // automatically catches GetVint31() failure
+ return kPglRetMalformedInput;
+ }
+ const uint32_t group_ct = DivUp(difflist_len, kPglDifflistGroupSize);
+ const uint32_t sample_id_byte_ct = BytesToRepresentNzU32(raw_sample_ct);
+ const uint32_t difflist_index_byte_ct = group_ct * (sample_id_byte_ct + 1) - 1;
+ if (PtrAddCk(fread_end, difflist_index_byte_ct, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ if (!raregeno_buf) {
+ // for sample ID lists without 2-bit genotype info, used for sparse dosage
+ return kPglRetSuccess;
+ }
+ const uint32_t raregeno_byte_ct = NypCtToByteCt(difflist_len);
+ const unsigned char* raregeno_start = *fread_pp;
+ if (PtrAddCk(fread_end, raregeno_byte_ct, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ // possible todo: just return raregeno_start, and let the caller perform this
+ // copy
+ memcpy(raregeno_buf, raregeno_start, raregeno_byte_ct);
+ return kPglRetSuccess;
+}
+
+PglErr ParseAndSaveDifflist(const unsigned char* fread_end, uint32_t raw_sample_ct, const unsigned char** fread_pp, uintptr_t* __restrict raregeno, uint32_t* __restrict difflist_sample_ids, uint32_t* __restrict difflist_len_ptr) {
+ // Appropriate when we need to iterate through the difflist multiple times.
+ // Other functions are more efficient if we only need to process the list
+ // once.
+ // Trailing bits of raregeno may not be zeroed out.
+ const unsigned char* group_info_iter;
+ PglErr reterr = ParseDifflistHeader(fread_end, raw_sample_ct, fread_pp, raregeno, &group_info_iter, difflist_len_ptr);
+ uint32_t difflist_len = *difflist_len_ptr;
+ // todo: check if difflist_len == 0 early exit is a net positive or negative
+ // on a few test datasets
+ if (reterr || (!difflist_len)) {
+ return reterr;
+ }
+ const uint32_t sample_id_byte_ct = BytesToRepresentNzU32(raw_sample_ct);
+ uint32_t* difflist_sample_ids_iter = difflist_sample_ids;
+ for (uint32_t difflist_remaining = difflist_len; ; ) {
+ const uint32_t* difflist_sample_ids_stop;
+ if (difflist_remaining < kPglDifflistGroupSize) {
+ if (!difflist_remaining) {
+ return kPglRetSuccess;
+ }
+ difflist_sample_ids_stop = &(difflist_sample_ids_iter[difflist_remaining]);
+ difflist_remaining = 0;
+ } else {
+ difflist_sample_ids_stop = &(difflist_sample_ids_iter[kPglDifflistGroupSize]);
+ difflist_remaining -= kPglDifflistGroupSize;
+ }
+ // can't use uint32_t assignment trick for now since there's a corner case
+ // where that would read past the end of the mapped address range
+ uintptr_t raw_sample_idx = SubU32Load(group_info_iter, sample_id_byte_ct);
+ group_info_iter = &(group_info_iter[sample_id_byte_ct]);
+ while (1) {
+#ifndef __LP64__
+ // perform more frequent checks in 32-bit build since raw_sample_idx may
+ // overflow
+ // misses "small negative" malformed input, but it'll catch data
+ // corruption with very high probability
+ if (unlikely(raw_sample_idx >= raw_sample_ct)) {
+ return kPglRetMalformedInput;
+ }
+#endif
+ *difflist_sample_ids_iter++ = raw_sample_idx;
+ if (difflist_sample_ids_iter == difflist_sample_ids_stop) {
+ break;
+ }
+ raw_sample_idx += GetVint31(fread_end, fread_pp);
+ }
+#ifdef __LP64__
+ if (unlikely(raw_sample_idx >= raw_sample_ct)) {
+ return kPglRetMalformedInput;
+ }
+#endif
+ }
+ return kPglRetSuccess;
+}
+
+PglErr ParseAndSaveDifflistProperSubset(const unsigned char* fread_end, const uintptr_t* __restrict sample_include, const uint32_t* __restrict sample_include_cumulative_popcounts, uint32_t raw_sample_ct, const unsigned char** fread_pp, uintptr_t* __restrict raregeno, uint32_t* __restrict difflist_sample_ids, uint32_t* __restrict difflist_len_ptr, uintptr_t* __restrict raregeno_workspace) {
+ // Requires a PROPER subset. Might want to just merge this with
+ // ParseAndSaveDifflist() and rename appropriately.
+ // Trailing bits of raregeno are zeroed out.
+ uint32_t raw_difflist_len;
+ const unsigned char* group_info_iter;
+ PglErr reterr = ParseDifflistHeader(fread_end, raw_sample_ct, fread_pp, raregeno_workspace, &group_info_iter, &raw_difflist_len);
+ if (reterr || (!raw_difflist_len)) {
+ *difflist_len_ptr = 0;
+ return reterr;
+ }
+ const uint32_t subgroup_idx_last = (raw_difflist_len - 1) / kBitsPerWordD2;
+ const uint32_t sample_id_byte_ct = BytesToRepresentNzU32(raw_sample_ct);
+ uintptr_t* raregeno_workspace_iter = raregeno_workspace;
+ uintptr_t* raregeno_iter = raregeno;
+ uint32_t* difflist_sample_ids_iter = difflist_sample_ids;
+
+ // technically doesn't need to be initialized, but I have principles
+ uintptr_t raw_sample_idx = 0;
+
+ uintptr_t raregeno_word = 0;
+ uint32_t subgroup_len_m1 = kBitsPerWordD2 - 1;
+ uint32_t difflist_len_lowbits = 0;
+ for (uint32_t subgroup_idx = 0; ; ++subgroup_idx) {
+ if (subgroup_idx >= subgroup_idx_last) {
+ if (subgroup_idx > subgroup_idx_last) {
+ if (difflist_len_lowbits) {
+ *raregeno_iter = raregeno_word;
+ }
+ *difflist_len_ptr = S_CAST(uintptr_t, difflist_sample_ids_iter - difflist_sample_ids) + difflist_len_lowbits;
+ return kPglRetSuccess;
+ }
+ subgroup_len_m1 &= raw_difflist_len - 1;
+ }
+ // We need to consume a new rare genotype word every 32 entries, and pull a
+ // raw sample index from the difflist header every 64 entries. So it's
+ // best to make the inner loop have a period of 32 (call this a 'subgroup',
+ // where 'group' refers to a set of 64 entries).
+ if (!(subgroup_idx % (kPglDifflistGroupSize / kBitsPerWordD2))) {
+#ifdef __LP64__
+ if (unlikely(raw_sample_idx >= raw_sample_ct)) {
+ return kPglRetMalformedInput;
+ }
+#endif
+ raw_sample_idx = SubU32Load(group_info_iter, sample_id_byte_ct);
+ group_info_iter = &(group_info_iter[sample_id_byte_ct]);
+ } else {
+ raw_sample_idx += GetVint31(fread_end, fread_pp);
+ }
+ uintptr_t raregeno_workspace_word = *raregeno_workspace_iter++;
+ for (uint32_t raw_difflist_idx_lowbits = 0; ; ++raw_difflist_idx_lowbits) {
+#ifndef __LP64__
+ if (unlikely(raw_sample_idx >= raw_sample_ct)) {
+ return kPglRetMalformedInput;
+ }
+#endif
+ if (IsSet(sample_include, raw_sample_idx)) {
+ raregeno_word |= ((raregeno_workspace_word >> (2 * raw_difflist_idx_lowbits)) & 3) << (difflist_len_lowbits * 2);
+ difflist_sample_ids_iter[difflist_len_lowbits] = RawToSubsettedPos(sample_include, sample_include_cumulative_popcounts, raw_sample_idx);
+ if (difflist_len_lowbits++ == (kBitsPerWordD2 - 1)) {
+ *raregeno_iter++ = raregeno_word;
+ raregeno_word = 0;
+ difflist_len_lowbits = 0;
+ difflist_sample_ids_iter = &(difflist_sample_ids_iter[kBitsPerWordD2]);
+ }
+ }
+ if (raw_difflist_idx_lowbits == subgroup_len_m1) {
+ break;
+ }
+ raw_sample_idx += GetVint31(fread_end, fread_pp);
+ }
+ }
+}
+
+PglErr ParseLdAndMergeDifflistSubset(const unsigned char* fread_end, const uintptr_t* __restrict sample_include, const uint32_t* __restrict sample_include_cumulative_popcounts, const uintptr_t* __restrict ldbase_raregeno, const uint32_t* __restrict ldbase_difflist_sample_ids, uint32_t ldbase_difflist_len, uintptr_t ldbase_common_geno, uint32_t raw_sample_ct, uint32_t sample_ct, const unsigned char** fread_pp, uintptr_t* __restrict merged_raregeno, uint32_t* __restrict merged_difflist_sample_ids, uint32_t* __restrict merged_difflist_len_ptr, uintptr_t* __restrict diff_from_ldbase_raregeno_iter) {
+ // Used when the ldbase variant was saved as a difflist, and it's useful to
+ // process the current variant as a difflist.
+ // * Assumes ldbase_difflist_sample_ids[ldbase_difflist_len]==sample_ct.
+ // * Assumes sample_include == nullptr if no subsetting needed. (Otherwise,
+ // it'll still work, but performance will be worse.)
+ // Trailing bits of merged_raregeno may not be zeroed out.
+ // Caller is responsible for inverting ldbase_common_geno and merged_raregeno
+ // afterward if necessary.
+ assert(ldbase_difflist_sample_ids[ldbase_difflist_len] == sample_ct);
+ uint32_t diff_from_ldbase_len;
+ const unsigned char* group_info_iter;
+ PglErr reterr = ParseDifflistHeader(fread_end, raw_sample_ct, fread_pp, diff_from_ldbase_raregeno_iter, &group_info_iter, &diff_from_ldbase_len);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ if (!diff_from_ldbase_len) {
+ memcpy(merged_difflist_sample_ids, ldbase_difflist_sample_ids, ldbase_difflist_len * sizeof(int32_t));
+ *merged_difflist_len_ptr = ldbase_difflist_len;
+ CopyNyparr(ldbase_raregeno, ldbase_difflist_len, merged_raregeno);
+ return kPglRetSuccess;
+ }
+ const uint32_t subgroup_idx_last = (diff_from_ldbase_len - 1) / kBitsPerWordD2;
+ const uint32_t sample_id_byte_ct = BytesToRepresentNzU32(raw_sample_ct);
+ uintptr_t* merged_raregeno_iter = merged_raregeno;
+ uint32_t* merged_difflist_sample_ids_iter = merged_difflist_sample_ids;
+ uintptr_t merged_raregeno_word = 0;
+ uintptr_t ldbase_raregeno_word = 0;
+ uintptr_t diff_from_ldbase_raregeno_word = 0;
+ uint32_t ldbase_sample_idx = ldbase_difflist_sample_ids[0];
+ uintptr_t raw_sample_idx = 0;
+ uintptr_t cur_geno = 0;
+ uint32_t sample_idx = 0;
+ uint32_t ldbase_difflist_idx = 0;
+ uint32_t done = 0;
+ uint32_t subgroup_len_m1 = kBitsPerWordD2 - 1;
+ uint32_t merge_idx_lowbits = 0;
+ for (uint32_t subgroup_idx = 0; ; ++subgroup_idx) {
+ uint32_t diff_from_ldbase_idx_lowbits = 0;
+ if (subgroup_idx >= subgroup_idx_last) {
+ if (subgroup_idx > subgroup_idx_last) {
+ done = 1;
+ sample_idx = sample_ct;
+ goto ParseLdAndMergeDifflistSubset_finish;
+ }
+ subgroup_len_m1 &= diff_from_ldbase_len - 1;
+ }
+ if (!(subgroup_idx % (kPglDifflistGroupSize / kBitsPerWordD2))) {
+ raw_sample_idx = SubU32Load(group_info_iter, sample_id_byte_ct);
+ group_info_iter = &(group_info_iter[sample_id_byte_ct]);
+ } else {
+ raw_sample_idx += GetVint31(fread_end, fread_pp);
+ }
+ diff_from_ldbase_raregeno_word = *diff_from_ldbase_raregeno_iter++;
+ for (; ; ++diff_from_ldbase_idx_lowbits) {
+ if (unlikely(raw_sample_idx >= raw_sample_ct)) {
+ return kPglRetMalformedInput;
+ }
+ cur_geno = diff_from_ldbase_raregeno_word & 3;
+ if ((!sample_include) || IsSet(sample_include, raw_sample_idx)) {
+ sample_idx = sample_include? RawToSubsettedPos(sample_include, sample_include_cumulative_popcounts, raw_sample_idx) : raw_sample_idx;
+ ParseLdAndMergeDifflistSubset_finish:
+ while (ldbase_sample_idx < sample_idx) {
+ // replace with blocked copy?
+ if (!(ldbase_difflist_idx % kBitsPerWordD2)) {
+ ldbase_raregeno_word = ldbase_raregeno[ldbase_difflist_idx / kBitsPerWordD2];
+ }
+ *merged_difflist_sample_ids_iter++ = ldbase_sample_idx;
+ merged_raregeno_word |= (ldbase_raregeno_word & 3) << (2 * merge_idx_lowbits);
+ if (merge_idx_lowbits++ == (kBitsPerWordD2 - 1)) {
+ *merged_raregeno_iter++ = merged_raregeno_word;
+ merged_raregeno_word = 0;
+ merge_idx_lowbits = 0;
+ }
+ ++ldbase_difflist_idx;
+ ldbase_raregeno_word >>= 2;
+ ldbase_sample_idx = ldbase_difflist_sample_ids[ldbase_difflist_idx];
+ }
+ if (ldbase_sample_idx == sample_idx) {
+ if (done) {
+ if (merge_idx_lowbits) {
+ *merged_raregeno_iter = merged_raregeno_word;
+ }
+ *merged_difflist_len_ptr = merged_difflist_sample_ids_iter - merged_difflist_sample_ids;
+ return kPglRetSuccess;
+ }
+ if (!(ldbase_difflist_idx % kBitsPerWordD2)) {
+ ldbase_raregeno_word = ldbase_raregeno[ldbase_difflist_idx / kBitsPerWordD2];
+ }
+ ++ldbase_difflist_idx;
+ ldbase_raregeno_word >>= 2;
+ ldbase_sample_idx = ldbase_difflist_sample_ids[ldbase_difflist_idx];
+ }
+ if (cur_geno != ldbase_common_geno) {
+ *merged_difflist_sample_ids_iter++ = sample_idx;
+ merged_raregeno_word |= cur_geno << (2 * merge_idx_lowbits);
+ if (merge_idx_lowbits++ == (kBitsPerWordD2 - 1)) {
+ *merged_raregeno_iter++ = merged_raregeno_word;
+ merged_raregeno_word = 0;
+ merge_idx_lowbits = 0;
+ }
+ }
+ }
+ if (diff_from_ldbase_idx_lowbits == subgroup_len_m1) {
+ break;
+ }
+ raw_sample_idx += GetVint31(fread_end, fread_pp);
+ diff_from_ldbase_raregeno_word >>= 2;
+ }
+ }
+}
+
+/*
+void PrunedDifflistToGenovecSubsetUnsafe(const uintptr_t* __restrict sample_include, const uint32_t* __restrict sample_include_cumulative_popcounts, const uintptr_t* __restrict raregeno, const uint32_t* __restrict difflist_sample_ids, uint32_t sample_ct, uint32_t difflist_common_geno, uint32_t difflist_len, uintptr_t* __restrict genovec) {
+ // Designed to be used after genovec subsetting. Assumes all difflist
+ // entries are valid. Ok for trailing bits of raregeno to be nonzero. Does
+ // not zero out trailing bits of genovec.
+ const uint32_t vec_ct = NypCtToVecCt(sample_ct);
+ vecset(genovec, difflist_common_geno * kMask5555, vec_ct);
+ if (!difflist_len) {
+ return;
+ }
+ const uintptr_t* raregeno_incr = raregeno;
+ const uint32_t* difflist_sample_ids_iter = difflist_sample_ids;
+ const uint32_t* difflist_sample_ids_end = &(difflist_sample_ids[difflist_len]);
+ // don't think there's a point to separating out the
+ // difflist_common_geno == 0 case here, since the RawToSubsettedPos
+ // operation is a bit expensive
+ while (1) {
+ // er, get rid of this undefined behavior if we uncomment this function
+ const uint32_t* difflist_sample_ids_stop = &(difflist_sample_ids_iter[kBitsPerWordD2]);
+ uintptr_t raregeno_word = *raregeno_incr++;
+ if (difflist_sample_ids_stop > difflist_sample_ids_end) {
+ if (difflist_sample_ids_iter == difflist_sample_ids_end) {
+ return;
+ }
+ difflist_sample_ids_stop = difflist_sample_ids_end;
+ }
+ while (1) {
+ const uint32_t cur_sample_idx = *difflist_sample_ids_iter;
+ const uint32_t cur_subsetted_pos = RawToSubsettedPos(sample_include, sample_include_cumulative_popcounts, cur_sample_idx);
+ AssignNyparrEntry(cur_subsetted_pos, raregeno_word & 3, genovec);
+ if (difflist_sample_ids_iter++ == difflist_sample_ids_stop) {
+ break;
+ }
+ raregeno_word >>= 2;
+ }
+ }
+}
+*/
+
+PglErr ParseAndApplyDifflist(const unsigned char* fread_end, const unsigned char** fread_pp, PgenReaderMain* pgrp, uintptr_t* __restrict genoarr) {
+ // Side effects: uses pgr.workspace_raregeno_tmp_loadbuf.
+ // Cannot occur after genoarr subsetting since the difflist sample indexes
+ // will be incorrect.
+ const uint32_t raw_sample_ct = pgrp->fi.raw_sample_ct;
+ uintptr_t* cur_raregeno_iter = pgrp->workspace_raregeno_tmp_loadbuf;
+ const unsigned char* group_info_iter;
+ uint32_t difflist_len;
+ PglErr reterr = ParseDifflistHeader(fread_end, raw_sample_ct, fread_pp, cur_raregeno_iter, &group_info_iter, &difflist_len);
+ if (reterr || (!difflist_len)) {
+ return reterr;
+ }
+ const uint32_t sample_id_byte_ct = BytesToRepresentNzU32(raw_sample_ct);
+ const uint32_t subgroup_idx_last = (difflist_len - 1) / kBitsPerWordD2;
+ uintptr_t raw_sample_idx = 0;
+ for (uint32_t subgroup_idx = 0; ; ++subgroup_idx) {
+ uint32_t remaining_deltas_in_subgroup = kBitsPerWordD2 - 1;
+ if (subgroup_idx >= subgroup_idx_last) {
+ if (subgroup_idx > subgroup_idx_last) {
+ return kPglRetSuccess;
+ }
+ remaining_deltas_in_subgroup &= difflist_len - 1;
+ }
+ if (!(subgroup_idx % (kPglDifflistGroupSize / kBitsPerWordD2))) {
+ raw_sample_idx = SubU32Load(group_info_iter, sample_id_byte_ct);
+ group_info_iter = &(group_info_iter[sample_id_byte_ct]);
+ } else {
+ raw_sample_idx += GetVint31(fread_end, fread_pp);
+ }
+ uintptr_t cur_raregeno_word = *cur_raregeno_iter++;
+ // This loop tends to be the decompression bottleneck. Tried to modify it
+ // to process 4 entries at a time, but that didn't end up helping.
+ for (; ; --remaining_deltas_in_subgroup) {
+ // always check, since otherwise AssignNyparrEntry() can scribble
+ // over arbitrary memory
+ if (unlikely(raw_sample_idx >= raw_sample_ct)) {
+ return kPglRetMalformedInput;
+ }
+ const uintptr_t cur_geno = cur_raregeno_word & 3;
+ AssignNyparrEntry(raw_sample_idx, cur_geno, genoarr);
+ if (!remaining_deltas_in_subgroup) {
+ break;
+ }
+ raw_sample_idx += GetVint31(fread_end, fread_pp);
+ cur_raregeno_word >>= 2;
+ }
+ }
+}
+
+// could merge ParseAndApplyDifflist() with this?
+PglErr ParseAndApplyDifflistSubset(const unsigned char* fread_end, const uintptr_t* __restrict sample_include, const uint32_t* __restrict sample_include_cumulative_popcounts, uint32_t sample_ct, const unsigned char** fread_pp, PgenReaderMain* pgrp, uintptr_t* __restrict genoarr) {
+ // Side effects: uses pgr.workspace_raregeno_tmp_loadbuf.
+ const uint32_t raw_sample_ct = pgrp->fi.raw_sample_ct;
+ if (sample_ct == raw_sample_ct) {
+ return ParseAndApplyDifflist(fread_end, fread_pp, pgrp, genoarr);
+ }
+ uintptr_t* cur_raregeno_iter = pgrp->workspace_raregeno_tmp_loadbuf;
+ const unsigned char* group_info_iter;
+ uint32_t difflist_len;
+ PglErr reterr = ParseDifflistHeader(fread_end, raw_sample_ct, fread_pp, cur_raregeno_iter, &group_info_iter, &difflist_len);
+ if (reterr || (!difflist_len)) {
+ return reterr;
+ }
+ const uint32_t sample_id_byte_ct = BytesToRepresentNzU32(raw_sample_ct);
+ const uint32_t subgroup_idx_last = (difflist_len - 1) / kBitsPerWordD2;
+ uintptr_t raw_sample_idx = 0;
+ for (uint32_t subgroup_idx = 0; ; ++subgroup_idx) {
+ uint32_t remaining_deltas_in_subgroup = kBitsPerWordD2 - 1;
+ if (subgroup_idx >= subgroup_idx_last) {
+ if (subgroup_idx > subgroup_idx_last) {
+ return kPglRetSuccess;
+ }
+ remaining_deltas_in_subgroup &= difflist_len - 1;
+ }
+ if (!(subgroup_idx % (kPglDifflistGroupSize / kBitsPerWordD2))) {
+ raw_sample_idx = SubU32Load(group_info_iter, sample_id_byte_ct);
+ group_info_iter = &(group_info_iter[sample_id_byte_ct]);
+ } else {
+ raw_sample_idx += GetVint31(fread_end, fread_pp);
+ }
+ uintptr_t cur_raregeno_word = *cur_raregeno_iter++;
+ // This loop tends to be the decompression bottleneck. Tried to modify it
+ // to process 4 entries at a time, but that didn't end up helping.
+ for (; ; --remaining_deltas_in_subgroup) {
+ // always check, since otherwise AssignNyparrEntry() can scribble
+ // over arbitrary memory
+ if (unlikely(raw_sample_idx >= raw_sample_ct)) {
+ return kPglRetMalformedInput;
+ }
+ if (IsSet(sample_include, raw_sample_idx)) {
+ const uintptr_t cur_geno = cur_raregeno_word & 3;
+ AssignNyparrEntry(RawToSubsettedPos(sample_include, sample_include_cumulative_popcounts, raw_sample_idx), cur_geno, genoarr);
+ }
+ if (!remaining_deltas_in_subgroup) {
+ break;
+ }
+ raw_sample_idx += GetVint31(fread_end, fread_pp);
+ cur_raregeno_word >>= 2;
+ }
+ }
+}
+
+// vector-alignment preferred
+PglErr ParseOnebitUnsafe(const unsigned char* fread_end, const unsigned char** fread_pp, PgenReaderMain* pgrp, uintptr_t* __restrict genoarr) {
+ // doesn't zero out trailing genoarr bits
+ const uint32_t raw_sample_ct = pgrp->fi.raw_sample_ct;
+ const uint32_t common2_and_bitarray_byte_ct = (raw_sample_ct + 15) / CHAR_BIT;
+ const unsigned char* onebit_main_iter = *fread_pp;
+ if (PtrAddCk(fread_end, common2_and_bitarray_byte_ct, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ const uintptr_t common2_code = *onebit_main_iter++;
+ const uintptr_t word_base = (common2_code / 4) * kMask5555;
+ const uintptr_t common_code_delta = common2_code & 3;
+ uint32_t genoarr_widx = 0;
+#if defined(__LP64__) && !defined(USE_AVX2)
+ // this is slower in AVX2 case
+ const uint32_t read_hw_ct = raw_sample_ct / kBitsPerWordD2;
+ if (read_hw_ct >= 2 * kWordsPerVec) {
+ const uint32_t read_vec_ct = raw_sample_ct / kBitsPerVec;
+ const VecW m4 = VCONST_W(kMask0F0F);
+# ifdef USE_SHUFFLE8
+ // 0, 1, 4, 5, 16, 17, 20, 21, 64, 65, 68, 69, 80, 81, 84, 85 if the codes
+ // are 0 and 1
+ const VecW lookup = {word_base + common_code_delta * 0x1514111005040100LLU,
+ word_base + common_code_delta * 0x5554515045444140LLU};
+# else
+ const VecW m1 = VCONST_W(kMask5555);
+ const VecW m2 = VCONST_W(kMask3333);
+ const VecW vec_base = VCONST_W(word_base);
+ const VecW vec_delta = VCONST_W(common_code_delta * kMask5555);
+# endif
+ for (uint32_t vidx = 0; vidx != read_vec_ct; ++vidx) {
+ const VecW cur_vec = vecw_loadu(&(onebit_main_iter[vidx * kBytesPerVec]));
+ VecW vec_lo;
+ VecW vec_hi;
+ vecw_lo_and_hi_nybbles(cur_vec, m4, &vec_lo, &vec_hi);
+# ifdef USE_SHUFFLE8
+ vec_lo = vecw_shuffle8(lookup, vec_lo);
+ vec_hi = vecw_shuffle8(lookup, vec_hi);
+# else
+ // unpack bytes, then use as mask for vec_add.
+ vec_lo = (vec_lo | vecw_slli(vec_lo, 2)) & m2;
+ vec_hi = (vec_hi | vecw_slli(vec_hi, 2)) & m2;
+ vec_lo = (vec_lo | vecw_slli(vec_lo, 1)) & m1;
+ vec_hi = (vec_hi | vecw_slli(vec_hi, 1)) & m1;
+ vec_lo = vec_lo | vecw_slli(vec_lo, 1);
+ vec_hi = vec_hi | vecw_slli(vec_hi, 1);
+ vec_lo = vec_base + (vec_delta & vec_lo);
+ vec_hi = vec_base + (vec_delta & vec_hi);
+# endif
+ vecw_storeu(&(genoarr[kWordsPerVec * 2 * vidx]), vec_lo);
+ vecw_storeu(&(genoarr[kWordsPerVec * (2 * vidx + 1)]), vec_hi);
+ }
+ genoarr_widx = read_vec_ct * (2 * kWordsPerVec);
+ }
+#endif
+ const uint32_t genoarr_widx_trail = (raw_sample_ct + 7) / kBitsPerWordD2;
+ const uint32_t genoarr_widx_end = NypCtToWordCt(raw_sample_ct);
+ for (; ; ++genoarr_widx) {
+ uintptr_t ww;
+ if (genoarr_widx >= genoarr_widx_trail) {
+ // might want to modify to not go here if last read is an entire halfword
+ if (genoarr_widx == genoarr_widx_end) {
+ break;
+ }
+ ww = ProperSubwordLoad(&(onebit_main_iter[genoarr_widx_trail * sizeof(Halfword)]), 1 + (((raw_sample_ct - 1) % kBitsPerWordD2) / CHAR_BIT));
+ } else {
+ Halfword hw;
+ CopyFromUnalignedOffsetHW(&hw, onebit_main_iter, genoarr_widx);
+ ww = hw;
+ }
+ // apply middle-out operation
+ // 64-bit:
+ // const uintptr_t middle_out_result = (ww | (ww << 31)) & kMask5555;
+ // 32-bit:
+ // *genoarr_iter++ = word_base + (ww & kMask5555) * common_code_delta;
+ // *genoarr_iter++ = word_base + ((ww >> 1) & kMask5555) * common_code_delta;
+ // (scrapped since the time savings don't seem to be worth the extra
+ // end-of-vector corner cases, apparently the extra operations here are
+ // sufficiently cheap, or even negative-cost in AVX2 case)
+
+ ww = UnpackHalfwordToWord(ww);
+ genoarr[genoarr_widx] = word_base + ww * common_code_delta;
+ }
+ return ParseAndApplyDifflist(fread_end, fread_pp, pgrp, genoarr);
+}
+
+// vector-alignment preferred
+PglErr Parse1or2bitGenoarrUnsafe(const unsigned char* fread_end, uint32_t vrtype, const unsigned char** fread_pp, PgenReaderMain* pgrp, uintptr_t* __restrict genoarr) {
+ // Side effect: may use pgrp->workspace_raregeno_tmp_loadbuf.
+ // Does not update fp_vidx, does not rotate plink1-formatted data (since it's
+ // better to do that post-subsetting)
+ if (vrtype & 3) {
+ return ParseOnebitUnsafe(fread_end, fread_pp, pgrp, genoarr);
+ }
+ // uncompressed storage
+ const uint32_t raw_sample_ct = pgrp->fi.raw_sample_ct;
+ const uint32_t genoarr_byte_ct = NypCtToByteCt(raw_sample_ct);
+ const unsigned char* src_genodata = *fread_pp;
+ if (PtrAddCk(fread_end, genoarr_byte_ct, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ memcpy(genoarr, src_genodata, genoarr_byte_ct);
+ return kPglRetSuccess;
+}
+
+PglErr ParseNonLdGenovecSubsetUnsafe(const unsigned char* fread_end, const uintptr_t* __restrict sample_include, const uint32_t* __restrict sample_include_cumulative_popcounts, uint32_t sample_ct, uint32_t vrtype, const unsigned char** fread_pp, PgenReaderMain* pgrp, uintptr_t* __restrict genovec) {
+ // Side effects:
+ // may use pgrp->workspace_raregeno_tmp_loadbuf
+ // fills pgrp->ldbase_raw_genovec iff (!(vrtype & 4)) and
+ // subsetting_required (does not update ldbase_stypes, caller's
+ // responsibility to care)
+ // See comments on Parse1or2bitGenoarrUnsafe().
+ const uint32_t raw_sample_ct = pgrp->fi.raw_sample_ct;
+ if (!(vrtype & 4)) {
+ const uint32_t subsetting_required = (sample_ct != raw_sample_ct);
+ uintptr_t* raw_genovec = subsetting_required? pgrp->ldbase_raw_genovec : genovec;
+ PglErr reterr = Parse1or2bitGenoarrUnsafe(fread_end, vrtype, fread_pp, pgrp, raw_genovec);
+ if ((!subsetting_required) || reterr) {
+ return reterr;
+ }
+ CopyNyparrNonemptySubset(raw_genovec, sample_include, raw_sample_ct, sample_ct, genovec);
+ return kPglRetSuccess;
+ }
+ const uint32_t vrtype_low2 = vrtype & 3;
+ if (vrtype_low2 != 1) {
+ const uint32_t vec_ct = NypCtToVecCt(sample_ct);
+
+ // This memset is frequently the limiting operation. This suggests that we
+ // should eventually make more use of the DifflistOrGenovec interface.
+ vecset(genovec, vrtype_low2 * kMask5555, vec_ct);
+ return ParseAndApplyDifflistSubset(fread_end, sample_include, sample_include_cumulative_popcounts, sample_ct, fread_pp, pgrp, genovec);
+ }
+ // all homozygous-ref special case
+ ZeroWArr(NypCtToWordCt(sample_ct), genovec);
+ return kPglRetSuccess;
+}
+
+uint32_t LdLoadNecessary(uint32_t cur_vidx, PgenReaderMain* pgrp) {
+ // Determines whether LD base variant needs to be loaded (in addition to the
+ // current variant), assuming we need (possibly subsetted) hardcalls.
+ // Important: this updates pgrp->ldbase_vidx when necessary, as a side
+ // effect.
+ // bugfix (22 May 2018): this only checked whether ldbase_stypes was nonzero;
+ // there was an AllHets + cache-clear edge case where that's not good enough.
+ // now that AllHets has been removed, though, it should be safe again.
+ if (pgrp->ldbase_stypes && (cur_vidx == pgrp->fp_vidx)) {
+ // ldbase variant guaranteed to be up-to-date if we didn't skip the last
+ // variant, and cache wasn't cleared
+ return 0;
+ }
+ // Find the last vrtypes[] value before vrtypes[cur_vidx] with bit 1 unset or
+ // bit 2 set.
+ const uint32_t old_ldbase_vidx = pgrp->ldbase_vidx;
+ pgrp->ldbase_vidx = GetLdbaseVidx(pgrp->fi.vrtypes, cur_vidx);
+ return (pgrp->ldbase_vidx != old_ldbase_vidx);
+}
+
+BoolErr InitReadPtrs(uint32_t vidx, PgenReaderMain* pgrp, const unsigned char** fread_pp, const unsigned char** fread_endp) {
+ const unsigned char* block_base = pgrp->fi.block_base;
+ if (block_base != nullptr) {
+ // possible todo: special handling of end of vblock
+ const uint64_t block_offset = pgrp->fi.block_offset;
+ *fread_pp = &(block_base[GetPgfiFpos(&(pgrp->fi), vidx) - block_offset]);
+ *fread_endp = &(block_base[GetPgfiFpos(&(pgrp->fi), vidx + 1) - block_offset]);
+
+ // still a useful hint to LdLoadNecessary()
+ pgrp->fp_vidx = vidx + 1;
+
+ return 0;
+ }
+ if (pgrp->fp_vidx != vidx) {
+ if (unlikely(fseeko(pgrp->ff, GetPgfiFpos(&(pgrp->fi), vidx), SEEK_SET))) {
+ return 1;
+ }
+ }
+ const uintptr_t cur_vrec_width = GetPgfiVrecWidth(&(pgrp->fi), vidx);
+#ifdef __LP64__
+ if (unlikely(fread_checked(pgrp->fread_buf, cur_vrec_width, pgrp->ff))) {
+ if (feof_unlocked(pgrp->ff)) {
+ errno = 0;
+ }
+ return 1;
+ }
+#else
+ // cur_vrec_width < 2^31 since otherwise we error out on initialization
+ if (unlikely(!fread_unlocked(pgrp->fread_buf, cur_vrec_width, 1, pgrp->ff))) {
+ if (feof_unlocked(pgrp->ff)) {
+ errno = 0;
+ }
+ return 1;
+ }
+#endif
+ *fread_pp = pgrp->fread_buf;
+ *fread_endp = &(pgrp->fread_buf[cur_vrec_width]);
+ pgrp->fp_vidx = vidx + 1;
+ return 0;
+}
+
+// Fills dest with subsetted ldbase contents, and ensures ldcache is filled so
+// no explicit reload of ldbase is needed for next variant if we're extracting
+// the same sample subset. (Reload is occasionally needed if next variant is
+// multiallelic or phased, we only prevent that when convenient.)
+PglErr LdLoadAndCopyGenovecSubset(const uintptr_t* __restrict sample_include, const uint32_t* __restrict sample_include_cumulative_popcounts, uint32_t sample_ct, uint32_t vidx, PgenReaderMain* pgrp, uintptr_t* dest) {
+ const uint32_t raw_sample_ct = pgrp->fi.raw_sample_ct;
+ if (LdLoadNecessary(vidx, pgrp)) {
+ const uint32_t ldbase_vidx = pgrp->ldbase_vidx;
+ const unsigned char* fread_ptr;
+ const unsigned char* fread_end;
+ if (unlikely(InitReadPtrs(ldbase_vidx, pgrp, &fread_ptr, &fread_end))) {
+ return kPglRetReadFail;
+ }
+ const uint32_t vrtype = pgrp->fi.vrtypes[ldbase_vidx];
+ PglErr reterr = ParseNonLdGenovecSubsetUnsafe(fread_end, sample_include, sample_include_cumulative_popcounts, sample_ct, vrtype, &fread_ptr, pgrp, dest);
+ pgrp->ldbase_stypes = ((sample_ct != raw_sample_ct) && (!(vrtype & 4)))? (kfPgrLdcacheNyp | kfPgrLdcacheRawNyp) : kfPgrLdcacheNyp;
+ CopyNyparr(dest, sample_ct, pgrp->ldbase_genovec);
+ return reterr;
+ }
+ if (pgrp->ldbase_stypes & kfPgrLdcacheNyp) {
+ CopyNyparr(pgrp->ldbase_genovec, sample_ct, dest);
+ } else {
+ if ((pgrp->ldbase_stypes & kfPgrLdcacheRawNyp) && (sample_ct == raw_sample_ct)) {
+ CopyNyparr(pgrp->ldbase_raw_genovec, sample_ct, dest);
+ } else if (pgrp->ldbase_stypes & kfPgrLdcacheDifflist) {
+ // rematerialize-from-difflist is cheap.
+ PgrDifflistToGenovecUnsafe(pgrp->ldbase_raregeno, pgrp->ldbase_difflist_sample_ids, pgrp->fi.vrtypes[pgrp->ldbase_vidx] & 3, sample_ct, pgrp->ldbase_difflist_len, dest);
+ } else {
+ CopyNyparrNonemptySubset(pgrp->ldbase_raw_genovec, sample_include, pgrp->fi.raw_sample_ct, sample_ct, dest);
+ CopyNyparr(dest, sample_ct, pgrp->ldbase_genovec);
+ pgrp->ldbase_stypes |= kfPgrLdcacheNyp;
+ }
+ }
+ return kPglRetSuccess;
+}
+
+// fread_pp should be non-null iff this is being called by an internal function
+// as part of a more complex read.
+// in multiallelic case:
+// hom-ref = 0
+// het-ref = 1
+// two nonref = 2
+// missing = 3
+PglErr ReadGenovecSubsetUnsafe(const uintptr_t* __restrict sample_include, const uint32_t* __restrict sample_include_cumulative_popcounts, uint32_t sample_ct, uint32_t vidx, PgenReaderMain* pgrp, const unsigned char** fread_pp, const unsigned char** fread_endp, uintptr_t* __restrict genovec) {
+ // Side effects:
+ // may use pgr.workspace_raregeno_tmp_loadbuf (any difflist)
+ const uint32_t vrtype = GetPgfiVrtype(&(pgrp->fi), vidx);
+ const uint32_t maintrack_vrtype = vrtype & 7;
+ if (VrtypeLdCompressed(maintrack_vrtype)) {
+ // LD compression
+ PglErr reterr = LdLoadAndCopyGenovecSubset(sample_include, sample_include_cumulative_popcounts, sample_ct, vidx, pgrp, genovec);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ const unsigned char* fread_ptr;
+ const unsigned char* fread_end;
+ if (unlikely(InitReadPtrs(vidx, pgrp, &fread_ptr, &fread_end))) {
+ return kPglRetReadFail;
+ }
+ reterr = ParseAndApplyDifflistSubset(fread_end, sample_include, sample_include_cumulative_popcounts, sample_ct, &fread_ptr, pgrp, genovec);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ if (maintrack_vrtype == 3) {
+ GenovecInvertUnsafe(sample_ct, genovec);
+ }
+ if (fread_pp) {
+ *fread_pp = fread_ptr;
+ *fread_endp = fread_end;
+ }
+ return kPglRetSuccess;
+ }
+ const unsigned char* fread_ptr;
+ const unsigned char* fread_end = nullptr; // maybe-uninitialized warning
+ // tried inserting special-case code for the plink1 case to avoid a copy, and
+ // it was actually slower
+ if (unlikely(InitReadPtrs(vidx, pgrp, &fread_ptr, &fread_end))) {
+ return kPglRetReadFail;
+ }
+ // tried to add more sophisticated caching, but turns out it isn't worth it
+ PglErr reterr = ParseNonLdGenovecSubsetUnsafe(fread_end, sample_include, sample_include_cumulative_popcounts, sample_ct, maintrack_vrtype, &fread_ptr, pgrp, genovec);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ if (vrtype == kPglVrtypePlink1) {
+ PgrPlink1ToPlink2InplaceUnsafe(sample_ct, genovec);
+ } else {
+ const uint32_t is_ldbase = pgrp->fi.vrtypes && VrtypeLdCompressed(pgrp->fi.vrtypes[vidx + 1]);
+ const uint32_t ldbase_raw_genovec_saved = (sample_ct != pgrp->fi.raw_sample_ct) && (!(maintrack_vrtype & 4));
+ if (is_ldbase) {
+ CopyNyparr(genovec, sample_ct, pgrp->ldbase_genovec);
+ pgrp->ldbase_vidx = vidx;
+ // may be better to just always set to kfPgrLdcacheNyp? this depends
+ // on multiallelic code
+ pgrp->ldbase_stypes = ldbase_raw_genovec_saved? (kfPgrLdcacheNyp | kfPgrLdcacheRawNyp) : kfPgrLdcacheNyp;
+ } else if (ldbase_raw_genovec_saved) {
+ // bugfix (22 Sep 2018): when accessing variants out of order, need to
+ // note that we just clobbered the cache
+ pgrp->ldbase_stypes &= ~kfPgrLdcacheRawNyp;
+ }
+ }
+ if (fread_pp) {
+ *fread_pp = fread_ptr;
+ *fread_endp = fread_end;
+ }
+ return kPglRetSuccess;
+}
+
+PglErr PgrGet(const uintptr_t* __restrict sample_include, PgrSampleSubsetIndex pssi, uint32_t sample_ct, uint32_t vidx, PgenReader* pgr_ptr, uintptr_t* __restrict genovec) {
+ if (!sample_ct) {
+ return kPglRetSuccess;
+ }
+ PgenReaderMain* pgrp = GetPgrp(pgr_ptr);
+ assert(vidx < pgrp->fi.raw_variant_ct);
+ return ReadGenovecSubsetUnsafe(sample_include, GetSicp(pssi), sample_ct, vidx, pgrp, nullptr, nullptr, genovec);
+}
+
+// Fills dest with ldbase contents, and ensures ldcache is filled so no
+// explicit reload of ldbase is needed for next variant.
+PglErr LdLoadAndCopyRawGenovec(uint32_t subsetting_required, uint32_t vidx, PgenReaderMain* pgrp, uintptr_t* dest) {
+ const uint32_t genovec_byte_ct = NypCtToVecCt(pgrp->fi.raw_sample_ct) * kBytesPerVec;
+ if (LdLoadNecessary(vidx, pgrp) || (subsetting_required && (!(pgrp->ldbase_stypes & kfPgrLdcacheRawNyp)))) {
+ const uint32_t ldbase_vidx = pgrp->ldbase_vidx;
+ const unsigned char* fread_ptr;
+ const unsigned char* fread_end;
+ if (unlikely(InitReadPtrs(ldbase_vidx, pgrp, &fread_ptr, &fread_end))) {
+ return kPglRetReadFail;
+ }
+ const uint32_t vrtype = pgrp->fi.vrtypes[ldbase_vidx];
+ pgrp->ldbase_stypes = kfPgrLdcacheRawNyp;
+ assert((vrtype & 7) != 5); // all-hom-ref can't be ldbase
+ uintptr_t* raw_genovec = pgrp->ldbase_raw_genovec;
+ PglErr reterr;
+ if (!(vrtype & 4)) {
+ reterr = Parse1or2bitGenoarrUnsafe(fread_end, vrtype, &fread_ptr, pgrp, raw_genovec);
+ } else {
+ const uint32_t vrtype_low2 = vrtype & 3;
+ vecset(raw_genovec, vrtype_low2 * kMask5555, DivUp(genovec_byte_ct, kBytesPerVec));
+ reterr = ParseAndApplyDifflist(fread_end, &fread_ptr, pgrp, raw_genovec);
+ }
+ memcpy(dest, raw_genovec, genovec_byte_ct);
+ return reterr;
+ }
+ if (pgrp->ldbase_stypes & kfPgrLdcacheRawNyp) {
+ memcpy(dest, pgrp->ldbase_raw_genovec, genovec_byte_ct);
+ } else {
+ // no subsetting, can use regular Ldcache entries
+ const uint32_t raw_sample_ct = pgrp->fi.raw_sample_ct;
+ if (pgrp->ldbase_stypes & kfPgrLdcacheNyp) {
+ memcpy(dest, pgrp->ldbase_genovec, genovec_byte_ct);
+ } else {
+ PgrDifflistToGenovecUnsafe(pgrp->ldbase_raregeno, pgrp->ldbase_difflist_sample_ids, pgrp->fi.vrtypes[pgrp->ldbase_vidx] & 3, raw_sample_ct, pgrp->ldbase_difflist_len, dest);
+ }
+ }
+ return kPglRetSuccess;
+}
+
+// Does not zero out trailing bits.
+// Requires fread_pp and fread_endp to be non-null for now.
+PglErr ReadRawGenovec(uint32_t subsetting_required, uint32_t vidx, PgenReaderMain* pgrp, const unsigned char** fread_pp, const unsigned char** fread_endp, uintptr_t* raw_genovec) {
+ const uint32_t vrtype = GetPgfiVrtype(&(pgrp->fi), vidx);
+ const uint32_t maintrack_vrtype = vrtype & 7;
+ const uint32_t raw_sample_ct = pgrp->fi.raw_sample_ct;
+ if (VrtypeLdCompressed(maintrack_vrtype)) {
+ // LD compression
+ PglErr reterr = LdLoadAndCopyRawGenovec(subsetting_required, vidx, pgrp, raw_genovec);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ if (unlikely(InitReadPtrs(vidx, pgrp, fread_pp, fread_endp))) {
+ return kPglRetReadFail;
+ }
+ reterr = ParseAndApplyDifflist(*fread_endp, fread_pp, pgrp, raw_genovec);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ if (maintrack_vrtype == 3) {
+ GenovecInvertUnsafe(raw_sample_ct, raw_genovec);
+ }
+ return kPglRetSuccess;
+ }
+ if (unlikely(InitReadPtrs(vidx, pgrp, fread_pp, fread_endp))) {
+ return kPglRetReadFail;
+ }
+ const unsigned char* fread_end = *fread_endp;
+ PglErr reterr;
+ if (!(vrtype & 4)) {
+ reterr = Parse1or2bitGenoarrUnsafe(fread_end, vrtype, fread_pp, pgrp, raw_genovec);
+ } else {
+ const uint32_t vrtype_low2 = vrtype & 3;
+ if (vrtype_low2 == 1) {
+ ZeroWArr(NypCtToWordCt(raw_sample_ct), raw_genovec);
+ // all-hom-ref can't be ldbase
+ return kPglRetSuccess;
+ }
+ const uint32_t vec_ct = NypCtToVecCt(raw_sample_ct);
+ vecset(raw_genovec, vrtype_low2 * kMask5555, vec_ct);
+ reterr = ParseAndApplyDifflist(fread_end, fread_pp, pgrp, raw_genovec);
+ }
+ if (vrtype == kPglVrtypePlink1) {
+ PgrPlink1ToPlink2InplaceUnsafe(raw_sample_ct, raw_genovec);
+ } else {
+ const uint32_t is_ldbase = pgrp->fi.vrtypes && VrtypeLdCompressed(pgrp->fi.vrtypes[vidx + 1]);
+ if (is_ldbase) {
+ CopyNyparr(raw_genovec, raw_sample_ct, pgrp->ldbase_raw_genovec);
+ pgrp->ldbase_vidx = vidx;
+ pgrp->ldbase_stypes = kfPgrLdcacheRawNyp;
+ }
+ }
+ return reterr;
+}
+/*
+void CopyAndSubsetDifflist(const uintptr_t* __restrict sample_include, const uint32_t* __restrict sample_include_cumulative_popcounts, const uintptr_t* __restrict raw_raregeno, const uint32_t* __restrict raw_difflist_sample_ids, uint32_t raw_difflist_len, uintptr_t* __restrict new_raregeno, uint32_t* __restrict new_difflist_sample_ids, uint32_t* __restrict new_difflist_len_ptr) {
+ // Trailing bits of new_raregeno are zeroed out.
+ if (!raw_difflist_len) {
+ *new_difflist_len_ptr = 0;
+ return;
+ }
+ const uintptr_t* raw_raregeno_incr = raw_raregeno;
+ const uint32_t* raw_difflist_sample_ids_iter = raw_difflist_sample_ids;
+ const uint32_t* raw_difflist_sample_ids_last = &(raw_difflist_sample_ids[RoundDownPow2(raw_difflist_len - 1, kBitsPerWordD2)]);
+ uintptr_t* new_raregeno_incr = new_raregeno;
+ uintptr_t new_raregeno_word = 0;
+ uint32_t new_difflist_len = 0;
+ uint32_t block_len_m1 = kBitsPerWordD2 - 1;
+ while (1) {
+ if (raw_difflist_sample_ids_iter >= raw_difflist_sample_ids_last) {
+ if (raw_difflist_sample_ids_iter > raw_difflist_sample_ids_last) {
+ if (new_difflist_len % kBitsPerWordD2) {
+ *new_raregeno_incr = new_raregeno_word;
+ }
+ *new_difflist_len_ptr = new_difflist_len;
+ return;
+ }
+ block_len_m1 &= raw_difflist_len - 1;
+ }
+ uintptr_t raw_raregeno_word = *raw_raregeno_incr++;
+ uint32_t raw_difflist_idx_lowbits = 0;
+ while (1) {
+ const uint32_t raw_sample_idx = raw_difflist_sample_ids_iter[raw_difflist_idx_lowbits];
+ if (IsSet(sample_include, raw_sample_idx)) {
+ new_difflist_sample_ids[new_difflist_len] = RawToSubsettedPos(sample_include, sample_include_cumulative_popcounts, raw_sample_idx);
+ new_raregeno_word |= ((raw_raregeno_word >> (2 * raw_difflist_idx_lowbits)) & 3) << (2 * (new_difflist_len % kBitsPerWordD2));
+ ++new_difflist_len;
+ if (!(new_difflist_len % kBitsPerWordD2)) {
+ *new_raregeno_incr++ = new_raregeno_word;
+ new_raregeno_word = 0;
+ }
+ }
+ if (raw_difflist_idx_lowbits == block_len_m1) {
+ break;
+ }
+ ++raw_difflist_idx_lowbits;
+ }
+ raw_difflist_sample_ids_iter = &(raw_difflist_sample_ids_iter[kBitsPerWordD2]);
+ }
+}
+*/
+
+// Populates pgrp->ldbase_genovec or
+// pgrp->ldbase_{raregeno,difflist_sample_ids,difflist_len}, depending on
+// storage type.
+// Currently just called by ReadDifflistOrGenovecSubsetUnsafe().
+PglErr LdLoadMinimalSubsetIfNecessary(const uintptr_t* __restrict sample_include, const uint32_t* __restrict sample_include_cumulative_popcounts, uint32_t sample_ct, uint32_t vidx, PgenReaderMain* pgrp) {
+ if (!LdLoadNecessary(vidx, pgrp)) {
+ return kPglRetSuccess;
+ }
+ const uint32_t ldbase_vidx = pgrp->ldbase_vidx;
+ const uint64_t cur_vidx_fpos = pgrp->fi.var_fpos[ldbase_vidx];
+ const uint32_t ldbase_vrtype = pgrp->fi.vrtypes[ldbase_vidx];
+ const uint32_t raw_sample_ct = pgrp->fi.raw_sample_ct;
+ const uint32_t subsetting_required = (sample_ct != raw_sample_ct);
+ uintptr_t* raw_genovec = subsetting_required? pgrp->ldbase_raw_genovec : pgrp->ldbase_genovec;
+ const unsigned char* fread_ptr;
+ const unsigned char* fread_end;
+ const unsigned char* block_base = pgrp->fi.block_base;
+ PglErr reterr = kPglRetSuccess;
+ if (block_base != nullptr) {
+ {
+ const uint64_t block_offset = pgrp->fi.block_offset;
+ fread_ptr = &(block_base[cur_vidx_fpos - block_offset]);
+ fread_end = &(block_base[pgrp->fi.var_fpos[ldbase_vidx + 1] - block_offset]);
+ }
+ if (!(ldbase_vrtype & 4)) {
+ reterr = Parse1or2bitGenoarrUnsafe(fread_end, ldbase_vrtype, &fread_ptr, pgrp, raw_genovec);
+ LdLoadMinimalSubsetIfNecessary_genovec_finish:
+ pgrp->ldbase_stypes = subsetting_required? (kfPgrLdcacheNyp | kfPgrLdcacheRawNyp) : kfPgrLdcacheNyp;
+ if ((!subsetting_required) || reterr) {
+ return reterr;
+ }
+ CopyNyparrNonemptySubset(raw_genovec, sample_include, raw_sample_ct, sample_ct, pgrp->ldbase_genovec);
+ return kPglRetSuccess;
+ }
+ pgrp->fp_vidx = ldbase_vidx + 1;
+ } else {
+ if (unlikely(fseeko(pgrp->ff, pgrp->fi.var_fpos[ldbase_vidx], SEEK_SET))) {
+ return kPglRetReadFail;
+ }
+ const uintptr_t cur_vrec_width = pgrp->fi.var_fpos[ldbase_vidx + 1] - cur_vidx_fpos;
+ pgrp->fp_vidx = ldbase_vidx + 1;
+ if (!(ldbase_vrtype & 7)) {
+ // don't actually need to fread the whole record in this case
+ const uint32_t raw_sample_ct4 = NypCtToByteCt(raw_sample_ct);
+ if (unlikely(!fread_unlocked(raw_genovec, raw_sample_ct4, 1, pgrp->ff))) {
+ if (feof_unlocked(pgrp->ff)) {
+ errno = 0;
+ }
+ return kPglRetReadFail;
+ }
+ if (raw_sample_ct4 != cur_vrec_width) {
+ // ensure this doesn't match
+ pgrp->fp_vidx = 0;
+ }
+ goto LdLoadMinimalSubsetIfNecessary_genovec_finish;
+ }
+ if (unlikely(!fread_unlocked(pgrp->fread_buf, cur_vrec_width, 1, pgrp->ff))) {
+ if (feof_unlocked(pgrp->ff)) {
+ errno = 0;
+ }
+ return kPglRetReadFail;
+ }
+ fread_ptr = pgrp->fread_buf;
+ fread_end = &(pgrp->fread_buf[cur_vrec_width]);
+ if (!(ldbase_vrtype & 4)) {
+ reterr = ParseOnebitUnsafe(fread_end, &fread_ptr, pgrp, raw_genovec);
+ goto LdLoadMinimalSubsetIfNecessary_genovec_finish;
+ }
+ }
+ uint32_t ldbase_difflist_len;
+ if (!subsetting_required) {
+ reterr = ParseAndSaveDifflist(fread_end, raw_sample_ct, &fread_ptr, pgrp->ldbase_raregeno, pgrp->ldbase_difflist_sample_ids, &ldbase_difflist_len);
+ } else {
+ reterr = ParseAndSaveDifflistProperSubset(fread_end, sample_include, sample_include_cumulative_popcounts, raw_sample_ct, &fread_ptr, pgrp->ldbase_raregeno, pgrp->ldbase_difflist_sample_ids, &ldbase_difflist_len, pgrp->workspace_raregeno_tmp_loadbuf);
+ }
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ pgrp->ldbase_difflist_len = ldbase_difflist_len;
+ pgrp->ldbase_difflist_sample_ids[ldbase_difflist_len] = sample_ct;
+ pgrp->ldbase_stypes = kfPgrLdcacheDifflist;
+ return kPglRetSuccess;
+}
+
+PglErr ReadDifflistOrGenovecSubsetUnsafe(const uintptr_t* __restrict sample_include, const uint32_t* __restrict sample_include_cumulative_popcounts, uint32_t sample_ct, uint32_t max_simple_difflist_len, uint32_t vidx, PgenReaderMain* pgrp, const unsigned char** fread_pp, const unsigned char** fread_endp, uintptr_t* __restrict genovec, uint32_t* difflist_common_geno_ptr, uintptr_t* __restrict main_raregeno, uint32_t* __restrict difflist_sample_ids, uint32_t* __restrict difflist_len_ptr) {
+ assert(vidx < pgrp->fi.raw_variant_ct);
+ assert(sample_ct);
+ assert(max_simple_difflist_len < sample_ct);
+ // Side effects:
+ // may use pgr.workspace_raregeno_tmp_loadbuf
+ // Trailing bits of genovec/main_raregeno may not be zeroed out.
+ const uint32_t vrtype = GetPgfiVrtype(&(pgrp->fi), vidx);
+ const uint32_t maintrack_vrtype = vrtype & 7;
+ const uint32_t raw_sample_ct = pgrp->fi.raw_sample_ct;
+ const uint32_t subsetting_required = (sample_ct != raw_sample_ct);
+ // const uint32_t multiallelic_hc_present = fread_pp && VrtypeMultiallelic(vrtype);
+ if (VrtypeLdCompressed(maintrack_vrtype)) {
+ // LD compression
+
+ // note that this can currently load a difflist longer than
+ // max_simple_difflist_len
+ PglErr reterr = LdLoadMinimalSubsetIfNecessary(sample_include, sample_include_cumulative_popcounts, sample_ct, vidx, pgrp);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ const unsigned char* fread_ptr;
+ const unsigned char* fread_end;
+ if (unlikely(InitReadPtrs(vidx, pgrp, &fread_ptr, &fread_end))) {
+ return kPglRetReadFail;
+ }
+ const uint32_t ld_invert = (maintrack_vrtype == 3);
+ if (pgrp->ldbase_stypes & kfPgrLdcacheDifflist) {
+ const uint32_t ldbase_common_geno = pgrp->fi.vrtypes[pgrp->ldbase_vidx] & 3;
+ // unnecessary for this to branch on LD difflist length, since that's
+ // limited to 3/4 of the ldbase difflist length.
+ *difflist_common_geno_ptr = ldbase_common_geno;
+ reterr = ParseLdAndMergeDifflistSubset(fread_end, subsetting_required? sample_include : nullptr, sample_include_cumulative_popcounts, pgrp->ldbase_raregeno, pgrp->ldbase_difflist_sample_ids, pgrp->ldbase_difflist_len, ldbase_common_geno, raw_sample_ct, sample_ct, &fread_ptr, main_raregeno, difflist_sample_ids, difflist_len_ptr, pgrp->workspace_raregeno_tmp_loadbuf);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ if (ld_invert) {
+ *difflist_common_geno_ptr = (6 - ldbase_common_geno) & 3;
+ GenovecInvertUnsafe(*difflist_len_ptr, main_raregeno);
+ }
+ return kPglRetSuccess;
+ }
+ if (pgrp->ldbase_stypes & kfPgrLdcacheNyp) {
+ CopyNyparr(pgrp->ldbase_genovec, sample_ct, genovec);
+ } else {
+ assert(pgrp->ldbase_stypes & kfPgrLdcacheRawNyp);
+ CopyNyparrNonemptySubset(pgrp->ldbase_raw_genovec, sample_include, raw_sample_ct, sample_ct, genovec);
+ CopyNyparr(genovec, sample_ct, pgrp->ldbase_genovec);
+ pgrp->ldbase_stypes |= kfPgrLdcacheNyp;
+ }
+ *difflist_common_geno_ptr = UINT32_MAX;
+ reterr = ParseAndApplyDifflistSubset(fread_end, sample_include, sample_include_cumulative_popcounts, sample_ct, &fread_ptr, pgrp, genovec);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ if (ld_invert) {
+ GenovecInvertUnsafe(sample_ct, genovec);
+ }
+ if (fread_pp) {
+ *fread_pp = fread_ptr;
+ *fread_endp = fread_end;
+ }
+ return kPglRetSuccess;
+ }
+ const unsigned char* fread_ptr;
+ const unsigned char* fread_end = nullptr; // maybe-uninitialized warning
+ if (unlikely(InitReadPtrs(vidx, pgrp, &fread_ptr, &fread_end))) {
+ return kPglRetReadFail;
+ }
+ const uint32_t is_ldbase = pgrp->fi.vrtypes && VrtypeLdCompressed(pgrp->fi.vrtypes[vidx + 1]);
+ const uint32_t saved_difflist_len = VrtypeDifflist(vrtype)? PeekVint31(fread_ptr, fread_end) : raw_sample_ct;
+ pgrp->ldbase_vidx = vidx;
+ // no limit is slightly better than /16 but substantially worse than /32 on
+ // the large test dataset (/64 is slightly worse than /32)
+ // no limit is best on the small test dataset
+ if (saved_difflist_len > max_simple_difflist_len) {
+ *difflist_common_geno_ptr = UINT32_MAX;
+ PglErr reterr = ParseNonLdGenovecSubsetUnsafe(fread_end, sample_include, sample_include_cumulative_popcounts, sample_ct, vrtype, &fread_ptr, pgrp, genovec);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ const uint32_t ldbase_raw_genovec_saved = (subsetting_required && (!(vrtype & 4)));
+ if (is_ldbase) {
+ CopyNyparr(genovec, sample_ct, pgrp->ldbase_genovec);
+ pgrp->ldbase_stypes = ldbase_raw_genovec_saved? (kfPgrLdcacheNyp | kfPgrLdcacheRawNyp) : kfPgrLdcacheNyp;
+ } else if (ldbase_raw_genovec_saved) {
+ // bugfix (22 Sep 2018)
+ pgrp->ldbase_stypes &= ~kfPgrLdcacheRawNyp;
+ }
+ if (vrtype == kPglVrtypePlink1) {
+ PgrPlink1ToPlink2InplaceUnsafe(sample_ct, genovec);
+ }
+ if (fread_pp) {
+ *fread_pp = fread_ptr;
+ *fread_endp = fread_end;
+ }
+ return kPglRetSuccess;
+ }
+ *difflist_common_geno_ptr = vrtype & 3;
+ PglErr reterr;
+ if (!subsetting_required) {
+ reterr = ParseAndSaveDifflist(fread_end, raw_sample_ct, &fread_ptr, main_raregeno, difflist_sample_ids, difflist_len_ptr);
+ } else {
+ reterr = ParseAndSaveDifflistProperSubset(fread_end, sample_include, sample_include_cumulative_popcounts, raw_sample_ct, &fread_ptr, main_raregeno, difflist_sample_ids, difflist_len_ptr, pgrp->workspace_raregeno_tmp_loadbuf);
+ }
+ if (unlikely(reterr)) {
+ return kPglRetMalformedInput;
+ }
+ if (is_ldbase) {
+ const uint32_t difflist_len = *difflist_len_ptr;
+ pgrp->ldbase_stypes = kfPgrLdcacheDifflist;
+ pgrp->ldbase_difflist_len = difflist_len;
+ CopyNyparr(main_raregeno, difflist_len, pgrp->ldbase_raregeno);
+ memcpy(pgrp->ldbase_difflist_sample_ids, difflist_sample_ids, difflist_len * sizeof(int32_t));
+ pgrp->ldbase_difflist_sample_ids[difflist_len] = sample_ct;
+ }
+ if (fread_pp) {
+ *fread_pp = fread_ptr;
+ *fread_endp = fread_end;
+ }
+ return kPglRetSuccess;
+}
+
+PglErr PgrGetDifflistOrGenovec(const uintptr_t* __restrict sample_include, PgrSampleSubsetIndex pssi, uint32_t sample_ct, uint32_t max_simple_difflist_len, uint32_t vidx, PgenReader* pgr_ptr, uintptr_t* __restrict genovec, uint32_t* __restrict difflist_common_geno_ptr, uintptr_t* __restrict main_raregeno, uint32_t* __restrict difflist_sample_ids, uint32_t* __restrict difflist_len_ptr) {
+ if (!sample_ct) {
+ *difflist_common_geno_ptr = UINT32_MAX;
+ return kPglRetSuccess;
+ }
+ PgenReaderMain* pgrp = GetPgrp(pgr_ptr);
+ assert(vidx < pgrp->fi.raw_variant_ct);
+ return ReadDifflistOrGenovecSubsetUnsafe(sample_include, GetSicp(pssi), sample_ct, max_simple_difflist_len, vidx, pgrp, nullptr, nullptr, genovec, difflist_common_geno_ptr, main_raregeno, difflist_sample_ids, difflist_len_ptr);
+}
+
+PglErr LdSubsetAdjustGenocounts(const unsigned char* fread_end, const uintptr_t* __restrict sample_include, const uint32_t* __restrict sample_include_cumulative_popcounts, const uintptr_t* __restrict ldbase_genovec, uint32_t raw_sample_ct, const unsigned char** fread_pp, STD_ARRAY_REF(uint32_t, 4) genocounts, uintptr_t* __restrict raregeno_workspace) {
+ // * sample_include assumed to be nullptr if no subsetting required
+ // * Assumes genocounts[] is initialized to the proper values for the LD
+ // reference variant (including subsetting).
+ // * Tried a hybrid implementation which allowed the base variant to be saved
+ // as a difflist; turns out it's practically always better to unpack to a
+ // genovec first.
+ // * There are two modes:
+ // 1. If sample_include is nullptr, we're not selecting a sample subset.
+ // 2. If sample_include and sample_include_cumulative_popcounts are both
+ // non-null, we're computing counts over a sample subset, and
+ // ldbase_genovec is assumed to be subsetted.
+ // Experimented with a third mode where ldbase_genovec was replaced with
+ // ldbase_raw_genovec in the subsetted case, but that didn't seem to pay
+ // off.
+ // * This is the main frequency-counting bottleneck.
+ uint32_t raw_difflist_len;
+ const unsigned char* group_info_iter;
+ PglErr reterr = ParseDifflistHeader(fread_end, raw_sample_ct, fread_pp, raregeno_workspace, &group_info_iter, &raw_difflist_len);
+ if (reterr || (!raw_difflist_len)) {
+ return reterr;
+ }
+ const uint32_t subgroup_idx_last = (raw_difflist_len - 1) / kBitsPerWordD2;
+ const uint32_t sample_id_byte_ct = BytesToRepresentNzU32(raw_sample_ct);
+ uintptr_t* raregeno_workspace_iter = raregeno_workspace;
+ uintptr_t raw_sample_idx = 0;
+ STD_ARRAY_DECL(uint32_t, 16, delta_counts);
+ STD_ARRAY_FILL0(delta_counts);
+ for (uint32_t subgroup_idx = 0; ; ++subgroup_idx) {
+ uint32_t remaining_deltas_in_subgroup = kBitsPerWordD2 - 1;
+ if (subgroup_idx >= subgroup_idx_last) {
+ if (subgroup_idx > subgroup_idx_last) {
+ const int32_t incr0 = delta_counts[1] + delta_counts[2] + delta_counts[3] - delta_counts[4] - delta_counts[8] - delta_counts[12];
+ const int32_t incr1 = delta_counts[4] + delta_counts[6] + delta_counts[7] - delta_counts[1] - delta_counts[9] - delta_counts[13];
+ const int32_t incr2 = delta_counts[8] + delta_counts[9] + delta_counts[11] - delta_counts[2] - delta_counts[6] - delta_counts[14];
+ genocounts[0] += incr0;
+ genocounts[1] += incr1;
+ genocounts[2] += incr2;
+ genocounts[3] -= incr0 + incr1 + incr2;
+ return kPglRetSuccess;
+ }
+ remaining_deltas_in_subgroup &= raw_difflist_len - 1;
+ }
+ if (!(subgroup_idx % (kPglDifflistGroupSize / kBitsPerWordD2))) {
+#ifdef __LP64__
+ if (unlikely(raw_sample_idx >= raw_sample_ct)) {
+ return kPglRetMalformedInput;
+ }
+#endif
+ raw_sample_idx = SubU32Load(group_info_iter, sample_id_byte_ct);
+ group_info_iter = &(group_info_iter[sample_id_byte_ct]);
+ } else {
+ raw_sample_idx += GetVint31(fread_end, fread_pp);
+ }
+ uintptr_t cur_raregeno_word = *raregeno_workspace_iter++;
+ if (!sample_include) {
+ for (; ; --remaining_deltas_in_subgroup) {
+#ifndef __LP64__
+ if (unlikely(raw_sample_idx >= raw_sample_ct)) {
+ return kPglRetMalformedInput;
+ }
+#endif
+ const uintptr_t cur_geno = cur_raregeno_word & 3;
+ delta_counts[cur_geno * 4 + GetNyparrEntry(ldbase_genovec, raw_sample_idx)] += 1;
+ if (!remaining_deltas_in_subgroup) {
+ break;
+ }
+ raw_sample_idx += GetVint31(fread_end, fread_pp);
+ cur_raregeno_word >>= 2;
+ }
+ } else {
+ for (; ; --remaining_deltas_in_subgroup) {
+#ifndef __LP64__
+ if (unlikely(raw_sample_idx >= raw_sample_ct)) {
+ return kPglRetMalformedInput;
+ }
+#endif
+ if (IsSet(sample_include, raw_sample_idx)) {
+ const uintptr_t cur_geno = cur_raregeno_word & 3;
+ const uint32_t sample_idx = RawToSubsettedPos(sample_include, sample_include_cumulative_popcounts, raw_sample_idx);
+ delta_counts[cur_geno * 4 + GetNyparrEntry(ldbase_genovec, sample_idx)] += 1;
+ }
+ if (!remaining_deltas_in_subgroup) {
+ break;
+ }
+ raw_sample_idx += GetVint31(fread_end, fread_pp);
+ cur_raregeno_word >>= 2;
+ }
+ }
+ }
+}
+
+PglErr SkipDeltalistIds(const unsigned char* fread_end, const unsigned char* group_info, uint32_t difflist_len, uint32_t raw_sample_ct, uint32_t has_genotypes, const unsigned char** fread_pp) {
+ assert(difflist_len);
+ // fread_pp is a pure output parameter here
+ const uint32_t group_ct = DivUp(difflist_len, kPglDifflistGroupSize);
+ const uint32_t sample_id_byte_ct = BytesToRepresentNzU32(raw_sample_ct);
+ const unsigned char* extra_byte_cts = &(group_info[group_ct * sample_id_byte_ct]);
+ const uint32_t extra_byte_tot = BytesumArr(extra_byte_cts, group_ct - 1);
+
+ // (group_ct - 1) for extra_byte_cts
+ // (difflist_len + 3) / 4 for raregeno
+ // (group_ct - 1) * (kPglDifflistGroupSize - 1) + extra_byte_tot for
+ // all but last ID block
+ // total = (group_ct - 1) * kPglDifflistGroupSize + extra_byte_tot +
+ // (difflist_len + 3) / 4
+ const unsigned char* iddiff_start = &(extra_byte_cts[(group_ct - 1) * kPglDifflistGroupSize + extra_byte_tot]);
+ if (has_genotypes) {
+ iddiff_start = &(iddiff_start[NypCtToByteCt(difflist_len)]);
+ }
+ const unsigned char* fread_ptr = iddiff_start;
+ const unsigned char* fread_loop_stop = &(fread_end[-S_CAST(int32_t, kBytesPerWord)]);
+ uint32_t remaining_id_ct = (difflist_len - 1) % kPglDifflistGroupSize;
+#ifdef USE_SSE2
+ while (remaining_id_ct >= kBytesPerVec) {
+ if (unlikely(fread_ptr > fread_loop_stop)) {
+ return kPglRetMalformedInput;
+ }
+ const VecW vv = vecw_loadu(fread_ptr);
+ fread_ptr = &(fread_ptr[kBytesPerVec]);
+ const uint32_t highbits = vecw_movemask(vv);
+ remaining_id_ct -= kBytesPerVec - PopcountVec8thUint(highbits);
+ }
+#endif
+ while (remaining_id_ct >= kBytesPerWord) {
+ // scan a word at a time, count number of high bits set
+ if (unlikely(fread_ptr > fread_loop_stop)) {
+ return kPglRetMalformedInput;
+ }
+#ifdef USE_SSE42
+ uintptr_t ww;
+ CopyFromUnalignedIncrW(&ww, &fread_ptr);
+ ww &= 0x80 * kMask0101;
+ remaining_id_ct -= kBytesPerWord - PopcountWord(ww);
+#else
+ uintptr_t ww;
+ CopyFromUnalignedIncrW(&ww, &fread_ptr);
+ ww = (ww >> 7) & kMask0101;
+ remaining_id_ct -= kBytesPerWord - ((ww * kMask0101) >> (kBitsPerWord - 8));
+#endif
+ }
+ if (!remaining_id_ct) {
+ *fread_pp = fread_ptr;
+ return kPglRetSuccess;
+ }
+ --remaining_id_ct;
+ while (likely(fread_ptr < fread_end)) {
+ if ((*fread_ptr++) <= 127) {
+ if (!remaining_id_ct) {
+ *fread_pp = fread_ptr;
+ return kPglRetSuccess;
+ }
+ --remaining_id_ct;
+ }
+ }
+ return kPglRetMalformedInput;
+}
+
+PglErr CountparseDifflistSubset(const unsigned char* fread_end, const uintptr_t* __restrict sample_include, uint32_t common_geno, uint32_t raw_sample_ct, uint32_t sample_ct, const unsigned char** fread_pp, STD_ARRAY_REF(uint32_t, 4) genocounts, uintptr_t* __restrict raregeno_workspace) {
+ const unsigned char* group_info_iter;
+ uint32_t difflist_len;
+ PglErr reterr = ParseDifflistHeader(fread_end, raw_sample_ct, fread_pp, raregeno_workspace, &group_info_iter, &difflist_len);
+ STD_ARRAY_REF_FILL0(4, genocounts);
+ if (reterr || (!difflist_len)) {
+ genocounts[common_geno] = sample_ct;
+ return reterr;
+ }
+ if (raw_sample_ct == sample_ct) {
+ ZeroTrailingNyps(difflist_len, raregeno_workspace);
+ GenoarrCountFreqsUnsafe(raregeno_workspace, difflist_len, genocounts);
+ genocounts[common_geno] = sample_ct - difflist_len;
+ // bugfix (26 Mar 2019): forgot to advance fread_pp
+ return SkipDeltalistIds(fread_end, group_info_iter, difflist_len, raw_sample_ct, 1, fread_pp);
+ }
+ const uint32_t subgroup_idx_last = (difflist_len - 1) / kBitsPerWordD2;
+ const uint32_t sample_id_byte_ct = BytesToRepresentNzU32(raw_sample_ct);
+ uintptr_t* raregeno_workspace_iter = raregeno_workspace;
+ uintptr_t raw_sample_idx = 0;
+ for (uint32_t subgroup_idx = 0; ; ++subgroup_idx) {
+ uint32_t remaining_deltas_in_subgroup = kBitsPerWordD2 - 1;
+ if (subgroup_idx >= subgroup_idx_last) {
+ if (subgroup_idx > subgroup_idx_last) {
+ genocounts[common_geno] = sample_ct - genocounts[0] - genocounts[1] - genocounts[2] - genocounts[3];
+ return kPglRetSuccess;
+ }
+ remaining_deltas_in_subgroup &= difflist_len - 1;
+ }
+ if (!(subgroup_idx % (kPglDifflistGroupSize / kBitsPerWordD2))) {
+#ifdef __LP64__
+ if (unlikely(raw_sample_idx >= raw_sample_ct)) {
+ return kPglRetMalformedInput;
+ }
+#endif
+ raw_sample_idx = SubU32Load(group_info_iter, sample_id_byte_ct);
+ group_info_iter = &(group_info_iter[sample_id_byte_ct]);
+ } else {
+ raw_sample_idx += GetVint31(fread_end, fread_pp);
+ }
+ uintptr_t cur_raregeno_word = *raregeno_workspace_iter++;
+ for (; ; --remaining_deltas_in_subgroup) {
+#ifndef __LP64__
+ if (unlikely(raw_sample_idx >= raw_sample_ct)) {
+ return kPglRetMalformedInput;
+ }
+#endif
+ if (IsSet(sample_include, raw_sample_idx)) {
+ const uintptr_t cur_geno = cur_raregeno_word & 3;
+ genocounts[cur_geno] += 1;
+ }
+ if (!remaining_deltas_in_subgroup) {
+ break;
+ }
+ raw_sample_idx += GetVint31(fread_end, fread_pp);
+ cur_raregeno_word >>= 2;
+ }
+ }
+}
+
+// 1-bit, unsubsetted: count 1-bit array, then count raregeno
+// 1-bit, subsetted: count [1-bit array AND sample_include], iterate through
+// difflist
+PglErr CountparseOnebitSubset(const unsigned char* fread_end, const uintptr_t* __restrict sample_include, uint32_t raw_sample_ct, uint32_t sample_ct, const unsigned char** fread_pp, STD_ARRAY_REF(uint32_t, 4) genocounts, uintptr_t* __restrict raregeno_workspace) {
+ const uint32_t initial_bitarray_byte_ct = DivUp(raw_sample_ct, CHAR_BIT);
+ const unsigned char* onebit_main_iter = *fread_pp;
+ if (PtrAddCk(fread_end, initial_bitarray_byte_ct + 1, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ const uint32_t common2_code = *onebit_main_iter++;
+ const uint32_t geno_code_low = common2_code / 4;
+ const uint32_t geno_code_high = (common2_code & 3) + geno_code_low;
+ uint32_t high_geno_ct;
+ if (raw_sample_ct == sample_ct) {
+ high_geno_ct = PopcountBytes(onebit_main_iter, initial_bitarray_byte_ct);
+ } else {
+ high_geno_ct = PopcountBytesMasked(onebit_main_iter, sample_include, initial_bitarray_byte_ct);
+ }
+ const unsigned char* group_info_iter;
+ uint32_t difflist_len;
+ PglErr reterr = ParseDifflistHeader(fread_end, raw_sample_ct, fread_pp, raregeno_workspace, &group_info_iter, &difflist_len);
+ STD_ARRAY_REF_FILL0(4, genocounts);
+ if (reterr || (!difflist_len)) {
+ genocounts[geno_code_low] = sample_ct - high_geno_ct;
+ genocounts[geno_code_high] = high_geno_ct;
+ return reterr;
+ }
+ if (raw_sample_ct == sample_ct) {
+ ZeroTrailingNyps(difflist_len, raregeno_workspace);
+ GenoarrCountFreqsUnsafe(raregeno_workspace, difflist_len, genocounts);
+ genocounts[geno_code_low] = sample_ct - difflist_len - high_geno_ct;
+ genocounts[geno_code_high] = high_geno_ct;
+ // bugfix (26 Mar 2019): forgot to advance fread_pp
+ return SkipDeltalistIds(fread_end, group_info_iter, difflist_len, raw_sample_ct, 1, fread_pp);
+ }
+ const uint32_t subgroup_idx_last = (difflist_len - 1) / kBitsPerWordD2;
+ const uint32_t sample_id_byte_ct = BytesToRepresentNzU32(raw_sample_ct);
+ uintptr_t* raregeno_workspace_iter = raregeno_workspace;
+ uintptr_t raw_sample_idx = 0;
+ for (uint32_t subgroup_idx = 0; ; ++subgroup_idx) {
+ uint32_t remaining_deltas_in_subgroup = kBitsPerWordD2 - 1;
+ if (subgroup_idx >= subgroup_idx_last) {
+ if (subgroup_idx > subgroup_idx_last) {
+ // avoid read-after-write dependency?
+ genocounts[geno_code_low] = sample_ct - high_geno_ct - genocounts[0] - genocounts[1] - genocounts[2] - genocounts[3];
+ genocounts[geno_code_high] = high_geno_ct;
+ return kPglRetSuccess;
+ }
+ remaining_deltas_in_subgroup &= difflist_len - 1;
+ }
+ if (!(subgroup_idx % (kPglDifflistGroupSize / kBitsPerWordD2))) {
+#ifdef __LP64__
+ if (unlikely(raw_sample_idx >= raw_sample_ct)) {
+ return kPglRetMalformedInput;
+ }
+#endif
+ raw_sample_idx = SubU32Load(group_info_iter, sample_id_byte_ct);
+ group_info_iter = &(group_info_iter[sample_id_byte_ct]);
+ } else {
+ raw_sample_idx += GetVint31(fread_end, fread_pp);
+ }
+ uintptr_t cur_raregeno_word = *raregeno_workspace_iter++;
+ for (; ; --remaining_deltas_in_subgroup) {
+#ifndef __LP64__
+ if (unlikely(raw_sample_idx >= raw_sample_ct)) {
+ return kPglRetMalformedInput;
+ }
+#endif
+ if (IsSet(sample_include, raw_sample_idx)) {
+ const uintptr_t cur_geno = cur_raregeno_word & 3;
+ genocounts[cur_geno] += 1;
+ high_geno_ct -= IsSetUnaligned(onebit_main_iter, raw_sample_idx);
+ }
+ if (!remaining_deltas_in_subgroup) {
+ break;
+ }
+ raw_sample_idx += GetVint31(fread_end, fread_pp);
+ cur_raregeno_word >>= 2;
+ }
+ }
+}
+
+// loads ldbase variant if necessary, guarantees pgrp->ldbase_genovec is filled
+// on return
+// only called by GetBasicGenotypeCounts(), usually LdLoadAndCopy... is better
+PglErr LdLoadGenovecSubsetIfNecessary(const uintptr_t* __restrict sample_include, const uint32_t* __restrict sample_include_cumulative_popcounts, uint32_t sample_ct, uint32_t vidx, PgenReaderMain* pgrp) {
+ if (LdLoadNecessary(vidx, pgrp)) {
+ const uint32_t ldbase_vidx = pgrp->ldbase_vidx;
+ const unsigned char* fread_ptr;
+ const unsigned char* fread_end;
+ if (unlikely(InitReadPtrs(ldbase_vidx, pgrp, &fread_ptr, &fread_end))) {
+ return kPglRetReadFail;
+ }
+ const uint32_t vrtype = pgrp->fi.vrtypes[ldbase_vidx];
+ // bugfix (6 Mar 2019): ldbase_raw_genovec is only filled in (!difflist) &&
+ // subsetting_required case; (!difflist) isn't enough
+ pgrp->ldbase_stypes = ((vrtype & 4) || (sample_ct == pgrp->fi.raw_sample_ct))? kfPgrLdcacheNyp : (kfPgrLdcacheNyp | kfPgrLdcacheRawNyp);
+ return ParseNonLdGenovecSubsetUnsafe(fread_end, sample_include, sample_include_cumulative_popcounts, sample_ct, vrtype, &fread_ptr, pgrp, pgrp->ldbase_genovec);
+ }
+ if (!(pgrp->ldbase_stypes & kfPgrLdcacheNyp)) {
+ if (pgrp->ldbase_stypes & kfPgrLdcacheDifflist) {
+ PgrDifflistToGenovecUnsafe(pgrp->ldbase_raregeno, pgrp->ldbase_difflist_sample_ids, pgrp->fi.vrtypes[pgrp->ldbase_vidx] & 3, sample_ct, pgrp->ldbase_difflist_len, pgrp->ldbase_genovec);
+ } else {
+ assert(pgrp->ldbase_stypes & kfPgrLdcacheRawNyp);
+ CopyNyparrNonemptySubset(pgrp->ldbase_raw_genovec, sample_include, pgrp->fi.raw_sample_ct, sample_ct, pgrp->ldbase_genovec);
+ }
+ pgrp->ldbase_stypes |= kfPgrLdcacheNyp;
+ }
+ return kPglRetSuccess;
+}
+
+PglErr GetBasicGenotypeCounts(const uintptr_t* __restrict sample_include, const uintptr_t* __restrict sample_include_interleaved_vec, const uint32_t* __restrict sample_include_cumulative_popcounts, uint32_t sample_ct, uint32_t vidx, PgenReaderMain* pgrp, uint32_t* unphased_het_ctp, STD_ARRAY_REF(uint32_t, 4) genocounts) {
+ // genocounts[0] := ref/ref, genocounts[1] := ref/altx,
+ // genocounts[2] := altx/alty, genocounts[3] := missing
+ // If unphased_het_ctp is non-null, this assumes multiallelic hardcalls are
+ // not present, phased hardcalls are present, we aren't subsetting, and
+ // unphased_het_ct is initialized to zero.
+ assert(vidx < pgrp->fi.raw_variant_ct);
+ assert(sample_ct);
+ const uint32_t vrtype = GetPgfiVrtype(&(pgrp->fi), vidx);
+ const uint32_t raw_sample_ct = pgrp->fi.raw_sample_ct;
+ const uint32_t subsetting_required = (sample_ct != raw_sample_ct);
+ const unsigned char* fread_ptr;
+ const unsigned char* fread_end = nullptr; // maybe-uninitialized warning
+ PglErr reterr;
+ if (VrtypeLdCompressed(vrtype)) {
+ // LD compression
+ reterr = LdLoadGenovecSubsetIfNecessary(sample_include, sample_include_cumulative_popcounts, sample_ct, vidx, pgrp);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ if (unlikely(InitReadPtrs(vidx, pgrp, &fread_ptr, &fread_end))) {
+ return kPglRetReadFail;
+ }
+ if (!(pgrp->ldbase_stypes & kfPgrLdcacheBasicGenocounts)) {
+ ZeroTrailingNyps(sample_ct, pgrp->ldbase_genovec);
+ GenoarrCountFreqsUnsafe(pgrp->ldbase_genovec, sample_ct, pgrp->ldbase_basic_genocounts);
+ assert(pgrp->ldbase_stypes);
+ pgrp->ldbase_stypes |= kfPgrLdcacheBasicGenocounts;
+ }
+ STD_ARRAY_COPY(pgrp->ldbase_basic_genocounts, 4, genocounts);
+ reterr = LdSubsetAdjustGenocounts(fread_end, subsetting_required? sample_include : nullptr, sample_include_cumulative_popcounts, pgrp->ldbase_genovec, raw_sample_ct, &fread_ptr, genocounts, pgrp->workspace_raregeno_tmp_loadbuf);
+ if (vrtype & 1) {
+ // inverted
+ const uint32_t tmpval = genocounts[0];
+ genocounts[0] = genocounts[2];
+ genocounts[2] = tmpval;
+ }
+ } else {
+ if (unlikely(InitReadPtrs(vidx, pgrp, &fread_ptr, &fread_end))) {
+ return kPglRetReadFail;
+ }
+ const uint32_t is_ldbase = pgrp->fi.vrtypes && VrtypeLdCompressed(pgrp->fi.vrtypes[vidx + 1]);
+ if (is_ldbase) {
+ // difflists are very efficient to count directly when not subsetting
+ // (since we can entirely ignore the sample IDs), but it's often better
+ // to unpack them first when subsetting.
+
+ // ...er, the statement above is a lie, unpack-first almost always seems
+ // to be better.
+ pgrp->ldbase_vidx = vidx;
+ // this may be slowed down by the LD caching change.
+ reterr = ParseNonLdGenovecSubsetUnsafe(fread_end, sample_include, sample_include_cumulative_popcounts, sample_ct, vrtype, &fread_ptr, pgrp, pgrp->ldbase_genovec);
+ ZeroTrailingNyps(sample_ct, pgrp->ldbase_genovec);
+ GenoarrCountFreqsUnsafe(pgrp->ldbase_genovec, sample_ct, genocounts);
+ STD_ARRAY_COPY(genocounts, 4, pgrp->ldbase_basic_genocounts);
+ pgrp->ldbase_stypes = (subsetting_required && (!(vrtype & 4)))? (kfPgrLdcacheNyp | kfPgrLdcacheRawNyp | kfPgrLdcacheBasicGenocounts) : (kfPgrLdcacheNyp | kfPgrLdcacheBasicGenocounts);
+ } else if (vrtype & 4) {
+ const uint32_t vrtype_low2 = vrtype & 3;
+ if (vrtype_low2 != 1) {
+ reterr = CountparseDifflistSubset(fread_end, sample_include, vrtype & 3, raw_sample_ct, sample_ct, &fread_ptr, genocounts, pgrp->workspace_raregeno_tmp_loadbuf);
+ } else {
+ genocounts[0] = sample_ct;
+ genocounts[1] = 0;
+ genocounts[2] = 0;
+ genocounts[3] = 0;
+ reterr = kPglRetSuccess;
+ }
+ } else if (vrtype & 1) {
+ reterr = CountparseOnebitSubset(fread_end, sample_include, raw_sample_ct, sample_ct, &fread_ptr, genocounts, pgrp->workspace_raregeno_tmp_loadbuf);
+ } else {
+ const uint32_t genovec_byte_ct = NypCtToByteCt(raw_sample_ct);
+ const unsigned char* genoarrb = fread_ptr;
+ if (PtrAddCk(fread_end, genovec_byte_ct, &fread_ptr)) {
+ return kPglRetMalformedInput;
+ }
+ if (!subsetting_required) {
+ const uint32_t genoarrb_is_unaligned = R_CAST(uintptr_t, genoarrb) % kBytesPerVec;
+ if (genoarrb_is_unaligned) {
+ GenoarrbCountFreqs(genoarrb, raw_sample_ct, genocounts);
+ } else {
+ GenoarrCountFreqs(R_CAST(const uintptr_t*, genoarrb), raw_sample_ct, genocounts);
+ }
+ } else {
+ GenoarrbCountSubsetFreqs(genoarrb, sample_include_interleaved_vec, raw_sample_ct, sample_ct, genocounts);
+ }
+ if (vrtype == kPglVrtypePlink1) {
+ // [3] -> [0]
+ // [2] -> [1]
+ // [1] -> [3]
+ // [0] -> [2]
+ const uint32_t save2 = genocounts[0];
+ const uint32_t save3 = genocounts[1];
+ genocounts[0] = genocounts[3];
+ genocounts[1] = genocounts[2];
+ genocounts[2] = save2;
+ genocounts[3] = save3;
+ }
+ reterr = kPglRetSuccess;
+ }
+ }
+ if ((!unphased_het_ctp) || reterr) {
+ return reterr;
+ }
+ assert((!subsetting_required) && ((vrtype & 0x18) == 0x10));
+ const uint32_t het_ct = genocounts[1];
+ const uint32_t aux2_first_part_byte_ct = 1 + (het_ct / CHAR_BIT);
+ if (PtrCheck(fread_end, fread_ptr, aux2_first_part_byte_ct)) {
+ return kPglRetMalformedInput;
+ }
+ const uint32_t explicit_phasepresent = fread_ptr[0] & 1;
+ if (explicit_phasepresent) {
+ // otherwise initial value if 0 is correct
+ *unphased_het_ctp = het_ct + 1 - PopcountBytes(fread_ptr, aux2_first_part_byte_ct);
+ }
+ return kPglRetSuccess;
+}
+
+PglErr PgrGetCounts(const uintptr_t* __restrict sample_include, const uintptr_t* __restrict sample_include_interleaved_vec, PgrSampleSubsetIndex pssi, uint32_t sample_ct, uint32_t vidx, PgenReader* pgr_ptr, STD_ARRAY_REF(uint32_t, 4) genocounts) {
+ if (!sample_ct) {
+ STD_ARRAY_REF_FILL0(4, genocounts);
+ return kPglRetSuccess;
+ }
+ PgenReaderMain* pgrp = GetPgrp(pgr_ptr);
+ assert(vidx < pgrp->fi.raw_variant_ct);
+ return GetBasicGenotypeCounts(sample_include, sample_include_interleaved_vec, GetSicp(pssi), sample_ct, vidx, pgrp, nullptr, genocounts);
+}
+
+uint32_t CountNypVec6(const unsigned char* nyp_vvec_biter, uintptr_t nyp_word, uint32_t vec_ct) {
+ assert(!(vec_ct % 6));
+ const VecW m0 = vecw_setzero();
+ const VecW m1 = VCONST_W(kMask5555);
+ const VecW m2 = VCONST_W(kMask3333);
+ const VecW m4 = VCONST_W(kMask0F0F);
+ const VecW xor_vvec = vecw_set1(nyp_word);
+ VecW prev_sad_result = vecw_setzero();
+ VecW acc = vecw_setzero();
+ uintptr_t cur_incr = 60;
+ for (; ; vec_ct -= cur_incr) {
+ if (vec_ct < 60) {
+ if (!vec_ct) {
+ acc = acc + prev_sad_result;
+ return HsumW(acc);
+ }
+ cur_incr = vec_ct;
+ }
+ VecW inner_acc = vecw_setzero();
+ const unsigned char* nyp_vvec_stop = &(nyp_vvec_biter[cur_incr * kBytesPerVec]);
+ do {
+ VecW loader1 = vecw_loadu(nyp_vvec_biter) ^ xor_vvec;
+ nyp_vvec_biter += kBytesPerVec;
+ VecW loader2 = vecw_loadu(nyp_vvec_biter) ^ xor_vvec;
+ nyp_vvec_biter += kBytesPerVec;
+ VecW count1 = vecw_and_notfirst(vecw_srli(loader1, 1) | loader1, m1);
+ VecW count2 = vecw_and_notfirst(vecw_srli(loader2, 1) | loader2, m1);
+
+ loader1 = vecw_loadu(nyp_vvec_biter) ^ xor_vvec;
+ nyp_vvec_biter += kBytesPerVec;
+ loader2 = vecw_loadu(nyp_vvec_biter) ^ xor_vvec;
+ nyp_vvec_biter += kBytesPerVec;
+ count1 = count1 + vecw_and_notfirst(vecw_srli(loader1, 1) | loader1, m1);
+ count2 = count2 + vecw_and_notfirst(vecw_srli(loader2, 1) | loader2, m1);
+
+ loader1 = vecw_loadu(nyp_vvec_biter) ^ xor_vvec;
+ nyp_vvec_biter += kBytesPerVec;
+ loader2 = vecw_loadu(nyp_vvec_biter) ^ xor_vvec;
+ nyp_vvec_biter += kBytesPerVec;
+ count1 = count1 + vecw_and_notfirst(vecw_srli(loader1, 1) | loader1, m1);
+ count2 = count2 + vecw_and_notfirst(vecw_srli(loader2, 1) | loader2, m1);
+
+ count1 = (count1 & m2) + (vecw_srli(count1, 2) & m2);
+ count1 = count1 + (count2 & m2) + (vecw_srli(count2, 2) & m2);
+ inner_acc = inner_acc + (count1 & m4) + (vecw_srli(count1, 4) & m4);
+ } while (nyp_vvec_biter < nyp_vvec_stop);
+ acc = acc + prev_sad_result;
+ prev_sad_result = vecw_bytesum(inner_acc, m0);
+ }
+}
+
+// Ok for nyparr to be unaligned. Ok if unsafe to read trailing bytes of
+// nyparr.
+uint32_t CountNyp(const void* nyparr, uintptr_t nyp_word, uint32_t nyp_ct) {
+ const unsigned char* nyparr_uc = S_CAST(const unsigned char*, nyparr);
+ const uint32_t fullword_ct = nyp_ct / kBitsPerWordD2;
+ uint32_t word_idx = fullword_ct - (fullword_ct % (6 * kWordsPerVec));
+ uint32_t tot = CountNypVec6(nyparr_uc, nyp_word, word_idx / kWordsPerVec);
+ for (; word_idx != fullword_ct; ++word_idx) {
+ uintptr_t cur_word;
+ CopyFromUnalignedOffsetW(&cur_word, nyparr_uc, word_idx);
+ tot += Popcount01Word(Word00(cur_word ^ nyp_word));
+ }
+ const uint32_t trailing_nyp_ct = nyp_ct % kBitsPerWordD2;
+ if (trailing_nyp_ct) {
+ const uint32_t trailing_byte_ct = DivUp(trailing_nyp_ct, (CHAR_BIT / 2));
+ uintptr_t cur_word = SubwordLoad(&(nyparr_uc[fullword_ct * kBytesPerWord]), trailing_byte_ct) ^ nyp_word;
+ cur_word = bzhi(Word00(cur_word), trailing_nyp_ct * 2);
+ tot += Popcount01Word(cur_word);
+ }
+ return tot;
+}
+
+/*
+uint32_t CountNypSubsetVec6(const VecW* __restrict nyp_vvec, const VecW* __restrict interleaved_mask_vvec, uintptr_t nyp_word, uint32_t vec_ct) {
+ assert(!(vec_ct % 6));
+ const VecW m0 = vecw_setzero();
+ const VecW m1 = VCONST_W(kMask5555);
+ const VecW m2 = VCONST_W(kMask3333);
+ const VecW m4 = VCONST_W(kMask0F0F);
+ const VecW xor_vvec = vecw_set1(nyp_word);
+ const VecW* nyp_vvec_iter = nyp_vvec;
+ const VecW* interleaved_mask_vvec_iter = interleaved_mask_vvec;
+ VecW prev_sad_result = vecw_setzero();
+ VecW acc = vecw_setzero();
+ uintptr_t cur_incr = 60;
+ while (1) {
+ if (vec_ct < 60) {
+ if (!vec_ct) {
+ acc = acc + prev_sad_result;
+ return HsumW(acc);
+ }
+ cur_incr = vec_ct;
+ }
+ VecW inner_acc = vecw_setzero();
+ const VecW* nyp_vvec_stop = &(nyp_vvec_iter[cur_incr]);
+ vec_ct -= cur_incr;
+ do {
+ VecW mask1 = *interleaved_mask_vvec_iter++;
+ VecW loader1 = vecw_loadu(nyp_vvec_iter++) ^ xor_vvec;
+ VecW mask2 = vecw_srli(mask1, 1) & m1;
+ VecW loader2 = vecw_loadu(nyp_vvec_iter++) ^ xor_vvec;
+ mask1 = mask1 & m1;
+ VecW count1 = vecw_and_notfirst(vecw_srli(loader1, 1) | loader1, mask1);
+ VecW count2 = vecw_and_notfirst(vecw_srli(loader2, 1) | loader2, mask2);
+
+ mask1 = *interleaved_mask_vvec_iter++;
+ loader1 = vecw_loadu(nyp_vvec_iter++) ^ xor_vvec;
+ mask2 = vecw_srli(mask1, 1) & m1;
+ loader2 = vecw_loadu(nyp_vvec_iter++) ^ xor_vvec;
+ mask1 = mask1 & m1;
+ count1 = count1 + vecw_and_notfirst(vecw_srli(loader1, 1) | loader1, mask1);
+ count2 = count2 + vecw_and_notfirst(vecw_srli(loader2, 1) | loader2, mask2);
+
+ mask1 = *interleaved_mask_vvec_iter++;
+ loader1 = vecw_loadu(nyp_vvec_iter++) ^ xor_vvec;
+ mask2 = vecw_srli(mask2, 1) & m1;
+ loader2 = vecw_loadu(nyp_vvec_iter++) ^ xor_vvec;
+ mask1 = mask1 & m1;
+ count1 = count1 + vecw_and_notfirst(vecw_srli(loader1, 1) | loader1, mask1);
+ count2 = count2 + vecw_and_notfirst(vecw_srli(loader2, 1) | loader2, mask2);
+
+ count1 = (count1 & m2) + (vecw_srli(count1, 2) & m2);
+ count1 = count1 + (count2 & m2) + (vecw_srli(count2, 2) & m2);
+ inner_acc = inner_acc + (count1 & m4) + (vecw_srli(count1, 4) & m4);
+ } while (nyp_vvec_iter < nyp_vvec_stop);
+ acc = acc + prev_sad_result;
+ prev_sad_result = vecw_bytesum(inner_acc, m0);
+ }
+}
+
+uint32_t CountNypSubset(const uintptr_t* __restrict nypvec, const uintptr_t* __restrict interleaved_vec, uintptr_t nyp_word, uint32_t raw_nyp_ct) {
+ // simplified GenoarrCountSubsetFreqs()
+ const uint32_t raw_nyp_ctv2 = NypCtToVecCt(raw_nyp_ct);
+#ifdef __LP64__
+ uint32_t vec_idx = raw_nyp_ctv2 - (raw_nyp_ctv2 % 6);
+ uint32_t tot = CountNypSubsetVec6(R_CAST(const VecW*, nypvec), R_CAST(const VecW*, interleaved_vec), nyp_word, vec_idx);
+ const uintptr_t* nypvec_iter = &(nypvec[kWordsPerVec * vec_idx]);
+ const uintptr_t* interleaved_mask_iter = &(interleaved_vec[(kWordsPerVec / 2) * vec_idx]);
+# ifdef USE_AVX2
+ uintptr_t mask_base1 = 0;
+ uintptr_t mask_base2 = 0;
+ uintptr_t mask_base3 = 0;
+ uintptr_t mask_base4 = 0;
+ for (; vec_idx != raw_nyp_ctv2; ++vec_idx) {
+ uintptr_t mask_word1;
+ uintptr_t mask_word2;
+ uintptr_t mask_word3;
+ uintptr_t mask_word4;
+ if (!(vec_idx % 2)) {
+ mask_base1 = *interleaved_mask_iter++;
+ mask_base2 = *interleaved_mask_iter++;
+ mask_base3 = *interleaved_mask_iter++;
+ mask_base4 = *interleaved_mask_iter++;
+ mask_word1 = mask_base1 & kMask5555;
+ mask_word2 = mask_base2 & kMask5555;
+ mask_word3 = mask_base3 & kMask5555;
+ mask_word4 = mask_base4 & kMask5555;
+ } else {
+ mask_word1 = (mask_base1 >> 1) & kMask5555;
+ mask_word2 = (mask_base2 >> 1) & kMask5555;
+ mask_word3 = (mask_base3 >> 1) & kMask5555;
+ mask_word4 = (mask_base4 >> 1) & kMask5555;
+ }
+ uint32_t uii = 0;
+ while (1) {
+ const uintptr_t cur_geno_word1 = (*nypvec_iter++) ^ nyp_word;
+ const uintptr_t cur_geno_word2 = (*nypvec_iter++) ^ nyp_word;
+ const uintptr_t masked1 = mask_word1 & (~(cur_geno_word1 | (cur_geno_word1 >> 1)));
+ const uintptr_t masked2 = mask_word2 & (~(cur_geno_word2 | (cur_geno_word2 >> 1)));
+ tot += PopcountWord((masked1 << 1) | masked2);
+ if (uii) {
+ break;
+ }
+ ++uii;
+ mask_word1 = mask_word3;
+ mask_word2 = mask_word4;
+ }
+ }
+# else // not USE_AVX2
+ uintptr_t mask_base1 = 0;
+ uintptr_t mask_base2 = 0;
+ for (; vec_idx != raw_nyp_ctv2; ++vec_idx) {
+ uintptr_t mask_word1;
+ uintptr_t mask_word2;
+ if (!(vec_idx % 2)) {
+ mask_base1 = *interleaved_mask_iter++;
+ mask_base2 = *interleaved_mask_iter++;
+ mask_word1 = mask_base1 & kMask5555;
+ mask_word2 = mask_base2 & kMask5555;
+ } else {
+ mask_word1 = (mask_base1 >> 1) & kMask5555;
+ mask_word2 = (mask_base2 >> 1) & kMask5555;
+ }
+ const uintptr_t cur_geno_word1 = (*nypvec_iter++) ^ nyp_word;
+ const uintptr_t cur_geno_word2 = (*nypvec_iter++) ^ nyp_word;
+ const uintptr_t masked1 = mask_word1 & (~(cur_geno_word1 | (cur_geno_word1 >> 1)));
+ const uintptr_t masked2 = mask_word2 & (~(cur_geno_word2 | (cur_geno_word2 >> 1)));
+# ifdef USE_SSE42
+ tot += PopcountWord((masked1 << 1) | masked2);
+# else
+ tot += NypsumWord(masked1 + masked2);
+# endif
+ }
+# endif // not USE_AVX2
+#else // not __LP64__
+ uint32_t word_idx = raw_nyp_ctv2 - (raw_nyp_ctv2 % 6);
+ uint32_t tot = CountNypSubsetVec6(R_CAST(const VecW*, nypvec), R_CAST(const VecW*, interleaved_vec), nyp_word, word_idx);
+ const uintptr_t* interleaved_mask_iter = &(interleaved_vec[word_idx / 2]);
+ uintptr_t mask_base = 0;
+ for (; word_idx != raw_nyp_ctv2; ++word_idx) {
+ uintptr_t mask_word;
+ if (!(word_idx % 2)) {
+ mask_base = *interleaved_mask_iter++;
+ mask_word = mask_base & kMask5555;
+ } else {
+ mask_word = (mask_base >> 1) & kMask5555;
+ }
+ const uintptr_t cur_geno_word = nypvec[word_idx] ^ nyp_word;
+ const uintptr_t masked = mask_word & (~(cur_geno_word | (cur_geno_word >> 1)));
+ tot += Popcount01Word(masked);
+ }
+#endif
+ return tot;
+}
+*/
+
+// similar to ParseAndSaveDifflist()
+PglErr ParseAndSaveDeltalist(const unsigned char* fread_end, uint32_t raw_sample_ct, const unsigned char** fread_pp, uint32_t* __restrict deltalist, uint32_t* __restrict deltalist_len_ptr) {
+ const unsigned char* group_info_iter;
+ PglErr reterr = ParseDifflistHeader(fread_end, raw_sample_ct, fread_pp, nullptr, &group_info_iter, deltalist_len_ptr);
+ const uint32_t deltalist_len = *deltalist_len_ptr;
+ if (reterr || (!deltalist_len)) {
+ return reterr;
+ }
+ const uint32_t sample_id_byte_ct = BytesToRepresentNzU32(raw_sample_ct);
+ const uint32_t group_idx_last = (deltalist_len - 1) / kPglDifflistGroupSize;
+ uint32_t* deltalist_iter = deltalist;
+ uint32_t group_len_m1 = kPglDifflistGroupSize - 1;
+ for (uint32_t group_idx = 0; ; ++group_idx) {
+ if (group_idx >= group_idx_last) {
+ if (group_idx > group_idx_last) {
+ return kPglRetSuccess;
+ }
+ group_len_m1 &= deltalist_len - 1;
+ }
+ uintptr_t raw_sample_idx = SubU32Load(group_info_iter, sample_id_byte_ct);
+ group_info_iter = &(group_info_iter[sample_id_byte_ct]);
+ for (uint32_t raw_deltalist_idx_lowbits = 0; ; ++raw_deltalist_idx_lowbits) {
+ // always check, otherwise we may scribble over arbitrary memory
+ if (unlikely(raw_sample_idx >= raw_sample_ct)) {
+ return kPglRetMalformedInput;
+ }
+ deltalist_iter[raw_deltalist_idx_lowbits] = raw_sample_idx;
+ if (raw_deltalist_idx_lowbits == group_len_m1) {
+ break;
+ }
+ raw_sample_idx += GetVint31(fread_end, fread_pp);
+ }
+ deltalist_iter = &(deltalist_iter[group_len_m1 + 1]);
+ }
+}
+
+PglErr CountDeltalistIntersect(const unsigned char* fread_end, const uintptr_t* __restrict sample_include, uint32_t raw_sample_ct, const unsigned char** fread_pp, uint32_t* __restrict intersect_ctp, uint32_t* __restrict raw_deltalist_len_ptr) {
+ // Requires a PROPER subset.
+ const unsigned char* group_info_iter;
+ PglErr reterr = ParseDifflistHeader(fread_end, raw_sample_ct, fread_pp, nullptr, &group_info_iter, raw_deltalist_len_ptr);
+ const uint32_t raw_deltalist_len = *raw_deltalist_len_ptr;
+ if (reterr || (!raw_deltalist_len)) {
+ *intersect_ctp = 0;
+ return reterr;
+ }
+ const uint32_t group_idx_last = (raw_deltalist_len - 1) / kPglDifflistGroupSize;
+ const uint32_t sample_id_byte_ct = BytesToRepresentNzU32(raw_sample_ct);
+ uintptr_t intersect_ct = 0;
+
+ // technically doesn't need to be initialized, but I have principles
+ uintptr_t raw_sample_idx = 0;
+
+ uint32_t group_len_m1 = kPglDifflistGroupSize - 1;
+ for (uint32_t group_idx = 0; ; ++group_idx) {
+ if (group_idx >= group_idx_last) {
+ if (group_idx > group_idx_last) {
+ *intersect_ctp = intersect_ct;
+ return kPglRetSuccess;
+ }
+ group_len_m1 &= raw_deltalist_len - 1;
+ }
+ // We need to pull a raw sample index from the deltalist header every 64
+ // entries.
+#ifdef __LP64__
+ if (unlikely(raw_sample_idx >= raw_sample_ct)) {
+ return kPglRetMalformedInput;
+ }
+#endif
+ raw_sample_idx = SubU32Load(group_info_iter, sample_id_byte_ct);
+ group_info_iter = &(group_info_iter[sample_id_byte_ct]);
+ for (uint32_t raw_deltalist_idx_lowbits = 0; ; ++raw_deltalist_idx_lowbits) {
+#ifndef __LP64__
+ if (unlikely(raw_sample_idx >= raw_sample_ct)) {
+ return kPglRetMalformedInput;
+ }
+#endif
+ intersect_ct += IsSet(sample_include, raw_sample_idx);
+ if (raw_deltalist_idx_lowbits == group_len_m1) {
+ break;
+ }
+ raw_sample_idx += GetVint31(fread_end, fread_pp);
+ }
+ }
+}
+
+uint32_t CountAux1aDense(const unsigned char* patch_01_fvals, uint32_t allele_ct, uint32_t allele_idx, uint32_t raw_01_ct, uint32_t rare01_ct) {
+ // The 'f' in patch_01_fset/patch_01_fvals is to distinguish the in-file
+ // representation from the returned AlleleCode*-based representation.
+ if (allele_idx == 1) {
+ // safe to ignore allele codes
+ return raw_01_ct - rare01_ct;
+ }
+ if (allele_ct < 5) {
+ if (allele_ct == 3) {
+ return rare01_ct;
+ }
+ // need to count matches
+ const uint32_t allele_code_byte_ct = DivUp(rare01_ct, 8);
+ const uint32_t alt3_ct = PopcountBytes(patch_01_fvals, allele_code_byte_ct);
+ if (allele_idx == 3) {
+ return alt3_ct;
+ }
+ return rare01_ct - alt3_ct;
+ }
+ if (allele_ct < 19) {
+ if (allele_ct < 7) {
+ return CountNyp(patch_01_fvals, (allele_idx - 2) * kMask5555, rare01_ct);
+ }
+ return CountNybble(patch_01_fvals, (allele_idx - 2) * kMask1111, rare01_ct);
+ }
+ return CountByte(patch_01_fvals, allele_idx - 2, rare01_ct);
+}
+
+uint32_t GetAux1aWidth(uint32_t allele_ct) {
+ if (allele_ct < 7) {
+ if (allele_ct < 5) {
+ return allele_ct - 3;
+ }
+ return 2;
+ }
+ if (allele_ct < 19) {
+ return 4;
+ }
+ return 8;
+}
+
+// Returns allele_code_width. Other return values are inaccurate for allele_ct
+// == 3, since it's assumed that they're unused in that case.
+uint32_t GetAux1aConsts(uint32_t allele_ct, uintptr_t* detect_mask_hi_ptr, uintptr_t* detect_mask_lo_ptr, uint32_t* allele_code_logwidth_ptr) {
+ if (allele_ct < 7) {
+ if (allele_ct < 5) {
+ *detect_mask_hi_ptr = ~k0LU;
+ *detect_mask_lo_ptr = ~k0LU;
+ *allele_code_logwidth_ptr = 0;
+ return allele_ct - 3;
+ }
+ *detect_mask_hi_ptr = kMaskAAAA;
+ *detect_mask_lo_ptr = kMask5555;
+ *allele_code_logwidth_ptr = 1;
+ return 2;
+ }
+ if (allele_ct < 19) {
+ *detect_mask_hi_ptr = kMask1111 * 8;
+ *detect_mask_lo_ptr = kMask1111;
+ *allele_code_logwidth_ptr = 2;
+ return 4;
+ }
+ *detect_mask_hi_ptr = kMask0101 * 0x80;
+ *detect_mask_lo_ptr = kMask0101;
+ *allele_code_logwidth_ptr = 3;
+ return 8;
+}
+
+// Advances *fread_pp past aux1a, and sets *het_ctp to the number of ref-altx
+// hets where x == allele_idx in sample_include. (If allele_idx == 1, *het_ctp
+// is raw_01_ct - [# of aux1a entries] when there's no subsetting.)
+// Note that raw_01_ct must be an un-subsetted count.
+// Ok for subsetted_01_ct to be uninitialized if not subsetting, or allele_idx
+// != 1.
+// sample_include assumed to be nullptr if no subsetting required
+PglErr CountAux1a(const unsigned char* fread_end, const uintptr_t* __restrict sample_include, const uintptr_t* __restrict raw_genoarr, uint32_t aux1a_mode, uint32_t raw_sample_ct, uint32_t allele_ct, uint32_t allele_idx, uint32_t raw_01_ct, uint32_t subsetted_01_ct, const unsigned char** fread_pp, uint32_t* __restrict het_ctp, uint32_t* __restrict deltalist_workspace) {
+ if (aux1a_mode == 15) {
+ if (allele_idx == 1) {
+ if (sample_include) {
+ *het_ctp = subsetted_01_ct;
+ } else {
+ *het_ctp = raw_01_ct;
+ }
+ } else {
+ *het_ctp = 0;
+ }
+ return kPglRetSuccess;
+ }
+ const uint32_t ignore_01_fvals = (allele_idx == 1) || (allele_ct == 3);
+ uintptr_t detect_mask_hi;
+ uintptr_t detect_mask_lo;
+ uint32_t allele_code_logwidth;
+ const uint32_t allele_code_width = GetAux1aConsts(allele_ct, &detect_mask_hi, &detect_mask_lo, &allele_code_logwidth);
+ const uintptr_t xor_word = (allele_idx - 2) * detect_mask_lo;
+ if (!aux1a_mode) {
+ // 01-collapsed bitarray
+ const uint32_t fset_byte_ct = DivUp(raw_01_ct, CHAR_BIT);
+ const uint32_t rare01_ct = PopcountBytes(*fread_pp, fset_byte_ct);
+ const unsigned char* patch_01_fset = *fread_pp;
+ *fread_pp += fset_byte_ct;
+ const unsigned char* patch_01_fvals = *fread_pp;
+ const uint32_t fvals_byte_ct = DivUpU64(S_CAST(uint64_t, rare01_ct) * allele_code_width, 8);
+ if (PtrAddCk(fread_end, fvals_byte_ct, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ if (!sample_include) {
+ *het_ctp = CountAux1aDense(patch_01_fvals, allele_ct, allele_idx, raw_01_ct, rare01_ct);
+ return kPglRetSuccess;
+ }
+ const Halfword* sample_include_hw = DowncastKWToHW(sample_include);
+ uintptr_t sample_hwidx = 0;
+ uintptr_t cur_raw_genoarr_hets = Word01(raw_genoarr[0]);
+ const uint32_t fset_word_ct_m1 = (fset_byte_ct - 1) / kBytesPerWord;
+ const uint32_t fvals_word_ct_m1 = (fvals_byte_ct - 1) / kBytesPerWord;
+ uintptr_t fvals_bits = 0;
+ uint32_t fvals_widx = 0;
+ uint32_t subsetted_hetx_ct = 0;
+ uint32_t loop_len = kBitsPerWord;
+ uint32_t rare01_lowbits = kBitsPerWord;
+ for (uint32_t fset_widx = 0; ; ++fset_widx) {
+ uintptr_t fset_bits;
+ if (fset_widx >= fset_word_ct_m1) {
+ if (fset_widx > fset_word_ct_m1) {
+ break;
+ }
+ fset_bits = SubwordLoad(&(patch_01_fset[fset_word_ct_m1 * kBytesPerWord]), ModNz(fset_byte_ct, kBytesPerWord));
+ loop_len = ModNz(raw_01_ct, kBitsPerWord);
+ } else {
+ CopyFromUnalignedOffsetW(&fset_bits, patch_01_fset, fset_widx);
+ }
+ // format 0, sample_include non-null
+ if (ignore_01_fvals) {
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ while (!cur_raw_genoarr_hets) {
+ cur_raw_genoarr_hets = Word01(raw_genoarr[++sample_hwidx]);
+ }
+ if (fset_bits & 1) {
+ // Considered replacing cur_raw_genoarr_hets with the result of
+ // two PackWordToHalfword() operations, since that keeps all
+ // the sample word-indexes aligned. Couldn't justify it given
+ // the expected sparsity of this case, though.
+ const uint32_t sample_uidx_lowbits = ctzw(cur_raw_genoarr_hets) / 2;
+ subsetted_hetx_ct += (sample_include_hw[sample_hwidx] >> sample_uidx_lowbits) & 1;
+ }
+ cur_raw_genoarr_hets &= cur_raw_genoarr_hets - 1;
+ fset_bits = fset_bits >> 1;
+ }
+ } else {
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ while (!cur_raw_genoarr_hets) {
+ cur_raw_genoarr_hets = Word01(raw_genoarr[++sample_hwidx]);
+ }
+ if (fset_bits & 1) {
+ if (rare01_lowbits == kBitsPerWord) {
+ if (fvals_widx == fvals_word_ct_m1) {
+ fvals_bits = SubwordLoad(&(patch_01_fvals[fvals_widx * kBytesPerWord]), ModNz(fvals_byte_ct, kBytesPerWord));
+ } else {
+ CopyFromUnalignedOffsetW(&fvals_bits, patch_01_fvals, fvals_widx);
+ }
+ fvals_bits = fvals_bits ^ xor_word;
+ fvals_bits = (detect_mask_hi & (~(fvals_bits | ((fvals_bits | detect_mask_hi) - detect_mask_lo)))) >> (allele_code_width - 1);
+ // unnecessary to apply bzhi here
+ ++fvals_widx;
+ rare01_lowbits = 0;
+ }
+ if (fvals_bits & (k1LU << rare01_lowbits)) {
+ const uint32_t sample_uidx_lowbits = ctzw(cur_raw_genoarr_hets) / 2;
+ subsetted_hetx_ct += (sample_include_hw[sample_hwidx] >> sample_uidx_lowbits) & 1;
+ }
+ rare01_lowbits += allele_code_width;
+ }
+ cur_raw_genoarr_hets &= cur_raw_genoarr_hets - 1;
+ fset_bits = fset_bits >> 1;
+ }
+ }
+ }
+ if (allele_idx == 1) {
+ *het_ctp = subsetted_01_ct - subsetted_hetx_ct;
+ } else {
+ *het_ctp = subsetted_hetx_ct;
+ }
+ return kPglRetSuccess;
+ }
+ // mode 1: difflist.
+ if (!sample_include) {
+ const unsigned char* group_info_iter;
+ uint32_t rare01_ct;
+ PglErr reterr = ParseDifflistHeader(fread_end, raw_sample_ct, fread_pp, nullptr, &group_info_iter, &rare01_ct);
+ // rare01_ct == 0 should be impossible
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ reterr = SkipDeltalistIds(fread_end, group_info_iter, rare01_ct, raw_sample_ct, 1, fread_pp);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ const unsigned char* patch_01_fvals = *fread_pp;
+ const uint32_t fvals_byte_ct = DivUpU64(S_CAST(uint64_t, rare01_ct) * allele_code_width, 8);
+ if (PtrAddCk(fread_end, fvals_byte_ct, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+
+ *het_ctp = CountAux1aDense(patch_01_fvals, allele_ct, allele_idx, raw_01_ct, rare01_ct);
+ return kPglRetSuccess;
+ }
+ if (ignore_01_fvals) {
+ // Don't need to save deltalist contents in this case.
+ uint32_t subsetted_hetx_ct;
+ uint32_t rare01_ct;
+ PglErr reterr = CountDeltalistIntersect(fread_end, sample_include, raw_sample_ct, fread_pp, &subsetted_hetx_ct, &rare01_ct);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ if (allele_idx == 1) {
+ *het_ctp = subsetted_01_ct - subsetted_hetx_ct;
+ const uint32_t fvals_byte_ct = DivUpU64(S_CAST(uint64_t, rare01_ct) * allele_code_width, 8);
+ if (PtrAddCk(fread_end, fvals_byte_ct, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ } else {
+ *het_ctp = subsetted_hetx_ct;
+ }
+ return kPglRetSuccess;
+ }
+ // Save deltalist elements, iterate.
+ uint32_t rare01_ct;
+ PglErr reterr = ParseAndSaveDeltalist(fread_end, raw_sample_ct, fread_pp, deltalist_workspace, &rare01_ct);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ const unsigned char* patch_01_fvals = *fread_pp;
+ const uint32_t fvals_byte_ct = DivUpU64(S_CAST(uint64_t, rare01_ct) * allele_code_width, 8);
+ if (PtrAddCk(fread_end, fvals_byte_ct, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ const uint32_t fvals_word_ct_m1 = (fvals_byte_ct - 1) / kBytesPerWord;
+ uint32_t subsetted_hetx_ct = 0;
+ for (uint32_t fvals_widx = 0; ; ++fvals_widx) {
+ uintptr_t fvals_bits;
+ if (fvals_widx >= fvals_word_ct_m1) {
+ if (fvals_widx > fvals_word_ct_m1) {
+ break;
+ }
+ fvals_bits = SubwordLoad(&(patch_01_fvals[fvals_widx * kBytesPerWord]), ModNz(fvals_byte_ct, kBytesPerWord));
+ } else {
+ CopyFromUnalignedOffsetW(&fvals_bits, patch_01_fvals, fvals_widx);
+ }
+ fvals_bits = fvals_bits ^ xor_word;
+ fvals_bits = detect_mask_hi & (~(fvals_bits | ((fvals_bits | detect_mask_hi) - detect_mask_lo)));
+ if (fvals_widx == fvals_word_ct_m1) {
+ fvals_bits = bzhi_max(fvals_bits, ModNz(rare01_ct << allele_code_logwidth, kBitsPerWord));
+ }
+ if (!fvals_bits) {
+ continue;
+ }
+ const uint32_t* cur_deltalist_base = &(deltalist_workspace[fvals_widx << (kBitsPerWordLog2 - allele_code_logwidth)]);
+ do {
+ const uint32_t rare01_idx_lowbits = ctzw(fvals_bits) >> allele_code_logwidth;
+ const uint32_t sample_uidx = cur_deltalist_base[rare01_idx_lowbits];
+ subsetted_hetx_ct += IsSet(sample_include, sample_uidx);
+ fvals_bits &= fvals_bits - 1;
+ } while (fvals_bits);
+ }
+ *het_ctp = subsetted_hetx_ct;
+ return kPglRetSuccess;
+}
+
+void CountAux1bDense(const unsigned char* patch_10_fvals, uint32_t allele_ct, uint32_t allele_idx_m1, uint32_t raw_10_ct, uint32_t rare10_ct, uint32_t* __restrict het_ctp, uint32_t* __restrict hom_ctp) {
+ uint32_t matching_hom_ct = 0;
+ uint32_t het_incr;
+ if (allele_ct < 6) {
+ if (allele_ct == 3) {
+ const uint32_t allele_code_byte_ct = DivUp(rare10_ct, 8);
+ matching_hom_ct = PopcountBytes(patch_10_fvals, allele_code_byte_ct);
+ het_incr = rare10_ct - matching_hom_ct;
+ } else {
+ // 2+2 bits
+ het_incr = CountNyp(patch_10_fvals, allele_idx_m1 * kMask5555, rare10_ct * 2);
+ if (allele_idx_m1) {
+ matching_hom_ct = CountNybble(patch_10_fvals, allele_idx_m1 * kMask5555, rare10_ct);
+ }
+ }
+ } else {
+ if (allele_ct < 18) {
+ // 4+4 bits
+ het_incr = CountNybble(patch_10_fvals, allele_idx_m1 * kMask1111, rare10_ct * 2);
+ if (allele_idx_m1) {
+ matching_hom_ct = CountByte(patch_10_fvals, allele_idx_m1 * 0x11, rare10_ct);
+ }
+ } else {
+ // 8+8 bits
+ het_incr = CountByte(patch_10_fvals, allele_idx_m1 * 0x11, rare10_ct * 2);
+ if (allele_idx_m1) {
+ matching_hom_ct = CountU16(patch_10_fvals, allele_idx_m1 * 0x1111, rare10_ct);
+ }
+ }
+ }
+ if (!allele_idx_m1) {
+ *hom_ctp = raw_10_ct - rare10_ct;
+ } else {
+ het_incr -= 2 * matching_hom_ct;
+ *hom_ctp = matching_hom_ct;
+ }
+ *het_ctp += het_incr;
+}
+
+// Returns allele_code_logwidth.
+uint32_t GetAux1bConsts(uint32_t allele_ct, uintptr_t* detect_hom_mask_lo_ptr) {
+ if (allele_ct < 6) {
+ if (allele_ct == 3) {
+ *detect_hom_mask_lo_ptr = ~k0LU;
+ return 0;
+ }
+ *detect_hom_mask_lo_ptr = kMask1111;
+ return 1;
+ }
+ if (allele_ct < 18) {
+ *detect_hom_mask_lo_ptr = kMask0101;
+ return 2;
+ }
+ *detect_hom_mask_lo_ptr = kMask0001;
+ return 3;
+}
+
+// Advances *fread_pp past aux1b; increments *het_ctp by the number of
+// altx-alty genotypes in aux1b and sample_include with one allele ==
+// allele_idx; and sets *hom_ctp to the number of such hom-allele_idx genotypes
+// present. (For allele_idx == 1, *hom_ctp is equal to raw_10_ct -
+// <# of aux1b entries> when there's no subsetting.)
+// Trailing bits of raw_genoarr must be cleared.
+// Ok for subsetted_10_ct to be uninitialized if not subsetting, or allele_idx
+// != 1.
+// sample_include assumed to be nullptr if no subsetting required
+PglErr CountAux1b(const unsigned char* fread_end, const uintptr_t* __restrict sample_include, const uintptr_t* __restrict raw_genoarr, uint32_t aux1b_mode, uint32_t raw_sample_ct, uint32_t allele_ct, uint32_t allele_idx, uint32_t raw_10_ct, uint32_t subsetted_10_ct, const unsigned char** fread_pp, uint32_t* __restrict het_ctp, uint32_t* __restrict hom_ctp, uint32_t* __restrict deltalist_workspace) {
+ if (aux1b_mode == 15) {
+ if (allele_idx == 1) {
+ if (sample_include) {
+ *hom_ctp = subsetted_10_ct;
+ } else {
+ *hom_ctp = raw_10_ct;
+ }
+ } else {
+ *hom_ctp = 0;
+ }
+ return kPglRetSuccess;
+ }
+ uintptr_t detect_hom_mask_lo;
+ const uint32_t allele_code_logwidth = GetAux1bConsts(allele_ct, &detect_hom_mask_lo);
+ const uint32_t allele_code_width = 1U << allele_code_logwidth;
+ const uint32_t code10_logwidth = allele_code_logwidth + (allele_code_logwidth != 0);
+ const uint32_t code10_width = 1U << code10_logwidth;
+ const uint32_t allele_idx_m1 = allele_idx - 1;
+ uint32_t rare10_lowbits = kBitsPerWord;
+ if (!aux1b_mode) {
+ // 10-collapsed bitarray
+ const uint32_t fset_byte_ct = DivUp(raw_10_ct, CHAR_BIT);
+ const uint32_t rare10_ct = PopcountBytes(*fread_pp, fset_byte_ct);
+ const unsigned char* patch_10_fset = *fread_pp;
+ *fread_pp += fset_byte_ct;
+ const unsigned char* patch_10_fvals = *fread_pp;
+ const uint32_t fvals_byte_ct = DivUpU64(S_CAST(uint64_t, rare10_ct) * code10_width, 8);
+ if (PtrAddCk(fread_end, fvals_byte_ct, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ if (!sample_include) {
+ CountAux1bDense(patch_10_fvals, allele_ct, allele_idx_m1, raw_10_ct, rare10_ct, het_ctp, hom_ctp);
+ return kPglRetSuccess;
+ }
+ const Halfword* sample_include_hw = DowncastKWToHW(sample_include);
+ uintptr_t sample_hwidx = 0;
+ uintptr_t cur_raw_genoarr_xys = Word10(raw_genoarr[0]);
+ const uint32_t fset_word_ct_m1 = (fset_byte_ct - 1) / kBytesPerWord;
+ const uint32_t fvals_word_ct_m1 = (fvals_byte_ct - 1) / kBytesPerWord;
+ uintptr_t fvals_bits = 0;
+ uint32_t fvals_widx = 0;
+ uint32_t loop_len = kBitsPerWord;
+ if ((!allele_idx_m1) || (allele_ct == 3)) {
+ // bugfix (29 Dec 2019)
+ const uintptr_t detect_alt1_mask_hi = detect_hom_mask_lo << (allele_code_width - 1);
+ uint32_t subsetted_rare10_ct = 0;
+ uint32_t het_1x_ct = 0;
+ for (uint32_t fset_widx = 0; ; ++fset_widx) {
+ uintptr_t fset_bits;
+ if (fset_widx >= fset_word_ct_m1) {
+ if (fset_widx > fset_word_ct_m1) {
+ break;
+ }
+ fset_bits = SubwordLoad(&(patch_10_fset[fset_word_ct_m1 * kBytesPerWord]), ModNz(fset_byte_ct, kBytesPerWord));
+ loop_len = ModNz(raw_10_ct, kBitsPerWord);
+ } else {
+ CopyFromUnalignedOffsetW(&fset_bits, patch_10_fset, fset_widx);
+ }
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ while (!cur_raw_genoarr_xys) {
+ cur_raw_genoarr_xys = Word10(raw_genoarr[++sample_hwidx]);
+ }
+ if (fset_bits & 1) {
+ if (rare10_lowbits == kBitsPerWord) {
+ if (fvals_widx == fvals_word_ct_m1) {
+ fvals_bits = SubwordLoad(&(patch_10_fvals[fvals_widx * kBytesPerWord]), ModNz(fvals_byte_ct, kBytesPerWord));
+ } else {
+ CopyFromUnalignedOffsetW(&fvals_bits, patch_10_fvals, fvals_widx);
+ }
+ // This sets each fvals_bits entry to 1 iff the patch genotype is
+ // ALT1-ALTx, i.e. the original low bits were zero.
+ fvals_bits = (detect_alt1_mask_hi & (~(fvals_bits | ((fvals_bits | detect_alt1_mask_hi) - detect_hom_mask_lo)))) >> (allele_code_width - 1);
+ // unnecessary to apply bzhi here
+ ++fvals_widx;
+ rare10_lowbits = 0;
+ }
+ const uint32_t sample_uidx_lowbits = ctzw(cur_raw_genoarr_xys) / 2;
+ if (sample_include_hw[sample_hwidx] & (1U << sample_uidx_lowbits)) {
+ ++subsetted_rare10_ct;
+ het_1x_ct += (fvals_bits >> rare10_lowbits) & 1;
+ }
+ rare10_lowbits += code10_width;
+ }
+ cur_raw_genoarr_xys &= cur_raw_genoarr_xys - 1;
+ fset_bits = fset_bits >> 1;
+ }
+ }
+ if (allele_ct == 3) {
+ if (allele_idx_m1) {
+ *hom_ctp = subsetted_rare10_ct - het_1x_ct;
+ *het_ctp += het_1x_ct;
+ return kPglRetSuccess;
+ }
+ }
+ *hom_ctp = subsetted_10_ct - subsetted_rare10_ct;
+ *het_ctp += het_1x_ct;
+ return kPglRetSuccess;
+ }
+ // allele_idx > 1, allele_ct > 3
+ const uintptr_t detect_all_mask_lo = detect_hom_mask_lo | (detect_hom_mask_lo << allele_code_width);
+ const uintptr_t detect_all_mask_hi = detect_all_mask_lo << (allele_code_width - 1);
+ const uintptr_t xor_word = allele_idx_m1 * detect_all_mask_lo;
+ uint32_t matching_allele_ct = 0; // 2x hom + 1x het
+ uint32_t matching_het_or_hom_ct = 0;
+ for (uint32_t fset_widx = 0; ; ++fset_widx) {
+ uintptr_t fset_bits;
+ if (fset_widx >= fset_word_ct_m1) {
+ if (fset_widx > fset_word_ct_m1) {
+ break;
+ }
+ fset_bits = SubwordLoad(&(patch_10_fset[fset_word_ct_m1 * kBytesPerWord]), ModNz(fset_byte_ct, kBytesPerWord));
+ loop_len = ModNz(raw_10_ct, kBitsPerWord);
+ } else {
+ CopyFromUnalignedOffsetW(&fset_bits, patch_10_fset, fset_widx);
+ }
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ while (!cur_raw_genoarr_xys) {
+ cur_raw_genoarr_xys = Word10(raw_genoarr[++sample_hwidx]);
+ }
+ if (fset_bits & 1) {
+ if (rare10_lowbits == kBitsPerWord) {
+ if (fvals_widx == fvals_word_ct_m1) {
+ fvals_bits = SubwordLoad(&(patch_10_fvals[fvals_widx * kBytesPerWord]), ModNz(fvals_byte_ct, kBytesPerWord));
+ } else {
+ CopyFromUnalignedOffsetW(&fvals_bits, patch_10_fvals, fvals_widx);
+ }
+ fvals_bits ^= xor_word;
+ fvals_bits = (detect_all_mask_hi & (~(fvals_bits | ((fvals_bits | detect_all_mask_hi) - detect_all_mask_lo)))) >> (allele_code_width - 1);
+ // unnecessary to apply bzhi or detect_hom_mask_lo here
+ fvals_bits = fvals_bits + (fvals_bits >> allele_code_width);
+ ++fvals_widx;
+ rare10_lowbits = 0;
+ }
+ const uintptr_t cur_hit_ct = (fvals_bits >> rare10_lowbits) & 3;
+ rare10_lowbits += code10_width;
+ if (cur_hit_ct) {
+ const uint32_t sample_uidx_lowbits = ctzw(cur_raw_genoarr_xys) / 2;
+ if (sample_include_hw[sample_hwidx] & (1U << sample_uidx_lowbits)) {
+ ++matching_het_or_hom_ct;
+ matching_allele_ct += cur_hit_ct;
+ }
+ }
+ }
+ cur_raw_genoarr_xys &= cur_raw_genoarr_xys - 1;
+ fset_bits = fset_bits >> 1;
+ }
+ }
+ const uint32_t matching_hom_ct = matching_allele_ct - matching_het_or_hom_ct;
+ *hom_ctp = matching_hom_ct;
+ *het_ctp += matching_het_or_hom_ct - matching_hom_ct;
+ return kPglRetSuccess;
+ }
+ // mode 1: difflist.
+ if (!sample_include) {
+ const unsigned char* group_info_iter;
+ uint32_t rare10_ct;
+ PglErr reterr = ParseDifflistHeader(fread_end, raw_sample_ct, fread_pp, nullptr, &group_info_iter, &rare10_ct);
+ // rare10_ct == 0 should be impossible
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ reterr = SkipDeltalistIds(fread_end, group_info_iter, rare10_ct, raw_sample_ct, 0, fread_pp);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ const unsigned char* patch_10_fvals = *fread_pp;
+ const uint32_t fvals_byte_ct = DivUpU64(S_CAST(uint64_t, rare10_ct) << code10_logwidth, CHAR_BIT);
+ if (PtrAddCk(fread_end, fvals_byte_ct, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ CountAux1bDense(patch_10_fvals, allele_ct, allele_idx_m1, raw_10_ct, rare10_ct, het_ctp, hom_ctp);
+ return kPglRetSuccess;
+ }
+ // Save deltalist elements, iterate.
+ uint32_t rare10_ct;
+ PglErr reterr = ParseAndSaveDeltalist(fread_end, raw_sample_ct, fread_pp, deltalist_workspace, &rare10_ct);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ const unsigned char* patch_10_fvals = *fread_pp;
+ const uint32_t fvals_byte_ct = DivUpU64(S_CAST(uint64_t, rare10_ct) << code10_logwidth, CHAR_BIT);
+ if (PtrAddCk(fread_end, fvals_byte_ct, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ const uint32_t fvals_word_ct_m1 = (fvals_byte_ct - 1) / kBytesPerWord;
+ if ((!allele_idx_m1) || (allele_ct == 3)) {
+ const uintptr_t detect_alt1_mask_hi = detect_hom_mask_lo << (allele_code_width - 1);
+ uint32_t subsetted_rare10_ct = 0;
+ uint32_t het_1x_ct = 0;
+ uint32_t loop_len = kBitsPerWord >> code10_logwidth;
+ for (uint32_t fvals_widx = 0; ; ++fvals_widx) {
+ uintptr_t fvals_bits;
+ if (fvals_widx >= fvals_word_ct_m1) {
+ if (fvals_widx > fvals_word_ct_m1) {
+ break;
+ }
+ fvals_bits = SubwordLoad(&(patch_10_fvals[fvals_widx * kBytesPerWord]), ModNz(fvals_byte_ct, kBytesPerWord));
+ loop_len = 1 + ((rare10_ct - 1) & ((kBitsPerWord >> code10_logwidth) - 1));
+ } else {
+ CopyFromUnalignedOffsetW(&fvals_bits, patch_10_fvals, fvals_widx);
+ }
+ fvals_bits = (detect_alt1_mask_hi & (~(fvals_bits | ((fvals_bits | detect_alt1_mask_hi) - detect_hom_mask_lo)))) >> (allele_code_width - 1);
+ const uint32_t* cur_deltalist_base = &(deltalist_workspace[fvals_widx << (kBitsPerWordLog2 - code10_logwidth)]);
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ const uint32_t sample_uidx = cur_deltalist_base[uii];
+ if (IsSet(sample_include, sample_uidx)) {
+ ++subsetted_rare10_ct;
+ het_1x_ct += (fvals_bits >> (uii << code10_logwidth)) & 1;
+ }
+ }
+ }
+ if (allele_ct == 3) {
+ if (allele_idx_m1) {
+ *hom_ctp = subsetted_rare10_ct - het_1x_ct;
+ *het_ctp += het_1x_ct;
+ return kPglRetSuccess;
+ }
+ }
+ *hom_ctp = subsetted_10_ct - subsetted_rare10_ct;
+ *het_ctp += het_1x_ct;
+ return kPglRetSuccess;
+ }
+ // allele_idx > 1, allele_ct > 3
+ const uintptr_t detect_all_mask_lo = detect_hom_mask_lo | (detect_hom_mask_lo << allele_code_width);
+ const uintptr_t detect_all_mask_hi = detect_all_mask_lo << (allele_code_width - 1);
+ detect_hom_mask_lo = detect_hom_mask_lo * 3;
+ const uintptr_t xor_word = allele_idx_m1 * detect_all_mask_lo;
+ uint32_t matching_het_or_hom_ct = 0;
+ uint32_t matching_hom_ct = 0;
+ for (uint32_t fvals_widx = 0; ; ++fvals_widx) {
+ uintptr_t fvals_bits;
+ if (fvals_widx >= fvals_word_ct_m1) {
+ if (fvals_widx > fvals_word_ct_m1) {
+ break;
+ }
+ fvals_bits = SubwordLoad(&(patch_10_fvals[fvals_widx * kBytesPerWord]), ModNz(fvals_byte_ct, kBytesPerWord));
+ } else {
+ CopyFromUnalignedOffsetW(&fvals_bits, patch_10_fvals, fvals_widx);
+ }
+ fvals_bits = fvals_bits ^ xor_word;
+ fvals_bits = detect_all_mask_hi & (~(fvals_bits | ((fvals_bits | detect_all_mask_hi) - detect_all_mask_lo)));
+ if (fvals_widx == fvals_word_ct_m1) {
+ fvals_bits = bzhi_max(fvals_bits, ModNz(rare10_ct << code10_logwidth, kBitsPerWord));
+ }
+ if (!fvals_bits) {
+ continue;
+ }
+ fvals_bits = fvals_bits >> (allele_code_width - 1);
+ fvals_bits = (fvals_bits + (fvals_bits >> allele_code_width)) & detect_hom_mask_lo;
+ const uint32_t* cur_deltalist_base = &(deltalist_workspace[fvals_widx << (kBitsPerWordLog2 - code10_logwidth)]);
+ do {
+ const uint32_t bit_idx = ctzw(fvals_bits);
+ const uint32_t sample_uidx = cur_deltalist_base[bit_idx >> code10_logwidth];
+ if (IsSet(sample_include, sample_uidx)) {
+ ++matching_het_or_hom_ct;
+ matching_hom_ct += bit_idx & 1;
+ }
+ fvals_bits &= fvals_bits - 1;
+ } while (fvals_bits);
+ }
+ *hom_ctp = matching_hom_ct;
+ *het_ctp += matching_het_or_hom_ct - matching_hom_ct;
+ return kPglRetSuccess;
+}
+
+PglErr PgrGetInv1Counts(const uintptr_t* __restrict sample_include, const uintptr_t* __restrict sample_include_interleaved_vec, PgrSampleSubsetIndex pssi, uint32_t sample_ct, uint32_t vidx, uint32_t allele_idx, PgenReader* pgr_ptr, STD_ARRAY_REF(uint32_t, 4) genocounts) {
+ // May use workspace_vec and workspace_difflist_sample_ids.
+ if (!sample_ct) {
+ STD_ARRAY_REF_FILL0(4, genocounts);
+ return kPglRetSuccess;
+ }
+ PgenReaderMain* pgrp = GetPgrp(pgr_ptr);
+ const uint32_t* sample_include_cumulative_popcounts = GetSicp(pssi);
+ const uintptr_t* allele_idx_offsets = pgrp->fi.allele_idx_offsets;
+ PglErr reterr;
+ if ((!allele_idx) || (!allele_idx_offsets)) {
+ PgrGetInv1Counts_biallelic:
+ reterr = GetBasicGenotypeCounts(sample_include, sample_include_interleaved_vec, sample_include_cumulative_popcounts, sample_ct, vidx, pgrp, nullptr, genocounts);
+ if (allele_idx) {
+ const uint32_t homref_ct = genocounts[0];
+ genocounts[0] = genocounts[2];
+ genocounts[2] = homref_ct;
+ }
+ return reterr;
+ }
+ const uint32_t allele_ct = allele_idx_offsets[vidx + 1] - allele_idx_offsets[vidx];
+ if (allele_ct == 2) {
+ goto PgrGetInv1Counts_biallelic;
+ }
+ const uint32_t raw_sample_ct = pgrp->fi.raw_sample_ct;
+ const uint32_t subsetting_required = (sample_ct != raw_sample_ct);
+ uintptr_t* tmp_genovec = pgrp->workspace_vec;
+ const unsigned char* fread_ptr;
+ const unsigned char* fread_end;
+ reterr = ReadRawGenovec(subsetting_required, vidx, pgrp, &fread_ptr, &fread_end, tmp_genovec);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ ZeroTrailingNyps(raw_sample_ct, tmp_genovec);
+ const uint32_t aux1_first_byte = *fread_ptr++;
+ const uint32_t aux1a_mode = aux1_first_byte & 15;
+ const uint32_t aux1b_mode = aux1_first_byte >> 4;
+ // raw_01_ct not needed when aux1a uses difflist form and subsetting is
+ // occurring; same applies to raw_10_ct.
+ uint32_t raw_01_ct = 0;
+ uint32_t raw_10_ct = 0;
+ if ((!subsetting_required) || (!aux1a_mode) || (!aux1b_mode)) {
+ GenoarrCountFreqsUnsafe(tmp_genovec, raw_sample_ct, genocounts);
+ raw_01_ct = genocounts[1];
+ raw_10_ct = genocounts[2];
+ }
+ uint32_t subsetted_01_ct = 0;
+ uint32_t subsetted_10_ct = 0;
+ if (subsetting_required) {
+ // need accurate subsetted missing count for allele_idx > 1 case
+ GenoarrCountSubsetFreqs(tmp_genovec, sample_include_interleaved_vec, raw_sample_ct, sample_ct, genocounts);
+ subsetted_01_ct = genocounts[1];
+ subsetted_10_ct = genocounts[2];
+ } else {
+ sample_include = nullptr;
+ }
+ uint32_t het_ct;
+ reterr = CountAux1a(fread_end, sample_include, tmp_genovec, aux1a_mode, raw_sample_ct, allele_ct, allele_idx, raw_01_ct, subsetted_01_ct, &fread_ptr, &het_ct, pgrp->workspace_difflist_sample_ids);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ uint32_t hom_ct;
+ reterr = CountAux1b(fread_end, sample_include, tmp_genovec, aux1b_mode, raw_sample_ct, allele_ct, allele_idx, raw_10_ct, subsetted_10_ct, &fread_ptr, &het_ct, &hom_ct, pgrp->workspace_difflist_sample_ids);
+ genocounts[0] = hom_ct;
+ genocounts[1] = het_ct;
+ genocounts[2] = sample_ct - genocounts[3] - hom_ct - het_ct;
+ return reterr;
+}
+
+// sample_include assumed to be nullptr if no subsetting required
+PglErr GenoarrAux1aUpdate(const unsigned char* fread_end, const uintptr_t* __restrict sample_include, const uint32_t* __restrict sample_include_cumulative_popcounts, const uintptr_t* __restrict raw_genoarr, uint32_t aux1a_mode, uint32_t raw_sample_ct, uint32_t allele_ct, uint32_t allele_idx, uintptr_t lshifted_bit, uint32_t raw_01_ct, const unsigned char** fread_pp, uintptr_t* __restrict target_genoarr, uint32_t* __restrict deltalist_workspace) {
+ if (aux1a_mode == 15) {
+ return kPglRetSuccess;
+ }
+ const uint32_t ignore_01_fvals = (allele_idx == 1) || (allele_ct == 3);
+ uintptr_t detect_mask_hi;
+ uintptr_t detect_mask_lo;
+ uint32_t allele_code_logwidth;
+ const uint32_t allele_code_width = GetAux1aConsts(allele_ct, &detect_mask_hi, &detect_mask_lo, &allele_code_logwidth);
+ const uintptr_t xor_word = (allele_idx - 2) * detect_mask_lo;
+ if (!aux1a_mode) {
+ const unsigned char* patch_01_fset = *fread_pp;
+ const uint32_t fset_byte_ct = DivUp(raw_01_ct, 8);
+ uint32_t rare01_ct = 0;
+ if (allele_ct > 3) {
+ rare01_ct = PopcountBytes(*fread_pp, fset_byte_ct);
+ }
+ *fread_pp += fset_byte_ct;
+ const unsigned char* patch_01_fvals = *fread_pp;
+ uintptr_t sample_hwidx = 0;
+ uintptr_t cur_raw_genoarr_hets = Word01(raw_genoarr[0]);
+ uint32_t loop_len = kBitsPerWord;
+ const uintptr_t fvals_byte_ct = DivUpU64(S_CAST(uint64_t, rare01_ct) * allele_code_width, 8);
+ if (PtrAddCk(fread_end, fvals_byte_ct, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ const uint32_t fset_word_ct_m1 = (fset_byte_ct - 1) / kBytesPerWord;
+ const uint32_t fvals_word_ct_m1 = (fvals_byte_ct - 1) / kBytesPerWord;
+ const uint32_t lshift = lshifted_bit - 1;
+ uintptr_t fvals_bits = 0;
+ uint32_t fvals_widx = 0;
+ uint32_t rare01_lowbits = kBitsPerWord;
+ for (uint32_t fset_widx = 0; ; ++fset_widx) {
+ uintptr_t fset_bits;
+ if (fset_widx >= fset_word_ct_m1) {
+ if (fset_widx > fset_word_ct_m1) {
+ return kPglRetSuccess;
+ }
+ fset_bits = SubwordLoad(&(patch_01_fset[fset_word_ct_m1 * kBytesPerWord]), ModNz(fset_byte_ct, kBytesPerWord));
+ loop_len = ModNz(raw_01_ct, kBitsPerWord);
+ } else {
+ CopyFromUnalignedOffsetW(&fset_bits, patch_01_fset, fset_widx);
+ }
+ if (!sample_include) {
+ if (ignore_01_fvals) {
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ while (!cur_raw_genoarr_hets) {
+ cur_raw_genoarr_hets = Word01(raw_genoarr[++sample_hwidx]);
+ }
+ if (fset_bits & 1) {
+ // ref/altx present for x>1. Change genovec entry from 01 to 11
+ // (or 11 -> 01 in allele_idx == 2, allele_ct == 3 case; same xor
+ // operation works for that)
+ const uintptr_t lowbit = cur_raw_genoarr_hets & (-cur_raw_genoarr_hets);
+ target_genoarr[sample_hwidx] ^= lowbit << lshift;
+ }
+ cur_raw_genoarr_hets &= cur_raw_genoarr_hets - 1;
+ fset_bits = fset_bits >> 1;
+ }
+ } else {
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ while (!cur_raw_genoarr_hets) {
+ cur_raw_genoarr_hets = Word01(raw_genoarr[++sample_hwidx]);
+ }
+ if (fset_bits & 1) {
+ if (rare01_lowbits == kBitsPerWord) {
+ if (fvals_widx == fvals_word_ct_m1) {
+ fvals_bits = SubwordLoad(&(patch_01_fvals[fvals_widx * kBytesPerWord]), ModNz(fvals_byte_ct, kBytesPerWord));
+ } else {
+ CopyFromUnalignedOffsetW(&fvals_bits, patch_01_fvals, fvals_widx);
+ }
+ fvals_bits = fvals_bits ^ xor_word;
+ fvals_bits = (detect_mask_hi & (~(fvals_bits | ((fvals_bits | detect_mask_hi) - detect_mask_lo)))) >> (allele_code_width - 1);
+ // unnecessary to apply bzhi here
+ ++fvals_widx;
+ rare01_lowbits = 0;
+ }
+ if (fvals_bits & (k1LU << rare01_lowbits)) {
+ const uintptr_t lowbit = cur_raw_genoarr_hets & (-cur_raw_genoarr_hets);
+ target_genoarr[sample_hwidx] ^= lowbit << lshift;
+ }
+ rare01_lowbits += allele_code_width;
+ }
+ cur_raw_genoarr_hets &= cur_raw_genoarr_hets - 1;
+ fset_bits = fset_bits >> 1;
+ }
+ }
+ } else {
+ // format 0, sample_include non-null
+ if (ignore_01_fvals) {
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ while (!cur_raw_genoarr_hets) {
+ cur_raw_genoarr_hets = Word01(raw_genoarr[++sample_hwidx]);
+ }
+ if (fset_bits & 1) {
+ // Considered replacing cur_raw_genoarr_hets with the result of
+ // two PackWordToHalfword() operations, since that keeps all
+ // the sample word-indexes aligned. Couldn't justify it given
+ // the expected sparsity of this case, though.
+ const uint32_t sample_uidx_lowbits = ctzw(cur_raw_genoarr_hets) / 2;
+ if ((DowncastKWToHW(sample_include)[sample_hwidx]) & (1U << sample_uidx_lowbits)) {
+ const uint32_t sample_idx = RawToSubsettedPos(sample_include, sample_include_cumulative_popcounts, sample_hwidx * kBitsPerWordD2 + sample_uidx_lowbits);
+ target_genoarr[sample_idx / kBitsPerWordD2] ^= lshifted_bit << (2 * (sample_idx % kBitsPerWordD2));
+ }
+ }
+ cur_raw_genoarr_hets &= cur_raw_genoarr_hets - 1;
+ fset_bits = fset_bits >> 1;
+ }
+ } else {
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ while (!cur_raw_genoarr_hets) {
+ cur_raw_genoarr_hets = Word01(raw_genoarr[++sample_hwidx]);
+ }
+ if (fset_bits & 1) {
+ if (rare01_lowbits == kBitsPerWord) {
+ if (fvals_widx == fvals_word_ct_m1) {
+ fvals_bits = SubwordLoad(&(patch_01_fvals[fvals_widx * kBytesPerWord]), ModNz(fvals_byte_ct, kBytesPerWord));
+ } else {
+ CopyFromUnalignedOffsetW(&fvals_bits, patch_01_fvals, fvals_widx);
+ }
+ fvals_bits = fvals_bits ^ xor_word;
+ fvals_bits = (detect_mask_hi & (~(fvals_bits | ((fvals_bits | detect_mask_hi) - detect_mask_lo)))) >> (allele_code_width - 1);
+ // unnecessary to apply bzhi here
+ ++fvals_widx;
+ rare01_lowbits = 0;
+ }
+ if (fvals_bits & (k1LU << rare01_lowbits)) {
+ const uint32_t sample_uidx_lowbits = ctzw(cur_raw_genoarr_hets) / 2;
+ if ((DowncastKWToHW(sample_include)[sample_hwidx]) & (1U << sample_uidx_lowbits)) {
+ const uint32_t sample_idx = RawToSubsettedPos(sample_include, sample_include_cumulative_popcounts, sample_hwidx * kBitsPerWordD2 + sample_uidx_lowbits);
+ target_genoarr[sample_idx / kBitsPerWordD2] ^= lshifted_bit << (2 * (sample_idx % kBitsPerWordD2));
+ }
+ }
+ rare01_lowbits += allele_code_width;
+ }
+ cur_raw_genoarr_hets &= cur_raw_genoarr_hets - 1;
+ fset_bits = fset_bits >> 1;
+ }
+ }
+ }
+ }
+ }
+ // aux1a_mode == 1
+ uint32_t rare01_ct;
+ // Might hardcode the ParseAndSaveDeltalist logic later, but lets get
+ // this working first.
+ PglErr reterr = ParseAndSaveDeltalist(fread_end, raw_sample_ct, fread_pp, deltalist_workspace, &rare01_ct);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ const unsigned char* patch_01_fvals = *fread_pp;
+ const uintptr_t fvals_byte_ct = DivUpU64(S_CAST(uint64_t, rare01_ct) * allele_code_width, 8);
+ if (PtrAddCk(fread_end, fvals_byte_ct, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ if (ignore_01_fvals) {
+ if (!sample_include) {
+ for (uint32_t rare01_idx = 0; rare01_idx != rare01_ct; ++rare01_idx) {
+ const uint32_t sample_uidx = deltalist_workspace[rare01_idx];
+ // todo: benchmark against k1LU << (lshift + ...)
+ target_genoarr[sample_uidx / kBitsPerWordD2] ^= lshifted_bit << (2 * (sample_uidx % kBitsPerWordD2));
+ }
+ return kPglRetSuccess;
+ }
+ for (uint32_t rare01_idx = 0; rare01_idx != rare01_ct; ++rare01_idx) {
+ const uint32_t sample_uidx = deltalist_workspace[rare01_idx];
+ // could wrap this boilerplate
+ const uint32_t sample_widx = sample_uidx / kBitsPerWord;
+ const uintptr_t lowbit = k1LU << (sample_uidx % kBitsPerWord);
+ const uintptr_t sample_include_word = sample_include[sample_widx];
+ if (sample_include_word & lowbit) {
+ const uint32_t sample_idx = sample_include_cumulative_popcounts[sample_widx] + PopcountWord(sample_include_word & (lowbit - 1));
+ target_genoarr[sample_idx / kBitsPerWordD2] ^= lshifted_bit << (2 * (sample_idx % kBitsPerWordD2));
+ }
+ }
+ return kPglRetSuccess;
+ }
+ const uint32_t fvals_word_ct_m1 = (fvals_byte_ct - 1) / kBytesPerWord;
+ for (uint32_t fvals_widx = 0; ; ++fvals_widx) {
+ uintptr_t fvals_bits;
+ if (fvals_widx >= fvals_word_ct_m1) {
+ if (fvals_widx > fvals_word_ct_m1) {
+ return kPglRetSuccess;
+ }
+ fvals_bits = SubwordLoad(&(patch_01_fvals[fvals_widx * kBytesPerWord]), ModNz(fvals_byte_ct, kBytesPerWord));
+ } else {
+ CopyFromUnalignedOffsetW(&fvals_bits, patch_01_fvals, fvals_widx);
+ }
+ fvals_bits = fvals_bits ^ xor_word;
+ fvals_bits = detect_mask_hi & (~(fvals_bits | ((fvals_bits | detect_mask_hi) - detect_mask_lo)));
+ if (fvals_widx == fvals_word_ct_m1) {
+ fvals_bits = bzhi_max(fvals_bits, ModNz(rare01_ct << allele_code_logwidth, kBitsPerWord));
+ }
+ if (!fvals_bits) {
+ continue;
+ }
+ const uint32_t* cur_deltalist_base = &(deltalist_workspace[fvals_widx << (kBitsPerWordLog2 - allele_code_logwidth)]);
+ if (!sample_include) {
+ do {
+ const uint32_t rare01_idx_lowbits = ctzw(fvals_bits) >> allele_code_logwidth;
+ const uint32_t sample_uidx = cur_deltalist_base[rare01_idx_lowbits];
+ target_genoarr[sample_uidx / kBitsPerWordD2] ^= lshifted_bit << (2 * (sample_uidx % kBitsPerWordD2));
+ fvals_bits &= fvals_bits - 1;
+ } while (fvals_bits);
+ } else {
+ do {
+ const uint32_t rare01_idx_lowbits = ctzw(fvals_bits) >> allele_code_logwidth;
+ const uint32_t sample_uidx = cur_deltalist_base[rare01_idx_lowbits];
+ const uint32_t sample_widx = sample_uidx / kBitsPerWord;
+ const uintptr_t lowbit = k1LU << (sample_uidx % kBitsPerWord);
+ const uintptr_t sample_include_word = sample_include[sample_widx];
+ if (sample_include_word & lowbit) {
+ const uint32_t sample_idx = sample_include_cumulative_popcounts[sample_widx] + PopcountWord(sample_include_word & (lowbit - 1));
+ target_genoarr[sample_idx / kBitsPerWordD2] ^= lshifted_bit << (2 * (sample_idx % kBitsPerWordD2));
+ }
+ fvals_bits &= fvals_bits - 1;
+ } while (fvals_bits);
+ }
+ }
+}
+
+// sample_include assumed to be nullptr if no subsetting required
+PglErr GenoarrAux1bStandardUpdate(const unsigned char* fread_end, const uintptr_t* __restrict sample_include, const uint32_t* __restrict sample_include_cumulative_popcounts, const uintptr_t* __restrict raw_genoarr, uint32_t aux1b_mode, uint32_t raw_sample_ct, uint32_t allele_ct, uint32_t allele_idx, uint32_t raw_10_ct, const unsigned char** fread_pp, uintptr_t* __restrict target_genoarr, uint32_t* __restrict deltalist_workspace) {
+ if (aux1b_mode == 15) {
+ return kPglRetSuccess;
+ }
+ const uint32_t allele_idx_m1 = allele_idx - 1;
+ uintptr_t detect_hom_mask_lo;
+ const uint32_t allele_code_logwidth = GetAux1bConsts(allele_ct, &detect_hom_mask_lo);
+ const uint32_t allele_code_width = 1U << allele_code_logwidth;
+ const uint32_t code10_logwidth = allele_code_logwidth + (allele_code_logwidth != 0);
+ const uint32_t code10_width = 1U << code10_logwidth;
+ uint32_t rare10_lowbits = kBitsPerWord;
+ if (!aux1b_mode) {
+ const unsigned char* patch_10_fset = *fread_pp;
+ const uint32_t fset_byte_ct = DivUp(raw_10_ct, 8);
+ const uint32_t fset_word_ct_m1 = (fset_byte_ct - 1) / kBytesPerWord;
+ const uint32_t rare10_ct = PopcountBytes(*fread_pp, fset_byte_ct);
+ *fread_pp += fset_byte_ct;
+ uintptr_t sample_hwidx = 0;
+ uintptr_t cur_raw_genoarr_xys = Word10(raw_genoarr[0]);
+ const unsigned char* patch_10_fvals = *fread_pp;
+ const uint32_t fvals_byte_ct = DivUpU64(S_CAST(uint64_t, rare10_ct) * code10_width, CHAR_BIT);
+ if (PtrAddCk(fread_end, fvals_byte_ct, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ const uint32_t fvals_word_ct_m1 = (fvals_byte_ct - 1) / kBytesPerWord;
+ uintptr_t fvals_bits = 0;
+ uint32_t fvals_widx = 0;
+ uint32_t loop_len = kBitsPerWord;
+ if ((!allele_idx_m1) || (allele_ct == 3)) {
+ // bugfix (29 Dec 2019)
+ const uintptr_t detect_alt1_mask_hi = detect_hom_mask_lo << (allele_code_width - 1);
+ // If allele_ct == 3:
+ // code10_width = 1
+ // 0 -> 1/2, 1 -> 2/2
+ // if allele_idx == 1:
+ // we want to convert 2 -> 1 for 1/2 genotypes, and 2 -> 0 for 2/2.
+ // if allele_idx == 2:
+ // we want to convert 0 -> 1 for 1/2 genotypes, and 0 -> 2 for 2/2.
+ // If allele_ct == 4 (allele_idx == 1 forced):
+ // allele_code_width = 2
+ // code10_width = 4
+ // we want to convert 2 -> 1 for 1/x genotypes, and 2 -> 0 otherwise.
+ const uint32_t lowcode_add = 2 - allele_idx_m1;
+ for (uint32_t fset_widx = 0; ; ++fset_widx) {
+ uintptr_t fset_bits;
+ if (fset_widx >= fset_word_ct_m1) {
+ if (fset_widx > fset_word_ct_m1) {
+ break;
+ }
+ fset_bits = SubwordLoad(&(patch_10_fset[fset_word_ct_m1 * kBytesPerWord]), ModNz(fset_byte_ct, kBytesPerWord));
+ loop_len = ModNz(raw_10_ct, kBitsPerWord);
+ } else {
+ CopyFromUnalignedOffsetW(&fset_bits, patch_10_fset, fset_widx);
+ }
+ if (!sample_include) {
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ while (!cur_raw_genoarr_xys) {
+ cur_raw_genoarr_xys = Word10(raw_genoarr[++sample_hwidx]);
+ }
+ if (fset_bits & 1) {
+ if (rare10_lowbits == kBitsPerWord) {
+ if (fvals_widx == fvals_word_ct_m1) {
+ fvals_bits = SubwordLoad(&(patch_10_fvals[fvals_widx * kBytesPerWord]), ModNz(fvals_byte_ct, kBytesPerWord));
+ } else {
+ CopyFromUnalignedOffsetW(&fvals_bits, patch_10_fvals, fvals_widx);
+ }
+ // modify to het 1/x = 1, otherwise 0, except in allele_idx ==
+ // 2 special case.
+ if (!allele_idx_m1) {
+ fvals_bits = (detect_alt1_mask_hi & (~(fvals_bits | ((fvals_bits | detect_alt1_mask_hi) - detect_hom_mask_lo)))) >> (allele_code_width - 1);
+ }
+ // unnecessary to apply bzhi here
+ ++fvals_widx;
+ rare10_lowbits = 0;
+ }
+ const uint32_t cur_lowcode0 = (fvals_bits >> rare10_lowbits) & 1;
+ rare10_lowbits += code10_width;
+ const uintptr_t lowbit = cur_raw_genoarr_xys & (-cur_raw_genoarr_xys);
+ target_genoarr[sample_hwidx] ^= lowbit * (lowcode_add + cur_lowcode0);
+ }
+ cur_raw_genoarr_xys &= cur_raw_genoarr_xys - 1;
+ fset_bits = fset_bits >> 1;
+ }
+ } else {
+ // sample_include non-null
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ while (!cur_raw_genoarr_xys) {
+ cur_raw_genoarr_xys = Word10(raw_genoarr[++sample_hwidx]);
+ }
+ if (fset_bits & 1) {
+ if (rare10_lowbits == kBitsPerWord) {
+ if (fvals_widx == fvals_word_ct_m1) {
+ fvals_bits = SubwordLoad(&(patch_10_fvals[fvals_widx * kBytesPerWord]), ModNz(fvals_byte_ct, kBytesPerWord));
+ } else {
+ CopyFromUnalignedOffsetW(&fvals_bits, patch_10_fvals, fvals_widx);
+ }
+ // modify to het 1/x = 1, otherwise 0, except in allele_idx ==
+ // 2 special case
+ if (!allele_idx_m1) {
+ fvals_bits = (detect_alt1_mask_hi & (~(fvals_bits | ((fvals_bits | detect_alt1_mask_hi) - detect_hom_mask_lo)))) >> (allele_code_width - 1);
+ }
+ // unnecessary to apply bzhi here
+ ++fvals_widx;
+ rare10_lowbits = 0;
+ }
+ const uint32_t sample_uidx_lowbits = ctzw(cur_raw_genoarr_xys) / 2;
+ if ((DowncastKWToHW(sample_include)[sample_hwidx]) & (1U << sample_uidx_lowbits)) {
+ const uint32_t sample_idx = RawToSubsettedPos(sample_include, sample_include_cumulative_popcounts, sample_hwidx * kBitsPerWordD2 + sample_uidx_lowbits);
+ const uintptr_t cur_lowcode0 = (fvals_bits >> rare10_lowbits) & 1;
+ const uintptr_t shifted_xor_mult = (lowcode_add + cur_lowcode0) << (2 * (sample_idx % kBitsPerWordD2));
+ target_genoarr[sample_idx / kBitsPerWordD2] ^= shifted_xor_mult;
+ }
+ rare10_lowbits += code10_width;
+ }
+ cur_raw_genoarr_xys &= cur_raw_genoarr_xys - 1;
+ fset_bits = fset_bits >> 1;
+ }
+ }
+ }
+ return kPglRetSuccess;
+ }
+ // allele_idx > 1, allele_ct > 3
+ const uintptr_t detect_all_mask_lo = detect_hom_mask_lo | (detect_hom_mask_lo << allele_code_width);
+ const uintptr_t detect_all_mask_hi = detect_all_mask_lo << (allele_code_width - 1);
+ const uintptr_t xor_word = allele_idx_m1 * detect_all_mask_lo;
+ for (uint32_t fset_widx = 0; ; ++fset_widx) {
+ uintptr_t fset_bits;
+ if (fset_widx >= fset_word_ct_m1) {
+ if (fset_widx > fset_word_ct_m1) {
+ break;
+ }
+ fset_bits = SubwordLoad(&(patch_10_fset[fset_word_ct_m1 * kBytesPerWord]), ModNz(fset_byte_ct, kBytesPerWord));
+ loop_len = ModNz(raw_10_ct, kBitsPerWord);
+ } else {
+ CopyFromUnalignedOffsetW(&fset_bits, patch_10_fset, fset_widx);
+ }
+ if (!sample_include) {
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ while (!cur_raw_genoarr_xys) {
+ cur_raw_genoarr_xys = Word10(raw_genoarr[++sample_hwidx]);
+ }
+ if (fset_bits & 1) {
+ if (rare10_lowbits == kBitsPerWord) {
+ if (fvals_widx == fvals_word_ct_m1) {
+ fvals_bits = SubwordLoad(&(patch_10_fvals[fvals_widx * kBytesPerWord]), ModNz(fvals_byte_ct, kBytesPerWord));
+ } else {
+ CopyFromUnalignedOffsetW(&fvals_bits, patch_10_fvals, fvals_widx);
+ }
+ // modify to hom = 2, het = 1, neither = 0
+ fvals_bits = fvals_bits ^ xor_word;
+ fvals_bits = (detect_all_mask_hi & (~(fvals_bits | ((fvals_bits | detect_all_mask_hi) - detect_all_mask_lo)))) >> (allele_code_width - 1);
+ // unnecessary to apply bzhi or detect_hom_mask_lo here
+ fvals_bits = fvals_bits + (fvals_bits >> allele_code_width);
+ ++fvals_widx;
+ rare10_lowbits = 0;
+ }
+ const uintptr_t cur_hit_ct = (fvals_bits >> rare10_lowbits) & 3;
+ rare10_lowbits += code10_width;
+ if (cur_hit_ct) {
+ const uintptr_t lowbit = cur_raw_genoarr_xys & (-cur_raw_genoarr_xys);
+ target_genoarr[sample_hwidx] ^= lowbit * cur_hit_ct;
+ }
+ }
+ cur_raw_genoarr_xys &= cur_raw_genoarr_xys - 1;
+ fset_bits = fset_bits >> 1;
+ }
+ } else {
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ while (!cur_raw_genoarr_xys) {
+ cur_raw_genoarr_xys = Word10(raw_genoarr[++sample_hwidx]);
+ }
+ if (fset_bits & 1) {
+ if (rare10_lowbits == kBitsPerWord) {
+ if (fvals_widx == fvals_word_ct_m1) {
+ fvals_bits = SubwordLoad(&(patch_10_fvals[fvals_widx * kBytesPerWord]), ModNz(fvals_byte_ct, kBytesPerWord));
+ } else {
+ CopyFromUnalignedOffsetW(&fvals_bits, patch_10_fvals, fvals_widx);
+ }
+ // modify to hom = 2, het = 1, neither = 0
+ fvals_bits = fvals_bits ^ xor_word;
+ fvals_bits = (detect_all_mask_hi & (~(fvals_bits | ((fvals_bits | detect_all_mask_hi) - detect_all_mask_lo)))) >> (allele_code_width - 1);
+ if (fvals_widx == fvals_word_ct_m1) {
+ fvals_bits = bzhi_max(fvals_bits, ModNz(rare10_ct * code10_width, kBitsPerWord));
+ }
+ fvals_bits = fvals_bits + (fvals_bits >> allele_code_width);
+ ++fvals_widx;
+ rare10_lowbits = 0;
+ }
+ const uintptr_t cur_hit_ct = (fvals_bits >> rare10_lowbits) & 3;
+ rare10_lowbits += code10_width;
+ if (cur_hit_ct) {
+ const uint32_t sample_uidx_lowbits = ctzw(cur_raw_genoarr_xys) / 2;
+ if ((DowncastKWToHW(sample_include)[sample_hwidx]) & (1U << sample_uidx_lowbits)) {
+ const uint32_t sample_idx = RawToSubsettedPos(sample_include, sample_include_cumulative_popcounts, sample_hwidx * kBitsPerWordD2 + sample_uidx_lowbits);
+ target_genoarr[sample_idx / kBitsPerWordD2] ^= cur_hit_ct << (2 * (sample_idx % kBitsPerWordD2));
+ }
+ }
+ }
+ cur_raw_genoarr_xys &= cur_raw_genoarr_xys - 1;
+ fset_bits = fset_bits >> 1;
+ }
+ }
+ }
+ return kPglRetSuccess;
+ }
+ // aux1b_mode == 1
+ uint32_t rare10_ct;
+ PglErr reterr = ParseAndSaveDeltalist(fread_end, raw_sample_ct, fread_pp, deltalist_workspace, &rare10_ct);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ const unsigned char* patch_10_fvals = *fread_pp;
+ const uint32_t fvals_byte_ct = DivUpU64(S_CAST(uint64_t, rare10_ct) << code10_logwidth, CHAR_BIT);
+ if (PtrAddCk(fread_end, fvals_byte_ct, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ const uint32_t fvals_word_ct_m1 = (fvals_byte_ct - 1) / kBytesPerWord;
+ if ((!allele_idx_m1) || (allele_ct == 3)) {
+ // bugfix (29 Dec 2019)
+ const uintptr_t detect_alt1_mask_hi = detect_hom_mask_lo << (allele_code_width - 1);
+ const uintptr_t lowcode_add = 2 - allele_idx_m1;
+ uint32_t loop_len = kBitsPerWord >> code10_logwidth;
+ for (uint32_t fvals_widx = 0; ; ++fvals_widx) {
+ uintptr_t fvals_bits;
+ if (fvals_widx >= fvals_word_ct_m1) {
+ if (fvals_widx > fvals_word_ct_m1) {
+ break;
+ }
+ fvals_bits = SubwordLoad(&(patch_10_fvals[fvals_widx * kBytesPerWord]), ModNz(fvals_byte_ct, kBytesPerWord));
+ loop_len = 1 + ((rare10_ct - 1) & ((kBitsPerWord >> code10_logwidth) - 1));
+ } else {
+ CopyFromUnalignedOffsetW(&fvals_bits, patch_10_fvals, fvals_widx);
+ }
+ if (!allele_idx_m1) {
+ fvals_bits = (detect_alt1_mask_hi & (~(fvals_bits | ((fvals_bits | detect_alt1_mask_hi) - detect_hom_mask_lo)))) >> (allele_code_width - 1);
+ }
+ const uint32_t* cur_deltalist_base = &(deltalist_workspace[fvals_widx << (kBitsPerWordLog2 - code10_logwidth)]);
+ if (!sample_include) {
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ const uint32_t sample_uidx = cur_deltalist_base[uii];
+ const uintptr_t cur_lowcode0 = fvals_bits & 1;
+ const uintptr_t shifted_xor_mult = (lowcode_add + cur_lowcode0) << (2 * (sample_uidx % kBitsPerWordD2));
+ target_genoarr[sample_uidx / kBitsPerWordD2] ^= shifted_xor_mult;
+ fvals_bits = fvals_bits >> code10_width;
+ }
+ } else {
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ const uint32_t sample_uidx = cur_deltalist_base[uii];
+ const uint32_t sample_widx = sample_uidx / kBitsPerWord;
+ const uintptr_t lowbit = k1LU << (sample_uidx % kBitsPerWord);
+ const uintptr_t sample_include_word = sample_include[sample_widx];
+ if (sample_include_word & lowbit) {
+ const uint32_t sample_idx = sample_include_cumulative_popcounts[sample_widx] + PopcountWord(sample_include_word & (lowbit - 1));
+ const uintptr_t cur_lowcode0 = fvals_bits & 1;
+ const uintptr_t shifted_xor_mult = (lowcode_add + cur_lowcode0) << (2 * (sample_idx % kBitsPerWordD2));
+ target_genoarr[sample_idx / kBitsPerWordD2] ^= shifted_xor_mult;
+ }
+ fvals_bits = fvals_bits >> code10_width;
+ }
+ }
+ }
+ return kPglRetSuccess;
+ }
+ // allele_idx > 1, allele_ct > 3
+ const uintptr_t detect_all_mask_lo = detect_hom_mask_lo | (detect_hom_mask_lo << allele_code_width);
+ const uintptr_t detect_all_mask_hi = detect_all_mask_lo << (allele_code_width - 1);
+ detect_hom_mask_lo = detect_hom_mask_lo * 3;
+ const uintptr_t xor_word = allele_idx_m1 * detect_all_mask_lo;
+ for (uint32_t fvals_widx = 0; ; ++fvals_widx) {
+ uintptr_t fvals_bits;
+ if (fvals_widx >= fvals_word_ct_m1) {
+ if (fvals_widx > fvals_word_ct_m1) {
+ break;
+ }
+ fvals_bits = SubwordLoad(&(patch_10_fvals[fvals_widx * kBytesPerWord]), ModNz(fvals_byte_ct, kBytesPerWord));
+ } else {
+ CopyFromUnalignedOffsetW(&fvals_bits, patch_10_fvals, fvals_widx);
+ }
+ fvals_bits = fvals_bits ^ xor_word;
+ fvals_bits = detect_all_mask_hi & (~(fvals_bits | ((fvals_bits | detect_all_mask_hi) - detect_all_mask_lo)));
+ if (fvals_widx == fvals_word_ct_m1) {
+ fvals_bits = bzhi_max(fvals_bits, ModNz(rare10_ct << code10_logwidth, kBitsPerWord));
+ }
+ if (!fvals_bits) {
+ continue;
+ }
+ fvals_bits = fvals_bits >> (allele_code_width - 1);
+ fvals_bits = (fvals_bits + (fvals_bits >> allele_code_width)) & detect_hom_mask_lo;
+ const uint32_t* cur_deltalist_base = &(deltalist_workspace[fvals_widx << (kBitsPerWordLog2 - code10_logwidth)]);
+ if (!sample_include) {
+ do {
+ const uint32_t bit_idx = ctzw(fvals_bits);
+ const uint32_t sample_uidx = cur_deltalist_base[bit_idx >> code10_logwidth];
+ target_genoarr[sample_uidx / kBitsPerWordD2] ^= k1LU << ((bit_idx % 2) + 2 * (sample_uidx % kBitsPerWordD2));
+ fvals_bits &= fvals_bits - 1;
+ } while (fvals_bits);
+ } else {
+ do {
+ const uint32_t bit_idx = ctzw(fvals_bits);
+ const uint32_t sample_uidx = cur_deltalist_base[bit_idx >> code10_logwidth];
+ const uint32_t sample_widx = sample_uidx / kBitsPerWord;
+ const uintptr_t lowbit = k1LU << (sample_uidx % kBitsPerWord);
+ const uintptr_t sample_include_word = sample_include[sample_widx];
+ if (sample_include_word & lowbit) {
+ const uint32_t sample_idx = sample_include_cumulative_popcounts[sample_widx] + PopcountWord(sample_include_word & (lowbit - 1));
+ target_genoarr[sample_idx / kBitsPerWordD2] ^= k1LU << ((bit_idx % 2) + 2 * (sample_idx % kBitsPerWordD2));
+ }
+ fvals_bits &= fvals_bits - 1;
+ } while (fvals_bits);
+ }
+ }
+ return kPglRetSuccess;
+}
+
+// if aux1b_het_present is true, aux1b_hets becomes a 1-bit-per-sample bitarray
+// with the positions of altx/alty hets in aux1b.
+PglErr GetAux1bHets(const unsigned char* fread_end, const uintptr_t* __restrict raw_genoarr, uint32_t aux1b_mode, uint32_t raw_sample_ct, uint32_t allele_ct, uint32_t raw_10_ct, const unsigned char** fread_pp, uintptr_t* __restrict aux1b_hets, uint32_t* __restrict aux1b_het_presentp, uint32_t* __restrict deltalist_workspace) {
+ if (aux1b_mode == 15) {
+ *aux1b_het_presentp = 0;
+ return kPglRetSuccess;
+ }
+ uintptr_t detect_hom_mask_lo;
+ const uint32_t allele_code_logwidth = GetAux1bConsts(allele_ct, &detect_hom_mask_lo);
+ const uint32_t code10_logwidth = allele_code_logwidth + (allele_code_logwidth != 0);
+ const uint32_t code10_width = 1U << code10_logwidth;
+ const uint32_t allele_code_width = 1U << allele_code_logwidth;
+ const uintptr_t detect_all_mask_lo = detect_hom_mask_lo | (detect_hom_mask_lo << allele_code_width);
+ const uintptr_t detect_all_mask_hi = detect_all_mask_lo << (allele_code_width - 1);
+ Halfword* aux1b_hets_alias = DowncastWToHW(aux1b_hets);
+ uint32_t rare10_lowbits = kBitsPerWord;
+ uint32_t aux1b_het_present = 0;
+ if (!aux1b_mode) {
+ const unsigned char* patch_10_fset = *fread_pp;
+ const uint32_t fset_byte_ct = DivUp(raw_10_ct, 8);
+ const uint32_t fset_word_ct_m1 = (fset_byte_ct - 1) / kBytesPerWord;
+ const uint32_t rare10_ct = PopcountBytes(*fread_pp, fset_byte_ct);
+ *fread_pp += fset_byte_ct;
+ uintptr_t sample_hwidx = 0;
+ uintptr_t cur_raw_genoarr_xys = Word10(raw_genoarr[0]);
+ const unsigned char* patch_10_fvals = *fread_pp;
+ const uint32_t fvals_byte_ct = DivUpU64(S_CAST(uint64_t, rare10_ct) * code10_width, CHAR_BIT);
+ if (PtrAddCk(fread_end, fvals_byte_ct, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ const uint32_t fvals_word_ct_m1 = (fvals_byte_ct - 1) / kBytesPerWord;
+ uintptr_t fvals_bits = 0;
+ uint32_t fvals_widx = 0;
+ uint32_t loop_len = kBitsPerWord;
+ for (uint32_t fset_widx = 0; ; ++fset_widx) {
+ uintptr_t fset_bits;
+ if (fset_widx >= fset_word_ct_m1) {
+ if (fset_widx > fset_word_ct_m1) {
+ break;
+ }
+ fset_bits = SubwordLoad(&(patch_10_fset[fset_word_ct_m1 * kBytesPerWord]), ModNz(fset_byte_ct, kBytesPerWord));
+ loop_len = ModNz(raw_10_ct, kBitsPerWord);
+ } else {
+ CopyFromUnalignedOffsetW(&fset_bits, patch_10_fset, fset_widx);
+ }
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ while (!cur_raw_genoarr_xys) {
+ cur_raw_genoarr_xys = Word10(raw_genoarr[++sample_hwidx]);
+ }
+ if (fset_bits & 1) {
+ if (rare10_lowbits == kBitsPerWord) {
+ if (fvals_widx == fvals_word_ct_m1) {
+ fvals_bits = SubwordLoad(&(patch_10_fvals[fvals_widx * kBytesPerWord]), ModNz(fvals_byte_ct, kBytesPerWord));
+ } else {
+ CopyFromUnalignedOffsetW(&fvals_bits, patch_10_fvals, fvals_widx);
+ }
+ // allele_ct == 3: just invert raw fvals_bits
+ // allele_ct > 3: shift by allele_code_width, xor with self so that
+ // 0 == hom, detect nonzero by inverting the usual check
+ if (allele_ct == 3) {
+ fvals_bits = ~fvals_bits;
+ } else {
+ fvals_bits = fvals_bits ^ (fvals_bits << allele_code_width);
+ // conveniently, removing a ~ here is equivalent to inverting the
+ // relevant bits of the final result
+ fvals_bits = detect_hom_mask_lo & ((fvals_bits | ((fvals_bits | detect_all_mask_hi) - detect_all_mask_lo)) >> (code10_width - 1));
+ }
+ // bzhi only relevant for detecting if there are any hets at all
+ if (!aux1b_het_present) {
+ if (fvals_widx == fvals_word_ct_m1) {
+ fvals_bits = bzhi_max(fvals_bits, ModNz(rare10_ct * code10_width, kBitsPerWord));
+ }
+ if (fvals_bits) {
+ // lazy-initialize
+ aux1b_het_present = 1;
+ ZeroHwArr(2 * BitCtToWordCt(raw_sample_ct), aux1b_hets_alias);
+ }
+ }
+ ++fvals_widx;
+ rare10_lowbits = 0;
+ }
+ if (fvals_bits & (k1LU << rare10_lowbits)) {
+ const uint32_t bit_idx = ctzw(cur_raw_genoarr_xys) / 2;
+ aux1b_hets_alias[sample_hwidx] |= 1U << bit_idx;
+ }
+ rare10_lowbits += code10_width;
+ }
+ cur_raw_genoarr_xys &= cur_raw_genoarr_xys - 1;
+ fset_bits = fset_bits >> 1;
+ }
+ }
+ *aux1b_het_presentp = aux1b_het_present;
+ return kPglRetSuccess;
+ }
+ // aux1b_mode == 1
+ uint32_t rare10_ct;
+ PglErr reterr = ParseAndSaveDeltalist(fread_end, raw_sample_ct, fread_pp, deltalist_workspace, &rare10_ct);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ const unsigned char* patch_10_fvals = *fread_pp;
+ const uint32_t fvals_byte_ct = DivUpU64(S_CAST(uint64_t, rare10_ct) << code10_logwidth, CHAR_BIT);
+ if (PtrAddCk(fread_end, fvals_byte_ct, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ const uint32_t fvals_word_ct_m1 = (fvals_byte_ct - 1) / kBytesPerWord;
+ for (uint32_t fvals_widx = 0; ; ++fvals_widx) {
+ uintptr_t fvals_bits;
+ if (fvals_widx >= fvals_word_ct_m1) {
+ if (fvals_widx > fvals_word_ct_m1) {
+ break;
+ }
+ fvals_bits = SubwordLoad(&(patch_10_fvals[fvals_widx * kBytesPerWord]), ModNz(fvals_byte_ct, kBytesPerWord));
+ } else {
+ CopyFromUnalignedOffsetW(&fvals_bits, patch_10_fvals, fvals_widx);
+ }
+ if (allele_ct == 3) {
+ fvals_bits = ~fvals_bits;
+ } else {
+ fvals_bits = fvals_bits ^ (fvals_bits << allele_code_width);
+ fvals_bits = detect_hom_mask_lo & ((fvals_bits | ((fvals_bits | detect_all_mask_hi) - detect_all_mask_lo)) >> (code10_width - 1));
+ }
+ if (fvals_widx == fvals_word_ct_m1) {
+ fvals_bits = bzhi_max(fvals_bits, ModNz(rare10_ct << code10_logwidth, kBitsPerWord));
+ }
+ if (!fvals_bits) {
+ continue;
+ }
+ if (!aux1b_het_present) {
+ aux1b_het_present = 1;
+ ZeroHwArr(2 * BitCtToWordCt(raw_sample_ct), aux1b_hets_alias);
+ }
+ const uint32_t* cur_deltalist_base = &(deltalist_workspace[fvals_widx << (kBitsPerWordLog2 - code10_logwidth)]);
+ do {
+ const uint32_t bit_idx = ctzw(fvals_bits);
+ const uint32_t sample_uidx = cur_deltalist_base[bit_idx >> code10_logwidth];
+ aux1b_hets_alias[sample_uidx / kBitsPerWordD2] |= 1U << (sample_uidx % kBitsPerWordD2);
+ fvals_bits &= fvals_bits - 1;
+ } while (fvals_bits);
+ }
+ *aux1b_het_presentp = aux1b_het_present;
+ return kPglRetSuccess;
+}
+
+static inline void SuppressHets00(const uintptr_t* allele_countvec, uintptr_t* subsetted_all_hets, uint32_t sample_ct, uintptr_t* subsetted_suppressed_hets) {
+ const uint32_t sample_ctl2 = NypCtToWordCt(sample_ct);
+ MaskWordsToHalfwordsInvmatch(allele_countvec, ~k0LU, sample_ctl2, subsetted_all_hets, subsetted_suppressed_hets);
+}
+
+PglErr Get1Multiallelic(const uintptr_t* __restrict sample_include, const uint32_t* __restrict sample_include_cumulative_popcounts, uint32_t sample_ct, uint32_t vidx, uint32_t allele_idx, PgenReaderMain* pgrp, const unsigned char** fread_pp, const unsigned char** fread_endp, uintptr_t* __restrict all_hets, uintptr_t* __restrict allele_countvec, uintptr_t** subsetted_suppressed_hetp) {
+ // sample_ct > 0; either allele_idx > 1 or ((allele_idx == 1) &&
+ // multiallelic_hc_present)
+ // subsetted_suppressed_het assumed to be initialized to nullptr, if present
+ // at all
+ const uint32_t raw_sample_ct = pgrp->fi.raw_sample_ct;
+ const uint32_t subsetting_required = (sample_ct != raw_sample_ct);
+ uintptr_t* raw_genovec = pgrp->workspace_vec;
+ const unsigned char* fread_ptr;
+ const unsigned char* fread_end;
+ PglErr reterr = ReadRawGenovec(subsetting_required, vidx, pgrp, &fread_ptr, &fread_end, raw_genovec);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+
+ const uint32_t vrtype = pgrp->fi.vrtypes[vidx];
+ const uint32_t multiallelic_hc_present = VrtypeMultiallelicHc(vrtype);
+ CopyNyparrNonemptySubset(raw_genovec, sample_include, raw_sample_ct, sample_ct, allele_countvec);
+ ZeroTrailingNyps(raw_sample_ct, raw_genovec);
+ if (fread_pp) {
+ *fread_endp = fread_end;
+ if (all_hets) {
+ PgrDetectGenoarrHets(raw_genovec, raw_sample_ct, all_hets);
+ }
+ }
+ if (allele_idx != 1) {
+ GenovecNonmissingToZeroUnsafe(sample_ct, allele_countvec);
+ if (!multiallelic_hc_present) {
+ if (fread_pp) {
+ *fread_pp = fread_ptr;
+ }
+ return kPglRetSuccess;
+ }
+ }
+ const uint32_t aux1_first_byte = *fread_ptr++;
+ const uint32_t aux1a_mode = aux1_first_byte & 15;
+ const uint32_t aux1b_mode = aux1_first_byte >> 4;
+ // only need to initialize these in dense modes
+ uint32_t raw_01_ct = 0;
+ uint32_t raw_10_ct = 0;
+ if ((!aux1a_mode) || (!aux1b_mode)) {
+ GenovecCount12Unsafe(raw_genovec, raw_sample_ct, &raw_01_ct, &raw_10_ct);
+ }
+
+ const uintptr_t* allele_idx_offsets = pgrp->fi.allele_idx_offsets;
+ const uint32_t allele_ct = allele_idx_offsets[vidx + 1] - allele_idx_offsets[vidx];
+ if (!subsetting_required) {
+ sample_include = nullptr;
+ }
+ // allele_idx == 1 case:
+ // allele_countvec currently contains ALT counts; we want to reduce them to
+ // ALT1 counts. This can be done with the following steps:
+ // 1. For every element of patch_01_fset, reduce the value from 1 to 0. We
+ // don't actually need to look at patch_01_fvals.
+ // 2. For every element of patch_10_fset, reduce the value from 2 depending
+ // on the low bit(s) of the patch_01_fvals entry (reduce to 0 unless low
+ // bit(s) are all zero).
+ // allele_idx > 1 case:
+ // 1. For every element of patch_01_fset, set a 1 for each matching value
+ // of patch_01_fvals.
+ // 2. For every element of patch_10_fset, set a 1 for each het-matching
+ // value of patch_10_fvals, and a 2 for each hom-match.
+ uint32_t* deltalist_workspace = pgrp->workspace_difflist_sample_ids;
+ // Two cases:
+ // - If allele_idx == 1, convert all aux1a entries from 01 to 00.
+ // - Otherwise, for each matching aux1a entry, convert from 00 to 01.
+ reterr = GenoarrAux1aUpdate(fread_end, sample_include, sample_include_cumulative_popcounts, raw_genovec, aux1a_mode, raw_sample_ct, allele_ct, allele_idx, 1, raw_01_ct, &fread_ptr, allele_countvec, deltalist_workspace);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ const unsigned char* aux1b_start = fread_ptr;
+ reterr = GenoarrAux1bStandardUpdate(fread_end, sample_include, sample_include_cumulative_popcounts, raw_genovec, aux1b_mode, raw_sample_ct, allele_ct, allele_idx, raw_10_ct, &fread_ptr, allele_countvec, deltalist_workspace);
+ if ((!fread_pp) || reterr) {
+ return reterr;
+ }
+ *fread_pp = fread_ptr;
+ if (all_hets) {
+ // can merge this with GenovecAux1bStandardUpdate if this is ever a
+ // significant bottleneck
+ uintptr_t* aux1b_hets = pgrp->workspace_aux1x_present;
+ uint32_t aux1b_het_present;
+ reterr = GetAux1bHets(fread_end, raw_genovec, aux1b_mode, raw_sample_ct, allele_ct, raw_10_ct, &aux1b_start, aux1b_hets, &aux1b_het_present, deltalist_workspace);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ if (aux1b_het_present) {
+ BitvecOr(aux1b_hets, BitCtToWordCt(raw_sample_ct), all_hets);
+ }
+ // We now want to make subsetted_suppressed_het flag all hets where neither
+ // allele is equal to allele_idx, i.e. the allele_countvec value is 0 yet
+ // the all_hets bit is set.
+ // This was done incorrectly before 17 Aug 2023.
+ if ((allele_idx > 1) || aux1b_het_present) {
+ // We can now clobber the contents of pgrp->workspace_vec (raw_genovec)
+ // and pgrp->workspace_aux1x_present (aux1b_hets).
+ // We use the former as the subsetted_suppressed_het return buffer.
+ uintptr_t* all_hets_subsetted = all_hets;
+ if (subsetting_required) {
+ all_hets_subsetted = aux1b_hets;
+ CopyBitarrSubset(all_hets, sample_include, sample_ct, all_hets_subsetted);
+ }
+ *subsetted_suppressed_hetp = raw_genovec;
+ SuppressHets00(allele_countvec, all_hets_subsetted, sample_ct, raw_genovec);
+ }
+ }
+ return kPglRetSuccess;
+}
+
+PglErr IMPLPgrGet1(const uintptr_t* __restrict sample_include, const uint32_t* __restrict sample_include_cumulative_popcounts, uint32_t sample_ct, uint32_t vidx, uint32_t allele_idx, PgenReaderMain* pgrp, uintptr_t* __restrict allele_countvec) {
+ if (!sample_ct) {
+ return kPglRetSuccess;
+ }
+ const uint32_t vrtype = GetPgfiVrtype(&(pgrp->fi), vidx);
+ const uint32_t multiallelic_hc_present = VrtypeMultiallelicHc(vrtype);
+ if ((!allele_idx) || ((allele_idx == 1) && (!multiallelic_hc_present))) {
+ PglErr reterr = ReadGenovecSubsetUnsafe(sample_include, sample_include_cumulative_popcounts, sample_ct, vidx, pgrp, nullptr, nullptr, allele_countvec);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ if (!allele_idx) {
+ GenovecInvertUnsafe(sample_ct, allele_countvec);
+ }
+ return kPglRetSuccess;
+ }
+ return Get1Multiallelic(sample_include, sample_include_cumulative_popcounts, sample_ct, vidx, allele_idx, pgrp, nullptr, nullptr, nullptr, allele_countvec, nullptr);
+}
+
+PglErr IMPLPgrGetInv1(const uintptr_t* __restrict sample_include, const uint32_t* __restrict sample_include_cumulative_popcounts, uint32_t sample_ct, uint32_t vidx, uint32_t allele_idx, PgenReaderMain* pgrp, uintptr_t* __restrict allele_invcountvec) {
+ if (!sample_ct) {
+ return kPglRetSuccess;
+ }
+ const uint32_t vrtype = GetPgfiVrtype(&(pgrp->fi), vidx);
+ const uint32_t multiallelic_hc_present = VrtypeMultiallelicHc(vrtype);
+ if ((!allele_idx) || ((allele_idx == 1) && (!multiallelic_hc_present))) {
+ PglErr reterr = ReadGenovecSubsetUnsafe(sample_include, sample_include_cumulative_popcounts, sample_ct, vidx, pgrp, nullptr, nullptr, allele_invcountvec);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ if (allele_idx) {
+ GenovecInvertUnsafe(sample_ct, allele_invcountvec);
+ }
+ return kPglRetSuccess;
+ }
+ PglErr reterr = Get1Multiallelic(sample_include, sample_include_cumulative_popcounts, sample_ct, vidx, allele_idx, pgrp, nullptr, nullptr, nullptr, allele_invcountvec, nullptr);
+ GenovecInvertUnsafe(sample_ct, allele_invcountvec);
+ return reterr;
+}
+
+PglErr IMPLPgrGetInv1DifflistOrGenovec(const uintptr_t* __restrict sample_include, const uint32_t* __restrict sample_include_cumulative_popcounts, uint32_t sample_ct, uint32_t max_simple_difflist_len, uint32_t vidx, uint32_t allele_idx, PgenReaderMain* pgrp, uintptr_t* __restrict allele_invcountvec, uint32_t* __restrict difflist_common_geno_ptr, uintptr_t* __restrict main_raregeno, uint32_t* __restrict difflist_sample_ids, uint32_t* __restrict difflist_len_ptr) {
+ if (!sample_ct) {
+ *difflist_common_geno_ptr = UINT32_MAX;
+ return kPglRetSuccess;
+ }
+ const uint32_t vrtype = GetPgfiVrtype(&(pgrp->fi), vidx);
+ const uint32_t multiallelic_hc_present = VrtypeMultiallelicHc(vrtype);
+ if ((!allele_idx) || ((allele_idx == 1) && (!multiallelic_hc_present))) {
+ PglErr reterr = ReadDifflistOrGenovecSubsetUnsafe(sample_include, sample_include_cumulative_popcounts, sample_ct, max_simple_difflist_len, vidx, pgrp, nullptr, nullptr, allele_invcountvec, difflist_common_geno_ptr, main_raregeno, difflist_sample_ids, difflist_len_ptr);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ if (allele_idx) {
+ if (*difflist_common_geno_ptr == UINT32_MAX) {
+ GenovecInvertUnsafe(sample_ct, allele_invcountvec);
+ } else {
+ const uint32_t orig_common_geno = *difflist_common_geno_ptr;
+ GenovecInvertUnsafe(*difflist_len_ptr, main_raregeno);
+ if (orig_common_geno != 3) {
+ *difflist_common_geno_ptr = 2 - orig_common_geno;
+ }
+ }
+ }
+ return kPglRetSuccess;
+ }
+ *difflist_common_geno_ptr = UINT32_MAX;
+ PglErr reterr = Get1Multiallelic(sample_include, sample_include_cumulative_popcounts, sample_ct, vidx, allele_idx, pgrp, nullptr, nullptr, nullptr, allele_invcountvec, nullptr);
+ GenovecInvertUnsafe(sample_ct, allele_invcountvec);
+ return reterr;
+}
+
+// Assumes allele_idx0 < allele_idx1, and allele_idx0 < 2. Rotates hardcalls
+// such that, if no multiallelic hardcalls are present, 0 = 0/0, 1 = 0/1,
+// 2 = 1/1, and 3 = anything else.
+void Rotate2(uint32_t allele_idx0, uint32_t allele_idx1, uint32_t sample_ct, uintptr_t* genovec) {
+ if (!allele_idx0) {
+ if (allele_idx1 > 1) {
+ GenovecNonzeroToMissingUnsafe(sample_ct, genovec);
+ }
+ } else {
+ GenovecInvertThenNonzeroToMissingUnsafe(sample_ct, genovec);
+ }
+}
+
+PglErr SkipAux1a(const unsigned char* fread_end, uint32_t aux1a_mode, uint32_t raw_sample_ct, uint32_t allele_ct, uint32_t raw_01_ct, const unsigned char** fread_pp) {
+ if (aux1a_mode == 15) {
+ return kPglRetSuccess;
+ }
+ uint32_t rare01_ct;
+ if (!aux1a_mode) {
+ const uint32_t fset_byte_ct = DivUp(raw_01_ct, CHAR_BIT);
+ rare01_ct = PopcountBytes(*fread_pp, fset_byte_ct);
+ *fread_pp += fset_byte_ct;
+ } else {
+ const unsigned char* group_info_iter;
+ PglErr reterr = ParseDifflistHeader(fread_end, raw_sample_ct, fread_pp, nullptr, &group_info_iter, &rare01_ct);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ reterr = SkipDeltalistIds(fread_end, group_info_iter, rare01_ct, raw_sample_ct, 0, fread_pp);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ }
+ const uint32_t fvals_byte_ct = GetAux1aAlleleEntryByteCt(allele_ct, rare01_ct);
+ if (PtrAddCk(fread_end, fvals_byte_ct, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ return kPglRetSuccess;
+}
+
+// sample_include assumed to be nullptr if no subsetting required
+PglErr GenoarrAux1bUpdate2(const unsigned char* fread_end, const uintptr_t* __restrict sample_include, const uint32_t* __restrict sample_include_cumulative_popcounts, const uintptr_t* __restrict raw_genoarr, uint32_t aux1b_mode, uint32_t raw_sample_ct, uint32_t allele_ct, uint32_t allele_idx0, uint32_t allele_idx1, uint32_t raw_10_ct, const unsigned char** fread_pp, uintptr_t* __restrict target_genoarr, uint32_t* __restrict deltalist_workspace) {
+ // Possible aux1b updates:
+ // - allele_idx0 == 0:
+ // allele_idx1 == 1: all altx/alty including a rarealt from 10 to 11
+ // allele_idx1 > 1: set one rarealtx/rarealtx from 11 to 10
+ //
+ // - allele_idx0 == 1: change all alt1/rarealtx from 00 to 01,
+ // rarealtx/rarealtx from 00 to 10, and all other aux1b entries to missing.
+ // This can use the same driver as Get1Multiallelic.
+ //
+ // - allele_idx0 > 1: change all rarealtx/rarealtx from missing to 00,
+ // rarealtx/rarealty to 01, and rarealty/rarealty to 10.
+ if (aux1b_mode == 15) {
+ return kPglRetSuccess;
+ }
+ if (allele_idx0 == 1) {
+ return GenoarrAux1bStandardUpdate(fread_end, sample_include, sample_include_cumulative_popcounts, raw_genoarr, aux1b_mode, raw_sample_ct, allele_ct, allele_idx1, raw_10_ct, fread_pp, target_genoarr, deltalist_workspace);
+ }
+ uintptr_t detect_hom_mask_lo;
+ const uint32_t allele_code_logwidth = GetAux1bConsts(allele_ct, &detect_hom_mask_lo);
+ const uint32_t code10_logwidth = allele_code_logwidth + (allele_code_logwidth != 0);
+ const uint32_t code10_width = 1U << code10_logwidth;
+ const uintptr_t detect_hom_mask_hi = detect_hom_mask_lo << (code10_width - 1);
+ uintptr_t xor_word2 = allele_idx1 - 1;
+ // fortunately, this sequence of operations happens to work for allele_ct ==
+ // 3
+ xor_word2 = xor_word2 | (xor_word2 << (code10_width / 2));
+ xor_word2 = xor_word2 * detect_hom_mask_lo;
+ uint32_t rare10_lowbits = kBitsPerWord;
+ if (!aux1b_mode) {
+ const unsigned char* patch_10_fset = *fread_pp;
+ const uint32_t fset_byte_ct = DivUp(raw_10_ct, 8);
+ const uint32_t fset_word_ct_m1 = (fset_byte_ct - 1) / kBytesPerWord;
+ const uint32_t rare10_ct = PopcountBytes(*fread_pp, fset_byte_ct);
+ *fread_pp += fset_byte_ct;
+ uintptr_t sample_hwidx = 0;
+ uintptr_t cur_raw_genoarr_xys = Word10(raw_genoarr[0]);
+ const unsigned char* patch_10_fvals = *fread_pp;
+ const uint32_t fvals_byte_ct = DivUpU64(S_CAST(uint64_t, rare10_ct) * code10_width, CHAR_BIT);
+ if (PtrAddCk(fread_end, fvals_byte_ct, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ const uint32_t fvals_word_ct_m1 = (fvals_byte_ct - 1) / kBytesPerWord;
+ uintptr_t fvals_bits = 0;
+ uint32_t fvals_widx = 0;
+ uint32_t loop_len = kBitsPerWord;
+ if (!allele_idx0) {
+ for (uint32_t fset_widx = 0; ; ++fset_widx) {
+ uintptr_t fset_bits;
+ if (fset_widx >= fset_word_ct_m1) {
+ if (fset_widx > fset_word_ct_m1) {
+ return kPglRetSuccess;
+ }
+ fset_bits = SubwordLoad(&(patch_10_fset[fset_word_ct_m1 * kBytesPerWord]), ModNz(fset_byte_ct, kBytesPerWord));
+ loop_len = ModNz(raw_10_ct, kBitsPerWord);
+ } else {
+ CopyFromUnalignedOffsetW(&fset_bits, patch_10_fset, fset_widx);
+ }
+ if (!sample_include) {
+ if (allele_idx1 == 1) {
+ // All aux1b 10 -> 11. Ignore aux1b_fvals.
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ while (!cur_raw_genoarr_xys) {
+ cur_raw_genoarr_xys = Word10(raw_genoarr[++sample_hwidx]);
+ }
+ if (fset_bits & 1) {
+ const uintptr_t lowbit = cur_raw_genoarr_xys & (-cur_raw_genoarr_xys);
+ target_genoarr[sample_hwidx] ^= lowbit;
+ }
+ cur_raw_genoarr_xys &= cur_raw_genoarr_xys - 1;
+ fset_bits = fset_bits >> 1;
+ }
+ } else {
+ // hom-altx 11 -> 10.
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ while (!cur_raw_genoarr_xys) {
+ cur_raw_genoarr_xys = Word10(raw_genoarr[++sample_hwidx]);
+ }
+ if (fset_bits & 1) {
+ if (rare10_lowbits == kBitsPerWord) {
+ if (fvals_widx == fvals_word_ct_m1) {
+ fvals_bits = SubwordLoad(&(patch_10_fvals[fvals_widx * kBytesPerWord]), ModNz(fvals_byte_ct, kBytesPerWord));
+ } else {
+ CopyFromUnalignedOffsetW(&fvals_bits, patch_10_fvals, fvals_widx);
+ }
+ fvals_bits = fvals_bits ^ xor_word2;
+ fvals_bits = (detect_hom_mask_hi & (~(fvals_bits | ((fvals_bits | detect_hom_mask_hi) - detect_hom_mask_lo)))) >> (code10_width - 1);
+ // unnecessary to apply bzhi here
+ ++fvals_widx;
+ rare10_lowbits = 0;
+ }
+ if (fvals_bits & (k1LU << rare10_lowbits)) {
+ const uintptr_t lowbit = cur_raw_genoarr_xys & (-cur_raw_genoarr_xys);
+ target_genoarr[sample_hwidx] ^= lowbit;
+ }
+ rare10_lowbits += code10_width;
+ }
+ cur_raw_genoarr_xys &= cur_raw_genoarr_xys - 1;
+ fset_bits = fset_bits >> 1;
+ }
+ }
+ } else {
+ // sample_include non-null
+ if (allele_idx1 == 1) {
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ while (!cur_raw_genoarr_xys) {
+ cur_raw_genoarr_xys = Word10(raw_genoarr[++sample_hwidx]);
+ }
+ if (fset_bits & 1) {
+ const uint32_t sample_uidx_lowbits = ctzw(cur_raw_genoarr_xys) / 2;
+ if ((DowncastKWToHW(sample_include)[sample_hwidx]) & (1U << sample_uidx_lowbits)) {
+ const uint32_t sample_idx = RawToSubsettedPos(sample_include, sample_include_cumulative_popcounts, sample_hwidx * kBitsPerWordD2 + sample_uidx_lowbits);
+ target_genoarr[sample_idx / kBitsPerWordD2] ^= k1LU << (2 * (sample_idx % kBitsPerWordD2));
+ }
+ rare10_lowbits += code10_width;
+ }
+ cur_raw_genoarr_xys &= cur_raw_genoarr_xys - 1;
+ fset_bits = fset_bits >> 1;
+ }
+ } else {
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ while (!cur_raw_genoarr_xys) {
+ cur_raw_genoarr_xys = Word10(raw_genoarr[++sample_hwidx]);
+ }
+ if (fset_bits & 1) {
+ if (rare10_lowbits == kBitsPerWord) {
+ if (fvals_widx == fvals_word_ct_m1) {
+ fvals_bits = SubwordLoad(&(patch_10_fvals[fvals_widx * kBytesPerWord]), ModNz(fvals_byte_ct, kBytesPerWord));
+ } else {
+ CopyFromUnalignedOffsetW(&fvals_bits, patch_10_fvals, fvals_widx);
+ }
+ fvals_bits = fvals_bits ^ xor_word2;
+ fvals_bits = (detect_hom_mask_hi & (~(fvals_bits | ((fvals_bits | detect_hom_mask_hi) - detect_hom_mask_lo)))) >> (code10_width - 1);
+ // unnecessary to apply bzhi here
+ ++fvals_widx;
+ rare10_lowbits = 0;
+ }
+ if (fvals_bits & (k1LU << rare10_lowbits)) {
+ const uint32_t sample_uidx_lowbits = ctzw(cur_raw_genoarr_xys) / 2;
+ if ((DowncastKWToHW(sample_include)[sample_hwidx]) & (1U << sample_uidx_lowbits)) {
+ const uint32_t sample_idx = RawToSubsettedPos(sample_include, sample_include_cumulative_popcounts, sample_hwidx * kBitsPerWordD2 + sample_uidx_lowbits);
+ target_genoarr[sample_idx / kBitsPerWordD2] ^= k1LU << (2 * (sample_idx % kBitsPerWordD2));
+ }
+ }
+ rare10_lowbits += code10_width;
+ }
+ cur_raw_genoarr_xys &= cur_raw_genoarr_xys - 1;
+ fset_bits = fset_bits >> 1;
+ }
+ }
+ }
+ }
+ }
+ // 2 <= allele_idx0 < allele_idx1 (so allele_ct > 3 guaranteed)
+ uintptr_t xor_word1 = allele_idx1 - 1;
+ uintptr_t xor_word0 = allele_idx0 - 1;
+ xor_word1 = xor_word0 | (xor_word1 << (code10_width / 2));
+ xor_word0 = xor_word0 | (xor_word0 << (code10_width / 2));
+ xor_word1 *= detect_hom_mask_lo;
+ xor_word0 *= detect_hom_mask_lo;
+ for (uint32_t fset_widx = 0; ; ++fset_widx) {
+ uintptr_t fset_bits;
+ if (fset_widx >= fset_word_ct_m1) {
+ if (fset_widx > fset_word_ct_m1) {
+ return kPglRetSuccess;
+ }
+ fset_bits = SubwordLoad(&(patch_10_fset[fset_word_ct_m1 * kBytesPerWord]), ModNz(fset_byte_ct, kBytesPerWord));
+ loop_len = ModNz(raw_10_ct, kBitsPerWord);
+ } else {
+ CopyFromUnalignedOffsetW(&fset_bits, patch_10_fset, fset_widx);
+ }
+ if (!sample_include) {
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ while (!cur_raw_genoarr_xys) {
+ cur_raw_genoarr_xys = Word10(raw_genoarr[++sample_hwidx]);
+ }
+ if (fset_bits & 1) {
+ if (rare10_lowbits == kBitsPerWord) {
+ if (fvals_widx == fvals_word_ct_m1) {
+ fvals_bits = SubwordLoad(&(patch_10_fvals[fvals_widx * kBytesPerWord]), ModNz(fvals_byte_ct, kBytesPerWord));
+ } else {
+ CopyFromUnalignedOffsetW(&fvals_bits, patch_10_fvals, fvals_widx);
+ }
+ uintptr_t match0 = fvals_bits ^ xor_word0;
+ uintptr_t match1 = fvals_bits ^ xor_word1;
+ uintptr_t match2 = fvals_bits ^ xor_word2;
+ match0 = detect_hom_mask_hi & (~(match0 | ((match0 | detect_hom_mask_hi) - detect_hom_mask_lo)));
+ match1 = detect_hom_mask_hi & (~(match1 | ((match1 | detect_hom_mask_hi) - detect_hom_mask_lo)));
+ match2 = detect_hom_mask_hi & (~(match2 | ((match2 | detect_hom_mask_hi) - detect_hom_mask_lo)));
+ // Now want match0 -> 11, match1 -> 10, and match2 -> 01.
+ fvals_bits = ((match0 | match1) >> (code10_width - 2)) | ((match0 | match2) >> (code10_width - 1));
+ // unnecessary to apply bzhi here
+ ++fvals_widx;
+ rare10_lowbits = 0;
+ }
+ const uintptr_t xor_val = (fvals_bits >> rare10_lowbits) & 3;
+ if (xor_val) {
+ const uintptr_t lowbit = cur_raw_genoarr_xys & (-cur_raw_genoarr_xys);
+ target_genoarr[sample_hwidx] ^= lowbit * xor_val;
+ }
+ rare10_lowbits += code10_width;
+ }
+ cur_raw_genoarr_xys &= cur_raw_genoarr_xys - 1;
+ fset_bits = fset_bits >> 1;
+ }
+ } else {
+ // sample_include non-null
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ while (!cur_raw_genoarr_xys) {
+ cur_raw_genoarr_xys = Word10(raw_genoarr[++sample_hwidx]);
+ }
+ if (fset_bits & 1) {
+ if (rare10_lowbits == kBitsPerWord) {
+ if (fvals_widx == fvals_word_ct_m1) {
+ fvals_bits = SubwordLoad(&(patch_10_fvals[fvals_widx * kBytesPerWord]), ModNz(fvals_byte_ct, kBytesPerWord));
+ } else {
+ CopyFromUnalignedOffsetW(&fvals_bits, patch_10_fvals, fvals_widx);
+ }
+ uintptr_t match0 = fvals_bits ^ xor_word0;
+ uintptr_t match1 = fvals_bits ^ xor_word1;
+ uintptr_t match2 = fvals_bits ^ xor_word2;
+ match0 = detect_hom_mask_hi & (~(match0 | ((match0 | detect_hom_mask_hi) - detect_hom_mask_lo)));
+ match1 = detect_hom_mask_hi & (~(match1 | ((match1 | detect_hom_mask_hi) - detect_hom_mask_lo)));
+ match2 = detect_hom_mask_hi & (~(match2 | ((match2 | detect_hom_mask_hi) - detect_hom_mask_lo)));
+ fvals_bits = ((match0 | match1) >> (code10_width - 2)) | ((match0 | match2) >> (code10_width - 1));
+ // unnecessary to apply bzhi here
+ ++fvals_widx;
+ rare10_lowbits = 0;
+ }
+ const uintptr_t xor_val = (fvals_bits >> rare10_lowbits) & 3;
+ if (xor_val) {
+ const uint32_t sample_uidx_lowbits = ctzw(cur_raw_genoarr_xys) / 2;
+ if ((DowncastKWToHW(sample_include)[sample_hwidx]) & (1U << sample_uidx_lowbits)) {
+ const uint32_t sample_idx = RawToSubsettedPos(sample_include, sample_include_cumulative_popcounts, sample_hwidx * kBitsPerWordD2 + sample_uidx_lowbits);
+ target_genoarr[sample_idx / kBitsPerWordD2] ^= xor_val << (2 * (sample_idx % kBitsPerWordD2));
+ }
+ }
+ rare10_lowbits += code10_width;
+ }
+ cur_raw_genoarr_xys &= cur_raw_genoarr_xys - 1;
+ fset_bits = fset_bits >> 1;
+ }
+ }
+ }
+ }
+ // aux1b_mode == 1
+ uint32_t rare10_ct;
+ PglErr reterr = ParseAndSaveDeltalist(fread_end, raw_sample_ct, fread_pp, deltalist_workspace, &rare10_ct);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ const unsigned char* patch_10_fvals = *fread_pp;
+ const uint32_t fvals_byte_ct = DivUpU64(S_CAST(uint64_t, rare10_ct) << code10_logwidth, CHAR_BIT);
+ if (PtrAddCk(fread_end, fvals_byte_ct, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ if (allele_idx1 == 1) {
+ if (!sample_include) {
+ for (uint32_t rare10_idx = 0; rare10_idx != rare10_ct; ++rare10_idx) {
+ const uint32_t sample_uidx = deltalist_workspace[rare10_idx];
+ target_genoarr[sample_uidx / kBitsPerWordD2] ^= k1LU << (2 * (sample_uidx % kBitsPerWordD2));
+ }
+ return kPglRetSuccess;
+ }
+ for (uint32_t rare10_idx = 0; rare10_idx != rare10_ct; ++rare10_idx) {
+ const uint32_t sample_uidx = deltalist_workspace[rare10_idx];
+ const uint32_t sample_widx = sample_uidx / kBitsPerWord;
+ const uintptr_t lowbit = k1LU << (sample_uidx % kBitsPerWord);
+ const uintptr_t sample_include_word = sample_include[sample_widx];
+ if (sample_include_word & lowbit) {
+ const uint32_t sample_idx = sample_include_cumulative_popcounts[sample_widx] + PopcountWord(sample_include_word & (lowbit - 1));
+ target_genoarr[sample_idx / kBitsPerWordD2] ^= k1LU << (2 * (sample_idx % kBitsPerWordD2));
+ }
+ }
+ return kPglRetSuccess;
+ }
+ const uint32_t fvals_word_ct_m1 = (fvals_byte_ct - 1) / kBytesPerWord;
+ if (!allele_idx0) {
+ for (uint32_t fvals_widx = 0; ; ++fvals_widx) {
+ uintptr_t fvals_bits;
+ if (fvals_widx >= fvals_word_ct_m1) {
+ if (fvals_widx > fvals_word_ct_m1) {
+ return kPglRetSuccess;
+ }
+ fvals_bits = SubwordLoad(&(patch_10_fvals[fvals_widx * kBytesPerWord]), ModNz(fvals_byte_ct, kBytesPerWord));
+ } else {
+ CopyFromUnalignedOffsetW(&fvals_bits, patch_10_fvals, fvals_widx);
+ }
+ fvals_bits = fvals_bits ^ xor_word2;
+ fvals_bits = detect_hom_mask_hi & (~(fvals_bits | ((fvals_bits | detect_hom_mask_hi) - detect_hom_mask_lo)));
+ if (fvals_widx == fvals_word_ct_m1) {
+ fvals_bits = bzhi_max(fvals_bits, ModNz(rare10_ct << code10_logwidth, kBitsPerWord));
+ }
+ if (!fvals_bits) {
+ continue;
+ }
+ const uint32_t* cur_deltalist_base = &(deltalist_workspace[fvals_widx << (kBitsPerWordLog2 - code10_logwidth)]);
+ if (!sample_include) {
+ do {
+ const uint32_t bit_idx = ctzw(fvals_bits);
+ const uint32_t sample_uidx = cur_deltalist_base[bit_idx >> code10_logwidth];
+ target_genoarr[sample_uidx / kBitsPerWordD2] ^= k1LU << (2 * (sample_uidx % kBitsPerWordD2));
+ fvals_bits &= fvals_bits - 1;
+ } while (fvals_bits);
+ } else {
+ do {
+ const uint32_t bit_idx = ctzw(fvals_bits);
+ const uint32_t sample_uidx = cur_deltalist_base[bit_idx >> code10_logwidth];
+ const uint32_t sample_widx = sample_uidx / kBitsPerWord;
+ const uintptr_t lowbit = k1LU << (sample_uidx % kBitsPerWord);
+ const uintptr_t sample_include_word = sample_include[sample_widx];
+ if (sample_include_word & lowbit) {
+ const uint32_t sample_idx = sample_include_cumulative_popcounts[sample_widx] + PopcountWord(sample_include_word & (lowbit - 1));
+ target_genoarr[sample_idx / kBitsPerWordD2] ^= k1LU << (2 * (sample_idx % kBitsPerWordD2));
+ }
+ fvals_bits &= fvals_bits - 1;
+ } while (fvals_bits);
+ }
+ }
+ }
+ // 2 <= allele_idx0 < allele_idx1
+ uintptr_t xor_word1 = allele_idx1 - 1;
+ uintptr_t xor_word0 = allele_idx0 - 1;
+ xor_word1 = xor_word0 | (xor_word1 << (code10_width / 2));
+ xor_word0 = xor_word0 | (xor_word0 << (code10_width / 2));
+ xor_word1 *= detect_hom_mask_lo;
+ xor_word0 *= detect_hom_mask_lo;
+ for (uint32_t fvals_widx = 0; ; ++fvals_widx) {
+ uintptr_t fvals_bits;
+ if (fvals_widx >= fvals_word_ct_m1) {
+ if (fvals_widx > fvals_word_ct_m1) {
+ return kPglRetSuccess;
+ }
+ fvals_bits = SubwordLoad(&(patch_10_fvals[fvals_widx * kBytesPerWord]), ModNz(fvals_byte_ct, kBytesPerWord));
+ } else {
+ CopyFromUnalignedOffsetW(&fvals_bits, patch_10_fvals, fvals_widx);
+ }
+ uintptr_t match0 = fvals_bits ^ xor_word0;
+ uintptr_t match1 = fvals_bits ^ xor_word1;
+ uintptr_t match2 = fvals_bits ^ xor_word2;
+ match0 = detect_hom_mask_hi & (~(match0 | ((match0 | detect_hom_mask_hi) - detect_hom_mask_lo)));
+ match1 = detect_hom_mask_hi & (~(match1 | ((match1 | detect_hom_mask_hi) - detect_hom_mask_lo)));
+ match2 = detect_hom_mask_hi & (~(match2 | ((match2 | detect_hom_mask_hi) - detect_hom_mask_lo)));
+ // since code10_width >= 4, we can use match0 == 3 (mod 4), match1 == 2
+ // (mod 4), match2 == 1 (mod 4) representation.
+ fvals_bits = (match0 >> (code10_width - 4)) | (match1 >> (code10_width - 3)) | (match2 >> (code10_width - 2));
+ if (fvals_widx == fvals_word_ct_m1) {
+ fvals_bits = bzhi_max(fvals_bits, ModNz(rare10_ct << code10_logwidth, kBitsPerWord));
+ }
+ if (!fvals_bits) {
+ continue;
+ }
+ const uint32_t* cur_deltalist_base = &(deltalist_workspace[fvals_widx << (kBitsPerWordLog2 - code10_logwidth)]);
+ if (!sample_include) {
+ do {
+ const uintptr_t bit_idx = ctzw(fvals_bits);
+ const uint32_t sample_uidx = cur_deltalist_base[bit_idx >> code10_logwidth];
+ target_genoarr[sample_uidx / kBitsPerWordD2] ^= (bit_idx & 3) << (2 * (sample_uidx % kBitsPerWordD2));
+ fvals_bits &= fvals_bits - 1;
+ } while (fvals_bits);
+ } else {
+ do {
+ const uintptr_t bit_idx = ctzw(fvals_bits);
+ const uint32_t sample_uidx = cur_deltalist_base[bit_idx >> code10_logwidth];
+ const uint32_t sample_widx = sample_uidx / kBitsPerWord;
+ const uintptr_t lowbit = k1LU << (sample_uidx % kBitsPerWord);
+ const uintptr_t sample_include_word = sample_include[sample_widx];
+ if (sample_include_word & lowbit) {
+ const uint32_t sample_idx = sample_include_cumulative_popcounts[sample_widx] + PopcountWord(sample_include_word & (lowbit - 1));
+ target_genoarr[sample_idx / kBitsPerWordD2] ^= (bit_idx & 3) << (2 * (sample_idx % kBitsPerWordD2));
+ }
+ fvals_bits &= fvals_bits - 1;
+ } while (fvals_bits);
+ }
+ }
+}
+
+PglErr IMPLPgrGet2(const uintptr_t* __restrict sample_include, const uint32_t* __restrict sample_include_cumulative_popcounts, uint32_t sample_ct, uint32_t vidx, uint32_t allele_idx0, uint32_t allele_idx1, PgenReaderMain* pgrp, uintptr_t* __restrict genovec) {
+ assert(allele_idx0 != allele_idx1);
+ if (!sample_ct) {
+ return kPglRetSuccess;
+ }
+ const uint32_t raw_sample_ct = pgrp->fi.raw_sample_ct;
+ const uint32_t subsetting_required = (sample_ct != raw_sample_ct);
+ const uint32_t vrtype = GetPgfiVrtype(&(pgrp->fi), vidx);
+ const uint32_t multiallelic_hc_present = VrtypeMultiallelicHc(vrtype);
+ if (!multiallelic_hc_present) {
+ if ((allele_idx0 > 1) && (allele_idx1 > 1)) {
+ // Trivial all-missing case.
+ SetAllBits(2 * sample_ct, genovec);
+ return kPglRetSuccess;
+ }
+ PglErr reterr = ReadGenovecSubsetUnsafe(sample_include, sample_include_cumulative_popcounts, sample_ct, vidx, pgrp, nullptr, nullptr, genovec);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ if (allele_idx0 < allele_idx1) {
+ Rotate2(allele_idx0, allele_idx1, sample_ct, genovec);
+ return kPglRetSuccess;
+ }
+ if (allele_idx0 == 1) {
+ GenovecInvertUnsafe(sample_ct, genovec);
+ return kPglRetSuccess;
+ }
+ if (!allele_idx1) {
+ GenovecNonzeroToMissingThenInvertUnsafe(sample_ct, genovec);
+ return kPglRetSuccess;
+ }
+ GenovecNontwoToMissingUnsafe(sample_ct, genovec);
+ return kPglRetSuccess;
+ }
+ uintptr_t* raw_genovec = pgrp->workspace_vec;
+ const unsigned char* fread_ptr;
+ const unsigned char* fread_end;
+ PglErr reterr = ReadRawGenovec(subsetting_required, vidx, pgrp, &fread_ptr, &fread_end, raw_genovec);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ ZeroTrailingNyps(raw_sample_ct, raw_genovec);
+
+ uint32_t invert = 0;
+ if (allele_idx0 > allele_idx1) {
+ const uint32_t swap = allele_idx0;
+ allele_idx0 = allele_idx1;
+ allele_idx1 = swap;
+ invert = 1;
+ }
+ if (allele_idx0 > 1) {
+ SetAllBits(2 * sample_ct, genovec);
+ } else {
+ CopyNyparrNonemptySubset(raw_genovec, sample_include, raw_sample_ct, sample_ct, genovec);
+ Rotate2(allele_idx0, allele_idx1, sample_ct, genovec);
+ }
+ const uint32_t aux1_first_byte = *fread_ptr++;
+ const uint32_t aux1a_mode = aux1_first_byte & 15;
+ const uint32_t aux1b_mode = aux1_first_byte >> 4;
+ uint32_t raw_01_ct = 0;
+ uint32_t raw_10_ct = 0;
+ if ((!aux1a_mode) || (!aux1b_mode)) {
+ GenovecCount12Unsafe(raw_genovec, raw_sample_ct, &raw_01_ct, &raw_10_ct);
+ }
+ if (!subsetting_required) {
+ sample_include = nullptr;
+ }
+ const uintptr_t* allele_idx_offsets = pgrp->fi.allele_idx_offsets;
+ const uint32_t allele_ct = allele_idx_offsets[vidx + 1] - allele_idx_offsets[vidx];
+ uint32_t* deltalist_workspace = pgrp->workspace_difflist_sample_ids;
+ if (!allele_idx0) {
+ // Two cases:
+ // - If allele_idx == 1, convert all aux1a entries from 01 to 11.
+ // - Otherwise, for each matching aux1a entry, convert from 11 to 01.
+ reterr = GenoarrAux1aUpdate(fread_end, sample_include, sample_include_cumulative_popcounts, raw_genovec, aux1a_mode, raw_sample_ct, allele_ct, allele_idx1, 2, raw_01_ct, &fread_ptr, genovec, deltalist_workspace);
+ } else {
+ reterr = SkipAux1a(fread_end, aux1a_mode, raw_sample_ct, allele_ct, raw_01_ct, &fread_ptr);
+ }
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ reterr = GenoarrAux1bUpdate2(fread_end, sample_include, sample_include_cumulative_popcounts, raw_genovec, aux1b_mode, raw_sample_ct, allele_ct, allele_idx0, allele_idx1, raw_10_ct, &fread_ptr, genovec, deltalist_workspace);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ if (invert) {
+ GenovecInvertUnsafe(sample_ct, genovec);
+ }
+ return kPglRetSuccess;
+}
+
+void PreinitPgv(PgenVariant* pgvp) {
+ pgvp->genovec = nullptr;
+ pgvp->patch_01_set = nullptr;
+ pgvp->patch_01_vals = nullptr;
+ pgvp->patch_10_set = nullptr;
+ pgvp->patch_10_vals = nullptr;
+ pgvp->phasepresent = nullptr;
+ pgvp->phaseinfo = nullptr;
+ pgvp->dosage_present = nullptr;
+ pgvp->dosage_main = nullptr;
+ pgvp->multidosage_present = nullptr;
+ pgvp->multidosage_cts = nullptr;
+ pgvp->multidosage_codes = nullptr;
+ pgvp->multidosage_vals = nullptr;
+ pgvp->dphase_present = nullptr;
+ pgvp->dphase_delta = nullptr;
+ pgvp->multidphase_present = nullptr;
+ pgvp->multidphase_cts = nullptr;
+ pgvp->multidphase_codes = nullptr;
+ pgvp->multidphase_delta = nullptr;
+
+ pgvp->patch_01_ct = 0;
+ pgvp->patch_10_ct = 0;
+ pgvp->phasepresent_ct = 0;
+ pgvp->dosage_ct = 0;
+ pgvp->multidosage_sample_ct = 0;
+ pgvp->dphase_ct = 0;
+ pgvp->multidphase_sample_ct = 0;
+}
+
+// similar to ParseAndSaveDifflist()
+PglErr ParseAndSaveDeltalistAsBitarr(const unsigned char* fread_end, uint32_t raw_sample_ct, const unsigned char** fread_pp, uintptr_t* deltalist_include, uint32_t* deltalist_len_ptr) {
+ const unsigned char* group_info_iter;
+ PglErr reterr = ParseDifflistHeader(fread_end, raw_sample_ct, fread_pp, nullptr, &group_info_iter, deltalist_len_ptr);
+ const uint32_t deltalist_len = *deltalist_len_ptr;
+ if (reterr || (!deltalist_len)) {
+ return reterr;
+ }
+ const uint32_t sample_id_byte_ct = BytesToRepresentNzU32(raw_sample_ct);
+ const uint32_t raw_sample_ctl = BitCtToWordCt(raw_sample_ct);
+ const uint32_t group_idx_last = (deltalist_len - 1) / kPglDifflistGroupSize;
+ ZeroWArr(raw_sample_ctl, deltalist_include);
+ uint32_t group_len_m1 = kPglDifflistGroupSize - 1;
+ for (uint32_t group_idx = 0; ; ++group_idx) {
+ if (group_idx >= group_idx_last) {
+ if (group_idx > group_idx_last) {
+ return kPglRetSuccess;
+ }
+ group_len_m1 &= deltalist_len - 1;
+ }
+ uintptr_t raw_sample_idx = SubU32Load(group_info_iter, sample_id_byte_ct);
+ group_info_iter = &(group_info_iter[sample_id_byte_ct]);
+ for (uint32_t raw_deltalist_idx_lowbits = 0; ; ++raw_deltalist_idx_lowbits) {
+ // always check, otherwise we may scribble over arbitrary memory
+ if (unlikely(raw_sample_idx >= raw_sample_ct)) {
+ return kPglRetMalformedInput;
+ }
+ SetBit(raw_sample_idx, deltalist_include);
+ if (raw_deltalist_idx_lowbits == group_len_m1) {
+ break;
+ }
+ raw_sample_idx += GetVint31(fread_end, fread_pp);
+ }
+ }
+}
+
+static_assert(sizeof(AlleleCode) == 1, "GetAux1aCodes() must be updated.");
+// read-buffer patch_01_vals, patch_10_vals, etc. assumed to be word-aligned.
+PglErr GetAux1aCodes(const unsigned char* fread_end, uint32_t rare01_ct, uint32_t allele_ct, const unsigned char** fread_pp, AlleleCode* __restrict patch_01_vals) {
+ if (allele_ct == 3) {
+ memset(patch_01_vals, 2, rare01_ct);
+ return kPglRetSuccess;
+ }
+ const unsigned char* patch_01_fvals = *fread_pp;
+ if (allele_ct == 4) {
+ const uint32_t patch_01_fvals_byte_ct = DivUp(rare01_ct, CHAR_BIT);
+ if (PtrAddCk(fread_end, patch_01_fvals_byte_ct, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ Expand1bitTo8(patch_01_fvals, rare01_ct, 2, patch_01_vals);
+ return kPglRetSuccess;
+ }
+ if (allele_ct < 7) {
+ const uint32_t patch_01_fvals_byte_ct = DivUp(rare01_ct, 4);
+ if (PtrAddCk(fread_end, patch_01_fvals_byte_ct, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ Expand2bitTo8(patch_01_fvals, rare01_ct, 2, patch_01_vals);
+ return kPglRetSuccess;
+ }
+ if (allele_ct < 19) {
+ const uint32_t patch_01_fvals_byte_ct = DivUp(rare01_ct, 2);
+ if (PtrAddCk(fread_end, patch_01_fvals_byte_ct, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ Expand4bitTo8(patch_01_fvals, rare01_ct, 2, patch_01_vals);
+ return kPglRetSuccess;
+ }
+ if (PtrAddCk(fread_end, rare01_ct, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ // todo: verify the compiler recognizes this
+ for (uint32_t uii = 0; uii < rare01_ct; ++uii) {
+ patch_01_vals[uii] = patch_01_fvals[uii] + 2;
+ }
+ return kPglRetSuccess;
+}
+
+// Assumes aux1a_mode != 15.
+PglErr ExportAux1a(const unsigned char* fread_end, const uintptr_t* __restrict raw_genoarr, uint32_t aux1a_mode, uint32_t raw_sample_ct, uint32_t allele_ct, uint32_t raw_01_ct, const unsigned char** fread_pp, uintptr_t* __restrict patch_01_set, AlleleCode* __restrict patch_01_vals, uint32_t* __restrict rare01_ctp) {
+ uint32_t rare01_ct;
+ if (!aux1a_mode) {
+ const unsigned char* patch_01_fset = *fread_pp;
+ const uint32_t fset_byte_ct = DivUp(raw_01_ct, CHAR_BIT);
+ if (PtrAddCk(fread_end, fset_byte_ct, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ rare01_ct = PopcountBytes(patch_01_fset, fset_byte_ct);
+ ExpandBytearrFromGenoarr(patch_01_fset, raw_genoarr, kMask5555, NypCtToWordCt(raw_sample_ct), raw_01_ct, 0, patch_01_set);
+ } else {
+ if (unlikely(ParseAndSaveDeltalistAsBitarr(fread_end, raw_sample_ct, fread_pp, patch_01_set, &rare01_ct))) {
+ return kPglRetMalformedInput;
+ }
+ }
+ *rare01_ctp = rare01_ct;
+ return GetAux1aCodes(fread_end, rare01_ct, allele_ct, fread_pp, patch_01_vals);
+}
+
+PglErr ExportAux1aProperSubset(const unsigned char* fread_end, const uintptr_t* __restrict sample_include, const uint32_t* __restrict sample_include_cumulative_popcounts, const uintptr_t* __restrict raw_genoarr, uint32_t aux1a_mode, uint32_t raw_sample_ct, uint32_t sample_ct, uint32_t allele_ct, uint32_t raw_01_ct, const unsigned char** fread_pp, uintptr_t* __restrict dst_01_set, AlleleCode* __restrict dst_01_vals, uint32_t* __restrict rare01_ctp, uint32_t* __restrict deltalist_workspace) {
+ const uint32_t allele_code_width = GetAux1aWidth(allele_ct);
+ const uintptr_t allele_code_mask = (1U << allele_code_width) - 1;
+ memset(dst_01_set, 0, BitCtToWordCt(sample_ct) * sizeof(intptr_t));
+ AlleleCode* dst_01_vals_iter = dst_01_vals;
+ if (!aux1a_mode) {
+ // similar to GenoarrAux1aUpdate()
+ const unsigned char* patch_01_fset = *fread_pp;
+ const uint32_t fset_byte_ct = DivUp(raw_01_ct, CHAR_BIT);
+ const uint32_t rare01_ct = PopcountBytes(patch_01_fset, fset_byte_ct);
+ if (PtrAddCk(fread_end, fset_byte_ct, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ const unsigned char* patch_01_fvals = *fread_pp;
+ uintptr_t sample_hwidx = 0;
+ uintptr_t cur_raw_genoarr_hets = Word01(raw_genoarr[0]);
+ uint32_t loop_len = kBitsPerWord;
+ const uintptr_t fvals_byte_ct = DivUpU64(S_CAST(uint64_t, rare01_ct) * allele_code_width, 8);
+ if (PtrAddCk(fread_end, fvals_byte_ct, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ const uint32_t fset_word_ct_m1 = (fset_byte_ct - 1) / kBytesPerWord;
+ const uint32_t fvals_word_ct_m1 = (fvals_byte_ct - 1) / kBytesPerWord;
+ uintptr_t fvals_bits = 0;
+ uint32_t fvals_widx = 0;
+ uint32_t rare01_lowbits = kBitsPerWord;
+ for (uint32_t fset_widx = 0; ; ++fset_widx) {
+ uintptr_t fset_bits;
+ if (fset_widx >= fset_word_ct_m1) {
+ if (fset_widx > fset_word_ct_m1) {
+ break;
+ }
+ fset_bits = SubwordLoad(&(patch_01_fset[fset_word_ct_m1 * kBytesPerWord]), ModNz(fset_byte_ct, kBytesPerWord));
+ loop_len = ModNz(raw_01_ct, kBitsPerWord);
+ } else {
+ CopyFromUnalignedOffsetW(&fset_bits, patch_01_fset, fset_widx);
+ }
+ if (allele_ct == 3) {
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ while (!cur_raw_genoarr_hets) {
+ cur_raw_genoarr_hets = Word01(raw_genoarr[++sample_hwidx]);
+ }
+ if (fset_bits & 1) {
+ const uint32_t sample_uidx_lowbits = ctzw(cur_raw_genoarr_hets) / 2;
+ if ((DowncastKWToHW(sample_include)[sample_hwidx]) & (1U << sample_uidx_lowbits)) {
+ const uint32_t sample_idx = RawToSubsettedPos(sample_include, sample_include_cumulative_popcounts, sample_hwidx * kBitsPerWordD2 + sample_uidx_lowbits);
+ SetBit(sample_idx, dst_01_set);
+ *dst_01_vals_iter++ = 2;
+ }
+ }
+ cur_raw_genoarr_hets &= cur_raw_genoarr_hets - 1;
+ fset_bits = fset_bits >> 1;
+ }
+ } else {
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ while (!cur_raw_genoarr_hets) {
+ cur_raw_genoarr_hets = Word01(raw_genoarr[++sample_hwidx]);
+ }
+ if (fset_bits & 1) {
+ if (rare01_lowbits == kBitsPerWord) {
+ if (fvals_widx == fvals_word_ct_m1) {
+ fvals_bits = SubwordLoad(&(patch_01_fvals[fvals_widx * kBytesPerWord]), ModNz(fvals_byte_ct, kBytesPerWord));
+ } else {
+ CopyFromUnalignedOffsetW(&fvals_bits, patch_01_fvals, fvals_widx);
+ }
+ // unnecessary to apply bzhi here
+ ++fvals_widx;
+ rare01_lowbits = 0;
+ }
+ const uint32_t sample_uidx_lowbits = ctzw(cur_raw_genoarr_hets) / 2;
+ if ((DowncastKWToHW(sample_include)[sample_hwidx]) & (1U << sample_uidx_lowbits)) {
+ const uint32_t sample_idx = RawToSubsettedPos(sample_include, sample_include_cumulative_popcounts, sample_hwidx * kBitsPerWordD2 + sample_uidx_lowbits);
+ SetBit(sample_idx, dst_01_set);
+ *dst_01_vals_iter++ = 2 + ((fvals_bits >> rare01_lowbits) & allele_code_mask);
+ }
+ rare01_lowbits += allele_code_width;
+ }
+ cur_raw_genoarr_hets &= cur_raw_genoarr_hets - 1;
+ fset_bits = fset_bits >> 1;
+ }
+ }
+ }
+ *rare01_ctp = dst_01_vals_iter - dst_01_vals;
+ return kPglRetSuccess;
+ }
+ // aux1a_mode == 1
+ uint32_t rare01_ct;
+ PglErr reterr = ParseAndSaveDeltalist(fread_end, raw_sample_ct, fread_pp, deltalist_workspace, &rare01_ct);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ const unsigned char* patch_01_fvals = *fread_pp;
+ const uintptr_t fvals_byte_ct = DivUpU64(S_CAST(uint64_t, rare01_ct) * allele_code_width, 8);
+ if (PtrAddCk(fread_end, fvals_byte_ct, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ if (allele_ct == 3) {
+ for (uint32_t rare01_idx = 0; rare01_idx != rare01_ct; ++rare01_idx) {
+ const uint32_t sample_uidx = deltalist_workspace[rare01_idx];
+ // could wrap this boilerplate
+ const uint32_t sample_widx = sample_uidx / kBitsPerWord;
+ const uintptr_t lowbit = k1LU << (sample_uidx % kBitsPerWord);
+ const uintptr_t sample_include_word = sample_include[sample_widx];
+ if (sample_include_word & lowbit) {
+ const uint32_t sample_idx = sample_include_cumulative_popcounts[sample_widx] + PopcountWord(sample_include_word & (lowbit - 1));
+ SetBit(sample_idx, dst_01_set);
+ *dst_01_vals_iter++ = 2;
+ }
+ }
+ *rare01_ctp = dst_01_vals_iter - dst_01_vals;
+ return kPglRetSuccess;
+ }
+ const uint32_t fvals_word_ct_m1 = (fvals_byte_ct - 1) / kBytesPerWord;
+ const uint32_t allele_code_logwidth = ctzu32(allele_code_width);
+ uint32_t loop_len = kBitsPerWord >> allele_code_logwidth;
+ for (uint32_t fvals_widx = 0; ; ++fvals_widx) {
+ uintptr_t fvals_bits;
+ if (fvals_widx >= fvals_word_ct_m1) {
+ if (fvals_widx > fvals_word_ct_m1) {
+ break;
+ }
+ fvals_bits = SubwordLoad(&(patch_01_fvals[fvals_widx * kBytesPerWord]), ModNz(fvals_byte_ct, kBytesPerWord));
+ loop_len = 1 + ((rare01_ct - 1) & (loop_len - 1));
+ } else {
+ CopyFromUnalignedOffsetW(&fvals_bits, patch_01_fvals, fvals_widx);
+ }
+ const uint32_t* cur_deltalist_base = &(deltalist_workspace[fvals_widx << (kBitsPerWordLog2 - allele_code_logwidth)]);
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ const uint32_t sample_uidx = cur_deltalist_base[uii];
+ const uint32_t sample_widx = sample_uidx / kBitsPerWord;
+ const uintptr_t lowbit = k1LU << (sample_uidx % kBitsPerWord);
+ const uintptr_t sample_include_word = sample_include[sample_widx];
+ if (sample_include_word & lowbit) {
+ const uint32_t sample_idx = sample_include_cumulative_popcounts[sample_widx] + PopcountWord(sample_include_word & (lowbit - 1));
+ SetBit(sample_idx, dst_01_set);
+ *dst_01_vals_iter++ = 2 + ((fvals_bits >> (uii << allele_code_logwidth)) & allele_code_mask);
+ }
+ }
+ }
+ *rare01_ctp = dst_01_vals_iter - dst_01_vals;
+ return kPglRetSuccess;
+}
+
+static_assert(sizeof(AlleleCode) == 1, "GetAux1bCodes() must be updated.");
+PglErr GetAux1bCodes(const unsigned char* fread_end, uint32_t rare10_ct, uint32_t allele_ct, const unsigned char** fread_pp, AlleleCode* __restrict patch_10_vals) {
+ const unsigned char* patch_10_fvals = *fread_pp;
+ if (allele_ct == 3) {
+ // 1 bit, distinguishes between 0x0201 and 0x0202
+ const uint32_t patch_10_fvals_byte_ct = DivUp(rare10_ct, CHAR_BIT);
+ if (PtrAddCk(fread_end, patch_10_fvals_byte_ct, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ Expand1bitTo16(patch_10_fvals, rare10_ct, 0x0201, patch_10_vals);
+ return kPglRetSuccess;
+ }
+ const uint32_t rare10_ct_x2 = rare10_ct * 2;
+ if (allele_ct < 6) {
+ // 2+2 bits, add 1
+ const uint32_t patch_10_fvals_byte_ct = DivUp(rare10_ct, 2);
+ if (PtrAddCk(fread_end, patch_10_fvals_byte_ct, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ Expand2bitTo8(patch_10_fvals, rare10_ct_x2, 1, patch_10_vals);
+ return kPglRetSuccess;
+ }
+ if (allele_ct < 18) {
+ // 4+4 bits
+ if (PtrAddCk(fread_end, rare10_ct, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ Expand4bitTo8(patch_10_fvals, rare10_ct_x2, 1, patch_10_vals);
+ return kPglRetSuccess;
+ }
+ if (PtrAddCk(fread_end, rare10_ct_x2, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ // todo: verify the compiler recognizes this
+ for (uint32_t uii = 0; uii < rare10_ct_x2; ++uii) {
+ patch_10_vals[uii] = patch_10_fvals[uii] + 1;
+ }
+ return kPglRetSuccess;
+}
+
+// Assumes aux1b_mode != 15.
+PglErr ExportAux1b(const unsigned char* fread_end, const uintptr_t* __restrict raw_genoarr, uint32_t aux1b_mode, uint32_t raw_sample_ct, uint32_t allele_ct, uint32_t raw_10_ct, const unsigned char** fread_pp, uintptr_t* __restrict patch_10_set, AlleleCode* __restrict patch_10_vals, uint32_t* __restrict rare10_ctp) {
+ uint32_t rare10_ct;
+ if (!aux1b_mode) {
+ const unsigned char* patch_10_fset = *fread_pp;
+ const uint32_t fset_byte_ct = DivUp(raw_10_ct, CHAR_BIT);
+ if (PtrAddCk(fread_end, fset_byte_ct, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ rare10_ct = PopcountBytes(patch_10_fset, fset_byte_ct);
+ ExpandBytearrFromGenoarr(patch_10_fset, raw_genoarr, kMaskAAAA, NypCtToWordCt(raw_sample_ct), raw_10_ct, 0, patch_10_set);
+ } else {
+ if (unlikely(ParseAndSaveDeltalistAsBitarr(fread_end, raw_sample_ct, fread_pp, patch_10_set, &rare10_ct))) {
+ return kPglRetMalformedInput;
+ }
+ }
+ *rare10_ctp = rare10_ct;
+ return GetAux1bCodes(fread_end, rare10_ct, allele_ct, fread_pp, patch_10_vals);
+}
+
+PglErr ExportAux1bProperSubset(const unsigned char* fread_end, const uintptr_t* __restrict sample_include, const uint32_t* __restrict sample_include_cumulative_popcounts, const uintptr_t* __restrict raw_genoarr, uint32_t aux1b_mode, uint32_t raw_sample_ct, uint32_t sample_ct, uint32_t allele_ct, uint32_t raw_10_ct, const unsigned char** fread_pp, uintptr_t* __restrict dst_10_set, AlleleCode* __restrict dst_10_vals, uint32_t* __restrict rare10_ctp, uint32_t* __restrict deltalist_workspace) {
+ uintptr_t detect_hom_mask_lo; // unused
+ const uint32_t allele_code_logwidth = GetAux1bConsts(allele_ct, &detect_hom_mask_lo);
+ const uint32_t allele_code_width = 1U << allele_code_logwidth;
+ const uintptr_t allele_code_mask = (1U << allele_code_width) - 1;
+ const uint32_t code10_logwidth = allele_code_logwidth + (allele_code_logwidth != 0);
+ const uint32_t code10_width = 1U << code10_logwidth;
+ memset(dst_10_set, 0, BitCtToWordCt(sample_ct) * sizeof(intptr_t));
+ AlleleCode* dst_10_vals_iter = dst_10_vals;
+ if (!aux1b_mode) {
+ const unsigned char* patch_10_fset = *fread_pp;
+ const uint32_t fset_byte_ct = DivUp(raw_10_ct, CHAR_BIT);
+ const uint32_t rare10_ct = PopcountBytes(patch_10_fset, fset_byte_ct);
+ if (PtrAddCk(fread_end, fset_byte_ct, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ const unsigned char* patch_10_fvals = *fread_pp;
+ uintptr_t sample_hwidx = 0;
+ uintptr_t cur_raw_genoarr_xys = Word10(raw_genoarr[0]);
+ uint32_t loop_len = kBitsPerWord;
+ const uintptr_t fvals_byte_ct = DivUpU64(S_CAST(uint64_t, rare10_ct) * code10_width, 8);
+ if (PtrAddCk(fread_end, fvals_byte_ct, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ const uint32_t fset_word_ct_m1 = (fset_byte_ct - 1) / kBytesPerWord;
+ const uint32_t fvals_word_ct_m1 = (fvals_byte_ct - 1) / kBytesPerWord;
+ uintptr_t fvals_bits = 0;
+ uint32_t fvals_widx = 0;
+ uint32_t rare10_lowbits = kBitsPerWord;
+ for (uint32_t fset_widx = 0; ; ++fset_widx) {
+ uintptr_t fset_bits;
+ if (fset_widx >= fset_word_ct_m1) {
+ if (fset_widx > fset_word_ct_m1) {
+ break;
+ }
+ fset_bits = SubwordLoad(&(patch_10_fset[fset_word_ct_m1 * kBytesPerWord]), ModNz(fset_byte_ct, kBytesPerWord));
+ loop_len = ModNz(raw_10_ct, kBitsPerWord);
+ } else {
+ CopyFromUnalignedOffsetW(&fset_bits, patch_10_fset, fset_widx);
+ }
+ if (allele_ct == 3) {
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ while (!cur_raw_genoarr_xys) {
+ cur_raw_genoarr_xys = Word10(raw_genoarr[++sample_hwidx]);
+ }
+ if (fset_bits & 1) {
+ if (rare10_lowbits == kBitsPerWord) {
+ if (fvals_widx == fvals_word_ct_m1) {
+ fvals_bits = SubwordLoad(&(patch_10_fvals[fvals_widx * kBytesPerWord]), ModNz(fvals_byte_ct, kBytesPerWord));
+ } else {
+ CopyFromUnalignedOffsetW(&fvals_bits, patch_10_fvals, fvals_widx);
+ }
+ // unnecessary to apply bzhi here
+ ++fvals_widx;
+ rare10_lowbits = 0;
+ }
+ const uint32_t sample_uidx_lowbits = ctzw(cur_raw_genoarr_xys) / 2;
+ if ((DowncastKWToHW(sample_include)[sample_hwidx]) & (1U << sample_uidx_lowbits)) {
+ const uint32_t sample_idx = RawToSubsettedPos(sample_include, sample_include_cumulative_popcounts, sample_hwidx * kBitsPerWordD2 + sample_uidx_lowbits);
+ SetBit(sample_idx, dst_10_set);
+ *dst_10_vals_iter++ = 1 + ((fvals_bits >> rare10_lowbits) & 1);
+ *dst_10_vals_iter++ = 2;
+ }
+ ++rare10_lowbits;
+ }
+ cur_raw_genoarr_xys &= cur_raw_genoarr_xys - 1;
+ fset_bits = fset_bits >> 1;
+ }
+ } else {
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ while (!cur_raw_genoarr_xys) {
+ cur_raw_genoarr_xys = Word10(raw_genoarr[++sample_hwidx]);
+ }
+ if (fset_bits & 1) {
+ if (rare10_lowbits == kBitsPerWord) {
+ if (fvals_widx == fvals_word_ct_m1) {
+ fvals_bits = SubwordLoad(&(patch_10_fvals[fvals_widx * kBytesPerWord]), ModNz(fvals_byte_ct, kBytesPerWord));
+ } else {
+ CopyFromUnalignedOffsetW(&fvals_bits, patch_10_fvals, fvals_widx);
+ }
+ // unnecessary to apply bzhi here
+ ++fvals_widx;
+ rare10_lowbits = 0;
+ }
+ const uint32_t sample_uidx_lowbits = ctzw(cur_raw_genoarr_xys) / 2;
+ if ((DowncastKWToHW(sample_include)[sample_hwidx]) & (1U << sample_uidx_lowbits)) {
+ const uint32_t sample_idx = RawToSubsettedPos(sample_include, sample_include_cumulative_popcounts, sample_hwidx * kBitsPerWordD2 + sample_uidx_lowbits);
+ SetBit(sample_idx, dst_10_set);
+ const uintptr_t cur_code_pair = fvals_bits >> rare10_lowbits;
+ const uint32_t cur_code_hi = (cur_code_pair >> allele_code_width) & allele_code_mask;
+ const uint32_t cur_code_lo = cur_code_pair & allele_code_mask;
+ *dst_10_vals_iter++ = 1 + cur_code_lo;
+ *dst_10_vals_iter++ = 1 + cur_code_hi;
+ }
+ rare10_lowbits += code10_width;
+ }
+ cur_raw_genoarr_xys &= cur_raw_genoarr_xys - 1;
+ fset_bits = fset_bits >> 1;
+ }
+ }
+ }
+ *rare10_ctp = S_CAST(uintptr_t, dst_10_vals_iter - dst_10_vals) / 2;
+ return kPglRetSuccess;
+ }
+ // aux1b_mode == 1
+ uint32_t rare10_ct;
+ PglErr reterr = ParseAndSaveDeltalist(fread_end, raw_sample_ct, fread_pp, deltalist_workspace, &rare10_ct);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ const unsigned char* patch_10_fvals = *fread_pp;
+ const uintptr_t fvals_byte_ct = DivUpU64(S_CAST(uint64_t, rare10_ct) << code10_logwidth, 8);
+ if (PtrAddCk(fread_end, fvals_byte_ct, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ const uint32_t fvals_word_ct_m1 = (fvals_byte_ct - 1) / kBytesPerWord;
+ uint32_t loop_len = kBitsPerWord >> code10_logwidth;
+ for (uint32_t fvals_widx = 0; ; ++fvals_widx) {
+ uintptr_t fvals_bits;
+ if (fvals_widx >= fvals_word_ct_m1) {
+ if (fvals_widx > fvals_word_ct_m1) {
+ break;
+ }
+ fvals_bits = SubwordLoad(&(patch_10_fvals[fvals_widx * kBytesPerWord]), ModNz(fvals_byte_ct, kBytesPerWord));
+ loop_len = 1 + ((rare10_ct - 1) & (loop_len - 1));
+ } else {
+ CopyFromUnalignedOffsetW(&fvals_bits, patch_10_fvals, fvals_widx);
+ }
+ const uint32_t* cur_deltalist_base = &(deltalist_workspace[fvals_widx << (kBitsPerWordLog2 - code10_logwidth)]);
+ if (allele_ct == 3) {
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ const uint32_t sample_uidx = cur_deltalist_base[uii];
+ const uint32_t sample_widx = sample_uidx / kBitsPerWord;
+ const uintptr_t lowbit = k1LU << (sample_uidx % kBitsPerWord);
+ const uintptr_t sample_include_word = sample_include[sample_widx];
+ if (sample_include_word & lowbit) {
+ const uint32_t sample_idx = sample_include_cumulative_popcounts[sample_widx] + PopcountWord(sample_include_word & (lowbit - 1));
+ SetBit(sample_idx, dst_10_set);
+ *dst_10_vals_iter++ = 1 + ((fvals_bits >> uii) & 1);
+ *dst_10_vals_iter++ = 2;
+ }
+ }
+ } else {
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ const uint32_t sample_uidx = cur_deltalist_base[uii];
+ const uint32_t sample_widx = sample_uidx / kBitsPerWord;
+ const uintptr_t lowbit = k1LU << (sample_uidx % kBitsPerWord);
+ const uintptr_t sample_include_word = sample_include[sample_widx];
+ if (sample_include_word & lowbit) {
+ const uint32_t sample_idx = sample_include_cumulative_popcounts[sample_widx] + PopcountWord(sample_include_word & (lowbit - 1));
+ SetBit(sample_idx, dst_10_set);
+ const uintptr_t cur_code_pair = fvals_bits >> (uii << code10_logwidth);
+ const uint32_t cur_code_hi = (cur_code_pair >> allele_code_width) & allele_code_mask;
+ const uint32_t cur_code_lo = cur_code_pair & allele_code_mask;
+ *dst_10_vals_iter++ = 1 + cur_code_lo;
+ *dst_10_vals_iter++ = 1 + cur_code_hi;
+ }
+ }
+ }
+ }
+ *rare10_ctp = S_CAST(uintptr_t, dst_10_vals_iter - dst_10_vals) / 2;
+ return kPglRetSuccess;
+}
+
+// Assumes sample_ct > 0, multiallelic-hc track is present, and patch_01_ct and
+// patch_10_ct are zero-initialized.
+PglErr GetMultiallelicCodes(const uintptr_t* __restrict sample_include, const uint32_t* __restrict sample_include_cumulative_popcounts, uint32_t sample_ct, uint32_t vidx, PgenReaderMain* pgrp, const unsigned char** fread_pp, const unsigned char** fread_endp, uintptr_t* __restrict all_hets, PgenVariant* pgvp) {
+ const uint32_t raw_sample_ct = pgrp->fi.raw_sample_ct;
+ uint32_t subsetting_required = (sample_ct != raw_sample_ct);
+ uintptr_t* raw_genovec = pgrp->workspace_vec;
+ const unsigned char* fread_ptr;
+ const unsigned char* fread_end;
+ PglErr reterr = ReadRawGenovec(subsetting_required, vidx, pgrp, &fread_ptr, &fread_end, raw_genovec);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ CopyNyparrNonemptySubset(raw_genovec, sample_include, raw_sample_ct, sample_ct, pgvp->genovec);
+ ZeroTrailingNyps(raw_sample_ct, raw_genovec);
+ const uint32_t aux1_first_byte = *fread_ptr++;
+ const uint32_t aux1a_mode = aux1_first_byte & 15;
+ const uint32_t aux1b_mode = aux1_first_byte >> 4;
+ uint32_t raw_01_ct = 0;
+ uint32_t raw_10_ct = 0;
+ if ((!aux1a_mode) || (!aux1b_mode)) {
+ GenovecCount12Unsafe(raw_genovec, raw_sample_ct, &raw_01_ct, &raw_10_ct);
+ }
+ const uintptr_t* allele_idx_offsets = pgrp->fi.allele_idx_offsets;
+ const uint32_t allele_ct = allele_idx_offsets[vidx + 1] - allele_idx_offsets[vidx];
+ uint32_t* deltalist_workspace = pgrp->workspace_difflist_sample_ids;
+ if (aux1a_mode != 15) {
+ if (!subsetting_required) {
+ reterr = ExportAux1a(fread_end, raw_genovec, aux1a_mode, raw_sample_ct, allele_ct, raw_01_ct, &fread_ptr, pgvp->patch_01_set, pgvp->patch_01_vals, &(pgvp->patch_01_ct));
+ } else {
+ reterr = ExportAux1aProperSubset(fread_end, sample_include, sample_include_cumulative_popcounts, raw_genovec, aux1a_mode, raw_sample_ct, sample_ct, allele_ct, raw_01_ct, &fread_ptr, pgvp->patch_01_set, pgvp->patch_01_vals, &(pgvp->patch_01_ct), deltalist_workspace);
+ }
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ }
+ const unsigned char* aux1b_start = fread_ptr;
+ if (aux1b_mode != 15) {
+ if (!subsetting_required) {
+ reterr = ExportAux1b(fread_end, raw_genovec, aux1b_mode, raw_sample_ct, allele_ct, raw_10_ct, &fread_ptr, pgvp->patch_10_set, pgvp->patch_10_vals, &(pgvp->patch_10_ct));
+ } else {
+ reterr = ExportAux1bProperSubset(fread_end, sample_include, sample_include_cumulative_popcounts, raw_genovec, aux1b_mode, raw_sample_ct, sample_ct, allele_ct, raw_10_ct, &fread_ptr, pgvp->patch_10_set, pgvp->patch_10_vals, &(pgvp->patch_10_ct), deltalist_workspace);
+ }
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ }
+ if (fread_pp) {
+ *fread_pp = fread_ptr;
+ *fread_endp = fread_end;
+ if (all_hets) {
+ PgrDetectGenoarrHets(raw_genovec, raw_sample_ct, all_hets);
+ if (aux1b_mode != 15) {
+ // can merge this with ExportAux1b functions later
+ uintptr_t* aux1b_hets = pgrp->workspace_aux1x_present;
+ uint32_t aux1b_het_present;
+ reterr = GetAux1bHets(fread_end, raw_genovec, aux1b_mode, raw_sample_ct, allele_ct, raw_10_ct, &aux1b_start, aux1b_hets, &aux1b_het_present, deltalist_workspace);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ if (aux1b_het_present) {
+ BitvecOr(aux1b_hets, BitCtToWordCt(raw_sample_ct), all_hets);
+ }
+ }
+ }
+ }
+ return kPglRetSuccess;
+}
+
+PglErr PgrGetM(const uintptr_t* __restrict sample_include, PgrSampleSubsetIndex pssi, uint32_t sample_ct, uint32_t vidx, PgenReader* pgr_ptr, PgenVariant* pgvp) {
+ pgvp->patch_01_ct = 0;
+ pgvp->patch_10_ct = 0;
+ if (!sample_ct) {
+ return kPglRetSuccess;
+ }
+ PgenReaderMain* pgrp = GetPgrp(pgr_ptr);
+ const uint32_t* sample_include_cumulative_popcounts = GetSicp(pssi);
+ const uint32_t vrtype = GetPgfiVrtype(&(pgrp->fi), vidx);
+ const uint32_t multiallelic_hc_present = VrtypeMultiallelicHc(vrtype);
+ if (!multiallelic_hc_present) {
+ return ReadGenovecSubsetUnsafe(sample_include, sample_include_cumulative_popcounts, sample_ct, vidx, pgrp, nullptr, nullptr, pgvp->genovec);
+ }
+ return GetMultiallelicCodes(sample_include, sample_include_cumulative_popcounts, sample_ct, vidx, pgrp, nullptr, nullptr, nullptr, pgvp);
+}
+
+void PgrDetectGenoarrHetsMultiallelic(const uintptr_t* __restrict genoarr, const uintptr_t* __restrict patch_10_set, const AlleleCode* __restrict patch_10_vals, uint32_t raw_sample_ct, uintptr_t* __restrict all_hets) {
+ const Halfword* patch_10_set_alias = DowncastKWToHW(patch_10_set);
+ const AlleleCode* patch_10_vals_iter = patch_10_vals;
+ const uint32_t word_ct_m1 = (raw_sample_ct - 1) / kBitsPerWordD2;
+ Halfword* all_hets_hw = DowncastWToHW(all_hets);
+ for (uint32_t widx = 0; ; ++widx) {
+ uintptr_t cur_geno_word;
+ if (widx >= word_ct_m1) {
+ if (widx > word_ct_m1) {
+ if (widx % 2) {
+ all_hets_hw[widx] = 0;
+ }
+ return;
+ }
+ const uint32_t final_ct = ModNz(raw_sample_ct, kBitsPerWordD2);
+ cur_geno_word = bzhi_max(genoarr[widx], 2 * final_ct);
+ } else {
+ cur_geno_word = genoarr[widx];
+ }
+ uint32_t patch_10_hw = patch_10_set_alias[widx];
+ uint32_t cur_hets = Pack01ToHalfword(cur_geno_word);
+ while (patch_10_hw) {
+ const AlleleCode code1 = *patch_10_vals_iter++;
+ const AlleleCode code2 = *patch_10_vals_iter++;
+ const uint32_t lowbit = patch_10_hw & (-patch_10_hw);
+ if (code1 != code2) {
+ cur_hets |= lowbit;
+ }
+ patch_10_hw ^= lowbit;
+ }
+ all_hets_hw[widx] = cur_hets;
+ }
+}
+
+PglErr SkipAux1b(const unsigned char* fread_end, uint32_t aux1b_mode, uint32_t raw_sample_ct, uint32_t allele_ct, uint32_t raw_10_ct, const unsigned char** fread_pp) {
+ if (aux1b_mode == 15) {
+ return kPglRetSuccess;
+ }
+ uint32_t rare10_ct;
+ if (!aux1b_mode) {
+ const uint32_t fset_byte_ct = DivUp(raw_10_ct, CHAR_BIT);
+ rare10_ct = PopcountBytes(*fread_pp, fset_byte_ct);
+ *fread_pp += fset_byte_ct;
+ } else {
+ const unsigned char* group_info_iter;
+ PglErr reterr = ParseDifflistHeader(fread_end, raw_sample_ct, fread_pp, nullptr, &group_info_iter, &rare10_ct);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ reterr = SkipDeltalistIds(fread_end, group_info_iter, rare10_ct, raw_sample_ct, 0, fread_pp);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ }
+ const uint32_t fvals_byte_ct = GetAux1bAlleleEntryByteCt(allele_ct, rare10_ct);
+ if (PtrAddCk(fread_end, fvals_byte_ct, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ return kPglRetSuccess;
+}
+
+PglErr SkipAux1(const unsigned char* fread_end, const uintptr_t* __restrict raw_genovec, uint32_t raw_sample_ct, uint32_t allele_ct, const unsigned char** fread_pp) {
+ const uint32_t aux1_first_byte = **fread_pp;
+ (*fread_pp) += 1;
+ const uint32_t aux1a_mode = aux1_first_byte & 15;
+ const uint32_t aux1b_mode = aux1_first_byte >> 4;
+ uint32_t raw_01_ct = 0;
+ uint32_t raw_10_ct = 0;
+ if ((!aux1a_mode) || (!aux1b_mode)) {
+ GenovecCount12Unsafe(raw_genovec, raw_sample_ct, &raw_01_ct, &raw_10_ct);
+ }
+ PglErr reterr = SkipAux1a(fread_end, aux1a_mode, raw_sample_ct, allele_ct, raw_01_ct, fread_pp);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ return SkipAux1b(fread_end, aux1b_mode, raw_sample_ct, allele_ct, raw_10_ct, fread_pp);
+}
+
+// sample_include assumed to be nullptr if no subsetting required
+// subsetted_suppressed_het should only be provided when you explicitly want to
+// exclude those phase entries
+// set phasepresent == phaseinfo == nullptr if you want to skip the entire
+// track; ok for phasepresent_ct_ptr to be nullptr too in that case
+// (also see SkipAux2() and GetPhasepresentAndSkipPhaseinfo() below)
+PglErr ParseAux2Subset(const unsigned char* fread_end, const uintptr_t* __restrict sample_include, const uintptr_t* __restrict all_hets, const uintptr_t* __restrict subsetted_suppressed_het, uint32_t raw_sample_ct, uint32_t sample_ct, const unsigned char** fread_pp, uintptr_t* __restrict phasepresent, uintptr_t* __restrict phaseinfo, uint32_t* __restrict phasepresent_ct_ptr, uintptr_t* __restrict workspace_subset) {
+ const uint32_t raw_sample_ctl = BitCtToWordCt(raw_sample_ct);
+ const uint32_t het_ct = PopcountWords(all_hets, raw_sample_ctl);
+ if (unlikely(!het_ct)) {
+ // there shouldn't be a hphase track at all in this case, het_ct is not
+ // computed off a subset
+ return kPglRetMalformedInput;
+ }
+ const uint32_t sample_ctl = BitCtToWordCt(sample_ct);
+ const unsigned char* aux2_start = *fread_pp;
+ if (!(aux2_start[0] & 1)) {
+ // phase always present
+ if (PtrAddCk(fread_end, 1 + (het_ct / CHAR_BIT), fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ if (!phaseinfo) {
+ // for internal callers which just want to skip aux2
+ return kPglRetSuccess;
+ }
+ if (!sample_include) {
+ memcpy(phasepresent, all_hets, raw_sample_ctl * kBytesPerWord);
+ ExpandBytearr(aux2_start, all_hets, raw_sample_ctl, het_ct, 1, phaseinfo);
+ if (!subsetted_suppressed_het) {
+ *phasepresent_ct_ptr = het_ct;
+ return kPglRetSuccess;
+ }
+ } else {
+ CopyBitarrSubset(all_hets, sample_include, sample_ct, phasepresent);
+ if (AllWordsAreZero(phasepresent, sample_ctl)) {
+ *phasepresent_ct_ptr = 0;
+ // bugfix (7 Dec 2017): clear sample_ctl words here, not raw_sample_ctl
+ ZeroWArr(sample_ctl, phaseinfo);
+ return kPglRetSuccess;
+ }
+ ExpandThenSubsetBytearr(aux2_start, all_hets, sample_include, het_ct, sample_ct, 1, phaseinfo);
+ }
+ // bugfix (25 Feb 2020): forgot to mask out subsetted_suppressed_het here
+ } else {
+ const uint32_t het_ctdl = het_ct / kBitsPerWord;
+
+ // explicit phasepresent
+ uintptr_t* aux2_first_part_copy = workspace_subset;
+ aux2_first_part_copy[het_ctdl] = 0;
+ memcpy(aux2_first_part_copy, aux2_start, 1 + (het_ct / CHAR_BIT));
+ const uint32_t raw_phasepresent_ct = PopcountWords(aux2_first_part_copy, het_ctdl + 1) - 1;
+ if (unlikely(!raw_phasepresent_ct)) {
+ // there shouldn't be a hphase track at all in this case
+ return kPglRetMalformedInput;
+ }
+ const unsigned char* aux2_second_part = &(aux2_start[1 + (het_ct / CHAR_BIT)]);
+ *fread_pp = aux2_second_part;
+ if (PtrAddCk(fread_end, DivUp(raw_phasepresent_ct, CHAR_BIT), fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ if (!phaseinfo) {
+ return kPglRetSuccess;
+ }
+ if (!sample_include) {
+ ExpandBytearrNested(aux2_second_part, aux2_first_part_copy, all_hets, sample_ctl, raw_phasepresent_ct, 1, phasepresent, phaseinfo);
+ if (!subsetted_suppressed_het) {
+ *phasepresent_ct_ptr = raw_phasepresent_ct;
+ return kPglRetSuccess;
+ }
+ } else {
+ // could skip if intersection of phasepresent with sample_include is
+ // empty, but this function call should be fast enough there anyway?
+ ExpandThenSubsetBytearrNested(aux2_second_part, aux2_first_part_copy, all_hets, sample_include, sample_ct, raw_phasepresent_ct, 1, phasepresent, phaseinfo);
+ }
+ }
+ if (subsetted_suppressed_het) {
+ BitvecInvmask(subsetted_suppressed_het, sample_ctl, phasepresent);
+ }
+ *phasepresent_ct_ptr = PopcountWords(phasepresent, sample_ctl);
+ return kPglRetSuccess;
+}
+
+PglErr SkipAux2(const unsigned char* fread_end, uint32_t het_ct, const unsigned char** fread_pp, uint32_t* __restrict phasepresent_ctp) {
+ const unsigned char* aux2_start = *fread_pp;
+ const uint32_t aux2_first_part_byte_ct = 1 + (het_ct / CHAR_BIT);
+ if (PtrAddCk(fread_end, aux2_first_part_byte_ct, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ if (!(aux2_start[0] & 1)) {
+ if (phasepresent_ctp) {
+ *phasepresent_ctp = het_ct;
+ }
+ return kPglRetSuccess;
+ }
+ const uint32_t phasepresent_ct = PopcountBytes(aux2_start, aux2_first_part_byte_ct) - 1;
+ if (phasepresent_ctp) {
+ *phasepresent_ctp = phasepresent_ct;
+ }
+ if (PtrAddCk(fread_end, DivUp(phasepresent_ct, CHAR_BIT), fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ return kPglRetSuccess;
+}
+
+// If fread_pp/fread_endp are non-null, this always moves fread_ptr to the end
+// of aux2. Set phasepresent/phaseinfo to nullptr when you don't actually care
+// about the contents of aux2.
+// In multiallelic case, this guarantees phasepresent bits are only set at
+// ref/altx hets, not at altx/alty hets. (We don't currently guarantee this
+// for phaseinfo, since popcounts on that array are meaningless.) Yes, this is
+// mildly annoying, but the code would be messier if the ordering of
+// multiallelic-hardcall and hardcall-phase info were swapped.
+PglErr ReadGenovecHphaseSubsetUnsafe(const uintptr_t* __restrict sample_include, const uint32_t* __restrict sample_include_cumulative_popcounts, uint32_t sample_ct, uint32_t vidx, PgenReaderMain* pgrp, const unsigned char** fread_pp, const unsigned char** fread_endp, uintptr_t* __restrict genovec, uintptr_t* __restrict phasepresent, uintptr_t* __restrict phaseinfo, uint32_t* phasepresent_ct_ptr) {
+ const uint32_t vrtype = GetPgfiVrtype(&(pgrp->fi), vidx);
+ if ((!(vrtype & 0x18)) || ((!fread_pp) && (!VrtypeHphase(vrtype)))) {
+ *phasepresent_ct_ptr = 0;
+ return ReadGenovecSubsetUnsafe(sample_include, sample_include_cumulative_popcounts, sample_ct, vidx, pgrp, fread_pp, fread_endp, genovec);
+ }
+ // Either hphase track is present; or if it's absent, multiallelic track is
+ // present and we were asked to advance fread_ptr to the end of aux2.
+ const uint32_t raw_sample_ct = pgrp->fi.raw_sample_ct;
+ const uint32_t subsetting_required = (sample_ct != raw_sample_ct);
+ uintptr_t* raw_genovec = (subsetting_required || VrtypeMultiallelicHc(vrtype))? pgrp->workspace_vec : genovec;
+ const unsigned char* fread_ptr;
+ const unsigned char* fread_end;
+ PglErr reterr = ReadRawGenovec(subsetting_required, vidx, pgrp, &fread_ptr, &fread_end, raw_genovec);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ ZeroTrailingNyps(raw_sample_ct, raw_genovec);
+ const uintptr_t* allele_idx_offsets = pgrp->fi.allele_idx_offsets;
+ const uint32_t allele_ct = allele_idx_offsets? (allele_idx_offsets[vidx + 1] - allele_idx_offsets[vidx]) : 2;
+ if (raw_genovec != genovec) {
+ CopyNyparrNonemptySubset(raw_genovec, sample_include, raw_sample_ct, sample_ct, genovec);
+ if (!VrtypeHphase(vrtype)) {
+ // only possible if multiallelic track present and fread_ptr must be
+ // advanced to end of aux2
+ *fread_pp = fread_ptr;
+ *fread_endp = fread_end;
+ return SkipAux1(fread_end, raw_genovec, raw_sample_ct, allele_ct, fread_pp);
+ }
+ }
+ uintptr_t* all_hets = pgrp->workspace_all_hets;
+ PgrDetectGenoarrHets(raw_genovec, raw_sample_ct, all_hets);
+ uintptr_t* subsetted_suppressed_het = nullptr;
+ if (VrtypeMultiallelicHc(vrtype)) {
+ const uint32_t aux1_first_byte = *fread_ptr++;
+ const uint32_t aux1a_mode = aux1_first_byte & 15;
+ const uint32_t aux1b_mode = aux1_first_byte >> 4;
+ uint32_t raw_01_ct = 0;
+ uint32_t raw_10_ct = 0;
+ if ((!aux1a_mode) || (!aux1b_mode)) {
+ GenovecCount12Unsafe(raw_genovec, raw_sample_ct, &raw_01_ct, &raw_10_ct);
+ }
+ reterr = SkipAux1a(fread_end, aux1a_mode, raw_sample_ct, allele_ct, raw_01_ct, &fread_ptr);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ // 1. fill workspace_aux1x_present with aux1b
+ // 2. clear bit for each hom-altx call in aux1b
+ // 3. bitvec-or to set new workspace_all_hets bits
+ // 4. if not subsetting, set subsetted_suppressed_het := workspace_all_hets
+ // if subsetting, copy-subset to pgrp->workspace_vec and set to that
+ // if AllWordsAreZero, keep as nullptr
+ uintptr_t* aux1b_hets = pgrp->workspace_aux1x_present;
+ uint32_t* deltalist_workspace = pgrp->workspace_difflist_sample_ids;
+ uint32_t aux1b_het_present;
+ reterr = GetAux1bHets(fread_end, raw_genovec, aux1b_mode, raw_sample_ct, allele_ct, raw_10_ct, &fread_ptr, aux1b_hets, &aux1b_het_present, deltalist_workspace);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ if (aux1b_het_present) {
+ BitvecOr(aux1b_hets, BitCtToWordCt(raw_sample_ct), all_hets);
+ if (!subsetting_required) {
+ subsetted_suppressed_het = aux1b_hets;
+ } else {
+ // Don't need raw_genovec any more.
+ CopyBitarrSubset(aux1b_hets, sample_include, sample_ct, raw_genovec);
+ subsetted_suppressed_het = raw_genovec;
+ }
+ }
+ }
+ reterr = ParseAux2Subset(fread_end, subsetting_required? sample_include : nullptr, all_hets, subsetted_suppressed_het, raw_sample_ct, sample_ct, &fread_ptr, phasepresent, phaseinfo, phasepresent_ct_ptr, pgrp->workspace_subset);
+ if (fread_pp) {
+ *fread_pp = fread_ptr;
+ *fread_endp = fread_end;
+ }
+ return reterr;
+}
+
+PglErr PgrGetP(const uintptr_t* __restrict sample_include, PgrSampleSubsetIndex pssi, uint32_t sample_ct, uint32_t vidx, PgenReader* pgr_ptr, uintptr_t* __restrict genovec, uintptr_t* __restrict phasepresent, uintptr_t* __restrict phaseinfo, uint32_t* __restrict phasepresent_ct_ptr) {
+ if (!sample_ct) {
+ *phasepresent_ct_ptr = 0;
+ return kPglRetSuccess;
+ }
+ PgenReaderMain* pgrp = GetPgrp(pgr_ptr);
+ assert(vidx < pgrp->fi.raw_variant_ct);
+ return ReadGenovecHphaseSubsetUnsafe(sample_include, GetSicp(pssi), sample_ct, vidx, pgrp, nullptr, nullptr, genovec, phasepresent, phaseinfo, phasepresent_ct_ptr);
+}
+
+// eventually want to return fread_ptr/fread_end, but not relevant until
+// multiallelic dosage working
+PglErr Get1MP(const uintptr_t* __restrict sample_include, const uint32_t* __restrict sample_include_cumulative_popcounts, uint32_t sample_ct, uint32_t vidx, uint32_t allele_idx, PgenReaderMain* pgrp, uintptr_t* __restrict allele_countvec, uintptr_t* __restrict phasepresent, uintptr_t* __restrict phaseinfo, uint32_t* __restrict phasepresent_ct_ptr) {
+ // sample_ct > 0; either allele_idx > 1 or ((allele_idx == 1) &&
+ // multiallelic_hc_present)
+ const uint32_t vrtype = pgrp->fi.vrtypes[vidx];
+ if (!VrtypeHphase(vrtype)) {
+ *phasepresent_ct_ptr = 0;
+ return IMPLPgrGet1(sample_include, sample_include_cumulative_popcounts, sample_ct, vidx, allele_idx, pgrp, allele_countvec);
+ }
+ uintptr_t* all_hets = pgrp->workspace_all_hets;
+ uintptr_t* subsetted_suppressed_het = nullptr;
+ const unsigned char* fread_ptr;
+ const unsigned char* fread_end;
+ PglErr reterr = Get1Multiallelic(sample_include, sample_include_cumulative_popcounts, sample_ct, vidx, allele_idx, pgrp, &fread_ptr, &fread_end, all_hets, allele_countvec, &subsetted_suppressed_het);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ const uint32_t raw_sample_ct = pgrp->fi.raw_sample_ct;
+ reterr = ParseAux2Subset(fread_end, (sample_ct != raw_sample_ct)? sample_include : nullptr, all_hets, subsetted_suppressed_het, raw_sample_ct, sample_ct, &fread_ptr, phasepresent, phaseinfo, phasepresent_ct_ptr, pgrp->workspace_subset);
+ // bugfix (7 Sep 2018): Need to postprocess phasepresent when collapsing
+ // multiple alleles.
+ if (reterr || (!(*phasepresent_ct_ptr))) {
+ return reterr;
+ }
+
+ // Might want to make this its own function.
+ const uint32_t sample_ctl2 = NypCtToWordCt(sample_ct);
+ MaskWordsToHalfwordsInvmatch(allele_countvec, kMaskAAAA, sample_ctl2, phasepresent, phasepresent);
+ *phasepresent_ct_ptr = PopcountWords(phasepresent, BitCtToWordCt(sample_ct));
+
+ return kPglRetSuccess;
+}
+
+PglErr PgrGet1P(const uintptr_t* __restrict sample_include, PgrSampleSubsetIndex pssi, uint32_t sample_ct, uint32_t vidx, uint32_t allele_idx, PgenReader* pgr_ptr, uintptr_t* __restrict allele_countvec, uintptr_t* __restrict phasepresent, uintptr_t* __restrict phaseinfo, uint32_t* __restrict phasepresent_ct_ptr) {
+ if (!sample_ct) {
+ *phasepresent_ct_ptr = 0;
+ return kPglRetSuccess;
+ }
+ PgenReaderMain* pgrp = GetPgrp(pgr_ptr);
+ const uint32_t* sample_include_cumulative_popcounts = GetSicp(pssi);
+ const uint32_t vrtype = GetPgfiVrtype(&(pgrp->fi), vidx);
+ const uint32_t multiallelic_hc_present = VrtypeMultiallelicHc(vrtype);
+ if ((!allele_idx) || ((allele_idx == 1) && (!multiallelic_hc_present))) {
+ PglErr reterr = ReadGenovecHphaseSubsetUnsafe(sample_include, sample_include_cumulative_popcounts, sample_ct, vidx, pgrp, nullptr, nullptr, allele_countvec, phasepresent, phaseinfo, phasepresent_ct_ptr);
+ if (allele_idx) {
+ GenovecInvertUnsafe(sample_ct, allele_countvec);
+ if (*phasepresent_ct_ptr) {
+ BitvecInvert(BitCtToWordCt(sample_ct), phaseinfo);
+ }
+ }
+ return reterr;
+ }
+ return Get1MP(sample_include, sample_include_cumulative_popcounts, sample_ct, vidx, allele_idx, pgrp, allele_countvec, phasepresent, phaseinfo, phasepresent_ct_ptr);
+}
+
+PglErr IMPLPgrGetInv1P(const uintptr_t* __restrict sample_include, const uint32_t* __restrict sample_include_cumulative_popcounts, uint32_t sample_ct, uint32_t vidx, uint32_t allele_idx, PgenReaderMain* pgrp, uintptr_t* __restrict allele_invcountvec, uintptr_t* __restrict phasepresent, uintptr_t* __restrict phaseinfo, uint32_t* __restrict phasepresent_ct_ptr) {
+ if (!sample_ct) {
+ *phasepresent_ct_ptr = 0;
+ return kPglRetSuccess;
+ }
+ const uint32_t vrtype = GetPgfiVrtype(&(pgrp->fi), vidx);
+ const uint32_t multiallelic_hc_present = VrtypeMultiallelicHc(vrtype);
+ if ((!allele_idx) || ((allele_idx == 1) && (!multiallelic_hc_present))) {
+ PglErr reterr = ReadGenovecHphaseSubsetUnsafe(sample_include, sample_include_cumulative_popcounts, sample_ct, vidx, pgrp, nullptr, nullptr, allele_invcountvec, phasepresent, phaseinfo, phasepresent_ct_ptr);
+ if (!allele_idx) {
+ GenovecInvertUnsafe(sample_ct, allele_invcountvec);
+ if (*phasepresent_ct_ptr) {
+ BitvecInvert(BitCtToWordCt(sample_ct), phaseinfo);
+ }
+ }
+ return reterr;
+ }
+ PglErr reterr = Get1MP(sample_include, sample_include_cumulative_popcounts, sample_ct, vidx, allele_idx, pgrp, allele_invcountvec, phasepresent, phaseinfo, phasepresent_ct_ptr);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ GenovecInvertUnsafe(sample_ct, allele_invcountvec);
+ if (*phasepresent_ct_ptr) {
+ BitvecInvert(BitCtToWordCt(sample_ct), phaseinfo);
+ }
+ return kPglRetSuccess;
+}
+
+void SuppressHets11(const uintptr_t* genovec, uintptr_t* subsetted_all_hets, uint32_t sample_ct, uintptr_t* subsetted_suppressed_hets) {
+ const uint32_t sample_ctl2 = NypCtToWordCt(sample_ct);
+ MaskWordsToHalfwordsInvmatch(genovec, 0, sample_ctl2, subsetted_all_hets, subsetted_suppressed_hets);
+}
+
+PglErr PgrGet2P(const uintptr_t* __restrict sample_include, PgrSampleSubsetIndex pssi, uint32_t sample_ct, uint32_t vidx, uint32_t allele_idx0, uint32_t allele_idx1, PgenReader* pgr_ptr, uintptr_t* __restrict genovec, uintptr_t* __restrict phasepresent, uintptr_t* __restrict phaseinfo, uint32_t* __restrict phasepresent_ct_ptr) {
+ PgenReaderMain* pgrp = GetPgrp(pgr_ptr);
+ const uint32_t* sample_include_cumulative_popcounts = GetSicp(pssi);
+ const uint32_t vrtype = GetPgfiVrtype(&(pgrp->fi), vidx);
+ if (!VrtypeHphase(vrtype)) {
+ *phasepresent_ct_ptr = 0;
+ return IMPLPgrGet2(sample_include, sample_include_cumulative_popcounts, sample_ct, vidx, allele_idx0, allele_idx1, pgrp, genovec);
+ }
+ if (!sample_ct) {
+ *phasepresent_ct_ptr = 0;
+ return kPglRetSuccess;
+ }
+ if (allele_idx0 + allele_idx1 == 1) {
+ PglErr reterr = ReadGenovecHphaseSubsetUnsafe(sample_include, sample_include_cumulative_popcounts, sample_ct, vidx, pgrp, nullptr, nullptr, genovec, phasepresent, phaseinfo, phasepresent_ct_ptr);
+ if (allele_idx0) {
+ GenovecInvertUnsafe(sample_ct, genovec);
+ if (*phasepresent_ct_ptr) {
+ BitvecInvert(BitCtToWordCt(sample_ct), phaseinfo);
+ }
+ }
+ return reterr;
+ }
+ const uint32_t raw_sample_ct = pgrp->fi.raw_sample_ct;
+ const uint32_t subsetting_required = (sample_ct != raw_sample_ct);
+ uintptr_t* raw_genovec = pgrp->workspace_vec;
+ const unsigned char* fread_ptr;
+ const unsigned char* fread_end;
+ PglErr reterr = ReadRawGenovec(subsetting_required, vidx, pgrp, &fread_ptr, &fread_end, raw_genovec);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ ZeroTrailingNyps(raw_sample_ct, raw_genovec);
+
+ uint32_t invert = 0;
+ if (allele_idx0 > allele_idx1) {
+ const uint32_t swap = allele_idx0;
+ allele_idx0 = allele_idx1;
+ allele_idx1 = swap;
+ invert = 1;
+ }
+ if (allele_idx0 > 1) {
+ SetAllBits(2 * sample_ct, genovec);
+ } else {
+ CopyNyparrNonemptySubset(raw_genovec, sample_include, raw_sample_ct, sample_ct, genovec);
+ // allele_idx1 > 1 guaranteed
+ if (!allele_idx0) {
+ GenovecNonzeroToMissingUnsafe(sample_ct, genovec);
+ } else {
+ GenovecInvertThenNonzeroToMissingUnsafe(sample_ct, genovec);
+ }
+ }
+ uintptr_t* all_hets = pgrp->workspace_all_hets;
+ PgrDetectGenoarrHets(raw_genovec, raw_sample_ct, all_hets);
+ uintptr_t* subsetted_suppressed_het = nullptr;
+ if (!subsetting_required) {
+ sample_include = nullptr;
+ }
+
+ const uintptr_t* allele_idx_offsets = pgrp->fi.allele_idx_offsets;
+ const uint32_t allele_ct = allele_idx_offsets[vidx + 1] - allele_idx_offsets[vidx];
+ if (VrtypeMultiallelicHc(vrtype)) {
+ // This combines ReadGenovecHphaseSubsetUnsafe() and Get2()'s logic.
+ const uint32_t aux1_first_byte = *fread_ptr++;
+ const uint32_t aux1a_mode = aux1_first_byte & 15;
+ const uint32_t aux1b_mode = aux1_first_byte >> 4;
+ uint32_t raw_01_ct = 0;
+ uint32_t raw_10_ct = 0;
+ if ((!aux1a_mode) || (!aux1b_mode)) {
+ GenovecCount12Unsafe(raw_genovec, raw_sample_ct, &raw_01_ct, &raw_10_ct);
+ }
+ uint32_t* deltalist_workspace = pgrp->workspace_difflist_sample_ids;
+ if (!allele_idx0) {
+ // Two cases:
+ // - If allele_idx == 1, convert all aux1a entries from 01 to 11.
+ // - Otherwise, for each matching aux1a entry, convert from 11 to 01.
+ reterr = GenoarrAux1aUpdate(fread_end, sample_include, sample_include_cumulative_popcounts, raw_genovec, aux1a_mode, raw_sample_ct, allele_ct, allele_idx1, 2, raw_01_ct, &fread_ptr, genovec, deltalist_workspace);
+ } else {
+ reterr = SkipAux1a(fread_end, aux1a_mode, raw_sample_ct, allele_ct, raw_01_ct, &fread_ptr);
+ }
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ const unsigned char* aux1b_start = fread_ptr;
+ reterr = GenoarrAux1bUpdate2(fread_end, sample_include, sample_include_cumulative_popcounts, raw_genovec, aux1b_mode, raw_sample_ct, allele_ct, allele_idx0, allele_idx1, raw_10_ct, &fread_ptr, genovec, deltalist_workspace);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ // Can have a modified version of GenoarrAux1bUpdate2() which only requires
+ // one pass, but let's keep the logic simpler for now since I don't expect
+ // this function to be used frequently.
+ uintptr_t* aux1b_hets = pgrp->workspace_aux1x_present;
+ uint32_t aux1b_het_present;
+ reterr = GetAux1bHets(fread_end, raw_genovec, aux1b_mode, raw_sample_ct, allele_ct, raw_10_ct, &aux1b_start, aux1b_hets, &aux1b_het_present, deltalist_workspace);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ if (aux1b_het_present) {
+ BitvecOr(aux1b_hets, BitCtToWordCt(raw_sample_ct), all_hets);
+ }
+ if ((allele_idx0 + allele_idx1 != 1) || aux1b_het_present) {
+ // We can now clobber the contents of pgrp->workspace_vec (raw_genovec)
+ // and pgrp->workspace_aux1x_present (aux1b_hets).
+ // We use the former as the subsetted_suppressed_het return buffer.
+ uintptr_t* all_hets_subsetted = all_hets;
+ if (sample_include) {
+ all_hets_subsetted = aux1b_hets;
+ CopyBitarrSubset(all_hets, sample_include, sample_ct, all_hets_subsetted);
+ }
+ subsetted_suppressed_het = raw_genovec;
+ SuppressHets11(genovec, all_hets_subsetted, sample_ct, raw_genovec);
+ }
+ }
+ reterr = ParseAux2Subset(fread_end, sample_include, all_hets, subsetted_suppressed_het, raw_sample_ct, sample_ct, &fread_ptr, phasepresent, phaseinfo, phasepresent_ct_ptr, pgrp->workspace_subset);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ if (VrtypeMultiallelicHc(vrtype) && (*phasepresent_ct_ptr)) {
+ const uint32_t sample_ctl2 = NypCtToWordCt(sample_ct);
+ MaskWordsToHalfwordsInvmatch(genovec, kMaskAAAA, sample_ctl2, phasepresent, phasepresent);
+ *phasepresent_ct_ptr = PopcountWords(phasepresent, BitCtToWordCt(sample_ct));
+ }
+ if (invert) {
+ GenovecInvertUnsafe(sample_ct, genovec);
+ if (*phasepresent_ct_ptr) {
+ BitvecInvert(BitCtToWordCt(sample_ct), phaseinfo);
+ }
+ }
+ return kPglRetSuccess;
+}
+
+PglErr PgrGetMP(const uintptr_t* __restrict sample_include, PgrSampleSubsetIndex pssi, uint32_t sample_ct, uint32_t vidx, PgenReader* pgr_ptr, PgenVariant* pgvp) {
+ pgvp->patch_01_ct = 0;
+ pgvp->patch_10_ct = 0;
+ if (!sample_ct) {
+ pgvp->phasepresent_ct = 0;
+ return kPglRetSuccess;
+ }
+ PgenReaderMain* pgrp = GetPgrp(pgr_ptr);
+ const uint32_t* sample_include_cumulative_popcounts = GetSicp(pssi);
+ const uint32_t vrtype = GetPgfiVrtype(&(pgrp->fi), vidx);
+ const uint32_t multiallelic_hc_present = VrtypeMultiallelicHc(vrtype);
+ if (!multiallelic_hc_present) {
+ return ReadGenovecHphaseSubsetUnsafe(sample_include, sample_include_cumulative_popcounts, sample_ct, vidx, pgrp, nullptr, nullptr, pgvp->genovec, pgvp->phasepresent, pgvp->phaseinfo, &(pgvp->phasepresent_ct));
+ }
+ const unsigned char* fread_ptr;
+ const unsigned char* fread_end;
+ uintptr_t* all_hets = VrtypeHphase(vrtype)? pgrp->workspace_all_hets : nullptr;
+ PglErr reterr = GetMultiallelicCodes(sample_include, sample_include_cumulative_popcounts, sample_ct, vidx, pgrp, all_hets? (&fread_ptr) : nullptr, all_hets? (&fread_end) : nullptr, all_hets, pgvp);
+ if (reterr || (!all_hets)) {
+ // bugfix (17 Apr 2023): need to zero out phasepresent_ct in this case
+ pgvp->phasepresent_ct = 0;
+ return reterr;
+ }
+ const uint32_t raw_sample_ct = pgrp->fi.raw_sample_ct;
+ return ParseAux2Subset(fread_end, (sample_ct != raw_sample_ct)? sample_include : nullptr, all_hets, nullptr, raw_sample_ct, sample_ct, &fread_ptr, pgvp->phasepresent, pgvp->phaseinfo, &(pgvp->phasepresent_ct), pgrp->workspace_subset);
+}
+
+// ok for sample_include to be nullptr if not subsetting, though this is not
+// required
+PglErr ParseDosage16(const unsigned char* fread_ptr, const unsigned char* fread_end, const uintptr_t* __restrict sample_include, uint32_t sample_ct, uint32_t vidx, uint32_t allele_ct, PgenReaderMain* pgrp, uint32_t* __restrict dosage_ct_ptr, uintptr_t* __restrict dphase_present, int16_t* dphase_delta, uint32_t* __restrict dphase_ct_ptr, uintptr_t* __restrict dosage_present, uint16_t* dosage_main) {
+ // Side effect: may use pgrp->workspace_dosage_present and
+ // pgrp->workspace_dphase_present
+ const uint32_t raw_sample_ct = pgrp->fi.raw_sample_ct;
+ const uint32_t raw_sample_ctl = BitCtToWordCt(raw_sample_ct);
+ const uint32_t subsetting_required = (sample_ct != raw_sample_ct);
+ uintptr_t* raw_dosage_present = subsetting_required? pgrp->workspace_dosage_present : dosage_present;
+ const uint32_t vrtype = GetPgfiVrtype(&(pgrp->fi), vidx);
+ const uint32_t is_unconditional_dosage = ((vrtype & 0x60) == 0x40);
+ uint32_t raw_dosage_ct;
+ if ((vrtype & 0x60) == 0x20) {
+ // case 1: dosage list
+ if (unlikely(ParseAndSaveDeltalistAsBitarr(fread_end, raw_sample_ct, &fread_ptr, raw_dosage_present, &raw_dosage_ct))) {
+ return kPglRetMalformedInput;
+ }
+ if ((!raw_dosage_ct) && (!dosage_ct_ptr)) {
+ // bugfix (7 Oct 2024)
+ ZeroWArr(raw_sample_ctl, raw_dosage_present);
+ }
+ } else if (is_unconditional_dosage) {
+ // case 2: unconditional dosage. handle separately from other two cases
+ // since missing values may be present.
+ SetAllBits(raw_sample_ct, raw_dosage_present);
+ raw_dosage_ct = raw_sample_ct;
+ } else {
+ // case 3: dosage bitarray
+ raw_dosage_present[raw_sample_ctl - 1] = 0;
+ const uint32_t raw_sample_ctb = DivUp(raw_sample_ct, CHAR_BIT);
+ memcpy(raw_dosage_present, fread_ptr, raw_sample_ctb);
+ fread_ptr = &(fread_ptr[raw_sample_ctb]);
+ raw_dosage_ct = PopcountWords(raw_dosage_present, raw_sample_ctl);
+ }
+ const uint32_t sample_ctl = BitCtToWordCt(sample_ct);
+ uint32_t dosage_ct;
+ if (subsetting_required) {
+ CopyBitarrSubset(raw_dosage_present, sample_include, sample_ct, dosage_present);
+ dosage_ct = PopcountWords(dosage_present, sample_ctl);
+ } else {
+ dosage_ct = raw_dosage_ct;
+ }
+ if (dosage_ct_ptr) {
+ *dosage_ct_ptr = dosage_ct;
+ }
+ if (!dosage_ct) {
+ if (dphase_ct_ptr) {
+ *dphase_ct_ptr = 0;
+ }
+ return kPglRetSuccess;
+ }
+ const unsigned char* dosage_main_read_biter = fread_ptr;
+ uint16_t* dosage_main_write_iter = dosage_main;
+ uint32_t raw_dphase_ct = 0;
+ uint32_t dphase_ct = 0;
+ uintptr_t* raw_dphase_present = nullptr;
+ if (dphase_present && (vrtype & 0x80)) {
+ fread_ptr = &(fread_ptr[raw_dosage_ct * 2]);
+ if (!is_unconditional_dosage) {
+ const unsigned char* file_dphase_present = fread_ptr;
+ fread_ptr = &(fread_ptr[DivUp(raw_dosage_ct, CHAR_BIT)]);
+ raw_dphase_present = subsetting_required? pgrp->workspace_dphase_present : dphase_present;
+ ExpandBytearr(file_dphase_present, raw_dosage_present, raw_sample_ctl, raw_dosage_ct, 0, raw_dphase_present);
+ raw_dphase_ct = PopcountWords(raw_dphase_present, raw_sample_ctl);
+ dphase_ct = raw_dphase_ct;
+ if (subsetting_required) {
+ CopyBitarrSubset(raw_dphase_present, sample_include, sample_ct, dphase_present);
+ dphase_ct = PopcountWords(dphase_present, sample_ctl);
+ }
+ } else {
+ // raw_dphase_present = raw_dosage_present;
+ dphase_ct = dosage_ct;
+ SetAllBits(sample_ct, dphase_present);
+ }
+ }
+ if (!dphase_ct) {
+ if (allele_ct == 2) {
+ if (!is_unconditional_dosage) {
+ if (dosage_ct == raw_dosage_ct) {
+ memcpy(dosage_main_write_iter, dosage_main_read_biter, dosage_ct * sizeof(int16_t));
+ } else {
+ // bugfix (22 May 2017): dosage_entry_idx needs to iterate up to
+ // raw_dosage_ct, not dosage_ct
+ uintptr_t widx = ~k0LU;
+ uint32_t dosage_entry_idx = 0;
+ do {
+ uintptr_t cur_bits;
+ do {
+ cur_bits = raw_dosage_present[++widx];
+ } while (!cur_bits);
+ const uintptr_t sample_include_word = sample_include[widx];
+ do {
+ const uintptr_t low_bit = cur_bits & (-cur_bits);
+ if (sample_include_word & low_bit) {
+ CopyFromUnalignedOffsetU16(dosage_main_write_iter, dosage_main_read_biter, dosage_entry_idx);
+ ++dosage_main_write_iter;
+ }
+ ++dosage_entry_idx;
+ cur_bits ^= low_bit;
+ } while (cur_bits);
+ } while (dosage_entry_idx != raw_dosage_ct);
+ }
+ } else {
+ if (!subsetting_required) {
+ for (uint32_t sample_idx = 0; sample_idx != sample_ct; ++sample_idx) {
+ uint16_t cur_dosage;
+ CopyFromUnalignedIncrU16(&cur_dosage, &dosage_main_read_biter);
+ if (cur_dosage != 65535) {
+ *dosage_main_write_iter++ = cur_dosage;
+ } else {
+ ClearBit(sample_idx, dosage_present);
+ }
+ }
+ } else {
+ uintptr_t widx = ~k0LU;
+ uint32_t sample_idx = 0;
+ do {
+ uintptr_t cur_bits;
+ do {
+ cur_bits = sample_include[++widx];
+ } while (!cur_bits);
+ const uintptr_t sample_uidx_base = widx * kBitsPerWord;
+ const unsigned char* dosage_main_readp = &(dosage_main_read_biter[sample_uidx_base * sizeof(int16_t)]);
+ do {
+ const uint32_t sample_uidx_lowbits = ctzw(cur_bits);
+ uint16_t cur_dosage;
+ CopyFromUnalignedOffsetU16(&cur_dosage, dosage_main_readp, sample_uidx_lowbits);
+ if (cur_dosage != 65535) {
+ *dosage_main_write_iter++ = cur_dosage;
+ } else {
+ ClearBit(sample_idx, dosage_present);
+ }
+ ++sample_idx;
+ cur_bits &= cur_bits - 1;
+ } while (cur_bits);
+ } while (sample_idx != sample_ct);
+ }
+ if (dosage_ct_ptr) {
+ *dosage_ct_ptr = dosage_main_write_iter - dosage_main;
+ }
+ }
+ } else {
+ // todo: multiallelic dosage
+ // need to support downcode to ref/nonref as well as raw load
+ // (dosage_ct_ptr should be nullptr iff we're doing a raw load)
+#ifndef PGENLIB_NOPRINT
+ fputs("multiallelic variants not yet supported by ParseDosage16()\n", stderr);
+#endif
+ return kPglRetNotYetSupported;
+ }
+ if (dphase_ct_ptr) {
+ *dphase_ct_ptr = 0;
+ }
+ } else {
+ // phased dosage
+ if (allele_ct == 2) {
+ if (!is_unconditional_dosage) {
+ // bugfix (15 Sep 2023): dphase_ct == raw_dphase_ct doesn't guarantee
+ // dosage_ct == raw_dosage_ct
+ if (dosage_ct == raw_dosage_ct) {
+ memcpy(dosage_main_write_iter, dosage_main_read_biter, dosage_ct * sizeof(int16_t));
+ } else {
+ uintptr_t widx = ~k0LU;
+ uint32_t dosage_entry_idx = 0;
+ do {
+ uintptr_t cur_bits;
+ do {
+ cur_bits = raw_dosage_present[++widx];
+ } while (!cur_bits);
+ const uintptr_t sample_include_word = sample_include[widx];
+ do {
+ const uintptr_t low_bit = cur_bits & (-cur_bits);
+ if (sample_include_word & low_bit) {
+ CopyFromUnalignedOffsetU16(dosage_main_write_iter, dosage_main_read_biter, dosage_entry_idx);
+ ++dosage_main_write_iter;
+ }
+ ++dosage_entry_idx;
+ cur_bits ^= low_bit;
+ } while (cur_bits);
+ } while (dosage_entry_idx != raw_dosage_ct);
+ }
+ if (dphase_ct == raw_dphase_ct) {
+ memcpy(dphase_delta, fread_ptr, dphase_ct * sizeof(int16_t));
+ if (dphase_ct_ptr) {
+ *dphase_ct_ptr = dphase_ct;
+ }
+ } else {
+ uintptr_t widx = ~k0LU;
+ uint32_t dphase_entry_idx = 0;
+ const unsigned char* dphase_delta_read = fread_ptr;
+ int16_t* dphase_delta_write_iter = dphase_delta;
+ do {
+ uintptr_t cur_bits;
+ do {
+ cur_bits = raw_dphase_present[++widx];
+ } while (!cur_bits);
+ const uintptr_t sample_include_word = sample_include[widx];
+ do {
+ const uintptr_t low_bit = cur_bits & (-cur_bits);
+ if (sample_include_word & low_bit) {
+ CopyFromUnalignedOffsetI16(dphase_delta_write_iter, dphase_delta_read, dphase_entry_idx);
+ ++dphase_delta_write_iter;
+ }
+ ++dphase_entry_idx;
+ cur_bits ^= low_bit;
+ } while (cur_bits);
+ } while (dphase_entry_idx != raw_dphase_ct);
+ if (dphase_ct_ptr) {
+ *dphase_ct_ptr = dphase_delta_write_iter - dphase_delta;
+ }
+ }
+ } else {
+ const unsigned char* dphase_delta_read = fread_ptr;
+ int16_t* dphase_delta_write_iter = dphase_delta;
+ if (!subsetting_required) {
+ for (uint32_t sample_idx = 0; sample_idx != sample_ct; ++sample_idx) {
+ uint16_t cur_dosage;
+ CopyFromUnalignedIncrU16(&cur_dosage, &dosage_main_read_biter);
+ if (cur_dosage != 65535) {
+ *dosage_main_write_iter++ = cur_dosage;
+ int16_t dphase_delta_val;
+ CopyFromUnalignedOffsetI16(&dphase_delta_val, dphase_delta_read, sample_idx);
+ if (dphase_delta_val) {
+ *dphase_delta_write_iter++ = dphase_delta_val;
+ } else {
+ ClearBit(sample_idx, dphase_present);
+ }
+ } else {
+ // assert(dphase_delta_read[sample_idx] == -32768);
+ ClearBit(sample_idx, dosage_present);
+ }
+ }
+ } else {
+ uintptr_t sample_uidx_base = 0;
+ uintptr_t sample_include_bits = sample_include[0];
+ for (uint32_t sample_idx = 0; sample_idx != sample_ct; ++sample_idx) {
+ const uintptr_t sample_uidx = BitIter1(sample_include, &sample_uidx_base, &sample_include_bits);
+ uint16_t cur_dosage;
+ CopyFromUnalignedOffsetU16(&cur_dosage, dosage_main_read_biter, sample_uidx);
+ if (cur_dosage != 65535) {
+ *dosage_main_write_iter++ = cur_dosage;
+ int16_t dphase_delta_val;
+ CopyFromUnalignedOffsetI16(&dphase_delta_val, dphase_delta_read, sample_uidx);
+ if (dphase_delta_val) {
+ *dphase_delta_write_iter++ = dphase_delta_val;
+ } else {
+ ClearBit(sample_idx, dphase_present);
+ }
+ } else {
+ // assert(dphase_delta_read[sample_uidx] == -32768);
+ ClearBit(sample_idx, dosage_present);
+ }
+ }
+ }
+ dosage_ct = dosage_main_write_iter - dosage_main;
+ if (dosage_ct != sample_ct) {
+ BitvecAnd(dosage_present, sample_ctl, dphase_present);
+ }
+ if (dosage_ct_ptr) {
+ *dosage_ct_ptr = dosage_ct;
+ }
+ if (dphase_ct_ptr) {
+ *dphase_ct_ptr = dphase_delta_write_iter - dphase_delta;
+ }
+ }
+ } else {
+ // multiallelic subcase
+#ifndef PGENLIB_NOPRINT
+ fputs("multiallelic variants not yet supported by ParseDosage16()\n", stderr);
+#endif
+ return kPglRetNotYetSupported;
+ }
+ }
+ return kPglRetSuccess;
+}
+
+PglErr IMPLPgrGetD(const uintptr_t* __restrict sample_include, const uint32_t* __restrict sample_include_cumulative_popcounts, uint32_t sample_ct, uint32_t vidx, PgenReaderMain* pgrp, uintptr_t* __restrict genovec, uintptr_t* __restrict dosage_present, uint16_t* dosage_main, uint32_t* dosage_ct_ptr) {
+ assert(vidx < pgrp->fi.raw_variant_ct);
+ if (!sample_ct) {
+ *dosage_ct_ptr = 0;
+ return kPglRetSuccess;
+ }
+ const uint32_t vrtype = GetPgfiVrtype(&(pgrp->fi), vidx);
+ if ((!VrtypeDosage(vrtype)) || (!dosage_present)) {
+ *dosage_ct_ptr = 0;
+ return ReadGenovecSubsetUnsafe(sample_include, sample_include_cumulative_popcounts, sample_ct, vidx, pgrp, nullptr, nullptr, genovec);
+ }
+ const unsigned char* fread_ptr = nullptr;
+ const unsigned char* fread_end = nullptr;
+ uint32_t phasepresent_ct;
+ PglErr reterr = ReadGenovecHphaseSubsetUnsafe(sample_include, sample_include_cumulative_popcounts, sample_ct, vidx, pgrp, &fread_ptr, &fread_end, genovec, nullptr, nullptr, &phasepresent_ct);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ const uintptr_t* allele_idx_offsets = pgrp->fi.allele_idx_offsets;
+ const uint32_t allele_ct = allele_idx_offsets? (allele_idx_offsets[vidx + 1] - allele_idx_offsets[vidx]) : 2;
+ return ParseDosage16(fread_ptr, fread_end, sample_include, sample_ct, vidx, allele_ct, pgrp, dosage_ct_ptr, nullptr, nullptr, nullptr, dosage_present, dosage_main);
+}
+
+PglErr PgrGet1D(const uintptr_t* __restrict sample_include, PgrSampleSubsetIndex pssi, uint32_t sample_ct, uint32_t vidx, AlleleCode allele_idx, PgenReader* pgr_ptr, uintptr_t* __restrict allele_countvec, uintptr_t* __restrict dosage_present, uint16_t* dosage_main, uint32_t* dosage_ct_ptr) {
+ PgenReaderMain* pgrp = GetPgrp(pgr_ptr);
+ const uint32_t* sample_include_cumulative_popcounts = GetSicp(pssi);
+ const uintptr_t* allele_idx_offsets = pgrp->fi.allele_idx_offsets;
+ const uint32_t allele_ct = allele_idx_offsets? (allele_idx_offsets[vidx + 1] - allele_idx_offsets[vidx]) : 2;
+ if ((allele_ct == 2) || (!allele_idx)) {
+ uint32_t dosage_ct;
+ PglErr reterr = IMPLPgrGetD(sample_include, sample_include_cumulative_popcounts, sample_ct, vidx, pgrp, allele_countvec, dosage_present, dosage_main, &dosage_ct);
+ if (!allele_idx) {
+ GenovecInvertUnsafe(sample_ct, allele_countvec);
+ if (dosage_ct) {
+ BiallelicDosage16Invert(dosage_ct, dosage_main);
+ }
+ }
+ *dosage_ct_ptr = dosage_ct;
+ return reterr;
+ }
+ const uint32_t vrtype = pgrp->fi.vrtypes[vidx];
+ if (!VrtypeDosage(vrtype)) {
+ *dosage_ct_ptr = 0;
+ return IMPLPgrGet1(sample_include, sample_include_cumulative_popcounts, sample_ct, vidx, allele_idx, pgrp, allele_countvec);
+ }
+#ifndef PGENLIB_NOPRINT
+ fputs("multiallelic variants not yet supported by PgrGet1D()\n", stderr);
+#endif
+ return kPglRetNotYetSupported;
+}
+
+PglErr PgrGetInv1D(const uintptr_t* __restrict sample_include, PgrSampleSubsetIndex pssi, uint32_t sample_ct, uint32_t vidx, AlleleCode allele_idx, PgenReader* pgr_ptr, uintptr_t* __restrict allele_invcountvec, uintptr_t* __restrict dosage_present, uint16_t* dosage_main, uint32_t* dosage_ct_ptr) {
+ PgenReaderMain* pgrp = GetPgrp(pgr_ptr);
+ const uint32_t* sample_include_cumulative_popcounts = GetSicp(pssi);
+ const uintptr_t* allele_idx_offsets = pgrp->fi.allele_idx_offsets;
+ const uint32_t allele_ct = allele_idx_offsets? (allele_idx_offsets[vidx + 1] - allele_idx_offsets[vidx]) : 2;
+ if ((allele_ct == 2) || (!allele_idx)) {
+ uint32_t dosage_ct;
+ PglErr reterr = IMPLPgrGetD(sample_include, sample_include_cumulative_popcounts, sample_ct, vidx, pgrp, allele_invcountvec, dosage_present, dosage_main, &dosage_ct);
+ if (allele_idx) {
+ GenovecInvertUnsafe(sample_ct, allele_invcountvec);
+ if (dosage_ct) {
+ BiallelicDosage16Invert(dosage_ct, dosage_main);
+ }
+ }
+ *dosage_ct_ptr = dosage_ct;
+ return reterr;
+ }
+ const uint32_t vrtype = pgrp->fi.vrtypes[vidx];
+ if (!VrtypeDosage(vrtype)) {
+ *dosage_ct_ptr = 0;
+ return IMPLPgrGetInv1(sample_include, sample_include_cumulative_popcounts, sample_ct, vidx, allele_idx, pgrp, allele_invcountvec);
+ }
+#ifndef PGENLIB_NOPRINT
+ fputs("multiallelic variants not yet supported by PgrGetInv1D()\n", stderr);
+#endif
+ return kPglRetNotYetSupported;
+}
+
+PglErr GetAux1bHetIncr(const unsigned char* fread_end, uint32_t aux1b_mode, uint32_t raw_sample_ct, uint32_t allele_ct, uint32_t raw_10_ct, const unsigned char** fread_pp, uint32_t* __restrict raw_het_ctp) {
+ if (aux1b_mode == 15) {
+ return kPglRetSuccess;
+ }
+ uint32_t rare10_ct;
+ if (!aux1b_mode) {
+ const uint32_t fset_byte_ct = DivUp(raw_10_ct, 8);
+ rare10_ct = PopcountBytes(*fread_pp, fset_byte_ct);
+ *fread_pp += fset_byte_ct;
+ } else {
+ // aux1b_mode == 1
+ const unsigned char* group_info_iter;
+ PglErr reterr = ParseDifflistHeader(fread_end, raw_sample_ct, fread_pp, nullptr, &group_info_iter, &rare10_ct);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ reterr = SkipDeltalistIds(fread_end, group_info_iter, rare10_ct, raw_sample_ct, 0, fread_pp);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ }
+ uintptr_t detect_hom_mask_lo;
+ const uint32_t allele_code_logwidth = GetAux1bConsts(allele_ct, &detect_hom_mask_lo);
+ const uint32_t code10_logwidth = allele_code_logwidth + (allele_code_logwidth != 0);
+ const unsigned char* patch_10_fvals = *fread_pp;
+ const uint32_t fvals_byte_ct = DivUpU64(S_CAST(uint64_t, rare10_ct) << code10_logwidth, CHAR_BIT);
+ if (PtrAddCk(fread_end, fvals_byte_ct, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ if (allele_ct == 3) {
+ const uint32_t hom22_ct = PopcountBytes(patch_10_fvals, fvals_byte_ct);
+ *raw_het_ctp += rare10_ct - hom22_ct;
+ return kPglRetSuccess;
+ }
+ // possible todo: vectorized het-counter, analogous to CountAux1bDense()
+ const uint32_t code10_width = 1U << code10_logwidth;
+ const uint32_t allele_code_width = 1U << allele_code_logwidth;
+ const uintptr_t detect_all_mask_lo = detect_hom_mask_lo | (detect_hom_mask_lo << allele_code_width);
+ const uintptr_t detect_all_mask_hi = detect_all_mask_lo << (allele_code_width - 1);
+ const uintptr_t detect_hom_mask_hi = detect_hom_mask_lo << (code10_width - 1);
+ const uint32_t fvals_word_ct_m1 = (fvals_byte_ct - 1) / kBytesPerWord;
+ uint32_t het_incr = 0;
+ for (uint32_t fvals_widx = 0; ; ++fvals_widx) {
+ uintptr_t fvals_bits;
+ if (fvals_widx >= fvals_word_ct_m1) {
+ if (fvals_widx > fvals_word_ct_m1) {
+ break;
+ }
+ fvals_bits = SubwordLoad(&(patch_10_fvals[fvals_widx * kBytesPerWord]), ModNz(fvals_byte_ct, kBytesPerWord));
+ } else {
+ CopyFromUnalignedOffsetW(&fvals_bits, patch_10_fvals, fvals_widx);
+ }
+ // allele_ct > 3 guaranteed
+ fvals_bits = fvals_bits ^ (fvals_bits << allele_code_width);
+ fvals_bits = detect_hom_mask_hi & (fvals_bits | ((fvals_bits | detect_all_mask_hi) - detect_all_mask_lo));
+ if (fvals_widx == fvals_word_ct_m1) {
+ fvals_bits = bzhi_max(fvals_bits, ModNz(rare10_ct << code10_logwidth, kBitsPerWord));
+ }
+ het_incr += PopcountWord(fvals_bits);
+ }
+ *raw_het_ctp += het_incr;
+ return kPglRetSuccess;
+}
+
+uint64_t U16VecSum(const uint16_t* __restrict uint16_vec, uint32_t entry_ct) {
+#ifdef USE_SSE2
+ // UniVecHsum32() could overflow once we exceed this
+ const uint32_t max_loop_len = (131072 / kInt32PerVec) - 1;
+
+ const VecW m16 = VCONST_W(kMask0000FFFF);
+ const VecW* uint16_vvec_iter = R_CAST(const VecW*, uint16_vec);
+ uint64_t sum = 0;
+ for (uint32_t full_vecs_remaining = entry_ct / (kBytesPerVec / sizeof(int16_t)); ; ) {
+ UniVec acc_even;
+ UniVec acc_odd;
+ acc_even.vw = vecw_setzero();
+ acc_odd.vw = vecw_setzero();
+ const VecW* uint16_vvec_stop;
+ if (full_vecs_remaining < max_loop_len) {
+ if (!full_vecs_remaining) {
+ const uint32_t trail_ct = entry_ct % (kBytesPerVec / sizeof(int16_t));
+ uint16_vec = DowncastKVecWToU16(uint16_vvec_iter);
+ for (uint32_t uii = 0; uii != trail_ct; ++uii) {
+ sum += uint16_vec[uii];
+ }
+ return sum;
+ }
+ uint16_vvec_stop = &(uint16_vvec_iter[full_vecs_remaining]);
+ full_vecs_remaining = 0;
+ } else {
+ uint16_vvec_stop = &(uint16_vvec_iter[max_loop_len]);
+ full_vecs_remaining -= max_loop_len;
+ }
+ do {
+ const VecW cur_vec = *uint16_vvec_iter++;
+ acc_even.vw = acc_even.vw + (cur_vec & m16);
+ acc_odd.vw = acc_odd.vw + (vecw_srli(cur_vec, 16) & m16);
+ } while (uint16_vvec_iter < uint16_vvec_stop);
+ sum += UniVecHsum32(acc_even);
+ sum += UniVecHsum32(acc_odd);
+ }
+#else
+ uint64_t sum = 0;
+ for (uint32_t uii = 0; uii != entry_ct; ++uii) {
+ sum += uint16_vec[uii];
+ }
+ return sum;
+#endif
+}
+
+PglErr GetPhasepresentAndSkipPhaseinfo(const unsigned char* fread_end, const uintptr_t* __restrict all_hets, uint32_t raw_sample_ct, uint32_t het_ct, const unsigned char** fread_pp, uintptr_t* __restrict phasepresent, uint32_t* __restrict phasepresent_ctp) {
+ const unsigned char* aux2_start = *fread_pp;
+ const uint32_t aux2_first_part_byte_ct = 1 + (het_ct / CHAR_BIT);
+ if (PtrAddCk(fread_end, aux2_first_part_byte_ct, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ const uint32_t raw_sample_ctl = BitCtToWordCt(raw_sample_ct);
+ if (!(aux2_start[0] & 1)) {
+ memcpy(phasepresent, all_hets, raw_sample_ctl * kBytesPerWord);
+ *phasepresent_ctp = het_ct;
+ return kPglRetSuccess;
+ }
+ const uint32_t phasepresent_ct = PopcountBytes(aux2_start, aux2_first_part_byte_ct) - 1;
+ if (PtrAddCk(fread_end, DivUp(phasepresent_ct, CHAR_BIT), fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ *phasepresent_ctp = phasepresent_ct;
+ ExpandBytearr(aux2_start, all_hets, raw_sample_ctl, het_ct, 1, phasepresent);
+ return kPglRetSuccess;
+}
+
+PglErr GetUnphasedBiallelicHetCt(const uintptr_t* __restrict sample_include, const uintptr_t* raw_genoarr, const unsigned char* fread_ptr, const unsigned char* fread_end, uint32_t subsetted_het_ct, PgenReaderMain* pgrp, uint32_t* unphased_het_ctp) {
+ const uint32_t raw_sample_ct = pgrp->fi.raw_sample_ct;
+ uint32_t raw_het_ct;
+ if (!sample_include) {
+ raw_het_ct = subsetted_het_ct;
+ } else {
+ raw_het_ct = CountNyp(raw_genoarr, kMask5555, raw_sample_ct);
+ }
+ const uint32_t aux2_first_part_byte_ct = 1 + (raw_het_ct / CHAR_BIT);
+ if (PtrCheck(fread_end, fread_ptr, aux2_first_part_byte_ct)) {
+ return kPglRetMalformedInput;
+ }
+ const uint32_t explicit_phasepresent = fread_ptr[0] & 1;
+ if (!explicit_phasepresent) {
+ // initial value of 0 is correct
+ return kPglRetSuccess;
+ }
+ if (raw_het_ct == subsetted_het_ct) {
+ *unphased_het_ctp = raw_het_ct + 1 - PopcountBytes(fread_ptr, aux2_first_part_byte_ct);
+ return kPglRetSuccess;
+ }
+ // A dedicated counting function would be faster, but this case
+ // should rarely come up.
+ uintptr_t* all_hets = pgrp->workspace_all_hets;
+ PgrDetectGenoarrHets(raw_genoarr, raw_sample_ct, all_hets);
+ uintptr_t* raw_phasepresent = pgrp->workspace_subset;
+ const uint32_t raw_sample_ctl = BitCtToWordCt(raw_sample_ct);
+ // todo: compare against ExpandThenSubsetBytearr followed by simple popcount
+ ExpandBytearr(fread_ptr, all_hets, raw_sample_ctl, raw_het_ct, 1, raw_phasepresent);
+ *unphased_het_ctp = subsetted_het_ct - PopcountWordsIntersect(raw_phasepresent, sample_include, raw_sample_ctl);
+ return kPglRetSuccess;
+}
+
+PglErr GetPhasedBiallelicGenotypeSubsetCounts(const uintptr_t* __restrict sample_include, const uintptr_t* __restrict sample_include_interleaved_vec, uint32_t sample_ct, uint32_t vidx, PgenReaderMain* pgrp, uint32_t* unphased_het_ctp, STD_ARRAY_REF(uint32_t, 4) genocounts) {
+ // Currently much less optimized than the other count functions. (This case
+ // shouldn't come up much, the user has to be computing minimac-r2 on a file
+ // with no dosages...)
+ uintptr_t* raw_genovec = pgrp->workspace_vec;
+ const unsigned char* fread_ptr;
+ const unsigned char* fread_end;
+ PglErr reterr = ReadRawGenovec(1, vidx, pgrp, &fread_ptr, &fread_end, raw_genovec);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ const uint32_t raw_sample_ct = pgrp->fi.raw_sample_ct;
+ ZeroTrailingNyps(raw_sample_ct, raw_genovec);
+ GenoarrCountSubsetFreqs(raw_genovec, sample_include_interleaved_vec, raw_sample_ct, sample_ct, genocounts);
+ return GetUnphasedBiallelicHetCt(sample_include, raw_genovec, fread_ptr, fread_end, genocounts[1], pgrp, unphased_het_ctp);
+}
+
+// Imputation r^2 computation:
+// * This function assumes the biallelic diploid case. Divide by two to get
+// the biallelic haploid value, for whatever that's worth.
+// * chrX requires sex information, so that's handled directly in
+// LoadAlleleAndGenoCountsThread()... er, actually, we just give up on that
+// for now.
+// * See PgrGetMDCounts() support functions below for multiallelic-diploid
+// notes.
+PglErr GetBasicGenotypeCountsAndDosage16s(const uintptr_t* __restrict sample_include, const uintptr_t* __restrict sample_include_interleaved_vec, const uint32_t* __restrict sample_include_cumulative_popcounts, uint32_t sample_ct, uint32_t vidx, uint32_t is_minimac3_r2, PgenReaderMain* pgrp, double* imp_r2_ptr, STD_ARRAY_REF(uint32_t, 4) genocounts, uint64_t* __restrict all_dosages) {
+ // genocounts[0] := ref/ref, genocounts[1] := ref/altx,
+ // genocounts[2] := altx/alty, genocounts[3] := missing
+ const uint32_t vrtype = GetPgfiVrtype(&(pgrp->fi), vidx);
+ const uint32_t raw_sample_ct = pgrp->fi.raw_sample_ct;
+ const uint32_t subsetting_required = (sample_ct != raw_sample_ct);
+ uint32_t unphased_het_ct = 0;
+ // To avoid LD cache thrashing, we try to either always keep a subsetted
+ // cache, or never do so. (Always, when only hardcalls are present;
+ // otherwise never.)
+ if ((!(pgrp->fi.gflags & kfPgenGlobalDosagePresent)) ||
+ ((!(vrtype & 0x60)) && (!subsetting_required))) {
+ {
+ const uint32_t need_unphased_het_ct = is_minimac3_r2 && VrtypeHphase(vrtype);
+ PglErr reterr;
+ if (!(subsetting_required && need_unphased_het_ct)) {
+ reterr = GetBasicGenotypeCounts(sample_include, sample_include_interleaved_vec, sample_include_cumulative_popcounts, sample_ct, vidx, pgrp, need_unphased_het_ct? (&unphased_het_ct) : nullptr, genocounts);
+ } else {
+ reterr = GetPhasedBiallelicGenotypeSubsetCounts(sample_include, sample_include_interleaved_vec, sample_ct, vidx, pgrp, &unphased_het_ct, genocounts);
+ }
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ }
+ GetBasicGenotypeCountsAndDosage16s_basic_finish:
+ all_dosages[0] = (genocounts[0] * 2 + genocounts[1]) * 16384LLU;
+ all_dosages[1] = (genocounts[2] * 2 + genocounts[1]) * 16384LLU;
+ if (!imp_r2_ptr) {
+ return kPglRetSuccess;
+ }
+ // yeah, it's sinful to implement imputation r2 here...
+ const uint32_t nm_sample_ct = sample_ct - genocounts[3];
+ const uint64_t alt1_dosage = genocounts[2] * 0x8000LLU + genocounts[1] * 0x4000LLU;
+ uint64_t hap_alt1_ssq_x2 = genocounts[2] * 0x40000000LLU + genocounts[1] * 0x10000000LLU;
+ if (is_minimac3_r2) {
+ if (!VrtypeHphase(vrtype)) {
+ unphased_het_ct = genocounts[1];
+ }
+ hap_alt1_ssq_x2 += (genocounts[1] - unphased_het_ct) * 0x10000000LLU;
+ }
+ *imp_r2_ptr = BiallelicDiploidMinimac3R2(alt1_dosage, hap_alt1_ssq_x2, nm_sample_ct);
+ if (!is_minimac3_r2) {
+ *imp_r2_ptr *= 2;
+ }
+ return kPglRetSuccess;
+ }
+ uintptr_t* raw_genovec = pgrp->workspace_vec;
+ const unsigned char* fread_ptr;
+ const unsigned char* fread_end;
+ PglErr reterr = ReadRawGenovec(subsetting_required, vidx, pgrp, &fread_ptr, &fread_end, raw_genovec);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ ZeroTrailingNyps(raw_sample_ct, raw_genovec);
+ if (!subsetting_required) {
+ GenoarrCountFreqsUnsafe(raw_genovec, raw_sample_ct, genocounts);
+ } else {
+ GenoarrCountSubsetFreqs(raw_genovec, sample_include_interleaved_vec, raw_sample_ct, sample_ct, genocounts);
+ }
+ if (!(vrtype & 0x60)) {
+ if (is_minimac3_r2 && VrtypeHphase(vrtype)) {
+ assert(!VrtypeMultiallelicHc(vrtype));
+ reterr = GetUnphasedBiallelicHetCt(subsetting_required? sample_include : nullptr, raw_genovec, fread_ptr, fread_end, genocounts[1], pgrp, &unphased_het_ct);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ }
+ goto GetBasicGenotypeCountsAndDosage16s_basic_finish;
+ }
+ const uintptr_t* allele_idx_offsets = pgrp->fi.allele_idx_offsets;
+ const uint32_t allele_ct = allele_idx_offsets? (allele_idx_offsets[vidx + 1] - allele_idx_offsets[vidx]) : 2;
+ const uint32_t raw_sample_ctl = BitCtToWordCt(raw_sample_ct);
+ uintptr_t* raw_phasepresent = pgrp->workspace_subset;
+ uint32_t raw_phasepresent_ct = 0;
+ if (VrtypeHphase(vrtype)) {
+ uint32_t raw_het_ct = genocounts[1]; // inaccurate if subsetting_required
+ if (!is_minimac3_r2) {
+ if (VrtypeMultiallelicHc(vrtype)) {
+ const uint32_t aux1_first_byte = *fread_ptr++;
+ const uint32_t aux1a_mode = aux1_first_byte & 15;
+ const uint32_t aux1b_mode = aux1_first_byte >> 4;
+ uint32_t raw_10_ct = 0;
+ if ((!aux1a_mode) || (!aux1b_mode) || subsetting_required) {
+ GenovecCount12Unsafe(raw_genovec, raw_sample_ct, &raw_het_ct, &raw_10_ct);
+ }
+ reterr = SkipAux1a(fread_end, aux1a_mode, raw_sample_ct, allele_ct, raw_het_ct, &fread_ptr);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ reterr = GetAux1bHetIncr(fread_end, aux1b_mode, raw_sample_ct, allele_ct, raw_10_ct, &fread_ptr, &raw_het_ct);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ } else if (subsetting_required) {
+ raw_het_ct = CountNyp(raw_genovec, kMask5555, raw_sample_ct);
+ }
+ reterr = SkipAux2(fread_end, raw_het_ct, &fread_ptr, nullptr);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ } else {
+ assert(!VrtypeMultiallelicHc(vrtype));
+ uintptr_t* all_hets = pgrp->workspace_all_hets;
+ PgrDetectGenoarrHets(raw_genovec, raw_sample_ct, all_hets);
+ if (subsetting_required) {
+ raw_het_ct = PopcountWords(all_hets, raw_sample_ctl);
+ }
+ const uint32_t first_half_byte_ct = 1 + (raw_het_ct / CHAR_BIT);
+ const uint32_t explicit_phasepresent = fread_ptr[0] & 1;
+ if (explicit_phasepresent) {
+ ExpandBytearr(fread_ptr, all_hets, raw_sample_ctl, raw_het_ct, 1, raw_phasepresent);
+ raw_phasepresent_ct = PopcountBytes(fread_ptr, first_half_byte_ct) - 1;
+ const uint32_t second_half_byte_ct = DivUp(raw_phasepresent_ct, CHAR_BIT);
+ fread_ptr = &(fread_ptr[first_half_byte_ct + second_half_byte_ct]);
+ } else {
+ raw_phasepresent_ct = raw_het_ct;
+ memcpy(raw_phasepresent, all_hets, raw_sample_ctl * sizeof(intptr_t));
+ fread_ptr = &(fread_ptr[first_half_byte_ct]);
+ }
+ }
+ } else if (VrtypeMultiallelicHc(vrtype)) {
+ reterr = SkipAux1(fread_end, raw_genovec, raw_sample_ct, allele_ct, &fread_ptr);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ }
+ if (allele_ct != 2) {
+ // Maybe make this an invalid function call? If that happens, the
+ // VrtypeMultiallelicHc() branch above can be removed.
+#ifndef PGENLIB_NOPRINT
+ fputs("multiallelic dosages not yet supported by GetBasicGenotypeCountsAndDosage16s()\n", stderr);
+#endif
+ return kPglRetNotYetSupported;
+ }
+
+ const uint32_t is_unconditional_dosage = ((vrtype & 0x60) == 0x40);
+ uint64_t alt1_dosage = 0;
+ uint32_t dosage_ct = 0;
+ STD_ARRAY_DECL(uint32_t, 4, replaced_genocounts);
+ if ((!is_minimac3_r2) || (!(vrtype & 0x90))) {
+ uint64_t alt1_dosage_sq_sum = 0;
+ if (is_unconditional_dosage) {
+ // needs to be handled separately from the other cases due to possible
+ // presence of missing values.
+ // note that this code will also need to be adjusted when multiallelic
+ // support is added.
+ STD_ARRAY_FILL0(replaced_genocounts);
+ const unsigned char* dosage_main_read = fread_ptr;
+ if (PtrAddCk(fread_end, raw_sample_ct * sizeof(int16_t), &fread_ptr)) {
+ return kPglRetMalformedInput;
+ }
+ if (subsetting_required) {
+ uintptr_t sample_uidx_base = 0;
+ uintptr_t sample_include_bits = sample_include[0];
+ for (uint32_t sample_idx = 0; sample_idx != sample_ct; ++sample_idx) {
+ const uintptr_t sample_uidx = BitIter1(sample_include, &sample_uidx_base, &sample_include_bits);
+ const uintptr_t cur_dosage_val = CopyFromUnalignedOffsetU16ZX(dosage_main_read, sample_uidx);
+ if (cur_dosage_val != 65535) {
+ alt1_dosage += cur_dosage_val;
+
+ // todo: check if this is slow enough to justify removing it from
+ // the main loop
+ alt1_dosage_sq_sum += cur_dosage_val * cur_dosage_val;
+ ++dosage_ct;
+ }
+ }
+ } else {
+ for (uint32_t sample_uidx = 0; sample_uidx != sample_ct; ++sample_uidx) {
+ const uintptr_t cur_dosage_val = CopyFromUnalignedOffsetU16ZX(dosage_main_read, sample_uidx);
+ if (cur_dosage_val != 65535) {
+ alt1_dosage += cur_dosage_val;
+ alt1_dosage_sq_sum += cur_dosage_val * cur_dosage_val;
+ ++dosage_ct;
+ }
+ }
+ }
+ // update (20 Mar 2019): .pgen specification tightened to remove the need
+ // to update replaced_genocounts in the main loops above.
+ STD_ARRAY_COPY(genocounts, 4, replaced_genocounts);
+ replaced_genocounts[3] = replaced_genocounts[3] + dosage_ct - sample_ct;
+ } else {
+ uintptr_t* raw_dosage_present = pgrp->workspace_dosage_present;
+ uint32_t raw_dosage_ct;
+ if (!(vrtype & 0x40)) {
+ // dosage list
+ if (unlikely(ParseAndSaveDeltalistAsBitarr(fread_end, raw_sample_ct, &fread_ptr, raw_dosage_present, &raw_dosage_ct))) {
+ return kPglRetMalformedInput;
+ }
+ } else {
+ // dosage bitarray
+ raw_dosage_present[raw_sample_ctl - 1] = 0;
+ const uint32_t raw_sample_ctb = DivUp(raw_sample_ct, CHAR_BIT);
+ memcpy(raw_dosage_present, fread_ptr, raw_sample_ctb);
+ fread_ptr = &(fread_ptr[raw_sample_ctb]);
+ raw_dosage_ct = PopcountWords(raw_dosage_present, raw_sample_ctl);
+ }
+ const unsigned char* dosage_main_read = fread_ptr;
+ if (PtrAddCk(fread_end, raw_dosage_ct * sizeof(int16_t), &fread_ptr)) {
+ return kPglRetMalformedInput;
+ }
+ if (subsetting_required) {
+ uintptr_t sample_widx = 0;
+ uintptr_t dosage_present_bits = raw_dosage_present[0];
+ for (uint32_t dosage_idx = 0; dosage_idx != raw_dosage_ct; ++dosage_idx) {
+ const uintptr_t lowbit = BitIter1y(raw_dosage_present, &sample_widx, &dosage_present_bits);
+ if (sample_include[sample_widx] & lowbit) {
+ const uintptr_t cur_dosage_val = CopyFromUnalignedOffsetU16ZX(dosage_main_read, dosage_idx);
+ alt1_dosage += cur_dosage_val;
+ alt1_dosage_sq_sum += cur_dosage_val * cur_dosage_val;
+ ++dosage_ct;
+ }
+ }
+ GenoarrCountSubsetIntersectFreqs(raw_genovec, raw_dosage_present, sample_include, raw_sample_ct, replaced_genocounts);
+ } else {
+ if (!imp_r2_ptr) {
+ for (uint32_t dosage_idx = 0; dosage_idx != raw_dosage_ct; ++dosage_idx) {
+ uint16_t cur_dosage_u16;
+ CopyFromUnalignedOffsetU16(&cur_dosage_u16, dosage_main_read, dosage_idx);
+ alt1_dosage += cur_dosage_u16;
+ }
+ } else {
+ for (uint32_t dosage_idx = 0; dosage_idx != raw_dosage_ct; ++dosage_idx) {
+ const uintptr_t cur_dosage_val = CopyFromUnalignedOffsetU16ZX(dosage_main_read, dosage_idx);
+ alt1_dosage += cur_dosage_val;
+ alt1_dosage_sq_sum += cur_dosage_val * cur_dosage_val;
+ }
+ }
+ dosage_ct = raw_dosage_ct;
+ GenoarrCountSubsetFreqs2(raw_genovec, raw_dosage_present, raw_sample_ct, raw_dosage_ct, replaced_genocounts);
+ }
+ }
+ const uint32_t replaced_ct = replaced_genocounts[0] + replaced_genocounts[1] + replaced_genocounts[2];
+ const uint32_t remaining_het_ct = genocounts[1] - replaced_genocounts[1];
+ const uint32_t remaining_hom_alt_ct = genocounts[2] - replaced_genocounts[2];
+ const uint32_t alt1_ct = 2 * remaining_hom_alt_ct + remaining_het_ct;
+ alt1_dosage += alt1_ct * 16384LLU;
+ all_dosages[1] = alt1_dosage;
+ const uint32_t nondosage_nm_ct = sample_ct - genocounts[3] - replaced_ct;
+ const uint32_t new_sample_nm_ct = dosage_ct + nondosage_nm_ct;
+ all_dosages[0] = new_sample_nm_ct * 32768LLU - alt1_dosage;
+ if (!imp_r2_ptr) {
+ return kPglRetSuccess;
+ }
+ // possible todo: also move all-hardcall-phase-present, no-dosage
+ // is_minimac3_r2 case under this branch, since we can just set imp_r2 to
+ // NaN or 1.
+ // 16384^2, 32768^2
+ alt1_dosage_sq_sum += remaining_het_ct * 0x10000000LLU + remaining_hom_alt_ct * 0x40000000LLU;
+ *imp_r2_ptr = BiallelicDiploidMinimac3R2(alt1_dosage, alt1_dosage_sq_sum, new_sample_nm_ct);
+ if (!is_minimac3_r2) {
+ *imp_r2_ptr *= 2;
+ }
+ return kPglRetSuccess;
+ }
+ // Need to deal with implicitly phased dosages. Best to have raw_genovec,
+ // raw_phasepresent, dosage_present, and dosage_main all available, then loop
+ // over everything at once.
+ // (phaseinfo is irrelevant since only absolute value of (left - right)
+ // matters.)
+
+ // We have the following 2x2x3 cases to deal with:
+ // - Subsetted vs. un-subsetted. Un-subsetted comes up a lot, so we have an
+ // optimized code path for it.
+ // - Unconditional vs. conditional dosage. Unconditional should not come up
+ // much, so we just mock up raw_dosage_present... er, actually, that
+ // doesn't work because dosage_main would also need to be collapsed. Sigh.
+ // Ok, it's still handled separately.
+ // - Only hardcall-phase, vs. only dosage-phase, vs. both. At least we can
+ // merge the "only dosage-phase" and "both" cases.
+ // So we end up with 8 primary code paths.
+ // This is kind of a nightmare; it would obviously be nicer to move this
+ // out of pgenlib_internal, and that may eventually happen. But we don't
+ // want users to be discouraged from running --minimac3-r2-filter when it's
+ // appropriate just because it's a lot slower than other standard filters;
+ // and this also serves as a testing ground for efficient phased-dosage
+ // handling strategies.
+ if (!VrtypeHphase(vrtype)) {
+ ZeroWArr(raw_sample_ctl, raw_phasepresent);
+ }
+ uintptr_t* raw_dosage_present = nullptr;
+ const unsigned char* dosage_main_read;
+ uint32_t raw_dosage_ct = 0;
+ if (is_unconditional_dosage) {
+ dosage_main_read = fread_ptr;
+ if (PtrAddCk(fread_end, raw_sample_ct * sizeof(int16_t), &fread_ptr)) {
+ return kPglRetMalformedInput;
+ }
+ // raw_dosage_ct unused in this case.
+ } else {
+ // could move some duplicate code before the big branch
+ raw_dosage_present = pgrp->workspace_dosage_present;
+ if (!(vrtype & 0x40)) {
+ // dosage list
+ if (unlikely(ParseAndSaveDeltalistAsBitarr(fread_end, raw_sample_ct, &fread_ptr, raw_dosage_present, &raw_dosage_ct))) {
+ return kPglRetMalformedInput;
+ }
+ } else {
+ // dosage bitarray
+ raw_dosage_present[raw_sample_ctl - 1] = 0;
+ const uint32_t raw_sample_ctb = DivUp(raw_sample_ct, CHAR_BIT);
+ memcpy(raw_dosage_present, fread_ptr, raw_sample_ctb);
+ fread_ptr = &(fread_ptr[raw_sample_ctb]);
+ raw_dosage_ct = PopcountWords(raw_dosage_present, raw_sample_ctl);
+ }
+ dosage_main_read = fread_ptr;
+ if (PtrAddCk(fread_end, raw_dosage_ct * sizeof(int16_t), &fread_ptr)) {
+ return kPglRetMalformedInput;
+ }
+ }
+ const unsigned char* dosage_main_biter = dosage_main_read;
+ uint64_t hap_ssq_x2 = 0;
+ uint32_t phased_hc_het_ct = 0;
+ if (!(vrtype & 0x80)) {
+ if (is_unconditional_dosage) {
+ if (!subsetting_required) {
+ const uint32_t raw_sample_ctl_m1 = raw_sample_ctl - 1;
+ uint32_t loop_len = kBitsPerWord;
+ for (uint32_t widx = 0; ; ++widx) {
+ if (widx >= raw_sample_ctl_m1) {
+ if (widx > raw_sample_ctl_m1) {
+ break;
+ }
+ loop_len = ModNz(raw_sample_ct, kBitsPerWord);
+ }
+ uintptr_t phasepresent_word = raw_phasepresent[widx];
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ const uintptr_t cur_dosage_val = CopyFromUnalignedIncrU16ZX(&dosage_main_biter);
+ if (cur_dosage_val != 65535) {
+ alt1_dosage += cur_dosage_val;
+ hap_ssq_x2 += cur_dosage_val * cur_dosage_val;
+ ++dosage_ct;
+ if (phasepresent_word & 1) {
+ // For each dosage, when phasepresent bit is set, implicit
+ // dphase_delta value is 16384 - |16384 - x|.
+ const uintptr_t homdist = 16384 - abs_i32(16384 - cur_dosage_val);
+ hap_ssq_x2 += homdist * homdist;
+ }
+ }
+ phasepresent_word = phasepresent_word >> 1;
+ }
+ }
+ } else {
+ for (uint32_t widx = 0; widx != raw_sample_ctl; ++widx) {
+ uintptr_t sample_include_word = sample_include[widx];
+ if (!sample_include_word) {
+ continue;
+ }
+ const uintptr_t phasepresent_word = raw_phasepresent[widx];
+ const unsigned char* cur_dosage_main = &(dosage_main_read[widx * kBitsPerWord * sizeof(int16_t)]);
+ do {
+ const uint32_t sample_idx_lowbits = ctzw(sample_include_word);
+ const uintptr_t cur_dosage_val = CopyFromUnalignedOffsetU16ZX(cur_dosage_main, sample_idx_lowbits);
+ const uintptr_t lowbit = sample_include_word & (-sample_include_word);
+ if (cur_dosage_val != 65535) {
+ alt1_dosage += cur_dosage_val;
+ hap_ssq_x2 += cur_dosage_val * cur_dosage_val;
+ ++dosage_ct;
+ if (lowbit & phasepresent_word) {
+ const uintptr_t homdist = 16384 - abs_i32(16384 - cur_dosage_val);
+ hap_ssq_x2 += homdist * homdist;
+ }
+ }
+ sample_include_word ^= lowbit;
+ } while (sample_include_word);
+ }
+ }
+ STD_ARRAY_COPY(genocounts, 4, replaced_genocounts);
+ replaced_genocounts[3] = replaced_genocounts[3] + dosage_ct - sample_ct;
+ } else { // !is_unconditional_dosage
+ if (!subsetting_required) {
+ // phased_hc_het_ct := popcount(phasepresent & (~dosage_present))
+ phased_hc_het_ct = raw_phasepresent_ct - PopcountWordsIntersect(raw_phasepresent, raw_dosage_present, raw_sample_ctl);
+
+ for (uint32_t widx = 0; widx != raw_sample_ctl; ++widx) {
+ uintptr_t dosage_present_word = raw_dosage_present[widx];
+ if (dosage_present_word) {
+ const uintptr_t phasepresent_word = raw_phasepresent[widx];
+ do {
+ const uintptr_t cur_dosage_val = CopyFromUnalignedIncrU16ZX(&dosage_main_biter);
+ alt1_dosage += cur_dosage_val;
+ const uintptr_t lowbit = dosage_present_word & (-dosage_present_word);
+ hap_ssq_x2 += cur_dosage_val * cur_dosage_val;
+ if (lowbit & phasepresent_word) {
+ const uintptr_t homdist = 16384 - abs_i32(16384 - cur_dosage_val);
+ hap_ssq_x2 += homdist * homdist;
+ }
+ dosage_present_word ^= lowbit;
+ } while (dosage_present_word);
+ }
+ }
+ dosage_ct = raw_dosage_ct;
+ GenoarrCountSubsetFreqs2(raw_genovec, raw_dosage_present, raw_sample_ct, raw_dosage_ct, replaced_genocounts);
+ } else {
+ for (uint32_t widx = 0; widx != raw_sample_ctl; ++widx) {
+ const uintptr_t sample_include_word = sample_include[widx];
+ uintptr_t dosage_present_word = raw_dosage_present[widx];
+ if (!sample_include_word) {
+ dosage_main_biter = &(dosage_main_biter[PopcountWord(dosage_present_word) * sizeof(int16_t)]);
+ continue;
+ }
+ const uintptr_t phasepresent_word = raw_phasepresent[widx];
+ phased_hc_het_ct += PopcountWord(sample_include_word & phasepresent_word & (~dosage_present_word));
+ while (dosage_present_word) {
+ const uintptr_t lowbit = dosage_present_word & (-dosage_present_word);
+ if (lowbit & sample_include_word) {
+ const uintptr_t cur_dosage_val = CopyFromUnalignedU16ZX(dosage_main_biter);
+ alt1_dosage += cur_dosage_val;
+ hap_ssq_x2 += cur_dosage_val * cur_dosage_val;
+ ++dosage_ct;
+ if (lowbit & phasepresent_word) {
+ const uintptr_t homdist = 16384 - abs_i32(16384 - cur_dosage_val);
+ hap_ssq_x2 += homdist * homdist;
+ }
+ }
+ dosage_present_word ^= lowbit;
+ dosage_main_biter += sizeof(int16_t);
+ }
+ }
+ GenoarrCountSubsetIntersectFreqs(raw_genovec, raw_dosage_present, sample_include, raw_sample_ct, replaced_genocounts);
+ }
+ }
+ } else {
+ if (is_unconditional_dosage) {
+ if (PtrCheck(fread_end, fread_ptr, raw_sample_ct * sizeof(int16_t))) {
+ return kPglRetMalformedInput;
+ }
+ const unsigned char* dphase_delta_read = fread_ptr;
+ if (!subsetting_required) {
+ for (uint32_t sample_uidx = 0; sample_uidx != raw_sample_ct; ++sample_uidx) {
+ const uintptr_t cur_dosage_val = CopyFromUnalignedOffsetU16ZX(dosage_main_read, sample_uidx);
+ if (cur_dosage_val != 65535) {
+ alt1_dosage += cur_dosage_val;
+ hap_ssq_x2 += cur_dosage_val * cur_dosage_val;
+ ++dosage_ct;
+ // .pgen specification now requires this value to never be missing.
+ const intptr_t dphase_delta_val = CopyFromUnalignedOffsetI16ZX(dphase_delta_read, sample_uidx);
+ hap_ssq_x2 += dphase_delta_val * dphase_delta_val;
+ }
+ }
+ } else {
+ for (uint32_t widx = 0; widx != raw_sample_ctl; ++widx) {
+ uintptr_t sample_include_word = sample_include[widx];
+ if (!sample_include_word) {
+ continue;
+ }
+ const unsigned char* cur_dosage_main = &(dosage_main_read[widx * kBitsPerWord * sizeof(int16_t)]);
+ const unsigned char* cur_dphase_delta = &(dphase_delta_read[widx * kBitsPerWord * sizeof(int16_t)]);
+ do {
+ const uint32_t sample_idx_lowbits = ctzw(sample_include_word);
+ const uintptr_t cur_dosage_val = CopyFromUnalignedOffsetU16ZX(cur_dosage_main, sample_idx_lowbits);
+ if (cur_dosage_val != 65535) {
+ alt1_dosage += cur_dosage_val;
+ hap_ssq_x2 += cur_dosage_val * cur_dosage_val;
+ ++dosage_ct;
+ const intptr_t dphase_delta_val = CopyFromUnalignedOffsetI16ZX(cur_dphase_delta, sample_idx_lowbits);
+ hap_ssq_x2 += dphase_delta_val * dphase_delta_val;
+ }
+ sample_include_word &= sample_include_word - 1;
+ } while (sample_include_word);
+ }
+ }
+ STD_ARRAY_COPY(genocounts, 4, replaced_genocounts);
+ replaced_genocounts[3] = replaced_genocounts[3] + dosage_ct - sample_ct;
+ } else {
+ const unsigned char* file_dphase_present = fread_ptr;
+ const uint32_t raw_dosage_ctb = DivUp(raw_dosage_ct, CHAR_BIT);
+ if (PtrAddCk(fread_end, raw_dosage_ctb, &fread_ptr)) {
+ return kPglRetMalformedInput;
+ }
+ const uint32_t raw_dphase_ct = PopcountBytes(file_dphase_present, raw_dosage_ctb);
+ if (PtrCheck(fread_end, fread_ptr, raw_dphase_ct * sizeof(int16_t))) {
+ return kPglRetMalformedInput;
+ }
+ uintptr_t* raw_dphase_present = pgrp->workspace_dphase_present;
+ ExpandBytearr(file_dphase_present, raw_dosage_present, raw_sample_ctl, raw_dosage_ct, 0, raw_dphase_present);
+ const unsigned char* dphase_delta_biter = fread_ptr;
+ if (!subsetting_required) {
+ phased_hc_het_ct = raw_phasepresent_ct - PopcountWordsIntersect(raw_phasepresent, raw_dosage_present, raw_sample_ctl);
+
+ for (uint32_t widx = 0; widx != raw_sample_ctl; ++widx) {
+ uintptr_t dosage_present_word = raw_dosage_present[widx];
+ if (dosage_present_word) {
+ const uintptr_t phasepresent_word = raw_phasepresent[widx];
+ const uintptr_t dphase_present_word = raw_dphase_present[widx];
+ do {
+ const uintptr_t cur_dosage_val = CopyFromUnalignedIncrU16ZX(&dosage_main_biter);
+ alt1_dosage += cur_dosage_val;
+ const uintptr_t lowbit = dosage_present_word & (-dosage_present_word);
+ hap_ssq_x2 += cur_dosage_val * cur_dosage_val;
+ if (lowbit & dphase_present_word) {
+ const intptr_t dphase_delta_val = CopyFromUnalignedIncrI16ZX(&dphase_delta_biter);
+ hap_ssq_x2 += dphase_delta_val * dphase_delta_val;
+ } else if (lowbit & phasepresent_word) {
+ const uintptr_t homdist = 16384 - abs_i32(16384 - cur_dosage_val);
+ hap_ssq_x2 += homdist * homdist;
+ }
+ dosage_present_word ^= lowbit;
+ } while (dosage_present_word);
+ }
+ }
+ dosage_ct = raw_dosage_ct;
+ GenoarrCountSubsetFreqs2(raw_genovec, raw_dosage_present, raw_sample_ct, raw_dosage_ct, replaced_genocounts);
+ } else {
+ for (uint32_t widx = 0; widx != raw_sample_ctl; ++widx) {
+ const uintptr_t sample_include_word = sample_include[widx];
+ const uintptr_t dphase_present_word = raw_dphase_present[widx];
+ uintptr_t dosage_present_word = raw_dosage_present[widx];
+ if (!sample_include_word) {
+ dosage_main_biter = &(dosage_main_biter[PopcountWord(dosage_present_word) * sizeof(int16_t)]);
+ dphase_delta_biter = &(dphase_delta_biter[PopcountWord(dphase_present_word) * sizeof(int16_t)]);
+ continue;
+ }
+ const uintptr_t phasepresent_word = raw_phasepresent[widx];
+ phased_hc_het_ct += PopcountWord(sample_include_word & phasepresent_word & (~dosage_present_word));
+ while (dosage_present_word) {
+ const uintptr_t lowbit = dosage_present_word & (-dosage_present_word);
+ const uintptr_t dphase_here = lowbit & dphase_present_word;
+ if (lowbit & sample_include_word) {
+ const uintptr_t cur_dosage_val = CopyFromUnalignedU16ZX(dosage_main_biter);
+ alt1_dosage += cur_dosage_val;
+ hap_ssq_x2 += cur_dosage_val * cur_dosage_val;
+ ++dosage_ct;
+ if (dphase_here) {
+ const intptr_t dphase_delta_val = CopyFromUnalignedI16ZX(dphase_delta_biter);
+ hap_ssq_x2 += dphase_delta_val * dphase_delta_val;
+ } else if (lowbit & phasepresent_word) {
+ const uintptr_t homdist = 16384 - abs_i32(16384 - cur_dosage_val);
+ hap_ssq_x2 += homdist * homdist;
+ }
+ }
+ dphase_delta_biter += (dphase_here != 0) * sizeof(int16_t);
+ dosage_present_word ^= lowbit;
+ dosage_main_biter += sizeof(int16_t);
+ }
+ }
+ GenoarrCountSubsetIntersectFreqs(raw_genovec, raw_dosage_present, sample_include, raw_sample_ct, replaced_genocounts);
+ }
+ }
+ }
+ const uint32_t replaced_ct = replaced_genocounts[0] + replaced_genocounts[1] + replaced_genocounts[2];
+ const uint32_t remaining_het_ct = genocounts[1] - replaced_genocounts[1];
+ const uint32_t remaining_hom_alt_ct = genocounts[2] - replaced_genocounts[2];
+ const uint32_t alt1_ct = 2 * remaining_hom_alt_ct + remaining_het_ct;
+ alt1_dosage += alt1_ct * 16384LLU;
+ all_dosages[1] = alt1_dosage;
+ const uint32_t nondosage_nm_ct = sample_ct - genocounts[3] - replaced_ct;
+ const uint32_t new_sample_nm_ct = dosage_ct + nondosage_nm_ct;
+ all_dosages[0] = new_sample_nm_ct * 32768LLU - alt1_dosage;
+ hap_ssq_x2 += (remaining_het_ct + phased_hc_het_ct) * 0x10000000LLU + remaining_hom_alt_ct * 0x40000000LLU;
+ *imp_r2_ptr = BiallelicDiploidMinimac3R2(alt1_dosage, hap_ssq_x2, new_sample_nm_ct);
+ return kPglRetSuccess;
+}
+
+PglErr PgrGetDCounts(const uintptr_t* __restrict sample_include, const uintptr_t* __restrict sample_include_interleaved_vec, PgrSampleSubsetIndex pssi, uint32_t sample_ct, uint32_t vidx, uint32_t is_minimac3_r2, PgenReader* pgr_ptr, double* imp_r2_ptr, STD_ARRAY_REF(uint32_t, 4) genocounts, uint64_t* __restrict all_dosages) {
+ if (!sample_ct) {
+ STD_ARRAY_REF_FILL0(4, genocounts);
+ all_dosages[0] = 0;
+ all_dosages[1] = 0;
+ if (imp_r2_ptr) {
+ *imp_r2_ptr = 0.0 / 0.0;
+ }
+ return kPglRetSuccess;
+ }
+ PgenReaderMain* pgrp = GetPgrp(pgr_ptr);
+ assert(vidx < pgrp->fi.raw_variant_ct);
+ return GetBasicGenotypeCountsAndDosage16s(sample_include, sample_include_interleaved_vec, GetSicp(pssi), sample_ct, vidx, is_minimac3_r2, pgrp, imp_r2_ptr, genocounts, all_dosages);
+}
+
+// Does not zero-initialize results[].
+void CountAllBytes64(const void* bytearr, uintptr_t byte_ct, uint64_t* __restrict results) {
+ const unsigned char* bytearr_uc = S_CAST(const unsigned char*, bytearr);
+ for (uintptr_t ulii = 0; ulii != byte_ct; ++ulii) {
+ results[bytearr_uc[ulii]] += 1;
+ }
+}
+
+// Does not zero-initialize results[].
+void CountAllNybbles64(const void* nybblearr, uintptr_t nybble_ct, uint64_t* __restrict results) {
+ // possible todo: for sufficiently large nybble_ct, use CountAllBytes and
+ // then postprocess
+ const uintptr_t fullbyte_ct = nybble_ct / 2;
+ const unsigned char* nybblearr_uc = S_CAST(const unsigned char*, nybblearr);
+ for (uintptr_t ulii = 0; ulii != fullbyte_ct; ++ulii) {
+ const uint32_t uii = nybblearr_uc[ulii];
+ results[uii & 15] += 1;
+ results[uii >> 4] += 1;
+ }
+ if (nybble_ct % 2) {
+ results[nybblearr_uc[fullbyte_ct] & 15] += 1;
+ }
+}
+
+void CountAllAux1aDense(const void* patch_01_fvals, uint32_t allele_ct, uint32_t rare01_ct, uint64_t* __restrict one_cts) {
+ one_cts[1] -= rare01_ct;
+ if (allele_ct < 5) {
+ if (allele_ct == 3) {
+ // all entries are 0/1 -> 0/2
+ one_cts[2] = rare01_ct;
+ return;
+ }
+ const uint32_t allele_code_byte_ct = DivUp(rare01_ct, 8);
+ const uint32_t alt3_ct = PopcountBytes(patch_01_fvals, allele_code_byte_ct);
+ one_cts[2] = rare01_ct - alt3_ct;
+ one_cts[3] = alt3_ct;
+ return;
+ }
+ if (allele_ct < 19) {
+ if (allele_ct < 7) {
+ STD_ARRAY_DECL(uint32_t, 4, rare0het_counts);
+#ifndef NO_UNALIGNED
+ GenoarrCountFreqs(S_CAST(const uintptr_t*, patch_01_fvals), rare01_ct, rare0het_counts);
+#else
+ GenoarrbCountFreqs(S_CAST(const unsigned char*, patch_01_fvals), rare01_ct, rare0het_counts);
+#endif
+ for (uint32_t allele_idx_p2 = 2; allele_idx_p2 != allele_ct; ++allele_idx_p2) {
+ one_cts[allele_idx_p2] = rare0het_counts[allele_idx_p2 - 2];
+ }
+ return;
+ }
+ CountAllNybbles64(patch_01_fvals, rare01_ct, &(one_cts[2]));
+ return;
+ }
+ CountAllBytes64(patch_01_fvals, rare01_ct, &(one_cts[2]));
+}
+
+// assumes one_cts[1] initialized to genocounts[1]
+// sample_include should be nullptr if we aren't subsetting
+PglErr CountAllAux1a(const unsigned char* fread_end, const uintptr_t* __restrict sample_include, const uintptr_t* __restrict raw_genoarr, uint32_t aux1a_mode, uint32_t raw_sample_ct, uint32_t allele_ct, uint32_t raw_01_ct, const unsigned char** fread_pp, uint64_t* __restrict one_cts, uint32_t* __restrict deltalist_workspace) {
+ if (aux1a_mode == 15) {
+ return kPglRetSuccess;
+ }
+ if (!sample_include) {
+ uint32_t rare01_ct;
+ if (!aux1a_mode) {
+ const uint32_t fset_byte_ct = DivUp(raw_01_ct, CHAR_BIT);
+ rare01_ct = PopcountBytes(*fread_pp, fset_byte_ct);
+ *fread_pp += fset_byte_ct;
+ } else {
+ const unsigned char* group_info_iter;
+ PglErr reterr = ParseDifflistHeader(fread_end, raw_sample_ct, fread_pp, nullptr, &group_info_iter, &rare01_ct);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ reterr = SkipDeltalistIds(fread_end, group_info_iter, rare01_ct, raw_sample_ct, 0, fread_pp);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ }
+ const unsigned char* patch_01_fvals = *fread_pp;
+ const uint32_t fvals_byte_ct = GetAux1aAlleleEntryByteCt(allele_ct, rare01_ct);
+ if (PtrAddCk(fread_end, fvals_byte_ct, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ CountAllAux1aDense(patch_01_fvals, allele_ct, rare01_ct, one_cts);
+ return kPglRetSuccess;
+ }
+ const uint32_t allele_code_width = GetAux1aWidth(allele_ct);
+ const uintptr_t allele_code_mask = (1U << allele_code_width) - 1;
+ uint64_t* one_cts_offset2 = &(one_cts[2]);
+ if (!aux1a_mode) {
+ const uint32_t fset_byte_ct = DivUp(raw_01_ct, CHAR_BIT);
+ const uint32_t rare01_ct = PopcountBytes(*fread_pp, fset_byte_ct);
+ const unsigned char* patch_01_fset = *fread_pp;
+ *fread_pp += fset_byte_ct;
+ const unsigned char* patch_01_fvals = *fread_pp;
+ const uint32_t fvals_byte_ct = DivUpU64(S_CAST(uint64_t, rare01_ct) * allele_code_width, 8);
+ if (PtrAddCk(fread_end, fvals_byte_ct, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ const Halfword* sample_include_hw = DowncastKWToHW(sample_include);
+ uintptr_t sample_hwidx = 0;
+ uintptr_t cur_raw_genoarr_hets = Word01(raw_genoarr[0]);
+ const uint32_t fset_word_ct_m1 = (fset_byte_ct - 1) / kBytesPerWord;
+ const uint32_t fvals_word_ct_m1 = (fvals_byte_ct - 1) / kBytesPerWord;
+ uintptr_t fvals_bits = 0;
+ uint32_t fvals_widx = 0;
+ uint32_t subsetted_rare01_ct = 0;
+ uint32_t loop_len = kBitsPerWord;
+ uint32_t rare01_lowbits = kBitsPerWord;
+ for (uint32_t fset_widx = 0; ; ++fset_widx) {
+ uintptr_t fset_bits;
+ if (fset_widx >= fset_word_ct_m1) {
+ if (fset_widx > fset_word_ct_m1) {
+ break;
+ }
+ fset_bits = SubwordLoad(&(patch_01_fset[fset_word_ct_m1 * kBytesPerWord]), ModNz(fset_byte_ct, kBytesPerWord));
+ loop_len = ModNz(raw_01_ct, kBitsPerWord);
+ } else {
+ CopyFromUnalignedOffsetW(&fset_bits, patch_01_fset, fset_widx);
+ }
+ if (allele_ct == 3) {
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ while (!cur_raw_genoarr_hets) {
+ cur_raw_genoarr_hets = Word01(raw_genoarr[++sample_hwidx]);
+ }
+ if (fset_bits & 1) {
+ const uint32_t sample_uidx_lowbits = ctzw(cur_raw_genoarr_hets) / 2;
+ subsetted_rare01_ct += (sample_include_hw[sample_hwidx] >> sample_uidx_lowbits) & 1;
+ }
+ cur_raw_genoarr_hets &= cur_raw_genoarr_hets - 1;
+ fset_bits = fset_bits >> 1;
+ }
+ } else {
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ while (!cur_raw_genoarr_hets) {
+ cur_raw_genoarr_hets = Word01(raw_genoarr[++sample_hwidx]);
+ }
+ if (fset_bits & 1) {
+ if (rare01_lowbits == kBitsPerWord) {
+ if (fvals_widx == fvals_word_ct_m1) {
+ fvals_bits = SubwordLoad(&(patch_01_fvals[fvals_widx * kBytesPerWord]), ModNz(fvals_byte_ct, kBytesPerWord));
+ } else {
+ CopyFromUnalignedOffsetW(&fvals_bits, patch_01_fvals, fvals_widx);
+ }
+ // unnecessary to apply bzhi here
+ ++fvals_widx;
+ rare01_lowbits = 0;
+ }
+ const uint32_t sample_uidx_lowbits = ctzw(cur_raw_genoarr_hets) / 2;
+ if (sample_include_hw[sample_hwidx] & (1U << sample_uidx_lowbits)) {
+ ++subsetted_rare01_ct;
+ one_cts_offset2[(fvals_bits >> rare01_lowbits) & allele_code_mask] += 1;
+ }
+ rare01_lowbits += allele_code_width;
+ }
+ cur_raw_genoarr_hets &= cur_raw_genoarr_hets - 1;
+ fset_bits = fset_bits >> 1;
+ }
+ }
+ }
+ one_cts_offset2[-1] -= subsetted_rare01_ct;
+ if (allele_ct == 3) {
+ one_cts_offset2[0] = subsetted_rare01_ct;
+ }
+ return kPglRetSuccess;
+ }
+ // mode 1: difflist.
+ if (allele_ct == 3) {
+ // Use CountDeltalistIntersect shortcut here.
+ uint32_t subsetted_02_ct;
+ uint32_t rare01_ct;
+ PglErr reterr = CountDeltalistIntersect(fread_end, sample_include, raw_sample_ct, fread_pp, &subsetted_02_ct, &rare01_ct);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ one_cts_offset2[-1] -= subsetted_02_ct;
+ one_cts_offset2[0] = subsetted_02_ct;
+ return kPglRetSuccess;
+ }
+ // Save deltalist elements, iterate.
+ uint32_t rare01_ct;
+ PglErr reterr = ParseAndSaveDeltalist(fread_end, raw_sample_ct, fread_pp, deltalist_workspace, &rare01_ct);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ const unsigned char* patch_01_fvals = *fread_pp;
+ const uint32_t fvals_byte_ct = DivUpU64(S_CAST(uint64_t, rare01_ct) * allele_code_width, 8);
+ if (PtrAddCk(fread_end, fvals_byte_ct, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ const uint32_t fvals_word_ct_m1 = (fvals_byte_ct - 1) / kBytesPerWord;
+ const uint32_t allele_code_logwidth = ctzu32(allele_code_width);
+ uint32_t subsetted_rare01_ct = 0;
+ uint32_t loop_len = kBitsPerWord >> allele_code_logwidth;
+ for (uint32_t fvals_widx = 0; ; ++fvals_widx) {
+ uintptr_t fvals_bits;
+ if (fvals_widx >= fvals_word_ct_m1) {
+ if (fvals_widx > fvals_word_ct_m1) {
+ break;
+ }
+ fvals_bits = SubwordLoad(&(patch_01_fvals[fvals_widx * kBytesPerWord]), ModNz(fvals_byte_ct, kBytesPerWord));
+ loop_len = 1 + ((rare01_ct - 1) & (loop_len - 1));
+ } else {
+ CopyFromUnalignedOffsetW(&fvals_bits, patch_01_fvals, fvals_widx);
+ }
+ const uint32_t* cur_deltalist_base = &(deltalist_workspace[fvals_widx << (kBitsPerWordLog2 - allele_code_logwidth)]);
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ const uint32_t sample_uidx = cur_deltalist_base[uii];
+ if (IsSet(sample_include, sample_uidx)) {
+ ++subsetted_rare01_ct;
+ one_cts_offset2[(fvals_bits >> (uii << allele_code_logwidth)) & allele_code_mask] += 1;
+ }
+ }
+ }
+ one_cts_offset2[-1] -= subsetted_rare01_ct;
+ return kPglRetSuccess;
+}
+
+void CountAllAux1bDense(const void* __restrict patch_10_fvals, uint32_t allele_ct, uint32_t rare10_ct, uint64_t* __restrict one_cts_offset1, uint64_t* __restrict two_cts_offset1) {
+ // probable todo: faster path if two_cts_offset1 == nullptr
+ const uint32_t allele_ct_m1 = allele_ct - 1;
+ two_cts_offset1[0] -= rare10_ct;
+ if (allele_ct_m1 < 5) {
+ if (allele_ct_m1 == 2) {
+ const uint32_t allele_code_byte_ct = DivUp(rare10_ct, 8);
+ const uint32_t hom22_ct = PopcountBytes(patch_10_fvals, allele_code_byte_ct);
+ const uint32_t het12_ct = rare10_ct - hom22_ct;
+ one_cts_offset1[0] += het12_ct;
+ one_cts_offset1[1] += het12_ct;
+ two_cts_offset1[1] = hom22_ct;
+ return;
+ }
+ STD_ARRAY_DECL(uint32_t, 4, alt_counts);
+#ifndef NO_UNALIGNED
+ GenoarrCountFreqs(S_CAST(const uintptr_t*, patch_10_fvals), rare10_ct * 2, alt_counts);
+#else
+ GenoarrbCountFreqs(S_CAST(const unsigned char*, patch_10_fvals), rare10_ct * 2, alt_counts);
+#endif
+ one_cts_offset1[0] += alt_counts[0];
+ for (uint32_t allele_idx_m1 = 1; allele_idx_m1 != allele_ct_m1; ++allele_idx_m1) {
+ const uint32_t homxx_ct = CountNybble(S_CAST(const unsigned char*, patch_10_fvals), allele_idx_m1 * kMask5555, rare10_ct);
+ one_cts_offset1[allele_idx_m1] += alt_counts[allele_idx_m1] - 2 * homxx_ct;
+ two_cts_offset1[allele_idx_m1] = homxx_ct;
+ }
+ return;
+ }
+ const unsigned char* patch_10_fvals_uc = S_CAST(const unsigned char*, patch_10_fvals);
+ if (allele_ct_m1 < 17) {
+ // for larger rare10_ct, this should use a byte counter
+ for (uint32_t uii = 0; uii != rare10_ct; ++uii) {
+ const uint32_t cur_byte = patch_10_fvals_uc[uii];
+ const uint32_t cur_byte_hi = cur_byte >> 4;
+ const uint32_t cur_byte_lo = cur_byte & 15;
+ if (cur_byte_hi == cur_byte_lo) {
+ two_cts_offset1[cur_byte_lo] += 1;
+ } else {
+ one_cts_offset1[cur_byte_lo] += 1;
+ one_cts_offset1[cur_byte_hi] += 1;
+ }
+ }
+ return;
+ }
+ for (uint32_t uii = 0; uii != rare10_ct; ++uii) {
+ const uint32_t cur_byte_lo = patch_10_fvals_uc[2 * uii];
+ const uint32_t cur_byte_hi = patch_10_fvals_uc[2 * uii + 1];
+ if (cur_byte_hi == cur_byte_lo) {
+ two_cts_offset1[cur_byte_lo] += 1;
+ } else {
+ one_cts_offset1[cur_byte_lo] += 1;
+ one_cts_offset1[cur_byte_hi] += 1;
+ }
+ }
+}
+
+PglErr CountAllAux1b(const unsigned char* fread_end, const uintptr_t* __restrict sample_include, const uintptr_t* __restrict raw_genoarr, uint32_t aux1b_mode, uint32_t raw_sample_ct, uint32_t allele_ct, uint32_t raw_10_ct, const unsigned char** fread_pp, uint64_t* __restrict one_cts, uint64_t* __restrict two_cts, uint32_t* __restrict deltalist_workspace) {
+ if (aux1b_mode == 15) {
+ return kPglRetSuccess;
+ }
+ uint64_t* one_cts_offset1 = &(one_cts[1]);
+ uint64_t* two_cts_offset1 = &(two_cts[1]);
+ if (!sample_include) {
+ uint32_t rare10_ct;
+ if (!aux1b_mode) {
+ const uint32_t fset_byte_ct = DivUp(raw_10_ct, CHAR_BIT);
+ rare10_ct = PopcountBytes(*fread_pp, fset_byte_ct);
+ *fread_pp += fset_byte_ct;
+ } else {
+ const unsigned char* group_info_iter;
+ PglErr reterr = ParseDifflistHeader(fread_end, raw_sample_ct, fread_pp, nullptr, &group_info_iter, &rare10_ct);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ reterr = SkipDeltalistIds(fread_end, group_info_iter, rare10_ct, raw_sample_ct, 0, fread_pp);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ }
+ const unsigned char* patch_10_fvals = *fread_pp;
+ const uint32_t fvals_byte_ct = GetAux1bAlleleEntryByteCt(allele_ct, rare10_ct);
+ if (PtrAddCk(fread_end, fvals_byte_ct, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ CountAllAux1bDense(patch_10_fvals, allele_ct, rare10_ct, one_cts_offset1, two_cts_offset1);
+ return kPglRetSuccess;
+ }
+ uintptr_t detect_hom_mask_lo; // unused
+ const uint32_t allele_code_logwidth = GetAux1bConsts(allele_ct, &detect_hom_mask_lo);
+ const uint32_t code10_logwidth = allele_code_logwidth + (allele_code_logwidth != 0);
+ const uint32_t allele_code_width = 1U << allele_code_logwidth;
+ const uint32_t allele_code_mask = (1U << allele_code_width) - 1;
+ const uint32_t allele_ct_m1 = allele_ct - 1;
+ uint32_t rare10_lowbits = kBitsPerWord;
+ // probable todo: faster paths when two_cts_offset1 == nullptr
+ if (!aux1b_mode) {
+ const uint32_t fset_byte_ct = DivUp(raw_10_ct, CHAR_BIT);
+ const uint32_t rare10_ct = PopcountBytes(*fread_pp, fset_byte_ct);
+ const unsigned char* patch_10_fset = *fread_pp;
+ *fread_pp += fset_byte_ct;
+ const unsigned char* patch_10_fvals = *fread_pp;
+ const uint32_t fvals_byte_ct = DivUpU64(S_CAST(uint64_t, rare10_ct) << code10_logwidth, 8);
+ if (PtrAddCk(fread_end, fvals_byte_ct, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ const Halfword* sample_include_hw = DowncastKWToHW(sample_include);
+ uintptr_t sample_hwidx = 0;
+ uintptr_t cur_raw_genoarr_xys = Word10(raw_genoarr[0]);
+ const uint32_t fset_word_ct_m1 = (fset_byte_ct - 1) / kBytesPerWord;
+ const uint32_t fvals_word_ct_m1 = (fvals_byte_ct - 1) / kBytesPerWord;
+ const uint32_t code10_width = 1U << code10_logwidth;
+ uintptr_t fvals_bits = 0;
+ uint32_t fvals_widx = 0;
+ uint32_t subsetted_rare10_ct = 0;
+ uint32_t loop_len = kBitsPerWord;
+ for (uint32_t fset_widx = 0; ; ++fset_widx) {
+ uintptr_t fset_bits;
+ if (fset_widx >= fset_word_ct_m1) {
+ if (fset_widx > fset_word_ct_m1) {
+ break;
+ }
+ fset_bits = SubwordLoad(&(patch_10_fset[fset_word_ct_m1 * kBytesPerWord]), ModNz(fset_byte_ct, kBytesPerWord));
+ loop_len = ModNz(raw_10_ct, kBitsPerWord);
+ } else {
+ CopyFromUnalignedOffsetW(&fset_bits, patch_10_fset, fset_widx);
+ }
+ if (allele_ct_m1 == 2) {
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ while (!cur_raw_genoarr_xys) {
+ cur_raw_genoarr_xys = Word10(raw_genoarr[++sample_hwidx]);
+ }
+ if (fset_bits & 1) {
+ if (rare10_lowbits == kBitsPerWord) {
+ if (fvals_widx == fvals_word_ct_m1) {
+ fvals_bits = SubwordLoad(&(patch_10_fvals[fvals_widx * kBytesPerWord]), ModNz(fvals_byte_ct, kBytesPerWord));
+ } else {
+ CopyFromUnalignedOffsetW(&fvals_bits, patch_10_fvals, fvals_widx);
+ }
+ // unnecessary to apply bzhi here
+ ++fvals_widx;
+ rare10_lowbits = 0;
+ }
+ const uint32_t sample_uidx_lowbits = ctzw(cur_raw_genoarr_xys) / 2;
+ if (sample_include_hw[sample_hwidx] & (1U << sample_uidx_lowbits)) {
+ ++subsetted_rare10_ct;
+ two_cts_offset1[1] += (fvals_bits >> rare10_lowbits) & 1;
+ }
+ ++rare10_lowbits;
+ }
+ cur_raw_genoarr_xys &= cur_raw_genoarr_xys - 1;
+ fset_bits = fset_bits >> 1;
+ }
+ } else {
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ while (!cur_raw_genoarr_xys) {
+ cur_raw_genoarr_xys = Word10(raw_genoarr[++sample_hwidx]);
+ }
+ if (fset_bits & 1) {
+ if (rare10_lowbits == kBitsPerWord) {
+ if (fvals_widx == fvals_word_ct_m1) {
+ fvals_bits = SubwordLoad(&(patch_10_fvals[fvals_widx * kBytesPerWord]), ModNz(fvals_byte_ct, kBytesPerWord));
+ } else {
+ CopyFromUnalignedOffsetW(&fvals_bits, patch_10_fvals, fvals_widx);
+ }
+ // unnecessary to apply bzhi here
+ ++fvals_widx;
+ rare10_lowbits = 0;
+ }
+ const uint32_t sample_uidx_lowbits = ctzw(cur_raw_genoarr_xys) / 2;
+ if (sample_include_hw[sample_hwidx] & (1U << sample_uidx_lowbits)) {
+ ++subsetted_rare10_ct;
+ const uintptr_t cur_code_pair = fvals_bits >> rare10_lowbits;
+ const uint32_t cur_code_hi = (cur_code_pair >> allele_code_width) & allele_code_mask;
+ const uint32_t cur_code_lo = cur_code_pair & allele_code_mask;
+ if (cur_code_hi == cur_code_lo) {
+ two_cts_offset1[cur_code_lo] += 1;
+ } else {
+ one_cts_offset1[cur_code_lo] += 1;
+ one_cts_offset1[cur_code_hi] += 1;
+ }
+ }
+ rare10_lowbits += code10_width;
+ }
+ cur_raw_genoarr_xys &= cur_raw_genoarr_xys - 1;
+ fset_bits = fset_bits >> 1;
+ }
+ }
+ }
+ two_cts_offset1[0] -= subsetted_rare10_ct;
+ if (allele_ct == 3) {
+ const uint32_t subsetted_het12_ct = subsetted_rare10_ct - two_cts_offset1[1];
+ one_cts_offset1[0] += subsetted_het12_ct;
+ one_cts_offset1[1] += subsetted_het12_ct;
+ }
+ return kPglRetSuccess;
+ }
+ // Save deltalist elements, iterate.
+ uint32_t rare10_ct;
+ PglErr reterr = ParseAndSaveDeltalist(fread_end, raw_sample_ct, fread_pp, deltalist_workspace, &rare10_ct);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ const unsigned char* patch_10_fvals = *fread_pp;
+ const uint32_t fvals_byte_ct = DivUpU64(S_CAST(uint64_t, rare10_ct) << code10_logwidth, 8);
+ if (PtrAddCk(fread_end, fvals_byte_ct, fread_pp)) {
+ return kPglRetMalformedInput;
+ }
+ const uint32_t fvals_word_ct_m1 = (fvals_byte_ct - 1) / kBytesPerWord;
+ uint32_t subsetted_rare10_ct = 0;
+ uint32_t loop_len = kBitsPerWord >> code10_logwidth;
+ for (uint32_t fvals_widx = 0; ; ++fvals_widx) {
+ uintptr_t fvals_bits;
+ if (fvals_widx >= fvals_word_ct_m1) {
+ if (fvals_widx > fvals_word_ct_m1) {
+ break;
+ }
+ fvals_bits = SubwordLoad(&(patch_10_fvals[fvals_widx * kBytesPerWord]), ModNz(fvals_byte_ct, kBytesPerWord));
+ loop_len = 1 + ((rare10_ct - 1) & (loop_len - 1));
+ } else {
+ CopyFromUnalignedOffsetW(&fvals_bits, patch_10_fvals, fvals_widx);
+ }
+ const uint32_t* cur_deltalist_base = &(deltalist_workspace[fvals_widx << (kBitsPerWordLog2 - code10_logwidth)]);
+ if (allele_ct == 3) {
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ const uint32_t sample_uidx = cur_deltalist_base[uii];
+ if (IsSet(sample_include, sample_uidx)) {
+ ++subsetted_rare10_ct;
+ two_cts_offset1[1] += (fvals_bits >> uii) & 1;
+ }
+ }
+ } else {
+ for (uint32_t uii = 0; uii != loop_len; ++uii) {
+ const uint32_t sample_uidx = cur_deltalist_base[uii];
+ if (IsSet(sample_include, sample_uidx)) {
+ ++subsetted_rare10_ct;
+ const uintptr_t cur_code_pair = fvals_bits >> (uii << code10_logwidth);
+ const uint32_t cur_code_hi = (cur_code_pair >> allele_code_width) & allele_code_mask;
+ const uint32_t cur_code_lo = cur_code_pair & allele_code_mask;
+ if (cur_code_hi == cur_code_lo) {
+ two_cts_offset1[cur_code_lo] += 1;
+ } else {
+ one_cts_offset1[cur_code_lo] += 1;
+ one_cts_offset1[cur_code_hi] += 1;
+ }
+ }
+ }
+ }
+ }
+ two_cts_offset1[0] -= subsetted_rare10_ct;
+ if (allele_ct == 3) {
+ const uint32_t subsetted_het12_ct = subsetted_rare10_ct - two_cts_offset1[1];
+ one_cts_offset1[0] += subsetted_het12_ct;
+ one_cts_offset1[1] += subsetted_het12_ct;
+ }
+ return kPglRetSuccess;
+}
+
+PglErr GetMultiallelicCountsAndDosage16s(const uintptr_t* __restrict sample_include, const uintptr_t* __restrict sample_include_interleaved_vec, uint32_t sample_ct, uint32_t vidx, uint32_t allele_ct, __maybe_unused uint32_t is_minimac3_r2, PgenReaderMain* pgrp, double* __restrict imp_r2_ptr, uint32_t* __restrict het_ctp, STD_ARRAY_REF(uint32_t, 4) genocounts, uint64_t* all_dosages) {
+ // only called on multiallelic variants
+ // no dosages for now
+ const uint32_t vrtype = GetPgfiVrtype(&(pgrp->fi), vidx);
+ const uint32_t raw_sample_ct = pgrp->fi.raw_sample_ct;
+ const uint32_t subsetting_required = (sample_ct != raw_sample_ct);
+ uintptr_t* raw_genovec = pgrp->workspace_vec;
+ const unsigned char* fread_ptr;
+ const unsigned char* fread_end;
+ PglErr reterr = ReadRawGenovec(subsetting_required, vidx, pgrp, &fread_ptr, &fread_end, raw_genovec);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ ZeroTrailingNyps(raw_sample_ct, raw_genovec);
+ if (!subsetting_required) {
+ GenoarrCountFreqsUnsafe(raw_genovec, raw_sample_ct, genocounts);
+ sample_include = nullptr;
+ } else {
+ GenoarrCountSubsetFreqs(raw_genovec, sample_include_interleaved_vec, raw_sample_ct, sample_ct, genocounts);
+ }
+ uint64_t* one_cts = pgrp->workspace_imp_r2;
+ uint64_t* two_cts = &(one_cts[allele_ct]);
+ one_cts[0] = genocounts[1];
+ one_cts[1] = genocounts[1];
+ ZeroU64Arr(allele_ct - 2, &(one_cts[2]));
+ two_cts[0] = genocounts[0];
+ two_cts[1] = genocounts[2];
+ ZeroU64Arr(allele_ct - 2, &(two_cts[2]));
+ // Cases:
+ // - No hardcall-phase present. Then we don't need to know raw_het_ct.
+ // - No multiallelic dosages present, not computing minimac3-r2. Then we
+ // still don't need to know raw_het_ct.
+ // - Otherwise, we need to know raw_het_ct, either for the minimac3-r2
+ // computation or to locate the beginning of aux3/aux4.
+ // If we're computing minimac3-r2, AND
+ // (i) we're subsetting, or
+ // (ii) multiallelic dosages are present,
+ // it's also necessary to compute all_hets, either to compute correct
+ // subsetted minimac3-r2 or to know how many phased-hardcalls are
+ // overridden by phased dosages.
+ const uint32_t raw_het_ct_needed = VrtypeHphase(vrtype) && (is_minimac3_r2 || (vrtype & 0x60));
+ uintptr_t* all_hets = nullptr;
+ const uint32_t raw_sample_ctl = BitCtToWordCt(raw_sample_ct);
+ uint32_t raw_het_ct = genocounts[1]; // inaccurate, corrected later if needed
+ if (VrtypeMultiallelicHc(vrtype)) {
+ const uint32_t aux1_first_byte = *fread_ptr++;
+ const uint32_t aux1a_mode = aux1_first_byte & 15;
+ const uint32_t aux1b_mode = aux1_first_byte >> 4;
+ uint32_t raw_10_ct = 0;
+ if ((!aux1a_mode) || (!aux1b_mode) || sample_include) {
+ GenovecCount12Unsafe(raw_genovec, raw_sample_ct, &raw_het_ct, &raw_10_ct);
+ }
+ uint32_t* deltalist_workspace = pgrp->workspace_difflist_sample_ids;
+ reterr = CountAllAux1a(fread_end, sample_include, raw_genovec, aux1a_mode, raw_sample_ct, allele_ct, raw_het_ct, &fread_ptr, one_cts, deltalist_workspace);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ const unsigned char* aux1b_start = fread_ptr;
+ reterr = CountAllAux1b(fread_end, sample_include, raw_genovec, aux1b_mode, raw_sample_ct, allele_ct, raw_10_ct, &fread_ptr, one_cts, two_cts, deltalist_workspace);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ if (raw_het_ct_needed) {
+ if (!sample_include) {
+ raw_het_ct += genocounts[2];
+ for (uint32_t aidx = 1; aidx != allele_ct; ++aidx) {
+ raw_het_ct -= two_cts[aidx];
+ }
+ }
+ if (sample_include || (is_minimac3_r2 && (vrtype & 0x60))) {
+ all_hets = pgrp->workspace_all_hets;
+ PgrDetectGenoarrHets(raw_genovec, raw_sample_ct, all_hets);
+ if (aux1b_mode != 15) {
+ uintptr_t* aux1b_hets = pgrp->workspace_aux1x_present;
+ uint32_t aux1b_het_present;
+ reterr = GetAux1bHets(fread_end, raw_genovec, aux1b_mode, raw_sample_ct, allele_ct, raw_10_ct, &aux1b_start, aux1b_hets, &aux1b_het_present, deltalist_workspace);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ if (aux1b_het_present) {
+ BitvecOr(aux1b_hets, raw_sample_ctl, all_hets);
+ }
+ }
+ if (sample_include) {
+ raw_het_ct = PopcountWords(all_hets, raw_sample_ctl);
+ }
+ }
+ }
+ }
+ uintptr_t* raw_phasepresent = nullptr;
+ uint32_t extra_phased_het_ct = 0;
+ if (raw_het_ct_needed) {
+ if (!all_hets) {
+ reterr = SkipAux2(fread_end, raw_het_ct, &fread_ptr, is_minimac3_r2? (&extra_phased_het_ct) : nullptr);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ } else {
+ raw_phasepresent = pgrp->workspace_subset;
+ reterr = GetPhasepresentAndSkipPhaseinfo(fread_end, all_hets, raw_sample_ct, raw_het_ct, &fread_ptr, raw_phasepresent, &extra_phased_het_ct);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ if (sample_include) {
+ extra_phased_het_ct = PopcountWordsIntersect(raw_phasepresent, sample_include, raw_sample_ctl);
+ }
+ }
+ }
+ if (!(vrtype & 0x60)) {
+ uint32_t hom_hc_ct = 0;
+ for (uint32_t allele_idx = 0; allele_idx != allele_ct; ++allele_idx) {
+ const uint64_t cur_hom_ct = two_cts[allele_idx];
+ hom_hc_ct += cur_hom_ct;
+ const uint64_t two_dosage = cur_hom_ct * 0x8000LLU;
+ const uint64_t dosage_sum = one_cts[allele_idx] * 0x4000LLU + two_dosage;
+ all_dosages[allele_idx] = dosage_sum;
+ // Repurpose two_cts[] to store ssqs.
+ two_cts[allele_idx] = (dosage_sum + two_dosage) * 0x4000LLU;
+ }
+ const uint32_t nm_sample_ct = sample_ct - genocounts[3];
+ *het_ctp = nm_sample_ct - hom_hc_ct;
+ if (!imp_r2_ptr) {
+ return kPglRetSuccess;
+ }
+ *imp_r2_ptr = MultiallelicDiploidMinimac3R2(all_dosages, two_cts, nm_sample_ct, allele_ct, extra_phased_het_ct);
+ if (!is_minimac3_r2) {
+ *imp_r2_ptr *= 2;
+ }
+ return kPglRetSuccess;
+ }
+#ifndef PGENLIB_NOPRINT
+ fputs("dosages not yet supported by GetMultiallelicCountsAndDosage16s()\n", stderr);
+#endif
+ return kPglRetNotYetSupported;
+}
+
+PglErr PgrGetMDCounts(const uintptr_t* __restrict sample_include, const uintptr_t* __restrict sample_include_interleaved_vec, PgrSampleSubsetIndex pssi, uint32_t sample_ct, uint32_t vidx, uint32_t is_minimac3_r2, PgenReader* pgr_ptr, double* __restrict imp_r2_ptr, uint32_t* __restrict het_ctp, STD_ARRAY_REF(uint32_t, 4) genocounts, uint64_t* __restrict all_dosages) {
+ PgenReaderMain* pgrp = GetPgrp(pgr_ptr);
+ assert(vidx < pgrp->fi.raw_variant_ct);
+ const uintptr_t* allele_idx_offsets = pgrp->fi.allele_idx_offsets;
+ const uint32_t allele_ct = allele_idx_offsets? (allele_idx_offsets[vidx + 1] - allele_idx_offsets[vidx]) : 2;
+ if (!sample_ct) {
+ STD_ARRAY_REF_FILL0(4, genocounts);
+ ZeroU64Arr(allele_ct, all_dosages);
+ if (imp_r2_ptr) {
+ *imp_r2_ptr = 0.0 / 0.0;
+ }
+ return kPglRetSuccess;
+ }
+ const uint32_t* sample_include_cumulative_popcounts = GetSicp(pssi);
+ const uint32_t vrtype = GetPgfiVrtype(&(pgrp->fi), vidx);
+ if ((allele_ct == 2) || (!(vrtype & 0x68))) {
+ PglErr reterr = GetBasicGenotypeCountsAndDosage16s(sample_include, sample_include_interleaved_vec, sample_include_cumulative_popcounts, sample_ct, vidx, is_minimac3_r2, pgrp, imp_r2_ptr, genocounts, all_dosages);
+ *het_ctp = genocounts[1];
+ ZeroU64Arr(allele_ct - 2, &(all_dosages[2]));
+ return reterr;
+ }
+ return GetMultiallelicCountsAndDosage16s(sample_include, sample_include_interleaved_vec, sample_ct, vidx, allele_ct, is_minimac3_r2, pgrp, imp_r2_ptr, het_ctp, genocounts, all_dosages);
+}
+
+PglErr PgrGetMD(const uintptr_t* __restrict sample_include, PgrSampleSubsetIndex pssi, uint32_t sample_ct, uint32_t vidx, PgenReader* pgr_ptr, PgenVariant* pgvp) {
+ pgvp->patch_01_ct = 0;
+ pgvp->patch_10_ct = 0;
+ pgvp->dosage_ct = 0;
+ pgvp->multidosage_sample_ct = 0;
+ if (!sample_ct) {
+ return kPglRetSuccess;
+ }
+ PgenReaderMain* pgrp = GetPgrp(pgr_ptr);
+ const uint32_t* sample_include_cumulative_popcounts = GetSicp(pssi);
+ const uintptr_t* allele_idx_offsets = pgrp->fi.allele_idx_offsets;
+ const uint32_t allele_ct = allele_idx_offsets? (allele_idx_offsets[vidx + 1] - allele_idx_offsets[vidx]) : 2;
+ const uint32_t vrtype = GetPgfiVrtype(&(pgrp->fi), vidx);
+ if ((allele_ct == 2) || (!(vrtype & 0x68))) {
+ return IMPLPgrGetD(sample_include, sample_include_cumulative_popcounts, sample_ct, vidx, pgrp, pgvp->genovec, pgvp->dosage_present, pgvp->dosage_main, &(pgvp->dosage_ct));
+ }
+ const unsigned char* fread_ptr;
+ const unsigned char* fread_end;
+ uintptr_t* all_hets = VrtypeHphase(vrtype)? pgrp->workspace_all_hets : nullptr;
+ if (VrtypeMultiallelicHc(vrtype)) {
+ PglErr reterr = GetMultiallelicCodes(sample_include, sample_include_cumulative_popcounts, sample_ct, vidx, pgrp, all_hets? (&fread_ptr) : nullptr, all_hets? (&fread_end) : nullptr, all_hets, pgvp);
+ if (!(vrtype & 0x60)) {
+ return reterr;
+ }
+ } else {
+ // todo: ReadRawGenovec, etc.
+ }
+#ifndef PGENLIB_NOPRINT
+ fputs("true multiallelic dosages not yet supported by PgrGetMD()\n", stderr);
+#endif
+ return kPglRetNotYetSupported;
+}
+
+PglErr IMPLPgrGetDp(const uintptr_t* __restrict sample_include, const uint32_t* __restrict sample_include_cumulative_popcounts, uint32_t sample_ct, uint32_t vidx, PgenReaderMain* pgrp, PgenVariant* pgvp) {
+ assert(vidx < pgrp->fi.raw_variant_ct);
+ if (!sample_ct) {
+ pgvp->phasepresent_ct = 0;
+ pgvp->dosage_ct = 0;
+ pgvp->dphase_ct = 0;
+ return kPglRetSuccess;
+ }
+ const unsigned char* fread_ptr = nullptr;
+ const unsigned char* fread_end = nullptr;
+ const uint32_t vrtype = GetPgfiVrtype(&(pgrp->fi), vidx);
+ const uint32_t dosage_is_present = VrtypeDosage(vrtype);
+ PglErr reterr = ReadGenovecHphaseSubsetUnsafe(sample_include, sample_include_cumulative_popcounts, sample_ct, vidx, pgrp, dosage_is_present? (&fread_ptr) : nullptr, dosage_is_present? (&fread_end) : nullptr, pgvp->genovec, pgvp->phasepresent, pgvp->phaseinfo, &(pgvp->phasepresent_ct));
+ if (reterr || (!dosage_is_present)) {
+ pgvp->dosage_ct = 0;
+ pgvp->dphase_ct = 0;
+ return reterr;
+ }
+ const uintptr_t* allele_idx_offsets = pgrp->fi.allele_idx_offsets;
+ const uint32_t allele_ct = allele_idx_offsets? (allele_idx_offsets[vidx + 1] - allele_idx_offsets[vidx]) : 2;
+ return ParseDosage16(fread_ptr, fread_end, sample_include, sample_ct, vidx, allele_ct, pgrp, &(pgvp->dosage_ct), pgvp->dphase_present, pgvp->dphase_delta, &(pgvp->dphase_ct), pgvp->dosage_present, pgvp->dosage_main);
+}
+
+PglErr PgrGetInv1Dp(const uintptr_t* __restrict sample_include, PgrSampleSubsetIndex pssi, uint32_t sample_ct, uint32_t vidx, AlleleCode allele_idx, PgenReader* pgr_ptr, PgenVariant* pgvp) {
+ PgenReaderMain* pgrp = GetPgrp(pgr_ptr);
+ const uint32_t* sample_include_cumulative_popcounts = GetSicp(pssi);
+ const uintptr_t* allele_idx_offsets = pgrp->fi.allele_idx_offsets;
+ const uint32_t allele_ct = allele_idx_offsets? (allele_idx_offsets[vidx + 1] - allele_idx_offsets[vidx]) : 2;
+ if ((allele_ct == 2) || (!allele_idx)) {
+ PglErr reterr = IMPLPgrGetDp(sample_include, sample_include_cumulative_popcounts, sample_ct, vidx, pgrp, pgvp);
+ if (allele_idx) {
+ GenovecInvertUnsafe(sample_ct, pgvp->genovec);
+ if (pgvp->phasepresent_ct) {
+ BitvecInvert(BitCtToWordCt(sample_ct), pgvp->phaseinfo);
+ }
+ if (pgvp->dosage_ct) {
+ BiallelicDosage16Invert(pgvp->dosage_ct, pgvp->dosage_main);
+ if (pgvp->dphase_ct) {
+ BiallelicDphase16Invert(pgvp->dphase_ct, pgvp->dphase_delta);
+ }
+ }
+ }
+ return reterr;
+ }
+ const uint32_t vrtype = pgrp->fi.vrtypes[vidx];
+ if (!VrtypeDosage(vrtype)) {
+ pgvp->dosage_ct = 0;
+ pgvp->dphase_ct = 0;
+ return IMPLPgrGetInv1P(sample_include, sample_include_cumulative_popcounts, sample_ct, vidx, allele_idx, pgrp, pgvp->genovec, pgvp->phasepresent, pgvp->phaseinfo, &(pgvp->phasepresent_ct));
+ }
+#ifndef PGENLIB_NOPRINT
+ fputs("multiallelic dosage not yet supported by GetInv1Dp()\n", stderr);
+#endif
+ return kPglRetNotYetSupported;
+}
+
+PglErr PgrGetMDp(const uintptr_t* __restrict sample_include, PgrSampleSubsetIndex pssi, uint32_t sample_ct, uint32_t vidx, PgenReader* pgr_ptr, PgenVariant* pgvp) {
+ PgenReaderMain* pgrp = GetPgrp(pgr_ptr);
+ const uint32_t* sample_include_cumulative_popcounts = GetSicp(pssi);
+ pgvp->patch_01_ct = 0;
+ pgvp->patch_10_ct = 0;
+ pgvp->phasepresent_ct = 0;
+ pgvp->dosage_ct = 0;
+ pgvp->multidosage_sample_ct = 0;
+ pgvp->dphase_ct = 0;
+ pgvp->multidphase_sample_ct = 0;
+ if (!sample_ct) {
+ return kPglRetSuccess;
+ }
+ const uintptr_t* allele_idx_offsets = pgrp->fi.allele_idx_offsets;
+ const uint32_t allele_ct = allele_idx_offsets? (allele_idx_offsets[vidx + 1] - allele_idx_offsets[vidx]) : 2;
+ const uint32_t vrtype = GetPgfiVrtype(&(pgrp->fi), vidx);
+ if ((allele_ct == 2) || (!(vrtype & 0x68))) {
+ return IMPLPgrGetDp(sample_include, sample_include_cumulative_popcounts, sample_ct, vidx, pgrp, pgvp);
+ }
+ const unsigned char* fread_ptr;
+ const unsigned char* fread_end;
+ uintptr_t* all_hets = VrtypeHphase(vrtype)? pgrp->workspace_all_hets : nullptr;
+ if (VrtypeMultiallelicHc(vrtype)) {
+ PglErr reterr = GetMultiallelicCodes(sample_include, sample_include_cumulative_popcounts, sample_ct, vidx, pgrp, all_hets? (&fread_ptr) : nullptr, all_hets? (&fread_end) : nullptr, all_hets, pgvp);
+ if (reterr || (!all_hets)) {
+ pgvp->phasepresent_ct = 0;
+ return reterr;
+ }
+ if (!(vrtype & 0x60)) {
+ const uint32_t raw_sample_ct = pgrp->fi.raw_sample_ct;
+ return ParseAux2Subset(fread_end, (sample_ct != raw_sample_ct)? sample_include : nullptr, all_hets, nullptr, raw_sample_ct, sample_ct, &fread_ptr, pgvp->phasepresent, pgvp->phaseinfo, &(pgvp->phasepresent_ct), pgrp->workspace_subset);
+ }
+ } else {
+ // todo: ReadRawGenovec, etc.
+ }
+#ifndef PGENLIB_NOPRINT
+ fputs("true multiallelic dosages not yet supported by PgrGetMDp()\n", stderr);
+#endif
+ return kPglRetNotYetSupported;
+}
+
+static_assert(sizeof(AlleleCode) == 1, "CountAux1bHets() must be updated.");
+uintptr_t CountAux1bHets(const AlleleCode* patch_10_vals, uintptr_t rare10_ct) {
+ // Similar to CountByte().
+ uintptr_t byte_ct = rare10_ct * 2;
+#ifdef __LP64__
+ if (byte_ct < kBytesPerVec) {
+#endif
+ uintptr_t tot = 0;
+ for (uintptr_t offset = 0; offset < byte_ct; offset += 2) {
+ tot += (patch_10_vals[offset] != patch_10_vals[offset + 1]);
+ }
+ return tot;
+#ifdef __LP64__
+ }
+ const unsigned char* bytearr_uc_iter = DowncastKToUc(patch_10_vals);
+ const VecW m0 = vecw_setzero();
+ const VecW m8 = VCONST_W(kMask00FF);
+ VecW acc = vecw_setzero();
+ while (byte_ct > 255 * kBytesPerVec) {
+ VecUc inner_acc = vecuc_setzero();
+ for (uint32_t uii = 0; uii != 255; ++uii) {
+ const VecUc cur_vvec = vecuc_loadu(bytearr_uc_iter);
+ bytearr_uc_iter = &(bytearr_uc_iter[kBytesPerVec]);
+ const VecUc shifted_vvec = VecWToUc(vecw_srli(VecUcToW(cur_vvec), 8));
+ inner_acc = inner_acc - (cur_vvec == shifted_vvec);
+ }
+ const VecW partial_sums = VecUcToW(inner_acc) & m8;
+ acc = acc + vecw_sad(partial_sums, m0);
+ byte_ct -= 255 * kBytesPerVec;
+ }
+ const unsigned char* bytearr_uc_final = &(bytearr_uc_iter[byte_ct - kBytesPerVec]);
+ VecUc inner_acc = vecuc_setzero();
+ while (bytearr_uc_iter < bytearr_uc_final) {
+ const VecUc cur_vvec = vecuc_loadu(bytearr_uc_iter);
+ bytearr_uc_iter = &(bytearr_uc_iter[kBytesPerVec]);
+ const VecUc shifted_vvec = VecWToUc(vecw_srli(VecUcToW(cur_vvec), 8));
+ inner_acc = inner_acc - (cur_vvec == shifted_vvec);
+ }
+ VecUc cur_vvec = vecuc_loadu(bytearr_uc_final);
+ const uintptr_t overlap_byte_ct = bytearr_uc_iter - bytearr_uc_final;
+ const VecUc shifted_vvec = VecWToUc(vecw_srli(VecUcToW(cur_vvec), 8));
+ const VecUc mask_vvec = vecuc_loadu(&(kLeadMask[kBytesPerVec - overlap_byte_ct]));
+ cur_vvec = (cur_vvec == shifted_vvec) & mask_vvec;
+ inner_acc = inner_acc - cur_vvec;
+ const VecW partial_sums = VecUcToW(inner_acc) & m8;
+ acc = acc + vecw_sad(partial_sums, m0);
+ const uintptr_t tot = HsumW(acc);
+ return rare10_ct - tot;
+#endif
+}
+
+PglErr PgrGetRaw(uint32_t vidx, PgenGlobalFlags read_gflags, PgenReader* pgr_ptr, uintptr_t** loadbuf_iter_ptr, unsigned char* loaded_vrtype_ptr) {
+ PgenReaderMain* pgrp = GetPgrp(pgr_ptr);
+ // currently handles multiallelic hardcalls, hardcall phase, and biallelic
+ // dosage (both unphased and phased)
+ // todo: multiallelic dosage
+ const uint32_t raw_sample_ct = pgrp->fi.raw_sample_ct;
+ const uint32_t vrtype = GetPgfiVrtype(&(pgrp->fi), vidx);
+ uintptr_t* genovec = (*loadbuf_iter_ptr);
+ uintptr_t* loadbuf_iter = &(genovec[NypCtToAlignedWordCt(raw_sample_ct)]);
+ const uint32_t multiallelic_hc_present = (vrtype / 8) & 1;
+ const uint32_t save_multiallelic_hc = multiallelic_hc_present && (read_gflags & kfPgenGlobalMultiallelicHardcallFound);
+ const uint32_t hphase_is_present = (vrtype / 0x10) & 1;
+ const uint32_t save_hphase = hphase_is_present && (read_gflags & kfPgenGlobalHardcallPhasePresent);
+ const uint32_t dosage_is_present = (vrtype & 0x60)? 1 : 0;
+ const uint32_t save_dosage = dosage_is_present && (read_gflags & kfPgenGlobalDosagePresent);
+
+ const uint32_t save_dphase = (vrtype & 0x80) && (read_gflags & kfPgenGlobalDosagePhasePresent);
+ assert(save_dosage || (!save_dphase));
+
+ if (loaded_vrtype_ptr) {
+ *loaded_vrtype_ptr = save_multiallelic_hc * 8 + save_hphase * 0x10 + save_dosage * 0x60 + save_dphase * 0x80;
+ }
+ const unsigned char* fread_ptr;
+ const unsigned char* fread_end;
+ PglErr reterr = ReadRawGenovec(0, vidx, pgrp, &fread_ptr, &fread_end, genovec);
+ if ((!(multiallelic_hc_present || save_hphase || save_dosage)) || reterr) {
+ *loadbuf_iter_ptr = loadbuf_iter;
+ return reterr;
+ }
+
+ const uint32_t raw_sample_ctl = BitCtToWordCt(raw_sample_ct);
+ ZeroTrailingNyps(raw_sample_ct, genovec);
+ const uintptr_t* allele_idx_offsets = pgrp->fi.allele_idx_offsets;
+ const uint32_t allele_ct = allele_idx_offsets? (allele_idx_offsets[vidx + 1] - allele_idx_offsets[vidx]) : 2;
+ uint32_t het_ct = 0;
+ if (multiallelic_hc_present) {
+ if (!save_multiallelic_hc) {
+ // todo: erase-alt2+ fast path
+ // mostly mirror PgrGet2P(0, 1), but a bit of extra logic is needed to
+ // throw out phased-10het entries
+ return kPglRetNotYetSupported;
+ }
+ // assume we always save multiallelic info
+ // raw format:
+ // rare01_ct, padded out to a word
+ // rare10_ct, padded out to a word
+ // [round up to vector boundary, for patch_01_set]
+ // aux1a, if not mode 15:
+ // patch_01_set as bitarray, raw_sample_ctl words
+ // patch_01_vals, round up to word boundary
+ // [round up to vector boundary, for patch_10_set]
+ // aux1b, if not mode 15:
+ // patch_10_set as bitarray, raw_sample_ctl words
+ // patch_10_vals, round up to word boundary
+ // round up to vector boundary at end
+ const uint32_t aux1_first_byte = *fread_ptr++;
+ const uint32_t aux1a_mode = aux1_first_byte & 15;
+ const uint32_t aux1b_mode = aux1_first_byte >> 4;
+ uint32_t raw_10_ct = 0;
+ if ((!aux1a_mode) || hphase_is_present) {
+ if (!aux1b_mode) {
+ GenovecCount12Unsafe(genovec, raw_sample_ct, &het_ct, &raw_10_ct);
+ } else {
+ het_ct = CountNyp(genovec, kMask5555, raw_sample_ct);
+ }
+ } else if (!aux1b_mode) {
+ raw_10_ct = CountNyp(genovec, kMaskAAAA, raw_sample_ct);
+ }
+ uintptr_t* multihc_raw = loadbuf_iter;
+ loadbuf_iter = &(loadbuf_iter[RoundUpPow2(2, kWordsPerVec)]);
+ uint32_t rare01_ct = 0;
+ if (aux1a_mode != 15) {
+ uintptr_t* patch_01_set = loadbuf_iter;
+ loadbuf_iter = &(loadbuf_iter[raw_sample_ctl]);
+ // (could decide to vector-align patch_01_vals later)
+ AlleleCode* patch_01_vals = DowncastWToAC(loadbuf_iter);
+ reterr = ExportAux1a(fread_end, genovec, aux1a_mode, raw_sample_ct, allele_ct, het_ct, &fread_ptr, patch_01_set, patch_01_vals, &rare01_ct);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ loadbuf_iter = &(loadbuf_iter[DivUp(rare01_ct, kBytesPerWord / sizeof(AlleleCode))]);
+ AlignWToVec(&loadbuf_iter);
+ }
+ uint32_t rare10_ct = 0;
+ if (aux1b_mode != 15) {
+ uintptr_t* patch_10_set = loadbuf_iter;
+ loadbuf_iter = &(loadbuf_iter[raw_sample_ctl]);
+ AlleleCode* patch_10_vals = DowncastWToAC(loadbuf_iter);
+ reterr = ExportAux1b(fread_end, genovec, aux1b_mode, raw_sample_ct, allele_ct, raw_10_ct, &fread_ptr, patch_10_set, patch_10_vals, &rare10_ct);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ loadbuf_iter = &(loadbuf_iter[DivUp(rare10_ct, kBytesPerWord / (2 * sizeof(AlleleCode)))]);
+ AlignWToVec(&loadbuf_iter);
+ if (hphase_is_present) {
+ het_ct += CountAux1bHets(patch_10_vals, rare10_ct);
+ }
+ }
+ multihc_raw[0] = rare01_ct;
+ multihc_raw[1] = rare10_ct;
+ } else if (hphase_is_present) {
+ het_ct = CountNyp(genovec, kMask5555, raw_sample_ct);
+ }
+
+ if (hphase_is_present) {
+ if (unlikely(!het_ct)) {
+ // there shouldn't be a hphase track at all in this case
+ return kPglRetMalformedInput;
+ }
+ const uint32_t het_ctdl = het_ct / kBitsPerWord;
+ uintptr_t* phaseraw = loadbuf_iter;
+ const uint32_t first_half_byte_ct = 1 + (het_ct / CHAR_BIT);
+ if (save_hphase) {
+ // this needs to be synced with MakePgenThread()
+#ifdef __LP64__
+ // save het_ct later so we can use PopcountWords() below
+ phaseraw[0] = 0;
+#else
+ phaseraw[0] = het_ct;
+ phaseraw[1] = 0;
+#endif
+ loadbuf_iter = &(loadbuf_iter[8 / kBytesPerWord]);
+ loadbuf_iter[het_ctdl] = 0;
+ memcpy(loadbuf_iter, fread_ptr, first_half_byte_ct);
+ loadbuf_iter = &(loadbuf_iter[1 + het_ctdl]);
+ }
+ const uint32_t explicit_phasepresent = fread_ptr[0] & 1;
+ const unsigned char* aux2_start = fread_ptr;
+ fread_ptr = &(fread_ptr[first_half_byte_ct]);
+ if (explicit_phasepresent) {
+ uint32_t raw_phasepresent_ct;
+ if (save_hphase) {
+#ifdef __LP64__
+ raw_phasepresent_ct = PopcountWords(phaseraw, het_ctdl + 2);
+#else
+ raw_phasepresent_ct = PopcountWords(&(phaseraw[2]), het_ctdl + 1);
+#endif
+ } else {
+ // bugfix (11 Apr 2018): not copied to phaseraw in this case
+ raw_phasepresent_ct = PopcountBytes(aux2_start, first_half_byte_ct);
+ }
+ --raw_phasepresent_ct;
+ if (unlikely(!raw_phasepresent_ct)) {
+ // there shouldn't be a hphase track at all in this case, either
+ return kPglRetMalformedInput;
+ }
+ const uint32_t second_half_byte_ct = DivUp(raw_phasepresent_ct, CHAR_BIT);
+ if (save_hphase) {
+#ifdef __LP64__
+ phaseraw[0] = het_ct | (S_CAST(uint64_t, raw_phasepresent_ct) << 32);
+#else
+ phaseraw[1] = raw_phasepresent_ct;
+#endif
+ memcpy(loadbuf_iter, fread_ptr, second_half_byte_ct);
+ loadbuf_iter = &(loadbuf_iter[BitCtToWordCt(raw_phasepresent_ct)]);
+ }
+ fread_ptr = &(fread_ptr[second_half_byte_ct]);
+ }
+#ifdef __LP64__
+ if (save_hphase) {
+ if (!explicit_phasepresent) {
+ phaseraw[0] = het_ct;
+ }
+ AlignWToVec(&loadbuf_iter);
+ }
+#endif
+ }
+ if (!save_dosage) {
+ *loadbuf_iter_ptr = loadbuf_iter;
+ return kPglRetSuccess;
+ }
+ uintptr_t* dosage_present = loadbuf_iter;
+ const uint32_t raw_sample_ctaw = BitCtToAlignedWordCt(raw_sample_ct);
+ loadbuf_iter = &(loadbuf_iter[raw_sample_ctaw]);
+ uint16_t* dosage_main = DowncastWToU16(loadbuf_iter);
+ // probable todo: pack this more tightly in the future
+ const uintptr_t dosage_main_aligned_wordct = kWordsPerVec * DivUp(raw_sample_ct, (kBytesPerVec / sizeof(int16_t)));
+ loadbuf_iter = &(loadbuf_iter[dosage_main_aligned_wordct]);
+ uintptr_t* dphase_present = nullptr;
+ int16_t* dphase_delta = nullptr;
+ if (save_dphase) {
+ dphase_present = loadbuf_iter;
+ loadbuf_iter = &(loadbuf_iter[raw_sample_ctaw]);
+ dphase_delta = DowncastWToI16(loadbuf_iter);
+ loadbuf_iter = &(loadbuf_iter[dosage_main_aligned_wordct]);
+ }
+ *loadbuf_iter_ptr = loadbuf_iter;
+ reterr = ParseDosage16(fread_ptr, fread_end, nullptr, raw_sample_ct, vidx, allele_ct, pgrp, nullptr, dphase_present, dphase_delta, nullptr, dosage_present, dosage_main);
+ return reterr;
+}
+
+
+// Currently assumes no phase or multiallelic hardcalls.
+// tried to have more custom code, turned out to not be worth it
+PglErr ReadMissingness(const uintptr_t* __restrict sample_include, const uint32_t* __restrict sample_include_cumulative_popcounts, uint32_t sample_ct, uint32_t vidx, PgenReaderMain* pgrp, const unsigned char** fread_pp, const unsigned char** fread_endp, uintptr_t* __restrict missingness, uintptr_t* __restrict hets, uintptr_t* __restrict genovec_buf) {
+ const unsigned char* fread_ptr;
+ const unsigned char* fread_end;
+ PglErr reterr = ReadGenovecSubsetUnsafe(sample_include, sample_include_cumulative_popcounts, sample_ct, vidx, pgrp, &fread_ptr, &fread_end, genovec_buf);
+ ZeroTrailingNyps(sample_ct, genovec_buf);
+ GenoarrToMissingnessUnsafe(genovec_buf, sample_ct, missingness);
+ if (hets) {
+ PgrDetectGenoarrHetsUnsafe(genovec_buf, NypCtToWordCt(sample_ct), hets);
+ }
+ if (fread_pp) {
+ *fread_pp = fread_ptr;
+ *fread_endp = fread_end;
+ }
+ return reterr;
+}
+
+PglErr PgrGetMissingness(const uintptr_t* __restrict sample_include, PgrSampleSubsetIndex pssi, uint32_t sample_ct, uint32_t vidx, PgenReader* pgr_ptr, uintptr_t* __restrict missingness, uintptr_t* __restrict genovec_buf) {
+ if (!sample_ct) {
+ return kPglRetSuccess;
+ }
+ PgenReaderMain* pgrp = GetPgrp(pgr_ptr);
+ // may as well add a hets parameter?
+ assert(vidx < pgrp->fi.raw_variant_ct);
+ return ReadMissingness(sample_include, GetSicp(pssi), sample_ct, vidx, pgrp, nullptr, nullptr, missingness, nullptr, genovec_buf);
+}
+
+PglErr PgrGetMissingnessD(const uintptr_t* __restrict sample_include, PgrSampleSubsetIndex pssi, uint32_t sample_ct, uint32_t vidx, PgenReader* pgr_ptr, uintptr_t* __restrict missingness_hc, uintptr_t* __restrict missingness_dosage, uintptr_t* __restrict hets, uintptr_t* __restrict genovec_buf) {
+ if (!sample_ct) {
+ return kPglRetSuccess;
+ }
+ PgenReaderMain* pgrp = GetPgrp(pgr_ptr);
+ // sample_include can't be null
+ // either missingness_hc or missingness_dosage must be non-null
+ assert(vidx < pgrp->fi.raw_variant_ct);
+ const uint32_t* sample_include_cumulative_popcounts = GetSicp(pssi);
+ const uint32_t vrtype = GetPgfiVrtype(&(pgrp->fi), vidx);
+ const uint32_t dosage_is_relevant = missingness_dosage && VrtypeDosage(vrtype);
+ const uint32_t need_to_skip_aux1or2 = dosage_is_relevant && (vrtype & 0x18);
+ const uint32_t raw_sample_ct = pgrp->fi.raw_sample_ct;
+ const uint32_t raw_sample_ctl = BitCtToWordCt(raw_sample_ct);
+ const uint32_t subsetting_required = (sample_ct != raw_sample_ct);
+ const unsigned char* fread_ptr = nullptr;
+ const unsigned char* fread_end = nullptr;
+ uintptr_t* missingness_base = missingness_hc? missingness_hc : missingness_dosage;
+ if (!need_to_skip_aux1or2) {
+ PglErr reterr = ReadMissingness(sample_include, sample_include_cumulative_popcounts, sample_ct, vidx, pgrp, dosage_is_relevant? (&fread_ptr) : nullptr, dosage_is_relevant? (&fread_end) : nullptr, missingness_base, hets, genovec_buf);
+ if (missingness_dosage && missingness_hc) {
+ memcpy(missingness_dosage, missingness_hc, BitCtToWordCt(sample_ct) * sizeof(intptr_t));
+ }
+ if (reterr || (!dosage_is_relevant)) {
+ return reterr;
+ }
+ } else {
+ PglErr reterr = ReadRawGenovec(subsetting_required, vidx, pgrp, &fread_ptr, &fread_end, genovec_buf);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ ZeroTrailingNyps(raw_sample_ct, genovec_buf);
+ uintptr_t* subsetted_genovec = pgrp->workspace_vec;
+ CopyNyparrNonemptySubset(genovec_buf, sample_include, raw_sample_ct, sample_ct, subsetted_genovec);
+ GenoarrToMissingnessUnsafe(subsetted_genovec, sample_ct, missingness_base);
+ if (missingness_hc) {
+ memcpy(missingness_dosage, missingness_hc, BitCtToWordCt(sample_ct) * sizeof(intptr_t));
+ }
+
+ const uintptr_t* allele_idx_offsets = pgrp->fi.allele_idx_offsets;
+ const uint32_t allele_ct = allele_idx_offsets? (allele_idx_offsets[vidx + 1] - allele_idx_offsets[vidx]) : 2;
+ if (VrtypeHphase(vrtype) || hets) {
+ uintptr_t* all_hets = pgrp->workspace_all_hets;
+ PgrDetectGenoarrHets(genovec_buf, raw_sample_ct, all_hets);
+ if (VrtypeMultiallelicHc(vrtype)) {
+ // see analogous branch in ReadGenovecHphaseSubsetUnsafe()
+ // probable todo: make this a separate function
+ const uint32_t aux1_first_byte = *fread_ptr++;
+ const uint32_t aux1a_mode = aux1_first_byte & 15;
+ const uint32_t aux1b_mode = aux1_first_byte >> 4;
+ uint32_t raw_01_ct = 0;
+ uint32_t raw_10_ct = 0;
+ if ((!aux1a_mode) || (!aux1b_mode)) {
+ GenovecCount12Unsafe(genovec_buf, raw_sample_ct, &raw_01_ct, &raw_10_ct);
+ }
+ reterr = SkipAux1a(fread_end, aux1a_mode, raw_sample_ct, allele_ct, raw_01_ct, &fread_ptr);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ uintptr_t* aux1b_hets = pgrp->workspace_aux1x_present;
+ uint32_t* deltalist_workspace = pgrp->workspace_difflist_sample_ids;
+ uint32_t aux1b_het_present;
+ reterr = GetAux1bHets(fread_end, genovec_buf, aux1b_mode, raw_sample_ct, allele_ct, raw_10_ct, &fread_ptr, aux1b_hets, &aux1b_het_present, deltalist_workspace);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ if (aux1b_het_present) {
+ BitvecOr(aux1b_hets, raw_sample_ctl, all_hets);
+ }
+ }
+ if (hets) {
+ CopyBitarrSubset(all_hets, sample_include, sample_ct, hets);
+ }
+ if (VrtypeHphase(vrtype)) {
+ reterr = SkipAux2(fread_end, PopcountWords(all_hets, raw_sample_ctl), &fread_ptr, nullptr);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ }
+ } else {
+ SkipAux1(fread_end, genovec_buf, raw_sample_ct, allele_ct, &fread_ptr);
+ }
+ }
+ // now perform bitwise andnot with dosage_present
+ if ((vrtype & 0x60) == 0x40) {
+ // unconditional dosage. spot-check the appropriate entries for equality
+ // to 65535.
+ const unsigned char* dosage_main_read = fread_ptr;
+ // bugfix (18 Feb 2019): sample_include is permitted to be nullptr here
+ if (!subsetting_required) {
+ // probable todo: faster iteration over set bits
+ for (uint32_t widx = 0; widx != raw_sample_ctl; ++widx) {
+ uintptr_t missing_dosage_bits = missingness_dosage[widx];
+ if (missing_dosage_bits) {
+ const unsigned char* cur_dosage_main = &(dosage_main_read[widx * kBitsPerWord * sizeof(int16_t)]);
+ do {
+ uint32_t sample_idx_lowbits = ctzw(missing_dosage_bits);
+ uint16_t cur_dosage_u16;
+ CopyFromUnalignedOffsetU16(&cur_dosage_u16, cur_dosage_main, sample_idx_lowbits);
+ if (cur_dosage_u16 != 65535) {
+ missingness_dosage[widx] ^= missing_dosage_bits & (-missing_dosage_bits);
+ }
+ missing_dosage_bits &= missing_dosage_bits - 1;
+ } while (missing_dosage_bits);
+ }
+ }
+ } else {
+ uintptr_t sample_uidx_base = 0;
+ uintptr_t sample_include_bits = sample_include[0];
+ for (uint32_t sample_idx = 0; sample_idx != sample_ct; ++sample_idx) {
+ const uintptr_t sample_uidx = BitIter1(sample_include, &sample_uidx_base, &sample_include_bits);
+ if (!IsSet(missingness_dosage, sample_idx)) {
+ continue;
+ }
+ uint16_t cur_dosage_u16;
+ CopyFromUnalignedOffsetU16(&cur_dosage_u16, dosage_main_read, sample_uidx);
+ if (cur_dosage_u16 != 65535) {
+ ClearBit(sample_idx, missingness_dosage);
+ }
+ }
+ }
+ return kPglRetSuccess;
+ }
+ uintptr_t* dosage_present = pgrp->workspace_dosage_present;
+ if ((vrtype & 0x60) == 0x20) {
+ // dosage list
+ uint32_t dummy;
+ if (unlikely(ParseAndSaveDeltalistAsBitarr(fread_end, raw_sample_ct, &fread_ptr, dosage_present, &dummy))) {
+ return kPglRetMalformedInput;
+ }
+ } else {
+ // dosage bitarray
+ dosage_present[raw_sample_ctl - 1] = 0;
+ const uint32_t raw_sample_ctb = DivUp(raw_sample_ct, CHAR_BIT);
+ memcpy(dosage_present, fread_ptr, raw_sample_ctb);
+ }
+ if (subsetting_required) {
+ CopyBitarrSubset(dosage_present, sample_include, sample_ct, pgrp->workspace_vec);
+ dosage_present = pgrp->workspace_vec;
+ }
+ BitvecInvmask(dosage_present, BitCtToWordCt(sample_ct), missingness_dosage);
+ return kPglRetSuccess;
+}
+
+static inline BoolErr ValidateVint31(const unsigned char* buf_end, const unsigned char** bufpp, uint32_t* val_ptr) {
+ if (unlikely(buf_end <= (*bufpp))) {
+ return 1;
+ }
+ uint32_t vint32 = *((*bufpp)++);
+ if (vint32 <= 127) {
+ *val_ptr = vint32;
+ return 0;
+ }
+ vint32 &= 127;
+ for (uint32_t shift = 7; shift != 28; shift += 7) {
+ if (unlikely(buf_end == (*bufpp))) {
+ return 1;
+ }
+ uint32_t uii = *((*bufpp)++);
+ vint32 |= (uii & 127) << shift;
+ if (uii <= 127) {
+ *val_ptr = vint32;
+ return 0;
+ }
+ }
+ if (unlikely(buf_end == (*bufpp))) {
+ return 1;
+ }
+ uint32_t uii = *((*bufpp)++);
+ if (unlikely(uii > 7)) {
+ return 1;
+ }
+ vint32 |= uii << 28;
+ *val_ptr = vint32;
+ return 0;
+}
+
+BoolErr ValidateDifflistHeader(const unsigned char* fread_end, uint32_t sample_ct, const unsigned char** fread_pp, uintptr_t* raregeno_buf, const unsigned char** difflist_group_info_ptr, uint32_t* difflist_len_ptr) {
+ // can be used for deltalists: pass raregeno_buf == nullptr.
+ if (unlikely(ValidateVint31(fread_end, fread_pp, difflist_len_ptr))) {
+ // todo: ensure fread_pp points to a problematic byte whenever a validate_
+ // function returns an error, so the error message can provide an accurate
+ // byte offset.
+ return 1;
+ }
+ const uint32_t difflist_len = *difflist_len_ptr;
+ *difflist_group_info_ptr = *fread_pp;
+ if (!difflist_len) {
+ return 0;
+ }
+ if (unlikely(difflist_len > sample_ct / kPglMaxDifflistLenDivisor)) {
+ return 1;
+ }
+ const uint32_t group_ct = DivUp(difflist_len, kPglDifflistGroupSize);
+ const uint32_t sample_id_byte_ct = BytesToRepresentNzU32(sample_ct);
+ const uint32_t difflist_index_byte_ct = group_ct * (sample_id_byte_ct + 1) - 1;
+ if (PtrAddCk(fread_end, difflist_index_byte_ct, fread_pp)) {
+ return 1;
+ }
+ if (!raregeno_buf) {
+ return 0;
+ }
+ const uint32_t raregeno_byte_ct = NypCtToByteCt(difflist_len);
+ const unsigned char* raregeno_start = *fread_pp;
+ if (PtrAddCk(fread_end, raregeno_byte_ct, fread_pp)) {
+ return 1;
+ }
+ memcpy(raregeno_buf, raregeno_start, raregeno_byte_ct);
+ const uint32_t difflist_len_mod4 = difflist_len % 4;
+ if (difflist_len_mod4) {
+ const uint32_t last_raregeno_byte = (*fread_pp)[-1];
+ if (unlikely(last_raregeno_byte >> (2 * difflist_len_mod4))) {
+ return 1;
+ }
+ }
+ return 0;
+}
+
+BoolErr ValidateAndApplyDifflist(const unsigned char* fread_end, uint32_t common2_code, const unsigned char** fread_pp, PgenReaderMain* pgrp, uintptr_t* __restrict genoarr) {
+ // Side effects: uses pgr.workspace_raregeno_tmp_loadbuf.
+ // Similar to ParseAndApplyDifflist(), but with exhaustive input
+ // validation.
+ const uint32_t sample_ct = pgrp->fi.raw_sample_ct;
+ uintptr_t* cur_raregeno_iter = pgrp->workspace_raregeno_tmp_loadbuf;
+ const unsigned char* group_info_iter;
+ uint32_t difflist_len;
+ if (unlikely(ValidateDifflistHeader(fread_end, sample_ct, fread_pp, cur_raregeno_iter, &group_info_iter, &difflist_len))) {
+ return 1;
+ }
+ if (!difflist_len) {
+ return 0;
+ }
+ const uint32_t subgroup_idx_last = (difflist_len - 1) / kBitsPerWordD2;
+ if (common2_code) {
+ // 1-bit format + list of exceptions. In this case,
+ // (i) the length of the exception list must be < (sample_ct / 16)
+ // (ii) every raregeno entry must either be one of the two rare genotype
+ // values, or involve a rare alt allele.
+ if (unlikely(difflist_len >= (sample_ct / (2 * kPglMaxDifflistLenDivisor)))) {
+ return 1;
+ }
+ const uintptr_t common_code_delta = common2_code & 3;
+ const uintptr_t inv_common_word1 = (3 - common2_code / 4) * kMask5555;
+ const uintptr_t inv_common_word2 = inv_common_word1 - (common_code_delta * kMask5555);
+ for (uint32_t subgroup_idx = 0; ; ++subgroup_idx) {
+ uintptr_t cur_raregeno_word = cur_raregeno_iter[subgroup_idx];
+ const uintptr_t match1 = Word11(cur_raregeno_word ^ inv_common_word1);
+ const uintptr_t match2 = Word11(cur_raregeno_word ^ inv_common_word2);
+ if (subgroup_idx == subgroup_idx_last) {
+ // ignore trailing bits
+ const uint32_t lshift = ((-difflist_len) % kBitsPerWordD2) * 2;
+ if (unlikely((match1 << lshift) || (match2 << lshift))) {
+ return 1;
+ }
+ break;
+ }
+ if (unlikely(match1 || match2)) {
+ // todo: if (multiallelic_hc_present && (!inv_common_word2)), record
+ // might be fine; but we need to verify these are actually rare alt
+ // alleles.
+ // (er, above comment is obsolete)
+ return 1;
+ }
+ }
+ }
+ const uint32_t sample_id_byte_ct = BytesToRepresentNzU32(sample_ct);
+ const unsigned char* group_byte_cts_iter = &(group_info_iter[DivUp(difflist_len, kPglDifflistGroupSize) * sample_id_byte_ct]);
+ const unsigned char* prev_group_start = *fread_pp;
+
+ uintptr_t sample_idx = 0;
+ for (uint32_t subgroup_idx = 0; ; ++subgroup_idx) {
+ uint32_t remaining_deltas_in_subgroup = kBitsPerWordD2 - 1;
+ if (subgroup_idx >= subgroup_idx_last) {
+ if (subgroup_idx > subgroup_idx_last) {
+ return 0;
+ }
+ remaining_deltas_in_subgroup &= difflist_len - 1;
+ }
+ if (!(subgroup_idx % (kPglDifflistGroupSize / kBitsPerWordD2))) {
+ uintptr_t new_sample_idx_start = SubU32Load(group_info_iter, sample_id_byte_ct);
+ if (subgroup_idx) {
+ if (unlikely(sample_idx >= new_sample_idx_start)) {
+ return 1;
+ }
+ const uint32_t group_byte_ct = S_CAST(uint32_t, *group_byte_cts_iter++) + 63;
+ if (unlikely(S_CAST(uintptr_t, (*fread_pp) - prev_group_start) != group_byte_ct)) {
+ return 1;
+ }
+ prev_group_start = *fread_pp;
+ }
+ sample_idx = new_sample_idx_start;
+ group_info_iter = &(group_info_iter[sample_id_byte_ct]);
+ } else {
+ uint32_t sample_idx_incr;
+ if (unlikely(ValidateVint31(fread_end, fread_pp, &sample_idx_incr) || (!sample_idx_incr))) {
+ return 1;
+ }
+ sample_idx += sample_idx_incr;
+ }
+ uintptr_t cur_raregeno_word = *cur_raregeno_iter++;
+ for (; ; --remaining_deltas_in_subgroup) {
+ if (unlikely(sample_idx >= sample_ct)) {
+ return 1;
+ }
+ const uintptr_t cur_geno = cur_raregeno_word & 3;
+ AssignNyparrEntry(sample_idx, cur_geno, genoarr);
+ if (!remaining_deltas_in_subgroup) {
+ break;
+ }
+ uint32_t sample_idx_incr;
+ if (unlikely(ValidateVint31(fread_end, fread_pp, &sample_idx_incr) || (!sample_idx_incr))) {
+ return 1;
+ }
+ sample_idx += sample_idx_incr;
+ cur_raregeno_word >>= 2;
+ }
+ }
+}
+
+BoolErr ValidateOnebit(const unsigned char* fread_end, const unsigned char** fread_pp, PgenReaderMain* pgrp, uintptr_t* __restrict genoarr) {
+ // ParseOnebitUnsafe() with exhaustive input validation.
+ const uint32_t sample_ct = pgrp->fi.raw_sample_ct;
+ const uint32_t common2_and_bitarray_byte_ct = (sample_ct + 15) / CHAR_BIT;
+ const unsigned char* onebit_main_iter = *fread_pp;
+ if (PtrAddCk(fread_end, common2_and_bitarray_byte_ct, fread_pp)) {
+ return 1;
+ }
+ const uintptr_t common2_code = *onebit_main_iter++;
+ const uintptr_t common_code_delta = common2_code & 3;
+ uintptr_t word_base = common2_code / 4;
+ if (unlikely((!common_code_delta) || (word_base + common_code_delta > 3))) {
+ return 1;
+ }
+ word_base *= kMask5555;
+ const uint32_t genoarr_widx_trail = (sample_ct + 7) / kBitsPerWordD2;
+ const uint32_t genoarr_widx_end = NypCtToWordCt(sample_ct);
+ for (uint32_t genoarr_widx = 0; ; ++genoarr_widx) {
+ uintptr_t ww;
+ if (genoarr_widx >= genoarr_widx_trail) {
+ if (genoarr_widx == genoarr_widx_end) {
+ break;
+ }
+ const uint32_t nontrail_byte_ct = ((sample_ct - 1) % kBitsPerWordD2) / CHAR_BIT;
+ ww = ProperSubwordLoad(&(onebit_main_iter[genoarr_widx_trail * sizeof(Halfword)]), 1 + nontrail_byte_ct);
+ const uint32_t sample_ct_mod8 = sample_ct % 8;
+ if (sample_ct_mod8) {
+ if (unlikely(ww >> (nontrail_byte_ct * 8 + sample_ct_mod8))) {
+ return 1;
+ }
+ }
+ } else {
+ Halfword hw;
+ CopyFromUnalignedOffsetHW(&hw, onebit_main_iter, genoarr_widx);
+ ww = hw;
+ }
+ ww = UnpackHalfwordToWord(ww);
+ genoarr[genoarr_widx] = word_base + ww * common_code_delta;
+ }
+ return ValidateAndApplyDifflist(fread_end, common2_code, fread_pp, pgrp, genoarr);
+}
+
+// assumes that we aren't dealing with the trivial fixed-width case.
+// saves main genotype array to genovec. does not zero out trailing bits.
+BoolErr ValidateGeno(const unsigned char* fread_end, uint32_t vidx, PgenReaderMain* pgrp, const unsigned char** fread_pp, uintptr_t* genovec, char* errstr_buf) {
+ const uint32_t vrtype = pgrp->fi.vrtypes[vidx];
+ const uint32_t sample_ct = pgrp->fi.raw_sample_ct;
+ if (VrtypeLdCompressed(vrtype)) {
+ CopyNyparr(pgrp->ldbase_genovec, sample_ct, genovec);
+ if (unlikely(ValidateAndApplyDifflist(fread_end, 0, fread_pp, pgrp, genovec))) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid LD difflist for (0-based) variant #%u.\n", vidx);
+ return 1;
+ }
+ if (vrtype & 1) {
+ GenovecInvertUnsafe(sample_ct, genovec);
+ }
+ return 0;
+ }
+ const uint32_t is_ldbase = VrtypeLdCompressed(pgrp->fi.vrtypes[vidx + 1]);
+ if (!(vrtype & 4)) {
+ if (vrtype & 1) {
+ if (unlikely(ValidateOnebit(fread_end, fread_pp, pgrp, genovec))) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid 1-bit genotype record for (0-based) variant #%u.\n", vidx);
+ return 1;
+ }
+ } else {
+ const uint32_t genovec_byte_ct = DivUp(sample_ct, 4);
+ const unsigned char* src_genodata = *fread_pp;
+ if (PtrAddCk(fread_end, genovec_byte_ct, fread_pp)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid 2-bit genotype record for (0-based) variant #%u\n", vidx);
+ return 1;
+ }
+ memcpy(genovec, src_genodata, genovec_byte_ct);
+ const uint32_t sample_ct_mod4 = sample_ct % 4;
+ if (sample_ct_mod4) {
+ const uint32_t last_geno_byte = (*fread_pp)[-1];
+ if (unlikely(last_geno_byte >> (2 * sample_ct_mod4))) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Last genotype byte for (0-based) variant #%u has nonzero trailing bits.\n", vidx);
+ return 1;
+ }
+ }
+ }
+ } else {
+ const uint32_t vrtype_low2 = vrtype & 3;
+ if (vrtype_low2 != 1) {
+ const uint32_t vec_ct = NypCtToVecCt(sample_ct);
+ vecset(genovec, vrtype_low2 * kMask5555, vec_ct);
+ if (unlikely(ValidateAndApplyDifflist(fread_end, 0, fread_pp, pgrp, genovec))) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid genotype difflist for (0-based) variant #%u.\n", vidx);
+ return 1;
+ }
+ } else {
+ if (is_ldbase) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid LD back-reference from variant #%u to all-hom-ref variant #%u.\n", vidx + 1, vidx);
+ return 1;
+ }
+ ZeroWArr(NypCtToWordCt(sample_ct), genovec);
+ }
+ }
+ if (is_ldbase) {
+ CopyNyparr(genovec, sample_ct, pgrp->ldbase_genovec);
+ }
+ return 0;
+}
+
+BoolErr ValidateAndCountDeltalist(const unsigned char* fread_end, uint32_t sample_ct, const unsigned char** fread_pp, uint32_t* __restrict deltalist, uint32_t* deltalist_len_ptr) {
+ // pass deltalist == nullptr when actual bit positions aren't needed
+ const unsigned char* group_info_iter;
+ if (unlikely(ValidateDifflistHeader(fread_end, sample_ct, fread_pp, nullptr, &group_info_iter, deltalist_len_ptr))) {
+ return 1;
+ }
+ const uint32_t deltalist_len = *deltalist_len_ptr;
+ if (!deltalist_len) {
+ return 0;
+ }
+ const uint32_t sample_id_byte_ct = BytesToRepresentNzU32(sample_ct);
+ const uint32_t group_idx_last = (deltalist_len - 1) / kPglDifflistGroupSize;
+ const unsigned char* group_byte_cts_iter = &(group_info_iter[DivUp(deltalist_len, kPglDifflistGroupSize) * sample_id_byte_ct]);
+ const unsigned char* prev_group_start = *fread_pp;
+ uint32_t* deltalist_iter = deltalist;
+ uint32_t group_len_m1 = kPglDifflistGroupSize - 1;
+ uintptr_t sample_idx = 0;
+ for (uint32_t group_idx = 0; ; ++group_idx) {
+ if (group_idx >= group_idx_last) {
+ if (group_idx > group_idx_last) {
+ return 0;
+ }
+ group_len_m1 &= deltalist_len - 1;
+ }
+ uintptr_t new_sample_idx = SubU32Load(group_info_iter, sample_id_byte_ct);
+ if (group_idx) {
+ if (unlikely(sample_idx >= new_sample_idx)) {
+ return 1;
+ }
+ const uint32_t group_byte_ct = S_CAST(uint32_t, *group_byte_cts_iter++) + 63;
+ if (unlikely(S_CAST(uintptr_t, (*fread_pp) - prev_group_start) != group_byte_ct)) {
+ return 1;
+ }
+ prev_group_start = *fread_pp;
+ }
+ sample_idx = new_sample_idx;
+ group_info_iter = &(group_info_iter[sample_id_byte_ct]);
+ for (uint32_t deltalist_idx_lowbits = 0; ; ++deltalist_idx_lowbits) {
+ if (unlikely(sample_idx >= sample_ct)) {
+ return 1;
+ }
+ if (deltalist_iter) {
+ *deltalist_iter++ = sample_idx;
+ }
+ if (deltalist_idx_lowbits == group_len_m1) {
+ break;
+ }
+ uint32_t sample_idx_incr;
+ if (unlikely(ValidateVint31(fread_end, fread_pp, &sample_idx_incr) || (!sample_idx_incr))) {
+ return 1;
+ }
+ sample_idx += sample_idx_incr;
+ }
+ }
+}
+
+BoolErr ValidateMultiallelicHc(const unsigned char* fread_end, const uintptr_t* __restrict raw_genovec, uint32_t vidx, uint32_t allele_ct, PgenReaderMain* pgrp, const unsigned char** fread_pp, uint32_t* __restrict het_ctp, char* __restrict errstr_buf) {
+ if (unlikely(allele_ct <= 2)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Multiallelic hardcall track present for (0-based) variant #%u, but it apparently has only %u allele%s.\n", vidx, allele_ct, (allele_ct == 1)? "" : "s");
+ return 1;
+ }
+ const uint32_t sample_ct = pgrp->fi.raw_sample_ct;
+ const uint32_t aux1_first_byte = **fread_pp;
+ *fread_pp += 1;
+ if (unlikely(aux1_first_byte &&
+ (aux1_first_byte != 1) &&
+ (aux1_first_byte != 15) &&
+ (aux1_first_byte != 16) &&
+ (aux1_first_byte != 17) &&
+ (aux1_first_byte != 31) &&
+ (aux1_first_byte != 240) &&
+ (aux1_first_byte != 241))) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid multiallelic hardcall track mode byte (%u; must be in {0, 1, 15, 16, 17, 31, 240, 241}) in (0-based) variant #%u.\n", aux1_first_byte, vidx);
+ return 1;
+ }
+ const uint32_t aux1a_mode = aux1_first_byte & 15;
+ const uint32_t aux1b_mode = aux1_first_byte >> 4;
+ uint32_t raw_01_ct;
+ uint32_t raw_10_ct;
+ GenovecCount12Unsafe(raw_genovec, sample_ct, &raw_01_ct, &raw_10_ct);
+ uint32_t* deltalist_workspace = pgrp->workspace_difflist_sample_ids;
+ if (aux1a_mode != 15) {
+ if (unlikely(!raw_01_ct)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Multiallelic het-ref hardcall track present for (0-based) variant #%u, but no het-ref calls exist.\n", vidx);
+ return 1;
+ }
+ uint32_t rare01_ct;
+ if (!aux1a_mode) {
+ const uint32_t subset_byte_ct = DivUp(raw_01_ct, CHAR_BIT);
+ if (PtrCheck(fread_end, *fread_pp, subset_byte_ct)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid multiallelic het-ref hardcall bitarray-subset for (0-based) variant #%u.\n", vidx);
+ return 1;
+ }
+ rare01_ct = PopcountBytes(*fread_pp, subset_byte_ct);
+ if (unlikely(!rare01_ct)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Empty multiallelic het-ref hardcall bitarray-subset for (0-based) variant #%u.\n", vidx);
+ return 1;
+ }
+ *fread_pp += subset_byte_ct;
+ const uint32_t raw_01_ct_mod8 = raw_01_ct % 8;
+ if (raw_01_ct_mod8) {
+ if (unlikely((*fread_pp)[-1] >> raw_01_ct_mod8)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Multiallelic het-ref hardcall bitarray-subset for (0-based) variant #%u has nonzero trailing bits.\n", vidx);
+ return 1;
+ }
+ }
+ } else {
+ if (unlikely(ValidateAndCountDeltalist(fread_end, sample_ct, fread_pp, deltalist_workspace, &rare01_ct) || (!rare01_ct))) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid multiallelic het-ref hardcall deltalist-subset for (0-based) variant #%u.\n", vidx);
+ return 1;
+ }
+ for (uint32_t uii = 0; uii != rare01_ct; ++uii) {
+ if (unlikely(GetNyparrEntry(raw_genovec, deltalist_workspace[uii]) != 1)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid multiallelic het-ref hardcall deltalist-subset for (0-based) variant #%u (an index doesn't correspond to a het-ref call).\n", vidx);
+ return 1;
+ }
+ }
+ }
+ if (allele_ct < 5) {
+ // Nothing to do for allele_ct == 3.
+ if (allele_ct == 4) {
+ // 1-bit entries. Contents must be in range, so just validate trailing
+ // bits.
+ const uint32_t fvals_byte_ct = DivUp(rare01_ct, 8);
+ if (PtrAddCk(fread_end, fvals_byte_ct, fread_pp)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid multiallelic het-ref hardcall track for (0-based) variant #%u (shorter than expected).\n", vidx);
+ return 1;
+ }
+ const uint32_t rare01_ct_mod8 = rare01_ct % 8;
+ if (rare01_ct_mod8) {
+ if (unlikely((*fread_pp)[-1] >> rare01_ct_mod8)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid multiallelic het-ref hardcall track for (0-based) variant #%u (nonzero trailing bits).\n", vidx);
+ return 1;
+ }
+ }
+ }
+ } else {
+ const unsigned char* fvals = *fread_pp;
+ if (allele_ct < 19) {
+ if (allele_ct < 7) {
+ // 2-bit entries.
+ const uint32_t fvals_byte_ct = DivUp(rare01_ct, 4);
+ if (PtrAddCk(fread_end, fvals_byte_ct, fread_pp)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid multiallelic het-ref hardcall track for (0-based) variant #%u (shorter than expected).\n", vidx);
+ return 1;
+ }
+ if (allele_ct == 5) {
+ // Contents may be out-of-range.
+ const uint32_t fullword_ct = fvals_byte_ct / kBytesPerWord;
+ uint32_t widx = 0;
+ if (fullword_ct) {
+ for (; widx != fullword_ct; ++widx) {
+ uintptr_t cur_word;
+ CopyFromUnalignedOffsetW(&cur_word, fvals, widx);
+ if (unlikely(cur_word & (cur_word >> 1) & kMask5555)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid multiallelic het-ref hardcall track for (0-based) variant #%u (out-of-range allele code).\n", vidx);
+ return 1;
+ }
+ }
+ }
+ for (uint32_t uii = widx * kBytesPerWord; uii != fvals_byte_ct; ++uii) {
+ const uint32_t cur_byte = fvals[uii];
+ if (unlikely(cur_byte & (cur_byte >> 1) & 0x55)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid multiallelic het-ref hardcall track for (0-based) variant #%u (out-of-range allele code).\n", vidx);
+ return 1;
+ }
+ }
+ }
+ // Validate trailing bits.
+ const uint32_t rare01_ct_mod4 = rare01_ct % 4;
+ if (rare01_ct_mod4) {
+ if (unlikely((*fread_pp)[-1] >> (2 * rare01_ct_mod4))) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid multiallelic het-ref hardcall track for (0-based) variant #%u (nonzero trailing bits).\n", vidx);
+ return 1;
+ }
+ }
+ } else {
+ // 4-bit entries.
+ const uint32_t fvals_byte_ct = DivUp(rare01_ct, 2);
+ if (PtrAddCk(fread_end, fvals_byte_ct, fread_pp)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid multiallelic het-ref hardcall track for (0-based) variant #%u (shorter than expected).\n", vidx);
+ return 1;
+ }
+ if (allele_ct != 18) {
+ // Contents may be out-of-range.
+ // (Can optimize this loop later.)
+ const uint32_t max_code = allele_ct - 3;
+ for (uint32_t uii = 0; uii != fvals_byte_ct; ++uii) {
+ const uint32_t cur_byte = fvals[uii];
+ if (unlikely(((cur_byte & 15) > max_code) || ((cur_byte >> 4) > max_code))) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid multiallelic het-ref hardcall track for (0-based) variant #%u (out-of-range allele code).\n", vidx);
+ return 1;
+ }
+ }
+ }
+ // Validate trailing bits.
+ const uint32_t rare01_ct_mod2 = rare01_ct % 2;
+ if (rare01_ct_mod2) {
+ if (unlikely((*fread_pp)[-1] >> 4)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid multiallelic het-ref hardcall track for (0-based) variant #%u (nonzero trailing bits).\n", vidx);
+ return 1;
+ }
+ }
+ }
+ } else {
+ // 8-bit entries.
+ if (PtrAddCk(fread_end, rare01_ct, fread_pp)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid multiallelic het-ref hardcall track for (0-based) variant #%u (shorter than expected).\n", vidx);
+ return 1;
+ }
+ // Can optimize this loop later.
+ const uint32_t max_code = allele_ct - 3;
+ for (uint32_t uii = 0; uii != rare01_ct; ++uii) {
+ const uint32_t cur_byte = fvals[uii];
+ if (unlikely(cur_byte > max_code)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid multiallelic het-ref hardcall track for (0-based) variant #%u (out-of-range allele code).\n", vidx);
+ return 1;
+ }
+ }
+ }
+ }
+ }
+ if (aux1b_mode != 15) {
+ if (unlikely(!raw_10_ct)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Multiallelic altxy hardcall track present for (0-based) variant #%u, but no altxy calls exist.\n", vidx);
+ return 1;
+ }
+ uint32_t rare10_ct;
+ if (!aux1b_mode) {
+ const uint32_t subset_byte_ct = DivUp(raw_10_ct, CHAR_BIT);
+ if (PtrCheck(fread_end, *fread_pp, subset_byte_ct)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid multiallelic altxy hardcall bitarray-subset for (0-based) variant #%u.\n", vidx);
+ return 1;
+ }
+ rare10_ct = PopcountBytes(*fread_pp, subset_byte_ct);
+ if (unlikely(!rare10_ct)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Empty multiallelic altxy hardcall bitarray-subset for (0-based) variant #%u.\n", vidx);
+ return 1;
+ }
+ *fread_pp += subset_byte_ct;
+ const uint32_t raw_10_ct_mod8 = raw_10_ct % 8;
+ if (raw_10_ct_mod8) {
+ if (unlikely((*fread_pp)[-1] >> raw_10_ct_mod8)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Multiallelic altxy hardcall bitarray-subset for (0-based) variant #%u has nonzero trailing bits.\n", vidx);
+ return 1;
+ }
+ }
+ } else {
+ if (unlikely(ValidateAndCountDeltalist(fread_end, sample_ct, fread_pp, deltalist_workspace, &rare10_ct) || (!rare10_ct))) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid multiallelic altxy hardcall deltalist-subset for (0-based) variant #%u.\n", vidx);
+ return 1;
+ }
+ for (uint32_t uii = 0; uii != rare10_ct; ++uii) {
+ if (unlikely(GetNyparrEntry(raw_genovec, deltalist_workspace[uii]) != 2)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid multiallelic altxy hardcall deltalist-subset for (0-based) variant #%u (an index doesn't correspond to an altxy call).\n", vidx);
+ return 1;
+ }
+ }
+ }
+ const unsigned char* fvals = *fread_pp;
+ uint32_t het_incr;
+ if (allele_ct < 6) {
+ if (allele_ct == 3) {
+ // 1-bit entries.
+ const uint32_t fvals_byte_ct = DivUp(rare10_ct, 8);
+ if (PtrAddCk(fread_end, fvals_byte_ct, fread_pp)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid multiallelic altxy hardcall track for (0-based) variant #%u (shorter than expected).\n", vidx);
+ return 1;
+ }
+ const uint32_t rare10_ct_mod8 = rare10_ct % 8;
+ if (rare10_ct_mod8) {
+ if (unlikely((*fread_pp)[-1] >> rare10_ct_mod8)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid multiallelic altxy hardcall track for (0-based) variant #%u (nonzero trailing bits).\n", vidx);
+ return 1;
+ }
+ }
+ het_incr = rare10_ct - PopcountBytes(fvals, fvals_byte_ct);
+ } else {
+ // 2+2 bit entries.
+ const uint32_t fvals_byte_ct = DivUp(rare10_ct, 2);
+ if (PtrAddCk(fread_end, fvals_byte_ct, fread_pp)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid multiallelic altxy hardcall track for (0-based) variant #%u (shorter than expected).\n", vidx);
+ return 1;
+ }
+ // Can optimize this later.
+ uint64_t nybble_cts[16];
+ ZeroU64Arr(16, nybble_cts);
+ CountAllNybbles64(fvals, rare10_ct, nybble_cts);
+ // 1/1 is invalid here
+ if (nybble_cts[0]) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid multiallelic altxy hardcall track for (0-based) variant #%u (out-of-range allele code pair).\n", vidx);
+ return 1;
+ }
+ const uint32_t max_code = allele_ct - 2;
+ for (uint32_t hi_code = 0; hi_code != 4; ++hi_code) {
+ uint32_t lo_code = hi_code + 1;
+ if (hi_code > max_code) {
+ lo_code = 0;
+ }
+ const uint64_t* nybble_cts_offset = &(nybble_cts[hi_code * 4]);
+ for (; lo_code != 4; ++lo_code) {
+ if (nybble_cts_offset[lo_code]) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid multiallelic altxy hardcall track for (0-based) variant #%u (out-of-range allele code pair).\n", vidx);
+ return 1;
+ }
+ }
+ }
+ const uintptr_t rarehom_ct = nybble_cts[5] + nybble_cts[10] + nybble_cts[15];
+ het_incr = rare10_ct - rarehom_ct;
+ const uint32_t rare10_ct_mod2 = rare10_ct % 2;
+ if (rare10_ct_mod2) {
+ if (unlikely((*fread_pp)[-1] >> 4)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid multiallelic altxy hardcall track for (0-based) variant #%u (nonzero trailing bits).\n", vidx);
+ return 1;
+ }
+ }
+ }
+ } else {
+ if (allele_ct < 18) {
+ // 4+4 bit entries.
+ if (PtrAddCk(fread_end, rare10_ct, fread_pp)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid multiallelic altxy hardcall track for (0-based) variant #%u (shorter than expected).\n", vidx);
+ return 1;
+ }
+ const uint32_t max_code = allele_ct - 2;
+ het_incr = 0;
+ for (uint32_t uii = 0; uii != rare10_ct; ++uii) {
+ const uint32_t cur_byte = fvals[uii];
+ const uint32_t lo_code = cur_byte & 15;
+ const uint32_t hi_code = cur_byte >> 4;
+ if (unlikely((!hi_code) || (hi_code > max_code) || (lo_code > hi_code))) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid multiallelic altxy hardcall track for (0-based) variant #%u (out-of-range or misordered allele code pair).\n", vidx);
+ return 1;
+ }
+ het_incr += (lo_code != hi_code);
+ }
+ } else {
+ // 8+8 bit entries
+ if (PtrAddCk(fread_end, 2 * rare10_ct, fread_pp)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid multiallelic altxy hardcall track for (0-based) variant #%u (shorter than expected).\n", vidx);
+ return 1;
+ }
+ const uint32_t max_code = allele_ct - 2;
+ het_incr = 0;
+ for (uint32_t uii = 0; uii != rare10_ct; ++uii) {
+ const AlleleCode lo_code = fvals[2 * uii];
+ const AlleleCode hi_code = fvals[2 * uii + 1];
+ if (unlikely((!hi_code) || (hi_code > max_code) || (lo_code > hi_code))) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid multiallelic altxy hardcall track for (0-based) variant #%u (out-of-range or misordered allele code pair).\n", vidx);
+ return 1;
+ }
+ het_incr += (lo_code != hi_code);
+ }
+ }
+ }
+ *het_ctp += het_incr;
+ }
+ return 0;
+}
+
+BoolErr ValidateHphase(const unsigned char* fread_end, uint32_t vidx, uint32_t het_ct, const unsigned char** fread_pp, char* errstr_buf) {
+ if (unlikely(!het_ct)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Hardcall phase track present for (0-based) variant #%u, but there were no heterozygous calls.\n", vidx);
+ return 1;
+ }
+ const uint32_t aux2_first_part_byte_ct = 1 + (het_ct / CHAR_BIT);
+ const unsigned char* aux2_first_part = *fread_pp;
+ if (PtrAddCk(fread_end, aux2_first_part_byte_ct, fread_pp)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid hardcall phase track present for (0-based) variant #%u.\n", vidx);
+ return 1;
+ }
+ const uint32_t het_ct_p1_mod8 = (het_ct + 1) % CHAR_BIT;
+ if (het_ct_p1_mod8) {
+ // verify trailing bits are zero
+ if (unlikely((*fread_pp)[-1] >> het_ct_p1_mod8)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Hardcall phase track for (0-based) variant #%u has nonzero trailing bits.\n", vidx);
+ return 1;
+ }
+ }
+ if (!((*aux2_first_part) & 1)) {
+ // phase always present, "first part" is only part
+ return 0;
+ }
+ const uint32_t phasepresent_ct = PopcountBytes(aux2_first_part, aux2_first_part_byte_ct) - 1;
+ if (unlikely(!phasepresent_ct)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Hardcall phase track for (0-based) variant #%u does not have any actual phase information.\n", vidx);
+ return 1;
+ }
+ const uint32_t phaseinfo_byte_ct = DivUp(phasepresent_ct, CHAR_BIT);
+ if (PtrAddCk(fread_end, phaseinfo_byte_ct, fread_pp)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid hardcall phase track present for (0-based) variant #%u.\n", vidx);
+ return 1;
+ }
+ const uint32_t phasepresent_ct_mod8 = phasepresent_ct % 8;
+ if (phasepresent_ct_mod8) {
+ if (unlikely((*fread_pp)[-1] >> phasepresent_ct_mod8)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Hardcall phase track for (0-based) variant #%u has nonzero trailing bits.\n", vidx);
+ return 1;
+ }
+ }
+ return 0;
+}
+
+PglErr ValidateDosage16(const unsigned char* fread_end, uint32_t vidx, PgenReaderMain* pgrp, const unsigned char** fread_pp, char* errstr_buf) {
+ // similar to ParseDosage16(). doesn't support multiallelic data yet.
+ const uint32_t vrtype = pgrp->fi.vrtypes[vidx];
+ const uint32_t sample_ct = pgrp->fi.raw_sample_ct;
+ if ((vrtype & 0x60) == 0x40) {
+ // unconditional dosage. handle separately from other two cases since
+ // 65535 is valid.
+ const unsigned char* dosage_main_read = *fread_pp;
+ if (PtrAddCk(fread_end, sample_ct * sizeof(int16_t), fread_pp)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid unconditional dosage track for (0-based) variant #%u.\n", vidx);
+ return kPglRetMalformedInput;
+ }
+ // todo: verify genotype and dosage are consistent
+ for (uint32_t sample_idx = 0; sample_idx != sample_ct; ++sample_idx) {
+ uint16_t cur_dosage_val_p1;
+ CopyFromUnalignedOffsetU16(&cur_dosage_val_p1, dosage_main_read, sample_idx);
+ cur_dosage_val_p1 += 1; // intentional overflow on 65535
+ if (unlikely(cur_dosage_val_p1 > 32769)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid unconditional dosage track for (0-based) variant #%u (dosage is greater than 2).\n", vidx);
+ return kPglRetMalformedInput;
+ }
+ }
+ if (vrtype & 0x80) {
+ const unsigned char* dphase_delta_read = *fread_pp;
+ if (PtrAddCk(fread_end, sample_ct * sizeof(int16_t), fread_pp)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid unconditional phased-dosages for (0-based) variant #%u.\n", vidx);
+ return kPglRetMalformedInput;
+ }
+ for (uint32_t sample_idx = 0; sample_idx != sample_ct; ++sample_idx) {
+ uint16_t dosage_val;
+ CopyFromUnalignedOffsetU16(&dosage_val, dosage_main_read, sample_idx);
+ int16_t dphase_delta_val;
+ CopyFromUnalignedOffsetI16(&dphase_delta_val, dphase_delta_read, sample_idx);
+ const uint16_t dpiece0_x2 = dosage_val + dphase_delta_val;
+ const uint16_t dpiece1_x2 = dosage_val - dphase_delta_val;
+ // Update (11 May 2018): parity condition removed.
+ if ((dpiece0_x2 > 32768) || (dpiece1_x2 > 32768)) {
+ if (unlikely((dphase_delta_val != -32768) || (dosage_val != 65535))) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid unconditional phased-dosages for (0-based) variant #%u.\n", vidx);
+ return kPglRetMalformedInput;
+ }
+ }
+ }
+ }
+ return kPglRetSuccess;
+ }
+ uint32_t dosage_ct;
+ if ((vrtype & 0x60) == 0x20) {
+ // dosage list
+ if (unlikely(ValidateAndCountDeltalist(fread_end, sample_ct, fread_pp, nullptr, &dosage_ct))) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid dosage list for (0-based) variant #%u.\n", vidx);
+ return kPglRetMalformedInput;
+ }
+ } else {
+ const uint32_t sample_ctb = DivUp(sample_ct, CHAR_BIT);
+ if (PtrCheck(fread_end, *fread_pp, sample_ctb)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid dosage subset for (0-based) variant #%u.\n", vidx);
+ return kPglRetMalformedInput;
+ }
+ dosage_ct = PopcountBytes(*fread_pp, sample_ctb);
+ *fread_pp += sample_ctb;
+ const uint32_t sample_ct_mod8 = sample_ct % 8;
+ if (sample_ct_mod8) {
+ if (unlikely((*fread_pp)[-1] >> sample_ct_mod8)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Dosage subset bitarray for (0-based) variant #%u has nonzero trailing bits.\n", vidx);
+ return kPglRetMalformedInput;
+ }
+ }
+ }
+ const unsigned char* dosage_main_read = *fread_pp;
+ if (PtrAddCk(fread_end, dosage_ct * sizeof(int16_t), fread_pp)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid dosage track for (0-based) variant #%u.\n", vidx);
+ return kPglRetMalformedInput;
+ }
+ for (uint32_t dosage_idx = 0; dosage_idx != dosage_ct; ++dosage_idx) {
+ uint16_t cur_dosage_u16;
+ CopyFromUnalignedOffsetU16(&cur_dosage_u16, dosage_main_read, dosage_idx);
+ if (unlikely(cur_dosage_u16 > 32768)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid dosage track for (0-based) variant #%u (dosage is greater than 2).\n", vidx);
+ return kPglRetMalformedInput;
+ }
+ }
+ if (vrtype & 0x80) {
+ const unsigned char* file_dphase_present = *fread_pp;
+ const uint32_t dphase_present_byte_ct = DivUp(dosage_ct, CHAR_BIT);
+ if (PtrAddCk(fread_end, dphase_present_byte_ct, fread_pp)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid phased-dosage track for (0-based) variant #%u.\n", vidx);
+ return kPglRetMalformedInput;
+ }
+ const uint32_t trailing_bit_ct = dosage_ct % CHAR_BIT;
+ if (unlikely(trailing_bit_ct && ((*fread_pp)[-1] & (255 << trailing_bit_ct)))) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid phased-dosage track for (0-based) variant #%u.\n", vidx);
+ return kPglRetMalformedInput;
+ }
+ const unsigned char* dosage_main_read_biter = dosage_main_read;
+ const unsigned char* dphase_delta_read_biter = *fread_pp;
+ const uint32_t dphase_widx_last = (dphase_present_byte_ct - 1) / kBytesPerWord;
+ uint32_t loop_end = kBitsPerWord;
+ for (uint32_t dphase_widx = 0; ; ++dphase_widx) {
+ uintptr_t ww;
+ if (dphase_widx >= dphase_widx_last) {
+ if (dphase_widx > dphase_widx_last) {
+ break;
+ }
+ loop_end = 1 + ((dosage_ct - 1) % kBitsPerWord);
+ const uint32_t final_byte_ct = DivUp(loop_end, CHAR_BIT);
+ ww = SubwordLoad(&(file_dphase_present[dphase_widx * kBytesPerWord]), final_byte_ct);
+ } else {
+ CopyFromUnalignedOffsetW(&ww, file_dphase_present, dphase_widx);
+ }
+ for (uint32_t dphase_lowbits = 0; dphase_lowbits != loop_end; ++dphase_lowbits, dosage_main_read_biter += sizeof(int16_t)) {
+ if (!((ww >> dphase_lowbits) & 1)) {
+ continue;
+ }
+ uint16_t dosage_val;
+ CopyFromUnalignedU16(&dosage_val, dosage_main_read_biter);
+ int16_t dphase_delta_val;
+ CopyFromUnalignedIncrI16(&dphase_delta_val, &dphase_delta_read_biter);
+ const uint16_t dpiece0_x2 = dosage_val + dphase_delta_val;
+ const uint16_t dpiece1_x2 = dosage_val - dphase_delta_val;
+ if (unlikely((dpiece0_x2 > 32768) || (dpiece1_x2 > 32768))) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid phased-dosage track for (0-based) variant #%u.\n", vidx);
+ return kPglRetMalformedInput;
+ }
+ }
+ }
+ if (unlikely(dphase_delta_read_biter == *fread_pp)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid phased-dosage track for (0-based) variant #%u.\n", vidx);
+ return kPglRetMalformedInput;
+ }
+ *fread_pp = dphase_delta_read_biter;
+ if (PtrCheck(fread_end, *fread_pp, 0)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid phased-dosage track for (0-based) variant #%u.\n", vidx);
+ return kPglRetMalformedInput;
+ }
+ }
+ return kPglRetSuccess;
+}
+
+static_assert(kPglVblockSize == 65536, "PgrValidate() needs to have an error message updated.");
+PglErr PgrValidate(PgenReader* pgr_ptr, uintptr_t* genovec_buf, char* errstr_buf) {
+ PgenReaderMain* pgrp = GetPgrp(pgr_ptr);
+ // Performs all validation which isn't done by pgfi_init_phase{1,2}() and
+ // PgrInit().
+ const uintptr_t* allele_idx_offsets = pgrp->fi.allele_idx_offsets;
+ const uint32_t variant_ct = pgrp->fi.raw_variant_ct;
+ const uint32_t sample_ct = pgrp->fi.raw_sample_ct;
+ const uint32_t const_vrtype = pgrp->fi.const_vrtype;
+ if (const_vrtype != UINT32_MAX) {
+ if (unlikely(allele_idx_offsets && (allele_idx_offsets[variant_ct] != 2 * variant_ct))) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: .pvar file contains multiallelic variant(s), but .%s file does not.\n", (const_vrtype == kPglVrtypePlink1)? "bed" : "pgen");
+ return kPglRetInconsistentInput;
+ }
+ // const uintptr_t const_vrec_width = pgrp->fi.const_vrec_width;
+ if ((!const_vrtype) || (const_vrtype == kPglVrtypePlink1)) {
+ // only thing that can go wrong is nonzero trailing bits
+ const uint32_t dbl_sample_ct_mod4 = 2 * (sample_ct % 4);
+ if (!dbl_sample_ct_mod4) {
+ return kPglRetSuccess;
+ }
+ for (uint32_t vidx = 0; vidx != variant_ct; ++vidx) {
+ const unsigned char* fread_ptr;
+ const unsigned char* fread_end = nullptr;
+ if (unlikely(InitReadPtrs(vidx, pgrp, &fread_ptr, &fread_end))) {
+ FillPgenReadErrstrFromErrno(errstr_buf);
+ return kPglRetReadFail;
+ }
+ const uint32_t last_byte_in_record = fread_end[-1];
+ if (unlikely(last_byte_in_record >> dbl_sample_ct_mod4)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Last byte of (0-based) variant #%u has nonzero trailing bits.\n", vidx);
+ return kPglRetMalformedInput;
+ }
+ }
+ return kPglRetSuccess;
+ }
+ // todo: 16-bit dosage entries can't be in [32769,65534]
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Validation of fixed-width dosage formats is not implemented yet.\n");
+ return kPglRetNotYetSupported;
+ }
+ const unsigned char* vrtypes = pgrp->fi.vrtypes;
+ for (uint32_t vidx = 0; vidx < variant_ct; vidx += kPglVblockSize) {
+ if (unlikely(VrtypeLdCompressed(vrtypes[vidx]))) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: (0-based) variant #%u is LD-compressed; this is prohibited when the variant index is a multiple of 65536.\n", vidx);
+ return kPglRetMalformedInput;
+ }
+ }
+ // file size may not be validated yet.
+ uint64_t fsize;
+ FILE* ff = pgrp->ff;
+ if (unlikely(fseeko(ff, 0, SEEK_END))) {
+ FillPgenReadErrstrFromNzErrno(errstr_buf);
+ return kPglRetReadFail;
+ }
+ fsize = ftello(ff);
+ pgrp->fp_vidx = 1; // force fseek when loading first variant
+ // todo: verify equality if no mode-0x11 footer; and if there is a footer,
+ // validate it
+ const uint64_t expected_fsize_min = pgrp->fi.var_fpos[variant_ct];
+ if (unlikely(expected_fsize_min > fsize)) {
+ char* write_iter = strcpya_k(errstr_buf, "Error: .pgen header indicates that file size should be at least ");
+ write_iter = i64toa(expected_fsize_min, write_iter);
+ write_iter = strcpya_k(write_iter, " bytes, but actual file size is ");
+ write_iter = i64toa(fsize, write_iter);
+ strcpy_k(write_iter, " bytes.\n");
+ return kPglRetMalformedInput;
+ }
+ const uint32_t vblock_ct = DivUp(variant_ct, kPglVblockSize);
+ uint32_t header_ctrl = 0;
+ if (unlikely(fseeko(ff, 11, SEEK_SET))) {
+ FillPgenReadErrstrFromNzErrno(errstr_buf);
+ return kPglRetReadFail;
+ }
+ header_ctrl = getc_unlocked(ff);
+ if (unlikely(header_ctrl > 255)) {
+ FillPgenReadErrstr(ff, errstr_buf);
+ return kPglRetReadFail;
+ }
+ for (uint32_t vblock_idx = 0; vblock_idx != vblock_ct; ++vblock_idx) {
+ uint64_t vblock_start_fpos;
+ if (unlikely(!fread_unlocked(&vblock_start_fpos, sizeof(int64_t), 1, ff))) {
+ FillPgenReadErrstr(ff, errstr_buf);
+ return kPglRetReadFail;
+ }
+ if (unlikely(vblock_start_fpos != pgrp->fi.var_fpos[vblock_idx * kPglVblockSize])) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: .pgen header vblock-start index is inconsistent with variant record length index.\n");
+ return kPglRetMalformedInput;
+ }
+ }
+ const uint32_t vrtype_and_fpos_storage = header_ctrl & 15;
+ const uint32_t alt_allele_ct_byte_ct = (header_ctrl >> 4) & 3;
+ const uint32_t nonref_flags_stored = ((header_ctrl >> 6) == 3);
+
+ // does not include vrtypes yet
+ uint64_t vblock_index_byte_ct = kPglVblockSize * (1 + (vrtype_and_fpos_storage & 3) + alt_allele_ct_byte_ct);
+ if (nonref_flags_stored) {
+ vblock_index_byte_ct += kPglVblockSize / CHAR_BIT;
+ }
+ uint64_t last_vrtype_byte_offset = 0;
+ uint32_t trailing_shift = 4;
+ if (vrtype_and_fpos_storage & 8) {
+ vblock_index_byte_ct += kPglVblockSize >> (10 - vrtype_and_fpos_storage);
+ if (vrtype_and_fpos_storage == 8) {
+ const uint32_t variant_ct_mod4 = variant_ct % 4;
+ if (variant_ct_mod4) {
+ last_vrtype_byte_offset = 20 + (vblock_ct - 1) * (vblock_index_byte_ct + sizeof(int64_t)) + ((variant_ct % kPglVblockSize) / 4);
+ trailing_shift = variant_ct_mod4 * 2;
+ }
+ } else {
+ assert(vrtype_and_fpos_storage == 9);
+ if (variant_ct % 2) {
+ last_vrtype_byte_offset = 20 + (vblock_ct - 1) * (vblock_index_byte_ct + sizeof(int64_t)) + ((variant_ct % kPglVblockSize) / 2);
+ }
+ }
+ } else if (!(vrtype_and_fpos_storage & 4)) {
+ vblock_index_byte_ct += kPglVblockSize / 2;
+ if (variant_ct % 2) {
+ // bugfix (22 Nov 2017): forgot to add offset in last block
+ last_vrtype_byte_offset = 20 + (vblock_ct - 1) * (vblock_index_byte_ct + sizeof(int64_t)) + ((variant_ct % kPglVblockSize) / 2);
+ }
+ /*
+ } else {
+ vblock_index_byte_ct += kPglVblockSize;
+ */
+ }
+ if (last_vrtype_byte_offset) {
+ uint32_t last_vrtype_byte = 0;
+ if (unlikely(fseeko(ff, last_vrtype_byte_offset, SEEK_SET))) {
+ FillPgenReadErrstrFromNzErrno(errstr_buf);
+ return kPglRetReadFail;
+ }
+ last_vrtype_byte = getc_unlocked(ff);
+ if (unlikely(last_vrtype_byte > 255)) {
+ FillPgenReadErrstr(ff, errstr_buf);
+ return kPglRetReadFail;
+ }
+ if (unlikely(last_vrtype_byte >> trailing_shift)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Nonzero trailing bits in last vrtype index byte.\n");
+ return kPglRetMalformedInput;
+ }
+ }
+ const uintptr_t* nonref_flags = pgrp->fi.nonref_flags;
+ if (nonref_flags) {
+ const uint32_t variant_ct_modl = variant_ct % kBitsPerWord;
+ if (variant_ct % CHAR_BIT) {
+ if (unlikely(nonref_flags[variant_ct / kBitsPerWord] >> variant_ct_modl)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Nonzero trailing bits in last nonref_flags byte.\n");
+ return kPglRetMalformedInput;
+ }
+ }
+ }
+
+ // could move most of this into plink2_common and make it multithreaded, if
+ // speed is ever an issue.
+ uint32_t allele_ct = 2;
+ for (uint32_t vidx = 0; vidx != variant_ct; ++vidx) {
+ const unsigned char* fread_ptr;
+ const unsigned char* fread_end;
+ if (unlikely(InitReadPtrs(vidx, pgrp, &fread_ptr, &fread_end))) {
+ FillPgenReadErrstrFromErrno(errstr_buf);
+ return kPglRetReadFail;
+ }
+ const unsigned char* fread_ptr_start = fread_ptr;
+ if (unlikely(ValidateGeno(fread_end, vidx, pgrp, &fread_ptr, genovec_buf, errstr_buf))) {
+ return kPglRetMalformedInput;
+ }
+ ZeroTrailingNyps(sample_ct, genovec_buf);
+ const uint32_t vrtype = vrtypes[vidx];
+ uint32_t het_ct = CountNyp(genovec_buf, kMask5555, sample_ct);
+ if (allele_idx_offsets) {
+ allele_ct = allele_idx_offsets[vidx + 1] - allele_idx_offsets[vidx];
+ }
+ if (VrtypeMultiallelicHc(vrtype)) {
+ if (unlikely(ValidateMultiallelicHc(fread_end, genovec_buf, vidx, allele_ct, pgrp, &fread_ptr, &het_ct, errstr_buf))) {
+ return kPglRetMalformedInput;
+ }
+ }
+ // don't need genovec_buf to store main genotypes past this point.
+ if (VrtypeHphase(vrtype)) {
+ if (unlikely(ValidateHphase(fread_end, vidx, het_ct, &fread_ptr, errstr_buf))) {
+ return kPglRetMalformedInput;
+ }
+ }
+ if (vrtype & 0xe0) {
+ if (unlikely((vrtype & 0xe0) == 0x80)) {
+ snprintf(errstr_buf, kPglErrstrBufBlen, "Error: Invalid record type for (0-based) variant #%u (phased dosage bit set, but main dosage bits unset).\n", vidx);
+ return kPglRetMalformedInput;
+ }
+ PglErr reterr = ValidateDosage16(fread_end, vidx, pgrp, &fread_ptr, errstr_buf);
+ if (unlikely(reterr)) {
+ return reterr;
+ }
+ }
+ if (unlikely(fread_ptr != fread_end)) {
+ // possible todo: tolerate this at the end of a vblock.
+ char* write_iter = strcpya_k(errstr_buf, "Error: Extra byte(s) in (0-based) variant record #");
+ write_iter = u32toa(vidx, write_iter);
+ write_iter = strcpya_k(write_iter, ". (record type = ");
+ write_iter = u32toa(vrtype, write_iter);
+ write_iter = strcpya_k(write_iter, "; expected length = ");
+ write_iter = wtoa(S_CAST(uintptr_t, fread_ptr - fread_ptr_start), write_iter);
+ write_iter = strcpya_k(write_iter, ", actual = ");
+ write_iter = wtoa(S_CAST(uintptr_t, fread_end - fread_ptr_start), write_iter);
+ memcpy_k(write_iter, ")\n\0", 4);
+ return kPglRetMalformedInput;
+ }
+ }
+ return kPglRetSuccess;
+}
+
+
+BoolErr CleanupPgfi(PgenFileInfo* pgfip, PglErr* reterrp) {
+ // memory is the responsibility of the caller
+ if (pgfip->shared_ff) {
+ BoolErr pgi_fclose_err = 0;
+ if (pgfip->pgi_ff) {
+ pgi_fclose_err = fclose_null(&pgfip->pgi_ff);
+ }
+ if (unlikely(fclose_null(&pgfip->shared_ff) || pgi_fclose_err)) {
+ if (*reterrp == kPglRetSuccess) {
+ *reterrp = kPglRetReadFail;
+ return 1;
+ }
+ }
+ } else {
+ assert(!pgfip->pgi_ff);
+ }
+ return 0;
+}
+
+BoolErr CleanupPgr(PgenReader* pgr_ptr, PglErr* reterrp) {
+ PgenReaderMain* pgrp = GetPgrp(pgr_ptr);
+ // assume file is open if pgr.ff is not null
+ // memory is the responsibility of the caller for now
+ if (!pgrp->ff) {
+ return 0;
+ }
+ if (fclose_null(&(pgrp->ff))) {
+ if (*reterrp == kPglRetSuccess) {
+ *reterrp = kPglRetReadFail;
+ return 1;
+ }
+ }
+ return 0;
+}
+
+#ifdef __cplusplus
+} // namespace plink2
+#endif
diff --git a/external_libs/pgenlib/include/pgenlib_read.h b/external_libs/pgenlib/include/pgenlib_read.h
new file mode 100644
index 0000000..734e81a
--- /dev/null
+++ b/external_libs/pgenlib/include/pgenlib_read.h
@@ -0,0 +1,727 @@
+#ifndef __PGENLIB_READ_H__
+#define __PGENLIB_READ_H__
+
+// This library is part of PLINK 2.0, copyright (C) 2005-2024 Shaun Purcell,
+// Christopher Chang.
+//
+// This library is free software: you can redistribute it and/or modify it
+// under the terms of the GNU Lesser General Public License as published by the
+// Free Software Foundation; either version 3 of the License, or (at your
+// option) any later version.
+//
+// This library is distributed in the hope that it will be useful, but WITHOUT
+// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+// FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+// for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this library. If not, see .
+
+
+// pgenlib_read contains reader-specific code.
+
+#include "pgenlib_misc.h"
+
+#ifdef __cplusplus
+namespace plink2 {
+#endif
+
+FLAGSET_DEF_START()
+ kfPgrLdcache0,
+ kfPgrLdcacheNyp = (1 << 0),
+ kfPgrLdcacheDifflist = (1 << 1),
+ kfPgrLdcacheRawNyp = (1 << 2),
+ // may also want RawDifflist
+ kfPgrLdcacheBasicGenocounts = (1 << 3)
+FLAGSET_DEF_END(PgrLdcacheFlags);
+
+// PgenFileInfo and PgenReader are the main exported "classes".
+// Exported functions involving these data structure should all have
+// "pgfi"/"pgr" in their names.
+
+// Note that this can be default-copied.
+typedef struct PgenFileInfoStruct {
+ // ----- Header information, constant after initialization -----
+ uint32_t raw_variant_ct;
+ uint32_t raw_sample_ct;
+
+ // 0 if variant records aren't all the same length.
+ // If they are (e.g. PLINK 1 encoding; or vrtype bits 0-5 unset), we just
+ // fseek to
+ // const_fpos_offset + const_vrec_width * ((uint64_t)variant_idx).
+ uint64_t const_fpos_offset;
+
+ uint32_t const_vrec_width;
+
+ // see below. positioned here instead of slightly later due to struct
+ // packing behavior.
+ uint32_t const_vrtype; // 256 for plink 1 encoding, UINT32_MAX for nonconst
+
+ // size (raw_variant_ct + 1), so that the number of bytes of (zero-based)
+ // variant n is var_fpos[n+1] - var_fpos[n]. nullptr if
+ // const_vrec_width is nonzero.
+ // It's not difficult to save some memory here (e.g. unless we're dealing
+ // with >256 TB files, it's trivial to go from 8 bytes down to 6 bytes per
+ // entry), but I doubt that's worth the trouble; let's worry about
+ // O(mn)-or-worse stuff, and on-disk stuff, first.
+ uint64_t* var_fpos;
+
+ // Variant record type codes.
+ // base pointer is null if mode is 0x01-0x04 (const_vrtype != UINT32_MAX).
+ // if not nullptr, required to be length >=
+ // max(raw_variant_ct + 1, RoundUpPow2(raw_variant_ct, kBytesPerWord))
+ unsigned char* vrtypes;
+
+ // alt allele counts.
+
+ // This can be nullptr if all alt allele counts are 1.
+ // (actually, we store the allele index offsets, so
+ // (allele_idx_offsets[n+1] - allele_idx_offsets[n]) is the number of alleles
+ // for variant n. Otherwise, we'd need another data structure to support
+ // fast allele name lookup.)
+ uintptr_t* allele_idx_offsets;
+
+ uintptr_t* nonref_flags;
+
+ // If pgr.nonref_flags is nullptr and kfPgenGlobalAllNonref is unset, all
+ // reference alleles are assumed to be correct.
+ PgenGlobalFlags gflags;
+
+ uint32_t max_allele_ct;
+ // uint32_t max_dosage_allele_ct; // might need this later
+
+ uint32_t extensions_present;
+
+ // if using per-variant fread(), this is non-null during PgenFileInfo
+ // initialization, but it's then "moved" to the first Pgen_reader and set to
+ // nullptr.
+ FILE* shared_ff;
+
+ // can only be non-null after PgfiInitPhase1 and before PgfiInitPhase2 /
+ // PgfiInitLoadExts, and only if the external-index-file representation is
+ // used.
+ FILE* pgi_ff;
+
+ const unsigned char* block_base; // nullptr if using per-variant fread()
+ uint64_t block_offset;
+} PgenFileInfo;
+
+typedef struct PgenReaderMainStruct {
+ MOVABLE_BUT_NONCOPYABLE(PgenReaderMainStruct);
+ // would like to make this const, but that makes initialization really
+ // annoying in C99
+ struct PgenFileInfoStruct fi;
+
+ // ----- Mutable state -----
+ // If we don't fseek, what's the next variant we'd read?
+ uint32_t fp_vidx;
+
+ // ** per-variant fread()-only **
+ FILE* ff;
+ unsigned char* fread_buf;
+ // ** end per-variant fread()-only **
+
+ // if LD compression is present, cache the last non-LD-compressed variant
+ uint32_t ldbase_vidx;
+
+ // flags indicating which base_variant buffers are populated
+ PgrLdcacheFlags ldbase_stypes;
+
+ uint32_t ldbase_difflist_len;
+
+ // these should be treated as private after initial allocation.
+ // not currently guaranteed to have trailing zeroes.
+ uintptr_t* ldbase_raw_genovec; // now allocated even with no LD compression
+ uintptr_t* ldbase_genovec;
+ uintptr_t* ldbase_raregeno;
+
+ // when ldbase_difflist_sample_ids[] is initialized, element
+ // [ldbase_difflist_len] must be set to sample_ct.
+ uint32_t* ldbase_difflist_sample_ids;
+
+ // common genotype can be looked up from vrtypes[]
+
+ STD_ARRAY_DECL(uint32_t, 4, ldbase_basic_genocounts);
+
+ // now only allocated if multiallelic variants, phase, and/or dosage present
+ // most commonly used for unsubsetted genovec; all_hets can be computed from
+ // this and patch_10_{set,vals}, and then aux2 can be interpreted.
+ // can also be used for other purposes after we're done processing aux2.
+ uintptr_t* workspace_vec;
+
+ // currently must hold (raw_sample_ct / kPglMaxDifflistLenDivisor)
+ // entries; may need to double the sizes later
+ // some top-level interface functions use these, so several lower-level
+ // functions cannot
+ uintptr_t* workspace_raregeno_vec;
+ uint32_t* workspace_difflist_sample_ids;
+
+ // must hold (raw_sample_ct / kPglMaxDifflistLenDivisor) entries
+ uintptr_t* workspace_raregeno_tmp_loadbuf;
+
+ uintptr_t* workspace_aux1x_present;
+ uint64_t* workspace_imp_r2; // needed in multiallelic case
+
+ uintptr_t* workspace_all_hets;
+ uintptr_t* workspace_subset; // currently used for hphase decoding
+
+ uintptr_t* workspace_dosage_present;
+ uintptr_t* workspace_dphase_present;
+
+ // phase set loading (footer track in mode 0x11) unimplemented for now;
+ // should be a sequence of (sample ID, [uint32_t phase set begin, set end),
+ // [set begin, set end), ...).
+} PgenReaderMain;
+
+typedef struct PgenReaderStruct {
+#ifdef __cplusplus
+ PgenReaderMain& GET_PRIVATE_m() { return m; }
+ PgenReaderMain const& GET_PRIVATE_m() const { return m; }
+ private:
+#endif
+ PgenReaderMain m;
+} PgenReader;
+
+CONSTI32(kPglVrtypePlink1, 256);
+
+HEADER_INLINE uint32_t GetPgfiVrtype(const PgenFileInfo* pgfip, uint32_t vidx) {
+ if (pgfip->vrtypes) {
+ return pgfip->vrtypes[vidx];
+ }
+ return pgfip->const_vrtype;
+}
+
+HEADER_INLINE uint64_t GetPgfiFpos(const PgenFileInfo* pgfip, uintptr_t vidx) {
+ if (pgfip->var_fpos) {
+ return pgfip->var_fpos[vidx];
+ }
+ return pgfip->const_fpos_offset + pgfip->const_vrec_width * S_CAST(uint64_t, vidx);
+}
+
+HEADER_INLINE uint32_t GetPgfiVrecWidth(const PgenFileInfo* pgfip, uint32_t vidx) {
+ if (pgfip->var_fpos) {
+ return pgfip->var_fpos[vidx + 1] - pgfip->var_fpos[vidx];
+ }
+ return pgfip->const_vrec_width;
+}
+
+HEADER_INLINE uint32_t PgfiIsSimpleFormat(const PgenFileInfo* pgfip) {
+ return (pgfip->const_vrtype != UINT32_MAX);
+}
+
+HEADER_INLINE uint32_t VrtypeDifflist(uint32_t vrtype) {
+ return (vrtype & 4) && ((vrtype & 3) != 1);
+}
+
+HEADER_INLINE uint32_t VrtypeLdCompressed(uint32_t vrtype) {
+ return (vrtype & 6) == 2;
+}
+
+// Only checks for rarealt-containing hardcall. Multiallelic dosage may still
+// be present when this returns zero.
+HEADER_INLINE uint32_t VrtypeMultiallelicHc(uint32_t vrtype) {
+ return (vrtype & 8);
+}
+
+HEADER_INLINE uint32_t VrtypeHphase(uint32_t vrtype) {
+ return (vrtype & 0x10);
+}
+
+HEADER_INLINE uint32_t VrtypeAuxTracksPresent(uint32_t vrtype) {
+ return (vrtype & 0x78);
+}
+
+HEADER_INLINE uint32_t VrtypeVariableWidth(uint32_t vrtype) {
+ return (vrtype & 0x3e);
+}
+
+HEADER_INLINE uint32_t VrtypeDosage(uint32_t vrtype) {
+ return (vrtype & 0x60);
+}
+
+static_assert(kPglMaxAltAlleleCt <= 254, "GetAux1xAlleleEntryByteCt() needs to be updated.");
+HEADER_INLINE uintptr_t GetAux1aAlleleEntryByteCt(uint32_t allele_ct, uint32_t rare01_ct) {
+ assert(allele_ct >= 3);
+ if (allele_ct == 3) {
+ return 0;
+ }
+ if (allele_ct == 4) {
+ return DivUp(rare01_ct, 8);
+ }
+ if (allele_ct <= 6) {
+ return DivUp(rare01_ct, 4);
+ }
+ if (allele_ct <= 18) {
+ return DivUp(rare01_ct, 2);
+ }
+ return rare01_ct;
+}
+
+HEADER_INLINE unsigned char* PgrGetFreadBuf(PgenReader* pgr_ptr) {
+ PgenReaderMain* pgrp = &GET_PRIVATE(*pgr_ptr, m);
+ return pgrp->fread_buf;
+}
+
+HEADER_INLINE unsigned char* PgrGetVrtypes(PgenReader* pgr_ptr) {
+ PgenReaderMain* pgrp = &GET_PRIVATE(*pgr_ptr, m);
+ return pgrp->fi.vrtypes;
+}
+
+HEADER_INLINE uint32_t PgrGetVrtype(const PgenReader* pgr_ptr, uint32_t vidx) {
+ const PgenReaderMain* pgrp = &GET_PRIVATE(*pgr_ptr, m);
+ if (pgrp->fi.vrtypes) {
+ return pgrp->fi.vrtypes[vidx];
+ }
+ return pgrp->fi.const_vrtype;
+}
+
+HEADER_INLINE uintptr_t* PgrGetNonrefFlags(PgenReader* pgr_ptr) {
+ PgenReaderMain* pgrp = &GET_PRIVATE(*pgr_ptr, m);
+ return pgrp->fi.nonref_flags;
+}
+
+HEADER_INLINE PgenGlobalFlags PgrGetGflags(const PgenReader* pgr_ptr) {
+ const PgenReaderMain* pgrp = &GET_PRIVATE(*pgr_ptr, m);
+ return pgrp->fi.gflags;
+}
+
+HEADER_INLINE uint32_t PgrGetMaxAlleleCt(const PgenReader* pgr_ptr) {
+ const PgenReaderMain* pgrp = &GET_PRIVATE(*pgr_ptr, m);
+ return pgrp->fi.max_allele_ct;
+}
+
+HEADER_INLINE void PgrSetFreadBuf(unsigned char* fread_buf, PgenReader* pgr_ptr) {
+ PgenReaderMain* pgrp = &GET_PRIVATE(*pgr_ptr, m);
+ pgrp->fread_buf = fread_buf;
+}
+
+HEADER_INLINE void PgrCopyBaseAndOffset(const PgenFileInfo* pgfip, uint32_t thread_ct, PgenReader** pgr_ptr_arr) {
+ for (uint32_t tidx = 0; tidx != thread_ct; ++tidx) {
+ PgenReaderMain* pgrp = &GET_PRIVATE(*(pgr_ptr_arr[tidx]), m);
+ pgrp->fi.block_base = pgfip->block_base;
+ pgrp->fi.block_offset = pgfip->block_offset;
+ }
+}
+
+// This is necessary when changing sample_include, unless the new query is
+// iterating from the first variant. (Which can almost never be assumed in
+// plink2 since variant_include[] may not include the first variant.)
+HEADER_INLINE void PgrClearLdCache(PgenReader* pgr_ptr) {
+ PgenReaderMain* pgrp = &GET_PRIVATE(*pgr_ptr, m);
+ pgrp->ldbase_stypes &= kfPgrLdcacheRawNyp;
+
+ // bugfix, LdLoadNecessary() was otherwise claiming that reload wasn't
+ // necessary in certain cases
+ pgrp->ldbase_vidx = 0x80000000U;
+}
+
+// Design change (30 Nov 2019): It is easy to forget to call PgrClearLdCache
+// when changing sample_include. However, each sample_include change must be
+// accompanied by a sample_include_cumulative_popcounts update. So, if we
+// define a sample_include_cumulative_popcounts wrapper-type which can only be
+// initialized by a function that also clears a PgenReader LD cache, and modify
+// all PgrGet... functions to require this wrapper-type, the frequency of
+// foot-shooting should go down.
+//
+// The key usage rule is: only use this as a local variable type, and define
+// only one of these per function (unless you're using multiple PgenReaders
+// simultaneously, anyway). If you're changing the sample-subset when entering
+// and exiting chrY, call PgrSetSampleSubsetIndex on your single
+// PgrSampleSubsetIndex at the time you're crossing a chrY boundary. Don't
+// define two preinitialized PgrSetSampleSubsetIndexes...
+// (possible todo: if compiling as C++ and NDEBUG isn't defined, add a counter
+// field to PgenReader which is initialized to zero, asserted to be zero and
+// then incremented by PgrSetSampleSubsetIndex, and decremented by the
+// PgrSampleSubsetIndex destructor.)
+typedef struct PgrSampleSubsetIndexStruct {
+#ifdef __cplusplus
+ const uint32_t*& GET_PRIVATE_cumulative_popcounts() { return cumulative_popcounts; }
+ const uint32_t* const& GET_PRIVATE_cumulative_popcounts() const { return cumulative_popcounts; }
+ private:
+#endif
+ const uint32_t* cumulative_popcounts;
+} PgrSampleSubsetIndex;
+
+HEADER_INLINE void PgrSetSampleSubsetIndex(const uint32_t* sample_include_cumulative_popcounts, PgenReader* pgr_ptr, PgrSampleSubsetIndex* pssi_ptr) {
+ GET_PRIVATE(*pssi_ptr, cumulative_popcounts) = sample_include_cumulative_popcounts;
+ PgrClearLdCache(pgr_ptr);
+}
+
+HEADER_INLINE void PgrClearSampleSubsetIndex(PgenReader* pgr_ptr, PgrSampleSubsetIndex* pssi_ptr) {
+ GET_PRIVATE(*pssi_ptr, cumulative_popcounts) = nullptr;
+ if (pgr_ptr) {
+ PgrClearLdCache(pgr_ptr);
+ }
+}
+
+HEADER_INLINE void PgrSetBaseAndOffset0(unsigned char* block_base, uint32_t thread_ct, PgenReader** pgr_ptr_arr) {
+ for (uint32_t tidx = 0; tidx != thread_ct; ++tidx) {
+ PgenReader* pgr_ptr = pgr_ptr_arr[tidx];
+ PgrClearLdCache(pgr_ptr);
+ PgenReaderMain* pgrp = &GET_PRIVATE(*pgr_ptr, m);
+ pgrp->fi.block_base = block_base;
+ pgrp->fi.block_offset = 0;
+ }
+}
+
+// PgenFileInfo initialization is split into two phases, to decouple
+// plink2's arena allocator from this library. (obvious todo: provide a simple
+// malloc-using PgenReader constructor for anyone who doesn't want to worry
+// about these details.)
+//
+// Phase 1: Open the .pgen (and .pgen.pgi, if relevant); verify that the
+// initial bytes are consistent with the file format; load/verify sample and
+// variant counts, initialize pgfi.const_vrtype, pgfi.const_vrec_width, and
+// pgfi.const_fpos_offset; determine initial memory allocation requirement.
+// pgfi_alloc_cacheline_ct does not include allele counts and nonref flags,
+// since it may be more appropriate to allocate those arrays earlier (during
+// loading of a .bim-like file).
+//
+// pgfi.var_fpos is set to nullptr if pgfi.const_vrec_width is nonzero.
+// pgfi.vrtypes/var_allele_cts are set to nullptr in the plink1-format case.
+//
+// raw_sample_ct and raw_variant_ct should be UINT32_MAX if not previously
+// known.
+//
+// Intermission: Caller obtains a block of pgfi_alloc_cacheline_ct * 64 bytes,
+// 64-byte aligned. The cachealigned_malloc() function can be used for this
+// purpose. If necessary, pgfi.allele_idx_offsets and pgfi.nonref_flags
+// should be pointed at already-loaded data, or allocated so they can be
+// loaded during phase 2.
+//
+// Phase 2: Initialize most pointers in the PgenReader struct to appropriate
+// positions in first_alloc. For modes 0x10-0x11, load pgfi.var_fpos and
+// pgfi.vrtypes, load/validate pgfi.allele_idx_offsets and pgfi.nonref_flags
+// if appropriate, and initialize pgfi.gflags, pgfi.max_allele_ct, and
+// pgfi.max_dosage_allele_ct.
+//
+// Finally, if block-fread mode is being used, pgfi.block_base must be
+// initialized to point to a memory large enough to handle the largest
+// pgfi_block_read() operation that will be attempted.
+// pgfi_blockload_get_cacheline_req() can be used to determine the necessary
+// buffer size.
+
+// This type may change if we introduce a more read-optimized format in the
+// future. Right now it just tracks the presence/absence of two optional
+// pieces of information: allele counts and nonref flags.
+typedef uint32_t PgenHeaderCtrl;
+
+void PreinitPgfi(PgenFileInfo* pgfip);
+
+// There are two modes of operation:
+// 1. fread block-load. Block-load operations are single-threaded, while
+// decompression/counting is multithreaded. Appropriate for whole-genome
+// queries, since even with a SSD, reading from multiple parts of a file
+// simultaneously doesn't work well.
+// 2. fread single-variant-at-a-time. Simpler interface than block-load, and
+// doesn't share its inability to handle multiple queries at a time, but
+// less performant for CPU-heavy operations on the whole genome.
+// First mode corresponds to use_blockload == 1 in phase2, and second mode
+// corresponds to use_blockload == 0.
+//
+// There was originally a third mmap-based mode, which was removed on 14 Mar
+// 2022. If you are interested in building e.g. a webserver backend that can
+// address multiple queries in parallel, refer to plink-ng commit c470317,
+// which captures the state of the codebase immediately preceding removal of
+// the mmap mode.
+//
+// Other notes:
+// - If pgi_fname is nullptr but the .pgen has an external index file, the
+// index file name is assumed to be the .pgen filename with .pgi appended.
+// - pgi_fname is ignored if the .pgen does not have an external index file.
+// - raw_variant_ct must be in [1, 2^31 - 3], and raw_sample_ct must be in [1,
+// 2^31 - 2].
+PglErr PgfiInitPhase1(const char* fname, const char* pgi_fname, uint32_t raw_variant_ct, uint32_t raw_sample_ct, PgenHeaderCtrl* header_ctrl_ptr, PgenFileInfo* pgfip, uintptr_t* pgfi_alloc_cacheline_ct_ptr, char* errstr_buf);
+
+// If allele_cts_already_loaded is set, but they're present in the file,
+// they'll be validated; similarly for nonref_flags_already_loaded.
+//
+// If caller is interested in extensions, they should pass in header_exts
+// and/or footer_exts entries with type_idx set to those of the extensions of
+// interest, and type_idx values in increasing order. On return, .size values
+// of each entry will be filled when the extension is present, and set to ~0LLU
+// when the extension is absent.
+PglErr PgfiInitPhase2Ex(PgenHeaderCtrl header_ctrl, uint32_t allele_cts_already_loaded, uint32_t nonref_flags_already_loaded, uint32_t use_blockload, uint32_t vblock_idx_start, uint32_t vidx_end, uint32_t* max_vrec_width_ptr, PgenFileInfo* pgfip, unsigned char* pgfi_alloc, PgenExtensionLl* header_exts, PgenExtensionLl* footer_exts, uintptr_t* pgr_alloc_cacheline_ct_ptr, char* errstr_buf);
+
+HEADER_INLINE PglErr PgfiInitPhase2(PgenHeaderCtrl header_ctrl, uint32_t allele_cts_already_loaded, uint32_t nonref_flags_already_loaded, uint32_t use_blockload, uint32_t vblock_idx_start, uint32_t vidx_end, uint32_t* max_vrec_width_ptr, PgenFileInfo* pgfip, unsigned char* pgfi_alloc, uintptr_t* pgr_alloc_cacheline_ct_ptr, char* errstr_buf) {
+ return PgfiInitPhase2Ex(header_ctrl, allele_cts_already_loaded, nonref_flags_already_loaded, use_blockload, vblock_idx_start, vidx_end, max_vrec_width_ptr, pgfip, pgfi_alloc, nullptr, nullptr, pgr_alloc_cacheline_ct_ptr, errstr_buf);
+}
+
+// Expected to be called right after PgfiInitPhase2Ex(), after memory buffers
+// are provided for header_exts / footer_exts entries.
+PglErr PgfiInitLoadExts(PgenHeaderCtrl header_ctrl, PgenFileInfo* pgfip, PgenExtensionLl* header_exts, PgenExtensionLl* footer_exts, char* errstr_buf);
+
+uint64_t GetPgfiLdbaseFpos(const PgenFileInfo* pgfip, uintptr_t vidx);
+
+uint64_t PgfiMultireadGetCachelineReq(const uintptr_t* variant_include, const PgenFileInfo* pgfip, uint32_t variant_ct, uint32_t block_size);
+
+// variant_include can be nullptr; in that case, we simply load all the
+// variants (load_variant_ct must be variant_uidx_end - variant_uidx_start).)
+// IMPORTANT: pgfi.block_offset must be manually copied to each reader for now.
+// (todo: probably replace pgr.fi with a pointer. when doing that, need to
+// ensure multiple per-variant readers still works.)
+PglErr PgfiMultiread(const uintptr_t* variant_include, uint32_t variant_uidx_start, uint32_t variant_uidx_end, uint32_t load_variant_ct, PgenFileInfo* pgfip);
+
+
+void PreinitPgr(PgenReader* pgr_ptr);
+
+// Before PgrInit() is called, the caller must obtain a block of
+// pgr_alloc_cacheline_ct * 64 bytes (this value is returned by
+// pgfi_init_phase2), 64-byte aligned; this is the pgr_alloc parameter.
+//
+// There's also a modal usage difference:
+//
+// * Mode 1 (block-fread): There is one PgenFileInfo per file which doesn't
+// belong to any reader. After it's initialized, multiple PgenReaders can be
+// based off of it. When the PgenFileInfo is destroyed, those PgenReaders
+// are invalidated and should be destroyed if that hasn't already happened.
+//
+// fname parameter must be nullptr.
+//
+// * Mode 2 (per-variant fread): Destruction of the original PgenFileInfo
+// struct does not invalidate any extant PgenReader instances (at least
+// from pgenlib_read's perspective). Instead, destruction of the
+// corresponding memory block or allele_idx_offsets/nonref_flags invalidates
+// the associated PgenReaders.
+//
+// The only difference between the first reader and later readers of the same
+// file is that the first reader steals the shared_ff used to read the
+// header.
+//
+// fname parameter must be non-null.
+
+// max_vrec_width ignored when using mode 1.
+PglErr PgrInit(const char* fname, uint32_t max_vrec_width, PgenFileInfo* pgfip, PgenReader* pgr_ptr, unsigned char* pgr_alloc);
+
+// practically all these functions require genovec to be allocated up to
+// vector, not word, boundary
+void PgrPlink1ToPlink2InplaceUnsafe(uint32_t sample_ct, uintptr_t* genovec);
+
+void PgrPlink2ToPlink1InplaceUnsafe(uint32_t sample_ct, uintptr_t* genovec);
+
+// Function names for the main reader functions were getting ridiculous.
+// New naming scheme:
+// * PgrGet() is the basic two-bit genovec loader. All ALT alleles are treated
+// as equivalent. (00 = hom ref, 01 = het ref, 10 = two alt alleles, 11 =
+// missing.)
+// * PgrGetInv1() is similar, except that the allele index to treat as REF can
+// be changed.
+// * PgrGet1() only counts the specified allele. To minimize inversion costs,
+// GetInv1() should be called on major alleles and Get1() should be called on
+// minor ones.
+// * PgrGetM() is the multiallelic loader which doesn't collapse multiple
+// alleles into one. This retrieves a sparse form identical to what
+// PwcAppendMultiallelicSparse takes.
+// Multiallelic-dosage read functions (PgrReadRaw() included) will probably
+// fill a 3-part data structure of the following form:
+// 1. Bitarray indicating which samples have at least one rarealt dosage.
+// 2. unsigned char array where, if bits a, b, and c are the only set ones in
+// the first array, the first three elements of the second array are
+// rarealt dosage counts (1..255) for those three samples. (Could also
+// put those in positions [a], [b], and [c], but that produces worse
+// memory access locality, and it makes sense to treat multiallelic
+// dosages as fundamentally sparse.)
+// 3. Let R := MINV(255, allele_ct - 2).
+// a. Length-(sample_ct x R) array of AlleleCodes.
+// b. Length-(sample_ct x R) array of uint16_t dosage (or int16_t dphase)
+// values.
+// Again we use the sparse representation, with payload values packed at
+// the beginning.
+// (--indiv-sort algorithm: initialize an array of uintptr_ts of length
+// sample_ct where [k] has that sample's start index in the payload arrays.)
+// * PgrGetDifflistOrGenovec() opportunistically returns the sparse genotype
+// representation ('difflist'), for functions capable of taking advantage of
+// it. See SampleCountsThread() in plink2_misc for a usage example.
+// * PgrGetCounts() is equivalent to calling PgrGet() and then counting the
+// number of 00s, 01s, 10s, and 11s, without the overhead of fully expanding
+// the compressed data, etc.
+// * P suffix = also returns hardcall-phase information.
+// * D suffix = also returns dosage information.
+// * Dp suffix = also returns hardcall-phase, dosage and phased-dosage
+// information.
+// * PgrGet2() and PgrGet2P() loads biallelic (possibly phased) hardcalls from
+// a possibly-multiallelic variant. Any hardcall where either allele is not
+// one of the specified two alleles is set to missing.
+// There is no dosage-supporting version of this because rescaling sucks.
+
+// This will normally extract only the genotype indexes corresponding to set
+// bits in sample_include. Set sample_ct == raw_sample_ct if you don't want
+// any subsetting to occur (in this case sample_include is ignored, can be
+// nullptr).
+// sample_ct cannot be zero. Trailing bits of genovec are not zeroed out.
+// Ok if genovec only has space for sample_ct values.
+PglErr PgrGet(const uintptr_t* __restrict sample_include, PgrSampleSubsetIndex pssi, uint32_t sample_ct, uint32_t vidx, PgenReader* pgr_ptr, uintptr_t* __restrict genovec);
+
+// Loads the specified variant as a difflist if that's more efficient, setting
+// difflist_common_geno to the common genotype value in that case. Otherwise,
+// genovec is populated and difflist_common_geno is set to UINT32_MAX.
+//
+// max_simple_difflist_len must be smaller than sample_ct.
+//
+// Note that the returned difflist_len can be much larger than
+// max_simple_difflist_len when the variant is LD-encoded; it's bounded by
+// 2 * (raw_sample_ct / kPglMaxDifflistLenDivisor).
+// (probable todo: this interface has... rather sharp edges, even relative to
+// the rest of this low-level library. Maybe it shouldn't be deleted, but it
+// would be better if there was a function that took a max_difflist_len
+// parameter, and it was safe for difflist_sample_ids to only be allocated up
+// to that length.)
+PglErr PgrGetDifflistOrGenovec(const uintptr_t* __restrict sample_include, PgrSampleSubsetIndex pssi, uint32_t sample_ct, uint32_t max_simple_difflist_len, uint32_t vidx, PgenReader* pgr_ptr, uintptr_t* __restrict genovec, uint32_t* __restrict difflist_common_geno_ptr, uintptr_t* __restrict main_raregeno, uint32_t* __restrict difflist_sample_ids, uint32_t* __restrict difflist_len_ptr);
+
+// genocounts[0] = # hom ref, [1] = # het ref, [2] = two alts, [3] = missing
+PglErr PgrGetCounts(const uintptr_t* __restrict sample_include, const uintptr_t* __restrict sample_include_interleaved_vec, PgrSampleSubsetIndex pssi, uint32_t sample_ct, uint32_t vidx, PgenReader* pgr_ptr, STD_ARRAY_REF(uint32_t, 4) genocounts);
+
+// genocounts[0] = # of hardcalls with two copies of specified allele
+// genocounts[1] = # of hardcalls with exactly one copy of specified allele
+// genocounts[2] = # of hardcalls with no copies
+// genocounts[3] = missing
+PglErr PgrGetInv1Counts(const uintptr_t* __restrict sample_include, const uintptr_t* __restrict sample_include_interleaved_vec, PgrSampleSubsetIndex pssi, uint32_t sample_ct, uint32_t vidx, uint32_t allele_idx, PgenReader* pgr_ptr, STD_ARRAY_REF(uint32_t, 4) genocounts);
+
+PglErr IMPLPgrGet1(const uintptr_t* __restrict sample_include, const uint32_t* __restrict sample_include_cumulative_popcounts, uint32_t sample_ct, uint32_t vidx, uint32_t allele_idx, PgenReaderMain* pgrp, uintptr_t* __restrict allele_countvec);
+
+// Loads a nypvec with counts of a single allele (allele_idx 0 corresponds to
+// the reference allele, allele_idx 1 corresponds to alt1, etc.). 0b11 ==
+// missing call.
+// Note that calling this with allele_idx == 0 is similar to a plink1 load
+// (except with missing == 0b11, of course).
+// todo: provide a difflist interface once anyone wants it.
+HEADER_INLINE PglErr PgrGet1(const uintptr_t* __restrict sample_include, PgrSampleSubsetIndex pssi, uint32_t sample_ct, uint32_t vidx, uint32_t allele_idx, PgenReader* pgr_ptr, uintptr_t* __restrict allele_countvec) {
+ PgenReaderMain* pgrp = &GET_PRIVATE(*pgr_ptr, m);
+ const uint32_t* sample_include_cumulative_popcounts = GET_PRIVATE(pssi, cumulative_popcounts);
+ return IMPLPgrGet1(sample_include, sample_include_cumulative_popcounts, sample_ct, vidx, allele_idx, pgrp, allele_countvec);
+}
+
+PglErr IMPLPgrGetInv1(const uintptr_t* __restrict sample_include, const uint32_t* __restrict sample_include_cumulative_popcounts, uint32_t sample_ct, uint32_t vidx, uint32_t allele_idx, PgenReaderMain* pgrp, uintptr_t* __restrict allele_invcountvec);
+
+HEADER_INLINE PglErr PgrGetInv1(const uintptr_t* __restrict sample_include, PgrSampleSubsetIndex pssi, uint32_t sample_ct, uint32_t vidx, uint32_t allele_idx, PgenReader* pgr_ptr, uintptr_t* __restrict allele_invcountvec) {
+ PgenReaderMain* pgrp = &GET_PRIVATE(*pgr_ptr, m);
+ const uint32_t* sample_include_cumulative_popcounts = GET_PRIVATE(pssi, cumulative_popcounts);
+ return IMPLPgrGetInv1(sample_include, sample_include_cumulative_popcounts, sample_ct, vidx, allele_idx, pgrp, allele_invcountvec);
+}
+
+PglErr IMPLPgrGetInv1DifflistOrGenovec(const uintptr_t* __restrict sample_include, const uint32_t* __restrict sample_include_cumulative_popcounts, uint32_t sample_ct, uint32_t max_simple_difflist_len, uint32_t vidx, uint32_t allele_idx, PgenReaderMain* pgrp, uintptr_t* __restrict allele_invcountvec, uint32_t* __restrict difflist_common_geno_ptr, uintptr_t* __restrict main_raregeno, uint32_t* __restrict difflist_sample_ids, uint32_t* __restrict difflist_len_ptr);
+
+HEADER_INLINE PglErr PgrGetInv1DifflistOrGenovec(const uintptr_t* __restrict sample_include, PgrSampleSubsetIndex pssi, uint32_t sample_ct, uint32_t max_simple_difflist_len, uint32_t vidx, uint32_t allele_idx, PgenReader* pgr_ptr, uintptr_t* __restrict allele_invcountvec, uint32_t* __restrict difflist_common_geno_ptr, uintptr_t* __restrict main_raregeno, uint32_t* __restrict difflist_sample_ids, uint32_t* __restrict difflist_len_ptr) {
+ PgenReaderMain* pgrp = &GET_PRIVATE(*pgr_ptr, m);
+ const uint32_t* sample_include_cumulative_popcounts = GET_PRIVATE(pssi, cumulative_popcounts);
+ return IMPLPgrGetInv1DifflistOrGenovec(sample_include, sample_include_cumulative_popcounts, sample_ct, max_simple_difflist_len, vidx, allele_idx, pgrp, allele_invcountvec, difflist_common_geno_ptr, main_raregeno, difflist_sample_ids, difflist_len_ptr);
+}
+
+PglErr IMPLPgrGet2(const uintptr_t* __restrict sample_include, const uint32_t* __restrict sample_include_cumulative_popcounts, uint32_t sample_ct, uint32_t vidx, uint32_t allele_idx0, uint32_t allele_idx1, PgenReaderMain* pgrp, uintptr_t* __restrict genovec);
+
+HEADER_INLINE PglErr PgrGet2(const uintptr_t* __restrict sample_include, PgrSampleSubsetIndex pssi, uint32_t sample_ct, uint32_t vidx, uint32_t allele_idx0, uint32_t allele_idx1, PgenReader* pgr_ptr, uintptr_t* __restrict genovec) {
+ PgenReaderMain* pgrp = &GET_PRIVATE(*pgr_ptr, m);
+ const uint32_t* sample_include_cumulative_popcounts = GET_PRIVATE(pssi, cumulative_popcounts);
+ return IMPLPgrGet2(sample_include, sample_include_cumulative_popcounts, sample_ct, vidx, allele_idx0, allele_idx1, pgrp, genovec);
+}
+
+void PreinitPgv(PgenVariant* pgvp);
+
+PglErr PgrGetM(const uintptr_t* __restrict sample_include, PgrSampleSubsetIndex pssi, uint32_t sample_ct, uint32_t vidx, PgenReader* pgr_ptr, PgenVariant* pgvp);
+
+// possible todo: add functions which directly support MAF-based queries. Note
+// that when the difflist representation is used, we can disqualify some
+// low-MAF variants without actually loading the genotype data, since the size
+// of the record puts an upper bound on the alt allele frequency.
+
+// requires trailing bits of genoarr to be zeroed out.
+HEADER_INLINE void PgrDetectGenoarrHetsUnsafe(const uintptr_t*__restrict genoarr, uint32_t raw_sample_ctl2, uintptr_t* __restrict all_hets) {
+ PackWordsToHalfwordsInvmatch(genoarr, kMaskAAAA, raw_sample_ctl2, all_hets);
+ if (raw_sample_ctl2 % 2) {
+ Halfword* __attribute__((may_alias)) all_hets_alias = DowncastWToHW(all_hets);
+ all_hets_alias[raw_sample_ctl2] = 0;
+ }
+}
+
+HEADER_INLINE void PgrDetectGenoarrHets(const uintptr_t* __restrict genoarr, uint32_t raw_sample_ct, uintptr_t* __restrict all_hets) {
+ PackWordsToHalfwordsInvmatch(genoarr, kMaskAAAA, NypCtToWordCt(raw_sample_ct), all_hets);
+ ZeroTrailingBits(raw_sample_ct, all_hets);
+}
+
+// sample_ct > 0. ok for trailing bits of genoarr to not be zeroed out.
+void PgrDetectGenoarrHetsMultiallelic(const uintptr_t* __restrict genoarr, const uintptr_t* __restrict patch_10_set, const AlleleCode* __restrict patch_10_vals, uint32_t raw_sample_ct, uintptr_t* __restrict all_hets);
+
+// cannot assume phaseinfo bit is clear when phasepresent is clear.
+PglErr PgrGetP(const uintptr_t* __restrict sample_include, PgrSampleSubsetIndex pssi, uint32_t sample_ct, uint32_t vidx, PgenReader* pgr_ptr, uintptr_t* __restrict genovec, uintptr_t* __restrict phasepresent, uintptr_t* __restrict phaseinfo, uint32_t* __restrict phasepresent_ct_ptr);
+
+PglErr PgrGet1P(const uintptr_t* __restrict sample_include, PgrSampleSubsetIndex pssi, uint32_t sample_ct, uint32_t vidx, uint32_t allele_idx, PgenReader* pgr_ptr, uintptr_t* __restrict allele_countvec, uintptr_t* __restrict phasepresent, uintptr_t* __restrict phaseinfo, uint32_t* __restrict phasepresent_ct_ptr);
+
+PglErr IMPLPgrGetInv1P(const uintptr_t* __restrict sample_include, const uint32_t* __restrict sample_include_cumulative_popcounts, uint32_t sample_ct, uint32_t vidx, uint32_t allele_idx, PgenReaderMain* pgrp, uintptr_t* __restrict allele_invcountvec, uintptr_t* __restrict phasepresent, uintptr_t* __restrict phaseinfo, uint32_t* __restrict phasepresent_ct_ptr);
+
+HEADER_INLINE PglErr PgrGetInv1P(const uintptr_t* __restrict sample_include, PgrSampleSubsetIndex pssi, uint32_t sample_ct, uint32_t vidx, uint32_t allele_idx, PgenReader* pgr_ptr, uintptr_t* __restrict allele_invcountvec, uintptr_t* __restrict phasepresent, uintptr_t* __restrict phaseinfo, uint32_t* __restrict phasepresent_ct_ptr) {
+ PgenReaderMain* pgrp = &GET_PRIVATE(*pgr_ptr, m);
+ const uint32_t* sample_include_cumulative_popcounts = GET_PRIVATE(pssi, cumulative_popcounts);
+ return IMPLPgrGetInv1P(sample_include, sample_include_cumulative_popcounts, sample_ct, vidx, allele_idx, pgrp, allele_invcountvec, phasepresent, phaseinfo, phasepresent_ct_ptr);
+}
+
+PglErr PgrGet2P(const uintptr_t* __restrict sample_include, PgrSampleSubsetIndex pssi, uint32_t sample_ct, uint32_t vidx, uint32_t allele_idx0, uint32_t allele_idx1, PgenReader* pgr_ptr, uintptr_t* __restrict genovec, uintptr_t* __restrict phasepresent, uintptr_t* __restrict phaseinfo, uint32_t* __restrict phasepresent_ct_ptr);
+
+PglErr PgrGetMP(const uintptr_t* __restrict sample_include, PgrSampleSubsetIndex pssi, uint32_t sample_ct, uint32_t vidx, PgenReader* pgr_ptr, PgenVariant* pgvp);
+
+PglErr IMPLPgrGetD(const uintptr_t* __restrict sample_include, const uint32_t* __restrict sample_include_cumulative_popcounts, uint32_t sample_ct, uint32_t vidx, PgenReaderMain* pgrp, uintptr_t* __restrict genovec, uintptr_t* __restrict dosage_present, uint16_t* dosage_main, uint32_t* dosage_ct_ptr);
+
+// if dosage_present and dosage_main are nullptr, dosage data is ignored
+HEADER_INLINE PglErr PgrGetD(const uintptr_t* __restrict sample_include, PgrSampleSubsetIndex pssi, uint32_t sample_ct, uint32_t vidx, PgenReader* pgr_ptr, uintptr_t* __restrict genovec, uintptr_t* __restrict dosage_present, uint16_t* dosage_main, uint32_t* dosage_ct_ptr) {
+ PgenReaderMain* pgrp = &GET_PRIVATE(*pgr_ptr, m);
+ const uint32_t* sample_include_cumulative_popcounts = GET_PRIVATE(pssi, cumulative_popcounts);
+ return IMPLPgrGetD(sample_include, sample_include_cumulative_popcounts, sample_ct, vidx, pgrp, genovec, dosage_present, dosage_main, dosage_ct_ptr);
+}
+
+PglErr PgrGet1D(const uintptr_t* __restrict sample_include, PgrSampleSubsetIndex pssi, uint32_t sample_ct, uint32_t vidx, AlleleCode allele_idx, PgenReader* pgr_ptr, uintptr_t* __restrict allele_countvec, uintptr_t* __restrict dosage_present, uint16_t* dosage_main, uint32_t* dosage_ct_ptr);
+
+PglErr PgrGetInv1D(const uintptr_t* __restrict sample_include, PgrSampleSubsetIndex pssi, uint32_t sample_ct, uint32_t vidx, AlleleCode allele_idx, PgenReader* pgr_ptr, uintptr_t* __restrict allele_invcountvec, uintptr_t* __restrict dosage_present, uint16_t* dosage_main, uint32_t* dosage_ct_ptr);
+
+// When computing either form of imputation-r2, this function requires the
+// variant to be biallelic; PgrGetMDCounts must be called in that multiallelic
+// case.
+// imp_r2_ptr must be non-null when is_minimac3_r2 is set.
+PglErr PgrGetDCounts(const uintptr_t* __restrict sample_include, const uintptr_t* __restrict sample_include_interleaved_vec, PgrSampleSubsetIndex pssi, uint32_t sample_ct, uint32_t vidx, uint32_t is_minimac3_r2, PgenReader* pgr_ptr, double* imp_r2_ptr, STD_ARRAY_REF(uint32_t, 4) genocounts, uint64_t* __restrict all_dosages);
+
+PglErr PgrGetMDCounts(const uintptr_t* __restrict sample_include, const uintptr_t* __restrict sample_include_interleaved_vec, PgrSampleSubsetIndex pssi, uint32_t sample_ct, uint32_t vidx, uint32_t is_minimac3_r2, PgenReader* pgr_ptr, double* __restrict imp_r2_ptr, uint32_t* __restrict het_ctp, STD_ARRAY_REF(uint32_t, 4) genocounts, uint64_t* __restrict all_dosages);
+
+PglErr PgrGetMD(const uintptr_t* __restrict sample_include, PgrSampleSubsetIndex pssi, uint32_t sample_ct, uint32_t vidx, PgenReader* pgr_ptr, PgenVariant* pgvp);
+
+PglErr IMPLPgrGetDp(const uintptr_t* __restrict sample_include, const uint32_t* __restrict sample_include_cumulative_popcounts, uint32_t sample_ct, uint32_t vidx, PgenReaderMain* pgrp, PgenVariant* pgvp);
+
+// ok for both dosage_present and dosage_main to be nullptr when no dosage data
+// is present
+// ok for dphase_present/dphase_delta to be nullptr; dphase_ct always set to 0
+// in that case
+HEADER_INLINE PglErr PgrGetDp(const uintptr_t* __restrict sample_include, PgrSampleSubsetIndex pssi, uint32_t sample_ct, uint32_t vidx, PgenReader* pgr_ptr, PgenVariant* pgvp) {
+ PgenReaderMain* pgrp = &GET_PRIVATE(*pgr_ptr, m);
+ const uint32_t* sample_include_cumulative_popcounts = GET_PRIVATE(pssi, cumulative_popcounts);
+ return IMPLPgrGetDp(sample_include, sample_include_cumulative_popcounts, sample_ct, vidx, pgrp, pgvp);
+}
+
+// pgvp->genovec filled with inverse-counts for specified allele
+PglErr PgrGetInv1Dp(const uintptr_t* __restrict sample_include, PgrSampleSubsetIndex pssi, uint32_t sample_ct, uint32_t vidx, AlleleCode allele_idx, PgenReader* pgr_ptr, PgenVariant* pgvp);
+
+PglErr PgrGetMDp(const uintptr_t* __restrict sample_include, PgrSampleSubsetIndex pssi, uint32_t sample_ct, uint32_t vidx, PgenReader* pgr_ptr, PgenVariant* pgvp);
+
+// interface used by --make-pgen, just performs basic LD/difflist decompression
+// to maximize parallelism
+PglErr PgrGetRaw(uint32_t vidx, PgenGlobalFlags read_gflags, PgenReader* pgr_ptr, uintptr_t** loadbuf_iter_ptr, unsigned char* loaded_vrtype_ptr);
+
+PglErr PgrValidate(PgenReader* pgr_ptr, uintptr_t* genovec_buf, char* errstr_buf);
+
+// missingness bit is set iff hardcall is not present (even if dosage info *is*
+// present)
+PglErr PgrGetMissingness(const uintptr_t* __restrict sample_include, PgrSampleSubsetIndex pssi, uint32_t sample_ct, uint32_t vidx, PgenReader* pgr_ptr, uintptr_t* __restrict missingness, uintptr_t* __restrict genovec_buf);
+
+// either missingness_hc (hardcall) or missingness_dosage must be non-null for
+// now
+// missingness_dosage must be vector-aligned
+PglErr PgrGetMissingnessD(const uintptr_t* __restrict sample_include, PgrSampleSubsetIndex pssi, uint32_t sample_ct, uint32_t vidx, PgenReader* pgr_ptr, uintptr_t* __restrict missingness_hc, uintptr_t* __restrict missingness_dosage, uintptr_t* __restrict hets, uintptr_t* __restrict genovec_buf);
+
+
+// error-return iff reterr was success and was changed to kPglRetReadFail (i.e.
+// an error message should be printed).
+BoolErr CleanupPgfi(PgenFileInfo* pgfip, PglErr* reterrp);
+
+BoolErr CleanupPgr(PgenReader* pgr_ptr, PglErr* reterrp);
+
+#ifdef __cplusplus
+} // namespace plink2
+#endif
+
+#endif // __PGENLIB_READ_H__
diff --git a/external_libs/pgenlib/include/pgenlib_read.o b/external_libs/pgenlib/include/pgenlib_read.o
new file mode 100644
index 0000000..26268e0
Binary files /dev/null and b/external_libs/pgenlib/include/pgenlib_read.o differ
diff --git a/external_libs/pgenlib/include/plink2_base.cc b/external_libs/pgenlib/include/plink2_base.cc
new file mode 100644
index 0000000..58f7f4e
--- /dev/null
+++ b/external_libs/pgenlib/include/plink2_base.cc
@@ -0,0 +1,717 @@
+// This library is part of PLINK 2.0, copyright (C) 2005-2024 Shaun Purcell,
+// Christopher Chang.
+//
+// This library is free software: you can redistribute it and/or modify it
+// under the terms of the GNU Lesser General Public License as published by the
+// Free Software Foundation; either version 3 of the License, or (at your
+// option) any later version.
+//
+// This library is distributed in the hope that it will be useful, but WITHOUT
+// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+// FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+// for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this library. If not, see .
+
+
+#include "plink2_base.h"
+
+#ifdef __cplusplus
+namespace plink2 {
+#endif
+
+uint64_t g_failed_alloc_attempt_size = 0;
+
+#if (((__GNUC__ == 4) && (__GNUC_MINOR__ < 7)) || (__GNUC__ >= 11)) && !defined(__APPLE__)
+BoolErr pgl_malloc(uintptr_t size, void* pp) {
+ *S_CAST(unsigned char**, pp) = S_CAST(unsigned char*, malloc(size));
+ if (likely(*S_CAST(unsigned char**, pp))) {
+ return 0;
+ }
+ g_failed_alloc_attempt_size = size;
+ return 1;
+}
+#endif
+
+BoolErr fwrite_checked(const void* buf, uintptr_t len, FILE* outfile) {
+ while (len > kMaxBytesPerIO) {
+ // OS X fwrite() doesn't support 2GiB+ writes
+ // typical disk block size is 4kb, so 0x7ffff000 is the largest sensible
+ // write size
+ // bugfix (9 Mar 2018): forgot a 'not' here...
+ if (unlikely(!fwrite_unlocked(buf, kMaxBytesPerIO, 1, outfile))) {
+ return 1;
+ }
+ buf = &(S_CAST(const unsigned char*, buf)[kMaxBytesPerIO]);
+ len -= kMaxBytesPerIO;
+ }
+ uintptr_t written_byte_ct = fwrite_unlocked(buf, 1, len, outfile);
+ // must do the right thing when len == 0
+ return (written_byte_ct != len);
+}
+
+/*
+IntErr fread_checked2(void* buf, uintptr_t len, FILE* infile, uintptr_t* bytes_read_ptr) {
+ uintptr_t bytes_read = 0;
+ while (len > kMaxBytesPerIO) {
+ const uintptr_t cur_bytes_read = fread_unlocked(buf, 1, kMaxBytesPerIO, infile);
+ bytes_read += cur_bytes_read;
+ if (cur_bytes_read != kMaxBytesPerIO) {
+ *bytes_read_ptr = bytes_read;
+ return ferror_unlocked(infile);
+ }
+ buf = &(((char*)buf)[kMaxBytesPerIO]);
+ len -= kMaxBytesPerIO;
+ }
+ bytes_read += fread_unlocked(buf, 1, len, infile);
+ *bytes_read_ptr = bytes_read;
+ // could skip ferror_unlocked call if bytes_read == original len
+ return ferror_unlocked(infile);
+}
+*/
+
+BoolErr fread_checked(void* buf, uintptr_t len, FILE* infile) {
+ while (len > kMaxBytesPerIO) {
+ const uintptr_t cur_bytes_read = fread_unlocked(buf, 1, kMaxBytesPerIO, infile);
+ if (unlikely(cur_bytes_read != kMaxBytesPerIO)) {
+ return 1;
+ }
+ buf = &(S_CAST(unsigned char*, buf)[kMaxBytesPerIO]);
+ len -= kMaxBytesPerIO;
+ }
+ const uintptr_t cur_bytes_read = fread_unlocked(buf, 1, len, infile);
+ return (cur_bytes_read != len);
+}
+
+#ifdef __LP64__
+static inline BoolErr ScanUintCappedFinish(const char* str_iter, uint64_t cap, uint32_t* valp) {
+ uint64_t val = *valp;
+ while (1) {
+ // a little bit of unrolling seems to help
+ const uint64_t cur_digit = ctou64(*str_iter++) - 48;
+ if (cur_digit >= 10) {
+ break;
+ }
+ // val = val * 10 + cur_digit;
+ const uint64_t cur_digit2 = ctou64(*str_iter++) - 48;
+ if (cur_digit2 >= 10) {
+ val = val * 10 + cur_digit;
+ if (unlikely(val > cap)) {
+ return 1;
+ }
+ break;
+ }
+ val = val * 100 + cur_digit * 10 + cur_digit2;
+ if (unlikely(val > cap)) {
+ return 1;
+ }
+ }
+ *valp = val;
+ return 0;
+}
+
+BoolErr ScanPosintCapped(const char* str_iter, uint64_t cap, uint32_t* valp) {
+ // '0' has ascii code 48
+ assert(ctou32(str_iter[0]) > 32);
+ *valp = ctou32(*str_iter++) - 48;
+ if (*valp >= 10) {
+ // permit leading '+' (ascii 43), but not '++' or '+-'
+ // reasonable to use unlikely() here since these functions aren't used for
+ // numeric vs. non-numeric classification anyway due to erroring out on
+ // overflow
+ if (unlikely(*valp != 0xfffffffbU)) {
+ return 1;
+ }
+ *valp = ctou32(*str_iter++) - 48;
+ if (unlikely(*valp >= 10)) {
+ return 1;
+ }
+ }
+ while (!(*valp)) {
+ *valp = ctou32(*str_iter++) - 48;
+ if (unlikely((*valp) >= 10)) {
+ return 1;
+ }
+ }
+ return ScanUintCappedFinish(str_iter, cap, valp);
+}
+
+// Note that NumericRangeListToBitarr() can call this in an ignore-overflow
+// mode. If similar logic ever goes into an inner loop, remove all unlikely()
+// annotations in this function and its children.
+BoolErr ScanUintCapped(const char* str_iter, uint64_t cap, uint32_t* valp) {
+ // Reads an integer in [0, cap]. Assumes first character is nonspace.
+ assert(ctou32(str_iter[0]) > 32);
+ uint32_t val = ctou32(*str_iter++) - 48;
+ if (val >= 10) {
+ if (val != 0xfffffffbU) {
+ // '-' has ascii code 45, so unsigned 45 - 48 = 0xfffffffdU
+ if (unlikely((val != 0xfffffffdU) || (*str_iter != '0'))) {
+ return 1;
+ }
+ // accept "-0", "-00", etc.
+ while (*(++str_iter) == '0');
+ *valp = 0;
+ return (ctou32(*str_iter) - 48) < 10;
+ }
+ // accept leading '+'
+ val = ctou32(*str_iter++) - 48;
+ if (unlikely(val >= 10)) {
+ return 1;
+ }
+ }
+ *valp = val;
+ return ScanUintCappedFinish(str_iter, cap, valp);
+}
+
+BoolErr ScanIntAbsBounded(const char* str_iter, uint64_t bound, int32_t* valp) {
+ // Reads an integer in [-bound, bound]. Assumes first character is nonspace.
+ assert(ctou32(str_iter[0]) > 32);
+ *valp = ctou32(*str_iter++) - 48;
+ int32_t sign = 1;
+ if (ctou32(*valp) >= 10) {
+ if (*valp == -3) {
+ sign = -1;
+ } else if (unlikely(*valp != -5)) {
+ return 1;
+ }
+ *valp = ctou32(*str_iter++) - 48;
+ if (unlikely(*valp >= 10)) {
+ return 1;
+ }
+ }
+ if (unlikely(ScanUintCappedFinish(str_iter, bound, I32ToU32(valp)))) {
+ return 1;
+ }
+ *valp *= sign;
+ return 0;
+}
+#else // not __LP64__
+BoolErr ScanPosintCapped32(const char* str_iter, uint32_t cap_div_10, uint32_t cap_mod_10, uint32_t* valp) {
+ // '0' has ascii code 48
+ assert(ctou32(str_iter[0]) > 32);
+ uint32_t val = ctou32(*str_iter++) - 48;
+ if (val >= 10) {
+ if (unlikely(val != 0xfffffffbU)) {
+ return 1;
+ }
+ val = ctou32(*str_iter++) - 48;
+ if (unlikely(val >= 10)) {
+ return 1;
+ }
+ }
+ while (!val) {
+ val = ctou32(*str_iter++) - 48;
+ if (unlikely(val >= 10)) {
+ return 1;
+ }
+ }
+ for (; ; ++str_iter) {
+ const uint32_t cur_digit = ctou32(*str_iter) - 48;
+ if (cur_digit >= 10) {
+ *valp = val;
+ return 0;
+ }
+ // avoid integer overflow in middle of computation
+ if (unlikely((val >= cap_div_10) && ((val > cap_div_10) || (cur_digit > cap_mod_10)))) {
+ return 1;
+ }
+ val = val * 10 + cur_digit;
+ }
+}
+
+BoolErr ScanUintCapped32(const char* str_iter, uint32_t cap_div_10, uint32_t cap_mod_10, uint32_t* valp) {
+ // Reads an integer in [0, cap]. Assumes first character is nonspace.
+ assert(ctou32(str_iter[0]) > 32);
+ uint32_t val = ctou32(*str_iter++) - 48;
+ if (val >= 10) {
+ if (val != 0xfffffffbU) {
+ if (unlikely((val != 0xfffffffdU) || (*str_iter != '0'))) {
+ return 1;
+ }
+ while (*(++str_iter) == '0');
+ *valp = 0;
+ return (ctou32(*str_iter) - 48) < 10;
+ }
+ val = ctou32(*str_iter++) - 48;
+ if (unlikely(val >= 10)) {
+ return 1;
+ }
+ }
+ for (; ; ++str_iter) {
+ const uint32_t cur_digit = ctou32(*str_iter) - 48;
+ if (cur_digit >= 10) {
+ *valp = val;
+ return 0;
+ }
+ if (unlikely((val >= cap_div_10) && ((val > cap_div_10) || (cur_digit > cap_mod_10)))) {
+ return 1;
+ }
+ val = val * 10 + cur_digit;
+ }
+}
+
+BoolErr ScanIntAbsBounded32(const char* str_iter, uint32_t bound_div_10, uint32_t bound_mod_10, int32_t* valp) {
+ // Reads an integer in [-bound, bound]. Assumes first character is nonspace.
+ assert(ctou32(str_iter[0]) > 32);
+ uint32_t val = ctou32(*str_iter++) - 48;
+ int32_t sign = 1;
+ if (val >= 10) {
+ if (val == 0xfffffffdU) {
+ sign = -1;
+ } else if (unlikely(val != 0xfffffffbU)) {
+ return 1;
+ }
+ val = ctou32(*str_iter++) - 48;
+ if (unlikely(val >= 10)) {
+ return 1;
+ }
+ }
+ for (; ; ++str_iter) {
+ const uint32_t cur_digit = ctou32(*str_iter) - 48;
+ if (cur_digit >= 10) {
+ *valp = sign * S_CAST(int32_t, val);
+ return 0;
+ }
+ if (unlikely((val >= bound_div_10) && ((val > bound_div_10) || (cur_digit > bound_mod_10)))) {
+ return 1;
+ }
+ val = val * 10 + cur_digit;
+ }
+}
+#endif
+
+BoolErr aligned_malloc(uintptr_t size, uintptr_t alignment, void* aligned_pp) {
+ // Assumes malloc returns word-aligned addresses.
+ assert(alignment);
+ assert(!(alignment % kBytesPerWord));
+ uintptr_t malloc_addr;
+ if (unlikely(pgl_malloc(size + alignment, &malloc_addr))) {
+ return 1;
+ }
+ assert(!(malloc_addr % kBytesPerWord));
+ uintptr_t** casted_aligned_pp = S_CAST(uintptr_t**, aligned_pp);
+ *casted_aligned_pp = R_CAST(uintptr_t*, RoundDownPow2(malloc_addr + alignment, alignment));
+ (*casted_aligned_pp)[-1] = malloc_addr;
+ return 0;
+}
+
+#if defined(USE_SSE2) && !defined(NO_UNALIGNED)
+int32_t memequal(const void* m1, const void* m2, uintptr_t byte_ct) {
+ const unsigned char* m1_uc = S_CAST(const unsigned char*, m1);
+ const unsigned char* m2_uc = S_CAST(const unsigned char*, m2);
+ if (byte_ct < 16 + (kBytesPerVec / 2)) {
+ if (byte_ct < kBytesPerWord) {
+ if (byte_ct < 4) {
+ if (byte_ct < 2) {
+ return (!byte_ct) || (m1_uc[0] == m2_uc[0]);
+ }
+ if ((*S_CAST(const uint16_t*, m1)) != (*S_CAST(const uint16_t*, m2))) {
+ return 0;
+ }
+ if ((byte_ct == 3) && (m1_uc[2] != m2_uc[2])) {
+ return 0;
+ }
+ return 1;
+ }
+ if ((*R_CAST(const uint32_t*, m1_uc)) != (*R_CAST(const uint32_t*, m2_uc))) {
+ return 0;
+ }
+ if (byte_ct > 4) {
+ const uintptr_t final_offset = byte_ct - 4;
+ if ((*R_CAST(const uint32_t*, &(m1_uc[final_offset]))) != (*R_CAST(const uint32_t*, &(m2_uc[final_offset])))) {
+ return 0;
+ }
+ }
+ return 1;
+ }
+ const uintptr_t* m1_alias = R_CAST(const uintptr_t*, m1_uc);
+ const uintptr_t* m2_alias = R_CAST(const uintptr_t*, m2_uc);
+ if (m1_alias[0] != m2_alias[0]) {
+ return 0;
+ }
+ if (byte_ct >= 16) {
+ if (m1_alias[1] != m2_alias[1]) {
+ return 0;
+ }
+# ifdef USE_AVX2
+ if (byte_ct >= 24) {
+ if (m1_alias[2] != m2_alias[2]) {
+ return 0;
+ }
+ }
+# endif
+ }
+ if (byte_ct % kBytesPerWord) {
+ const uintptr_t final_offset = byte_ct - kBytesPerWord;
+ if ((*R_CAST(const uintptr_t*, &(m1_uc[final_offset]))) != (*R_CAST(const uintptr_t*, &(m2_uc[final_offset])))) {
+ return 0;
+ }
+ }
+ return 1;
+ }
+ // Don't use VecW since _mm_cmpeq_epi64() not defined until SSE4.1.
+ const VecUc* m1_alias = S_CAST(const VecUc*, m1);
+ const VecUc* m2_alias = S_CAST(const VecUc*, m2);
+ const uintptr_t vec_ct = byte_ct / kBytesPerVec;
+ for (uintptr_t vidx = 0; vidx != vec_ct; ++vidx) {
+ // tried unrolling this, doesn't make a difference
+ const VecUc v1 = vecuc_loadu(&(m1_alias[vidx]));
+ const VecUc v2 = vecuc_loadu(&(m2_alias[vidx]));
+ if (vecuc_movemask(v1 == v2) != kVec8thUintMax) {
+ return 0;
+ }
+ }
+ if (byte_ct % kBytesPerVec) {
+ // put this last instead of first, for better behavior when inputs are
+ // aligned
+ const uintptr_t final_offset = byte_ct - kBytesPerVec;
+ const VecUc v1 = vecuc_loadu(&(m1_uc[final_offset]));
+ const VecUc v2 = vecuc_loadu(&(m2_uc[final_offset]));
+ if (vecuc_movemask(v1 == v2) != kVec8thUintMax) {
+ return 0;
+ }
+ }
+ return 1;
+}
+
+// clang/gcc memcmp is not that well-optimized for the short strings we usually
+// compare.
+int32_t Memcmp(const void* m1, const void* m2, uintptr_t byte_ct) {
+ const unsigned char* m1_uc = S_CAST(const unsigned char*, m1);
+ const unsigned char* m2_uc = S_CAST(const unsigned char*, m2);
+ // tried larger crossover threshold, doesn't help
+ if (byte_ct < kBytesPerVec) {
+ if (byte_ct < kBytesPerWord) {
+ if (byte_ct < 4) {
+ for (uintptr_t pos = 0; pos != byte_ct; ++pos) {
+ const unsigned char ucc1 = m1_uc[pos];
+ const unsigned char ucc2 = m2_uc[pos];
+ if (ucc1 != ucc2) {
+ return (ucc1 < ucc2)? -1 : 1;
+ }
+ }
+ return 0;
+ }
+ uint32_t m1_u32 = *S_CAST(const uint32_t*, m1);
+ uint32_t m2_u32 = *S_CAST(const uint32_t*, m2);
+ if (m1_u32 != m2_u32) {
+ return (__builtin_bswap32(m1_u32) < __builtin_bswap32(m2_u32))? -1 : 1;
+ }
+ if (byte_ct > 4) {
+ const uintptr_t final_offset = byte_ct - 4;
+ m1_u32 = *R_CAST(const uint32_t*, &(m1_uc[final_offset]));
+ m2_u32 = *R_CAST(const uint32_t*, &(m2_uc[final_offset]));
+ if (m1_u32 != m2_u32) {
+ return (__builtin_bswap32(m1_u32) < __builtin_bswap32(m2_u32))? -1 : 1;
+ }
+ }
+ return 0;
+ }
+ const uintptr_t* m1_alias = R_CAST(const uintptr_t*, m1_uc);
+ const uintptr_t* m2_alias = R_CAST(const uintptr_t*, m2_uc);
+ uintptr_t m1_word = m1_alias[0];
+ uintptr_t m2_word = m2_alias[0];
+ if (m1_word != m2_word) {
+ return (__builtin_bswap64(m1_word) < __builtin_bswap64(m2_word))? -1 : 1;
+ }
+# ifdef USE_AVX2
+ if (byte_ct >= 16) {
+ m1_word = m1_alias[1];
+ m2_word = m2_alias[1];
+ if (m1_word != m2_word) {
+ return (__builtin_bswap64(m1_word) < __builtin_bswap64(m2_word))? -1 : 1;
+ }
+ if (byte_ct >= 24) {
+ m1_word = m1_alias[2];
+ m2_word = m2_alias[2];
+ if (m1_word != m2_word) {
+ return (__builtin_bswap64(m1_word) < __builtin_bswap64(m2_word))? -1 : 1;
+ }
+ }
+ }
+# endif
+ if (byte_ct % kBytesPerWord) {
+ const uintptr_t final_offset = byte_ct - kBytesPerWord;
+ m1_word = *R_CAST(const uintptr_t*, &(m1_uc[final_offset]));
+ m2_word = *R_CAST(const uintptr_t*, &(m2_uc[final_offset]));
+ if (m1_word != m2_word) {
+ return (__builtin_bswap64(m1_word) < __builtin_bswap64(m2_word))? -1 : 1;
+ }
+ }
+ return 0;
+ }
+ const VecUc* m1_alias = S_CAST(const VecUc*, m1);
+ const VecUc* m2_alias = S_CAST(const VecUc*, m2);
+ const uintptr_t fullvec_ct = byte_ct / kBytesPerVec;
+ // uh, clang/LLVM -O2 optimizes this better when comparison is != instead of
+ // ugh, time to change all of the for loops...
+ // (and yes, both -O3 configurations generate worse code here)
+ // at least for loop is better than do-while loop even when 1 iteration is
+ // guaranteed...
+ for (uintptr_t vidx = 0; vidx != fullvec_ct; ++vidx) {
+ const VecUc v1 = vecuc_loadu(&(m1_alias[vidx]));
+ const VecUc v2 = vecuc_loadu(&(m2_alias[vidx]));
+ // is this even worthwhile now in non-AVX2 case?
+ const uint32_t movemask_result = vecuc_movemask(v1 == v2);
+ if (movemask_result != kVec8thUintMax) {
+ const uintptr_t diff_pos = vidx * kBytesPerVec + ctzu32(~movemask_result);
+ return (m1_uc[diff_pos] < m2_uc[diff_pos])? -1 : 1;
+ }
+ }
+ if (byte_ct % kBytesPerVec) {
+ const uintptr_t final_offset = byte_ct - kBytesPerVec;
+ const VecUc v1 = vecuc_loadu(&(m1_uc[final_offset]));
+ const VecUc v2 = vecuc_loadu(&(m2_uc[final_offset]));
+ const uint32_t movemask_result = vecuc_movemask(v1 == v2);
+ if (movemask_result != kVec8thUintMax) {
+ const uintptr_t diff_pos = final_offset + ctzu32(~movemask_result);
+ return (m1_uc[diff_pos] < m2_uc[diff_pos])? -1 : 1;
+ }
+ }
+ return 0;
+}
+#endif // defined(USE_SSE2) && !defined(NO_UNALIGNED)
+
+const uint16_t kDigitPair[] = {
+ 0x3030, 0x3130, 0x3230, 0x3330, 0x3430, 0x3530, 0x3630, 0x3730, 0x3830, 0x3930,
+ 0x3031, 0x3131, 0x3231, 0x3331, 0x3431, 0x3531, 0x3631, 0x3731, 0x3831, 0x3931,
+ 0x3032, 0x3132, 0x3232, 0x3332, 0x3432, 0x3532, 0x3632, 0x3732, 0x3832, 0x3932,
+ 0x3033, 0x3133, 0x3233, 0x3333, 0x3433, 0x3533, 0x3633, 0x3733, 0x3833, 0x3933,
+ 0x3034, 0x3134, 0x3234, 0x3334, 0x3434, 0x3534, 0x3634, 0x3734, 0x3834, 0x3934,
+ 0x3035, 0x3135, 0x3235, 0x3335, 0x3435, 0x3535, 0x3635, 0x3735, 0x3835, 0x3935,
+ 0x3036, 0x3136, 0x3236, 0x3336, 0x3436, 0x3536, 0x3636, 0x3736, 0x3836, 0x3936,
+ 0x3037, 0x3137, 0x3237, 0x3337, 0x3437, 0x3537, 0x3637, 0x3737, 0x3837, 0x3937,
+ 0x3038, 0x3138, 0x3238, 0x3338, 0x3438, 0x3538, 0x3638, 0x3738, 0x3838, 0x3938,
+ 0x3039, 0x3139, 0x3239, 0x3339, 0x3439, 0x3539, 0x3639, 0x3739, 0x3839, 0x3939};
+
+char* u32toa(uint32_t uii, char* start) {
+ // Memory-efficient fast integer writer. (You can do a bit better sometimes
+ // by using a larger lookup table, but on average I doubt that pays off.)
+ // Returns a pointer to the end of the integer (not null-terminated).
+ //
+ // Nearly identical to 'branchlut' from
+ // https://github.com/miloyip/itoa-benchmark , except that the hardcoded
+ // binary search is more balanced (start by comparing 6+ digits vs. <6,
+ // instead of 9+ digits vs. <8). This tends to be slightly better unless the
+ // integers are almost uniformly distributed over [0, 2^32).
+ //
+ // Todo: compare against an_itoa in https://github.com/appnexus/acf/ .
+ //
+ // (Making the first comparison 7+ digits vs. <7 would seem to make sense,
+ // but it seems to benchmark slightly worse on my Mac?)
+ //
+ // (Since we want to execute different code depending on the number of
+ // digits, the UintSlen() approach doesn't pay off.)
+ uint32_t quotient;
+ if (uii < 100000) {
+ if (uii < 100) {
+ if (uii >= 10) {
+ goto u32toa_just2;
+ }
+ *start++ = '0' + uii;
+ return start;
+ }
+ if (uii < 10000) {
+ if (uii >= 1000) {
+ goto u32toa_just4;
+ }
+ quotient = uii / 100;
+ *start++ = '0' + quotient;
+ goto u32toa_2left;
+ }
+ quotient = uii / 10000;
+ *start++ = '0' + quotient;
+ goto u32toa_4left;
+ }
+ if (uii < 100000000) {
+ if (uii < 1000000) {
+ goto u32toa_just6;
+ }
+ if (uii >= 10000000) {
+ goto u32toa_just8;
+ }
+ quotient = uii / 1000000;
+ *start++ = '0' + quotient;
+ goto u32toa_6left;
+ }
+ quotient = uii / 100000000;
+ if (uii < 1000000000) {
+ *start++ = '0' + quotient;
+ } else {
+ start = memcpya_k(start, &(kDigitPair[quotient]), 2);
+ }
+ uii -= quotient * 100000000;
+ u32toa_just8:
+ quotient = uii / 1000000;
+ start = memcpya_k(start, &(kDigitPair[quotient]), 2);
+ u32toa_6left:
+ uii -= quotient * 1000000;
+ u32toa_just6:
+ quotient = uii / 10000;
+ start = memcpya_k(start, &(kDigitPair[quotient]), 2);
+ u32toa_4left:
+ uii -= quotient * 10000;
+ u32toa_just4:
+ quotient = uii / 100;
+ start = memcpya_k(start, &(kDigitPair[quotient]), 2);
+ u32toa_2left:
+ uii -= quotient * 100;
+ u32toa_just2:
+ return memcpya_k(start, &(kDigitPair[uii]), 2);
+}
+
+char* i64toa(int64_t llii, char* start) {
+ uint64_t ullii = llii;
+ uint64_t top_digits;
+ uint32_t bottom_eight;
+ uint32_t middle_eight;
+ if (llii < 0) {
+ *start++ = '-';
+ ullii = -ullii;
+ }
+ if (ullii <= 0xffffffffLLU) {
+ return u32toa(S_CAST(uint32_t, ullii), start);
+ }
+ top_digits = ullii / 100000000;
+ bottom_eight = S_CAST(uint32_t, ullii - (top_digits * 100000000));
+ if (top_digits <= 0xffffffffLLU) {
+ start = u32toa(S_CAST(uint32_t, top_digits), start);
+ return uitoa_z8(bottom_eight, start);
+ }
+ ullii = top_digits / 100000000;
+ middle_eight = S_CAST(uint32_t, top_digits - (ullii * 100000000));
+ start = u32toa(S_CAST(uint32_t, ullii), start);
+ start = uitoa_z8(middle_eight, start);
+ return uitoa_z8(bottom_eight, start);
+}
+
+#if defined(USE_SSE2) && !defined(NO_UNALIGNED)
+uintptr_t FirstUnequal4(const void* arr1, const void* arr2, uintptr_t nbytes) {
+ // Similar to memequal().
+ if (nbytes < kBytesPerVec) {
+ if (nbytes < kBytesPerWord) {
+ uint32_t xor_result = (*S_CAST(const uint32_t*, arr1)) ^ (*S_CAST(const uint32_t*, arr2));
+ if (xor_result) {
+ return ctzu32(xor_result) / CHAR_BIT;
+ }
+ if (nbytes > 4) {
+ const uintptr_t final_offset = nbytes - 4;
+ const char* s1 = S_CAST(const char*, arr1);
+ const char* s2 = S_CAST(const char*, arr2);
+ xor_result = (*R_CAST(const uint32_t*, &(s1[final_offset]))) ^ (*R_CAST(const uint32_t*, &(s2[final_offset])));
+ if (xor_result) {
+ return final_offset + ctzu32(xor_result) / CHAR_BIT;
+ }
+ }
+ return nbytes;
+ }
+ const uintptr_t* arr1_alias = S_CAST(const uintptr_t*, arr1);
+ const uintptr_t* arr2_alias = S_CAST(const uintptr_t*, arr2);
+ const uintptr_t word_ct = nbytes / kBytesPerWord;
+ for (uint32_t widx = 0; widx != word_ct; ++widx) {
+ const uintptr_t xor_result = arr1_alias[widx] ^ arr2_alias[widx];
+ if (xor_result) {
+ return widx * kBytesPerWord + ctzw(xor_result) / CHAR_BIT;
+ }
+ }
+ if (nbytes % kBytesPerWord) {
+ const uintptr_t final_offset = nbytes - kBytesPerWord;
+ const char* s1 = S_CAST(const char*, arr1);
+ const char* s2 = S_CAST(const char*, arr2);
+ const uintptr_t xor_result = (*R_CAST(const uintptr_t*, &(s1[final_offset]))) ^ (*R_CAST(const uintptr_t*, &(s2[final_offset])));
+ if (xor_result) {
+ return final_offset + ctzw(xor_result) / CHAR_BIT;
+ }
+ }
+ return nbytes;
+ }
+ const VecUc* arr1_alias = S_CAST(const VecUc*, arr1);
+ const VecUc* arr2_alias = S_CAST(const VecUc*, arr2);
+ const uintptr_t vec_ct = nbytes / kBytesPerVec;
+ for (uintptr_t vidx = 0; vidx != vec_ct; ++vidx) {
+ const VecUc v1 = vecuc_loadu(&(arr1_alias[vidx]));
+ const VecUc v2 = vecuc_loadu(&(arr2_alias[vidx]));
+ const uint32_t eq_result = vecw_movemask(v1 == v2);
+ if (eq_result != kVec8thUintMax) {
+ return vidx * kBytesPerVec + ctzu32(~eq_result);
+ }
+ }
+ if (nbytes % kBytesPerVec) {
+ const uintptr_t final_offset = nbytes - kBytesPerVec;
+ const char* s1 = S_CAST(const char*, arr1);
+ const char* s2 = S_CAST(const char*, arr2);
+ const VecW v1 = vecw_loadu(&(s1[final_offset]));
+ const VecW v2 = vecw_loadu(&(s2[final_offset]));
+ const uint32_t eq_result = vecw_movemask(v1 == v2);
+ if (eq_result != kVec8thUintMax) {
+ return final_offset + ctzu32(~eq_result);
+ }
+ }
+ return nbytes;
+}
+#else // !(defined(USE_SSE2) && !defined(NO_UNALIGNED))
+uintptr_t FirstUnequalW(const void* arr1, const void* arr2, uintptr_t nbytes) {
+ const unsigned char* arr1b = S_CAST(const unsigned char*, arr1);
+ const unsigned char* arr2b = S_CAST(const unsigned char*, arr2);
+ const uintptr_t word_ct = nbytes / kBytesPerWord;
+ for (uintptr_t widx = 0; widx != word_ct; ++widx) {
+ uintptr_t arr1_word;
+ uintptr_t arr2_word;
+ CopyFromUnalignedOffsetW(&arr1_word, arr1b, widx);
+ CopyFromUnalignedOffsetW(&arr2_word, arr2b, widx);
+ const uintptr_t xor_result = arr1_word ^ arr2_word;
+ if (xor_result) {
+ return widx * kBytesPerWord + ctzw(xor_result) / CHAR_BIT;
+ }
+ }
+ if (nbytes % kBytesPerWord) {
+ const uintptr_t final_offset = nbytes - kBytesPerWord;
+ uintptr_t arr1_word;
+ uintptr_t arr2_word;
+ CopyFromUnalignedW(&arr1_word, &(arr1b[final_offset]));
+ CopyFromUnalignedW(&arr2_word, &(arr2b[final_offset]));
+ const uintptr_t xor_result = arr1_word ^ arr2_word;
+ if (xor_result) {
+ return final_offset + ctzw(xor_result) / CHAR_BIT;
+ }
+ }
+ return nbytes;
+}
+#endif
+
+#ifdef __LP64__
+uintptr_t CountVintsNonempty(const unsigned char* buf, const unsigned char* buf_end) {
+ const uintptr_t starting_addr = R_CAST(uintptr_t, buf);
+ const VecUc* buf_viter = R_CAST(const VecUc*, RoundDownPow2(starting_addr, kBytesPerVec));
+ const uintptr_t ending_addr = R_CAST(uintptr_t, buf_end);
+ const VecUc* buf_vlast = R_CAST(const VecUc*, RoundDownPow2(ending_addr - 1, kBytesPerVec));
+ const uint32_t leading_byte_ct = starting_addr - R_CAST(uintptr_t, buf_viter);
+ Vec8thUint vint_ends = (UINT32_MAX << leading_byte_ct) & (~vecuc_movemask(*buf_viter));
+ uintptr_t total = 0;
+ while (buf_viter != buf_vlast) {
+ total += PopcountVec8thUint(vint_ends);
+ ++buf_viter;
+ vint_ends = ~vecuc_movemask(*buf_viter);
+ }
+ const uint32_t trailing_byte_ct = ending_addr - R_CAST(uintptr_t, buf_vlast);
+ vint_ends &= (k1LU << trailing_byte_ct) - 1;
+ total += PopcountVec8thUint(vint_ends);
+ return total;
+}
+#else
+uintptr_t CountVints(const unsigned char* buf, const unsigned char* buf_end) {
+ // Could check one word at a time.
+ const uintptr_t len = buf_end - buf;
+ uintptr_t inv_result = 0;
+ for (uintptr_t ulii = 0; ulii != len; ++ulii) {
+ inv_result += buf[ulii] >> 7;
+ }
+ return len - inv_result;
+}
+#endif
+
+#ifdef __cplusplus
+} // namespace plink2
+#endif
diff --git a/external_libs/pgenlib/include/plink2_base.h b/external_libs/pgenlib/include/plink2_base.h
new file mode 100644
index 0000000..b9d9a29
--- /dev/null
+++ b/external_libs/pgenlib/include/plink2_base.h
@@ -0,0 +1,4323 @@
+#ifndef __PLINK2_BASE_H__
+#define __PLINK2_BASE_H__
+
+// This library is part of PLINK 2.0, copyright (C) 2005-2024 Shaun Purcell,
+// Christopher Chang.
+//
+// This library is free software: you can redistribute it and/or modify it
+// under the terms of the GNU Lesser General Public License as published by the
+// Free Software Foundation; either version 3 of the License, or (at your
+// option) any later version.
+//
+// This library is distributed in the hope that it will be useful, but WITHOUT
+// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+// FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+// for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this library. If not, see .
+
+
+// Low-level C99/C++03/C++11 library covering basic I/O, SWAR/SIMD, and
+// Windows/OS X/Linux portability. We try to benefit from as much C++ type
+// safety as we can without either breaking compatibility with C-only codebases
+// or making extension of pgenlib/plink2 code more difficult than the old
+// type-unsafe style.
+//
+// Parameter conventions:
+// - Input parameters, then in/out, then pure outputs, then temporary buffers.
+// Reference-style input parameters tend to go in the very front, to make it
+// more obvious that they aren't in/out.
+// - "bitarr" indicates a word-aligned, packed array of bits, while "bitvec"
+// indicates vector-alignment in 64-bit builds. ("vector" always means SIMD
+// inputs/outputs here; C++ std::vector is not used in this codebase.)
+// - Most pointers are stationary; moving pointers have an _iter suffix.
+//
+// Type-choice guidelines:
+// - Integers are unsigned by default, signed only when necessary.
+// It's necessary to choose one or the other to avoid drowning in a sea of
+// casts and unexpected behavior. Each choice has its own surprising
+// pitfalls that the developer had better be aware of; and I definitely do
+// not take the position that unsigned is the better default *in all C and/or
+// C++ code*. However, for this codebase, the extremely high frequency of
+// bitwise operations makes unsigned-default the only sane choice.
+// Some consequences of this choice:
+// - All pointer differences that are part of a larger arithmetic or
+// comparison expression are explicitly casted to uintptr_t.
+// - Since uint64_t -> double conversion is frequently slower than int64_t ->
+// double conversion, u63tod() should be used when the integer is known to
+// be less than 2^63. If we also know it's less than 2^31, u31tod() can
+// provide a performance improvement on Win32.
+// - Integers that can be >= 2^32 in some of the largest existing datasets, but
+// are usually smaller, should be defined as uintptr_t, to strike a good
+// balance between 32-bit performance and 64-bit scaling. Exhaustive
+// overflow checking in the 32-bit build is a non-goal; but I do aim for very
+// high statistical reliability, by inserting checks whenever it occurs to me
+// that overflow is especially likely (e.g. when multiplying two potentially
+// large 32-bit numbers).
+// - Bitarrays and 'nyparrays' (packed arrays of 2-bit elements, such as a row
+// of a plink 1.x .bed file) are usually uintptr_t*, to encourage
+// word-at-a-time iteration without requiring vector-alignment. Quite a few
+// low-level library functions cast them to VecW*. As mentioned above, the
+// affected function parameter names must end in 'vec' when this creates an
+// alignment requirement.
+// - A buffer/iterator expected to contain only UTF-8 text should be char*.
+// unsigned char* should be reserved for byte-array buffers and iterators
+// which are expected to interact with some non-text bytes, and generic
+// memory-location pointers which will be subject to pointer arithmetic.
+// (Note that this creates some clutter in low-level parsing code: since the
+// signedness of char is platform-dependent, it becomes necessary to use e.g.
+// ctou32() a fair bit.)
+// - unsigned char is an acceptable argument type for functions intended to
+// process a single text character, thanks to implicit char -> unsigned char
+// conversion; it's just unsigned char* that should be avoided.
+// - void* return values should be restricted to generic pointers which are
+// *not* expected to be subject to pointer arithmetic. void* as input
+// parameter type should only be used when there are at least two equally
+// valid input types, NOT counting VecW*.
+
+
+// gcc 8.3.0 has been miscompiling the ParseOnebitUnsafe() function in
+// pgenlib_read.cc for the last several years. gcc 8.4 does not have this
+// problem, and neither does any other gcc major version I've tested to date.
+#ifndef __clang__
+# if (__GNUC__ == 8) && (__GNUC_MINOR__ < 4)
+# error "gcc 8.3 is known to have a miscompilation bug that was fixed in 8.4."
+# endif
+#endif
+
+#if (__GNUC__ < 4)
+// may eventually add MSVC support to gain access to MKL on Windows, but can't
+// justify doing that before all major features are implemented.
+# error "gcc 4.x+ or clang equivalent required."
+#endif
+
+// The -Wshorten-64-to-32 diagnostic forces the code to be cluttered with
+// meaningless uintptr_t -> uint32_t static casts (number known to be < 2^32,
+// just stored in a uintptr_t because there's no speed penalty and we generally
+// want to think in terms of word-based operations). The code is more readable
+// if S_CAST(uint32_t, ) is reserved for situations
+// where a higher bit may actually be set. This pragma can always be commented
+// out on the few occasions where inappropriate silent truncation is suspected.
+#ifdef __clang__
+# pragma clang diagnostic ignored "-Wshorten-64-to-32"
+#endif
+
+// 10000 * major + 100 * minor + patch
+// Exception to CONSTI32, since we want the preprocessor to have access
+// to this value. Named with all caps as a consequence.
+#define PLINK2_BASE_VERNUM 815
+
+
+#define _FILE_OFFSET_BITS 64
+
+#include
+#include
+#include
+#include // offsetof()
+#include
+#ifndef __STDC_FORMAT_MACROS
+# define __STDC_FORMAT_MACROS 1
+#endif
+#include
+#include // CHAR_BIT, PATH_MAX
+
+// #define NDEBUG
+#include
+
+#ifdef _WIN32
+ // needed for EnterCriticalSection, etc.
+# ifndef _WIN64
+# define WINVER 0x0501
+# else
+# define __LP64__
+# endif
+# ifndef WIN32_LEAN_AND_MEAN
+# define WIN32_LEAN_AND_MEAN
+# endif
+# include
+#endif
+
+#if __cplusplus >= 201103L
+# include
+#endif
+
+#ifdef __LP64__
+// TODO: working no-SSE2 fallback on 64-bit little-endian platforms unsupported
+// by simde. Can perform early test by compiling on M1/M2 without simde.
+# define USE_SSE2
+# ifdef __x86_64__
+# include
+# else
+# define SIMDE_ENABLE_NATIVE_ALIASES
+// Since e.g. an old zstd system header breaks the build, and plink2 is
+// expected to remain under active development for the next few years, we
+// currently default to using vendored copies of zstd/libdeflate/simde, which
+// are manually updated as necessary.
+// To use system headers, define IGNORE_BUNDLED_{ZSTD,LIBDEFLATE.SIMDE}.
+# ifdef IGNORE_BUNDLED_SIMDE
+# include
+# else
+# include "../simde/x86/sse2.h"
+# endif
+# ifdef SIMDE_ARM_NEON_A32V8_NATIVE
+// For Apple M1, we effectively use SSE2 + constrained _mm_shuffle_epi8().
+// - We don't want to use simde's emulated _mm_shuffle_epi8 since it has an
+// extra and-with-0x8f step that we never need.
+// In the event the and-with-0x8f is actually needed, we'll define
+// vec..._x86_shuffle8() helper functions.
+// - M1 also doesn't have efficient word-popcount.
+# define USE_SHUFFLE8
+# endif
+# endif
+# ifdef __SSE4_2__
+# define USE_SSE42
+# define USE_SHUFFLE8
+# include
+# ifdef __AVX2__
+# if defined(__BMI__) && defined(__BMI2__) && defined(__LZCNT__)
+# include
+# define USE_AVX2
+# else
+// Graceful downgrade, in case -march=native misfires on a VM. See
+// https://github.com/chrchang/plink-ng/issues/155 .
+# warning "AVX2 builds require -mbmi, -mbmi2, and -mlzcnt as well. Downgrading to SSE4.2 build."
+# undef USE_AVX2
+# endif
+# endif
+# endif
+# define ALIGNV16 __attribute__ ((aligned (16)))
+#else
+# define ALIGNV16
+#endif
+
+// done with #includes, can start C++ namespace...
+#ifdef __cplusplus
+namespace plink2 {
+#endif
+
+// ...though a bunch of symbols remain to be #defined; try to reduce the number
+// over time.
+
+#ifndef UINT32_MAX
+ // can theoretically be undefined in C++03
+# define UINT32_MAX 0xffffffffU
+#endif
+
+#define UINT32_MAXM1 0xfffffffeU
+
+#ifndef UINT64_MAX
+# define UINT64_MAX 0xffffffffffffffffLLU
+#endif
+
+#ifdef __cplusplus
+# define HEADER_INLINE inline
+// Previously went on a wild constexpr spree, but now these are mostly unused.
+// Reserve for cases where (i) there's a clear constant-initialization use case
+// for an imaginable downstream program (I'm looking at you, DivUp() and
+// RoundUpPow2()...), or (ii) it allows a useful static_assert to be inserted
+// for a hardcoded constant.
+# if __cplusplus >= 201103L
+# define HEADER_CINLINE constexpr
+# define CSINLINE static constexpr
+# if __cplusplus > 201103L
+# define HEADER_CINLINE2 constexpr
+# define CSINLINE2 static constexpr
+# else
+# define HEADER_CINLINE2 inline
+# define CSINLINE2 static inline
+# endif
+# else
+# define HEADER_CINLINE inline
+# define HEADER_CINLINE2 inline
+# define CSINLINE static inline
+# define CSINLINE2 static inline
+# endif
+# if __cplusplus <= 199711L
+ // this may be defined anyway, at least on OS X
+# ifndef static_assert
+ // todo: check other cases
+# define static_assert(cond, msg)
+# endif
+# endif
+#else
+# define HEADER_INLINE static inline
+# define HEADER_CINLINE static inline
+# define HEADER_CINLINE2 static inline
+# define CSINLINE static inline
+# define CSINLINE2 static inline
+ // _Static_assert() should work in gcc 4.6+
+# if (__GNUC__ == 4) && (__GNUC_MINOR__ < 6)
+# if defined(__clang__) && defined(__has_feature) && defined(__has_extension)
+# if __has_feature(c_static_assert) || __has_extension(c_static_assert)
+# define static_assert _Static_assert
+# else
+# define static_assert(cond, msg)
+# endif
+# else
+# define static_assert(cond, msg)
+# endif
+# else
+# define static_assert _Static_assert
+# endif
+#endif
+
+#define __maybe_unused __attribute__((unused))
+
+// Rule of thumb: Use these macros if, and only if, the condition would always
+// trigger exit-from-program. As a side effect, this makes it more
+// straightforward, if still tedious, to make global changes to error-handling
+// strategy (always dump backtrace and exit immediately?), though provision
+// must still be made for sometimes-error-sometimes-not return paths which
+// don't get an unlikely annotation.
+#ifndef likely
+# define likely(expr) __builtin_expect(!!(expr), 1)
+# define unlikely(expr) __builtin_expect(!!(expr), 0)
+#endif
+
+#ifdef __cplusplus
+# define K_CAST(type, val) (const_cast(val))
+# define R_CAST(type, val) (reinterpret_cast(val))
+# define S_CAST(type, val) (static_cast(val))
+#else
+# define K_CAST(type, val) ((type)(val))
+# define R_CAST(type, val) ((type)(val))
+# define S_CAST(type, val) ((type)(val))
+#endif
+
+// (from Linux kernel)
+// container_of - cast a member of a structure out to the containing structure
+// @ptr: the pointer to the member.
+// @type: the type of the container struct this is embedded in.
+// @member: the name of the member within the struct.
+#define container_of(ptr, type, member) \
+ (R_CAST(type*, R_CAST(char*, ptr) - offsetof(type, member)))
+
+// original macro doesn't work in C++ when e.g. ptr is a const char*, and the
+// quick workaround of casting away the const is unsafe.
+#define const_container_of(ptr, type, member) \
+ (R_CAST(const type*, R_CAST(const char*, ptr) - offsetof(type, member)))
+
+HEADER_INLINE double u31tod(uint32_t uii) {
+ const int32_t ii = uii;
+ assert(ii >= 0);
+ return S_CAST(double, ii);
+}
+
+HEADER_INLINE double swtod(intptr_t lii) {
+ return S_CAST(double, lii);
+}
+
+HEADER_INLINE double u63tod(uint64_t ullii) {
+ const int64_t llii = ullii;
+ assert(llii >= 0);
+ return S_CAST(double, llii);
+}
+
+HEADER_INLINE float u31tof(uint32_t uii) {
+ const int32_t ii = uii;
+ assert(ii >= 0);
+ return S_CAST(float, ii);
+}
+
+HEADER_INLINE uint32_t ctou32(char cc) {
+ return S_CAST(unsigned char, cc);
+}
+
+HEADER_INLINE uintptr_t ctow(char cc) {
+ return S_CAST(unsigned char, cc);
+}
+
+HEADER_INLINE uint64_t ctou64(char cc) {
+ return S_CAST(unsigned char, cc);
+}
+
+HEADER_INLINE unsigned char* CToUc(char* pp) {
+ return R_CAST(unsigned char*, pp);
+}
+
+// Error return types. All of these evaluate to true on error and false on
+// success, but otherwise they have slightly different semantics:
+// * PglErr is the general-purpose enum. Unlike an enum, implicit conversion
+// *to* int, not just from int, is prevented by the C++11 compiler (and the
+// C++11-compiler-validated code still works under C99). (To achieve this
+// additional safety, we engage in a bit of code duplication which would be
+// unreasonable for flagsets.)
+// (Previously, explicit cast to uint32_t, but not int32_t, was supported, to
+// reflect the fact that all error codes are positive. This was deemed
+// silly.)
+// * BoolErr allows implicit conversion from int, but conversion back to
+// uint32_t requires an explicit cast. (It should always be 0/1-valued, but
+// this isn't enforced by the compiler.)
+// * IntErr allows implicit conversion from int, but conversion back to
+// int32_t requires an explicit cast. It mainly serves as a holding pen for
+// C standard library error return values, which can be negative.
+#if __cplusplus >= 201103L
+struct PglErr {
+ enum class ec
+#else
+typedef enum
+#endif
+ {
+ kPglRetSuccess,
+ kPglRetSkipped,
+ kPglRetNomem,
+ kPglRetOpenFail,
+ kPglRetReadFail,
+ kPglRetWriteFail,
+ // MalformedInput should be returned on low-level file format violations,
+ // while InconsistentInput should be returned for higher-level logical
+ // problems like mismatched files (generally solvable by fixing the command
+ // line), and DegenerateData for properly-formatted-and-matched files that
+ // yields degenerate computational results due to e.g. divide by zero or
+ // insufficient rank.
+ kPglRetMalformedInput,
+ kPglRetInconsistentInput,
+ kPglRetInvalidCmdline,
+ kPglRetThreadCreateFail,
+ kPglRetNetworkFail,
+ kPglRetVarRecordTooLarge,
+ kPglRetUnsupportedInstructions,
+ kPglRetDegenerateData,
+ kPglRetDecompressFail, // also distinguish this from MalformedInput
+ kPglRetRewindFail,
+ kPglRetGpuFail,
+ kPglRetInternalUse1,
+ kPglRetSampleMajorBed = 32,
+ kPglRetNomemCustomMsg = 59,
+ kPglRetInternalError = 60,
+ kPglRetWarningErrcode = 61,
+ kPglRetImproperFunctionCall = 62,
+ kPglRetNotYetSupported = 63,
+
+ // These are only for internal use. If any of these reach the top level
+ // instead of being handled or converted to another error code, that's a bug,
+ // and plink2 prints a message to that effect.
+ kPglRetRetry = 124,
+ kPglRetHelp = 125,
+ kPglRetLongLine = 126,
+ kPglRetEof = 127}
+#if __cplusplus >= 201103L
+ ;
+
+ PglErr() {}
+
+ PglErr(const PglErr& source) : value_(source.value_) {}
+
+ PglErr(ec source) : value_(source) {}
+
+ // Allow explicit conversion from uint64_t, and NOT uint32_t, to this error
+ // type, to support reproducible multithreaded error reporting (where
+ // multiple threads may atomically attempt to modify a single uint64_t with
+ // the error code in the low 32 bits and a priority number in the high bits).
+ explicit PglErr(uint64_t source) : value_(static_cast(source)) {}
+
+ PglErr& operator=(const PglErr&) = default;
+
+ operator ec() const {
+ return value_;
+ }
+
+ explicit operator uint32_t() const {
+ return static_cast(value_);
+ }
+
+ explicit operator int32_t() const {
+ return static_cast(value_);
+ }
+
+ explicit operator bool() const {
+ return (static_cast(value_) != 0);
+ }
+
+private:
+ ec value_;
+};
+
+const PglErr kPglRetSuccess = PglErr::ec::kPglRetSuccess;
+const PglErr kPglRetSkipped = PglErr::ec::kPglRetSkipped;
+const PglErr kPglRetNomem = PglErr::ec::kPglRetNomem;
+const PglErr kPglRetOpenFail = PglErr::ec::kPglRetOpenFail;
+const PglErr kPglRetReadFail = PglErr::ec::kPglRetReadFail;
+const PglErr kPglRetWriteFail = PglErr::ec::kPglRetWriteFail;
+const PglErr kPglRetMalformedInput = PglErr::ec::kPglRetMalformedInput;
+const PglErr kPglRetInconsistentInput = PglErr::ec::kPglRetInconsistentInput;
+const PglErr kPglRetInvalidCmdline = PglErr::ec::kPglRetInvalidCmdline;
+const PglErr kPglRetRetry = PglErr::ec::kPglRetRetry;
+const PglErr kPglRetHelp = PglErr::ec::kPglRetHelp;
+const PglErr kPglRetThreadCreateFail = PglErr::ec::kPglRetThreadCreateFail;
+const PglErr kPglRetNetworkFail = PglErr::ec::kPglRetNetworkFail;
+const PglErr kPglRetVarRecordTooLarge = PglErr::ec::kPglRetVarRecordTooLarge;
+const PglErr kPglRetUnsupportedInstructions = PglErr::ec::kPglRetUnsupportedInstructions;
+const PglErr kPglRetDegenerateData = PglErr::ec::kPglRetDegenerateData;
+const PglErr kPglRetDecompressFail = PglErr::ec::kPglRetDecompressFail;
+const PglErr kPglRetRewindFail = PglErr::ec::kPglRetRewindFail;
+const PglErr kPglRetGpuFail = PglErr::ec::kPglRetGpuFail;
+const PglErr kPglRetInternalUse1 = PglErr::ec::kPglRetInternalUse1;
+const PglErr kPglRetSampleMajorBed = PglErr::ec::kPglRetSampleMajorBed;
+const PglErr kPglRetWarningErrcode = PglErr::ec::kPglRetWarningErrcode;
+const PglErr kPglRetNomemCustomMsg = PglErr::ec::kPglRetNomemCustomMsg;
+const PglErr kPglRetInternalError = PglErr::ec::kPglRetInternalError;
+const PglErr kPglRetImproperFunctionCall = PglErr::ec::kPglRetImproperFunctionCall;
+const PglErr kPglRetNotYetSupported = PglErr::ec::kPglRetNotYetSupported;
+const PglErr kPglRetLongLine = PglErr::ec::kPglRetLongLine;
+const PglErr kPglRetEof = PglErr::ec::kPglRetEof;
+#else
+ PglErr;
+#endif
+
+#if __cplusplus >= 201103L
+// allow efficient arithmetic on these, but force them to require explicit
+// int32_t/uint32_t casts; only permit implicit assignment from
+// int32_t/uint32_t by default.
+// built-in bool type does too many things we don't want...
+
+// expected to be integer-valued, but not necessarily 0/1 or positive
+struct IntErr {
+ IntErr() {}
+
+ IntErr(int32_t source) : value_(source) {}
+
+ explicit operator int32_t() const {
+ return value_;
+ }
+
+ explicit operator bool() const {
+ return (value_ != 0);
+ }
+
+private:
+ int32_t value_;
+};
+
+// expected to be 0/1-valued
+struct BoolErr {
+ BoolErr() {}
+
+ BoolErr(uint32_t source) : value_(source) {}
+
+ explicit operator uint32_t() const {
+ return value_;
+ }
+
+ explicit operator bool() const {
+ return (value_ != 0);
+ }
+
+private:
+ uint32_t value_;
+};
+#else
+typedef int32_t IntErr;
+typedef uint32_t BoolErr;
+#endif
+
+// make this work on 32-bit as well as 64-bit systems, across
+// Windows/OS X/Linux
+// (todo: clean this up a bit. it's inherently a baling-wire-and-duct-tape
+// sort of thing, though...)
+#ifdef _WIN32
+ // must compile with -std=gnu++11, not c++11, on 32-bit Windows since
+ // otherwise fseeko64 not defined...
+# define fseeko fseeko64
+# define ftello ftello64
+# define FOPEN_RB "rb"
+# define FOPEN_WB "wb"
+# define FOPEN_AB "ab"
+# define ferror_unlocked ferror
+# define feof_unlocked feof
+# ifdef __LP64__
+# define getc_unlocked _fgetc_nolock
+# define putc_unlocked _fputc_nolock
+ // todo: find mingw-w64 build which properly links _fread_nolock, and
+ // conditional-compile
+# define fread_unlocked fread
+# define fwrite_unlocked fwrite
+# else
+# define getc_unlocked getc
+# define putc_unlocked putc
+# define fread_unlocked fread
+# define fwrite_unlocked fwrite
+# endif
+# if __cplusplus < 201103L
+# define uint64_t unsigned long long
+# define int64_t long long
+# endif
+#else // Linux or OS X
+# define FOPEN_RB "r"
+# define FOPEN_WB "w"
+# define FOPEN_AB "a"
+# if defined(__APPLE__) || defined(__FreeBSD__) || defined(__NetBSD__)
+# define fread_unlocked fread
+# define fwrite_unlocked fwrite
+# endif
+# if defined(__NetBSD__)
+# define ferror_unlocked ferror
+# define feof_unlocked feof
+# endif
+#endif
+
+#ifdef _WIN32
+# undef PRId64
+# undef PRIu64
+# define PRId64 "I64d"
+# define PRIu64 "I64u"
+#else
+# ifdef __cplusplus
+# ifndef PRId64
+# define PRId64 "lld"
+# endif
+# endif
+#endif
+
+// These are useful for defending against base-pointer integer overflow on bad
+// input.
+HEADER_INLINE BoolErr PtrAddCk(const unsigned char* end, intptr_t incr, const unsigned char** basep) {
+ *basep += incr;
+ return unlikely((end - (*basep)) < 0);
+}
+
+// 'W' for writable
+HEADER_INLINE BoolErr PtrWSubCk(unsigned char* base, intptr_t decr, unsigned char** endp) {
+ *endp -= decr;
+ return unlikely(((*endp) - base) < 0);
+}
+
+HEADER_INLINE BoolErr PtrCheck(const void* end, const void* base, intptr_t req) {
+ const unsigned char* end_uc = S_CAST(const unsigned char*, end);
+ const unsigned char* base_uc = S_CAST(const unsigned char*, base);
+ return unlikely((end_uc - base_uc) < req);
+}
+
+// We want this to return an uint32_t, not an int32_t.
+HEADER_INLINE uint32_t ctzu32(uint32_t uii) {
+ return __builtin_ctz(uii);
+}
+
+// this should always compile down to bsr.
+HEADER_INLINE uint32_t bsru32(uint32_t uii) {
+ return 31 - __builtin_clz(uii);
+}
+
+#ifdef _WIN64
+HEADER_INLINE uint32_t ctzw(unsigned long long ullii) {
+ return __builtin_ctzll(ullii);
+}
+
+HEADER_INLINE uint32_t bsrw(unsigned long long ullii) {
+ // Note that this actually compiles to a single instruction on x86; it's
+ // naked __builtin_clzll which requires an additional subtraction.
+ return 63 - __builtin_clzll(ullii);
+}
+#else
+HEADER_INLINE uint32_t ctzw(unsigned long ulii) {
+ return __builtin_ctzl(ulii);
+}
+
+HEADER_INLINE uint32_t bsrw(unsigned long ulii) {
+ return (8 * sizeof(intptr_t) - 1) - __builtin_clzl(ulii);
+}
+# ifndef __LP64__
+ // needed to prevent GCC 6 build failure
+# if (__GNUC__ == 4) && (__GNUC_MINOR__ < 8)
+# if (__cplusplus < 201103L) && !defined(__APPLE__)
+# ifndef uintptr_t
+# define uintptr_t unsigned long
+# endif
+# ifndef intptr_t
+# define intptr_t long
+# endif
+# endif
+# endif
+# endif
+#endif
+
+#ifdef __LP64__
+# ifdef _WIN32 // i.e. Win64
+
+# undef PRIuPTR
+# undef PRIdPTR
+# define PRIuPTR PRIu64
+# define PRIdPTR PRId64
+# define PRIxPTR2 "016I64x"
+
+# else // not _WIN32
+
+# ifndef PRIuPTR
+# define PRIuPTR "lu"
+# endif
+# ifndef PRIdPTR
+# define PRIdPTR "ld"
+# endif
+# define PRIxPTR2 "016lx"
+
+# endif // Win64
+
+#else // not __LP64__
+
+ // without this, we get ridiculous warning spew...
+ // not 100% sure this is the right cutoff, but this has been tested on 4.7
+ // and 4.8 build machines, so it plausibly is.
+# if (__GNUC__ == 4) && (__GNUC_MINOR__ < 8) && (__cplusplus < 201103L)
+# undef PRIuPTR
+# undef PRIdPTR
+# define PRIuPTR "lu"
+# define PRIdPTR "ld"
+# endif
+
+# define PRIxPTR2 "08lx"
+
+#endif
+
+#ifndef HAVE_NULLPTR
+# ifndef __cplusplus
+# define nullptr NULL
+# else
+# if __cplusplus <= 199711L
+# ifndef nullptr
+# define nullptr NULL
+# endif
+# endif
+# endif
+#endif
+
+// Checked a bunch of alternatives to #define constants. For integer constants
+// in [-2^31, 2^31), enum {} avoids macro expansion issues that actually
+// matter, and that more than cancels out any tiny increase in binary size due
+// to additional debugger information (which has value, anyway). However, we
+// don't want to use this under C++ due to enumeral/non-enumeral conditional
+// expression warnings, so this isn't one-size-fits-all; and plain old const
+// int has all the functionality we want under C++ (including internal linkage,
+// so it's fine to define them in header files). Thus we wrap the
+// implementation in a macro.
+//
+// Otherwise, the macro expansion thing is still annoying but we suck it up due
+// to the need for too much duplicate C vs. C++ code ("initializer element is
+// not constant" when using const in C99...)
+//
+// We start most plink2- and pgenlib-specific numeric constant names here with
+// "kPgl", which should have a vanishingly small chance of colliding with
+// anything in C99. Note that stuff like kBytesPerWord is not considered
+// library-specific, so it's exempt from having "Pgl" in the name. Also, the
+// few string literals here are of the FOPEN_WB sort, which have similar usage
+// patterns to e.g. PRIuPTR which shouldn't be renamed, so those remain
+// all-caps.
+//
+// (Update, May 2018: CONSTU31 was renamed to CONSTI32 and changed to type
+// int32_t, to prevent C vs. C++ differences. This almost never makes a
+// difference, since when int32_t and uint32_t are mixed in the same
+// expression, the former gets converted to unsigned. However, unpleasant
+// surprises are occasionally possible when mixing these constants with
+// uint16_t or unsigned char values, since then the unsigned values are
+// promoted to int32_t. Also, this essentially forces use of -Wno-sign-compare
+// when using gcc 4.4.
+//
+// Biggest thing to watch out for is mixing of Halfword with these constants in
+// 32-bit builds. Dosage and Vec8thUint are also relevant.)
+#ifdef __cplusplus
+# define CONSTI32(name, expr) const int32_t name = (expr)
+#else
+# define CONSTI32(name, expr) enum {name = (expr)}
+#endif
+
+// useful because of its bitwise complement: ~k0LU is a word with all 1 bits,
+// while ~0 is always 32 1 bits.
+// LLU is used over ULL for searchability (no conflict with NULL).
+static const uintptr_t k0LU = S_CAST(uintptr_t, 0);
+
+// mainly useful for bitshifts: (k1LU << 32) works in 64-bit builds, while
+// (1 << 32) is undefined. also used as a quicker-to-type way of casting
+// numbers/expressions to uintptr_t (via multiplication).
+static const uintptr_t k1LU = S_CAST(uintptr_t, 1);
+
+#ifdef __LP64__
+CONSTI32(kBitsPerWord, 64);
+CONSTI32(kBitsPerWordLog2, 6);
+
+typedef uint32_t Halfword;
+typedef uint16_t Quarterword;
+#else
+CONSTI32(kBitsPerWord, 32);
+CONSTI32(kBitsPerWordLog2, 5);
+
+typedef uint16_t Halfword;
+typedef uint8_t Quarterword;
+#endif
+
+#ifdef USE_SSE2
+# ifdef USE_AVX2
+CONSTI32(kBytesPerVec, 32);
+
+// 16 still seems to noticeably outperform 32 on my Mac test machine, and
+// is about equal on my Linux test machine, probably due to reduced clock
+// frequency when 32-byte floating point vector operations are used (as in, ALL
+// operations, sometimes on ALL cores, become slower when a single core
+// performs a 32-byte fp vector operation).
+// However, processor power management, numeric libraries, and my AVX2 code
+// should improve over time. There will probably come a time where switching
+// to 32-byte fp is worthwhile.
+# define FVEC_32
+
+// bleah, have to define these here, vector_size doesn't see enum values
+typedef uintptr_t VecW __attribute__ ((vector_size (32)));
+typedef uint32_t VecU32 __attribute__ ((vector_size (32)));
+typedef int32_t VecI32 __attribute__ ((vector_size (32)));
+typedef unsigned short VecU16 __attribute__ ((vector_size (32)));
+typedef short VecI16 __attribute__ ((vector_size (32)));
+// documentation says 'char', but int8_t works fine under gcc 4.4 and conveys
+// intent better (char not guaranteed to be signed)
+typedef int8_t VecI8 __attribute__ ((vector_size (32)));
+typedef unsigned char VecUc __attribute__ ((vector_size (32)));
+
+HEADER_INLINE VecW VecToW(__m256i vv) {
+ return R_CAST(VecW, vv);
+}
+
+HEADER_INLINE VecU32 VecToU32(__m256i vv) {
+ return R_CAST(VecU32, vv);
+}
+
+HEADER_INLINE VecI32 VecToI32(__m256i vv) {
+ return R_CAST(VecI32, vv);
+}
+
+HEADER_INLINE VecU16 VecToU16(__m256i vv) {
+ return R_CAST(VecU16, vv);
+}
+
+HEADER_INLINE VecI16 VecToI16(__m256i vv) {
+ return R_CAST(VecI16, vv);
+}
+
+HEADER_INLINE VecUc VecToUc(__m256i vv) {
+ return R_CAST(VecUc, vv);
+}
+
+HEADER_INLINE VecI8 VecToI8(__m256i vv) {
+ return R_CAST(VecI8, vv);
+}
+
+HEADER_INLINE __m256i WToVec(VecW vv) {
+ return R_CAST(__m256i, vv);
+}
+
+HEADER_INLINE __m256i U32ToVec(VecU32 vv) {
+ return R_CAST(__m256i, vv);
+}
+
+HEADER_INLINE __m256i I32ToVec(VecI32 vv) {
+ return R_CAST(__m256i, vv);
+}
+
+HEADER_INLINE __m256i U16ToVec(VecU16 vv) {
+ return R_CAST(__m256i, vv);
+}
+
+HEADER_INLINE __m256i I16ToVec(VecI16 vv) {
+ return R_CAST(__m256i, vv);
+}
+
+HEADER_INLINE __m256i UcToVec(VecUc vv) {
+ return R_CAST(__m256i, vv);
+}
+
+HEADER_INLINE __m256i I8ToVec(VecI8 vv) {
+ return R_CAST(__m256i, vv);
+}
+
+// _mm256_set1_... seems to have the same performance; could use that instead.
+# define VCONST_W(xx) {xx, xx, xx, xx}
+# define VCONST_S(xx) {xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx}
+# define VCONST_C(xx) {xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx}
+# define VCONST_UC VCONST_C
+
+// vv = VCONST_W(k0LU) doesn't work (only ok for initialization)
+HEADER_INLINE VecW vecw_setzero() {
+ return VecToW(_mm256_setzero_si256());
+}
+
+HEADER_INLINE VecU32 vecu32_setzero() {
+ return VecToU32(_mm256_setzero_si256());
+}
+
+HEADER_INLINE VecU16 vecu16_setzero() {
+ return VecToU16(_mm256_setzero_si256());
+}
+
+HEADER_INLINE VecI16 veci16_setzero() {
+ return VecToI16(_mm256_setzero_si256());
+}
+
+HEADER_INLINE VecUc vecuc_setzero() {
+ return VecToUc(_mm256_setzero_si256());
+}
+
+HEADER_INLINE VecI8 veci8_setzero() {
+ return VecToI8(_mm256_setzero_si256());
+}
+
+// "vv >> ct" doesn't work, and Scientific Linux gcc 4.4 might not optimize
+// VCONST_W shift properly (todo: test this)
+HEADER_INLINE VecW vecw_srli(VecW vv, uint32_t ct) {
+ return VecToW(_mm256_srli_epi64(WToVec(vv), ct));
+}
+
+HEADER_INLINE VecW vecw_slli(VecW vv, uint32_t ct) {
+ return VecToW(_mm256_slli_epi64(WToVec(vv), ct));
+}
+
+HEADER_INLINE VecU32 vecu32_srli(VecU32 vv, uint32_t ct) {
+ return VecToU32(_mm256_srli_epi32(U32ToVec(vv), ct));
+}
+
+HEADER_INLINE VecU32 vecu32_slli(VecU32 vv, uint32_t ct) {
+ return VecToU32(_mm256_slli_epi32(U32ToVec(vv), ct));
+}
+
+HEADER_INLINE VecU16 vecu16_srli(VecU16 vv, uint32_t ct) {
+ return VecToU16(_mm256_srli_epi16(U16ToVec(vv), ct));
+}
+
+HEADER_INLINE VecU16 vecu16_slli(VecU16 vv, uint32_t ct) {
+ return VecToU16(_mm256_slli_epi16(U16ToVec(vv), ct));
+}
+
+// Compiler still doesn't seem to be smart enough to use andnot properly.
+HEADER_INLINE VecW vecw_and_notfirst(VecW excl, VecW main) {
+ return VecToW(_mm256_andnot_si256(WToVec(excl), WToVec(main)));
+}
+
+HEADER_INLINE VecU32 vecu32_and_notfirst(VecU32 excl, VecU32 main) {
+ return VecToU32(_mm256_andnot_si256(U32ToVec(excl), U32ToVec(main)));
+}
+
+HEADER_INLINE VecI32 veci32_and_notfirst(VecI32 excl, VecI32 main) {
+ return VecToI32(_mm256_andnot_si256(I32ToVec(excl), I32ToVec(main)));
+}
+
+HEADER_INLINE VecU16 vecu16_and_notfirst(VecU16 excl, VecU16 main) {
+ return VecToU16(_mm256_andnot_si256(U16ToVec(excl), U16ToVec(main)));
+}
+
+HEADER_INLINE VecI16 veci16_and_notfirst(VecI16 excl, VecI16 main) {
+ return VecToI16(_mm256_andnot_si256(I16ToVec(excl), I16ToVec(main)));
+}
+
+HEADER_INLINE VecUc vecuc_and_notfirst(VecUc excl, VecUc main) {
+ return VecToUc(_mm256_andnot_si256(UcToVec(excl), UcToVec(main)));
+}
+
+HEADER_INLINE VecI8 veci8_and_notfirst(VecI8 excl, VecI8 main) {
+ return VecToI8(_mm256_andnot_si256(I8ToVec(excl), I8ToVec(main)));
+}
+
+HEADER_INLINE VecW vecw_set1(uintptr_t ulii) {
+ return VecToW(_mm256_set1_epi64x(ulii));
+}
+
+HEADER_INLINE VecU32 vecu32_set1(uint32_t uii) {
+ return VecToU32(_mm256_set1_epi32(uii));
+}
+
+HEADER_INLINE VecI32 veci32_set1(int32_t ii) {
+ return VecToI32(_mm256_set1_epi32(ii));
+}
+
+HEADER_INLINE VecU16 vecu16_set1(unsigned short usi) {
+ return VecToU16(_mm256_set1_epi16(usi));
+}
+
+HEADER_INLINE VecI16 veci16_set1(short si) {
+ return VecToI16(_mm256_set1_epi16(si));
+}
+
+HEADER_INLINE VecUc vecuc_set1_epi16(unsigned short usi) {
+ return VecToUc(_mm256_set1_epi16(usi));
+}
+
+HEADER_INLINE VecUc vecuc_set1(unsigned char ucc) {
+ return VecToUc(_mm256_set1_epi8(ucc));
+}
+
+HEADER_INLINE VecI8 veci8_set1(char cc) {
+ return VecToI8( _mm256_set1_epi8(cc));
+}
+
+// TODO: on ARM, replace most movemask uses:
+// https://community.arm.com/arm-community-blogs/b/infrastructure-solutions-blog/posts/porting-x86-vector-bitmask-optimizations-to-arm-neon
+HEADER_INLINE uint32_t vecw_movemask(VecW vv) {
+ return _mm256_movemask_epi8(WToVec(vv));
+}
+
+HEADER_INLINE uint32_t vecu32_movemask(VecU32 vv) {
+ return _mm256_movemask_epi8(U32ToVec(vv));
+}
+
+HEADER_INLINE uint32_t veci32_movemask(VecI32 vv) {
+ return _mm256_movemask_epi8(I32ToVec(vv));
+}
+
+HEADER_INLINE uint32_t vecu16_movemask(VecU16 vv) {
+ return _mm256_movemask_epi8(U16ToVec(vv));
+}
+
+HEADER_INLINE uint32_t veci16_movemask(VecI16 vv) {
+ return _mm256_movemask_epi8(I16ToVec(vv));
+}
+
+HEADER_INLINE uint32_t veci8_movemask(VecI8 vv) {
+ return _mm256_movemask_epi8(I8ToVec(vv));
+}
+
+HEADER_INLINE uint32_t vecuc_movemask(VecUc vv) {
+ return _mm256_movemask_epi8(UcToVec(vv));
+}
+
+// Repeats elements in second lane in AVX2 case.
+HEADER_INLINE VecW vecw_setr8(char e15, char e14, char e13, char e12, char e11, char e10, char e9, char e8, char e7, char e6, char e5, char e4, char e3, char e2, char e1, char e0) {
+ return VecToW(_mm256_setr_epi8(e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0));
+}
+
+HEADER_INLINE VecU16 vecu16_setr8(char e15, char e14, char e13, char e12, char e11, char e10, char e9, char e8, char e7, char e6, char e5, char e4, char e3, char e2, char e1, char e0) {
+ return VecToU16(_mm256_setr_epi8(e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0));
+}
+
+HEADER_INLINE VecUc vecuc_setr8(char e15, char e14, char e13, char e12, char e11, char e10, char e9, char e8, char e7, char e6, char e5, char e4, char e3, char e2, char e1, char e0) {
+ return VecToUc(_mm256_setr_epi8(e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0));
+}
+
+// Discards last 16 arguments in SSE2/SSE4.2 case.
+HEADER_INLINE VecW vecw_setr8x(char e31, char e30, char e29, char e28, char e27, char e26, char e25, char e24, char e23, char e22, char e21, char e20, char e19, char e18, char e17, char e16, char e15, char e14, char e13, char e12, char e11, char e10, char e9, char e8, char e7, char e6, char e5, char e4, char e3, char e2, char e1, char e0) {
+ return VecToW(_mm256_setr_epi8(e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0));
+}
+
+HEADER_INLINE VecUc vecuc_setr8x(char e31, char e30, char e29, char e28, char e27, char e26, char e25, char e24, char e23, char e22, char e21, char e20, char e19, char e18, char e17, char e16, char e15, char e14, char e13, char e12, char e11, char e10, char e9, char e8, char e7, char e6, char e5, char e4, char e3, char e2, char e1, char e0) {
+ return VecToUc(_mm256_setr_epi8(e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16, e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0));
+}
+
+HEADER_INLINE VecW vecw_setr32(uint32_t e3, uint32_t e2, uint32_t e1, uint32_t e0) {
+ return VecToW(_mm256_setr_epi32(e3, e2, e1, e0, e3, e2, e1, e0));
+}
+
+
+HEADER_INLINE VecW vecw_unpacklo8(VecW evens, VecW odds) {
+ return VecToW(_mm256_unpacklo_epi8(WToVec(evens), WToVec(odds)));
+}
+
+HEADER_INLINE VecW vecw_unpackhi8(VecW evens, VecW odds) {
+ return VecToW(_mm256_unpackhi_epi8(WToVec(evens), WToVec(odds)));
+}
+
+HEADER_INLINE VecI8 veci8_unpacklo8(VecI8 evens, VecI8 odds) {
+ return VecToI8(_mm256_unpacklo_epi8(I8ToVec(evens), I8ToVec(odds)));
+}
+
+HEADER_INLINE VecI8 veci8_unpackhi8(VecI8 evens, VecI8 odds) {
+ return VecToI8(_mm256_unpackhi_epi8(I8ToVec(evens), I8ToVec(odds)));
+}
+
+HEADER_INLINE VecUc vecuc_unpacklo8(VecUc evens, VecUc odds) {
+ return VecToUc(_mm256_unpacklo_epi8(UcToVec(evens), UcToVec(odds)));
+}
+
+HEADER_INLINE VecUc vecuc_unpackhi8(VecUc evens, VecUc odds) {
+ return VecToUc(_mm256_unpackhi_epi8(UcToVec(evens), UcToVec(odds)));
+}
+
+HEADER_INLINE VecW vecw_unpacklo16(VecW evens, VecW odds) {
+ return VecToW(_mm256_unpacklo_epi16(WToVec(evens), WToVec(odds)));
+}
+
+HEADER_INLINE VecW vecw_unpackhi16(VecW evens, VecW odds) {
+ return VecToW(_mm256_unpackhi_epi16(WToVec(evens), WToVec(odds)));
+}
+
+HEADER_INLINE VecW vecw_unpacklo32(VecW evens, VecW odds) {
+ return VecToW(_mm256_unpacklo_epi32(WToVec(evens), WToVec(odds)));
+}
+
+HEADER_INLINE VecW vecw_unpackhi32(VecW evens, VecW odds) {
+ return VecToW(_mm256_unpackhi_epi32(WToVec(evens), WToVec(odds)));
+}
+
+HEADER_INLINE VecW vecw_permute0xd8_if_avx2(VecW vv) {
+ return VecToW(_mm256_permute4x64_epi64(WToVec(vv), 0xd8));
+}
+
+HEADER_INLINE VecI8 veci8_permute0xd8_if_avx2(VecI8 vv) {
+ return VecToI8(_mm256_permute4x64_epi64(I8ToVec(vv), 0xd8));
+}
+
+HEADER_INLINE VecUc vecuc_permute0xd8_if_avx2(VecUc vv) {
+ return VecToUc(_mm256_permute4x64_epi64(UcToVec(vv), 0xd8));
+}
+
+// Could have a single-src gather_even function, but that should wait until
+// there is a clear SSE2 use case.
+HEADER_INLINE VecW vecw_gather_even(VecW src_lo, VecW src_hi, VecW m8) {
+ const VecW gathered_laneswapped = VecToW(_mm256_packus_epi16(WToVec(src_lo & m8), WToVec(src_hi & m8)));
+ return vecw_permute0xd8_if_avx2(gathered_laneswapped);
+}
+
+HEADER_INLINE VecUc vecuc_gather_even(VecUc src_lo, VecUc src_hi, VecUc m8) {
+ const VecUc gathered_laneswapped = VecToUc(_mm256_packus_epi16(UcToVec(src_lo & m8), UcToVec(src_hi & m8)));
+ return vecuc_permute0xd8_if_avx2(gathered_laneswapped);
+}
+
+HEADER_INLINE VecUc vecuc_gather_odd(VecUc src_lo, VecUc src_hi) {
+ const VecUc gathered_laneswapped = VecToUc(_mm256_packus_epi16(_mm256_srli_epi16(UcToVec(src_lo), 8), _mm256_srli_epi16(UcToVec(src_hi), 8)));
+ return vecuc_permute0xd8_if_avx2(gathered_laneswapped);
+}
+
+HEADER_INLINE VecW vecw_shuffle8(VecW table, VecW indexes) {
+ return VecToW(_mm256_shuffle_epi8(WToVec(table), WToVec(indexes)));
+}
+
+HEADER_INLINE VecU16 vecu16_shuffle8(VecU16 table, VecU16 indexes) {
+ return VecToU16(_mm256_shuffle_epi8(U16ToVec(table), U16ToVec(indexes)));
+}
+
+HEADER_INLINE VecUc vecuc_shuffle8(VecUc table, VecUc indexes) {
+ return VecToUc(_mm256_shuffle_epi8(UcToVec(table), UcToVec(indexes)));
+}
+
+HEADER_INLINE uintptr_t vecw_extract64_0(VecW vv) {
+ return _mm256_extract_epi64(WToVec(vv), 0);
+}
+
+HEADER_INLINE uintptr_t vecw_extract64_1(VecW vv) {
+ return _mm256_extract_epi64(WToVec(vv), 1);
+}
+
+// *** AVX2-only section ***
+HEADER_INLINE uintptr_t vecw_extract64_2(VecW vv) {
+ return _mm256_extract_epi64(WToVec(vv), 2);
+}
+
+HEADER_INLINE uintptr_t vecw_extract64_3(VecW vv) {
+ return _mm256_extract_epi64(WToVec(vv), 3);
+}
+
+// todo: permute
+
+// *** end AVX2-only section ***
+
+# define kVec8thUintMax UINT32_MAX
+
+typedef uint16_t Vec16thUint;
+typedef uint32_t Vec8thUint;
+typedef uint64_t Vec4thUint;
+
+HEADER_INLINE VecW vecw_load(const void* mem_addr) {
+ return VecToW(_mm256_load_si256(S_CAST(const __m256i*, mem_addr)));
+}
+
+// There may be some value in adding a 4-consecutive-vector load function when
+// addresses are expected to be unaligned: see
+// https://www.agner.org/optimize/blog/read.php?i=627&v=t
+
+HEADER_INLINE VecW vecw_loadu(const void* mem_addr) {
+ return VecToW(_mm256_loadu_si256(S_CAST(const __m256i*, mem_addr)));
+}
+
+HEADER_INLINE VecU32 vecu32_loadu(const void* mem_addr) {
+ return VecToU32(_mm256_loadu_si256(S_CAST(const __m256i*, mem_addr)));
+}
+
+HEADER_INLINE VecI32 veci32_loadu(const void* mem_addr) {
+ return VecToI32(_mm256_loadu_si256(S_CAST(const __m256i*, mem_addr)));
+}
+
+HEADER_INLINE VecU16 vecu16_loadu(const void* mem_addr) {
+ return VecToU16(_mm256_loadu_si256(S_CAST(const __m256i*, mem_addr)));
+}
+
+HEADER_INLINE VecI16 veci16_loadu(const void* mem_addr) {
+ return VecToI16(_mm256_loadu_si256(S_CAST(const __m256i*, mem_addr)));
+}
+
+HEADER_INLINE VecUc vecuc_loadu(const void* mem_addr) {
+ return VecToUc(_mm256_loadu_si256(S_CAST(const __m256i*, mem_addr)));
+}
+
+HEADER_INLINE VecI8 veci8_loadu(const void* mem_addr) {
+ return VecToI8(_mm256_loadu_si256(S_CAST(const __m256i*, mem_addr)));
+}
+
+HEADER_INLINE void vec_storeu(void* mem_addr, __m256i vv) {
+ _mm256_storeu_si256(S_CAST(__m256i*, mem_addr), vv);
+}
+
+HEADER_INLINE VecI32 veci32_max(VecI32 v1, VecI32 v2) {
+ return VecToI32(_mm256_max_epi32(I32ToVec(v1), I32ToVec(v2)));
+}
+
+HEADER_INLINE VecI16 veci16_max(VecI16 v1, VecI16 v2) {
+ return VecToI16(_mm256_max_epi16(I16ToVec(v1), I16ToVec(v2)));
+}
+
+HEADER_INLINE VecW vecw_sad(VecW v1, VecW v2) {
+ return VecToW(_mm256_sad_epu8(WToVec(v1), WToVec(v2)));
+}
+
+HEADER_INLINE VecUc vecuc_adds(VecUc v1, VecUc v2) {
+ return VecToUc(_mm256_adds_epu8(UcToVec(v1), UcToVec(v2)));
+}
+
+HEADER_INLINE VecU16 vecu16_min8(VecU16 v1, VecU16 v2) {
+ return VecToU16(_mm256_min_epu8(U16ToVec(v1), U16ToVec(v2)));
+}
+
+HEADER_INLINE VecUc vecuc_min(VecUc v1, VecUc v2) {
+ return VecToUc(_mm256_min_epu8(UcToVec(v1), UcToVec(v2)));
+}
+
+HEADER_INLINE VecW vecw_blendv(VecW aa, VecW bb, VecW mask) {
+ return VecToW(_mm256_blendv_epi8(WToVec(aa), WToVec(bb), WToVec(mask)));
+}
+
+HEADER_INLINE VecU32 vecu32_blendv(VecU32 aa, VecU32 bb, VecU32 mask) {
+ return VecToU32(_mm256_blendv_epi8(U32ToVec(aa), U32ToVec(bb), U32ToVec(mask)));
+}
+
+HEADER_INLINE VecU16 vecu16_blendv(VecU16 aa, VecU16 bb, VecU16 mask) {
+ return VecToU16(_mm256_blendv_epi8(U16ToVec(aa), U16ToVec(bb), U16ToVec(mask)));
+}
+
+HEADER_INLINE VecUc vecuc_blendv(VecUc aa, VecUc bb, VecUc mask) {
+ return VecToUc(_mm256_blendv_epi8(UcToVec(aa), UcToVec(bb), UcToVec(mask)));
+}
+
+# else // USE_SSE2, !USE_AVX2
+
+CONSTI32(kBytesPerVec, 16);
+typedef uintptr_t VecW __attribute__ ((vector_size (16)));
+typedef uint32_t VecU32 __attribute ((vector_size (16)));
+typedef int32_t VecI32 __attribute ((vector_size (16)));
+typedef unsigned short VecU16 __attribute__ ((vector_size (16)));
+typedef short VecI16 __attribute__ ((vector_size (16)));
+typedef int8_t VecI8 __attribute__ ((vector_size (16)));
+typedef unsigned char VecUc __attribute__ ((vector_size (16)));
+
+HEADER_INLINE VecW VecToW(__m128i vv) {
+ return R_CAST(VecW, vv);
+}
+
+HEADER_INLINE VecU32 VecToU32(__m128i vv) {
+ return R_CAST(VecU32, vv);
+}
+
+HEADER_INLINE VecI32 VecToI32(__m128i vv) {
+ return R_CAST(VecI32, vv);
+}
+
+HEADER_INLINE VecU16 VecToU16(__m128i vv) {
+ return R_CAST(VecU16, vv);
+}
+
+HEADER_INLINE VecI16 VecToI16(__m128i vv) {
+ return R_CAST(VecI16, vv);
+}
+
+HEADER_INLINE VecUc VecToUc(__m128i vv) {
+ return R_CAST(VecUc, vv);
+}
+
+HEADER_INLINE VecI8 VecToI8(__m128i vv) {
+ return R_CAST(VecI8, vv);
+}
+
+HEADER_INLINE __m128i WToVec(VecW vv) {
+ return R_CAST(__m128i, vv);
+}
+
+HEADER_INLINE __m128i U32ToVec(VecU32 vv) {
+ return R_CAST(__m128i, vv);
+}
+
+HEADER_INLINE __m128i I32ToVec(VecI32 vv) {
+ return R_CAST(__m128i, vv);
+}
+
+HEADER_INLINE __m128i U16ToVec(VecU16 vv) {
+ return R_CAST(__m128i, vv);
+}
+
+HEADER_INLINE __m128i I16ToVec(VecI16 vv) {
+ return R_CAST(__m128i, vv);
+}
+
+HEADER_INLINE __m128i UcToVec(VecUc vv) {
+ return R_CAST(__m128i, vv);
+}
+
+HEADER_INLINE __m128i I8ToVec(VecI8 vv) {
+ return R_CAST(__m128i, vv);
+}
+
+# define VCONST_W(xx) {xx, xx}
+# define VCONST_S(xx) {xx, xx, xx, xx, xx, xx, xx, xx}
+# define VCONST_C(xx) {xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx}
+# define VCONST_UC VCONST_C
+
+HEADER_INLINE VecW vecw_setzero() {
+ return VecToW(_mm_setzero_si128());
+}
+
+HEADER_INLINE VecU32 vecu32_setzero() {
+ return VecToU32(_mm_setzero_si128());
+}
+
+HEADER_INLINE VecU16 vecu16_setzero() {
+ return VecToU16(_mm_setzero_si128());
+}
+
+HEADER_INLINE VecI16 veci16_setzero() {
+ return VecToI16(_mm_setzero_si128());
+}
+
+HEADER_INLINE VecUc vecuc_setzero() {
+ return VecToUc(_mm_setzero_si128());
+}
+
+HEADER_INLINE VecI8 veci8_setzero() {
+ return VecToI8(_mm_setzero_si128());
+}
+
+// simde is incompatible with defining these as inline functions
+# define vecw_srli(vv, ct) VecToW(_mm_srli_epi64(WToVec(vv), ct))
+
+# define vecw_slli(vv, ct) VecToW(_mm_slli_epi64(WToVec(vv), ct))
+
+# define vecu32_srli(vv, ct) VecToU32(_mm_srli_epi32(U32ToVec(vv), ct))
+
+# define vecu32_slli(vv, ct) VecToU32(_mm_slli_epi32(U32ToVec(vv), ct))
+
+# define vecu16_srli(vv, ct) VecToU16(_mm_srli_epi16(U16ToVec(vv), ct))
+
+# define vecu16_slli(vv, ct) VecToU16(_mm_slli_epi16(U16ToVec(vv), ct))
+
+HEADER_INLINE VecW vecw_and_notfirst(VecW excl, VecW main) {
+ return VecToW(_mm_andnot_si128(WToVec(excl), WToVec(main)));
+}
+
+HEADER_INLINE VecU32 vecu32_and_notfirst(VecU32 excl, VecU32 main) {
+ return VecToU32(_mm_andnot_si128(U32ToVec(excl), U32ToVec(main)));
+}
+
+HEADER_INLINE VecI32 veci32_and_notfirst(VecI32 excl, VecI32 main) {
+ return VecToI32(_mm_andnot_si128(I32ToVec(excl), I32ToVec(main)));
+}
+
+HEADER_INLINE VecU16 vecu16_and_notfirst(VecU16 excl, VecU16 main) {
+ return VecToU16(_mm_andnot_si128(U16ToVec(excl), U16ToVec(main)));
+}
+
+HEADER_INLINE VecI16 veci16_and_notfirst(VecI16 excl, VecI16 main) {
+ return VecToI16(_mm_andnot_si128(I16ToVec(excl), I16ToVec(main)));
+}
+
+HEADER_INLINE VecUc vecuc_and_notfirst(VecUc excl, VecUc main) {
+ return VecToUc(_mm_andnot_si128(UcToVec(excl), UcToVec(main)));
+}
+
+HEADER_INLINE VecI8 veci8_and_notfirst(VecI8 excl, VecI8 main) {
+ return VecToI8(_mm_andnot_si128(I8ToVec(excl), I8ToVec(main)));
+}
+
+HEADER_INLINE VecW vecw_set1(uintptr_t ulii) {
+ return VecToW(_mm_set1_epi64x(ulii));
+}
+
+HEADER_INLINE VecU32 vecu32_set1(uint32_t uii) {
+ return VecToU32(_mm_set1_epi32(uii));
+}
+
+HEADER_INLINE VecI32 veci32_set1(int32_t ii) {
+ return VecToI32(_mm_set1_epi32(ii));
+}
+
+HEADER_INLINE VecU16 vecu16_set1(unsigned short usi) {
+ return VecToU16(_mm_set1_epi16(usi));
+}
+
+HEADER_INLINE VecI16 veci16_set1(short si) {
+ return VecToI16(_mm_set1_epi16(si));
+}
+
+HEADER_INLINE VecUc vecuc_set1_epi16(unsigned short usi) {
+ return VecToUc(_mm_set1_epi16(usi));
+}
+
+HEADER_INLINE VecUc vecuc_set1(unsigned char ucc) {
+ return VecToUc(_mm_set1_epi8(ucc));
+}
+
+HEADER_INLINE VecI8 veci8_set1(char cc) {
+ return VecToI8(_mm_set1_epi8(cc));
+}
+
+HEADER_INLINE uint32_t vecw_movemask(VecW vv) {
+ return _mm_movemask_epi8(WToVec(vv));
+}
+
+HEADER_INLINE uint32_t vecu32_movemask(VecU32 vv) {
+ return _mm_movemask_epi8(U32ToVec(vv));
+}
+
+HEADER_INLINE uint32_t veci32_movemask(VecI32 vv) {
+ return _mm_movemask_epi8(I32ToVec(vv));
+}
+
+HEADER_INLINE uint32_t vecu16_movemask(VecU16 vv) {
+ return _mm_movemask_epi8(U16ToVec(vv));
+}
+
+HEADER_INLINE uint32_t veci16_movemask(VecI16 vv) {
+ return _mm_movemask_epi8(I16ToVec(vv));
+}
+
+HEADER_INLINE uint32_t veci8_movemask(VecI8 vv) {
+ return _mm_movemask_epi8(I8ToVec(vv));
+}
+
+HEADER_INLINE uint32_t vecuc_movemask(VecUc vv) {
+ return _mm_movemask_epi8(UcToVec(vv));
+}
+
+CONSTI32(kVec8thUintMax, 65535);
+
+// # define kVec8thUintMax 65535
+
+typedef unsigned char Vec16thUint;
+typedef uint16_t Vec8thUint;
+typedef uint32_t Vec4thUint;
+
+HEADER_INLINE VecW vecw_load(const void* mem_addr) {
+ return VecToW(_mm_load_si128(S_CAST(const __m128i*, mem_addr)));
+}
+
+HEADER_INLINE VecW vecw_loadu(const void* mem_addr) {
+ return VecToW(_mm_loadu_si128(S_CAST(const __m128i*, mem_addr)));
+}
+
+HEADER_INLINE VecU32 vecu32_loadu(const void* mem_addr) {
+ return VecToU32(_mm_loadu_si128(S_CAST(const __m128i*, mem_addr)));
+}
+
+HEADER_INLINE VecI32 veci32_loadu(const void* mem_addr) {
+ return VecToI32(_mm_loadu_si128(S_CAST(const __m128i*, mem_addr)));
+}
+
+HEADER_INLINE VecU16 vecu16_loadu(const void* mem_addr) {
+ return VecToU16(_mm_loadu_si128(S_CAST(const __m128i*, mem_addr)));
+}
+
+HEADER_INLINE VecI16 veci16_loadu(const void* mem_addr) {
+ return VecToI16(_mm_loadu_si128(S_CAST(const __m128i*, mem_addr)));
+}
+
+HEADER_INLINE VecUc vecuc_loadu(const void* mem_addr) {
+ return VecToUc(_mm_loadu_si128(S_CAST(const __m128i*, mem_addr)));
+}
+
+HEADER_INLINE VecI8 veci8_loadu(const void* mem_addr) {
+ return VecToI8(_mm_loadu_si128(S_CAST(const __m128i*, mem_addr)));
+}
+
+HEADER_INLINE void vec_storeu(void* mem_addr, __m128i vv) {
+ _mm_storeu_si128(S_CAST(__m128i*, mem_addr), vv);
+}
+
+// Repeats arguments in AVX2 case.
+HEADER_INLINE VecW vecw_setr8(char e15, char e14, char e13, char e12, char e11, char e10, char e9, char e8, char e7, char e6, char e5, char e4, char e3, char e2, char e1, char e0) {
+ return VecToW(_mm_setr_epi8(e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0));
+}
+
+HEADER_INLINE VecU16 vecu16_setr8(char e15, char e14, char e13, char e12, char e11, char e10, char e9, char e8, char e7, char e6, char e5, char e4, char e3, char e2, char e1, char e0) {
+ return VecToU16(_mm_setr_epi8(e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0));
+}
+
+HEADER_INLINE VecUc vecuc_setr8(char e15, char e14, char e13, char e12, char e11, char e10, char e9, char e8, char e7, char e6, char e5, char e4, char e3, char e2, char e1, char e0) {
+ return VecToUc(_mm_setr_epi8(e15, e14, e13, e12, e11, e10, e9, e8, e7, e6, e5, e4, e3, e2, e1, e0));
+}
+
+// Discards last 16 arguments in SSE2/SSE4.2 case.
+HEADER_INLINE VecW vecw_setr8x(
+ char e31, char e30, char e29, char e28,
+ char e27, char e26, char e25, char e24,
+ char e23, char e22, char e21, char e20,
+ char e19, char e18, char e17, char e16,
+ __maybe_unused char e15, __maybe_unused char e14,
+ __maybe_unused char e13, __maybe_unused char e12,
+ __maybe_unused char e11, __maybe_unused char e10,
+ __maybe_unused char e9, __maybe_unused char e8,
+ __maybe_unused char e7, __maybe_unused char e6,
+ __maybe_unused char e5, __maybe_unused char e4,
+ __maybe_unused char e3, __maybe_unused char e2,
+ __maybe_unused char e1, __maybe_unused char e0) {
+ return VecToW(_mm_setr_epi8(e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16));
+}
+
+HEADER_INLINE VecUc vecuc_setr8x(
+ char e31, char e30, char e29, char e28,
+ char e27, char e26, char e25, char e24,
+ char e23, char e22, char e21, char e20,
+ char e19, char e18, char e17, char e16,
+ __maybe_unused char e15, __maybe_unused char e14,
+ __maybe_unused char e13, __maybe_unused char e12,
+ __maybe_unused char e11, __maybe_unused char e10,
+ __maybe_unused char e9, __maybe_unused char e8,
+ __maybe_unused char e7, __maybe_unused char e6,
+ __maybe_unused char e5, __maybe_unused char e4,
+ __maybe_unused char e3, __maybe_unused char e2,
+ __maybe_unused char e1, __maybe_unused char e0) {
+ return VecToUc(_mm_setr_epi8(e31, e30, e29, e28, e27, e26, e25, e24, e23, e22, e21, e20, e19, e18, e17, e16));
+}
+
+HEADER_INLINE VecW vecw_setr32(uint32_t e3, uint32_t e2, uint32_t e1, uint32_t e0) {
+ return VecToW(_mm_setr_epi32(e3, e2, e1, e0));
+}
+
+HEADER_INLINE VecW vecw_unpacklo8(VecW evens, VecW odds) {
+ return VecToW(_mm_unpacklo_epi8(WToVec(evens), WToVec(odds)));
+}
+
+HEADER_INLINE VecW vecw_unpackhi8(VecW evens, VecW odds) {
+ return VecToW(_mm_unpackhi_epi8(WToVec(evens), WToVec(odds)));
+}
+
+HEADER_INLINE VecI8 veci8_unpacklo8(VecI8 evens, VecI8 odds) {
+ return VecToI8(_mm_unpacklo_epi8(I8ToVec(evens), I8ToVec(odds)));
+}
+
+HEADER_INLINE VecI8 veci8_unpackhi8(VecI8 evens, VecI8 odds) {
+ return VecToI8(_mm_unpackhi_epi8(I8ToVec(evens), I8ToVec(odds)));
+}
+
+HEADER_INLINE VecUc vecuc_unpacklo8(VecUc evens, VecUc odds) {
+ return VecToUc(_mm_unpacklo_epi8(UcToVec(evens), UcToVec(odds)));
+}
+
+HEADER_INLINE VecUc vecuc_unpackhi8(VecUc evens, VecUc odds) {
+ return VecToUc(_mm_unpackhi_epi8(UcToVec(evens), UcToVec(odds)));
+}
+
+HEADER_INLINE VecW vecw_unpacklo16(VecW evens, VecW odds) {
+ return VecToW(_mm_unpacklo_epi16(WToVec(evens), WToVec(odds)));
+}
+
+HEADER_INLINE VecW vecw_unpackhi16(VecW evens, VecW odds) {
+ return VecToW(_mm_unpackhi_epi16(WToVec(evens), WToVec(odds)));
+}
+
+HEADER_INLINE VecW vecw_unpacklo32(VecW evens, VecW odds) {
+ return VecToW(_mm_unpacklo_epi32(WToVec(evens), WToVec(odds)));
+}
+
+HEADER_INLINE VecW vecw_unpackhi32(VecW evens, VecW odds) {
+ return VecToW(_mm_unpackhi_epi32(WToVec(evens), WToVec(odds)));
+}
+
+HEADER_INLINE VecW vecw_unpacklo64(VecW evens, VecW odds) {
+ return VecToW(_mm_unpacklo_epi64(WToVec(evens), WToVec(odds)));
+}
+
+HEADER_INLINE VecW vecw_unpackhi64(VecW evens, VecW odds) {
+ return VecToW(_mm_unpackhi_epi64(WToVec(evens), WToVec(odds)));
+}
+
+HEADER_INLINE VecW vecw_permute0xd8_if_avx2(VecW vv) {
+ return vv;
+}
+
+HEADER_INLINE VecI8 veci8_permute0xd8_if_avx2(VecI8 vv) {
+ return vv;
+}
+
+HEADER_INLINE VecUc vecuc_permute0xd8_if_avx2(VecUc vv) {
+ return vv;
+}
+
+HEADER_INLINE VecW vecw_gather_even(VecW src_lo, VecW src_hi, VecW m8) {
+ return VecToW(_mm_packus_epi16(WToVec(src_lo & m8), WToVec(src_hi & m8)));
+}
+
+HEADER_INLINE VecUc vecuc_gather_even(VecUc src_lo, VecUc src_hi, VecUc m8) {
+ return VecToUc(_mm_packus_epi16(UcToVec(src_lo & m8), UcToVec(src_hi & m8)));
+}
+
+HEADER_INLINE VecUc vecuc_gather_odd(VecUc src_lo, VecUc src_hi) {
+ return VecToUc(_mm_packus_epi16(_mm_srli_epi16(UcToVec(src_lo), 8), _mm_srli_epi16(UcToVec(src_hi), 8)));
+}
+
+# ifdef USE_SHUFFLE8
+# ifdef SIMDE_ARM_NEON_A64V8_NATIVE
+// See simde_mm_shuffle_epi8().
+// In the future, this may need to be written more carefully in the
+// IGNORE_BUNDLED_SIMDE case. But this is compatible with simde v0.7.x and
+// v0.8.x.
+SIMDE_FUNCTION_ATTRIBUTES simde__m128i _mm_shuffle_epi8(simde__m128i a, simde__m128i b) {
+ simde__m128i_private a_ = simde__m128i_to_private(a);
+ simde__m128i_private b_ = simde__m128i_to_private(b);
+ simde__m128i_private r_;
+ r_.neon_i8 = vqtbl1q_s8(a_.neon_i8, b_.neon_u8);
+ return simde__m128i_from_private(r_);
+}
+# endif
+HEADER_INLINE VecW vecw_shuffle8(VecW table, VecW indexes) {
+ return VecToW(_mm_shuffle_epi8(WToVec(table), WToVec(indexes)));
+}
+
+HEADER_INLINE VecU16 vecu16_shuffle8(VecU16 table, VecU16 indexes) {
+ return VecToU16(_mm_shuffle_epi8(U16ToVec(table), U16ToVec(indexes)));
+}
+
+HEADER_INLINE VecUc vecuc_shuffle8(VecUc table, VecUc indexes) {
+ return VecToUc(_mm_shuffle_epi8(UcToVec(table), UcToVec(indexes)));
+}
+# endif
+# ifdef USE_SSE42
+HEADER_INLINE VecI32 veci32_max(VecI32 v1, VecI32 v2) {
+ return VecToI32(_mm_max_epi32(I32ToVec(v1), I32ToVec(v2)));
+}
+
+HEADER_INLINE uintptr_t vecw_extract64_0(VecW vv) {
+ return _mm_extract_epi64(WToVec(vv), 0);
+}
+
+HEADER_INLINE uintptr_t vecw_extract64_1(VecW vv) {
+ return _mm_extract_epi64(WToVec(vv), 1);
+}
+
+HEADER_INLINE VecW vecw_blendv(VecW aa, VecW bb, VecW mask) {
+ return VecToW(_mm_blendv_epi8(WToVec(aa), WToVec(bb), WToVec(mask)));
+}
+
+HEADER_INLINE VecU32 vecu32_blendv(VecU32 aa, VecU32 bb, VecU32 mask) {
+ return VecToU32(_mm_blendv_epi8(U32ToVec(aa), U32ToVec(bb), U32ToVec(mask)));
+}
+
+HEADER_INLINE VecU16 vecu16_blendv(VecU16 aa, VecU16 bb, VecU16 mask) {
+ return VecToU16(_mm_blendv_epi8(U16ToVec(aa), U16ToVec(bb), U16ToVec(mask)));
+}
+
+HEADER_INLINE VecUc vecuc_blendv(VecUc aa, VecUc bb, VecUc mask) {
+ return VecToUc(_mm_blendv_epi8(UcToVec(aa), UcToVec(bb), UcToVec(mask)));
+}
+# else // USE_SSE2, !USE_SSE42
+HEADER_INLINE uintptr_t vecw_extract64_0(VecW vv) {
+ return R_CAST(uintptr_t, _mm_movepi64_pi64(WToVec(vv)));
+}
+
+// compiler recognizes this on ARMv8
+HEADER_INLINE uintptr_t vecw_extract64_1(VecW vv) {
+ const __m128i v0 = _mm_srli_si128(WToVec(vv), 8);
+ return R_CAST(uintptr_t, _mm_movepi64_pi64(v0));
+}
+
+// N.B. we do *not* enforce the low bits of each mask byte matching the high
+// bit.
+HEADER_INLINE VecW vecw_blendv(VecW aa, VecW bb, VecW mask) {
+ return vecw_and_notfirst(mask, aa) | (mask & bb);
+}
+
+HEADER_INLINE VecU32 vecu32_blendv(VecU32 aa, VecU32 bb, VecU32 mask) {
+ return vecu32_and_notfirst(mask, aa) | (mask & bb);
+}
+
+HEADER_INLINE VecU16 vecu16_blendv(VecU16 aa, VecU16 bb, VecU16 mask) {
+ return vecu16_and_notfirst(mask, aa) | (mask & bb);
+}
+
+HEADER_INLINE VecUc vecuc_blendv(VecUc aa, VecUc bb, VecUc mask) {
+ return vecuc_and_notfirst(mask, aa) | (mask & bb);
+}
+# endif
+
+HEADER_INLINE VecI16 veci16_max(VecI16 v1, VecI16 v2) {
+ return VecToI16(_mm_max_epi16(I16ToVec(v1), I16ToVec(v2)));
+}
+
+HEADER_INLINE VecW vecw_sad(VecW v1, VecW v2) {
+ return VecToW(_mm_sad_epu8(WToVec(v1), WToVec(v2)));
+}
+
+HEADER_INLINE VecUc vecuc_adds(VecUc v1, VecUc v2) {
+ return VecToUc(_mm_adds_epu8(UcToVec(v1), UcToVec(v2)));
+}
+
+HEADER_INLINE VecU16 vecu16_min8(VecU16 v1, VecU16 v2) {
+ return VecToU16(_mm_min_epu8(U16ToVec(v1), U16ToVec(v2)));
+}
+
+HEADER_INLINE VecUc vecuc_min(VecUc v1, VecUc v2) {
+ return VecToUc(_mm_min_epu8(UcToVec(v1), UcToVec(v2)));
+}
+# endif // USE_SSE2, !USE_AVX2
+
+HEADER_INLINE void vecw_storeu(void* mem_addr, VecW vv) {
+ vec_storeu(mem_addr, WToVec(vv));
+}
+
+HEADER_INLINE void vecu32_storeu(void* mem_addr, VecU32 vv) {
+ vec_storeu(mem_addr, U32ToVec(vv));
+}
+
+HEADER_INLINE void veci32_storeu(void* mem_addr, VecI32 vv) {
+ vec_storeu(mem_addr, I32ToVec(vv));
+}
+
+HEADER_INLINE void vecu16_storeu(void* mem_addr, VecU16 vv) {
+ vec_storeu(mem_addr, U16ToVec(vv));
+}
+
+HEADER_INLINE void veci16_storeu(void* mem_addr, VecI16 vv) {
+ vec_storeu(mem_addr, I16ToVec(vv));
+}
+
+HEADER_INLINE void vecuc_storeu(void* mem_addr, VecUc vv) {
+ vec_storeu(mem_addr, UcToVec(vv));
+}
+
+HEADER_INLINE VecW vecw_bytesum(VecW src, VecW m0) {
+ return vecw_sad(src, m0);
+}
+
+CONSTI32(kVec8thUintPerWord, sizeof(intptr_t) / sizeof(Vec8thUint));
+
+# ifdef FVEC_32
+
+# ifndef __FMA__
+# error "32-byte-float-vector builds require FMA3 as well."
+# endif
+
+CONSTI32(kBytesPerFVec, 32);
+CONSTI32(kBytesPerDVec, 32);
+typedef float VecF __attribute__ ((vector_size (32)));
+typedef double VecD __attribute__ ((vector_size (32)));
+
+# define VCONST_F(xx) {xx, xx, xx, xx, xx, xx, xx, xx}
+# define VCONST_D(xx) {xx, xx, xx, xx}
+
+HEADER_INLINE VecF VecToF(__m256 xxv) {
+ return R_CAST(VecF, xxv);
+}
+
+HEADER_INLINE VecD VecToD(__m256d xxv) {
+ return R_CAST(VecD, xxv);
+}
+
+HEADER_INLINE __m256 FToVec(VecF xxv) {
+ return R_CAST(__m256, xxv);
+}
+
+HEADER_INLINE __m256d DToVec(VecD xxv) {
+ return R_CAST(__m256d, xxv);
+}
+
+HEADER_INLINE VecF vecf_setzero() {
+ return VecToF(_mm256_setzero_ps());
+}
+
+HEADER_INLINE VecD vecd_setzero() {
+ return VecToD(_mm256_setzero_pd());
+}
+
+# else // !FVEC_32
+
+CONSTI32(kBytesPerFVec, 16);
+CONSTI32(kBytesPerDVec, 16);
+typedef float VecF __attribute__ ((vector_size (16)));
+typedef double VecD __attribute__ ((vector_size (16)));
+
+# define VCONST_F(xx) {xx, xx, xx, xx}
+# define VCONST_D(xx) {xx, xx}
+
+HEADER_INLINE VecF VecToF(__m128 xxv) {
+ return R_CAST(VecF, xxv);
+}
+
+HEADER_INLINE VecD VecToD(__m128d xxv) {
+ return R_CAST(VecD, xxv);
+}
+
+HEADER_INLINE __m128 FToVec(VecF xxv) {
+ return R_CAST(__m128, xxv);
+}
+
+HEADER_INLINE __m128d DToVec(VecD xxv) {
+ return R_CAST(__m128d, xxv);
+}
+
+HEADER_INLINE VecF vecf_setzero() {
+ return VecToF(_mm_setzero_ps());
+}
+
+HEADER_INLINE VecD vecd_setzero() {
+ return VecToD(_mm_setzero_pd());
+}
+
+# endif // !FVEC_32
+
+HEADER_INLINE VecUc VecWToUc(VecW vv) {
+ return R_CAST(VecUc, vv);
+}
+
+HEADER_INLINE VecW VecU16ToW(VecU16 vv) {
+ return R_CAST(VecW, vv);
+}
+
+HEADER_INLINE VecW VecUcToW(VecUc vv) {
+ return R_CAST(VecW, vv);
+}
+
+HEADER_INLINE void vecw_lo_and_hi_nybbles(VecW cur_vec, VecW m4, VecW* vec_lo_ptr, VecW* vec_hi_ptr) {
+ // Assumes m4 is VCONST_W(kMask0F0F).
+ // Returned vec_lo and vec_hi have top nybble of each byte zeroed out.
+ cur_vec = vecw_permute0xd8_if_avx2(cur_vec);
+ // AVX2:
+ // vec_even contains {0, 2, 4, ..., 14, 32, 34, ..., 46,
+ // 16, 18, ..., 30, 48, ... 62}
+ // vec_odd contains {1, 3, 5, ..., 15, 33, 35, ..., 47,
+ // 17, 19, ..., 31, 49, ..., 63}
+ // SSE2:
+ // vec_even contains {0, 2, 4, ..., 30}
+ // vec_odd contains {1, 3, 5, ..., 31}
+ const VecW vec_even = cur_vec & m4;
+ const VecW vec_odd = vecw_srli(cur_vec, 4) & m4;
+
+ // AVX2:
+ // vec_lo contains {0, 1, 2, ..., 31}
+ // vec_hi contains {32, 33, 34, ..., 63}
+ // SSE2:
+ // vec_lo contains {0, 1, 2, ..., 15}
+ // vec_hi contains {16, 17, 18, ..., 31}
+ *vec_lo_ptr = vecw_unpacklo8(vec_even, vec_odd);
+ *vec_hi_ptr = vecw_unpackhi8(vec_even, vec_odd);
+}
+#else // !USE_SSE2
+# ifdef __LP64__
+CONSTI32(kBytesPerVec, 8);
+# else
+CONSTI32(kBytesPerVec, 4);
+# endif
+CONSTI32(kBytesPerFVec, 4);
+CONSTI32(kBytesPerDVec, 8);
+
+typedef uintptr_t VecW;
+typedef uint32_t VecU32;
+typedef float VecF;
+typedef double VecD;
+// VecI16 and VecI8 aren't worth the trouble of scaling down to 32-bit
+
+# define VCONST_W(xx) (xx)
+
+HEADER_INLINE VecW vecw_setzero() {
+ return k0LU;
+}
+
+HEADER_INLINE VecW vecw_srli(VecW vv, uint32_t ct) {
+ return vv >> ct;
+}
+
+HEADER_INLINE VecW vecw_slli(VecW vv, uint32_t ct) {
+ return vv << ct;
+}
+
+HEADER_INLINE VecW vecw_set1(uintptr_t ulii) {
+ return ulii;
+}
+
+HEADER_INLINE VecW vecw_loadu(const void* mem_addr) {
+ return *S_CAST(const VecW*, mem_addr);
+}
+
+# ifdef __LP64__
+HEADER_INLINE VecW vecw_bytesum(VecW src, __maybe_unused VecW m0) {
+ src = (src & 0x00ff00ff00ff00ffLLU) + ((src >> 8) & 0x00ff00ff00ff00ffLLU);
+ return (src * 0x1000100010001LLU) >> 48;
+}
+# else
+HEADER_INLINE VecW vecw_bytesum(VecW src, __maybe_unused VecW m0) {
+ src = (src & 0x00ff00ff) + ((src >> 8) & 0x00ff00ff);
+ return (src & 0xffff) + (src >> 16);
+}
+# endif
+
+HEADER_INLINE VecW vecw_and_notfirst(VecW excl, VecW main) {
+ return (~excl) & main;
+}
+
+HEADER_INLINE VecU32 vecu32_and_notfirst(VecU32 excl, VecU32 main) {
+ return (~excl) & main;
+}
+#endif // !USE_SSE2
+
+HEADER_INLINE uint32_t* I32ToU32(int32_t* pp) {
+ return R_CAST(uint32_t*, pp);
+}
+
+// Unfortunately, we need to spell out S_CAST(uintptr_t, 0) instead of just
+// typing k0LU in C99.
+static const uintptr_t kMask5555 = (~S_CAST(uintptr_t, 0)) / 3;
+static const uintptr_t kMaskAAAA = ((~S_CAST(uintptr_t, 0)) / 3) * 2;
+static const uintptr_t kMask3333 = (~S_CAST(uintptr_t, 0)) / 5;
+static const uintptr_t kMask1111 = (~S_CAST(uintptr_t, 0)) / 15;
+static const uintptr_t kMask0F0F = (~S_CAST(uintptr_t, 0)) / 17;
+static const uintptr_t kMask0101 = (~S_CAST(uintptr_t, 0)) / 255;
+static const uintptr_t kMask00FF = (~S_CAST(uintptr_t, 0)) / 257;
+static const uintptr_t kMask0001 = (~S_CAST(uintptr_t, 0)) / 65535;
+static const uintptr_t kMask0000FFFF = (~S_CAST(uintptr_t, 0)) / 65537;
+static const uintptr_t kMask00000001 = (~S_CAST(uintptr_t, 0)) / 4294967295U;
+
+static const uintptr_t kMask000000FF = (~S_CAST(uintptr_t, 0)) / 16843009;
+static const uintptr_t kMask000F = (~S_CAST(uintptr_t, 0)) / 4369;
+static const uintptr_t kMask0303 = (~S_CAST(uintptr_t, 0)) / 85;
+
+CONSTI32(kBitsPerVec, kBytesPerVec * CHAR_BIT);
+
+// We now use Knuth's Nyp/Nybble vocabulary for 2-bit and 4-bit elements,
+// respectively.
+CONSTI32(kNypsPerVec, kBytesPerVec * 4);
+CONSTI32(kNybblesPerVec, kBytesPerVec * 2);
+
+CONSTI32(kBitsPerWordD2, kBitsPerWord / 2);
+CONSTI32(kBitsPerWordD4, kBitsPerWord / 4);
+
+// number of bytes in a word
+CONSTI32(kBytesPerWord, kBitsPerWord / CHAR_BIT);
+
+CONSTI32(kInt16PerWord, kBytesPerWord / 2);
+
+static_assert(CHAR_BIT == 8, "plink2_base requires CHAR_BIT == 8.");
+static_assert(sizeof(int8_t) == 1, "plink2_base requires sizeof(int8_t) == 1.");
+static_assert(sizeof(int16_t) == 2, "plink2_base requires sizeof(int16_t) == 2.");
+static_assert(sizeof(int32_t) == 4, "plink2_base requires sizeof(int32_t) == 4.");
+static_assert(sizeof(int) >= 4, "plink2_base requires sizeof(int) >= 4.");
+static_assert(sizeof(intptr_t) == kBytesPerWord, "plink2_base requires sizeof(intptr_t) == kBytesPerWord.");
+static_assert(sizeof(int64_t) == 8, "plink2_base requires sizeof(int64_t) == 8.");
+
+CONSTI32(kWordsPerVec, kBytesPerVec / kBytesPerWord);
+CONSTI32(kInt32PerVec, kBytesPerVec / 4);
+CONSTI32(kInt16PerVec, kBytesPerVec / 2);
+
+CONSTI32(kFloatPerFVec, kBytesPerFVec / 4);
+CONSTI32(kDoublePerDVec, kBytesPerDVec / 8);
+
+#if defined(__APPLE__) && defined(__LP64__) && !defined(__x86_64__)
+// TODO: make this 128 once that stops breaking code
+# define CACHELINE128
+CONSTI32(kCacheline, 128);
+#else
+# define CACHELINE64
+CONSTI32(kCacheline, 64);
+#endif
+
+CONSTI32(kBitsPerCacheline, kCacheline * CHAR_BIT);
+CONSTI32(kNypsPerCacheline, kCacheline * 4);
+CONSTI32(kInt16PerCacheline, kCacheline / sizeof(int16_t));
+CONSTI32(kInt32PerCacheline, kCacheline / sizeof(int32_t));
+CONSTI32(kInt64PerCacheline, kCacheline / sizeof(int64_t));
+CONSTI32(kWordsPerCacheline, kCacheline / kBytesPerWord);
+CONSTI32(kDoublesPerCacheline, kCacheline / sizeof(double));
+CONSTI32(kVecsPerCacheline, kCacheline / kBytesPerVec);
+
+// could use ioctl, etc. to dynamically determine this later, and pass it as a
+// parameter to e.g. PgfiMultiread()
+CONSTI32(kDiskBlockSize, 4096);
+
+CONSTI32(kPglFwriteBlockSize, 131072);
+
+// unsafe to fread or fwrite more bytes than this on e.g. OS X
+CONSTI32(kMaxBytesPerIO, 0x7ffff000);
+
+// Maximum size of "dynamically" allocated line load buffer. (This is the
+// limit that applies to .vcf and similar files.) Inconvenient to go higher
+// since fgets() takes a int32_t size argument.
+#if defined(__APPLE__) && defined(__LP64__) && !defined(__x86_64__)
+CONSTI32(kMaxLongLine, 0x7fffff80);
+#else
+CONSTI32(kMaxLongLine, 0x7fffffc0);
+#endif
+static_assert(!(kMaxLongLine % kCacheline), "kMaxLongLine must be a multiple of kCacheline.");
+
+#ifdef __APPLE__
+// OS X is limited to 256?
+CONSTI32(kMaxOpenFiles, 252);
+#else
+// Can't assume more than 512 are allowed on Windows, with current compilation
+// settings.
+CONSTI32(kMaxOpenFiles, 504);
+#endif
+
+// note that this is NOT foolproof: see e.g.
+// http://insanecoding.blogspot.com/2007/11/pathmax-simply-isnt.html . (This
+// is why I haven't bothered with OS-based #ifdefs here.) But it should be
+// good enough in practice. And PATH_MAX itself is still relevant due to use
+// of realpath().
+CONSTI32(kPglFnamesize, 4096);
+#if defined(PATH_MAX) && !defined(_WIN32)
+static_assert(kPglFnamesize >= PATH_MAX, "plink2_base assumes PATH_MAX <= 4096. (Safe to increase kPglFnamesize to address this, up to 131072.)");
+#endif
+
+// safe errstr_buf size for PgenInitPhase{1,2}(), PgrValidate(),
+// BitmapReaderInitPhase{1,2}()
+CONSTI32(kPglErrstrBufBlen, kPglFnamesize + 256);
+
+// shared between .pgen and plink-bitmap formats
+// currently must be power of 2, and multiple of (kBitsPerWord / 2)
+CONSTI32(kPglDifflistGroupSize, 64);
+
+// debug
+HEADER_INLINE void PrintVec(const void* vv) {
+ const unsigned char* vv_alias = S_CAST(const unsigned char*, vv);
+ for (uint32_t uii = 0; uii != kBytesPerVec; ++uii) {
+ printf("%u ", vv_alias[uii]);
+ }
+ printf("\n");
+}
+
+HEADER_INLINE void PrintVecD(const VecD* vv_ptr, const char* preprint) {
+ fputs(preprint, stdout);
+ const double* vv_alias = R_CAST(const double*, vv_ptr);
+ for (uint32_t uii = 0; uii != kDoublePerDVec; ++uii) {
+ printf(" %g", vv_alias[uii]);
+ }
+ fputs("\n", stdout);
+}
+
+#if __cplusplus >= 201103L
+// Main application of std::array in this codebase is enforcing length when
+// passing references between functions. Conversely, if the array type has
+// different lengths in different functions (e.g. col_skips[]/col_types[]), we
+// actively want to avoid &arr[0] clutter.
+// When neither applies, it doesn't really matter whether we use this or not;
+// I normally won't use it unless it plausibly makes sense to pass
+// fixed-length-array-references in the future.
+# define STD_ARRAY_DECL(tt, nn, vv) std::array vv
+# define STD_ARRAY_REF(tt, nn) std::array&
+
+// necessary if tt is a pointer type, otherwise optional
+# define STD_ARRAY_KREF(tt, nn) const std::array&
+
+# define STD_ARRAY_COPY(src, nn, dst) static_assert(sizeof(dst) == sizeof((dst)[0]) * nn, "Invalid STD_ARRAY_COPY() invocation."); (dst) = (src)
+
+# define STD_ARRAY_PTR_TYPE(tt, nn) std::array*
+# define STD_ARRAY_PTR_DECL(tt, nn, vv) std::array* vv
+
+// argh, need double-braces for C++11 std::array and single-braces for C
+# define STD_ARRAY_INIT_START() {
+# define STD_ARRAY_INIT_END() }
+
+template void STD_ARRAY_FILL0(std::array& arr) {
+ arr.fill(0);
+}
+
+// plain STD_ARRAY_FILL0() can't be used on array-references due to fallback
+// code.
+// this macro ensures that we *only* use it with uint32_t array-references
+# define STD_ARRAY_REF_FILL0(ct, aref) static_assert(ct * sizeof(aref[0]) == sizeof(aref), "invalid STD_ARRAY_REF_FILL0() invocation"); aref.fill(0)
+
+# define NONCOPYABLE(struct_name) \
+ struct_name() = default; \
+ struct_name(const struct_name&) = delete; \
+ struct_name& operator=(const struct_name&) = delete
+
+# define MOVABLE_BUT_NONCOPYABLE(struct_name) \
+ struct_name() = default; \
+ struct_name(const struct_name&) = delete; \
+ struct_name& operator=(const struct_name&) = delete; \
+ struct_name(struct_name&&) = default; \
+ struct_name& operator=(struct_name&&) = default
+
+#else
+# define STD_ARRAY_DECL(tt, nn, vv) tt vv[nn]
+# define STD_ARRAY_REF(tt, nn) tt* const
+# define STD_ARRAY_KREF(tt, nn) tt const* const
+# define STD_ARRAY_COPY(src, nn, dst) memcpy(dst, src, nn * sizeof(dst[0]));
+# define STD_ARRAY_PTR_TYPE(tt, nn) tt(*)[nn]
+# define STD_ARRAY_PTR_DECL(tt, nn, vv) tt(*vv)[nn]
+# define STD_ARRAY_INIT_START()
+# define STD_ARRAY_INIT_END()
+# define STD_ARRAY_FILL0(arr) memset(arr, 0, sizeof(arr))
+# define STD_ARRAY_REF_FILL0(ct, aref) memset(aref, 0, ct * sizeof(*aref))
+
+# define NONCOPYABLE(struct_name)
+# define MOVABLE_BUT_NONCOPYABLE(struct_name)
+#endif
+
+typedef union {
+ VecW vw;
+
+ STD_ARRAY_DECL(uintptr_t, kWordsPerVec, w);
+
+ STD_ARRAY_DECL(uint32_t, kInt32PerVec, u32);
+} UniVec;
+
+typedef union {
+ VecF vf;
+ STD_ARRAY_DECL(float, kFloatPerFVec, f4);
+} UniVecF;
+
+typedef union {
+ VecD vd;
+ STD_ARRAY_DECL(double, kDoublePerDVec, d8);
+} UniVecD;
+
+// sum must fit in 16 bits
+HEADER_INLINE uintptr_t UniVecHsum16(UniVec uv) {
+#ifdef __LP64__
+# ifdef USE_AVX2
+ return ((uv.w[0] + uv.w[1] + uv.w[2] + uv.w[3]) * kMask0001) >> 48;
+# else
+ return ((uv.w[0] + uv.w[1]) * kMask0001) >> 48;
+# endif
+#else
+ return (uv.w[0] * kMask0001) >> 16;
+#endif
+}
+
+// sum must fit in 32 bits
+HEADER_INLINE uintptr_t UniVecHsum32(UniVec uv) {
+#ifdef __LP64__
+# ifdef USE_AVX2
+ return ((uv.w[0] + uv.w[1] + uv.w[2] + uv.w[3]) * kMask00000001) >> 32;
+# else
+ return ((uv.w[0] + uv.w[1]) * kMask00000001) >> 32;
+# endif
+#else
+ return uv.w[0];
+#endif
+}
+
+HEADER_INLINE float VecFHsum(VecF vecf) {
+ UniVecF uvf;
+ uvf.vf = vecf;
+#ifdef __LP64__
+# ifdef FVEC_32
+ // tested various uses of _mm256_hadd_ps, couldn't get them to be faster
+ return uvf.f4[0] + uvf.f4[1] + uvf.f4[2] + uvf.f4[3] + uvf.f4[4] + uvf.f4[5] + uvf.f4[6] + uvf.f4[7];
+# else
+ return uvf.f4[0] + uvf.f4[1] + uvf.f4[2] + uvf.f4[3];
+# endif
+#else
+ return uvf.f4[0];
+#endif
+}
+
+HEADER_INLINE double VecDHsum(VecD vecd) {
+ UniVecD uvd;
+ uvd.vd = vecd;
+#ifdef __LP64__
+# ifdef FVEC_32
+ return uvd.d8[0] + uvd.d8[1] + uvd.d8[2] + uvd.d8[3];
+# else
+ return uvd.d8[0] + uvd.d8[1];
+# endif
+#else
+ return uvd.d8[0];
+#endif
+}
+
+#ifdef USE_AVX2
+HEADER_INLINE uintptr_t UnpackHalfwordToWord(uintptr_t hw) {
+ return _pdep_u64(hw, kMask5555);
+}
+
+HEADER_INLINE uintptr_t UnpackHalfwordToWordShift1(uintptr_t hw) {
+ return _pdep_u64(hw, kMaskAAAA);
+}
+
+HEADER_INLINE Vec4thUint UnpackVec8thUintTo4th(Vec8thUint hw) {
+ return _pdep_u64(hw, kMask5555);
+}
+
+HEADER_INLINE Halfword PackWordToHalfword(uintptr_t ww) {
+ return _pext_u64(ww, kMask5555);
+}
+
+HEADER_INLINE Halfword PackWordToHalfwordMask5555(uintptr_t ww) {
+ return _pext_u64(ww, kMask5555);
+}
+
+HEADER_INLINE Halfword PackWordToHalfwordMaskAAAA(uintptr_t ww) {
+ return _pext_u64(ww, kMaskAAAA);
+}
+
+HEADER_INLINE uintptr_t PackTwo5555Mask(uintptr_t lo, uintptr_t hi) {
+ const Halfword lo_packed = PackWordToHalfwordMask5555(lo);
+ const uintptr_t hi_packed = _pext_u64(hi, kMask5555);
+ return lo_packed | (hi_packed << kBitsPerWordD2);
+}
+
+HEADER_INLINE Vec8thUint PackVec4thUintTo8th(Vec4thUint ww) {
+ return _pext_u64(ww, kMask5555);
+}
+
+HEADER_INLINE Vec16thUint PackVec8thUintTo16th(Vec8thUint ww) {
+ return _pext_u64(ww, kMask5555);
+}
+
+HEADER_INLINE Halfword Pack3333(uintptr_t ww) {
+ return _pext_u64(ww, kMask3333);
+}
+
+HEADER_INLINE Halfword Pack3333Mask(uintptr_t ww) {
+ return _pext_u64(ww, kMask3333);
+}
+
+HEADER_INLINE uintptr_t PackTwo3333Mask(uintptr_t lo, uintptr_t hi) {
+ const Halfword lo_packed = Pack3333Mask(lo);
+ const uintptr_t hi_packed = _pext_u64(hi, kMask3333);
+ return lo_packed | (hi_packed << kBitsPerWordD2);
+}
+
+HEADER_INLINE uintptr_t Unpack0F0F(uintptr_t hw) {
+ return _pdep_u64(hw, kMask0F0F);
+}
+
+HEADER_INLINE Halfword Pack0F0F(uintptr_t ww) {
+ return _pext_u64(ww, kMask0F0F);
+}
+
+HEADER_INLINE Halfword Pack0F0FMask(uintptr_t ww) {
+ return _pext_u64(ww, kMask0F0F);
+}
+
+HEADER_INLINE uintptr_t PackTwo0F0F(uintptr_t lo, uintptr_t hi) {
+ const Halfword lo_packed = _pext_u64(lo, kMask0F0F);
+ const uintptr_t hi_packed = _pext_u64(hi, kMask0F0F);
+ return lo_packed | (hi_packed << kBitsPerWordD2);
+}
+
+HEADER_INLINE uintptr_t PackTwo0F0FMask(uintptr_t lo, uintptr_t hi) {
+ return PackTwo0F0F(lo, hi);
+}
+
+HEADER_INLINE uintptr_t Unpack0303(uintptr_t qw) {
+ return _pdep_u64(qw, kMask0303);
+}
+
+HEADER_INLINE Quarterword Pack0303(uintptr_t ww) {
+ return _pext_u64(ww, kMask0303);
+}
+
+HEADER_INLINE Quarterword Pack0303Mask(uintptr_t ww) {
+ return _pext_u64(ww, kMask0303);
+}
+
+// See https://stackoverflow.com/questions/21622212/how-to-perform-the-inverse-of-mm256-movemask-epi8-vpmovmskb .
+HEADER_INLINE VecUc InverseMovemaskFF(Vec8thUint mask) {
+ __m256i vmask = _mm256_set1_epi32(mask);
+ const __m256i byte_gather = _mm256_setr_epi64x(0, kMask0101, 2 * kMask0101, 3 * kMask0101);
+ vmask = _mm256_shuffle_epi8(vmask, byte_gather);
+ const __m256i bit_mask = _mm256_set1_epi64x(0x7fbfdfeff7fbfdfeLL);
+ vmask = _mm256_or_si256(vmask, bit_mask);
+ return R_CAST(VecUc, _mm256_cmpeq_epi8(vmask, _mm256_set1_epi64x(-1)));
+}
+
+// If we're only interested in the even bits of mask. No need to mask out odd
+// bits before calling.
+HEADER_INLINE VecUc InverseMovespreadmaskFF(Vec4thUint mask) {
+ __m256i vmask = _mm256_set1_epi64x(mask);
+ const __m256i byte_gather = _mm256_setr_epi32(0, 0x01010101, 0x02020202, 0x03030303, 0x04040404, 0x05050505, 0x06060606, 0x07070707);
+ vmask = _mm256_shuffle_epi8(vmask, byte_gather);
+ const __m256i bit_mask = _mm256_set1_epi32(0xbfeffbfeU);
+ vmask = _mm256_or_si256(vmask, bit_mask);
+ return R_CAST(VecUc, _mm256_cmpeq_epi8(vmask, _mm256_set1_epi64x(-1)));
+}
+
+#else // !USE_AVX2
+HEADER_INLINE uintptr_t UnpackHalfwordToWord(uintptr_t hw) {
+# ifdef __LP64__
+ hw = (hw | (hw << 16)) & kMask0000FFFF;
+# endif
+ hw = (hw | (hw << 8)) & kMask00FF;
+ hw = (hw | (hw << 4)) & kMask0F0F;
+ hw = (hw | (hw << 2)) & kMask3333;
+ return ((hw | (hw << 1)) & kMask5555);
+}
+
+HEADER_INLINE uintptr_t UnpackHalfwordToWordShift1(uintptr_t hw) {
+ return UnpackHalfwordToWord(hw) << 1;
+}
+
+HEADER_INLINE Halfword PackWordToHalfword(uintptr_t ww) {
+ // assumes only even bits of ww can be set
+ ww = (ww | (ww >> 1)) & kMask3333;
+ ww = (ww | (ww >> 2)) & kMask0F0F;
+ ww = (ww | (ww >> 4)) & kMask00FF;
+# ifdef __LP64__
+ ww = (ww | (ww >> 8)) & kMask0000FFFF;
+# endif
+ return S_CAST(Halfword, ww | (ww >> kBitsPerWordD4));
+}
+
+HEADER_INLINE Halfword PackWordToHalfwordMask5555(uintptr_t ww) {
+ return PackWordToHalfword(ww & kMask5555);
+}
+
+HEADER_INLINE Halfword PackWordToHalfwordMaskAAAA(uintptr_t ww) {
+ return PackWordToHalfword((ww >> 1) & kMask5555);
+}
+
+HEADER_INLINE uintptr_t PackTwo5555Mask(uintptr_t lo, uintptr_t hi) {
+ const Halfword lo_packed = PackWordToHalfwordMask5555(lo);
+
+ // Avoid Halfword cast here.
+ hi = hi & kMask5555;
+ hi = (hi | (hi >> 1)) & kMask3333;
+ hi = (hi | (hi >> 2)) & kMask0F0F;
+ hi = (hi | (hi >> 4)) & kMask00FF;
+# ifdef __LP64__
+ hi = (hi | (hi >> 8)) & kMask0000FFFF;
+# endif
+ const uintptr_t hi_packed = hi | (hi >> kBitsPerWordD4);
+ return lo_packed | (hi_packed << kBitsPerWordD2);
+}
+
+HEADER_INLINE Halfword Pack3333(uintptr_t ww) {
+ ww = (ww | (ww >> 2)) & kMask0F0F;
+ ww = (ww | (ww >> 4)) & kMask00FF;
+# ifdef __LP64__
+ ww = (ww | (ww >> 8)) & kMask0000FFFF;
+# endif
+ return S_CAST(Halfword, ww | (ww >> kBitsPerWordD4));
+}
+
+HEADER_INLINE Halfword Pack3333Mask(uintptr_t ww) {
+ return Pack3333(ww & kMask3333);
+}
+
+HEADER_INLINE uintptr_t PackTwo3333Mask(uintptr_t lo, uintptr_t hi) {
+ const Halfword lo_packed = Pack3333Mask(lo);
+
+ // Avoid Halfword cast here.
+ hi = hi & kMask3333;
+ hi = (hi | (hi >> 2)) & kMask0F0F;
+ hi = (hi | (hi >> 4)) & kMask00FF;
+# ifdef __LP64__
+ hi = (hi | (hi >> 8)) & kMask0000FFFF;
+# endif
+ const uintptr_t hi_packed = hi | (hi >> kBitsPerWordD4);
+ return lo_packed | (hi_packed << kBitsPerWordD2);
+}
+
+HEADER_INLINE uintptr_t Unpack0F0F(uintptr_t hw) {
+# ifdef __LP64__
+ hw = (hw | (hw << 16)) & kMask0000FFFF;
+# endif
+ hw = (hw | (hw << 8)) & kMask00FF;
+ return ((hw | (hw << 4)) & kMask0F0F);
+}
+
+HEADER_INLINE Halfword Pack0F0F(uintptr_t ww) {
+ ww = (ww | (ww >> 4)) & kMask00FF;
+# ifdef __LP64__
+ ww = (ww | (ww >> 8)) & kMask0000FFFF;
+# endif
+ return S_CAST(Halfword, ww | (ww >> kBitsPerWordD4));
+}
+
+HEADER_INLINE Halfword Pack0F0FMask(uintptr_t ww) {
+ return Pack0F0F(ww & kMask0F0F);
+}
+
+HEADER_INLINE uintptr_t PackTwo0F0F(uintptr_t lo, uintptr_t hi) {
+ const Halfword lo_packed = Pack0F0F(lo);
+
+ // Avoid Halfword cast here.
+ hi = (hi | (hi >> 4)) & kMask00FF;
+# ifdef __LP64__
+ hi = (hi | (hi >> 8)) & kMask0000FFFF;
+# endif
+ const uintptr_t hi_packed = hi | (hi >> kBitsPerWordD4);
+ return lo_packed | (hi_packed << kBitsPerWordD2);
+}
+
+HEADER_INLINE uintptr_t PackTwo0F0FMask(uintptr_t lo, uintptr_t hi) {
+ const Halfword lo_packed = Pack0F0FMask(lo);
+
+ // Avoid Halfword cast here.
+ hi = hi & kMask0F0F;
+ hi = (hi | (hi >> 4)) & kMask00FF;
+# ifdef __LP64__
+ hi = (hi | (hi >> 8)) & kMask0000FFFF;
+# endif
+ const uintptr_t hi_packed = hi | (hi >> kBitsPerWordD4);
+ return lo_packed | (hi_packed << kBitsPerWordD2);
+}
+
+
+HEADER_INLINE uintptr_t Unpack0303(uintptr_t qw) {
+ // ................................................fedcba9876543210
+# ifdef __LP64__
+ qw = (qw | (qw << 24)) & kMask000000FF;
+ // ........................fedcba98........................76543210
+# endif
+ qw = qw | (qw << 12);
+ // ............fedcba98....fedcba98............76543210....76543210
+
+ qw = qw | (qw << 6);
+ // ......fedcbaXXdcbaXXdcbaXXdcba98......765432XX5432XX5432XX543210
+
+ return (qw & kMask0303);
+ // ......fe......dc......ba......98......76......54......32......10
+}
+
+HEADER_INLINE Quarterword Pack0303(uintptr_t ww) {
+ // ......fe......dc......ba......98......76......54......32......10
+
+ ww = ww | (ww >> 6);
+ // ......fe....fedc....dcba....ba98....9876....7654....5432....3210
+
+ ww = ww | (ww >> 12);
+ // ......fe....fedc..fedcbafedcba98dcba9876ba9876549876543276543210
+
+# ifdef __LP64__
+ ww = ww & kMask000000FF;
+ // ........................fedcba98........................76543210
+
+ return S_CAST(Quarterword, ww | (ww >> 24));
+# else
+ return S_CAST(Quarterword, ww);
+# endif
+}
+
+HEADER_INLINE uintptr_t Pack0303Mask(uintptr_t ww) {
+ return Pack0303(ww & kMask0303);
+}
+
+# ifdef USE_SSE2
+HEADER_INLINE Vec4thUint UnpackVec8thUintTo4th(Vec8thUint hw) {
+ hw = (hw | (hw << 8)) & 0x00ff00ffU;
+ hw = (hw | (hw << 4)) & 0x0f0f0f0fU;
+ hw = (hw | (hw << 2)) & 0x33333333U;
+ return (hw | (hw << 1)) & 0x55555555U;
+}
+
+HEADER_INLINE Vec8thUint PackVec4thUintTo8th(Vec4thUint ww) {
+ ww = (ww | (ww >> 1)) & kMask3333;
+ ww = (ww | (ww >> 2)) & kMask0F0F;
+ ww = (ww | (ww >> 4)) & kMask00FF;
+ return S_CAST(Vec8thUint, ww | (ww >> 8));
+}
+
+HEADER_INLINE Vec16thUint PackVec8thUintTo16th(Vec8thUint ww) {
+ ww = (ww | (ww >> 1)) & 0x3333;
+ ww = (ww | (ww >> 2)) & 0x0f0f;
+ return S_CAST(Vec16thUint, ww | (ww >> 4));
+}
+
+# ifdef USE_SSE42
+HEADER_INLINE VecUc InverseMovemaskFF(Vec8thUint mask) {
+ __m128i vmask = _mm_set1_epi16(mask);
+ const __m128i byte_gather = _mm_setr_epi32(0, 0, 0x01010101, 0x01010101);
+ vmask = _mm_shuffle_epi8(vmask, byte_gather);
+ const __m128i bit_mask = _mm_set1_epi64x(0x7fbfdfeff7fbfdfeLL);
+ vmask = _mm_or_si128(vmask, bit_mask);
+ return R_CAST(VecUc, _mm_cmpeq_epi8(vmask, _mm_set1_epi64x(-1)));
+}
+
+HEADER_INLINE VecUc InverseMovespreadmaskFF(Vec4thUint mask) {
+ __m128i vmask = _mm_set1_epi32(mask);
+ const __m128i byte_gather = _mm_setr_epi32(0, 0x01010101, 0x02020202, 0x03030303);
+ vmask = _mm_shuffle_epi8(vmask, byte_gather);
+ const __m128i bit_mask = _mm_set1_epi32(0xbfeffbfeU);
+ vmask = _mm_or_si128(vmask, bit_mask);
+ return R_CAST(VecUc, _mm_cmpeq_epi8(vmask, _mm_set1_epi64x(-1)));
+}
+# endif
+
+# endif // !USE_SSE2
+#endif // !USE_AVX2
+
+// alignment must be a power of 2
+// tried splitting out RoundDownPow2U32() and RoundUpPow2U32() functions, no
+// practical difference
+HEADER_CINLINE uintptr_t RoundDownPow2(uintptr_t val, uintptr_t alignment) {
+ return val & (~(alignment - 1));
+}
+
+HEADER_CINLINE uint64_t RoundDownPow2U64(uint64_t val, uint64_t alignment) {
+ return val & (~(alignment - 1));
+}
+
+HEADER_CINLINE uintptr_t RoundUpPow2(uintptr_t val, uintptr_t alignment) {
+ return (val + alignment - 1) & (~(alignment - 1));
+}
+
+HEADER_CINLINE uint64_t RoundUpPow2U64(uint64_t val, uint64_t alignment) {
+ return (val + alignment - 1) & (~(alignment - 1));
+}
+
+
+// This is best when the divisor is constant (so (divisor - 1) can be
+// collapsed), and handles val == 0 properly. If the divisor isn't constant
+// and val is guaranteed to be nonzero, go with explicit
+// "1 + (val - 1) / divisor".
+//
+// Note that this fails if (val + divisor - 1) overflows the widest integer
+// type on the left.
+//
+// Since forced-uint32_t RoundDownPow2 was pointless, it stands to reason that
+// the same applies to DivUp. With that said, we may as well make divisor a
+// uint32_t just in case this ever gets used on a not-known-at-compile-time
+// divisor, since 64/64 can be slower than 64/32.
+HEADER_CINLINE uintptr_t DivUp(uintptr_t val, uint32_t divisor) {
+ return (val + divisor - 1) / divisor;
+}
+
+HEADER_CINLINE uint64_t DivUpU64(uint64_t val, uint32_t divisor) {
+ return (val + divisor - 1) / divisor;
+}
+
+// "Nz" means nonzero in two ways:
+// * result is in [1, modulus], not [0, modulus - 1]
+// * val should not be zero (though this expression still works if val is zero
+// and modulus is a hardcoded power of 2)
+HEADER_INLINE uint32_t ModNz(uintptr_t val, uint32_t modulus) {
+ return (1 + ((val - 1) % modulus));
+}
+
+// No need for ModNzU64 in practice, since high bits don't affect result when
+// modulus is a power of 2.
+
+// Equivalent to (static_cast(uii) < 0). Most frequently used on
+// possibly-error chromosome indexes.
+HEADER_INLINE uint32_t IsI32Neg(uint32_t uii) {
+ return uii >> 31;
+}
+
+HEADER_INLINE uint32_t abs_i32(int32_t ii) {
+ // Arithmetic right shift. 0xffffffffU when ii is negative, 0 otherwise.
+ const uint32_t neg_sign_bit = S_CAST(uint32_t, ii >> 31);
+
+ return (S_CAST(uint32_t, ii) ^ neg_sign_bit) - neg_sign_bit;
+}
+
+extern uint64_t g_failed_alloc_attempt_size;
+// with NDEBUG undefined, may want to define a bunch of macros so that line
+// number is printed as well; see e.g.
+// https://stackoverflow.com/questions/15884793/how-to-get-the-name-or-file-and-line-of-caller-method
+
+#if (((__GNUC__ == 4) && (__GNUC_MINOR__ < 7)) || (__GNUC__ >= 11)) && !defined(__APPLE__)
+// putting this in the header file caused a bunch of gcc 4.4 strict-aliasing
+// warnings, while not doing so seems to inhibit some malloc-related compiler
+// optimizations, bleah
+// compromise: header-inline iff gcc version >= 4.7 (might not be the right
+// cutoff?)
+// update (18 Feb 2022): looks like inlined pgl_malloc is not compiled as
+// intended by gcc 11, due to new ipa-modref pass? Open to suggestions on how
+// to fix this; maybe it's now necessary to define type-specific malloc
+// wrappers, ugh...
+BoolErr pgl_malloc(uintptr_t size, void* pp);
+#else
+// Unfortunately, defining the second parameter to be of type void** doesn't do
+// the right thing.
+HEADER_INLINE BoolErr pgl_malloc(uintptr_t size, void* pp) {
+ *S_CAST(unsigned char**, pp) = S_CAST(unsigned char*, malloc(size));
+ if (likely(*S_CAST(unsigned char**, pp))) {
+ return 0;
+ }
+ g_failed_alloc_attempt_size = size;
+ return 1;
+}
+#endif
+
+// This must be used for all fwrite() calls where len could be >= 2^31, since
+// OS X raw fwrite() doesn't work in that case.
+static_assert(sizeof(size_t) == sizeof(intptr_t), "plink2_base assumes size_t and intptr_t are synonymous.");
+BoolErr fwrite_checked(const void* buf, uintptr_t len, FILE* outfile);
+
+HEADER_INLINE IntErr putc_checked(int32_t ii, FILE* outfile) {
+ putc_unlocked(ii, outfile);
+ return ferror_unlocked(outfile);
+}
+
+// Only use this if loading < len bytes is not an error.
+// IntErr fread_checked2(void* buf, uintptr_t len, FILE* infile, uintptr_t* bytes_read_ptr);
+
+BoolErr fread_checked(void* buf, uintptr_t len, FILE* infile);
+
+HEADER_INLINE BoolErr fclose_null(FILE** fptr_ptr) {
+ int32_t ii = ferror_unlocked(*fptr_ptr);
+ int32_t jj = fclose(*fptr_ptr);
+ *fptr_ptr = nullptr;
+ return ii || jj;
+}
+
+
+#ifdef __LP64__
+// Reads an integer in [1, cap].
+// * Errors out unless first character is a digit, or is '+' followed by a
+// digit. Initial whitespace is not permitted.
+// * Like atoi(), this considereds the number to be terminated by *any*
+// nondigit character. E.g. "1000genomes" is treated as a valid instance of
+// 1000 rather than a nonnumeric token, and "98.6" is treated as 98. (See
+// ScanmovPosintCapped(), ScanmovUintCapped(), etc. in plink2_string if
+// you want strtol-like semantics, where the pointer is moved.)
+// * Errors out on overflow. This may be the biggest advantage over atoi().
+BoolErr ScanPosintCapped(const char* str_iter, uint64_t cap, uint32_t* valp);
+
+// [0, cap]
+BoolErr ScanUintCapped(const char* str_iter, uint64_t cap, uint32_t* valp);
+
+// [-bound, bound]
+BoolErr ScanIntAbsBounded(const char* str_iter, uint64_t bound, int32_t* valp);
+#else // not __LP64__
+// Need to be more careful in 32-bit case due to overflow.
+// A funny-looking div_10/mod_10 interface is used since the cap will usually
+// be a constant, and we want the integer division/modulus to occur at compile
+// time.
+BoolErr ScanPosintCapped32(const char* str_iter, uint32_t cap_div_10, uint32_t cap_mod_10, uint32_t* valp);
+
+BoolErr ScanUintCapped32(const char* str_iter, uint32_t cap_div_10, uint32_t cap_mod_10, uint32_t* valp);
+
+BoolErr ScanIntAbsBounded32(const char* str_iter, uint32_t bound_div_10, uint32_t bound_mod_10, int32_t* valp);
+
+HEADER_INLINE BoolErr ScanPosintCapped(const char* str, uint32_t cap, uint32_t* valp) {
+ return ScanPosintCapped32(str, cap / 10, cap % 10, valp);
+}
+
+HEADER_INLINE BoolErr ScanUintCapped(const char* str, uint32_t cap, uint32_t* valp) {
+ return ScanUintCapped32(str, cap / 10, cap % 10, valp);
+}
+
+HEADER_INLINE BoolErr ScanIntAbsBounded(const char* str, uint32_t bound, int32_t* valp) {
+ return ScanIntAbsBounded32(str, bound / 10, bound % 10, valp);
+}
+#endif
+
+
+// intentionally rejects -2^31 for now
+// (that's a reason why this doesn't have the shorter name 'ScanI32')
+HEADER_INLINE BoolErr ScanInt32(const char* str, int32_t* valp) {
+ return ScanIntAbsBounded(str, 0x7fffffff, valp);
+}
+
+// default cap = 0x7ffffffe
+HEADER_INLINE BoolErr ScanPosintDefcap(const char* str, uint32_t* valp) {
+ return ScanPosintCapped(str, 0x7ffffffe, valp);
+}
+
+HEADER_INLINE BoolErr ScanUintDefcap(const char* str, uint32_t* valp) {
+ return ScanUintCapped(str, 0x7ffffffe, valp);
+}
+
+HEADER_INLINE BoolErr ScanIntAbsDefcap(const char* str, int32_t* valp) {
+ return ScanIntAbsBounded(str, 0x7ffffffe, valp);
+}
+
+HEADER_INLINE BoolErr ScanUintIcap(const char* str, uint32_t* valp) {
+ return ScanUintCapped(str, 0x7fffffff, valp);
+}
+
+
+// memcpya() tends to be used to copy known-length text strings, while
+// memseta() has more mixed usage but char* type is also at least as common as
+// unsigned char*; append comes up less when working with raw byte arrays. So
+// give the shortest-name forms char* return types.
+HEADER_INLINE char* memseta(void* target, unsigned char val, uintptr_t ct) {
+ memset(target, val, ct);
+ return &(S_CAST(char*, target)[ct]);
+}
+
+HEADER_INLINE unsigned char* memsetua(void* target, unsigned char val, uintptr_t ct) {
+ memset(target, val, ct);
+ return &(S_CAST(unsigned char*, target)[ct]);
+}
+
+HEADER_CINLINE uintptr_t BitCtToVecCt(uintptr_t val) {
+ return DivUp(val, kBitsPerVec);
+}
+
+HEADER_CINLINE uintptr_t BitCtToWordCt(uintptr_t val) {
+ return DivUp(val, kBitsPerWord);
+}
+
+HEADER_CINLINE uintptr_t BitCtToAlignedWordCt(uintptr_t val) {
+ return kWordsPerVec * BitCtToVecCt(val);
+}
+
+HEADER_CINLINE uintptr_t BitCtToCachelineCt(uintptr_t val) {
+ return DivUp(val, kBitsPerCacheline);
+}
+
+HEADER_CINLINE uintptr_t Int32CtToVecCt(uintptr_t val) {
+ return DivUp(val, kInt32PerVec);
+}
+
+HEADER_CINLINE uintptr_t Int32CtToCachelineCt(uintptr_t val) {
+ return DivUp(val, kInt32PerCacheline);
+}
+
+HEADER_CINLINE uintptr_t WordCtToVecCt(uintptr_t val) {
+ return DivUp(val, kWordsPerVec);
+}
+
+HEADER_CINLINE uintptr_t WordCtToCachelineCt(uintptr_t val) {
+ return DivUp(val, kWordsPerCacheline);
+}
+
+HEADER_CINLINE uint64_t WordCtToCachelineCtU64(uint64_t val) {
+ return DivUpU64(val, kWordsPerCacheline);
+}
+
+#ifdef __LP64__
+HEADER_CINLINE uintptr_t Int64CtToVecCt(uintptr_t val) {
+ return DivUp(val, kBytesPerVec / 8);
+}
+#else
+HEADER_CINLINE uintptr_t Int64CtToVecCt(uintptr_t val) {
+ return val * 2;
+}
+#endif
+
+HEADER_CINLINE uintptr_t Int64CtToCachelineCt(uintptr_t val) {
+ return DivUp(val, kInt64PerCacheline);
+}
+
+HEADER_CINLINE uintptr_t DblCtToVecCt(uintptr_t val) {
+ return Int64CtToVecCt(val);
+}
+
+HEADER_CINLINE uintptr_t VecCtToCachelineCt(uintptr_t val) {
+ return DivUp(val, kVecsPerCacheline);
+}
+
+HEADER_CINLINE uint64_t VecCtToCachelineCtU64(uint64_t val) {
+ return DivUpU64(val, kVecsPerCacheline);
+}
+
+// C++11 standard guarantees std::min and std::max return leftmost minimum in
+// case of equality; best to adhere to that
+// We don't actually use std::min/max since casting one argument when comparing
+// e.g. a uint32_t with a uintptr_t is pointlessly verbose. Compiler will
+// still warn against comparison of signed with unsigned.
+#define MAXV(aa, bb) (((bb) > (aa))? (bb) : (aa))
+#define MINV(aa, bb) (((bb) < (aa))? (bb) : (aa))
+
+
+// don't use PglErr here since there's only one failure mode, it's
+// obvious what it is, and stacking multiple aligned_mallocs in a single
+// if-statement is useful.
+BoolErr aligned_malloc(uintptr_t size, uintptr_t alignment, void* aligned_pp);
+
+#ifdef USE_SSE42
+HEADER_CINLINE uint32_t NypsumWord(uintptr_t val) {
+ return __builtin_popcountll(val) + __builtin_popcountll(val & kMaskAAAA);
+}
+#else
+HEADER_CINLINE2 uint32_t NypsumWord(uintptr_t val) {
+ val = (val & kMask3333) + ((val >> 2) & kMask3333);
+ return (((val + (val >> 4)) & kMask0F0F) * kMask0101) >> (kBitsPerWord - 8);
+}
+#endif
+
+// the simple version, good enough for all non-time-critical stuff
+// (without SSE4.2, PopcountWords() tends to be >3x as fast on arrays. with
+// SSE4.2 but no AVX2, there's no noticeable difference. with AVX2,
+// PopcountWords() gains another factor of 1.5-2x.)
+#ifdef USE_SSE42
+HEADER_CINLINE uint32_t PopcountWord(uintptr_t val) {
+ return __builtin_popcountll(val);
+}
+#else
+HEADER_CINLINE2 uint32_t PopcountWord(uintptr_t val) {
+ // Sadly, this was still faster than the LLVM implementation of the intrinsic
+ // as of 2016.
+ return NypsumWord(val - ((val >> 1) & kMask5555));
+}
+#endif
+
+#ifdef USE_SSE42
+HEADER_INLINE uint32_t Popcount2Words(uintptr_t val0, uintptr_t val1) {
+ return __builtin_popcountll(val0) + __builtin_popcountll(val1);
+}
+#else
+HEADER_INLINE uint32_t Popcount2Words(uintptr_t val0, uintptr_t val1) {
+ val0 -= (val0 >> 1) & kMask5555;
+ val1 -= (val1 >> 1) & kMask5555;
+ const uintptr_t four_bit = (val0 & kMask3333) + ((val0 >> 2) & kMask3333) + (val1 & kMask3333) + ((val1 >> 2) & kMask3333);
+ // up to 16 values in 0..12; sum fits in 8 bits
+ return (((four_bit & kMask0F0F) + ((four_bit >> 4) & kMask0F0F)) * kMask0101) >> (kBitsPerWord - 8);
+}
+#endif
+
+#ifndef __LP64__
+HEADER_INLINE uint32_t Popcount4Words(uintptr_t val0, uintptr_t val1, uintptr_t val2, uintptr_t val3) {
+ val0 -= (val0 >> 1) & kMask5555;
+ val1 -= (val1 >> 1) & kMask5555;
+ val2 -= (val2 >> 1) & kMask5555;
+ val3 -= (val3 >> 1) & kMask5555;
+ const uintptr_t four_bit_0 = (val0 & kMask3333) + ((val0 >> 2) & kMask3333) + (val1 & kMask3333) + ((val1 >> 2) & kMask3333);
+ const uintptr_t four_bit_1 = (val2 & kMask3333) + ((val2 >> 2) & kMask3333) + (val3 & kMask3333) + ((val3 >> 2) & kMask3333);
+ return (((four_bit_0 & kMask0F0F) + ((four_bit_0 >> 4) & kMask0F0F) + (four_bit_1 & kMask0F0F) + ((four_bit_1 >> 4) & kMask0F0F)) * kMask0101) >> (kBitsPerWord - 8);
+}
+#endif
+
+#ifdef USE_SSE42
+HEADER_INLINE uint32_t PopcountHW(uint32_t val) {
+ return __builtin_popcount(val);
+}
+
+HEADER_INLINE uint32_t PopcountByte(uint32_t val) {
+ return __builtin_popcount(val);
+}
+#else
+# ifdef __LP64__
+HEADER_INLINE uint32_t PopcountHW(uint32_t val) {
+ val = val - ((val >> 1) & 0x55555555);
+ val = (val & 0x33333333) + ((val >> 2) & 0x33333333);
+ val = (val + (val >> 4)) & 0x0f0f0f0f;
+ return (val * 0x1010101) >> 24;
+}
+# else
+HEADER_INLINE uint32_t PopcountHW(uint32_t val) {
+ val = val - ((val >> 1) & 0x5555);
+ val = (val & 0x3333) + ((val >> 2) & 0x3333);
+ val = (val + (val >> 4)) & 0x0f0f;
+ return (val + (val >> 8)) & 0xff;
+}
+# endif
+
+HEADER_INLINE uint32_t PopcountByte(uint32_t val) {
+ val = val - ((val >> 1) & 0x55);
+ val = (val & 0x33) + ((val >> 2) & 0x33);
+ return (val + (val >> 4)) & 0xf;
+}
+#endif
+
+#ifdef USE_SSE2
+# ifdef USE_SSE42
+HEADER_INLINE uint32_t PopcountVec8thUint(uint32_t val) {
+ return __builtin_popcount(val);
+}
+# else
+HEADER_INLINE uint32_t PopcountVec8thUint(uint32_t val) {
+ // May as well exploit the fact that only the low 16 bits may be set.
+ val = val - ((val >> 1) & 0x5555);
+ val = (val & 0x3333) + ((val >> 2) & 0x3333);
+ val = (val + (val >> 4)) & 0x0f0f;
+ return (val + (val >> 8)) & 0xff;
+}
+# endif
+#endif
+
+// Downcasts don't risk alignment issues.
+HEADER_INLINE unsigned char* DowncastToUc(void* pp) {
+ return S_CAST(unsigned char*, pp);
+}
+
+HEADER_INLINE char* DowncastToC(void* pp) {
+ return S_CAST(char*, pp);
+}
+
+HEADER_INLINE const unsigned char* DowncastKToUc(const void* pp) {
+ return S_CAST(const unsigned char*, pp);
+}
+
+HEADER_INLINE const char* DowncastKToC(const void* pp) {
+ return S_CAST(const char*, pp);
+}
+
+HEADER_INLINE uintptr_t* DowncastVecWToW(VecW* pp) {
+ return R_CAST(uintptr_t*, pp);
+}
+
+HEADER_INLINE uint32_t* DowncastVecWToU32(VecW* pp) {
+ return R_CAST(uint32_t*, pp);
+}
+
+HEADER_INLINE Halfword* DowncastWToHW(uintptr_t* pp) {
+ return R_CAST(Halfword*, pp);
+}
+
+HEADER_INLINE uint32_t* DowncastWToU32(uintptr_t* pp) {
+ return R_CAST(uint32_t*, pp);
+}
+
+HEADER_INLINE uint16_t* DowncastWToU16(uintptr_t* pp) {
+ return R_CAST(uint16_t*, pp);
+}
+
+HEADER_INLINE int16_t* DowncastWToI16(uintptr_t* pp) {
+ return R_CAST(int16_t*, pp);
+}
+
+#ifdef USE_SSE2
+HEADER_INLINE Vec8thUint* DowncastWToV8(uintptr_t* pp) {
+ return R_CAST(Vec8thUint*, pp);
+}
+#endif
+
+HEADER_INLINE uint16_t* DowncastU32ToU16(uint32_t* pp) {
+ return R_CAST(uint16_t*, pp);
+}
+
+HEADER_INLINE const uintptr_t* DowncastKVecWToW(const VecW* pp) {
+ return R_CAST(const uintptr_t*, pp);
+}
+
+HEADER_INLINE const uint16_t* DowncastKVecWToU16(const VecW* pp) {
+ return R_CAST(const uint16_t*, pp);
+}
+
+HEADER_INLINE const Halfword* DowncastKWToHW(const uintptr_t* pp) {
+ return R_CAST(const Halfword*, pp);
+}
+
+HEADER_INLINE const uint32_t* DowncastKWToU32(const uintptr_t* pp) {
+ return R_CAST(const uint32_t*, pp);
+}
+
+HEADER_INLINE const uint16_t* DowncastKWToU16(const uintptr_t* pp) {
+ return R_CAST(const uint16_t*, pp);
+}
+
+HEADER_INLINE const uint16_t* DowncastKU64ToU16(const uint64_t* pp) {
+ return R_CAST(const uint16_t*, pp);
+}
+
+
+HEADER_INLINE uint32_t IsVecAligned(const void* ptr) {
+ return !(R_CAST(uintptr_t, ptr) % kBytesPerVec);
+}
+
+#ifdef USE_SSE2
+HEADER_INLINE void AlignWToVec(uintptr_t** pp) {
+ const uintptr_t addr = R_CAST(uintptr_t, *pp);
+ *pp = R_CAST(uintptr_t*, RoundUpPow2(addr, kBytesPerVec));
+}
+#else
+HEADER_INLINE void AlignWToVec(__maybe_unused uintptr_t** pp) {
+}
+#endif
+
+HEADER_INLINE void AlignKUcToVec(const unsigned char** pp) {
+ const uintptr_t addr = R_CAST(uintptr_t, *pp);
+ *pp = R_CAST(const unsigned char*, RoundUpPow2(addr, kBytesPerVec));
+}
+
+/*
+HEADER_INLINE uint32_t AlignToVecW(void* prestart, VecW** result_ptr) {
+ unsigned char* prestart_uc = S_CAST(unsigned char*, prestart);
+ const uint32_t lead_byte_ct = (-R_CAST(uintptr_t, prestart_uc)) % kBytesPerVec;
+ *result_ptr = R_CAST(VecW*, &(prestart_uc[lead_byte_ct]));
+ return lead_byte_ct;
+}
+*/
+
+HEADER_INLINE uint32_t AlignKToAW(const void* prestart, const uintptr_t** result_ptr) {
+ const unsigned char* prestart_uc = S_CAST(const unsigned char*, prestart);
+ const uint32_t lead_byte_ct = (-R_CAST(uintptr_t, prestart_uc)) % kBytesPerVec;
+ *result_ptr = R_CAST(const uintptr_t*, &(prestart_uc[lead_byte_ct]));
+ return lead_byte_ct;
+}
+
+HEADER_INLINE uint32_t AlignKToW(const void* prestart, const uintptr_t** result_ptr) {
+ const unsigned char* prestart_uc = S_CAST(const unsigned char*, prestart);
+ const uint32_t lead_byte_ct = (-R_CAST(uintptr_t, prestart_uc)) % kBytesPerWord;
+ *result_ptr = R_CAST(const uintptr_t*, &(prestart_uc[lead_byte_ct]));
+ return lead_byte_ct;
+}
+
+
+// Turns out memcpy(&cur_word, bytearr, ct) can't be trusted to be fast when ct
+// isn't known at compile time.
+//
+// ct must be less than sizeof(intptr_t). ct == 0 handled correctly, albeit
+// inefficiently.
+#ifndef NO_UNALIGNED
+HEADER_INLINE uintptr_t ProperSubwordLoad(const void* bytearr, uint32_t ct) {
+ const unsigned char* bytearr_uc = S_CAST(const unsigned char*, bytearr);
+# ifdef __LP64__
+ if (ct >= 4) {
+ const uint32_t remainder = ct - 4;
+ bytearr_uc = &(bytearr_uc[remainder]);
+ uintptr_t cur_word = *R_CAST(const uint32_t*, bytearr_uc);
+ if (remainder) {
+ cur_word <<= remainder * CHAR_BIT;
+ cur_word |= *S_CAST(const uint32_t*, bytearr);
+ }
+ return cur_word;
+ }
+# endif
+ if (ct >= 2) {
+ const uint32_t remainder = ct & 1;
+ uintptr_t cur_word = *R_CAST(const uint16_t*, &(bytearr_uc[remainder]));
+ if (remainder) {
+ cur_word <<= 8;
+ cur_word |= bytearr_uc[0];
+ }
+ return cur_word;
+ }
+ return ct? bytearr_uc[0] : 0;
+}
+
+HEADER_INLINE uintptr_t SubwordLoad(const void* bytearr, uint32_t ct) {
+ if (ct == S_CAST(uint32_t, kBytesPerWord)) {
+ return *S_CAST(const uintptr_t*, bytearr);
+ }
+ return ProperSubwordLoad(bytearr, ct);
+}
+
+// ct must be in 1..4.
+HEADER_INLINE uint32_t SubU32Load(const void* bytearr, uint32_t ct) {
+ if (ct & 1) {
+ const unsigned char* bytearr_iter = S_CAST(const unsigned char*, bytearr);
+ uint32_t cur_uint = *bytearr_iter;
+ if (ct == 3) {
+ ++bytearr_iter;
+ cur_uint |= S_CAST(uint32_t, *R_CAST(const uint16_t*, bytearr_iter)) << 8;
+ }
+ return cur_uint;
+ }
+ if (ct == 2) {
+ return *S_CAST(const uint16_t*, bytearr);
+ }
+ return *S_CAST(const uint32_t*, bytearr);
+}
+
+// ct must be 1 or 2.
+HEADER_INLINE uint16_t SubU16Load(const void* bytearr, uint32_t ct) {
+ if (ct == 1) {
+ const unsigned char* bytearr_uc = S_CAST(const unsigned char*, bytearr);
+ return bytearr_uc[0];
+ }
+ return *S_CAST(const uint16_t*, bytearr);
+}
+
+// ct must be in 1..sizeof(Halfword).
+#ifdef __LP64__
+HEADER_INLINE Halfword SubHWLoad(const void* bytearr, uint32_t ct) {
+ return SubU32Load(bytearr, ct);
+}
+#else
+HEADER_INLINE Halfword SubHWLoad(const void* bytearr, uint32_t ct) {
+ return SubU16Load(bytearr, ct);
+}
+#endif
+
+// tried making this non-inline, loop took more than 50% longer
+HEADER_INLINE void ProperSubwordStore(uintptr_t cur_word, uint32_t byte_ct, void* target) {
+ unsigned char* target_iter = S_CAST(unsigned char*, target);
+# ifdef __LP64__
+ if (byte_ct >= 4) {
+ *R_CAST(uint32_t*, target_iter) = cur_word;
+ if (byte_ct == 4) {
+ return;
+ }
+ const uint32_t remainder = byte_ct - 4;
+ target_iter = &(target_iter[remainder]);
+ cur_word >>= remainder * CHAR_BIT;
+ *R_CAST(uint32_t*, target_iter) = cur_word;
+ return;
+ }
+# endif
+ if (byte_ct & 1) {
+ *target_iter++ = cur_word;
+ cur_word >>= 8;
+ }
+ if (byte_ct & 2) {
+ *R_CAST(uint16_t*, target_iter) = cur_word;
+ }
+}
+
+HEADER_INLINE void SubwordStore(uintptr_t cur_word, uint32_t byte_ct, void* target) {
+ if (byte_ct == kBytesPerWord) {
+ *S_CAST(uintptr_t*, target) = cur_word;
+ return;
+ }
+ ProperSubwordStore(cur_word, byte_ct, target);
+}
+
+// byte_ct must be in 1..4.
+HEADER_INLINE void SubU32Store(uint32_t cur_uint, uint32_t byte_ct, void* target) {
+ if (byte_ct & 1) {
+ unsigned char* target_iter = S_CAST(unsigned char*, target);
+ *target_iter = cur_uint;
+ if (byte_ct == 3) {
+ ++target_iter;
+ *R_CAST(uint16_t*, target_iter) = cur_uint >> 8;
+ }
+ return;
+ }
+ if (byte_ct == 2) {
+ *S_CAST(uint16_t*, target) = cur_uint;
+ return;
+ }
+ *S_CAST(uint32_t*, target) = cur_uint;
+ return;
+}
+#else // NO_UNALIGNED
+HEADER_INLINE uintptr_t ProperSubwordLoad(const void* bytearr, uint32_t ct) {
+ uintptr_t cur_word = 0;
+ memcpy(&cur_word, bytearr, ct);
+ return cur_word;
+}
+
+HEADER_INLINE uintptr_t SubwordLoad(const void* bytearr, uint32_t ct) {
+ uintptr_t cur_word = 0;
+ memcpy(&cur_word, bytearr, ct);
+ return cur_word;
+}
+
+HEADER_INLINE uint32_t SubU32Load(const void* bytearr, uint32_t ct) {
+ uint32_t cur_uint = 0;
+ memcpy(&cur_uint, bytearr, ct);
+ return cur_uint;
+}
+
+HEADER_INLINE Halfword SubHWLoad(const void* bytearr, uint32_t ct) {
+ Halfword cur_uint = 0;
+ memcpy(&cur_uint, bytearr, ct);
+ return cur_uint;
+}
+
+HEADER_INLINE void ProperSubwordStore(uintptr_t cur_word, uint32_t byte_ct, void* target) {
+ memcpy(target, &cur_word, byte_ct);
+}
+
+HEADER_INLINE void SubwordStore(uintptr_t cur_word, uint32_t byte_ct, void* target) {
+ memcpy(target, &cur_word, byte_ct);
+}
+
+HEADER_INLINE void SubU32Store(uint32_t cur_uint, uint32_t byte_ct, void* target) {
+ memcpy(target, &cur_uint, byte_ct);
+}
+#endif // NO_UNALIGNED
+
+HEADER_INLINE uint64_t SubU64Load(const void* bytearr, uint32_t ct) {
+#ifdef __LP64__
+ return SubwordLoad(bytearr, ct);
+#else
+ uint64_t cur_u64 = 0;
+ memcpy(&cur_u64, bytearr, ct);
+ return cur_u64;
+#endif
+}
+
+HEADER_INLINE void ProperSubwordStoreMov(uintptr_t cur_word, uint32_t byte_ct, unsigned char** targetp) {
+ ProperSubwordStore(cur_word, byte_ct, *targetp);
+ *targetp += byte_ct;
+}
+
+HEADER_INLINE void SubwordStoreMov(uintptr_t cur_word, uint32_t byte_ct, unsigned char** targetp) {
+ SubwordStore(cur_word, byte_ct, *targetp);
+ *targetp += byte_ct;
+}
+
+HEADER_INLINE void SubU32StoreMov(uint32_t cur_uint, uint32_t byte_ct, unsigned char** targetp) {
+ SubU32Store(cur_uint, byte_ct, *targetp);
+ *targetp += byte_ct;
+}
+
+#ifndef NO_UNALIGNED
+# ifdef __LP64__
+HEADER_INLINE void SubU64StoreMov(uint64_t cur_u64, uint32_t byte_ct, unsigned char** targetp) {
+ return SubwordStoreMov(cur_u64, byte_ct, targetp);
+}
+# else
+HEADER_INLINE void SubU64StoreMov(uint64_t cur_u64, uint32_t byte_ct, unsigned char** targetp) {
+ if (byte_ct > 4) {
+ *R_CAST(uint32_t*, *targetp) = cur_u64;
+ *targetp += 4;
+ byte_ct -= 4;
+ cur_u64 >>= 32;
+ }
+ return SubU32StoreMov(cur_u64, byte_ct, targetp);
+}
+# endif
+#else
+HEADER_INLINE void SubU64StoreMov(uint64_t cur_u64, uint32_t byte_ct, unsigned char** targetp) {
+ memcpy(*targetp, &cur_u64, byte_ct);
+ *targetp += byte_ct;
+}
+#endif
+
+
+HEADER_INLINE BoolErr vecaligned_malloc(uintptr_t size, void* aligned_pp) {
+#ifdef USE_AVX2
+ return aligned_malloc(size, kBytesPerVec, aligned_pp);
+#else
+# if defined(__APPLE__) || !defined(__LP64__)
+ const BoolErr ret_boolerr = pgl_malloc(size, aligned_pp);
+ assert(IsVecAligned(*S_CAST(uintptr_t**, aligned_pp)));
+ return ret_boolerr;
+# else
+ return aligned_malloc(size, kBytesPerVec, aligned_pp);
+# endif
+#endif
+}
+
+HEADER_INLINE BoolErr cachealigned_malloc(uintptr_t size, void* aligned_pp) {
+ return aligned_malloc(size, kCacheline, aligned_pp);
+}
+
+HEADER_INLINE void aligned_free(void* aligned_ptr) {
+ free(R_CAST(void*, S_CAST(uintptr_t*, aligned_ptr)[-1]));
+}
+
+HEADER_INLINE void aligned_free_cond(void* aligned_ptr) {
+ if (aligned_ptr) {
+ free(R_CAST(void*, S_CAST(uintptr_t*, aligned_ptr)[-1]));
+ }
+}
+
+// C spec is slightly broken here
+HEADER_INLINE void free_const(const void* memptr) {
+ free(K_CAST(void*, memptr));
+}
+
+HEADER_INLINE void free_cond(const void* memptr) {
+ if (memptr) {
+ free_const(memptr);
+ }
+}
+
+#ifdef USE_AVX2
+HEADER_INLINE void vecaligned_free(void* aligned_ptr) {
+ aligned_free(aligned_ptr);
+}
+
+HEADER_INLINE void vecaligned_free_cond(void* aligned_ptr) {
+ aligned_free_cond(aligned_ptr);
+}
+#else
+# if defined(__APPLE__) || !defined(__LP64__)
+HEADER_INLINE void vecaligned_free(void* aligned_ptr) {
+ free(aligned_ptr);
+}
+
+HEADER_INLINE void vecaligned_free_cond(void* aligned_ptr) {
+ free_cond(aligned_ptr);
+}
+# else
+HEADER_INLINE void vecaligned_free(void* aligned_ptr) {
+ aligned_free(aligned_ptr);
+}
+
+HEADER_INLINE void vecaligned_free_cond(void* aligned_ptr) {
+ aligned_free_cond(aligned_ptr);
+}
+# endif
+#endif
+
+
+#if defined(USE_SSE2) && !defined(NO_UNALIGNED)
+int32_t memequal(const void* m1, const void* m2, uintptr_t byte_ct);
+
+// This is also better than the June 2018 OS X/LLVM stock implementation,
+// especially for small values of ct.
+// (gcc 7.1 and clang 6.0.0 should have better stock implementations;
+// re-benchmark this once Linux build machine is upgraded to Ubuntu 18.04.)
+int32_t Memcmp(const void* m1, const void* m2, uintptr_t ct);
+#else
+HEADER_INLINE int32_t memequal(const void* m1, const void* m2, uintptr_t byte_ct) {
+ return !memcmp(m1, m2, byte_ct);
+}
+
+HEADER_INLINE int32_t Memcmp(const void* m1, const void* m2, uintptr_t ct) {
+ return memcmp(m1, m2, ct);
+}
+#endif
+
+
+HEADER_INLINE char* memcpya(void* __restrict target, const void* __restrict source, uintptr_t ct) {
+ memcpy(target, source, ct);
+ return &(S_CAST(char*, target)[ct]);
+}
+
+HEADER_INLINE unsigned char* memcpyua(void* __restrict target, const void* __restrict source, uintptr_t ct) {
+ memcpy(target, source, ct);
+ return &(S_CAST(unsigned char*, target)[ct]);
+}
+
+// Tried beating memcpy for usually-small strings not known to have length <=
+// 8, gave up.
+
+#if defined(USE_SSE2) && defined(__cplusplus) && !defined(NO_UNALIGNED)
+// See https://stackoverflow.com/questions/9510514/integer-range-based-template-specialisation .
+
+template struct TRange;
+
+// This makes MemequalKImpl expand to
+// MemequalKImpl >.
+// If a later single-parameter template defines the same thing, that takes
+// precedence.
+template > struct MemequalKImpl {
+ static int32_t MemequalK(const void* m1, const void* m2) {
+ return memequal(m1, m2, N);
+ }
+};
+
+template <> struct MemequalKImpl<1> {
+ static int32_t MemequalK(const void* m1, const void* m2) {
+ const unsigned char* m1_uc = S_CAST(const unsigned char*, m1);
+ const unsigned char* m2_uc = S_CAST(const unsigned char*, m2);
+ return (m1_uc[0] == m2_uc[0]);
+ }
+};
+
+template <> struct MemequalKImpl<2> {
+ static int32_t MemequalK(const void* m1, const void* m2) {
+ return ((*R_CAST(const uint16_t*, m1)) == (*R_CAST(const uint16_t*, m2)));
+ }
+};
+
+template <> struct MemequalKImpl<3> {
+ static int32_t MemequalK(const void* m1, const void* m2) {
+ const unsigned char* m1_uc = S_CAST(const unsigned char*, m1);
+ const unsigned char* m2_uc = S_CAST(const unsigned char*, m2);
+ return
+ ((*R_CAST(const uint16_t*, m1)) == (*R_CAST(const uint16_t*, m2))) &&
+ (m1_uc[2] == m2_uc[2]);
+ }
+};
+
+template <> struct MemequalKImpl<4> {
+ static int32_t MemequalK(const void* m1, const void* m2) {
+ return ((*R_CAST(const uint32_t*, m1)) == (*R_CAST(const uint32_t*, m2)));
+ }
+};
+
+template struct MemequalKImpl > {
+ static int32_t MemequalK(const void* m1, const void* m2) {
+ const unsigned char* m1_uc = S_CAST(const unsigned char*, m1);
+ const unsigned char* m2_uc = S_CAST(const unsigned char*, m2);
+ return
+ ((*R_CAST(const uint32_t*, m1)) == (*R_CAST(const uint32_t*, m2))) &&
+ ((*R_CAST(const uint32_t*, &(m1_uc[N - 4]))) == (*R_CAST(const uint32_t*, &(m2_uc[N - 4]))));
+ }
+};
+
+template <> struct MemequalKImpl<8> {
+ static int32_t MemequalK(const void* m1, const void* m2) {
+ return ((*R_CAST(const uint64_t*, m1)) == (*R_CAST(const uint64_t*, m2)));
+ }
+};
+
+template struct MemequalKImpl > {
+ static int32_t MemequalK(const void* m1, const void* m2) {
+ const unsigned char* m1_uc = S_CAST(const unsigned char*, m1);
+ const unsigned char* m2_uc = S_CAST(const unsigned char*, m2);
+ return
+ ((*R_CAST(const uint64_t*, m1)) == (*R_CAST(const uint64_t*, m2))) &&
+ ((*R_CAST(const uint64_t*, &(m1_uc[N - 8]))) == (*R_CAST(const uint64_t*, &(m2_uc[N - 8]))));
+ }
+};
+
+template <> struct MemequalKImpl<16> {
+ static int32_t MemequalK(const void* m1, const void* m2) {
+ const __m128i v1 = _mm_loadu_si128(S_CAST(const __m128i*, m1));
+ const __m128i v2 = _mm_loadu_si128(S_CAST(const __m128i*, m2));
+ return (_mm_movemask_epi8(_mm_cmpeq_epi8(v1, v2)) == 65535);
+ }
+};
+
+template struct MemequalKImpl > {
+ static int32_t MemequalK(const void* m1, const void* m2) {
+ const unsigned char* m1_uc = S_CAST(const unsigned char*, m1);
+ const unsigned char* m2_uc = S_CAST(const unsigned char*, m2);
+ const __m128i v1 = _mm_loadu_si128(S_CAST(const __m128i*, m1));
+ const __m128i v2 = _mm_loadu_si128(S_CAST(const __m128i*, m2));
+ return
+ (_mm_movemask_epi8(_mm_cmpeq_epi8(v1, v2)) == 65535) &&
+ ((*R_CAST(const uint64_t*, &(m1_uc[N - 8]))) == (*R_CAST(const uint64_t*, &(m2_uc[N - 8]))));
+ }
+};
+
+template struct MemequalKImpl > {
+ static int32_t MemequalK(const void* m1, const void* m2) {
+ __m128i v1 = _mm_loadu_si128(S_CAST(const __m128i*, m1));
+ __m128i v2 = _mm_loadu_si128(S_CAST(const __m128i*, m2));
+ if (_mm_movemask_epi8(_mm_cmpeq_epi8(v1, v2)) != 65535) {
+ return 0;
+ }
+ const unsigned char* m1_uc = S_CAST(const unsigned char*, m1);
+ const unsigned char* m2_uc = S_CAST(const unsigned char*, m2);
+ v1 = _mm_loadu_si128(R_CAST(const __m128i*, &(m1_uc[N - 16])));
+ v2 = _mm_loadu_si128(R_CAST(const __m128i*, &(m2_uc[N - 16])));
+ return (_mm_movemask_epi8(_mm_cmpeq_epi8(v1, v2)) == 65535);
+ }
+};
+
+# define memequal_k(m1, m2, byte_ct) plink2::MemequalKImpl::MemequalK(m1, m2)
+
+template > struct MemcpyKImpl {
+ static void MemcpyK(void* __restrict dst, const void* __restrict src) {
+ memcpy(dst, src, N);
+ }
+};
+
+// Patch a bunch of cases where some commonly-used gcc and clang versions
+// generate suboptimal code. (Since this code is shamelessly x86-specific, we
+// don't worry about the formal undefinedness of unaligned pointer dereferences
+// here.)
+// (todo: check if/when this has been fixed, and remove this bloat once all
+// production build machines have sufficiently new compilers.)
+template <> struct MemcpyKImpl<2> {
+ static void MemcpyK(void* __restrict dst, const void* __restrict src) {
+ *S_CAST(uint16_t*, dst) = *S_CAST(const uint16_t*, src);
+ }
+};
+
+template <> struct MemcpyKImpl<3> {
+ static void MemcpyK(void* __restrict dst, const void* __restrict src) {
+ unsigned char* dst_uc = S_CAST(unsigned char*, dst);
+ const unsigned char* src_uc = S_CAST(const unsigned char*, src);
+ *S_CAST(uint16_t*, dst) = *S_CAST(const uint16_t*, src);
+ dst_uc[2] = src_uc[2];
+ }
+};
+
+template <> struct MemcpyKImpl<5> {
+ static void MemcpyK(void* __restrict dst, const void* __restrict src) {
+ unsigned char* dst_uc = S_CAST(unsigned char*, dst);
+ const unsigned char* src_uc = S_CAST(const unsigned char*, src);
+ *S_CAST(uint32_t*, dst) = *S_CAST(const uint32_t*, src);
+ dst_uc[4] = src_uc[4];
+ }
+};
+
+template <> struct MemcpyKImpl<6> {
+ static void MemcpyK(void* __restrict dst, const void* __restrict src) {
+ uint16_t* dst_u16 = S_CAST(uint16_t*, dst);
+ const uint16_t* src_u16 = S_CAST(const uint16_t*, src);
+ *S_CAST(uint32_t*, dst) = *S_CAST(const uint32_t*, src);
+ dst_u16[2] = src_u16[2];
+ }
+};
+
+template <> struct MemcpyKImpl<7> {
+ static void MemcpyK(void* __restrict dst, const void* __restrict src) {
+ unsigned char* dst_uc = S_CAST(unsigned char*, dst);
+ const unsigned char* src_uc = S_CAST(const unsigned char*, src);
+ *S_CAST(uint32_t*, dst) = *S_CAST(const uint32_t*, src);
+ *R_CAST(uint32_t*, &(dst_uc[3])) = *R_CAST(const uint32_t*, &(src_uc[3]));
+ }
+};
+
+template <> struct MemcpyKImpl<9> {
+ static void MemcpyK(void* __restrict dst, const void* __restrict src) {
+ unsigned char* dst_uc = S_CAST(unsigned char*, dst);
+ const unsigned char* src_uc = S_CAST(const unsigned char*, src);
+ *S_CAST(uint64_t*, dst) = *S_CAST(const uint64_t*, src);
+ dst_uc[8] = src_uc[8];
+ }
+};
+
+template <> struct MemcpyKImpl<10> {
+ static void MemcpyK(void* __restrict dst, const void* __restrict src) {
+ uint16_t* dst_u16 = S_CAST(uint16_t*, dst);
+ const uint16_t* src_u16 = S_CAST(const uint16_t*, src);
+ *S_CAST(uint64_t*, dst) = *S_CAST(const uint64_t*, src);
+ dst_u16[4] = src_u16[4];
+ }
+};
+
+template struct MemcpyKImpl > {
+ static void MemcpyK(void* __restrict dst, const void* __restrict src) {
+ unsigned char* dst_uc = S_CAST(unsigned char*, dst);
+ const unsigned char* src_uc = S_CAST(const unsigned char*, src);
+ *S_CAST(uint64_t*, dst) = *S_CAST(const uint64_t*, src);
+ *R_CAST(uint32_t*, &(dst_uc[N - 4])) = *R_CAST(const uint32_t*, &(src_uc[N - 4]));
+ }
+};
+
+template struct MemcpyKImpl > {
+ static void MemcpyK(void* __restrict dst, const void* __restrict src) {
+ unsigned char* dst_uc = S_CAST(unsigned char*, dst);
+ const unsigned char* src_uc = S_CAST(const unsigned char*, src);
+ *S_CAST(uint64_t*, dst) = *S_CAST(const uint64_t*, src);
+ *R_CAST(uint64_t*, &(dst_uc[N - 8])) = *R_CAST(const uint64_t*, &(src_uc[N - 8]));
+ }
+};
+
+template <> struct MemcpyKImpl<17> {
+ static void MemcpyK(void* __restrict dst, const void* __restrict src) {
+ unsigned char* dst_uc = S_CAST(unsigned char*, dst);
+ const unsigned char* src_uc = S_CAST(const unsigned char*, src);
+ const __m128i vv = _mm_loadu_si128(S_CAST(const __m128i*, src));
+ _mm_storeu_si128(S_CAST(__m128i*, dst), vv);
+ dst_uc[16] = src_uc[16];
+ }
+};
+
+template <> struct MemcpyKImpl<18> {
+ static void MemcpyK(void* __restrict dst, const void* __restrict src) {
+ uint16_t* dst_u16 = S_CAST(uint16_t*, dst);
+ const uint16_t* src_u16 = S_CAST(const uint16_t*, src);
+ const __m128i vv = _mm_loadu_si128(S_CAST(const __m128i*, src));
+ _mm_storeu_si128(S_CAST(__m128i*, dst), vv);
+ dst_u16[8] = src_u16[8];
+ }
+};
+
+template struct MemcpyKImpl > {
+ static void MemcpyK(void* __restrict dst, const void* __restrict src) {
+ unsigned char* dst_uc = S_CAST(unsigned char*, dst);
+ const unsigned char* src_uc = S_CAST(const unsigned char*, src);
+ const __m128i vv = _mm_loadu_si128(S_CAST(const __m128i*, src));
+ _mm_storeu_si128(S_CAST(__m128i*, dst), vv);
+ *R_CAST(uint32_t*, &(dst_uc[N - 4])) = *R_CAST(const uint32_t*, &(src_uc[N - 4]));
+ }
+};
+
+template struct MemcpyKImpl > {
+ static void MemcpyK(void* __restrict dst, const void* __restrict src) {
+ unsigned char* dst_uc = S_CAST(unsigned char*, dst);
+ const unsigned char* src_uc = S_CAST(const unsigned char*, src);
+ const __m128i vv = _mm_loadu_si128(S_CAST(const __m128i*, src));
+ _mm_storeu_si128(S_CAST(__m128i*, dst), vv);
+ *R_CAST(uint64_t*, &(dst_uc[N - 8])) = *R_CAST(const uint64_t*, &(src_uc[N - 8]));
+ }
+};
+
+template struct MemcpyKImpl > {
+ static void MemcpyK(void* __restrict dst, const void* __restrict src) {
+ unsigned char* dst_uc = S_CAST(unsigned char*, dst);
+ const unsigned char* src_uc = S_CAST(const unsigned char*, src);
+ const __m128i v1 = _mm_loadu_si128(S_CAST(const __m128i*, src));
+ const __m128i v2 = _mm_loadu_si128(R_CAST(const __m128i*, &(src_uc[N - 16])));
+ _mm_storeu_si128(S_CAST(__m128i*, dst), v1);
+ _mm_storeu_si128(R_CAST(__m128i*, &(dst_uc[N - 16])), v2);
+ }
+};
+
+// Note that there's no difference between memcpy() and memcpy_k() for common
+// 'well-behaved' sizes like 1, 4, 8, and 16. It's the funny numbers in
+// between, which often arise with constant strings, which this template is
+// targeting.
+# define memcpy_k(dst, src, ct) plink2::MemcpyKImpl::MemcpyK(dst, src)
+
+template char* MemcpyaK(void* __restrict dst, const void* __restrict src) {
+ MemcpyKImpl::MemcpyK(dst, src);
+ char* dst_c = S_CAST(char*, dst);
+ return &(dst_c[N]);
+}
+
+# define memcpya_k(dst, src, ct) plink2::MemcpyaK(dst, src)
+# define memcpyua_k(dst, src, ct) CToUc(plink2::MemcpyaK(dst, src))
+
+template struct MemcpyoKImpl {
+ static void MemcpyoK(void* __restrict dst, const void* __restrict src) {
+ MemcpyKImpl::MemcpyK(dst, src);
+ }
+};
+
+template <> struct MemcpyoKImpl<3> {
+ static void MemcpyoK(void* __restrict dst, const void* __restrict src) {
+ *S_CAST(uint32_t*, dst) = *S_CAST(const uint32_t*, src);
+ }
+};
+
+template <> struct MemcpyoKImpl<7> {
+ static void MemcpyoK(void* __restrict dst, const void* __restrict src) {
+ *S_CAST(uint64_t*, dst) = *S_CAST(const uint64_t*, src);
+ }
+};
+
+template <> struct MemcpyoKImpl<15> {
+ static void MemcpyoK(void* __restrict dst, const void* __restrict src) {
+ const __m128i vv = _mm_loadu_si128(S_CAST(const __m128i*, src));
+ _mm_storeu_si128(S_CAST(__m128i*, dst), vv);
+ }
+};
+
+// interestingly, __m256i copy does not seem to be better in 31 byte case
+
+# define memcpyo_k(dst, src, ct) plink2::MemcpyoKImpl::MemcpyoK(dst, src)
+
+template char* MemcpyaoK(void* __restrict dst, const void* __restrict src) {
+ MemcpyoKImpl::MemcpyoK(dst, src);
+ char* dst_c = S_CAST(char*, dst);
+ return &(dst_c[N]);
+}
+
+# define memcpyao_k(dst, src, ct) plink2::MemcpyaoK(dst, src)
+# define memcpyuao_k(dst, src, ct) DowncastToUc(plink2::MemcpyaoK(dst, src))
+
+# else // !(defined(__LP64__) && defined(__cplusplus) && !defined(NO_UNALIGNED))
+
+HEADER_INLINE int32_t memequal_k(const void* m1, const void* m2, uintptr_t ct) {
+ return !memcmp(m1, m2, ct);
+}
+
+HEADER_INLINE void memcpy_k(void* __restrict dst, const void* __restrict src, uintptr_t ct) {
+ memcpy(dst, src, ct);
+}
+
+HEADER_INLINE char* memcpya_k(void* __restrict dst, const void* __restrict src, uintptr_t ct) {
+ return memcpya(dst, src, ct);
+}
+
+HEADER_INLINE unsigned char* memcpyua_k(void* __restrict dst, const void* __restrict src, uintptr_t ct) {
+ return memcpyua(dst, src, ct);
+}
+
+HEADER_INLINE void memcpyo_k(void* __restrict dst, const void* __restrict src, uintptr_t ct) {
+ memcpy(dst, src, ct);
+}
+
+HEADER_INLINE char* memcpyao_k(void* __restrict dst, const void* __restrict src, uintptr_t ct) {
+ return memcpya(dst, src, ct);
+}
+
+HEADER_INLINE unsigned char* memcpyuao_k(void* __restrict dst, const void* __restrict src, uintptr_t ct) {
+ return memcpyua(dst, src, ct);
+}
+
+#endif
+
+HEADER_INLINE char* strcpya(char* __restrict dst, const void* __restrict src) {
+ const uintptr_t slen = strlen(S_CAST(const char*, src));
+ return memcpya(dst, src, slen);
+}
+
+#if defined(__LP64__) && (__cplusplus >= 201103L)
+constexpr uint32_t CompileTimeSlen(const char* k_str) {
+ return k_str[0]? (1 + CompileTimeSlen(&(k_str[1]))) : 0;
+}
+#endif
+
+#if defined(USE_SSE2) && (__cplusplus >= 201103L) && !defined(NO_UNALIGNED)
+
+# define strcpy_k(dst, src) plink2::MemcpyKImpl::MemcpyK(dst, src);
+
+# define strcpya_k(dst, src) plink2::MemcpyaoK(dst, src);
+
+#else
+
+HEADER_INLINE void strcpy_k(char* __restrict dst, const void* __restrict src) {
+ strcpy(dst, S_CAST(const char*, src));
+}
+
+HEADER_INLINE char* strcpya_k(char* __restrict dst, const void* __restrict src) {
+ return strcpya(dst, src);
+}
+
+#endif
+
+// A few more string-rendering functions that would normally live in
+// plink2_string, to work around PRI{d,u}PTR and PRI{d,u}64 warning on CRAN
+// Windows builds.
+
+extern const uint16_t kDigitPair[];
+
+char* u32toa(uint32_t uii, char* start);
+
+HEADER_INLINE char* uitoa_z4(uint32_t uii, char* start) {
+ uint32_t quotient = uii / 100;
+ assert(quotient < 100);
+ uii -= 100 * quotient;
+ start = memcpya_k(start, &(kDigitPair[quotient]), 2);
+ return memcpya_k(start, &(kDigitPair[uii]), 2);
+}
+
+HEADER_INLINE char* u32toa_z6(uint32_t uii, char* start) {
+ uint32_t quotient = uii / 10000;
+ start = memcpya_k(start, &(kDigitPair[quotient]), 2);
+ return uitoa_z4(uii - 10000 * quotient, start);
+}
+
+HEADER_INLINE char* uitoa_z8(uint32_t uii, char* start) {
+ uint32_t quotient = uii / 1000000;
+ start = memcpya_k(start, &(kDigitPair[quotient]), 2);
+ return u32toa_z6(uii - 1000000 * quotient, start);
+}
+
+char* i64toa(int64_t llii, char* start);
+
+#ifdef __LP64__
+// really just for printing line numbers
+// must be less than 2^63
+HEADER_INLINE char* wtoa(uintptr_t ulii, char* start) {
+ return i64toa(ulii, start);
+}
+#else
+HEADER_INLINE char* wtoa(uintptr_t ulii, char* start) {
+ return u32toa(ulii, start);
+}
+#endif
+
+HEADER_INLINE void CopyFromUnalignedW(uintptr_t* dst, const unsigned char* src) {
+ memcpy_k(dst, src, kBytesPerWord);
+}
+
+HEADER_INLINE void CopyFromUnalignedU32(uint32_t* dst, const unsigned char* src) {
+ memcpy_k(dst, src, sizeof(int32_t));
+}
+
+HEADER_INLINE void CopyFromUnalignedU16(uint16_t* dst, const unsigned char* src) {
+ memcpy_k(dst, src, sizeof(int16_t));
+}
+
+HEADER_INLINE void CopyFromUnalignedI16(int16_t* dst, const unsigned char* src) {
+ memcpy_k(dst, src, sizeof(int16_t));
+}
+
+HEADER_INLINE void CopyFromUnalignedF(float* dst, const unsigned char* src) {
+ memcpy_k(dst, src, sizeof(float));
+}
+
+// [u]int16_t (and unsigned char) arithmetic is slower than uint32_t/uint64_t
+// arithmetic on some CPUs.
+// todo: check whether uint32_t vs. uintptr_t return value matters
+HEADER_INLINE uint32_t CopyFromUnalignedU16ZX(const unsigned char* src) {
+#ifndef NO_UNALIGNED
+ return *R_CAST(const uint16_t*, src);
+#else
+ uint16_t cur_u16;
+ memcpy_k(&cur_u16, src, sizeof(int16_t));
+ return cur_u16;
+#endif
+}
+
+HEADER_INLINE int32_t CopyFromUnalignedI16ZX(const unsigned char* src) {
+#ifndef NO_UNALIGNED
+ return *R_CAST(const int16_t*, src);
+#else
+ int16_t cur_i16;
+ memcpy_k(&cur_i16, src, sizeof(int16_t));
+ return cur_i16;
+#endif
+}
+
+HEADER_INLINE void CopyToUnalignedW(unsigned char* dst, const uintptr_t* src) {
+ memcpy_k(dst, src, kBytesPerWord);
+}
+
+HEADER_INLINE void CopyToUnalignedU64(unsigned char* dst, const uint64_t* src) {
+ memcpy_k(dst, src, sizeof(int64_t));
+}
+
+HEADER_INLINE void CopyToUnalignedU32(unsigned char* dst, const uint32_t* src) {
+ memcpy_k(dst, src, sizeof(int32_t));
+}
+
+HEADER_INLINE void CopyToUnalignedF(unsigned char* dst, const float* src) {
+ memcpy_k(dst, src, sizeof(float));
+}
+
+HEADER_INLINE void CopyFromUnalignedOffsetW(uintptr_t* dst, const unsigned char* src, uintptr_t offset) {
+ memcpy_k(dst, &(src[offset * kBytesPerWord]), kBytesPerWord);
+}
+
+HEADER_INLINE void CopyFromUnalignedOffsetHW(Halfword* dst, const unsigned char* src, uintptr_t offset) {
+ memcpy_k(dst, &(src[offset * sizeof(Halfword)]), sizeof(Halfword));
+}
+
+HEADER_INLINE void CopyFromUnalignedOffsetQW(Quarterword* dst, const unsigned char* src, uintptr_t offset) {
+ memcpy_k(dst, &(src[offset * sizeof(Quarterword)]), sizeof(Quarterword));
+}
+
+HEADER_INLINE void CopyFromUnalignedOffsetU64(uint64_t* dst, const unsigned char* src, uintptr_t offset) {
+ memcpy_k(dst, &(src[offset * sizeof(int64_t)]), sizeof(int64_t));
+}
+
+HEADER_INLINE void CopyFromUnalignedOffsetU32(uint32_t* dst, const unsigned char* src, uintptr_t offset) {
+ memcpy_k(dst, &(src[offset * sizeof(int32_t)]), sizeof(int32_t));
+}
+
+HEADER_INLINE void CopyFromUnalignedOffsetI32(int32_t* dst, const unsigned char* src, uintptr_t offset) {
+ memcpy_k(dst, &(src[offset * sizeof(int32_t)]), sizeof(int32_t));
+}
+
+HEADER_INLINE void CopyFromUnalignedOffsetU16(uint16_t* dst, const unsigned char* src, uintptr_t offset) {
+ memcpy_k(dst, &(src[offset * sizeof(int16_t)]), sizeof(int16_t));
+}
+
+HEADER_INLINE void CopyFromUnalignedOffsetI16(int16_t* dst, const unsigned char* src, uintptr_t offset) {
+ memcpy_k(dst, &(src[offset * sizeof(int16_t)]), sizeof(int16_t));
+}
+
+HEADER_INLINE void CopyFromUnalignedOffsetF(float* dst, const unsigned char* src, uintptr_t offset) {
+ memcpy_k(dst, &(src[offset * sizeof(float)]), sizeof(float));
+}
+
+HEADER_INLINE uint32_t CopyFromUnalignedOffsetU16ZX(const unsigned char* src, uintptr_t offset) {
+#ifndef NO_UNALIGNED
+ return R_CAST(const uint16_t*, src)[offset];
+#else
+ uint16_t cur_u16;
+ memcpy_k(&cur_u16, &(src[offset * sizeof(int16_t)]), sizeof(int16_t));
+ return cur_u16;
+#endif
+}
+
+HEADER_INLINE int32_t CopyFromUnalignedOffsetI16ZX(const unsigned char* src, uintptr_t offset) {
+#ifndef NO_UNALIGNED
+ return R_CAST(const int16_t*, src)[offset];
+#else
+ int16_t cur_i16;
+ memcpy_k(&cur_i16, &(src[offset * sizeof(int16_t)]), sizeof(int16_t));
+ return cur_i16;
+#endif
+}
+
+HEADER_INLINE void CopyToUnalignedOffsetW(unsigned char* dst, const uintptr_t* src, uintptr_t offset) {
+ memcpy_k(&(dst[offset * sizeof(intptr_t)]), src, sizeof(intptr_t));
+}
+
+HEADER_INLINE void CopyToUnalignedOffsetHW(unsigned char* dst, const Halfword* src, uintptr_t offset) {
+ memcpy_k(&(dst[offset * sizeof(Halfword)]), src, sizeof(Halfword));
+}
+
+HEADER_INLINE void CopyToUnalignedOffsetU64(unsigned char* dst, const uint64_t* src, uintptr_t offset) {
+ memcpy_k(&(dst[offset * sizeof(int64_t)]), src, sizeof(int64_t));
+}
+
+HEADER_INLINE void CopyToUnalignedOffsetU32(unsigned char* dst, const uint32_t* src, uintptr_t offset) {
+ memcpy_k(&(dst[offset * sizeof(int32_t)]), src, sizeof(int32_t));
+}
+
+HEADER_INLINE void CopyToUnalignedOffsetU16(unsigned char* dst, const uint16_t* src, uintptr_t offset) {
+ memcpy_k(&(dst[offset * sizeof(int16_t)]), src, sizeof(int16_t));
+}
+
+HEADER_INLINE void CopyToUnalignedOffsetI16(unsigned char* dst, const int16_t* src, uintptr_t offset) {
+ memcpy_k(&(dst[offset * sizeof(int16_t)]), src, sizeof(int16_t));
+}
+
+HEADER_INLINE void CopyToUnalignedOffsetF(unsigned char* dst, const float* src, uintptr_t offset) {
+ memcpy_k(&(dst[offset * sizeof(float)]), src, sizeof(float));
+}
+
+#ifdef USE_SSE2
+HEADER_INLINE void CopyToUnalignedOffsetV8(unsigned char* dst, const Vec8thUint* src, uintptr_t offset) {
+ memcpy_k(&(dst[offset * sizeof(Vec8thUint)]), src, sizeof(Vec8thUint));
+}
+
+HEADER_INLINE void CopyToUnalignedOffsetV16(unsigned char* dst, const Vec16thUint* src, uintptr_t offset) {
+ memcpy_k(&(dst[offset * sizeof(Vec16thUint)]), src, sizeof(Vec16thUint));
+}
+#endif
+
+HEADER_INLINE void CopyFromUnalignedIncrW(uintptr_t* dst, const unsigned char** srcp) {
+ memcpy_k(dst, *srcp, kBytesPerWord);
+ *srcp += kBytesPerWord;
+}
+
+HEADER_INLINE void CopyFromUnalignedIncrU32(uint32_t* dst, const unsigned char** srcp) {
+ memcpy_k(dst, *srcp, sizeof(int32_t));
+ *srcp += sizeof(int32_t);
+}
+
+HEADER_INLINE void CopyFromUnalignedIncrU16(uint16_t* dst, const unsigned char** srcp) {
+ memcpy_k(dst, *srcp, sizeof(int16_t));
+ *srcp += sizeof(int16_t);
+}
+
+HEADER_INLINE void CopyFromUnalignedIncrI16(int16_t* dst, const unsigned char** srcp) {
+ memcpy_k(dst, *srcp, sizeof(int16_t));
+ *srcp += sizeof(int16_t);
+}
+
+HEADER_INLINE uint32_t CopyFromUnalignedIncrU16ZX(const unsigned char** srcp) {
+#ifndef NO_UNALIGNED
+ const uint32_t result = *R_CAST(const uint16_t*, *srcp);
+#else
+ uint16_t result;
+ memcpy_k(&result, *srcp, sizeof(int16_t));
+#endif
+ *srcp += sizeof(int16_t);
+ return result;
+}
+
+HEADER_INLINE int32_t CopyFromUnalignedIncrI16ZX(const unsigned char** srcp) {
+#ifndef NO_UNALIGNED
+ const int32_t result = *R_CAST(const int16_t*, *srcp);
+#else
+ int16_t result;
+ memcpy_k(&result, *srcp, sizeof(int16_t));
+#endif
+ *srcp += sizeof(int16_t);
+ return result;
+}
+
+// no need to spell out 'CopyToUnalignedIncr' here; and we append constants
+// often enough to justify no src pointer
+
+HEADER_INLINE void AppendW(uintptr_t ulii, unsigned char** targetp) {
+ memcpy_k(*targetp, &ulii, kBytesPerWord);
+ *targetp += kBytesPerWord;
+}
+
+HEADER_INLINE void AppendU64(uint64_t ullii, unsigned char** targetp) {
+ memcpy_k(*targetp, &ullii, sizeof(int64_t));
+ *targetp += sizeof(int64_t);
+}
+
+HEADER_INLINE void AppendU32(uint32_t uii, unsigned char** targetp) {
+ memcpy_k(*targetp, &uii, sizeof(int32_t));
+ *targetp += sizeof(int32_t);
+}
+
+HEADER_INLINE void AppendU16(uint16_t usii, unsigned char** targetp) {
+ memcpy_k(*targetp, &usii, sizeof(int16_t));
+ *targetp += sizeof(int16_t);
+}
+
+HEADER_INLINE void CAppendW(uintptr_t ulii, char** targetp) {
+ memcpy_k(*targetp, &ulii, kBytesPerWord);
+ *targetp += kBytesPerWord;
+}
+
+HEADER_INLINE void CAppendU32(uint32_t uii, char** targetp) {
+ memcpy_k(*targetp, &uii, sizeof(int32_t));
+ *targetp += sizeof(int32_t);
+}
+
+HEADER_INLINE void CAppendU16(uint16_t usii, char** targetp) {
+ memcpy_k(*targetp, &usii, sizeof(int16_t));
+ *targetp += sizeof(int16_t);
+}
+
+
+// now compiling with gcc >= 4.4 (or clang equivalent) on all platforms, so
+// safe to use memset everywhere
+HEADER_INLINE void ZeroU32Arr(uintptr_t entry_ct, uint32_t* u32arr) {
+ memset(u32arr, 0, entry_ct * sizeof(int32_t));
+}
+
+HEADER_INLINE void ZeroWArr(uintptr_t entry_ct, uintptr_t* warr) {
+ memset(warr, 0, entry_ct * sizeof(intptr_t));
+}
+
+HEADER_INLINE void ZeroU64Arr(uintptr_t entry_ct, uint64_t* u64arr) {
+ memset(u64arr, 0, entry_ct * sizeof(int64_t));
+}
+
+HEADER_INLINE void ZeroPtrArr(uintptr_t entry_ct, void* pp) {
+ memset(pp, 0, entry_ct * sizeof(intptr_t));
+}
+
+HEADER_INLINE void ZeroHwArr(uintptr_t entry_ct, Halfword* hwarr) {
+ memset(hwarr, 0, entry_ct * sizeof(Halfword));
+}
+
+HEADER_INLINE void SetAllWArr(uintptr_t entry_ct, uintptr_t* warr) {
+ // todo: test this against vecset()
+ for (uintptr_t idx = 0; idx != entry_ct; ++idx) {
+ warr[idx] = ~k0LU;
+ }
+}
+
+
+// tried _bzhi_u64() in AVX2 case, it was actually worse on my Mac (more
+// opaque to compiler?)
+// todo: check gcc behavior since it may be different: see
+// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82298 .
+//
+// This is undefined if idx == kBitsPerWord.
+HEADER_INLINE uintptr_t bzhi(uintptr_t ww, uint32_t idx) {
+ return ww & ((k1LU << idx) - k1LU);
+}
+
+// This is undefined if idx == 0.
+HEADER_INLINE uintptr_t bzhi_max(uintptr_t ww, uint32_t idx) {
+ return ww & ((~k0LU) >> (kBitsPerWord - idx));
+}
+
+// Don't bother defining blsr(), compiler should automatically use the
+// instruction under -mbmi and regular code is more readable? (again, should
+// verify this is true for gcc)
+
+HEADER_INLINE uint32_t BytesToRepresentNzU32(uint32_t uii) {
+ return 1 + (bsru32(uii) / CHAR_BIT);
+}
+
+// analogous to memset()
+// this can be slightly slower if e.g. system supports AVX2 but non-AVX2 plink2
+// build is in use; fine to pay that price given the small-array advantage for
+// now. Should revisit this after next build-machine Ubuntu upgrade, though.
+HEADER_INLINE void vecset(void* target_vec, uintptr_t ww, uintptr_t vec_ct) {
+ VecW* target_vec_iter = S_CAST(VecW*, target_vec);
+#ifdef USE_SSE2
+ const VecW payload = VCONST_W(ww);
+ for (uintptr_t vec_idx = 0; vec_idx != vec_ct; ++vec_idx) {
+ *target_vec_iter++ = payload;
+ }
+#else
+ for (uintptr_t vec_idx = 0; vec_idx != vec_ct; ++vec_idx) {
+ *target_vec_iter++ = ww;
+ }
+#endif
+}
+
+// todo: make sure these are efficient for small ct
+HEADER_INLINE void u16set(void* dst, uint16_t usii, uintptr_t ct) {
+ uint16_t* dst_u16 = S_CAST(uint16_t*, dst);
+ for (uintptr_t ulii = 0; ulii != ct; ++ulii) {
+ dst_u16[ulii] = usii;
+ }
+}
+
+HEADER_INLINE char* u16setsa(char* dst, uint16_t usii, uintptr_t ct) {
+ u16set(dst, usii, ct);
+ return &(dst[ct * 2]);
+}
+
+HEADER_INLINE uintptr_t ClearBottomSetBits(uint32_t ct, uintptr_t ulii) {
+#ifdef USE_AVX2
+ return _pdep_u64((~k0LU) << ct, ulii);
+#else
+ for (uint32_t uii = 0; uii != ct; ++uii) {
+ ulii &= ulii - 1;
+ }
+ return ulii;
+#endif
+}
+
+HEADER_INLINE uint32_t WordBitIdxToUidx(uintptr_t ulii, uint32_t bit_idx) {
+ return ctzw(ClearBottomSetBits(bit_idx, ulii));
+}
+
+CONSTI32(kNybblesPerWord, 2 * kBytesPerWord);
+CONSTI32(kNybblesPerCacheline, 2 * kCacheline);
+
+HEADER_CINLINE uintptr_t NybbleCtToByteCt(uintptr_t val) {
+ return DivUp(val, 2);
+}
+
+HEADER_CINLINE uintptr_t NybbleCtToWordCt(uintptr_t val) {
+ return DivUp(val, kNybblesPerWord);
+}
+
+HEADER_INLINE uintptr_t GetNybbleArrEntry(const uintptr_t* nybblearr, uint32_t idx) {
+ return (nybblearr[idx / kBitsPerWordD4] >> (4 * (idx % kBitsPerWordD4))) & 15;
+}
+
+// Returns zero when ww has no zero bytes, and a word where the lowest set bit
+// is at position 8x + 7 when the first zero byte is [8x .. 8x+7].
+HEADER_INLINE uintptr_t DetectFirstZeroByte(uintptr_t ww) {
+ return (ww - kMask0101) & (~ww) & (kMask0101 * 0x80);
+}
+
+// From TAOCP 4a, 7.1.3, (91).
+// Position 8x + 7 is always set iff byte x is zero. All other bits are always
+// zero.
+HEADER_INLINE uintptr_t DetectAllZeroBytes(uintptr_t ww) {
+ return (kMask0101 * 0x80) & (~(ww | ((ww | (kMask0101 * 0x80)) - kMask0101)));
+}
+
+HEADER_INLINE uintptr_t DetectAllZeroNybbles(uintptr_t ww) {
+ return (kMask1111 * 8) & (~(ww | ((ww | (kMask1111 * 8)) - kMask1111)));
+}
+
+#if defined(USE_SSE2) && !defined(NO_UNALIGNED)
+// This requires nbytes >= 4.
+uintptr_t FirstUnequal4(const void* arr1, const void* arr2, uintptr_t nbytes);
+
+HEADER_INLINE uintptr_t FirstUnequal(const void* arr1, const void* arr2, uintptr_t nbytes) {
+ // Returns position of first byte mismatch, or nbytes if none was found.
+ if (nbytes >= 4) {
+ return FirstUnequal4(arr1, arr2, nbytes);
+ }
+ const char* s1 = S_CAST(const char*, arr1);
+ const char* s2 = S_CAST(const char*, arr2);
+ for (uintptr_t pos = 0; pos != nbytes; ++pos) {
+ if (s1[pos] != s2[pos]) {
+ return pos;
+ }
+ }
+ return nbytes;
+}
+#else // !(defined(USE_SSE2) && !defined(NO_UNALIGNED))
+// This requires nbytes >= kBytesPerWord.
+uintptr_t FirstUnequalW(const void* arr1, const void* arr2, uintptr_t nbytes);
+
+HEADER_INLINE uintptr_t FirstUnequal(const void* arr1, const void* arr2, uintptr_t nbytes) {
+ // Returns position of first byte mismatch, or nbytes if none was found.
+ if (nbytes >= kBytesPerWord) {
+ return FirstUnequalW(arr1, arr2, nbytes);
+ }
+ const char* s1 = S_CAST(const char*, arr1);
+ const char* s2 = S_CAST(const char*, arr2);
+ for (uintptr_t pos = 0; pos != nbytes; ++pos) {
+ if (s1[pos] != s2[pos]) {
+ return pos;
+ }
+ }
+ return nbytes;
+}
+#endif
+
+
+HEADER_INLINE uintptr_t FirstUnequalFrom(const void* arr1, const void* arr2, uintptr_t start, uintptr_t nbytes) {
+ const char* s1 = S_CAST(const char*, arr1);
+ const char* s2 = S_CAST(const char*, arr2);
+ return start + FirstUnequal(&(s1[start]), &(s2[start]), nbytes - start);
+}
+
+
+HEADER_INLINE void* arena_alloc_raw(uintptr_t size, unsigned char** arena_bottom_ptr) {
+ assert(!(size % kCacheline));
+ unsigned char* alloc_ptr = *arena_bottom_ptr;
+ *arena_bottom_ptr = &(alloc_ptr[size]);
+ return alloc_ptr;
+}
+
+HEADER_INLINE void* arena_alloc_raw_rd(uintptr_t size, unsigned char** arena_bottom_ptr) {
+ unsigned char* alloc_ptr = *arena_bottom_ptr;
+ *arena_bottom_ptr = &(alloc_ptr[RoundUpPow2(size, kCacheline)]);
+ return alloc_ptr;
+}
+
+// A VINT is a sequence of bytes where each byte stores just 7 bits of an
+// an integer, and the high bit is set when the integer has more nonzero bits.
+// See e.g.
+// https://developers.google.com/protocol-buffers/docs/encoding#varints
+// (Note that protocol buffers used "group varints" at one point, but then
+// abandoned them. I suspect they'd be simultaneously slower and less
+// compact here.)
+
+HEADER_INLINE unsigned char* Vint32Append(uint32_t uii, unsigned char* buf) {
+ while (uii > 127) {
+ *buf++ = (uii & 127) + 128;
+ uii >>= 7;
+ }
+ *buf++ = uii;
+ return buf;
+}
+
+// Returns 0x80000000U on read-past-end instead of UINT32_MAX so overflow check
+// works properly in 32-bit build. Named "GetVint31" to make it more obvious
+// that a 2^31 return value can't be legitimate.
+HEADER_INLINE uint32_t GetVint31(const unsigned char* buf_end, const unsigned char** buf_iterp) {
+ if (likely(buf_end > (*buf_iterp))) {
+ uint32_t vint32 = *((*buf_iterp)++);
+ if (vint32 <= 127) {
+ return vint32;
+ }
+ vint32 &= 127;
+ uint32_t shift = 7;
+ while (likely(buf_end > (*buf_iterp))) {
+ uint32_t uii = *((*buf_iterp)++);
+ vint32 |= (uii & 127) << shift;
+ if (uii <= 127) {
+ return vint32;
+ }
+ shift += 7;
+ // currently don't check for shift >= 32 (that's what ValidateVint31()
+ // is for).
+ }
+ }
+ return 0x80000000U;
+}
+
+#ifdef __LP64__
+uintptr_t CountVintsNonempty(const unsigned char* buf, const unsigned char* buf_end);
+
+HEADER_INLINE uintptr_t CountVints(const unsigned char* buf, const unsigned char* buf_end) {
+ if (buf == buf_end) {
+ return 0;
+ }
+ return CountVintsNonempty(buf, buf_end);
+}
+#else
+uintptr_t CountVints(const unsigned char* buf, const unsigned char* buf_end);
+
+HEADER_INLINE uintptr_t CountVintsNonempty(const unsigned char* buf, const unsigned char* buf_end) {
+ return CountVints(buf, buf_end);
+}
+#endif
+
+// Number of bytes required to encode ulii as a varint.
+HEADER_INLINE uint32_t VintBytect(uintptr_t ulii) {
+ if (ulii < 128) {
+ // bsrw(0) is undefined.
+ return 1;
+ }
+ return 1 + (bsrw(ulii) / 7);
+}
+
+// Flagset conventions:
+// * Each 32-bit and 64-bit flagset has its own type, which is guaranteed to be
+// the appropriate width. (Todo: verify that bit 31 works properly in 32-bit
+// case.)
+// * Constant flag names start with "kf[CamelCase description]", followed by a
+// description that shouldn't suck too badly. The zero flagset is always
+// named kf[CamelCase description]0.
+// * The type name is always of the form [snake_case description]_flags_t.
+// * To gain the desired level of type-checking under C++11 without pointless
+// verbosity, &, |, ^, ~, &=, |=, and ^= operations are defined; [my_flags_t
+// variable] |= [another my_flags_t variable] & [a my_flags_t constant] works
+// without an explicit cast. (Defining "struct my_flags_t" separately from
+// the enum global-scope-constants container is necessary to make |= work
+// without a cast. inline is needed due to duplicate operator definitions
+// across multiple files.)
+// * To slightly reduce the chance of breakage under C99/C++03, the enum is
+// nameless; the flagset type is just a uint32_t/uint64_t alias. This is
+// because the C99 and C++03 specs do not provide enough control over the
+// enum base type to make it safe for the enum to serve as the flagset type.
+// * Implicit conversion to int is not prevented for now, since I'm trying to
+// keep PglErr-style code duplication to a minimum.
+#if __cplusplus >= 201103L
+
+ // could avoid the typedef here, but that leads to a bit more verbosity.
+# define FLAGSET_DEF_START() typedef enum : uint32_t {
+# define FLAGSET_DEF_END(tname) } tname ## _PLINK2_BASE_DO_NOT_USE__ ; \
+ \
+inline tname ## _PLINK2_BASE_DO_NOT_USE__ operator|(tname ## _PLINK2_BASE_DO_NOT_USE__ aa, tname ## _PLINK2_BASE_DO_NOT_USE__ bb) { \
+ return static_cast(static_cast(aa) | static_cast(bb)); \
+} \
+ \
+inline tname ## _PLINK2_BASE_DO_NOT_USE__ operator&(tname ## _PLINK2_BASE_DO_NOT_USE__ aa, tname ## _PLINK2_BASE_DO_NOT_USE__ bb) { \
+ return static_cast(static_cast(aa) & static_cast(bb)); \
+} \
+ \
+inline tname ## _PLINK2_BASE_DO_NOT_USE__ operator^(tname ## _PLINK2_BASE_DO_NOT_USE__ aa, tname ## _PLINK2_BASE_DO_NOT_USE__ bb) { \
+ return static_cast(static_cast(aa) ^ static_cast(bb)); \
+} \
+ \
+inline tname ## _PLINK2_BASE_DO_NOT_USE__ operator~(tname ## _PLINK2_BASE_DO_NOT_USE__ aa) { \
+ return static_cast(~static_cast(aa)); \
+} \
+ \
+struct tname { \
+ tname() {} \
+ \
+ tname(const tname& source) : value_(source.value_) {} \
+ \
+ tname(const tname ## _PLINK2_BASE_DO_NOT_USE__ source) : value_(static_cast(source)) {} \
+ \
+ explicit tname(uint32_t source) : value_(source) {} \
+ \
+ operator tname ## _PLINK2_BASE_DO_NOT_USE__() const { \
+ return static_cast(value_); \
+ } \
+ \
+ tname& operator|=(const tname ## _PLINK2_BASE_DO_NOT_USE__ rhs) { \
+ value_ |= rhs; \
+ return *this; \
+ } \
+ \
+ tname& operator&=(const tname ## _PLINK2_BASE_DO_NOT_USE__ rhs) { \
+ value_ &= rhs; \
+ return *this; \
+ } \
+ \
+ tname& operator^=(const tname ## _PLINK2_BASE_DO_NOT_USE__ rhs) { \
+ value_ ^= rhs; \
+ return *this; \
+ } \
+ \
+ tname& operator=(const tname& rhs) = default; \
+ \
+private: \
+ uint32_t value_; \
+}
+
+# define FLAGSET64_DEF_START() typedef enum : uint64_t {
+# define FLAGSET64_DEF_END(tname) } tname ## _PLINK2_BASE_DO_NOT_USE__ ; \
+ \
+inline tname ## _PLINK2_BASE_DO_NOT_USE__ operator|(tname ## _PLINK2_BASE_DO_NOT_USE__ aa, tname ## _PLINK2_BASE_DO_NOT_USE__ bb) { \
+ return static_cast(static_cast(aa) | static_cast(bb)); \
+} \
+ \
+inline tname ## _PLINK2_BASE_DO_NOT_USE__ operator&(tname ## _PLINK2_BASE_DO_NOT_USE__ aa, tname ## _PLINK2_BASE_DO_NOT_USE__ bb) { \
+ return static_cast(static_cast(aa) & static_cast(bb)); \
+} \
+ \
+inline tname ## _PLINK2_BASE_DO_NOT_USE__ operator^(tname ## _PLINK2_BASE_DO_NOT_USE__ aa, tname ## _PLINK2_BASE_DO_NOT_USE__ bb) { \
+ return static_cast(static_cast(aa) ^ static_cast(bb)); \
+} \
+ \
+inline tname ## _PLINK2_BASE_DO_NOT_USE__ operator~(tname ## _PLINK2_BASE_DO_NOT_USE__ aa) { \
+ return static_cast(~static_cast(aa)); \
+} \
+ \
+struct tname { \
+ tname() {} \
+ \
+ tname(const tname& source) : value_(source.value_) {} \
+ \
+ tname(const tname ## _PLINK2_BASE_DO_NOT_USE__ source) : value_(static_cast(source)) {} \
+ \
+ explicit tname(uint64_t source) : value_(source) {} \
+ \
+ operator tname ## _PLINK2_BASE_DO_NOT_USE__() const { \
+ return static_cast(value_); \
+ } \
+ \
+ tname& operator|=(const tname ## _PLINK2_BASE_DO_NOT_USE__ rhs) { \
+ value_ |= rhs; \
+ return *this; \
+ } \
+ \
+ tname& operator&=(const tname ## _PLINK2_BASE_DO_NOT_USE__ rhs) { \
+ value_ &= rhs; \
+ return *this; \
+ } \
+ \
+ tname& operator^=(const tname ## _PLINK2_BASE_DO_NOT_USE__ rhs) { \
+ value_ ^= rhs; \
+ return *this; \
+ } \
+ \
+ tname& operator=(const tname& rhs) = default; \
+ \
+private: \
+ uint64_t value_; \
+}
+
+# define ENUM_U31_DEF_START() typedef enum : uint32_t {
+# define ENUM_U31_DEF_END(tname) } tname
+
+#else // !__cplusplus >= 201103L
+
+# define FLAGSET_DEF_START() enum {
+# define FLAGSET_DEF_END(tname) } ; \
+typedef uint32_t tname
+
+ // don't use a nameless enum here, since we want to be able to static_assert
+ // the enum size.
+ // best to artificially add an element to the end for now to force width to
+ // 64-bit, otherwise gcc actually shrinks it even when the constants are
+ // defined with LLU.
+# define FLAGSET64_DEF_START() typedef enum {
+# define FLAGSET64_DEF_END(tname) , \
+ tname ## PLINK2_BASE_DO_NOT_USE__ALL_64_SET__ = ~(0LLU) } tname ## _PLINK2_BASE_DO_NOT_USE__ ; \
+static_assert(sizeof(tname ## _PLINK2_BASE_DO_NOT_USE__) == 8, "64-bit flagset constants are not actually uint64_ts."); \
+typedef uint64_t tname
+
+# define ENUM_U31_DEF_START() typedef enum {
+# define ENUM_U31_DEF_END(tname) } tname ## _PLINK2_BASE_DO_NOT_USE__ ; \
+typedef uint32_t tname
+
+#endif
+
+// This supports private struct members in code that still compiles as C.
+//
+// Internal code should access these members with GET_PRIVATE(), and define a
+// pair of public C++-only GET_PRIVATE_...() member functions (one const and
+// one non-const) that each return a reference to the member; see plink2_thread
+// for examples. In addition, .cc API code should define a small number of
+// standard GET_PRIVATE() accessors at the top of the file, and practically all
+// private-member access should occur through those file-scope accessors; this
+// keeps the surface area under control.
+//
+// (Tried to define a DECLARE_PRIVATE(typ, member) macro as well, but didn't
+// get that to work. This is already pretty painless if it's restricted to key
+// APIs, though.)
+//
+// probable todo: see if the intended effect can be achieved in a simpler
+// manner with well-chosen explicit and implicit type conversions.
+#ifdef __cplusplus
+# define GET_PRIVATE(par, member) (par).GET_PRIVATE_ ## member()
+#else
+# define GET_PRIVATE(par, member) (par).member
+#endif
+
+static const double kLn2 = 0.6931471805599453;
+
+#ifdef __cplusplus
+} // namespace plink2
+#endif
+
+#endif // __PLINK2_BASE_H__
diff --git a/external_libs/pgenlib/include/plink2_base.o b/external_libs/pgenlib/include/plink2_base.o
new file mode 100644
index 0000000..8364da4
Binary files /dev/null and b/external_libs/pgenlib/include/plink2_base.o differ
diff --git a/external_libs/pgenlib/include/plink2_bits.cc b/external_libs/pgenlib/include/plink2_bits.cc
new file mode 100644
index 0000000..08ef9de
--- /dev/null
+++ b/external_libs/pgenlib/include/plink2_bits.cc
@@ -0,0 +1,2945 @@
+// This library is part of PLINK 2, copyright (C) 2005-2024 Shaun Purcell,
+// Christopher Chang.
+//
+// This library is free software: you can redistribute it and/or modify it
+// under the terms of the GNU Lesser General Public License as published by the
+// Free Software Foundation; either version 3 of the License, or (at your
+// option) any later version.
+//
+// This library is distributed in the hope that it will be useful, but WITHOUT
+// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+// FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+// for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this library. If not, see .
+
+
+#include "plink2_bits.h"
+
+#ifdef __cplusplus
+namespace plink2 {
+#endif
+
+#if defined(USE_SSE2) && !defined(USE_AVX2)
+void Pack32bTo16bMask(const void* words_vec, uintptr_t ct_32b, void* dest) {
+ // This is also competitive in the AVX2 case, but never quite beats the
+ // simple loop. (We'd want to enable a similar function for Ryzen,
+ // processing one 32-byte vector instead of two 16-byte vectors at a time in
+ // the main loop since _mm256_packus_epi16() doesn't do what we want.)
+ const VecW m1 = VCONST_W(kMask5555);
+# ifdef USE_SHUFFLE8
+ const VecW swap12 = vecw_setr8(
+ 0, 1, 4, 5, 2, 3, 6, 7,
+ 8, 9, 12, 13, 10, 11, 14, 15);
+# else
+ const VecW m2 = VCONST_W(kMask3333);
+# endif
+ const VecW m4 = VCONST_W(kMask0F0F);
+ const VecW m8 = VCONST_W(kMask00FF);
+ const VecW* words_valias = S_CAST(const VecW*, words_vec);
+ unsigned char* dest_uc = S_CAST(unsigned char*, dest);
+ for (uintptr_t vidx = 0; vidx != ct_32b; ++vidx) {
+ VecW vec_lo = vecw_loadu(&(words_valias[2 * vidx])) & m1;
+ VecW vec_hi = vecw_loadu(&(words_valias[2 * vidx + 1])) & m1;
+# ifdef USE_SHUFFLE8
+ // this right-shift-3 + shuffle shortcut saves two operations.
+ vec_lo = (vec_lo | vecw_srli(vec_lo, 3)) & m4;
+ vec_hi = (vec_hi | vecw_srli(vec_hi, 3)) & m4;
+ vec_lo = vecw_shuffle8(swap12, vec_lo);
+ vec_hi = vecw_shuffle8(swap12, vec_hi);
+# else
+ vec_lo = (vec_lo | vecw_srli(vec_lo, 1)) & m2;
+ vec_hi = (vec_hi | vecw_srli(vec_hi, 1)) & m2;
+ vec_lo = (vec_lo | vecw_srli(vec_lo, 2)) & m4;
+ vec_hi = (vec_hi | vecw_srli(vec_hi, 2)) & m4;
+# endif
+ vec_lo = vec_lo | vecw_srli(vec_lo, 4);
+ vec_hi = vec_hi | vecw_srli(vec_hi, 4);
+ const VecW vec_packed = vecw_gather_even(vec_lo, vec_hi, m8);
+ vecw_storeu(&(dest_uc[vidx * 16]), vec_packed);
+ }
+}
+#endif
+
+#ifdef __x86_64__
+VecW vecw_slli_variable_ct(VecW vv, uint32_t ct) {
+ return vecw_slli(vv, ct);
+}
+#else
+// Using a lookup table because NEON bit shift functions can only be called
+// with compile-time constants
+// https://eigen.tuxfamily.org/bz/show_bug.cgi?id=1631
+// https://github.com/VectorCamp/vectorscan/issues/21
+VecW vecw_slli_variable_ct(VecW vv, uint32_t ct) {
+ switch(ct) {
+ default: return vv;
+ case 1: return vecw_slli(vv, 1);
+ case 2: return vecw_slli(vv, 2);
+ case 3: return vecw_slli(vv, 3);
+ case 4: return vecw_slli(vv, 4);
+ case 5: return vecw_slli(vv, 5);
+ case 6: return vecw_slli(vv, 6);
+ case 7: return vecw_slli(vv, 7);
+ }
+}
+#endif
+
+void SetAllBits(uintptr_t ct, uintptr_t* bitarr) {
+ // leaves bits beyond the end unset
+ // ok for ct == 0
+ uintptr_t quotient = ct / kBitsPerWord;
+ uintptr_t remainder = ct % kBitsPerWord;
+ SetAllWArr(quotient, bitarr);
+ if (remainder) {
+ bitarr[quotient] = (k1LU << remainder) - k1LU;
+ }
+}
+
+void FillBitsNz(uintptr_t start_idx, uintptr_t end_idx, uintptr_t* bitarr) {
+ assert(end_idx > start_idx);
+ uintptr_t maj_start = start_idx / kBitsPerWord;
+ uintptr_t maj_end = end_idx / kBitsPerWord;
+ uintptr_t minor;
+ if (maj_start == maj_end) {
+ bitarr[maj_start] |= (k1LU << (end_idx % kBitsPerWord)) - (k1LU << (start_idx % kBitsPerWord));
+ } else {
+ bitarr[maj_start] |= ~((k1LU << (start_idx % kBitsPerWord)) - k1LU);
+ SetAllWArr(maj_end - maj_start - 1, &(bitarr[maj_start + 1]));
+ minor = end_idx % kBitsPerWord;
+ if (minor) {
+ bitarr[maj_end] |= (k1LU << minor) - k1LU;
+ }
+ }
+}
+
+void ClearBitsNz(uintptr_t start_idx, uintptr_t end_idx, uintptr_t* bitarr) {
+ assert(end_idx > start_idx);
+ uintptr_t maj_start = start_idx / kBitsPerWord;
+ uintptr_t maj_end = end_idx / kBitsPerWord;
+ uintptr_t minor;
+ if (maj_start == maj_end) {
+ bitarr[maj_start] &= ~((k1LU << (end_idx % kBitsPerWord)) - (k1LU << (start_idx % kBitsPerWord)));
+ } else {
+ bitarr[maj_start] = bzhi(bitarr[maj_start], start_idx % kBitsPerWord);
+ ZeroWArr(maj_end - maj_start - 1, &(bitarr[maj_start + 1]));
+ minor = end_idx % kBitsPerWord;
+ if (minor) {
+ bitarr[maj_end] &= ~((k1LU << minor) - k1LU);
+ }
+ }
+}
+
+void BitvecAnd(const uintptr_t* __restrict arg_bitvec, uintptr_t word_ct, uintptr_t* __restrict main_bitvec) {
+ // main_bitvec := main_bitvec AND arg_bitvec
+#ifdef USE_SSE2
+ VecW* main_bitvvec_iter = R_CAST(VecW*, main_bitvec);
+ const VecW* arg_bitvvec_iter = R_CAST(const VecW*, arg_bitvec);
+ const uintptr_t full_vec_ct = word_ct / kWordsPerVec;
+ // ok, retested this explicit unroll (Jun 2018) and it's still noticeably
+ // faster for small cases than the simple loop. sigh.
+ if (full_vec_ct & 1) {
+ *main_bitvvec_iter++ &= *arg_bitvvec_iter++;
+ }
+ if (full_vec_ct & 2) {
+ *main_bitvvec_iter++ &= *arg_bitvvec_iter++;
+ *main_bitvvec_iter++ &= *arg_bitvvec_iter++;
+ }
+ for (uintptr_t ulii = 3; ulii < full_vec_ct; ulii += 4) {
+ *main_bitvvec_iter++ &= *arg_bitvvec_iter++;
+ *main_bitvvec_iter++ &= *arg_bitvvec_iter++;
+ *main_bitvvec_iter++ &= *arg_bitvvec_iter++;
+ *main_bitvvec_iter++ &= *arg_bitvvec_iter++;
+ }
+# ifdef USE_AVX2
+ if (word_ct & 2) {
+ const uintptr_t base_idx = full_vec_ct * kWordsPerVec;
+ main_bitvec[base_idx] &= arg_bitvec[base_idx];
+ main_bitvec[base_idx + 1] &= arg_bitvec[base_idx + 1];
+ }
+# endif
+ if (word_ct & 1) {
+ main_bitvec[word_ct - 1] &= arg_bitvec[word_ct - 1];
+ }
+#else
+ for (uintptr_t widx = 0; widx != word_ct; ++widx) {
+ main_bitvec[widx] &= arg_bitvec[widx];
+ }
+#endif
+}
+
+void BitvecInvmask(const uintptr_t* __restrict exclude_bitvec, uintptr_t word_ct, uintptr_t* __restrict main_bitvec) {
+ // main_bitvec := main_bitvec ANDNOT exclude_bitvec
+ // note that this is the reverse of the _mm_andnot() operand order
+#ifdef USE_SSE2
+ VecW* main_bitvvec_iter = R_CAST(VecW*, main_bitvec);
+ const VecW* exclude_bitvvec_iter = R_CAST(const VecW*, exclude_bitvec);
+ const uintptr_t full_vec_ct = word_ct / kWordsPerVec;
+ if (full_vec_ct & 1) {
+ *main_bitvvec_iter = vecw_and_notfirst(*exclude_bitvvec_iter++, *main_bitvvec_iter);
+ ++main_bitvvec_iter;
+ }
+ if (full_vec_ct & 2) {
+ *main_bitvvec_iter = vecw_and_notfirst(*exclude_bitvvec_iter++, *main_bitvvec_iter);
+ ++main_bitvvec_iter;
+ *main_bitvvec_iter = vecw_and_notfirst(*exclude_bitvvec_iter++, *main_bitvvec_iter);
+ ++main_bitvvec_iter;
+ }
+ for (uintptr_t ulii = 3; ulii < full_vec_ct; ulii += 4) {
+ *main_bitvvec_iter = vecw_and_notfirst(*exclude_bitvvec_iter++, *main_bitvvec_iter);
+ ++main_bitvvec_iter;
+ *main_bitvvec_iter = vecw_and_notfirst(*exclude_bitvvec_iter++, *main_bitvvec_iter);
+ ++main_bitvvec_iter;
+ *main_bitvvec_iter = vecw_and_notfirst(*exclude_bitvvec_iter++, *main_bitvvec_iter);
+ ++main_bitvvec_iter;
+ *main_bitvvec_iter = vecw_and_notfirst(*exclude_bitvvec_iter++, *main_bitvvec_iter);
+ ++main_bitvvec_iter;
+ }
+# ifdef USE_AVX2
+ if (word_ct & 2) {
+ const uintptr_t base_idx = full_vec_ct * kWordsPerVec;
+ main_bitvec[base_idx] &= ~exclude_bitvec[base_idx];
+ main_bitvec[base_idx + 1] &= ~exclude_bitvec[base_idx + 1];
+ }
+# endif
+ if (word_ct & 1) {
+ main_bitvec[word_ct - 1] &= ~exclude_bitvec[word_ct - 1];
+ }
+#else
+ for (uintptr_t widx = 0; widx != word_ct; ++widx) {
+ main_bitvec[widx] &= ~exclude_bitvec[widx];
+ }
+#endif
+}
+
+void BitvecOr(const uintptr_t* __restrict arg_bitvec, uintptr_t word_ct, uintptr_t* main_bitvec) {
+ // main_bitvec := main_bitvec OR arg_bitvec
+#ifdef USE_SSE2
+ VecW* main_bitvvec_iter = R_CAST(VecW*, main_bitvec);
+ const VecW* arg_bitvvec_iter = R_CAST(const VecW*, arg_bitvec);
+ const uintptr_t full_vec_ct = word_ct / kWordsPerVec;
+ if (full_vec_ct & 1) {
+ *main_bitvvec_iter++ |= (*arg_bitvvec_iter++);
+ }
+ if (full_vec_ct & 2) {
+ *main_bitvvec_iter++ |= (*arg_bitvvec_iter++);
+ *main_bitvvec_iter++ |= (*arg_bitvvec_iter++);
+ }
+ for (uintptr_t ulii = 3; ulii < full_vec_ct; ulii += 4) {
+ *main_bitvvec_iter++ |= (*arg_bitvvec_iter++);
+ *main_bitvvec_iter++ |= (*arg_bitvvec_iter++);
+ *main_bitvvec_iter++ |= (*arg_bitvvec_iter++);
+ *main_bitvvec_iter++ |= (*arg_bitvvec_iter++);
+ }
+# ifdef USE_AVX2
+ if (word_ct & 2) {
+ const uintptr_t base_idx = full_vec_ct * kWordsPerVec;
+ main_bitvec[base_idx] |= arg_bitvec[base_idx];
+ main_bitvec[base_idx + 1] |= arg_bitvec[base_idx + 1];
+ }
+# endif
+ if (word_ct & 1) {
+ main_bitvec[word_ct - 1] |= arg_bitvec[word_ct - 1];
+ }
+#else
+ for (uintptr_t widx = 0; widx != word_ct; ++widx) {
+ main_bitvec[widx] |= arg_bitvec[widx];
+ }
+#endif
+}
+
+void BitvecInvert(uintptr_t word_ct, uintptr_t* main_bitvec) {
+#ifdef USE_SSE2
+ VecW* main_bitvvec_iter = R_CAST(VecW*, main_bitvec);
+ const uintptr_t full_vec_ct = word_ct / kWordsPerVec;
+ const VecW all1 = VCONST_W(~k0LU);
+ if (full_vec_ct & 1) {
+ *main_bitvvec_iter++ ^= all1;
+ }
+ if (full_vec_ct & 2) {
+ *main_bitvvec_iter++ ^= all1;
+ *main_bitvvec_iter++ ^= all1;
+ }
+ for (uintptr_t ulii = 3; ulii < full_vec_ct; ulii += 4) {
+ *main_bitvvec_iter++ ^= all1;
+ *main_bitvvec_iter++ ^= all1;
+ *main_bitvvec_iter++ ^= all1;
+ *main_bitvvec_iter++ ^= all1;
+ }
+# ifdef USE_AVX2
+ if (word_ct & 2) {
+ const uintptr_t base_idx = full_vec_ct * kWordsPerVec;
+ main_bitvec[base_idx] ^= ~k0LU;
+ main_bitvec[base_idx + 1] ^= ~k0LU;
+ }
+# endif
+ if (word_ct & 1) {
+ main_bitvec[word_ct - 1] ^= ~k0LU;
+ }
+#else
+ for (uintptr_t widx = 0; widx != word_ct; ++widx) {
+ main_bitvec[widx] ^= ~k0LU;
+ }
+#endif
+}
+
+void BitvecXorCopy(const uintptr_t* __restrict source1_bitvec, const uintptr_t* __restrict source2_bitvec, uintptr_t word_ct, uintptr_t* target_bitvec) {
+#ifdef USE_SSE2
+ VecW* target_bitvvec = R_CAST(VecW*, target_bitvec);
+ const VecW* source1_bitvvec = R_CAST(const VecW*, source1_bitvec);
+ const VecW* source2_bitvvec = R_CAST(const VecW*, source2_bitvec);
+ const uintptr_t full_vec_ct = word_ct / kWordsPerVec;
+ for (uintptr_t ulii = 0; ulii != full_vec_ct; ++ulii) {
+ target_bitvvec[ulii] = source1_bitvvec[ulii] ^ source2_bitvvec[ulii];
+ }
+# ifdef USE_AVX2
+ if (word_ct & 2) {
+ const uintptr_t base_idx = full_vec_ct * kWordsPerVec;
+ target_bitvec[base_idx] = source1_bitvec[base_idx] ^ source2_bitvec[base_idx];
+ target_bitvec[base_idx + 1] = source1_bitvec[base_idx + 1] ^ source2_bitvec[base_idx + 1];
+ }
+# endif
+ if (word_ct & 1) {
+ target_bitvec[word_ct - 1] = source1_bitvec[word_ct - 1] ^ source2_bitvec[word_ct - 1];
+ }
+#else
+ for (uintptr_t widx = 0; widx != word_ct; ++widx) {
+ target_bitvec[widx] = source1_bitvec[widx] ^ source2_bitvec[widx];
+ }
+#endif
+}
+
+void BitvecInvertCopy(const uintptr_t* __restrict source_bitvec, uintptr_t word_ct, uintptr_t* __restrict target_bitvec) {
+#ifdef USE_SSE2
+ const VecW* source_bitvvec_iter = R_CAST(const VecW*, source_bitvec);
+ VecW* target_bitvvec_iter = R_CAST(VecW*, target_bitvec);
+ const uintptr_t full_vec_ct = word_ct / kWordsPerVec;
+ const VecW all1 = VCONST_W(~k0LU);
+ // As of Apple clang 11, this manual unroll is no longer relevant. todo:
+ // check Linux performance, and remove all of these unrolls if perf is good
+ // enough without them.
+ if (full_vec_ct & 1) {
+ *target_bitvvec_iter++ = (*source_bitvvec_iter++) ^ all1;
+ }
+ if (full_vec_ct & 2) {
+ *target_bitvvec_iter++ = (*source_bitvvec_iter++) ^ all1;
+ *target_bitvvec_iter++ = (*source_bitvvec_iter++) ^ all1;
+ }
+ for (uintptr_t ulii = 3; ulii < full_vec_ct; ulii += 4) {
+ *target_bitvvec_iter++ = (*source_bitvvec_iter++) ^ all1;
+ *target_bitvvec_iter++ = (*source_bitvvec_iter++) ^ all1;
+ *target_bitvvec_iter++ = (*source_bitvvec_iter++) ^ all1;
+ *target_bitvvec_iter++ = (*source_bitvvec_iter++) ^ all1;
+ }
+# ifdef USE_AVX2
+ if (word_ct & 2) {
+ const uintptr_t base_idx = full_vec_ct * kWordsPerVec;
+ target_bitvec[base_idx] = ~source_bitvec[base_idx];
+ target_bitvec[base_idx + 1] = ~source_bitvec[base_idx + 1];
+ }
+# endif
+ if (word_ct & 1) {
+ target_bitvec[word_ct - 1] = ~source_bitvec[word_ct - 1];
+ }
+#else
+ for (uintptr_t widx = 0; widx != word_ct; ++widx) {
+ target_bitvec[widx] = ~source_bitvec[widx];
+ }
+#endif
+}
+
+uintptr_t AdvTo1Bit(const uintptr_t* bitarr, uintptr_t loc) {
+ const uintptr_t* bitarr_iter = &(bitarr[loc / kBitsPerWord]);
+ uintptr_t ulii = (*bitarr_iter) >> (loc % kBitsPerWord);
+ if (ulii) {
+ return loc + ctzw(ulii);
+ }
+ do {
+ ulii = *(++bitarr_iter);
+ } while (!ulii);
+ return S_CAST(uintptr_t, bitarr_iter - bitarr) * kBitsPerWord + ctzw(ulii);
+}
+
+uintptr_t AdvTo0Bit(const uintptr_t* bitarr, uintptr_t loc) {
+ const uintptr_t* bitarr_iter = &(bitarr[loc / kBitsPerWord]);
+ uintptr_t ulii = (~(*bitarr_iter)) >> (loc % kBitsPerWord);
+ if (ulii) {
+ return loc + ctzw(ulii);
+ }
+ do {
+ ulii = *(++bitarr_iter);
+ } while (ulii == ~k0LU);
+ return S_CAST(uintptr_t, bitarr_iter - bitarr) * kBitsPerWord + ctzw(~ulii);
+}
+
+/*
+uintptr_t NextNonmissingUnsafe(const uintptr_t* genoarr, uintptr_t loc) {
+ const uintptr_t* genoarr_iter = &(genoarr[loc / kBitsPerWordD2]);
+ uintptr_t ulii = (~(*genoarr_iter)) >> (2 * (loc % kBitsPerWordD2));
+ if (ulii) {
+ return loc + (ctzw(ulii) / 2);
+ }
+ do {
+ ulii = *(++genoarr_iter);
+ } while (ulii == ~k0LU);
+ return S_CAST(uintptr_t, genoarr_iter - genoarr) * kBitsPerWordD2 + (ctzw(~ulii) / 2);
+}
+*/
+
+uint32_t AdvBoundedTo1Bit(const uintptr_t* bitarr, uint32_t loc, uint32_t ceil) {
+ // safe version.
+ const uintptr_t* bitarr_iter = &(bitarr[loc / kBitsPerWord]);
+ uintptr_t ulii = (*bitarr_iter) >> (loc % kBitsPerWord);
+ if (ulii) {
+ const uint32_t rval = loc + ctzw(ulii);
+ return MINV(rval, ceil);
+ }
+ const uintptr_t* bitarr_last = &(bitarr[(ceil - 1) / kBitsPerWord]);
+ do {
+ if (bitarr_iter >= bitarr_last) {
+ return ceil;
+ }
+ ulii = *(++bitarr_iter);
+ } while (!ulii);
+ const uint32_t rval = S_CAST(uintptr_t, bitarr_iter - bitarr) * kBitsPerWord + ctzw(ulii);
+ return MINV(rval, ceil);
+}
+
+uintptr_t AdvBoundedTo0Bit(const uintptr_t* bitarr, uintptr_t loc, uintptr_t ceil) {
+ assert(ceil >= 1);
+ const uintptr_t* bitarr_ptr = &(bitarr[loc / kBitsPerWord]);
+ uintptr_t ulii = (~(*bitarr_ptr)) >> (loc % kBitsPerWord);
+ if (ulii) {
+ loc += ctzw(ulii);
+ return MINV(loc, ceil);
+ }
+ const uintptr_t* bitarr_last = &(bitarr[(ceil - 1) / kBitsPerWord]);
+ do {
+ if (bitarr_ptr >= bitarr_last) {
+ return ceil;
+ }
+ ulii = *(++bitarr_ptr);
+ } while (ulii == ~k0LU);
+ loc = S_CAST(uintptr_t, bitarr_ptr - bitarr) * kBitsPerWord + ctzw(~ulii);
+ return MINV(loc, ceil);
+}
+
+uintptr_t FindLast1BitBefore(const uintptr_t* bitarr, uintptr_t loc) {
+ // unlike the next_{un}set family, this always returns a STRICTLY earlier
+ // position
+ const uintptr_t* bitarr_iter = &(bitarr[loc / kBitsPerWord]);
+ const uint32_t remainder = loc % kBitsPerWord;
+ uintptr_t ulii;
+ if (remainder) {
+ ulii = bzhi(*bitarr_iter, remainder);
+ if (ulii) {
+ return loc - remainder + bsrw(ulii);
+ }
+ }
+ do {
+ ulii = *(--bitarr_iter);
+ } while (!ulii);
+ return S_CAST(uintptr_t, bitarr_iter - bitarr) * kBitsPerWord + bsrw(ulii);
+}
+
+#ifndef NO_UNALIGNED
+uint32_t AllBytesAreX(const unsigned char* bytes, unsigned char match, uintptr_t byte_ct) {
+ if (byte_ct < kBytesPerWord) {
+ for (uint32_t uii = 0; uii != byte_ct; ++uii) {
+ if (bytes[uii] != match) {
+ return 0;
+ }
+ }
+ return 1;
+ }
+ const uintptr_t* bytes_alias = R_CAST(const uintptr_t*, bytes);
+ const uintptr_t word_match = S_CAST(uintptr_t, match) * kMask0101;
+ uintptr_t word_ct_m1 = (byte_ct - 1) / kBytesPerWord;
+ // todo: try movemask in AVX2 case
+ for (uintptr_t widx = 0; widx != word_ct_m1; ++widx) {
+ if (bytes_alias[widx] != word_match) {
+ return 0;
+ }
+ }
+ const uintptr_t last_word = *R_CAST(const uintptr_t*, &(bytes[byte_ct - kBytesPerWord]));
+ if (last_word != word_match) {
+ return 0;
+ }
+ return 1;
+}
+#else // NO_UNALIGNED
+uint32_t AllBytesAreX(const unsigned char* bytes, unsigned char match, uintptr_t byte_ct) {
+ if (byte_ct < 2 * kBytesPerWord - 1) {
+ // use simple loop instead of main algorithm unless byte_ct guarantees
+ // fullword_ct >= 1
+ for (uint32_t uii = 0; uii != byte_ct; ++uii) {
+ if (bytes[uii] != match) {
+ return 0;
+ }
+ }
+ return 1;
+ }
+ // todo: try movemask in AVX2 case
+ const uintptr_t* bytes_alias;
+ const uint32_t lead_byte_ct = AlignKToW(bytes, &bytes_alias);
+ for (uint32_t uii = 0; uii != lead_byte_ct; ++uii) {
+ if (bytes[uii] != match) {
+ return 0;
+ }
+ }
+ bytes = &(bytes[lead_byte_ct]);
+ byte_ct -= lead_byte_ct;
+ const uintptr_t fullword_ct = byte_ct / kBytesPerWord;
+ const uintptr_t word_match = S_CAST(uintptr_t, match) * kMask0101;
+ for (uintptr_t widx = 0; widx != fullword_ct; ++widx) {
+ if (bytes_alias[widx] != word_match) {
+ return 0;
+ }
+ }
+ for (uintptr_t ulii = fullword_ct * kBytesPerWord; ulii != byte_ct; ++ulii) {
+ if (bytes[ulii] != match) {
+ return 0;
+ }
+ }
+ return 1;
+}
+#endif
+
+#ifdef USE_AVX2
+// void CopyBitarrSubsetEx(const uintptr_t* __restrict raw_bitarr, const uintptr_t* __restrict subset_mask, uint32_t bit_idx_start, uint32_t output_bit_idx_end, uintptr_t* __restrict output_bitarr) {
+void CopyBitarrSubset(const uintptr_t* __restrict raw_bitarr, const uintptr_t* __restrict subset_mask, uint32_t output_bit_idx_end, uintptr_t* __restrict output_bitarr) {
+ const uint32_t output_bit_idx_end_lowbits = output_bit_idx_end % kBitsPerWord;
+ uintptr_t* output_bitarr_iter = output_bitarr;
+ uintptr_t* output_bitarr_last = &(output_bitarr[output_bit_idx_end / kBitsPerWord]);
+ uintptr_t cur_output_word = 0;
+ uint32_t read_widx = UINT32_MAX; // deliberate overflow
+ uint32_t write_idx_lowbits = 0;
+ while ((output_bitarr_iter != output_bitarr_last) || (write_idx_lowbits != output_bit_idx_end_lowbits)) {
+ uintptr_t cur_mask_word;
+ // sparse subset_mask optimization
+ // guaranteed to terminate since there's at least one more set bit
+ do {
+ cur_mask_word = subset_mask[++read_widx];
+ } while (!cur_mask_word);
+ uintptr_t extracted_bits = raw_bitarr[read_widx];
+ uint32_t set_bit_ct = kBitsPerWord;
+ if (cur_mask_word != ~k0LU) {
+ extracted_bits = _pext_u64(extracted_bits, cur_mask_word);
+ set_bit_ct = PopcountWord(cur_mask_word);
+ }
+ cur_output_word |= extracted_bits << write_idx_lowbits;
+ const uint32_t new_write_idx_lowbits = write_idx_lowbits + set_bit_ct;
+ if (new_write_idx_lowbits >= kBitsPerWord) {
+ *output_bitarr_iter++ = cur_output_word;
+ // ...and these are the bits that fell off
+ // bugfix: unsafe to right-shift 64
+ if (write_idx_lowbits) {
+ cur_output_word = extracted_bits >> (kBitsPerWord - write_idx_lowbits);
+ } else {
+ cur_output_word = 0;
+ }
+ }
+ write_idx_lowbits = new_write_idx_lowbits % kBitsPerWord;
+ }
+ if (write_idx_lowbits) {
+ *output_bitarr_iter = cur_output_word;
+ }
+}
+
+# ifdef NO_UNALIGNED
+void CopyBitarrSubsetToUnaligned(const uintptr_t* __restrict raw_bitarr, const uintptr_t* __restrict subset_mask, uint32_t output_bit_idx_end, void* __restrict output_bitarr) {
+ const uint32_t output_bit_idx_end_lowbits = output_bit_idx_end % kBitsPerWord;
+ unsigned char* output_bitarr_iter = S_CAST(unsigned char*, output_bitarr);
+ unsigned char* output_bitarr_last = &(output_bitarr_iter[(output_bit_idx_end / kBitsPerWord) * kBytesPerWord]);
+ uintptr_t cur_output_word = 0;
+ uint32_t read_widx = UINT32_MAX; // deliberate overflow
+ uint32_t write_idx_lowbits = 0;
+ while ((output_bitarr_iter != output_bitarr_last) || (write_idx_lowbits != output_bit_idx_end_lowbits)) {
+ uintptr_t cur_mask_word;
+ // sparse subset_mask optimization
+ // guaranteed to terminate since there's at least one more set bit
+ do {
+ cur_mask_word = subset_mask[++read_widx];
+ } while (!cur_mask_word);
+ uintptr_t extracted_bits = raw_bitarr[read_widx];
+ uint32_t set_bit_ct = kBitsPerWord;
+ if (cur_mask_word != ~k0LU) {
+ extracted_bits = _pext_u64(extracted_bits, cur_mask_word);
+ set_bit_ct = PopcountWord(cur_mask_word);
+ }
+ cur_output_word |= extracted_bits << write_idx_lowbits;
+ const uint32_t new_write_idx_lowbits = write_idx_lowbits + set_bit_ct;
+ if (new_write_idx_lowbits >= kBitsPerWord) {
+ AppendW(cur_output_word, &output_bitarr_iter);
+ // ...and these are the bits that fell off
+ // bugfix: unsafe to right-shift 64
+ if (write_idx_lowbits) {
+ cur_output_word = extracted_bits >> (kBitsPerWord - write_idx_lowbits);
+ } else {
+ cur_output_word = 0;
+ }
+ }
+ write_idx_lowbits = new_write_idx_lowbits % kBitsPerWord;
+ }
+ if (write_idx_lowbits) {
+ CopyToUnalignedW(output_bitarr_iter, &cur_output_word);
+ }
+}
+# endif
+
+uintptr_t PopcountVecsAvx2(const VecW* bit_vvec, uintptr_t vec_ct) {
+ // See popcnt_avx2() in libpopcnt.
+ VecW cnt = vecw_setzero();
+ VecW ones = vecw_setzero();
+ VecW twos = vecw_setzero();
+ VecW fours = vecw_setzero();
+ VecW eights = vecw_setzero();
+ VecW prev_sad_result = vecw_setzero();
+ const uintptr_t vec_ct_a16 = RoundDownPow2(vec_ct, 16);
+ for (uintptr_t vec_idx = 0; vec_idx != vec_ct_a16; vec_idx += 16) {
+ VecW twos_a = Csa256(bit_vvec[vec_idx + 0], bit_vvec[vec_idx + 1], &ones);
+ VecW twos_b = Csa256(bit_vvec[vec_idx + 2], bit_vvec[vec_idx + 3], &ones);
+ VecW fours_a = Csa256(twos_a, twos_b, &twos);
+
+ twos_a = Csa256(bit_vvec[vec_idx + 4], bit_vvec[vec_idx + 5], &ones);
+ twos_b = Csa256(bit_vvec[vec_idx + 6], bit_vvec[vec_idx + 7], &ones);
+ VecW fours_b = Csa256(twos_a, twos_b, &twos);
+ const VecW eights_a = Csa256(fours_a, fours_b, &fours);
+
+ twos_a = Csa256(bit_vvec[vec_idx + 8], bit_vvec[vec_idx + 9], &ones);
+ twos_b = Csa256(bit_vvec[vec_idx + 10], bit_vvec[vec_idx + 11], &ones);
+ fours_a = Csa256(twos_a, twos_b, &twos);
+
+ twos_a = Csa256(bit_vvec[vec_idx + 12], bit_vvec[vec_idx + 13], &ones);
+ twos_b = Csa256(bit_vvec[vec_idx + 14], bit_vvec[vec_idx + 15], &ones);
+ fours_b = Csa256(twos_a, twos_b, &twos);
+ const VecW eights_b = Csa256(fours_a, fours_b, &fours);
+ const VecW sixteens = Csa256(eights_a, eights_b, &eights);
+ cnt = cnt + prev_sad_result;
+ // work around high SAD latency
+ prev_sad_result = PopcountVecAvx2(sixteens);
+ }
+ bit_vvec = &(bit_vvec[vec_ct_a16]);
+ const uintptr_t remainder = vec_ct % 16;
+ cnt = cnt + prev_sad_result;
+ if (remainder < 12) {
+ cnt = vecw_slli(cnt, 4);
+ if (remainder) {
+ VecW popcnt1_acc = vecw_setzero();
+ VecW popcnt2_acc = vecw_setzero();
+ const VecW lookup1 = vecw_setr8(4, 5, 5, 6, 5, 6, 6, 7,
+ 5, 6, 6, 7, 6, 7, 7, 8);
+ const VecW lookup2 = vecw_setr8(4, 3, 3, 2, 3, 2, 2, 1,
+ 3, 2, 2, 1, 2, 1, 1, 0);
+
+ const VecW m4 = VCONST_W(kMask0F0F);
+ for (uintptr_t vec_idx = 0; vec_idx != remainder; ++vec_idx) {
+ const VecW vv = bit_vvec[vec_idx];
+ const VecW lo = vv & m4;
+ const VecW hi = vecw_srli(vv, 4) & m4;
+ popcnt1_acc = popcnt1_acc + vecw_shuffle8(lookup1, lo);
+ popcnt2_acc = popcnt2_acc + vecw_shuffle8(lookup2, hi);
+ }
+ cnt = cnt + vecw_sad(popcnt1_acc, popcnt2_acc);
+ }
+ } else {
+ VecW twos_a = Csa256(bit_vvec[0], bit_vvec[1], &ones);
+ VecW twos_b = Csa256(bit_vvec[2], bit_vvec[3], &ones);
+ VecW fours_a = Csa256(twos_a, twos_b, &twos);
+ twos_a = Csa256(bit_vvec[4], bit_vvec[5], &ones);
+ twos_b = Csa256(bit_vvec[6], bit_vvec[7], &ones);
+ VecW fours_b = Csa256(twos_a, twos_b, &twos);
+ const VecW eights_a = Csa256(fours_a, fours_b, &fours);
+ twos_a = Csa256(bit_vvec[8], bit_vvec[9], &ones);
+ twos_b = Csa256(bit_vvec[10], bit_vvec[11], &ones);
+ fours_a = Csa256(twos_a, twos_b, &twos);
+ twos_a = vecw_setzero();
+ if (remainder & 2) {
+ twos_a = Csa256(bit_vvec[12], bit_vvec[13], &ones);
+ }
+ twos_b = vecw_setzero();
+ if (remainder & 1) {
+ twos_b = CsaOne256(bit_vvec[remainder - 1], &ones);
+ }
+ fours_b = Csa256(twos_a, twos_b, &twos);
+ const VecW eights_b = Csa256(fours_a, fours_b, &fours);
+ const VecW sixteens = Csa256(eights_a, eights_b, &eights);
+ cnt = cnt + PopcountVecAvx2(sixteens);
+ cnt = vecw_slli(cnt, 4);
+ }
+ // Appears to be counterproductive to put multiple SAD instructions in
+ // flight.
+ // Compiler is smart enough that it's pointless to manually inline
+ // PopcountVecAvx2. (Tried combining the 4 SAD calls into one, didn't help.)
+ cnt = cnt + vecw_slli(PopcountVecAvx2(eights), 3);
+ cnt = cnt + vecw_slli(PopcountVecAvx2(fours), 2);
+ cnt = cnt + vecw_slli(PopcountVecAvx2(twos), 1);
+ cnt = cnt + PopcountVecAvx2(ones);
+ return HsumW(cnt);
+}
+
+uintptr_t PopcountVecsAvx2Intersect(const VecW* __restrict vvec1_iter, const VecW* __restrict vvec2_iter, uintptr_t vec_ct) {
+ // See popcnt_avx2() in libpopcnt. vec_ct must be a multiple of 16.
+ VecW cnt = vecw_setzero();
+ VecW ones = vecw_setzero();
+ VecW twos = vecw_setzero();
+ VecW fours = vecw_setzero();
+ VecW eights = vecw_setzero();
+ for (uintptr_t vec_idx = 0; vec_idx < vec_ct; vec_idx += 16) {
+ VecW twos_a = Csa256(vvec1_iter[vec_idx + 0] & vvec2_iter[vec_idx + 0], vvec1_iter[vec_idx + 1] & vvec2_iter[vec_idx + 1], &ones);
+ VecW twos_b = Csa256(vvec1_iter[vec_idx + 2] & vvec2_iter[vec_idx + 2], vvec1_iter[vec_idx + 3] & vvec2_iter[vec_idx + 3], &ones);
+ VecW fours_a = Csa256(twos_a, twos_b, &twos);
+
+ twos_a = Csa256(vvec1_iter[vec_idx + 4] & vvec2_iter[vec_idx + 4], vvec1_iter[vec_idx + 5] & vvec2_iter[vec_idx + 5], &ones);
+ twos_b = Csa256(vvec1_iter[vec_idx + 6] & vvec2_iter[vec_idx + 6], vvec1_iter[vec_idx + 7] & vvec2_iter[vec_idx + 7], &ones);
+ VecW fours_b = Csa256(twos_a, twos_b, &twos);
+ const VecW eights_a = Csa256(fours_a, fours_b, &fours);
+
+ twos_a = Csa256(vvec1_iter[vec_idx + 8] & vvec2_iter[vec_idx + 8], vvec1_iter[vec_idx + 9] & vvec2_iter[vec_idx + 9], &ones);
+ twos_b = Csa256(vvec1_iter[vec_idx + 10] & vvec2_iter[vec_idx + 10], vvec1_iter[vec_idx + 11] & vvec2_iter[vec_idx + 11], &ones);
+ fours_a = Csa256(twos_a, twos_b, &twos);
+
+ twos_a = Csa256(vvec1_iter[vec_idx + 12] & vvec2_iter[vec_idx + 12], vvec1_iter[vec_idx + 13] & vvec2_iter[vec_idx + 13], &ones);
+ twos_b = Csa256(vvec1_iter[vec_idx + 14] & vvec2_iter[vec_idx + 14], vvec1_iter[vec_idx + 15] & vvec2_iter[vec_idx + 15], &ones);
+ fours_b = Csa256(twos_a, twos_b, &twos);
+ const VecW eights_b = Csa256(fours_a, fours_b, &fours);
+ const VecW sixteens = Csa256(eights_a, eights_b, &eights);
+ cnt = cnt + PopcountVecAvx2(sixteens);
+ }
+ cnt = vecw_slli(cnt, 4);
+ cnt = cnt + vecw_slli(PopcountVecAvx2(eights), 3);
+ cnt = cnt + vecw_slli(PopcountVecAvx2(fours), 2);
+ cnt = cnt + vecw_slli(PopcountVecAvx2(twos), 1);
+ cnt = cnt + PopcountVecAvx2(ones);
+ return HsumW(cnt);
+}
+
+uintptr_t PopcountWordsIntersect(const uintptr_t* __restrict bitvec1_iter, const uintptr_t* __restrict bitvec2_iter, uintptr_t word_ct) {
+ const uintptr_t* bitvec1_end = &(bitvec1_iter[word_ct]);
+ const uintptr_t block_ct = word_ct / (16 * kWordsPerVec);
+ uintptr_t tot = 0;
+ if (block_ct) {
+ tot = PopcountVecsAvx2Intersect(R_CAST(const VecW*, bitvec1_iter), R_CAST(const VecW*, bitvec2_iter), block_ct * 16);
+ bitvec1_iter = &(bitvec1_iter[block_ct * (16 * kWordsPerVec)]);
+ bitvec2_iter = &(bitvec2_iter[block_ct * (16 * kWordsPerVec)]);
+ }
+ while (bitvec1_iter < bitvec1_end) {
+ tot += PopcountWord((*bitvec1_iter++) & (*bitvec2_iter++));
+ }
+ return tot;
+}
+
+uintptr_t PopcountVecsAvx2Xor(const VecW* __restrict vvec1_iter, const VecW* __restrict vvec2_iter, uintptr_t vec_ct) {
+ // vec_ct must be a multiple of 16.
+ VecW cnt = vecw_setzero();
+ VecW ones = vecw_setzero();
+ VecW twos = vecw_setzero();
+ VecW fours = vecw_setzero();
+ VecW eights = vecw_setzero();
+ for (uintptr_t vec_idx = 0; vec_idx < vec_ct; vec_idx += 16) {
+ VecW twos_a = Csa256(vvec1_iter[vec_idx + 0] ^ vvec2_iter[vec_idx + 0], vvec1_iter[vec_idx + 1] ^ vvec2_iter[vec_idx + 1], &ones);
+ VecW twos_b = Csa256(vvec1_iter[vec_idx + 2] ^ vvec2_iter[vec_idx + 2], vvec1_iter[vec_idx + 3] ^ vvec2_iter[vec_idx + 3], &ones);
+ VecW fours_a = Csa256(twos_a, twos_b, &twos);
+
+ twos_a = Csa256(vvec1_iter[vec_idx + 4] ^ vvec2_iter[vec_idx + 4], vvec1_iter[vec_idx + 5] ^ vvec2_iter[vec_idx + 5], &ones);
+ twos_b = Csa256(vvec1_iter[vec_idx + 6] ^ vvec2_iter[vec_idx + 6], vvec1_iter[vec_idx + 7] ^ vvec2_iter[vec_idx + 7], &ones);
+ VecW fours_b = Csa256(twos_a, twos_b, &twos);
+ const VecW eights_a = Csa256(fours_a, fours_b, &fours);
+
+ twos_a = Csa256(vvec1_iter[vec_idx + 8] ^ vvec2_iter[vec_idx + 8], vvec1_iter[vec_idx + 9] ^ vvec2_iter[vec_idx + 9], &ones);
+ twos_b = Csa256(vvec1_iter[vec_idx + 10] ^ vvec2_iter[vec_idx + 10], vvec1_iter[vec_idx + 11] ^ vvec2_iter[vec_idx + 11], &ones);
+ fours_a = Csa256(twos_a, twos_b, &twos);
+
+ twos_a = Csa256(vvec1_iter[vec_idx + 12] ^ vvec2_iter[vec_idx + 12], vvec1_iter[vec_idx + 13] ^ vvec2_iter[vec_idx + 13], &ones);
+ twos_b = Csa256(vvec1_iter[vec_idx + 14] ^ vvec2_iter[vec_idx + 14], vvec1_iter[vec_idx + 15] ^ vvec2_iter[vec_idx + 15], &ones);
+ fours_b = Csa256(twos_a, twos_b, &twos);
+ const VecW eights_b = Csa256(fours_a, fours_b, &fours);
+ const VecW sixteens = Csa256(eights_a, eights_b, &eights);
+ cnt = cnt + PopcountVecAvx2(sixteens);
+ }
+ cnt = vecw_slli(cnt, 4);
+ cnt = cnt + vecw_slli(PopcountVecAvx2(eights), 3);
+ cnt = cnt + vecw_slli(PopcountVecAvx2(fours), 2);
+ cnt = cnt + vecw_slli(PopcountVecAvx2(twos), 1);
+ cnt = cnt + PopcountVecAvx2(ones);
+ return HsumW(cnt);
+}
+
+uintptr_t PopcountWordsXor(const uintptr_t* __restrict bitvec1_iter, const uintptr_t* __restrict bitvec2_iter, uintptr_t word_ct) {
+ const uintptr_t* bitvec1_end = &(bitvec1_iter[word_ct]);
+ const uintptr_t block_ct = word_ct / (16 * kWordsPerVec);
+ uintptr_t tot = 0;
+ if (block_ct) {
+ tot = PopcountVecsAvx2Xor(R_CAST(const VecW*, bitvec1_iter), R_CAST(const VecW*, bitvec2_iter), block_ct * 16);
+ bitvec1_iter = &(bitvec1_iter[block_ct * (16 * kWordsPerVec)]);
+ bitvec2_iter = &(bitvec2_iter[block_ct * (16 * kWordsPerVec)]);
+ }
+ while (bitvec1_iter < bitvec1_end) {
+ tot += PopcountWord((*bitvec1_iter++) ^ (*bitvec2_iter++));
+ }
+ return tot;
+}
+
+/*
+uintptr_t PopcountVecsAvx2Intersect3(const VecW* __restrict vvec1_iter, const VecW* __restrict vvec2_iter, const VecW* __restrict vvec3_iter, uintptr_t vec_ct) {
+ VecW cnt = vecw_setzero();
+ VecW ones = vecw_setzero();
+ VecW twos = vecw_setzero();
+ VecW fours = vecw_setzero();
+ VecW eights = vecw_setzero();
+ for (uintptr_t vec_idx = 0; vec_idx < vec_ct; vec_idx += 16) {
+ VecW twos_a = Csa256(vvec1_iter[vec_idx + 0] & vvec2_iter[vec_idx + 0] & vvec3_iter[vec_idx + 0], vvec1_iter[vec_idx + 1] & vvec2_iter[vec_idx + 1] & vvec3_iter[vec_idx + 1], &ones);
+ VecW twos_b = Csa256(vvec1_iter[vec_idx + 2] & vvec2_iter[vec_idx + 2] & vvec3_iter[vec_idx + 2], vvec1_iter[vec_idx + 3] & vvec2_iter[vec_idx + 3] & vvec3_iter[vec_idx + 3], &ones);
+ VecW fours_a = Csa256(twos_a, twos_b, &twos);
+
+ twos_a = Csa256(vvec1_iter[vec_idx + 4] & vvec2_iter[vec_idx + 4] & vvec3_iter[vec_idx + 4], vvec1_iter[vec_idx + 5] & vvec2_iter[vec_idx + 5] & vvec3_iter[vec_idx + 5], &ones);
+ twos_b = Csa256(vvec1_iter[vec_idx + 6] & vvec2_iter[vec_idx + 6] & vvec3_iter[vec_idx + 6], vvec1_iter[vec_idx + 7] & vvec2_iter[vec_idx + 7] & vvec3_iter[vec_idx + 7], &ones);
+ VecW fours_b = Csa256(twos_a, twos_b, &twos);
+ const VecW eights_a = Csa256(fours_a, fours_b, &fours);
+
+ twos_a = Csa256(vvec1_iter[vec_idx + 8] & vvec2_iter[vec_idx + 8] & vvec3_iter[vec_idx + 8], vvec1_iter[vec_idx + 9] & vvec2_iter[vec_idx + 9] & vvec3_iter[vec_idx + 9], &ones);
+ twos_b = Csa256(vvec1_iter[vec_idx + 10] & vvec2_iter[vec_idx + 10] & vvec3_iter[vec_idx + 10], vvec1_iter[vec_idx + 11] & vvec2_iter[vec_idx + 11] & vvec3_iter[vec_idx + 11], &ones);
+ fours_a = Csa256(twos_a, twos_b, &twos);
+
+ twos_a = Csa256(vvec1_iter[vec_idx + 12] & vvec2_iter[vec_idx + 12] & vvec3_iter[vec_idx + 12], vvec1_iter[vec_idx + 13] & vvec2_iter[vec_idx + 13] & vvec3_iter[vec_idx + 13], &ones);
+ twos_b = Csa256(vvec1_iter[vec_idx + 14] & vvec2_iter[vec_idx + 14] & vvec3_iter[vec_idx + 14], vvec1_iter[vec_idx + 15] & vvec2_iter[vec_idx + 15] & vvec3_iter[vec_idx + 15], &ones);
+ fours_b = Csa256(twos_a, twos_b, &twos);
+ const VecW eights_b = Csa256(fours_a, fours_b, &fours);
+ const VecW sixteens = Csa256(eights_a, eights_b, &eights);
+ cnt = cnt + PopcountVecAvx2(sixteens);
+ }
+ cnt = vecw_slli(cnt, 4);
+ cnt = cnt + vecw_slli(PopcountVecAvx2(eights), 3);
+ cnt = cnt + vecw_slli(PopcountVecAvx2(fours), 2);
+ cnt = cnt + vecw_slli(PopcountVecAvx2(twos), 1);
+ cnt = cnt + PopcountVecAvx2(ones);
+ return HsumW(cnt);
+}
+
+uintptr_t PopcountWordsIntersect3(const uintptr_t* __restrict bitvec1_iter, const uintptr_t* __restrict bitvec2_iter, const uintptr_t* __restrict bitvec3_iter, uintptr_t word_ct) {
+ const uintptr_t* bitvec1_end = &(bitvec1_iter[word_ct]);
+ const uintptr_t block_ct = word_ct / (16 * kWordsPerVec);
+ uintptr_t tot = 0;
+ if (block_ct) {
+ tot = PopcountVecsAvx2Intersect3(R_CAST(const VecW*, bitvec1_iter), R_CAST(const VecW*, bitvec2_iter), R_CAST(const VecW*, bitvec3_iter), block_ct * 16);
+ bitvec1_iter = &(bitvec1_iter[block_ct * (16 * kWordsPerVec)]);
+ bitvec2_iter = &(bitvec2_iter[block_ct * (16 * kWordsPerVec)]);
+ bitvec3_iter = &(bitvec3_iter[block_ct * (16 * kWordsPerVec)]);
+ }
+ while (bitvec1_iter < bitvec1_end) {
+ tot += PopcountWord((*bitvec1_iter++) & (*bitvec2_iter++) & (*bitvec3_iter++));
+ }
+ return tot;
+}
+*/
+
+void ExpandBytearr(const void* __restrict compact_bitarr, const uintptr_t* __restrict expand_mask, uint32_t word_ct, uint32_t expand_size, uint32_t read_start_bit, uintptr_t* __restrict target) {
+ const uint32_t expand_sizex_m1 = expand_size + read_start_bit - 1;
+ const uint32_t leading_byte_ct = 1 + (expand_sizex_m1 % kBitsPerWord) / CHAR_BIT;
+ uintptr_t compact_word = SubwordLoad(compact_bitarr, leading_byte_ct) >> read_start_bit;
+ const unsigned char* compact_bitarr_biter = &(S_CAST(const unsigned char*, compact_bitarr)[leading_byte_ct]);
+ uint32_t compact_idx_lowbits = read_start_bit + CHAR_BIT * (sizeof(intptr_t) - leading_byte_ct);
+ for (uint32_t widx = 0; widx != word_ct; ++widx) {
+ const uintptr_t mask_word = expand_mask[widx];
+ uintptr_t write_word = 0;
+ if (mask_word) {
+ const uint32_t mask_set_ct = PopcountWord(mask_word);
+ uint32_t next_compact_idx_lowbits = compact_idx_lowbits + mask_set_ct;
+ if (next_compact_idx_lowbits <= kBitsPerWord) {
+ write_word = _pdep_u64(compact_word, mask_word);
+ if (mask_set_ct != kBitsPerWord) {
+ compact_word = compact_word >> mask_set_ct;
+ } else {
+ // avoid nasal demons
+ compact_word = 0;
+ }
+ } else {
+ uintptr_t next_compact_word;
+ CopyFromUnalignedIncrW(&next_compact_word, &compact_bitarr_biter);
+ next_compact_idx_lowbits -= kBitsPerWord;
+ compact_word |= next_compact_word << (kBitsPerWord - compact_idx_lowbits);
+ write_word = _pdep_u64(compact_word, mask_word);
+ if (next_compact_idx_lowbits != kBitsPerWord) {
+ compact_word = next_compact_word >> next_compact_idx_lowbits;
+ } else {
+ compact_word = 0;
+ }
+ }
+ compact_idx_lowbits = next_compact_idx_lowbits;
+ }
+ target[widx] = write_word;
+ }
+}
+
+void ExpandThenSubsetBytearr(const void* __restrict compact_bitarr, const uintptr_t* __restrict expand_mask, const uintptr_t* __restrict subset_mask, uint32_t expand_size, uint32_t subset_size, uint32_t read_start_bit, uintptr_t* __restrict target) {
+ const uint32_t expand_sizex_m1 = expand_size + read_start_bit - 1;
+ const uint32_t leading_byte_ct = 1 + (expand_sizex_m1 % kBitsPerWord) / CHAR_BIT;
+ uintptr_t compact_word = SubwordLoad(compact_bitarr, leading_byte_ct) >> read_start_bit;
+ const unsigned char* compact_bitarrb = &(S_CAST(const unsigned char*, compact_bitarr)[leading_byte_ct]);
+ uint32_t compact_widx = UINT32_MAX; // deliberate overflow
+ uint32_t compact_idx_lowbits = read_start_bit + CHAR_BIT * (sizeof(uintptr_t) - leading_byte_ct);
+ const uint32_t subset_size_lowbits = subset_size % kBitsPerWord;
+ uintptr_t* target_iter = target;
+ uintptr_t* target_last = &(target[subset_size / kBitsPerWord]);
+ uintptr_t cur_output_word = 0;
+ uint32_t read_widx = UINT32_MAX; // deliberate overflow
+ uint32_t write_idx_lowbits = 0;
+
+ // bugfix (5 Feb 2018): missed a case in sparse subset_mask optimization
+ uint32_t expand_bit_ct_skip = 0;
+ while ((target_iter != target_last) || (write_idx_lowbits != subset_size_lowbits)) {
+ uintptr_t expand_word;
+ uintptr_t subset_word;
+ uint32_t expand_bit_ct;
+ while (1) {
+ ++read_widx;
+ expand_word = expand_mask[read_widx];
+ subset_word = subset_mask[read_widx];
+ expand_bit_ct = PopcountWord(expand_word);
+ if (subset_word) {
+ break;
+ }
+ expand_bit_ct_skip += expand_bit_ct;
+ }
+ uintptr_t extracted_bits = 0;
+ const uint32_t set_bit_ct = PopcountWord(subset_word);
+ if (expand_word & subset_word) {
+ // lazy load
+ compact_idx_lowbits += expand_bit_ct_skip;
+ if (compact_idx_lowbits >= kBitsPerWord) {
+ compact_widx += compact_idx_lowbits / kBitsPerWord;
+ compact_idx_lowbits = compact_idx_lowbits % kBitsPerWord;
+ CopyFromUnalignedOffsetW(&compact_word, compact_bitarrb, compact_widx);
+ compact_word >>= compact_idx_lowbits;
+ } else {
+ compact_word = compact_word >> expand_bit_ct_skip;
+ }
+ uint32_t next_compact_idx_lowbits = compact_idx_lowbits + expand_bit_ct;
+ uintptr_t expanded_bits;
+ if (next_compact_idx_lowbits <= kBitsPerWord) {
+ expanded_bits = _pdep_u64(compact_word, expand_word);
+ if (expand_bit_ct != kBitsPerWord) {
+ compact_word = compact_word >> expand_bit_ct;
+ }
+ } else {
+ ++compact_widx;
+ uintptr_t next_compact_word;
+ CopyFromUnalignedOffsetW(&next_compact_word, compact_bitarrb, compact_widx);
+ next_compact_idx_lowbits -= kBitsPerWord;
+ compact_word |= next_compact_word << (kBitsPerWord - compact_idx_lowbits);
+ expanded_bits = _pdep_u64(compact_word, expand_word);
+ if (next_compact_idx_lowbits != kBitsPerWord) {
+ compact_word = next_compact_word >> next_compact_idx_lowbits;
+ }
+ }
+ extracted_bits = _pext_u64(expanded_bits, subset_word);
+ compact_idx_lowbits = next_compact_idx_lowbits;
+ cur_output_word |= extracted_bits << write_idx_lowbits;
+ expand_bit_ct_skip = 0;
+ } else {
+ expand_bit_ct_skip += expand_bit_ct;
+ }
+ const uint32_t new_write_idx_lowbits = write_idx_lowbits + set_bit_ct;
+ if (new_write_idx_lowbits >= kBitsPerWord) {
+ *target_iter++ = cur_output_word;
+ // ...and these are the bits that fell off
+ if (write_idx_lowbits) {
+ cur_output_word = extracted_bits >> (kBitsPerWord - write_idx_lowbits);
+ } else {
+ cur_output_word = 0;
+ }
+ }
+ write_idx_lowbits = new_write_idx_lowbits % kBitsPerWord;
+ }
+ if (write_idx_lowbits) {
+ *target_iter = cur_output_word;
+ }
+}
+
+void ExpandBytearrNested(const void* __restrict compact_bitarr, const uintptr_t* __restrict mid_bitarr, const uintptr_t* __restrict top_expand_mask, uint32_t word_ct, uint32_t mid_popcount, uint32_t mid_start_bit, uintptr_t* __restrict mid_target, uintptr_t* __restrict compact_target) {
+ assert(mid_popcount);
+ const uint32_t leading_byte_ct = 1 + ((mid_popcount - 1) % kBitsPerWord) / CHAR_BIT;
+ uintptr_t compact_read_word = SubwordLoad(compact_bitarr, leading_byte_ct);
+ uint32_t compact_idx_lowbits = CHAR_BIT * (sizeof(intptr_t) - leading_byte_ct);
+ const unsigned char* compact_bitarr_biter = &(S_CAST(const unsigned char*, compact_bitarr)[leading_byte_ct]);
+ const uintptr_t* mid_bitarr_iter = mid_bitarr;
+ uint32_t mid_idx_lowbits = mid_start_bit;
+ uintptr_t mid_read_word = (*mid_bitarr_iter) >> mid_start_bit;
+ for (uint32_t widx = 0; widx != word_ct; ++widx) {
+ const uintptr_t top_word = top_expand_mask[widx];
+ uintptr_t mid_write_word = 0;
+ uintptr_t compact_write_word = 0;
+ if (top_word) {
+ const uint32_t top_set_ct = PopcountWord(top_word);
+ uint32_t next_mid_idx_lowbits = mid_idx_lowbits + top_set_ct;
+ if (next_mid_idx_lowbits <= kBitsPerWord) {
+ mid_write_word = _pdep_u64(mid_read_word, top_word);
+ if (top_set_ct != kBitsPerWord) {
+ mid_read_word = mid_read_word >> top_set_ct;
+ } else {
+ // avoid nasal demons
+ mid_read_word = 0;
+ }
+ } else {
+ uintptr_t next_mid_read_word = *(++mid_bitarr_iter);
+ next_mid_idx_lowbits -= kBitsPerWord;
+ mid_read_word |= next_mid_read_word << (kBitsPerWord - mid_idx_lowbits);
+ mid_write_word = _pdep_u64(mid_read_word, top_word);
+ if (next_mid_idx_lowbits != kBitsPerWord) {
+ mid_read_word = next_mid_read_word >> next_mid_idx_lowbits;
+ } else {
+ mid_read_word = 0;
+ }
+ }
+ mid_idx_lowbits = next_mid_idx_lowbits;
+ if (mid_write_word) {
+ const uint32_t mid_set_ct = PopcountWord(mid_write_word);
+ uint32_t next_compact_idx_lowbits = compact_idx_lowbits + mid_set_ct;
+ if (next_compact_idx_lowbits <= kBitsPerWord) {
+ compact_write_word = _pdep_u64(compact_read_word, mid_write_word);
+ if (mid_set_ct != kBitsPerWord) {
+ compact_read_word = compact_read_word >> mid_set_ct;
+ } else {
+ compact_read_word = 0;
+ }
+ } else {
+ uintptr_t next_compact_word;
+ CopyFromUnalignedIncrW(&next_compact_word, &compact_bitarr_biter);
+ next_compact_idx_lowbits -= kBitsPerWord;
+ compact_read_word |= next_compact_word << (kBitsPerWord - compact_idx_lowbits);
+ compact_write_word = _pdep_u64(compact_read_word, mid_write_word);
+ if (next_compact_idx_lowbits != kBitsPerWord) {
+ compact_read_word = next_compact_word >> next_compact_idx_lowbits;
+ } else {
+ compact_read_word = 0;
+ }
+ }
+ compact_idx_lowbits = next_compact_idx_lowbits;
+ }
+ }
+ mid_target[widx] = mid_write_word;
+ compact_target[widx] = compact_write_word;
+ }
+}
+
+void ExpandThenSubsetBytearrNested(const void* __restrict compact_bitarr, const uintptr_t* __restrict mid_bitarr, const uintptr_t* __restrict top_expand_mask, const uintptr_t* __restrict subset_mask, uint32_t subset_size, uint32_t mid_popcount, uint32_t mid_start_bit, uintptr_t* __restrict mid_target, uintptr_t* __restrict compact_target) {
+ assert(mid_popcount);
+ const uint32_t leading_byte_ct = 1 + ((mid_popcount - 1) % kBitsPerWord) / CHAR_BIT;
+ uintptr_t compact_read_word = SubwordLoad(compact_bitarr, leading_byte_ct);
+ uint32_t compact_idx_lowbits = CHAR_BIT * (sizeof(intptr_t) - leading_byte_ct);
+ const unsigned char* compact_bitarrb = &(S_CAST(const unsigned char*, compact_bitarr)[leading_byte_ct]);
+ const uintptr_t* mid_bitarr_iter = mid_bitarr;
+ const uint32_t subset_size_lowbits = subset_size % kBitsPerWord;
+ const uint32_t write_widx_last = subset_size / kBitsPerWord;
+ uintptr_t mid_read_word = (*mid_bitarr_iter) >> mid_start_bit;
+ uintptr_t mid_output_word = 0;
+ uintptr_t compact_output_word = 0;
+ uint32_t mid_idx_lowbits = mid_start_bit;
+ uint32_t compact_widx = UINT32_MAX; // deliberate overflow
+ uint32_t read_widx = UINT32_MAX; // deliberate overflow
+ uint32_t write_idx_lowbits = 0;
+ uint32_t write_widx = 0;
+
+ // bugfix (5 Feb 2018): missed a case in sparse subset_mask optimization
+ uint32_t mid_set_skip = 0;
+ while ((write_widx != write_widx_last) || (write_idx_lowbits != subset_size_lowbits)) {
+ uintptr_t subset_word;
+ uintptr_t mid_expanded_bits;
+ uint32_t mid_set_ct;
+ while (1) {
+ ++read_widx;
+ uintptr_t top_word = top_expand_mask[read_widx];
+ subset_word = subset_mask[read_widx];
+ mid_expanded_bits = 0;
+ if (top_word) {
+ uint32_t top_set_ct = PopcountWord(top_word);
+ uint32_t next_mid_idx_lowbits = mid_idx_lowbits + top_set_ct;
+ if (next_mid_idx_lowbits <= kBitsPerWord) {
+ mid_expanded_bits = _pdep_u64(mid_read_word, top_word);
+ if (top_set_ct != kBitsPerWord) {
+ mid_read_word = mid_read_word >> top_set_ct;
+ } else {
+ // avoid nasal demons
+ mid_read_word = 0;
+ }
+ } else {
+ uintptr_t next_mid_read_word = *(++mid_bitarr_iter);
+ next_mid_idx_lowbits -= kBitsPerWord;
+ mid_read_word |= next_mid_read_word << (kBitsPerWord - mid_idx_lowbits);
+ mid_expanded_bits = _pdep_u64(mid_read_word, top_word);
+ if (next_mid_idx_lowbits != kBitsPerWord) {
+ mid_read_word = next_mid_read_word >> next_mid_idx_lowbits;
+ } else {
+ mid_read_word = 0;
+ }
+ }
+ mid_idx_lowbits = next_mid_idx_lowbits;
+ }
+ mid_set_ct = PopcountWord(mid_expanded_bits);
+ if (subset_word) {
+ break;
+ }
+ mid_set_skip += mid_set_ct;
+ }
+
+ uintptr_t mid_extracted_bits = 0;
+ uintptr_t compact_extracted_bits = 0;
+ uint32_t set_bit_ct = PopcountWord(subset_word);
+ if (mid_expanded_bits & subset_word) {
+ // lazy load
+ compact_idx_lowbits += mid_set_skip;
+ if (compact_idx_lowbits >= kBitsPerWord) {
+ compact_widx += compact_idx_lowbits / kBitsPerWord;
+ compact_idx_lowbits = compact_idx_lowbits % kBitsPerWord;
+ CopyFromUnalignedOffsetW(&compact_read_word, compact_bitarrb, compact_widx);
+ compact_read_word >>= compact_idx_lowbits;
+ } else {
+ compact_read_word = compact_read_word >> mid_set_skip;
+ }
+ uint32_t next_compact_idx_lowbits = compact_idx_lowbits + mid_set_ct;
+ uintptr_t compact_expanded_bits;
+ if (next_compact_idx_lowbits <= kBitsPerWord) {
+ compact_expanded_bits = _pdep_u64(compact_read_word, mid_expanded_bits);
+ if (mid_set_ct != kBitsPerWord) {
+ compact_read_word = compact_read_word >> mid_set_ct;
+ }
+ } else {
+ ++compact_widx;
+ uintptr_t next_compact_word;
+ CopyFromUnalignedOffsetW(&next_compact_word, compact_bitarrb, compact_widx);
+ next_compact_idx_lowbits -= kBitsPerWord;
+ compact_read_word |= next_compact_word << (kBitsPerWord - compact_idx_lowbits);
+ compact_expanded_bits = _pdep_u64(compact_read_word, mid_expanded_bits);
+ if (next_compact_idx_lowbits != kBitsPerWord) {
+ compact_read_word = next_compact_word >> next_compact_idx_lowbits;
+ }
+ }
+ compact_extracted_bits = _pext_u64(compact_expanded_bits, subset_word);
+ mid_extracted_bits = _pext_u64(mid_expanded_bits, subset_word);
+ compact_idx_lowbits = next_compact_idx_lowbits;
+ compact_output_word |= compact_extracted_bits << write_idx_lowbits;
+ mid_output_word |= mid_extracted_bits << write_idx_lowbits;
+ mid_set_skip = 0;
+ } else {
+ mid_set_skip += mid_set_ct;
+ }
+ const uint32_t new_write_idx_lowbits = write_idx_lowbits + set_bit_ct;
+ if (new_write_idx_lowbits >= kBitsPerWord) {
+ mid_target[write_widx] = mid_output_word;
+ compact_target[write_widx] = compact_output_word;
+ ++write_widx;
+ if (write_idx_lowbits) {
+ mid_output_word = mid_extracted_bits >> (kBitsPerWord - write_idx_lowbits);
+ compact_output_word = compact_extracted_bits >> (kBitsPerWord - write_idx_lowbits);
+ } else {
+ mid_output_word = 0;
+ compact_output_word = 0;
+ }
+ }
+ write_idx_lowbits = new_write_idx_lowbits % kBitsPerWord;
+ }
+ if (write_idx_lowbits) {
+ mid_target[write_widx] = mid_output_word;
+ compact_target[write_widx] = compact_output_word;
+ }
+}
+#else // !USE_AVX2
+void CopyBitarrSubset(const uintptr_t* __restrict raw_bitarr, const uintptr_t* __restrict subset_mask, uint32_t output_bit_idx_end, uintptr_t* __restrict output_bitarr) {
+ const uint32_t output_bit_idx_end_lowbits = output_bit_idx_end % kBitsPerWord;
+ uintptr_t* output_bitarr_iter = output_bitarr;
+ uintptr_t* output_bitarr_last = &(output_bitarr[output_bit_idx_end / kBitsPerWord]);
+ uintptr_t cur_output_word = 0;
+ uint32_t read_widx = UINT32_MAX; // deliberate overflow
+ uint32_t write_idx_lowbits = 0;
+ while ((output_bitarr_iter != output_bitarr_last) || (write_idx_lowbits != output_bit_idx_end_lowbits)) {
+ uintptr_t cur_mask_word;
+ // sparse subset_mask optimization
+ // guaranteed to terminate since there's at least one more set bit
+ do {
+ cur_mask_word = subset_mask[++read_widx];
+ } while (!cur_mask_word);
+ uintptr_t cur_masked_input_word = raw_bitarr[read_widx] & cur_mask_word;
+ const uint32_t cur_mask_popcount = PopcountWord(cur_mask_word);
+ uintptr_t subsetted_input_word = 0;
+ while (cur_masked_input_word) {
+ const uintptr_t mask_word_high = (cur_mask_word | (cur_masked_input_word ^ (cur_masked_input_word - 1))) + 1;
+ if (!mask_word_high) {
+ subsetted_input_word |= cur_masked_input_word >> (kBitsPerWord - cur_mask_popcount);
+ break;
+ }
+ const uint32_t cur_read_end = ctzw(mask_word_high);
+ const uintptr_t bits_to_copy = cur_masked_input_word & (~mask_word_high);
+ cur_masked_input_word ^= bits_to_copy;
+ const uint32_t cur_write_end = PopcountWord(cur_mask_word & (~mask_word_high));
+ subsetted_input_word |= bits_to_copy >> (cur_read_end - cur_write_end);
+ }
+ cur_output_word |= subsetted_input_word << write_idx_lowbits;
+ const uint32_t new_write_idx_lowbits = write_idx_lowbits + cur_mask_popcount;
+ if (new_write_idx_lowbits >= kBitsPerWord) {
+ *output_bitarr_iter++ = cur_output_word;
+ // ...and these are the bits that fell off
+ // bugfix: unsafe to right-shift 64
+ if (write_idx_lowbits) {
+ cur_output_word = subsetted_input_word >> (kBitsPerWord - write_idx_lowbits);
+ } else {
+ cur_output_word = 0;
+ }
+ }
+ write_idx_lowbits = new_write_idx_lowbits % kBitsPerWord;
+ }
+ if (write_idx_lowbits) {
+ *output_bitarr_iter = cur_output_word;
+ }
+}
+
+# ifdef NO_UNALIGNED
+void CopyBitarrSubsetToUnaligned(const uintptr_t* __restrict raw_bitarr, const uintptr_t* __restrict subset_mask, uint32_t output_bit_idx_end, void* __restrict output_bitarr) {
+ const uint32_t output_bit_idx_end_lowbits = output_bit_idx_end % kBitsPerWord;
+ unsigned char* output_bitarr_iter = S_CAST(unsigned char*, output_bitarr);
+ unsigned char* output_bitarr_last = &(output_bitarr_iter[(output_bit_idx_end / kBitsPerWord) * kBytesPerWord]);
+ uintptr_t cur_output_word = 0;
+ uint32_t read_widx = UINT32_MAX; // deliberate overflow
+ uint32_t write_idx_lowbits = 0;
+ while ((output_bitarr_iter != output_bitarr_last) || (write_idx_lowbits != output_bit_idx_end_lowbits)) {
+ uintptr_t cur_mask_word;
+ // sparse subset_mask optimization
+ // guaranteed to terminate since there's at least one more set bit
+ do {
+ cur_mask_word = subset_mask[++read_widx];
+ } while (!cur_mask_word);
+ uintptr_t cur_masked_input_word = raw_bitarr[read_widx] & cur_mask_word;
+ const uint32_t cur_mask_popcount = PopcountWord(cur_mask_word);
+ uintptr_t subsetted_input_word = 0;
+ while (cur_masked_input_word) {
+ const uintptr_t mask_word_high = (cur_mask_word | (cur_masked_input_word ^ (cur_masked_input_word - 1))) + 1;
+ if (!mask_word_high) {
+ subsetted_input_word |= cur_masked_input_word >> (kBitsPerWord - cur_mask_popcount);
+ break;
+ }
+ const uint32_t cur_read_end = ctzw(mask_word_high);
+ const uintptr_t bits_to_copy = cur_masked_input_word & (~mask_word_high);
+ cur_masked_input_word ^= bits_to_copy;
+ const uint32_t cur_write_end = PopcountWord(cur_mask_word & (~mask_word_high));
+ subsetted_input_word |= bits_to_copy >> (cur_read_end - cur_write_end);
+ }
+ cur_output_word |= subsetted_input_word << write_idx_lowbits;
+ const uint32_t new_write_idx_lowbits = write_idx_lowbits + cur_mask_popcount;
+ if (new_write_idx_lowbits >= kBitsPerWord) {
+ AppendW(cur_output_word, &output_bitarr_iter);
+ // ...and these are the bits that fell off
+ // bugfix: unsafe to right-shift 64
+ if (write_idx_lowbits) {
+ cur_output_word = subsetted_input_word >> (kBitsPerWord - write_idx_lowbits);
+ } else {
+ cur_output_word = 0;
+ }
+ }
+ write_idx_lowbits = new_write_idx_lowbits % kBitsPerWord;
+ }
+ if (write_idx_lowbits) {
+ CopyToUnalignedW(output_bitarr_iter, &cur_output_word);
+ }
+}
+# endif
+
+// Basic SSE2 implementation of Lauradoux/Walisch popcount.
+uintptr_t PopcountVecsNoAvx2(const VecW* bit_vvec, uintptr_t vec_ct) {
+ // popcounts vptr[0..(vec_ct-1)]. Assumes vec_ct is a multiple of 3 (0 ok).
+ assert(!(vec_ct % 3));
+ const VecW m0 = vecw_setzero();
+ const VecW m1 = VCONST_W(kMask5555);
+ const VecW m2 = VCONST_W(kMask3333);
+ const VecW m4 = VCONST_W(kMask0F0F);
+ const VecW* bit_vvec_iter = bit_vvec;
+ VecW prev_sad_result = vecw_setzero();
+ VecW acc = vecw_setzero();
+ uintptr_t cur_incr = 30;
+ for (; ; vec_ct -= cur_incr) {
+ if (vec_ct < 30) {
+ if (!vec_ct) {
+ acc = acc + prev_sad_result;
+ return HsumW(acc);
+ }
+ cur_incr = vec_ct;
+ }
+ VecW inner_acc = vecw_setzero();
+ const VecW* bit_vvec_stop = &(bit_vvec_iter[cur_incr]);
+ do {
+ VecW count1 = *bit_vvec_iter++;
+ VecW count2 = *bit_vvec_iter++;
+ VecW half1 = *bit_vvec_iter++;
+ VecW half2 = vecw_srli(half1, 1) & m1;
+ half1 = half1 & m1;
+ // Two bits can represent values from 0-3, so make each pair in count1
+ // count2 store a partial bitcount covering themselves AND another bit
+ // from elsewhere.
+ count1 = count1 - (vecw_srli(count1, 1) & m1);
+ count2 = count2 - (vecw_srli(count2, 1) & m1);
+ count1 = count1 + half1;
+ count2 = count2 + half2;
+ // Four bits represent 0-15, so we can safely add four 0-3 partial
+ // bitcounts together.
+ count1 = (count1 & m2) + (vecw_srli(count1, 2) & m2);
+ count1 = count1 + (count2 & m2) + (vecw_srli(count2, 2) & m2);
+ // Accumulator stores sixteen 0-255 counts in parallel.
+ // (32 in AVX2 case, 4 in 32-bit case)
+ inner_acc = inner_acc + (count1 & m4) + (vecw_srli(count1, 4) & m4);
+ } while (bit_vvec_iter < bit_vvec_stop);
+ // _mm_sad_epu8() has better throughput than the previous method of
+ // horizontal-summing the bytes in inner_acc, by enough to compensate for
+ // the loop length being reduced from 30 to 15 vectors, but it has high
+ // latency. We work around that by waiting till the end of the next full
+ // loop iteration to actually use the SAD result.
+ acc = acc + prev_sad_result;
+ prev_sad_result = vecw_bytesum(inner_acc, m0);
+ }
+}
+
+static inline uintptr_t PopcountVecsNoAvx2Intersect(const VecW* __restrict vvec1_iter, const VecW* __restrict vvec2_iter, uintptr_t vec_ct) {
+ // popcounts vvec1 AND vvec2[0..(ct-1)]. ct is a multiple of 3.
+ assert(!(vec_ct % 3));
+ const VecW m0 = vecw_setzero();
+ const VecW m1 = VCONST_W(kMask5555);
+ const VecW m2 = VCONST_W(kMask3333);
+ const VecW m4 = VCONST_W(kMask0F0F);
+ VecW prev_sad_result = vecw_setzero();
+ VecW acc = vecw_setzero();
+ uintptr_t cur_incr = 30;
+ for (; ; vec_ct -= cur_incr) {
+ if (vec_ct < 30) {
+ if (!vec_ct) {
+ acc = acc + prev_sad_result;
+ return HsumW(acc);
+ }
+ cur_incr = vec_ct;
+ }
+ VecW inner_acc = vecw_setzero();
+ const VecW* vvec1_stop = &(vvec1_iter[cur_incr]);
+ do {
+ VecW count1 = (*vvec1_iter++) & (*vvec2_iter++);
+ VecW count2 = (*vvec1_iter++) & (*vvec2_iter++);
+ VecW half1 = (*vvec1_iter++) & (*vvec2_iter++);
+ const VecW half2 = vecw_srli(half1, 1) & m1;
+ half1 = half1 & m1;
+ count1 = count1 - (vecw_srli(count1, 1) & m1);
+ count2 = count2 - (vecw_srli(count2, 1) & m1);
+ count1 = count1 + half1;
+ count2 = count2 + half2;
+ count1 = (count1 & m2) + (vecw_srli(count1, 2) & m2);
+ count1 = count1 + (count2 & m2) + (vecw_srli(count2, 2) & m2);
+ inner_acc = inner_acc + (count1 & m4) + (vecw_srli(count1, 4) & m4);
+ } while (vvec1_iter < vvec1_stop);
+ acc = acc + prev_sad_result;
+ prev_sad_result = vecw_bytesum(inner_acc, m0);
+ }
+}
+
+uintptr_t PopcountWordsIntersect(const uintptr_t* __restrict bitvec1_iter, const uintptr_t* __restrict bitvec2_iter, uintptr_t word_ct) {
+ uintptr_t tot = 0;
+ const uintptr_t* bitvec1_end = &(bitvec1_iter[word_ct]);
+ const uintptr_t trivec_ct = word_ct / (3 * kWordsPerVec);
+ tot += PopcountVecsNoAvx2Intersect(R_CAST(const VecW*, bitvec1_iter), R_CAST(const VecW*, bitvec2_iter), trivec_ct * 3);
+ bitvec1_iter = &(bitvec1_iter[trivec_ct * (3 * kWordsPerVec)]);
+ bitvec2_iter = &(bitvec2_iter[trivec_ct * (3 * kWordsPerVec)]);
+ while (bitvec1_iter < bitvec1_end) {
+ tot += PopcountWord((*bitvec1_iter++) & (*bitvec2_iter++));
+ }
+ return tot;
+}
+
+static inline uintptr_t PopcountVecsNoAvx2Xor(const VecW* __restrict vvec1_iter, const VecW* __restrict vvec2_iter, uintptr_t vec_ct) {
+ // popcounts vvec1 XOR vvec2[0..(ct-1)]. ct is a multiple of 3.
+ assert(!(vec_ct % 3));
+ const VecW m0 = vecw_setzero();
+ const VecW m1 = VCONST_W(kMask5555);
+ const VecW m2 = VCONST_W(kMask3333);
+ const VecW m4 = VCONST_W(kMask0F0F);
+ VecW prev_sad_result = vecw_setzero();
+ VecW acc = vecw_setzero();
+ uintptr_t cur_incr = 30;
+ for (; ; vec_ct -= cur_incr) {
+ if (vec_ct < 30) {
+ if (!vec_ct) {
+ acc = acc + prev_sad_result;
+ return HsumW(acc);
+ }
+ cur_incr = vec_ct;
+ }
+ VecW inner_acc = vecw_setzero();
+ const VecW* vvec1_stop = &(vvec1_iter[cur_incr]);
+ do {
+ VecW count1 = (*vvec1_iter++) ^ (*vvec2_iter++);
+ VecW count2 = (*vvec1_iter++) ^ (*vvec2_iter++);
+ VecW half1 = (*vvec1_iter++) ^ (*vvec2_iter++);
+ const VecW half2 = vecw_srli(half1, 1) & m1;
+ half1 = half1 & m1;
+ count1 = count1 - (vecw_srli(count1, 1) & m1);
+ count2 = count2 - (vecw_srli(count2, 1) & m1);
+ count1 = count1 + half1;
+ count2 = count2 + half2;
+ count1 = (count1 & m2) + (vecw_srli(count1, 2) & m2);
+ count1 = count1 + (count2 & m2) + (vecw_srli(count2, 2) & m2);
+ inner_acc = inner_acc + (count1 & m4) + (vecw_srli(count1, 4) & m4);
+ } while (vvec1_iter < vvec1_stop);
+ acc = acc + prev_sad_result;
+ prev_sad_result = vecw_bytesum(inner_acc, m0);
+ }
+}
+
+uintptr_t PopcountWordsXor(const uintptr_t* __restrict bitvec1_iter, const uintptr_t* __restrict bitvec2_iter, uintptr_t word_ct) {
+ uintptr_t tot = 0;
+ const uintptr_t* bitvec1_end = &(bitvec1_iter[word_ct]);
+ const uintptr_t trivec_ct = word_ct / (3 * kWordsPerVec);
+ tot += PopcountVecsNoAvx2Xor(R_CAST(const VecW*, bitvec1_iter), R_CAST(const VecW*, bitvec2_iter), trivec_ct * 3);
+ bitvec1_iter = &(bitvec1_iter[trivec_ct * (3 * kWordsPerVec)]);
+ bitvec2_iter = &(bitvec2_iter[trivec_ct * (3 * kWordsPerVec)]);
+ while (bitvec1_iter < bitvec1_end) {
+ tot += PopcountWord((*bitvec1_iter++) ^ (*bitvec2_iter++));
+ }
+ return tot;
+}
+
+/*
+static inline uintptr_t PopcountVecsNoAvx2Intersect3(const VecW* __restrict vvec1_iter, const VecW* __restrict vvec2_iter, const VecW* __restrict vvec3_iter, uintptr_t vec_ct) {
+ assert(!(vec_ct % 3));
+ const VecW m0 = vecw_setzero();
+ const VecW m1 = VCONST_W(kMask5555);
+ const VecW m2 = VCONST_W(kMask3333);
+ const VecW m4 = VCONST_W(kMask0F0F);
+ VecW prev_sad_result = vecw_setzero();
+ VecW acc = vecw_setzero();
+ uintptr_t cur_incr = 30;
+ for (; ; vec_ct -= cur_incr) {
+ if (vec_ct < 30) {
+ if (!vec_ct) {
+ acc = acc + prev_sad_result;
+ return HsumW(acc);
+ }
+ cur_incr = vec_ct;
+ }
+ VecW inner_acc = vecw_setzero();
+ const VecW* vvec1_stop = &(vvec1_iter[cur_incr]);
+ do {
+ VecW count1 = (*vvec1_iter++) & (*vvec2_iter++) & (*vvec3_iter++);
+ VecW count2 = (*vvec1_iter++) & (*vvec2_iter++) & (*vvec3_iter++);
+ VecW half1 = (*vvec1_iter++) & (*vvec2_iter++) & (*vvec3_iter++);
+ const VecW half2 = vecw_srli(half1, 1) & m1;
+ half1 = half1 & m1;
+ count1 = count1 - (vecw_srli(count1, 1) & m1);
+ count2 = count2 - (vecw_srli(count2, 1) & m1);
+ count1 = count1 + half1;
+ count2 = count2 + half2;
+ count1 = (count1 & m2) + (vecw_srli(count1, 2) & m2);
+ count1 = count1 + (count2 & m2) + (vecw_srli(count2, 2) & m2);
+ inner_acc = inner_acc + (count1 & m4) + (vecw_srli(count1, 4) & m4);
+ } while (vvec1_iter < vvec1_stop);
+ acc = acc + prev_sad_result;
+ prev_sad_result = vecw_bytesum(inner_acc, m0);
+ }
+}
+
+uintptr_t PopcountWordsIntersect3(const uintptr_t* __restrict bitvec1_iter, const uintptr_t* __restrict bitvec2_iter, const uintptr_t* __restrict bitvec3_iter, uintptr_t word_ct) {
+ uintptr_t tot = 0;
+ const uintptr_t* bitvec1_end = &(bitvec1_iter[word_ct]);
+ const uintptr_t trivec_ct = word_ct / (3 * kWordsPerVec);
+ tot += PopcountVecsNoAvx2Intersect3(R_CAST(const VecW*, bitvec1_iter), R_CAST(const VecW*, bitvec2_iter), R_CAST(const VecW*, bitvec3_iter), trivec_ct * 3);
+ bitvec1_iter = &(bitvec1_iter[trivec_ct * (3 * kWordsPerVec)]);
+ bitvec2_iter = &(bitvec2_iter[trivec_ct * (3 * kWordsPerVec)]);
+ bitvec3_iter = &(bitvec3_iter[trivec_ct * (3 * kWordsPerVec)]);
+ while (bitvec1_iter < bitvec1_end) {
+ tot += PopcountWord((*bitvec1_iter++) & (*bitvec2_iter++) & (*bitvec3_iter++));
+ }
+ return tot;
+}
+*/
+
+void ExpandBytearr(const void* __restrict compact_bitarr, const uintptr_t* __restrict expand_mask, uint32_t word_ct, uint32_t expand_size, uint32_t read_start_bit, uintptr_t* __restrict target) {
+ ZeroWArr(word_ct, target);
+ const unsigned char* compact_bitarrb = S_CAST(const unsigned char*, compact_bitarr);
+ const uint32_t expand_sizex_m1 = expand_size + read_start_bit - 1;
+ const uint32_t compact_widx_last = expand_sizex_m1 / kBitsPerWord;
+ uint32_t compact_idx_lowbits = read_start_bit;
+ uint32_t loop_len = kBitsPerWord;
+ uintptr_t write_widx = 0;
+ uintptr_t expand_mask_bits = expand_mask[0];
+ for (uint32_t compact_widx = 0; ; ++compact_widx) {
+ uintptr_t compact_word;
+ if (compact_widx >= compact_widx_last) {
+ if (compact_widx > compact_widx_last) {
+ return;
+ }
+ loop_len = 1 + (expand_sizex_m1 % kBitsPerWord);
+ // avoid possible segfault
+ compact_word = SubwordLoad(&(compact_bitarrb[compact_widx * kBytesPerWord]), DivUp(loop_len, CHAR_BIT));
+ } else {
+ CopyFromUnalignedOffsetW(&compact_word, compact_bitarrb, compact_widx);
+ }
+ for (; compact_idx_lowbits != loop_len; ++compact_idx_lowbits) {
+ const uintptr_t lowbit = BitIter1y(expand_mask, &write_widx, &expand_mask_bits);
+ // bugfix: can't just use (compact_word & 1) and compact_word >>= 1,
+ // since we may skip the first bit on the first loop iteration
+ if ((compact_word >> compact_idx_lowbits) & 1) {
+ target[write_widx] |= lowbit;
+ }
+ }
+ compact_idx_lowbits = 0;
+ }
+}
+
+void ExpandThenSubsetBytearr(const void* __restrict compact_bitarr, const uintptr_t* __restrict expand_mask, const uintptr_t* __restrict subset_mask, uint32_t expand_size, uint32_t subset_size, uint32_t read_start_bit, uintptr_t* __restrict target) {
+ const uint32_t expand_sizex_m1 = expand_size + read_start_bit - 1;
+ const uint32_t leading_byte_ct = 1 + (expand_sizex_m1 % kBitsPerWord) / CHAR_BIT;
+ uint32_t read_idx_lowbits = CHAR_BIT * (sizeof(intptr_t) - leading_byte_ct);
+ uintptr_t compact_read_word = SubwordLoad(compact_bitarr, leading_byte_ct) << read_idx_lowbits;
+ read_idx_lowbits += read_start_bit;
+ const unsigned char* compact_bitarr_biter = &(S_CAST(const unsigned char*, compact_bitarr)[leading_byte_ct]);
+ const uint32_t subset_size_lowbits = subset_size % kBitsPerWord;
+ uintptr_t* target_iter = target;
+ uintptr_t* target_last = &(target[subset_size / kBitsPerWord]);
+ uintptr_t compact_write_word = 0;
+ uint32_t read_widx = 0;
+ // further improvement is probably possible (e.g. use AVX2 lazy-load), but
+ // I'll postpone for now
+ uint32_t write_idx_lowbits = 0;
+ while ((target_iter != target_last) || (write_idx_lowbits != subset_size_lowbits)) {
+ const uintptr_t subset_word = subset_mask[read_widx];
+ const uintptr_t expand_word = expand_mask[read_widx];
+ ++read_widx;
+ uintptr_t tmp_compact_write_word = 0;
+ if (expand_word) {
+ const uint32_t expand_bit_ct = PopcountWord(expand_word);
+ uint32_t read_idx_lowbits_end = read_idx_lowbits + expand_bit_ct;
+ uintptr_t tmp_compact_read_word = 0;
+ if (read_idx_lowbits != kBitsPerWord) {
+ tmp_compact_read_word = compact_read_word >> read_idx_lowbits;
+ }
+ if (read_idx_lowbits_end > kBitsPerWord) {
+ CopyFromUnalignedIncrW(&compact_read_word, &compact_bitarr_biter);
+ tmp_compact_read_word |= compact_read_word << (kBitsPerWord - read_idx_lowbits);
+ read_idx_lowbits_end -= kBitsPerWord;
+ }
+ tmp_compact_read_word = bzhi_max(tmp_compact_read_word, expand_bit_ct);
+ read_idx_lowbits = read_idx_lowbits_end;
+ if (tmp_compact_read_word) {
+ uintptr_t cur_intersect = subset_word & expand_word;
+ while (cur_intersect) {
+ const uintptr_t cur_intersect_and_arg = cur_intersect - k1LU;
+ const uintptr_t lowmask = (cur_intersect ^ cur_intersect_and_arg) >> 1;
+ const uint32_t read_idx_offset = PopcountWord(expand_word & lowmask);
+ uintptr_t shifted_compact_read_word = tmp_compact_read_word >> read_idx_offset;
+ if (shifted_compact_read_word & 1) {
+ tmp_compact_write_word |= (k1LU << PopcountWord(subset_word & lowmask));
+ if (shifted_compact_read_word == 1) {
+ break;
+ }
+ }
+ cur_intersect &= cur_intersect_and_arg;
+ }
+ }
+ compact_write_word |= tmp_compact_write_word << write_idx_lowbits;
+ }
+ const uint32_t write_idx_lowbits_end = write_idx_lowbits + PopcountWord(subset_word);
+ if (write_idx_lowbits_end >= kBitsPerWord) {
+ *target_iter++ = compact_write_word;
+ if (write_idx_lowbits) {
+ compact_write_word = tmp_compact_write_word >> (kBitsPerWord - write_idx_lowbits);
+ } else {
+ compact_write_word = 0;
+ }
+ }
+ write_idx_lowbits = write_idx_lowbits_end % kBitsPerWord;
+ }
+ if (write_idx_lowbits) {
+ *target_iter = compact_write_word;
+ }
+}
+
+// compact_bitarr := phaseinfo
+// mid_bitarr := phasepresent, [1 + het_ct]
+// top_expand_mask := all_hets, [raw_sample_ct]
+void ExpandBytearrNested(const void* __restrict compact_bitarr, const uintptr_t* __restrict mid_bitarr, const uintptr_t* __restrict top_expand_mask, uint32_t word_ct, uint32_t mid_popcount, uint32_t mid_start_bit, uintptr_t* __restrict mid_target, uintptr_t* __restrict compact_target) {
+ ZeroWArr(word_ct, mid_target);
+ ZeroWArr(word_ct, compact_target);
+ const unsigned char* compact_bitarrb = S_CAST(const unsigned char*, compact_bitarr);
+ const uint32_t mid_popcount_m1 = mid_popcount - 1;
+ const uint32_t compact_widx_last = mid_popcount_m1 / kBitsPerWord;
+ uint32_t mid_idx = mid_start_bit;
+ // can allow compact_idx_lowbits to be initialized to nonzero
+ uint32_t loop_len = kBitsPerWord;
+ uintptr_t write_widx = 0;
+ uintptr_t top_expand_mask_bits = top_expand_mask[0];
+ for (uint32_t compact_widx = 0; ; ++compact_widx) {
+ uintptr_t compact_word;
+ if (compact_widx >= compact_widx_last) {
+ if (compact_widx > compact_widx_last) {
+ return;
+ }
+ loop_len = 1 + (mid_popcount_m1 % kBitsPerWord);
+ // avoid possible segfault
+ compact_word = SubwordLoad(&(compact_bitarrb[compact_widx * kBytesPerWord]), DivUp(loop_len, CHAR_BIT));
+ } else {
+ CopyFromUnalignedOffsetW(&compact_word, compact_bitarrb, compact_widx);
+ }
+ for (uint32_t compact_idx_lowbits = 0; compact_idx_lowbits != loop_len; ++mid_idx) {
+ const uintptr_t lowbit = BitIter1y(top_expand_mask, &write_widx, &top_expand_mask_bits);
+ if (IsSet(mid_bitarr, mid_idx)) {
+ mid_target[write_widx] |= lowbit;
+ compact_target[write_widx] |= lowbit * (compact_word & 1);
+ compact_word >>= 1;
+ ++compact_idx_lowbits;
+ }
+ }
+ }
+}
+
+void ExpandThenSubsetBytearrNested(const void* __restrict compact_bitarr, const uintptr_t* __restrict mid_bitarr, const uintptr_t* __restrict top_expand_mask, const uintptr_t* __restrict subset_mask, uint32_t subset_size, uint32_t mid_popcount, uint32_t mid_start_bit, uintptr_t* __restrict mid_target, uintptr_t* __restrict compact_target) {
+ assert(mid_popcount);
+ const uint32_t leading_byte_ct = 1 + ((mid_popcount - 1) % kBitsPerWord) / CHAR_BIT;
+ uint32_t compact_idx_lowbits = CHAR_BIT * (sizeof(intptr_t) - leading_byte_ct);
+ uintptr_t compact_read_word = SubwordLoad(compact_bitarr, leading_byte_ct) << compact_idx_lowbits;
+ const unsigned char* compact_bitarr_biter = &(S_CAST(const unsigned char*, compact_bitarr)[leading_byte_ct]);
+ // bugfix (12 Apr 2018): need to round down here
+ const uint32_t subset_size_dl = subset_size / kBitsPerWord;
+ const uint32_t subset_size_lowbits = subset_size % kBitsPerWord;
+ const uintptr_t* mid_read_iter = mid_bitarr;
+ uintptr_t mid_read_word = *mid_read_iter++;
+ uintptr_t mid_write_word = 0;
+ uintptr_t compact_write_word = 0;
+ uint32_t mid_idx_lowbits = mid_start_bit;
+ uint32_t write_idx_lowbits = 0;
+ uint32_t write_widx = 0;
+ uint32_t read_widx = 0;
+ while ((write_widx != subset_size_dl) || (write_idx_lowbits != subset_size_lowbits)) {
+ const uintptr_t subset_word = subset_mask[read_widx];
+ const uintptr_t top_word = top_expand_mask[read_widx];
+ ++read_widx;
+ uintptr_t tmp_mid_write_word = 0;
+ uintptr_t tmp_compact_write_word = 0;
+ if (top_word) {
+ const uint32_t top_set_ct = PopcountWord(top_word);
+ uint32_t mid_idx_lowbits_end = mid_idx_lowbits + top_set_ct;
+ uintptr_t tmp_mid_read_word = 0;
+ if (mid_idx_lowbits != kBitsPerWord) {
+ tmp_mid_read_word = mid_read_word >> mid_idx_lowbits;
+ }
+ if (mid_idx_lowbits_end > kBitsPerWord) {
+ // be paranoid for now re: reading an extra word off the end of
+ // mid_bitarr
+ mid_read_word = *mid_read_iter++;
+ tmp_mid_read_word |= mid_read_word << (kBitsPerWord - mid_idx_lowbits);
+ mid_idx_lowbits_end -= kBitsPerWord;
+ }
+ tmp_mid_read_word = bzhi_max(tmp_mid_read_word, top_set_ct);
+ mid_idx_lowbits = mid_idx_lowbits_end;
+ if (tmp_mid_read_word) {
+ const uint32_t mid_set_ct = PopcountWord(tmp_mid_read_word);
+ uintptr_t tmp_compact_read_word;
+ if (compact_idx_lowbits != kBitsPerWord) {
+ const uint32_t compact_idx_lowbits_end = compact_idx_lowbits + mid_set_ct;
+ tmp_compact_read_word = compact_read_word >> compact_idx_lowbits;
+ // avoid reading off end of compact_bitarr here
+ if (compact_idx_lowbits_end <= kBitsPerWord) {
+ compact_idx_lowbits = compact_idx_lowbits_end;
+ } else {
+ CopyFromUnalignedIncrW(&compact_read_word, &compact_bitarr_biter);
+ tmp_compact_read_word |= compact_read_word << (kBitsPerWord - compact_idx_lowbits);
+ compact_idx_lowbits = compact_idx_lowbits_end - kBitsPerWord;
+ }
+ } else {
+ // special case, can't right-shift 64
+ CopyFromUnalignedIncrW(&compact_read_word, &compact_bitarr_biter);
+ compact_idx_lowbits = mid_set_ct;
+ tmp_compact_read_word = compact_read_word;
+ }
+ tmp_compact_read_word = bzhi_max(tmp_compact_read_word, mid_set_ct);
+
+ uintptr_t cur_masked_top = subset_word & top_word;
+ while (cur_masked_top) {
+ const uintptr_t cur_masked_top_and_arg = cur_masked_top - k1LU;
+ const uintptr_t lowmask = (cur_masked_top ^ cur_masked_top_and_arg) >> 1;
+ const uint32_t read_idx_offset = PopcountWord(top_word & lowmask);
+ uintptr_t shifted_mid_read_word = tmp_mid_read_word >> read_idx_offset;
+ if (shifted_mid_read_word & 1) {
+ // bugfix (7 Sep 2017): forgot the "k1LU << " part of this
+ const uintptr_t cur_bit = k1LU << PopcountWord(subset_word & lowmask);
+ tmp_mid_write_word |= cur_bit;
+ tmp_compact_write_word += cur_bit * ((tmp_compact_read_word >> (mid_set_ct - PopcountWord(shifted_mid_read_word))) & 1);
+ if (shifted_mid_read_word == 1) {
+ break;
+ }
+ }
+ cur_masked_top &= cur_masked_top_and_arg;
+ }
+ }
+ mid_write_word |= tmp_mid_write_word << write_idx_lowbits;
+ compact_write_word |= tmp_compact_write_word << write_idx_lowbits;
+ }
+ const uint32_t write_idx_lowbits_end = write_idx_lowbits + PopcountWord(subset_word);
+ if (write_idx_lowbits_end >= kBitsPerWord) {
+ mid_target[write_widx] = mid_write_word;
+ compact_target[write_widx] = compact_write_word;
+ ++write_widx;
+ if (write_idx_lowbits) {
+ const uint32_t rshift = kBitsPerWord - write_idx_lowbits;
+ mid_write_word = tmp_mid_write_word >> rshift;
+ compact_write_word = tmp_compact_write_word >> rshift;
+ } else {
+ mid_write_word = 0;
+ compact_write_word = 0;
+ }
+ }
+ write_idx_lowbits = write_idx_lowbits_end % kBitsPerWord;
+ }
+ if (write_idx_lowbits) {
+ mid_target[write_widx] = mid_write_word;
+ compact_target[write_widx] = compact_write_word;
+ }
+}
+#endif
+uintptr_t PopcountBytes(const void* bitarr, uintptr_t byte_ct) {
+ const unsigned char* bitarr_uc = S_CAST(const unsigned char*, bitarr);
+ const uintptr_t* bitvec;
+ const uint32_t lead_byte_ct = AlignKToAW(bitarr_uc, &bitvec);
+ uintptr_t tot = 0;
+ uint32_t trail_byte_ct;
+ // bugfix: had wrong condition here
+ if (byte_ct >= lead_byte_ct) {
+#ifdef USE_SSE2
+ const uint32_t word_rem = lead_byte_ct % kBytesPerWord;
+ if (word_rem) {
+ tot = PopcountWord(ProperSubwordLoad(bitarr_uc, word_rem));
+ }
+ if (lead_byte_ct >= kBytesPerWord) {
+ tot += PopcountWord(bitvec[-1]);
+# ifdef USE_AVX2
+ if (lead_byte_ct >= 2 * kBytesPerWord) {
+ tot += PopcountWord(bitvec[-2]);
+ if (lead_byte_ct >= 3 * kBytesPerWord) {
+ tot += PopcountWord(bitvec[-3]);
+ }
+ }
+# endif
+ }
+#else
+ if (lead_byte_ct) {
+ tot = PopcountWord(ProperSubwordLoad(bitarr_uc, lead_byte_ct));
+ }
+#endif
+ byte_ct -= lead_byte_ct;
+ const uintptr_t word_ct = byte_ct / kBytesPerWord;
+ // vec-alignment required here
+ tot += PopcountWords(bitvec, word_ct);
+ bitarr_uc = DowncastKToUc(&(bitvec[word_ct]));
+ trail_byte_ct = byte_ct % kBytesPerWord;
+ } else {
+ // this may still be >= kBytesPerWord in USE_SSE2 case, so can't remove
+ // loop
+ trail_byte_ct = byte_ct;
+ }
+ for (uint32_t bytes_remaining = trail_byte_ct; ; ) {
+ uintptr_t cur_word;
+ if (bytes_remaining < kBytesPerWord) {
+ if (!bytes_remaining) {
+ return tot;
+ }
+ cur_word = ProperSubwordLoad(bitarr_uc, bytes_remaining);
+ bytes_remaining = 0;
+ } else {
+ CopyFromUnalignedIncrW(&cur_word, &bitarr_uc);
+ bytes_remaining -= kBytesPerWord;
+ }
+ tot += PopcountWord(cur_word);
+ }
+}
+
+uintptr_t PopcountBytesMasked(const void* bitarr, const uintptr_t* mask_arr, uintptr_t byte_ct) {
+ // todo: try modifying PopcountWordsIntersect() to use unaligned load
+ // instructions; then, if there is no performance penalty, try modifying this
+ // main loop to call it.
+ const uintptr_t word_ct = byte_ct / kBytesPerWord;
+#ifdef USE_SSE42
+ const unsigned char* bitarr_uc = S_CAST(const unsigned char*, bitarr);
+ uintptr_t tot = 0;
+ for (uintptr_t widx = 0; widx != word_ct; ++widx) {
+ uintptr_t cur_word;
+ CopyFromUnalignedOffsetW(&cur_word, bitarr_uc, widx);
+ tot += PopcountWord(cur_word & mask_arr[widx]);
+ }
+ const uint32_t trail_byte_ct = byte_ct % kBytesPerWord;
+ if (trail_byte_ct) {
+ const uintptr_t cur_word = ProperSubwordLoad(&(bitarr_uc[word_ct * kBytesPerWord]), trail_byte_ct);
+ tot += PopcountWord(cur_word & mask_arr[word_ct]);
+ }
+ return tot;
+#else
+ const unsigned char* bitarr_biter = S_CAST(const unsigned char*, bitarr);
+ const uintptr_t mainblock_word_ct = word_ct - (word_ct % (24 / kBytesPerWord));
+ const unsigned char* bitarr_24b_end = &(bitarr_biter[mainblock_word_ct * kBytesPerWord]);
+ const uintptr_t* mask_arr_iter = mask_arr;
+ uintptr_t tot = 0;
+ while (bitarr_biter < bitarr_24b_end) {
+ uintptr_t loader;
+ CopyFromUnalignedIncrW(&loader, &bitarr_biter);
+ loader &= (*mask_arr_iter++);
+ uintptr_t ulii = loader - ((loader >> 1) & kMask5555);
+ CopyFromUnalignedIncrW(&loader, &bitarr_biter);
+ loader &= (*mask_arr_iter++);
+ uintptr_t uljj = loader - ((loader >> 1) & kMask5555);
+ CopyFromUnalignedIncrW(&loader, &bitarr_biter);
+ loader &= (*mask_arr_iter++);
+ ulii += (loader >> 1) & kMask5555;
+ uljj += loader & kMask5555;
+ ulii = (ulii & kMask3333) + ((ulii >> 2) & kMask3333);
+ ulii += (uljj & kMask3333) + ((uljj >> 2) & kMask3333);
+ uintptr_t tmp_stor = (ulii & kMask0F0F) + ((ulii >> 4) & kMask0F0F);
+
+# ifndef __LP64__
+ CopyFromUnalignedIncrW(&loader, &bitarr_biter);
+ loader &= (*mask_arr_iter++);
+ ulii = loader - ((loader >> 1) & kMask5555);
+ CopyFromUnalignedIncrW(&loader, &bitarr_biter);
+ loader &= (*mask_arr_iter++);
+ uljj = loader - ((loader >> 1) & kMask5555);
+ CopyFromUnalignedIncrW(&loader, &bitarr_biter);
+ loader &= (*mask_arr_iter++);
+ ulii += (loader >> 1) & kMask5555;
+ uljj += loader & kMask5555;
+ ulii = (ulii & kMask3333) + ((ulii >> 2) & kMask3333);
+ ulii += (uljj & kMask3333) + ((uljj >> 2) & kMask3333);
+ tmp_stor += (ulii & kMask0F0F) + ((ulii >> 4) & kMask0F0F);
+# endif
+
+ // 32-bit case: each 8-bit slot stores a number in 0..48. Multiplying by
+ // 0x01010101 is equivalent to the left-shifts and adds we need to sum
+ // those four 8-bit numbers in the high-order slot.
+ // 64-bit case: each 8-bit slot stores a number in 0..24.
+ tot += (tmp_stor * kMask0101) >> (kBitsPerWord - 8);
+ }
+ for (uint32_t trail_byte_ct = byte_ct - (mainblock_word_ct * kBytesPerWord); ; ) {
+ uintptr_t cur_word;
+ if (trail_byte_ct < kBytesPerWord) {
+ if (!trail_byte_ct) {
+ return tot;
+ }
+ cur_word = ProperSubwordLoad(bitarr_biter, trail_byte_ct);
+ trail_byte_ct = 0;
+ } else {
+ CopyFromUnalignedIncrW(&cur_word, &bitarr_biter);
+ trail_byte_ct -= kBytesPerWord;
+ }
+ tot += PopcountWord(cur_word & (*mask_arr_iter++));
+ }
+#endif
+}
+
+void FillCumulativePopcounts(const uintptr_t* subset_mask, uint32_t word_ct, uint32_t* cumulative_popcounts) {
+ assert(word_ct);
+ const uint32_t word_ct_m1 = word_ct - 1;
+ uint32_t cur_sum = 0;
+ for (uint32_t widx = 0; widx != word_ct_m1; ++widx) {
+ cumulative_popcounts[widx] = cur_sum;
+ cur_sum += PopcountWord(subset_mask[widx]);
+ }
+ cumulative_popcounts[word_ct_m1] = cur_sum;
+}
+
+void FillCumulativePopcountsW(const uintptr_t* subset_mask, uintptr_t word_ct, uintptr_t* cumulative_popcounts_w) {
+ assert(word_ct);
+ const uintptr_t word_ct_m1 = word_ct - 1;
+ uintptr_t cur_sum = 0;
+ for (uintptr_t widx = 0; widx != word_ct_m1; ++widx) {
+ cumulative_popcounts_w[widx] = cur_sum;
+ cur_sum += PopcountWord(subset_mask[widx]);
+ }
+ cumulative_popcounts_w[word_ct_m1] = cur_sum;
+}
+
+void UidxsToIdxs(const uintptr_t* subset_mask, const uint32_t* subset_cumulative_popcounts, const uintptr_t idx_list_len, uint32_t* idx_list) {
+ uint32_t* idx_list_end = &(idx_list[idx_list_len]);
+ for (uint32_t* idx_list_iter = idx_list; idx_list_iter != idx_list_end; ++idx_list_iter) {
+ *idx_list_iter = RawToSubsettedPos(subset_mask, subset_cumulative_popcounts, *idx_list_iter);
+ }
+}
+
+void Expand1bitTo8(const void* __restrict bytearr, uint32_t input_bit_ct, uint32_t incr, void* __restrict dst) {
+ const unsigned char* bytearr_uc = S_CAST(const unsigned char*, bytearr);
+ const uint32_t input_bit_ct_plus = input_bit_ct + kBytesPerWord - 1;
+#if defined(USE_SHUFFLE8) && !defined(NO_UNALIGNED)
+ const uint32_t input_byte_ct = input_bit_ct_plus / 8;
+ const uint32_t fullvec_ct = input_byte_ct / (kBytesPerVec / 8);
+ uint32_t byte_idx = 0;
+ if (fullvec_ct) {
+ const Vec8thUint* bytearr_alias = R_CAST(const Vec8thUint*, bytearr_uc);
+# ifdef USE_AVX2
+ const VecUc byte_gather = VecToUc(_mm256_setr_epi64x(0, kMask0101, 2 * kMask0101, 3 * kMask0101));
+ const VecUc bit_mask = VecToUc(_mm256_set1_epi64x(0x7fbfdfeff7fbfdfeLL));
+# else
+ const VecUc byte_gather = VecToUc(_mm_setr_epi32(0, 0, 0x01010101, 0x01010101));
+ const VecUc bit_mask = VecToUc(_mm_set1_epi64x(0x7fbfdfeff7fbfdfeLL));
+# endif
+ const VecUc all1 = vecuc_set1(255);
+ const VecUc subfrom = vecuc_set1(incr);
+ VecUc* dst_alias = S_CAST(VecUc*, dst);
+ for (uint32_t vec_idx = 0; vec_idx != fullvec_ct; ++vec_idx) {
+# ifdef USE_AVX2
+ VecUc vmask = VecToUc(_mm256_set1_epi32(bytearr_alias[vec_idx]));
+# else
+ VecUc vmask = VecToUc(_mm_set1_epi16(bytearr_alias[vec_idx]));
+# endif
+ vmask = vecuc_shuffle8(vmask, byte_gather);
+ vmask = vmask | bit_mask;
+ vmask = (vmask == all1);
+ const VecUc result = subfrom - vmask;
+ vecuc_storeu(&(dst_alias[vec_idx]), result);
+ }
+ byte_idx = fullvec_ct * (kBytesPerVec / 8);
+ }
+ const uintptr_t incr_word = incr * kMask0101;
+ uintptr_t* dst_w = S_CAST(uintptr_t*, dst);
+ for (; byte_idx != input_byte_ct; ++byte_idx) {
+ const uintptr_t input_byte = bytearr_uc[byte_idx];
+# ifdef USE_AVX2
+ const uintptr_t input_byte_scatter = _pdep_u64(input_byte, kMask0101);
+# else
+ const uintptr_t input_byte_scatter = (((input_byte & 0xfe) * 0x2040810204080LLU) & kMask0101) | (input_byte & 1);
+# endif
+ dst_w[byte_idx] = incr_word + input_byte_scatter;
+ }
+#else // NO_UNALIGNED || (!USE_SSE42)
+ const uintptr_t incr_word = incr * kMask0101;
+ uintptr_t* dst_w = S_CAST(uintptr_t*, dst);
+# ifdef __LP64__
+ const uint32_t input_byte_ct = input_bit_ct_plus / 8;
+ for (uint32_t uii = 0; uii != input_byte_ct; ++uii) {
+ // this operation maps binary hgfedcba to h0000000g0000000f...
+ // ^ ^ ^
+ // | | |
+ // 56 48 40
+ // 1. (cur_variant_include_word & 0xfe) gives us hgfedcb0; necessary to
+ // avoid carryover.
+ // 2. multiply by the number with bits 7, 14, 21, ..., 49 set, to get
+ // hgfedcbhgfedcbhgf...
+ // ^ ^ ^
+ // | | |
+ // 56 48 40
+ // 3. mask out all but bits 8, 16, 24, ..., 56
+ // todo: test if this actually beats the per-character loop...
+ const uintptr_t input_byte = bytearr_uc[uii];
+ const uintptr_t input_byte_scatter = (((input_byte & 0xfe) * 0x2040810204080LLU) & kMask0101) | (input_byte & 1);
+ dst_w[uii] = incr_word + input_byte_scatter;
+ }
+# else
+ const uint32_t fullbyte_ct = input_bit_ct_plus / 8;
+ for (uint32_t uii = 0; uii != fullbyte_ct; ++uii) {
+ // dcba -> d0000000c0000000b0000000a
+ const uintptr_t input_byte = bytearr_uc[uii];
+ uintptr_t input_byte_scatter = ((input_byte & 0xf) * 0x204081) & kMask0101;
+ dst_w[2 * uii] = incr_word + input_byte_scatter;
+ input_byte_scatter = ((input_byte >> 4) * 0x204081) & kMask0101;
+ dst_w[2 * uii + 1] = incr_word + input_byte_scatter;
+ }
+ if (input_bit_ct_plus & 4) {
+ uintptr_t input_byte = bytearr_uc[fullbyte_ct];
+ // input_bit_ct mod 8 in 1..4, so high bits zeroed out
+ uintptr_t input_byte_scatter = (input_byte * 0x204081) & kMask0101;
+ dst_w[2 * fullbyte_ct] = incr_word + input_byte_scatter;
+ }
+# endif
+#endif
+}
+
+void Expand1bitTo16(const void* __restrict bytearr, uint32_t input_bit_ct, uint32_t incr, void* __restrict dst) {
+ const unsigned char* bytearr_uc = S_CAST(const unsigned char*, bytearr);
+#if defined(USE_SHUFFLE8) && (!(defined(USE_AVX2) && defined(NO_UNALIGNED)))
+ const uint32_t input_nybble_ct = DivUp(input_bit_ct, 4);
+ const uint32_t fullvec_ct = input_nybble_ct / (kBytesPerVec / 8);
+ uint32_t byte_idx = 0;
+ if (fullvec_ct) {
+ const Vec16thUint* bytearr_alias = R_CAST(const Vec16thUint*, bytearr_uc);
+# ifdef USE_AVX2
+ const VecU16 byte_gather = VecToU16(_mm256_setr_epi64x(0, 0, kMask0101, kMask0101));
+ const VecU16 bit_mask = VecToU16(_mm256_set_epi32(0xff7fffbfU, 0xffdfffefU, 0xfff7fffbU, 0xfffdfffeU, 0xff7fffbfU, 0xffdfffefU, 0xfff7fffbU, 0xfffdfffeU));
+# else
+ const VecU16 bit_mask = VecToU16(_mm_set_epi32(0xff7fffbfU, 0xffdfffefU, 0xfff7fffbU, 0xfffdfffeU));
+# endif
+ const VecU16 all1 = VCONST_S(0xffff);
+ const VecU16 subfrom = vecu16_set1(incr);
+ VecU16* dst_alias = S_CAST(VecU16*, dst);
+ // todo: check whether this is actually any better than the non-vectorized
+ // loop
+ for (uint32_t vec_idx = 0; vec_idx != fullvec_ct; ++vec_idx) {
+# ifdef USE_AVX2
+ VecU16 vmask = VecToU16(_mm256_set1_epi16(bytearr_alias[vec_idx]));
+ vmask = vecu16_shuffle8(vmask, byte_gather);
+# else
+ VecU16 vmask = VecToU16(_mm_set1_epi8(bytearr_alias[vec_idx]));
+# endif
+ vmask = vmask | bit_mask;
+ vmask = (vmask == all1);
+ const VecU16 result = subfrom - vmask;
+ vecu16_storeu(&(dst_alias[vec_idx]), result);
+ }
+ byte_idx = fullvec_ct * (kBytesPerVec / 16);
+ }
+ const uintptr_t incr_word = incr * kMask0001;
+ const uint32_t fullbyte_ct = input_nybble_ct / 2;
+ uintptr_t* dst_w = S_CAST(uintptr_t*, dst);
+ for (; byte_idx != fullbyte_ct; ++byte_idx) {
+ const uintptr_t input_byte = bytearr_uc[byte_idx];
+ const uintptr_t input_byte_scatter = input_byte * 0x200040008001LLU;
+ const uintptr_t write0 = input_byte_scatter & kMask0001;
+ const uintptr_t write1 = (input_byte_scatter >> 4) & kMask0001;
+ dst_w[2 * byte_idx] = incr_word + write0;
+ dst_w[2 * byte_idx + 1] = incr_word + write1;
+ }
+ if (input_nybble_ct % 2) {
+ const uintptr_t input_byte = bytearr_uc[byte_idx];
+ const uintptr_t write0 = (input_byte * 0x200040008001LLU) & kMask0001;
+ dst_w[input_nybble_ct - 1] = incr_word + write0;
+ }
+#else // (!USE_SHUFFLE8) || (NO_UNALIGNED && USE_AVX2)
+ const uintptr_t incr_word = incr * kMask0001;
+ uintptr_t* dst_w = S_CAST(uintptr_t*, dst);
+# ifdef __LP64__
+ const uint32_t input_nybble_ct = DivUp(input_bit_ct, 4);
+ const uint32_t fullbyte_ct = input_nybble_ct / 2;
+ for (uint32_t uii = 0; uii != fullbyte_ct; ++uii) {
+ const uintptr_t input_byte = bytearr_uc[uii];
+ const uintptr_t input_byte_scatter = input_byte * 0x200040008001LLU;
+ const uintptr_t write0 = input_byte_scatter & kMask0001;
+ const uintptr_t write1 = (input_byte_scatter >> 4) & kMask0001;
+ dst_w[2 * uii] = incr_word + write0;
+ dst_w[2 * uii + 1] = incr_word + write1;
+ }
+ if (input_nybble_ct % 2) {
+ const uintptr_t input_byte = bytearr_uc[fullbyte_ct];
+ const uintptr_t write0 = (input_byte * 0x200040008001LLU) & kMask0001;
+ dst_w[input_nybble_ct - 1] = incr_word + write0;
+ }
+# else // !__LP64__
+ const uint32_t fullbyte_ct = input_bit_ct / 8;
+ for (uint32_t uii = 0; uii != fullbyte_ct; ++uii) {
+ uintptr_t input_byte = bytearr_uc[uii];
+ const uintptr_t input_byte_scatter = input_byte * 0x8001;
+ dst_w[4 * uii] = (input_byte_scatter & kMask0001) + incr_word;
+ dst_w[4 * uii + 1] = ((input_byte_scatter >> 2) & kMask0001) + incr_word;
+ dst_w[4 * uii + 2] = ((input_byte_scatter >> 4) & kMask0001) + incr_word;
+ dst_w[4 * uii + 3] = ((input_byte_scatter >> 6) & kMask0001) + incr_word;
+ }
+ const uint32_t remainder = input_bit_ct % 8;
+ if (remainder) {
+ uintptr_t input_byte = bytearr_uc[fullbyte_ct];
+ uint16_t* dst_u16 = S_CAST(uint16_t*, dst);
+ uint16_t* dst_u16_last = &(dst_u16[8 * fullbyte_ct]);
+ for (uint32_t uii = 0; uii < remainder; ++uii) {
+ dst_u16_last[uii] = (input_byte & 1) + incr;
+ input_byte = input_byte >> 1;
+ }
+ }
+# endif
+#endif
+}
+
+#ifdef USE_SSE2
+static_assert(kPglBitTransposeBatch == S_CAST(uint32_t, kBitsPerCacheline), "TransposeBitblock64() needs to be updated.");
+void TransposeBitblock64(const uintptr_t* read_iter, uintptr_t read_ul_stride, uintptr_t write_ul_stride, uint32_t read_row_ct, uint32_t write_row_ct, uintptr_t* write_iter, VecW* __restrict buf0, VecW* __restrict buf1) {
+ // We need to perform the equivalent of 9-10 shuffles (assuming a full-size
+ // 512x512 or 1024x1024 bitblock).
+ // The first shuffles are performed by the ingestion loop: we write the first
+ // word from every row to buf0, then the second word from every row, etc.,
+ // yielding
+ // (0,0) ... (0,63) (1,0) ... (1,63) (2,0) ... (511,63)
+ // (0,64) ... (0,127) (1,64) ... (1,127) (2,64) ... (511,127)
+ // ...
+ // (0,448) ... (0,511) (1,448) ... (1,511) (2,448) ... (511,511)
+ // in terms of the original bit positions when kCacheline==64.
+ // Since each input row has 8-16 words, this amounts to 3-4 shuffles.
+ //
+ // The second step writes
+ // (0,0) (0,1) ... (0,7) (1,0) (1,1) ... (1,7) ... (511,7)
+ // (0,8) (0,9) ... (0,15) (1,8) (1,9) ... (1,15) ... (511,15)
+ // ...
+ // (0,504) ... (0,511) (1,504) ... (1,511) ... (511,511)
+ // to buf1, performing the equivalent of 3 shuffles, and the third step
+ // finishes the transpose using movemask.
+ //
+ // buf0 and buf1 must both be 32KiB vector-aligned buffers when
+ // kCacheline==64, and 128KiB when kCacheline==128.
+
+ const uint32_t buf0_row_ct = DivUp(write_row_ct, 64);
+ {
+ uintptr_t* buf0_ul = DowncastVecWToW(buf0);
+ const uint32_t zfill_ct = (-read_row_ct) & (kBitsPerWord - 1);
+ for (uint32_t ridx = 0; ridx != buf0_row_ct; ++ridx) {
+ const uintptr_t* read_iter_tmp = &(read_iter[ridx]);
+ uintptr_t* buf0_row_start = &(buf0_ul[kPglBitTransposeBatch * ridx]);
+ for (uint32_t uii = 0; uii != read_row_ct; ++uii) {
+ buf0_row_start[uii] = *read_iter_tmp;
+ read_iter_tmp = &(read_iter_tmp[read_ul_stride]);
+ }
+ // This is a simple way of fulfilling the trailing-zero part of the
+ // function contract.
+ // ( buf0 rows zeroed out to 512 bytes
+ // -> buf1 rows zeroed out to 64 bytes
+ // -> output rows zeroed out to 8 bytes)
+ ZeroWArr(zfill_ct, &(buf0_row_start[read_row_ct]));
+ }
+ }
+ const uint32_t write_word_width = DivUp(read_row_ct, 64);
+ {
+ const VecW* buf0_read_iter = buf0;
+ uintptr_t* write_iter0 = DowncastVecWToW(buf1);
+# ifdef USE_SHUFFLE8
+ const VecW gather_u16s = vecw_setr8(0, 8, 1, 9, 2, 10, 3, 11,
+ 4, 12, 5, 13, 6, 14, 7, 15);
+# ifdef USE_AVX2
+ const VecW gather_u32s = vecw_setr8(0, 1, 8, 9, 2, 3, 10, 11,
+ 4, 5, 12, 13, 6, 7, 14, 15);
+# endif
+# else
+ const VecW m8 = VCONST_W(kMask00FF);
+# endif
+ const uint32_t buf0_row_b64width = write_word_width * 8;
+ for (uint32_t ridx = 0; ridx != buf0_row_ct; ++ridx) {
+ uintptr_t* write_iter1 = &(write_iter0[kCacheline]);
+ uintptr_t* write_iter2 = &(write_iter1[kCacheline]);
+ uintptr_t* write_iter3 = &(write_iter2[kCacheline]);
+ uintptr_t* write_iter4 = &(write_iter3[kCacheline]);
+ uintptr_t* write_iter5 = &(write_iter4[kCacheline]);
+ uintptr_t* write_iter6 = &(write_iter5[kCacheline]);
+ uintptr_t* write_iter7 = &(write_iter6[kCacheline]);
+ for (uint32_t b64idx = 0; b64idx != buf0_row_b64width; ++b64idx) {
+# ifdef USE_AVX2
+ VecW loader0 = buf0_read_iter[b64idx * 2];
+ VecW loader1 = buf0_read_iter[b64idx * 2 + 1];
+ // (0,0) (0,1) ... (0,7) (1,0) (1,1) ... (1,7) (2,0) ... (3,7)
+ // -> (0,0) (1,0) (0,1) (1,1) (0,2) .... (1,7) (2,0) (3,0) (2,1) ...
+ loader0 = vecw_shuffle8(loader0, gather_u16s);
+ loader1 = vecw_shuffle8(loader1, gather_u16s);
+ // -> (0,0) (1,0) (0,1) (1,1) (0,2) (1,2) (0,3) (1,3) (2,0) (3,0) ...
+ VecW vec_lo = vecw_permute0xd8_if_avx2(loader0);
+ VecW vec_hi = vecw_permute0xd8_if_avx2(loader1);
+ // -> (0,0) (1,0) (2,0) (3,0) (0,1) (1,1) (2,1) (3,1) (0,2) ...
+ vec_lo = vecw_shuffle8(vec_lo, gather_u32s);
+ // -> (4,0) (5,0) (6,0) (7,0) (4,1) (5,1) (6,1) (7,1) (4,2) ...
+ vec_hi = vecw_shuffle8(vec_hi, gather_u32s);
+ const VecW final0145 = vecw_unpacklo32(vec_lo, vec_hi);
+ const VecW final2367 = vecw_unpackhi32(vec_lo, vec_hi);
+ write_iter0[b64idx] = vecw_extract64_0(final0145);
+ write_iter1[b64idx] = vecw_extract64_1(final0145);
+ write_iter2[b64idx] = vecw_extract64_0(final2367);
+ write_iter3[b64idx] = vecw_extract64_1(final2367);
+ write_iter4[b64idx] = vecw_extract64_2(final0145);
+ write_iter5[b64idx] = vecw_extract64_3(final0145);
+ write_iter6[b64idx] = vecw_extract64_2(final2367);
+ write_iter7[b64idx] = vecw_extract64_3(final2367);
+# else // !USE_AVX2
+ VecW loader0 = buf0_read_iter[b64idx * 4];
+ VecW loader1 = buf0_read_iter[b64idx * 4 + 1];
+ VecW loader2 = buf0_read_iter[b64idx * 4 + 2];
+ VecW loader3 = buf0_read_iter[b64idx * 4 + 3];
+ // (0,0) (0,1) ... (0,7) (1,0) (1,1) ... (1,7)
+ // -> (0,0) (1,0) (0,1) (1,1) (0,2) ... (1,7)
+# ifdef USE_SHUFFLE8
+ loader0 = vecw_shuffle8(loader0, gather_u16s);
+ loader1 = vecw_shuffle8(loader1, gather_u16s);
+ loader2 = vecw_shuffle8(loader2, gather_u16s);
+ loader3 = vecw_shuffle8(loader3, gather_u16s);
+# else
+ VecW tmp_lo = vecw_unpacklo8(loader0, loader1);
+ VecW tmp_hi = vecw_unpackhi8(loader0, loader1);
+ loader0 = vecw_blendv(vecw_slli(tmp_hi, 8), tmp_lo, m8);
+ loader1 = vecw_blendv(tmp_hi, vecw_srli(tmp_lo, 8), m8);
+ tmp_lo = vecw_unpacklo8(loader2, loader3);
+ tmp_hi = vecw_unpackhi8(loader2, loader3);
+ loader2 = vecw_blendv(vecw_slli(tmp_hi, 8), tmp_lo, m8);
+ loader3 = vecw_blendv(tmp_hi, vecw_srli(tmp_lo, 8), m8);
+# endif
+ // -> (0,0) (1,0) (2,0) (3,0) (0,1) (1,1) (2,1) (3,1) (0,2) ...
+ const VecW lo_0123 = vecw_unpacklo16(loader0, loader1);
+ // -> (0,4) (1,4) (2,4) (3,4) (0,5) (1,5) (2,5) (3,5) (0,6) ...
+ const VecW lo_4567 = vecw_unpackhi16(loader0, loader1);
+ const VecW hi_0123 = vecw_unpacklo16(loader2, loader3);
+ const VecW hi_4567 = vecw_unpackhi16(loader2, loader3);
+
+ VecW final01 = vecw_unpacklo32(lo_0123, hi_0123);
+ VecW final23 = vecw_unpackhi32(lo_0123, hi_0123);
+ VecW final45 = vecw_unpacklo32(lo_4567, hi_4567);
+ VecW final67 = vecw_unpackhi32(lo_4567, hi_4567);
+ write_iter0[b64idx] = vecw_extract64_0(final01);
+ write_iter1[b64idx] = vecw_extract64_1(final01);
+ write_iter2[b64idx] = vecw_extract64_0(final23);
+ write_iter3[b64idx] = vecw_extract64_1(final23);
+ write_iter4[b64idx] = vecw_extract64_0(final45);
+ write_iter5[b64idx] = vecw_extract64_1(final45);
+ write_iter6[b64idx] = vecw_extract64_0(final67);
+ write_iter7[b64idx] = vecw_extract64_1(final67);
+# endif // !USE_AVX2
+ }
+ buf0_read_iter = &(buf0_read_iter[kPglBitTransposeBatch / kWordsPerVec]);
+ write_iter0 = &(write_iter7[kCacheline]);
+ }
+ }
+ const VecW* buf1_read_iter = buf1;
+ const uint32_t write_v8ui_stride = kVec8thUintPerWord * write_ul_stride;
+ const uint32_t buf1_fullrow_ct = write_row_ct / 8;
+ const uint32_t buf1_row_vecwidth = write_word_width * (8 / kWordsPerVec);
+ Vec8thUint* write_iter0 = DowncastWToV8(write_iter);
+ for (uint32_t ridx = 0; ridx != buf1_fullrow_ct; ++ridx) {
+ Vec8thUint* write_iter1 = &(write_iter0[write_v8ui_stride]);
+ Vec8thUint* write_iter2 = &(write_iter1[write_v8ui_stride]);
+ Vec8thUint* write_iter3 = &(write_iter2[write_v8ui_stride]);
+ Vec8thUint* write_iter4 = &(write_iter3[write_v8ui_stride]);
+ Vec8thUint* write_iter5 = &(write_iter4[write_v8ui_stride]);
+ Vec8thUint* write_iter6 = &(write_iter5[write_v8ui_stride]);
+ Vec8thUint* write_iter7 = &(write_iter6[write_v8ui_stride]);
+ for (uint32_t vidx = 0; vidx != buf1_row_vecwidth; ++vidx) {
+ VecW loader = buf1_read_iter[vidx];
+ write_iter7[vidx] = vecw_movemask(loader);
+ loader = vecw_slli(loader, 1);
+ write_iter6[vidx] = vecw_movemask(loader);
+ loader = vecw_slli(loader, 1);
+ write_iter5[vidx] = vecw_movemask(loader);
+ loader = vecw_slli(loader, 1);
+ write_iter4[vidx] = vecw_movemask(loader);
+ loader = vecw_slli(loader, 1);
+ write_iter3[vidx] = vecw_movemask(loader);
+ loader = vecw_slli(loader, 1);
+ write_iter2[vidx] = vecw_movemask(loader);
+ loader = vecw_slli(loader, 1);
+ write_iter1[vidx] = vecw_movemask(loader);
+ loader = vecw_slli(loader, 1);
+ write_iter0[vidx] = vecw_movemask(loader);
+ }
+ buf1_read_iter = &(buf1_read_iter[kCacheline / kWordsPerVec]);
+ write_iter0 = &(write_iter7[write_v8ui_stride]);
+ }
+ const uint32_t row_ct_rem = write_row_ct % 8;
+ if (!row_ct_rem) {
+ return;
+ }
+ const uint32_t lshift = 8 - row_ct_rem;
+ Vec8thUint* write_iter_last = &(write_iter0[write_v8ui_stride * (row_ct_rem - 1)]);
+ for (uint32_t vidx = 0; vidx != buf1_row_vecwidth; ++vidx) {
+ VecW loader = buf1_read_iter[vidx];
+ loader = vecw_slli_variable_ct(loader, lshift);
+ Vec8thUint* inner_write_iter = &(write_iter_last[vidx]);
+ for (uint32_t uii = 0; uii != row_ct_rem; ++uii) {
+ *inner_write_iter = vecw_movemask(loader);
+ loader = vecw_slli(loader, 1);
+ inner_write_iter -= write_v8ui_stride;
+ }
+ }
+}
+#else // !USE_SSE2
+# ifdef __LP64__
+static_assert(kWordsPerVec == 1, "TransposeBitblock64() needs to be updated.");
+void TransposeBitblock64(const uintptr_t* read_iter, uintptr_t read_ul_stride, uintptr_t write_ul_stride, uint32_t read_row_ct, uint32_t write_row_ct, uintptr_t* write_iter, VecW* __restrict buf0, VecW* __restrict buf1) {
+ // buf must be vector-aligned and have size 64k
+ const uint32_t initial_read_byte_ct = DivUp(write_row_ct, CHAR_BIT);
+ // fold the first 6 shuffles into the initial ingestion loop
+ const unsigned char* initial_read_iter = DowncastKToUc(read_iter);
+ const unsigned char* initial_read_end = &(initial_read_iter[initial_read_byte_ct]);
+ unsigned char* initial_target_iter = DowncastToUc(buf0);
+ const uint32_t read_byte_stride = read_ul_stride * kBytesPerWord;
+ const uint32_t read_batch_rem = kBitsPerCacheline - read_row_ct;
+ for (; initial_read_iter != initial_read_end; ++initial_read_iter) {
+ const unsigned char* read_iter_tmp = initial_read_iter;
+ for (uint32_t ujj = 0; ujj != read_row_ct; ++ujj) {
+ *initial_target_iter++ = *read_iter_tmp;
+ read_iter_tmp = &(read_iter_tmp[read_byte_stride]);
+ }
+ initial_target_iter = memsetua(initial_target_iter, 0, read_batch_rem);
+ }
+
+ // third-to-last shuffle, 8 bit spacing -> 4
+ const VecW* source_iter = buf0;
+ uintptr_t* target_iter0 = buf1;
+ const uint32_t write_word_ct = BitCtToWordCt(read_row_ct);
+ const uint32_t first_inner_loop_iter_ct = 4 * write_word_ct;
+ uint32_t cur_write_skip = 4 * kWordsPerCacheline - first_inner_loop_iter_ct;
+ // coincidentally, this also needs to run DivUp(write_row_ct, CHAR_BIT)
+ // times
+ for (uint32_t uii = 0; uii != initial_read_byte_ct; ++uii) {
+ uintptr_t* target_iter1 = &(target_iter0[kWordsPerCacheline * 4]);
+ for (uint32_t ujj = 0; ujj != first_inner_loop_iter_ct; ++ujj) {
+ const uintptr_t source_word_lo = *source_iter++;
+ const uintptr_t source_word_hi = *source_iter++;
+ *target_iter0++ = PackTwo0F0FMask(source_word_lo, source_word_hi);
+ *target_iter1++ = PackTwo0F0FMask(source_word_lo >> 4, source_word_hi >> 4);
+ }
+ source_iter = &(source_iter[2 * cur_write_skip]);
+ target_iter0 = &(target_iter1[cur_write_skip]);
+ }
+
+ // second-to-last shuffle, 4 bit spacing -> 2
+ source_iter = buf1;
+ target_iter0 = buf0;
+ const uint32_t second_outer_loop_iter_ct = DivUp(write_row_ct, 4);
+ const uint32_t second_inner_loop_iter_ct = 2 * write_word_ct;
+ cur_write_skip = 2 * kWordsPerCacheline - second_inner_loop_iter_ct;
+ for (uint32_t uii = 0; uii != second_outer_loop_iter_ct; ++uii) {
+ uintptr_t* target_iter1 = &(target_iter0[kWordsPerCacheline * 2]);
+ for (uint32_t ujj = 0; ujj != second_inner_loop_iter_ct; ++ujj) {
+ const uintptr_t source_word_lo = *source_iter++;
+ const uintptr_t source_word_hi = *source_iter++;
+ *target_iter0++ = PackTwo3333Mask(source_word_lo, source_word_hi);
+ *target_iter1++ = PackTwo3333Mask(source_word_lo >> 2, source_word_hi >> 2);
+ }
+ source_iter = &(source_iter[2 * cur_write_skip]);
+ target_iter0 = &(target_iter1[cur_write_skip]);
+ }
+ // last shuffle, 2 bit spacing -> 1
+ source_iter = buf0;
+ target_iter0 = write_iter;
+ const uint32_t last_loop_iter_ct = DivUp(write_row_ct, 2);
+ for (uint32_t uii = 0; uii != last_loop_iter_ct; ++uii) {
+ uintptr_t* target_iter1 = &(target_iter0[write_ul_stride]);
+ for (uint32_t ujj = 0; ujj != write_word_ct; ++ujj) {
+ const uintptr_t source_word_lo = S_CAST(uintptr_t, *source_iter++);
+ const uintptr_t source_word_hi = S_CAST(uintptr_t, *source_iter++);
+ target_iter0[ujj] = PackTwo5555Mask(source_word_lo, source_word_hi);
+ target_iter1[ujj] = PackTwo5555Mask(source_word_lo >> 1, source_word_hi >> 1);
+ }
+ source_iter = &(source_iter[2 * (kWordsPerCacheline - write_word_ct)]);
+ target_iter0 = &(target_iter1[write_ul_stride]);
+ }
+}
+# else
+static_assert(kWordsPerVec == 1, "TransposeBitblock32() needs to be updated.");
+void TransposeBitblock32(const uintptr_t* read_iter, uintptr_t read_ul_stride, uintptr_t write_ul_stride, uint32_t read_batch_size, uint32_t write_batch_size, uintptr_t* write_iter, VecW* __restrict buf0, VecW* __restrict buf1) {
+ // buf must be vector-aligned and have size 64k
+ const uint32_t initial_read_byte_ct = DivUp(write_batch_size, CHAR_BIT);
+ // fold the first 6 shuffles into the initial ingestion loop
+ const unsigned char* initial_read_iter = DowncastKToUc(read_iter);
+ const unsigned char* initial_read_end = &(initial_read_iter[initial_read_byte_ct]);
+ unsigned char* initial_target_iter = DowncastToUc(buf0);
+ const uint32_t read_byte_stride = read_ul_stride * kBytesPerWord;
+ const uint32_t read_batch_rem = kBitsPerCacheline - read_batch_size;
+ for (; initial_read_iter != initial_read_end; ++initial_read_iter) {
+ const unsigned char* read_iter_tmp = initial_read_iter;
+ for (uint32_t ujj = 0; ujj != read_batch_size; ++ujj) {
+ *initial_target_iter++ = *read_iter_tmp;
+ read_iter_tmp = &(read_iter_tmp[read_byte_stride]);
+ }
+ initial_target_iter = memsetua(initial_target_iter, 0, read_batch_rem);
+ }
+
+ // third-to-last shuffle, 8 bit spacing -> 4
+ const VecW* source_iter = buf0;
+ uintptr_t* target_iter0 = buf1;
+ const uint32_t write_word_ct = BitCtToWordCt(read_batch_size);
+ const uint32_t first_inner_loop_iter_ct = 4 * write_word_ct;
+ uint32_t cur_write_skip = 4 * kWordsPerCacheline - first_inner_loop_iter_ct;
+ // coincidentally, this also needs to run DivUp(write_batch_size, CHAR_BIT)
+ // times
+ for (uint32_t uii = 0; uii != initial_read_byte_ct; ++uii) {
+ uintptr_t* target_iter1 = &(target_iter0[kWordsPerCacheline * 4]);
+ for (uint32_t ujj = 0; ujj != first_inner_loop_iter_ct; ++ujj) {
+ const uintptr_t source_word_lo = *source_iter++;
+ const uintptr_t source_word_hi = *source_iter++;
+ *target_iter0++ = PackTwo0F0FMask(source_word_lo, source_word_hi);
+ *target_iter1++ = PackTwo0F0FMask(source_word_lo >> 4, source_word_hi >> 4);
+ }
+ source_iter = &(source_iter[2 * cur_write_skip]);
+ target_iter0 = &(target_iter1[cur_write_skip]);
+ }
+
+ // second-to-last shuffle, 4 bit spacing -> 2
+ source_iter = buf1;
+ target_iter0 = buf0;
+ const uint32_t second_outer_loop_iter_ct = DivUp(write_batch_size, 4);
+ const uint32_t second_inner_loop_iter_ct = 2 * write_word_ct;
+ cur_write_skip = 2 * kWordsPerCacheline - second_inner_loop_iter_ct;
+ for (uint32_t uii = 0; uii != second_outer_loop_iter_ct; ++uii) {
+ uintptr_t* target_iter1 = &(target_iter0[kWordsPerCacheline * 2]);
+ for (uint32_t ujj = 0; ujj != second_inner_loop_iter_ct; ++ujj) {
+ const uintptr_t source_word_lo = *source_iter++;
+ const uintptr_t source_word_hi = *source_iter++;
+ *target_iter0++ = PackTwo3333Mask(source_word_lo, source_word_hi);
+ *target_iter1++ = PackTwo3333Mask(source_word_lo >> 2, source_word_hi >> 2);
+ }
+ source_iter = &(source_iter[2 * cur_write_skip]);
+ target_iter0 = &(target_iter1[cur_write_skip]);
+ }
+ // last shuffle, 2 bit spacing -> 1
+ source_iter = buf0;
+ target_iter0 = write_iter;
+ const uint32_t last_loop_iter_ct = DivUp(write_batch_size, 2);
+ for (uint32_t uii = 0; uii != last_loop_iter_ct; ++uii) {
+ uintptr_t* target_iter1 = &(target_iter0[write_ul_stride]);
+ for (uint32_t ujj = 0; ujj != write_word_ct; ++ujj) {
+ const uintptr_t source_word_lo = S_CAST(uintptr_t, *source_iter++);
+ const uintptr_t source_word_hi = S_CAST(uintptr_t, *source_iter++);
+ target_iter0[ujj] = PackTwo5555Mask(source_word_lo, source_word_hi);
+ target_iter1[ujj] = PackTwo5555Mask(source_word_lo >> 1, source_word_hi >> 1);
+ }
+ source_iter = &(source_iter[2 * (kWordsPerCacheline - write_word_ct)]);
+ target_iter0 = &(target_iter1[write_ul_stride]);
+ }
+}
+# endif
+#endif // !USE_SSE2
+
+#ifdef USE_SSE2
+void TransposeNybbleblock(const uintptr_t* read_iter, uint32_t read_ul_stride, uint32_t write_ul_stride, uint32_t read_batch_size, uint32_t write_batch_size, uintptr_t* __restrict write_iter, VecW* vecaligned_buf) {
+ // Very similar to TransposeNypblock64() in pgenlib_internal.
+ // vecaligned_buf must be vector-aligned and have size 8k if kCacheline==64,
+ // 32k if kCacheline==128
+ const uint32_t buf_row_ct = DivUp(write_batch_size, 8);
+ // fold the first 4-5 shuffles into the initial ingestion loop
+ const uint32_t* initial_read_iter = DowncastKWToU32(read_iter);
+ const uint32_t* initial_read_end = &(initial_read_iter[buf_row_ct]);
+ uint32_t* initial_target_iter = DowncastVecWToU32(vecaligned_buf);
+ const uint32_t read_u32_stride = read_ul_stride * (kBytesPerWord / 4);
+ const uint32_t read_batch_rem = kNybblesPerCacheline - read_batch_size;
+ for (; initial_read_iter != initial_read_end; ++initial_read_iter) {
+ const uint32_t* read_iter_tmp = initial_read_iter;
+ for (uint32_t ujj = 0; ujj != read_batch_size; ++ujj) {
+ *initial_target_iter++ = *read_iter_tmp;
+ read_iter_tmp = &(read_iter_tmp[read_u32_stride]);
+ }
+ if (!read_batch_rem) {
+ continue;
+ }
+ memset(initial_target_iter, 0, read_batch_rem * 4);
+ initial_target_iter = &(initial_target_iter[read_batch_rem]);
+ }
+
+ // 32 bit spacing -> 4
+ const VecW* source_iter = vecaligned_buf;
+ const VecW m4 = VCONST_W(kMask0F0F);
+ const uint32_t buf_fullrow_ct = write_batch_size / 8;
+ const uint32_t b64width = DivUp(read_batch_size, 16);
+ uintptr_t* target_iter0 = write_iter;
+ uint32_t cur_dst_row_ct = 8;
+# ifdef USE_SHUFFLE8
+ const VecW gather_u16s = vecw_setr8(0, 8, 1, 9, 2, 10, 3, 11,
+ 4, 12, 5, 13, 6, 14, 7, 15);
+# else
+ const VecW m8 = VCONST_W(kMask00FF);
+# endif
+# ifdef USE_AVX2
+ // movemask is slower even in AVX2 case
+ const VecW gather_u32s = vecw_setr8(0, 1, 8, 9, 2, 3, 10, 11,
+ 4, 5, 12, 13, 6, 7, 14, 15);
+ for (uint32_t buf_row_idx = 0; ; ++buf_row_idx) {
+ if (buf_row_idx >= buf_fullrow_ct) {
+ if (buf_row_idx == buf_row_ct) {
+ return;
+ }
+ cur_dst_row_ct = write_batch_size % 8;
+ }
+ uintptr_t* target_iter1 = &(target_iter0[write_ul_stride]);
+ uintptr_t* target_iter2 = &(target_iter1[write_ul_stride]);
+ uintptr_t* target_iter3 = &(target_iter2[write_ul_stride]);
+ uintptr_t* target_iter4 = &(target_iter3[write_ul_stride]);
+ uintptr_t* target_iter5 = &(target_iter4[write_ul_stride]);
+ uintptr_t* target_iter6 = &(target_iter5[write_ul_stride]);
+ uintptr_t* target_iter7 = &(target_iter6[write_ul_stride]);
+ for (uint32_t b64idx = 0; b64idx != b64width; ++b64idx) {
+ const VecW loader0 = source_iter[b64idx * 2];
+ const VecW loader1 = source_iter[b64idx * 2 + 1];
+ VecW even_nybbles0 = loader0 & m4;
+ VecW odd_nybbles0 = vecw_and_notfirst(m4, loader0);
+ VecW even_nybbles1 = loader1 & m4;
+ VecW odd_nybbles1 = vecw_and_notfirst(m4, loader1);
+ even_nybbles0 = even_nybbles0 | vecw_srli(even_nybbles0, 28);
+ odd_nybbles0 = vecw_slli(odd_nybbles0, 28) | odd_nybbles0;
+ even_nybbles1 = even_nybbles1 | vecw_srli(even_nybbles1, 28);
+ odd_nybbles1 = vecw_slli(odd_nybbles1, 28) | odd_nybbles1;
+ // Label the bytes in even_nybbles0 (0, 1, 2, ..., 31), and the bytes in
+ // even_nybbles1 (32, 33, ..., 63). We wish to generate the following
+ // lane-and-vector-crossing permutation:
+ // (0, 8, 16, 24, 32, 40, 48, 56, 1, 9, 17, 25, 33, 41, 49, 57)
+ // (2, 10, 18, 26, 34, 42, 50, 58, 3, 11, 19, 27, 35, 43, 51, 59)
+
+ // first shuffle:
+ // (0, 8, 1, 9, 2, 10, 3, 11, _, _, _, _, _, _, _, _,
+ // 16, 24, 17, 25, 18, 26, 19, 27, _, _, _, _, _, _, _, _)
+ //
+ // (32, 40, 33, 41, 34, 42, 35, 43, _, _, _, _, _, _, _, _,
+ // 48, 56, 49, 57, 50, 58, 51, 59, _, _, _, _, _, _, _, _)
+ //
+ // _mm256_unpacklo_epi16:
+ // (0, 8, 32, 40, 1, 9, 33, 41, 2, 10, 34, 42, 3, 11, 35, 43,
+ // 16, 24, 48, 56, 17, 25, 49, 57, 18, 26, 50, 58, 19, 27, 51, 59)
+ //
+ // {0, 2, 1, 3} permute:
+ // (0, 8, 32, 40, 1, 9, 33, 41, 16, 24, 48, 56, 17, 25, 49, 57,
+ // 2, 10, 34, 42, 3, 11, 35, 43, 18, 26, 50, 58, 19, 27, 51, 59)
+ //
+ // final shuffle gives us what we want.
+ even_nybbles0 = vecw_shuffle8(even_nybbles0, gather_u16s);
+ odd_nybbles0 = vecw_shuffle8(odd_nybbles0, gather_u16s);
+ even_nybbles1 = vecw_shuffle8(even_nybbles1, gather_u16s);
+ odd_nybbles1 = vecw_shuffle8(odd_nybbles1, gather_u16s);
+
+ VecW target_even = vecw_unpacklo16(even_nybbles0, even_nybbles1);
+ VecW target_odd = vecw_unpackhi16(odd_nybbles0, odd_nybbles1);
+
+ target_even = vecw_permute0xd8_if_avx2(target_even);
+ target_odd = vecw_permute0xd8_if_avx2(target_odd);
+
+ target_even = vecw_shuffle8(target_even, gather_u32s);
+ target_odd = vecw_shuffle8(target_odd, gather_u32s);
+
+ // tried using _mm_stream_si64 here, that totally sucked
+ switch (cur_dst_row_ct) {
+ case 8:
+ target_iter7[b64idx] = vecw_extract64_3(target_odd);
+ // fall through
+ case 7:
+ target_iter6[b64idx] = vecw_extract64_3(target_even);
+ // fall through
+ case 6:
+ target_iter5[b64idx] = vecw_extract64_2(target_odd);
+ // fall through
+ case 5:
+ target_iter4[b64idx] = vecw_extract64_2(target_even);
+ // fall through
+ case 4:
+ target_iter3[b64idx] = vecw_extract64_1(target_odd);
+ // fall through
+ case 3:
+ target_iter2[b64idx] = vecw_extract64_1(target_even);
+ // fall through
+ case 2:
+ target_iter1[b64idx] = vecw_extract64_0(target_odd);
+ // fall through
+ default:
+ target_iter0[b64idx] = vecw_extract64_0(target_even);
+ }
+ }
+ source_iter = &(source_iter[(4 * kPglNybbleTransposeBatch) / kBytesPerVec]);
+ target_iter0 = &(target_iter7[write_ul_stride]);
+ }
+# else // !USE_AVX2
+ for (uint32_t buf_row_idx = 0; ; ++buf_row_idx) {
+ if (buf_row_idx >= buf_fullrow_ct) {
+ if (buf_row_idx == buf_row_ct) {
+ return;
+ }
+ cur_dst_row_ct = write_batch_size % 8;
+ }
+ uintptr_t* target_iter1 = &(target_iter0[write_ul_stride]);
+ uintptr_t* target_iter2 = &(target_iter1[write_ul_stride]);
+ uintptr_t* target_iter3 = &(target_iter2[write_ul_stride]);
+ uintptr_t* target_iter4 = &(target_iter3[write_ul_stride]);
+ uintptr_t* target_iter5 = &(target_iter4[write_ul_stride]);
+ uintptr_t* target_iter6 = &(target_iter5[write_ul_stride]);
+ uintptr_t* target_iter7 = &(target_iter6[write_ul_stride]);
+ for (uint32_t b64idx = 0; b64idx != b64width; ++b64idx) {
+ const VecW loader0 = source_iter[b64idx * 4];
+ const VecW loader1 = source_iter[b64idx * 4 + 1];
+ const VecW loader2 = source_iter[b64idx * 4 + 2];
+ const VecW loader3 = source_iter[b64idx * 4 + 3];
+ VecW even_nybbles0 = loader0 & m4;
+ VecW odd_nybbles0 = vecw_and_notfirst(m4, loader0);
+ VecW even_nybbles1 = loader1 & m4;
+ VecW odd_nybbles1 = vecw_and_notfirst(m4, loader1);
+ VecW even_nybbles2 = loader2 & m4;
+ VecW odd_nybbles2 = vecw_and_notfirst(m4, loader2);
+ VecW even_nybbles3 = loader3 & m4;
+ VecW odd_nybbles3 = vecw_and_notfirst(m4, loader3);
+ even_nybbles0 = even_nybbles0 | vecw_srli(even_nybbles0, 28);
+ odd_nybbles0 = vecw_slli(odd_nybbles0, 28) | odd_nybbles0;
+ even_nybbles1 = even_nybbles1 | vecw_srli(even_nybbles1, 28);
+ odd_nybbles1 = vecw_slli(odd_nybbles1, 28) | odd_nybbles1;
+ even_nybbles2 = even_nybbles2 | vecw_srli(even_nybbles2, 28);
+ odd_nybbles2 = vecw_slli(odd_nybbles2, 28) | odd_nybbles2;
+ even_nybbles3 = even_nybbles3 | vecw_srli(even_nybbles3, 28);
+ odd_nybbles3 = vecw_slli(odd_nybbles3, 28) | odd_nybbles3;
+ // Label the bytes in even_nybbles0 (0, 1, 2, ..., 15), the bytes in
+ // even_nybbles1 (16, 17, ..., 31), ..., up to even_nybbles3 being (48,
+ // 49, ..., 63). We wish to generate the following vector-crossing
+ // permutation:
+ // (0, 8, 16, 24, 32, 40, 48, 56, 1, 9, 17, 25, 33, 41, 49, 57)
+ // (2, 10, 18, 26, 34, 42, 50, 58, 3, 11, 19, 27, 35, 43, 51, 59)
+
+ // first shuffle:
+ // (0, 8, 1, 9, 2, 10, 3, 11, _, _, _, _, _, _, _, _)
+ // (16, 24, 17, 25, 18, 26, 19, 27, _, _, _, _, _, _, _, _)
+ // (32, 40, 33, 41, 34, 42, 35, 43, _, _, _, _, _, _, _, _)
+ // (48, 56, 49, 57, 50, 58, 51, 59, _, _, _, _, _, _, _, _)
+
+ // _mm_unpacklo_epi16:
+ // (0, 8, 16, 24, 1, 9, 17, 25, 2, 10, 18, 26, 3, 11, 19, 27)
+ // (32, 40, 48, 56, 33, 41, 49, 57, 34, 42, 50, 58, 35, 43, 51, 59)
+ //
+ // finish with _mm_unpack{lo,hi}_epi32
+# ifdef USE_SHUFFLE8
+ even_nybbles0 = vecw_shuffle8(even_nybbles0, gather_u16s);
+ odd_nybbles0 = vecw_shuffle8(odd_nybbles0, gather_u16s);
+ even_nybbles1 = vecw_shuffle8(even_nybbles1, gather_u16s);
+ odd_nybbles1 = vecw_shuffle8(odd_nybbles1, gather_u16s);
+ even_nybbles2 = vecw_shuffle8(even_nybbles2, gather_u16s);
+ odd_nybbles2 = vecw_shuffle8(odd_nybbles2, gather_u16s);
+ even_nybbles3 = vecw_shuffle8(even_nybbles3, gather_u16s);
+ odd_nybbles3 = vecw_shuffle8(odd_nybbles3, gather_u16s);
+# else
+ VecW tmp_lo = vecw_unpacklo8(even_nybbles0, odd_nybbles0);
+ VecW tmp_hi = vecw_unpackhi8(even_nybbles0, odd_nybbles0);
+ even_nybbles0 = vecw_blendv(vecw_slli(tmp_hi, 8), tmp_lo, m8);
+ odd_nybbles0 = vecw_blendv(tmp_hi, vecw_srli(tmp_lo, 8), m8);
+ tmp_lo = vecw_unpacklo8(even_nybbles1, odd_nybbles1);
+ tmp_hi = vecw_unpackhi8(even_nybbles1, odd_nybbles1);
+ even_nybbles1 = vecw_blendv(vecw_slli(tmp_hi, 8), tmp_lo, m8);
+ odd_nybbles1 = vecw_blendv(tmp_hi, vecw_srli(tmp_lo, 8), m8);
+ tmp_lo = vecw_unpacklo8(even_nybbles2, odd_nybbles2);
+ tmp_hi = vecw_unpackhi8(even_nybbles2, odd_nybbles2);
+ even_nybbles2 = vecw_blendv(vecw_slli(tmp_hi, 8), tmp_lo, m8);
+ odd_nybbles2 = vecw_blendv(tmp_hi, vecw_srli(tmp_lo, 8), m8);
+ tmp_lo = vecw_unpacklo8(even_nybbles3, odd_nybbles3);
+ tmp_hi = vecw_unpackhi8(even_nybbles3, odd_nybbles3);
+ even_nybbles3 = vecw_blendv(vecw_slli(tmp_hi, 8), tmp_lo, m8);
+ odd_nybbles3 = vecw_blendv(tmp_hi, vecw_srli(tmp_lo, 8), m8);
+# endif
+
+ const VecW even_lo = vecw_unpacklo16(even_nybbles0, even_nybbles1);
+ const VecW odd_lo = vecw_unpackhi16(odd_nybbles0, odd_nybbles1);
+ const VecW even_hi = vecw_unpacklo16(even_nybbles2, even_nybbles3);
+ const VecW odd_hi = vecw_unpackhi16(odd_nybbles2, odd_nybbles3);
+
+ const VecW final02 = vecw_unpacklo32(even_lo, even_hi);
+ const VecW final13 = vecw_unpacklo32(odd_lo, odd_hi);
+ const VecW final46 = vecw_unpackhi32(even_lo, even_hi);
+ const VecW final57 = vecw_unpackhi32(odd_lo, odd_hi);
+ switch (cur_dst_row_ct) {
+ case 8:
+ target_iter7[b64idx] = vecw_extract64_1(final57);
+ // fall through
+ case 7:
+ target_iter6[b64idx] = vecw_extract64_1(final46);
+ // fall through
+ case 6:
+ target_iter5[b64idx] = vecw_extract64_0(final57);
+ // fall through
+ case 5:
+ target_iter4[b64idx] = vecw_extract64_0(final46);
+ // fall through
+ case 4:
+ target_iter3[b64idx] = vecw_extract64_1(final13);
+ // fall through
+ case 3:
+ target_iter2[b64idx] = vecw_extract64_1(final02);
+ // fall through
+ case 2:
+ target_iter1[b64idx] = vecw_extract64_0(final13);
+ // fall through
+ default:
+ target_iter0[b64idx] = vecw_extract64_0(final02);
+ }
+ }
+ source_iter = &(source_iter[(4 * kPglNybbleTransposeBatch) / kBytesPerVec]);
+ target_iter0 = &(target_iter7[write_ul_stride]);
+ }
+# endif // !USE_AVX2
+}
+#else // !USE_SSE2
+static_assert(kWordsPerVec == 1, "TransposeNybbleblock() needs to be updated.");
+void TransposeNybbleblock(const uintptr_t* read_iter, uint32_t read_ul_stride, uint32_t write_ul_stride, uint32_t read_batch_size, uint32_t write_batch_size, uintptr_t* __restrict write_iter, VecW* vecaligned_buf) {
+ // Very similar to unvectorized TransposeNypblock{32,64}() in pgenlib_misc.
+ // vecaligned_buf must have size 8k
+ const uint32_t buf_row_ct = NybbleCtToByteCt(write_batch_size);
+ // fold the first 6 shuffles into the initial ingestion loop
+ const unsigned char* initial_read_iter = DowncastKToUc(read_iter);
+ const unsigned char* initial_read_end = &(initial_read_iter[buf_row_ct]);
+ unsigned char* initial_target_iter = DowncastToUc(vecaligned_buf);
+ const uint32_t read_byte_stride = read_ul_stride * kBytesPerWord;
+ const uint32_t read_batch_rem = kNybblesPerCacheline - read_batch_size;
+ for (; initial_read_iter != initial_read_end; ++initial_read_iter) {
+ const unsigned char* read_iter_tmp = initial_read_iter;
+ for (uint32_t ujj = 0; ujj != read_batch_size; ++ujj) {
+ *initial_target_iter++ = *read_iter_tmp;
+ read_iter_tmp = &(read_iter_tmp[read_byte_stride]);
+ }
+ initial_target_iter = memsetua(initial_target_iter, 0, read_batch_rem);
+ }
+
+ // 8 bit spacing -> 4
+ const VecW* source_iter = vecaligned_buf;
+ uintptr_t* target_iter0 = write_iter;
+ const uint32_t buf_fullrow_ct = write_batch_size / 2;
+ const uint32_t write_word_ct = NybbleCtToWordCt(read_batch_size);
+ for (uint32_t uii = 0; uii != buf_fullrow_ct; ++uii) {
+ uintptr_t* target_iter1 = &(target_iter0[write_ul_stride]);
+ for (uint32_t ujj = 0; ujj != write_word_ct; ++ujj) {
+ const uintptr_t source_word_lo = *source_iter++;
+ const uintptr_t source_word_hi = *source_iter++;
+ target_iter0[ujj] = PackTwo0F0FMask(source_word_lo, source_word_hi);
+ target_iter1[ujj] = PackTwo0F0FMask(source_word_lo >> 4, source_word_hi >> 4);
+ }
+ source_iter = &(source_iter[2 * (kWordsPerCacheline - write_word_ct)]);
+ target_iter0 = &(target_iter1[write_ul_stride]);
+ }
+ const uint32_t remainder = write_batch_size % 2;
+ if (!remainder) {
+ return;
+ }
+ for (uint32_t ujj = 0; ujj != write_word_ct; ++ujj) {
+ const uintptr_t source_word_lo = *source_iter++;
+ const uintptr_t source_word_hi = *source_iter++;
+ target_iter0[ujj] = PackTwo0F0FMask(source_word_lo, source_word_hi);
+ }
+}
+#endif // !USE_SSE2
+
+#ifdef USE_SSE2
+# ifdef USE_AVX2
+const unsigned char kLeadMask[2 * kBytesPerVec] __attribute__ ((aligned (64))) =
+ {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+ 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255};
+# else
+const unsigned char kLeadMask[2 * kBytesPerVec] __attribute__ ((aligned (32))) =
+ {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255};
+# endif
+
+uintptr_t BytesumArr(const void* bytearr, uintptr_t byte_ct) {
+ uintptr_t tot = 0;
+ if (byte_ct < kBytesPerVec) {
+ const unsigned char* bytearr_uc = S_CAST(const unsigned char*, bytearr);
+ for (uintptr_t ulii = 0; ulii != byte_ct; ++ulii) {
+ tot += bytearr_uc[ulii];
+ }
+ return tot;
+ }
+ const unsigned char* bytearr_uc_iter = S_CAST(const unsigned char*, bytearr);
+ const unsigned char* bytearr_uc_final = &(bytearr_uc_iter[byte_ct - kBytesPerVec]);
+ const VecW m0 = vecw_setzero();
+ VecW acc = vecw_setzero();
+ while (bytearr_uc_iter < bytearr_uc_final) {
+ const VecW cur_vec = vecw_loadu(bytearr_uc_iter);
+ acc = acc + vecw_sad(cur_vec, m0);
+ bytearr_uc_iter = &(bytearr_uc_iter[kBytesPerVec]);
+ }
+ VecW cur_vec = vecw_loadu(bytearr_uc_final);
+ const uintptr_t overlap_byte_ct = bytearr_uc_iter - bytearr_uc_final;
+ const VecW mask_vec = vecw_loadu(&(kLeadMask[kBytesPerVec - overlap_byte_ct]));
+ cur_vec = cur_vec & mask_vec;
+ acc = acc + vecw_sad(cur_vec, m0);
+ return HsumW(acc);
+}
+
+#else // !USE_SSE2
+uintptr_t BytesumArr(const void* bytearr, uintptr_t byte_ct) {
+ // Assumes sum is representable by uintptr_t.
+ const unsigned char* bytearr_uc = S_CAST(const unsigned char*, bytearr);
+ const uintptr_t* bytearr_alias_iter;
+ uint32_t lead_byte_ct = AlignKToAW(bytearr_uc, &bytearr_alias_iter);
+ uintptr_t tot = 0;
+ if (lead_byte_ct) {
+ if (lead_byte_ct > byte_ct) {
+ lead_byte_ct = byte_ct;
+ }
+ for (uint32_t uii = 0; uii != lead_byte_ct; ++uii) {
+ tot += bytearr_uc[uii];
+ }
+ byte_ct -= lead_byte_ct;
+ if (!byte_ct) {
+ return tot;
+ }
+ }
+ const uint32_t fullword_ct = byte_ct / kBytesPerWord;
+ const uint32_t wordblock_idx_trail = fullword_ct / 256;
+ const uint32_t wordblock_idx_end = DivUp(fullword_ct, 256);
+ uint32_t wordblock_len = 256;
+ for (uint32_t wordblock_idx = 0; ; ++wordblock_idx) {
+ if (wordblock_idx >= wordblock_idx_trail) {
+ if (wordblock_idx == wordblock_idx_end) {
+ byte_ct = byte_ct % kBytesPerWord;
+ const unsigned char* last_word_start = DowncastKToUc(bytearr_alias_iter);
+ for (uint32_t uii = 0; uii != byte_ct; ++uii) {
+ tot += last_word_start[uii];
+ }
+ return tot;
+ }
+ wordblock_len = fullword_ct % 256;
+ }
+ const uintptr_t* bytearr_alias_stop = &(bytearr_alias_iter[wordblock_len]);
+ uintptr_t acc_even = 0;
+ uintptr_t acc_odd = 0;
+ do {
+ uintptr_t cur_word = *bytearr_alias_iter++;
+ acc_even += cur_word & kMask00FF;
+ acc_odd += (cur_word >> 8) & kMask00FF;
+ } while (bytearr_alias_iter < bytearr_alias_stop);
+ acc_even = S_CAST(Halfword, acc_even) + (acc_even >> kBitsPerWordD2);
+ acc_odd = S_CAST(Halfword, acc_odd) + (acc_odd >> kBitsPerWordD2);
+ tot += acc_even + acc_odd;
+ }
+}
+#endif // !USE_SSE2
+
+uintptr_t CountByte(const void* bytearr, unsigned char ucc, uintptr_t byte_ct) {
+ const unsigned char* bytearr_uc_iter = S_CAST(const unsigned char*, bytearr);
+#ifdef USE_SSE2
+ if (byte_ct < kBytesPerVec) {
+#endif
+ uintptr_t tot = 0;
+ for (uintptr_t ulii = 0; ulii != byte_ct; ++ulii) {
+ tot += (bytearr_uc_iter[ulii] == ucc);
+ }
+ return tot;
+#ifdef USE_SSE2
+ }
+ const VecW m0 = vecw_setzero();
+ const VecUc match_vvec = vecuc_set1(ucc);
+ VecW acc = vecw_setzero();
+ while (byte_ct > 255 * kBytesPerVec) {
+ VecUc inner_acc = vecuc_setzero();
+ for (uint32_t uii = 0; uii != 255; ++uii) {
+ const VecUc cur_vvec = vecuc_loadu(bytearr_uc_iter);
+ bytearr_uc_iter = &(bytearr_uc_iter[kBytesPerVec]);
+ inner_acc = inner_acc - (cur_vvec == match_vvec);
+ }
+ acc = acc + vecw_sad(VecUcToW(inner_acc), m0);
+ byte_ct -= 255 * kBytesPerVec;
+ }
+ const unsigned char* bytearr_uc_final = &(bytearr_uc_iter[byte_ct - kBytesPerVec]);
+ VecUc inner_acc = vecuc_setzero();
+ while (bytearr_uc_iter < bytearr_uc_final) {
+ const VecUc cur_vvec = vecuc_loadu(bytearr_uc_iter);
+ bytearr_uc_iter = &(bytearr_uc_iter[kBytesPerVec]);
+ inner_acc = inner_acc - (cur_vvec == match_vvec);
+ }
+ VecUc cur_vvec = vecuc_loadu(bytearr_uc_final);
+ const uintptr_t overlap_byte_ct = bytearr_uc_iter - bytearr_uc_final;
+ const VecUc mask_vvec = vecuc_loadu(&(kLeadMask[kBytesPerVec - overlap_byte_ct]));
+ cur_vvec = (cur_vvec == match_vvec) & mask_vvec;
+ inner_acc = inner_acc - cur_vvec;
+ acc = acc + vecw_sad(VecUcToW(inner_acc), m0);
+ return HsumW(acc);
+#endif // USE_SSE2
+}
+
+uintptr_t CountU16(const void* u16arr, uint16_t usii, uintptr_t u16_ct) {
+ const unsigned char* u16arr_biter = S_CAST(const unsigned char*, u16arr);
+#ifdef USE_SSE2
+ if (u16_ct < (kBytesPerVec / 2)) {
+#endif
+ // todo: benchmark this vs. zero-extend in a non-SSE2 setting
+ uintptr_t tot = 0;
+ for (uintptr_t ulii = 0; ulii != u16_ct; ++ulii) {
+ uint16_t cur_u16;
+ CopyFromUnalignedOffsetU16(&cur_u16, u16arr_biter, ulii);
+ tot += (cur_u16 == usii);
+ }
+ return tot;
+#ifdef USE_SSE2
+ }
+ const VecW m0 = vecw_setzero();
+ const VecU16 match_vvec = vecu16_set1(usii);
+ VecW acc = vecw_setzero();
+ // can also use larger loop and a slightly different accumulation algorithm,
+ // but it should make practically no difference; lets keep these loops as
+ // similar as possible for now.
+ while (u16_ct > 255 * (kBytesPerVec / 2)) {
+ VecU16 inner_acc = vecu16_setzero();
+ for (uint32_t uii = 0; uii != 255; ++uii) {
+ const VecU16 cur_vvec = vecu16_loadu(u16arr_biter);
+ u16arr_biter = &(u16arr_biter[kBytesPerVec]);
+ inner_acc = inner_acc - (cur_vvec == match_vvec);
+ }
+ acc = acc + vecw_sad(VecU16ToW(inner_acc), m0);
+ u16_ct -= 255 * (kBytesPerVec / 2);
+ }
+ const unsigned char* u16arr_final = &(u16arr_biter[u16_ct * sizeof(int16_t) - kBytesPerVec]);
+ VecU16 inner_acc = vecu16_setzero();
+ while (u16arr_biter < u16arr_final) {
+ const VecU16 cur_vvec = vecu16_loadu(u16arr_biter);
+ u16arr_biter = &(u16arr_biter[kBytesPerVec]);
+ inner_acc = inner_acc - (cur_vvec == match_vvec);
+ }
+ VecU16 cur_vvec = vecu16_loadu(u16arr_final);
+ const uintptr_t overlap_byte_ct = u16arr_biter - u16arr_final;
+ const VecU16 mask_vvec = vecu16_loadu(&(kLeadMask[kBytesPerVec - overlap_byte_ct]));
+ cur_vvec = (cur_vvec == match_vvec) & mask_vvec;
+ inner_acc = inner_acc - cur_vvec;
+ acc = acc + vecw_sad(VecU16ToW(inner_acc), m0);
+ return HsumW(acc);
+#endif // USE_SSE2
+}
+
+uint32_t Copy1bit8Subset(const uintptr_t* __restrict src_subset, const void* __restrict src_vals, const uintptr_t* __restrict sample_include, uint32_t src_subset_size, uint32_t sample_ct, uintptr_t* __restrict dst_subset, void* __restrict dst_vals) {
+ if (!src_subset_size) {
+ return 0;
+ }
+ CopyBitarrSubset(src_subset, sample_include, sample_ct, dst_subset);
+ const unsigned char* src_vals_uc = S_CAST(const unsigned char*, src_vals);
+ unsigned char* dst_vals_uc = S_CAST(unsigned char*, dst_vals);
+ unsigned char* dst_vals_iter = dst_vals_uc;
+ uintptr_t sample_widx = 0;
+ uintptr_t src_subset_bits = src_subset[0];
+ for (uint32_t src_idx = 0; src_idx != src_subset_size; ++src_idx) {
+ const uintptr_t lowbit = BitIter1y(src_subset, &sample_widx, &src_subset_bits);
+ if (sample_include[sample_widx] & lowbit) {
+ *dst_vals_iter++ = src_vals_uc[src_idx];
+ }
+ }
+ return dst_vals_iter - dst_vals_uc;
+}
+
+uint32_t Copy1bit16Subset(const uintptr_t* __restrict src_subset, const void* __restrict src_vals, const uintptr_t* __restrict sample_include, uint32_t src_subset_size, uint32_t sample_ct, uintptr_t* __restrict dst_subset, void* __restrict dst_vals) {
+ if (!src_subset_size) {
+ return 0;
+ }
+ CopyBitarrSubset(src_subset, sample_include, sample_ct, dst_subset);
+ const uint16_t* src_vals_u16 = S_CAST(const uint16_t*, src_vals);
+ uint16_t* dst_vals_u16 = S_CAST(uint16_t*, dst_vals);
+ uint16_t* dst_vals_iter = dst_vals_u16;
+ uintptr_t sample_widx = 0;
+ uintptr_t src_subset_bits = src_subset[0];
+ for (uint32_t src_idx = 0; src_idx != src_subset_size; ++src_idx) {
+ const uintptr_t lowbit = BitIter1y(src_subset, &sample_widx, &src_subset_bits);
+ if (sample_include[sample_widx] & lowbit) {
+ *dst_vals_iter++ = src_vals_u16[src_idx];
+ }
+ }
+ return dst_vals_iter - dst_vals_u16;
+}
+
+// 'Unsafe' because it assumes high bits of every byte are 0.
+void Reduce8to4bitInplaceUnsafe(uintptr_t entry_ct, uintptr_t* mainvec) {
+#ifdef USE_SSE2
+ const uintptr_t fullvec_ct = entry_ct / (kBytesPerVec * 2);
+ const VecW m8 = VCONST_W(kMask00FF);
+ VecW* vmainvec = R_CAST(VecW*, mainvec);
+ for (uintptr_t write_vidx = 0; write_vidx != fullvec_ct; ++write_vidx) {
+ VecW v0 = vmainvec[write_vidx * 2];
+ VecW v1 = vmainvec[write_vidx * 2 + 1];
+ v0 = v0 | vecw_srli(v0, 4);
+ v1 = v1 | vecw_srli(v1, 4);
+ vmainvec[write_vidx] = vecw_gather_even(v0, v1, m8);
+ }
+ uintptr_t write_idx = fullvec_ct * kWordsPerVec;
+ if (write_idx == entry_ct * 2) {
+ return;
+ }
+#else
+ uintptr_t write_idx = 0;
+#endif
+ // Read two words at a time and write one.
+ // We could instead read one word and write a Halfword at a time, but I'd
+ // rather not worry about the strict-aliasing issues involved there.
+ const uintptr_t write_idx_last = (entry_ct - 1) / (kBytesPerWord * 2);
+ uintptr_t write_word;
+ for (; ; ++write_idx) {
+ const uintptr_t inword0 = mainvec[2 * write_idx];
+ const uintptr_t inword1 = mainvec[2 * write_idx + 1];
+ write_word = PackTwo0F0F(inword0, inword1);
+ if (write_idx == write_idx_last) {
+ break;
+ }
+ mainvec[write_idx] = write_word;
+ }
+ const uint32_t remaining_entry_ct = ModNz(entry_ct, kBytesPerWord * 2);
+ mainvec[write_idx] = bzhi_max(write_word, remaining_entry_ct * 4);
+}
+
+#ifdef __cplusplus
+} // namespace plink2
+#endif
diff --git a/external_libs/pgenlib/include/plink2_bits.h b/external_libs/pgenlib/include/plink2_bits.h
new file mode 100644
index 0000000..c86d2ee
--- /dev/null
+++ b/external_libs/pgenlib/include/plink2_bits.h
@@ -0,0 +1,643 @@
+#ifndef __PLINK2_BITS_H__
+#define __PLINK2_BITS_H__
+
+// This library is part of PLINK 2.0, copyright (C) 2005-2024 Shaun Purcell,
+// Christopher Chang.
+//
+// This library is free software: you can redistribute it and/or modify it
+// under the terms of the GNU Lesser General Public License as published by the
+// Free Software Foundation; either version 3 of the License, or (at your
+// option) any later version.
+//
+// This library is distributed in the hope that it will be useful, but WITHOUT
+// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+// FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+// for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this library. If not, see .
+
+
+// Bitarray support. (Inline single-word operations are in plink2_base.h.)
+
+#include "plink2_base.h"
+
+#ifdef __cplusplus
+namespace plink2 {
+#endif
+
+#if defined(USE_SSE2) && !defined(USE_AVX2)
+// may also want a version which doesn't always apply kMask5555
+void Pack32bTo16bMask(const void* words_vec, uintptr_t ct_32b, void* dest);
+
+HEADER_INLINE void PackWordsToHalfwordsMask(const uintptr_t* words_vec, uintptr_t word_ct, void* dest) {
+ uintptr_t widx = 0;
+ if (word_ct >= (32 / kBytesPerWord)) {
+ const uintptr_t ct_32b = word_ct / (32 / kBytesPerWord);
+ Pack32bTo16bMask(words_vec, ct_32b, dest);
+ widx = ct_32b * (32 / kBytesPerWord);
+ }
+ unsigned char* dest_uc = S_CAST(unsigned char*, dest);
+ for (; widx != word_ct; ++widx) {
+ const Halfword hw = PackWordToHalfwordMask5555(words_vec[widx]);
+ CopyToUnalignedOffsetHW(dest_uc, &hw, widx);
+ }
+}
+#else
+HEADER_INLINE void PackWordsToHalfwordsMask(const uintptr_t* words_vec, uintptr_t word_ct, void* dest) {
+ unsigned char* dest_uc = S_CAST(unsigned char*, dest);
+ for (uintptr_t widx = 0; widx != word_ct; ++widx) {
+ const Halfword hw = PackWordToHalfwordMask5555(words_vec[widx]);
+ CopyToUnalignedOffsetHW(dest_uc, &hw, widx);
+ }
+}
+
+#endif
+
+// ok for ct == 0
+void SetAllBits(uintptr_t ct, uintptr_t* bitarr);
+
+// "Nz" added to names to make it obvious these require positive len
+void FillBitsNz(uintptr_t start_idx, uintptr_t end_idx, uintptr_t* bitarr);
+void ClearBitsNz(uintptr_t start_idx, uintptr_t end_idx, uintptr_t* bitarr);
+
+void BitvecAnd(const uintptr_t* __restrict arg_bitvec, uintptr_t word_ct, uintptr_t* __restrict main_bitvec);
+
+void BitvecInvmask(const uintptr_t* __restrict exclude_bitvec, uintptr_t word_ct, uintptr_t* __restrict main_bitvec);
+
+void BitvecOr(const uintptr_t* __restrict arg_bitvec, uintptr_t word_ct, uintptr_t* main_bitvec);
+
+void BitvecInvert(uintptr_t word_ct, uintptr_t* main_bitvec);
+
+void BitvecXorCopy(const uintptr_t* __restrict source1_bitvec, const uintptr_t* __restrict source2_bitvec, uintptr_t word_ct, uintptr_t* target_bitvec);
+
+void BitvecInvertCopy(const uintptr_t* __restrict source_bitvec, uintptr_t word_ct, uintptr_t* __restrict target_bitvec);
+
+// These ensure the trailing bits are zeroed out.
+// 'AlignedBitarr' instead of Bitvec since this takes bit_ct instead of word_ct
+// as the size argument, and zeroes trailing bits.
+HEADER_INLINE void AlignedBitarrInvert(uintptr_t bit_ct, uintptr_t* main_bitvec) {
+ const uintptr_t fullword_ct = bit_ct / kBitsPerWord;
+ BitvecInvert(fullword_ct, main_bitvec);
+ const uint32_t trail_ct = bit_ct % kBitsPerWord;
+ if (trail_ct) {
+ main_bitvec[fullword_ct] = bzhi(~main_bitvec[fullword_ct], trail_ct);
+ }
+}
+
+HEADER_INLINE void AlignedBitarrInvertCopy(const uintptr_t* __restrict source_bitvec, uintptr_t bit_ct, uintptr_t* __restrict target_bitvec) {
+ const uintptr_t fullword_ct = bit_ct / kBitsPerWord;
+ BitvecInvertCopy(source_bitvec, fullword_ct, target_bitvec);
+ const uint32_t trail_ct = bit_ct % kBitsPerWord;
+ if (trail_ct) {
+ target_bitvec[fullword_ct] = bzhi(~source_bitvec[fullword_ct], trail_ct);
+ }
+}
+
+// Functions with "adv" in the name generally take an index or char-pointer as
+// an argument and return its new value, while "mov" functions take a
+// pointer-to-index or pointer-to-char-pointer and move it.
+
+// These return the current index if the corresponding bit satisfies the
+// condition.
+uintptr_t AdvTo1Bit(const uintptr_t* bitarr, uintptr_t loc);
+
+uintptr_t AdvTo0Bit(const uintptr_t* bitarr, uintptr_t loc);
+
+// uintptr_t NextNonmissingUnsafe(const uintptr_t* genoarr, uintptr_t loc);
+
+uint32_t AdvBoundedTo1Bit(const uintptr_t* bitarr, uint32_t loc, uint32_t ceil);
+
+uintptr_t AdvBoundedTo0Bit(const uintptr_t* bitarr, uintptr_t loc, uintptr_t ceil);
+
+uintptr_t FindLast1BitBefore(const uintptr_t* bitarr, uintptr_t loc);
+
+// possible todo: check if movemask-based solution is better in AVX2 case
+HEADER_INLINE uint32_t AllWordsAreZero(const uintptr_t* word_arr, uintptr_t word_ct) {
+ while (word_ct--) {
+ if (*word_arr++) {
+ return 0;
+ }
+ }
+ return 1;
+}
+
+HEADER_INLINE uint32_t AllBitsAreOne(const uintptr_t* bitarr, uintptr_t bit_ct) {
+ const uintptr_t fullword_ct = bit_ct / kBitsPerWord;
+ for (uintptr_t widx = 0; widx != fullword_ct; ++widx) {
+ if (~(bitarr[widx])) {
+ return 0;
+ }
+ }
+ const uint32_t trailing_bit_ct = bit_ct % kBitsPerWord;
+ return (!trailing_bit_ct) || ((~(bitarr[fullword_ct])) << (kBitsPerWord - trailing_bit_ct));
+}
+
+uint32_t AllBytesAreX(const unsigned char* bytes, unsigned char match, uintptr_t byte_ct);
+
+// Updated PopcountWords() code is based on
+// https://github.com/kimwalisch/libpopcnt . libpopcnt license text follows.
+
+/*
+ * libpopcnt.h - C/C++ library for counting the number of 1 bits (bit
+ * population count) in an array as quickly as possible using
+ * specialized CPU instructions i.e. POPCNT, AVX2, AVX512, NEON.
+ *
+ * Copyright (c) 2016 - 2017, Kim Walisch
+ * Copyright (c) 2016 - 2017, Wojciech Mula
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * 2. 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.
+ *
+ * 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 OWNER 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.
+ */
+
+#ifdef USE_AVX2
+// 'Csa' = carry, save, add
+// If bb, cc, and *lp are bitvectors, this returns the carry bitvector and sets
+// *lp to contain the low-order bits of the sums. I.e. for each position:
+// if none of bb, cc, and *lp are set, *lp bit is zero and carry bit is zero
+// if exactly 1 is set, *lp bit becomes one and carry bit is zero
+// if exactly 2 are set, *lp bit becomes zero and carry bit is one
+// if all 3 are set, *lp bit becomes one and carry bit is one
+HEADER_INLINE VecW Csa256(VecW bb, VecW cc, VecW* lp) {
+ const VecW aa = *lp;
+ const VecW uu = aa ^ bb;
+ *lp = uu ^ cc;
+ return (aa & bb) | (uu & cc);
+}
+
+HEADER_INLINE VecW CsaOne256(VecW bb, VecW* lp) {
+ const VecW aa = *lp;
+ *lp = aa ^ bb;
+ return aa & bb;
+}
+
+HEADER_INLINE VecW PopcountVecAvx2(VecW vv) {
+ const VecW lookup1 = vecw_setr8(4, 5, 5, 6, 5, 6, 6, 7,
+ 5, 6, 6, 7, 6, 7, 7, 8);
+ const VecW lookup2 = vecw_setr8(4, 3, 3, 2, 3, 2, 2, 1,
+ 3, 2, 2, 1, 2, 1, 1, 0);
+
+ const VecW m4 = VCONST_W(kMask0F0F);
+ const VecW lo = vv & m4;
+ const VecW hi = vecw_srli(vv, 4) & m4;
+ const VecW popcnt1 = vecw_shuffle8(lookup1, lo);
+ const VecW popcnt2 = vecw_shuffle8(lookup2, hi);
+ return vecw_sad(popcnt1, popcnt2);
+}
+
+HEADER_INLINE uintptr_t HsumW(VecW vv) {
+ UniVec vu;
+ vu.vw = vv;
+ return vu.w[0] + vu.w[1] + vu.w[2] + vu.w[3];
+ // _mm256_extract_epi64() only worth it if we don't need to extract all the
+ // values.
+ // (also, I wouldn't be surprised if the compiler recognized the pattern
+ // above)
+}
+
+// This no longer has any restrictions on vec_ct, though it isn't worth the
+// overhead for vec_ct < 16.
+uintptr_t PopcountVecsAvx2(const VecW* bit_vvec, uintptr_t vec_ct);
+
+HEADER_INLINE uintptr_t PopcountWords(const uintptr_t* bitvec, uintptr_t word_ct) {
+ // Efficiently popcounts bitvec[0..(word_ct - 1)]. In the 64-bit case,
+ // bitvec[] must be 16-byte aligned.
+ // The PopcountWordsNzbase() wrapper takes care of starting from a later
+ // index.
+ uintptr_t tot = 0;
+ if (word_ct >= 76) {
+ assert(IsVecAligned(bitvec));
+ const uintptr_t remainder = word_ct % kWordsPerVec;
+ const uintptr_t main_block_word_ct = word_ct - remainder;
+ tot = PopcountVecsAvx2(R_CAST(const VecW*, bitvec), main_block_word_ct / kWordsPerVec);
+ bitvec = &(bitvec[main_block_word_ct]);
+ word_ct = remainder;
+ }
+ // note that recent clang versions automatically expand this to a
+ // full-service routine; takes ~50% longer than PopcountVecsAvx2 on >1kb
+ // arrays, but way better than the naive loop
+ for (uintptr_t widx = 0; widx != word_ct; ++widx) {
+ tot += PopcountWord(bitvec[widx]);
+ }
+ return tot;
+}
+#else // !USE_AVX2
+# ifdef USE_SSE2
+HEADER_INLINE uintptr_t HsumW(VecW vv) {
+ UniVec vu;
+ vu.vw = vv;
+ return vu.w[0] + vu.w[1];
+}
+# else
+HEADER_INLINE uintptr_t HsumW(VecW vv) {
+ return vv;
+}
+# endif
+
+// assumes vec_ct is a multiple of 3
+uintptr_t PopcountVecsNoAvx2(const VecW* bit_vvec, uintptr_t vec_ct);
+
+HEADER_INLINE uintptr_t PopcountWords(const uintptr_t* bitvec, uintptr_t word_ct) {
+ uintptr_t tot = 0;
+#ifndef USE_SSE42
+ if (word_ct >= (3 * kWordsPerVec)) {
+ // This has an asymptotic ~10% advantage in the SSE4.2 case, but word_ct
+ // needs to be in the hundreds before the initial comparison even starts to
+ // pay for itself.
+ assert(IsVecAligned(bitvec));
+ const uintptr_t remainder = word_ct % (3 * kWordsPerVec);
+ const uintptr_t main_block_word_ct = word_ct - remainder;
+ tot = PopcountVecsNoAvx2(R_CAST(const VecW*, bitvec), main_block_word_ct / kWordsPerVec);
+ word_ct = remainder;
+ bitvec = &(bitvec[main_block_word_ct]);
+ }
+#endif
+ for (uintptr_t trailing_word_idx = 0; trailing_word_idx != word_ct; ++trailing_word_idx) {
+ tot += PopcountWord(bitvec[trailing_word_idx]);
+ }
+ return tot;
+}
+#endif // !USE_AVX2
+
+uintptr_t PopcountWordsIntersect(const uintptr_t* __restrict bitvec1_iter, const uintptr_t* __restrict bitvec2_iter, uintptr_t word_ct);
+
+uintptr_t PopcountWordsXor(const uintptr_t* __restrict bitvec1_iter, const uintptr_t* __restrict bitvec2_iter, uintptr_t word_ct);
+
+// uintptr_t PopcountWordsIntersect3(const uintptr_t* __restrict bitvec1_iter, const uintptr_t* __restrict bitvec2_iter, const uintptr_t* __restrict bitvec3_iter, uintptr_t word_ct);
+
+// requires positive word_ct
+// stay agnostic a bit longer re: word_ct := DIV_UP(entry_ct, kBitsPerWord)
+// vs. word_ct := 1 + (entry_ct / kBitsPerWord)
+// (this is a source of bugs, though; interface should probably be changed to
+// use entry_ct once multiallelic/dosage implementation is done)
+void FillCumulativePopcounts(const uintptr_t* subset_mask, uint32_t word_ct, uint32_t* cumulative_popcounts);
+
+void FillCumulativePopcountsW(const uintptr_t* subset_mask, uintptr_t word_ct, uintptr_t* cumulative_popcounts_w);
+
+// If idx_list is a list of valid unfiltered indexes, this converts them
+// in-place to corresponding filtered indexes.
+void UidxsToIdxs(const uintptr_t* subset_mask, const uint32_t* subset_cumulative_popcounts, const uintptr_t idx_list_len, uint32_t* idx_list);
+
+// These functions do not overread, but may write extra bytes up to the word
+// boundary.
+void Expand1bitTo8(const void* __restrict bytearr, uint32_t input_bit_ct, uint32_t incr, void* __restrict dst);
+
+void Expand1bitTo16(const void* __restrict bytearr, uint32_t input_bit_ct, uint32_t incr, void* __restrict dst);
+
+
+// might rename this to IsSet01 (guaranteeing 0/1 return value), and change
+// IsSet() to bitarr[idx / kBitsPerWord] & (k1LU << (idx % kBitsPerWord)) since
+// I'd expect that to play better with out-of-order execution. but need to
+// benchmark first.
+HEADER_INLINE uintptr_t IsSet(const uintptr_t* bitarr, uintptr_t idx) {
+ return (bitarr[idx / kBitsPerWord] >> (idx % kBitsPerWord)) & 1;
+}
+
+HEADER_INLINE uintptr_t IsSetUnaligned(const void* bitarr, uintptr_t idx) {
+ const unsigned char* bitarr_uc = S_CAST(const unsigned char*, bitarr);
+ return (bitarr_uc[idx / CHAR_BIT] >> (idx % CHAR_BIT)) & 1;
+}
+
+HEADER_INLINE void SetBit(uintptr_t idx, uintptr_t* bitarr) {
+ bitarr[idx / kBitsPerWord] |= k1LU << (idx % kBitsPerWord);
+}
+
+HEADER_INLINE void ClearBit(uintptr_t idx, uintptr_t* bitarr) {
+ bitarr[idx / kBitsPerWord] &= ~(k1LU << (idx % kBitsPerWord));
+}
+
+HEADER_INLINE void AssignBit(uintptr_t idx, uintptr_t newbit, uintptr_t* bitarr) {
+ const uintptr_t inv_mask = k1LU << (idx % kBitsPerWord);
+ uintptr_t* cur_word_ptr = &(bitarr[idx / kBitsPerWord]);
+ *cur_word_ptr = ((*cur_word_ptr) & (~inv_mask)) | (inv_mask * newbit);
+}
+
+/*
+HEADER_INLINE uintptr_t BitInnerIter1(uintptr_t uidx_base, uintptr_t* cur_bitsp, uintptr_t* cur_uidx_stopp) {
+ const uintptr_t cur_bits = *cur_bitsp;
+ const uint32_t uidx_start_lowbits = ctzw(*cur_bitsp);
+ // Key idea is to iterate over sub-blocks of set bits in a single word, in
+ // essentially the same manner as non-AVX2 CopyBitarrSubset() was doing.
+ // This particular expression 'finds' the end of the current sub-block.
+ const uintptr_t cur_bits_lfill_p1 = (cur_bits | (cur_bits - 1)) + 1;
+ *cur_bitsp = cur_bits & cur_bits_lfill_p1;
+ uint32_t uidx_stop_lowbits = kBitsPerWord;
+ if (cur_bits_lfill_p1) {
+ uidx_stop_lowbits = ctzw(cur_bits_lfill_p1);
+ }
+ *cur_uidx_stopp = uidx_base + uidx_stop_lowbits;
+ return uidx_base + uidx_start_lowbits;
+}
+*/
+
+HEADER_INLINE uintptr_t BitIter1(const uintptr_t* __restrict bitarr, uintptr_t* __restrict uidx_basep, uintptr_t* __restrict cur_bitsp) {
+ uintptr_t cur_bits = *cur_bitsp;
+ if (!cur_bits) {
+ uintptr_t widx = (*uidx_basep) / kBitsPerWord;
+ do {
+ cur_bits = bitarr[++widx];
+ } while (!cur_bits);
+ *uidx_basep = widx * kBitsPerWord;
+ }
+ *cur_bitsp = cur_bits & (cur_bits - 1);
+ return (*uidx_basep) + ctzw(cur_bits);
+}
+
+// Returns lowbit index instead of the full index.
+HEADER_INLINE uint32_t BitIter1x(const uintptr_t* __restrict bitarr, uintptr_t* __restrict widxp, uintptr_t* __restrict cur_bitsp) {
+ uintptr_t cur_bits = *cur_bitsp;
+ while (!cur_bits) {
+ cur_bits = bitarr[++(*widxp)];
+ }
+ *cur_bitsp = cur_bits & (cur_bits - 1);
+ return ctzw(cur_bits);
+}
+
+// Returns isolated lowbit.
+HEADER_INLINE uintptr_t BitIter1y(const uintptr_t* __restrict bitarr, uintptr_t* __restrict widxp, uintptr_t* __restrict cur_bitsp) {
+ uintptr_t cur_bits = *cur_bitsp;
+ while (!cur_bits) {
+ cur_bits = bitarr[++(*widxp)];
+ }
+ const uintptr_t shifted_bit = cur_bits & (-cur_bits);
+ *cur_bitsp = cur_bits ^ shifted_bit;
+ return shifted_bit;
+}
+
+HEADER_INLINE void BitIter1Start(const uintptr_t* __restrict bitarr, uintptr_t restart_uidx, uintptr_t* __restrict uidx_basep, uintptr_t* __restrict cur_bitsp) {
+ const uintptr_t widx = restart_uidx / kBitsPerWord;
+ *cur_bitsp = bitarr[widx] & ((~k0LU) << (restart_uidx % kBitsPerWord));
+ *uidx_basep = widx * kBitsPerWord;
+}
+
+HEADER_INLINE uintptr_t BitIter1NoAdv(const uintptr_t* __restrict bitarr, uintptr_t* __restrict uidx_basep, uintptr_t* __restrict cur_bitsp) {
+ uintptr_t cur_bits = *cur_bitsp;
+ if (!cur_bits) {
+ uintptr_t widx = (*uidx_basep) / kBitsPerWord;
+ do {
+ cur_bits = bitarr[++widx];
+ } while (!cur_bits);
+ *uidx_basep = widx * kBitsPerWord;
+ *cur_bitsp = cur_bits;
+ }
+ return (*uidx_basep) + ctzw(cur_bits);
+}
+
+HEADER_INLINE uintptr_t BitIter0(const uintptr_t* __restrict bitarr, uintptr_t* __restrict uidx_basep, uintptr_t* __restrict cur_inv_bitsp) {
+ uintptr_t cur_inv_bits = *cur_inv_bitsp;
+ if (!cur_inv_bits) {
+ uintptr_t widx = (*uidx_basep) / kBitsPerWord;
+ do {
+ cur_inv_bits = ~bitarr[++widx];
+ } while (!cur_inv_bits);
+ *uidx_basep = widx * kBitsPerWord;
+ }
+ *cur_inv_bitsp = cur_inv_bits & (cur_inv_bits - 1);
+ return (*uidx_basep) + ctzw(cur_inv_bits);
+}
+
+HEADER_INLINE void BitIter0Start(const uintptr_t* __restrict bitarr, uintptr_t restart_uidx, uintptr_t* __restrict uidx_basep, uintptr_t* __restrict cur_inv_bitsp) {
+ const uintptr_t widx = restart_uidx / kBitsPerWord;
+ *cur_inv_bitsp = (~bitarr[widx]) & ((~k0LU) << (restart_uidx % kBitsPerWord));
+ *uidx_basep = widx * kBitsPerWord;
+}
+
+HEADER_INLINE uintptr_t BitIter0NoAdv(const uintptr_t* __restrict bitarr, uintptr_t* __restrict uidx_basep, uintptr_t* __restrict cur_inv_bitsp) {
+ uintptr_t cur_inv_bits = *cur_inv_bitsp;
+ if (!cur_inv_bits) {
+ uintptr_t widx = (*uidx_basep) / kBitsPerWord;
+ do {
+ cur_inv_bits = ~bitarr[++widx];
+ } while (!cur_inv_bits);
+ *uidx_basep = widx * kBitsPerWord;
+ *cur_inv_bitsp = cur_inv_bits;
+ }
+ return (*uidx_basep) + ctzw(cur_inv_bits);
+}
+
+// todo: test this against extracting a nonmissing bitarr first
+/*
+HEADER_INLINE void NextNonmissingUnsafeCk32(const uintptr_t* __restrict genoarr, uint32_t* __restrict loc_ptr) {
+ if (GetNyparrEntry(genoarr, *loc_ptr) == 3) {
+ *loc_ptr = NextNonmissingUnsafe(genoarr, *loc_ptr);
+ }
+}
+*/
+
+// Equivalent to PopcountBitRange(subset_mask, 0, raw_idx).
+HEADER_INLINE uint32_t RawToSubsettedPos(const uintptr_t* subset_mask, const uint32_t* subset_cumulative_popcounts, uintptr_t raw_idx) {
+ // this should be much better than keeping a uidx_to_idx array!
+ // (update: there are more compact indexes, but postpone for now, this is
+ // is nice and simple and gets us most of what we need.)
+ const uintptr_t raw_widx = raw_idx / kBitsPerWord;
+ return subset_cumulative_popcounts[raw_widx] + PopcountWord(bzhi(subset_mask[raw_widx], raw_idx % kBitsPerWord));
+}
+
+HEADER_INLINE uintptr_t RawToSubsettedPosW(const uintptr_t* subset_mask, const uintptr_t* subset_cumulative_popcounts, uintptr_t raw_idx) {
+ const uintptr_t raw_widx = raw_idx / kBitsPerWord;
+ return subset_cumulative_popcounts[raw_widx] + PopcountWord(bzhi(subset_mask[raw_widx], raw_idx % kBitsPerWord));
+}
+
+HEADER_INLINE void ZeroTrailingBits(uintptr_t bit_ct, uintptr_t* bitarr) {
+ const uint32_t trail_ct = bit_ct % kBitsPerWord;
+ if (trail_ct) {
+ bitarr[bit_ct / kBitsPerWord] = bzhi(bitarr[bit_ct / kBitsPerWord], trail_ct);
+ }
+}
+
+#ifdef USE_SSE2
+HEADER_INLINE void ZeroTrailingWords(uint32_t word_ct, uintptr_t* bitvec) {
+ const uint32_t remainder = word_ct % kWordsPerVec;
+ if (remainder) {
+ ZeroWArr(kWordsPerVec - remainder, &(bitvec[word_ct]));
+ }
+}
+#else
+HEADER_INLINE void ZeroTrailingWords(__maybe_unused uint32_t word_ct, __maybe_unused uintptr_t* bitvec) {
+}
+#endif
+
+HEADER_INLINE void CopyBitarr(const uintptr_t* __restrict src, uintptr_t bit_ct, uintptr_t* __restrict dst) {
+ memcpy(dst, src, BitCtToWordCt(bit_ct) * kBytesPerWord);
+}
+
+// output_bit_idx_end is practically always subset_size
+// if not, it currently must correspond to PopcountWords(subset_mask, word_ct)
+// for some word_ct
+void CopyBitarrSubset(const uintptr_t* __restrict raw_bitarr, const uintptr_t* __restrict subset_mask, uint32_t output_bit_idx_end, uintptr_t* __restrict output_bitarr);
+
+#ifndef NO_UNALIGNED
+HEADER_INLINE void CopyBitarrSubsetToUnaligned(const uintptr_t* __restrict raw_bitarr, const uintptr_t* __restrict subset_mask, uint32_t output_bit_idx_end, void* __restrict output_bitarr) {
+ CopyBitarrSubset(raw_bitarr, subset_mask, output_bit_idx_end, S_CAST(uintptr_t*, output_bitarr));
+}
+#else
+void CopyBitarrSubsetToUnaligned(const uintptr_t* __restrict raw_bitarr, const uintptr_t* __restrict subset_mask, uint32_t output_bit_idx_end, void* __restrict output_bitarr);
+#endif
+
+// expand_size + read_start_bit must be positive.
+void ExpandBytearr(const void* __restrict compact_bitarr, const uintptr_t* __restrict expand_mask, uint32_t word_ct, uint32_t expand_size, uint32_t read_start_bit, uintptr_t* __restrict target);
+
+// equivalent to calling ExpandBytearr() followed by CopyBitarrSubset()
+void ExpandThenSubsetBytearr(const void* __restrict compact_bitarr, const uintptr_t* __restrict expand_mask, const uintptr_t* __restrict subset_mask, uint32_t expand_size, uint32_t subset_size, uint32_t read_start_bit, uintptr_t* __restrict target);
+
+// mid_popcount must be positive
+void ExpandBytearrNested(const void* __restrict compact_bitarr, const uintptr_t* __restrict mid_bitarr, const uintptr_t* __restrict top_expand_mask, uint32_t word_ct, uint32_t mid_popcount, uint32_t mid_start_bit, uintptr_t* __restrict mid_target, uintptr_t* __restrict compact_target);
+
+// mid_popcount must be positive
+// if mid_start_bit == 1, mid_popcount should not include that bit
+void ExpandThenSubsetBytearrNested(const void* __restrict compact_bitarr, const uintptr_t* __restrict mid_bitarr, const uintptr_t* __restrict top_expand_mask, const uintptr_t* __restrict subset_mask, uint32_t subset_size, uint32_t mid_popcount, uint32_t mid_start_bit, uintptr_t* __restrict mid_target, uintptr_t* __restrict compact_target);
+
+// these don't read past the end of bitarr
+uintptr_t PopcountBytes(const void* bitarr, uintptr_t byte_ct);
+uintptr_t PopcountBytesMasked(const void* bitarr, const uintptr_t* mask_arr, uintptr_t byte_ct);
+
+
+// TransposeNypblock(), which is more plink-specific, is in pgenlib_misc
+CONSTI32(kPglBitTransposeBatch, kBitsPerCacheline);
+CONSTI32(kPglBitTransposeWords, kWordsPerCacheline);
+// * Up to 512x512 (CACHELINE64) or 1024x1024 (CACHELINE128)
+// * vecaligned_buf must have size 64k (CACHELINE64) or 256k (CACHELINE128)
+// * write_iter must be allocated up to at least
+// RoundUpPow2(write_batch_size, 2) rows
+// * We use pointers with different types to read from and write to buf0/buf1,
+// so defining the base type as unsigned char* is theoretically necessary to
+// avoid breaking strict-aliasing rules, while the restrict qualifiers should
+// tell the compiler it doesn't need to be paranoid about writes to one of
+// the buffers screwing with reads from the other.
+CONSTI32(kPglBitTransposeBufbytes, (kPglBitTransposeBatch * kPglBitTransposeBatch) / (CHAR_BIT / 2));
+#ifdef __LP64__
+void TransposeBitblock64(const uintptr_t* read_iter, uintptr_t read_ul_stride, uintptr_t write_ul_stride, uint32_t read_row_ct, uint32_t write_row_ct, uintptr_t* write_iter, VecW* __restrict buf0, VecW* __restrict buf1);
+
+HEADER_INLINE void TransposeBitblock(const uintptr_t* read_iter, uintptr_t read_ul_stride, uintptr_t write_ul_stride, uint32_t read_batch_size, uint32_t write_batch_size, uintptr_t* write_iter, VecW* vecaligned_buf) {
+ TransposeBitblock64(read_iter, read_ul_stride, write_ul_stride, read_batch_size, write_batch_size, write_iter, vecaligned_buf, &(vecaligned_buf[kPglBitTransposeBufbytes / (2 * kBytesPerVec)]));
+}
+
+#else // !__LP64__
+void TransposeBitblock32(const uintptr_t* read_iter, uintptr_t read_ul_stride, uintptr_t write_ul_stride, uint32_t read_batch_size, uint32_t write_batch_size, uintptr_t* write_iter, VecW* __restrict buf0, VecW* __restrict buf1);
+
+// If this ever needs to be called on an input byte array, read_iter could be
+// changed to const void*; in that case, read_ul_stride should be changed to a
+// byte count.
+HEADER_INLINE void TransposeBitblock(const uintptr_t* read_iter, uintptr_t read_ul_stride, uintptr_t write_ul_stride, uint32_t read_batch_size, uint32_t write_batch_size, uintptr_t* write_iter, VecW* vecaligned_buf) {
+ TransposeBitblock32(read_iter, read_ul_stride, write_ul_stride, read_batch_size, write_batch_size, write_iter, vecaligned_buf, &(vecaligned_buf[kPglBitTransposeBufbytes / (2 * kBytesPerVec)]));
+}
+#endif
+
+CONSTI32(kPglBitTransposeBufwords, kPglBitTransposeBufbytes / kBytesPerWord);
+CONSTI32(kPglBitTransposeBufvecs, kPglBitTransposeBufbytes / kBytesPerVec);
+
+CONSTI32(kPglNybbleTransposeBatch, kNybblesPerCacheline);
+CONSTI32(kPglNybbleTransposeWords, kWordsPerCacheline);
+
+CONSTI32(kPglNybbleTransposeBufbytes, (kPglNybbleTransposeBatch * kPglNybbleTransposeBatch) / 2);
+
+// * Up to 128x128 (CACHELINE64) or 256x256 (CACHELINE128)
+// * vecaligned_buf must have size 8k (CACHELINE64) or 32k (CACHELINE128)
+// * Now ok for write_iter to not be padded when write_batch_size odd
+void TransposeNybbleblock(const uintptr_t* read_iter, uint32_t read_ul_stride, uint32_t write_ul_stride, uint32_t read_batch_size, uint32_t write_batch_size, uintptr_t* __restrict write_iter, VecW* vecaligned_buf);
+
+#ifdef USE_SSE2
+# ifdef USE_AVX2
+extern const unsigned char kLeadMask[2 * kBytesPerVec] __attribute__ ((aligned (64)));
+# else
+extern const unsigned char kLeadMask[2 * kBytesPerVec] __attribute__ ((aligned (32)));
+# endif
+#endif
+
+uintptr_t BytesumArr(const void* bytearr, uintptr_t byte_ct);
+
+uintptr_t CountByte(const void* bytearr, unsigned char ucc, uintptr_t byte_ct);
+
+uintptr_t CountU16(const void* u16arr, uint16_t usii, uintptr_t u16_ct);
+
+
+// Applies sample_include to {src_subset, src_vals}.
+uint32_t Copy1bit8Subset(const uintptr_t* __restrict src_subset, const void* __restrict src_vals, const uintptr_t* __restrict sample_include, uint32_t src_subset_size, uint32_t sample_ct, uintptr_t* __restrict dst_subset, void* __restrict dst_vals);
+
+uint32_t Copy1bit16Subset(const uintptr_t* __restrict src_subset, const void* __restrict src_vals, const uintptr_t* __restrict sample_include, uint32_t src_subset_size, uint32_t sample_ct, uintptr_t* __restrict dst_subset, void* __restrict dst_vals);
+
+// more verbose than (val + 3) / 4, but may as well make semantic meaning
+// obvious; any explicit DivUp(val, 4) expressions should have a different
+// meaning
+// (not needed for bitct -> bytect, DivUp(val, CHAR_BIT) is clear enough)
+HEADER_CINLINE uintptr_t NypCtToByteCt(uintptr_t val) {
+ return DivUp(val, 4);
+}
+
+HEADER_CINLINE uintptr_t NypCtToVecCt(uintptr_t val) {
+ return DivUp(val, kNypsPerVec);
+}
+
+HEADER_CINLINE uintptr_t NypCtToWordCt(uintptr_t val) {
+ return DivUp(val, kBitsPerWordD2);
+}
+
+HEADER_CINLINE uintptr_t NypCtToAlignedWordCt(uintptr_t val) {
+ return kWordsPerVec * NypCtToVecCt(val);
+}
+
+HEADER_CINLINE uintptr_t NypCtToCachelineCt(uintptr_t val) {
+ return DivUp(val, kNypsPerCacheline);
+}
+
+HEADER_INLINE uintptr_t GetNyparrEntry(const uintptr_t* nyparr, uint32_t idx) {
+ return (nyparr[idx / kBitsPerWordD2] >> (2 * (idx % kBitsPerWordD2))) & 3;
+}
+
+// todo: check if this optimizes newval=0 out
+HEADER_INLINE void AssignNyparrEntry(uint32_t idx, uintptr_t newval, uintptr_t* nyparr) {
+ const uint32_t bit_shift_ct = 2 * (idx % kBitsPerWordD2);
+ uintptr_t* wordp = &(nyparr[idx / kBitsPerWordD2]);
+ *wordp = ((*wordp) & (~((3 * k1LU) << bit_shift_ct))) | (newval << bit_shift_ct);
+}
+
+HEADER_INLINE void ClearNyparrEntry(uint32_t idx, uintptr_t* nyparr) {
+ nyparr[idx / kBitsPerWordD2] &= ~((3 * k1LU) << (idx % kBitsPerWordD2));
+}
+
+HEADER_CINLINE uintptr_t NybbleCtToVecCt(uintptr_t val) {
+ return DivUp(val, kNybblesPerVec);
+}
+
+HEADER_CINLINE uintptr_t NybbleCtToAlignedWordCt(uintptr_t val) {
+ return kWordsPerVec * NybbleCtToVecCt(val);
+}
+
+HEADER_CINLINE uintptr_t NybbleCtToCachelineCt(uintptr_t val) {
+ return DivUp(val, kNybblesPerCacheline);
+}
+
+HEADER_INLINE void AssignNybblearrEntry(uint32_t idx, uintptr_t newval, uintptr_t* nybblearr) {
+ const uint32_t bit_shift_ct = 4 * (idx % kBitsPerWordD4);
+ uintptr_t* wordp = &(nybblearr[idx / kBitsPerWordD4]);
+ *wordp = ((*wordp) & (~((15 * k1LU) << bit_shift_ct))) | (newval << bit_shift_ct);
+}
+
+// 'Unsafe' because it assumes high bits of every byte are 0 and entry_ct is
+// positive.
+void Reduce8to4bitInplaceUnsafe(uintptr_t entry_ct, uintptr_t* mainvec);
+
+#ifdef __cplusplus
+} // namespace plink2
+#endif
+
+#endif // __PLINK2_BITS_H__
diff --git a/external_libs/pgenlib/include/plink2_bits.o b/external_libs/pgenlib/include/plink2_bits.o
new file mode 100644
index 0000000..b9a7695
Binary files /dev/null and b/external_libs/pgenlib/include/plink2_bits.o differ
diff --git a/external_libs/pgenlib/pgenlib.a b/external_libs/pgenlib/pgenlib.a
new file mode 100644
index 0000000..6538704
Binary files /dev/null and b/external_libs/pgenlib/pgenlib.a differ
diff --git a/external_libs/pgenlib/pgenlib_ffi_support.cpp b/external_libs/pgenlib/pgenlib_ffi_support.cpp
new file mode 100644
index 0000000..82cea65
--- /dev/null
+++ b/external_libs/pgenlib/pgenlib_ffi_support.cpp
@@ -0,0 +1,790 @@
+// This library is part of PLINK 2.0, copyright (C) 2005-2022 Shaun Purcell,
+// Christopher Chang.
+//
+// This library is free software: you can redistribute it and/or modify it
+// under the terms of the GNU Lesser General Public License as published by the
+// Free Software Foundation; either version 3 of the License, or (at your
+// option) any later version.
+//
+// This library is distributed in the hope that it will be useful, but WITHOUT
+// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+// FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+// for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this library. If not, see .
+
+#include "pgenlib_ffi_support.h"
+
+#ifdef __cplusplus
+namespace plink2 {
+#endif
+
+void GenoarrToBytesMinus9(const uintptr_t* genoarr, uint32_t sample_ct, int8_t* genobytes) {
+ const uint32_t word_ct_m1 = (sample_ct - 1) / kBytesPerWord;
+ const Quarterword* read_alias = R_CAST(const Quarterword*, genoarr);
+ unsigned char* genobytes_uc = DowncastToUc(genobytes);
+ for (uint32_t widx = 0; ; ++widx) {
+ uintptr_t qw = Unpack0303(read_alias[widx]);
+ // now each byte is in {0, 1, 2, 3}. Convert the 3s to -9s in a branchless
+ // manner.
+ // (-9) - 3 = -12, which is represented as 244 in a uint8_t
+ const uintptr_t geno_missing = qw & (qw >> 1) & kMask0101;
+ qw += geno_missing * 244;
+ if (widx == word_ct_m1) {
+ SubwordStore(qw, ModNz(sample_ct, kBytesPerWord), &(genobytes_uc[widx * kBytesPerWord]));
+ return;
+ }
+ CopyToUnalignedOffsetW(genobytes_uc, &qw, widx);
+ }
+}
+
+static const int32_t kGenoInt32Quads[1024] ALIGNV16 = QUAD_TABLE256(0, 1, 2, -9);
+
+void GenoarrToInt32sMinus9(const uintptr_t* genoarr, uint32_t sample_ct, int32_t* geno_int32) {
+ GenoarrLookup256x4bx4(genoarr, kGenoInt32Quads, sample_ct, geno_int32);
+}
+
+// todo: use GenoarrLookup16x8bx2()
+static const int64_t kGenoToInt64[4] = {0, 1, 2, -9};
+
+void GenoarrToInt64sMinus9(const uintptr_t* genoarr, uint32_t sample_ct, int64_t* geno_int64) {
+ const uint32_t word_ct_m1 = (sample_ct - 1) / kBitsPerWordD2;
+ int64_t* write_iter = geno_int64;
+ uint32_t subgroup_len = kBitsPerWordD2;
+ for (uint32_t widx = 0; ; ++widx) {
+ if (widx >= word_ct_m1) {
+ if (widx > word_ct_m1) {
+ return;
+ }
+ subgroup_len = ModNz(sample_ct, kBitsPerWordD2);
+ }
+ uintptr_t geno_word = genoarr[widx];
+ for (uint32_t uii = 0; uii != subgroup_len; ++uii) {
+ *write_iter++ = kGenoToInt64[geno_word & 3];
+ geno_word >>= 2;
+ }
+ }
+}
+
+// missing = -9
+const double kGenoDoublePairs[32] ALIGNV16 = PAIR_TABLE16(0.0, 1.0, 2.0, -9.0);
+
+const uint64_t kGenoToIntcodeDPairs[32] ALIGNV16 = PAIR_TABLE16(0, 0x100000000LLU, 0x100000001LLU, 0xfffffff7fffffff7LLU);
+
+void GenoarrPhasedToAlleleCodes(const uint64_t* genoarr_to_intcode_dpair_table, const uintptr_t* genoarr, const uintptr_t* phasepresent, const uintptr_t* phaseinfo, uint32_t sample_ct, uint32_t phasepresent_ct, unsigned char* phasebytes, int32_t* allele_codes) {
+ // phasebytes can be nullptr, phasepresent cannot
+ GenoarrToAlleleCodes(genoarr_to_intcode_dpair_table, genoarr, sample_ct, allele_codes);
+ // should be safe to assume allele_codes are 8-byte aligned?
+ uint64_t* allele_codes_alias64 = R_CAST(uint64_t*, allele_codes);
+ uintptr_t sample_uidx_base = 0;
+ uintptr_t cur_bits = phasepresent[0];
+ if (!phasebytes) {
+ for (uint32_t phased_idx = 0; phased_idx != phasepresent_ct; ++phased_idx) {
+ const uintptr_t sample_uidx = BitIter1(phasepresent, &sample_uidx_base, &cur_bits);
+ if (IsSet(phaseinfo, sample_uidx)) {
+ // 1|0
+ allele_codes_alias64[sample_uidx] = 1;
+ }
+ }
+ return;
+ }
+ // 0 and 2 = homozygous, automatically phased; otherwise patch in from
+ // phaseinfo if phasepresent_ct is nonzero
+ // so, start off by extracting low bit from each pair and flipping it
+ const uint32_t word_ct_m1 = (sample_ct - 1) / kBytesPerWord;
+ const Quarterword* read_alias = R_CAST(const Quarterword*, genoarr);
+ uintptr_t* write_walias = R_CAST(uintptr_t*, phasebytes);
+ for (uint32_t widx = 0; ; ++widx) {
+ uintptr_t qw = Unpack0303(read_alias[widx]);
+ qw = (~qw) & kMask0101;
+ if (widx == word_ct_m1) {
+ SubwordStore(qw, ModNz(sample_ct, kBytesPerWord), &(write_walias[widx]));
+ break;
+ }
+ write_walias[widx] = qw;
+ }
+ for (uint32_t phased_idx = 0; phased_idx != phasepresent_ct; ++phased_idx) {
+ const uintptr_t sample_uidx = BitIter1(phasepresent, &sample_uidx_base, &cur_bits);
+ phasebytes[sample_uidx] = 1;
+ if (IsSet(phaseinfo, sample_uidx)) {
+ allele_codes_alias64[sample_uidx] = 1;
+ }
+ }
+}
+
+void GenoarrMPToAlleleCodes(const uint64_t* geno_to_intcode_dpair_table, const PgenVariant* pgv, uint32_t sample_ct, unsigned char* phasebytes, int32_t* allele_codes) {
+ // phasebytes can be nullptr, phasepresent cannot
+ const uintptr_t* genoarr = pgv->genovec;
+ const uintptr_t* phasepresent = pgv->phasepresent;
+ const uintptr_t* phaseinfo = pgv->phaseinfo;
+ const uint32_t phasepresent_ct = pgv->phasepresent_ct;
+ const uint32_t patch_01_ct = pgv->patch_01_ct;
+ const uint32_t patch_10_ct = pgv->patch_10_ct;
+ if ((!patch_01_ct) && (!patch_10_ct)) {
+ GenoarrPhasedToAlleleCodes(geno_to_intcode_dpair_table, genoarr, phasepresent, phaseinfo, sample_ct, phasepresent_ct, phasebytes, allele_codes);
+ return;
+ }
+ GenoarrToAlleleCodes(geno_to_intcode_dpair_table, genoarr, sample_ct, allele_codes);
+ // See e.g. PglMultiallelicSparseToDense().
+ if (patch_01_ct) {
+ const uintptr_t* patch_01_set = pgv->patch_01_set;
+ const AlleleCode* patch_01_vals = pgv->patch_01_vals;
+ uintptr_t sample_idx_base = 0;
+ uintptr_t cur_bits = patch_01_set[0];
+ int32_t* allele_codes1 = &(allele_codes[1]);
+ for (uint32_t uii = 0; uii != patch_01_ct; ++uii) {
+ const uintptr_t sample_idx = BitIter1(patch_01_set, &sample_idx_base, &cur_bits);
+ allele_codes1[2 * sample_idx] = patch_01_vals[uii];
+ }
+ }
+ if (phasebytes) {
+ // Initialize 0/2 phasebytes before processing patch_10.
+ const uint32_t word_ct_m1 = (sample_ct - 1) / kBytesPerWord;
+ const Quarterword* read_alias = R_CAST(const Quarterword*, genoarr);
+ for (uint32_t widx = 0; ; ++widx) {
+ uintptr_t qw = Unpack0303(read_alias[widx]);
+ qw = (~qw) & kMask0101;
+ if (widx == word_ct_m1) {
+ SubwordStore(qw, ModNz(sample_ct, kBytesPerWord), &(phasebytes[widx * kBytesPerWord]));
+ break;
+ }
+ CopyToUnalignedOffsetW(phasebytes, &qw, widx);
+ }
+ }
+ if (patch_10_ct) {
+ const uintptr_t* patch_10_set = pgv->patch_10_set;
+ const AlleleCode* patch_10_vals = pgv->patch_10_vals;
+ uintptr_t sample_idx_base = 0;
+ uintptr_t cur_bits = patch_10_set[0];
+ if (!phasebytes) {
+ for (uint32_t uii = 0; uii != patch_10_ct; ++uii) {
+ const uintptr_t sample_idx = BitIter1(patch_10_set, &sample_idx_base, &cur_bits);
+ allele_codes[2 * sample_idx] = patch_10_vals[2 * uii];
+ allele_codes[2 * sample_idx + 1] = patch_10_vals[2 * uii + 1];
+ }
+ } else {
+ for (uint32_t uii = 0; uii != patch_10_ct; ++uii) {
+ const uintptr_t sample_idx = BitIter1(patch_10_set, &sample_idx_base, &cur_bits);
+ const AlleleCode ac0 = patch_10_vals[2 * uii];
+ const AlleleCode ac1 = patch_10_vals[2 * uii + 1];
+ allele_codes[2 * sample_idx] = ac0;
+ allele_codes[2 * sample_idx + 1] = ac1;
+ if (ac0 != ac1) {
+ phasebytes[sample_idx] = 0;
+ // When phasepresent bit is set, we'll fix this up later.
+ }
+ }
+ }
+ }
+ uintptr_t sample_uidx_base = 0;
+ uintptr_t cur_bits = phasepresent[0];
+ if (!phasebytes) {
+ for (uint32_t phased_idx = 0; phased_idx != phasepresent_ct; ++phased_idx) {
+ const uintptr_t sample_uidx = BitIter1(phasepresent, &sample_uidx_base, &cur_bits);
+ if (IsSet(phaseinfo, sample_uidx)) {
+ const int32_t tmp_code = allele_codes[2 * sample_uidx];
+ allele_codes[2 * sample_uidx] = allele_codes[2 * sample_uidx + 1];
+ allele_codes[2 * sample_uidx + 1] = tmp_code;
+ }
+ }
+ return;
+ }
+ for (uint32_t phased_idx = 0; phased_idx != phasepresent_ct; ++phased_idx) {
+ const uintptr_t sample_uidx = BitIter1(phasepresent, &sample_uidx_base, &cur_bits);
+ phasebytes[sample_uidx] = 1;
+ if (IsSet(phaseinfo, sample_uidx)) {
+ const int32_t tmp_code = allele_codes[2 * sample_uidx];
+ allele_codes[2 * sample_uidx] = allele_codes[2 * sample_uidx + 1];
+ allele_codes[2 * sample_uidx + 1] = tmp_code;
+ }
+ }
+}
+
+// missing = -9
+// may want a double-lookup function for this
+static const int32_t kGenoToHap0Code[6] = {0, 0, 1, -9, 0, 1};
+static const int32_t kGenoToHap1Code[6] = {0, 1, 1, -9, 0, 0};
+
+// todo: write version of this which fills phasebytes
+void GenoarrPhasedToHapCodes(const uintptr_t* genoarr, const uintptr_t* phaseinfo, uint32_t variant_batch_size, int32_t* hap0_codes_iter, int32_t* hap1_codes_iter) {
+ // assumes genoarr and phaseinfo have already been transposed
+ const uint32_t word_ct_m1 = (variant_batch_size - 1) / kBitsPerWordD2;
+ const Halfword* phaseinfo_alias = R_CAST(const Halfword*, phaseinfo);
+ uint32_t subgroup_len = kBitsPerWordD2;
+ for (uint32_t widx = 0; ; ++widx) {
+ if (widx >= word_ct_m1) {
+ if (widx > word_ct_m1) {
+ return;
+ }
+ subgroup_len = ModNz(variant_batch_size, kBitsPerWordD2);
+ }
+ uintptr_t geno_word = genoarr[widx];
+ uintptr_t phaseinfo_hw = phaseinfo_alias[widx];
+ for (uint32_t uii = 0; uii != subgroup_len; ++uii) {
+ const uintptr_t cur_pgeno_code = (geno_word & 3) + 4 * (phaseinfo_hw & 1);
+ *hap0_codes_iter++ = kGenoToHap0Code[cur_pgeno_code];
+ *hap1_codes_iter++ = kGenoToHap1Code[cur_pgeno_code];
+ geno_word >>= 2;
+ phaseinfo_hw >>= 1;
+ }
+ }
+}
+
+// todo: use GenoarrLookup256x4bx4()
+static const float kGenoToFloat[4] = {0.0, 1.0, 2.0, -9.0};
+
+void Dosage16ToFloatsMinus9(const uintptr_t* genoarr, const uintptr_t* dosage_present, const uint16_t* dosage_main, uint32_t sample_ct, uint32_t dosage_ct, float* geno_float) {
+ const uint32_t word_ct_m1 = (sample_ct - 1) / kBitsPerWordD2;
+ float* write_iter = geno_float;
+ uint32_t subgroup_len = kBitsPerWordD2;
+ for (uint32_t widx = 0; ; ++widx) {
+ if (widx >= word_ct_m1) {
+ if (widx > word_ct_m1) {
+ break;
+ }
+ subgroup_len = ModNz(sample_ct, kBitsPerWordD2);
+ }
+ uintptr_t geno_word = genoarr[widx];
+ for (uint32_t uii = 0; uii != subgroup_len; ++uii) {
+ *write_iter++ = kGenoToFloat[geno_word & 3];
+ geno_word >>= 2;
+ }
+ }
+ if (dosage_ct) {
+ const uint16_t* dosage_main_iter = dosage_main;
+ uintptr_t sample_uidx_base = 0;
+ uintptr_t cur_bits = dosage_present[0];
+ for (uint32_t dosage_idx = 0; dosage_idx != dosage_ct; ++dosage_idx) {
+ const uintptr_t sample_uidx = BitIter1(dosage_present, &sample_uidx_base, &cur_bits);
+ // multiply by 2^{-14}
+ geno_float[sample_uidx] = S_CAST(float, *dosage_main_iter++) * S_CAST(float, 0.00006103515625);
+ }
+ }
+}
+
+void Dosage16ToDoubles(const double* geno_double_pair_table, const uintptr_t* genoarr, const uintptr_t* dosage_present, const uint16_t* dosage_main, uint32_t sample_ct, uint32_t dosage_ct, double* geno_double) {
+ GenoarrLookup16x8bx2(genoarr, geno_double_pair_table, sample_ct, geno_double);
+ if (dosage_ct) {
+ const uint16_t* dosage_main_iter = dosage_main;
+ uintptr_t sample_uidx_base = 0;
+ uintptr_t cur_bits = dosage_present[0];
+ for (uint32_t dosage_idx = 0; dosage_idx != dosage_ct; ++dosage_idx) {
+ const uintptr_t sample_uidx = BitIter1(dosage_present, &sample_uidx_base, &cur_bits);
+ geno_double[sample_uidx] = S_CAST(double, *dosage_main_iter++) * 0.00006103515625;
+ }
+ }
+}
+
+BoolErr Dosage16ToDoublesMeanimpute(const uintptr_t* genoarr, const uintptr_t* dosage_present, const uint16_t* dosage_main, uint32_t sample_ct, uint32_t dosage_ct, double* geno_double) {
+ STD_ARRAY_DECL(uint32_t, 4, genocounts);
+ double geno_double_pair_buf[32];
+ if (!dosage_ct) {
+ GenoarrCountFreqsUnsafe(genoarr, sample_ct, genocounts);
+ const double* geno_double_pair_table = kGenoDoublePairs;
+ if (genocounts[3]) {
+ const uint32_t denom = sample_ct - genocounts[3];
+ if (!denom) {
+ return 1;
+ }
+ const uint32_t numer = genocounts[1] + 2 * genocounts[2];
+ const double missing_val = u63tod(numer) / u31tod(denom);
+ geno_double_pair_buf[0] = 0.0;
+ geno_double_pair_buf[2] = 1.0;
+ geno_double_pair_buf[4] = 2.0;
+ geno_double_pair_buf[6] = missing_val;
+ InitLookup16x8bx2(geno_double_pair_buf);
+ geno_double_pair_table = geno_double_pair_buf;
+ }
+ GenoarrLookup16x8bx2(genoarr, geno_double_pair_table, sample_ct, geno_double);
+ return 0;
+ }
+ // In the generic case, it may be faster to check for the existence of a
+ // missing value before calling GenoarrCountInvsubsetFreqs2() (since if there
+ // are no missing values, we don't need to count at all). However, we assume
+ // the caller is using this function over Dosage16ToDoubles() for a reason.
+ GenoarrCountInvsubsetFreqs2(genoarr, dosage_present, sample_ct, sample_ct - dosage_ct, genocounts);
+ const double* geno_double_pair_table = kGenoDoublePairs;
+ if (genocounts[3]) {
+ uint64_t denom = sample_ct - genocounts[3];
+ if (!denom) {
+ return 1;
+ }
+ denom *= 16384LLU;
+ uint64_t numer = 0;
+ for (uint32_t dosage_idx = 0; dosage_idx != dosage_ct; ++dosage_idx) {
+ numer += dosage_main[dosage_idx];
+ }
+ numer += 16384LLU * (genocounts[1] + 2 * genocounts[2]);
+ const double missing_val = u63tod(numer) / u63tod(denom);
+ geno_double_pair_buf[0] = 0.0;
+ geno_double_pair_buf[2] = 1.0;
+ geno_double_pair_buf[4] = 2.0;
+ geno_double_pair_buf[6] = missing_val;
+ InitLookup16x8bx2(geno_double_pair_buf);
+ geno_double_pair_table = geno_double_pair_buf;
+ }
+ GenoarrLookup16x8bx2(genoarr, geno_double_pair_table, sample_ct, geno_double);
+ uintptr_t sample_uidx_base = 0;
+ uintptr_t cur_bits = dosage_present[0];
+ for (uint32_t dosage_idx = 0; dosage_idx != dosage_ct; ++dosage_idx) {
+ const uintptr_t sample_uidx = BitIter1(dosage_present, &sample_uidx_base, &cur_bits);
+ geno_double[sample_uidx] = S_CAST(double, dosage_main[dosage_idx]) * 0.00006103515625;
+ }
+ return 0;
+}
+
+double LinearCombinationMeanimpute(const double* weights, const uintptr_t* genoarr, const uintptr_t* dosage_present, const uint16_t* dosage_main, uint32_t sample_ct, uint32_t dosage_ct) {
+ const uint32_t word_ct = DivUp(sample_ct, kBitsPerWordD2);
+ double result = 0.0;
+ double result2 = 0.0;
+ double miss_weight = 0.0;
+ if (!dosage_ct) {
+ for (uint32_t widx = 0; widx != word_ct; ++widx) {
+ const uintptr_t geno_word = genoarr[widx];
+ if (!geno_word) {
+ continue;
+ }
+ const double* cur_weights = &(weights[widx * kBitsPerWordD2]);
+ uintptr_t geno_word1 = geno_word & kMask5555;
+ uintptr_t geno_word2 = (geno_word >> 1) & kMask5555;
+ uintptr_t geno_missing_word = geno_word1 & geno_word2;
+ geno_word1 ^= geno_missing_word;
+ while (geno_word1) {
+ const uint32_t sample_idx_lowbits = ctzw(geno_word1) / 2;
+ result += cur_weights[sample_idx_lowbits];
+ geno_word1 &= geno_word1 - 1;
+ }
+ geno_word2 ^= geno_missing_word;
+ while (geno_word2) {
+ const uint32_t sample_idx_lowbits = ctzw(geno_word2) / 2;
+ result2 += cur_weights[sample_idx_lowbits];
+ geno_word2 &= geno_word2 - 1;
+ }
+ while (geno_missing_word) {
+ const uint32_t sample_idx_lowbits = ctzw(geno_missing_word) / 2;
+ miss_weight += cur_weights[sample_idx_lowbits];
+ geno_missing_word &= geno_missing_word - 1;
+ }
+ }
+ result += 2 * result2;
+ if (miss_weight != 0.0) {
+ // bugfix (29 Oct 2019): previous mean-imputation formula was based on
+ // *weighted* MAF, which was obviously nonsense when negative weights
+ // were present.
+ STD_ARRAY_DECL(uint32_t, 4, genocounts);
+ GenoarrCountFreqsUnsafe(genoarr, sample_ct, genocounts);
+ const double numer = u63tod(genocounts[1] + 2 * genocounts[2]);
+ const double denom = u31tod(sample_ct - genocounts[3]);
+ result += miss_weight * (numer / denom);
+ }
+ return result;
+ }
+ const Halfword* dosage_present_hws = R_CAST(const Halfword*, dosage_present);
+ uint32_t onealt_ct = 0;
+ uint32_t twoalt_ct = 0;
+ uint32_t missing_ct = 0;
+ for (uint32_t widx = 0; widx != word_ct; ++widx) {
+ const uintptr_t geno_word = genoarr[widx];
+ if (geno_word) {
+ const double* cur_weights = &(weights[widx * kBitsPerWordD2]);
+ uintptr_t geno_word1 = geno_word & kMask5555;
+ uintptr_t geno_word2 = (geno_word >> 1) & kMask5555;
+ uintptr_t geno_missing_word = geno_word1 & geno_word2;
+ const uintptr_t mask_word = ~(geno_missing_word | UnpackHalfwordToWord(dosage_present_hws[widx]));
+ geno_word1 &= mask_word;
+ while (geno_word1) {
+ const uint32_t sample_idx_lowbits = ctzw(geno_word1) / 2;
+ result += cur_weights[sample_idx_lowbits];
+ // probably sparse enough that this is faster than popcount?
+ ++onealt_ct;
+ geno_word1 &= geno_word1 - 1;
+ }
+ geno_word2 &= mask_word;
+ while (geno_word2) {
+ const uint32_t sample_idx_lowbits = ctzw(geno_word2) / 2;
+ result2 += cur_weights[sample_idx_lowbits];
+ ++twoalt_ct;
+ geno_word2 &= geno_word2 - 1;
+ }
+ while (geno_missing_word) {
+ const uint32_t sample_idx_lowbits = ctzw(geno_missing_word) / 2;
+ miss_weight += cur_weights[sample_idx_lowbits];
+ ++missing_ct;
+ geno_missing_word &= geno_missing_word - 1;
+ }
+ }
+ }
+ result += result2 * 2;
+ const uint16_t* dosage_main_iter = dosage_main;
+ double resultx = 0.0;
+ uintptr_t sample_uidx_base = 0;
+ uintptr_t cur_bits = dosage_present[0];
+ if (miss_weight == 0.0) {
+ for (uint32_t dosage_idx = 0; dosage_idx != dosage_ct; ++dosage_idx) {
+ const uintptr_t sample_uidx = BitIter1(dosage_present, &sample_uidx_base, &cur_bits);
+ resultx += S_CAST(double, *dosage_main_iter++) * weights[sample_uidx];
+ }
+ result += 0.00006103515625 * resultx;
+ return result;
+ }
+ // Also need to track dosage-sum for mean-imputation.
+ uint64_t dosage_sum = 0;
+ for (uint32_t dosage_idx = 0; dosage_idx != dosage_ct; ++dosage_idx) {
+ const uintptr_t sample_uidx = BitIter1(dosage_present, &sample_uidx_base, &cur_bits);
+ const uint32_t cur_dosage = *dosage_main_iter++;
+ dosage_sum += cur_dosage;
+ resultx += u31tod(cur_dosage) * weights[sample_uidx];
+ }
+ result += 0.00006103515625 * resultx;
+ const double numer = u63tod(16384 * S_CAST(uint64_t, onealt_ct + 2 * twoalt_ct) + dosage_sum);
+ const double denom = 16384 * u31tod(sample_ct - missing_ct);
+ result += miss_weight * (numer / denom);
+ return result;
+}
+
+void BytesToBitsUnsafe(const uint8_t* boolbytes, uint32_t sample_ct, uintptr_t* bitarr) {
+ const uint32_t ull_ct_m1 = (sample_ct - 1) / 8;
+ const unsigned char* boolbytes_uc = DowncastKToUc(boolbytes);
+ unsigned char* write_alias = DowncastToUc(bitarr);
+ for (uint32_t ullidx = 0; ; ++ullidx) {
+ uint64_t cur_ull;
+ if (ullidx >= ull_ct_m1) {
+ if (ullidx > ull_ct_m1) {
+ return;
+ }
+ cur_ull = SubU64Load(&(boolbytes_uc[ullidx * sizeof(int64_t)]), ModNz(sample_ct, 8));
+ } else {
+ CopyFromUnalignedOffsetU64(&cur_ull, boolbytes_uc, ullidx);
+ }
+ // assuming boolbytes is 0/1-valued, this multiply-and-shift maps binary
+ // h0000000g0000000f... to binary hgfedcba.
+ // ^ ^ ^
+ // | | |
+ // 56 48 40
+ // (the constant has bits 0, 7, 14, 21, 28, 35, 42, and 49 set)
+ // (can also use _pext_u64() in AVX2 case)
+ write_alias[ullidx] = S_CAST(unsigned char, (cur_ull * 0x2040810204081LLU) >> 49);
+ }
+}
+
+void BytesToGenoarrUnsafe(const int8_t* genobytes, uint32_t sample_ct, uintptr_t* genoarr) {
+ const uint32_t word_ct_m1 = (sample_ct - 1) / kBytesPerWord;
+ const unsigned char* genobytes_uc = DowncastKToUc(genobytes);
+ Quarterword* write_alias = R_CAST(Quarterword*, genoarr);
+ for (uint32_t widx = 0; ; ++widx) {
+ uintptr_t ww;
+ if (widx >= word_ct_m1) {
+ if (widx > word_ct_m1) {
+ return;
+ }
+ ww = SubwordLoad(&(genobytes_uc[widx * kBytesPerWord]), ModNz(sample_ct, kBytesPerWord));
+ } else {
+ CopyFromUnalignedOffsetW(&ww, genobytes_uc, widx);
+ }
+ write_alias[widx] = Pack0303Mask(ww);
+ }
+}
+
+void AlleleCodesToGenoarrUnsafe(const int32_t* allele_codes, const unsigned char* phasepresent_bytes, uint32_t sample_ct, uintptr_t* genoarr, uintptr_t* phasepresent, uintptr_t* phaseinfo) {
+ // - If phasepresent_bytes is nullptr, phasepresent is not updated. In this
+ // case, phaseinfo is updated iff it's not nullptr. It's okay for both
+ // phasepresent and phaseinfo to be nullptr here.
+ // - Otherwise, phasepresent and phaseinfo are always updated; neither can be
+ // nullptr.
+ // - Trailing bits of phasepresent/phaseinfo may not be zeroed out.
+ const uint32_t word_ct_m1 = (sample_ct - 1) / kBitsPerWordD2;
+ uint32_t subgroup_len = kBitsPerWordD2;
+ const uint32_t* read_alias = R_CAST(const uint32_t*, allele_codes);
+ Halfword* phaseinfo_alias = R_CAST(Halfword*, phaseinfo);
+ if (!phasepresent_bytes) {
+ for (uint32_t widx = 0; ; ++widx) {
+ if (widx >= word_ct_m1) {
+ if (widx > word_ct_m1) {
+ return;
+ }
+ subgroup_len = ModNz(sample_ct, kBitsPerWordD2);
+ }
+ uintptr_t geno_write_word = 0;
+ if (!phaseinfo) {
+ for (uint32_t uii = 0; uii != subgroup_len; ++uii) {
+ // 0,0 -> 0
+ // 0,1 or 1,0 -> 1
+ // 1,1 -> 2
+ // -9,-9 -> 3
+ // undefined behavior on e.g. 0,2
+ const uint32_t first_code = *read_alias++;
+ const uint32_t second_code = *read_alias++;
+ uintptr_t cur_geno;
+ if (first_code <= 1) {
+ cur_geno = first_code + second_code;
+ } else {
+ // todo: test whether branchless is better
+ // (in practice, this will usually be predictable?)
+ cur_geno = 3;
+ }
+ geno_write_word |= (cur_geno << (uii * 2));
+ }
+ } else {
+ Halfword phaseinfo_write_hw = 0;
+ for (uint32_t uii = 0; uii != subgroup_len; ++uii) {
+ // set phaseinfo_write_hw bit iff 1,0
+ const uint32_t first_code = *read_alias++;
+ const uint32_t second_code = *read_alias++;
+ uintptr_t cur_geno;
+ if (first_code <= 1) {
+ cur_geno = first_code + second_code;
+ phaseinfo_write_hw |= (cur_geno & first_code) << uii;
+ } else {
+ // todo: test whether branchless is better
+ // (in practice, this will usually be predictable?)
+ cur_geno = 3;
+ }
+ geno_write_word |= (cur_geno << (uii * 2));
+ }
+ phaseinfo_alias[widx] = phaseinfo_write_hw;
+ }
+ genoarr[widx] = geno_write_word;
+ }
+ }
+ const unsigned char* phasepresent_bytes_iter = phasepresent_bytes;
+ Halfword* phasepresent_alias = R_CAST(Halfword*, phasepresent);
+ for (uint32_t widx = 0; ; ++widx) {
+ if (widx >= word_ct_m1) {
+ if (widx > word_ct_m1) {
+ return;
+ }
+ subgroup_len = ModNz(sample_ct, kBitsPerWordD2);
+ }
+ uintptr_t geno_write_word = 0;
+ Halfword phasepresent_write_hw = 0;
+ Halfword phaseinfo_write_hw = 0;
+ for (uint32_t uii = 0; uii != subgroup_len; ++uii) {
+ const uint32_t first_code = *read_alias++;
+ const uint32_t second_code = *read_alias++;
+ uintptr_t cur_geno;
+ if (first_code <= 1) {
+ cur_geno = first_code + second_code;
+ const uint32_t cur_phasepresent = cur_geno & phasepresent_bytes_iter[uii];
+ phasepresent_write_hw |= cur_phasepresent << uii;
+ phaseinfo_write_hw |= (cur_phasepresent & first_code) << uii;
+ } else {
+ cur_geno = 3;
+ }
+ geno_write_word |= (cur_geno << (uii * 2));
+ }
+ phasepresent_bytes_iter = &(phasepresent_bytes_iter[subgroup_len]);
+ phasepresent_alias[widx] = phasepresent_write_hw;
+ phaseinfo_alias[widx] = phaseinfo_write_hw;
+ genoarr[widx] = geno_write_word;
+ }
+}
+
+// Does not clear trailing bits of genovec, phasepresent, or phaseinfo.
+// Returns max(2, 1 + max allele code) if allele_codes is valid, -1 if invalid.
+int32_t ConvertMultiAlleleCodesUnsafe(const int32_t* allele_codes, const unsigned char* phasepresent_bytes, uint32_t sample_ct, uintptr_t* genoarr, uintptr_t* patch_01_set, AlleleCode* patch_01_vals, uintptr_t* patch_10_set, AlleleCode* patch_10_vals, uint32_t* patch_01_ctp, uint32_t* patch_10_ctp, uintptr_t* phasepresent, uintptr_t* phaseinfo) {
+ const uint32_t sample_ctl = DivUp(sample_ct, kBitsPerWord);
+ const uint32_t word_ct_m1 = (sample_ct - 1) / kBitsPerWordD2;
+ uint32_t subgroup_len = kBitsPerWordD2;
+ const uint32_t* read_alias = R_CAST(const uint32_t*, allele_codes);
+ if (phasepresent_bytes) {
+ BytesToBitsUnsafe(phasepresent_bytes, sample_ct, phasepresent);
+ }
+ Halfword* phasepresent_alias = R_CAST(Halfword*, phasepresent);
+ Halfword* phaseinfo_alias = R_CAST(Halfword*, phaseinfo);
+ // todo: try scanning allele_codes for its maximum value upfront, instead of
+ // checking in inner loops; then mirror PglMultiallelicDenseToSparse() in
+ // valid multiallelic case, and call AlleleCodesToGenoarrUnsafe() otherwise.
+ ZeroWArr(sample_ctl, patch_01_set);
+ ZeroWArr(sample_ctl, patch_10_set);
+ uint32_t max_allele_code = 1;
+ Halfword* patch_01_set_alias = R_CAST(Halfword*, patch_01_set);
+ Halfword* patch_10_set_alias = R_CAST(Halfword*, patch_10_set);
+ AlleleCode* patch_01_iter = patch_01_vals;
+ AlleleCode* patch_10_iter = patch_10_vals;
+ for (uint32_t widx = 0; ; ++widx) {
+ if (widx >= word_ct_m1) {
+ if (widx > word_ct_m1) {
+ if (max_allele_code >= kPglMaxAlleleCt) {
+ return -1;
+ }
+ *patch_01_ctp = patch_01_iter - patch_01_vals;
+ *patch_10_ctp = (patch_10_iter - patch_10_vals) >> 1;
+ return S_CAST(int32_t, max_allele_code + 1);
+ }
+ subgroup_len = ModNz(sample_ct, kBitsPerWordD2);
+ }
+ uintptr_t geno_write_word = 0;
+ Halfword phaseinfo_write_hw = 0;
+ Halfword het_2_hw = 0;
+ for (uint32_t uii = 0; uii != subgroup_len; ++uii) {
+ // 0,0 -> 0
+ // 0,x or x,0 -> 1
+ // x,y -> 2
+ // -9,-9 -> 3
+ const uint32_t first_code = *read_alias++;
+ const uint32_t second_code = *read_alias++;
+ uintptr_t cur_geno = 0;
+ if (first_code == 0) {
+ if (second_code != 0) {
+ cur_geno = 1;
+ if (second_code > 1) {
+ if (second_code > max_allele_code) {
+ max_allele_code = second_code;
+ }
+ patch_01_set_alias[widx] |= 1U << uii;
+ // If second_code is actually out-of-range, harmlessly truncate
+ // here, and error out before function return.
+ // (this code is correct without the static-cast, but may as well
+ // be explicit about where truncation could happen.)
+ *patch_01_iter++ = S_CAST(AlleleCode, second_code);
+ }
+ }
+ } else if (first_code == 0xfffffff7U) {
+ if (second_code != 0xfffffff7U) {
+ return -1;
+ }
+ cur_geno = 3;
+ } else {
+ // first_code >= 1
+ if (second_code == 0) {
+ cur_geno = 1;
+ phaseinfo_write_hw |= 1U << uii;
+ if (first_code > 1) {
+ if (first_code > max_allele_code) {
+ max_allele_code = first_code;
+ }
+ patch_01_set_alias[widx] |= 1U << uii;
+ *patch_01_iter++ = S_CAST(AlleleCode, first_code);
+ }
+ } else {
+ cur_geno = 2;
+ if (first_code <= second_code) {
+ if (second_code > 1) {
+ if (second_code > max_allele_code) {
+ max_allele_code = second_code;
+ }
+ patch_10_set_alias[widx] |= 1U << uii;
+ *patch_10_iter++ = S_CAST(AlleleCode, first_code);
+ *patch_10_iter++ = S_CAST(AlleleCode, second_code);
+ if (first_code != second_code) {
+ het_2_hw |= 1U << uii;
+ }
+ }
+ } else {
+ // first_code > second_code
+ if (first_code > max_allele_code) {
+ max_allele_code = first_code;
+ }
+ phaseinfo_write_hw |= 1U << uii;
+ patch_10_set_alias[widx] |= 1U << uii;
+ het_2_hw |= 1U << uii;
+ *patch_10_iter++ = S_CAST(AlleleCode, second_code);
+ *patch_10_iter++ = S_CAST(AlleleCode, first_code);
+ }
+ }
+ }
+ geno_write_word |= (cur_geno << (uii * 2));
+ }
+ genoarr[widx] = geno_write_word;
+ if (phasepresent_bytes) {
+ const uintptr_t het_1_word = geno_write_word & (~(geno_write_word >> 1)) & kMask5555;
+ Halfword het_hw = het_2_hw | PackWordToHalfword(het_1_word);
+ phasepresent_alias[widx] &= het_hw;
+ }
+ if (phaseinfo_alias) {
+ phaseinfo_alias[widx] = phaseinfo_write_hw;
+ }
+ }
+}
+
+static inline uint32_t BiallelicDosage16Halfdist(uint32_t dosage_int) {
+ const uint32_t dosage_int_rem = dosage_int & 16383;
+ return abs_i32(S_CAST(int32_t, dosage_int_rem) - 8192);
+}
+
+void FloatsToDosage16(const float* floatarr, uint32_t sample_ct, uint32_t hard_call_halfdist, uintptr_t* genoarr, uintptr_t* dosage_present, uint16_t* dosage_main, uint32_t* dosage_ct_ptr) {
+ const uint32_t word_ct_m1 = (sample_ct - 1) / kBitsPerWordD2;
+ const float* read_iter = floatarr;
+ Halfword* dosage_present_alias = R_CAST(Halfword*, dosage_present);
+ uint16_t* dosage_main_iter = dosage_main;
+ uint32_t subgroup_len = kBitsPerWordD2;
+ for (uint32_t widx = 0; ; ++widx) {
+ if (widx >= word_ct_m1) {
+ if (widx > word_ct_m1) {
+ if (widx % 2) {
+ dosage_present_alias[widx] = 0;
+ }
+ break;
+ }
+ subgroup_len = ModNz(sample_ct, kBitsPerWordD2);
+ }
+ uintptr_t geno_word = 0;
+ uint32_t dosage_present_hw = 0;
+ for (uint32_t sample_idx_lowbits = 0; sample_idx_lowbits != subgroup_len; ++sample_idx_lowbits) {
+ // 0..2 -> 0..32768
+ const float fxx = (*read_iter++) * 16384 + 0.5;
+ uintptr_t cur_geno = 3;
+ if ((fxx >= 0.0) && (fxx < 32769)) {
+ uint32_t dosage_int = S_CAST(int32_t, fxx);
+ const uint32_t cur_halfdist = BiallelicDosage16Halfdist(dosage_int);
+ if (cur_halfdist >= hard_call_halfdist) {
+ cur_geno = (dosage_int + (8192 * k1LU)) / 16384;
+ }
+ if (cur_halfdist != 8192) {
+ dosage_present_hw |= 1U << sample_idx_lowbits;
+ *dosage_main_iter++ = dosage_int;
+ }
+ }
+ geno_word |= cur_geno << (2 * sample_idx_lowbits);
+ }
+ genoarr[widx] = geno_word;
+ dosage_present_alias[widx] = dosage_present_hw;
+ }
+ *dosage_ct_ptr = dosage_main_iter - dosage_main;
+}
+
+void DoublesToDosage16(const double* doublearr, uint32_t sample_ct, uint32_t hard_call_halfdist, uintptr_t* genoarr, uintptr_t* dosage_present, uint16_t* dosage_main, uint32_t* dosage_ct_ptr) {
+ const uint32_t word_ct_m1 = (sample_ct - 1) / kBitsPerWordD2;
+ const double* read_iter = doublearr;
+ Halfword* dosage_present_alias = R_CAST(Halfword*, dosage_present);
+ uint16_t* dosage_main_iter = dosage_main;
+ uint32_t subgroup_len = kBitsPerWordD2;
+ for (uint32_t widx = 0; ; ++widx) {
+ if (widx >= word_ct_m1) {
+ if (widx > word_ct_m1) {
+ if (widx % 2) {
+ dosage_present_alias[widx] = 0;
+ }
+ break;
+ }
+ subgroup_len = ModNz(sample_ct, kBitsPerWordD2);
+ }
+ uintptr_t geno_word = 0;
+ uint32_t dosage_present_hw = 0;
+ for (uint32_t sample_idx_lowbits = 0; sample_idx_lowbits != subgroup_len; ++sample_idx_lowbits) {
+ // 0..2 -> 0..32768
+ const double dxx = (*read_iter++) * 16384 + 0.5;
+ uintptr_t cur_geno = 3;
+ if ((dxx >= 0.0) && (dxx < 32769)) {
+ uint32_t dosage_int = S_CAST(int32_t, dxx);
+ const uint32_t cur_halfdist = BiallelicDosage16Halfdist(dosage_int);
+ if (cur_halfdist >= hard_call_halfdist) {
+ cur_geno = (dosage_int + (8192 * k1LU)) / 16384;
+ }
+ if (cur_halfdist != 8192) {
+ dosage_present_hw |= 1U << sample_idx_lowbits;
+ *dosage_main_iter++ = dosage_int;
+ }
+ }
+ geno_word |= cur_geno << (2 * sample_idx_lowbits);
+ }
+ genoarr[widx] = geno_word;
+ dosage_present_alias[widx] = dosage_present_hw;
+ }
+ *dosage_ct_ptr = dosage_main_iter - dosage_main;
+}
+
+#ifdef __cplusplus
+} // namespace plink2
+#endif
diff --git a/external_libs/pgenlib/pgenlib_ffi_support.h b/external_libs/pgenlib/pgenlib_ffi_support.h
new file mode 100644
index 0000000..629936f
--- /dev/null
+++ b/external_libs/pgenlib/pgenlib_ffi_support.h
@@ -0,0 +1,115 @@
+#ifndef __PGENLIB_FFI_SUPPORT_H__
+#define __PGENLIB_FFI_SUPPORT_H__
+
+// This library is part of PLINK 2.0, copyright (C) 2005-2024 Shaun Purcell,
+// Christopher Chang.
+//
+// This library is free software: you can redistribute it and/or modify it
+// under the terms of the GNU Lesser General Public License as published by the
+// Free Software Foundation; either version 3 of the License, or (at your
+// option) any later version.
+//
+// This library is distributed in the hope that it will be useful, but WITHOUT
+// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+// FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+// for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this library. If not, see .
+
+#include "include/pgenlib_misc.h"
+
+#ifdef __cplusplus
+namespace plink2 {
+#endif
+
+// Could define a slightly-more-efficient version of this function which uses a
+// missing code of 3 instead of -9. But let's play well with existing scripts
+// first.
+void GenoarrToBytesMinus9(const uintptr_t* genoarr, uint32_t sample_ct, int8_t* genobytes);
+
+void GenoarrToInt32sMinus9(const uintptr_t* genoarr, uint32_t sample_ct, int32_t* geno_int32);
+
+void GenoarrToInt64sMinus9(const uintptr_t* genoarr, uint32_t sample_ct, int64_t* geno_int64);
+
+// May want to use STD_ARRAY_INIT_{START,END}... though it may not be worth the
+// additional compilation headaches here.
+extern const double kGenoDoublePairs[32];
+
+HEADER_INLINE void GenoarrToDoublesMinus9(const uintptr_t* genoarr, uint32_t sample_ct, double* geno_double) {
+ GenoarrLookup16x8bx2(genoarr, kGenoDoublePairs, sample_ct, geno_double);
+}
+
+HEADER_INLINE void GenoarrToAlleleCodes(const uint64_t* geno_to_intcode_pair_table, const uintptr_t* genoarr, uint32_t sample_ct, int32_t* allele_codes) {
+ GenoarrLookup16x8bx2(genoarr, geno_to_intcode_pair_table, sample_ct, allele_codes);
+}
+
+extern const uint64_t kGenoToIntcodeDPairs[32];
+
+// For FFI, allele_codes is always int32_t. Python/R programmers should not
+// need to worry about whether pgenlib was compiled with 1-, 2-, or 4-byte
+// AlleleCode.
+//
+// phasebytes can be nullptr; if it isn't, entry is 1 iff genotype is an
+// explicitly phased het, OR genotype is homozygous
+// phasepresent cannot be nullptr
+void GenoarrPhasedToAlleleCodes(const uint64_t* geno_to_intcode_dpair_table, const uintptr_t* genoarr, const uintptr_t* phasepresent, const uintptr_t* phaseinfo, uint32_t sample_ct, uint32_t phasepresent_ct, unsigned char* phasebytes, int32_t* allele_codes);
+
+HEADER_INLINE void GenoarrPhasedToAlleleCodesMinus9(const uintptr_t* genoarr, const uintptr_t* phasepresent, const uintptr_t* phaseinfo, uint32_t sample_ct, uint32_t phasepresent_ct, unsigned char* phasebytes, int32_t* allele_codes) {
+ GenoarrPhasedToAlleleCodes(kGenoToIntcodeDPairs, genoarr, phasepresent, phaseinfo, sample_ct, phasepresent_ct, phasebytes, allele_codes);
+}
+
+void GenoarrMPToAlleleCodes(const uint64_t* geno_to_intcode_dpair_table, const PgenVariant* pgv, uint32_t sample_ct, unsigned char* phasebytes, int32_t* allele_codes);
+
+HEADER_INLINE void GenoarrMPToAlleleCodesMinus9(const PgenVariant* pgv, uint32_t sample_ct, unsigned char* phasebytes, int32_t* allele_codes) {
+ GenoarrMPToAlleleCodes(kGenoToIntcodeDPairs, pgv, sample_ct, phasebytes, allele_codes);
+}
+
+// assumes transposed genoarr, phaseinfo
+void GenoarrPhasedToHapCodes(const uintptr_t* genoarr, const uintptr_t* phaseinfo, uint32_t variant_batch_size, int32_t* hap0_codes_iter, int32_t* hap1_codes_iter);
+
+void Dosage16ToFloatsMinus9(const uintptr_t* genoarr, const uintptr_t* dosage_present, const uint16_t* dosage_main, uint32_t sample_ct, uint32_t dosage_ct, float* geno_float);
+
+void Dosage16ToDoubles(const double* geno_double_pair_table, const uintptr_t* genoarr, const uintptr_t* dosage_present, const uint16_t* dosage_main, uint32_t sample_ct, uint32_t dosage_ct, double* geno_double);
+
+// If all samples are missing, this errors out.
+BoolErr Dosage16ToDoublesMeanimpute(const uintptr_t* genoarr, const uintptr_t* dosage_present, const uint16_t* dosage_main, uint32_t sample_ct, uint32_t dosage_ct, double* geno_double);
+
+// Currently requires trailing bits of genoarr to be zeroed out.
+double LinearCombinationMeanimpute(const double* weights, const uintptr_t* genoarr, const uintptr_t* dosage_present, const uint16_t* dosage_main, uint32_t sample_ct, uint32_t dosage_ct);
+
+HEADER_INLINE void Dosage16ToDoublesMinus9(const uintptr_t* genoarr, const uintptr_t* dosage_present, const uint16_t* dosage_main, uint32_t sample_ct, uint32_t dosage_ct, double* geno_double) {
+ Dosage16ToDoubles(kGenoDoublePairs, genoarr, dosage_present, dosage_main, sample_ct, dosage_ct, geno_double);
+}
+
+// Does not zero out trailing bits of bitarr.
+void BytesToBitsUnsafe(const uint8_t* boolbytes, uint32_t sample_ct, uintptr_t* bitarr);
+
+// Bottom 2 bits are extracted from every byte. Conveniently, -9 and 3 are
+// treated identically.
+// Does not zero out trailing bits of genoarr.
+void BytesToGenoarrUnsafe(const int8_t* genobytes, uint32_t sample_ct, uintptr_t* genoarr);
+
+// - Assumes biallelic variant, does not validate that.
+// - Low bit of each element of phasepresent_bytes is significant.
+// - If phasepresent_bytes is nullptr, phasepresent is not updated. In this
+// case, phaseinfo is updated iff it's not nullptr. It's okay for both
+// phasepresent and phaseinfo to be nullptr here.
+// - Otherwise, phasepresent and phaseinfo are always updated; neither can be
+// nullptr.
+// - Trailing bits of phasepresent/phaseinfo may not be zeroed out.
+void AlleleCodesToGenoarrUnsafe(const int32_t* allele_codes, const unsigned char* phasepresent_bytes, uint32_t sample_ct, uintptr_t* genoarr, uintptr_t* phasepresent, uintptr_t* phaseinfo);
+
+// Does not clear trailing bits of genovec, phasepresent, or phaseinfo.
+// Returns min(2, 1 + max allele code) if allele_codes is valid, -1 if invalid.
+int32_t ConvertMultiAlleleCodesUnsafe(const int32_t* allele_codes, const unsigned char* phasepresent_bytes, uint32_t sample_ct, uintptr_t* genoarr, uintptr_t* patch_01_set, AlleleCode* patch_01_vals, uintptr_t* patch_10_set, AlleleCode* patch_10_vals, uint32_t* patch_01_ctp, uint32_t* patch_10_ctp, uintptr_t* phasepresent, uintptr_t* phaseinfo);
+
+void FloatsToDosage16(const float* floatarr, uint32_t sample_ct, uint32_t hard_call_halfdist, uintptr_t* genoarr, uintptr_t* dosage_present, uint16_t* dosage_main, uint32_t* dosage_ct_ptr);
+
+void DoublesToDosage16(const double* doublearr, uint32_t sample_ct, uint32_t hard_call_halfdist, uintptr_t* genoarr, uintptr_t* dosage_present, uint16_t* dosage_main, uint32_t* dosage_ct_ptr);
+
+#ifdef __cplusplus
+} // namespace plink2
+#endif
+
+#endif // __PGENLIB_FFI_SUPPORT_H__
diff --git a/external_libs/pgenlib/pgenlib_ffi_support.o b/external_libs/pgenlib/pgenlib_ffi_support.o
new file mode 100644
index 0000000..e74cdad
Binary files /dev/null and b/external_libs/pgenlib/pgenlib_ffi_support.o differ
diff --git a/external_libs/pgenlib/pgenlibr.cpp b/external_libs/pgenlib/pgenlibr.cpp
new file mode 100644
index 0000000..8390e13
--- /dev/null
+++ b/external_libs/pgenlib/pgenlibr.cpp
@@ -0,0 +1,421 @@
+/*
+ *
+ * File obtained from pgenlibr R library:
+ * https://github.com/chrchang/plink-ng/tree/master/2.0/pgenlibr
+ *
+ * License info obtained from DESCRIPTION file:
+ * https://github.com/chrchang/plink-ng/blob/master/2.0/pgenlibr/DESCRIPTION
+ * -----------------------------------------------------
+ Package: pgenlibr
+ Type: Package
+ Title: PLINK 2 Binary (.pgen) Reader
+ Version: 0.2
+ Date: 2019-07-10
+ Author: Christopher Chang
+ Maintainer: Christopher Chang
+ Description: A thin wrapper over PLINK 2's core libraries which provides an R
+ interface for reading .pgen files. A minimal .pvar loader is also included.
+ License: LGPL (>= 3)
+ Imports: Rcpp (>= 1.0.1)
+ LinkingTo: Rcpp
+ * -----------------------------------------------------
+
+ * Modified by Joelle Mbatchou - June 29 2020
+ * - removed functions that were for R
+ * - split file to header (added link to several standard C++ libraries)
+ * - modified remaining functions to be fully C/C++ compatible
+ * - multithreaded reading of pgen file (04/13/2021)
+ *
+ * This file remains under LGPL v3 license (license is in same directory as this file)
+ */
+
+#include "pgenlibr.h"
+
+PgenReader::PgenReader() : _info_ptr(nullptr),
+ //_allele_idx_offsetsp(nullptr),
+ _nonref_flagsp(nullptr)
+ //_state_ptr(nullptr)
+ {
+}
+
+PgenReader::~PgenReader() {
+ Close();
+}
+
+void PgenReader::Load(std::string filename, uint32_t cur_sample_ct, std::vector sample_subset_1based, int nthr) {
+ if (_info_ptr) {
+ Close();
+ }
+ _info_ptr = static_cast(malloc(sizeof(plink2::PgenFileInfo)));
+ if (!_info_ptr) {
+ fprintf(stderr,"Out of memory");
+ exit(-1);
+ }
+ plink2::PreinitPgfi(_info_ptr);
+ uint32_t cur_variant_ct = UINT32_MAX;
+ const char* fname = filename.c_str();
+ plink2::PgenHeaderCtrl header_ctrl;
+ uintptr_t pgfi_alloc_cacheline_ct;
+ char errstr_buf[plink2::kPglErrstrBufBlen];
+ if (PgfiInitPhase1(fname, nullptr, cur_variant_ct, cur_sample_ct, &header_ctrl, _info_ptr, &pgfi_alloc_cacheline_ct, errstr_buf) != plink2::kPglRetSuccess) {
+ fprintf(stderr, "%s\n", &(errstr_buf[7]));
+ exit(-1);
+ }
+ const uint32_t raw_variant_ct = _info_ptr->raw_variant_ct;
+ if (header_ctrl & 0x30) {
+ fprintf(stderr,"Storing of allele count information is not supported (only bi-allelic variants should be present).");
+ exit(-1);
+ // no need to zero-initialize this
+ //_allele_idx_offsetsp = plink2::CreateRefcountedWptr(raw_variant_ct + 1);
+ //_info_ptr->allele_idx_offsets = _allele_idx_offsetsp->p;
+ // _info_ptr->max_allele_ct updated by PgfiInitPhase2() in this case
+ }
+ _info_ptr->max_allele_ct = 2;
+ if ((header_ctrl & 0xc0) == 0xc0) {
+ // todo: load this in pvar, to enable consistency check. we use a
+ // (manually implemented) shared_ptr in preparation for this.
+ const uintptr_t raw_variant_ctl = plink2::DivUp(raw_variant_ct, plink2::kBitsPerWord);
+ // no need to zero-initialize this
+ _nonref_flagsp = plink2::CreateRefcountedWptr(raw_variant_ctl + 1);
+ _info_ptr->nonref_flags = _nonref_flagsp->p;
+ }
+ const uint32_t file_sample_ct = _info_ptr->raw_sample_ct;
+ unsigned char* pgfi_alloc = nullptr;
+ if (plink2::cachealigned_malloc(pgfi_alloc_cacheline_ct * plink2::kCacheline, &pgfi_alloc)) {
+ fprintf(stderr,"Out of memory");
+ exit(-1);
+ }
+ uint32_t max_vrec_width;
+ uintptr_t pgr_alloc_cacheline_ct;
+ if (PgfiInitPhase2(header_ctrl, 1, 0, 0, 0, raw_variant_ct, &max_vrec_width, _info_ptr, pgfi_alloc, &pgr_alloc_cacheline_ct, errstr_buf)) {
+ if (pgfi_alloc && (!_info_ptr->vrtypes)) {
+ plink2::aligned_free(pgfi_alloc);
+ }
+ fprintf(stderr,"%s\n", &(errstr_buf[7]));
+ exit(-1);
+ }
+ if ((!_allele_idx_offsetsp) && (_info_ptr->gflags & 4)) {
+ // Note that it's safe to be ignorant of multiallelic variants when
+ // phase and dosage info aren't present; GetAlleleCt() then always returns
+ // 2 when that isn't actually true, and all ALTs are treated as if they
+ // were ALT1, but otherwise everything works properly.
+ fprintf(stderr,"Multiallelic variants and phase/dosage info simultaneously present; pvar required in this case");
+ exit(-1);
+ }
+
+ _state_ptr.resize(nthr);
+ _subset_index.resize(nthr);
+ _pgv.resize(nthr);
+ _subset_include_interleaved_vec.resize(nthr);
+ _subset_cumulative_popcounts.resize(nthr);
+ _subset_size.resize(nthr);
+ _subset_include_vec.resize(nthr);
+
+ for(int i = 0; i < nthr; i++) {
+ _state_ptr[i] = static_cast(malloc(sizeof(plink2::PgenReader)));
+ if (!_state_ptr[i]) {
+ fprintf(stderr,"Out of memory");
+ exit(-1);
+ }
+ plink2::PreinitPgr(_state_ptr[i]);
+ plink2::PgrSetFreadBuf(nullptr, _state_ptr[i]);
+ }
+
+ const uintptr_t pgr_alloc_main_byte_ct = pgr_alloc_cacheline_ct * plink2::kCacheline;
+ const uintptr_t sample_subset_byte_ct = plink2::DivUp(file_sample_ct, plink2::kBitsPerVec) * plink2::kBytesPerVec;
+ const uintptr_t cumulative_popcounts_byte_ct = plink2::DivUp(file_sample_ct, plink2::kBitsPerWord * plink2::kInt32PerVec) * plink2::kBytesPerVec;
+ const uintptr_t genovec_byte_ct = plink2::DivUp(file_sample_ct, plink2::kNypsPerVec) * plink2::kBytesPerVec;
+ //const uintptr_t ac_byte_ct = plink2::RoundUpPow2(file_sample_ct * sizeof(plink2::AlleleCode), plink2::kBytesPerVec);
+ //const uintptr_t ac2_byte_ct = plink2::RoundUpPow2(file_sample_ct * 2 * sizeof(plink2::AlleleCode), plink2::kBytesPerVec);
+ uintptr_t multiallelic_hc_byte_ct = 0;
+ if (_info_ptr->max_allele_ct != 2) {
+ fprintf(stderr,"no multiallelic vaariants allowed");
+ exit(-1);
+ //multiallelic_hc_byte_ct = 2 * sample_subset_byte_ct + ac_byte_ct + ac2_byte_ct;
+ }
+ const uintptr_t dosage_main_byte_ct = plink2::DivUp(file_sample_ct, (2 * plink2::kInt32PerVec)) * plink2::kBytesPerVec;
+
+
+ for(int i = 0; i < nthr; i++) {
+ unsigned char* pgr_alloc;
+ if (plink2::cachealigned_malloc(pgr_alloc_main_byte_ct + (2 * plink2::kPglNypTransposeBatch + 5) * sample_subset_byte_ct + cumulative_popcounts_byte_ct + (1 + plink2::kPglNypTransposeBatch) * genovec_byte_ct + multiallelic_hc_byte_ct + dosage_main_byte_ct + plink2::kPglBitTransposeBufbytes + 4 * (plink2::kPglNypTransposeBatch * plink2::kPglNypTransposeBatch / 8), &pgr_alloc)) {
+ fprintf(stderr,"Out of memory");
+ exit(-1);
+ }
+ plink2::PglErr reterr = PgrInit(fname, max_vrec_width, _info_ptr, _state_ptr[i], pgr_alloc);
+ if (reterr != plink2::kPglRetSuccess) {
+ if (!plink2::PgrGetFreadBuf(_state_ptr[i])) {
+ plink2::aligned_free(pgr_alloc);
+ }
+ sprintf(errstr_buf, "PgrInit() error %d", static_cast(reterr));
+ fprintf(stderr,"%s\n", errstr_buf);
+ exit(-1);
+ }
+ unsigned char* pgr_alloc_iter = &(pgr_alloc[pgr_alloc_main_byte_ct]);
+ _subset_include_vec[i] = reinterpret_cast(pgr_alloc_iter);
+ pgr_alloc_iter = &(pgr_alloc_iter[sample_subset_byte_ct]);
+ _subset_include_interleaved_vec[i] = reinterpret_cast(pgr_alloc_iter);
+ pgr_alloc_iter = &(pgr_alloc_iter[sample_subset_byte_ct]);
+
+#ifdef USE_AVX2
+ _subset_include_interleaved_vec[i][-3] = 0;
+ _subset_include_interleaved_vec[i][-2] = 0;
+#endif
+ _subset_include_interleaved_vec[i][-1] = 0;
+
+ _subset_cumulative_popcounts[i] = reinterpret_cast(pgr_alloc_iter);
+
+ pgr_alloc_iter = &(pgr_alloc_iter[cumulative_popcounts_byte_ct]);
+
+ _pgv[i] = std::make_shared();
+ _pgv[i]->genovec = reinterpret_cast(pgr_alloc_iter);
+ pgr_alloc_iter = &(pgr_alloc_iter[genovec_byte_ct]);
+ /*
+ if (multiallelic_hc_byte_ct) {
+ _pgv.patch_01_set = reinterpret_cast(pgr_alloc_iter);
+ pgr_alloc_iter = &(pgr_alloc_iter[sample_subset_byte_ct]);
+ _pgv.patch_01_vals = reinterpret_cast(pgr_alloc_iter);
+ pgr_alloc_iter = &(pgr_alloc_iter[ac_byte_ct]);
+ _pgv.patch_10_set = reinterpret_cast(pgr_alloc_iter);
+ pgr_alloc_iter = &(pgr_alloc_iter[sample_subset_byte_ct]);
+ _pgv.patch_10_vals = reinterpret_cast(pgr_alloc_iter);
+ pgr_alloc_iter = &(pgr_alloc_iter[ac2_byte_ct]);
+ } else {
+ */
+ _pgv[i]->patch_01_set = nullptr;
+ _pgv[i]->patch_01_vals = nullptr;
+ _pgv[i]->patch_10_set = nullptr;
+ _pgv[i]->patch_10_vals = nullptr;
+
+ _pgv[i]->phasepresent = reinterpret_cast(pgr_alloc_iter);
+
+ // }
+ pgr_alloc_iter = &(pgr_alloc_iter[sample_subset_byte_ct]);
+ _pgv[i]->phaseinfo = reinterpret_cast(pgr_alloc_iter);
+ pgr_alloc_iter = &(pgr_alloc_iter[sample_subset_byte_ct]);
+ _pgv[i]->dosage_present = reinterpret_cast(pgr_alloc_iter);
+ pgr_alloc_iter = &(pgr_alloc_iter[sample_subset_byte_ct]);
+ _pgv[i]->dosage_main = reinterpret_cast(pgr_alloc_iter);
+ pgr_alloc_iter = &(pgr_alloc_iter[dosage_main_byte_ct]);
+
+
+ if (sample_subset_1based.size() > 0) {
+ SetSampleSubsetInternal(sample_subset_1based, i);
+ } else {
+ _subset_size[i] = file_sample_ct;
+ }
+ }
+
+ /*
+ pgr_alloc_iter = &(pgr_alloc_iter[plink2::kPglBitTransposeBufbytes]);
+ _multivar_vmaj_geno_buf = reinterpret_cast(pgr_alloc_iter);
+ pgr_alloc_iter = &(pgr_alloc_iter[plink2::kPglNypTransposeBatch * genovec_byte_ct]);
+ _multivar_vmaj_phasepresent_buf = reinterpret_cast(pgr_alloc_iter);
+ pgr_alloc_iter = &(pgr_alloc_iter[plink2::kPglNypTransposeBatch * sample_subset_byte_ct]);
+ _multivar_vmaj_phaseinfo_buf = reinterpret_cast(pgr_alloc_iter);
+ pgr_alloc_iter = &(pgr_alloc_iter[plink2::kPglNypTransposeBatch * sample_subset_byte_ct]);
+ _multivar_smaj_geno_batch_buf = reinterpret_cast(pgr_alloc_iter);
+ pgr_alloc_iter = &(pgr_alloc_iter[plink2::kPglNypTransposeBatch * plink2::kPglNypTransposeBatch / 4]);
+ _multivar_smaj_phaseinfo_batch_buf = reinterpret_cast(pgr_alloc_iter);
+ pgr_alloc_iter = &(pgr_alloc_iter[plink2::kPglNypTransposeBatch * plink2::kPglNypTransposeBatch / 8]);
+ _multivar_smaj_phasepresent_batch_buf = reinterpret_cast(pgr_alloc_iter);
+ pgr_alloc_iter = &(pgr_alloc_iter[plink2::kPglNypTransposeBatch * plink2::kPglNypTransposeBatch / 8]);
+ */
+
+}
+
+uint32_t PgenReader::GetRawSampleCt() const {
+ if (!_info_ptr) {
+ fprintf(stderr,"pgen is closed");
+ exit(-1);
+ }
+ return _info_ptr->raw_sample_ct;
+}
+
+uint32_t PgenReader::GetSubsetSize() const {
+ return _subset_size[0];
+}
+
+uint32_t PgenReader::GetVariantCt() const {
+ if (!_info_ptr) {
+ fprintf(stderr,"pgen is closed");
+ exit(-1);
+ }
+ return _info_ptr->raw_variant_ct;
+}
+
+uint32_t PgenReader::GetAlleleCt(uint32_t variant_idx) const {
+ if (!_info_ptr) {
+ fprintf(stderr,"pgen is closed");
+ exit(-1);
+ }
+ if (variant_idx >= _info_ptr->raw_variant_ct) {
+ char errstr_buf[256];
+ sprintf(errstr_buf, "variant_num out of range (%d; must be 1..%u)", variant_idx + 1, _info_ptr->raw_variant_ct);
+ fprintf(stderr,"%s\n", errstr_buf);
+ exit(-1);
+ }
+ if (!_allele_idx_offsetsp) {
+ return 2;
+ }
+ fprintf(stderr,"Error: only bi-allelic variants are supported");
+ exit(-1);
+ //const uintptr_t* allele_idx_offsets = _allele_idx_offsetsp->p;
+ //return allele_idx_offsets[variant_idx + 1] - allele_idx_offsets[variant_idx];
+}
+
+uint32_t PgenReader::GetMaxAlleleCt() const {
+ if (!_info_ptr) {
+ fprintf(stderr,"pgen is closed");
+ exit(-1);
+ }
+ return _info_ptr->max_allele_ct;
+}
+
+bool PgenReader::HardcallPhasePresent() const {
+ if (!_info_ptr) {
+ fprintf(stderr,"pgen is closed");
+ exit(-1);
+ }
+ return ((_info_ptr->gflags & plink2::kfPgenGlobalHardcallPhasePresent) != 0);
+}
+
+// added by J.Mbatchou (09/22/20) to check if dosages are present in PGEN file
+bool PgenReader::DosagePresent() const {
+ if (!_info_ptr) {
+ fprintf(stderr,"pgen is closed");
+ exit(-1);
+ }
+ return ((_info_ptr->gflags & plink2::kfPgenGlobalDosagePresent) != 0);
+}
+
+//static const int32_t kGenoRInt32Quads[1024] ALIGNV16 = QUAD_TABLE256(0, 1, 2, -3);
+
+static const double kGenoRDoublePairs[32] ALIGNV16 = PAIR_TABLE16(0.0, 1.0, 2.0, -3.0);
+
+void PgenReader::ReadHardcalls(double* buf, size_t const& n, int const& thr, int variant_idx, int allele_idx) {
+ if (!_info_ptr) {
+ fprintf(stderr,"pgen is closed");
+ exit(-1);
+ }
+ if (static_cast(variant_idx) >= _info_ptr->raw_variant_ct) {
+ char errstr_buf[256];
+ sprintf(errstr_buf, "variant_num out of range (%d; must be 1..%u)", variant_idx + 1, _info_ptr->raw_variant_ct);
+ fprintf(stderr,"%s\n", errstr_buf);
+ exit(-1);
+ }
+ if (n != _subset_size[thr]) {
+ char errstr_buf[256];
+ sprintf(errstr_buf, "buf has wrong length (%" PRIdPTR "; %u expected)", n, _subset_size[thr]);
+ fprintf(stderr,"%s\n", errstr_buf);
+ exit(-1);
+ }
+ plink2::PglErr reterr = PgrGet1(_subset_include_vec[thr], _subset_index[thr], _subset_size[thr], variant_idx, allele_idx, _state_ptr[thr], _pgv[thr]->genovec);
+ if (reterr != plink2::kPglRetSuccess) {
+ char errstr_buf[256];
+ sprintf(errstr_buf, "PgrGet1() error %d", static_cast(reterr));
+ fprintf(stderr,"%s\n", errstr_buf);
+ exit(-1);
+ }
+ plink2::GenoarrLookup16x8bx2(_pgv[thr]->genovec, kGenoRDoublePairs, _subset_size[thr], buf);
+}
+
+void PgenReader::Read(double* buf, size_t const& n, int const& thr, int variant_idx, int allele_idx) {
+ if (!_info_ptr) {
+ fprintf(stderr,"pgen is closed");
+ exit(-1);
+ }
+ if (static_cast(variant_idx) >= _info_ptr->raw_variant_ct) {
+ char errstr_buf[256];
+ sprintf(errstr_buf, "variant_num out of range (%d; must be 1..%u)", variant_idx + 1, _info_ptr->raw_variant_ct);
+ fprintf(stderr,"%s\n", errstr_buf);
+ exit(-1);
+ }
+ if (n != _subset_size[thr]) {
+ char errstr_buf[256];
+ sprintf(errstr_buf, "buf has wrong length (%" PRIdPTR "; %u expected)", n, _subset_size[thr]);
+ fprintf(stderr,"%s\n", errstr_buf);
+ exit(-1);
+ }
+ uint32_t dosage_ct;
+ plink2::PglErr reterr = PgrGet1D(_subset_include_vec[thr], _subset_index[thr], _subset_size[thr], variant_idx, allele_idx, _state_ptr[thr], _pgv[thr]->genovec, _pgv[thr]->dosage_present, _pgv[thr]->dosage_main, &dosage_ct);
+ if (reterr != plink2::kPglRetSuccess) {
+ char errstr_buf[256];
+ sprintf(errstr_buf, "PgrGet1D() error %d", static_cast(reterr));
+ fprintf(stderr,"%s\n", errstr_buf);
+ exit(-1);
+ }
+ plink2::Dosage16ToDoubles(kGenoRDoublePairs, _pgv[thr]->genovec, _pgv[thr]->dosage_present, _pgv[thr]->dosage_main, _subset_size[thr], dosage_ct, buf);
+}
+
+void PgenReader::Close() {
+ // don't bother propagating file close errors for now
+ if (_info_ptr) {
+ //CondReleaseRefcountedWptr(&_allele_idx_offsetsp);
+ CondReleaseRefcountedWptr(&_nonref_flagsp);
+ if (_info_ptr->vrtypes) {
+ plink2::aligned_free(_info_ptr->vrtypes);
+ }
+ plink2::PglErr reterr = plink2::kPglRetSuccess;
+ plink2::CleanupPgfi(_info_ptr, &reterr);
+ free(_info_ptr);
+ _info_ptr = nullptr;
+ }
+
+ for(size_t i = 0; i < _state_ptr.size(); i++) {
+ if (_state_ptr[i]) {
+ plink2::PglErr reterr = plink2::kPglRetSuccess;
+ plink2::CleanupPgr(_state_ptr[i], &reterr);
+ if (PgrGetFreadBuf(_state_ptr[i])) {
+ plink2::aligned_free(PgrGetFreadBuf(_state_ptr[i]));
+ }
+ free(_state_ptr[i]);
+ _state_ptr[i] = nullptr;
+ }
+ _subset_size[i] = 0;
+ }
+}
+
+void PgenReader::SetSampleSubsetInternal(std::vector& sample_subset_1based, int const& thr) {
+ const uint32_t raw_sample_ct = _info_ptr->raw_sample_ct;
+ const uint32_t raw_sample_ctv = plink2::DivUp(raw_sample_ct, plink2::kBitsPerVec);
+ const uint32_t raw_sample_ctaw = raw_sample_ctv * plink2::kWordsPerVec;
+ uintptr_t* sample_include = _subset_include_vec[thr];
+ plink2::ZeroWArr(raw_sample_ctaw, sample_include);
+ const uint32_t subset_size = sample_subset_1based.size();
+ if (subset_size == 0) {
+ fprintf(stderr,"Empty sample_subset is not currently permitted");
+ exit(-1);
+ }
+ uint32_t sample_uidx = sample_subset_1based[0] - 1;
+ uint32_t idx = 0;
+ uint32_t next_uidx;
+ while (1) {
+ if (sample_uidx >= raw_sample_ct) {
+ char errstr_buf[256];
+ sprintf(errstr_buf, "sample number out of range (%d; must be 1..%u)", static_cast(sample_uidx + 1), raw_sample_ct);
+ fprintf(stderr,"%s\n", errstr_buf);
+ exit(-1);
+ }
+ plink2::SetBit(sample_uidx, sample_include);
+ if (++idx == subset_size) {
+ break;
+ }
+ next_uidx = sample_subset_1based[idx] - 1;
+
+ // prohibit this since it implies that the caller expects genotypes to be
+ // returned in a different order
+ if (next_uidx <= sample_uidx) {
+ fprintf(stderr,"sample_subset is not in strictly increasing order");
+ exit(-1);
+ }
+ sample_uidx = next_uidx;
+ }
+
+ plink2::FillInterleavedMaskVec(sample_include, raw_sample_ctv, _subset_include_interleaved_vec[thr]);
+ const uint32_t raw_sample_ctl = plink2::DivUp(raw_sample_ct, plink2::kBitsPerWord);
+ plink2::FillCumulativePopcounts(sample_include, raw_sample_ctl, _subset_cumulative_popcounts[thr]);
+ plink2::PgrSetSampleSubsetIndex(_subset_cumulative_popcounts[thr], _state_ptr[thr], &_subset_index[thr]);
+ _subset_size[thr] = subset_size;
+}
+
diff --git a/external_libs/pgenlib/pgenlibr.h b/external_libs/pgenlib/pgenlibr.h
new file mode 100644
index 0000000..fe85d06
--- /dev/null
+++ b/external_libs/pgenlib/pgenlibr.h
@@ -0,0 +1,100 @@
+/*
+ *
+ * File derived from pgenlibr R library:
+ * https://github.com/chrchang/plink-ng/tree/master/2.0/pgenlibr
+ *
+ * License info obtained from DESCRIPTION file:
+ * https://github.com/chrchang/plink-ng/blob/master/2.0/pgenlibr/DESCRIPTION
+ * -----------------------------------------------------
+ Package: pgenlibr
+ Type: Package
+ Title: PLINK 2 Binary (.pgen) Reader
+ Version: 0.2
+ Date: 2019-07-10
+ Author: Christopher Chang
+ Maintainer: Christopher Chang
+ Description: A thin wrapper over PLINK 2's core libraries which provides an R
+ interface for reading .pgen files. A minimal .pvar loader is also included.
+ License: LGPL (>= 3)
+ Imports: Rcpp (>= 1.0.1)
+ LinkingTo: Rcpp
+ * -----------------------------------------------------
+
+ * Modified by Joelle Mbatchou - June 29 2020
+ * - removed functions that were for R
+ * - split file to header (added link to several standard C++ libraries)
+ * - modified remaining functions to be fully C/C++ compatible
+ *
+ * This file remains under LGPL v3 license (license is in same directory as this file)
+ */
+
+
+#include
+#include
+#include
+#include
+#include
+#include "pvar_ffi_support.h"
+#include "pgenlib_ffi_support.h"
+#include "include/pgenlib_read.h"
+
+
+class PgenReader {
+public:
+ PgenReader();
+
+ void Load(std::string filename, uint32_t cur_sample_ct, std::vector sample_subset_1based, int nthr);
+
+ uint32_t GetRawSampleCt() const;
+
+ uint32_t GetSubsetSize() const;
+
+ uint32_t GetVariantCt() const;
+
+ uint32_t GetAlleleCt(uint32_t variant_idx) const;
+
+ uint32_t GetMaxAlleleCt() const;
+
+ bool HardcallPhasePresent() const;
+
+ bool DosagePresent() const;
+
+ void ReadIntHardcalls(std::vector& buf, int variant_idx, int allele_idx);
+
+ void ReadHardcalls(double* buf, size_t const& n, int const& thr, int variant_idx, int allele_idx);
+
+ void Read(double* buf, size_t const& n, int const& thr, int variant_idx, int allele_idx);
+
+ void Close();
+
+ ~PgenReader();
+
+private:
+ plink2::PgenFileInfo* _info_ptr;
+ uintptr_t* _allele_idx_offsetsp = nullptr;
+ //plink2::RefcountedWptr* _allele_idx_offsetsp;
+ plink2::RefcountedWptr* _nonref_flagsp;
+
+ // have all below be threads specific
+ std::vector _state_ptr;
+ std::vector _subset_index;
+ std::vector> _pgv;
+ std::vector _subset_include_interleaved_vec;
+ std::vector _subset_cumulative_popcounts;
+ std::vector _subset_size;
+ std::vector _subset_include_vec;
+
+ /*
+ // kPglNypTransposeBatch (= 256) variants at a time, and then transpose
+ uintptr_t* _multivar_vmaj_geno_buf;
+ uintptr_t* _multivar_vmaj_phasepresent_buf;
+ uintptr_t* _multivar_vmaj_phaseinfo_buf;
+ uintptr_t* _multivar_smaj_geno_batch_buf;
+ uintptr_t* _multivar_smaj_phaseinfo_batch_buf;
+ uintptr_t* _multivar_smaj_phasepresent_batch_buf;
+*/
+
+ void SetSampleSubsetInternal(std::vector& sample_subset_1based, int const& thr);
+ void ReadAllelesPhasedInternal(int variant_idx);
+};
+
diff --git a/external_libs/pgenlib/pgenlibr.o b/external_libs/pgenlib/pgenlibr.o
new file mode 100644
index 0000000..5a8cd26
Binary files /dev/null and b/external_libs/pgenlib/pgenlibr.o differ
diff --git a/external_libs/pgenlib/pvar_ffi_support.cc b/external_libs/pgenlib/pvar_ffi_support.cc
new file mode 100644
index 0000000..f6d1ce2
--- /dev/null
+++ b/external_libs/pgenlib/pvar_ffi_support.cc
@@ -0,0 +1,49 @@
+// This library is part of PLINK 2.00, copyright (C) 2005-2020 Shaun Purcell,
+// Christopher Chang.
+//
+// This library is free software: you can redistribute it and/or modify it
+// under the terms of the GNU Lesser General Public License as published by the
+// Free Software Foundation; either version 3 of the License, or (at your
+// option) any later version.
+//
+// This library is distributed in the hope that it will be useful, but WITHOUT
+// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+// FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+// for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this library. If not, see .
+//
+//
+// * Modified by Joelle Mbatchou - Apr 27 2021
+// * - kept only needed functions and modify to recude needed headers
+
+#include "pvar_ffi_support.h"
+
+namespace plink2 {
+
+RefcountedWptr* CreateRefcountedWptr(uintptr_t size) {
+ RefcountedWptr* rwp = static_cast(malloc(sizeof(RefcountedWptr)));
+ if (!rwp) {
+ return nullptr;
+ }
+ rwp->ref_ct = 1;
+ rwp->p = static_cast(malloc(sizeof(uintptr_t) * size));
+
+ return rwp;
+}
+
+void CondReleaseRefcountedWptr(RefcountedWptr** rwpp) {
+ RefcountedWptr* rwp = *rwpp;
+ if (!rwp) {
+ return;
+ }
+ --rwp->ref_ct;
+ if (!rwp->ref_ct) {
+ free(rwp->p);
+ free(rwp);
+ }
+ *rwpp = nullptr;
+}
+
+} // namespace plink2
diff --git a/external_libs/pgenlib/pvar_ffi_support.h b/external_libs/pgenlib/pvar_ffi_support.h
new file mode 100644
index 0000000..132ad26
--- /dev/null
+++ b/external_libs/pgenlib/pvar_ffi_support.h
@@ -0,0 +1,47 @@
+#ifndef __PVAR_FFI_SUPPORT_H__
+#define __PVAR_FFI_SUPPORT_H__
+
+// This library is part of PLINK 2.00, copyright (C) 2005-2020 Shaun Purcell,
+// Christopher Chang.
+//
+// This library is free software: you can redistribute it and/or modify it
+// under the terms of the GNU Lesser General Public License as published by the
+// Free Software Foundation; either version 3 of the License, or (at your
+// option) any later version.
+//
+// This library is distributed in the hope that it will be useful, but WITHOUT
+// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+// FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+// for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with this library. If not, see .
+//
+// * Modified by Joelle Mbatchou - Apr 27 2021
+// * - kept only needed functions
+
+#include "include/pgenlib_misc.h"
+
+#ifdef __cplusplus
+namespace plink2 {
+#endif
+
+struct RefcountedWptrStruct {
+ uintptr_t ref_ct;
+ // flexible member array is not C++ compatible
+ //uintptr_t p[];
+ uintptr_t* p;
+};
+
+typedef struct RefcountedWptrStruct RefcountedWptr;
+
+RefcountedWptr* CreateRefcountedWptr(uintptr_t size);
+
+void CondReleaseRefcountedWptr(RefcountedWptr** rwpp);
+
+
+#ifdef __cplusplus
+} // namespace plink2
+#endif
+
+#endif // __PVAR_FFI_SUPPORT_H__
diff --git a/external_libs/pgenlib/pvar_ffi_support.o b/external_libs/pgenlib/pvar_ffi_support.o
new file mode 100644
index 0000000..b980656
Binary files /dev/null and b/external_libs/pgenlib/pvar_ffi_support.o differ
diff --git a/external_libs/pgenlib/simde/check.h b/external_libs/pgenlib/simde/check.h
new file mode 100644
index 0000000..7d17d29
--- /dev/null
+++ b/external_libs/pgenlib/simde/check.h
@@ -0,0 +1,276 @@
+/* Check (assertions)
+ * Portable Snippets - https://github.com/nemequ/portable-snippets
+ * Created by Evan Nemerson
+ *
+ * To the extent possible under law, the authors have waived all
+ * copyright and related or neighboring rights to this code. For
+ * details, see the Creative Commons Zero 1.0 Universal license at
+ * https://creativecommons.org/publicdomain/zero/1.0/
+ *
+ * SPDX-License-Identifier: CC0-1.0
+ */
+
+#if !defined(SIMDE_CHECK_H)
+#define SIMDE_CHECK_H
+
+#if !defined(SIMDE_NDEBUG) && !defined(SIMDE_DEBUG)
+# define SIMDE_NDEBUG 1
+#endif
+
+#include "hedley.h"
+#include "simde-diagnostic.h"
+#include
+
+#if !defined(_WIN32)
+# define SIMDE_SIZE_MODIFIER "z"
+# define SIMDE_CHAR_MODIFIER "hh"
+# define SIMDE_SHORT_MODIFIER "h"
+#else
+# if defined(_M_X64) || defined(__amd64__)
+# define SIMDE_SIZE_MODIFIER "I64"
+# else
+# define SIMDE_SIZE_MODIFIER ""
+# endif
+# define SIMDE_CHAR_MODIFIER ""
+# define SIMDE_SHORT_MODIFIER ""
+#endif
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1500)
+# define SIMDE_PUSH_DISABLE_MSVC_C4127_ __pragma(warning(push)) __pragma(warning(disable:4127))
+# define SIMDE_POP_DISABLE_MSVC_C4127_ __pragma(warning(pop))
+#else
+# define SIMDE_PUSH_DISABLE_MSVC_C4127_
+# define SIMDE_POP_DISABLE_MSVC_C4127_
+#endif
+
+#if !defined(simde_errorf)
+# if defined(__has_include)
+# if __has_include()
+# include
+# endif
+# elif defined(SIMDE_STDC_HOSTED)
+# if SIMDE_STDC_HOSTED == 1
+# include
+# endif
+# elif defined(__STDC_HOSTED__)
+# if __STDC_HOSTETD__ == 1
+# include
+# endif
+# endif
+
+# include "debug-trap.h"
+
+ HEDLEY_DIAGNOSTIC_PUSH
+ SIMDE_DIAGNOSTIC_DISABLE_VARIADIC_MACROS_
+# if defined(EOF)
+# define simde_errorf(format, ...) (fprintf(stderr, format, __VA_ARGS__), abort())
+# else
+# define simde_errorf(format, ...) (simde_trap())
+# endif
+ HEDLEY_DIAGNOSTIC_POP
+#endif
+
+#define simde_error(msg) simde_errorf("%s", msg)
+
+#if defined(SIMDE_NDEBUG) || \
+ (defined(__cplusplus) && (__cplusplus < 201103L)) || \
+ (defined(__STDC__) && (__STDC__ < 199901L))
+# if defined(SIMDE_CHECK_FAIL_DEFINED)
+# define simde_assert(expr)
+# else
+# if defined(HEDLEY_ASSUME)
+# define simde_assert(expr) HEDLEY_ASSUME(expr)
+# elif HEDLEY_GCC_VERSION_CHECK(4,5,0)
+# define simde_assert(expr) ((void) (!!(expr) ? 1 : (__builtin_unreachable(), 1)))
+# elif HEDLEY_MSVC_VERSION_CHECK(13,10,0)
+# define simde_assert(expr) __assume(expr)
+# else
+# define simde_assert(expr)
+# endif
+# endif
+# define simde_assert_true(expr) simde_assert(expr)
+# define simde_assert_false(expr) simde_assert(!(expr))
+# define simde_assert_type_full(prefix, suffix, T, fmt, a, op, b) simde_assert(((a) op (b)))
+# define simde_assert_double_equal(a, b, precision)
+# define simde_assert_string_equal(a, b)
+# define simde_assert_string_not_equal(a, b)
+# define simde_assert_memory_equal(size, a, b)
+# define simde_assert_memory_not_equal(size, a, b)
+#else
+# define simde_assert(expr) \
+ do { \
+ if (!HEDLEY_LIKELY(expr)) { \
+ simde_error("assertion failed: " #expr "\n"); \
+ } \
+ SIMDE_PUSH_DISABLE_MSVC_C4127_ \
+ } while (0) \
+ SIMDE_POP_DISABLE_MSVC_C4127_
+
+# define simde_assert_true(expr) \
+ do { \
+ if (!HEDLEY_LIKELY(expr)) { \
+ simde_error("assertion failed: " #expr " is not true\n"); \
+ } \
+ SIMDE_PUSH_DISABLE_MSVC_C4127_ \
+ } while (0) \
+ SIMDE_POP_DISABLE_MSVC_C4127_
+
+# define simde_assert_false(expr) \
+ do { \
+ if (!HEDLEY_LIKELY(!(expr))) { \
+ simde_error("assertion failed: " #expr " is not false\n"); \
+ } \
+ SIMDE_PUSH_DISABLE_MSVC_C4127_ \
+ } while (0) \
+ SIMDE_POP_DISABLE_MSVC_C4127_
+
+# define simde_assert_type_full(prefix, suffix, T, fmt, a, op, b) \
+ do { \
+ T simde_tmp_a_ = (a); \
+ T simde_tmp_b_ = (b); \
+ if (!(simde_tmp_a_ op simde_tmp_b_)) { \
+ simde_errorf("assertion failed: %s %s %s (" prefix "%" fmt suffix " %s " prefix "%" fmt suffix ")\n", \
+ #a, #op, #b, simde_tmp_a_, #op, simde_tmp_b_); \
+ } \
+ SIMDE_PUSH_DISABLE_MSVC_C4127_ \
+ } while (0) \
+ SIMDE_POP_DISABLE_MSVC_C4127_
+
+# define simde_assert_double_equal(a, b, precision) \
+ do { \
+ const double simde_tmp_a_ = (a); \
+ const double simde_tmp_b_ = (b); \
+ const double simde_tmp_diff_ = ((simde_tmp_a_ - simde_tmp_b_) < 0) ? \
+ -(simde_tmp_a_ - simde_tmp_b_) : \
+ (simde_tmp_a_ - simde_tmp_b_); \
+ if (HEDLEY_UNLIKELY(simde_tmp_diff_ > 1e-##precision)) { \
+ simde_errorf("assertion failed: %s == %s (%0." #precision "g == %0." #precision "g)\n", \
+ #a, #b, simde_tmp_a_, simde_tmp_b_); \
+ } \
+ SIMDE_PUSH_DISABLE_MSVC_C4127_ \
+ } while (0) \
+ SIMDE_POP_DISABLE_MSVC_C4127_
+
+# include
+# define simde_assert_string_equal(a, b) \
+ do { \
+ const char* simde_tmp_a_ = a; \
+ const char* simde_tmp_b_ = b; \
+ if (HEDLEY_UNLIKELY(strcmp(simde_tmp_a_, simde_tmp_b_) != 0)) { \
+ simde_errorf("assertion failed: string %s == %s (\"%s\" == \"%s\")\n", \
+ #a, #b, simde_tmp_a_, simde_tmp_b_); \
+ } \
+ SIMDE_PUSH_DISABLE_MSVC_C4127_ \
+ } while (0) \
+ SIMDE_POP_DISABLE_MSVC_C4127_
+
+# define simde_assert_string_not_equal(a, b) \
+ do { \
+ const char* simde_tmp_a_ = a; \
+ const char* simde_tmp_b_ = b; \
+ if (HEDLEY_UNLIKELY(strcmp(simde_tmp_a_, simde_tmp_b_) == 0)) { \
+ simde_errorf("assertion failed: string %s != %s (\"%s\" == \"%s\")\n", \
+ #a, #b, simde_tmp_a_, simde_tmp_b_); \
+ } \
+ SIMDE_PUSH_DISABLE_MSVC_C4127_ \
+ } while (0) \
+ SIMDE_POP_DISABLE_MSVC_C4127_
+
+# define simde_assert_memory_equal(size, a, b) \
+ do { \
+ const unsigned char* simde_tmp_a_ = (const unsigned char*) (a); \
+ const unsigned char* simde_tmp_b_ = (const unsigned char*) (b); \
+ const size_t simde_tmp_size_ = (size); \
+ if (HEDLEY_UNLIKELY(memcmp(simde_tmp_a_, simde_tmp_b_, simde_tmp_size_)) != 0) { \
+ size_t simde_tmp_pos_; \
+ for (simde_tmp_pos_ = 0 ; simde_tmp_pos_ < simde_tmp_size_ ; simde_tmp_pos_++) { \
+ if (simde_tmp_a_[simde_tmp_pos_] != simde_tmp_b_[simde_tmp_pos_]) { \
+ simde_errorf("assertion failed: memory %s == %s, at offset %" SIMDE_SIZE_MODIFIER "u\n", \
+ #a, #b, simde_tmp_pos_); \
+ break; \
+ } \
+ } \
+ } \
+ SIMDE_PUSH_DISABLE_MSVC_C4127_ \
+ } while (0) \
+ SIMDE_POP_DISABLE_MSVC_C4127_
+
+# define simde_assert_memory_not_equal(size, a, b) \
+ do { \
+ const unsigned char* simde_tmp_a_ = (const unsigned char*) (a); \
+ const unsigned char* simde_tmp_b_ = (const unsigned char*) (b); \
+ const size_t simde_tmp_size_ = (size); \
+ if (HEDLEY_UNLIKELY(memcmp(simde_tmp_a_, simde_tmp_b_, simde_tmp_size_)) == 0) { \
+ simde_errorf("assertion failed: memory %s != %s (%" SIMDE_SIZE_MODIFIER "u bytes)\n", \
+ #a, #b, simde_tmp_size_); \
+ } \
+ SIMDE_PUSH_DISABLE_MSVC_C4127_ \
+ } while (0) \
+ SIMDE_POP_DISABLE_MSVC_C4127_
+#endif
+
+#define simde_assert_type(T, fmt, a, op, b) \
+ simde_assert_type_full("", "", T, fmt, a, op, b)
+
+#define simde_assert_char(a, op, b) \
+ simde_assert_type_full("'\\x", "'", char, "02" SIMDE_CHAR_MODIFIER "x", a, op, b)
+#define simde_assert_uchar(a, op, b) \
+ simde_assert_type_full("'\\x", "'", unsigned char, "02" SIMDE_CHAR_MODIFIER "x", a, op, b)
+#define simde_assert_short(a, op, b) \
+ simde_assert_type(short, SIMDE_SHORT_MODIFIER "d", a, op, b)
+#define simde_assert_ushort(a, op, b) \
+ simde_assert_type(unsigned short, SIMDE_SHORT_MODIFIER "u", a, op, b)
+#define simde_assert_int(a, op, b) \
+ simde_assert_type(int, "d", a, op, b)
+#define simde_assert_uint(a, op, b) \
+ simde_assert_type(unsigned int, "u", a, op, b)
+#define simde_assert_long(a, op, b) \
+ simde_assert_type(long int, "ld", a, op, b)
+#define simde_assert_ulong(a, op, b) \
+ simde_assert_type(unsigned long int, "lu", a, op, b)
+#define simde_assert_llong(a, op, b) \
+ simde_assert_type(long long int, "lld", a, op, b)
+#define simde_assert_ullong(a, op, b) \
+ simde_assert_type(unsigned long long int, "llu", a, op, b)
+
+#define simde_assert_size(a, op, b) \
+ simde_assert_type(size_t, SIMDE_SIZE_MODIFIER "u", a, op, b)
+
+#define simde_assert_float(a, op, b) \
+ simde_assert_type(float, "f", a, op, b)
+#define simde_assert_double(a, op, b) \
+ simde_assert_type(double, "g", a, op, b)
+#define simde_assert_ptr(a, op, b) \
+ simde_assert_type(const void*, "p", a, op, b)
+
+#define simde_assert_int8(a, op, b) \
+ simde_assert_type(int8_t, PRIi8, a, op, b)
+#define simde_assert_uint8(a, op, b) \
+ simde_assert_type(uint8_t, PRIu8, a, op, b)
+#define simde_assert_int16(a, op, b) \
+ simde_assert_type(int16_t, PRIi16, a, op, b)
+#define simde_assert_uint16(a, op, b) \
+ simde_assert_type(uint16_t, PRIu16, a, op, b)
+#define simde_assert_int32(a, op, b) \
+ simde_assert_type(int32_t, PRIi32, a, op, b)
+#define simde_assert_uint32(a, op, b) \
+ simde_assert_type(uint32_t, PRIu32, a, op, b)
+#define simde_assert_int64(a, op, b) \
+ simde_assert_type(int64_t, PRIi64, a, op, b)
+#define simde_assert_uint64(a, op, b) \
+ simde_assert_type(uint64_t, PRIu64, a, op, b)
+
+#define simde_assert_ptr_equal(a, b) \
+ simde_assert_ptr(a, ==, b)
+#define simde_assert_ptr_not_equal(a, b) \
+ simde_assert_ptr(a, !=, b)
+#define simde_assert_null(ptr) \
+ simde_assert_ptr(ptr, ==, NULL)
+#define simde_assert_not_null(ptr) \
+ simde_assert_ptr(ptr, !=, NULL)
+#define simde_assert_ptr_null(ptr) \
+ simde_assert_ptr(ptr, ==, NULL)
+#define simde_assert_ptr_not_null(ptr) \
+ simde_assert_ptr(ptr, !=, NULL)
+
+#endif /* !defined(SIMDE_CHECK_H) */
diff --git a/external_libs/pgenlib/simde/debug-trap.h b/external_libs/pgenlib/simde/debug-trap.h
new file mode 100644
index 0000000..2d3c60f
--- /dev/null
+++ b/external_libs/pgenlib/simde/debug-trap.h
@@ -0,0 +1,85 @@
+/* Debugging assertions and traps
+ * Portable Snippets - https://github.com/nemequ/portable-snippets
+ * Created by Evan Nemerson
+ *
+ * To the extent possible under law, the authors have waived all
+ * copyright and related or neighboring rights to this code. For
+ * details, see the Creative Commons Zero 1.0 Universal license at
+ * https://creativecommons.org/publicdomain/zero/1.0/
+ *
+ * SPDX-License-Identifier: CC0-1.0
+ */
+
+#if !defined(SIMDE_DEBUG_TRAP_H)
+#define SIMDE_DEBUG_TRAP_H
+
+#if !defined(SIMDE_NDEBUG) && defined(NDEBUG) && !defined(SIMDE_DEBUG)
+# define SIMDE_NDEBUG 1
+#endif
+
+#if defined(__has_builtin) && !defined(__ibmxl__)
+# if __has_builtin(__builtin_debugtrap)
+# define simde_trap() __builtin_debugtrap()
+# elif __has_builtin(__debugbreak)
+# define simde_trap() __debugbreak()
+# endif
+#endif
+#if !defined(simde_trap)
+# if defined(_MSC_VER) || defined(__INTEL_COMPILER)
+# define simde_trap() __debugbreak()
+# elif defined(__ARMCC_VERSION)
+# define simde_trap() __breakpoint(42)
+# elif defined(__ibmxl__) || defined(__xlC__)
+# include
+# define simde_trap() __trap(42)
+# elif defined(__DMC__) && defined(_M_IX86)
+ static inline void simde_trap(void) { __asm int 3h; }
+# elif defined(__i386__) || defined(__x86_64__)
+ static inline void simde_trap(void) { __asm__ __volatile__("int $03"); }
+# elif defined(__thumb__)
+ static inline void simde_trap(void) { __asm__ __volatile__(".inst 0xde01"); }
+# elif defined(__aarch64__)
+ static inline void simde_trap(void) { __asm__ __volatile__(".inst 0xd4200000"); }
+# elif defined(__arm__)
+ static inline void simde_trap(void) { __asm__ __volatile__(".inst 0xe7f001f0"); }
+# elif defined (__alpha__) && !defined(__osf__)
+ static inline void simde_trap(void) { __asm__ __volatile__("bpt"); }
+# elif defined(_54_)
+ static inline void simde_trap(void) { __asm__ __volatile__("ESTOP"); }
+# elif defined(_55_)
+ static inline void simde_trap(void) { __asm__ __volatile__(";\n .if (.MNEMONIC)\n ESTOP_1\n .else\n ESTOP_1()\n .endif\n NOP"); }
+# elif defined(_64P_)
+ static inline void simde_trap(void) { __asm__ __volatile__("SWBP 0"); }
+# elif defined(_6x_)
+ static inline void simde_trap(void) { __asm__ __volatile__("NOP\n .word 0x10000000"); }
+# elif defined(__STDC_HOSTED__) && (__STDC_HOSTED__ == 0) && defined(__GNUC__)
+# define simde_trap() __builtin_trap()
+# else
+# include
+# if defined(SIGTRAP)
+# define simde_trap() raise(SIGTRAP)
+# else
+# define simde_trap() raise(SIGABRT)
+# endif
+# endif
+#endif
+
+#if defined(HEDLEY_LIKELY)
+# define SIMDE_DBG_LIKELY(expr) HEDLEY_LIKELY(expr)
+#elif defined(__GNUC__) && (__GNUC__ >= 3)
+# define SIMDE_DBG_LIKELY(expr) __builtin_expect(!!(expr), 1)
+#else
+# define SIMDE_DBG_LIKELY(expr) (!!(expr))
+#endif
+
+#if !defined(SIMDE_NDEBUG) || (SIMDE_NDEBUG == 0)
+# define simde_dbg_assert(expr) do { \
+ if (!SIMDE_DBG_LIKELY(expr)) { \
+ simde_trap(); \
+ } \
+ } while (0)
+#else
+# define simde_dbg_assert(expr)
+#endif
+
+#endif /* !defined(SIMDE_DEBUG_TRAP_H) */
diff --git a/external_libs/pgenlib/simde/hedley.h b/external_libs/pgenlib/simde/hedley.h
new file mode 100644
index 0000000..f064f3f
--- /dev/null
+++ b/external_libs/pgenlib/simde/hedley.h
@@ -0,0 +1,2045 @@
+/* Hedley - https://nemequ.github.io/hedley
+ * Created by Evan Nemerson
+ *
+ * To the extent possible under law, the author(s) have dedicated all
+ * copyright and related and neighboring rights to this software to
+ * the public domain worldwide. This software is distributed without
+ * any warranty.
+ *
+ * For details, see .
+ * SPDX-License-Identifier: CC0-1.0
+ */
+
+#if !defined(HEDLEY_VERSION) || (HEDLEY_VERSION < 16)
+#if defined(HEDLEY_VERSION)
+# undef HEDLEY_VERSION
+#endif
+#define HEDLEY_VERSION 16
+
+#if defined(HEDLEY_STRINGIFY_EX)
+# undef HEDLEY_STRINGIFY_EX
+#endif
+#define HEDLEY_STRINGIFY_EX(x) #x
+
+#if defined(HEDLEY_STRINGIFY)
+# undef HEDLEY_STRINGIFY
+#endif
+#define HEDLEY_STRINGIFY(x) HEDLEY_STRINGIFY_EX(x)
+
+#if defined(HEDLEY_CONCAT_EX)
+# undef HEDLEY_CONCAT_EX
+#endif
+#define HEDLEY_CONCAT_EX(a,b) a##b
+
+#if defined(HEDLEY_CONCAT)
+# undef HEDLEY_CONCAT
+#endif
+#define HEDLEY_CONCAT(a,b) HEDLEY_CONCAT_EX(a,b)
+
+#if defined(HEDLEY_CONCAT3_EX)
+# undef HEDLEY_CONCAT3_EX
+#endif
+#define HEDLEY_CONCAT3_EX(a,b,c) a##b##c
+
+#if defined(HEDLEY_CONCAT3)
+# undef HEDLEY_CONCAT3
+#endif
+#define HEDLEY_CONCAT3(a,b,c) HEDLEY_CONCAT3_EX(a,b,c)
+
+#if defined(HEDLEY_VERSION_ENCODE)
+# undef HEDLEY_VERSION_ENCODE
+#endif
+#define HEDLEY_VERSION_ENCODE(major,minor,revision) (((major) * 1000000) + ((minor) * 1000) + (revision))
+
+#if defined(HEDLEY_VERSION_DECODE_MAJOR)
+# undef HEDLEY_VERSION_DECODE_MAJOR
+#endif
+#define HEDLEY_VERSION_DECODE_MAJOR(version) ((version) / 1000000)
+
+#if defined(HEDLEY_VERSION_DECODE_MINOR)
+# undef HEDLEY_VERSION_DECODE_MINOR
+#endif
+#define HEDLEY_VERSION_DECODE_MINOR(version) (((version) % 1000000) / 1000)
+
+#if defined(HEDLEY_VERSION_DECODE_REVISION)
+# undef HEDLEY_VERSION_DECODE_REVISION
+#endif
+#define HEDLEY_VERSION_DECODE_REVISION(version) ((version) % 1000)
+
+#if defined(HEDLEY_GNUC_VERSION)
+# undef HEDLEY_GNUC_VERSION
+#endif
+#if defined(__GNUC__) && defined(__GNUC_PATCHLEVEL__)
+# define HEDLEY_GNUC_VERSION HEDLEY_VERSION_ENCODE(__GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__)
+#elif defined(__GNUC__)
+# define HEDLEY_GNUC_VERSION HEDLEY_VERSION_ENCODE(__GNUC__, __GNUC_MINOR__, 0)
+#endif
+
+#if defined(HEDLEY_GNUC_VERSION_CHECK)
+# undef HEDLEY_GNUC_VERSION_CHECK
+#endif
+#if defined(HEDLEY_GNUC_VERSION)
+# define HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) (HEDLEY_GNUC_VERSION >= HEDLEY_VERSION_ENCODE(major, minor, patch))
+#else
+# define HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) (0)
+#endif
+
+#if defined(HEDLEY_MSVC_VERSION)
+# undef HEDLEY_MSVC_VERSION
+#endif
+#if defined(_MSC_FULL_VER) && (_MSC_FULL_VER >= 140000000) && !defined(__ICL)
+# define HEDLEY_MSVC_VERSION HEDLEY_VERSION_ENCODE(_MSC_FULL_VER / 10000000, (_MSC_FULL_VER % 10000000) / 100000, (_MSC_FULL_VER % 100000) / 100)
+#elif defined(_MSC_FULL_VER) && !defined(__ICL)
+# define HEDLEY_MSVC_VERSION HEDLEY_VERSION_ENCODE(_MSC_FULL_VER / 1000000, (_MSC_FULL_VER % 1000000) / 10000, (_MSC_FULL_VER % 10000) / 10)
+#elif defined(_MSC_VER) && !defined(__ICL)
+# define HEDLEY_MSVC_VERSION HEDLEY_VERSION_ENCODE(_MSC_VER / 100, _MSC_VER % 100, 0)
+#endif
+
+#if defined(HEDLEY_MSVC_VERSION_CHECK)
+# undef HEDLEY_MSVC_VERSION_CHECK
+#endif
+#if !defined(HEDLEY_MSVC_VERSION)
+# define HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (0)
+#elif defined(_MSC_VER) && (_MSC_VER >= 1400)
+# define HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (_MSC_FULL_VER >= ((major * 10000000) + (minor * 100000) + (patch)))
+#elif defined(_MSC_VER) && (_MSC_VER >= 1200)
+# define HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (_MSC_FULL_VER >= ((major * 1000000) + (minor * 10000) + (patch)))
+#else
+# define HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (_MSC_VER >= ((major * 100) + (minor)))
+#endif
+
+#if defined(HEDLEY_INTEL_VERSION)
+# undef HEDLEY_INTEL_VERSION
+#endif
+#if defined(__INTEL_COMPILER) && defined(__INTEL_COMPILER_UPDATE) && !defined(__ICL)
+# define HEDLEY_INTEL_VERSION HEDLEY_VERSION_ENCODE(__INTEL_COMPILER / 100, __INTEL_COMPILER % 100, __INTEL_COMPILER_UPDATE)
+#elif defined(__INTEL_COMPILER) && !defined(__ICL)
+# define HEDLEY_INTEL_VERSION HEDLEY_VERSION_ENCODE(__INTEL_COMPILER / 100, __INTEL_COMPILER % 100, 0)
+#endif
+
+#if defined(HEDLEY_INTEL_VERSION_CHECK)
+# undef HEDLEY_INTEL_VERSION_CHECK
+#endif
+#if defined(HEDLEY_INTEL_VERSION)
+# define HEDLEY_INTEL_VERSION_CHECK(major,minor,patch) (HEDLEY_INTEL_VERSION >= HEDLEY_VERSION_ENCODE(major, minor, patch))
+#else
+# define HEDLEY_INTEL_VERSION_CHECK(major,minor,patch) (0)
+#endif
+
+#if defined(HEDLEY_INTEL_CL_VERSION)
+# undef HEDLEY_INTEL_CL_VERSION
+#endif
+#if defined(__INTEL_COMPILER) && defined(__INTEL_COMPILER_UPDATE) && defined(__ICL)
+# define HEDLEY_INTEL_CL_VERSION HEDLEY_VERSION_ENCODE(__INTEL_COMPILER, __INTEL_COMPILER_UPDATE, 0)
+#endif
+
+#if defined(HEDLEY_INTEL_CL_VERSION_CHECK)
+# undef HEDLEY_INTEL_CL_VERSION_CHECK
+#endif
+#if defined(HEDLEY_INTEL_CL_VERSION)
+# define HEDLEY_INTEL_CL_VERSION_CHECK(major,minor,patch) (HEDLEY_INTEL_CL_VERSION >= HEDLEY_VERSION_ENCODE(major, minor, patch))
+#else
+# define HEDLEY_INTEL_CL_VERSION_CHECK(major,minor,patch) (0)
+#endif
+
+#if defined(HEDLEY_PGI_VERSION)
+# undef HEDLEY_PGI_VERSION
+#endif
+#if defined(__PGI) && defined(__PGIC__) && defined(__PGIC_MINOR__) && defined(__PGIC_PATCHLEVEL__)
+# define HEDLEY_PGI_VERSION HEDLEY_VERSION_ENCODE(__PGIC__, __PGIC_MINOR__, __PGIC_PATCHLEVEL__)
+#endif
+
+#if defined(HEDLEY_PGI_VERSION_CHECK)
+# undef HEDLEY_PGI_VERSION_CHECK
+#endif
+#if defined(HEDLEY_PGI_VERSION)
+# define HEDLEY_PGI_VERSION_CHECK(major,minor,patch) (HEDLEY_PGI_VERSION >= HEDLEY_VERSION_ENCODE(major, minor, patch))
+#else
+# define HEDLEY_PGI_VERSION_CHECK(major,minor,patch) (0)
+#endif
+
+#if defined(HEDLEY_SUNPRO_VERSION)
+# undef HEDLEY_SUNPRO_VERSION
+#endif
+#if defined(__SUNPRO_C) && (__SUNPRO_C > 0x1000)
+# define HEDLEY_SUNPRO_VERSION HEDLEY_VERSION_ENCODE((((__SUNPRO_C >> 16) & 0xf) * 10) + ((__SUNPRO_C >> 12) & 0xf), (((__SUNPRO_C >> 8) & 0xf) * 10) + ((__SUNPRO_C >> 4) & 0xf), (__SUNPRO_C & 0xf) * 10)
+#elif defined(__SUNPRO_C)
+# define HEDLEY_SUNPRO_VERSION HEDLEY_VERSION_ENCODE((__SUNPRO_C >> 8) & 0xf, (__SUNPRO_C >> 4) & 0xf, (__SUNPRO_C) & 0xf)
+#elif defined(__SUNPRO_CC) && (__SUNPRO_CC > 0x1000)
+# define HEDLEY_SUNPRO_VERSION HEDLEY_VERSION_ENCODE((((__SUNPRO_CC >> 16) & 0xf) * 10) + ((__SUNPRO_CC >> 12) & 0xf), (((__SUNPRO_CC >> 8) & 0xf) * 10) + ((__SUNPRO_CC >> 4) & 0xf), (__SUNPRO_CC & 0xf) * 10)
+#elif defined(__SUNPRO_CC)
+# define HEDLEY_SUNPRO_VERSION HEDLEY_VERSION_ENCODE((__SUNPRO_CC >> 8) & 0xf, (__SUNPRO_CC >> 4) & 0xf, (__SUNPRO_CC) & 0xf)
+#endif
+
+#if defined(HEDLEY_SUNPRO_VERSION_CHECK)
+# undef HEDLEY_SUNPRO_VERSION_CHECK
+#endif
+#if defined(HEDLEY_SUNPRO_VERSION)
+# define HEDLEY_SUNPRO_VERSION_CHECK(major,minor,patch) (HEDLEY_SUNPRO_VERSION >= HEDLEY_VERSION_ENCODE(major, minor, patch))
+#else
+# define HEDLEY_SUNPRO_VERSION_CHECK(major,minor,patch) (0)
+#endif
+
+#if defined(HEDLEY_EMSCRIPTEN_VERSION)
+# undef HEDLEY_EMSCRIPTEN_VERSION
+#endif
+#if defined(__EMSCRIPTEN__)
+# include
+# define HEDLEY_EMSCRIPTEN_VERSION HEDLEY_VERSION_ENCODE(__EMSCRIPTEN_major__, __EMSCRIPTEN_minor__, __EMSCRIPTEN_tiny__)
+#endif
+
+#if defined(HEDLEY_EMSCRIPTEN_VERSION_CHECK)
+# undef HEDLEY_EMSCRIPTEN_VERSION_CHECK
+#endif
+#if defined(HEDLEY_EMSCRIPTEN_VERSION)
+# define HEDLEY_EMSCRIPTEN_VERSION_CHECK(major,minor,patch) (HEDLEY_EMSCRIPTEN_VERSION >= HEDLEY_VERSION_ENCODE(major, minor, patch))
+#else
+# define HEDLEY_EMSCRIPTEN_VERSION_CHECK(major,minor,patch) (0)
+#endif
+
+#if defined(HEDLEY_ARM_VERSION)
+# undef HEDLEY_ARM_VERSION
+#endif
+#if defined(__CC_ARM) && defined(__ARMCOMPILER_VERSION)
+# define HEDLEY_ARM_VERSION HEDLEY_VERSION_ENCODE(__ARMCOMPILER_VERSION / 1000000, (__ARMCOMPILER_VERSION % 1000000) / 10000, (__ARMCOMPILER_VERSION % 10000) / 100)
+#elif defined(__CC_ARM) && defined(__ARMCC_VERSION)
+# define HEDLEY_ARM_VERSION HEDLEY_VERSION_ENCODE(__ARMCC_VERSION / 1000000, (__ARMCC_VERSION % 1000000) / 10000, (__ARMCC_VERSION % 10000) / 100)
+#endif
+
+#if defined(HEDLEY_ARM_VERSION_CHECK)
+# undef HEDLEY_ARM_VERSION_CHECK
+#endif
+#if defined(HEDLEY_ARM_VERSION)
+# define HEDLEY_ARM_VERSION_CHECK(major,minor,patch) (HEDLEY_ARM_VERSION >= HEDLEY_VERSION_ENCODE(major, minor, patch))
+#else
+# define HEDLEY_ARM_VERSION_CHECK(major,minor,patch) (0)
+#endif
+
+#if defined(HEDLEY_IBM_VERSION)
+# undef HEDLEY_IBM_VERSION
+#endif
+#if defined(__ibmxl__)
+# define HEDLEY_IBM_VERSION HEDLEY_VERSION_ENCODE(__ibmxl_version__, __ibmxl_release__, __ibmxl_modification__)
+#elif defined(__xlC__) && defined(__xlC_ver__)
+# define HEDLEY_IBM_VERSION HEDLEY_VERSION_ENCODE(__xlC__ >> 8, __xlC__ & 0xff, (__xlC_ver__ >> 8) & 0xff)
+#elif defined(__xlC__)
+# define HEDLEY_IBM_VERSION HEDLEY_VERSION_ENCODE(__xlC__ >> 8, __xlC__ & 0xff, 0)
+#endif
+
+#if defined(HEDLEY_IBM_VERSION_CHECK)
+# undef HEDLEY_IBM_VERSION_CHECK
+#endif
+#if defined(HEDLEY_IBM_VERSION)
+# define HEDLEY_IBM_VERSION_CHECK(major,minor,patch) (HEDLEY_IBM_VERSION >= HEDLEY_VERSION_ENCODE(major, minor, patch))
+#else
+# define HEDLEY_IBM_VERSION_CHECK(major,minor,patch) (0)
+#endif
+
+#if defined(HEDLEY_TI_VERSION)
+# undef HEDLEY_TI_VERSION
+#endif
+#if \
+ defined(__TI_COMPILER_VERSION__) && \
+ ( \
+ defined(__TMS470__) || defined(__TI_ARM__) || \
+ defined(__MSP430__) || \
+ defined(__TMS320C2000__) \
+ )
+# if (__TI_COMPILER_VERSION__ >= 16000000)
+# define HEDLEY_TI_VERSION HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000))
+# endif
+#endif
+
+#if defined(HEDLEY_TI_VERSION_CHECK)
+# undef HEDLEY_TI_VERSION_CHECK
+#endif
+#if defined(HEDLEY_TI_VERSION)
+# define HEDLEY_TI_VERSION_CHECK(major,minor,patch) (HEDLEY_TI_VERSION >= HEDLEY_VERSION_ENCODE(major, minor, patch))
+#else
+# define HEDLEY_TI_VERSION_CHECK(major,minor,patch) (0)
+#endif
+
+#if defined(HEDLEY_TI_CL2000_VERSION)
+# undef HEDLEY_TI_CL2000_VERSION
+#endif
+#if defined(__TI_COMPILER_VERSION__) && defined(__TMS320C2000__)
+# define HEDLEY_TI_CL2000_VERSION HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000))
+#endif
+
+#if defined(HEDLEY_TI_CL2000_VERSION_CHECK)
+# undef HEDLEY_TI_CL2000_VERSION_CHECK
+#endif
+#if defined(HEDLEY_TI_CL2000_VERSION)
+# define HEDLEY_TI_CL2000_VERSION_CHECK(major,minor,patch) (HEDLEY_TI_CL2000_VERSION >= HEDLEY_VERSION_ENCODE(major, minor, patch))
+#else
+# define HEDLEY_TI_CL2000_VERSION_CHECK(major,minor,patch) (0)
+#endif
+
+#if defined(HEDLEY_TI_CL430_VERSION)
+# undef HEDLEY_TI_CL430_VERSION
+#endif
+#if defined(__TI_COMPILER_VERSION__) && defined(__MSP430__)
+# define HEDLEY_TI_CL430_VERSION HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000))
+#endif
+
+#if defined(HEDLEY_TI_CL430_VERSION_CHECK)
+# undef HEDLEY_TI_CL430_VERSION_CHECK
+#endif
+#if defined(HEDLEY_TI_CL430_VERSION)
+# define HEDLEY_TI_CL430_VERSION_CHECK(major,minor,patch) (HEDLEY_TI_CL430_VERSION >= HEDLEY_VERSION_ENCODE(major, minor, patch))
+#else
+# define HEDLEY_TI_CL430_VERSION_CHECK(major,minor,patch) (0)
+#endif
+
+#if defined(HEDLEY_TI_ARMCL_VERSION)
+# undef HEDLEY_TI_ARMCL_VERSION
+#endif
+#if defined(__TI_COMPILER_VERSION__) && (defined(__TMS470__) || defined(__TI_ARM__))
+# define HEDLEY_TI_ARMCL_VERSION HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000))
+#endif
+
+#if defined(HEDLEY_TI_ARMCL_VERSION_CHECK)
+# undef HEDLEY_TI_ARMCL_VERSION_CHECK
+#endif
+#if defined(HEDLEY_TI_ARMCL_VERSION)
+# define HEDLEY_TI_ARMCL_VERSION_CHECK(major,minor,patch) (HEDLEY_TI_ARMCL_VERSION >= HEDLEY_VERSION_ENCODE(major, minor, patch))
+#else
+# define HEDLEY_TI_ARMCL_VERSION_CHECK(major,minor,patch) (0)
+#endif
+
+#if defined(HEDLEY_TI_CL6X_VERSION)
+# undef HEDLEY_TI_CL6X_VERSION
+#endif
+#if defined(__TI_COMPILER_VERSION__) && defined(__TMS320C6X__)
+# define HEDLEY_TI_CL6X_VERSION HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000))
+#endif
+
+#if defined(HEDLEY_TI_CL6X_VERSION_CHECK)
+# undef HEDLEY_TI_CL6X_VERSION_CHECK
+#endif
+#if defined(HEDLEY_TI_CL6X_VERSION)
+# define HEDLEY_TI_CL6X_VERSION_CHECK(major,minor,patch) (HEDLEY_TI_CL6X_VERSION >= HEDLEY_VERSION_ENCODE(major, minor, patch))
+#else
+# define HEDLEY_TI_CL6X_VERSION_CHECK(major,minor,patch) (0)
+#endif
+
+#if defined(HEDLEY_TI_CL7X_VERSION)
+# undef HEDLEY_TI_CL7X_VERSION
+#endif
+#if defined(__TI_COMPILER_VERSION__) && defined(__C7000__)
+# define HEDLEY_TI_CL7X_VERSION HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000))
+#endif
+
+#if defined(HEDLEY_TI_CL7X_VERSION_CHECK)
+# undef HEDLEY_TI_CL7X_VERSION_CHECK
+#endif
+#if defined(HEDLEY_TI_CL7X_VERSION)
+# define HEDLEY_TI_CL7X_VERSION_CHECK(major,minor,patch) (HEDLEY_TI_CL7X_VERSION >= HEDLEY_VERSION_ENCODE(major, minor, patch))
+#else
+# define HEDLEY_TI_CL7X_VERSION_CHECK(major,minor,patch) (0)
+#endif
+
+#if defined(HEDLEY_TI_CLPRU_VERSION)
+# undef HEDLEY_TI_CLPRU_VERSION
+#endif
+#if defined(__TI_COMPILER_VERSION__) && defined(__PRU__)
+# define HEDLEY_TI_CLPRU_VERSION HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000))
+#endif
+
+#if defined(HEDLEY_TI_CLPRU_VERSION_CHECK)
+# undef HEDLEY_TI_CLPRU_VERSION_CHECK
+#endif
+#if defined(HEDLEY_TI_CLPRU_VERSION)
+# define HEDLEY_TI_CLPRU_VERSION_CHECK(major,minor,patch) (HEDLEY_TI_CLPRU_VERSION >= HEDLEY_VERSION_ENCODE(major, minor, patch))
+#else
+# define HEDLEY_TI_CLPRU_VERSION_CHECK(major,minor,patch) (0)
+#endif
+
+#if defined(HEDLEY_CRAY_VERSION)
+# undef HEDLEY_CRAY_VERSION
+#endif
+#if defined(_CRAYC)
+# if defined(_RELEASE_PATCHLEVEL)
+# define HEDLEY_CRAY_VERSION HEDLEY_VERSION_ENCODE(_RELEASE_MAJOR, _RELEASE_MINOR, _RELEASE_PATCHLEVEL)
+# else
+# define HEDLEY_CRAY_VERSION HEDLEY_VERSION_ENCODE(_RELEASE_MAJOR, _RELEASE_MINOR, 0)
+# endif
+#endif
+
+#if defined(HEDLEY_CRAY_VERSION_CHECK)
+# undef HEDLEY_CRAY_VERSION_CHECK
+#endif
+#if defined(HEDLEY_CRAY_VERSION)
+# define HEDLEY_CRAY_VERSION_CHECK(major,minor,patch) (HEDLEY_CRAY_VERSION >= HEDLEY_VERSION_ENCODE(major, minor, patch))
+#else
+# define HEDLEY_CRAY_VERSION_CHECK(major,minor,patch) (0)
+#endif
+
+#if defined(HEDLEY_IAR_VERSION)
+# undef HEDLEY_IAR_VERSION
+#endif
+#if defined(__IAR_SYSTEMS_ICC__)
+# if __VER__ > 1000
+# define HEDLEY_IAR_VERSION HEDLEY_VERSION_ENCODE((__VER__ / 1000000), ((__VER__ / 1000) % 1000), (__VER__ % 1000))
+# else
+# define HEDLEY_IAR_VERSION HEDLEY_VERSION_ENCODE(__VER__ / 100, __VER__ % 100, 0)
+# endif
+#endif
+
+#if defined(HEDLEY_IAR_VERSION_CHECK)
+# undef HEDLEY_IAR_VERSION_CHECK
+#endif
+#if defined(HEDLEY_IAR_VERSION)
+# define HEDLEY_IAR_VERSION_CHECK(major,minor,patch) (HEDLEY_IAR_VERSION >= HEDLEY_VERSION_ENCODE(major, minor, patch))
+#else
+# define HEDLEY_IAR_VERSION_CHECK(major,minor,patch) (0)
+#endif
+
+#if defined(HEDLEY_TINYC_VERSION)
+# undef HEDLEY_TINYC_VERSION
+#endif
+#if defined(__TINYC__)
+# define HEDLEY_TINYC_VERSION HEDLEY_VERSION_ENCODE(__TINYC__ / 1000, (__TINYC__ / 100) % 10, __TINYC__ % 100)
+#endif
+
+#if defined(HEDLEY_TINYC_VERSION_CHECK)
+# undef HEDLEY_TINYC_VERSION_CHECK
+#endif
+#if defined(HEDLEY_TINYC_VERSION)
+# define HEDLEY_TINYC_VERSION_CHECK(major,minor,patch) (HEDLEY_TINYC_VERSION >= HEDLEY_VERSION_ENCODE(major, minor, patch))
+#else
+# define HEDLEY_TINYC_VERSION_CHECK(major,minor,patch) (0)
+#endif
+
+#if defined(HEDLEY_DMC_VERSION)
+# undef HEDLEY_DMC_VERSION
+#endif
+#if defined(__DMC__)
+# define HEDLEY_DMC_VERSION HEDLEY_VERSION_ENCODE(__DMC__ >> 8, (__DMC__ >> 4) & 0xf, __DMC__ & 0xf)
+#endif
+
+#if defined(HEDLEY_DMC_VERSION_CHECK)
+# undef HEDLEY_DMC_VERSION_CHECK
+#endif
+#if defined(HEDLEY_DMC_VERSION)
+# define HEDLEY_DMC_VERSION_CHECK(major,minor,patch) (HEDLEY_DMC_VERSION >= HEDLEY_VERSION_ENCODE(major, minor, patch))
+#else
+# define HEDLEY_DMC_VERSION_CHECK(major,minor,patch) (0)
+#endif
+
+#if defined(HEDLEY_COMPCERT_VERSION)
+# undef HEDLEY_COMPCERT_VERSION
+#endif
+#if defined(__COMPCERT_VERSION__)
+# define HEDLEY_COMPCERT_VERSION HEDLEY_VERSION_ENCODE(__COMPCERT_VERSION__ / 10000, (__COMPCERT_VERSION__ / 100) % 100, __COMPCERT_VERSION__ % 100)
+#endif
+
+#if defined(HEDLEY_COMPCERT_VERSION_CHECK)
+# undef HEDLEY_COMPCERT_VERSION_CHECK
+#endif
+#if defined(HEDLEY_COMPCERT_VERSION)
+# define HEDLEY_COMPCERT_VERSION_CHECK(major,minor,patch) (HEDLEY_COMPCERT_VERSION >= HEDLEY_VERSION_ENCODE(major, minor, patch))
+#else
+# define HEDLEY_COMPCERT_VERSION_CHECK(major,minor,patch) (0)
+#endif
+
+#if defined(HEDLEY_PELLES_VERSION)
+# undef HEDLEY_PELLES_VERSION
+#endif
+#if defined(__POCC__)
+# define HEDLEY_PELLES_VERSION HEDLEY_VERSION_ENCODE(__POCC__ / 100, __POCC__ % 100, 0)
+#endif
+
+#if defined(HEDLEY_PELLES_VERSION_CHECK)
+# undef HEDLEY_PELLES_VERSION_CHECK
+#endif
+#if defined(HEDLEY_PELLES_VERSION)
+# define HEDLEY_PELLES_VERSION_CHECK(major,minor,patch) (HEDLEY_PELLES_VERSION >= HEDLEY_VERSION_ENCODE(major, minor, patch))
+#else
+# define HEDLEY_PELLES_VERSION_CHECK(major,minor,patch) (0)
+#endif
+
+#if defined(HEDLEY_MCST_LCC_VERSION)
+# undef HEDLEY_MCST_LCC_VERSION
+#endif
+#if defined(__LCC__) && defined(__LCC_MINOR__)
+# define HEDLEY_MCST_LCC_VERSION HEDLEY_VERSION_ENCODE(__LCC__ / 100, __LCC__ % 100, __LCC_MINOR__)
+#endif
+
+#if defined(HEDLEY_MCST_LCC_VERSION_CHECK)
+# undef HEDLEY_MCST_LCC_VERSION_CHECK
+#endif
+#if defined(HEDLEY_MCST_LCC_VERSION)
+# define HEDLEY_MCST_LCC_VERSION_CHECK(major,minor,patch) (HEDLEY_MCST_LCC_VERSION >= HEDLEY_VERSION_ENCODE(major, minor, patch))
+#else
+# define HEDLEY_MCST_LCC_VERSION_CHECK(major,minor,patch) (0)
+#endif
+
+#if defined(HEDLEY_GCC_VERSION)
+# undef HEDLEY_GCC_VERSION
+#endif
+#if \
+ defined(HEDLEY_GNUC_VERSION) && \
+ !defined(__clang__) && \
+ !defined(HEDLEY_INTEL_VERSION) && \
+ !defined(HEDLEY_PGI_VERSION) && \
+ !defined(HEDLEY_ARM_VERSION) && \
+ !defined(HEDLEY_CRAY_VERSION) && \
+ !defined(HEDLEY_TI_VERSION) && \
+ !defined(HEDLEY_TI_ARMCL_VERSION) && \
+ !defined(HEDLEY_TI_CL430_VERSION) && \
+ !defined(HEDLEY_TI_CL2000_VERSION) && \
+ !defined(HEDLEY_TI_CL6X_VERSION) && \
+ !defined(HEDLEY_TI_CL7X_VERSION) && \
+ !defined(HEDLEY_TI_CLPRU_VERSION) && \
+ !defined(__COMPCERT__) && \
+ !defined(HEDLEY_MCST_LCC_VERSION)
+# define HEDLEY_GCC_VERSION HEDLEY_GNUC_VERSION
+#endif
+
+#if defined(HEDLEY_GCC_VERSION_CHECK)
+# undef HEDLEY_GCC_VERSION_CHECK
+#endif
+#if defined(HEDLEY_GCC_VERSION)
+# define HEDLEY_GCC_VERSION_CHECK(major,minor,patch) (HEDLEY_GCC_VERSION >= HEDLEY_VERSION_ENCODE(major, minor, patch))
+#else
+# define HEDLEY_GCC_VERSION_CHECK(major,minor,patch) (0)
+#endif
+
+#if defined(HEDLEY_HAS_ATTRIBUTE)
+# undef HEDLEY_HAS_ATTRIBUTE
+#endif
+#if \
+ defined(__has_attribute) && \
+ ( \
+ (!defined(HEDLEY_IAR_VERSION) || HEDLEY_IAR_VERSION_CHECK(8,5,9)) \
+ )
+# define HEDLEY_HAS_ATTRIBUTE(attribute) __has_attribute(attribute)
+#else
+# define HEDLEY_HAS_ATTRIBUTE(attribute) (0)
+#endif
+
+#if defined(HEDLEY_GNUC_HAS_ATTRIBUTE)
+# undef HEDLEY_GNUC_HAS_ATTRIBUTE
+#endif
+#if defined(__has_attribute)
+# define HEDLEY_GNUC_HAS_ATTRIBUTE(attribute,major,minor,patch) HEDLEY_HAS_ATTRIBUTE(attribute)
+#else
+# define HEDLEY_GNUC_HAS_ATTRIBUTE(attribute,major,minor,patch) HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
+#endif
+
+#if defined(HEDLEY_GCC_HAS_ATTRIBUTE)
+# undef HEDLEY_GCC_HAS_ATTRIBUTE
+#endif
+#if defined(__has_attribute)
+# define HEDLEY_GCC_HAS_ATTRIBUTE(attribute,major,minor,patch) HEDLEY_HAS_ATTRIBUTE(attribute)
+#else
+# define HEDLEY_GCC_HAS_ATTRIBUTE(attribute,major,minor,patch) HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
+#endif
+
+#if defined(HEDLEY_HAS_CPP_ATTRIBUTE)
+# undef HEDLEY_HAS_CPP_ATTRIBUTE
+#endif
+#if \
+ defined(__has_cpp_attribute) && \
+ defined(__cplusplus) && \
+ (!defined(HEDLEY_SUNPRO_VERSION) || HEDLEY_SUNPRO_VERSION_CHECK(5,15,0))
+# define HEDLEY_HAS_CPP_ATTRIBUTE(attribute) __has_cpp_attribute(attribute)
+#else
+# define HEDLEY_HAS_CPP_ATTRIBUTE(attribute) (0)
+#endif
+
+#if defined(HEDLEY_HAS_CPP_ATTRIBUTE_NS)
+# undef HEDLEY_HAS_CPP_ATTRIBUTE_NS
+#endif
+#if !defined(__cplusplus) || !defined(__has_cpp_attribute)
+# define HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute) (0)
+#elif \
+ !defined(HEDLEY_PGI_VERSION) && \
+ !defined(HEDLEY_IAR_VERSION) && \
+ (!defined(HEDLEY_SUNPRO_VERSION) || HEDLEY_SUNPRO_VERSION_CHECK(5,15,0)) && \
+ (!defined(HEDLEY_MSVC_VERSION) || HEDLEY_MSVC_VERSION_CHECK(19,20,0))
+# define HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute) HEDLEY_HAS_CPP_ATTRIBUTE(ns::attribute)
+#else
+# define HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute) (0)
+#endif
+
+#if defined(HEDLEY_GNUC_HAS_CPP_ATTRIBUTE)
+# undef HEDLEY_GNUC_HAS_CPP_ATTRIBUTE
+#endif
+#if defined(__has_cpp_attribute) && defined(__cplusplus)
+# define HEDLEY_GNUC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) __has_cpp_attribute(attribute)
+#else
+# define HEDLEY_GNUC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
+#endif
+
+#if defined(HEDLEY_GCC_HAS_CPP_ATTRIBUTE)
+# undef HEDLEY_GCC_HAS_CPP_ATTRIBUTE
+#endif
+#if defined(__has_cpp_attribute) && defined(__cplusplus)
+# define HEDLEY_GCC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) __has_cpp_attribute(attribute)
+#else
+# define HEDLEY_GCC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
+#endif
+
+#if defined(HEDLEY_HAS_BUILTIN)
+# undef HEDLEY_HAS_BUILTIN
+#endif
+#if defined(__has_builtin)
+# define HEDLEY_HAS_BUILTIN(builtin) __has_builtin(builtin)
+#else
+# define HEDLEY_HAS_BUILTIN(builtin) (0)
+#endif
+
+#if defined(HEDLEY_GNUC_HAS_BUILTIN)
+# undef HEDLEY_GNUC_HAS_BUILTIN
+#endif
+#if defined(__has_builtin)
+# define HEDLEY_GNUC_HAS_BUILTIN(builtin,major,minor,patch) __has_builtin(builtin)
+#else
+# define HEDLEY_GNUC_HAS_BUILTIN(builtin,major,minor,patch) HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
+#endif
+
+#if defined(HEDLEY_GCC_HAS_BUILTIN)
+# undef HEDLEY_GCC_HAS_BUILTIN
+#endif
+#if defined(__has_builtin)
+# define HEDLEY_GCC_HAS_BUILTIN(builtin,major,minor,patch) __has_builtin(builtin)
+#else
+# define HEDLEY_GCC_HAS_BUILTIN(builtin,major,minor,patch) HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
+#endif
+
+#if defined(HEDLEY_HAS_FEATURE)
+# undef HEDLEY_HAS_FEATURE
+#endif
+#if defined(__has_feature)
+# define HEDLEY_HAS_FEATURE(feature) __has_feature(feature)
+#else
+# define HEDLEY_HAS_FEATURE(feature) (0)
+#endif
+
+#if defined(HEDLEY_GNUC_HAS_FEATURE)
+# undef HEDLEY_GNUC_HAS_FEATURE
+#endif
+#if defined(__has_feature)
+# define HEDLEY_GNUC_HAS_FEATURE(feature,major,minor,patch) __has_feature(feature)
+#else
+# define HEDLEY_GNUC_HAS_FEATURE(feature,major,minor,patch) HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
+#endif
+
+#if defined(HEDLEY_GCC_HAS_FEATURE)
+# undef HEDLEY_GCC_HAS_FEATURE
+#endif
+#if defined(__has_feature)
+# define HEDLEY_GCC_HAS_FEATURE(feature,major,minor,patch) __has_feature(feature)
+#else
+# define HEDLEY_GCC_HAS_FEATURE(feature,major,minor,patch) HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
+#endif
+
+#if defined(HEDLEY_HAS_EXTENSION)
+# undef HEDLEY_HAS_EXTENSION
+#endif
+#if defined(__has_extension)
+# define HEDLEY_HAS_EXTENSION(extension) __has_extension(extension)
+#else
+# define HEDLEY_HAS_EXTENSION(extension) (0)
+#endif
+
+#if defined(HEDLEY_GNUC_HAS_EXTENSION)
+# undef HEDLEY_GNUC_HAS_EXTENSION
+#endif
+#if defined(__has_extension)
+# define HEDLEY_GNUC_HAS_EXTENSION(extension,major,minor,patch) __has_extension(extension)
+#else
+# define HEDLEY_GNUC_HAS_EXTENSION(extension,major,minor,patch) HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
+#endif
+
+#if defined(HEDLEY_GCC_HAS_EXTENSION)
+# undef HEDLEY_GCC_HAS_EXTENSION
+#endif
+#if defined(__has_extension)
+# define HEDLEY_GCC_HAS_EXTENSION(extension,major,minor,patch) __has_extension(extension)
+#else
+# define HEDLEY_GCC_HAS_EXTENSION(extension,major,minor,patch) HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
+#endif
+
+#if defined(HEDLEY_HAS_DECLSPEC_ATTRIBUTE)
+# undef HEDLEY_HAS_DECLSPEC_ATTRIBUTE
+#endif
+#if defined(__has_declspec_attribute)
+# define HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute) __has_declspec_attribute(attribute)
+#else
+# define HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute) (0)
+#endif
+
+#if defined(HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE)
+# undef HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE
+#endif
+#if defined(__has_declspec_attribute)
+# define HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) __has_declspec_attribute(attribute)
+#else
+# define HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
+#endif
+
+#if defined(HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE)
+# undef HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE
+#endif
+#if defined(__has_declspec_attribute)
+# define HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) __has_declspec_attribute(attribute)
+#else
+# define HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
+#endif
+
+#if defined(HEDLEY_HAS_WARNING)
+# undef HEDLEY_HAS_WARNING
+#endif
+#if defined(__has_warning)
+# define HEDLEY_HAS_WARNING(warning) __has_warning(warning)
+#else
+# define HEDLEY_HAS_WARNING(warning) (0)
+#endif
+
+#if defined(HEDLEY_GNUC_HAS_WARNING)
+# undef HEDLEY_GNUC_HAS_WARNING
+#endif
+#if defined(__has_warning)
+# define HEDLEY_GNUC_HAS_WARNING(warning,major,minor,patch) __has_warning(warning)
+#else
+# define HEDLEY_GNUC_HAS_WARNING(warning,major,minor,patch) HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
+#endif
+
+#if defined(HEDLEY_GCC_HAS_WARNING)
+# undef HEDLEY_GCC_HAS_WARNING
+#endif
+#if defined(__has_warning)
+# define HEDLEY_GCC_HAS_WARNING(warning,major,minor,patch) __has_warning(warning)
+#else
+# define HEDLEY_GCC_HAS_WARNING(warning,major,minor,patch) HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
+#endif
+
+#if \
+ (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) || \
+ defined(__clang__) || \
+ HEDLEY_GCC_VERSION_CHECK(3,0,0) || \
+ HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+ HEDLEY_IAR_VERSION_CHECK(8,0,0) || \
+ HEDLEY_PGI_VERSION_CHECK(18,4,0) || \
+ HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
+ HEDLEY_TI_VERSION_CHECK(15,12,0) || \
+ HEDLEY_TI_ARMCL_VERSION_CHECK(4,7,0) || \
+ HEDLEY_TI_CL430_VERSION_CHECK(2,0,1) || \
+ HEDLEY_TI_CL2000_VERSION_CHECK(6,1,0) || \
+ HEDLEY_TI_CL6X_VERSION_CHECK(7,0,0) || \
+ HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
+ HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \
+ HEDLEY_CRAY_VERSION_CHECK(5,0,0) || \
+ HEDLEY_TINYC_VERSION_CHECK(0,9,17) || \
+ HEDLEY_SUNPRO_VERSION_CHECK(8,0,0) || \
+ (HEDLEY_IBM_VERSION_CHECK(10,1,0) && defined(__C99_PRAGMA_OPERATOR))
+# define HEDLEY_PRAGMA(value) _Pragma(#value)
+#elif HEDLEY_MSVC_VERSION_CHECK(15,0,0)
+# define HEDLEY_PRAGMA(value) __pragma(value)
+#else
+# define HEDLEY_PRAGMA(value)
+#endif
+
+#if defined(HEDLEY_DIAGNOSTIC_PUSH)
+# undef HEDLEY_DIAGNOSTIC_PUSH
+#endif
+#if defined(HEDLEY_DIAGNOSTIC_POP)
+# undef HEDLEY_DIAGNOSTIC_POP
+#endif
+#if defined(__clang__)
+# define HEDLEY_DIAGNOSTIC_PUSH _Pragma("clang diagnostic push")
+# define HEDLEY_DIAGNOSTIC_POP _Pragma("clang diagnostic pop")
+#elif HEDLEY_INTEL_VERSION_CHECK(13,0,0)
+# define HEDLEY_DIAGNOSTIC_PUSH _Pragma("warning(push)")
+# define HEDLEY_DIAGNOSTIC_POP _Pragma("warning(pop)")
+#elif HEDLEY_GCC_VERSION_CHECK(4,6,0)
+# define HEDLEY_DIAGNOSTIC_PUSH _Pragma("GCC diagnostic push")
+# define HEDLEY_DIAGNOSTIC_POP _Pragma("GCC diagnostic pop")
+#elif \
+ HEDLEY_MSVC_VERSION_CHECK(15,0,0) || \
+ HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0)
+# define HEDLEY_DIAGNOSTIC_PUSH __pragma(warning(push))
+# define HEDLEY_DIAGNOSTIC_POP __pragma(warning(pop))
+#elif HEDLEY_ARM_VERSION_CHECK(5,6,0)
+# define HEDLEY_DIAGNOSTIC_PUSH _Pragma("push")
+# define HEDLEY_DIAGNOSTIC_POP _Pragma("pop")
+#elif \
+ HEDLEY_TI_VERSION_CHECK(15,12,0) || \
+ HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \
+ HEDLEY_TI_CL430_VERSION_CHECK(4,4,0) || \
+ HEDLEY_TI_CL6X_VERSION_CHECK(8,1,0) || \
+ HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
+ HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0)
+# define HEDLEY_DIAGNOSTIC_PUSH _Pragma("diag_push")
+# define HEDLEY_DIAGNOSTIC_POP _Pragma("diag_pop")
+#elif HEDLEY_PELLES_VERSION_CHECK(2,90,0)
+# define HEDLEY_DIAGNOSTIC_PUSH _Pragma("warning(push)")
+# define HEDLEY_DIAGNOSTIC_POP _Pragma("warning(pop)")
+#else
+# define HEDLEY_DIAGNOSTIC_PUSH
+# define HEDLEY_DIAGNOSTIC_POP
+#endif
+
+/* HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_ is for
+ HEDLEY INTERNAL USE ONLY. API subject to change without notice. */
+#if defined(HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_)
+# undef HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_
+#endif
+#if defined(__cplusplus)
+# if HEDLEY_HAS_WARNING("-Wc++98-compat")
+# if HEDLEY_HAS_WARNING("-Wc++17-extensions")
+# if HEDLEY_HAS_WARNING("-Wc++1z-extensions")
+# define HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(xpr) \
+ HEDLEY_DIAGNOSTIC_PUSH \
+ _Pragma("clang diagnostic ignored \"-Wc++98-compat\"") \
+ _Pragma("clang diagnostic ignored \"-Wc++17-extensions\"") \
+ _Pragma("clang diagnostic ignored \"-Wc++1z-extensions\"") \
+ xpr \
+ HEDLEY_DIAGNOSTIC_POP
+# else
+# define HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(xpr) \
+ HEDLEY_DIAGNOSTIC_PUSH \
+ _Pragma("clang diagnostic ignored \"-Wc++98-compat\"") \
+ _Pragma("clang diagnostic ignored \"-Wc++17-extensions\"") \
+ xpr \
+ HEDLEY_DIAGNOSTIC_POP
+# endif
+# else
+# define HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(xpr) \
+ HEDLEY_DIAGNOSTIC_PUSH \
+ _Pragma("clang diagnostic ignored \"-Wc++98-compat\"") \
+ xpr \
+ HEDLEY_DIAGNOSTIC_POP
+# endif
+# endif
+#endif
+#if !defined(HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_)
+# define HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(x) x
+#endif
+
+#if defined(HEDLEY_CONST_CAST)
+# undef HEDLEY_CONST_CAST
+#endif
+#if defined(__cplusplus)
+# define HEDLEY_CONST_CAST(T, expr) (const_cast(expr))
+#elif \
+ HEDLEY_HAS_WARNING("-Wcast-qual") || \
+ HEDLEY_GCC_VERSION_CHECK(4,6,0) || \
+ HEDLEY_INTEL_VERSION_CHECK(13,0,0)
+# define HEDLEY_CONST_CAST(T, expr) (__extension__ ({ \
+ HEDLEY_DIAGNOSTIC_PUSH \
+ HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL \
+ ((T) (expr)); \
+ HEDLEY_DIAGNOSTIC_POP \
+ }))
+#else
+# define HEDLEY_CONST_CAST(T, expr) ((T) (expr))
+#endif
+
+#if defined(HEDLEY_REINTERPRET_CAST)
+# undef HEDLEY_REINTERPRET_CAST
+#endif
+#if defined(__cplusplus)
+# define HEDLEY_REINTERPRET_CAST(T, expr) (reinterpret_cast(expr))
+#else
+# define HEDLEY_REINTERPRET_CAST(T, expr) ((T) (expr))
+#endif
+
+#if defined(HEDLEY_STATIC_CAST)
+# undef HEDLEY_STATIC_CAST
+#endif
+#if defined(__cplusplus)
+# define HEDLEY_STATIC_CAST(T, expr) (static_cast(expr))
+#else
+# define HEDLEY_STATIC_CAST(T, expr) ((T) (expr))
+#endif
+
+#if defined(HEDLEY_CPP_CAST)
+# undef HEDLEY_CPP_CAST
+#endif
+#if defined(__cplusplus)
+# if HEDLEY_HAS_WARNING("-Wold-style-cast")
+# define HEDLEY_CPP_CAST(T, expr) \
+ HEDLEY_DIAGNOSTIC_PUSH \
+ _Pragma("clang diagnostic ignored \"-Wold-style-cast\"") \
+ ((T) (expr)) \
+ HEDLEY_DIAGNOSTIC_POP
+# elif HEDLEY_IAR_VERSION_CHECK(8,3,0)
+# define HEDLEY_CPP_CAST(T, expr) \
+ HEDLEY_DIAGNOSTIC_PUSH \
+ _Pragma("diag_suppress=Pe137") \
+ HEDLEY_DIAGNOSTIC_POP
+# else
+# define HEDLEY_CPP_CAST(T, expr) ((T) (expr))
+# endif
+#else
+# define HEDLEY_CPP_CAST(T, expr) (expr)
+#endif
+
+#if defined(HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED)
+# undef HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
+#endif
+#if HEDLEY_HAS_WARNING("-Wdeprecated-declarations")
+# define HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("clang diagnostic ignored \"-Wdeprecated-declarations\"")
+#elif HEDLEY_INTEL_VERSION_CHECK(13,0,0)
+# define HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("warning(disable:1478 1786)")
+#elif HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0)
+# define HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED __pragma(warning(disable:1478 1786))
+#elif HEDLEY_PGI_VERSION_CHECK(20,7,0)
+# define HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1215,1216,1444,1445")
+#elif HEDLEY_PGI_VERSION_CHECK(17,10,0)
+# define HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1215,1444")
+#elif HEDLEY_GCC_VERSION_CHECK(4,3,0)
+# define HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
+#elif HEDLEY_MSVC_VERSION_CHECK(15,0,0)
+# define HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED __pragma(warning(disable:4996))
+#elif HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
+# define HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1215,1444")
+#elif \
+ HEDLEY_TI_VERSION_CHECK(15,12,0) || \
+ (HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
+ HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \
+ (HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
+ HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \
+ (HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
+ HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \
+ (HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
+ HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \
+ HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
+ HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0)
+# define HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1291,1718")
+#elif HEDLEY_SUNPRO_VERSION_CHECK(5,13,0) && !defined(__cplusplus)
+# define HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("error_messages(off,E_DEPRECATED_ATT,E_DEPRECATED_ATT_MESS)")
+#elif HEDLEY_SUNPRO_VERSION_CHECK(5,13,0) && defined(__cplusplus)
+# define HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("error_messages(off,symdeprecated,symdeprecated2)")
+#elif HEDLEY_IAR_VERSION_CHECK(8,0,0)
+# define HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress=Pe1444,Pe1215")
+#elif HEDLEY_PELLES_VERSION_CHECK(2,90,0)
+# define HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("warn(disable:2241)")
+#else
+# define HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
+#endif
+
+#if defined(HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS)
+# undef HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS
+#endif
+#if HEDLEY_HAS_WARNING("-Wunknown-pragmas")
+# define HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("clang diagnostic ignored \"-Wunknown-pragmas\"")
+#elif HEDLEY_INTEL_VERSION_CHECK(13,0,0)
+# define HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("warning(disable:161)")
+#elif HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0)
+# define HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS __pragma(warning(disable:161))
+#elif HEDLEY_PGI_VERSION_CHECK(17,10,0)
+# define HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 1675")
+#elif HEDLEY_GCC_VERSION_CHECK(4,3,0)
+# define HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("GCC diagnostic ignored \"-Wunknown-pragmas\"")
+#elif HEDLEY_MSVC_VERSION_CHECK(15,0,0)
+# define HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS __pragma(warning(disable:4068))
+#elif \
+ HEDLEY_TI_VERSION_CHECK(16,9,0) || \
+ HEDLEY_TI_CL6X_VERSION_CHECK(8,0,0) || \
+ HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
+ HEDLEY_TI_CLPRU_VERSION_CHECK(2,3,0)
+# define HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 163")
+#elif HEDLEY_TI_CL6X_VERSION_CHECK(8,0,0)
+# define HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 163")
+#elif HEDLEY_IAR_VERSION_CHECK(8,0,0)
+# define HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress=Pe161")
+#elif HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
+# define HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 161")
+#else
+# define HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS
+#endif
+
+#if defined(HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES)
+# undef HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES
+#endif
+#if HEDLEY_HAS_WARNING("-Wunknown-attributes")
+# define HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("clang diagnostic ignored \"-Wunknown-attributes\"")
+#elif HEDLEY_GCC_VERSION_CHECK(4,6,0)
+# define HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
+#elif HEDLEY_INTEL_VERSION_CHECK(17,0,0)
+# define HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("warning(disable:1292)")
+#elif HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0)
+# define HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES __pragma(warning(disable:1292))
+#elif HEDLEY_MSVC_VERSION_CHECK(19,0,0)
+# define HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES __pragma(warning(disable:5030))
+#elif HEDLEY_PGI_VERSION_CHECK(20,7,0)
+# define HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1097,1098")
+#elif HEDLEY_PGI_VERSION_CHECK(17,10,0)
+# define HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1097")
+#elif HEDLEY_SUNPRO_VERSION_CHECK(5,14,0) && defined(__cplusplus)
+# define HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("error_messages(off,attrskipunsup)")
+#elif \
+ HEDLEY_TI_VERSION_CHECK(18,1,0) || \
+ HEDLEY_TI_CL6X_VERSION_CHECK(8,3,0) || \
+ HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0)
+# define HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1173")
+#elif HEDLEY_IAR_VERSION_CHECK(8,0,0)
+# define HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress=Pe1097")
+#elif HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
+# define HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1097")
+#else
+# define HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES
+#endif
+
+#if defined(HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL)
+# undef HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL
+#endif
+#if HEDLEY_HAS_WARNING("-Wcast-qual")
+# define HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL _Pragma("clang diagnostic ignored \"-Wcast-qual\"")
+#elif HEDLEY_INTEL_VERSION_CHECK(13,0,0)
+# define HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL _Pragma("warning(disable:2203 2331)")
+#elif HEDLEY_GCC_VERSION_CHECK(3,0,0)
+# define HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL _Pragma("GCC diagnostic ignored \"-Wcast-qual\"")
+#else
+# define HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL
+#endif
+
+#if defined(HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION)
+# undef HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION
+#endif
+#if HEDLEY_HAS_WARNING("-Wunused-function")
+# define HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION _Pragma("clang diagnostic ignored \"-Wunused-function\"")
+#elif HEDLEY_GCC_VERSION_CHECK(3,4,0)
+# define HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION _Pragma("GCC diagnostic ignored \"-Wunused-function\"")
+#elif HEDLEY_MSVC_VERSION_CHECK(1,0,0)
+# define HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION __pragma(warning(disable:4505))
+#elif HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
+# define HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION _Pragma("diag_suppress 3142")
+#else
+# define HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION
+#endif
+
+#if defined(HEDLEY_DEPRECATED)
+# undef HEDLEY_DEPRECATED
+#endif
+#if defined(HEDLEY_DEPRECATED_FOR)
+# undef HEDLEY_DEPRECATED_FOR
+#endif
+#if \
+ HEDLEY_MSVC_VERSION_CHECK(14,0,0) || \
+ HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0)
+# define HEDLEY_DEPRECATED(since) __declspec(deprecated("Since " # since))
+# define HEDLEY_DEPRECATED_FOR(since, replacement) __declspec(deprecated("Since " #since "; use " #replacement))
+#elif \
+ (HEDLEY_HAS_EXTENSION(attribute_deprecated_with_message) && !defined(HEDLEY_IAR_VERSION)) || \
+ HEDLEY_GCC_VERSION_CHECK(4,5,0) || \
+ HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+ HEDLEY_ARM_VERSION_CHECK(5,6,0) || \
+ HEDLEY_SUNPRO_VERSION_CHECK(5,13,0) || \
+ HEDLEY_PGI_VERSION_CHECK(17,10,0) || \
+ HEDLEY_TI_VERSION_CHECK(18,1,0) || \
+ HEDLEY_TI_ARMCL_VERSION_CHECK(18,1,0) || \
+ HEDLEY_TI_CL6X_VERSION_CHECK(8,3,0) || \
+ HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
+ HEDLEY_TI_CLPRU_VERSION_CHECK(2,3,0) || \
+ HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
+# define HEDLEY_DEPRECATED(since) __attribute__((__deprecated__("Since " #since)))
+# define HEDLEY_DEPRECATED_FOR(since, replacement) __attribute__((__deprecated__("Since " #since "; use " #replacement)))
+#elif defined(__cplusplus) && (__cplusplus >= 201402L)
+# define HEDLEY_DEPRECATED(since) HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[deprecated("Since " #since)]])
+# define HEDLEY_DEPRECATED_FOR(since, replacement) HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[deprecated("Since " #since "; use " #replacement)]])
+#elif \
+ HEDLEY_HAS_ATTRIBUTE(deprecated) || \
+ HEDLEY_GCC_VERSION_CHECK(3,1,0) || \
+ HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
+ HEDLEY_TI_VERSION_CHECK(15,12,0) || \
+ (HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
+ HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \
+ (HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
+ HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \
+ (HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
+ HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \
+ (HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
+ HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \
+ HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
+ HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \
+ HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) || \
+ HEDLEY_IAR_VERSION_CHECK(8,10,0)
+# define HEDLEY_DEPRECATED(since) __attribute__((__deprecated__))
+# define HEDLEY_DEPRECATED_FOR(since, replacement) __attribute__((__deprecated__))
+#elif \
+ HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \
+ HEDLEY_PELLES_VERSION_CHECK(6,50,0) || \
+ HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0)
+# define HEDLEY_DEPRECATED(since) __declspec(deprecated)
+# define HEDLEY_DEPRECATED_FOR(since, replacement) __declspec(deprecated)
+#elif HEDLEY_IAR_VERSION_CHECK(8,0,0)
+# define HEDLEY_DEPRECATED(since) _Pragma("deprecated")
+# define HEDLEY_DEPRECATED_FOR(since, replacement) _Pragma("deprecated")
+#else
+# define HEDLEY_DEPRECATED(since)
+# define HEDLEY_DEPRECATED_FOR(since, replacement)
+#endif
+
+#if defined(HEDLEY_UNAVAILABLE)
+# undef HEDLEY_UNAVAILABLE
+#endif
+#if \
+ HEDLEY_HAS_ATTRIBUTE(warning) || \
+ HEDLEY_GCC_VERSION_CHECK(4,3,0) || \
+ HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+ HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
+# define HEDLEY_UNAVAILABLE(available_since) __attribute__((__warning__("Not available until " #available_since)))
+#else
+# define HEDLEY_UNAVAILABLE(available_since)
+#endif
+
+#if defined(HEDLEY_WARN_UNUSED_RESULT)
+# undef HEDLEY_WARN_UNUSED_RESULT
+#endif
+#if defined(HEDLEY_WARN_UNUSED_RESULT_MSG)
+# undef HEDLEY_WARN_UNUSED_RESULT_MSG
+#endif
+#if \
+ HEDLEY_HAS_ATTRIBUTE(warn_unused_result) || \
+ HEDLEY_GCC_VERSION_CHECK(3,4,0) || \
+ HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+ HEDLEY_TI_VERSION_CHECK(15,12,0) || \
+ (HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
+ HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \
+ (HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
+ HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \
+ (HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
+ HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \
+ (HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
+ HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \
+ HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
+ HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \
+ (HEDLEY_SUNPRO_VERSION_CHECK(5,15,0) && defined(__cplusplus)) || \
+ HEDLEY_PGI_VERSION_CHECK(17,10,0) || \
+ HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
+# define HEDLEY_WARN_UNUSED_RESULT __attribute__((__warn_unused_result__))
+# define HEDLEY_WARN_UNUSED_RESULT_MSG(msg) __attribute__((__warn_unused_result__))
+#elif (HEDLEY_HAS_CPP_ATTRIBUTE(nodiscard) >= 201907L)
+# define HEDLEY_WARN_UNUSED_RESULT HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]])
+# define HEDLEY_WARN_UNUSED_RESULT_MSG(msg) HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard(msg)]])
+#elif HEDLEY_HAS_CPP_ATTRIBUTE(nodiscard)
+# define HEDLEY_WARN_UNUSED_RESULT HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]])
+# define HEDLEY_WARN_UNUSED_RESULT_MSG(msg) HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]])
+#elif defined(_Check_return_) /* SAL */
+# define HEDLEY_WARN_UNUSED_RESULT _Check_return_
+# define HEDLEY_WARN_UNUSED_RESULT_MSG(msg) _Check_return_
+#else
+# define HEDLEY_WARN_UNUSED_RESULT
+# define HEDLEY_WARN_UNUSED_RESULT_MSG(msg)
+#endif
+
+#if defined(HEDLEY_SENTINEL)
+# undef HEDLEY_SENTINEL
+#endif
+#if \
+ HEDLEY_HAS_ATTRIBUTE(sentinel) || \
+ HEDLEY_GCC_VERSION_CHECK(4,0,0) || \
+ HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+ HEDLEY_ARM_VERSION_CHECK(5,4,0) || \
+ HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
+# define HEDLEY_SENTINEL(position) __attribute__((__sentinel__(position)))
+#else
+# define HEDLEY_SENTINEL(position)
+#endif
+
+#if defined(HEDLEY_NO_RETURN)
+# undef HEDLEY_NO_RETURN
+#endif
+#if HEDLEY_IAR_VERSION_CHECK(8,0,0)
+# define HEDLEY_NO_RETURN __noreturn
+#elif \
+ HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+ HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
+# define HEDLEY_NO_RETURN __attribute__((__noreturn__))
+#elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L
+# define HEDLEY_NO_RETURN _Noreturn
+#elif defined(__cplusplus) && (__cplusplus >= 201103L)
+# define HEDLEY_NO_RETURN HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[noreturn]])
+#elif \
+ HEDLEY_HAS_ATTRIBUTE(noreturn) || \
+ HEDLEY_GCC_VERSION_CHECK(3,2,0) || \
+ HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \
+ HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
+ HEDLEY_IBM_VERSION_CHECK(10,1,0) || \
+ HEDLEY_TI_VERSION_CHECK(15,12,0) || \
+ (HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
+ HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \
+ (HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
+ HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \
+ (HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
+ HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \
+ (HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
+ HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \
+ HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
+ HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \
+ HEDLEY_IAR_VERSION_CHECK(8,10,0)
+# define HEDLEY_NO_RETURN __attribute__((__noreturn__))
+#elif HEDLEY_SUNPRO_VERSION_CHECK(5,10,0)
+# define HEDLEY_NO_RETURN _Pragma("does_not_return")
+#elif \
+ HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \
+ HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0)
+# define HEDLEY_NO_RETURN __declspec(noreturn)
+#elif HEDLEY_TI_CL6X_VERSION_CHECK(6,0,0) && defined(__cplusplus)
+# define HEDLEY_NO_RETURN _Pragma("FUNC_NEVER_RETURNS;")
+#elif HEDLEY_COMPCERT_VERSION_CHECK(3,2,0)
+# define HEDLEY_NO_RETURN __attribute((noreturn))
+#elif HEDLEY_PELLES_VERSION_CHECK(9,0,0)
+# define HEDLEY_NO_RETURN __declspec(noreturn)
+#else
+# define HEDLEY_NO_RETURN
+#endif
+
+#if defined(HEDLEY_NO_ESCAPE)
+# undef HEDLEY_NO_ESCAPE
+#endif
+#if HEDLEY_HAS_ATTRIBUTE(noescape)
+# define HEDLEY_NO_ESCAPE __attribute__((__noescape__))
+#else
+# define HEDLEY_NO_ESCAPE
+#endif
+
+#if defined(HEDLEY_UNREACHABLE)
+# undef HEDLEY_UNREACHABLE
+#endif
+#if defined(HEDLEY_UNREACHABLE_RETURN)
+# undef HEDLEY_UNREACHABLE_RETURN
+#endif
+#if defined(HEDLEY_ASSUME)
+# undef HEDLEY_ASSUME
+#endif
+#if \
+ HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \
+ HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+ HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0)
+# define HEDLEY_ASSUME(expr) __assume(expr)
+#elif HEDLEY_HAS_BUILTIN(__builtin_assume)
+# define HEDLEY_ASSUME(expr) __builtin_assume(expr)
+#elif \
+ HEDLEY_TI_CL2000_VERSION_CHECK(6,2,0) || \
+ HEDLEY_TI_CL6X_VERSION_CHECK(4,0,0)
+# if defined(__cplusplus)
+# define HEDLEY_ASSUME(expr) std::_nassert(expr)
+# else
+# define HEDLEY_ASSUME(expr) _nassert(expr)
+# endif
+#endif
+#if \
+ (HEDLEY_HAS_BUILTIN(__builtin_unreachable) && (!defined(HEDLEY_ARM_VERSION))) || \
+ HEDLEY_GCC_VERSION_CHECK(4,5,0) || \
+ HEDLEY_PGI_VERSION_CHECK(18,10,0) || \
+ HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+ HEDLEY_IBM_VERSION_CHECK(13,1,5) || \
+ HEDLEY_CRAY_VERSION_CHECK(10,0,0) || \
+ HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
+# define HEDLEY_UNREACHABLE() __builtin_unreachable()
+#elif defined(HEDLEY_ASSUME)
+# define HEDLEY_UNREACHABLE() HEDLEY_ASSUME(0)
+#endif
+#if !defined(HEDLEY_ASSUME)
+# if defined(HEDLEY_UNREACHABLE)
+# define HEDLEY_ASSUME(expr) HEDLEY_STATIC_CAST(void, ((expr) ? 1 : (HEDLEY_UNREACHABLE(), 1)))
+# else
+# define HEDLEY_ASSUME(expr) HEDLEY_STATIC_CAST(void, expr)
+# endif
+#endif
+#if defined(HEDLEY_UNREACHABLE)
+# if \
+ HEDLEY_TI_CL2000_VERSION_CHECK(6,2,0) || \
+ HEDLEY_TI_CL6X_VERSION_CHECK(4,0,0)
+# define HEDLEY_UNREACHABLE_RETURN(value) return (HEDLEY_STATIC_CAST(void, HEDLEY_ASSUME(0)), (value))
+# else
+# define HEDLEY_UNREACHABLE_RETURN(value) HEDLEY_UNREACHABLE()
+# endif
+#else
+# define HEDLEY_UNREACHABLE_RETURN(value) return (value)
+#endif
+#if !defined(HEDLEY_UNREACHABLE)
+# define HEDLEY_UNREACHABLE() HEDLEY_ASSUME(0)
+#endif
+
+HEDLEY_DIAGNOSTIC_PUSH
+#if HEDLEY_HAS_WARNING("-Wpedantic")
+# pragma clang diagnostic ignored "-Wpedantic"
+#endif
+#if HEDLEY_HAS_WARNING("-Wc++98-compat-pedantic") && defined(__cplusplus)
+# pragma clang diagnostic ignored "-Wc++98-compat-pedantic"
+#endif
+#if HEDLEY_GCC_HAS_WARNING("-Wvariadic-macros",4,0,0)
+# if defined(__clang__)
+# pragma clang diagnostic ignored "-Wvariadic-macros"
+# elif defined(HEDLEY_GCC_VERSION)
+# pragma GCC diagnostic ignored "-Wvariadic-macros"
+# endif
+#endif
+#if defined(HEDLEY_NON_NULL)
+# undef HEDLEY_NON_NULL
+#endif
+#if \
+ HEDLEY_HAS_ATTRIBUTE(nonnull) || \
+ HEDLEY_GCC_VERSION_CHECK(3,3,0) || \
+ HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+ HEDLEY_ARM_VERSION_CHECK(4,1,0)
+# define HEDLEY_NON_NULL(...) __attribute__((__nonnull__(__VA_ARGS__)))
+#else
+# define HEDLEY_NON_NULL(...)
+#endif
+HEDLEY_DIAGNOSTIC_POP
+
+#if defined(HEDLEY_PRINTF_FORMAT)
+# undef HEDLEY_PRINTF_FORMAT
+#endif
+#if defined(__MINGW32__) && HEDLEY_GCC_HAS_ATTRIBUTE(format,4,4,0) && !defined(__USE_MINGW_ANSI_STDIO)
+# define HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __attribute__((__format__(ms_printf, string_idx, first_to_check)))
+#elif defined(__MINGW32__) && HEDLEY_GCC_HAS_ATTRIBUTE(format,4,4,0) && defined(__USE_MINGW_ANSI_STDIO)
+# define HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __attribute__((__format__(gnu_printf, string_idx, first_to_check)))
+#elif \
+ HEDLEY_HAS_ATTRIBUTE(format) || \
+ HEDLEY_GCC_VERSION_CHECK(3,1,0) || \
+ HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+ HEDLEY_ARM_VERSION_CHECK(5,6,0) || \
+ HEDLEY_IBM_VERSION_CHECK(10,1,0) || \
+ HEDLEY_TI_VERSION_CHECK(15,12,0) || \
+ (HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
+ HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \
+ (HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
+ HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \
+ (HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
+ HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \
+ (HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
+ HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \
+ HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
+ HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \
+ HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
+# define HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __attribute__((__format__(__printf__, string_idx, first_to_check)))
+#elif HEDLEY_PELLES_VERSION_CHECK(6,0,0)
+# define HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __declspec(vaformat(printf,string_idx,first_to_check))
+#else
+# define HEDLEY_PRINTF_FORMAT(string_idx,first_to_check)
+#endif
+
+#if defined(HEDLEY_CONSTEXPR)
+# undef HEDLEY_CONSTEXPR
+#endif
+#if defined(__cplusplus)
+# if __cplusplus >= 201103L
+# define HEDLEY_CONSTEXPR HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(constexpr)
+# endif
+#endif
+#if !defined(HEDLEY_CONSTEXPR)
+# define HEDLEY_CONSTEXPR
+#endif
+
+#if defined(HEDLEY_PREDICT)
+# undef HEDLEY_PREDICT
+#endif
+#if defined(HEDLEY_LIKELY)
+# undef HEDLEY_LIKELY
+#endif
+#if defined(HEDLEY_UNLIKELY)
+# undef HEDLEY_UNLIKELY
+#endif
+#if defined(HEDLEY_UNPREDICTABLE)
+# undef HEDLEY_UNPREDICTABLE
+#endif
+#if HEDLEY_HAS_BUILTIN(__builtin_unpredictable)
+# define HEDLEY_UNPREDICTABLE(expr) __builtin_unpredictable((expr))
+#endif
+#if \
+ (HEDLEY_HAS_BUILTIN(__builtin_expect_with_probability) && !defined(HEDLEY_PGI_VERSION) && !defined(HEDLEY_INTEL_VERSION)) || \
+ HEDLEY_GCC_VERSION_CHECK(9,0,0) || \
+ HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
+# define HEDLEY_PREDICT(expr, value, probability) __builtin_expect_with_probability( (expr), (value), (probability))
+# define HEDLEY_PREDICT_TRUE(expr, probability) __builtin_expect_with_probability(!!(expr), 1 , (probability))
+# define HEDLEY_PREDICT_FALSE(expr, probability) __builtin_expect_with_probability(!!(expr), 0 , (probability))
+# define HEDLEY_LIKELY(expr) __builtin_expect (!!(expr), 1 )
+# define HEDLEY_UNLIKELY(expr) __builtin_expect (!!(expr), 0 )
+#elif \
+ (HEDLEY_HAS_BUILTIN(__builtin_expect) && !defined(HEDLEY_INTEL_CL_VERSION)) || \
+ HEDLEY_GCC_VERSION_CHECK(3,0,0) || \
+ HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+ (HEDLEY_SUNPRO_VERSION_CHECK(5,15,0) && defined(__cplusplus)) || \
+ HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
+ HEDLEY_IBM_VERSION_CHECK(10,1,0) || \
+ HEDLEY_TI_VERSION_CHECK(15,12,0) || \
+ HEDLEY_TI_ARMCL_VERSION_CHECK(4,7,0) || \
+ HEDLEY_TI_CL430_VERSION_CHECK(3,1,0) || \
+ HEDLEY_TI_CL2000_VERSION_CHECK(6,1,0) || \
+ HEDLEY_TI_CL6X_VERSION_CHECK(6,1,0) || \
+ HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
+ HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \
+ HEDLEY_TINYC_VERSION_CHECK(0,9,27) || \
+ HEDLEY_CRAY_VERSION_CHECK(8,1,0) || \
+ HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
+# define HEDLEY_PREDICT(expr, expected, probability) \
+ (((probability) >= 0.9) ? __builtin_expect((expr), (expected)) : (HEDLEY_STATIC_CAST(void, expected), (expr)))
+# define HEDLEY_PREDICT_TRUE(expr, probability) \
+ (__extension__ ({ \
+ double hedley_probability_ = (probability); \
+ ((hedley_probability_ >= 0.9) ? __builtin_expect(!!(expr), 1) : ((hedley_probability_ <= 0.1) ? __builtin_expect(!!(expr), 0) : !!(expr))); \
+ }))
+# define HEDLEY_PREDICT_FALSE(expr, probability) \
+ (__extension__ ({ \
+ double hedley_probability_ = (probability); \
+ ((hedley_probability_ >= 0.9) ? __builtin_expect(!!(expr), 0) : ((hedley_probability_ <= 0.1) ? __builtin_expect(!!(expr), 1) : !!(expr))); \
+ }))
+# define HEDLEY_LIKELY(expr) __builtin_expect(!!(expr), 1)
+# define HEDLEY_UNLIKELY(expr) __builtin_expect(!!(expr), 0)
+#else
+# define HEDLEY_PREDICT(expr, expected, probability) (HEDLEY_STATIC_CAST(void, expected), (expr))
+# define HEDLEY_PREDICT_TRUE(expr, probability) (!!(expr))
+# define HEDLEY_PREDICT_FALSE(expr, probability) (!!(expr))
+# define HEDLEY_LIKELY(expr) (!!(expr))
+# define HEDLEY_UNLIKELY(expr) (!!(expr))
+#endif
+#if !defined(HEDLEY_UNPREDICTABLE)
+# define HEDLEY_UNPREDICTABLE(expr) HEDLEY_PREDICT(expr, 1, 0.5)
+#endif
+
+#if defined(HEDLEY_MALLOC)
+# undef HEDLEY_MALLOC
+#endif
+#if \
+ HEDLEY_HAS_ATTRIBUTE(malloc) || \
+ HEDLEY_GCC_VERSION_CHECK(3,1,0) || \
+ HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+ HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \
+ HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
+ HEDLEY_IBM_VERSION_CHECK(12,1,0) || \
+ HEDLEY_TI_VERSION_CHECK(15,12,0) || \
+ (HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
+ HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \
+ (HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
+ HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \
+ (HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
+ HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \
+ (HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
+ HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \
+ HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
+ HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \
+ HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
+# define HEDLEY_MALLOC __attribute__((__malloc__))
+#elif HEDLEY_SUNPRO_VERSION_CHECK(5,10,0)
+# define HEDLEY_MALLOC _Pragma("returns_new_memory")
+#elif \
+ HEDLEY_MSVC_VERSION_CHECK(14,0,0) || \
+ HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0)
+# define HEDLEY_MALLOC __declspec(restrict)
+#else
+# define HEDLEY_MALLOC
+#endif
+
+#if defined(HEDLEY_PURE)
+# undef HEDLEY_PURE
+#endif
+#if \
+ HEDLEY_HAS_ATTRIBUTE(pure) || \
+ HEDLEY_GCC_VERSION_CHECK(2,96,0) || \
+ HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+ HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \
+ HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
+ HEDLEY_IBM_VERSION_CHECK(10,1,0) || \
+ HEDLEY_TI_VERSION_CHECK(15,12,0) || \
+ (HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
+ HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \
+ (HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
+ HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \
+ (HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
+ HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \
+ (HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
+ HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \
+ HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
+ HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \
+ HEDLEY_PGI_VERSION_CHECK(17,10,0) || \
+ HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
+# define HEDLEY_PURE __attribute__((__pure__))
+#elif HEDLEY_SUNPRO_VERSION_CHECK(5,10,0)
+# define HEDLEY_PURE _Pragma("does_not_write_global_data")
+#elif defined(__cplusplus) && \
+ ( \
+ HEDLEY_TI_CL430_VERSION_CHECK(2,0,1) || \
+ HEDLEY_TI_CL6X_VERSION_CHECK(4,0,0) || \
+ HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) \
+ )
+# define HEDLEY_PURE _Pragma("FUNC_IS_PURE;")
+#else
+# define HEDLEY_PURE
+#endif
+
+#if defined(HEDLEY_CONST)
+# undef HEDLEY_CONST
+#endif
+#if \
+ HEDLEY_HAS_ATTRIBUTE(const) || \
+ HEDLEY_GCC_VERSION_CHECK(2,5,0) || \
+ HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+ HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \
+ HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
+ HEDLEY_IBM_VERSION_CHECK(10,1,0) || \
+ HEDLEY_TI_VERSION_CHECK(15,12,0) || \
+ (HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
+ HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \
+ (HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
+ HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \
+ (HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
+ HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \
+ (HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
+ HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \
+ HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
+ HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \
+ HEDLEY_PGI_VERSION_CHECK(17,10,0) || \
+ HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
+# define HEDLEY_CONST __attribute__((__const__))
+#elif \
+ HEDLEY_SUNPRO_VERSION_CHECK(5,10,0)
+# define HEDLEY_CONST _Pragma("no_side_effect")
+#else
+# define HEDLEY_CONST HEDLEY_PURE
+#endif
+
+#if defined(HEDLEY_RESTRICT)
+# undef HEDLEY_RESTRICT
+#endif
+#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) && !defined(__cplusplus)
+# define HEDLEY_RESTRICT restrict
+#elif \
+ HEDLEY_GCC_VERSION_CHECK(3,1,0) || \
+ HEDLEY_MSVC_VERSION_CHECK(14,0,0) || \
+ HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+ HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) || \
+ HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
+ HEDLEY_IBM_VERSION_CHECK(10,1,0) || \
+ HEDLEY_PGI_VERSION_CHECK(17,10,0) || \
+ HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \
+ HEDLEY_TI_CL2000_VERSION_CHECK(6,2,4) || \
+ HEDLEY_TI_CL6X_VERSION_CHECK(8,1,0) || \
+ HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
+ (HEDLEY_SUNPRO_VERSION_CHECK(5,14,0) && defined(__cplusplus)) || \
+ HEDLEY_IAR_VERSION_CHECK(8,0,0) || \
+ defined(__clang__) || \
+ HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
+# define HEDLEY_RESTRICT __restrict
+#elif HEDLEY_SUNPRO_VERSION_CHECK(5,3,0) && !defined(__cplusplus)
+# define HEDLEY_RESTRICT _Restrict
+#else
+# define HEDLEY_RESTRICT
+#endif
+
+#if defined(HEDLEY_INLINE)
+# undef HEDLEY_INLINE
+#endif
+#if \
+ (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) || \
+ (defined(__cplusplus) && (__cplusplus >= 199711L))
+# define HEDLEY_INLINE inline
+#elif \
+ defined(HEDLEY_GCC_VERSION) || \
+ HEDLEY_ARM_VERSION_CHECK(6,2,0)
+# define HEDLEY_INLINE __inline__
+#elif \
+ HEDLEY_MSVC_VERSION_CHECK(12,0,0) || \
+ HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) || \
+ HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
+ HEDLEY_TI_ARMCL_VERSION_CHECK(5,1,0) || \
+ HEDLEY_TI_CL430_VERSION_CHECK(3,1,0) || \
+ HEDLEY_TI_CL2000_VERSION_CHECK(6,2,0) || \
+ HEDLEY_TI_CL6X_VERSION_CHECK(8,0,0) || \
+ HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
+ HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \
+ HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
+# define HEDLEY_INLINE __inline
+#else
+# define HEDLEY_INLINE
+#endif
+
+#if defined(HEDLEY_ALWAYS_INLINE)
+# undef HEDLEY_ALWAYS_INLINE
+#endif
+#if \
+ HEDLEY_HAS_ATTRIBUTE(always_inline) || \
+ HEDLEY_GCC_VERSION_CHECK(4,0,0) || \
+ HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+ HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \
+ HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
+ HEDLEY_IBM_VERSION_CHECK(10,1,0) || \
+ HEDLEY_TI_VERSION_CHECK(15,12,0) || \
+ (HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
+ HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \
+ (HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
+ HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \
+ (HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
+ HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \
+ (HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
+ HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \
+ HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
+ HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \
+ HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) || \
+ HEDLEY_IAR_VERSION_CHECK(8,10,0)
+# define HEDLEY_ALWAYS_INLINE __attribute__((__always_inline__)) HEDLEY_INLINE
+#elif \
+ HEDLEY_MSVC_VERSION_CHECK(12,0,0) || \
+ HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0)
+# define HEDLEY_ALWAYS_INLINE __forceinline
+#elif defined(__cplusplus) && \
+ ( \
+ HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \
+ HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \
+ HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \
+ HEDLEY_TI_CL6X_VERSION_CHECK(6,1,0) || \
+ HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
+ HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) \
+ )
+# define HEDLEY_ALWAYS_INLINE _Pragma("FUNC_ALWAYS_INLINE;")
+#elif HEDLEY_IAR_VERSION_CHECK(8,0,0)
+# define HEDLEY_ALWAYS_INLINE _Pragma("inline=forced")
+#else
+# define HEDLEY_ALWAYS_INLINE HEDLEY_INLINE
+#endif
+
+#if defined(HEDLEY_NEVER_INLINE)
+# undef HEDLEY_NEVER_INLINE
+#endif
+#if \
+ HEDLEY_HAS_ATTRIBUTE(noinline) || \
+ HEDLEY_GCC_VERSION_CHECK(4,0,0) || \
+ HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+ HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \
+ HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
+ HEDLEY_IBM_VERSION_CHECK(10,1,0) || \
+ HEDLEY_TI_VERSION_CHECK(15,12,0) || \
+ (HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
+ HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \
+ (HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
+ HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \
+ (HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
+ HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \
+ (HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
+ HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \
+ HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
+ HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \
+ HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) || \
+ HEDLEY_IAR_VERSION_CHECK(8,10,0)
+# define HEDLEY_NEVER_INLINE __attribute__((__noinline__))
+#elif \
+ HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \
+ HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0)
+# define HEDLEY_NEVER_INLINE __declspec(noinline)
+#elif HEDLEY_PGI_VERSION_CHECK(10,2,0)
+# define HEDLEY_NEVER_INLINE _Pragma("noinline")
+#elif HEDLEY_TI_CL6X_VERSION_CHECK(6,0,0) && defined(__cplusplus)
+# define HEDLEY_NEVER_INLINE _Pragma("FUNC_CANNOT_INLINE;")
+#elif HEDLEY_IAR_VERSION_CHECK(8,0,0)
+# define HEDLEY_NEVER_INLINE _Pragma("inline=never")
+#elif HEDLEY_COMPCERT_VERSION_CHECK(3,2,0)
+# define HEDLEY_NEVER_INLINE __attribute((noinline))
+#elif HEDLEY_PELLES_VERSION_CHECK(9,0,0)
+# define HEDLEY_NEVER_INLINE __declspec(noinline)
+#else
+# define HEDLEY_NEVER_INLINE
+#endif
+
+#if defined(HEDLEY_PRIVATE)
+# undef HEDLEY_PRIVATE
+#endif
+#if defined(HEDLEY_PUBLIC)
+# undef HEDLEY_PUBLIC
+#endif
+#if defined(HEDLEY_IMPORT)
+# undef HEDLEY_IMPORT
+#endif
+#if defined(_WIN32) || defined(__CYGWIN__)
+# define HEDLEY_PRIVATE
+# define HEDLEY_PUBLIC __declspec(dllexport)
+# define HEDLEY_IMPORT __declspec(dllimport)
+#else
+# if \
+ HEDLEY_HAS_ATTRIBUTE(visibility) || \
+ HEDLEY_GCC_VERSION_CHECK(3,3,0) || \
+ HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \
+ HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+ HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
+ HEDLEY_IBM_VERSION_CHECK(13,1,0) || \
+ ( \
+ defined(__TI_EABI__) && \
+ ( \
+ (HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
+ HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) \
+ ) \
+ ) || \
+ HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
+# define HEDLEY_PRIVATE __attribute__((__visibility__("hidden")))
+# define HEDLEY_PUBLIC __attribute__((__visibility__("default")))
+# else
+# define HEDLEY_PRIVATE
+# define HEDLEY_PUBLIC
+# endif
+# define HEDLEY_IMPORT extern
+#endif
+
+#if defined(HEDLEY_NO_THROW)
+# undef HEDLEY_NO_THROW
+#endif
+#if \
+ HEDLEY_HAS_ATTRIBUTE(nothrow) || \
+ HEDLEY_GCC_VERSION_CHECK(3,3,0) || \
+ HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+ HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
+# define HEDLEY_NO_THROW __attribute__((__nothrow__))
+#elif \
+ HEDLEY_MSVC_VERSION_CHECK(13,1,0) || \
+ HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) || \
+ HEDLEY_ARM_VERSION_CHECK(4,1,0)
+# define HEDLEY_NO_THROW __declspec(nothrow)
+#else
+# define HEDLEY_NO_THROW
+#endif
+
+#if defined(HEDLEY_FALL_THROUGH)
+# undef HEDLEY_FALL_THROUGH
+#endif
+#if defined(HEDLEY_INTEL_VERSION)
+# define HEDLEY_FALL_THROUGH
+#elif \
+ HEDLEY_HAS_ATTRIBUTE(fallthrough) || \
+ HEDLEY_GCC_VERSION_CHECK(7,0,0) || \
+ HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
+# define HEDLEY_FALL_THROUGH __attribute__((__fallthrough__))
+#elif HEDLEY_HAS_CPP_ATTRIBUTE_NS(clang,fallthrough)
+# define HEDLEY_FALL_THROUGH HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[clang::fallthrough]])
+#elif HEDLEY_HAS_CPP_ATTRIBUTE(fallthrough)
+# define HEDLEY_FALL_THROUGH HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[fallthrough]])
+#elif defined(__fallthrough) /* SAL */
+# define HEDLEY_FALL_THROUGH __fallthrough
+#else
+# define HEDLEY_FALL_THROUGH
+#endif
+
+#if defined(HEDLEY_RETURNS_NON_NULL)
+# undef HEDLEY_RETURNS_NON_NULL
+#endif
+#if \
+ HEDLEY_HAS_ATTRIBUTE(returns_nonnull) || \
+ HEDLEY_GCC_VERSION_CHECK(4,9,0) || \
+ HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
+# define HEDLEY_RETURNS_NON_NULL __attribute__((__returns_nonnull__))
+#elif defined(_Ret_notnull_) /* SAL */
+# define HEDLEY_RETURNS_NON_NULL _Ret_notnull_
+#else
+# define HEDLEY_RETURNS_NON_NULL
+#endif
+
+#if defined(HEDLEY_ARRAY_PARAM)
+# undef HEDLEY_ARRAY_PARAM
+#endif
+#if \
+ defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) && \
+ !defined(__STDC_NO_VLA__) && \
+ !defined(__cplusplus) && \
+ !defined(HEDLEY_PGI_VERSION) && \
+ !defined(HEDLEY_TINYC_VERSION)
+# define HEDLEY_ARRAY_PARAM(name) (name)
+#else
+# define HEDLEY_ARRAY_PARAM(name)
+#endif
+
+#if defined(HEDLEY_IS_CONSTANT)
+# undef HEDLEY_IS_CONSTANT
+#endif
+#if defined(HEDLEY_REQUIRE_CONSTEXPR)
+# undef HEDLEY_REQUIRE_CONSTEXPR
+#endif
+/* HEDLEY_IS_CONSTEXPR_ is for
+ HEDLEY INTERNAL USE ONLY. API subject to change without notice. */
+#if defined(HEDLEY_IS_CONSTEXPR_)
+# undef HEDLEY_IS_CONSTEXPR_
+#endif
+#if \
+ HEDLEY_HAS_BUILTIN(__builtin_constant_p) || \
+ HEDLEY_GCC_VERSION_CHECK(3,4,0) || \
+ HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+ HEDLEY_TINYC_VERSION_CHECK(0,9,19) || \
+ HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
+ HEDLEY_IBM_VERSION_CHECK(13,1,0) || \
+ HEDLEY_TI_CL6X_VERSION_CHECK(6,1,0) || \
+ (HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) && !defined(__cplusplus)) || \
+ HEDLEY_CRAY_VERSION_CHECK(8,1,0) || \
+ HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
+# define HEDLEY_IS_CONSTANT(expr) __builtin_constant_p(expr)
+#endif
+#if !defined(__cplusplus)
+# if \
+ HEDLEY_HAS_BUILTIN(__builtin_types_compatible_p) || \
+ HEDLEY_GCC_VERSION_CHECK(3,4,0) || \
+ HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+ HEDLEY_IBM_VERSION_CHECK(13,1,0) || \
+ HEDLEY_CRAY_VERSION_CHECK(8,1,0) || \
+ HEDLEY_ARM_VERSION_CHECK(5,4,0) || \
+ HEDLEY_TINYC_VERSION_CHECK(0,9,24)
+# if defined(__INTPTR_TYPE__)
+# define HEDLEY_IS_CONSTEXPR_(expr) __builtin_types_compatible_p(__typeof__((1 ? (void*) ((__INTPTR_TYPE__) ((expr) * 0)) : (int*) 0)), int*)
+# else
+# include
+# define HEDLEY_IS_CONSTEXPR_(expr) __builtin_types_compatible_p(__typeof__((1 ? (void*) ((intptr_t) ((expr) * 0)) : (int*) 0)), int*)
+# endif
+# elif \
+ ( \
+ defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) && \
+ !defined(HEDLEY_SUNPRO_VERSION) && \
+ !defined(HEDLEY_PGI_VERSION) && \
+ !defined(HEDLEY_IAR_VERSION)) || \
+ (HEDLEY_HAS_EXTENSION(c_generic_selections) && !defined(HEDLEY_IAR_VERSION)) || \
+ HEDLEY_GCC_VERSION_CHECK(4,9,0) || \
+ HEDLEY_INTEL_VERSION_CHECK(17,0,0) || \
+ HEDLEY_IBM_VERSION_CHECK(12,1,0) || \
+ HEDLEY_ARM_VERSION_CHECK(5,3,0)
+# if defined(__INTPTR_TYPE__)
+# define HEDLEY_IS_CONSTEXPR_(expr) _Generic((1 ? (void*) ((__INTPTR_TYPE__) ((expr) * 0)) : (int*) 0), int*: 1, void*: 0)
+# else
+# include
+# define HEDLEY_IS_CONSTEXPR_(expr) _Generic((1 ? (void*) ((intptr_t) * 0) : (int*) 0), int*: 1, void*: 0)
+# endif
+# elif \
+ defined(HEDLEY_GCC_VERSION) || \
+ defined(HEDLEY_INTEL_VERSION) || \
+ defined(HEDLEY_TINYC_VERSION) || \
+ defined(HEDLEY_TI_ARMCL_VERSION) || \
+ HEDLEY_TI_CL430_VERSION_CHECK(18,12,0) || \
+ defined(HEDLEY_TI_CL2000_VERSION) || \
+ defined(HEDLEY_TI_CL6X_VERSION) || \
+ defined(HEDLEY_TI_CL7X_VERSION) || \
+ defined(HEDLEY_TI_CLPRU_VERSION) || \
+ defined(__clang__)
+# define HEDLEY_IS_CONSTEXPR_(expr) ( \
+ sizeof(void) != \
+ sizeof(*( \
+ 1 ? \
+ ((void*) ((expr) * 0L) ) : \
+ ((struct { char v[sizeof(void) * 2]; } *) 1) \
+ ) \
+ ) \
+ )
+# endif
+#endif
+#if defined(HEDLEY_IS_CONSTEXPR_)
+# if !defined(HEDLEY_IS_CONSTANT)
+# define HEDLEY_IS_CONSTANT(expr) HEDLEY_IS_CONSTEXPR_(expr)
+# endif
+# define HEDLEY_REQUIRE_CONSTEXPR(expr) (HEDLEY_IS_CONSTEXPR_(expr) ? (expr) : (-1))
+#else
+# if !defined(HEDLEY_IS_CONSTANT)
+# define HEDLEY_IS_CONSTANT(expr) (0)
+# endif
+# define HEDLEY_REQUIRE_CONSTEXPR(expr) (expr)
+#endif
+
+#if defined(HEDLEY_BEGIN_C_DECLS)
+# undef HEDLEY_BEGIN_C_DECLS
+#endif
+#if defined(HEDLEY_END_C_DECLS)
+# undef HEDLEY_END_C_DECLS
+#endif
+#if defined(HEDLEY_C_DECL)
+# undef HEDLEY_C_DECL
+#endif
+#if defined(__cplusplus)
+# define HEDLEY_BEGIN_C_DECLS extern "C" {
+# define HEDLEY_END_C_DECLS }
+# define HEDLEY_C_DECL extern "C"
+#else
+# define HEDLEY_BEGIN_C_DECLS
+# define HEDLEY_END_C_DECLS
+# define HEDLEY_C_DECL
+#endif
+
+#if defined(HEDLEY_STATIC_ASSERT)
+# undef HEDLEY_STATIC_ASSERT
+#endif
+#if \
+ !defined(__cplusplus) && ( \
+ (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L)) || \
+ (HEDLEY_HAS_FEATURE(c_static_assert) && !defined(HEDLEY_INTEL_CL_VERSION)) || \
+ HEDLEY_GCC_VERSION_CHECK(6,0,0) || \
+ HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+ defined(_Static_assert) \
+ )
+# define HEDLEY_STATIC_ASSERT(expr, message) _Static_assert(expr, message)
+#elif \
+ (defined(__cplusplus) && (__cplusplus >= 201103L)) || \
+ HEDLEY_MSVC_VERSION_CHECK(16,0,0) || \
+ HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0)
+# define HEDLEY_STATIC_ASSERT(expr, message) HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(static_assert(expr, message))
+#else
+# define HEDLEY_STATIC_ASSERT(expr, message)
+#endif
+
+#if defined(HEDLEY_NULL)
+# undef HEDLEY_NULL
+#endif
+#if defined(__cplusplus)
+# if __cplusplus >= 201103L
+# define HEDLEY_NULL HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(nullptr)
+# elif defined(NULL)
+# define HEDLEY_NULL NULL
+# else
+# define HEDLEY_NULL HEDLEY_STATIC_CAST(void*, 0)
+# endif
+#elif defined(NULL)
+# define HEDLEY_NULL NULL
+#else
+# define HEDLEY_NULL ((void*) 0)
+#endif
+
+#if defined(HEDLEY_MESSAGE)
+# undef HEDLEY_MESSAGE
+#endif
+#if HEDLEY_HAS_WARNING("-Wunknown-pragmas")
+# define HEDLEY_MESSAGE(msg) \
+ HEDLEY_DIAGNOSTIC_PUSH \
+ HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS \
+ HEDLEY_PRAGMA(message msg) \
+ HEDLEY_DIAGNOSTIC_POP
+#elif \
+ HEDLEY_GCC_VERSION_CHECK(4,4,0) || \
+ HEDLEY_INTEL_VERSION_CHECK(13,0,0)
+# define HEDLEY_MESSAGE(msg) HEDLEY_PRAGMA(message msg)
+#elif HEDLEY_CRAY_VERSION_CHECK(5,0,0)
+# define HEDLEY_MESSAGE(msg) HEDLEY_PRAGMA(_CRI message msg)
+#elif HEDLEY_IAR_VERSION_CHECK(8,0,0)
+# define HEDLEY_MESSAGE(msg) HEDLEY_PRAGMA(message(msg))
+#elif HEDLEY_PELLES_VERSION_CHECK(2,0,0)
+# define HEDLEY_MESSAGE(msg) HEDLEY_PRAGMA(message(msg))
+#else
+# define HEDLEY_MESSAGE(msg)
+#endif
+
+#if defined(HEDLEY_WARNING)
+# undef HEDLEY_WARNING
+#endif
+#if HEDLEY_HAS_WARNING("-Wunknown-pragmas")
+# define HEDLEY_WARNING(msg) \
+ HEDLEY_DIAGNOSTIC_PUSH \
+ HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS \
+ HEDLEY_PRAGMA(clang warning msg) \
+ HEDLEY_DIAGNOSTIC_POP
+#elif \
+ HEDLEY_GCC_VERSION_CHECK(4,8,0) || \
+ HEDLEY_PGI_VERSION_CHECK(18,4,0) || \
+ HEDLEY_INTEL_VERSION_CHECK(13,0,0)
+# define HEDLEY_WARNING(msg) HEDLEY_PRAGMA(GCC warning msg)
+#elif \
+ HEDLEY_MSVC_VERSION_CHECK(15,0,0) || \
+ HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0)
+# define HEDLEY_WARNING(msg) HEDLEY_PRAGMA(message(msg))
+#else
+# define HEDLEY_WARNING(msg) HEDLEY_MESSAGE(msg)
+#endif
+
+#if defined(HEDLEY_REQUIRE)
+# undef HEDLEY_REQUIRE
+#endif
+#if defined(HEDLEY_REQUIRE_MSG)
+# undef HEDLEY_REQUIRE_MSG
+#endif
+#if HEDLEY_HAS_ATTRIBUTE(diagnose_if)
+# if HEDLEY_HAS_WARNING("-Wgcc-compat")
+# define HEDLEY_REQUIRE(expr) \
+ HEDLEY_DIAGNOSTIC_PUSH \
+ _Pragma("clang diagnostic ignored \"-Wgcc-compat\"") \
+ __attribute__((diagnose_if(!(expr), #expr, "error"))) \
+ HEDLEY_DIAGNOSTIC_POP
+# define HEDLEY_REQUIRE_MSG(expr,msg) \
+ HEDLEY_DIAGNOSTIC_PUSH \
+ _Pragma("clang diagnostic ignored \"-Wgcc-compat\"") \
+ __attribute__((diagnose_if(!(expr), msg, "error"))) \
+ HEDLEY_DIAGNOSTIC_POP
+# else
+# define HEDLEY_REQUIRE(expr) __attribute__((diagnose_if(!(expr), #expr, "error")))
+# define HEDLEY_REQUIRE_MSG(expr,msg) __attribute__((diagnose_if(!(expr), msg, "error")))
+# endif
+#else
+# define HEDLEY_REQUIRE(expr)
+# define HEDLEY_REQUIRE_MSG(expr,msg)
+#endif
+
+#if defined(HEDLEY_FLAGS)
+# undef HEDLEY_FLAGS
+#endif
+#if HEDLEY_HAS_ATTRIBUTE(flag_enum) && (!defined(__cplusplus) || HEDLEY_HAS_WARNING("-Wbitfield-enum-conversion"))
+# define HEDLEY_FLAGS __attribute__((__flag_enum__))
+#else
+# define HEDLEY_FLAGS
+#endif
+
+#if defined(HEDLEY_FLAGS_CAST)
+# undef HEDLEY_FLAGS_CAST
+#endif
+#if HEDLEY_INTEL_VERSION_CHECK(19,0,0)
+# define HEDLEY_FLAGS_CAST(T, expr) (__extension__ ({ \
+ HEDLEY_DIAGNOSTIC_PUSH \
+ _Pragma("warning(disable:188)") \
+ ((T) (expr)); \
+ HEDLEY_DIAGNOSTIC_POP \
+ }))
+#else
+# define HEDLEY_FLAGS_CAST(T, expr) HEDLEY_STATIC_CAST(T, expr)
+#endif
+
+#if defined(HEDLEY_EMPTY_BASES)
+# undef HEDLEY_EMPTY_BASES
+#endif
+#if \
+ (HEDLEY_MSVC_VERSION_CHECK(19,0,23918) && !HEDLEY_MSVC_VERSION_CHECK(20,0,0)) || \
+ HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0)
+# define HEDLEY_EMPTY_BASES __declspec(empty_bases)
+#else
+# define HEDLEY_EMPTY_BASES
+#endif
+
+/* Remaining macros are deprecated. */
+
+#if defined(HEDLEY_GCC_NOT_CLANG_VERSION_CHECK)
+# undef HEDLEY_GCC_NOT_CLANG_VERSION_CHECK
+#endif
+#if defined(__clang__)
+# define HEDLEY_GCC_NOT_CLANG_VERSION_CHECK(major,minor,patch) (0)
+#else
+# define HEDLEY_GCC_NOT_CLANG_VERSION_CHECK(major,minor,patch) HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
+#endif
+
+#if defined(HEDLEY_CLANG_HAS_ATTRIBUTE)
+# undef HEDLEY_CLANG_HAS_ATTRIBUTE
+#endif
+#define HEDLEY_CLANG_HAS_ATTRIBUTE(attribute) HEDLEY_HAS_ATTRIBUTE(attribute)
+
+#if defined(HEDLEY_CLANG_HAS_CPP_ATTRIBUTE)
+# undef HEDLEY_CLANG_HAS_CPP_ATTRIBUTE
+#endif
+#define HEDLEY_CLANG_HAS_CPP_ATTRIBUTE(attribute) HEDLEY_HAS_CPP_ATTRIBUTE(attribute)
+
+#if defined(HEDLEY_CLANG_HAS_BUILTIN)
+# undef HEDLEY_CLANG_HAS_BUILTIN
+#endif
+#define HEDLEY_CLANG_HAS_BUILTIN(builtin) HEDLEY_HAS_BUILTIN(builtin)
+
+#if defined(HEDLEY_CLANG_HAS_FEATURE)
+# undef HEDLEY_CLANG_HAS_FEATURE
+#endif
+#define HEDLEY_CLANG_HAS_FEATURE(feature) HEDLEY_HAS_FEATURE(feature)
+
+#if defined(HEDLEY_CLANG_HAS_EXTENSION)
+# undef HEDLEY_CLANG_HAS_EXTENSION
+#endif
+#define HEDLEY_CLANG_HAS_EXTENSION(extension) HEDLEY_HAS_EXTENSION(extension)
+
+#if defined(HEDLEY_CLANG_HAS_DECLSPEC_DECLSPEC_ATTRIBUTE)
+# undef HEDLEY_CLANG_HAS_DECLSPEC_DECLSPEC_ATTRIBUTE
+#endif
+#define HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE(attribute) HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute)
+
+#if defined(HEDLEY_CLANG_HAS_WARNING)
+# undef HEDLEY_CLANG_HAS_WARNING
+#endif
+#define HEDLEY_CLANG_HAS_WARNING(warning) HEDLEY_HAS_WARNING(warning)
+
+#endif /* !defined(HEDLEY_VERSION) || (HEDLEY_VERSION < X) */
diff --git a/external_libs/pgenlib/simde/simde-aes.h b/external_libs/pgenlib/simde/simde-aes.h
new file mode 100644
index 0000000..ea3ef5a
--- /dev/null
+++ b/external_libs/pgenlib/simde/simde-aes.h
@@ -0,0 +1,266 @@
+/* SPDX-License-Identifier: MIT
+ *
+ * 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.
+ *
+ * Copyright:
+ * 2023 Yi-Yen Chung (Copyright owned by Andes Technology)
+ */
+
+#if !defined(SIMDE_AES_H)
+#define SIMDE_AES_H
+
+#include "simde-features.h"
+
+HEDLEY_DIAGNOSTIC_PUSH
+SIMDE_DISABLE_UNWANTED_DIAGNOSTICS
+
+#if !(defined(SIMDE_ARM_NEON_A32V8_NATIVE) && defined(SIMDE_ARCH_ARM_AES) && \
+ defined(SIMDE_ARM_NEON_A32V7_NATIVE) && defined(SIMDE_ARCH_ARM_CRYPTO))
+
+/*
+ * Number of columns (32-bit words) comprising the State. For this
+ * standard, Nb = 4.
+ */
+#define simde_x_aes_Nb 4
+
+static uint8_t simde_x_aes_gmult_lookup_table[8][256] = {
+{ // gmult(0x02, b);
+ 0x00, 0x02, 0x04, 0x06, 0x08, 0x0a, 0x0c, 0x0e, 0x10, 0x12, 0x14, 0x16, 0x18, 0x1a, 0x1c, 0x1e,
+ 0x20, 0x22, 0x24, 0x26, 0x28, 0x2a, 0x2c, 0x2e, 0x30, 0x32, 0x34, 0x36, 0x38, 0x3a, 0x3c, 0x3e,
+ 0x40, 0x42, 0x44, 0x46, 0x48, 0x4a, 0x4c, 0x4e, 0x50, 0x52, 0x54, 0x56, 0x58, 0x5a, 0x5c, 0x5e,
+ 0x60, 0x62, 0x64, 0x66, 0x68, 0x6a, 0x6c, 0x6e, 0x70, 0x72, 0x74, 0x76, 0x78, 0x7a, 0x7c, 0x7e,
+ 0x80, 0x82, 0x84, 0x86, 0x88, 0x8a, 0x8c, 0x8e, 0x90, 0x92, 0x94, 0x96, 0x98, 0x9a, 0x9c, 0x9e,
+ 0xa0, 0xa2, 0xa4, 0xa6, 0xa8, 0xaa, 0xac, 0xae, 0xb0, 0xb2, 0xb4, 0xb6, 0xb8, 0xba, 0xbc, 0xbe,
+ 0xc0, 0xc2, 0xc4, 0xc6, 0xc8, 0xca, 0xcc, 0xce, 0xd0, 0xd2, 0xd4, 0xd6, 0xd8, 0xda, 0xdc, 0xde,
+ 0xe0, 0xe2, 0xe4, 0xe6, 0xe8, 0xea, 0xec, 0xee, 0xf0, 0xf2, 0xf4, 0xf6, 0xf8, 0xfa, 0xfc, 0xfe,
+ 0x1b, 0x19, 0x1f, 0x1d, 0x13, 0x11, 0x17, 0x15, 0x0b, 0x09, 0x0f, 0x0d, 0x03, 0x01, 0x07, 0x05,
+ 0x3b, 0x39, 0x3f, 0x3d, 0x33, 0x31, 0x37, 0x35, 0x2b, 0x29, 0x2f, 0x2d, 0x23, 0x21, 0x27, 0x25,
+ 0x5b, 0x59, 0x5f, 0x5d, 0x53, 0x51, 0x57, 0x55, 0x4b, 0x49, 0x4f, 0x4d, 0x43, 0x41, 0x47, 0x45,
+ 0x7b, 0x79, 0x7f, 0x7d, 0x73, 0x71, 0x77, 0x75, 0x6b, 0x69, 0x6f, 0x6d, 0x63, 0x61, 0x67, 0x65,
+ 0x9b, 0x99, 0x9f, 0x9d, 0x93, 0x91, 0x97, 0x95, 0x8b, 0x89, 0x8f, 0x8d, 0x83, 0x81, 0x87, 0x85,
+ 0xbb, 0xb9, 0xbf, 0xbd, 0xb3, 0xb1, 0xb7, 0xb5, 0xab, 0xa9, 0xaf, 0xad, 0xa3, 0xa1, 0xa7, 0xa5,
+ 0xdb, 0xd9, 0xdf, 0xdd, 0xd3, 0xd1, 0xd7, 0xd5, 0xcb, 0xc9, 0xcf, 0xcd, 0xc3, 0xc1, 0xc7, 0xc5,
+ 0xfb, 0xf9, 0xff, 0xfd, 0xf3, 0xf1, 0xf7, 0xf5, 0xeb, 0xe9, 0xef, 0xed, 0xe3, 0xe1, 0xe7, 0xe5
+},
+{ // gmult(0x01, b);
+ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
+ 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
+ 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
+ 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
+ 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
+ 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
+ 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
+ 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
+ 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
+ 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
+ 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
+ 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
+ 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
+ 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
+ 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
+ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
+},
+{ // gmult(0x01, b);
+ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
+ 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
+ 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
+ 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
+ 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f,
+ 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
+ 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f,
+ 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
+ 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
+ 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
+ 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
+ 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
+ 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
+ 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
+ 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
+ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
+},
+{ // gmult(0x03, b);
+ 0x00, 0x03, 0x06, 0x05, 0x0c, 0x0f, 0x0a, 0x09, 0x18, 0x1b, 0x1e, 0x1d, 0x14, 0x17, 0x12, 0x11,
+ 0x30, 0x33, 0x36, 0x35, 0x3c, 0x3f, 0x3a, 0x39, 0x28, 0x2b, 0x2e, 0x2d, 0x24, 0x27, 0x22, 0x21,
+ 0x60, 0x63, 0x66, 0x65, 0x6c, 0x6f, 0x6a, 0x69, 0x78, 0x7b, 0x7e, 0x7d, 0x74, 0x77, 0x72, 0x71,
+ 0x50, 0x53, 0x56, 0x55, 0x5c, 0x5f, 0x5a, 0x59, 0x48, 0x4b, 0x4e, 0x4d, 0x44, 0x47, 0x42, 0x41,
+ 0xc0, 0xc3, 0xc6, 0xc5, 0xcc, 0xcf, 0xca, 0xc9, 0xd8, 0xdb, 0xde, 0xdd, 0xd4, 0xd7, 0xd2, 0xd1,
+ 0xf0, 0xf3, 0xf6, 0xf5, 0xfc, 0xff, 0xfa, 0xf9, 0xe8, 0xeb, 0xee, 0xed, 0xe4, 0xe7, 0xe2, 0xe1,
+ 0xa0, 0xa3, 0xa6, 0xa5, 0xac, 0xaf, 0xaa, 0xa9, 0xb8, 0xbb, 0xbe, 0xbd, 0xb4, 0xb7, 0xb2, 0xb1,
+ 0x90, 0x93, 0x96, 0x95, 0x9c, 0x9f, 0x9a, 0x99, 0x88, 0x8b, 0x8e, 0x8d, 0x84, 0x87, 0x82, 0x81,
+ 0x9b, 0x98, 0x9d, 0x9e, 0x97, 0x94, 0x91, 0x92, 0x83, 0x80, 0x85, 0x86, 0x8f, 0x8c, 0x89, 0x8a,
+ 0xab, 0xa8, 0xad, 0xae, 0xa7, 0xa4, 0xa1, 0xa2, 0xb3, 0xb0, 0xb5, 0xb6, 0xbf, 0xbc, 0xb9, 0xba,
+ 0xfb, 0xf8, 0xfd, 0xfe, 0xf7, 0xf4, 0xf1, 0xf2, 0xe3, 0xe0, 0xe5, 0xe6, 0xef, 0xec, 0xe9, 0xea,
+ 0xcb, 0xc8, 0xcd, 0xce, 0xc7, 0xc4, 0xc1, 0xc2, 0xd3, 0xd0, 0xd5, 0xd6, 0xdf, 0xdc, 0xd9, 0xda,
+ 0x5b, 0x58, 0x5d, 0x5e, 0x57, 0x54, 0x51, 0x52, 0x43, 0x40, 0x45, 0x46, 0x4f, 0x4c, 0x49, 0x4a,
+ 0x6b, 0x68, 0x6d, 0x6e, 0x67, 0x64, 0x61, 0x62, 0x73, 0x70, 0x75, 0x76, 0x7f, 0x7c, 0x79, 0x7a,
+ 0x3b, 0x38, 0x3d, 0x3e, 0x37, 0x34, 0x31, 0x32, 0x23, 0x20, 0x25, 0x26, 0x2f, 0x2c, 0x29, 0x2a,
+ 0x0b, 0x08, 0x0d, 0x0e, 0x07, 0x04, 0x01, 0x02, 0x13, 0x10, 0x15, 0x16, 0x1f, 0x1c, 0x19, 0x1a,
+},
+{ // gmult(0x0e, b);
+ 0x00, 0x0e, 0x1c, 0x12, 0x38, 0x36, 0x24, 0x2a, 0x70, 0x7e, 0x6c, 0x62, 0x48, 0x46, 0x54, 0x5a,
+ 0xe0, 0xee, 0xfc, 0xf2, 0xd8, 0xd6, 0xc4, 0xca, 0x90, 0x9e, 0x8c, 0x82, 0xa8, 0xa6, 0xb4, 0xba,
+ 0xdb, 0xd5, 0xc7, 0xc9, 0xe3, 0xed, 0xff, 0xf1, 0xab, 0xa5, 0xb7, 0xb9, 0x93, 0x9d, 0x8f, 0x81,
+ 0x3b, 0x35, 0x27, 0x29, 0x03, 0x0d, 0x1f, 0x11, 0x4b, 0x45, 0x57, 0x59, 0x73, 0x7d, 0x6f, 0x61,
+ 0xad, 0xa3, 0xb1, 0xbf, 0x95, 0x9b, 0x89, 0x87, 0xdd, 0xd3, 0xc1, 0xcf, 0xe5, 0xeb, 0xf9, 0xf7,
+ 0x4d, 0x43, 0x51, 0x5f, 0x75, 0x7b, 0x69, 0x67, 0x3d, 0x33, 0x21, 0x2f, 0x05, 0x0b, 0x19, 0x17,
+ 0x76, 0x78, 0x6a, 0x64, 0x4e, 0x40, 0x52, 0x5c, 0x06, 0x08, 0x1a, 0x14, 0x3e, 0x30, 0x22, 0x2c,
+ 0x96, 0x98, 0x8a, 0x84, 0xae, 0xa0, 0xb2, 0xbc, 0xe6, 0xe8, 0xfa, 0xf4, 0xde, 0xd0, 0xc2, 0xcc,
+ 0x41, 0x4f, 0x5d, 0x53, 0x79, 0x77, 0x65, 0x6b, 0x31, 0x3f, 0x2d, 0x23, 0x09, 0x07, 0x15, 0x1b,
+ 0xa1, 0xaf, 0xbd, 0xb3, 0x99, 0x97, 0x85, 0x8b, 0xd1, 0xdf, 0xcd, 0xc3, 0xe9, 0xe7, 0xf5, 0xfb,
+ 0x9a, 0x94, 0x86, 0x88, 0xa2, 0xac, 0xbe, 0xb0, 0xea, 0xe4, 0xf6, 0xf8, 0xd2, 0xdc, 0xce, 0xc0,
+ 0x7a, 0x74, 0x66, 0x68, 0x42, 0x4c, 0x5e, 0x50, 0x0a, 0x04, 0x16, 0x18, 0x32, 0x3c, 0x2e, 0x20,
+ 0xec, 0xe2, 0xf0, 0xfe, 0xd4, 0xda, 0xc8, 0xc6, 0x9c, 0x92, 0x80, 0x8e, 0xa4, 0xaa, 0xb8, 0xb6,
+ 0x0c, 0x02, 0x10, 0x1e, 0x34, 0x3a, 0x28, 0x26, 0x7c, 0x72, 0x60, 0x6e, 0x44, 0x4a, 0x58, 0x56,
+ 0x37, 0x39, 0x2b, 0x25, 0x0f, 0x01, 0x13, 0x1d, 0x47, 0x49, 0x5b, 0x55, 0x7f, 0x71, 0x63, 0x6d,
+ 0xd7, 0xd9, 0xcb, 0xc5, 0xef, 0xe1, 0xf3, 0xfd, 0xa7, 0xa9, 0xbb, 0xb5, 0x9f, 0x91, 0x83, 0x8d,
+},
+{ // gmult(0x09, b);
+ 0x00, 0x09, 0x12, 0x1b, 0x24, 0x2d, 0x36, 0x3f, 0x48, 0x41, 0x5a, 0x53, 0x6c, 0x65, 0x7e, 0x77,
+ 0x90, 0x99, 0x82, 0x8b, 0xb4, 0xbd, 0xa6, 0xaf, 0xd8, 0xd1, 0xca, 0xc3, 0xfc, 0xf5, 0xee, 0xe7,
+ 0x3b, 0x32, 0x29, 0x20, 0x1f, 0x16, 0x0d, 0x04, 0x73, 0x7a, 0x61, 0x68, 0x57, 0x5e, 0x45, 0x4c,
+ 0xab, 0xa2, 0xb9, 0xb0, 0x8f, 0x86, 0x9d, 0x94, 0xe3, 0xea, 0xf1, 0xf8, 0xc7, 0xce, 0xd5, 0xdc,
+ 0x76, 0x7f, 0x64, 0x6d, 0x52, 0x5b, 0x40, 0x49, 0x3e, 0x37, 0x2c, 0x25, 0x1a, 0x13, 0x08, 0x01,
+ 0xe6, 0xef, 0xf4, 0xfd, 0xc2, 0xcb, 0xd0, 0xd9, 0xae, 0xa7, 0xbc, 0xb5, 0x8a, 0x83, 0x98, 0x91,
+ 0x4d, 0x44, 0x5f, 0x56, 0x69, 0x60, 0x7b, 0x72, 0x05, 0x0c, 0x17, 0x1e, 0x21, 0x28, 0x33, 0x3a,
+ 0xdd, 0xd4, 0xcf, 0xc6, 0xf9, 0xf0, 0xeb, 0xe2, 0x95, 0x9c, 0x87, 0x8e, 0xb1, 0xb8, 0xa3, 0xaa,
+ 0xec, 0xe5, 0xfe, 0xf7, 0xc8, 0xc1, 0xda, 0xd3, 0xa4, 0xad, 0xb6, 0xbf, 0x80, 0x89, 0x92, 0x9b,
+ 0x7c, 0x75, 0x6e, 0x67, 0x58, 0x51, 0x4a, 0x43, 0x34, 0x3d, 0x26, 0x2f, 0x10, 0x19, 0x02, 0x0b,
+ 0xd7, 0xde, 0xc5, 0xcc, 0xf3, 0xfa, 0xe1, 0xe8, 0x9f, 0x96, 0x8d, 0x84, 0xbb, 0xb2, 0xa9, 0xa0,
+ 0x47, 0x4e, 0x55, 0x5c, 0x63, 0x6a, 0x71, 0x78, 0x0f, 0x06, 0x1d, 0x14, 0x2b, 0x22, 0x39, 0x30,
+ 0x9a, 0x93, 0x88, 0x81, 0xbe, 0xb7, 0xac, 0xa5, 0xd2, 0xdb, 0xc0, 0xc9, 0xf6, 0xff, 0xe4, 0xed,
+ 0x0a, 0x03, 0x18, 0x11, 0x2e, 0x27, 0x3c, 0x35, 0x42, 0x4b, 0x50, 0x59, 0x66, 0x6f, 0x74, 0x7d,
+ 0xa1, 0xa8, 0xb3, 0xba, 0x85, 0x8c, 0x97, 0x9e, 0xe9, 0xe0, 0xfb, 0xf2, 0xcd, 0xc4, 0xdf, 0xd6,
+ 0x31, 0x38, 0x23, 0x2a, 0x15, 0x1c, 0x07, 0x0e, 0x79, 0x70, 0x6b, 0x62, 0x5d, 0x54, 0x4f, 0x46,
+
+},
+{ // gmult(0x0d, b);
+ 0x00, 0x0d, 0x1a, 0x17, 0x34, 0x39, 0x2e, 0x23, 0x68, 0x65, 0x72, 0x7f, 0x5c, 0x51, 0x46, 0x4b,
+ 0xd0, 0xdd, 0xca, 0xc7, 0xe4, 0xe9, 0xfe, 0xf3, 0xb8, 0xb5, 0xa2, 0xaf, 0x8c, 0x81, 0x96, 0x9b,
+ 0xbb, 0xb6, 0xa1, 0xac, 0x8f, 0x82, 0x95, 0x98, 0xd3, 0xde, 0xc9, 0xc4, 0xe7, 0xea, 0xfd, 0xf0,
+ 0x6b, 0x66, 0x71, 0x7c, 0x5f, 0x52, 0x45, 0x48, 0x03, 0x0e, 0x19, 0x14, 0x37, 0x3a, 0x2d, 0x20,
+ 0x6d, 0x60, 0x77, 0x7a, 0x59, 0x54, 0x43, 0x4e, 0x05, 0x08, 0x1f, 0x12, 0x31, 0x3c, 0x2b, 0x26,
+ 0xbd, 0xb0, 0xa7, 0xaa, 0x89, 0x84, 0x93, 0x9e, 0xd5, 0xd8, 0xcf, 0xc2, 0xe1, 0xec, 0xfb, 0xf6,
+ 0xd6, 0xdb, 0xcc, 0xc1, 0xe2, 0xef, 0xf8, 0xf5, 0xbe, 0xb3, 0xa4, 0xa9, 0x8a, 0x87, 0x90, 0x9d,
+ 0x06, 0x0b, 0x1c, 0x11, 0x32, 0x3f, 0x28, 0x25, 0x6e, 0x63, 0x74, 0x79, 0x5a, 0x57, 0x40, 0x4d,
+ 0xda, 0xd7, 0xc0, 0xcd, 0xee, 0xe3, 0xf4, 0xf9, 0xb2, 0xbf, 0xa8, 0xa5, 0x86, 0x8b, 0x9c, 0x91,
+ 0x0a, 0x07, 0x10, 0x1d, 0x3e, 0x33, 0x24, 0x29, 0x62, 0x6f, 0x78, 0x75, 0x56, 0x5b, 0x4c, 0x41,
+ 0x61, 0x6c, 0x7b, 0x76, 0x55, 0x58, 0x4f, 0x42, 0x09, 0x04, 0x13, 0x1e, 0x3d, 0x30, 0x27, 0x2a,
+ 0xb1, 0xbc, 0xab, 0xa6, 0x85, 0x88, 0x9f, 0x92, 0xd9, 0xd4, 0xc3, 0xce, 0xed, 0xe0, 0xf7, 0xfa,
+ 0xb7, 0xba, 0xad, 0xa0, 0x83, 0x8e, 0x99, 0x94, 0xdf, 0xd2, 0xc5, 0xc8, 0xeb, 0xe6, 0xf1, 0xfc,
+ 0x67, 0x6a, 0x7d, 0x70, 0x53, 0x5e, 0x49, 0x44, 0x0f, 0x02, 0x15, 0x18, 0x3b, 0x36, 0x21, 0x2c,
+ 0x0c, 0x01, 0x16, 0x1b, 0x38, 0x35, 0x22, 0x2f, 0x64, 0x69, 0x7e, 0x73, 0x50, 0x5d, 0x4a, 0x47,
+ 0xdc, 0xd1, 0xc6, 0xcb, 0xe8, 0xe5, 0xf2, 0xff, 0xb4, 0xb9, 0xae, 0xa3, 0x80, 0x8d, 0x9a, 0x97,
+},
+{ // gmult(0x0b, b);
+ 0x00, 0x0b, 0x16, 0x1d, 0x2c, 0x27, 0x3a, 0x31, 0x58, 0x53, 0x4e, 0x45, 0x74, 0x7f, 0x62, 0x69,
+ 0xb0, 0xbb, 0xa6, 0xad, 0x9c, 0x97, 0x8a, 0x81, 0xe8, 0xe3, 0xfe, 0xf5, 0xc4, 0xcf, 0xd2, 0xd9,
+ 0x7b, 0x70, 0x6d, 0x66, 0x57, 0x5c, 0x41, 0x4a, 0x23, 0x28, 0x35, 0x3e, 0x0f, 0x04, 0x19, 0x12,
+ 0xcb, 0xc0, 0xdd, 0xd6, 0xe7, 0xec, 0xf1, 0xfa, 0x93, 0x98, 0x85, 0x8e, 0xbf, 0xb4, 0xa9, 0xa2,
+ 0xf6, 0xfd, 0xe0, 0xeb, 0xda, 0xd1, 0xcc, 0xc7, 0xae, 0xa5, 0xb8, 0xb3, 0x82, 0x89, 0x94, 0x9f,
+ 0x46, 0x4d, 0x50, 0x5b, 0x6a, 0x61, 0x7c, 0x77, 0x1e, 0x15, 0x08, 0x03, 0x32, 0x39, 0x24, 0x2f,
+ 0x8d, 0x86, 0x9b, 0x90, 0xa1, 0xaa, 0xb7, 0xbc, 0xd5, 0xde, 0xc3, 0xc8, 0xf9, 0xf2, 0xef, 0xe4,
+ 0x3d, 0x36, 0x2b, 0x20, 0x11, 0x1a, 0x07, 0x0c, 0x65, 0x6e, 0x73, 0x78, 0x49, 0x42, 0x5f, 0x54,
+ 0xf7, 0xfc, 0xe1, 0xea, 0xdb, 0xd0, 0xcd, 0xc6, 0xaf, 0xa4, 0xb9, 0xb2, 0x83, 0x88, 0x95, 0x9e,
+ 0x47, 0x4c, 0x51, 0x5a, 0x6b, 0x60, 0x7d, 0x76, 0x1f, 0x14, 0x09, 0x02, 0x33, 0x38, 0x25, 0x2e,
+ 0x8c, 0x87, 0x9a, 0x91, 0xa0, 0xab, 0xb6, 0xbd, 0xd4, 0xdf, 0xc2, 0xc9, 0xf8, 0xf3, 0xee, 0xe5,
+ 0x3c, 0x37, 0x2a, 0x21, 0x10, 0x1b, 0x06, 0x0d, 0x64, 0x6f, 0x72, 0x79, 0x48, 0x43, 0x5e, 0x55,
+ 0x01, 0x0a, 0x17, 0x1c, 0x2d, 0x26, 0x3b, 0x30, 0x59, 0x52, 0x4f, 0x44, 0x75, 0x7e, 0x63, 0x68,
+ 0xb1, 0xba, 0xa7, 0xac, 0x9d, 0x96, 0x8b, 0x80, 0xe9, 0xe2, 0xff, 0xf4, 0xc5, 0xce, 0xd3, 0xd8,
+ 0x7a, 0x71, 0x6c, 0x67, 0x56, 0x5d, 0x40, 0x4b, 0x22, 0x29, 0x34, 0x3f, 0x0e, 0x05, 0x18, 0x13,
+ 0xca, 0xc1, 0xdc, 0xd7, 0xe6, 0xed, 0xf0, 0xfb, 0x92, 0x99, 0x84, 0x8f, 0xbe, 0xb5, 0xa8, 0xa3,
+}
+};
+
+/*
+ * S-box transformation table
+ */
+static uint8_t simde_x_aes_s_box[256] = {
+ // 0 1 2 3 4 5 6 7 8 9 a b c d e f
+ 0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, // 0
+ 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, // 1
+ 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, // 2
+ 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75, // 3
+ 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84, // 4
+ 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf, // 5
+ 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8, // 6
+ 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, // 7
+ 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73, // 8
+ 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb, // 9
+ 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, // a
+ 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08, // b
+ 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a, // c
+ 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e, // d
+ 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf, // e
+ 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16};// f
+
+/*
+ * Inverse S-box transformation table
+ */
+static uint8_t simde_x_aes_inv_s_box[256] = {
+ // 0 1 2 3 4 5 6 7 8 9 a b c d e f
+ 0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38, 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb, // 0
+ 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87, 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb, // 1
+ 0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d, 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e, // 2
+ 0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2, 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25, // 3
+ 0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16, 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92, // 4
+ 0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda, 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84, // 5
+ 0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a, 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06, // 6
+ 0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02, 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b, // 7
+ 0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea, 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73, // 8
+ 0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85, 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e, // 9
+ 0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89, 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b, // a
+ 0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20, 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4, // b
+ 0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31, 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f, // c
+ 0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d, 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef, // d
+ 0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0, 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61, // e
+ 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26, 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d};// f
+
+/*
+ * Multiplication of 4 byte words
+ * m(x) = x4+1
+
+SIMDE_FUNCTION_ATTRIBUTES
+void coef_mult(uint8_t *a, uint8_t *b, uint8_t *d) {
+
+ d[0] = gmult(a[0],b[0])^gmult(a[3],b[1])^gmult(a[2],b[2])^gmult(a[1],b[3]);
+ d[1] = gmult(a[1],b[0])^gmult(a[0],b[1])^gmult(a[3],b[2])^gmult(a[2],b[3]);
+ d[2] = gmult(a[2],b[0])^gmult(a[1],b[1])^gmult(a[0],b[2])^gmult(a[3],b[3]);
+ d[3] = gmult(a[3],b[0])^gmult(a[2],b[1])^gmult(a[1],b[2])^gmult(a[0],b[3]);
+}
+*/
+
+SIMDE_FUNCTION_ATTRIBUTES
+void simde_x_aes_coef_mult_lookup(int lookup_table_offset, uint8_t *b, uint8_t *d) {
+ int o = lookup_table_offset;
+
+ #define gmultl(o,b) simde_x_aes_gmult_lookup_table[o][b]
+ d[0] = gmultl(o+0,b[0])^gmultl(o+3,b[1])^gmultl(o+2,b[2])^gmultl(o+1,b[3]);
+ d[1] = gmultl(o+1,b[0])^gmultl(o+0,b[1])^gmultl(o+3,b[2])^gmultl(o+2,b[3]);
+ d[2] = gmultl(o+2,b[0])^gmultl(o+1,b[1])^gmultl(o+0,b[2])^gmultl(o+3,b[3]);
+ d[3] = gmultl(o+3,b[0])^gmultl(o+2,b[1])^gmultl(o+1,b[2])^gmultl(o+0,b[3]);
+ #undef gmultl
+}
+
+#endif
+
+HEDLEY_DIAGNOSTIC_POP
+
+#endif /* !defined(SIMDE_AES_H) */
diff --git a/external_libs/pgenlib/simde/simde-align.h b/external_libs/pgenlib/simde/simde-align.h
new file mode 100644
index 0000000..2cd49e7
--- /dev/null
+++ b/external_libs/pgenlib/simde/simde-align.h
@@ -0,0 +1,450 @@
+/* Alignment
+ * Created by Evan Nemerson
+ *
+ * To the extent possible under law, the authors have waived all
+ * copyright and related or neighboring rights to this code. For
+ * details, see the Creative Commons Zero 1.0 Universal license at
+ *
+ *
+ * SPDX-License-Identifier: CC0-1.0
+ *
+ **********************************************************************
+ *
+ * This is portability layer which should help iron out some
+ * differences across various compilers, as well as various versions of
+ * C and C++.
+ *
+ * It was originally developed for SIMD Everywhere
+ * (), but since its only
+ * dependency is Hedley (, also CC0)
+ * it can easily be used in other projects, so please feel free to do
+ * so.
+ *
+ * If you do use this in your project, please keep a link to SIMDe in
+ * your code to remind you where to report any bugs and/or check for
+ * updated versions.
+ *
+ * # API Overview
+ *
+ * The API has several parts, and most macros have a few variations.
+ * There are APIs for declaring aligned fields/variables, optimization
+ * hints, and run-time alignment checks.
+ *
+ * Briefly, macros ending with "_TO" take numeric values and are great
+ * when you know the value you would like to use. Macros ending with
+ * "_LIKE", on the other hand, accept a type and are used when you want
+ * to use the alignment of a type instead of hardcoding a value.
+ *
+ * Documentation for each section of the API is inline.
+ *
+ * True to form, MSVC is the main problem and imposes several
+ * limitations on the effectiveness of the APIs. Detailed descriptions
+ * of the limitations of each macro are inline, but in general:
+ *
+ * * On C11+ or C++11+ code written using this API will work. The
+ * ASSUME macros may or may not generate a hint to the compiler, but
+ * that is only an optimization issue and will not actually cause
+ * failures.
+ * * If you're using pretty much any compiler other than MSVC,
+ * everything should basically work as well as in C11/C++11.
+ */
+
+#if !defined(SIMDE_ALIGN_H)
+#define SIMDE_ALIGN_H
+
+#include "hedley.h"
+
+/* I know this seems a little silly, but some non-hosted compilers
+ * don't have stddef.h, so we try to accommodate them. */
+#if !defined(SIMDE_ALIGN_SIZE_T_)
+ #if defined(__SIZE_TYPE__)
+ #define SIMDE_ALIGN_SIZE_T_ __SIZE_TYPE__
+ #elif defined(__SIZE_T_TYPE__)
+ #define SIMDE_ALIGN_SIZE_T_ __SIZE_TYPE__
+ #elif defined(__cplusplus)
+ #include
+ #define SIMDE_ALIGN_SIZE_T_ size_t
+ #else
+ #include
+ #define SIMDE_ALIGN_SIZE_T_ size_t
+ #endif
+#endif
+
+#if !defined(SIMDE_ALIGN_INTPTR_T_)
+ #if defined(__INTPTR_TYPE__)
+ #define SIMDE_ALIGN_INTPTR_T_ __INTPTR_TYPE__
+ #elif defined(__PTRDIFF_TYPE__)
+ #define SIMDE_ALIGN_INTPTR_T_ __PTRDIFF_TYPE__
+ #elif defined(__PTRDIFF_T_TYPE__)
+ #define SIMDE_ALIGN_INTPTR_T_ __PTRDIFF_T_TYPE__
+ #elif defined(__cplusplus)
+ #include
+ #define SIMDE_ALIGN_INTPTR_T_ ptrdiff_t
+ #else
+ #include
+ #define SIMDE_ALIGN_INTPTR_T_ ptrdiff_t
+ #endif
+#endif
+
+#if defined(SIMDE_ALIGN_DEBUG)
+ #if defined(__cplusplus)
+ #include
+ #else
+ #include
+ #endif
+#endif
+
+/* SIMDE_ALIGN_OF(Type)
+ *
+ * The SIMDE_ALIGN_OF macro works like alignof, or _Alignof, or
+ * __alignof, or __alignof__, or __ALIGNOF__, depending on the compiler.
+ * It isn't defined everywhere (only when the compiler has some alignof-
+ * like feature we can use to implement it), but it should work in most
+ * modern compilers, as well as C11 and C++11.
+ *
+ * If we can't find an implementation for SIMDE_ALIGN_OF then the macro
+ * will not be defined, so if you can handle that situation sensibly
+ * you may need to sprinkle some ifdefs into your code.
+ */
+#if \
+ (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L)) || \
+ (0 && HEDLEY_HAS_FEATURE(c_alignof))
+ #define SIMDE_ALIGN_OF(Type) _Alignof(Type)
+#elif \
+ (defined(__cplusplus) && (__cplusplus >= 201103L)) || \
+ (0 && HEDLEY_HAS_FEATURE(cxx_alignof))
+ #define SIMDE_ALIGN_OF(Type) alignof(Type)
+#elif \
+ HEDLEY_GCC_VERSION_CHECK(2,95,0) || \
+ HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
+ HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+ HEDLEY_SUNPRO_VERSION_CHECK(5,13,0) || \
+ HEDLEY_TINYC_VERSION_CHECK(0,9,24) || \
+ HEDLEY_PGI_VERSION_CHECK(19,10,0) || \
+ HEDLEY_CRAY_VERSION_CHECK(10,0,0) || \
+ HEDLEY_TI_ARMCL_VERSION_CHECK(16,9,0) || \
+ HEDLEY_TI_CL2000_VERSION_CHECK(16,9,0) || \
+ HEDLEY_TI_CL6X_VERSION_CHECK(8,0,0) || \
+ HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
+ HEDLEY_TI_CL430_VERSION_CHECK(16,9,0) || \
+ HEDLEY_TI_CLPRU_VERSION_CHECK(2,3,2) || \
+ HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) || \
+ defined(__IBM__ALIGNOF__) || \
+ defined(__clang__)
+ #define SIMDE_ALIGN_OF(Type) __alignof__(Type)
+#elif \
+ HEDLEY_IAR_VERSION_CHECK(8,40,0)
+ #define SIMDE_ALIGN_OF(Type) __ALIGNOF__(Type)
+#elif \
+ HEDLEY_MSVC_VERSION_CHECK(19,0,0)
+ /* Probably goes back much further, but MS takes down their old docs.
+ * If you can verify that this works in earlier versions please let
+ * me know! */
+ #define SIMDE_ALIGN_OF(Type) __alignof(Type)
+#endif
+
+/* SIMDE_ALIGN_MAXIMUM:
+ *
+ * This is the maximum alignment that the compiler supports. You can
+ * define the value prior to including SIMDe if necessary, but in that
+ * case *please* submit an issue so we can add the platform to the
+ * detection code.
+ *
+ * Most compilers are okay with types which are aligned beyond what
+ * they think is the maximum, as long as the alignment is a power
+ * of two. Older versions of MSVC is the exception, so we need to cap
+ * the alignment requests at values that the implementation supports.
+ *
+ * XL C/C++ will accept values larger than 16 (which is the alignment
+ * of an AltiVec vector), but will not reliably align to the larger
+ * value, so so we cap the value at 16 there.
+ *
+ * If the compiler accepts any power-of-two value within reason then
+ * this macro should be left undefined, and the SIMDE_ALIGN_CAP
+ * macro will just return the value passed to it. */
+#if !defined(SIMDE_ALIGN_MAXIMUM)
+ #if defined(HEDLEY_MSVC_VERSION)
+ #if HEDLEY_MSVC_VERSION_CHECK(19, 16, 0)
+ // Visual studio 2017 and newer does not need a max
+ #else
+ #if defined(_M_IX86) || defined(_M_AMD64)
+ #if HEDLEY_MSVC_VERSION_CHECK(19,14,0)
+ #define SIMDE_ALIGN_PLATFORM_MAXIMUM 64
+ #elif HEDLEY_MSVC_VERSION_CHECK(16,0,0)
+ /* VS 2010 is really a guess based on Wikipedia; if anyone can
+ * test with old VS versions I'd really appreciate it. */
+ #define SIMDE_ALIGN_PLATFORM_MAXIMUM 32
+ #else
+ #define SIMDE_ALIGN_PLATFORM_MAXIMUM 16
+ #endif
+ #elif defined(_M_ARM) || defined(_M_ARM64)
+ #define SIMDE_ALIGN_PLATFORM_MAXIMUM 8
+ #endif
+ #endif
+ #elif defined(HEDLEY_IBM_VERSION)
+ #define SIMDE_ALIGN_PLATFORM_MAXIMUM 16
+ #endif
+#endif
+
+/* You can mostly ignore these; they're intended for internal use.
+ * If you do need to use them please let me know; if they fulfill
+ * a common use case I'll probably drop the trailing underscore
+ * and make them part of the public API. */
+#if defined(SIMDE_ALIGN_PLATFORM_MAXIMUM)
+ #if SIMDE_ALIGN_PLATFORM_MAXIMUM >= 64
+ #define SIMDE_ALIGN_64_ 64
+ #define SIMDE_ALIGN_32_ 32
+ #define SIMDE_ALIGN_16_ 16
+ #define SIMDE_ALIGN_8_ 8
+ #elif SIMDE_ALIGN_PLATFORM_MAXIMUM >= 32
+ #define SIMDE_ALIGN_64_ 32
+ #define SIMDE_ALIGN_32_ 32
+ #define SIMDE_ALIGN_16_ 16
+ #define SIMDE_ALIGN_8_ 8
+ #elif SIMDE_ALIGN_PLATFORM_MAXIMUM >= 16
+ #define SIMDE_ALIGN_64_ 16
+ #define SIMDE_ALIGN_32_ 16
+ #define SIMDE_ALIGN_16_ 16
+ #define SIMDE_ALIGN_8_ 8
+ #elif SIMDE_ALIGN_PLATFORM_MAXIMUM >= 8
+ #define SIMDE_ALIGN_64_ 8
+ #define SIMDE_ALIGN_32_ 8
+ #define SIMDE_ALIGN_16_ 8
+ #define SIMDE_ALIGN_8_ 8
+ #else
+ #error Max alignment expected to be >= 8
+ #endif
+#else
+ #define SIMDE_ALIGN_64_ 64
+ #define SIMDE_ALIGN_32_ 32
+ #define SIMDE_ALIGN_16_ 16
+ #define SIMDE_ALIGN_8_ 8
+#endif
+
+/**
+ * SIMDE_ALIGN_CAP(Alignment)
+ *
+ * Returns the minimum of Alignment or SIMDE_ALIGN_MAXIMUM.
+ */
+#if defined(SIMDE_ALIGN_MAXIMUM)
+ #define SIMDE_ALIGN_CAP(Alignment) (((Alignment) < (SIMDE_ALIGN_PLATFORM_MAXIMUM)) ? (Alignment) : (SIMDE_ALIGN_PLATFORM_MAXIMUM))
+#else
+ #define SIMDE_ALIGN_CAP(Alignment) (Alignment)
+#endif
+
+/* SIMDE_ALIGN_TO(Alignment)
+ *
+ * SIMDE_ALIGN_TO is used to declare types or variables. It basically
+ * maps to the align attribute in most compilers, the align declspec
+ * in MSVC, or _Alignas/alignas in C11/C++11.
+ *
+ * Example:
+ *
+ * struct i32x4 {
+ * SIMDE_ALIGN_TO(16) int32_t values[4];
+ * }
+ *
+ * Limitations:
+ *
+ * MSVC requires that the Alignment parameter be numeric; you can't do
+ * something like `SIMDE_ALIGN_TO(SIMDE_ALIGN_OF(int))`. This is
+ * unfortunate because that's really how the LIKE macros are
+ * implemented, and I am not aware of a way to get anything like this
+ * to work without using the C11/C++11 keywords.
+ *
+ * It also means that we can't use SIMDE_ALIGN_CAP to limit the
+ * alignment to the value specified, which MSVC also requires, so on
+ * MSVC you should use the `SIMDE_ALIGN_TO_8/16/32/64` macros instead.
+ * They work like `SIMDE_ALIGN_TO(SIMDE_ALIGN_CAP(Alignment))` would,
+ * but should be safe to use on MSVC.
+ *
+ * All this is to say that, if you want your code to work on MSVC, you
+ * should use the SIMDE_ALIGN_TO_8/16/32/64 macros below instead of
+ * SIMDE_ALIGN_TO(8/16/32/64).
+ */
+#if \
+ HEDLEY_HAS_ATTRIBUTE(aligned) || \
+ HEDLEY_GCC_VERSION_CHECK(2,95,0) || \
+ HEDLEY_CRAY_VERSION_CHECK(8,4,0) || \
+ HEDLEY_IBM_VERSION_CHECK(11,1,0) || \
+ HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+ HEDLEY_PGI_VERSION_CHECK(19,4,0) || \
+ HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
+ HEDLEY_TINYC_VERSION_CHECK(0,9,24) || \
+ HEDLEY_TI_ARMCL_VERSION_CHECK(16,9,0) || \
+ HEDLEY_TI_CL2000_VERSION_CHECK(16,9,0) || \
+ HEDLEY_TI_CL6X_VERSION_CHECK(8,0,0) || \
+ HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
+ HEDLEY_TI_CL430_VERSION_CHECK(16,9,0) || \
+ HEDLEY_TI_CLPRU_VERSION_CHECK(2,3,2)
+ #define SIMDE_ALIGN_TO(Alignment) __attribute__((__aligned__(SIMDE_ALIGN_CAP(Alignment))))
+#elif \
+ (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L))
+ #define SIMDE_ALIGN_TO(Alignment) _Alignas(SIMDE_ALIGN_CAP(Alignment))
+#elif \
+ (defined(__cplusplus) && (__cplusplus >= 201103L))
+ #define SIMDE_ALIGN_TO(Alignment) alignas(SIMDE_ALIGN_CAP(Alignment))
+#elif \
+ defined(HEDLEY_MSVC_VERSION)
+ #define SIMDE_ALIGN_TO(Alignment) __declspec(align(Alignment))
+ /* Unfortunately MSVC can't handle __declspec(align(__alignof(Type)));
+ * the alignment passed to the declspec has to be an integer. */
+ #define SIMDE_ALIGN_OF_UNUSABLE_FOR_LIKE
+#endif
+#define SIMDE_ALIGN_TO_64 SIMDE_ALIGN_TO(SIMDE_ALIGN_64_)
+#define SIMDE_ALIGN_TO_32 SIMDE_ALIGN_TO(SIMDE_ALIGN_32_)
+#define SIMDE_ALIGN_TO_16 SIMDE_ALIGN_TO(SIMDE_ALIGN_16_)
+#define SIMDE_ALIGN_TO_8 SIMDE_ALIGN_TO(SIMDE_ALIGN_8_)
+
+/* SIMDE_ALIGN_ASSUME_TO(Pointer, Alignment)
+ *
+ * SIMDE_ALIGN_ASSUME_TO is semantically similar to C++20's
+ * std::assume_aligned, or __builtin_assume_aligned. It tells the
+ * compiler to assume that the provided pointer is aligned to an
+ * `Alignment`-byte boundary.
+ *
+ * If you define SIMDE_ALIGN_DEBUG prior to including this header then
+ * SIMDE_ALIGN_ASSUME_TO will turn into a runtime check. We don't
+ * integrate with NDEBUG in this header, but it may be a good idea to
+ * put something like this in your code:
+ *
+ * #if !defined(NDEBUG)
+ * #define SIMDE_ALIGN_DEBUG
+ * #endif
+ * #include <.../simde-align.h>
+ */
+#if \
+ HEDLEY_HAS_BUILTIN(__builtin_assume_aligned) || \
+ HEDLEY_GCC_VERSION_CHECK(4,7,0)
+ #define SIMDE_ALIGN_ASSUME_TO_UNCHECKED(Pointer, Alignment) \
+ HEDLEY_REINTERPRET_CAST(__typeof__(Pointer), __builtin_assume_aligned(HEDLEY_CONST_CAST(void*, HEDLEY_REINTERPRET_CAST(const void*, Pointer)), Alignment))
+#elif HEDLEY_INTEL_VERSION_CHECK(13,0,0)
+ #define SIMDE_ALIGN_ASSUME_TO_UNCHECKED(Pointer, Alignment) (__extension__ ({ \
+ __typeof__(v) simde_assume_aligned_t_ = (Pointer); \
+ __assume_aligned(simde_assume_aligned_t_, Alignment); \
+ simde_assume_aligned_t_; \
+ }))
+#elif defined(__cplusplus) && (__cplusplus > 201703L)
+ #include
+ #define SIMDE_ALIGN_ASSUME_TO_UNCHECKED(Pointer, Alignment) std::assume_aligned(Pointer)
+#else
+ #if defined(__cplusplus)
+ template HEDLEY_ALWAYS_INLINE static T* simde_align_assume_to_unchecked(T* ptr, const size_t alignment)
+ #else
+ HEDLEY_ALWAYS_INLINE static void* simde_align_assume_to_unchecked(void* ptr, const size_t alignment)
+ #endif
+ {
+ HEDLEY_ASSUME((HEDLEY_REINTERPRET_CAST(size_t, (ptr)) % SIMDE_ALIGN_CAP(alignment)) == 0);
+ return ptr;
+ }
+ #if defined(__cplusplus)
+ #define SIMDE_ALIGN_ASSUME_TO_UNCHECKED(Pointer, Alignment) simde_align_assume_to_unchecked((Pointer), (Alignment))
+ #else
+ #define SIMDE_ALIGN_ASSUME_TO_UNCHECKED(Pointer, Alignment) simde_align_assume_to_unchecked(HEDLEY_CONST_CAST(void*, HEDLEY_REINTERPRET_CAST(const void*, Pointer)), (Alignment))
+ #endif
+#endif
+
+#if !defined(SIMDE_ALIGN_DEBUG)
+ #define SIMDE_ALIGN_ASSUME_TO(Pointer, Alignment) SIMDE_ALIGN_ASSUME_TO_UNCHECKED(Pointer, Alignment)
+#else
+ #include
+ #if defined(__cplusplus)
+ template
+ static HEDLEY_ALWAYS_INLINE
+ T*
+ simde_align_assume_to_checked_uncapped(T* ptr, const size_t alignment, const char* file, int line, const char* ptrname)
+ #else
+ static HEDLEY_ALWAYS_INLINE
+ void*
+ simde_align_assume_to_checked_uncapped(void* ptr, const size_t alignment, const char* file, int line, const char* ptrname)
+ #endif
+ {
+ if (HEDLEY_UNLIKELY((HEDLEY_REINTERPRET_CAST(SIMDE_ALIGN_INTPTR_T_, (ptr)) % HEDLEY_STATIC_CAST(SIMDE_ALIGN_INTPTR_T_, SIMDE_ALIGN_CAP(alignment))) != 0)) {
+ fprintf(stderr, "%s:%d: alignment check failed for `%s' (%p %% %u == %u)\n",
+ file, line, ptrname, HEDLEY_REINTERPRET_CAST(const void*, ptr),
+ HEDLEY_STATIC_CAST(unsigned int, SIMDE_ALIGN_CAP(alignment)),
+ HEDLEY_STATIC_CAST(unsigned int, HEDLEY_REINTERPRET_CAST(SIMDE_ALIGN_INTPTR_T_, (ptr)) % HEDLEY_STATIC_CAST(SIMDE_ALIGN_INTPTR_T_, SIMDE_ALIGN_CAP(alignment))));
+ }
+
+ return ptr;
+ }
+
+ #if defined(__cplusplus)
+ #define SIMDE_ALIGN_ASSUME_TO(Pointer, Alignment) simde_align_assume_to_checked_uncapped((Pointer), (Alignment), __FILE__, __LINE__, #Pointer)
+ #else
+ #define SIMDE_ALIGN_ASSUME_TO(Pointer, Alignment) simde_align_assume_to_checked_uncapped(HEDLEY_CONST_CAST(void*, HEDLEY_REINTERPRET_CAST(const void*, Pointer)), (Alignment), __FILE__, __LINE__, #Pointer)
+ #endif
+#endif
+
+/* SIMDE_ALIGN_LIKE(Type)
+ * SIMDE_ALIGN_LIKE_#(Type)
+ *
+ * The SIMDE_ALIGN_LIKE macros are similar to the SIMDE_ALIGN_TO macros
+ * except instead of an integer they take a type; basically, it's just
+ * a more convenient way to do something like:
+ *
+ * SIMDE_ALIGN_TO(SIMDE_ALIGN_OF(Type))
+ *
+ * The versions with a numeric suffix will fall back on using a numeric
+ * value in the event we can't use SIMDE_ALIGN_OF(Type). This is
+ * mainly for MSVC, where __declspec(align()) can't handle anything
+ * other than hard-coded numeric values.
+ */
+#if defined(SIMDE_ALIGN_OF) && defined(SIMDE_ALIGN_TO) && !defined(SIMDE_ALIGN_OF_UNUSABLE_FOR_LIKE)
+ #define SIMDE_ALIGN_LIKE(Type) SIMDE_ALIGN_TO(SIMDE_ALIGN_OF(Type))
+ #define SIMDE_ALIGN_LIKE_64(Type) SIMDE_ALIGN_LIKE(Type)
+ #define SIMDE_ALIGN_LIKE_32(Type) SIMDE_ALIGN_LIKE(Type)
+ #define SIMDE_ALIGN_LIKE_16(Type) SIMDE_ALIGN_LIKE(Type)
+ #define SIMDE_ALIGN_LIKE_8(Type) SIMDE_ALIGN_LIKE(Type)
+#else
+ #define SIMDE_ALIGN_LIKE_64(Type) SIMDE_ALIGN_TO_64
+ #define SIMDE_ALIGN_LIKE_32(Type) SIMDE_ALIGN_TO_32
+ #define SIMDE_ALIGN_LIKE_16(Type) SIMDE_ALIGN_TO_16
+ #define SIMDE_ALIGN_LIKE_8(Type) SIMDE_ALIGN_TO_8
+#endif
+
+/* SIMDE_ALIGN_ASSUME_LIKE(Pointer, Type)
+ *
+ * This is similar to SIMDE_ALIGN_ASSUME_TO, except that it takes a
+ * type instead of a numeric value. */
+#if defined(SIMDE_ALIGN_OF) && defined(SIMDE_ALIGN_ASSUME_TO)
+ #define SIMDE_ALIGN_ASSUME_LIKE(Pointer, Type) SIMDE_ALIGN_ASSUME_TO(Pointer, SIMDE_ALIGN_OF(Type))
+#endif
+
+/* SIMDE_ALIGN_CAST(Type, Pointer)
+ *
+ * SIMDE_ALIGN_CAST is like C++'s reinterpret_cast, but it will try
+ * to silence warnings that some compilers may produce if you try
+ * to assign to a type with increased alignment requirements.
+ *
+ * Note that it does *not* actually attempt to tell the compiler that
+ * the pointer is aligned like the destination should be; that's the
+ * job of the next macro. This macro is necessary for stupid APIs
+ * like _mm_loadu_si128 where the input is a __m128i* but the function
+ * is specifically for data which isn't necessarily aligned to
+ * _Alignof(__m128i).
+ */
+#if HEDLEY_HAS_WARNING("-Wcast-align") || defined(__clang__) || HEDLEY_GCC_VERSION_CHECK(3,4,0)
+ #define SIMDE_ALIGN_CAST(Type, Pointer) (__extension__({ \
+ HEDLEY_DIAGNOSTIC_PUSH \
+ _Pragma("GCC diagnostic ignored \"-Wcast-align\"") \
+ Type simde_r_ = HEDLEY_REINTERPRET_CAST(Type, Pointer); \
+ HEDLEY_DIAGNOSTIC_POP \
+ simde_r_; \
+ }))
+#else
+ #define SIMDE_ALIGN_CAST(Type, Pointer) HEDLEY_REINTERPRET_CAST(Type, Pointer)
+#endif
+
+/* SIMDE_ALIGN_ASSUME_CAST(Type, Pointer)
+ *
+ * This is sort of like a combination of a reinterpret_cast and a
+ * SIMDE_ALIGN_ASSUME_LIKE. It uses SIMDE_ALIGN_ASSUME_LIKE to tell
+ * the compiler that the pointer is aligned like the specified type
+ * and casts the pointer to the specified type while suppressing any
+ * warnings from the compiler about casting to a type with greater
+ * alignment requirements.
+ */
+#define SIMDE_ALIGN_ASSUME_CAST(Type, Pointer) SIMDE_ALIGN_ASSUME_LIKE(SIMDE_ALIGN_CAST(Type, Pointer), Type)
+
+#endif /* !defined(SIMDE_ALIGN_H) */
diff --git a/external_libs/pgenlib/simde/simde-arch.h b/external_libs/pgenlib/simde/simde-arch.h
new file mode 100644
index 0000000..306974c
--- /dev/null
+++ b/external_libs/pgenlib/simde/simde-arch.h
@@ -0,0 +1,687 @@
+/* Architecture detection
+ * Created by Evan Nemerson
+ *
+ * To the extent possible under law, the authors have waived all
+ * copyright and related or neighboring rights to this code. For
+ * details, see the Creative Commons Zero 1.0 Universal license at
+ *
+ *
+ * SPDX-License-Identifier: CC0-1.0
+ *
+ * Different compilers define different preprocessor macros for the
+ * same architecture. This is an attempt to provide a single
+ * interface which is usable on any compiler.
+ *
+ * In general, a macro named SIMDE_ARCH_* is defined for each
+ * architecture the CPU supports. When there are multiple possible
+ * versions, we try to define the macro to the target version. For
+ * example, if you want to check for i586+, you could do something
+ * like:
+ *
+ * #if defined(SIMDE_ARCH_X86) && (SIMDE_ARCH_X86 >= 5)
+ * ...
+ * #endif
+ *
+ * You could also just check that SIMDE_ARCH_X86 >= 5 without checking
+ * if it's defined first, but some compilers may emit a warning about
+ * an undefined macro being used (e.g., GCC with -Wundef).
+ *
+ * This was originally created for SIMDe
+ * (hence the prefix), but this
+ * header has no dependencies and may be used anywhere. It is
+ * originally based on information from
+ * , though it
+ * has been enhanced with additional information.
+ *
+ * If you improve this file, or find a bug, please file the issue at
+ * . If you copy this into
+ * your project, even if you change the prefix, please keep the links
+ * to SIMDe intact so others know where to report issues, submit
+ * enhancements, and find the latest version. */
+
+#if !defined(SIMDE_ARCH_H)
+#define SIMDE_ARCH_H
+
+#include "hedley.h"
+
+/* Alpha
+ */
+#if defined(__alpha__) || defined(__alpha) || defined(_M_ALPHA)
+# if defined(__alpha_ev6__)
+# define SIMDE_ARCH_ALPHA 6
+# elif defined(__alpha_ev5__)
+# define SIMDE_ARCH_ALPHA 5
+# elif defined(__alpha_ev4__)
+# define SIMDE_ARCH_ALPHA 4
+# else
+# define SIMDE_ARCH_ALPHA 1
+# endif
+#endif
+#if defined(SIMDE_ARCH_ALPHA)
+# define SIMDE_ARCH_ALPHA_CHECK(version) ((version) <= SIMDE_ARCH_ALPHA)
+#else
+# define SIMDE_ARCH_ALPHA_CHECK(version) (0)
+#endif
+
+/* Atmel AVR
+ */
+#if defined(__AVR_ARCH__)
+# define SIMDE_ARCH_AVR __AVR_ARCH__
+#endif
+
+/* AMD64 / x86_64
+ */
+#if defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__x86_64) || defined(_M_X64) || defined(_M_AMD64)
+# if !defined(_M_ARM64EC)
+# define SIMDE_ARCH_AMD64 1000
+# endif
+#endif
+
+/* ARM
+ */
+#if defined(__ARM_ARCH)
+# if __ARM_ARCH > 100
+# define SIMDE_ARCH_ARM (__ARM_ARCH)
+# else
+# define SIMDE_ARCH_ARM (__ARM_ARCH * 100)
+# endif
+#elif defined(_M_ARM)
+# if _M_ARM > 100
+# define SIMDE_ARCH_ARM (_M_ARM)
+# else
+# define SIMDE_ARCH_ARM (_M_ARM * 100)
+# endif
+#elif defined(_M_ARM64) || defined(_M_ARM64EC)
+# define SIMDE_ARCH_ARM 800
+#elif defined(__arm__) || defined(__thumb__) || defined(__TARGET_ARCH_ARM) || defined(_ARM) || defined(_M_ARM) || defined(_M_ARM)
+# define SIMDE_ARCH_ARM 1
+#endif
+#if defined(SIMDE_ARCH_ARM)
+# define SIMDE_ARCH_ARM_CHECK(major, minor) (((major * 100) + (minor)) <= SIMDE_ARCH_ARM)
+#else
+# define SIMDE_ARCH_ARM_CHECK(major, minor) (0)
+#endif
+
+/* AArch64
+ */
+#if defined(__aarch64__) || defined(_M_ARM64) || defined(_M_ARM64EC)
+# define SIMDE_ARCH_AARCH64 1000
+#endif
+#if defined(SIMDE_ARCH_AARCH64)
+# define SIMDE_ARCH_AARCH64_CHECK(version) ((version) <= SIMDE_ARCH_AARCH64)
+#else
+# define SIMDE_ARCH_AARCH64_CHECK(version) (0)
+#endif
+
+/* ARM SIMD ISA extensions */
+#if defined(__ARM_NEON) || defined(SIMDE_ARCH_AARCH64)
+# if defined(SIMDE_ARCH_AARCH64)
+# define SIMDE_ARCH_ARM_NEON SIMDE_ARCH_AARCH64
+# elif defined(SIMDE_ARCH_ARM)
+# define SIMDE_ARCH_ARM_NEON SIMDE_ARCH_ARM
+# endif
+#endif
+#if defined(__ARM_FEATURE_AES) && __ARM_FEATURE_AES
+# define SIMDE_ARCH_ARM_AES
+#endif
+#if defined(__ARM_FEATURE_COMPLEX) && __ARM_FEATURE_COMPLEX
+# define SIMDE_ARCH_ARM_COMPLEX
+#endif
+#if defined(__ARM_FEATURE_CRYPTO) && __ARM_FEATURE_CRYPTO
+# define SIMDE_ARCH_ARM_CRYPTO
+#endif
+#if defined(__ARM_FEATURE_DOTPROD) && __ARM_FEATURE_DOTPROD
+# define SIMDE_ARCH_ARM_DOTPROD
+#endif
+#if defined(__ARM_FEATURE_FMA) && __ARM_FEATURE_FMA
+# define SIMDE_ARCH_ARM_FMA
+#endif
+#if defined(__ARM_FEATURE_FP16_FML) && __ARM_FEATURE_FP16_FML
+# define SIMDE_ARCH_ARM_FP16_FML
+#endif
+#if defined(__ARM_FEATURE_FRINT) && __ARM_FEATURE_FRINT
+# define SIMDE_ARCH_ARM_FRINT
+#endif
+#if defined(__ARM_FEATURE_MATMUL_INT8) && __ARM_FEATURE_MATMUL_INT8
+# define SIMDE_ARCH_ARM_MATMUL_INT8
+#endif
+#if defined(__ARM_FEATURE_SHA2) && __ARM_FEATURE_SHA2 && !defined(__APPLE_CC__)
+# define SIMDE_ARCH_ARM_SHA2
+#endif
+#if defined(__ARM_FEATURE_SHA3) && __ARM_FEATURE_SHA3
+# define SIMDE_ARCH_ARM_SHA3
+#endif
+#if defined(__ARM_FEATURE_SHA512) && __ARM_FEATURE_SHA512
+# define SIMDE_ARCH_ARM_SHA512
+#endif
+#if defined(__ARM_FEATURE_SM3) && __ARM_FEATURE_SM3
+# define SIMDE_ARCH_ARM_SM3
+#endif
+#if defined(__ARM_FEATURE_SM4) && __ARM_FEATURE_SM4
+# define SIMDE_ARCH_ARM_SM4
+#endif
+#if defined(__ARM_FEATURE_SVE) && __ARM_FEATURE_SVE
+# define SIMDE_ARCH_ARM_SVE
+#endif
+#if defined(__ARM_FEATURE_QRDMX) && __ARM_FEATURE_QRDMX
+# define SIMDE_ARCH_ARM_QRDMX
+#endif
+
+/* Blackfin
+ */
+#if defined(__bfin) || defined(__BFIN__) || defined(__bfin__)
+# define SIMDE_ARCH_BLACKFIN 1
+#endif
+
+/* CRIS
+ */
+#if defined(__CRIS_arch_version)
+# define SIMDE_ARCH_CRIS __CRIS_arch_version
+#elif defined(__cris__) || defined(__cris) || defined(__CRIS) || defined(__CRIS__)
+# define SIMDE_ARCH_CRIS 1
+#endif
+
+/* Convex
+ */
+#if defined(__convex_c38__)
+# define SIMDE_ARCH_CONVEX 38
+#elif defined(__convex_c34__)
+# define SIMDE_ARCH_CONVEX 34
+#elif defined(__convex_c32__)
+# define SIMDE_ARCH_CONVEX 32
+#elif defined(__convex_c2__)
+# define SIMDE_ARCH_CONVEX 2
+#elif defined(__convex__)
+# define SIMDE_ARCH_CONVEX 1
+#endif
+#if defined(SIMDE_ARCH_CONVEX)
+# define SIMDE_ARCH_CONVEX_CHECK(version) ((version) <= SIMDE_ARCH_CONVEX)
+#else
+# define SIMDE_ARCH_CONVEX_CHECK(version) (0)
+#endif
+
+/* Adapteva Epiphany
+ */
+#if defined(__epiphany__)
+# define SIMDE_ARCH_EPIPHANY 1
+#endif
+
+/* Fujitsu FR-V
+ */
+#if defined(__frv__)
+# define SIMDE_ARCH_FRV 1
+#endif
+
+/* H8/300
+ */
+#if defined(__H8300__)
+# define SIMDE_ARCH_H8300
+#endif
+
+/* Elbrus (8S, 8SV and successors)
+ */
+#if defined(__e2k__)
+# define SIMDE_ARCH_E2K
+#endif
+
+/* HP/PA / PA-RISC
+ */
+#if defined(__PA8000__) || defined(__HPPA20__) || defined(__RISC2_0__) || defined(_PA_RISC2_0)
+# define SIMDE_ARCH_HPPA 20
+#elif defined(__PA7100__) || defined(__HPPA11__) || defined(_PA_RISC1_1)
+# define SIMDE_ARCH_HPPA 11
+#elif defined(_PA_RISC1_0)
+# define SIMDE_ARCH_HPPA 10
+#elif defined(__hppa__) || defined(__HPPA__) || defined(__hppa)
+# define SIMDE_ARCH_HPPA 1
+#endif
+#if defined(SIMDE_ARCH_HPPA)
+# define SIMDE_ARCH_HPPA_CHECK(version) ((version) <= SIMDE_ARCH_HPPA)
+#else
+# define SIMDE_ARCH_HPPA_CHECK(version) (0)
+#endif
+
+/* x86
+ */
+#if defined(_M_IX86)
+# define SIMDE_ARCH_X86 (_M_IX86 / 100)
+#elif defined(__I86__)
+# define SIMDE_ARCH_X86 __I86__
+#elif defined(i686) || defined(__i686) || defined(__i686__)
+# define SIMDE_ARCH_X86 6
+#elif defined(i586) || defined(__i586) || defined(__i586__)
+# define SIMDE_ARCH_X86 5
+#elif defined(i486) || defined(__i486) || defined(__i486__)
+# define SIMDE_ARCH_X86 4
+#elif defined(i386) || defined(__i386) || defined(__i386__)
+# define SIMDE_ARCH_X86 3
+#elif defined(_X86_) || defined(__X86__) || defined(__THW_INTEL__)
+# define SIMDE_ARCH_X86 3
+#endif
+#if defined(SIMDE_ARCH_X86)
+# define SIMDE_ARCH_X86_CHECK(version) ((version) <= SIMDE_ARCH_X86)
+#else
+# define SIMDE_ARCH_X86_CHECK(version) (0)
+#endif
+
+/* SIMD ISA extensions for x86/x86_64 and Elbrus */
+#if defined(SIMDE_ARCH_X86) || defined(SIMDE_ARCH_AMD64) || defined(SIMDE_ARCH_E2K)
+# if defined(_M_IX86_FP)
+# define SIMDE_ARCH_X86_MMX
+# if (_M_IX86_FP >= 1)
+# define SIMDE_ARCH_X86_SSE 1
+# endif
+# if (_M_IX86_FP >= 2)
+# define SIMDE_ARCH_X86_SSE2 1
+# endif
+# elif defined(_M_X64)
+# define SIMDE_ARCH_X86_SSE 1
+# define SIMDE_ARCH_X86_SSE2 1
+# else
+# if defined(__MMX__)
+# define SIMDE_ARCH_X86_MMX 1
+# endif
+# if defined(__SSE__)
+# define SIMDE_ARCH_X86_SSE 1
+# endif
+# if defined(__SSE2__)
+# define SIMDE_ARCH_X86_SSE2 1
+# endif
+# endif
+# if defined(__SSE3__)
+# define SIMDE_ARCH_X86_SSE3 1
+# endif
+# if defined(__SSSE3__)
+# define SIMDE_ARCH_X86_SSSE3 1
+# endif
+# if defined(__SSE4_1__)
+# define SIMDE_ARCH_X86_SSE4_1 1
+# endif
+# if defined(__SSE4_2__)
+# define SIMDE_ARCH_X86_SSE4_2 1
+# endif
+# if defined(__XOP__)
+# define SIMDE_ARCH_X86_XOP 1
+# endif
+# if defined(__AVX__)
+# define SIMDE_ARCH_X86_AVX 1
+# if !defined(SIMDE_ARCH_X86_SSE3)
+# define SIMDE_ARCH_X86_SSE3 1
+# endif
+# if !defined(SIMDE_ARCH_X86_SSE4_1)
+# define SIMDE_ARCH_X86_SSE4_1 1
+# endif
+# if !defined(SIMDE_ARCH_X86_SSE4_2)
+# define SIMDE_ARCH_X86_SSE4_2 1
+# endif
+# endif
+# if defined(__AVX2__)
+# define SIMDE_ARCH_X86_AVX2 1
+# if defined(_MSC_VER)
+# define SIMDE_ARCH_X86_FMA 1
+# endif
+# endif
+# if defined(__FMA__)
+# define SIMDE_ARCH_X86_FMA 1
+# if !defined(SIMDE_ARCH_X86_AVX)
+# define SIMDE_ARCH_X86_AVX 1
+# endif
+# endif
+# if defined(__AVX512VP2INTERSECT__)
+# define SIMDE_ARCH_X86_AVX512VP2INTERSECT 1
+# endif
+# if defined(__AVX512BITALG__)
+# define SIMDE_ARCH_X86_AVX512BITALG 1
+# endif
+# if defined(__AVX512VPOPCNTDQ__)
+# define SIMDE_ARCH_X86_AVX512VPOPCNTDQ 1
+# endif
+# if defined(__AVX512VBMI__)
+# define SIMDE_ARCH_X86_AVX512VBMI 1
+# endif
+# if defined(__AVX512VBMI2__)
+# define SIMDE_ARCH_X86_AVX512VBMI2 1
+# endif
+# if defined(__AVX512VNNI__)
+# define SIMDE_ARCH_X86_AVX512VNNI 1
+# endif
+# if defined(__AVX5124VNNIW__)
+# define SIMDE_ARCH_X86_AVX5124VNNIW 1
+# endif
+# if defined(__AVX512BW__)
+# define SIMDE_ARCH_X86_AVX512BW 1
+# endif
+# if defined(__AVX512BF16__)
+# define SIMDE_ARCH_X86_AVX512BF16 1
+# endif
+# if defined(__AVX512CD__)
+# define SIMDE_ARCH_X86_AVX512CD 1
+# endif
+# if defined(__AVX512DQ__)
+# define SIMDE_ARCH_X86_AVX512DQ 1
+# endif
+# if defined(__AVX512F__)
+# define SIMDE_ARCH_X86_AVX512F 1
+# endif
+# if defined(__AVX512VL__)
+# define SIMDE_ARCH_X86_AVX512VL 1
+# endif
+# if defined(__AVX512FP16__)
+# define SIMDE_ARCH_X86_AVX512FP16 1
+# endif
+# if defined(__GFNI__)
+# define SIMDE_ARCH_X86_GFNI 1
+# endif
+# if defined(__PCLMUL__)
+# define SIMDE_ARCH_X86_PCLMUL 1
+# endif
+# if defined(__VPCLMULQDQ__)
+# define SIMDE_ARCH_X86_VPCLMULQDQ 1
+# endif
+# if defined(__F16C__) || (defined(HEDLEY_MSVC_VERSION) && HEDLEY_MSVC_VERSION_CHECK(19,30,0) && defined(SIMDE_ARCH_X86_AVX2) )
+# define SIMDE_ARCH_X86_F16C 1
+# endif
+# if defined(__AES__)
+# define SIMDE_ARCH_X86_AES 1
+# endif
+#endif
+
+/* Itanium
+ */
+#if defined(__ia64__) || defined(_IA64) || defined(__IA64__) || defined(__ia64) || defined(_M_IA64) || defined(__itanium__)
+# define SIMDE_ARCH_IA64 1
+#endif
+
+/* Renesas M32R
+ */
+#if defined(__m32r__) || defined(__M32R__)
+# define SIMDE_ARCH_M32R
+#endif
+
+/* Motorola 68000
+ */
+#if defined(__mc68060__) || defined(__MC68060__)
+# define SIMDE_ARCH_M68K 68060
+#elif defined(__mc68040__) || defined(__MC68040__)
+# define SIMDE_ARCH_M68K 68040
+#elif defined(__mc68030__) || defined(__MC68030__)
+# define SIMDE_ARCH_M68K 68030
+#elif defined(__mc68020__) || defined(__MC68020__)
+# define SIMDE_ARCH_M68K 68020
+#elif defined(__mc68010__) || defined(__MC68010__)
+# define SIMDE_ARCH_M68K 68010
+#elif defined(__mc68000__) || defined(__MC68000__)
+# define SIMDE_ARCH_M68K 68000
+#endif
+#if defined(SIMDE_ARCH_M68K)
+# define SIMDE_ARCH_M68K_CHECK(version) ((version) <= SIMDE_ARCH_M68K)
+#else
+# define SIMDE_ARCH_M68K_CHECK(version) (0)
+#endif
+
+/* Xilinx MicroBlaze
+ */
+#if defined(__MICROBLAZE__) || defined(__microblaze__)
+# define SIMDE_ARCH_MICROBLAZE
+#endif
+
+/* MIPS
+ */
+#if defined(_MIPS_ISA_MIPS64R2)
+# define SIMDE_ARCH_MIPS 642
+#elif defined(_MIPS_ISA_MIPS64)
+# define SIMDE_ARCH_MIPS 640
+#elif defined(_MIPS_ISA_MIPS32R2)
+# define SIMDE_ARCH_MIPS 322
+#elif defined(_MIPS_ISA_MIPS32)
+# define SIMDE_ARCH_MIPS 320
+#elif defined(_MIPS_ISA_MIPS4)
+# define SIMDE_ARCH_MIPS 4
+#elif defined(_MIPS_ISA_MIPS3)
+# define SIMDE_ARCH_MIPS 3
+#elif defined(_MIPS_ISA_MIPS2)
+# define SIMDE_ARCH_MIPS 2
+#elif defined(_MIPS_ISA_MIPS1)
+# define SIMDE_ARCH_MIPS 1
+#elif defined(_MIPS_ISA_MIPS) || defined(__mips) || defined(__MIPS__)
+# define SIMDE_ARCH_MIPS 1
+#endif
+#if defined(SIMDE_ARCH_MIPS)
+# define SIMDE_ARCH_MIPS_CHECK(version) ((version) <= SIMDE_ARCH_MIPS)
+#else
+# define SIMDE_ARCH_MIPS_CHECK(version) (0)
+#endif
+
+#if defined(__mips_loongson_mmi)
+# define SIMDE_ARCH_MIPS_LOONGSON_MMI 1
+#endif
+
+#if defined(__mips_msa)
+# define SIMDE_ARCH_MIPS_MSA 1
+#endif
+
+/* Matsushita MN10300
+ */
+#if defined(__MN10300__) || defined(__mn10300__)
+# define SIMDE_ARCH_MN10300 1
+#endif
+
+/* POWER
+ */
+#if defined(_M_PPC)
+# define SIMDE_ARCH_POWER _M_PPC
+#elif defined(_ARCH_PWR9)
+# define SIMDE_ARCH_POWER 900
+#elif defined(_ARCH_PWR8)
+# define SIMDE_ARCH_POWER 800
+#elif defined(_ARCH_PWR7)
+# define SIMDE_ARCH_POWER 700
+#elif defined(_ARCH_PWR6)
+# define SIMDE_ARCH_POWER 600
+#elif defined(_ARCH_PWR5)
+# define SIMDE_ARCH_POWER 500
+#elif defined(_ARCH_PWR4)
+# define SIMDE_ARCH_POWER 400
+#elif defined(_ARCH_440) || defined(__ppc440__)
+# define SIMDE_ARCH_POWER 440
+#elif defined(_ARCH_450) || defined(__ppc450__)
+# define SIMDE_ARCH_POWER 450
+#elif defined(_ARCH_601) || defined(__ppc601__)
+# define SIMDE_ARCH_POWER 601
+#elif defined(_ARCH_603) || defined(__ppc603__)
+# define SIMDE_ARCH_POWER 603
+#elif defined(_ARCH_604) || defined(__ppc604__)
+# define SIMDE_ARCH_POWER 604
+#elif defined(_ARCH_605) || defined(__ppc605__)
+# define SIMDE_ARCH_POWER 605
+#elif defined(_ARCH_620) || defined(__ppc620__)
+# define SIMDE_ARCH_POWER 620
+#elif defined(__powerpc) || defined(__powerpc__) || defined(__POWERPC__) || defined(__ppc__) || defined(__PPC__) || defined(_ARCH_PPC) || defined(__ppc)
+# define SIMDE_ARCH_POWER 1
+#endif
+#if defined(SIMDE_ARCH_POWER)
+ #define SIMDE_ARCH_POWER_CHECK(version) ((version) <= SIMDE_ARCH_POWER)
+#else
+ #define SIMDE_ARCH_POWER_CHECK(version) (0)
+#endif
+
+#if defined(__ALTIVEC__)
+# define SIMDE_ARCH_POWER_ALTIVEC SIMDE_ARCH_POWER
+ #define SIMDE_ARCH_POWER_ALTIVEC_CHECK(version) ((version) <= SIMDE_ARCH_POWER)
+#else
+ #define SIMDE_ARCH_POWER_ALTIVEC_CHECK(version) (0)
+#endif
+
+/* RISC-V
+ */
+#if defined(__riscv) || defined(__riscv__)
+# if __riscv_xlen == 64
+# define SIMDE_ARCH_RISCV64
+# elif __riscv_xlen == 32
+# define SIMDE_ARCH_RISCV32
+# endif
+#endif
+
+/* RISC-V SIMD ISA extensions */
+#if defined(__riscv_zve32x)
+# define SIMDE_ARCH_RISCV_ZVE32X 1
+#endif
+#if defined(__riscv_zve32f)
+# define SIMDE_ARCH_RISCV_ZVE32F 1
+#endif
+#if defined(__riscv_zve64x)
+# define SIMDE_ARCH_RISCV_ZVE64X 1
+#endif
+#if defined(__riscv_zve64f)
+# define SIMDE_ARCH_RISCV_ZVE64F 1
+#endif
+#if defined(__riscv_zve64d)
+# define SIMDE_ARCH_RISCV_ZVE64D 1
+#endif
+#if defined(__riscv_v)
+# define SIMDE_ARCH_RISCV_V 1
+#endif
+#if defined(__riscv_zvfh)
+# define SIMDE_ARCH_RISCV_ZVFH 1
+#endif
+#if defined(__riscv_zvfhmin)
+# define SIMDE_ARCH_RISCV_ZVFHMIN 1
+#endif
+
+/* SPARC
+ */
+#if defined(__sparc_v9__) || defined(__sparcv9)
+# define SIMDE_ARCH_SPARC 9
+#elif defined(__sparc_v8__) || defined(__sparcv8)
+# define SIMDE_ARCH_SPARC 8
+#elif defined(__sparc_v7__) || defined(__sparcv7)
+# define SIMDE_ARCH_SPARC 7
+#elif defined(__sparc_v6__) || defined(__sparcv6)
+# define SIMDE_ARCH_SPARC 6
+#elif defined(__sparc_v5__) || defined(__sparcv5)
+# define SIMDE_ARCH_SPARC 5
+#elif defined(__sparc_v4__) || defined(__sparcv4)
+# define SIMDE_ARCH_SPARC 4
+#elif defined(__sparc_v3__) || defined(__sparcv3)
+# define SIMDE_ARCH_SPARC 3
+#elif defined(__sparc_v2__) || defined(__sparcv2)
+# define SIMDE_ARCH_SPARC 2
+#elif defined(__sparc_v1__) || defined(__sparcv1)
+# define SIMDE_ARCH_SPARC 1
+#elif defined(__sparc__) || defined(__sparc)
+# define SIMDE_ARCH_SPARC 1
+#endif
+#if defined(SIMDE_ARCH_SPARC)
+ #define SIMDE_ARCH_SPARC_CHECK(version) ((version) <= SIMDE_ARCH_SPARC)
+#else
+ #define SIMDE_ARCH_SPARC_CHECK(version) (0)
+#endif
+
+/* SuperH
+ */
+#if defined(__sh5__) || defined(__SH5__)
+# define SIMDE_ARCH_SUPERH 5
+#elif defined(__sh4__) || defined(__SH4__)
+# define SIMDE_ARCH_SUPERH 4
+#elif defined(__sh3__) || defined(__SH3__)
+# define SIMDE_ARCH_SUPERH 3
+#elif defined(__sh2__) || defined(__SH2__)
+# define SIMDE_ARCH_SUPERH 2
+#elif defined(__sh1__) || defined(__SH1__)
+# define SIMDE_ARCH_SUPERH 1
+#elif defined(__sh__) || defined(__SH__)
+# define SIMDE_ARCH_SUPERH 1
+#endif
+
+/* IBM System z
+ */
+#if defined(__370__) || defined(__THW_370__) || defined(__s390__) || defined(__s390x__) || defined(__zarch__) || defined(__SYSC_ZARCH__)
+# define SIMDE_ARCH_ZARCH __ARCH__
+#endif
+#if defined(SIMDE_ARCH_ZARCH)
+ #define SIMDE_ARCH_ZARCH_CHECK(version) ((version) <= SIMDE_ARCH_ZARCH)
+#else
+ #define SIMDE_ARCH_ZARCH_CHECK(version) (0)
+#endif
+
+#if defined(SIMDE_ARCH_ZARCH) && defined(__VEC__)
+ #define SIMDE_ARCH_ZARCH_ZVECTOR SIMDE_ARCH_ZARCH
+#endif
+
+/* TMS320 DSP
+ */
+#if defined(_TMS320C6740) || defined(__TMS320C6740__)
+# define SIMDE_ARCH_TMS320 6740
+#elif defined(_TMS320C6700_PLUS) || defined(__TMS320C6700_PLUS__)
+# define SIMDE_ARCH_TMS320 6701
+#elif defined(_TMS320C6700) || defined(__TMS320C6700__)
+# define SIMDE_ARCH_TMS320 6700
+#elif defined(_TMS320C6600) || defined(__TMS320C6600__)
+# define SIMDE_ARCH_TMS320 6600
+#elif defined(_TMS320C6400_PLUS) || defined(__TMS320C6400_PLUS__)
+# define SIMDE_ARCH_TMS320 6401
+#elif defined(_TMS320C6400) || defined(__TMS320C6400__)
+# define SIMDE_ARCH_TMS320 6400
+#elif defined(_TMS320C6200) || defined(__TMS320C6200__)
+# define SIMDE_ARCH_TMS320 6200
+#elif defined(_TMS320C55X) || defined(__TMS320C55X__)
+# define SIMDE_ARCH_TMS320 550
+#elif defined(_TMS320C54X) || defined(__TMS320C54X__)
+# define SIMDE_ARCH_TMS320 540
+#elif defined(_TMS320C28X) || defined(__TMS320C28X__)
+# define SIMDE_ARCH_TMS320 280
+#endif
+#if defined(SIMDE_ARCH_TMS320)
+ #define SIMDE_ARCH_TMS320_CHECK(version) ((version) <= SIMDE_ARCH_TMS320)
+#else
+ #define SIMDE_ARCH_TMS320_CHECK(version) (0)
+#endif
+
+/* WebAssembly */
+#if defined(__wasm__)
+# define SIMDE_ARCH_WASM 1
+#endif
+
+#if defined(SIMDE_ARCH_WASM) && defined(__wasm_simd128__)
+# define SIMDE_ARCH_WASM_SIMD128
+#endif
+
+#if defined(SIMDE_ARCH_WASM) && defined(__wasm_relaxed_simd__)
+# define SIMDE_ARCH_WASM_RELAXED_SIMD
+#endif
+
+/* Xtensa
+ */
+#if defined(__xtensa__) || defined(__XTENSA__)
+# define SIMDE_ARCH_XTENSA 1
+#endif
+
+/* Availability of 16-bit floating-point arithmetic intrinsics */
+#if defined(__ARM_FEATURE_FP16_VECTOR_ARITHMETIC)
+# define SIMDE_ARCH_ARM_NEON_FP16
+#endif
+
+/* Availability of 16-bit brain floating-point arithmetic intrinsics */
+#if defined(__ARM_FEATURE_BF16_VECTOR_ARITHMETIC)
+# define SIMDE_ARCH_ARM_NEON_BF16
+#endif
+
+/* LoongArch
+ */
+#if defined(__loongarch32)
+# define SIMDE_ARCH_LOONGARCH 1
+#elif defined(__loongarch64)
+# define SIMDE_ARCH_LOONGARCH 2
+#endif
+
+/* LSX: LoongArch 128-bits SIMD extension */
+#if defined(__loongarch_sx)
+# define SIMDE_ARCH_LOONGARCH_LSX 1
+#endif
+
+/* LASX: LoongArch 256-bits SIMD extension */
+#if defined(__loongarch_asx)
+# define SIMDE_ARCH_LOONGARCH_LASX 2
+#endif
+
+#endif /* !defined(SIMDE_ARCH_H) */
diff --git a/external_libs/pgenlib/simde/simde-bf16.h b/external_libs/pgenlib/simde/simde-bf16.h
new file mode 100644
index 0000000..7e07368
--- /dev/null
+++ b/external_libs/pgenlib/simde/simde-bf16.h
@@ -0,0 +1,131 @@
+/* SPDX-License-Identifier: MIT
+ *
+ * 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.
+ *
+ * Copyright:
+ * 2023 Yi-Yen Chung (Copyright owned by Andes Technology)
+ */
+
+#include "hedley.h"
+#include "simde-common.h"
+#include "simde-detect-clang.h"
+
+#if !defined(SIMDE_BFLOAT16_H)
+#define SIMDE_BFLOAT16_H
+
+HEDLEY_DIAGNOSTIC_PUSH
+SIMDE_DISABLE_UNWANTED_DIAGNOSTICS
+SIMDE_BEGIN_DECLS_
+
+/* This implementations is based upon simde-f16.h */
+
+/* Portable version which should work on pretty much any compiler.
+ * Obviously you can't rely on compiler support for things like
+ * conversion to/from 32-bit floats, so make sure you always use the
+ * functions and macros in this file!
+ */
+#define SIMDE_BFLOAT16_API_PORTABLE 1
+
+#define SIMDE_BFLOAT16_API_BF16 2
+
+#if !defined(SIMDE_BFLOAT16_API)
+ #if defined(SIMDE_ARM_NEON_BF16)
+ #define SIMDE_BFLOAT16_API SIMDE_BFLOAT16_API_BF16
+ #else
+ #define SIMDE_BFLOAT16_API SIMDE_BFLOAT16_API_PORTABLE
+ #endif
+#endif
+
+#if SIMDE_BFLOAT16_API == SIMDE_BFLOAT16_API_BF16
+ #include
+ typedef __bf16 simde_bfloat16;
+#elif SIMDE_BFLOAT16_API == SIMDE_BFLOAT16_API_PORTABLE
+ typedef struct { uint16_t value; } simde_bfloat16;
+#else
+ #error No 16-bit floating point API.
+#endif
+
+/* Conversion -- convert between single-precision and brain half-precision
+ * floats. */
+static HEDLEY_ALWAYS_INLINE HEDLEY_CONST
+simde_bfloat16
+simde_bfloat16_from_float32 (simde_float32 value) {
+#if defined(SIMDE_ARM_NEON_A32V8_NATIVE) && defined(SIMDE_ARM_NEON_BF16)
+ return vcvth_bf16_f32(value);
+#else
+ simde_bfloat16 res;
+ char* src = HEDLEY_REINTERPRET_CAST(char*, &value);
+ // rounding to nearest bfloat16
+ // If the 17th bit of value is 1, set the rounding to 1.
+ uint8_t rounding = 0;
+
+ #if SIMDE_ENDIAN_ORDER == SIMDE_ENDIAN_LITTLE
+ if (src[1] & UINT8_C(0x80)) rounding = 1;
+ src[2] = HEDLEY_STATIC_CAST(char, (HEDLEY_STATIC_CAST(uint8_t, src[2]) + rounding));
+ simde_memcpy(&res, src+2, sizeof(res));
+ #else
+ if (src[2] & UINT8_C(0x80)) rounding = 1;
+ src[1] = HEDLEY_STATIC_CAST(char, (HEDLEY_STATIC_CAST(uint8_t, src[1]) + rounding));
+ simde_memcpy(&res, src, sizeof(res));
+ #endif
+
+ return res;
+#endif
+}
+
+static HEDLEY_ALWAYS_INLINE HEDLEY_CONST
+simde_float32
+simde_bfloat16_to_float32 (simde_bfloat16 value) {
+#if defined(SIMDE_ARM_NEON_A32V8_NATIVE) && defined(SIMDE_ARM_NEON_BF16)
+ return vcvtah_f32_bf16(value);
+#else
+ simde_float32 res = 0.0;
+ char* _res = HEDLEY_REINTERPRET_CAST(char*, &res);
+
+ #if SIMDE_ENDIAN_ORDER == SIMDE_ENDIAN_LITTLE
+ simde_memcpy(_res+2, &value, sizeof(value));
+ #else
+ simde_memcpy(_res, &value, sizeof(value));
+ #endif
+
+ return res;
+#endif
+}
+
+SIMDE_DEFINE_CONVERSION_FUNCTION_(simde_uint16_as_bfloat16, simde_bfloat16, uint16_t)
+
+#define SIMDE_NANBF simde_uint16_as_bfloat16(0xFFC1) // a quiet Not-a-Number
+#define SIMDE_INFINITYBF simde_uint16_as_bfloat16(0x7F80)
+#define SIMDE_NINFINITYBF simde_uint16_as_bfloat16(0xFF80)
+
+#define SIMDE_BFLOAT16_VALUE(value) simde_bfloat16_from_float32(SIMDE_FLOAT32_C(value))
+
+#if !defined(simde_isinfbf) && defined(simde_math_isinff)
+ #define simde_isinfbf(a) simde_math_isinff(simde_bfloat16_to_float32(a))
+#endif
+#if !defined(simde_isnanbf) && defined(simde_math_isnanf)
+ #define simde_isnanbf(a) simde_math_isnanf(simde_bfloat16_to_float32(a))
+#endif
+
+SIMDE_END_DECLS_
+HEDLEY_DIAGNOSTIC_POP
+
+#endif /* !defined(SIMDE_BFLOAT16_H) */
diff --git a/external_libs/pgenlib/simde/simde-common.h b/external_libs/pgenlib/simde/simde-common.h
new file mode 100644
index 0000000..5a755cc
--- /dev/null
+++ b/external_libs/pgenlib/simde/simde-common.h
@@ -0,0 +1,1230 @@
+/* SPDX-License-Identifier: MIT
+ *
+ * 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.
+ *
+ * Copyright:
+ * 2017-2020 Evan Nemerson
+ * 2023 Yi-Yen Chung (Copyright owned by Andes Technology)
+ * 2023 Ju-Hung Li (Copyright owned by NTHU pllab)
+ */
+
+#if !defined(SIMDE_COMMON_H)
+#define SIMDE_COMMON_H
+
+#include "hedley.h"
+
+#define SIMDE_VERSION_MAJOR 0
+#define SIMDE_VERSION_MINOR 8
+#define SIMDE_VERSION_MICRO 2
+#define SIMDE_VERSION HEDLEY_VERSION_ENCODE(SIMDE_VERSION_MAJOR, SIMDE_VERSION_MINOR, SIMDE_VERSION_MICRO)
+// Also update meson.build in the root directory of the repository
+
+#include
+#include
+
+#include "simde-detect-clang.h"
+#include "simde-arch.h"
+#include "simde-features.h"
+#include "simde-diagnostic.h"
+#include "simde-math.h"
+#include "simde-constify.h"
+#include "simde-align.h"
+
+/* In some situations, SIMDe has to make large performance sacrifices
+ * for small increases in how faithfully it reproduces an API, but
+ * only a relatively small number of users will actually need the API
+ * to be completely accurate. The SIMDE_FAST_* options can be used to
+ * disable these trade-offs.
+ *
+ * They can be enabled by passing -DSIMDE_FAST_MATH to the compiler, or
+ * the individual defines (e.g., -DSIMDE_FAST_NANS) if you only want to
+ * enable some optimizations. Using -ffast-math and/or
+ * -ffinite-math-only will also enable the relevant options. If you
+ * don't want that you can pass -DSIMDE_NO_FAST_* to disable them. */
+
+/* Most programs avoid NaNs by never passing values which can result in
+ * a NaN; for example, if you only pass non-negative values to the sqrt
+ * functions, it won't generate a NaN. On some platforms, similar
+ * functions handle NaNs differently; for example, the _mm_min_ps SSE
+ * function will return 0.0 if you pass it (0.0, NaN), but the NEON
+ * vminq_f32 function will return NaN. Making them behave like one
+ * another is expensive; it requires generating a mask of all lanes
+ * with NaNs, then performing the operation (e.g., vminq_f32), then
+ * blending together the result with another vector using the mask.
+ *
+ * If you don't want SIMDe to worry about the differences between how
+ * NaNs are handled on the two platforms, define this (or pass
+ * -ffinite-math-only) */
+#if !defined(SIMDE_FAST_MATH) && !defined(SIMDE_NO_FAST_MATH) && defined(__FAST_MATH__)
+ #define SIMDE_FAST_MATH
+#endif
+
+#if !defined(SIMDE_FAST_NANS) && !defined(SIMDE_NO_FAST_NANS)
+ #if defined(SIMDE_FAST_MATH)
+ #define SIMDE_FAST_NANS
+ #elif defined(__FINITE_MATH_ONLY__)
+ #if __FINITE_MATH_ONLY__
+ #define SIMDE_FAST_NANS
+ #endif
+ #endif
+#endif
+
+/* Many functions are defined as using the current rounding mode
+ * (i.e., the SIMD version of fegetround()) when converting to
+ * an integer. For example, _mm_cvtpd_epi32. Unfortunately,
+ * on some platforms (such as ARMv8+ where round-to-nearest is
+ * always used, regardless of the FPSCR register) this means we
+ * have to first query the current rounding mode, then choose
+ * the proper function (rounnd
+ , ceil, floor, etc.) */
+#if !defined(SIMDE_FAST_ROUND_MODE) && !defined(SIMDE_NO_FAST_ROUND_MODE) && defined(SIMDE_FAST_MATH)
+ #define SIMDE_FAST_ROUND_MODE
+#endif
+
+/* This controls how ties are rounded. For example, does 10.5 round to
+ * 10 or 11? IEEE 754 specifies round-towards-even, but ARMv7 (for
+ * example) doesn't support it and it must be emulated (which is rather
+ * slow). If you're okay with just using the default for whatever arch
+ * you're on, you should definitely define this.
+ *
+ * Note that we don't use this macro to avoid correct implementations
+ * in functions which are explicitly about rounding (such as vrnd* on
+ * NEON, _mm_round_* on x86, etc.); it is only used for code where
+ * rounding is a component in another function, and even then it isn't
+ * usually a problem since such functions will use the current rounding
+ * mode. */
+#if !defined(SIMDE_FAST_ROUND_TIES) && !defined(SIMDE_NO_FAST_ROUND_TIES) && defined(SIMDE_FAST_MATH)
+ #define SIMDE_FAST_ROUND_TIES
+#endif
+
+/* For functions which convert from one type to another (mostly from
+ * floating point to integer types), sometimes we need to do a range
+ * check and potentially return a different result if the value
+ * falls outside that range. Skipping this check can provide a
+ * performance boost, at the expense of faithfulness to the API we're
+ * emulating. */
+#if !defined(SIMDE_FAST_CONVERSION_RANGE) && !defined(SIMDE_NO_FAST_CONVERSION_RANGE) && defined(SIMDE_FAST_MATH)
+ #define SIMDE_FAST_CONVERSION_RANGE
+#endif
+
+/* Due to differences across platforms, sometimes it can be much
+ * faster for us to allow spurious floating point exceptions,
+ * or to no generate them when we should. */
+#if !defined(SIMDE_FAST_EXCEPTIONS) && !defined(SIMDE_NO_FAST_EXCEPTIONS) && defined(SIMDE_FAST_MATH)
+ #define SIMDE_FAST_EXCEPTIONS
+#endif
+
+#if \
+ HEDLEY_HAS_BUILTIN(__builtin_constant_p) || \
+ HEDLEY_GCC_VERSION_CHECK(3,4,0) || \
+ HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+ HEDLEY_TINYC_VERSION_CHECK(0,9,19) || \
+ HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
+ HEDLEY_IBM_VERSION_CHECK(13,1,0) || \
+ HEDLEY_TI_CL6X_VERSION_CHECK(6,1,0) || \
+ (HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) && !defined(__cplusplus)) || \
+ HEDLEY_CRAY_VERSION_CHECK(8,1,0) || \
+ HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
+ #define SIMDE_CHECK_CONSTANT_(expr) (__builtin_constant_p(expr))
+#elif defined(__cplusplus) && (__cplusplus > 201703L)
+ #include
+ #define SIMDE_CHECK_CONSTANT_(expr) (std::is_constant_evaluated())
+#endif
+
+#if !defined(SIMDE_NO_CHECK_IMMEDIATE_CONSTANT)
+ #if defined(SIMDE_CHECK_CONSTANT_) && \
+ SIMDE_DETECT_CLANG_VERSION_CHECK(9,0,0) && \
+ (!defined(__apple_build_version__) || ((__apple_build_version__ < 11000000) || (__apple_build_version__ >= 12000000)))
+ #define SIMDE_REQUIRE_CONSTANT(arg) HEDLEY_REQUIRE_MSG(SIMDE_CHECK_CONSTANT_(arg), "`" #arg "' must be constant")
+ #else
+ #define SIMDE_REQUIRE_CONSTANT(arg)
+ #endif
+#else
+ #define SIMDE_REQUIRE_CONSTANT(arg)
+#endif
+
+#define SIMDE_REQUIRE_RANGE(arg, min, max) \
+ HEDLEY_REQUIRE_MSG((((arg) >= (min)) && ((arg) <= (max))), "'" #arg "' must be in [" #min ", " #max "]")
+
+#define SIMDE_REQUIRE_CONSTANT_RANGE(arg, min, max) \
+ SIMDE_REQUIRE_CONSTANT(arg) \
+ SIMDE_REQUIRE_RANGE(arg, min, max)
+
+/* A copy of HEDLEY_STATIC_ASSERT, except we don't define an empty
+ * fallback if we can't find an implementation; instead we have to
+ * check if SIMDE_STATIC_ASSERT is defined before using it. */
+#if \
+ !defined(__cplusplus) && ( \
+ (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L)) || \
+ HEDLEY_HAS_FEATURE(c_static_assert) || \
+ HEDLEY_GCC_VERSION_CHECK(6,0,0) || \
+ HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+ defined(_Static_assert) \
+ )
+ /* Sometimes _Static_assert is defined (in cdefs.h) using a symbol which
+ * starts with a double-underscore. This is a system header so we have no
+ * control over it, but since it's a macro it will emit a diagnostic which
+ * prevents compilation with -Werror. */
+ #if HEDLEY_HAS_WARNING("-Wreserved-identifier")
+ #define SIMDE_STATIC_ASSERT(expr, message) (__extension__({ \
+ HEDLEY_DIAGNOSTIC_PUSH \
+ _Pragma("clang diagnostic ignored \"-Wreserved-identifier\"") \
+ _Static_assert(expr, message); \
+ HEDLEY_DIAGNOSTIC_POP \
+ }))
+ #else
+ #define SIMDE_STATIC_ASSERT(expr, message) _Static_assert(expr, message)
+ #endif
+#elif \
+ (defined(__cplusplus) && (__cplusplus >= 201103L)) || \
+ HEDLEY_MSVC_VERSION_CHECK(16,0,0)
+ #define SIMDE_STATIC_ASSERT(expr, message) HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(static_assert(expr, message))
+#endif
+
+/* Statement exprs */
+#if \
+ HEDLEY_GNUC_VERSION_CHECK(2,95,0) || \
+ HEDLEY_TINYC_VERSION_CHECK(0,9,26) || \
+ HEDLEY_INTEL_VERSION_CHECK(9,0,0) || \
+ HEDLEY_PGI_VERSION_CHECK(18,10,0) || \
+ HEDLEY_SUNPRO_VERSION_CHECK(5,12,0) || \
+ HEDLEY_IBM_VERSION_CHECK(11,1,0) || \
+ HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
+ #define SIMDE_STATEMENT_EXPR_(expr) (__extension__ expr)
+#endif
+
+/* This is just a convenience macro to make it easy to call a single
+ * function with a specific diagnostic disabled. */
+#if defined(SIMDE_STATEMENT_EXPR_)
+ #define SIMDE_DISABLE_DIAGNOSTIC_EXPR_(diagnostic, expr) \
+ SIMDE_STATEMENT_EXPR_(({ \
+ HEDLEY_DIAGNOSTIC_PUSH \
+ diagnostic \
+ (expr); \
+ HEDLEY_DIAGNOSTIC_POP \
+ }))
+#endif
+
+#if defined(SIMDE_CHECK_CONSTANT_) && defined(SIMDE_STATIC_ASSERT)
+ #define SIMDE_ASSERT_CONSTANT_(v) SIMDE_STATIC_ASSERT(SIMDE_CHECK_CONSTANT_(v), #v " must be constant.")
+#endif
+
+#if \
+ (HEDLEY_HAS_ATTRIBUTE(may_alias) && !defined(HEDLEY_SUNPRO_VERSION)) || \
+ HEDLEY_GCC_VERSION_CHECK(3,3,0) || \
+ HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+ HEDLEY_IBM_VERSION_CHECK(13,1,0)
+# define SIMDE_MAY_ALIAS __attribute__((__may_alias__))
+#else
+# define SIMDE_MAY_ALIAS
+#endif
+
+/* Lots of compilers support GCC-style vector extensions, but many
+ don't support all the features. Define different macros depending
+ on support for
+
+ * SIMDE_VECTOR - Declaring a vector.
+ * SIMDE_VECTOR_OPS - basic operations (binary and unary).
+ * SIMDE_VECTOR_NEGATE - negating a vector
+ * SIMDE_VECTOR_SCALAR - For binary operators, the second argument
+ can be a scalar, in which case the result is as if that scalar
+ had been broadcast to all lanes of a vector.
+ * SIMDE_VECTOR_SUBSCRIPT - Supports array subscript notation for
+ extracting/inserting a single element.=
+
+ SIMDE_VECTOR can be assumed if any others are defined, the
+ others are independent. */
+#if !defined(SIMDE_NO_VECTOR)
+# if \
+ HEDLEY_GCC_VERSION_CHECK(4,8,0)
+# define SIMDE_VECTOR(size) __attribute__((__vector_size__(size)))
+# define SIMDE_VECTOR_OPS
+# define SIMDE_VECTOR_NEGATE
+# define SIMDE_VECTOR_SCALAR
+# define SIMDE_VECTOR_SUBSCRIPT
+# elif HEDLEY_INTEL_VERSION_CHECK(16,0,0)
+# define SIMDE_VECTOR(size) __attribute__((__vector_size__(size)))
+# define SIMDE_VECTOR_OPS
+# define SIMDE_VECTOR_NEGATE
+/* ICC only supports SIMDE_VECTOR_SCALAR for constants */
+# define SIMDE_VECTOR_SUBSCRIPT
+# elif \
+ HEDLEY_GCC_VERSION_CHECK(4,1,0) || \
+ HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
+ HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
+# define SIMDE_VECTOR(size) __attribute__((__vector_size__(size)))
+# define SIMDE_VECTOR_OPS
+# elif HEDLEY_SUNPRO_VERSION_CHECK(5,12,0)
+# define SIMDE_VECTOR(size) __attribute__((__vector_size__(size)))
+# elif HEDLEY_HAS_ATTRIBUTE(vector_size)
+# define SIMDE_VECTOR(size) __attribute__((__vector_size__(size)))
+# define SIMDE_VECTOR_OPS
+# define SIMDE_VECTOR_NEGATE
+# define SIMDE_VECTOR_SUBSCRIPT
+# if SIMDE_DETECT_CLANG_VERSION_CHECK(5,0,0)
+# define SIMDE_VECTOR_SCALAR
+# endif
+# endif
+
+/* GCC and clang have built-in functions to handle shuffling and
+ converting of vectors, but the implementations are slightly
+ different. This macro is just an abstraction over them. Note that
+ elem_size is in bits but vec_size is in bytes. */
+# if !defined(SIMDE_NO_SHUFFLE_VECTOR) && defined(SIMDE_VECTOR_SUBSCRIPT)
+ HEDLEY_DIAGNOSTIC_PUSH
+ /* We don't care about -Wvariadic-macros; all compilers that support
+ * shufflevector/shuffle support them. */
+# if HEDLEY_HAS_WARNING("-Wc++98-compat-pedantic")
+# pragma clang diagnostic ignored "-Wc++98-compat-pedantic"
+# endif
+# if HEDLEY_HAS_WARNING("-Wvariadic-macros") || HEDLEY_GCC_VERSION_CHECK(4,0,0)
+# pragma GCC diagnostic ignored "-Wvariadic-macros"
+# endif
+
+# if HEDLEY_HAS_BUILTIN(__builtin_shufflevector)
+# define SIMDE_SHUFFLE_VECTOR_(elem_size, vec_size, a, b, ...) __builtin_shufflevector(a, b, __VA_ARGS__)
+# elif HEDLEY_GCC_HAS_BUILTIN(__builtin_shuffle,4,7,0) && !defined(__INTEL_COMPILER)
+# define SIMDE_SHUFFLE_VECTOR_(elem_size, vec_size, a, b, ...) (__extension__ ({ \
+ int##elem_size##_t SIMDE_VECTOR(vec_size) simde_shuffle_ = { __VA_ARGS__ }; \
+ __builtin_shuffle(a, b, simde_shuffle_); \
+ }))
+# endif
+ HEDLEY_DIAGNOSTIC_POP
+# endif
+
+/* TODO: this actually works on XL C/C++ without SIMDE_VECTOR_SUBSCRIPT
+ but the code needs to be refactored a bit to take advantage. */
+# if !defined(SIMDE_NO_CONVERT_VECTOR) && defined(SIMDE_VECTOR_SUBSCRIPT)
+# if HEDLEY_HAS_BUILTIN(__builtin_convertvector) || HEDLEY_GCC_VERSION_CHECK(9,0,0)
+# if HEDLEY_GCC_VERSION_CHECK(9,0,0) && !HEDLEY_GCC_VERSION_CHECK(9,3,0)
+ /* https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93557 */
+# define SIMDE_CONVERT_VECTOR_(to, from) ((to) = (__extension__({ \
+ __typeof__(from) from_ = (from); \
+ ((void) from_); \
+ __builtin_convertvector(from_, __typeof__(to)); \
+ })))
+# else
+# define SIMDE_CONVERT_VECTOR_(to, from) ((to) = __builtin_convertvector((from), __typeof__(to)))
+# endif
+# endif
+# endif
+#endif
+
+/* Since we currently require SUBSCRIPT before using a vector in a
+ union, we define these as dependencies of SUBSCRIPT. They are
+ likely to disappear in the future, once SIMDe learns how to make
+ use of vectors without using the union members. Do not use them
+ in your code unless you're okay with it breaking when SIMDe
+ changes. */
+#if defined(SIMDE_VECTOR_SUBSCRIPT)
+# if defined(SIMDE_VECTOR_OPS)
+# define SIMDE_VECTOR_SUBSCRIPT_OPS
+# endif
+# if defined(SIMDE_VECTOR_SCALAR)
+# define SIMDE_VECTOR_SUBSCRIPT_SCALAR
+# endif
+#endif
+
+#if !defined(SIMDE_DISABLE_OPENMP)
+ #if !defined(SIMDE_ENABLE_OPENMP) && ((defined(_OPENMP) && (_OPENMP >= 201307L)) || (defined(_OPENMP_SIMD) && (_OPENMP_SIMD >= 201307L))) || defined(HEDLEY_MCST_LCC_VERSION)
+ #define SIMDE_ENABLE_OPENMP
+ #endif
+#endif
+
+#if !defined(SIMDE_ENABLE_CILKPLUS) && (defined(__cilk) || defined(HEDLEY_INTEL_VERSION))
+# define SIMDE_ENABLE_CILKPLUS
+#endif
+
+#if defined(SIMDE_ENABLE_OPENMP)
+# define SIMDE_VECTORIZE HEDLEY_PRAGMA(omp simd)
+# define SIMDE_VECTORIZE_SAFELEN(l) HEDLEY_PRAGMA(omp simd safelen(l))
+# if defined(__clang__)
+# define SIMDE_VECTORIZE_REDUCTION(r) \
+ HEDLEY_DIAGNOSTIC_PUSH \
+ _Pragma("clang diagnostic ignored \"-Wsign-conversion\"") \
+ HEDLEY_PRAGMA(omp simd reduction(r)) \
+ HEDLEY_DIAGNOSTIC_POP
+# else
+# define SIMDE_VECTORIZE_REDUCTION(r) HEDLEY_PRAGMA(omp simd reduction(r))
+# endif
+# if !defined(HEDLEY_MCST_LCC_VERSION)
+# define SIMDE_VECTORIZE_ALIGNED(a) HEDLEY_PRAGMA(omp simd aligned(a))
+# else
+# define SIMDE_VECTORIZE_ALIGNED(a) HEDLEY_PRAGMA(omp simd)
+# endif
+#elif defined(SIMDE_ENABLE_CILKPLUS)
+# define SIMDE_VECTORIZE HEDLEY_PRAGMA(simd)
+# define SIMDE_VECTORIZE_SAFELEN(l) HEDLEY_PRAGMA(simd vectorlength(l))
+# define SIMDE_VECTORIZE_REDUCTION(r) HEDLEY_PRAGMA(simd reduction(r))
+# define SIMDE_VECTORIZE_ALIGNED(a) HEDLEY_PRAGMA(simd aligned(a))
+#elif defined(__clang__) && !defined(HEDLEY_IBM_VERSION)
+# define SIMDE_VECTORIZE HEDLEY_PRAGMA(clang loop vectorize(enable))
+# define SIMDE_VECTORIZE_SAFELEN(l) HEDLEY_PRAGMA(clang loop vectorize_width(l))
+# define SIMDE_VECTORIZE_REDUCTION(r) SIMDE_VECTORIZE
+# define SIMDE_VECTORIZE_ALIGNED(a)
+#elif HEDLEY_GCC_VERSION_CHECK(4,9,0)
+# define SIMDE_VECTORIZE HEDLEY_PRAGMA(GCC ivdep)
+# define SIMDE_VECTORIZE_SAFELEN(l) SIMDE_VECTORIZE
+# define SIMDE_VECTORIZE_REDUCTION(r) SIMDE_VECTORIZE
+# define SIMDE_VECTORIZE_ALIGNED(a)
+#elif HEDLEY_CRAY_VERSION_CHECK(5,0,0)
+# define SIMDE_VECTORIZE HEDLEY_PRAGMA(_CRI ivdep)
+# define SIMDE_VECTORIZE_SAFELEN(l) SIMDE_VECTORIZE
+# define SIMDE_VECTORIZE_REDUCTION(r) SIMDE_VECTORIZE
+# define SIMDE_VECTORIZE_ALIGNED(a)
+#else
+# define SIMDE_VECTORIZE
+# define SIMDE_VECTORIZE_SAFELEN(l)
+# define SIMDE_VECTORIZE_REDUCTION(r)
+# define SIMDE_VECTORIZE_ALIGNED(a)
+#endif
+
+#define SIMDE_MASK_NZ_(v, mask) (((v) & (mask)) | !((v) & (mask)))
+
+/* Intended for checking coverage, you should never use this in
+ production. */
+#if defined(SIMDE_NO_INLINE)
+# define SIMDE_FUNCTION_ATTRIBUTES HEDLEY_NEVER_INLINE static
+#else
+# define SIMDE_FUNCTION_ATTRIBUTES HEDLEY_ALWAYS_INLINE static
+#endif
+
+#if defined(SIMDE_NO_INLINE)
+# define SIMDE_HUGE_FUNCTION_ATTRIBUTES HEDLEY_NEVER_INLINE static
+#elif defined(SIMDE_CONSTRAINED_COMPILATION)
+# define SIMDE_HUGE_FUNCTION_ATTRIBUTES static
+#else
+# define SIMDE_HUGE_FUNCTION_ATTRIBUTES HEDLEY_ALWAYS_INLINE static
+#endif
+
+#if \
+ HEDLEY_HAS_ATTRIBUTE(unused) || \
+ HEDLEY_GCC_VERSION_CHECK(2,95,0)
+# define SIMDE_FUNCTION_POSSIBLY_UNUSED_ __attribute__((__unused__))
+#else
+# define SIMDE_FUNCTION_POSSIBLY_UNUSED_
+#endif
+
+HEDLEY_DIAGNOSTIC_PUSH
+SIMDE_DIAGNOSTIC_DISABLE_USED_BUT_MARKED_UNUSED_
+
+#if defined(_MSC_VER)
+# define SIMDE_BEGIN_DECLS_ HEDLEY_DIAGNOSTIC_PUSH __pragma(warning(disable:4996 4204)) HEDLEY_BEGIN_C_DECLS
+# define SIMDE_END_DECLS_ HEDLEY_DIAGNOSTIC_POP HEDLEY_END_C_DECLS
+#else
+# define SIMDE_BEGIN_DECLS_ \
+ HEDLEY_DIAGNOSTIC_PUSH \
+ SIMDE_DIAGNOSTIC_DISABLE_USED_BUT_MARKED_UNUSED_ \
+ HEDLEY_BEGIN_C_DECLS
+# define SIMDE_END_DECLS_ \
+ HEDLEY_END_C_DECLS \
+ HEDLEY_DIAGNOSTIC_POP
+#endif
+
+#if defined(__SIZEOF_INT128__)
+# define SIMDE_HAVE_INT128_
+HEDLEY_DIAGNOSTIC_PUSH
+SIMDE_DIAGNOSTIC_DISABLE_PEDANTIC_
+typedef __int128 simde_int128;
+typedef unsigned __int128 simde_uint128;
+HEDLEY_DIAGNOSTIC_POP
+#endif
+
+#if !defined(SIMDE_ENDIAN_LITTLE)
+# define SIMDE_ENDIAN_LITTLE 1234
+#endif
+#if !defined(SIMDE_ENDIAN_BIG)
+# define SIMDE_ENDIAN_BIG 4321
+#endif
+
+#if !defined(SIMDE_ENDIAN_ORDER)
+/* GCC (and compilers masquerading as GCC) define __BYTE_ORDER__. */
+# if defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
+# define SIMDE_ENDIAN_ORDER SIMDE_ENDIAN_LITTLE
+# elif defined(__BYTE_ORDER__) && defined(__ORDER_BIG_ENDIAN__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
+# define SIMDE_ENDIAN_ORDER SIMDE_ENDIAN_BIG
+/* TI defines _BIG_ENDIAN or _LITTLE_ENDIAN */
+# elif defined(_BIG_ENDIAN)
+# define SIMDE_ENDIAN_ORDER SIMDE_ENDIAN_BIG
+# elif defined(_LITTLE_ENDIAN)
+# define SIMDE_ENDIAN_ORDER SIMDE_ENDIAN_LITTLE
+/* We know the endianness of some common architectures. Common
+ * architectures not listed (ARM, POWER, MIPS, etc.) here are
+ * bi-endian. */
+# elif defined(__amd64) || defined(_M_X64) || defined(__i386) || defined(_M_IX86)
+# define SIMDE_ENDIAN_ORDER SIMDE_ENDIAN_LITTLE
+# elif defined(__s390x__) || defined(__zarch__)
+# define SIMDE_ENDIAN_ORDER SIMDE_ENDIAN_BIG
+/* Looks like we'll have to rely on the platform. If we're missing a
+ * platform, please let us know. */
+# elif defined(_WIN32)
+# define SIMDE_ENDIAN_ORDER SIMDE_ENDIAN_LITTLE
+# elif defined(sun) || defined(__sun) /* Solaris */
+# include
+# if defined(_LITTLE_ENDIAN)
+# define SIMDE_ENDIAN_ORDER SIMDE_ENDIAN_LITTLE
+# elif defined(_BIG_ENDIAN)
+# define SIMDE_ENDIAN_ORDER SIMDE_ENDIAN_BIG
+# endif
+# elif defined(__APPLE__)
+# include
+# if defined(__LITTLE_ENDIAN__)
+# define SIMDE_ENDIAN_ORDER SIMDE_ENDIAN_LITTLE
+# elif defined(__BIG_ENDIAN__)
+# define SIMDE_ENDIAN_ORDER SIMDE_ENDIAN_BIG
+# endif
+# elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__bsdi__) || defined(__DragonFly__) || defined(BSD)
+# include
+# if defined(__BYTE_ORDER) && (__BYTE_ORDER == __LITTLE_ENDIAN)
+# define SIMDE_ENDIAN_ORDER SIMDE_ENDIAN_LITTLE
+# elif defined(__BYTE_ORDER) && (__BYTE_ORDER == __BIG_ENDIAN)
+# define SIMDE_ENDIAN_ORDER SIMDE_ENDIAN_BIG
+# endif
+# elif defined(__linux__) || defined(__linux) || defined(__gnu_linux__)
+# include
+# if defined(__BYTE_ORDER) && defined(__LITTLE_ENDIAN) && (__BYTE_ORDER == __LITTLE_ENDIAN)
+# define SIMDE_ENDIAN_ORDER SIMDE_ENDIAN_LITTLE
+# elif defined(__BYTE_ORDER) && defined(__BIG_ENDIAN) && (__BYTE_ORDER == __BIG_ENDIAN)
+# define SIMDE_ENDIAN_ORDER SIMDE_ENDIAN_BIG
+# endif
+# endif
+#endif
+
+#if \
+ HEDLEY_HAS_BUILTIN(__builtin_bswap64) || \
+ HEDLEY_GCC_VERSION_CHECK(4,3,0) || \
+ HEDLEY_IBM_VERSION_CHECK(13,1,0) || \
+ HEDLEY_INTEL_VERSION_CHECK(13,0,0)
+ #define simde_bswap64(v) __builtin_bswap64(v)
+#elif HEDLEY_MSVC_VERSION_CHECK(13,10,0)
+ #define simde_bswap64(v) _byteswap_uint64(v)
+#else
+ SIMDE_FUNCTION_ATTRIBUTES
+ uint64_t
+ simde_bswap64(uint64_t v) {
+ return
+ ((v & (((uint64_t) 0xff) << 56)) >> 56) |
+ ((v & (((uint64_t) 0xff) << 48)) >> 40) |
+ ((v & (((uint64_t) 0xff) << 40)) >> 24) |
+ ((v & (((uint64_t) 0xff) << 32)) >> 8) |
+ ((v & (((uint64_t) 0xff) << 24)) << 8) |
+ ((v & (((uint64_t) 0xff) << 16)) << 24) |
+ ((v & (((uint64_t) 0xff) << 8)) << 40) |
+ ((v & (((uint64_t) 0xff) )) << 56);
+ }
+#endif
+
+#if !defined(SIMDE_ENDIAN_ORDER)
+# error Unknown byte order; please file a bug
+#else
+# if SIMDE_ENDIAN_ORDER == SIMDE_ENDIAN_LITTLE
+# define simde_endian_bswap64_be(value) simde_bswap64(value)
+# define simde_endian_bswap64_le(value) (value)
+# elif SIMDE_ENDIAN_ORDER == SIMDE_ENDIAN_BIG
+# define simde_endian_bswap64_be(value) (value)
+# define simde_endian_bswap64_le(value) simde_bswap64(value)
+# endif
+#endif
+
+/* TODO: we should at least make an attempt to detect the correct
+ types for simde_float32/float64 instead of just assuming float and
+ double. */
+
+#if !defined(SIMDE_FLOAT32_TYPE)
+# define SIMDE_FLOAT32_TYPE float
+# define SIMDE_FLOAT32_C(value) value##f
+#else
+# define SIMDE_FLOAT32_C(value) ((SIMDE_FLOAT32_TYPE) value)
+#endif
+typedef SIMDE_FLOAT32_TYPE simde_float32;
+
+#if !defined(SIMDE_FLOAT64_TYPE)
+# define SIMDE_FLOAT64_TYPE double
+# define SIMDE_FLOAT64_C(value) value
+#else
+# define SIMDE_FLOAT64_C(value) ((SIMDE_FLOAT64_TYPE) value)
+#endif
+typedef SIMDE_FLOAT64_TYPE simde_float64;
+
+#if defined(SIMDE_POLY8_TYPE)
+# undef SIMDE_POLY8_TYPE
+#endif
+#if defined(SIMDE_ARM_NEON_A32V7_NATIVE)
+# define SIMDE_POLY8_TYPE poly8_t
+# define SIMDE_POLY8_C(value) (HEDLEY_STATIC_CAST(poly8_t, value))
+#else
+# define SIMDE_POLY8_TYPE uint8_t
+# define SIMDE_POLY8_C(value) (HEDLEY_STATIC_CAST(uint8_t, value))
+#endif
+typedef SIMDE_POLY8_TYPE simde_poly8;
+
+#if defined(SIMDE_POLY16_TYPE)
+# undef SIMDE_POLY16_TYPE
+#endif
+#if defined(SIMDE_ARM_NEON_A32V7_NATIVE)
+# define SIMDE_POLY16_TYPE poly16_t
+# define SIMDE_POLY16_C(value) (HEDLEY_STATIC_CAST(poly16_t, value))
+#else
+# define SIMDE_POLY16_TYPE uint16_t
+# define SIMDE_POLY16_C(value) (HEDLEY_STATIC_CAST(uint16_t, value))
+#endif
+typedef SIMDE_POLY16_TYPE simde_poly16;
+
+#if defined(SIMDE_POLY64_TYPE)
+# undef SIMDE_POLY64_TYPE
+#endif
+#if defined(SIMDE_ARM_NEON_A32V8_NATIVE)
+# define SIMDE_POLY64_TYPE poly64_t
+# define SIMDE_POLY64_C(value) (HEDLEY_STATIC_CAST(poly64_t, value ## ull))
+#else
+# define SIMDE_POLY64_TYPE uint64_t
+# define SIMDE_POLY64_C(value) value ## ull
+#endif
+typedef SIMDE_POLY64_TYPE simde_poly64;
+
+#if defined(SIMDE_POLY128_TYPE)
+# undef SIMDE_POLY128_TYPE
+#endif
+#if defined(SIMDE_ARM_NEON_A32V8_NATIVE) && defined(SIMDE_ARCH_ARM_CRYPTO)
+# define SIMDE_POLY128_TYPE poly128_t
+# define SIMDE_POLY128_C(value) value
+#elif defined(__SIZEOF_INT128__)
+# define SIMDE_POLY128_TYPE __int128
+# define SIMDE_POLY128_C(value) (HEDLEY_STATIC_CAST(__int128, value))
+#else
+# define SIMDE_POLY128_TYPE uint64_t
+# define SIMDE_TARGET_NOT_SUPPORT_INT128_TYPE 1
+#endif
+typedef SIMDE_POLY128_TYPE simde_poly128;
+
+#if defined(__cplusplus)
+ typedef bool simde_bool;
+#elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
+ typedef _Bool simde_bool;
+#elif defined(bool)
+ typedef bool simde_bool;
+#else
+ #include
+ typedef bool simde_bool;
+#endif
+
+#if HEDLEY_HAS_WARNING("-Wbad-function-cast")
+# define SIMDE_CONVERT_FTOI(T,v) \
+ HEDLEY_DIAGNOSTIC_PUSH \
+ _Pragma("clang diagnostic ignored \"-Wbad-function-cast\"") \
+ HEDLEY_STATIC_CAST(T, (v)) \
+ HEDLEY_DIAGNOSTIC_POP
+#else
+# define SIMDE_CONVERT_FTOI(T,v) ((T) (v))
+#endif
+
+/* TODO: detect compilers which support this outside of C11 mode */
+#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L)
+ #define SIMDE_CHECKED_REINTERPRET_CAST(to, from, value) _Generic((value), to: (value), default: (_Generic((value), from: ((to) (value)))))
+ #define SIMDE_CHECKED_STATIC_CAST(to, from, value) _Generic((value), to: (value), default: (_Generic((value), from: ((to) (value)))))
+#else
+ #define SIMDE_CHECKED_REINTERPRET_CAST(to, from, value) HEDLEY_REINTERPRET_CAST(to, value)
+ #define SIMDE_CHECKED_STATIC_CAST(to, from, value) HEDLEY_STATIC_CAST(to, value)
+#endif
+
+#if HEDLEY_HAS_WARNING("-Wfloat-equal")
+# define SIMDE_DIAGNOSTIC_DISABLE_FLOAT_EQUAL _Pragma("clang diagnostic ignored \"-Wfloat-equal\"")
+#elif HEDLEY_GCC_VERSION_CHECK(3,0,0)
+# define SIMDE_DIAGNOSTIC_DISABLE_FLOAT_EQUAL _Pragma("GCC diagnostic ignored \"-Wfloat-equal\"")
+#else
+# define SIMDE_DIAGNOSTIC_DISABLE_FLOAT_EQUAL
+#endif
+
+/* Some functions can trade accuracy for speed. For those functions
+ you can control the trade-off using this macro. Possible values:
+
+ 0: prefer speed
+ 1: reasonable trade-offs
+ 2: prefer accuracy */
+#if !defined(SIMDE_ACCURACY_PREFERENCE)
+# define SIMDE_ACCURACY_PREFERENCE 1
+#endif
+
+#if defined(__STDC_HOSTED__)
+# define SIMDE_STDC_HOSTED __STDC_HOSTED__
+#else
+# if \
+ defined(HEDLEY_PGI_VERSION) || \
+ defined(HEDLEY_MSVC_VERSION)
+# define SIMDE_STDC_HOSTED 1
+# else
+# define SIMDE_STDC_HOSTED 0
+# endif
+#endif
+
+/* Try to deal with environments without a standard library. */
+#if !defined(simde_memcpy)
+ #if HEDLEY_HAS_BUILTIN(__builtin_memcpy)
+ #define simde_memcpy(dest, src, n) __builtin_memcpy(dest, src, n)
+ #endif
+#endif
+#if !defined(simde_memset)
+ #if HEDLEY_HAS_BUILTIN(__builtin_memset)
+ #define simde_memset(s, c, n) __builtin_memset(s, c, n)
+ #endif
+#endif
+#if !defined(simde_memcmp)
+ #if HEDLEY_HAS_BUILTIN(__builtin_memcmp)
+ #define simde_memcmp(s1, s2, n) __builtin_memcmp(s1, s2, n)
+ #endif
+#endif
+
+#if !defined(simde_memcpy) || !defined(simde_memset) || !defined(simde_memcmp)
+ #if !defined(SIMDE_NO_STRING_H)
+ #if defined(__has_include)
+ #if !__has_include()
+ #define SIMDE_NO_STRING_H
+ #endif
+ #elif (SIMDE_STDC_HOSTED == 0)
+ #define SIMDE_NO_STRING_H
+ #endif
+ #endif
+
+ #if !defined(SIMDE_NO_STRING_H)
+ #include
+ #if !defined(simde_memcpy)
+ #define simde_memcpy(dest, src, n) memcpy(dest, src, n)
+ #endif
+ #if !defined(simde_memset)
+ #define simde_memset(s, c, n) memset(s, c, n)
+ #endif
+ #if !defined(simde_memcmp)
+ #define simde_memcmp(s1, s2, n) memcmp(s1, s2, n)
+ #endif
+ #else
+ /* These are meant to be portable, not fast. If you're hitting them you
+ * should think about providing your own (by defining the simde_memcpy
+ * macro prior to including any SIMDe files) or submitting a patch to
+ * SIMDe so we can detect your system-provided memcpy/memset, like by
+ * adding your compiler to the checks for __builtin_memcpy and/or
+ * __builtin_memset. */
+ #if !defined(simde_memcpy)
+ SIMDE_FUNCTION_ATTRIBUTES
+ void
+ simde_memcpy_(void* dest, const void* src, size_t len) {
+ char* dest_ = HEDLEY_STATIC_CAST(char*, dest);
+ char* src_ = HEDLEY_STATIC_CAST(const char*, src);
+ for (size_t i = 0 ; i < len ; i++) {
+ dest_[i] = src_[i];
+ }
+ }
+ #define simde_memcpy(dest, src, n) simde_memcpy_(dest, src, n)
+ #endif
+
+ #if !defined(simde_memset)
+ SIMDE_FUNCTION_ATTRIBUTES
+ void
+ simde_memset_(void* s, int c, size_t len) {
+ char* s_ = HEDLEY_STATIC_CAST(char*, s);
+ char c_ = HEDLEY_STATIC_CAST(char, c);
+ for (size_t i = 0 ; i < len ; i++) {
+ s_[i] = c_[i];
+ }
+ }
+ #define simde_memset(s, c, n) simde_memset_(s, c, n)
+ #endif
+
+ #if !defined(simde_memcmp)
+ SIMDE_FUCTION_ATTRIBUTES
+ int
+ simde_memcmp_(const void *s1, const void *s2, size_t n) {
+ unsigned char* s1_ = HEDLEY_STATIC_CAST(unsigned char*, s1);
+ unsigned char* s2_ = HEDLEY_STATIC_CAST(unsigned char*, s2);
+ for (size_t i = 0 ; i < len ; i++) {
+ if (s1_[i] != s2_[i]) {
+ return (int) (s1_[i] - s2_[i]);
+ }
+ }
+ return 0;
+ }
+ #define simde_memcmp(s1, s2, n) simde_memcmp_(s1, s2, n)
+ #endif
+ #endif
+#endif
+
+/*** Functions that quiet a signaling NaN ***/
+
+static HEDLEY_INLINE
+double
+simde_math_quiet(double x) {
+ uint64_t tmp, mask;
+ if (!simde_math_isnan(x)) {
+ return x;
+ }
+ simde_memcpy(&tmp, &x, 8);
+ mask = 0x7ff80000;
+ mask <<= 32;
+ tmp |= mask;
+ simde_memcpy(&x, &tmp, 8);
+ return x;
+}
+
+static HEDLEY_INLINE
+float
+simde_math_quietf(float x) {
+ uint32_t tmp;
+ if (!simde_math_isnanf(x)) {
+ return x;
+ }
+ simde_memcpy(&tmp, &x, 4);
+ tmp |= 0x7fc00000lu;
+ simde_memcpy(&x, &tmp, 4);
+ return x;
+}
+
+#if defined(FE_ALL_EXCEPT)
+ #define SIMDE_HAVE_FENV_H
+#elif defined(__has_include)
+ #if __has_include()
+ #include
+ #define SIMDE_HAVE_FENV_H
+ #endif
+#elif SIMDE_STDC_HOSTED == 1
+ #include
+ #define SIMDE_HAVE_FENV_H
+#endif
+
+#if defined(EXIT_FAILURE)
+ #define SIMDE_HAVE_STDLIB_H
+#elif defined(__has_include)
+ #if __has_include()
+ #include
+ #define SIMDE_HAVE_STDLIB_H
+ #endif
+#elif SIMDE_STDC_HOSTED == 1
+ #include
+ #define SIMDE_HAVE_STDLIB_H
+#endif
+
+#if defined(__has_include)
+# if defined(__cplusplus) && (__cplusplus >= 201103L) && __has_include()
+# include
+# elif __has_include()
+# include
+# endif
+# if __has_include()
+# include
+# endif
+#elif SIMDE_STDC_HOSTED == 1
+# include
+# include
+#endif
+
+#define SIMDE_DEFINE_CONVERSION_FUNCTION_(Name, T_To, T_From) \
+ static HEDLEY_ALWAYS_INLINE HEDLEY_CONST SIMDE_FUNCTION_POSSIBLY_UNUSED_ \
+ T_To \
+ Name (T_From value) { \
+ T_To r; \
+ simde_memcpy(&r, &value, sizeof(r)); \
+ return r; \
+ }
+
+SIMDE_DEFINE_CONVERSION_FUNCTION_(simde_float32_as_uint32, uint32_t, simde_float32)
+SIMDE_DEFINE_CONVERSION_FUNCTION_(simde_uint32_as_float32, simde_float32, uint32_t)
+SIMDE_DEFINE_CONVERSION_FUNCTION_(simde_float64_as_uint64, uint64_t, simde_float64)
+SIMDE_DEFINE_CONVERSION_FUNCTION_(simde_uint64_as_float64, simde_float64, uint64_t)
+
+#include "check.h"
+
+/* GCC/clang have a bunch of functionality in builtins which we would
+ * like to access, but the suffixes indicate whether the operate on
+ * int, long, or long long, not fixed width types (e.g., int32_t).
+ * we use these macros to attempt to map from fixed-width to the
+ * names GCC uses. Note that you should still cast the input(s) and
+ * return values (to/from SIMDE_BUILTIN_TYPE_*_) since often even if
+ * types are the same size they may not be compatible according to the
+ * compiler. For example, on x86 long and long lonsg are generally
+ * both 64 bits, but platforms vary on whether an int64_t is mapped
+ * to a long or long long. */
+
+#include
+
+HEDLEY_DIAGNOSTIC_PUSH
+SIMDE_DIAGNOSTIC_DISABLE_CPP98_COMPAT_PEDANTIC_
+
+#if (INT8_MAX == INT_MAX) && (INT8_MIN == INT_MIN)
+ #define SIMDE_BUILTIN_SUFFIX_8_
+ #define SIMDE_BUILTIN_TYPE_8_ int
+#elif (INT8_MAX == LONG_MAX) && (INT8_MIN == LONG_MIN)
+ #define SIMDE_BUILTIN_SUFFIX_8_ l
+ #define SIMDE_BUILTIN_TYPE_8_ long
+#elif (INT8_MAX == LLONG_MAX) && (INT8_MIN == LLONG_MIN)
+ #define SIMDE_BUILTIN_SUFFIX_8_ ll
+ #define SIMDE_BUILTIN_TYPE_8_ long long
+#endif
+
+#if (INT16_MAX == INT_MAX) && (INT16_MIN == INT_MIN)
+ #define SIMDE_BUILTIN_SUFFIX_16_
+ #define SIMDE_BUILTIN_TYPE_16_ int
+#elif (INT16_MAX == LONG_MAX) && (INT16_MIN == LONG_MIN)
+ #define SIMDE_BUILTIN_SUFFIX_16_ l
+ #define SIMDE_BUILTIN_TYPE_16_ long
+#elif (INT16_MAX == LLONG_MAX) && (INT16_MIN == LLONG_MIN)
+ #define SIMDE_BUILTIN_SUFFIX_16_ ll
+ #define SIMDE_BUILTIN_TYPE_16_ long long
+#endif
+
+#if (INT32_MAX == INT_MAX) && (INT32_MIN == INT_MIN)
+ #define SIMDE_BUILTIN_SUFFIX_32_
+ #define SIMDE_BUILTIN_TYPE_32_ int
+#elif (INT32_MAX == LONG_MAX) && (INT32_MIN == LONG_MIN)
+ #define SIMDE_BUILTIN_SUFFIX_32_ l
+ #define SIMDE_BUILTIN_TYPE_32_ long
+#elif (INT32_MAX == LLONG_MAX) && (INT32_MIN == LLONG_MIN)
+ #define SIMDE_BUILTIN_SUFFIX_32_ ll
+ #define SIMDE_BUILTIN_TYPE_32_ long long
+#endif
+
+#if (INT64_MAX == INT_MAX) && (INT64_MIN == INT_MIN)
+ #define SIMDE_BUILTIN_SUFFIX_64_
+ #define SIMDE_BUILTIN_TYPE_64_ int
+#elif (INT64_MAX == LONG_MAX) && (INT64_MIN == LONG_MIN)
+ #define SIMDE_BUILTIN_SUFFIX_64_ l
+ #define SIMDE_BUILTIN_TYPE_64_ long
+#elif (INT64_MAX == LLONG_MAX) && (INT64_MIN == LLONG_MIN)
+ #define SIMDE_BUILTIN_SUFFIX_64_ ll
+ #define SIMDE_BUILTIN_TYPE_64_ long long
+#endif
+
+/* SIMDE_DIAGNOSTIC_DISABLE_CPP98_COMPAT_PEDANTIC_ */
+HEDLEY_DIAGNOSTIC_POP
+
+#if defined(SIMDE_BUILTIN_SUFFIX_8_)
+ #define SIMDE_BUILTIN_8_(name) HEDLEY_CONCAT3(__builtin_, name, SIMDE_BUILTIN_SUFFIX_8_)
+ #define SIMDE_BUILTIN_HAS_8_(name) HEDLEY_HAS_BUILTIN(HEDLEY_CONCAT3(__builtin_, name, SIMDE_BUILTIN_SUFFIX_8_))
+#else
+ #define SIMDE_BUILTIN_HAS_8_(name) 0
+#endif
+#if defined(SIMDE_BUILTIN_SUFFIX_16_)
+ #define SIMDE_BUILTIN_16_(name) HEDLEY_CONCAT3(__builtin_, name, SIMDE_BUILTIN_SUFFIX_16_)
+ #define SIMDE_BUILTIN_HAS_16_(name) HEDLEY_HAS_BUILTIN(HEDLEY_CONCAT3(__builtin_, name, SIMDE_BUILTIN_SUFFIX_16_))
+#else
+ #define SIMDE_BUILTIN_HAS_16_(name) 0
+#endif
+#if defined(SIMDE_BUILTIN_SUFFIX_32_)
+ #define SIMDE_BUILTIN_32_(name) HEDLEY_CONCAT3(__builtin_, name, SIMDE_BUILTIN_SUFFIX_32_)
+ #define SIMDE_BUILTIN_HAS_32_(name) HEDLEY_HAS_BUILTIN(HEDLEY_CONCAT3(__builtin_, name, SIMDE_BUILTIN_SUFFIX_32_))
+#else
+ #define SIMDE_BUILTIN_HAS_32_(name) 0
+#endif
+#if defined(SIMDE_BUILTIN_SUFFIX_64_)
+ #define SIMDE_BUILTIN_64_(name) HEDLEY_CONCAT3(__builtin_, name, SIMDE_BUILTIN_SUFFIX_64_)
+ #define SIMDE_BUILTIN_HAS_64_(name) HEDLEY_HAS_BUILTIN(HEDLEY_CONCAT3(__builtin_, name, SIMDE_BUILTIN_SUFFIX_64_))
+#else
+ #define SIMDE_BUILTIN_HAS_64_(name) 0
+#endif
+
+#if !defined(__cplusplus)
+ #if defined(__clang__)
+ #if HEDLEY_HAS_WARNING("-Wc11-extensions")
+ #define SIMDE_GENERIC_(...) (__extension__ ({ \
+ HEDLEY_DIAGNOSTIC_PUSH \
+ _Pragma("clang diagnostic ignored \"-Wc11-extensions\"") \
+ _Generic(__VA_ARGS__); \
+ HEDLEY_DIAGNOSTIC_POP \
+ }))
+ #elif HEDLEY_HAS_WARNING("-Wc1x-extensions")
+ #define SIMDE_GENERIC_(...) (__extension__ ({ \
+ HEDLEY_DIAGNOSTIC_PUSH \
+ _Pragma("clang diagnostic ignored \"-Wc1x-extensions\"") \
+ _Generic(__VA_ARGS__); \
+ HEDLEY_DIAGNOSTIC_POP \
+ }))
+ #endif
+ #elif \
+ defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) || \
+ HEDLEY_HAS_EXTENSION(c_generic_selections) || \
+ HEDLEY_GCC_VERSION_CHECK(4,9,0) || \
+ HEDLEY_INTEL_VERSION_CHECK(17,0,0) || \
+ HEDLEY_IBM_VERSION_CHECK(12,1,0) || \
+ HEDLEY_ARM_VERSION_CHECK(5,3,0)
+ #define SIMDE_GENERIC_(...) _Generic(__VA_ARGS__)
+ #endif
+#endif
+
+/* Sometimes we run into problems with specific versions of compilers
+ which make the native versions unusable for us. Often this is due
+ to missing functions, sometimes buggy implementations, etc. These
+ macros are how we check for specific bugs. As they are fixed we'll
+ start only defining them for problematic compiler versions. */
+
+#if !defined(SIMDE_IGNORE_COMPILER_BUGS)
+# if defined(HEDLEY_GCC_VERSION)
+# if !HEDLEY_GCC_VERSION_CHECK(4,9,0)
+# define SIMDE_BUG_GCC_REV_208793
+# endif
+# if !HEDLEY_GCC_VERSION_CHECK(5,0,0)
+# define SIMDE_BUG_GCC_BAD_MM_SRA_EPI32 /* TODO: find relevant bug or commit */
+# endif
+# if !HEDLEY_GCC_VERSION_CHECK(6,0,0)
+# define SIMDE_BUG_GCC_SIZEOF_IMMEDIATE
+# endif
+# if !HEDLEY_GCC_VERSION_CHECK(4,6,0)
+# define SIMDE_BUG_GCC_BAD_MM_EXTRACT_EPI8 /* TODO: find relevant bug or commit */
+# endif
+# if !HEDLEY_GCC_VERSION_CHECK(7,4,0) || (HEDLEY_GCC_VERSION_CHECK(8,0,0) && !HEDLEY_GCC_VERSION_CHECK(8,3,0))
+# define SIMDE_BUG_GCC_87467
+# endif
+# if !HEDLEY_GCC_VERSION_CHECK(8,0,0)
+# define SIMDE_BUG_GCC_REV_247851
+# endif
+# if !HEDLEY_GCC_VERSION_CHECK(10,0,0)
+# define SIMDE_BUG_GCC_REV_274313
+# define SIMDE_BUG_GCC_91341
+# define SIMDE_BUG_GCC_92035
+# endif
+# if !HEDLEY_GCC_VERSION_CHECK(9,0,0) && defined(SIMDE_ARCH_AARCH64)
+# define SIMDE_BUG_GCC_ARM_SHIFT_SCALAR
+# endif
+# if !HEDLEY_GCC_VERSION_CHECK(9,0,0) && defined(SIMDE_ARCH_AARCH64)
+# define SIMDE_BUG_GCC_BAD_VEXT_REV32
+# endif
+# if !(HEDLEY_GCC_VERSION_CHECK(9,4,0) \
+ || (HEDLEY_GCC_VERSION_CHECK(8,5,0) && !HEDLEY_GCC_VERSION_CHECK(9,0,0)) \
+ ) && defined(SIMDE_ARCH_X86) && !defined(SIMDE_ARCH_AMD64)
+# define SIMDE_BUG_GCC_94482
+# endif
+# if (defined(SIMDE_ARCH_X86) && !defined(SIMDE_ARCH_AMD64)) || defined(SIMDE_ARCH_ZARCH)
+# define SIMDE_BUG_GCC_53784
+# endif
+# if defined(SIMDE_ARCH_X86) || defined(SIMDE_ARCH_AMD64)
+# if HEDLEY_GCC_VERSION_CHECK(4,3,0) /* -Wsign-conversion */
+# define SIMDE_BUG_GCC_95144
+# endif
+# if !HEDLEY_GCC_VERSION_CHECK(11,2,0)
+# define SIMDE_BUG_GCC_95483
+# endif
+# if defined(__OPTIMIZE__)
+# define SIMDE_BUG_GCC_100927
+# endif
+# if !(HEDLEY_GCC_VERSION_CHECK(10,3,0))
+# define SIMDE_BUG_GCC_98521
+# endif
+# endif
+# if !HEDLEY_GCC_VERSION_CHECK(9,4,0) && defined(SIMDE_ARCH_AARCH64)
+# define SIMDE_BUG_GCC_94488
+# endif
+# if !HEDLEY_GCC_VERSION_CHECK(9,1,0) && defined(SIMDE_ARCH_AARCH64)
+# define SIMDE_BUG_GCC_REV_264019
+# endif
+# if (!HEDLEY_GCC_VERSION_CHECK(9,0,0) && !defined(SIMDE_ARCH_AARCH64)) || (!defined(SIMDE_ARCH_AARCH64) && defined(SIMDE_ARCH_ARM))
+# define SIMDE_BUG_GCC_REV_260989
+# endif
+# if defined(SIMDE_ARCH_ARM) && !defined(SIMDE_ARCH_AARCH64)
+# define SIMDE_BUG_GCC_95399
+# define SIMDE_BUG_GCC_95471
+# define SIMDE_BUG_GCC_111609
+# if SIMDE_ARCH_ARM_CHECK(8,0)
+# define SIMDE_BUG_GCC_113065
+# endif
+# endif
+# if defined(SIMDE_ARCH_POWER)
+# define SIMDE_BUG_GCC_95227
+# define SIMDE_BUG_GCC_95782
+# if !HEDLEY_GCC_VERSION_CHECK(12,0,0)
+# define SIMDE_BUG_VEC_CPSGN_REVERSED_ARGS
+# endif
+# endif
+# if defined(SIMDE_ARCH_X86) || defined(SIMDE_ARCH_AMD64)
+# if !HEDLEY_GCC_VERSION_CHECK(10,2,0) && !defined(__OPTIMIZE__)
+# define SIMDE_BUG_GCC_96174
+# endif
+# endif
+# if defined(SIMDE_ARCH_ZARCH)
+# define SIMDE_BUG_GCC_95782
+# if HEDLEY_GCC_VERSION_CHECK(10,0,0)
+# define SIMDE_BUG_GCC_101614
+# endif
+# endif
+# if defined(SIMDE_ARCH_MIPS_MSA)
+# define SIMDE_BUG_GCC_97248
+# if !HEDLEY_GCC_VERSION_CHECK(12,1,0)
+# define SIMDE_BUG_GCC_100760
+# define SIMDE_BUG_GCC_100761
+# define SIMDE_BUG_GCC_100762
+# endif
+# endif
+# if !defined(__OPTIMIZE__) && !(\
+ HEDLEY_GCC_VERSION_CHECK(11,4,0) \
+ || (HEDLEY_GCC_VERSION_CHECK(10,4,0) && !(HEDLEY_GCC_VERSION_CHECK(11,0,0))) \
+ || (HEDLEY_GCC_VERSION_CHECK(9,5,0) && !(HEDLEY_GCC_VERSION_CHECK(10,0,0))))
+# define SIMDE_BUG_GCC_105339
+# endif
+# elif defined(__clang__)
+# if defined(SIMDE_ARCH_AARCH64)
+# define SIMDE_BUG_CLANG_48257 // https://github.com/llvm/llvm-project/issues/47601
+# define SIMDE_BUG_CLANG_71362 // https://github.com/llvm/llvm-project/issues/71362
+# define SIMDE_BUG_CLANG_71365 // https://github.com/llvm/llvm-project/issues/71365
+# define SIMDE_BUG_CLANG_71751 // https://github.com/llvm/llvm-project/issues/71751
+# if !SIMDE_DETECT_CLANG_VERSION_CHECK(15,0,0)
+# define SIMDE_BUG_CLANG_45541
+# endif
+# if !SIMDE_DETECT_CLANG_VERSION_CHECK(12,0,0)
+# define SIMDE_BUG_CLANG_46840
+# define SIMDE_BUG_CLANG_46844
+# endif
+# if SIMDE_DETECT_CLANG_VERSION_CHECK(10,0,0) && SIMDE_DETECT_CLANG_VERSION_NOT(11,0,0)
+# define SIMDE_BUG_CLANG_BAD_VI64_OPS
+# endif
+# if SIMDE_DETECT_CLANG_VERSION_NOT(9,0,0)
+# define SIMDE_BUG_CLANG_GIT_4EC445B8
+# define SIMDE_BUG_CLANG_REV_365298 /* 0464e07c8f6e3310c28eb210a4513bc2243c2a7e */
+# endif
+# endif
+# if defined(SIMDE_ARCH_ARM)
+# if !SIMDE_DETECT_CLANG_VERSION_CHECK(11,0,0)
+# define SIMDE_BUG_CLANG_BAD_VGET_SET_LANE_TYPES
+# endif
+# if defined(SIMDE_ARM_NEON_A32V7_NATIVE) && !defined(SIMDE_ARM_NEON_A32V8_NATIVE)
+# define SIMDE_BUG_CLANG_71763 // https://github.com/llvm/llvm-project/issues/71763
+# endif
+# endif
+# if defined(SIMDE_ARCH_POWER) && !SIMDE_DETECT_CLANG_VERSION_CHECK(12,0,0)
+# define SIMDE_BUG_CLANG_46770
+# endif
+# if defined(SIMDE_ARCH_POWER) && (SIMDE_ARCH_POWER == 700) && (SIMDE_DETECT_CLANG_VERSION_CHECK(11,0,0))
+# if !SIMDE_DETECT_CLANG_VERSION_CHECK(13,0,0)
+# define SIMDE_BUG_CLANG_50893
+# define SIMDE_BUG_CLANG_50901
+# endif
+# endif
+# if defined(_ARCH_PWR9) && !SIMDE_DETECT_CLANG_VERSION_CHECK(12,0,0) && !defined(__OPTIMIZE__)
+# define SIMDE_BUG_CLANG_POWER9_16x4_BAD_SHIFT
+# endif
+# if defined(SIMDE_ARCH_POWER)
+# if !SIMDE_DETECT_CLANG_VERSION_CHECK(14,0,0)
+# define SIMDE_BUG_CLANG_50932
+# endif
+# if !SIMDE_DETECT_CLANG_VERSION_CHECK(12,0,0)
+# define SIMDE_BUG_VEC_CPSGN_REVERSED_ARGS
+# endif
+# endif
+# if defined(SIMDE_ARCH_X86) || defined(SIMDE_ARCH_AMD64)
+# if SIMDE_DETECT_CLANG_VERSION_NOT(5,0,0)
+# define SIMDE_BUG_CLANG_REV_298042 /* 6afc436a7817a52e78ae7bcdc3faafd460124cac */
+# endif
+# if SIMDE_DETECT_CLANG_VERSION_NOT(3,7,0)
+# define SIMDE_BUG_CLANG_REV_234560 /* b929ad7b1726a32650a8051f69a747fb6836c540 */
+# endif
+# if SIMDE_DETECT_CLANG_VERSION_CHECK(3,8,0) && SIMDE_DETECT_CLANG_VERSION_NOT(5,0,0)
+# define SIMDE_BUG_CLANG_BAD_MADD
+# endif
+# if SIMDE_DETECT_CLANG_VERSION_CHECK(4,0,0) && SIMDE_DETECT_CLANG_VERSION_NOT(5,0,0)
+# define SIMDE_BUG_CLANG_REV_299346 /* ac9959eb533a58482ea4da6c4db1e635a98de384 */
+# endif
+# if SIMDE_DETECT_CLANG_VERSION_NOT(8,0,0)
+# define SIMDE_BUG_CLANG_REV_344862 /* eae26bf73715994c2bd145f9b6dc3836aa4ffd4f */
+# endif
+# if HEDLEY_HAS_WARNING("-Wsign-conversion") && SIMDE_DETECT_CLANG_VERSION_NOT(11,0,0)
+# define SIMDE_BUG_CLANG_45931
+# endif
+# if HEDLEY_HAS_WARNING("-Wvector-conversion") && SIMDE_DETECT_CLANG_VERSION_NOT(11,0,0)
+# define SIMDE_BUG_CLANG_44589
+# endif
+# define SIMDE_BUG_CLANG_48673 // https://github.com/llvm/llvm-project/issues/48017
+# endif
+# define SIMDE_BUG_CLANG_45959 // https://github.com/llvm/llvm-project/issues/45304
+# if defined(SIMDE_ARCH_WASM_SIMD128) && !SIMDE_DETECT_CLANG_VERSION_CHECK(17,0,0)
+# define SIMDE_BUG_CLANG_60655
+# endif
+# elif defined(HEDLEY_MSVC_VERSION)
+# if defined(SIMDE_ARCH_X86)
+# define SIMDE_BUG_MSVC_ROUND_EXTRACT
+# endif
+# elif defined(HEDLEY_INTEL_VERSION)
+# define SIMDE_BUG_INTEL_857088
+# elif defined(HEDLEY_MCST_LCC_VERSION)
+# define SIMDE_BUG_MCST_LCC_MISSING_AVX_LOAD_STORE_M128_FUNCS
+# define SIMDE_BUG_MCST_LCC_MISSING_CMOV_M256
+# define SIMDE_BUG_MCST_LCC_FMA_WRONG_RESULT
+# elif defined(HEDLEY_PGI_VERSION)
+# define SIMDE_BUG_PGI_30104
+# define SIMDE_BUG_PGI_30107
+# define SIMDE_BUG_PGI_30106
+# endif
+#endif
+
+/* GCC and Clang both have the same issue:
+ * https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95144
+ * https://bugs.llvm.org/show_bug.cgi?id=45931
+ * This is just an easy way to work around it.
+ */
+#if \
+ (HEDLEY_HAS_WARNING("-Wsign-conversion") && SIMDE_DETECT_CLANG_VERSION_NOT(11,0,0)) || \
+ HEDLEY_GCC_VERSION_CHECK(4,3,0)
+# define SIMDE_BUG_IGNORE_SIGN_CONVERSION(expr) (__extension__ ({ \
+ HEDLEY_DIAGNOSTIC_PUSH \
+ _Pragma("GCC diagnostic ignored \"-Wsign-conversion\"") \
+ __typeof__(expr) simde_bug_ignore_sign_conversion_v_= (expr); \
+ HEDLEY_DIAGNOSTIC_POP \
+ simde_bug_ignore_sign_conversion_v_; \
+ }))
+#else
+# define SIMDE_BUG_IGNORE_SIGN_CONVERSION(expr) (expr)
+#endif
+
+/* Usually the shift count is signed (for example, NEON or SSE).
+ * OTOH, unsigned is good for PPC (vec_srl uses unsigned), and the only option for E2K.
+ * Further info: https://github.com/simd-everywhere/simde/pull/700
+ */
+#if defined(SIMDE_ARCH_E2K) || defined(SIMDE_ARCH_POWER)
+ #define SIMDE_CAST_VECTOR_SHIFT_COUNT(width, value) HEDLEY_STATIC_CAST(uint##width##_t, (value))
+#else
+ #define SIMDE_CAST_VECTOR_SHIFT_COUNT(width, value) HEDLEY_STATIC_CAST(int##width##_t, (value))
+#endif
+
+/* Initial support for RISCV V extensions based on ZVE64D. */
+#if defined(SIMDE_ARCH_RISCV_ZVE64D) && SIMDE_NATURAL_VECTOR_SIZE >= 64
+ #define RVV_FIXED_TYPE_DEF(name, lmul) \
+ typedef vint8##name##_t fixed_vint8##name##_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen * lmul))); \
+ typedef vint16##name##_t fixed_vint16##name##_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen * lmul))); \
+ typedef vint32##name##_t fixed_vint32##name##_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen * lmul))); \
+ typedef vuint8##name##_t fixed_vuint8##name##_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen * lmul))); \
+ typedef vuint16##name##_t fixed_vuint16##name##_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen * lmul))); \
+ typedef vuint32##name##_t fixed_vuint32##name##_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen * lmul))); \
+ typedef vfloat32##name##_t fixed_vfloat32##name##_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen * lmul)));
+ RVV_FIXED_TYPE_DEF(mf2, 1/2);
+ RVV_FIXED_TYPE_DEF(m1, 1);
+ RVV_FIXED_TYPE_DEF(m2, 2);
+ #define RVV_FIXED_TYPE_DEF_64B(name, lmul) \
+ typedef vint64##name##_t fixed_vint64##name##_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen * lmul))); \
+ typedef vuint64##name##_t fixed_vuint64##name##_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen * lmul))); \
+ typedef vfloat64##name##_t fixed_vfloat64##name##_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen * lmul)));
+ RVV_FIXED_TYPE_DEF_64B(m1, 1);
+ RVV_FIXED_TYPE_DEF_64B(m2, 2);
+ #if defined(SIMDE_ARCH_RISCV_ZVFH)
+ #define RVV_FIXED_TYPE_DEF_16F(name, lmul) \
+ typedef vfloat16##name##_t fixed_vfloat16##name##_t __attribute__((riscv_rvv_vector_bits(__riscv_v_fixed_vlen * lmul)));
+ RVV_FIXED_TYPE_DEF_16F(mf2, 1/2);
+ RVV_FIXED_TYPE_DEF_16F(m1, 1);
+ RVV_FIXED_TYPE_DEF_16F(m2, 2);
+ #endif
+#endif
+
+/* SIMDE_DIAGNOSTIC_DISABLE_USED_BUT_MARKED_UNUSED_ */
+HEDLEY_DIAGNOSTIC_POP
+
+#endif /* !defined(SIMDE_COMMON_H) */
diff --git a/external_libs/pgenlib/simde/simde-complex.h b/external_libs/pgenlib/simde/simde-complex.h
new file mode 100644
index 0000000..48ebe4c
--- /dev/null
+++ b/external_libs/pgenlib/simde/simde-complex.h
@@ -0,0 +1,148 @@
+/* SPDX-License-Identifier: MIT
+ *
+ * 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.
+ *
+ * Copyright:
+ * 2020-2021 Evan Nemerson
+ */
+
+/* Support for complex math.
+ *
+ * We try to avoid including (in C++ mode) since it pulls in
+ * a *lot* of code. Unfortunately this only works for GNU modes (i.e.,
+ * -std=gnu++14 not -std=c++14) unless you pass -fext-numeric-literals,
+ * but there is no way (AFAICT) to detect that flag so we have to rely
+ * on __STRICT_ANSI__ to instead detect GNU mode.
+ *
+ * This header is separate from simde-math.h since there is a good
+ * chance it will pull in , and most of the time we don't need
+ * complex math (on x86 only SVML uses it). */
+
+#if !defined(SIMDE_COMPLEX_H)
+#define SIMDE_COMPLEX_H 1
+
+#include "simde-math.h"
+
+#if ( \
+ HEDLEY_HAS_BUILTIN(__builtin_creal) || \
+ HEDLEY_GCC_VERSION_CHECK(4,7,0) || \
+ HEDLEY_INTEL_VERSION_CHECK(13,0,0) \
+ ) && (!defined(__cplusplus) && !defined(__STRICT_ANSI__))
+ HEDLEY_DIAGNOSTIC_PUSH
+ SIMDE_DIAGNOSTIC_DISABLE_C99_EXTENSIONS_
+ typedef __complex__ float simde_cfloat32;
+ typedef __complex__ double simde_cfloat64;
+ HEDLEY_DIAGNOSTIC_POP
+ #define SIMDE_MATH_CMPLX(x, y) (HEDLEY_STATIC_CAST(double, x) + HEDLEY_STATIC_CAST(double, y) * (__extension__ 1.0j))
+ #define SIMDE_MATH_CMPLXF(x, y) (HEDLEY_STATIC_CAST(float, x) + HEDLEY_STATIC_CAST(float, y) * (__extension__ 1.0fj))
+
+ #if !defined(simde_math_creal)
+ #define simde_math_crealf(z) __builtin_crealf(z)
+ #endif
+ #if !defined(simde_math_crealf)
+ #define simde_math_creal(z) __builtin_creal(z)
+ #endif
+ #if !defined(simde_math_cimag)
+ #define simde_math_cimagf(z) __builtin_cimagf(z)
+ #endif
+ #if !defined(simde_math_cimagf)
+ #define simde_math_cimag(z) __builtin_cimag(z)
+ #endif
+ #if !defined(simde_math_cexp)
+ #define simde_math_cexp(z) __builtin_cexp(z)
+ #endif
+ #if !defined(simde_math_cexpf)
+ #define simde_math_cexpf(z) __builtin_cexpf(z)
+ #endif
+#elif !defined(__cplusplus)
+ #include
+
+ #if !defined(HEDLEY_MSVC_VERSION)
+ typedef float _Complex simde_cfloat32;
+ typedef double _Complex simde_cfloat64;
+ #else
+ typedef _Fcomplex simde_cfloat32;
+ typedef _Dcomplex simde_cfloat64;
+ #endif
+
+ #if defined(HEDLEY_MSVC_VERSION)
+ #define SIMDE_MATH_CMPLX(x, y) ((simde_cfloat64) { (x), (y) })
+ #define SIMDE_MATH_CMPLXF(x, y) ((simde_cfloat32) { (x), (y) })
+ #elif defined(CMPLX) && defined(CMPLXF)
+ #define SIMDE_MATH_CMPLX(x, y) CMPLX(x, y)
+ #define SIMDE_MATH_CMPLXF(x, y) CMPLXF(x, y)
+ #else
+ #define SIMDE_MATH_CMPLX(x, y) (HEDLEY_STATIC_CAST(double, x) + HEDLEY_STATIC_CAST(double, y) * I)
+ #define SIMDE_MATH_CMPLXF(x, y) (HEDLEY_STATIC_CAST(float, x) + HEDLEY_STATIC_CAST(float, y) * I)
+ #endif
+
+ #if !defined(simde_math_creal)
+ #define simde_math_creal(z) creal(z)
+ #endif
+ #if !defined(simde_math_crealf)
+ #define simde_math_crealf(z) crealf(z)
+ #endif
+ #if !defined(simde_math_cimag)
+ #define simde_math_cimag(z) cimag(z)
+ #endif
+ #if !defined(simde_math_cimagf)
+ #define simde_math_cimagf(z) cimagf(z)
+ #endif
+ #if !defined(simde_math_cexp)
+ #define simde_math_cexp(z) cexp(z)
+ #endif
+ #if !defined(simde_math_cexpf)
+ #define simde_math_cexpf(z) cexpf(z)
+ #endif
+#else
+ HEDLEY_DIAGNOSTIC_PUSH
+ #if defined(HEDLEY_MSVC_VERSION)
+ #pragma warning(disable:4530)
+ #endif
+ #include
+ HEDLEY_DIAGNOSTIC_POP
+
+ typedef std::complex simde_cfloat32;
+ typedef std::complex simde_cfloat64;
+ #define SIMDE_MATH_CMPLX(x, y) (std::complex(x, y))
+ #define SIMDE_MATH_CMPLXF(x, y) (std::complex