Ваш ДНК-тест придумал 98% своих данных. Легально.

За последние два дня я трижды объяснял друзьям одно и то же. Мне присылают результаты Genotek, 23andMe и других ДНК-тестов со словами «посмотри мой геном», а я отвечаю: это не ваш полный геном. Даже близко.

Люди сначала не верят, и я их прекрасно понимаю. Человек сдал слюну, заплатил деньги, получил огромный красивый отчёт — происхождение, питание, спорт, болезни, лекарства, особенности обмена веществ. Иногда к отчёту прилагается файл, в котором обнаруживаются миллионы генетических вариантов. Что ещё человек должен подумать? Конечно, он уверен, что лаборатория прочитала его ДНК.

Только это не так. Типичный потребительский тест читает порядка шестисот тысяч заранее выбранных точек генома. В одном реальном файле Genotek, который я недавно разбирал, было 632 375 вариантов. После обработки у меня получилось 32,1 миллиона. После фильтрации осталось около 31,1 миллиона.

Возникает простой вопрос: если лаборатория посмотрела 632 тысячи точек, откуда в файле взялся 31 миллион? Ответ: их никто не измерял. Их восстановил компьютер.

Нет, это не мошенничество, и слово «придумал» в заголовке — не обвинение в адрес 23andMe, Genotek или всей популяционной генетики. Это нормальная, легальная и чрезвычайно полезная математическая технология, она называется генотипической импутацией. Но есть принципиальная разница между фразой «эту букву моей ДНК измерили» и фразой «компьютер считает, что с вероятностью 99% эта буква у меня именно такая». Пока мы занимаемся популяционной статистикой, разница часто вполне приемлема. Когда на основании одной такой буквы человеку начинают рассказывать про рак, наследственную болезнь или необходимость всю жизнь избегать определённой еды, мне эта разница уже совсем не кажется академической.

Тем более что я недавно обнаружил её на собственном геноме. Но об этом чуть дальше.

Что на самом деле читает потребительский тест

В человеческом геноме около трёх миллиардов пар оснований. Чип, на котором работают потребительские тесты, не читает эти три миллиарда букв подряд — он устроен совершенно иначе. Если представить геном огромной книгой, то полногеномное секвенирование пытается эту книгу прочитать. А чип открывает её в нескольких сотнях тысяч заранее выбранных мест и спрашивает: здесь A или G? Здесь C или T?

Точки эти совсем не случайные — многие выбраны потому, что хорошо изучены и информативны для происхождения, ряда признаков, заболеваний и лекарственного метаболизма. Но всё, что между ними, чип не видел. Если совсем грубо поделить 600 тысяч на три миллиарда, получится около 0,02% генома. Я понимаю, что это упрощение: перед чипом и не стоит задача проверить каждую неизменную букву. Но как иллюстрация масштаба цифра прекрасная, потому что быстро возвращает смысл словам: SNP-чип — не полное секвенирование генома.

Откуда тогда берутся 30 миллионов

А вот здесь начинается очень красивая генетическая математика. Мы наследуем ДНК не как три миллиарда независимых букв — большие участки хромосом передаются связанными блоками, и соседние варианты часто наследуются вместе. Поэтому если алгоритм знает несколько ваших реально измеренных точек и имеет большую базу людей, у которых этот участок изучен намного подробнее, он может с высокой вероятностью восстановить то, что находится между ними.

Совсем человеческим языком это звучит так: «У людей, у которых вот здесь A, здесь G и здесь T, между ними почти всегда стоит вот такая комбинация. Скорее всего, у вас она тоже такая». И программа заполняет пробелы. Это и есть импутация. Не гадание на кофейной гуще — очень серьёзная статистика. Но всё равно статистика.

Я решил не читать про это, а сделать сам

В какой-то момент мне стало мало знать, как это работает теоретически, — тем более что люди начали регулярно присылать мне свои генетические файлы, почти всегда в уверенности, что присылают «полный ДНК-тест». И я взял один реальный файл Genotek — те самые 632 375 вариантов — и решил пройти весь путь самостоятельно. Не нажать кнопку какого-нибудь сайта «расширить геном», а реально увидеть, как из шестисот тысяч точек появляются десятки миллионов, что означает качество импутации, какие варианты можно оставить, какие надо выбрасывать и что вообще после этого можно говорить конкретному человеку.

