本页面介绍了如何运行使用 Cloud Life Sciences API 从包含 DNA 序列的大型二进制文件(BAM 文件)创建索引文件(BAI 文件)的基因组流水线。
准备工作
-
登录您的 Google 帐号。
如果您还没有 Google 帐号,请注册新帐号。
-
在 Google Cloud Console 的项目选择器页面上,选择或创建一个 Google Cloud 项目。
-
确保您的 Cloud 项目已启用结算功能。 了解如何确认您的项目是否已启用结算功能。
- 启用 Cloud Life Sciences, Compute Engine, and Cloud Storage JSON API。
- 安装并初始化 Cloud SDK。
或者,您也可以使用 Cloud Shell,该工具安装有 Cloud SDK。
运行流水线
您可以使用 curl
或 Windows PowerShell 来运行流水线。
curl
创建一个
BUCKET
环境变量。该变量指向使用您的项目名称且附加有-life-sciences
的 Cloud Storage 存储分区。export BUCKET=gs://PROJECT_ID-life-sciences
使用
gsutil mb
命令创建存储分区:gsutil mb ${BUCKET}
使用
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]
流水线需要几分钟时间才能执行完毕。您可以运行以下命令来跟踪其状态。将 OPERATION_ID 替换成上一步骤中输出的值。
gcloud beta lifesciences operations wait OPERATION_ID
操作完成后,将返回以下消息:
Waiting for [projects/PROJECT_ID/operations/OPERATION_ID]...done.
要验证是否生成了 BAI 文件,请运行以下命令:
gsutil ls ${BUCKET}
该命令应返回以下内容:
gs://BUCKET/NA12878.chr20.sample.bam.bai
您只需使用 Cloud Life Sciences API 运行流水线,即可从 BAM 文件创建 BAI 文件。
PowerShell
创建一个
BUCKET
环境变量。该变量指向使用您的项目名称且附加有-life-sciences
的 Cloud Storage 存储分区。$BUCKET = "gs://PROJECT_ID-life-sciences"
使用
gsutil mb
命令创建存储分区:gsutil mb ${BUCKET}
使用
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]
流水线需要几分钟时间才能执行完毕。您可以运行以下命令来跟踪其状态。将 OPERATION_ID 替换成上一步骤中输出的值。
gcloud beta lifesciences operations wait OPERATION_ID
操作完成后,将返回以下消息:
Waiting for [projects/PROJECT_ID/operations/OPERATION_ID]...done.
要验证是否生成了 BAI 文件,请运行以下命令:
gsutil ls ${BUCKET}
该命令应返回以下内容:
gs://BUCKET/NA12878.chr20.sample.bam.bai
您只需使用 Cloud Life Sciences API 运行流水线,即可从 BAM 文件创建 BAI 文件。
清理
为避免系统因本快速入门中使用的资源向您的 Google Cloud 帐号收取费用,您可以清理在 Google Cloud 上创建的资源。以下部分介绍如何删除或关闭这些资源。
删除项目
如果您专门为此快速入门创建了项目,但不再需要用到该项目,您可以将其删除。删除项目时,相应的 Cloud Storage 存储分区和 BAI 文件也会删除。
- 在 Cloud Console 中,转到管理资源页面。
- 在项目列表中,选择要删除的项目,然后点击删除。
- 在对话框中输入项目 ID,然后点击关闭以删除项目。
删除 BAI 文件
要删除生成的 BAI 文件但保留创建的项目和存储分区,请运行 gsutil rm
命令:
gsutil rm ${BUCKET}/NA12878.chr20.sample.bam.bai
删除存储分区
如果您专门为此快速入门创建了存储分区,但不再需要用到它,请使用 gsutil rb
命令删除该存储分区。删除存储分区也会删除生成的 BAI 文件。
gsutil rb ${BUCKET}