快速入门

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

准备工作

  1. 登录您的 Google 帐号。

    如果您还没有 Google 帐号,请注册一个新帐号

  2. 在 Cloud Console 的项目选择器页面上,选择或创建 Cloud 项目。

    转到项目选择器页面

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

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

    启用 API

  5. 安装并初始化 Cloud SDK
  6. 或者,您也可以使用 Cloud Shell,该工具安装有 Cloud SDK。

运行流水线

您可以使用 curl 或 Windows PowerShell 来运行流水线。

curl

  1. 创建一个 BUCKET 环境变量。该变量指向使用您的项目名称且附加有 -life-sciences 的 Cloud Storage 存储分区。

    export BUCKET=gs://PROJECT_ID-life-sciences
    
  2. 使用 gsutil mb 命令创建存储分区:

    gsutil mb ${BUCKET}
    
  3. 使用 gcloud 命令行工具运行流水线,指定输入的 BAM 文件名和输出的 BAI 文件名。该流水线会调用 Cloud Life Sciences API,创建 Compute Engine 虚拟机实例,然后在实例上运行流水线流程。该流程完成后,实例会自动关闭,并且 BAI 文件会被复制到您的 Cloud Storage 存储分区。

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

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

    Running [projects/PROJECT_ID/operations/OPERATION_ID]
    
  4. 流水线需要几分钟时间才能执行完毕。您可以运行以下命令来跟踪其状态。将 OPERATION_ID 替换成上一步骤中输出的值。

    gcloud beta lifesciences operations wait OPERATION_ID
    

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

    Waiting for [projects/PROJECT_ID/operations/OPERATION_ID]...done.
    
  5. 要验证是否生成了 BAI 文件,请运行以下命令:

    gsutil ls ${BUCKET}
    

    该命令应返回以下内容:

    gs://BUCKET/NA12878.chr20.sample.bam.bai
    

您只需使用 Cloud Life Sciences API 运行流水线,即可从 BAM 文件创建 BAI 文件。

PowerShell

  1. 创建一个 BUCKET 环境变量。该变量指向使用您的项目名称且附加有 -life-sciences 的 Cloud Storage 存储分区。

    $BUCKET = "gs://PROJECT_ID-life-sciences"
    
  2. 使用 gsutil mb 命令创建存储分区:

    gsutil mb ${BUCKET}
    
  3. 使用 gcloud 命令行工具运行流水线,指定输入的 BAM 文件名和输出的 BAI 文件名。该流水线会调用 Cloud Life Sciences API,创建 Compute Engine 虚拟机实例,然后在实例上运行流水线流程。该流程完成后,实例会自动关闭,并且 BAI 文件会被复制到您的 Cloud Storage 存储分区。

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

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

    Running [projects/PROJECT_ID/operations/OPERATION_ID]
    
  4. 流水线需要几分钟时间才能执行完毕。您可以运行以下命令来跟踪其状态。将 OPERATION_ID 替换成上一步骤中输出的值。

    gcloud beta lifesciences operations wait OPERATION_ID
    

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

    Waiting for [projects/PROJECT_ID/operations/OPERATION_ID]...done.
    
  5. 要验证是否生成了 BAI 文件,请运行以下命令:

    gsutil ls ${BUCKET}
    

    该命令应返回以下内容:

    gs://BUCKET/NA12878.chr20.sample.bam.bai
    

您只需使用 Cloud Life Sciences API 运行流水线,即可从 BAM 文件创建 BAI 文件。

清理

为避免系统因本快速入门中使用的资源向您的 Google Cloud 帐号收取费用,您可以清理在 Google Cloud 上创建的资源。以下部分介绍如何删除或关闭这些资源。

删除项目

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

  1. 在 Cloud Console 中,转到管理资源页面。

    转到“管理资源”页面

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

删除 BAI 文件

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

gsutil rm ${BUCKET}/NA12878.chr20.sample.bam.bai

删除存储分区

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

gsutil rb ${BUCKET}

后续步骤