| snpgdsIBS {SNPRelate} | R Documentation |
Calculate the fraction of identity by state for each pair of samples
snpgdsIBS(gdsobj, sample.id = NULL, snp.id = NULL, autosome.only = TRUE,
remove.monosnp = TRUE, maf = NaN, missing.rate = NaN,
num.thread = 1L, verbose = TRUE)
gdsobj |
an object of class |
sample.id |
a vector of sample id specifying selected samples; if NULL, all samples are used |
snp.id |
a vector of snp id specifying selected SNPs; if NULL, all SNPs are used |
autosome.only |
if |
remove.monosnp |
if TRUE, remove monomorphic SNPs |
maf |
to use the SNPs with ">= maf" only; if NaN, no MAF threshold |
missing.rate |
to use the SNPs with "<= missing.rate" only; if NaN, no missing threshold |
num.thread |
the number of (CPU) cores used; if |
verbose |
if TRUE, show information |
The minor allele frequency and missing rate for each SNP passed in
snp.id are calculated over all the samples in sample.id.
The values of the IBS matrix range from ZERO to ONE.
Return a list (class "snpgdsIBSClass"):
sample.id |
the sample ids used in the analysis |
snp.id |
the SNP ids used in the analysis |
ibs |
a matrix of IBS proportion, "# of samples" x "# of samples" |
Xiuwen Zheng
# open an example dataset (HapMap)
genofile <- snpgdsOpen(snpgdsExampleFileName())
# perform identity-by-state calculations
ibs <- snpgdsIBS(genofile)
# perform multidimensional scaling analysis on
# the genome-wide IBS pairwise distances:
loc <- cmdscale(1 - ibs$ibs, k = 2)
x <- loc[, 1]; y <- loc[, 2]
race <- as.factor(read.gdsn(index.gdsn(genofile, "sample.annot/pop.group")))
plot(x, y, col=race, xlab = "", ylab = "", main = "cmdscale(IBS Distance)")
legend("topleft", legend=levels(race), text.col=1:nlevels(race))
# close the file
snpgdsClose(genofile)