tskit-dev / pyslim

Tools for dealing with tree sequences coming to and from SLiM.
MIT License
27 stars 23 forks source link

load.pyslim leads to "AttributeError: can't set attribute" after upgrade #221

Closed ChrystelleDelord closed 2 years ago

ChrystelleDelord commented 2 years ago

Dear all,

I apologize in advance for such a "basic" question! I am a bit desperate as my python script for recapitation/simplification/mutation, which was working really well on Monday, now breaks down as early as during the tree sequence importation with pyslim. The only thing I did in the meantime was upgrading msprime from 1.0.2 to 1.0.4 using conda.

When typing ts = pyslim.load("SLiM_test1pop.trees") , I now get the following error:

Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/home/chrys/miniconda3/lib/python3.8/site-packages/pyslim/slim_tree_sequence.py", line 38, in load ts = SlimTreeSequence.load(path, legacy_metadata=legacy_metadata) File "/home/chrys/miniconda3/lib/python3.8/site-packages/pyslim/slim_tree_sequence.py", line 225, in load return cls(ts, reference_sequence=reference_sequence, legacy_metadata=legacy_metadata) File "/home/chrys/miniconda3/lib/python3.8/site-packages/pyslim/slim_tree_sequence.py", line 170, in __init__ self.reference_sequence = reference_sequence AttributeError: can't set attribute

I am running Python 3.8.5, msprime 1.0.4, tskit 0.4.0 and pyslim 0.600. I ran my model under SLiM3.6. Has it something to do with the removing of legacy metadata (https://github.com/tskit-dev/pyslim/issues/219)? When consulting this other issue: https://github.com/MesserLab/SLiM/issues/259, it seems like this should not be an issue for reading trees, though? What should I do?

Thank you very much and sorry for the inconvenience (I understand I might be asking this right in the middle of both pyslim/SLiM upgrade) Chrystelle

grahamgower commented 2 years ago

Hi @ChrystelleDelord. I think this is fixed in the current git version of pyslim (but not yet released). Your quickest path to working around the issues is probably to downgrade tskit to 0.3.7.

ChrystelleDelord commented 2 years ago

Awesome, thank you very much @grahamgower , it indeed solved the issue. I had not thought about checking tskit itself, thanks a lot. I will keep in mind to switch to the new SLiM/pyslim as soon as these will be released in their new versions. Cheers!

jeromekelleher commented 2 years ago

Thanks for the report @ChrystelleDelord - we're working through some compatibility issues with the latest updates, but should be sorted out soon hopefully :crossed_fingers:

petrelharp commented 2 years ago

Yep - should be a release to fix this in the next few days.