-
Notifications
You must be signed in to change notification settings - Fork 186
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
error when runing pyscenic on jupyter using #199
Comments
Hi @honghh2018 , A few suggestions:
|
Hi @cflerin ,
in derive_regulons(motifs, db_names) /home/sy/miniconda3/envs/jupyter20200827/lib/python3.7/site-packages/pandas/core/indexes/base.py in droplevel(self, level) ValueError: Cannot remove 1 levels from an index with 1 levels: at least one level must be left. how can i fix this issue? |
Hi @cflerin ,
the error taking on picture underneath |
Hi @honghh2018 , I guess you're following the examples in this notebook. It's not strictly necessary to run this But to answer your question, I would guess that something went wrong when loading your regulons (generated with
This should give you a list of regulons (and this should be equivalent to |
Hi @cflerin , |
Hi @honghh2018 , You can use just about any processing method for the expression matrix. I usually use raw counts (including for runs with multiple samples) but normalized and batch-corrected data is valid as well. |
if regulons = derive_regulons(df_motifs)
# ValueError: Cannot remove 1 levels from an index with 1 levels: at least one level must be left.
# AssertionError: signatures dataframe is empty add from pyscenic.cli.utils import load_signatures
regulons = load_signatures(MOTIFS_FNAME) after # Pickle these regulons.
with open(REGULONS_DAT_FNAME, 'wb') as f:
pickle.dump(regulons, f) |
The error showed up when runing pyscenic on step one using jupyter through python 3.8.2 version.
the detail posted below,
#Version
scanpy==1.4.4.post1 anndata==0.6.22.post1 umap==0.4.3 numpy==1.17.4 scipy==1.4.1 pandas==0.25.3 scikit-learn==0.23.1 statsmodels==0.11.1 python-igraph==0.8.2,pyscenic==0.10.0,seaborn==0.10.1,dask==2.17.2
#Input matirx
the input matrix was transposed into column with gene symbol and row with cell identifier.
#pre-process
def process_gse103322(fname):
# Load CSV file
mtx = pd.read_csv(fname, sep='\t', index_col=0, skiprows=[1,2,3,4,5])
df_mtx = process_gse103322(ALL_FNAME)
df_mtx.to_csv(EXP_MTX_FNAME, index=True)
adata = sc.AnnData(X=df_mtx.T.sort_index())
![image](https://user-images.githubusercontent.com/41668708/89969564-4c7b4a00-dc89-11ea-8457-74cfe0559295.png)
df_obs = df_metadata.set_index('cell_id').sort_index()
adata.obs = df_obs
adata.var_names_make_unique()
sc.pp.filter_cells(adata, min_genes=200)
sc.pp.filter_genes(adata, min_cells=3)
adata.raw = adata #Store non-log transformed data as raw. This data can be used via the use_raw parameters available for many functions.
sc.pp.log1p(adata)
adata
the imput matrix like below,
#The jypyter command,
!pyscenic grn {EXP_MTX_QC_FNAME} {HUMAN_TFS_FNAME} -o {ADJACENCIES_FNAME} --num_workers 32
The error detail,
2020-08-12 10:15:00,885 - pyscenic.cli.pyscenic - INFO - Loading expression matrix.
2020-08-12 10:16:26,107 - pyscenic.cli.pyscenic - INFO - Inferring regulatory networks.
distributed.protocol.core - CRITICAL - Failed to deserialize
Traceback (most recent call last):
File "/home/YXBio/miniconda3/envs/ScCancer/lib/python3.8/site-packages/distributed/protocol/core.py", line 101, in loads
msg = loads_msgpack(small_header, small_payload)
File "/home/YXBio/miniconda3/envs/ScCancer/lib/python3.8/site-packages/distributed/protocol/core.py", line 193, in loads_msgpack
return msgpack.loads(payload, use_list=False, **msgpack_opts)
File "msgpack/_unpacker.pyx", line 161, in msgpack._unpacker.unpackb
TypeError: unpackb() got an unexpected keyword argument 'strict_map_key'
distributed.core - ERROR - unpackb() got an unexpected keyword argument 'strict_map_key'
Traceback (most recent call last):
File "/home/YXBio/miniconda3/envs/ScCancer/lib/python3.8/site-packages/distributed/core.py", line 346, in handle_comm
msg = await comm.read()
File "/home/YXBio/miniconda3/envs/ScCancer/lib/python3.8/site-packages/distributed/comm/tcp.py", line 211, in read
msg = await from_frames(
File "/home/YXBio/miniconda3/envs/ScCancer/lib/python3.8/site-packages/distributed/comm/utils.py", line 75, in from_frames
res = _from_frames()
File "/home/YXBio/miniconda3/envs/ScCancer/lib/python3.8/site-packages/distributed/comm/utils.py", line 60, in _from_frames
return protocol.loads(
File "/home/YXBio/miniconda3/envs/ScCancer/lib/python3.8/site-packages/distributed/protocol/core.py", line 101, in loads
msg = loads_msgpack(small_header, small_payload)
File "/home/YXBio/miniconda3/envs/ScCancer/lib/python3.8/site-packages/distributed/protocol/core.py", line 193, in loads_msgpack
return msgpack.loads(payload, use_list=False, **msgpack_opts)
File "msgpack/_unpacker.pyx", line 161, in msgpack._unpacker.unpackb
TypeError: unpackb() got an unexpected keyword argument 'strict_map_key'
distributed.protocol.core - CRITICAL - Failed to deserialize
Traceback (most recent call last):
File "/home/YXBio/miniconda3/envs/ScCancer/lib/python3.8/site-packages/distributed/protocol/core.py", line 101, in loads
msg = loads_msgpack(small_header, small_payload)
File "/home/YXBio/miniconda3/envs/ScCancer/lib/python3.8/site-packages/distributed/protocol/core.py", line 193, in loads_msgpack
return msgpack.loads(payload, use_list=False, **msgpack_opts)
File "msgpack/_unpacker.pyx", line 161, in msgpack._unpacker.unpackb
TypeError: unpackb() got an unexpected keyword argument 'strict_map_key'
Traceback (most recent call last):
File "/home/YXBio/miniconda3/envs/ScCancer/bin/pyscenic", line 8, in
sys.exit(main())
File "/home/YXBio/miniconda3/envs/ScCancer/lib/python3.8/site-packages/pyscenic/cli/pyscenic.py", line 420, in main
args.func(args)
File "/home/YXBio/miniconda3/envs/ScCancer/lib/python3.8/site-packages/pyscenic/cli/pyscenic.py", line 69, in find_adjacencies_command
client, shutdown_callback = _prepare_client(args.client_or_address, num_workers=args.num_workers)
File "/home/YXBio/miniconda3/envs/ScCancer/lib/python3.8/site-packages/pyscenic/prune.py", line 62, in _prepare_client
local_cluster = LocalCluster(n_workers=num_workers,
File "/home/YXBio/miniconda3/envs/ScCancer/lib/python3.8/site-packages/distributed/deploy/local.py", line 204, in init
super(LocalCluster, self).init(
File "/home/YXBio/miniconda3/envs/ScCancer/lib/python3.8/site-packages/distributed/deploy/spec.py", line 256, in init
self.sync(self._start)
File "/home/YXBio/miniconda3/envs/ScCancer/lib/python3.8/site-packages/distributed/deploy/cluster.py", line 160, in sync
return sync(self.loop, func, *args, **kwargs)
File "/home/YXBio/miniconda3/envs/ScCancer/lib/python3.8/site-packages/distributed/utils.py", line 348, in sync
raise exc.with_traceback(tb)
File "/home/YXBio/miniconda3/envs/ScCancer/lib/python3.8/site-packages/distributed/utils.py", line 332, in f
result[0] = yield future
File "/home/YXBio/miniconda3/envs/ScCancer/lib/python3.8/site-packages/tornado/gen.py", line 735, in run
value = future.result()
File "/home/YXBio/miniconda3/envs/ScCancer/lib/python3.8/site-packages/distributed/deploy/spec.py", line 289, in _start
await super()._start()
File "/home/YXBio/miniconda3/envs/ScCancer/lib/python3.8/site-packages/distributed/deploy/cluster.py", line 59, in _start
self.scheduler_info = await comm.read()
File "/home/YXBio/miniconda3/envs/ScCancer/lib/python3.8/site-packages/distributed/comm/tcp.py", line 211, in read
msg = await from_frames(
File "/home/YXBio/miniconda3/envs/ScCancer/lib/python3.8/site-packages/distributed/comm/utils.py", line 75, in from_frames
res = _from_frames()
File "/home/YXBio/miniconda3/envs/ScCancer/lib/python3.8/site-packages/distributed/comm/utils.py", line 60, in _from_frames
return protocol.loads(
File "/home/YXBio/miniconda3/envs/ScCancer/lib/python3.8/site-packages/distributed/protocol/core.py", line 101, in loads
msg = loads_msgpack(small_header, small_payload)
File "/home/YXBio/miniconda3/envs/ScCancer/lib/python3.8/site-packages/distributed/protocol/core.py", line 193, in loads_msgpack
return msgpack.loads(payload, use_list=False, **msgpack_opts)
File "msgpack/_unpacker.pyx", line 161, in msgpack._unpacker.unpackb
TypeError: unpackb() got an unexpected keyword argument 'strict_map_key'
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
File "/home/YXBio/miniconda3/envs/ScCancer/lib/python3.8/site-packages/distributed/utils.py", line 200, in ignoring
yield
File "/home/YXBio/miniconda3/envs/ScCancer/lib/python3.8/site-packages/distributed/deploy/spec.py", line 607, in close_clusters
cluster.close(timeout=10)
File "/home/YXBio/miniconda3/envs/ScCancer/lib/python3.8/site-packages/distributed/deploy/cluster.py", line 81, in close
return self.sync(self._close, callback_timeout=timeout)
File "/home/YXBio/miniconda3/envs/ScCancer/lib/python3.8/site-packages/distributed/deploy/cluster.py", line 160, in sync
return sync(self.loop, func, *args, **kwargs)
File "/home/YXBio/miniconda3/envs/ScCancer/lib/python3.8/site-packages/distributed/utils.py", line 348, in sync
raise exc.with_traceback(tb)
File "/home/YXBio/miniconda3/envs/ScCancer/lib/python3.8/site-packages/distributed/utils.py", line 332, in f
result[0] = yield future
File "/home/YXBio/miniconda3/envs/ScCancer/lib/python3.8/site-packages/tornado/gen.py", line 735, in run
value = future.result()
File "/home/YXBio/miniconda3/envs/ScCancer/lib/python3.8/site-packages/distributed/deploy/spec.py", line 380, in _close
self.scale(0)
File "/home/YXBio/miniconda3/envs/ScCancer/lib/python3.8/site-packages/distributed/deploy/spec.py", line 444, in scale
v["name"] for v in self.scheduler_info["workers"].values()
KeyError: 'workers'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/YXBio/miniconda3/envs/ScCancer/lib/python3.8/contextlib.py", line 131, in exit
self.gen.throw(type, value, traceback)
File "/home/YXBio/miniconda3/envs/ScCancer/lib/python3.8/site-packages/distributed/utils.py", line 201, in ignoring
except exceptions as e:
TypeError: catching classes that do not inherit from BaseException is not allowed
Any advice would be appreciated
Best,
hanhuihong
The text was updated successfully, but these errors were encountered: