АвторТема: yFarseerWeb - Web-приложение для отрисовки карт таксономического разнообразия  (Прочитано 4826 раз)

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

Оффлайн Semargl

  • "El sueño de la razón produce monstruos" ©
  • Модератор
  • *****
  • Сообщений: 6010
  • Страна: ru
  • Рейтинг +4222/-5
  • www.semargl.me
    • www.semargl.me
  • Y-ДНК: R1a [CTS3402+]
  • мтДНК: U4a2g

Понять, где находятся 3 группы с максимальным уровнем разнообразия - это прям отдельная дисциплина на приеме у окулиста  ;D
Прочитал "на приеме у оккультиста". Наверное так правильней)

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

  • Сообщений: 2208
  • Страна: ru
  • Рейтинг +1078/-18
  • Y-ДНК: R1a-Y35174
  • мтДНК: V7-a2a2a2b*
Прикрутил возможность загружать файлы слоев (.KML, .GeoJSON и пр.). Число слоев ничем не ограничено. Чтобы снести все слои, надо жмакнуть Clear.
https://daemon2017.github.io/yFarseerWeb/?lat=50.88917404890332&lng=32.38769531250001&zoom=5&isExtended=false&threshold=9&snps=R-L260&mode=dispersion

Т.е. можно взять карту, наложить ее в Google Earth, обвести как многоугольник и экспортировать в .KML-файл, а затем добавить через значок папочки слева вверху.
Для примера, карта Мержановицкой АК (2100-1600 гг. до н.э. - https://commons.wikimedia.org/wiki/File:Central_Europe_Reinecke_BA1.png) и ГГ R1a-L260 (2600 г. до н.э. - https://www.yfull.com/tree/R-L260/) в режиме групп разнообразия:

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

  • Сообщений: 2208
  • Страна: ru
  • Рейтинг +1078/-18
  • Y-ДНК: R1a-Y35174
  • мтДНК: V7-a2a2a2b*
Позаимствовал у Хантера Провина очень приглянувшуюся мне кнопку: подъем на уровень SNP'ом выше.

Например, можно ввести в поисковую строку I-Y3548,R-CTS1211, нажать Levels, а затем тыкать на кнопку со стрелкой вверх-влево: последовательно будет осуществляться отрисовка
I-S20602,R-Z280
I-CTS10228,R-Z282
I-CTS4002,R-Z283
I-S19848,R-PF6162
I-CTS10936,R-M417
и т.д.

Теперь хочу позаимствовать что-нибудь у http://scaledinnovation.com/gg/snpTracker.html  ;D

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

  • Сообщений: 2208
  • Страна: ru
  • Рейтинг +1078/-18
  • Y-ДНК: R1a-Y35174
  • мтДНК: V7-a2a2a2b*
Добавил кнопку Trace, позволяющую строить предполагаемый путь миграции предков. Все узлы тыкабельны - можно жмакнуть на шарик и появится всплывашка с именем SNP.
Пример для R-Z92,R-FT92022,J-Y12936,I-CTS10228:
https://daemon2017.github.io/yFarseerWeb/?lat=51.91716758909015&lng=24.2132665339836&zoom=5&isExtended=false&threshold=9&snps=R-Z92%2CR-FT92022%2CJ-Y12936%2CI-CTS10228&mode=trace


Алгоритм прост: берем данные об уровнях разнообразия для целевого SNP и всех его предков, а затем, для всех SNP в цепочке, берем список точек, где наблюдается максимум разнообразия этого SNP - соединяем эти точки в полигон и берем его центроид. Пробовал брать центр масс, но вариант с центроидом выглядит краше.

Сейчас число предковых SNP ограничено 5 - пробовал делать больше, но тогда выходит каляка-маляка


Исключение образцов из Нового Света поможет на небольших дистанциях (думаю, что 1-2 тысячи лет), а дальше упираемся в предел возможностей критерия максимального разнообразия на основе живых образцов - для сохранения качества на бОльших дистанциях, надо подключать дДНК и творить прочее колдунство.

Оффлайн Valery

  • Сообщений: 10107
  • Страна: 00
  • Рейтинг +1380/-7
  • Ultimate Matriarchy
пробовал делать больше, но тогда выходит каляка-маляка

она выходит не по причине превышения некоторого порогового числа снипов, а из-за неадекватности регулярных методов (вроде барицентров и подобного) стохастической природе задачи. Типическое решение у нее байесовское и получается усложнением обычной модели mcmc решения филогенетической задачи правдоподобия байесом. Вдобавок к тому что делают beast или mrbayes выбираете модель миграции снипа в координатах и некие параметры, которые должны быть независимы (в идеале) от прочих - модели роста, мутирования, клока, скорости мутаций. Я не помню уже, какие модели предлагались для миграции в таком фреймворке, не суть важно. Но это работа по объему сопоставимая с задачей этих программ. Но есть более простые варианты, скажем у вас фиксированное дерево. Собственно, для Y так и есть, снипов полно, дерево не не зависит от географии, а наоборот, в другую сторону зависимость. Нужно только найти точки на карте. Это уже проще, но требуется линеаризация и модель для географии, чтобы втиснуть это в mcmc поиск значения переменных.Что-то вроде этого, тк в биологии такая задача обычно ставится в контексте патогенов (по кр. мере, за патогены всегда хорошо платили).

Оффлайн Valery

  • Сообщений: 10107
  • Страна: 00
  • Рейтинг +1380/-7
  • Ultimate Matriarchy
А просто для отрисовки карты снипа предковые снипы вообще и не нужны - там ведь иное рулит, интерполяции в основном. Я так понял, вы по сути хотите решить филогеографическую задачу, но почему-то в отрыве от того, как ее принято решать в биологии.

Разнообразие (нуклеотидное разнообразие ветви STR-разнообразие снипа или любое другое) можно ведь просто картировать независимо от прочего. Оно косвенно отвечает на вопрос о происхождении, но это решение получается в отрыве от динамики клады во времени.

Оффлайн Valery

  • Сообщений: 10107
  • Страна: 00
  • Рейтинг +1380/-7
  • Ultimate Matriarchy
Интересно, есть ли для этой задачи в общем доступе файл с "человеческой" метрикой на суше: стоимостью перехода между точками с учетом наличествующего до нового времени транспорта. Скажем, карты аллалей малюют интерполируя по геодезическим, но для миграции это очевидно неподходящий вариант.

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

  • Сообщений: 2208
  • Страна: ru
  • Рейтинг +1078/-18
  • Y-ДНК: R1a-Y35174
  • мтДНК: V7-a2a2a2b*
пробовал делать больше, но тогда выходит каляка-маляка

она выходит не по причине превышения некоторого порогового числа снипов, а из-за неадекватности регулярных методов (вроде барицентров и подобного) стохастической природе задачи. Типическое решение у нее байесовское и получается усложнением обычной модели mcmc решения филогенетической задачи правдоподобия байесом. Вдобавок к тому что делают beast или mrbayes выбираете модель миграции снипа в координатах и некие параметры, которые должны быть независимы (в идеале) от прочих - модели роста, мутирования, клока, скорости мутаций. Я не помню уже, какие модели предлагались для миграции в таком фреймворке, не суть важно. Но это работа по объему сопоставимая с задачей этих программ. Но есть более простые варианты, скажем у вас фиксированное дерево. Собственно, для Y так и есть, снипов полно, дерево не не зависит от географии, а наоборот, в другую сторону зависимость. Нужно только найти точки на карте. Это уже проще, но требуется линеаризация и модель для географии, чтобы втиснуть это в mcmc поиск значения переменных.Что-то вроде этого, тк в биологии такая задача обычно ставится в контексте патогенов (по кр. мере, за патогены всегда хорошо платили).

Спасибо за советы! Увы, такие сложности не потяну - профильного образования нет, а учебы хватает и в своей области, так что за осваивание филогеографии взяться не готов :-\
Может кто-нибудь когда-нибудь это и прикрутит.

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

Разнообразие (нуклеотидное разнообразие ветви STR-разнообразие снипа или любое другое) можно ведь просто картировать независимо от прочего. Оно косвенно отвечает на вопрос о происхождении, но это решение получается в отрыве от динамики клады во времени.

Это да - с картированием статики-то проблем нет. Самое уродство выходит в динамике - опорные точки скачут туда-сюда. Но тут уж мне нечего поделать)

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

  • Сообщений: 2208
  • Страна: ru
  • Рейтинг +1078/-18
  • Y-ДНК: R1a-Y35174
  • мтДНК: V7-a2a2a2b*
