You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SBATCH提交R脚本失败:脚本读取异常排查求助

问题:Slurm提交R脚本失败(交互式运行正常)

开发的R脚本在交互式环境中分块运行测试完全正常,可输出所需的.txt文件和图表,但通过sbatch提交到HPC后作业失败,状态信息如下:

State: FAILED (exit code 1)
Nodes: 1
Cores per node: 4
CPU Utilized: 00:50:36
CPU Efficiency: 24.89% of 03:23:20 core-walltime
Job Wall-clock time: 00:50:50
Memory Utilized: 3.57 GB
Memory Efficiency: 11.35% of 31.41 GB

提交的Slurm脚本

#!/bin/bash
#SBATCH --job-name=run_funct
#SBATCH --output=/[path]/logs/run_funct.out
#SBATCH --error=/[path]/logs/run_funct.err
#SBATCH --ntasks=1
#SBATCH --time=24:00:00
#SBATCH --mem-per-cpu=8042  
#SBATCH --cpus-per-task=4
#SBATCH --partition=compute

Rscript /[path]/code/analyse.correlation.R

(注:[path]为集群读写完整路径,此处省略)

R脚本相关代码片段

# write table correlation results
write.table(gene.database, file = file.path(data.dir, paste0(biomarker, "_", lineage, "_correlation_unified.txt")), sep = "\t");

错误日志内容

Error: unexpected ',' in:
"        gene.database,
        file = file.pte0(biomarker, "_", lineage, "_correlation_unified.txt")),"
Execution halted

错误出现在完成相关性计算的耗时for循环后、执行write.table(输出下游mapply分析结果)时。

解决建议

  1. 修复拼写错误:错误日志里明确显示file.pte0,这是file.path的拼写错误。检查集群上的analyse.correlation.R脚本,确认是否存在这个笔误——交互式运行的脚本和提交的脚本可能不是同一个版本,或者脚本上传到集群时出现了字符损坏。
  2. 验证脚本一致性:对比交互式环境中运行的R脚本和集群上的脚本内容,确保完全一致,尤其是write.table这一行的语法和函数名。
  3. 检查文件路径:确认data.dir在集群环境中是正确的、可读写的路径,交互式环境的路径可能和Slurm作业的环境变量不同。
  4. 换行符检查:如果脚本是从Windows上传到Linux集群,可能存在换行符差异(CRLF vs LF),可以用dos2unix命令转换脚本格式:dos2unix /[path]/code/analyse.correlation.R。

内容的提问来源于stack exchange,提问作者moirasanti

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 16:22:16