mnnpy icon indicating copy to clipboard operation
mnnpy copied to clipboard

Cosine Normalization error

Open julien-kann opened this issue 7 years ago • 8 comments

corrected = mnnpy.mnn_correct(D1, D4, var_subset=Gene_list, batch_categories =["Day1","Day4"])

Performing cosine normalization... multiprocessing.pool.RemoteTraceback: """ Traceback (most recent call last): File "/projects/academic/gbcstaff/utils/anaconda/lib/python3.6/multiprocessing/pool.py", line 119, in worker result = (True, func(*args, **kwds)) File "/projects/academic/gbcstaff/utils/anaconda/lib/python3.6/multiprocessing/pool.py", line 44, in mapstar return list(map(*args)) File "/projects/academic/gbcstaff/utils/anaconda/lib/python3.6/site-packages/numpy/linalg/linalg.py", line 2287, in norm return sqrt(add.reduce(s, axis=axis, keepdims=keepdims)) numpy.core._internal.AxisError: axis 1 is out of bounds for array of dimension 0 """

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "Preprocessing.py", line 65, in corrected = mnnpy.mnn_correct(D1, D4, var_subset=Gene_list, batch_categories =["Day1","Day4"]) File "/projects/academic/gbcstaff/utils/anaconda/lib/python3.6/site-packages/mnnpy/mnn.py", line 126, in mnn_correct svd_mode=svd_mode, do_concatenate=do_concatenate, **kwargs) File "/projects/academic/gbcstaff/utils/anaconda/lib/python3.6/site-packages/mnnpy/mnn.py", line 157, in mnn_correct var_subset, n_jobs) File "/projects/academic/gbcstaff/utils/anaconda/lib/python3.6/site-packages/mnnpy/utils.py", line 50, in transform_input_data in_scaling = p_n.map(l2_norm, in_batches) File "/projects/academic/gbcstaff/utils/anaconda/lib/python3.6/multiprocessing/pool.py", line 266, in map return self._map_async(func, iterable, mapstar, chunksize).get() File "/projects/academic/gbcstaff/utils/anaconda/lib/python3.6/multiprocessing/pool.py", line 644, in get raise self._value numpy.core._internal.AxisError: axis 1 is out of bounds for array of dimension 0

julien-kann avatar May 10 '18 17:05 julien-kann

Both D1 and D4 are anndata objects, Gene_list is a list of genes I would like to use

julien-kann avatar May 10 '18 19:05 julien-kann

Looks like it's python's multiprocess problem, in the next version I will make a workaround

chriscainx avatar May 12 '18 06:05 chriscainx

Hi Julien, could you update to 0.1.9.3 and check if the error occurs? Thank you!

chriscainx avatar May 24 '18 08:05 chriscainx

Thanks for reaching out! I tried my same code this morning but a new error has been triggered.

Performing cosine normalization... multiprocessing.pool.RemoteTraceback: """ Traceback (most recent call last): File "utils/anaconda/lib/python3.6/multiprocessing/pool.py", line 119, in worker result = (True, func(*args, **kwds)) File "utils/anaconda/lib/python3.6/multiprocessing/pool.py", line 44, in mapstar return list(map(*args)) File "utils/anaconda/lib/python3.6/site-packages/numpy/linalg/linalg.py", line 2287, in norm return sqrt(add.reduce(s, axis=axis, keepdims=keepdims)) numpy.core._internal.AxisError: axis 1 is out of bounds for array of dimension 0 """

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "Preprocessing.py", line 65, in corrected = mnnpy.mnn_correct(D1, D4, var_subset=Gene_list, batch_categories =["Day1","Day4"]) File "utils/anaconda/lib/python3.6/site-packages/mnnpy/mnn.py", line 126, in mnn_correct svd_mode=svd_mode, do_concatenate=do_concatenate, **kwargs) File "utils/anaconda/lib/python3.6/site-packages/mnnpy/mnn.py", line 157, in mnn_correct var_subset, n_jobs) File "utils/anaconda/lib/python3.6/site-packages/mnnpy/utils.py", line 53, in transform_input_data in_scaling = p_n.map(l2_norm, in_batches) File "utils/anaconda/lib/python3.6/multiprocessing/pool.py", line 266, in map return self._map_async(func, iterable, mapstar, chunksize).get() File "utils/anaconda/lib/python3.6/multiprocessing/pool.py", line 644, in get raise self._value numpy.core._internal.AxisError: axis 1 is out of bounds for array of dimension 0

Let me know what you think! Julien

On Thu, May 24, 2018 at 4:40 AM, Chris Kang [email protected] wrote:

