Skip to content

AttributeError: Can't pickle local object 'detect_events.<locals>.<lambda>' #205

@maronem

Description

@maronem

Hello,

I am running the command splatter build -o out-dir -b bam_list.txt -a ENCODE_gtf --verbose --sparse-bam --cores 2 with 6 samples and getting the error below during the event detection (I believe):

Estimating size factors ...

... done.

confidence 3 / sample 0
Loading gene structure from /Volumes/Marone_VSU/Cancer_Project/RNA_Seq/Illumina_TruSeq/241219-raw-fastqs/cutadapt-fastqs/HISAT2/StringTie/SplAdder/spladder/genes_graph_conf3.merge_graphs.pickle ...
... done.
Traceback (most recent call last):
  File "/Users/michael/miniforge3/envs/spladder/bin/spladder", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/Users/michael/miniforge3/envs/spladder/lib/python3.11/site-packages/spladder/spladder.py", line 230, in main
    options.func(options)
  File "/Users/michael/miniforge3/envs/spladder/lib/python3.11/site-packages/spladder/spladder_build.py", line 155, in spladder
    collect_events(options)
  File "/Users/michael/miniforge3/envs/spladder/lib/python3.11/site-packages/spladder/alt_splice/collect.py", line 79, in collect_events
    idx_intron_reten, intron_intron_reten = detect_events(genes, 'intron_retention', np.where([x.is_alt for x in genes])[0], options)
                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/michael/miniforge3/envs/spladder/lib/python3.11/site-packages/spladder/alt_splice/detect.py", line 525, in detect_events
    pool = mp.Pool(processes=options.parallel, initializer=lambda: sig.signal(sig.SIGINT, sig.SIG_IGN))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/michael/miniforge3/envs/spladder/lib/python3.11/multiprocessing/context.py", line 119, in Pool
    return Pool(processes, initializer, initargs, maxtasksperchild,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/michael/miniforge3/envs/spladder/lib/python3.11/multiprocessing/pool.py", line 215, in __init__
    self._repopulate_pool()
  File "/Users/michael/miniforge3/envs/spladder/lib/python3.11/multiprocessing/pool.py", line 306, in _repopulate_pool
    return self._repopulate_pool_static(self._ctx, self.Process,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/michael/miniforge3/envs/spladder/lib/python3.11/multiprocessing/pool.py", line 329, in _repopulate_pool_static
    w.start()
  File "/Users/michael/miniforge3/envs/spladder/lib/python3.11/multiprocessing/process.py", line 121, in start
    self._popen = self._Popen(self)
                  ^^^^^^^^^^^^^^^^^
  File "/Users/michael/miniforge3/envs/spladder/lib/python3.11/multiprocessing/context.py", line 288, in _Popen
    return Popen(process_obj)
           ^^^^^^^^^^^^^^^^^^
  File "/Users/michael/miniforge3/envs/spladder/lib/python3.11/multiprocessing/popen_spawn_posix.py", line 32, in __init__
    super().__init__(process_obj)
  File "/Users/michael/miniforge3/envs/spladder/lib/python3.11/multiprocessing/popen_fork.py", line 19, in __init__
    self._launch(process_obj)
  File "/Users/michael/miniforge3/envs/spladder/lib/python3.11/multiprocessing/popen_spawn_posix.py", line 47, in _launch
    reduction.dump(process_obj, fp)
  File "/Users/michael/miniforge3/envs/spladder/lib/python3.11/multiprocessing/reduction.py", line 60, in dump
    ForkingPickler(file, protocol).dump(obj)
AttributeError: Can't pickle local object 'detect_events.<locals>.<lambda>'

SplAdder 3.1.0
Python 3.11
MacOSx64

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions