Illumina Platinum Genomes

Полногеномное секвенирование позволяет исследователям во всем мире более полно и точно определять геном человека. Для этого нужен исчерпывающий каталог вариантов с высокой достоверностью на уровне генома, которые вызываются в составе набора геномов в качестве эталона. Компания Illumina создала глубокие данные последовательностей целых геномов 17 человек, представляющих три поколения одного рода. Она вызвала варианты каждого генома с помощью доступных на данный момент алгоритмов.

Дополнительные сведения о данных см. на официальном сайте Illumina.

Примечание.

Корпорация Майкрософт предоставляет Открытые наборы данных Azure как есть. Корпорация Майкрософт не предоставляет никаких гарантий (явных или подразумеваемых) и не определяет никаких условий в связи с использованием этих наборов данных. В рамках, допускаемых местным законодательством, корпорация Майкрософт отказывается от ответственности за ущерб и убытки (в том числе прямые, косвенные, специальные, опосредованные, случайные и штрафные), понесенные в результате использования вами этих наборов данных.

Этот набор данных предоставляется на тех же условиях, на которых корпорация Майкрософт получила исходные данные. Этот набор может включать данные, полученные от корпорации Майкрософт.

Источник данных

Этот набор данных является зеркальной копией ftp://ussd-ftp.illumina.com/

Объемы данных и частота обновления

Этот набор данных содержит примерно 2 ГБ данных и обновляется ежедневно.

Расположение хранилища

Этот набор данных хранится в регионах Azure "Западная часть США 2" и "Центрально-западная часть США". Для обеспечения приближенности мы рекомендуем выделять вычислительные ресурсы в регионе "Западная часть США 2" или "Центрально-западная часть США".

Доступ к данным

Западная часть США 2: https://datasetplatinumgenomes.blob.core.windows.net/dataset

Центрально-западная часть США: https://datasetplatinumgenomes-secondary.blob.core.windows.net/dataset

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

Условия использования

Доступ к данным предоставляется без ограничений. Дополнительные сведения и сведения для цитирования см. на официальном сайте Illumina.

Контакт

Со всеми вопросами и отзывами о наборе данных обратитесь к platinumgenomes@illumina.com.

Доступ к данным

Записные книжки Azure

Получение Illumina Platinum Genomes из Открытых наборов данных Azure и выполнение начального анализа

Для выполнения следующих действий используйте записные книжки Jupyter, GATK и Picard.

  1. Создание заметок о генотипах с помощью VariantFiltration
  2. Выбор конкретных вариантов
  3. Фильтрация соответствующих вариантов без вызовов или указания конкретных регионов
  4. Анализ словаря
  5. Преобразование окончательных файлов VCF в таблицу

Зависимости:

Для этой записной книжки требуются следующие библиотеки:

  • pip install azure-storage-blob для хранилища Azure;

  • pip install numpy для numpy;

  • Genome Analysis Toolkit (GATK) (пользователи должны загрузить GATK с веб-страницы исследовательского центра Broad Institute в ту же вычислительную среду, используя эту записную книжку: https://github.com/broadinstitute/gatk/releases).

Важная информация. В этой записной книжке используется ядро Python 3.6.

Получение данных Genomics из Открытых наборов данных Azure

Несколько общедоступных наборов данных геномики были отправлены в виде открытого набора данных Azure. Сведения о них приведены здесь. Мы создадим службу BLOB-объектов, связанную с этим открытым набором данных. Ниже приведены примеры процедуры вызова данных из открытого набора данных Azure для наборов данных Illumina Platinum Genomes.

Скачивание конкретного набора Illumina Platinum Genomes

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. Создание заметок о генотипах с помощью VariantFiltration

Важное примечание. Убедитесь, что в системе выполняется GATK.

Если нужно отфильтровать гетерозиготные генотипы, мы используем параметр VariantFiltration --genotype-filter-expression isHet == 1. Чтобы пометить гетерозиготные генотипы параметром --genotype-filter-name, можно указать значение заметки для инструмента. Здесь значение этого параметра равно isHetFilter. В нашем первом примере мы использовали NA12877.vcf.gz из Illimina Platinum Genomes, но пользователи могут использовать любые файлы VCF из других наборов данных: Platinum Genomes.

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

2. Выбор конкретных вариантов

Выберите подмножество вариантов из файла VCF. Это средство позволяет упростить определенный анализ, выбрав подмножество вариантов на основе различных критериев. К примерам такого анализа, среди прочего, относятся сравнение и противопоставление случаев и контрольных участков, извлечение варианта или невариантного локуса, удовлетворяющего определенным требованиям, или устранение некоторых непредвиденных результатов.

Существует множество различных способов выбора подмножеств вариантов из большего набора вызовов.

Извлеките одну или несколько выборок из набора вызовов на основе полного имени примера или совпадения по шаблону. Укажите условия включения, которые задают пороговые значения для значений заметок, например "DP > 1000" (глубина покрытия больше 1000-кратной), "AF < 0,25" (сайты с частотой аллеле меньше 0,25). Эти критерии записываются в виде выражений языка JEXL, которые описаны в статье об их использовании. Чтобы включить или исключить варианты, которые также включены в другие заданные наборы вызовов, укажите отслеживания по словарю соответствий или несоответствий. Выберите варианты на основе таких критериев, как их тип (например, только вставка или делеция), свидетельство нарушения закона Менделя, состояние фильтрации, аллельспецифичность и т. д. Существует также несколько вариантов записи исходных значений определенных заметок, которые пересчитываются, когда из нового множества вызовов выделяется подмножество, обрезаются аллели и т. п.

Входные данные: вызов варианта, заданный в формате файла VCF, из которого можно выбрать подмножество.

Выходные данные: новый файл VCF, содержащий выбранное подмножество вариантов.

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. Преобразование фильтрованных генотипов в вариант без вызова

При запуске SelectVariants с параметром --set-filtered-gt-to-nocall помеченные генотипы без вызова генотипа дополнительно преобразовываются.

Это преобразование необходимо, так как подчиненные средства не выполняют синтаксический анализ поля фильтра на уровне FORMAT.

Ниже показано, как можно отфильтровать варианты без вызова.

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

4. Проверка словаря файла VCF с помощью эталонных данных

Оцените словарь входного файла VCF на уровне сайта по эталонному файлу VCF. Это средство оценивает два набора вызовов вариантов, сопоставляя их друг с другом, и создает таблицу сводных метрик из шести столбцов.

Эта функция будет выполнять следующие действия:

  1. Стратификация вызовов однонуклеотидного полиморфизма и вставки или делеции.
  2. Создание отчетов об истинноположительных, ложноположительных и ложноотрицательных вызовах.
  3. Вычисление чувствительности и точности.

Средство предполагает, что все записи в файле VCF с параметром --truth передают истинные варианты. Для файла VCF с параметром -eval используются только нефильтрованные передающие вызовы.

При необходимости это средство можно настроить для создания файлов VCF из следующих записей вариантов, для которых создаются заметки с указанием состояния словаря каждого варианта:

Истинноположительные и ложнотрицательные результаты (т. е. все варианты в файле VCF с истинными значениями): удобно использовать для вычисления чувствительности.

Истинноположительные и ложноположительные результаты (т. е. все варианты в файле VCF для оценки): удобно использовать для получения набора обучающих данных для классификаторов артефактов в машинном обучении.

Эти выходные файлы VCF можно передать в VariantsToTable, чтобы создать файл TSV для статистического анализа на языке R или Python.

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

5. VariantsToTable

Извлеките поля из файла VCF в разделенную табуляциями таблицу. Это средство извлекает указанные поля для каждого варианта в файле VCF в разделенную табуляциями таблицу, которая может оказаться удобнее для работы, чем в VCF. По умолчанию средство извлекает только прошедшие проверку или (нефильтрованные) варианты в файле VCF. Отфильтрованные варианты можно включить в выходные данные, добавив флаг --show-filtered. Средство может извлекать как поля INFO (т. е. на уровне сайта), так и поля FORMAT (т. е. на уровне выборки).

Поля INFO (уровень сайта):

Для извлечения полей INFO используйте аргумент -F. Каждое поле будет занимать один столбец в выходном файле. Поле может быть любым стандартным столбцом VCF (например, CHROM, ID, QUAL) или любым именем заметки в поле INFO (например, AC, AF). Средство также поддерживает следующие поля:

EVENTLENGTH (длина события), TRANSITION (1 для двухаллельных транзиций (однонуклеотидный полиморфизм), 0 для двухаллельных трансверсий (однонуклеотидный полиморфизм), –1 для вставок или делеций и многоаллельных генов), HET (число частично гетерозиготных генотипов), HOM-REF (число гомозиготных контрольных генотипов), HOM-VAR (число гомозиготных вариативных генотипов), NO-CALL (число генотипов без вызова), TYPE (тип варианта; допустимые значения: NO_VARIATION, SNP, MNP, INDEL, SYMBOLIC), MIXED VAR (число генотипов, отличных от контрольных), NSAMPLES (число выборок), NCALLED (число вызванных выборок), MULTI-ALLELIC (является ли вариант многоаллельным: true или false)

Поля FORMAT (уровень выборки):

Для извлечения полей FORMAT (уровень выборки) используется аргумент -GF. Средство создаст новый столбец для каждой выборки с именем "SAMPLE_NAME.FORMAT_FIELD_NAME", например NA12877.GQ, NA12878.GQ.

Входные данные:

файл VCF для преобразования в таблицу

Выходные данные:

разделенный табуляциями файл, содержащий значения запрошенных полей в файле 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

Ссылки

  1. VariantFiltration: https://gatk.broadinstitute.org/hc/en-us/articles/360036827111-VariantFiltration
  2. Выбор вариантов: https://gatk.broadinstitute.org/hc/en-us/articles/360037052272-SelectVariants
  3. Словарь: https://gatk.broadinstitute.org/hc/en-us/articles/360041851651-Concordance
  4. Варианты для таблицы: https://gatk.broadinstitute.org/hc/en-us/articles/360036882811-VariantsToTable
  5. Illumina Platinum Genomes: https://www.illumina.com/platinumgenomes.html

Следующие шаги

Ознакомьтесь с другими наборами в каталоге Открытых наборов данных.