Русский
Русский
English
Статистика
Реклама

Генеалогическое древо

Из песочницы Поиск родственников через тест ДНК. Часть 1 Как ДНК может помочь узнать предков?

23.09.2020 14:17:26 | Автор: admin
Я расскажу вам немного о пользе ДНК-тестирования при поиске родственников и своих корней. Постараюсь сделать это достаточно кратко и просто, настолько, насколько это нужно для понимания сути днк-тестирования при поиске своих родственников и информации о предках.

Зачем делать тест ДНК при генеалогических исследованиях


Что такое классические генеалогические исследования, основанные на документах (актовые записи ЗАГС, метрические книги, ревизские сказки, базы данных участников войн и т.д.) это понятно. Это классика, это гарантированное подтверждение достоверности информации. Но бывают ситуации, когда документов просто нет (пожар, война на территории архива) или когда человек банально не знает своих настоящих фамилии и места рождения (усыновление, например). Можно, конечно, искать везде и сразу, но это очень затруднительно и по времени и финансово, особенно если человек или предки перемещались территориально.
Вот тогда есть ещё один способ найти информацию о своих родственниках это анализ ДНК.

image

Всем известно, что ДНК передаётся из поколения в поколение, но как это может нам помочь? Научно доказано, что все живущие на планете люди имеют одного общего предка по мужской линии и одного общего предка по женской линии, т.е. всё человечество происходит от одного мужчины и одной женщины (генетические Адам и Ева, которые к библейским не имеют никакого отношения). Постепенно из поколения в поколение в ДНК происходят необратимые мутации, которые рождают отдельные гаплогруппы (ветки ДНК), восходящие к общему предку и передаваемые всем потомкам, через которые можно проследить цепочку до самого давнего предка Адама с той самой корневой гаплогруппой. Вообще лучше на эту тему читать отдельную литературу, но смысл должен быть понятен прослеживаемость родства сквозь поколения через ДНК-тестирование.

Как далеко можно проследить предков через тест ДНК?


Тесты ДНК можно разделить на 3 типа: аутосомный общий тест (au-DNA), мужская линия (y-DNA), женская линия (mt-DNA).
Аутосомный тест самый популярный. Он выявляет совпадение со всеми протестированными, с кем у вас будет общий предок примерно в 8 поколении. Почему так неточно? Много нюансов, например в процентном соотношении четвероюродные браться на одном уровне генеалогического древа и троюродный родственник с разницей в два поколения с вами будут иметь примерно одинаковый процент совпадения части ДНК. Всё зависит от возраста тестируемого, точнее от числа поколений до общего предка.

image

ДНК в теории делится примерно так:

  • в вас 100% Вашей ДНК и Длина молекулы ДНК 7000 cM (нуклеотидов)
  • от мамы и папы у вас по половине их ДНК, а значит совпадение с каждым из них примерно по 50% 3500cM
  • с дедушкой и бабушкой совпадение уже примерно по 25% 1750cM
  • в 3 поколении с прадедушками и прабабушками уже только по 12,5% 875cM
  • в 4 поколении 6,25% 440cM
  • в 5 поколении 3,1% 220cM
  • и далее меньше и меньше...

image
Это примерная схема в процентах, а ниже в единицах измерения сМ.

image

image

Например, мой предок в 4 поколении, являющийся также общим предком в 4 поколении для того родственника, которого я нашёл, даёт совпадения между нами обоими в 85cM, а между мной и его отцом 128cM. Потому что те самые расчётные 6,25% до прапрадеда в 4 поколении размывается ДНК людей по другой родственной ветке, вот и получается уже 6,25% / 2 = 3,1 / 2 = 1,56 / 2 = 0,78% или расчётные 54,68cM. Реально тест показывает у меня даже больше 85cM.

Я об этом родственнике не знал, но когда появились ФИО на руках и его генеалогическое древо сразу нашлись общие точки и стало понятно кто кому и кем приходится. Сайты с результатами тестов же выдают совпадения и 0,2% и 0,1%, так что родство может быть очень дальнее.
Тест мужской линии (Y-ДНК) и тест женской линии (mt-ДНК) интереснее, хотя менее популярны из-за своей дороговизны. Дело всё в том, что по прямой мужской линии от деда к отцу, от отца к сыну передаётся неизменная часть ДНК, по которой можно определить общего предка хоть на интервале 100 лет, хоть 10000 лет. Аналогично по женской линии от прабабушки к бабушке, от бабушки к матери, от матери к дочери, от дочери к детям любого пола (но на мальчике далее не передастся). Этот тест не покажет вам много совпаденцев в процентном соотношении, но покажет место в цепочке ДНК. Вы точно сможете понять, что ваш далёкий предок был из финнов, например, даже если последние несколько поколений всегда жили в Украине или России и известные вам фамилии прадедушек все до единой славянские.

