Melakukan orkestrasi tugas dengan menjalankan pipeline Nextflow di Batch

Tutorial ini menjelaskan cara menjalankan pipeline Nextflow di Batch. Secara khusus, tutorial ini menjalankan pipeline ilmu pengetahuan alam rnaseq-nf contoh dari Nextflow, yang mengukur fitur genomik dari data bacaan singkat menggunakan RNA-Seq.

Tutorial ini ditujukan bagi pengguna Batch yang ingin menggunakan Nextflow dengan Batch.

Nextflow adalah software open source untuk mengatur alur kerja bioinformatika.

Membuat bucket Cloud Storage

Untuk membuat bucket Cloud Storage guna menyimpan file output dan pekerjaan sementara dari pipeline Nextflow, gunakan konsol Google Cloud atau command line.

Konsol

Untuk membuat bucket Cloud Storage menggunakan Google Cloud konsol, ikuti langkah-langkah berikut:

  1. Di konsol Google Cloud , buka halaman Buckets.

    Buka Buckets

  2. Klik Create.

  3. Di halaman Buat bucket, masukkan nama yang unik secara global untuk bucket Anda.

  4. Klik Buat.

  5. Di jendela Public access will be prevented, klik Confirm.

gcloud

Untuk membuat bucket Cloud Storage menggunakan Google Cloud CLI, gunakan perintah gcloud storage buckets create.

gcloud storage buckets create gs://BUCKET_NAME

Ganti BUCKET_NAME dengan nama yang unik secara global untuk bucket Anda.

Jika permintaan berhasil, output-nya akan mirip dengan berikut:

Creating gs://BUCKET_NAME/...
   ```

Mengonfigurasi Nextflow

Untuk mengonfigurasi pipeline Nextflow agar berjalan di Batch, ikuti langkah-langkah berikut di command line:

  1. Clone repositori pipeline contoh:

    git clone https://github.com/nextflow-io/rnaseq-nf.git
    
  2. Buka folder rnaseq-nf:

    cd rnaseq-nf
    
  3. Buka file nextflow.config:

    nano nextflow.config
    

    File harus berisi bagian gcb berikut:

    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'
    }
    
  4. Di bagian gcb, lakukan hal berikut:

    1. Ganti BUCKET_NAME dengan nama bucket Cloud Storage yang Anda buat di langkah sebelumnya.

    2. Ganti WORK_DIRECTORY dengan nama untuk folder baru yang dapat digunakan pipeline untuk menyimpan log dan output.

      Misalnya, masukkan workDir.

    3. Ganti REGION dengan region yang akan digunakan.

      Misalnya, masukkan us-central1.

    4. Setelah kolom google.region, tambahkan kolom berikut:

      1. Tambahkan kolom google.project:

        google.project = 'PROJECT_ID'
        

        Ganti PROJECT_ID dengan project ID project Google Cloud saat ini.

      2. Jika Anda tidak menggunakan akun layanan default Compute Engine sebagai akun layanan tugas, tambahkan kolom google.batch.serviceAccountEmail:

        google.batch.serviceAccountEmail = 'SERVICE_ACCOUNT_EMAIL'
        

        Ganti SERVICE_ACCOUNT_EMAIL dengan alamat email akun layanan tugas yang Anda siapkan untuk tutorial ini.

  5. Untuk menyimpan hasil edit, lakukan langkah-langkah berikut:

    1. Tekan Control+S.

    2. Masukkan Y.

    3. Tekan Enter.

Menjalankan pipeline

Jalankan pipeline Nextflow contoh menggunakan command line:

../nextflow run nextflow-io/rnaseq-nf -profile gcb

Pipeline menjalankan set data kecil menggunakan setelan yang Anda berikan di langkah-langkah sebelumnya. Penyelesaian operasi ini mungkin memerlukan waktu hingga 10 menit.

Setelah pipeline selesai berjalan, output-nya akan mirip dengan berikut:

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

Melihat output pipeline

Setelah pipeline selesai berjalan, pipeline akan menyimpan file output, log, error, atau file sementara di file results/qc_report.html dalam folder WORK_DIRECTORY bucket Cloud Storage Anda.

Untuk memeriksa file output pipeline di folder WORK_DIRECTORY bucket Cloud Storage, Anda dapat menggunakan konsol Google Cloud atau command line.

Konsol

Untuk memeriksa file output pipeline menggunakan konsol Google Cloud , ikuti langkah-langkah berikut:

  1. Di konsol Google Cloud , buka halaman Buckets.

    Buka Buckets

  2. Di kolom Name, klik nama bucket yang Anda buat di langkah sebelumnya.

  3. Di halaman Bucket details, buka folder WORK_DIRECTORY.

Ada folder untuk setiap tugas terpisah yang dijalankan alur kerja. Setiap folder berisi perintah yang dijalankan, file output, dan file sementara yang dibuat oleh pipeline.

gcloud

Untuk memeriksa file output pipeline menggunakan gcloud CLI, gunakan perintah gcloud storage ls.

gcloud storage ls gs://BUCKET_NAME/WORK_DIRECTORY

Ganti kode berikut:

  • BUCKET_NAME: nama bucket yang Anda buat pada langkah sebelumnya.

  • WORK_DIRECTORY: direktori yang Anda tentukan dalam file nextflow.config.

Output mencantumkan folder untuk setiap tugas terpisah yang dijalankan pipeline. Setiap folder berisi perintah yang dijalankan, file output, dan file sementara yang dibuat oleh pipeline.