dsub の実行

dsub は、Cloud Life Sciences API gcloud コマンドライン ツールの代替となるオープンソースのコマンドライン ツールです。

目標

このチュートリアルを完了すると、以下のことが行えます。

  • DNA シーケンスの大規模バイナリ ファイル(BAM ファイル)からインデックス(BAI ファイル)を作成する dsub パイプラインを Google Cloud Platform で実行する。

料金

このチュートリアルでは、以下を含む GCP の課金対象となるコンポーネントを使用しています。

  • Compute Engine
  • Cloud Storage

料金計算ツールを使うと、予想使用量に基づいて費用の見積もりを出すことができます。 Cloud Platform を初めて使用される方は、無料トライアルをご利用いただけます。

始める前に

  1. Python 2.7 以上をインストールします。システムへの pip のインストール方法など、Python 開発環境の設定の詳細については、Python 開発環境の設定ガイドをご覧ください。
  2. Google アカウントにログインします。

    Google アカウントをまだお持ちでない場合は、新しいアカウントを登録します。

  3. GCP Console のプロジェクト セレクタのページで、GCP プロジェクトを選択または作成します。

    プロジェクト セレクタのページに移動

  4. Google Cloud Platform プロジェクトに対して課金が有効になっていることを確認します。 プロジェクトに対して課金が有効になっていることを確認する方法を学習する

  5. Cloud Life Sciences、Compute Engine、Cloud Storage必要な API を有効にします。

    API を有効にする

BAI ファイルを作成する

次に示す手順を完了すると、DNA シーケンスの大規模バイナリ ファイル(BAM ファイル)からインデックス(BAI ファイル)が作成されます。このデータは、1,000 人ゲノム プロジェクトからのものです。

  1. GitHub リポジトリ googlegenomics/dsub のクローンを作成してから、現行ディレクトリを dsub ツールのディレクトリに変更します。このリポジトリの中にある、事前ビルドされた Docker イメージが samtools を使用してインデックス作成を行います。

    git clone https://github.com/googlegenomics/dsub.git
    cd dsub
    
  2. dsub とその依存関係をインストールします。

    python setup.py install
    
  3. dsub ツールを実行して BAI ファイルを作成します。PROJECT_ID は GCP プロジェクトに置き換え、BUCKET は書き込みアクセス権を持つ Cloud Storage バケットに置き換えてください。

    dsub \
        --project PROJECT_ID \
        --zones "us-*" \
        --logging gs://BUCKET/logs \
        --input BAM=gs://genomics-public-data/1000-genomes/bam/HG00114.mapped.ILLUMINA.bwa.GBR.low_coverage.20120522.bam \
        --output BAI=gs://BUCKET/HG00114.mapped.ILLUMINA.bwa.GBR.low_coverage.20120522.bam.bai \
        --image quay.io/cancercollaboratory/dockstore-tool-samtools-index \
        --command 'samtools index ${BAM} ${BAI}' \
        --wait
    

    samtools コマンドの実行対象であるデータファイルは、--input フラグで指定されます。パイプラインによってファイルとログが Cloud Storage バケットに出力されます。

    複数の入力がある場合は、複数の --input フラグを使用して入力を指定できます。入力は任意の順序で指定できます。次のサンプルは、2 つの入力を指定する方法を示しています。

    ...
    --input INPUT_FILE_1=gs://PATH/TO/INPUT_FILE_1 \
    --input INPUT_FILE_2=gs://PATH/TO/INPUT_FILE_2 \
    ...
    
  4. BAI ファイルが生成されたことを確認します。

    gsutil ls BUCKET
    

    このコマンドは、以下を返します。

    gs://BUCKET/HG00114.mapped.ILLUMINA.bwa.GBR.low_coverage.20120522.bam.bai
    

クリーンアップ

このチュートリアルで使用するリソースについて、Google Cloud Platform アカウントに課金されないようにする手順は次のとおりです。

dsub パイプラインを実行するチュートリアルが終了したら、Google Cloud Platform で作成したリソースについて料金が発生しないように、リソースをクリーンアップできます。以下のセクションでは、このようなリソースを削除または無効にする方法を説明します。

プロジェクトの削除

課金を停止する最も簡単な方法は、チュートリアル用に使用したプロジェクトを削除することです。

プロジェクトを削除する手順は次のとおりです。

  1. GCP Console でプロジェクト ページに移動します。

    プロジェクト ページに移動

  2. プロジェクト リストで、削除するプロジェクトを選択し、[プロジェクトの削除] をクリックします。 プロジェクト名の横にあるチェックボックスをオンにし、[プロジェクトの削除] をクリックする
  3. ダイアログでプロジェクト ID を入力し、[シャットダウン] をクリックしてプロジェクトを削除します。

次のステップ

GitHub にある dsub のドキュメントを読みます。このドキュメントには、dsub をゲノムデータとともに使用する方法の詳細と例が記載されています。