image

Совмещение этих тестов даст более точные и интересные результаты, но это более затратно, поэтому для начала лучше ограничиться аутосомным тестом, который даст вам набор хромосом с набором мутаций от всех предков.

Какие результаты я увижу, после того как сделаю тест ДНК? Что делать дальше?


Результаты всех, кто сделал тест, попадают в единую базу лаборатории. Если человек не скрыл свои данные сознательно, то у всех, с кем совпадает хоть небольшая частичка ДНК, этот человек появится в списке совпаденцев.

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

image

image

Имея совпаденцев с достаточно высоким процентом имеет смысл поискать фамилии в своём древе, а также просто связаться с людьми по их контактным e-mail и пообщаться, описав совпадение и расспросив друг друга. Общего предка в 6-7 поколении, да ещё и по женской линии, например, вы так просто не вычислите, но если фамилия не менялась, или если место жительства совпадёт у обоих известных предков это вам даст направление поиска и лишние зацепки. Почему всё не так просто? Потому что уже в 4 поколении у вас 16 предков и столько же фамилий по их рождению; далее каждое поколение умножаем на 2.

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

Этические вопросы и вопросы защиты персональных данных и результатов ДНК


Лаборатории (особенно иностранные) на самом деле очень серьёзно относятся к защите персональных данных и просто так к их результатам никто доступ не получит. Функция поиска совпадений заложена изначально, поэтому если не хотите неожиданно найти внебрачных детей, то лучше указать не совсем реальную фамилию и имя в профиле тестируемого, а также создать отдельный e-mail для приёма писем от возможных совпаденцев (или не делать тест совсем). В остальных случаях лично я никакого криминала в хранении образца ДНК в каких-либо базах не вижу. Можно притянуть за уши вариант доступа к результатам ДНК правоохранительными органами, но вы же не совершаете ничего противозаконного, вам же нЕчего бояться?!

Ну а с целью поиска родственников наоборот нужно указывать реальные данные, указывать дополнительную информацию по искомым фамилиям и местности, тогда шансы найти кого-то существенно повысятся.

Резюме по тестам ДНК


ДНК-тестирование хороший помощник для исследователей своего рода, особенно если у вас сильные тупики в поисках, связанные с утерей документов или родственных связей. В случаях активных поисков со стороны потерявших память или усыновлённых, так вообще рекомендованный инструмент в поисках.

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

Как я древо семьи строил

14.12.2020 12:16:00 | Автор: admin

В ноябре 2018 года меня вновь посетила идея создания древа моей семьи. Особенно на это подтолкнулаоцифровка архивов Великой Отечественной Войны, в которой я нашел своих предков:

До этого я пытался как-то записать все на бумаге, но буквально через месяц это было утеряно. В связи с чем в этот раз я решил хранить данные в электронном формате.

Прежде чем делать что-то своё, я:

  1. Определилряд критериевк сервису:

    1. Возможность импорта/экспорта всех данных в простом виде (возможность создания бекапа и независимость от одного сервиса)

    2. Возможность создания сложных структур (не только вертикальные генеалогические линии, но и горизонтальные, также множенство, многомужество и другие ситуации)

    3. Приемлемое отображение в виде графа

  2. Изучил всевозможные аналогина рынке

К сожалению я не нашел удовлетворяющего критериям сервиса. Пример сервиса:

Подавляющая масса была нацелена на создание простых вертикальных деревьев, и, конечно, не учитывала горизонтальные связи + сложные ситуации, с которыми я и столкнулся, о чем напишу далее.

В последствии я решил сделать универсальный инструмент для хранения, отображения реальной картины родословной.

Модель данных

Для начала я принял соглашение о том, что связью будет являться указание на родителя. Тк это обуславливается природой людей. И всегда у каждого человека будет мать и отец. Удивительно, но даже тут есть исключительные ситуации о которых я напишу ниже.

Свое решение я начал с создания примитивной структуры данных, и сбора данных в таблицуNumbers(Excel).

