АвторТема: Определение всех степеней кровного родства для двух персон по файлу Гедком  (Прочитано 45562 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Anode

  • Группа N
  • *
  • Сообщений: 1423
  • Страна: ca
  • Рейтинг +147/-0
  • PS1 -> TT1 -> EE1 -> PS2
  • Y-ДНК: N1c1
  • мтДНК: H10a1, U5b1

Вывод должен быть сделан в следующем виде (пример):

Степан Васильевич Иванов vs Игорь Олегович Вершинин
1) Двоюродный брат, двоюродный брат, ММ, ЖМ, Иосиф Виссарионович Иванов.
2) Двоюродный брат, двоюродный брат, МЖ, ЖЖ, Агафья Лукинична Мальцева.
3) Четвероюродный брат, четвероюродный брат, МЖММ, ЖЖЖМ, Август Поликарпович Дурново.
4) Четвероюродный брат, четвероюродный брат, МЖМЖ, ЖЖЖЖ, Ирина Викторовна Польская.
5) Восьмиюродный дядя, восьмиюродный племянник, ЖЖЖММЖММ, ММЖМММЖЖМ,
 Лука Силович Кабыздох.
6) Восьмиюродный дядя, восьмиюродный племянник, ЖЖЖММЖМЖ, ММЖМММЖЖЖ, Ксения Ивановна.


откуда две пары двоюродных братьев взялись?

Оффлайн Mich GlitchАвтор темы

  • Genus regis
  • Сообщений: 36936
  • Страна: ca
  • Рейтинг +3773/-48
  • Y-ДНК: J2b1
  • мтДНК: H6a1a5a
Не буду сейчас тратить время на несущественные детали и вторичные вопросы.
Сразу возьму быка за рога.
Программу Вы уже почти сделали. Осталось добавить несколько линий кода.


Итак.

Есть краеугольный лист фамильных линий. Осталось преобразовать его в лист ближайших предков по каждой из фамильных линий.
Т.е. из всего листа на одну фамильную линию выбираете (оставляете) только одного человека с наименьшей поколенной дистанцией.

Оффлайн Mich GlitchАвтор темы

  • Genus regis
  • Сообщений: 36936
  • Страна: ca
  • Рейтинг +3773/-48
  • Y-ДНК: J2b1
  • мтДНК: H6a1a5a
Т.е., Вы получите не лист предков вообще, а лист ближайших предков по каждой из линий.

Оффлайн Mich GlitchАвтор темы

  • Genus regis
  • Сообщений: 36936
  • Страна: ca
  • Рейтинг +3773/-48
  • Y-ДНК: J2b1
  • мтДНК: H6a1a5a
Далее сравниваете два листа и находите общих предков. Остаётся только выписать их фамильные линии для каждой из анализируемых персон.

Оффлайн Mich GlitchАвтор темы

  • Genus regis
  • Сообщений: 36936
  • Страна: ca
  • Рейтинг +3773/-48
  • Y-ДНК: J2b1
  • мтДНК: H6a1a5a
Внимание!

Один и тот же предок может быть ближайшим по нескольким линиям.

Оффлайн Mich GlitchАвтор темы

  • Genus regis
  • Сообщений: 36936
  • Страна: ca
  • Рейтинг +3773/-48
  • Y-ДНК: J2b1
  • мтДНК: H6a1a5a
Пример.
Берём следующие мои фамильные линии:

Haplogroup 10 (Lineage: MMFFM)

   Никифор Яковлевич /Полищук/ (1810) 5
   Яков Васильевич /Полищук (Полещук)/ (27 DEC 1781-3 MAY 1853) 6
   Артемий Никифорович /Полищук/ (1835-26 FEB 1862) 6
   Иван Артемьевич /Полищук/ (27 JAN 1860-23 APR 1860) 7
   Павел Артемьевич /Полищук/ (14 JAN 1858-28 JUL 1861) 7
   Василий Павлович /Дзюбенко (Заика)/ (26 APR 1752-1808) 7
   Георгий Васильевич /Полищук/ (7 APR 1784-BEF 1800) 8
   Павел Даниилович /Зайка/ (ABT 1725) 8

Haplogroup 11 (Lineage: MFMFM)

   Василий Степанович /Яровой/ (1787-4 JUN 1848) 5
   Михаил Васильевич /Яровой/ (1830-1836) 6
   Степан Иванович /Яровой/ (1753-1804) 6
   Иван  /Яровой/ (ABT 1720) 7
   Василий Степанович /Яровой/ (ABT 1796) 7
   Павел Степанович /Яровой/ (1791) 7

Haplogroup 12 (Lineage: FMMFM)

   Федор Михайлович // (ABT 1810) 5
   Михаил  // (ABT 1780) 6

