Auf dieser Seite wird erläutert, wie Varianten mit BigQuery analysiert werden. Eine Variante ist eine Region eines Genoms, die sich nachweislich von einem Referenzgenom unterscheidet.
Im folgenden Beispiel wird für jedes Chromosom der einzelnen Proben das Verhältnis von Transitionen zu Transversionen in Einzelnen Nukleotidpolymorphismus (Single-Nucleotide Polymorphisms, SNPs) berechnet.
Varianten im Illumina Platinum Genomes-Dataset analysieren
Im folgenden Beispiel werden Daten aus dem Projekt Illumina Platinum Genomes verwendet. Die Daten befinden sich in der Tabelle platinum_genomes_deepvariant_variants_20180823
in BigQuery.
So analysieren Sie die Varianten in der Tabelle:
Rufen Sie in der Google Cloud Console die Seite „BigQuery“ auf.
Klicken Sie auf Abfrage erstellen.
Kopieren Sie die folgende Abfrage und fügen Sie sie in den Textbereich Neue Abfrage ein:
#standardSQL -- -- Compute the transition/transversion ratio per sample and reference name. -- WITH filtered_snp_calls AS ( SELECT reference_name, c.name, CONCAT(reference_bases, '->', alternate_bases[ORDINAL(1)].alt) AS mutation FROM `bigquery-public-data.human_genome_variants.platinum_genomes_deepvariant_variants_20180823` AS v, UNNEST(v.call) AS c WHERE # Only include biallelic SNPs. reference_bases IN ('A','C','G','T') AND alternate_bases[ORDINAL(1)].alt IN ('A','C','G','T') AND (ARRAY_LENGTH(alternate_bases) = 1 OR (ARRAY_LENGTH(alternate_bases) = 2 AND alternate_bases[ORDINAL(2)].alt = '<*>')) # Skip homozygous reference calls and no-calls. AND EXISTS (SELECT g FROM UNNEST(c.genotype) AS g WHERE g > 0) AND NOT EXISTS (SELECT g FROM UNNEST(c.genotype) AS g WHERE g < 0) # Include only high quality calls. AND NOT EXISTS (SELECT ft FROM UNNEST(c.filter) ft WHERE ft NOT IN ('PASS', '.')) ), mutation_type_counts AS ( SELECT reference_name, name, SUM(CAST(mutation IN ('A->G', 'G->A', 'C->T', 'T->C') AS INT64)) AS transitions, SUM(CAST(mutation IN ('A->C', 'C->A', 'G->T', 'T->G', 'A->T', 'T->A', 'C->G', 'G->C') AS INT64)) AS transversions FROM filtered_snp_calls GROUP BY reference_name, name ) SELECT reference_name, name, transitions, transversions, transitions/transversions AS titv FROM mutation_type_counts WHERE transversions > 0 ORDER BY titv DESC, name
Klicken Sie auf Abfrage ausführen. Die Abfrage gibt die folgende Antwort zurück:
Row reference_name name transitions transversions titv 1 chr22 NA12892 35299 15017 2.3506026503296265 2 chr22 NA12889 34091 14624 2.331167943107221 3 chr17 NA12892 67297 28885 2.3298251687727194 4 chr22 NA12878 33627 14439 2.3289008934136715 5 chr22 NA12877 34751 14956 2.3235490772933938 6 chr22 NA12891 33534 14434 2.323264514341139 7 chr17 NA12877 70600 30404 2.3220628864623074 8 chr17 NA12878 66010 28475 2.3181738366988585 9 chr17 NA12890 67242 29057 2.314141170802216 10 chr17 NA12889 69767 30189 2.311007320547219 … … … … … …
Die Spalte titv
enthält das Transitions-/Transversionsverhältnis.
Nächste Schritte
- Anleitung mit weiteren Beispielen zur Analyse von Varianten mit BigQuery
- Das Variantentabellenschema in BigQuery
- Varianten in BigQuery mit R, RMarkdown oder JavaScript analysieren
- Abfrage mit R ausführen und die Ergebnisse visualisieren