日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

如何使用Argo Workflows編排基因計算工作流?

在基因計算這一高度復雜且數(shù)據密集型的領域,科研人員和生物信息分析師面臨著嚴峻挑戰(zhàn),這不僅體現(xiàn)在數(shù)據量的爆炸性增長上,還在于需要高效、準確地整合和分析數(shù)據,以揭示生命的奧秘。為應對這些挑戰(zhàn),工作流自動化編排成為關鍵技術,其中,Argo Workflows以其容器化、靈活性和易用性脫穎而出,成為串聯(lián)基因計算各個環(huán)節(jié)的得力助手。本文介紹如何使用Argo Workflows編排基因計算工作流。

背景信息

基因計算工作流

基因計算工作流是在基因組學研究中,為實現(xiàn)特定分析目標,將多個互相關聯(lián)的計算任務和數(shù)據處理步驟有序組織成的執(zhí)行流程。這些工作流通常涵蓋數(shù)據預處理、序列比對、變異檢測、基因表達分析和進化樹構建等復雜步驟。

Argo Workflows基因計算工作流

Argo Workflows是一個開源的Kubernetes原生工作流引擎,專為容器化環(huán)境設計,能夠靈活、高效地編排復雜的工作流程。在基因計算場景中,Argo的優(yōu)勢尤為顯著。

  • 容器化與環(huán)境一致性:基因分析涉及眾多軟件工具和依賴庫,通過將每個分析步驟封裝進Docker容器,確保了跨平臺的一致性和可復現(xiàn)性,減少了只能在單個環(huán)境中復現(xiàn)的問題。

  • 靈活的編排能力:基因組學研究中的工作流通常包含多步驟、條件分支和并行處理需求等情況,Argo Workflows支持復雜邏輯和條件控制,使工作流程的按需定制變得簡單直觀。

盡管開源Argo Workflows在基因計算工作流的編排領域展現(xiàn)了顯著的優(yōu)勢,但在實際應用中仍需克服若干挑戰(zhàn)。

  • 大規(guī)模運維難題:面對龐大的任務規(guī)模,加之科研背景的用戶可能缺乏深度的集群運維經驗,難以實施高效的集群優(yōu)化與維護策略。

  • 復雜工作流編排挑戰(zhàn):科研實驗的特性決定了參數(shù)空間的廣闊及流程步驟的繁多,往往涉及成千上萬的作業(yè)項,開源工作流引擎難以支持。

  • 資源優(yōu)化與彈性伸縮困難:基因數(shù)據分析通常消耗大量計算資源,用戶希望能夠根據工作負載智能調度資源,實現(xiàn)資源的高效利用,并支持按需自動擴展計算能力,開源方案難以滿足。

為應對基因計算中大規(guī)模運維、復雜工作流編排、資源優(yōu)化與彈性伸縮等挑戰(zhàn),阿里云ACK One團隊推出了分布式工作流Argo集群。

分布式工作流Argo集群

阿里云分布式工作流Argo集群基于開源項目Argo Workflows實現(xiàn),采用無服務器模式,使用阿里云彈性容器實例ECI運行工作流,通過優(yōu)化Kubernetes集群參數(shù),實現(xiàn)大規(guī)模工作流的高效彈性調度,并結合搶占式ECI實例,優(yōu)化成本。該解決方案支持并發(fā)、循環(huán)、重試等多種執(zhí)行策略,適用于典型的基因計算過程和高度復雜的工作流任務編排。

image
說明

Argo Workflows憑借其容器化設計、靈活編排和簡易操作,在基因計算及其他數(shù)據密集型科研領域表現(xiàn)出色,顯著提升了自動化水平、資源利用率和分析效率。阿里云ACK One團隊是較早在大規(guī)模任務編排中應用Argo Workflows的團隊之一,并在基因計算、自動駕駛、金融模擬等場景積累了豐富的最佳實踐經驗。歡迎聯(lián)系ACK One團隊,加入釘釘群號35688562,共同交流探討。

使用Argo Workflows編排基因計算工作流

