АвторТема: Утилита для создания усреднённого генома  (Прочитано 6305 раз)

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

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

  • Genus regis
  • Сообщений: 36936
  • Страна: ca
  • Рейтинг +3773/-48
  • Y-ДНК: J2b1
  • мтДНК: H6a1a5a
Re: Утилита для создания усреднённого генома
« Ответ #15 : 28 Октябрь 2015, 19:14:46 »
Утилита должна иметь два режима. Назовём их, скажем, групповой и семейный.

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

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

  • Genus regis
  • Сообщений: 36936
  • Страна: ca
  • Рейтинг +3773/-48
  • Y-ДНК: J2b1
  • мтДНК: H6a1a5a
Re: Утилита для создания усреднённого генома
« Ответ #16 : 28 Октябрь 2015, 19:18:04 »
Семейный вариант предполагает небольшое количество сравниваемых геномов. И в нём представляется логичным помимо наиболее часто встречающегося значения (которого во многих случаях может просто не быть даже на полудесятке гаплотипов) - генерирования значения иметь возможность по разным критериям.

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

  • Genus regis
  • Сообщений: 36936
  • Страна: ca
  • Рейтинг +3773/-48
  • Y-ДНК: J2b1
  • мтДНК: H6a1a5a
Re: Утилита для создания усреднённого генома
« Ответ #17 : 28 Октябрь 2015, 19:23:16 »
Цитировать
Тут тоже не совсем понятно, ну допустим будет CC CC CC TT TT CT

Если речь идёт о групповом варианте, то выходное значение СС. Потому как имеет наиболее высокую частоту. Табличка же частотности следующая:
СС 0.5
ТТ 0.33
СТ 0.17


При семейном варианте имеем следующую таблицу частотности:
С 0.58
Т 0.42

При пороге для второго по частоте значения в 25% имеем на выходе СТ.
Если же, скажем, установим порог в 45%, то на выходе получим СС.

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

  • Genus regis
  • Сообщений: 36936
  • Страна: ca
  • Рейтинг +3773/-48
  • Y-ДНК: J2b1
  • мтДНК: H6a1a5a
Re: Утилита для создания усреднённого генома
« Ответ #18 : 28 Октябрь 2015, 19:28:27 »
Семейный вариант имеет отдалённое сходство с фазированием гаплотипов.
Тем фазированием, где по геномов родственников пытаются реконструировать геном другого родственника. Скажем, умершего.

И не забываем, что в случае УПСов выхватывается только половина значений.

То есть, для цепочки АА АС СС можем иметь УПСы либо А А С, либо А С С. При 700 и более снипов - варианты получаются уникальными.

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

  • Genus regis
  • Сообщений: 36936
  • Страна: ca
  • Рейтинг +3773/-48
  • Y-ДНК: J2b1
  • мтДНК: H6a1a5a
Re: Утилита для создания усреднённого генома
« Ответ #19 : 29 Октябрь 2015, 08:31:58 »
 Остановимся на варианте Утилита для генерирования модального генома.
Для двух и более геномов по каждой позиции каждой хромосомы будем отбирать наиболее часто встречающееся значение. В случае равночастотных значений, будем брать то, что находится в первом файле. Меняя порядок введения исходных геномов, получим разные варианты выходных файлов. При большом количестве геномов, выбрать наиболее частое значение будет проще.

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

  • Genus regis
  • Сообщений: 36936
  • Страна: ca
  • Рейтинг +3773/-48
  • Y-ДНК: J2b1
  • мтДНК: H6a1a5a
Re: Утилита для создания усреднённого генома
« Ответ #20 : 29 Октябрь 2015, 10:47:07 »
Итак, нужен простенький GUI с кнопкой "Добавить". При нажатии на которую появляется возможность внести геном.
По каждому введённому геному надо высветить количество имеющихся в нём маркеров. Идея проста. Сгенерированный файл должен быть не менее самого длинного генома. То есть, в нём также надо посчитать все маркеры.
Кроме того, надо оценить качество выходного файла. Поэтому надо указать количество маркеров с равночастотными отличающимися значениями. Для двух, трёх и более (если будут, конечно) значений.

Скажем, обрабатываем мы всего два генома. В первом 367245 снипов (цифры с потолка), во втором 354986 маркеров. Выходной файл содержит 401123 снипа. Из них, допустим, 140989 равночастоно-отличных. Добавим геномы в одном порядке - получим один выходной файл. Изменим порядок добавления геномов - получим другой файл.

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

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

  • Genus regis
  • Сообщений: 36936
  • Страна: ca
  • Рейтинг +3773/-48
  • Y-ДНК: J2b1
  • мтДНК: H6a1a5a
Re: Утилита для создания усреднённого генома
« Ответ #21 : 30 Октябрь 2015, 00:26:48 »
 Равночастотные - встречающиеся с одинаковой частотой.
