bonesistools 1.2.9__tar.gz → 1.4.0__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 (263) hide show
  1. {bonesistools-1.2.9 → bonesistools-1.4.0}/.gitignore +4 -0
  2. {bonesistools-1.2.9 → bonesistools-1.4.0}/PKG-INFO +41 -39
  3. {bonesistools-1.2.9 → bonesistools-1.4.0}/README.md +32 -36
  4. {bonesistools-1.2.9 → bonesistools-1.4.0}/pyproject.toml +17 -6
  5. bonesistools-1.4.0/src/bonesistools/__init__.py +132 -0
  6. bonesistools-1.4.0/src/bonesistools/__init__.pyi +12 -0
  7. {bonesistools-1.2.9/src/bonesistools/boolpy → bonesistools-1.4.0/src/bonesistools/logic}/__init__.py +18 -12
  8. bonesistools-1.4.0/src/bonesistools/logic/__init__.pyi +11 -0
  9. bonesistools-1.4.0/src/bonesistools/logic/boolean_algebra/__init__.py +92 -0
  10. bonesistools-1.4.0/src/bonesistools/logic/boolean_algebra/__init__.pyi +45 -0
  11. {bonesistools-1.2.9/src/bonesistools/boolpy → bonesistools-1.4.0/src/bonesistools/logic}/boolean_algebra/_boolean.py +2 -2
  12. bonesistools-1.4.0/src/bonesistools/logic/boolean_algebra/_configuration.py +698 -0
  13. {bonesistools-1.2.9/src/bonesistools/boolpy → bonesistools-1.4.0/src/bonesistools/logic}/boolean_algebra/_hypercube.py +29 -13
  14. {bonesistools-1.2.9/src/bonesistools/boolpy → bonesistools-1.4.0/src/bonesistools/logic}/boolean_algebra/_kleene.py +2 -1
  15. bonesistools-1.4.0/src/bonesistools/logic/boolean_algebra/_parser.py +9 -0
  16. {bonesistools-1.2.9/src/bonesistools/boolpy → bonesistools-1.4.0/src/bonesistools/logic}/boolean_algebra/_representation.py +1 -1
  17. bonesistools-1.4.0/src/bonesistools/logic/boolean_algebra/_structure.py +772 -0
  18. bonesistools-1.4.0/src/bonesistools/logic/boolean_network/__init__.py +86 -0
  19. bonesistools-1.4.0/src/bonesistools/logic/boolean_network/_dynamics.py +960 -0
  20. bonesistools-1.4.0/src/bonesistools/logic/boolean_network/_most_permissive.py +399 -0
  21. {bonesistools-1.2.9/src/bonesistools/boolpy → bonesistools-1.4.0/src/bonesistools/logic}/boolean_network/_network.py +832 -335
  22. bonesistools-1.4.0/src/bonesistools/logic/boolean_network/_parser.py +9 -0
  23. {bonesistools-1.2.9/src/bonesistools/boolpy → bonesistools-1.4.0/src/bonesistools/logic}/boolean_network/_typing.py +1 -1
  24. {bonesistools-1.2.9/src/bonesistools/boolpy → bonesistools-1.4.0/src/bonesistools/logic}/influence_graph/__init__.py +24 -5
  25. {bonesistools-1.2.9/src/bonesistools/boolpy → bonesistools-1.4.0/src/bonesistools/logic}/influence_graph/_distances.py +61 -61
  26. bonesistools-1.4.0/src/bonesistools/logic/influence_graph/_graphviz.py +117 -0
  27. {bonesistools-1.2.9/src/bonesistools/boolpy → bonesistools-1.4.0/src/bonesistools/logic}/influence_graph/_influence_graph.py +1128 -423
  28. bonesistools-1.4.0/src/bonesistools/logic/influence_graph/_parser.py +44 -0
  29. {bonesistools-1.2.9/src/bonesistools/boolpy → bonesistools-1.4.0/src/bonesistools/logic}/influence_graph/_scoring.py +114 -111
  30. bonesistools-1.4.0/src/bonesistools/logic/influence_graph/_styles.py +213 -0
  31. bonesistools-1.4.0/src/bonesistools/logic/input_output/__init__.py +29 -0
  32. bonesistools-1.2.9/src/bonesistools/boolpy/boolean_network/_parser.py → bonesistools-1.4.0/src/bonesistools/logic/input_output/_boolean_network.py +8 -8
  33. bonesistools-1.4.0/src/bonesistools/logic/input_output/_executable_model.py +83 -0
  34. bonesistools-1.4.0/src/bonesistools/logic/input_output/_ginml.py +877 -0
  35. bonesistools-1.2.9/src/bonesistools/boolpy/boolean_algebra/_parser.py → bonesistools-1.4.0/src/bonesistools/logic/input_output/_hypercube.py +2 -2
  36. bonesistools-1.2.9/src/bonesistools/boolpy/influence_graph/_parser.py → bonesistools-1.4.0/src/bonesistools/logic/input_output/_influence_graph.py +3 -3
  37. bonesistools-1.4.0/src/bonesistools/omics/__init__.py +54 -0
  38. bonesistools-1.4.0/src/bonesistools/omics/__init__.pyi +11 -0
  39. {bonesistools-1.2.9/src/bonesistools/sctools → bonesistools-1.4.0/src/bonesistools/omics}/_dependencies.py +1 -1
  40. {bonesistools-1.2.9/src/bonesistools/sctools → bonesistools-1.4.0/src/bonesistools/omics}/_typing.py +4 -4
  41. bonesistools-1.4.0/src/bonesistools/omics/datasets/__init__.py +138 -0
  42. bonesistools-1.4.0/src/bonesistools/omics/datasets/__init__.pyi +13 -0
  43. bonesistools-1.4.0/src/bonesistools/omics/input_output/__init__.py +50 -0
  44. bonesistools-1.4.0/src/bonesistools/omics/input_output/__init__.pyi +19 -0
  45. {bonesistools-1.2.9/src/bonesistools/sctools/datasets → bonesistools-1.4.0/src/bonesistools/omics/input_output}/_geo.py +2 -2
  46. {bonesistools-1.2.9/src/bonesistools/sctools/datasets → bonesistools-1.4.0/src/bonesistools/omics/input_output}/_nestorowa.py +1 -2
  47. {bonesistools-1.2.9/src/bonesistools/sctools/datasets → bonesistools-1.4.0/src/bonesistools/omics/input_output}/_registry.py +12 -16
  48. bonesistools-1.4.0/src/bonesistools/omics/plotting/__init__.py +67 -0
  49. bonesistools-1.4.0/src/bonesistools/omics/plotting/__init__.pyi +45 -0
  50. {bonesistools-1.2.9/src/bonesistools/sctools → bonesistools-1.4.0/src/bonesistools/omics}/plotting/_barplot.py +11 -10
  51. {bonesistools-1.2.9/src/bonesistools/sctools → bonesistools-1.4.0/src/bonesistools/omics}/plotting/_colors.py +26 -12
  52. {bonesistools-1.2.9/src/bonesistools/sctools → bonesistools-1.4.0/src/bonesistools/omics}/plotting/_density.py +84 -84
  53. {bonesistools-1.2.9/src/bonesistools/sctools → bonesistools-1.4.0/src/bonesistools/omics}/plotting/_distribution.py +14 -14
  54. {bonesistools-1.2.9/src/bonesistools/sctools → bonesistools-1.4.0/src/bonesistools/omics}/plotting/_figure.py +2 -2
  55. {bonesistools-1.2.9/src/bonesistools/sctools → bonesistools-1.4.0/src/bonesistools/omics}/plotting/_graph.py +8 -8
  56. {bonesistools-1.2.9/src/bonesistools/sctools → bonesistools-1.4.0/src/bonesistools/omics}/plotting/_scatterplot.py +6 -6
  57. {bonesistools-1.2.9/src/bonesistools/sctools → bonesistools-1.4.0/src/bonesistools/omics}/preprocessing/__init__.py +21 -15
  58. bonesistools-1.4.0/src/bonesistools/omics/preprocessing/__init__.pyi +49 -0
  59. {bonesistools-1.2.9/src/bonesistools/sctools → bonesistools-1.4.0/src/bonesistools/omics}/preprocessing/_classification.py +4 -4
  60. {bonesistools-1.2.9/src/bonesistools/sctools → bonesistools-1.4.0/src/bonesistools/omics}/preprocessing/_duplicates.py +19 -8
  61. {bonesistools-1.2.9/src/bonesistools/sctools → bonesistools-1.4.0/src/bonesistools/omics}/preprocessing/_genename.py +13 -11
  62. {bonesistools-1.2.9/src/bonesistools/sctools → bonesistools-1.4.0/src/bonesistools/omics}/preprocessing/_hvg.py +378 -57
  63. {bonesistools-1.2.9/src/bonesistools/sctools → bonesistools-1.4.0/src/bonesistools/omics}/preprocessing/_qc.py +4 -8
  64. {bonesistools-1.2.9/src/bonesistools/sctools → bonesistools-1.4.0/src/bonesistools/omics}/preprocessing/_simple.py +21 -1
  65. {bonesistools-1.2.9/src/bonesistools/sctools → bonesistools-1.4.0/src/bonesistools/omics}/preprocessing/_transfer.py +21 -21
  66. {bonesistools-1.2.9/src/bonesistools/sctools → bonesistools-1.4.0/src/bonesistools/omics}/preprocessing/_transform.py +9 -9
  67. {bonesistools-1.2.9/src/bonesistools/sctools → bonesistools-1.4.0/src/bonesistools/omics}/tools/__init__.py +25 -20
  68. bonesistools-1.4.0/src/bonesistools/omics/tools/__init__.pyi +59 -0
  69. {bonesistools-1.2.9/src/bonesistools/sctools → bonesistools-1.4.0/src/bonesistools/omics}/tools/_binarize.py +1 -1
  70. {bonesistools-1.2.9/src/bonesistools/sctools → bonesistools-1.4.0/src/bonesistools/omics}/tools/_classification.py +8 -8
  71. {bonesistools-1.2.9/src/bonesistools/sctools → bonesistools-1.4.0/src/bonesistools/omics}/tools/_clustering.py +10 -10
  72. {bonesistools-1.2.9/src/bonesistools/sctools → bonesistools-1.4.0/src/bonesistools/omics}/tools/_conversion.py +29 -2
  73. {bonesistools-1.2.9/src/bonesistools/sctools → bonesistools-1.4.0/src/bonesistools/omics}/tools/_embedding.py +55 -55
  74. {bonesistools-1.2.9/src/bonesistools/sctools → bonesistools-1.4.0/src/bonesistools/omics}/tools/_graph.py +5 -5
  75. {bonesistools-1.2.9/src/bonesistools/sctools → bonesistools-1.4.0/src/bonesistools/omics}/tools/_markers.py +18 -12
  76. {bonesistools-1.2.9/src/bonesistools/sctools → bonesistools-1.4.0/src/bonesistools/omics}/tools/_maths.py +2 -2
  77. {bonesistools-1.2.9/src/bonesistools/sctools → bonesistools-1.4.0/src/bonesistools/omics}/tools/_neighbors.py +711 -697
  78. {bonesistools-1.2.9/src/bonesistools/sctools → bonesistools-1.4.0/src/bonesistools/omics}/tools/_regress.py +1 -1
  79. {bonesistools-1.2.9/src/bonesistools/sctools → bonesistools-1.4.0/src/bonesistools/omics}/tools/_stats.py +7 -7
  80. {bonesistools-1.2.9/src/bonesistools/sctools → bonesistools-1.4.0/src/bonesistools/omics}/tools/_utils.py +25 -25
  81. bonesistools-1.4.0/src/bonesistools/omics/tools/_write.py +56 -0
  82. {bonesistools-1.2.9/src/bonesistools/databases → bonesistools-1.4.0/src/bonesistools/resources}/__init__.py +2 -2
  83. bonesistools-1.4.0/src/bonesistools/resources/__init__.pyi +9 -0
  84. {bonesistools-1.2.9/src/bonesistools/databases → bonesistools-1.4.0/src/bonesistools/resources}/hcop/__init__.py +1 -1
  85. bonesistools-1.4.0/src/bonesistools/resources/hcop/__init__.pyi +7 -0
  86. {bonesistools-1.2.9/src/bonesistools/databases → bonesistools-1.4.0/src/bonesistools/resources}/hcop/_orthologs.py +47 -47
  87. {bonesistools-1.2.9/src/bonesistools/databases → bonesistools-1.4.0/src/bonesistools/resources}/ncbi/__init__.py +6 -3
  88. bonesistools-1.4.0/src/bonesistools/resources/ncbi/__init__.pyi +5 -0
  89. {bonesistools-1.2.9/src/bonesistools/databases → bonesistools-1.4.0/src/bonesistools/resources}/ncbi/_genesyn.py +42 -42
  90. {bonesistools-1.2.9/src/bonesistools/databases → bonesistools-1.4.0/src/bonesistools/resources}/omnipath/__init__.py +8 -5
  91. bonesistools-1.4.0/src/bonesistools/resources/omnipath/__init__.pyi +7 -0
  92. {bonesistools-1.2.9/src/bonesistools/databases → bonesistools-1.4.0/src/bonesistools/resources}/omnipath/_collectri.py +2 -2
  93. {bonesistools-1.2.9/src/bonesistools/databases → bonesistools-1.4.0/src/bonesistools/resources}/omnipath/_dorothea.py +6 -6
  94. bonesistools-1.4.0/tests/golden/LICENSE.txt +36 -0
  95. {bonesistools-1.2.9 → bonesistools-1.4.0}/tests/golden/README.md +80 -16
  96. bonesistools-1.4.0/tests/golden/generate_expected.py +63 -0
  97. bonesistools-1.4.0/tests/golden/logic/_boolean_workflow.py +211 -0
  98. bonesistools-1.4.0/tests/golden/logic/death_receptor_cell_fate.zginml +0 -0
  99. bonesistools-1.4.0/tests/golden/logic/expected/death_receptor_cell_fate_mp.npz +0 -0
  100. bonesistools-1.4.0/tests/golden/logic/expected/synthetic_30_node_dynamics.npz +0 -0
  101. bonesistools-1.4.0/tests/golden/logic/synthetic_30_node_dynamics.zginml +0 -0
  102. bonesistools-1.4.0/tests/golden/logic/test_golden_boolean_workflow.py +30 -0
  103. bonesistools-1.4.0/tests/golden/omics/__init__.py +1 -0
  104. bonesistools-1.2.9/tests/golden/_workflow.py → bonesistools-1.4.0/tests/golden/omics/_omics_workflow.py +67 -13
  105. bonesistools-1.4.0/tests/golden/omics/expected/knnsc.npz +0 -0
  106. bonesistools-1.2.9/tests/golden/test_golden_workflow.py → bonesistools-1.4.0/tests/golden/omics/test_golden_omics_workflow.py +13 -4
  107. bonesistools-1.4.0/tests/regression/__init__.py +1 -0
  108. bonesistools-1.4.0/tests/regression/logic/__init__.py +1 -0
  109. bonesistools-1.4.0/tests/regression/logic/ba/__init__.py +1 -0
  110. bonesistools-1.4.0/tests/regression/logic/ba/test_algebra.py +207 -0
  111. bonesistools-1.4.0/tests/regression/logic/ba/test_boolean.py +129 -0
  112. bonesistools-1.4.0/tests/regression/logic/ba/test_configuration.py +131 -0
  113. bonesistools-1.4.0/tests/regression/logic/ba/test_hypercube.py +355 -0
  114. bonesistools-1.4.0/tests/regression/logic/ba/test_kleene.py +120 -0
  115. bonesistools-1.4.0/tests/regression/logic/ba/test_structure.py +177 -0
  116. bonesistools-1.4.0/tests/regression/logic/ba/test_typing.py +53 -0
  117. bonesistools-1.4.0/tests/regression/logic/bn/__init__.py +1 -0
  118. bonesistools-1.4.0/tests/regression/logic/bn/test_boolean_network.py +1342 -0
  119. bonesistools-1.4.0/tests/regression/logic/bn/test_boolean_network_ensemble.py +323 -0
  120. {bonesistools-1.2.9/tests/regression/bpy → bonesistools-1.4.0/tests/regression/logic}/conftest.py +9 -1
  121. bonesistools-1.4.0/tests/regression/logic/ig/__init__.py +1 -0
  122. bonesistools-1.4.0/tests/regression/logic/ig/test_aggregated_influence_graph.py +1220 -0
  123. bonesistools-1.2.9/tests/regression/bpy/test_influence_graph_distances.py → bonesistools-1.4.0/tests/regression/logic/ig/test_distances.py +32 -30
  124. {bonesistools-1.2.9/tests/regression/bpy → bonesistools-1.4.0/tests/regression/logic/ig}/test_influence_graph.py +57 -46
  125. bonesistools-1.2.9/tests/regression/bpy/test_influence_graph_parser.py → bonesistools-1.4.0/tests/regression/logic/ig/test_parser.py +20 -9
  126. bonesistools-1.2.9/tests/regression/bpy/test_influence_graph_scoring.py → bonesistools-1.4.0/tests/regression/logic/ig/test_scoring.py +39 -37
  127. bonesistools-1.4.0/tests/regression/logic/ig/test_styles.py +45 -0
  128. bonesistools-1.4.0/tests/regression/logic/io/__init__.py +0 -0
  129. bonesistools-1.4.0/tests/regression/logic/io/test_ginml.py +308 -0
  130. bonesistools-1.4.0/tests/regression/omics/io/__init__.py +1 -0
  131. {bonesistools-1.2.9/tests/regression/sct/datasets → bonesistools-1.4.0/tests/regression/omics/io}/test_geo.py +8 -10
  132. {bonesistools-1.2.9/tests/regression/sct/datasets → bonesistools-1.4.0/tests/regression/omics/io}/test_nestorowa.py +33 -28
  133. {bonesistools-1.2.9/tests/regression/sct/datasets → bonesistools-1.4.0/tests/regression/omics/io}/test_registry.py +45 -26
  134. {bonesistools-1.2.9/tests/regression/sct/tools → bonesistools-1.4.0/tests/regression/omics/io}/test_write.py +30 -6
  135. bonesistools-1.4.0/tests/regression/omics/pl/__init__.py +1 -0
  136. {bonesistools-1.2.9/tests/regression/sct/plotting → bonesistools-1.4.0/tests/regression/omics/pl}/test_barplot.py +16 -16
  137. bonesistools-1.4.0/tests/regression/omics/pl/test_colors.py +161 -0
  138. {bonesistools-1.2.9/tests/regression/sct/plotting → bonesistools-1.4.0/tests/regression/omics/pl}/test_density.py +21 -21
  139. {bonesistools-1.2.9/tests/regression/sct/plotting → bonesistools-1.4.0/tests/regression/omics/pl}/test_distribution.py +61 -65
  140. {bonesistools-1.2.9/tests/regression/sct/plotting → bonesistools-1.4.0/tests/regression/omics/pl}/test_figure.py +3 -3
  141. {bonesistools-1.2.9/tests/regression/sct/plotting → bonesistools-1.4.0/tests/regression/omics/pl}/test_graph.py +15 -15
  142. {bonesistools-1.2.9/tests/regression/sct/plotting → bonesistools-1.4.0/tests/regression/omics/pl}/test_scatterplot.py +36 -36
  143. bonesistools-1.2.9/tests/regression/sct/plotting/test_plotting_utils.py → bonesistools-1.4.0/tests/regression/omics/pl/test_utils.py +1 -1
  144. bonesistools-1.4.0/tests/regression/omics/pp/__init__.py +1 -0
  145. {bonesistools-1.2.9/tests/regression/sct/preprocessing → bonesistools-1.4.0/tests/regression/omics/pp}/test_classification.py +16 -16
  146. {bonesistools-1.2.9/tests/regression/sct/preprocessing → bonesistools-1.4.0/tests/regression/omics/pp}/test_duplicates.py +15 -12
  147. {bonesistools-1.2.9/tests/regression/sct/preprocessing → bonesistools-1.4.0/tests/regression/omics/pp}/test_genename.py +33 -16
  148. {bonesistools-1.2.9/tests/regression/sct/preprocessing → bonesistools-1.4.0/tests/regression/omics/pp}/test_hvg.py +369 -54
  149. {bonesistools-1.2.9/tests/regression/sct/preprocessing → bonesistools-1.4.0/tests/regression/omics/pp}/test_qc.py +18 -18
  150. {bonesistools-1.2.9/tests/regression/sct/preprocessing → bonesistools-1.4.0/tests/regression/omics/pp}/test_simple.py +50 -25
  151. {bonesistools-1.2.9/tests/regression/sct/preprocessing → bonesistools-1.4.0/tests/regression/omics/pp}/test_transfer_obs.py +10 -10
  152. {bonesistools-1.2.9/tests/regression/sct/preprocessing → bonesistools-1.4.0/tests/regression/omics/pp}/test_transform.py +47 -47
  153. {bonesistools-1.2.9/tests/regression/sct → bonesistools-1.4.0/tests/regression/omics}/test_typing.py +24 -4
  154. bonesistools-1.4.0/tests/regression/omics/tl/__init__.py +1 -0
  155. {bonesistools-1.2.9/tests/regression/sct/tools → bonesistools-1.4.0/tests/regression/omics/tl}/test_binarize.py +3 -3
  156. {bonesistools-1.2.9/tests/regression/sct/tools → bonesistools-1.4.0/tests/regression/omics/tl}/test_clustering.py +29 -27
  157. {bonesistools-1.2.9/tests/regression/sct/tools → bonesistools-1.4.0/tests/regression/omics/tl}/test_conversion.py +15 -5
  158. {bonesistools-1.2.9/tests/regression/sct/tools → bonesistools-1.4.0/tests/regression/omics/tl}/test_embedding.py +52 -39
  159. {bonesistools-1.2.9/tests/regression/sct/tools → bonesistools-1.4.0/tests/regression/omics/tl}/test_knnsc.py +21 -21
  160. {bonesistools-1.2.9/tests/regression/sct/tools → bonesistools-1.4.0/tests/regression/omics/tl}/test_markers.py +45 -45
  161. {bonesistools-1.2.9/tests/regression/sct/tools → bonesistools-1.4.0/tests/regression/omics/tl}/test_maths.py +4 -4
  162. {bonesistools-1.2.9/tests/regression/sct/tools → bonesistools-1.4.0/tests/regression/omics/tl}/test_neighbors.py +30 -30
  163. {bonesistools-1.2.9/tests/regression/sct/tools → bonesistools-1.4.0/tests/regression/omics/tl}/test_paga.py +12 -12
  164. {bonesistools-1.2.9/tests/regression/sct/tools → bonesistools-1.4.0/tests/regression/omics/tl}/test_regress.py +8 -8
  165. {bonesistools-1.2.9/tests/regression/sct/tools → bonesistools-1.4.0/tests/regression/omics/tl}/test_stats.py +51 -49
  166. {bonesistools-1.2.9/tests/regression/sct/tools → bonesistools-1.4.0/tests/regression/omics/tl}/test_utils.py +24 -24
  167. {bonesistools-1.2.9/tests/regression/dbs → bonesistools-1.4.0/tests/regression/resources}/test_hcop.py +5 -5
  168. {bonesistools-1.2.9/tests/regression/dbs → bonesistools-1.4.0/tests/regression/resources}/test_ncbi.py +23 -23
  169. {bonesistools-1.2.9/tests/regression/dbs → bonesistools-1.4.0/tests/regression/resources}/test_omnipath.py +2 -2
  170. {bonesistools-1.2.9 → bonesistools-1.4.0}/tests/regression/test_import.py +84 -0
  171. bonesistools-1.4.0/tests/reproducibility/test_reproducibility_boolean_backends.py +60 -0
  172. {bonesistools-1.2.9 → bonesistools-1.4.0}/tests/reproducibility/test_reproducibility_omnipath.py +1 -1
  173. {bonesistools-1.2.9 → bonesistools-1.4.0}/tests/reproducibility/test_reproducibility_stats.py +3 -3
  174. {bonesistools-1.2.9 → bonesistools-1.4.0}/tests/reproducibility/test_reproducibility_workflow.py +55 -25
  175. bonesistools-1.2.9/src/bonesistools/__init__.py +0 -61
  176. bonesistools-1.2.9/src/bonesistools/boolpy/boolean_algebra/__init__.py +0 -72
  177. bonesistools-1.2.9/src/bonesistools/boolpy/boolean_algebra/_structure.py +0 -249
  178. bonesistools-1.2.9/src/bonesistools/boolpy/boolean_network/__init__.py +0 -50
  179. bonesistools-1.2.9/src/bonesistools/boolpy/plotting/__init__.py +0 -27
  180. bonesistools-1.2.9/src/bonesistools/boolpy/plotting/_graphviz.py +0 -54
  181. bonesistools-1.2.9/src/bonesistools/boolpy/plotting/_styles.py +0 -125
  182. bonesistools-1.2.9/src/bonesistools/sctools/__init__.py +0 -48
  183. bonesistools-1.2.9/src/bonesistools/sctools/datasets/__init__.py +0 -53
  184. bonesistools-1.2.9/src/bonesistools/sctools/plotting/__init__.py +0 -81
  185. bonesistools-1.2.9/tests/golden/LICENSE.txt +0 -13
  186. bonesistools-1.2.9/tests/golden/generate_expected.py +0 -21
  187. bonesistools-1.2.9/tests/regression/bpy/test_aggregated_influence_graph.py +0 -665
  188. bonesistools-1.2.9/tests/regression/bpy/test_boolean_algebra.py +0 -385
  189. bonesistools-1.2.9/tests/regression/bpy/test_boolean_network.py +0 -647
  190. bonesistools-1.2.9/tests/regression/bpy/test_boolean_network_ensemble.py +0 -372
  191. bonesistools-1.2.9/tests/regression/bpy/test_hypercube.py +0 -204
  192. bonesistools-1.2.9/tests/regression/bpy/test_hypercube_collection.py +0 -138
  193. bonesistools-1.2.9/tests/regression/bpy/test_partial_boolean.py +0 -129
  194. bonesistools-1.2.9/tests/regression/bpy/test_plotting_styles.py +0 -41
  195. bonesistools-1.2.9/tests/regression/sct/plotting/test_colors.py +0 -140
  196. {bonesistools-1.2.9 → bonesistools-1.4.0}/LICENSE +0 -0
  197. {bonesistools-1.2.9 → bonesistools-1.4.0}/src/bonesistools/_compat.py +0 -0
  198. {bonesistools-1.2.9 → bonesistools-1.4.0}/src/bonesistools/_metadata.py +0 -0
  199. {bonesistools-1.2.9 → bonesistools-1.4.0}/src/bonesistools/_typing.py +0 -0
  200. {bonesistools-1.2.9 → bonesistools-1.4.0}/src/bonesistools/_validation.py +0 -0
  201. {bonesistools-1.2.9 → bonesistools-1.4.0}/src/bonesistools/_warnings.py +0 -0
  202. {bonesistools-1.2.9/src/bonesistools/boolpy → bonesistools-1.4.0/src/bonesistools/logic}/boolean_algebra/_algebra.py +0 -0
  203. {bonesistools-1.2.9/src/bonesistools/boolpy → bonesistools-1.4.0/src/bonesistools/logic}/boolean_algebra/_typing.py +0 -0
  204. {bonesistools-1.2.9/src/bonesistools/boolpy → bonesistools-1.4.0/src/bonesistools/logic}/influence_graph/_algorithms.py +0 -0
  205. {bonesistools-1.2.9/src/bonesistools/boolpy/plotting → bonesistools-1.4.0/src/bonesistools/logic/influence_graph}/_svg.py +0 -0
  206. {bonesistools-1.2.9/src/bonesistools/boolpy → bonesistools-1.4.0/src/bonesistools/logic}/influence_graph/_typing.py +0 -0
  207. {bonesistools-1.2.9/src/bonesistools/sctools → bonesistools-1.4.0/src/bonesistools/omics}/_metadata.py +0 -0
  208. {bonesistools-1.2.9/src/bonesistools/sctools → bonesistools-1.4.0/src/bonesistools/omics}/_stats.py +0 -0
  209. {bonesistools-1.2.9/src/bonesistools/sctools → bonesistools-1.4.0/src/bonesistools/omics}/_validation.py +0 -0
  210. {bonesistools-1.2.9/src/bonesistools/sctools/datasets → bonesistools-1.4.0/src/bonesistools/omics/input_output}/_metadata.py +0 -0
  211. {bonesistools-1.2.9/src/bonesistools/sctools/datasets → bonesistools-1.4.0/src/bonesistools/omics/input_output}/_pbmc3k.py +0 -0
  212. {bonesistools-1.2.9/src/bonesistools/sctools/tools → bonesistools-1.4.0/src/bonesistools/omics/input_output}/_write.py +15 -15
  213. {bonesistools-1.2.9/src/bonesistools/sctools/datasets → bonesistools-1.4.0/src/bonesistools/omics/input_output}/datasets.json +0 -0
  214. {bonesistools-1.2.9/src/bonesistools/sctools → bonesistools-1.4.0/src/bonesistools/omics}/plotting/_typing.py +0 -0
  215. {bonesistools-1.2.9/src/bonesistools/sctools → bonesistools-1.4.0/src/bonesistools/omics}/plotting/_utils.py +0 -0
  216. {bonesistools-1.2.9/src/bonesistools/sctools → bonesistools-1.4.0/src/bonesistools/omics}/preprocessing/_filter.py +0 -0
  217. {bonesistools-1.2.9 → bonesistools-1.4.0}/src/bonesistools/py.typed +0 -0
  218. {bonesistools-1.2.9/src/bonesistools/databases → bonesistools-1.4.0/src/bonesistools/resources}/hcop/data/human_anole_lizard_hcop.tsv.gz +0 -0
  219. {bonesistools-1.2.9/src/bonesistools/databases → bonesistools-1.4.0/src/bonesistools/resources}/hcop/data/human_c.elegans_hcop.tsv.gz +0 -0
  220. {bonesistools-1.2.9/src/bonesistools/databases → bonesistools-1.4.0/src/bonesistools/resources}/hcop/data/human_cat_hcop.tsv.gz +0 -0
  221. {bonesistools-1.2.9/src/bonesistools/databases → bonesistools-1.4.0/src/bonesistools/resources}/hcop/data/human_cattle_hcop.tsv.gz +0 -0
  222. {bonesistools-1.2.9/src/bonesistools/databases → bonesistools-1.4.0/src/bonesistools/resources}/hcop/data/human_chicken_hcop.tsv.gz +0 -0
  223. {bonesistools-1.2.9/src/bonesistools/databases → bonesistools-1.4.0/src/bonesistools/resources}/hcop/data/human_chimpanzee_hcop.tsv.gz +0 -0
  224. {bonesistools-1.2.9/src/bonesistools/databases → bonesistools-1.4.0/src/bonesistools/resources}/hcop/data/human_dog_hcop.tsv.gz +0 -0
  225. {bonesistools-1.2.9/src/bonesistools/databases → bonesistools-1.4.0/src/bonesistools/resources}/hcop/data/human_fruitfly_hcop.tsv.gz +0 -0
  226. {bonesistools-1.2.9/src/bonesistools/databases → bonesistools-1.4.0/src/bonesistools/resources}/hcop/data/human_horse_hcop.tsv.gz +0 -0
  227. {bonesistools-1.2.9/src/bonesistools/databases → bonesistools-1.4.0/src/bonesistools/resources}/hcop/data/human_macaque_hcop.tsv.gz +0 -0
  228. {bonesistools-1.2.9/src/bonesistools/databases → bonesistools-1.4.0/src/bonesistools/resources}/hcop/data/human_mouse_hcop.tsv.gz +0 -0
  229. {bonesistools-1.2.9/src/bonesistools/databases → bonesistools-1.4.0/src/bonesistools/resources}/hcop/data/human_opossum_hcop.tsv.gz +0 -0
  230. {bonesistools-1.2.9/src/bonesistools/databases → bonesistools-1.4.0/src/bonesistools/resources}/hcop/data/human_pig_hcop.tsv.gz +0 -0
  231. {bonesistools-1.2.9/src/bonesistools/databases → bonesistools-1.4.0/src/bonesistools/resources}/hcop/data/human_platypus_hcop.tsv.gz +0 -0
  232. {bonesistools-1.2.9/src/bonesistools/databases → bonesistools-1.4.0/src/bonesistools/resources}/hcop/data/human_rat_hcop.tsv.gz +0 -0
  233. {bonesistools-1.2.9/src/bonesistools/databases → bonesistools-1.4.0/src/bonesistools/resources}/hcop/data/human_s.cerevisiae_hcop.tsv.gz +0 -0
  234. {bonesistools-1.2.9/src/bonesistools/databases → bonesistools-1.4.0/src/bonesistools/resources}/hcop/data/human_s.pombe_hcop.tsv.gz +0 -0
  235. {bonesistools-1.2.9/src/bonesistools/databases → bonesistools-1.4.0/src/bonesistools/resources}/hcop/data/human_xenopus_hcop.tsv.gz +0 -0
  236. {bonesistools-1.2.9/src/bonesistools/databases → bonesistools-1.4.0/src/bonesistools/resources}/hcop/data/human_zebrafish_hcop.tsv.gz +0 -0
  237. {bonesistools-1.2.9/src/bonesistools/databases → bonesistools-1.4.0/src/bonesistools/resources}/ncbi/_typing.py +0 -0
  238. {bonesistools-1.2.9/src/bonesistools/databases → bonesistools-1.4.0/src/bonesistools/resources}/ncbi/data/gi/escherichia_coli_gene_info.tsv.gz +0 -0
  239. {bonesistools-1.2.9/src/bonesistools/databases → bonesistools-1.4.0/src/bonesistools/resources}/ncbi/data/gi/homo_sapiens_gene_info.tsv.gz +0 -0
  240. {bonesistools-1.2.9/src/bonesistools/databases → bonesistools-1.4.0/src/bonesistools/resources}/ncbi/data/gi/mus_musculus_gene_info.tsv.gz +0 -0
  241. {bonesistools-1.2.9/src/bonesistools/databases → bonesistools-1.4.0/src/bonesistools/resources}/omnipath/_archive.py +0 -0
  242. {bonesistools-1.2.9 → bonesistools-1.4.0}/tests/.placeholder +0 -0
  243. {bonesistools-1.2.9 → bonesistools-1.4.0}/tests/__init__.py +0 -0
  244. {bonesistools-1.2.9 → bonesistools-1.4.0}/tests/golden/__init__.py +0 -0
  245. {bonesistools-1.2.9 → bonesistools-1.4.0}/tests/golden/conftest.py +0 -0
  246. {bonesistools-1.2.9/tests/regression → bonesistools-1.4.0/tests/golden/logic}/__init__.py +0 -0
  247. {bonesistools-1.2.9/tests/golden → bonesistools-1.4.0/tests/golden/omics}/expected/hvg_binning.npz +0 -0
  248. {bonesistools-1.2.9/tests/golden → bonesistools-1.4.0/tests/golden/omics}/expected/hvg_loess.npz +0 -0
  249. {bonesistools-1.2.9/tests/golden → bonesistools-1.4.0/tests/golden/omics}/expected/neighbors.npz +0 -0
  250. {bonesistools-1.2.9/tests/golden → bonesistools-1.4.0/tests/golden/omics}/expected/pca.npz +0 -0
  251. {bonesistools-1.2.9/tests/golden → bonesistools-1.4.0/tests/golden/omics}/expected/qc.npz +0 -0
  252. {bonesistools-1.2.9/tests/golden → bonesistools-1.4.0/tests/golden/omics}/expected/spectral.npz +0 -0
  253. {bonesistools-1.2.9/tests/golden → bonesistools-1.4.0/tests/golden/omics}/expected/tsne.npz +0 -0
  254. {bonesistools-1.2.9/tests/golden → bonesistools-1.4.0/tests/golden/omics}/expected/umap.npz +0 -0
  255. {bonesistools-1.2.9/tests/golden → bonesistools-1.4.0/tests/golden/omics}/pbmc3k.h5ad +0 -0
  256. {bonesistools-1.2.9/tests/golden → bonesistools-1.4.0/tests/golden/omics}/test_pbmc3k.py +0 -0
  257. {bonesistools-1.2.9/tests/regression/sct → bonesistools-1.4.0/tests/regression/omics}/__init__.py +0 -0
  258. {bonesistools-1.2.9/tests/regression/sct → bonesistools-1.4.0/tests/regression/omics}/conftest.py +0 -0
  259. {bonesistools-1.2.9/tests/regression/sct → bonesistools-1.4.0/tests/regression/omics}/toy_data.py +0 -0
  260. {bonesistools-1.2.9 → bonesistools-1.4.0}/tests/regression/test_validation.py +0 -0
  261. {bonesistools-1.2.9 → bonesistools-1.4.0}/tests/reproducibility/__init__.py +0 -0
  262. {bonesistools-1.2.9 → bonesistools-1.4.0}/tests/reproducibility/dorothea_current_mouse_A.sha256 +0 -0
  263. {bonesistools-1.2.9 → bonesistools-1.4.0}/tests/reproducibility/dorothea_legacy_mouse.sha256 +0 -0
