Informazioni sullo schema delle varianti BigQuery

Questa pagina spiega la struttura dello schema generato in BigQuery quando utilizzi lo strumento Trasformazioni 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 di 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 è in genere un cromosoma, ma potrebbe essere anche un'altra regione denominata di un genome di riferimento.
Variante

Una regione del genoma che è stata identificata come diversa dal genoma di riferimento. Una variante deve avere le seguenti proprietà:

  • Nome di 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 è 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 un segmento con o senza variazioni per 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 sulle varianti e sulle chiamate. Ad esempio, tutte le chiamate hanno un campo genotype, ma non tutti i set di dati hanno un campo "Qualità del genotipo" (GQ). Il campo genotype è una parte fissa di lo schema VariantCall, ma non ha un campo GQ. Puoi importare il campo e il valore GQ come coppie chiave-valore nel campo VariantCall info.

Per ulteriori informazioni sulla nomenclatura genomica, consulta 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 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 saperne di più sui tipi di dati complessi di BigQuery, consulta quanto segue:

Struttura della tabella delle varianti

Quando esegui lo strumento di trasformazione delle varianti, specifichi il nome della tabella BigQuery. In genere, il nome della tabella è variants.

Struttura dei 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 delle varianti:

  • Variant1
  • Variant2

Il set di dati BigQuery contiene i seguenti esempi:

  • Sample1
  • Sample2
  • Sample3

Nella tabella seguente puoi osservare i seguenti risultati:

  • Variant1 è stato chiamato per Sample1 e Sample2.
  • Variant2 è stata chiamata per Sample1 e Sample3.
   
Variante1 Sample1

Sample2
Variant2 Esempio1

Esempio3

Struttura del campo della tabella delle varianti

Ogni tabella variants include sia un insieme fisso di campi sia un insieme variabile di campi. La struttura della tabella è la seguente:

     
Campi delle varianti fisse Chiamata Campi INFO delle varianti
Campi chiamate corretti          Campi INFO chiamate

Campi fissi della tabella delle varianti

I campi fissi a livello di record (variante) 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 dati di 1000 Genomes sono stati caricati in BigQuery, è stata 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 direttive 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 esempio AC e AF, sono stati aggiunti come campi INFO alle risorse delle varianti.
  • I campi contrassegnati come FORMAT, ad esempio i campi GP e GQ, sono stati aggiunti come campi INFO alle risorse VariantCall.
  • Il campo FORMAT GT non è stato aggiunto come campo INFO. Il valore è stato convertito nel campo genotype.

La visualizzazione dello schema in BigQuery mostra i seguenti campi fissi:

Nome campo Tipo Modalità Descrizione
reference_name STRING 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 (basata su 0). Corrisponde alla prima base dopo l'ultima nell'allele di riferimento.
reference_bases STRING NULLABLE Basi di riferimento.
alternate_bases RECORD REPEATED Un record per ogni base alternativa (se presente). Consulta la sezione Informazioni aggiuntive sul record alternate_bases.
alternate_bases.alt STRING NULLABLE Base alternativa.
nomi STRING 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ù elevati implicano una qualità migliore.
filtro STRING 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.

La visualizzazione dello schema mostra i seguenti campi delle variabili (campi INFO):

Nome campo Tipo Modalità Descrizione
call.name STRING 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 STRING NULLABLE Fase della chiamata (se presente). "*" viene utilizzato nei casi in cui il genotipo è a fasi, ma non è stato specificato un 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 rimuovendo la necessità di mappare ogni campo con il corrispondente record alternativo.

Per utilizzare la versione precedente dello schema BigQuery, in cui i campi Number=A sono indipendenti dalle basi alternative, completa i seguenti passaggi:

  1. Esegui lo strumento di trasformazione delle varianti e passa il flag --split_alternate_allele_info_fields.
  2. Imposta il valore del flag --split_alternate_allele_info_fields su False.

Suddividere automaticamente i record

Nei seguenti casi, lo strumento Trasformazioni delle varianti suddivide automaticamente un record in più righe se ogni riga è inferiore a 100 MB:

  • Un record contiene un numero elevato di chiamate.
  • Il numero elevato di chiamate genera una riga BigQuery più grande di 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 al suo interno devono essere non nulli.

Ad esempio:

  1. Supponiamo che il campo INFO di un file VCF abbia i valori 1,.,2. La Lo strumento di trasformazione delle varianti non può caricare 1,null,2 in BigQuery.
  2. Per il valore null deve essere utilizzata una sostituzione numerica. 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 null in una stringa e utilizzare . come valore. Nel frattempo, l'intestazione deve essere specificata come String.