Системы хранения данных, основанные на ДНК, могут стать выходом для человечества, которое генерирует все большие объемы информации. По сравнению со всеми прочими носителями у ДНК просто феноменальная плотность записи данных. Еще одно преимущество — в случае ДНК для хранения данных в оптимальных условиях не нужна энергия, причем информацию можно сохранять сотни лет. Через несколько веков данные можно без проблем считать — конечно, при условии наличия соответствующих технологий.
Но есть у ДНК и минусы. Например, сейчас еще нет стандартов кодирования информации в нити ДНК. Синтезирование искусственных молекул — дело достаточно дорогое, а считывание хранимой информации может занимать дни и недели. Многократное обращение к нитям ДНК за информацией приводит к нарушению структуры молекул, так что в итоге могут возникнуть ошибки. Сейчас предложен метод, который поможет решить некоторые из этих проблем. Система хранения данных (пока что лишь изображений) представляет собой нечто среднее между обычной файловой системой и базой на основе метаданных.
Подробнее о проблемах
Разрабатываемые системы хранения данных в ДНК предусматривают добавление определенных меток последовательностей (sequence tags) к участкам ДНК, которые содержат данные. Для получения необходимой информации в молекулу добавляются участки, которые способны образовывать пары оснований с нужными метками. Все это используется для амплификации полной последовательности. Примерно как пометить каждое изображение в коллекции собственным ID, а затем настроить все так, чтобы амплифицировался один конкретный ID.
Метод достаточно эффективен, но у него есть два ограничения. Во-первых, этап амплификации, который выполняется при помощи процесса полимеразной цепной реакции (ПЦР), имеет ограничения на размер амплифицируемой последовательности. При этом каждый тег занимает часть и так ограниченного пространства, поэтому добавление подробных меток сокращает объем пространства для хранения данных.
Еще одно ограничение заключается в том, что ПЦР, амплифицирующая определенные фрагменты ДНК с данными, потребляет часть исходной библиотеки ДНК. То есть каждый раз, когда мы считываем данные, часть их уничтожается. Ученые сравнивают такой способ поиска информации со сжиганием стога сена для обнаружения иголки. Если это делать часто, в итоге можно потерять вообще всю базу данных. Правда, есть способы восстанавливать потерянные участки, но этот метод не идеален, поскольку при его использовании увеличивается вероятность появления ошибки в ДНК и участках данных.
Новый метод позволяет отделить информацию меток от основных данных. Кроме того, исследователи создали систему, которая дает возможность получить доступ лишь к интересующим нас данным. Остальная информация остается нетронутой, так что молекулы ДНК остаются в сохранности и не повреждаются.
Новая система
Основа технологии — капсулы из диоксида кремния, в которых хранятся отдельные файлы. К каждой капсуле прикрепляются ДНК-метки, которые показывают, что в файле. Размер каждой капсулы составляет около 6 микрометров. Благодаря такой системе ученым удалось научиться извлекать отдельные изображения с точностью 100%. Набор файлов, который они создали, не очень велик — их всего 20. Но если учитывать возможности ДНК, то масштабировать такую систему можно до секстиллиона файлов.
Закодированы эти 20 файлов были во фрагменты ДНК длиной около 3000 нуклеотидов, это около 100 байт данных. В одну капсулу из кремнезема можно поместить файл размером до гигабайта. После того, как файл помещен в оболочку, на его поверхность помещаются метки из одноцепочечной ДНК. К одной оболочке можно прикрепить несколько меток, которые служат ключевыми словами. Например, «рыжий», «кот», «животное».
Помеченные таким образом капсулы из кремнезема объединяются в единую библиотеку данных. Она не так компактна, как хранилище из чистой ДНК, но зато данные в этом случае не повреждаются.
Поиск файлов
Для поиска файлов используется группа ключевых слов — меток. Например, если нужно найти изображение кошки, используются метки «оранжевый», «кошка» и «домашний». Для поиска тигра только «оранжевый» и «кошка». Скорость поиска в такой системе пока что очень невелика — что-то около 1 кБ в секунду.
Еще одна хитрость связана с тем, что каждая метка связана с флуоресцентными молекулами разного цвета. Поэтому в ходе запроса любые капсулы с нужными метками будут светиться определенным цветом. Сейчас уже есть устройства, которые используют лазеры для разделения объектов по цвету флуоресценции, так что выделить нужные данные технически возможно.
При этом остальная часть библиотеки затрагиваться не будет, а значит, не пострадают данные. Стог сена ради поиска одной иголки сжигать уже не требуется. Дополнительный плюс в возможности логического поиска с разными критериями. Например, условия запроса могут быть сложными: true для «кот», false для «домашний», true для «черный» и т.п.
Не только поиск
Да, ведь задача поиска нужных данных — это лишь часть дела, причем даже не половина. Обнаруженные данные необходимо еще секвенировать. А для этого требуется раскрыть оболочку из кремнезема, вынуть хранимую в капсуле нить, ввести ДНК в бактерию и потом уже считать данные. Это крайне медленный процесс, по сравнению с которым даже стримеры являются очень быстрой технологией.
С другой стороны, системы на основе ДНК и не будут быстрыми, их главное предназначение — хранение огромных объемов информации, которую не требуется часто извлекать. Кроме того, с течением времени технологию будут совершенствовать, так что скорость считывания информации, можно надеяться, возрастет.
Автор: witcherj