新增功能 — Amazon Genomics CLI 现已开源并全面推出
不到 70 年的时间内,我们一直无缘有史以来最伟大的发现之一:DNA 的双螺旋结构。我们现在知道 DNA 的形状是一种扭曲的阶梯,由四种称为碱基的化合物组成。这四种碱基通常用大写字母标识:腺嘌呤 (A)、鸟嘌呤 (G)、胞嘧啶 (C) 和胸腺嘧啶 (T)。DNA 为双螺旋结构的原因之一是,当这些化合物位于阶梯的两侧时,A 总是与 T 结合,C 总是与 G 结合。
如果我们在桌子上展开此阶梯,就会看到两个“字母”序列,每个序列携带相同的遗传信息。例如,以下是绑定在一起的两个系列(AGCT
和 TCGA
):
这些字母序列可能很长。例如,人类基因组由超过 30 亿个代码字母组成,是人体中每个细胞的生物蓝图。个人基因组中的信息可以用来形成高度个性化的治疗方法,以改善个人甚至人类社会的健康。同样,基因组数据可用于跟踪传染病、改善诊断结果,甚至跟踪流行病、食物病原体和毒素。这就是新兴的环境基因组学领域。
获取基因组数据需要执行基因组测序,随着最新技术的进步,我们能够以更快、更具成本效益的方式为大批个体执行基因组测序。在未来五年内,基因组学数据集估计将不断增长,包含超过十亿个测序基因组。
基因组学数据分析的工作原理
基因组学数据分析使用各种工具,这些工具需要按照特定的步骤序列或工作流进行协调。为了促进工作流的制定、共享和运行,基因组学和生物信息学界开发了专门的工作流定义语言,例如 WDL、Nextflow、CWL 和 Snakemake。
但是,此过程会生成数 PB 级的原始基因组数据,因此基因组学和生命科学领域的专家正在努力扩展计算和存储资源以处理如此庞大规模的数据。
为了快速处理数据并提供答案,需要将计算、存储和联网等云资源配置为与分析工具配合使用。因此,科学家和研究人员往往不得不花费宝贵的时间来部署基础设施和修改开源基因组学分析工具,而无法致力于基因组学的创新。
Amazon Genomics CLI 简介
几个月前,我们分享了 Amazon Genomics CLI 的预览版,该工具可让您更轻松地在 AWS 上以 PB 级处理基因组学数据。我很高兴分享的是,Amazon Genomics CLI 现在成为开源项目,并于今日全面推出。您可以将该工具与公开的工作流搭配使用,并在此基础上形成分析。
Amazon Genomics CLI 简化并自动化云基础设施的部署,同时提供易于使用的命令行界面,可在 AWS 上快速设置和运行基因组学工作流。通过免除其在云中设置和运行基因组学工作流的繁重工作,软件开发人员和研究人员可以自动配置、配置和扩展云资源,从而实现更快、更具成本效益的人群级遗传学研究、药物发现周期等。
借助 Amazon Genomics CLI,您可以在优化的云基础设施上运行工作流。更具体地说,CLI:
- 改进了基因组学工作流引擎,使其更全面地与 AWS 集成,从而减轻开发人员手动修改开源工具并调整其以大规模高效运行的负担。这些工具可在 Amazon Elastic Container Service (Amazon ECS)、Amazon DynamoDB、Amazon Elastic File System (Amazon EFS) 和 Amazon Simple Storage Service (Amazon S3) 中无缝工作,帮助您扩展计算和存储,同时使用 EC2 Spot 实例等功能优化成本。
- 消除最耗时的任务,例如配置存储和计算容量、部署基因组学工作流引擎以及调整用于执行工作流的集群。
- 根据您的工作负载自动增加或减少云资源,从而避免购买过多或过少容量的风险。
- 标记资源,以便使用 AWS 成本和使用情况报告之类的工具来了解与跨多种 AWS 服务的基因组学数据分析相关的成本。
Amazon Genomics CLI 的使用基于以下三个主要概念:
工作流 – 这些是用 WDL 或 Nextflow 等语言编写的生物信息学工作流。它们可以是单个脚本文件,也可以是多个文件组成的软件包。这些工作流脚本文件是工作流定义,并与其他元数据 (如定义所使用的工作流语言) 结合在一起,形成工作流规范,CLI 使用该规范在适当的计算资源上执行工作流。
上下文 – 上下文封装并自动执行耗时的任务,以配置和部署工作流引擎,创建数据访问策略,以及调整计算集群 (使用 AWS Batch 管理) 以实现大规模操作。
项目 – 项目将工作流、数据集和用于处理它们的上下文链接在一起。从用户的角度来看,它处理与同一问题相关或由同一团队使用的资源。
我们来看看这些步骤的实际操作。
使用 Amazon Genomics CLI
我按照说明在笔记本电脑上安装 Amazon Genomics CLI。现在,我可以使用 agc
命令来管理基因组工作负载。我看到了以下可用的选项:
第一次使用该选项时,我激活自己的 AWS 账户:
这将创建 Amazon Genomics CLI 运行所需的核心基础设施,其中包括 S3 存储桶、Virtual Private Cloud (VPC) 和 DynamoDB 表。S3 存储桶用于持久元数据,而 VPC 用于隔离计算资源。
或者,我可以引入自己的 VPC。我还可以将自己的一个指定的配置文件用于 AWS 命令行界面 (CLI)。通过这种方式,我可以自定义 AWS 区域和 Amazon Genomics CLI 使用的 AWS 账户。
我在本地设置中配置自己的电子邮件地址。这将用于标记 CLI 创建的资源:
Amazon Genomics CLI 安装中包含的示例文件夹中有一些演示项目。这些项目使用不同的引擎,例如 Cromwell 或Nextflow。在 demo-wdl-project
文件夹中,agc-project.yaml
文件描述了 Demo
项目的工作流、数据和上下文:
---
name: Demo
schemaVersion: 1
workflows:
hello:
type:
language: wdl
version: 1.0
sourceURL: workflows/hello
read:
type:
language: wdl
version: 1.0
sourceURL: workflows/read
haplotype:
type:
language: wdl
version: 1.0
sourceURL: workflows/haplotype
words-with-vowels:
type:
language: wdl
version: 1.0
sourceURL: workflows/words
data:
- location: s3://gatk-test-data
readOnly: true
- location: s3://broad-references
readOnly: true
contexts:
myContext:
engines:
- type: wdl
engine: cromwell
spotCtx:
requestSpotInstances: true
engines:
- type: wdl
engine: cromwell
对于这个项目,有四个工作流 (hello
、read
、words-with-vowels
和 haplotype
)。项目对两个 S3 存储桶具有只读访问权限,并且可以使用两个上下文运行工作流。两种上下文都使用 Cromwell 引擎。一个上下文 (SpotCtX
) 使用 Amazon EC2 Spot 实例来优化成本。
在 demo-wdl-project
文件夹中,我使用亚 Amazon Genomics CLI 来部署 spotCtx
上下文:
几分钟后,上下文就准备就绪,我可以开始执行工作流。一旦启动,上下文每小时产生大约 0.40 USD 的基准成本。这些成本不包括为执行工作流而创建的资源。这些资源取决于您的具体使用案例。上下文可以通过在其配置中添加 requestSpotInstances
标志来选择使用 Spot 实例。
我使用 CLI 查看项目上下文的状态:
现在,让我们看一下此项目中包含的工作流:
最简单的工作流是 hello
。如果您了解任何编程语言,那么完全可以理解 hello.wdl
文件的内容:
hello
工作流定义打印命令输出的单个任务 (hello
)。该任务在特定的容器镜像 (ubuntu: latest
) 上执行。输出取自标准输出 (stdout
),标准输出是进程可以在其中写入输出的默认文件描述符。
运行工作流是一个异步过程。从 CLI 提交工作流后,它将完全在云中进行处理。我可以一次运行多个工作流。底层计算资源将自动扩展,我只需按使用的资源付费。
我使用 CLI 启动 hello
工作流:
工作流已成功提交,最后一行是工作流执行 ID。我可以使用此 ID 来引用特定的工作流执行。现在,我检查工作流的状态:
hello
工作流仍在运行。几分钟后,我再次检查:
工作流已终止,并且现已完成。我查看工作流日志:
在日志中,我如预期找到了工作流打印的 Hello Amazon Genomics CLI!
消息。
我还可以使用上面日志中的信息查看 S3 上 hello-stdout.log
的内容:
它正常发挥作用! 现在,我们查看更复杂的工作流。在更改项目之前,我会销毁 Demo
项目的上下文:
在 gatk-best-practices-project
文件夹中,我列出了该项目的可用工作流:
在 agc-project.yaml
文件中,gatk4-data-processing
工作流指向同名的本地目录。以下是该目录的内容:
该工作流使用专注于变异发现的基因组分析工具包 GATK4 处理高吞吐量测序数据。
该目录包含一个 MANIFEST.json
文件。此清单文件描述了哪个文件包含要执行的主工作流 (目录中可以有多个 WDL 文件) 以及在何处查找输入参数和选项。以下是清单文件的内容:
在 gatk-best-practices-project
文件夹中,我创建了一个上下文来运行工作流:
然后,我启动 gatk4-data-processing
工作流:
几个小时后,工作流已终止:
我查看日志:
结果已写入账户激活期间创建的 S3 存储桶。存储桶的名称位于日志中,但我也可以发现它由 AWS Systems Manager 存储为参数。我可以使用以下命令将其保存在环境变量中:
使用 AWS 命令行界面 (CLI),我现在可以浏览 S3 存储桶上的结果并获取工作流的输出。
在查看结果之前,我通过停止上下文来删除不需要的资源。这将销毁所有计算资源,但会将数据保留在 S3 中。
GitHub 上的文档提供了有关配置不同上下文和运行其他工作流的其他示例。
可用性和定价
Amazon Genomics CLI 是一种开源工具,除了 AWS GovCloud (美国) 和位于中国的区域之外,您现在可以在所有 AWS 区域使用它。使用 AWS Genomics CLI 无需支付任何费用。您需要为 CLI 创建的 AWS 资源付费。
使用 Amazon Genomics CLI,您可以专注于科学研究,而无需构建基础设施。这可以让您更快地启动工作,同时支持研究、开发和测试工作负载。对于可扩展到数千个并行工作流的生产工作负载,我们可以提供利用其他 Amazon 服务 (如 AWS Step Functions) 的建议方法,只需联系我们的客户团队以获取更多信息即可。
— Danilo
相关文章
- Jgit的使用笔记
- 利用Github Action实现Tornadofx/JavaFx打包
- 叹息!GitHub Trending 即将成为历史!
- 微软软了?开源社区讨论炸锅,GitHub CEO 亲自来答
- GitHub Trending 列表频现重复项,前后端都没去重?
- Photoshop Elements 2021版本软件安装教程(mac+windows全版本都有)
- (ps全版本)Photoshop 2020的安装与破解教程(mac+windows全版本都有)
- (ps全版本)Photoshop cc2018的安装与破解教程(mac+windows全版本,包括2023
- 环境搭建:Oracle GoldenGate 大数据迁移到 Redshift/Flat file/Flume/Kafka测试流程
- 每个开发人员都要掌握的:最小 Linux 基础课
- 来撸羊毛了!Windows 环境下 Hexo 博客搭建,并部署到 GitHub Pages
- 超实用!手把手入门 MongoDB:这些坑点请一定远离
- 【GitHub日报】22-10-09 zustand、neovim、webtorrent、express 等4款App今日上新
- 【GitHub日报】22-10-10 brew、minio、vite、seaweedfs、dbeaver 等8款App今日上新
- 【GitHub日报】22-10-11 cobra、grafana、vue、ToolJet、redwood 等13款App今日上新
- Photoshop 2018 下载及安装教程(mac+windows全版本都有,包括最新的2023)
- Photoshop 2017 下载及安装教程(mac+windows全版本都有,包括最新的2023)
- Photoshop 2020 下载及安装教程(mac+windows全版本都有,包括最新的2023)
- Photoshop 2023 资源免费下载(mac+windows全版本都有,包括最新的2023)
- 最新版本Photoshop CC2018软件安装教程(mac+windows全版本都有,包括2023