PB 級資料處理挑戰,Kubernetes如何助力基因分析?

芊寶寶發表於2019-04-10

引言

James Watson 和 Francis Crick 於 1953 年發現了 DNA 的雙螺旋結構,從此揭開了物種進化和遺傳的神祕面紗,開啟了人類對數字化遺傳的認知,但是人類基因奧祕卻是一點點被讀懂的。

1956 年,一則癌症和染色體相關性的發現令整個癌症研究界震動:慢性骨髓性白血病(CML)患者的第 22 號染色體,比一般然明顯短很多。二十餘年後,學者們發現,9 號染色體的 Abl 基因,與 22 號染色體的 BCR 基因連到了一塊,交錯易位產生了一條 BCR-Abl 融合基因。BCR-Abl 蛋白一直處於活躍狀態且不受控制,引發不受控的細胞分裂,從而導致癌症。

也就是說,只要細胞表達 BCR-Abl 蛋白,就有血癌風險。美國著手深入研究,併成功推出了治療慢性骨髓性白血病的新藥。這,就是格列衛,也是去年《我不是藥神》中被我們熟知的‘高價藥’。

在格列衛誕生前,只有 30% 的慢性骨髓性白血病患者能在確診後活過 5 年。格列衛將這一數字從 30% 提高到了 89%,且在 5 年後,依舊有 98% 的患者取得了血液學上的完全緩解。為此,它也被列入了世界衛生組織的基本藥物標準清單,被認為是醫療系統中“最為有效、最為安全,滿足最重大需求”的基本藥物之一。

容器混合雲如何應對基因測序的 IT 挑戰

基因測序在血液腫瘤領域應用的越來越廣泛。根據病人的診斷結果, 血液腫瘤專科醫生會選擇相應的檢查,比如 PCR 結合實時熒光探針技術, 來檢測測 BCR-Abl 融合基因, 以診斷慢性骨髓性白血病, 也可以通過二代測序方式,SEGF(Single-end Gene Fusion)能夠通過單端 NGS 測序資料檢測複雜的基因融合型別。

在另一面,無創產檢唐氏/愛德華式篩查,近年來以高準確率和對胎兒的低風險,越來越受到國內年輕產婦的歡迎。基因公司每年都完成幾十萬例的 NIPT 檢查,每一例的 NIPT 涉及到數百 MB+ 的資料處理,儲存和報告生成。一家大型基因測序功能公司每日會產生 10TB 到 100TB 的下機資料,大資料生信分析平臺需要達到 PB 級別的資料處理能力。這背後是生物科技和計算機科技的雙向支撐:測序應用從科研逐步走向臨床應用,計算模式從離線向線上演進,交付效率越來越重要。

基因計算面臨以下幾方面挑戰:

1.資料儲存:資料增長快,儲存費用高,管理困難;長期儲存資料可靠性難以保障;需要尋求低成本大資料量的資料壓縮方式;後設資料管理混亂,資料清理困難。
2.分發共享:海量資料需要快速、安全的分發到國內多地及海外;傳統硬碟寄送方式週期長,可靠性低;多地中心資料需要共享訪問。
3.計算分析:批量樣本處理時間長,資源需求峰谷明顯,難以規劃;大規模樣本的資料探勘需要海量計算資源,本地叢集難以滿足;計算工作1. 3. 流流程遷移困難、線上線下排程困難、跨地域管理困難;線下彈效能力差,按需計算需求。
4.安全合規:基因資料安全隱私要求極高;自建資料中心安全防護能力不足;資料合約(區塊鏈);RAM 子賬號支援。

而這樣看來一套完備架構方案則是必不可少的。與傳統高效能運算相比,按需切分任務的需求,自動從雲中申請資源,自動伸縮能力達到最小化資源持有成本,90% 以上的資源使用率,用完後自動返還計算資源。最大化資源的使用效率,最低單樣本的處理成本,最快速的完成大批量樣本的處理。隨著基因測序業務增長,自動完成線下資源使用,和線上資源擴容。高速內網頻寬,和高吞吐的儲存,和幾乎無限的儲存空間。

基因計算不同於常規的計算,對海量資料計算和儲存能力都提出了很高的要求。主要通過容器計算的自動伸縮特性和阿里雲 ECS 的自動伸縮能力的打通,可以大規模彈性排程雲上的計算資源。通過對基因資料的合理切分,實現大規模的平行計算同時處理 TB 級別的樣本資料。通過按需獲取的計算能力,以及高吞吐的物件儲存的使用,大幅降低了計算資源持有的成本和單個樣本的處理成本。