Haplogroup 13 (Lineage: FFMFM)

   Моисей Евсеевич // (1804-3 JAN 1880) 5
   Никита Моисеевич // (1831-AFT 1870) 6
   Никита Моисеевич // (27 MAR 1842) 6
   Евсевий Кузьмич // (14 JUN 1784) 6
   Лука Моисеевич // (23 JUN 1828) 6
   Петр Моисеевич // (1833) 6
   Козьма Григорьевич // (1755-1811) 7
   Григорий Кузьмич /Жогин/ (1793-2 JAN 1860) 8
   Иван Кузьмич /Жогин/ (1780-9 MAY 1842) 8
   Фома Кузьмич // (11 OCT 1786) 8
   Григорий Тимофеевич // (1732-20 NOV 1793) 8
   Марк Григорьевич // (29 MAR 1762) 9
   Иван Иванович /Жогин/ (24 JUN 1804-1 AUG 1826) 9
   Иван Григорьевич // (29 AUG 1766-1801) 9
   Афанасий Иванович /Жогин/ (3 JUL 1826-14 MAY 1890) 9
   Яков Григорьевич /Елисеев/ (1749-1803) 9
   Федор Иванович /Жогин/ (1811-1814) 9
   Иларион Григорьевич /Жогин/ (15 OCT 1811) 9
   Иван Иванович /Жогин/ (24 APR 1816) 9
   Дмитрий Григорьевич // (1758-1799) 9
   Лукиан Иванович /Жогин/ (12 SEP 1824) 9
   Тимофей Семенович // (1688-25 SEP 1753) 9
   Исидор Григорьевич // (1765-1799) 9
   Никита Афанасьевич /Жогин/ (12 SEP 1853) 10
   Евдоким Дмитриевич // (25 JUL 1785) 10
   Алексей Дмитриевич // (17 MAR 1791) 10
   Герасим Яковлевич /Елисеев/ (1790) 10
   Игнатий Лукьянович /Жогин/ (25 JAN 1853-7 NOV 1854) 10
   Степан Афанасьевич /Жогин/ (1 AUG 1867-10 DEC 1869) 10
   Лука Иванович // (18 OCT 1795-29 MAR 1857) 10
   Василий Сидорович // (1798-1814) 10
   Георгий Яковлевич /Елисеев/ (20 APR 1781-23 JUL 1851) 10
   Иван Афанасьевич /Жогин/ (6 NOV 1849) 10
   Феодул Тимофеевич // (5 APR 1740) 10
   Иосиф Яковлевич /Елисеев/ (4 APR 1775) 10
   Петр Иванович // (1803) 10
   Семен  // (ABT 1660) 10
   Иван Афанасьевич /Жогин/ (1843-17 APR 1851) 10
   Степан Сидорович // (1796-6 MAR 1864) 10
   Степан Дмитриевич // (1778) 10
   Василий Лукьянович /Жогин/ (4 MAR 1848) 10
   Иван Никитич /Жогин/ (1 SEP 1872) 11
   Григорий Степанович // (18 JAN 1823) 11
   Наум Петрович // (1825) 11
   Игнатий Георгиевич // (1803-12 MAR 1870) 11
   Алексей Никитич /Жогин/ (1888-10 SEP 1892) 11
   Прокопий Петрович // (3 JUL 1834) 11
   Яков Никитич /Жогин/ (9 OCT 1884-5 MAY 1885) 11
   Сергей Степанович // (1826-1850) 11
   Евдоким Петрович // (27 MAY 1839) 11
   Тарасий Лукич // (18 FEB 1823) 11
   Митрофан Петрович /Калиничев/ (1828) 11
   Дмитрий Никитич /Жогин/ (11 FEB 1887-19 SEP 1892) 11
   Василий Лукич // (1832) 11
   Ефим Наумович // (27 MAR 1865-20 JUN 1865) 12
   Иван Иванович /Жогин/ (20 FEB 1899) 12
   Моисей Наумович // (24 AUG 1858-15 DEC 1869) 12
   Михаил Иванович /Жогин/ (1912-25 NOV 1914) 12
   Дмитрий Иванович /Жогин/ (1 FEB 1895) 12
   Ефим Наумович // (9 OCT 1849-4 JAN 1862) 12
   Андрей Наумович // (17 AUG 1863-23 JUN 1864) 12

И преобразуем в лист моих ближайших предков по фамильным линиям. Т.е. приводим к виду:

Haplogroup 10 (Lineage: MMFFM)

   Никифор Яковлевич /Полищук/ (1810) 5

Haplogroup 11 (Lineage: MFMFM)

   Василий Степанович /Яровой/ (1787-4 JUN 1848) 5

Haplogroup 12 (Lineage: FMMFM)

   Федор Михайлович // (ABT 1810) 5

