This problem relates to an nf-core pipeline called scrnaseq that processes single cell RNA seq data. I am hitting a wall with running the scrnaseq pipeline where the locally created /tmp folder is running out of disk space, causing the > pipeline on nf-tower to crash:
2024-08-05 10:56:24 [runtime] (join_complete) ID.SRR7276474.SC_RNA_COUNTER_CS.SC_MULTI_CORE.MULTI_REPORTER.CLOUPE_PREPROCESS
2024-08-05 10:56:24 [runtime] (ready) ID.SRR7276474.SC_RNA_COUNTER_CS.SC_MULTI_CORE.MULTI_REPORTER.CHOOSE_CLOUPE
2024-08-05 10:56:24 [runtime] (run:local) ID.SRR7276474.SC_RNA_COUNTER_CS.SC_MULTI_CORE.MULTI_REPORTER.CHOOSE_CLOUPE.fork0.chnk0.main
2024-08-05 10:56:24 [runtime] (chunks_complete) ID.SRR7276474.SC_RNA_COUNTER_CS.SC_MULTI_CORE.MULTI_REPORTER.CHOOSE_CLOUPE
2024-08-05 10:59:40 [runtime] Pipestance directory out of disk space.
/tmp/nxf.oNCR6caVZb/SRR7276474/SC_RNA_COUNTER_CS has only 2128kB remaining space available.
To ignore this error, set MRO_DISK_SPACE_CHECK=disable in your environment.
2024-08-05 10:59:43 [runtime] Pipestance directory out of disk space.
/tmp/nxf.oNCR6caVZb/SRR7276474/SC_RNA_COUNTER_CS has only 6260kB remaining space available.
To ignore this error, set MRO_DISK_SPACE_CHECK=disable in your environment.
2024-08-05 10:59:46 [runtime] Pipestance directory out of disk space.
/tmp/nxf.oNCR6caVZb/SRR7276474/SC_RNA_COUNTER_CS has only 8280kB remaining space available.
To ignore this error, set MRO_DISK_SPACE_CHECK=disable in your environment.
2024-08-05 10:59:49 [runtime] Pipestance directory out of disk space.
The process that ran was: NFCORE_SCRNASEQ:SCRNASEQ:CELLRANGER_ALIGN:CELLRANGER_COUNT.
When launching the nfcore pipeline from tower, the working directory I gave to the pipeline is an s3 path that has more than enough disk space to process the data. I have a few questions here:
- Is the /tmp folder created within the workign directory above?
- Why is there a necessity to create and use this /tmp folder?
- How do I change the source code to avoid this issue, and should I do so?
Where in the source code is this /tmp folder even created? I see the following the .command.run:
nxf_mktemp() {
local base=${1:-/tmp}
mkdir -p “base" if [[ (uname) = Darwin ]]; then mktemp -d $base/nxf.XXXXXXXXXX
else TMPDIR=”$base" mktemp -d -t nxf.XXXXXXXXXX
fi
}nxf_main() {
trap on_exit EXIT
trap on_term TERM INT USR2
trap ‘’ USR1
[[ “${NXF_CHDIR:-}” ]] && cd “NXF_CHDIR" NXF_SCRATCH="(set +u; nxf_mktemp $TMPDIR)”
[[ $NXF_DEBUG > 0 ]] && nxf_env
…}
But where in the code is the pipeline prompted to do this!