Hi Julien, could you update to 0.1.9.3 and check if the error occurs? Thank you!

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/chriscainx/mnnpy/issues/6#issuecomment-391636223, or mute the thread https://github.com/notifications/unsubscribe-auth/AQaKht9FKjwd7V3dicsaIMXHf-gpNXU_ks5t1nIAgaJpZM4T6SjI .

-- Julien Kann Bioinformatics Data Analyst UB Genomics and Bioinformatics Core

julien-kann avatar May 24 '18 13:05 julien-kann

I may have figured out a work around.

I used this code instead: corrected = mnnpy.mnn_correct([D1, D4], var_subset=Gene_list, batch_categories =["Day1","Day4"])

adata = corrected[0]

print(D1) print(D4) print(adata)

The output of this is: AnnData object with n_obs × n_vars = 1930 × 33694 obs: 'n_counts' AnnData object with n_obs × n_vars = 1038 × 33694 obs: 'n_counts' [AnnData object with n_obs × n_vars = 1930 × 33694 obs: 'n_counts', AnnData object with n_obs × n_vars = 1038 × 33694 obs: 'n_counts']

Is this working as intended now?

On Thu, May 24, 2018 at 9:21 AM, Julien Kann [email protected] wrote:

Thanks for reaching out! I tried my same code this morning but a new error has been triggered.

Performing cosine normalization... multiprocessing.pool.RemoteTraceback: """ Traceback (most recent call last): File "utils/anaconda/lib/python3.6/multiprocessing/pool.py", line 119, in worker result = (True, func(*args, **kwds)) File "utils/anaconda/lib/python3.6/multiprocessing/pool.py", line 44, in mapstar return list(map(*args)) File "utils/anaconda/lib/python3.6/site-packages/numpy/linalg/linalg.py", line 2287, in norm return sqrt(add.reduce(s, axis=axis, keepdims=keepdims)) numpy.core._internal.AxisError: axis 1 is out of bounds for array of dimension 0 """

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "Preprocessing.py", line 65, in corrected = mnnpy.mnn_correct(D1, D4, var_subset=Gene_list, batch_categories =["Day1","Day4"]) File "utils/anaconda/lib/python3.6/site-packages/mnnpy/mnn.py", line 126, in mnn_correct svd_mode=svd_mode, do_concatenate=do_concatenate, **kwargs) File "utils/anaconda/lib/python3.6/site-packages/mnnpy/mnn.py", line 157, in mnn_correct var_subset, n_jobs) File "utils/anaconda/lib/python3.6/site-packages/mnnpy/utils.py", line 53, in transform_input_data in_scaling = p_n.map(l2_norm, in_batches) File "utils/anaconda/lib/python3.6/multiprocessing/pool.py", line 266, in map return self._map_async(func, iterable, mapstar, chunksize).get() File "utils/anaconda/lib/python3.6/multiprocessing/pool.py", line 644, in get raise self._value numpy.core._internal.AxisError: axis 1 is out of bounds for array of dimension 0

Let me know what you think! Julien

On Thu, May 24, 2018 at 4:40 AM, Chris Kang [email protected] wrote:

Hi Julien, could you update to 0.1.9.3 and check if the error occurs? Thank you!

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/chriscainx/mnnpy/issues/6#issuecomment-391636223, or mute the thread https://github.com/notifications/unsubscribe-auth/AQaKht9FKjwd7V3dicsaIMXHf-gpNXU_ks5t1nIAgaJpZM4T6SjI .

-- Julien Kann Bioinformatics Data Analyst UB Genomics and Bioinformatics Core

-- Julien Kann Bioinformatics Data Analyst UB Genomics and Bioinformatics Core

julien-kann avatar May 24 '18 13:05 julien-kann

When I try to sc.pp.scale()

I get this result : AttributeError: 'list' object has no attribute 'mean'

On Thu, May 24, 2018 at 9:24 AM, Julien Kann [email protected] wrote:

I may have figured out a work around.

I used this code instead: corrected = mnnpy.mnn_correct([D1, D4], var_subset=Gene_list, batch_categories =["Day1","Day4"])

adata = corrected[0]

print(D1) print(D4) print(adata)

The output of this is: AnnData object with n_obs × n_vars = 1930 × 33694 obs: 'n_counts' AnnData object with n_obs × n_vars = 1038 × 33694 obs: 'n_counts' [AnnData object with n_obs × n_vars = 1930 × 33694 obs: 'n_counts', AnnData object with n_obs × n_vars = 1038 × 33694 obs: 'n_counts']

Is this working as intended now?

