From 9a5d5591e1c899722bbbe023ee19c2073180e727 Mon Sep 17 00:00:00 2001 From: Artem Vysogorets Date: Wed, 2 Apr 2025 11:43:00 -0400 Subject: [PATCH] copy-layers --- scgpt/preprocess.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/scgpt/preprocess.py b/scgpt/preprocess.py index 0f6603b5..c79df977 100644 --- a/scgpt/preprocess.py +++ b/scgpt/preprocess.py @@ -7,6 +7,8 @@ from scanpy.get import _get_obs_rep, _set_obs_rep from anndata import AnnData +from copy import deepcopy + from scgpt import logger @@ -144,7 +146,7 @@ def __call__(self, adata: AnnData, batch_key: Optional[str] = None) -> Dict: if self.result_log1p_key: _set_obs_rep( adata, - _get_obs_rep(adata, layer=key_to_process), + deepcopy(_get_obs_rep(adata, layer=key_to_process)), layer=self.result_log1p_key, ) key_to_process = self.result_log1p_key @@ -178,7 +180,7 @@ def __call__(self, adata: AnnData, batch_key: Optional[str] = None) -> Dict: n_bins = self.binning # NOTE: the first bin is always a spectial for zero binned_rows = [] bin_edges = [] - layer_data = _get_obs_rep(adata, layer=key_to_process) + layer_data = deepcopy(_get_obs_rep(adata, layer=key_to_process)) layer_data = layer_data.toarray() if issparse(layer_data) else layer_data if layer_data.min() < 0: raise ValueError(