Anotación de variantes mediante el transformador de canalización

Nota

Databricks Runtime para Genomics está en desuso. Databricks ya no compila nuevas versiones de Databricks Runtime para Genomics y eliminarán la compatibilidad con Databricks Runtime para Genomics el 24 de septiembre de 2022, cuando finaliza el soporte técnico de Databricks Runtime para Genomics 7.3 LTS. En ese momento Databricks Runtime para Genomics dejará de estar disponible para elegirlo al crear un clúster. Para más información sobre la programación y la directiva de entrada en desuso de Databricks Runtime, consulte el apartado sobre la programación de soporte y las versiones de Databricks Runtime que reciben soporte técnico.

Cualquier método de anotación se puede usar en datos variantes mediante pipe transformer de Glow.

Por ejemplo, la anotación VEP se realiza descargando orígenes de datos de anotación (la caché )en cada nodo de un clúster y llamando al script de línea de comandos de VEP con pipe transformer mediante un script similar a la celda siguiente.

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")