Hoohm / dropSeqPipe

A SingleCell RNASeq pre-processing snakemake workflow
Creative Commons Attribution Share Alike 4.0 International
147 stars 47 forks source link

Unsupported pickle protocol 5 in repair_barcodes.py #115

Open PGuen opened 3 years ago

PGuen commented 3 years ago

Hi,

when running the rule repair_barcodes in cell_barcodes.smk I get the following error:

Traceback (most recent call last): File "PATH/.snakemake/scripts/tmp3jjaymxl.repair_barcodes.py", line 20, in mapping = load_obj(snakemake.input.barcode_mapping) File "PATH/.snakemake/scripts/tmp3jjaymxl.repair_barcodes.py", line 10, in load_obj return pickle.load(f) ValueError: unsupported pickle protocol: 5

and

RuleException: CalledProcessError in line 71 of PATH/rules/cell_barcodes.smk: Command 'source /root/miniconda3/bin/activate 'PATH/.snakemake/conda/6b477fd82150308525ab560ab2d3bd0e'; set -euo pipefail; python PATH/.snakemake/scripts/tmp3jjaymxl.repair_barcodes.py' returned non-zero exit status 1. File "/root/miniconda3/envs/snakemake062021/lib/python3.8/site-packages/snakemake/executors/init.py", line 2357, in run_wrapper File "PATH/rules/cell_barcodes.smk", line 71, in rule_repair_barcodes File "/root/miniconda3/envs/snakemake062021/lib/python3.8/site-packages/snakemake/executors/init__.py", line 574, in _callback File "/root/miniconda3/envs/snakemake062021/lib/python3.8/concurrent/futures/thread.py", line 57, in run File "/root/miniconda3/envs/snakemake062021/lib/python3.8/site-packages/snakemake/executors/init.py", line 560, in cached_or_run File "/root/miniconda3/envs/snakemake062021/lib/python3.8/site-packages/snakemake/executors/init.py", line 2390, in run_wrapper

I'm running miniconda with Python 3.8 (snakemake is installed into a python 3.8 environment as well). Is this a python version problem, or something else?

Thanks!

PGuen commented 3 years ago

Including pickle5 in merge_bam.yaml and import pickle5 as pickle in the repair_barcodes.py solved the problem for me.

Best

Eigertje commented 3 years ago

Dear PGuen,

I got the same error as you described for DropSeqPipe with the rule repair_barcodes. I've managed to try your suggestions, and it worked out fine. Thanks!