# NOT RUN {
data(Ped_HSg5)
GenoM <- SimGeno(Ped_HSg5, nSnp=400, CallRate = runif(400, 0.2, 0.8))
# quick alternative:
GenoM.checked <- CheckGeno(GenoM)
# user supervised alternative:
Excl <- CheckGeno(GenoM, Return = "excl")
GenoM.orig <- GenoM # make a 'backup' copy
if ("ExcludedSnps" %in% names(Excl))
GenoM <- GenoM[, -Excl[["ExcludedSnps"]]]
if ("ExcludedInd" %in% names(Excl))
GenoM <- GenoM[!rownames(GenoM) %in% Excl[["ExcludedInd"]], ]
if ("ExcludedIndiv" %in% names(Excl))
GenoM <- GenoM[!rownames(GenoM) %in% Excl[["ExcludedIndiv"]], ]
# warning about SNPs scored for <50% of individuals ?
SnpCallRate <- apply(GenoM, MARGIN=2,
FUN = function(x) sum(x!=-9)) / nrow(GenoM)
hist(SnpCallRate, breaks=50, col="grey")
GenoM <- GenoM[, SnpCallRate > 0.6]
# to be on the safe side, filter out low call rate individuals
IndivCallRate <- apply(GenoM, MARGIN=1,
FUN = function(x) sum(x!=-9)) / ncol(GenoM)
hist(IndivCallRate, breaks=50, col="grey")
GoodSamples <- rownames(GenoM)[ IndivCallRate > 0.8]
# }
# NOT RUN {
# }
Run the code above in your browser using DataLab