chriscainx / mnnpy

An implementation of MNN (Mutual Nearest Neighbors) correct in python.
BSD 3-Clause "New" or "Revised" License
71 stars 31 forks source link

Unexpected keyword argument {'n_jobs': 8} #56

Open Tester3454 opened 7 months ago

Tester3454 commented 7 months ago

I'm running into an issue when I try to run the function in preparation for integrating my datasets.

I tried the solution listed in issue #49 ( Temporarily switching to scipy=1.8.1), but that did not work.

`Performing cosine normalization... Starting MNN correct iteration. Reference batch: 0 Step 1 of 1: processing batch 1 Looking for MNNs...


TypeError Traceback (most recent call last) Cell In[12], line 1 ----> 1 cdata = sc.external.pp.mnn_correct(data1,data2, svd_dim = 50, batch_key = 'dataset', batch_categories = ['set1','set2',], save_raw = True, var_subset = var_genes)

File ~\Anaconda3\envs\spapros\lib\site-packages\scanpy\external\pp_mnn_correct.py:135, in mnn_correct(var_index, var_subset, batch_key, index_unique, batch_categories, k, sigma, cos_norm_in, cos_norm_out, svd_dim, var_adj, compute_angle, mnn_order, svd_mode, do_concatenate, save_raw, n_jobs, *datas, *kwargs) 129 raise ImportError( 130 'Please install the package mnnpy ' 131 '(https://github.com/chriscainx/mnnpy). ' 132 ) 134 n_jobs = settings.n_jobs if n_jobs is None else n_jobs --> 135 datas, mnn_list, angle_list = mnn_correct( 136 datas, 137 var_index=var_index, 138 var_subset=var_subset, 139 batch_key=batch_key, 140 index_unique=index_unique, 141 batch_categories=batch_categories, 142 k=k, 143 sigma=sigma, 144 cos_norm_in=cos_norm_in, 145 cos_norm_out=cos_norm_out, 146 svd_dim=svd_dim, 147 var_adj=var_adj, 148 compute_angle=compute_angle, 149 mnn_order=mnn_order, 150 svd_mode=svd_mode, 151 do_concatenate=do_concatenate, 152 save_raw=save_raw, 153 n_jobs=n_jobs, 154 **kwargs, 155 ) 156 return datas, mnn_list, angle_list

File ~\Anaconda3\envs\spapros\lib\site-packages\mnnpy\mnn.py:122, in mnn_correct(var_index, var_subset, batch_key, index_unique, batch_categories, k, sigma, cos_norm_in, cos_norm_out, svd_dim, var_adj, compute_angle, mnn_order, svd_mode, do_concatenate, save_raw, n_jobs, *datas, *kwargs) 120 if var_subset is not None and set(adata_vars) == set(var_subset): 121 var_subset = None --> 122 corrected = mnn_correct((adata.X for adata in datas), var_index=adata_vars, 123 var_subset=var_subset, k=k, sigma=sigma, cos_norm_in=cos_norm_in, 124 cos_norm_out=cos_norm_out, svd_dim=svd_dim, var_adj=var_adj, 125 compute_angle=compute_angle, mnn_order=mnn_order, 126 svd_mode=svd_mode, do_concatenate=do_concatenate, **kwargs) 127 print('Packing AnnData object...') 128 if do_concatenate:

File ~\Anaconda3\envs\spapros\lib\site-packages\mnnpy\mnn.py:178, in mnn_correct(var_index, var_subset, batch_key, index_unique, batch_categories, k, sigma, cos_norm_in, cos_norm_out, svd_dim, var_adj, compute_angle, mnn_order, svd_mode, do_concatenate, save_raw, n_jobs, *datas, **kwargs) 176 new_batch_out = out_batches[target] 177 print(' Looking for MNNs...') --> 178 mnn_ref, mnn_new = find_mutual_nn(data1=ref_batch_in, data2=new_batch_in, k1=k, k2=k, 179 n_jobs=n_jobs) 180 print(' Computing correction vectors...') 181 correction_in = compute_correction(ref_batch_in, new_batch_in, mnn_ref, mnn_new, 182 new_batch_in, sigma)

File _ckdtree.pyx:783, in scipy.spatial._ckdtree.cKDTree.query()

File _ckdtree.pyx:387, in scipy.spatial._ckdtree.get_num_workers()

TypeError: Unexpected keyword argument {'n_jobs': 8}

`