dsub の実行

dsub は、Google Cloud でバッチ処理タスクやワークフローを実行するために使用できるコマンドライン ツールです。

目標

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

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

費用

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

  • Compute Engine
  • Cloud Storage

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

始める前に

  1. Python 3.6 以上をインストールします。pip のシステムへのインストールなど、Python 開発環境の設定について詳しくは、Python 開発環境のセットアップ ガイドをご覧ください。
  2. Google Cloud アカウントにログインします。Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
  3. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

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

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

  5. Cloud Life Sciences, Compute Engine, and Cloud Storage API を有効にします。

    API を有効にする

BAI ファイルを作成する

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

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

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

    python setup.py install
    
  3. 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 バケットに出力されます。

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

    gsutil ls BUCKET
    

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

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

クリーンアップ

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

プロジェクトの削除

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

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

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

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

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

次のステップ

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