-
Notifications
You must be signed in to change notification settings - Fork 594
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GATK Docker sets $HOME to /root which can result in failures on write #4782
Comments
@jmstover smartly outlined in his post on the Singularity thread that having a tool asking for the If you could change the Thank you |
Thanks for bringing this to our attention, @Tintest. I think that we may be able to address this by setting In any case, thanks for trying out the GermlineCNVCaller pipeline. You may have to tune some parameters, depending on your data type. You may find the following discussions helpful: Note that we're still in beta, but our preliminary evaluations have demonstrated improved performance over other callers in both WES and WGS. |
Thank you for your links :) I hoped you will be able to add the change in the next GATK version :) If I can run this tool with singularity, I will be able to test a ton of different parameter ! |
@samuelklee os.environ would probably work, though it might be easier to set |
I downloaded the most recently gatk docker file yesterday and I met this problem today. I am wondering if you have solved this request? Thank you so much. /gatk/gatk-package-4.0.11.0-local.jar |
Hi @shengqh, did you activate the gatk python environment within your Singularity container with |
Here is my command:
Here is test.pbs:
Here is the error message and I think the python environment has been activated by Singularity. The task failed when it tried to create directory of '/root/.theano'.
|
@sooheelee You are right, the python environment is not activated automatically. However, I manually activated the environment and then run my test.pbs, I still got the error.
|
@shengqh
Or... whatever it is you need to do to activate the environment. What the
Would show you the |
@jmstover Thank you for your recommendation. I added the following line in the beginning of test.pbs
However, running the following command still threw the same error.
|
Are you building this from the docker If so, I've found an error in it (@sooheelee, @samuelklee )... the Docker Manifest has set:
... That's going to make some things not work if you're using it as a non-root user. If you are using that, try building from a Singularity definition file that looks like:
I'm still testing this since I don't know the gatk software at all ... but with setting HOME in
Or if
|
@jmstover Yes, I pulled from broadinstiture/gatk.
I don't have root permission to build Singularity image from definition file now. I may need to install a virtual machine first to test it. However, just like the activation of environment, I added the export command in my test.pbs and it worked. :-)
|
Good to hear. 👍 |
Yes, glad you found a workaround. 👍🏽 |
Although there is a workaround, ideally we'd remove the assumption from our docker that it can access the root user's home dir. |
@samuelklee I can have someone take another look at this, though it seems unlikely to me that it's the same problem reported in #5714 |
Thanks for looking into it! I guess Cromwell also essentially sets |
@samuelklee I forgot to note in #5714 that I had to manually set the path for |
OK, thanks @drifty914, that's very useful to know. Was that when using the Docker image with or without Cromwell---hopefully just the latter? |
@samuelklee that was when using the Docker image with Cromwell (v34). |
Hello, I did encounter the same behaviour that I reported one year ago with the official Docker GATK 4.1.0.0 container converted into a singularity image. Version of softwares:Singularity : 2.5.1, GATK : 4.1.0.0 CommandSingularity : Actual behavior
Thank you. |
@Tintest I also met this problem. However, I solved it by "export HOME" before calling gatk command in my shell file call_gatk.sh
And, here is my shell file test.sh to call singularity :
Putting the "export HOME" in test.sh with "export JAVA_HOME" before calling singularity didn't work. You have to put it in call_gatk.sh. |
#6525 is still open and I don't know the plans for it. |
Hello,
I'm trying to use the CNVGermline Pipeline with Nextflow and a GATK Singularity image pulled from your Docker image.
As you can see, I'm trying to run the DetermineGermlineContigPloidy with 57 samples, and I got a permission error within my Singularity container.
This error is directly related to Singularity permissions to create a directory ('/root/.theano/compiledir_Linux-4.10--generic-x86_64-with-debian-stretch-sid-x86_64-3.6.2-64'), because it's running fine with Singularity when I'm root and Docker (without root). So it's not really a GATK4 problem but more a singularity-GATK4 related problem.
Maybe your GATK4 Germline CNV calling pipeline is not designed to work as a Singularity container (which is quite understandable), because for tools like HaplotypeCaller, MarkDuplicates ... It's working fine.
I didn't know where to post this error, singularity or GATK github, so why not both !
Do you have any idea make it run properly ? Change a bit the design of your CNV pipeline to make it compatible with Singularity ?
Version of softwares:
Singularity : 2.5.1, GATK : 4.0.4.0
Command
Singularity :
singularity build gatk-4.0.4.0.img docker://broadinstitute/gatk:4.0.4.0
GATK4 :
java -Dsamjdk.use_async_io_read_samtools=false -Dsamjdk.use_async_io_write_samtools=true -Dsamjdk.use_async_io_write_tribble=false -Dsamjdk.compression_level=2 -jar /gatk/build/libs/gatk-package-4.0.4.0-local.jar DetermineGermlineContigPloidy --input 2044098202-8046_S5_sample.counts.hdf5 --input 2045946179-9076_S2_sample.counts.hdf5 --input 2045946166-9075_S1_sample.counts.hdf5 --input 2048220927-11022_S4_sample.counts.hdf5 --input 2045599261-9046ci_S1_sample.counts.hdf5 --input 2046745668-1007_S5_sample.counts.hdf5 --input 2044098101-8043_S2_sample.counts.hdf5 --input 2044098168-8044_S3_sample.counts.hdf5 --input 2046746598-1012_S4_sample.counts.hdf5 --input 2044395763-8064ci_S4_sample.counts.hdf5 --input 2044395647-8061ci_S1_sample.counts.hdf5 --input 70-20-CI_S3_sample.counts.hdf5 --input 70-18-CI_S1_sample.counts.hdf5 --input 2044395782-8065ci_S5_sample.counts.hdf5 --input 2048222393-11027_S3_sample.counts.hdf5 --input 2048220452-11020_S2_sample.counts.hdf5 --input 2048222667-11031_S7_sample.counts.hdf5 --input 2044395678-8062ci_S2_sample.counts.hdf5 --input 2044395611-8060_S6_sample.counts.hdf5 --input 2048221956-11025_S1_sample.counts.hdf5 --input 2045946131-9071ci_S6_sample.counts.hdf5 --input 2045599349-9047ci_S2_sample.counts.hdf5 --input 2045599158-9045ci_S6_sample.counts.hdf5 --input 2045946149-9073ci_S5_sample.counts.hdf5 --input 2048220431-11019_S1_sample.counts.hdf5 --input 2045946141-9072ci_S4_sample.counts.hdf5 --input 2046746758-1013_S5_sample.counts.hdf5 --input 2045598958-9043ci_S4_sample.counts.hdf5 --input 2046745451-1006_S4_sample.counts.hdf5 --input 2048220997-11023_S5_sample.counts.hdf5 --input 2044097928-8042_S1_sample.counts.hdf5 --input 2045598560-9041ci_S2_sample.counts.hdf5 --input 70-21-CI_S4_sample.counts.hdf5 --input 70-19-CI_S2_sample.counts.hdf5 --input 2046745923-1008_S6_sample.counts.hdf5 --input 2045598771-9042ci_S3_sample.counts.hdf5 --input 2048220861-11021_S3_sample.counts.hdf5 --input 204409765380-40Ci_S6_sample.counts.hdf5 --input 2048221977-11026_S2_sample.counts.hdf5 --input 2048222584-11029_S5_sample.counts.hdf5 --input 2046746353-1010_S2_sample.counts.hdf5 --input 2045946158-9074ci_S6_sample.counts.hdf5 --input 2045946119-9070ci_S5_sample.counts.hdf5 --input 2045599063-9044ci_S5_sample.counts.hdf5 --input 2046746482-1011_S3_sample.counts.hdf5 --input 204409784980-41ci_S7_sample.counts.hdf5 --input 2048222477-11028_S4_sample.counts.hdf5 --input 2045598355-9040ci_S1_sample.counts.hdf5 --input 2048221935-11024_S6_sample.counts.hdf5 --input 2044098183-8045_S4_sample.counts.hdf5 --input 2045946104-9069ci_S4_sample.counts.hdf5 --input 2048222618-11030_S6_sample.counts.hdf5 --input 2046747002-1014_S6_sample.counts.hdf5 --input 2044395737-8063ci_S3_sample.counts.hdf5 --input 2045946189-9077_S3_sample.counts.hdf5 --input 2045599415-9048ci_S3_sample.counts.hdf5 --input 2046746162-1009_S1_sample.counts.hdf5 --contig-ploidy-priors /home/qtestard/PROJECTS/aurexome/REF/common/prior_contig_diploidy.tsv --output /home/qtestard/PROJECTS/aurexome/SAMPLE/CNV_calling/CNV/CNV_calling_NaiveDetermineGermlineContigPloidy --output-prefix CNV_calling_NaiveDetermineGermlineContigPloidy
Actual behavior
Steps to reproduce behavior
Run the DetermineGermlineContigPloidy tool within a Singularity container without root permission.
Thank you.
My thread on Singularity Github #1557
The text was updated successfully, but these errors were encountered: