pinellolab / CRISPRme

Other
18 stars 8 forks source link

Testing docker application fails #43

Closed Mightymalte closed 6 months ago

Mightymalte commented 11 months ago

Dear Samuele,

thank you for such an interesting tool! I have tried to run it on docker but the I am unable to successfully test the docker application.

This is the error message I get:

<3>WSL (4903) ERROR: CreateProcessEntryCommon:577: execvpe /bin/bash failed 2 <3>WSL (4903) ERROR: CreateProcessEntryCommon:586: Create process not expected to return Docker is fully functional and working with other images. I have stuck to Thank you in advance for your help Malte
samuelecancellieri commented 11 months ago

hello @Mightymalte can you please attach to this the command and settings you are using? you can also attach the docker image details?

thanks a lot. best,

Mightymalte commented 11 months ago

Thank you for your reply @samuelecancellieri!

Sorry for missing this important part! It is my first interaction on github.

So I used the command: bash crisprme_auto_test_docker.sh

prior to this I have used your recommendations for installing docker on windows, pulling your image and running the container. I am using Docker Engine v24.0.6

What do you mean by settings?

Kind regards Malte

samuelecancellieri commented 11 months ago

hi @Mightymalte

i'm not sure if the package will work on windows, the package was tested on linux and OSX. Olso bioconda does not guarantee functionality on windows.

regarding the script, due to some changes in the bioconda policy for docker, you need to use this repo quay.io/biocontainers/crisprme:2.1.1--hdfd78af_0 to work with the last docker image created from conda.

just update your script like this.

docker run -v ${PWD}:/DATA -w /DATA -i pinellolab/crisprme crisprme.py complete-search --genome Genomes/hg38/ --vcf list_vcf.txt --guide sg1617.txt --pam PAMs/20bp-NGG-spCas9.txt --annotation Annotations/encode+gencode.hg38.bed --samplesID list_samplesID.txt --gene_annotation Annotations/gencode.protein_coding.bed --bMax 2 --mm 6 --bDNA 2 --bRNA 2 --merge 3 --output sg1617.6.2.2 --thread 4

BECOMES

docker run -v ${PWD}:/DATA -w /DATA -i quay.io/biocontainers/crisprme:2.1.1--hdfd78af_0 crisprme.py complete-search --genome Genomes/hg38/ --vcf list_vcf.txt --guide sg1617.txt --pam PAMs/20bp-NGG-spCas9.txt --annotation Annotations/encode+gencode.hg38.bed --samplesID list_samplesID.txt --gene_annotation Annotations/gencode.protein_coding.bed --bMax 2 --mm 6 --bDNA 2 --bRNA 2 --merge 3 --output sg1617.6.2.2 --thread 4

this should fix the problem, but as i said before. i'm not sure about compatibility of the package with windows even with docker. try it and let me know.

thanks a lot for using the package.

best,

kandabarau commented 11 months ago

hi @Mightymalte

i'm not sure if the package will work on windows, the package was tested on linux and OSX. Olso bioconda does not guarantee functionality on windows.

regarding the script, due to some changes in the bioconda policy for docker, you need to use this repo quay.io/biocontainers/crisprme:2.1.1--hdfd78af_0 to work with the last docker image created from conda.

just update your script like this.

docker run -v ${PWD}:/DATA -w /DATA -i pinellolab/crisprme crisprme.py complete-search --genome Genomes/hg38/ --vcf list_vcf.txt --guide sg1617.txt --pam PAMs/20bp-NGG-spCas9.txt --annotation Annotations/encode+gencode.hg38.bed --samplesID list_samplesID.txt --gene_annotation Annotations/gencode.protein_coding.bed --bMax 2 --mm 6 --bDNA 2 --bRNA 2 --merge 3 --output sg1617.6.2.2 --thread 4

BECOMES

docker run -v ${PWD}:/DATA -w /DATA -i quay.io/biocontainers/crisprme:2.1.1--hdfd78af_0 crisprme.py complete-search --genome Genomes/hg38/ --vcf list_vcf.txt --guide sg1617.txt --pam PAMs/20bp-NGG-spCas9.txt --annotation Annotations/encode+gencode.hg38.bed --samplesID list_samplesID.txt --gene_annotation Annotations/gencode.protein_coding.bed --bMax 2 --mm 6 --bDNA 2 --bRNA 2 --merge 3 --output sg1617.6.2.2 --thread 4

this should fix the problem, but as i said before. i'm not sure about compatibility of the package with windows even with docker. try it and let me know.

thanks a lot for using the package.

best,

I would rather update to this state:

docker run -v ${PWD}:/DATA -w /DATA -i pinellolab/crisprme crisprme.py complete-search --genome Genomes/hg38/ --vcf list_vcf.txt/ --guide sg1617.txt --pam ./PAMs/20bp-NGG-SpCas9.txt --annotation ./Annotations/encode+gencode.hg38.bed --samplesID list_samplesID.txt --be-window 4,8 --be-base A --gene_annotation ./Annotations/gencode.protein_coding.bed --bMax 2 --mm 6 --bDNA 2 --bRNA 2 --merge 3 --output sg1617/ --thread 4

20bp-NGG-SpCas9.txt and other files and locations renamed since.

an updated README would help alot.

p.s. I do confirm bash crisprme_auto_test_docker.sh does not work on Ubuntu 22.04.3 docker 20.10.16

Bests, Sergey

samuelecancellieri commented 11 months ago

Hello @kandabarau, You are right, sorry for not updating the README with the up to date commands. It's a recent problem with docker due to some changes in conda package manager that fails to install the necessary packages to run crisprme correctly.

Thanks a lot for the support.

Best,

tcrevier commented 8 months ago

This is still an issue. @kandabarau's suggested fix works for me. I agree that fixing the documentation would be ideal to save everyone the time of investigating a known issue.

ManuelTgn commented 8 months ago

Hi @tcrevier,

Thank you for bringing this issue to our attention.

We have now updated the README file, replacing the outdated command with the one suggested by @kandabarau.

The previous command displayed in the README included arguments introduced in CRISPRme version 2.1.2. However, upon investigation, we found that Docker pulls the CRISPRme v2.1.1 image instead. We are currently investigating this discrepancy further to ensure compatibility.

Once resolved, the updated command will be fully compatible with CRISPRme version 2.1.2.

Best regards,

Manuel