bonesistools 1.2.7__tar.gz → 1.2.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.
Files changed (202) hide show
  1. {bonesistools-1.2.7 → bonesistools-1.2.8}/.gitignore +7 -0
  2. bonesistools-1.2.8/PKG-INFO +246 -0
  3. {bonesistools-1.2.7 → bonesistools-1.2.8}/README.md +20 -24
  4. {bonesistools-1.2.7 → bonesistools-1.2.8}/pyproject.toml +30 -14
  5. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/__init__.py +0 -26
  6. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/boolpy/boolean_algebra/__init__.py +17 -2
  7. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/boolpy/boolean_algebra/_algebra.py +26 -123
  8. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/boolpy/boolean_algebra/_boolean.py +161 -74
  9. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/boolpy/boolean_algebra/_hypercube.py +11 -10
  10. bonesistools-1.2.8/src/bonesistools/boolpy/boolean_algebra/_kleene.py +427 -0
  11. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/boolpy/boolean_algebra/_typing.py +33 -0
  12. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/boolpy/influence_graph/_distances.py +13 -18
  13. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/boolpy/influence_graph/_influence_graph.py +107 -36
  14. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/boolpy/influence_graph/_scoring.py +47 -15
  15. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/databases/hcop/_orthologs.py +16 -2
  16. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/databases/ncbi/_genesyn.py +184 -109
  17. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/databases/ncbi/_typing.py +1 -3
  18. bonesistools-1.2.8/src/bonesistools/databases/ncbi/data/gi/escherichia_coli_gene_info.tsv.gz +0 -0
  19. bonesistools-1.2.8/src/bonesistools/databases/ncbi/data/gi/homo_sapiens_gene_info.tsv.gz +0 -0
  20. bonesistools-1.2.8/src/bonesistools/databases/ncbi/data/gi/mus_musculus_gene_info.tsv.gz +0 -0
  21. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/databases/omnipath/_archive.py +10 -0
  22. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/databases/omnipath/_dorothea.py +3 -12
  23. bonesistools-1.2.8/src/bonesistools/sctools/datasets/__init__.py +53 -0
  24. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/sctools/datasets/_geo.py +7 -6
  25. bonesistools-1.2.8/src/bonesistools/sctools/datasets/_metadata.py +21 -0
  26. bonesistools-1.2.8/src/bonesistools/sctools/datasets/_nestorowa.py +236 -0
  27. bonesistools-1.2.8/src/bonesistools/sctools/datasets/_pbmc3k.py +136 -0
  28. bonesistools-1.2.8/src/bonesistools/sctools/datasets/_registry.py +171 -0
  29. bonesistools-1.2.8/src/bonesistools/sctools/datasets/datasets.json +26 -0
  30. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/sctools/plotting/__init__.py +2 -0
  31. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/sctools/plotting/_barplot.py +31 -26
  32. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/sctools/plotting/_colors.py +71 -7
  33. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/sctools/plotting/_density.py +67 -62
  34. bonesistools-1.2.8/src/bonesistools/sctools/plotting/_distribution.py +1468 -0
  35. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/sctools/plotting/_figure.py +1 -0
  36. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/sctools/plotting/_graph.py +61 -34
  37. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/sctools/plotting/_scatterplot.py +89 -82
  38. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/sctools/plotting/_utils.py +91 -56
  39. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/sctools/preprocessing/__init__.py +10 -2
  40. {bonesistools-1.2.7/src/bonesistools/sctools/tools → bonesistools-1.2.8/src/bonesistools/sctools/preprocessing}/_classification.py +71 -19
  41. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/sctools/preprocessing/_hvg.py +188 -34
  42. bonesistools-1.2.8/src/bonesistools/sctools/preprocessing/_qc.py +670 -0
  43. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/sctools/tools/__init__.py +0 -4
  44. bonesistools-1.2.8/src/bonesistools/sctools/tools/_classification.py +167 -0
  45. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/sctools/tools/_write.py +0 -60
  46. bonesistools-1.2.8/tests/.placeholder +0 -0
  47. bonesistools-1.2.8/tests/__init__.py +1 -0
  48. bonesistools-1.2.8/tests/golden/LICENSE.txt +13 -0
  49. bonesistools-1.2.8/tests/golden/README.md +101 -0
  50. bonesistools-1.2.8/tests/golden/__init__.py +5 -0
  51. bonesistools-1.2.8/tests/golden/_workflow.py +249 -0
  52. bonesistools-1.2.8/tests/golden/conftest.py +17 -0
  53. bonesistools-1.2.8/tests/golden/expected/hvg_loess.npz +0 -0
  54. bonesistools-1.2.8/tests/golden/expected/neighbors.npz +0 -0
  55. bonesistools-1.2.8/tests/golden/expected/pca.npz +0 -0
  56. bonesistools-1.2.8/tests/golden/expected/qc.npz +0 -0
  57. bonesistools-1.2.8/tests/golden/generate_expected.py +21 -0
  58. bonesistools-1.2.8/tests/golden/pbmc3k.h5ad +0 -0
  59. bonesistools-1.2.8/tests/golden/test_golden_workflow.py +77 -0
  60. bonesistools-1.2.8/tests/golden/test_pbmc3k.py +35 -0
  61. bonesistools-1.2.8/tests/regression/__init__.py +1 -0
  62. {bonesistools-1.2.7/tests → bonesistools-1.2.8/tests/regression}/bpy/test_boolean_algebra.py +56 -21
  63. {bonesistools-1.2.7/tests → bonesistools-1.2.8/tests/regression}/bpy/test_partial_boolean.py +46 -5
  64. {bonesistools-1.2.7/tests → bonesistools-1.2.8/tests/regression}/dbs/test_hcop.py +210 -0
  65. {bonesistools-1.2.7/tests → bonesistools-1.2.8/tests/regression}/dbs/test_ncbi.py +79 -2
  66. {bonesistools-1.2.7/tests → bonesistools-1.2.8/tests/regression}/dbs/test_omnipath.py +2 -2
  67. bonesistools-1.2.8/tests/regression/sct/__init__.py +1 -0
  68. {bonesistools-1.2.7/tests → bonesistools-1.2.8/tests/regression}/sct/conftest.py +29 -1
  69. bonesistools-1.2.8/tests/regression/sct/datasets/test_nestorowa.py +245 -0
  70. bonesistools-1.2.8/tests/regression/sct/datasets/test_registry.py +203 -0
  71. {bonesistools-1.2.7/tests → bonesistools-1.2.8/tests/regression}/sct/plotting/test_barplot.py +9 -33
  72. {bonesistools-1.2.7/tests → bonesistools-1.2.8/tests/regression}/sct/plotting/test_colors.py +18 -4
  73. {bonesistools-1.2.7/tests → bonesistools-1.2.8/tests/regression}/sct/plotting/test_density.py +17 -39
  74. bonesistools-1.2.8/tests/regression/sct/plotting/test_distribution.py +922 -0
  75. {bonesistools-1.2.7/tests → bonesistools-1.2.8/tests/regression}/sct/plotting/test_figure.py +2 -0
  76. {bonesistools-1.2.7/tests → bonesistools-1.2.8/tests/regression}/sct/plotting/test_graph.py +50 -1
  77. {bonesistools-1.2.7/tests → bonesistools-1.2.8/tests/regression}/sct/plotting/test_scatterplot.py +77 -19
  78. bonesistools-1.2.8/tests/regression/sct/preprocessing/test_classification.py +143 -0
  79. bonesistools-1.2.8/tests/regression/sct/preprocessing/test_qc.py +280 -0
  80. {bonesistools-1.2.7/tests → bonesistools-1.2.8/tests/regression}/sct/tools/test_knnsc.py +2 -1
  81. {bonesistools-1.2.7/tests → bonesistools-1.2.8/tests/regression}/sct/tools/test_paga.py +2 -1
  82. {bonesistools-1.2.7/tests → bonesistools-1.2.8/tests/regression}/sct/tools/test_write.py +0 -36
  83. bonesistools-1.2.8/tests/regression/sct/toy_data.py +38 -0
  84. {bonesistools-1.2.7/tests → bonesistools-1.2.8/tests/regression}/test_import.py +1 -1
  85. bonesistools-1.2.8/tests/reproducibility/__init__.py +1 -0
  86. bonesistools-1.2.8/tests/reproducibility/dorothea_current_mouse_A.sha256 +1 -0
  87. bonesistools-1.2.8/tests/reproducibility/dorothea_legacy_mouse.sha256 +1 -0
  88. {bonesistools-1.2.7 → bonesistools-1.2.8}/tests/reproducibility/test_reproducibility_stats.py +8 -1
  89. {bonesistools-1.2.7 → bonesistools-1.2.8}/tests/reproducibility/test_reproducibility_workflow.py +11 -4
  90. bonesistools-1.2.7/PKG-INFO +0 -765
  91. bonesistools-1.2.7/src/bonesistools/databases/ncbi/data/gi/escherichia_coli_gene_info.tsv.gz +0 -0
  92. bonesistools-1.2.7/src/bonesistools/databases/ncbi/data/gi/homo_sapiens_gene_info.tsv.gz +0 -0
  93. bonesistools-1.2.7/src/bonesistools/databases/ncbi/data/gi/mus_musculus_gene_info.tsv.gz +0 -0
  94. bonesistools-1.2.7/src/bonesistools/grntools/__init__.py +0 -34
  95. bonesistools-1.2.7/src/bonesistools/sctools/datasets/__init__.py +0 -56
  96. bonesistools-1.2.7/src/bonesistools/sctools/datasets/nestorowa_hvg.h5ad +0 -0
  97. bonesistools-1.2.7/src/bonesistools/sctools/plotting/_distribution.py +0 -771
  98. bonesistools-1.2.7/tests/dbs/test_hcop_orthologs.py +0 -217
  99. bonesistools-1.2.7/tests/sct/plotting/test_distribution.py +0 -401
  100. bonesistools-1.2.7/tests/sct/tools/test_classification.py +0 -62
  101. {bonesistools-1.2.7 → bonesistools-1.2.8}/LICENSE +0 -0
  102. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/_compat.py +0 -0
  103. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/_metadata.py +0 -0
  104. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/_typing.py +0 -0
  105. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/_validation.py +0 -0
  106. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/_warnings.py +0 -0
  107. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/boolpy/__init__.py +0 -0
  108. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/boolpy/boolean_algebra/_parser.py +0 -0
  109. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/boolpy/boolean_algebra/_representation.py +0 -0
  110. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/boolpy/boolean_algebra/_structure.py +0 -0
  111. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/boolpy/boolean_network/__init__.py +0 -0
  112. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/boolpy/boolean_network/_network.py +0 -0
  113. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/boolpy/boolean_network/_parser.py +0 -0
  114. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/boolpy/boolean_network/_typing.py +0 -0
  115. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/boolpy/influence_graph/__init__.py +0 -0
  116. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/boolpy/influence_graph/_algorithms.py +0 -0
  117. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/boolpy/influence_graph/_parser.py +0 -0
  118. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/boolpy/influence_graph/_typing.py +0 -0
  119. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/boolpy/plotting/__init__.py +0 -0
  120. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/boolpy/plotting/_graphviz.py +0 -0
  121. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/boolpy/plotting/_styles.py +0 -0
  122. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/boolpy/plotting/_svg.py +0 -0
  123. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/databases/__init__.py +0 -0
  124. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/databases/hcop/__init__.py +0 -0
  125. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/databases/hcop/data/human_anole_lizard_hcop.tsv.gz +0 -0
  126. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/databases/hcop/data/human_c.elegans_hcop.tsv.gz +0 -0
  127. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/databases/hcop/data/human_cat_hcop.tsv.gz +0 -0
  128. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/databases/hcop/data/human_cattle_hcop.tsv.gz +0 -0
  129. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/databases/hcop/data/human_chicken_hcop.tsv.gz +0 -0
  130. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/databases/hcop/data/human_chimpanzee_hcop.tsv.gz +0 -0
  131. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/databases/hcop/data/human_dog_hcop.tsv.gz +0 -0
  132. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/databases/hcop/data/human_fruitfly_hcop.tsv.gz +0 -0
  133. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/databases/hcop/data/human_horse_hcop.tsv.gz +0 -0
  134. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/databases/hcop/data/human_macaque_hcop.tsv.gz +0 -0
  135. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/databases/hcop/data/human_mouse_hcop.tsv.gz +0 -0
  136. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/databases/hcop/data/human_opossum_hcop.tsv.gz +0 -0
  137. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/databases/hcop/data/human_pig_hcop.tsv.gz +0 -0
  138. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/databases/hcop/data/human_platypus_hcop.tsv.gz +0 -0
  139. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/databases/hcop/data/human_rat_hcop.tsv.gz +0 -0
  140. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/databases/hcop/data/human_s.cerevisiae_hcop.tsv.gz +0 -0
  141. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/databases/hcop/data/human_s.pombe_hcop.tsv.gz +0 -0
  142. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/databases/hcop/data/human_xenopus_hcop.tsv.gz +0 -0
  143. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/databases/hcop/data/human_zebrafish_hcop.tsv.gz +0 -0
  144. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/databases/ncbi/__init__.py +0 -0
  145. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/databases/omnipath/__init__.py +0 -0
  146. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/databases/omnipath/_collectri.py +0 -0
  147. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/py.typed +0 -0
  148. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/sctools/__init__.py +0 -0
  149. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/sctools/_dependencies.py +0 -0
  150. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/sctools/_metadata.py +0 -0
  151. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/sctools/_stats.py +0 -0
  152. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/sctools/_typing.py +0 -0
  153. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/sctools/_validation.py +0 -0
  154. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/sctools/plotting/_typing.py +0 -0
  155. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/sctools/preprocessing/_duplicates.py +0 -0
  156. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/sctools/preprocessing/_filter.py +0 -0
  157. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/sctools/preprocessing/_genename.py +0 -0
  158. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/sctools/preprocessing/_simple.py +0 -0
  159. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/sctools/preprocessing/_transfer.py +0 -0
  160. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/sctools/preprocessing/_transform.py +0 -0
  161. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/sctools/tools/_binarize.py +0 -0
  162. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/sctools/tools/_clustering.py +0 -0
  163. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/sctools/tools/_conversion.py +0 -0
  164. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/sctools/tools/_embedding.py +0 -0
  165. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/sctools/tools/_graph.py +0 -0
  166. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/sctools/tools/_markers.py +0 -0
  167. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/sctools/tools/_maths.py +0 -0
  168. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/sctools/tools/_neighbors.py +0 -0
  169. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/sctools/tools/_regress.py +0 -0
  170. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/sctools/tools/_stats.py +0 -0
  171. {bonesistools-1.2.7 → bonesistools-1.2.8}/src/bonesistools/sctools/tools/_utils.py +0 -0
  172. {bonesistools-1.2.7/tests → bonesistools-1.2.8/tests/regression}/bpy/conftest.py +0 -0
  173. {bonesistools-1.2.7/tests → bonesistools-1.2.8/tests/regression}/bpy/test_aggregated_influence_graph.py +0 -0
  174. {bonesistools-1.2.7/tests → bonesistools-1.2.8/tests/regression}/bpy/test_boolean_network.py +0 -0
  175. {bonesistools-1.2.7/tests → bonesistools-1.2.8/tests/regression}/bpy/test_boolean_network_ensemble.py +0 -0
  176. {bonesistools-1.2.7/tests → bonesistools-1.2.8/tests/regression}/bpy/test_hypercube.py +0 -0
  177. {bonesistools-1.2.7/tests → bonesistools-1.2.8/tests/regression}/bpy/test_hypercube_collection.py +0 -0
  178. {bonesistools-1.2.7/tests → bonesistools-1.2.8/tests/regression}/bpy/test_influence_graph.py +0 -0
  179. {bonesistools-1.2.7/tests → bonesistools-1.2.8/tests/regression}/bpy/test_influence_graph_distances.py +0 -0
  180. {bonesistools-1.2.7/tests → bonesistools-1.2.8/tests/regression}/bpy/test_influence_graph_parser.py +0 -0
  181. {bonesistools-1.2.7/tests → bonesistools-1.2.8/tests/regression}/bpy/test_influence_graph_scoring.py +0 -0
  182. {bonesistools-1.2.7/tests → bonesistools-1.2.8/tests/regression}/bpy/test_plotting_styles.py +0 -0
  183. {bonesistools-1.2.7/tests → bonesistools-1.2.8/tests/regression}/sct/datasets/test_geo.py +0 -0
  184. {bonesistools-1.2.7/tests → bonesistools-1.2.8/tests/regression}/sct/preprocessing/test_duplicates.py +0 -0
  185. {bonesistools-1.2.7/tests → bonesistools-1.2.8/tests/regression}/sct/preprocessing/test_genename.py +0 -0
  186. {bonesistools-1.2.7/tests → bonesistools-1.2.8/tests/regression}/sct/preprocessing/test_hvg.py +0 -0
  187. {bonesistools-1.2.7/tests → bonesistools-1.2.8/tests/regression}/sct/preprocessing/test_simple.py +0 -0
  188. {bonesistools-1.2.7/tests → bonesistools-1.2.8/tests/regression}/sct/preprocessing/test_transfer_obs.py +0 -0
  189. {bonesistools-1.2.7/tests → bonesistools-1.2.8/tests/regression}/sct/preprocessing/test_transform.py +0 -0
  190. {bonesistools-1.2.7/tests → bonesistools-1.2.8/tests/regression}/sct/test_typing.py +0 -0
  191. {bonesistools-1.2.7/tests → bonesistools-1.2.8/tests/regression}/sct/tools/test_binarize.py +0 -0
  192. {bonesistools-1.2.7/tests → bonesistools-1.2.8/tests/regression}/sct/tools/test_clustering.py +0 -0
  193. {bonesistools-1.2.7/tests → bonesistools-1.2.8/tests/regression}/sct/tools/test_conversion.py +0 -0
  194. {bonesistools-1.2.7/tests → bonesistools-1.2.8/tests/regression}/sct/tools/test_embedding.py +0 -0
  195. {bonesistools-1.2.7/tests → bonesistools-1.2.8/tests/regression}/sct/tools/test_markers.py +0 -0
  196. {bonesistools-1.2.7/tests → bonesistools-1.2.8/tests/regression}/sct/tools/test_maths.py +0 -0
  197. {bonesistools-1.2.7/tests → bonesistools-1.2.8/tests/regression}/sct/tools/test_neighbors.py +0 -0
  198. {bonesistools-1.2.7/tests → bonesistools-1.2.8/tests/regression}/sct/tools/test_regress.py +0 -0
  199. {bonesistools-1.2.7/tests → bonesistools-1.2.8/tests/regression}/sct/tools/test_stats.py +0 -0
  200. {bonesistools-1.2.7/tests → bonesistools-1.2.8/tests/regression}/sct/tools/test_utils.py +0 -0
  201. {bonesistools-1.2.7/tests → bonesistools-1.2.8/tests/regression}/test_validation.py +0 -0
  202. {bonesistools-1.2.7 → bonesistools-1.2.8}/tests/reproducibility/test_reproducibility_omnipath.py +0 -0
