QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

在 AWS 中国区域一键部署面向基因分析的 Cromwell-on-AWS-Batch 解决方案(一)

  • 2020-01-02
  • 本文字数:1537 字

    阅读完需:约 5 分钟

在 AWS 中国区域一键部署面向基因分析的 Cromwell-on-AWS-Batch 解决方案(一)

摘要: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


wget https://awshcls.s3.cn-northwest-1.amazonaws.com.cn/cromwellcn/scripts/simple-hello.wdl   curl -X POST "http://localhost:8000/api/workflows/v1" -H "accept: application/json" -F "workflowSource=@simple-hello.wdl"
复制代码


其中 simple-hello.wdl 的内容如下,是一个只执行一个 task 的测试脚本(wdl 的规范参考文末链接)。``


Bash


task echoHello{    command {        echo "Hello AWS!"    }    runtime {        docker: "amazonlinux:latest"    }}workflow printHelloAndGoodbye {    call echoHello}
复制代码


测试示例很快完成,在 CloudWatch Log 中有详细记录信息,如下图所示。



本文转载自 AWS 技术博客。


原文链接:https://amazonaws-china.com/cn/blogs/china/one-click-deployment-of-cromwell-on-aws-batch-solution-for-genetic-analysis-in-aws-china/


2020-01-02 14:41759

评论

发布
暂无评论
发现更多内容

MySQL系列——索引、视图、DBA常用命令、数据库设计三范式

胖虎不秃头

MySQL 数据库· 9月月更

软件测试 | 测试开发 | 测试人生 | 入行未满3年拿下AI领域上市公司30W+ offer,他靠的是什么?

测吧(北京)科技有限公司

软件测试 测试

Qt | 关于矩形大小的使用 QSize

YOLO.

c++ qt 9月月更

MySQL系列——约束、存储引擎、事务

胖虎不秃头

MySQL 数据库· 9月月更

软件测试 | 测试开发 | 测试人生 | 00后0经验应届毕业生拿下2线城市15W offer,好励志~

测吧(北京)科技有限公司

软件测试 测试 offer

软件测试 | 测试开发 | 基于Bert迁移学习点击未知弹框

测吧(北京)科技有限公司

软件测试 测试

软件测试 | 测试开发 | 探索Java中如何执行python脚本

测吧(北京)科技有限公司

Python 测试

Qt | 关于Qt的模型/视图架构

YOLO.

c++ qt 9月月更

Qt | 关于目录操作的使用 QDir

YOLO.

c++ qt 9月月更

iOS端如何实现带UI截屏分享

MobTech袤博科技

ios

Qt | 关于重绘事件处理函数 paintEvent()

YOLO.

c++ qt 9月月更

Qt | 关于点的坐标的使用 QPoint

YOLO.

c++ qt 9月月更

软件测试 | 测试开发 | 接口自动化中如何完成接口加密与解密?

测吧(北京)科技有限公司

Python 测试 自动化测试

软件测试 | 测试开发 | 这些常用测试平台,你们公司在用的是哪些呢?

测吧(北京)科技有限公司

测试 bug

软件测试 | 测试开发 | AppCrawler 自动遍历测试实践(三):动手实操与常见问题汇总

测吧(北京)科技有限公司

软件测试 测试 软件测试和开发

关于QPalette的使用

YOLO.

c++ qt 9月月更

望繁信科技携手复旦大学教育发展基金会,齐心共助公益慈善义拍

望繁信科技

Qt | 文件操作 QFile

YOLO.

qt 9月月更

软件测试 | 测试开发 | 接口自动化测试如何进行认证?

测吧(北京)科技有限公司

测试 自动化测试

FreeRTOS记录(三、RTOS任务调度原理解析_Systick、PendSV、SVC)

矜辰所致

Svc FreeRTOS 9月月更 Systick PendSV

MySQL系列——表的创建、插入、修改、删除数据

胖虎不秃头

MySQL 数据库 9月月更

Qt | 关于样式表的使用 QStyleSheet

YOLO.

c++ qt 9月月更

Qt | 文件信息 QFileInfo

YOLO.

c++ qt 9月月更

软件测试 | 测试开发 | 视频编辑SDK测试

测吧(北京)科技有限公司

软件测试 sdk

软件测试 | 测试开发 | Scrcpy工具码流格式化

测吧(北京)科技有限公司

软件测试 测试

Qt | 关于容器类的一些总结

YOLO.

c++ qt 9月月更

软件测试 | 测试开发 | 测试工程师用 Shell 定位 Bug 的正确姿势

测吧(北京)科技有限公司

测试 bug

软件测试 | 测试开发 | 智能遍历测试在回归测试与健壮性测试的应用

测吧(北京)科技有限公司

软件测试 测试

Qt | Qt中的一些使用在容器类上的算法

YOLO.

c++ qt 9月月更

软件测试 | 测试开发 | 测试人生 | 疫情之下,1个月内涨薪50%拿下亿级流量金融上市公司新 offer,我柠檬了~

测吧(北京)科技有限公司

软件测试 测试 offer

NFT和元宇宙之间的关系是什么?

开源直播系统源码

NFT 区块链、 数字藏品 数字藏品系统

在 AWS 中国区域一键部署面向基因分析的 Cromwell-on-AWS-Batch 解决方案(一)_文化 & 方法_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章