运行 dsub

dsub 是一种命令行工具,可用于在 Google Cloud 上运行批处理计算任务和工作流。

目标

完成本教程后,您将了解如何执行以下任务:

  • 在 Google Cloud 上运行 dsub 流水线,从 DNA 序列的大型二进制文件(BAM 文件)创建索引(BAI 文件)

费用

本教程使用 Google Cloud 的计费组件,包括:

  • Compute Engine
  • Cloud Storage

请使用价格计算器根据您的预计使用情况来估算费用。Cloud Platform 新用户可能有资格免费试用

准备工作

  1. 安装 Python 3.6+。如需详细了解如何设置您的 Python 开发环境,例如在您的系统上安装 pip,请参阅 Python 开发环境设置指南
  2. 登录您的 Google Cloud 帐号。如果您是 Google Cloud 新手,请创建一个帐号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
  3. 在 Google Cloud Console 的项目选择器页面上,选择或创建一个 Google Cloud 项目。

    转到“项目选择器”

  4. 确保您的 Cloud 项目已启用结算功能。 了解如何确认您的项目是否已启用结算功能

  5. 启用 Cloud Life Sciences, Compute Engine, and Cloud Storage API。

    启用 API

创建 BAI 文件

完成以下步骤,以从 DNA 序列的大型二进制文件(BAM 文件)创建索引(BAI 文件)。数据来自 1,000 Genomes Project

  1. 克隆 GitHub 代码库 databiOSphere/dsub,然后切换到 dsub 工具的目录。该代码库包含一个预构建的 Docker 映像,该映像使用 samtools 建立索引。

    git clone https://github.com/databiosphere/dsub.git
    cd dsub
    
  2. 安装 dsub 及其依赖项:

    python setup.py install
    
  3. 运行 dsub 工具以创建 BAI 文件,将 PROJECT_ID 替换为您的 Google Cloud 项目 ID,将 BUCKET 替换为您具有写入权限的 Cloud Storage 存储分区:

    dsub \
        --provider google-cls-v2 \
        --project PROJECT_ID \
        --logging gs://BUCKET/logs \
        --input BAM=gs://genomics-public-data/1000-genomes/bam/HG00114.mapped.ILLUMINA.bwa.GBR.low_coverage.20120522.bam \
        --output BAI=gs://BUCKET/HG00114.mapped.ILLUMINA.bwa.GBR.low_coverage.20120522.bam.bai \
        --image quay.io/cancercollaboratory/dockstore-tool-samtools-index \
        --command 'samtools index ${BAM} ${BAI}' \
        --wait
    

    samtools 命令在包含 --input 标志的数据文件上运行。流水线将输出文件和日志写入您的 Cloud Storage 存储分区。

  4. 要验证是否生成了 BAI 文件,请运行以下命令:

    gsutil ls BUCKET
    

    该命令应返回以下内容:

    gs://BUCKET/HG00114.mapped.ILLUMINA.bwa.GBR.low_coverage.20120522.bam.bai
    

清理

完成本教程后,您可以清理您在 Google Cloud 上创建的资源,以免这些资源将来产生费用。以下部分介绍如何删除或关闭这些资源。

删除项目

避免支付费用的最简单方法是删除您为本教程使用的项目。

要删除项目,请执行以下操作:

  1. 在 Cloud Console 中,转到“项目”页面。

    转到“项目”页面

  2. 在项目列表中,选择要删除的项目,然后点击删除项目选择项目名称旁边的复选框后,点击“删除项目”
  3. 在对话框中输入项目 ID,然后点击关闭以删除项目。

后续步骤

如需详细了解如何在本地使用 dsub 进行开发,或使用 dsub 扩展到 Google Cloud 上的多个任务,请参阅 GitHub 上的 dsub 文档