Я пытаюсь оценить наследуемость количественного признака, используя модель на животных. Поскольку я изучаю диких видов грызунов, мне не хватает информации о родословной;вместо этого я использую матрицу геномного родства (GRM), используя ~ 23 000 SNP, полученных из ddRAD и оцененных с помощью PLINK / GCTA.
Хотя я провел перекрестную проверку лиц в моей GRM и моем файле данных, я получаюэта ошибка:
Error in MCMCglmm(trait ~ 1, random = ~ID, data = phens, ginverse = list(ID = gctaGRM), :
some levels of ID do not have a row entry in ginverse
Эта проблема аналогична описанной ранее: MCMCglmm трудности с форматированием данных . В этом случае на постере использовалась родословная.
Мои данные таковы:
- Файл данных с индивидуальным идентификатором, сайтом и фенотипическими данными, "phens"
> class(phens)
[1] "data.frame"
> head(phens)
Site ID trait
1 QERC SGTm037 0.94770905
2 Robles SGTm038 -0.53410457
3 QERC SGTm039 0.35680224
4 QERC SGTm040 -0.24319776
5 MH SGTm041 0.02952266
6 MH SGTm043 2.25680224
>
Черта как переменная
> trait <- phens$trait # quantitative trait
> head(trait)
[1] 0.94770905 -0.53410457 0.35680224 -0.24319776 0.02952266 2.25680224
GRM от PLINK или GCTA, читайте в пакете
gap
:
https://github.com/cran/gap/blob/master/R/MCMCgrm.R gctaGRM <- ReadGRM('gcta-GRM') # reading in GCTA grm
plinkGRM <- ReadGRMPLINK('plinkgenome') # reading in PLINK PIHAT grm
> head(gctaGRM)
SGTm037 SGTm038 SGTm039
SGTm037 1.0487960 0.000000000 0.000000000
SGTm038 0.0000000 1.065967000 0.009045295
SGTm039 0.0000000 0.009045295 1.032933000
SGTm040 0.1843918 0.000000000 0.019915070
SGTm041 0.0000000 0.031226350 0.000000000
SGTm043 0.0000000 0.038495810 0.000000000
> head(plinkGRM)
SGTm037 SGTm038 SGTm039 SGTm040 SGTm041
SGTm037 1.0000 0 0 0.1345 0
SGTm038 0.0000 1 0 0.0000 0
SGTm039 0.0000 0 1 0.0000 0
SGTm040 0.1345 0 0 1.0000 0
SGTm041 0.0000 0 0 0.0000 1
SGTm043 0.0000 0 0 0.0000 0
Насколько я могу судить, список идентификаторов в phens
согласуется сстолбцы и строки идентификаторов в любой GRM. Я могу предоставить полные файлы данных для тех, кому интересно.
> head(phens$ID)
[1] SGTm037 SGTm038 SGTm039 SGTm040 SGTm041 SGTm043
# also played with changing phens$ID from factor to character; made no difference
colnames(gctaGRM)
[1] "SGTm037" "SGTm038" "SGTm039" "SGTm040" "SGTm041" "SGTm043"
Это должно быть проблема форматирования, и я потратил много времени на изучение этой проблемы в стеке, группах Google и документации r, но безрезультатно. К сожалению, мало ресурсов посвящено тому, как реализовать GRM в этих моделях (хотя см. https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0197720). Я попытался изменить классы моего файла данных и характеристики, но это не сработало.
Любые предложения будут с благодарностью!