Haplogroup 13 (Lineage: FFMFM)

   Моисей Евсеевич // (1804-3 JAN 1880) 5

Оффлайн Mich GlitchАвтор темы

  • Genus regis
  • Сообщений: 36936
  • Страна: ca
  • Рейтинг +3773/-48
  • Y-ДНК: J2b1
  • мтДНК: H6a1a5a
Про двоюродных братьев (две пары) объяснять?
Или уже сами разобрались?
:)

*** Для наводки подкину случай, когда имеем половинного двоюродного брата.
Т.е. дед у обоих был один, а бабушки разные.
В приведённом же примере два пути: один к деду, другой к бабке.  :o

Оффлайн Mich GlitchАвтор темы

  • Genus regis
  • Сообщений: 36936
  • Страна: ca
  • Рейтинг +3773/-48
  • Y-ДНК: J2b1
  • мтДНК: H6a1a5a
Да никакие это не сарказмы.
Просто рвался спать и хотел по быстрому переорать собеседника.  ::)

Спокойной ночи!

Оффлайн Mich GlitchАвтор темы

  • Genus regis
  • Сообщений: 36936
  • Страна: ca
  • Рейтинг +3773/-48
  • Y-ДНК: J2b1
  • мтДНК: H6a1a5a
Ой, кажется Ваш пост случайно затёр.
Ещё раз извините за крикливый тон.  :-X

Оффлайн Anode

  • Группа N
  • *
  • Сообщений: 1423
  • Страна: ca
  • Рейтинг +147/-0
  • PS1 -> TT1 -> EE1 -> PS2
  • Y-ДНК: N1c1
  • мтДНК: H10a1, U5b1
Да никакие это не сарказмы.
Просто рвался спать и хотел по быстрому переорать собеседника.  ::)

Спокойной ночи!

Сорри, стёр сообщение (думал не успеете прочитать). Хотел дополннить
По-любому, спасибо, спокойной ночи.

Оффлайн Mich GlitchАвтор темы

  • Genus regis
  • Сообщений: 36936
  • Страна: ca
  • Рейтинг +3773/-48
  • Y-ДНК: J2b1
  • мтДНК: H6a1a5a
Я мало того, что неправильным тоном говорил, так ещё и неправильные вещи.

Уже вчера вечером допёрло.

Нам нужны для сравнения всё-таки предковые листы двух персон. Ведь может быть такая вот, например, связь ММММММ ЖЖЖМЖМ.

1. Берём последовательно людей из первого листа и ищем их во втором листе.
2. По найденным персонам выводим цепочки.
3. Далее удаляем всех персон с префиксом найденных общих предков.

Допустим, нашли мы ЖЖМ МЖММ.
Тогда для первой персоны надо исключить из поиска и сравнения родителей и всех дальнейших предков его прадеда ЖЖМ.
Для второй перосны надо исключить из поиска и сравнения родителей и всех дальнейших предков его прапрадеда МЖММ.

Оффлайн Anode

  • Группа N
  • *
  • Сообщений: 1423
  • Страна: ca
  • Рейтинг +147/-0
  • PS1 -> TT1 -> EE1 -> PS2
  • Y-ДНК: N1c1
  • мтДНК: H10a1, U5b1
Mich Glich,

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

Оффлайн Anode

  • Группа N
  • *
  • Сообщений: 1423
  • Страна: ca
  • Рейтинг +147/-0
  • PS1 -> TT1 -> EE1 -> PS2
  • Y-ДНК: N1c1
  • мтДНК: H10a1, U5b1
Много работы будет с маппингом. Я было набросал уже маппинг для себя, на английском, используя существующую на википедии диаграмму:



Позже, когда завершу маппинг - опубликую здесь для проверки. Там не просто маппинг, но и правила, которые надо прописать. Постараюсь сделать максимально понятным.

Оффлайн Anode

  • Группа N
  • *
  • Сообщений: 1423
  • Страна: ca
  • Рейтинг +147/-0
  • PS1 -> TT1 -> EE1 -> PS2
  • Y-ДНК: N1c1
  • мтДНК: H10a1, U5b1
Маппинг должен использовать полную нотацию. Потом, в репорте, мы всегда можем убрать первую букву.
Напомню, что полный путь от неполного отличается как показано ниже (неполный - это обозначение фамильных линий, т.е. формат Мич Глича, приведённый на рисунке слева; полный же - это формат atree, т.е. обозначение нодов, всех персон, справа). Второй к первому приводится отбрасыванием первой буквы. Но концептуально - первый это больше как обозначение буквами связей/рёбер графа, а второй - обозначение буквами персон, т.е. самих узлов графа.


