DeepSomatic fails on HPC with small /tmp
Hi all,
Thanks for the tool, super excited to try it.
I’m running DeepSomatic v1.9.0 via Singularity on an HPC cluster (SLURM), and I consistently encounter the following error early in the workflow:
```
Error in tempfile() using template /tmp/parXXXXX.df: Could not create temp file /tmp/par0xOHc.df: No space left on device at /usr/bin/parallel line 5414.
```
On our HPC system, the node-local /tmp filesystem is intentionally small (a common cluster configuration), so jobs fail immediately when parallel attempts to create temporary files under /tmp.
<B>What I am trying to do</B>
I would like to change the temporary directory used by DeepSomatic / GNU parallel to a large, writable filesystem rather than local /tmp.
<B>What I have already tried (without success)</B>
1. Setting environment variables on the host and inside the container:
a. TMPDIR
b. PARALLEL_TMPDIR
c. SINGULARITY_TMPDIR
d. SINGULARITYENV_TMPDIR,
e. SINGULARITYENV_PARALLEL_TMPDIR, etc.
2. Using --scratch and pointing it to a large, writable filesystem
Despite these, the log output shows that parallel is invoked and creates files such as:
```
/tmp/parXXXXX.df
```
Command I am using
```
singularity run --scratch "${TMPDIR_HOST}" \
-B /usr/lib/locale/:/usr/lib/locale/ \
-B "${TMPDIR_HOST}:/usr/bin/parallel" \
-B "${TMPDIR_HOST}:${TMPDIR_HOST}" \
-B "${REF_DIR}:${REF_DIR}" \
-B "${TUMOR_DIR}:${TUMOR_DIR}" \
-B "${OUT_DIR}:${OUT_DIR}" \
-B "${TMPDIR_HOST}:/tmp" \
docker://google/deepsomatic:1.9.0 \
run_deepsomatic \
--model_type=FFPE_WGS_TUMOR_ONLY \
--ref=${REF} \
--reads_tumor=${BAM} \
--output_vcf=${OUT_DIR}/${SAMPLE}.deepsomatic.vcf.gz \
--sample_name_tumor=${SAMPLE} \
--num_shards=8 \
--logging_dir=${OUT_DIR}/logs/${SAMPLE} \
--use_default_pon_filtering=true \
--intermediate_results_dir=${OUT_DIR}/logs/${SAMPLE}
```
Is there a supported way to change the temporary directory in DeepSomatic?
Best regards,
Lipika
关闭于 2026-01-07 4 条评论