是否可以更改SNPRelates的'snpgdsDiss'中的差异计算方法?

时间:2019-04-03 13:26:56

标签: r

我正在使用SNP的大型数据集,目前正在使用R 封装SNPRelate即可。计算差异矩阵SNPRelate 使用snpgdsDiss。但是,我找不到它使用哪种方法。我想使用曼哈顿距离来计算距离。

snpgdsDiss(https://www.rdocumentation.org/packages/SNPRelate/versions/1.6.4/topics/snpgdsDiss)的R文档没有显示有关使用哪种方法以及SNPRelate手册(http://bioconductor.riken.jp/packages/3.4/bioc/manuals/SNPRelate/man/SNPRelate.pdf)的任何详细信息。

源代码(https://rdrr.io/bioc/SNPRelate/src/R/IBD.R) 显示了snpgdsDiss函数的以下代码,但它 似乎对我没有帮助。

#######################################################################

#######################################################################
# Calculate the genetic dissimilarity matrix
#

snpgdsDiss <- function(gdsobj, sample.id=NULL, snp.id=NULL, autosome.only=TRUE,
    remove.monosnp=TRUE, maf=NaN, missing.rate=NaN, num.thread=1, verbose=TRUE)
{
    # check
    ws <- .InitFile2(
        cmd="Individual dissimilarity analysis on genotypes:",
        gdsobj=gdsobj, sample.id=sample.id, snp.id=snp.id,
        autosome.only=autosome.only, remove.monosnp=remove.monosnp,
        maf=maf, missing.rate=missing.rate, num.thread=num.thread,
        verbose=verbose)

    # call C function
    d <- .Call(gnrDiss, ws$num.thread, verbose)

    # return
    ans <- list(sample.id=ws$sample.id, snp.id=ws$snp.id, diss=d)
    class(ans) <- "snpgdsDissClass"
    return(ans)
}

那么,snpgdsDiss使用哪种方法计算距离矩阵,并且可以对此进行调整?

使用.gds文件和曼哈顿距离的替代方法的建议非常受欢迎。

0 个答案:

没有答案