Построение черт на филогении - PullRequest
0 голосов
/ 13 октября 2018

Я следую этому руководству о том, как нанести признаки на филогению для определения консервативности признаков.Я следовал этому шаг за шагом, но, похоже, не могу заставить ни состав сообщества, ни черты характера по филогении работать вообще для моих наборов данных.Я отформатировал так, как они сказали, и это похоже на их отправленные мне примеры данных.

Я не уверен, как разместить здесь файлы деревьев, так что вот одна ссылка на облако для всех видов а вот дерево, которое я использовал только для моего родного вида , используемого для построения черт

VegComm <- df2vec(as.matrix(Veg2018), colID = 1:29)  #community data


STraits <- read.csv()
rownames(STraits)<- STraits[,1]
STraits[1:1] <- list(NULL)    #Trait Data



STraits <- df2vec(as.matrix.data.frame(STraits), colID=1:5)

STraits <- STraits[1:6,]
str(STraits)

prune.sample(VegComm,alltree)

par(mfrow=c(2,2))
for (i in colnames(STraits)) {
+ plot(nativetree, show.tip.label=TRUE, main=i)
+ tiplabels(pch=22, col=STraits[,i]+1, bg=STraits[,i]+1, cex=1.5)}

traits <- STraits[nativetree$tip.label,]

phylosignal(nativetree, STraits, nsim=1000, method="K")

Вот данные сообщества:

    Avena_fatua Bromus_diandrus Bromus_hordeaceus   Festuca_myuros  Festuca_perennis    Carduus_pycnocephalus   Cirsium_vulgare Erodium_cicutarium  Geranium_dissectum  Helminthotheca_echioides    Lactuca_serriola    Medicago_polymorpha Oxalis_pes-caprae   Raphanus_sativus    Senecio_vulgaris    Sonchus_oleraceus   Vicia_sativa    Artemisia_californica   Baccharis_pilularis Ericameria_ericoides    Mimulus_aurantiacus Bromus_carinatus    Elymus_triticoides  Hordeum_brachyantherum  Stipa_pulchra   Achillea_millefolium    Eschscholzia_californica    Lupinus_variicolor  Echium_candicans
PC1 0   1.25    0   20.83333333 7.416666667 0.5 0   0   21.25   0.333333333 0   6.916666667 0   4.916666667 0   0   0   4.583333333 18.33333333 1.25    0.833333333 0.5 0   0   0   7.5 1.25    0   0
PC2 0.5 0   0.333333333 14.16666667 2.25    0   0   0   25  0   1.916666667 30.41666667 0   3.666666667 0.833333333 0.833333333 0   0   17.91666667 0   0   2.083333333 0   0   0   3.333333333 0   0   0
PC3 0.333333333 4.083333333 0   27.5    3.333333333 6.083333333 0   0   15.83333333 1.75    2.416666667 3.833333333 0   6.666666667 0   5.916666667 0   1.25    2.083333333 0   2.5 5.416666667 0   0   1.25    5   0   0   0
PC4 0.333333333 1.25    3.333333333 10.41666667 15.83333333 5.833333333 0   0   25.83333333 0   1.583333333 10.75   0   5.833333333 0   1.25    0   0   2.083333333 0   0   0   0   0   0   3.416666667 2.916666667 0   0
PC5 1.916666667 0   8.833333333 10.91666667 6.666666667 0   0.333333333 0   15  1.25    1.75    0   0   3.333333333 0   10.83333333 0.5 0   3.333333333 0.5 0   4.666666667 0   0   0.5 9.166666667 0   0   0.666666667
PS1 0.333333333 3   0   6.25    2.25    16  0   0   11.41666667 0.333333333 0   3.833333333 0   0.833333333 0   1.166666667 0   0   12  0   0.166666667 3.333333333 0   0   0   49.16666667 0   0   0
PS2 2.25    4   0   6.5 1.25    13.75   0   4.166666667 10.5    0   0   6.666666667 0   4.5 0   0   0   1.583333333 3.833333333 0   4.166666667 4.166666667 0   0   1.25    22.91666667 1.25    0   0
PS3 2.5 0   0   5.083333333 1.25    0.833333333 0   5.916666667 20.83333333 0   0   16.66666667 0   7.583333333 0   1.333333333 0   0   4.5 0   0   0.333333333 0   0   1.75    25.41666667 0   0   0
PS4 2.25    0   1.5 2.5 1.75    0   2.5 0   22.91666667 0   0   19.16666667 2.916666667 18.33333333 0   0   0   2.916666667 6.666666667 0   1.25    5.5 0   0   4.583333333 8.75    0   2.5 0
PS5 4.75    0   1.75    7   2.083333333 4.666666667 0   0   18.08333333 0   0   4.25    0   13.75   0   0   0   0   0   0   0   0   0   0   0   34.33333333 0   0   0
PW1 4.75    1.75    0.666666667 11.83333333 4.916666667 0   0   0   15  2.833333333 1.25    39.16666667 0   0.666666667 0   3.833333333 0   0   4.166666667 0   0   0.833333333 0   0   0   14.16666667 0.666666667 0   1.25
PW2 2.5 0   4   21.66666667 4.666666667 0.5 0   0   25.41666667 0   1.25    7.083333333 0   14.58333333 0   0.833333333 0   1.25    1.25    0   0   3.333333333 0   0   1.25    4.166666667 1   0   0
PW3 1.583333333 1.25    0   10.66666667 4.25    5.75    0   0   12.5    0   1.5 30  0   0.333333333 0   0.333333333 0   3.833333333 0   0   0   2.083333333 0   0   4.583333333 10  0   0   0
PW4 0   1.25    6.666666667 9.916666667 8.25    0   0   0   33.33333333 0   0   5.833333333 0   5.833333333 0   2.083333333 0   0   1.25    0   0   2.5 0   0   0   3.75    1.583333333 0   0
PW5 2.25    2.083333333 0.333333333 10.41666667 4.416666667 1.25    0   0   23.33333333 0   0   4.583333333 0   5.083333333 0   0   13.33333333 12.66666667 8.333333333 0   0   0   0   0   0   12  0   0   0

