У ДНК записали «Прибуття поїзда» і операційну систему KolibriOS

Янів Ерліх (Yaniv Erlich) і Діна Зелінські (Dina Zielinski) - співробітники Колумбійського університету і Геномного центру в Нью Йорку - розробили нову технологію запису інформації в ДНК, яка наближається до теоретичної межі за щільністю закодованої інформації, гарантує надійність зчитування в умовах великої кількості помилок і здатна вмістити до 215 грат один. Подробиці методу опубліковані в журналі.


Інформаційні можливості ДНК стали зрозумілі відразу після відкриття її структури в 1953 році, проте в інженерному ключі вчені стали думати на цю тему лише кілька років тому. Пов'язано це насамперед з різким падінням вартості хімічного синтезу і (особливо) вартості читання послідовності нуклеїнових кислот (про те, як це сталося, можна прочитати тут).


Одна з перших серйозних робіт, в якій інформаційні можливості ДНК були перевірені на практиці, була проведена в 2012 колективом під керівництвом відомого молекулярного біолога Джоржа Черча (George Church). Тоді вчені закодували в послідовності ДНК книгу обсягом в 52 тисячі слів, кілька jpeg-зображень і невелику програму на JavaScript. Загальний обсяг інформації склав ауд 700 кілобайт, які вмістилися в 55 тисяч окремих фрагментів ДНК довжиною за 159 нуклеотидів. Більшу (але не всю) частину закодованої інформації тоді вдалося прочитати. Однак ні методу корекції помилок, ні системи надлишковості у використаному Черчем і колегами кодуванні не було: бінарну послідовність просто переводили в послідовність нуклеотидів за принципом один нуклеотид - один біт (аденін або цитозин відповідав 0, гуанін або тимін - 1).

Подібна система може бути використана для демонстрації можливості технології, але на практиці, звичайно, неприменима. Надалі кілька інших колективів намагалися використовувати «справжні», добре відомі в теорії інформації методи кодування і застосувати їх для роботи з ДНК. Наприклад, вчені використовували класичний код Ріда-Соломона, який дозволяє виправляти помилки в блоках даних і застосовується, зокрема, при записі інформації на CD. Однак цей код, за словами авторів нової статті, не дуже добре підходить для ДНК: характер тих помилок, які виникають при її копіюванні, призводить до великого розкиду в представленості олігонуклеотидів різного типу, особливо при великому обсязі даних, що погано позначається на «читаності» коду. Крім того, отримана щільність кодування інформації (в тих роботах, де використовувався цей код) становила всього близько половини теоретичної межі. Тому Еріх і Зелінські вирішили розробити власний метод запису інформації в ДНК, взявши за основу т. зв. фонтанний код.

ДНК містить чотири типи підстав (A, T, G і C), тому максимальна щільність кодування інформації в ній може досягати двох біт на нуклеотид. Насправді ж кількість кодованої інформації на символ завжди виявляється нижче: по-перше через необхідність вносити надлишковість, яка повинна компенсувати помилки синтезу і читання фрагментів ДНК, по-друге, через внесення «сервісних послідовностей», які потрібні для індексації (баркодингу) послідовностей, забезпечення можливості копіювання ДНК до ПЛР тощо. За розрахунками авторів нової статті (подробиці наведені тут) шенноновська щільність інформації, що враховує середню довжину нуклеотидів, розміри адапторів для копіювання і типові помилки синтезу становить близько 1,83 біт на нуклеотид. Використання нового методу дозволило домогтися інформаційної щільності, яка становить 86% цієї теоретичної межі.

Працює нове кодування наступним чином: Спочатку двійкова послідовність розбивається на незаперечні сегменти фіксованої довжини в 32 байти, а потім вони кодуються за допомогою т. зв. «крапель», - спеціальним чином отриманих послідовностей трохи більшої довжини. Отримані краплі потім переводяться безпосередньо в послідовність ДНК з максимальною щільністю (по два біти на нуклеотид), і - в цьому полягає надбудова над фонтанним кодом - перевіряються за біохімічними обмеженнями, які накладає техніка читання ДНК: фрагменти не повинні містити довгих однонуклеотидних повторів або ділянок із занадто великою або занадто малою часткою GC-нуклеотидів (сотношення A + T/G + C впливає на фізичні властивості молекул). Якщо кодування призводить до порушень обмежень, воно просто повторюється заново до тих пір, поки не вдасться створити правильну послідовність. Отриманий результат доповнюють стандартними адаптерами для ПЛР і відправляють на апарат автоматичного синтезу.

Ключова відмінність фонтанного кодування полягає в тому, що кожна «крапля» коду містить інформацію про кілька різних сегментів вихідної послідовності - так, що навіть втрата декількох крапель може бути компенсована за рахунок інших. Для індексації ж крапель використовується генератор випадкових чисел, який додає т. зв. зерно в кожну з них - метод описаний Майклом Люби з MIT ще в кінці 90-х і в даний час він широко використовується при передачі мобільного відео, де можливо часте випадання блоків інформації.

В результаті застосування нового методу - фонтанного коду, модифікованого авторами для роботи з ДНК, - вченим вдалося експериментально закодувати і прочитати 2,14 мегабайт інформації у вигляді ДНК-олігонуклеотидів. У них вмістилася подарункова карта Amazon, операційна система KolibriOS, стаття Шеннона про передачу інформації в зашумленому каналі, відеофайл «Прибуття поїзда» братів Люм'єр і навіть один комп'ютерний вірус. Підсумкова фізична щільність запису - її вимірювали в експерименті з поступовим «гомеопатичним» розбавленням ДНК - склала 215 петабайт (215 000 000 гігабайт) на грам нуклеїнової кислоти.


Головним результатом нової роботи - далеко не першою в своїй області - можна назвати наближення до теоретичної межі щільності і надійності кодування інформації на основі ДНК. Враховуючи близькість отриманих даних до теоретичних меж складно сподіватися на якесь радикальне поліпшення цих показників у майбутніх роботах. Зараз головною перешкодою до практичного застосування ДНК як носія інформації залишається дорожнеча синтезу. Так, у новій роботі підсумкова вартість «ДНК-флешки» склала 3,5 тисяч доларів за мегабайт даних. Однак оцінювати цю цифру слід у правильному контексті: по-перше, один раз створений такий носій може бути легко скопійований майже не обмежену кількість разів. По-друге, поточна вартість запису інформації в ДНК є результатом застосування звичайного сучасного методу хімічного синтезу, розробленого насамперед з пріоритетом вимоги точності. Як показано в новій роботі, така точність сильно надлишкова для завдань зберігання інформації. Значне зниження вартості може бути досягнуто ослабленням цієї вимоги, але поки такі «швидкі і брудні» методи синтезу ДНК не отримали поширення через те, що у них не було практичного застосування.

Цікаво, що нова робота хоча і перевершує за щільністю записи всі виконані досі, істотно поступається їм за обсягом даних. Так, влітку минулого року вченими з Вашингтонського університету за фінансової підтримки приватної компанії вдалося записати в ДНК понад 200 мегабайт даних, серед яких були оцифровані твори мистецтва, 100 літературних творів з проекту «Гутенберг», Загальна декларація прав людини ООН більш ніж 100 мовами, база даних насіння некомерційної організації Crop Trust і кліп This Too Shall Pass групи OK Go у високій роздільній здатності.

COM_SPPAGEBUILDER_NO_ITEMS_FOUND