[Перевод] Реверс-инжиниринг исходного кода коронавирусной вакцины от компаний BioNTech/Pfizer

Добро пожаловать. В данном посте мы посимвольно разберём исходный код вакцины BioNTech/Pfizer SARS-CoV-2 мРНК.

Да, такое заявление может вас удивить. Вакцина — это ведь жидкость, которую вводят человеку в руку. При чём тут какой-то исходный код?

Хороший вопрос. Начнём мы с небольшой части того самого исходного кода вакцины BioNTech/Pfizer, также известной, как BNT162b2, также известной, как Tozinameran, также известной, как Comirnaty.

8c2049ec740f1e3aa835a00c309fade8.png
Первые 500 символов мРНК BNT162b2.

В сердце вакцины находится вот такой цифровой код. Его длина составляет 4284 символа, так что его вполне можно уместить в несколько твитов. В самом начале процесса производства вакцины кто-то закачал этот код в ДНК-принтер (ага), который, в свою очередь, превратил байты с накопителя в реальные молекулы ДНК.
65962fe92361199a1cf2350db38f32fb.jpg
ДНК принтер Codex DNA BioXp 3200

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

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

У компьютеров это ОЗУ, а в биологии это РНК. Сходство их потрясает. В отличие от флэш-памяти, ОЗУ быстро деградирует, если за ним тщательно не ухаживать. Причина, по которой РНК-вакцину от Pfizer/BioNTech нужно хранить при очень низкой температуре, та же: РНК — это нежный цветочек.

Каждый символ РНК весит порядка 0,53×10–21 грамм, то есть, в одной дозе вакцины весом 30 мкг содержится 6×1016 символов. В байтах это получится порядка 25 Пбайт, хотя на самом деле вакцина состоит из 2000 миллиардов повторов одних и тех же 4284 символов. Объём реального информационного наполнения вакцины составляет чуть более килобайта. Сам SARS-CoV-2 имеет объём порядка 7,5 Кбайт.

Краткая справка


ДНК — это цифровой код. Но в отличие от компьютеров, использующих 0 и 1, в ней используются символы A, C, G и U/T («нуклеотиды», «нуклеозиды» или «основания»).

В компьютерах 0 и 1 хранятся в виде наличия/отсутствия заряда, или тока, или магнитного перехода, или напряжения, или модуляции сигнала, или изменения рефлексивности. Короче говоря, 0 и 1 — это не какие-то абстракции, они живут в виде электронов и многих других физических воплощениях.

В природе A, C, G и U/T — это молекулы, хранящиеся в ДНК (или РНК) в виде цепочек.

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

Природа группирует по три нуклеотида в кодоны, которые и являются типичными единицами для обработки генетической информации. В кодоне содержится 6 бит информации (по 2 бита на символ ДНК, 3 символа = 6 бит). Значит, кодон может принимать 26 = 64 разных значения.

Пока всё довольно-таки цифровое. Сомневающиеся могут заглянуть в документ от ВОЗ, содержащий цифровой код.

Так что же этот код делает?


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

мРНК достигает того же результата (обучения иммунной системы), но гораздо умнее, будто бы пользуясь лазерным прицелом. Во всех смыслах — узконаправленное, но мощное воздействие.

Вот, как это работает. В препарате содержится нестабильный генетический материал, описывающий знаменитый белок-«шип» SARS-CoV-2. Путём хитроумных химических реакций вакцина доставляет этот генетический материал в некоторые наши клетки.

Те после этого послушно начинают производить белки SARS-CoV-2, количество которых оказывается достаточно крупным для того, чтобы запустилась наша иммунная система. Столкнувшись с белками-«шипами» и характерными признаками заражения клеток, она вырабатывает мощный ответ на различные свойства белка-шипа и процесс его воспроизводства.

Вот так работает вакцина с эффективностью в 95%.

Исходный код!


Начнём с лучшего места — с самого начала. В документе ВОЗ есть следующая полезная картинка:

f77e941b9b7d19c8cd108b18bad41cb1.png

Это что-то вроде содержания. Начнём с пункта «cap», который выполнен в виде шапочки [англ. cap — кепка, фуражка, шапка].

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

Код вакцины начинается с двух следующих нуклеотидов:

GA

Сравнимо с любым исполняемым файлом для DOS и Windows, начинающимся с символов «MZ», или с UNIX-скриптами, начинающимися с »#!». Как в жизни, так и в операционных системах, эти два символа не выполняются. Но они должны там присутствовать, иначе ничего не получится.

У «шапки» мРНК есть несколько функций. Она, к примеру, отмечает, что код происходит из ядра. В нашем случае это не так — код, естественно, происходит от вакцины. Но клетке этого знать не надо. Шапка придаёт коду правдоподобность, защищая его от уничтожения.

Также два первоначальных нуклеотида GA химически немного отличаются от остальной РНК. В этом смысле в GA встроена своего рода внеполосная сигнализация.

Пять-штрих-нетранслируемая область


Немного жаргона. Молекулы РНК читаются только в одном направлении. Немного запутывает то, что чтение начинается с части, которая называется 5'. А заканчивается на части 3'.

Жизнь состоит из белков (и всего, что из них сделано). Эти белки описаны в РНК. Когда Превращение РНК в белок называется трансляцией.

Далее приведу нетранслируемую область (НТО; untranslated region, UTR) 5' — то есть, эта часть в белок не переходит:

GAAΨAAACΨAGΨAΨΨCΨΨCΨGGΨCCCCACAGACΨCAGAGAGAACCCGCCACC

Тут нас ждёт первый сюрприз. Обычные символы РНК — это A, C, G и U. В ДНК U также известен, как T. Но тут появляется какая-то Ψ — что происходит?

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

Для вакцины это проблема — ей нужно проскочить мимо нашей иммунной системы. За много лет экспериментов было обнаружено, что если в РНК U заменить на немного изменённую молекулу, наша иммунная система теряет к ней интерес. Вообще.

Поэтому в вакцине BioNTech/Pfizer каждый U заменяется на 1-метил-3'-псевдоуридин, который и обозначается Ψ. Хитрость тут в том, что хотя такая замена и умиротворяет нашу иммунную систему, нужные части клеток воспринимают его, как обычный U.

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

Сегодня мы пожинаем плоды фундаментальных научных исследований прошлого. Людям, открывшим эту Ψ-технологию, приходилось с боем изыскивать себе финансирование и получать признание. Мы должны быть благодарны им за это, и я уверен, что их в итоге найдёт нобелевка.

Многие люди спрашивают, не сможет ли вирус тоже воспользоваться Ψ-технологией, чтобы обойти нашу иммунную систему? Если кратко, это очень маловероятно. У жизни нет технологий для производства таких нуклеотидов, как 1-метил-3'-псевдоуридин. В вопросах воспроизводства вирусы полагаются на технологии, имеющиеся у жизни, а таких технологий у неё нет. Вакцины мРНК в теле человека быстро деградируют, и возможность воспроизводства РНК со встроенным в неё Ψ отсутствует.


Вернёмся к нашей 5» НТО. Чем занимаются эти символы в количестве 51 штуки? Как и у почти всего в природе, единой чёткой функции у них нет.

Когда клеткам нужно транслировать РНК в белки, включается машина под названием рибосома. Рибосома — это что-то вроде 3D-принтера для белков. Она поглощает отрезок РНК и на его основе выдаёт цепочку аминокислот, которая затем сворачивается в белок.

Именно этот процесс показан на видео. Тёмная полоска снизу — это РНК. Полоска на зелёном фоне — это формирующийся белок. Влетающие и улетающие штуковины — это аминокислоты и адаптеры, позволяющие им размещаться на РНК.

Чтобы рибосома заработала, её нужно физически усесться на отрезок РНК. После этого она может начать формирование белков на основе информации, поступающей с дальнейших отрезков РНК. То есть, она не может считывать те части, на которые ей сначала нужно приземлиться. «Наведение» обеспечивает НТО.

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

Сигнальная последовательность S-гликопротеина


Как уже было отмечено, цель вакцины — заставить клетку производить белок-шип SARS-CoV-2 в промышленных масштабах. Пока что мы в основном разбирались с метаданными и договорённостями о наименовании в исходном коде. И вот теперь мы входим на территорию вирусного белка.

Однако прежде нам нужно пройти ещё один слой метаданных. После того, как рибосома (из замечательной анимации, приведённой ранее), изготавливает белок, ему ещё нужно куда-то попасть. Это кодируется в сигнальной последовательности (пептиде) S-гликопротеина (в расширенной лидерной последовательности).

В начале белка находится что-то вроде метки адреса, закодированной в том же виде, что и весь белок. В данном случае сигнальная последовательность говорит, что белок должен выйти из клетки эндоплазматический ретикулум. Даже в «Звёздном пути» такого клёвого жаргона не было!

Сигнальная последовательность не очень длинная, однако на примере кода видно разницу между РНК вируса и вакцины. Для удобства сравнения я заменил Ψ на обычную U от РНК:

           3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3
