Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

issue opening .loom file #924

Closed
koalap-2018 opened this issue Nov 15, 2019 · 2 comments
Closed

issue opening .loom file #924

koalap-2018 opened this issue Nov 15, 2019 · 2 comments
Labels

Comments

@koalap-2018
Copy link

koalap-2018 commented Nov 15, 2019

Hi guys,
I am trying to open a .loom file from : http://scope.aertslab.org/#/53d2bb24-9335-48d4-b874-eab05dd8c690/Aerts_Fly_AdultBrain_Filtered_57k.loom/gene

I can open the .loom file by:

loom_object = loompy.connect('Aerts_Fly_AdultBrain_Filtered_57k.loom', validate=False)

However i would like to open it with scanpy by:

loom_file = sc.read_loom('Aerts_Fly_AdultBrain_Filtered_57k.loom', validate=False)

and i get the following error:

---------------------------------------------------------------------------
Exception                                 Traceback (most recent call last)
<ipython-input-26-3a0e0ee3248f> in <module>()
----> 1 loom_file=sc.read_loom('Aerts_Fly_AdultBrain_Filtered_57k.loom',validate=False)

~\AppData\Local\Continuum\anaconda3\lib\site-packages\anndata\readwrite\read.py in read_loom(filename, sparse, cleanup, X_name, obs_names, var_names, dtype, **kwargs)
    184             var=var,
    185             layers=layers,
--> 186             dtype=dtype)
    187     return adata
    188 

~\AppData\Local\Continuum\anaconda3\lib\site-packages\anndata\base.py in __init__(self, X, obs, var, uns, obsm, varm, layers, raw, dtype, shape, filename, filemode, asview, oidx, vidx)
    670                 layers=layers,
    671                 dtype=dtype, shape=shape,
--> 672                 filename=filename, filemode=filemode)
    673 
    674     def _init_as_view(self, adata_ref: 'AnnData', oidx: Index, vidx: Index):

~\AppData\Local\Continuum\anaconda3\lib\site-packages\anndata\base.py in _init_as_actual(self, X, obs, var, uns, obsm, varm, raw, layers, dtype, shape, filename, filemode)
    848         # annotations
    849         self._obs = _gen_dataframe(obs, self._n_obs,
--> 850                                    ['obs_names', 'row_names', 'smp_names'])
    851         self._var = _gen_dataframe(var, self._n_vars, ['var_names', 'col_names'])
    852 

~\AppData\Local\Continuum\anaconda3\lib\site-packages\anndata\base.py in _gen_dataframe(anno, length, index_names)
    285                 _anno = pd.DataFrame(
    286                     anno, index=anno[index_name],
--> 287                     columns=[k for k in anno.keys() if k != index_name])
    288                 break
    289         else:

~\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\core\frame.py in __init__(self, data, index, columns, dtype, copy)
    390                                  dtype=dtype, copy=copy)
    391         elif isinstance(data, dict):
--> 392             mgr = init_dict(data, index, columns, dtype=dtype)
    393         elif isinstance(data, ma.MaskedArray):
    394             import numpy.ma.mrecords as mrecords

~\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\core\internals\construction.py in init_dict(data, index, columns, dtype)
    210         arrays = [data[k] for k in keys]
    211 
--> 212     return arrays_to_mgr(arrays, data_names, index, columns, dtype=dtype)
    213 
    214 

~\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\core\internals\construction.py in arrays_to_mgr(arrays, arr_names, index, columns, dtype)
     54 
     55     # don't force copy because getting jammed in an ndarray anyway
---> 56     arrays = _homogenize(arrays, index, dtype)
     57 
     58     # from BlockManager perspective

~\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\core\internals\construction.py in _homogenize(data, index, dtype)
    275                 val = lib.fast_multiget(val, oindex.values, default=np.nan)
    276             val = sanitize_array(val, index, dtype=dtype, copy=False,
--> 277                                  raise_cast_failure=False)
    278 
    279         homogenized.append(val)

~\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\core\internals\construction.py in sanitize_array(data, index, dtype, copy, raise_cast_failure)
    656     elif subarr.ndim > 1:
    657         if isinstance(data, np.ndarray):
--> 658             raise Exception('Data must be 1-dimensional')
    659         else:
    660             subarr = com.asarray_tuplesafe(data, dtype=dtype)

Exception: Data must be 1-dimensional
@koalap-2018
Copy link
Author

Hi guys,

I figure it out by creating a python 3.7.1 environment and updating the following libraries: numpy - 1.16.3 and scanpy - 1.4.1

@ivirshup
Copy link
Member

Thanks for the update!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants