gwaslab 3.6.6__tar.gz → 3.6.7__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of gwaslab might be problematic. Click here for more details.

Files changed (132) hide show
  1. {gwaslab-3.6.6/src/gwaslab.egg-info → gwaslab-3.6.7}/PKG-INFO +1 -1
  2. {gwaslab-3.6.6 → gwaslab-3.6.7}/pyproject.toml +1 -1
  3. gwaslab-3.6.7/src/gwaslab/__init__.py +63 -0
  4. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/bd}/bd_common_data.py +10 -9
  5. gwaslab-3.6.7/src/gwaslab/bd/bd_config.py +28 -0
  6. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/bd}/bd_download.py +1 -1
  7. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/bd}/bd_get_hapmap3.py +9 -6
  8. gwaslab-3.6.7/src/gwaslab/bd/bd_path_manager.py +110 -0
  9. {gwaslab-3.6.6 → gwaslab-3.6.7}/src/gwaslab/data/formatbook.json +805 -9
  10. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/extension/ldsc}/ldsc_irwls.py +1 -1
  11. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/extension/ldsc}/ldsc_regressions.py +2 -2
  12. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/extension/ldsc}/ldsc_sumstats.py +2 -2
  13. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/extension/prscs}/prscs_mcmc_gtb.py +1 -1
  14. {gwaslab-3.6.6 → gwaslab-3.6.7}/src/gwaslab/g_Sumstats.py +130 -96
  15. {gwaslab-3.6.6 → gwaslab-3.6.7}/src/gwaslab/g_SumstatsMulti.py +69 -40
  16. {gwaslab-3.6.6 → gwaslab-3.6.7}/src/gwaslab/g_SumstatsPair.py +54 -37
  17. {gwaslab-3.6.6 → gwaslab-3.6.7}/src/gwaslab/g_SumstatsSet.py +88 -81
  18. {gwaslab-3.6.6 → gwaslab-3.6.7}/src/gwaslab/g_SumstatsT.py +6 -6
  19. gwaslab-3.6.7/src/gwaslab/g_Sumstats_polars.py +245 -0
  20. {gwaslab-3.6.6 → gwaslab-3.6.7}/src/gwaslab/g_meta_update.py +1 -1
  21. {gwaslab-3.6.6 → gwaslab-3.6.7}/src/gwaslab/g_vchange_status.py +4 -4
  22. {gwaslab-3.6.6 → gwaslab-3.6.7}/src/gwaslab/g_version.py +2 -2
  23. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/hm}/hm_casting.py +4 -4
  24. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/hm}/hm_casting_polars.py +4 -4
  25. gwaslab-3.6.7/src/gwaslab/hm/hm_harmonize_sumstats.py +1635 -0
  26. {gwaslab-3.6.6 → gwaslab-3.6.7}/src/gwaslab/hm_harmonize_sumstats.py +3 -8
  27. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/io}/io_load_ld.py +16 -13
  28. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/io}/io_preformat_input.py +152 -73
  29. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/io}/io_preformat_input_polars.py +7 -7
  30. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/io}/io_read_pipcs.py +2 -2
  31. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/io}/io_read_tabular.py +2 -2
  32. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/io}/io_to_formats.py +11 -8
  33. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/io}/io_to_pickle.py +16 -1
  34. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/qc}/qc_check_datatype_polars.py +2 -2
  35. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/qc}/qc_fix_sumstats.py +60 -33
  36. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/qc}/qc_fix_sumstats_polars.py +15 -11
  37. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/util}/util_abf_finemapping.py +2 -2
  38. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/util}/util_ex_calculate_ldmatrix.py +18 -8
  39. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/util}/util_ex_calculate_prs.py +2 -2
  40. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/util}/util_ex_ldproxyfinder.py +6 -6
  41. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/util}/util_ex_ldsc.py +18 -13
  42. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/util}/util_ex_match_ldmatrix.py +8 -7
  43. gwaslab-3.6.7/src/gwaslab/util/util_ex_phewwas.py +117 -0
  44. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/util}/util_ex_process_h5.py +2 -2
  45. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/util}/util_ex_process_ref.py +2 -2
  46. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/util}/util_ex_run_2samplemr.py +18 -7
  47. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/util}/util_ex_run_ccgwas.py +4 -4
  48. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/util}/util_ex_run_clumping.py +28 -13
  49. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/util}/util_ex_run_coloc.py +22 -10
  50. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/util}/util_ex_run_hyprcoloc.py +4 -4
  51. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/util}/util_ex_run_magma.py +21 -11
  52. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/util}/util_ex_run_mesusie.py +3 -3
  53. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/util}/util_ex_run_mtag.py +50 -18
  54. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/util}/util_ex_run_prscs.py +3 -3
  55. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/util}/util_ex_run_scdrs.py +10 -4
  56. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/util}/util_ex_run_susie.py +49 -26
  57. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/util}/util_in_fill_data.py +1 -1
  58. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/util}/util_in_filter_value.py +18 -11
  59. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/util}/util_in_get_sig.py +15 -13
  60. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/util}/util_in_meta.py +1 -1
  61. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/util}/util_in_meta_polars.py +1 -1
  62. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/viz}/viz_aux_annotate_plot.py +1 -1
  63. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/viz}/viz_aux_quickfix.py +2 -2
  64. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/viz}/viz_plot_compare_af.py +1 -1
  65. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/viz}/viz_plot_compare_effect.py +16 -8
  66. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/viz}/viz_plot_credible_sets.py +6 -6
  67. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/viz}/viz_plot_effect.py +37 -69
  68. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/viz}/viz_plot_miamiplot.py +28 -20
  69. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/viz}/viz_plot_miamiplot2.py +27 -22
  70. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/viz}/viz_plot_mqqplot.py +48 -38
  71. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/viz}/viz_plot_phe_heatmap.py +18 -15
  72. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/viz}/viz_plot_qqplot.py +4 -2
  73. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/viz}/viz_plot_regional2.py +11 -9
  74. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/viz}/viz_plot_regionalplot.py +5 -4
  75. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/viz}/viz_plot_rg_heatmap.py +1 -1
  76. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/viz}/viz_plot_scatter_with_reg.py +10 -7
  77. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/viz}/viz_plot_stackedregional.py +67 -33
  78. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/viz}/viz_plot_trumpetplot.py +11 -9
  79. {gwaslab-3.6.6 → gwaslab-3.6.7/src/gwaslab.egg-info}/PKG-INFO +1 -1
  80. gwaslab-3.6.7/src/gwaslab.egg-info/SOURCES.txt +126 -0
  81. gwaslab-3.6.6/src/gwaslab/__init__.py +0 -53
  82. gwaslab-3.6.6/src/gwaslab/bd_config.py +0 -18
  83. gwaslab-3.6.6/src/gwaslab/g_Sumstats_polars.py +0 -245
  84. gwaslab-3.6.6/src/gwaslab.egg-info/SOURCES.txt +0 -123
  85. {gwaslab-3.6.6 → gwaslab-3.6.7}/LICENSE +0 -0
  86. {gwaslab-3.6.6 → gwaslab-3.6.7}/LICENSE_before_v3.4.39 +0 -0
  87. {gwaslab-3.6.6 → gwaslab-3.6.7}/README.md +0 -0
  88. {gwaslab-3.6.6 → gwaslab-3.6.7}/setup.cfg +0 -0
  89. {gwaslab-3.6.6 → gwaslab-3.6.7}/src/gwaslab/cache_manager.py +0 -0
  90. {gwaslab-3.6.6 → gwaslab-3.6.7}/src/gwaslab/data/chrx_par/chrx_par_hg19.bed.gz +0 -0
  91. {gwaslab-3.6.6 → gwaslab-3.6.7}/src/gwaslab/data/chrx_par/chrx_par_hg38.bed.gz +0 -0
  92. {gwaslab-3.6.6 → gwaslab-3.6.7}/src/gwaslab/data/hapmap3_SNPs/hapmap3_db150_hg19.snplist.gz +0 -0
  93. {gwaslab-3.6.6 → gwaslab-3.6.7}/src/gwaslab/data/hapmap3_SNPs/hapmap3_db151_hg38.snplist.gz +0 -0
  94. {gwaslab-3.6.6 → gwaslab-3.6.7}/src/gwaslab/data/high_ld/high_ld_hla_hg19.bed.gz +0 -0
  95. {gwaslab-3.6.6 → gwaslab-3.6.7}/src/gwaslab/data/high_ld/high_ld_hla_hg38.bed.gz +0 -0
  96. {gwaslab-3.6.6 → gwaslab-3.6.7}/src/gwaslab/data/reference.json +0 -0
  97. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/extension/ldsc}/ldsc_jackknife.py +0 -0
  98. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/extension/ldsc}/ldsc_ldscore.py +0 -0
  99. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/extension/ldsc}/ldsc_parse.py +0 -0
  100. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/extension/prscs}/prscs_gigrnd.py +0 -0
  101. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/extension/prscs}/prscs_parse_genet.py +0 -0
  102. {gwaslab-3.6.6 → gwaslab-3.6.7}/src/gwaslab/g_Log.py +0 -0
  103. {gwaslab-3.6.6 → gwaslab-3.6.7}/src/gwaslab/g_Phenotypes.py +0 -0
  104. {gwaslab-3.6.6 → gwaslab-3.6.7}/src/gwaslab/g_Sumstats_summary.py +0 -0
  105. {gwaslab-3.6.6 → gwaslab-3.6.7}/src/gwaslab/g_headers.py +0 -0
  106. {gwaslab-3.6.6 → gwaslab-3.6.7}/src/gwaslab/g_meta.py +0 -0
  107. {gwaslab-3.6.6 → gwaslab-3.6.7}/src/gwaslab/g_vchange_status_polars.py +0 -0
  108. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/hm}/hm_rsid_to_chrpos.py +0 -0
  109. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/io}/io_process_args.py +0 -0
  110. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/io}/io_read_ldsc.py +0 -0
  111. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/qc}/qc_build.py +0 -0
  112. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/qc}/qc_check_datatype.py +0 -0
  113. {gwaslab-3.6.6 → gwaslab-3.6.7}/src/gwaslab/run_script.py +0 -0
  114. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/util}/util_ex_gwascatalog.py +0 -0
  115. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/util}/util_ex_infer_ancestry.py +0 -0
  116. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/util}/util_ex_plink_filter.py +0 -0
  117. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/util}/util_in_calculate_gc.py +0 -0
  118. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/util}/util_in_calculate_power.py +0 -0
  119. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/util}/util_in_convert_h2.py +0 -0
  120. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/util}/util_in_correct_winnerscurse.py +0 -0
  121. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/util}/util_in_estimate_ess.py +0 -0
  122. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/util}/util_in_get_density.py +0 -0
  123. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/util}/util_in_merge.py +0 -0
  124. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/util}/util_in_snphwe.py +0 -0
  125. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/viz}/viz_aux_chromatin.py +0 -0
  126. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/viz}/viz_aux_property.py +0 -0
  127. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/viz}/viz_aux_reposition_text.py +0 -0
  128. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/viz}/viz_aux_save_figure.py +0 -0
  129. {gwaslab-3.6.6/src/gwaslab → gwaslab-3.6.7/src/gwaslab/viz}/viz_plot_forestplot.py +0 -0
  130. {gwaslab-3.6.6 → gwaslab-3.6.7}/src/gwaslab.egg-info/dependency_links.txt +0 -0
  131. {gwaslab-3.6.6 → gwaslab-3.6.7}/src/gwaslab.egg-info/requires.txt +0 -0
  132. {gwaslab-3.6.6 → gwaslab-3.6.7}/src/gwaslab.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gwaslab
