dsub を実行する

dsub を使用してスクリプトを作成し、 Google Cloudでバッチ処理タスクとワークフローを実行します。

目標

このチュートリアルを完了すると、DNA シーケンスの大規模バイナリ ファイル(BAM ファイル)からインデックス(BAI ファイル)を作成する dsub パイプラインを Google Cloud で実行する方法が分かります。

料金

このドキュメントでは、課金対象である次の Google Cloudコンポーネントを使用します。

  • Compute Engine
  • Cloud Storage

料金計算ツールを使うと、予想使用量に基づいて費用の見積もりを生成できます。

新規の Google Cloud ユーザーは無料トライアルをご利用いただける場合があります。

始める前に

  1. Python 3.6 以上をインストールします。pip のシステムへのインストールなど、Python 開発環境の設定について詳しくは、Python 開発環境のセットアップ ガイドをご覧ください。
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Cloud Life Sciences, Compute Engine, and Cloud Storage APIs.

    Enable the APIs

  5. BAI ファイルを作成する

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

    1. databiOSphere/dsub GitHub リポジトリのクローンを作成します。

      git clone https://github.com/databiosphere/dsub.git
    2. dsub ツールのディレクトリに移動します。このリポジトリの中にある、事前ビルドされた Docker イメージが samtools を使用してインデックス作成を行います。

      cd dsub
    3. dsub とその依存関係をインストールします。

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

      dsub \
          --provider google-cls-v2 \
          --project PROJECT_ID \
          --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 バケットに出力されます。

    5. BAI ファイルが生成されたことを確認します。

      gcloud storage ls gs://BUCKET
      

      このコマンドは、次のレスポンスを返します。

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

    クリーンアップ

    チュートリアルが終了したら、作成したリソースをクリーンアップして、割り当ての使用を停止し、課金されないようにできます。次のセクションで、リソースを削除または無効にする方法を説明します。

    プロジェクトの削除

    課金されないようにする最も簡単な方法は、チュートリアル用に作成したプロジェクトを削除することです。

    プロジェクトを削除するには:

    1. In the Google Cloud console, go to the Manage resources page.

      Go to Manage resources

    2. In the project list, select the project that you want to delete, and then click Delete.
    3. In the dialog, type the project ID, and then click Shut down to delete the project.

    次のステップ

    dsub をローカルで使用して開発する方法と、dsub を使用して Google Cloud上の多くのタスクにスケールアップする方法について、GitHub にある dsub のドキュメントをご覧ください。