使用 Cloud Life Sciences 处理基因组数据

本页面介绍了如何运行使用 Cloud Life Sciences API 从包含 DNA 序列的二进制文件(BAM 文件)创建索引文件(BAI 文件)的基因组流水线。

BAM 文件通常很大,需要使用基因组查看器进行读取。您可以使用 BAI 文件找到包含您感兴趣的基因组位置的 BAM 文件部分。

准备工作

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Cloud Life Sciences, Compute Engine, and Cloud Storage JSON APIs.

    Enable the APIs

  5. Install the Google Cloud CLI.
  6. To initialize the gcloud CLI, run the following command:

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  8. Make sure that billing is enabled for your Google Cloud project.

  9. Enable the Cloud Life Sciences, Compute Engine, and Cloud Storage JSON APIs.

    Enable the APIs

  10. Install the Google Cloud CLI.
  11. To initialize the gcloud CLI, run the following command:

    gcloud init
  12. 或者,您也可以使用 Cloud Shell,该工具安装有 gcloud CLI。

  13. 安装 Python 3.8

    如果您使用的是 Windows,并且在安装 Google Cloud CLI 时保留选中了相关复选框,则系统会自动完成此操作。

运行流水线

如需运行流水线,请完成以下步骤:

  1. 创建用于存储 BAI 文件的存储桶。存储桶是 Cloud Storage 中用于存放数据的基本容器。 如需创建名为 PROJECT_ID-life-sciences 的存储桶,请运行 gcloud storage buckets create 命令:

    gcloud storage buckets create gs://PROJECT_ID-life-sciences

    PROJECT_ID 替换为您的 Google Cloud 项目 ID。您必须使用全局唯一的存储桶名称。

    如果成功,该命令会返回以下内容:

    Creating gs://PROJECT_ID-life-sciences
  2. 如需启动流水线,请运行 gcloud beta lifesciences pipelines run 命令:

    gcloud beta lifesciences pipelines run \
        --regions us-east1 \
        --command-line 'samtools index ${BAM} ${BAI}' \
        --docker-image "gcr.io/cloud-lifesciences/samtools" \
        --inputs BAM=gs://genomics-public-data/NA12878.chr20.sample.bam \
        --outputs BAI=gs://PROJECT_ID-life-sciences/NA12878.chr20.sample.bam.bai

    如果成功,该命令会返回以下内容:

    Running [projects/PROJECT_ID/operations/OPERATION_ID]

    请记下您在下一步中使用的 OPERATION_ID

  3. 如需跟踪流水线的状态,请运行 gcloud beta lifesciences operations wait 命令。将 OPERATION_ID 替换成上一步骤中输出的值。流水线需要几分钟时间才能执行完毕。

    gcloud beta lifesciences operations wait OPERATION_ID

    操作完成后,将返回以下消息:

    Waiting for [projects/PROJECT_ID/operations/OPERATION_ID]...done.
  4. 如需验证 BAI 文件是否已生成,请运行 gcloud storage ls 命令:

    gcloud storage ls gs://PROJECT_ID-life-sciences

    如果成功,该命令会返回以下内容:

    gs://PROJECT_ID-life-sciences/NA12878.chr20.sample.bam.bai

您已使用 Cloud Life Sciences API 运行流水线从 BAM 文件创建 BAI 文件。使用基因组查看器使用 NA12878.chr20.sample.bam.bai 索引文件检查 NA12878.chr20.sample.bam BGP 文件。

清理

为避免因本页中使用的资源导致您的 Google Cloud 账号产生费用,请按照以下步骤操作。

删除 BAI 文件

要删除生成的 BAI 文件但保留创建的项目和存储桶,请运行 gcloud storage rm 命令:

gcloud storage rm PROJECT_ID-life-sciences/NA12878.chr20.sample.bam.bai

删除存储桶

如果您专门为此快速入门创建了存储桶,但不再需要用到它,请使用 gcloud storage rm 命令删除该存储桶。删除存储桶也会删除生成的 BAI 文件。

gcloud storage rm gs://PROJECT_ID-life-sciences --recursive

删除项目

如果您专门为此快速入门创建了项目,但不再需要用到该项目,您可以将其删除。删除项目还会删除 BAI 文件和 Cloud Storage 存储桶。

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

结果怎么样?

后续步骤