Работал я вместе с Claude Code, и здесь для меня отдельная история. Я не биоинформатик. Я врач. Я не провёл последние двадцать лет за сборкой геномных конвейеров в Linux. Но сегодняшние AI-инструменты радикально изменили порог входа. Когда рядом помощник, который читает документацию, разбирает файлы, пишет команды, объясняет ошибки и тут же переделывает то, что не сработало, — ты очень быстро переходишь от «я примерно понимаю, что такое импутация» к «я сейчас сам её запущу».

И запустил. На своём Mac. Сейчас у меня уже есть отдельный рабочий чат под названием «Декодирование генома с анализом»: мне присылают файл, и то, на что в первый раз ушло море чтения, экспериментов и ошибок, теперь повторяется намного быстрее. Но первый запуск был особенно прекрасен — потому что сначала вообще ничего не получилось.

Две попытки через большую науку — и обе мимо

Естественно, сначала я пошёл к существующей серьёзной инфраструктуре. Есть TOPMed — огромный американский научный проект с собственным сервером импутации и колоссальными референсными данными. Загрузил файл. Первая попытка упала на формате. Разобрались, переделали. Вторая попытка упёрлась уже не в формат, а в правила сервиса: минимум двадцать образцов на загрузку. Для исследования когорты — прекрасно. Для меня, когда передо мной один конкретный человек, — бесполезно.

И именно тогда мы с Claude решили: хорошо, будем делать локально. Сначала это было вынужденное техническое решение. Потом я понял, что оно гораздо логичнее. Если я анализирую генетику отдельного человека, зачем вообще отправлять его исходные данные на внешний сервер? Референсные базы можно скачать один раз, софт бесплатный, современный компьютер всё это прекрасно считает — и данные остаются дома. То, что начиналось как обход ограничения, стало для меня архитектурным решением.

Никакого вычислительного центра, никакого университетского кластера. Обычный современный Mac, бесплатная программа Beagle для самой импутации, стандартные инструменты для работы с генетическими файлами и Claude Code как дирижёр всего этого хозяйства. Полный список — в технической справке в конце.

Но самый главный компонент оказался не Beagle и даже не Claude. Главный компонент — не принимать автоматически всё, что тебе выдал конвейер, за истину. Это я понял чуть позже.

Чтобы восстановить одного человека, компьютеру нужны другие люди

Импутация невозможна без референсной панели: алгоритму надо знать, какие генетические комбинации вообще встречаются в популяции. Я скачал данные проекта «1000 геномов» — только основная панель весит около 6,3 гигабайта, а весь набор вместе с генетическими картами и аннотационными базами получился порядка десяти. То есть на моём диске лежит несколько гигабайт информации о том, как устроены геномы других людей. Я показываю программе 632 тысячи точек нового человека, она смотрит, на кого это генетически похоже, — и начинает достраивать пробелы.

Дальше произошла та самая магия, которую я впервые увидел физически. Файл разделили по хромосомам, привели к стандартному виду, прогнали каждую хромосому через Beagle с референсной панелью — и примерно за десять минут на обычном Mac из сотен тысяч генотипов появились десятки миллионов. После склейки: 32,1 миллиона вариантов.

Ещё раз. Лаборатория реально определила 632 375. После математической реконструкции — 32 100 000. Вот буквально вся эта статья в двух цифрах.

И вот теперь начинается самое интересное

Можно было остановиться, написать красивый пост «я восстановил 32 миллиона вариантов на домашнем компьютере», собрать лайки и забыть. Но следующий вопрос намного важнее: а насколько этим 32 миллионам можно верить?

У Beagle есть показатели качества. Один из стандартных называется DR2, и в больших исследованиях привычно оставлять только варианты, у которых он не ниже 0,3. Применяем этот фильтр — и мой конвейер выбрасывает примерно 88% данных. Ну прекрасно. Получается, вся наша чудесная импутация — почти мусор.

Но дальше мы посмотрели внимательнее, и выяснилось странное. Огромное число вариантов имело DR2 равный нулю — и одновременно вероятность конкретного генотипа 0,99 и выше. То есть по одной метрике Beagle говорит «я практически уверен в ответе», у некоторых вариантов вероятность вообще единица, — а другая метрика показывает ноль. Вот здесь надо остановиться. Потому что компьютер может считать идеально, а человек может идеально неправильно понять, что именно компьютер посчитал.

