chapmanb / bcbb

Incubator for useful bioinformatics code, primarily in Python and R
http://bcbio.wordpress.com
604 stars 243 forks source link

GFF code does not work in Python 3 #81

Closed tiagoantao closed 10 years ago

tiagoantao commented 10 years ago

The current GFF code does not work with Python 3. gff/BCBio/GFF/init.py needs local referencing with P3: from .GFFParser import GFFParser, DiscoGFFParser, GFFExaminer, parse, parse_simple from .GFFOutput import GFF3Writer, write

(note the . before GFFParser and GFFOutput)

tiagoantao commented 10 years ago

A more general comment: I pip3 installed bcbio-gff, but the existing version is not 3 compatible at all. I can work on this, if there is interest. I am half-way through it in any case.

tiagoantao commented 10 years ago

I think I have found the cause: the version for python 3 on pypi seems so be 2.0. The version on github works fine. But the version on pypi is not 2to3... Should be trivial to sort out, thus...

chapmanb commented 10 years ago

Tiago; Apologies, I haven't done any work to make this Python 3 compatible beyond what @khughitt contributed in #78. More generally, I'm hoping to contribute the Biopython parts of this to Ryan's GFFutils library to: https://github.com/daler/gffutils

I'm definitely happy to accept patches if you think it's worth making this more Python 3 compatible before the merge happens.

tiagoantao commented 10 years ago

I ended up implementing a simple parser myself. I think that the problem is that the pypi upload for some reason reverts to version 2 formatting (no 2to3 usage). This means that it installs, on python 3, python 2 code.

If one git clones then everything seemed to work perfectly (2to3 is run, all seemed to work correctly)

khughitt commented 10 years ago

@chapmanb @tiagoantao It looks the version on PyPi has not been updated yet to include the above-mentioned Python 3 patch. Once that is pushed, then it should work with a normal pip install.

chapmanb commented 10 years ago

Keith, Tiago; Argh, I suck. Sorry I thought I'd pushed an updated version and hadn't tested since I'm not yet using Python 3. I pushed a new 0.4 version which should have all of the Keith's fixes, so hopefully it'll work cleanly now. Sorry about the issues and confusion.

khughitt commented 10 years ago

@chapmanb It happens :)