Поле

Ключ

ID

key

Sex

s

Last name or maiden name

surn

Married name

marn

First name

firn

Second name

secn

Date of birthday

bday

Date of death

dday

Father ID

f

Mother ID

m

Comment

com

В этой модели данных единицой является некоторый человек с уникальным ID, у него могут быть ссылки на ID матери и отца. Также у каждого элемента есть поля которые его описывают: имя, дата рождения и смерти, пол, комментарий для дополнительной информации.

Отображение графа

До этого в университете, в 2013 году в рамках хакатона и курсовой работы, я делал сервис для поиска родственных связей по базе жителей Самарской области. Мой интерес представляло по данным места жительства, дате рождения, фамилии, имени и отчеству определить с некоторой вероятностью и отобразить на графе какую-то семью. Тогда для отображения графа я использовал библиотекуsigmajs. Эта библиотека написана на JavaScript и она удовлетворяла моему видению того, что я собирался сделать.

День 1

Просто перебрав в голове всех ближайших родственников, у меня получилось 26 человек. Конечно информация была не полной, но это был 1 день, когда я начал.

День 2

После я напряг бабушку вспоминать и узнавать всех наших предков и родственников, и начал всё активно записывать в свою таблицу. Уже к ночи следующего дня мы записали информацию о 100 людях. А также я добавил заполнение черным цветом, узлов умерших людей.

День 3

После чего мы начали показывать эту картинку нашим родственникам и просить их рассказать о тех, кого мы не знаем. Благодаря обильному общению через мессенджеры и телефонные звонки к следующему вечеру мы собрали информацию 200 наших родственниках.

Хочу заметить, что на графе отображены ближашие родственники по горизонтали и их ближайшие предки, которых они помнят. Что естественно является не полной картиной при построении вертикального древа. Но уже на этом этапе стало понятно, что используемая библиотека построения графа не подходит для отображения дерева.

Через 6 дней

Буквально через 6 дней я попробовал с десяток разных библиотек на JS и выбрал библиотекуGoJS. Одна из причин по которой я это сделал было то, что я нашел пример для построения графа с автоматической визуализацией поколений. Это позволяло автомачески расположить людей на графе, а также визуализовароть связи под прямым углом.

Однако после этого и начали проступать основные проблемы отображения, которые раньше были не видны.

Дальнейший поиск информации о родственниках легко продолжать горизонтально (по своему поколению), однако чтобы искать вертикальные связи (искать своих предков) нужно заниматься изучением архивов, баз данных, кладбищь, изучением родословных и фамилий. Вот кстати два сервиса которые могут в этом помочь:vgd.ruиgeno.ru.

GoJS

Нужно заметить, чтоGoJSподошла на стадии создания прототипа, однако ввидунеадекватной цены лицензиив 3495$ за 3 года, использовать её в конечном решении я не планирую. Однако в её примерах содержатся неплохие алгоритмы и принципы, которые можно позаимствовать.

Проблемы отображения графа на плоскости

Для начала, если не рассматривать сложных случаев, стандартные алгоритмыGoJSдля расположения вершин не справлялись:

  1. При рисовании ребер под 90 градусов многие ребра накладывались друг на друга, и не сдвинув ребра, было не понять откуда какое выходит. Поэтому я сразу исправил их рисование на прямые линии.

  2. Некоторые связи улетали не в те поколения. Дети как бы перепрыгивали сильно вниз.

  3. Граф переплетался и накладывался, даже в тех случаях, где можно было этого не делать.

Стало очевидно, что нужны правила отображения такого графа. И вообще задачасоздания алгоритма расположения вершин основная работа.

Интерфейс пользователя

Также я добавил функции для импорта в формате.csv, также экспорта в.svg,.json, а хранение данных перенес вLocalStorageбраузера, таким образом перезагружая страницу, данные не терялись и отпала необходимость использовать БД.

А также я понял, что:

  1. Добавление людей осуществлять вNumbersне удобно, нужен интегрированный веб-интерфейс.

  2. Нужен поиск по людям.

  3. Нужна функция подсветки маршрута от одного человека к другому.

  4. Нужно, чтобы при нажатии на элемент отображается все его прямое дерево вверх и вниз.

  5. Нужна возможность добавлять другую информацию, например простой текст, ссылки, фотографии.

