本指南展示如何大规模构建并运行生产级生物信息学工作流程。通过使用自动化、工作流程分析、存储以及运营和成本可观测性方面的 AWS 服务,您可以遵循 DevOps 最佳实践来管理生物信息学工作流程的生命周期。您可以使用此架构作为自身基础架构的基础,并根据需要更新某些方面,以将其与您的环境集成并满足您的需求。
请注意:[免责声明]
架构图
[架构图描述]
第 1 步
使用 AWS DataSync 将序列数据传输到 Amazon Simple Storage Service(Amazon S3)。如果数据采用 FASTQ 格式,则可以将其导入 AWS HealthOmics(Amazon Omics 的后续版本)的序列存储中,以节省成本。
第 2 步
HealthOmics 使用工作流程描述语言(WDL)、Nextflow 或通用工作流程语言(CWL)等语言运行生物信息学工作流程来分析原始数据。这些工作流程可以构建为私有工作流程或 Ready2Run(由 HealthOmics 托管)。
工作流程中运行的工具作为 Docker 映像存储在 Amazon Elastic Container Registry(Amazon ECR)中。工作流程输出上传到 Amazon S3。
第 3 步
HealthOmics 将工作流引擎日志、任务日志和工作流运行日志发布到 Amazon CloudWatch,以进行故障排除和监控。
第 4 步
HealthOmics 使用 Amazon EventBridge 发布事件,后者可以自动执行下游操作,例如使用 AWS Lambda 函数启动更多生物信息学工作流程,或使用 Amazon Simple Notification Service(Amazon SNS)通知用户或组有关工作流程失败的信息。
第 5 步
可以在 Amazon DynamoDB 表中跟踪 HealthOmics 工作流程中有用的元数据(例如工作流程运行 ID、标签、样本 ID、工作流程输出文件位置)。AWS Glue 爬网程序将此数据提取到 AWS Glue Data Catalog 中,可以使用 Amazon Athena 查询这些数据。
第 6 步
工作流程开发人员和生物信息学家可以迭代新的和现有的工作流程,并使用 AWS CodeCommit 的持续集成和持续交付来维护版本控制。AWS CodePipeline 可用于调用 AWS CodeBuild 作业以自动在 HealthOmics 中创建新工作流程。
第 7 步
AWS 成本和使用情况报告(AWS CUR)有助于成本监控。可以配置此服务来创建报告并将其上传到 Amazon S3 存储桶。AWS Glue 爬网程序配置为将此数据提取到 AWS Glue Data Catalog,可以使用 Amazon Athena 查询这些数据,以获得与成本相关的见解。
Well-Architected 支柱
当您在云中构建系统时,AWS Well-Architected Framework 可以帮助您了解所做决策的利弊。框架的六大支柱使您能够学习设计和操作可靠、安全、高效、经济高效且可持续的系统的架构最佳实践。使用 AWS 管理控制台中免费提供的 AWS Well-Architected Tool,您可以通过回答每个支柱的一组问题,根据这些最佳实践来检查您的工作负载。
上面的架构图是按照 Well-Architected 最佳实践创建的解决方案示例。要做到完全的良好架构,您应该遵循尽可能多的 Well-Architected 最佳实践。
-
卓越运营
本指南使用 AWS CodeCommit、AWS CodeBuild 和 AWS CodePipeline 创建版本控制并自动构建和部署生物信息学工作流程的源代码。此外,DynamoDB 支持您跟踪 HealthOmics 输出文件并运行元数据。由于本指南使用 DevOps 最佳实践来管理您的工作流代码,并向您呈现了工作流运行元数据,因此您可以进行增量更改以获得准确的结果。通过跟踪工作流运行元数据,您可以轻松找到相关工作流运行状态和输出文件以执行下游报告或科学分析。
-
安全性
本指南使用 AWS Key Management Service(AWS KMS)进行静态加密,并使用 DataSync 为所有网络流量提供传输中加密。此外,AWS Identity and Access Management(IAM)提供对潜在敏感数据的细粒度访问控制,以便只有授权用户才能执行特定操作来处理和分析数据。
-
可靠性
本指南让您可以使用 HealthOmics 大规模协调计算密集型生物信息学工作流程。该服务具有一定的服务限额(例如虚拟 CPU 的数量),以防止意外的过度配置。此外,Amazon S3 和 DynamoDB 还通过内置备份提供高可用性。本指南还使用 EventBridge 捕获事件(例如故障),并且 Amazon SNS 可以提供实时通知作为响应,以便您可以采取适当的操作。您可以使用 Amazon CloudWatch 快速调查事件,它提供详细的日志,让您可以了解 HealthOmics 工作流程和基础工具。
-
性能效率
本指南让您可以使用不同的 CPU 和内存配置为特定任务运行并行工作流程。您可以通过指定所需的 CPU、内存和存储来请求资源,HealthOmics 会提供适当的基础设施。这有助于您根据业务需求使用正确的资源进行扩展。
-
成本优化
本指南使用 HealthOmics 序列存储,让您能够以较低的每 GB 成本高效存储和共享 PB 级基因组数据文件,从而实现比 Amazon S3 更高的成本节省。此外,您还可以使用 AWS CUR 访问有关 AWS 成本和使用情况的最详细信息,确定需要优化的领域,并根据项目、部门或用户等属性了解您的业务趋势。
-
可持续性
本指南使用托管和无服务器服务,让您无需配置和管理自己的基础设施,从而最大限度地减少项目对环境的影响。HealthOmics 仅在您请求运行工作流程时预置资源,并会在工作流程完成后终止这些资源。同样,Lambda 允许您将较小的任务作为函数运行,而无需预置自己的服务器。
实施资源
提供了在 AWS 账户中进行实验和使用的详细指南。构建指南的每个阶段(包括部署、使用和清理)都将被检查,以便为部署做好准备。
示例代码为起点。它经过行业验证,是规范性但不是决定性的,可以帮助您开始。
相关内容
使用 AWS HealthOmics 和 Amazon EventBridge 为生物信息学工作流程设计事件驱动型架构
有关如何使用 AWS HealthOmics 迁移和存储序列数据的指南
使用 AWS Health 和机器学习服务进行多模态数据分析
使用 AWS HealthOmics 保护您的基因组工作流程和数据
免责声明
示例代码;软件库;命令行工具;概念验证;模板;或其他相关技术(包括由我方人员提供的任何前述项)作为 AWS 内容按照《AWS 客户协议》或您与 AWS 之间的相关书面协议(以适用者为准)向您提供。您不应将这些 AWS 内容用在您的生产账户中,或用于生产或其他关键数据。您负责根据特定质量控制规程和标准测试、保护和优化 AWS 内容,例如示例代码,以使其适合生产级应用。部署 AWS 内容可能会因创建或使用 AWS 可收费资源(例如,运行 Amazon EC2 实例或使用 Amazon S3 存储)而产生 AWS 费用。
本指南中提及第三方服务或组织并不意味着 Amazon 或 AWS 与第三方之间存在认可、赞助或从属关系。AWS 的指导是一个技术起点,您可以在部署架构时自定义与第三方服务的集成。