On Thu, May 24, 2018 at 9:21 AM, Julien Kann [email protected] wrote:

Thanks for reaching out! I tried my same code this morning but a new error has been triggered.

Performing cosine normalization... multiprocessing.pool.RemoteTraceback: """ Traceback (most recent call last): File "utils/anaconda/lib/python3.6/multiprocessing/pool.py", line 119, in worker result = (True, func(*args, **kwds)) File "utils/anaconda/lib/python3.6/multiprocessing/pool.py", line 44, in mapstar return list(map(*args)) File "utils/anaconda/lib/python3.6/site-packages/numpy/linalg/linalg.py", line 2287, in norm return sqrt(add.reduce(s, axis=axis, keepdims=keepdims)) numpy.core._internal.AxisError: axis 1 is out of bounds for array of dimension 0 """

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "Preprocessing.py", line 65, in corrected = mnnpy.mnn_correct(D1, D4, var_subset=Gene_list, batch_categories =["Day1","Day4"]) File "utils/anaconda/lib/python3.6/site-packages/mnnpy/mnn.py", line 126, in mnn_correct svd_mode=svd_mode, do_concatenate=do_concatenate, **kwargs) File "utils/anaconda/lib/python3.6/site-packages/mnnpy/mnn.py", line 157, in mnn_correct var_subset, n_jobs) File "utils/anaconda/lib/python3.6/site-packages/mnnpy/utils.py", line 53, in transform_input_data in_scaling = p_n.map(l2_norm, in_batches) File "utils/anaconda/lib/python3.6/multiprocessing/pool.py", line 266, in map return self._map_async(func, iterable, mapstar, chunksize).get() File "utils/anaconda/lib/python3.6/multiprocessing/pool.py", line 644, in get raise self._value numpy.core._internal.AxisError: axis 1 is out of bounds for array of dimension 0

Let me know what you think! Julien

On Thu, May 24, 2018 at 4:40 AM, Chris Kang [email protected] wrote:

Hi Julien, could you update to 0.1.9.3 and check if the error occurs? Thank you!

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/chriscainx/mnnpy/issues/6#issuecomment-391636223, or mute the thread https://github.com/notifications/unsubscribe-auth/AQaKht9FKjwd7V3dicsaIMXHf-gpNXU_ks5t1nIAgaJpZM4T6SjI .

-- Julien Kann Bioinformatics Data Analyst UB Genomics and Bioinformatics Core

-- Julien Kann Bioinformatics Data Analyst UB Genomics and Bioinformatics Core

-- Julien Kann Bioinformatics Data Analyst UB Genomics and Bioinformatics Core

julien-kann avatar May 24 '18 13:05 julien-kann

Doesn't look right, could you add mnnpy.settings.normalization='seq' in the front (to circumvent python multiprocessing) and use the old code?

chriscainx avatar May 24 '18 14:05 chriscainx

File "Preprocessing.py", line 65, in corrected = mnnpy.mnn_correct(D1, D4, var_subset=Gene_list, batch_categories =["Day1","Day4"]) File "/utils/anaconda/lib/python3.6/site-packages/mnnpy/mnn.py", line 126, in mnn_correct svd_mode=svd_mode, do_concatenate=do_concatenate, **kwargs) File "/utils/anaconda/lib/python3.6/site-packages/mnnpy/mnn.py", line 157, in mnn_correct var_subset, n_jobs) File "/utils/anaconda/lib/python3.6/site-packages/mnnpy/utils.py", line 55, in transform_input_data in_scaling = [l2_norm(b) for b in in_batches] File "/utils/anaconda/lib/python3.6/site-packages/mnnpy/utils.py", line 55, in in_scaling = [l2_norm(b) for b in in_batches] File "/utils/anaconda/lib/python3.6/site-packages/numpy/linalg/linalg.py", line 2287, in norm return sqrt(add.reduce(s, axis=axis, keepdims=keepdims)) numpy.core._internal.AxisError: axis 1 is out of bounds for array of dimension 0

On Thu, May 24, 2018 at 10:36 AM, Chris Kang [email protected] wrote:

Doesn't look right, could you add mnnpy.settings.normalization='seq' in the front (to circumvent python multiprocessing) and use the old code?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/chriscainx/mnnpy/issues/6#issuecomment-391738046, or mute the thread https://github.com/notifications/unsubscribe-auth/AQaKhg2yBs8V_syMw8RnB6VEpJHx14zQks5t1sVWgaJpZM4T6SjI .

-- Julien Kann Bioinformatics Data Analyst UB Genomics and Bioinformatics Core

julien-kann avatar May 24 '18 16:05 julien-kann