Интересно, есть ли для этой задачи в общем доступе файл с "человеческой" метрикой на суше: стоимостью перехода между точками с учетом наличествующего до нового времени транспорта. Скажем, карты аллалей малюют интерполируя по геодезическим, но для миграции это очевидно неподходящий вариант.

Не встречал таких таблиц, но идея интересная. Что-то похожее и сильно упрощенное есть у http://scaledinnovation.com/gg/snpTracker.html - если географическое расстояние между парой SNP-предок - SNP-потомок оказывается больше, чем люди могли бы пройти (там какая-то константа: условные 100 км на 50 лет) за время между образованием этих SNP, то алгоритм вводит поправку.

Оффлайн Valery

  • Сообщений: 10107
  • Страна: 00
  • Рейтинг +1380/-7
  • Ultimate Matriarchy
если географическое расстояние между парой SNP-предок - SNP-потомок оказывается больше, чем люди могли бы пройти (там какая-то константа: условные 100 км на 50 лет) за время между образованием этих SNP, то алгоритм вводит поправку.

Опять-таки, длина геодезической. Хотя реалистичная модель - это полный граф порожденный обитаемыми точками с метризацией по цене доступного пути. Может и сложнее.

Оффлайн Valery

  • Сообщений: 10107
  • Страна: 00
  • Рейтинг +1380/-7
  • Ultimate Matriarchy
