cpgtools 1.12.0__tar.gz → 2.0.2__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 cpgtools might be problematic. Click here for more details.

Files changed (505) hide show
  1. cpgtools-2.0.2/LICENSE +19 -0
  2. {cpgtools-1.12.0 → cpgtools-2.0.2}/MANIFEST.in +2 -1
  3. cpgtools-2.0.2/PKG-INFO +76 -0
  4. cpgtools-2.0.2/README.md +27 -0
  5. cpgtools-2.0.2/pyproject.toml +48 -0
  6. {cpgtools-1.12.0/bin → cpgtools-2.0.2/scripts}/CpG_aggregation.py +1 -1
  7. {cpgtools-1.12.0/bin → cpgtools-2.0.2/scripts}/CpG_anno_position.py +1 -1
  8. {cpgtools-1.12.0/bin → cpgtools-2.0.2/scripts}/CpG_anno_probe.py +6 -4
  9. {cpgtools-1.12.0/bin → cpgtools-2.0.2/scripts}/CpG_density_gene_centered.py +1 -1
  10. {cpgtools-1.12.0/bin → cpgtools-2.0.2/scripts}/CpG_distrb_chrom.py +1 -1
  11. {cpgtools-1.12.0/bin → cpgtools-2.0.2/scripts}/CpG_distrb_gene_centered.py +1 -1
  12. {cpgtools-1.12.0/bin → cpgtools-2.0.2/scripts}/CpG_distrb_region.py +1 -3
  13. {cpgtools-1.12.0/bin → cpgtools-2.0.2/scripts}/CpG_logo.py +1 -1
  14. {cpgtools-1.12.0/bin → cpgtools-2.0.2/scripts}/CpG_to_gene.py +1 -1
  15. {cpgtools-1.12.0/bin → cpgtools-2.0.2/scripts}/beta_PCA.py +31 -23
  16. {cpgtools-1.12.0/bin → cpgtools-2.0.2/scripts}/beta_UMAP.py +29 -22
  17. cpgtools-2.0.2/scripts/beta_imputation.py +604 -0
  18. {cpgtools-1.12.0/bin → cpgtools-2.0.2/scripts}/beta_jitter_plot.py +1 -1
  19. {cpgtools-1.12.0/bin → cpgtools-2.0.2/scripts}/beta_m_conversion.py +1 -1
  20. {cpgtools-1.12.0/bin → cpgtools-2.0.2/scripts}/beta_profile_gene_centered.py +1 -1
  21. {cpgtools-1.12.0/bin → cpgtools-2.0.2/scripts}/beta_profile_region.py +1 -1
  22. {cpgtools-1.12.0/bin → cpgtools-2.0.2/scripts}/beta_selectNBest.py +9 -6
  23. {cpgtools-1.12.0/bin → cpgtools-2.0.2/scripts}/beta_stacked_barplot.py +1 -1
  24. {cpgtools-1.12.0/bin → cpgtools-2.0.2/scripts}/beta_stats.py +1 -1
  25. {cpgtools-1.12.0/bin → cpgtools-2.0.2/scripts}/beta_tSNE.py +31 -24
  26. {cpgtools-1.12.0/bin → cpgtools-2.0.2/scripts}/beta_topN.py +1 -1
  27. {cpgtools-1.12.0/bin → cpgtools-2.0.2/scripts}/beta_trichotmize.py +1 -1
  28. {cpgtools-1.12.0/bin → cpgtools-2.0.2/scripts}/dmc_Bayes.py +1 -1
  29. {cpgtools-1.12.0/bin → cpgtools-2.0.2/scripts}/dmc_bb.py +1 -1
  30. {cpgtools-1.12.0/bin → cpgtools-2.0.2/scripts}/dmc_fisher.py +1 -1
  31. {cpgtools-1.12.0/bin → cpgtools-2.0.2/scripts}/dmc_glm.py +1 -1
  32. {cpgtools-1.12.0/bin → cpgtools-2.0.2/scripts}/dmc_logit.py +1 -1
  33. {cpgtools-1.12.0/bin → cpgtools-2.0.2/scripts}/dmc_nonparametric.py +1 -1
  34. {cpgtools-1.12.0/bin → cpgtools-2.0.2/scripts}/dmc_ttest.py +3 -3
  35. cpgtools-2.0.2/scripts/predict_sex.py +126 -0
  36. cpgtools-2.0.2/setup.py +36 -0
  37. cpgtools-2.0.2/src/cpgmodule/_version.py +1 -0
  38. cpgtools-2.0.2/src/cpgmodule/data/__init__.py +0 -0
  39. cpgtools-2.0.2/src/cpgmodule/methylClock.py +53 -0
  40. {cpgtools-1.12.0/lib → cpgtools-2.0.2/src}/cpgmodule/utils.py +38 -1
  41. cpgtools-2.0.2/src/cpgtools.egg-info/PKG-INFO +76 -0
  42. cpgtools-2.0.2/src/cpgtools.egg-info/SOURCES.txt +88 -0
  43. {cpgtools-1.12.0/lib/CpGtools.egg-info → cpgtools-2.0.2/src/cpgtools.egg-info}/requires.txt +3 -1
  44. cpgtools-2.0.2/src/cpgtools.egg-info/top_level.txt +3 -0
  45. cpgtools-2.0.2/src/impyute/__init__.py +3 -0
  46. cpgtools-2.0.2/src/impyute/contrib/__init__.py +7 -0
  47. cpgtools-2.0.2/src/impyute/contrib/compare.py +69 -0
  48. cpgtools-2.0.2/src/impyute/contrib/count_missing.py +30 -0
  49. cpgtools-2.0.2/src/impyute/contrib/describe.py +63 -0
  50. cpgtools-2.0.2/src/impyute/cs/__init__.py +11 -0
  51. cpgtools-2.0.2/src/impyute/cs/buck_iterative.py +82 -0
  52. cpgtools-2.0.2/src/impyute/cs/central_tendency.py +84 -0
  53. cpgtools-2.0.2/src/impyute/cs/em.py +52 -0
  54. cpgtools-2.0.2/src/impyute/cs/fast_knn.py +130 -0
  55. cpgtools-2.0.2/src/impyute/cs/random.py +27 -0
  56. cpgtools-2.0.2/src/impyute/dataset/__init__.py +6 -0
  57. cpgtools-2.0.2/src/impyute/dataset/base.py +137 -0
  58. cpgtools-2.0.2/src/impyute/dataset/corrupt.py +55 -0
  59. cpgtools-2.0.2/src/impyute/deletion/__init__.py +5 -0
  60. cpgtools-2.0.2/src/impyute/deletion/complete_case.py +21 -0
  61. cpgtools-2.0.2/src/impyute/ops/__init__.py +12 -0
  62. cpgtools-2.0.2/src/impyute/ops/error.py +9 -0
  63. cpgtools-2.0.2/src/impyute/ops/inverse_distance_weighting.py +31 -0
  64. cpgtools-2.0.2/src/impyute/ops/matrix.py +47 -0
  65. cpgtools-2.0.2/src/impyute/ops/testing.py +20 -0
  66. cpgtools-2.0.2/src/impyute/ops/util.py +76 -0
  67. cpgtools-2.0.2/src/impyute/ops/wrapper.py +179 -0
  68. cpgtools-2.0.2/src/impyute/ts/__init__.py +6 -0
  69. cpgtools-2.0.2/src/impyute/ts/locf.py +57 -0
  70. cpgtools-2.0.2/src/impyute/ts/moving_window.py +128 -0
  71. cpgtools-2.0.2/src/missingpy/__init__.py +4 -0
  72. cpgtools-2.0.2/src/missingpy/knnimpute.py +328 -0
  73. cpgtools-2.0.2/src/missingpy/missforest.py +556 -0
  74. cpgtools-2.0.2/src/missingpy/pairwise_external.py +315 -0
  75. cpgtools-2.0.2/src/missingpy/tests/__init__.py +0 -0
  76. cpgtools-2.0.2/src/missingpy/tests/test_knnimpute.py +605 -0
  77. cpgtools-2.0.2/src/missingpy/tests/test_missforest.py +409 -0
  78. cpgtools-2.0.2/src/missingpy/utils.py +124 -0
  79. cpgtools-1.12.0/.DS_Store +0 -0
  80. cpgtools-1.12.0/.eggs/README.txt +0 -6
  81. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/EGG-INFO/DESCRIPTION.rst +0 -21
  82. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/EGG-INFO/PKG-INFO +0 -40
  83. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/EGG-INFO/RECORD +0 -56
  84. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/EGG-INFO/WHEEL +0 -5
  85. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/EGG-INFO/entry_points.txt +0 -7
  86. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/EGG-INFO/metadata.json +0 -1
  87. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/EGG-INFO/top_level.txt +0 -1
  88. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/man/man1/nosetests.1 +0 -581
  89. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/__init__.py +0 -15
  90. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/__main__.py +0 -8
  91. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/case.py +0 -398
  92. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/commands.py +0 -172
  93. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/config.py +0 -661
  94. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/core.py +0 -341
  95. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/exc.py +0 -9
  96. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/ext/__init__.py +0 -3
  97. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/ext/dtcompat.py +0 -2272
  98. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/failure.py +0 -42
  99. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/importer.py +0 -167
  100. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/inspector.py +0 -208
  101. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/loader.py +0 -623
  102. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/plugins/__init__.py +0 -190
  103. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/plugins/allmodules.py +0 -45
  104. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/plugins/attrib.py +0 -287
  105. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/plugins/base.py +0 -725
  106. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/plugins/builtin.py +0 -34
  107. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/plugins/capture.py +0 -115
  108. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/plugins/collect.py +0 -95
  109. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/plugins/cover.py +0 -271
  110. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/plugins/debug.py +0 -67
  111. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/plugins/deprecated.py +0 -45
  112. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/plugins/doctests.py +0 -452
  113. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/plugins/errorclass.py +0 -210
  114. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/plugins/failuredetail.py +0 -49
  115. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/plugins/isolate.py +0 -103
  116. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/plugins/logcapture.py +0 -245
  117. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/plugins/manager.py +0 -460
  118. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/plugins/multiprocess.py +0 -835
  119. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/plugins/plugintest.py +0 -417
  120. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/plugins/prof.py +0 -154
  121. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/plugins/skip.py +0 -63
  122. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/plugins/testid.py +0 -311
  123. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/plugins/xunit.py +0 -341
  124. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/proxy.py +0 -188
  125. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/pyversion.py +0 -215
  126. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/result.py +0 -200
  127. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/selector.py +0 -247
  128. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/sphinx/__init__.py +0 -1
  129. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/sphinx/pluginopts.py +0 -189
  130. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/suite.py +0 -610
  131. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/tools/__init__.py +0 -15
  132. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/tools/nontrivial.py +0 -151
  133. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/tools/trivial.py +0 -54
  134. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/twistedtools.py +0 -173
  135. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/usage.txt +0 -115
  136. cpgtools-1.12.0/.eggs/nose-1.3.7-py3.7.egg/nose/util.py +0 -668
  137. cpgtools-1.12.0/.gitignore +0 -5
  138. cpgtools-1.12.0/LICENSE.txt +0 -674
  139. cpgtools-1.12.0/PKG-INFO +0 -24
  140. cpgtools-1.12.0/README.md +0 -20
  141. cpgtools-1.12.0/bin/.DS_Store +0 -0
  142. cpgtools-1.12.0/docs/.DS_Store +0 -0
  143. cpgtools-1.12.0/docs/Makefile +0 -20
  144. cpgtools-1.12.0/docs/build/doctrees/change_log.doctree +0 -0
  145. cpgtools-1.12.0/docs/build/doctrees/compare_diff_tools.doctree +0 -0
  146. cpgtools-1.12.0/docs/build/doctrees/dataset.doctree +0 -0
  147. cpgtools-1.12.0/docs/build/doctrees/demo/CpG_aggregation.doctree +0 -0
  148. cpgtools-1.12.0/docs/build/doctrees/demo/CpG_anno_position.doctree +0 -0
  149. cpgtools-1.12.0/docs/build/doctrees/demo/CpG_anno_probe.doctree +0 -0
  150. cpgtools-1.12.0/docs/build/doctrees/demo/CpG_density_gene_centered.doctree +0 -0
  151. cpgtools-1.12.0/docs/build/doctrees/demo/CpG_distrb_chrom.doctree +0 -0
  152. cpgtools-1.12.0/docs/build/doctrees/demo/CpG_distrb_gene_centered.doctree +0 -0
  153. cpgtools-1.12.0/docs/build/doctrees/demo/CpG_distrb_region.doctree +0 -0
  154. cpgtools-1.12.0/docs/build/doctrees/demo/CpG_logo.doctree +0 -0
  155. cpgtools-1.12.0/docs/build/doctrees/demo/CpG_to_gene.doctree +0 -0
  156. cpgtools-1.12.0/docs/build/doctrees/demo/beta_PCA.doctree +0 -0
  157. cpgtools-1.12.0/docs/build/doctrees/demo/beta_jitter_plot.doctree +0 -0
  158. cpgtools-1.12.0/docs/build/doctrees/demo/beta_m_conversion.doctree +0 -0
  159. cpgtools-1.12.0/docs/build/doctrees/demo/beta_profile_gene_centered.doctree +0 -0
  160. cpgtools-1.12.0/docs/build/doctrees/demo/beta_profile_region.doctree +0 -0
  161. cpgtools-1.12.0/docs/build/doctrees/demo/beta_stacked_barplot.doctree +0 -0
  162. cpgtools-1.12.0/docs/build/doctrees/demo/beta_stats.doctree +0 -0
  163. cpgtools-1.12.0/docs/build/doctrees/demo/beta_tSNE.doctree +0 -0
  164. cpgtools-1.12.0/docs/build/doctrees/demo/beta_topN.doctree +0 -0
  165. cpgtools-1.12.0/docs/build/doctrees/demo/beta_trichotmize.doctree +0 -0
  166. cpgtools-1.12.0/docs/build/doctrees/demo/dmc_Bayes.doctree +0 -0
  167. cpgtools-1.12.0/docs/build/doctrees/demo/dmc_bb.doctree +0 -0
  168. cpgtools-1.12.0/docs/build/doctrees/demo/dmc_fisher.doctree +0 -0
  169. cpgtools-1.12.0/docs/build/doctrees/demo/dmc_glm.doctree +0 -0
  170. cpgtools-1.12.0/docs/build/doctrees/demo/dmc_logit.doctree +0 -0
  171. cpgtools-1.12.0/docs/build/doctrees/demo/dmc_nonparametric.doctree +0 -0
  172. cpgtools-1.12.0/docs/build/doctrees/demo/dmc_ttest.doctree +0 -0
  173. cpgtools-1.12.0/docs/build/doctrees/environment.pickle +0 -0
  174. cpgtools-1.12.0/docs/build/doctrees/index.doctree +0 -0
  175. cpgtools-1.12.0/docs/build/doctrees/input_format.doctree +0 -0
  176. cpgtools-1.12.0/docs/build/doctrees/installation.doctree +0 -0
  177. cpgtools-1.12.0/docs/build/doctrees/intro.doctree +0 -0
  178. cpgtools-1.12.0/docs/build/doctrees/liscense.doctree +0 -0
  179. cpgtools-1.12.0/docs/build/doctrees/overview.doctree +0 -0
  180. cpgtools-1.12.0/docs/build/doctrees/reference.doctree +0 -0
  181. cpgtools-1.12.0/docs/build/doctrees/usage_information.doctree +0 -0
  182. cpgtools-1.12.0/docs/build/html/.buildinfo +0 -4
  183. cpgtools-1.12.0/docs/build/html/_images/450_CH.logo.png +0 -0
  184. cpgtools-1.12.0/docs/build/html/_images/CpG_density.png +0 -0
  185. cpgtools-1.12.0/docs/build/html/_images/HCV_vs_normal.PCA.png +0 -0
  186. cpgtools-1.12.0/docs/build/html/_images/HCV_vs_normal.tSNE.png +0 -0
  187. cpgtools-1.12.0/docs/build/html/_images/Jitter.png +0 -0
  188. cpgtools-1.12.0/docs/build/html/_images/M_value_eq.png +0 -0
  189. cpgtools-1.12.0/docs/build/html/_images/beta_pvalue_corr.png +0 -0
  190. cpgtools-1.12.0/docs/build/html/_images/beta_pvalue_dist.png +0 -0
  191. cpgtools-1.12.0/docs/build/html/_images/beta_value_eq.png +0 -0
  192. cpgtools-1.12.0/docs/build/html/_images/beta_vs_M_curve.png +0 -0
  193. cpgtools-1.12.0/docs/build/html/_images/chromDist.CpG_perMb.png +0 -0
  194. cpgtools-1.12.0/docs/build/html/_images/chromDist.CpG_percent.png +0 -0
  195. cpgtools-1.12.0/docs/build/html/_images/chromDist.CpG_total.png +0 -0
  196. cpgtools-1.12.0/docs/build/html/_images/geneDist.png +0 -0
  197. cpgtools-1.12.0/docs/build/html/_images/gene_domain.png +0 -0
  198. cpgtools-1.12.0/docs/build/html/_images/gene_profile.png +0 -0
  199. cpgtools-1.12.0/docs/build/html/_images/regionDist.png +0 -0
  200. cpgtools-1.12.0/docs/build/html/_images/region_profile.png +0 -0
  201. cpgtools-1.12.0/docs/build/html/_images/stacked_bar.png +0 -0
  202. cpgtools-1.12.0/docs/build/html/_images/trichotmize.png +0 -0
  203. cpgtools-1.12.0/docs/build/html/_sources/change_log.rst.txt +0 -31
  204. cpgtools-1.12.0/docs/build/html/_sources/compare_diff_tools.rst.txt +0 -38
  205. cpgtools-1.12.0/docs/build/html/_sources/dataset.rst.txt +0 -38
  206. cpgtools-1.12.0/docs/build/html/_sources/demo/CpG_aggregation.rst.txt +0 -80
  207. cpgtools-1.12.0/docs/build/html/_sources/demo/CpG_anno_position.rst.txt +0 -116
  208. cpgtools-1.12.0/docs/build/html/_sources/demo/CpG_anno_probe.rst.txt +0 -151
  209. cpgtools-1.12.0/docs/build/html/_sources/demo/CpG_density_gene_centered.rst.txt +0 -82
  210. cpgtools-1.12.0/docs/build/html/_sources/demo/CpG_distrb_chrom.rst.txt +0 -80
  211. cpgtools-1.12.0/docs/build/html/_sources/demo/CpG_distrb_gene_centered.rst.txt +0 -74
  212. cpgtools-1.12.0/docs/build/html/_sources/demo/CpG_distrb_region.rst.txt +0 -66
  213. cpgtools-1.12.0/docs/build/html/_sources/demo/CpG_logo.rst.txt +0 -74
  214. cpgtools-1.12.0/docs/build/html/_sources/demo/CpG_to_gene.rst.txt +0 -128
  215. cpgtools-1.12.0/docs/build/html/_sources/demo/beta_PCA.rst.txt +0 -85
  216. cpgtools-1.12.0/docs/build/html/_sources/demo/beta_jitter_plot.rst.txt +0 -60
  217. cpgtools-1.12.0/docs/build/html/_sources/demo/beta_m_conversion.rst.txt +0 -51
  218. cpgtools-1.12.0/docs/build/html/_sources/demo/beta_profile_gene_centered.rst.txt +0 -70
  219. cpgtools-1.12.0/docs/build/html/_sources/demo/beta_profile_region.rst.txt +0 -67
  220. cpgtools-1.12.0/docs/build/html/_sources/demo/beta_stacked_barplot.rst.txt +0 -62
  221. cpgtools-1.12.0/docs/build/html/_sources/demo/beta_stats.rst.txt +0 -53
  222. cpgtools-1.12.0/docs/build/html/_sources/demo/beta_tSNE.rst.txt +0 -111
  223. cpgtools-1.12.0/docs/build/html/_sources/demo/beta_topN.rst.txt +0 -48
  224. cpgtools-1.12.0/docs/build/html/_sources/demo/beta_trichotmize.rst.txt +0 -131
  225. cpgtools-1.12.0/docs/build/html/_sources/demo/dmc_Bayes.rst.txt +0 -102
  226. cpgtools-1.12.0/docs/build/html/_sources/demo/dmc_bb.rst.txt +0 -45
  227. cpgtools-1.12.0/docs/build/html/_sources/demo/dmc_fisher.rst.txt +0 -70
  228. cpgtools-1.12.0/docs/build/html/_sources/demo/dmc_glm.rst.txt +0 -53
  229. cpgtools-1.12.0/docs/build/html/_sources/demo/dmc_logit.rst.txt +0 -50
  230. cpgtools-1.12.0/docs/build/html/_sources/demo/dmc_nonparametric.rst.txt +0 -50
  231. cpgtools-1.12.0/docs/build/html/_sources/demo/dmc_ttest.rst.txt +0 -64
  232. cpgtools-1.12.0/docs/build/html/_sources/index.rst.txt +0 -56
  233. cpgtools-1.12.0/docs/build/html/_sources/input_format.rst.txt +0 -83
  234. cpgtools-1.12.0/docs/build/html/_sources/installation.rst.txt +0 -62
  235. cpgtools-1.12.0/docs/build/html/_sources/intro.rst.txt +0 -4
  236. cpgtools-1.12.0/docs/build/html/_sources/liscense.rst.txt +0 -13
  237. cpgtools-1.12.0/docs/build/html/_sources/overview.rst.txt +0 -91
  238. cpgtools-1.12.0/docs/build/html/_sources/reference.rst.txt +0 -3
  239. cpgtools-1.12.0/docs/build/html/_sources/usage_information.rst.txt +0 -1401
  240. cpgtools-1.12.0/docs/build/html/_static/450_CH.logo.png +0 -0
  241. cpgtools-1.12.0/docs/build/html/_static/CpG_density.png +0 -0
  242. cpgtools-1.12.0/docs/build/html/_static/CpGtools_logo.png +0 -0
  243. cpgtools-1.12.0/docs/build/html/_static/CpGtools_logo2.png +0 -0
  244. cpgtools-1.12.0/docs/build/html/_static/HCV_vs_normal.PCA.png +0 -0
  245. cpgtools-1.12.0/docs/build/html/_static/HCV_vs_normal.tSNE.png +0 -0
  246. cpgtools-1.12.0/docs/build/html/_static/Jitter.png +0 -0
  247. cpgtools-1.12.0/docs/build/html/_static/M_value_eq.png +0 -0
  248. cpgtools-1.12.0/docs/build/html/_static/alabaster.css +0 -701
  249. cpgtools-1.12.0/docs/build/html/_static/basic.css +0 -855
  250. cpgtools-1.12.0/docs/build/html/_static/beta_pvalue_corr.png +0 -0
  251. cpgtools-1.12.0/docs/build/html/_static/beta_pvalue_dist.png +0 -0
  252. cpgtools-1.12.0/docs/build/html/_static/beta_value_eq.png +0 -0
  253. cpgtools-1.12.0/docs/build/html/_static/beta_vs_M_curve.png +0 -0
  254. cpgtools-1.12.0/docs/build/html/_static/chromDist.CpG_perMb.png +0 -0
  255. cpgtools-1.12.0/docs/build/html/_static/chromDist.CpG_percent.png +0 -0
  256. cpgtools-1.12.0/docs/build/html/_static/chromDist.CpG_total.png +0 -0
  257. cpgtools-1.12.0/docs/build/html/_static/css/badge_only.css +0 -1
  258. cpgtools-1.12.0/docs/build/html/_static/css/fonts/Roboto-Slab-Bold.woff +0 -0
  259. cpgtools-1.12.0/docs/build/html/_static/css/fonts/Roboto-Slab-Bold.woff2 +0 -0
  260. cpgtools-1.12.0/docs/build/html/_static/css/fonts/Roboto-Slab-Regular.woff +0 -0
  261. cpgtools-1.12.0/docs/build/html/_static/css/fonts/Roboto-Slab-Regular.woff2 +0 -0
  262. cpgtools-1.12.0/docs/build/html/_static/css/fonts/fontawesome-webfont.eot +0 -0
  263. cpgtools-1.12.0/docs/build/html/_static/css/fonts/fontawesome-webfont.svg +0 -2671
  264. cpgtools-1.12.0/docs/build/html/_static/css/fonts/fontawesome-webfont.ttf +0 -0
  265. cpgtools-1.12.0/docs/build/html/_static/css/fonts/fontawesome-webfont.woff +0 -0
  266. cpgtools-1.12.0/docs/build/html/_static/css/fonts/fontawesome-webfont.woff2 +0 -0
  267. cpgtools-1.12.0/docs/build/html/_static/css/fonts/lato-bold-italic.woff +0 -0
  268. cpgtools-1.12.0/docs/build/html/_static/css/fonts/lato-bold-italic.woff2 +0 -0
  269. cpgtools-1.12.0/docs/build/html/_static/css/fonts/lato-bold.woff +0 -0
  270. cpgtools-1.12.0/docs/build/html/_static/css/fonts/lato-bold.woff2 +0 -0
  271. cpgtools-1.12.0/docs/build/html/_static/css/fonts/lato-normal-italic.woff +0 -0
  272. cpgtools-1.12.0/docs/build/html/_static/css/fonts/lato-normal-italic.woff2 +0 -0
  273. cpgtools-1.12.0/docs/build/html/_static/css/fonts/lato-normal.woff +0 -0
  274. cpgtools-1.12.0/docs/build/html/_static/css/fonts/lato-normal.woff2 +0 -0
  275. cpgtools-1.12.0/docs/build/html/_static/css/theme.css +0 -4
  276. cpgtools-1.12.0/docs/build/html/_static/custom.css +0 -3
  277. cpgtools-1.12.0/docs/build/html/_static/doctools.js +0 -315
  278. cpgtools-1.12.0/docs/build/html/_static/documentation_options.js +0 -12
  279. cpgtools-1.12.0/docs/build/html/_static/file.png +0 -0
  280. cpgtools-1.12.0/docs/build/html/_static/fonts/FontAwesome.otf +0 -0
  281. cpgtools-1.12.0/docs/build/html/_static/fonts/Inconsolata-Bold.ttf +0 -0
  282. cpgtools-1.12.0/docs/build/html/_static/fonts/Inconsolata-Regular.ttf +0 -0
  283. cpgtools-1.12.0/docs/build/html/_static/fonts/Inconsolata.ttf +0 -0
  284. cpgtools-1.12.0/docs/build/html/_static/fonts/Lato/lato-bold.eot +0 -0
  285. cpgtools-1.12.0/docs/build/html/_static/fonts/Lato/lato-bold.ttf +0 -0
  286. cpgtools-1.12.0/docs/build/html/_static/fonts/Lato/lato-bold.woff +0 -0
  287. cpgtools-1.12.0/docs/build/html/_static/fonts/Lato/lato-bold.woff2 +0 -0
  288. cpgtools-1.12.0/docs/build/html/_static/fonts/Lato/lato-bolditalic.eot +0 -0
  289. cpgtools-1.12.0/docs/build/html/_static/fonts/Lato/lato-bolditalic.ttf +0 -0
  290. cpgtools-1.12.0/docs/build/html/_static/fonts/Lato/lato-bolditalic.woff +0 -0
  291. cpgtools-1.12.0/docs/build/html/_static/fonts/Lato/lato-bolditalic.woff2 +0 -0
  292. cpgtools-1.12.0/docs/build/html/_static/fonts/Lato/lato-italic.eot +0 -0
  293. cpgtools-1.12.0/docs/build/html/_static/fonts/Lato/lato-italic.ttf +0 -0
  294. cpgtools-1.12.0/docs/build/html/_static/fonts/Lato/lato-italic.woff +0 -0
  295. cpgtools-1.12.0/docs/build/html/_static/fonts/Lato/lato-italic.woff2 +0 -0
  296. cpgtools-1.12.0/docs/build/html/_static/fonts/Lato/lato-regular.eot +0 -0
  297. cpgtools-1.12.0/docs/build/html/_static/fonts/Lato/lato-regular.ttf +0 -0
  298. cpgtools-1.12.0/docs/build/html/_static/fonts/Lato/lato-regular.woff +0 -0
  299. cpgtools-1.12.0/docs/build/html/_static/fonts/Lato/lato-regular.woff2 +0 -0
  300. cpgtools-1.12.0/docs/build/html/_static/fonts/Lato-Bold.ttf +0 -0
  301. cpgtools-1.12.0/docs/build/html/_static/fonts/Lato-Regular.ttf +0 -0
  302. cpgtools-1.12.0/docs/build/html/_static/fonts/Roboto-Slab-Bold.woff +0 -0
  303. cpgtools-1.12.0/docs/build/html/_static/fonts/Roboto-Slab-Bold.woff2 +0 -0
  304. cpgtools-1.12.0/docs/build/html/_static/fonts/Roboto-Slab-Light.woff +0 -0
  305. cpgtools-1.12.0/docs/build/html/_static/fonts/Roboto-Slab-Light.woff2 +0 -0
  306. cpgtools-1.12.0/docs/build/html/_static/fonts/Roboto-Slab-Regular.woff +0 -0
  307. cpgtools-1.12.0/docs/build/html/_static/fonts/Roboto-Slab-Regular.woff2 +0 -0
  308. cpgtools-1.12.0/docs/build/html/_static/fonts/Roboto-Slab-Thin.woff +0 -0
  309. cpgtools-1.12.0/docs/build/html/_static/fonts/Roboto-Slab-Thin.woff2 +0 -0
  310. cpgtools-1.12.0/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot +0 -0
  311. cpgtools-1.12.0/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf +0 -0
  312. cpgtools-1.12.0/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff +0 -0
  313. cpgtools-1.12.0/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 +0 -0
  314. cpgtools-1.12.0/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot +0 -0
  315. cpgtools-1.12.0/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf +0 -0
  316. cpgtools-1.12.0/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff +0 -0
  317. cpgtools-1.12.0/docs/build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 +0 -0
  318. cpgtools-1.12.0/docs/build/html/_static/fonts/RobotoSlab-Bold.ttf +0 -0
  319. cpgtools-1.12.0/docs/build/html/_static/fonts/RobotoSlab-Regular.ttf +0 -0
  320. cpgtools-1.12.0/docs/build/html/_static/fonts/fontawesome-webfont.eot +0 -0
  321. cpgtools-1.12.0/docs/build/html/_static/fonts/fontawesome-webfont.svg +0 -2671
  322. cpgtools-1.12.0/docs/build/html/_static/fonts/fontawesome-webfont.ttf +0 -0
  323. cpgtools-1.12.0/docs/build/html/_static/fonts/fontawesome-webfont.woff +0 -0
  324. cpgtools-1.12.0/docs/build/html/_static/fonts/fontawesome-webfont.woff2 +0 -0
  325. cpgtools-1.12.0/docs/build/html/_static/fonts/lato-bold-italic.woff +0 -0
  326. cpgtools-1.12.0/docs/build/html/_static/fonts/lato-bold-italic.woff2 +0 -0
  327. cpgtools-1.12.0/docs/build/html/_static/fonts/lato-bold.woff +0 -0
  328. cpgtools-1.12.0/docs/build/html/_static/fonts/lato-bold.woff2 +0 -0
  329. cpgtools-1.12.0/docs/build/html/_static/fonts/lato-normal-italic.woff +0 -0
  330. cpgtools-1.12.0/docs/build/html/_static/fonts/lato-normal-italic.woff2 +0 -0
  331. cpgtools-1.12.0/docs/build/html/_static/fonts/lato-normal.woff +0 -0
  332. cpgtools-1.12.0/docs/build/html/_static/fonts/lato-normal.woff2 +0 -0
  333. cpgtools-1.12.0/docs/build/html/_static/geneDist.png +0 -0
  334. cpgtools-1.12.0/docs/build/html/_static/gene_domain.png +0 -0
  335. cpgtools-1.12.0/docs/build/html/_static/gene_profile.png +0 -0
  336. cpgtools-1.12.0/docs/build/html/_static/jquery-3.2.1.js +0 -10253
  337. cpgtools-1.12.0/docs/build/html/_static/jquery-3.5.1.js +0 -10872
  338. cpgtools-1.12.0/docs/build/html/_static/jquery.js +0 -2
  339. cpgtools-1.12.0/docs/build/html/_static/js/badge_only.js +0 -1
  340. cpgtools-1.12.0/docs/build/html/_static/js/html5shiv-printshiv.min.js +0 -4
  341. cpgtools-1.12.0/docs/build/html/_static/js/html5shiv.min.js +0 -4
  342. cpgtools-1.12.0/docs/build/html/_static/js/modernizr.min.js +0 -4
  343. cpgtools-1.12.0/docs/build/html/_static/js/theme.js +0 -1
  344. cpgtools-1.12.0/docs/build/html/_static/language_data.js +0 -297
  345. cpgtools-1.12.0/docs/build/html/_static/minus.png +0 -0
  346. cpgtools-1.12.0/docs/build/html/_static/plus.png +0 -0
  347. cpgtools-1.12.0/docs/build/html/_static/pygments.css +0 -69
  348. cpgtools-1.12.0/docs/build/html/_static/regionDist.png +0 -0
  349. cpgtools-1.12.0/docs/build/html/_static/region_profile.png +0 -0
  350. cpgtools-1.12.0/docs/build/html/_static/searchtools.js +0 -515
  351. cpgtools-1.12.0/docs/build/html/_static/stacked_bar.png +0 -0
  352. cpgtools-1.12.0/docs/build/html/_static/trichotmize.png +0 -0
  353. cpgtools-1.12.0/docs/build/html/_static/underscore-1.3.1.js +0 -999
  354. cpgtools-1.12.0/docs/build/html/_static/underscore.js +0 -31
  355. cpgtools-1.12.0/docs/build/html/change_log.html +0 -324
  356. cpgtools-1.12.0/docs/build/html/compare_diff_tools.html +0 -348
  357. cpgtools-1.12.0/docs/build/html/dataset.html +0 -343
  358. cpgtools-1.12.0/docs/build/html/demo/CpG_aggregation.html +0 -378
  359. cpgtools-1.12.0/docs/build/html/demo/CpG_anno_position.html +0 -414
  360. cpgtools-1.12.0/docs/build/html/demo/CpG_anno_probe.html +0 -467
  361. cpgtools-1.12.0/docs/build/html/demo/CpG_density_gene_centered.html +0 -384
  362. cpgtools-1.12.0/docs/build/html/demo/CpG_distrb_chrom.html +0 -368
  363. cpgtools-1.12.0/docs/build/html/demo/CpG_distrb_gene_centered.html +0 -374
  364. cpgtools-1.12.0/docs/build/html/demo/CpG_distrb_region.html +0 -366
  365. cpgtools-1.12.0/docs/build/html/demo/CpG_logo.html +0 -375
  366. cpgtools-1.12.0/docs/build/html/demo/CpG_to_gene.html +0 -431
  367. cpgtools-1.12.0/docs/build/html/demo/beta_PCA.html +0 -389
  368. cpgtools-1.12.0/docs/build/html/demo/beta_jitter_plot.html +0 -360
  369. cpgtools-1.12.0/docs/build/html/demo/beta_m_conversion.html +0 -355
  370. cpgtools-1.12.0/docs/build/html/demo/beta_profile_gene_centered.html +0 -370
  371. cpgtools-1.12.0/docs/build/html/demo/beta_profile_region.html +0 -368
  372. cpgtools-1.12.0/docs/build/html/demo/beta_stacked_barplot.html +0 -360
  373. cpgtools-1.12.0/docs/build/html/demo/beta_stats.html +0 -356
  374. cpgtools-1.12.0/docs/build/html/demo/beta_tSNE.html +0 -415
  375. cpgtools-1.12.0/docs/build/html/demo/beta_topN.html +0 -353
  376. cpgtools-1.12.0/docs/build/html/demo/beta_trichotmize.html +0 -432
  377. cpgtools-1.12.0/docs/build/html/demo/dmc_Bayes.html +0 -407
  378. cpgtools-1.12.0/docs/build/html/demo/dmc_bb.html +0 -346
  379. cpgtools-1.12.0/docs/build/html/demo/dmc_fisher.html +0 -375
  380. cpgtools-1.12.0/docs/build/html/demo/dmc_glm.html +0 -357
  381. cpgtools-1.12.0/docs/build/html/demo/dmc_logit.html +0 -354
  382. cpgtools-1.12.0/docs/build/html/demo/dmc_nonparametric.html +0 -352
  383. cpgtools-1.12.0/docs/build/html/demo/dmc_ttest.html +0 -372
  384. cpgtools-1.12.0/docs/build/html/genindex.html +0 -279
  385. cpgtools-1.12.0/docs/build/html/index.html +0 -566
  386. cpgtools-1.12.0/docs/build/html/input_format.html +0 -363
  387. cpgtools-1.12.0/docs/build/html/installation.html +0 -355
  388. cpgtools-1.12.0/docs/build/html/intro.html +0 -106
  389. cpgtools-1.12.0/docs/build/html/liscense.html +0 -299
  390. cpgtools-1.12.0/docs/build/html/objects.inv +0 -6
  391. cpgtools-1.12.0/docs/build/html/overview.html +0 -428
  392. cpgtools-1.12.0/docs/build/html/reference.html +0 -287
  393. cpgtools-1.12.0/docs/build/html/search.html +0 -293
  394. cpgtools-1.12.0/docs/build/html/searchindex.js +0 -1
  395. cpgtools-1.12.0/docs/build/html/usage_information.html +0 -1774
  396. cpgtools-1.12.0/docs/build/upload.sh +0 -5
  397. cpgtools-1.12.0/docs/make.bat +0 -35
  398. cpgtools-1.12.0/docs/source/.DS_Store +0 -0
  399. cpgtools-1.12.0/docs/source/_static/450_CH.logo.png +0 -0
  400. cpgtools-1.12.0/docs/source/_static/CpG_density.png +0 -0
  401. cpgtools-1.12.0/docs/source/_static/CpGtools_logo.png +0 -0
  402. cpgtools-1.12.0/docs/source/_static/CpGtools_logo2.png +0 -0
  403. cpgtools-1.12.0/docs/source/_static/HCV_vs_normal.PCA.png +0 -0
  404. cpgtools-1.12.0/docs/source/_static/HCV_vs_normal.tSNE.png +0 -0
  405. cpgtools-1.12.0/docs/source/_static/Jitter.png +0 -0
  406. cpgtools-1.12.0/docs/source/_static/M_value_eq.png +0 -0
  407. cpgtools-1.12.0/docs/source/_static/beta_pvalue_corr.png +0 -0
  408. cpgtools-1.12.0/docs/source/_static/beta_pvalue_dist.png +0 -0
  409. cpgtools-1.12.0/docs/source/_static/beta_value_eq.png +0 -0
  410. cpgtools-1.12.0/docs/source/_static/beta_vs_M_curve.png +0 -0
  411. cpgtools-1.12.0/docs/source/_static/chromDist.CpG_perMb.png +0 -0
  412. cpgtools-1.12.0/docs/source/_static/chromDist.CpG_percent.png +0 -0
  413. cpgtools-1.12.0/docs/source/_static/chromDist.CpG_total.png +0 -0
  414. cpgtools-1.12.0/docs/source/_static/cirrHCV_vs_normal.UMAP.png +0 -0
  415. cpgtools-1.12.0/docs/source/_static/custom.css +0 -3
  416. cpgtools-1.12.0/docs/source/_static/geneDist.png +0 -0
  417. cpgtools-1.12.0/docs/source/_static/gene_domain.png +0 -0
  418. cpgtools-1.12.0/docs/source/_static/gene_profile.png +0 -0
  419. cpgtools-1.12.0/docs/source/_static/regionDist.png +0 -0
  420. cpgtools-1.12.0/docs/source/_static/region_profile.png +0 -0
  421. cpgtools-1.12.0/docs/source/_static/stacked_bar.png +0 -0
  422. cpgtools-1.12.0/docs/source/_static/trichotmize.png +0 -0
  423. cpgtools-1.12.0/docs/source/change_log.rst +0 -36
  424. cpgtools-1.12.0/docs/source/compare_diff_tools.rst +0 -38
  425. cpgtools-1.12.0/docs/source/conf.py +0 -272
  426. cpgtools-1.12.0/docs/source/dataset.rst +0 -38
  427. cpgtools-1.12.0/docs/source/demo/CpG_aggregation.rst +0 -80
  428. cpgtools-1.12.0/docs/source/demo/CpG_anno_position.rst +0 -117
  429. cpgtools-1.12.0/docs/source/demo/CpG_anno_probe.rst +0 -151
  430. cpgtools-1.12.0/docs/source/demo/CpG_density_gene_centered.rst +0 -82
  431. cpgtools-1.12.0/docs/source/demo/CpG_distrb_chrom.rst +0 -80
  432. cpgtools-1.12.0/docs/source/demo/CpG_distrb_gene_centered.rst +0 -74
  433. cpgtools-1.12.0/docs/source/demo/CpG_distrb_region.rst +0 -66
  434. cpgtools-1.12.0/docs/source/demo/CpG_logo.rst +0 -74
  435. cpgtools-1.12.0/docs/source/demo/CpG_to_gene.rst +0 -128
  436. cpgtools-1.12.0/docs/source/demo/beta_PCA.rst +0 -85
  437. cpgtools-1.12.0/docs/source/demo/beta_UMAP.rst +0 -95
  438. cpgtools-1.12.0/docs/source/demo/beta_jitter_plot.rst +0 -60
  439. cpgtools-1.12.0/docs/source/demo/beta_m_conversion.rst +0 -51
  440. cpgtools-1.12.0/docs/source/demo/beta_profile_gene_centered.rst +0 -70
  441. cpgtools-1.12.0/docs/source/demo/beta_profile_region.rst +0 -67
  442. cpgtools-1.12.0/docs/source/demo/beta_stacked_barplot.rst +0 -62
  443. cpgtools-1.12.0/docs/source/demo/beta_stats.rst +0 -53
  444. cpgtools-1.12.0/docs/source/demo/beta_tSNE.rst +0 -111
  445. cpgtools-1.12.0/docs/source/demo/beta_topN.rst +0 -48
  446. cpgtools-1.12.0/docs/source/demo/beta_trichotmize.rst +0 -131
  447. cpgtools-1.12.0/docs/source/demo/dmc_Bayes.rst +0 -102
  448. cpgtools-1.12.0/docs/source/demo/dmc_bb.rst +0 -45
  449. cpgtools-1.12.0/docs/source/demo/dmc_fisher.rst +0 -70
  450. cpgtools-1.12.0/docs/source/demo/dmc_glm.rst +0 -53
  451. cpgtools-1.12.0/docs/source/demo/dmc_logit.rst +0 -50
  452. cpgtools-1.12.0/docs/source/demo/dmc_nonparametric.rst +0 -50
  453. cpgtools-1.12.0/docs/source/demo/dmc_ttest.rst +0 -64
  454. cpgtools-1.12.0/docs/source/index.rst +0 -56
  455. cpgtools-1.12.0/docs/source/input_format.rst +0 -83
  456. cpgtools-1.12.0/docs/source/installation.rst +0 -62
  457. cpgtools-1.12.0/docs/source/liscense.rst +0 -13
  458. cpgtools-1.12.0/docs/source/overview.rst +0 -94
  459. cpgtools-1.12.0/docs/source/reference.rst +0 -3
  460. cpgtools-1.12.0/lib/.DS_Store +0 -0
  461. cpgtools-1.12.0/lib/CpGtools.egg-info/PKG-INFO +0 -24
  462. cpgtools-1.12.0/lib/CpGtools.egg-info/SOURCES.txt +0 -463
  463. cpgtools-1.12.0/lib/CpGtools.egg-info/not-zip-safe +0 -1
  464. cpgtools-1.12.0/lib/CpGtools.egg-info/top_level.txt +0 -2
  465. cpgtools-1.12.0/lib/cpgmodule/__init__.pyc +0 -0
  466. cpgtools-1.12.0/lib/cpgmodule/__pycache__/BED.cpython-36.pyc +0 -0
  467. cpgtools-1.12.0/lib/cpgmodule/__pycache__/BED.cpython-37.pyc +0 -0
  468. cpgtools-1.12.0/lib/cpgmodule/__pycache__/BED.cpython-38.pyc +0 -0
  469. cpgtools-1.12.0/lib/cpgmodule/__pycache__/MI.cpython-36.pyc +0 -0
  470. cpgtools-1.12.0/lib/cpgmodule/__pycache__/__init__.cpython-36.pyc +0 -0
  471. cpgtools-1.12.0/lib/cpgmodule/__pycache__/__init__.cpython-37.pyc +0 -0
  472. cpgtools-1.12.0/lib/cpgmodule/__pycache__/__init__.cpython-38.pyc +0 -0
  473. cpgtools-1.12.0/lib/cpgmodule/__pycache__/cgID.cpython-36.pyc +0 -0
  474. cpgtools-1.12.0/lib/cpgmodule/__pycache__/extend_bed.cpython-37.pyc +0 -0
  475. cpgtools-1.12.0/lib/cpgmodule/__pycache__/extend_bed.cpython-38.pyc +0 -0
  476. cpgtools-1.12.0/lib/cpgmodule/__pycache__/imotif.cpython-36.pyc +0 -0
  477. cpgtools-1.12.0/lib/cpgmodule/__pycache__/imotif.cpython-37.pyc +0 -0
  478. cpgtools-1.12.0/lib/cpgmodule/__pycache__/imotif.cpython-38.pyc +0 -0
  479. cpgtools-1.12.0/lib/cpgmodule/__pycache__/ireader.cpython-36.pyc +0 -0
  480. cpgtools-1.12.0/lib/cpgmodule/__pycache__/ireader.cpython-37.pyc +0 -0
  481. cpgtools-1.12.0/lib/cpgmodule/__pycache__/ireader.cpython-38.pyc +0 -0
  482. cpgtools-1.12.0/lib/cpgmodule/__pycache__/padjust.cpython-36.pyc +0 -0
  483. cpgtools-1.12.0/lib/cpgmodule/__pycache__/padjust.cpython-37.pyc +0 -0
  484. cpgtools-1.12.0/lib/cpgmodule/__pycache__/padjust.cpython-38.pyc +0 -0
  485. cpgtools-1.12.0/lib/cpgmodule/__pycache__/region2gene.cpython-36.pyc +0 -0
  486. cpgtools-1.12.0/lib/cpgmodule/__pycache__/region2gene.cpython-37.pyc +0 -0
  487. cpgtools-1.12.0/lib/cpgmodule/__pycache__/utils.cpython-36.pyc +0 -0
  488. cpgtools-1.12.0/lib/cpgmodule/__pycache__/utils.cpython-37.pyc +0 -0
  489. cpgtools-1.12.0/lib/cpgmodule/__pycache__/utils.cpython-38.pyc +0 -0
  490. cpgtools-1.12.0/lib/cpgmodule/a +0 -82941
  491. cpgtools-1.12.0/lib/cpgmodule/ireader.pyc +0 -0
  492. cpgtools-1.12.0/lib/cpgmodule/utils.pyc +0 -0
  493. cpgtools-1.12.0/setup.py +0 -46
  494. {cpgtools-1.12.0 → cpgtools-2.0.2}/distribute_setup.py +0 -0
  495. {cpgtools-1.12.0 → cpgtools-2.0.2}/setup.cfg +0 -0
  496. {cpgtools-1.12.0/lib → cpgtools-2.0.2/src}/cpgmodule/BED.py +0 -0
  497. {cpgtools-1.12.0/lib → cpgtools-2.0.2/src}/cpgmodule/MI.py +0 -0
  498. {cpgtools-1.12.0/lib → cpgtools-2.0.2/src}/cpgmodule/__init__.py +0 -0
  499. {cpgtools-1.12.0/lib → cpgtools-2.0.2/src}/cpgmodule/cgID.py +0 -0
  500. {cpgtools-1.12.0/lib → cpgtools-2.0.2/src}/cpgmodule/extend_bed.py +0 -0
  501. {cpgtools-1.12.0/lib → cpgtools-2.0.2/src}/cpgmodule/imotif.py +0 -0
  502. {cpgtools-1.12.0/lib → cpgtools-2.0.2/src}/cpgmodule/ireader.py +0 -0
  503. {cpgtools-1.12.0/lib → cpgtools-2.0.2/src}/cpgmodule/padjust.py +0 -0
  504. {cpgtools-1.12.0/lib → cpgtools-2.0.2/src}/cpgmodule/region2gene.py +0 -0
  505. {cpgtools-1.12.0/lib/CpGtools.egg-info → cpgtools-2.0.2/src/cpgtools.egg-info}/dependency_links.txt +0 -0
