Программное обеспечение для кластеризации людей, имеющих общие участки в аутосомной ДНК
Дмитрий Русаков, Мария Краснова
Abstract
При анализе списков родственников по аутосомной ДНК одной из главных сложностей является определение того, по какой из предковых линий происходит пересечение с тем или иным человеком. Особенно критично эта проблема встает в тех ситуациях, когда, из-за отсутствия генетического материала или нехватки денежных средств, отсутствует возможность протестировать предков или родственников персоны, по которой ведется исследование.
Для решения данной проблемы было разработано программное обеспечение, позволяющее производить кластеризацию лиц, имеющих ДНК-пересечения с исследуемым человеком.
http://rjgg.molgen.org/index.php/RJGGRE/article/view/162
Здравствуйте!
Хочу представить разработанное нами ПО. Что оно делает - описано в статье, а здесь я бы хотел расписать как именно им пользоваться.
Итак, сайтовая часть:
1) Заходим в GedMatch на страницу "One-to-many DNA comparison"
2) Вводим номер кита и пороговое значение, жмем "Display Results"
3) Дожидаемся отображения результатов и начинаем выделять совпаденцев от самых близких до самых далеких. Текущая версия сайта способна обрабатывать не более 99 совпаденцев - это очень мало, но автор GedMatch увеличил эту границу до 499 в тестовой версии сайта - там нам удавалось обрабатывать до 140 совпаденцев, после чего браузер переставал ожидать ответ от сервера: Джон Хэйвард сказал, что исправит это, но не знает, когда у него будет время для этого. Чтобы не ставить галки вручную есть расширение CheckFox для Firefox (выделяете желаемую зону, жмете правой кнопкой и жмете "Check" - в выделенной области будут проставлены все галки) и ClickAllCheckboxes для Chrome (ставит вообще все галки)
4) Жмем "Submit"
5) Жмем "Generations"
6) Ждем, пока будет построена таблица n*n совпаденцев
Переходим к части, где нам понадобится Excel:
1) Выделяем таблицу начиная со строки, где находятся названия столбцов ("Kit" "name" и т.д.) и до самых последних совпаденцев, где начинается картинка с изображением связей между людьми и надписью "Generations:"
2) Копируем ее (Ctrl + C) в Excel - должно получиться что-то такое:
3) Жмем "Файл" -> "Экспорт" -> "Изменить тип файла" -> "Другие типы файлов" -> "CSV (разделители - запятые)"
4) Сохраняем там, где Вам удобно.
Переходим к заключительной части:
1) Заходим на
https://github.com/Daemon2017/atDNACluster2) Жмем справа зеленую кнопку "Clone or download" -> "Download ZIP"
3) Ждем завершения загрузки файла
4) Извлекаем содержимое архива
5) Идем по пути atDNACluster-master\atDNACluster\bin\Release
6) Запускаем там файл atDNACluster.exe
7) Успех!
Теперь немного расскажу об интерфейсе и возможностях
Программа разбита на 5 смысловых блоков:
1) Загрузка - здесь нужно указать тот файл .csv, который Вы сохранили на позапрошлом этапе
2) Обработка - здесь нужно выбрать желаемое число кластеров (от 1 до 32) и нажать кнопку PCA - многомерное пространство будет сведено к двумерному и Вы сможете увидеть где друг относительно друга находятся Ваши совпаденцы. При наведении на значок можно увидеть имя и номер тестового набора выбранного человека
3) Кластеризация - пока что реализован только алгоритм К-средних, он и разобьет Ваших совпаденцев на заданное число кластеров
4) Расстояние - теоретически, алгоритм PCA должен сохранять расстояния, а значит можно нажать кнопку Замерить и последовательно выбрать двух совпаденцев, после чего будет отображено расстояние между ними. Эта опция - теоретическая, ее работоспособность не проверялась.
5) Выделение - во время написания статьи нашему маленькому коллективу пришлось изрядно попотеть, расставляя цветовые маркеры в Пэинте над совпаденцами, происходящими с отцовской или материнской линии. Именно поэтому мы решили облегчить жизнь всем, у кого есть протестированные один/оба родителя или другие близкие родственники, и реализовали возможность вручную делить на 4 кластера путем загрузки .csv файлов со столбцами, содержащими номера китов. (Предварительно нужно выбрать число кластеров = 4, нажать PCA, а затем К-средних)
Принцип таков:
а) Жмем кнопку "1 - красный" и указываем путь к файлу со списком совпаденцев, которые есть у отца
б) Жмем кнопку "2 - зеленый" и указываем путь к файлу со списком совпаденцев, которые есть у матери
в) Жмем кнопку "3 - черный" и указываем путь к файлу со списком совпаденцев, которые есть у обоих родителей
г) Жмем кнопку "Обработать" и получаем такой результат: родичи по отцу - красные, по матери - зеленые, сразу по двум линиям - черные, а ложные (полученные из составных УПСов) - синие.
Можно использовать и только 1, или только 2 кластера.
Для получения приведенной ниже картинки я собрал в один файл всех совпаденцев двоюродного дяди и двоюродной тети (брат и сестра) по его отцовской линии моего отца и указал путь к этому файлу после обработки и кластеризации матрицы совпаденцев 139*139 моего отца. Красные - родственники по линии его отца.
Будем благодарны за предложения, пожелания и конструктивную критику!