Цвет глаз, группа крови и байесовские сети

Цвет глаз, группа крови и байесовские сети

@secret_materials
– …У папы черные глаза, у мамы черные глаза, а у сына – серые. Верите, что такое может быть?
– Верю.
– А что у папы серые глаза, у мамы серые глаза, а у сына черные, верите?
– Не-а. Не верю.
– Правильно не верите...
(Борис Стругацкий, "Бессильные мира всего", 2003)

Чем определяется цвет глаз?

Приведённый отрывок из последнего произведения Бориса Стругацкого показывает, что совсем недавно считалось, что светлый или тёмный цвет глаз у людей является менделевским признаком, определяемым одним геном: рецессивный аллель этого гена приводит к светлым глазам, доминантный - к тёмным.

Я тоже так думал когда-то, и пытался решать задачи вроде приведённой выше, но более интересные. Например: если у обоих родителей глаза тёмные, то с какой вероятностью у ребёнка они тоже будут тёмные? Согласитесь, это гораздо более интересная постановка вопроса.

Или даже так. Допустим, мы знаем не только цвет глаз родителей, но и некоторых дядюшек-тётушек, бабушек-дедушек и даже двоюродных братьев с сёстрами. Можем ли мы более точно предсказать, какого цвета глаза у человека?

Генетика и вероятность

Исторически сложилось, что нужды генетики приводили к развитию базового аппарата теории вероятностей и статистики. Более того, выдающийся статистик Рональд Фишер был на самом деле биологом - или наоборот.

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

Вот и для этой задачи нам понадобится использовать вместе генетику и теорию вероятностей.

Немного терминологии

Несколько упрощая: генетическая информация хранится в наших клетках в виде цепочек ДНК - хромосом. Большая часть ДНК - мусор, однако есть реально используемые участки, кодирующие белки. Они называются генами. Большинство генов кодируют важные для вида признаки и потому одинаковы у всех людей. Однако некоторые гены присутствуют в популяции в виде нескольких взаимоисключающих вариантов - аллелей. Например, различия в цвете глаз и волос обусловлены тем, что у разных людей присутствуют разные аллели генов, отвечающих за пигмент волос и радужки глаз.

У человека, как и у других животных, все клетки, за исключением половых, диплоидные, то есть содержат двойной набор хромосом. Один набор наследуется от мамы, другой - от папы. У человека это 23 пары хромосом. Таким образом, клетки содержат по две копии каждого гена, что может быть полезно в том случае, если одна из них окажется поломана в результате мутации. Если существует несколько аллелей одного гена, ситуация становится сложной: мы можем иметь два одинаковых аллеля (гомозиготность) или два разных (гетерозиготность).

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

Половые клетки - яйцеклетки и сперматозоиды - гаплоидные, то есть содержат только один набор хромосом. Они возникают в результате мейоза - специального варианта деления клеток, при котором из пары гомологичных хромосом возникает одна, состоящая из кусков исходных хромосом. Если речь идёт о наследовании одного гена, можно считать, что в половую клетку с одинаковой вероятностью 50% попадёт мамина версия этого гена, и с такой же - папина. Речь идёт о маме и папе того организма, что вырабатывает половые клетки - то есть о бабушке и дедушке будущего ребёнка. Если генов несколько, надо учитывать, расположены ли они на разных хромосомах или на одной, и если на одной, то на каком расстоянии (ключевое слово - кроссинговер). Близко расположенные гены с большой вероятностью будут взяты из одного источника.

При оплодотворении наборы хромосом яйцеклетки и сперматозоида объединяются, и возникает 23 пары хромосом будущего ребенка.

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

Менделевские признаки

Большинство интересных нам признаков - цвет глаз или цвет волос, например - полигенны, то есть определяются сразу несколькими генами. Мы видели, что вопрос одновременного наследования нескольких генов сложный: надо знать, как они расположены на хромосомах и на каком расстоянии друг от друга.

Поэтому базовые законы генетики удобно изучать на признаках, зависящих только от одного гена. Такие признаки называются моногенными или менделевскими, в честь Георга Менделя, первооткрывателя законов генетики. У гороха, над которым ставил опыты Мендель, такими признаками являются цвет горошин - желтый или зелёный, и их шероховатость или гладкость.

У людей не так много менделевских признаков. К сожалению, светлый или тёмный цвет глаз не является одним из них, так что нам придётся выбрать для иллюстрации какой-нибудь другой. Например, группу крови по системе ABO.

Генетика группы крови

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

Итак, группа крови определяется одним геном ABO, расположенным на девятой хромосоме. Существует три аллеля этого гена: один рецессивный (i), и два кодоминантных (IA и IB). Мы переобозначим их через i, a и b.

