scFates 1.2.2__tar.gz → 1.2.4__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 (61) hide show
  1. {scfates-1.2.2/scFates.egg-info → scfates-1.2.4}/PKG-INFO +2 -2
  2. {scfates-1.2.2 → scfates-1.2.4}/pyproject.toml +1 -1
  3. {scfates-1.2.2 → scfates-1.2.4}/scFates/tools/dendrogram.py +11 -6
  4. {scfates-1.2.2 → scfates-1.2.4/scFates.egg-info}/PKG-INFO +2 -2
  5. {scfates-1.2.2 → scfates-1.2.4}/scFates.egg-info/requires.txt +1 -1
  6. {scfates-1.2.2 → scfates-1.2.4}/LICENSE +0 -0
  7. {scfates-1.2.2 → scfates-1.2.4}/MANIFEST.in +0 -0
  8. {scfates-1.2.2 → scfates-1.2.4}/README.md +0 -0
  9. {scfates-1.2.2 → scfates-1.2.4}/scFates/__init__.py +0 -0
  10. {scfates-1.2.2 → scfates-1.2.4}/scFates/datasets/__init__.py +0 -0
  11. {scfates-1.2.2 → scfates-1.2.4}/scFates/datasets/_datasets.py +0 -0
  12. {scfates-1.2.2 → scfates-1.2.4}/scFates/datasets/test.h5ad +0 -0
  13. {scfates-1.2.2 → scfates-1.2.4}/scFates/get/__init__.py +0 -0
  14. {scfates-1.2.2 → scfates-1.2.4}/scFates/get/get.py +0 -0
  15. {scfates-1.2.2 → scfates-1.2.4}/scFates/logging.py +0 -0
  16. {scfates-1.2.2 → scfates-1.2.4}/scFates/pl.py +0 -0
  17. {scfates-1.2.2 → scfates-1.2.4}/scFates/plot/__init__.py +0 -0
  18. {scfates-1.2.2 → scfates-1.2.4}/scFates/plot/binned_pseudotime_meta.py +0 -0
  19. {scfates-1.2.2 → scfates-1.2.4}/scFates/plot/covariate.py +0 -0
  20. {scfates-1.2.2 → scfates-1.2.4}/scFates/plot/dendrogram.py +0 -0
  21. {scfates-1.2.2 → scfates-1.2.4}/scFates/plot/features.py +0 -0
  22. {scfates-1.2.2 → scfates-1.2.4}/scFates/plot/linearity_deviation.py +0 -0
  23. {scfates-1.2.2 → scfates-1.2.4}/scFates/plot/matrix.py +0 -0
  24. {scfates-1.2.2 → scfates-1.2.4}/scFates/plot/milestones.py +0 -0
  25. {scfates-1.2.2 → scfates-1.2.4}/scFates/plot/module_inclusion.py +0 -0
  26. {scfates-1.2.2 → scfates-1.2.4}/scFates/plot/modules.py +0 -0
  27. {scfates-1.2.2 → scfates-1.2.4}/scFates/plot/palette_tools.py +0 -0
  28. {scfates-1.2.2 → scfates-1.2.4}/scFates/plot/palettes.py +0 -0
  29. {scfates-1.2.2 → scfates-1.2.4}/scFates/plot/slide_cors.py +0 -0
  30. {scfates-1.2.2 → scfates-1.2.4}/scFates/plot/synchro_path.py +0 -0
  31. {scfates-1.2.2 → scfates-1.2.4}/scFates/plot/test_association.py +0 -0
  32. {scfates-1.2.2 → scfates-1.2.4}/scFates/plot/test_fork.py +0 -0
  33. {scfates-1.2.2 → scfates-1.2.4}/scFates/plot/trajectory.py +0 -0
  34. {scfates-1.2.2 → scfates-1.2.4}/scFates/plot/utils.py +0 -0
  35. {scfates-1.2.2 → scfates-1.2.4}/scFates/pp.py +0 -0
  36. {scfates-1.2.2 → scfates-1.2.4}/scFates/preprocessing/__init__.py +0 -0
  37. {scfates-1.2.2 → scfates-1.2.4}/scFates/preprocessing/diffusion.py +0 -0
  38. {scfates-1.2.2 → scfates-1.2.4}/scFates/preprocessing/pagoda2.py +0 -0
  39. {scfates-1.2.2 → scfates-1.2.4}/scFates/settings.py +0 -0
  40. {scfates-1.2.2 → scfates-1.2.4}/scFates/tests/test_w_plots.py +0 -0
  41. {scfates-1.2.2 → scfates-1.2.4}/scFates/tl.py +0 -0
  42. {scfates-1.2.2 → scfates-1.2.4}/scFates/tools/__init__.py +0 -0
  43. {scfates-1.2.2 → scfates-1.2.4}/scFates/tools/_test_monocle3.R +0 -0
  44. {scfates-1.2.2 → scfates-1.2.4}/scFates/tools/bifurcation_tools.py +0 -0
  45. {scfates-1.2.2 → scfates-1.2.4}/scFates/tools/cluster.py +0 -0
  46. {scfates-1.2.2 → scfates-1.2.4}/scFates/tools/conversion.py +0 -0
  47. {scfates-1.2.2 → scfates-1.2.4}/scFates/tools/correlation_tools.py +0 -0
  48. {scfates-1.2.2 → scfates-1.2.4}/scFates/tools/covariate.py +0 -0
  49. {scfates-1.2.2 → scfates-1.2.4}/scFates/tools/fit.py +0 -0
  50. {scfates-1.2.2 → scfates-1.2.4}/scFates/tools/graph_fitting.py +0 -0
  51. {scfates-1.2.2 → scfates-1.2.4}/scFates/tools/graph_operations.py +0 -0
  52. {scfates-1.2.2 → scfates-1.2.4}/scFates/tools/linearity_deviation.py +0 -0
  53. {scfates-1.2.2 → scfates-1.2.4}/scFates/tools/pseudotime.py +0 -0
  54. {scfates-1.2.2 → scfates-1.2.4}/scFates/tools/root.py +0 -0
  55. {scfates-1.2.2 → scfates-1.2.4}/scFates/tools/slide_cors.py +0 -0
  56. {scfates-1.2.2 → scfates-1.2.4}/scFates/tools/test_association.py +0 -0
  57. {scfates-1.2.2 → scfates-1.2.4}/scFates/tools/utils.py +0 -0
  58. {scfates-1.2.2 → scfates-1.2.4}/scFates.egg-info/SOURCES.txt +0 -0
  59. {scfates-1.2.2 → scfates-1.2.4}/scFates.egg-info/dependency_links.txt +0 -0
  60. {scfates-1.2.2 → scfates-1.2.4}/scFates.egg-info/top_level.txt +0 -0
  61. {scfates-1.2.2 → scfates-1.2.4}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: scFates
