Jalankan dsub

Gunakan dsub untuk menulis skrip, lalu jalankan tugas dan alur kerja batch computing di Google Cloud.

Tujuan

Setelah menyelesaikan tutorial ini, Anda akan memahami cara menjalankan pipeline dsub di Google Cloud yang membuat indeks (file BAI) dari file biner besar untuk urutan DNA (file BAM).

Biaya

Dalam dokumen ini, Anda menggunakan komponen Google Cloud yang dapat ditagih berikut:

  • Compute Engine
  • Cloud Storage

Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda, gunakan kalkulator harga. Pengguna baru Google Cloud mungkin memenuhi syarat untuk mendapatkan uji coba gratis.

Sebelum memulai

  1. Instal Python 3.6+. Untuk mengetahui informasi selengkapnya tentang cara menyiapkan lingkungan pengembangan Python, seperti menginstal pip di sistem Anda, lihat Panduan Penyiapan Lingkungan Pengembangan Python.
  2. Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
  3. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  4. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  5. Enable the Cloud Life Sciences, Compute Engine, and Cloud Storage APIs.

    Enable the APIs

  6. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  7. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  8. Enable the Cloud Life Sciences, Compute Engine, and Cloud Storage APIs.

    Enable the APIs

Buat file BAI

Selesaikan langkah-langkah berikut untuk membuat indeks (file BAI) dari file biner besar untuk urutan DNA (file BAM). Data ini berasal dari Project 1.000 Genomes.

  1. Clone repositori GitHub databiosphere/dsub:

    git clone https://github.com/databiosphere/dsub.git
    
  2. Ubah ke direktori untuk alat dsub. Repositori berisi image Docker bawaan yang menggunakan samtools untuk melakukan pengindeksan.

    cd dsub
    
  3. Instal dsub dan dependensinya:

    sudo python3 setup.py install
    
  4. Jalankan alat dsub untuk membuat file BAI, ganti PROJECT_ID dengan project Google Cloud Anda dan BUCKET dengan bucket Cloud Storage yang akses tulisnya Anda miliki:

    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
    

    Perintah samtools dijalankan pada file data yang disediakan dengan flag --input. Pipeline menulis file output dan log ke bucket Cloud Storage Anda.

  5. Pastikan bahwa file BAI dibuat:

    gsutil ls gs://BUCKET
    

    Perintah akan menampilkan respons berikut:

    gs://BUCKET/HG00114.mapped.ILLUMINA.bwa.GBR.low_coverage.20120522.bam.bai
    

Pembersihan

Setelah menyelesaikan tutorial, Anda dapat membersihkan resource yang dibuat agar resource tersebut berhenti menggunakan kuota dan dikenai biaya. Bagian berikut menjelaskan cara menghapus atau menonaktifkan resource ini.

Menghapus project

Cara termudah untuk menghilangkan penagihan adalah dengan menghapus project yang Anda buat untuk tutorial.

Untuk menghapus project:

  1. Di konsol Google Cloud, buka halaman Manage resource.

    Buka Manage resource

  2. Pada daftar project, pilih project yang ingin Anda hapus, lalu klik Delete.
  3. Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.

Langkah selanjutnya

Baca dokumentasi dsub di GitHub untuk mengetahui detail selengkapnya dan contoh cara mengembangkan aplikasi dengan dsub secara lokal atau menggunakan dsub untuk meningkatkan skala ke banyak tugas di Google Cloud.