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


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

このチュートリアルでは、ホストされた JupyterLab インスタンスを使用して Dataproc を構成し、シングルセル ゲノミクス分析を備えたノートブックを実行します。Dataproc で Jupyter Notebook を使用すると、Jupyter のインタラクティブな機能と Dataproc で可能になるワークロード スケーリングを組み合わせることが可能です。Dataproc では、1 台のマシンから多数のマシンにワークロードをスケールアウトできます。それらのマシンは必要なだけ多数の GPU で構成できます。

このチュートリアルは、データ サイエンティストと研究者を対象としています。Python の経験があり、次の基本的な知識があることを前提としています。

目標

  • Dataproc インスタンスを作成し、GPU、JupyterLab、オープンソース コンポーネントで構成します。
  • Dataproc でノートブックを実行します。

費用

このドキュメントでは、課金対象である次の Google Cloudコンポーネントを使用します。

  • Dataproc
  • Cloud Storage
  • GPUs
  • 料金計算ツールを使うと、予想使用量に基づいて費用の見積もりを生成できます。

    新規の Google Cloud ユーザーは無料トライアルをご利用いただける場合があります。

    このドキュメントに記載されているタスクの完了後、作成したリソースを削除すると、それ以上の請求は発生しません。詳細については、クリーンアップをご覧ください。

    始める前に

    1. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

      Go to project selector

    2. Verify that billing is enabled for your Google Cloud project.

    3. Enable the Dataproc API.

      Enable the API

    環境を準備する

    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 を使用した単一細胞ゲノム分析の高速化をご覧ください。

    クリーンアップ

    このチュートリアルで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、リソースを含むプロジェクトを削除するか、プロジェクトを維持して個々のリソースを削除します。

    プロジェクトを削除する

    1. In the Google Cloud console, go to the Manage resources page.

      Go to Manage resources

    2. In the project list, select the project that you want to delete, and then click Delete.
    3. In the dialog, type the project ID, and then click Shut down to delete the project.

    リソースを個別に削除する

    1. Dataproc クラスタを削除します。
      gcloud dataproc clusters delete cluster-name \
          --region=region
      
    2. バケットを削除します。
      gcloud storage buckets delete BUCKET_NAME

    次のステップ