Вот данные об особенностях: (Я попытался пропустить и не пропустить NA)

    Growth_Rate Area    AreaVar SLA SLAVar  VLA VLAVar  Thickness   ThicknessVar    logThickness    logThicknessVar LV  LVVar   PD0 PD10    PD50    CPD
Achillea_millefolium    0.090888257 15.80656659 12.43783158 NA  NA  NA  NA  0.249744167 0.187092582 -1.553441666    0.458076381 NA  NA  12.61566    29.016  250 0.721921544
Artemisia_californica   0.035049437 14.56355219 11.78670881 180.1322546 99.50427931 9.364236482 1.414207935 0.268703703 0.074128238 -1.352780779    0.298806173 43.22157529 13.35296757 12.61566    29.016  250 0.721921544
Bromus_carinatus    0.022607407 2.384166667 2.316140235 NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  5.41269 11.7111 315.3334    0.681203858
Ericameria_ericoides    0.019809977 3.6875  1.703521078 NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  12.61566    29.016  250 0.721921544
Eschscholzia_californica    0.029380702 1.245833333 1.076820745 262.1630059 60.49033956 4.392284625 0.596306575 0.16357684  0.038660691 -1.835819399    0.223972815 39.80718218 11.25985865 294 294 294 0.577356321
Hosackia_gracilis   0.009183502 NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  41.81336    101.22  250 0.638988811
Lupinus_nanus   0.040867178 NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  33.60001    101.22  250 0.640373244
Lupinus_variicolor  0.028428463 NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  NA  33.60001    101.22  250 0.640373244
Mimulus_aurantiacus 0.00652489  0.00652489  0.011364841 3.412857143 2.976064883 151.5001201 79.68333552 2.370279914 0.731201273 0.285257143 0.120154396 37.54090305 16.93270863 183.7778    209.3333    250 0.622318052
Sisyrinchium_bellum 0.01441308  5.477777778 5.117901992 181.6818246 42.91299583 2.954769874 0.448780843 0.176855556 0.018545802 -1.735344864    0.107673785 31.80493389 4.311588188 225.2889    225.2889    315.3334    0.594958509
Sidalcea_malviflora 0.020075948 4.974358974 4.901863202 142.4036892 39.11274955 1.651824981 0.295753475 0.148082051 0.045211395 -1.953346759    0.300665842 20.91557187 8.108682659 163.3333    193 250 0.625836637
Stipa_pulchra   0.01546666  5.28968254  6.055307558 122.3827137 32.67582669 7.352684101 3.027753522 0.149629537 0.031130015 -1.943799376    0.210327301 17.91978995 5.823172424 24  24  315.3334    0.611910294

Вот вывод dput:

> dput(STraits)
structure(c(0.035049437, 0.029380702, 0.00652489, 0.01441308, 
0.020075948, 0.01546666, 14.56355219, 1.245833333, 0.00652489, 
5.477777778, 4.974358974, 5.28968254, 11.78670881, 1.076820745, 
0.011364841, 5.117901992, 4.901863202, 6.055307558, 180.1322546, 
262.1630059, 3.412857143, 181.6818246, 142.4036892, 122.3827137, 
99.50427931, 60.49033956, 2.976064883, 42.91299583, 39.11274955, 
32.67582669), .Dim = c(6L, 5L), .Dimnames = list(c("Artemisia_californica", 
"Eschscholzia_californica", "Mimulus_aurantiacus", "Sisyrinchium_bellum", 
"Sidalcea_malviflora", "Stipa_pulchra"), c("Growth_Rate", "Area", 
"AreaVar", "SLA", "SLAVar")))

