Можно ли изменить метод расчета различий в SNPRelates 'snpgdsDiss'? - PullRequest
0 голосов
/ 03 апреля 2019

Я работаю с большим набором данных SNP и в настоящее время использую R Пакет SNPRelate для этого. Вычислить матрицу несходства SNPRelate использует snpgdsDiss. Однако я не могу найти, какой метод он использует. Я хотел бы рассчитать расстояния, используя манхэттенские расстояния.

Документация R snpgdsDiss (https://www.rdocumentation.org/packages/SNPRelate/versions/1.6.4/topics/snpgdsDiss) не содержит подробностей о том, какой метод используется, а также руководство по 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 и расстояния до Манхэттена приветствуются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...