Сама группа крови бывает одного из четырёх типов:

  • O (или I группа)
  • A (или II группа)
  • B (или III группа)
  • AB (или IV группа)

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

Каким образом две копии гена ABO определяют группу крови? Обозначим генотип человека двумя буквами. Первая буква - i, a или b - пусть обозначает аллель гена ABO на хромосоме, унаследованной от матери, а вторая - от отца. На самом деле совершенно не важно, от кого именно из родителей унаследован какой аллель, важно лишь, какие именно два аллеля данного гена присутствуют в клетках. Однако дальше, когда мы будем решать задачи про наследственность группы крови, нам будет удобно зафиксировать порядок.

Итак, у нас есть 9 вариантов генотипа: ii, ia, ib, ai, aa, ab, bi, ba, bb. Если порядок не важен, можно оставить только шесть: ii, ia, ib, aa, ab, bb. Они определяют группу крови следующим образом:

  • группа O: ii
  • группа A: ia, ai или aa
  • группа B: ib, bi или bb
  • группа AB: ab или ba

Видно, что аллель a является доминантным по отношению к i, потому что присутствие хотя бы одного такого аллеля "отключает" рецессивный аллель i и приводит к группе крови A. Аналогично, b тоже является доминантным по отношению к i. При этом a и b не доминируют друг над другом: в гетерозиготной ситуации ab мы наблюдаем новую группу крови AB, а не A или B.

Простые задачи

Теперь мы можем решать очень простые задачи.

Например:

Задача 1. У обоих родителей первая группа крови (O). Какая группа крови у их ребёнка?

Мы видим, что у обоих родителей генотип ii, так что каждый из них передаст ребёнку аллель i (больше нечего). В итоге генотип ребёнка будет ii, и у него обязательно тоже будет первая группа крови (O).

Задача 2. У мамы первая группа крови (O), а у папы - третья (B) с гетерозиготным генотипом ib. Какая будет группа крови у ребёнка?

В данном случае генотип матери - ii, так что от неё ребёнок получит в любом случае i. От отца же он с вероятностью 50% получит i, с итоговым генотипом ii и группой крови O, и с такой же вероятностью 50% - b, с итоговым генотипом ib и группой крови B.

Мы видим, что вторая задача требует знания не только фенотипа родителей (то есть наблюдаемого признака - их групп крови), но и их генотипа, иначе мы не можем её решить. Будь у отца группа B с гомозиготным генотипом bb, ответ был бы другой - группа крови B у ребёнка в 100% случаев.

Что же делать, если нам известны только фенотипы - то есть сами группы крови - но не генотипы? В конце концов, для определения генотипа нужно проводить сложный генетический анализ, а для определения фенотипа - обычный анализ крови.

В некоторых случаях поможет знание фенотипа других родственников:

Задача 3. У мамы первая группа крови (O), у папы - третья (B), у папиной мамы - первая (O), у папиного папы - третья (B). Какая группа крови у ребенка?

Генотип папы в данном случае - обязательно ib, поскольку он должен был унаследовать i от своей мамы. Поэтому задача сводится к ранее разобранной задаче 2: с вероятностью 50% у ребенка группа крови O, с такой же - B.

Тем не менее, так удаётся рассуждать не всегда. Если бы в этой задаче у бабушки по папиной линии была бы тоже группа крови B, определить папин генотип не получилось бы. Нам нужен дополнительный источник информации.

Частоты генов в популяции

Рассмотрим такую задачу:

Задача 4. У мамы группа крови O, у папы - B. Какая группа крови у ребёнка, если известно, что папа происходит из популяции, в которой аллель i встречается в 57% случаев, аллель a - в 26%, а аллель b - в 17% случаев?

Нам будет удобно ввести обозначения из теории вероятностей. Пусть FG (от Father Genotype) - переменная, она же случайная величина, равная генотипу отца. Она принимает одно из значений ib, bi или bb. Соответствующие события мы будем обозначать через FG=ib, FG=bi или FG=bb. Можно ввести переменные FG1 и FG2, обозначающие аллель, унаследованный отцом от своей матери и отца. Тогда FG состоит из FG1 и FG2.

Поскольку мы ничего не знаем про родителей отца, кроме их принадлежности к популяции, мы можем предположить, что

P(FG1=i)=0.57, P(FG1=a)=0.26, P(FG1=b)=0.17

и аналогично

P(FG2=i)=0.57, P(FG2=a)=0.26, P(FG2=b)=0.17

Здесь P(X) обозначает вероятность события X.

Отсюда можно вычислить

P(FG=ib) = P(FG1=i)P(FG2=b) = 0.57*0.17 = 0.097

P(FG=bi) = 0.17*0.57 = 0.097

P(FG=bb) = 0.17*0.17 = 0.029

