Tutorial ini menjelaskan cara menjalankan pipeline
dsub
di Batch.
Secara khusus, pipeline dsub
contoh memproses data pengurutan DNA dalam
file Binary Alignment Map (BAM)
untuk membuat file indeks BAM (BAI).
Tutorial ini ditujukan bagi pengguna Batch yang ingin menggunakan
dsub
dengan Batch.
dsub
adalah penjadwal tugas open source
untuk mengatur alur kerja batch processing di Google Cloud.
Untuk mempelajari lebih lanjut cara menggunakan
Batch dengan dsub
, lihat
dokumentasi dsub
untuk Batch.
Membuat bucket Cloud Storage
Untuk membuat bucket Cloud Storage guna menyimpan file output dari pipeline dsub
contoh menggunakan gcloud CLI, jalankan perintah gcloud storage buckets create
:
gcloud storage buckets create gs://BUCKET_NAME \
--project PROJECT_ID
Ganti kode berikut:
BUCKET_NAME
: Nama unik secara global untuk bucket Anda.PROJECT_ID
: Project ID dari project Google Cloud Anda.
Outputnya mirip dengan hal berikut ini:
Creating gs://BUCKET_NAME/...
Menjalankan pipeline dsub
Pipeline contoh dsub
mengindeks file BAM dari
1.000 Genomes Project
dan menampilkan hasilnya ke bucket Cloud Storage.
Untuk menjalankan pipeline dsub
contoh, jalankan perintah dsub
berikut:
dsub \
--provider google-batch \
--project PROJECT_ID \
--logging gs://BUCKET_NAME/WORK_DIRECTORY/logs \
--input BAM=gs://genomics-public-data/1000-genomes/bam/HG00114.mapped.ILLUMINA.bwa.GBR.low_coverage.20120522.bam \
--output BAI=gs://BUCKET_NAME/WORK_DIRECTORY/HG00114.mapped.ILLUMINA.bwa.GBR.low_coverage.20120522.bam.bai \
--image quay.io/cancercollaboratory/dockstore-tool-samtools-index \
--command 'samtools index ${BAM} ${BAI}' \
--wait
Ganti kode berikut:
PROJECT_ID
: Project ID dari project Google Cloud Anda.BUCKET_NAME
: nama bucket Cloud Storage yang Anda buat.WORK_DIRECTORY
: nama untuk direktori baru yang dapat digunakan pipeline untuk menyimpan log dan output. Misalnya, masukkanworkDir
.
Pipeline dsub
menjalankan
tugas Batch yang menulis file BAI
dan mencatat ke direktori yang ditentukan di bucket Cloud Storage Anda.
Secara khusus, repositori dsub
berisi image Docker yang telah di-build sebelumnya yang menggunakan samtools
untuk mengindeks file BAM yang Anda tentukan dalam tanda --input
.
Perintah tidak akan selesai hingga pipeline dsub
selesai berjalan,
yang mungkin bervariasi berdasarkan waktu penjadwalan tugas Batch.
Biasanya, proses ini memerlukan waktu sekitar 10 menit: Batch biasanya mulai menjalankan tugas dalam beberapa menit, dan runtime tugas sekitar 8 menit.
Pada awalnya, perintah masih berjalan dan outputnya mirip dengan berikut ini:
Job properties:
job-id: JOB_NAME
job-name: samtools
user-id: USERNAME
Provider internal-id (operation): projects/PROJECT_ID/locations/us-central1/jobs/JOB_NAME
Launched job-id: JOB_NAME
To check the status, run:
dstat --provider google-batch --project PROJECT_ID --location us-central1 --jobs 'JOB_NAME' --users 'USERNAME' --status '*'
To cancel the job, run:
ddel --provider google-batch --project PROJECT_ID --location us-central1 --jobs 'JOB_NAME' --users 'USERNAME'
Waiting for job to complete...
Waiting for: JOB_NAME.
Kemudian, setelah tugas berhasil diselesaikan, perintah akan berakhir dan outputnya akan terlihat seperti berikut:
JOB_NAME: SUCCESS
JOB_NAME
Output ini mencakup nilai-nilai berikut:
JOB_NAME
: nama tugas.USERNAME
: Google Cloud nama pengguna Anda.PROJECT_ID
: Project ID dari project Google Cloud Anda.
Melihat file output
Untuk melihat file output yang dibuat oleh pipeline dsub
contoh menggunakan gcloud CLI, jalankan perintah gcloud storage ls
:
gcloud storage ls gs://BUCKET_NAME/WORK_DIRECTORY \
--project PROJECT_ID
Ganti kode berikut:
BUCKET_NAME
: nama bucket Cloud Storage yang Anda buat.WORK_DIRECTORY
: direktori yang Anda tentukan dalam perintahdsub
.PROJECT_ID
: Project ID dari project Google Cloud Anda.
Outputnya mirip dengan hal berikut ini:
gs://BUCKET_NAME/WORK_DIRECTORY/HG00114.mapped.ILLUMINA.bwa.GBR.low_coverage.20120522.bam.bai
gs://BUCKET_NAME/WORK_DIRECTORY/logs/
Output ini mencakup file BAI dan direktori yang berisi log tugas.