读取数据

为了访问存储在 Cloud Storage 中的基因组数据,您可以使用由全球基因组学与健康联盟定义的 htsget 协议 的 Google 实现。

Google 的 htsget 实现使您可以轻松访问和共享存储在您自己的云项目中的数据,而无需在 Compute Engine 虚拟机之间复制大型文件。

您还可以使用 htsget 服务器访问公共来源的数据,例如 Google 的千人基因组计划镜像。

如需尝试对一些公共数据运行 htsget 协议,请在 Cloud Shell 中运行以下命令:

docker network create test
docker run -d --network=test --name=htsget gcr.io/cloud-lifesciences/htsget

此命令会启动并运行 htsget 服务器,并将其连接到名为“test”的本地 docker 容器网络。 一旦启动,您就可以使用任何支持 GA4GH htsget 协议的软件对其进行访问。

例如,下面的命令使用 samtools 查看公共基因组上 11 号染色体上的小范围的统计数据:

docker run --network=test gcr.io/cloud-lifesciences/samtools flagstat "http://htsget/reads/genomics-public-data/platinum-genomes/bam/NA12892_S1.bam?referenceName=chr11&end=1000"

在几秒钟内,您应该看到 samtools 已经处理了超过 1500 次读取,这些都是从 Cloud Storage 中存储的 BAM 文件流式传输而来:

1532 + 0 in total (QC-passed reads + QC-failed reads)
0 + 0 secondary
0 + 0 supplementary
5 + 0 duplicates
1526 + 0 mapped (99.61% : N/A)
1532 + 0 paired in sequencing
784 + 0 read1
748 + 0 read2
1510 + 0 properly paired (98.56% : N/A)
1520 + 0 with itself and mate mapped
6 + 0 singletons (0.39% : N/A)
10 + 0 with mate mapped to a different chr
1 + 0 with mate mapped to a different chr (mapQ>=5)

如需了解 htsget 服务器的详情,包括有关访问私有数据和数据访问限制的信息,请参阅 htsget README