Illumina Platinum Genomes

O sequenciamento do genoma inteiro está permitindo que pesquisadores de todo o mundo caracterizem o genoma humano de modo mais completo e preciso. Isso requer um catálogo abrangente e que englobe todo o genoma de variantes de alta confiança chamadas em um conjunto de genomas como um parâmetro de comparação. O Illumina tem dados de sequência de genoma completo profundos de 17 indivíduos em um pedigree de três gerações. O Illumina chamou variantes em cada genoma usando um intervalo de algoritmos atualmente disponíveis.

Para saber mais sobre os dados, confira o site oficial do Illumina.

Observação

A Microsoft fornece o Azure Open Datasets no estado em que se encontra. A Microsoft não oferece garantias nem coberturas, expressas ou implícitas, em relação ao uso dos conjuntos de dados. Até o limite permitido pela legislação local, a Microsoft se exime de toda a obrigação por danos ou perdas, inclusive diretos, consequentes, especiais, indiretos, acidentais ou punitivos, resultantes do uso dos conjuntos de dados.

Esse conjunto de dados é fornecido de acordo com os termos originais com que a Microsoft recebeu os dados de origem. O conjunto de dados pode incluir dados originados da Microsoft.

Fonte de dados

Este conjunto de dados é um espelho de ftp://ussd-ftp.illumina.com/

Volumes de dados e frequência de atualização

Este conjunto de dados contém aproximadamente 2 GB de dados e é atualizado diariamente.

Local de armazenamento

Este conjunto de dados está armazenado nas regiões do Azure Oeste dos EUA 2 e Centro-Oeste dos EUA. É recomendável alocar recursos de computação no Oeste dos EUA 2 ou no Centro-Oeste dos EUA por questão de afinidade.

Acesso aos Dados

Oeste dos EUA 2: “https://datasetplatinumgenomes.blob.core.windows.net/dataset”

Centro-Oeste dos EUA: “https://datasetplatinumgenomes-secondary.blob.core.windows.net/dataset”

Token SAS: sv=2019-02-02&se=2050-01-01T08%3A00%3A00Z&si=prod&sr=c&sig=FFfZ0QaDcnEPQmWsshtpoYOjbzd4jtwIWeK%2Fc4i9MqM%3D

Termos de uso

Os dados estão disponíveis sem restrições. Para saber mais e detalhes da citação, confira o site oficial do Illumina.

Contact

Para dúvidas ou comentários sobre o conjunto de dados, entre em contato com platinumgenomes@illumina.com.

Acesso de dados

Azure Notebooks

Obter o Illumina Platinum Genomes do Azure Open Datasets e fazer a análise inicial

Use notebooks Jupyter, GATK e Picard para fazer o seguinte:

  1. Anotar genótipos usando VariantFiltration
  2. Selecionar variantes específicas
  3. Filtrar as variantes relevantes – nenhuma chamada OU regiões específicas
  4. Executar análise de concordância
  5. Converter os arquivos VCF finais em uma tabela

Dependências:

Este notebook requer as seguintes bibliotecas:

  • Armazenamento do Azure pip install azure-storage-blob

  • numpy pip install numpy

  • GATK (Genome Analysis Toolkit) (os usuários precisam baixar o GATK da página da Web do Broad Institute no mesmo ambiente de computação com este notebook: https://github.com/broadinstitute/gatk/releases )

Informações importantes: este notebook está usando o kernel do Python 3.6

Obter os dados da Genomics do Azure Open Datasets

Vários dados públicos de genoma foram carregados como um conjunto de dados aberto do Azure aqui. Criamos um serviço de blob vinculado a esse conjunto de dados aberto. Você pode encontrar exemplos do procedimento de chamada de dados no Azure Open Dataset para o conjunto de dados Illumina Platinum Genomes abaixo:

Baixar o “Illumina Platinum Genomes” específico

import os
import uuid
import sys
from azure.storage.blob import BlockBlobService, PublicAccess

blob_service_client = BlockBlobService(account_name='datasetplatinumgenomes', sas_token='sv=2019-02-02&se=2050-01-01T08%3A00%3A00Z&si=prod&sr=c&sig=FFfZ0QaDcnEPQmWsshtpoYOjbzd4jtwIWeK%2Fc4i9MqM%3D')     
blob_service_client.get_blob_to_path('dataset/2017-1.0/hg38/small_variants/NA12877', 'NA12877.vcf.gz', './NA12877.vcf.gz')

1. Anotar genótipos usando VariantFiltration

Observação importante: confira se o GATK está em execução no seu sistema.

Se você quiser filtrar os genótipos heterozigotos, use a opção --genotype-filter-expression isHet == 1 do VariantFiltration. É possível especificar o valor de anotação para a ferramenta para rotular os genótipos heterozigotos com a opção --genotype-filter-name. Aqui, o valor desse parâmetro é definido como isHetFilter. Em nosso primeiro exemplo, usamos NA12877.vcf.gz do Illimina Platinum Genomas, mas os usuários podem usar qualquer arquivo vcf de outros conjuntos de dados:Platinum Genomes

run gatk VariantFiltration -V NA12877.vcf.gz -O outputannot.vcf --genotype-filter-expression "isHet == 1" --genotype-filter-name "isHetFilter"

2. Selecionar variantes específicas

Selecione um subconjunto de variantes de um arquivo VCF. Essa ferramenta possibilita selecionar um subconjunto de variantes com base em vários critérios para facilitar determinadas análises. Exemplos dessas análises incluem comparar e contrastar casos versus controles, extrair loci variantes ou não variantes que atendem a determinados requisitos ou solucionar problemas de alguns resultados inesperados, para citar alguns.

Há muitas opções diferentes para selecionar subconjuntos de variantes de um conjunto de chamadas maior:

Extraia uma ou mais amostras de um conjunto de chamadas com base em um nome de amostra completo ou em uma combinação de padrões. Especifique critérios para inclusão que coloquem limites em valores de anotação, por exemplo, “DP > 1000” (profundidade de cobertura superior a 1.000x), “AF < 0,25” (sites com frequência de alelos inferior a 0,25). Esses critérios são escritos como “expressões JEXL”, que são documentados no artigo sobre como usar expressões JEXL. Forneça faixas de concordância ou discordância para incluir ou excluir variantes que também estão presentes em outros conjuntos de chamadas. Selecione as variantes com base em critérios como seu tipo (por exemplo, somente INDELs), evidência de violação mendeliana, status de filtragem, alelicidade etc. Também há várias opções para registrar os valores originais de determinadas anotações, que são recalculadas quando um subconjunto tem um novo conjunto de chamadas, ajusta alelos etc.

Entrada: um conjunto de chamadas variante no formato VCF do qual um subconjunto pode ser selecionado.

Saída: um novo arquivo VCF que contém o subconjunto selecionado de variantes.

run gatk SelectVariants -R Homo_sapiens_assembly38.fasta -V outputannot.vcf --select-type-to-include SNP --select-type-to-include INDEL -O selective.vcf

3. Transformar genótipos filtrados em nenhuma chamada

Executar SelectVariants com --set-filtered-gt-to-nocall transformará ainda mais os genótipos sinalizados com uma chamada de genótipo nula.

Essa conversão é necessária porque as ferramentas downstream não analisarão o campo de filtro no nível FORMAT.

Como podemos filtrar as variantes com “Nenhuma chamada”

run gatk SelectVariants -V outputannot.vcf --set-filtered-gt-to-nocall -O outputnocall.vcf

4. Verificar a concordância do arquivo VCF com o Ground Truth

Avalie a concordância no nível do site de um VCF de entrada em relação a um VCF verdadeiro. Essa ferramenta avalia dois conjuntos de chamadas variantes entre si e produz uma tabela de métricas de resumo de seis colunas.

Esta função:

  1. Estratifica chamadas SNP e INDEL
  2. Relata chamadas verdadeiro positivo, falso positivo e falso negativo
  3. Calcula a sensibilidade e a precisão

A ferramenta presume que todos os registros no VCF --truth estão passando variantes verdadeiras. Para o VCF -eval, a ferramenta usa apenas chamadas de passagem não filtradas.

Opcionalmente, a ferramenta pode ser definida para produzir VCFs dos seguintes registros variantes, anotados com o status de concordância de cada variante:

Verdadeiros positivos e falsos negativos (ou seja, todas as variantes na VCF verdadeira): útil para calcular a sensibilidade

Verdadeiros positivos e falsos positivos (ou seja, todas as variantes no VCF de avaliação): útil para obter um conjunto de dados de treinamento para classificadores de aprendizado de máquina de artefatos

Essas VCFs de saída podem ser passadas para VariantsToTable para produzir um arquivo TSV para análise estatística em R ou Python.

 run gatk Concordance -R Homo_sapiens_assembly38.fasta -eval outputannot.vcf --truth outputnocall.vcf  --summary summary.tsv 

5. VariantsToTable

Extraia campos de um arquivo VCF para uma tabela delimitada por tabulação. Essa ferramenta extrai campos especificados para cada variante em um arquivo VCF para uma tabela delimitada por tabulação, o que pode ser mais fácil de trabalhar do que um VCF. Por padrão, a ferramenta só extrai variantes PASS ou (sem filtro) no arquivo VCF. As variantes filtradas podem ser incluídas na saída adicionando o sinalizador --show-filtered. A ferramenta pode extrair os campos INFO (ou seja, nível do site) e FORMAT (ou seja, nível de amostra).

Campos no nível do site/INFO:

Use o argumento -F para extrair campos INFO; cada campo ocupará uma única coluna no arquivo de saída. O campo pode ser qualquer coluna VCF padrão (por exemplo, CHROM, ID, QUAL) ou qualquer nome de anotação no campo INFO (por exemplo, AC, AF). A ferramenta também dá suporte aos seguintes campos:

EVENTLENGTH (duração do evento) TRANSITION (1 para uma transição bialélica (SNP), 0 para transversão bialélica (SNP), -1 para INDELs e multialélica) HET (contagem de genótipos het) HOM-REF (contagem de genótipos de referência homozigótica) HOM-VAR (contagem de genótipos de variante homozigótica) NO-CALL (contagem de genótipos sem chamada) TYPE (tipo de variante, os possíveis valores são NO_VARIATION, SNP, MNP, INDEL, SYMBOLIC e MIXED VAR (contagem de genótipos sem referência) NSAMPLES (número de amostras) NCALLED (número de amostras chamadas) MULTI-ALLELIC (está é a variante multialélica? verdadeiro/falso)

Campos no nível de amostra/FORMAT:

Use o argumento -GF para extrair campos no nível de amostra/FORMAT. A ferramenta criará uma nova coluna por amostra com o nome “SAMPLE_NAME.FORMAT_FIELD_NAME”, por exemplo, NA12877.GQ, NA12878.GQ.

Entrada:

Um arquivo VCF a ser convertido em uma tabela

Saída:

Um arquivo delimitado por tabulação que contém os valores dos campos solicitados no arquivo VCF.

run gatk VariantsToTable -V NA12877.vcf.gz -F CHROM -F POS -F TYPE -F AC -F AD -F AF -GF DP -GF AD -O outputtable.table

Referências

  1. VariantFiltration: https://gatk.broadinstitute.org/hc/en-us/articles/360036827111-VariantFiltration
  2. Selecionar variantes: https://gatk.broadinstitute.org/hc/en-us/articles/360037052272-SelectVariants
  3. Concordância: https://gatk.broadinstitute.org/hc/en-us/articles/360041851651-Concordance
  4. Variantes para tabela: https://gatk.broadinstitute.org/hc/en-us/articles/360036882811-VariantsToTable
  5. Illumina Platinum Genomes: https://www.illumina.com/platinumgenomes.html

Próximas etapas

Exiba o restante dos conjuntos de dados no catálogo do Open Datasets.