BioContainers / containers

Bioinformatics containers
http://biocontainers.pro
Apache License 2.0
670 stars 243 forks source link

Container for scsplit #565

Closed IreneRobles closed 2 months ago

IreneRobles commented 4 months ago

I am building a nf-core module for scsplit Trying to follow guidelines, I would like to add a scsplit docker to biocontainers, so it can be imported by my module

Software URL: https://github.com/jon-xu/scSplit

This docker image would work:

FROM python:3.9 as base

ARG SCSPLIT_VERSION="1.0.8"

RUN apt-get update && apt-get install -y python3-pip git

RUN pip install "setuptools==57.5.0" wheel numpy pandas pysam pyvcf3 scikit-learn scipy statistics 
RUN wget https://github.com/jon-xu/scSplit/archive/refs/tags/v${SCSPLIT_VERSION}.tar.gz -O /opt/scsplit.gz && \
    tar xvzf /opt/scsplit.gz -C /opt && \
    rm /opt/scsplit.gz

ENV PATH="${PATH}:/opt/scSplit-${SCSPLIT_VERSION}"

CMD [ "bash" ]
IreneRobles commented 4 months ago

Attempting to suggest a docker image, I created this pull request: https://github.com/BioContainers/containers/pull/564

mboudet commented 4 months ago

Ok, it seems this package already exists in bioconda (https://bioconda.github.io/recipes/scsplit/README.html)

As such, there is already a docker image available here: https://quay.io/repository/biocontainers/scsplit

IreneRobles commented 3 months ago

Yes, however, I cannot use the tool as described in https://github.com/jon-xu/scSplit?tab=readme-ov-file#3-building-allele-count-matrices with the current docker recipe.

If you log into the current biocontainer docker:

docker run -it quay.io/biocontainers/scsplit:1.0.8.2--pyh7cba7a3_0

And you try to run the tool:

$scSplit
sh: scSplit: command not found

If you try to run the tool with my docker recipe:

$scSplit
usage: scSplit <command> [<args>]
Commands:
   count     Generate REF/ALT count matrices from pooled BAM file
   run       Demultiplex the scRNA-Seq using REF/ALT count matrices
   genotype  Generate sample genotypes in VCF format
scSplit: error: the following arguments are required: command

Therefore, the docker image needs to change.

On Fri, 29 Mar 2024 at 15:33, mboudet @.***> wrote:

Ok, it seems this package already exists in bioconda ( https://bioconda.github.io/recipes/scsplit/README.html)

As such, there is already a docker image available here: https://quay.io/repository/biocontainers/scsplit

— Reply to this email directly, view it on GitHub https://github.com/BioContainers/containers/issues/565#issuecomment-2027326095, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEY4VEA6SFWEBCCPYVE5WXTY2VUQZAVCNFSM6AAAAABFDRM4TKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMRXGMZDMMBZGU . You are receiving this because you authored the thread.Message ID: @.***>

mboudet commented 3 months ago

Hmm, seems like the conda install is missing some dependencies (like numpy) anyway. Beyond that, the docker image is not broken, it's just how the tool works when you install it with pip (either you import it in python, or you manually call '/usr/local/lib/python3.12/site-packages/scSplit/scSplit'. I suppose the conda recipe could have added this file in the path.

In any case, to avoid confusion, we do not add tools already existing in bioconda in this repository, so you'll have to check on the bioconda side to fix the recipe (and get a working docker image)