Menjalankan analisis genomik di notebook JupyterLab di Dataproc


Tutorial ini menunjukkan cara menjalankan analisis genomik sel tunggal menggunakan Dask, NVIDIA RAPIDS, dan GPU, yang dapat Anda konfigurasi di Dataproc. Anda dapat mengonfigurasi Dataproc untuk menjalankan Dask dengan penjadwal mandiri atau dengan YARN untuk pengelolaan resource.

Tutorial ini mengonfigurasi Dataproc dengan instance JupyterLab yang dihosting untuk menjalankan notebook yang menampilkan analisis genomik sel tunggal. Menggunakan Jupyter Notebook di Dataproc memungkinkan Anda menggabungkan kemampuan interaktif Jupyter dengan penskalaan beban kerja yang didukung Dataproc. Dengan Dataproc, Anda dapat menyebarkan beban kerja dari satu ke banyak mesin, yang dapat dikonfigurasi dengan GPU sebanyak yang Anda butuhkan.

Tutorial ini ditujukan untuk ilmuwan dan peneliti data. Anda dianggap berpengalaman dengan Python dan memiliki pengetahuan dasar tentang hal-hal berikut:

Tujuan

  • Buat instance Dataproc yang dikonfigurasi dengan GPU, JupyterLab, dan komponen open source.
  • Jalankan notebook di Dataproc.

Biaya

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

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

    Setelah menyelesaikan tugas yang dijelaskan dalam dokumen ini, Anda dapat menghindari penagihan berkelanjutan dengan menghapus resource yang Anda buat. Untuk mengetahui informasi selengkapnya, lihat Pembersihan.

    Sebelum memulai

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

      Buka pemilih project

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

    3. Aktifkan API Dataproc.

      Mengaktifkan API

    Menyiapkan lingkungan Anda

    1. Pilih lokasi untuk resource Anda.

      REGION=REGION
      

    2. Membuat bucket Cloud Storage.

      gsutil mb BUCKET -l REGION
      

    3. Salin tindakan inisialisasi berikut ke bucket Anda.

      SCRIPT_BUCKET=gs://goog-dataproc-initialization-actions-REGION
      gsutil cp ${SCRIPT_BUCKET}/gpu/install_gpu_driver.sh BUCKET/gpu/install_gpu_driver.sh
      gsutil cp ${SCRIPT_BUCKET}/dask/dask.sh BUCKET/dask/dask.sh
      gsutil cp ${SCRIPT_BUCKET}/rapids/rapids.sh BUCKET/rapids/rapids.sh
      gsutil cp ${SCRIPT_BUCKET}/python/pip-install.sh BUCKET/python/pip-install.sh
      

    Membuat cluster Dataproc dengan JupyterLab dan komponen open source

    1. Buat cluster Dataproc.
    gcloud dataproc clusters create CLUSTER_NAME \
        --region REGION \
        --image-version 2.0-ubuntu18 \
        --master-machine-type n1-standard-32 \
        --master-accelerator type=nvidia-tesla-t4,count=4 \
        --initialization-actions
    BUCKET/gpu/install_gpu_driver.sh,BUCKET/dask/dask.sh,BUCKET/rapids/rapids.sh,BUCKET/python/pip-install.sh
    \
        --initialization-action-timeout=60m \
        --metadata
    gpu-driver-provider=NVIDIA,dask-runtime=yarn,rapids-runtime=DASK,rapids-version=21.06,PIP_PACKAGES="scanpy==1.8.1,wget" \
        --optional-components JUPYTER \
        --enable-component-gateway \
        --single-node
    

    Cluster memiliki properti berikut:

    • --region: region tempat cluster Anda berada.
    • --image-version: 2.0-ubuntu18, versi image cluster
    • --master-machine-type: n1-standard-32, jenis mesin utama.
    • --master-accelerator: jenis dan jumlah GPU pada node utama, empat nvidia-tesla-t4 GPU.
    • --initialization-actions: jalur Cloud Storage ke skrip penginstalan yang menginstal driver GPU, Dask, RAPIDS, dan dependensi tambahan.
    • --initialization-action-timeout: waktu tunggu untuk tindakan inisialisasi.
    • --metadata: diteruskan ke tindakan inisialisasi untuk mengonfigurasi cluster dengan driver GPU NVIDIA, penjadwal mandiri untuk Dask, dan RAPIDS versi 21.06.
    • --optional-components: mengonfigurasi cluster dengan komponen opsional Jupyter.
    • --enable-component-gateway: mengizinkan akses ke UI web di cluster.
    • --single-node: mengonfigurasi cluster sebagai node tunggal (tanpa pekerja).

    Akses Jupyter Notebook

    1. Buka halaman Clusters di konsol Google Cloud Dataproc.
      Buka halaman Cluster
    2. Klik cluster Anda, lalu klik tab Web Interfaces.
    3. Klik JupyterLab.
    4. Buka terminal baru di JupyterLab.
    5. Clone clara-parabricks/rapids-single-cell-examples repositori dan lihat cabang dataproc/multi-gpu.

      git clone https://github.com/clara-parabricks/rapids-single-cell-examples.git
      git checkout dataproc/multi-gpu
      

    6. Di JupyterLab, buka repositori rapids-single-cell-examples/notebooks dan buka Jupyter Notebook 1M_brain_gpu_analysis_uvm.ipynb.

    7. Untuk menghapus semua output di notebook, pilih Edit > Clear All Outputs

    8. Baca petunjuk dalam sel notebook. Notebook ini menggunakan Dak dan RAPIDS di Dataproc untuk memandu Anda melalui alur kerja RNA-seq sel tunggal di 1 juta sel, termasuk memproses dan memvisualisasikan data. Untuk mempelajari lebih lanjut, lihat Mempercepat Analisis Genomik Sel Tunggal menggunakan RAPIDS.

    Pembersihan

    Agar tidak perlu membayar biaya pada akun Google Cloud Anda untuk resource yang digunakan dalam tutorial ini, hapus project yang berisi resource tersebut, atau simpan project dan hapus setiap resource.

    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.

    Menghapus resource satu per satu

    1. Hapus cluster Dataproc Anda.
      gcloud dataproc clusters delete cluster-name \
          --region=region
      
    2. Hapus bucket:
      gcloud storage buckets delete BUCKET_NAME

    Langkah selanjutnya