@@ -32,6 +32,7 @@ venv.bak/
32
32
  .coverage.*
33
33
  coverage.xml
34
34
  htmlcov/
35
+ .cache/
35
36
  .pytest_cache/
36
37
  .mypy_cache/
37
38
  .pyright/
@@ -108,6 +109,7 @@ q.log
108
109
  src/bonesistools/databases/omnipath/.cache/
109
110
  /data/
110
111
  /results/
112
+ /benchmark_results/
111
113
  benchmarks/results/
112
114
  !tests/
113
115
  !tests/data/
@@ -124,3 +126,5 @@ tests/reproducibility/*.json
124
126
  !src/bonesistools/sctools/datasets/*.json
125
127
  !src/bonesistools/sctools/datasets/*.h5ad
126
128
  scripts/
129
+ *.zginml
130
+ !tests/golden/*.zginml
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bonesistools
3
- Version: 1.2.9
3
+ Version: 1.4.0
4
4
  Summary: Bioinformatics toolkit for upstream and downstream analyses around the BoNesis framework
5
5
  Project-URL: Repository, https://github.com/bnediction/bonesistools
6
6
  Author: Théo Roncalli
@@ -33,6 +33,7 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
33
33
  Requires-Python: >=3.7
34
34
  Requires-Dist: anndata>=0.8
35
35
  Requires-Dist: boolean-py>=4.0
36
+ Requires-Dist: clingo>=5.6
36
37
  Requires-Dist: h5py>=3.7
37
38
  Requires-Dist: importlib-metadata; python_version < '3.8'
38
39
  Requires-Dist: importlib-resources; python_version < '3.9'
@@ -44,6 +45,8 @@ Requires-Dist: scikit-learn>=1.0
44
45
  Requires-Dist: scipy>=1.7
45
46
  Requires-Dist: typing-extensions>=4.0
46
47
  Provides-Extra: all
48
+ Requires-Dist: dd<0.6,>=0.5.7; (python_version < '3.11') and extra == 'all'
49
+ Requires-Dist: dd>=0.6; (python_version >= '3.11') and extra == 'all'
47
50
  Requires-Dist: graphviz>=0.20; extra == 'all'
48
51
  Requires-Dist: igraph>=0.10; extra == 'all'
49
52
  Requires-Dist: leidenalg>=0.10; extra == 'all'
@@ -55,10 +58,13 @@ Requires-Dist: pydot>=3.0.2; extra == 'all'
55
58
  Requires-Dist: scikit-misc>=0.5; (python_version >= '3.10') and extra == 'all'
56
59
  Requires-Dist: seaborn>=0.11; extra == 'all'
57
60
  Requires-Dist: umap-learn>=0.5; extra == 'all'
61
+ Provides-Extra: bdd
62
+ Requires-Dist: dd<0.6,>=0.5.7; (python_version < '3.11') and extra == 'bdd'
63
+ Requires-Dist: dd>=0.6; (python_version >= '3.11') and extra == 'bdd'
64
+ Provides-Extra: bn
65
+ Requires-Dist: mpbn>=4.1; extra == 'bn'
58
66
  Provides-Extra: graphviz
59
67
  Requires-Dist: graphviz>=0.20; extra == 'graphviz'
60
- Provides-Extra: mpbn
61
- Requires-Dist: mpbn>=4.1; extra == 'mpbn'
62
68
  Provides-Extra: mudata
63
69
  Requires-Dist: mudata>=0.3.1; extra == 'mudata'
64
70
  Provides-Extra: omics
@@ -93,70 +99,66 @@ The package provides:
93
99
  import bonesistools as bt
94
100
  ```
95
101
 
96
- `BoNesisTools` exposes four main namespaces:
102
+ `BoNesisTools` exposes three main namespaces:
97
103
 
98
- - `bt.sct` — single-cell and multimodal annotated data tools
99
- - `bt.bpy` — Boolean modelling and graph utilities
100
- - `bt.dbs` — biological database interfaces
104
+ - `bt.omics` — single-cell and multimodal annotated data tools
105
+ - `bt.logic` — Boolean modelling and graph utilities
106
+ - `bt.resources` — biological database interfaces
101
107
 
102
108
  ---
103
109
 
104
110
  ## Single-cell tools
105
111
 
106
- `bt.sct` is inspired by [Scanpy](https://github.com/scverse/scanpy) while providing additional and complementary features for single-cell analyses.
112
+ `bt.omics` is inspired by [Scanpy](https://github.com/scverse/scanpy) while providing additional and complementary features for single-cell analyses.
107
113
 
108
114
  Submodules:
109
115
 
110
- - preprocessing: `bt.sct.pp`
116
+ - preprocessing: `bt.omics.pp`
111
117
  - expression transformations, feature selection, filtering and metadata utilities
112
118
 
113
- - tools: `bt.sct.tl`
114
- - embeddings, neighborhood graphs, clustering, differential analysis and matrix utilities
119
+ - tools: `bt.omics.tl`
120
+ - embeddings, neighborhood graphs, clustering and differential analysis
115
121
 
116
- - plotting: `bt.sct.pl`
117
- - visualization helpers for embeddings, trajectories, distributions and summaries
122
+ - input/output: `bt.omics.io`
123
+ - registered single-cell example datasets, GEO import and matrix export helpers
118
124
 
119
- - datasets: `bt.sct.datasets`
120
- - registered single-cell example datasets loaded with `bt.sct.datasets.load(...)`
125
+ - plotting: `bt.omics.pl`
126
+ - visualization helpers for embeddings, trajectories, distributions and summaries
121
127
 
122
128
  Example:
123
129
 
124
130
  ```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")
131
+ bt.omics.io.available()
132
+ bt.omics.io.info("pbmc3k")
133
+ adata = bt.omics.io.load("pbmc3k")
134
+ adata = bt.omics.io.load("nestorowa")
135
+ bt.omics.io.clear("pbmc3k")
130
136
  ```
131
137
 
132
138
  ---
133
139
 
134
140
  ## Boolean modelling utilities
135
141
 
136
- `bt.bpy` provides utilities for Boolean modelling, logical abstractions and signed regulatory graphs.
142
+ `bt.logic` provides utilities for Boolean modelling, logical abstractions and signed regulatory graphs.
137
143
 
138
144
  Submodules:
139
145
 
140
- - Boolean algebra: `bt.bpy.ba`
141
- - logical objects and transformations for Boolean-state reasoning
146
+ - Boolean algebra: `bt.logic.ba`
147
+ - logical objects, configuration sets and transformations for Boolean-state reasoning
142
148
 
143
- - Boolean network: `bt.bpy.bn`
149
+ - Boolean network: `bt.logic.bn`
144
150
  - Boolean model representation, conversion, analysis and exchange
145
151
 
146
- - influence graph: `bt.bpy.ig`
152
+ - influence graph: `bt.logic.ig`
147
153
  - signed regulatory graph construction, comparison, analysis and display
148
154
 
155
+ - input/output: `bt.logic.io`
156
+ - BNet, GINML, ZGINML, hypercube and influence-graph readers
157
+
149
158
  Example:
150
159
 
151
160
  ```python
152
- bn = bt.bpy.bn.BooleanNetwork(
153
- {
154
- "A": "B & ~C",
155
- "B": 1,
156
- "C": 0,
157
- }
158
- )
159
-
161
+ bn = bt.logic.io.read_bnet("model.bnet")
160
162
  graph = bn.to_influence_graph()
161
163
 
162
164
  graph.show()
@@ -166,26 +168,26 @@ graph.show()
166
168
 
167
169
  ## Biological external resources
168
170
 
169
- `bt.dbs` provides lightweight interfaces and utilities for biological
171
+ `bt.resources` provides lightweight interfaces and utilities for biological
170
172
  external resources.
171
173
 
172
174
  Submodules:
173
175
 
174
- - NCBI: `bt.dbs.ncbi`
176
+ - NCBI: `bt.resources.ncbi`
175
177
  - gene identifier, synonym and annotation utilities
176
178
 
177
- - OmniPath: `bt.dbs.omnipath`
179
+ - OmniPath: `bt.resources.omnipath`
178
180
  - regulatory interaction datasets
179
181
 
180
- - HCOP: `bt.dbs.hcop`
182
+ - HCOP: `bt.resources.hcop`
181
183
  - orthology resources
182
184
 
183
185
  Example:
184
186
 
185
187
  ```python
186
- genesyn = bt.dbs.ncbi.genesyn()
188
+ genesyn = bt.resources.ncbi.genesyn()
187
189
 
188
- grn = bt.dbs.omnipath.collectri(
190
+ grn = bt.resources.omnipath.collectri(
189
191
  organism="mouse",
190
192
  genesyn=genesyn,
191
193
  )
@@ -22,70 +22,66 @@ The package provides:
22
22
  import bonesistools as bt
23
23
  ```
24
24
 
25
- `BoNesisTools` exposes four main namespaces:
25
+ `BoNesisTools` exposes three main namespaces:
26
26
 
27
- - `bt.sct` — single-cell and multimodal annotated data tools
28
- - `bt.bpy` — Boolean modelling and graph utilities
29
- - `bt.dbs` — biological database interfaces
27
+ - `bt.omics` — single-cell and multimodal annotated data tools
28
+ - `bt.logic` — Boolean modelling and graph utilities
29
+ - `bt.resources` — biological database interfaces
30
30
 
31
31
  ---
32
32
 
33
33
  ## Single-cell tools
34
34
 
35
- `bt.sct` is inspired by [Scanpy](https://github.com/scverse/scanpy) while providing additional and complementary features for single-cell analyses.
35
+ `bt.omics` is inspired by [Scanpy](https://github.com/scverse/scanpy) while providing additional and complementary features for single-cell analyses.
36
36
 
37
37
  Submodules:
38
38
 
39
- - preprocessing: `bt.sct.pp`
39
+ - preprocessing: `bt.omics.pp`
40
40
  - expression transformations, feature selection, filtering and metadata utilities
41
41
 
42
- - tools: `bt.sct.tl`
43
- - embeddings, neighborhood graphs, clustering, differential analysis and matrix utilities
42
+ - tools: `bt.omics.tl`
43
+ - embeddings, neighborhood graphs, clustering and differential analysis
44
44
 
45
- - plotting: `bt.sct.pl`
46
- - visualization helpers for embeddings, trajectories, distributions and summaries
45
+ - input/output: `bt.omics.io`
46
+ - registered single-cell example datasets, GEO import and matrix export helpers
47
47
 
48
- - datasets: `bt.sct.datasets`
49
- - registered single-cell example datasets loaded with `bt.sct.datasets.load(...)`
48
+ - plotting: `bt.omics.pl`
49
+ - visualization helpers for embeddings, trajectories, distributions and summaries
50
50
 
51
51
  Example:
52
52
 
53
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")
54
+ bt.omics.io.available()
55
+ bt.omics.io.info("pbmc3k")
56
+ adata = bt.omics.io.load("pbmc3k")
57
+ adata = bt.omics.io.load("nestorowa")
58
+ bt.omics.io.clear("pbmc3k")
59
59
  ```
60
60
 
61
61
  ---
62
62
 
63
63
  ## Boolean modelling utilities
64
64
 
65
- `bt.bpy` provides utilities for Boolean modelling, logical abstractions and signed regulatory graphs.
65
+ `bt.logic` provides utilities for Boolean modelling, logical abstractions and signed regulatory graphs.
66
66
 
67
67
  Submodules:
68
68
 
69
- - Boolean algebra: `bt.bpy.ba`
70
- - logical objects and transformations for Boolean-state reasoning
69
+ - Boolean algebra: `bt.logic.ba`
70
+ - logical objects, configuration sets and transformations for Boolean-state reasoning
71
71
 
72
- - Boolean network: `bt.bpy.bn`
72
+ - Boolean network: `bt.logic.bn`
73
73
  - Boolean model representation, conversion, analysis and exchange
74
74
 
75
- - influence graph: `bt.bpy.ig`
75
+ - influence graph: `bt.logic.ig`
76
76
  - signed regulatory graph construction, comparison, analysis and display
77
77
 
78
+ - input/output: `bt.logic.io`
79
+ - BNet, GINML, ZGINML, hypercube and influence-graph readers
80
+
78
81
  Example:
79
82
 
80
83
  ```python
81
- bn = bt.bpy.bn.BooleanNetwork(
82
- {
83
- "A": "B & ~C",
84
- "B": 1,
85
- "C": 0,
86
- }
87
- )
88
-
84
+ bn = bt.logic.io.read_bnet("model.bnet")
89
85
  graph = bn.to_influence_graph()
90
86
 
91
87
  graph.show()
@@ -95,26 +91,26 @@ graph.show()
95
91
 
96
92
  ## Biological external resources
97
93
 
98
- `bt.dbs` provides lightweight interfaces and utilities for biological
94
+ `bt.resources` provides lightweight interfaces and utilities for biological
99
95
  external resources.
100
96
 
101
97
  Submodules:
102
98
 
103
- - NCBI: `bt.dbs.ncbi`
99
+ - NCBI: `bt.resources.ncbi`
104
100
  - gene identifier, synonym and annotation utilities
105
101
 
106
- - OmniPath: `bt.dbs.omnipath`
102
+ - OmniPath: `bt.resources.omnipath`
107
103
  - regulatory interaction datasets
108
104
 
109
- - HCOP: `bt.dbs.hcop`
105
+ - HCOP: `bt.resources.hcop`
110
106
  - orthology resources
111
107
 
112
108
  Example:
113
109
 
114
110
  ```python
115
- genesyn = bt.dbs.ncbi.genesyn()
111
+ genesyn = bt.resources.ncbi.genesyn()
116
112
 
117
- grn = bt.dbs.omnipath.collectri(
113
+ grn = bt.resources.omnipath.collectri(
118
114
  organism="mouse",
119
115
  genesyn=genesyn,
120
116
  )
@@ -5,7 +5,7 @@ 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.9"
8
+ version = "1.4.0"
9
9
  license = "CECILL-2.1"
10
10
  credits = ["BNeDiction", "PEPR Santé Numérique 2030"]
11
11
  authors = [
@@ -53,6 +53,7 @@ dependencies = [
53
53
  "h5py>=3.7",
54
54
  "anndata>=0.8",
55
55
  "boolean.py>=4.0",
56
+ "clingo>=5.6",
56
57
  ]
57
58
  keywords = [
58
59
  "bioinformatics",
@@ -72,6 +73,8 @@ paths = ["LICENSE"]
72
73
 
73
74
  [project.optional-dependencies]
74
75
  all = [
76
+ "dd>=0.5.7,<0.6; python_version < '3.11'",
77
+ "dd>=0.6; python_version >= '3.11'",
75
78
  "graphviz>=0.20",
76
79
  "mudata>=0.3.1",
77
80
  "multiprocess>=0.70.18",
@@ -84,9 +87,15 @@ all = [
84
87
  "umap-learn>=0.5",
85
88
  "mpbn>=4.1",
86
89
  ]
90
+ bdd = [
91
+ "dd>=0.5.7,<0.6; python_version < '3.11'",
92
+ "dd>=0.6; python_version >= '3.11'",
93
+ ]
87
94
  graphviz = [ "graphviz>=0.20" ]
88
95
  mudata = [ "mudata>=0.3.1" ]
89
- mpbn = [ "mpbn>=4.1" ]
96
+ bn = [
97
+ "mpbn>=4.1",
98
+ ]
90
99
  omics = [
91
100
  "igraph>=0.10",
92
101
  "leidenalg>=0.10",
@@ -108,9 +117,11 @@ include = [
108
117
  [tool.hatch.build.targets.wheel]
109
118
  packages = [ "src/bonesistools" ]
110
119
  artifacts = [
111
- "src/bonesistools/databases/hcop/data/*.tsv.gz",
112
- "src/bonesistools/databases/ncbi/data/gi/*.tsv.gz",
113
- "src/bonesistools/sctools/datasets/*.json",
120
+ "src/bonesistools/py.typed",
121
+ "src/bonesistools/**/*.pyi",
122
+ "src/bonesistools/resources/hcop/data/*.tsv.gz",
123
+ "src/bonesistools/resources/ncbi/data/gi/*.tsv.gz",
124
+ "src/bonesistools/omics/input_output/*.json",
114
125
  ]
