同じのとり方はいくつある?2

  • 昨日、「同じr^2のマーカーの取り方について書いた
  • r^2とは、マーカー間の関係を数値化したものであるので、それを角度ととらえて、幾何的に考えることにする
  • 球と単体とは、「相互関係がそろっている点」を扱う仕組みであるのは、こちらの記事の通りなので、それを使う
  • k次元空間でk-1次元多様体であるk次元球面上の点がマーカーに相当するとする
  • このとき、あるマーカーを含んだN個のマーカーが相互に等しい関係であるようにN個のマーカーを取ることを考える
  • これは、あるマーカーに相当する点を頂点の一つとするk-1正単体の頂点を決めることに相当するので、N=k-1がその最大個数である
  • またあるマーカーと等しい関係にあるマーカーは、そのマーカーを中心としたk-1次元球面上の点に対応する
  • そのようにしてとる点は、中心マーカーとの関係は同じだが、取られたマーカー同士の関係は遠近取り混ぜられている
  • 以下のRのソースではgは正単体を作るマーカー、g2はそれに「中心」を置いたもの
  • 以下のソースでは、染色体の本数を自然数で作るためにs,mをはじめとするパラメタの値の与え方に条件があるが、頻度でよければその制約を減らして、同様な方法でハプロタイプ頻度分布を算出することもできる
#N 染色体本数
#p 0アレルの頻度
#P pの逆数
#n 0アレル染色体の本数
#r 組換え染色体の割合
#R rの逆数
#x 0アレル染色体のうちの組換え染色体の本数
#m マーカー数
#s 「中心染色体」と同じアレルを持ち、かつ組換え体である本数

s<-2
m<-3
x<-s*m
R<-6
r<-1/R
n<-x*R
P<-3
p<-1/P
N<-P*n
center<-c(rep(0,N*p),rep(1,N*(1-p)))
g<-rbind(matrix(0,N*p,m),matrix(1,N*(1-p),m))

for(i in 1:m){
	g[((i-1)*x+1):(i*x),i]<-1
	g[(N-(i-1)*x):(N-i*x+1),i]<-0
	center[((i-1)*x+1):((i-1)*x+s)]<-1
	center[(N-(i-1)*x):(N-(i-1)*x-(s-1))]<-1
}
cor(g)
g2<-cbind(center,g)
cor(g2)