Dataproc の JupyterLab ノートブックでゲノム解析を実行する

このチュートリアルでは、Dataproc で構成できる DaskNVIDIA RAPIDS、GPU を使用してシングルセル ゲノミクス分析を実行する方法について説明します。スタンドアロン スケジューラまたはリソース管理用の YARN のいずれかを使用して Dask を実行するように Dataproc を構成できます。

このチュートリアルでは、ホストされた JupyterLab インスタンスを使用して Dataproc を構成し、シングルセル ゲノミクス分析を備えたノートブックを実行します。Dataproc で Jupyter Notebook を使用すると、Jupyter のインタラクティブな機能と Dataproc で可能になるワークロード スケーリングを組み合わせることが可能です。Dataproc では、1 台のマシンから多数のマシンにワークロードをスケールアウトできます。それらのマシンは必要なだけ多数の 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-version: 2.0-ubuntu18クラスタ イメージのバージョン)。
  • --master-machine-type: n1-standard-32(メインのマシンタイプ)。
  • --master-accelerator: メインノード上の GPU のタイプと数で、4 つの 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: クラスタのウェブ UI へのアクセスを許可します。
  • --single-node: クラスタを単一ノードとして構成します(ワーカーなし)。

Jupyter ノートブックにアクセスする

  1. Dataproc Google Cloud コンソールで [クラスタ] ページを開きます。
    [クラスタ] ページを開く
  2. クラスタをクリックし、[ウェブ インターフェース] タブをクリックします。
  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 を使用した単一細胞ゲノム分析の高速化をご覧ください。