このチュートリアルでは、Batch で Nextflow パイプラインを実行する方法について説明します。具体的には、このチュートリアルでは RNA-Seq を使用して短いリードデータからゲノムの特徴を定量化する Nextflow のサンプル rnaseq-nf
ライフ サイエンス パイプラインを実行します。
このチュートリアルは、Batch で Nextflow を使用する Batch ユーザーを対象としています。
Nextflow は、バイオインフォマティクス ワークフローをオーケストレートするためのオープンソース ソフトウェアです。
Cloud Storage バケットを作成する
Nextflow パイプラインの一時的な作業ファイルと出力ファイルを保存する Cloud Storage バケットを作成するには、 Google Cloud コンソールまたはコマンドラインを使用します。
コンソール
Google Cloud コンソールを使用して Cloud Storage バケットを作成する手順は次のとおりです。
Google Cloud コンソールで [バケット] ページに移動します。
[
作成] をクリックします。[バケットの作成] ページで、バケットのグローバルに一意の名前を入力します。
[作成] をクリックします。
[公開アクセスの防止] ウィンドウで [確認] をクリックします。
gcloud
Google Cloud CLI を使用して Cloud Storage バケットを作成するには、gcloud storage buckets create
コマンドを使用します。
gcloud storage buckets create gs://BUCKET_NAME
BUCKET_NAME
は、バケットのグローバルに一意の名前に置き換えます。
リクエストが成功した場合、出力は次のようになります。
Creating gs://BUCKET_NAME/...
```
Nextflow を構成する
Batch で実行するように Nextflow パイプラインを構成するには、コマンドラインで次の手順を行います。
サンプル パイプライン リポジトリのクローンを作成します。
git clone https://github.com/nextflow-io/rnaseq-nf.git
rnaseq-nf
フォルダに移動します。cd rnaseq-nf
nextflow.config
ファイルを開きます。nano nextflow.config
このファイルには、次の
gcb
セクションが含まれている必要があります。gcb { params.transcriptome = 'gs://rnaseq-nf/data/ggal/transcript.fa' params.reads = 'gs://rnaseq-nf/data/ggal/gut_{1,2}.fq' params.multiqc = 'gs://rnaseq-nf/multiqc' process.executor = 'google-batch' process.container = 'quay.io/nextflow/rnaseq-nf:v1.1' workDir = 'gs://BUCKET_NAME/WORK_DIRECTORY' google.region = 'REGION' }
[
gcb
] セクションで、次の操作を行います。BUCKET_NAME
は、前の手順で作成した Cloud Storage バケットの名前に置き換えます。WORK_DIRECTORY
は、パイプラインがログと出力を保存するために使用できる新しいフォルダの名前に置き換えます。たとえば、「
workDir
」と入力します。REGION
は、使用するリージョンに置き換えます。たとえば、「
us-central1
」と入力します。google.region
フィールドの後に、次のフィールドを追加します。google.project
フィールドを追加します。google.project = 'PROJECT_ID'
PROJECT_ID
は、現在の Google Cloud プロジェクトのプロジェクト ID に置き換えます。Compute Engine のデフォルトのサービス アカウントをジョブのサービス アカウントとして使用していない場合は、
google.batch.serviceAccountEmail
フィールドを追加します。google.batch.serviceAccountEmail = 'SERVICE_ACCOUNT_EMAIL'
SERVICE_ACCOUNT_EMAIL
は、このチュートリアル用に準備したジョブのサービス アカウントのメールアドレスに置き換えます。
編集内容を保存する手順は次のとおりです。
Control+S
キーを押します。「
Y
」と入力します。Enter
キーを押します。
パイプラインを実行する
コマンドラインを使用して、サンプル Nextflow パイプラインを実行します。
../nextflow run nextflow-io/rnaseq-nf -profile gcb
パイプラインは、前の手順で指定した設定を使用して小さなデータセットを実行します。このオペレーションが完了するまでに 10 分ほどかかることがあります。
パイプラインの実行が完了すると、出力は次のようになります。
N E X T F L O W ~ version 23.04.1
Launching `https://github.com/nextflow-io/rnaseq-nf` [crazy_curry] DSL2 - revision: 88b8ef803a [master]
R N A S E Q - N F P I P E L I N E
===================================
transcriptome: gs://rnaseq-nf/data/ggal/transcript.fa
reads : gs://rnaseq-nf/data/ggal/gut_{1,2}.fq
outdir : results
Uploading local `bin` scripts folder to gs://example-bucket/workdir/tmp/53/2847f2b832456a88a8e4cd44eec00a/bin
executor > google-batch (4)
[67/71b856] process > RNASEQ:INDEX (transcript) [100%] 1 of 1 ✔
[0c/2c79c6] process > RNASEQ:FASTQC (FASTQC on gut) [100%] 1 of 1 ✔
[a9/571723] process > RNASEQ:QUANT (gut) [100%] 1 of 1 ✔
[9a/1f0dd4] process > MULTIQC [100%] 1 of 1 ✔
Done! Open the following report in your browser --> results/multiqc_report.html
Completed at: 20-Apr-2023 15:44:55
Duration : 10m 13s
CPU hours : (a few seconds)
Succeeded : 4
パイプラインの出力を表示する
パイプラインの実行が完了すると、出力ファイル、ログ、エラー、一時ファイルが Cloud Storage バケットの WORK_DIRECTORY
フォルダ内の results/qc_report.html
ファイルに保存されます。
Cloud Storage バケットの WORK_DIRECTORY
フォルダにあるパイプラインの出力ファイルを確認するには、 Google Cloud コンソールまたはコマンドラインを使用します。
コンソール
Google Cloud コンソールを使用してパイプラインの出力ファイルを確認する手順は次のとおりです。
Google Cloud コンソールで [バケット] ページに移動します。
[名前] 列で、前の手順で作成したバケットの名前をクリックします。
[バケットの詳細] ページで、
WORK_DIRECTORY
フォルダを開きます。
ワークフローで実行したタスクごとにフォルダがあります。各フォルダには、実行されたコマンド、出力ファイル、パイプラインによって作成された一時ファイルが格納されます。
gcloud
gcloud CLI を使用してパイプラインの出力ファイルを確認するには、gcloud storage ls
コマンドを使用します。
gcloud storage ls gs://BUCKET_NAME/WORK_DIRECTORY
以下を置き換えます。
BUCKET_NAME
: 前の手順で作成したバケットの名前。WORK_DIRECTORY
:nextflow.config
ファイルで指定したディレクトリ。
出力には、パイプラインで実行されたタスクごとにフォルダが表示されます。各フォルダには、実行されたコマンド、出力ファイル、パイプラインによって作成された一時ファイルが格納されます。