此指引可協助使用者準備用於大規模分析的基因體、臨床、突變、表現和影像資料,並針對資料湖執行互動式查詢。它包括基礎設施即程式碼 (IaC) 自動化、用於快速迭代的持續整合和持續交付 (CI/CD)、用於儲存和轉換資料的導入管道,以及用於互動式分析的筆記本和儀表板。我們還示範如何使用 AWS HealthOmics、Amazon Athena 和 Amazon SageMaker 筆記本儲存和查詢基因體變體和註釋資料。本指引與 Bioteam 合作編製。
架構圖
-
架構
-
CI/CD
-
架構
-
步驟 1
從 The Cancer Genome Archive (TCGA) 中擷取、格式化和編目資料。原始資料透過 TCGA API 從 AWS 上的開放資料登錄檔 (RODA) 提取。資料在 AWS Glue 擷取、轉換和載入 (ETL) 任務中進行轉換,並由 AWS Glue 爬蟲程式進行編目。這使得資料可供在 Athena 中查詢。步驟 2
對 The Cancer Imaging Atlas (TCIA) 中的資料進行擷取、格式化和編目。透過 TCIA API 從 RODA 提取原始資料。資料在 AWS Glue ETL 任務中進行轉換,並由 AWS Glue 爬蟲程式進行編目。您可以使用 SageMaker 筆記本查詢和顯示影像位置。
步驟 3
來自 One Thousand Genomes 專案的 VCF 資料、範例 VCF 和 ClinVar 註釋 VCF 被導入到 Amazon Omics 變體和註釋儲存區中,並在 Lake Formation 中作為資料表提供。
步驟 4
研究科學家透過 QuickSight 中的視覺化介面來分析多模態資料。在 SPICE (超快速、平行、記憶體計算引擎) 資料庫中快取資料,以最佳化查詢效能。
步驟 5
資料科學家使用透過 SageMaker 筆記本環境提供的 Jupyter 筆記本,藉助程式碼分析資料。
-
CI/CD
-
步驟 1
建立包含 setup.sh 指令碼的 AWS CodeBuild 專案。此指令碼建立其餘的 AWS CloudFormation 堆疊、程式碼儲存庫和程式碼。步驟 2
登陸區域 (zone) 堆疊建立 AWS CodeCommit pipe 儲存庫。登陸區域 (zone) 堆疊完成其設定後,setup.sh 指令碼將原始程式碼推送至 CodeCommit pipe 儲存庫。步驟 3
部署管道 (pipe) 堆疊建立 CodeCommit code 儲存庫、Amazon CloudWatch 事件和 AWS CodePipeline code 管道。部署管道 (pipe) 堆疊完成其設定後,setup.sh 指令碼將原始程式碼推送至 CodeCommit code 儲存庫。
步驟 4
CodePipeline (code) 管道部署程式碼庫 (基因體、成像和 omics) CloudFormation 堆疊。CodePipeline 管道完成其設定後,您帳戶中部署的資源包括用於在資料湖中儲存物件存取日誌、建置成品和資料的 Amazon Simple Storage Service (Amazon S3) 儲存貯體;用於儲存原始程式碼的 CodeCommit 儲存庫;用於建置程式碼成品的 CodeBuild 專案;用於自動化資源建置和部署的 CodePipeline 管道;AWS Glue 任務、爬蟲程式和資料型錄範例;以及 Amazon SageMaker Jupyter 筆記本執行個體。佈建了 Amazon Omics Reference Store、Variant Store 和 Annotation Store,並擷取了範例變體呼叫檔案 (VCF)、1000 個基因體 VCF 的子集和 ClinVar Annotation VCF 用於分析。使用 AWS Lake Formation,資料湖管理員可以使用 Amazon Athena 和 SageMaker 啟用 Omics Variant 和 Annotation Stores 中的資料存取。 佈建 Amazon Omics Reference Store、Variant Store 和 Annotation Store,以儲存公開提供的變體和註釋資料,並使其可用於查詢和分析。
步驟 5
成像堆疊會建立指向 CloudFormation 快速入門的超連結,啟動該超連結可部署 Amazon QuickSight 堆疊。QuickSight 堆疊建立了互動式探索多體學資料集所需的 Identity and Access Management (IAM) 和 QuickSight 資源。
Well-Architected 支柱
AWS Well-Architected Framework 可協助您了解在雲端建立系統時所做決策的利弊。該架構的六根支柱讓您能夠學習設計和操作可靠、安全、高效、經濟高效且永續的系統的架構最佳實務。使用 AWS Well-Architected Tool (在 AWS 管理主控台中免費提供),您可以透過回答每根支柱的一組問題來針對這些最佳實務審查您的工作負載。
上方的架構圖是一個考量到 Well-Architected 最佳實務而建立的的解決方案的範例。若要完全實現 Well-Architected,您應該盡可能地多遵循 Well-Architected 的最佳實務。
-
卓越營運
本指引使用 CodeBuild 和 CodePipeline 來建置、封裝和部署解決方案中所需的一切內容,以擷取和儲存變體呼叫檔案 (VCF),並搭配使用 The Cancer Genome Atlas (TCGA) 和 The Cancer Imaging Atlas (TCIA) 資料集中的多模態和多組學資料。使用全受管的服務 – Amazon Omics 展現了無伺服器基因體資料擷取和分析。在解決方案 CodeCommit 儲存庫中做出的程式碼變更,將透過提供的 CodePipeline 部署管道進行部署。
-
安全性
本指引使用包含 IAM 的以角色為基礎的存取,並且所有儲存貯體均已啟用加密、均為私有且封鎖公有存取。AWS Glue 中的資料型錄均已啟用加密,並且 由 AWS Glue 寫入 Amazon S3 的所有中繼資料均已加密。所有角色均以最低權限定義,且服務之間的所有通訊均保留在客戶帳戶中。管理員可控制 Jupyter 筆記本、Amazon Omics Variant Stores 的資料,AWS Glue 型錄資料存取權使用 Lake Formation 進行完全管理,而 Athena、SageMaker Notebook 和 QuickSight 資料存取權透過提供的 IAM 角色進行管理。
-
可靠性
AWS Glue、Amazon S3、Amazon Omics 和 Athena 均為無伺服器,並且會隨著資料量的增加而擴展資料存取效能。AWS Glue 會佈建、設定和擴展執行資料整合任務所需的資源。Athena 是無伺服器的,所以您可以快速查詢資料,而無需設定和管理任何伺服器或資料倉儲。QuickSight SPICE 記憶體儲存將您的資料探索擴展至數千名使用者。
-
效能達成效率
透過使用無伺服器技術,您只需佈建您使用的確切資源。每項 AWS Glue 任務將隨需佈建 Spark 叢集以轉換資料,並在完成後取消佈建資源。如果您選擇新增 TCGA 資料集,則可以新增 AWS Glue 任務和 AWS Glue 爬蟲程式,這也會隨需佈建資源。Athena 會自動平行執行查詢,因此大部分的結果都可在幾秒鐘內傳回。 Amazon Omics 透過將檔案轉換為 Apache Parquet 來大規模最佳化變體查詢效能。
-
成本最佳化
透過使用隨需擴展的無伺服器技術,您只需依使用的資源付費。為進一步最佳化成本,您可以在不使用筆記本環境時,在 SageMaker 中將其停止。QuickSight 儀表板也透過單獨的 CloudFormation 範本進行部署,因此如果您不打算使用視覺化儀表板,可以選擇不部署以節省成本。 Amazon Omics 大規模最佳化變體資料儲存成本。查詢成本由 Athena 掃描的資料量決定,可以透過據以編寫查詢來最佳化。
-
永續發展
透過廣泛使用受管服務和動態擴展,您可以最大限度地減少後端服務對環境的影響。永續發展的一個關鍵組成部分是最大限度地利用筆記本伺服器執行個體。您應在不使用筆記本環境時將其停止。
其他注意事項
資料轉換
此架構選擇使用 AWS Glue 獲取所需的擷取、轉換和載入 (ETL) 功能,以擷取、準備和編目解決方案中的資料集,來實現查詢和效能。您可以視需新增 AWS Glue 任務和 AWS Glue 爬蟲程式,以擷取新的 The Cancer Genome Atlas (TCGA) 和 The Cancer Image Atlas (TCIA) 資料集。您還可以新增任務和爬蟲程式,來擷取、準備和編目您自己的專有資料集。
資料分析
此架構選擇使用 SageMaker 筆記本,來提供 Jupyter 筆記本環境進行分析。您可以將新的筆記本新增至現有環境或建立新環境。如果您更喜歡 RStudio 而不是 Jupyter 筆記本,則可以使用 RStudio on Amazon SageMaker。
資料視覺化
此架構選擇使用 QuickSight 來提供互動式儀表板,以進行資料視覺化和探索。QuickSight 儀表板透過單獨的 CloudFormation 範本設定,因此,如果您不打算使用儀表板,則不必對其進行佈建。在 QuickSight 中,您可以建立自己的分析、探索其他篩選條件或視覺化,並與同事共用資料集和分析。
Implementation 資源
此儲存庫在 AWS 中建立了一個可擴展環境,以準備用於大規模分析的基因體、臨床、突變、表現和影像資料,並針對資料湖執行互動式查詢。該解決方案示範了以下操作方法︰1) 使用 HealthOmics Variant Store & Annotation Store 儲存基因體變異資料和註釋資料,2) 針對多模態資料準備和編目佈建無伺服器資料擷取管道,3) 透過互動式介面來視覺化和探索臨床資料,以及 4 ) 使用 Amazon Athena 和 Amazon SageMaker 針對多模態資料湖執行互動式分析查詢。
提供了詳細的指南,以在您的 AWS 賬戶中實驗和使用。建立指南的每個階段 (包括部署、使用和清理) 都經過檢查以準備部署。
範本程式碼是一個起點。它經過了產業驗證、具有規範性但並非明確性,並且可以幫助您開始。
相關內容
參與者
BioTeam 是一間生命科學 IT 諮詢公司,熱衷於透過縮小科學家想要用資料做什麼以及他們可以做什麼之間的差距,來加速科學探索。自 2002 年以來,BioTeam 一直致力於科學、資料和技術的交叉領域,具備跨學科能力,可運用策略、進階技術和 IT 服務來解決最具挑戰性的研究、技術和營運問題。我們擅長將科學需求轉化為強大的科學資料生態系統,我們非常自豪能夠與生命科學研究領域的廣泛領導者合作,從生物科技新創公司到最大型的全球製藥公司,從聯邦政府機構到學術研究機構。
免責聲明
範例程式碼、軟體庫、命令列工具、概念驗證、範本或其他相關技術 (包括我們的人員提供的任何上述技術) 依據 AWS 客戶協議或您與 AWS 之間的相關書面協議 (以適用者為準) 作為 AWS 內容提供給您。您不得在您的生產帳戶、生產或其他關鍵資料中使用此 AWS 內容。您有責任根據您的特定品質控制實務和標準,依生產級用途來測試、保護和最佳化 AWS 內容 (如範例程式碼)。部署 AWS 內容可能會因建立或使用 AWS 收費資源 (如執行 Amazon EC2 執行個體或使用 Amazon S3 儲存) 而產生 AWS 費用。
本指引中對第三方服務或組織的參考並不意味著 Amazon 或 AWS 與第三方之間的認可、贊助或聯繫。AWS 的指引是技術起點,您可以在部署架構時自訂與第三方服務的整合。