Questa pagina spiega la struttura dello schema generato in BigQuery quando usi lo strumento di trasformazione delle varianti. Leggi questa pagina se utilizzi lo strumento di trasformazione delle varianti di trasformare e caricare i file VCF direttamente in BigQuery e per capire come è strutturata la tabella di esportazione.
Nomenclatura
Per comprendere i formati e gli schemi di esportazione, familiarizza con le seguenti termini.
Nomenclatura Genomics
- Esempio
- DNA raccolto ed elaborato in un unico identificatore. Un campione solitamente coinvolge un singolo organismo, ma può anche essere un campione eterogeneo come un tampone per le guance.
- Nome riferimento
- Il nome di un segmento di riferimento del DNA. Il nome di riferimento è tipicamente un cromosoma, potrebbero essere altre regioni con nome provenienti da un genoma di riferimento.
- Variante
Una regione del genoma identificata come diversa dalla genoma di riferimento. Una variante deve avere le seguenti proprietà:
- Nome riferimento
- Posizione iniziale
- Posizione finale
- Una o più basi di riferimento
- Segmento senza varianti
Una regione del genoma che corrisponde al genoma di riferimento. Il segmento senza variazioni viene chiamato anche "segmento di riferimento". In genere, i dati genomici non includono segmenti non varianti con varianti.
Per saperne di più sui segmenti non varianti, consulta Informazioni sul gVCF.
- Chiamata
Un'occorrenza identificata di una variante o un segmento senza variazioni per un un singolo campione. Una chiamata rappresenta la determinazione del genotipo per una determinata variante. La chiamata potrebbe includere informazioni associate, come la qualità e in fasi.
- Campi INFO
Campi facoltativi aggiunti alle informazioni sulla variante e sulla chiamata. Ad esempio: tutte le chiamate hanno un campo
genotype
, ma non tutti i set di dati hanno un "Qualità genotipia" (GQ
). Il campogenotype
è una parte fissa di lo schemaVariantCall
, ma non ha un campoGQ
. Puoi importare il campo e il valoreGQ
sotto forma di coppie chiave-valore nel campoVariantCall
info
.
Per ulteriori informazioni sulla nomenclatura genomica, vedi quanto segue:
Termini di BigQuery
Acquisisci familiarità con i seguenti termini di BigQuery:
- Campi semplici
- Elementi di dati semplici in una tabella BigQuery, come numeri e stringhe.
- Campi nidificati
- Elementi di dati complessi in una tabella BigQuery. Un campo nidificato può contenere in più campi, sia semplici che nidificati.
- Campi ripetuti
- I campi di una tabella BigQuery che possono avere più valori, come un elenco. I campi ripetuti possono essere sia semplici che nidificati.
Per ulteriori informazioni sui tipi di dati complessi di BigQuery, consulta le seguenti:
- Campi BigQuery nidificati e ripetuti in SQL standard
- Spiegazione di BigQuery: utilizzo dei join, delle parti nidificate e dati ripetuti
- Documentazione di Looker sulla nidificazione
Struttura della tabella delle varianti
Quando esegui lo strumento di trasformazione delle varianti, devi specificare il nome
Tabella BigQuery. In genere, il nome della tabella è variants
.
Struttura del record della tabella delle varianti
I record di primo livello della tabella variants
possono essere sia varianti sia
segmenti senza varianti. Ogni record di tabella variants
contiene uno o più
chiamate.
La seguente tabella illustra la struttura dei record della tabella delle varianti. La tabella mostra i seguenti record di varianti:
Variant1
Variant2
Il set di dati BigQuery contiene i seguenti esempi:
Sample1
Sample2
Sample3
Puoi osservare questi risultati nella seguente tabella:
Variant1
è stata chiamata perSample1
eSample2
.Variant2
è stata chiamata perSample1
eSample3
.
Variant1 | Esempio1 Esempio2 |
Variant2 | Esempio1 Esempio3 |
… | … |
Struttura del campo tabella delle varianti
Ogni tabella variants
include un insieme fisso di campi e un insieme di variabili
campi. La struttura della tabella è la seguente:
Campi variante corretti | Chiamata | Campi INFO variante |
… | Campi di chiamata fissi Campi INFO chiamata | … |
Campi fissi delle tabelle delle varianti
I campi (variante) fissi a livello di record sono i seguenti:
reference_name
start_position
end_position
reference_bases
alternate_bases
names
quality
filter
I campi fissi a livello di chiamata (VariantCall
) sono i seguenti:
name
genotype
phaseset
Schema di esempio
Quando i 1000 genomi dati sono stati caricati in BigQuery, inclusa l'importazione ALL.chrY.phase3_integrated_v1a.20130502.genotypes.vcf.
Il file VCF include vari campi INFO
a livello di variante e di chiamata, come
descritto nelle seguenti istruzioni di intestazione INFO
e FORMAT
:
##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype"> ##FORMAT=<ID=GP,Number=G,Type=Float,Description="Genotype likelihoods"> ##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="Genotype Quality"> ##FORMAT=<ID=FT,Number=1,Type=String,Description="Per-sample genotype filter"> ##FORMAT=<ID=PL,Number=G,Type=Integer,Description="Normalized, Phred-scaled likelihoods for genotypes as defined in the VCF specification"> [[trimmed]] ##INFO=<ID=AA,Number=1,Type=String,Description="Ancestral allele"> ##INFO=<ID=AC,Number=A,Type=Integer,Description="Total number of alternate alleles in called genotypes"> ##INFO=<ID=AF,Number=A,Type=Float,Description="Estimated allele frequency in the range (0,1]"> ##INFO=<ID=NS,Number=1,Type=Integer,Description="Number of samples with data"> [[trimmed]]
Quando il file è stato caricato in BigQuery si è verificato quanto segue:
- I campi contrassegnati come
INFO
, ad esempioAC
eAF
, sono stati aggiunti come campiINFO
alle risorse delle varianti. - I campi contrassegnati come
FORMAT
, ad esempio i campiGP
eGQ
, sono stati aggiunti come campiINFO
alle risorseVariantCall
. - Il campo FORMATO
GT
non è stato aggiunto come campo INFORMAZIONI. Il valore è stato convertito nel campogenotype
.
La visualizzazione dello schema in BigQuery mostra quanto segue: campi fissi:
Nome campo | Tipo | Modalità | Descrizione |
---|---|---|---|
reference_name | STRINGA | NULLABLE | Nome di riferimento. |
start_position | INTEGER | NULLABLE | Posizione iniziale (in base 0). Corrisponde alla prima base della stringa delle basi di riferimento. |
end_position | INTEGER | NULLABLE | Posizione finale (in base 0). Corrisponde alla prima base dopo l'ultima nell'allele di riferimento. |
reference_bases | STRINGA | NULLABLE | Basi di riferimento. |
alternate_bases | RECORD | REPEATED | Un record per ogni base alternativa (se presente). Consulta le informazioni aggiuntive sul record alternate_bases . |
alternate_bases.alt | STRINGA | NULLABLE | Base alternativa. |
nomi | STRINGA | REPEATED | Nomi delle varianti (ad esempio, ID RefSNP). |
qualità delle chiamate affidabile | FLOAT | NULLABLE | Punteggio di qualità in scala phred (-10log10 prob(chiamata errata)). Valori più alti implicano una qualità migliore. |
filtro | STRINGA | REPEATED | Elenco dei filtri non riusciti (se presenti) o "PASS" che indica che la variante ha superato tutti i filtri. |
chiamare | RECORD | REPEATED | Un record per ogni chiamata. |
Lo schema mostra i seguenti campi di variabili (i campi INFO
):
Nome campo | Tipo | Modalità | Descrizione |
---|---|---|---|
call.name | STRINGA | NULLABLE | Nome della chiamata. |
call.genotype | INTEGER | REPEATED | Genotipo della chiamata. "-1" viene usato nei casi in cui il genotipo non viene chiamato. |
call.phaseset | STRINGA | NULLABLE | Fase della chiamata (se presente). "*" viene utilizzato nei casi in cui il genotipo è in fasi, ma non è stato specificato alcun insieme di fasi ("PS" in FORMAT). |
Informazioni aggiuntive sul record alternate_bases
Il record alternate_bases
contiene qualsiasi campo INFO
con Number=A
. Il record
semplifica le query eliminando la necessità di mappare ogni campo con il suo
record alternativo corrispondente.
Per utilizzare BigQuery precedente
versione dello schema, in cui i campi Number=A
sono indipendenti da basi alternative,
completa i seguenti passaggi:
- Esegui lo strumento di trasformazione delle varianti e passa il flag
--split_alternate_allele_info_fields
. - Imposta il valore del flag
--split_alternate_allele_info_fields
suFalse
.
Suddividi automaticamente i record
Nei seguenti casi, lo strumento di trasformazione delle varianti suddivide automaticamente un record in più righe in cui ogni riga è inferiore a 100 MB:
- Un record contiene un numero elevato di chiamate.
- L'elevato numero di chiamate genera una riga BigQuery superiore a 100 MB.
La suddivisione automatica del record è necessari a causa del limite di 100 MB per riga BigQuery.
Valori null
Se un campo ripetuto con numeri in virgola mobile o numero intero contiene un valore nullo, lo strumento di trasformazione delle varianti impossibile creare l'account BigQuery . BigQuery non consente valori nulli nei campi ripetuti. L'intero record può essere nullo, ma i valori nel record non deve essere null.
Ad esempio:
- Supponiamo che il campo
INFO
di un file VCF abbia i valori1,.,2
. La Lo strumento di trasformazione delle varianti non può caricare1,null,2
in BigQuery. - È necessario utilizzare una sostituzione numerica per il valore nullo. Per impostazione predefinita,
il valore sostitutivo è
-2^31
o-2147483648
.
Per impostare un valore numerico personalizzato, passa il flag --null_numeric_value_replacement
con un valore durante l'esecuzione dello strumento di trasformazione delle varianti.
In alternativa, puoi convertire i valori nulli in una stringa e utilizzare .
come
valore. Nel frattempo, l'intestazione deve essere specificata come String
.