Мы поймали артефакт единичного образца. DR2 придуман для оценки качества импутации в наборе образцов — он работает через изменчивость между людьми. В когорте из сотен и тысяч человек это имеет нормальный статистический смысл. Но у меня один человек. Оценивать изменчивость в популяции из одного пациента просто не на ком — и огромное количество совершенно уверенных генотипов получало ноль. Не потому что Beagle не знает ответ, а потому что когортная метрика в таком контексте ведёт себя совершенно иначе.

Это был один из моих любимых моментов во всём эксперименте. Никакой ошибки программы не было. Beagle не сломался. Формулы не сломались. Сломалась наша первая интерпретация числа.

Поэтому фильтр мы поменяли: там, где когортная метрика информативна, используем её, а там, где она обнуляется из-за единственного образца, смотрим на вероятность конкретного генотипа. И оказалось, что примерно 98,8% вариантов, которые стандартный фильтр хотел выбросить, имели вероятность 0,99 и выше. У FOXO3, APOE и других интересовавших меня локусов — ровно та же история: DR2 выглядит ужасно, открываешь вероятность генотипа — единица.

Именно здесь я окончательно понял: наличие «биоинформатического конвейера» ещё совершенно не означает наличие хорошего генетического анализа.

После честной фильтрации из 32,1 миллиона осталось около 31,1 миллиона — примерно 97%. Можно ли теперь сказать «мы восстановили человеку почти весь геном»? Нет. И это чрезвычайно важное «нет». Вероятность 0,99 означает: в рамках референсной панели, соседних маркеров и модели этот генотип крайне вероятен. Но он от этого не превращается в букву, которую реально прочитал секвенатор. Происхождение записи никуда не исчезло: есть измеренное, а есть достроенное. В статистике они могут работать вместе. В клиническом решении я хочу знать разницу. Особенно если речь идёт о редком варианте.

А потом я сделал то, что надо было сделать с самого начала

Я вернулся к себе. У меня за годы накопилось огромное количество генетических данных: 23andMe, разные коммерческие интерпретации, потом уже полноценное полногеномное секвенирование. И, как у многих, некоторые выводы из первых тестов давно превратились для меня почти в биографические факты.

Например: у меня генетическая непереносимость лактозы. И ещё: генетическая чувствительность к глютену. Я много лет это знал. Не «предполагал», не «где-то читал» — это было написано в генетических данных. Более того, история с лактозой успела прожить целую жизнь: она попала в мои медицинские разборы как практически установленный факт, из неё выросли рекомендации — молока меньше, Lactaid, йогурт и кефир переносятся лучше, твёрдый сыр почти без лактозы. Одна строчка из старого генетического файла обросла полноценной медицинской биографией.

И вот тогда я открыл собственный полный геном — 30-кратное покрытие, каждая позиция прочитана в среднем тридцать раз — и начал сопоставлять старые утверждения с прямым чтением ДНК.

Результат меня действительно разозлил. Старый генетический вывод о непереносимости лактозы не подтвердился. То же самое произошло с тем, что годами фигурировало как моя «чувствительность к глютену». И именно в этот момент слово «придумал» в заголовке перестало быть для меня шуткой. Потому что это уже не рассуждения про чужую статистику и не абстрактный клиент. Это мой собственный геном. У меня годами существовало знание о себе, оно мигрировало из одного отчёта в другой, обрастало объяснениями и рекомендациями — и только прямое чтение показало, что генетическое основание под этим знанием не подтверждается.

Здесь очень важно не сказать глупость

Из этого нельзя сделать вывод «WGS доказал, что я прекрасно перевариваю лактозу». Лактозная непереносимость — клинический феномен. Она бывает генетически обусловленной, бывает вторичной, меняется при заболеваниях кишечника, и вообще переносимость стакана молока человек способен проверить значительно проще, чем секвенировать геном.

Поэтому мой вывод другой. Выдуманной оказалась не обязательно реакция кишечника. Выдуманным оказался тот генетический факт, которым мне эту реакцию объясняли. И это намного важнее — потому что симптомы я могу проверить, а свою ДНК глазами не видит никто. Если отчёт говорит «у вас такой генотип», человек принимает это как базовый факт о себе.

