Ejecutar un análisis genómico en un cuaderno de JupyterLab en Dataproc

En este tutorial se explica cómo hacer un análisis genómico de una sola célula con Dask, NVIDIA RAPIDS y GPUs, que puedes configurar en Dataproc. Puedes configurar Dataproc para que ejecute Dask con su programador independiente o con YARN para gestionar los recursos.

En este tutorial se configura Dataproc con una instancia de JupyterLab alojada para ejecutar un cuaderno que incluya un análisis genómico de una sola celda. Si usas un cuaderno de Jupyter en Dataproc, puedes combinar las funciones interactivas de Jupyter con el escalado de cargas de trabajo que ofrece Dataproc. Con Dataproc, puedes ampliar tus cargas de trabajo de una a muchas máquinas, que puedes configurar con tantas GPUs como necesites.

Este tutorial está dirigido a científicos y analistas de datos. Se da por supuesto que tienes experiencia con Python y conocimientos básicos sobre lo siguiente:

Prepara tu entorno

  1. Selecciona una ubicación para tus recursos.

    REGION=REGION
    

  2. Crea un segmento de Cloud Storage.

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

  3. Copia las siguientes acciones de inicialización en tu segmento.

    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
    

Crear un clúster de Dataproc con JupyterLab y componentes de código abierto

  1. Crea un clúster de 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

El clúster tiene las siguientes propiedades:

  • --region: la región en la que se encuentra tu clúster.
  • --image-version: 2.0-ubuntu18, la versión de la imagen del clúster
  • --master-machine-type: n1-standard-32, el tipo de máquina principal.
  • --master-accelerator: el tipo y el número de GPUs del nodo principal, cuatro GPUs nvidia-tesla-t4.
  • --initialization-actions: las rutas de Cloud Storage a las secuencias de comandos de instalación que instalan controladores de GPU, Dask, RAPIDS y dependencias adicionales.
  • --initialization-action-timeout: tiempo de espera de las acciones de inicialización.
  • --metadata: se pasa a las acciones de inicialización para configurar el clúster con los controladores de GPU de NVIDIA, el programador independiente de Dask y la versión 21.06 de RAPIDS.
  • --optional-components: configura el clúster con el componente opcional de Jupyter.
  • --enable-component-gateway: permite acceder a las interfaces de usuario web del clúster.
  • --single-node: configura el clúster como un solo nodo (sin trabajadores).

Acceder al cuaderno de Jupyter

  1. Abre la página Clusters en la consola de Dataproc Google Cloud .
    Abrir página Clústeres
  2. Haga clic en su clúster y, a continuación, en la pestaña Interfaces web.
  3. Haz clic en JupyterLab.
  4. Abre una terminal nueva en JupyterLab.
  5. Clona el clara-parabricks/rapids-single-cell-examples repositorio y consulta la rama dataproc/multi-gpu.

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

  6. En JupyterLab, ve al repositorio rapids-single-cell-examples/notebooks y abre el cuaderno de Jupyter 1M_brain_gpu_analysis_uvm.ipynb.

  7. Para borrar todas las salidas del cuaderno, selecciona Editar > Borrar todas las salidas.

  8. Lee las instrucciones de las celdas del cuaderno. El cuaderno usa Dask y RAPIDS en Dataproc para guiarte por un flujo de trabajo de secuenciación de ARN de una sola célula en 1 millón de células, incluido el procesamiento y la visualización de los datos. Para obtener más información, consulta el artículo Accelerating Single Cell Genomic Analysis using RAPIDS (Acelerar el análisis genómico de células individuales con RAPIDS).