О гриппе А (H1N1) с точки зрения программирования
Открываем новый блог интереснейшей заметкой о гриппе А (H1N1) с точки зрения программирования.
Учёные уже полностью дизассемблировали H1N1 и занесли его в вирусную базу NCBI Influenza Virus Resource.
Там всё задокументировано в подробностях. Например, образец
A/Italy/49/2009(H1N1) был обнаружен в носу 26-летней женщины,
вернувшейся из Италии в США. Вот первые 120 бит его генетического кода.
atgaaggcaa tactagtagt tctgctatat acatttgcaa ccgcaaatgc agacacatta
Сколько бит убьёт человека?
По приблизительным подсчётам, общий размер исходников H1N1 составляет
26 022 бит, а если исключить служебные стоп-сигналы (указывают на
окончание каждой белковой последовательности), то исполняемый код
состоит примерно из 25 054 бит. Это число является приблизительным ещё
и потому, что в вирусе присутствует механизм генерации избыточного
мусора для маскировки от антивирусов.
Итак, получается около 25 килобит или 3,2 килобайта. Таков объём кода
для программы, имеющей ненулевые шансы убить человека. H1N1 написан
гораздо эффективнее, чем компьютерный вирус MyDoom размером около 22 КБ.
Очень унизительно, что меня могут убить всего 3,2 КБ генетических
данных. Впрочем, в 850 МБ человеческого генома по любому должны быть
дыры для парочки эксплойтов.
Для не знакомых с молекулярной биологией короткий ликбез. Символы из
вышеприведённого кода называются нуклеотидами. Они бывают четырёх типов
(A [T/U] G C), то есть каждый символ содержит два бита.
Исходный код живого организма (последовательность нуклеотидов ДНК)
загружается в оперативную память (транслируется последовательность
нуклеотидов РНК один к одному, разве что T заменяется на U),
компилируется в виде кодирующих тринуклеотидов (кодонов) и запускается
на исполнение (по кодонам происходит синтез аминокислот конкретного
организма).
Когда программу РНК запускают на исполнение, начинается синтез
аминокислот. Они создаются по одной аминокислоте на каждые три
нуклеотида. Вышеприведённый генетический код можно представить в виде
такой последовательности базовых аминокислот.
MKAILVVLLYTFATANADTL
Каждый символ в этой записи (кодон) эквивалентен шести битам информации
(три двухбитных нуклеотида). M — это метионин, K — лизин, A — аланин и
т.д. (см. таблицу аминокислот).
Интересно, что генетический код любого живого организма начинается со
стартового кодона М. В природе это обязательный маркер валидного кода.
Поскольку ДНК и РНК — это практически одно и тоже, то в биологии
принято любой генетический код записывать в виде последовательности
нуклеотидов ДНК, даже если в природе этот код распространяется
непосредственно готовый к запуску, то есть в виде РНК, как вирус
гриппа. Это очень важная деталь, о которой мы поговорим ниже.
Однако, вернёмся к основной теме топика. Приведённый код — это начало гена HA, который программирует производство белка гемагглютинина. В нашем образце присутствует гемагглютинин подтипа H1, что и отражено в названии вируса H1N1.
Гемагглютинин — это интерфейс для присоединения к клетке-хозяину. Если
представить живые существа в виде компьютеров, то каждая функциональная
группа клеток в организме выходит на связь с внешним миров через
определённый порт. Например, порт 21 предназначен конкретно для
протокола FTP. В вирусе гриппа порт H1 указывает на конкретную область
человеческого тела (горло), к которой можно присоединиться. Любопытно,
что тот же самый H1 подходит для присоединения к кишечному тракту птиц.
Поэтому один и тот же вирус H1N1 способен атаковать и респираторную
систему людей, и пищеварительную систему птиц.
Для сравнения, другой порт H5 (часть вируса H5N1, известного как
«птичий грипп»), нацелен на атаку лёгочной ткани, что приводит к
пневмонии, поэтому H5N1 намного опаснее и вызывает гораздо больше
смертей. Поражение через порт H1 совсем не так страшно: человек просто
начинает много сморкаться, но лёгкие не страдают.
Учёные до сих пор продолжают изучать порт H5. Уже известно, что у
некоторых людей-мутантов лёгкие не способны соединяться с вирусом по
этому порту. У кого есть такая мутация в генах, имеют большие шансы
безболезненно пережить эпидемию H5N1, если она вдруг начнётся.
Взлом свиного гриппа
В журнале Nature опубликована фантастическая статья,
где собрана вся информация о текущей структуре вируса H1N1, его
сравнение с другими штаммами гриппа. Автор подробно рассказывает, чем у
них отличается патогенная компонента, то есть именно та часть, которая
убивает человека.
Обладая этой информацией, я теперь точно знаю, как нужно модифицировать исходники H1N1, чтобы сделать его более смертоносным.
В статье написано, что ген PB2 с глутаминовой кислотой в 627-ой позиции
обладает слабой патогенностью (не очень смертелен). Однако, вариант с
лизином на той же позиции более смертелен. Хорошо, найдём это место в
исходниках H1N1. Информация из базы данных:
601 QQMRDVLGTFDTVQIIKLLP
621 FAAAPPEQSRMQFSSLTVNV
641 RGSGLRILVRGNSPVFNYNK
Как видим, на 627-й позиции кода вируса стоит символ “E”, это и есть
кодон для глутаминовой кислоты. Слава богу, что здесь именно он,
поэтому от H1N1 умирает не так много народу, как могло бы.
Если раскодировать кодоны в исходный код ДНК, то мы получим:
621 F A A A P P E Q S R
1861 tttgctgctg ctccaccaga acagagtagg
Как видно, глутаминовой кислоте соответствует последовательность
нуклеатидов “GAA”. Чтобы модифицировать геном и сделать вирус более
смертельным, нам нужно всего лишь заменить “GAA” одним из двух
вариантов лизина (”K”), то есть “AAA” или “AAG”. Таким образом, более
смертоносный вариант H1N1 будет иметь такой вид:
621 F A A A P P K Q S R
1861 tttgctgctg ctccaccaaa acagagtagg
Вот так. Поменять всего два бита — и практически безвредный H1N1 превращается в более смертоносный вариант.
Теоретически, я могу использовать вполне доступные технологии для
синтеза нового вируса. Для начала я могу обратиться в одну из
коммерческих компаний, которая занимается синтезом ДНК (например, Mr. Gene)
и заказать конкретную последовательность ДНК дешевле чем за $1000.
Правда, нужно учесть, что фирма Mr. Gene применяет процедуру скрининга
для выявления потенциально опасного биологического кода. Сложно
сказать, среагируют ли их фильтры на этот модифицированный вариант
гена. Если так, то можно заняться производством нового вируса и без их
помощи. Для этого нам нужно достать образцы обычного H1N1 и применить
опять же хорошо известные и стандартные техники для контролируемой
мутации генома, чтобы заменить нужный нуклеотид.
Кстати, в журнале Nature есть даже ссылка на научную статью,
в которой подробно рассказывается, как самостоятельно сделать вирус
гриппа А [Neumann, G. et al Generation of influenza A viruses entirely
from cloned cDNA. Proc. Natl Acad. Sci. USA 96, 9345-9350 (1999)]. Тоже
интересное чтиво.
Находчивый грипп
Перед тем как модифицировать вирус H1N1, давайте подумаем.
Матушка-природа сделала гениальную работу, упаковав смертельный код
всего в 3,2 КБ, да так, что мы не можем с ним справиться. Видимо, она
не так глупа. Наш маленький хак не станет для неё откровением. Может
быть, грипп способен поменять пару бит в своём коде самостоятельно?
Краткий ответ — да.
Вирус гриппа действительно способен на такие мутации. Дело в том, что
после копирования молекулы ДНК запускается белок для проверки
«контрольной суммы». Он проверяет, что копия идентична оригиналу. Но
проблема в том, что вирус гриппа основан на РНК с проприетарным
механизмом копирования. Он вообще не запускает проверку «контрольной
суммы». В результате уровень ошибок копирования чрезвычайно высок:
примерно одна на 10 000 базовых пар. И это при том, что весь геном
гриппа состоит из 13 000 базовых пар. То есть, грубо округляя, в каждой
новой копии гриппа присутствует одна случайная мутация.
Некоторые из этих мутаций не имеют никакого значения, другие делают
вирус безвредным, но некоторые очень редкие мутации могут сделать вирус
более опасным. Поскольку вирусы размножаются и распространяются с
астрономической скоростью, очень высоки шансы на то, что наш маленький
хак произойдёт естественным образом.
Это одна из причин, я думаю, почему медицинские организации настолько
озабочены распространением H1N1: у нас нет защиты от него, и хотя он
пока не очень опасен, но через пару мутаций могут начаться
действительно серьёзные проблемы.
В настоящее время патогенность H1N1 примерно такая же, как у обычного
гриппа. В июне на 21 449 подтверждённых случаев заболевания было всего
87 смертей, то есть смертность составляет 0,4%. Для сравнения, у
«нормального» гриппа смертность <0,1%, у испанской разновидности в
1918 году смертность была 2,5%, а у разновидности H5N1 («птичий» грипп)
смертность превышает 50% (!), но он, к счастью, практически не
передаётся от человека к человеку.
Заразившись H1N1 сегодня, вы можете получите ценный бонус практически
безопасной выработки иммунитета, так что когда вирус мутирует и
вернётся снова, вы уже будете под защитой.
Ещё одна проблема с системой копирования вируса гриппа заключается в
том, что он хранит свой генетический код в восьми участках РНК, а не в
одной неделимой цепочке. Из-за этого механизм репликации становится ещё
более непредсказуемым. Если вам «повезло» заразиться двумя разными
вирусами гриппа, то в вашем организме может появиться принципиально
новый штамм гриппа, потому что в поражённых клетках вирусы гриппа
обмениваются кодом в хаотическом порядке.
Вот почему дополнительная опасность H1N1 заключается в его уникальном
свойстве, которое называют «тройной реассортацией». Он содержит
фрагменты и человеческого, и свиного, и птичьего гриппа, и может
свободно обмениваться кодом со своими «родственниками» из любого вида
животных.