Для чего именно компьютеры используются при секвенировании ДНК?

Я внимательно прочитал статью в Википедии о секвенировании ДНК и ничего не понял.

В процесс вовлечена какая-то жесткая химия, которая каким-то образом расщепляет ДНК, а затем изолирует ее части.

Тем не менее, секвенирование ДНК считается очень ресурсоемким процессом . Я не понимаю, что именно там вычисляется — какие данные поступают в компьютеры и какие именно компьютеры вычисляют.

Что именно там вычисляется? Где я могу получить больше информации об этом?

В этой статье рассматриваются вычислительные процессы, связанные с выравниванием фрагментов.
@jonsca: Похоже, у нас уже есть «строки», представляющие ДНК, но как нам получить эти строки?
Не само секвенирование требует больших вычислительных ресурсов, а сборка секвенированных фрагментов в непрерывную ДНК. Кроме того, даже тривиальная с вычислительной точки зрения задача потребует времени, если ее повторить миллиарды и миллиарды раз. Чтобы получить последовательность приличного качества, нужно секвенировать ДНК несколько раз (20+). Если у вас есть геном длиной в 3 миллиарда оснований...
Это очень хороший вопрос. Будет ли вычисление проще, если у вас есть 300 000 000 операций чтения длиной 100 п.н. или 60 000 000 операций чтения длиной 500 п.н.?
@leonardo Это просто, во втором случае у вас не только меньше прочтений (хорошо), но и больше (тоже хорошо). Несмотря на то, что увеличение длины чтения увеличивает время вычислений, оно также повышает качество результата. В «худшем» случае вы можете просто рассматривать эти чтения как уже созданные контиги из нескольких меньших перекрывающихся чтений.
@KonradRudolph - в этом случае чем меньше, но дольше чтение ускорит время вычислений?
@ Леонардо Да. Крайний случай, одно чтение, охватывающее весь геном. Видишь узор? ;-)

Ответы (4)

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

Обработка изображений

Современные секвенаторы обычно используют флуоресцентное мечение фрагментов ДНК в растворе. Флуоресценция кодирует различные типы азотистых оснований (= «основание») (обычно называемые A, C, G и T). Для достижения высокой производительности миллионы реакций секвенирования выполняются параллельно в микроскопических количествах на стеклянном чипе, и для каждой микрореакции необходимо записывать метку на каждом этапе реакции.

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

Цифровое изображение чипа секвенирования

Как видно, этот (сильно увеличенный; размер изображения < 100 мкм!) фрагмент изображения нечеткий, и многие точки перекрываются. Это затрудняет определение того, какой цвет какому пикселю назначить (хотя более поздние версии секвенсора имеют улучшенные системы фокусировки, и, следовательно, изображение становится более четким).

Базовый вызов

Одно такое изображение регистрируется для каждого шага процесса секвенирования, что дает одно изображение для каждой базы фрагментов. Для фрагмента длиной 75 это будет 75 изображений.

После того, как вы проанализировали изображения, вы получаете цветовые спектры для каждого пикселя изображения. Спектры для каждого пикселя соответствуют одному фрагменту последовательности (часто называемому «прочтением») и рассматриваются отдельно. Таким образом, для каждого фрагмента вы получите такой спектр:

Спектр следа последовательности

(Это изображение создается с помощью альтернативного процесса секвенирования, называемого секвенированием по Сэнгеру, но принцип тот же.)

Теперь нужно решить, какую базу назначить для каждой позиции на основе сигнала («базовый колл»). Для большинства положений это довольно просто, но иногда сигнал значительно перекрывается или затухает. Это необходимо учитывать при принятии решения о качестве вызова базы (т. е. какую достоверность вы придаете своему решению для данной базы).

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

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

Чтение сопоставления и сборки

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

Следующий шаг зависит от того, есть ли у вас под рукой похожий, уже секвенированный геном. Часто это так. Например, существует высококачественная «эталонная последовательность» генома человека, и, поскольку все геномные последовательности всех людей идентичны примерно на 99,9% (в зависимости от того, как вы считаете), вы можете просто посмотреть, где ваши чтения совпадают с эталоном. .

Чтение сопоставления

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

