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

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

И первый такой набор алгоритмов кодирования и декодирования данных ДНК разработала команда Уильяма Пресса из Техасского университета в Остине. Он может дать толчок к развитию новой области долговременного хранения данных с высокой плотностью. Их работа по своей значимости равносильна разработке протокола BB84 в 1984 году, который положил начало развитию квантовой криптографии, и однажды она может стать основой для целой отрасли хранения геномных данных, в которой мы скорее всего будем оперировать объемами в петабайты на грамм вещества.

Стивен Джонс, постдок в группе Пресса и соавтор статьи в журнале Proceedings of the National Academy of Sciences, в которой описывается их исследование, говорит, что лучше всего начать с понимания того, где обычно возникают ошибки хранения данных. В традиционных устройствах с жесткими дисками и флэш-памятью переворот битов и их стирание являются злейшими врагами нулей и единиц.

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

Чтобы сделать работоспособный стандарт хранения данных ДНК, вам нужно вместо этого беспокоиться о замещениях, вставках и удалениях. Первый тип ошибок подобен перевороту битов — в них это равносильно тому, что 0 становится 1, или 1 становится 0, и это легко обнаруживается и исправляется с помощью того же старого доброго кода Рида-Соломона.


Код Рида-Соломона отлично восстанавливает утерянные пиксели и отсеивает пиксели с ложными цветами.

Но в данном случае проблема в том, что в ДНК четыре нуклеотида — аденин (А), гуанин (Г), цитозин (Ц) и тимин (Т), и каждый из них может ошибочно записаться любым другим, что серьезно увеличивает количество возможных ошибок и усложняет способ их отслеживания и исправления. Оставшиеся два класса ошибок представляют собой случаи, как следует из их названий, когда пары оснований ДНК вставляются или удаляются из цепи.

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

Относительный характер хранения данных в ДНК, по сути, является ключом к протоколу HEDGES Пресса, Джонса и других соавторов (расшифровывается как Hash Encoded, Decoded by Greedy Exhaustive Search — хэш-кодирование и декодирование с помощью жадного исчерпывающего поиска). Ни один изолированный нуклеотид в их протоколе не содержит полезных данных. Скорее, это группа последовательностей нуклеотидов, которые все вместе обеспечивают надежную систему хранения данных, которая, по прогнозам ученых, сможет достичь высокой плотности хранения как в естественных ДНК, сохраняясь при этом в течение очень долгого времени.

Группа использовала книгу Фрэнка Баума «Волшебник из страны Оз», переведенную на простой искусственно созданный язык эсперанто, в качестве образца данных для хранения. Синтетическая ДНК в наши дни, по словам Джонса, обычно состоит из цепочек из ста или около того пар оснований. Это и стало основой их «жесткого диска».


Принцип кодирования и декодирования по протоколу HEDGES.

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

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

Внешний уровень диагонализовал исходные данные так, чтобы любая конкретная цепочка ДНК содержала фрагменты многих частей сообщения. Внутренний уровень, протокол HEDGES, преобразует затем каждый бит в А, Г, Ц или Т в соответствии с алгоритмом, который зависит как от значения этого бита, так и от его места в потоке данных, а также от битов, непосредственно предшествующих ему.

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

«Я специально запутывал ДНК», — сказал он. «А потом мы посмотрели, сможем ли мы прочесть книгу». Ответ был положительным. Это показало, насколько прочна ДНК. «Нам пришлось очень много работать, чтобы попытаться испортить ДНК», — говорит Джонс. «Конечно, это проще сделать, если у вас есть 10 000 лет, на которые вы можете похоронить данные в земле или в открытом космосе или что-то в этом роде. Но нам, конечно, пришлось сильно ускорить этот процесс».

Химическая структура ДНК.

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

Соавтор нового исследования, Джон Хокинс, также говорит, что одной из самых привлекательных особенностей их нового протокола является его устойчивость к технологическим изменениям и изменениям формата данных на протяжении веков.

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




iGuides в Telegram — t.me/igmedia
iGuides в Яндекс.Дзен — zen.yandex.ru/iguides.ru