ぬーみんの日記

某大医大生の短期留学と膝のリハビリと医学メモ

国試問題97I8のシミュレーションby Python

どーも、おひさしぶりです。ぬーみん生きてます。

今日は日ごろのことは置いといて、最近Pythonで遊んでみた成果を張り付けておきたいと思います。

 

さて、MTM先生の授業を聞いた人は見覚えあるかと思われるこの問題。

32歳の女性。遺伝相談のために来院した。父が常染色体優性遺伝疾患に罹患している。この疾患の浸透率は50%。近親婚はなく、本人は発症していない。第1子が発症する確率は? 

 この問題、私たちの世代には厳しい問題だったのではないでしょうか。なんせ条件付確率が高校数学の範囲外だったもんで。

この問題の解き方

病的遺伝子A、正常遺伝子a、浸透率αとする。父親の遺伝子(Aa)、母親の遺伝子(aa)であると考えると

  • 相談者が病的遺伝子を保有している確率は1/2
  • 相談者が病的遺伝子を保有しており、かつ病気を発症していない確率(P)は1/2 * (1 - α) = 1/4
  • 相談者が病的遺伝子を保有しておらず、もちろん発症していない確率(Q)は1/2

このことを踏まえると「相談者が発症していないときに病的遺伝子を持っている確率」はP/(P + Q) = (1/4) / (3/4) = 1/3

この相談者を母親、病的遺伝子を持たない男性を父親として生まれた子供が病気を発症する確率は1/3 * 1/2 * α = 1/12 ≒ 0.084...

 

 

・・・でもなんか直感的に騙された気がするなぁ。

ってことでシミュレーションしてみました。

 

marry.py

f:id:numin-yumin:20171011232604p:plain

kokushi97_I_8.py

f:id:numin-yumin:20171011232744p:plain

 病気を発症している父親と健常人の母親が1000回相談者を産んだとしてその子供が病気を発症する確立を計算して、100回試行分を平均した数値が返ってきます。

Runしたところ見事に8.4%付近の結果が出ました。

以上Python による自習(暇つぶし)でした。