Спасибо за советы! Увы, такие сложности не потяну - профильного образования нет, а учебы хватает и в своей области, так что за осваивание филогеографии взяться не готов :-\
Может кто-нибудь когда-нибудь это и прикрутит.

тут не требуется биологическое образование, те же beast и mrbayes делали математики и программисты, частично переквалифицировавшиеся в биологов. Вопрос лишь об интересе к байесу, это уже существеннее. Я вот не интересуюсь совершенно, использую при надобности, но сам не пишу ничего на эту тему - просто не интересна игра в кости. Породить в секунды миллионы штейнеровских деревьев меня захватывает 15 лет уже, а вот рассуждать с какой вероятностью могло случиться событие - ни разу. Дело вкуса и - определяемых им - деталей образования в той или иной области математики.

Оффлайн Valery

  • Сообщений: 10107
  • Страна: 00
  • Рейтинг +1380/-7
  • Ultimate Matriarchy
Самое уродство выходит в динамике - опорные точки скачут туда-сюда. Но тут уж мне нечего поделать)

а если заставить географию предка влиять на географию потомков? как при подсчете возраста: когда ребенок старше родителя, его возраст фиксят по родителю минус что-то там

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

  • Сообщений: 2208
  • Страна: ru
  • Рейтинг +1078/-18
  • Y-ДНК: R1a-Y35174
  • мтДНК: V7-a2a2a2b*
тут не требуется биологическое образование, те же beast и mrbayes делали математики и программисты, частично переквалифицировавшиеся в биологов. Вопрос лишь об интересе к байесу, это уже существеннее. Я вот не интересуюсь совершенно, использую при надобности, но сам не пишу ничего на эту тему - просто не интересна игра в кости. Породить в секунды миллионы штейнеровских деревьев меня захватывает 15 лет уже, а вот рассуждать с какой вероятностью могло случиться событие - ни разу. Дело вкуса и - определяемых им - деталей образования в той или иной области математики.
Не, к Байесу особой любви нет ;D

а если заставить географию предка влиять на географию потомков? как при подсчете возраста: когда ребенок старше родителя, его возраст фиксят по родителю минус что-то там
Можно, но только если в обратную сторону: сейчас, для молодых веточек, прогноз области происхождения SNP выглядит куда правдоподобнее, чем для старших веточек.
Попробую еще какие-нибудь костыли поподставлять, чтобы выжать максимальную точность при минимальных вложениях.

Оффлайн Valery

  • Сообщений: 10107
  • Страна: 00
  • Рейтинг +1380/-7
  • Ultimate Matriarchy
Можно, но только если в обратную сторону: сейчас, для молодых веточек, прогноз области происхождения SNP выглядит куда правдоподобнее, чем для старших веточек.

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

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

  • Сообщений: 2208
  • Страна: ru
  • Рейтинг +1078/-18
  • Y-ДНК: R1a-Y35174
  • мтДНК: V7-a2a2a2b*
Добавил кнопку Trace, позволяющую строить предполагаемый путь миграции предков. Все узлы тыкабельны - можно жмакнуть на шарик и появится всплывашка с именем SNP.
Пример для R-Z92,R-FT92022,J-Y12936,I-CTS10228:
https://daemon2017.github.io/yFarseerWeb/?lat=51.91716758909015&lng=24.2132665339836&zoom=5&isExtended=false&threshold=9&snps=R-Z92%2CR-FT92022%2CJ-Y12936%2CI-CTS10228&mode=trace


Прикрутил нечто вроде градиентного спуска: теперь, помимо больших точек-центров (вычисленных на основе точек с максимумом разнообразия), есть маленькие точки (вычислены на основе точек с промежуточными значениями разнообразия), что, в случае кустистых SNP, сделало путь более плавным.


Для примера, теперь путь от Z92 до Z282 выглядит так:
Z92 MAX (3 SNP)
Z280 2 SNP - в расчетах точки-центра участвуют все точки, где уровень разнообразия =2 и где присутствует Z92
Z280 3 SNP
Z280 MAX (5 SNP)
Z282 2 SNP - в расчетах точки-центра участвуют все точки, где уровень разнообразия =2 и где присутствует Z280
Z282 3 SNP
Z282 MAX (4 SNP)

 

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

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