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

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]]
		#LDZout<-LimitDiplotypeZ(p,g,A)

		LDZout2<-LimitDiplotypeZ(p,g,A2)
		MCheck<-TRUE
		for(i in 1:length(LDZout2$dlistA)){
			#print(LDZout2$distA[[i]])
			if(length(LDZout2$dlistA[[i]])==0){
				print("checkFALSE")
				MCheck<-FALSE
			}
		}
		if(!MCheck){
			return(-Inf)
		}
		#cpnout<-CalcProbNucs(p,g,A,P,nucs,LDZout)
		#info<-LDZout$dlistA
		cpnout2<-CalcProbNucs(p,g,A2,P2,nucs,LDZout2)
		info2<-LDZout2$dlistA
		#print(g)
#print(info2)
		DiplotypePrior2<-MakeDiplotypePrior(p,g,A2,P2,LDZout2,info2)
		like2<-LikeNucWithPrior(cpnout2,nucs,DiplotypePrior2)
		tmpret<-tmpret+SumPivot(cpnout2,like2,info2)$loglike

	}
	tmpret
}