Hardy-Weinberg Equilibriumを代数統計する

  • こちらから
  • 2アレル多型の2つのアレルの頻度をそれぞれp1,p2とする
  • HWEの下での3ディプロタイプの頻度をg1,g2,g3とする
  • g1 = p1^2,g2=2p1\times p2,g3=p2^2の関係にある
  • g1,g2,g3には制約関数があるが、それを代数アプリケーションSingularで求めてみる
ring p = 0,(p1,p2),lp;
ring g = 0,(g1,g2,g3),lp;
setring p;
map f = g,p1^2,2*p1*p2,p2^2;
ideal i0 = 0;
setring g;
preimage(p,f,i0);
  • "ring p = 0,(p1,p2),lp;"
    • 環pを定義する。これはアレル頻度の環
  • "ring g = 0,(g1,g2,g3),lp;"
    • 環gを定義する。これはディプロタイプ頻度の環
  • "setring p;"
    • アレル頻度の世界で考えることにする
  • "map f = g,p1^2,2*p1*p2,p2^2;"
    • アレル頻度p1,p2を使ってディプロタイプgの3変数g1,g2,g3を表す関数fを定義する
  • "ideal i0=0;"
    • アレル頻度の世界(setring p;がまだ生きている)でのイデアルを定める
  • "setring g;"
    • ディプロタイプ頻度の世界に移る(変数としてg1,g2,g3を使うことにする)
  • "preimage(p,f,i0);
    • p =(p1,p2)とg=(g1,g2,g3)の関係はfで与えられているとき、ディプロタイプの変数g=(g1,g2,g3)の多項式で、その値がi0=0になるような式を作れ。
  • 出来た式-4g1g3-g2^2g1=p1^2,g2=2p1\times p2,g3=p2^2を代入すると、-4(p1^2)(p2^2)+(2p1\times p2)^2=0となっている