Возможность хранения данных с помощью ДНК давно будоражит умы многих
учёных. Недавно исследователи Китайского университета Гонконга
обнародовали результаты своей работы в рамках проекта Bioencryption. Они
утверждают, что с помощью их способа хранения и считывания данных в
одном грамме бактерий можно уместить до 900 Тбайт информации.
Технология
была создана в рамках международного конкурса iGEM-2010 (International
Genetically Engineered Machine) и позволяет кодировать информацию с
помощью смешивания ДНК (DNA shuffling), а проверку точности чтения
осуществлять с помощью контрольных сумм.
Перед записью данных в
молекулы информация должна быть преобразована из двоичной системы,
применяемой на ПК, в четверичную: по количеству видов азотистых
оснований нуклеотидов — аденин (A), тимин (T), цитозин (C), гуанин (G).
Таким
образом, к примеру, последовательность «iGEM», если представить дело
довольно условно, вначале должна быть переведена в двоичную кодовую
таблицу ASCII (i = 105; G = 71; E = 69; M = 77), затем в четверичную
систему (105 → TCCT; 71 → ATTG; 69 → ATTT; 71 → ATGT), чтобы в итоге
превратиться в цепь нуклеотидов внутри ДНК.
iGEM → 1221 0113 0111 0131 → TCCT ATTG ATTT ATGT
Перед записью
данных исследователи предлагают использовать алгоритм сжатия DEFLATE,
позволяющий уменьшать длину гомополимера и число повторяющихся участков.
В каждой «синтетической» клетке можно хранить не более 1 Кбайт
данных, а потому более объёмные информационные блоки нужно разбивать на
минимально адресуемые единицы, каждая из которых имеет собственный
заголовок (включает порядок размещения данных) и хвост (включает
контрольную сумму последовательности), и размещается в 4-уровневой
иерархической структуре.
В своей презентации исследователи отмечают, что в будущем подобную систему можно использовать для хранения любой информации: от текста и фотографий до аудио- и видеофайлов.