Жизнь VS Энтропия - страница 11
a+a=0, b+b=0, a+b=a – b=1, a2=b=a+1, b2=a=b+1, ab=1.
Несмотря на эти особенности, все основные соотношения алгебры в поле Галуа сохраняются. Можно определить код, как множество векторов x=[x1, x2, x3, x4], удовлетворяющих матричному уравнению
H· x = 0,
где H – матрица
Нетрудно найти, что все определители, составленные из пар столбцов этой матрицы не равны нулю в GF(4). Как доказано в теории алгебраического кодирования [4, с 48], это гарантирует, что для всех пар слов из {x} расстояние Хэмминга d >2. Это означает, что при любой одиночной замене букв в кодоне ошибка может быть исправлена по принципу максимального правдоподобия: «найдется только один правильный кодон, который можно получить одной обратной заменой». Более того, если произойдут две любые замены, то правильного кодона все равно не получится и ошибка будет обнаружена (H· x ≠0,). Правда, однозначно исправить ее по принципу максимального правдоподобия уже невозможно.
Полученный код имеет свойство: «в любых двух фиксированных позициях слова встречаются все возможные пары символов алфавита, которые однозначно определяют символы в другой паре». Это означает, что всего слов 16. В таблице 2 представлен гипотетический генетический код, первые две позиции букв в котором выбраны как в реальном коде таблицы 1 и сохранены те же его компоненты. Вместо третьей буквы кодонов в нем теперь стоит пара букв, обозначенная общим знаком #. Так как теперь слов только 16, а не 64, пяти аминокислотам не достается кодонов (написаны в таблице белым шрифтом).
Каков может быть механизм исправления ошибок? В принципе, он аналогичен уже существующему. В ДНК должны быть включены цепи продуцирования тРНК, антикодоны которых для каждого вида аминокислот комплементарны не только основному кодону, но и всем словам, получающимся из него однократными заменами букв. Нетрудно найти, что таких слов в данном коде 12. Они образуют алгебраический шар в поле GF(4) радиусом единица с центром в основном кодоне. Построенный код обладает свойством «все шары радиуса единица с центрами в кодовых словах не пересекаются». Именно это свойство и гарантирует исправление одиночных ошибок по принципу максимального правдоподобия. Реальный генетический код этим свойством не обладает и потому в нем невозможно исправить все такие ошибки. Если отказаться от исправления всех ошибок, то можно и в новом коде закодировать все те же аминокислоты, какие присутствуют в реальном коде и даже расширить этот список.
Описанный выше процесс синтеза белков на рибосоме «буква за буквой» в информатике называется последовательным каналом передачи информации. В таком канале, помимо замен, возможны (и реально происходят), выпадения и вставки букв. Такие ошибки более «опасны», так как они нарушают блоковый характер кода. В теории связи говорят о нарушении синхронизации, в генетике – о сбое «окна» считывания. Что происходит в результате передачи с такими ошибками? Если код не обнаруживает их, а код таблицы 1 именно так устроен, то в синтезированной последовательности наступят серьезные изменения. Весьма вероятно, что возникнет ошибочный стоп-кодон и получится «лишенный смысла» обрубок молекулы белка.
Код таблицы 2 обладает способностью не только обнаруживать, но и исправлять одиночные выпадения и вставки букв в кодонах. Покажем это на примере выпадения первой буквы в кодоне x=[x1, x2, x3, x4]. Положим, что за ним следует кодон y, первая буква которого есть y1. Кодон x превратится в z=[x2, x3, x4, y1]. В алгебре поля GF(22) матрицу H можно переписать в эквивалентной форме