Если в 50% имеем СС, а в 50% СТ, то эти значения равночастотные. Какое же выбрать? Я предлагаю брать из первого генома.

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

  • Genus regis
  • Сообщений: 36936
  • Страна: ca
  • Рейтинг +3773/-48
  • Y-ДНК: J2b1
  • мтДНК: H6a1a5a
Re: Утилита для создания усреднённого генома
« Ответ #22 : 30 Октябрь 2015, 00:31:07 »
Может быть и такой варинт равночастотности: 33.3% АА, 33.3% АТ, 33.3% ТТ. Поставили иной геном первым в списке - получили новый вариант выходного файла.

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

  • Genus regis
  • Сообщений: 36936
  • Страна: ca
  • Рейтинг +3773/-48
  • Y-ДНК: J2b1
  • мтДНК: H6a1a5a
Re: Утилита для создания усреднённого генома
« Ответ #23 : 30 Октябрь 2015, 00:33:27 »
Для чего нужны счетчики? Они позволяют делать отладку программы. Быть уверенным в том, что все делается верно.

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

  • Genus regis
  • Сообщений: 36936
  • Страна: ca
  • Рейтинг +3773/-48
  • Y-ДНК: J2b1
  • мтДНК: H6a1a5a
Re: Утилита для создания усреднённого генома
« Ответ #24 : 30 Октябрь 2015, 00:36:01 »
Для чего считаем равночастотные значения? Если их будет совсем мало, можно будет их просто заменить ноу-коллами. Т.е. просто убрать позицию в выходном файле.

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

  • Genus regis
  • Сообщений: 36936
  • Страна: ca
  • Рейтинг +3773/-48
  • Y-ДНК: J2b1
  • мтДНК: H6a1a5a
Re: Утилита для создания усреднённого генома
« Ответ #25 : 30 Октябрь 2015, 07:26:34 »
Цитировать
Вы предлагали по весам, но так для всех 9 значений возможных весы не предоставили, а только по трем.

Я ничего не предлагал по весам!!! Просто не предполагал, что объяснять придётся буквально азы. Вы ведь уже годы в теме. И такие вот прорехи.

Модальный, это значит составленный из наиболее часто встречающихся значений.
Допустим, по позиции 74567 на 8-й хромосоме (которая суть пара хромосом) имеем следующие значения снипов из десяти разных геномов:
АС АС АС АС АА АА АА СС СС СС.
Таблица частотности для этих значений выглядит сл. образом:
АС: 4 из 10, или 0.4, или 40%.
АА: 3 из 10, или 0.3, или 30%.
СС: 3 из 10, или 0.3, или 30%.
Т.о. модальное значение АС. Как наиболее часто встречающееся.
Для значений АА и СС частотность одинакова.

Теперь про 9 значений. Их не девять. Речь вёл о том, что в одной позиции одной хромосомы обычно встречается сочетание только двух нуклеотидов. То есть, скажем, С и Т. Соответственно возможные варианты (без ноу-коллов, инделлов и инструментальных ошибок) только СС, СТ и ТТ.


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

И потом. Написал почему отвечаю в ветке, а не в приватных беседах.
Прежде же чем сетовать на кажущуюся неспешность ответов, прикиньте 7 часов поясной разницы во времени. Плюс мою 12 часовую рабочую смену с 15:00 до 03:00. Т.е. ещё сдвиг на 8 часов.

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

  • Genus regis
  • Сообщений: 36936
  • Страна: ca
  • Рейтинг +3773/-48
  • Y-ДНК: J2b1
  • мтДНК: H6a1a5a
Re: Утилита для создания усреднённого генома
« Ответ #26 : 30 Октябрь 2015, 07:36:45 »
Цитировать
Ну короче я так предлагаю сделать. Будет ориентироваться программа на самый большой файл, а если несколько самых больших, из них случайный выберет. Так как в принципе насколько я понял все снипы туда в любой наиболее большой должны входить уже, что и в других файлах будут этого же или меньшего размера? (ну или хотя бы отметки о снипах ноу калл). Там же ФТДНА и 23эндМи по одному шаблону, набору снипов же делают, если от этих компаний брать. ну на другие пока можно не ориентироваться пока что.

Не правильно!!!
Даже в самом длинном файле процентов 15 не вычитанно. Т.е. ноу-коллы.
Если бы у нас была исчерпывающая таблица используемого чипа (хромосомы, позиции) - было бы легче.
Но оно и так легко.

Итак алгоритм.
Все файлы привели к одному виду. Скажем, стандарт от 23эндМи, который обычный текстовый файл и потом зазипован под Виндоуз.

1. Берём первый файл. По каждой хромосоме составляем таблицу. Позиции в возрастающем порядке и их значения.
2. Берём второй файл. Если по хромосоме уже имеется строка с позицией, в следующий столбец вписываем значение. Если же позиция отсутствует - добавляем её.
3. Соответственно пункту 2. добавляем колонки и строки для всех последующих геномов.
4. По каждой позиции (строке) каждой хромосомы записываем наиболее часто встречающееся значение.
5. Если имеются два равночастотных максимума - берём первый. Каждый такой случай считаем и в конце выдаём в финальной статистике.

