在 Dataproc 上使用 JupyterLab 笔记本运行基因组分析

本教程介绍如何使用可在 Dataproc 上配置的 DaskNVIDIA RAPIDS 和 GPU 运行单个单元基因组分析。您可以将 Dataproc 配置为使用其独立调度器或 YARN 运行 Dask 以进行资源管理。

本教程使用托管的 JupyterLab 实例配置 Dataproc,以运行包含单细胞基因组分析的笔记本。通过在 Dataproc 上使用 Jupyter 笔记本,您可以将 Jupyter 的交互式功能与 Dataproc 支持的工作负载扩缩功能结合使用。借助 Dataproc,您可以将工作负载从一台机器横向扩容到多台机器,并且可以为这些机器配置任意数量的 GPU。

本教程适用于数据科学家和研究人员。本教程假定您具有 Python 使用经验,并具备以下基础知识:

准备环境

  1. 为您的资源选择位置

    REGION=REGION
    

  2. 创建 Cloud Storage 存储桶。

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

  3. 将以下初始化操作复制到您的存储桶。

    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
    

使用 JupyterLab 和开源组件创建 Dataproc 集群

  1. 创建 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

该集群具有以下属性:

  • --region:集群所在的区域
  • --image-version2.0-ubuntu18(集群映像版本)
  • --master-machine-typen1-standard-32(主要机器类型)。
  • --master-accelerator:主节点上 GPU 的类型和数量(四个 nvidia-tesla-t4 GPU)。
  • --initialization-actions:用于安装 GPU 驱动程序、Dask、RAPIDS 和额外依赖项的安装脚本的 Cloud Storage 路径。
  • --initialization-action-timeout:初始化操作的超时时间。
  • --metadata:传递给初始化操作以使用 NVIDIA GPU 驱动程序、Dask 的独立调度器和 RAPIDS 版本 21.06 配置集群。
  • --optional-components:使用 Jupyter 可选组件配置集群。
  • --enable-component-gateway:允许访问集群上的网页界面。
  • --single-node:将集群配置为单个节点(无工作器)。

访问 Jupyter 笔记本

  1. 打开 Dataproc Google Cloud 控制台中的集群页面。
    打开“集群”页面
  2. 点击您的集群,然后点击 Web 界面标签页。
  3. 点击 JupyterLab
  4. 在 JupyterLab 中打开新终端
  5. 克隆 clara-parabricks/rapids-single-cell-examples 代码库并签出 dataproc/multi-gpu 分支。

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

  6. 在 JupyterLab 中,转到 rapids-single-cell-examples/notebooks 代码库,并打开 1M_brain_gpu_analysis_uvm.ipynb Jupyter 笔记本。

  7. 如需清除笔记本中的所有输出,请选择修改 > 清除所有输出项

  8. 阅读笔记本单元中的相关说明。该笔记本使用 Dataproc 上的 Dask 和 RAPIDS 引导您在 100 万个单元上完成单个单元 RNA-seq 工作流,包括处理和直观呈现数据。如需了解详情,请参阅使用 RAPIDS 加速单个单元基因组分析