Эти задачи я пока отложил и начал думать про реализацию нормального отображения графа, а для этогосначала нужно побороть теорию.

Алгоритм отображения

Писать алгоритм я начал с задания ограничений и изучения теории.

Ограничения

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

Генеалогия содержит 3 закона:

  1. На каждые 100 лет приходится жизнь трех поколений или чуть больше, если родждение детей было в возрасте порядка 18 лет. Границы этого обуславливаются репродуктивным возрастом.

  2. Удваивание числа предков в каждом поколении (очевидно, что у каждого человека есть два родителя).

  3. Количество предков убывает. Предположительно одна и та же персона в генеалогическом древе может встречаться несколько раз. Браки между дальними родственниками и однофамильцами, произошедшими от одного общего предка, являются отнюдь не редкостью.

Также есть много материалов по построению генетических деревьев все это ищется по словуgenogram. Основная часть этих материалов про построение этих деревьев с помощью софтаEdrawMax:

  • ссылка 1: EdrawMax, общая информация о Genogramах

  • ссылка 2: EdrawMax, законы и обозначения принятые для Genogram

  • ссылка 3: лекция Deena Shelton Genogram Instructions - Marriage and Family

  • ссылка 4: видеоурок на тему How to draw a genogram

  • ссылка 5: видеоурок Addams Family Genogram

  • ссылка 6: лекция Wilma Schroeder How to Draw Genograms

Также я принял собственные правила отображения:

  1. Строятся только кровные связи, от ребёнка до родителей (отсутствуют связи от родителей до ребенка, связи типа братья, сестры, дедушки, бабушки).

  2. Если одинродитель неизвестен используется нода-заглушка(чтобы отображение было симметричным). Связь исходящая от ребенка не может указывать только на одного родителя, тк она соединяется со связью между родителями.

  3. Еслиоба родителя неизвестны, родители не отображаются.

  4. Связь выходит из ребенка сверху, а входит снизу (от его ребенка). Можно также добавить стрелку в сторону ребенка, хотя не обязательно тк они должны быть разнесены по вертикале.

  5. По возможности поколения должны находиться на отдельных уровнях.

  6. По возможности ребра не должны пересекаться. В идеале граф должен быть планарный.

Исключительные ситуации

Для решения проблем планарного отображения рассмотрим несколько ситуаций:

  1. Инцест(1 случай - межпоколений)

    Касаемо графа справа, очень долго думал через сколько колен максимальна возможна эта офера. Но не стал визуализировать, остановился на одном ?

  2. Инцест(2 случай - внутрипоколения)

  3. Много/мульти-женство/-мужество

    Такой пример достаточно распространен в жизни, и встречается в моем древе:

  4. Однополые семьи, усыновление (удочерение), искусственное зачатие, смена пола, замороженный генетический материал те случаи, которые могут сломать вообще всю логику.

Ограничение отображения

Вместе с тем как быстро граф расширяется в ширь, стало понятно, что отображать такую структуру становится сложно. Нужно как-то её ограничивать. Для этого я придумал следующий алгоритм ?

  1. PHASE AДля узла-точки-входа отображаем всех прямых предков.

  2. PHASE BДля всех элементов на графе отображаем всех прямых потомков, при этом для каждого потомка отображаемвторых родителей(на графе отмечены серым кружком).

  3. Для всехвторых родителейповторяемPHASE A

  4. ПовторяемPHASE B

  5. Переходим к 3.


Это первая статья описывающая часть моей работы, за которую я:

  1. Изучил существующие на рынке решения.

  2. Протестировал некоторое количество библиотек рисования графа.

  3. Собрал информацию о 300 своих родственниках и предках.

  4. Сделал прототип приложения с минимальными удовлетворяющими функциями. И выявил основные направления по дальнейшей разработке.

  5. Рассмотрел область науки изучающую родственные связи. Вывел ряд правил отображения, исключительных ситуаций и ограничений отображения графа.

Для тех, кто дочиталбонусом прилагаюполученный прототип.
PS работает не во всех браузерах, лучше просматривать с компьютера.
При нажатии на ссылку будет всплывающее окно, если согласиться, то загрузитсяJSONфайл с моим деревом (отображение происходит не моментально, обычно это занимает 2 секунды).
Также можно загрузить своё древо, в форматеcsvилиjson, согласно модели данных выше.

Спасибо за прочтение. И будет круто, если вы дадите обратную связь.

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru