snpgdsIBSNum {SNPRelate} | R Documentation |
Calculate the number of SNPs for identity by state for each pair of samples.
snpgdsIBSNum(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
.
Return a list (n is the number of samples):
sample.id |
the sample ids used in the analysis |
snp.id |
the SNP ids used in the analysis |
ibs0 |
a n-by-n matrix, the number of SNPs sharing 0 IBS |
ibs1 |
a n-by-n matrix, the number of SNPs sharing 1 IBS |
ibs2 |
a n-by-n matrix, the number of SNPs sharing 2 IBS |
Xiuwen Zheng
# open an example dataset (HapMap) genofile <- snpgdsOpen(snpgdsExampleFileName()) RV <- snpgdsIBSNum(genofile) pop <- read.gdsn(index.gdsn(genofile, "sample.annot/pop.group")) L <- order(pop) image(RV$ibs0[L, L]/length(RV$snp.id)) # close the genotype file snpgdsClose(genofile)