Попытка понять общую картину, стоящую за секвенированием, выравниванием и поиском ДНК.

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

Я знаю, что мой проект связан с анализом производительности секвенирования ДНК и поиском «оружия», такого как Hadoop, Apache Spark и Apache Flink, поэтому я провел последние пару дней, пытаясь собрать «картину ДНК», прежде чем я получу начал с программирования.

Мое понимание ситуации таково:

  1. Методы секвенирования следующего поколения (NGS) используются для эффективного чтения ДНК (преобразования реальной физической ДНК во что-то, что можно прочитать и проанализировать), однако сегодня наиболее практичные методы обеспечивают короткие и беспорядочные чтения.
  2. Чтения говорят нам, какие нуклеотиды, помеченные как один из ACGT, встречаются в последовательности. Могут существовать разные нуклеотиды или значения, которые заменят их, например N или X. Прочтения могут иметь длину от 50 до 1000 нуклеотидов в зависимости от метода секвенирования.
  3. Вы можете найти исторические необработанные данные чтения в различных местах в Интернете, включая Sequence Read Archive (SRA). На том же веб-сайте содержится много другой информации, связанной с ДНК/биологией. Чтения обычно хранятся в файлах .fasta, которые следуют простому и практичному стандарту. Один файл может содержать очень маленькое или очень большое чтение или последовательность.
  4. Затем считывания передаются программам выравнивания ДНК, таким как бабочка, которые вернут их в правильном порядке. Алгоритмы могут использовать последовательность шаблонов для их выравнивания или запускаться «de novo» (без шаблона). Результаты этих выравниваний также были проиндексированы в Интернете, однако в целях моего обучения я, вероятно, буду выравнивать их сам.
  5. После выравнивания (или, возможно, во время выравнивания) отличия нуклеотидов от матричной последовательности могут быть найдены или найдены программным путем, например, с помощью арбалета. Обратите внимание, что многие другие задачи также могут быть выполнены - не только этот поиск. Если конкретная замена встречается более чем в 1% того, что я думаю называется «геномной» популяцией, то это называется однонуклеотидным полиморфизмом (SNP или snip). Большинство SNP имеют два аллеля или два разных зарегистрированных нуклеотида (например, G или C), но возможно и более двух.
  6. SNP можно изучать и сопоставлять с различными условиями или характеристиками. Конкретный нуклеотид может быть ответственным за часть эмоциональных наклонностей, реакцию на определенные лекарства или что-то еще, поэтому конкретный SNP может иметь большое значение.

Что я упустил/что я сделал не так?

Нашли ли вы образцовое/репрезентативное приложение, в котором подчеркивается использование Spark или Flink (AFAIK, Hadoop MapReduce умирает)?
@Phil Похоже, что Flink еще не набрал значительного оборота, но Spark идет полным ходом. Это можно наблюдать в виде грубой тенденции в таблице 1 моего чернового обзора литературы ( bilalakil.github.io/mphil/assets/literature-review.pdf ) — там вы также можете увидеть, что Hadoop еще не совсем умирает. Опять же, это очень грубая форма измерения, однако она должна достаточно точно отражать тенденцию. Мне еще предстоит описать такое объяснительное/репрезентативное использование Spark.

Ответы (2)

Вот краткий обзор нескольких ошибок в вашем в остальном хорошем анализе:

Не многие биоинформатические приложения используют Hadoop, Apache Spark или Apache Flink. На самом деле, я никогда не слышал об инструментах Apache Spark и Flink, и я видел только двух человек, использующих Hadoop для обработки файлов выравнивания.

  1. Чтения не «преобразовывают» настоящую, физическую ДНК. Это представления сигналов от молекул, составляющих ДНК, считываемых секвенаторами.
  2. A, T, C, G — молекулы, составляющие ДНК. N относится к «любому из A, T, C, G», что переводится как неизвестное или неоднозначное.
  3. Чтения хранятся в файлах FASTQ. Последовательности хранятся в файлах FASTA. Чтения включают последовательность, а также информацию о качестве, поэтому FASTA+QUAL=FASTQ
  4. Переупорядочивание — грубый, но приблизительный способ думать об этом. Помните, что этот процесс включает в себя перекрытия, в то время как изменение порядка происходит редко. Нахлесты имеют решающее значение для процесса сборки/выравнивания. Вы правы в отношении выравнивания эталонной последовательности и деталей сборки de novo.
  5. Это правильно, хотя статистические модели применяются для учета различий, которые не обязательно являются значительными вариантами (например, для ошибок секвенирования).
  6. Да, варианты, включающие SNP, могут быть связаны с различиями в фенотипе (признаках). Эмоциональные склонности — это что-то слишком сложное, подумайте о чем-то более простом, например, о диабете или цвете глаз.

На картинке у вас есть обычный конвейер анализа NGS. Это включает в себя выравнивание/сборку, определение вариантов и биологический анализ с соответствующими гипотезами. Сборка/выравнивание — наиболее затратная с вычислительной точки зрения часть, и для этого мы используем либо кластеры высокопроизводительных вычислений, либо масштабируемые облачные сервисы, такие как AWS.

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

Учтите мою наивность, но если A, G, C и T — молекулы, то что такое нуклеотид?
@BilalAkil Нуклеотиды — это тип молекулы. A, G, C и T являются молекулами и нуклеотидами.
Нуклеотид — это фосфат, пентозный сахар и азотистое основание в самом общем смысле. A/C/G/T происходят от типа азотистого основания, присоединенного к сахарофосфату.
@BilalAkil Я хотел избежать как можно большего количества биологии, отсюда и термин «молекула». Нуклеотид представляет собой биологическую молекулу, к которой фосфатной связью присоединены сахар (рибоза/дезоксирибоза) и азотистое основание (аденозин, гуанозин, цитозин, тимидин). Первая часть определяет, является ли нуклеотид частью ДНК или РНК, а вторая определяет основание. ДНК - это макромолекула, сверхбольшая молекула, построенная из более мелких составляющих молекул :)

Ответ RAM очень хорош, я просто добавлю вычислительную сторону, короткие чтения подвержены ошибкам. Это важно учитывать при выравнивании или сборке. Сами чтения могут быть просто неточными, что мы обнаруживаем, когда несколько операций чтения сильно перекрываются; мы предполагаем, что случайные несоответствия, наблюдаемые только при одном считывании позиции, являются ошибками. Кроме того, если эталонный геном недостаточно близок к образцу, считывания могут быть смещены.

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

И обратите внимание, что может быть гораздо больше расхождений, кроме замен отдельных нуклеотидов, хотя что-либо более сложное может быть обнаружено только с помощью коротких данных чтения. И большинство черт, которые действительно интересно изучать, являются полигенными, поэтому не совсем просто сказать, что одно различие в ДНК вызывает обнаруживаемое различие в фенотипе.

Спасибо. Я не хотел углубляться в сложности, с которыми мы сталкиваемся. Патогенные однонуклеотидные варианты при одногенных заболеваниях — простейший пример мутаций с фенотипическим эффектом, не так ли? Примечание к ОП: 1. Патогенные, 2. одиночные нуклеотиды, 3. одногенные 4. заболевания, 5. фенотипический эффект - это точки изменчивости, каждая из которых имеет как минимум 4 других объекта, которые могут занять их место - комбинаторика дает вам возможные категории. Представьте себе исследование, когда большую часть того, что мы делаем, мы пытаемся присвоить этим категориям тысячи вариантов!