Skip to content

Commit 0f4b36a

Browse files
committed
fix FlowSOM labels attr
1 parent f880c25 commit 0f4b36a

File tree

2 files changed

+31
-5
lines changed

2 files changed

+31
-5
lines changed

src/flowsom/main.py

+21-5
Original file line numberDiff line numberDiff line change
@@ -89,21 +89,37 @@ def __init__(
8989
self._update_derived_values()
9090

9191
@property
92-
def labels_(self):
93-
"""Get the labels."""
92+
def cluster_labels(self):
93+
"""Get the cluster labels."""
9494
if "cell_data" in self.mudata.mod.keys():
9595
if "clustering" in self.mudata["cell_data"].obs_keys():
9696
return self.mudata["cell_data"].obs["clustering"]
9797
return None
9898

99-
@labels_.setter
100-
def labels_(self, value):
101-
"""Set the labels."""
99+
@cluster_labels.setter
100+
def cluster_labels(self, value):
101+
"""Set the cluster labels."""
102102
if "cell_data" in self.mudata.mod.keys():
103103
self.mudata["cell_data"].obs["clustering"] = value
104104
else:
105105
raise ValueError("No cell data found in the MuData object.")
106106

107+
@property
108+
def metacluster_labels(self):
109+
"""Get the metacluster labels."""
110+
if "cell_data" in self.mudata.mod.keys():
111+
if "clustering" in self.mudata["cell_data"].obs_keys():
112+
return self.mudata["cell_data"].obs["metaclustering"]
113+
return None
114+
115+
@metacluster_labels.setter
116+
def metacluster_labels(self, value):
117+
"""Set the metacluster labels."""
118+
if "cell_data" in self.mudata.mod.keys():
119+
self.mudata["cell_data"].obs["metaclustering"] = value
120+
else:
121+
raise ValueError("No cell data found in the MuData object.")
122+
107123
def read_input(
108124
self,
109125
inp=None,

tests/test_basic.py

+10
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import numpy as np
2+
13
import flowsom as fs
24

35

@@ -18,6 +20,14 @@ def test_FlowSOM_type(FlowSOM_res):
1820
assert isinstance(FlowSOM_res, fs.FlowSOM)
1921

2022

23+
def test_FlowSOM_cluster_labels(FlowSOM_res):
24+
assert len(np.unique(FlowSOM_res.cluster_labels)) == 100
25+
26+
27+
def test_FlowSOM_metacluster_labels(FlowSOM_res):
28+
assert len(np.unique(FlowSOM_res.metacluster_labels)) == 10
29+
30+
2131
def test_plot_stars(FlowSOM_res, tmp_path):
2232
pl = fs.pl.plot_stars(
2333
FlowSOM_res,

0 commit comments

Comments
 (0)