> dput(VegComm)
structure(list(Avena_fatua = c(0, 0.5, 0.333333333, 0.333333333, 
1.916666667, 0.333333333, 2.25, 2.5, 2.25, 4.75, 4.75, 2.5, 1.583333333, 
0, 2.25), Bromus_diandrus = c(1.25, 0, 4.083333333, 1.25, 0, 
3, 4, 0, 0, 0, 1.75, 0, 1.25, 1.25, 2.083333333), Bromus_hordeaceus = c(0, 
0.333333333, 0, 3.333333333, 8.833333333, 0, 0, 0, 1.5, 1.75, 
0.666666667, 4, 0, 6.666666667, 0.333333333), Festuca_myuros = c(20.83333333, 
14.16666667, 27.5, 10.41666667, 10.91666667, 6.25, 6.5, 5.083333333, 
2.5, 7, 11.83333333, 21.66666667, 10.66666667, 9.916666667, 10.41666667
), Festuca_perennis = c(7.416666667, 2.25, 3.333333333, 15.83333333, 
6.666666667, 2.25, 1.25, 1.25, 1.75, 2.083333333, 4.916666667, 
4.666666667, 4.25, 8.25, 4.416666667), Carduus_pycnocephalus = c(0.5, 
0, 6.083333333, 5.833333333, 0, 16, 13.75, 0.833333333, 0, 4.666666667, 
0, 0.5, 5.75, 0, 1.25), Cirsium_vulgare = c(0, 0, 0, 0, 0.333333333, 
0, 0, 0, 2.5, 0, 0, 0, 0, 0, 0), Erodium_cicutarium = c(0, 0, 
0, 0, 0, 0, 4.166666667, 5.916666667, 0, 0, 0, 0, 0, 0, 0), Geranium_dissectum = c(21.25, 
25, 15.83333333, 25.83333333, 15, 11.41666667, 10.5, 20.83333333, 
22.91666667, 18.08333333, 15, 25.41666667, 12.5, 33.33333333, 
23.33333333), Helminthotheca_echioides = c(0.333333333, 0, 1.75, 
0, 1.25, 0.333333333, 0, 0, 0, 0, 2.833333333, 0, 0, 0, 0), Lactuca_serriola = c(0, 
1.916666667, 2.416666667, 1.583333333, 1.75, 0, 0, 0, 0, 0, 1.25, 
1.25, 1.5, 0, 0), Medicago_polymorpha = c(6.916666667, 30.41666667, 
3.833333333, 10.75, 0, 3.833333333, 6.666666667, 16.66666667, 
19.16666667, 4.25, 39.16666667, 7.083333333, 30, 5.833333333, 
4.583333333), Oxalis_pes.caprae = c(0, 0, 0, 0, 0, 0, 0, 0, 2.916666667, 
0, 0, 0, 0, 0, 0), Raphanus_sativus = c(4.916666667, 3.666666667, 
6.666666667, 5.833333333, 3.333333333, 0.833333333, 4.5, 7.583333333, 
18.33333333, 13.75, 0.666666667, 14.58333333, 0.333333333, 5.833333333, 
5.083333333), Senecio_vulgaris = c(0, 0.833333333, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0), Sonchus_oleraceus = c(0, 0.833333333, 
5.916666667, 1.25, 10.83333333, 1.166666667, 0, 1.333333333, 
0, 0, 3.833333333, 0.833333333, 0.333333333, 2.083333333, 0), 
    Vicia_sativa = c(0, 0, 0, 0, 0.5, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 13.33333333), Artemisia_californica = c(4.583333333, 0, 
    1.25, 0, 0, 0, 1.583333333, 0, 2.916666667, 0, 0, 1.25, 3.833333333, 
    0, 12.66666667), Baccharis_pilularis = c(18.33333333, 17.91666667, 
    2.083333333, 2.083333333, 3.333333333, 12, 3.833333333, 4.5, 
    6.666666667, 0, 4.166666667, 1.25, 0, 1.25, 8.333333333), 
    Ericameria_ericoides = c(1.25, 0, 0, 0, 0.5, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0), Mimulus_aurantiacus = c(0.833333333, 0, 
    2.5, 0, 0, 0.166666667, 4.166666667, 0, 1.25, 0, 0, 0, 0, 
    0, 0), Bromus_carinatus = c(0.5, 2.083333333, 5.416666667, 
    0, 4.666666667, 3.333333333, 4.166666667, 0.333333333, 5.5, 
    0, 0.833333333, 3.333333333, 2.083333333, 2.5, 0), Elymus_triticoides = c(0L, 
    0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L), 
    Hordeum_brachyantherum = c(0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 
    0L, 0L, 0L, 0L, 0L, 0L, 0L), Stipa_pulchra = c(0, 0, 1.25, 
    0, 0.5, 0, 1.25, 1.75, 4.583333333, 0, 0, 1.25, 4.583333333, 
    0, 0), Achillea_millefolium = c(7.5, 3.333333333, 5, 3.416666667, 
    9.166666667, 49.16666667, 22.91666667, 25.41666667, 8.75, 
    34.33333333, 14.16666667, 4.166666667, 10, 3.75, 12), Eschscholzia_californica = c(1.25, 
    0, 0, 2.916666667, 0, 0, 1.25, 0, 0, 0, 0.666666667, 1, 0, 
    1.583333333, 0), Lupinus_variicolor = c(0, 0, 0, 0, 0, 0, 
    0, 0, 2.5, 0, 0, 0, 0, 0, 0), Echium_candicans = c(0, 0, 
    0, 0, 0.666666667, 0, 0, 0, 0, 0, 1.25, 0, 0, 0, 0)), .Names = c("Avena_fatua", 
"Bromus_diandrus", "Bromus_hordeaceus", "Festuca_myuros", "Festuca_perennis", 
"Carduus_pycnocephalus", "Cirsium_vulgare", "Erodium_cicutarium", 
"Geranium_dissectum", "Helminthotheca_echioides", "Lactuca_serriola", 
"Medicago_polymorpha", "Oxalis_pes.caprae", "Raphanus_sativus", 
"Senecio_vulgaris", "Sonchus_oleraceus", "Vicia_sativa", "Artemisia_californica", 
"Baccharis_pilularis", "Ericameria_ericoides", "Mimulus_aurantiacus", 
"Bromus_carinatus", "Elymus_triticoides", "Hordeum_brachyantherum", 
"Stipa_pulchra", "Achillea_millefolium", "Eschscholzia_californica", 
"Lupinus_variicolor", "Echium_candicans"), row.names = c("PC1", 
"PC2", "PC3", "PC4", "PC5", "PS1", "PS2", "PS3", "PS4", "PS5", 
"PW1", "PW2", "PW3", "PW4", "PW5"), class = "data.frame")

> dput(nativetree)
structure(list(edge = structure(c(12L, 13L, 14L, 15L, 16L, 16L, 
15L, 14L, 17L, 18L, 18L, 19L, 19L, 17L, 13L, 12L, 20L, 21L, 21L, 
20L, 13L, 14L, 15L, 16L, 1L, 2L, 3L, 17L, 18L, 4L, 19L, 5L, 6L, 
7L, 8L, 20L, 21L, 9L, 10L, 11L), .Dim = c(20L, 2L)), edge.length = c(7.629639, 
22, 20.333344, 93.62796, 11.038696, 11.038696, 104.666656, 28.5, 
62.899994, 33.600006, 16.800003, 16.800003, 16.800003, 96.5, 
147, 41.985199, 51.760712, 60.883728, 60.883728, 112.64444), 
    Nnode = 10L, node.label = c("", "eudicots", "", "euasterids", 
    "", "eurosids", "mesopapilionoideaeclade", "lupinus", "", 
    ""), tip.label = c("achillea_millefolium", "ericameria_ericoides", 
    "mimulus_aurantiacus", "hosackia_gracilis", "lupinus_nanus", 
    "lupinus_variicolor", "sidalcea_malviflora", "eschscholzia_californica", 
    "bromus_carinatus", "nassella_pulchra", "sisyrinchium_bellum"
    ), root.edge = 291.370361), .Names = c("edge", "edge.length", 
"Nnode", "node.label", "tip.label", "root.edge"), class = "phylo", order = "cladewise")

1 Ответ

0 голосов
/ 07 ноября 2018

Проблема в том, что названия видов не совпадают между STraits и nativetree.

intersect(row.names(STraits), nativetree$tip.label)
# character(0)

R чувствительны к регистру, поэтому имена в нижнем регистре в дереве не будут распознаватьсяидентичны заглавным именам в матрице данных.Также названия видов различаются.

Как только имена правильно совпадают, черты должны быть упорядочены, как указано выше:

traits <- STraits[nativetree$tip.label,]

и филогенетический сигнал, рассчитанный из новой таблицы traits для столбца:

library(picante)
res = data.frame()
for(i in 1:ncol(traits)){
  res[i, ] = phylosignal(x = traits[, i], phy = nativetree, reps = 999)
}

Обратите внимание, что я использую данные, предоставленные вами dput, а не изменения, подразумеваемые сценарием.Кроме того, проверьте синтаксис ?phylosignal.

Непрерывные символы могут быть нанесены на филогению с пакетом phytools, как показано здесь .

...