cpgtools-2.0.2/LICENSE ADDED
@@ -0,0 +1,19 @@
1
+ Copyright (c) 2024 The Python Packaging Authority
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ of this software and associated documentation files (the "Software"), to deal
5
+ in the Software without restriction, including without limitation the rights
6
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ copies of the Software, and to permit persons to whom the Software is
8
+ furnished to do so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in all
11
+ copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19
+ SOFTWARE.
@@ -1,10 +1,11 @@
1
1
  include MANIFEST.in
2
2
  include README.md
3
3
  include PKG-INFO
4
- include LICENSE.txt
4
+ include LICENSE
5
5
 
6
6
  include distribute_setup.py
7
7
  recursive-include lib *.pyx
8
8
  recursive-include lib *.py
9
+ recursive-include lib *.pkl
9
10
  recursive-include bin *
10
11
  recursive-include doc *
@@ -0,0 +1,76 @@
1
+ Metadata-Version: 2.1
2
+ Name: cpgtools
3
+ Version: 2.0.2
4
+ Summary: Tools to analyze and visualize DNA methylation data
5
+ Author-email: Liguo Wang <wangliguo78@gmail.com>
6
+ Maintainer-email: Liguo Wang <wangliguo78@gmail.com>
7
+ License: Copyright (c) 2024 The Python Packaging Authority
8
+
9
+ Permission is hereby granted, free of charge, to any person obtaining a copy
10
+ of this software and associated documentation files (the "Software"), to deal
11
+ in the Software without restriction, including without limitation the rights
12
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13
+ copies of the Software, and to permit persons to whom the Software is
14
+ furnished to do so, subject to the following conditions:
15
+
16
+ The above copyright notice and this permission notice shall be included in all
17
+ copies or substantial portions of the Software.
18
+
19
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
25
+ SOFTWARE.
26
+
27
+ Project-URL: Documentation, https://cpgtools.readthedocs.io/en/latest/index.html
28
+ Project-URL: Repository, https://github.com/liguowang/cpgtools.git
29
+ Keywords: DNA methylation,EPIC,450K,850K,935K,RRBS,WGBS
30
+ Classifier: Programming Language :: Python :: 3
31
+ Classifier: Development Status :: 4 - Beta
32
+ Classifier: License :: OSI Approved :: MIT License
33
+ Classifier: Environment :: Console
34
+ Classifier: Intended Audience :: Science/Research
35
+ Classifier: Operating System :: MacOS :: MacOS X
36
+ Classifier: Operating System :: POSIX
37
+ Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
38
+ Requires-Python: >=3.5
39
+ Description-Content-Type: text/markdown
40
+ License-File: LICENSE
41
+ Requires-Dist: numpy
42
+ Requires-Dist: scipy
43
+ Requires-Dist: scikit-learn
44
+ Requires-Dist: weblogo
45
+ Requires-Dist: bx-python
46
+ Requires-Dist: pandas
47
+ Requires-Dist: umap-learn
48
+ Requires-Dist: fancyimpute
49
+
50
+ ## Install CpGtools using [pip](https://pip.pypa.io/en/stable/)
51
+
52
+ 1. (Optional) Create Virtual Environments (Note: `venv` is available in Python 3.3 and later. You can also use [virtualenv](https://packaging.python.org/en/latest/key_projects/#virtualenv))
53
+
54
+ `$ python3 -m venv my_env` (will create a directory called my_env)
55
+
56
+ `$ source my_env/bin/activate`
57
+
58
+ 2. Install CpGtools
59
+
60
+ `$ pip install cpgtools`
61
+
62
+ or
63
+
64
+ `$ pip install git+https://github.com/liguowang/cpgtools.git`
65
+
66
+ 3. Upgrade
67
+
68
+ `$ pip install cpgtools --upgrade`
69
+
70
+ 4. Uninstall
71
+
72
+ `pip -y uninstall cpgtools`
73
+
74
+ ## Documentation
75
+
76
+ https://cpgtools.readthedocs.io/en/latest/
@@ -0,0 +1,27 @@
1
+ ## Install CpGtools using [pip](https://pip.pypa.io/en/stable/)
2
+
3
+ 1. (Optional) Create Virtual Environments (Note: `venv` is available in Python 3.3 and later. You can also use [virtualenv](https://packaging.python.org/en/latest/key_projects/#virtualenv))
4
+
5
+ `$ python3 -m venv my_env` (will create a directory called my_env)
6
+
7
+ `$ source my_env/bin/activate`
8
+
9
+ 2. Install CpGtools
10
+
11
+ `$ pip install cpgtools`
12
+
13
+ or
14
+
15
+ `$ pip install git+https://github.com/liguowang/cpgtools.git`
16
+
17
+ 3. Upgrade
18
+
19
+ `$ pip install cpgtools --upgrade`
20
+
21
+ 4. Uninstall
22
+
23
+ `pip -y uninstall cpgtools`
24
+
25
+ ## Documentation
26
+
27
+ https://cpgtools.readthedocs.io/en/latest/
@@ -0,0 +1,48 @@
1
+ #Declaring the build backend
2
+ [build-system]
3
+ requires = ["setuptools"]
4
+ build-backend = "setuptools.build_meta"
5
+
6
+ #Project's meta data
7
+ [project]
8
+ version = "2.0.2"
9
+ name = "cpgtools"
10
+ authors = [
11
+ {name="Liguo Wang", email="wangliguo78@gmail.com"},
12
+ ]
13
+ maintainers = [
14
+ {name = "Liguo Wang", email = "wangliguo78@gmail.com"}
15
+ ]
16
+ description = "Tools to analyze and visualize DNA methylation data"
17
+ readme = "README.md"
18
+ license = {file = "LICENSE"}
19
+ requires-python = ">=3.5"
20
+
21
+ dependencies = [
22
+ "numpy",
23
+ "scipy",
24
+ "scikit-learn",
25
+ "weblogo",
26
+ "bx-python",
27
+ "pandas",
28
+ "umap-learn",
29
+ "fancyimpute",
30
+ ]
31
+
32
+ classifiers=[
33
+ "Programming Language :: Python :: 3",
34
+ 'Development Status :: 4 - Beta',
35
+ "License :: OSI Approved :: MIT License",
36
+ 'Environment :: Console',
37
+ 'Intended Audience :: Science/Research',
38
+ 'Operating System :: MacOS :: MacOS X',
39
+ 'Operating System :: POSIX',
40
+ 'Topic :: Scientific/Engineering :: Bio-Informatics',
41
+ ]
42
+
43
+ keywords = ["DNA methylation", "EPIC", "450K", "850K", "935K", "RRBS", "WGBS"]
44
+
45
+ [project.urls]
46
+ Documentation = "https://cpgtools.readthedocs.io/en/latest/index.html"
47
+ Repository = "https://github.com/liguowang/cpgtools.git"
48
+
@@ -34,6 +34,7 @@ import numpy as np
34
34
  from scipy.stats import binom
35
35
 
36
36
  from optparse import OptionParser
37
+ from cpgmodule._version import __version__
37
38
  from cpgmodule import ireader
38
39
  from cpgmodule.utils import *
39
40
  from cpgmodule import BED
@@ -44,7 +45,6 @@ __author__ = "Liguo Wang"
44
45
  __copyright__ = "Copyleft"
45
46
  __credits__ = []
46
47
  __license__ = "GPL"
47
- __version__="1.12.0"
48
48
  __maintainer__ = "Liguo Wang"
49
49
  __email__ = "wang.liguo@mayo.edu"
50
50
  __status__ = "Development"
@@ -18,6 +18,7 @@ import subprocess
18
18
  import numpy as np
19
19
  from os.path import basename
20
20
  from optparse import OptionParser
21
+ from cpgmodule._version import __version__
21
22
  from cpgmodule import ireader
22
23
  from cpgmodule.utils import *
23
24
  from cpgmodule import BED
@@ -28,7 +29,6 @@ __author__ = "Liguo Wang"
28
29
  __copyright__ = "Copyleft"
29
30
  __credits__ = []
30
31
  __license__ = "GPL"
31
- __version__="0.1.9"
32
32
  __maintainer__ = "Liguo Wang"
33
33
  __email__ = "wang.liguo@mayo.edu"
34
34
  __status__ = "Development"
@@ -10,13 +10,12 @@ import sys,os
10
10
  from optparse import OptionParser
11
11
  from cpgmodule import ireader
12
12
  from cpgmodule.utils import *
13
-
13
+ from cpgmodule._version import __version__
14
14
 
15
15
  __author__ = "Liguo Wang"
16
16
  __copyright__ = "Copyleft"
17
17
  __credits__ = []
18
18
  __license__ = "GPL"
19
- __version__="1.12.0"
20
19
  __maintainer__ = "Liguo Wang"
21
20
  __email__ = "wang.liguo@mayo.edu"
22
21
  __status__ = "Development"
@@ -76,8 +75,11 @@ def main():
76
75
  for l in ireader.reader(options.input_file):
77
76
  line_num += 1
78
77
  f = l.split()
79
- if (line_num == 1 and options.header):
80
- print (l + '\t' + '\t'.join(header), file=OUT)
78
+ if line_num == 1:
79
+ if options.header:
80
+ print (l + '\t' + '\t'.join(header), file=OUT)
81
+ else:
82
+ print ('\t'.join(['NA']*len(f)) + '\t' + '\t'.join(header), file=OUT)
81
83
  else:
82
84
  if options.probe_col >= len(f):
83
85
  print ("Error: column ID must be smaller than %d!" % len(f), file=sys.stderr)
@@ -19,12 +19,12 @@ from cpgmodule import ireader
19
19
  from cpgmodule.utils import *
20
20
  from cpgmodule import BED
21
21
  from cpgmodule import extend_bed
22
+ from cpgmodule._version import __version__
22
23
 
23
24
  __author__ = "Liguo Wang"
24
25
  __copyright__ = "Copyleft"
25
26
  __credits__ = []
26
27
  __license__ = "GPL"
27
- __version__="1.12.0"
28
28
  __maintainer__ = "Liguo Wang"
29
29
  __email__ = "wang.liguo@mayo.edu"
30
30
  __status__ = "Development"
@@ -14,12 +14,12 @@ import numpy as np
14
14
  from optparse import OptionParser
15
15
  from cpgmodule import ireader
16
16
  from cpgmodule.utils import *
17
+ from cpgmodule._version import __version__
17
18
 
18
19
  __author__ = "Liguo Wang"
19
20
  __copyright__ = "Copyleft"
20
21
  __credits__ = []
21
22
  __license__ = "GPL"
22
- __version__="1.12.0"
23
23
  __maintainer__ = "Liguo Wang"
24
24
  __email__ = "wang.liguo@mayo.edu"
25
25
  __status__ = "Development"
@@ -34,12 +34,12 @@ from optparse import OptionParser
34
34
  from cpgmodule import ireader
35
35
  from cpgmodule.utils import *
36
36
  from cpgmodule import BED
37
+ from cpgmodule._version import __version__
37
38
 
38
39
  __author__ = "Liguo Wang"
39
40
  __copyright__ = "Copyleft"
40
41
  __credits__ = []
41
42
  __license__ = "GPL"
42
- __version__="1.12.0"
43
43
  __maintainer__ = "Liguo Wang"
44
44
  __email__ = "wang.liguo@mayo.edu"
45
45
  __status__ = "Development"
@@ -23,18 +23,16 @@ import sys,os
23
23
  import collections
24
24
  import subprocess
25
25
  import numpy as np
26
- #import re
27
26
  from optparse import OptionParser
28
27
  from cpgmodule import ireader
29
28
  from cpgmodule.utils import *
30
29
  from cpgmodule import BED
31
-
30
+ from cpgmodule._version import __version__
32
31
 
33
32
  __author__ = "Liguo Wang"
34
33
  __copyright__ = "Copyleft"
35
34
  __credits__ = []
36
35
  __license__ = "GPL"
37
- __version__="1.12.0"
38
36
  __maintainer__ = "Liguo Wang"
39
37
  __email__ = "wang.liguo@mayo.edu"
40
38
  __status__ = "Development"
@@ -17,12 +17,12 @@ from cpgmodule import ireader
17
17
  from cpgmodule.utils import *
18
18
  from cpgmodule import BED
19
19
  from cpgmodule.imotif import PSSM
20
+ from cpgmodule._version import __version__
20
21
 
21
22
  __author__ = "Liguo Wang"
22
23
  __copyright__ = "Copyleft"
23
24
  __credits__ = []
24
25
  __license__ = "GPL"
25
- __version__="1.12.0"
26
26
  __maintainer__ = "Liguo Wang"
27
27
  __email__ = "wang.liguo@mayo.edu"
28
28
  __status__ = "Development"
@@ -34,12 +34,12 @@ from optparse import OptionParser
34
34
  from cpgmodule import ireader
35
35
  from cpgmodule.utils import *
36
36
  from cpgmodule.region2gene import *
37
+ from cpgmodule._version import __version__
37
38
 
38
39
  __author__ = "Liguo Wang"
39
40
  __copyright__ = "Copyleft"
40
41
  __credits__ = []
41
42
  __license__ = "GPL"
42
- __version__="1.12.0"
43
43
  __maintainer__ = "Liguo Wang"
44
44
  __email__ = "wang.liguo@mayo.edu"
45
45
  __status__ = "Development"
@@ -32,6 +32,7 @@ import sys
32
32
  import subprocess
33
33
  from optparse import OptionParser
34
34
  from cpgmodule.utils import *
35
+ from cpgmodule._version import __version__
35
36
  import pandas as pd
36
37
  from sklearn.preprocessing import StandardScaler
37
38
  from sklearn.decomposition import PCA
@@ -40,15 +41,15 @@ __author__ = "Liguo Wang"
40
41
  __copyright__ = "Copyleft"
41
42
  __credits__ = []
42
43
  __license__ = "GPL"
43
- __version__="1.12.0"
44
44
  __maintainer__ = "Liguo Wang"
45
45
  __email__ = "wang.liguo@mayo.edu"
46
46
  __status__ = "Development"
47
47
 
48
48
  def pick_colors(n):
49
- my_colors = ['#e6194B', '#3cb44b', '#4363d8', '#f58231', '#911eb4', '#42d4f4', '#f032e6', '#bfef45', '#fabebe', '#469990', '#e6beff', '#9A6324', '#fffac8', '#800000', '#aaffc3', '#808000', '#ffd8b1', '#000075', '#a9a9a9','#ffe119']
49
+ my_colors = [
50
+ "#F0A3FF", "#0075DC", "#993F00", "#4C005C", "#191919", "#005C31", "#2BCE48", "#FFCC99", "#808080", "#94FFB5", "#8F7C00", "#9DCC00", "#C20088", "#003380", "#FFA405", "#FFA8BB", "#426600", "#FF0010", "#5EF1F2", "#00998F", "#E0FF66", "#740AFF", "#990000", "#FFFF80", "#FFE100", "#FF5005"]
50
51
  if n > len(my_colors):
51
- print ("Only support 21 different colors", file = sys.stderr)
52
+ print ("Only support 26 different colors", file = sys.stderr)
52
53
  sys.exit()
53
54
  return my_colors[0:n]
54
55
 
@@ -86,27 +87,30 @@ def main():
86
87
  df1 = pd.read_csv(options.input_file, index_col = 0, sep="\t")
87
88
 
88
89
  #remove NA and transpose
89
- df2 = df1.dropna(axis=0, how='any')
90
- printlog("%d rows with missing values were removed." % (len(df1) - len(df2)))
91
- #print (df2.head())
92
-
93
- printlog("Transposing data frame ...")
94
- df2 = df2.T
95
- #print (df2.head())
96
-
97
- printlog("Standarizing values ...")
98
- x = df2.values
99
- x = StandardScaler().fit_transform(x)
100
-
90
+ df2 = df1.dropna(axis=0, how='any').T
91
+ printlog("%d rows with missing values were removed." % (len(df1.index) - len(df2.columns)))
92
+
101
93
  printlog("Reading group file: \"%s\" ..." % (options.group_file))
102
94
  group = pd.read_csv(options.group_file, index_col=0, header=0,names=['Sample_ID', 'Group_ID'])
103
- group.index = group.index.map(str)
104
-
105
95
  #check if sample IDs are unique
106
96
  if len(group.index) != len(group.index.unique()):
107
97
  print ("Sample IDs are not unique", file = sys.stderr)
108
98
  sys.exit()
99
+ group.index = group.index.map(str)
100
+ printlog("Group file \"%s\" contains %d samples" % (options.group_file, len(group.index)))
101
+
102
+ printlog("Find common sample IDs between group file and data file ...")
103
+ common_samples = list(set(group.index) & set(df2.index))
104
+ used_df = df2.loc[common_samples]
105
+ (usable_sample, usable_cpg) = used_df.shape
106
+ printlog("Used CpGs: %d, Used samples: %d" % (usable_cpg, usable_sample))
107
+
109
108
 
109
+ printlog("Standarizing values ...")
110
+ x = used_df.to_numpy()
111
+ x = StandardScaler().fit_transform(x)
112
+
113
+
110
114
  group_names = group['Group_ID'].unique().tolist() # a list of unique group names
111
115
  color_names = pick_colors(len(group_names)) # a list of unique colors
112
116
  group_to_col = dict(zip(group_names, color_names))
@@ -116,9 +120,9 @@ def main():
116
120
  pca = PCA(n_components = options.n_components, random_state = 0)
117
121
  principalComponents = pca.fit_transform(x)
118
122
  pca_names = [str(i)+str(j) for i,j in zip(['PC']*options.n_components,range(1,options.n_components+1))]
119
- principalDf = pd.DataFrame(data = principalComponents, columns = pca_names, index = df2.index)
123
+ principalDf = pd.DataFrame(data = principalComponents, columns = pca_names, index = used_df.index)
120
124
 
121
- finalDf = pd.concat([principalDf, group], axis = 1, sort=False)
125
+ finalDf = pd.concat([principalDf, group], axis = 1, sort=False, join='inner')
122
126
  finalDf.index.name = 'Sample_ID'
123
127
 
124
128
  printlog("Writing PCA results to file: \"%s\" ..." % (options.out_file + '.PCA.tsv'))
@@ -133,18 +137,22 @@ def main():
133
137
 
134
138
  print ('pdf(file=\"%s\", width=8, height=8)' % (options.out_file + '.PCA.pdf'),file=ROUT)
135
139
  print ('')
136
- print ('d = read.table(file=\"%s\", sep="\\t", header=TRUE, comment.char = "", stringsAsFactors=FALSE)' % (options.out_file + '.PCA.tsv'), file=ROUT)
140
+ print ('d = read.table(file=\"%s\", sep="\\t", header=TRUE, comment.char = "", stringsAsFactors=FALSE)'
141
+ % (options.out_file + '.PCA.tsv'), file=ROUT)
137
142
  print ('attach(d)', file=ROUT)
138
143
  if options.plot_alpha:
139
144
  print ('library(scales)', file=ROUT)
140
- print ('plot(PC1, PC2, col = alpha(Colors, %f), pch=%d, cex=1.5, main="PCA 2D map")' % (options.plot_alpha, pch[options.plot_char]), file=ROUT)
145
+ print ('plot(PC1, PC2, col = alpha(Colors, %f), pch=%d, cex=1.5, main="PCA 2D map", xlab="PC1 (var. explained: %.2f%%)", ylab="PC2 (var. explained: %.2f%%)")'
146
+ % (options.plot_alpha, pch[options.plot_char], pca_vars[0]*100, pca_vars[1]*100), file=ROUT)
141
147
  else:
142
- print ('plot(PC1, PC2, col = Colors, pch=%d, cex=1.2, main="PCA 2D map")' % pch[options.plot_char], file=ROUT)
148
+ print ('plot(PC1, PC2, col = Colors, pch=%d, cex=1.2, main="PCA 2D map", xlab="PC1 (var. explained: %.2f%%)", ylab="PC2 (var. explained: %.2f%%)")'
149
+ % (pca_vars[0]*100, pca_vars[1]*100, pch[options.plot_char], pca_vars[0]*100, pca_vars[1]*100), file=ROUT)
143
150
 
144
151
  if options.text_label:
145
152
  print ('text(PC1, PC2, labels=Sample_ID, col = Colors, cex=0.5, pos=1)', file=ROUT)
146
153
 
147
- print ('legend("%s", legend=c(%s), col=c(%s), pch=%d,cex=1)' % (legend_pos[options.legend_location], ','.join(['"' + str(i) + '"' for i in group_names]), ','.join(['"' + str(group_to_col[i]) + '"' for i in group_names]), pch[options.plot_char]), file=ROUT)
154
+ print ('legend("%s", legend=c(%s), col=c(%s), pch=%d,cex=1)'
155
+ % (legend_pos[options.legend_location], ','.join(['"' + str(i) + '"' for i in group_names]), ','.join(['"' + str(group_to_col[i]) + '"' for i in group_names]), pch[options.plot_char]), file=ROUT)
148
156
 
149
157
 
150
158
  print ('dev.off()', file=ROUT)
@@ -32,6 +32,7 @@ import pandas as pd
32
32
  import subprocess
33
33
  from optparse import OptionParser
34
34
  from cpgmodule.utils import *
35
+ from cpgmodule._version import __version__
35
36
  from sklearn.preprocessing import StandardScaler
36
37
  #import datatable as dt
37
38
  #import seaborn as sns
@@ -41,15 +42,15 @@ __author__ = "Liguo Wang"
41
42
  __copyright__ = "Copyleft"
42
43
  __credits__ = []
43
44
  __license__ = "GPL"
44
- __version__="1.12.0"
45
45
  __maintainer__ = "Liguo Wang"
46
46
  __email__ = "wang.liguo@mayo.edu"
47
47
  __status__ = "Development"
48
48
 
49
49
  def pick_colors(n):
50
- my_colors = ['#e6194B', '#3cb44b', '#4363d8', '#f58231', '#911eb4', '#42d4f4', '#f032e6', '#bfef45', '#fabebe', '#469990', '#e6beff', '#9A6324', '#fffac8', '#800000', '#aaffc3', '#808000', '#ffd8b1', '#000075', '#a9a9a9','#ffe119']
50
+ my_colors = [
51
+ "#F0A3FF", "#0075DC", "#993F00", "#4C005C", "#191919", "#005C31", "#2BCE48", "#FFCC99", "#808080", "#94FFB5", "#8F7C00", "#9DCC00", "#C20088", "#003380", "#FFA405", "#FFA8BB", "#426600", "#FF0010", "#5EF1F2", "#00998F", "#E0FF66", "#740AFF", "#990000", "#FFFF80", "#FFE100", "#FF5005"]
51
52
  if n > len(my_colors):
52
- print ("Only support 21 different colors", file = sys.stderr)
53
+ print ("Only support 26 different colors", file = sys.stderr)
53
54
  sys.exit()
54
55
  return my_colors[0:n]
55
56
 
@@ -99,26 +100,28 @@ def main():
99
100
  df1 = pd.read_csv(options.input_file, index_col = 0, sep="\t")
100
101
 
101
102
  #remove NA and transpose
102
- df2 = df1.dropna(axis=0, how='any')
103
- printlog("%d rows with missing values were removed." % (len(df1) - len(df2)))
104
- #print (df2.head())
105
-
106
- printlog("Transposing data frame ...")
107
- df2 = df2.T
108
- #print (df2.head())
109
-
110
- printlog("Standarizing values ...")
111
- x = df2.values
112
- x = StandardScaler().fit_transform(x)
103
+ df2 = df1.dropna(axis=0, how='any').T
104
+ printlog("%d rows with missing values were removed." % (len(df1.index) - len(df2.columns)))
113
105
 
114
106
  printlog("Reading group file: \"%s\" ..." % (options.group_file))
115
107
  group = pd.read_csv(options.group_file, index_col=0, header=0,names=['Sample_ID', 'Group_ID'])
116
- group.index = group.index.map(str)
117
-
118
108
  #check if sample IDs are unique
119
109
  if len(group.index) != len(group.index.unique()):
120
110
  print ("Sample IDs are not unique", file = sys.stderr)
121
111
  sys.exit()
112
+ group.index = group.index.map(str)
113
+ printlog("Group file \"%s\" contains %d samples" % (options.group_file, len(group.index)))
114
+
115
+ printlog("Find common sample IDs between group file and data file ...")
116
+ common_samples = list(set(group.index) & set(df2.index))
117
+ used_df = df2.loc[common_samples]
118
+ (usable_sample, usable_cpg) = used_df.shape
119
+ printlog("Used CpGs: %d, Used samples: %d" % (usable_cpg, usable_sample))
120
+
121
+ printlog("Standarizing values ...")
122
+ x = used_df.to_numpy()
123
+ x = StandardScaler().fit_transform(x)
124
+
122
125
 
123
126
  group_names = group['Group_ID'].unique().tolist() # a list of unique group names
124
127
  color_names = pick_colors(len(group_names)) # a list of unique colors
@@ -133,9 +136,9 @@ def main():
133
136
  #pca = PCA(n_components = options.n_components, random_state = 0)
134
137
  #principalComponents = pca.fit_transform(x)
135
138
  pca_names = [str(i)+str(j) for i,j in zip(['UMAP']*options.n_components,range(1,options.n_components+1))]
136
- principalDf = pd.DataFrame(data = principalComponents, columns = pca_names, index = df2.index)
139
+ principalDf = pd.DataFrame(data = principalComponents, columns = pca_names, index = used_df.index)
137
140
 
138
- finalDf = pd.concat([principalDf, group], axis = 1, sort=False)
141
+ finalDf = pd.concat([principalDf, group], axis = 1, sort=False, join='inner')
139
142
  finalDf.index.name = 'Sample_ID'
140
143
 
141
144
  printlog("Writing UMAP results to file: \"%s\" ..." % (options.out_file + '.UMAP.tsv'))
@@ -146,18 +149,22 @@ def main():
146
149
 
147
150
  print ('pdf(file=\"%s\", width=8, height=8)' % (options.out_file + '.UMAP.pdf'),file=ROUT)
148
151
  print ('')
149
- print ('d = read.table(file=\"%s\", sep="\\t", header=TRUE, comment.char = "", stringsAsFactors=FALSE)' % (options.out_file + '.UMAP.tsv'), file=ROUT)
152
+ print ('d = read.table(file=\"%s\", sep="\\t", header=TRUE, comment.char = "", stringsAsFactors=FALSE)'
153
+ % (options.out_file + '.UMAP.tsv'), file=ROUT)
150
154
  print ('attach(d)', file=ROUT)
151
155
  if options.plot_alpha:
152
156
  print ('library(scales)', file=ROUT)
153
- print ('plot(UMAP1, UMAP2, col = alpha(Colors, %f), pch=%d, cex=1.5, main="UMAP 2D map", xlab="UMAP_1", ylab="UMAP_2")' % (options.plot_alpha, pch[options.plot_char]), file=ROUT)
157
+ print ('plot(UMAP1, UMAP2, col = alpha(Colors, %f), pch=%d, cex=1.5, main="UMAP 2D map", xlab="UMAP_1", ylab="UMAP_2")'
158
+ % (options.plot_alpha, pch[options.plot_char]), file=ROUT)
154
159
  else:
155
- print ('plot(UMAP1, UMAP2, col = Colors, pch=%d, cex=1.2, main="UMAP 2D map", xlab="UMAP_1", ylab="UMAP_2")' % pch[options.plot_char], file=ROUT)
160
+ print ('plot(UMAP1, UMAP2, col = Colors, pch=%d, cex=1.2, main="UMAP 2D map", xlab="UMAP_1", ylab="UMAP_2")'
161
+ % pch[options.plot_char], file=ROUT)
156
162
 
157
163
  if options.text_label:
158
164
  print ('text(UMAP1, UMAP2, labels=Sample_ID, col = Colors, cex=0.5, pos=1)', file=ROUT)
159
165
 
160
- print ('legend("%s", legend=c(%s), col=c(%s), pch=%d,cex=1)' % (legend_pos[options.legend_location], ','.join(['"' + str(i) + '"' for i in group_names]), ','.join(['"' + str(group_to_col[i]) + '"' for i in group_names]), pch[options.plot_char]), file=ROUT)
166
+ print ('legend("%s", legend=c(%s), col=c(%s), pch=%d,cex=1)'
167
+ % (legend_pos[options.legend_location], ','.join(['"' + str(i) + '"' for i in group_names]), ','.join(['"' + str(group_to_col[i]) + '"' for i in group_names]), pch[options.plot_char]), file=ROUT)
161
168
 
162
169
 
163
170
  print ('dev.off()', file=ROUT)