集群投递模式
简介
SDAS Pipelines 自动化投递任务是一个智能的作业调度系统,用于自动管理和提交SDAS分析流程的作业到PBS/Torque集群。该系统能够:
自动解析依赖关系:根据作业间的依赖关系智能调度
并发控制:限制同时运行的作业数量,避免资源冲突
状态监控:实时监控作业执行状态
错误处理:自动重试失败的作业
详细报告:生成完整的执行报告和日志
系统要求
Python 3.6+
作业调度系统(支持以下任一种):
PBS/Torque
SGE (Sun Grid Engine)
Slurm
LSF (IBM Platform Load Sharing Facility)
适当的队列权限
SDAS软件已正确配置
使用步骤
1. 配置pipeline_input.conf文件
在运行SDAS Pipeline之前,需要先配置 pipeline_input.conf 文件。这个文件定义了:
输入数据:h5ad文件路径和分组信息
分析流程:选择要运行的SDAS模块
模块参数:每个模块的具体参数配置
依赖关系:模块间的输入输出关系
1.1 基本配置结构
1.2 模块参数配置示例
配置说明:
参数格式:
参数名 = 参数值空格表示:参数值为空,使用默认值
注释:以
#开头,用于说明参数含义路径参数:使用绝对路径,避免相对路径问题
空间基因共表达分析 (coexpress)
细胞类型注释 (cellAnnotation)
空间结构域识别 (spatialDomain)
1.3 模块依赖关系配置
SDAS模块之间存在依赖关系,通过 *_input_process 参数指定:
2. 生成作业配置
配置完成后,运行SDAS Pipeline生成作业配置文件:
这将生成 all_shell.conf 文件,包含所有作业及其依赖关系。
3. 预览作业(推荐)
在实际提交前,建议先使用dry-run模式预览:
这将显示:
所有作业的依赖关系
资源需求(CPU、内存)
将要生成的qsub脚本
4. 提交作业
确认无误后,提交作业到队列:
auto_qsub_scheduler.py 作业调度系统配置
根据您的集群环境,需要修改 auto_qsub_scheduler.py 中的 create_qsub_script 方法来自定义作业提交脚本的格式。该方法位于文件的 QsubScheduler 类中:
您需要:
根据您的作业调度系统(PBS/Torque、SGE、Slurm或LSF)修改脚本模板
确保包含必要的资源配置参数(CPU、内存等)
保留对以下变量的引用:
self.queue: 队列名称shell_file: 执行脚本路径cpu: CPU核心数memory: 内存需求
测试数据和配置文件
SDAS Pipelines提供了单片和多片测试数据及对应的配置文件,方便用户快速上手和测试系统。
目录结构
单片数据分析配置
pipeline_input.single_slice.conf 针对单个空间转录组切片的分析流程:
输入数据:单个h5ad文件
分析模块:包含大多数SDAS分析模块
特点:
简单的数据输入配置
完整的模块参数示例
适合初次使用的用户
多片数据分析配置
pipeline_input.multiple_slice.conf 针对多个空间转录组切片的分析流程:
输入数据:多个h5ad文件,包含分组信息(如Normal/Tumor)
分析模块:根据实验设计选择合适的模块
特点:
展示了多样本输入格式
包含组间比较的参数设置
适合进行对照分析
测试步骤
1. 单片数据测试
步骤1:准备配置文件
步骤2:生成作业配置
步骤3:预览作业(推荐)
步骤4:提交作业
2. 多片数据测试
步骤1:准备配置文件
步骤2:生成作业配置
步骤3:预览作业(推荐)
步骤4:提交作业
Last updated