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

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

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