From e898c29c6eb5fad6befae87d697297234621dec9 Mon Sep 17 00:00:00 2001 From: xyg123 <33658607+xyg123@users.noreply.github.com> Date: Thu, 29 Feb 2024 17:06:22 +0000 Subject: [PATCH 1/7] chore: Unit tests for coloc (#509) * feat: include single snp overlaps in coloc calcs * chore: added unit test for coloc * feat: include single snp overlaps in coloc calcs * chore: added unit test for coloc * fix: check for differences in test results * fix: revert changes to single snp coloc tests for other pr * fix: revert single snp change * chore: restructure test folder * fix: compare differences in results rather than exact match * chore: test description --- .../coloc_test_data.snappy.parquet | Bin 0 -> 11927 bytes .../method/test_colocalisation_method.py | 35 +++++++++++++++--- 2 files changed, 30 insertions(+), 5 deletions(-) create mode 100644 tests/gentropy/data_samples/coloc_test_data.snappy.parquet diff --git a/tests/gentropy/data_samples/coloc_test_data.snappy.parquet b/tests/gentropy/data_samples/coloc_test_data.snappy.parquet new file mode 100644 index 0000000000000000000000000000000000000000..71b3913ebfc68e1bc5e0425b3915d59e66406684 GIT binary patch literal 11927 zcmbVy1z43!)b0j0DGi&J?(Pzt1uBA+M-gm9N)9Pti^m{TPz1$5L2LyTF|dH4B%~Xp zyOEHTxF0G<|5NwBcRzbQYvP@?X4X41-=5judZP_$6f%XK!c7_NywSpHK%u6PNhAg# zD$@54g+!sFFi}3Zz+8@vB09I}5cVXbpNc*AWB7U{-*ECt3pluOJD7luu)_%98#i44(PF5#)TLcn{MdZI+6TB_r z2*twt@3atu}jP7@C{sXyWg{-m2jV8ejv4atYe+XGqHD7)y zv#5yz#+OS4mc-uj6Z_XRS@SzL1jO?GUn>{$WKDH5_8*CFfzl+nu^j&gs3A$ya)^+d zgsdloimXYHwAf)aCp8L34#xqC>^JT-HJ22zsr|icWXgtwVySN+(a9Te-{?r@3o99gk6jO78b;4As0nF z>MZ_E4D@sspP_zwy5E%^@hmQ0NvT~)=@^b2Wcl@R`#|K&eYPJDT&fp$_3wY3L09fG zY?8S)j~Mcl@|B*5fkK+k;4Zcd{OX$4y7ml4&^Php+>@>g5so{|I6Jt2b~ZJt&&~i$ z#fRvw-mSn&$B;n7<669~D=jZ4TNSpfc^+ssp#}{KMO!D6>0prO(7A2u?C`0T&8Rj) z5PX;qe@=O-0lMq_tKSMM0|OooxYmi0+2|(LbG3@FA$mGbE=?Wg*CxMAV4{O`r{0$J z(K0~l(&9!r0^sj=TS4M;AIdRFG4H&p3LBzAPKLP2!=Y6Z0!kMI;qV_F4|qkW!K-Y- z`Am;GjBQ$LESsbVYhu#mf0LI1I+x-#_l?T2!-lHkiSHNCR@-|Qo~`7ECe9YT&X)rD zjGYB(4*XCOUTnd=wh~Vq7|2ebmV|KM+Na0KN}$|#__t5ib$G`MyM4ap?BLk*Bx(~b z$4Pk|n`*s8!B}wF{GJ2_sClbYpcO0&-iGVPg8M{4gYLS#aCJWB=@h)oZz2w--r1xC zFG#_;LDe19v?sZB?p2r63(~-pfedM%s~{|Vsb24@E)A(SG>d0L8Ns&lgVK%9W2kOorSXw>g}5dy zrythaIN=)|K)gbh!+@`yBNR>1-V+vnT-q(Df7vEN0$hc z_XngbJZ?t`n>?xVR?EQVfrzKwJSDigR6ERLa}lEY5R#Z|%>Y+VrQK-QC=BizD++4o z*?@lCmU{-O9q3eTsK@g+?MNwylIW8`f*QJOTg!P{(XEjF<3m225ZdBsxAkiey8qB# zWn88OrH{?6*Ip$FLQTh$;+OG3&W`$&cdUXia=WSC=JzxB~a<2!nIk#&h1f7x7l(P%DRA5!lt$6_+F- z30no$`3ULo!={rl2I1#l~dOoA96b6 z_Wl}_Ao6OZ6t>^^JTS6io6*@C)=@=-I_+qyV7|LDW>a{TIlaU zSZ2KhaLw6_^3n~WW8<Q9i4V zGA?*&7(Cp-$`0;-n2imcA4a<;-5)bPDMd5}2aQ}llq1{IZ$f1y=1>vOrvB@ly(nYn z*ZC_unc?9ZWZl3uhDuWTkCd1VqvM^FOT%PtP$-RR9amujrJnrEhU|G{v^&nE*PRQ7 zR3F~-Sl|XZrHfaSt;P|aTR*_Kfezjquv$y6Dn`?}9;yqFh0lvqHJdsOqOB%Q{Wrvh z5f$GCw!Tn$NP0c1AjmBZ)St5#LWi3WRVDokTBd50eZqFC`!PG*{`B59rJ)0jat(FV zxU<2;dk!y2sVn$FX<$(Nj$-^!ve-DNpAH;!Erydh^Kk0Mkz)r0USnDHSP|zPbI6u| zCE4R;2~Kr>b>-0WSyV8)6ry^C(A%yEA^1=eG*h<6`HwTt;f-ivsPWn z9Yhlg_1IKI{CH{CKRf7H#6I4=uYl+=N3mm7D7M7XzpfDrR z!I;4S}c$CEs2~&1*A+lH}sD z^C~itwn5af(8HDZ@$DBMOLjG4D*NCUtPX>y->%8sVNE?|i)QeZc>WBfg|~TfP>TWY z-I{{BgY~#Iy<1B6W;1e_cGNlgx*A8H3A$`}v>rEfu`4VDR-iT8X^%{-eub`_r~9h+ zAs*RA^h*u<6ywQb;VXoUDzQYiR-yT-clfwF7j?#&X2jcLSgItKi{gXsxmHX(MP?iK zY;3!qiqBZSxM`x(h9!o^@5~rxW7po*+IMtv@#m!6EF0B0I_`c}NTbWxgc>CW6HS7KP_6BB zde(|E>?t%frY!IZJ)1-IF3&3Po@UjTUn-igQGH`Cw?!3}zIsh;{Zs}zFrOVm*%?F3%khA=;>CfWB5ZQVM3U7y1VC}N{D@>+(F%DD+;F{(!ep+hwH1>HsKr5YjZB>HsI}UwS0%X3GwL#Da9wMaKR$_$lXJH*@-CeCJfaD3@k0%4&UC zVfvyG-`VbAnUP$NA6Y5bXkFHf6JHE35r@df$RXbUN1NsBY zY|XpT!p>xwiG95&=Z<(5O>{r9@;WWExgZloMZ94#nkvLE^j~cbb*;pQDx)@!`-;Nl z2$jk{y)GO;dwh4L@Lm)Y@=(z#x)pEHDSQsytyqm=e@~)s3l5$ez8zLuhJ9wN4MYW- zvB9Cv?qe4^Ft6pOoUZ;xY}MEF#GJYnPxzG|Ici3Nb0N>Zgmr#GhD;Be*v7jsb?{kd z+7%7BHmIIWTfG&>o!nAgwW3A;G1uDO+2fmdzOY~C$7ghke!`od?M zh#guj1k*}7aL(tAb;_%&aZu|9(!$1Wd}-95o4z&&SBh=pIFG7u;Am+&$F3@TmwmN} zoO3(&I#bY_Pt$;Dvty!v>l(mZ&p)}_phC>Y(;JpK^$ZDm3v@3$E5vTOU(#|Ly5 zufI!Y`B;GuK0(j9NIf{^Wz@us=pdF)2$N9sdWT)!kMC=Z>ciK>4?1e!9l#Sv-aB<` zHa@yWddJf*@(`wbcjq662C-txtX_6gKc=yHhyBz^?v6dK3|u!rIxxE-}Bn5oA9g+N9P`M$R6v$<=XQ0>2r#ZcxrP`wR1m) ztLL8^E$hbA(&~@SQMz%$P2;@1@@3e7`v&bk`5|mf$=KUIGKeP|yKlqbAhs=7b~FA= zHIAn^R$u4q#KX@&oV_+WfQ{D;R29Vwfg6>(p%;BAX1eR_WX;fvCvU&7h!Y`rRyNmf z{M3erlj?^LcsAi}XJohZJsiL-f2`V>xw8w;*S=a_a;^oRm(7!G@gBq-#}1oq= zSXF@)WFpKy7EGY%h(P}mZh2U@J-FCpP#A7M%_-68k%QH~D#w~mh=Ccaf?MbwRgm8w zvu(rPF(gQOx6tpU2DgOXCl0-kfP;Q@-g2~(5G4>8xqj6I3R+ps-*cD;<|6*E-Lg^w z))j7jZDYm>Tjl1nT-!+S=PACkf4uo$Pw{#tU%wtSsK93n-!e|!=K!}bu0gdRAz;5- zaH#xUH5PoePy90)N6Otco5XhM!2W>VC!I#?u9stW zK9x5M57i;?qD}I?cx`C0jUmfO&Z5fF+Gtmu1@yRy(o*2c0L4YYbr)DQVO!FzQ19QA z!Io{?33tXU{H5`hyHkt=NUZ4Y37gh}GkQkV-n64=LPfGEe5(w!E4@Db(p?Y+N4Z)r z&NSl{Ji?O9@6|y&HII$bEeA|@`R<35$w0K+j*Q{ZUUXPY(QqfV9Ar7&ATx}s1C_@1 z#Syz}kzz0|yxjNEzB=5g$KDV*#tlg&qc>I%Sd-&zG~Rf0`-#?GP{Yg*mouM~iuqT4$NunuGy># zfhyC+Eo+saI#%YjLAVOMj!^!TB+CcOPIi9m8y`b122?9K9J%2_M}VNCDW*L?qAZ~( z1sRW@fU`LttcWVYs=LHN(YM&o-!2ucYIY2XCr*8a^1HU*mJx$C_shM8>7qbI3fz5O zG80Qpm<;dr5eLr-zbwmmX6V;4p|2lpz(LHi{%JcnL7qOFt-zTJ%1ifO>MoE0Nh;Pt zpH@kDu5^*A@gy^x+pFLGdx|LZlpeq7Gs+EZslBhWy~N<|`CasFzIoVXce3G|vtq<5 z_t@9UG>x>1w#JPTr~lQ~pPnzQE5mCxkyX=(TcFEBca*C>Q$VLr$ldS}HK>Ve1%{sC zf(3m4wB8*a*y&vt$IwO%HRoOw1sBu8lhpmw^-5I0v@eW$aC9Dtk6Nu?F~tBHVV?Gh zG5oM$|9)4{-~;ZdmwVQq+Ygf6`Vr5J*~I-%+z_!wvNo254&LzZ$PMhJg^YU) zA0KQIfg@V>_R0(Nur|2d`ovdyIDa-{`p{((_}jWw=ywW$-jpBJJeMd;ik7^@E?l6W zncj9lwgSsl*kArcCk{NhHW^QazoLBxG7XpHmw__pqcGFx86?#Bs77T*1o97m9jbMZ zfY-&<=pNML0J-Ju!HyMJn$yutvq=;b?>=_qV6MP%i7|KBvq-SlygR%vnF7jRI41|f zxnVnB@?fw&52)RwdKi6+1E%?Yzp&j}1X6gjchMZ-hQpC|W|2eOP%CxVVtu#}R4diC zS;nx!Y@31ShnP$h`b_tWTTmw|xx*2nMBJ`uA2!yS8y-g?W2rIA_lbaKa>D*+c~r2) z_suxvHZv$q@?Fho7J;}m*J+%)dBNKGxUIRw6e>HBy?N`1C`k3XbH-SULEm!6bhA5D zaI*gB5ldQ8@Y}i9_|OL8*Cy-L^xp-Z;)P2(tig%=5O|4p^CseH`bP+xR?$`BwkhFZ zmg|0LDAG`y@=>D!>jQO+S3}#-z&5Fo@mx``c4EkRL*fLJ`XUA2W6NP}K!WAuVasmCoh>R3uc{N_t+(ksQmqiA4igXpm^6xmof(RlL$t&PdvPx1W^c@<5Ve+^B6Y8`uibFl9fYhm-d=M=;tvLPn*l zc#0)Cz|QE++O_f&aA(@JZT0~>Y#tPJBP&lKQ~HzRGa+(N_j^{+oeoYoBdZzY)>Vqy zUTH71`*A{DxPs03cH&mWUz(Omiy3@B=G~B!C4ub6{&3qgdNAaF=RV)nfc#ok3BDa; zhm?FY!u`G)1wM}pwSV4tUXEMJxrC}`cwwiSF@l%17S3O(Upa!s_vx+6J7}y^K$O z${*op8C#>B$Ix47?MmAh4 zUUW~B;0Ed9-YrxkXnN=ALu<>a!R&F}j>xUKcteGpBHMv^v_X(Hp)X(##fXGQ*b={^ zJUX2ipHhE8r$ypk3tXH+MHW}J=N~R0*SV%uPW5CEzqMe+1k@nbU+tJa#0D>~Y;Bgy zXNB$y(Jy4Kvx6I@d+fbnIle0(ZEt!uBQ$iO^3X%luJupKZ;U z=e@vwbq{)|zbm|H58DVj-5yZvAe>G-_s=?Ijx-@_ZEc_9(oJ|wN49#NK&Lx2=>kdRUjziX9hgMBiY%k)eA01ekd%nviyrj5Qas(U6HS==T)Y3N)h+nVy3U~4 z17DEYld0H?-9!>xQtpaQRNo}Vs~>%ekS5_y-|C()4z zt5NEU#HrLG&ZM776^!@HmZzMpMRD_&c;{aC>`|%= zB-czkODdg4yZn#qp}`w?|IzEkVIfoKz}fMxE59`$weveJIlF&CX;s_s33o*ZYFuYN zQ8M#rHN^gq*lxrFZ`sxs{;*_ev=HyoJOYIy60{OH{+&>Ml0nFJt*5& zm~qFtEEM1#ViD3=gQ^bryp=rNg;#7!AMHIN2epocO{yWY$lX@A{jPlzmNjmpw#jP4 zBga`{GWDwQ^2nLv&zNS=r(?b@q3frSLZy*I4`l{1Y!g?QS>A{@QC=$zo44Yzy53Wb zZnTiYD9I!$!3o~=ZQ;|9j?D5~yu%NDMU~s_H+Oaw;P|zBsFfKCu@9}r#$_B0xM4!0 z`!lgmgq+}b_(`h_TTVXMTNc}l{Yp<39Oj%v^BrBStXrG0`(O(;Sw#&i&DoDel8Mu5 zeVp=50vCU{xXe6K5PHskR7w%(MN~8+qA!&d;dIFFJba!iU>_QwU$~H3C@gF*s3!-P3u7=9&iYiC=$_tivwf{*(>E(c5LhA{jw5}(x>WV zR;B@`nm=B9*wKT=IB#tZkfA`LdtoBodIgY)V^J&fslpw}N4@ATszc1>`G00gB}#4sk=WVoD-O-r^NQM5&s_Qtx8#ywSe9S?pC8$>_Ge+ z)ckx5OK;`j2s~6vWTl^5!OUYlVsnq!SsMLNbp!Oq5X#Di_eko&Ex^^OL zEd4|OYxUCnC#si@{y(aPc#J9fL{~`sLOd_2{!HGc{xjJ?O=(*G1MyCj5{7=HbL@Yl z2}@z7%zi!&zV7yZj(eOv9VkpB3R#N8$L`_m;=j>_@^w9GQ@q0)c3sK1YQVeANzxR(qO@Mejc>JY} zr5S{NGWRpZLz4ZI&!43vensLHOEQI;MBLjfDiY77TT~Qop7K~K%1V;-OX9W1A3py+ z`0q}C=kXqPn0X^uVNbZN=(F)Xd4MW=r+{ncsU?Ztsse{;&y zmr6y|=K;m2XW7a5n`ilOTW}<4!YU;}BqO!a9xp_E=>gYIYs5S<`` yYCAh>sXJ;ox;SV%YH04(ady$rP*>AXS9jFYl;igxw&lNkNmO(s(t6^R^#239QVC4} literal 0 HcmV?d00001 diff --git a/tests/gentropy/method/test_colocalisation_method.py b/tests/gentropy/method/test_colocalisation_method.py index a0e7508a4..a4fe07646 100644 --- a/tests/gentropy/method/test_colocalisation_method.py +++ b/tests/gentropy/method/test_colocalisation_method.py @@ -2,13 +2,11 @@ from __future__ import annotations -from typing import TYPE_CHECKING - from gentropy.dataset.colocalisation import Colocalisation +from gentropy.dataset.study_locus_overlap import StudyLocusOverlap from gentropy.method.colocalisation import Coloc, ECaviar - -if TYPE_CHECKING: - from gentropy.dataset.study_locus_overlap import StudyLocusOverlap +from pyspark.sql import SparkSession +from pyspark.sql import functions as f def test_coloc(mock_study_locus_overlap: StudyLocusOverlap) -> None: @@ -16,6 +14,33 @@ def test_coloc(mock_study_locus_overlap: StudyLocusOverlap) -> None: assert isinstance(Coloc.colocalise(mock_study_locus_overlap), Colocalisation) +def test_coloc_colocalise( + spark: SparkSession, + threshold: float = 1e-5, +) -> None: + """Compare COLOC results with R implementation, using provided sample dataset from R package (StudyLocusOverlap).""" + test_overlap_df = spark.read.parquet( + "tests/gentropy/data_samples/coloc_test_data.snappy.parquet", header=True + ) + test_overlap = StudyLocusOverlap(test_overlap_df, StudyLocusOverlap.get_schema()) + test_result = Coloc.colocalise(test_overlap) + + expected = spark.createDataFrame( + [ + { + "h0": 1.3769995397857477e-18, + "h1": 2.937336451601565e-10, + "h2": 8.593226431647826e-12, + "h3": 8.338916748775843e-4, + "h4": 0.9991661080227981, + } + ] + ) + difference = test_result.df.select("h0", "h1", "h2", "h3", "h4").subtract(expected) + for col in difference.columns: + assert difference.filter(f.abs(f.col(col)) > threshold).count() == 0 + + def test_ecaviar(mock_study_locus_overlap: StudyLocusOverlap) -> None: """Test eCAVIAR.""" assert isinstance(ECaviar.colocalise(mock_study_locus_overlap), Colocalisation) From ffa3d343585d77f5241f9a49b93d01cece6be3f2 Mon Sep 17 00:00:00 2001 From: Robin Meijer <76998782+RobinM-code@users.noreply.github.com> Date: Mon, 4 Mar 2024 10:53:37 +0100 Subject: [PATCH 2/7] fix variant annotation config (#510) --- src/gentropy/config.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gentropy/config.py b/src/gentropy/config.py index 552c50d1d..8b17219c1 100644 --- a/src/gentropy/config.py +++ b/src/gentropy/config.py @@ -263,7 +263,7 @@ class VariantAnnotationConfig(StepConfig): } ) variant_annotation_path: str = MISSING - _target_: str = "gentropytropy.variant_annotation.VariantAnnotationStep" + _target_: str = "gentropy.variant_annotation.VariantAnnotationStep" @dataclass From ec9d2c7254b6bd9493acdd33bcf568d9fe1b2f75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Irene=20L=C3=B3pez?= <45119610+ireneisdoomed@users.noreply.github.com> Date: Mon, 4 Mar 2024 14:11:41 +0000 Subject: [PATCH 3/7] feat: extract credible sets and studies from eQTL Catalogue finemapping results (#514) * feat: dataflow decompress prototype (#501) * chore: commit susie results gist * feat(study_index): add `tissueFromSourceId` to schema and make `traitFromSource` nullable * fix: bug and linting fixes in new eqtl ingestion step * perf: config bugfixes and performance improvements * perf: remove data persistance to avoid executor failure * perf: load susie results for studies of interest only * perf: collect locus for leads only and optimise partitioning cols * feat: parametrise methods to include * feat: run full dag * test: add tests * fix: reorder test inputs * docs: update eqtl catalogue docs * fix: correct typos in tests docstrings * fix: correct typos in tests docstrings * test: fix * revert: revert unwanted change in studyId definition * test: final fix --------- Co-authored-by: David Ochoa --- config/datasets/ot_gcp.yaml | 1 - config/step/ot_eqtl_catalogue.yaml | 9 +- .../eqtl_catalogue/_eqtl_catalogue.md | 8 +- .../datasources/eqtl_catalogue/finemapping.md | 5 + docs/python_api/steps/eqtl_catalogue.md | 2 +- src/airflow/dags/eqtl_preprocess.py | 74 +++++ src/airflow/requirements.txt | 1 + src/gentropy/assets/schemas/study_index.json | 8 +- src/gentropy/config.py | 7 +- .../datasource/eqtl_catalogue/finemapping.py | 267 ++++++++++++++++++ .../datasource/eqtl_catalogue/study_index.py | 193 ++++--------- src/gentropy/eqtl_catalogue.py | 85 +++--- tests/gentropy/conftest.py | 40 +-- .../data_samples/QTD000584.credible_sets.tsv | 201 +++++++++++++ .../data_samples/QTD000584.lbf_variable.txt | 201 +++++++++++++ .../eqtl_catalogue_studies_sample.tsv | 11 - .../sample_eqtl_catalogue_studies.tsv | 2 + .../eqtl_catalogue/test_eqtl_catalogue.py | 56 ++++ .../test_eqtl_catalogue_study_index.py | 19 -- .../test_eqtl_catalogue_summary_stats.py | 17 -- 20 files changed, 961 insertions(+), 246 deletions(-) create mode 100644 docs/python_api/datasources/eqtl_catalogue/finemapping.md create mode 100644 src/airflow/dags/eqtl_preprocess.py create mode 100644 src/gentropy/datasource/eqtl_catalogue/finemapping.py create mode 100644 tests/gentropy/data_samples/QTD000584.credible_sets.tsv create mode 100644 tests/gentropy/data_samples/QTD000584.lbf_variable.txt delete mode 100644 tests/gentropy/data_samples/eqtl_catalogue_studies_sample.tsv create mode 100644 tests/gentropy/data_samples/sample_eqtl_catalogue_studies.tsv create mode 100644 tests/gentropy/datasource/eqtl_catalogue/test_eqtl_catalogue.py delete mode 100644 tests/gentropy/datasource/eqtl_catalogue/test_eqtl_catalogue_study_index.py delete mode 100644 tests/gentropy/datasource/eqtl_catalogue/test_eqtl_catalogue_summary_stats.py diff --git a/config/datasets/ot_gcp.yaml b/config/datasets/ot_gcp.yaml index 54c7dd2fe..ebc9fc9c2 100644 --- a/config/datasets/ot_gcp.yaml +++ b/config/datasets/ot_gcp.yaml @@ -39,7 +39,6 @@ thurman: ${datasets.static_assets}/thurman2012/genomewideCorrs_above0.7_promoter target_index: ${datasets.release_folder}/targets # OTP 23.12 data gene_interactions: ${datasets.release_folder}/interaction # OTP 23.12 data -eqtl_catalogue_paths_imported: ${datasets.inputs}/preprocess/eqtl_catalogue/tabix_ftp_paths_imported.tsv finngen_finemapping_results_path: ${datasets.inputs}/Finngen_susie_finemapping_r10/full finngen_finemapping_summaries_path: ${datasets.inputs}/Finngen_susie_finemapping_r10/Finngen_susie_credset_summary_r10.tsv diff --git a/config/step/ot_eqtl_catalogue.yaml b/config/step/ot_eqtl_catalogue.yaml index 141c94ee3..06076d228 100644 --- a/config/step/ot_eqtl_catalogue.yaml +++ b/config/step/ot_eqtl_catalogue.yaml @@ -1,6 +1,9 @@ defaults: - eqtl_catalogue -eqtl_catalogue_paths_imported: ${datasets.eqtl_catalogue_paths_imported} -eqtl_catalogue_study_index_out: ${datasets.eqtl_catalogue_study_index_out} -eqtl_catalogue_summary_stats_out: ${datasets.eqtl_catalogue_summary_stats_out} +eqtl_catalogue_paths_imported: ??? +eqtl_catalogue_study_index_out: ??? +eqtl_catalogue_credible_sets_out: ??? +session: + extended_spark_conf: + "spark.sql.shuffle.partitions": "3200" diff --git a/docs/python_api/datasources/eqtl_catalogue/_eqtl_catalogue.md b/docs/python_api/datasources/eqtl_catalogue/_eqtl_catalogue.md index 5382d9d57..c2e7c79ce 100644 --- a/docs/python_api/datasources/eqtl_catalogue/_eqtl_catalogue.md +++ b/docs/python_api/datasources/eqtl_catalogue/_eqtl_catalogue.md @@ -2,10 +2,6 @@ title: eQTL Catalogue --- -The [eQTL Catalogue](https://www.ebi.ac.uk/eqtl/) aims to provide uniformly processed gene expression and splicing Quantitative Trait Loci (QTLs) from all available public studies on humans. +The [eQTL Catalogue](https://www.ebi.ac.uk/eqtl/) aims to provide unified gene, protein expression and splicing Quantitative Trait Loci (QTLs) from all available human public studies. -It serves as the ultimate resource of eQTLs that we use for colocalization and target prioritization. - -We utilize data from the following study within the eQTL Catalogue: - -1. **GTEx v8**, 49 tissues +It serves as the ultimate resource of mQTLs that we use for colocalization and target prioritization. diff --git a/docs/python_api/datasources/eqtl_catalogue/finemapping.md b/docs/python_api/datasources/eqtl_catalogue/finemapping.md new file mode 100644 index 000000000..c272de266 --- /dev/null +++ b/docs/python_api/datasources/eqtl_catalogue/finemapping.md @@ -0,0 +1,5 @@ +--- +title: Fine mapping results +--- + +::: gentropy.datasource.eqtl_catalogue.finemapping.EqtlCatalogueFinemapping diff --git a/docs/python_api/steps/eqtl_catalogue.md b/docs/python_api/steps/eqtl_catalogue.md index 17ea6a6f6..32f2aa257 100644 --- a/docs/python_api/steps/eqtl_catalogue.md +++ b/docs/python_api/steps/eqtl_catalogue.md @@ -1,5 +1,5 @@ --- -title: eqtl_catalogue +title: eQTL Catalogue --- ::: gentropy.eqtl_catalogue.EqtlCatalogueStep diff --git a/src/airflow/dags/eqtl_preprocess.py b/src/airflow/dags/eqtl_preprocess.py new file mode 100644 index 000000000..40a3c1d6a --- /dev/null +++ b/src/airflow/dags/eqtl_preprocess.py @@ -0,0 +1,74 @@ +"""Airflow DAG to extract credible sets and a study index from eQTL Catalogue's finemapping results.""" + +from __future__ import annotations + +from pathlib import Path + +import common_airflow as common +from airflow.models.dag import DAG +from airflow.providers.google.cloud.operators.dataflow import ( + DataflowTemplatedJobStartOperator, +) +from airflow.providers.google.cloud.operators.gcs import GCSDeleteBucketOperator + +CLUSTER_NAME = "otg-preprocess-eqtl" +AUTOSCALING = "do-ld-explosion" +PROJECT_ID = "open-targets-genetics-dev" + +EQTL_CATALOG_SUSIE_LOCATION = "gs://eqtl_catalog_data/ebi_ftp/susie" +TEMP_DECOMPRESS_LOCATION = "gs://eqtl_catalog_data/susie_decompressed_tmp" +DECOMPRESS_FAILED_LOG = f"{TEMP_DECOMPRESS_LOCATION}.log" +STUDY_INDEX_PATH = "gs://eqtl_catalog_data/study_index" +CREDIBLE_SET_PATH = "gs://eqtl_catalog_data/credible_set_datasets/susie" + +with DAG( + dag_id=Path(__file__).stem, + description="Open Targets Genetics — eQTL preprocess", + default_args=common.shared_dag_args, + **common.shared_dag_kwargs, +): + # SuSIE fine mapping results are stored as gzipped files in a GCS bucket. + # To improve processing performance, we decompress the files before processing to a temporary location in GCS. + decompression_job = DataflowTemplatedJobStartOperator( + task_id="decompress_susie_outputs", + template="gs://dataflow-templates/latest/Bulk_Decompress_GCS_Files", + location="europe-west1", + project_id=PROJECT_ID, + parameters={ + "inputFilePattern": f"{EQTL_CATALOG_SUSIE_LOCATION}/**/*.gz", + "outputDirectory": TEMP_DECOMPRESS_LOCATION, + "outputFailureFile": DECOMPRESS_FAILED_LOG, + }, + ) + + ingestion_job = common.submit_step( + cluster_name=CLUSTER_NAME, + step_id="ot_eqtl_catalogue", + task_id="ot_eqtl_ingestion", + other_args=[ + f"step.eqtl_catalogue_paths_imported={TEMP_DECOMPRESS_LOCATION}", + f"step.eqtl_catalogue_study_index_out={STUDY_INDEX_PATH}", + f"step.eqtl_catalogue_credible_sets_out={CREDIBLE_SET_PATH}", + ], + ) + + delete_decompressed_job = GCSDeleteBucketOperator( + task_id="delete_decompressed_files", + bucket_name=TEMP_DECOMPRESS_LOCATION, + force=True, + user_project=PROJECT_ID, + ) + + ( + decompression_job + >> common.create_cluster( + CLUSTER_NAME, + autoscaling_policy=AUTOSCALING, + num_workers=4, + worker_machine_type="n1-highmem-8", + ) + >> common.install_dependencies(CLUSTER_NAME) + >> ingestion_job + >> delete_decompressed_job + >> common.delete_cluster(CLUSTER_NAME) + ) diff --git a/src/airflow/requirements.txt b/src/airflow/requirements.txt index e9fd45142..97bbcc796 100644 --- a/src/airflow/requirements.txt +++ b/src/airflow/requirements.txt @@ -1,2 +1,3 @@ apache-airflow-providers-google==10.10.1 +apache-airflow-providers-apache-beam==5.6.1 psycopg2-binary==2.9.9 diff --git a/src/gentropy/assets/schemas/study_index.json b/src/gentropy/assets/schemas/study_index.json index 08f61c072..e529fafd2 100644 --- a/src/gentropy/assets/schemas/study_index.json +++ b/src/gentropy/assets/schemas/study_index.json @@ -22,7 +22,7 @@ { "name": "traitFromSource", "type": "string", - "nullable": false, + "nullable": true, "metadata": {} }, { @@ -41,6 +41,12 @@ "nullable": true, "metadata": {} }, + { + "name": "tissueFromSourceId", + "type": "string", + "nullable": true, + "metadata": {} + }, { "name": "pubmedId", "type": "string", diff --git a/src/gentropy/config.py b/src/gentropy/config.py index 8b17219c1..5e82055cb 100644 --- a/src/gentropy/config.py +++ b/src/gentropy/config.py @@ -112,7 +112,12 @@ class EqtlCatalogueConfig(StepConfig): eqtl_catalogue_paths_imported: str = MISSING eqtl_catalogue_study_index_out: str = MISSING - eqtl_catalogue_summary_stats_out: str = MISSING + eqtl_catalogue_credible_sets_out: str = MISSING + mqtl_quantification_methods: list[str] = field( + default_factory=lambda: [ + "ge", + ] + ) _target_: str = "gentropy.eqtl_catalogue.EqtlCatalogueStep" diff --git a/src/gentropy/datasource/eqtl_catalogue/finemapping.py b/src/gentropy/datasource/eqtl_catalogue/finemapping.py new file mode 100644 index 000000000..af814d94f --- /dev/null +++ b/src/gentropy/datasource/eqtl_catalogue/finemapping.py @@ -0,0 +1,267 @@ +"""Process SuSIE finemapping results from eQTL Catalogue.""" +from __future__ import annotations + +from dataclasses import dataclass + +import pyspark.sql.functions as f +from pyspark.sql import Column, DataFrame, Window +from pyspark.sql.types import ( + DoubleType, + IntegerType, + StringType, + StructField, + StructType, +) + +from gentropy.common.utils import parse_pvalue +from gentropy.dataset.study_locus import StudyLocus +from gentropy.datasource.eqtl_catalogue.study_index import EqtlCatalogueStudyIndex + + +@dataclass +class EqtlCatalogueFinemapping: + """SuSIE finemapping dataset for eQTL Catalogue. + + Credible sets from SuSIE are extracted and transformed into StudyLocus objects: + - A study ID is defined as a triad between: the publication, the tissue, and the measured gene (e.g. Braineac2_substantia_nigra_ENSG00000248275) + - Each row in the `credible_sets.tsv.gz` files is represented by molecular_trait_id/variant/rsid trios relevant for a given tissue. Each have their own finemapping statistics + - log Bayes Factors are available for all variants in the `lbf_variable.txt` files + """ + + raw_credible_set_schema: StructType = StructType( + [ + StructField("molecular_trait_id", StringType(), True), + StructField("gene_id", StringType(), True), + StructField("cs_id", StringType(), True), + StructField("variant", StringType(), True), + StructField("rsid", StringType(), True), + StructField("cs_size", IntegerType(), True), + StructField("pip", DoubleType(), True), + StructField("pvalue", DoubleType(), True), + StructField("beta", DoubleType(), True), + StructField("se", DoubleType(), True), + StructField("z", DoubleType(), True), + StructField("cs_min_r2", DoubleType(), True), + StructField("region", StringType(), True), + ] + ) + raw_lbf_schema: StructType = StructType( + [ + StructField("molecular_trait_id", StringType(), True), + StructField("region", StringType(), True), + StructField("variant", StringType(), True), + StructField("chromosome", StringType(), True), + StructField("position", IntegerType(), True), + StructField("lbf_variable1", DoubleType(), True), + StructField("lbf_variable2", DoubleType(), True), + StructField("lbf_variable3", DoubleType(), True), + StructField("lbf_variable4", DoubleType(), True), + StructField("lbf_variable5", DoubleType(), True), + StructField("lbf_variable6", DoubleType(), True), + StructField("lbf_variable7", DoubleType(), True), + StructField("lbf_variable8", DoubleType(), True), + StructField("lbf_variable9", DoubleType(), True), + StructField("lbf_variable10", DoubleType(), True), + ] + ) + + @classmethod + def _extract_credible_set_index( + cls: type[EqtlCatalogueFinemapping], cs_id: Column + ) -> Column: + """Extract the credible set index from the cs_id. + + Args: + cs_id (Column): column with the credible set id as defined in the eQTL Catalogue. + + Returns: + Column: The credible set index. + + Examples: + >>> spark.createDataFrame([("QTD000046_L1",)], ["cs_id"]).select(EqtlCatalogueFinemapping._extract_credible_set_index(f.col("cs_id"))).show() + +----------------+ + |credibleSetIndex| + +----------------+ + | 1| + +----------------+ + + """ + return f.split(cs_id, "_L")[1].cast(IntegerType()).alias("credibleSetIndex") + + @classmethod + def _extract_dataset_id_from_file_path( + cls: type[EqtlCatalogueFinemapping], file_path: Column + ) -> Column: + """Extract the dataset_id from the file_path. The dataset_id follows the pattern QTD{6}. + + Args: + file_path (Column): A column containing the file path. + + Returns: + Column: The dataset_id. + + Examples: + >>> spark.createDataFrame([("QTD000046.credible_sets.tsv",)], ["filename"]).select(EqtlCatalogueFinemapping._extract_dataset_id_from_file_path(f.col("filename"))).show() + +----------+ + |dataset_id| + +----------+ + | QTD000046| + +----------+ + + """ + return f.regexp_extract(file_path, r"QTD\d{6}", 0).alias("dataset_id") + + @classmethod + def parse_susie_results( + cls: type[EqtlCatalogueFinemapping], + credible_sets: DataFrame, + lbf: DataFrame, + studies_metadata: DataFrame, + ) -> DataFrame: + """Parse the SuSIE results into a DataFrame containing the finemapping statistics and metadata about the studies. + + Args: + credible_sets (DataFrame): DataFrame containing raw statistics of all variants in the credible sets. + lbf (DataFrame): DataFrame containing the raw log Bayes Factors for all variants. + studies_metadata (DataFrame): DataFrame containing the study metadata. + + Returns: + DataFrame: Processed SuSIE results to contain metadata about the studies and the finemapping statistics. + """ + ss_ftp_path_template = "https://ftp.ebi.ac.uk/pub/databases/spot/eQTL/sumstats" + return ( + lbf.withColumn( + "dataset_id", + cls._extract_dataset_id_from_file_path(f.input_file_name()), + ) + .join( + f.broadcast( + credible_sets.withColumn( + "dataset_id", + cls._extract_dataset_id_from_file_path(f.input_file_name()), + ) + .withColumn( + "credibleSetIndex", + cls._extract_credible_set_index(f.col("cs_id")), + ) + .join(f.broadcast(studies_metadata), on="dataset_id") + ), + on=["molecular_trait_id", "region", "variant", "dataset_id"], + how="inner", + ) + .withColumn( + "logBF", + f.when(f.col("credibleSetIndex") == 1, f.col("lbf_variable1")) + .when(f.col("credibleSetIndex") == 2, f.col("lbf_variable2")) + .when(f.col("credibleSetIndex") == 3, f.col("lbf_variable3")) + .when(f.col("credibleSetIndex") == 4, f.col("lbf_variable4")) + .when(f.col("credibleSetIndex") == 5, f.col("lbf_variable5")) + .when(f.col("credibleSetIndex") == 6, f.col("lbf_variable6")) + .when(f.col("credibleSetIndex") == 7, f.col("lbf_variable7")) + .when(f.col("credibleSetIndex") == 8, f.col("lbf_variable8")) + .when(f.col("credibleSetIndex") == 9, f.col("lbf_variable9")) + .when(f.col("credibleSetIndex") == 10, f.col("lbf_variable10")), + ) + .select( + f.regexp_replace(f.col("variant"), r"chr", "").alias("variantId"), + f.col("region"), + f.col("chromosome"), + f.col("position"), + f.col("pip").alias("posteriorProbability"), + *parse_pvalue(f.col("pvalue")), + f.col("sample_size").alias("nSamples"), + f.col("beta"), + f.col("se").alias("standardError"), + f.col("credibleSetIndex"), + f.col("logBF"), + f.lit("SuSie").alias("finemappingMethod"), + # Study metadata + f.col("gene_id").alias("geneId"), + f.array(f.col("molecular_trait_id")).alias("traitFromSourceMappedIds"), + f.col("dataset_id"), + f.concat_ws( + "_", + f.col("study_label"), + f.col("sample_group"), + f.col("gene_id"), + ).alias("studyId"), + f.col("tissue_id").alias("c"), + EqtlCatalogueStudyIndex._identify_study_type( + f.col("study_label") + ).alias("studyType"), + f.col("study_label").alias("projectId"), + f.concat_ws( + "/", + f.lit(ss_ftp_path_template), + f.col("study_id"), + f.col("dataset_id"), + ).alias("summarystatsLocation"), + f.lit(True).alias("hasSumstats"), + f.col("molecular_trait_id"), + ) + ) + + @classmethod + def from_susie_results( + cls: type[EqtlCatalogueFinemapping], processed_finemapping_df: DataFrame + ) -> StudyLocus: + """Create a StudyLocus object from the processed SuSIE results. + + Args: + processed_finemapping_df (DataFrame): DataFrame containing the processed SuSIE results. + + Returns: + StudyLocus: eQTL Catalogue credible sets. + """ + lead_w = Window.partitionBy( + "dataset_id", "molecular_trait_id", "region", "credibleSetIndex" + ) + study_locus_cols = [ + field.name + for field in StudyLocus.get_schema().fields + if field.name in processed_finemapping_df.columns + ] + ["studyLocusId", "locus"] + return StudyLocus( + _df=( + processed_finemapping_df.withColumn( + "isLead", + f.row_number().over( + lead_w.orderBy( + *[ + f.col("pValueExponent").asc(), + f.col("pValueMantissa").asc(), + ] + ) + ) + == f.lit(1), + ) + .withColumn( + # Collecting all variants that constitute the credible set brings as many variants as the credible set size + "locus", + f.when( + f.col("isLead"), + f.collect_list( + f.struct( + "variantId", + "posteriorProbability", + "pValueMantissa", + "pValueExponent", + "logBF", + "beta", + "standardError", + ) + ).over(lead_w), + ), + ) + .filter(f.col("isLead")) + .drop("isLead") + .withColumn( + "studyLocusId", + StudyLocus.assign_study_locus_id( + f.col("studyId"), f.col("variantId") + ), + ) + .select(study_locus_cols) + ), + _schema=StudyLocus.get_schema(), + ).annotate_credible_sets() diff --git a/src/gentropy/datasource/eqtl_catalogue/study_index.py b/src/gentropy/datasource/eqtl_catalogue/study_index.py index bcfc5e50f..611bcdff7 100644 --- a/src/gentropy/datasource/eqtl_catalogue/study_index.py +++ b/src/gentropy/datasource/eqtl_catalogue/study_index.py @@ -1,9 +1,11 @@ """Study Index for eQTL Catalogue data source.""" + from __future__ import annotations -from typing import TYPE_CHECKING, Type +from typing import TYPE_CHECKING import pyspark.sql.functions as f +from pyspark.sql.types import IntegerType, StringType, StructField, StructType from gentropy.dataset.study_index import StudyIndex @@ -13,167 +15,88 @@ class EqtlCatalogueStudyIndex: - """Study index dataset from eQTL Catalogue.""" - - study_config = { - "GTEx_V8": { - "nSamples": 838, - "initialSampleSize": "838 (281 females and 557 males)", - "discoverySamples": [ - {"sampleSize": 715, "ancestry": "European American"}, - {"sampleSize": 103, "ancestry": "African American"}, - {"sampleSize": 12, "ancestry": "Asian American"}, - {"sampleSize": 16, "ancestry": "Hispanic or Latino"}, - ], - "ldPopulationStructure": [ - {"ldPopulation": "nfe", "relativeSampleSize": 0.85}, - {"ldPopulation": "afr", "relativeSampleSize": 0.12}, - {"ldPopulation": "eas", "relativeSampleSize": 0.01}, - {"ldPopulation": "amr", "relativeSampleSize": 0.02}, - ], - "pubmedId": "32913098", - "publicationTitle": "The GTEx Consortium atlas of genetic regulatory effects across human tissues", - "publicationFirstAuthor": "GTEx Consortium", - "publicationDate": "2020-09-11", - "publicationJournal": "Science", - }, - } + """Study index dataset from eQTL Catalogue. - @classmethod - def get_study_attribute( - cls: Type[EqtlCatalogueStudyIndex], attribute_key: str - ) -> Column: - """Returns a Column expression that dynamically assigns the attribute based on the study. + We extract study level metadata from eQTL Catalogue's fine mapping results. All available studies can be found [here](https://www.ebi.ac.uk/eqtl/Studies/). - Args: - attribute_key (str): The attribute key to assign. + One study from the eQTL Catalogue clusters together all the molecular QTLs (mQTLs) that were found: - Returns: - Column: The dynamically assigned attribute. + - in the same publication (e.g. Alasoo_2018) + - in the same cell type or tissue (e.g. monocytes) + - and for the same gene associated with the measured molecular trait (e.g. ENSG00000141510) - Raises: - ValueError: If the attribute key is not known for the study. - """ - study_column = f.col("study") - for study, config in cls.study_config.items(): - attribute_value = config.get(attribute_key) - if attribute_value is None: - raise ValueError( - f"Unknown attribute key {attribute_key} for study {study}" - ) - # Convert list of dicts to array of structs - if isinstance(attribute_value, list) and isinstance( - attribute_value[0], dict - ): - struct_fields = [ - f.struct(*[f.lit(value).alias(key) for key, value in item.items()]) - for item in attribute_value - ] - attribute_value = f.array(struct_fields) - # Convert dict to struct - elif isinstance(attribute_value, dict): - attribute_value = f.struct( - *[f.lit(value).alias(key) for key, value in attribute_value.items()] - ) - return f.when(study_column == study, attribute_value).alias(attribute_key) + """ + + raw_studies_metadata_schema: StructType = StructType( + [ + StructField("study_id", StringType(), True), + StructField("dataset_id", StringType(), True), + StructField("study_label", StringType(), True), + StructField("sample_group", StringType(), True), + StructField("tissue_id", StringType(), True), + StructField("tissue_label", StringType(), True), + StructField("condition_label", StringType(), True), + StructField("sample_size", IntegerType(), True), + StructField("quant_method", StringType(), True), + ] + ) + raw_studies_metadata_path = "https://raw.githubusercontent.com/eQTL-Catalogue/eQTL-Catalogue-resources/master/data_tables/dataset_metadata.tsv" @classmethod - def _all_attributes(cls: Type[EqtlCatalogueStudyIndex]) -> list[Column]: - """A helper function to return all study index attribute expressions. + def _identify_study_type( + cls: type[EqtlCatalogueStudyIndex], study_label_col: Column + ) -> Column: + """Identify the study type based on the study label. + + Args: + study_label_col (Column): column with the study label that identifies the supporting publication. Returns: - list[Column]: A list of all study index attribute expressions. + Column: The study type. """ - study_column = f.col("study") - - static_study_attributes = [ - study_column.alias("projectId"), - f.concat(study_column, f.lit("_"), f.col("qtl_group")).alias("studyId"), - f.col("ftp_path").alias("summarystatsLocation"), - f.lit(True).alias("hasSumstats"), - f.lit("eqtl").alias("studyType"), - ] - tissue_attributes = [ - # Human readable tissue label, example: "Adipose - Subcutaneous". - f.col("tissue_label").alias("traitFromSource"), - # Ontology identifier for the tissue, for example: "UBERON:0001157". - f.array( - f.regexp_replace( - f.regexp_replace( - f.col("tissue_ontology_id"), - "UBER_", - "UBERON_", - ), - "_", - ":", - ) - ).alias("traitFromSourceMappedIds"), - ] - dynamic_study_attributes = [ - cls.get_study_attribute("nSamples"), - cls.get_study_attribute("initialSampleSize"), - cls.get_study_attribute("discoverySamples"), - cls.get_study_attribute("ldPopulationStructure"), - cls.get_study_attribute("pubmedId"), - cls.get_study_attribute("publicationTitle"), - cls.get_study_attribute("publicationFirstAuthor"), - cls.get_study_attribute("publicationDate"), - cls.get_study_attribute("publicationJournal"), - ] - return static_study_attributes + tissue_attributes + dynamic_study_attributes + return f.when( + study_label_col == "Sun_2018", + f.lit("pqtl"), + ).otherwise(f.lit("eqtl")) @classmethod - def add_gene_to_study_id( - cls: type[EqtlCatalogueStudyIndex], - study_index_df: DataFrame, - summary_stats_df: DataFrame, - ) -> StudyIndex: - """Update the studyId to include gene information from summary statistics. A geneId column is also added. - - While the original list contains one entry per tissue, what we consider as a single study is one mini-GWAS for - an expression of a _particular gene_ in a particular study. At this stage we have a study index with partial - study IDs like "PROJECT_QTLGROUP", and a summary statistics object with full study IDs like - "PROJECT_QTLGROUP_GENEID", so we need to perform a merge and explosion to obtain our final study index. + def get_studies_of_interest( + cls: type[EqtlCatalogueStudyIndex], studies_metadata: DataFrame + ) -> list[str]: + """Filter studies of interest from the raw studies metadata. Args: - study_index_df (DataFrame): preliminary study index for eQTL Catalogue studies. - summary_stats_df (DataFrame): summary statistics dataframe for eQTL Catalogue data. + studies_metadata (DataFrame): raw studies metadata filtered with studies of interest. Returns: - StudyIndex: final study index for eQTL Catalogue studies. + list[str]: QTD IDs defining the studies of interest for ingestion. """ - partial_to_full_study_id = summary_stats_df.select( - f.col("studyId").alias("fullStudyId"), # PROJECT_QTLGROUP_GENEID - f.regexp_extract(f.col("studyId"), r"^(.*)_ENSG\d+", 1).alias( - "studyId" - ), # PROJECT_QTLGROUP - ).distinct() - study_index_df = ( - partial_to_full_study_id.join( - f.broadcast(study_index_df), "studyId", "inner" - ) - # Change studyId to fullStudyId - .drop("studyId") - .withColumnRenamed("fullStudyId", "studyId") - # Add geneId column - .withColumn("geneId", f.regexp_extract(f.col("studyId"), r"([^_]+)$", 1)) + return ( + studies_metadata.select("dataset_id") + .distinct() + .toPandas()["dataset_id"] + .tolist() ) - return StudyIndex(_df=study_index_df, _schema=StudyIndex.get_schema()) @classmethod - def from_source( + def from_susie_results( cls: type[EqtlCatalogueStudyIndex], - eqtl_studies: DataFrame, + processed_finemapping_df: DataFrame, ) -> StudyIndex: """Ingest study level metadata from eQTL Catalogue. Args: - eqtl_studies (DataFrame): ingested but unprocessed eQTL Catalogue studies. + processed_finemapping_df (DataFrame): processed fine mapping results with study metadata. Returns: - StudyIndex: preliminary processed study index for eQTL Catalogue studies. + StudyIndex: eQTL Catalogue study index dataset derived from the selected SuSIE results. """ + study_index_cols = [ + field.name + for field in StudyIndex.get_schema().fields + if field.name in processed_finemapping_df.columns + ] return StudyIndex( - _df=eqtl_studies.select(*cls._all_attributes()), + _df=processed_finemapping_df.select(study_index_cols).distinct(), _schema=StudyIndex.get_schema(), ) diff --git a/src/gentropy/eqtl_catalogue.py b/src/gentropy/eqtl_catalogue.py index 22c8880f0..bfbfd79c2 100644 --- a/src/gentropy/eqtl_catalogue.py +++ b/src/gentropy/eqtl_catalogue.py @@ -1,62 +1,79 @@ -"""Step to run eQTL Catalogue study table ingestion.""" +"""Step to run eQTL Catalogue credible set and study index ingestion.""" from __future__ import annotations +import pandas as pd +import pyspark.sql.functions as f + from gentropy.common.session import Session +from gentropy.datasource.eqtl_catalogue.finemapping import EqtlCatalogueFinemapping from gentropy.datasource.eqtl_catalogue.study_index import EqtlCatalogueStudyIndex -from gentropy.datasource.eqtl_catalogue.summary_stats import EqtlCatalogueSummaryStats class EqtlCatalogueStep: - """eQTL Catalogue ingestion step.""" + """eQTL Catalogue ingestion step. + + From SuSIE fine mapping results (available at [their FTP](https://ftp.ebi.ac.uk/pub/databases/spot/eQTL/susie/) ), we extract credible sets and study index datasets from gene expression QTL studies. + """ def __init__( self, session: Session, + mqtl_quantification_methods: list[str], eqtl_catalogue_paths_imported: str, eqtl_catalogue_study_index_out: str, - eqtl_catalogue_summary_stats_out: str, + eqtl_catalogue_credible_sets_out: str, ) -> None: """Run eQTL Catalogue ingestion step. Args: session (Session): Session object. - eqtl_catalogue_paths_imported (str): Input eQTL Catalogue study index path. + mqtl_quantification_methods (list[str]): Molecular trait quantification methods to ingest. Available options in https://github.com/eQTL-Catalogue/eQTL-Catalogue-resources/blob/master/data_tables/dataset_metadata.tsv + eqtl_catalogue_paths_imported (str): Input eQTL Catalogue fine mapping results path. eqtl_catalogue_study_index_out (str): Output eQTL Catalogue study index path. - eqtl_catalogue_summary_stats_out (str): Output eQTL Catalogue summary stats path. + eqtl_catalogue_credible_sets_out (str): Output eQTL Catalogue credible sets path. """ - # Fetch study index. - df = session.spark.read.option("delimiter", "\t").csv( - eqtl_catalogue_paths_imported, header=True + # Extract + pd.DataFrame.iteritems = pd.DataFrame.items + studies_metadata = session.spark.createDataFrame( + pd.read_csv(EqtlCatalogueStudyIndex.raw_studies_metadata_path, sep="\t"), + schema=EqtlCatalogueStudyIndex.raw_studies_metadata_schema, + ).filter(f.col("quant_method").isin(list(mqtl_quantification_methods))) + + # Load raw data only for the studies we are interested in ingestion. This makes the proces much lighter. + studies_to_ingest = EqtlCatalogueStudyIndex.get_studies_of_interest( + studies_metadata ) - # Process partial study index. At this point, it is not complete because we don't have the gene IDs, which we - # will only get once the summary stats are ingested. - study_index_df = EqtlCatalogueStudyIndex.from_source(df).df - - # Fetch summary stats. - input_filenames = [row.summarystatsLocation for row in study_index_df.collect()] - summary_stats_df = ( - session.spark.read.option("delimiter", "\t") - .csv(input_filenames, header=True) - .repartition(1280) + credible_sets_df = session.spark.read.csv( + [ + f"{eqtl_catalogue_paths_imported}/{qtd_id}.credible_sets.tsv" + for qtd_id in studies_to_ingest + ], + sep="\t", + header=True, + schema=EqtlCatalogueFinemapping.raw_credible_set_schema, + ) + lbf_df = session.spark.read.csv( + [ + f"{eqtl_catalogue_paths_imported}/{qtd_id}.lbf_variable.txt" + for qtd_id in studies_to_ingest + ], + sep="\t", + header=True, + schema=EqtlCatalogueFinemapping.raw_lbf_schema, ) - # Process summary stats. - summary_stats_df = EqtlCatalogueSummaryStats.from_source(summary_stats_df).df - # Add geneId column to the study index. - study_index_df = EqtlCatalogueStudyIndex.add_gene_to_study_id( - study_index_df, - summary_stats_df, - ).df + # Transform + processed_susie_df = EqtlCatalogueFinemapping.parse_susie_results( + credible_sets_df, lbf_df, studies_metadata + ) + credible_sets = EqtlCatalogueFinemapping.from_susie_results(processed_susie_df) + study_index = EqtlCatalogueStudyIndex.from_susie_results(processed_susie_df) - # Write study index. - study_index_df.write.mode(session.write_mode).parquet( + # Load + study_index.df.write.mode(session.write_mode).parquet( eqtl_catalogue_study_index_out ) - # Write summary stats. - ( - summary_stats_df.sortWithinPartitions("position") - .write.partitionBy("chromosome") - .mode(session.write_mode) - .parquet(eqtl_catalogue_summary_stats_out) + credible_sets.df.write.mode(session.write_mode).parquet( + eqtl_catalogue_credible_sets_out ) diff --git a/tests/gentropy/conftest.py b/tests/gentropy/conftest.py index f3dc197f9..c7af5a589 100644 --- a/tests/gentropy/conftest.py +++ b/tests/gentropy/conftest.py @@ -24,6 +24,8 @@ from gentropy.dataset.v2g import V2G from gentropy.dataset.variant_annotation import VariantAnnotation from gentropy.dataset.variant_index import VariantIndex +from gentropy.datasource.eqtl_catalogue.finemapping import EqtlCatalogueFinemapping +from gentropy.datasource.eqtl_catalogue.study_index import EqtlCatalogueStudyIndex from gentropy.datasource.gwas_catalog.associations import StudyLocusGWASCatalog from gentropy.datasource.gwas_catalog.study_index import StudyIndexGWASCatalog from pyspark.sql import DataFrame, SparkSession @@ -470,28 +472,32 @@ def sample_finngen_studies(spark: SparkSession) -> DataFrame: @pytest.fixture() -def sample_eqtl_catalogue_studies(spark: SparkSession) -> DataFrame: - """Sample eQTL Catalogue studies.""" - # For reference, the sample file was generated with the following command: - # curl https://raw.githubusercontent.com/eQTL-Catalogue/eQTL-Catalogue-resources/master/tabix/tabix_ftp_paths_imported.tsv | head -n11 > tests/gentropy/data_samples/eqtl_catalogue_studies_sample.tsv - with open( - "tests/gentropy/data_samples/eqtl_catalogue_studies_sample.tsv" - ) as eqtl_catalogue: - tsv = eqtl_catalogue.read() - rdd = spark.sparkContext.parallelize([tsv]) - return spark.read.csv(rdd, sep="\t", header=True) +def sample_eqtl_catalogue_finemapping_credible_sets(spark: SparkSession) -> DataFrame: + """Sample raw eQTL Catalogue credible sets outputted by SuSIE.""" + return spark.read.option("delimiter", "\t").csv( + "tests/gentropy/data_samples/QTD000584.credible_sets.tsv", + header=True, + schema=EqtlCatalogueFinemapping.raw_credible_set_schema, + ) + + +@pytest.fixture() +def sample_eqtl_catalogue_finemapping_lbf(spark: SparkSession) -> DataFrame: + """Sample raw eQTL Catalogue table with logBayesFactors outputted by SuSIE.""" + return spark.read.option("delimiter", "\t").csv( + "tests/gentropy/data_samples/QTD000584.lbf_variable.txt", + header=True, + schema=EqtlCatalogueFinemapping.raw_lbf_schema, + ) @pytest.fixture() -def sample_eqtl_catalogue_summary_stats(spark: SparkSession) -> DataFrame: - """Sample eQTL Catalogue summary stats.""" - # For reference, the sample file was generated with the following commands: - # mkdir -p tests/gentropy/data_samples/imported/GTEx_V8/ge - # curl ftp://ftp.ebi.ac.uk/pub/databases/spot/eQTL/imported/GTEx_V8/ge/Adipose_Subcutaneous.tsv.gz | gzip -cd | head -n11 | gzip -c > tests/gentropy/data_samples/imported/GTEx_V8/ge/Adipose_Subcutaneous.tsv.gz - # It's important for the test file to be named in exactly this way, because eQTL Catalogue study ID is populated based on input file name. +def sample_eqtl_catalogue_studies_metadata(spark: SparkSession) -> DataFrame: + """Sample raw eQTL Catalogue table with metadata about the QTD000584 study.""" return spark.read.option("delimiter", "\t").csv( - "tests/gentropy/data_samples/imported/GTEx_V8/ge/Adipose_Subcutaneous.tsv.gz", + "tests/gentropy/data_samples/sample_eqtl_catalogue_studies.tsv", header=True, + schema=EqtlCatalogueStudyIndex.raw_studies_metadata_schema, ) diff --git a/tests/gentropy/data_samples/QTD000584.credible_sets.tsv b/tests/gentropy/data_samples/QTD000584.credible_sets.tsv new file mode 100644 index 000000000..2c1cc8843 --- /dev/null +++ b/tests/gentropy/data_samples/QTD000584.credible_sets.tsv @@ -0,0 +1,201 @@ +molecular_trait_id gene_id cs_id variant rsid cs_size pip pvalue beta se z cs_min_r2 region +RBP7.14208.3.3..1 ENSG00000162444 RBP7.14208.3.3..1_L1 chr1_10000458_T_C rs3003377 22 0.0170703689724805 1.33564e-10 0.139135 0.0215922 6.45120520807609 0.649351082174683 chr1:8997206-10997206 +RBP7.14208.3.3..1 ENSG00000162444 RBP7.14208.3.3..1_L1 chr1_10003040_A_G rs3003378 22 0.0346598350987255 5.69374e-11 -0.140285 0.0213409 -6.58178370994891 0.649351082174683 chr1:8997206-10997206 +ISG15.14148.2.3..1 ENSG00000187608 ISG15.14148.2.3..1_L1 chr1_1004625_A_G rs2799056 14 0.0475804849731317 2.17772e-16 0.155149 0.018795 8.27268578736212 0.617640026801365 chr1:1138-2001138 +ISG15.14148.2.3..1 ENSG00000187608 ISG15.14148.2.3..1_L1 chr1_1005429_C_CA rs58913475 14 0.0821809105318325 1.22244e-16 0.156317 0.018777 8.34295752984943 0.617640026801365 chr1:1138-2001138 +ISG15.14148.2.3..1 ENSG00000187608 ISG15.14148.2.3..1_L1 chr1_1005429_C_CA rs397795410 14 0.0821809105318325 1.22244e-16 0.156317 0.018777 8.34295752984943 0.617640026801365 chr1:1138-2001138 +ISG15.14148.2.3..1 ENSG00000187608 ISG15.14148.2.3..1_L1 chr1_1005904_C_T rs3128116 14 0.082073967987591 1.22412e-16 0.15631 0.0187765 8.34279413645199 0.617640026801365 chr1:1138-2001138 +ISG15.14148.2.3..1 ENSG00000187608 ISG15.14148.2.3..1_L1 chr1_1005954_G_A rs57683598 14 0.0829345886044969 1.20956e-16 0.156326 0.0187752 8.34423990954914 0.617640026801365 chr1:1138-2001138 +ISG15.14148.2.3..1 ENSG00000187608 ISG15.14148.2.3..1_L1 chr1_1006159_C_T rs9778087 14 0.0287755307773455 3.71195e-16 0.154747 0.0188957 8.20709279382202 0.617640026801365 chr1:1138-2001138 +ISG15.14148.2.3..1 ENSG00000187608 ISG15.14148.2.3..1_L1 chr1_1007746_CTTTTTTTTTTTTTT_C rs1196345893 14 0.169853803516783 5.20268e-17 0.176669 0.020963 8.44875667909097 0.617640026801365 chr1:1138-2001138 +ISG15.14151.4.3..1 ENSG00000187608 ISG15.14151.4.3..1_L2 chr1_1008088_T_C rs3121567 17 0.0408954841106202 5.10581e-17 0.436084 0.0517305 8.44446424543245 0.830135313092393 chr1:1138-2001138 +ISG15.14148.2.3..1 ENSG00000187608 ISG15.14148.2.3..1_L1 chr1_1008307_G_C rs2465140 14 0.113047689891171 8.91487e-17 0.156234 0.0186815 8.3812176673309 0.617640026801365 chr1:1138-2001138 +ISG15.14151.4.3..1 ENSG00000187608 ISG15.14151.4.3..1_L1 chr1_1008307_G_C rs2465140 6 0.0340123675250653 6.68955e-36 0.240866 0.0190257 12.6742943381175 0.960143135725474 chr1:1138-2001138 +ISG15.14148.2.3..1 ENSG00000187608 ISG15.14148.2.3..1_L1 chr1_1009184_T_C rs3128117 14 0.114792998892356 8.78673e-17 0.156301 0.0186856 8.38296665698105 0.617640026801365 chr1:1138-2001138 +ISG15.14151.4.3..1 ENSG00000187608 ISG15.14151.4.3..1_L1 chr1_1009184_T_C rs3128117 6 0.0368499383801147 5.5694e-36 0.241193 0.0190289 12.689400366898 0.960143135725474 chr1:1138-2001138 +ISG15.14151.4.3..1 ENSG00000187608 ISG15.14151.4.3..1_L2 chr1_1009716_C_T rs3135457 17 0.0392096517327741 5.41887e-18 0.443041 0.0509582 8.70818986165733 0.830135313092393 chr1:1138-2001138 +ISG15.14151.4.3..1 ENSG00000187608 ISG15.14151.4.3..1_L2 chr1_1009731_C_T rs13303172 17 0.0491133974154425 2.89124e-18 0.455466 0.0519529 8.78131609329298 0.830135313092393 chr1:1138-2001138 +ISG15.14151.4.3..1 ENSG00000187608 ISG15.14151.4.3..1_L2 chr1_1010094_C_T rs3121566 17 0.0498970509479227 1.25258e-18 0.449307 0.0506956 8.87789801891556 0.830135313092393 chr1:1138-2001138 +ISG15.14151.4.3..1 ENSG00000187608 ISG15.14151.4.3..1_L2 chr1_1010232_C_T rs3121565 17 0.0632524792227336 1.28581e-18 0.434519 0.0490436 8.87518117824451 0.830135313092393 chr1:1138-2001138 +ISG15.14151.4.3..1 ENSG00000187608 ISG15.14151.4.3..1_L2 chr1_1010481_ATTAT_A rs150242145 17 0.0497030361393638 1.52877e-18 0.431754 0.0488405 8.8551869891939 0.830135313092393 chr1:1138-2001138 +ISG15.14151.4.3..1 ENSG00000187608 ISG15.14151.4.3..1_L2 chr1_1010481_ATTAT_A rs4039717 17 0.0497030361393638 1.52877e-18 0.431754 0.0488405 8.8551869891939 0.830135313092393 chr1:1138-2001138 +ISG15.14151.4.3..1 ENSG00000187608 ISG15.14151.4.3..1_L2 chr1_1010481_ATTAT_A rs35187710 17 0.0497030361393638 1.52877e-18 0.431754 0.0488405 8.8551869891939 0.830135313092393 chr1:1138-2001138 +ISG15.14151.4.3..1 ENSG00000187608 ISG15.14151.4.3..1_L2 chr1_1010747_GT_G rs34487852 17 0.0555195289512095 1.48341e-18 0.43187 0.0488346 8.85865222353006 0.830135313092393 chr1:1138-2001138 +ISG15.14151.4.3..1 ENSG00000187608 ISG15.14151.4.3..1_L2 chr1_1010755_T_G rs9723307 17 0.0555195289512095 1.48341e-18 0.43187 0.0488346 8.85865222353006 0.830135313092393 chr1:1138-2001138 +ISG15.14151.4.3..1 ENSG00000187608 ISG15.14151.4.3..1_L2 chr1_1011654_G_A rs2465126 17 0.0396092590819197 9.26558e-19 0.434713 0.0488596 8.91210923928129 0.830135313092393 chr1:1138-2001138 +ISG15.14151.4.3..1 ENSG00000187608 ISG15.14151.4.3..1_L2 chr1_1013041_A_AAAC rs113047134 17 0.0502336150812414 1.21932e-18 0.439008 0.0495164 8.88138113776474 0.830135313092393 chr1:1138-2001138 +ISG15.14151.4.3..1 ENSG00000187608 ISG15.14151.4.3..1_L2 chr1_1013312_G_A rs2341365 17 0.0670537982566278 9.19098e-19 0.429695 0.0482907 8.91296598275893 0.830135313092393 chr1:1138-2001138 +ISG15.14151.4.3..1 ENSG00000187608 ISG15.14151.4.3..1_L2 chr1_1013490_C_G rs4615788 17 0.0596684312812006 1.30541e-18 0.434291 0.0490274 8.87346286235471 0.830135313092393 chr1:1138-2001138 +ISG15.14151.4.3..1 ENSG00000187608 ISG15.14151.4.3..1_L2 chr1_1013541_T_C rs15842 17 0.0580138201506556 1.34141e-18 0.434388 0.0490555 8.87034155283964 0.830135313092393 chr1:1138-2001138 +ISG15.14151.4.3..1 ENSG00000187608 ISG15.14151.4.3..1_L2 chr1_1013855_G_A rs2465124 17 0.0591361376280749 1.32867e-18 0.433762 0.0489788 8.87144043891645 0.830135313092393 chr1:1138-2001138 +ISG15.14148.2.3..1 ENSG00000187608 ISG15.14148.2.3..1_L1 chr1_1014228_G_A rs1921 14 0.12433309239898 8.57119e-17 0.15341 0.0183335 8.38560743650197 0.617640026801365 chr1:1138-2001138 +ISG15.14151.4.3..1 ENSG00000187608 ISG15.14151.4.3..1_L1 chr1_1014228_G_A rs1921 6 0.819317788540627 1.62353e-36 0.238448 0.0186635 12.7903962671107 0.960143135725474 chr1:1138-2001138 +ISG15.14151.4.3..1 ENSG00000187608 ISG15.14151.4.3..1_L2 chr1_1014545_C_T rs2799070 17 0.0932055530070119 6.4825e-18 0.414546 0.0477952 8.68848253629389 0.830135313092393 chr1:1138-2001138 +ISG15.14148.2.3..1 ENSG00000187608 ISG15.14148.2.3..1_L1 chr1_1014863_A_C rs1891906 14 0.0193128429509125 5.74201e-16 0.152247 0.0187132 8.15329964672768 0.617640026801365 chr1:1138-2001138 +ISG15.14151.4.3..1 ENSG00000187608 ISG15.14151.4.3..1_L1 chr1_1014863_A_C rs1891906 6 0.0253214818240058 1.12696e-35 0.240358 0.0190503 12.6312379431961 0.960143135725474 chr1:1138-2001138 +ISG15.14151.4.3..1 ENSG00000187608 ISG15.14151.4.3..1_L2 chr1_1015336_A_T rs2799069 17 0.0705760271470166 1.24902e-18 0.447782 0.0505217 8.87870564010476 0.830135313092393 chr1:1138-2001138 +ISG15.14148.2.3..1 ENSG00000187608 ISG15.14148.2.3..1_L1 chr1_1015925_A_ATT rs575235313 14 0.0290657333363032 3.71821e-16 0.152991 0.0186817 8.2068585448562 0.617640026801365 chr1:1138-2001138 +ISG15.14148.2.3..1 ENSG00000187608 ISG15.14148.2.3..1_L1 chr1_1015925_A_ATT rs369296755 14 0.0290657333363032 3.71821e-16 0.152991 0.0186817 8.2068585448562 0.617640026801365 chr1:1138-2001138 +ISG15.14148.2.3..1 ENSG00000187608 ISG15.14148.2.3..1_L1 chr1_1015925_A_ATT rs59612205 14 0.0290657333363032 3.71821e-16 0.152991 0.0186817 8.2068585448562 0.617640026801365 chr1:1138-2001138 +ISG15.14151.4.3..1 ENSG00000187608 ISG15.14151.4.3..1_L1 chr1_1015925_A_ATT rs575235313 6 0.0224165593925054 1.03516e-35 0.240113 0.0190203 12.6381934222441 0.960143135725474 chr1:1138-2001138 +ISG15.14151.4.3..1 ENSG00000187608 ISG15.14151.4.3..1_L1 chr1_1015925_A_ATT rs369296755 6 0.0224165593925054 1.03516e-35 0.240113 0.0190203 12.6381934222441 0.960143135725474 chr1:1138-2001138 +ISG15.14151.4.3..1 ENSG00000187608 ISG15.14151.4.3..1_L1 chr1_1015925_A_ATT rs59612205 6 0.0224165593925054 1.03516e-35 0.240113 0.0190203 12.6381934222441 0.960143135725474 chr1:1138-2001138 +ISG15.14151.4.3..1 ENSG00000187608 ISG15.14151.4.3..1_L2 chr1_1015950_G_A rs9697717 17 0.0572897456684484 5.86568e-18 0.418525 0.0481893 8.70025128920918 0.830135313092393 chr1:1138-2001138 +ISG15.14148.2.3..1 ENSG00000187608 ISG15.14148.2.3..1_L1 chr1_1016623_G_A rs3128118 14 0.0249715969486798 4.40368e-16 0.152839 0.0187107 8.1860030389925 0.617640026801365 chr1:1138-2001138 +ISG15.14148.2.3..1 ENSG00000187608 ISG15.14148.2.3..1_L1 chr1_1017114_A_AT rs59239970 14 0.0258900605545787 4.21998e-16 0.152767 0.0186899 8.19127935909139 0.617640026801365 chr1:1138-2001138 +ISG15.14148.2.3..1 ENSG00000187608 ISG15.14148.2.3..1_L1 chr1_1017114_A_AT rs397687829 14 0.0258900605545787 4.21998e-16 0.152767 0.0186899 8.19127935909139 0.617640026801365 chr1:1138-2001138 +ISG15.14151.4.3..1 ENSG00000187608 ISG15.14151.4.3..1_L1 chr1_1017114_A_AT rs59239970 6 0.0248308249271214 9.24949e-36 0.240377 0.0190272 12.6474850406766 0.960143135725474 chr1:1138-2001138 +ISG15.14151.4.3..1 ENSG00000187608 ISG15.14151.4.3..1_L1 chr1_1017114_A_AT rs397687829 6 0.0248308249271214 9.24949e-36 0.240377 0.0190272 12.6474850406766 0.960143135725474 chr1:1138-2001138 +ISG15.14148.2.3..1 ENSG00000187608 ISG15.14148.2.3..1_L1 chr1_1022518_G_T rs2799064 14 0.0319029278184674 2.66215e-16 0.155806 0.0189309 8.25406439760094 0.617640026801365 chr1:1138-2001138 +AMY1A.7918.114.3..1 ENSG00000237763 AMY1A.7918.114.3..1_L8 chr1_103440589_TA_T rs1327439088 5 0.418485920864639 1.08665e-07 0.632842 0.118879 5.34468451936006 0.710818444681624 chr1:102655290-104655290 +AMY1A.7918.114.3..1 ENSG00000237763 AMY1A.7918.114.3..1_L7 chr1_103534368_A_G rs36133328 1 0.999623621396104 0.282208 0.0493205 0.0458561 1.07174598226751 1 chr1:102655290-104655290 +AMY1A.7918.114.3..1 ENSG00000237763 AMY1A.7918.114.3..1_L1 chr1_103537231_T_TA rs553487095 4 0.770652473010321 6.33883e-62 -1.04771 0.0617702 -16.992451463208 0.88938645908643 chr1:102655290-104655290 +AMY1A.7918.114.3..1 ENSG00000237763 AMY1A.7918.114.3..1_L1 chr1_103579772_G_A rs78811372 4 0.0518885686269311 2.90639e-62 -1.00991 0.0593671 -17.0425983327703 0.88938645908643 chr1:102655290-104655290 +AMY1A.7918.114.3..1 ENSG00000237763 AMY1A.7918.114.3..1_L1 chr1_103581934_T_C rs113630435 4 0.0693676553148963 1.90336e-62 -1.01685 0.0596806 -17.069616976694 0.88938645908643 chr1:102655290-104655290 +AMY1A.7918.114.3..1 ENSG00000237763 AMY1A.7918.114.3..1_L1 chr1_103581970_C_G rs79456674 4 0.0693676553148963 1.90336e-62 -1.01685 0.0596806 -17.069616976694 0.88938645908643 chr1:102655290-104655290 +AMY1A.7918.114.3..1 ENSG00000237763 AMY1A.7918.114.3..1_L10 chr1_103590182_C_A rs35945519 2 0.369662271975257 8.86659e-07 0.575069 0.116773 4.92945612380697 0.72482441906489 chr1:102655290-104655290 +AMY1A.7918.114.3..1 ENSG00000237763 AMY1A.7918.114.3..1_L10 chr1_103605780_A_C rs535256526 2 0.628073732155603 4.75362e-07 0.640926 0.127014 5.05119658925642 0.72482441906489 chr1:102655290-104655290 +AMY1A.7918.114.3..1 ENSG00000237763 AMY1A.7918.114.3..1_L2 chr1_103615613_C_T rs142439658 2 0.717277857674304 4.86208e-19 0.862569 0.0961591 8.9907709256386 0.918383081007505 chr1:102655290-104655290 +AMY1A.7918.114.3..1 ENSG00000237763 AMY1A.7918.114.3..1_L3 chr1_103629402_A_G rs137872678 1 0.999999999693002 7.98208e-25 0.376931 0.0363406 10.3860823285899 1 chr1:102655290-104655290 +AMY1A.7918.114.3..1 ENSG00000237763 AMY1A.7918.114.3..1_L2 chr1_103668785_C_T rs531730279 2 0.24978154476556 6.56656e-19 0.892757 0.0999028 8.95721672444223 0.918383081007505 chr1:102655290-104655290 +AMY1A.7918.114.3..1 ENSG00000237763 AMY1A.7918.114.3..1_L8 chr1_103763515_C_T rs112518149 5 0.158205957223133 1.82525e-07 0.617843 0.118191 5.24944586203691 0.710818444681624 chr1:102655290-104655290 +AMY1A.7918.114.3..1 ENSG00000237763 AMY1A.7918.114.3..1_L8 chr1_103780382_A_C rs74486377 5 0.0631024593524357 1.66298e-07 0.555245 0.105865 5.26583426302732 0.710818444681624 chr1:102655290-104655290 +AMY1A.7918.114.3..1 ENSG00000237763 AMY1A.7918.114.3..1_L8 chr1_103784694_G_A rs111937937 5 0.299969225009035 6.44072e-08 0.607864 0.112182 5.44035433710252 0.710818444681624 chr1:102655290-104655290 +AMY1A.7918.114.3..1 ENSG00000237763 AMY1A.7918.114.3..1_L5 chr1_103791530_T_C rs12718032 2 0.498456726418405 7.80792e-12 -0.888432 0.129377 -6.88371950851072 1 chr1:102655290-104655290 +AMY1A.7918.114.3..1 ENSG00000237763 AMY1A.7918.114.3..1_L5 chr1_103791531_C_T rs12718033 2 0.498456726418405 7.80792e-12 -0.888432 0.129377 -6.88371950851072 1 chr1:102655290-104655290 +AMY1A.7918.114.3..1 ENSG00000237763 AMY1A.7918.114.3..1_L8 chr1_103868893_C_T rs112582891 5 0.0108660096782747 1.25217e-06 0.573224 0.118039 4.87740414910442 0.710818444681624 chr1:102655290-104655290 +AMY1A.7918.114.3..1 ENSG00000237763 AMY1A.7918.114.3..1_L6 chr1_103869827_C_T rs77395797 4 0.136398531014545 1.88188e-16 -0.903813 0.109254 -8.29678045059477 0.765529570853573 chr1:102655290-104655290 +AMY1A.7918.114.3..1 ENSG00000237763 AMY1A.7918.114.3..1_L6 chr1_103896606_AAC_A rs149362978 4 0.394459586630998 4.4686e-17 -0.936885 0.110929 -8.4704863307765 0.765529570853573 chr1:102655290-104655290 +AMY1A.7918.114.3..1 ENSG00000237763 AMY1A.7918.114.3..1_L6 chr1_103941863_A_C rs78691055 4 0.381808971655203 1.6995e-16 -0.887289 0.107096 -8.30886315642385 0.765529570853573 chr1:102655290-104655290 +AMY1A.7918.114.3..1 ENSG00000237763 AMY1A.7918.114.3..1_L6 chr1_104066239_T_A rs79264627 4 0.087290671754178 1.52577e-15 -0.854343 0.106604 -8.03746208287604 0.765529570853573 chr1:102655290-104655290 +AMY1A.7918.114.3..1 ENSG00000237763 AMY1A.7918.114.3..1_L4 chr1_104140351_A_C rs140988946 2 0.499735709754288 1.27153e-12 -0.937449 0.131568 -7.13696932535266 1 chr1:102655290-104655290 +AMY1A.7918.114.3..1 ENSG00000237763 AMY1A.7918.114.3..1_L4 chr1_104142525_T_C rs144738643 2 0.499735709754288 1.27153e-12 -0.937449 0.131568 -7.13696932535266 1 chr1:102655290-104655290 +NTNG1.5637.81.3..1 ENSG00000162631 NTNG1.5637.81.3..1_L1 chr1_107135646_G_C rs115668827 1 0.999999999152377 7.63332e-99 1.08093 0.0494955 21.8723371836279 1 chr1:106140007-108140007 +GSTM1.7239.9.3..1 ENSG00000134184 GSTM1.7239.9.3..1_L3 chr1_109589235_A_G rs115113608 4 0.124950624508756 0.0177043 -0.15027 0.0633265 -2.37593150661648 0.736625376789901 chr1:108687814-110687814 +GSTM1.7239.9.3..1 ENSG00000134184 GSTM1.7239.9.3..1_L3 chr1_109612653_G_A rs41313290 4 0.11989060447971 0.0184856 -0.148156 0.0628601 -2.35988376221321 0.736625376789901 chr1:108687814-110687814 +GSTM1.7239.9.3..1 ENSG00000134184 GSTM1.7239.9.3..1_L3 chr1_109618135_A_G rs143373095 4 0.0380482611599771 0.0122033 -0.183543 0.0731946 -2.51102566998723 0.736625376789901 chr1:108687814-110687814 +GSTM1.7239.9.3..1 ENSG00000134184 GSTM1.7239.9.3..1_L3 chr1_109666423_CA_C rs200217278 4 0.68348010200753 0.0196244 -0.18258 0.0782063 -2.33862128021981 0.736625376789901 chr1:108687814-110687814 +GSTM1.7239.9.3..1 ENSG00000134184 GSTM1.7239.9.3..1_L2 chr1_109669912_T_C rs687643 6 0.146931800078394 1.45153e-15 -0.142702 0.0177923 -8.03384911518914 0.994717403110067 chr1:108687814-110687814 +GSTM1.7239.9.3..1 ENSG00000134184 GSTM1.7239.9.3..1_L2 chr1_109670378_T_A rs1149178 6 0.168288212623384 1.24632e-15 -0.143086 0.0177978 -8.052901044418 0.994717403110067 chr1:108687814-110687814 +GSTM1.7239.9.3..1 ENSG00000134184 GSTM1.7239.9.3..1_L2 chr1_109672545_G_C rs676828 6 0.171447243842212 1.2321e-15 -0.143085 0.0177945 -8.05434906241406 0.994717403110067 chr1:108687814-110687814 +GSTM1.7239.9.3..1 ENSG00000134184 GSTM1.7239.9.3..1_L2 chr1_109672546_T_A rs655323 6 0.171447243842212 1.2321e-15 -0.143085 0.0177945 -8.05434906241406 0.994717403110067 chr1:108687814-110687814 +GSTM1.7239.9.3..1 ENSG00000134184 GSTM1.7239.9.3..1_L2 chr1_109672556_A_G rs655315 6 0.176956554895134 1.18157e-15 -0.143187 0.0177957 -8.0595874634879 0.994717403110067 chr1:108687814-110687814 +GSTM1.7239.9.3..1 ENSG00000134184 GSTM1.7239.9.3..1_L2 chr1_109674419_C_G rs428434 6 0.132857170363337 1.74238e-15 -0.142778 0.0178527 -8.01110529958856 0.994717403110067 chr1:108687814-110687814 +GSTM1.7239.9.3..1 ENSG00000134184 GSTM1.7239.9.3..1_L1 chr1_109675302_G_A rs611951 1 0.999790629660438 7.20622e-22 -0.246472 0.0254637 -9.69359103959016 1 chr1:108687814-110687814 +GSTM1.7239.9.3..1 ENSG00000134184 GSTM1.7239.9.3..1_L4 chr1_109687431_T_C rs185411429 7 0.0391957610979906 0.000188762 0.259963 0.0695489 3.74246573009135 0.77221111610039 chr1:108687814-110687814 +GSTM1.7239.9.3..1 ENSG00000134184 GSTM1.7239.9.3..1_L4 chr1_109703659_C_A rs114807258 7 0.138495056822159 8.88168e-05 0.271657 0.0692269 3.92882510953298 0.77221111610039 chr1:108687814-110687814 +GSTM1.7239.9.3..1 ENSG00000134184 GSTM1.7239.9.3..1_L4 chr1_109705752_G_A rs4119680 7 0.00392261918335524 0.000972837 0.190925 0.0578343 3.30563451682445 0.77221111610039 chr1:108687814-110687814 +GSTM1.7239.9.3..1 ENSG00000134184 GSTM1.7239.9.3..1_L4 chr1_109705872_A_G rs4111793 7 0.00392261918335524 0.000972837 0.190925 0.0578343 3.30563451682445 0.77221111610039 chr1:108687814-110687814 +GSTM1.7239.9.3..1 ENSG00000134184 GSTM1.7239.9.3..1_L4 chr1_109706742_T_G rs10857797 7 0.00394765617720327 0.000965776 0.191005 0.0578226 3.30768231999452 0.77221111610039 chr1:108687814-110687814 +GSTM1.7239.9.3..1 ENSG00000134184 GSTM1.7239.9.3..1_L4 chr1_109707875_G_A rs112697537 7 0.226519414991752 5.50397e-05 0.241719 0.0598547 4.04352621452757 0.77221111610039 chr1:108687814-110687814 +GSTM1.7239.9.3..1 ENSG00000134184 GSTM1.7239.9.3..1_L4 chr1_109711080_C_T rs114184542 7 0.535991863096291 3.82274e-05 0.253832 0.0615564 4.12854314327639 0.77221111610039 chr1:108687814-110687814 +CHI3L2.9383.24.3..1 ENSG00000064886 CHI3L2.9383.24.3..1_L1 chr1_111218425_C_CT rs71096398 12 0.0140423605605697 8.11237e-12 -0.187906 0.0273858 -6.87465242188135 0.768788206750205 chr1:110200771-112200771 +CHI3L2.9383.24.3..1 ENSG00000064886 CHI3L2.9383.24.3..1_L1 chr1_111218425_C_CT rs398103176 12 0.0140423605605697 8.11237e-12 -0.187906 0.0273858 -6.87465242188135 0.768788206750205 chr1:110200771-112200771 +CHI3L2.9383.24.3..1 ENSG00000064886 CHI3L2.9383.24.3..1_L1 chr1_111222999_C_T rs7541319 12 0.012183707666001 9.5671e-12 0.188284 0.027537 6.85067991238155 0.768788206750205 chr1:110200771-112200771 +CHI3L2.9383.24.3..1 ENSG00000064886 CHI3L2.9383.24.3..1_L1 chr1_111223001_C_T rs7541320 12 0.012183707666001 9.5671e-12 0.188284 0.027537 6.85067991238155 0.768788206750205 chr1:110200771-112200771 +CHI3L2.9383.24.3..1 ENSG00000064886 CHI3L2.9383.24.3..1_L1 chr1_111223049_C_A rs79561756 12 0.0180624375586194 6.21533e-12 0.190394 0.0275935 6.9129520675186 0.768788206750205 chr1:110200771-112200771 +CHI3L2.9383.24.3..1 ENSG00000064886 CHI3L2.9383.24.3..1_L1 chr1_111226195_G_A rs112495041 12 0.0569065732801756 1.8385e-12 0.196544 0.0277861 7.08664061321594 0.768788206750205 chr1:110200771-112200771 +CHI3L2.9383.24.3..1 ENSG00000064886 CHI3L2.9383.24.3..1_L1 chr1_111227161_A_AT rs1405449799 12 0.0471145548781091 2.14633e-12 0.202848 0.0287662 7.06515582921552 0.768788206750205 chr1:110200771-112200771 +CHI3L2.9383.24.3..1 ENSG00000064886 CHI3L2.9383.24.3..1_L1 chr1_111229637_A_C rs6537684 12 0.212196762028722 4.88456e-13 0.192206 0.0264824 7.2710930985834 0.768788206750205 chr1:110200771-112200771 +CHI3L2.9383.24.3..1 ENSG00000064886 CHI3L2.9383.24.3..1_L1 chr1_111230685_T_C rs75230690 12 0.214417276190273 4.84114e-13 0.190763 0.0262792 7.27250335093835 0.768788206750205 chr1:110200771-112200771 +CHI3L2.9383.24.3..1 ENSG00000064886 CHI3L2.9383.24.3..1_L1 chr1_111231515_C_G rs2182115 12 0.105244955003551 1.03237e-12 0.186235 0.0260313 7.16751235705965 0.768788206750205 chr1:110200771-112200771 +CHI3L2.9383.24.3..1 ENSG00000064886 CHI3L2.9383.24.3..1_L1 chr1_111234055_G_C rs112260552 12 0.0956202047980552 1.14336e-12 0.185076 0.0259209 7.15332881048668 0.768788206750205 chr1:110200771-112200771 +CHI3L2.9383.24.3..1 ENSG00000064886 CHI3L2.9383.24.3..1_L1 chr1_111234063_G_T rs112597784 12 0.0956202047980552 1.14336e-12 0.185076 0.0259209 7.15332881048668 0.768788206750205 chr1:110200771-112200771 +CHI3L2.9383.24.3..1 ENSG00000064886 CHI3L2.9383.24.3..1_L1 chr1_111235703_C_T rs11556868 12 0.0858826844912999 1.27931e-12 0.183342 0.0257346 7.13758000707761 0.768788206750205 chr1:110200771-112200771 +OLFML3.8660.5.3..1 ENSG00000116774 OLFML3.8660.5.3..1_L1 chr1_113925634_T_A rs2476598 14 0.0337327235534424 3.88914e-09 0.13644 0.0231064 5.91832957550532 0.776861365904863 chr1:112979391-114979391 +OLFML3.8660.5.3..1 ENSG00000116774 OLFML3.8660.5.3..1_L1 chr1_113926881_A_G rs2147079 14 0.0372064009911297 3.55253e-09 0.136645 0.0230822 5.93340344771317 0.776861365904863 chr1:112979391-114979391 +OLFML3.8660.5.3..1 ENSG00000116774 OLFML3.8660.5.3..1_L1 chr1_113928567_C_T rs1000528 14 0.0493352275266787 2.58002e-09 0.136864 0.0229142 5.98659760343015 0.776861365904863 chr1:112979391-114979391 +OLFML3.8660.5.3..1 ENSG00000116774 OLFML3.8660.5.3..1_L1 chr1_113929596_A_G rs1217441 14 0.045677537570453 2.79766e-09 0.136482 0.0229016 5.97322704690054 0.776861365904863 chr1:112979391-114979391 +OLFML3.8660.5.3..1 ENSG00000116774 OLFML3.8660.5.3..1_L1 chr1_113936808_A_G rs7545038 14 0.0490337269493919 2.60726e-09 0.135722 0.0227297 5.98506993969208 0.776861365904863 chr1:112979391-114979391 +OLFML3.8660.5.3..1 ENSG00000116774 OLFML3.8660.5.3..1_L1 chr1_113938196_G_A rs6658209 14 0.0491235729591243 2.60086e-09 0.135727 0.0227289 5.98547504828744 0.776861365904863 chr1:112979391-114979391 +OLFML3.8660.5.3..1 ENSG00000116774 OLFML3.8660.5.3..1_L1 chr1_113938757_A_G rs7551215 14 0.0489021837909578 2.61454e-09 0.135702 0.0227281 5.98460867697915 0.776861365904863 chr1:112979391-114979391 +OLFML3.8660.5.3..1 ENSG00000116774 OLFML3.8660.5.3..1_L1 chr1_113938927_A_AT rs60152674 14 0.288773995100406 2.98325e-10 0.139953 0.0221473 6.33316344212625 0.776861365904863 chr1:112979391-114979391 +OLFML3.8660.5.3..1 ENSG00000116774 OLFML3.8660.5.3..1_L1 chr1_113947147_A_C rs4381184 14 0.0670684954378246 1.86331e-09 0.137142 0.0227572 6.04025344482872 0.776861365904863 chr1:112979391-114979391 +OLFML3.8660.5.3..1 ENSG00000116774 OLFML3.8660.5.3..1_L1 chr1_113969681_A_G rs7554371 14 0.036201612926157 3.84263e-09 0.13879 0.0234964 5.92120797884107 0.776861365904863 chr1:112979391-114979391 +OLFML3.8660.5.3..1 ENSG00000116774 OLFML3.8660.5.3..1_L1 chr1_113970866_G_T rs7522987 14 0.107140790515865 1.06156e-09 0.138267 0.0226013 6.13204505007826 0.776861365904863 chr1:112979391-114979391 +OLFML3.8660.5.3..1 ENSG00000116774 OLFML3.8660.5.3..1_L1 chr1_113978911_T_TA rs28365907 14 0.0604574665409252 2.12504e-09 0.134455 0.0223913 6.01911896722037 0.776861365904863 chr1:112979391-114979391 +OLFML3.8660.5.3..1 ENSG00000116774 OLFML3.8660.5.3..1_L1 chr1_113979061_A_AAAC rs3841011 14 0.0500160199149901 2.59801e-09 0.133925 0.0224265 5.98605424918997 0.776861365904863 chr1:112979391-114979391 +OLFML3.8660.5.3..1 ENSG00000116774 OLFML3.8660.5.3..1_L1 chr1_113979261_C_G rs6702833 14 0.0503931225390332 2.58312e-09 0.133848 0.02241 5.98698014955762 0.776861365904863 chr1:112979391-114979391 +CD58.10938.13.3..1 ENSG00000116815 CD58.10938.13.3..1_L1 chr1_116517087_A_G rs60612523 8 0.0475309309988685 1.44588e-06 0.462598 0.0958263 4.83398207403841 0.483641872973346 chr1:115571039-117571039 +CD58.10938.13.3..1 ENSG00000116815 CD58.10938.13.3..1_L1 chr1_116536107_A_G rs35768283 8 0.0850172382512443 7.72843e-07 0.467779 0.0944689 4.95843797092849 0.483641872973346 chr1:115571039-117571039 +CD58.10938.13.3..1 ENSG00000116815 CD58.10938.13.3..1_L1 chr1_116537006_A_G rs61789227 8 0.0896182831808431 7.25971e-07 0.472739 0.095235 4.97061069700849 0.483641872973346 chr1:115571039-117571039 +CD58.10938.13.3..1 ENSG00000116815 CD58.10938.13.3..1_L1 chr1_116537166_G_C rs61789228 8 0.15459839986684 4.02323e-07 0.489369 0.0963674 5.08505784950955 0.483641872973346 chr1:115571039-117571039 +CD58.10938.13.3..1 ENSG00000116815 CD58.10938.13.3..1_L1 chr1_116542790_A_G rs61789230 8 0.0953989793595664 6.78616e-07 0.472429 0.0949205 4.98381705849787 0.483641872973346 chr1:115571039-117571039 +CD58.10938.13.3..1 ENSG00000116815 CD58.10938.13.3..1_L1 chr1_116544968_G_A rs61789231 8 0.0960369373263085 6.73437e-07 0.472791 0.0949647 4.98530739399096 0.483641872973346 chr1:115571039-117571039 +CD58.10938.13.3..1 ENSG00000116815 CD58.10938.13.3..1_L1 chr1_116551018_T_C rs61789232 8 0.0944902273640924 6.85365e-07 0.472377 0.094947 4.98187575193265 0.483641872973346 chr1:115571039-117571039 +CD58.10938.13.3..1 ENSG00000116815 CD58.10938.13.3..1_L1 chr1_116584795_C_T rs41301291 8 0.323529981719682 1.78331e-07 0.389214 0.0743932 5.23694904568754 0.483641872973346 chr1:115571039-117571039 +PTGFRN.12727.7.3..1 ENSG00000134247 PTGFRN.12727.7.3..1_L1 chr1_116947639_G_T rs4233450 1 1 2.05602e-251 0.996044 0.0268832 37.112422729511 1 chr1:115909916-117909916 +PTGFRN.12727.7.3..1 ENSG00000134247 PTGFRN.12727.7.3..1_L4 chr1_116950430_CT_C rs5777294 1 0.999999896923805 1.49413e-14 -0.230896 0.029896 -7.74331858390703 1 chr1:115909916-117909916 +PTGFRN.12727.7.3..1 ENSG00000134247 PTGFRN.12727.7.3..1_L2 chr1_116953853_C_CT rs531278323 1 0.99914874906682 8.96156e-41 -0.7726 0.0569945 -13.5720346162712 1 chr1:115909916-117909916 +PTGFRN.12727.7.3..1 ENSG00000134247 PTGFRN.12727.7.3..1_L3 chr1_116964780_T_C rs4131408 1 0.999999991354537 1.49928e-06 0.121934 0.0252965 4.82836758942392 1 chr1:115909916-117909916 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L3 chr1_117315906_C_T rs867990055 6 0.411416697474189 3.16669e-16 -0.661814 0.0806202 -8.22192939624096 0.862857216242153 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L3 chr1_117342995_G_A rs115842852 6 0.111339038895784 3.4635e-17 -0.690533 0.0814675 -8.49097213310816 0.862857216242153 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117367337_G_GGAA rs762272197 145 0.00582517797248594 4.96014e-18 0.308426 0.035433 8.71622250083696 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117372502_A_T rs11587759 145 0.0032418248899162 1.74898e-17 0.292183 0.0341451 8.56990827272488 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117372791_A_AT rs139509107 145 0.00346487155868735 1.62658e-17 0.290973 0.0339698 8.57847033612913 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117376113_C_T rs10923274 145 0.00346487155868735 1.62658e-17 0.290973 0.0339698 8.57847033612913 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117376392_A_G rs10923275 145 0.00346487155868735 1.62658e-17 0.290973 0.0339698 8.57847033612913 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117377406_T_C rs10801957 145 0.00346487155868735 1.62658e-17 0.290973 0.0339698 8.57847033612913 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117377685_T_TTG rs150115826 145 0.00346487155868735 1.62658e-17 0.290973 0.0339698 8.57847033612913 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117377685_T_TTG rs66692703 145 0.00346487155868735 1.62658e-17 0.290973 0.0339698 8.57847033612913 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117377689_G_T rs77807296 145 0.00346487155868735 1.62658e-17 0.290973 0.0339698 8.57847033612913 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117379379_T_C rs10923278 145 0.00346487155868735 1.62658e-17 0.290973 0.0339698 8.57847033612913 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117381450_T_C rs61809515 145 0.00337869890474929 1.68938e-17 0.290864 0.0339747 8.5739953104312 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117382621_C_T rs4466644 145 0.00494876042950465 9.35165e-18 0.289286 0.0335186 8.64353396958903 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117382683_A_G rs143694657 145 0.0045989093527693 9.8882e-18 0.290932 0.0337348 8.63698200016798 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117383251_AT_A rs140454348 145 0.00469507297668226 1.00976e-17 0.289073 0.0335288 8.63451866319521 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117383513_G_A rs11577335 145 0.00482805778172257 9.70829e-18 0.289192 0.0335247 8.6391329235063 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117383719_G_A rs78922094 145 0.0045989093527693 9.8882e-18 0.290932 0.0337348 8.63698200016798 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117386177_G_A rs17037223 145 0.00420332453499861 1.25095e-17 0.289251 0.0336475 8.60943083403802 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117388172_AAG_A rs145841958 145 0.00462542560547441 9.81299e-18 0.290932 0.0337313 8.63787375468341 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117388320_A_G rs17037231 145 0.00486618147990769 9.60142e-18 0.289199 0.0335205 8.64042686468959 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117388469_A_G rs61809517 145 0.00486618147990769 9.60142e-18 0.289199 0.0335205 8.64042686468959 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117389722_T_G rs6662808 145 0.00496777662591308 9.28271e-18 0.289389 0.0335272 8.64438097408257 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117390964_G_A rs12127141 145 0.00462542560547441 9.81299e-18 0.290932 0.0337313 8.63787375468341 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117390987_G_A rs10923281 145 0.00486618147990769 9.60142e-18 0.289199 0.0335205 8.64042686468959 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117394741_C_T rs61808995 145 0.0049180343646329 8.87759e-18 0.290963 0.0336892 8.64959312126768 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117396856_G_T rs61808999 145 0.00497455489107657 8.7351e-18 0.290933 0.0336783 8.65148010037419 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117397066_AC_A rs137887215 145 0.00506904403119912 8.98083e-18 0.28899 0.033466 8.64822528825749 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117397948_G_A rs61809002 145 0.00506904403119912 8.98083e-18 0.28899 0.033466 8.64822528825749 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117398905_G_A rs11583061 145 0.00537241932910204 7.74494e-18 0.290688 0.0335953 8.66565015835898 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117400240_G_A rs12131109 145 0.00526664585733616 7.96184e-18 0.290757 0.0336158 8.66241397178223 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117401571_G_C rs17037253 145 0.00530614979824895 8.34733e-18 0.287966 0.0333144 8.65685819867821 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117403552_C_G rs61809004 145 0.00559289535671625 7.74852e-18 0.287933 0.0332772 8.66554603174975 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117403971_A_G rs10923284 145 0.00555361816450295 7.38537e-18 0.290605 0.0335642 8.67118317858973 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117404338_G_A rs10754344 145 0.00570456635025374 7.52854e-18 0.287988 0.0332706 8.66891636175415 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117404623_T_C rs4460623 145 0.0055730773677457 7.83881e-18 0.285863 0.033043 8.66410690773968 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117404886_C_G rs10923285 145 0.00560352877715464 7.73514e-18 0.287916 0.0332744 8.66574672027815 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117407111_G_GA rs140717342 145 0.00352672502195639 1.39766e-17 0.296032 0.0344886 8.59644136438616 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117408302_TA_T rs1342460042 145 0.0120352881604295 1.19735e-17 0.287192 0.0333879 8.61460962436664 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117409007_T_G rs7547211 145 0.00570456635025374 7.52854e-18 0.287988 0.0332706 8.66891636175415 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117410623_GA_G rs544835333 145 0.00556771872764772 7.36399e-18 0.290596 0.0335618 8.67152053983828 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117411268_A_G rs2359247 145 0.00560352877715464 7.73514e-18 0.287916 0.0332744 8.66574672027815 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117414017_T_C rs7546280 145 0.00560352877715464 7.73514e-18 0.287916 0.0332744 8.66574672027815 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117415063_C_A rs61805762 145 0.00556771872764772 7.36399e-18 0.290596 0.0335618 8.67152053983828 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117415799_A_G rs61805763 145 0.00560352877715464 7.73514e-18 0.287916 0.0332744 8.66574672027815 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117416122_AT_A rs140783195 145 0.00556845764048652 7.36269e-18 0.290596 0.0335618 8.67154112836966 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117418588_T_C rs10923289 145 0.00570534096812014 7.52127e-18 0.287993 0.0332707 8.66902918380216 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117418762_C_G rs12116979 145 0.00560428756468934 7.72768e-18 0.287921 0.0332745 8.66585956261713 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117423885_CT_C rs568455134 145 0.00668098758586155 5.91187e-18 0.289065 0.0332867 8.69714037798592 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117423945_C_T rs12117443 145 0.004648148017805 1.16946e-17 0.288911 0.0335771 8.61736137367636 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117425126_G_A rs74496340 145 0.00560428756468934 7.72768e-18 0.287921 0.0332745 8.66585956261713 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L1 chr1_117427158_AT_A rs35505705 1 0.953988049682964 1.03087e-22 -0.265522 0.0268696 -9.90286663026821 1 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L1 chr1_117427158_AT_A rs397981454 1 0.953988049682964 1.03087e-22 -0.265522 0.0268696 -9.90286663026821 1 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117428091_A_ATC rs1218648156 145 0.00363318147979164 1.39357e-17 0.287771 0.0335247 8.59679354806247 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117428091_A_ATC rs1491298022 145 0.00363318147979164 1.39357e-17 0.287771 0.0335247 8.59679354806247 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117428091_A_ATC rs765944373 145 0.00363318147979164 1.39357e-17 0.287771 0.0335247 8.59679354806247 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117428091_A_ATC rs763805236 145 0.00363318147979164 1.39357e-17 0.287771 0.0335247 8.59679354806247 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117428725_A_G rs12140576 145 0.00555624928260612 7.36476e-18 0.290746 0.0335792 8.67150893052922 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117428784_CTTTTTT_C rs780515731 145 0.00405100662029789 1.46695e-17 0.300194 0.0349966 8.59067578887828 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L2 chr1_117429446_C_A rs541770553 3 0.303218120492753 3.17651e-11 -0.631867 0.0948611 -6.67183526765225 0.969414739960008 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117430198_CGGGCGGGGGGCT_C rs1326038533 145 0.0869199101985334 2.05697e-19 0.351434 0.0387605 9.0820290747647 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117430230_C_T rs540552506 145 0.0992282846092515 2.34587e-19 0.341169 0.0376894 9.06655537110236 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117430984_G_T rs61805784 145 0.00587051811904449 5.54143e-18 0.295072 0.0339491 8.70471525040322 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117431559_G_A rs11576543 145 0.0059327683485686 5.4582e-18 0.292465 0.0336423 8.70642946518756 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117432712_C_T rs10923291 145 0.0059327683485686 5.4582e-18 0.292465 0.0336423 8.70642946518756 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117433011_G_C rs7533053 145 0.0059327683485686 5.4582e-18 0.292465 0.0336423 8.70642946518756 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117438133_G_A rs1316326 145 0.00587051811904449 5.54143e-18 0.295072 0.0339491 8.70471525040322 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117438323_C_CT rs141467989 145 0.00587051811904449 5.54143e-18 0.295072 0.0339491 8.70471525040322 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117438352_G_GT rs149598021 145 0.00594085514620113 5.58358e-18 0.292345 0.0336387 8.70378434768917 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117438402_A_G rs12145435 145 0.00587051811904449 5.54143e-18 0.295072 0.0339491 8.70471525040322 0.892607416891782 chr1:116367449-118367449 +MAN1A2.9077.10.3..1 ENSG00000198162 MAN1A2.9077.10.3..1_L4 chr1_117438591_A_C rs10923295 145 0.00593614790797936 5.45267e-18 0.292468 0.0336421 8.70654733442469 0.892607416891782 chr1:116367449-118367449 diff --git a/tests/gentropy/data_samples/QTD000584.lbf_variable.txt b/tests/gentropy/data_samples/QTD000584.lbf_variable.txt new file mode 100644 index 000000000..47023f5b6 --- /dev/null +++ b/tests/gentropy/data_samples/QTD000584.lbf_variable.txt @@ -0,0 +1,201 @@ +molecular_trait_id region variant chromosome position lbf_variable1 lbf_variable2 lbf_variable3 lbf_variable4 lbf_variable5 lbf_variable6 lbf_variable7 lbf_variable8 lbf_variable9 lbf_variable10 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124823679_A_C 10 124823679 -1.26935233091278 0.00552916857251828 0.00670686749504501 0.00684844231246418 0.00642940186674279 0.00573212028335401 0.0049294931404007 0.00412586958588079 0.00338040036796583 0.00272239661658613 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124823817_T_C 10 124823817 -2.25582222123641 -0.00208125858550989 -0.00256052488318437 -0.00261904135127056 -0.00244640743271951 -0.00216292043253841 -0.00184233048896054 -0.00152734817415645 -0.00124041502049366 -0.000991265768420568 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124824245_G_A 10 124824245 -2.25249260789328 -0.00197882128489812 -0.00243573380317663 -0.00249154951399166 -0.00232690101650856 -0.00205664557252794 -0.00175120086684633 -0.00145129303789115 -0.00117826513141051 -0.00094132823193549 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124824364_C_A 10 124824364 -2.25582222123641 -0.00208125858550989 -0.00256052488318437 -0.00261904135127056 -0.00244640743271951 -0.00216292043253841 -0.00184233048896054 -0.00152734817415645 -0.00124041502049366 -0.000991265768420568 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124824534_C_CA 10 124824534 -2.26318575514626 -0.00759055742912418 -0.00927290986259788 -0.00947680517976357 -0.00887433723066655 -0.00787871618900615 -0.00674313127256188 -0.00561710571236462 -0.00458216509091836 -0.00367617563083877 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124825317_C_CA 10 124825317 -0.577170243131913 0.0161425873788299 0.0196348326829869 0.0200560085606836 0.0188102366798635 0.0167429348752397 0.0143719021033193 0.0120069483938527 0.00982103212513996 0.00789777641993306 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124825317_C_CAA 10 124825317 -1.93134671459752 0.00808255585983675 0.00982087088974337 0.0100302701012764 0.00941074157608668 0.00838160756220585 0.00719967534544841 0.0060190946946368 0.00492641412078276 0.00396386932238579 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124825317_CA_C 10 124825317 -0.532610050446922 0.0206967338320014 0.0251845551687073 0.0257260629026321 0.0241245358917253 0.0214679440558103 0.0184226737957691 0.015386928044514 0.0125825075687986 0.0101162494818747 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124825356_A_G 10 124825356 -0.698810919271326 0.0188588353573147 0.0229460465266103 0.0234391645719034 0.0219807191027961 0.0195612559074494 0.0167874827544021 0.0140220418245414 0.0114670266520394 0.00921986192434243 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124826915_CA_C 10 124826915 -2.31321458683551 -0.00840871648295538 -0.0102690109215051 -0.0104943894955198 -0.00982839321766171 -0.00872744617829202 -0.00747120691421399 -0.00622499048851344 -0.00507909365762194 -0.00407558751563553 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124826959_TG_T 10 124826959 -0.724597943609362 0.0182366191848016 0.0221881319406165 0.0226648572108372 0.021254882010378 0.0189157406366314 0.0162339191520751 0.0135600139674978 0.0110894466434504 0.00891645807503716 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124827162_AT_A 10 124827162 -2.21496848857903 -0.000625904251086329 -0.000787481469924689 -0.00080761257734574 -0.000748472679356293 -0.000653030232775187 -0.000547665274479137 -0.000446885348123871 -0.000357525256686309 -0.000281883923476833 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124827532_A_G 10 124827532 -2.4239637525357 -0.0102023448081918 -0.0124549417313204 -0.0127277408296163 -0.0119215488382096 -0.0105883972157388 -0.00906651295314331 -0.00755604216127681 -0.00616651788850042 -0.00494914623184917 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124827750_CA_C 10 124827750 -2.19705303485449 -0.00537724863697608 -0.00657770507775179 -0.00672340680485517 -0.00629302312399416 -0.00558265410110481 -0.00477375066817576 -0.00397306111913664 -0.003238379074328 -0.00259621529903864 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124828361_A_G 10 124828361 -2.25588888031751 -0.00208224488191977 -0.00256172645601493 -0.00262026893494349 -0.00244755811013109 -0.00216394368366934 -0.00184320789165371 -0.00152808041788477 -0.00124101337164051 -0.000991746533507865 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124828519_C_T 10 124828519 -2.25588888031751 -0.00208224488191977 -0.00256172645601493 -0.00262026893494349 -0.00244755811013109 -0.00216394368366934 -0.00184320789165371 -0.00152808041788477 -0.00124101337164051 -0.000991746533507865 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124828674_C_CT 10 124828674 -2.2667244433029 -0.00233277556838196 -0.00286698520973738 -0.0029321414787975 -0.00273987673260034 -0.00242386800603445 -0.00206606181755742 -0.00171404672221032 -0.00139296162534341 -0.00111382485843814 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124829420_G_A 10 124829420 -0.773523247901995 0.015053028496554 0.0183075326479205 0.0186999848913336 0.0175391396825431 0.0156125614034157 0.0134026087571608 0.0111979862234701 0.00915996807566311 0.00736660676212342 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124829573_A_G 10 124829573 -2.25249260789328 -0.00197882128489812 -0.00243573380317663 -0.00249154951399166 -0.00232690101650856 -0.00205664557252794 -0.00175120086684633 -0.00145129303789115 -0.00117826513141051 -0.00094132823193549 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124830088_A_G 10 124830088 -2.25249260789328 -0.00197882128489812 -0.00243573380317663 -0.00249154951399166 -0.00232690101650856 -0.00205664557252794 -0.00175120086684633 -0.00145129303789115 -0.00117826513141051 -0.00094132823193549 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124831282_G_T 10 124831282 -2.4051241801424 -0.010194429812052 -0.0124453571870049 -0.0127179559473882 -0.0119123569954724 -0.0105801942745289 -0.00905945119390417 -0.0075501258083901 -0.00616166635223259 -0.00494523626616372 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124831283_C_T 10 124831283 -2.25249260789328 -0.00197882128489812 -0.00243573380317663 -0.00249154951399166 -0.00232690101650856 -0.00205664557252794 -0.00175120086684633 -0.00145129303789115 -0.00117826513141051 -0.00094132823193549 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124831840_GTC_G 10 124831840 -1.20159579152222 0.0109045402639332 0.01325692516841 0.0135404689032392 0.012701693318911 0.0113090986301061 0.00971086161782742 0.00811562554315026 0.0066401903543869 0.00534128287561808 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124831844_T_A 10 124831844 -1.34658243357735 0.00835723769649288 0.0101540220853651 0.0103704459305436 0.00973012977614873 0.00866640295231225 0.00744464090993979 0.00622416647313395 0.00509446481102227 0.004099230894131 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124831872_T_A 10 124831872 -2.34625212779857 -0.00968803683158015 -0.0118285437848731 -0.0120878037141861 -0.0113216450523219 -0.0100548425007685 -0.00860892613410691 -0.00717409193702956 -0.00585435801725565 -0.00469829595754456 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124832027_A_AT 10 124832027 -2.25588888031751 -0.00208224488191977 -0.00256172645601493 -0.00262026893494349 -0.00244755811013109 -0.00216394368366934 -0.00184320789165371 -0.00152808041788477 -0.00124101337164051 -0.000991746533507865 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124833145_C_CA 10 124833145 -2.28283780570513 -0.00698556273488071 -0.00853682247273824 -0.00872490334208464 -0.00816921247013314 -0.00725119755438497 -0.00620459080659508 -0.00516728131637656 -0.00421430872952477 -0.00338041150034485 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124833253_G_A 10 124833253 -2.40657832584665 -0.010203516950968 -0.0124564268860818 -0.0127292651718496 -0.0119229580124944 -0.0105896217621688 -0.00906753535325366 -0.00755687284647166 -0.00616717992570104 -0.00494966650181938 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124833306_C_CA 10 124833306 -0.718119334208785 0.0204411095129298 0.0248729799428951 0.0254077221671682 0.0238261920838805 0.0212027184080621 0.0181953299954114 0.0151972610715623 0.0124275702368206 0.00999179406236905 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124833440_G_A 10 124833440 -2.41814339171232 -0.0098327631078603 -0.0120047960981764 -0.0122678640335487 -0.0114904461724898 -0.0102049807281643 -0.00873769306515593 -0.00728157837374699 -0.00594220704109105 -0.00476889267550984 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124835036_G_T 10 124835036 -2.25249260789328 -0.00197882128489812 -0.00243573380317663 -0.00249154951399166 -0.00232690101650856 -0.00205664557252794 -0.00175120086684633 -0.00145129303789115 -0.00117826513141051 -0.00094132823193549 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124835477_A_G 10 124835477 -2.26357089726545 -0.00222271066466995 -0.00273289892174455 -0.00279515289447785 -0.00261146945343693 -0.00230967927981629 -0.00196814756905628 -0.00163233041593891 -0.0013261864531442 -0.00106017148459969 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124837161_C_T 10 124837161 -2.25249260789328 -0.00197882128489812 -0.00243573380317663 -0.00249154951399166 -0.00232690101650856 -0.00205664557252794 -0.00175120086684633 -0.00145129303789115 -0.00117826513141051 -0.00094132823193549 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124838416_A_G 10 124838416 -2.25101211104246 -0.0019007294594231 -0.0023406051271837 -0.00239436257681014 -0.00223579989727307 -0.00197562888849667 -0.00168172781245923 -0.00139331039268331 -0.00113088226397506 -0.000903255146583959 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124838524_C_CA 10 124838524 -2.19483311051505 -0.00073611609891211 -0.000923663761242199 -0.000946982114754746 -0.000878450889030269 -0.000767649297590989 -0.000645009776721217 -0.000527355321968237 -0.000422707491994689 -0.000333856132527011 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124839146_G_A 10 124839146 -2.41082375945296 -0.0099006577745171 -0.0120875311249189 -0.0123523927681961 -0.0115696724236227 -0.0102754235108065 -0.00879808585381836 -0.00733197202772651 -0.00598338047337421 -0.00480197096266988 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124839225_GT_G 10 124839225 -2.2547600983747 -0.00180979521534308 -0.00222990403800383 -0.00228127539590872 -0.00212976945205723 -0.00188129907636458 -0.00160080305748656 -0.00132574085524739 -0.00107564323783382 -0.00085885419282361 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124839264_G_A 10 124839264 -2.25101211104246 -0.0019007294594231 -0.0023406051271837 -0.00239436257681014 -0.00223579989727307 -0.00197562888849667 -0.00168172781245923 -0.00139331039268331 -0.00113088226397506 -0.000903255146583959 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124840199_T_C 10 124840199 -2.39506056143101 -0.0100551588919027 -0.0122757056966614 -0.0125446341421811 -0.0117498873604074 -0.0104357075330044 -0.00893554999762491 -0.00744671581526868 -0.00607715974785661 -0.00487733286532199 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124840467_G_C 10 124840467 -2.1955186516612 -0.00526044141737181 -0.00643541330403563 -0.00657803613453112 -0.00615675597566279 -0.00546147170434175 -0.00466983553727074 -0.00388633342336675 -0.00316750640982066 -0.00253926795723158 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124840650_A_T 10 124840650 -0.374919234825047 0.0248189202763704 0.0302058642972165 0.0308559915029942 0.0289332976481971 0.0257445014718507 0.0220899879909635 0.0184477751553693 0.0150838660999502 0.0121261860282771 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124841158_G_A 10 124841158 -2.25719025489475 -0.00373076326931709 -0.00456968145801628 -0.00467164556865285 -0.0043705450008793 -0.00387415552450276 -0.0033098215585956 -0.00275218677675948 -0.00224138417213471 -0.00179559257569517 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124841267_C_CA 10 124841267 -0.65796727446411 0.0189073654131953 0.0230050128069865 0.0234993877730809 0.0220372234211639 0.0196115820169309 0.0168307125669158 0.0140581828413753 0.0114966063532012 0.00924366168201773 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124841437_A_T 10 124841437 -2.29495240097472 -0.00291412074261821 -0.00357511775813135 -0.00365559041324737 -0.00341803791169371 -0.0030269813358732 -0.00258326144869336 -0.00214572179889183 -0.00174573513882059 -0.00139729438053715 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124841469_C_T 10 124841469 -2.25101211104246 -0.0019007294594231 -0.0023406051271837 -0.00239436257681014 -0.00223579989727307 -0.00197562888849667 -0.00168172781245923 -0.00139331039268331 -0.00113088226397506 -0.000903255146583959 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124841584_A_ATT 10 124841584 -2.25101211104246 -0.0019007294594231 -0.0023406051271837 -0.00239436257681014 -0.00223579989727307 -0.00197562888849667 -0.00168172781245923 -0.00139331039268331 -0.00113088226397506 -0.000903255146583959 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124842626_A_G 10 124842626 -2.41287094557869 -0.0100150766337816 -0.0122271638344906 -0.0124950780441044 -0.0117033357201128 -0.0103941634812945 -0.00889978325271024 -0.00741674739941001 -0.0060525820624826 -0.00485752266582073 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124843625_T_C 10 124843625 -0.391278428517821 0.024561707548254 0.0298925376811181 0.0305358856678355 0.0286332362714949 0.0254776545317208 0.0218611616603241 0.0182567943647096 0.0149277976644338 0.0120007813442671 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124843786_G_T 10 124843786 -1.33271204361954 0.00441986373065539 0.00535558969393302 0.00546793225278286 0.00513532497097469 0.00458127002409814 0.00394260008157588 0.0033021845256247 0.00270727904679813 0.00218152035234276 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124843824_A_T 10 124843824 -0.808644938623694 0.016697723696264 0.0203135002655714 0.0207496644093359 0.019459618318773 0.017319203250421 0.014864862658424 0.0124173893985442 0.0101557032279578 0.00816617525578556 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124844385_G_T 10 124844385 -2.02426977742932 -0.00213689943378714 -0.0026291399548195 -0.00268924500523449 -0.00251192446234683 -0.00222075929825616 -0.00189151365654316 -0.00156805551923922 -0.00127342581869971 -0.00101761227868069 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124844711_C_CT 10 124844711 -2.01503820789279 -0.0031535461822334 -0.00386680125593264 -0.00395359058961686 -0.00369735935604076 -0.00327534683315944 -0.00279619439061829 -0.00232339410815152 -0.00189089116750285 -0.00151390251550865 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124844711_CT_C 10 124844711 -1.25199277177365 0.00564134730161303 0.00684346544685388 0.00698798899544517 0.00656022898481989 0.00584849311572233 0.00502931156001063 0.00420920084715881 0.00344851446769701 0.00277713927604362 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124844888_T_A 10 124844888 -0.375732324632437 0.0248049403934418 0.0301888353436373 0.0308385942069993 0.0289169894669477 0.0257299980795658 0.0220775506700184 0.0184373945242706 0.015075382871137 0.0121193693891644 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124845303_A_G 10 124845303 -0.556302344385712 0.0212121522157274 0.0258124212515813 0.02636751383189 0.0247258183214765 0.0220026662019812 0.0188812049933484 0.015769620000925 0.0128952390237536 0.0103675349386072 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124845846_A_C 10 124845846 -0.884014411763964 0.0151661909799317 0.0184479377895981 0.0188437496976177 0.0176730174456483 0.0157303195339376 0.0135023205298919 0.0112801617152996 0.00922634025881797 0.00741939137745495 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124846286_G_A 10 124846286 -1.37561849919552 0.00360869729913871 0.0043675560701204 0.00445853364713455 0.00418909939642553 0.00373973471157552 0.00322091938858371 0.0026998228571804 0.00221500290375154 0.0017859441489021 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124846582_A_T 10 124846582 -2.26188014201847 -0.00224770286182485 -0.00276329511473161 -0.00282620056778216 -0.00264058969506387 -0.00233560082750373 -0.00199039993220795 -0.00165092240380105 -0.00134139465236771 -0.00107240210186754 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124847850_CA_C 10 124847850 -2.28281655421035 -0.00654849040547711 -0.00800445581757403 -0.00818102594238379 -0.00765937146285545 -0.00679776151501077 -0.00581573061622098 -0.00484270944668097 -0.00394905137158963 -0.00316725747826574 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124847866_A_C 10 124847866 -2.26188014201847 -0.00224770286182485 -0.00276329511473161 -0.00282620056778216 -0.00264058969506387 -0.00233560082750373 -0.00199039993220795 -0.00165092240380105 -0.00134139465236771 -0.00107240210186754 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124848040_G_C 10 124848040 -0.481683170797529 0.0227445034177043 0.0276790136989811 0.0282744849293763 0.0265133981797634 0.0235924041188884 0.0202444637162862 0.0169074327419207 0.0138250704192542 0.0111146884616717 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124848431_G_T 10 124848431 -2.38994467621248 -0.0102487196804901 -0.0125114761704976 -0.0127855037145341 -0.011975680154201 -0.010636515414411 -0.00910775469932679 -0.00759044613753002 -0.00619462013039795 -0.00497171833825583 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124849256_C_T 10 124849256 -1.38512306922568 0.00339803602645494 0.00411095135359352 0.00419637882777657 0.00394335521202338 0.00352118509595067 0.00303350175896622 0.00254339629742217 0.00208716759899241 0.00168322238442897 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124850331_AT_A 10 124850331 -1.14789963673752 0.00996659050391013 0.012113906167416 0.0123726636984429 0.0116071677113001 0.010335953372294 0.00887658967490967 0.00741951332525836 0.00607146531596081 0.00488439246519556 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124850332_T_A 10 124850332 -1.01054912426359 0.0121087994910529 0.0147233008992642 0.0150384958619871 0.0141061253366908 0.012558376242287 0.0107824370924039 0.00901021637326727 0.00737142598287832 0.00592897437797379 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124850559_T_G 10 124850559 -1.13119431454808 0.0077316812330781 0.00938960202083639 0.00958918572989953 0.0089986189143505 0.00801708156622638 0.00688902193433982 0.00576141878737957 0.00471704068319001 0.0037964732754765 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124850734_G_C 10 124850734 -2.37281216720148 -0.00849915332668516 -0.0103805678343534 -0.0106085343587341 -0.00993490934488417 -0.00882146614210955 -0.00755114392486167 -0.00629114155199195 -0.00513272999375847 -0.00411839045022067 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124850745_T_G 10 124850745 -2.34013210285488 -0.00969765122941624 -0.0118403812180796 -0.0120999132441537 -0.0113329522913554 -0.0100648328471036 -0.00861742889999473 -0.00718113521053709 -0.00586007372556985 -0.00470286051065205 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124851010_CA_C 10 124851010 -2.24645897725556 -0.00235531432211511 -0.00289433135303696 -0.00296006531160753 -0.00276608972863635 -0.00244723489208853 -0.00208615341038509 -0.00173085986078103 -0.00140673445268824 -0.00112491489425048 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124851270_A_G 10 124851270 -1.61315974418337 -0.000695769921655209 -0.000875665552248162 -0.000898092069163692 -0.000832212088537787 -0.000725915764403062 -0.000608615379035893 -0.000496473023891664 -0.000397087102147253 -0.000312998377002049 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124851579_G_GTA 10 124851579 -1.59727070433974 -0.00061750007360839 -0.000780342350705343 -0.000800709184291648 -0.000740919496504233 -0.000644717347988877 -0.000538975306584533 -0.00043834176227886 -0.000349575886498421 -0.00027481732563972 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124851849_C_G 10 124851849 -2.20172963397072 0.000344256327158732 0.00039415271008636 0.000399565593268481 0.00038317481379968 0.000353440956338602 0.00031548803148862 0.000273580693262776 0.000231287096364774 0.000191276585144617 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124852104_G_GT 10 124852104 -2.2142673807444 -4.62757645354195e-05 -8.15929161559481e-05 -8.64752302738303e-05 -7.24257501500958e-05 -5.1720342387096e-05 -3.19376801352078e-05 -1.63778023014594e-05 -5.66040100657972e-06 8.87177957320517e-07 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124852520_C_T 10 124852520 -2.20172963397072 0.000344256327158732 0.00039415271008636 0.000399565593268481 0.00038317481379968 0.000353440956338602 0.00031548803148862 0.000273580693262776 0.000231287096364774 0.000191276585144617 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124853121_T_C 10 124853121 -2.08205539936493 -0.00420301069672924 -0.00514722500754417 -0.00526196779568089 -0.00492312010183538 -0.00436442249759983 -0.00372912664544867 -0.00310123401735352 -0.00252594669318995 -0.00202377282313959 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124853579_T_TAC 10 124853579 -1.61585361789647 -0.000345258762839418 -0.000448720538141156 -0.000461913934652891 -0.000423335086342291 -0.000362281274423282 -0.000296775425316476 -0.000236194720025562 -0.000184379079970931 -0.000142075434924838 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124853751_G_GTAAA 10 124853751 -2.20977800042084 3.70890256058409e-05 1.99281102375437e-05 1.72385022576549e-05 2.48041614621108e-05 3.47623586063328e-05 4.22377673410246e-05 4.55419703824234e-05 4.49491512908295e-05 4.1559466096075e-05 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124853754_A_AATAC 10 124853754 -2.42310750391642 -0.00816288430775636 -0.00997028315492132 -0.0101892914486599 -0.00954214613878657 -0.0084725115638733 -0.00725223239856909 -0.00604193309195722 -0.00492927684208899 -0.00395504989832229 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124853754_AATAC_A 10 124853754 -2.23742763746063 -0.00309302891731633 -0.00379548670270724 -0.0038810337245434 -0.00362852200688257 -0.00321292741721368 -0.00274150469795131 -0.00227679631973965 -0.00185210290683546 -0.00148224109781347 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124854823_C_CT 10 124854823 -1.86484506952777 0.00383919706239855 0.00464862332681681 0.00474571721880057 0.00445820147131881 0.00397890418358582 0.003425869817268 0.00287075923259517 0.00235460317835168 0.00189805451313596 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124855424_T_C 10 124855424 -1.0689563395791 0.0141172757206536 0.0171696302035032 0.0175377135128474 0.016448956230227 0.0146420365699691 0.0125693744018558 0.010501743789741 0.00859039221974855 0.00690851161051054 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124855907_G_C 10 124855907 -2.20172963397072 0.000344256327158732 0.00039415271008636 0.000399565593268481 0.00038317481379968 0.000353440956338602 0.00031548803148862 0.000273580693262776 0.000231287096364774 0.000191276585144617 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124855998_G_A 10 124855998 -2.37932547905698 -0.00861996285577771 -0.0105277396098318 -0.0107588911543872 -0.0100758489045782 -0.00894680165723827 -0.00765861847467741 -0.00638083841970261 -0.00520602792366454 -0.0041772857839284 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124856077_A_T 10 124856077 -1.16017327403508 0.00801496109916755 0.0097347198991069 0.00994177515210781 0.00932911690801985 0.00831097738559849 0.00714102523529814 0.00597172866494144 0.0048888938827627 0.00393455384169439 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124856078_A_T 10 124856078 -2.14546465344517 -0.00264064646411999 -0.0032489631421706 -0.0033232551150908 -0.00310409717180971 -0.0027442463684717 -0.00233735805750968 -0.00193764577601785 -0.00157357336004704 -0.00125747255615627 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124856242_A_T 10 124856242 -2.18709076006587 -0.00538453181998921 -0.0065864650294607 -0.00673234219202712 -0.00630143767333413 -0.0055901939405385 -0.00478027140120796 -0.0039785487658075 -0.0032428974093639 -0.00259986956338309 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124856370_C_A 10 124856370 -1.11015451493385 0.0118067214251947 0.0143554458513271 0.0146626971213943 0.0137538153112589 0.0122450014223734 0.0105136514942097 0.00878583544447276 0.00718802616565428 0.00578158250360916 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124856452_T_G 10 124856452 -2.20172963397072 0.000344256327158732 0.00039415271008636 0.000399565593268481 0.00038317481379968 0.000353440956338602 0.00031548803148862 0.000273580693262776 0.000231287096364774 0.000191276585144617 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124856781_C_A 10 124856781 -2.36227386231629 -0.00816558116262867 -0.00997388799706478 -0.010193013635666 -0.00954552323386615 -0.00847535078454831 -0.00725450724893095 -0.00604370003366839 -0.00493062235971653 -0.00395606214243127 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124857129_C_CT 10 124857129 -0.628128352211606 0.0177862952187477 0.021636776894546 0.0221012213611553 0.0207275049713487 0.0184481586819056 0.0158343421387213 0.0132276629929318 0.0108187035753233 0.00869950642747908 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124857129_C_CTT 10 124857129 -2.42446482948922 -0.00926366137701251 -0.0113108456281656 -0.0115588116243739 -0.0108260353360889 -0.00961447205302912 -0.00823167021258353 -0.00685953560296149 -0.00559753276883068 -0.00449209086004476 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124857210_G_C 10 124857210 -0.306771195812222 0.0286652508914989 0.0348902182491391 0.0356415588328018 0.033419575533935 0.0297347307371907 0.0255122158064474 0.0213044359671573 0.0174186366462514 0.0140024549121831 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124857357_T_TC 10 124857357 -0.74774913506455 0.0214291612881903 0.0260762148754976 0.0266369431252684 0.024978567685662 0.0222277202792651 0.0190744684515596 0.0159311466000784 0.013027407337197 0.0104738541329716 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124858183_C_CA 10 124858183 -2.36528455141954 -0.00827051004109691 -0.010102092818042 -0.0103240404132974 -0.00966821288590625 -0.00858426591431449 -0.00734771591222039 -0.00612133846652974 -0.00499395294071414 -0.00400686936803973 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124858338_C_CA 10 124858338 -0.773298686997732 0.0194937265888591 0.023718843168909 0.0242286059761128 0.0227209306438221 0.0202198272743854 0.0173525046840579 0.0144938466078139 0.0118527543759659 0.00952992235737105 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124858870_A_G 10 124858870 -1.99595508079809 -0.0030426223995299 -0.00373368189427925 -0.00381784076000002 -0.00356942264728266 -0.00316056964121536 -0.00269680051078636 -0.00223964438309876 -0.00182186054527822 -0.00145802291673025 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124859522_G_A 10 124859522 -2.365157793514 -0.00827230048391048 -0.0101042706382657 -0.0103262649462352 -0.009670299249668 -0.00858612299682049 -0.00734931002308947 -0.00612267027291802 -0.00499504229370284 -0.00400774539649795 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124859964_G_C 10 124859964 -1.97405365708197 -0.000543187217329155 -0.000689424284475049 -0.000707774278422058 -0.000653946936808758 -0.000567586561615485 -0.000473047903800872 -0.000383497516525999 -0.000304893758784175 -0.000239010868388512 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124860024_G_A 10 124860024 -2.36198869204334 -0.00818237968679414 -0.00999474923050592 -0.0102143760096149 -0.00956541085758689 -0.00849283648263688 -0.00726930683032956 -0.00605589201100054 -0.00494046640365386 -0.00396388882906162 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124861026_G_A 10 124861026 -0.29067413452153 0.0292743585012767 0.0356323821717037 0.0363998018739244 0.0341302799222793 0.0303666802517433 0.0260540420335156 0.021756582282018 0.0177880781062152 0.0142992751009148 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124861051_C_CA 10 124861051 -2.03795344804845 0.00555943061560837 0.00674735090256284 0.00689025720990388 0.00646733396331989 0.00576398883266815 0.00495499615532724 0.00414564596221378 0.00339543051932356 0.00273367987436712 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124861242_G_A 10 124861242 -2.20538965904691 0.000288868708465007 0.000326679151345655 0.000330631833028505 0.000318558453802353 0.000295978460458812 0.000266214181689595 0.000232457354235382 0.000197682182137449 0.000164274842282541 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124861453_TAA_T 10 124861453 -2.00910553493323 -0.00182619854521437 -0.00225222279478343 -0.00230437118373716 -0.0021506075147375 -0.0018986367507523 -0.0016145052431189 -0.00133621578900422 -0.0010834843115779 -0.000864650898003028 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124861546_CT_C 10 124861546 -0.299575679675067 0.0293182633765765 0.0356858057176668 0.0364543738184406 0.0341814550444037 0.0304122204168675 0.026093122370122 0.0217892226905265 0.0178147691794286 0.0143207342160045 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124861678_T_C 10 124861678 -2.20538965904691 0.000288868708465007 0.000326679151345655 0.000330631833028505 0.000318558453802353 0.000295978460458812 0.000266214181689595 0.000232457354235382 0.000197682182137449 0.000164274842282541 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124861767_AAC_A 10 124861767 -2.365157793514 -0.00827230048391048 -0.0101042706382657 -0.0103262649462352 -0.009670299249668 -0.00858612299682049 -0.00734931002308947 -0.00612267027291802 -0.00499504229370284 -0.00400774539649795 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124861896_C_CT 10 124861896 -2.34361530890309 -0.00980634181046591 -0.011972669645862 -0.0122350494284547 -0.0114596665769731 -0.0101775802247421 -0.0087141702195348 -0.00726192484030941 -0.00592613088375993 -0.00475596454737515 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124861896_CT_C 10 124861896 -2.11354144863348 -0.00409914225762442 -0.00502058249042037 -0.00513257112179355 -0.00480186548615391 -0.00425664741908793 -0.00363676336165764 -0.00302419255784248 -0.0024630230271776 -0.00197323604012922 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124862342_G_GTTTC 10 124862342 -0.864289568967809 0.0117991261534693 0.0143437545655223 0.0146504461140693 0.01374317670312 0.0122367825312009 0.0105078147886846 0.00878196212628257 0.00718560700752313 0.00578016109837343 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124862342_GTTTC_G 10 124862342 -2.07217144588303 -0.00258142782033044 -0.00317205002266618 -0.00324407967452078 -0.00303152917706973 -0.00268212882431484 -0.00228644336901063 -0.00189708658195631 -0.00154187258018723 -0.00123300999567011 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124862659_C_T 10 124862659 -2.00640662063191 -0.0015945570639424 -0.00197002543164304 -0.00201606566951762 -0.00188036208133902 -0.0016583151324463 -0.0014084341022178 -0.00116423409372279 -0.000942947211313605 -0.000751729697384906 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124863331_C_A 10 124863331 -1.22981344082261 0.00648215511408479 0.00786783716180706 0.00803454041488383 0.00754119935295261 0.00672080692922439 0.00577726742646778 0.00483339430462681 0.00395855802165279 0.00318694041292122 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124863667_C_T 10 124863667 -2.3114541036934 -0.00829396163175478 -0.0101306759535689 -0.0103532432628235 -0.00969558317750518 -0.008608602562032 -0.00736858267875284 -0.00613875319919099 -0.0050081841819436 -0.0040183049156246 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124863792_G_A 10 124863792 -2.41338949335586 -0.0102158448242644 -0.0124713467902331 -0.0127444957394616 -0.0119372685587149 -0.0106023974915321 -0.00907853859404728 -0.00756609550762599 -0.00617474587064493 -0.00495576633282546 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124863826_G_A 10 124863826 -2.41855974376777 -0.0101440851973633 -0.0123838778534062 -0.0126551275127089 -0.0118535151938319 -0.0105279425574754 -0.00901471897582562 -0.00751285317703587 -0.00613125311405538 -0.00492083048354353 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124863850_G_GC 10 124863850 -2.41352642132538 -0.0102144621698033 -0.012469660943899 -0.0127427732232159 -0.0119356544404736 -0.0106009628320707 -0.00907730911471605 -0.00756507000458795 -0.00617390830827391 -0.00495509366272406 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124863879_T_C 10 124863879 -2.41268773268103 -0.0102220363045333 -0.0124788964814622 -0.0127522097145749 -0.0119444969101368 -0.0106088219217635 -0.00908404396312212 -0.00757068729584676 -0.0061784959761586 -0.0049587780367748 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124864887_G_C 10 124864887 -2.41381085358942 -0.0102111816273278 -0.0124656612846996 -0.0127386865962063 -0.0119318248998526 -0.0105975589377953 -0.00907439191290926 -0.00756263668078105 -0.00617192085803975 -0.00495349743346196 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124864962_G_A 10 124864962 -2.36296427035108 -0.00948256910029599 -0.0115783613765692 -0.0118322222259506 -0.0110820300565244 -0.00984169616350661 -0.00842609600830224 -0.00702145659546582 -0.00572959297396114 -0.00459802178713353 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124864997_C_T 10 124864997 -2.14306511331013 -0.000260582271575327 -0.000344678931059939 -0.000355510086136768 -0.000323907281513769 -0.000274320602060119 -0.000221798724961975 -0.000173991441501986 -0.000133826557028982 -0.00010165157100106 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124865002_G_A 10 124865002 -2.41251023227331 -0.0102177237552032 -0.0124736416121158 -0.0127468409641547 -0.0119394648622468 -0.0106043476515545 -0.00908020794689834 -0.00756748634465332 -0.00617588064852326 -0.00495667689130519 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124865704_C_T 10 124865704 -2.356457849256 -0.00810041343117263 -0.00989494605377494 -0.0101124190637973 -0.00946982283804632 -0.00840780679078579 -0.00719637044055998 -0.00599500068627545 -0.00489069306086476 -0.00392388550016687 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124866001_C_T 10 124866001 -2.41724916412078 -0.0101958677186325 -0.0124469888190628 -0.012719607906591 -0.011913947000719 -0.0105816689704175 -0.00906077472772004 -0.00755127886086404 -0.0061626447093448 -0.00494604760820128 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124866099_A_G 10 124866099 -2.35790509730176 -0.00943119364994427 -0.0115157563517401 -0.0117682599888602 -0.0110220803751888 -0.0097883931689875 -0.00838039806867608 -0.00698332514382205 -0.00569843849875928 -0.00457299284562085 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124866319_G_A 10 124866319 -2.18814687053492 0.00103374299003889 0.00123404983497233 0.00125763382490041 0.00118751492896596 0.00106875046180654 0.000928882685671262 0.000785528494525511 0.000649649603641667 0.000527441820001417 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124867389_CA_C 10 124867389 -2.42439460706178 -0.0101842635723424 -0.0124330062519746 -0.0127053421280041 -0.0119005213782186 -0.0105696512953779 -0.00905039308598443 -0.00754255137385229 -0.00615546565041747 -0.00494024614327948 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124867437_G_A 10 124867437 -2.42181542402192 -0.0101066826092229 -0.0123382838178938 -0.0126085430100131 -0.0118098586950279 -0.0104891346011668 -0.00898145612081969 -0.00748510459873053 -0.00610858680202764 -0.00490262433592559 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124867446_C_G 10 124867446 -1.85215232914845 -0.00219644256812179 -0.00270409053415355 -0.00276612269390064 -0.00258314719750308 -0.0022828582301293 -0.00194355207155761 -0.00161048553124532 -0.00130734889056683 -0.00104434379659546 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124867617_A_G 10 124867617 0.0880066890301177 0.0386184419415754 0.0470141016771235 0.0480276683821961 0.0450303335243802 0.0400606280284359 0.0343672187321142 0.0286951992821192 0.0234585417857001 0.018855811854865 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124868004_G_T 10 124868004 -2.19059206540259 0.000953096955157218 0.00113580654021028 0.00115726448532039 0.00109343176676324 0.000985083395587338 0.00085713839380297 0.000725651487846868 0.000600719590937437 0.000488126203770367 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124868077_G_GTGA 10 124868077 -2.41899105915463 -0.0101780617338392 -0.0124252775963898 -0.0126974243405238 -0.011893159682852 -0.0105631931415644 -0.00904494157493074 -0.00753807276433704 -0.00615185904515902 -0.00493738546844558 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124868108_C_T 10 124868108 -2.14137376350746 0.00264440227928109 0.00319616521047505 0.00326221109855407 0.00306654318791511 0.00273974650405817 0.00236175554929829 0.0019813871070169 0.00162687466035072 0.00131264841277945 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124868637_C_T 10 124868637 -2.35102908566065 -0.00780264455196455 -0.00953175666351491 -0.0097413143052516 -0.00912211407945041 -0.00809881776910881 -0.00693163082493786 -0.00577423046153225 -0.00471041807656247 -0.00377912609346032 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124868925_C_T 10 124868925 -2.42306586227239 -0.0100929881505887 -0.0123215899667151 -0.0125914864714836 -0.0117938742724766 -0.0104749255068342 -0.00896927737872755 -0.00747494489504685 -0.00610028793409745 -0.00489595850814961 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124869257_C_A 10 124869257 -2.40674804533862 -0.0101603128281558 -0.0124038473720414 -0.0126755543259103 -0.0118725933059327 -0.0105448069896554 -0.00902908155322146 -0.00752475900861693 -0.00614092186447524 -0.00492855719484586 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124870301_A_T 10 124870301 -2.42454937630958 -0.00974110134836925 -0.0118928028542493 -0.0121534054533319 -0.0113832711043136 -0.0101098404746653 -0.0086562759604818 -0.0072137650952655 -0.00588689393417718 -0.00472451987113187 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124870342_G_A 10 124870342 -2.24254240705457 -0.00155228805833918 -0.001918805622525 -0.0019637739393592 -0.0018312471997417 -0.0016144878414015 -0.00137070144089391 -0.00113261520680918 -0.000917011551710978 -0.000730820734208049 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124870593_C_T 10 124870593 -2.28037853045056 -0.00134568315480665 -0.00166453583354098 -0.00170367426888918 -0.00158833865386798 -0.00139980328914646 -0.00118791410601071 -0.000981141917813844 -0.000794040732649215 -0.000632581205984195 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124870765_G_A 10 124870765 -2.34195939181553 -0.00902961921251144 -0.0110268481587883 -0.0112688079747527 -0.0105538087631345 -0.00937181748354243 -0.00802304244203489 -0.00668496244615779 -0.00545453617141289 -0.00437695428784401 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124870937_A_AAG 10 124870937 -2.37230685613492 -0.0093384519906885 -0.0114030468423576 -0.0116531449753792 -0.0109140826757277 -0.00969221702959722 -0.00829779624754634 -0.00691427904751718 -0.0056419356567381 -0.00452753650781235 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124871088_G_A 10 124871088 -2.26562276538336 -0.00537848873693392 -0.00657950314815325 -0.00672528021667285 -0.00629467842352716 -0.0055839768997612 -0.00477473843442233 -0.00397376401807215 -0.00323886218870451 -0.0025965392986782 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124871508_C_A 10 124871508 -2.41297959802709 -0.0101947873312165 -0.0124456400135347 -0.0127182258369429 -0.011912662783883 -0.0105805434293291 -0.00905982558303986 -0.00755049984142708 -0.00616201788623894 -0.00494555077041792 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124871651_C_T 10 124871651 -2.3623966394335 -0.00830651776258673 -0.0101460758460079 -0.0103689899794577 -0.00971030666917239 -0.00862164030402823 -0.00737970712410219 -0.00614799112696929 -0.0050156980025875 -0.00402431740164788 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124871717_A_G 10 124871717 -2.4120830893663 -0.0102036150574341 -0.0124564046810671 -0.0127292247990596 -0.0119229691746092 -0.0105897033553912 -0.00906767491220384 -0.00755704645855548 -0.00616736437406873 -0.0049498444409326 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124872065_T_A 10 124872065 -2.30465233503976 -0.00365486539906623 -0.00447767922271014 -0.00457770666273749 -0.00428233826081614 -0.00379550118031746 -0.00324217557751449 -0.00269557085906413 -0.00219500349589508 -0.00175824653571421 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124872284_G_T 10 124872284 -2.30348823457678 -0.00361587902324656 -0.0044301847211381 -0.0045291842032591 -0.00423685518766437 -0.00375505420705258 -0.00320749298886014 -0.0026666256327994 -0.00217135053572592 -0.00173924146888726 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124872559_C_T 10 124872559 -2.35818431673202 -0.00824558293686994 -0.0100718622175235 -0.0102931724982511 -0.00963923160842528 -0.0085584251654911 -0.00732549161127682 -0.00610273627658842 -0.00497871148928031 -0.00399459471276487 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124872986_C_A 10 124872986 -0.923706737356496 0.0113315790353465 0.0137774642370032 0.0140723123671753 0.0132001198497949 0.0117521885172498 0.010090661306521 0.00843248146293307 0.0068990280585175 0.00554919908147644 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124872994_G_A 10 124872994 -2.02341254613387 -0.00305117962125623 -0.0037442032562236 -0.0038286019425362 -0.00357947548896753 -0.00316945864580731 -0.00270437280105584 -0.00224592262039458 -0.0018269597359315 -0.00146209816974752 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124874052_A_T 10 124874052 -2.38693357409243 -0.00857135685344668 -0.0104677043984567 -0.0106974530085249 -0.0100185440549705 -0.00889626085821815 -0.00761568940437174 -0.00634534793821828 -0.00517727850068006 -0.00415436230611821 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124874155_T_G 10 124874155 -2.39775412364336 -0.0095381309483078 -0.0116458920824067 -0.0119011954574866 -0.0111467353237535 -0.00989931199233807 -0.00847557202956661 -0.00706280566807305 -0.00576342417034059 -0.00462523416929539 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124874233_C_T 10 124874233 -2.3657502195825 -0.00819925708227709 -0.0100143852244652 -0.0102343204824731 -0.0095844263876832 -0.00851021757446402 -0.00728467031510993 -0.0060690927664635 -0.00495153679656823 -0.00397298222001563 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124874407_G_A 10 124874407 -2.26168534408016 -0.00422404575473223 -0.00517125252840644 -0.00528631338163388 -0.00494649756284593 -0.0043860331397263 -0.0037484614709502 -0.00311803508838837 -0.00254017415289898 -0.0020355542196957 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124874580_T_C 10 124874580 -1.19481654392163 0.0101655306157933 0.0123577032463165 0.0126219163375412 0.0118403142047154 0.0105425674085526 0.00905306449880472 0.00756622814239627 0.00619093445407781 0.0049800925341712 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124874628_C_CT 10 124874628 -2.21762065241773 -0.0068649175779858 -0.00838864786078775 -0.00857336997435709 -0.00802758682496441 -0.00712586538941729 -0.00609771797206493 -0.00507858055624455 -0.00414219430208052 -0.00332272602368633 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124874628_C_CTT 10 124874628 -2.41714408502127 -0.00800738758039721 -0.00978066315042758 -0.00999554192893104 -0.00936060032146635 -0.00831117033048256 -0.0071139884713225 -0.00592664550866528 -0.00483513478250375 -0.00387945455836292 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124874628_CT_C 10 124874628 -2.32866712978018 -0.00982315867274641 -0.0119934445874148 -0.0122563103102897 -0.0114794955938891 -0.0101950662573653 -0.00872902015657351 -0.00727419931742856 -0.00593607209606306 -0.00476388984716758 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124875024_TG_T 10 124875024 -2.42452927878212 -0.00995743974258767 -0.0121564186176411 -0.0124227350109321 -0.0116357077968465 -0.0103342934182642 -0.00884870870390708 -0.00737433855345104 -0.00601808911237178 -0.0048299211207814 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124875025_G_T 10 124875025 -2.4074340910167 -0.0100566566558609 -0.0122776043978226 -0.0125465832484069 -0.0117516889421418 -0.0104372724088253 -0.00893685570121816 -0.00744777584257594 -0.00607800384572599 -0.00487799564911295 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124875780_A_C 10 124875780 -2.38071407300441 -0.00964567364203406 -0.0117770634939354 -0.0120352252895088 -0.0112723161652171 -0.0100109112755642 -0.00857119345630197 -0.00714254995264962 -0.00582854491132201 -0.00467752856522763 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124875816_T_G 10 124875816 -2.27825848629036 -0.00467085688263058 -0.00571556438176835 -0.00584240515522705 -0.00546775928303234 -0.00484958240206401 -0.00414595096883952 -0.00344977312729711 -0.00281126046625824 -0.00225337270792991 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124875879_A_G 10 124875879 -2.28786347712826 -0.00487631012383982 -0.00596584354113627 -0.00609809996602451 -0.00570744142188451 -0.00506273121830825 -0.00432872766074865 -0.00360231827681012 -0.00293591784287139 -0.00235353665601723 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124875900_C_T 10 124875900 -2.27825848629036 -0.00467085688263058 -0.00571556438176835 -0.00584240515522705 -0.00546775928303234 -0.00484958240206401 -0.00414595096883952 -0.00344977312729711 -0.00281126046625824 -0.00225337270792991 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124876023_T_C 10 124876023 -2.27825848629036 -0.00467085688263058 -0.00571556438176835 -0.00584240515522705 -0.00546775928303234 -0.00484958240206401 -0.00414595096883952 -0.00344977312729711 -0.00281126046625824 -0.00225337270792991 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124876126_G_C 10 124876126 -2.42442534698811 -0.00996620261597592 -0.0121671208762901 -0.0124336722754026 -0.0116459506476527 -0.0103433885272244 -0.00885649441035641 -0.00738082549002339 -0.00602338193984098 -0.00483416826723149 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124876310_G_A 10 124876310 -2.27825848629036 -0.00467085688263058 -0.00571556438176835 -0.00584240515522705 -0.00546775928303234 -0.00484958240206401 -0.00414595096883952 -0.00344977312729711 -0.00281126046625824 -0.00225337270792991 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124876408_T_A 10 124876408 -2.27825848629036 -0.00467085688263058 -0.00571556438176835 -0.00584240515522705 -0.00546775928303234 -0.00484958240206401 -0.00414595096883952 -0.00344977312729711 -0.00281126046625824 -0.00225337270792991 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124876535_G_C 10 124876535 -2.27829632805935 -0.0046719314900967 -0.00571687347664041 -0.00584374258032572 -0.00546901294301305 -0.00485069726480258 -0.00414690695804953 -0.00345057098314872 -0.00281191245252588 -0.00225389658222452 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124876564_C_CAAATAAATTAAATAAAT 10 124876564 -2.12942475684804 -0.00158894226318473 -0.00196172235023306 -0.00200739705782738 -0.00187274792744985 -0.00165230120068705 -0.00140402024302455 -0.00116116606062144 -0.000940902542695632 -0.000750411885188207 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124876568_C_CAAAT 10 124876568 -2.36215716918498 -0.00930963241113991 -0.0113680331574431 -0.0116173857781154 -0.0108805285028986 -0.00966232519673138 -0.00827211136925454 -0.00689279817253707 -0.00562434798885292 -0.00451338044114014 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124876568_C_CAAATAAAT 10 124876568 -0.648929701322621 0.0308435023885512 0.037538910758864 0.0383469638093343 0.0359572174258802 0.0319938803026778 0.0274518144402669 0.0229251617514246 0.0187445132080155 0.0150688257769223 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124876568_C_T 10 124876568 -2.18052202855304 -0.0025014134292598 -0.00307281178678309 -0.00314247042041149 -0.00293689828122723 -0.00259888188556445 -0.00221594741345088 -0.00183898574125596 -0.00149494453347643 -0.00119568940126769 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124876568_CAAATAAATAAAT_C 10 124876568 -2.39512978852103 -0.00966641362165488 -0.0118020856746277 -0.0120607589826016 -0.0112963335514102 -0.0100323896310339 -0.00858972654791046 -0.00715811151822665 -0.00584133104862161 -0.00468785065644051 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124876675_A_G 10 124876675 -2.18052202855304 -0.0025014134292598 -0.00307281178678309 -0.00314247042041149 -0.00293689828122723 -0.00259888188556445 -0.00221594741345088 -0.00183898574125596 -0.00149494453347643 -0.00119568940126769 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124876737_A_G 10 124876737 -2.18052202855304 -0.0025014134292598 -0.00307281178678309 -0.00314247042041149 -0.00293689828122723 -0.00259888188556445 -0.00221594741345088 -0.00183898574125596 -0.00149494453347643 -0.00119568940126769 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124876844_A_AT 10 124876844 -2.18052202855304 -0.0025014134292598 -0.00307281178678309 -0.00314247042041149 -0.00293689828122723 -0.00259888188556445 -0.00221594741345088 -0.00183898574125596 -0.00149494453347643 -0.00119568940126769 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124876970_G_T 10 124876970 -2.19095558457118 -0.0026607600886992 -0.0032669188210912 -0.00334077688664092 -0.00312278806469335 -0.00276419634652525 -0.0023577087879838 -0.00195730204120537 -0.0015916325090366 -0.00127338083983242 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124877181_G_A 10 124877181 -2.14942874363679 -0.00173198752737358 -0.00213550753494474 -0.0021848838874825 -0.00203928133960396 -0.00180063515418505 -0.00153144685282891 -0.00126770412651389 -0.00102810371357176 -0.00082057698983995 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124877742_C_A 10 124877742 -2.06789359669105 0.00262987934722991 0.00317820519682677 0.00324382912345111 0.00304940571873802 0.00272464288181862 0.00234893708859962 0.00197079826345536 0.00161830332058033 0.00130581835814692 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124877843_A_G 10 124877843 -2.11433783846441 -0.00499598240766241 -0.00611346990748007 -0.00624915308189644 -0.00584839244132107 -0.00518713173971674 -0.00443447616285741 -0.00368981097672227 -0.00300684247595751 -0.00241012368287175 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124879093_T_C 10 124879093 -2.14290127114632 -0.00384406929353576 -0.0047133166240183 -0.00481908880636928 -0.00450682075191633 -0.00399251706057679 -0.00340857100185765 -0.00283234773866159 -0.00230520965746672 -0.0018457033228696 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124879923_G_C 10 124879923 -2.40574668912287 -0.0102621202589086 -0.0125278272947424 -0.0128022120185198 -0.0119913327898047 -0.0106504215446259 -0.00911966590142299 -0.00760037614135145 -0.00620272648010101 -0.00497822609501108 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124880248_C_T 10 124880248 -1.75985774107497 -0.000877998601555241 -0.00109773845343986 -0.00112497966076397 -0.00104486327676945 -0.000914988452652477 -0.000770712572622845 -0.000631732887391045 -0.000507600807614583 -0.000401785470919513 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124880294_G_A 10 124880294 -1.9302822333851 -0.00663373426827363 -0.00810982892571577 -0.0082888702952415 -0.00775992850902441 -0.00688640253167883 -0.00589097568227137 -0.00490487765349767 -0.00399938193617988 -0.00320736784692865 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124880336_T_C 10 124880336 -2.3971867783626 -0.00536784219154596 -0.00656538312311383 -0.00671071122189026 -0.006281419100306 -0.0055727663806806 -0.00476568956506807 -0.00396667520303096 -0.00323341469103466 -0.00259240340282307 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124880404_C_CA 10 124880404 -1.12033853837012 0.0244027604505059 0.0296972495055932 0.0303361632276444 0.0284465890882575 0.0253124981487161 0.0217203410918638 0.0181399226250618 0.0148327803451616 0.0119247739464381 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124880404_CA_C 10 124880404 -2.1183672853477 -0.00473362071415639 -0.00579071933489494 -0.00591902499045105 -0.00554002302072565 -0.00491448643477943 -0.00420222218601563 -0.00349723797950663 -0.00285041846016343 -0.00228509379823727 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124880634_A_G 10 124880634 -2.42263994346138 -0.00980890127822365 -0.0119749417421993 -0.0122372647243512 -0.011462035241383 -0.0101801143860145 -0.00871675898083257 -0.0072644269715183 -0.00592843026074208 -0.00475799007795086 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124880658_C_G 10 124880658 -1.54338394539326 0.0054732181143331 0.006636598101601 0.00677638902011513 0.00636258344555207 0.00567375159401484 0.00488046004011222 0.0040857800176437 0.00334825903324143 0.00269700196257672 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124880660_C_G 10 124880660 -2.42416829065956 -0.00990841040868284 -0.0120961267053583 -0.0123610679168187 -0.0115780975040773 -0.0102833454460893 -0.00880529657188056 -0.0073383332879815 -0.00598883475236445 -0.00480653243049112 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124880710_T_C 10 124880710 -2.40511428331389 -0.0101195205057487 -0.0123543389114853 -0.01262499780101 -0.0118251391319895 -0.0105025123221472 -0.00899272201284296 -0.00749433786698495 -0.00611600569828985 -0.00490849710312347 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124881424_C_T 10 124881424 -1.36919701492274 0.00999673883925034 0.0121489779011763 0.0124082824073661 0.0116411348917662 0.0103670205340629 0.00890407623996703 0.00744315622964464 0.00609131454102307 0.00490071372014 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124882052_C_T 10 124882052 -1.82420838934042 0.0022928177461039 0.0027633036003798 0.00281940697305805 0.00265306005708954 0.00237438141671209 0.00205074471555555 0.00172371164138019 0.00141772511562177 0.00114558890483929 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124883060_G_A 10 124883060 -1.90172214488359 0.000577834630465457 0.000674749179790268 0.000685735811911226 0.000652797970321473 0.000595242745631719 0.000524817245715514 0.00044992479634498 0.000376620248644155 0.000308915212811733 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124883112_C_G 10 124883112 -1.89887216225045 0.000537991937034743 0.000626233357059025 0.000636172694886472 0.000606331851326747 0.000553910421083437 0.000489364593859509 0.000420327911155205 0.000352428055699683 0.00028947216448838 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124883394_T_TATTC 10 124883394 -2.38825389806601 -0.00878270817768545 -0.0107237598647796 -0.0109588724170124 -0.0102640787576536 -0.00911532698727369 -0.00780423307672162 -0.00650327561321129 -0.00530675905511302 -0.00425869852260474 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124883535_T_A 10 124883535 -2.38883035182704 -0.00876769840310532 -0.0107054703526681 -0.01094018654477 -0.0102465647594068 -0.009099754282758 -0.00779088174651577 -0.00649213456308928 -0.00529765622368883 -0.00425138528198943 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124883669_A_G 10 124883669 -2.02483811858609 0.00281448798610162 0.00340305047823719 0.0034735314263088 0.00326474527569998 0.00291618593853871 0.00251323571720308 0.00210796785899481 0.00173043429351782 0.00139594610687688 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124883741_G_T 10 124883741 -1.90172214488359 0.000577834630465457 0.000674749179790268 0.000685735811911226 0.000652797970321473 0.000595242745631719 0.000524817245715514 0.00044992479634498 0.000376620248644155 0.000308915212811733 +UROS.11248.43.3..1 chr10:124823285-126823285 chr10_124883757_G_T 10 124883757 -2.23798452352228 -0.00323497440754217 -0.00396937981280354 -0.00405881135783215 -0.00379482448051105 -0.00336031726431107 -0.00286740186100642 -0.00238146493585711 -0.00193733324513268 -0.00155051237063519 diff --git a/tests/gentropy/data_samples/eqtl_catalogue_studies_sample.tsv b/tests/gentropy/data_samples/eqtl_catalogue_studies_sample.tsv deleted file mode 100644 index f756ecd6e..000000000 --- a/tests/gentropy/data_samples/eqtl_catalogue_studies_sample.tsv +++ /dev/null @@ -1,11 +0,0 @@ -study qtl_group tissue_ontology_id tissue_ontology_term tissue_label condition_label quant_method ftp_path -GTEx_V8 Adipose_Subcutaneous UBER_0002190 subcutaneous adipose tissue Adipose - Subcutaneous naive ge ftp://ftp.ebi.ac.uk/pub/databases/spot/eQTL/imported/GTEx_V8/ge/Adipose_Subcutaneous.tsv.gz -GTEx_V8 Adipose_Visceral_Omentum UBER_0010414 omental fat pad Adipose - Visceral (Omentum) naive ge ftp://ftp.ebi.ac.uk/pub/databases/spot/eQTL/imported/GTEx_V8/ge/Adipose_Visceral_Omentum.tsv.gz -GTEx_V8 Adrenal_Gland UBER_0002369 adrenal gland Adrenal Gland naive ge ftp://ftp.ebi.ac.uk/pub/databases/spot/eQTL/imported/GTEx_V8/ge/Adrenal_Gland.tsv.gz -GTEx_V8 Artery_Aorta UBER_0001496 ascending aorta Artery - Aorta naive ge ftp://ftp.ebi.ac.uk/pub/databases/spot/eQTL/imported/GTEx_V8/ge/Artery_Aorta.tsv.gz -GTEx_V8 Artery_Coronary UBER_0001621 coronary artery Artery - Coronary naive ge ftp://ftp.ebi.ac.uk/pub/databases/spot/eQTL/imported/GTEx_V8/ge/Artery_Coronary.tsv.gz -GTEx_V8 Artery_Tibial UBER_0007610 tibial artery Artery - Tibial naive ge ftp://ftp.ebi.ac.uk/pub/databases/spot/eQTL/imported/GTEx_V8/ge/Artery_Tibial.tsv.gz -GTEx_V8 Brain_Amygdala UBER_0001876 amygdala Brain - Amygdala naive ge ftp://ftp.ebi.ac.uk/pub/databases/spot/eQTL/imported/GTEx_V8/ge/Brain_Amygdala.tsv.gz -GTEx_V8 Brain_Anterior_cingulate_cortex_BA24 UBER_0009835 anterior cingulate cortex Brain - Anterior cingulate cortex (BA24) naive ge ftp://ftp.ebi.ac.uk/pub/databases/spot/eQTL/imported/GTEx_V8/ge/Brain_Anterior_cingulate_cortex_BA24.tsv.gz -GTEx_V8 Brain_Caudate_basal_ganglia UBER_0001873 caudate nucleus Brain - Caudate (basal ganglia) naive ge ftp://ftp.ebi.ac.uk/pub/databases/spot/eQTL/imported/GTEx_V8/ge/Brain_Caudate_basal_ganglia.tsv.gz -GTEx_V8 Brain_Cerebellar_Hemisphere UBER_0002037 cerebellum Brain - Cerebellar Hemisphere naive ge ftp://ftp.ebi.ac.uk/pub/databases/spot/eQTL/imported/GTEx_V8/ge/Brain_Cerebellar_Hemisphere.tsv.gz diff --git a/tests/gentropy/data_samples/sample_eqtl_catalogue_studies.tsv b/tests/gentropy/data_samples/sample_eqtl_catalogue_studies.tsv new file mode 100644 index 000000000..08a06803b --- /dev/null +++ b/tests/gentropy/data_samples/sample_eqtl_catalogue_studies.tsv @@ -0,0 +1,2 @@ +study_id dataset_id study_label sample_group tissue_id tissue_label condition_label sample_size quant_method +QTS000035 QTD000584 Sun_2018 plasma UBERON_0001969 plasma naive 3301 aptamer diff --git a/tests/gentropy/datasource/eqtl_catalogue/test_eqtl_catalogue.py b/tests/gentropy/datasource/eqtl_catalogue/test_eqtl_catalogue.py new file mode 100644 index 000000000..a488ab78a --- /dev/null +++ b/tests/gentropy/datasource/eqtl_catalogue/test_eqtl_catalogue.py @@ -0,0 +1,56 @@ +"""Tests for study index dataset from eQTL Catalogue.""" + +from __future__ import annotations + +import pytest +from gentropy.dataset.study_index import StudyIndex +from gentropy.dataset.study_locus import StudyLocus +from gentropy.datasource.eqtl_catalogue.finemapping import EqtlCatalogueFinemapping +from gentropy.datasource.eqtl_catalogue.study_index import EqtlCatalogueStudyIndex +from pyspark.sql import DataFrame + + +@pytest.fixture +def processed_finemapping_df( + sample_eqtl_catalogue_studies_metadata: DataFrame, + sample_eqtl_catalogue_finemapping_credible_sets: DataFrame, + sample_eqtl_catalogue_finemapping_lbf: DataFrame, +) -> DataFrame: + """Return a DataFrame after joining credible sets and LBFs.""" + return EqtlCatalogueFinemapping.parse_susie_results( + sample_eqtl_catalogue_finemapping_credible_sets, + sample_eqtl_catalogue_finemapping_lbf, + sample_eqtl_catalogue_studies_metadata, + ) + + +def test_parse_susie_results( + sample_eqtl_catalogue_finemapping_credible_sets: DataFrame, + sample_eqtl_catalogue_finemapping_lbf: DataFrame, + sample_eqtl_catalogue_studies_metadata: DataFrame, +) -> None: + """Test parsing SuSIE results.""" + assert isinstance( + EqtlCatalogueFinemapping.parse_susie_results( + sample_eqtl_catalogue_finemapping_credible_sets, + sample_eqtl_catalogue_finemapping_lbf, + sample_eqtl_catalogue_studies_metadata, + ), + DataFrame, + ) + + +def test_credsets_from_susie_results(processed_finemapping_df: DataFrame) -> None: + """Test creating a study locus from SuSIE results.""" + assert isinstance( + EqtlCatalogueFinemapping.from_susie_results(processed_finemapping_df), + StudyLocus, + ) + + +def test_studies_from_susie_results(processed_finemapping_df: DataFrame) -> None: + """Test creating a study index from SuSIE results.""" + assert isinstance( + EqtlCatalogueStudyIndex.from_susie_results(processed_finemapping_df), + StudyIndex, + ) diff --git a/tests/gentropy/datasource/eqtl_catalogue/test_eqtl_catalogue_study_index.py b/tests/gentropy/datasource/eqtl_catalogue/test_eqtl_catalogue_study_index.py deleted file mode 100644 index d68550e07..000000000 --- a/tests/gentropy/datasource/eqtl_catalogue/test_eqtl_catalogue_study_index.py +++ /dev/null @@ -1,19 +0,0 @@ -"""Tests for study index dataset from eQTL Catalogue.""" - -from __future__ import annotations - -from gentropy.dataset.study_index import StudyIndex -from gentropy.datasource.eqtl_catalogue.study_index import EqtlCatalogueStudyIndex -from pyspark.sql import DataFrame - - -def test_eqtl_catalogue_study_index_from_source( - sample_eqtl_catalogue_studies: DataFrame, -) -> None: - """Test study index from source.""" - assert isinstance( - EqtlCatalogueStudyIndex.from_source( - sample_eqtl_catalogue_studies, - ), - StudyIndex, - ) diff --git a/tests/gentropy/datasource/eqtl_catalogue/test_eqtl_catalogue_summary_stats.py b/tests/gentropy/datasource/eqtl_catalogue/test_eqtl_catalogue_summary_stats.py deleted file mode 100644 index 3661f6b41..000000000 --- a/tests/gentropy/datasource/eqtl_catalogue/test_eqtl_catalogue_summary_stats.py +++ /dev/null @@ -1,17 +0,0 @@ -"""Tests for study index dataset from eQTL Catalogue.""" - -from __future__ import annotations - -from gentropy.dataset.summary_statistics import SummaryStatistics -from gentropy.datasource.eqtl_catalogue.summary_stats import EqtlCatalogueSummaryStats -from pyspark.sql import DataFrame - - -def test_eqtl_catalogue_summary_stats_from_source( - sample_eqtl_catalogue_summary_stats: DataFrame, -) -> None: - """Test summary statistics from source.""" - assert isinstance( - EqtlCatalogueSummaryStats.from_source(sample_eqtl_catalogue_summary_stats), - SummaryStatistics, - ) From 1759b535f0ba76688791fe28f84c22eeb2b8e553 Mon Sep 17 00:00:00 2001 From: David Ochoa Date: Mon, 4 Mar 2024 15:38:44 +0000 Subject: [PATCH 4/7] ci: pull request labeler (#519) * ci: pull request labeler * fix: adjust capitalisation * refactor: add size to make clear what the letters are about * feat: trigger on issues * revert: mergeable does not seem to work --- .github/labeler.yml | 60 +++++++++++++++++++++++++++++++++++ .github/workflows/labeler.yml | 14 ++++++++ 2 files changed, 74 insertions(+) create mode 100644 .github/labeler.yml create mode 100644 .github/workflows/labeler.yml diff --git a/.github/labeler.yml b/.github/labeler.yml new file mode 100644 index 000000000..606a417d6 --- /dev/null +++ b/.github/labeler.yml @@ -0,0 +1,60 @@ +version: 1 +labels: + - label: "size-XS" + size: + exclude-files: ["poetry.lock"] + below: 10 + - label: "size-S" + size: + exclude-files: ["poetry.lock"] + above: 9 + below: 100 + - label: "size-M" + size: + exclude-files: ["poetry.lock"] + above: 100 + below: 500 + - label: "size-L" + size: + exclude-files: ["poetry.lock"] + above: 499 + below: 1000 + - label: "size-XL" + size: + exclude-files: ["poetry.lock"] + above: 999 + - label: "airflow" + files: + - "src/airflow/.*" + - label: "Documentation" + files: + - "docs/.*" + - label: "Dataset" + files: + - "src/dataset/.*" + - label: "Method" + files: + - "src/method/.*" + - label: "Datasource" + files: + - "src/datasource/.*" + - label: "Feature" + title: "feat:.*" + - label: "Bug" + title: "fix:.*" + - label: "Refactor" + title: "refactor:.*" + - label: "Chore" + title: "chore:.*" + - label: "CI" + title: "ci:.*" + - label: "Test" + title: "test:.*" + - label: "Documentation" + title: "docs:.*" + - label: "Performance" + title: "perf:.*" + - label: "Build" + title: "build:.*" + - label: "Revert" + title: "revert:.*" diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml new file mode 100644 index 000000000..8e9e6f92e --- /dev/null +++ b/.github/workflows/labeler.yml @@ -0,0 +1,14 @@ +name: Label PRs + +"on": + - pull_request + - issues + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: srvaroa/labeler@master + env: + GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" From 3eb8fbad476f5581e7e84bb0589f7294878e9f74 Mon Sep 17 00:00:00 2001 From: David Ochoa Date: Mon, 4 Mar 2024 16:30:40 +0000 Subject: [PATCH 5/7] ci: pull request template (#517) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * ci: pull request template * Update .github/pull_request_template.md Co-authored-by: Irene López <45119610+ireneisdoomed@users.noreply.github.com> * Update .github/pull_request_template.md Co-authored-by: Irene López <45119610+ireneisdoomed@users.noreply.github.com> * Update .github/pull_request_template.md Co-authored-by: Irene López <45119610+ireneisdoomed@users.noreply.github.com> * Update .github/pull_request_template.md Co-authored-by: Irene López <45119610+ireneisdoomed@users.noreply.github.com> * Update .github/pull_request_template.md Co-authored-by: Irene López <45119610+ireneisdoomed@users.noreply.github.com> * Update .github/pull_request_template.md Co-authored-by: Irene López <45119610+ireneisdoomed@users.noreply.github.com> * Update .github/pull_request_template.md Co-authored-by: Irene López <45119610+ireneisdoomed@users.noreply.github.com> * chore: pre-commit auto fixes [...] * Update .github/pull_request_template.md Co-authored-by: Irene López <45119610+ireneisdoomed@users.noreply.github.com> * Update .github/pull_request_template.md Co-authored-by: Irene López <45119610+ireneisdoomed@users.noreply.github.com> * Update .github/pull_request_template.md Co-authored-by: Irene López <45119610+ireneisdoomed@users.noreply.github.com> * refactor: il-suggestion --------- Co-authored-by: Irene López <45119610+ireneisdoomed@users.noreply.github.com> --- .github/pull_request_template.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 .github/pull_request_template.md diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 000000000..aca51c6ea --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,28 @@ +## ✨ Context + + + +## 🛠 What does this PR implement + + + +## 🙈 Missing + + + +## 🚦 Before submitting + +- [ ] Do these changes cover one single feature (one change at a time)? +- [ ] Did you read the [contributor guideline](https://opentargets.github.io/gentropy/development/contributing/#contributing-checklist)? +- [ ] Did you make sure to update the documentation with your changes? +- [ ] Did you make sure there is no commented out code in this PR? +- [ ] Did you follow [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) standards in PR title and commit messages? +- [ ] Did you make sure the branch is up-to-date with the `dev` branch? +- [ ] Did you write any new necessary tests? +- [ ] Did you make sure the changes pass local tests (`make test`)? +- [ ] Did you make sure the changes pass pre-commit rules (e.g `poetry run pre-commit run --all-files`)? From dfc1700fa698f0d610e71d741cafa70f507da2cc Mon Sep 17 00:00:00 2001 From: David Ochoa Date: Mon, 4 Mar 2024 16:36:00 +0000 Subject: [PATCH 6/7] fix: pull-request labeler fixes (#520) * fix: adding missing gentropy * fix: allowing for scope to be there * feat: step label added --- .github/labeler.yml | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/.github/labeler.yml b/.github/labeler.yml index 606a417d6..197d1f923 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -31,30 +31,33 @@ labels: - "docs/.*" - label: "Dataset" files: - - "src/dataset/.*" + - "src/gentropy/dataset/.*" - label: "Method" files: - - "src/method/.*" + - "src/gentropy/method/.*" - label: "Datasource" files: - - "src/datasource/.*" + - "src/gentropy/datasource/.*" + - label: "Step" + files: + - "src/gentropy/[a-zA-Z]\\w+\\.py" - label: "Feature" - title: "feat:.*" + title: "feat.*" - label: "Bug" - title: "fix:.*" + title: "fix.*" - label: "Refactor" - title: "refactor:.*" + title: "refactor.*" - label: "Chore" - title: "chore:.*" + title: "chore.*" - label: "CI" - title: "ci:.*" + title: "ci.*" - label: "Test" - title: "test:.*" + title: "test.*" - label: "Documentation" - title: "docs:.*" + title: "docs.*" - label: "Performance" - title: "perf:.*" + title: "perf.*" - label: "Build" - title: "build:.*" + title: "build.*" - label: "Revert" - title: "revert:.*" + title: "revert.*" From 9f1bec01fb8a17df36c4014abb5138f08a4c727d Mon Sep 17 00:00:00 2001 From: Yakov Date: Tue, 5 Mar 2024 14:47:13 +0000 Subject: [PATCH 7/7] feat(CARMA): adding time limited CARMA (#475) * feat(CARMA): adding time limited CARMA * feat: correct the function * feat(CARMA): added tests * chore: small fix of varaible types * chore: fix of test descriptions --- src/gentropy/method/carma.py | 30 ++++++++++++++++++++++++++++- tests/gentropy/method/test_carma.py | 19 ++++++++++++++++++ 2 files changed, 48 insertions(+), 1 deletion(-) diff --git a/src/gentropy/method/carma.py b/src/gentropy/method/carma.py index 85722d24d..75cb32c79 100644 --- a/src/gentropy/method/carma.py +++ b/src/gentropy/method/carma.py @@ -1,6 +1,7 @@ """CARMA outlier detection method.""" from __future__ import annotations +import concurrent.futures from itertools import combinations from math import floor, lgamma from typing import Any @@ -14,6 +15,34 @@ class CARMA: """Implementation of CARMA outlier detection method.""" + @staticmethod + def time_limited_CARMA_spike_slab_noEM( + z: np.ndarray, ld: np.ndarray, sec_threshold: float = 600 + ) -> dict[str, Any]: + """The wrapper for the CARMA_spike_slab_noEM function that runs the function in a separate thread and terminates it if it takes too long. + + Args: + z (np.ndarray): Numeric vector representing z-scores. + ld (np.ndarray): Numeric matrix representing the linkage disequilibrium (LD) matrix. + sec_threshold (float): The time threshold in seconds. + + Returns: + dict[str, Any]: A dictionary containing the following results: + - PIPs: A numeric vector of posterior inclusion probabilities (PIPs) for all SNPs or None. + - B_list: A dataframe containing the marginal likelihoods and the corresponding model space or None. + - Outliers: A list of outlier SNPs or None. + """ + try: + # Execute CARMA.CARMA_spike_slab_noEM with a timeout + with concurrent.futures.ThreadPoolExecutor(max_workers=1) as executor: + future = executor.submit(CARMA.CARMA_spike_slab_noEM, z=z, ld=ld) + result = future.result(timeout=sec_threshold) + except concurrent.futures.TimeoutError: + # If execution exceeds the timeout, return None + result = {"PIPs": None, "B_list": None, "Outliers": None} + + return result + @staticmethod def CARMA_spike_slab_noEM( z: np.ndarray, @@ -105,7 +134,6 @@ def CARMA_spike_slab_noEM( "Outliers": all_C_list["conditional_S_list"], } - return results_list @staticmethod diff --git a/tests/gentropy/method/test_carma.py b/tests/gentropy/method/test_carma.py index c715eba47..b3aecf6c8 100644 --- a/tests/gentropy/method/test_carma.py +++ b/tests/gentropy/method/test_carma.py @@ -54,3 +54,22 @@ def test_MCS_modified( num_causal=10, ) assert np.allclose(np.round(np.corrcoef(l1_pips, pips)[0, 1], decimals=2), 1) + + def test_time_limited_CARMA_spike_slab_noEM_pips_no_restriction( + self: TestCARMA, sample_data_for_carma: list[np.ndarray] + ) -> None: + """Test of CARMA PIPs with liberal (no) time restriction.""" + ld = sample_data_for_carma[0] + z = sample_data_for_carma[1] + pips = sample_data_for_carma[2] + _l = CARMA.time_limited_CARMA_spike_slab_noEM(z=z, ld=ld, sec_threshold=600) + assert np.allclose(np.round(np.corrcoef(_l["PIPs"], pips)[0, 1], decimals=2), 1) + + def test_time_limited_CARMA_spike_slab_noEM_pips_restriction( + self: TestCARMA, sample_data_for_carma: list[np.ndarray] + ) -> None: + """Test of CARMA PIPs with time restriction.""" + ld = sample_data_for_carma[0] + z = sample_data_for_carma[1] + _l = CARMA.time_limited_CARMA_spike_slab_noEM(z=z, ld=ld, sec_threshold=0.001) + assert _l["Outliers"] is None and _l["PIPs"] is None