Glow

Glow 是一个开源项目,由 Databricks 和 Regeneron Genetics Center 合作创建。 要了解 Glow 中的功能,请参阅 Glow 文档

同步 Glow 笔记本到你的工作区

  1. 分叉 Glow github 存储库
  2. 使用存储库将你的分叉克隆到 Databricks 工作区。
  3. 笔记本位于 docs/source/_static 下面。

Glow notebooks location

设置 Glow 环境

通过 Docker 使用 Databricks 容器服务 在 Azure Databricks 群集上安装 Glow。

可以在 ProjectGlow Dockerhub 页上找到容器。 这些安装环境包含 Glow 和 Databricks Runtime for Genomics(已弃用)中的其他库。 使用 projectglow/databricks-glow:<databricks_runtime_version>,将标记替换为可用的 Databricks Runtime 版本。

或者安装这两个群集库

  • Maven:io.projectglow:glow-spark3_2.12:<version>
  • PyPI:glow.py==<version>

重要

  • 如果你将 Glow 作为独立的 PyPi 包安装,请将其安装为群集库,而不是使用 %pip magic 命令的笔记本范围库
  • 确保 Maven 坐标和 PyPI 包都包含在群集中,并且每个版本都匹配。
  • 请在 Databricks Runtime 上安装最新版本的 Glow,而不是会默认安装 Glow v0.6 的 Databricks Runtime for Genomics(已弃用)。
  • 不要在带有 Glow 的群集上安装 Hail,除非从 Hail 矩阵表中提取基因型。

Glow 入门

Databricks 建议你先在笔记本提供的测试数据上运行测试笔记本,然后再使用真实数据。 这些笔记本每晚都会使用最新版本的 Glow Docker 容器进行测试。

重要

  • 摄取基因型数据或转换为基因型数据后,Delta Lake 的检查点。

设置自动化作业

运行示例笔记本,然后将代码应用于实际数据后,你就可以使用作业自动完成管道中的步骤了。

重要

  • 先小部分测试。 对单个变体、样本或染色体进行实验。
  • 管道中的步骤可能需要不同的群集配置,具体取决于执行的计算类型。

提示

  • 使用计算优化虚拟机从云对象存储读取变量数据。
  • 使用增量缓存加速虚拟机查询变量数据。
  • 使用内存优化的虚拟机进行遗传关联研究。
    • 与大型机相比,使用小型计算机的群集更具性价比。
  • Glow 管道转换器支持并行使用在 GPU 上运行的深度学习工具。

以下示例群集配置在单个染色体上运行遗传关联研究。 编辑 notebook_path 并根据需要编辑 <databricks_runtime_version>

databricks jobs create --json-file glow-create-job.json

glow-create-job.json:

{
  "name": "glow_gwas",
  "notebook_task": {
    "notebook_path" : "/Users/<user@organization.com>/glow/docs/source/_static/notebooks/tertiary/gwas-quantitative",
    "base_parameters": {
      "allele_freq_cutoff": 0.01
    }
  },
  "new_cluster": {
    "spark_version": "<databricks_runtime_version>.x-scala2.12",
    "azure_attributes": {
      "first_on_demand": 1,
      "availability": "SPOT_WITH_FALLBACK_AZURE",
      "spot_bid_max_price": -1
    },
    "node_type_id": "Standard_E8s_v3",
    "num_workers": 32,
    "spark_conf": {
      "spark.sql.execution.arrow.maxRecordsPerBatch": 100
    },
    "docker_image": {
      "url": "projectglow/databricks-glow:<databricks_runtime_version>"
    }
  }
}