我在高性能计算系统上运行批处理作业来对对齐的读取进行排序,并使用 GNU 并行来加速我的工作,但我的工作失败了,原因如下:
并行:错误:输出不完整。无法追加到缓冲区文件中 $TMPDIR。磁盘已满吗?并行:错误:将 $TMPDIR 更改为 --tmpdir 或使用 --compress。
我的工作脚本如下所示:
module load samtools/1.2
export TMPDIR=/scratch/$SLURM_JOBID
cd /data
ls *sam* | parallel "samtools sort –T /scratch/$SLURM_JOBID/{.} -O bam -o {}.bam {}"
有谁知道如何解决这个问题吗?
我收到相同的消息“parallel: Error: Change $TMPDIR with --tmpdir or use --compress”
我尝试将“--tmpdir /home/mydirectory”添加到脚本中,但是当我看到文件“/home/mydirectory/”没有创建任何内容时,我看到默认目录“/tmp/”和临时文件(如 /tmp/pAh6uWuQCg、/tmp/opjhZCzAX4 等)仍然在该目录中创建。对我来说,这意味着脚本中的参数“--tmpdir /home/mydirectory”不起作用。
在我的例子中,我运行隔离的应用程序的脚本并检查日志,并意识到我的应用程序有错误,因为日志显示错误消息,并且它填充了文件“/tmp/”
也许我的经验会对你有帮助
您尝试过 GNU Parallel 的建议吗?
parallel: Error: Change $TMPDIR with --tmpdir or use --compress.
如果还有人对答案感兴趣,
export TMPDIR=/scratch/$SLURM_JOBID
应该可以。唯一的问题可能是新的 TMPDIR 也很小,而且磁盘已经满了。尝试不同的目录。这对我有用。