Test run failed - docker
Closed this issue · 6 comments
Hello,
I tired to launch the test command:
docker run -v ${PWD}:/DATA -w /DATA -i scancellieri/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
But received error:
The folder specified for --vcf does not exist
This is what the test directory looks like (command tree -L 2)
├── Annotations
│ ├── encode+gencode.hg38.bed
│ └── gencode.protein_coding.bed
├── clean_all.sh
├── crisprme_auto_test_conda.sh
├── crisprme_auto_test_docker.sh
├── crisprme_auto_test_download_essentials.sh
├── crisprme_auto_test_no_download.sh
├── Dictionaries
├── Genomes
│ ├── hg38
│ └── hg38.chromFa.tar.gz
├── list_samplesID.txt
├── list_vcf.txt
├── PAMs
│ └── 20bp-NGG-SpCas9.txt
├── Results
├── samplesIDs
│ ├── hg38_1000G.samplesID.txt
│ ├── hg38_gnomAD.samplesID.txt
│ └── hg38_HGDP.samplesID.txt
├── sg1617.txt
└── VCFs
├── hg38_1000G
└── hg38_HGDP
I then modified the command to --vcf VCFs/hg38_1000G, but then have a new errorThe folder specified for --pam does not exist
What am I doing wrong?
Thank you!
Paola
Hello @PaolaBenaglio
The problem I see, is that you are input the list_vcf.txt as directory, --vcf list_vcf.txt/
but the file should be a text file with names of the directories in the VCF folder, so if you are using the default directories, you will have a txt file like this.
list_vcf.txt:
hg38_1000G
hg38_HGDP
so the correct call would be,
docker run -v ${PWD}:/DATA -w /DATA -i scancellieri/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
let me know if this solve the problem.
Hi @samuelecancellieri ,
thank you for your feedback,
I run it as you suggested but I still have the same error:
The folder specified for --vcf does not exist
the file itself was a text with
hg38_1000G/
and then i modified to
hg38_1000G
hg38_HGDP
but it did not work in both cases.
Any idea?
Thank you
Hi @PaolaBenaglio
I tried to replicate the error, and it seems related to the version of the software installed by docker.
This is a common docker+conda problem.
I'm creating a new Dockerfile trying to fix the problem.
I will keep you updated.
Thanks again for the support to the software.
Best,
hi @PaolaBenaglio
i've a temporary solution, you can use the quay biocontainer created by conda,
docker pull quay.io/biocontainers/crisprme:2.1.1--hdfd78af_0
just call the docker command like this,
docker run -d -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
i've also added the -d flag to the call to automatically detach the docker from the terminal.
let me know if this solve the problem.
thanks again.
best,
Thank you very much for helping,
The command now run without errors (but I had to use sudo). I just have a question about the output, I am not sure what to expect and if I obtained the correct output from this test command. The Results folder contain these:
└── sg1617.6.2.2
├── crispritz_targets
├── guides.txt
├── log_error.txt
├── log.txt
├── log_verbose.txt
└── Params.txt
However the crispritz_targets
folder is empty. Is this expected?
Thanks again!!!
Paola
Hello @PaolaBenaglio, there are no other data in the result folder? You should have all the targets results in a file called something.intergrated.tsv.
Did you check the log error file?
For the sudo, you need to add the user you use to call the docker in the docker group. You can find the instructions in the Crisprme Readme on this repo.
Let me know if you encounter any problem.
Best,