В каждом входном геноме и в сгенерированном выходном геноме считаем количество строк (снипов).

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

  • Genus regis
  • Сообщений: 36936
  • Страна: ca
  • Рейтинг +3773/-48
  • Y-ДНК: J2b1
  • мтДНК: H6a1a5a
Re: Утилита для создания усреднённого генома
« Ответ #27 : 30 Октябрь 2015, 18:48:24 »
Цитировать
Почему не правильно? Да пускай там хоть 60 процентов будут ноу-каллы, главное чтобы название снипа было написано.

Название снипов написаны в обоих вариантах. Ведь уже писал. И файлы уже отправил.

Ага. Кое кто заинтересовался.  :)

Вопросы были заданы в личку - отвечу тут.

Цитировать
ну насчет то что вы тут предлагаете, вроде  с одной стороны не сложно, но что за формат файлов? Ну если сравнивать оба должны быть ФТДНА например к примеру? Если же разные будут ерунда получится?

На самом деле, имеем два формата.

1. 23эндМи:

Цитировать
# This data file generated by 23andMe at: Wed Nov 27 22:09:19 2013
#
# Below is a text version of your data.  Fields are TAB-separated
# Each line corresponds to a single SNP.  For each SNP, we provide its identifier
# (an rsid or an internal id), its location on the reference human genome, and the
# genotype call oriented with respect to the plus strand on the human reference sequence.
# We are using reference human assembly build 37 (also known as Annotation Release 104).
# Note that it is possible that data downloaded at different times may be different due to ongoing
# improvements in our ability to call genotypes. More information about these changes can be found at:
# https://www.23andme.com/you/download/revisions/
#
# More information on reference human assembly build 37 (aka Annotation Release 104):
# http://www.ncbi.nlm.nih.gov/mapview/map_search.cgi?taxid=9606
#
# rsid   chromosome   position   genotype
rs4477212   1   82154   AA
rs3094315   1   752566   AA
rs3131972   1   752721   GG
rs12562034   1   768448   GG
rs12124819   1   776546   AA
rs11240777   1   798959   GG
rs6681049   1   800007   CC
rs4970383   1   838555   AA
rs4475691   1   846808   TT
...

2. ФТДНА:

Цитировать
RSID,CHROMOSOME,POSITION,RESULT
"rs3094315","1","752566","AA"
"rs3131972","1","752721","GG"
"rs12562034","1","768448","GG"
"rs12124819","1","776546","AA"
"rs11240777","1","798959","GG"
"rs6681049","1","800007","CC"
"rs4970383","1","838555","AA"
"rs4475691","1","846808","TT"
"rs7537756","1","854250","GG"
"rs13302982","1","861808","GG"
"rs1110052","1","873558","GG"
"rs2272756","1","882033","AA"
"rs17160698","1","887162","TT"
"rs3748597","1","888659","CC"
"rs13303106","1","891945","AA"
"rs28415373","1","893981","CC"
"rs13303010","1","894573","AA"
"rs6696281","1","903104","CC"
"rs28391282","1","904165","GG"
"rs2340592","1","910935","GG"
"rs13303118","1","918384","TG"
"rs2341354","1","918573","AG"
"rs6665000","1","924898","AA"
"rs2341362","1","927309","CC"
"rs9777703","1","928836","TT"
"rs1891910","1","932457","GG"
...

Как видим, всё дело только в разделителях.
Берём хромосому, затем позицию, затем обрабатываем значения.

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

  • Genus regis
  • Сообщений: 36936
  • Страна: ca
  • Рейтинг +3773/-48
  • Y-ДНК: J2b1
  • мтДНК: H6a1a5a
Re: Утилита для создания усреднённого генома
« Ответ #28 : 30 Октябрь 2015, 18:52:40 »
Названия снипов нам нужны только для выходного файла. Чтобы у него был правильный синтаксис. Чтобы его и ГедМатч и (главное!) ДНАлэнд скушали.

Нам же нужны только номер хромосомы, позиция на хромосоме, значение в позиции.
Т.е. то, что по версии 23эндМи записано вот так: 1   752566   AA; а по версии ФТДНА - вот эдак ,"1","752566","AA".

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

  • Genus regis
  • Сообщений: 36936
  • Страна: ca
  • Рейтинг +3773/-48
  • Y-ДНК: J2b1
  • мтДНК: H6a1a5a
Re: Утилита для создания усреднённого генома
« Ответ #29 : 30 Октябрь 2015, 18:56:39 »
Писал также почему важно, чтобы имелось возможность выбирать порядок отработки файлов.
Повторю ещё.
Допустим, Вы отрабаытываете два файла от двух братьев. Очевидно, что будут равночастотные значения.
Если брать их по одному брату - получим после обработки с выходным файлом один лист родичей. Если же взять значения по другому брату - лист будет другой.

 

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

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