Added computeAllFreqs2 function
This commit is contained in:
parent
d8df7fcb9e
commit
70528756fc
3 changed files with 50 additions and 41 deletions
26
R/admix1.R
26
R/admix1.R
|
|
@ -401,29 +401,3 @@ admix1 <- function(tietue) {
|
||||||
# global SUMCOUNTS; SUMCOUNTS = [];
|
# global SUMCOUNTS; SUMCOUNTS = [];
|
||||||
# global PARTITION; PARTITION = [];
|
# global PARTITION; PARTITION = [];
|
||||||
# global POP_LOGML; POP_LOGML = [];
|
# global POP_LOGML; POP_LOGML = [];
|
||||||
|
|
||||||
# %--------------------------------------------------------
|
|
||||||
|
|
||||||
|
|
||||||
# function allFreqs = computeAllFreqs2(noalle)
|
|
||||||
# % Lisää a priori jokaista alleelia
|
|
||||||
# % joka populaation joka lokukseen j 1/noalle(j) verran.
|
|
||||||
|
|
||||||
# global COUNTS;
|
|
||||||
# global SUMCOUNTS;
|
|
||||||
|
|
||||||
# max_noalle = size(COUNTS,1);
|
|
||||||
# nloci = size(COUNTS,2);
|
|
||||||
# npops = size(COUNTS,3);
|
|
||||||
|
|
||||||
# sumCounts = SUMCOUNTS+ones(size(SUMCOUNTS));
|
|
||||||
# sumCounts = reshape(sumCounts', [1, nloci, npops]);
|
|
||||||
# sumCounts = repmat(sumCounts, [max_noalle, 1 1]);
|
|
||||||
|
|
||||||
# prioriAlleelit = zeros(max_noalle,nloci);
|
|
||||||
# for j=1:nloci
|
|
||||||
# prioriAlleelit(1:noalle(j),j) = 1/noalle(j);
|
|
||||||
# end
|
|
||||||
# prioriAlleelit = repmat(prioriAlleelit, [1,1,npops]);
|
|
||||||
# counts = COUNTS + prioriAlleelit;
|
|
||||||
# allFreqs = counts./sumCounts;
|
|
||||||
23
R/computeAllFreqs2.R
Normal file
23
R/computeAllFreqs2.R
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
#' @title Compute all freqs - version 2
|
||||||
|
#' @description Lisää a priori jokaista alleelia joka populaation joka lokukseen
|
||||||
|
#' j 1/noalle(j) verran.
|
||||||
|
computeAllFreqs2 <- function (noalle, COUNTS = matrix(NA, 0, 0),
|
||||||
|
SUMCOUNTS = sum(COUNTS)) {
|
||||||
|
|
||||||
|
max_noalle <- size(COUNTS, 1)
|
||||||
|
nloci <- size(COUNTS,2)
|
||||||
|
npops <- size(COUNTS,3)
|
||||||
|
|
||||||
|
sumCounts <- SUMCOUNTS + ones(size(SUMCOUNTS))
|
||||||
|
sumCounts <- reshape(t(sumCounts), c(1, nloci, npops))
|
||||||
|
sumCounts <- repmat(sumCounts, c(max_noalle, 1, 1))
|
||||||
|
|
||||||
|
prioriAlleelit <- zeros(max_noalle, nloci)
|
||||||
|
for (j in 1:nloci) {
|
||||||
|
prioriAlleelit[1:noalle[j], j] <- 1 / noalle[j]
|
||||||
|
}
|
||||||
|
prioriAlleelit <- repmat(prioriAlleelit, c(1, 1, npops))
|
||||||
|
counts <- COUNTS + prioriAlleelit
|
||||||
|
allFreqs <- counts / sumCounts
|
||||||
|
return(allFreqs)
|
||||||
|
}
|
||||||
12
man/computeAllFreqs2.Rd
Normal file
12
man/computeAllFreqs2.Rd
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
% Generated by roxygen2: do not edit by hand
|
||||||
|
% Please edit documentation in R/computeAllFreqs2.R
|
||||||
|
\name{computeAllFreqs2}
|
||||||
|
\alias{computeAllFreqs2}
|
||||||
|
\title{Compute all freqs - version 2}
|
||||||
|
\usage{
|
||||||
|
computeAllFreqs2(noalle, COUNTS = matrix(NA, 0, 0), SUMCOUNTS = sum(COUNTS))
|
||||||
|
}
|
||||||
|
\description{
|
||||||
|
Lisää a priori jokaista alleelia joka populaation joka lokukseen
|
||||||
|
j 1/noalle(j) verran.
|
||||||
|
}
|
||||||
Loading…
Add table
Reference in a new issue