ДНК давно считается одним из самых плотных носителей информации, но на практике значительная часть потенциальной емкости молекул пропадает из-за ограничений кодирования. Исследователи Шанхайского университета Цзяотун разработали Siyuan Code, новый способ записи цифровых данных в ДНК, который использует почти все пригодные последовательности и позволяет разместить до 41 эксабайта информации в одном грамме материала. Результаты работы опубликованы в Nature Communications.
Для хранения файлов нули и единицы переводят в последовательности из четырех нуклеотидов A, T, C и G, после чего соответствующие молекулы ДНК синтезируют. При чтении процесс идет в обратную сторону: секвенатор определяет последовательность нуклеотидов, а программа восстанавливает исходные цифровые данные.
Главная проблема возникает еще на этапе кодирования. Не каждая комбинация A, T, C и G одинаково удобна для синтеза и последующего чтения. Некоторые последовательности повышают вероятность ошибок, поэтому существующие кодеки вынуждены исключать проблемные варианты. Вместе с опасными комбинациями часть методов теряет и вполне пригодные цепочки, из-за чего реальная плотность хранения оказывается ниже возможной.
Siyuan Code меняет подход к отбору последовательностей. Кодек устанавливает однозначное соответствие между фрагментами цифровых данных и практически всеми цепочками ДНК, которые удовлетворяют заданным биохимическим ограничениям. Неподходящие комбинации программа исключает заранее, поэтому системе не приходится многократно генерировать последовательности и отбрасывать неудачные варианты.
В лабораторных экспериментах разработчики достигли плотности 1,66 бита на один нуклеотид. Расчетная емкость составила 41 эксабайт на грамм ДНК. Исходные данные удалось полностью восстановить при наличии всего шести копий каждой записанной цепочки, что снижает количество дополнительного материала, необходимого для надежного чтения.
Скорость программной части также приблизилась к показателям привычных цифровых накопителей прошлых поколений. На обычном компьютерном оборудовании Siyuan Code кодировал и декодировал данные со скоростью около одного мегабайта в секунду. Авторы сравнивают показатель с пропускной способностью первых USB-флешек.
Высокая плотность пока не превращает ДНК в замену SSD или жестким дискам для домашних компьютеров. Запись требует физического синтеза молекул, а чтение связано с секвенированием, поэтому обе операции остаются значительно сложнее и дороже работы с полупроводниковой или магнитной памятью. Молекулярные носители прежде всего рассматривают для архивов, где огромный объем информации требуется хранить долго и обращаться к данным приходится редко.
Исследователи также опубликовали данные секвенирования, полученные во время лабораторных экспериментов. Разработка Siyuan Code показывает, что повысить емкость ДНК-хранилищ можно не только совершенствованием химического синтеза, но и более эффективным использованием уже доступных молекулярных последовательностей.