С глютеном всё ещё веселее — там произошла классическая подмена понятий. Потребительская генетика обычно говорит о предрасположенности к целиакии, прежде всего через гены HLA. А через пару пересказов человек уже произносит «у меня генетическая непереносимость глютена». Это совсем не одно и то же. Варианты HLA-DQ2 и DQ8 связаны с целиакией, но наличие соответствующего гаплотипа не означает, что целиакия у человека есть, и тем более не означает, что он клинически не переносит глютен. А отсутствие некоторых суррогатных маркеров в потребительском тесте не заменяет полноценного HLA-типирования и клинической диагностики. В моём случае важнее всего было другое: старый генетический вывод, который я много лет таскал с собой как часть собственного профиля, проверки полным геномом не выдержал.

Семь ложных отчётов из двадцати шести

И здесь я обязан рассказать ещё одну деталь. Полногеномное секвенирование я покупал как обычный клиент — заплатил деньги, сдал материал, получил данные. И вместе с сырыми данными сервис выдал мне готовые отчёты. Двадцать шесть штук. Красивые, автоматические, на все случаи жизни.

Я их проверил. Семь из двадцати шести оказались для меня ложными.

Вдумайтесь в это. Исходные данные — настоящие, это реальное прочтение моей собственной ДНК, тридцатикратное покрытие, лучшее сырьё, которое сегодня можно купить за разумные деньги. А слой автоматической интерпретации поверх этого сырья дал сбой в семи отчётах из двадцати шести. Больше четверти. То есть проблема даже не в том, чип у вас или полный геном. Можно честно прочитать ДНК — и всё равно выдать человеку заметную долю мусорных выводов. Сырьё правильное. А отчётам верить без проверки нельзя.

Поэтому анализ собственного WGS теперь приходится делать самим, локально. И это очень тяжёлая работа — про неё я расскажу отдельно.

И у меня возник естественный вопрос. Если я — врач, который достаточно глубоко копается в собственных медицинских данных, — несколько лет носил за собой два таких «генетических факта», а потом нашёл семь ложных отчётов из двадцати шести на собственном честно прочитанном геноме, сколько всего этого у обычного человека?

Вот где я действительно охренел

Потому что ошибка редко остаётся одной строчкой. Сначала где-то появляется генотип. Потом сервис делает интерпретацию. Потом эту интерпретацию загружают в другой сервис. Потом она попадает в медицинский отчёт. Потом AI читает этот отчёт и воспринимает её как подтверждённый факт. Потом на основании «подтверждённого факта» формируется рекомендация. И через несколько лет никто вообще не помнит, откуда первоначально взялась эта буква.

Вот это намного опаснее самой ошибки. Это каскад доверия: один сомнительный исходный факт проходит через десять систем и после каждой становится только солиднее. Через несколько итераций он уже выглядит как «известный диагноз пациента». А источник — один чип десятилетней давности.

Поэтому теперь, когда мне присылают генетический файл, мой первый вопрос — не «что нашли», а «как нашли». Раньше было естественно сразу смотреть APOE, BRCA, MTHFR, FOXO3, какие-нибудь маркеры долголетия. Сейчас я сначала спрашиваю: что это вообще за данные? Чип, экзом, полный геном? Что было непосредственно измерено, а что достроено алгоритмом? Какого качества исходник, целы ли форматы, не перепутаны ли системы координат? И только потом можно смотреть на страшные и красивые слова.

Потому что одна и та же запись «A/G» на экране может означать совершенно разные вещи. В одном отчёте эту позицию непосредственно проверил чип. В другом её никто не проверял — алгоритм достроил её с вероятностью 0,998. В третьем секвенатор получил несколько десятков независимых прочтений этого места и увидел A/G напрямую. Для пользователя это одни и те же три символа. Для меня — три разных уровня происхождения данных. И если речь идёт о полигенном риске, собранном из миллиона точек, импутация может быть великолепна. Если это редкий потенциально патогенный вариант, на основании которого хотят менять лечение, — разговор совсем другой.

Кстати, там, где импутация должна работать, она работает блестяще

Я взял восемь полигенных шкал риска из международного каталога PGS. На исходном чипе Genotek покрытие нужных для этих моделей точек составляло всего 7–16%. После импутации — 91–95%. Вот здесь технология делает ровно то, ради чего её придумали: из ограниченного чипа получается массив, на котором уже можно нормально применять популяционные модели. Для сравнения я использовал 503 европейских образца из «1000 геномов», для риска ишемической болезни сердца взял сразу три модели — консенсус получился примерно на 83-м перцентиле. Отдельно собрал панель долголетия из 53 маркеров.