Обозначим через FP (Father Phenotype) фенотип отца, то есть его группу крови, принимающую одно из значений O, A, B и OA, в зависимости от FG.

Теперь самое интересное: в условии задачи дано, что FP=B, что означает, что FG принимает одно из значений ib, bi или bb. Это позволяет вычислить нам условные вероятности по формуле Байеса:

P(FP=B) = P(FG=ib) + P(FG=bi) + P(FG=bb) = 0.097+0.097+0.029 = 0.223

P(FG=ib|FP=B) = P(FG=ib)/P(FP=B) = 0.097/0.223 = 0.435

P(FG=bi|FP=B) = P(FG=bi)/P(FP=B) = 0.097/0.223 = 0.435

P(FG=bb|FP=B) = P(FG=bb)/P(FP=B) = 0.029/0.223 = 0.13

Здесь P(X|Y) означает вероятность события X при условии, что выполнено Y.

Таким образом, с вероятностью 0.87 у отца генотип ib или bi. В этом случае он с одинаковой вероятностью передаст ребёнку b или i - то есть i с вероятностью 0.435 и b с вероятностью 0.425. С вероятностью 0.13 у отца генотип bb, и тогда он заведомо передаст ребёнку b, ещё в 13% случаев.

В итоге ребёнок получает от отца в 43.5% случаев i - с итоговым генотипом ii и группой крови O, а в 56.5% случаев b - с итоговым генотипом ib и группой крови B. Это и есть ответ в задаче.

Интересно, что информация о братьях или сестрах может изменить ответ. Например:

Задача 5. У мамы группа крови O, у папы B, у брата - O. Какая группа крови у ребёнка?

Генотип мамы ii, а папы - ib или bi, потому что если бы он был bb, генотип брата был бы заведомо ib, а значит, у него была бы группа крови B. При таком раскладе ребёнок получит от мамы аллель i, а от папы - с вероятностью 50% b или i. В итоге у него будет с вероятностью 50% группа крови B, и с такой же - O.

При решении задачи 5 нам не понадобилось знание частот аллелей в популяции - даже если бы мы их учли, ответ никак не изменился бы. Этим она аналогична задаче 3.

Откуда брать частоты аллелей?

Мы видели при решении задачи 4, что знание частот аллелей в популяции может быть полезно при решении подобных задач. Однако откуда взять эти частоты, не производя генетический анализ у большого количества представителей популяции?

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

Смысл этого закона таков. Если популяция достаточно хорошо перемешана, можно считать, что аллели интересующего нас гена одинаково распределены у родителей любого конкретного представителя популяции, и что они независимы друг от друга. Пусть, например, в пределах популяции

P(G=i) = p, P(G=a) = q, P(G=b) = r, p + q + r = 1.

G обозначает одну копию интересующего нас гена, p, q, r - частоты его трёх аллелей.

Тогда от матери интересующий нас представитель популяции (X) унаследует i, a или b с вероятностью p, q и r соответственно, и аналогично от отца.

Про его генотип XG в итоге можно сказать следующее:

P(XG=ii)=p^2, P(XG=ia)=pq, P(XG=ai)=pq, P(XG=aa)=q^2

P(XG=ib)=pr, P(XG=bi)=pr, P(XG=bb)=r^2, P(XG=ab)=qr, P(XG=ba)=qr.

Вспомним, как генотип XG определяет фенотип XP, и получим:

P(XP=O) = P(XG=ii) = p^2;

P(XP=A) = P(XG=ia)+P(XG=ai)+P(XG=aa) = q^2+2pq = (p+q)^2 - p^2;

P(XP=B) = P(XG=ib)+P(XG=bi)+P(XG=bb) = (p+r)^2 - p^2;

P(XP=AB) = P(XG=ab) + P(XG=ba) = 2qr;

Эти формулы позволяют вычислить p, q и r, исходя из четырёх значений частот групп крови P(XP=O), P(XP=A), P(XP=B) и P(XP=AB). Если обозначить эти четыре числа через O,A,B,C, O+A+B+C=1, то получим закон Харди-Вайнберга для нашей ситуации:

p = sqrt(O)

q = sqrt(A) - p

r = sqrt(B) - q

2*q*r = C (проверочное соотношение)

Например, известно, что для русских (или для россиян?) распределение по группам крови имеет следующий вид:

O = P(XP=O) = 0.33

A = P(XP=A) = 0.36

B = P(XP=B) = 0.23

C = P(XP=AB) = 0.08

Подставим эти значения в предыдущие формулы и получим, что для русских p=0.57, q=0.26, r=0.17. Такие значения и были использованы в задаче 4.

Снова формула Байеса

Формула Байеса уже возникала у нас при решении задачи 4. В действительности она ещё более активно используется при решении задач с большим количеством исходных данных - когда известны группы крови разнообразных дядюшек, тётушек и двоюродных дедушек.

Если вы никогда раньше про неё не слышали и не слишком хорошо разбираетесь в математике - есть хорошие неформальные объяснения с картинками, и даже серии статей.

В качестве упражнения на формулу Байеса попробуйте не слишком заглядывая в подсказку решить следующую задачу, очень похожую на задачи 5 и 4:

Задача 6. У мамы группа крови O, у папы B, у брата - B. Папа происходит из популяции задачи 4. Какая группа крови у ребёнка?

Подсказка: Нужно рассмотреть два события - генотип отца bb; либо генотип отца bi или ib. Вычислить условные вероятности того, что у ребёнка (X) или его брата (B) будет группа крови B или O, в зависимости от одного из этих двух событий:

P(XP=B|FG=bb)=1; P(XP=B|FG=ib or bi)=0.5;

P(BP=B|FG=bb)=1; P(BP=B|FG=ib or bi)=0.5

Затем использовать данные по частотам аллелей для вычисления априорных вероятностей наших двух событий:

P(FG=bb)=0.13, P(FG=bi or ib)=0.87

Остаётся аккуратно применить формулу Байеса, чтобы получить ответ

P(FG=bb|BP=B)=1*0.13/(1*0.13+0.5*0.87)=0.13/0.565=0.23

P(FG=ib or bi|BP=B)=0.5*0.87/(1*0.13+0.5*0.87)=0.435/0.565=0.77

и затем

P(XP=B|BP=B)=P(XP=B|FG=bb)*P(FG=bb|BP=B)+P(XP=B|FG=bi or ib)*P(FG=bi or ib|BP=B)=1*0.23+0.5*0.77=0.615

Ответ: группа B с вероятностью 61.5%, O с вероятностью 38.5%.

По сравнению с задачей 4 выросла вероятность группы B - то есть наличие брата с такой группой крови "повысило" её вероятность у ребёнка. Если бы было уже три брата с такой группой крови, эффект был бы выражен ещё сильнее.

Субъективная вероятность

Во всех этих рассуждениях есть интересный момент. Начиная с задачи 2, мы говорим о том, что у ребёнка будет такая-то и такая группа крови с такими-то вероятностями.

Если ребёнок ещё не родился и даже не зачат, в этом вроде бы есть какой-то смысл. Но ведь вопрос резонен и для уже родившегося ребёнка, и для взрослого человека. Вдруг я по какой-то причине не знаю свою группу крови, но хочу выяснить, используя знание группы крови большого числа родственников? Тогда, например, задача 6 может оказаться релевантна для меня, несмотря на то, что моя группа крови заведомо фиксирована и не является случайным событием.

Проблема связана с философским пониманием того, что такое вероятность.

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

В учебниках по теории вероятностей вероятность обычно определяется именно таким образом. Проблема в том, что далеко не все события воспроизводимы и повторяемы сколь угодно много раз.

Есть такой анекдот. Во время холодной войны американский президент вызывает эксперта-вероятностника и спрашивает: "Какова вероятность ядерной войны в течение ближайших пяти лет?"

Эксперт отвечает: "Эта вероятность либо 0%, либо 100%, но, к сожалению, я не смогу назвать вам её точное значение раньше, чем через пять лет."

Президент остался не очень доволен ответом.

Действительно, объективная вероятность единичного события должна быть равна 0 или 1, в зависимости от того, случилось событие или нет. Однако это совсем не то, что мы хотим услышать в ответ на вопрос, будет ли завтра дождь - и не то, что хотел услышать американский президент.

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

С точки зрения субъективной вероятности допустимо говорить и о вероятности того, что у меня такая-то группа крови, исходя из групп крови моих родителей, и о вероятности дождя завтра или ядерной войны в следующие пять лет.

Интересно, что субъективная вероятность воспроизводимых и повторяющихся событий оказывается близка к их объективным вероятностям, и при этом очень слабо зависит от субъективных установок и предпосылок. В этом смысле объективная вероятность является частным случаем субъективной.

Формула Байеса зачастую применяется вместе с субъективными вероятностями.

Программа для решения генетических задач

Когда-то, когда я был молодым и наивным, я думал написать компьютерную программу, вычисляющую вероятность того, что глаза человека светлые, исходя из информации о цвете глаз каких угодно его родственников. Тогда я ещё думал, что светлые или тёмные глаза определяются одним геном, как и Борис Натанович Стругацкий и многие другие.

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

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

А до тех пор желающие могут написать свои программы, не использующие таких хитростей, и проверить их на задачах из этого текста.

Статья размещена в канале @secret_materials


Report Page