115
126
 
116
127
  [project.urls]
@@ -128,7 +139,7 @@ select = ["E", "F", "I"]
128
139
  typing-modules = ["bonesistools._compat"]
129
140
 
130
141
  [tool.ruff.lint.per-file-ignores]
131
- "src/bonesistools/sctools/datasets/datasets.json" = ["E501"]
142
+ "src/bonesistools/omics/input_output/datasets.json" = ["E501"]
132
143
 
133
144
  [tool.pyright]
134
145
  typeCheckingMode = "standard"
@@ -0,0 +1,132 @@
1
+ #!/usr/bin/env python
2
+
3
+ """
4
+ BoNesisTools provides bioinformatics utilities for upstream and downstream
5
+ analyses of the BoNesis framework.
6
+
7
+ Packages
8
+ --------
9
+ omics
10
+ Single-cell and multimodal annotated data tools.
11
+ logic
12
+ Boolean modelling utilities.
13
+ resources
14
+ Biological database and prior-knowledge resources.
15
+
16
+ Credits: BNeDiction; PEPR Santé Numérique 2030.
17
+ """
18
+
19
+ from __future__ import annotations
20
+
21
+ import sys as _sys
22
+ from types import ModuleType as _ModuleType
23
+ from typing import Dict as _Dict
24
+ from typing import List as _List
25
+ from typing import Tuple as _Tuple
26
+
27
+ from . import logic, omics, resources
28
+ from ._metadata import package_version as _package_version
29
+ from ._warnings import _warn_deprecated
30
+
31
+ __credits__ = "BNeDiction; PEPR Santé Numérique 2030"
32
+ __version__ = _package_version()
33
+
34
+ __all__ = [
35
+ "__version__",
36
+ "omics",
37
+ "logic",
38
+ "resources",
39
+ ]
40
+
41
+ _DEPRECATED_ALIASES: _Dict[str, _Tuple[str, _ModuleType]] = {
42
+ "sct": ("omics", omics),
43
+ "bpy": ("logic", logic),
44
+ "dbs": ("resources", resources),
45
+ }
46
+
47
+ _sys.modules.update(
48
+ {
49
+ f"{__name__}.{alias}": module
50
+ for alias, (_, module) in _DEPRECATED_ALIASES.items()
51
+ }
52
+ )
53
+ _sys.modules[f"{__name__}.sctools"] = omics
54
+ _sys.modules[f"{__name__}.boolpy"] = logic
55
+ _sys.modules[f"{__name__}.databases"] = resources
56
+
57
+ _sys.modules.update(
58
+ {
59
+ f"{__name__}.omics.{alias}": getattr(omics, alias)
60
+ for alias in ["pp", "tl", "io", "pl"]
61
+ }
62
+ )
63
+ _sys.modules[f"{__name__}.omics.datasets"] = getattr(omics, "_datasets")
64
+ _sys.modules.update(
65
+ {
66
+ f"{__name__}.sctools.{alias}": getattr(omics, alias)
67
+ for alias in ["pp", "tl", "io", "pl"]
68
+ }
69
+ )
70
+ _sys.modules[f"{__name__}.sctools.datasets"] = getattr(omics, "_datasets")
71
+ _sys.modules.update(
72
+ {
73
+ f"{__name__}.sct.{alias}": getattr(omics, alias)
74
+ for alias in ["pp", "tl", "io", "pl"]
75
+ }
76
+ )
77
+ _sys.modules[f"{__name__}.sct.datasets"] = getattr(omics, "_datasets")
78
+
79
+ _sys.modules.update(
80
+ {
81
+ f"{__name__}.logic.{alias}": getattr(logic, alias)
82
+ for alias in ["ba", "bn", "ig", "io"]
83
+ }
84
+ )
85
+ _sys.modules.update(
86
+ {
87
+ f"{__name__}.boolpy.{alias}": getattr(logic, alias)
88
+ for alias in ["ba", "bn", "ig", "io"]
89
+ }
90
+ )
91
+
92
+ _sys.modules.update(
93
+ {
94
+ f"{__name__}.resources.{alias}": getattr(resources, alias)
95
+ for alias in ["hcop", "ncbi", "omnipath"]
96
+ }
97
+ )
98
+ _sys.modules.update(
99
+ {
100
+ f"{__name__}.dbs.{alias}": getattr(resources, alias)
101
+ for alias in ["hcop", "ncbi", "omnipath"]
102
+ }
103
+ )
104
+ _sys.modules.update(
105
+ {
106
+ f"{__name__}.databases.{alias}": getattr(resources, alias)
107
+ for alias in ["hcop", "ncbi", "omnipath"]
108
+ }
109
+ )
110
+ _sys.modules.update(
111
+ {
112
+ f"{__name__}.bpy.{alias}": getattr(logic, alias)
113
+ for alias in ["ba", "bn", "ig", "io"]
114
+ }
115
+ )
116
+
117
+
118
+ def __getattr__(name: str) -> object:
119
+ if name in _DEPRECATED_ALIASES:
120
+ replacement, module = _DEPRECATED_ALIASES[name]
121
+ _warn_deprecated(
122
+ f"`bt.{name}`",
123
+ replacement=f"`bt.{replacement}`",
124
+ stacklevel=2,
125
+ )
126
+ return module
127
+
128
+ raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
129
+
130
+
131
+ def __dir__() -> _List[str]:
132
+ return sorted(name for name in (set(globals()) | set(__all__)) if name[0] != "_")
@@ -0,0 +1,12 @@
1
+ from . import logic as logic
2
+ from . import omics as omics
3
+ from . import resources as resources
4
+
5
+ __version__: str
6
+
7
+ __all__ = [
8
+ "__version__",
9
+ "omics",
10
+ "logic",
11
+ "resources",
12
+ ]
@@ -3,8 +3,8 @@
3
3
  """
4
4
  Utilities for Boolean modelling.
5
5
 
6
- The `bpy` package provides tools for Boolean algebra, Boolean networks,
7
- influence graphs and plotting.
6
+ The `logic` package provides tools for Boolean algebra, Boolean networks,
7
+ and influence graphs.
8
8
 
9
9
  Sub-packages
10
10
  ------------
@@ -14,8 +14,8 @@ bn
14
14
  Boolean networks and logical modelling utilities.
15
15
  ig
16
16
  Influence graph utilities.
17
- pl
18
- Plotting utilities.
17
+ io
18
+ Input/output helpers.
19
19
  """
