0:09
Здравствуйте.
В этой неделе мы поговорим про аннотацию геномов и,
в частности, про поиск генов в собранном геноме.
Гены можно искать по гомологии, например, если у вас дан геном мыши,
и вам известны гены мыши,и вы хотите найти аналогичные гены в человеке,
то алгоритмически это похоже на задачу нахождения подстроки в строке,
потому что вам нужно взять последовательность известного гена и
найти ее в каком-то другом геноме, возможно с ошибками.
Но это достаточно вычислительно сложная задача,
поэтому мы сейчас рассмотрим другие методы нахождения генов,
в частности, статистические методы, которые не подразумевают наличие
какого-то известного похожего генома с уже размеченными генами.
В частности, это позволяет найти новые гены,
которые до этого не встречались ни в каком похожем организме.
И это особенно применимо для бактерий,
у которых есть очень большое разнообразие генов.
Что такое ген?
Однозначного определения гена нету, но мы далее будем подразумевать,
что это некоторый участок в геноме, который кодирует белок.
То есть это участок в нашем геноме, который...
из которого получается РНК и из которого получается белок.
У прокариотов это один непрерывный участок,
тогда как у эукариотов он может быть разбит на экзоны и интроны,
как вам, возможно, известно из биологических курсов.
Также до этого участка находится промоторная область, которая,
в частности, отвечает за связывание транскрипционных факторов, которые,
связываясь с этой областью, дальше позволяют этому гену экспрессироваться.
И в промоторной области иногда встречаются такие
последовательности как ТАТА-боксы и другие консервативные участки,
которые можно просто находить как подстроки в строке.
Рассмотрим для начала поиск открытых рамок считывания,
так называемых open reading frames.
Что такое open reading frame?
Это участок в геноме такой, что он начинается
со старт-кодона и заканчивается стоп-кодоном,
при этом особый интерес представляют достаточно длинные open reading фреймы.
Если бы мы брали случайный участок генома и начинали считать кодоны от старт-кодона,
то мы бы обнаружили стоп-кодон в среднем
через 21 кодон, потому что всего у нас кодонов 64,
то есть 4 в третьей степени, 4 нуклеотида, 3 буквы в кодоне.
Получается 64 варианта трехбуквенных сочетаний.
И кодонов, стоп-кодонов у нас 3 штуки, по крайней мере у млекопитающих.
У бактерий иногда бывает по-другому.
И если бы мы искали в случайной последовательности открытую рамку
считывания, то через 64 поделить на 3 стоп-кодона,
то есть примерно 21 кодон, мы бы встретили стоп-кодон.
Но если мы рассматриваем геном и находим в нем рамку считывания,
которая представляет из себя сотни кодонов, то это не случайно.
Скорее всего, это некоторый ген, который подвергался отбору,
потому что в нем в середине не может быть стоп-кодон.
И это...
Таким образом можно находить достаточно длинные гены, но короткие гены,
которые состоят из 20, например, кодонов, ну и даже 30 кодонов, сложно отличить
от статистически случайного нахождения такой открытой рамки считывания в геноме.
При этом важно понимать, что рамок считывания в геноме 6.
Начиная с первой позиции генома,
со второй и с третьей, а также в реверс-комплементарной цепочке,
тоже начиная с первой, второй и третьей позиции.
И в каждой из этих рамок считывания могут находиться достаточно
продолжительные открытые рамки считывания, которые являются кандидатами в наши гены.
То есть простой алгоритм поиска генов — это 6 раз пройти по геному и найти
все достаточно длинные, например, больше 30 кодонов, открытые рамки считывания.
Это неплохо работает для нахождения генов в прокариотах,
потому что у них нет разделения на интроны и экзоны.
И также это хорошо работает для нахождения достаточно продолжительных генов,
но это плохо работает для нахождения маленьких генов и нахождения генов в
эукариотах, которые разбиты на много небольших экзонов.
Также для нахождения генов можно находить мотивы специфичные промоторным областям,
например, ТАТА-боксы, и смотреть вперед них, что находится в их геноме.
И если там находится что-то похожее на ген, то исследовать это более подробно.
Еще важно заметить, что распределение кодонов, использование кодонов
другое обычно в генах, чем в случайных областях генома.
То есть, например, если у вас есть вероятность встретить
AAA в геноме X процентов, то в генах эта вероятность зачастую другая,
потому что гены кодируют белки, и для белков важно, какие тройки
в них встречаются, потому что эти тройки потом транслируются в аминокислоты.
И если у вас есть данные о случайном распределении кодонов по геному
и распределении кодонов внутри генов, если у вас есть некоторый участок в геноме,
вы можете подсчитать частоту нахождения в нем кодонов,
то есть всех возможных 64 трехбуквенных последовательностей и
сравнить эти значения со случайными и с белок-кодирующими распределениями.
Соответственно, к чему он ближе, то, скорее всего, либо это ген,
либо это некоторая мусорная ДНК.
Важно отметить, что такие методы не очень хорошо работают для
некодирующих участков и, в частности, для нахождения некодирующих РНК.
Также открытые рамки считывания не помогают
находить некодирующие РНК и гены маленького размера.
Также отличительной особенностью этих методов является то,
что, если у вас есть некоторое окно, то есть подстрока в геноме, то вы можете
определить вероятность того, является ли это окно геном или не является оно.
Но если у вас есть просто геном, не разделенный на какие-то кусочки,
то найти в нем гены с помощью определения сравнения вероятностей
с распределения кодонов, это получается не так удобно,
потому что вы не знаете, где ген начинается, где ген заканчивается.
Вам нужно сравнить, определить такое для всех окон, и это не очень хорошо работает.
Сейчас мы рассмотрим алгоритмы, основанные на марковских цепях,
которые на практике применяются чаще в биоинформатике для определения генов и
для нахождения генов de novo.