pg-sui 1.0.2.1__tar.gz → 1.6.8__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 pg-sui might be problematic. Click here for more details.

Files changed (223) hide show
  1. pg_sui-1.6.8/.dockerignore +16 -0
  2. pg_sui-1.6.8/.gitattributes +1 -0
  3. pg_sui-1.6.8/.github/workflows/release.yaml +45 -0
  4. pg_sui-1.6.8/.gitignore +142 -0
  5. pg_sui-1.6.8/.readthedocs.yaml +26 -0
  6. pg_sui-1.6.8/.vscode/launch.json +29 -0
  7. pg_sui-1.6.8/.vscode/settings.json +16 -0
  8. pg_sui-1.6.8/Dockerfile +38 -0
  9. pg_sui-1.6.8/MANIFEST.in +25 -0
  10. {pg-sui-1.0.2.1/pg_sui.egg-info → pg_sui-1.6.8}/PKG-INFO +47 -66
  11. {pg-sui-1.0.2.1 → pg_sui-1.6.8}/README.md +3 -34
  12. pg_sui-1.6.8/changelog.md +193 -0
  13. pg_sui-1.6.8/conda/recipe/bld.bat +4 -0
  14. pg_sui-1.6.8/conda/recipe/build.sh +3 -0
  15. pg_sui-1.6.8/conda/recipe/meta.yaml +53 -0
  16. pg_sui-1.6.8/configs/config.yaml +63 -0
  17. pg_sui-1.6.8/docs/build/Makefile +20 -0
  18. pg_sui-1.6.8/docs/build/about.rst +77 -0
  19. pg_sui-1.6.8/docs/build/changelog.rst +219 -0
  20. pg_sui-1.6.8/docs/build/conf.py +128 -0
  21. pg_sui-1.6.8/docs/build/implement_new_models.rst +446 -0
  22. pg_sui-1.6.8/docs/build/imputer_methods.rst +431 -0
  23. pg_sui-1.6.8/docs/build/index.rst +30 -0
  24. pg_sui-1.6.8/docs/build/install.rst +40 -0
  25. pg_sui-1.6.8/docs/build/make.bat +35 -0
  26. pg_sui-1.6.8/docs/build/modules.rst +7 -0
  27. pg_sui-1.6.8/docs/build/non_ml_imputers.rst +171 -0
  28. pg_sui-1.6.8/docs/build/pgsui.data_processing.rst +34 -0
  29. pg_sui-1.6.8/docs/build/pgsui.impute.rst +19 -0
  30. pg_sui-1.6.8/docs/build/pgsui.impute.supervised.imputers.rst +29 -0
  31. pg_sui-1.6.8/docs/build/pgsui.impute.supervised.rst +12 -0
  32. pg_sui-1.6.8/docs/build/pgsui.impute.unsupervised.imputers.rst +43 -0
  33. pg_sui-1.6.8/docs/build/pgsui.impute.unsupervised.models.rst +48 -0
  34. pg_sui-1.6.8/docs/build/pgsui.impute.unsupervised.rst +28 -0
  35. pg_sui-1.6.8/docs/build/pgsui.rst +12 -0
  36. pg_sui-1.6.8/docs/build/pgsui.utils.rst +33 -0
  37. pg_sui-1.6.8/docs/build/supervised_imputers.rst +128 -0
  38. pg_sui-1.6.8/docs/build/tutorial.rst +419 -0
  39. pg_sui-1.6.8/docs/build/unsupervised_imputers.rst +130 -0
  40. pg_sui-1.6.8/environment.yml +7 -0
  41. pg_sui-1.6.8/img/NLPCA_Model_Architecture.svg +1143 -0
  42. pg_sui-1.6.8/img/VAE_Model_Architecture_rotated.svg +1870 -0
  43. pg_sui-1.6.8/img/pgsui-logo-faded-thumb.png +0 -0
  44. pg_sui-1.6.8/img/pgsui-logo-faded.png +0 -0
  45. pg_sui-1.6.8/img/pgsui-logo-notfaded.png +0 -0
  46. pg_sui-1.6.8/notebooks/run_pgsui_dev.ipynb +279 -0
  47. pg_sui-1.6.8/package-lock.json +10 -0
  48. {pg-sui-1.0.2.1 → pg_sui-1.6.8/pg_sui.egg-info}/PKG-INFO +47 -66
  49. pg_sui-1.6.8/pg_sui.egg-info/SOURCES.txt +166 -0
  50. pg_sui-1.6.8/pg_sui.egg-info/entry_points.txt +4 -0
  51. pg_sui-1.6.8/pg_sui.egg-info/requires.txt +38 -0
  52. pg_sui-1.6.8/pg_sui.egg-info/top_level.txt +1 -0
  53. pg_sui-1.6.8/pgsui/__init__.py +44 -0
  54. pg_sui-1.6.8/pgsui/_version.py +34 -0
  55. pg_sui-1.6.8/pgsui/cli.py +635 -0
  56. pg_sui-1.6.8/pgsui/data_processing/config.py +576 -0
  57. pg_sui-1.6.8/pgsui/data_processing/containers.py +1782 -0
  58. pg_sui-1.6.8/pgsui/data_processing/transformers.py +183 -0
  59. pg_sui-1.6.8/pgsui/electron/app/__main__.py +5 -0
  60. pg_sui-1.6.8/pgsui/electron/app/icons/icons/1024x1024.png +0 -0
  61. pg_sui-1.6.8/pgsui/electron/app/icons/icons/128x128.png +0 -0
  62. pg_sui-1.6.8/pgsui/electron/app/icons/icons/16x16.png +0 -0
  63. pg_sui-1.6.8/pgsui/electron/app/icons/icons/24x24.png +0 -0
  64. pg_sui-1.6.8/pgsui/electron/app/icons/icons/256x256.png +0 -0
  65. pg_sui-1.6.8/pgsui/electron/app/icons/icons/32x32.png +0 -0
  66. pg_sui-1.6.8/pgsui/electron/app/icons/icons/48x48.png +0 -0
  67. pg_sui-1.6.8/pgsui/electron/app/icons/icons/512x512.png +0 -0
  68. pg_sui-1.6.8/pgsui/electron/app/icons/icons/64x64.png +0 -0
  69. pg_sui-1.6.8/pgsui/electron/app/icons/icons/icon.icns +0 -0
  70. pg_sui-1.6.8/pgsui/electron/app/icons/icons/icon.ico +0 -0
  71. pg_sui-1.6.8/pgsui/electron/app/main.js +189 -0
  72. pg_sui-1.6.8/pgsui/electron/app/package-lock.json +6893 -0
  73. pg_sui-1.6.8/pgsui/electron/app/package.json +50 -0
  74. pg_sui-1.6.8/pgsui/electron/app/preload.js +15 -0
  75. pg_sui-1.6.8/pgsui/electron/app/server.py +146 -0
  76. pg_sui-1.6.8/pgsui/electron/app/ui/logo.png +0 -0
  77. pg_sui-1.6.8/pgsui/electron/app/ui/renderer.js +130 -0
  78. pg_sui-1.6.8/pgsui/electron/app/ui/styles.css +59 -0
  79. pg_sui-1.6.8/pgsui/electron/app/ui/ui_shim.js +72 -0
  80. pg_sui-1.6.8/pgsui/electron/bootstrap.py +43 -0
  81. pg_sui-1.6.8/pgsui/electron/launch.py +59 -0
  82. pg_sui-1.6.8/pgsui/electron/package.json +14 -0
  83. pg-sui-1.0.2.1/pgsui/example_data/popmaps/test.popmap → pg_sui-1.6.8/pgsui/example_data/popmaps/phylogen_nomx.popmap +185 -99
  84. pg_sui-1.6.8/pgsui/example_data/vcf_files/phylogen_subset14K.vcf.gz +0 -0
  85. pg_sui-1.6.8/pgsui/example_data/vcf_files/phylogen_subset14K.vcf.gz.tbi +0 -0
  86. pg_sui-1.6.8/pgsui/impute/deterministic/imputers/allele_freq.py +691 -0
  87. pg_sui-1.6.8/pgsui/impute/deterministic/imputers/mode.py +679 -0
  88. pg_sui-1.6.8/pgsui/impute/deterministic/imputers/nmf.py +221 -0
  89. pg_sui-1.6.8/pgsui/impute/deterministic/imputers/phylo.py +971 -0
  90. pg_sui-1.6.8/pgsui/impute/deterministic/imputers/ref_allele.py +530 -0
  91. pg_sui-1.6.8/pgsui/impute/supervised/base.py +339 -0
  92. pg_sui-1.6.8/pgsui/impute/supervised/imputers/hist_gradient_boosting.py +293 -0
  93. pg_sui-1.6.8/pgsui/impute/supervised/imputers/random_forest.py +287 -0
  94. pg_sui-1.6.8/pgsui/impute/unsupervised/base.py +924 -0
  95. pg_sui-1.6.8/pgsui/impute/unsupervised/callbacks.py +112 -0
  96. pg_sui-1.6.8/pgsui/impute/unsupervised/imputers/autoencoder.py +972 -0
  97. pg_sui-1.6.8/pgsui/impute/unsupervised/imputers/nlpca.py +1264 -0
  98. pg_sui-1.6.8/pgsui/impute/unsupervised/imputers/ubp.py +1288 -0
  99. pg_sui-1.6.8/pgsui/impute/unsupervised/imputers/vae.py +957 -0
  100. pg_sui-1.6.8/pgsui/impute/unsupervised/loss_functions.py +158 -0
  101. pg_sui-1.6.8/pgsui/impute/unsupervised/models/autoencoder_model.py +284 -0
  102. pg_sui-1.6.8/pgsui/impute/unsupervised/models/nlpca_model.py +204 -0
  103. pg_sui-1.6.8/pgsui/impute/unsupervised/models/ubp_model.py +221 -0
  104. pg_sui-1.6.8/pgsui/impute/unsupervised/models/vae_model.py +348 -0
  105. pg_sui-1.6.8/pgsui/impute/unsupervised/nn_scorers.py +215 -0
  106. pg_sui-1.6.8/pgsui/utils/__init__.py +0 -0
  107. pg_sui-1.6.8/pgsui/utils/classification_viz.py +591 -0
  108. pg_sui-1.6.8/pgsui/utils/misc.py +73 -0
  109. pg_sui-1.6.8/pgsui/utils/plotting.py +610 -0
  110. pg_sui-1.6.8/pgsui/utils/scorers.py +282 -0
  111. pg_sui-1.6.8/pyproject.toml +121 -0
  112. {pg-sui-1.0.2.1/pgsui → pg_sui-1.6.8/scripts}/pg_sui.py +3 -10
  113. pg_sui-1.6.8/scripts/start_pgsui.sh +9 -0
  114. pg_sui-1.6.8/scripts/stop_pgsui.sh +3 -0
  115. pg_sui-1.6.8/simulation/README.txt +0 -0
  116. pg_sui-1.6.8/simulation/__init__.py +0 -0
  117. pg_sui-1.6.8/simulation/datasets/benchmark_i1000_l100.tar.gz +0 -0
  118. pg_sui-1.6.8/simulation/datasets/benchmark_i1000_l1000.tar.gz +0 -0
  119. pg_sui-1.6.8/simulation/datasets/benchmark_i1000_l10000.tar.gz +0 -0
  120. pg_sui-1.6.8/simulation/datasets/benchmark_i100_l100.tar.gz +0 -0
  121. pg_sui-1.6.8/simulation/datasets/benchmark_i100_l10000.tar.gz +0 -0
  122. pg_sui-1.6.8/simulation/datasets/benchmark_i10_l100.tar.gz +0 -0
  123. pg_sui-1.6.8/simulation/datasets/benchmark_i10_l1000.tar.gz +0 -0
  124. pg_sui-1.6.8/simulation/datasets/benchmark_i10_l10000.tar.gz +0 -0
  125. pg_sui-1.6.8/simulation/datasets/sim_c0.001_s0.009.tar.gz +0 -0
  126. pg_sui-1.6.8/simulation/datasets/sim_c0.002_s0.008.tar.gz +0 -0
  127. pg_sui-1.6.8/simulation/datasets/sim_c0.003_s0.007.tar.gz +0 -0
  128. pg_sui-1.6.8/simulation/datasets/sim_c0.004_s0.006.tar.gz +0 -0
  129. pg_sui-1.6.8/simulation/datasets/sim_c0.005_s0.005.tar.gz +0 -0
  130. pg_sui-1.6.8/simulation/datasets/sim_c0.006_s0.004.tar.gz +0 -0
  131. pg_sui-1.6.8/simulation/datasets/sim_c0.007_s0.003.tar.gz +0 -0
  132. pg_sui-1.6.8/simulation/datasets/sim_c0.008_s0.002.tar.gz +0 -0
  133. pg_sui-1.6.8/simulation/datasets/sim_c0.009_s0.001.tar.gz +0 -0
  134. pg_sui-1.6.8/simulation/datasets/sim_datasets.popmap +80 -0
  135. pg_sui-1.6.8/test/__init__.py +0 -0
  136. pg_sui-1.6.8/test/testpgsui.sh +17 -0
  137. pg_sui-1.6.8/tests/conftest.py +56 -0
  138. pg_sui-1.6.8/tests/test_config.py +99 -0
  139. pg_sui-1.6.8/tests/test_deterministic_imputers.py +63 -0
  140. pg_sui-1.6.8/tests/test_imputers_unsupervised.py +110 -0
  141. pg_sui-1.6.8/tests/test_scorers.py +62 -0
  142. pg_sui-1.6.8/workflow/envs/tree_sim.yml +14 -0
  143. pg_sui-1.6.8/workflow/profile/config.yaml +10 -0
  144. pg_sui-1.6.8/workflow/run_sim1.smk +222 -0
  145. pg_sui-1.6.8/workflow/scripts/sim_treeparams.py +420 -0
  146. pg_sui-1.6.8/workflow/sim1_config.yaml +10 -0
  147. pg_sui-1.6.8/workflow/t0.01_c0.1_a0.0_gtrgamma.phylip +81 -0
  148. pg-sui-1.0.2.1/MANIFEST.in +0 -5
  149. pg-sui-1.0.2.1/pg_sui.egg-info/SOURCES.txt +0 -79
  150. pg-sui-1.0.2.1/pg_sui.egg-info/requires.txt +0 -27
  151. pg-sui-1.0.2.1/pg_sui.egg-info/top_level.txt +0 -3
  152. pg-sui-1.0.2.1/pgsui/__init__.py +0 -63
  153. pg-sui-1.0.2.1/pgsui/data_processing/transformers.py +0 -1165
  154. pg-sui-1.0.2.1/pgsui/example_data/phylip_files/test_n10.phy +0 -118
  155. pg-sui-1.0.2.1/pgsui/example_data/phylip_files/test_n100.phy +0 -118
  156. pg-sui-1.0.2.1/pgsui/example_data/phylip_files/test_n2.phy +0 -118
  157. pg-sui-1.0.2.1/pgsui/example_data/phylip_files/test_n500.phy +0 -118
  158. pg-sui-1.0.2.1/pgsui/example_data/structure_files/test.nopops.1row.10sites.str +0 -117
  159. pg-sui-1.0.2.1/pgsui/example_data/structure_files/test.nopops.2row.100sites.str +0 -234
  160. pg-sui-1.0.2.1/pgsui/example_data/structure_files/test.nopops.2row.10sites.str +0 -234
  161. pg-sui-1.0.2.1/pgsui/example_data/structure_files/test.nopops.2row.30sites.str +0 -234
  162. pg-sui-1.0.2.1/pgsui/example_data/structure_files/test.nopops.2row.allsites.str +0 -234
  163. pg-sui-1.0.2.1/pgsui/example_data/structure_files/test.pops.1row.10sites.str +0 -117
  164. pg-sui-1.0.2.1/pgsui/example_data/structure_files/test.pops.2row.10sites.str +0 -234
  165. pg-sui-1.0.2.1/pgsui/example_data/trees/test.iqtree +0 -376
  166. pg-sui-1.0.2.1/pgsui/example_data/trees/test.qmat +0 -5
  167. pg-sui-1.0.2.1/pgsui/example_data/trees/test.rate +0 -2033
  168. pg-sui-1.0.2.1/pgsui/example_data/trees/test.tre +0 -1
  169. pg-sui-1.0.2.1/pgsui/example_data/trees/test_n10.rate +0 -19
  170. pg-sui-1.0.2.1/pgsui/example_data/trees/test_n100.rate +0 -109
  171. pg-sui-1.0.2.1/pgsui/example_data/trees/test_n500.rate +0 -509
  172. pg-sui-1.0.2.1/pgsui/example_data/trees/test_siterates.txt +0 -2024
  173. pg-sui-1.0.2.1/pgsui/example_data/trees/test_siterates_n10.txt +0 -10
  174. pg-sui-1.0.2.1/pgsui/example_data/trees/test_siterates_n100.txt +0 -100
  175. pg-sui-1.0.2.1/pgsui/example_data/trees/test_siterates_n500.txt +0 -500
  176. pg-sui-1.0.2.1/pgsui/example_data/vcf_files/test.vcf +0 -244
  177. pg-sui-1.0.2.1/pgsui/example_data/vcf_files/test.vcf.gz +0 -0
  178. pg-sui-1.0.2.1/pgsui/example_data/vcf_files/test.vcf.gz.tbi +0 -0
  179. pg-sui-1.0.2.1/pgsui/impute/estimators.py +0 -735
  180. pg-sui-1.0.2.1/pgsui/impute/impute.py +0 -1486
  181. pg-sui-1.0.2.1/pgsui/impute/simple_imputers.py +0 -1439
  182. pg-sui-1.0.2.1/pgsui/impute/supervised/iterative_imputer_fixedparams.py +0 -785
  183. pg-sui-1.0.2.1/pgsui/impute/supervised/iterative_imputer_gridsearch.py +0 -1027
  184. pg-sui-1.0.2.1/pgsui/impute/unsupervised/callbacks.py +0 -286
  185. pg-sui-1.0.2.1/pgsui/impute/unsupervised/keras_classifiers.py +0 -702
  186. pg-sui-1.0.2.1/pgsui/impute/unsupervised/models/autoencoder_model.py +0 -634
  187. pg-sui-1.0.2.1/pgsui/impute/unsupervised/models/in_development/cnn_model.py +0 -486
  188. pg-sui-1.0.2.1/pgsui/impute/unsupervised/models/nlpca_model.py +0 -523
  189. pg-sui-1.0.2.1/pgsui/impute/unsupervised/models/ubp_model.py +0 -1340
  190. pg-sui-1.0.2.1/pgsui/impute/unsupervised/models/vae_model.py +0 -707
  191. pg-sui-1.0.2.1/pgsui/impute/unsupervised/neural_network_imputers.py +0 -1424
  192. pg-sui-1.0.2.1/pgsui/impute/unsupervised/neural_network_methods.py +0 -1549
  193. pg-sui-1.0.2.1/pgsui/utils/misc.py +0 -518
  194. pg-sui-1.0.2.1/pgsui/utils/plotting.py +0 -920
  195. pg-sui-1.0.2.1/pgsui/utils/scorers.py +0 -508
  196. pg-sui-1.0.2.1/pgsui/utils/sequence_tools.py +0 -407
  197. pg-sui-1.0.2.1/setup.py +0 -104
  198. pg-sui-1.0.2.1/test/pg_sui_simtest.py +0 -215
  199. pg-sui-1.0.2.1/test/pg_sui_testing.py +0 -523
  200. pg-sui-1.0.2.1/test/test.py +0 -297
  201. pg-sui-1.0.2.1/test/test_pgsui.py +0 -374
  202. pg-sui-1.0.2.1/test/test_tkc.py +0 -214
  203. {pg-sui-1.0.2.1 → pg_sui-1.6.8}/LICENSE +0 -0
  204. /pg-sui-1.0.2.1/pgsui/data_processing/__init__.py → /pg_sui-1.6.8/docs/build/_static/custom.css +0 -0
  205. /pg-sui-1.0.2.1/pgsui/example_data/__init__.py → /pg_sui-1.6.8/docs/build/_templates +0 -0
  206. {pg-sui-1.0.2.1 → pg_sui-1.6.8}/pg_sui.egg-info/dependency_links.txt +0 -0
  207. {pg-sui-1.0.2.1/pgsui/example_data/phylip_files → pg_sui-1.6.8/pgsui/data_processing}/__init__.py +0 -0
  208. {pg-sui-1.0.2.1/pgsui/example_data/popmaps → pg_sui-1.6.8/pgsui/electron/app}/__init__.py +0 -0
  209. {pg-sui-1.0.2.1/pgsui/example_data/structure_files → pg_sui-1.6.8/pgsui/example_data}/__init__.py +0 -0
  210. {pg-sui-1.0.2.1/pgsui/example_data/trees → pg_sui-1.6.8/pgsui/example_data/phylip_files}/__init__.py +0 -0
  211. {pg-sui-1.0.2.1 → pg_sui-1.6.8}/pgsui/example_data/phylip_files/test.phy +0 -0
  212. {pg-sui-1.0.2.1/pgsui/impute → pg_sui-1.6.8/pgsui/example_data/popmaps}/__init__.py +0 -0
  213. {pg-sui-1.0.2.1/pgsui/impute/supervised → pg_sui-1.6.8/pgsui/example_data/structure_files}/__init__.py +0 -0
  214. {pg-sui-1.0.2.1 → pg_sui-1.6.8}/pgsui/example_data/structure_files/test.pops.2row.allsites.str +0 -0
  215. {pg-sui-1.0.2.1/pgsui/impute/unsupervised → pg_sui-1.6.8/pgsui/impute}/__init__.py +0 -0
  216. {pg-sui-1.0.2.1/pgsui/impute/unsupervised/models → pg_sui-1.6.8/pgsui/impute/supervised}/__init__.py +0 -0
  217. {pg-sui-1.0.2.1/pgsui/impute/unsupervised/models/in_development → pg_sui-1.6.8/pgsui/impute/supervised/imputers}/__init__.py +0 -0
  218. {pg-sui-1.0.2.1/pgsui/utils → pg_sui-1.6.8/pgsui/impute/unsupervised}/__init__.py +0 -0
  219. {pg-sui-1.0.2.1/simulation → pg_sui-1.6.8/pgsui/impute/unsupervised/imputers}/__init__.py +0 -0
  220. {pg-sui-1.0.2.1/test → pg_sui-1.6.8/pgsui/impute/unsupervised/models}/__init__.py +0 -0
  221. {pg-sui-1.0.2.1 → pg_sui-1.6.8}/setup.cfg +0 -0
  222. {pg-sui-1.0.2.1 → pg_sui-1.6.8}/simulation/sim_benchmarks.py +0 -0
  223. {pg-sui-1.0.2.1 → pg_sui-1.6.8}/simulation/sim_treeparams.py +0 -0