Именно поэтому было бы абсолютно неправильно закончить статью словами «импутация — фигня». Импутация — великолепный инструмент. Она особенно хороша, когда вариант распространён, хорошо представлен в референсной панели, когда ваше происхождение в этой панели нормально отражено и окружающий участок хромосомы хорошо изучен. На этом стоит значительная часть современной популяционной генетики — без импутации она просто не существовала бы в нынешнем виде.

Но медицина отдельного человека часто задаёт совсем другой вопрос: нет ли у него чего-то редкого?

А редкие варианты — самое слабое место всей конструкции

Логика простая: чтобы что-то статистически восстановить, надо сначала видеть закономерность. А если вариант встретился в популяции один раз — какая закономерность? В проекте TOPMed полностью секвенировали более 53 тысяч геномов и нашли порядка 410 миллионов вариантов. Почти половина из них оказалась одиночными — встретилась у единственного человека.

Для меня это одна из самых красивых цифр геномики. Она объясняет, почему каждый человек — не просто очередная комбинация известных точек. Огромная часть человеческого генетического разнообразия редка. Некоторые варианты фактически семейные. Некоторые уникальны. Если вашей редкой семейной мутации нет в референсной панели, алгоритм не может её угадать — он её никогда не видел. Её надо прочитать.

Вот здесь и проходит принципиальная граница с полногеномным секвенированием. Там мы уже не выбираем несколько сотен тысяч маячков: ДНК фрагментируется, миллионы фрагментов непосредственно читаются прибором, и компьютер собирает их относительно эталонного генома. При 30-кратном покрытии каждая позиция прочитана в среднем тридцать раз — и слово «в среднем» здесь важно. Где-то будет шестьдесят, где-то восемнадцать, где-то пять, а есть участки — повторы, псевдогены, HLA, структурные перестройки, — где короткие прочтения сами по себе далеко не идеальны. Так что фраза «у меня WGS, значит, я знаю 100% своего генома» тоже неправильная.

Но фундаментальная разница остаётся. Чип плюс импутация: посмотрели немного и статистически восстановили остальное. Полный геном: попытались непосредственно прочитать вашу собственную ДНК.

И меняется цена. Исторически у чипов был железный аргумент — стоимость: когда полный геном стоил десятки тысяч долларов, спорить было не о чем. Сегодня потребительский тест по-прежнему стоит сотню-другую долларов, а нормальное 30-кратное секвенирование по промо-цене можно получить за несколько сотен. И если задача — происхождение, развлекательная генетика, часть распространённых вариантов, — чип совершенно разумен. Но если задача звучит как «я хочу один раз получить максимально полноценный геномный исходник, который буду анализировать следующие десять лет», экономия нескольких сотен долларов начинает выглядеть всё менее убедительно.

И ещё две неприятные вещи

Первая — ложноположительные результаты. Есть известная работа, в которой клиническая лаборатория перепроверяла редкие потенциально значимые варианты, найденные в сырых данных потребительских тестов. Около 40% направленных вариантов не подтвердились. Сразу оговорюсь: это не означает, что «40% результатов 23andMe неправильные» — выборка была маленькая и специально обогащённая подозрительными находками. Но практический вывод совершенно здравый: если сырые данные потребительского теста неожиданно сообщают вам «патогенный вариант» и название страшного гена — не надо сразу удалять орган. Надо подтвердить находку.

Вторая — обратная ошибка, ложное спокойствие. Исторически один из потребительских отчётов 23andMe по BRCA проверял несколько конкретных вариантов, характерных для определённых популяций. Это полезно. Но «эти варианты у меня не обнаружены» совсем не означает «у меня нет патогенного BRCA1/BRCA2» — патогенных вариантов там огромное количество. Если человек путает точечный скрининг с полноценным исследованием гена, зелёная галочка может оказаться опаснее красной. Красную он хотя бы перепроверит. Зелёную — забудет.

И это возвращает меня к моей лактозе

Почему именно эта история меня так зацепила? Потому что это не BRCA, не редкая кардиомиопатия, не страшный диагноз. Это абсолютно бытовая вещь. Лактоза. Я много лет спокойно носил в голове «генетическая непереносимость» и никогда не сомневался. Зачем сомневаться — в ДНК же написано.

А оказалось, что даже такой маленький и вроде бы безобидный генетический «факт» стоит иногда спросить: а вы его реально измеряли?

