mnnpy icon indicating copy to clipboard operation
mnnpy copied to clipboard

error when set cos_norm_out=False

Open yupingz opened this issue 6 years ago • 3 comments

corrected = mnnpy.mnn_correct(a,b,var_index=gene, var_subset=hvgs, batch_categories = ["A", "B"], cos_norm_out=False) Inputs are AnnData objects, var_index ignored. Performing cosine normalization... Traceback (most recent call last): File "", line 1, in File "/usr/local/lib/python3.7/site-packages/mnnpy/mnn.py", line 126, in mnn_correct svd_mode=svd_mode, do_concatenate=do_concatenate, **kwargs) File "/usr/local/lib/python3.7/site-packages/mnnpy/mnn.py", line 157, in mnn_correct var_subset, n_jobs) File "/usr/local/lib/python3.7/site-packages/mnnpy/utils.py", line 83, in transform_input_data return in_batches, out_batches, var_sub_index, same_set UnboundLocalError: local variable 'out_batches' referenced before assignment

yupingz avatar Aug 30 '18 12:08 yupingz

I ran into the same error. Minimal example to reproduce:

import mnnpy
import scanpy.api as sc

sc.logging.print_versions()
adata1 = sc.datasets.blobs()
adata2 = sc.datasets.blobs()
mnnpy.mnn_correct(adata1, adata2, cos_norm_out=False)

When lookiing at utils.py it becomes clear that out_batches is not assigned in the function transform_input_data. I'm just not sure what should be assigned to out_batches in that case. I sit just out_batches = datas?

fbnrst avatar Sep 21 '18 10:09 fbnrst

I have the same problem. Did anyone find a solution yet?

LisaSikkema avatar Feb 21 '19 20:02 LisaSikkema

I think they just forgot to add one line (based on my understanding of the code and the MNN code in R). I created a fork with the corrected code, it can be found here: https://github.com/LisaSikkema/mnnpy

LisaSikkema avatar Feb 22 '19 17:02 LisaSikkema