本示例通過一個經典的BWA測序比對流程,展示如何使用Argo Workflows來編輯并執(zhí)行基因計算工作流。

  1. 創(chuàng)建分布式工作流Argo集群

  2. 開啟Argo Server訪問工作流集群

  3. 掛載阿里云OSS存儲卷,使工作流能夠像操作本地文件一樣操作OSS上的文件。具體操作,請參見使用存儲卷

  4. 使用以下YAML創(chuàng)建一個工作流。具體操作,請參見創(chuàng)建工作流

    流程主要包括三個階段:

    • bwaprepare: 數(shù)據準備階段,下載并解壓fastq、reference文件,對參考基因組建立索引。

    • bwamap:將測序數(shù)據與參考基因組進行比對并生成對齊結果,該階段并行處理多個文件。

    • bwaindex:從原始測序數(shù)據比對到參考基因組,生成、排序、索引BAM文件,并瀏覽比對結果。

    展開查看YAML示例

    apiVersion: argoproj.io/v1alpha1
    kind: Workflow
    metadata:
      generateName: bwa-oss-
    spec:
      entrypoint: bwa-oss
      arguments: 
        parameters:
        - name: fastqFolder     # 下載文件的保存路徑。
          value: /gene
        - name: reference       # 參考基因組文件。
          value: https://ags-public.oss-cn-beijing.aliyuncs.com/alignment/subset_assembly.fa.gz
        - name: fastq1          # 原始測序數(shù)據。
          value: https://ags-public.oss-cn-beijing.aliyuncs.com/alignment/SRR1976948_1.fastq.gz
        - name: fastq2
          value: https://ags-public.oss-cn-beijing.aliyuncs.com/alignment/SRR1976948_2.fastq.gz
    
    
      volumes:                  # 遠端存儲路徑掛載。
      - name: ossdir
        persistentVolumeClaim:
          claimName: pvc-oss
    
      templates:
      - name: bwaprepare      # 數(shù)據準備階段,下載并解壓fastq、reference文件,對參考基因組建立索引。
        container:
          image: registry.cn-beijing.aliyuncs.com/geno/alltools:v0.2
          imagePullPolicy: Always
          command: [sh,-c]
          args:
          - mkdir -p /bwa{{workflow.parameters.fastqFolder}}; cd /bwa{{workflow.parameters.fastqFolder}}; rm -rf SRR1976948*;
            wget {{workflow.parameters.reference}};
            wget {{workflow.parameters.fastq1}};
            wget {{workflow.parameters.fastq2}};
            gzip -d subset_assembly.fa.gz;
            gunzip -c SRR1976948_1.fastq.gz | head -800000 > SRR1976948.1;
            gunzip -c SRR1976948_2.fastq.gz | head -800000 > SRR1976948.2;
            bwa index subset_assembly.fa;
    
          volumeMounts:
          - name: ossdir
            mountPath: /bwa
        retryStrategy:         # 重試機制。
          limit: 3
    
      - name: bwamap           # 將測序數(shù)據與參考基因組進行比對預處理并生成對齊結果。
        inputs:
          parameters:
          - name: object
        container:
          image: registry.cn-beijing.aliyuncs.com/geno/alltools:v0.2
          imagePullPolicy: Always
          command:
          - sh
          - -c
          args:
          - cd /bwa{{workflow.parameters.fastqFolder}};
            bwa aln subset_assembly.fa {{inputs.parameters.object}} > {{inputs.parameters.object}}.untrimmed.sai;
          volumeMounts:
          - name: ossdir
            mountPath: /bwa
        retryStrategy:
          limit: 3
    
      - name: bwaindex       # 從原始測序數(shù)據比對到參考基因組,生成、排序、索引BAM文件,并瀏覽比對結果。
        container:
          args:
          - cd /bwa{{workflow.parameters.fastqFolder}};
            bwa sampe subset_assembly.fa SRR1976948.1.untrimmed.sai SRR1976948.2.untrimmed.sai SRR1976948.1 SRR1976948.2 > SRR1976948.untrimmed.sam;
            samtools import subset_assembly.fa SRR1976948.untrimmed.sam SRR1976948.untrimmed.sam.bam;
            samtools sort SRR1976948.untrimmed.sam.bam -o SRR1976948.untrimmed.sam.bam.sorted.bam;
            samtools index SRR1976948.untrimmed.sam.bam.sorted.bam;
            samtools tview SRR1976948.untrimmed.sam.bam.sorted.bam subset_assembly.fa -p k99_13588:1000 -d T;
          command:
          - sh
          - -c
          image: registry.cn-beijing.aliyuncs.com/geno/alltools:v0.2
          imagePullPolicy: Always
          volumeMounts:
          - mountPath: /bwa/
            name: ossdir
        retryStrategy:
          limit: 3
    
      - name: bwa-oss           # 各階段流程編排。
        dag:
          tasks:
          - name: bwaprepare          # 先執(zhí)行數(shù)據準備。
            template: bwaprepare
    
          - name: bwamap         # 預處理,并生成對齊結果。
            template: bwamap
            dependencies: [bwaprepare]        # 依賴數(shù)據準備階段。
            arguments:
              parameters:
              - name: object
                value: "{{item}}"
            withItems: ["SRR1976948.1","SRR1976948.2"]      # 并行處理多個文件。
    
          - name: bwaindex               # 比對并瀏覽比對結果。
            template: bwaindex
            dependencies: [bwamap]           # 依賴預處理階段。
  5. 工作流運行后,您可以工作流控制臺(Argo)查看任務DAG流程與運行結果。

    image

    也可以通過登錄OSS管理控制臺,在OSS對應文件夾中發(fā)現(xiàn)比對結果文件已成功生成。

    image

相關文檔