@@ -112,8 +112,15 @@ benchmarks/results/
112
112
  !tests/
113
113
  !tests/data/
114
114
  !tests/data/*.h5ad
115
+ !tests/golden/
116
+ !tests/golden/**/*.py
117
+ !tests/golden/**/*.md
118
+ !tests/golden/**/*.txt
119
+ !tests/golden/**/*.h5ad
120
+ !tests/golden/**/*.npz
115
121
  tests/dbs/data/*.json
116
122
  tests/reproducibility/*.json
117
123
  !src/bonesistools/sctools/datasets/
124
+ !src/bonesistools/sctools/datasets/*.json
118
125
  !src/bonesistools/sctools/datasets/*.h5ad
119
126
  scripts/
@@ -0,0 +1,246 @@
1
+ Metadata-Version: 2.4
2
+ Name: bonesistools
3
+ Version: 1.2.8
4
+ Summary: Bioinformatics toolkit for upstream and downstream analyses around the BoNesis framework
5
+ Project-URL: Repository, https://github.com/bnediction/bonesistools
6
+ Author: Théo Roncalli
7
+ Maintainer-email: Théo Roncalli <theo.roncalli@labri.fr>
8
+ License-Expression: CECILL-2.1
9
+ License-File: LICENSE
10
+ Keywords: anndata,atacseq,bioinformatics,bonesis,boolean-networks,gene-regulatory-networks,mudata,rnaseq,single-cell,systems-biology
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Environment :: Console
13
+ Classifier: Framework :: IPython
14
+ Classifier: Framework :: Matplotlib
15
+ Classifier: Intended Audience :: Developers
16
+ Classifier: Intended Audience :: Science/Research
17
+ Classifier: License :: OSI Approved :: CEA CNRS Inria Logiciel Libre License, version 2.1 (CeCILL-2.1)
18
+ Classifier: Natural Language :: English
19
+ Classifier: Operating System :: MacOS :: MacOS X
20
+ Classifier: Operating System :: Microsoft :: Windows
21
+ Classifier: Operating System :: POSIX :: Linux
22
+ Classifier: Operating System :: Unix
23
+ Classifier: Programming Language :: Python :: 3.7
24
+ Classifier: Programming Language :: Python :: 3.8
25
+ Classifier: Programming Language :: Python :: 3.9
26
+ Classifier: Programming Language :: Python :: 3.10
27
+ Classifier: Programming Language :: Python :: 3.11
28
+ Classifier: Programming Language :: Python :: 3.12
29
+ Classifier: Programming Language :: Python :: 3.13
30
+ Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
31
+ Classifier: Topic :: Scientific/Engineering :: Visualization
32
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
33
+ Requires-Python: >=3.7
34
+ Requires-Dist: anndata>=0.8
35
+ Requires-Dist: boolean-py>=4.0
36
+ Requires-Dist: h5py>=3.7
37
+ Requires-Dist: importlib-metadata; python_version < '3.8'
38
+ Requires-Dist: importlib-resources; python_version < '3.9'
39
+ Requires-Dist: matplotlib>=3.5
40
+ Requires-Dist: networkx>=2.1
41
+ Requires-Dist: numpy>=1.21
42
+ Requires-Dist: pandas>=1.3.5
43
+ Requires-Dist: scikit-learn>=1.0
44
+ Requires-Dist: scipy>=1.7
45
+ Requires-Dist: typing-extensions>=4.0
46
+ Provides-Extra: all
47
+ Requires-Dist: graphviz>=0.20; extra == 'all'
48
+ Requires-Dist: igraph>=0.10; extra == 'all'
49
+ Requires-Dist: leidenalg>=0.10; extra == 'all'
50
+ Requires-Dist: mpbn>=4.1; extra == 'all'
51
+ Requires-Dist: mudata>=0.3.1; extra == 'all'
52
+ Requires-Dist: multiprocess>=0.70.18; extra == 'all'
53
+ Requires-Dist: numba>=0.60; (python_version >= '3.10') and extra == 'all'
54
+ Requires-Dist: pydot>=3.0.2; extra == 'all'
55
+ Requires-Dist: scikit-misc>=0.5; (python_version >= '3.10') and extra == 'all'
56
+ Requires-Dist: seaborn>=0.11; extra == 'all'
57
+ Requires-Dist: umap-learn>=0.5; extra == 'all'
58
+ Provides-Extra: graphviz
59
+ Requires-Dist: graphviz>=0.20; extra == 'graphviz'
60
+ Provides-Extra: mpbn
61
+ Requires-Dist: mpbn>=4.1; extra == 'mpbn'
62
+ Provides-Extra: mudata
63
+ Requires-Dist: mudata>=0.3.1; extra == 'mudata'
64
+ Provides-Extra: omics
65
+ Requires-Dist: igraph>=0.10; extra == 'omics'
66
+ Requires-Dist: leidenalg>=0.10; extra == 'omics'
67
+ Requires-Dist: numba>=0.60; (python_version >= '3.10') and extra == 'omics'
68
+ Requires-Dist: scikit-misc>=0.5; (python_version >= '3.10') and extra == 'omics'
69
+ Requires-Dist: umap-learn>=0.5; extra == 'omics'
70
+ Description-Content-Type: text/markdown
71
+
72
+ [![tests](https://github.com/bnediction/bonesistools/actions/workflows/tests.yml/badge.svg)](https://github.com/bnediction/bonesistools/actions/workflows/tests.yml)
73
+ [![PyPI](https://img.shields.io/pypi/v/bonesistools.svg)](https://pypi.org/project/bonesistools)
74
+ [![python](https://img.shields.io/badge/dynamic/toml?url=https%3A%2F%2Fraw.githubusercontent.com%2Fbnediction%2Fbonesistools%2Frefs%2Fheads%2Fmain%2Fpyproject.toml&query=%24.project.requires-python&style=flat&label=python)](https://www.python.org/)
75
+ [![license](https://img.shields.io/pypi/l/bonesistools.svg)](https://github.com/bnediction/bonesistools/blob/main/LICENSE)
76
+
77
+ # BoNesisTools
78
+
79
+ `BoNesisTools` provides Python-implemented toolkits for upstream and downstream analyses around the [BoNesis](https://github.com/bnediction/bonesis) ecosystem.
80
+
81
+ The package provides:
82
+
83
+ - Boolean algebra and partial Boolean abstractions
84
+ - Boolean network manipulation and analysis
85
+ - signed influence graph utilities
86
+ - GRN-informed Boolean predecessor inference
87
+ - single-cell and multimodal analysis helpers
88
+ - biological database interfaces
89
+
90
+ ## Usage
91
+
92
+ ```python
93
+ import bonesistools as bt
94
+ ```
95
+
96
+ `BoNesisTools` exposes four main namespaces:
97
+
98
+ - `bt.sct` — single-cell and multimodal annotated data tools
99
+ - `bt.bpy` — Boolean modelling and graph utilities
100
+ - `bt.dbs` — biological database interfaces
101
+
102
+ ---
103
+
104
+ ## Single-cell tools
105
+
106
+ `bt.sct` is inspired by [Scanpy](https://github.com/scverse/scanpy) while providing additional and complementary features for single-cell analyses.
107
+
108
+ Submodules:
109
+
110
+ - preprocessing: `bt.sct.pp`
111
+ - expression transformations, feature selection, filtering and metadata utilities
112
+
113
+ - tools: `bt.sct.tl`
114
+ - embeddings, neighborhood graphs, clustering, differential analysis and matrix utilities
115
+
116
+ - plotting: `bt.sct.pl`
117
+ - visualization helpers for embeddings, trajectories, distributions and summaries
118
+
119
+ - datasets: `bt.sct.datasets`
120
+ - registered single-cell example datasets loaded with `bt.sct.datasets.load(...)`
121
+
122
+ Example:
123
+
124
+ ```python
125
+ bt.sct.datasets.available()
126
+ bt.sct.datasets.info("pbmc3k")
127
+ adata = bt.sct.datasets.load("pbmc3k")
128
+ adata = bt.sct.datasets.load("nestorowa")
129
+ bt.sct.datasets.clear("pbmc3k")
130
+ ```
131
+
132
+ ---
133
+
134
+ ## Boolean modelling utilities
135
+
136
+ `bt.bpy` provides utilities for Boolean modelling, logical abstractions and signed regulatory graphs.
137
+
138
+ Submodules:
139
+
140
+ - Boolean algebra: `bt.bpy.ba`
141
+ - logical objects and transformations for Boolean-state reasoning
142
+
143
+ - Boolean network: `bt.bpy.bn`
144
+ - Boolean model representation, conversion, analysis and exchange
145
+
146
+ - influence graph: `bt.bpy.ig`
147
+ - signed regulatory graph construction, comparison, analysis and display
148
+
149
+ Example:
150
+
151
+ ```python
152
+ bn = bt.bpy.bn.BooleanNetwork(
153
+ {
154
+ "A": "B & ~C",
155
+ "B": 1,
156
+ "C": 0,
157
+ }
158
+ )
159
+
160
+ graph = bn.to_influence_graph()
161
+
162
+ graph.show()
163
+ ```
164
+
165
+ ---
166
+
167
+ ## Biological external resources
168
+
169
+ `bt.dbs` provides lightweight interfaces and utilities for biological
170
+ external resources.
171
+
172
+ Submodules:
173
+
174
+ - NCBI: `bt.dbs.ncbi`
175
+ - gene identifier, synonym and annotation utilities
176
+
177
+ - OmniPath: `bt.dbs.omnipath`
178
+ - regulatory interaction datasets
179
+
180
+ - HCOP: `bt.dbs.hcop`
181
+ - orthology resources
182
+
183
+ Example:
184
+
185
+ ```python
186
+ genesyn = bt.dbs.ncbi.genesyn()
187
+
188
+ grn = bt.dbs.omnipath.collectri(
189
+ organism="mouse",
190
+ genesyn=genesyn,
191
+ )
192
+ ```
193
+
194
+ ---
195
+
196
+ ## Installation
197
+
198
+ Install the latest release:
199
+
200
+ ```sh
201
+ pip install bonesistools
202
+ ```
203
+
204
+ Install the omics dependencies:
205
+
206
+ ```sh
207
+ pip install "bonesistools[omics]"
208
+ ```
209
+
210
+ Install all optional dependencies:
211
+
212
+ ```sh
213
+ pip install "bonesistools[all]"
214
+ ```
215
+
216
+ Install the development version:
217
+
218
+ ```sh
219
+ git clone https://github.com/bnediction/bonesistools.git
220
+ cd bonesistools
221
+ pip install -e ".[all]"
222
+ ```
223
+
224
+ or directly:
225
+
226
+ ```sh
227
+ pip install git+https://github.com/bnediction/bonesistools.git
228
+ ```
229
+
230
+ ---
231
+
232
+ ## Bugs
233
+
234
+ Please report bugs or ask questions here:
235
+
236
+ https://github.com/bnediction/bonesistools/issues
237
+
238
+ ---
239
+
240
+ ## License
241
+
242
+ This package is distributed under the [CeCILL v2.1](http://www.cecill.info/index.en.html) free software license (GNU GPL compatible).
243
+
244
+ This package also includes third-party data resources derived from the
245
+ NCBI Gene database (`gene_info`). NCBI places no restrictions on the
246
+ use or redistribution of these data: https://www.ncbi.nlm.nih.gov/home/about/policies/
@@ -27,7 +27,6 @@ import bonesistools as bt
27
27
  - `bt.sct` — single-cell and multimodal annotated data tools
28
28
  - `bt.bpy` — Boolean modelling and graph utilities
29
29
  - `bt.dbs` — biological database interfaces
30
- - `bt.grn` — deprecated alias for `bt.bpy.ig`
31
30
 
32
31
  ---
33
32
 
@@ -38,21 +37,26 @@ import bonesistools as bt
38
37
  Submodules:
39
38
 
40
39
  - preprocessing: `bt.sct.pp`
41
- - gene name harmonization
42
- - metadata transfer utilities
43
- - lightweight preprocessing helpers
40
+ - expression transformations, feature selection, filtering and metadata utilities
44
41
 
45
42
  - tools: `bt.sct.tl`
46
- - K-nearest-neighbor and shared-neighbor graph utilities
47
- - marker and log-fold-change analysis
48
- - regression and matrix conversion utilities
43
+ - embeddings, neighborhood graphs, clustering, differential analysis and matrix utilities
49
44
 
50
45
  - plotting: `bt.sct.pl`
51
- - embedding, density, composition and graph visualizations
52
- - distribution utilities
46
+ - visualization helpers for embeddings, trajectories, distributions and summaries
53
47
 
54
48
  - datasets: `bt.sct.datasets`
55
- - packaged reference datasets
49
+ - registered single-cell example datasets loaded with `bt.sct.datasets.load(...)`
50
+
51
+ Example:
52
+
53
+ ```python
54
+ bt.sct.datasets.available()
55
+ bt.sct.datasets.info("pbmc3k")
56
+ adata = bt.sct.datasets.load("pbmc3k")
57
+ adata = bt.sct.datasets.load("nestorowa")
58
+ bt.sct.datasets.clear("pbmc3k")
59
+ ```
56
60
 
57
61
  ---
58
62
 
@@ -63,19 +67,13 @@ Submodules:
63
67
  Submodules:
64
68
 
65
69
  - Boolean algebra: `bt.bpy.ba`
66
- - partial Boolean abstractions and hypercube representations
67
- - Boolean differential and predecessor inference utilities
70
+ - logical objects and transformations for Boolean-state reasoning
68
71
 
69
72
  - Boolean network: `bt.bpy.bn`
70
- - Boolean network manipulation and analysis
71
- - fixed-point computation
72
- - `.bnet` import/export
73
+ - Boolean model representation, conversion, analysis and exchange
73
74
 
74
75
  - influence graph: `bt.bpy.ig`
75
- - signed regulatory influence graphs
76
- - feedback circuit and SCC analysis
77
- - signed interaction scoring from bounded walks
78
- - graph compression and visualization utilities
76
+ - signed regulatory graph construction, comparison, analysis and display
79
77
 
80
78
  Example:
81
79
 
@@ -103,15 +101,13 @@ external resources.
103
101
  Submodules:
104
102
 
105
103
  - NCBI: `bt.dbs.ncbi`
106
- - gene synonym harmonization
107
- - gene annotation utilities
104
+ - gene identifier, synonym and annotation utilities
108
105
 
109
106
  - OmniPath: `bt.dbs.omnipath`
110
- - DoRothEA transcription factor interactions
111
- - CollecTRI regulatory interaction networks
107
+ - regulatory interaction datasets
112
108
 
113
109
  - HCOP: `bt.dbs.hcop`
114
- - orthology mappings
110
+ - orthology resources
115
111
 
116
112
  Example:
117
113
 
@@ -5,8 +5,8 @@ build-backend = "hatchling.build"
5
5
  [project]
6
6
  name = "bonesistools"
7
7
  description = "Bioinformatics toolkit for upstream and downstream analyses around the BoNesis framework"
8
- version = "1.2.7"
9
- license = {file = "LICENSE"}
8
+ version = "1.2.8"
9
+ license = "CECILL-2.1"
10
10
  credits = ["BNeDiction", "PEPR Santé Numérique 2030"]
11
11
  authors = [
12
12
  { name = "Théo Roncalli" },
@@ -67,6 +67,9 @@ keywords = [
67
67
  "bonesis",
68
68
  ]
69
69
 
70
+ [project.license-files]
71
+ paths = ["LICENSE"]
72
+
70
73
  [project.optional-dependencies]
71
74
  all = [
72
75
  "graphviz>=0.20",
@@ -75,6 +78,7 @@ all = [
75
78
  "pydot>=3.0.2",
76
79
  "igraph>=0.10",
77
80
  "leidenalg>=0.10",
81
+ "numba>=0.60; python_version >= '3.10'",
78
82
  "seaborn>=0.11",
79
83
  "scikit-misc>=0.5; python_version >= '3.10'",
80
84
  "umap-learn>=0.5",
@@ -86,6 +90,7 @@ mpbn = [ "mpbn>=4.1" ]
86
90
  omics = [
87
91
  "igraph>=0.10",
88
92
  "leidenalg>=0.10",
93
+ "numba>=0.60; python_version >= '3.10'",
89
94
  "scikit-misc>=0.5; python_version >= '3.10'",
90
95
  "umap-learn>=0.5",
91
96
  ]
@@ -93,11 +98,11 @@ omics = [
93
98
  [tool.hatch.build.targets.sdist]
94
99
  ignore-vcs = true
95
100
  include = [
96
- "*.py",
97
- "src/bonesistools/py.typed",
98
- "src/bonesistools/databases/hcop/data/*.tsv.gz",
99
- "src/bonesistools/databases/ncbi/data/gi/*.tsv.gz",
100
- "src/bonesistools/sctools/datasets/*.h5ad",
101
+ "/LICENSE",
102
+ "/README.md",
103
+ "/pyproject.toml",
104
+ "/src/bonesistools",
105
+ "/tests",
101
106
  ]
102
107
 
103
108
  [tool.hatch.build.targets.wheel]
@@ -105,6 +110,7 @@ packages = [ "src/bonesistools" ]
105
110
  artifacts = [
106
111
  "src/bonesistools/databases/hcop/data/*.tsv.gz",
107
112
  "src/bonesistools/databases/ncbi/data/gi/*.tsv.gz",
113
+ "src/bonesistools/sctools/datasets/*.json",
108
114
  ]
109
115
 
110
116
  [project.urls]
@@ -116,16 +122,26 @@ target-version = ["py37"]
116
122
  [tool.ruff]
117
123
  target-version = "py37"
118
124
  line-length = 88
119
- extend-exclude = ["ensemble"]
120
125
 
121
126
  [tool.ruff.lint]
122
127
  select = ["E", "F", "I"]
123
128
  typing-modules = ["bonesistools._compat"]
124
129
 
125
- [tool.pytest.ini_options]
126
- norecursedirs = [
127
- "tests/reproducibility",
128
- ]
129
- filterwarnings = [
130
- "ignore:The NumPy module was reloaded:UserWarning",
130
+ [tool.ruff.lint.per-file-ignores]
131
+ "src/bonesistools/sctools/datasets/datasets.json" = ["E501"]
132
+
133
+ [tool.pyright]
134
+ typeCheckingMode = "standard"
135
+ include = ["src/bonesistools"]
136
+ exclude = [
137
+ "**/__pycache__",
138
+ "**/.*",
139
+ "**/node_modules",
140
+ ".git",
141
+ ".pytest_cache",
142
+ "build",
143
+ "dist",
144
+ "tests",
131
145
  ]
