2011-05-07から1日間の記事一覧

ディプロタイプの事前確率を考慮する

核家族ごとに、取りうるディプロタイプの組み合わせごとに確率を計算することを前記事で書いた ディプロタイプがわかっている人の場合は、ただ1つのディプロタイプが確率1で決まっている ディプロタイプが与えられていないメンバーの場合、親が不明な場合…

核家族ごと・ディプロタイプを固定して、確率・尤度を計算

核家族のディプロタイプが与えられたとき、その尤度は、両親のディプロタイプから、子のディプロタイプが生まれる確率を計算する 子が複数のときは、子ごとに確率を計算して、それを掛け合わせる 核家族のメンバーが取りうるディプロタイプがわかっていると…

核家族の確率・尤度をピボットで連結する

SumPivot<-function(cpnout,like,info){ ret<-NULL #pivotted<-set() #pivotted<-list() pivotted<-rep(0,length(info)) cumulProb<-list() for(nn in 1:length(cpnout)){ tmpdim<-dim(cpnout[[nn]][[1]]) tmp<-rep(1,tmpdim[1]) if(pivotted[[cpnout[[nn]][…

核家族ごとにディプロタイプ総当たり条件の確率・尤度を計算する

LikeNucWithPrior<-function(cpnout,nucs,DiplotypePrior){ prob<-list() for(nn in 1:length(nucs)){ nucDimVector<-cpnout[[nn]][[2]] tmp<-DiplotypePrior[[nucDimVector[1]]] for(i in 2:length(nucDimVector)){ tmp<-tmp%o%DiplotypePrior[[nucDimVecto…

候補者がたくさんいて、網羅的に探すときはメンデリアンチェックで絞り込む

library(paramlink) tmpPed<-p[,1:5] tmpPed<-data.frame(ID=tmpPed[,1],FID=tmpPed[,3],MID=tmpPed[,2],SEX=tmpPed[,4]+1,AFF=tmpPed[,5]-1) tmpPed<-linkdat(tmpPed,model=1) # 候補者を当てはめて確定したジェノタイプがtmpG2 tttmpG<-tmpG2[,,1] for(i i…

DNA鑑定のためのマーカーデータ処理

目次 1. 家系を扱おう 2.マーカーごとに可能なディプロタイプ・ハプロタイプを選ぶ 3.考慮するアレルで絞る 4.核家族ごと・ディプロタイプを固定して、確率・尤度を計算 5.ディプロタイプの事前確率を考慮する 6.核家族ごとにディプロタイプ総当た…

マーカーごとに可能なディプロタイプ・ハプロタイプを選ぶ

マーカーが相互に独立な場合には、個々のマーカーに関して確率・尤度を計算して、積を取ることができる ゲノム全体にぱらぱらと置いたIdentifilerの場合には、この仮定でよい マーカーごとに次のように考える アレル数がのとき、ディプロタイプのタイプ数は…

考慮するアレルで絞る

ここにもあるように、マーカーのアレル数は非常に多い それは、アレル数が多い方が、伝達に関する情報が多く、鑑定の力が強いからである しかしながら、組み合わせ計算においては、場合の数を膨大にする源である 家系の解析で、気になるアレル(家系内に存在…

日本人のためのIdentifilerアレル情報

尤度計算に用いるアレル頻度 IdentifilerというDNA鑑定キットがある 15個のSTRマーカーを使う それの日本人のアレル頻度に関しては、[J Forensic Sci. 50(3): 718-719.:title=こちら]の報告がある。ちなみにSTR頻度に関してこちらのサイトもある 日本人270…

家系を扱おう

家系情報を作る 家系情報は行列にする 行の順番は時系列を守ること 後述するように、尤度・確率の計算では、核家族を分離して計算することで計算量を減らすように作っている。したがって、家系図にループがある場合には、後半が対応していないことに留意する…

複数いる尤度解析対象者、複数いる候補者、これらを網羅的に組み合わせる

CalcLikeForCandidates<-function(p,G,candidates,Gcandidates,Alleles,Probs){ # Gpoolの候補者が「ポピュレーションで観察される確率」をあらかじめ算出しよう LikeFromGenPop<-rep(0,length(Gpool2[,1,1])) for(i in 1:length(Alleles)){ tmp<-OffspringG…

複数のマーカーの確率・尤度を合わせる

CalcLikeZ<-function(p,G,nucs,Alleles,Probs){ tmpret<-0 for(na in 1:length(Alleles)){ A<-unlist(Alleles[[na]]) P<-Probs[[na]] g<-G[,,na] gpool<-G[,,na] #A2P2<-LimitAlleles(g,A,P) A2P2<-LimitAlleles(gpool,A,P) A2<-A2P2[[1]] P2<-A2P2[[2]] #LD…

DNA鑑定 書き直し