Illumina / GTCtoVCF

Script to convert GTC/BPM files to VCF
Apache License 2.0
41 stars 31 forks source link

Python3 support #71

Open Stikus opened 2 years ago

Stikus commented 2 years ago

Hello. In issue #65 @jjzieve said that GTCtoVCF should work on python3, but last commit on master says:

GTCtoVCF is currently only known to work with python2.7

I can confirm that GTCtoVCF working on Python3 (just tested) and even working with last numpy (1.21.4) and pysam (0.17.0). Only problem is PyVCF and its use_2to3, removed in setuptools 58, that's why I have to use pip install setuptools<58.

If you plan to support the tool further, I suggest finding a replacement for pyvcf - other people looking (like here).

Here is part of my Dockerfile (we're using Python 3.7.5):

RUN pip install --no-cache-dir 'setuptools<58'
RUN pip install --no-cache-dir numpy pyvcf pysam

ENV GTCTOVCF_VERSION="1.2.1"
RUN cd "$SOFT" \
    && wget -q "https://github.com/Illumina/GTCtoVCF/archive/refs/tags/${GTCTOVCF_VERSION}.tar.gz" -O "$SOFT/GTCtoVCF-${GTCTOVCF_VERSION}.tar.gz" \
    && tar -xzf "$SOFT/GTCtoVCF-${GTCTOVCF_VERSION}.tar.gz" \
    && rm "$SOFT/GTCtoVCF-${GTCTOVCF_VERSION}.tar.gz"
ENV GTCTOVCF="$SOFT/GTCtoVCF-${GTCTOVCF_VERSION}/gtc_to_vcf.py"
jjzieve commented 2 years ago

Thanks for the info. Several users had issues with python3, perhaps this was the underlying cause. We updated the README more explicitly to spell out python2.7 because that's what its most tested with. We understand python2.7 is EOL though. I'd be happy to review a PR if you wanted to add a requirements.txt or the dockerfile you showed so this tool can more explicitly support python3.