146
+ extraPaths = ["src"]
147
+ pythonVersion = "3.13"
@@ -12,28 +12,19 @@ bpy
12
12
  Boolean modelling utilities.
13
13
  dbs
14
14
  Biological database interfaces.
15
- grn
16
- Deprecated alias for `bpy.ig`.
17
15
 
18
16
  Credits: BNeDiction; PEPR Santé Numérique 2030.
19
17
  """
20
18
 
21
19
  from __future__ import annotations
22
20
 
23
- import importlib as _importlib
24
21
  import sys as _sys
25
- from types import ModuleType as _ModuleType
26
- from typing import TYPE_CHECKING as _TYPE_CHECKING
27
22
  from typing import List as _List
28
23
 
29
24
  from . import boolpy as bpy
30
25
  from . import databases as dbs
31
26
  from . import sctools as sct
32
27
  from ._metadata import package_version as _package_version
33
- from ._warnings import _warn_deprecated
34
-
35
- if _TYPE_CHECKING:
36
- from . import grntools as grn
37
28
 
38
29
  del annotations
39
30
 
@@ -45,7 +36,6 @@ __all__ = [
45
36
  "sct",
46
37
  "bpy",
47
38
  "dbs",
48
- "grn",
49
39
  ]
50
40
 
51
41
  _sys.modules.update(
@@ -67,21 +57,5 @@ _sys.modules.update(
67
57
  )
68
58
 
69
59
 
70
- def __getattr__(name: str) -> _ModuleType:
71
- if name == "grn":
72
- _warn_deprecated(
73
- "`bt.grn`",
74
- replacement="`bt.bpy.ig`",
75
- stacklevel=2,
76
- )
77
-
78
- grn = _importlib.import_module(".grntools", __name__)
79
- _sys.modules[f"{__name__}.grn"] = grn
80
-
81
- return grn
82
-
83
- raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
84
-
85
-
86
60
  def __dir__() -> _List[str]:
87
61
  return sorted(set(globals()) | set(__all__))
@@ -10,9 +10,18 @@ differential and predecessor inference utilities.
10
10
 
11
11
  from typing import List as _List
12
12
 
13
- from ._algebra import BooleanPredecessorInference, PartialBooleanDifferential
13
+ from ._algebra import (
14
+ BooleanPredecessorInference,
15
+ )
14
16
  from ._boolean import PartialBoolean
15
17
  from ._hypercube import Hypercube, HypercubeCollection
18
+ from ._kleene import (
19
+ KleeneValue,
20
+ KleeneValueLike,
21
+ diff,
22
+ join,
23
+ meet,
24
+ )
16
25
  from ._parser import read_hypercube, read_hypercubes
17
26
  from ._representation import rule_to_string
18
27
  from ._structure import dnf_to_structure, expressions_equivalent
@@ -26,15 +35,19 @@ from ._typing import (
26
35
  is_boolean_rule_like,
27
36
  is_configuration_like,
28
37
  is_hypercube_like,
38
+ is_kleene_value_like,
29
39
  is_partial_boolean_like,
30
40
  )
31
41
 
32
42
  __all__ = [
33
43
  "BooleanPredecessorInference",
34
- "PartialBooleanDifferential",
35
44
  "PartialBoolean",
45
+ "KleeneValue",
36
46
  "Hypercube",
37
47
  "HypercubeCollection",
48
+ "diff",
49
+ "meet",
50
+ "join",
38
51
  "expressions_equivalent",
39
52
  "dnf_to_structure",
40
53
  "rule_to_string",
@@ -42,12 +55,14 @@ __all__ = [
42
55
  "read_hypercubes",
43
56
  "BooleanRule",
44
57
  "ConfigurationLike",
58
+ "KleeneValueLike",
45
59
  "PartialBooleanLike",
46
60
  "HypercubeLike",
47
61
  "is_boolean_expression_available",
48
62
  "is_boolean_expression_like",
49
63
  "is_boolean_rule_like",
50
64
  "is_configuration_like",
65
+ "is_kleene_value_like",
51
66
  "is_partial_boolean_like",
52
67
  "is_hypercube_like",
53
68
  ]