整體技術架構是雲原生容器混合雲,雲上雲下資源一體,跨地域叢集統一管理。作為主要 Player,容器技術在資料分拆,資料質量控制,Call 變異提供了標準化流程化、加速、彈性、鑑權、觀測、度量等能力,在另外一方面,高價值挖掘需要藉助容器化的機器學習平臺和並行框架對基因、蛋白質、醫療資料完成大規模線性代數計算來建立模型,從而使精準醫療能力成為現實。

基因工程中的關鍵問題及解決方案

  • 資料遷移與傳輸
    資料遷移、資料拆分階段百萬小檔案的讀取對底層的檔案系統壓力,通過避免不必要小檔案的讀寫提高樣本的處理效率。 通過資料中心與阿里雲的專線連線,實現高吞吐低延遲的資料上雲以及與工作流結合的上雲、校驗、檢測方式。而最終需要達成的目標是:在短時間內完成數十 TB 級資料的加密搬遷,確保資料傳輸客戶端的高效能與安全性,實現併發傳輸、斷點續傳,且保有完善的訪問授權控制。
  • 基因計算典型任務:增強型工作流
    基因計算的典型特徵就是資料分批計算,需要按照特定步驟先後依次完成。將該問題抽象後,即需要申明式工作流定義 AGS(AlibabaCloud Genomics Service) workflow。

其工作流的特點是:多層次,有向無環圖。科研大工作流 1000-5000+ 深度的 DAG,需要準確的流程狀態監控和高度的流程穩定性。簡單流程從任意步驟重現啟動 ,失敗步驟可以自動完成重試和繼續,定時任務,通知,日誌,審計,查詢,統一操作入口 CLI/UI 。


PB 級資料處理挑戰,Kubernetes如何助力基因分析?


我們採用的方案是:

1.簡單 YAML 申明式定義,多層次,有向無環圖, 複雜依賴支援, 任務自動分拆,自動並行化;

2.雲原生,與社群 Argo 完全相容的增強性 Workflow 定義;

3.實時資源統計,監控整合雲監控,雲日誌 SLS 整合, 審計整合, 定時任務;

4.統一操作入口 ags-cli 與 Kubectl 整合;

5.阿里雲端儲存卷申明式支援,NAS,OSS,CloudDisk, 快取加速支援。

  • 雲上雲下資源的統一排程
    通過跨越 IDC 和雲上可用區的混合雲 ACK 叢集實現計算資源的統一排程和資料的雲端匯聚。自動化,流程化上雲資料,和後續的資料處理流程,形成 24 小時內完成批次下機資料的本地, 上雲,雲端處理和報告生成。按需彈性提供計算節點或者無服務化計算資源,形成按需計算能力,處理突發分析任務。我所帶領的阿里雲基因資料服務團隊努力構建更具彈性的容器化叢集,分鐘級數百節點自動伸縮能力和分鐘級數千輕量容器拉起的 Serverless 能力, 通過提高並行度來提高內網頻寬的利用率,最終提高整體資料吞吐率,通過 NAS 客戶端和服務端的 TCP 優化來提高 IO 讀寫速度,通過為 OSS 增加快取層和分散式的快取來實現物件儲存讀取加速等等。

還有很多問題,篇幅原因在此不一一展開:如何進行基因資料管理、最優化單位資料處理成本、採用批量計算的方式進行對樣本分析、怎樣使得基因資料處理安全及跨組織安全分享等等。

生命科學和精準醫學應用,未來已來

NovaSeq 測序儀帶來了低成本(100$/WGS)高產出(6TB 通量)的二代測序方案,大量 NovaSeq 的使用為基因測序公司每天產出的幾十 TB 資料,這就要求大量的算力來分拆和發現變異,以及需要大量的儲存來儲存原始資料和變異資料。阿里雲基因資料服務不斷提升極致彈性的計算能力,和大規模並行處理能力,以及海量高速儲存來幫助基因公司快速自動化處理每天幾十上百 TB 的下機資料,併產通過 GATK 標準產出高質量的變異資料。

以 PacBio 和 Nanopore 為代表的三代測序的出現,超過 30K 到數百 K 的長讀,和 20GB 到 15TB 的大通量產出,長讀和資料量對資料比對,分拆,發現變異帶來了更大的算力需要和高 IO 吞吐的需求,對基因計算過程中優化基因分析流程,拆分資料,按需排程大量計算資源,提供超高的 IO 吞吐帶來了更大的挑戰。

解碼未知,丈量生命。科技的每一小步,都會成為人類前行的一大步。


原文連結

本文為雲棲社群原創內容,未經允許不得轉載。


相關文章