摘要:Cromwell-on-AWS-Batch 是 AWS 在生命科学领域联合 Broad 研究院推出的解决方案,已有很多 AWS 海外区域的客户在使用该解决方案进行基因分析。AWS Batch 服务于 2019 年 10 月在 AWS 中国区域上线之后,我们随即根据 AWS 中国区域的特点对该解决方案进行了适应修改和优化提升,本文通过一个测试示例和一个 GATK 实际例子来演示在中国区域一键部署的过程,为国内基因分析客户快速上手使用该解决方案加速分析效率提供参考。
1、基本介绍
Cromwell 是由 Broad 研究院面向科研领域开发的一套工作流管理框架,目前在基因分析领域更为常用。Cromwell 目前已支持对接 AWS Batch 作为其集群管理后端,云端基础资源的调度管理由 AWS Batch 完成。
Cromwell-on-AWS-Batch 的组成架构图如下图所示。由生信工程师编写 wdl 或 cwl 格式的基因分析工作流脚本,作为 Cromwell 的输入,通过 API 调用(或图形管理界面)的方式提交任务,分析过程中可通过 AWS Batch 服务的控制面板和 CloudWatch-Log 记录可以查看任务的执行状态,分析的结果保存在 Amazon S3 存储上。分析中支持调用 Spot 竞价实例来降低样本分析的成本。此外 Cromwell 还支持通过 Amazon Aurora 数据库服务来管理作业数据记录。
2、一键部署的过程及测试示例
部署过程通过 CloudFormation 模板导入,非常方便。进入 AWS 控制台,右上角选择宁夏区域,并通过左上角服务菜单进入 CloudFormation 服务界面,点击“创建堆栈”,在堆栈模板的 URL 信息栏中填入:https://awshcls.s3.cn-northwest-1.amazonaws.com.cn/cromwellcn/templates/cromwell-aio.template.yaml,如图所示。
进入下一步,为堆栈指定名称。在堆栈参数栏中,下拉选择 EC2 密钥对(如果下拉列表为空,可进入 EC2 服务界面左侧密钥对菜单中建好再返回此处),该密钥对是后续 SSH 登录的凭据;并输入 S3 存储桶的名称,该名称需符合 S3 桶名规范并保证唯一(亦可通过指定 Existing 选项为 true 来使用已有存储桶名)。在 AWS Batch 参数中,指定 Spot 竞价实例在所有 vCPU 的使用比例,并指定最小最大 vCPU 数量,后续会建 Default 和 High Priority 两个不同优先级的任务队列,故最小最大数量可分别指定。此处两个最小值均填 4。其他可保持默认值,进入下一步。
在权限参数中需要指定一个 IAM 权限角色用于授权 CloudFormation 来启动资源用,如果为空,参考右上角“了解更多”的步骤新建一个角色(简便起见可先建一个管理员权限的)再返回此处设置。
进入下一步,勾选两个确认框。
点击创建堆栈,即开始自动新建整个框架堆栈。等待十几分钟后堆栈建立完成,堆栈状态可看到均为 CREATE_COMPLETE 状态(该模板自动嵌套 7 个子模板)。
在 EC2 实例列表里也可以查看到对应的实例信息,选中 cromwell-server 实例点击上方“连接”查看 SSH 登录方式。
SSH 登录进 cromwell-server 实例后,输入以下命令即可提交一个简单的测试示例。
Bash
其中 simple-hello.wdl 的内容如下,是一个只执行一个 task 的测试脚本(wdl 的规范参考文末链接)。``
Bash
测试示例很快完成,在 CloudWatch Log 中有详细记录信息,如下图所示。
本文转载自 AWS 技术博客。
评论