P.S. Так что, Mich Glich, не кипятитесь по поводу полного пути в маппинге. Здесь он необходим из-за различия в написании родственников разного пола. В репорте же я уже убираю первую букву точно так же как и в репорте гаплогрупп.

Оффлайн Anode

  • Группа N
  • *
  • Сообщений: 1423
  • Страна: ca
  • Рейтинг +147/-0
  • PS1 -> TT1 -> EE1 -> PS2
  • Y-ДНК: N1c1
  • мтДНК: H10a1, U5b1
Вот что я пока набросал. Термины взяты из картинки с википедии показанной выше.

Цитировать
#
# Mapping: paths->relations terms.
# 4 delimited by comma: path1,path2,name1,name2
# (where path1,path2 are paths from individuals to the same common ancestor)
# We only enumerate path1=path2 and path1<path2 while path2>path1 is just the
# reversed (second) case.
# X - is any letter/gender (M or F) and the last letter in each path is always the same, so
# self is either (F,F) or (M,M)
# pair (MX,FX) denotes actually 2 pairs, not 4: (MM,FM), (MF,FF)
# etc.
#
# (X*N) means a sequence of N letters
# <(g.-)*N> means prefix 'g.-' taken N times, as in 'g.-g.-g.-great-uncle' (N=3 in this case)
# names are taken from:
# http://upload.wikimedia.org/wikipedia/commons/7/78/European_kinship_system_en.svg
# (with minor simplifications in abbreviations)
#

X,X,self,self

MX,MX,brother,brother
MX,FX,brother,sister
FX,FX,sister,sister

M,MM,father,son
M,FM,father,daughter
F,MF,mother,son
F,FF,mother,daughter

F,MXF,grandmother,grandson
F,FXF,grandmother,granddaughter
M,MXM,grandfather,grandson
M,FXM,grandfather,granddaughter

F,MXXF,g.-grandmother,g.-grandson
F,FXXF,g.-grandmother,g.-granddaughter
M,MXXM,g.-grandfather,g.-grandson
M,FXXM,g.-grandfather,g.-granddaughter
...
F,MX(X*N)F,<(g.-)*N>grandmother,<(g.-)*N>grandson
F,FX(X*N)F,<(g.-)*N>grandmother,<(g.-)*N>granddaughter
M,MX(X*N)M,<(g.-)*N>grandfather,<(g.-)*N>grandson
M,FX(X*N)M,<(g.-)*N>grandfather,<(g.-)*N>granddaughter
...
...
MX,MXX,uncle,nephew
MX,FXX,uncle,niece
FX,MXX,aunt,nephew
FX,FXX,aunt,niece

MX,MXXX,great-uncle,grand-nephew
MX,FXXX,great-uncle,grand-niece
FX,MXXX,great-aunt,grand-nephew
FX,FXXX,great-aunt,grand-niece

MX,MXXXX,g.-great-uncle,g.-grand-nephew
MX,FXXXX,g.-great-uncle,g.-grand-niece
FX,MXXXX,g.-great-aunt,g.-grand-nephew
FX,FXXXX,g.-great-aunt,g.-grand-niece
...
FX,FXXXX,g.-great-aunt,g.-grand-niece
...
MX,MXX(X*N)X,<(g.-)*N>great-uncle,<(g.-)*N>grand-nephew
MX,FXX(X*N)X,<(g.-)*N>great-uncle,<(g.-)*N>grand-niece
FX,MXX(X*N)X,<(g.-)*N>great-aunt,<(g.-)*N>grand-nephew
FX,FXX(X*N)X,<(g.-)*N>great-aunt,<(g.-)*N>grand-niece
...

#
#cousines on the same level (the same number of X)
#
XXX,XXX,cousin,cousin
XXXX,XXXX,2-cousin,2-cousin
XXXXX,XXXXX,3-cousin,3-cousin
X(X*N)X,X(X*N)X,N-cousin,N-cousin

#
#now not on the same level (M>N)
#
XXX,XXXX,1-cousin once-removed,1-cousin once-removed
XXX,XXXXX,1-cousin twice-removed,1-cousin twice-removed
...
XXXX,XXXXX,2-cousin once-removed,2-cousin once-removed
XXXX,XXXXXX,2-cousin twice-removed,2-cousin twice-removed
...
X(X*N)X,X(X*M)X,N-cousin (M-N) removed


Если заметите ошибку, или придумаете новое правило - сообщите. Только уж, пожалуйста, по данному (английскому пока) маппингу, используя его как мастер-копию.
« Последнее редактирование: 06 Декабрь 2011, 05:14:16 от Anode »

 

© 2007 Молекулярная Генеалогия (МолГен)

Внимание! Все сообщения отражают только мнения их авторов.
Все права на материалы принадлежат их авторам (владельцам) и сетевым изданиям, с которых они взяты.