АвторТема: yFarseer - ПО для построения карт таксономического разнообразия  (Прочитано 1650 раз)

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

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

  • Сообщений: 1304
  • Страна: ru
  • Рейтинг +543/-16
  • Y-ДНК: R1a-Y35177/BY82934
  • мтДНК: V7-a2a2a2b*
Закончил распараллеливать вычисления и выделять функциональные части кода - теперь на среднестатистическую карту уходит около получаса на моей 4-ядерной машине с процессором 5-го поколения (2015 год).  Теперь клепать карты получается очень быстро: понастроил карт для кучи новых ветвей.
https://daemon2017.github.io/yFarseer/

Очень занятно распространение I2a2a1 (CTS616) - она изо всех сил старается не входить в Эльзас-Лотарингию  ;D

Максимум разнообразия вышел здоровски: непрерывный и почти ровный.

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

  • Сообщений: 1304
  • Страна: ru
  • Рейтинг +543/-16
  • Y-ДНК: R1a-Y35177/BY82934
  • мтДНК: V7-a2a2a2b*
Расширил набор карт и на гаплогруппу E - брал самые популярные ветви из Русского этнического проекта. Это, в основном, Лащинские  :)
https://daemon2017.github.io/yFarseer/

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

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

  • Сообщений: 1304
  • Страна: ru
  • Рейтинг +543/-16
  • Y-ДНК: R1a-Y35177/BY82934
  • мтДНК: V7-a2a2a2b*
Совсем забыл сказать, что недавно я попиарился на Генофонде в комментариях к статье Назина http://xn--c1acc6aafa1c.xn--p1ai/?page_id=31105&cpage=50#comment-18804 - вышло занятно и полезно: часть карт и доработок ПО было сделано на основе просьб и советов из как раз из комментариев оттуда.

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

  • Сообщений: 1304
  • Страна: ru
  • Рейтинг +543/-16
  • Y-ДНК: R1a-Y35177/BY82934
  • мтДНК: V7-a2a2a2b*
Подразобрался с делами и разделил код на 2 части. Все, что связано предсказанием SNP и покраской карты выделил в новую программу - yMapper  https://github.com/Daemon2017/yMapper
Планирую в будущем сделать некоторые доработки в области скорости как покраски карты, так и предсказания SNP: R-CTS1211 красило почти час - хочется побыстрее.
« Последнее редактирование: 09 Август 2020, 16:41:51 от Daemon2017 »

Оффлайн Val_Metov

  • Сообщений: 85
  • Рейтинг +43/-0
  • Y-ДНК: J-Y94477
Подразобрался с делами и разделил код на 2 части. Все, что связано только с хорошими делами (предсказание SNP и покраска карты) выделил в новую программу - yMapper и сделал вновь общедоступным https://github.com/Daemon2017/yMapper Остальную часть кода, занимающуюся нехорошими делами, сохранил в скрытом состоянии.
Из руководства пользователя тоже вычистил все упоминания всего нехорошего.

Как пользователь получил входные данные - его дело: купил, выменял, украл, подбросили и т.д.  ;D
Теперь все отвязано от FTDNA и будет работать с данными от любой лаборатории.

Планирую в будущем сделать некоторые доработки в области скорости как покраски карты, так и предсказания SNP: R-CTS1211 красило почти час - хочется побыстрее.
Подскажите пожалуйста, а как установить xgboost? Ни через pip ни anaconda не хочет. А без него не запускается

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

  • Сообщений: 1304
  • Страна: ru
  • Рейтинг +543/-16
  • Y-ДНК: R1a-Y35177/BY82934
  • мтДНК: V7-a2a2a2b*
Подразобрался с делами и разделил код на 2 части. Все, что связано только с хорошими делами (предсказание SNP и покраска карты) выделил в новую программу - yMapper и сделал вновь общедоступным https://github.com/Daemon2017/yMapper Остальную часть кода, занимающуюся нехорошими делами, сохранил в скрытом состоянии.
Из руководства пользователя тоже вычистил все упоминания всего нехорошего.

Как пользователь получил входные данные - его дело: купил, выменял, украл, подбросили и т.д.  ;D
Теперь все отвязано от FTDNA и будет работать с данными от любой лаборатории.

Планирую в будущем сделать некоторые доработки в области скорости как покраски карты, так и предсказания SNP: R-CTS1211 красило почти час - хочется побыстрее.
Подскажите пожалуйста, а как установить xgboost? Ни через pip ни anaconda не хочет. А без него не запускается

Странно, а какую ошибку бросает?
Руководство вот: https://xgboost.readthedocs.io/en/latest/build.html

Оффлайн Val_Metov

  • Сообщений: 85
  • Рейтинг +43/-0
  • Y-ДНК: J-Y94477
Подразобрался с делами и разделил код на 2 части. Все, что связано только с хорошими делами (предсказание SNP и покраска карты) выделил в новую программу - yMapper и сделал вновь общедоступным https://github.com/Daemon2017/yMapper Остальную часть кода, занимающуюся нехорошими делами, сохранил в скрытом состоянии.
Из руководства пользователя тоже вычистил все упоминания всего нехорошего.

Как пользователь получил входные данные - его дело: купил, выменял, украл, подбросили и т.д.  ;D
Теперь все отвязано от FTDNA и будет работать с данными от любой лаборатории.

Планирую в будущем сделать некоторые доработки в области скорости как покраски карты, так и предсказания SNP: R-CTS1211 красило почти час - хочется побыстрее.
Подскажите пожалуйста, а как установить xgboost? Ни через pip ни anaconda не хочет. А без него не запускается