Вирус:   AUG UUU GUU UUU CUU GUU UUA UUG CCA CUA GUC UCU AGU CAG UGU GUU
Вакцина: AUG UUC GUG UUC CUG GUG CUG CUG CCU CUG GUG UCC AGC CAG UGU GUU
               !   !   !   !   ! ! ! !     !   !   !   !   !            

Я не случайно группирую РНК по три символа. Эти символы формируют кодоны. А в каждом кодоне закодирована конкретная аминокислота. Сигнальная последовательность вакцины состоит точно из тех же аминокислот, что и сам вирус.

Почему же РНК отличается?

Кодонов может быть 43=64, поскольку у РНК 4 символа, три из которых составляют кодон. При этом разных аминокислот всего 20. Получается, что несколько кодонов кодируют одну и ту же аминокислоту.

Жизнь использует следующую, практически универсальную таблицу сопоставления РНК-кодонов аминокислотам:

dc5f3e28dfca954c1423c7a7ca881298.png

Из таблички видно, что модификации вакцины (UUU → UUC) синонимичны. РНК-код вакцины отличается, однако на выходе получаются те же самые аминокислоты и белки.

При тщательном изучении видно, что большая часть изменений содержится в третьем кодоне, отмеченном цифрой 3. Проверив универсальную таблицу кодонов, мы увидим, что эта третья позиция часто не влияет на то, какая аминокислота получается в итоге.

Но если изменения синонимичны, зачем они нужны? Если посмотреть внимательно, что все изменения, кроме одного, увеличивают количество C и G.

Зачем это нужно? Как уже отмечалось, наша иммунная система с большим скептицизмом относится к «внешним» РНК — то есть, к коду, пришедшему снаружи клетки. Чтобы избежать обнаружения, мы уже заменили U на Ψ.

Оказывается, однако, что РНК с большим количеством G и C чаще и эффективнее превращается в белки. Для этого в РНК вакцины многие символы и были заменены на G и C там, где это было возможно.

Реальный белок-шип


Следующие 3777 символов РНК вакцины точно так же «оптимизированы по кодонам», с целью добавить побольше C и G. Я не буду приводить тут весь код, однако мы изучим один особенный его фрагмент. Именно благодаря ему вакцина работает — именно эта часть помогает нам вернуться к нормальной жизни:

                  *   *
          L   D   K   V   E   A   E   V   Q   I   D   R   L   I   T   G
Вирус:   CUU GAC AAA GUU GAG GCU GAA GUG CAA AUU GAU AGG UUG AUC ACA GGC
Вакцина: CUG GAC CCU CCU GAG GCC GAG GUG CAG AUC GAC AGA CUG AUC ACA GGC
          L   D   P   P   E   A   E   V   Q   I   D   R   L   I   T   G
           !     !!! !!        !   !       !   !   !   ! !              

Здесь вновь видны обычные синонимичные изменения РНК. К примеру, в первом кодоне CUU заменили на CUG. Это добавляет ещё один G к вакцине, что помогает усилить выработку белков. CUU и CUG кодируют аминокислоту L, или лейцин, поэтому в белке ничего не меняется.

Сравнив белок-шип с вакциной, мы увидим, что все изменения сходным образом синонимичны — кроме двух. Оба они видны в данном фрагменте.

Третий и четвёртый кодон содержат реальные изменения. Аминокислоты K и V заменены на P, или пролин. В случае с K потребовалось провести три изменения (»!!!»), а в случае с V — два (»!»). Оказывается, что два этих изменения невероятно усиливают вакцину.

Так что тут происходит? Если посмотреть на реальную частицу вируса, будет видно, что белок-шип представляет собой кучку шипов:

3f0e67b3217781ab985ad0408a663cd4.jpg

Шипы крепятся на теле вируса («нуклеокапсидном белке»). Но наша вакцина генерирует только сами эти шипы, и мы не крепим их ни на каких вирусных телах.

Оказывается, что неизменённые отдельно существующие белки-шипы коллапсируют совершенно в другую структуру. Если их ввести в составе вакцины, наши тела бы выработали к ним иммунитет –, но только к такому коллапсированному их виду. Реальный же коронавирус щеголяет прямыми шипами. В таком виде вакцина бы практически не работала.

И что же мы делаем? В 2017 году было описано, как двойная замена пролина в нужном месте заставляет белки SARS-CoV-1 и MERS S принимать свою «изначальную» форму, даже без присоединения к вирусу. Всё благодаря прочности пролина. Эта аминокислота работает как шина, стабилизирующая белок в том состоянии, в котором нам нужно представить его иммунной системе.

