dsub を使用してスクリプトを作成し、Google Cloud でバッチ コンピューティング タスクとワークフローを実行します。
目標
このチュートリアルを完了すると、DNA シーケンスの大規模バイナリ ファイル(BAM ファイル)からインデックス(BAI ファイル)を作成する dsub パイプラインを Google Cloud で実行する方法が分かります。
費用
このドキュメントでは、Google Cloud の次の課金対象のコンポーネントを使用します。
- Compute Engine
- Cloud Storage
料金計算ツールを使うと、予想使用量に基づいて費用の見積もりを生成できます。
始める前に
- Python 3.6 以上をインストールします。pip のシステムへのインストールなど、Python 開発環境の設定について詳しくは、Python 開発環境のセットアップ ガイドをご覧ください。
- Google Cloud アカウントにログインします。Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
-
Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。
-
Cloud Life Sciences, Compute Engine, and Cloud Storage API を有効にします。
-
Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。
-
Cloud Life Sciences, Compute Engine, and Cloud Storage API を有効にします。
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 ファイルが生成されたことを確認します。
gsutil ls gs://BUCKET
このコマンドは、次のレスポンスを返します。
gs://BUCKET/HG00114.mapped.ILLUMINA.bwa.GBR.low_coverage.20120522.bam.bai
クリーンアップ
チュートリアルが終了したら、作成したリソースをクリーンアップして、割り当ての使用を停止し、課金されないようにできます。次のセクションで、リソースを削除または無効にする方法を説明します。
プロジェクトの削除
課金をなくす最も簡単な方法は、チュートリアル用に作成したプロジェクトを削除することです。
プロジェクトを削除するには:
- Google Cloud コンソールで、[リソースの管理] ページに移動します。
- プロジェクト リストで、削除するプロジェクトを選択し、[削除] をクリックします。
- ダイアログでプロジェクト ID を入力し、[シャットダウン] をクリックしてプロジェクトを削除します。
次のステップ
dsub をローカルで使用して開発する方法と、dsub を使用して Google Cloud 上の多くのタスクにスケールアップする方法について、GitHub にある dsub のドキュメントをご覧ください。