Странно, а какую ошибку бросает?
Руководство вот: https://xgboost.readthedocs.io/en/latest/build.html
https://docs.google.com/document/d/19konDhocQbGjQcmC0d5N4KuPj2gA0zm7g4KHjFoPttE/edit?usp=sharing

А можно еще вопрос? У вас там в папке есть ftdna_tree_collector_rest.py. А можно простым скриптом python json распарсить в cvs, чтобы вложенные гаплогруппы нормально группировались?
Я с python пока только знакомлюсь. В основном работа с данными через Power Querry. Через парсеры собрал базу FTDNA 245 тыс. строк. Для правильно группировки по гаплогруппам их дерево нужно распарсить, пока вручную делаю, очень муторно (через PQ).

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

  • Сообщений: 1304
  • Страна: ru
  • Рейтинг +543/-16
  • Y-ДНК: R1a-Y35177/BY82934
  • мтДНК: V7-a2a2a2b*
Подразобрался с делами и разделил код на 2 части. Все, что связано только с хорошими делами (предсказание SNP и покраска карты) выделил в новую программу - yMapper и сделал вновь общедоступным https://github.com/Daemon2017/yMapper Остальную часть кода, занимающуюся нехорошими делами, сохранил в скрытом состоянии.
Из руководства пользователя тоже вычистил все упоминания всего нехорошего.

Как пользователь получил входные данные - его дело: купил, выменял, украл, подбросили и т.д.  ;D
Теперь все отвязано от FTDNA и будет работать с данными от любой лаборатории.

Планирую в будущем сделать некоторые доработки в области скорости как покраски карты, так и предсказания SNP: R-CTS1211 красило почти час - хочется побыстрее.
Подскажите пожалуйста, а как установить xgboost? Ни через pip ни anaconda не хочет. А без него не запускается

Странно, а какую ошибку бросает?
Руководство вот: https://xgboost.readthedocs.io/en/latest/build.html
https://docs.google.com/document/d/19konDhocQbGjQcmC0d5N4KuPj2gA0zm7g4KHjFoPttE/edit?usp=sharing

А можно еще вопрос? У вас там в папке есть ftdna_tree_collector_rest.py. А можно простым скриптом python json распарсить в cvs, чтобы вложенные гаплогруппы нормально группировались?
Я с python пока только знакомлюсь. В основном работа с данными через Power Querry. Через парсеры собрал базу FTDNA 245 тыс. строк. Для правильно группировки по гаплогруппам их дерево нужно распарсить, пока вручную делаю, очень муторно (через PQ).

Чуть позже гляну ошибку.

Да, JSON можно привести к таблице, если упразднить все списки.
Модуль ftdna_tree_collector_rest просто вытягивает 100 Мб древо Y-SNP с сайта FTDNA + умеет возвращать список родителей (всю цепочку) и детей (только 1 уровень) для выбранного SNP. Сейчас пара ключ-значение имеет такой формат:
"4352":{
   "haplogroupId":4352,
   "parentId":30484,
   "name":"R-YP1019",
   "isRoot":false,
   "root":"R",
   "artificialRoot":"R",
   "kitsCount":1,
   "subBranches":14,
   "bigYCount":0,
   "countryCounts":[
      {
         "countryCode":"LT",
         "name":"Lithuania",
         "kitsCounts":1
      }
   ],
   "variants":[
      {
         "variant":"YP1019",
         "position":7935262,
         "ancestral":"G",
         "derived":"T",
         "region":"p11.2"
      },
      {
         "variant":"FT220644",
         "position":10924666,
         "ancestral":"T",
         "derived":"A",
         "region":"q11.21"
      },
      {
         "variant":"YP1023",
         "position":13154265,
         "ancestral":"G",
         "derived":"A",
         "region":"q11.221"
      },
      {
         "variant":"YP1032",
         "position":20767427,
         "ancestral":"A",
         "derived":"G",
         "region":"q11.223"
      }
   ],
   "children":[
      13260,
      13265,
      33303
   ]
}
Но не очень понимаю, зачем Вам это. Если для работы с yMapper'ом, то это лишнее  - мой код принимает на вход CSV, где один из столбцов это имя SNP, которое можно спокойно выдернуть потрошителем из таблиц FTDNA.

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

  • Сообщений: 1304
  • Страна: ru
  • Рейтинг +543/-16
  • Y-ДНК: R1a-Y35177/BY82934
  • мтДНК: V7-a2a2a2b*
Глянул ошибку: попробуйте собраться из исходников по манулу https://xgboost.readthedocs.io/en/latest/build.html#python-package-installation
Надо выкачать исходники из репо https://github.com/dmlc/xgboost, распаковать, перейти в получившуюся папку и через python setup.py build собрать tar.gz, после чего установить его pip install ./xgboost-1.0.0.tar.gz

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

  • Сообщений: 1304
  • Страна: ru
  • Рейтинг +543/-16
  • Y-ДНК: R1a-Y35177/BY82934
  • мтДНК: V7-a2a2a2b*
Планирую в будущем сделать некоторые доработки в области скорости как покраски карты, так и предсказания SNP: R-CTS1211 красило почти час - хочется побыстрее.

Закончил это мероприятие - устранил пару утечек памяти, улучшил алгоритм проверки наличия SNP в ячейке и перешел на Yandex CatBoost: теперь CTS1211 красит не 60, а 20 минут. Также, точность выросла на несколько процентов (1-5% - зависит от конкретного SNP).


 

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

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


Rambler's Top100