Как устроен ftdnastat
Технический документ: откуда сайт берёт данные, как их обновляет и проверяет, и как считаются числа на страницах. Пороги и правила приведены такими, какими они работают сейчас.
1. Источники #
| Источник | Что берётся | Как часто |
|---|---|---|
| Публичные деревья Y-DNA и mtDNA Haplotree FamilyTreeDNA | узлы деревьев, число китов на узле по странам, число Big Y, фамилии | проверка каждый день, загрузка при новом выпуске |
| FamilyTreeDNA Discover | возраст общего предка (TMRCA) каждой Y-ветки с интервалом; древние образцы с веткой, культурой и датой; пути миграции веток | проверка каждый день; палеообразцы и пути миграции полностью раз в 30 дней |
| Mitotree в FamilyTreeDNA Discover | возрасты мт-веток, древние мт-образцы с координатами | при новой версии дерева |
| Публичные карты участников гео-проектов FamilyTreeDNA | место предка, ветка, отметка о подтверждении SNP-тестом | раз в 30 дней |
| Публичные деревья YFull Y и мт | узлы, образцы со страной, регионом и родным языком, возрасты TMRCA и formed, пометка «new» | раз в месяц |
| TheYtree | третья оценка возраста Y-веток, сопоставленная по SNP | редко, вручную |
| Население стран и регионов (ООН, перепись-2021, Wikidata) | число мужчин, для протестированности и поправки на плотность | вручную |
Все источники публичные. Имена людей с карт гео-проектов на сайт не попадают.
2. Обновление и публикация #
Раз в сутки проверяется версия каждого источника: дата выпуска дерева, заголовок ответа сервера или итоговые числа корня. Загружается только то, что изменилось. Сайт пересобирается, если изменились данные или код, и в любом случае раз в неделю.
Перед публикацией сборка проходит приёмку:
- на месте все обязательные файлы, у каждой страницы есть заголовок, канонический адрес и пара на другом языке;
- в тексте нет пустых и нечисловых значений вместо чисел, все адреса карты сайта существуют и не повторяются;
- страниц, китов, стран и карт путей не меньше 95 % опубликованного, Y-дерево не старее опубликованного.
Сборка, не прошедшая приёмку, не публикуется. Опубликованные сборки сохраняются в архиве.
Новое Y-дерево FTDNA перед подключением проходит ещё и проверку предиктора гаплогрупп: на тех же данных доля ошибок предсказания по ключевым веткам не должна вырасти.
3. Страны, регионы и народы #
FTDNA. Страна кита — самозаявленное происхождение самого дальнего известного предка по линии. Регионы, которые FTDNA ведёт отдельной строкой («Russia (Republic of Dagestan)»), — отдельные страницы и в страну-родителя не входят. Киты без страны в долях не участвуют.
YFull. Страна и регион образца даны кодами ISO, народ — родным языком из анкеты (ISO 639-3). Коды сопоставлены со странами и регионами FTDNA; регион, у которого есть своя строка в FTDNA, выводит образец из страны так же, как это делает FTDNA. Язык, совпадающий со страной или регионом образца, второй раз не засчитывается.
Сравнимый срез YFull. Для сравнения с FTDNA берутся только клиенты YFull (номер YF…) и только современные образцы: научные публикации и древняя ДНК устроены иначе, чем выборка клиентов.
4. Дерево ветвей и доли #
Доли считаются накопительно: строка ветки включает все киты её подветок. Поэтому вложенные ветки никогда не стоят рядом как соседи, а кит, чей тест не дошёл глубже узла, остаётся на узле и помечается звёздочкой (J-M172*).
- Y, крупные ветки. Узел становится крупной веткой, если в его поддереве не меньше 0,4 % китов мира со страной; цепочки, где единственная подветка держит почти всё, схлопываются.
- Y, дерево страны. Узлы из словаря подписанных ветвей (J1 → Z1842 → CTS1460), накопительно, от 1 % выборки и не меньше 3 китов; узел, единственная показанная подветка которого держит ≥ 95 % его китов, уступает ей место. До 30 строк на странице, 14 в карточке.
- мт. Буква, ветка вида
H1a, терминальный узел; дерево — по группам одной буквы. - Малые выборки. Страна с выборкой меньше 50 китов помечена и не участвует в находках; при n < 30 у доли показывается 95-процентный интервал Уилсона.
5. Страница ветки #
Страница есть у каждой ветки, в поддереве которой не меньше 50 китов со страной: сейчас это 4 297 Y-веток и 1 182 мт-ветки. Цепочки равнозначных узлов, где единственная подветка держит ≥ 99 % китов (Y) или ≥ 97 % (мт), сводятся к одной странице с перечнем равнозначных имён.
- Страны и карта. Доля ветки в каждой стране и доля страны в ветке; карта долей по странам.
- Подветки деревом. Подветки со своими страницами: прямые все, вложенные — от 1 % китов ветки (не меньше 3); цепочки сворачиваются по тому же правилу 95 %, до 30 строк.
- Возраст. Средняя оценка TMRCA FamilyTreeDNA Discover с интервалом; рядом — YFull (TMRCA и formed — время отделения от родительской ветки, 95-процентные интервалы) и TheYtree, если их узел сопоставлен с веткой. Узел YFull сопоставляется с узлом FTDNA по имени или по общему SNP.
- Как ветка разрасталась. Для каждого момента — сколько подветок уже имели своего общего предка (по Discover для Y, по Mitotree для мт), шкала логарифмическая. Подсвечено окно, где число подветок умножилось сильнее всего, при не меньше 5 подветках на его начало; последнее тысячелетие не учитывается, потому что там число подветок определяется тем, сколько родственников сдали тест.
- Путь миграции. Модель FamilyTreeDNA Discover: путь наименьшей стоимости между оценками мест предков.
- Древние образцы из раскопок в поддереве ветки.
6. YFull: сравнение, соседи, пары, родня через границу #
- Сравнение с FTDNA. Сравнимый срез YFull раскладывается по тем же узлам дерева FTDNA, что и киты; «согласие» — косинусное сходство долей, «расхождение» — строка дерева с наибольшей разницей.
- Похожие народы и регионы. Дивергенция Йенсена–Шеннона долей крупных веток; сосед показывается при сходстве ≥ 80 % и не меньше 150 сравнимых образцов у обеих сторон.
- Пары Y × мт. У людей, сдавших оба теста, сочетания отцовской и материнской линий против ожидаемого при независимости линий; значимость — гипергеометрический хвост.
- Родня через границу. Молодые ветви Y-дерева (общий предок не старше 500 лет, от двух образцов), объединяющие людей из двух стран или регионов. Число общих ветвей пары сравнивается со случайной пересборкой связей, в которой у каждой страны сохраняется её число связей (1000 раундов): ожидаемое учитывает, насколько страна вообще связана с заграницей. Показываются пары от 5 ветвей, вдвое чаще ожидаемого, p ≤ 0,01.
- Новые образцы. YFull сам помечает недавно добавленные образцы и снимает пометку через несколько недель; сайт показывает их по странам, народам и веткам.
7. Гео-проекты FamilyTreeDNA #
Участники проектов сами включили показ места предка на публичной карте проекта. Один человек может состоять в нескольких проектах: его записи склеиваются в одну.
- Вес семьи. Записи с одним и тем же предком, веткой и точкой считаются одной семьёй и вместе весят как один голос.
- Ячейки. Место предка округляется до ячейки 1°. В ячейке закрашивается ветка, у которой там не меньше 3 человек; меньшие ячейки учитываются в итогах и в центре, но не рисуются.
- Доля ветки в месте — голоса ветки против голосов всех участников ячейки.
- Центр ветки и радиус 68 %. Взвешенный центр ячеек в той части света, где у ветки больше всего голосов (иначе диаспора в Америке переносит центр в океан). Голос взвешен по протестированности: вес = √(медианная плотность участников / плотность в его стране или регионе), в пределах от 1/5 до 5, так что страны, где тестируются чаще, не стягивают центр к себе. Радиус — расстояние, внутри которого 68 % взвешенных голосов.
- Ветка не на своём месте. Ячейка сравнивается со всеми участниками в радиусе 300 км вокруг: биномиальный хвост для пары «ячейка × ветка», поправка Бенджамини–Хохберга по всем парам, q ≤ 0,05 и не меньше 3 человек. Точки, где много людей разных веток, — это координаты страны или города, а не место предка, и они исключаются.
- Древние против современных. Для веток с древними образцами — расстояние каждого образца от центра современных носителей.
8. Древняя ДНК и культуры #
Y-образцы — FamilyTreeDNA Discover, мт-образцы — Mitotree и YFull. Дата образца — середина интервала датировки. Культура — запись Discover; разные написания одной культуры склеены.
Сравнение культур. Каждый образец обрезается до своего предка на выбранной глубине дерева или до предка, чья ветка уже существовала к выбранному году (по возрастам Discover). Образец, тест которого не дошёл до этой глубины, остаётся на своей ветке.
- «A → B» — доля образцов A, у которых в B есть та же ветка или ветка под ней: неглубокий образец мог относиться к любой своей подветке.
- Пересечение частот — сумма меньших долей общих веток; доля неглубокой ветки при этом делится между её подветками пропорционально их долям в обеих культурах вместе.
Цепочки культур показываются, пока сходство соседних культур не ниже 10 %; числа в текстах цепочек сверяются с данными при каждой сборке.
9. Находки #
Пересчитываются при каждой сборке, участвуют страны от 50 китов:
- характерные ветки — доля в стране не меньше чем втрое выше мировой и не меньше 10 китов;
- похожие страны — дивергенция Йенсена–Шеннона крупных веток, выборки от 100;
- кластеры одного узла — ≥ 10 % выборки и ≥ 20 китов на одном узле: обычно это фамильный проект;
- молодые широкие ветки (моложе 2000 лет и в 5 странах и больше) и древние сосредоточенные (старше 4000 лет, ≥ 50 % китов в одной стране, ветка от 200 китов);
- отношение мт к Y, расхождение отцовских и материнских соседей, расхождения FTDNA и YFull.
10. Динамика #
- FTDNA по неделям. При каждом новом выпуске дерева сохраняется компактный срез: узел, родитель, киты по странам. Срезы сравниваются по внутреннему номеру узла, поэтому переименование — не удаление и добавление.
- Новое за месяц. Разница двух срезов с интервалом не меньше 30 дней. Узел, исчезнувший из нового дерева, отдаёт свои киты ближайшему сохранившемуся предку, а суммы считаются по поддеревьям: кит, перенесённый в новую подветку, новым не считается.
- YFull по месяцам. Образцы сопоставляются по номеру, ветки — по имени; ветка, сменившая имя, но сохранившая ≥ 80 % образцов, считается переименованием.
11. Ограничения #
- Это клиенты компаний, а не население: США, Британия и Скандинавия представлены избыточно, а состав зависит от того, кто решил тестироваться.
- Участники гео-проектов сами выбирали, вступать ли и какое место указать.
- Возрасты — модельные оценки; у разных источников разная калибровка, поэтому они показаны рядом, а не усреднены.
- Сопоставление узлов YFull и FTDNA идёт по именам и SNP; часть узлов YFull не имеет пары и поднимается до ближайшего сопоставленного предка.