20
20
 
21
21
  from __future__ import annotations
@@ -31,19 +31,25 @@ from .._warnings import _warn_deprecated
31
31
  from . import boolean_algebra as ba
32
32
  from . import boolean_network as bn
33
33
  from . import influence_graph as ig
34
- from . import plotting as pl
34
+ from . import input_output as io
35
35
 
36
- del annotations
36
+ for _name in [
37
+ "boolean_algebra",
38
+ "boolean_network",
39
+ "influence_graph",
40
+ "input_output",
41
+ ]:
42
+ globals().pop(_name, None)
37
43
 
38
44
  _sys.modules.update(
39
- {f"{__name__}.{alias}": globals()[alias] for alias in ["ba", "bn", "ig", "pl"]}
45
+ {f"{__name__}.{alias}": globals()[alias] for alias in ["ba", "bn", "ig", "io"]}
40
46
  )
41
47
 
42
48
  _MODULES: _Dict[str, _ModuleType] = {
43
49
  "ba": ba,
44
50
  "bn": bn,
45
51
  "ig": ig,
46
- "pl": pl,
52
+ "io": io,
47
53
  }
48
54
 
49
55
  _DEPRECATED: _Dict[str, _Tuple[str, str]] = {
@@ -58,7 +64,7 @@ __all__ = [
58
64
  "ba",
59
65
  "bn",
60
66
  "ig",
61
- "pl",
67
+ "io",
62
68
  ]
63
69
 
64
70
 
@@ -66,8 +72,8 @@ def __getattr__(name: str) -> object:
66
72
  if name in _DEPRECATED:
67
73
  module_alias, attr = _DEPRECATED[name]
68
74
  _warn_deprecated(
69
- f"`bt.bpy.{name}`",
70
- replacement=f"`bt.bpy.{module_alias}.{attr}`",
75
+ f"`bt.logic.{name}`",
76
+ replacement=f"`bt.logic.{module_alias}.{attr}`",
71
77
  stacklevel=2,
72
78
  )
73
79
  return _cast(object, getattr(_MODULES[module_alias], attr))
@@ -76,4 +82,4 @@ def __getattr__(name: str) -> object:
76
82
 
77
83
 
78
84
  def __dir__() -> _List[str]:
79
- return sorted(set(globals()) | set(__all__))
85
+ return sorted(name for name in set(globals()) | set(__all__) if name[0] != "_")
@@ -0,0 +1,11 @@
1
+ from . import boolean_algebra as ba
2
+ from . import boolean_network as bn
3
+ from . import influence_graph as ig
4
+ from . import input_output as io
5
+
6
+ __all__ = [
7
+ "ba",
8
+ "bn",
9
+ "ig",
10
+ "io",
11
+ ]