Обнаружившим это людям теперь нужно беспрерывно хлопать себя по плечам, и постоянно ухмыляться. И всё это будет вполне заслуженно.

После публикации первого варианта статьи я побеседовал с людьми из лаборатории Маклилана, и они сказали, что пока хлопание по плечам приостановлено из-за пандемии, но они гордятся своим вкладом в вакцину. И подчёркивают важность работы над ней других групп и добровольцев.

Конец белка и следующие шаги


Если пролистать исходный код до конца, мы встретим небольшие изменения и в конце белка-шипа:

          V   L   K   G   V   K   L   H   Y   T   s             
Вирус:   GUG CUC AAA GGA GUC AAA UUA CAU UAC ACA UAA
Вакцина: GUG CUG AAG GGC GUG AAA CUG CAC UAC ACA UGA UGA 
          V   L   K   G   V   K   L   H   Y   T   s   s          
               !   !   !   !     ! !   !          ! 

В конце белка находится «останавливающий» кодон, помеченный буквой s. Это вежливый способ указать на окончание белка. Сам вирус использует в качестве останова кодон UAA, а вакцина — два кодона UGA. Возможно, просто на всякий случай.

Нетранслируемая область 3'


Точно так же, как в конце 5' мы обнаружили 5'-НТО, необходимое для наведения рибосомы, в конце белка мы находим похожую конструкцию, 3'-НТО.

О ней можно написать много слов, однако я лучше процитирую википедию.»3'-НТО играет критическую роль в экспресии генов, влияя на локализацию, стабильность, экспорт и эффективность транслирования мРНК. Несмотря на все наши сегодняшние знания о 3'-НТО, их работа ещё остаётся по большей части загадочной».

Мы, однако, знаем, что определённые 3'-НТО очень успешно обеспечивают экспрессию белков. Согласно документу от ВОЗ, 3'-НТО, содержащаяся в вакцине BioNTech/Pfizer, взята из «аминоконцевого энхансера расщепленной (AES) мРНК и митохондриальной кодируемой рибосомной РНК 12S для обеспечения стабильности РНК и высокой экспрессии общего белка». Что я могу сказать — молодцом.

f258c35c6ee27fb8582a09fc88f818cb.jpg

И конец всего, AAAAAAAAAAAAAAAAAAAAAA


Самый конец мРНК полиаденилирован. Это витиеватый способ сказать, что оканчивается она кучей последовательностей AAAAAAAAAAAAAAAAAAA. Судя по всему, 2020-й достал даже мРНК.

мРНК можно многократно повторно использовать, однако она теряет несколько «А» со своего конца. Как только «А» закончатся, мРНК перестанет работать и будет отброшена. В этом смысле, хвост из «поли-А» защищает её от деградации. Проводились специальные исследования на предмет оптимального количества «А» в конце мРНК-вакцин. В открытых источниках я прочёл, что добирались до их количества в 120 штук или около того.

Вакцина BNT162b2 заканчивается на

                                     ****** ****
UAGCAAAAAA AAAAAAAAAA AAAAAAAAAA AAAAGCAUAU GACUAAAAAA AAAAAAAAAA 
AAAAAAAAAA AAAAAAAAAA AAAAAAAAAA AAAAAAAAAA AAAAAAAAAA AAAA

30 «А», затем идёт «нуклеотидный линковщик-10» (GCAUAUGACU), за которым идёт ещё 70 «А».

Подозреваю, что тут вновь применяется проприетарная оптимизация, улучшающая экспрессию белков.

Итоги


Теперь мы точно знаем содержимое вакцины BNT162b2, и по большей части понимаем, почему она так устроена:

  • Шапка CAP, благодаря которой РНК похожа на обычную мРНК.
  • Известная, успешно опробованная и оптимизированная 5'-НТО.
  • Сигнальная последовательность с оптимизированными кодонами, отправляющая белок-шип в нужное место (скопирована с самого вируса).
  • Вариант оригинального белка-шипа с оптимизированными кодонами, с двумя заменами пролина, обеспечивающими правильную форму шипа.
  • Известная, успешно опробованная и оптимизированная 3'-НТО.
  • Немного загадочный хвост поли-А с каким-то там «линковщиком».

Оптимизация кодонов добавляет в мРНК множество G и C. Использование же Ψ (1-метил-3'-псевдоуридина) вместо U помогает обмануть иммунную систему. Благодаря ему мРНК существует достаточно долго для того, чтобы успеть натренировать нашу иммунную систему.

© Habrahabr.ru