alimanfoo / pysamstats

A fast Python and command-line utility for extracting simple statistics against genome positions based on sequence alignments from a SAM or BAM file.
191 stars 43 forks source link

compatibility with python 3.9 #122

Open gtonkinhill opened 3 years ago

gtonkinhill commented 3 years ago

Hi,

Thanks for the really useful package. I'm running into issues when trying to install pysamstats with python version >=3.9

The main error that seems to print is error: ‘PyTypeObject’ {aka ‘struct _typeobject’} has no member named ‘tp_print’

From some Googling it seems that this is due to tp_print being removed from Python 3.9. From what I understand this can be resolved by regenerating the c code using an updated version of Cython.

Would it be possible to update pysamstats to make it compatible with python 3.9?

alimanfoo commented 3 years ago

Hi @gtonkinhill, yes it sounds like the C code needs to be regenerated. IIRC that involves setting up a virtual environment with numpy, pysam and latest cython installed, then running python setup.py build_ext --inplace to regenerate C code and check it builds. I don't suppose you'd be willing to give that a go?

gtonkinhill commented 3 years ago

Hi @alimanfoo,

I have had a go and submitted a pull request #123. The tests ran okay on my machine with the updated c code but travis-ci doesn't seem to be running on the pull request.