- BrainTools - https://www.braintools.ru -
Перед вами перевод статьи о том, как прочитать свою ДНК дома. Автор разбирает бюджетный протокол MinION, типичные ошибки [1] и мотивы эксперимента. Дальше слово автору.
Это руководство для инициативных и смелых энтузиастов, которые хотят узнать больше о своей биологии. Я расскажу, как секвенировал (читал) свой геном на кухонном столе: что для этого понадобилось, в чём смысл каждого из ключевых шагов и во сколько всё это в конечном итоге обошлось.
Стоимость одного прогона: ~$1100 (проточная ячейка + реагенты).
Работа руками: ~4 часа. Всего потрачено: ~72 часа.
Содержание:
Что потребуется [6]
Любопытство
У меня есть мини-компьютеры Jetson Nano и Raspberry Pi, хотя арендовать сервер в облаке было бы дешевле. И я готов переплачивать за менее производительное железо из-за того особого удовольствия, которое получаешь, когда перед тобой стоит полноценная система: её можно потрогать, накатить другую ОС, сломать, заново перепрошить и собрать что-то крутое.
Жаль, что в детстве с биологией так было нельзя. Подростком я её просто обожал — даже спускал деньги от продажи вещей на eBay на подписку на журнал Nature. Думаю, если бы можно было ковыряться в генетических схемах так же, как в компьютерах, я бы ушёл в это с головой.
Разобраться с наследственностью
В моей семье высок риск аутоиммунных заболеваний, и мы до сих пор не знаем почему.
В четверг вечером моей сестре позвонили из больницы Royal Free Hospital и сообщили, что после двух лет ожидания наконец найдена подходящая печень и ей нужно выехать в Лондон в течение часа. Сейчас, когда я пишу этот текст, с момента её операции прошло уже полтора дня. Аутоиммунное заболевание заставляет её иммунную систему [17] атаковать мелкие желчные протоки в печени. Желчь не отходит нормально и постепенно травмирует орган. А ведь ей ещё нет и 40.
Я не питаю иллюзий, что сейчас возьму и вылечу семью от всех этих мудрёных болезней. Если медицинская школа меня чему-то и научила, так это тому, что биология невероятно сложна, а получить предсказуемый результат от вмешательства в неё ещё сложнее. Но я хочу хотя бы понять, почему в моей семье тела восстают против самих себя.
Нанопора — это микроскопическое отверстие диаметром около 1 нанометра (это в 100 000 раз тоньше человеческого волоса), через которое может пройти только одна нить ДНК.
Прежде чем переходить к протоколу, стоит сказать пару слов о технологии, которая сделала всё это возможным, — секвенаторе Oxford Nanopore MinION. Это потрясающее инженерное достижение, к которому я отношусь с большим трепетом. Без него протокол был бы невозможен — не существует другого секвенатора, который был бы столь же компактным и доступным.
В 2025 году компания ONT выпустила новую версию — Mk1D. Характеристики очень похожи — те же проточные ячейки, та же химия, — но Mk1D переносит часть вычислений по бейсколлингу на само устройство (чтобы не нагружать ноутбук) и отличается форм-фактором.
MinION — это небольшая прямоугольная коробочка с одноразовым расходником — проточной ячейкой (flow cell). Внутри неё находится мембрана с примерно двумя тысячами белковых пор, расположенных в виде сетки. Каждая пора всего один нанометр в диаметре — этого достаточно для того, чтобы сквозь неё могла пройти одиночная нить ДНК. На мембрану подаётся напряжение. Когда вы загружаете образец ДНК, одиночные нити начинают проникать в эти поры, и по мере того, как каждая «буква» ДНК (A, C, G или T) проходит через самое узкое место, электрическое сопротивление слегка меняется. Нейронная сеть анализирует колебания тока и восстанавливает последовательность.
ДНК — это последовательность из четырёх букв. Человеческий геном состоит более чем из 3 миллиардов таких букв. Когда секвенатор считывает фрагмент ДНК, он выдаёт «рид» (read) — строку из этих букв. Нанопоровые риды очень длинные: десятки тысяч букв в каждом. «Короткие» (short-read) секвенаторы (на них, например, анализируют слюну в 23andMe [18]) выдают риды всего в 150 букв (правильнее говорить «оснований»). И это основная причина, по которой многие клинически интересные области генома так сложно прочитать с их помощью.
Две тысячи пор, работающих параллельно в течение 48 часов, дают около 30 гигабаз прочитанных последовательностей. В геноме человека 3,2 гигабаз, то есть на выходе получается примерно 10 его копий. Эта цифра — сколько раз считывается каждая позиция в геноме — называется покрытием (coverage). Чем выше покрытие, тем лучше, поскольку каждому отдельному риду присущ небольшой, но не нулевой уровень ошибок. Многократное чтение одной и той же позиции позволяет статистически «проголосовать» за то, какое основание там действительно находится.
Вероятность неправильного считывания любого основания составляет 1–2 %. Вероятность получить ошибку, десять раз считав одно и то же основание, ничтожно мала.
Покрытие 10x означает, что каждая буква была считана в среднем 10 раз: этого достаточно для выявления мутаций (также называемых «вариантами»), часто встречающихся в популяции. Покрытие 30x является общепринятым стандартом для надежного поиска вариантов (variant calling) клинического уровня как для «длинных» секвенаторов, так и для «коротких».
30x — фактический стандарт для полногеномного секвенирования, используемый крупными популяционными исследованиями (например, британским биобанком).
Я буду исходить из того, что в наличии есть всего одна проточная ячейка. Проточные ячейки стоят дорого, но полезные данные можно получить и с помощью одной. Есть два реальных способа потратить бюджет в 30 гигабаз, который способна выдать одна ячейка.
Проточная ячейка стоит около 900 долларов и используется всего один раз. Большинство домашних экспериментаторов будут начинать именно с одной ячейки. В разделе «Хотите попробовать сами?» в конце статьи я рассказываю, как всё это дело можно приобрести.
Вариант А: секвенировать геном целиком, но с небольшим покрытием. В среднем покрытие по всему геному составит около 10x. Этого достаточно, чтобы обнаружить распространённые мутации (отличия в одно основание от референсного генома), которые встречаются не менее чем у 5 % популяции. Но этого не хватит для уверенного определения редких мутаций: чтобы выявить, например, патогенный миссенс-вариант в генах CYP2D6 или BRCA1, который встречается только у одного из 1000 человек, необходимо суметь отличить реальный сигнал в ридах от аппаратного шума, а при покрытии 10x это нереально. Для таких задач нужно покрытие около 30x, что потребует объединения данных с нескольких проточных ячеек.
Для этого последовательно запускают три проточные ячейки, выполняют бейсколлинг для каждой по отдельности, а затем объединяют выровненные результаты в один файл. Покрытие в каждой позиции суммируется, поэтому три запуска примерно по 10x каждый в совокупности дают покрытие около ~30x.
Вариант Б: секвенировать небольшую часть генома, но с высоким покрытием. У нанопор есть хитрая возможность, которой лишены все остальные секвенаторы: прямо в процессе работы они могут решать, какие фрагменты ДНК продолжать считывать, а какие отбросить. Это называется адаптивным семплированием (adaptive sampling), и технически оно работает так:
Каждый фрагмент ДНК, который начинает проходить через пору, секвенируется примерно на первые 500 оснований.
Секвенатор сверяет их с референсным геномом и проверяет, относится ли фрагмент к интересующей нас области.
Если да, секвенирование продолжается. Если нет, напряжение на поре меняется на обратное, старый фрагмент ДНК выталкивается, а новый поступает в пору.
Вы загружаете в MinKNOW (управляющее программное обеспечение от ONT, работающее на компьютере; в моём случае это Mac с чипом M3) список интересующих вас участков — простой текстовый файл, где в строке для каждого участка указаны хромосома, стартовая и конечная позиции. В результате секвенатор фокусируется только на этих участках. Предположим, что нужные участки в сумме занимают 1 % генома. Тогда их покрытие составит 30–50x вместо 10x, тонко «размазанных» по всему геному.
Именно адаптивное семплирование делает MinION столь привлекательным. По сути, это бесплатное таргетное обогащение: не нужны кастомные ДНК-зонды (короткие синтетические последовательности, которые пришлось бы проектировать и покупать, чтобы выловить целевые участки из образца), нет нужды в ПЦР или организации специальной библиотеки. Если вас интересует определённый набор генов — скажем, фармакогены (определяющие метаболизм лекарств), локусы риска аутоиммунных заболеваний, гены риска сердечных патологий или HLA-комплекс (отвечающий за то, как иммунная система распознаёт чужеродные агенты), — это именно тот путь.
В этом руководстве рассматриваются оба варианта. Большинство этапов совершенно идентичны. Отличаются только подготовка и одна галочка в интерфейсе MinKNOW.
Самая сложная часть адаптивного семплирования — решить, какие именно участки обогащать. Путь от «меня интересует метаболизм лекарств» до готового BED-файла (текстового списка вида «хромосома/начало/конец» для каждого участка), который «понимает» MinKNOW, требует поиска координат генов, объединения интервалов и обработки краевых случаев.
Самый простой способ сделать это — взять Claude (или любую другую языковую модель по вашему выбору), загрузить ей в качестве контекста PDF-документ от ONT по адаптивному семплированию и:
Попросить выделить гены, имеющие отношение к конкретному клиническому кейсу. Что-то вроде «У меня в семье аутоиммунные заболевания, я хочу изучить фармакогены, связанные с иммунодепрессантами». Claude выдаст список, который можно будет сверить с научной литературой.
Попросить сгенерировать BED-файл — с указанием хромосомы, старта и финиша для каждого гена — в координатах сборки GRCh38, добавив отступы в ±100 килобаз для охвата регуляторных контекстов и объединив перекрывающиеся интервалы.
Попросить убедиться, что общий размер выбранных участков укладывается в ограничение (<5 % генома) для этой технологии.
Это одно из лучших применений LLM в подобных проектах. Нужная информация разбросана по базам данных UCSC, Ensembl, OMIM и CPIC. Языковая модель способна собрать её воедино гораздо быстрее, чем человек.
Это очень похоже на то, что Патрик Коллисон делал со своим геномом [19]: запускал программных агентов для исследования конкретных мутаций и формирования плана последующего скрининга. Выбор панели — начальный, подготовительный этап того же самого процесса. Плюс на этом шаге у вас ещё нет никаких реальных геномных данных, так что сторонний сервис можно использовать вполне спокойно — вы лишь определяете, какие участки генома собираетесь считывать.
Короткая версия. Полный список оборудования со всеми ценами, объёмами и расчётом стоимости вплоть до каждого наконечника для дозатора можно найти на отдельной странице [20].
|
Наименование |
Стоимость |
Примечания |
|
Секвенатор MinION Mk1D |
~$3200 |
Многоразовый |
|
Проточная ячейка R10.4.1 FLO-MIN114 |
~$900 |
Одна штука на прогон. Одноразовая |
|
Набор для лигирования SQK-LSK114 |
~100/реакция. Упаковка на 6 реакций [21]: ~$610 |
Одна реакция на прогон. Нужна для длинных ридов |
|
NEBNext Companion Module v2 E7672S |
~$55/реакция. Упаковка на 24 реакции: ~$1,275 |
Энзимы для починки и лигирования ДНК |
|
Набор Monarch T3010 gDNA |
~$3. Упаковка на 50 штук: ~$150 |
Для выделения ДНК из мазка с внутренней стороны щеки |
|
Набор для промывки Flow Cell Wash Kit EXP-WSH004 |
~$17/промывка |
Для повторной загрузки частично израсходованной проточной ячейки |
|
Наконечники, пробирки LoBind, этанол, PBS [22] |
~$50 |
Одноразовые расходники |
Итого: ~$1100 на прогон.
Проблема в том, что реагенты идут крупными упаковками. Они рассчитаны на лаборатории, а не на человека, делающего одну пробу у себя дома. Набор LSK114 продаётся упаковкой на 6 реакций примерно за 610 долларов, но для одной проточной ячейки достаточно лишь одной. С модулем от NEB всё ещё хуже: 24 реакции в упаковке, из которых вы используете от силы одну-две.
Оборудование
Также потребуется базовое оборудование, которое найдётся в любой биолаборатории: термоблок с поддержанием температур 56 и 65 °C, микроцентрифуга до 12 000 g, вортекс, магнитный штатив для пробирок объёмом 1,5 мл и набор пипеток от P10 до P1000.
Собрать всё это можно тремя способами:
Одолжить у друга, работающего в лаборатории. Самый быстрый и к тому же бесплатный путь, если у вас есть знакомые в академической науке [23] или биотехе. Просто спросите, вдруг повезёт?
Купить подержанное на eBay. У лабораторного оборудования огромный ресурс: хорошо сохранившийся вортекс 1985 года будет работать абсолютно так же, как модель 2026 года [24].
Купить на AliExpress. Базовые версии всех этих устройств стоят там копейки — часто даже дешевле, чем б/у на eBay. Например, автор этой статьи [25] утверждает, что китайское оборудование вполне неплохое: он оборудовал целую DIY-лабораторию за малую толику цены от Fisher или Sigma и вообще не жалуется.
Единственный инструмент, где точность действительно имеет значение, — это пипетки. Термоблок, который показывает 56 °C, а выдает 58 °C — это не страшно. Микроцентрифуга, разгоняющаяся до 11 000 g вместо 12 000 g — тоже не критично. Вортекс — это просто вортекс. Но вот пипетка P20, которая выдаёт 18 мкл вместо выставленных 20, может погубить финальные стадии прогона. И это вы поймёте только после того, как проточная ячейка не сработает. Покупайте восстановленные и откалиброванные дозаторы от Gilson, Rainin или Eppendorf либо хотя бы отправьте дешевые аналоги на калибровку перед первым использованием.
Что касается ротатора для пробирок. Инструкция рекомендует использовать ротатор (hula mixer) для мягкого перемешивания образцов в процессе 5-минутных инкубаций с магнитными частицами AMPure. Но это не обязательно: я обошёлся без него, просто слегка постукивая пальцем по пробирке каждые две минуты во время инкубаций. Частицы оставались во взвешенном состоянии, и итоговый выход был хорошим.
Про магнитный штатив. Для процедуры очистки магнитными частицами (bead cleanup) магнит действительно необходим, но фирменный штатив не нужен. Самое простое — в нужный момент прижать мощный неодимовый магнит (N52) к стенке пробирки. Частицы соберутся на стенке, и вы сможете слить супернатант [26] (жидкость поверх осадка) пипеткой. Если хочется более изящного решения, я спроектировал свой вариант в build123d [27] (фреймворке для создания 3D-моделей с помощью кода на Python) и распечатал его на принтере Bambu A1. Купить пришлось только неодимовые магниты — около $7 на Amazon с быстрой доставкой (а на AliExpress они идут почти даром). Пластик для принтера обошёлся буквально в копейки.
Обращайтесь, если нужна помощь с поиском оборудования. Пишите мне в Twitter [28], моя личка открыта.
Вычислительные ресурсы
Для работы понадобится компьютер: он будет управлять самим секвенатором, делать бейсколлинг в реальном времени, отрабатывать логику [29] адаптивного семплирования и выполнять повторный бейсколлинг после завершения считывания. Современного Mac на базе Apple Silicon (M3 или новее, с достаточным объёмом ОЗУ) вполне хватит. Я использовал Mac Studio с M3 Ultra. Кроме того, понадобится куча свободного места на диске.
Один прогон генерирует около 49 гигабаз «сырых» данных в формате pod5, ~6 гигабаз готовых ридов в формате BAM и около гигабайта логов адаптивного семплирования. Выделяйте по 100 гигабаз на каждый прогон. Три проточные ячейки, работающие параллельно для 30-кратного полногеномного покрытия, произведут около 300 гигабаз файлов pod5 ещё до начала процесса бейсколлинга.
Бейсколлинг пройдёт значительно быстрее, если у вас есть доступ к компьютеру с GPU NVIDIA. Я сравнил DGX Spark с Mac Studio: он оказался в 5 раз быстрее на модели HAC и в 4 раза — на модели SUP. Для разового прогона в 30 гигабаз это ощутимая разница: сделать всё за вечер или оставить компьютер включённым на всю ночь.
Вся механическая работа («мокрая» часть эксперимента) полностью описана в официальных протоколах от компаний, выпускающих реагенты. Именно на них нужно ориентироваться на каждом этапе — это главный источник точных данных об объёмах жидкостей, времени и условиях инкубации:
NEB Monarch T3010 [30] — для выделения ДНК из клеток щеки;
ONT SQK-LSK114 [31] — для подготовки библиотек на основе лигирования и загрузки проточной ячейки.
Ниже я привожу обзор этих двух протоколов. Добавил в них немного теории, чтобы было проще понять смысл каждого шага, а также поделился собственными наблюдениями и лайфхаками, о которых не сказано в официальных руководствах.
Прежде чем взять в руки пипетку, нужно сделать следующее:
Установить MinKNOW на компьютер, который будет подключен к MinION. MinKNOW — управляющее ПО от ONT, которое отвечает за работу проточной ячейки, — проводит бейсколлинг в реальном времени и реализует логику адаптивного семплирования. Программу можно скачать с портала Oxford Nanopore Community (нужно завести бесплатный аккаунт). Она работает на Mac, Windows и Linux.
Проверить проточную ячейку. Это самый дорогой одноразовый компонент, и иногда они приходят бракованными. Нужно убедиться, что ячейка в порядке, и сделать это до того, как зальёте в неё свою ДНК. Вставьте ячейку в MinION, дайте прогреться в течение 20 минут (на холодных ячейках показания искажаются) и запустите проверку пор (pore check) в MinKNOW. Свежая ячейка должна показать около 1200 активных пор. Для нормального запуска нужно минимум 800. Если их меньше 800, оформляйте замену по гарантии.
Подготовьте рабочую зону (любую удобную поверхность). Протрите её 70%-ным изопропанолом. Заранее подпишите крышки всех пробирок перманентным маркером — вы будете работать с 8–9 пробирками, и запутаться в них проще простого. Достаньте наборы для экстракции и секвенирования из морозильной камеры и разморозьте их на льду (хорошо подойдёт коробка из пенополистирола — см. фото ниже). Наборы для лигирования и экстракции хранятся при −20 °C, так что перед заказом убедитесь, что морозилка поддерживает эту температуру.
Только для адаптивного семплирования. Подготовьте BED-файл со списком участков генома, которые секвенатор должен обогатить. Возьмите список своих генов и найдите их координаты в референсном геноме (стандарт для человека — сборка GRCh38, её можно скачать с баз Ensembl или UCSC). Общий размер выбранных участков должен оставаться в пределах 5 % от генома — так покрытие по панели будет выше 30x. В идеале размер панели не должен превышать 1 %. Загрузите BED-файл и референс GRCh38 в формате FASTA в MinKNOW.
Лично я добавил отступы (padding — искусственное расширение границ исследуемого участка ДНК в обе стороны) по ±100 килобаз к каждому участку, чтобы охватить регуляторный контекст. Множество клинически значимых вариаций находится именно в регуляторных элементах, а не в самой кодирующей последовательности генов. После секвенирования планирую пропустить эти данные через AlphaGenome (модель от DeepMind, прогнозирующую влияние мутаций ДНК на экспрессию генов, сплайсинг и хроматин), чтобы проверить работу некодирующих мутаций в моей панели. Подробнее об этом напишу в отдельном посте.
Если всё пойдёт по плану, на программную часть вы потратите около получаса. Всё остальное — ручная лабораторная работа.
ДНК находится внутри клеток, она переплетена с белками и окружена мембраной. Цель экстракции — разрушить клетки, удалить всё лишнее и получить на выходе чистую ДНК в водном растворе. Ферменты, которые используются на этапе подготовки библиотек, крайне капризны: они не сработают, если в растворе останутся примеси белков, растворителей или РНК [32].
Параллельно я попробовал выделить ДНК из крови — взял свою кровь и проделал с ней те же манипуляции. Качество ДНК оказалось лучше (длиннее фрагменты, выше показатель DIN). Стоит дополнительных усилий, если нужно оптимизировать длину ридов, но для первого прогона это необязательно.
Я использовал клетки слизистой щеки. В случае крови качество было бы лучше благодаря более длинным фрагментом и более высокому индексу целостности (DIN), но забор крови — непростая задача, особенно если вы не делали этого раньше. Поэтому рекомендовать этот способ не возьмусь.
С усилием потрите стерильным флокированным зондом внутреннюю сторону щеки примерно по 60 секунд с каждой стороны. ONT рекомендует зонд Isohelix SK-1S [33], но подойдёт любой аналогичный стерильный зонд с Amazon. Выбирайте именно флокированные варианты (со щетинками, направленными наружу), а не обычные ватные палочки, так как последние отдают собранные клетки гораздо хуже. Один зонд даст 5–7 мкг ДНК, что с лихвой перекрывает потребность [34] в 1 мкг, необходимый для подготовки библиотек.
Поместите кончик зонда в пробирку объёмом 1,5 мл с 1 мл холодного PBS (базового солевого буфера), поместите на вортекс на 10 секунд, чтобы стряхнуть клетки, выньте зонд и центрифугируйте при 2000 g в течение 30 секунд, чтобы собрать клетки в осадок. Аккуратно удалите пипеткой слой PBS, оставив около 100 мкл жидкости над осадком, и ресуспендируйте смесь, постукивая по стенкам пробирки пальцем. Далее следуйте протоколу из набора NEB Monarch T3010 [30]: проведите лизис с помощью протеиназы K, РНКазы A и буфера для лизиса клеток (Cell Lysis Buffer) при 56 °C, свяжите материал с силикатной спин-колонкой, промойте и элюируйте.
В протоколе недостаточно подчёркивается один важный аспект: перед финальной элюцией необходимо предварительно нагреть элюирующий буфер до 60 °C. От этого зависит, получите ли вы чистый элюат с концентрацией 100–150 нг/мкл или же половина ДНК останется на колонке.
Элюат должен быть прозрачным и бесцветным. Помутнение указывает на наличие остаточных солей — в таком случае необходимо повторно промыть колонку, прежде чем перейти к подготовке библиотек.
Протоколы подчёркивают важность контроля качества на данном этапе. В частности, прежде чем перейти к подготовке библиотек, необходимо убедиться, что выделено достаточное количество ДНК. Обычно для измерения концентрации ДНК используется флуориметр Qubit стоимостью около $500. В моем распоряжении его не было. Во время первого прогона это привело к проблемам: я загрузил (как мне казалось) достаточно ДНК, но заполняемость пор оказалась очень низкой. Главное — не было никакой возможности узнать, связано ли это с тем, что я выделил мало ДНК, или что-то пошло не так на этапе подготовки библиотек. Мой ответ — DIYnafluor [35], опенсорсный флуориметр из комплектующих с AliExpress примерно за $80. Расскажу о нём подробнее, как только соберу.
Второй шаг контроля качества — проверка распределения длин фрагментов ДНК. Я этого не делал. Для следующего прогона думаю использовать гель-электрофорез (обновлю этот раздел, как только протестирую это дело).
Очищенную ДНК нельзя загрузить прямиком в проточную ячейку. Сначала её нужно превратить в библиотеку — модифицировать каждый фрагмент так, чтобы он смог пройти через пору и правильно считаться. На этом этапе происходят три вещи:
Восстановление концов: клеточный лизис повреждает концы фрагментов ДНК. Их восстанавливают с помощью специальных ферментов.
A-тейлинг (A-tailing): к каждому 3′-концу добавляется один аденин, чтобы можно было пришить (лигировать) адаптер с выступающим на конце тимином (T-overhang).
Прикрепление секвенирующего адаптера: именно за него цепляется пора, и на нём расположен моторный белок, контролирующий скорость затягивания ДНК. Это критически важный этап.
Базовое правило ДНК: основания в двойной спирали притягиваются строго парами. Аденин (A) слипается только с тимином (T), цитозин (C) — с гуанином (G). В данном случае мы «приклеиваем» аденин к концу фрагмента ДНК, чтобы потом можно было к нему присоединить тимин секвенирующего адаптера (адаптеры производятся так, чтобы на их концах всегда торчал тимин).
Пара слов про выбор набора. ONT выпускает несколько вариантов наборов для подготовки библиотек. Набор для быстрого секвенирования (rapid sequencing kit, SQK-RAD114) использует транспозазу для фрагментации и маркировки ДНК за один шаг, что кардинально снижает количество работы с пипеткой. Однако я остановил свой выбор на наборе для лигирования (SQK-LSK114), так как, несмотря на большее количество этапов, он даёт более предсказуемые библиотеки и обеспечивает более высокую суммарную пропускную способность с одной проточной ячейки. Поскольку я пытался выжать максимум из одной ячейки, дополнительное время на ручную работу полностью оправдалось бóльшим выходом данных и лучшим покрытием.
Заложите на весь процесс около 70 минут. Он разбит на четыре этапа по [36] порядку: восстановление концов и репарация повреждений (~25 мин), очистка на магнитных частицах (~15 мин), лигирование адаптеров (~15 мин) и повторная очистка на частицах с использованием буфера LFB (~15 мин). Ферменты дорогие, хрупкие и не любят, когда их трясут, так что не торопитесь.
В протоколе от SQK-LSK114 [31] подробно расписаны все объёмы, тайминги инкубаций и порядок действий. Но там вскользь упомянуты пять моментов — частый источник ошибок:
Не используйте вортекс для смесей ферментов. Они растворены в глицерине: от вортекса они вспениваются и теряют активность. Вместо этого аккуратно постучите пальцем по пробирке.
Буфер для лигирования (LNB) очень вязкий. Его невозможно размешать вортексом. Медленно перемешивайте раствор пипеткой, иначе получите плохо перемешанную реакцию, внутри которой остались слои.
Не пересушивайте осадок частиц AMPure. 30 секунд на воздухе будет более чем достаточно. Если оставить сушиться дольше, осадок потрескается и намертво прилипнет к стенке пробирки — вы потеряете ДНК, пытаясь растворить его обратно.
На втором этапе очистки используйте Long Fragment Buffer (LFB), а не этанол. LFB позволяет сохранить моторный белок на адаптере; спирт же его смывает. А без моторного белка адаптер не сможет затягивать ДНК в пору.
Будьте терпеливы при работе с магнитным штативом. Скорость осаждения частиц зависит от силы магнита, его размера и того, насколько плотно он прилегает к стенке пробирки. Через одну-две минуты на задней стенке пробирки должна образоваться коричневая линия (частицы собираются у стенки), а раствор должен начать светлеть. Если через ~2,5 минуты не произошло ни того ни другого, магнит, скорее всего, недостаточно силён или находится слишком далеко от образца.
На выходе у вас должно получиться 150–450 нг библиотеки в объёме 15 мкл. Держите это всё на льду. В проточную ячейку пойдёт 12 мкл, а остаток — резерв на тот случай, если решите сделать промывку посередине прогона.
Процесс занимает всего пятнадцать минут, но это самые важные минуты во всём протоколе. Проточная ячейка стоит 900 долларов, и одна-единственная ошибка — обычно это воздух, попавший на матрицу пор, — может погубить кучу пор, сорвав весь прогон. Прежде чем начать, ОБЯЗАТЕЛЬНО посмотрите обучающее видео ONT по праймингу [37] и загрузке от начала и до конца.
В протоколе значение этого шага особо подчёркивается. А я повторю это ещё раз — это действительно важно: чаще всего прогоны не удаются именно из-за воздуха в проточной ячейке. Практический совет по его удалению: для откачивания необходимо использовать пипетку P1000. Если вы раньше с ней не работали, точно поймать всасываемый объём бывает муторно. Не давите поршень большим пальцем, а просто крутите колёсико объёма вверх. Так всасывание идёт гораздо плавнее и предсказуемее, так что риск переборщить и убить поры сильно падает.
Не допускайте появления пузырьков воздуха в проточной ячейке. Если воздух пройдёт через матрицу пор, затронутые поры отключатся и больше не заработают. Во время первого прогона я начал секвенирование, и программа MinKNOW показала ноль активных пор — ни одна не подсвечивалась зелёным. Оказалось, рядом с одним из портов застрял пузырёк воздуха. К счастью, он ещё не добрался до матрицы, и я смог аккуратно вытянуть его без потери пор. Если бы он достиг пор, то проточная ячейка «окирпичилась» бы.
При откачивании буфера для хранения из порта для прайминга ни при каких условиях не превышайте лимит в 30 мкл, разрешённый протоколом. Загружая смесь для прайминга и библиотеку, выдавливайте жидкость достаточно медленно, чтобы воздух не попал внутрь вслед за раствором. Если видите, что начинает формироваться пузырёк, — остановитесь, вытяните его обратно и только после этого продолжайте.
Итак, проточная ячейка плотно установлена (хороший контакт с нижними электронными площадками), образец загружен, все порты закрыты, светозащитный экран накрывает матрицу пор, крышка закрыта, а MinION подключён к компьютеру. Теперь нужно настроить прогон в MinKNOW:
# Конфигурация прогона MinKNOW.
kit: "SQK-LSK114"
flow_cell: "FLO-MIN114"
basecalling: "Dorado HAC @ v5.2.0, real-time"
adaptive_sampling:
enabled: true # Только если используете таргетный подход.
mode: "enrich"
bed_file: "./panels/pharmacogenes.bed"
reference: "./ref/GRCh38.fa"
Нажмите «Старт». Пристально следить за процессом необязательно, просто периодически заглядывайте для проверки. Вот на что следует смотреть на дашборде MinKNOW:
Заполнение пор. Процент пор, которые считывают ДНК. Со временем этот показатель падает, так как поры блокируются или выходят из строя. Если через сутки он опустится ниже ~30 %, а в холодильнике ещё остался резерв библиотеки, проведите нуклеазную промывку. Набор EXP-WSH004 растворит ДНК, застрявшую в порах, и можно будет загрузить образец повторно. Это позволит продлить работу ячейки ещё на сутки или около того.
Скорость транслокации. Показывает, насколько быстро ДНК протягивается сквозь поры. Этот показатель должен стабильно держаться на уровне около 400 оснований в секунду. Резкое снижение означает, что поры повреждены.
Распределение длин ридов. График должен быть похож на то, что получилось при экстракции. Для ДНК из клеток щеки пик обычно находится на отметке около 4 килобаз.
Перейдя по ссылке [38], можно посмотреть видео, на котором показана активность пор на дашборде MinKNOW через несколько минут после начала прогона.
Ожидаемый выход: 20–40 гигабаз секвенированных данных за 48 часов работы на новой проточной ячейке. В случае адаптивного семплирования весь этот бюджет придётся на целевые регионы. Покрытие для панели размером примерно в 1 % генома составит 30–50х.
Секвенатор MinION на самом деле выдаёт не последовательность ДНК, а электрический сигнал. По мере того как ДНК проходит через пору, локальный ток меняется. MinKNOW фиксирует эти колебания как непрерывный волновой сигнал и сохраняет их в pod5 — бинарном формате ONT. Бейсколлинг — это как раз преобразование данных pod5 в привычную для глаз последовательность символов A/C/G/T. Для этого сигнал прогоняется через нейронную сеть, обученную распознавать, какие изменения тока каким основаниям соответствуют.
Официальный бейсколлер от ONT называется Dorado. На выбор предлагаются две модели:
HAC (high-accuracy, высокая точность, ~99 % на одно основание) работает достаточно быстро, чтобы выполнять бейсколлинг прямо на лету во время секвенирования (нужен достаточно мощный компьютер). Включена по умолчанию.
SUP (super-accurate, суперточная, точность ~99,5 %) использует более крупную нейронную сеть и работает примерно в 10 раз медленнее, чем HAC. Её имеет смысл запускать только для клинически важных участков.
Сравнение производительности моделей, прогон на 30 гигабаз:
|
Модель |
Mac Studio M3 ULTRA · METAL |
DGX Spark GB10 · CUDA 13 |
|
HAC |
6,0 млн образцов/сек. ~17 часов · ЗА НОЧЬ |
31,4 млн образцов/сек. ~3 часа · В ТОТ ЖЕ ВЕЧЕР |
|
SUP |
0,8 млн образцов/сек. 5+ ДНЕЙ |
3,4 млн образцов/сек. ~31 час · НА СЛЕДУЮЩИЙ ВЕЧЕР |
На практике на современном Mac (с чипом M3 или новее) MinKNOW выполняет HAC-бейсколлинг на лету прямо во время прогона. К моменту завершения работы проточной ячейки вы получаете готовый файл формата BAM, обработанный алгоритмом HAC. Модель SUP слишком медленная для работы в реальном времени: чтобы получить данные SUP-качества для отдельных участков, вы просто заново выполняете бейсколлинг сохранённого pod5-сигнала уже после окончания секвенирования. Аналогичным образом можно пропустить данные через новую версию модели Dorado или добавить данные о метилировании, если они не были включены во время самого запуска. (С GPU от NVIDIA эти вычисления пройдут примерно в 5 раз быстрее для HAC и в 4 раза быстрее для SUP, но наличие видеокарты не критично.)
Как обычно делаю я: запускаю HAC во время секвенирования, а после завершения повторно прогоняю через SUP-модель те участки, которые мне наиболее интересны:
# Бейсколлинг всего прогона, HAC; параметр -x auto автоматически выбирает CUDA на NVIDIA, Metal на Apple Silicon или CPU в иных случаях.
dorado basecaller
-x auto
~/models/dna_r10.4.1_e8.2_400bps_hac@v5.2.0
~/runs/2026-04-18/pod5/ > reads.hac.bam
На выходе вы получите невыровненный BAM-файл (unaligned BAM) — компактный бинарный формат для секвенированных ридов. Его можно представить как этакий ZIP-архив, в котором лежит список ридов вместе с оценками их качества. «Невыровненный» означает, что процесс бейсколлинга завершён, но риды ещё не сопоставлены с референсным геномом. Если вы использовали модель, способную определять метилирование ДНК, то признаки метилирования для каждого конкретного основания сохраняются в виде специальных тегов прямо в BAM-файле.
ONT добавила распознавание метилирования, просто обновив ПО для бейсколлера — без новых реагентов или проточных ячеек. Улучшенная нейросеть теперь может отличить метилированный цитозин (C) от неметилированного. В случае платформ для коротких ридов аналогичное обновление можно получить, только обновив оборудование. Клёво, не так ли?
После бейсколлинга у вас на руках просто куча ридов — строчек с A/C/G/T и оценками их качества. Выравнивание определяет, из какого именно места в геноме происходит каждый конкретный рид. Вы скармливаете программе (minimap2 — стандарт для нанопор) ваши риды и референсный геном, а она находит позицию максимального совпадения для каждого рида: «этот рид длиной 4 килобаз на 98 % идентичен позициям с 15 384 102 по 15 388 901 в 6-й хромосоме».
# Выравнивание, сортировка, индексирование.
minimap2 -ax map-ont --MD ref/GRCh38.fa reads.hac.bam
| samtools sort -o aligned.bam -
samtools index aligned.bam
# Контроль качества.
samtools flagstat aligned.bam # Должно быть привязано >95 %.
mosdepth --by panels/pharmacogenes.bed cov aligned.bam # Глубина покрытия для каждого целевого участка.
Если вы применяли адаптивное семплирование, на данном этапе необходимо подтвердить, что действительно достигнуто покрытие в 30х по всей панели. Если же проводилось полногеномное секвенирование, убедитесь, что среднее значение покрытия близко к ожидаемым 10х.
Для панели размером в 1 % генома ожидаемый уровень обогащения составляет 5–6х. Значение 1х означает, что адаптивное семплирование по какой-то причине не сработало. Значение выше 10х говорит о том, что либо BED-файл оказался меньше, чем вы думали, либо общий выход данных был очень низким и поры умерли слишком рано.
Файл aligned.bam — это и есть ваш геном. Он содержит около 30 гигабаз ридов, сопоставленных с соответствующими позициями референсного генома, с показателями качества, данными о метилировании каждой базы и объёмом информации, достаточным для определения того, с какой из двух родительских хромосом пришёл каждый рид. С помощью этого файла вы можете выявлять мутации (участки, которые отличаются от референса), фазировать аллели HLA, генотипировать фармакогены или загружать отдельные участки в языковую модель ДНК, чтобы спросить, что они означают.
С этим файлом можно творить всё что угодно, поэтому я даже не буду пытаться расписать весь план аналитики. В следующем посте расскажу, что решил сделать со своим: например, планирую прогнать риды через нейронку AlphaGenome от DeepMind. Хочу посмотреть, влияют ли мутации в некодирующих участках на мой организм. А пока — удачи в экспериментах! Посмотрите, что интересного сможете узнать о своём геноме.
Проделать это дома вполне реально. Массу неудобств доставляет лишь логистика: часть реагентов продаётся оптом, покупка MinION ради одного прогона нецелесообразна, и есть несколько этапов (в первую очередь, загрузка проточной ячейки), где ошибка обойдётся в 900 долларов.
Я хочу упростить этот процесс. Для этого закупаю партию секвенаторов MinION (планирую сдавать их в аренду) и разбиваю оптовые упаковки на разовые наборы. Так вам не придётся покупать 24 реакции от NEB только для того, чтобы использовать одну.
К тем, кто предпочел бы не выполнять протокол своими руками, но переживает о приватности и хочет сохранить свои данные в секрете, я с удовольствием приеду и проведу секвенирование лично. Всё будет сделано полностью в офлайн-режиме: я привезу с собой MinION, реагенты и остальное оборудование, а по окончании работы просто оставлю USB-флешку с исходными данными.
Скорее всего, устройства в аренду буду отправлять в виде готовых наборов на один прогон (одна проточная ячейка, реагенты для лигирования LSK114, магнитные частицы AMPure, наконечники для пипеток и пробирки). Возможность провести секвенирование у вас дома зависит от того, где вы находитесь: укажите свой город в форме ниже. Я свяжусь с вами и скажу, возможно ли это и каковы примерные сроки.
Читайте также в нашем блоге:
Автор: kubelet
Источник [43]
Сайт-источник BrainTools: https://www.braintools.ru
Путь до страницы источника: https://www.braintools.ru/article/30030
URLs in this post:
[1] ошибки: http://www.braintools.ru/article/4192
[2] Зачем секвенировать геном дома: #%D0%97%D0%B0%D1%87%D0%B5%D0%BC%20%D0%B2%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%20%D1%81%D0%B5%D0%BA%D0%B2%D0%B5%D0%BD%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20%D0%B3%D0%B5%D0%BD%D0%BE%D0%BC%20%D0%B2%20%D0%B4%D0%BE%D0%BC%D0%B0%D1%88%D0%BD%D0%B8%D1%85%20%D1%83%D1%81%D0%BB%D0%BE%D0%B2%D0%B8%D1%8F%D1%85?
[3] Как нанопора считывает ДНК: #%D0%9A%D0%B0%D0%BA%20%D0%BD%D0%B0%D0%BD%D0%BE%D0%BF%D0%BE%D1%80%D0%B0%20%D1%81%D1%87%D0%B8%D1%82%D1%8B%D0%B2%D0%B0%D0%B5%D1%82%20%D0%94%D0%9D%D0%9A
[4] Два способа использовать одну проточную ячейку: #%D0%94%D0%B2%D0%B0%20%D1%81%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%D0%B0%20%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20%D0%BE%D0%B4%D0%BD%D1%83%20%D0%BF%D1%80%D0%BE%D1%82%D0%BE%D1%87%D0%BD%D1%83%D1%8E%20%D1%8F%D1%87%D0%B5%D0%B9%D0%BA%D1%83
[5] Как выбрать панель генов: #%D0%9A%D0%B0%D0%BA%20%D0%B2%D1%8B%D0%B1%D1%80%D0%B0%D1%82%D1%8C%20%D0%BF%D0%B0%D0%BD%D0%B5%D0%BB%D1%8C%20%D0%B3%D0%B5%D0%BD%D0%BE%D0%B2
[6] Что потребуется: #%D0%A7%D1%82%D0%BE%20%D0%BF%D0%BE%D1%82%D1%80%D0%B5%D0%B1%D1%83%D0%B5%D1%82%D1%81%D1%8F
[7] Пошаговый протокол:: #%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB
[8] Подготовка ПО и проверка ячейки: #%D0%9F%D0%BE%D0%B4%D0%B3%D0%BE%D1%82%D0%BE%D0%B2%D0%BA%D0%B0
[9] Выделение ДНК из мазка щеки: #%D0%AD%D0%BA%D1%81%D1%82%D1%80%D0%B0%D0%BA%D1%86%D0%B8%D1%8F%20%D0%94%D0%9D%D0%9A
[10] Подготовка библиотеки (лигирование): #%D0%9F%D0%BE%D0%B4%D0%B3%D0%BE%D1%82%D0%BE%D0%B2%D0%BA%D0%B0%20%D0%B1%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B8
[11] Загрузка проточной ячейки: #%D0%97%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0%20%D0%BF%D1%80%D0%BE%D1%82%D0%BE%D1%87%D0%BD%D0%BE%D0%B9%20%D1%8F%D1%87%D0%B5%D0%B9%D0%BA%D0%B8
[12] Секвенирование: настройка MinKNOW и контроль дашборда: #%D0%A1%D0%B5%D0%BA%D0%B2%D0%B5%D0%BD%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5
[13] Бейсколлинг: Dorado HAC vs SUP: #%D0%91%D0%B5%D0%B9%D1%81%D0%BA%D0%BE%D0%BB%D0%BB%D0%B8%D0%BD%D0%B3
[14] Выравнивание ридов и проверка покрытия: #%D0%92%D1%8B%D1%80%D0%B0%D0%B2%D0%BD%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D0%B8%20%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D1%8C%20%D0%BA%D0%B0%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%B0%20%D0%BF%D0%BE%D0%BA%D1%80%D1%8B%D1%82%D0%B8%D1%8F
[15] Что делать с файлом aligned.bam: https://www.braintools.ru%20%D0%B2%D1%8B%20%D1%83%D1%81%D0%BF%D0%B5%D1%88%D0%BD%D0%BE%20%D1%81%D0%B5%D0%BA%D0%B2%D0%B5%D0%BD%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BB%D0%B8%20%D1%81%D0%B2%D0%BE%D0%B9%20%D0%B3%D0%B5%D0%BD%D0%BE%D0%BC!
[16] Как попробовать самому: #%D0%A5%D0%BE%D1%82%D0%B8%D1%82%D0%B5%20%D0%BF%D0%BE%D0%BF%D1%80%D0%BE%D0%B1%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%20%D1%81%D0%B0%D0%BC%D0%B8?
[17] иммунную систему: http://www.braintools.ru/nervous-system/immune-system
[18] 23andMe: https://www.23andme.com/?srsltid=AfmBOoqju6He4wBTNB2iowIe4YbAVGvIgPu7CXPT9sO2I42dw8WlegIH
[19] Патрик Коллисон делал со своим геномом: https://x.com/patrickc/status/2045164908912968060
[20] на отдельной странице: https://iwantosequencemygenomeathome.com/bom
[21] реакций: http://www.braintools.ru/article/1549
[22] PBS: https://ru.wikipedia.org/wiki/%D0%9D%D0%B0%D1%82%D1%80%D0%B8%D0%B9-%D1%84%D0%BE%D1%81%D1%84%D0%B0%D1%82%D0%BD%D1%8B%D0%B9_%D0%B1%D1%83%D1%84%D0%B5%D1%80
[23] науке: http://www.braintools.ru/article/7634
[24] хорошо сохранившийся вортекс 1985 года будет работать абсолютно так же, как модель 2026 года: https://press.asimov.com/articles/vortex
[25] этой статьи: https://chillphysicsenjoyer.substack.com/p/how-to-get-cheaper-lab-equipment
[26] супернатант: https://ru.wikipedia.org/wiki/%D0%9E%D1%81%D0%B0%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5
[27] build123d: https://github.com/gumyr/build123d
[28] Twitter: https://x.com/sethshowes
[29] логику: http://www.braintools.ru/article/7640
[30] NEB Monarch T3010: https://www.neb.com/en-us/protocols/genomic-dna-purification-from-buccal-swabs-t3010
[31] ONT SQK-LSK114: https://nanoporetech.com/document/genomic-dna-by-ligation-sqk-lsk114
[32] РНК: http://www.braintools.ru/article/8114
[33] Isohelix SK-1S: https://isohelix.com/isohelix-dna-rna-buccal-swabs/
[34] потребность: http://www.braintools.ru/article/9534
[35] DIYnafluor: https://github.com/traulab/diynafluor
[36] этапа по: http://www.braintools.ru/article/8766
[37] обучающее видео ONT по праймингу: https://www.youtube.com/watch?v=Pt-iaemrM88
[38] ссылке: https://iwantosequencemygenomeathome.com/photos/run.mp4
[39] Настроил ИИ-агента прямо в редакторе Zed: подключил Gemini и gopls, чтобы агент понимал код и реально помогал писать: https://habr.com/ru/companies/flant/articles/1021154/
[40] От 10 МБ/с к 700 МБ/с: заменил «Яндекс Диск» на Nextcloud/NetBird без знаний DevOps (помог Cursor): https://habr.com/ru/companies/flant/articles/1023850/
[41] 3D-печать на стероидах: как я научил Creality K1C считать затраты филамента: https://habr.com/ru/companies/flant/articles/1003508/
[42] Ригонда 2.0: как я Алису на радиоле женил, или Две причины вскрыть советский музыкальный центр: https://habr.com/ru/companies/flant/articles/989938/
[43] Источник: https://habr.com/ru/companies/flant/articles/1031594/?utm_campaign=1031594&utm_source=habrahabr&utm_medium=rss
Нажмите здесь для печати.