Skip to content

Commit 62b45e6

Browse files
committed
adding test_deconcatenate.py
1 parent 433014e commit 62b45e6

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

tests/test_deconcatenate.py

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
from anndata import AnnData
2+
from spatialdata_io.converters.legacy_anndata import to_legacy_anndata
3+
from spatialdata import SpatialData, match_sdata_to_table
4+
5+
def test_deconcatenate(
6+
full_sdata: SpatialData,
7+
by: str,
8+
target_coordinate_system: str,
9+
sdata_table_name: str = "table",
10+
region_key: str = "region",
11+
join: str = "right") -> AnnData:
12+
"""
13+
From a `SpatialData` object containing multiple regions, subset to a single region and return as an AnnData object.
14+
15+
Parameters
16+
----------
17+
full_sdata : SpatialData
18+
`SpatialData` object containing regions to deconcatenate.
19+
by : str
20+
Value in `region_key` to use for subsetting.
21+
target_coordinate_system : str
22+
Coordinate system to use to populate `AnnData` object.
23+
sdata_table_name : str, optional
24+
Name of the table in `full_sdata` to subset. Default is "table".
25+
region_key : str, optional
26+
Name of obs column to filter `full_sdata` on. Default is "region".
27+
join : str, optional
28+
Join method to use in `match_sdata_to_table`. Default is "right" to keep all rows in the table.
29+
30+
Returns
31+
-------
32+
AnnData
33+
An `AnnData` object containing a subset of `full_sdata` filtered according to `region_key == by`.
34+
"""
35+
36+
sdata_table = full_sdata[sdata_table_name]
37+
38+
#maybe add "table" parameter coupled with "table_name" to follow match_sdata_to_table structure?
39+
sdata_deconcat = match_sdata_to_table(full_sdata, table=sdata_table[sdata_table.obs[region_key] == by], table_name="table_name_test", how=join)
40+
adata = to_legacy_anndata(sdata_deconcat, coordinate_system=target_coordinate_system, table_name="table_name_test", include_images=False)
41+
#TODO: support for adding images to anndata object?
42+
43+
return adata

0 commit comments

Comments
 (0)