dariober / cnv_facets

Somatic copy variant caller (CNV) for next generation sequencing
Other
67 stars 15 forks source link

Biocontainers cnv_facets docker images - not functional #18

Closed PubuduSaneth closed 4 years ago

PubuduSaneth commented 4 years ago

Dear Dario

I tried cnv_facets biocontainer docker images (tags = 0.12.1--r351_0 and 0.15.0--r36h516909a_0). However, both images failed to execute cnv_facets.R. Those error messages are as follows...

cnv_facets:cnv_facets:0.12.1--r351_0

docker run --rm -it quay.io/biocontainers/cnv_facets:0.12.1--r351_0 bash

bash-4.2# ./usr/local/bin/cnv_facets.R -h
Error in find_python_cmd(required_modules = required_modules) :
  Couldn't find a sufficient Python binary. If you haven't installed the Python dependency yet please do so. If you have but it isn't on the system path (as is default on Windows) please add it to path or set options('python_cmd'='/path/to/binary')  or set the PYTHON, PYTHON2, or PYTHON3 environmental variables.   Python must have access to the modules: argparse, json | simplejson
Calls: ArgumentParser -> .find_python_cmd -> find_python_cmd
Execution halted

cnv_facets:0.15.0--r36h516909a_0

docker run --rm -it quay.io/biocontainers/cnv_facets:0.15.0--r36h516909a_0 bash

bash-4.2# ./usr/local/bin/cnv_facets.R -h
Error in find_python_cmd(required_modules = required_modules) :
  Couldn't find a sufficient Python binary. If you haven't installed the Python dependency yet please do so. If you have but it isn't on the system path (as is default on Windows) please add it to path or set options('python_cmd'='/path/to/binary')  or set the PYTHON, PYTHON2, or PYTHON3 environmental variables.   Python must have access to the modules: argparse, json | simplejson
Calls: ArgumentParser -> .find_python_cmd -> find_python_cmd
Execution halted

Although docker images from biocontainers failed to execute the R script, conda install cnv_facets can install the program properly. So I created a cnv_facets docker image using miniconda3 base image and sharing it here, in case if it helps other uses...

################## BASE IMAGE ######################
FROM continuumio/miniconda3:4.7.12
################## BASE IMAGE ######################

ENTRYPOINT []
WORKDIR /opt/conda/bin

RUN conda install --yes -c bioconda -c conda-forge cnv_facets=0.15.0

################## Useful tools ######################
RUN apt-get update && apt-get install -y \
  curl \
  less \
  tree \
  vim \
  wget \
  procps \
  && rm -rf /var/lib/apt/lists/*

ENV PATH /opt/conda/envs/ngs-pipeline/bin:/opt/conda/bin:$PATH
dariober commented 4 years ago

Thanks for reporting it. This issue should be fixed in the latest conda recipe 0.15.0-1 and associated biocontainer 0.15.0--r36h4b26f60_1:

docker pull quay.io/biocontainers/cnv_facets:0.15.0--r36h4b26f60_1
docker run --rm -it quay.io/biocontainers/cnv_facets:0.15.0--r36h4b26f60_1 bash
cnv_facets.R -h

The problem was that r-argparse requires python. If you install cnv_facets via conda you already have python so everything works fine. However, if you run via docker you get the issue described here. So, the new conda recipe adds python as dependency.

PubuduSaneth commented 4 years ago

cnv_facets:0.15.0--r36h4b26f60_1 works perfectly and thank you very much for fixing this very quickly...