From 95d3c141be68f8860df86c586fdfa7df14761b46 Mon Sep 17 00:00:00 2001 From: hjulienne <hanna.julienne@gmail.com> Date: Sun, 25 Nov 2018 16:10:26 +0000 Subject: [PATCH] command line tool --- .../_autosummary/jass_preprocessing.doctree | Bin 59704 -> 66220 bytes .../doctrees/_autosummary/modules.doctree | Bin 2671 -> 2671 bytes doc/_build/doctrees/environment.pickle | Bin 29586 -> 28729 bytes doc/_build/doctrees/index.doctree | Bin 23570 -> 23774 bytes .../html/_autosummary/jass_preprocessing.html | 23 +++++ doc/_build/html/_autosummary/modules.html | 4 +- doc/source/index.rst | 2 + jass_preprocessing/__main__.py | 83 ++++++++++++++++++ setup.py | 10 ++- 9 files changed, 120 insertions(+), 2 deletions(-) create mode 100644 jass_preprocessing/__main__.py diff --git a/doc/_build/doctrees/_autosummary/jass_preprocessing.doctree b/doc/_build/doctrees/_autosummary/jass_preprocessing.doctree index 71b012fddaaf7515abcbd655dcdb0cd6a0ff43e4..d0913191263b087a2eb7716892dc73279b33e9cb 100644 GIT binary patch literal 66220 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%0DI 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 bY_`>gwO_DWQ_TTI{yi*6W&WOoo+kbu#I)9P literal 59704 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 NOK|(Vuiu@Y{eO0M#f$&| diff --git a/doc/_build/doctrees/_autosummary/modules.doctree b/doc/_build/doctrees/_autosummary/modules.doctree index 464e859d647dab68e6b5f1392379fd2ed9be44be..d81bf9478aba49c75c023312084bedfb7da10a8b 100644 GIT binary patch literal 2671 zcmZ`*%W51)6qWUwk*pa#VrLVZgh0SvNRvetA>c(eSwtWVcCs*tqNclMs;us+PCYa; z1d*8F5JT-!+2#lQlR3A0x-}ydgTPZ=eIMtZb8i2>{ZGEXQU8m>++@M4!kuZ83zuS_ z4oabY`a3;;mu}LtxSxy6Snie4=_2lFUJAdcaQP<1legSCR#{P5lL_aPo~8>IPk8WV zVvN_u3+6nxKAk^^eJ8xf734YY5>KqrUg$i<-Jf|85Vy;`r*eutQS%fxQXE#IV)!Yn z&`5@21}rmrqNZ%33LIRfI4HQD20j&dl8Y2Kg-&tL^D&#L+{<*{j{|QqHs;w?q4X6> z*+I8<f%Hu*gngV9hF>vJa#b*%=N6qI{9ke3nP4-)f-P`u=)6@G5|soP)pO!R=3N+j z<qN^)6JyKtA%0>Bz?|ixLZ7Hz)x{sU61cEm0x+WBPn52LXLxRMfW(Bg#xluuUI>fw zC|l-JJT$?tUPK4MPfov0@o6Tx<(U_j72;YHOlkBe81h_&3Y8p-x$-m*A6#=Ko$tgg zp|4T=0l_=wu4ylRA-%8Mccam4Han{pUK)L7>~xfi>k)3c5#fq#f}lkCdsCqWXksj4 zebzuD3Q<D?@V#VN0kYJsAGwA0e9okr$^w7rYP&GtPCOFx%Af=VPFT$gLiI_5#Qy<v zL<Km+mY`vQf&kG}crWIjW>WzWl=l?qm8|1rM<eENLC}=yaWvClg~|AmQ3r@>FsB;P zbiNsPaxo5|c^s|}40zOYICTn*oOG#fsRjugvRpYn20J>o4f9Y|YYp$z{GkkXlC3lT zfKG0Q^rRh<HwGeB!cXcUNnaKi&~V1BCN5zdf|rQ+DJccXoUkNlu#Jkz0nm^%%T^S( zsi4UtQI189_ZNUe3gLm&zT`!R$4-2DhmUuNE5D2fpuU6fTMv0?`K-$fQ1)^T33y&s zsPHk-u&xp+V_uY)smDzFI6wXB>u*q0k2N|>@nR%RDMs>bD3s88^wOHQkl^UY?_a%Q zFReJe^`#LUXVknmV$`b(C4{jUl_n2p?#wz8S3L~yT02rN(XW<y=GnD!s$utVosbaV zPp^L<0S=Hu>4{lNAFVxHItF<SVh!r>oekoE97Bil_Kl{3%88I8PDw^HSQ<^IAF}N= zj|t<r2T+%=$YXdVw~$c@=YknF)|e>>pN0<d*Y3U7p489#nN$V5PQyp#M(j~#xZT;Y z<d^B0+>kF?f2IRm+<pzE;nuy&;C*VA$S&%kts)hStTs{fwN37nF65hgUzHE!Rv2^X z<c0L-oAfjGJfG46O7exYQph(l#C`6e?QtL%rG2%f@}?gWUfnA8!VbOF9Ot3xe)L*T zx=bOA(M+El!vw6O)h^?qtEAHNGc1GUqU>RdKvZJw9_rk#>%EpAP~UshcPwXA)UH%H ztRL#>WxQ&3sr(iAy~Cf4kM3h6_@s1Jgj}>Q%Nw-PFZmp+gqGQM+^=cij4l@GgIv&K zuxX4HnWys&`5O+lr-d0)V%l@GdM*L|=W7Y?+2VgD9uJo3+wCg<<v?jUkqa7#yq13~ z2hlW2CDeVPQp!&K#lt05r!&i|3d@Ybh}FR&PKG#J9bk1U_16U?y!v&)yXbx1CZM9? zNhjJh*6)G=M2H(8ga0;@$B)74CrV9>9zAQW%D(*Q;-ItePB86B{lYOeJ#5Y60}7(b zm!cYG!4lP5k7{vx5D(fX4ejHR(z(L7foJ$Y!p3Uo2?y>zm>zaL0W|u&SWVcqQWO3r z$&XUFc)Z$IqjXFF3%4AbqT7FUs>gQ@+q@g`(cLGli~u1mL#n3cbv>q5(9kJOyk#{Q IfWe&o2N?T20ssI2 literal 2671 zcmZ`*OKV&=81;L`j%OS@NjFVsHzjGoo-Vp5-4#LuH4K5I-Gm@?@70WC>q^&p*fXUm zDJ3Na?V{|v>)-5=?mRpuHC*t0=zE;+ob%1wt&i2-TK)_DN|)XVX-|}{n2n*E9@I>^ z_#uA%XM7W%gkC8ebwVp**vR5hxGPj83@aUR)Qp+4@pTNlBdwj%4pDH|wahu8#t3=1 z$T2cnIi{)@c7CPO<I6>o1B7vG;z+6MhL$eA4-c6!+7PBnT_F-_Z#h+!WClePv^=+x zT5eb)X~|;fA(K!eO(r94>Ug>y?%A3eci~f6MCy{tw!H0%6@DCt;mD#5>kB8GWV3VE z;X%V1G7@;=jU<lMNZ^p5i|5B*efwSNpwwz4Qiz_@B}v6dq0Z6oHqbNE7&e)@#Or;O zr;Q_$T{0O@H^T0iDQ2kC25<MQ_NL5vQYcB)*wZls3>ETiFcrgr_O9`60R%F5H#+_v zkc)~m7>bz0uogo<RgGI_fEoH6hDW!K-o|jpIwJsf=p`7Gub0R@DmgV61T$^rL@4yf z2=F}jO}q~M_AI#+R<yk&GOglxKq_Hr0UQ@-JwnEs%(=2GmspIQA?|)28EIz*8hoDe zG=xc(XlconaGaEwyUi{3DqlBb!8YKXP$;NvF%4gG=NkLNU~qMHb<#{7*Xl%@@t|Ut z1AJ)*F+3=xrsss!R7gUr%CH>!eK^RmouSGmLM24+vPq*6TY$($QJJ1S6zb-DZh_3d znZ;==^A)&R%M`~>m7^2F#h6Q6n8B9RYK$qGQMrUA#otd)mK{BucjUB&a0PRt+!1%R zL^pe!$_3lD!)KYsLRn_AhM7w9r~vFeC|H|{RIGs}K^c(&?U0s|F$@P>*KEMgycA5S z!E>X}K$F4GKfZWDo*Q=D7!96Th;x9^5887BLcP=0*I>$YQ0vM=b0@~4!%UebNj#4d ztsO0huoMtvyPau-_lImE9I@~p5B;_Z+7A6IYE-fWP=nDL-}O^YazhRq0vheFItYaG z%gdjVaPG`hmlTWBy%{~T<Xbayv;fm8$Kz=iE}1xXbL9Qikwc1ElE)T~05N68E;)L~ z&@0Hd1s?6~f>I?*9b*i;6|4mv)(tAz$22T_Gy5&>@3OjJ75bb4M9!Ft*S-iHN5_iR zEb{fRUwQ+*W8zRJPVA-^ZrWg$aO$Ho=p=c>a#V3>;d;J68VBo#t)~<D>)pB2Ck*&H z-wcNd*Tsyo|HIrL*lAs8xl}RAH!hy8g`<U72x3||S%z~{RLgQeo15kEwa`iKgG!d` zU>AtZXviPuO15%;u+N?O^QU2_p{e!AH~A|r!ya`2zVK-UrNx!AqLFhNw%Z<YLulwG z<mbI~E8omthR%FuucHs$k_!nlPypizU*pf_%ZfLj#5I-4FHSeO;ZM2c3N=0B4u$Yb z<elL94cG6u{y=#C7XPe;t(RDO==+lq-^ILvdBfi!;9vY=m~)t+FQ_kYx|_D8_SmS) z+FHEQx63*{{BIrM0NV>HV#im8HVqal&839{+i;;KC-B4BPlL|v%hg;Lr&~GEEB;ST z5;|%9B`bLiHh!^U2A?3~-;pLrfIMw71%_d3EOimD6Ix+ks8ae0E3RGK{9np#xW5v0 zW--v+>|-t}*cl=K=dhQp#A+p{ST0@cxB~mJ0$KA&Fq*J4KM=Y#oxl#0>bE=~|Cpwf z!DbLl+uxFZd6sFW^ZBN^hP^7;>P*0S$_kVN-4-&#P5MOutYKWBFxJUUvE09{t~phY zR>U~d+<NHUe4ORhg%QqQgFKJJ;fme?XIA5#g;;YbJIFKBDYny!z;o38+-YV49EMJ6 SsXf98KewT`Y87vQ-N}C>5j`sa diff --git a/doc/_build/doctrees/environment.pickle b/doc/_build/doctrees/environment.pickle index a24532d06bf33310b5c4cf25cc0a00d6a42f8f4e..a25385815e8157b8176f6a3de98f8f3998f8d13c 100644 GIT binary patch delta 9006 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 F;D6LbHuC@g literal 29586 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 Lz~xWLM(zIqmD>Za diff --git a/doc/_build/doctrees/index.doctree b/doc/_build/doctrees/index.doctree index 15285561566ce5809c79bedfa141044075072575..5b61a86be1dbf42d20c6b122cd6a38b0dc169d47 100644 GIT binary patch literal 23774 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 QvkvL*Q+Y@VXT_uc16^rmF8}}l literal 23570 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 H9wz<=W<Ymx diff --git a/doc/_build/html/_autosummary/jass_preprocessing.html b/doc/_build/html/_autosummary/jass_preprocessing.html index 7fbe1ec..875b0e9 100644 --- a/doc/_build/html/_autosummary/jass_preprocessing.html +++ b/doc/_build/html/_autosummary/jass_preprocessing.html @@ -309,6 +309,29 @@ Make sure that the same SNPs are in the reference panel and the gwas</p> </div> <div class="section" id="module-jass_preprocessing"> <span id="module-contents"></span><h2>Module contents<a class="headerlink" href="#module-jass_preprocessing" title="Permalink to this headline">¶</a></h2> +<table border="1" class="longtable docutils"> +<colgroup> +<col width="10%" /> +<col width="90%" /> +</colgroup> +<tbody valign="top"> +<tr class="row-odd"><td><a class="reference internal" href="#module-jass_preprocessing.map_gwas" title="jass_preprocessing.map_gwas"><code class="xref py py-obj docutils literal notranslate"><span class="pre">map_gwas</span></code></a></td> +<td>Map GWAS</td> +</tr> +<tr class="row-even"><td><a class="reference internal" href="#module-jass_preprocessing.dna_utils" title="jass_preprocessing.dna_utils"><code class="xref py py-obj docutils literal notranslate"><span class="pre">dna_utils</span></code></a></td> +<td>Few fonction to to compute DNA complement</td> +</tr> +<tr class="row-odd"><td><a class="reference internal" href="#module-jass_preprocessing.map_reference" title="jass_preprocessing.map_reference"><code class="xref py py-obj docutils literal notranslate"><span class="pre">map_reference</span></code></a></td> +<td>Module of function</td> +</tr> +<tr class="row-even"><td><a class="reference internal" href="#module-jass_preprocessing.compute_score" title="jass_preprocessing.compute_score"><code class="xref py py-obj docutils literal notranslate"><span class="pre">compute_score</span></code></a></td> +<td></td> +</tr> +<tr class="row-odd"><td><a class="reference internal" href="#module-jass_preprocessing.save_output" title="jass_preprocessing.save_output"><code class="xref py py-obj docutils literal notranslate"><span class="pre">save_output</span></code></a></td> +<td></td> +</tr> +</tbody> +</table> </div> </div> diff --git a/doc/_build/html/_autosummary/modules.html b/doc/_build/html/_autosummary/modules.html index 111c31b..c7a9c3c 100644 --- a/doc/_build/html/_autosummary/modules.html +++ b/doc/_build/html/_autosummary/modules.html @@ -74,7 +74,9 @@ <li class="toctree-l2"><a class="reference internal" href="jass_preprocessing.html#module-jass_preprocessing.map_gwas">jass_preprocessing.map_gwas module</a></li> <li class="toctree-l2"><a class="reference internal" href="jass_preprocessing.html#module-jass_preprocessing.map_reference">jass_preprocessing.map_reference module</a></li> <li class="toctree-l2"><a class="reference internal" href="jass_preprocessing.html#module-jass_preprocessing.save_output">jass_preprocessing.save_output module</a></li> -<li class="toctree-l2"><a class="reference internal" href="jass_preprocessing.html#module-jass_preprocessing">Module contents</a></li> +<li class="toctree-l2"><a class="reference internal" href="jass_preprocessing.html#module-jass_preprocessing">Module contents</a><ul class="simple"> +</ul> +</li> </ul> </li> </ul> diff --git a/doc/source/index.rst b/doc/source/index.rst index e424cf3..ac94d8f 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -24,6 +24,8 @@ The QC and preprocessing step goes as follow: * Select GWAS SNPs that are in the input reference panel * Align coded allele of the GWAS with the reference panel * Infer Number of sample by SNPs if not present in input data +* Filter SNPs with a small sample size +* Normalize the effect size by sample size to have Z-scores * Save the output by chromosome as the following example: +----------+-------+------+-----+--------+ diff --git a/jass_preprocessing/__main__.py b/jass_preprocessing/__main__.py new file mode 100644 index 0000000..fe698cc --- /dev/null +++ b/jass_preprocessing/__main__.py @@ -0,0 +1,83 @@ +""" +Read raw GWAS summary statistics, filter and format +Write clean GWAS datasets by chromosome +""" +__updated__ = '2018-26-06' + +import pandas as pd +import jass_preprocessing as jp +import time +import argparse + + +#| variable name | description | current default value| +#|---------------|-------------|----------------------| +#| netPath | Main project folder, must end by "/" | /mnt/atlas/ | +#| GWAS_labels* | Path to the file describing the format of the individual GWASs files | netPath+'PCMA/1._DATA/RAW.GWAS/GWAS_labels.csv' | +#| GWAS_path* | Path to the folder containing the GWASs summ stat files, must end by "/" | netPath+'PCMA/1._DATA/RAW.GWAS/'| +#| diagnostic_folder | folder for histograms of sample size distribution among SNPs | /mnt/atlas/PCMA/1._DATA/sample_size_distribution/ | +#| ldscore_format | data formated to use LDscore, 1 file per study | /mnt/atlas/PCMA/1._DATA/ldscore_data/ | +#| REF_filename* | file containing the reference panel for imputation | netPath+'PCMA/0._REF/1KGENOME/summary_genome_Filter_part2.out' | +#| pathOUT | **unused in main_preprocessing.py** | netPath+'PCMA/1._DATA/RAW.summary/'| +#| ImpG_output_Folder | main ouput folder | netPath+ 'PCMA/1._DATA/preprocessing_test/' | + + + +def launch_preprocessing(args): + """ + Preprocessing GWAS dataset + """ + gwas_map = pd.read_csv(GWAS_labels, sep="\t", index_col=0) + + tag = "{0}_{1}".format(gwas_map.loc[GWAS_filename, 'consortia'], + gwas_map.loc[GWAS_filename, 'outcome']) + + print('processing GWAS: {}'.format(tag)) + start = time.time() + gwas = jp.map_gwas.gwas_internal_link(GWAS_table, GWAS_path) + GWAS_link = jp.map_gwas.walkfs(GWAS_path, GWAS_filename)[2] + mapgw = jp.map_gwas.map_columns_position(GWAS_link, GWAS_labels) + print(mapgw) + + gw_df = jp.map_gwas.read_gwas(GWAS_link, mapgw) + + ref = pd.read_csv(REF_filename, header=None, sep= "\t", + names =['chr', "pos", "snp_id", "ref", "alt", "MAF"], + index_col="snp_id") + + mgwas = jp.map_reference.map_on_ref_panel(gw_df, ref) + mgwas = jp.map_reference.compute_snp_alignement(mgwas) + mgwas = jp.compute_score.compute_z_score(mgwas) + mgwas = jp.compute_score.compute_sample_size(mgwas, diagnostic_folder, tag) + end = time.time() + + print("Preprocessing of {0} in {1}s".format(tag, end-start)) + + jp.save_output.save_output_by_chromosome(mgwas, ImpG_output_Folder, tag) + jp.save_output.save_output(mgwas, ldscore_format, tag) + + +def add_preprocessing_argument(): + + parser.add_argument('--percent-sample-size', required=True, help= "the proportion of the 90th percentile of the sample size used to filter the SNPs") + + parser.add_argument('--gwas-info', required=True, help= "Path to the file describing the format of the individual GWASs files") + parser.add_argument('--ref-folder', required=True, help= "reference panel location (used to determine which snp to impute)") + parser.add_argument('--gwas-folder', required=True, help= " Path to the folder containing the GWASs summ stat files, must end by '/'") + + parser.add_argument('--output-folder', required=True, help= "Location of main ouput folder for preprocessed GWAS files (splitted by chromosome)") + parser.add_argument('--output-folder-1-file', required=False, help= "optional location to store the preprocessing in one tabular file with one chromosome columns") + + parser.set_defaults(func=launch_preprocessing) + + +def main(): + + parser = argparse.ArgumentParser()#prog='impute_jass') + parser = add_preprocessing_argument(parser) + args = parser.parse_args() + args.func(args) + + +if __name__=="__main__": + main() diff --git a/setup.py b/setup.py index 748c456..aac8ae5 100644 --- a/setup.py +++ b/setup.py @@ -9,6 +9,14 @@ setup(name='jass_preprocessing', license='MIT', #package_dir = {'': 'jass_preprocessing'}, packages= ['jass_preprocessing'], - zip_safe=False) + zip_safe=False, + install_requires=[ + 'scipy', 'numpy', 'pandas', 'seaborn' + ], + entry_points={ + 'console_scripts' : [ + 'jass_preprocessing = jass_preprocessing.__main__:main' + ] + }) #, "jass_preprocessing.map_gwas","jass_preprocessing.dna_utils", "jass_preprocessing.map_reference","jass_preprocessing.compute_score", "jass_preprocessing.save_output" -- GitLab