aertslab / pySCENIC

pySCENIC is a lightning-fast python implementation of the SCENIC pipeline (Single-Cell rEgulatory Network Inference and Clustering) which enables biologists to infer transcription factors, gene regulatory networks and cell types from single-cell RNA-seq data.
http://scenic.aertslab.org
GNU General Public License v3.0
439 stars 181 forks source link

BrokenPipeError: [WinError 109][BUG] #441

Open Su870 opened 1 year ago

Su870 commented 1 year ago

Describe the bug I am using jupyter notebook and running pyscenic. I am on the ctx step using the code below:

if name == 'main': !pyscenic ctx \ C:/Users/name/Documents/Lab/pySCENIC_UCEC/TF_network.tsv \ {f_db_names} \ --annotations_fname {f_motif_path} \ --expression_mtx_fname {f_loom_path_scenic} \ --output reg.csv \ --mask_dropouts \ --num_workers 20

Error encountered: 2022-11-23 20:06:55,183 - pyscenic.cli.pyscenic - INFO - Creating modules.

2022-11-23 20:07:00,625 - pyscenic.cli.pyscenic - INFO - Loading expression matrix.

2022-11-23 20:07:01,094 - pyscenic.utils - INFO - Calculating Pearson correlations.

2022-11-23 20:07:03,523 - pyscenic.utils - WARNING - Note on correlation calculation: the default behaviour for calculating the correlations has changed after pySCENIC verion 0.9.16. Previously, the default was to calculate the correlation between a TF and target gene using only cells with non-zero expression values (mask_dropouts=True). The current default is now to use all cells to match the behavior of the R verision of SCENIC. The original settings can be retained by setting 'rho_mask_dropouts=True' in the modules_from_adjacencies function, or '--mask_dropouts' from the CLI. Dropout masking is currently set to [True].

2022-11-23 20:07:34,329 - pyscenic.utils - INFO - Creating modules.

2022-11-23 20:09:54,629 - pyscenic.cli.pyscenic - INFO - Loading databases.

2022-11-23 20:09:54,826 - pyscenic.cli.pyscenic - INFO - Calculating regulons.

2022-11-23 20:09:54,826 - pyscenic.prune - INFO - Using 20 workers.

