Практикум 8
- Описание сигнала Ter
- Последовательность Шайна-Дальгарно в геноме E.coli
У некоторых бактерий, в том числе у E. coli терминация происходит за счёт того, что специальный белок Tus сиквенс-специфично связывается с сайтами терминации (Ter) и блокирует прохождение репликативной вилки, но только в однну сторону. У E. coli таких сайтов 10: по 5, обращённых в каждую сторону; им дали названия TerA, ... TerJ.
Комплекс Tus/Ter очень стабильный, в статье приводится время полужизни, равное 550 минутам, хотя этот показалель зависит от ионной силы раствора. Думаю, исходя из этого можно назвать сигнал сильным.
В статье, которую я нашла, авторы описывают, как работает эта "молекулярная мышеловка". Если хеликаза, в данном случае DnaB, идёт в разрешённом направлении, она просто расплетает ДНК, "сталкивая" Tus, и комплекс Tus/Ter диссоциирует. Однако если она идёт в неразрешённом направлении, при расплетании ДНК она разделяет пару G-C, которая выделена жёлтым на рис. 2 B. Цитозин из этой пары заходит в специальный "карман" белка Tus, и комплекс как бы блокируется.
Источник:
Mark D. Mulcair, Patrick M. Schaeffer, Aaron J. Oakley, Hannah F. Cross, Cameron Neylon, Thomas M. Hill, Nicholas E. Dixon, A Molecular Mousetrap Determines Polarity of Termination of DNA Replication in E. coli, Cell, Volume 125, Issue 7, 2006, Pages 1309-1319, ISSN 0092-8674, https://doi.org/10.1016/j.cell.2006.04.040.
Последовательность находится примерно 8-10 нуклеотидов upstream от старт-кодона AUG, и консенсусом для E. coli считается AGGAGGU.
Для работы я скачала геном и таблицу (feature table) E.coli K-12 substr. MG1655 (в NCBI genome помечен как референсный).
Из таблицы я взяла записи с пометкой "start_codon", всего их 4315. Для построения PWM решила попробовать взять всего 10 последовательностей, чтобы посмотреть, достаточно ли такого небольшого количества данных, чтобы построить PWM, хорошо описывающую паттерн.
Чтобы получить последовательности, содержащие последовательность Шайна-Дальгарно, брала участок 20 нуклеотидов upstream от AUG.
Участки upstream от старт-кодона
После чего я их выравняла алгоритмом MUSCLE и посмотрела, что получилось. В итоге не то что не получилось хрестоматийного паттерна AGGAGGU, не получилось какого-то внятного паттерна вообще.
После я попыталась сделать то же, но для 100 участков. Когда я посмотрела глазами на выравнивание, стало понятно, что что-то пошло не так, потому что выравнивание точно не должно так выглядеть, но в чём именно проблема, я, к сожалению, не поняла. После я выравняла те же участки, но другим алгоритмом (CLUSTALW). Стало лучше, но опять же, такого красивого патерна я не вижу.
Чтобы в дальнейшем сделать PWM, нужно выравнивание без гэпов, поэтому я убрала последовательности, которые их имеют в интересующей меня области. После этого осталось 71 последовательности.
После при помощи Biopython я создала объект класса motif из этих последовательностей. Оказывается, есть возможность вывести матрицу с встречаемостью нуклеотидов в соответствующей позиции:
0 1 2 3 4 5 6 7 8 9 A: 35.00 22.00 13.00 32.00 26.00 14.00 32.00 34.00 28.00 32.00 C: 3.00 4.00 4.00 6.00 9.00 11.00 4.00 11.00 11.00 13.00 G: 22.00 36.00 49.00 27.00 26.00 20.00 22.00 12.00 12.00 11.00 T: 11.00 9.00 5.00 6.00 10.00 26.00 13.00 14.00 20.00 15.00
Чтобы достичь несмещённой оценки частот, нужны псевдокаунты, но существует проблема, что для них нет какой-то универсальной величины, а в функции, которая в Biopython создаёт PWM, нет умолчательного значения. Авторы этой статьи пишут, что величина подходящего псевдокаунта коррелирует с энтропией изначальной матрицы и практически не зависит от количества последовательностей, из которых она была построена. Для практического использования они предлагают величину 0.8, поэтому я выбрала именно её. В итоге получилась такая вот PWM:
0 1 2 3 4 5 6 7 8 9 A: 0.48 0.31 0.19 0.44 0.36 0.20 0.44 0.47 0.39 0.44 C: 0.05 0.06 0.06 0.09 0.13 0.16 0.06 0.16 0.16 0.19 G: 0.31 0.50 0.67 0.37 0.36 0.28 0.31 0.17 0.17 0.16 T: 0.16 0.13 0.08 0.09 0.15 0.36 0.19 0.20 0.28 0.21
В качестве положительного и отрицательного контроля я взяла 20-нуклеотидные участки upstream и downstream от старт-кодона соответственно.
По какой-то не очень понятной мне причине, Biopython умеет считать скор последовательности и PSSM, но не умеет делать то же для PWM. В целом, эти матрицы содержат одну и ту же информацию, просто немного в разном виде, поэтому думаю, что не так важно, которую из них использовать.
PSSM:
0 1 2 3 4 5 6 7 8 9 A: 0.95 0.30 -0.43 0.82 0.53 -0.33 0.82 0.91 0.63 0.82 C: -2.29 -1.95 -1.95 -1.45 -0.92 -0.65 -1.95 -0.65 -0.65 -0.43 G: 0.30 0.99 1.42 0.58 0.53 0.17 0.30 -0.54 -0.54 -0.65 T: -0.65 -0.92 -1.68 -1.45 -0.78 0.53 -0.43 -0.33 0.17 -0.23
Я посчитала наибольший скор для каждой последовательности среди тех 71, по которым строился паттерн, а также среди последовательностей для положительного и отрицательного контроля. Как можно увидеть на гистограмме, полученный паттерн не очень хорошо различает эти группы. Из-за этого не получится выбрать пороговое значение так, чтобы ошибки первого и второго рода были достаточно небольшими, так что эта часть работы довольно бессмысленна, но тем не менее.
Средний скор оказался наибольшим в группе, по которой строилась матрица, и минимальным в группе с отрицательным контролем.
В качестве порога я взяла просто среднее арифметическое средних скоров для положительного и отрицательного контролей, то есть 2.9.
Группа | Последовательности, по которым строилась матрица | Положительный контроль | Отрицательный контроль |
---|---|---|---|
Среднее значение скора | 3.7 | 3.5 | 2.3 |
"+", доля последовательностей | 0.63 | 0.71 | 0.36 |
"-", доля последовательностей | 0.37 | 0.29 | 0.64 |
Для подсчёта информационного содержания я использовала формулу Шнайдера:
где fi(b) это частота нуклеотида b в позиции i, а p(b) – его базовая частота в геноме. Эта формула предполагает независимость колонок, что на самом деле не выполняется, но приблизительное значение информационного содержания с её помощью вычислить можно.
Я посчитала нуклеотидный состав генома E. coli, и у меня получились частоты примерно 0.25 для каждого нуклеотида, поэтому при посчётах я использовала 0.25 в качестве базовой частоты нуклеотида.
В результате у меня получилось IC = 2,5 бита. Если сравнить с примерами, которые разбирали на лекции (IC(NNANN) = 2 бита), становится ясно, что информационное содержание этого сигнала получилось очень маленьким.
Часто для изображения сигнала используют LOGO, здесь по вертикали отложено информационное содержание соответствующего нуклеотида в данной позиции в битах.
Вывод:
Сигналы, в частности в виде определённой последовательности ДНК, являются важной и удобной концепцией при работе с, например, ДНК-белковыми взаимодействиями. Однако далеко не всегда можно наблюдать чёткий и сильный сигнал. В случае с последовательностью Шайна-Дальгарно, видимо, она присутствует не у всех генов либо не у всех так выражена, что должно регулировать активность синтеза соответствующего белка. Наверное, мне стоило выбрать для построения паттерна наиболее активно синтезируемые белки, а не просто удобную выборку в виде первых попавшихся 100 белков.