[ЗАСТАВКА] А теперь
давайте познакомимся с инструментами для проверки качества данных.
Этих инструментов существует довольно много.
Но мы разберём один из них, наиболее распространённый, — это программа FastQC.
Она берёт на вход исходные данные,
создаёт отчёт в формате html, у неё есть версия...
графический интерфейс и версия для работы из командной строки.
По этой ссылке вы можете скачать себе эту программу
для вашей операционной системы и установить на свой компьютер.
Сейчас я попробую её запустить.
Пока что я запускаю графическую версию.
Нажимаю «открыть», и вот мы видим главное окно этой программы.
Выбираю «Файл», «Открыть» и выбираю файл с нашими данными.
Вот как я и обещал формат fastq.
Мы нажимаем отрыть, и у нас начинается анализ.
Программа открывает файл с нашими ридами, мы видим, что их довольно много,
счёт уже идет на сотни тысяч: 200, 300, 400 тысяч последовательностей.
Подождём ещё несколько секунд, анализ будет закончен, и мы посмотрим на отчёт.
Вот это — отчёт этой программы,
тут довольно много различных графиков, каждый из которых несёт свою информацию.
Сейчас мы разберем некоторые из них, наиболее важные,
на примере очень плохого и очень хорошего набора данных.
Прежде всего программа выдаёт нам общую информацию о наших данных:
это название файла, это формат,
запись и качество, количество последовательностей и их длина.
Они могут быть одинаковой длины, или у нас может быть некоторый разброс по длине.
А также GC состав.
GC состав — это довольно важная характеристика,
потому что он индивидуален для каждого генома,
и поэтому мы можем сразу понять, если нам секвенировали кого-нибудь совсем не того.
Здесь мы видим график распределения качества в доле ридов.
Это, пожалуй, один из самых полезных графиков,
который нам пригодится в дальнейшем.
По оси x у нас положение нуклеотида в риде, а по оси Y у нас,
собственно, качество.
Мы берём, собственно, каждый, там, первый, второй, третий, четвёртый,
пятый нуклеотид и по всем ридам строим их распределение.
И мы видим, что в самом начале у нас у всех ридов качество довольно высокое,
то есть вот, скажем, в пределах первых десяти букв у нас во
всех ридах качество вот в районе 32.
И постепенно ближе к 3' концу качество начинает падать.
И у нас встречается довольно много ридов, у которых в самом конце попадается буква,
определённая очень, очень неточно.
Вот. Поэтому нам необходимо будет почистить эти
данные, возможно, некоторые риды обрезав,
оставив только качественную часть, или просто удалив их так,
чтобы в конечном итоге мы получили то, что показано на картинке справа,
когда все нуклеотиды в каждом положении,
во всех ридах имеют качество не меньше тридцати.
На этом графике показано распределение качества по ридам.
То есть мы берём каждый рид, считаем для него среднее значение качества, и смотрим,
сколько у нас таких ридов.
Мы видим, что у нас довольно много ридов высокого качества,
и есть ещё целая группа ридов, с которыми
все не так хорошо и с вероятностью нам придётся их удалить так,
чтобы в конце получить то, что у нас показано на правой картинке.
Чтобы среднее качество в каждом риде
было не ниже 30.
На этом графике показано распределение различных оснований в наших ридах.
Если бы у нас риды располагались случайно,
то это распределение было бы равномерным, как мы видим на правом участке.
Но если у нас встречается довольно часто один и тот же фрагмент,
гораздо чаще, чем мы могли бы ожидать в случае равномерного покрытия,
то он будет вносить искажения, примерно такие, какие мы видим на левом рисунке,
так что мы можем даже прочитать последовательность.
Вот мы видим тут...
Скажем, глядя на этот рисунок, мы можем установить, скажем, GG,
дальше две зелёненьких, это у нас AA,
GAG.
Вот мы видим, что такая последовательность у нас встречается довольно часто, и,
скорее всего, это какая-то примесь.
Это может быть неубранный адаптер, индекс или что-то подобное.
Следующий рисунок — это распределение ридов по их GC составу.
Для каждого из ридов мы считаем...
ну не мы, конечно, программа считает средний GC состав,
и строит их распределение.
Фрагменты, взятые из одного генома, должны иметь примерно одинаковый GC состав.
Конечно, в геноме встречаются более GC богатые районы и менее,
поэтому мы имеем не узкий пик, а некоторое распределение.
Но, тем не менее, в рамках одного генома это распределение должно быть гладким,
иметь один максимум.
Поэтому, если мы видим на этом графике дополнительные пики, вот как здесь, слева,
это с довольно большой вероятностью может указывать на примесь другого организма.
Это может быть контаминация бактериями или попадание в наш образец там
фрагмента ткани какого-нибудь другого организма, всё что угодно.
В любом случае такой рисунок заставляет насторожиться.
На этом графике представлен уровень дупликации наших ридов.
То есть глядя на него мы можем увидеть,
сколько раз встречается тот или иной фрагмент.
Если у нас библиотека была нарезана и секвенирована равномерно,
то каждый рид будет встречаться некое довольно небольшое число раз.
Скажем, если мы там секвенировали геном с десятикратным покрытием,
то каждый фрагмент будет встречаться с частотой порядка десяти.
Но здесь на рисунке слева мы видим,
что у нас есть порядка 10% наших фрагментов,
которые встречаются больше 1000 раз.
Явно это следствие овер-амплификации во время подготовки нашего...
нашей библиотеки, и от этих данных тоже хорошо бы
избавиться прежде, чем приступать к дальнейшему анализу.
А в этой части отчета представлены, собственно,
те самые последовательности, которые встречаются чаще, чем ожидается,
и наличие которых мы уже заподозрили по предыдущим результатам.
FastQC приводит здесь список самих этих последовательностей,
процент их встречаемости и, если они
совпадают с теми последовательностями, которые есть у них в базе, то их названия.
Таким образом мы можем определить наличие адаптеров, праймеров и прочих
служебных последовательностей, которые используются для создания библиотек.
Если источник контаминации не указан, вот как здесь, скажем, написано no hit,
то может быть довольно интересно взять эту последовательность и посмотреть
в базе данных ВАСТ, возможно, у нас есть контаминация каким-нибудь организмом.
Это может быть последовательность, соответствующая какой-нибудь бактерии,
речь о чём-нибудь интересном.
Следующий график относится только к данным, полученным на платформе Ilumina.
В наших данных в первой строчке каждого рида,
помимо его уникального идентификатора, содержится информация о координатах,
о том, в каком именно месте проточной ячейки находилась эта молекула,
когда она секвенировалась.
Вот.
И здесь показан график распределения качества для всех этих самых координат.
И мы видим, что если у нас есть проблема с самой ячейкой, там, скажем,
возник где-то пузырёк, вот и детектор просто не смог увидеть там молекулы,
которые секвенировались в этой части ячейки.
Значит у нас будет плохое качество на протяжении всего рида.
Вот так, как показано на рисунке слева.
Поэтому мы можем просто убрать те риды, в названиях которых содержатся
данные координаты, вот и дальше уже работать с чистыми данными.
Собственно, так мы выяснили, в чём у нас могут быть проблемы.
Теперь от этих проблем нужно как-то избавиться.
Обычно у нас есть два этапа: во-первых, это фильтрация ридов по качеству,
то есть либо выбрасывание ридов, у которых среднее качество ниже какого-то порога,
либо их обрезание, как только качество начинает падать.
И, во-вторых, это удаление контаминации.
Если это биологическая контаминация, то можно поступить следующим образом: если у
нас наша примесь — это какой-то известный геном,
мы можем скачать его из базы данных и дальше приложить к нему все наши риды,
и те риды, которые приложатся точно, просто отложить в сторону.
Если у нас контаминация адаптерами, то для этого существует
несколько специальных тулов, у которых есть база данных адаптеров,
которые умеют их определять и отрезать.
[ЗАСТАВКА]