3
- Version: 1.2.2
3
+ Version: 1.2.4
4
4
  Summary: scanpy compatible python suite for fast tree inference and advanced pseudotime downstream analysis
5
5
  Author: Louis Faure
6
6
  Project-URL: Repository, https://github.com/LouisFaure/scFates
@@ -26,7 +26,7 @@ Requires-Dist: typing_extensions
26
26
  Requires-Dist: scikit-learn
27
27
  Requires-Dist: scikit-misc
28
28
  Requires-Dist: simpleppt>=1.1.3
29
- Requires-Dist: elpigraph-python==0.3.2
29
+ Requires-Dist: elpigraph-python>=0.3.4
30
30
  Requires-Dist: networkx>3.0
31
31
  Requires-Dist: igraph>=0.9.6
32
32
  Requires-Dist: adjustText>=0.7.3
@@ -31,7 +31,7 @@ dependencies = [
31
31
  "scikit-learn",
32
32
  "scikit-misc",
33
33
  "simpleppt>=1.1.3",
34
- "elpigraph-python==0.3.2",
34
+ "elpigraph-python>=0.3.4",
35
35
  "networkx>3.0",
36
36
  "igraph>=0.9.6",
37
37
  "adjustText>=0.7.3",
@@ -82,12 +82,17 @@ def dendrogram(adata: anndata.AnnData, crowdedness: float = 1):
82
82
  df["seg_pos"] = df.seg.astype(str)
83
83
  df["t"] = -df.t
84
84
 
85
- for i, x in enumerate(newseg):
86
- df.loc[df.seg == newseg.index[i], "seg_pos"] = x
87
-
88
- df.seg_pos = df.seg_pos.astype("category").cat.rename_categories(
89
- range(len(df.seg_pos.unique()))
90
- )
85
+ # Sort newseg BEFORE assigning positions to cells
86
+ # This ensures the categorical mapping matches the dendrogram segment order
87
+ newseg_sorted = newseg.iloc[newseg.argsort()]
88
+
89
+ # Create mapping from segment ID to sorted position index
90
+ seg_to_pos = {seg_id: i for i, seg_id in enumerate(newseg_sorted.index)}
91
+
92
+ # Assign positions to cells based on sorted order
93
+ for seg_id, pos_idx in seg_to_pos.items():
94
+ df.loc[df.seg == seg_id, "seg_pos"] = pos_idx
95
+
91
96
  df.seg_pos = df.seg_pos.astype(int).astype("category")
92
97
 
93
98
  dend = stripplot(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: scFates
3
- Version: 1.2.2
3
+ Version: 1.2.4
4
4
  Summary: scanpy compatible python suite for fast tree inference and advanced pseudotime downstream analysis
5
5
  Author: Louis Faure
6
6
  Project-URL: Repository, https://github.com/LouisFaure/scFates
@@ -26,7 +26,7 @@ Requires-Dist: typing_extensions
26
26
  Requires-Dist: scikit-learn
27
27
  Requires-Dist: scikit-misc
28
28
  Requires-Dist: simpleppt>=1.1.3
29
- Requires-Dist: elpigraph-python==0.3.2
29
+ Requires-Dist: elpigraph-python>=0.3.4
30
30
  Requires-Dist: networkx>3.0
31
31
  Requires-Dist: igraph>=0.9.6
32
32
  Requires-Dist: adjustText>=0.7.3
@@ -17,7 +17,7 @@ typing_extensions
17
17
  scikit-learn
18
18
  scikit-misc
19
19
  simpleppt>=1.1.3
20
- elpigraph-python==0.3.2
20
+ elpigraph-python>=0.3.4
21
21
  networkx>3.0
22
22
  igraph>=0.9.6
23
23
  adjustText>=0.7.3
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes