From 3507b7bf0f4900f0565858aa90e8c79a290fd38b Mon Sep 17 00:00:00 2001 From: LLehner Date: Mon, 20 Feb 2023 17:35:02 +0100 Subject: [PATCH 1/5] updated read_visium() to read in spaceranger 2.0 files --- scanpy/readwrite.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/scanpy/readwrite.py b/scanpy/readwrite.py index 742595987e..38b833efe8 100644 --- a/scanpy/readwrite.py +++ b/scanpy/readwrite.py @@ -371,8 +371,13 @@ def read_visium( adata.uns["spatial"][library_id] = dict() if load_images: + tissue_positions_file = ( + path / "spatial/tissue_positions.csv" + if (path / "spatial/tissue_positions.csv").exists() + else path / "spatial/tissue_positions_list.csv" + ) files = dict( - tissue_positions_file=path / 'spatial/tissue_positions_list.csv', + tissue_positions_file=tissue_positions_file, scalefactors_json_file=path / 'spatial/scalefactors_json.json', hires_image=path / 'spatial/tissue_hires_image.png', lowres_image=path / 'spatial/tissue_lowres_image.png', @@ -410,16 +415,16 @@ def read_visium( } # read coordinates - positions = pd.read_csv(files['tissue_positions_file'], header=None) + positions = pd.read_csv(files['tissue_positions_file'], + header=1 if tissue_positions_file.name == "tissue_positions.csv" else None, + index_col=0) positions.columns = [ - 'barcode', 'in_tissue', 'array_row', 'array_col', 'pxl_col_in_fullres', 'pxl_row_in_fullres', ] - positions.index = positions['barcode'] adata.obs = adata.obs.join(positions, how="left") @@ -427,7 +432,7 @@ def read_visium( ['pxl_row_in_fullres', 'pxl_col_in_fullres'] ].to_numpy() adata.obs.drop( - columns=['barcode', 'pxl_row_in_fullres', 'pxl_col_in_fullres'], + columns=['pxl_row_in_fullres', 'pxl_col_in_fullres'], inplace=True, ) From e40400d6c39227fcbef14c8a6ab2c5445a639b59 Mon Sep 17 00:00:00 2001 From: LLehner Date: Mon, 20 Feb 2023 18:39:40 +0100 Subject: [PATCH 2/5] pre-commit fix --- scanpy/readwrite.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/scanpy/readwrite.py b/scanpy/readwrite.py index 38b833efe8..d3ccc00fc9 100644 --- a/scanpy/readwrite.py +++ b/scanpy/readwrite.py @@ -372,9 +372,9 @@ def read_visium( if load_images: tissue_positions_file = ( - path / "spatial/tissue_positions.csv" - if (path / "spatial/tissue_positions.csv").exists() - else path / "spatial/tissue_positions_list.csv" + path / "spatial/tissue_positions.csv" + if (path / "spatial/tissue_positions.csv").exists() + else path / "spatial/tissue_positions_list.csv" ) files = dict( tissue_positions_file=tissue_positions_file, @@ -415,9 +415,11 @@ def read_visium( } # read coordinates - positions = pd.read_csv(files['tissue_positions_file'], - header=1 if tissue_positions_file.name == "tissue_positions.csv" else None, - index_col=0) + positions = pd.read_csv( + files['tissue_positions_file'], + header=1 if tissue_positions_file.name == "tissue_positions.csv" else None, + index_col=0, + ) positions.columns = [ 'in_tissue', 'array_row', From e953866397b7c26d5957ed56ed17416a0fce6f4d Mon Sep 17 00:00:00 2001 From: LLehner Date: Sat, 1 Apr 2023 19:12:09 +0200 Subject: [PATCH 3/5] release notes PR 2424 --- docs/release-notes/1.10.0.md | 3 +++ docs/release-notes/1.9.3.md | 1 + 2 files changed, 4 insertions(+) diff --git a/docs/release-notes/1.10.0.md b/docs/release-notes/1.10.0.md index 4a905b2f51..0187d1c3f7 100644 --- a/docs/release-notes/1.10.0.md +++ b/docs/release-notes/1.10.0.md @@ -9,5 +9,8 @@ ```{rubric} Bug fixes ``` +* updated {func}`~scanpy.pp.read_visium` such that it can read spaceranger 2.0 files {smaller}`L Lehner` + + ```{rubric} Ecosystem ``` diff --git a/docs/release-notes/1.9.3.md b/docs/release-notes/1.9.3.md index 129d3e676f..67899dc113 100644 --- a/docs/release-notes/1.9.3.md +++ b/docs/release-notes/1.9.3.md @@ -4,3 +4,4 @@ ``` * Variety of fixes against pandas 2.0.0rc0 {pr}`2434` {smaller}`I Virshup` +* updated {func}`~scanpy.pp.read_visium` such that it can read spaceranger 2.0 files {smaller}`L Lehner` From 53644694fa607d042a5101c41ba6e8a4e58bc571 Mon Sep 17 00:00:00 2001 From: LLehner Date: Sat, 1 Apr 2023 19:18:41 +0200 Subject: [PATCH 4/5] typo --- docs/release-notes/1.10.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/release-notes/1.10.0.md b/docs/release-notes/1.10.0.md index 0187d1c3f7..521b46994b 100644 --- a/docs/release-notes/1.10.0.md +++ b/docs/release-notes/1.10.0.md @@ -9,7 +9,7 @@ ```{rubric} Bug fixes ``` -* updated {func}`~scanpy.pp.read_visium` such that it can read spaceranger 2.0 files {smaller}`L Lehner` +* Updated {func}`~scanpy.pp.read_visium` such that it can read spaceranger 2.0 files {smaller}`L Lehner` ```{rubric} Ecosystem From e0a7409868b8ecd99b7122f9c7027ce0f38a17b8 Mon Sep 17 00:00:00 2001 From: LLehner Date: Sat, 1 Apr 2023 19:39:22 +0200 Subject: [PATCH 5/5] removed release note from old version --- docs/release-notes/1.9.3.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/release-notes/1.9.3.md b/docs/release-notes/1.9.3.md index 67899dc113..129d3e676f 100644 --- a/docs/release-notes/1.9.3.md +++ b/docs/release-notes/1.9.3.md @@ -4,4 +4,3 @@ ``` * Variety of fixes against pandas 2.0.0rc0 {pr}`2434` {smaller}`I Virshup` -* updated {func}`~scanpy.pp.read_visium` such that it can read spaceranger 2.0 files {smaller}`L Lehner`