htsget を使用してデータを読み取る

このページでは、htsget プロトコルの Google 実装を使用して以下のタスクを行う方法を説明します。

  • Cloud Storage に保存されているデータを読み取ります。
  • Google 内の 1,000 人ゲノム プロジェクトのミラーなどで公開されているソースからデータを読み取ります。

htsget プロトコルは、Global Alliance for Genomics and Health(GA4GH)によって定義されています。

Google の htsget 実装により、大きなファイルを Compute Engine 仮想マシンとの間で相互にコピーすることなく、自分のクラウド プロジェクトに格納されたデータに簡単にアクセスして共有できます。

一般公開データを読み取る

htsget サーバーを起動するには、次のコマンドを実行します。

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

このコマンドを実行すると、サーバーが「test」という名前のローカル Docker コンテナ ネットワークに接続されます。サーバーが起動したら、GA4GH htsget プロトコルを使用して通信するソフトウェアを使用して、アクセスできます。

次のコマンドを実行して、公開ゲノムの 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"

数秒後、このコマンドは Cloud Storage に保存されている BAM ファイルからストリーミングされた約 1,500 件の読み取りを処理します。

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 をご覧ください。