Таким образом, все, что вам нужно сделать, это сопоставить прочтения с их исходным местоположением в эталонном геноме (обозначены синим цветом) и искать различия (такие как различия пар оснований, вставки, делеции, инверсии…).

Сопоставленные чтения

Два момента делают это трудным:

  1. У вас есть миллиарды (!) прочтений, а эталонный геном часто имеет размер в несколько гигабайт. Даже при самой быстрой из мыслимых реализаций строкового поиска это заняло бы слишком много времени.

  2. Строки не совпадают точно. Во-первых, конечно, между геномами есть различия — иначе вы бы вообще не секвенировали данные, они бы у вас уже были! Большинство этих различий представляют собой различия в одной паре оснований — SNP (= полиморфизмы одиночных нуклеотидов) — но есть и более крупные вариации, с которыми гораздо сложнее иметь дело (и они часто игнорируются на этом этапе).

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

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

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

Как следствие, вместо этого вы получаете отдельные смежные блоки («контиги») сопоставленных операций чтения. Каждый контиг представляет собой фрагмент последовательности, как и чтения, но намного большего размера (и, надеюсь, с меньшим количеством ошибок).

Сборка

Иногда вы хотите секвенировать новый организм, чтобы у вас не было эталонной последовательности для сопоставления. Вместо этого вам нужно сделать сборку de novo . Сборка также может использоваться для объединения контигов из сопоставленных чтений (но используются другие алгоритмы).

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

ACGTCGATCGCTAGCCGCATCAGCAAACAACACGCTACAGCCT
ATCCCCAAACAACACGCTACAGCCTGGCGGGGCATAGCACTGG

Вы можете быть совершенно уверены, что они перекрываются вот так в геноме:

ACGTCGATCGCTAGCCGCATCAGCAAACAACACGCTACAGCCT
                  ATCCCCATTCAACACGCTA-AGCTTGGCGGGGCATACGCACTG

(Обратите внимание еще раз, что это не идеальное совпадение.)

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

Если сравнивать сопоставление рида с поиском иголки в стоге сена (часто используемая аналогия), то сборка ридов сродни сравнению всех соломинок в стоге сена друг с другом и раскладыванию их в порядке сходства.

Подумайте об этом так. Предположим, у вас есть сто экземпляров «Властелина колец», романа из 500 000 слов. К сожалению, у вас есть эти сотни копий в виде нескольких миллионов крошечных клочков бумаги, каждый из которых содержит около десяти последовательных слов из романа. Ваша задача — взять эти несколько миллионов клочков бумаги и разложить их по порядку, чтобы вы могли прочитать роман от начала до конца. Предположим, например, что вы нашли фрагмент

stab that vile creature, when he had a chance!" "Pity? 

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

chance!" "Pity? It was Pity that stayed his hand. Pity, and Mercy: 

Очень велики шансы, что эти фрагменты соединятся в

stab that vile creature, when he had a chance!" 
"Pity? It was Pity that stayed his hand. Pity, and Mercy: 

А может и нет! Может быть, либо (1) есть другой фрагмент романа, который имеет chance!" "Pity?правильное совпадение, либо, кстати, я упоминал (2) некоторые из этих клочков бумаги содержат ошибки, и вы также должны их обнаружить и устранить .

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

Хорошая аналогия, но я бы сказал, что у ассемблеров ДНК та же проблема , а не у секвенаторов.
@DanielStandage: Спасибо. Я компьютерщик, а не биолог. :-)
@DanielStandage: Было бы правильно заменить слово «секвенирование» на «сборку» в моем вопросе и на диаграммах на странице genome.gov, на которую я ссылаюсь?
@sharptooth Я не уверен, что вы хотите заменить слово «секвенирование» словом «сборка» в вопросе. Ответ на ваш вопрос заключается в том, что секвенирование и сборка тесно связаны, а сборка — это та часть, которая требует значительной вычислительной мощности.

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

Дополнительная информация: Учебник по сборке последовательности генома ; введение в природные методы

Как вы упомянули в вопросе, современные платформы секвенирования разбивают геномную ДНК на множество мелких фрагментов, которые затем анализирует машина. Результатом эксперимента по секвенированию являются миллионы или даже миллиарды коротких «прочтений» — строк A, C, G и T, представляющих нуклеотиды одного фрагмента ДНК.

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

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