@@ -0,0 +1,16 @@
1
+ .git
2
+ __pycache__/
3
+ .venv/
4
+ dist/
5
+ build/
6
+ *.egg-info/
7
+ pgsui/electron/app/dist/
8
+ .venv/
9
+ .vscode/
10
+ .pytest_cache/
11
+ .codex/
12
+ *.pyc
13
+ *.pyo
14
+ *.pyd
15
+ *.egg-info/
16
+
@@ -0,0 +1 @@
1
+ *.ipynb linguist-generated
@@ -0,0 +1,45 @@
1
+ name: publish
2
+
3
+ on:
4
+ push:
5
+ tags: ["v*"] # e.g. v1.6.4
6
+
7
+ jobs:
8
+ build-and-publish:
9
+ runs-on: ubuntu-latest
10
+ permissions:
11
+ contents: read
12
+ steps:
13
+ - name: Checkout
14
+ uses: actions/checkout@v4
15
+ with:
16
+ fetch-depth: 0 # REQUIRED for setuptools-scm to see tags
17
+
18
+ - name: Setup Python
19
+ uses: actions/setup-python@v5
20
+ with:
21
+ python-version: "3.12"
22
+
23
+ - name: Install build deps
24
+ run: |
25
+ python -m pip install -U pip
26
+ pip install build twine
27
+
28
+ - name: Build
29
+ run: |
30
+ rm -rf dist/
31
+ python -m build
32
+
33
+ - name: Publish to TestPyPI
34
+ env:
35
+ TWINE_USERNAME: __token__
36
+ TWINE_PASSWORD: ${{ secrets.TEST_PYPI_API_TOKEN }}
37
+ run: |
38
+ twine upload --non-interactive --skip-existing --repository testpypi dist/*
39
+
40
+ - name: Publish to PyPI
41
+ env:
42
+ TWINE_USERNAME: __token__
43
+ TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
44
+ run: |
45
+ twine upload --non-interactive --skip-existing dist/*
@@ -0,0 +1,142 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ *.egg-info/
12
+ *.egg
13
+ dist/
14
+ *.whl
15
+ build/lib/
16
+ html/
17
+ *.doctree
18
+ doctrees/
19
+ *_build/
20
+
21
+ # Jupyter Notebook
22
+ .ipynb_checkpoints/
23
+
24
+ # Pyre type checker
25
+ .pyre/
26
+
27
+ # mypy
28
+ .mypy_cache/
29
+ dmypy.json
30
+ dmypy.log
31
+
32
+ # PyTorch
33
+ *.pt
34
+ *.pth
35
+
36
+ # Pytest
37
+ .cache/
38
+
39
+ # PyCharm
40
+ .idea/
41
+
42
+ # PyInstaller
43
+ *.manifest
44
+ *.spec
45
+
46
+ # Unit test / coverage reports
47
+ htmlcov/
48
+ .tox/
49
+ .nox/
50
+ .coverage
51
+ .coverage.*
52
+ .cache
53
+ nosetests.xml
54
+ coverage.xml
55
+ *.cover
56
+ *.py,cover
57
+ .hypothesis/
58
+
59
+ # Translations
60
+ *.mo
61
+ *.pot
62
+
63
+ # Django stuff:
64
+ *.log
65
+ local_settings.py
66
+ db.sqlite3
67
+
68
+ # Flask stuff:
69
+ instance/
70
+ .webassets-cache
71
+
72
+ # Scrapy stuff:
73
+ .scrapy
74
+
75
+ # Sphinx documentation
76
+ docs/_build/
77
+ pgsui/docs/_build/
78
+
79
+ # PyBuilder
80
+ target/
81
+
82
+ # Jupyter Notebook
83
+ .ipynb_checkpoints/
84
+
85
+ # IPython
86
+ profile_default/
87
+ ipython_config.py
88
+
89
+ # Spyder project settings
90
+ .spyderproject
91
+ .spyproject
92
+
93
+ # Rope project settings
94
+ .ropeproject
95
+
96
+ # mkdocs documentation
97
+ /site
98
+
99
+ # mypy
100
+ .mypy_cache/
101
+ dmypy.json
102
+ dmypy.log
103
+
104
+ # Pyre type checker
105
+ .pyre/
106
+
107
+ # pytype static type analyzer
108
+ .pytype/
109
+
110
+ # Cython debug symbols
111
+ cython_debug/
112
+
113
+ # Custom
114
+ pgsui_output/
115
+ snpio_output/
116
+ autoencoder_*_output/
117
+ *.zip
118
+ *.html
119
+ DEPRECATED*.py
120
+ .DS_Store
121
+ BOX_concat_goodOnly_N214.nex
122
+ box_scf.cf.tree
123
+ partitioned_all.contree
124
+ partitioned_all.iqtree
125
+ docs/build/_build/doctrees/environment.pickle
126
+ docs/build/_build/doctrees/pgsui.data_processing.doctree
127
+ **/doctrees/
128
+ .buildinfo
129
+ ./training_data/
130
+ .training_data.nosync/
131
+ training_data_2
132
+ pgsui_*_output/
133
+ summarize/
134
+ old_tests/
135
+ pgsui_output/
136
+ *14K.vcf_output/
137
+ .venv/
138
+ **/node_modules/
139
+ .codex/
140
+ training_data_2*
141
+ pgsui/electron/app/dist/
142
+ _version.py
@@ -0,0 +1,26 @@
1
+ # .readthedocs.yaml
2
+ # ReadTheDocs configuration file
3
+ # See https://docs.readthedocs.io/en/stable/config-file/v2.html
4
+
5
+ # Specify the version of the ReadTheDocs configuration file
6
+ version: 2
7
+
8
+ # Python version to use
9
+ # Set the version of Python and other tools you might need
10
+ build:
11
+ os: "ubuntu-20.04"
12
+ tools:
13
+ python: "3.11"
14
+
15
+ # Sphinx documentation options
16
+ sphinx:
17
+ configuration: docs/build/conf.py
18
+ builder: html
19
+ fail_on_warning: false
20
+
21
+ python:
22
+ install:
23
+ - method: pip
24
+ path: .
25
+ extra_requirements:
26
+ - docs
@@ -0,0 +1,29 @@
1
+ {
2
+ // Use IntelliSense to learn about possible attributes.
3
+ // Hover to view descriptions of existing attributes.
4
+ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5
+ "version": "0.2.0",
6
+ "configurations": [
7
+ {
8
+ "name": "Python: pg_sui.py",
9
+ "type": "python",
10
+ "python": "${command:python.interpreterPath}",
11
+ "request": "launch",
12
+ "program": "${workspaceFolder}/pgsui/pg_sui.py",
13
+ "justMyCode": true,
14
+ "console": "integratedTerminal",
15
+ "args": [
16
+ "-p",
17
+ "pgsui/example_data/phylip_files/test_n100.phy",
18
+ "-m",
19
+ "pgsui/example_data/popmaps/test.popmap",
20
+ "-t",
21
+ "pgsui/example_data/trees/test.tre",
22
+ "-i",
23
+ "pgsui/example_data/trees/test.iqtree",
24
+ "--site_rate",
25
+ "pgsui/example_data/trees/test_n100.rate"
26
+ ]
27
+ }
28
+ ]
29
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "[python]": {
3
+ "editor.defaultFormatter": "ms-python.black-formatter"
4
+ },
5
+ "python.formatting.provider": "none",
6
+ "editor.formatOnPaste": true,
7
+ "editor.formatOnSave": true,
8
+ "git.ignoreLimitWarning": true,
9
+ "python-envs.defaultEnvManager": "ms-python.python:venv",
10
+ "python-envs.defaultPackageManager": "ms-python.python:pip",
11
+ "python-envs.pythonProjects": [],
12
+ "yaml.schemas": {
13
+ "https://raw.githubusercontent.com/weaveworks/eksctl/main/pkg/apis/eksctl.io/v1alpha5/assets/schema.json": "*.eksctl.yaml",
14
+ "https://raw.githubusercontent.com/conda-forge/conda-smithy/main/conda_smithy/data/conda-forge.json": "file:///Users/btm002/Documents/Work/SHU/Research/Ongoing/Repositories/PG-SUI/conda/recipe/meta.yaml"
15
+ }
16
+ }
@@ -0,0 +1,38 @@
1
+ # syntax=docker/dockerfile:1.7
2
+ FROM python:3.12-slim
3
+
4
+ # ---- Env ----
5
+ ENV TZ=Etc/UTC \
6
+ LC_ALL=C.UTF-8 \
7
+ LANG=C.UTF-8 \
8
+ PYTHONDONTWRITEBYTECODE=1 \
9
+ PYTHONUNBUFFERED=1 \
10
+ PIP_DISABLE_PIP_VERSION_CHECK=1
11
+
12
+ # ---- OS deps for Nextflow shells and basic tooling ----
13
+ RUN apt-get update && apt-get install -y --no-install-recommends \
14
+ python3-pip python3-venv python-is-python3 bash coreutils findutils grep sed gawk curl \
15
+ ca-certificates tini \
16
+ && rm -rf /var/lib/apt/lists/*
17
+
18
+ # ---- Non-root user and writable workspace ----
19
+ RUN useradd -r -u 10001 -m appuser
20
+ WORKDIR /workspace
21
+ RUN chown -R appuser:appuser /workspace
22
+ VOLUME ["/workspace"]
23
+
24
+ # ---- Pin versions via build args ----
25
+ ARG PGSUI_VERSION=1.6.4
26
+
27
+ # ---- Security ----
28
+ USER appuser
29
+
30
+ SHELL ["/bin/bash", "-c"]
31
+
32
+ RUN python -m venv /home/appuser/venv \
33
+ && source /home/appuser/venv/bin/activate \
34
+ && python -m pip install --upgrade pip setuptools wheel \
35
+ && python -m pip install pg-sui \
36
+ && pg-sui --version
37
+
38
+ CMD []
@@ -0,0 +1,25 @@
1
+ include pgsui/example_data/structure_files/test.pops.2row.allsites.str
2
+ include pgsui/example_data/phylip_files/test.phy
3
+ include pgsui/example_data/popmaps/phylogen_nomx.popmap
4
+ include pgsui/example_data/vcf_files/phylogen_subset14K.vcf.gz
5
+ include pgsui/example_data/vcf_files/phylogen_subset14K.vcf.gz.tbi
6
+ include README.md LICENSE
7
+ exclude pgsui/electron/app/dist/*
8
+ exclude pgsui/electron/app/node_modules/*
9
+ exclude pgsui/figures/*
10
+ exclude pgsui/training_data/*
11
+ exclude pgsui/example_data/phylip_files/test_*.phy
12
+ exclude pgsui/example_data/popmaps/test.popmap*
13
+ exclude pgsui/example_data/vcf_files/*.vcf_sorted.vcf*
14
+ exclude pgsui/example_data/trees/*
15
+ exclude pgsui/example_data/structure_files/*.1row.*.str
16
+ exclude pgsui/example_data/structure_files/*.2row.10sites.str
17
+ exclude pgsui/example_data/structure_files/*.2row.100sites.str
18
+ exclude pgsui/example_data/structure_files/*.2row.30sites.str
19
+ exclude pgsui/example_data/structure_files/test.nopops*.str
20
+ exclude pgsui/example_data/vcf_files/test.vcf
21
+ exclude pgsui/example_data/vcf_files/test.vcf.gz*
22
+
23
+ global-exclude *.pyc __pycache__ .DS_Store
24
+ prune pgsui/electron/app/node_modules
25
+ prune pgsui/electron/app/dist
@@ -1,58 +1,70 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: pg-sui
3
- Version: 1.0.2.1
4
- Summary: Python machine and deep learning package to impute missing SNPs
5
- Home-page: https://github.com/btmartin721/PG-SUI
6
- Author: Bradley T. Martin and Tyler K. Chafin
7
- Author-email: evobio721@gmail.com
8
- Maintainer: Bradley T. Martin
9
- Maintainer-email: evobio721@gmail.com
3
+ Version: 1.6.8
4
+ Summary: Python machine and deep learning API to impute missing genotypes
5
+ Author-email: "Drs. Bradley T. Martin and Tyler K. Chafin" <evobio721@gmail.com>
6
+ Maintainer-email: "Dr. Bradley T. Martin" <evobio721@gmail.com>
10
7
  License: GNU General Public License v3 (GPLv3)
11
8
  Project-URL: Homepage, https://github.com/btmartin721/PG-SUI
12
9
  Project-URL: Documentation, https://pg-sui.readthedocs.io/en/latest/
13
10
  Project-URL: Source, https://github.com/btmartin721/PG-SUI.git
14
- Project-URL: Bug Tracker, https://github.com/btmartin721/PG-SUI/issues
15
- Keywords: impute,imputation,imputer,machine learning,neural network,deep learning,python,api,vae,autoencoder,ubp,nlpca,population genomics,unsupervised,supervised,IterativeImputer
11
+ Project-URL: BugTracker, https://github.com/btmartin721/PG-SUI/issues
12
+ Keywords: impute,imputation,AI,deep learning,machine learning,neural network,vae,autoencoder,ubp,nlpca,population genetics,unsupervised,supervised,bioinformatics,snp,genomics,genotype,missing data,data analysis,data science,statistics,data visualization,python
16
13
  Classifier: Programming Language :: Python :: 3
17
- Classifier: Programming Language :: Python :: 3
18
- Classifier: Programming Language :: Python :: 3.8
19
- Classifier: Programming Language :: Python :: 3.9
20
- Classifier: Programming Language :: Python :: 3.10
21
14
  Classifier: Programming Language :: Python :: 3.11
22
- Classifier: Development Status :: 5 - Production/Stable
15
+ Classifier: Programming Language :: Python :: 3.12
16
+ Classifier: Development Status :: 4 - Beta
17
+ Classifier: Environment :: Console
23
18
  Classifier: Intended Audience :: Science/Research
19
+ Classifier: Intended Audience :: Developers
20
+ Classifier: Intended Audience :: Education
24
21
  Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
25
22
  Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
26
- Classifier: Operating System :: OS Independent
23
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
24
+ Classifier: Topic :: Scientific/Engineering :: Information Analysis
25
+ Classifier: Topic :: Scientific/Engineering :: Visualization
26
+ Classifier: Operating System :: MacOS
27
+ Classifier: Operating System :: MacOS :: MacOS X
28
+ Classifier: Operating System :: Unix
29
+ Classifier: Operating System :: POSIX
27
30
  Classifier: Natural Language :: English
28
- Requires-Python: >=3.8
31
+ Requires-Python: >=3.11
29
32
  Description-Content-Type: text/markdown
30
33
  License-File: LICENSE
31
34
  Requires-Dist: matplotlib
35
+ Requires-Dist: numpy>=2.1
36
+ Requires-Dist: pandas>=2.2.2
37
+ Requires-Dist: scikit-learn>=1.4
38
+ Requires-Dist: scipy
32
39
  Requires-Dist: seaborn
33
- Requires-Dist: jupyterlab
34
- Requires-Dist: scikit-learn>=1.0
40
+ Requires-Dist: torch
35
41
  Requires-Dist: tqdm
36
- Requires-Dist: pandas<2.1.0
37
- Requires-Dist: numpy==1.24.3
38
- Requires-Dist: scipy
39
- Requires-Dist: xgboost
40
- Requires-Dist: tensorflow
41
- Requires-Dist: keras
42
42
  Requires-Dist: toytree
43
- Requires-Dist: sklearn-genetic-opt[all]>=0.6.0
44
- Requires-Dist: importlib-resources>=1.1.0
45
- Requires-Dist: pyvolve
46
- Requires-Dist: scikeras
43
+ Requires-Dist: optuna
47
44
  Requires-Dist: snpio
48
- Requires-Dist: urllib3<2.0.0,>=1.26.7
49
- Requires-Dist: typing-extensions<4.6.0
50
45
  Provides-Extra: intel
51
46
  Requires-Dist: scikit-learn-intelex; extra == "intel"
52
47
  Provides-Extra: docs
53
- Requires-Dist: sphinx<7; extra == "docs"
48
+ Requires-Dist: sphinx; extra == "docs"
54
49
  Requires-Dist: sphinx-rtd-theme; extra == "docs"
55
50
  Requires-Dist: sphinx_autodoc_typehints; extra == "docs"
51
+ Requires-Dist: sphinxcontrib-napoleon; extra == "docs"
52
+ Requires-Dist: sphinxcontrib-programoutput; extra == "docs"
53
+ Provides-Extra: dev
54
+ Requires-Dist: twine; extra == "dev"
55
+ Requires-Dist: wheel; extra == "dev"
56
+ Requires-Dist: pytest; extra == "dev"
57
+ Requires-Dist: sphinx; extra == "dev"
58
+ Requires-Dist: sphinx-rtd-theme; extra == "dev"
59
+ Requires-Dist: sphinx-autodoc-typehints; extra == "dev"
60
+ Requires-Dist: sphinxcontrib-napoleon; extra == "dev"
61
+ Requires-Dist: sphinxcontrib-programoutput; extra == "dev"
62
+ Requires-Dist: requests; extra == "dev"
63
+ Requires-Dist: PyObjC; extra == "dev"
64
+ Provides-Extra: optional
65
+ Requires-Dist: PyObjC; extra == "optional"
66
+ Provides-Extra: gui
67
+ Dynamic: license-file
56
68
 
57
69
 
58
70
  <img src="https://github.com/btmartin721/PG-SUI/blob/master/img/pgsui-logo-faded.png" alt="PG-SUI Logo" width="50%" height="50%">
@@ -124,51 +136,20 @@ pip install pg-sui[intel]
124
136
 
125
137
  ### Dependencies
126
138
 
127
- + python >= 3.8
139
+ + python >= 3.11
128
140
  + pandas
129
- + numpy==1.24.3
141
+ + numpy
130
142
  + scipy
131
143
  + matplotlib
132
144
  + seaborn
133
145
  + plotly
134
146
  + kaleido
135
- + jupyterlab
136
147
  + tqdm
137
148
  + toytree
138
- + pyvolve
139
149
  + scikit-learn
140
- + tensorflow >= 2.7
141
- + keras >= 2.7
142
150
  + xgboost
143
- + scikeras >= 0.6.0
144
151
  + snpio
145
-
146
-
147
- ### Manual Install
148
-
149
- If you want to install everything manually, the requirements can be installed with conda and pip. sklearn-genetic-opt and scikeras are only avaiable via pip, and scikeras requires tensorflow >= 2.7 and scikit-learn >= 1.0.
150
-
151
- ```
152
- conda create -n pg-sui python
153
- conda activate pg-sui
154
-
155
- conda install matplotlib seaborn jupyterlab scikit-learn tqdm pandas numpy scipy xgboost lightgbm kaleido
156
-
157
- # Only works if using Intel CPUs; speeds up processing
158
- conda install scikit-learn-intelex
159
-
160
- conda install -c conda-forge toytree kaleido
161
-
162
- conda install -c bioconda pyvolve
163
-
164
- conda install -c plotly plotly
165
-
166
- pip install sklearn-genetic-opt[all]
167
-
168
- pip install scikeras snpio
169
-
170
- pip install tensorflow-cpu
171
- ```
152
+ + optuna
172
153
 
173
154
  #### Installation troubleshooting
174
155
 
@@ -68,51 +68,20 @@ pip install pg-sui[intel]
68
68
 
69
69
  ### Dependencies
70
70
 
71
- + python >= 3.8
71
+ + python >= 3.11
72
72
  + pandas
73
- + numpy==1.24.3
73
+ + numpy
74
74
  + scipy
75
75
  + matplotlib
76
76
  + seaborn
77
77
  + plotly
78
78
  + kaleido
79
- + jupyterlab
80
79
  + tqdm
81
80
  + toytree
82
- + pyvolve
83
81
  + scikit-learn
84
- + tensorflow >= 2.7
85
- + keras >= 2.7
86
82
  + xgboost
87
- + scikeras >= 0.6.0
88
83
  + snpio
89
-
90
-
91
- ### Manual Install
92
-
93
- If you want to install everything manually, the requirements can be installed with conda and pip. sklearn-genetic-opt and scikeras are only avaiable via pip, and scikeras requires tensorflow >= 2.7 and scikit-learn >= 1.0.
94
-
95
- ```
96
- conda create -n pg-sui python
97
- conda activate pg-sui
98
-
99
- conda install matplotlib seaborn jupyterlab scikit-learn tqdm pandas numpy scipy xgboost lightgbm kaleido
100
-
101
- # Only works if using Intel CPUs; speeds up processing
102
- conda install scikit-learn-intelex
103
-
104
- conda install -c conda-forge toytree kaleido
105
-
106
- conda install -c bioconda pyvolve
107
-
108
- conda install -c plotly plotly
109
-
110
- pip install sklearn-genetic-opt[all]
111
-
112
- pip install scikeras snpio
113
-
114
- pip install tensorflow-cpu
115
- ```
84
+ + optuna
116
85
 
117
86
  #### Installation troubleshooting
118
87