gatk icon indicating copy to clipboard operation
gatk copied to clipboard

Docker Container 4.4.0.0 - BaseRecalibrator ApplyBQSR - python not in env

Open DanielAmsel opened this issue 2 years ago • 5 comments

Dear *, I just tested the Docker Container 4.4.0.0 (upgrade from 4.3.0.0) and my pipeline tried to execute BaseRecalibrator and ApplyBQSR.

It crashed with a message: /usr/bin/env: 'python': No such file or directory

A simple test with a python script, using "/usr/bin/python" in shebang revealed that is truly not available in this path. A test with the 4.3.0.0 Container worked.

I solved the issue by typing ln -s /usr/bin/python3 /usr/bin/python

Kind regards, Daniel

DanielAmsel avatar Jul 06 '23 07:07 DanielAmsel

Hi DanielAmsel,

Are you using the broadinstitute/gatk:4.4.0.0 image from dockerhub, or a different image? Running which python in that image should produce:

/opt/miniconda/envs/gatk/bin/python

droazen avatar Jul 24 '23 19:07 droazen

Could you also run docker images --digests and paste the sha256 hash value for the image you're running? For broadinstitute/gatk:4.4.0.0 it should be 044112d3d70603732d4a654ecaee33919cf9d45332d47268f5f1697b6ed558ed

droazen avatar Jul 24 '23 19:07 droazen

Hi @droazen , I am sorry for the late response. I used the docker container from dockerhub broadinstitute/gatk:4.4.0.0 . The which python command produces the correct path.

I re-loaded the container and tried it again without modification. Again the pipeline crashed with BaseRecalibrator and the above mentioned error.

DanielAmsel avatar Aug 24 '23 10:08 DanielAmsel

@DanielAmsel That is really strange -- I can't replicate this with the GATK 4.4 image. What happens if you docker run -it broadinstitute/gatk:4.4.0.0, and then type /usr/bin/env python on the command line? Do you get an error, or does Python come up?

Python 3.6.10 | packaged by conda-forge | (default, Apr 24 2020, 16:44:11) 
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

What about if you try running ./gatk PrintReads --version Does that work?

droazen avatar Aug 24 '23 18:08 droazen

Dear @droazen I might now have an idea. Since we use the container in a restricted are, we pull the container from docker hub, save it as tar.gz, transfer it to the server and load it to the docker local image library. On this system we had the latest version of docker installed that was available from the ubuntu repository (20.something). This might lead to the error. Best, Daniel

DanielAmsel avatar Sep 07 '23 16:09 DanielAmsel