0

Google Genomics Variant Transform 管道使用的 Variant Schema 将基因型表示为 BigQuery 中的嵌套记录 - 例如:

1000 个基因组变异示例,具有 4 种基因型

(来自:https ://bigquery.cloud.google.com/table/genomics-public-data:1000_genomes.variants?pli=1&tab=preview )

我无法理解如何编写涉及样本之间关系的查询 - 例如:

select all variants where sampleA.genotype=HET and sampleB.genotype=HET and sampleC.genotype=HOM-ALT

或类似的查询,其中 sampleA 和 sampleB 是 sampleC 的父母,并且您正在寻找遵循特定继承模式的变体。

人们如何使用嵌套模式编写这些查询?

4

1 回答 1

1

我认为这将类似于下面的内容-尚未测试,因为表非常昂贵-但是一次运行的输出为零,这意味着没有满足该特定条件的记录-但至少您看到了如何进行此类查询的逻辑

SELECT * EXCEPT(cnt)
FROM (
    SELECT reference_name,  start, `end`,
        (SELECT COUNT(1) 
            FROM UNNEST(call) 
            WHERE (call_set_name="HG00261" AND genotype[SAFE_OFFSET(0)] = 0 AND genotype[SAFE_OFFSET(1)] = 1)
            OR (call_set_name="HG00593" AND genotype[SAFE_OFFSET(0)] = 1 AND genotype[SAFE_OFFSET(1)] = 0)
            OR (call_set_name="NA12749 " AND genotype[SAFE_OFFSET(0)] = 1 AND genotype[SAFE_OFFSET(1)] = 1)
        ) cnt
    FROM `genomics-public-data.1000_genomes.variants` 
)
WHERE cnt = 3 
于 2018-08-03T01:15:44.337 回答