Menjalankan analisis genomik di notebook JupyterLab

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

Tutorial ini mengonfigurasi Managed Service untuk Apache Spark dengan instance JupyterLab yang dihosting untuk menjalankan notebook yang menampilkan analisis genomik sel tunggal. Dengan menggunakan Jupyter Notebook di Managed Service untuk Apache Spark, Anda dapat menggabungkan kemampuan interaktif Jupyter dengan penskalaan workload yang diaktifkan oleh Managed Service untuk Apache Spark. Dengan Managed Service untuk Apache Spark, Anda dapat menskalakan workload dari satu ke banyak mesin, yang dapat Anda konfigurasi dengan GPU sebanyak yang Anda butuhkan.

Tutorial ini ditujukan untuk data scientist dan peneliti. Tutorial ini mengasumsikan bahwa Anda berpengalaman menggunakan Python dan memiliki pengetahuan dasar tentang hal berikut:

Tujuan

  • Membuat instance Managed Service untuk Apache Spark yang dikonfigurasi dengan GPU, JupyterLab, dan komponen open source.
  • Menjalankan notebook di Managed Service untuk Apache Spark.

Biaya

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

  • Managed Service for Apache Spark
  • Cloud Storage
  • GPUs
  • Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda, gunakan kalkulator harga.

    Pengguna baru mungkin memenuhi syarat untuk mendapatkan uji coba gratis. Google Cloud

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

    Sebelum memulai

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

      Peran yang diperlukan untuk memilih atau membuat project

      • Memilih project: Memilih project tidak memerlukan peran IAM tertentu Anda dapat memilih project mana pun yang telah diberi peran.
      • Membuat project: Untuk membuat project, Anda memerlukan peran Project Creator (roles/resourcemanager.projectCreator), yang berisi izin resourcemanager.projects.create. Pelajari cara memberikan peran.

      Buka pemilih project

    2. Pastikan penagihan diaktifkan untuk Google Cloud project Anda.

    3. Mengaktifkan Dataproc API.

      Peran yang diperlukan untuk mengaktifkan API

      Untuk mengaktifkan API, Anda memerlukan izin serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Admin Penggunaan Layanan (roles/serviceusage.serviceUsageAdmin). Pelajari cara memberikan peran.

      Mengaktifkan API

    Menyiapkan lingkungan Anda

    1. Pilih a lokasi untuk resource Anda.

      REGION=REGION
      

    2. Buat bucket Cloud Storage.

      gcloud storage buckets create gs://BUCKET --location=REGION
      

    3. Salin tindakan inisialisasi berikut ke bucket Anda.

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

    Membuat cluster Managed Service untuk Apache Spark dengan JupyterLab dan komponen open source

    1. Buat cluster Managed Service untuk Apache Spark.
    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: the 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 di 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: memungkinkan akses ke UI web di cluster.
    • --single-node: mengonfigurasi cluster sebagai satu node (tanpa pekerja).

    Mengakses Notebook Jupyter

    1. Buka halaman Clusters di konsol Managed Service untuk Apache Spark Google Cloud .
      Buka halaman Clusters
    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 periksa cabang managed-spark/multi-gpu.

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

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

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

    8. Baca petunjuk di sel notebook. Notebook ini menggunakan Dask dan RAPIDS di Managed Service untuk Apache Spark untuk memandu Anda melalui alur kerja RNA-seq sel tunggal pada 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 Google Cloud konsol, buka halaman Manage resources.

      Buka Kelola resource

    2. Pada daftar project, pilih project yang Anda 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 Managed Service untuk Apache Spark.
      gcloud dataproc clusters delete cluster-name \
          --region=region
      
    2. Hapus bucket:
      gcloud storage buckets delete BUCKET_NAME

    Langkah berikutnya