Translated addAlleles
This commit is contained in:
parent
a671895caa
commit
d074de07f4
4 changed files with 73 additions and 42 deletions
|
|
@ -1,5 +1,6 @@
|
||||||
# Generated by roxygen2: do not edit by hand
|
# Generated by roxygen2: do not edit by hand
|
||||||
|
|
||||||
|
export(addAlleles)
|
||||||
export(admix1)
|
export(admix1)
|
||||||
export(calculatePopLogml)
|
export(calculatePopLogml)
|
||||||
export(colon)
|
export(colon)
|
||||||
|
|
|
||||||
49
R/addAlleles.R
Normal file
49
R/addAlleles.R
Normal file
|
|
@ -0,0 +1,49 @@
|
||||||
|
#' @title Add Alleles
|
||||||
|
#' @param data data
|
||||||
|
#' @param ind ind
|
||||||
|
#' @param line line
|
||||||
|
#' @param divider divider
|
||||||
|
#' @return data (after alleles were added)
|
||||||
|
#' @export
|
||||||
|
addAlleles <- function(data, ind, line, divider) {
|
||||||
|
# Lisaa BAPS-formaatissa olevaan datataulukkoon
|
||||||
|
# yksil<69><6C> ind vastaavat rivit. Yksil<69>n alleelit
|
||||||
|
# luetaan genepop-formaatissa olevasta rivist?
|
||||||
|
# line. Jos data on 3 digit formaatissa on divider=1000.
|
||||||
|
# Jos data on 2 digit formaatissa on divider=100.
|
||||||
|
|
||||||
|
nloci <- size(data, 2) - 1
|
||||||
|
if (size(data, 1) < (2 * ind)) {
|
||||||
|
data <- c(data, zeros(100, nloci + 1))
|
||||||
|
}
|
||||||
|
|
||||||
|
k <- 1
|
||||||
|
merkki <- line[k]
|
||||||
|
while (merkki != ',') {
|
||||||
|
k <- k + 1
|
||||||
|
merkki <- line[k]
|
||||||
|
}
|
||||||
|
line <- line[k + 1:length(line)]
|
||||||
|
# clear k; clear merkki;
|
||||||
|
|
||||||
|
alleeliTaulu <- as.numeric(strsplit(line, split = " ")[[1]])
|
||||||
|
|
||||||
|
|
||||||
|
if (length(alleeliTaulu) != nloci) {
|
||||||
|
stop('Incorrect data format.')
|
||||||
|
}
|
||||||
|
|
||||||
|
for (j in seq_len(nloci)) {
|
||||||
|
ekaAlleeli <- floor(alleeliTaulu[j] / divider)
|
||||||
|
if (ekaAlleeli == 0) ekaAlleeli <- -999
|
||||||
|
tokaAlleeli <- alleeliTaulu[j] %% divider
|
||||||
|
if (tokaAlleeli == 0) tokaAlleeli <- -999
|
||||||
|
|
||||||
|
data[2 * ind - 1, j] <- ekaAlleeli
|
||||||
|
data[2 * ind, j] <- tokaAlleeli
|
||||||
|
}
|
||||||
|
|
||||||
|
data[2 * ind - 1,end] <- ind
|
||||||
|
data[2 * ind, end] <- ind
|
||||||
|
return(data)
|
||||||
|
}
|
||||||
|
|
@ -1580,48 +1580,6 @@ greedyMix <- function(
|
||||||
|
|
||||||
# %------------------------------------------------------
|
# %------------------------------------------------------
|
||||||
|
|
||||||
# function data = addAlleles(data, ind, line, divider)
|
|
||||||
# % Lisaa BAPS-formaatissa olevaan datataulukkoon
|
|
||||||
# % yksil<69><6C> ind vastaavat rivit. Yksil<69>n alleelit
|
|
||||||
# % luetaan genepop-formaatissa olevasta rivist?
|
|
||||||
# % line. Jos data on 3 digit formaatissa on divider=1000.
|
|
||||||
# % Jos data on 2 digit formaatissa on divider=100.
|
|
||||||
|
|
||||||
# nloci = size(data,2)-1;
|
|
||||||
# if size(data,1) < 2*ind
|
|
||||||
# data = [data; zeros(100,nloci+1)];
|
|
||||||
# end
|
|
||||||
|
|
||||||
# k=1;
|
|
||||||
# merkki=line(k);
|
|
||||||
# while ~isequal(merkki,',')
|
|
||||||
# k=k+1;
|
|
||||||
# merkki=line(k);
|
|
||||||
# end
|
|
||||||
# line = line(k+1:end);
|
|
||||||
# clear k; clear merkki;
|
|
||||||
|
|
||||||
# alleeliTaulu = sscanf(line,'%d');
|
|
||||||
|
|
||||||
# if length(alleeliTaulu)~=nloci
|
|
||||||
# disp('Incorrect data format.');
|
|
||||||
# end
|
|
||||||
|
|
||||||
# for j=1:nloci
|
|
||||||
# ekaAlleeli = floor(alleeliTaulu(j)/divider);
|
|
||||||
# if ekaAlleeli==0 ekaAlleeli=-999; end;
|
|
||||||
# tokaAlleeli = rem(alleeliTaulu(j),divider);
|
|
||||||
# if tokaAlleeli==0 tokaAlleeli=-999; end
|
|
||||||
|
|
||||||
# data(2*ind-1,j) = ekaAlleeli;
|
|
||||||
# data(2*ind,j) = tokaAlleeli;
|
|
||||||
# end
|
|
||||||
|
|
||||||
# data(2*ind-1,end) = ind;
|
|
||||||
# data(2*ind,end) = ind;
|
|
||||||
|
|
||||||
# %------------------------------------------------------
|
|
||||||
|
|
||||||
# function loggis = laskeLoggis(counts, sumcounts, adjprior)
|
# function loggis = laskeLoggis(counts, sumcounts, adjprior)
|
||||||
# npops = size(counts,3);
|
# npops = size(counts,3);
|
||||||
|
|
||||||
|
|
|
||||||
23
man/addAlleles.Rd
Normal file
23
man/addAlleles.Rd
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
% Generated by roxygen2: do not edit by hand
|
||||||
|
% Please edit documentation in R/addAlleles.R
|
||||||
|
\name{addAlleles}
|
||||||
|
\alias{addAlleles}
|
||||||
|
\title{Add Alleles}
|
||||||
|
\usage{
|
||||||
|
addAlleles(data, ind, line, divider)
|
||||||
|
}
|
||||||
|
\arguments{
|
||||||
|
\item{data}{data}
|
||||||
|
|
||||||
|
\item{ind}{ind}
|
||||||
|
|
||||||
|
\item{line}{line}
|
||||||
|
|
||||||
|
\item{divider}{divider}
|
||||||
|
}
|
||||||
|
\value{
|
||||||
|
data (after alleles were added)
|
||||||
|
}
|
||||||
|
\description{
|
||||||
|
Add Alleles
|
||||||
|
}
|
||||||
Loading…
Add table
Reference in a new issue