使用管道转换器进行突变注释

注意

用于基因组学的 Databricks Runtime 现已弃用。 Databricks 不再开发新版本的用于基因组学的 Databricks Runtime,并将在 2022年 9 月 24 日删除对用于基因组学的 Databricks Runtime 的支持,届时用于基因组学的 Databricks Runtime 7.3 LTS 支持将终止。 到那时,创建群集时将无法选择用于基因组学的 Databricks Runtime。 有关 Databricks Runtime 弃用策略和计划的详细信息,请参阅支持的 Databricks 运行时版本和支持计划。 作为运行时一部分的 Bioinformatics 库已发布为 Docker 容器,可在 [ProjectGlow Dockerhub][dockerhub] 页上找到。

任何注释方法均可用于使用 Glow 的管道转换器的突变数据。

例如,通过以下方式执行 VEP 注释:将注释数据源(缓存)下载到群集中的每个节点,并使用与以下单元类似的脚本通过管道转换器调用 VEP 命令行脚本

import glow
import json

input_vcf = "/databricks-datasets/hail/data-001/1kg_sample.vcf.bgz"
input_df = spark.read.format("vcf").load(input_vcf)
cmd = json.dumps([
  "/opt/vep/src/ensembl-vep/vep",
  "--dir_cache", "/mnt/dbnucleus/dbgenomics/grch37_merged_vep_96",
  "--fasta", "/mnt/dbnucleus/dbgenomics/grch37_merged_vep_96/data/human_g1k_v37.fa",
  "--assembly", "GRCh37",
  "--format", "vcf",
  "--output_file", "STDOUT",
  "--no_stats",
  "--cache",
  "--offline",
  "--vcf",
  "--merged"])
output_df = glow.transform("pipe", input_df, cmd=cmd, input_formatter='vcf', in_vcf_header=input_vcf, output_formatter='vcf')
output_df.write.format("delta").save("dbfs:/mnt/vep-pipe")