Поэтому теперь, когда мне показывают огромный генетический отчёт, я уже не испытываю прежнего благоговения перед количеством страниц. Сто страниц можно сделать за несколько минут. Миллионы вариантов — за десять. AI напишет пятьсот красивых интерпретаций ещё быстрее. Сложность больше не в генерации отчёта. Сложность — понять, что вообще имеет право в него попасть: измерен вариант или достроен, что о нём известно в клинических базах, кто и насколько убедительно это показал, соответствует ли находка реальной картине у человека, и — пожалуй, главный вопрос — изменит ли она хоть что-нибудь в его жизни. Потому что можно выдать человеку три тысячи генетических «интересностей» и сделать его жизнь только хуже.

AI сделал генетику невероятно доступной — и опасность ошибок только выросла

Я сам идеальный пример. Ещё недавно мне пришлось бы искать биоинформатика, объяснять задачу, ждать, получать файлы обратно. Сейчас я беру Claude Code и сам собираю рабочий процесс из инструментов, о существовании которых год назад знал в лучшем случае понаслышке. AI объясняет незнакомые команды, пишет скрипты, исправляет ошибки, предлагает архитектуру. Это потрясает.

Но есть одна проблема: AI совершенно спокойно помогает построить идеально работающую методологическую глупость. История с обнулившейся метрикой качества — прекрасный пример. Все команды исполнились, все файлы создались, ни одной красной ошибки. Результат: 88% вариантов надо выбросить. Можно было поверить и написать вывод. А мы остановились и спросили: почему? Посмотрели вероятности генотипов, посмотрели математику, вспомнили, что образец один, — и обнаружили, что проблема не в генотипах, а в применении когортной метрики к отдельному человеку.

Вот в этом я сегодня вижу главное место человека. Не обязательно самому помнить каждый параметр каждой программы — AI напомнит. Нужно уметь спросить: «А результат вообще имеет смысл?»

И мне совершенно не стыдно сказать: я этому научился с AI. Наоборот — мне кажется, это одна из самых интересных вещей, происходящих сейчас в науке: человек с хорошей предметной базой внезапно получает возможность проникнуть в соседнюю техническую дисциплину намного глубже и быстрее, чем раньше. Но при одном условии. AI не должен быть авторитетом. Он должен быть инструментом.

В ближайшие годы проблема будет не в том, чтобы прочитать геном

Секвенирование дешевеет, приборы становятся лучше, интерпретация — быстрее. AI сможет за минуты прогнать вариант через все клинические базы и тысячи публикаций. И дефицит сместится: главным дефицитом будет уже не информация, а контроль качества выводов. Кто-то должен отличать измеренное от достроенного, патогенное от страшно звучащего, ассоциацию от причинности, популяционный риск от индивидуального диагноза, биологический механизм от клинически полезного действия.

Поэтому я не предлагаю выбрасывать ваши 23andMe и Genotek. Наоборот — если они у вас есть, это полезные данные, и я сам теперь умею извлекать из них гораздо больше, чем лежит в исходном файле. Для происхождения — прекрасно. Для многих распространённых вариантов — отлично. Для полигенных рисков после качественной импутации — очень полезно. Для части фармакогенетики — тоже.

Просто надо перестать путать разные технологии. Чип — не полный геном. Импутация — не секвенирование. Высокая вероятность — не прямое прочтение. Найденный вариант — не диагноз. Риск по HLA — не непереносимость глютена. Генотип лактазной персистентности — не вся клиническая история с молоком. Запись в клинической базе — не окончательный приговор. И особенно: красивый генетический отчёт ещё не означает, что все его исходные факты правильные.

Собственно, поэтому я и написал эту статью

Я три раза за два дня объяснял друзьям разницу между чипом и полным геномом — и понял, что проще один раз написать. Потому что огромное количество людей сейчас уверено: «я уже сдал ДНК». Нет. Возможно, вы сдали очень полезный тест и получили отличные данные. Но это не то же самое, что полногеномное секвенирование.

И если ваш исходный тест содержит около 600 тысяч точек, а какой-нибудь сервис потом выдаёт вам файл на 30 миллионов вариантов, задайте один вопрос: какие из них вы действительно увидели в моей ДНК? Ответ, скорее всего: несколько процентов. Остальное восстановил алгоритм. Иногда великолепно. Иногда практически со стопроцентной уверенностью. Иногда ошибочно. А иногда из этой ошибки через несколько лет вырастает вполне реальный «медицинский факт» — как у меня произошло с лактозой и глютеном. И даже честно прочитанный геном не спасает от плохой интерпретации — семь ложных отчётов из двадцати шести к моему собственному WGS тому доказательство.