2022-11-23 20:09:54,826 - pyscenic.prune - INFO - Using 20 workers. Traceback (most recent call last): File "", line 1, in File "C:\Users\Name\anaconda3\lib\multiprocessing\spawn.py", line 116, in spawn_main exitcode = _main(fd, parent_sentinel) File "C:\Users\Name\anaconda3\lib\multiprocessing\spawn.py", line 129, in _main return self._bootstrap(parent_sentinel) TypeError: _bootstrap() takes 1 positional argument but 2 were given Traceback (most recent call last): File "", line 1, in File "C:\Users\Name\anaconda3\lib\multiprocessing\spawn.py", line 116, in spawn_main exitcode = _main(fd, parent_sentinel) File "C:\Users\Name\anaconda3\lib\multiprocessing\spawn.py", line 129, in _main return self._bootstrap(parent_sentinel) TypeError: _bootstrap() takes 1 positional argument but 2 were given Traceback (most recent call last): File "", line 1, in File "C:\Users\Name\anaconda3\lib\multiprocessing\spawn.py", line 116, in spawn_main exitcode = _main(fd, parent_sentinel) File "C:\Users\Name\anaconda3\lib\multiprocessing\spawn.py", line 129, in _main return self._bootstrap(parent_sentinel) TypeError: _bootstrap() takes 1 positional argument but 2 were given Traceback (most recent call last): File "", line 1, in File "C:\Users\Name\anaconda3\lib\multiprocessing\spawn.py", line 116, in spawn_main exitcode = _main(fd, parent_sentinel) File "C:\Users\Name\anaconda3\lib\multiprocessing\spawn.py", line 129, in _main return self._bootstrap(parent_sentinel) TypeError: _bootstrap() takes 1 positional argument but 2 were given Traceback (most recent call last): File "", line 1, in File "C:\Users\Name\anaconda3\lib\multiprocessing\spawn.py", line 116, in spawn_main exitcode = _main(fd, parent_sentinel) File "C:\Users\Name\anaconda3\lib\multiprocessing\spawn.py", line 129, in _main return self._bootstrap(parent_sentinel) TypeError: _bootstrap() takes 1 positional argument but 2 were given Traceback (most recent call last): File "", line 1, in File "C:\Users\Name\anaconda3\lib\multiprocessing\spawn.py", line 116, in spawn_main exitcode = _main(fd, parent_sentinel) File "C:\Users\Name\anaconda3\lib\multiprocessing\spawn.py", line 129, in _main return self._bootstrap(parent_sentinel) TypeError: _bootstrap() takes 1 positional argument but 2 were given Traceback (most recent call last): File "", line 1, in File "C:\Users\Name\anaconda3\lib\multiprocessing\spawn.py", line 116, in spawn_main exitcode = _main(fd, parent_sentinel) File "C:\Users\Name\anaconda3\lib\multiprocessing\spawn.py", line 129, in _main return self._bootstrap(parent_sentinel) TypeError: _bootstrap() takes 1 positional argument but 2 were given Traceback (most recent call last): File "", line 1, in File "C:\Users\Name\anaconda3\lib\multiprocessing\spawn.py", line 116, in spawn_main exitcode = _main(fd, parent_sentinel) File "C:\Users\Name\anaconda3\lib\multiprocessing\spawn.py", line 129, in _main return self._bootstrap(parent_sentinel) TypeError: _bootstrap() takes 1 positional argument but 2 were given Traceback (most recent call last): File "", line 1, in File "C:\Users\Name\anaconda3\lib\multiprocessing\spawn.py", line 116, in spawn_main exitcode = _main(fd, parent_sentinel) File "C:\Users\Name\anaconda3\lib\multiprocessing\spawn.py", line 129, in _main return self._bootstrap(parent_sentinel) TypeError: _bootstrap() takes 1 positional argument but 2 were given Traceback (most recent call last): File "", line 1, in File "C:\Users\Name\anaconda3\lib\multiprocessing\spawn.py", line 116, in spawn_main exitcode = _main(fd, parent_sentinel) File "C:\Users\Name\anaconda3\lib\multiprocessing\spawn.py", line 129, in _main return self._bootstrap(parent_sentinel) TypeError: _bootstrap() takes 1 positional argument but 2 were given Traceback (most recent call last): File "", line 1, in File "C:\Users\Name\anaconda3\lib\multiprocessing\spawn.py", line 116, in spawn_main exitcode = _main(fd, parent_sentinel) File "C:\Users\Name\anaconda3\lib\multiprocessing\spawn.py", line 129, in _main return self._bootstrap(parent_sentinel) TypeError: _bootstrap() takes 1 positional argument but 2 were given Traceback (most recent call last): File "", line 1, in File "C:\Users\Name\anaconda3\lib\multiprocessing\spawn.py", line 116, in spawn_main exitcode = _main(fd, parent_sentinel) File "C:\Users\Name\anaconda3\lib\multiprocessing\spawn.py", line 129, in _main return self._bootstrap(parent_sentinel) TypeError: _bootstrap() takes 1 positional argument but 2 were given Traceback (most recent call last): File "", line 1, in File "C:\Users\Name\anaconda3\lib\multiprocessing\spawn.py", line 116, in spawn_main exitcode = _main(fd, parent_sentinel) File "C:\Users\Name\anaconda3\lib\multiprocessing\spawn.py", line 129, in _main return self._bootstrap(parent_sentinel) TypeError: _bootstrap() takes 1 positional argument but 2 were given Traceback (most recent call last): File "", line 1, in File "C:\Users\Name\anaconda3\lib\multiprocessing\spawn.py", line 116, in spawn_main exitcode = _main(fd, parent_sentinel) File "C:\Users\Name\anaconda3\lib\multiprocessing\spawn.py", line 129, in _main return self._bootstrap(parent_sentinel) TypeError: _bootstrap() takes 1 positional argument but 2 were given Traceback (most recent call last): File "", line 1, in File "C:\Users\Name\anaconda3\lib\multiprocessing\spawn.py", line 116, in spawn_main exitcode = _main(fd, parent_sentinel) File "C:\Users\Name\anaconda3\lib\multiprocessing\spawn.py", line 129, in _main return self._bootstrap(parent_sentinel) TypeError: _bootstrap() takes 1 positional argument but 2 were given Traceback (most recent call last): File "", line 1, in File "C:\Users\Name\anaconda3\lib\multiprocessing\spawn.py", line 116, in spawn_main exitcode = _main(fd, parent_sentinel) File "C:\Users\Name\anaconda3\lib\multiprocessing\spawn.py", line 129, in _main return self._bootstrap(parent_sentinel) TypeError: _bootstrap() takes 1 positional argument but 2 were given Traceback (most recent call last): File "", line 1, in File "C:\Users\Name\anaconda3\lib\multiprocessing\spawn.py", line 116, in spawn_main exitcode = _main(fd, parent_sentinel) File "C:\Users\Name\anaconda3\lib\multiprocessing\spawn.py", line 129, in _main return self._bootstrap(parent_sentinel) TypeError: _bootstrap() takes 1 positional argument but 2 were given Traceback (most recent call last): File "", line 1, in File "C:\Users\Name\anaconda3\lib\multiprocessing\spawn.py", line 116, in spawn_main exitcode = _main(fd, parent_sentinel) File "C:\Users\Name\anaconda3\lib\multiprocessing\spawn.py", line 129, in _main return self._bootstrap(parent_sentinel) TypeError: _bootstrap() takes 1 positional argument but 2 were given Traceback (most recent call last): File "", line 1, in File "C:\Users\Name\anaconda3\lib\multiprocessing\spawn.py", line 116, in spawn_main exitcode = _main(fd, parent_sentinel) File "C:\Users\Name\anaconda3\lib\multiprocessing\spawn.py", line 129, in _main return self._bootstrap(parent_sentinel) TypeError: _bootstrap() takes 1 positional argument but 2 were given Traceback (most recent call last): File "", line 1, in File "C:\Users\Name\anaconda3\lib\multiprocessing\spawn.py", line 116, in spawn_main exitcode = _main(fd, parent_sentinel) File "C:\Users\Name\anaconda3\lib\multiprocessing\spawn.py", line 129, in _main return self._bootstrap(parent_sentinel) TypeError: _bootstrap() takes 1 positional argument but 2 were given Traceback (most recent call last): File "C:\Users\Name\anaconda3\lib\site-packages\multiprocessing_on_dill\connection.py", line 301, in _recv_bytes ov, err = _winapi.ReadFile(self._handle, bsize, ERROR 1 THAT I GET: **BrokenPipeError: [WinError 109] The pipe has been ended

During handling of the above exception, another exception occurred:**

Traceback (most recent call last): File "C:\Users\Name\anaconda3\lib\runpy.py", line 197, in _run_module_as_main return _run_code(code, main_globals, None, File "C:\Users\Name\anaconda3\lib\runpy.py", line 87, in _run_code exec(code, run_globals) File "C:\Users\Name\anaconda3\Scripts\pyscenic.exe__main__.py", line 7, in File "C:\Users\Name\anaconda3\lib\site-packages\pyscenic\cli\pyscenic.py", line 677, in main args.func(args) File "C:\Users\Name\anaconda3\lib\site-packages\pyscenic\cli\pyscenic.py", line 221, in prune_targets_command df_motifs = calc_func( File "C:\Users\Name\anaconda3\lib\site-packages\pyscenic\prune.py", line 400, in prune2df return _distributed_calc( File "C:\Users\Name\anaconda3\lib\site-packages\pyscenic\prune.py", line 233, in _distributed_calc fnames = [recv.recv() for recv in receivers] File "C:\Users\Name\anaconda3\lib\site-packages\pyscenic\prune.py", line 233, in fnames = [recv.recv() for recv in receivers] File "C:\Users\Name\anaconda3\lib\site-packages\multiprocessing_on_dill\connection.py", line 250, in recv buf = self._recv_bytes() File "C:\Users\Name\anaconda3\lib\site-packages\multiprocessing_on_dill\connection.py", line 321, in _recv_bytes raise EOFError ERROR 2 THAT I GET: EOFError

I have been reading a lot about the BrokenPipeError 109 but have not been successful in what they have recommended.

Thanks in advance for helping!

ghuls commented 1 year ago

pySCENIC 0.12.1 is the lastest version.

pySCENIC is developed on Linux and was never tested on Windows.

razorofockham commented 1 year ago

@Su870, as I also posted in #425, I was getting a similar error running pySCENIC v0.12.1 via CLI commands on a Windows conda environment, and managed to circumvent it by explicitly adding the flag --mode dask_multiprocessing in the call to pyscenic ctx, in case you want to give that a shot. Cheers, -Juan