3
- Version: 3.6.6
3
+ Version: 3.6.7
4
4
  Summary: A collection of handy tools for GWAS SumStats
5
5
  Author-email: Yunye <gwaslab@gmail.com>
6
6
  Project-URL: Homepage, https://cloufield.github.io/gwaslab/
@@ -7,7 +7,7 @@ build-backend = "setuptools.build_meta"
7
7
 
8
8
  [project]
9
9
  name = "gwaslab"
10
- version = "3.6.6"
10
+ version = "3.6.7"
11
11
  authors = [
12
12
  { name="Yunye", email="gwaslab@gmail.com" },
13
13
  ]
@@ -0,0 +1,63 @@
1
+ from gwaslab.g_Sumstats import Sumstats
2
+ from gwaslab.g_Sumstats_polars import Sumstatsp
3
+ from gwaslab.g_SumstatsT import SumstatsT
4
+ from gwaslab.g_SumstatsPair import SumstatsPair
5
+ from gwaslab.g_SumstatsMulti import SumstatsMulti
6
+ from gwaslab.g_SumstatsSet import SumstatsSet
7
+ from gwaslab.g_version import _show_version as show_version
8
+
9
+ from gwaslab.util.util_in_convert_h2 import h2_obs_to_liab
10
+ from gwaslab.util.util_in_convert_h2 import _get_per_snp_r2
11
+ from gwaslab.util.util_in_convert_h2 import h2_se_to_p
12
+ from gwaslab.util.util_in_calculate_power import get_power
13
+ from gwaslab.util.util_in_calculate_power import get_beta
14
+ from gwaslab.util.util_ex_gwascatalog import gwascatalog_trait
15
+ from gwaslab.util.util_ex_process_h5 import process_vcf_to_hfd5
16
+ from gwaslab.util.util_ex_run_susie import _run_susie_rss as run_susie_rss
17
+ from gwaslab.util.util_in_meta import meta_analyze
18
+ from gwaslab.util.util_in_fill_data import rank_based_int
19
+
20
+ from gwaslab.io.io_read_ldsc import read_ldsc
21
+ from gwaslab.io.io_read_ldsc import read_popcorn
22
+ from gwaslab.io.io_to_pickle import dump_pickle
23
+ from gwaslab.io.io_to_pickle import load_pickle
24
+ from gwaslab.io.io_read_tabular import _read_tabular as read_tabular
25
+
26
+ from gwaslab.viz.viz_plot_compare_effect import compare_effect
27
+ from gwaslab.viz.viz_plot_forestplot import plot_forest
28
+ from gwaslab.viz.viz_plot_miamiplot import plot_miami
29
+ from gwaslab.viz.viz_plot_miamiplot2 import plot_miami2
30
+ from gwaslab.viz.viz_plot_rg_heatmap import plot_rg
31
+ from gwaslab.viz.viz_plot_stackedregional import plot_stacked_mqq
32
+ from gwaslab.viz.viz_plot_trumpetplot import plot_power
33
+ from gwaslab.viz.viz_plot_trumpetplot import plot_power_x
34
+ from gwaslab.viz.viz_plot_scatter_with_reg import scatter
35
+
36
+ from gwaslab.bd.bd_common_data import get_NC_to_chr
37
+ from gwaslab.bd.bd_common_data import get_NC_to_number
38
+ from gwaslab.bd.bd_common_data import get_chr_to_NC
39
+ from gwaslab.bd.bd_common_data import get_number_to_NC
40
+ from gwaslab.bd.bd_common_data import get_chr_list
41
+ from gwaslab.bd.bd_common_data import get_number_to_chr
42
+ from gwaslab.bd.bd_common_data import get_chr_to_number
43
+ from gwaslab.bd.bd_common_data import get_high_ld
44
+ from gwaslab.bd.bd_common_data import get_format_dict
45
+ from gwaslab.bd.bd_common_data import get_formats_list
46
+ from gwaslab.bd.bd_download import update_formatbook
47
+ from gwaslab.bd.bd_download import list_formats
48
+ from gwaslab.bd.bd_download import check_format
49
+ from gwaslab.bd.bd_download import check_available_ref
50
+ from gwaslab.bd.bd_download import update_available_ref
51
+ from gwaslab.bd.bd_download import check_downloaded_ref
52
+ from gwaslab.bd.bd_download import download_ref
53
+ from gwaslab.bd.bd_download import check_available_ref
54
+ from gwaslab.bd.bd_download import remove_file
55
+ from gwaslab.bd.bd_download import get_path
56
+ from gwaslab.bd.bd_download import update_record
57
+ from gwaslab.bd.bd_config import options
58
+
59
+
60
+
61
+
62
+
63
+
@@ -4,14 +4,15 @@ import tarfile
4
4
  import requests
5
5
  import pandas as pd
6
6
  from os import path
7
+ from pathlib import Path
7
8
  from pyensembl import Genome
8
9
  from gtfparse import read_gtf
9
10
  # read_gtf -> v1.3.0
10
11
  from gwaslab.g_Log import Log
11
- from gwaslab.bd_download import download_ref
12
- from gwaslab.bd_download import check_and_download
13
- from gwaslab.bd_download import update_formatbook
14
- from gwaslab.bd_config import options
12
+ from gwaslab.bd.bd_download import download_ref
13
+ from gwaslab.bd.bd_download import check_and_download
14
+ from gwaslab.bd.bd_download import update_formatbook
15
+ from gwaslab.bd.bd_config import options
15
16
 
16
17
  #hard-coded data
17
18
  def get_chr_to_NC(build,inverse=False):
@@ -188,9 +189,11 @@ def get_number_to_chr(in_chr=False,xymt=["X","Y","MT"],xymt_num=[23,24,25],prefi
188
189
  ###################################################################################################################
189
190
  def get_high_ld(build="19"):
190
191
  if build=="19":
191
- data_path = path.dirname(__file__) + '/data/high_ld/high_ld_hla_hg19.bed.gz'
192
+ #data_path = path.dirname(__file__) + '/data/high_ld/high_ld_hla_hg19.bed.gz'
193
+ data_path = path.join( Path(__file__).parents[1], "data","high_ld","high_ld_hla_hg19.bed.gz")
192
194
  elif build=="38":
193
- data_path = path.dirname(__file__) + '/data/high_ld/high_ld_hla_hg38.bed.gz'
195
+ #data_path = path.dirname(__file__) + '/data/high_ld/high_ld_hla_hg38.bed.gz'
196
+ data_path = path.join( Path(__file__).parents[1], "data","high_ld","high_ld_hla_hg38.bed.gz")
194
197
  return data_path
195
198
 
196
199
  def get_format_dict(fmt,inverse=False):
@@ -347,9 +350,7 @@ def _inch_to_point(inch):
347
350
  #points: 1/72 inch
348
351
  return inch*72
349
352
 
350
-
351
-
352
-
353
+ NA_STRINGS=["na","NA","Na","Nan","NaN","<NA>","null","NULL","#N/A","#VALUE!","N/A","n/a","missing",""]
353
354
 
354
355
 
355
356
 
@@ -0,0 +1,28 @@
1
+ from os import path
2
+ from pathlib import Path
3
+
4
+ class Options_dic:
5
+ def __init__(self,path_dic):
6
+ self.paths = path_dic
7
+ self.default = path_dic.copy()
8
+ def set_option(self,key,path):
9
+ self.paths[key] = path
10
+ def reset_option(self):
11
+ self.paths = self.default.copy()
12
+
13
+ #default_dic={
14
+ # "config": path.dirname(__file__) + "/data/config.json",
15
+ # "reference": path.dirname(__file__) + "/data/reference.json",
16
+ # "formatbook": path.dirname(__file__) + "/data/formatbook.json",
17
+ # "data_directory": path.expanduser('~') + "/.gwaslab/"
18
+ #}
19
+
20
+ default_dic={
21
+ "config": path.join(Path(__file__).parents[1], "data","config.json"),
22
+ "reference": path.join(Path(__file__).parents[1], "data","reference.json"),
23
+ "formatbook": path.join(Path(__file__).parents[1], "data","formatbook.json"),
24
+ "data_directory": path.expanduser('~') + "/.gwaslab/"
25
+ }
26
+
27
+
28
+ options = Options_dic(default_dic)
@@ -6,7 +6,7 @@ import requests
6
6
  import shutil
7
7
  import hashlib
8
8
  from gwaslab.g_Log import Log
9
- from gwaslab.bd_config import options
9
+ from gwaslab.bd.bd_config import options
10
10
  import re
11
11
  from gwaslab.g_version import _get_version
12
12
  #### config ##############################################################################################
@@ -1,9 +1,10 @@
1
1
  import pandas as pd
2
2
  from os import path
3
3
  from gwaslab.g_Log import Log
4
- from gwaslab.qc_fix_sumstats import start_to
5
- from gwaslab.qc_fix_sumstats import skipped
6
- from gwaslab.qc_fix_sumstats import finished
4
+ from gwaslab.qc.qc_fix_sumstats import start_to
5
+ from gwaslab.qc.qc_fix_sumstats import skipped
6
+ from gwaslab.qc.qc_fix_sumstats import finished
7
+ from pathlib import Path
7
8
 
8
9
  #A unique identifier (e.g., the rs number)
9
10
  #Allele 1 (effect allele)
@@ -32,10 +33,12 @@ def gethapmap3(sumstats,rsid="rsID",chrom="CHR", pos="POS", ea="EA", nea="NEA",b
32
33
 
33
34
  ############################################################################################
34
35
  if build=="19":
35
- data_path = path.dirname(__file__) + '/data/hapmap3_SNPs/hapmap3_db150_hg19.snplist.gz'
36
+ #data_path = path.dirname(__file__) + '/data/hapmap3_SNPs/hapmap3_db150_hg19.snplist.gz'
37
+ data_path = path.join( Path(__file__).parents[1], "data","hapmap3_SNPs","hapmap3_db150_hg19.snplist.gz")
36
38
  elif build=="38":
37
- data_path = path.dirname(__file__) + '/data/hapmap3_SNPs/hapmap3_db151_hg38.snplist.gz'
38
-
39
+ #data_path = path.dirname(__file__) + '/data/hapmap3_SNPs/hapmap3_db151_hg38.snplist.gz'
40
+ data_path = path.join( Path(__file__).parents[1], "data","hapmap3_SNPs","hapmap3_db151_hg38.snplist.gz")
41
+
39
42
  log.write(" -Loading Hapmap3 variants from built-in datasets...", verbose=verbose)
40
43
 
41
44
  if match_allele:
@@ -0,0 +1,110 @@
1
+ import os
2
+ from gwaslab.g_Log import Log
3
+
4
+
5
+ def _path( *args,
6
+ out = None,
7
+ directory = None,
8
+ tmp = False,
9
+ prefix=None,
10
+ study = None,
11
+ nstudy=None,
12
+ trait = None,
13
+ exposure = None,
14
+ outcome = None,
15
+ chrom = None,
16
+ rsid = None,
17
+ snpid = None,
18
+ locus = None,
19
+ loci = None,
20
+ analysis = None,
21
+ mode = None,
22
+ method = None,
23
+ ancestry = None,
24
+ population = None,
25
+ sample_size = None,
26
+ genotyping = None,
27
+ pid = None,
28
+ build = None,
29
+ suffix = None,
30
+ log = Log(),
31
+ verbose=True
32
+ ):
33
+ '''
34
+ Create path for files generated by gwaslab.
35
+
36
+ If out is provided, out will be checked if it is a dir.
37
+ If not, out will be parsed into dirname and basename.
38
+
39
+ '''
40
+ out_basename = ""
41
+
42
+ if out is not None:
43
+ if os.path.isdir(out):
44
+ directory = out
45
+ log.write( "Directory detected: {}".format(directory), verbose=verbose)
46
+ else:
47
+ directory = os.path.dirname(out)
48
+ log.write( "Directory detected: {}".format(directory), verbose=verbose)
49
+ out_basename = os.path.basename(out)
50
+ log.write( "Basename detected: {}".format(out_basename), verbose=verbose)
51
+
52
+ if out_basename == "":
53
+ # create default path
54
+ ###############################################################################################################################################
55
+ path_list = []
56
+
57
+ # ordered components excluding directory, suffix
58
+ path_order = [
59
+ "prefix", "study", "nstudy", "trait", "exposure", "outcome",
60
+ "chrom", "rsid", "snpid", "locus", "loci", "analysis", "mode_methods",
61
+ "ancestry", "population","sample_size", "genotyping", "pid", "build"
62
+ ]
63
+
64
+ # create default path
65
+ ###############################################################################################################################################
66
+ if tmp == True:
67
+ pid = id(path_list)
68
+
69
+ ###############################################################################################################################################
70
+ all_args = locals()
71
+ for key,value in all_args.items():
72
+ if key in path_order:
73
+ if value is not None:
74
+ if value !=False:
75
+ path_list.append(value)
76
+
77
+ # merge path components
78
+ path_list = list(map(str, path_list)) + list(map(str, args))
79
+ path_list = list(map(lambda x: x.replace("_","-") , path_list))
80
+
81
+ if tmp == True:
82
+ path_list.insert(0, "_gwaslab")
83
+
84
+ log.write( "Path component detected: {}".format(path_list), verbose=verbose)
85
+
86
+ path = "_".join(path_list)
87
+ else:
88
+ # use user-provided path
89
+ path = out_basename
90
+ ###############################################################################################################################################
91
+
92
+ # add directory
93
+ if directory is not None:
94
+ path = os.path.join(directory, path)
95
+ else:
96
+ path = os.path.join("./", path)
97
+ ###############################################################################################################################################
98
+
99
+ # add file extension
100
+ if suffix is not None:
101
+ path = ".".join([path, suffix])
102
+ ###############################################################################################################################################
103
+
104
+ log.write( "Creating path: {}".format(path), verbose=verbose)
105
+
106
+ return path
107
+
108
+ def _process_out(out):
109
+ out_dirname = os.path.dirname(out)
110
+ out_basename = os.path.base_name(out)