[Biopython] SeqRecords and multiprocessing
Peter Cock
p.j.a.cock at googlemail.com
Fri Apr 22 13:25:29 EDT 2011
On Fri, Apr 22, 2011 at 6:03 PM, Peter Cock <p.j.a.cock at googlemail.com> wrote:
>
> Is the problem that _RestrictedDict isn't pickle-able?
>
This seems to work fine:
>>> from Bio.SeqRecord import _RestrictedDict as RD
>>> import pickle
>>> x = RD(5)
>>> x["test"] = "hello"
>>> x
{'test': 'hello'}
>>> y = pickle.loads(pickle.dumps(x))
>>> y
{'test': 'hello'}
>>> y._length
5
I guessed it was down to the protocol...
>>> y = pickle.loads(pickle.dumps(x,0))
>>> y
{'test': 'hello'}
>>> y = pickle.loads(pickle.dumps(x,1))
>>> y
{'test': 'hello'}
And suddenly:
>>> y = pickle.loads(pickle.dumps(x,2))
Traceback (most recent call last):
...
AttributeError: '_RestrictedDict' object has no attribute '_length'
Progress.
Peter
More information about the Biopython
mailing list