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. Esse esforço 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 gerou 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”
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 jupyter notebooks, GATK e Picard em análises como:
- Anotar genótipos usando VariantFiltration
- Selecionar variantes específicas
- Filtrar as variantes relevantes – nenhuma chamada OU regiões específicas
- Executar análise de concordância
- 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
como:
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:
- Estratifica chamadas SNP e INDEL
- Relata chamadas verdadeiro positivo, falso positivo e falso negativo
- 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á apenas uma 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
- VariantFiltration: https://gatk.broadinstitute.org/hc/en-us/articles/360036827111-VariantFiltration
- Selecionar variantes: https://gatk.broadinstitute.org/hc/en-us/articles/360037052272-SelectVariants
- Concordância: https://gatk.broadinstitute.org/hc/en-us/articles/360041851651-Concordance
- Variantes para tabela: https://gatk.broadinstitute.org/hc/en-us/articles/360036882811-VariantsToTable
- 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.