Компьютер сегодня может за десять минут сделать из 632 375 вариантов почти 32 миллиона. Но количество строк в файле — не количество истины. Самый ценный вопрос остаётся очень простым: откуда это взялось? Из секвенатора? Из чипа? Из референсной панели? Из чужой интерпретации? Или уже из AI, который поверил предыдущему AI?

Вот эту цепочку я теперь проверяю первой. Потому что после собственного эксперимента мне уже недостаточно, чтобы компьютер сказал «вероятность 99,9%». Если от этой буквы зависит серьёзное медицинское решение, я хочу знать: вы её действительно видели? И если ответ — «нет, но мы практически уверены, что она там», — хорошо. Это полезная информация. Но это ещё не конец анализа.

Это его начало.


Техническая справка для тех, кому интересно повторить логику

Исходные данные. Genotek SNP-chip (Illumina-based), 632 375 вариантов, сборка GRCh37/hg19, плотность примерно уровня 23andMe v5.

Почему локально. Первая попытка через TOPMed Imputation Server упала на формате (multi-chromosome VCF), вторая — на политике сервиса «минимум 20 samples». Single-patient сценарий туда не проходит, поэтому импутация перенесена на локальную машину.

Софт. Beagle 5.5 (27Feb25) на OpenJDK 17, -Xmx12g, 8 потоков; bcftools 1.20; plink2 v2.0; tabix/htslib 1.20; samtools 1.20; Python (pandas, numpy, scipy, openpyxl). Оркестрация — Claude Code 2.1.104.

Референсные данные. 1000 Genomes Phase 3 в bref3 (~6,3 GB), genetic maps GRCh37, EUR-subset 1000 Genomes, scoring-файлы PGS Catalog, ClinVar VCF. Весь переиспользуемый набор — около 10 GB.

Workflow. Исходный VCF → split по 23 хромосомам → bcftools norm (multiallelic → biallelic) → Beagle 5.5 + 1000 Genomes bref3 + genetic maps (~10 минут импутации) → bcftools concat → 32,1 млн вариантов → quality filter → 31,1 млн.

Особенность single-sample QC. Стандартный фильтр DR2 ≥ 0,3 исключал около 88% вариантов: в конфигурации n=1 множество вариантов имело DR2=0 при очень высокой genotype probability. Использовано композитное условие: DR2 ≥ 0,3 или (DR2=0 и max(GP) ≥ 0,95). Около 98,8% первоначально исключённых вариантов имели GP ≥ 0,99. Это не значит, что GP надо использовать вместо DR2 в нормальной когортной импутации, — это решение для конкретной single-sample конфигурации, где когортный DR2 нельзя механически читать как индивидуальную вероятность ошибки.

Полигенные шкалы. PGS000013, PGS000014, PGS000018, PGS000030, PGS000039, PGS000338, PGS000812, PGS003725; scoring через plink2. Покрытие моделей на сыром чипе — около 7–16%, после импутации — 91–95%. Референс для Z-score — 503 EUR-образца 1000 Genomes. Для CAD — ансамбль из трёх моделей, консенсус около 83-го перцентиля. Дополнительно — longevity-панель из 53 маркеров.


Основные источники и базы

23andMe — техническая документация по генотипированию и импутации · 1000 Genomes Project · TOPMed / NHLBI Trans-Omics for Precision Medicine · Beagle 5.5 documentation · ClinVar · PGS Catalog · gnomAD.

Taliun D. et al. Sequencing of 53,831 diverse genomes from the NHLBI TOPMed Program. Nature, 2021.

Tandy-Connor S. et al. False-positive results released by direct-to-consumer genetic tests highlight the importance of clinical confirmation testing. Genetics in Medicine, 2018.

Работы по качеству genotype imputation в различных ancestry-группах и зависимости качества от minor allele frequency.

Цены на потребительские тесты и WGS постоянно меняются. Цифры в статье нужны для сравнения порядка стоимости, а не как прайс-лист.

Связаться
Вопросы присылайте удобным способом — ответы публикую здесь.
Не присылайте медицинские документы и данные третьих лиц.
Наверх