dsub を使用してスクリプトを作成し、Google Cloud でバッチ コンピューティング タスクとワークフローを実行します。
目標
このチュートリアルを完了すると、DNA シーケンスの大規模バイナリ ファイル(BAM ファイル)からインデックス(BAI ファイル)を作成する dsub パイプラインを Google Cloud で実行する方法が分かります。
費用
このドキュメントでは、Google Cloud の次の課金対象のコンポーネントを使用します。
- Compute Engine
- Cloud Storage
料金計算ツールを使うと、予想使用量に基づいて費用の見積もりを生成できます。
始める前に
- Python 3.6 以上をインストールします。pip のシステムへのインストールなど、Python 開発環境の設定について詳しくは、Python 開発環境のセットアップ ガイドをご覧ください。
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Life Sciences, Compute Engine, and Cloud Storage APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Life Sciences, Compute Engine, and Cloud Storage APIs.
BAI ファイルを作成する
次に示す手順を完了すると、DNA シーケンスの大規模バイナリ ファイル(BAM ファイル)からインデックス(BAI ファイル)が作成されます。このデータは、1,000 人ゲノム プロジェクトからのものです。
databiosphere/dsub GitHub リポジトリのクローンを作成します。
git clone https://github.com/databiosphere/dsub.git
dsub ツールのディレクトリに移動します。このリポジトリの中にある、事前ビルドされた Docker イメージが samtools を使用してインデックス作成を行います。
cd dsub
dsub とその依存関係をインストールします。
sudo python3 setup.py install
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 バケットに出力されます。BAI ファイルが生成されたことを確認します。
gcloud storage ls gs://BUCKET
このコマンドは、次のレスポンスを返します。
gs://BUCKET/HG00114.mapped.ILLUMINA.bwa.GBR.low_coverage.20120522.bam.bai
クリーンアップ
チュートリアルが終了したら、作成したリソースをクリーンアップして、割り当ての使用を停止し、課金されないようにできます。次のセクションで、リソースを削除または無効にする方法を説明します。
プロジェクトの削除
課金をなくす最も簡単な方法は、チュートリアル用に作成したプロジェクトを削除することです。
プロジェクトを削除するには:
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
次のステップ
dsub をローカルで使用して開発する方法と、dsub を使用して Google Cloud 上の多くのタスクにスケールアップする方法について、GitHub にある dsub のドキュメントをご覧ください。